From a388dc05d853b857ba00d95eced08bc151d622c0 Mon Sep 17 00:00:00 2001 From: richardbarry Date: Wed, 17 Apr 2013 10:04:38 +0000 Subject: [PATCH] Commit 3 RX100 low power demos. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1871 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- .../.HardwareDebuglinker | 130 + .../Demo/RX100-RSK_GCC_e2studio/.cproject | 202 + FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.info | 6 + FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.project | 83 + .../Project_Generation_Prefrences.prefs | 22 + .../CreateProjectDirectoryStructure.bat | 52 + .../RTOSDemo/FreeRTOSConfig.h | 186 + .../RX100-RSK_GCC_e2studio/RTOSDemo/ParTest.c | 200 + .../Renesas_Files/r_bsp/board/rskrx111/lcd.c | 252 + .../Renesas_Files/r_bsp/board/rskrx111/lcd.h | 101 + .../r_bsp/board/rskrx111/r_bsp.h | 50 + .../board/rskrx111/r_bsp_config_reference.h | 250 + .../r_bsp/board/rskrx111/rskrx111.h | 63 + .../r_bsp/board/user/hardware_setup.c | 367 + .../Renesas_Files/r_bsp/board/user/r_bsp.h | 54 + .../r_bsp/mcu/rx111/interrupt_handlers.c | 283 + .../r_bsp/mcu/rx111/interrupt_handlers.h | 371 + .../Renesas_Files/r_bsp/mcu/rx111/iodefine.h | 9922 +++++++++++++++++ .../Renesas_Files/r_bsp/mcu/rx111/mcu_info.h | 112 + .../r_bsp/mcu/rx111/reset_program.asm | 175 + .../r_bsp/mcu/rx111/typedefine.h | 25 + .../r_bsp/mcu/rx111/vector_table.c | 590 + .../RTOSDemo/Renesas_Files/r_bsp/platform.h | 88 + .../Renesas_Files/r_bsp/r_bsp_config.h | 250 + .../RTOSDemo/Renesas_Files/r_bsp/readme.txt | 100 + .../r_switches/doc/r_switches.docx | Bin 0 -> 679504 bytes .../r_switches/r_switches_config.h | 47 + .../Renesas_Files/r_switches/r_switches_if.h | 72 + .../Renesas_Files/r_switches/readme.txt | 83 + .../Renesas_Files/r_switches/src/r_switches.c | 232 + .../RX100-RSK_GCC_e2studio/RTOSDemo/main.c | 204 + .../RTOSDemo/main_full.c | 540 + .../RTOSDemo/main_low_power.c | 436 + .../RTOSDemo/printf-stdarg.c | 293 + .../RTOSDemo_GCC.launch | 78 + .../Demo/RX100-RSK_GCC_e2studio/custom.bat | 0 FreeRTOS/Demo/RX100-RSK_IAR/FreeRTOSConfig.h | 183 + FreeRTOS/Demo/RX100-RSK_IAR/ParTest.c | 200 + .../Demo/RX100-RSK_IAR/PriorityDefinitions.h | 91 + FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.dep | 398 + FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.ewd | 312 + FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.ewp | 1018 ++ FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.eww | 10 + .../RX100-RSK_IAR/RTOSDemo_IARCustomSfr.sfr | 4 + .../Renesas_Files/r_bsp/board/rskrx111/lcd.c | 252 + .../Renesas_Files/r_bsp/board/rskrx111/lcd.h | 101 + .../r_bsp/board/rskrx111/r_bsp.h | 50 + .../board/rskrx111/r_bsp_config_reference.h | 250 + .../r_bsp/board/rskrx111/rskrx111.h | 63 + .../r_bsp/board/user/hardware_setup.c | 366 + .../Renesas_Files/r_bsp/board/user/r_bsp.h | 54 + .../r_bsp/mcu/rx111/Copy of iodefine.h | 5142 +++++++++ .../Renesas_Files/r_bsp/mcu/rx111/mcu_info.h | 112 + .../r_bsp/mcu/rx111/typedefine.h | 25 + .../Renesas_Files/r_bsp/platform.h | 88 + .../Renesas_Files/r_bsp/r_bsp_config.h | 250 + .../Renesas_Files/r_bsp/readme.txt | 100 + .../r_switches/doc/r_switches.docx | Bin 0 -> 679504 bytes .../r_switches/r_switches_config.h | 47 + .../Renesas_Files/r_switches/r_switches_if.h | 72 + .../Renesas_Files/r_switches/readme.txt | 83 + .../Renesas_Files/r_switches/src/r_switches.c | 232 + FreeRTOS/Demo/RX100-RSK_IAR/main.c | 211 + FreeRTOS/Demo/RX100-RSK_IAR/main_full.c | 346 + FreeRTOS/Demo/RX100-RSK_IAR/main_low_power.c | 437 + FreeRTOS/Demo/RX100-RSK_IAR/reg_test.s | 274 + .../settings/RTOSDemo_IAR.cspy.bat | 24 + .../RX100-RSK_IAR/settings/RTOSDemo_IAR.dbgdt | 92 + .../RX100-RSK_IAR/settings/RTOSDemo_IAR.dni | 104 + .../RX100-RSK_IAR/settings/RTOSDemo_IAR.wsdt | 49 + .../.HardwareDebuglinker | 34 + .../RX100-RSK_Renesas_e2studio/.Releaselinker | 34 + .../Demo/RX100-RSK_Renesas_e2studio/.cproject | 236 + .../Demo/RX100-RSK_Renesas_e2studio/.info | 5 + .../Demo/RX100-RSK_Renesas_e2studio/.project | 83 + .../Project_Generation_Prefrences.prefs | 69 + .../org.eclipse.cdt.managedbuilder.core.prefs | 12 + .../RX100-RSK_Renesas_e2studio/BSP111.launch | 77 + .../CreateProjectDirectoryStructure.bat | 52 + .../RTOSDemo/FreeRTOSConfig.h | 188 + .../RTOSDemo/ParTest.c | 200 + .../r_bsp/board/rskrx111/dbsct.c | 83 + .../r_bsp/board/rskrx111/hwsetup.c | 149 + .../r_bsp/board/rskrx111/hwsetup.h | 42 + .../Renesas_Files/r_bsp/board/rskrx111/lcd.c | 254 + .../Renesas_Files/r_bsp/board/rskrx111/lcd.h | 101 + .../r_bsp/board/rskrx111/locking.c | 118 + .../r_bsp/board/rskrx111/locking.h | 63 + .../r_bsp/board/rskrx111/lowlvl.src | 54 + .../r_bsp/board/rskrx111/lowsrc.c | 332 + .../r_bsp/board/rskrx111/r_bsp.h | 53 + .../board/rskrx111/r_bsp_config_reference.h | 250 + .../r_bsp/board/rskrx111/resetprg.c | 416 + .../r_bsp/board/rskrx111/rskrx111.h | 63 + .../Renesas_Files/r_bsp/board/rskrx111/sbrk.c | 96 + .../r_bsp/board/rskrx111/vecttbl.c | 206 + .../r_bsp/board/rskrx111/vecttbl.h | 65 + .../Renesas_Files/r_bsp/board/user/r_bsp.h | 54 + .../Renesas_Files/r_bsp/mcu/rx111/iodefine.h | 5143 +++++++++ .../Renesas_Files/r_bsp/mcu/rx111/mcu_info.h | 112 + .../RTOSDemo/Renesas_Files/r_bsp/platform.h | 88 + .../Renesas_Files/r_bsp/r_bsp_config.h | 250 + .../RTOSDemo/Renesas_Files/r_bsp/readme.txt | 100 + .../r_switches/doc/r_switches.docx | Bin 0 -> 679504 bytes .../r_switches/r_switches_config.h | 59 + .../Renesas_Files/r_switches/r_switches_if.h | 74 + .../Renesas_Files/r_switches/readme.txt | 83 + .../Renesas_Files/r_switches/src/r_switches.c | 483 + .../RTOSDemo/main.c | 204 + .../RTOSDemo/main_full.c | 531 + .../RTOSDemo/main_low_power.c | 436 + .../RX100-RSK_Renesas_e2studio/custom.bat | 0 112 files changed, 37911 insertions(+) create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.HardwareDebuglinker create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.cproject create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.info create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.project create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.settings/Project_Generation_Prefrences.prefs create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/CreateProjectDirectoryStructure.bat create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/FreeRTOSConfig.h create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/ParTest.c create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lcd.c create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lcd.h create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/r_bsp.h create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/r_bsp_config_reference.h create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/rskrx111.h create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/user/hardware_setup.c create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/user/r_bsp.h create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/interrupt_handlers.c create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/interrupt_handlers.h create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/iodefine.h create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/mcu_info.h create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/reset_program.asm create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/typedefine.h create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/vector_table.c create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/platform.h create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/r_bsp_config.h create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/readme.txt create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/doc/r_switches.docx create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/r_switches_config.h create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/r_switches_if.h create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/readme.txt create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/src/r_switches.c create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/main.c create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/main_full.c create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/main_low_power.c create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/printf-stdarg.c create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo_GCC.launch create mode 100644 FreeRTOS/Demo/RX100-RSK_GCC_e2studio/custom.bat create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/FreeRTOSConfig.h create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/ParTest.c create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/PriorityDefinitions.h create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.dep create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.ewd create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.ewp create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.eww create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IARCustomSfr.sfr create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/lcd.c create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/lcd.h create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/r_bsp.h create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/r_bsp_config_reference.h create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/rskrx111.h create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/user/hardware_setup.c create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/user/r_bsp.h create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/mcu/rx111/Copy of iodefine.h create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/mcu/rx111/mcu_info.h create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/mcu/rx111/typedefine.h create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/platform.h create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/r_bsp_config.h create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/readme.txt create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/doc/r_switches.docx create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/r_switches_config.h create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/r_switches_if.h create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/readme.txt create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/src/r_switches.c create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/main.c create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/main_full.c create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/main_low_power.c create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/reg_test.s create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/settings/RTOSDemo_IAR.cspy.bat create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/settings/RTOSDemo_IAR.dbgdt create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/settings/RTOSDemo_IAR.dni create mode 100644 FreeRTOS/Demo/RX100-RSK_IAR/settings/RTOSDemo_IAR.wsdt create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.HardwareDebuglinker create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.Releaselinker create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.cproject create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.info create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.project create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.settings/Project_Generation_Prefrences.prefs create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.settings/org.eclipse.cdt.managedbuilder.core.prefs create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/BSP111.launch create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/CreateProjectDirectoryStructure.bat create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/FreeRTOSConfig.h create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/ParTest.c create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/dbsct.c create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/hwsetup.c create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/hwsetup.h create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lcd.c create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lcd.h create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/locking.c create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/locking.h create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lowlvl.src create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lowsrc.c create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/r_bsp.h create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/r_bsp_config_reference.h create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/resetprg.c create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/rskrx111.h create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/sbrk.c create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/vecttbl.c create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/vecttbl.h create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/user/r_bsp.h create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/iodefine.h create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/mcu_info.h create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/platform.h create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/r_bsp_config.h create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/readme.txt create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/doc/r_switches.docx create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/r_switches_config.h create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/r_switches_if.h create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/readme.txt create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/src/r_switches.c create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/main.c create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/main_full.c create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/main_low_power.c create mode 100644 FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/custom.bat diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.HardwareDebuglinker b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.HardwareDebuglinker new file mode 100644 index 000000000..a232c8ba1 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.HardwareDebuglinker @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.cproject b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.cproject new file mode 100644 index 000000000..31136a9d5 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.cproject @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.info b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.info new file mode 100644 index 000000000..3946e66d7 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.info @@ -0,0 +1,6 @@ +TOOL_CHAIN=KPIT GNURX-ELF Toolchain +VERSION=v12.01 +TC_INSTALL=C:\devtools\Renesas\e2studio\GNURXV~1.01-\rx-elf\ +GCC_STRING=4.6-GNURX_v12.01 +VERISON_IDE=3.06.02.080 +E2STUDIO_VERSION=1.1.1.7 \ No newline at end of file diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.project b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.project new file mode 100644 index 000000000..411200c3c --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.project @@ -0,0 +1,83 @@ + + + RTOSDemo_GCC + + + + + + com.renesas.cdt.core.genmakebuilder + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.autoBuildTarget + all + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/RTOSDemo_GCC/HardwareDebug} + + + org.eclipse.cdt.make.core.cleanBuildTarget + clean + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.configurationIds + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.fullBuildTarget + all + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + com.renesas.cdt.core.kpitcnature + com.renesas.cdt.core.kpitccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.settings/Project_Generation_Prefrences.prefs b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.settings/Project_Generation_Prefrences.prefs new file mode 100644 index 000000000..83f742619 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/.settings/Project_Generation_Prefrences.prefs @@ -0,0 +1,22 @@ +#Mon Mar 11 11:21:23 GMT 2013 +Library\ Generator\ Command=rx-elf-libgen +com.renesas.cdt.core.Assembler.option.includeFileDirectories="${workspace_loc\:/${ProjName}}\\src"; +com.renesas.cdt.core.Compiler.option.includeFileDir.316833280="${TCINSTALL}\\rx-elf\\optlibinc"; +com.renesas.cdt.core.LibraryGenerator.option.ctype=true +com.renesas.cdt.core.LibraryGenerator.option.libraryType=Project-Built +com.renesas.cdt.core.LibraryGenerator.option.math=false +com.renesas.cdt.core.LibraryGenerator.option.selectLibrary=Optimized +com.renesas.cdt.core.LibraryGenerator.option.stdio=false +com.renesas.cdt.core.LibraryGenerator.option.stdlib=true +com.renesas.cdt.core.LibraryGenerator.option.string=true +com.renesas.cdt.core.Linker.option.userDefinedOptions=[Ljava.lang.String;@13ec853 +com.renesas.cdt.rx.HardwareDebug.Compiler.option.cpuType=RX100 +com.renesas.cdt.rx.HardwareDebug.Compiler.option.cpuType.2018307272=RX100 +com.renesas.cdt.rx.HardwareDebug.Compiler.option.dataEndian=Little-endian data +com.renesas.cdt.rx.HardwareDebug.Compiler.option.disableFPUInstructions=false +com.renesas.cdt.rx.HardwareDebug.Compiler.option.genCodeForRX610=false +com.renesas.cdt.rx.HardwareDebug.Compiler.option.generateRXas100output=false +com.renesas.cdt.rx.HardwareDebug.Compiler.option.make64bitDouble=false +com.renesas.cdt.rx.HardwareDebug.Linker.option.archiveLibraryFiles=${ProjName};gcc; +com.renesas.cdt.rx.HardwareDebug.Linker.option.archiveSearchDirectories.770090581="${CONFIGDIR}";"${TCINSTALL}\\lib\\gcc\\rx-elf\\\\${GCC_VERSION}"; +eclipse.preferences.version=1 diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/CreateProjectDirectoryStructure.bat b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/CreateProjectDirectoryStructure.bat new file mode 100644 index 000000000..2fc474125 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/CreateProjectDirectoryStructure.bat @@ -0,0 +1,52 @@ +REM This file should be executed from the command line prior to the first +REM build. It will be necessary to refresh the Eclipse project once the +REM .bat file has been executed (normally just press F5 to refresh). + +REM Copies all the required files from their location within the standard +REM FreeRTOS directory structure to under the Eclipse project directory. +REM This permits the Eclipse project to be used in 'managed' mode and without +REM having to setup any linked resources. + +REM Standard paths +SET FREERTOS_SOURCE=..\..\Source +SET COMMON_SOURCE=..\Common\minimal +SET COMMON_INCLUDE=..\Common\include + +REM Have the files already been copied? +IF EXIST RTOSDemo\FreeRTOS_Source Goto END + + REM Create the required directory structure. + MD RTOSDemo\FreeRTOS_Source + MD RTOSDemo\FreeRTOS_Source\include + MD RTOSDemo\FreeRTOS_Source\portable + MD RTOSDemo\FreeRTOS_Source\portable\MemMang + MD RTOSDemo\FreeRTOS_Source\portable\GCC + MD RTOSDemo\FreeRTOS_Source\portable\GCC\RX100 + MD RTOSDemo\Common_Demo_Tasks + MD RTOSDemo\Common_Demo_Tasks\include + + REM Copy the core kernel files into the project directory + copy %FREERTOS_SOURCE%\tasks.c RTOSDemo\FreeRTOS_Source + copy %FREERTOS_SOURCE%\queue.c RTOSDemo\FreeRTOS_Source + copy %FREERTOS_SOURCE%\list.c RTOSDemo\FreeRTOS_Source + copy %FREERTOS_SOURCE%\timers.c RTOSDemo\FreeRTOS_Source + + REM Copy the common header files into the project directory + copy %FREERTOS_SOURCE%\include\*.* RTOSDemo\FreeRTOS_Source\include + + REM Copy the portable layer files into the project directory + copy %FREERTOS_SOURCE%\portable\GCC\RX100\*.* RTOSDemo\FreeRTOS_Source\portable\GCC\RX100 + + REM Copy the memory allocation files into the project directory + copy %FREERTOS_SOURCE%\portable\MemMang\heap_4.c RTOSDemo\FreeRTOS_Source\portable\MemMang + + REM Copy the files that define the common demo tasks. + copy %COMMON_SOURCE%\death.c RTOSDemo\Common_Demo_Tasks + copy %COMMON_SOURCE%\blocktim.c RTOSDemo\Common_Demo_Tasks + copy %COMMON_SOURCE%\GenQTest.c RTOSDemo\Common_Demo_Tasks + copy %COMMON_SOURCE%\recmutex.c RTOSDemo\Common_Demo_Tasks + + REM Copy the common demo file headers. + copy %COMMON_INCLUDE%\*.h RTOSDemo\Common_Demo_Tasks\include + +: END diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/FreeRTOSConfig.h b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/FreeRTOSConfig.h new file mode 100644 index 000000000..acb109f9e --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/FreeRTOSConfig.h @@ -0,0 +1,186 @@ +/* + FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS 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 AND MODIFIED BY the FreeRTOS exception. + + >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. + + FreeRTOS 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 + and the FreeRTOS license exception along with FreeRTOS; if not itcan be + viewed here: http://www.freertos.org/a00114.html and also obtained by + writing to Real Time Engineers Ltd., contact details for whom are available + on the FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, and our new + fully thread aware and reentrant UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems, who sell the code with commercial support, + indemnification and middleware, under the OpenRTOS brand. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. +*/ + + +/* + * The following #error directive is to remind users that a batch file must be + * executed prior to this project being built. The batch file *cannot* be + * executed from within the IDE! Once it has been executed, re-open or refresh + * the Eclipse project and remove the #error line below. + */ +//#error Ensure CreateProjectDirectoryStructure.bat has been executed before building. See comment immediately above. + + +#ifndef FREERTOS_CONFIG_H +#define FREERTOS_CONFIG_H + +/* Hardware specifics. */ +#include "platform.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. + *----------------------------------------------------------*/ + +/* DEMO SPECIFIC SETTING: + * Set configCREATE_LOW_POWER_DEMO to one to run the low power demo with tick + * suppression, or 0 to run the more comprehensive test and demo application. + * If configCREATE_LOW_POWER_DEMO is set to 1 then main() calls main_low_power(). + * If configCREATE_LOW_POWER_DEMO is set to 0 then main() calls main_full(). + */ +#define configCREATE_LOW_POWER_DEMO 1 + + +#define configUSE_PREEMPTION 1 +#define configUSE_TICKLESS_IDLE configCREATE_LOW_POWER_DEMO +#define configUSE_IDLE_HOOK 0 +#define configUSE_TICK_HOOK 0 +#define configCPU_CLOCK_HZ ( ICLK_HZ ) /* Set in mcu_info.h. */ +#define configPERIPHERAL_CLOCK_HZ ( PCLKB_HZ ) /* Set in muc_info.h. */ +#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) +#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 100 ) +#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 9 * 1024 ) ) +#define configMAX_TASK_NAME_LEN ( 12 ) +#define configUSE_TRACE_FACILITY 1 +#define configUSE_16_BIT_TICKS 0 +#define configIDLE_SHOULD_YIELD 1 +#define configUSE_CO_ROUTINES 0 +#define configUSE_MUTEXES 1 +#define configGENERATE_RUN_TIME_STATS 0 +#define configCHECK_FOR_STACK_OVERFLOW 2 +#define configUSE_RECURSIVE_MUTEXES 1 +#define configQUEUE_REGISTRY_SIZE 0 +#define configUSE_MALLOC_FAILED_HOOK 0 +#define configUSE_APPLICATION_TASK_TAG 0 + +#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 7 ) +#define configMAX_CO_ROUTINE_PRIORITIES ( 2 ) + +/* Software timer definitions - only included when the demo is configured to +build the full demo (as opposed to the low power demo). */ +#if configCREATE_LOW_POWER_DEMO == 1 + #define configUSE_TIMERS 0 +#else + #define configUSE_TIMERS 1 + #define configTIMER_TASK_PRIORITY ( 3 ) + #define configTIMER_QUEUE_LENGTH 5 + #define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE ) +#endif /* configCREATE_LOW_POWER_DEMO */ + +/* The interrupt priority used by the kernel itself for the tick interrupt and +the pended interrupt. This would normally be the lowest priority. */ +#define configKERNEL_INTERRUPT_PRIORITY 1 + +/* The maximum interrupt priority from which FreeRTOS API calls can be made. +Interrupts that use a priority above this will not be effected by anything the +kernel is doing but must not make any use of FreeRTOS functionality. +interrupts that use a priority at or below configMAX_SYSCALL_INTERRUPT_PRIORITY +can make use of FreeRTOS API function but *only* functions that end in +"FromISR()". */ +#define configMAX_SYSCALL_INTERRUPT_PRIORITY 4 + +/* 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 0 +#define INCLUDE_vTaskSuspend 1 +#define INCLUDE_vTaskDelayUntil 1 +#define INCLUDE_vTaskDelay 1 +#define INCLUDE_uxTaskGetStackHighWaterMark 1 +#define INCLUDE_xTaskGetSchedulerState 1 + +extern void vAssertCalled( void ); +#define configASSERT( x ) if( ( x ) == 0 ) vAssertCalled(); + +/* The configPRE_SLEEP_PROCESSING() and configPOST_SLEEP_PROCESSING() macros +allow the application writer to add additional code before and after the MCU is +placed into the low power state respectively. The implementations provided in +this demo can be extended to save even more power - for example the analog +input used by the low power demo could be switched off in the pre-sleep macro +and back on again in the post sleep macro. */ +void vPreSleepProcessing( unsigned long xExpectedIdleTime ); +void vPostSleepProcessing( unsigned long xExpectedIdleTime ); +#define configPRE_SLEEP_PROCESSING( xExpectedIdleTime ) vPreSleepProcessing( xExpectedIdleTime ); +#define configPOST_SLEEP_PROCESSING( xExpectedIdleTime ) vPostSleepProcessing( xExpectedIdleTime ); + +#endif /* FREERTOS_CONFIG_H */ diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/ParTest.c b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/ParTest.c new file mode 100644 index 000000000..827da190d --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/ParTest.c @@ -0,0 +1,200 @@ +/* + FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS 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 AND MODIFIED BY the FreeRTOS exception. + + >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. + + FreeRTOS 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 + and the FreeRTOS license exception along with FreeRTOS; if not itcan be + viewed here: http://www.freertos.org/a00114.html and also obtained by + writing to Real Time Engineers Ltd., contact details for whom are available + on the FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, and our new + fully thread aware and reentrant UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems, who sell the code with commercial support, + indemnification and middleware, under the OpenRTOS brand. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. +*/ + +/*----------------------------------------------------------- + * Simple IO routines to control the LEDs. + *-----------------------------------------------------------*/ + +/* Scheduler includes. */ +#include "FreeRTOS.h" +#include "task.h" + +/* Demo includes. */ +#include "partest.h" + +#define partestNUM_LEDS ( 4 ) + +long lParTestGetLEDState( unsigned long ulLED ); + +/*-----------------------------------------------------------*/ + +void vParTestInitialise( void ) +{ + /* Port pin configuration is done by the low level set up prior to this + function being called. */ +} +/*-----------------------------------------------------------*/ + +void vParTestSetLED( unsigned long ulLED, signed long xValue ) +{ + if( ulLED < partestNUM_LEDS ) + { + if( xValue != 0 ) + { + /* Turn the LED on. */ + taskENTER_CRITICAL(); + { + switch( ulLED ) + { + case 0: LED0 = LED_ON; + break; + case 1: LED1 = LED_ON; + break; + case 2: LED2 = LED_ON; + break; + case 3: LED3 = LED_ON; + break; + } + } + taskEXIT_CRITICAL(); + } + else + { + /* Turn the LED off. */ + taskENTER_CRITICAL(); + { + switch( ulLED ) + { + case 0: LED0 = LED_OFF; + break; + case 1: LED1 = LED_OFF; + break; + case 2: LED2 = LED_OFF; + break; + case 3: LED3 = LED_OFF; + break; + } + + } + taskEXIT_CRITICAL(); + } + } +} +/*-----------------------------------------------------------*/ + +void vParTestToggleLED( unsigned long ulLED ) +{ + if( ulLED < partestNUM_LEDS ) + { + taskENTER_CRITICAL(); + { + if( lParTestGetLEDState( ulLED ) != 0x00 ) + { + vParTestSetLED( ulLED, 0 ); + } + else + { + vParTestSetLED( ulLED, 1 ); + } + } + taskEXIT_CRITICAL(); + } +} +/*-----------------------------------------------------------*/ + +long lParTestGetLEDState( unsigned long ulLED ) +{ +long lReturn = pdTRUE; + + if( ulLED < partestNUM_LEDS ) + { + switch( ulLED ) + { + case 0 : if( LED0 != 0 ) + { + lReturn = pdFALSE; + } + break; + case 1 : if( LED1 != 0 ) + { + lReturn = pdFALSE; + } + break; + case 2 : if( LED2 != 0 ) + { + lReturn = pdFALSE; + } + break; + case 3 : if( LED3 != 0 ) + { + lReturn = pdFALSE; + } + break; + } + } + + return lReturn; +} +/*-----------------------------------------------------------*/ + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lcd.c b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lcd.c new file mode 100644 index 000000000..4a87dbce8 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lcd.c @@ -0,0 +1,252 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : lcd.c +* Device(s) : RX +* H/W Platform : RSKRX111 +* Description : Provides variable and function declarations for lcd.c file +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Standard string manipulation & formatting functions */ +#include +#include +/* Defines standard variable types used in this function */ +#include +/* Bring in board includes. */ +#include "platform.h" +/* Following header file provides function prototypes for LCD controlling functions & macro defines */ +#include "lcd.h" + +/*********************************************************************************************************************** +Private global variables and functions +***********************************************************************************************************************/ +static void lcd_delay(volatile int32_t nsecs); +static void lcd_nibble_write(uint8_t data_or_ctrl, uint8_t value); +static void lcd_write(uint8_t data_or_ctrl, uint8_t value); + +/*********************************************************************************************************************** +* Function name : lcd_initialize +* Description : Initializes the LCD display. +* Arguments : none +* Return Value : none +***********************************************************************************************************************/ +void lcd_initialize(void) +{ + /* Set LCD data pins as outputs. */ + PORT4.PDR.BYTE |= 0x0F; + + /* Set LCD control pins as outputs. */ + RS_PIN_DDR = 1; + E_PIN_DDR = 1; + + /* Power Up Delay for the LCD Module */ + lcd_delay(50000000); + + /* Display initialises in 8 bit mode - so send one write (seen as 8 bit) to set to 4 bit mode. */ + lcd_nibble_write(CTRL_WR, 0x03); + lcd_delay(5000000); + lcd_nibble_write(CTRL_WR, 0x03); + lcd_delay(5000000); + lcd_nibble_write(CTRL_WR, 0x03); + lcd_delay(5000000); + + /* Function Set */ + lcd_nibble_write(CTRL_WR, 0x02); + lcd_delay(39000); + lcd_nibble_write(CTRL_WR, 0x02); + lcd_nibble_write(CTRL_WR, (LCD_DISPLAY_ON | LCD_TWO_LINE )); + lcd_delay(39000); + + /* Display ON/OFF control */ + lcd_write(CTRL_WR, LCD_CURSOR_OFF); + lcd_delay(39000); + + /* Display Clear */ + lcd_write(CTRL_WR, LCD_CLEAR); + lcd_delay(2000000); + + /* Entry Mode Set */ + lcd_write(CTRL_WR, 0x06); + lcd_delay(39000); + + /* Home the cursor */ + lcd_write(CTRL_WR, LCD_HOME_L1); + lcd_delay(5000000); +} + +/*********************************************************************************************************************** +* Function name : lcd_clear +* Description : Clears the LCD +* Arguments : none +* Return Value : none +***********************************************************************************************************************/ +void lcd_clear(void) +{ + /* Display Clear */ + lcd_write(CTRL_WR, LCD_CLEAR); + lcd_delay(2000000); +} + +/*********************************************************************************************************************** +* Function name : lcd_display +* Description : This function controls LCD writes to line 1 or 2 of the LCD. +* You need to use the defines LCD_LINE1 and LCD_LINE2 in order to specify the starting position. +* For example, to start at the 2nd position on line 1... +* lcd_display(LCD_LINE1 + 1, "Hello") +* Arguments : position - +* Line number of display +* string - +* Pointer to null terminated string +* Return Value : none +***********************************************************************************************************************/ +void lcd_display(uint8_t position, uint8_t const * string) +{ + /* Declare next position variable */ + static uint8_t next_pos = 0xFF; + + /* Set line position if needed. We don't want to if we don't need to because LCD control operations take longer + than LCD data operations. */ + if (next_pos != position) + { + if(position < LCD_LINE2) + { + /* Display on Line 1 */ + lcd_write(CTRL_WR, ((uint8_t)(LCD_HOME_L1 + position))); + } + else + { + /* Display on Line 2 */ + lcd_write(CTRL_WR, ((uint8_t)((LCD_HOME_L2 + position) - LCD_LINE2))); + } + + lcd_delay(39000); + + /* set position index to known value */ + next_pos = position; + } + + do + { + /* Write character to LCD. */ + lcd_write(DATA_WR,*string++); + + lcd_delay(43000); + + /* Increment position index */ + next_pos++; + } + while(*string); +} + +/*********************************************************************************************************************** +* Function name : lcd_delay +* Description : Implements LCD required delays. +* Arguments : nsecs - +* Number of nanoseconds to delay. RX111 has max clock of 32MHz which gives a cycle time of 31.3ns. +* This means that nothing under 313ns should be input. 313ns would be 10 cycles which is still +* being optimistic for getting in and out of this function. +* Return Value : none +***********************************************************************************************************************/ +static void lcd_delay(volatile int32_t nsecs) +{ + while (0 < nsecs) + { + /* Subtract off 10 cycles per iteration. This number was obtained when using the Renesas toolchain at + optimization level 2. The number to nanoseconds to subtract off below is calculated off of the ICLK speed. */ + nsecs -= (int32_t)((313.0)*(32000000.0/(float)ICLK_HZ)); + } +} + +/*********************************************************************************************************************** +* Function name : lcd_nibble_write +* Description : Writes data to display. Sends command to display. +* Arguments : value - +* The value to write +* data_or_ctrl - +* Whether to write data or control. +* 1 = DATA +* 0 = CONTROL +* Return Value : none +***********************************************************************************************************************/ +static void lcd_nibble_write(uint8_t data_or_ctrl, uint8_t value) +{ + /* Set Register Select pin high for Data */ + if (data_or_ctrl == DATA_WR) + { + /* Data write. */ + RS_PIN = 1; + } + else + { + /* Control write. */ + RS_PIN = 0; + } + + /* tsu1 delay */ + lcd_delay(60); + + /* EN enable chip (HIGH) */ + E_PIN = 1; + + /* Output the data */ + PORT4.PODR.BYTE = (value & 0x0F); + + /* tw delay */ + lcd_delay(450); + + /* Latch data by dropping E */ + E_PIN = 0; + + /* th2 delay */ + lcd_delay(10); + + /* tc delay */ + lcd_delay(480); +} + +/*********************************************************************************************************************** +* Function name : lcd_write +* Description : This function controls LCD writes to line 1 or 2 of the LCD. You need to use the defines LCD_LINE1 and +* LCD_LINE2 in order to specify the starting position. +* For example, to start at the 2nd position on line 1... +* lcd_display(LCD_LINE1 + 1, "Hello") +* Arguments : value - +* The value to write +* data_or_ctrl - +* Whether to write data or control. +* 1 = DATA +* 0 = CONTROL +* Return Value : none +***********************************************************************************************************************/ +static void lcd_write(uint8_t data_or_ctrl, uint8_t value) +{ + /* Write upper nibble first */ + lcd_nibble_write(data_or_ctrl, (uint8_t)((value & 0xF0) >> 4)); + + /* Write lower nibble second */ + lcd_nibble_write(data_or_ctrl, (uint8_t)(value & 0x0F)); +} + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lcd.h b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lcd.h new file mode 100644 index 000000000..294dd2e4b --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lcd.h @@ -0,0 +1,101 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : lcd.h +* Device(s) : RX +* H/W Platform : RSKRX111 +* Description : Provides variable and function declarations for lcd.c file +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +/* Multiple inclusion prevention macro */ +#ifndef LCD_H +#define LCD_H + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Defines standard integer variable types used in this file */ +#include + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +/* RS register select pin */ +#define RS_PIN PORTC.PODR.BIT.B5 +#define RS_PIN_DDR PORTC.PDR.BIT.B5 +/* Display enable pin */ +#define E_PIN PORTB.PODR.BIT.B1 +#define E_PIN_DDR PORTB.PDR.BIT.B1 +/* Data write/read definition */ +#define DATA_WR 1 +/* Control write/read definition */ +#define CTRL_WR 0 +/* Maximum characters per line of LCD display. */ +#define NUMB_CHARS_PER_LINE 8 +/* Number of lines on the LCD display */ +#define MAXIMUM_LINES 2 +/* Character position of LCD line 1 */ +#define LCD_LINE1 0 +/* Character position of LCD line 2 */ +#define LCD_LINE2 16 +/* Clear LCD display and home cursor */ +#define LCD_CLEAR 0x01 +/* Move cursor to line 1 */ +#define LCD_HOME_L1 0x80 +/* Move cursor to line 2 */ +#define LCD_HOME_L2 0xC0 +/* Cursor auto decrement after R/W */ +#define CURSOR_MODE_DEC 0x04 +/* Cursor auto increment after R/W */ +#define CURSOR_MODE_INC 0x06 +/* Setup, 4 bits,2 lines, 5X7 */ +#define FUNCTION_SET 0x28 +/* Display ON with Cursor */ +#define LCD_CURSOR_ON 0x0E +/* Display ON with Cursor off */ +#define LCD_CURSOR_OFF 0x0C +/* Display on with blinking cursor */ +#define LCD_CURSOR_BLINK 0x0D +/* Move Cursor Left One Position */ +#define LCD_CURSOR_LEFT 0x10 +/* Move Cursor Right One Position */ +#define LCD_CURSOR_RIGHT 0x14 +/* Enable LCD display */ +#define LCD_DISPLAY_ON 0x04 +/* Enable both LCD lines */ +#define LCD_TWO_LINE 0x08 + +/*********************************************************************************************************************** +Exported global functions (to be accessed by other files) +***********************************************************************************************************************/ +/* LCD initialisation function declaration */ +void lcd_initialize (void); + +/* Update display function declaration */ +void lcd_display(uint8_t position, uint8_t const * string); + +/* Clear LCD function delcaration */ +void lcd_clear (void); + +/* End of multiple inclusion prevention macro */ +#endif diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/r_bsp.h b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/r_bsp.h new file mode 100644 index 000000000..456688981 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/r_bsp.h @@ -0,0 +1,50 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_bsp.h +* H/W Platform : RSKRX111 +* Description : Has the header files that should be included for this platform. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +#ifndef PLATFORM_BOARD_RSKRX111 +#define PLATFORM_BOARD_RSKRX111 + +/* Make sure that no other platforms have already been defined. Do not touch this! */ +#ifdef PLATFORM_DEFINED +#error "Error - Multiple platforms defined in platform.h!" +#else +#define PLATFORM_DEFINED +#endif + +/*********************************************************************************************************************** +INCLUDE APPROPRIATE MCU AND BOARD FILES +***********************************************************************************************************************/ +#include "r_bsp_config.h" +#include ".\mcu\rx111\iodefine.h" +#include ".\mcu\rx111\mcu_info.h" +#include ".\board\rskrx111\rskrx111.h" +#include ".\board\rskrx111\lcd.h" + +#endif /* PLATFORM_BOARD_RSKRX111 */ + + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/r_bsp_config_reference.h b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/r_bsp_config_reference.h new file mode 100644 index 000000000..da6dc9d1e --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/r_bsp_config_reference.h @@ -0,0 +1,250 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_bsp_config_reference.c +* Device(s) : RX111 +* Description : The file r_bsp_config.h is used to configure your BSP. r_bsp_config.h should be included +* somewhere in your package so that the r_bsp code has access to it. This file (r_bsp_config_reference.h) +* is just a reference file that the user can use to make their own r_bsp_config.h file. +************************************************************************************************************************ +* History : DD.MM.YYYY Version Description +* : 07.11.2012 0.01 Beta Release +***********************************************************************************************************************/ +#ifndef R_BSP_CONFIG_REF_HEADER_FILE +#define R_BSP_CONFIG_REF_HEADER_FILE + +/*********************************************************************************************************************** +Configuration Options +***********************************************************************************************************************/ +/* Enter the product part number for your MCU. This information will be used to obtain information about your MCU such + as package and memory size. + To help parse this information, the part number will be defined using multiple macros. + R 5 F 51 11 5 A D FM + | | | | | | | | | Macro Name Description + | | | | | | | | |__MCU_PART_PACKAGE = Package type, number of pins, and pin pitch + | | | | | | | |____not used = Products with wide temperature range (D: -40 to 85C G: -40 to 105C) + | | | | | | |______not used = Blank + | | | | | |________MCU_PART_MEMORY_SIZE = ROM, RAM, and Data Flash Capacity + | | | | |___________MCU_PART_GROUP = Group name + | | | |______________MCU_PART_SERIES = Series name + | | |________________MCU_PART_MEMORY_TYPE = Type of memory (Flash) + | |__________________not used = Renesas MCU + |____________________not used = Renesas semiconductor product. + */ + +/* Package type. Set the macro definition based on values below: + Character(s) = Value for macro = Package Type/Number of Pins/Pin Pitch + FM = 0x0 = LFQFP/64/0.50 + FK = 0x1 = LQFP/64/0.80 + LF = 0x2 = TFLGA/64/0.50 + FL = 0x3 = LFQFP/48/0.50 + NE = 0x4 = VQFN/48/0.50 + NC = 0x5 = HWQFN/36/0.50 + LM = 0x6 = WFLGA/36/0.50 + SB = 0x7 = SSOP/36/0.80 +*/ +#define MCU_PART_PACKAGE (0x0) + +/* ROM, RAM, and Data Flash Capacity. + Character(s) = Value for macro = ROM Size/Ram Size/Data Flash Size + 5 = 0x5 = 128KB/16KB/8KB + 4 = 0x4 = 96KB/16KB/8KB + 3 = 0x3 = 64KB/10KB/8KB + 1 = 0x1 = 32KB/10KB/8KB + J = 0x0 = 16KB/8KB/8KB +*/ +#define MCU_PART_MEMORY_SIZE (0x5) + +/* Group name. + Character(s) = Value for macro = Description + 10 = 0x0 = RX110 Group + 11 = 0x1 = RX111 Group +*/ +#define MCU_PART_GROUP (0x1) + +/* Series name. + Character(s) = Value for macro = Description + 51 = 0x0 = RX100 Series +*/ +#define MCU_PART_SERIES (0x0) + +/* Memory type. + Character(s) = Value for macro = Description + F = 0x0 = Flash memory version +*/ +#define MCU_PART_MEMORY_TYPE (0x0) + +/* The 'BSP_DECLARE_STACK' macro is checked so that the stack is only declared in one place (resetprg.c). Every time a + '#pragma stacksize' is encountered, the stack size is increased. This prevents multiplication of stack size. */ +#if defined(BSP_DECLARE_STACK) +/* User Stack size in bytes. The Renesas RX toolchain sets the stack size using the #pragma stacksize directive. */ +#pragma stacksize su=0x400 +/* Interrupt Stack size in bytes. The Renesas RX toolchain sets the stack size using the #pragma stacksize directive. */ +#pragma stacksize si=0x100 +#endif + +/* Heap size in bytes. */ +#define HEAP_BYTES (0x400) + +/* After reset MCU will operate in Supervisor mode. To switch to User mode, set this macro to '1'. For more information + on the differences between these 2 modes see the CPU >> Processor Mode section of your MCU's hardware manual. + 0 = Stay in Supervisor mode. + 1 = Switch to User mode. +*/ +#define RUN_IN_USER_MODE (0) + + +/* This macro lets other modules no if a RTOS is being used. + 0 = RTOS is not used. + 1 = RTOS is used. +*/ +#define RTOS_USED (0) + +/* Clock source select (CKSEL). + 0 = Low Speed On-Chip Oscillator (LOCO) + 1 = High Speed On-Chip Oscillator (HOCO) + 2 = Main Clock Oscillator + 3 = Sub-Clock Oscillator + 4 = PLL Circuit +*/ +#define CLOCK_SOURCE (4) + +/* Clock configuration options. + The input clock frequency is specified and then the system clocks are set by specifying the multipliers used. The + multiplier settings are used to set the clock registers in resetprg.c. If a 16MHz clock is used and the + ICLK is 24MHz, PCLKB is 24MHz, FCLK is 24MHz, PCLKD is 24MHz, and CKO is 1MHz then the + settings would be: + + XTAL_HZ = 16000000 + PLL_DIV = 2 + PLL_MUL = 6 (16MHz x 3 = 48MHz) + ICK_DIV = 2 : System Clock (ICLK) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / ICK_DIV) = 24MHz + PCKB_DIV = 2 : Peripheral Clock B (PCLKB) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKB_DIV) = 24MHz + PCKD_DIV = 2 : Peripheral Clock D (PCLKD) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKD_DIV) = 24MHz + FCK_DIV = 2 : Flash IF Clock (FCLK) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / FCK_DIV) = 24MHz +*/ +/* XTAL - Input clock frequency in Hz */ +#define XTAL_HZ (16000000) +/* PLL Input Frequency Divider Select (PLIDIV). + Available divisors = /1 (no division), /2, /4 +*/ +#define PLL_DIV (2) +/* PLL Frequency Multiplication Factor Select (STC). + Available multipliers = x6, x8 +*/ +#define PLL_MUL (6) +/* System Clock Divider (ICK). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define ICK_DIV (2) +/* Peripheral Module Clock B Divider (PCKB). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define PCKB_DIV (2) +/* Peripheral Module Clock D Divider (PCKD). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define PCKD_DIV (2) +/* Flash IF Clock Divider (FCK). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define FCK_DIV (2) + +/* Below are callback functions that can be used for detecting MCU exceptions, undefined interrupt sources, and + bus errors. If the user wishes to be alerted of these events then they will need to define the macro as a + function to be called when the event occurs. For example, if the user wanted the function + excep_undefined_instr_isr() to be called when an undefined interrupt source ISR is triggered then they would + do the following: + #define UNDEFINED_INT_ISR_CALLBACK undefined_interrupt_cb + If the user does not wish to be alerted of these events then they should comment out the macros. + + NOTE: When a callback function is called it will be called from within a ISR. This means that the function + will essentially be an interrupt and will hold off other interrupts that occur in the system while it + is executing. For this reason, it is recommended to keep these callback functions short as to not + decrease the real-time response of your system. +*/ +/* Callback for Supervisor Instruction Violation Exception. */ +//#define EXCEP_SUPERVISOR_ISR_CALLBACK supervisor_instr_cb + +/* Callback for Undefined Instruction Exception. */ +//#define EXCEP_UNDEFINED_INSTR_ISR_CALLBACK undefined_instr_cb + +/* Callback for Non-maskable Interrupt. */ +//#define NMI_ISR_CALLBACK nmi_cb + +/* Callback for all undefined interrupt vectors. User can set a breakpoint in this function to determine which source + is creating unwanted interrupts. */ +//#define UNDEFINED_INT_ISR_CALLBACK undefined_interrupt_cb + +/* Callback for Bus Error Interrupt. */ +//#define BUS_ERROR_ISR_CALLBACK bus_error_cb + +/* The user has the option of separately choosing little or big endian for the User Application Area */ + +/* Endian mode for User Application. + 0 = Big Endian + Else = Little Endian (Default) +*/ +#define USER_APP_ENDIAN (1) + + +/* Configure WDT and IWDT settings. + OFS0 - Option Function Select Register 0 + OFS0 - Option Function Select Register 0 + b31:b15 Reserved (set to 1) + b14 IWDTSLCSTP - IWDT Sleep Mode Count Stop Control - (0=can't stop count, 1=stop w/some low power modes) + b13 Reserved (set to 1) + b12 IWDTRSTIRQS - IWDT Reset Interrupt Request - What to do on underflow (0=take interrupt, 1=reset MCU) + b11:b10 IWDTRPSS - IWDT Window Start Position Select - (0=25%, 1=50%, 2=75%, 3=100%,don't use) + b9:b8 IWDTRPES - IWDT Window End Position Select - (0=75%, 1=50%, 2=25%, 3=0%,don't use) + b7:b4 IWDTCKS - IWDT Clock Frequency Division Ratio - (0=none, 2=/16, 3 = /32, 4=/64, 0xF=/128, 5=/256) + b3:b2 IWDTTOPS - IWDT Timeout Period Select - (0=128 cycles, 1=512, 2=1024, 3=2048) + b1 IWDTSTRT - IWDT Start Mode Select - (0=auto-start after reset, 1=halt after reset) + b0 Reserved (set to 1) */ +#define OFS0_REG_VALUE (0xFFFFFFFF) //Disable by default + +/* Configure whether voltage detection 1 circuit and HOCO are enabled after reset. + OFS1 - Option Function Select Register 1 + b31:b9 Reserved (set to 1) + b8 HOCOEN - Enable/disable HOCO oscillation after a reset (0=enable, 1=disable) + b7:b4 STUPLVD1LVL - Startup Voltage Monitoring 1 Reset Detection Level Select + 0 1 0 0: 3.10 V + 0 1 0 1: 3.00 V + 0 1 1 0: 2.90 V + 0 1 1 1: 2.79 V + 1 0 0 0: 2.68 V + 1 0 0 1: 2.58 V + 1 0 1 0: 2.48 V + 1 0 1 1: 2.06 V + 1 1 0 0: 1.96 V + 1 1 0 1: 1.86 V + b3:b2 Reserved (set to 1) + b2 STUPLVD1REN - Startup Voltage Monitoring 1 Reset Enable (1=monitoring disabled) + b0 FASTSTUP - Power-On Fast Startup Time (1=normal; read only) */ +#define OFS1_REG_VALUE (0xFFFFFFFF) //Disable by default + +/* Initializes C input & output library functions. + 0 = Disable I/O library initialization in resetprg.c. If you are not using stdio then use this value. + 1 = Enable I/O library initialization in resetprg.c. This is default and needed if you are using stdio. */ +#define IO_LIB_ENABLE (1) + +#endif /* R_BSP_CONFIG_REF_HEADER_FILE */ + + + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/rskrx111.h b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/rskrx111.h new file mode 100644 index 000000000..af3a40058 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/rskrx111.h @@ -0,0 +1,63 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : rskrx111.h +* H/W Platform : RSKRX111 +* Description : Board specific definitions for the RSKRX111. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +#ifndef RSKRX111_H +#define RSKRX111_H + +/* Local defines */ +#define LED_ON (0) +#define LED_OFF (1) +#define SET_BIT_HIGH (1) +#define SET_BIT_LOW (0) +#define SET_BYTE_HIGH (0xFF) +#define SET_BYTE_LOW (0x00) + +/* Switches */ +#define SW_ACTIVE 0 +#define SW1 PORT3.PIDR.BIT.B0 +#define SW2 PORT3.PIDR.BIT.B1 +#define SW3 PORTE.PIDR.BIT.B4 +#define SW1_PDR PORT3.PDR.BIT.B0 +#define SW2_PDR PORT3.PDR.BIT.B1 +#define SW3_PDR PORTE.PDR.BIT.B4 +#define SW1_PMR PORT3.PMR.BIT.B0 +#define SW2_PMR PORT3.PMR.BIT.B1 +#define SW3_PMR PORTE.PMR.BIT.B4 + +/* LEDs */ +#define LED0 PORTB.PODR.BIT.B7 +#define LED1 PORTA.PODR.BIT.B0 +#define LED2 PORT5.PODR.BIT.B4 +#define LED3 PORT1.PODR.BIT.B7 +#define LED0_PDR PORTB.PDR.BIT.B7 +#define LED1_PDR PORTA.PDR.BIT.B0 +#define LED2_PDR PORT5.PDR.BIT.B4 +#define LED3_PDR PORT1.PDR.BIT.B7 + + +#endif /* RSKRX111_H */ diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/user/hardware_setup.c b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/user/hardware_setup.c new file mode 100644 index 000000000..61ec9ab2a --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/user/hardware_setup.c @@ -0,0 +1,367 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : hwsetup.c +* Device(s) : RX +* H/W Platform : RSKRX210 +* Description : Defines the initialization routines used each time the MCU is restarted. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* I/O Register and board definitions */ +#include "platform.h" +#include "r_switches_config.h" + +/*********************************************************************************************************************** +Private global variables and functions +***********************************************************************************************************************/ +/* MCU I/O port configuration function delcaration */ +static void output_ports_configure(void); + +/* Interrupt configuration function delcaration */ +static void interrupts_configure(void); + +/* MCU peripheral module configuration function declaration */ +static void peripheral_modules_enable(void); + +/* Configure MCU clocks. */ +static void clock_source_select (void); +void operating_frequency_set(void); + +/*********************************************************************************************************************** +* Function name: hardware_setup +* Description : Contains setup functions called at device restart +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void HardwareSetup(void) +{ + operating_frequency_set(); + output_ports_configure(); + interrupts_configure(); + peripheral_modules_enable(); +} + +/*********************************************************************************************************************** +* Function name: output_ports_configure +* Description : Configures the port and pin direction settings, and sets the pin outputs to a safe level. +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void output_ports_configure(void) +{ + /* Enable LEDs. */ + /* Start with LEDs off. */ + LED0 = LED_OFF; + LED1 = LED_OFF; + LED2 = LED_OFF; + LED3 = LED_OFF; + + /* Set LED pins as outputs. */ + LED0_PDR = 1; + LED1_PDR = 1; + LED2_PDR = 1; + LED3_PDR = 1; + + /* Enable switches. */ + /* Set pins as inputs. */ + SW1_PDR = 0; + SW2_PDR = 0; + SW3_PDR = 0; + + /* Set port mode registers for switches. */ + SW1_PMR = 0; + SW2_PMR = 0; + SW3_PMR = 0; + + /* Unlock MPC registers to enable writing to them. */ + MPC.PWPR.BIT.B0WI = 0 ; /* Unlock protection register */ + MPC.PWPR.BIT.PFSWE = 1 ; /* Unlock MPC registers */ + + /* TXD1 is output. */ + PORT1.PDR.BIT.B6 = 1; + PORT1.PMR.BIT.B6 = 1; + MPC.P16PFS.BYTE = 0x0A; + /* RXD1 is input. */ + PORT1.PDR.BIT.B5 = 0; + PORT1.PMR.BIT.B5 = 1; + MPC.P15PFS.BYTE = 0x0A; + + /* Configure the pin connected to the ADC Pot as an input */ + PORT4.PDR.BIT.B4 = 0; + + /* Protect off. */ + SYSTEM.PRCR.WORD = 0xA50B; + + /* Turn off module stop for the A2D converter. */ + SYSTEM.MSTPCRA.BIT.MSTPA17 = 0; + + /* Protect on. */ + SYSTEM.PRCR.WORD = 0xA500; + + /* Initialise the first button to generate an interrupt. */ + R_SWITCHES_Init(); +} + +/*********************************************************************************************************************** +* Function name: interrupts_configure +* Description : Configures interrupts used +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void interrupts_configure(void) +{ + /* Add code here to setup additional interrupts */ +} + +/*********************************************************************************************************************** +* Function name: peripheral_modules_enable +* Description : Enables and configures peripheral devices on the MCU +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void peripheral_modules_enable(void) +{ + /* Enable triggers to start an ADC conversion. */ + S12AD.ADCSR.BIT.TRGE = 1; + + /* Only channel 4 is going to be used. */ + S12AD.ADANSA.BIT.ANSA4 = 1; +} + +/*********************************************************************************************************************** +* Function name: operating_frequency_set +* Description : Configures the clock settings for each of the device clocks +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void operating_frequency_set(void) +{ + /* Used for constructing value to write to SCKCR and CKOCR registers. */ + uint32_t temp_clock = 0; + + /* + Clock Description Frequency + ---------------------------------------- + Input Clock Frequency............ 16 MHz + PLL frequency (x3)............... 48 MHz + Internal Clock Frequency......... 24 MHz + Peripheral Clock Frequency....... 24 MHz + Clock Out Frequency.............. 1 MHz */ + + volatile unsigned int i; + + /* Protect off. */ + SYSTEM.PRCR.WORD = 0xA50B; + + /* Select the clock based upon user's choice. */ + clock_source_select(); + + + /* Figure out setting for FCK bits. */ +#if FCK_DIV == 1 + /* Do nothing since FCK bits should be 0. */ +#elif FCK_DIV == 2 + temp_clock |= 0x10000000; +#elif FCK_DIV == 4 + temp_clock |= 0x20000000; +#elif FCK_DIV == 8 + temp_clock |= 0x30000000; +#elif FCK_DIV == 16 + temp_clock |= 0x40000000; +#elif FCK_DIV == 32 + temp_clock |= 0x50000000; +#elif FCK_DIV == 64 + temp_clock |= 0x60000000; +#else + #error "Error! Invalid setting for FCK_DIV in r_bsp_config.h" +#endif + + /* Figure out setting for ICK bits. */ +#if ICK_DIV == 1 + /* Do nothing since ICK bits should be 0. */ +#elif ICK_DIV == 2 + temp_clock |= 0x01000000; +#elif ICK_DIV == 4 + temp_clock |= 0x02000000; +#elif ICK_DIV == 8 + temp_clock |= 0x03000000; +#elif ICK_DIV == 16 + temp_clock |= 0x04000000; +#elif ICK_DIV == 32 + temp_clock |= 0x05000000; +#elif ICK_DIV == 64 + temp_clock |= 0x06000000; +#else + #error "Error! Invalid setting for ICK_DIV in r_bsp_config.h" +#endif + + /* Figure out setting for PCKB bits. */ +#if PCKB_DIV == 1 + /* Do nothing since PCKB bits should be 0. */ +#elif PCKB_DIV == 2 + temp_clock |= 0x00000100; +#elif PCKB_DIV == 4 + temp_clock |= 0x00000200; +#elif PCKB_DIV == 8 + temp_clock |= 0x00000300; +#elif PCKB_DIV == 16 + temp_clock |= 0x00000400; +#elif PCKB_DIV == 32 + temp_clock |= 0x00000500; +#elif PCKB_DIV == 64 + temp_clock |= 0x00000600; +#else + #error "Error! Invalid setting for PCKB_DIV in r_bsp_config.h" +#endif + + /* Figure out setting for PCKD bits. */ +#if PCKD_DIV == 1 + /* Do nothing since PCKD bits should be 0. */ +#elif PCKD_DIV == 2 + temp_clock |= 0x00000001; +#elif PCKD_DIV == 4 + temp_clock |= 0x00000002; +#elif PCKD_DIV == 8 + temp_clock |= 0x00000003; +#elif PCKD_DIV == 16 + temp_clock |= 0x00000004; +#elif PCKD_DIV == 32 + temp_clock |= 0x00000005; +#elif PCKD_DIV == 64 + temp_clock |= 0x00000006; +#else + #error "Error! Invalid setting for PCKD_DIV in r_bsp_config.h" +#endif + + /* Set SCKCR register. */ + SYSTEM.SCKCR.LONG = temp_clock; + + /* Choose clock source. Default for r_bsp_config.h is PLL. */ + SYSTEM.SCKCR3.WORD = ((uint16_t)CLOCK_SOURCE) << 8; + + /* Protect on. */ + SYSTEM.PRCR.WORD = 0xA500; +} + +/*********************************************************************************************************************** +* Function name: clock_source_select +* Description : Enables and disables clocks as chosen by the user. This function also implements the software delays +* needed for the clocks to stabilize. +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +static void clock_source_select (void) +{ + /* Declared volatile for software delay purposes. */ + volatile unsigned int i; + + /* NOTE: AS OF VERSION 0.50 OF THE RX111 HARDWARE MANUAL, ALL OF THE CLOCK + * STABILIZATION TIMES ARE TBD. FOR NOW, WHERE EVER A WAIT COUNT REGISTER + * IS AVAILABLE, THE DELAY IS SET TO THE MAX NUMBER OF CYCLES. WHERE EVER + * DELAY LOOPS ARE PRESENT, THE VALUES FROM THE 63N ARE RE-USED. KEEP IN + * MIND THAT THE 63N RUNS ON A FASTER CRYSTAL. + */ + +#if (CLOCK_SOURCE == 1) + /* HOCO is chosen. Start it operating. */ + SYSTEM.HOCOCR.BYTE = 0x00; + /* The delay period needed is to make sure that the HOCO has stabilized.*/ + for(i = 0; i< 28; i++) // tHOCOWT2 is TBD + { + __asm volatile( "NOP" ); + } +#else + /* HOCO is not chosen. Stop the HOCO. */ + SYSTEM.HOCOCR.BYTE = 0x01; +#endif + +#if (CLOCK_SOURCE == 2) + /* Main clock oscillator is chosen. Start it operating. */ + SYSTEM.MOSCWTCR.BYTE = 0x07; // Wait 65,536 cycles + /* Set the main clock to operating. */ + SYSTEM.MOSCCR.BYTE = 0x00; + /* The delay period needed is to make sure that the main clock has stabilized. */ + for(i = 0; i< 140; i++) // tMAINOSCWT is TBD + { + __asm volatile( "NOT" ); + } +#endif + +#if (CLOCK_SOURCE == 3) + /* Sub-clock oscillator is chosen. Start it operating. */ + /* In section 9.8.4, there is a reference to a SOSCWTCR register, but there is no + * description for this register in the manual nor reference for it in iodefine.h. */ + + /* Set the sub-clock to operating. */ + SYSTEM.SOSCCR.BYTE = 0x00; + /* The delay period needed is to make sure that the sub-clock has stabilized. */ + for(i = 0; i< 30233; i++) // tSUBOSCWT0 is TBD + { + __asm volatile( "NOP" ); + } +#else + /* Set the sub-clock to stopped. */ + SYSTEM.SOSCCR.BYTE = 0x01; +#endif + +#if (CLOCK_SOURCE == 4) + /* PLL is chosen. Start it operating. Must start main clock as well since PLL uses it. */ + SYSTEM.MOSCWTCR.BYTE = 0x07; // Wait 65,536 cycles + /* Set the main clock to operating. */ + SYSTEM.MOSCCR.BYTE = 0x00; + + /* Set PLL Input Divisor. */ + SYSTEM.PLLCR.BIT.PLIDIV = PLL_DIV >> 1; + + /* Set PLL Multiplier. */ + SYSTEM.PLLCR.BIT.STC = (PLL_MUL * 2) - 1; + + /* Set the PLL to operating. */ + SYSTEM.PLLCR2.BYTE = 0x00; + /* The delay period needed is to make sure that the main clock and PLL have stabilized. */ + for(i = 0; i< 140; i++) // tPLLWT2 is TBD + { + __asm volatile( "NOP" ); + } +#endif + + /* LOCO is saved for last since it is what is running by default out of reset. This means you do not want to turn + it off until another clock has been enabled and is ready to use. */ +#if (CLOCK_SOURCE == 0) + /* LOCO is chosen. This is the default out of reset. */ + SYSTEM.LOCOCR.BYTE = 0x00; +#else + /* LOCO is not chosen and another clock has already been setup. Turn off the LOCO. */ + SYSTEM.LOCOCR.BYTE = 0x01; +#endif + + /* Make sure a valid clock was chosen. */ +#if (CLOCK_SOURCE > 4) || (CLOCK_SOURCE < 0) + #error "ERROR - Valid clock source must be chosen in r_bsp_config.h using CLOCK_SOURCE macro." +#endif +} + + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/user/r_bsp.h b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/user/r_bsp.h new file mode 100644 index 000000000..bd8881cd6 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/user/r_bsp.h @@ -0,0 +1,54 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_bsp.h +* Description : Has the header files that should be included for this platform. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 13.01.2012 1.00 First Release +* : 27.06.2012 1.10 Updated with new information to reflect udpated r_bsp structure. +***********************************************************************************************************************/ + +#ifndef PLATFORM_BOARD_USER +#define PLATFORM_BOARD_USER + +/* Make sure that no other platforms have already been defined. Do not touch this! */ +#ifdef PLATFORM_DEFINED +#error "Error - Multiple platforms defined in platform.h!" +#else +#define PLATFORM_DEFINED +#endif + +/*********************************************************************************************************************** +INCLUDE APPROPRIATE MCU AND BOARD FILES +***********************************************************************************************************************/ +/* This is a user defined board. Start off by: + 1)Copy and rename one of the 'board' folders that most closely matches your system (same MCU Series and Group). + 2)Substitute in your MCU Group for the *MCU Group* option in the #include below for mcu_info.h. + 3)Copy the other #includes from the r_bsp.h in the 'board' folder that you copied earlier. + 4)Configure the BSP for your board by modifying the r_bsp_config_reference.h. + 5)Copy r_bsp_config_reference.h to your project directory and rename it r_bsp_config.h. + You can also add your own include files here as well. */ +#include "r_bsp_config.h" +#include ".\mcu\*MCU Group*\mcu_info.h" + +#endif /* PLATFORM_BOARD_USER */ + + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/interrupt_handlers.c b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/interrupt_handlers.c new file mode 100644 index 000000000..702dcaea4 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/interrupt_handlers.c @@ -0,0 +1,283 @@ +/***********************************************************************/ +/* */ +/* PROJECT NAME : RTOSDemo_GCC */ +/* FILE : interrupt_handlers.c */ +/* DESCRIPTION : Interrupt Handler */ +/* CPU SERIES : RX100 */ +/* CPU TYPE : RX111 */ +/* */ +/* This file is generated by e2studio. */ +/* */ +/***********************************************************************/ + + + + +#include "interrupt_handlers.h" + +// INT_Exception(Supervisor Instruction) +void INT_Excep_SuperVisorInst(void){/* brk(); */} + +// Exception(Undefined Instruction) +void INT_Excep_UndefinedInst(void){/* brk(); */} + +// Exception(Floating Point) +void INT_Excep_FloatingPoint(void){/* brk(); */} + +// NMI +void INT_NonMaskableInterrupt(void){/* brk(); */} + +// Dummy +void Dummy(void) +{ + for( ;; ); +} + +// BRK +void INT_Excep_BRK(void){/* wait(); */} +//;0x0000 Reserved + +void INT_Excep_BUSERR(void){ } + +// ICU SWINT +void INT_Excep_ICU_SWINT(void){ } + +// CMT0 CMI0 +void INT_Excep_CMT0_CMI0(void){ } + +// CMT1 CMI1 +void INT_Excep_CMT1_CMI1(void){ } + +// CAC FERRF +void INT_Excep_CAC_FERRF(void){ } + +// CAC MENDF +void INT_Excep_CAC_MENDF(void){ } + +// CAC OVFF +void INT_Excep_CAC_OVFF(void){ } + +// USB0 D0FIFO0 +void INT_Excep_USB0_D0FIFO0(void){ } + +// USB0 D1FIFO0 +void INT_Excep_USB0_D1FIFO0(void){ } + +// USB0 USBI0 +void INT_Excep_USB0_USBI0(void){ } + +// RSPI0 SPEI0 +void INT_Excep_RSPI0_SPEI0(void){ } + +// RSPI0 SPRI0 +void INT_Excep_RSPI0_SPRI0(void){ } + +// RSPI0 SPTI0 +void INT_Excep_RSPI0_SPTI0(void){ } + +// RSPI0 SPII0 +void INT_Excep_RSPI0_SPII0(void){ } + +// DOC DOPCF +void INT_Excep_DOC_DOPCF(void){ } + +// RTC CUP +void INT_Excep_RTC_CUP(void){ } + +// ICU IRQ0 +void INT_Excep_ICU_IRQ0(void){ } + +// ICU IRQ1 +void INT_Excep_ICU_IRQ1(void){ } + +// ICU IRQ2 +void INT_Excep_ICU_IRQ2(void){ } + +// ICU IRQ3 +void INT_Excep_ICU_IRQ3(void){ } + +// ICU IRQ4 +void INT_Excep_ICU_IRQ4(void){ } + +// ICU IRQ5 +void INT_Excep_ICU_IRQ5(void){ } + +// ICU IRQ6 +void INT_Excep_ICU_IRQ6(void){ } + +// ICU IRQ7 +void INT_Excep_ICU_IRQ7(void){ } + +// LVD LVD1 +void INT_Excep_LVD_LVD1(void){ } + +// LVD LVD2 +void INT_Excep_LVD_LVD2(void){ } + +// USB0 USBR0 +void INT_Excep_USB0_USBR0(void){ } + +// RTC ALM +void INT_Excep_RTC_ALM(void){ } + +// RTC PRD +void INT_Excep_RTC_PRD(void){ } + +// S12AD S12ADI0 +void INT_Excep_S12AD_S12ADI0(void){ } + +// S12AD GBADI +void INT_Excep_S12AD_GBADI(void){ } + +// ELC ELSR18I +void INT_Excep_ELC_ELSR18I(void){ } + +// MTU0 TGIA0 +void INT_Excep_MTU0_TGIA0(void){ } + +// MTU0 TGIB0 +void INT_Excep_MTU0_TGIB0(void){ } + +// MTU0 TGIC0 +void INT_Excep_MTU0_TGIC0(void){ } + +// MTU0 TGID0 +void INT_Excep_MTU0_TGID0(void){ } + +// MTU0 TCIV0 +void INT_Excep_MTU0_TCIV0(void){ } + +// MTU0 TGIE0 +void INT_Excep_MTU0_TGIE0(void){ } + +// MTU0 TGIF0 +void INT_Excep_MTU0_TGIF0(void){ } + +// MTU1 TGIA1 +void INT_Excep_MTU1_TGIA1(void){ } + +// MTU1 TGIB1 +void INT_Excep_MTU1_TGIB1(void){ } + +// MTU1 TCIV1 +void INT_Excep_MTU1_TCIV1(void){ } + +// MTU1 TCIU1 +void INT_Excep_MTU1_TCIU1(void){ } + +// MTU2 TGIA2 +void INT_Excep_MTU2_TGIA2(void){ } + +// MTU2 TGIB2 +void INT_Excep_MTU2_TGIB2(void){ } + +// MTU2 TCIV2 +void INT_Excep_MTU2_TCIV2(void){ } + +// MTU2 TCIU2 +void INT_Excep_MTU2_TCIU2(void){ } + +// MTU3 TGIA3 +void INT_Excep_MTU3_TGIA3(void){ } + +// MTU3 TGIB3 +void INT_Excep_MTU3_TGIB3(void){ } + +// MTU3 TGIC3 +void INT_Excep_MTU3_TGIC3(void){ } + +// MTU3 TGID3 +void INT_Excep_MTU3_TGID3(void){ } + +// MTU3 TCIV3 +void INT_Excep_MTU3_TCIV3(void){ } + +// MTU4 TGIA4 +void INT_Excep_MTU4_TGIA4(void){ } + +// MTU4 TGIB4 +void INT_Excep_MTU4_TGIB4(void){ } + +// MTU4 TGIC4 +void INT_Excep_MTU4_TGIC4(void){ } + +// MTU4 TGID4 +void INT_Excep_MTU4_TGID4(void){ } + +// MTU4 TCIV4 +void INT_Excep_MTU4_TCIV4(void){ } + +// MTU5 TGIU5 +void INT_Excep_MTU5_TGIU5(void){ } + +// MTU5 TGIV5 +void INT_Excep_MTU5_TGIV5(void){ } + +// MTU5 TGIW5 +void INT_Excep_MTU5_TGIW5(void){ } + +// POE OEI1 +void INT_Excep_POE_OEI1(void){ } + +// POE OEI2 +void INT_Excep_POE_OEI2(void){ } + +// SCI1 ERI1 +void INT_Excep_SCI1_ERI1(void){ } + +// SCI1 RXI1 +void INT_Excep_SCI1_RXI1(void){ } + +// SCI1 TXI1 +void INT_Excep_SCI1_TXI1(void){ } + +// SCI1 TEI1 +void INT_Excep_SCI1_TEI1(void){ } + +// SCI5 ERI5 +void INT_Excep_SCI5_ERI5(void){ } + +// SCI5 RXI5 +void INT_Excep_SCI5_RXI5(void){ } + +// SCI5 TXI5 +void INT_Excep_SCI5_TXI5(void){ } + +// SCI5 TEI5 +void INT_Excep_SCI5_TEI5(void){ } + +// SCI12 ERI12 +void INT_Excep_SCI12_ERI12(void){ } + +// SCI12 RXI12 +void INT_Excep_SCI12_RXI12(void){ } + +// SCI12 TXI12 +void INT_Excep_SCI12_TXI12(void){ } + +// SCI12 TEI12 +void INT_Excep_SCI12_TEI12(void){ } + +// SCI12 SCIX0 +void INT_Excep_SCI12_SCIX0(void){ } + +// SCI12 SCIX1 +void INT_Excep_SCI12_SCIX1(void){ } + +// SCI12 SCIX2 +void INT_Excep_SCI12_SCIX2(void){ } + +// SCI12 SCIX3 +void INT_Excep_SCI12_SCIX3(void){ } + +// RIIC0 EEI0 +void INT_Excep_RIIC0_EEI0(void){ } + +// RIIC0 RXI0 +void INT_Excep_RIIC0_RXI0(void){ } + +// RIIC0 TXI0 +void INT_Excep_RIIC0_TXI0(void){ } + +// RIIC0 TEI0 +void INT_Excep_RIIC0_TEI0(void){ } diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/interrupt_handlers.h b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/interrupt_handlers.h new file mode 100644 index 000000000..5cff1bb76 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/interrupt_handlers.h @@ -0,0 +1,371 @@ +/***********************************************************************/ +/* */ +/* PROJECT NAME : RTOSDemo_GCC */ +/* FILE : interrupt_handlers.h */ +/* DESCRIPTION : Interrupt Handler Declarations */ +/* CPU SERIES : RX100 */ +/* CPU TYPE : RX111 */ +/* */ +/* This file is generated by e2studio. */ +/* */ +/***********************************************************************/ + + + + + + +#ifndef INTERRUPT_HANDLERS_H +#define INTERRUPT_HANDLERS_H + +// Exception(Supervisor Instruction) +// Exception(Supervisor Instruction) +void INT_Excep_SuperVisorInst(void) __attribute__ ((interrupt)); + +// Exception(Undefined Instruction) +void INT_Excep_UndefinedInst(void) __attribute__ ((interrupt)); + +// Exception(Floating Point) +void INT_Excep_FloatingPoint(void) __attribute__ ((interrupt)); + +// NMI +void INT_NonMaskableInterrupt(void) __attribute__ ((interrupt)); + +// Dummy +void Dummy (void) __attribute__ ((interrupt)); + +// BRK +void INT_Excep_BRK(void) __attribute__ ((interrupt)); +//;0x0000 Reserved + +void INT_Excep_BUSERR(void) __attribute__ ((interrupt)); +//;0x0044 Reserved + +void INT_Excep_ICU_SWINT(void) __attribute__ ((interrupt)); + +// CMT0 CMI0 + +void INT_Excep_CMT0_CMI0(void) __attribute__ ((interrupt)); + +// CMT1 CMI1 + +void INT_Excep_CMT1_CMI1(void) __attribute__ ((interrupt)); + +// CAC FERRF + +void INT_Excep_CAC_FERRF(void) __attribute__ ((interrupt)); + +// CAC MENDF + + +void INT_Excep_CAC_MENDF(void) __attribute__ ((interrupt)); + +// CAC OVFF + +void INT_Excep_CAC_OVFF(void) __attribute__ ((interrupt)); + +// USB0 D0FIFO0 + +void INT_Excep_USB0_D0FIFO0(void) __attribute__ ((interrupt)); + +// USB0 D1FIFO0 + +void INT_Excep_USB0_D1FIFO0(void) __attribute__ ((interrupt)); + +// USB0 USBI0 + +void INT_Excep_USB0_USBI0(void) __attribute__ ((interrupt)); + +// RSPI0 SPEI0 + +void INT_Excep_RSPI0_SPEI0(void) __attribute__ ((interrupt)); + +// RSPI0 SPRI0 + +void INT_Excep_RSPI0_SPRI0(void) __attribute__ ((interrupt)); + +// RSPI0 SPTI0 + +void INT_Excep_RSPI0_SPTI0(void) __attribute__ ((interrupt)); + +// RSPI0 SPII0 + +void INT_Excep_RSPI0_SPII0(void) __attribute__ ((interrupt)); + +// DOC DOPCF + +void INT_Excep_DOC_DOPCF(void) __attribute__ ((interrupt)); + +// RTC CUP + +void INT_Excep_RTC_CUP(void) __attribute__ ((interrupt)); + +// ICU IRQ0 + +void INT_Excep_ICU_IRQ0(void) __attribute__ ((interrupt)); + +// ICU IRQ1 + +void INT_Excep_ICU_IRQ1(void) __attribute__ ((interrupt)); + +// ICU IRQ2 + +void INT_Excep_ICU_IRQ2(void) __attribute__ ((interrupt)); + +// ICU IRQ3 + +void INT_Excep_ICU_IRQ3(void) __attribute__ ((interrupt)); + +// ICU IRQ4 + +void INT_Excep_ICU_IRQ4(void) __attribute__ ((interrupt)); + +// ICU IRQ5 + +void INT_Excep_ICU_IRQ5(void) __attribute__ ((interrupt)); + +// ICU IRQ6 + +void INT_Excep_ICU_IRQ6(void) __attribute__ ((interrupt)); + +// ICU IRQ7 + +void INT_Excep_ICU_IRQ7(void) __attribute__ ((interrupt)); + +// LVD LVD1 + +void INT_Excep_LVD_LVD1(void) __attribute__ ((interrupt)); + +// LVD LVD2 + +void INT_Excep_LVD_LVD2(void) __attribute__ ((interrupt)); + +// USB0 USBR0 + +void INT_Excep_USB0_USBR0(void) __attribute__ ((interrupt)); + +// RTC ALM + +void INT_Excep_RTC_ALM(void) __attribute__ ((interrupt)); + +// RTC PRD + +void INT_Excep_RTC_PRD(void) __attribute__ ((interrupt)); + +// S12AD S12ADI0 + +void INT_Excep_S12AD_S12ADI0(void) __attribute__ ((interrupt)); + +// S12AD GBADI + +void INT_Excep_S12AD_GBADI(void) __attribute__ ((interrupt)); + +// ELC ELSR18I + +void INT_Excep_ELC_ELSR18I(void) __attribute__ ((interrupt)); + +// MTU0 TGIA0 + +void INT_Excep_MTU0_TGIA0(void) __attribute__ ((interrupt)); + +// MTU0 TGIB0 + +void INT_Excep_MTU0_TGIB0(void) __attribute__ ((interrupt)); + +// MTU0 TGIC0 + +void INT_Excep_MTU0_TGIC0(void) __attribute__ ((interrupt)); + +// MTU0 TGID0 + +void INT_Excep_MTU0_TGID0(void) __attribute__ ((interrupt)); + +// MTU0 TCIV0 + +void INT_Excep_MTU0_TCIV0(void) __attribute__ ((interrupt)); + +// MTU0 TGIE0 + +void INT_Excep_MTU0_TGIE0(void) __attribute__ ((interrupt)); + +// MTU0 TGIF0 + +void INT_Excep_MTU0_TGIF0(void) __attribute__ ((interrupt)); + +// MTU1 TGIA1 + +void INT_Excep_MTU1_TGIA1(void) __attribute__ ((interrupt)); + +// MTU1 TGIB1 + +void INT_Excep_MTU1_TGIB1(void) __attribute__ ((interrupt)); + +// MTU1 TCIV1 + +void INT_Excep_MTU1_TCIV1(void) __attribute__ ((interrupt)); + +// MTU1 TCIU1 + +void INT_Excep_MTU1_TCIU1(void) __attribute__ ((interrupt)); + +// MTU2 TGIA2 + +void INT_Excep_MTU2_TGIA2(void) __attribute__ ((interrupt)); + +// MTU2 TGIB2 + +void INT_Excep_MTU2_TGIB2(void) __attribute__ ((interrupt)); + +// MTU2 TCIV2 + +void INT_Excep_MTU2_TCIV2(void) __attribute__ ((interrupt)); + +// MTU2 TCIU2 + +void INT_Excep_MTU2_TCIU2(void) __attribute__ ((interrupt)); + +// MTU3 TGIA3 + +void INT_Excep_MTU3_TGIA3(void) __attribute__ ((interrupt)); + +// MTU3 TGIB3 + +void INT_Excep_MTU3_TGIB3(void) __attribute__ ((interrupt)); + +// MTU3 TGIC3 + +void INT_Excep_MTU3_TGIC3(void) __attribute__ ((interrupt)); + +// MTU3 TGID3 + +void INT_Excep_MTU3_TGID3(void) __attribute__ ((interrupt)); + +// MTU3 TCIV3 + +void INT_Excep_MTU3_TCIV3(void) __attribute__ ((interrupt)); + +// MTU4 TGIA4 + +void INT_Excep_MTU4_TGIA4(void) __attribute__ ((interrupt)); + +// MTU4 TGIB4 + +void INT_Excep_MTU4_TGIB4(void) __attribute__ ((interrupt)); + +// MTU4 TGIC4 + +void INT_Excep_MTU4_TGIC4(void) __attribute__ ((interrupt)); + +// MTU4 TGID4 + +void INT_Excep_MTU4_TGID4(void) __attribute__ ((interrupt)); + +// MTU4 TCIV4 + +void INT_Excep_MTU4_TCIV4(void) __attribute__ ((interrupt)); + +// MTU5 TGIU5 + +void INT_Excep_MTU5_TGIU5(void) __attribute__ ((interrupt)); + +// MTU5 TGIV5 + +void INT_Excep_MTU5_TGIV5(void) __attribute__ ((interrupt)); + +// MTU5 TGIW5 + +void INT_Excep_MTU5_TGIW5(void) __attribute__ ((interrupt)); + +// POE OEI1 + +void INT_Excep_POE_OEI1(void) __attribute__ ((interrupt)); + +// POE OEI2 + +void INT_Excep_POE_OEI2(void) __attribute__ ((interrupt)); + +// SCI1 ERI1 + +void INT_Excep_SCI1_ERI1(void) __attribute__ ((interrupt)); + +// SCI1 RXI1 + +void INT_Excep_SCI1_RXI1(void) __attribute__ ((interrupt)); + +// SCI1 TXI1 + +void INT_Excep_SCI1_TXI1(void) __attribute__ ((interrupt)); + +// SCI1 TEI1 + +void INT_Excep_SCI1_TEI1(void) __attribute__ ((interrupt)); + +// SCI5 ERI5 + +void INT_Excep_SCI5_ERI5(void) __attribute__ ((interrupt)); + +// SCI5 RXI5 + +void INT_Excep_SCI5_RXI5(void) __attribute__ ((interrupt)); + +// SCI5 TXI5 + +void INT_Excep_SCI5_TXI5(void) __attribute__ ((interrupt)); + +// SCI5 TEI5 + +void INT_Excep_SCI5_TEI5(void) __attribute__ ((interrupt)); + +// SCI12 ERI12 + +void INT_Excep_SCI12_ERI12(void) __attribute__ ((interrupt)); + +// SCI12 RXI12 + +void INT_Excep_SCI12_RXI12(void) __attribute__ ((interrupt)); + +// SCI12 TXI12 + +void INT_Excep_SCI12_TXI12(void) __attribute__ ((interrupt)); + +// SCI12 TEI12 + +void INT_Excep_SCI12_TEI12(void) __attribute__ ((interrupt)); + +// SCI12 SCIX0 + +void INT_Excep_SCI12_SCIX0(void) __attribute__ ((interrupt)); + +// SCI12 SCIX1 + +void INT_Excep_SCI12_SCIX1(void) __attribute__ ((interrupt)); + +// SCI12 SCIX2 + +void INT_Excep_SCI12_SCIX2(void) __attribute__ ((interrupt)); + +// SCI12 SCIX3 + +void INT_Excep_SCI12_SCIX3(void) __attribute__ ((interrupt)); + +// RIIC0 EEI0 + +void INT_Excep_RIIC0_EEI0(void) __attribute__ ((interrupt)); + +// RIIC0 RXI0 + +void INT_Excep_RIIC0_RXI0(void) __attribute__ ((interrupt)); + +// RIIC0 TXI0 + +void INT_Excep_RIIC0_TXI0(void) __attribute__ ((interrupt)); + +// RIIC0 TEI0 + +void INT_Excep_RIIC0_TEI0(void) __attribute__ ((interrupt)); + +//;<> +//;Power On Reset PC +extern void PowerON_Reset(void); +//;<> +#endif diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/iodefine.h b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/iodefine.h new file mode 100644 index 000000000..accd3e12e --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/iodefine.h @@ -0,0 +1,9922 @@ +/***********************************************************************/ +/* */ +/* PROJECT NAME : RTOSDemo_GCC */ +/* FILE : iodefine.h */ +/* DESCRIPTION : Definition of I/O Registers */ +/* CPU SERIES : RX100 */ +/* CPU TYPE : RX111 */ +/* */ +/* This file is generated by e2studio. */ +/* */ +/***********************************************************************/ + + + + +/* Generated by GNURX IO Header File Converter */ + +/********************************************************************************/ +/* */ +/* Note : This is a typical example. */ +/* History : V0.5 (2012-09-25) [Hardware Manual Revision : 0.50] */ +/* Abstract : Definition of I/O Register. */ +/* File Name : iodefine.h */ +/* Device : RX/RX100/RX111 */ +/* */ +/* Copyright(c) 2012 Renesas Electronics Corp. */ +/* And Renesas Solutions Corp. ,All Rights Reserved. */ +/* */ +/********************************************************************************/ +/* */ +/* CPU TYPE : RX111 */ +/* DESCRIPTION : Definition of ICU Register */ +/* */ +/* Usage : IR,DTCER,IER,IPR of ICU Register */ +/* The following IR, DTCE, IEN, IPR macro functions simplify usage. */ +/* The bit access operation is "Bit_Name(interrupt source,name)". */ +/* A part of the name can be omitted. */ +/* IR(MTU0,TGIA0) = 0; expands to : */ +/* for example : */ +/* ICU.IR[114].BIT.IR = 0; */ +/* */ +/* DTCE(ICU,IRQ0) = 1; expands to : */ +/* ICU.DTCER[64].BIT.DTCE = 1; */ +/* */ +/* IEN(CMT0,CMI0) = 1; expands to : */ +/* ICU.IER[0x03].BIT.IEN4 = 1; */ +/* */ +/* IPR(MTU1,TGIA1) = 2; expands to : */ +/* IPR(MTU1,TGI ) = 2; // TGIA1,TGIB1 share IPR level. */ +/* ICU.IPR[121].BIT.IPR = 2; */ +/* */ +/* IPR(SCI1,ERI1) = 3; expands to : */ +/* IPR(SCI1, ) = 3; // SCI1 uses single IPR for all sources. */ +/* ICU.IPR[218].BIT.IPR = 3; */ +/* */ +/* Usage : #pragma interrupt Function_Identifier(vect=**) */ +/* The number of vector is "(interrupt source, name)". */ +/* #pragma interrupt INT_IRQ0(vect=VECT(ICU,IRQ0)) expands to : */ +/* for example : */ +/* #pragma interrupt INT_CMT0_CMI0(vect=VECT(CMT0,CMI0)) expands to : */ +/* #pragma interrupt INT_MTU0_TGIA0(vect=VECT(MTU0,TGIA0)) expands to : */ +/* */ +/* Usage : MSTPCRA,MSTPCRB,MSTPCRC of SYSTEM Register */ +/* The bit access operation is "MSTP(name)". */ +/* The name that can be used is a macro name defined with "iodefine.h". */ +/* MSTP(MTU4) = 0; // MTU,MTU0,MTU1,MTU2,MTU3,MTU4,MTU5 expands to : */ +/* for example : */ +/* SYSTEM.MSTPCRA.BIT.MSTPA9 = 0; */ +/* */ +/* */ +/********************************************************************************/ +#ifndef __RX111IODEFINE_HEADER__ +#define __RX111IODEFINE_HEADER__ + +#ifdef __RX_LITTLE_ENDIAN__ + +struct st_bsc { + union { + unsigned char BYTE; + struct { + unsigned char STSCLR:1; + unsigned char :7; + } BIT; + } BERCLR; + char wk0[3]; + union { + unsigned char BYTE; + struct { + unsigned char IGAEN:1; + unsigned char :7; + } BIT; + } BEREN; + char wk1[3]; + union { + unsigned char BYTE; + struct { + unsigned char IA:1; + unsigned char :3; + unsigned char MST:3; + unsigned char :1; + } BIT; + } BERSR1; + char wk2[1]; + union { + unsigned short WORD; + struct { + unsigned short ADDR:13; + } BIT; + } BERSR2; + char wk3[4]; + union { + unsigned short WORD; + struct { + unsigned short BPRA:2; + unsigned short BPRO:2; + unsigned short BPIB:2; + unsigned short BPGB:2; + unsigned short :2; + unsigned short BPFB:2; + unsigned short :4; + } BIT; + } BUSPRI; +}; + +struct st_cac { + union { + unsigned char BYTE; + struct { + unsigned char CFME:1; + unsigned char :7; + } BIT; + } CACR0; + union { + unsigned char BYTE; + struct { + unsigned char CACREFE:1; + unsigned char FMCS:3; + unsigned char TCSS:2; + unsigned char EDGES:2; + } BIT; + } CACR1; + union { + unsigned char BYTE; + struct { + unsigned char RPS:1; + unsigned char RSCS:3; + unsigned char RCDS:2; + unsigned char DFS:2; + } BIT; + } CACR2; + union { + unsigned char BYTE; + struct { + unsigned char FERRIE:1; + unsigned char MENDIE:1; + unsigned char OVFIE:1; + unsigned char :1; + unsigned char FERRFCL:1; + unsigned char MENDFCL:1; + unsigned char OVFFCL:1; + unsigned char :1; + } BIT; + } CAICR; + union { + unsigned char BYTE; + struct { + unsigned char FERRF:1; + unsigned char MENDF:1; + unsigned char OVFF:1; + unsigned char :5; + } BIT; + } CASTR; + char wk0[1]; + unsigned short CAULVR; + unsigned short CALLVR; + unsigned short CACNTBR; +}; + +struct st_cmt { + union { + unsigned short WORD; + struct { + unsigned short STR0:1; + unsigned short STR1:1; + unsigned short :14; + } BIT; + } CMSTR0; +}; + +struct st_cmt0 { + union { + unsigned short WORD; + struct { + unsigned short CKS:2; + unsigned short :4; + unsigned short CMIE:1; + unsigned short :9; + } BIT; + } CMCR; + unsigned short CMCNT; + unsigned short CMCOR; +}; + +struct st_crc { + union { + unsigned char BYTE; + struct { + unsigned char GPS:2; + unsigned char LMS:1; + unsigned char :4; + unsigned char DORCLR:1; + } BIT; + } CRCCR; + unsigned char CRCDIR; + unsigned short CRCDOR; +}; + +struct st_da { + unsigned short DADR0; + unsigned short DADR1; + union { + unsigned char BYTE; + struct { + unsigned char DAOE0:1; + unsigned char DAOE1:1; + } BIT; + } DACR; + union { + unsigned char BYTE; + struct { + unsigned char DPSEL:1; + } BIT; + } DADPR; +}; + +struct st_doc { + union { + unsigned char BYTE; + struct { + unsigned char OMS:2; + unsigned char DCSEL:1; + unsigned char :1; + unsigned char DOPCIE:1; + unsigned char DOPCF:1; + unsigned char DOPCFCL:1; + unsigned char :1; + } BIT; + } DOCR; + char wk0[1]; + unsigned short DODIR; + unsigned short DODSR; +}; + +struct st_dtc { + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char RRS:1; + unsigned char :3; + } BIT; + } DTCCR; + char wk0[3]; + void *DTCVBR; + union { + unsigned char BYTE; + struct { + unsigned char SHORT:1; + unsigned char :7; + } BIT; + } DTCADMOD; + char wk1[3]; + union { + unsigned char BYTE; + struct { + unsigned char DTCST:1; + unsigned char :7; + } BIT; + } DTCST; + char wk2[1]; + union { + unsigned short WORD; + struct { + unsigned short VECN:8; + unsigned short :7; + unsigned short ACT:1; + } BIT; + } DTCSTS; +}; + +struct st_elc { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char ELCON:1; + } BIT; + } ELCR; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR[26]; + char wk0[4]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char MTU1MD:2; + unsigned char MTU2MD:2; + unsigned char MTU3MD:2; + } BIT; + } ELOPA; + union { + unsigned char BYTE; + struct { + unsigned char MTU4MD:2; + unsigned char :6; + } BIT; + } ELOPB; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char CMT1MD:2; + unsigned char :4; + } BIT; + } ELOPC; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char PGR0:1; + unsigned char PGR1:1; + unsigned char PGR2:1; + unsigned char PGR3:1; + unsigned char PGR4:1; + unsigned char PGR5:1; + unsigned char PGR6:1; + unsigned char PGR7:1; + } BIT; + } PGR1; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char PGCI:2; + unsigned char PGCOVE:1; + unsigned char :1; + unsigned char PGCO:3; + unsigned char :1; + } BIT; + } PGC1; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char PDBF0:1; + unsigned char PDBF1:1; + unsigned char PDBF2:1; + unsigned char PDBF3:1; + unsigned char PDBF4:1; + unsigned char PDBF5:1; + unsigned char PDBF6:1; + unsigned char PDBF7:1; + } BIT; + } PDBF1; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char PSB:3; + unsigned char PSP:2; + unsigned char PSM:2; + unsigned char :1; + } BIT; + } PEL0; + union { + unsigned char BYTE; + struct { + unsigned char PSB:3; + unsigned char PSP:2; + unsigned char PSM:2; + unsigned char :1; + } BIT; + } PEL1; + char wk5[2]; + union { + unsigned char BYTE; + struct { + unsigned char SEG:1; + unsigned char :5; + unsigned char WE:1; + unsigned char WI:1; + } BIT; + } ELSEGR; +}; + +struct st_flash { + union { + unsigned char BYTE; + struct { + unsigned char DFLEN:1; + unsigned char :7; + } BIT; + } DFLCTL; +}; + +struct st_icu { + union { + unsigned char BYTE; + struct { + unsigned char IR:1; + unsigned char :7; + } BIT; + } IR[250]; + char wk0[6]; + union { + unsigned char BYTE; + struct { + unsigned char DTCE:1; + unsigned char :7; + } BIT; + } DTCER[249]; + char wk1[7]; + union { + unsigned char BYTE; + struct { + unsigned char IEN0:1; + unsigned char IEN1:1; + unsigned char IEN2:1; + unsigned char IEN3:1; + unsigned char IEN4:1; + unsigned char IEN5:1; + unsigned char IEN6:1; + unsigned char IEN7:1; + } BIT; + } IER[32]; + char wk2[192]; + union { + unsigned char BYTE; + struct { + unsigned char SWINT:1; + unsigned char :7; + } BIT; + } SWINTR; + char wk3[15]; + union { + unsigned short WORD; + struct { + unsigned short FVCT:8; + unsigned short :7; + unsigned short FIEN:1; + } BIT; + } FIR; + char wk4[14]; + union { + unsigned char BYTE; + struct { + unsigned char IPR:4; + unsigned char :4; + } BIT; + } IPR[250]; + char wk5[262]; + union { + unsigned char BYTE; + struct { + unsigned short :2; + unsigned char IRQMD:2; + unsigned char :4; + } BIT; + } IRQCR[8]; + char wk6[8]; + union { + unsigned char BYTE; + struct { + unsigned char FLTEN0:1; + unsigned char FLTEN1:1; + unsigned char FLTEN2:1; + unsigned char FLTEN3:1; + unsigned char FLTEN4:1; + unsigned char FLTEN5:1; + unsigned char FLTEN6:1; + unsigned char FLTEN7:1; + } BIT; + } IRQFLTE0; + char wk7[3]; + union { + unsigned short WORD; + struct { + unsigned short FCLKSEL0:2; + unsigned short FCLKSEL1:2; + unsigned short FCLKSEL2:2; + unsigned short FCLKSEL3:2; + unsigned short FCLKSEL4:2; + unsigned short FCLKSEL5:2; + unsigned short FCLKSEL6:2; + unsigned short FCLKSEL7:2; + } BIT; + } IRQFLTC0; + char wk8[106]; + union { + unsigned char BYTE; + struct { + unsigned char NMIST:1; + unsigned char OSTST:1; + unsigned char :1; + unsigned char IWDTST:1; + unsigned char LVD1ST:1; + unsigned char LVD2ST:1; + unsigned char :2; + } BIT; + } NMISR; + union { + unsigned char BYTE; + struct { + unsigned char NMIEN:1; + unsigned char OSTEN:1; + unsigned char :1; + unsigned char IWDTEN:1; + unsigned char LVD1EN:1; + unsigned char LVD2EN:1; + unsigned char :2; + } BIT; + } NMIER; + union { + unsigned char BYTE; + struct { + unsigned char NMICLR:1; + unsigned char OSTCLR:1; + unsigned char :1; + unsigned char IWDTCLR:1; + unsigned char LVD1CLR:1; + unsigned char LVD2CLR:1; + unsigned char :2; + } BIT; + } NMICLR; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char NMIMD:1; + unsigned char :4; + } BIT; + } NMICR; + char wk9[12]; + union { + unsigned char BYTE; + struct { + unsigned char NFLTEN:1; + unsigned char :7; + } BIT; + } NMIFLTE; + char wk10[3]; + union { + unsigned char BYTE; + struct { + unsigned char NFCLKSEL:2; + unsigned char :6; + } BIT; + } NMIFLTC; +}; + +struct st_iwdt { + unsigned char IWDTRR; + char wk0[1]; + union { + unsigned short WORD; + struct { + unsigned short TOPS:2; + unsigned short :2; + unsigned short CKS:4; + unsigned short RPES:2; + unsigned short :2; + unsigned short RPSS:2; + unsigned short :2; + } BIT; + } IWDTCR; + union { + unsigned short WORD; + struct { + unsigned short CNTVAL:14; + unsigned short UNDFF:1; + unsigned short REFEF:1; + } BIT; + } IWDTSR; + union { + unsigned char BYTE; + struct { + unsigned short :7; + unsigned char RSTIRQS:1; + } BIT; + } IWDTRCR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned short :7; + unsigned char SLCSTP:1; + } BIT; + } IWDTCSTPR; +}; + +struct st_mpc { + union { + unsigned char BYTE; + struct { + unsigned short :6; + unsigned char PFSWE:1; + unsigned char B0WI:1; + } BIT; + } PWPR; + char wk0[35]; + union { + unsigned char BYTE; + struct { + unsigned short :7; + unsigned char ASEL:1; + } BIT; + } P03PFS; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned short :7; + unsigned char ASEL:1; + } BIT; + } P05PFS; + char wk2[6]; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + } BIT; + } P14PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + } BIT; + } P15PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + } BIT; + } P16PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + } BIT; + } P17PFS; + char wk3[6]; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :3; + } BIT; + } P26PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char ASEL:1; + } BIT; + } P27PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + } BIT; + } P30PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + } BIT; + } P31PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + } BIT; + } P32PFS; + char wk4[2]; + union { + unsigned char BYTE; + struct { + unsigned short :6; + unsigned char ISEL:1; + unsigned char :1; + } BIT; + } P35PFS; + char wk5[2]; + union { + unsigned char BYTE; + struct { + unsigned short :7; + unsigned char ASEL:1; + } BIT; + } P40PFS; + union { + unsigned char BYTE; + struct { + unsigned short :7; + unsigned char ASEL:1; + } BIT; + } P41PFS; + union { + unsigned char BYTE; + struct { + unsigned short :7; + unsigned char ASEL:1; + } BIT; + } P42PFS; + union { + unsigned char BYTE; + struct { + unsigned short :7; + unsigned char ASEL:1; + } BIT; + } P43PFS; + union { + unsigned char BYTE; + struct { + unsigned short :7; + unsigned char ASEL:1; + } BIT; + } P44PFS; + char wk6[1]; + union { + unsigned char BYTE; + struct { + unsigned short :7; + unsigned char ASEL:1; + } BIT; + } P46PFS; + char wk7[5]; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :3; + } BIT; + } P54PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :3; + } BIT; + } P55PFS; + char wk8[34]; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :3; + } BIT; + } PA0PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :3; + } BIT; + } PA1PFS; + char wk9[1]; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + } BIT; + } PA3PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + } BIT; + } PA4PFS; + char wk10[1]; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + } BIT; + } PA6PFS; + char wk11[1]; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + } BIT; + } PB0PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + } BIT; + } PB1PFS; + char wk12[1]; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :3; + } BIT; + } PB3PFS; + char wk13[1]; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :3; + } BIT; + } PB5PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :3; + } BIT; + } PB6PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :3; + } BIT; + } PB7PFS; + char wk14[2]; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :3; + } BIT; + } PC2PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :3; + } BIT; + } PC3PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + } BIT; + } PC4PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :3; + } BIT; + } PC5PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :3; + } BIT; + } PC6PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :3; + } BIT; + } PC7PFS; + char wk15[8]; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char ASEL:1; + } BIT; + } PE0PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char ASEL:1; + } BIT; + } PE1PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char ASEL:1; + } BIT; + } PE2PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char ASEL:1; + } BIT; + } PE3PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char ASEL:1; + } BIT; + } PE4PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char ASEL:1; + } BIT; + } PE5PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char ASEL:1; + } BIT; + } PE6PFS; + union { + unsigned char BYTE; + struct { + unsigned char PSEL:5; + unsigned char :1; + unsigned char ISEL:1; + unsigned char ASEL:1; + } BIT; + } PE7PFS; + char wk16[30]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } PJ6PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } PJ7PFS; +}; + +struct st_mtu { + union { + unsigned char BYTE; + struct { + unsigned char OE3B:1; + unsigned char OE4A:1; + unsigned char OE4B:1; + unsigned char OE3D:1; + unsigned char OE4C:1; + unsigned char OE4D:1; + unsigned char :2; + } BIT; + } TOER; + char wk0[2]; + union { + unsigned char BYTE; + struct { + unsigned char UF:1; + unsigned char VF:1; + unsigned char WF:1; + unsigned char FB:1; + unsigned char P:1; + unsigned char N:1; + unsigned char BDC:1; + unsigned char :1; + } BIT; + } TGCR; + union { + unsigned char BYTE; + struct { + unsigned char OLSP:1; + unsigned char OLSN:1; + unsigned char TOCS:1; + unsigned char TOCL:1; + unsigned char :2; + unsigned char PSYE:1; + unsigned char :1; + } BIT; + } TOCR1; + union { + unsigned char BYTE; + struct { + unsigned char OLS1P:1; + unsigned char OLS1N:1; + unsigned char OLS2P:1; + unsigned char OLS2N:1; + unsigned char OLS3P:1; + unsigned char OLS3N:1; + unsigned char BF:2; + } BIT; + } TOCR2; + char wk1[4]; + unsigned short TCDR; + unsigned short TDDR; + char wk2[8]; + unsigned short TCNTS; + unsigned short TCBR; + char wk3[12]; + union { + unsigned char BYTE; + struct { + unsigned char T4VCOR:3; + unsigned char T4VEN:1; + unsigned char T3ACOR:3; + unsigned char T3AEN:1; + } BIT; + } TITCR; + union { + unsigned char BYTE; + struct { + unsigned char T4VCNT:3; + unsigned char :1; + unsigned char T3ACNT:3; + unsigned char :1; + } BIT; + } TITCNT; + union { + unsigned char BYTE; + struct { + unsigned char BTE:2; + unsigned char :6; + } BIT; + } TBTER; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char TDER:1; + unsigned char :7; + } BIT; + } TDER; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char OLS1P:1; + unsigned char OLS1N:1; + unsigned char OLS2P:1; + unsigned char OLS2N:1; + unsigned char OLS3P:1; + unsigned char OLS3N:1; + unsigned char :2; + } BIT; + } TOLBR; + char wk6[41]; + union { + unsigned char BYTE; + struct { + unsigned char WRE:1; + unsigned char :6; + unsigned char CCE:1; + } BIT; + } TWCR; + char wk7[31]; + union { + unsigned char BYTE; + struct { + unsigned char CST0:1; + unsigned char CST1:1; + unsigned char CST2:1; + unsigned char :3; + unsigned char CST3:1; + unsigned char CST4:1; + } BIT; + } TSTR; + union { + unsigned char BYTE; + struct { + unsigned char SYNC0:1; + unsigned char SYNC1:1; + unsigned char SYNC2:1; + unsigned char :3; + unsigned char SYNC3:1; + unsigned char SYNC4:1; + } BIT; + } TSYR; + char wk8[2]; + union { + unsigned char BYTE; + struct { + unsigned char RWE:1; + unsigned char :7; + } BIT; + } TRWER; +}; + +struct st_mtu0 { + union { + unsigned char BYTE; + struct { + unsigned char NFAEN:1; + unsigned char NFBEN:1; + unsigned char NFCEN:1; + unsigned char NFDEN:1; + unsigned char NFCS:2; + unsigned char :2; + } BIT; + } NFCR; + char wk0[111]; + union { + unsigned char BYTE; + struct { + unsigned char TPSC:3; + unsigned char CKEG:2; + unsigned char CCLR:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char MD:4; + unsigned char BFA:1; + unsigned char BFB:1; + unsigned char BFE:1; + unsigned char :1; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOA:4; + unsigned char IOB:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOC:4; + unsigned char IOD:4; + } BIT; + } TIORL; + union { + unsigned char BYTE; + struct { + unsigned char TGIEA:1; + unsigned char TGIEB:1; + unsigned char TGIEC:1; + unsigned char TGIED:1; + unsigned char TCIEV:1; + unsigned char :2; + unsigned char TTGE:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; + unsigned short TGRC; + unsigned short TGRD; + char wk1[16]; + unsigned short TGRE; + unsigned short TGRF; + union { + unsigned char BYTE; + struct { + unsigned char TGIEE:1; + unsigned char TGIEF:1; + unsigned char :6; + } BIT; + } TIER2; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTSA:1; + unsigned char TTSB:1; + unsigned char TTSE:1; + unsigned char :5; + } BIT; + } TBTM; +}; + +struct st_mtu1 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char NFAEN:1; + unsigned char NFBEN:1; + unsigned char NFCEN:1; + unsigned char NFDEN:1; + unsigned char NFCS:2; + unsigned char :2; + } BIT; + } NFCR; + char wk1[238]; + union { + unsigned char BYTE; + struct { + unsigned char TPSC:3; + unsigned char CKEG:2; + unsigned char CCLR:2; + unsigned char :1; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char MD:4; + unsigned char :4; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOA:4; + unsigned char IOB:4; + } BIT; + } TIOR; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char TGIEA:1; + unsigned char TGIEB:1; + unsigned char :2; + unsigned char TCIEV:1; + unsigned char TCIEU:1; + unsigned char :1; + unsigned char TTGE:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; + char wk3[4]; + union { + unsigned char BYTE; + struct { + unsigned char I1AE:1; + unsigned char I1BE:1; + unsigned char I2AE:1; + unsigned char I2BE:1; + unsigned char :4; + } BIT; + } TICCR; +}; + +struct st_mtu2 { + union { + unsigned char BYTE; + struct { + unsigned char NFAEN:1; + unsigned char NFBEN:1; + unsigned char NFCEN:1; + unsigned char NFDEN:1; + unsigned char NFCS:2; + unsigned char :2; + } BIT; + } NFCR; + char wk0[365]; + union { + unsigned char BYTE; + struct { + unsigned char TPSC:3; + unsigned char CKEG:2; + unsigned char CCLR:2; + unsigned char :1; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char MD:4; + unsigned char :4; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOA:4; + unsigned char IOB:4; + } BIT; + } TIOR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char TGIEA:1; + unsigned char TGIEB:1; + unsigned char :2; + unsigned char TCIEV:1; + unsigned char TCIEU:1; + unsigned char :1; + unsigned char TTGE:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; +}; + +struct st_mtu3 { + union { + unsigned char BYTE; + struct { + unsigned char TPSC:3; + unsigned char CKEG:2; + unsigned char CCLR:3; + } BIT; + } TCR; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char MD:4; + unsigned char BFA:1; + unsigned char BFB:1; + unsigned char :2; + } BIT; + } TMDR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char IOA:4; + unsigned char IOB:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOC:4; + unsigned char IOD:4; + } BIT; + } TIORL; + char wk2[2]; + union { + unsigned char BYTE; + struct { + unsigned char TGIEA:1; + unsigned char TGIEB:1; + unsigned char TGIEC:1; + unsigned char TGIED:1; + unsigned char TCIEV:1; + unsigned char :2; + unsigned char TTGE:1; + } BIT; + } TIER; + char wk3[7]; + unsigned short TCNT; + char wk4[6]; + unsigned short TGRA; + unsigned short TGRB; + char wk5[8]; + unsigned short TGRC; + unsigned short TGRD; + char wk6[4]; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + char wk7[11]; + union { + unsigned char BYTE; + struct { + unsigned char TTSA:1; + unsigned char TTSB:1; + unsigned char TTSE:1; + unsigned char :5; + } BIT; + } TBTM; + char wk8[90]; + union { + unsigned char BYTE; + struct { + unsigned char NFAEN:1; + unsigned char NFBEN:1; + unsigned char NFCEN:1; + unsigned char NFDEN:1; + unsigned char NFCS:2; + unsigned char :2; + } BIT; + } NFCR; +}; + +struct st_mtu4 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char TPSC:3; + unsigned char CKEG:2; + unsigned char CCLR:3; + } BIT; + } TCR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char MD:4; + unsigned char BFA:1; + unsigned char BFB:1; + unsigned char :2; + } BIT; + } TMDR; + char wk2[2]; + union { + unsigned char BYTE; + struct { + unsigned char IOA:4; + unsigned char IOB:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOC:4; + unsigned char IOD:4; + } BIT; + } TIORL; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char TGIEA:1; + unsigned char TGIEB:1; + unsigned char TGIEC:1; + unsigned char TGIED:1; + unsigned char TCIEV:1; + unsigned char :1; + unsigned char TTGE2:1; + unsigned char TTGE:1; + } BIT; + } TIER; + char wk4[8]; + unsigned short TCNT; + char wk5[8]; + unsigned short TGRA; + unsigned short TGRB; + char wk6[8]; + unsigned short TGRC; + unsigned short TGRD; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + char wk8[11]; + union { + unsigned char BYTE; + struct { + unsigned char TTSA:1; + unsigned char TTSB:1; + unsigned char TTSE:1; + unsigned char :5; + } BIT; + } TBTM; + char wk9[6]; + union { + unsigned short WORD; + struct { + unsigned short ITB4VE:1; + unsigned short ITB3AE:1; + unsigned short ITA4VE:1; + unsigned short ITA3AE:1; + unsigned short DT4BE:1; + unsigned short UT4BE:1; + unsigned short DT4AE:1; + unsigned short UT4AE:1; + unsigned short :6; + unsigned short BF:2; + } BIT; + } TADCR; + char wk10[2]; + unsigned short TADCORA; + unsigned short TADCORB; + unsigned short TADCOBRA; + unsigned short TADCOBRB; + char wk11[72]; + union { + unsigned char BYTE; + struct { + unsigned char NFAEN:1; + unsigned char NFBEN:1; + unsigned char NFCEN:1; + unsigned char NFDEN:1; + unsigned char NFCS:2; + unsigned char :2; + } BIT; + } NFCR; +}; + +struct st_mtu5 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char NFUEN:1; + unsigned char NFVEN:1; + unsigned char NFWEN:1; + unsigned char :1; + unsigned char NFCS:2; + unsigned char :2; + } BIT; + } NFCR; + char wk1[490]; + unsigned short TCNTU; + unsigned short TGRU; + union { + unsigned char BYTE; + struct { + unsigned char TPSC:2; + unsigned char :6; + } BIT; + } TCRU; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char IOC:5; + unsigned char :3; + } BIT; + } TIORU; + char wk3[9]; + unsigned short TCNTV; + unsigned short TGRV; + union { + unsigned char BYTE; + struct { + unsigned char TPSC:2; + unsigned char :6; + } BIT; + } TCRV; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char IOC:5; + unsigned char :3; + } BIT; + } TIORV; + char wk5[9]; + unsigned short TCNTW; + unsigned short TGRW; + union { + unsigned char BYTE; + struct { + unsigned char TPSC:2; + unsigned char :6; + } BIT; + } TCRW; + char wk6[1]; + union { + unsigned char BYTE; + struct { + unsigned char IOC:5; + unsigned char :3; + } BIT; + } TIORW; + char wk7[11]; + union { + unsigned char BYTE; + struct { + unsigned char TGIE5W:1; + unsigned char TGIE5V:1; + unsigned char TGIE5U:1; + unsigned char :5; + } BIT; + } TIER; + char wk8[1]; + union { + unsigned char BYTE; + struct { + unsigned char CSTW5:1; + unsigned char CSTV5:1; + unsigned char CSTU5:1; + unsigned char :5; + } BIT; + } TSTR; + char wk9[1]; + union { + unsigned char BYTE; + struct { + unsigned char CMPCLR5W:1; + unsigned char CMPCLR5V:1; + unsigned char CMPCLR5U:1; + unsigned char :5; + } BIT; + } TCNTCMPCLR; +}; + +struct st_poe { + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char POE0M:2; + unsigned char POE1M:2; + unsigned char POE2M:2; + unsigned char POE3M:2; + unsigned char PIE1:1; + unsigned char :3; + unsigned char POE0F:1; + unsigned char POE1F:1; + unsigned char POE2F:1; + unsigned char POE3F:1; + } BIT; + } ICSR1; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char OIE1:1; + unsigned char OCE1:1; + unsigned char :5; + unsigned char OSF1:1; + } BIT; + } OCSR1; + char wk0[4]; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char POE8M:2; + unsigned char :6; + unsigned char PIE2:1; + unsigned char POE8E:1; + unsigned char :2; + unsigned char POE8F:1; + unsigned char :3; + } BIT; + } ICSR2; + union { + unsigned char BYTE; + struct { + unsigned char CH34HIZ:1; + unsigned char CH0HIZ:1; + unsigned char :6; + } BIT; + } SPOER; + union { + unsigned char BYTE; + struct { + unsigned char PE0ZE:1; + unsigned char PE1ZE:1; + unsigned char PE2ZE:1; + unsigned char PE3ZE:1; + unsigned char :4; + } BIT; + } POECR1; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char P3CZEA:1; + unsigned char P2CZEA:1; + unsigned char P1CZEA:1; + unsigned char :1; + } BIT; + } POECR2; + char wk1[1]; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :1; + unsigned char OSTSTE:1; + unsigned char :2; + unsigned char OSTSTF:1; + unsigned char :3; + } BIT; + } ICSR3; +}; + +struct st_port { + union { + unsigned char BYTE; + struct { + unsigned char PSEL0:1; + unsigned char PSEL1:1; + unsigned char :1; + unsigned char PSEL3:1; + unsigned char :1; + unsigned char PSEL5:1; + unsigned char :2; + } BIT; + } PSRB; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char PSEL6:1; + unsigned char PSEL7:1; + } BIT; + } PSRA; +}; + +struct st_port0 { + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char B3:1; + unsigned char :1; + unsigned char B5:1; + unsigned char :2; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char B3:1; + unsigned char :1; + unsigned char B5:1; + unsigned char :2; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char B3:1; + unsigned char :1; + unsigned char B5:1; + unsigned char :2; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char B3:1; + unsigned char :1; + unsigned char B5:1; + unsigned char :2; + } BIT; + } PMR; + char wk3[95]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char B3:1; + unsigned char :1; + unsigned char B5:1; + unsigned char :2; + } BIT; + } PCR; +}; + +struct st_port1 { + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char B4:1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char B4:1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char B4:1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char B4:1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PMR; + char wk3[33]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + } BIT; + } ODR1; + char wk4[61]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char B4:1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PCR; +}; + +struct st_port2 { + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PMR; + char wk3[34]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char B4:1; + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + } BIT; + } ODR1; + char wk4[60]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PCR; +}; + +struct st_port3 { + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char B2:1; + unsigned char :5; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char B2:1; + unsigned char :5; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char B2:1; + unsigned char :2; + unsigned char B5:1; + unsigned char :2; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char B2:1; + unsigned char :5; + } BIT; + } PMR; + char wk3[34]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :3; + } BIT; + } ODR0; + char wk4[60]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char B2:1; + unsigned char :5; + } BIT; + } PCR; +}; + +struct st_port4 { + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char B2:1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char B2:1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char B2:1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char B2:1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + } BIT; + } PMR; +}; + +struct st_port5 { + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char B4:1; + unsigned char B5:1; + unsigned char :2; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char B4:1; + unsigned char B5:1; + unsigned char :2; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char B4:1; + unsigned char B5:1; + unsigned char :2; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char B4:1; + unsigned char B5:1; + unsigned char :2; + } BIT; + } PMR; + char wk3[95]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char B4:1; + unsigned char B5:1; + unsigned char :2; + } BIT; + } PCR; +}; + +struct st_porta { + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char :1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char :1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char :1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char :1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + } BIT; + } PMR; + char wk3[41]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :3; + unsigned char B6:1; + unsigned char :1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char :3; + unsigned char B4:1; + unsigned char :3; + } BIT; + } ODR1; + char wk4[52]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char :1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + } BIT; + } PCR; +}; + +struct st_portb { + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PMR; + char wk3[42]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :3; + unsigned char B6:1; + unsigned char :1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B2:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + } BIT; + } ODR1; + char wk4[51]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char :1; + } BIT; + } PCR; +}; + +struct st_portc { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B2:1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B2:1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B2:1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B2:1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PMR; + char wk3[43]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char B4:1; + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + } BIT; + } ODR1; + char wk4[50]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B2:1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PCR; +}; + +struct st_porte { + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char B2:1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char B2:1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char B2:1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char B2:1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PMR; + char wk3[45]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + } BIT; + } ODR1; + char wk4[48]; + union { + unsigned char BYTE; + struct { + unsigned char B0:1; + unsigned char B1:1; + unsigned char B2:1; + unsigned char B3:1; + unsigned char B4:1; + unsigned char B5:1; + unsigned char B6:1; + unsigned char B7:1; + } BIT; + } PCR; +}; + +struct st_riic { + union { + unsigned char BYTE; + struct { + unsigned char SDAI:1; + unsigned char SCLI:1; + unsigned char SDAO:1; + unsigned char SCLO:1; + unsigned char SOWP:1; + unsigned char CLO:1; + unsigned char IICRST:1; + unsigned char ICE:1; + } BIT; + } ICCR1; + union { + unsigned char BYTE; + struct { + unsigned char ST:1; + unsigned char RS:1; + unsigned char SP:1; + unsigned char :1; + unsigned char TRS:1; + unsigned char MST:1; + unsigned char BBSY:1; + } BIT; + } ICCR2; + union { + unsigned char BYTE; + struct { + unsigned char BC:3; + unsigned char BCWP:1; + unsigned char CKS:3; + unsigned char MTWP:1; + } BIT; + } ICMR1; + union { + unsigned char BYTE; + struct { + unsigned char TMOS:1; + unsigned char TMOL:1; + unsigned char TMOH:1; + unsigned char TMWE:1; + unsigned char SDDL:3; + unsigned char DLCS:1; + } BIT; + } ICMR2; + union { + unsigned char BYTE; + struct { + unsigned char NF:2; + unsigned char ACKBR:1; + unsigned char ACKBT:1; + unsigned char ACKWP:1; + unsigned char RDRFS:1; + unsigned char WAIT:1; + unsigned char SMBS:1; + } BIT; + } ICMR3; + union { + unsigned char BYTE; + struct { + unsigned char TMOE:1; + unsigned char MALE:1; + unsigned char NALE:1; + unsigned char SALE:1; + unsigned char NACKE:1; + unsigned char NFE:1; + unsigned char SCLE:1; + unsigned char :1; + } BIT; + } ICFER; + union { + unsigned char BYTE; + struct { + unsigned char SAR0E:1; + unsigned char SAR1E:1; + unsigned char SAR2E:1; + unsigned char GCAE:1; + unsigned char :1; + unsigned char DIDE:1; + unsigned char :1; + unsigned char HOAE:1; + } BIT; + } ICSER; + union { + unsigned char BYTE; + struct { + unsigned char TMOIE:1; + unsigned char ALIE:1; + unsigned char STIE:1; + unsigned char SPIE:1; + unsigned char NAKIE:1; + unsigned char RIE:1; + unsigned char TEIE:1; + unsigned char TIE:1; + } BIT; + } ICIER; + union { + unsigned char BYTE; + struct { + unsigned char AAS0:1; + unsigned char AAS1:1; + unsigned char AAS2:1; + unsigned char GCA:1; + unsigned char :1; + unsigned char DID:1; + unsigned char :1; + unsigned char HOA:1; + } BIT; + } ICSR1; + union { + unsigned char BYTE; + struct { + unsigned char TMOF:1; + unsigned char AL:1; + unsigned char START:1; + unsigned char STOP:1; + unsigned char NACKF:1; + unsigned char RDRF:1; + unsigned char TEND:1; + unsigned char TDRE:1; + } BIT; + } ICSR2; + union { + union { + unsigned char BYTE; + struct { + unsigned char SVA0:1; + unsigned char SVA:7; + } BIT; + } SARL0; + union { + unsigned char BYTE; + } TMOCNTL; + }; + union { + union { + unsigned char BYTE; + struct { + unsigned char FS:1; + unsigned char SVA:2; + unsigned char :5; + } BIT; + } SARU0; + union { + unsigned char BYTE; + } TMOCNTH; + }; + union { + unsigned char BYTE; + struct { + unsigned char SVA0:1; + unsigned char SVA:7; + } BIT; + } SARL1; + union { + unsigned char BYTE; + struct { + unsigned char FS:1; + unsigned char SVA:2; + unsigned char :5; + } BIT; + } SARU1; + union { + unsigned char BYTE; + struct { + unsigned char SVA0:1; + unsigned char SVA:7; + } BIT; + } SARL2; + union { + unsigned char BYTE; + struct { + unsigned char FS:1; + unsigned char SVA:2; + unsigned char :5; + } BIT; + } SARU2; + union { + unsigned char BYTE; + struct { + unsigned char BRL:5; + unsigned char :3; + } BIT; + } ICBRL; + union { + unsigned char BYTE; + struct { + unsigned char BRH:5; + unsigned char :3; + } BIT; + } ICBRH; + unsigned char ICDRT; + unsigned char ICDRR; +}; + +struct st_rspi { + union { + unsigned char BYTE; + struct { + unsigned char SPMS:1; + unsigned char TXMD:1; + unsigned char MODFEN:1; + unsigned char MSTR:1; + unsigned char SPEIE:1; + unsigned char SPTIE:1; + unsigned char SPE:1; + unsigned char SPRIE:1; + } BIT; + } SPCR; + union { + unsigned char BYTE; + struct { + unsigned char SSL0P:1; + unsigned char SSL1P:1; + unsigned char SSL2P:1; + unsigned char SSL3P:1; + unsigned char :4; + } BIT; + } SSLP; + union { + unsigned char BYTE; + struct { + unsigned char SPLP:1; + unsigned char SPLP2:1; + unsigned char :2; + unsigned char MOIFV:1; + unsigned char MOIFE:1; + unsigned char :2; + } BIT; + } SPPCR; + union { + unsigned char BYTE; + struct { + unsigned char OVRF:1; + unsigned char IDLNF:1; + unsigned char MODF:1; + unsigned char PERF:1; + unsigned char :4; + } BIT; + } SPSR; + union { + unsigned long LONG; + struct { + unsigned short H; + } WORD; + } SPDR; + union { + unsigned char BYTE; + struct { + unsigned char SPSLN:3; + unsigned char :5; + } BIT; + } SPSCR; + union { + unsigned char BYTE; + struct { + unsigned char SPCP:3; + unsigned char :1; + unsigned char SPECM:3; + unsigned char :1; + } BIT; + } SPSSR; + unsigned char SPBR; + union { + unsigned char BYTE; + struct { + unsigned char SPFC:2; + unsigned char :2; + unsigned char SPRDTD:1; + unsigned char SPLW:1; + unsigned char :2; + } BIT; + } SPDCR; + union { + unsigned char BYTE; + struct { + unsigned char SCKDL:3; + unsigned char :5; + } BIT; + } SPCKD; + union { + unsigned char BYTE; + struct { + unsigned char SLNDL:3; + unsigned char :5; + } BIT; + } SSLND; + union { + unsigned char BYTE; + struct { + unsigned char SPNDL:3; + unsigned char :5; + } BIT; + } SPND; + union { + unsigned char BYTE; + struct { + unsigned char SPPE:1; + unsigned char SPOE:1; + unsigned char SPIIE:1; + unsigned char PTE:1; + unsigned char :4; + } BIT; + } SPCR2; + union { + unsigned short WORD; + struct { + unsigned short CPHA:1; + unsigned short CPOL:1; + unsigned short BRDV:2; + unsigned short SSLA:3; + unsigned short SSLKP:1; + unsigned short SPB:4; + unsigned short LSBF:1; + unsigned short SPNDEN:1; + unsigned short SLNDEN:1; + unsigned short SCKDEN:1; + } BIT; + } SPCMD0; + union { + unsigned short WORD; + struct { + unsigned short CPHA:1; + unsigned short CPOL:1; + unsigned short BRDV:2; + unsigned short SSLA:3; + unsigned short SSLKP:1; + unsigned short SPB:4; + unsigned short LSBF:1; + unsigned short SPNDEN:1; + unsigned short SLNDEN:1; + unsigned short SCKDEN:1; + } BIT; + } SPCMD1; + union { + unsigned short WORD; + struct { + unsigned short CPHA:1; + unsigned short CPOL:1; + unsigned short BRDV:2; + unsigned short SSLA:3; + unsigned short SSLKP:1; + unsigned short SPB:4; + unsigned short LSBF:1; + unsigned short SPNDEN:1; + unsigned short SLNDEN:1; + unsigned short SCKDEN:1; + } BIT; + } SPCMD2; + union { + unsigned short WORD; + struct { + unsigned short CPHA:1; + unsigned short CPOL:1; + unsigned short BRDV:2; + unsigned short SSLA:3; + unsigned short SSLKP:1; + unsigned short SPB:4; + unsigned short LSBF:1; + unsigned short SPNDEN:1; + unsigned short SLNDEN:1; + unsigned short SCKDEN:1; + } BIT; + } SPCMD3; + union { + unsigned short WORD; + struct { + unsigned short CPHA:1; + unsigned short CPOL:1; + unsigned short BRDV:2; + unsigned short SSLA:3; + unsigned short SSLKP:1; + unsigned short SPB:4; + unsigned short LSBF:1; + unsigned short SPNDEN:1; + unsigned short SLNDEN:1; + unsigned short SCKDEN:1; + } BIT; + } SPCMD4; + union { + unsigned short WORD; + struct { + unsigned short CPHA:1; + unsigned short CPOL:1; + unsigned short BRDV:2; + unsigned short SSLA:3; + unsigned short SSLKP:1; + unsigned short SPB:4; + unsigned short LSBF:1; + unsigned short SPNDEN:1; + unsigned short SLNDEN:1; + unsigned short SCKDEN:1; + } BIT; + } SPCMD5; + union { + unsigned short WORD; + struct { + unsigned short CPHA:1; + unsigned short CPOL:1; + unsigned short BRDV:2; + unsigned short SSLA:3; + unsigned short SSLKP:1; + unsigned short SPB:4; + unsigned short LSBF:1; + unsigned short SPNDEN:1; + unsigned short SLNDEN:1; + unsigned short SCKDEN:1; + } BIT; + } SPCMD6; + union { + unsigned short WORD; + struct { + unsigned short CPHA:1; + unsigned short CPOL:1; + unsigned short BRDV:2; + unsigned short SSLA:3; + unsigned short SSLKP:1; + unsigned short SPB:4; + unsigned short LSBF:1; + unsigned short SPNDEN:1; + unsigned short SLNDEN:1; + unsigned short SCKDEN:1; + } BIT; + } SPCMD7; +}; + +struct st_rtc { + union { + unsigned char BYTE; + struct { + unsigned char F64HZ:1; + unsigned char F32HZ:1; + unsigned char F16HZ:1; + unsigned char F8HZ:1; + unsigned char F4HZ:1; + unsigned char F2HZ:1; + unsigned char F1HZ:1; + unsigned char :1; + } BIT; + } R64CNT; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char SEC1:4; + unsigned char SEC10:3; + unsigned char :1; + } BIT; + } RSECCNT; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char MIN1:4; + unsigned char MIN10:3; + unsigned char :1; + } BIT; + } RMINCNT; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char HR1:4; + unsigned char HR10:2; + unsigned char PM:1; + unsigned char :1; + } BIT; + } RHRCNT; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char DAYW:3; + unsigned char :5; + } BIT; + } RWKCNT; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char DATE1:4; + unsigned char DATE10:2; + unsigned char :2; + } BIT; + } RDAYCNT; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char MON1:4; + unsigned char MON10:1; + unsigned char :3; + } BIT; + } RMONCNT; + char wk6[1]; + union { + unsigned short WORD; + struct { + unsigned short YR1:4; + unsigned short YR10:4; + unsigned short :8; + } BIT; + } RYRCNT; + union { + unsigned char BYTE; + struct { + unsigned char SEC1:4; + unsigned char SEC10:3; + unsigned char ENB:1; + } BIT; + } RSECAR; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char MIN1:4; + unsigned char MIN10:3; + unsigned char ENB:1; + } BIT; + } RMINAR; + char wk8[1]; + union { + unsigned char BYTE; + struct { + unsigned char HR1:4; + unsigned char HR10:2; + unsigned char PM:1; + unsigned char ENB:1; + } BIT; + } RHRAR; + char wk9[1]; + union { + unsigned char BYTE; + struct { + unsigned char DAYW:3; + unsigned char :4; + unsigned char ENB:1; + } BIT; + } RWKAR; + char wk10[1]; + union { + unsigned char BYTE; + struct { + unsigned char DATE1:4; + unsigned char DATE10:2; + unsigned char :1; + unsigned char ENB:1; + } BIT; + } RDAYAR; + char wk11[1]; + union { + unsigned char BYTE; + struct { + unsigned char MON1:4; + unsigned char MON10:1; + unsigned char :2; + unsigned char ENB:1; + } BIT; + } RMONAR; + char wk12[1]; + union { + unsigned short WORD; + struct { + unsigned short YR1:4; + unsigned short YR10:4; + unsigned short :8; + } BIT; + } RYRAR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char ENB:1; + } BIT; + } RYRAREN; + char wk13[3]; + union { + unsigned char BYTE; + struct { + unsigned char AIE:1; + unsigned char CIE:1; + unsigned char PIE:1; + unsigned char RTCOS:1; + unsigned char PES:4; + } BIT; + } RCR1; + char wk14[1]; + union { + unsigned char BYTE; + struct { + unsigned char START:1; + unsigned char RESET:1; + unsigned char ADJ30:1; + unsigned char RTCOE:1; + unsigned char AADJE:1; + unsigned char AADJP:1; + unsigned char HR24:1; + unsigned char CNTMD:1; + } BIT; + } RCR2; + char wk15[1]; + union { + unsigned char BYTE; + struct { + unsigned char RTCEN:1; + unsigned char RTCDV:2; + unsigned char :5; + } BIT; + } RCR3; + char wk16[7]; + union { + unsigned char BYTE; + struct { + unsigned char ADJ:6; + unsigned char PMADJ:2; + } BIT; + } RADJ; +}; + +struct st_rtcb { + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT0; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT1; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT2; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT3; + char wk3[7]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT0AR; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT1AR; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT2AR; + char wk6[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT3AR; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:8; + } BIT; + } BCNT0AER; + char wk8[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:8; + } BIT; + } BCNT1AER; + char wk9[1]; + union { + unsigned short WORD; + struct { + unsigned short ENB:8; + unsigned short :8; + } BIT; + } BCNT2AER; + union { + unsigned char BYTE; + struct { + unsigned char ENB:8; + } BIT; + } BCNT3AER; +}; + +struct st_s12ad { + union { + unsigned short WORD; + struct { + unsigned short DBLANS:5; + unsigned short :1; + unsigned short GBADIE:1; + unsigned short DBLE:1; + unsigned short EXTRG:1; + unsigned short TRGE:1; + unsigned short ADHSC:1; + unsigned short :1; + unsigned short ADIE:1; + unsigned short ADCS:2; + unsigned short ADST:1; + } BIT; + } ADCSR; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned short ANSA0:1; + unsigned short ANSA1:1; + unsigned short ANSA2:1; + unsigned short ANSA3:1; + unsigned short ANSA4:1; + unsigned short :1; + unsigned short ANSA6:1; + unsigned short :1; + unsigned short ANSA8:1; + unsigned short ANSA9:1; + unsigned short ANSA10:1; + unsigned short ANSA11:1; + unsigned short ANSA12:1; + unsigned short ANSA13:1; + unsigned short ANSA14:1; + unsigned short ANSA15:1; + } BIT; + } ADANSA; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned short ADS0:1; + unsigned short ADS1:1; + unsigned short ADS2:1; + unsigned short ADS3:1; + unsigned short ADS4:1; + unsigned short :1; + unsigned short ADS6:1; + unsigned short :1; + unsigned short ADS8:1; + unsigned short ADS9:1; + unsigned short ADS10:1; + unsigned short ADS11:1; + unsigned short ADS12:1; + unsigned short ADS13:1; + unsigned short ADS14:1; + unsigned short ADS15:1; + } BIT; + } ADADS; + char wk2[2]; + union { + unsigned char BYTE; + struct { + unsigned char ADC:2; + unsigned char :6; + } BIT; + } ADADC; + char wk3[1]; + union { + unsigned short WORD; + struct { + unsigned short ACE:1; + unsigned short :9; + unsigned short ADRFMT:1; + } BIT; + } ADCER; + union { + unsigned short WORD; + struct { + unsigned short TRSB:4; + unsigned short :4; + unsigned short TRSA:4; + unsigned short :4; + } BIT; + } ADSTRGR; + union { + unsigned short WORD; + struct { + unsigned short :1; + unsigned short OCSAD:1; + unsigned short :6; + unsigned short TSS:1; + unsigned short OCS:1; + unsigned short :6; + } BIT; + } ADEXICR; + union { + unsigned short WORD; + struct { + unsigned short ANSB0:1; + unsigned short ANSB1:1; + unsigned short ANSB2:1; + unsigned short ANSB3:1; + unsigned short ANSB4:1; + unsigned short :1; + unsigned short ANSB6:1; + unsigned short :1; + unsigned short ANSB8:1; + unsigned short ANSB9:1; + unsigned short ANSB10:1; + unsigned short ANSB11:1; + unsigned short ANSB12:1; + unsigned short ANSB13:1; + unsigned short ANSB14:1; + unsigned short ANSB15:1; + } BIT; + } ADANSB; + char wk4[2]; + unsigned short ADDBLDR; + unsigned short ADTSDR; + unsigned short ADOCDR; + char wk5[2]; + unsigned short ADDR0; + unsigned short ADDR1; + unsigned short ADDR2; + unsigned short ADDR3; + unsigned short ADDR4; + char wk6[2]; + unsigned short ADDR6; + char wk7[2]; + unsigned short ADDR8; + unsigned short ADDR9; + unsigned short ADDR10; + unsigned short ADDR11; + unsigned short ADDR12; + unsigned short ADDR13; + unsigned short ADDR14; + unsigned short ADDR15; + char wk8[32]; + unsigned char ADSSTR0; + unsigned char ADSSTRL; + char wk9[14]; + unsigned char ADSSTRT; + unsigned char ADSSTRO; + char wk10[1]; + unsigned char ADSSTR1; + unsigned char ADSSTR2; + unsigned char ADSSTR3; + unsigned char ADSSTR4; + char wk11[1]; + unsigned char ADSSTR6; +}; + +struct st_sci1 { + union { + unsigned char BYTE; + struct { + unsigned char CKS:2; + unsigned char MP:1; + unsigned char STOP:1; + unsigned char PM:1; + unsigned char PE:1; + unsigned char CHR:1; + unsigned char CM:1; + } BIT; + } SMR; + unsigned char BRR; + union { + unsigned char BYTE; + struct { + unsigned char CKE:2; + unsigned char TEIE:1; + unsigned char MPIE:1; + unsigned char RE:1; + unsigned char TE:1; + unsigned char RIE:1; + unsigned char TIE:1; + } BIT; + } SCR; + unsigned char TDR; + union { + unsigned char BYTE; + struct { + unsigned char MPBT:1; + unsigned char MPB:1; + unsigned char TEND:1; + unsigned char PER:1; + unsigned char FER:1; + unsigned char ORER:1; + unsigned char :2; + } BIT; + } SSR; + unsigned char RDR; + union { + unsigned char BYTE; + struct { + unsigned char SMIF:1; + unsigned char :1; + unsigned char SINV:1; + unsigned char SDIR:1; + unsigned char :3; + unsigned char BCP2:1; + } BIT; + } SCMR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char ABCS:1; + unsigned char NFEN:1; + unsigned char :1; + unsigned char RXDESEL:1; + } BIT; + } SEMR; + union { + unsigned char BYTE; + struct { + unsigned char NFCS:3; + unsigned char :5; + } BIT; + } SNFR; + union { + unsigned char BYTE; + struct { + unsigned char IICM:1; + unsigned char :2; + unsigned char IICDL:5; + } BIT; + } SIMR1; + union { + unsigned char BYTE; + struct { + unsigned char IICINTM:1; + unsigned char IICCSC:1; + unsigned char :3; + unsigned char IICACKT:1; + unsigned char :2; + } BIT; + } SIMR2; + union { + unsigned char BYTE; + struct { + unsigned char IICSTAREQ:1; + unsigned char IICRSTAREQ:1; + unsigned char IICSTPREQ:1; + unsigned char IICSTIF:1; + unsigned char IICSDAS:2; + unsigned char IICSCLS:2; + } BIT; + } SIMR3; + union { + unsigned char BYTE; + struct { + unsigned char IICACKR:1; + unsigned char :7; + } BIT; + } SISR; + union { + unsigned char BYTE; + struct { + unsigned char SSE:1; + unsigned char CTSE:1; + unsigned char MSS:1; + unsigned char :1; + unsigned char MFF:1; + unsigned char :1; + unsigned char CKPOL:1; + unsigned char CKPH:1; + } BIT; + } SPMR; +}; + +struct st_sci12 { + union { + unsigned char BYTE; + struct { + unsigned char CKS:2; + unsigned char MP:1; + unsigned char STOP:1; + unsigned char PM:1; + unsigned char PE:1; + unsigned char CHR:1; + unsigned char CM:1; + } BIT; + } SMR; + unsigned char BRR; + union { + unsigned char BYTE; + struct { + unsigned char CKE:2; + unsigned char TEIE:1; + unsigned char MPIE:1; + unsigned char RE:1; + unsigned char TE:1; + unsigned char RIE:1; + unsigned char TIE:1; + } BIT; + } SCR; + unsigned char TDR; + union { + unsigned char BYTE; + struct { + unsigned char MPBT:1; + unsigned char MPB:1; + unsigned char TEND:1; + unsigned char PER:1; + unsigned char FER:1; + unsigned char ORER:1; + unsigned char :2; + } BIT; + } SSR; + unsigned char RDR; + union { + unsigned char BYTE; + struct { + unsigned char SMIF:1; + unsigned char :1; + unsigned char SINV:1; + unsigned char SDIR:1; + unsigned char :3; + unsigned char BCP2:1; + } BIT; + } SCMR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char ABCS:1; + unsigned char NFEN:1; + unsigned char :1; + unsigned char RXDESEL:1; + } BIT; + } SEMR; + union { + unsigned char BYTE; + struct { + unsigned char NFCS:3; + unsigned char :5; + } BIT; + } SNFR; + union { + unsigned char BYTE; + struct { + unsigned char IICM:1; + unsigned char :2; + unsigned char IICDL:5; + } BIT; + } SIMR1; + union { + unsigned char BYTE; + struct { + unsigned char IICINTM:1; + unsigned char IICCSC:1; + unsigned char :3; + unsigned char IICACKT:1; + unsigned char :2; + } BIT; + } SIMR2; + union { + unsigned char BYTE; + struct { + unsigned char IICSTAREQ:1; + unsigned char IICRSTAREQ:1; + unsigned char IICSTPREQ:1; + unsigned char IICSTIF:1; + unsigned char IICSDAS:2; + unsigned char IICSCLS:2; + } BIT; + } SIMR3; + union { + unsigned char BYTE; + struct { + unsigned char IICACKR:1; + unsigned char :7; + } BIT; + } SISR; + union { + unsigned char BYTE; + struct { + unsigned char SSE:1; + unsigned char CTSE:1; + unsigned char MSS:1; + unsigned char :1; + unsigned char MFF:1; + unsigned char :1; + unsigned char CKPOL:1; + unsigned char CKPH:1; + } BIT; + } SPMR; + char wk0[18]; + union { + unsigned char BYTE; + struct { + unsigned char ESME:1; + unsigned char :7; + } BIT; + } ESMER; + union { + unsigned char BYTE; + struct { + unsigned char SFSF:1; + unsigned char RXDSF:1; + unsigned char BRME:1; + unsigned char :4; + } BIT; + } CR0; + union { + unsigned char BYTE; + struct { + unsigned char BFE:1; + unsigned char CF0RE:1; + unsigned char CF1DS:2; + unsigned char PIBE:1; + unsigned char PIBS:3; + } BIT; + } CR1; + union { + unsigned char BYTE; + struct { + unsigned char DFCS:3; + unsigned char :1; + unsigned char BCCS:2; + unsigned char RTS:2; + } BIT; + } CR2; + union { + unsigned char BYTE; + struct { + unsigned char SDST:1; + unsigned char :7; + } BIT; + } CR3; + union { + unsigned char BYTE; + struct { + unsigned char TXDXPS:1; + unsigned char RXDXPS:1; + unsigned char :2; + unsigned char SHARPS:1; + unsigned char :3; + } BIT; + } PCR; + union { + unsigned char BYTE; + struct { + unsigned char BFDIE:1; + unsigned char CF0MIE:1; + unsigned char CF1MIE:1; + unsigned char PIBDIE:1; + unsigned char BCDIE:1; + unsigned char AEDIE:1; + unsigned char :2; + } BIT; + } ICR; + union { + unsigned char BYTE; + struct { + unsigned char BFDF:1; + unsigned char CF0MF:1; + unsigned char CF1MF:1; + unsigned char PIBDF:1; + unsigned char BCDF:1; + unsigned char AEDF:1; + unsigned char :2; + } BIT; + } STR; + union { + unsigned char BYTE; + struct { + unsigned char BFDCL:1; + unsigned char CF0MCL:1; + unsigned char CF1MCL:1; + unsigned char PIBDCL:1; + unsigned char BCDCL:1; + unsigned char AEDCL:1; + unsigned char :2; + } BIT; + } STCR; + unsigned char CF0DR; + union { + unsigned char BYTE; + struct { + unsigned char CF0CE0:1; + unsigned char CF0CE1:1; + unsigned char CF0CE2:1; + unsigned char CF0CE3:1; + unsigned char CF0CE4:1; + unsigned char CF0CE5:1; + unsigned char CF0CE6:1; + unsigned char CF0CE7:1; + } BIT; + } CF0CR; + unsigned char CF0RR; + unsigned char PCF1DR; + unsigned char SCF1DR; + union { + unsigned char BYTE; + struct { + unsigned char CF1CE0:1; + unsigned char CF1CE1:1; + unsigned char CF1CE2:1; + unsigned char CF1CE3:1; + unsigned char CF1CE4:1; + unsigned char CF1CE5:1; + unsigned char CF1CE6:1; + unsigned char CF1CE7:1; + } BIT; + } CF1CR; + unsigned char CF1RR; + union { + unsigned char BYTE; + struct { + unsigned char TCST:1; + unsigned char :7; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char TOMS:2; + unsigned char :1; + unsigned char TWRC:1; + unsigned char TCSS:3; + unsigned char :1; + } BIT; + } TMR; + unsigned char TPRE; + unsigned char TCNT; +}; + +struct st_smci { + union { + unsigned char BYTE; + struct { + unsigned char CKS:2; + unsigned char BCP:2; + unsigned char PM:1; + unsigned char PE:1; + unsigned char BLK:1; + unsigned char GM:1; + } BIT; + } SMR; + unsigned char BRR; + union { + unsigned char BYTE; + struct { + unsigned char CKE:2; + unsigned char TEIE:1; + unsigned char MPIE:1; + unsigned char RE:1; + unsigned char TE:1; + unsigned char RIE:1; + unsigned char TIE:1; + } BIT; + } SCR; + unsigned char TDR; + union { + unsigned char BYTE; + struct { + unsigned char MPBT:1; + unsigned char MPB:1; + unsigned char TEND:1; + unsigned char PER:1; + unsigned char ERS:1; + unsigned char ORER:1; + unsigned char :2; + } BIT; + } SSR; + unsigned char RDR; + union { + unsigned char BYTE; + struct { + unsigned char SMIF:1; + unsigned char :1; + unsigned char SINV:1; + unsigned char SDIR:1; + unsigned char :3; + unsigned char BCP2:1; + } BIT; + } SCMR; +}; + +struct st_system { + union { + unsigned short WORD; + struct { + unsigned short MD:1; + unsigned short :15; + } BIT; + } MDMONR; + char wk0[6]; + union { + unsigned short WORD; + struct { + unsigned short RAME:1; + unsigned short :15; + } BIT; + } SYSCR1; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned short :15; + unsigned short SSBY:1; + } BIT; + } SBYCR; + char wk2[2]; + union { + unsigned long LONG; + struct { + unsigned long :9; + unsigned long MSTPA9:1; + unsigned long :5; + unsigned long MSTPA15:1; + unsigned long :1; + unsigned long MSTPA17:1; + unsigned long :1; + unsigned long MSTPA19:1; + unsigned long :8; + unsigned long MSTPA28:1; + unsigned long :3; + } BIT; + } MSTPCRA; + union { + unsigned long LONG; + struct { + unsigned long :4; + unsigned long MSTPB4:1; + unsigned long :1; + unsigned long MSTPB6:1; + unsigned long :2; + unsigned long MSTPB9:1; + unsigned long :7; + unsigned long MSTPB17:1; + unsigned long :1; + unsigned long MSTPB19:1; + unsigned long :1; + unsigned long MSTPB21:1; + unsigned long :1; + unsigned long MSTPB23:1; + unsigned long :2; + unsigned long MSTPB26:1; + unsigned long :3; + unsigned long MSTPB30:1; + unsigned long :1; + } BIT; + } MSTPCRB; + union { + unsigned long LONG; + struct { + unsigned long MSTPC0:1; + unsigned long :18; + unsigned long MSTPC19:1; + unsigned long :11; + unsigned long DSLPE:1; + } BIT; + } MSTPCRC; + char wk3[4]; + union { + unsigned long LONG; + struct { + unsigned long PCKD:4; + unsigned long :4; + unsigned long PCKB:4; + unsigned long :12; + unsigned long ICK:4; + unsigned long FCK:4; + } BIT; + } SCKCR; + char wk4[2]; + union { + unsigned short WORD; + struct { + unsigned short CKSEL:3; + unsigned short :5; + } BIT; + } SCKCR3; + union { + unsigned short WORD; + struct { + unsigned short PLIDIV:2; + unsigned short :6; + unsigned short STC:6; + unsigned short :2; + } BIT; + } PLLCR; + union { + unsigned char BYTE; + struct { + unsigned char PLLEN:1; + unsigned char :7; + } BIT; + } PLLCR2; + char wk5[7]; + union { + unsigned char BYTE; + struct { + unsigned char MOSTP:1; + unsigned char :7; + } BIT; + } MOSCCR; + union { + unsigned char BYTE; + struct { + unsigned char SOSTP:1; + unsigned char :7; + } BIT; + } SOSCCR; + union { + unsigned char BYTE; + struct { + unsigned char LCSTP:1; + unsigned char :7; + } BIT; + } LOCOCR; + union { + unsigned char BYTE; + struct { + unsigned char ILCSTP:1; + unsigned char :7; + } BIT; + } ILOCOCR; + union { + unsigned char BYTE; + struct { + unsigned char HCSTP:1; + unsigned char :7; + } BIT; + } HOCOCR; + char wk6[5]; + union { + unsigned char BYTE; + struct { + unsigned char MOOVF:1; + unsigned char :1; + unsigned char PLOVF:1; + unsigned char HCOVF:1; + unsigned char :4; + } BIT; + } OSCOVFSR; + char wk7[1]; + union { + unsigned short WORD; + struct { + unsigned short CKOSEL:3; + unsigned short :1; + unsigned short CKODIV:3; + unsigned short CKOSTP:1; + } BIT; + } CKOCR; + union { + unsigned char BYTE; + struct { + unsigned char OSTDIE:1; + unsigned char :6; + unsigned char OSTDE:1; + } BIT; + } OSTDCR; + union { + unsigned char BYTE; + struct { + unsigned char OSTDF:1; + unsigned char :7; + } BIT; + } OSTDSR; + char wk8[94]; + union { + unsigned char BYTE; + struct { + unsigned char OPCM:3; + unsigned char :1; + unsigned char OPCMTSF:1; + unsigned char :3; + } BIT; + } OPCCR; + union { + unsigned char BYTE; + struct { + unsigned char RSTCKSEL:3; + unsigned char :4; + unsigned char RSTCKEN:1; + } BIT; + } RSTCKCR; + union { + unsigned char BYTE; + struct { + unsigned char MSTS:5; + unsigned char :3; + } BIT; + } MOSCWTCR; + char wk9[7]; + union { + unsigned char BYTE; + struct { + unsigned char SOPCM:1; + unsigned char :3; + unsigned char SOPCMTSF:1; + unsigned char :3; + } BIT; + } SOPCCR; + char wk10[21]; + union { + unsigned char BYTE; + struct { + unsigned char IWDTRF:1; + unsigned char :1; + unsigned char SWRF:1; + unsigned char :5; + } BIT; + } RSTSR2; + char wk11[1]; + unsigned short SWRR; + char wk12[28]; + union { + unsigned char BYTE; + struct { + unsigned char LVD1IDTSEL:2; + unsigned char LVD1IRQSEL:1; + unsigned char :5; + } BIT; + } LVD1CR1; + union { + unsigned char BYTE; + struct { + unsigned char LVD1DET:1; + unsigned char LVD1MON:1; + unsigned char :6; + } BIT; + } LVD1SR; + union { + unsigned char BYTE; + struct { + unsigned char LVD2IDTSEL:2; + unsigned char LVD2IRQSEL:1; + unsigned char :5; + } BIT; + } LVD2CR1; + union { + unsigned char BYTE; + struct { + unsigned char LVD2DET:1; + unsigned char LVD2MON:1; + unsigned char :6; + } BIT; + } LVD2SR; + char wk13[794]; + union { + unsigned short WORD; + struct { + unsigned short PRC0:1; + unsigned short PRC1:1; + unsigned short :1; + unsigned short PRC3:1; + unsigned short :4; + unsigned short PRKEY:8; + } BIT; + } PRCR; + char wk14[48784]; + union { + unsigned char BYTE; + struct { + unsigned char PORF:1; + unsigned char :1; + unsigned char LVD1RF:1; + unsigned char LVD2RF:1; + unsigned char :4; + } BIT; + } RSTSR0; + union { + unsigned char BYTE; + struct { + unsigned char CWSF:1; + unsigned char :7; + } BIT; + } RSTSR1; + char wk15[1]; + union { + unsigned char BYTE; + struct { + unsigned char MODRV21:1; + unsigned char MOSEL:1; + unsigned char :1; + } BIT; + } MOFCR; + char wk16[3]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char EXVCCINP2:1; + unsigned char :1; + unsigned char LVD1E:1; + unsigned char LVD2E:1; + unsigned char :1; + } BIT; + } LVCMPCR; + union { + unsigned char BYTE; + struct { + unsigned char LVD1LVL:4; + unsigned char LVD2LVL:2; + unsigned char :2; + } BIT; + } LVDLVLR; + char wk17[1]; + union { + unsigned char BYTE; + struct { + unsigned char LVD1RIE:1; + unsigned char :1; + unsigned char LVD1CMPE:1; + unsigned char :3; + unsigned char LVD1RI:1; + unsigned char LVD1RN:1; + } BIT; + } LVD1CR0; + union { + unsigned char BYTE; + struct { + unsigned char LVD2RIE:1; + unsigned char :1; + unsigned char LVD2CMPE:1; + unsigned char :3; + unsigned char LVD2RI:1; + unsigned char LVD2RN:1; + } BIT; + } LVD2CR0; +}; + +struct st_usb { + union { + unsigned short WORD; + struct { + unsigned short USBE:1; + unsigned short :3; + unsigned short DPRPU:1; + unsigned short DRPD:1; + unsigned short DCFM:1; + unsigned short :1; + unsigned short CNEN:1; + unsigned short :1; + unsigned short SCKE:1; + unsigned short :5; + } BIT; + } SYSCFG; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned short LNST:2; + unsigned short IDMON:1; + unsigned short :3; + unsigned short HTACT:1; + unsigned short :7; + unsigned short OVCMON:2; + } BIT; + } SYSSTS0; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned short RHST:3; + unsigned short :1; + unsigned short UACT:1; + unsigned short RESUME:1; + unsigned short USBRST:1; + unsigned short RWUPE:1; + unsigned short WKUP:1; + unsigned short VBUSEN:1; + unsigned short EXICEN:1; + unsigned short HNPBTOA:1; + unsigned short :4; + } BIT; + } DVSTCTR0; + char wk2[10]; + union { + unsigned short WORD; + struct { + unsigned char L; + unsigned char H; + } BYTE; + } CFIFO; + char wk3[2]; + union { + unsigned short WORD; + struct { + unsigned char L; + unsigned char H; + } BYTE; + } D0FIFO; + char wk4[2]; + union { + unsigned short WORD; + struct { + unsigned char L; + unsigned char H; + } BYTE; + } D1FIFO; + char wk5[2]; + union { + unsigned short WORD; + struct { + unsigned short CURPIPE:4; + unsigned short :1; + unsigned short ISEL:1; + unsigned short :2; + unsigned short BIGEND:1; + unsigned short :1; + unsigned short MBW:1; + unsigned short :3; + unsigned short REW:1; + unsigned short RCNT:1; + } BIT; + } CFIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short DTLN:9; + unsigned short :4; + unsigned short FRDY:1; + unsigned short BCLR:1; + unsigned short BVAL:1; + } BIT; + } CFIFOCTR; + char wk6[4]; + union { + unsigned short WORD; + struct { + unsigned short CURPIPE:4; + unsigned short :4; + unsigned short BIGEND:1; + unsigned short :1; + unsigned short MBW:1; + unsigned short :1; + unsigned short DREQE:1; + unsigned short DCLRM:1; + unsigned short REW:1; + unsigned short RCNT:1; + } BIT; + } D0FIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short DTLN:9; + unsigned short :4; + unsigned short FRDY:1; + unsigned short BCLR:1; + unsigned short BVAL:1; + } BIT; + } D0FIFOCTR; + union { + unsigned short WORD; + struct { + unsigned short CURPIPE:4; + unsigned short :4; + unsigned short BIGEND:1; + unsigned short :1; + unsigned short MBW:1; + unsigned short :1; + unsigned short DREQE:1; + unsigned short DCLRM:1; + unsigned short REW:1; + unsigned short RCNT:1; + } BIT; + } D1FIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short DTLN:9; + unsigned short :4; + unsigned short FRDY:1; + unsigned short BCLR:1; + unsigned short BVAL:1; + } BIT; + } D1FIFOCTR; + union { + unsigned short WORD; + struct { + unsigned short BRDYE:1; + unsigned short NRDYE:1; + unsigned short BEMPE:1; + unsigned short CTRE:1; + unsigned short DVSE:1; + unsigned short SOFE:1; + unsigned short RSME:1; + unsigned short VBSE:1; + } BIT; + } INTENB0; + union { + unsigned short WORD; + struct { + unsigned short PDDETINTE0:1; + unsigned short :3; + unsigned short SACKE:1; + unsigned short SIGNE:1; + unsigned short EOFERRE:1; + unsigned short :4; + unsigned short ATTCHE:1; + unsigned short DTCHE:1; + unsigned short :1; + unsigned short BCHGE:1; + unsigned short OVRCRE:1; + } BIT; + } INTENB1; + char wk7[2]; + union { + unsigned short WORD; + struct { + unsigned short PIPE0BRDYE:1; + unsigned short PIPE1BRDYE:1; + unsigned short PIPE2BRDYE:1; + unsigned short PIPE3BRDYE:1; + unsigned short PIPE4BRDYE:1; + unsigned short PIPE5BRDYE:1; + unsigned short PIPE6BRDYE:1; + unsigned short PIPE7BRDYE:1; + unsigned short PIPE8BRDYE:1; + unsigned short PIPE9BRDYE:1; + unsigned short :6; + } BIT; + } BRDYENB; + union { + unsigned short WORD; + struct { + unsigned short PIPE0NRDYE:1; + unsigned short PIPE1NRDYE:1; + unsigned short PIPE2NRDYE:1; + unsigned short PIPE3NRDYE:1; + unsigned short PIPE4NRDYE:1; + unsigned short PIPE5NRDYE:1; + unsigned short PIPE6NRDYE:1; + unsigned short PIPE7NRDYE:1; + unsigned short PIPE8NRDYE:1; + unsigned short PIPE9NRDYE:1; + unsigned short :6; + } BIT; + } NRDYENB; + union { + unsigned short WORD; + struct { + unsigned short PIPE0BEMPE:1; + unsigned short PIPE1BEMPE:1; + unsigned short PIPE2BEMPE:1; + unsigned short PIPE3BEMPE:1; + unsigned short PIPE4BEMPE:1; + unsigned short PIPE5BEMPE:1; + unsigned short PIPE6BEMPE:1; + unsigned short PIPE7BEMPE:1; + unsigned short PIPE8BEMPE:1; + unsigned short PIPE9BEMPE:1; + unsigned short :6; + } BIT; + } BEMPENB; + union { + unsigned short WORD; + struct { + unsigned short :4; /* FIXME: Double check pad bits here*/ + unsigned short EDGESTS:1; + unsigned short :1; + unsigned short BRDYM:1; + unsigned short :1; + unsigned short TRNENSEL:1; + unsigned short :7; + } BIT; + } SOFCFG; + char wk8[2]; + union { + unsigned short WORD; + struct { + unsigned short CTSQ:3; + unsigned short VALID:1; + unsigned short DVSQ:3; + unsigned short VBSTS:1; + unsigned short BRDY:1; + unsigned short NRDY:1; + unsigned short BEMP:1; + unsigned short CTRT:1; + unsigned short DVST:1; + unsigned short SOFR:1; + unsigned short RESM:1; + unsigned short VBINT:1; + } BIT; + } INTSTS0; + union { + unsigned short WORD; + struct { + unsigned short PDDETINT0:1; + unsigned short :3; + unsigned short SACK:1; + unsigned short SIGN:1; + unsigned short EOFERR:1; + unsigned short :4; + unsigned short ATTCH:1; + unsigned short DTCH:1; + unsigned short :1; + unsigned short BCHG:1; + unsigned short OVRCR:1; + } BIT; + } INTSTS1; + char wk9[2]; + union { + unsigned short WORD; + struct { + unsigned short PIPE0BRDY:1; + unsigned short PIPE1BRDY:1; + unsigned short PIPE2BRDY:1; + unsigned short PIPE3BRDY:1; + unsigned short PIPE4BRDY:1; + unsigned short PIPE5BRDY:1; + unsigned short PIPE6BRDY:1; + unsigned short PIPE7BRDY:1; + unsigned short PIPE8BRDY:1; + unsigned short PIPE9BRDY:1; + unsigned short :6; + } BIT; + } BRDYSTS; + union { + unsigned short WORD; + struct { + unsigned short PIPE0NRDY:1; + unsigned short PIPE1NRDY:1; + unsigned short PIPE2NRDY:1; + unsigned short PIPE3NRDY:1; + unsigned short PIPE4NRDY:1; + unsigned short PIPE5NRDY:1; + unsigned short PIPE6NRDY:1; + unsigned short PIPE7NRDY:1; + unsigned short PIPE8NRDY:1; + unsigned short PIPE9NRDY:1; + unsigned short :6; + } BIT; + } NRDYSTS; + union { + unsigned short WORD; + struct { + unsigned short PIPE0BEMP:1; + unsigned short PIPE1BEMP:1; + unsigned short PIPE2BEMP:1; + unsigned short PIPE3BEMP:1; + unsigned short PIPE4BEMP:1; + unsigned short PIPE5BEMP:1; + unsigned short PIPE6BEMP:1; + unsigned short PIPE7BEMP:1; + unsigned short PIPE8BEMP:1; + unsigned short PIPE9BEMP:1; + unsigned short :6; + } BIT; + } BEMPSTS; + union { + unsigned short WORD; + struct { + unsigned short FRNM:11; + unsigned short :3; + unsigned short CRCE:1; + unsigned short OVRN:1; + } BIT; + } FRMNUM; + char wk10[6]; + union { + unsigned short WORD; + struct { + unsigned short BMREQUESTTYPE:8; + unsigned short BREQUEST:8; + } BIT; + } USBREQ; + unsigned short USBVAL; + unsigned short USBINDX; + unsigned short USBLENG; + union { + unsigned short WORD; + struct { + unsigned short :4; /* FIXME: Double check pad bits here. */ + unsigned short DIR:1; + unsigned short :2; + unsigned short SHTNAK:1; + unsigned short :8; + } BIT; + } DCPCFG; + union { + unsigned short WORD; + struct { + unsigned short MXPS:7; + unsigned short :5; + unsigned short DEVSEL:4; + } BIT; + } DCPMAXP; + union { + unsigned short WORD; + struct { + unsigned short PID:2; + unsigned short CCPL:1; + unsigned short :2; + unsigned short PBUSY:1; + unsigned short SQMON:1; + unsigned short SQSET:1; + unsigned short SQCLR:1; + unsigned short :2; + unsigned short SUREQCLR:1; + unsigned short :2; + unsigned short SUREQ:1; + unsigned short BSTS:1; + } BIT; + } DCPCTR; + char wk11[2]; + union { + unsigned short WORD; + struct { + unsigned short PIPESEL:4; + unsigned short :12; + } BIT; + } PIPESEL; + char wk12[2]; + union { + unsigned short WORD; + struct { + unsigned short EPNUM:4; + unsigned short DIR:1; + unsigned short :2; + unsigned short SHTNAK:1; + unsigned short :1; + unsigned short DBLB:1; + unsigned short BFRE:1; + unsigned short :3; + unsigned short TYPE:2; + } BIT; + } PIPECFG; + char wk13[2]; + union { + unsigned short WORD; + struct { + unsigned short MXPS:9; + unsigned short :3; + unsigned short DEVSEL:4; + } BIT; + } PIPEMAXP; + union { + unsigned short WORD; + struct { + unsigned short IITV:3; + unsigned short :9; + unsigned short IFIS:1; + unsigned short :3; + } BIT; + } PIPEPERI; + union { + unsigned short WORD; + struct { + unsigned short PID:2; + unsigned short :3; + unsigned short PBUSY:1; + unsigned short SQMON:1; + unsigned short SQSET:1; + unsigned short SQCLR:1; + unsigned short ACLRM:1; + unsigned short ATREPM:1; + unsigned short :3; + unsigned short INBUFM:1; + unsigned short BSTS:1; + } BIT; + } PIPE1CTR; + union { + unsigned short WORD; + struct { + unsigned short PID:2; + unsigned short :3; + unsigned short PBUSY:1; + unsigned short SQMON:1; + unsigned short SQSET:1; + unsigned short SQCLR:1; + unsigned short ACLRM:1; + unsigned short ATREPM:1; + unsigned short :3; + unsigned short INBUFM:1; + unsigned short BSTS:1; + } BIT; + } PIPE2CTR; + union { + unsigned short WORD; + struct { + unsigned short PID:2; + unsigned short :3; + unsigned short PBUSY:1; + unsigned short SQMON:1; + unsigned short SQSET:1; + unsigned short SQCLR:1; + unsigned short ACLRM:1; + unsigned short ATREPM:1; + unsigned short :3; + unsigned short INBUFM:1; + unsigned short BSTS:1; + } BIT; + } PIPE3CTR; + union { + unsigned short WORD; + struct { + unsigned short PID:2; + unsigned short :3; + unsigned short PBUSY:1; + unsigned short SQMON:1; + unsigned short SQSET:1; + unsigned short SQCLR:1; + unsigned short ACLRM:1; + unsigned short ATREPM:1; + unsigned short :3; + unsigned short INBUFM:1; + unsigned short BSTS:1; + } BIT; + } PIPE4CTR; + union { + unsigned short WORD; + struct { + unsigned short PID:2; + unsigned short :3; + unsigned short PBUSY:1; + unsigned short SQMON:1; + unsigned short SQSET:1; + unsigned short SQCLR:1; + unsigned short ACLRM:1; + unsigned short ATREPM:1; + unsigned short :3; + unsigned short INBUFM:1; + unsigned short BSTS:1; + } BIT; + } PIPE5CTR; + union { + unsigned short WORD; + struct { + unsigned short PID:2; + unsigned short :3; + unsigned short PBUSY:1; + unsigned short SQMON:1; + unsigned short SQSET:1; + unsigned short SQCLR:1; + unsigned short ACLRM:1; + unsigned short :5; + unsigned short BSTS:1; + } BIT; + } PIPE6CTR; + union { + unsigned short WORD; + struct { + unsigned short PID:2; + unsigned short :3; + unsigned short PBUSY:1; + unsigned short SQMON:1; + unsigned short SQSET:1; + unsigned short SQCLR:1; + unsigned short ACLRM:1; + unsigned short :5; + unsigned short BSTS:1; + } BIT; + } PIPE7CTR; + union { + unsigned short WORD; + struct { + unsigned short PID:2; + unsigned short :3; + unsigned short PBUSY:1; + unsigned short SQMON:1; + unsigned short SQSET:1; + unsigned short SQCLR:1; + unsigned short ACLRM:1; + unsigned short :5; + unsigned short BSTS:1; + } BIT; + } PIPE8CTR; + union { + unsigned short WORD; + struct { + unsigned short PID:2; + unsigned short :3; + unsigned short PBUSY:1; + unsigned short SQMON:1; + unsigned short SQSET:1; + unsigned short SQCLR:1; + unsigned short ACLRM:1; + unsigned short :5; + unsigned short BSTS:1; + } BIT; + } PIPE9CTR; + char wk14[14]; + union { + unsigned short WORD; + struct { + unsigned short TRCLR:1; + unsigned short TRENB:1; + unsigned short :6; + } BIT; + } PIPE1TRE; + unsigned short PIPE1TRN; + union { + unsigned short WORD; + struct { + unsigned short TRCLR:1; + unsigned short TRENB:1; + unsigned short :6; + } BIT; + } PIPE2TRE; + unsigned short PIPE2TRN; + union { + unsigned short WORD; + struct { + unsigned short TRCLR:1; + unsigned short TRENB:1; + unsigned short :6; + } BIT; + } PIPE3TRE; + unsigned short PIPE3TRN; + union { + unsigned short WORD; + struct { + unsigned short TRCLR:1; + unsigned short TRENB:1; + unsigned short :6; + } BIT; + } PIPE4TRE; + unsigned short PIPE4TRN; + union { + unsigned short WORD; + struct { + unsigned short TRCLR:1; + unsigned short TRENB:1; + unsigned short :6; + } BIT; + } PIPE5TRE; + unsigned short PIPE5TRN; + char wk15[12]; + union { + unsigned short WORD; + struct { + unsigned short RPDME0:1; + unsigned short IDPSRCE0:1; + unsigned short IDMSINKE0:1; + unsigned short VDPSRCE0:1; + unsigned short IDPSINKE0:1; + unsigned short VDMSRCE0:1; + unsigned short DCPMODE0:1; + unsigned short BATCHGE0:1; + unsigned short CHGDETSTS0:1; + unsigned short PDDETSTS0:1; + unsigned short :6; + } BIT; + } USBBCCTRL0; + char wk16[26]; + union { + unsigned short WORD; + struct { + unsigned short VDDUSBE:1; + unsigned short :6; + unsigned short VBRPDCUT:1; + unsigned short :8; + } BIT; + } USBMC; + char wk17[2]; + union { + unsigned short WORD; + struct { + unsigned short :6; /* FIXME: Double check pad bits here. */ + unsigned short USBSPD:2; + unsigned short :8; + } BIT; + } DEVADD0; + union { + unsigned short WORD; + struct { + unsigned short :6; /* FIXME: Double check pad bits here. */ + unsigned short USBSPD:2; + unsigned short :8; + } BIT; + } DEVADD1; + union { + unsigned short WORD; + struct { + unsigned short :6; /* FIXME: Double check pad bits here. */ + unsigned short USBSPD:2; + unsigned short :8; + } BIT; + } DEVADD2; + union { + unsigned short WORD; + struct { + unsigned short :6; /* FIXME: Double check pad bits here. */ + unsigned short USBSPD:2; + unsigned short :8; + } BIT; + } DEVADD3; + union { + unsigned short WORD; + struct { + unsigned short :6; /* FIXME: Double check pad bits here. */ + unsigned short USBSPD:2; + unsigned short :8; + } BIT; + } DEVADD4; + union { + unsigned short WORD; + struct { + unsigned short :6; /* FIXME: Double check pad bits here. */ + unsigned short USBSPD:2; + unsigned short :8; + } BIT; + } DEVADD5; +}; + +#elif __RX_BIG_ENDIAN__ /*Big endian*/ + +struct st_bsc { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char STSCLR:1; + } BIT; + } BERCLR; + char wk0[3]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char IGAEN:1; + } BIT; + } BEREN; + char wk1[3]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char MST:3; + unsigned char :3; + unsigned char IA:1; + } BIT; + } BERSR1; + char wk2[1]; + union { + unsigned short WORD; + struct { + unsigned short ADDR:13; + } BIT; + } BERSR2; + char wk3[4]; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short BPFB:2; + unsigned short :2; + unsigned short BPGB:2; + unsigned short BPIB:2; + unsigned short BPRO:2; + unsigned short BPRA:2; + } BIT; + } BUSPRI; +}; + +struct st_cac { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char CFME:1; + } BIT; + } CACR0; + union { + unsigned char BYTE; + struct { + unsigned char EDGES:2; + unsigned char TCSS:2; + unsigned char FMCS:3; + unsigned char CACREFE:1; + } BIT; + } CACR1; + union { + unsigned char BYTE; + struct { + unsigned char DFS:2; + unsigned char RCDS:2; + unsigned char RSCS:3; + unsigned char RPS:1; + } BIT; + } CACR2; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char OVFFCL:1; + unsigned char MENDFCL:1; + unsigned char FERRFCL:1; + unsigned char :1; + unsigned char OVFIE:1; + unsigned char MENDIE:1; + unsigned char FERRIE:1; + } BIT; + } CAICR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char OVFF:1; + unsigned char MENDF:1; + unsigned char FERRF:1; + } BIT; + } CASTR; + char wk0[1]; + unsigned short CAULVR; + unsigned short CALLVR; + unsigned short CACNTBR; +}; + +struct st_cmt { + union { + unsigned short WORD; + struct { + unsigned short :14; + unsigned short STR1:1; + unsigned short STR0:1; + } BIT; + } CMSTR0; +}; + +struct st_cmt0 { + union { + unsigned short WORD; + struct { + unsigned short :9; + unsigned short CMIE:1; + unsigned short :4; + unsigned short CKS:2; + } BIT; + } CMCR; + unsigned short CMCNT; + unsigned short CMCOR; +}; + +struct st_crc { + union { + unsigned char BYTE; + struct { + unsigned char DORCLR:1; + unsigned char :4; + unsigned char LMS:1; + unsigned char GPS:2; + } BIT; + } CRCCR; + unsigned char CRCDIR; + unsigned short CRCDOR; +}; + +struct st_da { + unsigned short DADR0; + unsigned short DADR1; + union { + unsigned char BYTE; + struct { + unsigned char DAOE1:1; + unsigned char DAOE0:1; + } BIT; + } DACR; + union { + unsigned char BYTE; + struct { + unsigned char DPSEL:1; + } BIT; + } DADPR; +}; + +struct st_doc { + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char DOPCFCL:1; + unsigned char DOPCF:1; + unsigned char DOPCIE:1; + unsigned char :1; + unsigned char DCSEL:1; + unsigned char OMS:2; + } BIT; + } DOCR; + char wk0[1]; + unsigned short DODIR; + unsigned short DODSR; +}; + +struct st_dtc { + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char RRS:1; + } BIT; + } DTCCR; + char wk0[3]; + void *DTCVBR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SHORT:1; + } BIT; + } DTCADMOD; + char wk1[3]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DTCST:1; + } BIT; + } DTCST; + char wk2[1]; + union { + unsigned short WORD; + struct { + unsigned short ACT:1; + unsigned short :7; + unsigned short VECN:8; + } BIT; + } DTCSTS; +}; + +struct st_elc { + union { + unsigned char BYTE; + struct { + unsigned char ELCON:1; + } BIT; + } ELCR; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR[26]; + char wk0[4]; + union { + unsigned char BYTE; + struct { + unsigned char MTU3MD:2; + unsigned char MTU2MD:2; + unsigned char MTU1MD:2; + } BIT; + } ELOPA; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char MTU4MD:2; + } BIT; + } ELOPB; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char CMT1MD:2; + } BIT; + } ELOPC; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char PGR7:1; + unsigned char PGR6:1; + unsigned char PGR5:1; + unsigned char PGR4:1; + unsigned char PGR3:1; + unsigned char PGR2:1; + unsigned char PGR1:1; + unsigned char PGR0:1; + } BIT; + } PGR1; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PGCO:3; + unsigned char :1; + unsigned char PGCOVE:1; + unsigned char PGCI:2; + } BIT; + } PGC1; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char PDBF7:1; + unsigned char PDBF6:1; + unsigned char PDBF5:1; + unsigned char PDBF4:1; + unsigned char PDBF3:1; + unsigned char PDBF2:1; + unsigned char PDBF1:1; + unsigned char PDBF0:1; + } BIT; + } PDBF1; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PSM:2; + unsigned char PSP:2; + unsigned char PSB:3; + } BIT; + } PEL0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PSM:2; + unsigned char PSP:2; + unsigned char PSB:3; + } BIT; + } PEL1; + char wk5[2]; + union { + unsigned char BYTE; + struct { + unsigned char WI:1; + unsigned char WE:1; + unsigned char :5; + unsigned char SEG:1; + } BIT; + } ELSEGR; +}; + +struct st_flash { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DFLEN:1; + } BIT; + } DFLCTL; +}; + +struct st_icu { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char IR:1; + } BIT; + } IR[250]; + char wk0[6]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DTCE:1; + } BIT; + } DTCER[249]; + char wk1[7]; + union { + unsigned char BYTE; + struct { + unsigned char IEN7:1; + unsigned char IEN6:1; + unsigned char IEN5:1; + unsigned char IEN4:1; + unsigned char IEN3:1; + unsigned char IEN2:1; + unsigned char IEN1:1; + unsigned char IEN0:1; + } BIT; + } IER[32]; + char wk2[192]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SWINT:1; + } BIT; + } SWINTR; + char wk3[15]; + union { + unsigned short WORD; + struct { + unsigned short FIEN:1; + unsigned short :7; + unsigned short FVCT:8; + } BIT; + } FIR; + char wk4[14]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char IPR:4; + } BIT; + } IPR[250]; + char wk5[262]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char IRQMD:2; + } BIT; + } IRQCR[8]; + char wk6[8]; + union { + unsigned char BYTE; + struct { + unsigned char FLTEN7:1; + unsigned char FLTEN6:1; + unsigned char FLTEN5:1; + unsigned char FLTEN4:1; + unsigned char FLTEN3:1; + unsigned char FLTEN2:1; + unsigned char FLTEN1:1; + unsigned char FLTEN0:1; + } BIT; + } IRQFLTE0; + char wk7[3]; + union { + unsigned short WORD; + struct { + unsigned short FCLKSEL7:2; + unsigned short FCLKSEL6:2; + unsigned short FCLKSEL5:2; + unsigned short FCLKSEL4:2; + unsigned short FCLKSEL3:2; + unsigned short FCLKSEL2:2; + unsigned short FCLKSEL1:2; + unsigned short FCLKSEL0:2; + } BIT; + } IRQFLTC0; + char wk8[106]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char LVD2ST:1; + unsigned char LVD1ST:1; + unsigned char IWDTST:1; + unsigned char :1; + unsigned char OSTST:1; + unsigned char NMIST:1; + } BIT; + } NMISR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char LVD2EN:1; + unsigned char LVD1EN:1; + unsigned char IWDTEN:1; + unsigned char :1; + unsigned char OSTEN:1; + unsigned char NMIEN:1; + } BIT; + } NMIER; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char LVD2CLR:1; + unsigned char LVD1CLR:1; + unsigned char IWDTCLR:1; + unsigned char :1; + unsigned char OSTCLR:1; + unsigned char NMICLR:1; + } BIT; + } NMICLR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char NMIMD:1; + } BIT; + } NMICR; + char wk9[12]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char NFLTEN:1; + } BIT; + } NMIFLTE; + char wk10[3]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char NFCLKSEL:2; + } BIT; + } NMIFLTC; +}; + +struct st_iwdt { + unsigned char IWDTRR; + char wk0[1]; + union { + unsigned short WORD; + struct { + unsigned short :2; + unsigned short RPSS:2; + unsigned short :2; + unsigned short RPES:2; + unsigned short CKS:4; + unsigned short :2; + unsigned short TOPS:2; + } BIT; + } IWDTCR; + union { + unsigned short WORD; + struct { + unsigned short REFEF:1; + unsigned short UNDFF:1; + unsigned short CNTVAL:14; + } BIT; + } IWDTSR; + union { + unsigned char BYTE; + struct { + unsigned char RSTIRQS:1; + } BIT; + } IWDTRCR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char SLCSTP:1; + } BIT; + } IWDTCSTPR; +}; + +struct st_mpc { + union { + unsigned char BYTE; + struct { + unsigned char B0WI:1; + unsigned char PFSWE:1; + } BIT; + } PWPR; + char wk0[35]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P03PFS; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P05PFS; + char wk2[6]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P14PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P15PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P16PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P17PFS; + char wk3[6]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } P26PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P27PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P30PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P31PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P32PFS; + char wk4[2]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + } BIT; + } P35PFS; + char wk5[2]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P40PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P41PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P42PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P43PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P44PFS; + char wk6[1]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P46PFS; + char wk7[5]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } P54PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } P55PFS; + char wk8[34]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PA0PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PA1PFS; + char wk9[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PA3PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PA4PFS; + char wk10[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PA6PFS; + char wk11[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PB0PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PB1PFS; + char wk12[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PB3PFS; + char wk13[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PB5PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PB6PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PB7PFS; + char wk14[2]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PC2PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PC3PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PC4PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PC5PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PC6PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PC7PFS; + char wk15[8]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE0PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE1PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE2PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE3PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE4PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE5PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE6PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE7PFS; + char wk16[30]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } PJ6PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } PJ7PFS; +}; + +struct st_mtu { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char OE4D:1; + unsigned char OE4C:1; + unsigned char OE3D:1; + unsigned char OE4B:1; + unsigned char OE4A:1; + unsigned char OE3B:1; + } BIT; + } TOER; + char wk0[2]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char BDC:1; + unsigned char N:1; + unsigned char P:1; + unsigned char FB:1; + unsigned char WF:1; + unsigned char VF:1; + unsigned char UF:1; + } BIT; + } TGCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PSYE:1; + unsigned char :2; + unsigned char TOCL:1; + unsigned char TOCS:1; + unsigned char OLSN:1; + unsigned char OLSP:1; + } BIT; + } TOCR1; + union { + unsigned char BYTE; + struct { + unsigned char BF:2; + unsigned char OLS3N:1; + unsigned char OLS3P:1; + unsigned char OLS2N:1; + unsigned char OLS2P:1; + unsigned char OLS1N:1; + unsigned char OLS1P:1; + } BIT; + } TOCR2; + char wk1[4]; + unsigned short TCDR; + unsigned short TDDR; + char wk2[8]; + unsigned short TCNTS; + unsigned short TCBR; + char wk3[12]; + union { + unsigned char BYTE; + struct { + unsigned char T3AEN:1; + unsigned char T3ACOR:3; + unsigned char T4VEN:1; + unsigned char T4VCOR:3; + } BIT; + } TITCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char T3ACNT:3; + unsigned char :1; + unsigned char T4VCNT:3; + } BIT; + } TITCNT; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char BTE:2; + } BIT; + } TBTER; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char TDER:1; + } BIT; + } TDER; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char OLS3N:1; + unsigned char OLS3P:1; + unsigned char OLS2N:1; + unsigned char OLS2P:1; + unsigned char OLS1N:1; + unsigned char OLS1P:1; + } BIT; + } TOLBR; + char wk6[41]; + union { + unsigned char BYTE; + struct { + unsigned char CCE:1; + unsigned char :6; + unsigned char WRE:1; + } BIT; + } TWCR; + char wk7[31]; + union { + unsigned char BYTE; + struct { + unsigned char CST4:1; + unsigned char CST3:1; + unsigned char :3; + unsigned char CST2:1; + unsigned char CST1:1; + unsigned char CST0:1; + } BIT; + } TSTR; + union { + unsigned char BYTE; + struct { + unsigned char SYNC4:1; + unsigned char SYNC3:1; + unsigned char :3; + unsigned char SYNC2:1; + unsigned char SYNC1:1; + unsigned char SYNC0:1; + } BIT; + } TSYR; + char wk8[2]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char RWE:1; + } BIT; + } TRWER; +}; + +struct st_mtu0 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; + char wk0[111]; + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char BFE:1; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOD:4; + unsigned char IOC:4; + } BIT; + } TIORL; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :2; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; + unsigned short TGRC; + unsigned short TGRD; + char wk1[16]; + unsigned short TGRE; + unsigned short TGRF; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TGIEF:1; + unsigned char TGIEE:1; + } BIT; + } TIER2; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TTSE:1; + unsigned char TTSB:1; + unsigned char TTSA:1; + } BIT; + } TBTM; +}; + +struct st_mtu1 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; + char wk1[238]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char CCLR:2; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char MD:4; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIOR; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :1; + unsigned char TCIEU:1; + unsigned char TCIEV:1; + unsigned char :2; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; + char wk3[4]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char I2BE:1; + unsigned char I2AE:1; + unsigned char I1BE:1; + unsigned char I1AE:1; + } BIT; + } TICCR; +}; + +struct st_mtu2 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; + char wk0[365]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char CCLR:2; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char MD:4; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIOR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :1; + unsigned char TCIEU:1; + unsigned char TCIEV:1; + unsigned char :2; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; +}; + +struct st_mtu3 { + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOD:4; + unsigned char IOC:4; + } BIT; + } TIORL; + char wk2[2]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :2; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + char wk3[7]; + unsigned short TCNT; + char wk4[6]; + unsigned short TGRA; + unsigned short TGRB; + char wk5[8]; + unsigned short TGRC; + unsigned short TGRD; + char wk6[4]; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + char wk7[11]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TTSE:1; + unsigned char TTSB:1; + unsigned char TTSA:1; + } BIT; + } TBTM; + char wk8[90]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; +}; + +struct st_mtu4 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR; + char wk2[2]; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOD:4; + unsigned char IOC:4; + } BIT; + } TIORL; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char TTGE2:1; + unsigned char :1; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + char wk4[8]; + unsigned short TCNT; + char wk5[8]; + unsigned short TGRA; + unsigned short TGRB; + char wk6[8]; + unsigned short TGRC; + unsigned short TGRD; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + char wk8[11]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TTSE:1; + unsigned char TTSB:1; + unsigned char TTSA:1; + } BIT; + } TBTM; + char wk9[6]; + union { + unsigned short WORD; + struct { + unsigned short BF:2; + unsigned short :6; + unsigned short UT4AE:1; + unsigned short DT4AE:1; + unsigned short UT4BE:1; + unsigned short DT4BE:1; + unsigned short ITA3AE:1; + unsigned short ITA4VE:1; + unsigned short ITB3AE:1; + unsigned short ITB4VE:1; + } BIT; + } TADCR; + char wk10[2]; + unsigned short TADCORA; + unsigned short TADCORB; + unsigned short TADCOBRA; + unsigned short TADCOBRB; + char wk11[72]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; +}; + +struct st_mtu5 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char :1; + unsigned char NFWEN:1; + unsigned char NFVEN:1; + unsigned char NFUEN:1; + } BIT; + } NFCR; + char wk1[490]; + unsigned short TCNTU; + unsigned short TGRU; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TPSC:2; + } BIT; + } TCRU; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char IOC:5; + } BIT; + } TIORU; + char wk3[9]; + unsigned short TCNTV; + unsigned short TGRV; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TPSC:2; + } BIT; + } TCRV; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char IOC:5; + } BIT; + } TIORV; + char wk5[9]; + unsigned short TCNTW; + unsigned short TGRW; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TPSC:2; + } BIT; + } TCRW; + char wk6[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char IOC:5; + } BIT; + } TIORW; + char wk7[11]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TGIE5U:1; + unsigned char TGIE5V:1; + unsigned char TGIE5W:1; + } BIT; + } TIER; + char wk8[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char CSTU5:1; + unsigned char CSTV5:1; + unsigned char CSTW5:1; + } BIT; + } TSTR; + char wk9[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char CMPCLR5U:1; + unsigned char CMPCLR5V:1; + unsigned char CMPCLR5W:1; + } BIT; + } TCNTCMPCLR; +}; + +struct st_poe { + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char POE3F:1; + unsigned char POE2F:1; + unsigned char POE1F:1; + unsigned char POE0F:1; + unsigned char :3; + unsigned char PIE1:1; + unsigned char POE3M:2; + unsigned char POE2M:2; + unsigned char POE1M:2; + unsigned char POE0M:2; + } BIT; + } ICSR1; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char OSF1:1; + unsigned char :5; + unsigned char OCE1:1; + unsigned char OIE1:1; + } BIT; + } OCSR1; + char wk0[4]; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :3; + unsigned char POE8F:1; + unsigned char :2; + unsigned char POE8E:1; + unsigned char PIE2:1; + unsigned char :6; + unsigned char POE8M:2; + } BIT; + } ICSR2; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char CH0HIZ:1; + unsigned char CH34HIZ:1; + } BIT; + } SPOER; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char PE3ZE:1; + unsigned char PE2ZE:1; + unsigned char PE1ZE:1; + unsigned char PE0ZE:1; + } BIT; + } POECR1; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char P1CZEA:1; + unsigned char P2CZEA:1; + unsigned char P3CZEA:1; + } BIT; + } POECR2; + char wk1[1]; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :3; + unsigned char OSTSTF:1; + unsigned char :2; + unsigned char OSTSTE:1; + } BIT; + } ICSR3; +}; + +struct st_port { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL5:1; + unsigned char :1; + unsigned char PSEL3:1; + unsigned char :1; + unsigned char PSEL1:1; + unsigned char PSEL0:1; + } BIT; + } PSRB; + union { + unsigned char BYTE; + struct { + unsigned char PSEL7:1; + unsigned char PSEL6:1; + } BIT; + } PSRA; +}; + +struct st_port0 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PMR; + char wk3[95]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PCR; +}; + +struct st_port1 { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PMR; + char wk3[33]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[61]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PCR; +}; + +struct st_port2 { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + } BIT; + } PMR; + char wk3[34]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + } BIT; + } ODR1; + char wk4[60]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + } BIT; + } PCR; +}; + +struct st_port3 { + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :2; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[34]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + char wk4[60]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_port4 { + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; +}; + +struct st_port5 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PMR; + char wk3[95]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PCR; +}; + +struct st_porta { + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[41]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :3; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char B4:1; + unsigned char :3; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[52]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_portb { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[42]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :3; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + } BIT; + } ODR1; + char wk4[51]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_portc { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + } BIT; + } PMR; + char wk3[43]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[50]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + } BIT; + } PCR; +}; + +struct st_porte { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[45]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[48]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_riic { + union { + unsigned char BYTE; + struct { + unsigned char ICE:1; + unsigned char IICRST:1; + unsigned char CLO:1; + unsigned char SOWP:1; + unsigned char SCLO:1; + unsigned char SDAO:1; + unsigned char SCLI:1; + unsigned char SDAI:1; + } BIT; + } ICCR1; + union { + unsigned char BYTE; + struct { + unsigned char BBSY:1; + unsigned char MST:1; + unsigned char TRS:1; + unsigned char :1; + unsigned char SP:1; + unsigned char RS:1; + unsigned char ST:1; + } BIT; + } ICCR2; + union { + unsigned char BYTE; + struct { + unsigned char MTWP:1; + unsigned char CKS:3; + unsigned char BCWP:1; + unsigned char BC:3; + } BIT; + } ICMR1; + union { + unsigned char BYTE; + struct { + unsigned char DLCS:1; + unsigned char SDDL:3; + unsigned char TMWE:1; + unsigned char TMOH:1; + unsigned char TMOL:1; + unsigned char TMOS:1; + } BIT; + } ICMR2; + union { + unsigned char BYTE; + struct { + unsigned char SMBS:1; + unsigned char WAIT:1; + unsigned char RDRFS:1; + unsigned char ACKWP:1; + unsigned char ACKBT:1; + unsigned char ACKBR:1; + unsigned char NF:2; + } BIT; + } ICMR3; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char SCLE:1; + unsigned char NFE:1; + unsigned char NACKE:1; + unsigned char SALE:1; + unsigned char NALE:1; + unsigned char MALE:1; + unsigned char TMOE:1; + } BIT; + } ICFER; + union { + unsigned char BYTE; + struct { + unsigned char HOAE:1; + unsigned char :1; + unsigned char DIDE:1; + unsigned char :1; + unsigned char GCAE:1; + unsigned char SAR2E:1; + unsigned char SAR1E:1; + unsigned char SAR0E:1; + } BIT; + } ICSER; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char TEIE:1; + unsigned char RIE:1; + unsigned char NAKIE:1; + unsigned char SPIE:1; + unsigned char STIE:1; + unsigned char ALIE:1; + unsigned char TMOIE:1; + } BIT; + } ICIER; + union { + unsigned char BYTE; + struct { + unsigned char HOA:1; + unsigned char :1; + unsigned char DID:1; + unsigned char :1; + unsigned char GCA:1; + unsigned char AAS2:1; + unsigned char AAS1:1; + unsigned char AAS0:1; + } BIT; + } ICSR1; + union { + unsigned char BYTE; + struct { + unsigned char TDRE:1; + unsigned char TEND:1; + unsigned char RDRF:1; + unsigned char NACKF:1; + unsigned char STOP:1; + unsigned char START:1; + unsigned char AL:1; + unsigned char TMOF:1; + } BIT; + } ICSR2; + union { + union { + unsigned char BYTE; + struct { + unsigned char SVA:7; + unsigned char SVA0:1; + } BIT; + } SARL0; + union { + unsigned char BYTE; + } TMOCNTL; + }; + union { + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SVA:2; + unsigned char FS:1; + } BIT; + } SARU0; + union { + unsigned char BYTE; + } TMOCNTH; + }; + union { + unsigned char BYTE; + struct { + unsigned char SVA:7; + unsigned char SVA0:1; + } BIT; + } SARL1; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SVA:2; + unsigned char FS:1; + } BIT; + } SARU1; + union { + unsigned char BYTE; + struct { + unsigned char SVA:7; + unsigned char SVA0:1; + } BIT; + } SARL2; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SVA:2; + unsigned char FS:1; + } BIT; + } SARU2; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char BRL:5; + } BIT; + } ICBRL; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char BRH:5; + } BIT; + } ICBRH; + unsigned char ICDRT; + unsigned char ICDRR; +}; + +struct st_rspi { + union { + unsigned char BYTE; + struct { + unsigned char SPRIE:1; + unsigned char SPE:1; + unsigned char SPTIE:1; + unsigned char SPEIE:1; + unsigned char MSTR:1; + unsigned char MODFEN:1; + unsigned char TXMD:1; + unsigned char SPMS:1; + } BIT; + } SPCR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char SSL3P:1; + unsigned char SSL2P:1; + unsigned char SSL1P:1; + unsigned char SSL0P:1; + } BIT; + } SSLP; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char MOIFE:1; + unsigned char MOIFV:1; + unsigned char :2; + unsigned char SPLP2:1; + unsigned char SPLP:1; + } BIT; + } SPPCR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char PERF:1; + unsigned char MODF:1; + unsigned char IDLNF:1; + unsigned char OVRF:1; + } BIT; + } SPSR; + union { + unsigned long LONG; + struct { + unsigned short H; + } WORD; + } SPDR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SPSLN:3; + } BIT; + } SPSCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char SPECM:3; + unsigned char :1; + unsigned char SPCP:3; + } BIT; + } SPSSR; + unsigned char SPBR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char SPLW:1; + unsigned char SPRDTD:1; + unsigned char :2; + unsigned char SPFC:2; + } BIT; + } SPDCR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SCKDL:3; + } BIT; + } SPCKD; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SLNDL:3; + } BIT; + } SSLND; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SPNDL:3; + } BIT; + } SPND; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char PTE:1; + unsigned char SPIIE:1; + unsigned char SPOE:1; + unsigned char SPPE:1; + } BIT; + } SPCR2; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD0; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD1; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD2; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD3; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD4; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD5; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD6; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD7; +}; + +struct st_rtc { + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char F1HZ:1; + unsigned char F2HZ:1; + unsigned char F4HZ:1; + unsigned char F8HZ:1; + unsigned char F16HZ:1; + unsigned char F32HZ:1; + unsigned char F64HZ:1; + } BIT; + } R64CNT; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char SEC10:3; + unsigned char SEC1:4; + } BIT; + } RSECCNT; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char MIN10:3; + unsigned char MIN1:4; + } BIT; + } RMINCNT; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PM:1; + unsigned char HR10:2; + unsigned char HR1:4; + } BIT; + } RHRCNT; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char DAYW:3; + } BIT; + } RWKCNT; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char DATE10:2; + unsigned char DATE1:4; + } BIT; + } RDAYCNT; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char MON10:1; + unsigned char MON1:4; + } BIT; + } RMONCNT; + char wk6[1]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short YR10:4; + unsigned short YR1:4; + } BIT; + } RYRCNT; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char SEC10:3; + unsigned char SEC1:4; + } BIT; + } RSECAR; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char MIN10:3; + unsigned char MIN1:4; + } BIT; + } RMINAR; + char wk8[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char PM:1; + unsigned char HR10:2; + unsigned char HR1:4; + } BIT; + } RHRAR; + char wk9[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char :4; + unsigned char DAYW:3; + } BIT; + } RWKAR; + char wk10[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char :1; + unsigned char DATE10:2; + unsigned char DATE1:4; + } BIT; + } RDAYAR; + char wk11[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char :2; + unsigned char MON10:1; + unsigned char MON1:4; + } BIT; + } RMONAR; + char wk12[1]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short YR10:4; + unsigned short YR1:4; + } BIT; + } RYRAR; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + } BIT; + } RYRAREN; + char wk13[3]; + union { + unsigned char BYTE; + struct { + unsigned char PES:4; + unsigned char RTCOS:1; + unsigned char PIE:1; + unsigned char CIE:1; + unsigned char AIE:1; + } BIT; + } RCR1; + char wk14[1]; + union { + unsigned char BYTE; + struct { + unsigned char CNTMD:1; + unsigned char HR24:1; + unsigned char AADJP:1; + unsigned char AADJE:1; + unsigned char RTCOE:1; + unsigned char ADJ30:1; + unsigned char RESET:1; + unsigned char START:1; + } BIT; + } RCR2; + char wk15[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char RTCDV:2; + unsigned char RTCEN:1; + } BIT; + } RCR3; + char wk16[7]; + union { + unsigned char BYTE; + struct { + unsigned char PMADJ:2; + unsigned char ADJ:6; + } BIT; + } RADJ; +}; + +struct st_rtcb { + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT0; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT1; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT2; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT3; + char wk3[7]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT0AR; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT1AR; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT2AR; + char wk6[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT3AR; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:8; + } BIT; + } BCNT0AER; + char wk8[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:8; + } BIT; + } BCNT1AER; + char wk9[1]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short ENB:8; + } BIT; + } BCNT2AER; + union { + unsigned char BYTE; + struct { + unsigned char ENB:8; + } BIT; + } BCNT3AER; +}; + +struct st_s12ad { + union { + unsigned short WORD; + struct { + unsigned short ADST:1; + unsigned short ADCS:2; + unsigned short ADIE:1; + unsigned short :1; + unsigned short ADHSC:1; + unsigned short TRGE:1; + unsigned short EXTRG:1; + unsigned short DBLE:1; + unsigned short GBADIE:1; + unsigned short :1; + unsigned short DBLANS:5; + } BIT; + } ADCSR; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned short ANSA15:1; + unsigned short ANSA14:1; + unsigned short ANSA13:1; + unsigned short ANSA12:1; + unsigned short ANSA11:1; + unsigned short ANSA10:1; + unsigned short ANSA9:1; + unsigned short ANSA8:1; + unsigned short :1; + unsigned short ANSA6:1; + unsigned short :1; + unsigned short ANSA4:1; + unsigned short ANSA3:1; + unsigned short ANSA2:1; + unsigned short ANSA1:1; + unsigned short ANSA0:1; + } BIT; + } ADANSA; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned short ADS15:1; + unsigned short ADS14:1; + unsigned short ADS13:1; + unsigned short ADS12:1; + unsigned short ADS11:1; + unsigned short ADS10:1; + unsigned short ADS9:1; + unsigned short ADS8:1; + unsigned short :1; + unsigned short ADS6:1; + unsigned short :1; + unsigned short ADS4:1; + unsigned short ADS3:1; + unsigned short ADS2:1; + unsigned short ADS1:1; + unsigned short ADS0:1; + } BIT; + } ADADS; + char wk2[2]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char ADC:2; + } BIT; + } ADADC; + char wk3[1]; + union { + unsigned short WORD; + struct { + unsigned short ADRFMT:1; + unsigned short :9; + unsigned short ACE:1; + } BIT; + } ADCER; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short TRSA:4; + unsigned short :4; + unsigned short TRSB:4; + } BIT; + } ADSTRGR; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short OCS:1; + unsigned short TSS:1; + unsigned short :6; + unsigned short OCSAD:1; + } BIT; + } ADEXICR; + union { + unsigned short WORD; + struct { + unsigned short ANSB15:1; + unsigned short ANSB14:1; + unsigned short ANSB13:1; + unsigned short ANSB12:1; + unsigned short ANSB11:1; + unsigned short ANSB10:1; + unsigned short ANSB9:1; + unsigned short ANSB8:1; + unsigned short :1; + unsigned short ANSB6:1; + unsigned short :1; + unsigned short ANSB4:1; + unsigned short ANSB3:1; + unsigned short ANSB2:1; + unsigned short ANSB1:1; + unsigned short ANSB0:1; + } BIT; + } ADANSB; + char wk4[2]; + unsigned short ADDBLDR; + unsigned short ADTSDR; + unsigned short ADOCDR; + char wk5[2]; + unsigned short ADDR0; + unsigned short ADDR1; + unsigned short ADDR2; + unsigned short ADDR3; + unsigned short ADDR4; + char wk6[2]; + unsigned short ADDR6; + char wk7[2]; + unsigned short ADDR8; + unsigned short ADDR9; + unsigned short ADDR10; + unsigned short ADDR11; + unsigned short ADDR12; + unsigned short ADDR13; + unsigned short ADDR14; + unsigned short ADDR15; + char wk8[32]; + unsigned char ADSSTR0; + unsigned char ADSSTRL; + char wk9[14]; + unsigned char ADSSTRT; + unsigned char ADSSTRO; + char wk10[1]; + unsigned char ADSSTR1; + unsigned char ADSSTR2; + unsigned char ADSSTR3; + unsigned char ADSSTR4; + char wk11[1]; + unsigned char ADSSTR6; +}; + +struct st_sci1 { + union { + unsigned char BYTE; + struct { + unsigned char CM:1; + unsigned char CHR:1; + unsigned char PE:1; + unsigned char PM:1; + unsigned char STOP:1; + unsigned char MP:1; + unsigned char CKS:2; + } BIT; + } SMR; + unsigned char BRR; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char RIE:1; + unsigned char TE:1; + unsigned char RE:1; + unsigned char MPIE:1; + unsigned char TEIE:1; + unsigned char CKE:2; + } BIT; + } SCR; + unsigned char TDR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char ORER:1; + unsigned char FER:1; + unsigned char PER:1; + unsigned char TEND:1; + unsigned char MPB:1; + unsigned char MPBT:1; + } BIT; + } SSR; + unsigned char RDR; + union { + unsigned char BYTE; + struct { + unsigned char BCP2:1; + unsigned char :3; + unsigned char SDIR:1; + unsigned char SINV:1; + unsigned char :1; + unsigned char SMIF:1; + } BIT; + } SCMR; + union { + unsigned char BYTE; + struct { + unsigned char RXDESEL:1; + unsigned char :1; + unsigned char NFEN:1; + unsigned char ABCS:1; + } BIT; + } SEMR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char NFCS:3; + } BIT; + } SNFR; + union { + unsigned char BYTE; + struct { + unsigned char IICDL:5; + unsigned char :2; + unsigned char IICM:1; + } BIT; + } SIMR1; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char IICACKT:1; + unsigned char :3; + unsigned char IICCSC:1; + unsigned char IICINTM:1; + } BIT; + } SIMR2; + union { + unsigned char BYTE; + struct { + unsigned char IICSCLS:2; + unsigned char IICSDAS:2; + unsigned char IICSTIF:1; + unsigned char IICSTPREQ:1; + unsigned char IICRSTAREQ:1; + unsigned char IICSTAREQ:1; + } BIT; + } SIMR3; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char IICACKR:1; + } BIT; + } SISR; + union { + unsigned char BYTE; + struct { + unsigned char CKPH:1; + unsigned char CKPOL:1; + unsigned char :1; + unsigned char MFF:1; + unsigned char :1; + unsigned char MSS:1; + unsigned char CTSE:1; + unsigned char SSE:1; + } BIT; + } SPMR; +}; + +struct st_sci12 { + union { + unsigned char BYTE; + struct { + unsigned char CM:1; + unsigned char CHR:1; + unsigned char PE:1; + unsigned char PM:1; + unsigned char STOP:1; + unsigned char MP:1; + unsigned char CKS:2; + } BIT; + } SMR; + unsigned char BRR; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char RIE:1; + unsigned char TE:1; + unsigned char RE:1; + unsigned char MPIE:1; + unsigned char TEIE:1; + unsigned char CKE:2; + } BIT; + } SCR; + unsigned char TDR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char ORER:1; + unsigned char FER:1; + unsigned char PER:1; + unsigned char TEND:1; + unsigned char MPB:1; + unsigned char MPBT:1; + } BIT; + } SSR; + unsigned char RDR; + union { + unsigned char BYTE; + struct { + unsigned char BCP2:1; + unsigned char :3; + unsigned char SDIR:1; + unsigned char SINV:1; + unsigned char :1; + unsigned char SMIF:1; + } BIT; + } SCMR; + union { + unsigned char BYTE; + struct { + unsigned char RXDESEL:1; + unsigned char :1; + unsigned char NFEN:1; + unsigned char ABCS:1; + } BIT; + } SEMR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char NFCS:3; + } BIT; + } SNFR; + union { + unsigned char BYTE; + struct { + unsigned char IICDL:5; + unsigned char :2; + unsigned char IICM:1; + } BIT; + } SIMR1; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char IICACKT:1; + unsigned char :3; + unsigned char IICCSC:1; + unsigned char IICINTM:1; + } BIT; + } SIMR2; + union { + unsigned char BYTE; + struct { + unsigned char IICSCLS:2; + unsigned char IICSDAS:2; + unsigned char IICSTIF:1; + unsigned char IICSTPREQ:1; + unsigned char IICRSTAREQ:1; + unsigned char IICSTAREQ:1; + } BIT; + } SIMR3; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char IICACKR:1; + } BIT; + } SISR; + union { + unsigned char BYTE; + struct { + unsigned char CKPH:1; + unsigned char CKPOL:1; + unsigned char :1; + unsigned char MFF:1; + unsigned char :1; + unsigned char MSS:1; + unsigned char CTSE:1; + unsigned char SSE:1; + } BIT; + } SPMR; + char wk0[18]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char ESME:1; + } BIT; + } ESMER; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char BRME:1; + unsigned char RXDSF:1; + unsigned char SFSF:1; + } BIT; + } CR0; + union { + unsigned char BYTE; + struct { + unsigned char PIBS:3; + unsigned char PIBE:1; + unsigned char CF1DS:2; + unsigned char CF0RE:1; + unsigned char BFE:1; + } BIT; + } CR1; + union { + unsigned char BYTE; + struct { + unsigned char RTS:2; + unsigned char BCCS:2; + unsigned char :1; + unsigned char DFCS:3; + } BIT; + } CR2; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SDST:1; + } BIT; + } CR3; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char SHARPS:1; + unsigned char :2; + unsigned char RXDXPS:1; + unsigned char TXDXPS:1; + } BIT; + } PCR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char AEDIE:1; + unsigned char BCDIE:1; + unsigned char PIBDIE:1; + unsigned char CF1MIE:1; + unsigned char CF0MIE:1; + unsigned char BFDIE:1; + } BIT; + } ICR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char AEDF:1; + unsigned char BCDF:1; + unsigned char PIBDF:1; + unsigned char CF1MF:1; + unsigned char CF0MF:1; + unsigned char BFDF:1; + } BIT; + } STR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char AEDCL:1; + unsigned char BCDCL:1; + unsigned char PIBDCL:1; + unsigned char CF1MCL:1; + unsigned char CF0MCL:1; + unsigned char BFDCL:1; + } BIT; + } STCR; + unsigned char CF0DR; + union { + unsigned char BYTE; + struct { + unsigned char CF0CE7:1; + unsigned char CF0CE6:1; + unsigned char CF0CE5:1; + unsigned char CF0CE4:1; + unsigned char CF0CE3:1; + unsigned char CF0CE2:1; + unsigned char CF0CE1:1; + unsigned char CF0CE0:1; + } BIT; + } CF0CR; + unsigned char CF0RR; + unsigned char PCF1DR; + unsigned char SCF1DR; + union { + unsigned char BYTE; + struct { + unsigned char CF1CE7:1; + unsigned char CF1CE6:1; + unsigned char CF1CE5:1; + unsigned char CF1CE4:1; + unsigned char CF1CE3:1; + unsigned char CF1CE2:1; + unsigned char CF1CE1:1; + unsigned char CF1CE0:1; + } BIT; + } CF1CR; + unsigned char CF1RR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char TCST:1; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char TCSS:3; + unsigned char TWRC:1; + unsigned char :1; + unsigned char TOMS:2; + } BIT; + } TMR; + unsigned char TPRE; + unsigned char TCNT; +}; + +struct st_smci { + union { + unsigned char BYTE; + struct { + unsigned char GM:1; + unsigned char BLK:1; + unsigned char PE:1; + unsigned char PM:1; + unsigned char BCP:2; + unsigned char CKS:2; + } BIT; + } SMR; + unsigned char BRR; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char RIE:1; + unsigned char TE:1; + unsigned char RE:1; + unsigned char MPIE:1; + unsigned char TEIE:1; + unsigned char CKE:2; + } BIT; + } SCR; + unsigned char TDR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char ORER:1; + unsigned char ERS:1; + unsigned char PER:1; + unsigned char TEND:1; + unsigned char MPB:1; + unsigned char MPBT:1; + } BIT; + } SSR; + unsigned char RDR; + union { + unsigned char BYTE; + struct { + unsigned char BCP2:1; + unsigned char :3; + unsigned char SDIR:1; + unsigned char SINV:1; + unsigned char :1; + unsigned char SMIF:1; + } BIT; + } SCMR; +}; + +struct st_system { + union { + unsigned short WORD; + struct { + unsigned short :15; + unsigned short MD:1; + } BIT; + } MDMONR; + char wk0[6]; + union { + unsigned short WORD; + struct { + unsigned short :15; + unsigned short RAME:1; + } BIT; + } SYSCR1; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned short SSBY:1; + } BIT; + } SBYCR; + char wk2[2]; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long MSTPA28:1; + unsigned long :8; + unsigned long MSTPA19:1; + unsigned long :1; + unsigned long MSTPA17:1; + unsigned long :1; + unsigned long MSTPA15:1; + unsigned long :5; + unsigned long MSTPA9:1; + } BIT; + } MSTPCRA; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long MSTPB30:1; + unsigned long :3; + unsigned long MSTPB26:1; + unsigned long :2; + unsigned long MSTPB23:1; + unsigned long :1; + unsigned long MSTPB21:1; + unsigned long :1; + unsigned long MSTPB19:1; + unsigned long :1; + unsigned long MSTPB17:1; + unsigned long :7; + unsigned long MSTPB9:1; + unsigned long :2; + unsigned long MSTPB6:1; + unsigned long :1; + unsigned long MSTPB4:1; + } BIT; + } MSTPCRB; + union { + unsigned long LONG; + struct { + unsigned long DSLPE:1; + unsigned long :11; + unsigned long MSTPC19:1; + unsigned long :18; + unsigned long MSTPC0:1; + } BIT; + } MSTPCRC; + char wk3[4]; + union { + unsigned long LONG; + struct { + unsigned long FCK:4; + unsigned long ICK:4; + unsigned long :12; + unsigned long PCKB:4; + unsigned long :4; + unsigned long PCKD:4; + } BIT; + } SCKCR; + char wk4[2]; + union { + unsigned short WORD; + struct { + unsigned short :5; + unsigned short CKSEL:3; + } BIT; + } SCKCR3; + union { + unsigned short WORD; + struct { + unsigned short :2; + unsigned short STC:6; + unsigned short :6; + unsigned short PLIDIV:2; + } BIT; + } PLLCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char PLLEN:1; + } BIT; + } PLLCR2; + char wk5[7]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char MOSTP:1; + } BIT; + } MOSCCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SOSTP:1; + } BIT; + } SOSCCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char LCSTP:1; + } BIT; + } LOCOCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char ILCSTP:1; + } BIT; + } ILOCOCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char HCSTP:1; + } BIT; + } HOCOCR; + char wk6[5]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char HCOVF:1; + unsigned char PLOVF:1; + unsigned char :1; + unsigned char MOOVF:1; + } BIT; + } OSCOVFSR; + char wk7[1]; + union { + unsigned short WORD; + struct { + unsigned short CKOSTP:1; + unsigned short CKODIV:3; + unsigned short :1; + unsigned short CKOSEL:3; + } BIT; + } CKOCR; + union { + unsigned char BYTE; + struct { + unsigned char OSTDE:1; + unsigned char :6; + unsigned char OSTDIE:1; + } BIT; + } OSTDCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char OSTDF:1; + } BIT; + } OSTDSR; + char wk8[94]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char OPCMTSF:1; + unsigned char :1; + unsigned char OPCM:3; + } BIT; + } OPCCR; + union { + unsigned char BYTE; + struct { + unsigned char RSTCKEN:1; + unsigned char :4; + unsigned char RSTCKSEL:3; + } BIT; + } RSTCKCR; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char MSTS:5; + } BIT; + } MOSCWTCR; + char wk9[7]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char SOPCMTSF:1; + unsigned char :3; + unsigned char SOPCM:1; + } BIT; + } SOPCCR; + char wk10[21]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SWRF:1; + unsigned char :1; + unsigned char IWDTRF:1; + } BIT; + } RSTSR2; + char wk11[1]; + unsigned short SWRR; + char wk12[28]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char LVD1IRQSEL:1; + unsigned char LVD1IDTSEL:2; + } BIT; + } LVD1CR1; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char LVD1MON:1; + unsigned char LVD1DET:1; + } BIT; + } LVD1SR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char LVD2IRQSEL:1; + unsigned char LVD2IDTSEL:2; + } BIT; + } LVD2CR1; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char LVD2MON:1; + unsigned char LVD2DET:1; + } BIT; + } LVD2SR; + char wk13[794]; + union { + unsigned short WORD; + struct { + unsigned short PRKEY:8; + unsigned short :4; + unsigned short PRC3:1; + unsigned short :1; + unsigned short PRC1:1; + unsigned short PRC0:1; + } BIT; + } PRCR; + char wk14[48784]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char LVD2RF:1; + unsigned char LVD1RF:1; + unsigned char :1; + unsigned char PORF:1; + } BIT; + } RSTSR0; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char CWSF:1; + } BIT; + } RSTSR1; + char wk15[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char MOSEL:1; + unsigned char MODRV21:1; + } BIT; + } MOFCR; + char wk16[3]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char LVD2E:1; + unsigned char LVD1E:1; + unsigned char :1; + unsigned char EXVCCINP2:1; + } BIT; + } LVCMPCR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char LVD2LVL:2; + unsigned char LVD1LVL:4; + } BIT; + } LVDLVLR; + char wk17[1]; + union { + unsigned char BYTE; + struct { + unsigned char LVD1RN:1; + unsigned char LVD1RI:1; + unsigned char :3; + unsigned char LVD1CMPE:1; + unsigned char :1; + unsigned char LVD1RIE:1; + } BIT; + } LVD1CR0; + union { + unsigned char BYTE; + struct { + unsigned char LVD2RN:1; + unsigned char LVD2RI:1; + unsigned char :3; + unsigned char LVD2CMPE:1; + unsigned char :1; + unsigned char LVD2RIE:1; + } BIT; + } LVD2CR0; +}; + +struct st_usb { + union { + unsigned short WORD; + struct { + unsigned short :5; + unsigned short SCKE:1; + unsigned short :1; + unsigned short CNEN:1; + unsigned short :1; + unsigned short DCFM:1; + unsigned short DRPD:1; + unsigned short DPRPU:1; + unsigned short :3; + unsigned short USBE:1; + } BIT; + } SYSCFG; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned short OVCMON:2; + unsigned short :7; + unsigned short HTACT:1; + unsigned short :3; + unsigned short IDMON:1; + unsigned short LNST:2; + } BIT; + } SYSSTS0; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short HNPBTOA:1; + unsigned short EXICEN:1; + unsigned short VBUSEN:1; + unsigned short WKUP:1; + unsigned short RWUPE:1; + unsigned short USBRST:1; + unsigned short RESUME:1; + unsigned short UACT:1; + unsigned short :1; + unsigned short RHST:3; + } BIT; + } DVSTCTR0; + char wk2[10]; + union { + unsigned short WORD; + struct { + unsigned char L; + unsigned char H; + } BYTE; + } CFIFO; + char wk3[2]; + union { + unsigned short WORD; + struct { + unsigned char L; + unsigned char H; + } BYTE; + } D0FIFO; + char wk4[2]; + union { + unsigned short WORD; + struct { + unsigned char L; + unsigned char H; + } BYTE; + } D1FIFO; + char wk5[2]; + union { + unsigned short WORD; + struct { + unsigned short RCNT:1; + unsigned short REW:1; + unsigned short :3; + unsigned short MBW:1; + unsigned short :1; + unsigned short BIGEND:1; + unsigned short :2; + unsigned short ISEL:1; + unsigned short :1; + unsigned short CURPIPE:4; + } BIT; + } CFIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short BVAL:1; + unsigned short BCLR:1; + unsigned short FRDY:1; + unsigned short :4; + unsigned short DTLN:9; + } BIT; + } CFIFOCTR; + char wk6[4]; + union { + unsigned short WORD; + struct { + unsigned short RCNT:1; + unsigned short REW:1; + unsigned short DCLRM:1; + unsigned short DREQE:1; + unsigned short :1; + unsigned short MBW:1; + unsigned short :1; + unsigned short BIGEND:1; + unsigned short :4; + unsigned short CURPIPE:4; + } BIT; + } D0FIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short BVAL:1; + unsigned short BCLR:1; + unsigned short FRDY:1; + unsigned short :4; + unsigned short DTLN:9; + } BIT; + } D0FIFOCTR; + union { + unsigned short WORD; + struct { + unsigned short RCNT:1; + unsigned short REW:1; + unsigned short DCLRM:1; + unsigned short DREQE:1; + unsigned short :1; + unsigned short MBW:1; + unsigned short :1; + unsigned short BIGEND:1; + unsigned short :4; + unsigned short CURPIPE:4; + } BIT; + } D1FIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short BVAL:1; + unsigned short BCLR:1; + unsigned short FRDY:1; + unsigned short :4; + unsigned short DTLN:9; + } BIT; + } D1FIFOCTR; + union { + unsigned short WORD; + struct { + unsigned short VBSE:1; + unsigned short RSME:1; + unsigned short SOFE:1; + unsigned short DVSE:1; + unsigned short CTRE:1; + unsigned short BEMPE:1; + unsigned short NRDYE:1; + unsigned short BRDYE:1; + } BIT; + } INTENB0; + union { + unsigned short WORD; + struct { + unsigned short OVRCRE:1; + unsigned short BCHGE:1; + unsigned short :1; + unsigned short DTCHE:1; + unsigned short ATTCHE:1; + unsigned short :4; + unsigned short EOFERRE:1; + unsigned short SIGNE:1; + unsigned short SACKE:1; + unsigned short :3; + unsigned short PDDETINTE0:1; + } BIT; + } INTENB1; + char wk7[2]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BRDYE:1; + unsigned short PIPE8BRDYE:1; + unsigned short PIPE7BRDYE:1; + unsigned short PIPE6BRDYE:1; + unsigned short PIPE5BRDYE:1; + unsigned short PIPE4BRDYE:1; + unsigned short PIPE3BRDYE:1; + unsigned short PIPE2BRDYE:1; + unsigned short PIPE1BRDYE:1; + unsigned short PIPE0BRDYE:1; + } BIT; + } BRDYENB; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9NRDYE:1; + unsigned short PIPE8NRDYE:1; + unsigned short PIPE7NRDYE:1; + unsigned short PIPE6NRDYE:1; + unsigned short PIPE5NRDYE:1; + unsigned short PIPE4NRDYE:1; + unsigned short PIPE3NRDYE:1; + unsigned short PIPE2NRDYE:1; + unsigned short PIPE1NRDYE:1; + unsigned short PIPE0NRDYE:1; + } BIT; + } NRDYENB; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BEMPE:1; + unsigned short PIPE8BEMPE:1; + unsigned short PIPE7BEMPE:1; + unsigned short PIPE6BEMPE:1; + unsigned short PIPE5BEMPE:1; + unsigned short PIPE4BEMPE:1; + unsigned short PIPE3BEMPE:1; + unsigned short PIPE2BEMPE:1; + unsigned short PIPE1BEMPE:1; + unsigned short PIPE0BEMPE:1; + } BIT; + } BEMPENB; + union { + unsigned short WORD; + struct { + unsigned short :7; + unsigned short TRNENSEL:1; + unsigned short :1; + unsigned short BRDYM:1; + unsigned short :1; + unsigned short EDGESTS:1; + } BIT; + } SOFCFG; + char wk8[2]; + union { + unsigned short WORD; + struct { + unsigned short VBINT:1; + unsigned short RESM:1; + unsigned short SOFR:1; + unsigned short DVST:1; + unsigned short CTRT:1; + unsigned short BEMP:1; + unsigned short NRDY:1; + unsigned short BRDY:1; + unsigned short VBSTS:1; + unsigned short DVSQ:3; + unsigned short VALID:1; + unsigned short CTSQ:3; + } BIT; + } INTSTS0; + union { + unsigned short WORD; + struct { + unsigned short OVRCR:1; + unsigned short BCHG:1; + unsigned short :1; + unsigned short DTCH:1; + unsigned short ATTCH:1; + unsigned short :4; + unsigned short EOFERR:1; + unsigned short SIGN:1; + unsigned short SACK:1; + unsigned short :3; + unsigned short PDDETINT0:1; + } BIT; + } INTSTS1; + char wk9[2]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BRDY:1; + unsigned short PIPE8BRDY:1; + unsigned short PIPE7BRDY:1; + unsigned short PIPE6BRDY:1; + unsigned short PIPE5BRDY:1; + unsigned short PIPE4BRDY:1; + unsigned short PIPE3BRDY:1; + unsigned short PIPE2BRDY:1; + unsigned short PIPE1BRDY:1; + unsigned short PIPE0BRDY:1; + } BIT; + } BRDYSTS; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9NRDY:1; + unsigned short PIPE8NRDY:1; + unsigned short PIPE7NRDY:1; + unsigned short PIPE6NRDY:1; + unsigned short PIPE5NRDY:1; + unsigned short PIPE4NRDY:1; + unsigned short PIPE3NRDY:1; + unsigned short PIPE2NRDY:1; + unsigned short PIPE1NRDY:1; + unsigned short PIPE0NRDY:1; + } BIT; + } NRDYSTS; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BEMP:1; + unsigned short PIPE8BEMP:1; + unsigned short PIPE7BEMP:1; + unsigned short PIPE6BEMP:1; + unsigned short PIPE5BEMP:1; + unsigned short PIPE4BEMP:1; + unsigned short PIPE3BEMP:1; + unsigned short PIPE2BEMP:1; + unsigned short PIPE1BEMP:1; + unsigned short PIPE0BEMP:1; + } BIT; + } BEMPSTS; + union { + unsigned short WORD; + struct { + unsigned short OVRN:1; + unsigned short CRCE:1; + unsigned short :3; + unsigned short FRNM:11; + } BIT; + } FRMNUM; + char wk10[6]; + union { + unsigned short WORD; + struct { + unsigned short BREQUEST:8; + unsigned short BMREQUESTTYPE:8; + } BIT; + } USBREQ; + unsigned short USBVAL; + unsigned short USBINDX; + unsigned short USBLENG; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short SHTNAK:1; + unsigned short :2; + unsigned short DIR:1; + } BIT; + } DCPCFG; + union { + unsigned short WORD; + struct { + unsigned short DEVSEL:4; + unsigned short :5; + unsigned short MXPS:7; + } BIT; + } DCPMAXP; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short SUREQ:1; + unsigned short :2; + unsigned short SUREQCLR:1; + unsigned short :2; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :2; + unsigned short CCPL:1; + unsigned short PID:2; + } BIT; + } DCPCTR; + char wk11[2]; + union { + unsigned short WORD; + struct { + unsigned short :12; + unsigned short PIPESEL:4; + } BIT; + } PIPESEL; + char wk12[2]; + union { + unsigned short WORD; + struct { + unsigned short TYPE:2; + unsigned short :3; + unsigned short BFRE:1; + unsigned short DBLB:1; + unsigned short :1; + unsigned short SHTNAK:1; + unsigned short :2; + unsigned short DIR:1; + unsigned short EPNUM:4; + } BIT; + } PIPECFG; + char wk13[2]; + union { + unsigned short WORD; + struct { + unsigned short DEVSEL:4; + unsigned short :3; + unsigned short MXPS:9; + } BIT; + } PIPEMAXP; + union { + unsigned short WORD; + struct { + unsigned short :3; + unsigned short IFIS:1; + unsigned short :9; + unsigned short IITV:3; + } BIT; + } PIPEPERI; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE1CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE2CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE3CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE4CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE5CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short :5; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE6CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short :5; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE7CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short :5; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE8CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short :5; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE9CTR; + char wk14[14]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE1TRE; + unsigned short PIPE1TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE2TRE; + unsigned short PIPE2TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE3TRE; + unsigned short PIPE3TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE4TRE; + unsigned short PIPE4TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE5TRE; + unsigned short PIPE5TRN; + char wk15[12]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PDDETSTS0:1; + unsigned short CHGDETSTS0:1; + unsigned short BATCHGE0:1; + unsigned short DCPMODE0:1; + unsigned short VDMSRCE0:1; + unsigned short IDPSINKE0:1; + unsigned short VDPSRCE0:1; + unsigned short IDMSINKE0:1; + unsigned short IDPSRCE0:1; + unsigned short RPDME0:1; + } BIT; + } USBBCCTRL0; + char wk16[26]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short VBRPDCUT:1; + unsigned short :6; + unsigned short VDDUSBE:1; + } BIT; + } USBMC; + char wk17[2]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD0; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD1; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD2; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD3; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD4; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD5; +}; + +#endif /*endian */ + +enum enum_ir { +IR_BSC_BUSERR=16,IR_ICU_SWINT=27, +IR_CMT0_CMI0, +IR_CMT1_CMI1, +IR_CAC_FERRF=32,IR_CAC_MENDF,IR_CAC_OVFF, +IR_USB0_D0FIFO0=36,IR_USB0_D1FIFO0,IR_USB0_USBI0, +IR_RSPI0_SPEI0=44,IR_RSPI0_SPRI0,IR_RSPI0_SPTI0,IR_RSPI0_SPII0, +IR_DOC_DOPCF=57, +IR_RTC_CUP=63, +IR_ICU_IRQ0,IR_ICU_IRQ1,IR_ICU_IRQ2,IR_ICU_IRQ3,IR_ICU_IRQ4,IR_ICU_IRQ5,IR_ICU_IRQ6,IR_ICU_IRQ7, +IR_LVD_LVD1=88,IR_LVD_LVD2, +IR_USB0_USBR0, +IR_RTC_ALM=92,IR_RTC_PRD, +IR_S12AD_S12ADI0=102,IR_S12AD_GBADI, +IR_ELC_ELSR18I=106, +IR_MTU0_TGIA0=114,IR_MTU0_TGIB0,IR_MTU0_TGIC0,IR_MTU0_TGID0,IR_MTU0_TCIV0,IR_MTU0_TGIE0,IR_MTU0_TGIF0, +IR_MTU1_TGIA1,IR_MTU1_TGIB1,IR_MTU1_TCIV1,IR_MTU1_TCIU1, +IR_MTU2_TGIA2,IR_MTU2_TGIB2,IR_MTU2_TCIV2,IR_MTU2_TCIU2, +IR_MTU3_TGIA3,IR_MTU3_TGIB3,IR_MTU3_TGIC3,IR_MTU3_TGID3,IR_MTU3_TCIV3, +IR_MTU4_TGIA4,IR_MTU4_TGIB4,IR_MTU4_TGIC4,IR_MTU4_TGID4,IR_MTU4_TCIV4, +IR_MTU5_TGIU5,IR_MTU5_TGIV5,IR_MTU5_TGIW5, +IR_POE_OEI1=170,IR_POE_OEI2, +IR_SCI1_ERI1=218,IR_SCI1_RXI1,IR_SCI1_TXI1,IR_SCI1_TEI1, +IR_SCI5_ERI5,IR_SCI5_RXI5,IR_SCI5_TXI5,IR_SCI5_TEI5, +IR_SCI12_ERI12=238,IR_SCI12_RXI12,IR_SCI12_TXI12,IR_SCI12_TEI12,IR_SCI12_SCIX0,IR_SCI12_SCIX1,IR_SCI12_SCIX2,IR_SCI12_SCIX3, +IR_RIIC0_EEI0,IR_RIIC0_RXI0,IR_RIIC0_TXI0,IR_RIIC0_TEI0 +}; + +enum enum_dtce { +DTCE_ICU_SWINT=27, +DTCE_CMT0_CMI0, +DTCE_CMT1_CMI1, +DTCE_USB0_D0FIFO0=36,DTCE_USB0_D1FIFO0, +DTCE_RSPI0_SPRI0=45,DTCE_RSPI0_SPTI0, +DTCE_ICU_IRQ0=64,DTCE_ICU_IRQ1,DTCE_ICU_IRQ2,DTCE_ICU_IRQ3,DTCE_ICU_IRQ4,DTCE_ICU_IRQ5,DTCE_ICU_IRQ6,DTCE_ICU_IRQ7, +DTCE_S12AD_S12ADI0=102,DTCE_S12AD_GBADI, +DTCE_ELC_ELSR18I=106, +DTCE_MTU0_TGIA0=114,DTCE_MTU0_TGIB0,DTCE_MTU0_TGIC0,DTCE_MTU0_TGID0, +DTCE_MTU1_TGIA1=121,DTCE_MTU1_TGIB1, +DTCE_MTU2_TGIA2=125,DTCE_MTU2_TGIB2, +DTCE_MTU3_TGIA3=129,DTCE_MTU3_TGIB3,DTCE_MTU3_TGIC3,DTCE_MTU3_TGID3, +DTCE_MTU4_TGIA4=134,DTCE_MTU4_TGIB4,DTCE_MTU4_TGIC4,DTCE_MTU4_TGID4,DTCE_MTU4_TCIV4, +DTCE_MTU5_TGIU5,DTCE_MTU5_TGIV5,DTCE_MTU5_TGIW5, +DTCE_SCI1_RXI1=219,DTCE_SCI1_TXI1, +DTCE_SCI5_RXI5=223,DTCE_SCI5_TXI5, +DTCE_SCI12_RXI12=239,DTCE_SCI12_TXI12, +DTCE_RIIC0_RXI0=247,DTCE_RIIC0_TXI0 +}; + +enum enum_ier { +IER_BSC_BUSERR=0x02, +IER_ICU_SWINT=0x03, +IER_CMT0_CMI0=0x03, +IER_CMT1_CMI1=0x03, +IER_CAC_FERRF=0x04,IER_CAC_MENDF=0x04,IER_CAC_OVFF=0x04, +IER_USB0_D0FIFO0=0x04,IER_USB0_D1FIFO0=0x04,IER_USB0_USBI0=0x04, +IER_RSPI0_SPEI0=0x05,IER_RSPI0_SPRI0=0x05,IER_RSPI0_SPTI0=0x05,IER_RSPI0_SPII0=0x05, +IER_DOC_DOPCF=0x07, +IER_RTC_CUP=0x07, +IER_ICU_IRQ0=0x08,IER_ICU_IRQ1=0x08,IER_ICU_IRQ2=0x08,IER_ICU_IRQ3=0x08,IER_ICU_IRQ4=0x08,IER_ICU_IRQ5=0x08,IER_ICU_IRQ6=0x08,IER_ICU_IRQ7=0x08, +IER_LVD_LVD1=0x0B,IER_LVD_LVD2=0x0B, +IER_USB0_USBR0=0x0B, +IER_RTC_ALM=0x0B,IER_RTC_PRD=0x0B, +IER_S12AD_S12ADI0=0x0C,IER_S12AD_GBADI=0x0C, +IER_ELC_ELSR18I=0x0D, +IER_MTU0_TGIA0=0x0E,IER_MTU0_TGIB0=0x0E,IER_MTU0_TGIC0=0x0E,IER_MTU0_TGID0=0x0E,IER_MTU0_TCIV0=0x0E,IER_MTU0_TGIE0=0x0E,IER_MTU0_TGIF0=0x0F, +IER_MTU1_TGIA1=0x0F,IER_MTU1_TGIB1=0x0F,IER_MTU1_TCIV1=0x0F,IER_MTU1_TCIU1=0x0F, +IER_MTU2_TGIA2=0x0F,IER_MTU2_TGIB2=0x0F,IER_MTU2_TCIV2=0x0F,IER_MTU2_TCIU2=0x10, +IER_MTU3_TGIA3=0x10,IER_MTU3_TGIB3=0x10,IER_MTU3_TGIC3=0x10,IER_MTU3_TGID3=0x10,IER_MTU3_TCIV3=0x10, +IER_MTU4_TGIA4=0x10,IER_MTU4_TGIB4=0x10,IER_MTU4_TGIC4=0x11,IER_MTU4_TGID4=0x11,IER_MTU4_TCIV4=0x11, +IER_MTU5_TGIU5=0x11,IER_MTU5_TGIV5=0x11,IER_MTU5_TGIW5=0x11, +IER_POE_OEI1=0x15,IER_POE_OEI2=0x15, +IER_SCI1_ERI1=0x1B,IER_SCI1_RXI1=0x1B,IER_SCI1_TXI1=0x1B,IER_SCI1_TEI1=0x1B, +IER_SCI5_ERI5=0x1B,IER_SCI5_RXI5=0x1B,IER_SCI5_TXI5=0x1C,IER_SCI5_TEI5=0x1C, +IER_SCI12_ERI12=0x1D,IER_SCI12_RXI12=0x1D,IER_SCI12_TXI12=0x1E,IER_SCI12_TEI12=0x1E,IER_SCI12_SCIX0=0x1E,IER_SCI12_SCIX1=0x1E,IER_SCI12_SCIX2=0x1E,IER_SCI12_SCIX3=0x1E, +IER_RIIC0_EEI0=0x1E,IER_RIIC0_RXI0=0x1E,IER_RIIC0_TXI0=0x1F,IER_RIIC0_TEI0=0x1F +}; + +enum enum_ipr { +IPR_BSC_BUSERR=0, +IPR_ICU_SWINT=3, +IPR_CMT0_CMI0=4, +IPR_CMT1_CMI1=5, +IPR_CAC_FERRF=32,IPR_CAC_MENDF=33,IPR_CAC_OVFF=34, +IPR_USB0_D0FIFO0=36,IPR_USB0_D1FIFO0=37,IPR_USB0_USBI0=38, +IPR_RSPI0_SPEI0=44,IPR_RSPI0_SPRI0=44,IPR_RSPI0_SPTI0=44,IPR_RSPI0_SPII0=44, +IPR_DOC_DOPCF=57, +IPR_RTC_CUP=63, +IPR_ICU_IRQ0=64,IPR_ICU_IRQ1=65,IPR_ICU_IRQ2=66,IPR_ICU_IRQ3=67,IPR_ICU_IRQ4=68,IPR_ICU_IRQ5=69,IPR_ICU_IRQ6=70,IPR_ICU_IRQ7=71, +IPR_LVD_LVD1=88,IPR_LVD_LVD2=89, +IPR_USB0_USBR0=90, +IPR_RTC_ALM=92,IPR_RTC_PRD=93, +IPR_S12AD_S12ADI0=102,IPR_S12AD_GBADI=103, +IPR_ELC_ELSR18I=106, +IPR_MTU0_TGIA0=114,IPR_MTU0_TGIB0=114,IPR_MTU0_TGIC0=114,IPR_MTU0_TGID0=114,IPR_MTU0_TCIV0=118,IPR_MTU0_TGIE0=118,IPR_MTU0_TGIF0=118, +IPR_MTU1_TGIA1=121,IPR_MTU1_TGIB1=121,IPR_MTU1_TCIV1=123,IPR_MTU1_TCIU1=123, +IPR_MTU2_TGIA2=125,IPR_MTU2_TGIB2=125,IPR_MTU2_TCIV2=127,IPR_MTU2_TCIU2=127, +IPR_MTU3_TGIA3=129,IPR_MTU3_TGIB3=129,IPR_MTU3_TGIC3=129,IPR_MTU3_TGID3=129,IPR_MTU3_TCIV3=133, +IPR_MTU4_TGIA4=134,IPR_MTU4_TGIB4=134,IPR_MTU4_TGIC4=134,IPR_MTU4_TGID4=134,IPR_MTU4_TCIV4=138, +IPR_MTU5_TGIU5=139,IPR_MTU5_TGIV5=139,IPR_MTU5_TGIW5=139, +IPR_POE_OEI1=170,IPR_POE_OEI2=171, +IPR_SCI1_ERI1=218,IPR_SCI1_RXI1=218,IPR_SCI1_TXI1=218,IPR_SCI1_TEI1=218, +IPR_SCI5_ERI5=222,IPR_SCI5_RXI5=222,IPR_SCI5_TXI5=222,IPR_SCI5_TEI5=222, +IPR_SCI12_ERI12=238,IPR_SCI12_RXI12=238,IPR_SCI12_TXI12=238,IPR_SCI12_TEI12=238,IPR_SCI12_SCIX0=242,IPR_SCI12_SCIX1=243,IPR_SCI12_SCIX2=244,IPR_SCI12_SCIX3=245, +IPR_RIIC0_EEI0=246,IPR_RIIC0_RXI0=247,IPR_RIIC0_TXI0=248,IPR_RIIC0_TEI0=249, +IPR_BSC_=0, +IPR_CMT0_=4, +IPR_CMT1_=5, +IPR_RSPI0_=44, +IPR_DOC_=57, +IPR_ELC_=106, +IPR_MTU1_TGI=121, +IPR_MTU1_TCI=123, +IPR_MTU2_TGI=125, +IPR_MTU2_TCI=127, +IPR_MTU3_TGI=129, +IPR_MTU4_TGI=134, +IPR_MTU5_=139, +IPR_MTU5_TGI=139, +IPR_SCI1_=218, +IPR_SCI5_=222 +}; + +#define IEN_BSC_BUSERR IEN0 +#define IEN_ICU_SWINT IEN3 +#define IEN_CMT0_CMI0 IEN4 +#define IEN_CMT1_CMI1 IEN5 +#define IEN_CAC_FERRF IEN0 +#define IEN_CAC_MENDF IEN1 +#define IEN_CAC_OVFF IEN2 +#define IEN_USB0_D0FIFO0 IEN4 +#define IEN_USB0_D1FIFO0 IEN5 +#define IEN_USB0_USBI0 IEN6 +#define IEN_RSPI0_SPEI0 IEN4 +#define IEN_RSPI0_SPRI0 IEN5 +#define IEN_RSPI0_SPTI0 IEN6 +#define IEN_RSPI0_SPII0 IEN7 +#define IEN_DOC_DOPCF IEN1 +#define IEN_RTC_CUP IEN7 +#define IEN_ICU_IRQ0 IEN0 +#define IEN_ICU_IRQ1 IEN1 +#define IEN_ICU_IRQ2 IEN2 +#define IEN_ICU_IRQ3 IEN3 +#define IEN_ICU_IRQ4 IEN4 +#define IEN_ICU_IRQ5 IEN5 +#define IEN_ICU_IRQ6 IEN6 +#define IEN_ICU_IRQ7 IEN7 +#define IEN_LVD_LVD1 IEN0 +#define IEN_LVD_LVD2 IEN1 +#define IEN_USB0_USBR0 IEN2 +#define IEN_RTC_ALM IEN4 +#define IEN_RTC_PRD IEN5 +#define IEN_S12AD_S12ADI0 IEN6 +#define IEN_S12AD_GBADI IEN7 +#define IEN_ELC_ELSR18I IEN2 +#define IEN_MTU0_TGIA0 IEN2 +#define IEN_MTU0_TGIB0 IEN3 +#define IEN_MTU0_TGIC0 IEN4 +#define IEN_MTU0_TGID0 IEN5 +#define IEN_MTU0_TCIV0 IEN6 +#define IEN_MTU0_TGIE0 IEN7 +#define IEN_MTU0_TGIF0 IEN0 +#define IEN_MTU1_TGIA1 IEN1 +#define IEN_MTU1_TGIB1 IEN2 +#define IEN_MTU1_TCIV1 IEN3 +#define IEN_MTU1_TCIU1 IEN4 +#define IEN_MTU2_TGIA2 IEN5 +#define IEN_MTU2_TGIB2 IEN6 +#define IEN_MTU2_TCIV2 IEN7 +#define IEN_MTU2_TCIU2 IEN0 +#define IEN_MTU3_TGIA3 IEN1 +#define IEN_MTU3_TGIB3 IEN2 +#define IEN_MTU3_TGIC3 IEN3 +#define IEN_MTU3_TGID3 IEN4 +#define IEN_MTU3_TCIV3 IEN5 +#define IEN_MTU4_TGIA4 IEN6 +#define IEN_MTU4_TGIB4 IEN7 +#define IEN_MTU4_TGIC4 IEN0 +#define IEN_MTU4_TGID4 IEN1 +#define IEN_MTU4_TCIV4 IEN2 +#define IEN_MTU5_TGIU5 IEN3 +#define IEN_MTU5_TGIV5 IEN4 +#define IEN_MTU5_TGIW5 IEN5 +#define IEN_POE_OEI1 IEN2 +#define IEN_POE_OEI2 IEN3 +#define IEN_SCI1_ERI1 IEN2 +#define IEN_SCI1_RXI1 IEN3 +#define IEN_SCI1_TXI1 IEN4 +#define IEN_SCI1_TEI1 IEN5 +#define IEN_SCI5_ERI5 IEN6 +#define IEN_SCI5_RXI5 IEN7 +#define IEN_SCI5_TXI5 IEN0 +#define IEN_SCI5_TEI5 IEN1 +#define IEN_SCI12_ERI12 IEN6 +#define IEN_SCI12_RXI12 IEN7 +#define IEN_SCI12_TXI12 IEN0 +#define IEN_SCI12_TEI12 IEN1 +#define IEN_SCI12_SCIX0 IEN2 +#define IEN_SCI12_SCIX1 IEN3 +#define IEN_SCI12_SCIX2 IEN4 +#define IEN_SCI12_SCIX3 IEN5 +#define IEN_RIIC0_EEI0 IEN6 +#define IEN_RIIC0_RXI0 IEN7 +#define IEN_RIIC0_TXI0 IEN0 +#define IEN_RIIC0_TEI0 IEN1 + +#define VECT_BSC_BUSERR 16 +#define VECT_ICU_SWINT 27 +#define VECT_CMT0_CMI0 28 +#define VECT_CMT1_CMI1 29 +#define VECT_CAC_FERRF 32 +#define VECT_CAC_MENDF 33 +#define VECT_CAC_OVFF 34 +#define VECT_USB0_D0FIFO0 36 +#define VECT_USB0_D1FIFO0 37 +#define VECT_USB0_USBI0 38 +#define VECT_RSPI0_SPEI0 44 +#define VECT_RSPI0_SPRI0 45 +#define VECT_RSPI0_SPTI0 46 +#define VECT_RSPI0_SPII0 47 +#define VECT_DOC_DOPCF 57 +#define VECT_RTC_CUP 63 +#define VECT_ICU_IRQ0 64 +#define VECT_ICU_IRQ1 65 +#define VECT_ICU_IRQ2 66 +#define VECT_ICU_IRQ3 67 +#define VECT_ICU_IRQ4 68 +#define VECT_ICU_IRQ5 69 +#define VECT_ICU_IRQ6 70 +#define VECT_ICU_IRQ7 71 +#define VECT_LVD_LVD1 88 +#define VECT_LVD_LVD2 89 +#define VECT_USB0_USBR0 90 +#define VECT_RTC_ALM 92 +#define VECT_RTC_PRD 93 +#define VECT_S12AD_S12ADI0 102 +#define VECT_S12AD_GBADI 103 +#define VECT_ELC_ELSR18I 106 +#define VECT_MTU0_TGIA0 114 +#define VECT_MTU0_TGIB0 115 +#define VECT_MTU0_TGIC0 116 +#define VECT_MTU0_TGID0 117 +#define VECT_MTU0_TCIV0 118 +#define VECT_MTU0_TGIE0 119 +#define VECT_MTU0_TGIF0 120 +#define VECT_MTU1_TGIA1 121 +#define VECT_MTU1_TGIB1 122 +#define VECT_MTU1_TCIV1 123 +#define VECT_MTU1_TCIU1 124 +#define VECT_MTU2_TGIA2 125 +#define VECT_MTU2_TGIB2 126 +#define VECT_MTU2_TCIV2 127 +#define VECT_MTU2_TCIU2 128 +#define VECT_MTU3_TGIA3 129 +#define VECT_MTU3_TGIB3 130 +#define VECT_MTU3_TGIC3 131 +#define VECT_MTU3_TGID3 132 +#define VECT_MTU3_TCIV3 133 +#define VECT_MTU4_TGIA4 134 +#define VECT_MTU4_TGIB4 135 +#define VECT_MTU4_TGIC4 136 +#define VECT_MTU4_TGID4 137 +#define VECT_MTU4_TCIV4 138 +#define VECT_MTU5_TGIU5 139 +#define VECT_MTU5_TGIV5 140 +#define VECT_MTU5_TGIW5 141 +#define VECT_POE_OEI1 170 +#define VECT_POE_OEI2 171 +#define VECT_SCI1_ERI1 218 +#define VECT_SCI1_RXI1 219 +#define VECT_SCI1_TXI1 220 +#define VECT_SCI1_TEI1 221 +#define VECT_SCI5_ERI5 222 +#define VECT_SCI5_RXI5 223 +#define VECT_SCI5_TXI5 224 +#define VECT_SCI5_TEI5 225 +#define VECT_SCI12_ERI12 238 +#define VECT_SCI12_RXI12 239 +#define VECT_SCI12_TXI12 240 +#define VECT_SCI12_TEI12 241 +#define VECT_SCI12_SCIX0 242 +#define VECT_SCI12_SCIX1 243 +#define VECT_SCI12_SCIX2 244 +#define VECT_SCI12_SCIX3 245 +#define VECT_RIIC0_EEI0 246 +#define VECT_RIIC0_RXI0 247 +#define VECT_RIIC0_TXI0 248 +#define VECT_RIIC0_TEI0 249 + +#define MSTP_DTC SYSTEM.MSTPCRA.BIT.MSTPA28 +#define MSTP_DA SYSTEM.MSTPCRA.BIT.MSTPA19 +#define MSTP_S12AD SYSTEM.MSTPCRA.BIT.MSTPA17 +#define MSTP_CMT SYSTEM.MSTPCRA.BIT.MSTPA15 +#define MSTP_CMT0 SYSTEM.MSTPCRA.BIT.MSTPA15 +#define MSTP_CMT1 SYSTEM.MSTPCRA.BIT.MSTPA15 +#define MSTP_MTU SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU0 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU1 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU2 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU3 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU4 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU5 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_SCI1 SYSTEM.MSTPCRB.BIT.MSTPB30 +#define MSTP_SMCI1 SYSTEM.MSTPCRB.BIT.MSTPB30 +#define MSTP_SCI5 SYSTEM.MSTPCRB.BIT.MSTPB26 +#define MSTP_SMCI5 SYSTEM.MSTPCRB.BIT.MSTPB26 +#define MSTP_CRC SYSTEM.MSTPCRB.BIT.MSTPB23 +#define MSTP_RIIC0 SYSTEM.MSTPCRB.BIT.MSTPB21 +#define MSTP_USB0 SYSTEM.MSTPCRB.BIT.MSTPB19 +#define MSTP_RSPI0 SYSTEM.MSTPCRB.BIT.MSTPB17 +#define MSTP_ELC SYSTEM.MSTPCRB.BIT.MSTPB9 +#define MSTP_DOC SYSTEM.MSTPCRB.BIT.MSTPB6 +#define MSTP_SCI12 SYSTEM.MSTPCRB.BIT.MSTPB4 +#define MSTP_SMCI12 SYSTEM.MSTPCRB.BIT.MSTPB4 +#define MSTP_CAC SYSTEM.MSTPCRC.BIT.MSTPC19 +#define MSTP_RAM0 SYSTEM.MSTPCRC.BIT.MSTPC0 + +#define __IR( x ) ICU.IR[ IR ## x ].BIT.IR +#define _IR( x ) __IR( x ) +#define IR( x , y ) _IR( _ ## x ## _ ## y ) +#define __DTCE( x ) ICU.DTCER[ DTCE ## x ].BIT.DTCE +#define _DTCE( x ) __DTCE( x ) +#define DTCE( x , y ) _DTCE( _ ## x ## _ ## y ) +#define __IEN( x ) ICU.IER[ IER ## x ].BIT.IEN ## x +#define _IEN( x ) __IEN( x ) +#define IEN( x , y ) _IEN( _ ## x ## _ ## y ) +#define __IPR( x ) ICU.IPR[ IPR ## x ].BIT.IPR +#define _IPR( x ) __IPR( x ) +#define IPR( x , y ) _IPR( _ ## x ## _ ## y ) +#define __VECT( x ) VECT ## x +#define _VECT( x ) __VECT( x ) +#define VECT( x , y ) _VECT( _ ## x ## _ ## y ) +#define __MSTP( x ) MSTP ## x +#define _MSTP( x ) __MSTP( x ) +#define MSTP( x ) _MSTP( _ ## x ) + +#define BSC (*(volatile struct st_bsc *)0x81300) +#define CAC (*(volatile struct st_cac *)0x8B000) +#define CMT (*(volatile struct st_cmt *)0x88000) +#define CMT0 (*(volatile struct st_cmt0 *)0x88002) +#define CMT1 (*(volatile struct st_cmt0 *)0x88008) +#define CRC (*(volatile struct st_crc *)0x88280) +#define DA (*(volatile struct st_da *)0x880C0) +#define DOC (*(volatile struct st_doc *)0x8B080) +#define DTC (*(volatile struct st_dtc *)0x82400) +#define ELC (*(volatile struct st_elc *)0x8B100) +#define FLASH (*(volatile struct st_flash *)0x7FC090) +#define ICU (*(volatile struct st_icu *)0x87000) +#define IWDT (*(volatile struct st_iwdt *)0x88030) +#define MPC (*(volatile struct st_mpc *)0x8C11F) +#define MTU (*(volatile struct st_mtu *)0x8860A) +#define MTU0 (*(volatile struct st_mtu0 *)0x88690) +#define MTU1 (*(volatile struct st_mtu1 *)0x88690) +#define MTU2 (*(volatile struct st_mtu2 *)0x88692) +#define MTU3 (*(volatile struct st_mtu3 *)0x88600) +#define MTU4 (*(volatile struct st_mtu4 *)0x88600) +#define MTU5 (*(volatile struct st_mtu5 *)0x88694) +#define POE (*(volatile struct st_poe *)0x88900) +#define PORT (*(volatile struct st_port *)0x8C120) +#define PORT0 (*(volatile struct st_port0 *)0x8C000) +#define PORT1 (*(volatile struct st_port1 *)0x8C001) +#define PORT2 (*(volatile struct st_port2 *)0x8C002) +#define PORT3 (*(volatile struct st_port3 *)0x8C003) +#define PORT4 (*(volatile struct st_port4 *)0x8C004) +#define PORT5 (*(volatile struct st_port5 *)0x8C005) +#define PORTA (*(volatile struct st_porta *)0x8C00A) +#define PORTB (*(volatile struct st_portb *)0x8C00B) +#define PORTC (*(volatile struct st_portc *)0x8C00C) +#define PORTE (*(volatile struct st_porte *)0x8C00E) +#define RIIC0 (*(volatile struct st_riic *)0x88300) +#define RSPI0 (*(volatile struct st_rspi *)0x88380) +#define RTC (*(volatile struct st_rtc *)0x8C400) +#define RTCB (*(volatile struct st_rtcb *)0x8C402) +#define S12AD (*(volatile struct st_s12ad *)0x89000) +#define SCI1 (*(volatile struct st_sci1 *)0x8A020) +#define SCI5 (*(volatile struct st_sci1 *)0x8A0A0) +#define SCI12 (*(volatile struct st_sci12 *)0x8B300) +#define SMCI1 (*(volatile struct st_smci *)0x8A020) +#define SMCI5 (*(volatile struct st_smci *)0x8A0A0) +#define SMCI12 (*(volatile struct st_smci *)0x8B300) +#define SYSTEM (*(volatile struct st_system *)0x80000) +#define USB0 (*(volatile struct st_usb *)0xA0000) +#endif /*__RX_LITTLE_ENDIAN__*/ diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/mcu_info.h b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/mcu_info.h new file mode 100644 index 000000000..6ed672bf5 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/mcu_info.h @@ -0,0 +1,112 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2011 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : mcu_info.h +* Device(s) : RX111 +* Description : Information about the MCU on this board (RSKRX111). +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +#ifndef _MCU_INFO +#define _MCU_INFO + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Gets MCU configuration information. */ +#include "r_bsp_config.h" + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +/* MCU Series. */ +#if MCU_PART_SERIES == 0x0 + #define MCU_SERIES_RX100 (1) +#else + #error "ERROR - MCU_PART_SERIES - Unknown MCU Series chosen in r_bsp_config.h" +#endif + +/* MCU Group name. */ +#if MCU_PART_GROUP == 0x1 + #define MCU_RX111 (1) + #define MCU_RX11x (1) +#else + #error "ERROR - MCU_PART_GROUP - Unknown MCU Group chosen in r_bsp_config.h" +#endif + +/* Package. */ +#if MCU_PART_PACKAGE == 0x0 + #define PACKAGE_LFQFP64 (1) +#elif MCU_PART_PACKAGE == 0x1 + #define PACKAGE_LQFP64 (1) +#elif MCU_PART_PACKAGE == 0x2 + #define PACKAGE_TFLGA64 (1) +#elif MCU_PART_PACKAGE == 0x3 + #define PACKAGE_LFQFP48 (1) +#elif MCU_PART_PACKAGE == 0x4 + #define PACKAGE_VQFN48 (1) +#elif MCU_PART_PACKAGE == 0x5 + #define PACKAGE_HWQFN36 (1) +#elif MCU_PART_PACKAGE == 0x6 + #define PACKAGE_WFLGA36 (1) +#elif MCU_PART_PACKAGE == 0x7 + #define PACKAGE_SSOP36 (1) +#else + #error "ERROR - MCU_PART_PACKAGE - Unknown package chosen in r_bsp_config.h" +#endif + +/* Memory size of your MCU. */ +#if MCU_PART_MEMORY_SIZE == 0x0 // "J" parts + #define ROM_SIZE_BYTES (16384) + #define RAM_SIZE_BYTES (8192) + #define DF_SIZE_BYTES (8192) +#elif MCU_PART_MEMORY_SIZE == 0x1 + #define ROM_SIZE_BYTES (32768) + #define RAM_SIZE_BYTES (10240) + #define DF_SIZE_BYTES (8192) +#elif MCU_PART_MEMORY_SIZE == 0x3 + #define ROM_SIZE_BYTES (65536) + #define RAM_SIZE_BYTES (10240) + #define DF_SIZE_BYTES (8192) +#elif MCU_PART_MEMORY_SIZE == 0x4 + #define ROM_SIZE_BYTES (98304) + #define RAM_SIZE_BYTES (16384) + #define DF_SIZE_BYTES (8192) +#elif MCU_PART_MEMORY_SIZE == 0x5 + #define ROM_SIZE_BYTES (131072) + #define RAM_SIZE_BYTES (16384) + #define DF_SIZE_BYTES (8192) +#else + #error "ERROR - MCU_PART_MEMORY_SIZE - Unknown memory size chosen in r_bsp_config.h" +#endif + +/* System clock speed in Hz. */ +#define ICLK_HZ (((XTAL_HZ/PLL_DIV) * PLL_MUL) / ICK_DIV) +/* Peripheral Module Clock B speed in Hz. */ +#define PCLKB_HZ (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKB_DIV) +/* Peripheral Module Clock D speed in Hz. */ +#define PCLKD_HZ (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKD_DIV) +/* FlashIF clock speed in Hz. */ +#define FCLK_HZ (((XTAL_HZ/PLL_DIV) * PLL_MUL) / FCK_DIV) + +#endif /* _MCU_INFO */ + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/reset_program.asm b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/reset_program.asm new file mode 100644 index 000000000..4a1497cb0 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/reset_program.asm @@ -0,0 +1,175 @@ +/***********************************************************************/ +/* */ +/* PROJECT NAME : RTOSDemo_GCC */ +/* FILE : reset_program.asm */ +/* DESCRIPTION : Reset Program */ +/* CPU SERIES : RX100 */ +/* CPU TYPE : RX111 */ +/* */ +/* This file is generated by e2studio. */ +/* */ +/***********************************************************************/ + + + + /*reset_program.asm*/ + + .list + .section .text + .global _PowerON_Reset /*global Start routine */ + + .extern _HardwareSetup /*external Sub-routine to initialise Hardware*/ + .extern _data + .extern _mdata + .extern _ebss + .extern _bss + .extern _edata + .extern _main + .extern _ustack + .extern _istack + .extern _rvectors + .extern _exit + + +_PowerON_Reset : +/* initialise user stack pointer */ + mvtc #_ustack,USP + +/* initialise interrupt stack pointer */ + mvtc #_istack,ISP + +/* setup intb */ + mvtc #_rvectors_start, intb /* INTERRUPT VECTOR ADDRESS definition */ + +/* load data section from ROM to RAM */ + + mov #_mdata,r2 /* src ROM address of data section in R2 */ + mov #_data,r1 /* dest start RAM address of data section in R1 */ + mov #_edata,r3 /* end RAM address of data section in R3 */ + sub r1,r3 /* size of data section in R3 (R3=R3-R1) */ + smovf /* block copy R3 bytes from R2 to R1 */ + +/* bss initialisation : zero out bss */ + + mov #00h,r2 /* load R2 reg with zero */ + mov #_ebss, r3 /* store the end address of bss in R3 */ + mov #_bss, r1 /* store the start address of bss in R1 */ + sub r1,r3 /* size of bss section in R3 (R3=R3-R1) */ + sstr.b +/* call the hardware initialiser */ + bsr.a _HardwareSetup + nop + +#ifdef RUN_IN_USER_MODE +/* setup PSW */ + mvtc #10000h, psw /* Set Ubit & Ibit for PSW */ + +/* change PSW PM to user-mode */ + MVFC PSW,R1 + OR #00100000h,R1 + PUSH.L R1 + MVFC PC,R1 + ADD #10,R1 + PUSH.L R1 + RTE + NOP + NOP +#endif +#ifdef CPPAPP + bsr.a __rx_init +#endif +/* start user program */ + bsr.a _main + bsr.a _exit + +#ifdef CPPAPP + .global _rx_run_preinit_array + .type _rx_run_preinit_array,@function +_rx_run_preinit_array: + mov #__preinit_array_start,r1 + mov #__preinit_array_end,r2 + bra.a _rx_run_inilist + + .global _rx_run_init_array + .type _rx_run_init_array,@function +_rx_run_init_array: + mov #__init_array_start,r1 + mov #__init_array_end,r2 + mov #4, r3 + bra.a _rx_run_inilist + + .global _rx_run_fini_array + .type _rx_run_fini_array,@function +_rx_run_fini_array: + mov #__fini_array_start,r2 + mov #__fini_array_end,r1 + mov #-4, r3 + /* fall through */ + +_rx_run_inilist: +next_inilist: + cmp r1,r2 + beq.b done_inilist + mov.l [r1],r4 + cmp #-1, r4 + beq.b skip_inilist + cmp #0, r4 + beq.b skip_inilist + pushm r1-r3 + jsr r4 + popm r1-r3 +skip_inilist: + add r3,r1 + bra.b next_inilist +done_inilist: + rts + + .section .init,"ax" + .balign 4 + + .global __rx_init +__rx_init: + + .section .fini,"ax" + .balign 4 + + .global __rx_fini +__rx_fini: + bsr.a _rx_run_fini_array + + .section .sdata + .balign 4 + .global __gp + .weak __gp +__gp: + + .section .data + .global ___dso_handle + .weak ___dso_handle +___dso_handle: + .long 0 + + .section .init,"ax" + bsr.a _rx_run_preinit_array + bsr.a _rx_run_init_array + rts + + .global __rx_init_end +__rx_init_end: + + .section .fini,"ax" + + rts + .global __rx_fini_end +__rx_fini_end: + +#endif + +/* call to exit*/ +_exit: + bra _loop_here +_loop_here: + bra _loop_here + + .text + .end diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/typedefine.h b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/typedefine.h new file mode 100644 index 000000000..a52e28687 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/typedefine.h @@ -0,0 +1,25 @@ +/***********************************************************************/ +/* */ +/* PROJECT NAME : RTOSDemo_GCC */ +/* FILE : typedefine.h */ +/* DESCRIPTION : Aliases of Integer Type */ +/* CPU SERIES : RX100 */ +/* CPU TYPE : RX111 */ +/* */ +/* This file is generated by e2studio. */ +/* */ +/***********************************************************************/ + + + + +typedef signed char _SBYTE; +typedef unsigned char _UBYTE; +typedef signed short _SWORD; +typedef unsigned short _UWORD; +typedef signed int _SINT; +typedef unsigned int _UINT; +typedef signed long _SDWORD; +typedef unsigned long _UDWORD; +typedef signed long long _SQWORD; +typedef unsigned long long _UQWORD; diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/vector_table.c b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/vector_table.c new file mode 100644 index 000000000..aac394ee8 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/vector_table.c @@ -0,0 +1,590 @@ +/***********************************************************************/ +/* */ +/* PROJECT NAME : RTOSDemo_GCC */ +/* FILE : vector_table.c */ +/* DESCRIPTION : Vector Table */ +/* CPU SERIES : RX100 */ +/* CPU TYPE : RX111 */ +/* */ +/* This file is generated by e2studio. */ +/* */ +/***********************************************************************/ + + + + + +#include "interrupt_handlers.h" + +typedef void (*fp) (void); +extern void PowerON_Reset (void); +extern void stack (void); +extern void vPortSoftwareInterruptISR( void ); +extern void vPortTickISR( void ); +extern void Dummy( void ); +extern void vButtonInterrupt( void ); + +#ifdef __RX_LITTLE_ENDIAN__ +const unsigned char Endian_Select[] __attribute__ ((section (".endian_bytes"))) = { + 0xff, 0xff, 0xff, 0xff +}; +#elif __RX_BIG_ENDIAN__ +const unsigned char Endian_Select[] __attribute__ ((section (".endian_bytes"))) = { + 0xff, 0xff, 0xff, 0xf8 +}; +#endif + +// Option bytes setting for OFS1:0xFFFFFF88 and OFS0:0xFFFFFF8C +const unsigned char Security_Id[] __attribute__ ((section (".option_bytes"))) = { + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +}; + + +#define FVECT_SECT __attribute__ ((section (".fvectors"))) + +const void *HardwareVectors[] FVECT_SECT = { +//;0xffffffd0 Exception(Supervisor Instruction) + INT_Excep_SuperVisorInst, +//;0xffffffd4 Reserved + (fp)0, +//;0xffffffd8 Reserved + (fp)0, +//;0xffffffdc Exception(Undefined Instruction) + INT_Excep_UndefinedInst, +//;0xffffffe0 Reserved + (fp)0, +//;0xffffffe4 Exception(Floating Point) + INT_Excep_FloatingPoint, +//;0xffffffe8 Reserved + (fp)0, +//;0xffffffec Reserved + (fp)0, +//;0xfffffff0 Reserved + (fp)0, +//;0xfffffff4 Reserved + (fp)0, +//;0xfffffff8 NMI + INT_NonMaskableInterrupt, +//;0xfffffffc RESET +//;<> +//;Power On Reset PC + PowerON_Reset +//;<> +}; +#define RVECT_SECT __attribute__ ((section (".rvectors"))) + +const fp RelocatableVectors[] RVECT_SECT = { + +//;0x0000 Reserved + (fp)0, +//;0x0004 Reserved + (fp)0, +//;0x0008 Reserved + (fp)0, +//;0x000C Reserved + (fp)0, +//;0x0010 Reserved + (fp)0, +//;0x0014 Reserved + (fp)0, +//;0x0018 Reserved + (fp)0, +//;0x001C Reserved + (fp)0, +//;0x0020 Reserved + (fp)0, +//;0x0024 Reserved + (fp)0, +//;0x0028 Reserved + (fp)0, +//;0x002C Reserved + (fp)0, +//;0x0030 Reserved + (fp)0, +//;0x0034 Reserved + (fp)0, +//;0x0038 Reserved + (fp)0, +//;0x003C Reserved + (fp)0, +//;0x0040 + (fp)Dummy, +//;0x0044 Reserved + (fp)0, +//;0x0048 Reserved + (fp)0, +//;0x004C Reserved + (fp)0, +//;0x0050 Reserved + (fp)0, +//;0x0054 + (fp)Dummy, +//;0x0058 Reserved + (fp)0, +//;0x005C + (fp)Dummy, +//;0x0060 Reserved + (fp)0, +//;0x0064 Reserved + (fp)0, +//;0x0068 Reserved + (fp)0, +//;0x006C Reserved + (fp)vPortSoftwareInterruptISR, +//;0x0070 CMTU0_CMT0 + (fp)vPortTickISR, +//;0x0074 + (fp)Dummy, +//;0x0078 + (fp)Dummy, +//;0x007C + (fp)Dummy, +//;0x0080 + (fp)Dummy, +//;0x0084 Reserved + (fp)0, +//;0x0088 Reserved + (fp)0, +//;0x008C Reserved + (fp)0, +//;0x0090 Reserved + (fp)0, +//;0x0094 Reserved + (fp)0, +//;0x0098 Reserved + (fp)0, +//;0x009C Reserved + (fp)0, +//;0x00A0 Reserved + (fp)0, +//;0x00A4 Reserved + (fp)0, +//;0x00A8 Reserved + (fp)0, +//;0x00AC Reserved + (fp)0, +//;0x00B0 Reserved + (fp)0, +//;0x00B4 Reserved + (fp)0, +//;0x00B8 Reserved + (fp)0, +//;0x00BC Reserved + (fp)0, +//;0x00C0 Reserved + (fp)0, +//;0x00C4 Reserved + (fp)0, +//;0x00C8 Reserved + (fp)0, +//;0x00CC Reserved + (fp)0, +//;0x00D0 Reserved + (fp)0, +//;0x00D4 Reserved + (fp)0, +//;0x00D8 Reserved + (fp)0, +//;0x00DC Reserved + (fp)0, +//;0x00E0 Reserved + (fp)0, +//;0x00E4 Reserved + (fp)0, +//;0x00E8 Reserved + (fp)0, +//;0x00EC Reserved + (fp)0, +//;0x00F0 Reserved + (fp)0, +//;0x00F4 Reserved + (fp)0, +//;0x00F8 Reserved + (fp)0, +//;0x00FC Reserved + (fp)0, +//;0x0100 IRQ0 + (fp)vButtonInterrupt, +//;0x0104 IRQ1 + (fp)vButtonInterrupt, +//;0x0108 IRQ2 + (fp)Dummy, +//;0x010C IRQ3 + (fp)Dummy, +//;0x0110 IRQ4 + (fp)vButtonInterrupt, +//;0x0114 IRQ5 + (fp)Dummy, +//;0x0118 IRQ6 + (fp)Dummy, +//;0x011C IRQ7 + (fp)Dummy, +//;0x0120 + (fp)Dummy, +//;0x0124 + (fp)Dummy, +//;0x0128 + (fp)Dummy, +//;0x012C + (fp)Dummy, +//;0x0130 + (fp)Dummy, +//;0x0134 + (fp)Dummy, +//;0x0138 + (fp)Dummy, +//;0x013C + (fp)Dummy, +//;0x0140 Reserved + (fp)0, +//;0x0144 Reserved + (fp)0, +//;0x0148 Reserved + (fp)0, +//;0x014C Reserved + (fp)0, +//;0x0150 Reserved + (fp)0, +//;0x0154 Reserved + (fp)0, +//;0x0158 Reserved + (fp)0, +//;0x015C Reserved + (fp)0, +//;0x0160 Reserved + (fp)0, +//;0x0164 Reserved + (fp)0, +//;0x0168 Reserved + (fp)0, +//;0x016C Reserved + (fp)0, +//;0x0170 Reserved + (fp)0, +//;0x0174 Reserved + (fp)0, +//;0x0178 Reserved + (fp)0, +//;0x017C Reserved + (fp)0, +//;0x0180 + (fp)Dummy, +//;0x0184 Reserved + (fp)0, +//;0x0188 + (fp)Dummy, +//;0x018C + (fp)Dummy, +//;0x0190 + (fp)Dummy, +//;0x0194 + (fp)Dummy, +//;0x0198 Reserved + (fp)0, +//;0x019C Reserved + (fp)0, +//;0x01A0 + (fp)Dummy, +//;0x01A4 + (fp)Dummy, +//;0x01A8 + (fp)Dummy, +//;0x01AC + (fp)Dummy, +//;0x01B0 + (fp)Dummy, +//;0x01B4 Reserved + (fp)0, +//;0x01B8 Reserved + (fp)0, +//;0x01BC + (fp)Dummy, +//;0x01C0 + (fp)Dummy, +//;0x01C4 Reserved + (fp)Dummy, +//;0x01C8 Reserved + (fp)Dummy, +//;0x01CC + (fp)Dummy, +//;0x01D0 + (fp)Dummy, +//;0x01D4 + (fp)Dummy, +//;0x01D8 + (fp)Dummy, +//;0x01DC Reserved + (fp)Dummy, +//;0x01E0 + (fp)Dummy, +//;0x01E4 + (fp)Dummy, +//;0x01E8 + (fp)Dummy, +//;0x01EC + (fp)Dummy, +//;0x01F0 + (fp)Dummy, +//;0x01F4 + (fp)Dummy, +//;0x01F8 + (fp)Dummy, +//;0x01FC + (fp)Dummy, +//;0x0200 + (fp)Dummy, +//;0x0204 Reserved + (fp)Dummy, +//;0x0208 Reserved + (fp)Dummy, +//;0x020C + (fp)Dummy, +//;0x0210 + (fp)Dummy, +//;0x0214 + (fp)Dummy, +//;0x0218 + (fp)Dummy, +//;0x021C Reserved + (fp)Dummy, +//;0x0220 + (fp)Dummy, +//;0x0224 + (fp)Dummy, +//;0x0228 + (fp)Dummy, +//;0x022C + (fp)Dummy, +//;0x0230 + (fp)Dummy, +//;0x0234 + (fp)Dummy, +//;0x0238 + (fp)Dummy, +//;0x023C Reserved + (fp)Dummy, +//;0x0240 Reserved + (fp)Dummy, +//;0x0244 + (fp)Dummy, +//;0x0248 + (fp)Dummy, +//;0x024C Reserved + (fp)Dummy, +//;0x0250 Reserved + (fp)Dummy, +//;0x0254 + (fp)Dummy, +//;0x0258 + (fp)Dummy, +//;0x025C + (fp)Dummy, +//;0x0260 + (fp)Dummy, +//;0x0264 Reserved + (fp)Dummy, +//;0x0268 + (fp)Dummy, +//;0x026C + (fp)Dummy, +//;0x0270 + (fp)Dummy, +//;0x0274 + (fp)Dummy, +//;0x0278 + (fp)Dummy, +//;0x027C + (fp)Dummy, +//;0x0280 + (fp)Dummy, +//;0x0284 + (fp)Dummy, +//;0x0288 + (fp)Dummy, +//;0x028C Reserved + (fp)Dummy, +//;0x0290 Reserved + (fp)Dummy, +//;0x0294 + (fp)Dummy, +//;0x0298 + (fp)Dummy, +//;0x029C + (fp)Dummy, +//;0x02A0 + (fp)Dummy, +//;0x02A4 Reserved + (fp)Dummy, +//;0x02A8 + (fp)Dummy, +//;0x02AC + (fp)Dummy, +//;0x02B0 Reserved + (fp)Dummy, +//;0x02B4 Reserved + (fp)Dummy, +//;0x02B8 + (fp)Dummy, +//;0x02BC + (fp)Dummy, +//;0x02C0 + (fp)Dummy, +//;0x02C4 + (fp)Dummy, +//;0x02C8 + (fp)Dummy, +//;0x02CC + (fp)Dummy, +//;0x02D0 + (fp)Dummy, +//;0x02D4 + (fp)Dummy, +//;0x02D8 + (fp)Dummy, +//;0x02DC + (fp)Dummy, +//;0x02E0 + (fp)Dummy, +//;0x02E4 + (fp)Dummy, +//;0x02E8 Reserved + (fp)Dummy, +//;0x02EC Reserved + (fp)Dummy, +//;0x02F0 Reserved + (fp)Dummy, +//;0x02F4 Reserved + (fp)Dummy, +//;0x02F8 Reserved + (fp)Dummy, +//;0x02FC Reserved + (fp)Dummy, +//;0x0300 Reserved + (fp)Dummy, +//;0x0304 Reserved + (fp)Dummy, +//;0x0308 Reserved + (fp)Dummy, +//;0x030C Reserved + (fp)Dummy, +//;0x0310 Reserved + (fp)Dummy, +//;0x0314 Reserved + (fp)Dummy, +//;0x0318 + (fp)Dummy, +//;0x031C + (fp)Dummy, +//;0x0320 + (fp)Dummy, +//;0x0324 + (fp)Dummy, +//;0x0328 Reserved + (fp)Dummy, +//;0x032C Reserved + (fp)Dummy, +//;0x0330 Reserved + (fp)Dummy, +//;0x0334 Reserved + (fp)Dummy, +//;0x0338 Reserved + (fp)Dummy, +//;0x033C Reserved + (fp)Dummy, +//;0x0340 Reserved + (fp)Dummy, +//;0x0344 Reserved + (fp)Dummy, +//;0x0348 Reserved + (fp)Dummy, +//;0x034C Reserved + (fp)Dummy, +//;0x0350 Reserved + (fp)Dummy, +//;0x0354 Reserved + (fp)Dummy, +//;0x0358 + (fp)Dummy, +//;0x035C + (fp)Dummy, +//;0x0360 + (fp)Dummy, +//;0x0364 + (fp)Dummy, +//;0x0368 + (fp)Dummy, +//;0x036C + (fp)Dummy, +//;0x0370 + (fp)Dummy, +//;0x0374 + (fp)Dummy, +//;0x0378 + (fp)Dummy, +//;0x037C + (fp)Dummy, +//;0x0380 + (fp)Dummy, +//;0x0384 + (fp)Dummy, +//;0x0388 + (fp)Dummy, +//;0x038C + (fp)Dummy, +//;0x0390 + (fp)Dummy, +//;0x0394 + (fp)Dummy, +//;0x0398 + (fp)Dummy, +//;0x039C + (fp)Dummy, +//;0x03A0 + (fp)Dummy, +//;0x03A4 + (fp)Dummy, +//;0x03A8 + (fp)Dummy, +//;0x03AC + (fp)Dummy, +//;0x03B0 + (fp)Dummy, +//;0x03B4 + (fp)Dummy, +//;0x03B8 + (fp)Dummy, +//;0x03BC + (fp)Dummy, +//;0x03C0 + (fp)Dummy, +//;0x03C4 + (fp)Dummy, +//;0x03C8 Reserved + (fp)Dummy, +//;0x03CC Reserved + (fp)Dummy, +//;0x03D0 Reserved + (fp)Dummy, +//;0x03D4 Reserved + (fp)Dummy, +//;0x03D8 + (fp)Dummy, +//;0x03DC + (fp)Dummy, +//;0x03E0 + (fp)Dummy, +//;0x03E4 + (fp)Dummy, +//;0x03E8 + (fp)Dummy, +//;0x03EC + (fp)Dummy, +//;0x03F0 + (fp)Dummy, +//;0x03F4 + (fp)Dummy, +//;0x03F8 Reserved + (fp)0, +//;0x03FC Reserved + (fp)0, +}; diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/platform.h b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/platform.h new file mode 100644 index 000000000..3427aab94 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/platform.h @@ -0,0 +1,88 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : platform.h +* Description : The user chooses which MCU and board they are developing for in this file. If the board you are using +* is not listed below, please add your own or use the default 'User Board'. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 30.11.2011 1.00 First Release +* : 13.01.2012 1.10 Moved from having platform defined using macro defintion, to having platform defined +* by choosing an include path. This makes this file simpler and cleans up the issue +* where HEW shows all header files for all platforms under 'Dependencies'. +* : 14.02.2012 1.20 Added RX210 BSP. +* : 18.04.2012 1.30 Updated to v0.70 of FIT S/W Spec and v0.20 of FIT r_bsp Spec. This includes adding +* locking.c and locking.h in board folders. Also, r_bsp can now be configured through +* r_bsp_config.h. +* : 26.06.2012 1.40 Added new options such as exception callbacks and the ability to choose your MCU using +* its part number in r_bsp_config.h. Moved mcu_info.h to the 'mcu' folder. Made an effort +* to remove any extra files that the user would need to touch. Removed the flash_options.c +* file and put its contents in vecttbl.c. +* : 17.07.2012 1.50 Fixed bug with exception callback function names. Added BCLK_OUTPUT and SDCLK_OUTPUT +* macro options in r_bsp_config.h. Added some extra code to handle exceptions in +* vecttbl.c. Added vecttbl.h so that user has prototypes for exception callbacks. +* : 08.11.2012 1.60 Added RX111 BSP +***********************************************************************************************************************/ + +#ifndef _PLATFORM_H_ +#define _PLATFORM_H_ + +/*********************************************************************************************************************** +DEFINE YOUR SYSTEM - UNCOMMENT THE INCLUDE PATH FOR THE PLATFORM YOU ARE USING. +***********************************************************************************************************************/ +/* RSKRX610 */ +//#include "./board/rskrx610/r_bsp.h" + +/* RSKRX62N */ +//#include "./board/rskrx62n/r_bsp.h" + +/* RSKRX62T */ +//#include "./board/rskrx62t/r_bsp.h" + +/* RDKRX62N */ +//#include "./board/rdkrx62n/r_bsp.h" + +/* RSKRX630 */ +//#include "./board/rskrx630/r_bsp.h" + +/* RSKRX63N */ +//#include "./board/rskrx63n/r_bsp.h" + +/* RDKRX63N */ +//#include "./board/rdkrx63n/r_bsp.h" + +/* RSKRX210 */ +//#include "./board/rskrx210/r_bsp.h" + +/* RSKRX111 */ +#include "./board/rskrx111/r_bsp.h" + +/* User Board - Define your own board here. */ +//#include "./board/user/r_bsp.h" + +/*********************************************************************************************************************** +MAKE SURE AT LEAST ONE PLATFORM WAS DEFINED - DO NOT EDIT BELOW THIS POINT +***********************************************************************************************************************/ +#ifndef PLATFORM_DEFINED +#error "Error - No platform defined in platform.h!" +#endif + +#endif /* _PLATFORM_H_ */ + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/r_bsp_config.h b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/r_bsp_config.h new file mode 100644 index 000000000..537479e8a --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/r_bsp_config.h @@ -0,0 +1,250 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_bsp_config_reference.c +* Device(s) : RX111 +* Description : The file r_bsp_config.h is used to configure your BSP. r_bsp_config.h should be included +* somewhere in your package so that the r_bsp code has access to it. This file (r_bsp_config_reference.h) +* is just a reference file that the user can use to make their own r_bsp_config.h file. +************************************************************************************************************************ +* History : DD.MM.YYYY Version Description +* : 07.11.2012 0.01 Beta Release +***********************************************************************************************************************/ +#ifndef R_BSP_CONFIG_REF_HEADER_FILE +#define R_BSP_CONFIG_REF_HEADER_FILE + +/*********************************************************************************************************************** +Configuration Options +***********************************************************************************************************************/ +/* Enter the product part number for your MCU. This information will be used to obtain information about your MCU such + as package and memory size. + To help parse this information, the part number will be defined using multiple macros. + R 5 F 51 11 5 A D FM + | | | | | | | | | Macro Name Description + | | | | | | | | |__MCU_PART_PACKAGE = Package type, number of pins, and pin pitch + | | | | | | | |____not used = Products with wide temperature range (D: -40 to 85C G: -40 to 105C) + | | | | | | |______not used = Blank + | | | | | |________MCU_PART_MEMORY_SIZE = ROM, RAM, and Data Flash Capacity + | | | | |___________MCU_PART_GROUP = Group name + | | | |______________MCU_PART_SERIES = Series name + | | |________________MCU_PART_MEMORY_TYPE = Type of memory (Flash) + | |__________________not used = Renesas MCU + |____________________not used = Renesas semiconductor product. + */ + +/* Package type. Set the macro definition based on values below: + Character(s) = Value for macro = Package Type/Number of Pins/Pin Pitch + FM = 0x0 = LFQFP/64/0.50 + FK = 0x1 = LQFP/64/0.80 + LF = 0x2 = TFLGA/64/0.50 + FL = 0x3 = LFQFP/48/0.50 + NE = 0x4 = VQFN/48/0.50 + NC = 0x5 = HWQFN/36/0.50 + LM = 0x6 = WFLGA/36/0.50 + SB = 0x7 = SSOP/36/0.80 +*/ +#define MCU_PART_PACKAGE (0x0) + +/* ROM, RAM, and Data Flash Capacity. + Character(s) = Value for macro = ROM Size/Ram Size/Data Flash Size + 5 = 0x5 = 128KB/16KB/8KB + 4 = 0x4 = 96KB/16KB/8KB + 3 = 0x3 = 64KB/10KB/8KB + 1 = 0x1 = 32KB/10KB/8KB + J = 0x0 = 16KB/8KB/8KB +*/ +#define MCU_PART_MEMORY_SIZE (0x5) + +/* Group name. + Character(s) = Value for macro = Description + 10 = 0x0 = RX110 Group + 11 = 0x1 = RX111 Group +*/ +#define MCU_PART_GROUP (0x1) + +/* Series name. + Character(s) = Value for macro = Description + 51 = 0x0 = RX100 Series +*/ +#define MCU_PART_SERIES (0x0) + +/* Memory type. + Character(s) = Value for macro = Description + F = 0x0 = Flash memory version +*/ +#define MCU_PART_MEMORY_TYPE (0x0) + +/* The 'BSP_DECLARE_STACK' macro is checked so that the stack is only declared in one place (resetprg.c). Every time a + '#pragma stacksize' is encountered, the stack size is increased. This prevents multiplication of stack size. */ +#if defined(BSP_DECLARE_STACK) +/* User Stack size in bytes. The Renesas RX toolchain sets the stack size using the #pragma stacksize directive. */ +#pragma stacksize su=0x400 +/* Interrupt Stack size in bytes. The Renesas RX toolchain sets the stack size using the #pragma stacksize directive. */ +#pragma stacksize si=0x100 +#endif + +/* Heap size in bytes. */ +#define HEAP_BYTES (0x001) + +/* After reset MCU will operate in Supervisor mode. To switch to User mode, set this macro to '1'. For more information + on the differences between these 2 modes see the CPU >> Processor Mode section of your MCU's hardware manual. + 0 = Stay in Supervisor mode. + 1 = Switch to User mode. +*/ +#define RUN_IN_USER_MODE (0) + + +/* This macro lets other modules no if a RTOS is being used. + 0 = RTOS is not used. + 1 = RTOS is used. +*/ +#define RTOS_USED (0) + +/* Clock source select (CKSEL). + 0 = Low Speed On-Chip Oscillator (LOCO) + 1 = High Speed On-Chip Oscillator (HOCO) + 2 = Main Clock Oscillator + 3 = Sub-Clock Oscillator + 4 = PLL Circuit +*/ +#define CLOCK_SOURCE (4) // GI org 4 + +/* Clock configuration options. + The input clock frequency is specified and then the system clocks are set by specifying the multipliers used. The + multiplier settings are used to set the clock registers in resetprg.c. If a 16MHz clock is used and the + ICLK is 24MHz, PCLKB is 24MHz, FCLK is 24MHz, PCLKD is 24MHz, and CKO is 1MHz then the + settings would be: + + XTAL_HZ = 16000000 + PLL_DIV = 2 + PLL_MUL = 6 (16MHz x 3 = 48MHz) + ICK_DIV = 2 : System Clock (ICLK) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / ICK_DIV) = 24MHz + PCKB_DIV = 2 : Peripheral Clock B (PCLKB) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKB_DIV) = 24MHz + PCKD_DIV = 2 : Peripheral Clock D (PCLKD) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKD_DIV) = 24MHz + FCK_DIV = 2 : Flash IF Clock (FCLK) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / FCK_DIV) = 24MHz +*/ +/* XTAL - Input clock frequency in Hz */ +#define XTAL_HZ (16000000) +/* PLL Input Frequency Divider Select (PLIDIV). + Available divisors = /1 (no division), /2, /4 +*/ +#define PLL_DIV (2) // GI org 2 +/* PLL Frequency Multiplication Factor Select (STC). + Available multipliers = x6, x8 +*/ +#define PLL_MUL (6) // GI org 6 +/* System Clock Divider (ICK). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define ICK_DIV (2) // NOTE: ICLK CANNOT BE SLOWER THAN PCLK! +/* Peripheral Module Clock B Divider (PCKB). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define PCKB_DIV (2) // GI org 2 +/* Peripheral Module Clock D Divider (PCKD). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define PCKD_DIV (2) +/* Flash IF Clock Divider (FCK). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define FCK_DIV (2) + +/* Below are callback functions that can be used for detecting MCU exceptions, undefined interrupt sources, and + bus errors. If the user wishes to be alerted of these events then they will need to define the macro as a + function to be called when the event occurs. For example, if the user wanted the function + excep_undefined_instr_isr() to be called when an undefined interrupt source ISR is triggered then they would + do the following: + #define UNDEFINED_INT_ISR_CALLBACK undefined_interrupt_cb + If the user does not wish to be alerted of these events then they should comment out the macros. + + NOTE: When a callback function is called it will be called from within a ISR. This means that the function + will essentially be an interrupt and will hold off other interrupts that occur in the system while it + is executing. For this reason, it is recommended to keep these callback functions short as to not + decrease the real-time response of your system. +*/ +/* Callback for Supervisor Instruction Violation Exception. */ +//#define EXCEP_SUPERVISOR_ISR_CALLBACK supervisor_instr_cb + +/* Callback for Undefined Instruction Exception. */ +//#define EXCEP_UNDEFINED_INSTR_ISR_CALLBACK undefined_instr_cb + +/* Callback for Non-maskable Interrupt. */ +//#define NMI_ISR_CALLBACK nmi_cb + +/* Callback for all undefined interrupt vectors. User can set a breakpoint in this function to determine which source + is creating unwanted interrupts. */ +//#define UNDEFINED_INT_ISR_CALLBACK undefined_interrupt_cb + +/* Callback for Bus Error Interrupt. */ +//#define BUS_ERROR_ISR_CALLBACK bus_error_cb + +/* The user has the option of separately choosing little or big endian for the User Application Area */ + +/* Endian mode for User Application. + 0 = Big Endian + Else = Little Endian (Default) +*/ +#define USER_APP_ENDIAN (1) + + +/* Configure WDT and IWDT settings. + OFS0 - Option Function Select Register 0 + OFS0 - Option Function Select Register 0 + b31:b15 Reserved (set to 1) + b14 IWDTSLCSTP - IWDT Sleep Mode Count Stop Control - (0=can't stop count, 1=stop w/some low power modes) + b13 Reserved (set to 1) + b12 IWDTRSTIRQS - IWDT Reset Interrupt Request - What to do on underflow (0=take interrupt, 1=reset MCU) + b11:b10 IWDTRPSS - IWDT Window Start Position Select - (0=25%, 1=50%, 2=75%, 3=100%,don't use) + b9:b8 IWDTRPES - IWDT Window End Position Select - (0=75%, 1=50%, 2=25%, 3=0%,don't use) + b7:b4 IWDTCKS - IWDT Clock Frequency Division Ratio - (0=none, 2=/16, 3 = /32, 4=/64, 0xF=/128, 5=/256) + b3:b2 IWDTTOPS - IWDT Timeout Period Select - (0=128 cycles, 1=512, 2=1024, 3=2048) + b1 IWDTSTRT - IWDT Start Mode Select - (0=auto-start after reset, 1=halt after reset) + b0 Reserved (set to 1) */ +#define OFS0_REG_VALUE (0xFFFFFFFF) //Disable by default + +/* Configure whether voltage detection 1 circuit and HOCO are enabled after reset. + OFS1 - Option Function Select Register 1 + b31:b9 Reserved (set to 1) + b8 HOCOEN - Enable/disable HOCO oscillation after a reset (0=enable, 1=disable) + b7:b4 STUPLVD1LVL - Startup Voltage Monitoring 1 Reset Detection Level Select + 0 1 0 0: 3.10 V + 0 1 0 1: 3.00 V + 0 1 1 0: 2.90 V + 0 1 1 1: 2.79 V + 1 0 0 0: 2.68 V + 1 0 0 1: 2.58 V + 1 0 1 0: 2.48 V + 1 0 1 1: 2.06 V + 1 1 0 0: 1.96 V + 1 1 0 1: 1.86 V + b3:b2 Reserved (set to 1) + b2 STUPLVD1REN - Startup Voltage Monitoring 1 Reset Enable (1=monitoring disabled) + b0 FASTSTUP - Power-On Fast Startup Time (1=normal; read only) */ +#define OFS1_REG_VALUE (0xFFFFFFFF) //Disable by default + +/* Initializes C input & output library functions. + 0 = Disable I/O library initialization in resetprg.c. If you are not using stdio then use this value. + 1 = Enable I/O library initialization in resetprg.c. This is default and needed if you are using stdio. */ +#define IO_LIB_ENABLE (0) + +#endif /* R_BSP_CONFIG_REF_HEADER_FILE */ + + + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/readme.txt b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/readme.txt new file mode 100644 index 000000000..c7ee2b751 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_bsp/readme.txt @@ -0,0 +1,100 @@ +r_bsp Package +============= + +Document Number +--------------- +N/A + +Version +------- +v1.60 + +Overview +-------- +The r_bsp package provides a foundation for code to be built on top of. It provides startup code, iodefines, and MCU +information for different boards. There are 2 folders that make up the r_bsp package. The 'mcu' folder has iodefine +files and a file named 'mcu_info.h' for each MCU group. The 'mcu_info.h' file has information about the MCU on the board +and is configured based on the information given in r_bsp_config.h. The information in 'mcu_info.h' is used to help +configure Renesas middleware that uses the r_bsp package. The 'board' folder has a folder with startup code for each +supported board. Which MCU and board is chosen is decided by the settings in 'platform.h'. The user can choose which +board they are using by uncommenting the include path that applies to their board. For example, if you are using the +RSK+RX62N then you would uncomment the #include "./board/rskrx62n/r_bsp.h" include path. Users are encouraged to add +their own boards to the 'board' directory. BSPs are configured by using the r_bsp_config.h file. Each board will have a +reference configuration file named r_bsp_config_reference.h. The user should copy this file to their project, rename it +to r_bsp_config.h, and use the options inside the file to configure the BSP for their project. + +Features +-------- +* Provides foundation to build code on top of. +* Provides MCU startup code. +* Provides SFR access through iodefine.h +* Stores details of MCU in 'mcu_info.h' to help configure Renesas middleware. +* Easily configure BSP through r_bsp_config.h. +* Choose MCU easily by inputting part number details in r_bsp_config.h. +* Provides callbacks for MCU exceptions and the bus error interrupt. + +Limitations +----------- +N/A + +Peripherals Used Directly +------------------------- +N/A + +Required Packages +----------------- +* r_glyph [required if you want to use LCD for RDK boards] +* r_rspi_rx [required if you want to use LCD for RDK boards] + +How to add to your project +-------------------------- +* Copy the r_bsp folder to your project. +* Add an include path to the 'r_bsp' directory. +* Add all of the source files for your board from the 'r_bsp\board\--YOUR_BOARD--' directory to your project. +* Uncomment the include path for your board in 'platform.h' which is located in the 'r_bsp' directory. +* Copy the file r_bsp_config_reference.h from the 'r_bsp\board\--YOUR_BOARD--' directory and copy it to your project's + source code directory. Rename the file r_bsp_config.h. +* Open r_bsp_config.h and use the macros to configure the BSP for your project. + +File Structure +-------------- +r_bsp +| platform.h (choose which board is being used) +| readme.txt +| ++---board (contains supported boards) +| +---rdkrx62n (contains BSP source and header files) +| | +| +---rdkrx63n +| | +| +---rskrx111 +| | +| +---rskrx210 +| | +| +---rskrx610 +| | +| +---rskrx62n +| | +| +---rskrx62t +| | +| +---rskrx630 +| | +| +---rskrx63n +| | +| \---user +| +\---mcu + +---rx111 (contains common files to this MCU group, e.g. iodefine.h) + | + +---rx210 + | + +---rx610 + | + +---rx62n + | + +---rx62t + | + +---rx630 + | + \---rx63n + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/doc/r_switches.docx b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/doc/r_switches.docx new file mode 100644 index 0000000000000000000000000000000000000000..6fe7e86e57a3c6e1844919af139e6de6cfe38d68 GIT binary patch literal 679504 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ℑ0C&KA<&_JC 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

UDz~um81hDa*)dVSSWH9k@v@ih>=7BA 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

    x7pzt>=*c#=z6~I4_4>L zN~3dNP>tm)1Z;CekLnFlajTzAP6igP3yoRw`^uCbFvKcNH+A<7MCz`LSl^H-^T(83>xI?QaETrIr6 z>(!aju*<8(UQC7=9126b({F<)l4jkS@o$|j^Ta{oCUh-7nP)R5gpu14_o=0n^3r>^ zT+mye@1YwN&a4t$@30)BPE49vX;P!~ZIy6idn_=%8ROjgK|q?mpXp6}d+)sQt6m%B zzwepY;NBPbz;(Fky2i^~XZ6?4Lpu3%u&gufU3iP2o6Me6UNI`)+sUGJ?yA9)`m|m- zMU<)RYvos;c`vz-#l$o7_3Ui>xxDo~v>DPsswb)msgq}GYrgiew7L1DIZw!Ejkhtzqi|oBquDi{8XV7?Q^Y4mS zB^5tF;1+M`?GC*~#m;ORf2*fCb9{4;e^%JD zg540QWgej^KgU2@j}r^scfFeld-R2@X$-fco0ZG6vEKF9vk#W>G@&`NK%~4RV=GT> z>lV6r(R)xF@Xb@wez5XpF}cy%zXuuy)mVJpzdgrx65ng@(?vBgYJoev+#P*;e5YUB zs*#bsK#uvXhEVP2^VIG1Ja#9gh-eCJMI`%QY`-j#;(w@=|Ms zf9IQFR0-a^H#A=@5R2tlMM2c%`=z#?O|SW_5Z3ft~NVeKyuIB=UKiBdHY4@A<=O;Y9AIs_+YD>uBcyCgL9<&5* zo1498kpk13andFIYq*ph)rF!bzj>wG+UIcV;rYij>%P$dW}@4x*{zo)acrROCiX_v zTUdKt5!<+uUtj4@zxH4|Gh}z)l<>IxnKaf?)LYOmpI9hEn8gu|S9jHr{`P5ll}j8} z{A@L>R?Hjz>-Kwiao>P0>jH>xI~k&6!8HLwAR8f_j> z`~*;cE^*bb?MgyV)OR&VpB5hJ9cSFXUUhUkYM6V&U~m}0WUP9t%n}aSD9pUmOAcG5 zo!u_`WzVv?7@-h;KXA8s{3a#jTm9u3dHq&ij(i<)+Phm=4!2RQ*d65qVb^($o7YZ> z=y#RBg#hc@XmuH3!Q@z~lzSp)y^q(mfgfWMDeFa$E%jvAt1Aupt35{k_d;CkRuw&? zD22G4B)5{)Tt<^8(FdbcIJV1XueN|MeuEBy|tYF?rsZ>=f?Y7 zXDPDo$lN^N^xoy}=KA*)Sa#NpfpHsL8z>cBA6`qWMyDpU!emiWyWg(2-{uy8B>@`- zl<(y_C(|1C2x9i0-Hzo+{Kh7~(Mg>>@y+6Sl&h;SJU+!q<-lMLpR#{9Eo{L6 zsIXB573vo=ht{f>>w_E>zoiu__8urJ;DJ{qtHb&EO%Ar#Q)u&nb2n90`^Z)-ZH(TB zF|AgybET)kX)(6LBYP^Hv9r1@ZYX~?9Dg9pmJ#=yq@bs<&Fp?Kw0%9X`fN20SL~#h z_1?_;AnYDQUTwVWx>h$1li8zJea6$^Tdoyn#a-7To3H32bxB_aG&(2>rPO^>cte(j&5VkKs!c?5u=q}8*2>=d z`=~3OHP+Qggy*t})79i1(`OswHA_3|-)K9lT_!r(_$mdQ`TK2D<6ba_DK+^(et6R_ z*}-8t?>3=qbir^H@>k$h807%|l}0-9vf; z+ z>+~A7nE6f#T)__e#c+1?LuU{mr~a;)?*+S8+}DJA|6ClesP|}dKhcMg%Icg7VR)iP zVJm4mg~FT$zVY{}v%Q~M32!s*0nKRnVQ5{{%6@YxUAcWdj=2sGD75k^q=1d^YCG)w z?AY09IGJ+#*vucT%VWqBg~`Ir-^!p4UTJ^p4YWz~H4Q7!1+8+`9Jc927^Ks%{i29v z*1E9zI8`>sKa8jz5YhSa` z`k~Hve5E0bOCGO}aR&O8QIp+@jm@*G%7B)h-^ZWb4i_njZcBD;H-EJ=I2Vpv_pY@q zo;O*ip20ogP{Ppa78G%}+h$muKw|^u_bxj%_V(AyfpMb`p21I`PdFUt zVi8s49x#eM=JL-%S`@v#Rtcx(Q)RpMz(^) zJL;kp9vLd5aPB>KK2|+e*iZj*osx3QhCAwsv7XP0_f}iUl}hXOGtl!n$sL;H)>z%z zo#8lePKbTg)2Ym`w?P5_AkL+GT>?jOuzR3)56X3=v-6$SuO%k#UNL~n&p5ehXmkg{ zG_1;0D@)A%f-fCYP@E-7Rz~`$E(IQUIq<{aVI}gIUS%ByO?grnM+lDZF@}dt$yqdOdy#{MhziX>Cx)w@< z=#=R+i1=~nV%pVG->*-OPcp%>4CH&0JIS-D*#0s3VsBptyZNlJuf)kVxzF~j{N1Ws zkJ#L<-7Qq!3q=T%n4_;Ab_XfgQ?SMib4BcjN#Ueq)xM%G>EZ}Eh>0i<)vG6g#3=}Y zWHFIDfver_LOc)Jf-#vQ!=5Om=+o;${kC_MKh@cCf2kZ&)O~dS7U>mq5M5}x+;zBF zf6CXhh1qqU4%ygmaXTe%pQgOFw5EF(z`|g`y1X(q@jO4PRgjGig`-3wp=|x&{0k>| zbZ}T%Oqr(?#8!E}cNN=dZB$u87;$mQh1rEl4)+`7>38OP+;`^Y@WPU(ZrCYRgJ4;5 zvFZnZe)iFBEZ-KmjjLCuiXF!V9I)w>y^r+!PbgrEb#|^Pr5H-jP)<^;Re`vSr1{^n z*8h*A^V(7r41(~ph!G_yC`u4T!9X&SR76z3gxUAsp1quzv)f0-KXg}p1^j@Y{kRn? z=k8h~8AN~kaYm@cjQJ{UijwK$T2w|$)o`Sn+b@q)seQ18zbGTrobfA|m~Wfqy_WYE zQ@vt0>y&)oUT;z=gI9nf&%#Np|GgSOALgsej@F;AKp;CC53qZov;KDSMlEEeZ?#>X zym_Ig?km|$C5s+*Jo9Xo$Mw=BVdiJ{5d&!T%_LZeI%32;s}r;t!P-`oPeW6}uY0)p zK^ZgXQQ6MLKfrm@CP^gFtKM`u%K=9>;tG=Y{or?x)9nj9c(WVb(vU9o-X2WzNBi5E z;*I6?uGhAfwIXwBeoK#%(gJ+Ox&^a37=4Rsa(vC8j51@XImU(MO#wfS*;}K3oinUQ zYTHez(B}u}=Y+gyUU1k7Z?~mgSY}7tCD?|9b+ueG4~0wR5r~KF2QtK^88!u64B_s}I0<{?O&Eud{&T*qvh*g;RLEJ+Uik4`HCb2m}a_)@zZ0Q{3GjXEc z{SBIK=47oOYcUx9!}WaVsaW>fg677dKLDGZGj3C?NH!-~Aw?iCPJuG|UNZx1F((cW z6NM|^J?<{Wi2Ifjtvk^_h3MEXUg+LaDlk8?=-v2ut+%slzkYjca<^4u&YN;n2V8Z| zu?!Bki+4??8YDP7ZQonim*rlON^gBOMdO_>tIhsLMTu;xX(|4VJ^`hsC`JQ^M@+g34 z?j09lAUkbk0)Uf!C!Of&B*P*iR`N7Mu}<)A9KoE3KpClJHx%Es<=v}We>8OlGEajH zU`Qse<0YyzvVM9c*h5Naxl!1Ld|9#HecL*y(_BgDoA-3*EbMQ_9oL#XPB1hb<;*(J zuvh-HSId^*pQzZX2%2kWou@vOj zrIq#rd?KG~dIf$+)R&WPn(ttyE4r^(KK*$2T79aUz%A9qYbhxusJw+TQ&P=3-8osR z6d_AvN-8kRudzeF1UKJ8v#3|I)-hf`>t$hd`yM9u@rodhuEf*Kf* z`>ePUF6iLXVeuTF?#}T@)~dXcOtVl%p9Te#eC$5WOD6sh>U(Yv3QON;a+ECGF4kzF zgK<;ontl{!o<{SQH%xQH!~_4~)wB{zU&zn=$=!z8N#oa$Wc^mibc^^&qu|JHj)zX+ z|EuZT3fJO3TfA;%vU_#i@5SoC;bC;ShL6LcZ;)I`4|d*sSM50D4if4&cqA;(J7KQJ z=Or)_x{hF9acTZTF;7Y}!!-+iakt`74D zf1!xQpXl6>bkz0x?{fAE`hMG8b!XG~xrTJrW5>t;aQn4i8+l%Y^UaN{qp@N7-p4Q@sj4*7s5ht8D~`8cU%Ss)`CEVcL={Wk@P4JL6}O_(o68 zr~kg5B&55G@$jIS&Fld!bUw!B{2Fe_9qfwBJoV6V;t1aBJ&-;(8 z70CLS>SKqVUU^v}mvpi@pxAA)4BNX{a=StdWr&F>RrZi#eEH$U=Dm41i!92=!nKA~ zTGQ(nQmt}kK$OE?3Ccix^oG7Y8PHT#zy6vehAyN#!*w-`kP;D;4%hIyAsYN~yWT_+ zN|)vj4`q_uS1BFL;qFC3j_135WP;{I*22$TT?xmpHA73nDKp)b5sb$ER%mtEKYgg( z(@5v1UfW)057;Y_pWm6H5c$?-r}nz|cp4e)_q#k3Qm&}Uz3ZY5e~>H&1*AX|=9T2E z6Lj)};q+8}AmO(NlGa9T{#|CYW8q`{JC4vwqAPp(hQz^B*9Cujy2IH`7b z)@RUmzZh`dpMyfZqDtsGa>|J3)g}otXa=KdDRJy*7Fa z5aiT+tS9}=vyiV&9Tzl&g0ze5Bsn40HHxTvIfGOUbX(F#fDI%X8#fF#qm1mE0bK+Z@w&kIz{6z(vI%SI6P)z+4u~5iI@X5l>d)m>1sH zZ&giKuaIAnFh<6^yN()5qhtccUjkLo4$mep>;7 zM{aW{if$iuXG3qsgX2|qjyFR1?bd)>TF#)1?bVp`*$aLJ_69@t$>)oI9-E``7TE#f z;*F#Z+8JYx!KWYDaU@Dr8Cns)>{!9zaT>lAe*< zMI4+Hx(8)cK|kM-A{gl7%d#()mqB!@ur>tUyzwn+RR{&Oov)nqifY}}Ul1M8O=v0^ zHkXc3nf=W9Yb8rZ=^K+H1p(FEJg&&frLL~S#tJzs5?`?eDC0H;k4*bheu(BU6fu^_l&kVeEyR-{V*maeAP&+u3)_Bno(tLF?`*r7S^4IkivHXt8qNUC^|Ng$)5Xr6M5;vilwYK}(o&IL0qJV@ME+}c2Pjg> zlvriy_Y6mTKc*FcPassQ-|C&VXAWGu4ZX0tBUgW^;mmr`2XWZSKP_(x{%Lch%GDa6 zj3{4!HT!aBmU|A|iQGMR2AIfk*ZeA)P_6uZHvHmrP0PD}fpkh}EiU&SyKca8`)j#4 zJD6{EG;=9_QA1lak|v&mDKlx{>~5LsxVwg}hD%?zk8bBdXA%Rw{NPj^8qx#6?VQEv44{O_S8{&Xq@pwlFHLL0}cBMTw;FBc48t zjCZOhx?GJChR|-2yO^C;D@)8y5bZoPOmh56A%SI|1=uwG*MTyUV>~#Dt(dw!Pu^zW zUh3U&(2ZB7IT){J#r1n|U3GH6&S43|Ytb{T)p~Va169s$NEQ8QJ+jT`rVn@Wf_~>M zH(WK%X87H`Kx1QWc z`!U#Sq|>u=gk~2(8mV?Z^Hz80!LVRun_cDmC?S{Qay_V4ryIWS%)8C%pKqCtpiC}3 zHxAOT+)>L;dvnL5lRea5PXp}$tRZdcGYrPA&?#sg$hHZtV84-W8EH3Ou)*e@Q`g)0 z5-NU9DJ@3%)o_2E?IDX^(|9|1z^JJgKkl3bW#}X`ZP&I^8LsU4`l?m2XU=%g6BLeh z8i#X>((OhwuwgKvkdSC2Jl{Ezl#~)57CHq{dy>*inb!u(ihA!f>e_C zGZekhnbr`>)KNSf=(YM|e3A`y#GbMY%!%aX4RS_9`Je^sago2uxRKHY=P{%ZhWDx? zS(G~B$4s)r?bsr%tM*xfC$wKeGdpvq&Qbx zPrTJZw0;|E#GGLHEA{rvuOcF+0@keto$9{j+zo)EIGOKcb*q(WXWfI=*bDLL8jVvp0BNHSG+%R^+>H!QF2qq!p2y!PkcxMT~e_Lm9_{ z5I@*6JDGu6XFE(D$uN+KWT!PRZbH2ZD{^+f0tSCdg^RzVitey1WoZuAL~ z@ZfXr?$J?OWyl@en#ZqPyHyWau^ZI87H;zPZw68ERFLPnfMg0pO zH~%1tn+n5pr);n0nbR{G{&jBe2IeaKb*a>C*Zst@Ka}yuDkmEms)%vNai6#Jq0SaB zsMR8s?p19u&#`7Vwt0FJM}?v|>5-`zj4E8v&mWN$ONeVNG(}`Qz2o36Be3-EEFc5( zBCVWGC?P8y^eho;}J=>XgFiGP1{?>1zR}qEt1EOJ6N_skyyiyH;Oup-5 zI+xDQVhW?{&UPgKa&8*coR>hE4`ZVo)3ZdJCTA!J}8a3a@@|M678p@9$guJD%I{{E5_ zTc*v!`(GbAzX@RJbs1FfXLqh#*x4l3H=xJG$8|=x@eANYJE)hD-Jz`IS*z2xH)0{4 z)&$EH<|-PQqxYd0fr#+$exvx$?6Xuc;=- zDtjs}NY8&)#_Y#_-v+l$%{rCtO@AR25Y6=eR%qDdt3NR_$=w=H$GT;KQ&tZ9WCDo? z4Xbt9G99O7&YT%tEc%1Ao`S7RU0CRIOz%SFK?|wh2AFf^ox54)ys{j!p0U7s9 z_dcNY_rfduJpwfo`gLcaQ#wtymvwXb{*GypEO52H=RIyzu)@Kme6QpfB)z7!K3Q(! zN9m$AI`f~DdlJa-yyQZoaa|+0M=&*h)~~!Y{W3Tm8-6JIM^^p&Y@vetqFl0^o8zMN`K_NzSbKwvmS7;>SX#^2=zr(5 zd3);BZVeV2&99k3pBJ@IFw+J5%U?}!hNiO=b-bB)&hycW#!_4rm=Zsz)qH0!<9 z)megMw1Ql@ZVrC)9##6rof)|GZrOp*%G^!5gv}+Cfj6<)V4cV4Z6TY+U91Ao#M04i z$)ajCICnAiQRK6yZ*KPXDCJPyO~ByMtCGK4v9xypCDD6~2BlFc8ADfaX+t}_eArvV z`8NZTDSt2W$Tj{Px7Kw= zpYi^S(<>)ym+fq-*KYyFqu&*Ln8h*I%NF&?8*6MFx-M}_a3ADb3Y4+N5B?0EX$}Z> zCI30fjXt4VOAD7(cNvSscNJ0xqd>B!Htn+!C8F3~;e{1@aetS%```;ey}#eJ zcJ*;DTwjolGNk&Q*7oD|+J@&t_zH(dEf5IE!a8ksdepKL$W8BCCUmVuui0#z2mo#P zJ3}AhP8X7Z`^$mT4@R#n)f{JbMKwY6Eiv0Qa@Qu(F*wi!VlcVhIQ4GPf9_*{|Lv>! zNZ`yMcYL8|{gA{)cm4%rKgBD{0ttl4Q(@QSches6w|ho!Y*6kg_ofjp`*@aJ+ud!$ zFI)LFGd|~OD^VJFxZdq4a{!j>wPjNCnHqhvl#gWw7xkMCY@$gC*{pV{m z(B&!lIb_#~*dz^wc5rsz6fB!GfTvNh;4(b53_WT>o*u*U$!*sZAGOO0 z`)3}@7Z&EcRYE71`TEhKU&6q2E9ss z3P`D9B2=fl^wEB|Bc>o^jHCEjSjbSxc%{?8km38}N?k7m$ zp-;u@Ap{yjgxO?_^BeX?wX1qniTQ&$XO>}{F3g*u<;E(a%j;f=j`H@R31t%Fx|>aT zyW&~rdNf@(Zu2qqsVq9E8jhOOU1cl)-&H^K4^rbesy^l)?cFT9h89Bcxi2(o*HYAU z89ucKv$iUaJK}sHj~w#cWs~_3l_FNkLUx+oU>A;gz43>*bP0Cf+0d5lQHEL3+DMl z#8kW6HI`^4+pz8!kVew}HVr!^;KPZnzBSs^nNjm4fV#)?K>e`9iv}|SG`GILH zRQq^LHnSNOM4!BuAM*(4J2r?lO?AOOiD%6aboM9l`Tq*<+ zzwy|$=}+pFeUqGQjx+S>wC4L}JROxUJhHVHM-C=ADyR%^dG*N%N{)*i3;c9{r_OE7 zDke9@1{C`9lfF+=Era&E{010puk0tR9_QT1Go!;oFVpI+{{(nbR-;eMg0w&fY|Ij| zxSiSdk}CU-Lbk7BYZwV5Xi%+4ZA^BLL+(0;GTaV1Pu#1v`az$2y1;+M%Sih@Su6~x zku}49&vsdCsD%I8pF@aZ@`pLa*p8lK{E!{EE&ncCsZly)@-NKmEoK&O1-Pu1ta*|> z46+NwnVJEV!Da(%(|LZ@>-EYA(1i>UXzk>5lco8d%WQegVhP>KvPiei=G0fE-$DkE znTmV{7%J3qUopAG-S{yaRxk-5VqNB@Etq<1+R=uP^c&Cf`Tw#6cBb+t7Z#Xi@vu^A zfJ6!J!JsfHtXkk_54k5K%wr#s7GedcV7g2&kYvhHmrrock5u(vg^I zt|JvQoJ;ngLDk(E+j)zU{@Ql*3UBmtViX*0?MJkl+;OWqoIp00W#dy^z9DDF**o8% z@%Vfn`sF~aTUFe=GqdpW(SeVnejQw3A%cWHI+R%Z3Pc0rv-@lvS%wT5)#i4h)&@pWPf9Nnbyd~gMpm$57f z%>M0X;`k?4n+o}JN@K)#e!>Pz_n3{`M)64 zbDI)pWfp#*j6&xkv%ju(hr`y3WacL&ki(LK4?*FE#`?%9U<2!Z%5+ezzFY4zjZE{{ z<~#8Sd(;FZ-6U#(B6CNQu;r8BcS5Gp1v=(wy$lg&#wfxv$^Fd;N*o$D;$J5Hk`DC= ziqC0tJr?lyLOXf*cUi0vv*)8w-33ggNR~oB`PgLSH^+0{~X}oEy1{d@`ry6%{_R!8`qM4Ux zI4EkSJ)aJ(Ywu|S<@Nhkt(P^dKrqzLuHPhH{hJX8w|B;PP(+0V!ke4RRW|=fI`?i< z*(i#C7LvQ%qohbkL`WqhT`1k;^8Men&pXEc>x{9_+S~5(thMI+O_gtNI@?X+^|ot< zpN$i+rh*K;@2{)_!B_^yxbYK0uW?O0Lssyh?ilh+JeUpA$;06@rxRH%@$AO=7R2_T zve^8|;GXq+>r?6{T|?0ecA<(;lzvIj;sZ=D+HW5YZbMiNP!sz|uvnJ4hDD}{Td;-n zzV8Y7y`+=Oqj;f_j=i5B2Je|&66$>|&sT*StK#`xCHv_>nc~t!47$egOTp`(2>4EL z9cCWc(*r=cBfpmE`I133>ig2Ho__;Dd7zjr)8GG!8m(ShDp0n$a4+|ZkCM-ziXby+QC72i_wPLDA(xFvB=6>JQ&bFZj-4}O|B(K6^BYJ ziKNR}=OUyt>8Im2OhVquc;9zKLaDy!mMY0(cL2KRLW}pqI zu40^hAsq-fi|$6wCpS-Jctx9#F}*kSPtGPPtEJvMj}}aIwd=qnYSS+@(u(iNW$FW6 z#PY8rh?tyOu9L>*Wv=btWW4ft<5b;_Hzm+%*Bub^>g;TDRdWY=licN`+*ve79bXc| zE}jbx%%SO|=3BQZz=gQTHm0-Air;P)nZP5FM={rn-+$wWq|YVXonI&0EKbz!=_t2! zF;JY~x%a)Ao8>_jNPlj#<3_s7w86DeS5L2H8#W;hDsQyu5fd&`u8Ku{x6C%VhEQeM zQNE)=SWyL$x{%vW5B@G_j}?3xVP~URYq^`qr&UdppQon{@`BqWKOAw4d&DNvHZG&!b$Rj4E@3I_Z&{_3(nGXzD5n=R)>1Lh6`3cFMSJ1KLYJf41L7Ya<#z%Ya zA5Vlm;_Zh~=GK42J8cSyz3o}BTLEBi^LMx{RbFKCF=_nf1>fv9FA&m8u>?psG@-Ktc`P@Uvi&t%kovcFvu`@;7*((M&Do8%Qh24XAX2kO1MIgVUA_p~Nf zQukX$00QK81EKv|MfZ3%N1)7}LF0wuwzf@nye!p@H@e;>PpWoz=SLnv@j zns(OTc?E;?TzyCFHtt}jsSU3*A`hXRw6b-*>OY{2w-}?7gb`ogmVK#L$aQZOEEa?$ zg>*OCb8R`)A{d}$d)nQd+8o@?(P7Euv*&EN4&hk^bF5M=c?$srat=4Ax_%)>Kb+TIN!J`sS)cZaGv1F-c$mDU$iMP&9 zxrv+Tjz!un3cuCWvwX{@Bf{SOEmn4)@#I{(sGyP8Lee@2-9<&e(dB%G%?%Pyw|5A~ z2;}ClJgARs=Q+sKa2SP8HhRsS3s@L(hN$1!W(y+Qve1gvv@o|7P?b`=??ht zpv+o>0bXsQ^?9>m$5J~ZIANX~DE4*O5`%TW@b=<^}FtjKEX!9u5cy&2C>MDMB}w!4|PE6!Jse)K{6;!WsvPpjq)hLzd8PblBU2!2B#;FiXp zJu$UwF4GPks?actP^QhaQ?J87Dz86C+O3io>Bq%^-8uYj8l=%NMX_$AU#~}br%CjqaXjhJ(cXLd6Cr8 z{yy~c*D1`5N?}7VyXv<1l-#m>E{%p(F@N)urtY7lo4nO6zHZxvx`9BNa~!W+r#;M# zrOs6u4qBbZjZ_S@N=$}D&u#q?)XppT)25BVdTtSalmZ=pK;MmtogB5pq6UJP)&=Ti9bfT-0`?=LM|8Mn&w zW0wM+?{hf9I_N&()G9Xv?sgS~cquV$>5qImjmR+dkbw(j!Vdm3<7)4IsA2@HA!{ei zSWHUY&4C2%yx)C1?Rpz9Z~Y@0r_!*Z_HY}Mo%7cyo~9Xz^_vmMzq6{8q2a>I;1}?5 zNjw5UBDo}m8J(^t(Kx=^b=SNY-Wi4S5TB;_%6t!r2g$z=E6(c81qVD)eTZn8RDpp5@3K=SV0 zV5-1&FPuqYS32k^(H@Z7dW;st!QUPVHlK|TdW$LHnN)I4zZrM$TGuYsNA1;l)r$x1 z%(h8qFJADR>P$(z8)n8{AJjG1m60;o%^AubW%?>pZ~i?xM>F-T)AZ613)9S_C~7VvK0@e zCM%gYeO=Cp&pN-5hGQthoQo&x)m|Pfq`ACf1*}jxV>N@h0;AbM}Wa`*Bq3|EcC^UscSBSK+A3p7dBhrR3~!H$}2lBss^q04n8_tP2N$n*#kNTzjCt&tn{uP4`8Fxnogh5QWY4D~e47mc%@KR}uO z@jaz>Nr3@8!~}fJNGd7YPG@T3_u&Ee@{^)#0ePJbNBHukV^;udAHQd4Kl?%3PsV2_ zDdH><=q_ z9bXD+kt+S2I^Uo7gmRay?3-&3vd?8$?!FS?KDsrhX-KvSa_KF-OLg&V1}pvYTFpPr zmucSCTjz<0m&aQ-u`Za+bAyqyL&N#GLzob)=C27bPwnj zYh+42v8ILKUrK(4D9F_)sJ=(o`Xtw`<=l_fSxh3Ay@Z1@R`5W)o;B@sRdlcI5iv{fvsqbEsG)knHY?C)?<2DA zaoX-mTCdf2rc9{9-6w$;b2;`w)r_(iKEAAKSJY-|b&B5OC;k(r|3m9*#c#U>Ww2kK z%F-v1o?DV$Za1v5`}maE>f8^ay-@nDDp~0fiCl<@r-*?V=1-cJKD(jHTmXOY?Ve7U z90A&N@Y%N)JoQ}&>sfK{wS?Z=IfzN%>b<|SfCm|a2m7vjhXoJZy3+!{Vy@*1#cfk_ zr@J53epa&juy@dmZ`VTOOF3__GU^Ft zTiUhCaVEk+4DlM5{8QZRVZ~{sP#G?(rjr}7YOP`pF8gbvZ&d%x@sZTR8xCshNV+jwKY_hv9@HnOkmJ5Scjhtp1oM2JJI&U^#bDDS{$A2W`)R^Z-C9w7B_vV>Z=q$ZwOjTt zlj3z>mwzqtypve>;n9BlLZrvQ9=qmZ@!IF&l)FjB>9#vP7UzW;r&%uYcrR*!`hDlj z7pg_8rKL0o{ywxYj1RK6@uu@ZI30VN$BcFTHq(g`@G~=;)v`NhEu?gF%p}{bcZLsv zeZk?t?&8IH3PJ_%ZO`agRGiuBqDL-yvzA*foEX@4JczU!lN|qd2|Vnh-Rc(B7YOho z8oxH${3*uK#9(Ms4LB3s_iJmb!WRq&eJ-c5x@?eYUnm=7SrLtUfkL`6q{w>5U^>k! zhPiN05#&qATWW0QuhCN`yRp^3z@i9sBQL zbN1;?J`axlVUzQzX{$BC>|M8e{@Bbn-Prv~v%S!~-Y(ggb@$avGBnu12idny!%Jn3 zWLhg2B+rzKJoC8Ms$6cccZ}?eN41VIOiE|%D|g#arrV-X3HGwN`{GVQ5_wNamE_l= zPgvnMBZcCzJYD1q-qLFh}bs=_`7?9>`^t= z6}?&3{Tbk7?5L16hwL$4twcTX)A^1%r+c}=EVu`0Z;KAT&Pctg87BP}+JLt#AmrYo-0eghwE z#Xfmhvc|h)(lCklEVwIcUr( zQOgS?D#Hi7w=n8f8A1nZDRx}Z{gObU4SxB}t}>ukFUY|xdSX@mF3Z3CCmcaE_-Y0t ziMO!Mru|$;(H(XZmStjU9sXuE^b}+m>Hz|jN|RwathH8}t7gRA(b%qHG8B>(ecZB$ zPjQUdz6y{~O_w&Rp`Zfr%?|q-+4QCB)C^}gq{cuH?8GabrCkIGbCIPI^=q)%7*IwF z57y$9KpWi+Ld^5|-fq>$nXS%>%-oz=j`pJTugoz6*XQ(erOx?0!1K84Xt>)05-)iK z4RMog<$uk^#!}u>2*jSwi=CYf;T1tMgcsZ2CBPOf>d5hknx~9nE=or4+{Z5bxX*p^ zPWhyDMvcq&CUxMs_)Tx1XKi@24ZsyVR}qFqFXP}XSsO;z!aUSEm2xm_Ex(S<(LU$( zu8aj*p$ZRWD!pN0a)ZQ3c|3ZgOu;N|?bBp|Aljv6oP3%|+QAupNseXq#;&!C5tr=E z_4kX&zh`Qw?UU>Iuo@@#9kDQC6!8SfaA|iv=%05Ndi+Wcxxa?JR(7+aX&E(`nd5dcSTA#B2-$=D!R2Kpn>L%wD#K2EM#KUV0W$Ano&P@u$ZKdwNXa)lQrz zui=-Y zDM$cCAD@P-@%LJr<8}>F%5-T|&{x85POls=k%#44x@v<(-LFRz=W2eq`%%AX4hFH9 ziF?aK1n`F)y+#5*xB!CXadXq|k*IXWVzMsR0DDC-oM+3$Lg>}Ie+uGWFW)hq(&0B& zhx@hIdAr+McQl^6jo}&ig{Q#g!kY*qC~lIWDDf;l3@7TB&$EKJ6D6`Ky!83Ia&P(8 zcBHg$n)aR?&cDtZds<0bT4FTsfA1UGz;Y>e=RTIG?k<_R%g+XETX2YgmVumYP}yZ= z!>gUWquAfaL^RQa{oMubVw6YhQzL{|CQoQcwEh&qBLjIOK^c)LN4*smZuLq6}T&-8+G z)BI(NH$M2hG_|69?m`*#bl8UI$v2LCRYtpwUyZ-_4e#kvUfXu~H|eb(-z+_okSU5O zCk@qHB%=-7&vNL6J~NgsC%oh^eW{F@Cm6AerXtrEdaYEvv|C?@-j#CnTWp966p-mI z{}{$nk1UnAf2iZ`viDi_2R;4F-q|HS6|@HSqVr7~CU8C6(pFc5depvcpe;*AK9%7@ zxb>e9=3~F=o_CM!+c0>9_MX~6>+Lp*Xa(F<4LD_@d$Qd?;QxF6Nv$&KfE8p=_*Qgq z6Eh(_*mj9gx8N+xpiZ#Yxy@$*JR9Nc_HrVYH%tjDAv>iR`=!rObK3(KVkTte68kwn zT_*crezmPhxsQBE%-zW2Wfab!On-5w-Y*8(z&%sLDTMJW({5uB8MSGah!Q|tG`9GB zP0CY!*Y-p?a1racaRYHxa)NF(SWvD|l3?7L&%Ia9a7avH>{xievT-(!`l;iP&fk$^ z`ave232p2%E1W|R?6wKa~1a9Na76?Y&mhR!saPH%p#Zj<7~ku{?$<zq9PaiDfB^c~Hoey%caHXntE+;<+avUvX@Zab((YO9#$a^H`XKow7OUz^P`upS0a3gUWvE@dFT2(u2p^fo z%C;op)3-XW{s5H9=%@udn2UJ(bq)(=`Be3Gy#Whs-T^y6D)-taE}EilZRii)htjD% zc+`K|Bd8XK0Jk(vwtvrXg~kbkGPJ_6%UP~d`%>s3oBG6IR1Y%6jL}V{-5a@D@7Jel zAfHQbUay<{@RBArXlJ{h1@B%*qnub zqy(Qcj^YEWW<|O{k5)!~HsL`Pa^rSe;`y3+dj!fH-(V|@8Np_^Kz=Uhp;$ zZ_diEpS!?N|7hIEyUrL&rCVh2ySe)!&kv;ZS?eq~>52}sv|*BUjZ1|N06JgsdB^fRP|k%ZBWj0HN)pM_xVX`eWisR9uSnQAp|*r zGRT)e3z*lZ4_cMjyq421m>PJ-P7`o#77NrcyA#{$mLDqd=S&3a52#@J#FXz;6C4+) zUb_dd(EW8Pk1JBC626c5S>8VvDg(0J+zcnH$5{J2+0?YAS(TI=e583UxDD4g=A2-4 zP2RgzhS$63q@LjK>z8hS(=k{S7dU&&(0-2Zex8`RPW^}6f{k~@&iN7)^q7QI$Wm1Go zTh2S%8g(CwBcVQf56WLc+tUJcEXjXw&E*4Dymv#cHfp^Tkh-2=ZD`mG&6doWK@lSI zsApMuJoUf=pvSL4Alb9^hLCp~$`ny!)R=z{1YTRtu-fQ(I68;$aqdKtA~No+HExKGOxukGqbU4aLS;ykDH@O|Nis_!k(3nS|G)dZpU-u!U1@lp zz1Lc|(Hh$?7) zN=aNJm9SF^p4tHfUllhn?f!=C#pbBmO7d{VqHIgdiid2*CwCtpA z-SmHpqA}3qn()%Uznihm=*lWr`n#dU)ahBYVpE4Mh^lZ2tV zMVfibI`oD3ZPA99hSGNbXzt&aXUz=?Y(aW#AKJZEp- z9?BqrpRfZ#6A!_pq&w;56@0j}vNdgC>v^7e)%m1)oA%Lp-ZLQE1(fv=zl8Zz9X}h1DpvAiOiH6z7yKR5$C;sd9FWfRAzzK&fW{MZIOO;g@?UZ zg7MoTHjG1#M2>8Q02moL;DY?usALlaOGY zv;k$>-NTU&q7Wp1EJ^!ovfL0+?!c>p;mVltCAn4f{{m}n5O2T1o>K%0Ne@fr@ zQeRcv@t!#$6QKyf<`7|+Ej-RSv8lL{=lyzPp* zZ9Gz#Ent=3(!$xli&l}}cFlN{zN^<`m4w<^!jP3|u!l8Y->J+JoqEHAwUP17*fZyoZTSP=v>taY?qhaa8qrs;CK4sGXVM2h$0S7%GL*`U z^!JfYK_S|T3)yRPa(gi!=mCsiK)M){B=wu*kL7HRO+a=tms87fs~4}%D{tgZNKfiB zpA_Mx%!E~+e-s`BI$kWukP@=pb(e5wRR$DUcyN0Jf0M$NkU9PqiqqhzP%SR+0d-Z; zFrHIJ8lKYlws`6fr9WuBZ;x#qJrBpdWu6WPwVAh6TA1rIMz_={y!hjx;bV|M&IgZ1 zGvBKnXRWm@E~K>f9~#7-?G|(s87(_alUse73{UTo`Q&qljI_i{jmmcQUX2^p{FprA zb!Ar>zLu-TMd3YwE)}w9lFa7{9ThhVdHpf1SL(iS-6;Z!r2D8f0pfcfm$IYTs_m2G zOQdwF!y7a-(QLYxm-^!=#<`>M$oE#=ktso$w};G@C#BjYdavg^c=ctoZyy z!9Xh<@DR4Oeo?=R2Ztnupr26p`l-~-Sl8|yZS@89a1R#D*}Y!ZySQKMErBWDtOU*O z^ymdHXWpSqGJnJ$_1frYWUthT*R*Y!@;gz=bdxA_-tS`lqXTImZfpErfGeE@oVnrA z{%m&IpdG23xUdVc#dYuZh_-L10_1`WbrTv2kmxI*;8FU`zmK%hDmRpdnj4{(T0`sk z?G>Xf_t*>RdgeG9=BSV*+FuG=f3aY6sK`zA)+$lbCX62A2c5;x?Vg$P1D4CVr*X>e zYn|y~+z+oTK!vERJRP;Ze_u~%+qRO|{QT8|&2q;l9|~^%Sz7fu3(XgtC48}Om#LuD zc1D34-2a}tZxF~MAD{01yOU8y;{EcjUtfLewHj?cEpS4-D1!v%=4^QAeyTU-ugtKT zs-y}grxDMJSk|oGr<-O$yN&R?93RBaF{cOZ zU1W2BBk~%zA&2}8ehbpsA5SfPNAMnOEkMf3Gc<909;k)!cQ)mr`4#V$aJm$~=WBfu zXFg4T=TZ?|<@&|R7Jf+|g$z+3xWPCF+z{}L=971bJHY!lRRoB_-!&ZquhSpu^n5j5r01y9QP{&DcGc{o8x?m#5&_ z?hJFy7sO53*M@!>JtqAvW$oZ2hm@}i-F1%V>wDFMJ_hVa={1ck3D>H_aTwjrQZ0@e z*E|)Pok94LdexqE-|i-h0*T33t+}h}nZNH1kXKvDp|pbCUGJP#$63FSg@*BQoLKjR ze9i8^Gv{`?(RQ4p8iaLtyv-JR>K1aGwz&4wIm-0I_qX%FmdCxeYccso+4>!tIYLCWCFU5m^o{q=zSDR>rncg>{zAo!cwt)=D%^#^nwGQIdQmpBf%3 zoJVA98B1caT&$bXk+S+hi6oiKbMJd+qpTn0`Zgf02Y?|;0}jem=?1^oD$BoYmKPX2 z`A3vAI$)@O~d^$jgvS4-uwdAh$Z zb(?2s9yt%XO2N`cHqyE-|H|amQdZ0L-M#7dJjZ@(34f}={f2i7L}5P?8PCya>9{03 zsRGQfHL{H1S~>^Tom0o}BWW7xr1Yq=CE^F|CcoT19e>J2I_5C7-IaQ<>y`ex98Oig zKe1j>b#zRn`jFci7{whG6g7tW_*HhO+g8;o@QEh_7 z2q`qHRh0eEaafB_9W?=q~EEX;%IMf-;BU0n3oR3Xmhzg zu!;W3{=K2GdsNz2zN6x0ql78B|7L(-GhUc-mtrQ~7Gp-Df0~Z`Wo6&Z%t!c^pL9zk zrY}D=F3L}rA_N1cl)nwk^KdO<+$Cx6M zt^50&5+d%p@Am1*kgRpRa<@HrcRagN#-EsqLPXy-TC@k%CY7v5$i5HVpC?F_Zy9 zE@xf1bDqP~%fk6%EGthBLfqB3LUQs>QYZbW=M8SQ}FmpAQ8gi@M{N}fd_BjpzZUMXUrSJvzh~C>gcbat8m*)&?Lt5Et zU(IWGG3mc$D;6>~c+0!T8{PL0(1qC`Xi$($W!4)uAqiK7z2 zkS#5A&oJtPGF~m!N`P8zxVTkmi{%(r(BXJ}9_W*{blx4>09=UgO#VI&IlWxC;d@3s zte@Kl&a9~Qg9>Dt+uvE{R9VY`sd}u=;&ANl8C!D4*3FrF8j$u>&{VTt0>wpoHwRy#XchrrbOy}Ol{H(Z!xQ-D5luX@k-Kz1KoD_GOzUPd(oL1?_vfrz1-;wh}zpKmG zH5S(H0Fe{iAia8Ja;96ZTg8|d#v>qc!OxQo%f$-kXPgq4ga4+u!5M!^yIl=^gRucU z?%U)zNZOg^{i>JN2PsYO!S(&JE(r2L!s#Zug4E6Iu23)PIXQL3=e>#Bv4Ia^k3=J0 zWsmWg<8y+4Pb#(wPSuk~{5?1GAgNCa`e?<=V&}On!A3X3LH3~{&!fW)=y+`tB7U0I zu{nJ$yUocuK;BQ0D()2Xi$Dw)TiL>(NiHcY@E!(Ae0t6mHgKlMm>`%He&n40S*j+= zo6e^6+;Rc9?mfbs!hXQkk>5!>XN}l5#&Y$ktOP2c=*DTR`AfuD*F|WX)|-81g1j%w ztXhMh@zyiS2f*U1oZ{KUHXta!;ci#eU6cRoLn}51CeY@)Uxk0a*0iN|ojY-C1SN6x z!qGM_%V0b&vBkxs6fzLLnQI0uqqRE}`Z;IhcQZkVv&YgF5n8i{e88nU^`?+|UzDUe zeI?el4AIWdokIuOn}k5wV}C*HkqiSM6QWUE-$CH={nnA%|Do4If=*@6>8}qnp8Pn~ zW3}EC#r4Em5Z*^>WGoKi`40W_W#!dwqWuD`@Da-|v?u;nmU;ZxbWx^bix6sX*&E-y zTdIq=x2Mk>aXWtGw8(WXf9;1#ZfF647%0#{abfQJkLLcS1rLO7?XkK+tT|PJ8MJ?$ zbg1sAZRDuFj$Y93WFfJ;Vs*Q`s^QQLJe4STxY?7+5E9T(V}xGJEz6UO6-YnHL7533 z4=gu4+t2-ea3X*Pvkc2aRax*;=zpqrLEw`CUTJ)4=4={kHEQ5kv1wC~abVQQLA2i> z2&s03ak2Z(K4zW4Etg|=h5RazeX;w=8DpXZW!(P!C`2Y14IkN!0Y}X@6nayLH_!5G z4}tHjOh$twEfsfcU92+rNBng}wPE3f*h27>d({<@`#WOQv)J zL3RH5sLsYSu3O%kd~jkr=eQ;;kKFCLMLwOGasW?p($p|^$X}t1ekd0F+NZ8`U3YT- zy4{q{FM8EhnAgA%8i|~k%S|p4(fcjcPV(_bwDXqlg{XK4KhT>c7SA;kvwRA+x0b*d9kaA zcYtP^bEUstXXa58kDK3mc`KmDR9|hV%iYoH-xO>v&SaF!mV^4Ho9!;@o7AOhjXASP zs@3k8J^`e#F?(YIENXBrS9=`- zd+#){V9GU7gx9Ewu?ExT;?vSF3d zgD_@9{!{rDUm1#lGw#$XwQdx0%=2B-%I#o3`6d~r(4}+|7RbYnKlo&N+=P4nd82{? z_EgcIUJJ06>5*S`JR=i?hur;F<>=%i~*sgN-x)0EmO3tN{(j29}9R)I^lz9rpDN5 z#iM+G$$*{%YrbM_Tyw==O+G;xev~}>A~&G-i#f~|UN*Bk>6>9A=V+$_DROFsTxbko zRNOS#4c-%Wd!AzLEVdLj!{8Z!nmU@?i6UC$1o5q=W**Ujin|SS>YT}t`~a;L|5i4e zkD;}^aV0I!h@=2x&4ub6+J^HO?jIm|-mRzto9*3Kt953+j-78Kk4{Z5DwmsUUTE0z zb0kWd&u#iu77jls=q_hv=U3wcB|IBGPU~ z+8u@@Y$!*Px=ovXYy7(U=jZm26?!AUcsz^)y3hPZIy;B#Ec1Ld3;SNb;!4*nJz?1V z)CECw0UJw1=5Gyst=@i>HMC50%Ubw@{(4;rwft4+`)#+`9x9JaWhbaKrIk{OMNUIb zwQ@t;g~712Z=R_)!dv+CjsssVo)`3vbk;@|n7#7FtdDG@(uY1dOv+ZQe0x2%Y z&HtvjrG#vDxx%H=L(e<0(JrsRRCUQ8&(k`RLn@HUyU38Am9H<;YvmSars1jg%dB}D zbDrnVV_?2D%2OLs*s8=%>OjajbEAdR@#^)C+Ec=|`O@Fx`EHAgopWfl7$rRT*V(Ty zgXAKrR?T0a(^-ZTq7ODB3D_VDmlrojGcARq52N~OCui?U5=Q6x8;xhh zN%C$&i+Hc@=S=Vg=G%XtH00IQ=*n_wymN=!uR-I2g?A621=wBkt)H>4$@DfMU!6h` zOcuV}dkuT7qI={Cq-iTtt)|KIV^%>S*(l}7ma*xEHG?{sPT$RJEezDhI`_9>M~;0l z#)bxde;sv-+hn=cYVvR+q{!?7c_Q2201|!O<+HArUIev59da5% zC)RCePmi%*s<74gMs=Q(O^e}eZ^m3q=Wm^cBVz;c^2O{uZdl@3coINn`PD{`W_T&aAX!2dC-(O~H;iR&3}u$H_;bNN5c=7hN&Jim zmmyji(iMKj%NBbtyY4)$SDRDf@Y=W;29Q_ksa2E)UH*g=rjuVAJvTmO$VFlg%WU4H zGyTeN;Z2{3h0bf6(tOkp{+f{cfyU7wa)s!`IrhCoc%PT2^US)6Y{ulgfB@elQ)n8` zxoM5c0NfEl0iQ-sE25|DWlZ(D!_3DmzT(~e6jb-r-#Trw+J5g1b8B3KsclJ2MVJrO^2}Fv zkQZ<_|4>cE`HQX!ySs0m92&tI`YvJX(bhJaOM~{~H~k7)4YzhJZ)>w$d2pJvbfhIS zdU{%&v(eTNpbSc=hE3@z7jYv!7{AKD{R!_&IA>YMb^^ik8t__iNc~*B3ovS4gA0GnvgDvNDseJE2 z_+H zu*D63xpDBS_}@<(81%FldD_f7gGKeu4A@ce!SB&-S5iJ&ls~+(>b*Fhw~j@0+s;=+ zZS!p>8+>}EDqFaugtZgC7m$zL-pV!m5XAli*bVd1EaRu;Mzr0NbE~w*zRwSyQC^^V(WbsmmR4a1&FHmLn#Dys?xyTD-otQcWs8ri2i&`d znd-!N5q|2&Ju00V>@Z*XoLlfAb{1QAlU)BXciz!eRr#YoH=tAzK@midG}3z~3F*C( zN+7*Z(knVTDx%oSSVs~2AUZNW5gou$EXa(#D+uFH#SW+#;?3QMSDa(vl_xy zl%*9$_;y$4M|-BF<|TRiWhB?smw3B(WG>FDt?Q^M;-8b0R;4vX*ZS4@^6zy6FTcvyuP`lfH6PaI zHzgLXOs}i+TjAMI$S0|#sjKqc-EzA7JkoO#SI4J##`ng$x~_~`*w7o+wc0x@E-kvq zJ*L+`Gqb8Tyw`PUYkgUuXM1GxqQ)h3Q(E8ZQytXm)tMgM99~!x99|Gs=3iRAC^@%c zaaDVIW>j1vD>eR4oxfLUY-x+pqswiJoT$z=f(dXY4mYoz>RGk_VpT5i^i65AW?#*jy^T{npFAj~a zC`ylxZ)?a(TG&@nU)hr1qA#QT+A~V{*XX`IJ|5wbA;F6xe3x+(KZ+kA2oB>v7iI)` z@U5Uy{$sjd;p)!#^3KMHK<*9t1p6&?3&;$O^eybn?QRSXtZK`vjt(pJNh-*Ws4Qtt zN$2bTi_4l;r=_n5@u8a~QJw9*dGSdezG=a6{APOrzh#_TT(~qMjz=(iy1f0C6jH+n?|RTVT>2Bsys^8>x z-{P6=Uz-`(lo3QX;o*EqDlyD$Sx1q3SmvyD57I_C21jVH!7T1NOg!fhPgNJ4AX+fPa zH92L=^P~8G8OvL%nwpctW3t>smgbgvwI`-_7Kf(is?K} zjOZqPby!`E*TTh7eQ9oe@hywOm;3jWv{ptnEsx;WzC79k7DoA0`UUuREe!9iE%NE@ zY+e~!l9Co&;m&G$wR@#sQfX*herS2g%Eev&ZoTex$@NPM{i^(v$`ck1!g7bOI+{P zm`c}BH{XoZhf&kr93;iHX^&Iu(qhqPv7f|NXw}& zit0;_3w2E|4lGTnc5le9>PrY(snM*9@$sKFOC*eE%6GE&(844ar0^D4B;if zcTtiTHwODOER9~0QI^QB*KqT+gI^|yUe4FP+w%e!FKLb7zXvA8N79XJdrmKp_Li?o zt19AO)zn9H_}7*CHw4D<`C&+1P-RAnM@eGn@|7`R;mNIaNz1D8)4O;~rL#G*xpPHE zRP1Wc?!Nr;lEpo#i<5aCmLGKLu1hWGt7~jX==9^u#py{t`k_9LrnIKes)$AWifw*k zaZ5mPL3v4RMS97~>`pg-?{uEF^J!h^(buvtJ)^cdIH$ZVrJS!(hkI5xr*(%`{1N@%J~sR~@?nwyyuxhNyJJUO_o)1${fvL#Oc(*e4P?MTh^&xkH-@AUDHE^BLy z%4`eaKT*e3*Dp&5NiJIvk;pF_#JaaPCO1cAC-~O1Ee&3^+P!;8XhBmZVMx#J#vG*ODa;T%ZnQl6O&3JYC;k^U4shiGlQek5IU>Cv$70$<0nAh)o7aYRmgRzhS>RA^sngX19kPPk5|vdU9`3pRJ>1x8<@cVVSVuO-q-OB* zjh&ut@yR_QdG+p5tK!4b3M-FDPb-7 zi&w_xbQX8EXXZ9{FX!yNA~eo_Wl!DG1iGy0s^AIpWr?Aso^5$u{$8un5S<_RurfETU6aR~|yXmya#;IaoXt)>_BS7TSjY1=@xUe)it+04ONi8M`@QQdgN0E>$;f$h+*`Vs9o;}o=~T6Ax7A^H@H zF~xY^u|vHKA2~jN9qNE^Kz-;qpmsZU!2$KWutVibl#6k?ah7q!@v{2X@o)9D;}!Ll z<286sedG8@edpM#jyU$IAKCsyd%*Dyyn+00bbGMrxEIw?IOf=`envM)4x8h3co+FY zbbGPw$L9e4|0U-E^6yt)p#L2EXZU^Qc#HNP^t&aWpL0et4ZGtRiWr2U#7CkCmMf+sSrZcoA9ij5^0T<5Q^J6mp#|98gn;)$J+94s@F5kTpA0 znsX!zjC1jDhlR#V%G-EZ`5LdlYqVce9>%}b0(A2j**WOvpqpd7kNhFJeaa0ykrx{8 z5u^El9Q$bRC+@%MTt+Yl`7CC2CiXLp*O6aQXOnM^u^an~s>nI|Nya=QhQ1=Pg&MEI z8!AzFO)X{|ap*_vFRFOr5*cqQxzg}SGv2{p^S%nFuSjDrzWa#TOYBD~fiWgxOBFs) z$=DJZR~%!Efe6MKN;?qW0LB@>I0MNYOrMeTHOE=4$%fxhzX}j6rr(gps=S1smCw-6 z%6Di$X`j=b5vLeoLk<-oSj;dYbbEnw&f|?qMllgfhK{RJ&~g#cC9n+NrBF6BtO_9? zITy5jH2ZQ|Rf5G_j#al$_A7b3pEM^OK-EP6BO&CDdocx)NbIxV_Z=SnG>)_*@=?tTTk#`9;)jc!_R&_pHfP4Wn zJ6|x>njr-?)r-Cdx@dP{>kzEG%0_B8-ME-}Un(3^7jwj2Otwn}8?we?{#mf83u#}7 z?azYtKlwEq-T%LRz8^Vu#v7qBLl<5Vry1+1z`7w5hSmBZ!@P>u%r(f@pu37WY5V2O z>1wzJ`8r-Z*J8g`{ItKtyd2h|zl=(*BS!oGQC}HzoqKnRaRZ~gNwBG#+1?`9)L)pv zP0ZvbW_5#L<;*p5Oq^rfhSwd!p!zG@4RAMgxd-k=egGaseuxYY5&eLm)P3S(QybB5 zM7Ke(sk_kM33s5s1Kn+cRpmPO(PU$e@yO7SdW4#9797Zi`6&FIeXwQ74%)7$1ErJbs5S_+GpBkk$fzE%j_v`OH z5BNFv&`e|N&@r`5u&SpS@zcy;o8VASQL(3(`O|{Me3D8$iM$p4R(zfitjL;UC!8s_ zquVK1%9+ z?xwvP`%CzZ_*;>!>Sbd0px=Z2CHmV1&*J|ta{LSZE_~dbvp(JU53N@Pn|ht?+wcw< z-XZEO!KU7z{W`o#^sDIpBUn$E<;TPw5G>}$*me73W_3UqK-Tn+IZOTz9-j&}^*P(G z;A?vMhF-oQ!&ib*UoyXg=s!dM8M^-wtgHw|UR$$`BSapBemwiB)=|Nxejw@yy2C^s zrW!}6!VgsMDDqLN(J$E5PolG!N635#`8(|25pzi5tz+KH2bh6Xu$TjQ>-Nb$vVZT{ zdUPKvYI9t0s3GPz494)VGKQ_nMX=D;IFy}PnV|5|af^RFDo-~i4G*db!!~uQU`KYS zNyCOY8Kxjl8Mdpb!$WW!Sz#MQ?pM@kMAk?p2}Dz!&LI? zxRYJk(bd6ky$_DoJ<(Z{iCn*&#kglO-Wkkc2J@Z`XCt4DZp3CqwxSBOEPeOXx-kDMu{8fO>_(49wL^I;x7^YEQd zt_8%of;(+@^lsR-uRC@16fD>@4r~^4KFq`aT>R&9Y|LdI=Mr}=G4mO}E4Y(G$B$hH z2A~fTEM@>XbUOf_AYlMm(?8~n6N*Q;U{jH77eOqb7NC>2FJ62cilIJ!`Qb-c{n z!n{+5kEwLQsxrxt$=K2bhst0cnS#YkBQg~^6+Bn{oeN^JuZD!eWsC3 z<#L2Ul}kPH82J(?LN2B@#msJrU{i(6u0VXWuMHHj$H8J|3n%{-HTs(Qtyk1&J;okU zrOdBfu$ZNcTenN8LAfx1tU38}`Mqa{(d+g~MqUf`?2UT%My+5|HMFbQQ&q4WUFEQe zY@$D|>Y$$ULp{fAEwitL3SN^Hye5|mcKjV+m^Dy`trmSXF_o~4Jj=+h`~IUI-;12* zuPIz_c2I*h#@i~`ksYdod38cJbL*xaUDQbXb+gxd1q(Kf1DnNcgBJXo@o&br1>aWY z-wEC1)p5UEyG&tqbrJSIp+BEmolpJ?sNV&|{)v1Sk>?WHmtY(5v#N{9b15-v$-Nf8 zi|OwIScBgh$)odGRhaX2d$w@}t*hZ$qOQf`I8|57D9OF(}8w9R2*xm>C)87N|Ao9bo8F@3&n*^>>#IEqMnD+@bbuV+f2mMCa zz?e6nzf-VsCuihcYXaxB$FXn0{utHYDzJt|r}h7!udVPT@-}?7aa2DBTd2e1jQj~^ zvQ@BSv*X7)oIbX|qqHBTu7777k2!OVo=yKr*6o5#?PU8L?857LdU>Ac=LAzdOZ!_FauZaX90j?X`Zv3uer-c4Q>tZENg_Ym>2V3>Ot-yR}%!%N67p?^VOy^gPr z9ee(J6W!Z_#e9<(-F}lJ_-$bTS<|mFoO{pJ_yCW+@G)ckn9TbHrS>uAy~umfe+ci> z{($Oy2z!~!$FQHu?q^i{=;;G^5BXiH`!2`O`+|cQ!`v%A4ss3?JFGq;?gMyNa*jQg zzG5Wb!C`tnOi$klHuWv-uNlP`w7($3*JS*bp1x(DeMkE+96~-MdW-obqxk~)b9y;Q z%t7M6AYSJmUE6+7>qo(%j^h0j43KF6omF6!PNo5R>Sy}{e2{ewFY-$|aQv@yBl#5*fYieP1&8F9kQ|yCk5j47 zX9_koi|siu7q7WQ&JkF>(w+rplHp8rGla40ule?4YJp%?Ze(y{>_y@5KW)8vVwauTH5C~;dq1eL&iy1=x z5aeJ8MD_z8WFK<*66Z^8{UOM1l1pPl9;A;!^fvm_DEu@w>1Xtn6-|$^5RWAuk2qLF zWVB#YQRt({8UwNP5)X^%bulB4XB2UaCJG{$O#~x~5*)-EW~|s92;Gp1BtC*% z5#)`OK3FR|&zn<>sYW)s4D1=?$tFIRy!pua#O0ySV|=;9YQIdzod@~I1?UUJSI1b) zOh~7lMr;~3?d#<{pPXS7+xu0Sa7>l5pGxclU`3~~A#1qLEwJ*WU5KqnIHq*`=(|)k z8EOTqs>7oW?^=P?3v;L=OAS;bSEH{Ktg0Gc9XmR%2J$uugK7n{T8T#sv?8~Xp;@r0 z)nr&D_Cfp=Sj+~YpU)LW-i0O_vy2{my0CXrz4KuW@)~0M&}&;ax!1t?$QNL{fIZX+ zUF@-Ls@Kbi``E4#?AY!28s-}M>Vi(>cKkcoGacmZbmsi!op6dV-B^$Aa%}6!zmE9J z$+e!iE8%L|S2M1wuxY=mnftYZ1)Ii!jr*u@8UB~yzm`3^7XQoeU&q+5gsaJ~W7B_~ z`)uPT#&sjUHU@D zO>hhIy;ZOw5272S9~&rjJ?Pw{d-YEC@dm-FHe%U`=LW%{?k4j_!D8M;Pj@2UiS4g~ zRo#idj!$&XYyx}rL3+ENUhZQgn*^Ks8#=9j0RK(!F!E-6HZ$t`;C?Fi0F`)%{C{J+ zNw8zLEW(GCV7=N)g*2zN}EtJuRGgmHr}ey9JB+ zB6i(=k=(n50c1_TN|8ERjPs0F@OT5>Vtj9r`3-@4g!J|*{D<}{RN+;4ohrWxZ&8`I znAaQh@Cy7Jc@LG`!*TT=!9k2+zAiovat;$atX?DT71$#=PrT=}pT0h34EqGuGxWEY zzV@+a_LJuTe1iN5_W$Cm{XbzQp9j@1ktr2RSi z&#@mQ_8_r3F3MT;ImS_117O8srH7wk0J)#6N7)`F>PK`xGJ~UJ>t|F0Y=0)JRj?y# zoy9x~KOldP@At(0AUVdaT5a@X3J!G~&mpjr%|V0%y~Uxim<}>I&=0d!V8c(xMmWbk z+Zd1MsRDNh*-n9}jzM)AOhcXlGm&SK?F>Pw(`iq2m|!s{3pOff)kG*DyK^H4<4~-bzj&by((+nVM#$Gcd;*kPr zWKCn7sgTT=69t<}K%citTeP*EYe6p3q>BisNbfBXMUWy< zkzS=Lz1NTkNbev`N)S|<^xhJB=tWBCQ4$~!T0#wkW?s1 zbrX2qgNwcE5&h@hjCe-OlIrMt>&OA6&ybfasfAJC7YF(}6zh$l(v+OSY_}=#nrk1r z=06*TS?T%s&pe|)<&d0GRhi@X7CrpxV7B9fV}1&w!EdMfj$j_=!|^EiMRRV7%384vf}B@U(sug3Y(&z)te z@)owee7*V1n_pH~5@v<*lK`+u6#zPQb1w6CwJAMPWxP(*?ypbJ9LnqtZ2HX(JblvRqqcm{Xc!+gvz;33wtc*;X}+R-iH(Dk z8(4By+!>Yt3prEh8pBNT9Ce=W-IEDOG6p=&-LdKO>*Suo z-#)_Uy0a0@XLtJ`VvC?N$iXqAAH$i$<;53yN`EV{=fc6un$SQUp;k}CF?<`R68`F) zV{M1S+VIYs*{^sFe&cUi^Y*|%=@V3Kd5`)N!D_ebi@{wL3vMY?k&sr<)~h9+^4V7ZHnCa% zl|-dCRj|AxrgqS4WtM*PhyJiUw8n9TxGxVZW#8-X-LX|}J=pKDBHL55Dn6$tYeJXs zD)ZFdqv-tLGyS^#VVT}cd+>8N%eRMOB{;cvdrFUk?~=qdHuw%A?+*B3$03%tV`1{ffF)+Y##^HL_YdZ+P`ClR?|H ztJ!azBdsze8}vS8^{+egHkMbV+6J-Vo2F{IpSeUX@uSmG`l~ zsPi2*TKr8Mcf&N@6usL{&}Cn z{>X*Rdy$ig(zIJ#==V59{@L5ls(E^=QV#vrXxm!1nyeQ;tuUj?uos1(FlOgRxYW-~ ziB$r#H}^)6LNNZHpBxDk7uH&lZ|0%!yJt}_mMqY-=ts{jBib`_t|mo7MKz2>PcMNf z#k*A%qc%2Q-;6#Kwo>4)v^Kqb*dOm~`1EpZX_%wE<$y0cE;Ci7b^=taPPoD5 za>ve|AHQmF^jZpIF|uql!d~_Kbt(5!)JV*5QR<1$-^t!N&-#v{jH&!I{`_2*NGqf( zGNWEe=0k*jzwku)1K+d*A0nO@WLW5+Ny~B6@TNUS9%gLbe>CQPvDWzVyl>6%77l(^ zuA-!fu*`#g?MNF}ENxFOwH)Lz7n_}8!KojZsfZ^Ef3yrA)8CrVzPd9Yx$d)7FFaep zwl&*qt=gDJstngo5>xk+sLpr^v_Y|=Qb>xOKV7YYQuFPyTk@jt1McPdXq0*$PnPqd zj%DKw%&@8a{_>L##x~!||0YE3@W&7f2V?y@2{nu-dt> z&|LYQA?qL`FgKQ05GmdqInGc**H5|-yx|d-u=(ge|B;@10KeS84;=ZBcgMda^+>h= z7O@@oflm2(pTpfw-N1#>;)YHG^{O-;*k_m7h6#w)Rz&mV0J;|FonvNY&4hC7g4T}E z4_Ni?$(Uq;dFXQ$Pz0NmoUvcw0{@7QtWcI%y0|>k~Fe40cdc((`3AEC5m+H2I$w207Nissz zfPx9HVYl26^)lEAzHL+z@J*1ecmc9m1LJ@SK0JKX!pJ!`C5ad#C`FB_9(6)Gb-DaH zOXiB4flU94h8?E%E`a0O7?uFmz;w7S#p5_=Z1~Mvwwq(k(C#>f?&EiVgDhwT#j+LE z&P?qIEZddxF>pKI$V?KSy?^G>vHKNL6i#Ff_3n=_R;+k7qX(=>HtfNZEk>6|#Ua@F z6`{`3g!c*&DA1*2Of*2yoto25-RfU&wQ+zYJbSe zm<*eXo2}bGA;#Mxm5YN@66NqGc5BGL?J8%m``0h3su)Ka+eQL3vP`r_-xfV!>fMKKc}v zV16bjMV0Q)&+U}ec9)P6!HjqhmDo!@xG!X6HvHhFs&3dV>@DICy=>c;&vYO7T? zAxDoc3Z1F!Q`d7W`i=IppgfpSO#frnFOQ$eSz`unY`zV(d<6Kx6&^raZ*+hN*FEN$6N;b-8Lvd!++#4VLeAbs&=K#1_=8XrEIFwK0j zb%_=~0&lCp7NK{pO@|wah1U;zi%ewv171(S0SjCIp{NN^K2yMddz^@6Rh7u&8{mq3 zM|?@Ie%v392Gnmj>$%LV2KmI5GuT{X_z+i#gwQLXx>rvsF(1q#Au51Ehi1-?=P%rg zvj@O87bA|h)zAr)N*apFebQ*tnzsEa^!;*FVgm0-Lx`3$vr(f>b4IlbGuI|h!7j^_ zwI$oxPi+?$%rAk!E0q|p+)Ar+t{HwV<81b0`@leED)R0eD^>(ozs+b(xtJ)mj;sdq z?U_push0y{dyIxh>Uh(h8%TFGH|0DF?>82YV z*&R3Xwsrj@`Wd^kHN&g0%O6lHhegAAOH$AG~ zEZc6fh={yLN|u@F0d$d3?JPT%G(BXALm<10J|#| zU>-*b4{3}+eeCh+LQQ1xVk4IFm7nVLm?Dw}RGWrtPN5}+8W4>AC`c)+t+Y*xrciAC#`T!TLkwbh{n_hpf8^}+G zJII?gDeZR2)m{0~*IHGo=9VuvJ~!~)=6SBe?ell%(p!3j?9ef09%$}n7gMPyI4F9X zy>9F&kozo(7bZB4x@B!&0E-S*3@GZdB?~q0eY|p7auP=)qs?4;4mTH9J0v5W9d3gC zVv6SuWHtUgx-B`<<@?i0zn13PY|xEs1=&JI!_6o7BeM*M_g5M-re=;EEbbZovuu0l zE0MS|8`!CMG-aF@BimO&L0@^J>a)A{+mFOaS)2F(ZD7a+62 z6QnzMq2T!QpEeKPNQCyr^_VtNi_1zLl+4S+3BVAyFW+l;-?F>NV#N_=jwvFF<-8ZN z2Sd5maxg?G*>X-=Yvm2+{?&&Ag}Fk$Gdfd3i6_dNurbJRYEDGfIU=BSU%s{PECk~x zS$+PXwA9w#bA4G;(hJ0@z5Q(a2ZxC%r}Ui%s#`IywWCDRO|-O_t}xzz<{T}f`frbk zh;@mGYVi-q9ovK_h~xd-kLzoPr{@!hc@%zfKNxWU$@Q~K9Pr$S)>N?D+c#4*!JX^9awz4WBUyyoK;CCYFXr<%TN=euw<3wa z9-+X0&cy-T2;KwJoK}Sd#eTLX zxx}^DVB3>+!#&L(>{ydSz$M0(r7+;$D+(LVL8t07y3v_Z6Gib15M_fJ_e^8iN}znC zF5NOL+m&g=s|scx{Xe^j??_BzWfHpe9tW5(4opwXj1yO7R~q=OGx8K9-oi&4c`9Z^ zH6^2NxwwdPc>7v1Q|M-qsNjB1j8eezMqEzJ!hqheeGR6(z)hxbU=#Gl?{PpWW#`tG z*K>#6$NM5!&8^g)#XE%Q+V&yi0MMQ}zWp)a6J3DHLn5WaLce#z`}i-9@y<7dFs|us zb%d}{Em&8|M_kXa_FXV@VyZ(KAX{Y4VSsui?+ae@sOS>NuU{^koQcs<)`4VFX&IBO zJdKxXFN2^_!OXP>GEyH_GmP$#lqz6j`WsiTXD7np)O0=#dqwFaf3trdJW=VfN+n9Td>8VnKD0elBgnbEcM1=bqOUL zcxw9R`km&<6Bbw(It zgP7cs(D~U#g#lm-2IU{Kl-w5kZ}2?{1OrLrpY&A2I*7BuO+txr@Z%#Ug%tE9AGQ@e zI82ekj~jMlp_HxhT0@FPNp!i2t2aYUT1K67_d$x&1x#oT|AJY<^I;)q{wST}uv_H> z6@7l5zsJ2~UDiB12t_vPL(!=Sl%Xyx)@d3`s)FzBEuMHMN7KK?)>$c*NW`Dky-g1P&F{W1@C=UI zoP@%8yK-Ow)#Hyb!vxTp`pw4B`){hXpIarm@U`1JHO=;v!1#wLoQ~$rx6;YYUJYIRH_hI7FaFCp&{jR?{G>ZVb-5*kaIN&n4j;CRUG~mO zkOZW4)E6Fk6_k1TYD2R37oHgDT1>S3Fm?$qA27`}hSqM1A!j@Vs3TM88|S?Tev5** zoa0LK7mKB&wb{A`FSw>l5x6!#y+X>=LBVMv+Kv7#_ZZkpk0|KqQqcEvTLv<*yuNwL zl}`~nsOE(9xyeyl@ot|${Byq3-50j_d>Kwv=Ai6T*vnYnr<4~x{x?4nM6tQ6bH?Pc zo?TXwmx76@Uxtm`mLsHE|~g`Ro(>Igbxv})&Ll3O{+ z?Kw(;cNmaqIY>Y+=TeKPo6Du=Qs(7Vx_^xvPOA+t58~<+`JE6SRTR7{{yn`e&t5bo z>Zp>o^G;aqH)#5i{B&T>=KfiGbHXiU8y&y(Kb3M?6l3Q#mC2^51g zG$%?Tq{_S5*E~c=`5HG60#NPs-S&-9KME{FDz~*Thu^_8aw1{4 z3zqstnGaObBR1DB0e4*Ww+(nwLj}s20+yL)rD~RN%2`pGEv;7@H?3-ZH4Xwa(>Ntm z>6pO4#eYw-tEvQA5!W$6wVAYwdDoLCEg#jv&`wQ(fsJi`)u7&O&qdL-+X_FU5exEj zMVp7Ni-nCrxLrGh*q-70z@}`lVb2t{krTv+794X)9-E$|9k!X6SA3PAB(5*kNLOC2 zhbv0b%T-x0EHV6hu`p61^;l=dI3$;MHxkFwbJ_ctuHxs{zuk{VdY;r~{Rqoa3{cZJ zwrLqH!s94b;YO{aRY8-?OV6!&I&KjrSHD(_-fDJG%cW8pr=h1}Yj4kDd_=a|>qL2( zrLkwCufDXkN=&Hf)>R4BfOqpnscz6?Z*VIaidNzF+Bq?e=(P8CPg)K0$?a3BgLQ6H zsw5cAXY$&ocW0zebO&(VE&6(1#S;eo;|%xH1{* zCe_>}HU#SMz}jpi=&#C4JaR+2?$`Y|Tt;L*TywZ4;8|du(@&iA;2_oE?)$ubAhfw} z9fUBy;V>C@TWi_gXn2ev#cXiwO;Fu5r^w`-szfElbVvKZhY@j;WL}Jl{WUA_*uox= zk%jqjkWte}`tJ=qB@D+cJE?CK#JcW!uthcB^Zb$1+lFDs2*>wbiziJdU_8p7pklb# zzU({2RrVQWA%B~*Gw*LY{b1@@x@$|iawMJiXR%r0!#$x*<&lL3(@le>a3r(NH0s@c z)}1fJfyYbFwJceHjU|+k| z3+_IGogQHOX{bCNZAm)U??r4J$fPZgcXHa#+l#I3W5KDrrsU-nIZy>+MT|_jPf6?7 zBOl9Y8442tOF_=NE8HHtIE;DqZYcrI!D|&lxYR%br%*3B{MJxarLw6<=6b$V?j^{vmTjEsqM?19OQNhWXy^NN_N)>6M$LDX2 z(jTtnhTc(_NI^X*8yBbnhwBX4nN*zCh5%ugs}z`4zpWhVITL2kvc0-$2KS?5D$Tm=NdfMsNax6I}+3sbrJ!*hTH-yaN@I z9PRU*Y9}|ih3ntIiOoeEmelBk2kZ`d{fJCLevTC;PZ)d#{fM zl>!gf+lR}9nuUTD9oI7LNL~Y`^SSp zQNo3H70Q6!%K!vGRbscO7Se)as>24`;e_=N_lAPXX0yxhFb_nZLZL<9g^#m0DMDME zWp&jFjU8)P+4lW+!>r(j?+aQQoOC1BCMWNRBV2MwRzSN*_0^@dP1m^ie$L-64}A-Z zYl+8mzTQCnAXDdV2Tu6HV0~`Wc6A{k;XtWM2+bWVt3=1HFwvDBJvjM0!?E# z#-OIO0#@9;MY9R8&llB$Xv<72fD(g(&nC9PoX@VkA_49n-w5KTO4fj%RuM<-|Ak#9 z@pPh6B%@wuD$8 zCz_06kM3)#ik&LR3fI5eN??()YOFvwrwnV~~-+2Dg(WvG9v4H-2g?QaM zp$ODqgH^bQ;D`1579=EgO(-g;7a=z`{gF(e_DA+`7EBzd4+V**CPVHgd^s*Y%9%!- zX$(RglLFR_3!)TT)GjN$F|5bS$0ONQ2NtGcmTe4%$I?h<6NO=(kaWVsoNst3obJt1 zlyh93*bPZHHGCMHlzDHU{rxeMJnsTD+sB7)&(Rn;7?^h0GPv0Hb>Ap}Vq0N|8N+&v zc6zLxIlu>~THF>aUrt!&w$gBwY3n8gOmDm%9&}fmr}Y;sQ|+*E;YykNbF0W6sd&E+ zyHB<&gogZMOH*xgzqc-g)f}hKv4xN1Y4(+1l};AFooR*yr&I`)fwM8pixp)hs^QMC z&)IWAzh5y2c?H2Yi-PQn<;>wh?reyl6SNTOR#~#MUzy6~&|(gD|U)O z4~aGhwR=$no%M|;%0GWQE58>6;Z{7BhI_iPk;6DXZk0QA;|o&ZpqmH_tOcoX#eU^m z|6H|=ChWIaecqenj}1lB{(Mzo1x~edA2*I)K*R_Ent4TG_8ubO$0VVV_?d zwW5pDKbOq0k3D5vx_cHrgt8o)BNrZZQLAU@_lXn+g}0JMWor+d*lQJ zQej-Yx};E*?O~?!(({p}T>!hW1t;@9tU<#^>{qALNXN2M0DlZ={)8`p`&zLBc{LL6d-nBC9KH0-)@J_ zhVUK*hs6QjB=h&$uGE74h-0gy=98r`nzzNis{eYDL6YT=8#K4p{z4MedQ)iwI&gvw zcjRaC=Eq+4zje!mc&@K_ub+r6COZ);=Z@%UuX(P8NQ@{B{P*nM^tBD#c*k;N#fZTJ zwsw_r3En=3%rtgp>DXFY3*mo}&%^9}4SjL9^{MyB>EL@yA=XgN`WVvaHjwW}7o#L^ zyp6t6I&wmFAZU?epE1Nq*IC1;h~MMOPC{q3qP*^mjUCV=jbD7xzv)m#`2*|jSEht- zz!)l{yiP**eal18(DfN?Pe;AbQqC}@Ctm=l8Ic9Mulne{t2=_~YzR=uzRL2#Q><&K(jWK z9}fJCy;vZF*#ze-M|*sEoINHEnr=C|>q#(F%S%8PZQSUf_hy={K>DmyOd=1hD-AK% zWL$gHFwxF(1WgLlxwGyKNza0C5vJ7WN-T=VTe;@nT!DeM!(F?2j%E|k&r&}YT{+UZ zUu6BY|D(4b-H}9%uHN6<$OZ8%Pz=85l6W_cPq_f0@eBD}^%3-GJG=MfA;26YWgGDH z;5jz(UBH76qrA6sxxZ{3C)41!;czgcWiVjW6QII6%UB|BdW5{x%9dOk_5}Lwr!m&p zSt{(l!W+bIMDhA>72c*Je!=*4lezVnC8a`RkY zpQ=T@VId32+V0Iib;K`tBABLvOilfmNAjF%@2v$wMA=^wCghPN+x_A^8s1Da41q zU0(3G?EG*jqCobauS7@zt>$AST<&onOT$`+ZrS-Qld`ICT=}?Vy9;+?_ib!0H#CC# zg>xcoupu5Z^HO4(s*9dJSyxTp9n9-%HOYq2(MEF!I=uj!%2Sn~vg}$8z#Ya{=$(Bf zY4`9gTp(U(u)OlZvmmgjsd4e_TE%!3&!@{Hr%xx&=zN6>pwEw;wwz>+exQ|#O*gi9 zcAjv#E=67y!D>P7-fk4+2S@OC<$)IyyWSAFdm-LQ6L#Ro%l7HkW~QCru+Mwxee4;K zjHAhnAu16ke^oU{)Uqn^lAdlffm;V8o?}f9`UbpQc#>!`p#qfhreC%-a4^e&xqutE z3bBBj4rM+K^M!}*tm?@c6S>iobD-;zgy=LsTI&~&5VQ3%KLAzx5@LvkkRa=L0s~oe z)vJV*%PSr0^jB{{%(LxohEXH%3X5l7UO>=S^Xp5^)?=|I)6~#bvo+u~U%CX;pRqQ| z6XIqEH$SFqPlKKE(l21#gGIu;vn}L2@Cfe>lz6x*H&MTFK9hcIkI@7RZcr4>D$DRb z!C|-EJag_!*UIhJ+q_;6G}Gn*$ysdGzd;7fQM{&W#b2x`iO1W0m1z}zxb8>H)ACdL zIljay%`QjS?QEp8G}N@s``MNIcqziv$D_=P*wB#>x}8wfxaV=KHO#ET3N15h98^+p zWZt)IfN7MmwXpHnLO-Fs7t8v*6?QVtR25QOTJm^%o?G+I;JddHuh1;nfDuMx6IpVf z_1pM zZ!pMr{#>BqBj&Zt5w2Y2l0u|-tn%b9`_0XX{P5+as=beYQL&4{Fp(XJ;kf@OqbOM$ z!n1sfgNQh3K8?M-{Lk0^Xx1aObOiI1{*sHoDOQQ*9Y((PO&b~lr4vbxko;p%RZ`pQ zqr{C=mk=MLC{RDFCb$&IAdc1&dws~ie=_UwetdYR<@(aI`ZdgDVh|aP+BhRZ#`C-; zkM_OJyE1B^@x8xd14Oz|*h+thD&<+9m>pH?XC*hAad~fu(#vl{v*vPq(7t0SbBL(y z>h|nq=z36#j5}|vfZ;b8_ew2W(QdzxAman{9!azqzR>=~KH&ABVR3cnVoB0V%pFtq ztm7mBMY!B#>#Tv;tjZqV%-yhfoZs??)%x2HKb;86RWW`EhtHT4NX<^+qS%UX$;ITA zh45V}v!qAXR~4cOr9Qb<i>wVPC!Da3lT>JZY@?d|COmrHw zQ1-4LgCr{K&c{k4jg0@ubZMRyuCwrJ7F_bYK0j+w`v*_Lt5TUPZ3eFmyJZn9tJhel zJ-lKdf7rlUm>{O%e8{~EdF&kb%69QHvQPC9nwBexb6Nzg(pM#?onDuHbf6aQ)|b8- z+#l>cVVbsFdQ5LJ``9|g@@8OiP_rS;`3NDtG`6I=#QS#WD$YgwXwdSdb=iRQi%OEq z20{z(>2kNCa%~rkS99OZtI91DAY#t-7X&}B!kl*`CU*P%f+T3yl+XDcJbvKig8G#{ z1=6SamM-xu$hF?+`j9{qNT7WV2Jz3gBe6&gp<%YV@b7Kj;5@jHJ(&#dw~JWM=F zIqE-z(hBNz`{(>$Dek-fyWF98`G4p(0^R?>(@f4Va$AU>w7wo_wQ}p}+^KJpya|k@ z@qax0|L~*{+-ax!A1=M#=ZWa{_Pe5vv-&(7StiaLnZz*B+4-2;dE_>|8G8ZepzqxT zE2SJr)9g2SHTd%>O%>+}_}&Edu6_l>{nYM=*I^qB2dLa#K@JWE!DNmFDt84ibvRV`GoKBOQV+p*;Oz0^P+O zsn7Zxs^V{?Ae_E$XU#myag!D-9us@`fTL}_L@DOr`dRb6p|LcA8Brmm47jx(0bSAx zI*Y}LT~|J&1#z*rn3VjGoMH%N?FNsHNByv2Heog&I|9n%D`;KZG;{T-sCsN@GEt4K zHdx=xSD@qF>V?eYYN5(>{HuZds zeP#{7trGPB)Tql~C5VnBA=CSecWe53igLj@}wr$ zz2(@(QeZQyIr(3JcH}S9P>!+9_o8`nXX_(41*vRdyq^CvGzf>$RPH_cLf|@b=tc$$ zv^eyPbf$VL^P!nMf$Toyh3eqZ4Mf@DjV0|Zv4O*w6U4wF2T8`G@;9P%3=#bbB8I2x zx2fkLDT)YGH?Y@ks{(%)@sxV$EY{kRIeUe&08*wDflN{LPzY7eUvJ%wE|}POBe)&& zFd3^xQ)0*{hu;M6HOD~n`2lJ#Rq>2UPtItWB$R!fe|A{E3JQL9vz&|sge2zD!%l30 zy}$!%Gic2Vw&maqBWS{TPd@{0zcovS_ak?bb~6AYV%QTivcrrOA3zXlh7%Hfb1rq1 zR!hO(+qW<58ALRj*q!T6yXjL6j((`lDaCF{chfNXz8!WIoURm!p#R!izgJS#7^VGR zKq^n#)*;XbNGw@bqwCferf<{-U-l86nmIVQU1+iQ zPRgSr2zgpABlrcr(0$fmsNyljUm%M_SCwjfkC|tg76<< zGd2oAN!E*QJs_Oi-`eX`SQOf5OMUa`1+ORUD`e#kH|pi&f=+|P7-g+mK$fjh09`)v zo--iD4;HyBx6yv|hB7UXE)kQO=G*n~~F#5z(-stOK-V9!(z# zxY;ri`oNItGt|FLnz8ee(Ajt?ufqt>ifG|a&Tg0P&9BosK ztcdhziU8A7f!Uq@X1m$e&#Vj|9htiy^@zRIIKIT?y;a=Oa_r4})?R~V`m*2ZcYa!z9 z;ku)(q{Uu`uPk2$k6Z!AIEQOHZpXV#vIh^gr80#vX484SQdk9L*gYWMWa^A>!mlxT zfG~bBKP$(ZJt%!l5IB15QJXCyyIM|JBBjVc-Ymv?w)Gs_k*7~84+f6zP!WIit1D~T zS#7=ZD1wMkM3QC4K6bsg&B|BoFH0~*rV7POy<;IA$#zIoe!G*fTNj}2c5R1V5zgel zrrDF-hJN?nqKbI9dbI}9u^tTAEjg6{+;7~7wLQBBxVZtCSPJq-$AGQ+ZhDiyVKh!M zUHJe%&tB#p6L?76lwI|mcSxodk3Lir?_L(@cqo5)0lc|C=EU)*xhP*v*Omml)GCPq z%~2Sov9M@O1;tTRr4jtL*|uJg1bqJ^SOdi|%Q$e93qg30Ey2A)y*^+(SZuxK-VkCv zxo;Y+Xs*=!bEd=re$44dqWU}sj0)Nl%nsR z31RdH%KB?#PNsV*8A;hEX`}#a%{-YZ#Q>ic{jdjyXg$*+yw}}b&noZ6Q>aGa zhoMiX$uamO)cdpdR%5-uUO#Z8pHwM>S+C9ZXf2>PiOE+Cr@o^OEB#Tr6q*M6vhnR$ zGDs6G;N^5%*^ZX2Ae>@;hB5rBS6%U=!*!tL=yhR+jn{wJmDjxX)J{4j)|-~i_NMGq z=~v@$@a3QfNSGCqMRwGp{KIul4!2KmNm}1L?st_tYctkE9qmr+4Kruys@m|hQ&YMf z;h4poHiZTI5Fx&kqLb63-P3~#oC^*@TL96T7#GFq2?37&=$5pK^{s;LTs1T&wWzpfNDmq$IyH8aE_m=FoD!vBP5 zf!!j)mi$qw9WeRq$|_h4WBDGGb^M+4-*=UBs%y#*_8xq>6+- zhRt5PN@I%@^!~0R%D2g}doHp}UI*QM09?$8$R7H;q9M=o5&YonABYRZ7wE|?aP;A{ za89FGj_Wyz_c8L@K{ttv_wzWtd8(HK<)2e0D!kay^JpP#91Qs0ph~&_Y;&lIzagmz zrK$ty5kj!I)PA98g}DIe4c*DJ4b|wa%0uzD2>wHlJGz1}uG54ihd@@Ga*Nj-&0jzY zR~3=q(Fsg|V@{$(pUtf3pHwnZK2r3?mj8id#O~FEbt`FVEeU34;V>Zcm8!7jeX*|& zxibzK{dsCQZZ5iO*Yqx4yVpVx%|awI8nRmojHNjn5;ZA?CFe!=_=U_QyxMMM#E`-= zwWknj!@MV!KaY4l(oUF7&!xQR&zm|Z>R=AbZU?jRr@HUZg@|Q#X}&6(mEgi(OqWnY z-kxE%U2iQiq!9ueoM=i+H4(I})}k3wRC-cGP-79gN{{Us1ijOdDO&)~H)gFe*X9=N zyp!4W&aqb>8Qy&-MS7LItGoCDo=tI;@FTS9l|RbVfv4>lG+-A9YQ631lVK@xIOg`= zzI}rl<@=j|JG=}Fc;0SYJUx?G@>g7Fr-d0R7Yw5}IydL9lTqtK{=Vt;4%9G51jajH z10uHP?iKFG$&yO;{DdY?-Vh6ug?fLqy#n8<*p7z9BL@=k>l678L^sNy!axUeOPaG+ zFrGZI1Xh1MRtANme2!a0*Go>WEk8h%pEb^<1n0#;kxDg)Zi;KtL^DDYB5bW(Vn=>V z(wC^*@aI|nO;`v~NjnKp)olMP)RIK>1INPMq=63uFmX!XPToxw)rj31Bx&^VTElT9 z?_Ii$yw?keo4=vG+rmfCQlbF-&vCdbT)IqbWJlPXBF4%tW_|V*M6|T^fnQe^6J5U# zw^V{ei=9A6sZwQ!S!S@+O zekI$@7I1yXdEdO+&1|RVMiob%grO-5L6m2`L9wx^DRzC}p~p0E-)X#( z-QUC%%u(6tF!CP?r({_!e8}xceOG_D96ovBEW5+!f&NVT$MSrvx%~Ck`g zmq3tAH2(c!Drjt;wiT4uT@w*M)3Po=8($8Gk^Xyk4}dF%Skt}A=3 z&dR;4X)V7m$!-#wfL7cPQ-s`~R0qpqYriGP-BjkMxwCz?yPhtiZZ`p@IREZ^W3!vQ zs9-L+o8+sxx8;f!bjstaE;jR;1FJdJ$~R%(%58Uen;15mF8gBZ3;VajsF>~1Zfxo1 z=S07!8X8~p?|s&{y&h5(F7VzZ|MHESMD*{2VP{H+?HsSNma{36{^*jR z%ImWWTSDCsZzld}1UJ6Tlb*4RkNs<0JD)Y1CiN8~i*~XPRNPdvV{Q z=zjCd3^vZKTYG9Y?G+$&zp>%4AgkUpfKcB z54F;!IbmIfktzgQ!{48I5!ey~W?4vMOw*z8!B5TGl3d^P9C!78K6WWOMbEbDcmjn7d8F<0+9_VGz@l;4rh{?SsZz>T94JMx7$pR4X@* z9(FjXT;n$JdqK98L!DI{Mf4Wz#GYJBKT>JZJ}~$8Q!Cw_E?he`vK>0O&Yma!6M0|h zdm`s96C<7}IWdLTF6cpxfP#3RoIGG5`^<5qHZW*j_^?g_I7AJ=SlR=I;{F79bi&^) zO13?PBvW1h#MCVD_s^AooPR$NnhV`sH>aLCfRssFyVHs@JR0T2ekR(_1AAiB>wf4N z*#0hbAC5Wl-i$GjPT|CDP7Vk=lCC_{;SM$rd_s~3APFi4(!MlGEPx@2;0Doz=P>{QGhwP zb#;@)@Y##jXO{L1aF$~qg9qBT>uT+KZF}u=4t}pa`AQoyegls!!Jz)NDT6v3Ofsm| zd_ns^L(iA+Vl{Zwnog1B-M>?%w&}-lv@(T`@os8yOA#xVEqY zPM1Z+Wj+a-*^qSk@MADG=(jGG@(NBHZc zQyi9~n$NWcHWct<-8R{k-PUv91bt$Hk3q4CQ**2psb*JlVfb*rY-Jsc>3FKuX9Sa?~4`uwQ zAHcuIdZ(~KFVOe@zEWJR?L4V2)&;}XpH#bLygp!?1DuRd_ry6hQLCVYhfDmYfp@h} zo=i}?$-L>iZ>oXanEAw7l|G>p;0_B|GDU!Hey+y4W<_e_Ihj{_mu}Uhi~2qo5P^)e zE`w&kb&gXO#fZUg7RP!KafYkpa4v*ZkUpZ*Eel{7_c@bx5b_}70I{+!3`a0ihyKt0 zfdAQF`TR%ds{_2h9>}egLbog%)94RxUUBD2hF4qPfORB~{=9z0{Ez$kwC!Y)&B}O? z0yvu*4BXh|9I+&POAc;Y5ijbxvh+>&Q;7gdv1s+*^*XMYYe$0Hf}T>6qu_zxS4~c2 zm0tYRbiOAHc-^|D=Pp0;S1%Y`Pzl{LkJrcQ6Dz(mG)$csyq9UVx8pZCX^8r0foOtU#sB){H?PfK zGasTZ)GRH}_;dM@SbV?Yp@2Bq;uiF|tTp-*`V>54Ik%;g@zkb8Vky5o!7Rgd&`tXM zL#;9Jw_rssD5Bk5CqKSD-Yp`>ZtN#M8TG@|a4V3uj7rf1ru}X74buw^$_>%d@`xYH zSx-VDyklQ7nWxs8ea$`lJ>1w!5^C z5L_$ce4{y+>_X?Ew8t%MpF*=_8C z#nw?@E5Gl|vFMtdZbJ3!guHK*H1WE055xo$6!dOHE|*8Ebd1Zp`HhP@uQ+Ou zUGqv2HnvKGT#1qi82%X-?@r&kYOchOSf-O4t2T`n^RvIMj;zb0F#IlCGh*IIJpO|Y zAFrn0_t{6!Nk=?i7jR!w?Eu`lfq3bRNq+i`5@pcOY(B>b9F1Y<|C}5sYW2!ZmZce& zdAbVTIV;Y~?pIw;4l@Q{3V5DdP5jrP@yce-MWzq;=;m`t)*{RUibDc;os3%?IfOgK z{B*ZVPSqA(O>%yGIaHDMGAz~lSK9$vSliF`#LwYGo%+e+Fv|u;V8E?DX@|W6ESSTd z12wjcJ+B}j3hRHIiDswG6LLL9!SB<3@5?eO#RjK0{mTR}zm>NVTrtxY#gd5+Z+h7f z8(>M>4^9?b?=_l?0wlTs;IAmMOUha61O>Ubaw}3;KWxi`lvjvuo_RE3x#husUKDS7 z5LP(Xb6v`3qy8k1hjsJ)H} zsg4?d+}@PEL(4Po4VDz`yIcdzN1esvcxY5&sDDR#UMc?1&Pz^HCCL@ZmHCs#K_`Lm zR&1*_@cpfBD2it)@Zs;x#SCAER@)q=RF7qC;a_(5jXgU|1`hd@`-OUR@3!n`&nOqx z-xAxzya*QQrpXb*8|gQu@VB-0C6iW;k`T)UcQ={uOpg159#_CzyWZxhN2)X8|VxF%G4N-^3 zOHkiGKX%7|WjHwC1FR4j@sYIuYM&~C(j36Hz_=O;%baO1)Mcc%apJEowwjY0aXxNLzcx-oyy8LySm>{Bl3v|8xH5fo?~t6FHD#g!wYxfB!+14Rbg2KcaJz^|G;@FFq22Z)nl?o`EUGqWhe?{!^DV`^PP;M zoZiV^cm{-t#xK%)*h0V3-#8f|PVxq+33;u|5}kAHoDi{v2SK{!3rWGEs?$KYnw_Wq zPMPlq zE5M{9)EGb?Vw=$4liB% z^OC6*DgYS|{sZXGXGQ0?8B*lVBuQcB)aI{p{=8*U4H_gi;GBEMNke3X5P;LG!DzK) zP=i+nHF$|eH6WS55%`}lIZAW$;`RF{K^Dq|Gx0K!dT@logFoLE zugh9UopOTgNP(6O`}Du6>kfN=HY8r34*Nruur9^PEGJ@QhN~VN=9HX~k1GG)a z8J&inBKjm5t#KimS(7o>RLjyQ>cTGzbh*>!K)d%j+Jof}ikv(@YrOn+yEoyc8HK#~ zj9uGX23kG50H?2%3`2{e)rMA|hzU`7G2Js zOD(!g9s=1x0=S0&X-CU=pAQvaGC_6>F)fz0dsRO7eLN;UAX*8w(z)C110j(Ioge;N z!1INvRyd#u1GQPYHixko$s)m2-^9g&6ZLRMlES7!kP_i4ZxWs8BE)HGM< zI-igdpdMs5lD*d^2-~YKd?($!7m&%SvH2j$&g5aXMq06&&Xdg)Pqo7Z^Z8R&x0kNX zEM4i{qr10Mq8)~V`@YF&;Pz#pa=%EwyQ_Uu_*VMTByeF2WRW8S?N1`a7xWN?{4pkUx>w2sTIf2x=H8P52V*?1z&7fS) zyQTANX1<4|O)7rIG|E+dHad(*t@w%o_+NWAcJb=WQ;VMKVTH{$CTsV;8t@J%pA&wW zuFDJ3pf30R=wBa?I5Zgdx{XLVhih}ZWn}=0dTG9YoE^4VRSzK6SW3hQpVET#*@Sx|%!n(5tVuf=8QtSOr)Ru;s~->b~2NCXyW4UN&zk#5{3vN>HWs|6(IvpF)Q>Xy?B(M-&@ zO868MG;?hfZsT{Ldq-z4il?@dL!nGk3h5qizny$?4Gt_8uK$bti|l|~hBG30QIeYv zd$P+)WzL6D7^JRiDdrlT#P>*Pzk&f?1G9uHJm$wSoz{SO;jP-p6efrbpJHa5i;W}r zX%gkYz@*|=!4RjXirSIx>SpRBk5FL0molSy8jfp-5X65 zy@6mW=dA-dDgK+*4^!tIuvu7HXG{8Z3?kcW_da!BF@k7hd(c2Rr`E?%19SNXJ*`^1|!-rc)kqlq6>uZ|RC zHeb;4?kL3x?IQJ=KP_u9@B~C=W3==qj8SlP3#akE%gy6{Ex+iuT0nJ6mlNFE?8Kq{ zN317uNc)ROW|a-*6CH9x;iAn$D7PP`wDg;UZMNyy;E!XrXTr2}?yaD}B`xhd(GqvI;ld}Mcjs=cdB;_xTxc&Me`n+ox?KiSaY1w+cTc&k{z(Y#nsfLo zMZLU0PMO`b86P(mnIQa}_cWKvgApl{w_W2tB3F z+t=m|+GrZmeLgMILJRvm@`3Ek7njP!n{mt5___c~eZ7m%O&Mec!a4%R zi)~qQU|o3Gw8g>oHolxOG3c$#BGixW^$Ews4Ux=__owd{`eM)Hx4WTG!rNVQm5J$h zfsci;vtN0#9y6F#;gRLXpA1$W^F~5BkP>sv&<=m4%PIlGG_L8?6o59Ie`yYP_vD9f zaf+v1abca-ijhwHek3YU#d_P!`HG5PL9IJ$+x5ZMp3XF7Mow~CP&OJvTgO91UwAe83{9ELK~{7Q2{6T^b#)Fl_Lu0t-q!}sB?sz+!3 zd0!q|pHUM)$>e<|5B9~g{u<=QV<=Q|{~Fi`+F`2szw3z(Q;J64bzd7{yBl&%-&jNr z`-WqZBQ#sEoe3&EffA%E{R{$wSjR4x+YBI+fgZ)A6yOBP7iz3H{O;4^Vl4(?_ivZV z(mqg^$(^WO%)Pk1E=!M+5#!X`<6{2qpCb9$$2E30?z9JFm+0y(LQPNe*&dHSx?-VJ z17pj6%n)D}!MTO;)f29I_@?2ShU>ggv!tWZ*E}l91BkAaPv`RO0`i?n2^l_Hwmj$) zTNH>`6d>Oj=Dm-f@vJ3YrRX^P`|hoVWO_)KE+2__W1r(0bjPwHR|G4yt9g{T%`Q(L z6q+Qa9b-EQ>{Y8MhT)&_)p=Ziy=>)E_qfRsiDa8DfBOzz#)X2x#Z=#16z;MnRfBSw zT|8d$uo|+e%7-1vg@gH$utRYOOompjH?B&&_^FeRs8v z*w}WRf7td3RpHts{@hXW@W;>0PMRk>B5kaGfAhb8o^AhXBYtxBh!_iSL5m*lLZhCz z4f!jVKMq-t#P5ALPB`Idw2PhF^iDLx8A+Xt9cT%|KXZt`rtRDM7)fXMd(o)4K#8O0 z4Xx@__?cRG^ub+(#-6?A9uNLw<2OI`r{GBhDE5Lw$Vx)r#hB-euU^)UHd@hW|HYWdRUyMSw&W#qlX#; zCpX@bcHP2+wx?QMgptdKv5Sjuv1oqjxY|CuWGi^ zk(pV1l4OK2JhixQWBXgIUJ)Q~Gui4Bivzi}CQ=EEnK;-Hu}%HYi8KYEkKfAEHB(m< zN*fjnmsojZD5&{3GXo-qqGH8PLuo=sBc006_~*v{@by5_{6WS1nj2*}yuhshO)Mug1O^9GTHgtMUfD*GCZIHsfVO#6Kq}dHAjD!57*rh_0OIe|Xr1E2ixo$^` zmm(lmn7Qjd!Qj6ocf)|#Ge?<&I?Yi^_bC@qs5!Oc!b=>zA6DWTC~YVC{F(3IkDb|0 ztGu|trybsdTY@{kh9Q?c-c)s3u>5FKcCcCakSJf~Ag(g=3LK$~@HFU8k0DS4xTCE4{(DC$5jSX}XncdcI3H*;hB!g`IqYj=@T>CSicUn;-5OKN$N#m}AUPj;Y(Z8OI z5d|BabFIBeI=CM87a29(9q?s6JmG4T z^f30W@MBKD8&&kFqpG5gWK3wd4teM_RkqDZhntn7iSA36PiTikyv8qh#a;pZfH1A9 zUb%y@Jl1qggGQ`Bq6P$W6oqHwHaEui6ml5q88rV;Zi9gO@F4g$2egAlk2H*Odxz3e zjSe5(vho`m-FrlZOk``HK~Ya`ieg(HK_Qgw9LNQ0&P9(OWlALX^C7TCRJY=QyuJruqN`Ed20fPm zPLCjm4|!Isg%H*yk}j>I|5T0ko9p>2B0Y}Vo`nhgn`ZnC{PK;`f$Z4}f?#yUp@i)p zTtb!@rVJd6E(kO&Ub-$8^g)mYsCsvJPJlV$ku%2UbJ($8WGz=4C@YpsxHT3hgWXMF>NuoiFC;FfM zX&5}rey3*I@>ufp%RrSr-KLK%I^hLulN`uY)xU4;jKRUz&M$6NvpF*EuI=^l3CdG> z4X{bTL5R%r{Z>W~w)2UQ3ki}8R2oJ32`s`=iYfAoVn`q%KMcoPv zYKyNnEhTZl0^yPYeWU)ml9B;`N63KjYmiMr0FkBQ15+nvt0X!!Mfa9)XD;EcL z%1*gUvaTt^_~473;EDf0XzK^NYBdm}({!}gL*WB1#e({^X8NFY8}fals4P~g@WN(+4vz0 zy0;+%x9Nxa9e)l?B0jV)n^ugdupGNr*<*3b=GK%5L^-r06SFk|l(E_GkH4q$Fo}+X zx~_LpGo9XOPi8gYXP^IM>x{|oewQ^v+F_Z3r>a05L)q+p9`~!!x@BPT+1nAL>?SC= z%1ccszdV-e#bLrsfdA24sukwFG?SVKHFXUwG|8b7UyvK~`L5UC7~-?s6b_xK=o@(q z^cD6qQRpO2=iV(}-(qU=Sp5@&q2ENMQs)d?up!*AZB+l@lEjq9+fU%CTM-~5KGN7z zk87t_UBh?{_%|*`@3C5+qA-_L|)+K@VniF5xE{a2-i!*4J7EDTk@Wk~r)c z$sHf~k}w*Ng<;Yo+o=6JL|G2rAz1xm6 ztW}@E?S{P>NY>Mz$Tj;5Hl&aYb(Vt-9#MW(3xktmPnD;maQhNVsf!UfeO2nEFSR^_ zURFs9;WYSdY$L4C5D;o@pl@En_(n4Uqn;=9Y?#5U=hB3JxWPr*MHRI$c}C7&asmP3 zzu){aLY?Lmxtj6DW23HyKc$|9rGau-fL^Tj^tdn17L8vM+KQ$kQ@bYa(M)xJOd?ZC zBVuI^PoD_mtT=-Zf0cRd7nl?UhZ4GV|QF48F z18YOxDODRH*Jl=UX z2S0B=q!-Pa$}b94Pie%fHW+WS@iA@Ks0WO90A{)-bYH=)&H+I~hge2M0sM(gZ z;LmPuR6ztB+hOp*;qKj4v}yjrPf3tvvz?%J<%OD}i3jpSVE%R_6RVENS^P8*NF~m} zd>DBrHsiT2p#n2)?Bwm`SI_CPO?kDaxmqlN>PnUIz;}p^U|?B=h1J3zMBSOyIxY*m zxK;EnAz}I^zZ6@7PG{`BFD`jCF0Kql(KmII?@73qzq`q5))6H-DIO$}@{vMl3tAm& z>n{t>XGfx%_R1Eq13Nn!*xaU+2)^4%$5M=zciY#)Th*g`AD!OtohLAM#dD$D9v*AW zMc?o7<>r2oSPHmxWtvbl2i$p=5}pSedgQ_zyIgt`D=YPSAH(Rj5W*MxXfrlcpC?vm zV9(%&a`dtsqvir1Vrshd7>=;{?N!O0mF zf1by@Ooq2}zLTrM6E?=~YkzxO@Afj?$`GUSbxydEcV^d6(=GIQ4~M~OhcJ*Pd*cUx zUU1Df|Htgvy)>?>ot`CGy)=0HVvVL8uK5m&(sCp#oA$q1z`z6Jyt9B#9>x-@B z(i8dS^j*{+o#yy((UAP^tEhvljTvqhjX0;v#v(0fE_p;-ZPYdVoo3lBg_lyu>T}Mt zqdG{hC5IhLBdYg=RPZ(Q9?nC@u4vR;dx{l%^W6JJ?u;XFm8-Qz`C3s=Jd>iOg7=y) z?VduMnhR3$&h~X)r%kT=U8b7MlUV@`vzc>m<04vEf@h{$b`BlPTUa3i=$!|PJEsfG zNpRS205Pfi4Q5Q8xN1f+C4S4bBRJ+CAR@y$)(lrct`R=>6LP;JVj+N3+GyE{I8S!! zVew$Iqp08JMyu3avjoP`1-@cj@$MA+n9Ng{E2J-9`ftX0{?Ve1^CU2bEdRo>^*vZN z3~yIF^zZAAlcuErAiZzuM`W^YNYr^q!`Pat-5y{+7J9ovd5|ZCL%1n& zQ3F%c${V1uP5P>WKw&kiF2d}Itn1BxbJ4-!nhF$P65y2wp|%T3FqMV%5;-V9BDjy> z)MU8?3&7za%6=vDMS0n;DfT~o7oHT!T=o#0Q;a-*h6pR!(zis$R%KA&U@1{fF*|O}-x9efT)ZsbTc%_K(TW z(^0J)l)>%1;EdqJl-xXA8;>(u_QBwo?76XVhxCRygtJ`rGC{m|GBLt(j;Hzx?DiaT zHE^NTTc!y7xX2jdPrgTjo|Vpsy(QEi*sqVWlXq}FBk1!JCESJFNd`z}=j$l1>rc1) z#^E(aO90+gb*}b>h3QB68iH=vEycWQp6`qQIVNOKe*bolmfj>NcVF?n1-b>(#_z;k z!ZVny2D@|LNpkXEPu$b;=X^)*Ion^*Ux=7ks1kD6o%mF=k>boHO1OWZ-xv6?(aAGa zQSC!15sw&q?@*`Kb^v%0}?9=AHVRP#X*4xlC2d;%(8^SB!&-Sjdb(=k` zy+31;=UFvmfgSiw1_oqIchT$-OMoh*fN%!5+AV1_rv&x?TZ(@xOLS}w$~pTnc$|7J z{S7%jq6xSo=B>_0(4DhSddgh^xHier8qY{^aDP-qO|`yP8jHc`4Z#t8mwu=;!xS zywv$TnC3YCJUH@E9J(0++>g1kS-*04?+HaP4{e7qewyW64 zIrU|R+qQ~yEH?xtsnBeyQgms*o3NxkArXh{5(`EB9YgSsT5a@k2f%oAUdL zXLYuNmg5kO*WWLw_UI63Xy46+Q6{#&$*+3Z6cI59K7TYZbtPD51ffl6=IlS9BZ{=i z?l0Qt*MygeU+MW`CtdzUkEfVEvyI1hEDbxCY9sv6d zR0)>LJovdCpG1(@iU)ETyp^$8`V6xkX$O{Q&(Sz4HV60QqqVqyZW>NV z0YS?4=)cHZadY;Zx@K`lu+5C}l%wq*Rpga#4u|0pd9wMRmxFz_bCbq;Ry7pct9p92 zN9*SF!!E~#<)4E6^GwwR+N=6cBb@T$^M_?k?oHh$PU_}=tU6(VXcYO-I+dcU7yg6J z+@#%pa78FI`eixXBkAB*l5BYQ--Si(DaF%RM`b$EP*=UbdBE+Yf~QG>VtS2w6K#&$ z_6;1Vu!6Xztr3xJzK$G z2do*e_W{SvE~nBTLz+D14d3UwUaNVcYBW+Eu7V-1=z1ZarxbZluhwKKKzqGwwFX$= zP{wT9_?y>oM(ZaIFBef8+SN_5eV}IL;fPlvEOG9djqcD$<&Qc@v;i<;!LDL)>%?)} z1qHqr6ucwiEmKD*MrUXccik5eQMaAEqBM^ph(~K^{d0Rqfj(0=WU!o{}^}ntDNMXC3O$z2Gziw;}J&#*M;%56z$|rfR9s zzPe9*c_MHg`yP_upHFioiBN=2jd(YG$#{+9(8c{QSK|oy=pwY-D1>zwiXuH zJ<7|MyZ(c#k{GYaB-A71!qFS_d`Ufir)Wcenm2Xzl&4>8ZMsfqRWA^JC%IdvPE^%( zH9B_d!K&$?OZmYIe>L-?2Qyv0_ZLG1MbpIIFCx|@l0;GuhTLzB@q^1xKOzrXI*SA6 z>uxtX#ji=(yIrkZh}V>STVY)P81vW@PCK-;4?M`D5Qn~HN6}9-rA_HZ`b(y)QZ)ui z{=N)EZhuuq(^e(+6~V*So^u(qwaXJjf1J;hXTW(Zji&KlPo@`s=qS@*6V=$=`em)! zdfoHxQD#iaw%uIwE8~F~jjigsM4O&_0lKoi;3lGSQOvxkn`D^BsR$*02i&9wFwYZ} z?L{7rwR(P}*<)$QV^T1K9}MU?7xw>wP_}v@v&2IGLBQ(?GoYIRM*W9?3BQ;GMrZxU zO{+j^dLc(@r{rdlASX{|kpRGGY3Oum>!Jt^;z`2mky;^>@wlRAUJYwKDiNyq(08{- z`eaO)E!Ry)8j1$sQk5MtCjW|hEsC)sfKSBJO)G4T*ymZ2^;U#Gk4U80PuTLrKr!es z9-t=JoU7>}x@)nk;XNJ9kQQnf3}ybJ@wD)_a#gKCQ$t0;_$P$fXRzJw*qtd6|T1+5Pd{1l*E=FK0&e+ca|TmARQw5d)#go=)Kh2$>CP7f^V^ncWeSoL$q35n9 z9vu#1n5e#Z#c!bdGX5bcW;w@EuHMimt%g^?OFY&G3qM>f%)fze_QV8Ge_z0&_%J(k z^9jo4y-TOEAdm0qiC^FHoB7;NdUDDd zuq7_Yk|Vw`X)-(^B;&B?&rK&@Iud1=nx<3v6h7C`8ojum6474`>b^jDP!_*EB{iJ3 z#j*NTyo3P$-GgQ&D?K+9)g0R`iuzclYfEn<52IcrynmZyq6KxJ+Q_Dd1DO%A!bhvZ zqryzHsxwo|BheLaNSkJ;oJL32{7%>p(=jfMTS0AJusW+o2>ZP*eyRXvNw(V)v-hwl zTeEffT*jR};a+84Hn-(h2M(kXbRwmRRI^@Cz&Cr{Hjx|Jkk`=cBSruEdIy|`Y$Wk9 zZC|5_Q1Q$Ens#_2M!jZ>q-_FB{VypXTa!25HdC@c=V!2TMshV1GT970Ev0N_He3LQ~`(M(87?m_pT}N4{cf~zMNBg8s+zYi6 zPRNgXHk=_;#jc-{J4O+#64PU-cH_z9!9m-P?wLMlGN?(^=w9$Uz=M{@pxc89YyX*bJ#Du z$J$uZWf=8jzeBWBaFOQe&3>PdqtzMqh@P-lK#~IgAWzS=d5eY?9`SR6H^B{T= z8=*5fi;mA1ha}_3$tMhS6A@mtS077n^qDw&Xj|;^1&~u40q84HhRUfr49NlUqJD+d z{Vm(KT{)ZvZmcexUewe~XFL4+qEba7zxE_QSvEkdIyoKk@iYU&DO7n$j0@&z>@?Gb zf7~WEhck^%$`!A5S&>7f{VZgb|0{b(z||Qu)ca}G^27A(8S{k}#5HYm9@_I2Doqva z9lyY8qRd-Ny#tAo~Pod;{5s05DBQ-_m@yl6v4PT+v(UluLFDWNi$N_5f=4Ws{HGw+=(GDEkToCfDPu>dv#oM5dR+@8^CAyXs|U%_BLHiXV1cLVyU?5ZJk_rT|2c zR8;UCrk@X#mqWd#2FuI6VaCyQ$;7tDgwQ35b~%1)dsO+4#2NCm5>q?MWXtoyZn$pF z50jhE2|_3)PzCG7<7*S{pPAQ}MKg!R`*c2VYA6+e=n=A~QAHM&>o(>Mij!j6+EdB7 zZv2>|>7UInGB&HA;-U5r^Y5XmJ{ZDNb$0ta$%>{L+5FHkMj>k2?ISsxC9z~nb5GvK z9M4SB`(fTsr+mUqZ7bb6Zs#A17c!|-nHq62DsrP!*wQt5Smbs|SWe@f9H}1)8q%UV zle|K3Ev;JB0UB(SBYnZTaNe)_{NobkN0acG^!g}QO9u5=YN7CSs>0G{q{#_)l+p|H z{q0A=Fmof;fi8!E9KVhO=cQ95qz@&=D1U4 zOMJx8yToI8?r#GtE11Kk#7R$=kR&&ID)#?dyENPx z=EuS|DLbuKhz~W{`{Y%`t3MIV0!qaX?BZsh|t$f#HkY2&-VPk zN8~wup+%+Z&6bXV&yF11a`sQJNJ{3T9Ium^Ir7^NYY^{T$ zL;0`i{BHWArRrTJKQ65yL>Rr@sSB7neA74UX>N~n6KFc_ye<}P4TeVhg{{KPDLqoTT>NA zw@*t>xx1BhYBgZxo}+Vv z59^eLg81CmJNT*EuU6;7Qs9@V&9pI~j^J)lj1ke(Jr(kf@5@1~Yg091m-plJ zlXHnKjuzJJgKHi+fd}Fr-k^?g$k_n$DLlZY#!CRl7T)j?3ttHf{5QTd!h z`&Vfq6mw^wzA_vq|M=Ni6e3N1Ayx$C9CY@Cwgkg-P+C@Whv=DB)3sOkK~xDf&FFSz zr&_SWBJdpS+1qevGyK&9zEw`GPE-G}bxA+IKcauNlA-slIPn=NI+|O>JM>;r^OX8@Chxq->?>l+NCivAYkly~|aL?x(9qdB2~An!r!YImHg&7Zj|~JHmwX)*v}V|7vJli?-a&ck|tAwxWoS80Ux%{uYT9cK$gm-0&qI8y@;!Z zAMo*@`lJ3WjMm#m`$4xy1U(X)Sfd}-y{z(kE!Q@$CKeYZG@ZnzU)sqeUiwz0Bpv?c zO_9*(2G8j2MhRVqe~@x$B|jTQnG-(+y~QD5`w=4GODOB1cwMy@*A^WDm91q z&MTMvW7OAv_W{Xo+y{T=aeO=#k?5*?@m0sW$b-cu!Md($*3-n2cBr8|FNI@bMmrt; zhfZpP#J4UgPkNeW?n51y=Wwqgum0;EMpYSVA@eby_4}x{1(w@^-QruJ%Z7A&1uYt{ zmAu!{e;Z<|SmPqH+#L2Sc7x{KCmU4j8)#jsskMi_UQTXBKt(9%*S?2dWUl+^+4iZF zO_g^>b4&pJ^!h53Kj=LrypFB!Se#c3U`)9ahR>6^kX1JZ&!6-{=GNSeh0bTTFK;@! zCJw%>mIBhYT?yWKMIz70=`Yh*IlOhYH(PU=vos5h(VY3*TgzQldMa_|5$Uh&cTWr% zmDwY+1i~Ns-D7PSm&#mr(I+mv62rPhT*NyPge;ZRtnK>&Zn3ZWR@jGwK&U%zQg2A--_|eT$ID zB29n@M=I9lyAC^&=I8U8m0c2kEsNF$1MZq08L>t?)N3bY+{9FBKOg z0xehk@$hp%;`|R|tV;ipO=s0qQ;NCeFrlcRN}ox@&kCOMcNPyMJ3`rEu>>WQWN!f`|ZdbWpO8MS*j1&9S_dKDEE zc<9%x5!s;TNcI4G4Fi}5;1&8|%plRz-i;@U7sDH{TYrRB(D(6rhzzuoMCwqPBEWAX z(>dPhgi5z(0yb4Ib9)roGtIG+dyvQ07oULu719Avwk2%h z^W-2AAru;(n<)9)u<4HV_5of4Q3eAh~Y3U>LqU+dBC zbH7mLkv|g3?i7<9tJ~2T9o&xx@MPEO)nQ=_%A9N;0~f!W#jV~sRE^zhq?V+)n>8Aj z;|?GD0&rPV*GRsYqfu(%IniU@UGT?VX`h!xVcXy2J?ky9K@xvz!5M-`$wyt+#+K!S z0V25&?M*yh6jSTSbur$d_( z^IcO|d{v17L@}CVJ8-SP^xVw3Sefsok~H|f8ccI$hzUT$o+jhmG8`_t>KQm>a;C0` zYRF^$IGxvBnB%DF<|Icnyl?|y^F(l%l-vcil%0kxX()NLpddrfm^N8Qn?3n*1XH#& z=XI>9+F})D8>CiIQy;=(W9DuC?WT)g=M4$Z-bD$~b_H{IHIUIZGQH}d^h|w$fi&JH z=&H4e(%h40{4EJF7Kd-HC!90K^q@g@kdh~sS82$~eiI&VD|$T48&$=(dZBK$`RU7a z&Dq+!5$66n3-5Av`tQ{@EVKDHXJd^Pmz6`|=nXr-l*8|vjrrjk3-kOldEb~!&%AcQ ztT@vHd(d8B_=PJ3*B$Myj=7`RaZ*5j3_k2w%?ktjJEU34vgEkPZBV%B4&-cp7cy&A4C(f01}(6=HgkFmhF46zzG;zxJfg~$MWt}Y zyEePlvuWN7w+UQ+8#tU_6?C=j_Y++Cr;Ei4){h-xHZc$m5j$0Dq7|U8R?crSpHhai zs0823s$}d=a*s&Eyl1t4R;iLnpfs-?{pq2$Der3awZD=O-k=C&+j~0}I`Ot8Wj`~A zyOd2vorE^!f-ISPx5p}E*5{aDlUkGun)ZfmrElBPSUq>o@rrNF)!bZ%IB7zOqq6d1 zZp8x1&TzdhChOkXTsnnX?<}=sTXU`I2XNuh_o+B#p2uo{2E?P#MYECwQ9NGY7XHT7>^W^jrNXB;U4R33hIN5r4Xh=0};tVjPq2{ zS}_AZZRHd}8~Pe|T*0W&L-*cfiXixb3& znBZsN=i?`69nP~;NnRFk$28^CXsa|P3P3sP0#UcU`C0aHMf?%V1njq4R93wG$m12%PmQrt!+QDC zUuVt8xmFajayD4*jAQ*i(<(7lKF;@ug&5FgiBeRR5#Q*Amf7DCo{{)O0G;fpa}3?| zYxA#z=$%(_ted&7D1SnmO?)xy&9*c7R>;vX=imGmQ#u%Kb6U4A*`vq`Ss{oWBtzjr zJR|F@cWEuM3gzwBe$$!7NWEn+{H)~1W#d7;Tz6EvF(D;~0~5I1vzfj8r1*9b?9l>Z|am(7yGy2Y@Brq z^Z%C}U2&)7@`vr7sZl%0lV&P2q-t_k4$ag^_c|;%&Drv@?))pI;2yuQ;p2?8OKpra zdk?5p87=pxxPJ@Clc5HpI@`5LaDC$bM->ebQg6X`U`(9=TWMRGH~86^we*R#Iv1uC z)xY1`q{;O$uey#8e>4tUv~f22W02mk`Pa08G6}U zb)1xsNEAGfK z?-%G&mN>PaM6aGUCM8iHN3_zbrzbZ%Jrnq*u*=do{-XZV#wd2#N%<}SKSgVRal686 zc;R4PSUk;6dqvyU3$bCXr>8qF_xQ;|9>VWPf#Dzg-ReWBlu&xtgs0>A9&>}= zgO}7l?($M&r^iHS|D;XqLR7B5J;h!PTviElr($`_WBQ$Kt~0<-7xiIWI3qL+v4A2< zfe1{sGUT=$^4d-!;uQA=cT$Y&hoA7STp{xDcWc#0I)cS0k#~e$e`fu$kJI*yJ{3k^ zTA{sG$vDgK_ZBId$UOl0z#T25nK3nUAFrkFtTk+(*JgB#@sPD zSd?HAo>HRLRi<=1t{2kSbTflsFtg)YCkt0Q;8}ufkrXVJ;&A z<39LDRZ=>oSArj>ZSF$f>enN`JpI?Fwn>e>9(oZ|M&m@R$qzvXTq>|D(cp-u`4x}VTNy7+f*hF&F$ib)yj2t;?gT-&J@8|d5ZfvmY z;yTykI_LR3=l+Nfi42zO(s|ARoTJUZ24`@m1;VY$X!cH4n759Z383}e$@(7w7JnC9 zF|}pmGT|x)T{;;>Ohc0&9n7x?IF3xutXqW7`0S@xw_?M55_L?XfAAUhMe8Ic=)e;g zyBx8?bL{*RRk84bjMz;7xx$6H++2f~*2Ui#iP|^DvVWZ$uVjnIuRYgENP!)J|6xj1 z=VXtG^6jZhjHyrB4lExTM)zsbOmG$iPl3{cCR#FSQb)T>p^YZ{{52<7+7QY8@T8{k zjIk@C3ZT&9Xy=a4CXhUSM0)vY=uc!OXwB@KR@?b&pGzmn3G>02i(%!_vS?1~r#B_Q z50tyJogEWSG28R|W~BI*8=D+KYEs7UAEst>*PafPOMj^d9&MNC)h0^T ztw}G5Xzhvw9oL#m+i(SB2-SUe_4wOz7t%joT;O1Suf1v*w-TT`G==vU|HLG3)jBkf zb!s2li`2Ci8-BYu9jzfJHHym4EU z^nI#WP>ngJ#rH{UB)e=yZjj>o>BBRTGtMmr06|_|y*R#Yn49cmG%RnbU1hOGm-E~8 zFi#{e_ZEBlfxc!miwMVdSJ|GL1Eix(`}25xp$1ICP~L(sZ#14UUm;9Sol0R!e}=!V z6?S2MZ!#0Kv++o-(bIB~rXz=3^BG!4oT0(|NHyz3^jV+)oZuC@>IFVoLj z4}Nu5+^(~5UyZ+|oUV{FGa_HMFN6?UMq{jb%p3T+h7)Y5P4z1Ppk+k@Ymfh9OFv4R5k>`|GRrO-CsZr0iK`$ zDQ;yz{u5#=lkfAIo@^c}-5?vQxSXc`lbZ{mgqku-csG!KuzCx(ltJLwve4Wz8Z3|t zsJp{>)OuWOE>K}#61QPY4o&R2JoMzm)`=Kq7^GyeLtDF;AS9_WveyB8ph01VdG=r~ zXUZ4a>b;kq@7(+SnaOgcJ(az|Xk}{JdUAWnM!62lZ2@hp&6jeR?5=3hq$I?I%&xCR z-=1%n*4)CZ-##dtmrahTou46Hw8Z;nE1maaKTeo?&g@^tv9Fp})`4siokg$z+ZTT7 z{Eyr0x^lKPX3StHe2D((@cv0E_0j1&!n+E{a@9ctaU&mk+LNK+rgsBb4=f-IZom%v$2P@x*o z#<5$mi$kqB=b7ByC2Z_+2K4UPO54nZEYvyK?Ay&=%Wl+F`E=Y5!CbZNX~yWb7PmPbpRhY4v*vKdmW zKCkd@*-t33k1ZdZMR<1#@$BkrMz@L)a}kU-TGp0?s+c)F=I=DU18)AQWzB<@QS++a zCqy4HtK}!g^)(oecppp0AqLc`F@Z;D{BYv367KSn6YkL2N9SEGv3iut`SaXwy)QbT@+u-zCQPNnrKkMyf`nVl9NM9n zmAbPQB!ErO+8Ro~i~Gmt5ASiDoYT%R_1_=k>$?UgKynd^(U8s(4SA_kH?J7K#J_rW z8L360VpWRXi~SeTJYHWce+CWp#uaJph^Z`+?7DzaCyX)4fjv`v8a-ikjdt302%e|c zyic{}uRGdH4>v(wyBg}^uj?L5_J4tl0i^44QXG;TH^DOHkNyq$A3d3eV@!I2V5^>o zOsCl-tO*2nGCEj@I5x`MZb=MMTB%@hH$qNG&gbazpaQeRNQclKx7EA69sV$E3*;Zh zaBHYExqj?#Bv*^aKMoteWwd(}GFrR`Cu(dtI5rnb5_fs!VY2_jNTjp5~*ESM$n8 z>`d3a7jcRwTnl=Pzt;NBk*MdbEMFnZJi+e!bC!?caE5J(oxL#6ZOrByJ5fD#XKmeU z%Z%vhG0;tCnj~JVB{ETK!IU`aT#%Uue6rK&BpQEBH7ny0jef-Z%V>ZwhuFHa)*zsF z7?`#7GHo! zeRu4DlmHMGOt!7f!p)c4(%YO+CR?Js*~3XvS4N^45ujN5ie0qe8$NptzK36V1}cVq}BKh>-l}ClV78gUqeNZVZ)}>q7_6MlN0XoPNw!+T_Ov z<=SuSr8MMCUsb)}gIHTGK)ik?yb{0Z899edD)wW!Lj~xY_`f{Fh6?Bu$CXx70I24GN66Pk6k$jqKfr*GRzaL~IH)p{@CZheR8K{=hC<9djn(ou z|1cd2R7*n-T-&-sp-SXl$ceR)&k}m|PMiNi2O$rsm-`v$^ z4sIAV2s2;vs6S{v512HGGW+RS+27IdOvkFwTrH1#g22VrH@-%mh-Hxp*bjhw+dO(& z=3^QEO%8uq-gu7z`3dlV&9?ZyFGn z%1IZUx+nKb9pS8;CHC+Y3(#=g+BIDA)F`9z`OH+@qV~+G9aygR_HJ?V8)K8ar{BE1 z<@*S(Y!Bj{kcg@gnWU-Y4>vHI+H9AJYkkQVd_p|tC|9bSv8$dgT&0*-56aKp#{n+@=}qNv<9!sb;=KjSFnJ~B!`%35nOX|8%;{{138Hlm z+ns@(jPnJ%gO;b~o0O^i|NnJ>IZ=bR!lqBYd6{eth87?FcYDlN`!OTW&7{$Ro?CpS zqZS`78gox=vKzwTZ`yZM>-#q340TO(t&0vocj4ur-x;2BJgTJK?ojFaz`c2kcB;oy zZObWtO^Y+Dkg^I<2>hirXWqZfs9EvaEM8M%B5Ltdfshbv|PhA+T@oK;FBK88Gt`A1QSxRZfkV|G8KyACp`n@|2A)_KfPM14m6%G zTDiJm>YFbS8pG%nGY_wCIe!te{+O)?CgjdrBEDg(^m5+o(S*xaCHmSDFA;lZsqMyN z{`Dgsd>iv^Ko@|4#Jz5ynDV` zGpgCNDt40lm0D6e7OkgF5wT%3Eq|xKl$ZKVUW$z7;_!;d!rnkHb|R?3e@RSIxij7+#EGWerCu6!R%JQpM z$gg+J5_zcZ!o@)#W5=AQdL}Sl$PHp3(?x}lpN{F+gIb{bed!X?=NP%cEs@@|creFV z5^u-u#Tx1N_X9Yn73-|Q2QK74UOnjk0||>gNkkoDN!r=E%lcn?MBIVk5&qwkptffr z5h1<|{UB+4MRdB1jJXSs1--*YDqHxA?VURd z5|do4>%vkmYomrvC9r2ou*41EKH`_KP4W9|f%J{93EKP6gF_i$zD3#aZAvmlYQEKm z&PDi+FsG*mmYZrPUKo}Rx|f2~y2L$FHx7lnOWRs zibYKxIRCQvU|E_7%GH#HWdVU5sUnWoK6(Nm0n1_`Vdf1=z@rFVUV{(XX$cd_2U`Kz zky}!2p7BnKW+r_nXQ_2HK4v{728HHK0=uO3{4wM8*9!_ueBhOByV?8t2GdHXc+%t^ zIIPX>X_)1EuZH3EE=;r(E0*LltG>V|)eSEu-6W89oMQGdAT1W&=2c|F6p8U>Yen*E0gE*^^QUB>NA9V9t zP|Umm0vAoqCLjL}aoR0DMtE+;^W)nE<%7>Rn-(87ihU(2f1%wx&hb3_-k3)Dn%@ZE zuj*NJX(#`K3m>d;6z)a4ozohjhoJ>X{P$>kcQVt)ts~~@_OE$_E#-(&GCOU%`6S)J zHIQz;&J)u^gGQt!wX#^iLJin)@?ak#bZ?mdpWboU@3ntuy#u3aJ!{y5V8VN~+Yj3h zvV@5ssO2JC?>T4|zc%2Mp`oHLYIzXbA00XUQ=N)4CpXHnMb7TZ@jc^zrufpO8g_5$ z-SvC0<+z-o5Z}XVv;bd_a2(SJ%R4pQ_VMn>CK&Bc=WcmqtU!-1KkT5bzq7(Ez3E_* zFX0+W2!H3^@iRn6XbJDy3(w%^!KtbiO;IZPRZve$HroT29Q$u*FW*Sb*XWU-`BJfX zZ;k%VBDTw(dVYlrq1U|XLg7@J@z)Us-x=cXDWJYch?Wp#N_8b|TaX%`Em!Voit~PT z9{QAJHvi6Nxl(Gn2PJb((X3n7MNy0B?JI%jDG0T8v1SrMzqZM_$w{pG%i0Gm-zf8W z*Pj;&zAGxVuA1r6jC3{k)n0atcm;KNFFRmooh;}RF>9F4i{f-M+UFojy08iz>rG?C+4v*!N#yv{S8w;JRl54$lGQSn?XE+@D*~G|sG|rtUu^I@~yW|v) z=oc1 zfYwhl6b7ZO8NfyLqxSI^8Ekd-lXM@QUhqVytPNTuBv826;kOj?z0iHLJ~>Ua=2i?dp=(_^fEGJ7qA+;D zn%N7pH7N%V-OI#(u}<-`_pl#!V1_Nl-`ZOnxn#V|kwO<+C+40$WAfy7MY(nt4%PE1 zDOCPn_-*azH&a|%8Q zlUbg8rafBj%=#&0r_^5~ecI>$eIF`z*pr91_HH)>80z#{P_75)j5`KizF2#DJG@c$-r@?5`-K9nEjThDyT|>1 z$aAZKKjeHPV=h!W=E~>12;~T>1E*$5UcW7u9`cA@hgZ2#9HabV@S%;~N+>sSNp;hu zz)J|w9$FiC(f;UanI__qihhCC8+i+PBscy@>T1)f#m=uqGWO-NwqO7?;(X3zldshO z6PFZ1C1K5?@2@`|AA0dYQY@e>?X2}+=MhOJq_ zTxa$+Qi=P%Lms}B{SD$g#r^(s!USEF9xcz)TSf$RJMc3#y(5MZmWkbYH_xF3iDg~c zM3eWtRWb<8BZ6SP&35dgun?8`8#XM)d_3Jy4AO`APVpbn7S8VW-^VIBa%pQ_ zYSOe9J`R6Hmebbh!~DTuqKTqh5~J3fCfcZIEz>3F$P65=ONC(uam4u4{=Ei&aMts) z*LL+)x;_yB`D@GaqwrDbI6Uf{vSzQzqpzT-dH9O7r+9ltZJ-!=RVQ8qb1JoP4_QgG zNO0#yZm38k1whG?sf&DEI1!|Fqp-gA8i04fj{X(drdY8!lwNR{+;g^r642a|GNQhW zU=hkGi>5qCk`BH*euh86F2s_o6GNkPxDNunJ9fblza z*KAvU=RWY0kcfIgpjP{jay}Emt}j7aUZS7f+n8~hTcnCzWsCr$*%gx&MUq)MlQu&n z0y`AHa@UBzZ{)<1_}YCkc02n$BmP6!=-V?!y+2ZAa zWl{Je^{dm-FKY3>9YwHZ{i*B<@%}yb2!`?GZL2;j4fk97ygHG?qt-*nO94T-zkATG zjmvd6&fr7~-qdleX0iCS{U)7nSPcFFsk2iS@DN(ps%A;^doa8h>YK5qefXTrcG532 zbet4LWkx@uZ9wEzjszrUQ^ewK2Sk)RN>nj6-yn^`v!=kQ5i3G}^Z5cpgnsv^gHq4F zQ{2y1#$x-Lq5xZ|-a+oHS_5W5V4-kp`)L(G=#rY=_X z^_UPkg9YO8*I4Sl?spC^6+l<;Pd6r&vU^#fPF4(AJFq+2*w+&~EqxiE@N}}}Lcp3K z^-9aeEtvKa^;dme^25v_U^3OdE(ojS2oSB?kMS9_mah?{&Hs?JbldO%lEiViz zd|oR$pL2sR{sLFS(_Xvcmr);6C}Yl)X4uUbxK3hZza8x5{f+k*-&3^Fr)xWle$D~* zGb#1r1l-8|4fm?hKd2k*sE5|^2HZ1Aih0)>6i^=4VaXm>1D-y=x{bPbzmtQs0?va4 zu^&5`Ig_e9zxmv7c`53s@Vx-y>07A6^^DWS(QNi+)^lJQx_P)e1A4XLHPC1)W$8To z7JG1cAJ?&t=Owat%XoLrXcC;n=F&7M^hm!Rsv`9#qAgNu3`IU%Q~aeZ_4~3MPjsvi z(zFLE3oiUaegZl=ptxS|B)hEfFzWSN5Qc$Q-)vab1=w-$>^)uPdi__4{+i|~u4cZ? zqegc+Wg~kh8L}%zOu6$SG-KahEItYHYkBfc!JiMy<%6r93}oe(o!jCqj0be9m3B%@ zt#e#ed|@)du05gm$uf`NN6(QIp=3+eS0X<_x;+P(H&MdN*iQd8akpoMHvl7I4;jn>phi5)a^CZ7o}~KwEM-F4_|ZR!@_fk#-0< zA$FIPlG`RCRi8t(JhhsYNBnM%Gk^3Hdq}OERNj;-3f10j?2=4f;{&8dSqZMf4(WF8 z$J$T>RFKU=aVU(gHuO=3BRa@nFw=%(A3W$jl{)DscGg#Z{HoB0SYtx9h2yn$ngsSw zg_G_x$)d(yDv^JaE;RgvVq7X;(^9>DmA`S8s#hUQ{Ac`o5UyPv?6X@~( z0Cd3#I>Z;kDQvJ1%J1@X@on5gt@o1jZZ8WAIcM)H9neRES=W?g)-Ek;R*1qAPj!gx zgM>c%(T`BkRpos`*H=onbBhZ^>?2>P&P)aTwSsyeM5{2#7kVA=CZmwoA} z7bh;5QFsCNXr~&%Zk5Z3tTKE~&BiI_Rq;!)jltG~(_bFBvRDcI7o2^vOId$ZkTv;t*m3Fk0 zr>g|OU#?L^F>2fJsT#jRuU8zv`0?p+tmfqeJ-hIS2HJ-)1DzL?r z?hN96w(|lPi@rDd-w_|nEtpUcE**`eXxb-}PAC+Ex>Xe}WSSUPhzipgQ%=%jmIr>X z^egnaZ4;Yu8U<8JdY!Q7aecQy$O!-R{zfbi4?NV;)W<(1*fG{rz-GP@x@x@c7*PQ2 zO7Sh{wPg7f<=z2%`A?swT8DhUF4ChZ%M9GhGF*oo` z=0sU^Ej$YqKP!A0349|0?6T`}Od_C`@m!*`OZ&^VG+#FmP{1BH{lo17+Of%EEzCn?R|cr?BN`%(d7ZMwliE-5 z5YDCy?2j{~NaHB+MX*HY*vpTG2~#mImCRO5d1@Hc+Gi72Z#6Si)uj_m;;?s~K-W!K zESr#$C_mGs*Tc8H0uWs$csLf(FdT>N)$E+Ob< zrb&$EFw;H$Jg49qCY&p`g~;p+S^QIxOg^>-Jn|xah(|d;Yc6#mCC0Vu>-1Rm^6+7+ zrYvfBsng#P*sA%TV81@DnD_TioMr{=#6t|RTHc8-1BlAYs-yGQTgH82zlYogJRJ^a z96Tkn z(Hj0!uTWg#JLN1;oqJ5yYueqNm#0El785vUAW>}^ppuT@Wc2t3fC~zQHt?psAyCGC zkFCGJc0a&85&<>zd^!+hGF3}c0Yw!ivrei&gJt#Z!D7zg2SV!7Imkm-l)N!YeB_52G+R^Lg9lC~`44AaX!1 zi~2dL7)ZP!1mm=oU6Mn+Bi;?T6fGb~%SuP`Aw5Gr{`%=G?#{hJxu7luk>*~U{{Qns;%zqOT;pY!1fsFf>xEJS5mC3J!#EKQi;FrF{zx* z?+wr9xm1`XK)rr(B{byA4ELMXSJl-LELDem(ckdgy(fVoQwOcaw9%#{T*?wWCg8Q& z$1~SRpAtVxP~mvbKq1;&v%L~^FF8znsT7dC?E^pM@gJ9` za&Vkw2F!{hrnxyw50yCXNbmJa#~DV!m%!b~KMXJsGs@YsjpKmqjq&V`IHQO2&jqt8IRC;^c`7nAqui#bb7r$?cP z=zZ~pMGQA2!d)X|;8YS07s_eA6RJ*c-d~dq&O0@!g@~L@_28Cxh>CAvuP`OYfaV3R zp;%Nb-7>i3ZSZGe_UH+;AJ4R)makrPsio&-ByWk%)da#GAMB<{@TLI<56}_Lc3Dc- z3^152uo-0nQMonC$jFWpkllK1zQ(SOTp>IUK_NncOsC*+`VY6+mmA4n=6{%r&I^{> zv6vm-9F^36!EBc_U&9licxom1&@=Za612N`u&O@Xy*m^Xy5+2U77G~RW^vk#I_@dO zzdL+fkmK@IL)M$?SgfW)O-Lbm>-mD{>J^WB?#jS(XuYo8LW zxOVscpn4=w1^-_a6t^ug@-tL%O-?Dw zHFx^2Us-b&$EyQvMlsQG$RN%wDw|UN-pPc@bv9njW?->TwAQ$9#FKVrfy+hZu}?0vhD7wtW6bYGmMAyBlYE#I-{uvh{v+tEL7F4 z$`D^!d^2c}0slQfY7GIJtma&8+*rMo=>Uot@-fQ?RkrEvPY_;EAMs0H@8>G4&4fsiOB_?Ma$QVBfn&OX4io) zs@4uSw^V2ktKRV*IQsYOfx0T-ZJLh{m0fB7RZWUd5&ea%1$+6L(>vJRPau&g5eq;G zY7@KZ6_QfpRF&!e(=E8wk)BfSrUrCzE|u_l}i+tk9JZ_<*F-h6$Xh$v&}M0q5MGWehtrICHrRUS*~|X zSwFztg9!t*ZX>ka;Y-w6Q=Fng!a~`h&k!Lf2Z-gyf7Iw`W1EguSGCF)RV%+p?3s>g zgIczC9m#@ktUGU!b0gay8-SS*&^JF*CW&Zy1aR7!P{jm)Fg=F)XM5ZS$3d7T|fh-3uw5 z9&GcY!HEef55X&((%Dg7N!+$wIlp)Rfd~kN#F1Dh0gS2*WVCCzU%aPFD_D7QuVm5D z{ao=VT{j0AttPotp)n!woIlyZNGG2P$*b$m64`y?u{$W^mt0S+(o9DQ>B(5_p?(o{J}mcz@k9JocKGEW;zpKLbh#lihPs)XQGZ+W4zyFd|PV%qCRdo;%ZjA2F!b zPq}~)4F#RJj)bht>Q?PAhM=Y=b})Gttnyg_Z>f~Yeih@+P@hk`FS{qJ#RAw>O|kWe z=O(6VzI&D+CW02xiBH9db%I#GpaE)7YEYu73N=u{tIp$8%^h5nMdoe`u@YpBeBS7y zdV17VS#C|V&<@3Pp5kw;D_+L28K4~|OWPx-<)@R}PxU^wm$yNU;lKNbeYJc?)hXe`q@SmEjnZqa>F@n10gx7-uWx6jPn`!x}-n9lT;28hBq z-NA$3zs+?Jx_{88-{wG;$?5kIRMPPj`nCd8x!VYskvU3}s_tj4zZfDtzWc)6p1Hwh zR%x#-e$b-Eb>q~+rAM(lZFbdBm!4_2=Hj?jHeBTZ`43WbMR~K=cV-sV(!Mo2@T=gu za_i2sM&~!$dP?HYU9=Y>cNKbSDjCSNTJweW=e;iI-!b3prHziS2PU!Rba(9F=Qo&` zvQg0q$cny}GkYGfvyiROiB7d2E07}xaLUPeYu*ye2=L#^Nwn%C05hAM4mxsw7Mu;K zVL?I!LH#D}27c9;yfDc9DWUKmTaOmL_IsABhld{%n%Y3mMQ4N6UNKm zKFLurpByFfq7}&k;wMqLkzhv!g3_rBG459A=cZ97zOPU`l+TzwxnyS_WnO&A_}{8x zrkvNt8-^Kr>=4g4WQii9KUlGB)S3=(c@X=A9X&BnXQVXc({}9N;6?s*YJQ_1lGAjs zfp%0gS&;L%M6c0QOr_}n)piArtN&zo(FFnbFZtM^nQddzAA0J@TNn(@u+^aa%KT^| zVLlmi2Ay#0toq!hYu%Q8e&=z~PP#pY%?6e$R*Lb*F}YH$`V&U!QseUZ@H`lozqu)f zp(MWTyyK*w)BW>N4Agi><>q|ZuGL;N?r1a_cnIel1~JDKbPiiP~3%Pn!V0L6FAPVF+`F!W*oH86)7k((p6XvQmX zS1rD{4}_8j&8bkc6C*Z(JPc(?aC`(-%VC~_%N+;c4U36GEiaut{<>uloc*ovgt9h{ zitp`WL?fv7I=I7TyW1u9bAJNF)oo?2b!&GIqWmdMCvjn{wK4wCsy&27;G5dJP?$TB z{#%(bX%9SmGt4qH$Q0IUKjR)9U@*v|Nr|*%ys}Wk^)k8cPx=wkGE$_;ArDu@YX(+M zBPll^wUVqSk_gr_z90@$?UEx&a%NO1Cm04%r!`K84xB_xOHY6!-Qx%r2i2Ad@ajQ- z#B~)b4f;jEBsstlFyFj2QWLvf&+R=FlC&%u;Kdi@z&BEAYjs?np!#lpye4v3Ns9tf zzkwV+%xTHn{Zo7mH_YcuE;e-*f>2+9Ly1(<^AUt^Wz!DPmvvUxlEtHbz0|GU@`$l{ zYf-=V3Sl+5$x-+u2yU7|n+gsY3bhAp3N0i9HvNSB2u)>88b{XKWqitZc>(M)_@L(jX!T)V2*_W9x1l=W%*J=)i{Fk0nWOBJxHJe0sSd+D_P zUcht64*P@yPsDISrW4`YlmpmeQ0W$!tgSq+E$+LO%C6*#KFwD|A{fRdlKm+zki&wg z`!%|U)af&(qr>Q&B?Fyy(rHClTa5}&?5-rj9S@EMn*gnTwf32XR|T`as-kr%_-&=9 zoEH~K)%E{=Ui=YO@ycAYL1o6=pu*j~vtG4s6Eyv9i|z$w2OIsMZ{&r?dn!;eXd4D= z+;VgLAl^QwKRh%?J#Gh@Gq4w_ZdfO3^S(K0Bmelx8{w1cJ%TBwD?Pwg-?JSoHR%5EBzlz8Uj@;}} z4>P)DRX&uh)XcK#cNzA)ZQ*&ixkt`tg|hcmOc!(hC;K^kgIS*dy7O!y(M_%9dA{)x zGGEDXRp`@q0M}07^#n|~tp;=N+n&%SLf(@kAbFP;Y4cIkt#a;)cfrx>lQ_Jx{?E5! z{BT9l529xtHhRDBO!khz`a<;IfMC@>V(yeb+`fgkT>&T%vCXmEG-~=S#tiNQUPoWe zOUAy3LVcyfsjkRs0$y)aNxpjNwg)%)dYlj}x(>DM!B18(>SYqQU+ed+a&i0$Gh(H3 zsp~4F(!5WRi;syPgF%z623XLQnb1bvCBIw9Xv%%=(QZwJE6GED3_T2nPT3kB1}E)C zoXW|(^vJpN$M95}Z0)2V1+^_BJ#@1A&kq$bC3U?FIa@@ww7g{sV1%0FjCJF$R#gLx zvtf4CsW%pWjlv_9LyTW2f7}i$B}z;Y&O3{%GV&v(`l^meeEE9S z?I52CqM37$D`sF`@L)T=V1}39@2@YhQpJ%e#|?w%rp(369_=s>j)p7SXA7Nem(6|7 zJp6m#%ggJXJf{Ld`c#>;aDSC!P8h8VtqaWAS@m&$1Dlt$aDrnoXt!q3p_y^hl2GX; z#23e-WwV@XpWV!eop(P5SK`y9~SpsnKI{wBa-Lb4Ggu?C5?}S0uyY9u<&G z(>RS496ON;Nt@`s z6V1bHu2ZFTD5Tr5xygNnV$G67b(X;ijgQCCn2rU)15dv=dI|PWRkrQ%(ko`4OPU$r+m$#u$=6c1MP|0$^8wKwW!qF0k^d;RmSaA>(6#{ zrp#Q@7%4OIHfGB%{w7J4@cmKI?}PThJsvL1ulHfT-#I|@eE9nm14;N#=r|g zNd&r<97i6ue-8Bg^W%>XU&WAgxA6}2IJMFJ?^KSKlS#$JN}Inpg_yHcUbAIX}d&JDViYG}GsYkoN#Pk_EZ50uq73YWHJb19e+{{+SVEVG6V{o0 zEId_r=6c^+9Bo$2bn4VgZ<22%>z35=d)3PRNs2M6`Hn@rTuqWOP%Jq}!D z&Qp$ZO-Ed3^{eLn`u7chg)=C9x^p@SckUD@@lqz|Z^z=HR<*#r<4+!6H*o5AH2GJ3 zRPL5+=@zbCPrP;D7(lO}cXr<}A>5$}S!y{Yes})@6hSUJ#r^iczdbDI;_Y?+!rkfd znEarnfRQJz@cFf2u7sU^s48B1Y^KNR<5aEh8&hIns1!}p$jXJBpWRnKf}DBeqdWW; zmIJaGC+QfiB=@N}-Zjf3JECrAzWL6s{1bF~4-XDdo6xy2Q%pGE3WIPp)Okozv6SBT z6}+}W;Inz$wZr$%{^A~>Qf4?wg}Rp+>i{W^AuVU+K4moBROcihNZ&Tb+`yx>xm8C% zssQ<2m24%XC5Mm*`I!5Cc|1iD@v&c zJ8zW^PLwj>DFHUnnWL4B7aNMUoW zTHo3^)!?U-Oh+H8a#WnE_$R}STZ0^z1eVX9AbZKGg7gbbFdTJ>&L2>QT+U&Wk*+RZ zY`I&#+!2%`aiF2bMOoVgQr$sKC4=O@0)dXLOk|ftf!i0iHKMZ~IJPpFSC6Pt>N#2K z)X?J`o0T&MxBz#SO45fxS`_4n0-A=kA)z;JT-E#g!0s%f9qN9|zBomgdxlyLf6f@m z4jEygW)+O0xwu}iWu=X-dnalZ2jS}vT;hj^ALOgyXf{8v=Cz%J_{A!%e}=Y(g0*KD zj=Knv;>bgEBz5G=XJ6;xO=M1Da;V`O-!VM9(AMa_u5zaDUXe*G@&$ocH2rK(?QiI)dI{NQLi7{Z(Ag>oE^7fL*P|G#Dp zwSOW1!#R8>ea}X|^^Me$`%x>`6~~(FX$-HCF3RjvP?x^Hm;E6}ibDZ6}OlFo(o6%(&_J+2%Gf9Cs>FsYt&Z5Z{S_UJhlz!goA z#>H&}mz#+V;T6Mi*C(qc>&%+0>v;@Y!)SrWctxwNxZK~;AQ;-M5E+fu4R&V>ecqM2 zB5@%3-oPWezoM|%X6L3~W?S9RoJ&n(sUH))wa;&~e&#@LqEERXKPqIn;e&&7p187E zLDsyE-!+^Cqnt>Co43vvAD!g>#mBa>KDvET^c~xJ>;q-8AoL__6pbcSWCy**h_-_T zZd|fUEICcjQOzS71g32z#spkFh-0)Hjc*-<%R=&nwPGH|N;|S7ul38BP&(B^PeX`B z=DL*FV4ixO6{%{Gm|)h35)<+z)4xHR*t@%P3^Ujl{H59^;;TJ6ZIQom-w*Qw%~HC-jCcNWzS7v<$~BO&3H zlhQEBlmlHEcdk(j3J!mEANO-pvcsk&jm+@wHP{KBET-~Ro_y9U_QuzN_DWq~F_b3{ zl)4K>AM(djVjei|{*&TobsBVHal9fHJhbMlYFfpF+uS~>%J9{ss|J;WbF%#MH4Bm- z$9%v@#XeMiRUl&F@MT~=Q@_3?q=$hr@*3|X>t(6LO7VZ$_wb7xsa==29v3-aCTcv6BVfSkx}oixkwMHL zywJ))`am22D?ru(e!LlR8=4wZxaN#+fCeyab+xd<`96O(kl@aCdfP|KT@tXH*Nk8c zh=jF;zujSbtb9diqkqeufjnYpM4TX?JIMVP1T&s7-}-@txqrCpC4Tg2+WK?7$A*xT zoeo=g?%#>HwsBcTJUjfqcm@bT;VnWkhJ>fQU4*;KT#*-0XN2*a#G4R-GT8I@kD(CY zh|isQb#*zwM#aC?0s&yeSy=;&^u3jMBQOf{UR~Sw37V0@x@g5d`4Qs(=Dz4_EVSzD zB@t0C)01iw^hnK&P38GuV}wtzPTtWRDYuE|KsVb z!B5tjWp7Y)X1@0P++8Vhk$g~KwvZI8lAF9*I-hEZESmX z|9;Q&T-W~iZhx$<^F8N$PQ2bk9wqHrS(PP9)*E6&lq_Iw-zag}DWi6@+;E7<4`+W{ z-U}X;AH&Q^dh>2$BJ)M%M@~9(vD$vQMC*#;?4cKwjH#k&L8ZsKvpWgV3>|4Xn+s9b zHm~U&?dl_o?MCuRTY9?G@{}`k-CD{GPTfWgwSBsb%D;kQFgnK)OD=!i&)bdCHZ1*G zcU_NjzbKop-4)9|g;~QI|9~FBM$m&v2p(yQ-ooN3#?V9Z{v5xn^vzEwxx<4+pF3%w zb9t|h;301n1egsR1t{%*!^U&?F_YdU-L-XTw2KM1L954OL(v_cN3ej?-dFnhYkbF@k3)^-LjA|2S%xv(B-f_zb;9;m zOc`X8;%Od+J?lWRrWj$WSX02jXD46D#T&41=}Vt-&p;~8Yig0;sLS%k$XKPy^H&B# z3|&xq`hso4646rB%@kE)w%yOX-}_zW&Xzxk@gv&NuP|~p)1+v$QIASwIy^rNdpB$M zTsaXZ#TBv|STR_FDtt0b zDO6Ijl?{q6CNh?SMlXE>FrkyLL}V+=GJpbb^RU0Bi|P7Gc;-=4n+c+>K}9R>sc1q@ z%c;`H1cCpHa#wL@q?c|4?Ja*Uo6-`O(jf>FR!ILEsM3hxt!EeDQUE=cto~NumYS;{ zw-pzRb7bN`(E(xq%;8TbVqvGdnk~|C=6^?#Gw}bJN4+CR}S6Umgz=f0?{#p5ge9Uw=IXzRh;P2}>Bpwc z*5hZ9?>BX1jgokwlm|S(l^fmZ!Px=t4IUPs&7q^d*kTDcJo&S3sG&I8oG7XS?F|4G zvF9|Q{41ZI=iUiwwRlr_qMzTLZ)9SiDd2U{0Knoi zA72e=Ain`3aXnnFPWq4fxi38sXy5xJjA6As=Zl@hZY9MbX`s81@B-S39m6#ANbtJ^ z?4})>b?y8SIa!T3!cY~lNw!+N+dX7mkdJl&gi8ko*8~ZXi-0=8t&3L6CxnK>nJl8( zOj%$`)%kmaz*2QOoV&Chhmo%c zGWML{r!d8EfwxoItKBL3YV{rc_}sSd-X`O0D7jU}5FdU`G>x%YSp3Mf=_T=#hf?MI zX@lthO-eD2fA3@6iKj{K&>nc(R^9I(R-Aaxw<9eXgDfgjl&osF>vi(i53YaX5hvVe z+&eVtd5UML>1kM|?a{HVlTHBE*iu^VYG0-6-@8p7>#P2SyP3e{iieL{;ZF4o03I6u zFSGptgL|&>?7!>3XjY0WhjFamkX4?9P>&A`?ng$!hl;1jx?B;;8K=e(>cp{gyC1w0 zOH3bimtLg%N<`+5v{$FUy#0>uu5xjMJN6ZId%ENYVJRs|#P zZnZf4lQ%S66l@u5!|YETsd!o6Ryqbll_y{0cPd=I5(Gi!8{OW=sFy+{q{3X!g>X+A z3(1r#XV;J1s7JR#{W-B_jmq=oHuny8k+=p@^tt(20E0%Z&yy7wy%Wv*oYW)4d>`)) zdUHht0@u~7)tgwB?dSE(&Ua&+MFSCHb!f)5&WvTad~|u9S#OtEr!2aQ7N(!%jsb$UNt-0$!^*y)sWvC7HR0dJ&uYz z-vgL>Qg~?~vV5$XSK7Dm`lOW((jn}Wc^0Fje{n{tY7Ebh?u~NsPdJrEb=$`s-xt%z zKQ=yD8NEU!JdKF$q`HHe< z^>{%gk@jmhGPdEBs{ABSZ$$2S@$&3<3d~EsSdu76wCl3$3uJ;uzyay)ViF zRS{G(b}Nj{`u4C%em-&(`0zITU8!Zd*e8WdxJfbWp4bmJ-n>r~3Ba@gq$nT*~Wk+oda z`LgK^=ohG+`Es~xF2Y@~3^1i8TgNVyzH^oTj;9On7|7e-V`LwC))01k-GwWkty6-R zvmFF=G)~6{`7~UNTLVL{>+h`?3*lV!V;b}^B^NX4IeZ&4f%>&48M!&JmFEQaxt&q0 ziGAg#BfpL=6^n?{FRO^ldmajW@Ya3BQ4-HHPRRbMpLkUE<+Fj|$%JNqBedFr zTF9_aJCi7Rm}kf08MkPO)f2$G*=pjwci^$c+eu5F4ZdsMw!R4w68v)dzTN7KWR`5T zI-CU7%u|Gr#mUIK<;Vm}Yz+Y}>O^ElR$(5bY+dH{B<^IZJjK7l-)sCK9#J1WdYnWi zrW{DOfa*sWFRiJS$QZ5Q$!AJST31%~3mRkO*NWg=m3(}W7E^WU2cHkJxBLmM9G6c1 zP7aauuvZbWzyCRNZ1qk5--o9k`fGL~mmCpy=p~?&2Q8rDXL2 zcZFsLI-285=w98>SpUVQNo&hJgz5QF)m-$l^^Z_)N>3p&#kUe2Pv%{qguZkaEtF2| z?)#5Bb*qM1MNgm;IUEFGIE;&S^b8NLLp|-{|J5Z0*|dyBfv@?~~t@ z?N~4u>aP1dCeJ*b?lr=IlM5j%NtIO|#{V5);3IF6pu4(0C7zSN5Me8o!ggDFCKlVe z$5!*mlV!>G9Eq;E4do7RVp{Ira9+vism{fF|3R4V)~%X&K9z2jPH+cb?$7<%?m`sh z>TebXrjtFMaFLq;IWhv=4iTTFUGX;L$QWi`e;ZP<#QT0>j6Ck}$0?0Wusuq=1*oYp zQ|#Vf&>QGXC!%Xcd}`1th+lPRJy`eR>ZWF-{Aiav<_WqV$_G>YrQDynbZF>~ehIsQ zPj(2V&tDe=<)g~Z2fx!PHsCk@c}%?tEV+-T=tt>u#!jNOVWO)_D)_m66$ffc)Lv61 zMg^fAdlM7bBVinFzk){i`fD6BB|ADPnSF9hIu=#=fbgLr&@5{({hHc#>^#1I!Aw-c zzh!-`#Crw^Hc^O*$O%TSIZ!czK3x zL}W!aVxsTyeu2Q?l7E2^852Bvar{A%^LVGZm?L9vG(wBqXtC%CdWa1S9f;>(ku^>> z`IWAz^1(~@liz@{-bC{UdEl2u;%ZLSiIdKjZ05q|cP;RaT26_g;e5jLH<eowKlxW2t?6q&63uhw{${u8bh??WrXAWy@nis*qG9rzsH?ixK`7t~ou->Wm< z&{FJF;FodbSrcJum`>R1RIm82>_0LWCjKCMfB37QO^mzOOq-}HOfbUoQfhRicw$vq zRwNT`)FqlAHzyRG8zv#-Hrzl5RP;$Z=ly0yKDVvy@hy0YrR&GnUU?R-wE0lq)sq>P z-{US`Et>~+7GFJK=Y&fky2KTjBxQe<-_hsz)QERlzGzuxqc12hdS9yL2#7sk^MbI9 z9(qA;9WLj=jbw*UEAC{5u#4`mYQL?cAP=0D z{|q2gg{vs;nOOb_3VG3VyF5JkP_3u0BaV2h8UF4|#J#yUz$#SYv$-${ei;ZCn)P!} zfI=P8BvjeWzalm$YbbaZNtT=QZ4rKO0;|g+aRdZ2^Oyz^fIZiWxtS_u`u-?zzLwCB z|D$uq@{mkgGwO~#vnSSm(8QzK4k^@iG%N*z* zNvZcffx8y_?CrM~F@|o1Ssxs%x)vi5JHM^wOe^8Nz2KdE#0*K~5SEA$l>iOiM~I~d zkE0Y@Ez5ePR$kv+*S;{GMRF`s|mvU!cC8n+pD)*DNd;k8J+JO8YGr;eDyWy5C}JxSnSix z4`kuxWoq!fsUFWF;3GqL9vXY{;44Ss2UG+6-y{36!^EXgnchAxQ2+&sdtqWdcpj48 zIq5CbVeasxu=h3UCroI(p{+X($lHe>s=+Z+PyzcpubB#EI}utF&I9|<%-j&YM@ zL^-Srvw^OJ*_e+vm<9FcWr6+yDr3VPsr|YWmK3+*3o?tb(QPr@b&+fu?|dyV46@>D zSmDEWOq{0=p(^0F?>a!)ht^VNvmay@nJA3ea+*^3J(Lrt*gYrkYyT`9KVe1XaiAio zGQ6K*oKs#bOl`~Yiba9Afo|&dOyN1p&t79=r`0AJ4j_KZ8+2xs{_5e@5TyteWx%BC zulOLx;C{Y59n>FusKU>kAUV_fmzp$)|fgX=O;>+Ku z0|X^1SB|3)w^IFVo4T-OW7;B_1r9PGw~`yz96f@3U*Rsrt6tqe8#pdw6H`WO)`Kfk zEZnYARR$PfZ;mDU08K3^YfRr!-fp=eAFxf_=&M3$w2a%sCxdlL^VrVnJJBJm@M9Un zv*F~*btiL|ie0+y!!qAQInf_(m|aw51mA8#CzK6cCR`iuA|pCwu9#V3XNH>Rz)aH? zm59fd4!v?HxhwKPz7Pz>;k-iRsw;tuEeln1o{RfZg7PW1Tsq@=<9t6X?)uVoKTKG3 z%{zA>B&3U+m7S%~D!(ese#caLl)yLGr*6GNgG(qz5q&t+ZAR9-al53uM@ z+8Q&|89ZVh@Tn@ldAjTOS_tFO^U4)|^Du(%xl-pGA5s{>D80dp(T#v`mm*gU#0o*f zXB3Tx9CSsj3oM5tFy6~nvige`d*A>y^WIbQ^QY#=?<6i;g-&xYj=1HZqOWNLKQVoo zSiW8M%+sd|FE3t>&|%jhNR0ls)!L$|Fm};hpvvqi_`_1bGAMP=LSg(O(XgmLz~$Jy z=Z{qAkNZX0gvSc~kt20QlKbiE;d1YU2QLz#J86KMgy)#&U9l(Bk0h9ie(j6bnzs=@ zEF=-XAwayhtJBs){h_dpN6>7#=yr-3>Mv}siI;h~y@`zD>uP1t0;Z<`Zs1wU z_vf;!D*f8)b{Pk1p>|r1ow2jcd2zt(;7i0jWJCc`3Z$-GIwX2@bmvH-Pk~R6R&Sj} zd|7tbHhK>_nbF6+DHoS!`AET@{>W(Jc!vBy^_4pA?SXNG&ly}mNq135av64WpQ^%;i*U96#KuFN=-SAsayIqtj0`eqOfm&{PY*baJ#>4;$$ zMQd3qKrhjN#@VSu2$1bfO%wk2Lho(DP#XowCt3cT#<#e`tNVwwbIM`{^=Teb+SlQY zWw2&^!hU{LBD0Q^_od%P?Sc;vbTCt};ESgoiT4dT`ha?3 zj@UBaHU<1U5at?=YF8-(P?fWWQ+IM41J!Lrg4b}dGs&|UF9wWDN;$`tR!UkhI=O%% z@G8;EgCJIf?#2zQJ#=K{9F)NhBoNrC=9FfC^X}%qq{F@Lb)?dNYsa)>fTK*_cpsM& z-Osvds-QXc<7}hg*Tws)%Q(V`t7OsLf*O!GNYT5uQ((QaRAoY4mU+Ba#qNf#n`i$5 zA7?`zlAuLo)lG)JNgkj_7k$OfwjQu~(q-!3*JTW)cVXIlJGk+_PJ%$Qm3V}&3KwU_ z*MP-id=hc|c!xH?L&ChQgB%E6SREv;m+qJB$R6NSpeC!`C(u$*@P1IQBi%{vR^`5Y zCht1zN(l`6<>6<0S`a)X#V-d5J?W4srtR)qK-kr%#o@!-T$yT7SK5KzC*x`ob{{%E zpQu7de3w62CeQ(foRseEj6{kc;dEt-Kkl^aDm+d8BuQg#VL|dQv-9|<-E%iP=f~Hx z>=_$@g-mt3pD&*OQg& zjg%Y}m&QNS-z2B-{KS|$spHbk@%rM51-n^Oc;>a2}vZ$**e0uD|hEq&tv$iVPEnl z!zY~EFQz;kd-Nd#$FGk$PBf6=Cy^ghwuo;@FuJnK>-yFkH!vPOzaljng8O?tq3Cx> zvY?#zDf-D5$3+3wg-oi9_jNV`j}{|5`rx!jS+Wh7vhR=>kPHJP z-WM*QXs9c7FmZFWlWXUatSi@Gx-tS)1WdNx=uZZ#L`1h7F0LGdD3J3Avn;f|yu|7? z`H`M7nhxpdj>VYX_FS)3M<$^Ct)CE^>BJJ20rsqOT8MCmo~%5`Grq=s?gX>2K<+!} zax@b*s~H%9z_FlzZs*Os1V+;qeR~lp)eV|n;hI9E_qvYI`K2z{4f52<^=w# zuUJA5p!)fA`+Xd0gBE&_lE=T9FAK|Tu3Izq)d<(bM3+7BxwjGCFnIDsBKU_n)1Jo@t+Hq z>8Al-TT&ggoE^62`^LM5^*MYa^K(e!FI&-W4lQ61;HpW3H!9=^okiN;l*=C ziW~}t8lDJ{DgviK6C}EEXhW= z4u|lPaw8IGZ_EYwrBFK)#qF$0Pb6@(#qeyNn$}Tgn03}DEk>hYWs6g!p9iIVDXMkJ zBDWlOXssdQm(-~B_UYqOk9bc%HoV;9hBue;pvPHXBfG`7gC3F6REtrgQjrSz?NKgW zL>B92E7~HuoqMFD6GW8Nl90O@?s50EQJX^+o5TDu3>k$;`|F&#@_fO4z#^Gt5mo_1 z2>JD5e@~{K)5)oB)lKnFfEq#02g$l;vIJREZRY2?Jn1DW5p+O0 z;Ei#~W8=Mwn)l+5Q(Ikrg^Lxf$RR?M*GSE>SBp%1y!)+mm!)VK9GzG?kaqlyKS5@y zq%pMu+>y%bHi>+>(l@aOuMU|m7uUM6zjTPbT_Hph#7ppOh`8k_b>LeeG$diJlh6gp z2?z%zG4n|6XU@8K2YLsdZut!C1y&}&D;1<3br0T~*E31r&MBYJd|%GYt^D$VoxvcL z|99 z#3PSywR@47Rpy_{^@7rNYu_zYy)vq0exq11ed_^^**)(}I{qH>ZWJ#-4tXj|qUszUf#quDb6JmZd|0 zzB-a|-le{!z9qT5k%FrxQo6ic{s5paY5r~SDbo3>JJCqW|6*);_zi1)7 zJf-M5(vsZuEO(zq@{9cczuY;v1^uV{HL8#es~&WfaZwXyvdwqgHdXZE7vJ$syx)ih z8>x=qDiPL~tH3#0rXFfNz_+A-qFCtmFny-D%-cx*>$P*#km1ah$aL#6oX3Bu^=v9~ z9>3nzmx{7?=r;z48e9pJb>lP*@_Wk(TBXTs(6G%}CQ1)M!G}E+=e%Zy_5LEhy!*3s z)u#I8BKX)LP!8I2;-Gk&$cxwAX%n0(x&7wS9~V$lAX)u>`rj}>--5~2Z-Vy0s;Xm0 z-iczwlLHFQ`JoPVqz0H(-favK96>=UO}ZSZ98jJjN~Rj8a##IOh5pe5Ja2Z$etMeT zEn=8nUulcJn&-(|RM9(3FUaH9tr{hFyqlumJc47--kPTaA0XeF$Kp^2m&ykoa|)FE zEl1$tCG`W|8Qm|rY3J6`j~<|Sajd#}4>Htsj47P+05_QXrNNZCT+Ew=Bhr~JcMqM& zKg>g0pJz`OzL>3M zl<4(lgbfbwSL$pRzf%4bDVVn#fb-w4maMLvj&na#;R4YC-I&Fa6opr8twkf`x9XOf zlo=m+hOzikZydT5tR^_+8M8G`Mk%)sS%G@vneK54 zsf{OvGH$D?L55LpJj!&8E;co1-6(=kPbwL-3@R(M>~+)bcyC<{KYy&w?O`HIx!)G8 z{>U(|ExI6{S2j~O&!BSpjlnM}UQ-jc#e7%Efj9*G_#f6jrM}~CnYURtnql`H*)G)j zOy--5cWcLs-i>cPOJ0*-meF;yCu{rh zc6{NoYfOd{lWLP61zE4hdQ`A}jnsMwus6;4D;Qk&vGgaF)xt%#%((ZpzSPQ$b?Z#x zbL}Eobb}?~?{n4sY`kQ_E0ER*W2jK$jzWEwYT;cTGdZwa zrq=%DL8@^*_b#q0Gz%jOwgzMo-HNx^fO_ki2bd(ZO}e=wu;TDEGAAWarYiw z`W$VwMxh*MyJY*>`H-`+_N+<7T|1GBv_9@kwJ7Gpl4P>ax=Xol@`BQ1@dx+ZYhItr zy13pe&&0MwmujJJvzeCLBQ_g?q8r|(PqtV#>O?V){h5i+GhUs zKSK}{U9e1TI`Qk_F|4eJ%ZyJHa(Y`-Reh-#$}@Kewmg6BF-t}1F-Ki(DqXHl_{`j{ z;4!ydrJ*NZ1wVSje87zH#YUz#Vb)-DkW=IYM4aplz|pb2Xbyh_wJapoCR%w7j?ySZ zm*GlD?>3ZT2FX=35*?V;F1g~(YHHkY^`kUn<#I~nCF4GewNCXE-u=b)2$jO)sIX;R z2JBS&sIu1q&h0UKe&;_cJXeq6g+8e~(lp3c%xyxHrd*ErUhQCQH8*E(Q+hm46_rV2 z(>db?T_rQXa=nbsYb>B%^P=72jm!s98_=Wp9-ofJ$3i%})E%j-bi!>C%Nx4o0%$=V zPm)Kr&THT_plHpi6rnfkjFutqTsdK1&f>|kmLF%!M8dO4Y(4da4k(0H>XH7d2(JQt zTG>q1sDZ|-i$5d`_U8mL`odCPh$SN@{oF>L@1V8g&)XqfqxZyZ87fP8X_g*vKfm3WuB^Lz4A!sKd647>2y8Gug%Xm$WRf z+Y?!+-+4cPmy34GD@P(3W3G5W0)Wa+L%;m8SpmyTdm8M>Jf2y6;O0Pjm^9%cxZiuE z{J!909KHtLa9Trx*``kfpnumZjyy|wBe?>0@8C*@%%nmRrW0FMQ%mdzxo~;z3H&RW zlrBLQUkXY|+{?L=d||E=KiyFPP*LHI=Y-4Y__2=?jf72qdJnbUv7YkWvEyEPD2$rWG{8^*f~eWro65O8bE_V=?52fV=_6lQxoe|Zh%H(zJadj# zhE9;3l`hA^cK10^XXu^mOEC1eAEk&?G!LifAdk{xk-#e+k!@o6T9P;i(XIH73`f8kA~Z~ z0FxE-9tP|8MgSU7uSQt8e&^?`ZgpQ?gT~T22U$lexE$XKSo~2JU)ZB;tdPdPcz!2u z&U3uBH4maaU3cU`<9t}+c2RE6_cga6u4Ogt32d!VQrb@g=Zhn0T_}v7Hmutf4kHWt z6GANT&I=nnK+&l-&r{sV)ve7#lbg=rJg)Xnk(`8tEeo$f=P%6lu0!E5nCs7G8S^9z z(ptyND}=secHB|}j0vE9DOZByAvIy6K_K~5NIngHTl9-=W)-j~|B5-K7RGehpb0{| zx%2}SZywlQi;pZ_V%KUVr1jiw3=L-==dWF4rbkuNw@@2{B!D!|cu|!F{pKLaTq4}2 zwI)bqDp~Uf)tk%HAs#oKEtNgRERtcJxY)Ml5GB8@0{2~o-U5Nbx)$4T;w17F-okC^M|)w zYmoMz;?*Mv3vtEF52ogclrB0~8GK zFBjIH5_F%}! zw%s(+qtEQrCWqhU-eqZ{?%4Hb4x$wnsO5HE%k%cBj57%Mp5-}YI&0CHVD<)ujX3S^ z2;5|uI^H7`)&w{!QSY!EMwss_TtyKAMgrL2G(pL`0nVf@ot*(;l6D>$ek0p1@5!j^(nPdf&2{p zy; zVT!$3Hgb=|zoE#9PF+h;huL*dIDx+NUyL#kE=Df@VRusQBRw3Ce&gxQwS#U4@ezY@ zudKS?DR$Y+Z8)%}?-(kSl4!a(zJjc;=t8vc0_J;ffcn!PiH5R8-;I~`WtGzTSAMe+z{+_jGh=-@V1VKk=^xQfZX7qT2 zk3dJ@I0dQVQ~i{*>09-&%lH#i1V+|IJsm4R;-3<1NE(p)b=>-~9o($EgCDb28i++n zMR@i_<_wIOU-hqq<%UP3nqRd2%PG%aHNITO>uE4FpFbRi?)9-7Gp!9OlB+&-+o>&F z-hW#vdLZiRnbb0G0ZMgyWK}9UWyLntD18ugQm2hQc@(_);zjg0d7ZA~`N;NSVlVjd znbXBpshZlnS=({uS^HGmD7c$V_~n+ub9*3BS8@=6qZr z@|gFxdz0o?mOi=g`E_%@LetUqV)2uxt!EdsD^|aY238++HwF9s7MKb$l{c_%KgK1n zr8Uj3d0y;b>kistr|zGAJJV>tn%kB%K>SF4P5VE-c-fgSZ-RnG0Q)i88=KMvz9#or z#vzbXwoEr?D*^Blqho)PRI!-DYw3CHQ89mO^b4S~n3>rbnYuceT+Ze^fp@6up)v2$ zkShYcDy>uZvL~oXJQa&&Ga=dnWcn}YZas2}-u5a5Jn&cwQm;?1<~1})ZMS%|;PQ>L z?kjC3(y>d_rS?1Xrs=x}cTpvMR3n1zS*9++UrGc$Kf6+7!ZuhPE0nb)T}h5(jsnSp z`b)~0Ykc6S<=R_8#$`yKq)BxHOxZ0&Zm}5?)9C^hKL8t(i&GVAU5qyk zKX=(@IFwc$d88uqK7jzGCFCnbbGG@etJB?`DY%Bviripas~7;UBXzTy%4 z;{N(xH;=px%Bz4E?(ScdcM?qKvvop!+HQVgXaWlo*><{JHp6Mdd3AT;{xLh; zsIeTl#el+$-?fPn(V6T-yR@DAxLXq>oq{OheXKmgxIEFm@W@iTS*OBT-6D_Q$$TX67Lr`C zl3so!ZY{83gfYs^;z3>Kv9kbKs4b=KH`nvGa6wNL!;|KNz%NXlv;~KTcmJmadjtJ(xyTo<{apWOsL9J*D(NUL(h_|F@2ab}^@3k1spEVyEdqv?Bwf!E> zuTOJ==Wc+_{JbU2Sdvq?Ezhlv|0+7vQTQq2m7w@OMDak)?@tl0wkv6GW!jzY*KfDN zj0mQi0bmDA9Y!KVE2i?YNYjKk|F^XGDw_`Dq(fy2g~|lFM1^ng5byfoI zq+~PqfYf-mcl@F{xW``;ZfSyUlU;f7PU<`9@I0WET(u7PeNDchIK>PAMjYMgcrh}s zj=YVWzwkcvKKIR*^bV{)nb^tKcXWP=ocH%lAE=JtL-j;v)zqm3bg%%VyL%^NR|hqF z>2A##->a!ohXqAhphsW<4&7d&Me zV4qO79((@n=?T?K5I`9kiF>sI*^u+GkTUW_t0vs7_vUvl6N^!t=XX3mEatE6X1@Uht3IuoOgd&`F+ID zTp<@Ymbv=$wKA4e@}Vs`EpNj`&X7Sq$n*U~Mrqrzn-X%Y8bdV4g~j6!dS?7Gips24 z_rOtdmE#^I471Y0KM9;=lEX@ciZ+-s+WMM*V;bv_irg4_0$FcT_t*xMmAsYzlytv& zaGITO=NPqtO_ne_BaubGqBfTJWTK1rN$%61pmnf1hiW!D$FYZWxMsFS1eK{oyPnqK z-eh>ovr0GkPcO{gP-{ZYXc1Za?QsI-!H05zD&c*0YGj?NO7B!uUg`MBqj&wOL&4R~ zVKGEn8y4OCS_43gtNoWHQGbSnOU8X_n}p*PT8t7aqk|YJSJHJ_gaO9ipS9Hn`{82+ z)3i3g9?7lLhWh-3-gIu0M-vGJ7=^28RuTW6n~Ysyj0Qx1!gXMR>Ej0sEsQlUzP)TW zL~aEZl43?O|GWFMJXsrmoujsrh2BTU*=<<5Uci#gxf}$|+oau*X-&Z;%FEKZ2f|=k zl)YI$ANKIT)iszq0&j%m!LxxoPXzrO%~j@Jc%{c|%zUSwoz2P2M=GQdKe4ZL~T?rZ2=ErAzd5Bsrz$aW>Cv5euy6Kj5DNbU8F z3#W@ZOKy>>tH8w?53>&4pJ-CXRKr#E71cQa+#*->fe>9zxyni|DFK@$`i~Z8tS=yM3RkVg6|bFIDFK|&B_Ikh`HIU1blC^fQ-$c~ zc83$#{g4j1up(8&2Y)p?yHln(6$grA>Um{u!)DAlyc_-a9pJBiYH0|KfAVvpCRXDe2gc1Yv0_Q10l3TM zQY9p-Ky%zYYESVm=>95`EJn8(aCa=|W_U>HGm#wA=88rAgMU9hibJ@8Lit3BI!06#jKN%IDU)N@pSQ}f#vZeI6!^(}1U^Up zaG-v(5l9er5k%5EE*vyU`#6^7Nc~kqIyp+0f(y%rA9pKF)ifqmsII8fwe4S&-?b}i z<||9K88sK`XyCHjF}^e7ti&wQBbpMVK&31my`jpU@YpuHjIDBmi8u+e@D6kAR^%HF zDa|czX92*M}FQJ-En+ek`wve)VF!`iW%jM5fnktxWG3a|PN&?HsgA$)qM?u*R zS`KSP*1PVT8(6P-iE4LJlmeSuyI$h2n_s+Yg-u%6J=^#?u`P~qjxgu8H2r-alsiD6 z#b6QAFnYXpsK{r&fyV{v-pGZw1HqZZ+CI@TnEHh0R?obw9TzVyJHCryp&8Uq63RPB zn_s2du&(Y^y`lwvIYj!IS((~2wkxdJ#&6WW6&Tergz#?H#9Dj|=eiPl&xKcqZcPAW z$Irnd$o!+gts|{X@`vADR>>DEB-a+2xQg29bTI`@5a0 zMIpT8bmz&wCUMxBqcrsUT=;iuj=)>&fm`h2(aMhrhKCyG?FR~UoJ29Plu@h-Kv47vQ7qr>fIlpj< zsyqsCIT|YhP9S=APdx#X4#;s;LglKJr7y+6tGa5S$wh4e5eQA$Bu>h|6CpMnSrhOt z4^z&>mbPoosmEqup}#x;3g4d)0pP@m#M= zDiU~SCG`BRzYSUFEO~B7$dTtn%fSplFzeq>GCz59pNIO(sn@;GM++dH^53LGPm}QL zC!{c?7Qih}7-@cfG${Hhpqnt%|0>RJZ5QJOO`j@Y7WcaE4b0(LR z(Jz=PCF~r!yu0}nui7{0F8+n3pt`Hpy|7yxS z?;{g+^uC?yULv%om})MTygT)@gMzH1+aJk|+yvziS;1vP8nWzki5>7QCS3DLQl?{@ zqD13bK9ibsp0^~)@HySb*IP=eN3YKgCy#pCFZ%sjh%cDlNo&LF|IjxM3ItZ(65i~) zBX8HS_-3Y%OG%*NMQc!n`F`E^ka!J`1riVg5Dp(+*3Lqd!e84RLeGZhtvc>a>XUHI z=hT+Fzv(!OQ+YrqUer~-itl1 z?yXsHOQMQd<_dU!9`^gmuLq@(962`A>;>^8I_Mh2g=!!m2#*o2aj+8NG#nX}Thq?Bj zZDg~H%0Q-=Z0wj>P={?#oonO%6ie7?%mH4GaDcLjJQ5o|t;m7wBG*aZv>K=Rk4+I*PeK|F>lOb zqkmklU{Y)oL#XiM`TH@;iqkTDr~x_M0qHX#ifn?+MROFv=*6E_cKkQpUx$3MzY%G_ z>=Cg_OY_;`j$W@28QwD$wU@R$6}jFY6?rsH*naT+ce@62cYR9XGZ^wbwW}QN6%1WC zoUl+%fhexRw-9=S!#>ihG0dXjL}6aT!1EIWxd2&Qi;aEcpq~ax2X?R6=JM!SRGCv?%-*XHFyv9*z2PMB=MD8;gz_ zr+v@x(U?IgyYD4P6!w{C>x><+u%-Jc_>2Ago*R~<&OVmzB~G;^!Bax)R4R-&-uaH#aMY*mVK3?aI8r>(L>hq z{ew{YV#9`C@2$Vaj)y%rO0kS`>2QfGqBYzQyw69y5&m_7paooxq!G9*1|7wb8^Fme+9yCinwx$X9`V6yR+`dmXllj7rzZ#FE64?Wcd zP(@r{y00xHbW{EB^i=!6i1G`MIXn29Fo4FNP})J|n?-F~z}PBzlLGo@K*bej!4rYM z!?i}Q_`0-xT{Memi^Xl!^iTL@(n}GL1MgTzKCM9Kj9s}ofhYRJ8zk#Zy&#YFnUQ~U zPbLh)Mxe0VCuDf*JZsD zFgOpjJE98(y>Bm+(=g$nKYqy0aQvLW^`X+zDLjWjp3mD*QWEHhe0J4|vAfZ#5MhM( z1IdCOi16`=)P|$s>&JnA_N)hYZUhe%EX?5WZO>Yxmfs2hFM3c4who{v&oen&E*S5& zDH%2=4EGEvyt=)@(m+TE8E(%xd}cd^H)pfES0_;lDm;>ExBZ#0xr2rMDa1tehyr%5 z)>=jDjq+b#h^)wmSS3NWLNuVV4y5F+<$&`;#g27S5?>aU*k zhcev0w@d2ZvAbd%I@axjG(rBdff@Y3IKKOg@zx*v1%>^*tOwi%aw7)={AQ{=+TA4w z7V86^!I}a4tkF};U?=HynqbunzLD(*Lc>jhW>y28PLDTI>~mJ1$1ceR#I1_OE?x_$ zViTn^_vqH|7<&)hcFpR#JMMIhag z^-s|8hGj&^dR|zY+4G-A+3H+x&9{S0t@N|b7hl{-d~0Hp;>|W#?C^iMde5k)y0%^W zxkW@lL7GTMx_}^{AksuBDkUIII#QM1k(wJ&l-@)-K|osQkrp69dZa|8B-AK`UP4U> zA;}k?_x<+RWB%CGi=X)_d-Pf z`-28unr3#@l-a)rj%3IJuC#07#c(4)&4!VG9t_`CdEm#Ozw=MbM22T8TmZ*)HRZg; zgz!h|q{k%Ozjnp{^bS#*rq>nwe5kBaMo(2Bfy0y(uWGj~Q&_h&+ckbAel|GZX7|A* z^5%n-$b3ps4CI*LRaiz{e?Wi~jo@4~u2oh=Cwc~1|0dE9O1(a#k3(;abA&!L%3k3h z8kuaH5dkUI`WTk(T;wAdS1HJv>ql?~57$VR7x{$jWGjq+5hm*jmwElg^Hrdrw3Br| zZ(cg-$E0PX<^h*3MVc7)Lr3t^kHA}JS)@t3>!KZ$gzAx&`pe1oZ<%k%YezhwiJ9No z@|cci*mFDJey&NA5L{gS{tIcF<_3><(043fmeJeZy=e;`LTzonq;a3EaibW9LCyfX zkM8y;FPh`+ZLbCzb!tN`F z7MolX-{nl4q>ri_a|T48?}))T0|txD0m7iCp{3|7=+VhX{hVB`QL&b$>A68Ci$NQt#|)P6CTMcDVnqI0 zUdUi&Z{<7T4ryO+-8cW%(#18CFG}IrtI&ES>?)m7;tBz!UJfy%0vGbS>7|CJ$D*&= zEqH+b)pnzOz^Z4OJLSzreV5l~WIQ13FaG?a!n6g0B8 z?z3ji<_JLu&h-4)5dU2-@4vu_V%Y`@8Z={I*e+u35IT^xE0aDv8zuCYiZjg{%V;MI z(bsZA#V|642tCCPCm{4w^oAx4FDrC%iw3;@s&8;h!a66P9cm}%n{{NN-Zh=wZn!%? z?Gap9tDXnT?jDiT8=vJ>@b!%oem<9%JGzwSO5zDBtttW+$c=h(#>Eyf1%!wV&lU-# zji%BkIJG?K?q}8LcpTpJj8b1 zeLoh~y>rTAKb6K6rXl#vG7DM1i2IR!ZV0Qx`Bu|hHRY2(cepV#AeA!(J;9}~z?}bi zih{eofWH5EibQgAHl^rk$BS{>7CaLrs*WYDdHR%7`as$Omt)c#4rf=1;QjA=;{>`5 z_1B(hU^pCj@5oG@-AJ0Ys$B}zns`nWj{1kV)m!2y2FzG+TaDz6Ql*Aa_$4!>ofPn+ zKd6b*6xX1{XP-8uoiYL3McDBz;U=c0N5%93(d@)+WN?D?!l|9GFF$ZeBTj{MeQn1k zSI^D2SNl8c9X*LxJfhf_)hallxcpQwL|dO~fdZf{DfQQiX7(&=5pp&lOoCECjI3`; z^msU#&khEi3EiF94;3bgQIpl#9a=-+?7JcIGNsr3Tae#dTwf|n+Kf2R5=R4b=SJAt zI)DpSdv=aAI!75zea|@s*HaGM(_~TrpR(5#w{4yA*$xyt&u^}@dib())K&OC=?p<6 zo+WaUIKf-`k}tDCl_Oa;b&UX*a|H^g>V;1`mwzUN?5cI+9KA5R4y3Ve)m;It?;fPW z7MzMF=4hsmE8~qsBL1Qb?Wb)Lj;wi{q=bbRAj=O;g1tCL4TkOSx9SI8g$KTKX4w^> zVe3MPtHUbb^&<-;m&vd3ewUezoZV;WgwhZ)X&sFdx0x*-wz>xTOE3V>v2#M-`Rf@s zifd*}8X44+j#X3El6#a}s~~=<(Dk1ujDNS^wFoy$_$c$goKw_+lj*Irf5u(@wdSH9 z*m@t10WE-FzQ&E=u%|u{Ygh`b2&hVB{xr-f&mG}LA2q=I@88#WlkVpU3rGQO6yV+h zLc=yh0D>yWq;va$J%Skz%C;Wwdggz7{_A4nh{RP>HG=K9=il2BLtHg6kcoMQ6T~ zny**mx;XbbJS3h=Wow6A)B*pF$`Y1)QoP6V{Z|9}D*ny5qZFt*9B66$O|Jyk)wntg z3q(*y)`3Oer%FV}2^IEBn{O?Roe1P-p*hx*=^4^NoK04tu()OZEW7|5u=Zi!eVQ`5 z0(krJ{69!iTrBwlJFOkrYd3O^81nMILqP3MB4waE+^>PKDHxY|>H^-ED{~QxW`Hwm zct2GkS8PP%>d}p_`eedDEHKubF$8UE#$2QvY6$Elk|C3cd}7H<;gk!F+ZM-_8#JeJN`A3 zUVpY;&mU{?=Isz>sLSzra4Nh>rE87e8~d(FH+>dycfwjZfNHi4(sFZ+Dm@tjap8gTW*s;AZ^XAkZyh$p|#tkxI+A`SbrI(K^hIq*z&y3=6=C4m-y%vupFxs?z zTRwtTl-^2lJGB^)vADfjpYrQ7DZ1HwFQG7dFX4iUNvj8}w1`%{QjWbPH`MBtE+Qe0 z8oS?M0P!$xtY116y=%|fv_;UlnRO9X)JYZiRfB6OLIH|a04G3i^BMD~sKYZ%nUE zUbzdv`x{&+EsXGx)J}T(vsm+^F!09w&u8^NvrU#K5pAZnSDt~atUw2f(PywSXk0FT zKTc9(x+(=k_%+8xg6tqy{w;aAhz#4+U&@JYC~+)`q#5y||Hp{)oIei^RiC#@!(aVz z%qfqkq`i9gV8Nz{S1e)p^gzO}Lj*%VT%#7BaW)ZG_u-))!v9`sMrCDt@p9@~V0+*O zt0+)J@VH#F80qi9FVR}r?tFrKdMrdZjgD`B7iviGY<$so#ae>?{nqW&%1dj{j+aHd zA3Qt0qUBTV0DznBUhP(S(t<%mrwZVO3BTe3H<6qXseA~WfeKPbF2MI}=}&=^LTha} z6#vEv;H(cjAqbo$bv!DDc|{dX(?^oPp|@mz!Jc;i<3&efH6?ZR$uf`9`tw++|DIb0A0!X#mtzTscj!~tNB{?D@k&8%q(->hvsV`T{2ZK z105dM?`aU9)|uQaTYK3u2-Pi0m-2lPE ze~cDjTZ0;oRDz-$?c-K;?NJPCO4^v4xv2Erhljyls7q`2PAgC6x-+lbYx}Jf?6Y$J z_FbDlbBhMbtTeeN#<_3vr)@{x>+}CWcxo1E<_vGHZ>0p|@Bsu~_sgN2(a2O-c45n2YFr$z^^0amsNuySCLQk1y80KnjkwRX91$a8iA1vw$E6P{d-0v2A{fW3`*PovAnRt)l%F? zTctnMMews#=2YgWp^mXD0TvSyjB^PACpcjYlfpJW#e5jo*v!Lr6KfjNZr(GsR_^pFMMzd51(C&8{aA z)t0w0fTS+EnwUI6PTm}BjiLVGa4i|YQA?G3Nd?gmZZ$IIR$TOT!O~AZb9UG|My|9g zSY*7J7Sk11sN>5O%kbAZ<7`w53&XE|{w4wmedM(1`>y4*4&i$(+EeCs#)!p+Wi17# zT`*13xf%1$A=PXAeU|_^{2cW;(6Cn4=e|5R!K#Rwe;)md9M$60cS+wG%uAoAevxfW zw|B1P%#Dd#nY|M#*?DB=l5xF{a5Q@> z)&|~(GIFB9eHpxvuwU=NHDi9`(r7!liGdkPb>)Dfr`uEK$5Of8n&-OQH-aA8jo7|&P$FzUnHL-+mE{1KCF|3cw>EV}Z3R4tY zkU=wWriFr6+wYGyA`Ucp-4Xs4Sg@eZF)A*m{oN{?0GG2+*uMhDB803j@FQNK`A0)Z z=Ix?)dAOv6m4ZoU)YC``Z1kMP1Xl4DntPFSjVr`F8SGcq+1G z{Ls3I)?#JSMlXU8;V+2$x}GtZ)M?Vq+i!H0F+_NHK3ixrFi547GnZ~TFbTDCX+e^j za(2&t=}Ia)U7-H4@}!~Jx~?q^NVkX^u%~SnO6ZacRJ9Pd8>1o_CZ3cRTi9MmIoI+! z98tkMPS0R>Z8b2kpouXkQQ8iQ`UxRX#j%B5x9ce=tM}0!>9fkW{@7m!Re$FQD4m9` z)H}F)-W&ZbujtpHH>hgfu1~T*&xi!o5D-DW#po|yo4E1<)+yizb*M`-nT1V- zBq%!Cc9AonmycOMO!GO_k9KBn4QT^5Hfwuo)AIpGG(1SUL;9bN65}X~c=ukP+HwcT z2I%r<*h9zwjLjuP`RPqM1oipd_l2+PNMc0sw6=r#9bAoqgro(=WYzm{{@8c<+97X{ zZ#WD5eOq@c&MB2J$=9&hIex;=iRs_QqPk!WVRCTR{}bLAkrab|hVJ|7@lrnlH!+5w z8gjy%ptAr;4JHUCRNI1HX@qHzHEF_Ek?sVY|NWE1XQHGjg4N^b;6e{v{4K?SGKux?uoEfxD zxu(*23%m2s(csrlT_cX2ts#z54bD<*Exd%wg;}HN_c>t0xv}5fZShWRi2F^ zjwK+V5+eX#AN4hEylgY#usVtzR1+L--01nJ{;X37K_9`vF*}zr+bNVWE*cfCe7~IY z2OV1WINbiKrFkW}!}tG61|U_#iS*yn zZQFq%$FQ5n&zuEI%-O}g#P={tw|{j_Tx=JaE}6wotU=nGho>F*HH!WcLgC}yub$j) zlCMWf{GZZ%`Clq6jvQe!y4$GxT{b)wO~_h%{?W!bEvJWz$6J?MGa_H43c~UxpJLrO zB{ryrHA~n?iHEoX|D^LaL_|TLp~g!8B8Moou=}6U%%7NX_e{@w&vv|*eaxLN_y}Xl zDeWZ`>u-sLY^V0?*-uR3h3z67iyz0A3Sjvq%Cc$rphbGgH`#HITS}>%QHXDq^z;G0 z^2pci7|)e9qG@nmkG(aZ1j&F5s>X#@`zi04oY;4F0h3 z5))i+HR>|Ue#E2mxC{x)HswVbR^)Qn%({*`@6BtkHOEM|)t)KqXIJhgD*~C35uut5 z49FiEOn`LIPcXdZ%yPQ;>T|C>lP2}Jb#(Dpp!JT7+AR$GR=LIwDynspooIgFp#oI5 z=hd=wIdK}b3H4G5s6P{jx1Dy0p>|3{>qjel?Qi7l_cJb)M?BGV7}UpdZQ65?Xt-Re zOrG=+gVy)d3o4y#qM5c;(UQw_-NZ+qJHG!?2g%L5pKGiVZo}mc=!r~FS)0^C2!G;;%f~*iWxmA8z8Wu|D126?k~R1|IIl;tWMbh8F(M57QZ$5>>Ra^3 zN#?*>>7ID9%(0ih@$Z8DDMRCr=hR&ZRqA95v4wRkAZ5>=zGEw~elT&|<9*M^0rQs= z(=P=^GIGkOpq@xp3rnssKn$;9I1@4Y*Dmw#Uyw#A~N~om;|0KtnMMj!uavNo!;)cHSDm<7> zD`Hg#O%52WYjSc%7eDWf$6muaz$eI$?<;MLJ4EcZ5zcmRVrx{Zzh%{^UZNc5Q>zH5DlT}bHardP9jCx9*UyVoI+Dk9j>OH+2d znuu3;s^M0)kyfrMd^b)9c$4{y=DWQT$IXspcC6ZMKbB_d^`%oXYEb-{40@Q%ZE`nBS>1b^9e`eMP5ucYB$yxqgy z8^|jQo+|}T+XUSW9HbE>y@<@lA*qkAP6<2(d65Tfll5(L^wF}{6rjmzB=4J#VE>6i zL=D*fp594I>YAgYBTV!Y^faS3*U#`eKkPay6`pPbB_+}Q zIbHE(R#Y24y)QbutZD_km9uq@50eki7q1RwW2HCi88a6nKjog`QvJvO=%Rk>stl=A z9<(Q@O{fM5+cc-K2P*o|#uyqgJa65e!V<7oSXa2kcefF!qz*0k;Hy|q1^K&h(P&#^ zW4Tw+mu~~fue}&S7I;od?Hz6Rc7I;;mlV3DhnRqV$H%6a}Y4DucqR!3> zxx-@$yBQa*1j?puACEHxM#FdX28X>^kWn*?)?HBaLQu+c-46;+*U=!B1^z55_n~Pj;I|wWzE1^jlSGRx z2zfmZ%y+W1VtoIb-8pYT;&aZw!ufKCUYu|W$T85Cbm0wqVYoK+G0ju@9Q~PmAF3Q% zdzPO&6+L!8TIBD2Q%*S?p(3h!a+sOzHoI&UkFIr(E96W`%6RhV+tcW}T z=Fd4&Y7jT;5R;>ZVjPII9(0cP;V7GhaDxF{0hHZ~ih@?uLX$(XPQ_^f4@s1gFtZiY zl(GV#3q5eLFCuJ}(j;VnYz;`yz8=M20lwukgXm9Pc`)xmJfw&J{zSo~?^gRQrQdBD zpigBXKv&*62SC-E-7;?C0DER2Dw%4ko}u6DC~NMIF6RUP~$;AE! zzHoTwz2ik~jU-BP&+CuAiFHw}C$t#_dZLG*d#FYlr9D0J%T@A)K%-Y9M|XNZO1?a+ zM+#}=)C64t=@()gZMF7(@n#LvBr&f;zu3>xAWDbrvT?`90YlPv(b@d5--9fx0|*^X=z+KbhgR}jhxuxG9QG45Yme5Y1;d)pk{V}%tC z5@HvxFiuZ+p?*3%QC4^v&Zla!XLDhN6F*hFk+{T0EBtH?HD!I=By8PnNel>B(DAFc1zWanvi zZ&3EdC*e~0($cCD#kW5`nO<)k5V-$ZQrHzOM1U-DE4oJ`$t#rXb;1x~78ky4O)6A@ zxZ$Ff@-~tIY>Kns!*7JhW<$0k3AL3jwLbiMPqrixB(BLx$?Bg2rAufRbL1S-N0L^<54blwE^@(RQ1muK>}S zffXTFBN;}{L%#bQcOK0a;e3`uQ(jscjJ}dMOpTEMrI<#p;~Leqahz!W{W%6w^_y1DeQEeuQLT zB5vUsmCF#*V<$7@>|bau;F~=(;^*}{G4ZP21feejD>6%ZI2kodmEJg$K_kvD?QbI+ z;P;vDc4m#aH7Y8%FJ;|1jziCr&j&3DX7W!qKI{vMuK%Y{bWdAeB2guQ`k&|`h~}d8 z_|-_ud{@ad#kho7D`Dgd|JT2H61?2g0hO9X$Tu;bqRTIe$0bI`2|w&^wr|~%O7R4a z%d+~v`OQNg!Q;@o{>xER<-l*Oa&c9y{_5by)8A+G^^m!3e>$Su!ef|DYrzHhNZ(%A z%@xl$`G-8o6N`@D_+TTe26oSYVLwj@WZY_}$bPw81P^s7dGE4rCVLAG*;yE)d9gld zpHlW5czJ;uFhh|XS!_>=q!IgL_?c*SV{zRPI&zRctKJh0=U&38D=6&WW3ub?<_I&x zOTtYeb*Ix-a&m>nl_67a(f%%XV;p)pub&9^L}4Q~_c$XQrnb&h)Kd5STLhSF=?|8; zJ(<%IxFtf=#4{xlK|K;gK#-C+eF(jWfmuZCiu278;8p6x(ucBD?h&f|5$N9p{-z>L zkZEDcdYs9unSiPJTaDb@ZlTGkp6si6mFbm@>b%Lq5)`84EVY5m;Q?1C*JQ)JmL>}a z-i(irjHAIbNBNNBd_|48=t~iups19VZrO?$SPb>*HjrB`A;M%d$;p11ssIP#?c&Et zm#Oo#3uKZQw&d$tW^^;5u>R)Xn#(PTnujiC!9!Ig=_l6$u-Yq{QSYfJl4KEXWyL~i z!#QJkJ0=6QB3wz;F@h(l)y(#kl*sAc+7`sCVT5bK-;467p%0t75x_D<3Zxc06w0-N2v6mxrRB6Q(eWn z+0;_$i{nD^Q74AFiQ698kbTwpl9DvwAdGTdj!u$JZn)bpGAp~D71_`j4~~^mF>wPY zg16#Lw4MzmTW}z5hZ@!M!5{a}L`yC8MDvqdA{)%tD@v-|b+qJ?T}Cnj!yT|EFv-&Q z4yFATYo-(Pv^fQn<(#T?@Q!)+U8!)pPsXA&M8Sh`pfVtCLFx$SU%AoAkNbYvBvfeD z!~LvegJE<_BX3V}L@%~9nw`E|@-W;0JFG&xo*8pY^!}gr4zd4f@5t`1anR9eNMuXI z;vj~+}GkO-Qz1oq=XuS%!Av9ra`;-LS{CVl`dw^ zv4_t-4ZA{Xin+|mviT?7uOI)&It(t3`IZGN_DP&oAHi8k7YIiuo~}=Y378_}Y6zvL z)sb0L(CS+y$^DV0)no9m`y@6`obvS}xY>NQX5Vm>HD`D_2m_pc9d11AHhed3;bR_F zIbA~eOWuNvjp@%%oaR#bCK~67k>F*T0LMQKlkj+MEO%t3&0-MVGHzTkJ^BM2(eR_8 zx1rZpb}fDVXUlv5mM_Ylnp6tox^vDZ=I^SJ?bW)%H~KY#DR6VG%3LeYwp2Rdj$WPZ z7#SVvO3_b8xr$UW=o)Dz(-zW@mWf1amn?r+w2m1hG|qO+h!_Zh0GR@2a}*-q>;aj6 zK)uY8+07S~YM=pT#y_h?GDIYJIwM!S^E~v?aFYYxKnEx9k^Z`UqnCdcr*tucOM5vY z>&N56+bt&Ah<2%p{5v-YEx8RMmOt{qVKvo0=5b5h3A$18Y>E)5xv!934y|xMy<;;A z%XT%Vx#O9@Cx-67TeQjl*{+w`&dr$Q6sc6zRhjSiH}w*oWNCucZmZPCaU3m5xI?AR zR?Neqp*I{Jos+DRh!IKm$SGTI=vM{+&~X+=OJH%E~@k1kifF>wZ|R+I;8pPq58# zuZ$Mk`%f5ws}tT%H$~#4#;vNLt><<-YSY@EoKjTbz;%?~5)ESqC-)Ol)mk)x9}*v^ z4R6n7jHGI7+LN_Ut|dNMcR zvV^Mmn&1j(B{&eu2A1cX}5X(styZcJ$dxWb{v3yCp1Qc8{qh$Q+-D#`+>-<`Hdr ze_cbRgJ&GWVbCtwTl5@6F~;Rg4a>lxy<25^^7+B{8ua2GEB!iUU1C|$f_`v`zA0kP z^L|1qO({-q3`?WdM)y45YpWsEt$i=)x6swGJ-kzvy&x6J6qS@K&N18q;c>smnq>y+ zKXWmjN-L|fd}@zL?~1`BN@*|~Pya1do^AlnG|qTh-d=#EkA z=&5uxY@iowRRA$YSlO2L+b`SPvYZ7!j5Z6By#3{=4>I)SQ02r-aGiqXUHuj-wHnDI zk86w%Jw@|_P_LI!qm@>u)El%e8H#yG=bh<-S}6A&uRDWvJK6iUkE9Xvk7-o%JYRN3 ztQi>3?vx66-xh0&XC6`QTA~Tu%r|$ln?X8i#&02C74V}Y4gd#51b<9fn5LwQ;KOJR zj$^9iPcDyVewQaLG$O)^_av7|?uu zNXtAY{ayF7A@_)_S)VGocS3gg%myT&_SYU5r;w+&#t4qbw+I;op)(iN9uLxQ$HQA*ABN|7Nvd#$ zTvEf7+He!#znvyG=jTh5!yG82yuRo|{N6BeGL^8yvdx@LZY(Jg(e1S#YL`nDC78B= z45H#njri#K@9l(cuvDtv+c2Bo5RHSvR*hA-CL($UJ6HTjd{RI^N5>+QWFAytum{mhD(KMw%A zM|C(`mGSR>M-Nmb51(5Y$wn}pC5TpPoW?2EMA1A&dP6>I^ zZoLW~Tb6=!{Hm257_bO#va;i8PwfxUL61aQuX=s)oX{%IbNIUvL@bZGQ+Ua?3!I}< zn<6H6jnHuVdQ??VTcYx%Yxgy$2_L(Z8~dCLSLmn*&%JC3AH!Kj@Fn*(UJI06Ac;a< zB8F{sU)>A43X)$VIXdFXwnS!*s#dB>{%&3QR^MJaENOF(i}XkjHjZIjaV>s_s4;B) z{7g$rf;mD6>R&pTARtH5&J)j&PzlV6dx3Y^sM*15VTaIy>_>0=QPCC}yIGrgJ@;>N zg0jhZCABsmwq>-;hf-^N_&GV6D`WXoOh^UCD*0TokMX4|`Z4MmAGxN0TA$Zr>wylV zcN;8g4>*rNUw&-QOh5Grn&I8x?T5+g9Y&asU%Hp+{tI~(!?6;6)n2JsJR~2TGwX08 z$LUx0LHEptMVpD;Qq^^ipt)gJu}`kx{rX{J#{8fi$zDoa-4$9lX}wTj3_xQzm{|8f zzkXKB+%oN5R2E@o$C0)jjgO{QJJptkK1fBD_v+1%{#lZM>k*WQ-rHfwFk;VvNaV)J z`OniR&ZY0RD;?)cY)7rRpCGj6eS!r8m0DI_|25OkeWrQK-@|k;X>Kq>$xNoFEdh2gmDWO^ z+w*KRGNQFOD&QL;Cjr?n0UB8Td=Y_3y~s_L(vY6Ey{*LF*2|aUbR`VY7T7Nqa9jfQWWn!Ow$aLm{jp+?HC)XmO;rO%>1olqseJeB>q zdUEd9eR-QU-a_~du|Kt#-LXqXU58(?IjoBc4`Y|-ML=%N#~=Fihq5;nlves9r^n7> z&>j2R9nf3z!d02H8g)%>jes!cr{n*;(aG@2DVwR-xD8C)?GiZ>nY%-0nXm2h-rHr~ zBHnuw$YzE}NTdjvM`_p0rVZZ?X-f^As|Z%**-f^anl~@9D*`(>x*x({Nt}VWsiR#X zY-FY(yQZY)oi}kZ+sLN41LpH+sWo?}7fa*BJs8wPF#R1MqvVm%UpKQ`tL7})EZr?* zIDy9C+`*b8WJa{~MHEEZ{wm=H_!f<*qve ze&fk8{#+(3PW)t&i7I9!4L7w#MvQa=rVzw650ZdTaLCS3v?!d~&w9vz3y(TH&aMRc zH&ZKB2z@5YX{DO^pIHoUMGK9u)m<$^^sj^C>14>lwr&ox4TtSqJ z?h85G4r?c8b#pnP z*sX>83!>ZJ?L{Xc_HFd^QR;_hF&xML_#+MC3tZqjGxNi3Vaf{vpN(S`Enn1NAB`#vHfl~qqyo4# zbu{z37m<6CSnLCsF}tqO$F zv=vAyJpV_-@Vz3nqCL*+EV2%_!$8oX=Mt|X+WnowVMDX!K+egfH#(5$TX;h!(}fKF zmS4(i0n3;YP=c;Tip5=1Tcbs_#6g;9T*P6~ZH=^2|A{7*+^<7JUK)X``O-stb~@KJpeFGajHN0K*C!dL8RP3v9qyyyS z2tItOL2vgUvC0j2Z6|0$^Sj=$;6&8*Ap15$>QGP8k+1)GQ%+Ql12UZVGWqKg*GTMzS!M~zsvN&nhTFjPu(4!| zFZJWoX;9nNOIzFd!I-LF-PP`O{Ps|+BkkA-RBR_897M~k}qBQDChi_L+IZ7jJ66)KJ{~ePfYQ$5p>ug4XHZ!LA|$m zf`8Fsv)@nKk2pR>4N6D_T?uWx5ZbiSwhA$%#g07Gg9V*4hlb7qM7>*c66f9v)MME% zUT|lJ81>5h=uLQ#uq(Pk*^&4F$OC!4SUy|PRxwJ)UF-lPKct>3o&ckKz<8B% z#j%s1_4Rv4n!J6(eYLM7qneBUs4@4=V*hyc)t%fc^x1WPAn2~b^@RTey;ulRc;Z?h z#c1da)|ANN?-M^9VXZe#w=%u8cjfcRwrqLlzq^rzm4jgcg>snpPIA3sgE_hL172K5 z&nP*kc~F`C^Nfc%`*8F@WTC{GtvvhyO4c3iI7ha{C;26ua?BHt{E8;7X_W~`CKURY z(ro|9(`RTLJw9v)b!gax+2#C2=u=FmhS?O1kRhrcsxlb#auy080a|^YTkU^g|ohMIG!#SyJtOskGbo#c^Jf%8Bf?L=9Kbvujo|L##x6qD&p@9JLbvLNNm z8WxZ$TlvD?;D-%KHBffZi@4+h%))rN`_<=$V#D<)G@TqmQylM6Cc(?W@a#^JZO$dB|iN2FA^_a`En^`W9Bvn}8SP|>RwCcil7q`Wz7 zNjm-+5;R}aa;IOOT~G<`DkZ=mq$g!tcQ`@ZpHuP?;-w>=k?0}dGS%#ALNuABR_ zr1Qas&_E<)R|LT^ak@ zEeCfCbu^Opl1uO{Dt~92`>mt5-_pyj20v?4h9q^44f3gLtsUlpC5HJ%m5f9?yDwAc zq`xay<1uTIaf!+gl$EX54cm1nHbrooO=BQg`r z-{K>Lab!l(x4=2~uB!-3ZeU-bu8Yn_-JjKc&?n;3E;1ZEi&U#xCZF#G<8iB@pdWFce!U3TYF|x=GyNwFd_2 zA_Ji?XYol5{!b9igy>7A+JG++8vBLKqo!s=$ckz1sKh|9eO-auJ^ls+HUCI~zai7X zBqD!Bf9)VM%rI+}b7B%PX&!b*aM47T> ziEqMz&)(BgSM=LI3IdnH6JsjlHf;JDM%%J?p51CP9M)T^w>)36#Hk;>)vF7g3d^B( z2EZf;q{B#;b5@&95Pw=2P-cz2L*ozOOGj5y8?l=|>;-I&zsDg(gGKG1-BZ`!#oRcg zE7A7Yfetjpzy2Bw^?iG1h|ym9?Hv}iKV^6}870bK*JsDPu(nt4@7Ld5Uu}+xYd|>I z3<)3Ex8Hqto+<<)i(O^!4qYjo{tvQ3)nf1$0aw4 zGEjiNsJqY>=zN(Y|Mbk0w7olxD3h=|wa@G)Yhjp0$fHFY+6<|eYdbvtBpLP9fkE>+ z{Km|uK*N?_Y7Ys@nmbEX40^&j-fVASA5gl@UTkKNYv$xz#1F^Y3@QPo+mtnjI!Bt? zuf@dVXxmk_7DJQ|q>UAogt3ThRR9-jJu8e#;n56PP}rYpH9sz$e?cB=;tn%~8V>l} zXz|eGZOsVl?14;OCAWTNtWUm^qH3FPrE!3AMikLO^A}ri zQ|hj?3g*EaaxR=fhpen-Zn*RzT5ji6SLIH`E5UUq&EwXkrJ1IN+KA;G>|$MLXv361 z%(in7=^f3fP<27mXqRa9fC}m8-Ox1@SQTwR;s5X>pnU~cD%Sy8nYh&nEC0pn7LvOH z6dDMEF{ExTm5_9M*?&EVp=rEiG92y+w(qeiA^Gz9{DX!r7EdL11cfTU>V{4dubRAR zywB3QWI9GRYnZ*R_;4|QTtOqLZV}ln795|*Exvx2@`T8|8d0%Oxy%98I%m)s|1>|j z%I}FYC-9ar`LS;6DA-z7&Vc2eE)e6Jmz1-Ea-uy*bBE@C76 z1&JDYl$#t7&6{a{Zn`%ytnCcCgouTjA9X>>40ePvmV%Qf4Kuah%8uaeL`C)bF&8F~*j-Z2cb>;r$!hTlxfM^=?Q!mFA5&U1G^xD^Gf%|=vjjMhE^c_|KXPPn8P?u^B3OB`|`=&{2oG}Zys_S!N};Yr@G z>h}AdP$>2-o#I%vydV5Wn5R(XL-@|=l?4Mm7DCnC9M}4d*%J5qVLrycz#^NG`b=U0(h=a?7yYPWWLr^RC>>_z#erNioc9xipiL3m_ewMH&BC}v zNc(kvpw-wThaw*xnf&hHTLS%73_MHTOZuA$4?eGQqiJ)~s6I#5Lpi!Y7TY3!+nXFg z|C3RMU4=$l$h1JkB5xd7?JTs>% zsjpnDfWmQ=oa;8Kt=C7$Ppn+y50QVUrRfHS14FFtuAaDYYSP{L@Bg5U)=XK;JDTq?Ne+M1Y)wbYgFF!yCfnKYVUch8=C zftO}Hd>y4+W+8)LnGsOEQ9$aO{-&=aJBjAN-J6c>E+DI1ykw2__ z(b9smpa5?Lg`oiBPNaGwO~Kl}dnK&+I$HkYgZRDId^#w(*9tz%xXl}dzekIId-3}k z4j~p;qQ)8;h$l>HZG9nL=qQP#|BtEffM&Z5-+tc?s#a08DT>xCs&-UswN=_GYNoZ- zNbM~zYR^!6mX?~Sy_2>^>`{9L39&;WA&7i=-~ac0=YLL)G zcF(eK6>0%q6|nUjb79CgcfgP0AH3tbKt* zm$DoKhq`4XeR#37APmm_&`@#EUyvjO;4oV{_&G6V;#Xr-JHDm^AwDY>=I0Y9&+wfpSx*ffOrG=ksVC=ttanw+U6;~?jHEq4^K5~B z`t;5Ob-MpdH1Uylm&IEQZHlJXAR5swL+9L>leQv#;A&xTuzdc$&Utgoj>il1IR?qK z+wuGqzVu|T1N1hiaeFqM{s{E;JE%)Ya;ocnfUjf{uvOnQLgcNMwO;dWRnPTcKy2js z#>D81$onv9y7(WTIzEHr+|ue3k)BnonOPLdp8EPoki_L79Qxh+hkb{WxBKY{;J4jP zoNlKYcQ*W5<9svZJ*e3$lhDMTQ$@*NuiNYcl_Y1{-_yZF#o(kQNv{A@0??o4h z38SjNKOy^xlF~P`k0fROX_dg(V`%B?=X7+n$e}5hxsiH19nNNKfM*0)!#}>Zs zRAzzEs42Bok<&z{psWCXlNAVI!>f6Wh0+R!P>yMop=lKJ0I0&wPW3*`q7zXuoAAOU zKzJcBI2DWS2J(DuAsyj;Jl+;9PzOO!hCOXOZ&h7v!y;f#l#t(I0h93*Ssv;XdKneTI!RHsA&7y2B~`j;1{L zA2OgGKDtBH`=NIn9ohCsa%_((VS(*4(|d=#{RBD@$*7Y;)#rs|w{*WIehbb_qkg(~ z^xK-}-LI*(5|^ImxM+RUS!EnLj)4{|>MwYEi{1 zci;~_+~znvN_rADRHLwO@%+iLo@Ff~`P=mkqgMyLL*Ev3{*&3^D>L57+W=u3^p19# z*!%LLEP6c)h*!MuF5&w1IG<}{XZpUzV0o^ohRj;xJ4g*Py$|SZkyn>c!`5s{7IK|m zFSauh==I}shrVOvx{8G4Oyc`{w|3fo#JK+*P_WNHZ6{#EWs#fpF#k@*&h6Tp@qP5@ zTp2_#fL?h2XOdrN;2zQ*oO>Y!1NBn?7mqLgrR)GmVE=Y%u>{e6h)OG(E*tjT(9g(L zW+~Rb`?_Iz_VEq6$F9F@E6v%?xLMAmV_3h0OqySLy7w(^w!Gq7wR++kVNrQjd9NXb zH00Uo$Yvg?vp}N&zD+po*vAr9|nlrTr4b@|?uWmg=(a(wUzy;=F zxJ;Zbp_WfJ`jawaaIT3W3L_1oOMne%ML`ZH0JP0xa83-yB* zj>D@48|LVX7c;zeFR+ywEg#;U$pt+Oj<|KE*f3xJ~{O@cjaN4qrBJL=TIZ!Zu6Jf#Bkn;N62@h(IUi9r{9Wb2ifW) zd!iiDq#=H=CCUn#n_ki61hnIb)}Lcy%`O0oG_9-4-CYnAn)pZCJG%!xR2;Xot#dfb z-oE4G7lMr&M_U~!4tVII`0^L>k6P0Jy2{Y@O%OHY^=_vfwi(!^J{B?0Nrz1t^TT~R zP--14@gvz1Wp(DkDd8)LRPWi9!UB5d00u*VS<`da5!>uB{r{R=W*lcgZwyknuQhWZ z*Ck{a9*bqQby4=>=6P^9{6MD@Yi$~U>5Cxob^8{bTwc$=OZlbrMus9q0oU`1OP}pw zUHLgBS7#o92wGsJ!Y&fO=*5p1sd@`_2s6WgjeNX#4HlxK!CV#j7T* z?r{br?+uWa=K3p(sD6U8Bk2^&LnCyK_BDK|oGO{SZ(7!- zbixn=Zp_IATE^@`@h>J8M&FRPHm0#6z7bA8aVKW$0~T=b7P-5 zXP551$Zuao%GtqR0S^o3YDTOyv0VvnHFV zI!A)4Ah2vi1gJ&n`VTX5FKmpB%2py*U*)SOiM;_o?nT&#>PIU3>k*>!Mx$k;-I5M1 ziMm~7k-++n!Oe_Avw>rm2dQ4wQE|pQMti{dXrYOBplE$z<%vJU1Xu920XMiQfl3B* zHKbug4`r%PlfYkt0CyLF|7(R-Qsk0n4oj;*+jv4z?VfQbO#e95>nN4fQB`8;t+;m%=fY0*g*&Gc(Ej+nQ%2hWQ<$@7~G zQjD+$(38?%O1AcFZ@FU4A76+&-FAdEaC8@g!9dHdrTV%Hi<1YH)4Pieo2{<#ung&fM*@$V=PQ^bDvQRK=^2TZeRi$m z{0uK#pTBaiydDUXnb~}6gN*8JGA30IU};YPq%-gQCK}Ht76PFmTW7wKs7&X7&FrTx zn5h`u{SZI+A3PJ|o!l(4-R)~DwW_1|p$iwDrnL6$>UP{eVx;S{^32dU*6WgVG2 zIUxTQ9C82Uau|;JHQc0H<#WRGjaQ>4qhe>wsm)9xs8m#rW~-Z?E)Q!V6M&B@uJ$cH zF&P0RE~Ipe$Rdl4VRBa4o#`NXpo^LhjrY{%g-&C}^{z{matMNK-pt4GovSb0G~_M> zqx$bBxK|f>iZqnBg7`o0*+R@FQRUUumhn=AAKyrzZ)MfBQUPC=b?WTTOvFLad&ctx zA<;$prW+FtD=RK0?7#HHdIJ@{S&N}>yv%=sWnI7@P-_mWf!yXL1 zsmI=nJg7JGm)qlc_gdtAzar~*CIa&-=yYgTZWEZ+6l8xGyu$v4`}>IPhfDyljV^GJ znRb(OTmM0H>;^c6#C!J)#tDr$9GQTHHQrkI`#oqC&p1bx@?iUs%!^v*kvRr@*kvPd zpU0<+%)DE!J>+aFnM+#p`#f8+uAu`%^&=*H=9m7KOGc3j?qcWyRSJ+ErzGX1BGptZ z1R{oU`F?UG*VWr|#XTA29M%r#Fr1$2m(ynwFDX69;eOEc!mH!15o=`43xeHjjC9B?~6=tB*Z z-52n-cHFUTl4Onxz2?>DWt=mZvBx}cqN-Lrsyi#dxR^%O{gB=x=BRZ}4GL`@oK_a$ z;^zLYQJDCv=--e4SSpM28zsjk$?VOhc!=F~y5ne`D8GMwl@7;tlzf#Dtv_l!An!d& zW3Q_5|CjwF$}Bn4n-pFH{AgnR8pZC2Qoy-59Ep=F+d{R6cNGm`ria`lpVOHxMa1X1 z0pBvGTAm)ox6j-k+jdtW33C(hZNp;Z^+i6#TU&E5<8~+hQ2c{ac zlBLX$HWZ_=mxphrb?buTNNO1TIRmvF#4YlxF(;1Lp&4&rz0`XBWC6qAm}Kcx%aC8uY$8hemeZcUx@#TtXLj~uh2e-+08MUNZrK=0KCuov*xIuavd4@y_4Z;^}T4>(s zx5U?B)jy|Ys-u03z=uk*p z3N;^wmQlpH&@zu8=DGK~`?kmP9%ZkdG&$@<2K)J4J*QCITE=yFLJ+;53W&xG@V%vK z3rLG5l(GYQv{a}h?A_`7@|p0^on$;;8^vyBY32~zKCt9ozR#EB6@_S(JG0R+ zb=GhU372>%ctrlgU$cE>7Zm*0!rwK^p*71FzaF79?~dEk;Q2m<;TZML4!Afzqx=2S z&!b2CDTH*5*FX}bCkL)gX~uv29>Bkw$Lq?kdqrXEW1FjLcYqSFZff$H*Jot`-pRVD z!*WL`TV}aEblt*Gx;FEV7EaTfHa34Y9U7z^)G&m&(&L?nx}(3LV1|y>l;r~j^Cm%7 zsT(}v@#+4+Mq_XGZrRSs13+2!FJ-0N#d4Vxdhe+%%eH%M8dBfcjSyvkd@3<{WPGbt zDSF@4$DpemZM12?67*s6-q-v!24V&GYlRmZ@gC*dnYb3EyQT5|RDE`0S%8)0Kk?o^ zbkfG;*Jd&qA>5^@Wfh?X;+O!de1XZ@srdd-A5MM#Jn5UNj2P`@>a!TRHdcfgn~no} zFat$NmW4IF3TtJ9>gv05WhpgXgwyr{a#WF)>6%etO=8yTw%;e7xb?M~v18+wX|+;X zZBGTO((ewXQJ@!SEZ~V^`2+gq!FvvB$v-wc)>XH-yhxp{hS^A?Q;O}&w1RIt4eWi9N4#(h zNewz$7H;n06TCekz+2cOFpO!XR;6rYzKP8h76m=tO?y?DqT@YWUAk?b4ea8P1XY}r zk~)%R`k-T-dZFW7f!Y}}e8_H|y3Y6KIlD5e+BkZZ9E4v%3rEj-$I_@#XZmSrbHwAo z=yg785UtOaOfiz~+16-Xr*>%ko*}iWwPoRgqYj1k2>vXeq~BViD?ka<=5;PxzF35QA3N0kR6o}7k;->kRo3-h%S6ulDTjpZ6fw+M zp=ud$xBAPUZSm@PYwGW_&+ptHi^ zc|QuU-Z_DEXxIQ1?~bRROqRW8F?#kS;W;|BMR1#`=f1qT*xl61Ejeukd8*Tu5cpUb z`RH4sY&hcDbmHY5Z3vIeTl-?JsWJQP#m|8m;fHv88O7u3#~b+Q{oRg za<8|>t@^*GGabo&W_nA=o~A#)rhlz8B;sqU`yjKLXr?1o8WGP@X*UeDDa~4%ZMz0W zmnZSpTZP`7L4M9B%fptwjB(BlhfX28QL-ELw7uJIdDe&lC7q4&S+j5XK0ltnlmIMj zlV-j=+>>^A;G5xyp?*-ni#$_>0K?LdDIVy>G7c;7wtw873-fC zRn!)8pV2nDHlA-MKHvS;P>?^IBF#BKd3F!t={(;6yKk=EM5MFv-(7TV%1GyZIzbCySBgF z8~oThD}inaClCBQ)w&q$%hb_-+M&Qs3Jw_I0EeB#3sF^53g=Z5=+CM2Q73By_qUMXXuww#xXA8<0x5eG&Le=%40;e2Sbn07Qi79Swnp?hr4OG?q znNrZ?3sI-+8b$v?|JqXVm|3gno5Ra2S8p#B6Nk4Kt9tb>Qd!#b*WgcC{rlDNRfR2URM5xFD!=h1 zmZOeRuc4Lq#{AQBmig*yC*PU)zl}C24eV zZK-VJXA)yRS>y+-c<@xC{G6lXNoeM1`$#X3zY#6?52?^NWZ_UoQz}Rb8Hi#nWCcp7 zUqDq|pt(ytR?3Qr^%H|uDTemIe+$T@lD;^QAKYqz0#B5gwDQ-&^)I(gxW(frig-a`^t6G z|IY2^V3-g4{G_2(tN2X1OWzr}==1cAG=z)y(U-v^VaL-qRZeHPO@TLM9}r=jU+XoC zX|E`hJ6R@PwCx$rC~jWlLXI~`f@k-Mjl;ff^3=Xk?;UEB_NnQa{v96%9f;)%)BNez zE_*+@@2%1An*4)a^<>PnCC5ln`*@j`_*98V8wKQtx;DIesh_KKai`By)=hGvw;0Up z?U#@Bb^Y?kkmNez=#>xRoBUe6sp3{sX}NH)kTKfi&=l}eq9(~uJt)6L|G$a)ce_0l z20d#opB*kXIo`R0EtQLN*KPEDhYUj+oa?@CkXLB4eKa2#%0W&1xzLdatSBS&B0TUr8fe6J{1NhjMa<==d3-0F}vOumCzyNN-+$uj_0CG7^Ks+6sI zpyxePWooqTbAjkp2JR@jQFV_b)eKJyj<5Q0BITzoh7E=&N`C7`zZ zA7!3J#{2laf0-%G8sPEH?assl+=C{3#3khk#eHMn{j893c|Wt4`O>C4*ZF5w%yHg? zvO&)mFZE3aJ&mc`Q0PN9lh!>eZf{D+AQql`vfKxvfpeX^Q%`68HUo>W-B1>|1!-}c zpd$R8-IN;OE$u3?H7g0!UpoG0vW-RY2hh;3bC##rWYlyd-xJCA`A_~i{=~qmQ*~2! zbC@blF?^#So!v|SuoF=(49d2M6qz# zmWLz7!>sUH99sXLI`_>9YyucTbQ)7!pB-qwJz82kYy0Gpk>l7>WWh(GUD)0dm zD25hPPmEsIDd6ZHnpjl}9WBQ{C|EmwgYGAZBgtva?@2R zO_K7GM+pu0|2y6HC9j%j2M&_j;ifXa#yppHI5R}lc&MjN>1Wt)8=TFl_P-I>0&4#i z+tQz+&pF*_k2KR?fBuVxj4y(SAfMS{)Gfz#3x(ABan1evxxS~qd}0dqz{+5%D~3!N zkRPT@6<RWizz{t(>q0P?4Q_+vfeICYDO&u!Lunrm#)X+Z-afjlA z@moQz67RKfao!S=0x_?*`Hq6A{VXa~?tZ)24Oj%Xs%rnY$|pkqO4ii$;oeoc;!@F6 zy7_v=I@LpprW_FC{^;fRmdnja-wF3Ele-8o>zDc(tc^@dDnit1mBl{OADqf*AYi{o z(oaV8M-E+nyKWuyg>`(0l!uFM(&L_`b;jX$B}JbfqVo|;$AY?>wi89tZla?bvyT&{ zHk+shZ`nUc4*X6nNM3GU-@;m?Nu*S4;ENT5_DUcRBQLT#mv5HE;0bXRc39}!OM>K-bYo^AR@m|LIgN}E2J(KepQ$6XNObS%e-VK* zC=^9X00Lrwr6!hqg{KcjJPdcWoBiJLm1N4!CWe@{S@rDSY7879|J6pGnrCJ^(SHfn zxS)+uy}{Pcw#95S3S%RH^;S$JNn#a2DX7q_pJ1x6CF=};(_euXE;Ik`u9+S1IUPSj zTnUA<79w;9L-faz^U6Ec5Qj>FcT1lpm94zVHe?U+d?)fwjZSRy^hz5leBg{=lyUsR z=rVZSKFh(~D5A|9rmRo@Y)cJd)JILvGG0gPBjZLJ=zaV>sQdhVC#z{WIDJ#%lEh!* znd4S*@dO`Pa-?PhA)?%z(Q3fBUlq?k}92o%QXvWH#uRKJJA$S?*(U z?}-k!KllEGPwUnCjwpAZYKLs3e!6=%W6e5a%~C=Ul|W)&C2_JWxuLUodz2AUe-@;5 zLG*$K9*-dt+mAdlv)X%>B@iGF_#ycN65%UQxC@5Q4KY!tkuMjR^D#3^wP*25p=$SH zKgHdPEVa*3XbWF3e4s&hdhN{eR5=(ElPfVJ?5VbKl68o}sf`dh3k`sN7U;moi)lxO zxB&g7R{ys{PtFD8W}-=>>oa84Zh?dXgjz;`S^;z1mNLrGK4|{Ld3?0uB2Ry`|GeW+ zt>aOs;L(2k_oD}-dya%-n^2hx=R;-iF=p|(4)lu8mhm!l^+h(dbCkrvF|bt8IB@CE zzN1?VL9W_?ju%xlCoa>)ZCNQSi%=NBV&H$6`wQ3PagK7qtdn1pe_MBzb!(uG#X1Zr z{L3C2%U{5%n-|{w@JEz*a$ztBjicw=z!!!rvNMx*(Oo&d(<#X@o}^`PgrvFZSqkEwom%){+*!H(C+=5{ zb7aMrht4B*0oTqunS-JGr>eC%$0qQK?a8u=O^_|)2P0&~=_E6Gy}Sk|VL0^{Y8xHW zSI~bE`R0*AYm{N_hx;EAcebAIii8sG#tyy-oo2eJtn~ePW5@P=ttdh7Czs)*81CYT zK!he|pBTaiOwVI7HFGx&YEY^-@|NeoTJguN8|n#a32xQ53(xeCU`q9fVP(SiZOri! zH*_bb;ah-PzhivGMc-+tv#rfe6-?SIyE-Yf9RPytS$JssQj_;@sic1 zuZc@g!X41_=IU93o6%(4IAX_!)q0sU54}X+UwVc9ToNY_t1=#+GS>~}r zs%5Br#FLNrTaB=x5gpM7%Afb)K5zlz%+%j)0KI57KIUFQ@94D~Z4py*0%wrpbqzu4 z3|_6@v1Ept`FtIh`IxYa*j$+{ijqe0Um?Fz`hB7|vwD}ey506;RTX03g5Ef(dllW~ z?U7}QX8GU2K4vYc`#nS+m^*^(GVyWrV8YZ2c_BVMRc9~T+Ic{n zxI7BqT)m0wr`{{YI0Xy=)H?=uK7}-dGK|j`#lfaAb_knZaZ$z%7;2%7sqZO@8C9m%7|A5sMYOMVc4;h zECkf9eb~}{g2H#gNK&LG@-NNtT?_RaM}8Y!_`ms%y(IWAz6~$Om;c4M)w}hZ4zZmI zAB;mOFvE>G|Cn__c7cb5w6eM9f9;pSXHKjgw?eb|y@NTK`%h91UD-q9gZlg?mWGe{ zJ&xlBTif9~BZPi}-n;Z)I8LbUB?;E?5am7}g(gGZ=P#TH;H#E+`O${-XBSt*q!23dHY7g+@xl8POMp z0I>z~o!tR(i;q6!8PYE3n5{&33mzoe0JlEdZcT1I+Ok(*_wS9WnQ-`K4^yBfYq`c; zZom_!a_|#WT9dCNP2+B3@J=E*6gFjX|n8Q0p#e4u$dq8U`rVLW$1mxHm68O^EEM1@fO*(iLv(YfXi*GZQLV{ z@>S5bfLy&{sup5=@tC&i){w3ecJzUT~ z-++{PhIE8LVa|x3^RJHXTC39R-z&c_exRBmxscZExFG%SQZ+h;)A2l!zZJ9%0wF@~ zhjqYFVY7xAA+pv{oxBJ^MDTHkYv?}u8fNvQBk3itD^qkuU>2`#){`c_-;`^-&eFQs zm{+^h3h@wHH9XkA+ut1FFGRW>z{Cpvaq{Hf+iF4CG-4IU8~3Cydh7*5on=5XnL`Ib zQxM{-CU_9s@ZDCMxAKon_`vt49R}Cqwr(PfE?3IF5{p%N+WoaCg?MsI;I~xJPR8U= zvX!179XBbGcqK$YmQCKC4TRI37kODQ`V+< z4;GS88@+L7%IHu)1*^)N(#@`MJr|Kk`?(o)S%`YWJ9@&=u~D8W8}9x-(C@ahu;^U%&^a`4?jM6relxMJYE=wZk$ z6*x5*@WUZzDWV%#7GS_Whrh8D!#VNWnoV%ejsyfqW8y1*5x-9_`Pp8O9A1RUUvQ|E z3Ij&X;#MtFwfnk1*mps<*R3%m*C3f^I=~-Qwa-2I4nZE^X%(X zILvu!Ib?$R{V%M(CM56PH|*8WXgTZHy&z5EUYfXH_hv~1Wn2BP2&2N~eOW@y^Q)d; zj(<)T!oXN=mCD*x=s+Xut4A`eHGIHA(MK25s|WUcYPN;Jcexx72!Hr$f< z+shGJ%-627Ll0P?f?VgKm5JugqCfZR&hF54@25C(*85)C_j6 zn^e=6w`m=sXE(g~ep_E}0~=ZOz+;hlZuQF%f3CSMF32NB#!EL^TLT;xuBo5j)JVfR zx>{T@`P9rsEa5-$NPu7a&`xHK#_!?eVgfAFQw`6=C_(IEJ2nl6{;nU zJ|K0Oh*W=sFC#QsJ7}Pp%nHG6PF9IvT5!UV>Lmf7K zqF~^1L@u8r_vp=_dfquuRGuR07EbciY&9)}{QRCJC^%njrq&+0uS_1;oY9nB+V|H@ zvG*(WrzCFzucm{w`42t>+~3S~2$C7TMR>OY>g=1NB)6(2H@md)XoOC@VPp^2`}FDc z72`>7Hpdo}@+a}f_CH_bdF`hJjmF-Yl=N3qQ7?_T7n4=-Yymj_fz?<=iy`)!b47&M zx6+K9sj>WAWKea`dfr(OA^BpRaE3}FTOmEFsfx(e#L(l*-AonNBUxJ&87XlB6!A%$!>O14XmP;QOS)Xh*{eIadHHBozO;y~0KON%Ro~-HS zu4z=)DF?(Mh%7GoZ+ODo8l#z)lREg8`s`>EQr$jREery9yZRQs!-iM*PG~LTzwmH{ z=-?N^I-bJZcyC{;MuA)suS2D3_WBV&6j3%pxx>#U%XVTev*~_E&-PK9x1#g zof*2Tv#ijY_1+1qxBP0+;Iu>DS0QRi$U$t)ua_g?jQ+G<`0@TWA+xiQ*ma>sbX<~I z+m0dvgy0D><9kx5%v$Jm;4i92CKMMM_(PF6d8VGY{T%YjyQEea>{2mHEJ5lHEzdqL z=tMI&R{Al%j))c|#i)WJE_bC_+NpZ}r0lWyEx%#7m@>rrS9b|JT&nuA)UrC!?zVIV zrDWbzlCXZ4Oi`hB=+&KZl-C%e#-uO47Je_()mEFS+@}7>^r2Gll7CY2uAVRZ6`-v~ z>b_nrFuw7_420?o|0Zwf^~>6KY7_U<7o*ZP%bW~7G7M6kb8P<>8}zRuzF{}`d1vqG zIkj=VkSMzPLh3Ddhw&elLtcjG9MGhgGxIv{{;?$1RxRWV8=eCu*mSD#RPlvj_Y^C_ zNJ!JSr~6t^UMGKcoA6~UXYdoa!Mb8D(v_?}#dQ`H=crWhC8X3Nzu%Xp5P*DdXLuN= zntS02aO?{bcZkjIr?NLk*TCZN?c+bK=3YVtaF274rQ~3bkW5^Hp7bQ_FE6`-Cw}gB zD|!11YcQU}V5uM{@WL6U9a7yNHm^#PiO-6zBy4>M$>s3qeDZB@OWJ5p4%K2w!Em3c z;nYwqDstkj;@g(=ul8Q!M0Tk}x(B^8p#V%}-Cy+fR(-abR8Y7)x+7c@@?&@=g6Ct2 z>4vD}(Q>ERbYz{(OM5`gI82ARCO(VsV~J|c%Q3ce+W}CMj+xKGPr$=1JAE&(HC3ii z8L(%MY}J^?L+58nFLKi8ASRyD%1l5*^R(Ef^x^6$&qUvQrs_y%v-VG{lhCOsTYZ4C z&Y2T#+$QNMcaK7y!U3IKpL5$Io#96rpobe23c)~&zylxVx?A)WBho3YB}c5(6EhOd z{+d`l>{PaDS0Yo4c5P726>%(GVQ5^vvd5N3NE4D;^E&rBr?SlAL2EOg^X`tu$~sm! zNUeBx-nEUYkbi3!Yq$3T@@@2XzJ9XZt|3H3akjEJ3f`PZ;DE{b+ih-5J2xw=gG^QY)c7 zKf>&r{ULhv6~_XLBCFF4 zlRAwpiy}KCK}mUzqYGO?j)?eMcKsow3TzpVJ&dcl!dD{M;-frCw18fSt6lF3_a^r& zH|YV+?U{QT!DJ3(vaVwZrJV_ibdPC>VQ%83m^93`QvWzxATb;95&Hz&j9lDf|;DW3D)xSyQ8o|qR`HA;4QixAp`M*mA};k#tt**;a|Zi zoue|^26K)=ZiTUu<_&lo9I?si#lB+B*%k-BeB>?vi|sUoaKM@7m2Fx}U9(?7_IE%U zv5&43yu&=ukH}F$GOM{C8@=ky8y$tJ(Uv&Xs_}S7!uFgKGoT#Jd{V+sfshR$YE}h? zBNr@!q9BgA4l6NFCn3c+7dw{~w!V}J@34fNFiE8A5T$?M@WE{rUKm8KH)~l4dlgw_|cM$lOInEq`5xP9OitL8n z>K6l3UEtvTWOF-S<(EKwMaLI{!=1toL7@g0sC%byR}dr^#}woQ@4|HUDR~ybHr#t@ z`)AQ5dIJS4VF|uPQvf#Qy+;7j4S^JmcV~`ww3!mBTc2c(9odYvnFMKm-MtKX2B?>Y zhH#Que5@sGCd`xs`JP9o!&yVp#2POp%%`)!!Pl{ETa%rO#RLfKPm*8iKUKhyZCC(X6CfQ zoXZ!kYU1m@IWIv+aHPWnXWG|9YrQ!?!Nfdu&PxGpYK3{7T%JUmz6CQOP;@MBPG900 z_Z;`h6*=?+EAxDYy7RhoxofBMEc`9*uAU$7q$k*O4eqSyxx9w{p49^=>-Ajjr>*0= z@f32|*5#u2*~Ek5Y~A{tL`Z^_;2+-*J+XUx4FHF+qR|&l52GBid5rZ?H*kU@qb)vC zPPf>c><44%LaUub6&E~;V_~ttzDh+hm^Km_#|>Tnatd)A9Q66#a<~Q;->=*j&;(xz zDg?&m)#+-@U)(TjaKiMU)ACwOWUFmF&zTu*t4KjRJ2pw*3U9lIAL{?s!fCYuEaF@N zy&yUAO>+JXXO@`(MDUP@kZ8H8a;h+flwDFQ@WQWQ*49P}i+&4E;cGESA>Gkuv+{OD z^cR;3&3*`)7Y=N*_UWJemMJgfAm|;^bW_1AVHl&tl zel4M1u}e^IoK_A^wHcr;p-$mT4x*41Ahv%B=J@6}HXE!1AM)&$0o*3cONO>a9-EU@RV@b%_vgF#(mLvM< z%`FI~)Pf>f<6{Eqh7!L%40im~=&TrY_0~Yg%g9{9(XGX2u%&ERzSJxzV<)KP2{ZN` zCG?JACMNBHes&FMzpWO=j*DvPQVhOmh6b68AXN)14;!+kY-aihRWp*aCh=#N zFYb;C%w61+z5EJehQpS?xnhXoxQZ;X?#K=Y0T%fihn0s30JRcer4W~gW+5)Y7a5Yp zw_Pw{&La!`7|bGb7{~=p0mgq#o3Zz|nu6=r5g%LwaM_U*Zx@~`*uZ`h)u!vJzXeIl z9ps-j6~OH$L0seo9URlL2pn70F?wqkR7o}rzCA;`E1-k(4ge^(3xCS$;B~lzR_yNB z((gz-KH4JdMdg*!+nvzV1=q_`K3$kPdQng{nEE93*oIWEr&gem8oFwyTBFBo)G2Pi z_m%W*cKAV{yx!ak!TSZlN}XKMerxcK%No{xcacBed!y!h2R%5M)^l~gr#TMdM-M@o z8H=VR#H61Nom+Nn1jXrOsr#SQw8+C-5pG5yoZ(V^7Ikjrqdc~3WaOk006M*q^h8K% zS1QELDosV|z0+^z&%AvewH1Z7Ds z*nBET>L$v8puc^^8M~&@)kk)f%MKS|Ca1iVm5De9&w4ANoXy;m$h`8uy+*AX{1VY= zR%nJjtH7PDOQ^oE(;VzqSv6up7C~u0o_yr5F@C01M~uFI_NzdA|EZ$r>$B!v&Ej4` z`=NWbyd3?rU4m|gQ3)YJbxwl0d|abSI3?Ss+UC318{Q7jmHz3_IJ>Z6iaBfq|FVDM z9FsMC;QBbes#?f=3lC9K9?N;4>Ht~gu&Ja#6J}I|Qfmz#4}@N)Zb){yqYb6vUfmBR zNgE1+skJ+g2Wl9@67o5Q?6h9o@bLbs5`FFXwc-8L{@t_=oEs#elj9H3oEpNQox0xO z9snjf+S2aNWtDPv#h!+y+FE>#T=Kcu_RvSvmX+jx!In>mJ(VrjaI~dhl&kV~zV5tp z(S4ej%Dad2iQ9YJ?Asjr!ZCM5?8Gmq?6Yuy=TB-R>ifC-X3x!z@T;=g7kj;9k?x0r z58GGI?3|X&b{)qGM~=Nc9OE?TF?|6wyqN7XWmn7r9jq)?L!EW)^-(!mjapXQIM6Um z^0EysP#>LXyoHz$Y6M&5%itcLH$Ovqo-;{r5Rfn*Y22O{1oWMPWAqV}z72eI41~N> zlvo2=5qw&wEiFYB8k6uI)p%cp(Mr3HXXtdf;Y42d8WO9#uBcFE z?qsRRO-bx+98+?KoIS+3c~e;fzhIAss#_Az)d}v7aP`xx;Ci;j?;+}B!mgr{p<)c9 z#}rrJabxHW=SJ1XBhqxr?P3pv?ZqM=74SMWracC#HOjzj>O^T0`)}4 zH(;G<<2vY1RGr3to>X!c&sP6+V%foi1@Y5#8P2opJ*hWQ_7@Qxpm~yL09B_cHnfVcKn%0^yKcgeprt6N32=;&oo@ zby3S8pu@fUIYqlyn$|hgxn068g?%BWgYVX*dlI7nl7!t^o951h@AJM{Wx=t>4<*bB z>ytG{U^G%r4N%Pt>0x)1I)HYjruf`lIV!4qe$Qj&J zllSLWA^LUssJ@ui$nUGYN|qV#Az@S%yxnfev|8C21Z`<)@hrPfm(xO+JC`Fu^zSsTQZf!EAJM}_Lle)r zPu3yA$6H2r_)7q)y+ac$){qT(OSU@L)7QXhePRGH#f0AS+l~~xX>C--C>_6P?N^rodDWo=A`-~H!cNiHdn_Tcbi{!?8R&@1VDm4 zlg__{B#q7mK&SzG$Z&oEy}u=A{~ZqHPr92-Xh|F~;M&Q} zBQP*>if`rzum{9n7@!lFK5k|E0H0_BD>$ArA{y$=(F?lCT%iQv+YM?0vIaplCla;= z^QJCgF_92`&v=v@^{YHKvQF}5=WV$InG1nI@8$u&!E;-6QY`<{bJ$F4NAv}Mtp-H+ zgeqzZ`Y1yx+dV#PmpP4YQ43m5qO10`aMBT0j@M5ZJc2*bnOc(R8WrX`6a2cXwNen1 zz`Xh%2Rg98y&ivVfBxd@uMrxvELkmN0v}^tUp#Y`$2+KhxJ$tF6AfxCg)f^+ZJSReEr$C~~^MBMTm<5PC1T0EO#kT(Ud)$3C9b@yafU2K#)HcK3Pl2=$ex32jQs zve<;EGp9)jZQPoFGTRiBpb%XJ4XF6Qx!1&krz_}6wEaZviwV$~%y#U1C@FUU*rbvK z@m%Yc34e~qeX8qnRh9OOsr}4Gc0)o}0Y+K$xsGGl0a$%rN$q9I-p-KhrY^o53!X`? zTCj3Sj!}-H=C+agah&d{?WV9~k2xrysvc>T1c= zB(+tthJ-^^@9!#Oi+F=vzFHfeI{aD%m7`7!R{R*?wkIzV?Dmr1Nwc_Z-1_iB$Z$h` zu6;X8FTTYDQ1Fk38b4bnYnqU9o$6gBYI~)&l5YN`LMRawp0+NngClxeYl*h0>iO?- zO0^wl;?IX9kl7X$elcVlzFNJ>CC)PH%c-eI_V$Lf&#ETYq;(3v4tlZqMghjc<)ZlM z(KA&lS}*d&W<@)V+EJq@mzhtefBO+ejSs1btkWxnwoVmZ0G8kn%4jD^eM))j*~j*nl~q^ zS-fr?Dr#F+ex$jzIm393aC-iZvVLP?=2!C3W}tZg0!@V#6YBTbcce3448Cm zY&RG*h_tjQ-Q5%E93c%GF*-(W3>bTMKj%5;_xof2umgu(dw<^7`+8lkARf$gU7nsR zx~#*bnPk~?`gLNQC5R3HyPwX7m&MTN>Q7hyBT|gZbT?tcAobV>koZ}$`jnB`;g8ST z5Mgn6@tHw)S)Z36XMzVS)=Bai`QWbiBs#{He&TBQM?c*p;OU796voPWu5_l|Y^HXM z)4Cn_rQ6k9tv7+9-aNwm#NwgW0%PYD1+o~IxuryIz51H`NQc-R(3Y8o8=}kp{+XoR zRG)cPwfUhWLCsL?Wd}KBre(9e&+fw)JKq$0e`rs7u=K=h+7^Y@O}Ty$p@I>gnwF27 z??=ZjpGCAjZ&SIPgdJ2|JYDUznI3tTTa?GEi(>RA)#veT_KM$j?H%Yh^F6;7zQx== ziaj!Bf|WZ2E;;*V-1R28euZc}z{hQc!HgwTswjhW6s>8!v9~j}CJWqPF!Gz^^U49o zI9ORm)&50iFDCXJ?n(Y>ZwS+|<_1r_#?GX_`@#`* z2hSNiTr->fgL%IfO9NAFeOmb~X&xQg=B2DZnnzC>XVy~kUf_-v<&fHzQw96-qIO1s&CsiUH6XbqK)xH?Mvxq<5iEVdy zFT8T==vv(?7sZ7M{P6QXfKOi@+2^Bx2|35^x*rH*VMN(da}lE&7w+uuUhXmP_Ojmi z7dWV=n7muA&u`N$-xCQ2D1OtT&EK7bFqvj|)yFUUeB!KAT?9=`w%KuPyi{BrU~X5; z^d!?e$?(d!bfia|-z^w3mmuCSp$$NPBm3u32|FXJ2JK%MGjQ3fg z`_WYl?&zid)Y=xGsvCl1;S`UFaPhSym&WyI5sXA^1^4a93~rr^vSFHkE+sa+L-apK zY+4*<#M;7;)vI`RVc1D^#^Q<$XCZH^#=PR$17aZ>KP7xl6*zjHtJwpVy%nr@W@nB( zML;-894|1CQY@amFz9>xlJUX*z|Wr%uO%g9S(TMWz~T)F3*QDXg6_uO$hzD8SB3t} zLcXEf(AF_Q`$GO>dCYAS3^nwk5(B?Lxi22xVf=vC*Wsy<=5fvXLhx! z+4R&wQPt}G3*}RcNA7Tvz@OyP+Vjl3jcusDOqh=sZ8OmRG4oc`K#;G`yO)3ok%DmG z+$0tN4L6AJqyr!G5US}4hh|;4*d$(u2Y{(5+#kxGz#jR+Wx@akhuyGFtPYbQ4g<@5ZN6fR z>xM-XTUZ)Y59Y>*l6^k(8)y|n>6dz0oY zSovqt;v3Z&4ebGF13?`^;raX`qiSrfX>QJDYxvoRFB@x*_Cc9vyWC5wLsvsrtpr_W zbWi2b_XyfgnV-K4y9ZqSL^G$SEUsIxigM!B<@!T8aj$rrr6$aLa`3Q(Xl_Q(%^MzU z&ebbIV=BGJx$X$@4*M-qCC@$#QS+`{xr(u$5&^M16;9mWT4mmH-d!66vXHS}Dmw706pQzjzHDfb=mb?(QCkL8nKJOAT-?Jq@j&Dt5or?OBpF~w3UHnoxHlg96621IajRE;6B<*Uz zGMB@b0VxHeRW5IabA~Gi=W(kq{=SJS(9h+68e=S1Z(Lm{X=Kdom(}b1eCMb7WDY=& z`DRML@19j;A@V@Ly-7~GdpHn0gP?5H#Dj#>b&Oc!IGJWu12AMLdWBd--Tiwa_IND9#N+j6oxpO zbSDsF*)VivvQ16>5_~vFT zs@QK##%^CxESWvJY5Td|VO?cT%-KIbi{1M#ESv-3SyF!|G>rVBmmPB)d7Z1vTx2nG zUx2Vb^eU7+%}UB%E^^}?LlDE1ysS}8cHX;tD&v)AOoNfc%8Qc$W7`%|DsQsJ8A(#;D`;XMTraT&#hPZey zr}C?o`xnN&?}S{rX{_@bwKdtlCRh{x{7V9geIvexF(0=6i4x;{s7zYdHm&$}^r#QCy|E^D0m>hR0(*q}$&+HmD&wk3?2dij%%us6 zrTFR03GIIVC4x<+n9VjI{0NRb_v{&|Srl5>FImbns#+3S!1Jgf^ylJgOld;zgnR~C zLL-VJDlORFqMjmOAJI6De&zYQwag|!{@`k$7uv3y%mR^g7xM@<*iS#Y1IPCG89>6f zGX^z~U=&QFb}2ZDmW=%u)-#b^=?pfk-8rbETNms^p%V2u@voARdxt zdun_28ufalouFn#x2y~Z`g+D3_-~tq7?YazwEa!FExB1ag0B@~oYF@k8I~ub)Q2>= zN_WGrZMrMX*mYmOI^AAzQRMS{aFDv@a!k}cxOB`4_4zmaYox; z2^17A^`)_x_d({e(WNnmcncLfl^GY|uOn;c#L#QH(e4t>#+S9PU3LQEK!*^Q-8s#4 z_b(BJv*r`!43{QlrbMRO2=kVd1Nc-hEqvp|r2{!oZ?1)cMb=WGnNLYQnxEOX z-jPl2G``-bDBt5(<9A4%)UVd^DiWNV1%?dUqe&x} z)Nxa*c;$9p->>plz0L#Lu|K9*e_?p`^y41RJ-r<}jl-lUsH<8>>}2P?J@*f?ECI=UzV|bL98#K&6y3qbNf56W z@H2}=p7|~9+xSS6vj0*4zalxc&Dw1R6Bs!!HMGqjX=I=O;c%9@Cz3I-z83#X(4J^C zP8qNko_f_-TF zEAudt1h>>c?UqY)jt8J$7a=6~5xmUMlI||G{*qGa-0c2N8h~3xzcks5XVO0ZLS|~Cl z%YJC0qeU>s9qfP1$jWT^2`i+q{^oFeXl$ck8hsDAJ zn1oyQo)5t$uh4vJz^46sA(gqjU3o~X`R1dBQo<>Lsh<+0JxtoFT=S{7^6_d;8#=cy z*i1bkoAEny79Phw@Og=vNi3cIY}Keb{M$kWLb?uE*aYMS7X}CP69CeP!VM0$rQ)0b zSyXw54AGX1i%@!Z-bwg@UV2XFfY2G0{~%9VI6ZoCA%AWXz<6Fg4g4S$pCfn89z8(! zQZa(}2lI+c$>L@p-D}sOH@&eqMd)n}`UCUVCU!fgVy* z;(Xr->-H0RHnsW77ZG_L4eG)pi(1Gs;OSb^z$mmaD!nx3l6BKndiv|k7%2{LUSYHu zKyEl|=kD*m)U!)TM0+$qYY8LYKq-toQW7fiAMPyZDux<&BmWJe$u5-tt_yd9WRD+m*=cu#!m4JvBMvtl7l;*_b6D!rDrehe&nFTF&4G-DA zZ`_e=d$4^7`Th%2?<#f-*66uNcx64p7#E=0!7NDN9eREI_Gv#aNNIjf&aire#~>^A zGbppYhX3li2Wx+Is~oGlGu_ygTtgZ;SLbQ>S zX-%ex=STn0x58p242}1yLGIm;9QWQtKVloK*%N)dC#u%%soQZw|Lxpdv(X-};qz&W zZx#-FkEC&Sj;|?!7b zcXq6c7g&<^g*pXrhR}ti1p-SeH~b?>rZv24)&x9yF=f~RY@}V7KduykaWr>`9Z*@A z2ibaDJh48uwzh`->qn>rwZg>7hUaUA@uBtoph%)8UURGGw0F8=`~^d^*Vv9nh6k!( z&Y4!dl)#d|OzXaUQ0ksh>*3aFIOhCfK;U^uJxmScG ztfRS<#=m9Nx$@((KKje8sbV;I3T&aRL3|z?F)?9BB1a2q*DF^sT632i>vOaV-x_}{ z@M(GzH#aJl)PIHfV~=#75qF*FP>@?@Sq{K;!1*5Q^KTFD`2l4QmOOs)xk~0deXCZM zJGJ;tmCg1wiF+(Q51oOu3zabP5(MtMv%iwMPjzzjd4J`l>S^baw6^K>KdE;m{KQk|1uA!9&h;vDiVs z5$LkwE^Bm^nq#*;DTRcI5}$S?b|;0sMX~PK2`{|!Qqz4BaJXHCObj!0FNe<0TKDj( zSI4jJcI4r7dsUBReK#YrW;3wAU-E}|v#kqB0=w?kk1R`YO!l)PwR8FN7uWlp(+d11 zC5&mD2jx_7+iu&h3z>Z9Pb6DrTatwLCjS&BqXm3G`nmF<$lD#k+TN-8*#%Cp)JA`< zfS|rLk|KpgYoR5&ulcv4E&Ep2+@?v#@1xe2u21+=4w#p=V$clF&B1k*#ZZn4x|p!> zU&l2api4ijH`hF*{z?G9dC=*6`aF&GdH1s%_2=p9i7aj@$oo>zFKH{2Tl*y{`g?HN9vIfXI1ju?fu9%tkic~~d+dOEbRG-{B_-%iV+7@bFGCkH<LtfJ)?t>k&e<$M31x27y#O>UyimZ{PsR%C(Q^MP0m1Bjc*AI^3 z)yWUXmm`p}R90&l1~Cp`f7*O4vs$Z-q!e+!er{^tS^C3njriTljyk4&;Fz0ua*CV; zu>DmRpJ-98okOqUmJ3WbmV^qM+0Hlmn0vG5Y1-P%4Ng8bzmZi?Fzko z$%lr!PO`W0fTK!DqURQ)@$BRHqlz?q4@_XDFHXCrUF-mTu9^*;RlIkqICUaH$Ug)# zFL*K;u^IiBh)BDc==!AfVKlxU`+nx?RnE)Pvo$4}DV*h)!!4sk*;mw#F6X*`UEHi# zo)Pa&@Xxp_e(ey=5&Mhs0JrRG<=AA<a^DXvag7Q1EEBh2_f(DN6*d8-vZYetBrEGbW;a+Pp>&DG1iq+ z8IBJfhjku-vW>V0^2hb{>qO6XJprsQZhv1Y2R=_T{A*w<)!f~K*=PDEvv8Bx9A-Q*0z8Q zkRRk^*`+Ry5gCaup3fF6WP9H{x6k+U#=dP8_UFU?%+C5-?E~hhw>v{wwSvdoJ4|Z{ zmfP9-7fTZ{{yF@SOeZx~ZFACd83a0&)=d`rq3hwPiYAgjV0v^{Y&Cdq7wk2%=+*pW z11|k&QrxYGsIjRpj@H30%)K0a@W_4P-?i;qn~Nv)9vG=4?0uk2!TFl^N5b^T26nF1z$??l$i=f^pF6N($JQzK{dz)BG{bv0? zf#ye%o#GvlDMeU#uu^kJy8KWx!F23^qa*Sc{2obtXq0+!#2L7bK9uEmeagRs<8wUVPKLN$Wtc}RsgK_^Xod2>CKR5}3phj;P&jGu)nlw}ITSex zZaNM)j`*-Sc4WA)6aK<8vMNKEZ;fmW@jfbtWd3 zD|@6dpmP$6&_*jGS13a%@{V|s`x*R4z+;S_00Is#78EE^9%wFHQwBu0S>Fqw>>9QJ zIfFK2?p`33_o-K&yR0kYsQ&sY9jpc9FfD;AIsXoZAKoTBxCkc)jPS&*<%eb$L*rlG zp<6)3U!J3fNSqowoIwX`aD+b~MkCm97r8)l+{VIU>;znQIkFkk)qkG0Ht&OaF+l9% zpJtyyE>sLQI%R!qOhR{qFf(dx6~DmCIaUBFtn0{v6`^5zWO{JsP>8@N64DbCC^AMt z4iY9| zIg!=^o}vEc)oE=OfatBneI;)(_2jls9+4q7|9;*%kH>|G;<*=kItBcR+ATdhwh@#V z;5polOEEb>89X|Fk{@#UJe_Om-Dnb|HRMYMzqCzrk32MEWajwlZI0naa8OMpkgff) zEkylTC-9G$@BZHYMqquqRDpR}vTU^=m{?!??N~^;m0(K^QFKWi;0W97upvWO22aO*byx zXKRX^Hn#(cp!?)7_1n`2QZb9Vji-Kf#a1#ji*H?k>#;}qzq0~bOe#Y1J-17i_*`ZB zM8{i(``)_EjFTey zXb*DPc;j*+&aSVxh+=0-^T6DZeY!Vt1!&h&dTbH=)bDW-J zFW?1!bsfAc^9iQOC6y6oxN1eHOD`=DZQHjjfaBSYV}O|aHB|~0f4z|q zYWcdsBXsVy8<(KN&$~Qf^IOU-5WgR~j&psk`=4@qTB9=BGiL8Tk>y){cPt3iAD@?C zDP>%%^KN6xdME!x{6H5jxpea^riaB_o-}^lpbqLwLuJaJWqyv ztL5DzC~fy{>vET|tS2YwZiM6*1RrVMev@=7yY#NDe5>Jy*Sq(KV zPIr7a2j#U!wQ&A5?1_XN;Q-}5hIK)A089_%QKlj2Tmm&F1RU-!TN};1)5R!B9RF%N zL%NZ1Y-Jzm+N=j#z(N0i2;Xv>gNuh#2YtQ7hpi(MfjWMCMBNs$-cf!Vsq(qwwK?q$ zsLiGqeMf%Nl1N`KZ)aSr8?`7g*vXYAc+v2Gr>U{#Dt=-jhG{F)u>!LLiu z*t_R>n_AybJtO(&NS<_@n#h5`v&Y{#6Vh_`3)Jur|5c{M((rIeX=@ZXbQb zLh3tL+KCEGA~{}h%@hPVA*tqb_66`rtjVC`CW(A+?txNvkGqXBz-ELV0X>3P$-xe<@L{ve`4#i&I)I^oEtJ^|`|yU8HPPoB z!E<1rrjf0olnNk>PF@F4NNHhm3Q^4sKH?c9B?7_;O`e)xkYwi-nNNZpsc;973(C4N z*t6x{B$>3+95o|QYM}|n z)if0CI+xYIuc40uYhE2(>@Kr~oY7o9da^HnH@}T)u3s=^x72a+pcjeI67kt3H4_I>5ljD`EMq7u@i z0&7ovwZV03e~PQB@R;uWN}RkUwowU%_gg?yru;Raj27tfMTg;>1_*W3w zv242KfPdw1z1hCxqxDID;_(#vQr2R7EO+iQF{5q2sW|wju7)h9M&z}V_%PeojMDHG zgA0{yTH2kQXeIr36pw-vBdtfoEl@r${>NB}uw3;0VZ z87a5|VgLdhlQg2aMpB?4ph{+*ui5hU{}$}2E(|1ddM=-hlb!Ig?JsV9CzIfFZsdfm zjk9iTj-AbZ?^mBZ_dDA5UcA#O;Pu~`Zpnvk5!|TZ)S~aln82T-6HqY={ab%J$--QO zg%S$Z6kwACWYX>pNV@yvRLB!iddP!?9%cEgOBCj$3t?L}H-ve1{Ie-3;APGyOUczj z$45cm8{UP^N#+6Z0v%Ubfz9(3-Oo}i+bUC5glx2~Ibb^Q^kXNhb8BfkCy2E3d!p%} zx!b^cQxcSViPx>g$oZv`*Zn&YmGQ&lUJL z*Frf{e6D^5XV-*0LcTOY-U_zaxsc~{geM&sR>!N^o`oQo-@ydO!fQe(z{kPHnBC9> z>2>qNZ+FR=3-|waoTLVz*En#pd$sj2yD_6IozzqCkSyKF0QNY@eAmS>&a6G(&!--0 zCm!X&pcKOAH{5AG2$l^d`962XZ^$*_g%)1o6UuVl{4;celZFEDu>LCJz!9p7f4eMN zqnqQpbmQ6Iu>S;L3x#eM_pzX!%ZfjA6l-DbIiK2-k(#o=Tq#G@t4r_p%4|B!_2Zpl z06uxc$M1v?hIN2eWcM6DOF&p>zq2k|YKBqsd?21CT{QQxvpDT;a!QiKxO>@YJuYLe zxPlZPk}NU0vPK*m5jPL4L46L-CJNN%ahADwri%-L%}{X=Z`nj8r85PU2nw}FtqU~{ zYKHYvS34-xhE{7M9=_qLnidHMe?^QVIk2#cK;rNNYOA?nDrzO5(?od$W4CBHETIuL zeI0Ni9mwPTW86CDp~%!(*a}8f*!ss(M)t$Ad_^`P5B9Cysse9f|85G-$;Z#LfUK!_ zf$?~U{!Z>cAMQ4E#t$sic$CIwy!E-PBjczwT-FPo4`Uo;kg1+*ejafn{TYX76CIi4 zfLc^05mGr`??ZG#Q?^zg^n%RyUZWy6<1ic?S=Ti<^Dh0GeTP=zCC|{yro0oAf_eYP zU}OM9WJwu1XuB)2KMvOPL;fzaP01;BLgvP1e&}O@e8uOY0b|0e84jQmIefvKjBD`$ zSpKo5ceIRBtMIPof$$`%b7JjAxZ6zU6>S}u>R7%X#{P4JYN1kP3fgqMLLMc0BQc7v zhsD;3yd<7;&Q82|Gu@w8*AzVVgVv-uzoZEXF7Zu-u8QhC+Al%oKDBr$Hob2| zvbk^Auf9ha-SsyQN^1(e6L*VvKai$O(+BH)Ji z{41(0M^+!`_5E)Gd)`+JOukc8ySFA0r=Sn&EqPyNmdU~r@Iy)V>NH_XzxQVKnuLCb z*N&D)5h+B*GV9?s(hw_qtVgfJ8bqL3r8y14Veo9#n>W>?+)o51QqPmlnR=MHr*D7t z&sI?^M8EWkyy&nDH*#5KRbO~^IGp!g&S{rn>B0Fg`o2oA=-CR=eBrL*Cv&l zlPT~2d?YwquM?oD{XUWT0o7)kV5?g~8<7|aCB(Keju-e1)ISwHB$;`MN zS4x1D?k5mWqmv6%#l`gJ?8?4cEB2^-=d>Ew%5KtpqNCvuu#A5 zzu%&g(yEHq>#!EV-`toQ43@th#_=~O9g%#xr}47~C$cB6#!NyqJ?I9mUX59W7?9_# z%M{5ajgI(z)bBm3YeAT$64HRJ(H`Y@2G0>Kk4=FGHF}vMS2!$10%`ol*@_=Jd8bM@ z3QeO*EIyXfIDx$N)To-f%^m~m?991&_`liny*R<`M%A|rlJAqfH`WJF1l1R76#4A& z`hD5$@W|pqd6U+W#Tr^|YJe~Y;c1nX)_9A}Knj0ha`7EA2|-KZJ0XN>dU-Ukr-bi) z{ZCOvC&kFRFr!}nT08Te7F(yJegI(ysl~P=(2$*+Rq$gF1>;hMv0>a#X@ucIAO4Lg9&M|%m9bb4&r z8OraQRvDRemKgF1zt(#K%-gMUGoeBh7afkwO1cz;iI(anj|=jR_n19MylNTKI;flf zYjRP1WrS)gq(-oZTgV1vUBD{IoNHU28ElU&Kbc!5Q-bKr#^ZLOXME&22u}r*aqW^$ z>j9^nm+}BRJo%PHxIJm^Oy>?-(+Gj@72l8qsqkt~7YhaE_=Vb2r!$t*6I$$h>8wKb zS00073snte$DKrqqP)3lX-%8~MR%gi^0hGoky?IpoPO7wba%{Bg)B_Tf2pX=FYiu& zf280vT*xX&XpZJer@u@yIj!lheOKw8*hxqvQfG96jU3)4XB#g99JM|xe$!JxUvR9G z)Z=$lY@u8d4NRStM5ulyhoY4|H9eaC?^`jMnV30(_@2yd6bEFtoe)M-cWu3}D-_4! zqhsOoC;y-^O6GAvc{`H2)bmWyeApLnjowbL~xe38!s!3J2b!x&zEA=dwT;I{Y17g5Y^Ggvyi^$?n zHQwqumc}JRj|{T}KBH4ZT1}xwWy5eaS+myap( zEb>BNQX_}T?wVHLFk$8ORvvA$2~zBdD2-h!Q*L!0TNjyS1j(3|QImi5EJtqToRXEi z&RK=S8P!r`rPpKoM%37aHd%~y=3etIO6D!lP}B-t?CMb%CgTKDE^K_8I<98^7P~q# zpk&C$Z`+$~X{98@3%4R1Ji0S}4n`e(NJa!>9a07*%Jd!r>@GMl#x#)Svh; zF(n9GFl|o&x2MnJgZBrbJTlQ9AH(WP=^v&Bl_EU3+_5Nd^qIH3T!*})c^|~w#d9;) zRjoXXv65b`)SkCsOz$nW>W&!|y4Y+)Xu)ht5;t68>*Q-CD{RPQT|IC189wJPlv8Xr z`8_NNyp8-$Ml-mG9kUv2xCgbBr5^AjsyDgEug+-Su>IyIV1@hsVJT7=!{xrYC2P2n zdNhD3u}Ca+_o&b(H-+j9Jm+U=@9>B#wXyfaGEtMVU#8Xb$=5~wJacihlEU`9Ewhpm z>3&T@sONU-9l@H|0Q8+^F3cAdDMc8m3!b^FYfjFg&CX8if*{qcs`Ix5 zFjIjQ`Q8;g>8Y(nYP`Mz0sTs!J?`Xiq7|&O?c#?Tr25+=pk&wHbiqE|U01!vhUp;h z>_UZm7s^`(WIK_l28=|yf+Zj^vr}s)oqc~`CYH~y_z6wa^z@*$lyCy(hjhKR`$d?f zA7#)9Mev2CFlKtxcI$i7s|}jHsn2dLw^N1ewR7B=2mM&d#KuFE8M#E2>~cGyDyzb@YR3#}cHpO(>${+r>GRfGU~ z{#vx<#?ls8DuG)3s_C`#-(gf|%#qH8tbgJMaWW9R%!S6(AxpLaEKG5Zb840UC}}?1 z0V3DGC8@}Wm8i6+7pj#sbLK6(Q}9i`+pkJ*B~joTjW6XHgW;nqSffc$$RdkF{ zuusg;sZ~StG_<5m^^|o6=rwn!T+@csghZ19s#9j`XQwx6^}mku3qg%-_%xi`OQZZs zPxE+O!ZSJcjL(zL8IowcnFxH^R}XuN3SX?^iDG<~lR^oN9VS0C^-cOChvm%Er7MI4 z+zelnWYg;YVyn1{y?AiOm~!6(CCO+@7*#qzb&VJ$akJy>6#=CRj>o6VEC9s*83FQ{f-%AUtd zbtu(>AyG@l9XUg_%(y35;hB#4DmpX<5q<$@`Z=qR0T#I+uFu(D!5*XzBvhN9^GSM< zZy;#6xDOsT(=kADU$B!uiHm8SnQ6^-=gNoU2hg~&UW$*B*34Wy9~;6c)gMj4UoO4f zk-JSXK(Tczf@3zLa=KB;2=reke8bE4y?y3{*y`gYiNRbsO+r&CbnfG9nzWR}&DVYY3Tpp%Omrd-#l!17)e`Rcybs zxsbuSlOgKdvi4G?_k<&o#zV}gBjWlsjuW9UCy<<`vqetvF+j1V^^z1Ia8BY~#d>>0 zs-W!yUrVGG;(z8x*}TC_MCnio9!uwH+xL(lgJQd0{vPbar7f|2aYVcER&TgFnC{Lr zT=I+RweZ0cbSVdZ@OUQooktPIxK7c8I$in)z1pq@Yxtk?)5eJ<_P?YXuvfiQAN8>e z*qUDB9xGtS(f+>UX*?Bq&t11&>&-m;Uk-!y>+G9-j&lbpMpZBOPDg{LYG(>q^2-usnb?wAO z`laW?kxr;-*MI>tlx`22g=ov6(ShMtFD@4xP?6^s{&377F~H!^85?GreQX9NC&66X zoWgIQac;KvaW_cxH9H!e-IWI?zg*h-ctwV6;F5FENneW1Azav z11}+qwPIJ1B6?`_P)Af*X@dDKPJ|<=l=QGA22d+%(lZYvkMV+vh+z#;Hy$C9N87I# z71efF`@@oE=@$Or$-p07cZ@okt5fn1Lm+ju9V&=|cH6`@^{Tx-$BqL5qjGeOA^vHp zHLp!=sN$Cs0?(%FUgl}K*8qf9$2~2Qv9eC?YmukX*(ORdihXM$;&37&lAHLlAT#794Hesuw!gY zcp7ujbm2cfVe1jlb>OSibKu)ryve@>L?w7?R1@>Fe`$QVHF3`X|Icg=@)}C_6_ndV z;Z=3qIq!3SK^gju^v}G{V_GxCS=`wFZ*n0GY9{W!vp>2#>z(f9rhOQsI<_6Vr5>Wn z9+^MT7bTbCVemEK;eq-*XJ{9JgAXz&QPtS^6?RhZ>QT${H{upf9j3Qxh0$qHzwQ#Z z0ez{By$uZ?ntSa@3lBI+qDrLF`0wgm|NreryS9vmtEpo&)FC18H$QiOO81w&Pqw%) z?{_U{eYj;wMsQsf9m57N-Q6umsH2J%>dChAoJr^k= za$66$hwIqTrS?O;#?)Rs`ZTn+&gj<8y*I#*y|+);!T!CL#|eLo5nVGrx`k&*G!^^v z8AH=!`xB+}p&7Inm8&@&PZPDHyS4jdopdZ%dukUAB3xw?zvr5?TU||g+ve-d48l1) zAERHv0Xe&b!ZbD;OPT-1@}3RaClyRmI>V;8Goj{+4R~yDW#7H_YI{_(7J3@~qg8Lg za~+~#P`CQ+^3!>Kn*0ZTf~aD^9NO9|;|gws+}~;E5vWZjm?la269MZP^_NWh9rZFZ zsVBe9j#P2zEly{MCMx_~@fi}`t>k=}cDy!Edb!{T4Thdz+UgS)`G3O0kd8Y+EOb#p z|B@(nAYVycS8nLX|G|osiEVvE8%**;HSgC*u@B5f1g(a`j~M&QspQ_t>pYyy-|H40 zX?X!Nk`@_2j7pD{#WWJy_BF}k&$?4R5$F(#IO*@7E2FLy?%B|S{=JJaCm@`~>?Y%8 zAU-gHR{F;NuuF~$aC1N+htwLFa}{dCRmFP=^*F!J6-kO9uKm6pFQ@nz;UZ5*;wD9t zY%V3Zu%-BqxtgN=9t@iD8$Z%K`S-|!%JbD-Z;^B(!Ca zeFu;Gi*J7;M51k$E7Outi~Cfa@n$<%#%Si&j!h1hFEsnE?F87BEFUYtjGVg{WS>b8|QURN;(MCQeNjRtY}R})-{7AU1VUbhYRWG(JS0<;DFMv-Rkv$pj{#hHWxjK z+G9`Z+5Ttlcm<`BtO)%RQ9&GuT<*#6&LlZ98DR5veF2QQCM z%#g|bwWhsjV!h}8Zn<^7N~bgEQk;!$OJ%yU(Nn^g4Wg9O%V`+B)L+li=AwaninBT$ z?SB*J4M_MPau(_p?E^?rll`*z@q^X)H##_#o-29{H*~_D1|@5j9X;VNVgMsfucD|q z+&Ld2Kx>YD5W3mb&Gm@oXgoz_Z&z89fZqq;cQEMXf_gpR>|S|Baw@jF#}PHvh{4x@)(LSEK_ua3^s| zM3`rS$IGBV#WeJNMU|M7i8nD#)zIGRc*fKZ_IEyRSNxrMW%Ift?ZBZrRn^{%u#|88 zt5|JgoF%_eVnb4{%4~vj0Mdl}!1HKjIQFa4Pj~a}_s@f#FQxsSG{^(5uZgk-6+NJR zD6gBna{LpvBi!kQ%B!F*i?!%IY2jljJsy3zuUe|Dke$OF@5shxQGEnFI zvVsn4WMix=>RCgjSlWvXb?0uL@HVo|l=lXf%IZqyXl?klq7Ho9bS_1!0|pbW_y&Ub zuT?uTu03(`>zSXd&(Y8NMotGRui59@t@f3pTjaZ@)>tbzk+=b-?JiGA4aaQ=%%u0>pw@yr}aAWId8vBkyVUH$54r@fbk$SczANy@%s@{ z9Gf0TH!*Uj_iJKBa{CnG1^9EfjMU&|ci~lQfIV4bF)|&@4jjCG8qa_Dk|2>?O95ir z*EqXi;S5j%gcjQH0tYUB?g6*f4HeuO=-4`W0+aR)_viNF!;uy+N0VzW@ZI?Sqbexf z5K;5g7@h-!EQw9FyFL>;goKi!9qf~^yv=sKr5M?Zbe?O|jsa58N#K*Jq4k$kmE#Ce zD}3iN>-@f5NYn#9QgMlvYocc4PtgQ?YAO(%SBu zXLEO`&`|`lxW&1PY0FD9_u~;;+mnxG-rR&a$1d~L4u%t6vS|sdyfUbNUEk{raapjj zBDD2%FG)JyIHd2PF@{Teq1LVAQ5R8oiyCN5=|}`^mY1A0+4suyfVWDlH#Kym_b2N% zuP?7W`)qM@q*VF+_CD0*e%nwbyjjFrYC;#XMk1osLoRW|I2bvsu;=;aS;;Q!)nZk1 zhvQieu6F10^;z;dFxLD1vxUVQppxGQcD0**TPg0G)UAQe*HX1s-`ncu#MojCz4*7u zl#G%m&qoo|SXg!%FZcDO5?NgzXGiq2>j;X_mZ8QvD$~fW9DHIeXRo_3$1F)d6+<@I zEYtFk7!V(85$kjif?5~y`?SPKeP*b1M&%#ZW0oc^et(WK9XsTlH89SPz(G6Ewmdcg&N!J^{ zM;7IeI;SO1>B?N|8{h46JtbW%Wu5MR&2mB~AZaTGI5Mj_VqIO@vD&C)&xEBVz)|Zl zu{`~{x8Hvq4+^>a+uwKLWJ&S(Co~ot+zQ%ftvhGlTpFS&I}XIYhd~CbAO>&^ZS*GH z--UnnE{9;6%UbZ3pQJ4I@MVMJw@_LiPki4$>i)UoT<*T%H>dr5$u=ZE;wh>saUJTd zIoEjXs41FJL4A5Htn_5f>7^Zp`eh`vrazIKTdDxyT@XCwm*ot1Bye=`uNPHXBPZnO zn76Pu906ig4uA1;p#aH-+L&$jOi;z<+KrQDg9e&+03fdRLkn)(E?w%Q1UZGIaZ?@6 zxg_f_`iJ#6^MNd+f=yI1PAAMv+Jip3B|y!F{w^>7qntXHen*3`AKIfIlHC*l;J;m} zbkqull_8Y3(&rwxgenu$n|U+LTpx|Vk{`t0Q7;LWx|2ODc|7j?LAv)_Urqc<#+Al4 zh@4d0C)aRmZK^E&m6D+%#AhUX)~(|Uc-2Y{;?1JN31ZI|H#%TywvGY63qU2eqV*;a zul(}cWT^bR&kJ#}qkl#^4ZMGN(fNME=Pyt|+}p6?I|~#6VrTy0&l=y-2hkHnLJRB8 z3ub#!3)_5DMH)6m7Ot*@d5nH%ZH(b^Xt$U1$hUnslNB7N-pf` ziRInm3%geq%aKoy=%_?4bYn2`lE-)~3}D2On0ns!`&wb)r1$7Yrr3(pTCnM;`MQoG zT&iI6BL>^d*QQN+lq0+GTw||v)lQ;<`A~rnG&710yEseF-i8jPp&3pJ(i#cvrIlp5 z>^T2|wKpQ34nz8PUq#V};u7eM0K&vpt=3&l9bGcz zwca2&FAKsiWcrIMFB(VU>lLXNm7IvJMZkI`8moRS8TxWUpYodBBy&YWW!Q?_+S9#v zlxzLet)}N;SCmAT&JW%{Hj^*zEw$yEj%0qiEUg$0BCr3SNx>tl7m(oU;?&lk=WoS; z%x7+$0;XVk|AsML#BWy1s)YgLec1V4Rx8vr}mbZ(SBATGy^jlW5 zc^6&AG$A_f&pG#fpHud{+NksdKNdFV1Jq8K zL9^v+qRT5#Ri+zs9`TQ=z7%o?J^RCcl}rEvYQ%r1gbq1drZCsCOYIG4YkN?83}PdC>CD zvgQJlW+U_hqwThz7?sp3X8$wo&wN6s^hGLhc-F*DU3TGGPR`K1NMeG&SDaCTJF3Sg zul|(36xzHC<S7D_EvK@3c{N$rzG~l@|fjQSsjOj!8=P zL@nWf4~qHdoj%?EzSF+;`a0w3tZv0dQ)%nU#){FN&-&S)4xzIYH=cln9H{UACZioR zBK>Omd(YrJFw!|z49Zgv-VFdzEr5++@aycg@T+!UI@&o=Rr8Lc#`QZ{47Zk(Uz_Y} zo^!HOKX6)w%ZgKB?t%3XXSLPVYRGR;2LrHItcxD-^?H5SYMP!jPi=o<79nZa{XY+Z!R`P`@ATICI2964k4WuKMIU zTqEH=(REQM)#MZA+K~{g2;TCzq`T^E!p7q^;~ztt{?8w!`u=2keo+xYr__SDW9i5E z%d(fMWngl)9AGQWJM3kqE^-_R4t|uIyG8Ih*KLo#I#Cm^zpt*0XQk5|ip@7kvv)7f z90|>u0=nLd9`*Rd=HPSFYA2xV%(Ph>`V05K|2C8CazYG_ryq15`QU=%-Lq}lW1jm; z<_G=w-h0(%kxiK>#qYy&qW)B7RN2{^gx|k}+cOG|vZ)K+Vl^rk6=M5^h7V+Zbxb|z zMk~^!C3?tAob|}A2XX{a>?!luRvD6IVk;ljzrm7Cwh`ufHa+T^vQkS<04XEcE?o~h zfZg;Z$2p?iV#klW`(?F9>6dlWjvQ4*iA9BO@!4Z%n4W-HnK4&z?~%qRI%l0OFe0pa z?xboCdByYYK;~fs0NBTQ%n_1yS+b=NWwz5l&mz-|_&E_Uw^&=(#T+u1y-(AOIpQQJ zoxzoW5zZ0vdiX2%!ly|*c&eHle^N6A_YLIv!{2!RQF0rJpfc^WYE0(I+%IVcad$%{ z0Rr%N&>&W;rn0xqWK%VQdESbV0$7#J$0uO&db%yPI3}>AVZ@t2WnW6*C2MyoX~Y3h z!6eJgH1jcQ(5+Ben(2{)O3L2B@=ug`+L$hg&f^*M(O?-b-AgpDLFH_j#b@h0_(D~y+!A9F=OD5aP6E%?Y+A>E=Q71Ty&|7PWu_iPWQ!%!^M>b32I z`^Ls0v}HtgqV=@RV^2CL$n7RYx3_)1=ZiuC^3fYXp*;`9n#88_;`xjG-F}-K#~b0^ zj;=Y*vd0fy+x;d}@zV!xt~sw{8<#n4&w`~!*yf-1kG($l00`T0z7{@}Tn#(xcWhDS z^)+rOZ%v%CN&+08rgZq8m?Hy>K-n!tOZ_jKHx+mfw+%B-me{d>?dh$?P8c71Cwili zFVvTI1Ly|+{&7DTep<-!Dq-oB=kbe6;w~IcZaEllv&GM*96ZMMb(e1k%wYBG#q~llrc2`Zu7;6;lw` zyJ{_;xu`xw51i%?x;a5_67EyClD)=zJ|-jg|B@;>LlC+?R6y7B@6hgq@)EyweR#0_ zp`u3Si>e|#LG`0Ib?ePz?8p_E%lHs)C>^a8E(kbGX!}CC?7@iI4mWDzche3)x26%M zZM3_fN0f}7G}*u*c`YFSqg2(n3E@yWx&!Yl;-lJue+DvM-R$Ui9w>3a9wjzpHEI9g zZ1@0jig5Zq>Kv5;$wh@2{*lu_H$@`d+>?LZXX~F#q>^H1PdHa3_7vET5+Od1qn94V zcIshm;hil+arvU4@;00{IJ-XurTIz6c(sEq-N<0S`^d1Jp zPdBYO)PqptgSM21DfuQl#aOiYZ7S+1?~##&iGs8b4Cd34iB@H7z(lnhdk*)XyHk1lLY^#c`-sES6i{ChrLpbfhYUwt|ZH^+nbc8sQ*xO+8Kxt+ovy~RF5-!v?R zNusWPDgR&{qL<9Taikd*F)3Vv0_+nPKp3ed?On<*!NzR@s1=v+L`fz zAe5w~Dr%oUSO1nEvXg0O)=`|0x+pmGf|qsXiO6Q@R3-nIl$m4Yad~;{^9^$r+qKNH z6j?x4wzyo7ji_)M>&8+sG0yG>{F9mKN^t?7!Ck>wBV|kJ?P9TVhv(1xipv@dgxUw? znk51D5HU16-0(Era3ek2K!R#(r``Va*W!9%r+wmQEsd_vTCurhDNI=xBGynUd*|W? zb>rpK>fwz!jmMdEf^yI4J)8wn?S^Y7@f+i-8#1@(=?Nt(SZq8PFb*sZyD4~je^}2_ zrD8{N#v*U)X(>IkOYsHoQ0)_AIjy)ImCt5V<6E+FwiP?y10QVIplu^~Owx60uE*`9 zGgGg$4ES8DBv`+&>b7y4qhystipgd;1A!a&=7uPt>+8sT<7M!%_g+hEo7(z~TOdaI zu(b+`n+9Y!8t!zdU@aD!{!_VcSLVI%MXgR+y^F&Fef#l{#`~JM>_K)cJ-lY? z!RgG`*{|srKFc|wroIf5>bxE?Wo+xNaS?YIhVXTq42^2NLIh(bDm~^%Y?5`xL8M~f zxejaFPxU@me^-d-7fDI8H?8-0ro&W)H%ycPTmo&M)gLUOba1UVlWE>l$Iq~7RO2Oi z7+V_#nbU(!Psi&V7G_B{u+A8Ylx0011#aSH;H>BiG4fBW)H*Cy^?d}qs2H5;JJ~gU z#=iM6$CHr$BEcME0ISxu5(vZXfCmujLw(FwU_4b-9Vk(``^s7F_zV;t3nqsQS- zi*PfP6!Anwp=^^U_VPX~?(*|NBQL*D1wkl@XZ?T~{!A4fT-0-NBDuSS zI6M!RDXDcK=$ue3^1IL)+AitEBlEJewjKo5J>W-z4D}XwNZ+uFG{P~_1lckQ`WIFh zKQmHEDc?xlxbfPi08gN9;e6v;CRTTTDbGUnC8?t&^LhvK$hcHR<@2XX6v8ESWN8^>zOJ%T|8a1kpSWdzsl;^X2rUPWCt`c4Ke17}R_o;)0LHLo6vE^Oz058?0{@w8R*;`%&$Q=~%dIoe96#6ho6 zdgRRJYF%UK{?57Wo`+$_;c_UMFlDP+oC5J^oO~#ZEmbu#wks%lZ!hI{bfHR271N0h-U=%sz#2_>xi3 zPahbOsYlVln+59D@kkD=9dkL_=?;OX>blfh1lY>4^6Ecer_yyH{!PwuQ7%ypldeXq)o7UT7E3EM2-Dc+A%S zmKHXB3R0#p2Slj~(Fl@7bR(+^x<6RbAsc&hMG#pj{LT~Sw)||ru4{Z<1B@t<=f-cy z%xW@vs{!6ieI^w0n&bG*o^aR~M(4h{WbRHFNWbqis@W+S?I%d^M{($Jzky`3Azd~> zZGQIKieG&6sKXU1Cuf7|(7gtZ4Yd~qZ1_|SO|5q(-cfj(bg!FV+6MeMyrJn3&hFfs zM@nPTph&pp|QC%&R#kg?y9mRir@<-sm+jjZdb1+*l z>wo^vGz;k*Wr{LPzneZiSnY+1`Y-;WI)S<%%~yQ_51VQO@_qkN9*k|~hBI`J{o|XC zyI0iFXWe0mY}wwuJ)qKrErv&jQ;i$!Ot*{5QuWwa_6-x#?@@Ac`*OB?H_Rzs9lDhg z!sSBGO_z!ae01+-*>J`B1FSo)dZXpr!BJ0t<$ZE5balE{Yu%6g)OgA3n#$92^Mcrf zRfu8hrxc(xzqlkYcuaiuV?W?`3(U$tU`jiN;%m~*s2g(Rcv$ddgwajneX=3+=_r%e z5WsdcEyUo`e9wgLKdMQ|3%$4@^x!eonm0bQcUGDsnFGc2-~0UR^ZCPJ$VdttntnN3 zdFf?p3g$QaZEP`npf|I{_(DlTUprMxLuHDLZ2~UthFB&`HNuNaGZVIgI&~b1r9RyV z?7O_xu8?^7t$?p&xHMzJ4|1zkh2Qs2P&?v;$mk&O|7t{FKj9Imrgz|U>~vQt7IbtQ z20HH+LlD;iJ$CzTCp-;8NKoR2CUuu!(4}Il6lD<8{{f)6`m19Vw)$f!(02l!4B;U? zCX~dsG01hZ!4t+rjd^@S-y>zPEvKi!Aa$hWic!-}cL8zqKKTckfed3qu{y#1FKvjP z7q#=O1gia2x?WsG!hfl#_hs!7rK6i{Oksmv46oT%Q^WHO&YXJ!sb1fDRTSFoVtk|X zk^b3)v)eLFI*e3H7eVTi$5O!1@Q8KweTNxXXO;RciJzb1Zfb$;6%`wtk=36$7R*iI zp?QxDN36qF;upRWaZ39!k}U;aq?|jSN!2~Kd!%iYu4Nsbo@yiVUy8SQEV3y!UEBGJ z%H@1tJzU!Fz>-#0XLUX|$ObOSFfj5?r?2wpz=gNm$j!e>W?9*}u#qTB^%TvYv5+k< zOs)M^E0^eQbTkB#uo_yVvVa8OhIS=<&x`~!=&PIwHLlB^uO!;cmqFNU_v+@X+??SR zhVb4KrjA&<9Eq);%;_c&lOLPMUdC`5VupqetSr_sS%Hgqhu+6TOb2mP?@RxS`72+A*5%Z2_(YHy=l#FAjQ733%_S$W+O3`>*M_3I zHy@>PCA{(UazWd&P0eXo8YV_GSWRgkJm+x{CCzlgIY}E!1_$JeEgsV8rON8G^|Ffa zCb*&W%x9ioIF$*~4)?8E37m`q&vLnsFaRI1(F7SWrfn-9N3(v%(5?TqfA!>Cg|huu{4r_X1&!lLFF`ma6DU?TfAnVP~yyGy$DjSOkb3C1Zc<~7Dtf@;H#_}tLN5)kOF zng|zAoBNo&iKFw2xD)YRRd)oOkV~!4kFSsaz79#s#DtJVHuZ4lny>abmFT@_Sf0mK zl)uCd2RQY*?Xdwp4``?UvmDEFI+*{FE}A9{(?A?lJw&<2#$#s{F(1xSj9Y2!9v%0-lK7e2Unz7Kf+BRJI)&ipuCf7 zXqLt3XmR*cLl5AZC>v+sCnoam4qZZH$(oHsqygMv;4Yud6;I2qgikInU#Zooz4LxK zS#!l`VwNm?F{M!=WAv295l|F;+rO~dQ35gSe5FP4IXL`Cqu*P@dGdz0IOH~tH&G1$MSJFm!I@w8i& zb%EWrm~F2QzSRI}_nID@oGga@oCVrIi385sRdwoNYFS@W;$$Qdq1nqJ(_i7a1flViyj*V}WA`owy}q=_O<7?okJzZj#ml{{oIh z>2DYX_q7sp2Q6xcEWVY0EtWAVd}91vAz>HhP()ob3ds*Rkw||3#^&X_E?Mh)%B446 z5B_pM19eL785d&IQu=yHZyfczvSmup@hBlQY*M0OLBjT>X;8@*DSbHlXZa-~i=QPx zF5SHXQsE?a$tc&*bRYWUzzAWx$52>%LG)SFu#fejY2G-cnwf|l+H2IX^i{vJ9ITYw zdm8JNd257i;#ecrH%_X~Rw&IX%~MVZdbd7Hl?~Vdx=|YcjF~;Zk(55iuA$$R{%$t$ zOgWO}+1Bt$)}nZ9eniu*M=k5Tk+aEu5Nq@Qf@MB3kGNfw+{q!i_s(9SacS@)@r%1U z|B40JoZ2ty9vg1U`Z6}=6#&iIa^t_0f>RQyE{|W=T0Yr&oH7`AG|vBGsCpTK&-@18 zlDG;^UcnxydoN}oYL7Tj^J9Jtd)liAKlMEcCzCzN5nnElc3gSw2*afEBjF7?6>j#= z7N+&U6695F&O0Zn@gI&&bhyw zufon7xU>Or`-25fj31MYxN3u({*ZZghg3~&R(O=od}qoUmdK))oa6Tzpqb;iG{3yP z0;{UeIP}OHhh{6mHdz4Fos(qYQ07ex-a*u3!$Cg{3+{iU?U371bF%Yvw z3CuMBygy*BFAc_2Vsq_yaXeRdX$M9geMIo4T#arJ75mS%P)5emk}*+5h`*_(|D}U- zA~;vf|7Oj@XzI<+}Pwl6QLyql7 zpc3$-O;xke(>>i3kK_D%0D z#Kw_JXk5~b3@Wk(sQz|?rD<-5Sr4oP%jzr%GxL?}j4WsLz)D)@>cV){bf1d(8fteU zK*fC1I&$`3l=Hc4t$KVe6>;m=+w_RDxlWDUWLFP>oq$dPO-+9Z{D)$2@GVLfuen-Z z4I7opA#_E>^U@rGvfok)11}K576{iLQY(TBISKux=fDcPbht}VUKN0AQ!>6N z5V~q=tqvIp+U=|hslMTsm-(O)hUj1xea2wel@7B8xYWf;L9vZNVL{%T3G+P=vUeJb z>^?Nczvm{ie4b%H65(mToo)&_M%nr)tw5Cg37c7KErVU_ZD!*NzX%t^d$>W|7Tl4- zSNBT`<}c@Lht!-PR{U`LOyCi{8XQczy6m~oX|YelveluAFPm}kix2rx-nK+ zt^y?OSlew1MyC>K-b2{LM?9@lp3%9S>cx4@@rD6Y$EkEs%B|wk+g6Ui*l_J4poH*( zirB@w2H&3`xhi9_APmS(ihDVvXC=R5nRv*WR7pd90?6#({sHBvPE`s^wzAo8htG{< z39$D9qVGa{7dOxQ7GdbSn~L}bliMj~0Hu3dzyv1)_R34vO z78leaxn~KmM@#PhEI$c$L%-DQmOE)Gx%AYbI?Nqdg|{52?{CcF`_Hz>-wh{{Pvywn zo4Yd1@P6*lIk?)|sZQy3oY>_?}HJ`OIq zva8x$Jr->1<#wj>>fgrtqDG~jtc6v!MRr>c-|Z?qgXp^F<-XyRuSrYwm+Ja-Ra@=x z{wAD{k+*0Mwb|pN|9NjwNO>q$)RwPtH}j2WD@RD(+}B8OZB_ZodD018fYS43{!#2d zD0O*Z%m6ibxAE+#at>fa00SJDyBgYd>B->Aq=7##aY~YPGBb!2#at3T5Y7q?Ihk#} zP}1I<_Io&D9i}=08SmLfn{ONQ!O%DJL`T??+|~>i#%BQbXK8+nglqiDk=WREW5&$m zIkA`t|+86oU&8ZAFEzL4KvF&}&3f zrP>}|a;6eb<`nQpDH)*te7B;Y_(g(BN~=zcr&i*PVUHo^g}6)A2RaHeTZC}OsMg&m zaad3OB9omuf`$vNWvj_@niIMlqmn?mT|2Pfnh2@P_X+N__Enf#dCjfBL8;yh&q3{P z`sx0kQn37yxw&=!j>U3fO3~!u-u6nE$H40>A>11VgNk-$95^a0t35s4?-lDH`9 z;oLJw(hl;0Tj)yuO=XKf{g)`3JoG!Yl0QVa`6&|GK1=xt3uaMeqK25T+5El$hYy&p zu!(8-eJV9xf|7#*M%j=b!t{YTLzO1Cp2LwPjTl+UZLIkNbZs>@j<{K!gVV{k&8Mj#NlY3%suFv`o2aurtX#^F?2vtyn%W=q--nz)FdD$FF z3uCM3Hq`YHIb6xuT+--13PSKsWQ-GH#}bBzV*?*AQW z$*>YU-~XlM>n_g;l5g}(cRF4FMefKsXShmjuK?7>}3}Bd<{-HQ3ob*e ztj4*S4j2`KeiZxj=T#W=lh|6pq>=d;8v0r^?=cjwYPO5+S^Rl)GuK_*ZJQ##>UJ&o z>y~lf(23A=-u;uyOZX=e#2Ju05js9a&B zCI;FrC;V0?zN*7aNL|jR0Ug;7u1|Q=f!b0;4 zR2f6a`We_k{VW8+#yVeB0y=>NjR?zn{%s9-XF*$^S#Yz6AR0PTEx?La%S?XAQ;LhY?; z#Std15TAQJJ3ZD?%#dz(sn5MDF1735AXSw4t*-d4_(G)^1wOjs_Qi5`;qd5hLqn|u zC#OW3zd1zDggm@r9|$x2eYfLWc>dPCJ7!EXyz=l-^rr=wAbTFeWkm1vZ2+AV9ebve0e<~EJ ztZfXkUMJ;~NA_)ZP($0Q%`yr^M%p5G}ggr~%+E4lN6`}VtP5Fno|Iak}NHJ|uA<7&uk@Rz`?iKXx z#@u5-*#?Wg3E<2O`?d+3GvIp#i3{{Rbx^|;!~7xuq_Gyz;pZ=HkjW~zL5~J890h0x~nFaa0q)8Y!$hvzbHWs4X6YN(VA@E zNu^3d_umX&ou~V#M1?z)#7AYMB4wz6su@!&u;eFY2og7Fe$^yvj=$A(5 z1JZjZsZaa_(u?sM(g~2e#JA92ztsEMbYlV%CQ8(ENSyVUk4ApgNGVp1#G9@=OKWVL zc9JNT&e~6o7N#(g1KQ;zbDfd8o|oT+YY6H$c}CyIgKiV8D{?eJsfPgVSw?w4+@NbvK{vIu!L%*kJ_)q#mQVV&ykW!KlHZ3tP+3@qL4?K8y=AmG z^0j=+wS%5|BYL78AYd?m;4VnaCj;e5@JS`Q%K0RPRb!)Ou6wbsT=l}^+JMz`8`&}2 zJF4Pj$D<*)ilAj4fe00TRYS@@F!geRP(4FDc#xB)hlD0BsS8P(5wSaLI>~fUbIePg z)>5~7$vJ(fLbq#B+v#H{=_|%&v*N6HLA89*ZUK|CHeCUbaP6Ld4dX{lhs0cplNurU z*MayMbgsARvrF-2G!cg-bIVtOtw-aJJA2NeI;D=ot@p%2X3s6fNV2xa;MtDt+DM_n zjqr3Vj0@O{yM$rjPx5G}KPXW)wSO!L=3cvU@d$TT+Wh9b1kj~%=il;%~z>Gd3c3IbeK2ai;Cm)G>UO!xGZM}L?r!$zm&Tx!OJsh&n-2mh!a{7K>@nanF( zSG5<%_M^w|I^&%?0c}O9T>MBc!t+}l4{`H)Nj#2MaXZX2IFr!?QYrz)}IzXl>dNv0_}}GylUTICz;x1-F`l zxy_aTqp`hO{7+hlg9p@#WcF(H*DMlS!O-(CxEQljd*& z&%dyowTT6Wo6GN0cK;5_-&%iHb6rS-aA@` z+g}w7GFM4JN^M2_fR?F#$exzkP`}wVdW6`y%&umIp}}=Z-0Y)hOepV3iF)qD8U!3q z3F=)G%G&*k*35%NM>oS9NPQ%o)ov$Z-0nb&dQvJz*puyv`oC&~Q?pXvPfn`7?;=lh zaZ1^gCr7%mTm_rHlbOp_V*rhPORTesY9YwrCzcS^Jdu|#fGc>_4Hb(WShFtrPbx$l zQ++p(rMP4_A&-^yqa_65IMx;CIq7nccQCj>oN^kZLV#aS@?Dt9=Teo5rgB=P0$ z<-yYH%63Nw*p04D&8zr~^L(MrE1@5T()TpSobSiP^B70mC4PJb2zSco6zRYH4<>aY z1;crSp*8tEk)be~-G@vvsKGs&v4L{T;EY0|^sDDg7E`#m$0ToYBh~~R5zM1wlIGi> z$kJp>Zhh_{dA_=lb=bNmER>|Svhf4L^@g!VSP7p=Cp#Fc+f4)o?+^nMvyxH*zAq#< z$5mGCh>CHdyzGiLPx}##)u#a;494r7eCi50&XYG(GO$5A_V2~E$vqT?6xofME@!#b zt^S_c3r-=YRIfCx)q69$jHv4(%Vj?k15we7yAF7pU!)&J7aan7c2QaAcS4C#Sqm%u zphlzX+_U^8`;FfjDj(-fJf1DF9trdeop0x9I?$~~-M!GAM_dqY<*CZ{s_IbgQ*>vt zlIZ%>csC;l)BWe5FjYqjp3#|+KJ(E?q5KfUh=tTIrXLX$w&=MIo!yJwqY(WO%A8-- z{>{7Yn$g6MFmMy8g&zO_)U z0pQ5p2;v@caa$KZUa-DviPF-bON){e91V`06x9 zMFH-`c8>EY*>m}~tDqZ8$Bx}uFf`g-g3r~HRN;IT7rFxe-ub2>DWp*7jdSrwX_&Ds z?MCpz5ev#{3+M{m&E&_N+#lMNd#*LqDq2#}p=TYD;>w&DAXmHT>5zzswrl?6^3|)B zZe#D3nQvM1qcYdpp%eBcU=*j))Y8gzmTt?1-344hSIf3df4! z%3s42p>Zs8ht{SKtQIO4hSN3qXTj~7*_>lK#C>N{Aa z{&#y8STznhEQ^s`RbrdO${P##y73)81GInh!H&V%)hf5n)t!f2nsLIDm_&|1W_^pH zSQ%SOJ4=Y*E^i5G$CY^~^di?z3HttHwOTw!qpueH0rJ-Df`G8A`d3@ek(7Y;M060V zh|_hrmcCt<$@?yGNi!#@qv}tUdzSXPqU{BrO$ADA+ORbq!T#0WRMpeWg}do!v)#(a zhp1F;0hTU3(Tmj2ri0BJIhP$T!H9xv@6!HY50KxbNHZEvLy?$SO2wMYF5R=YS+{{F zf+r8+@(b~Amv0b1MQpb6oTYpF?v)=OBy~LKn>pZQcm#MVD@mOK22!(ZL4045$D z{qzjpaB>}nwtZse#Z+NkTkv(Pi{yNM8x3NH7v)Yxx`rgMabfd^i8GrXw2Im&F7ext-EQ7TP~GxrwDY-gTby9C2U8?il9juuK78i<|V;Y0d$rlhQ>`fLfNi z30g~yFJ)@3S#mvQRC+uqcrT5q2^Q{qkrN^|xSgCLd|zld%)ugo$ueBB;=;zlbP~gt z!Y|}ODOr^ZlNxm4se|_5x(ceMb^dz+HHs>tW4dUTR3gLaD9k{jQR~mj)9b{6xyyR1 z5SLfTCoOXs{FuPu!QE7|UPfqasv`IwIRMCx?eqLIh*-bnS%nWfOWxx>wO%N5lLwxu z^7VLBlq7pw6-hy9<37;ha1(TrkRYuoRJnb zqU)tRr6ku|#8qsdI-w;az_Ypfyy|o;g>)-^DFbQ?uq|&?l4ohWPB9wwG$-faJi~vw zsucNXJXl)wb36I;?ZaSRlv8u`5w&~_P-x$evKx!o2n3mdoq+`WMia<%GV$xDeGz|# zlj5Zn&a)l|(U(eg-T7LZckkmJb8Am@RR!~ zX%W8^>B0R34sRz`2I-m3eE3?BsoAhGsHDbu9Hzuv{|;E#`(o4FQ7Zn~fA?|!{wVIR zJzX-}%0%x0BDMCkllx&nZI5x!QN&cH6)+_{$|<RoI78_X^>~FcB3qTR&nsBHD)h@m1+(R zfQ~U%HVf$<_DN=FvlF;8T(N98?G14(qFUK%L{4W+`f`9)TaAG}j8niiDR;z&HyI^6 zuHtHF>O@U4b(wvF277|tEdJCKZLiI3q+qjWNi8*za!jwgMFw|$KTTtKOJN$^mR+|Q zwZm_wN=!_2NBcaTY~MARkXil(WhLghs>=y)1$~-GCHp9qt^#`rP;-eOx8FnTWN1s)P1 zf8Nf$iyYx=@uyCD%qQ-8RF`L$Gc7sW`&9hoHZAP0|7Yi#Cp!;w+Y;g%ep6=GTGVzn zTXgP7J|hjWWB=h%CRM4eiLX(5VcJykO;oZmsf9BW<=qZClwa`=swn$361YKi-9>vq zxsD^JgkFBVpx-@bhJ8}+*A?ydz3gtpMc(8oJ52GS0t$l`KH-$Knqh~rRenki7H$bP zfea%r^jm+IPG?4nv55oAk6oxq#;(4{;Mm||f(nW1%bGdvkL?r`U^FE?TOOvo2D3F; zsYF-0TqqAVZO3&Sup@-dYa08TlI3c`tNiwz6L+~iv#0co&vI99D|J!7MCJLEL*g1c zLU}SD2tMMnxwKKQl)qE&_@^Qo^>F?(qNEVY$lREisN$??tx&wg`=(=J<>|6Xv_~@y znBBL&}rG&JzE2+6HxOK)4xEvIVx>L!)8j-b6ep9917+C{-~ zOEH~t#5t$t*mJuvIRtmbNiTQ9!H*(0)5*-Q1*Mt}z!*rgtUZJ5JWWTn`*838w`WGd zPo&%}s&DL&SFnY$*J=t;sb3SH+uuw^WOGZ-OCm_{Il2CQiBLi_f6elxgIat!6hEj zAZd%(fWK`wR$$WR0kR#a45+djC=0zwNxNbtx;3}B9AV~r2cAaA^$HreCg|q^U^#1O z)rticJ`IM`>ZZ~CzQqgy~z4w8$U-Uf3d_RpP_33F-*`kymZ;pA;_a%Y@(a(-VBKVQ-#H5bx z5~b17n{vv+A5AXo#->RMY%4MPszOKY5^vpNFk`J#=MSxY`>QJqdj%|oviiJT1DGCu z5_&ln(#Y=nLgD}95R4?lN_DIDp3xUxp%r*IBL6CCA0+bWWNfV94_{SaMS)c>>a2I#$o!SmoXv z7f^)~8EE^WtH6WX+N_Yhaf;3gl;sCim=jmpdbR{R3opdxj$|D8;2&8nAmissZf=n` zZ&-wAG-q-GOTdC}fe!VBm*tp!YroN#?e3FEWDMOzO@O2WSbfWMlPtX#_mnoh3 zd2xC9qVf5GqR2-U*@F(nzAx9$nUv#vUDQjcF4E_RS$EoN&4Zx(4UZ z{R$Yj0E!*>_K~XVc*51snxIMzU8!IGKDm01Pithj&5E!!^p*aA!~Uv0)vqYpz2`D; z?EqQFIe_|7kjo`@{E{X4#@^f4D%tyGRABSnL6drwCbH2#T;Eot=j{Zsc|DBYVB;Hb zSB!>~EaZv|utCx&BIB4pJ+cq{^J5#gCNeNyM{cny=KBxs8v^9&)Mbq8n>spg^yW!X z_hV{~Ifj_dR2LKoMRlbu|9X2j^cw8$rs892geA-iDcxq+OPhgz^l7!hthJy6w#QkB zOBs+R{8indaP2>Fw<(XgU6QP*t%~a)DO9=-hKzZ`?R;KjblTew_z85ulksUmdI(d^1@DHh{Q`4Qd88YFvlR8fj9~~MA-v=Mhn=A$ zF5f^wuq^xoS%0P|WZ7ni%MEqiAsNwCuKq)&^Bdg{f56D;gF~e3*POcoU`t^1Vuv6u zG5<$EL)V{kMu!LRopY;8>)w%&sfv4wfOzHrtr4KB^7M_obcNh)g`*&^0RNM>|=!s^$D&E*%ogC^V#!~qi|^qtH(DeTE8Vm;`X$mA_EabrAEs4WQ|>+ zQ~wAR?6v&6(z}nzz7rSf;Rm&60c&b*_~;%>Hk>gEKT3*z^}o_A{Hz?`C$#DY3$awE zDxM-IhQzuiUNi_2OOGLuQe7t9uPLH$S9B87(G#5NKXlQ_=Mj7MM1@aj(I`P@wI^4sTy; z(X3=`#ytwBvZmntZS|Tw8hWlTvzi+t=hS_}W2;(g9N| zt`E#$eRgL>_6@1{8T=Rd8}9rDX8RRq+3z2&0cF;t=igqd=;Z^~AF(hLQCPsW1qQIP zk0#P*iswp%zd~={i6}Ua=8xcq^YIY*IA0snu~Ag@8i?T%$P5m|sl2jkU7FwC2XbK& zI=q;k6jcbN%LjeMM)MC+^%XUXYkOVMi*DEG24(IH*!;SlB(!#Ib>K*~c_rs%3I8vD zKx|8(i=M!WO!%GEccpf{5MpL3^yqEIuv-O$*4T;^xC_uEH|9n+`qdn@onY#OkO5sB zF|_$_)3J8l7{&a^X#%W2;v-I8Yt;R6!W8S3D+cJBgKFNwh1n0{pDM+~awWwNvX1yk z+cq#TsZiSkLDz}jB6nqW>*Q4tz>{*!`J%9QPIIAija#qt@{RT#wRU{Nrc@UmB zj+mv<;}^2s(r@N+z7|uSYV*({^mDUb!_CH)9+}m|o}|rF?ptg#1wXlqx`;mtIaUnq zkLBTM?dO{?GOJ99FoWW|-WG)#|D&3wsh*#^bIXeW#-eL?eW0KzWb6>+;YfIC=yLVA zS}Wq*p{?{ko5)M-XB79cC!`h?u3;(kUZFl=f*Kcsf?sB=tooGaK1)RQ%J_}+ifd~F zIsk?bkzdF6=K?yELEmQ-i(T@!t&2WvmsBbwhG!F0*;{ROTIM#BvO`Dz;P1l*a&hh& z|25yV=|0NvfO==L@3uylkONf*$$za}b>c~|*#??=MnrtmEF2AZWYt7Z1$WR}{?r9f7t2F|Cy9>t{(C`*QfgiGNE9vRSOBL+}|^(j=Y0^3c!Kl~o7N z0~}m$`({nsHb|zaEr?Zgz288$Y$G=tRU!5(DUGj}#k;d42xp#IAbdMM5%5!pPd#OS zx`#Uo^MR^f4sXXt>7aDTMv#5o+#{1QG*dd@#fDmEqS&Z`j$^B%l@*oo7bm%MOgwo4-CKXxnk7 zAaqxbxdr7I7=d5F0p$W5N`V_U0s?Dl3Bcy zXSpj*)HzQv$h%?{zJ>5bmf33k2Wf)MDtxO9+$`mvJBC-4UWD!EoHo66iS-Ug8Sin# zm}CL<9XiAUKRc@t=F&QxXWYTwZ=c~7L=R_bmfbsDh_vm!PX2{wgnI9g!0UEXe#?KW z40jf7aYgCmvB%ZjpfXw|`|anOuY17Lf?24Y=FP5_&;z#lyKH#ow)i8-xw^`x0}p$( zYCneEm9$Qwl~s+{aTfl)pWTf?cvC;t|F9}N1}}GEZ90C2YE!@cdF@Gi^i{Bc^=*r_ zzXm8jx*^Z)b{oUskCep+-Kgr8AX8q}t@yGXj+C-Q<>fMyKLqXp3gb6E7&XpqwlEH(}-O${}DJ)A@>() zh_rPPyN^u8VkBVy4_EIU)MWm>fA3mgmA0aQQWcaUO`7x|N>PfaG^HvCQL5BX0$E_C zca%zPx?XJ}Sp6@f z2i-U>552X9+bA$LbYH| z)9l^Fyig@UuJ?uiNk0W6`TV}jzqu}l`HLh+9BYl0J>}pD4NrBld-dxtO2UFXuja!g z{Vm6T4hQj?oE&bo=aQ}k+%Ty4P{NE)6_aaPhE0$R&o(GmoD0rnfv^#d%v`mpJ#Pn8 z=Eb_S4KmyCw}&r4vHFQu)obXs3ml3`y(HZBrq^HT=sn|+mbqI~khr5j_Z*y^Ndq)) zR(m2>d=S#nWD?jpb@H@%5Ijp+AE;4?>-Z1iG)QFbF4Me8P{ikOZrE&&nL;lA$tYJX z^({h#E4^&+UefNDA5h)W%_A<2r@dXY()}mu@Gyge7>8bo(Zc1#ZA)-E(%fl14L_mn z(mV(-9@p{ZcXVaQ~zJjDgWc;l#&R{ zu9_UzWs12u37nGpEMR-M~o{XP7YUVn* z&ET>;Q`@%{QrE#zBd{GoF$@$fD|9q-nAF_b(%b0{5LxNYJn`0fuR)nxbZf6YtzJbK zd5HJBeM@VpiK5;Y0#{WQ(BPk(EnlntZe`ikI0?j0LA^UTncIZ3D(v6Vfu9lI<gQt}f`J+3gLZ zEKP*prkXO7=$p5!S5ED(ZhNYsam%KqVf2AR}4DKF5Dcz+FX_b%D%dB0L8rmL~} zo94gBpF}~K^=IngQfK#wZ;l27W7Qd#yLyhD2tpQ{+~HBz6f6&z-ju`$C$3L~oAs;} zVSjO&GpuK+#_F8Cx7K|>tSs}=b#WHJyv)X#ioL&z0TF1{ZASc-`;z79VYah{bF!}n%sVrq}HESDPXM%|?0bli= zly$Zh@6Rje?}+@`cai9LlkibC*cQ>!_wrEXXVH!ujKw)WM&Yjg)u3hrl0riwr`?~5 zXXjBHH&187S?vuq?@PYL3ih*xU%lh@jpFRmCif1#_O+wBC3nu$p)IeoK{aoCbZoGC zU3AA6Ah$73AsyK|#5_sDXlt5Qgx5J+BD!`BjnGHGE$%pH?Z@=2 zfW}h?$k;!LkAkvkbtY5it@VHHJ$Z+%h^W$WRr+`)yi_u2f0Plmh{T5g{R3C-#*g^v zjdBhxWX!5c)FH3DGOGdR-M|gREo%4K;X}e-xAe6CfvjRgQsf8fZtj1tVMk8tM4fsZ zZsJ)yb=nxe&VcaR{or0r0_jH+cYD+Q4ndXWm6lZGL&CUqWV+g%-N=bb|6CMzXk2ZX z_cTSxK^&n+PM^;zo`o=k=OBy0odNPoI>Y|qkNsbUeZuSsuaSSAXNdTbg(NHk0O4T1 zz#9*ocVrb}JJ^0TRK?D7C-pfzaf+LG`M3Tx{hgv0J&{5s&MDji@!YmWJ(1d{edXo# zw{v^AFNRw1b^_PQ0A$VHzT?@@c3CZQ8-U-$kB#i1{Rn~|{y61>W2kJ+jw~hqg@p4W zk0JkHkq1iQI%^qzv|2&}y#;irF?Y;4vvx(TL9+Pa*r(k;(&D=#8^RP6RW?7c%eqb7 z6Wq)jHOyH{a}E9Xl}LP45?5d!=cTR5Hy)1^63_l>@9q_hcN{#d8hG_>ANS)iDY-=C zOUxCw#LIUBvn5gXq67N$% zPv>^oiR=`QJW($uUeJ{n#_x`r`^!I!wR|D$285tXdqWRSBkK{IHKgr>H^ts!{?EGFJI{&Q-7j__t6Kph^E<-ibq z@rLjF>T{XtpAT#Moxj*R(8k)r*;7KRp@pFjL2Lyv{RjW%nyFcv4Yl3dNEa>+{dbh} zK=KZQcx4eD2Es$qHq6|#s%DkIFt(xNl*h-P9v{a`#^d+-h=*V(=nVF=(IG`Am%ykX z1N-rj?MGU4#|@}C{*~6F@OZ}5mQM8?lk$8YL|eA)R(kl6en-)zqrJB6?l&-lp02lbL@QKu2sYn-2@Ezb#SedV&YEXp8z*7i|p@9~GM& zw7J0!Pn0E5nxYFp(FLWV#M~nVz{CRZ#E!%mIB6S!Rqo#c+&lY04S(`13*bb(0Gogq zk?XU$>R&>8(;8p?HiAf@tZ8t?g!?|jLI_@}N?5b(jPsd%F9ZD|$Ltkabfd4<*2duM zGE-Sh-8S}d+yY5uR#5|<9ebH9zp8jynNk}WAEu({(q81&+g3$GkK0%8RfvN09iQx( zygD;6t$fsCk=I^qxD~14+hRe4@J)XW@psvEvx^CN(Q<;&lbe{Ca&@m}xUVuA;C=-~ zTiz)%`2_^l;a!_FDFL9{B)@JL1#XAQ@@p!r-a3tP5DjH5nNCniX-NSEQN3;pRLxm8 ziywMS8u~qxqD;BiigX?I|KZC9uEo;RW08xb_qJ)MizP>oa++^>cQ*$xr;YZJ2L)A} zs43cQNffC_GLUm9@R#J2^)n+BYwu-Hk}I zJd>iEow8rTyjZj!vrhtDL9p2#@6v)ve#P|22DI$u4x4L%-ychsL`CKv89zr@Z1Nqk zzJ?Ib{HeicGWPJW@a3BT?6Y7_F1yA${K1!H!x+}#!JOtwf}cn)_Ijelo3EGqa}Mj( zqP5N$PKmq+e+?G&^y=3Tj!7Hqt?%nE_q`UKmQtwsFs8c)*ID3xy*TM9Vl zsi(igxY2RfO_>PmjHea{Zx6M2%7VFI;)fM?^NS`gsV(PdJMc+dAkjJwkjEkZrV?>C zlAf=oWNilp8|rfq%94@OMpi5mlcwX{7fvPOb@=duJ`qe|ra*pA3$Wmwf7Z|Ha+dQ} zHK|BVgfCTMQ0WPj4X5Uqf`5H3_@Rwd5?g#Fd9Aldj$`P!M{*}AO$sGnY~rXZ#kBLm z)MVljVr5mz`ats$-%2<008RVPImwNQz_;;K3`B5ds?A4U0w_9caH={#h_6xJOYxW2M1W%vn0*)kV&vF@!7mxpjBQgkUv zRGgUke3DoO9R&}IEQ~1#a-7AB0_3wXZ0p|#azb9Q)}}j_xVNBGjc8S1N3sUoHMy2Z zt>TwomG?&;h5?8;@C;!Iaii--tDG+l_)Knjm0qeuDrJYTS#`$0Ts>@k$(LYBd1ff0 z8D2z`I9h0CdW;|B)Bv0rT9PGZYm`s4O8`;%J}Qp9MtQKr+HN125}pwFFSA$4v}Tol3EmI&u?yaDMw)~{QYL73N=N@v-- z6k62y?POZrohu`J>iA{(xUEjr;0+?d0^DM!+w$G*nNigzV{m&MQlZ9dJc-%c>N-h3 z5l%xyJNCkFxO^>QZO`bK3Setk3ciyE%X7>_=6bltIzIAtA8IRw&!$5>nb1?SBogjb zmiMuveX>eq!@Qv5yk@tzAd!rtKn1rAJ)S_*JJEG7Y_vCMPx4?^sK+DGzTT2GS;8T4 zyQ2^>{Hta=!;WlWU&Fyl(#) zvXt-Tr_Fi4MV8deL|cb3?v)#({;lb8Fp3(;tM?Z7dWMsPhb_wK+-b`=Y$~4f2=(aq z4n5OJ14*aJ)7QfaB$^HF?pktk|AP1uOfUF+K0odJjK;vhYi!gemy4upg445-e-0f(O`pv*5n1O&Q!$fptel=OW+5j|C4DU9cu$?P?pD za?gKrf0ko!FL`p5aboxPwLqRh8R{|I3*^peU8(V^X*fVxh)E|nF)KkfOZS*``xDul zZ@7L?7uRI79?;Prtw^3a=Wcv7wOP9PMo~_}afqR))Mc_ftm%999qUoM)4@MCY2O{F zQu6|PSG^{aU{gQ$n*}SdQ42)Et+(+SORvFE*d$%@(Y7zrKP-67pQDDTl(IuQ5#;*w_T6(PM3>XP(7mo`R?GD zdCmEC;(KxvOG%k#?`ScsA6R44vZCs=z7NBKY0(T>ng&d!6SdKz+txaFaCURpg&Jlt z?>6P_(x&V1I*msBD5 zFS-D*aR)CE?3y&zU^CD zy@g4pJawt)dXTw5#=2j7I~UR?T`XabG+K}oa|w;Gn72!@WPWW;ZSl-Se15SN_o9Te z=2nzOJLS6~_3m$Tn3c0*lBZ>Tm4(}+(T0>Ymw#4AsEc~=tF+M5^;$HTqZ#fs=i-=! z(Quke18S?!^^<4j3nzJaLX$u3s;2L}d9gqIDS;%2ND&z)uTCWpxO%+*t}pps1E0H9 zYyL{An&;a|+qPKEb0|waha0)O50~^`+PiR>7vV~AJ#_zT>qYT0WdJ?r<9uY^0vS*8 zSi3AxPcGe-4J#2<=lplD68l$g6)%;l2u07m){88|YV$#< zm-7lgYW?H&2ZqO32hnj0cKk0n%Hw02?P<`!s3RgF7%g*|{bo0j#Wb1>x&eqX)ElI*)%Y zNf(d&&giXPn-BvDi>W|8o8+O|jty-` zvEpFsST|f(6u4;hl62hw)C%CV_AXy~G$T?v_B^>eDW)pmQ+Olh87cYK1n$a_SdZW+ zL9&aZ_YIC|YwR)%FL3`TmXyr)jaNOHv%#*}F-|j}$dF}b`w!=%5UaWo2hp5gYFG!` zmF1jrrGc`GAL;sv!#k#v$GcZQo?<3)%JG-LeL34|u+#&Jpm+GyBdrNAQWXHJMkAZ@ zwD@9kzIHsJ$*+X|i8-7WNU5jw8^H5hLTdPK*mJ-1^UW808M+$Aq<+N0B_%75&lQZh zi@R3&G+~=sq2OYyX{&BeK&wG!l_2m|zds=9KtKt8=W%bf1|o^{bVLk^4KsWuw?6bC zblx7Zf#;=QE=a>M_=GMA$&%BZU@gb9(8&Ltd&o%4!OMSQEQ99T?Ee0=%aXox;YIVK z#}@-OLF=SKKlneLKZ3z(<;IY|3N&9=qRrqbbbtcc5KOWYu>`$I-MNsybM|~buei=T z#{KUJGgcRB;HTZc(|7l#2EV7CO)x8nk**Co@x`-wTQTfi(Yjy7Dc0w#FNiwcMhqN3 ze0EKq$jsVnyB$d+o7WtV(W*h6ADJ!TTiv$0rXl9hh>z%i*ky-ehI`#AI*xqW*-y3y z5JDv6emW7I+5>HM13iBd#3(5=4~S~HF+qKbuzhmAzxU;8V)%7`v8;J}_d0|rxp^K` zG#fu>IlPhC5LU8hO_W>fu&80yU;8R;`ue3hc}U6VNZ;qy=A~7IpWLFxJ}=Rh4u@!=#LdAnLsQeO z=UCOSB+QXY_>^Y&+)0N=)&6^Oz@1wyz$d%)zqca7c!KHD=n757izFUV3KR?vCMxS- z;c|?owU^T6X70lX;aR>$xFDu#Gt$Plw}#&;&~2&rve8k_jy1Qnk$b%DqY-}a9IhkN zX8U)jFTQn*Y%RaItQ)rY*y4QdTQ_dBVOiMxea@w@^foTrVr=wAuWCOCFgNX_{CCu} z;MYuie+I#{Bm!qze~JDF_D{u@@^Mj=cmuotQlgh1dl5#)KRl&s(qzwU4r7 z>ad-b@zc@HpboSWcwP=)X=`G)bz&p(9_6v_r5%jc&may03sDM^B|^-nmvd}3`M-z0 zdQ0>l?49Qwoj8?!EVyx}9tts@%M_dL!z zSV$h|p0_&gD*mBPT=gAq@B_A8EWZE9ak3Bf>L$mm-V+im{dG&XL~Z`$rl2I{LHqeg zu<#;7_9N{Z?Zfe#cA?V64>N}4;WDQ$+poCh>>3V*u`{{NKm)M_!)V82`4TaOkswL> zvtzMo&4(Vz+hBZ>@3A54$AbIJd?JymcNcc8HRU!+k|^1XJ&(jN>&cng8^2bJQ1>1c~F^(!~ zwTm7m1-*X;lba&1G3zB!q7$*#gPFf*0~BjGH60>4w{gsEp7OvFB~>L!l$qE9L~NVx z&@V&u05o>-)%08=6iAJsluv4A(*@r14-F-N?#Z_~&e3pCq@ zsq_SmUI{i|iMx@ex^>1v+4iYEX!5XTl|K6h8xGgRpd#bx0Jq6%SN}ZD^(`DHGeS5c zGQ5vrc%F9659G&V9V2g{SkKna%ml;x`JolOWs~r9WIL8R*aCS}Yk&9$I*hhwN%+qe z{8<5J3W%bw3imw1UG!kf?+x{V(a2S&noZ$^lh-Rlk!QEsSxG)3dv_R_4DEIQlumLW zZV6r-)0xRoLqBZp-!JD+89K-YrzC`(GrOTv(ju_{#bwZ8iez9Uw{0o3>-JbvbhcrS z){Y;kF5B=#$CcA;Me0Dk*-z&LF%JJnU$JxNR2lH(7^JkKW@oe!oz1;BDphGtte|raOxd=a;y+wkW^!;rZh3dDqQ-IFP{< zpaLFgw?S*rR;k*co?6W?vW?jvOx2`$)=#?${i48GyM4yS<&xI6`L_B^i~NZOC7W5p z-W%1Qs}93|fRe1bbBpGD?6|f!UdyJr&mKRnnyJaR;s{9(EuGn%eLd`h0b^wy$)rg% zi^dt86Hyz*f!i)=Omgce5+{`sMwj>S8b;u#Yy*nHS=ZXqADF8x@NANp_1G)A)VA|? zpVz&5$7k1XI{m{gTVykT|B@Zo;Owv2oq4{nll7A^6NHXLs31i)hV#&(UVf@#Eb_7wu{oVRdFfUsaP8n)N)`dZ#o`+rQm#zA=UL zaOV!eVTY+IeJ{%oO$DW7zgQd$G9)Ii2EG9C?d;|6UHP<&OxwAcF2$$G%F_{Lk;rD< zxEp%TzjmR2qio)qk5x@Lmj3oky`h?79$xMdGvHq*!&-G;x%^tplnbi%gsb-o?hQD4 zb7!Scj&5}JC?K>IJ6MpFbN~!byLSTHWf|@xW zu%UpbRWzN!PTc(M$h|GcbJ{bIf%SC&!6O@l9;6rOEVWG{2VDc4o;4R6&epctD9;9g zU#mP?))KBF9Q-dwQg4qlz_aW*#|>b&=C-*lL0XAXZ5pt!v92Hbdm_bQP(wOYJZIt=GDw9o2)5W z(%;j7v3YR|xP_y}`9^{V-BIY%h7$D1CqKG^R<@6rl=d&tGCwt&qRNcy#qQF&H2bO8 z^&gFWT3(jF*9!q?(W&Z)0NxyYD!vYVtjZ_--rCE(=ACc=Y)nh`f1q@Hu4+3-{FuWoS1`Phh==PP_Uw-ui{|25?d7yUc z(;nDS=G~($b@l}K`%;?-zUA4T&Wdh3(;w_wurGYf>;oK1$>2xEheczQ95#WyI?`t; zTeM3MahtFy`><}{OT(b?VAJ2Im3MUYz`=*%NB{IH;tHg&{-Mtqr?iwf~=IZ~ye*_S70 zY?-yHRmi@X5F>-m6usz=3Yhd4gT!q$to2}ReCX&x@Of{I4DX9j@)d@`GdYL3xoua* zUEi}U#Fu4-aQV7)F`zI4E7QsMUrx)2ru@^N{-aB>AGzOV1WPzmE}w^W+i+)=xBj~q zRY<8lsV#tAyQcptxd#5b#9bp3h9U zn6=H2kLW?@7a&)SyhqM?kI9%tUzML*qsb^`kC*%kO&*2(*(Tn!& zUkR^2%UMOWx00tyY;Dj!9N(U_@Xmg!(0y4%@33U!q`gr$7Vg zMPpW{01^GHW_k7gL$S7s1fb7}@>YEsBzfTh)FA>GBpP$*u@tkEm)~msIJar%mZPhpXR$3{r5aT6OSW z(0)UWsP6w1Bht{af_)~BSky1T)f*Vc%Ue@EWB3DIDIsZ;0?v8f;DQzC1b;Gyc_MMW z;Cj%*Y|>k%o1K}?a@ClkA%YtN6L5itfeQ_8RwL@EEWSZx(IOUB20y6bTf_-G;d z9{o-^ZgplUju(K%#3`D5&HLLzM?u+iTE?yfU)4F~>dYG~?i!o#rZv+Mm<<@0Y_Cz8vekV@pKps(^5#+W zZ z`^si>ve{6y3OOObbTwGBR)B~hr&N)%0m3e!76oPJ=5G4$-k-Z25|)cm z0z;XT9X~>nC@EE>uUKHPT#c0^a8k>Dv@{*movo8g~4vRkj!e+ zV;q}qFH~S5^Tcw+?RNQ@^Z^g7%ldqknqp@S+4?*(yPOfS0!mn2)3T@)#-=$ zb!EbaLd}{$^BAiG&n|?s7a=Ybb8sHZwSfV8lN;B?`kfS*3j%eB+A+-&J_baC!T1V^ zF~fVWn$eUgGA~_Yk`t?PVGpPE+L&g2_D4cy&Y;KEXBX8GDFa#yxwm8U^XuH!SRQRAPNX71?9=Ix@M8x2SC zF!oN8Y0`sJ=G9Q&Z~Q^$vTM-m6*Dzf*H5a)fC1{EECKIJYM?i*fIR&KrDmff!x0=oo;Qi1%nykl%Jp+m@tbLj>v-F7u63Hg zf~pgtnhKA=t8O&Fb;scI*-I&AI%smALA%?uy+{F>W9x-Zd(tMQvi{2b+vK9{H5sps z#G}1|7GS>w;!COJdc^e}#n}FJ-QI8>xV~P?C7Vr~$lUL7Cg%gx{>s~S@>^i7XvlGs zeK-50k+17cxmmTx`R+aF6?CbSjlu(PqunTxGnRjrrKpP5^^L==*@bZhQC(lcZ##VO zsIBF*7^->pFfhXXa@SdQ81={1Hp+Y^tvJ>v>`mvz;5seaSd6Iex?r0D2PTp5Xw%u< zLx0(5O!l1F%@{aE^Iy%1PJ!c_`3%Ui8@AQhJ%`&V)(*j^16nK#BjJqUtRL=0G6i` zu%W}-#3zbS8ES=M!Cp{wql);xhxdjSs%kP0Hvu->ChFCzd*jXEjU95*eHUl-UiMYp zliUBdcHlrUv3CL2xQS$sU-f`9vv7`M!Cb$n25p6Tzd~5$&@`b;+L%Bb3_T(&a8=D>4dj!@_ip^@`+$| zZxZs`djqA&w~T~eoY(fm2K}qctImTe6M=7{ca%0tFG@RLmv8R%6@K!1jl>Fc#(1$a zD=`K&^fF^NoFz(g8Mr;WRCL(ZI(6DUr4AKny}Hi6^bpk8_@VJIG~qBbZ_Y_BxaKev z`1+%`KU{WCh8C?A6PBEf(W5cK4PzL`HAZ;vh*MXHi10lWtADuT3Lxh|+x5V9$y61S zb1J(>O70NhI-vnx_mOi>!Att^;a9nM_7T6pJfH|ITn`Ef$KD` zUNXcl|K^If`TM13x^@Z!(si}*X@5tB;b>}6R>57xu3bXf`zEf(r67LpBMJ<;ilCeL zpIK=2uyeBUPyN<+=C@Iv?QI znU1W7TZV}mWS~eKIF|N4e{S@kz7BwXazEk5kFwry!Sg5VD^nw73-!INpUtE(ywu>M zMr*^df^FrmyV$0U)v~Qh73^kTg*GqnP~DdHvaK&6@1MB7t0X^8lsdS9@lsvB~_OONNWOVi47);<-+dC#f_3!qW-_PoR6 zahh6;*N_CdDXoA`@SP{g(;qp6?l16sy%9EvVAcz$l%~lG`i!zBhLA;Uk z9ykP@dFS>c_5%%fj)m~I2;Ib6Xs0%v73!1mw~!PAYUtar^Y&5NI{drz30C?Eso1;k z4}dI~b$?K~QT5RCR!c+6V%OK+y*r~DhI>)R`7`cMTr}ps!F!ijM{$1+V%}EFE?+%! zGEq6sEw7i??{GZd_7fB&kRfqy!ei-f=?viFd2mM?<5{pH(H>oss>mnn5R9{|{kJa(GrOPay~aPyei^2y^nObq z4QwC2(jj5zQXop9Y=}R1a$K8T!)0++$Ftun4=P>Zxs)mpZm}54Gt5{tlMfDG*`Yn? z#I$I*E9CuIsZuOrU#j~yiaqHa6V*La{<*n##EzD19nOVRVXs$5cS$((mIX3uoFM=vb2UR+0k==>@j zx%8TyQ0Koew_MxJHbTk@X69KRC$dEO`Gx$)FCSQs5#CIP-Z3VrizgJUKIg_6N!#{Ce{xj=^>h;LrBh z78>YU3Vgqr*wvBnC*wx=%2+KaCz~lftlt1WHm96$c<%|CElS*1%)azVSK_uNj;0xy zU*e#WkyPrWk+S*CocSpRDK8?#rap z$BX)f_=wn+KFjdQ5zNwuvml*X5LTFqwlUyJb0MhxCvcNRn32*(P0na&=hFdPH?HBH zxL&Kk|0f8@H;=v&SKm|Kb58AICOYSDCu`;Si{pRXy|Tme)JZh744r-{%sKM$JEWf)zDq5r z#|#ofdBWwVx))PcuMow)s3M`iS9{>YD6lX5U)sa_D# z)8V<+An`UdpT@Khk9c*RNu5AY$n2wyy2WMT%0cmlqJ&Gr!4&ap4Zz4~e@rK$)AHL4 zRplu?1d4P#rOjN2s@CvXgiajX+0EK;d`loQZ^fWyL+4{f`tXiC)BEr27Xvxg4cmm_ z%@M#op6aqRr_W932}d#9V~ zza2mA%^jlJQi5c9@f1ee+;1hBJCLGDZX!3GK5!i{Nj6IiuD}BQVXU&auhMmVT96)@ zSVBxl>r3!Zmocd1&$cz2HlB3_X)SMe{R{#25uX9+AXnYxMm=sQ=HpVlE|}#&C_l_o zKfzg`AUMTn_{b?o7<}b>tl9m;GM?&p_1Z4?5I@1WX}+^M!&5B-;nMut0$&G}^jO~9 zYr9wtm7UBab+_ZZYpzFXwWZZeG#c=qh!er);PatTz~JoD0g|lxY{L9G+XzR2=s08L zqaYElLelO{!r)Dgg+AT%L#WK;zYm*r$Ejhh6-MVzj_^~CO@D^8RoqQV4&K!Y6AR6P zwWW5NI^}NWEeNa${$qLqncILH>->YvY9xL?Y)^tz3Cc#?7>ReyhQ)fDSN-z^_hl#V z!1U~q^%2=3S??A~>s^U-tU~v1oovSIrs#do=iW-}yUA4y4lpdRs!#=GGkyQ$i^Ex} z7nO-y`5q$o_!f#A!{pm-H8vD{H*m71qbxCoZ*B+kkpgcM%H=f&>k9Jb*gb(zywE0ghXKfY^3O}YaxjCS}(grfFRxfN6CdobD|C*w=Y!2Y&!1es& z0BON)^s#>Q5M)dX;}es)SkkY$0?`oD((V@BkRFs#Q zGlq>CBunnTK%iXeYk@iJRjoqj3p(?b3G3jUE8izu;+_DiuRjz{-<1tyBJ+`ZzI(i< zp%8AJy&+4t_Dd)pm0op!>5?cLX@lIPc0b3uR*dpoeAZ zAs=!NgL9#yzabi9H(@0pVErAcpbrqsXFz8=c4Tptbj#NVC^?OkeFtU$6VzwQ*H=u6 zHJI&-QADH`M(--7bik1zpk-Zh7zGZDz(Rg=KhGLqq9SoO_>(+lAg^)iA?fb1 zv}N15tiujF@0xp+(usR_yYgeInrdD1kP@ekyG;z!XE!Bm7A`woUPUzwpCAL8*M|bs z8PZ3dfSSEzI*}=ZjFCZ58yWkPj|eo zfT{w4E1C{8`>&_{8f}>2Gfe;&%k0<0b#e&lp72bgA!+@}!64x|aR1=H`?KMd?XUAR zkrfCcZ3)Tv^Nee&yF18Y?;5pWuf1x`YFN9P-e0H?n(OVR6IT{#;QOluw}<#0;0wvv z{P;Q+=>6SQzVd{dx3V?$Z01L9(z483$CZ%&f#l!Pmwu0BRip3_Vs7+vz4i7y}sg=2@#3(YRFrgdWe7H4m zX6UZY&$6)f#40zJmz?T;;Yrpy}gSQeNiJZ6M2$hC0-AGFX z@~f4HctV;U)>>^@ZW)FpH)mSue5=}O51Eu72n~-`PZ1{d=K8yDnmT@~R^5JWpEGA! z4TFCBSi6m$v$R)w_r+abfN}p!mKHsrn(bAG2Puo0?P;SH^s19KRbP0EDF_VL$DRC{ ze7=cwlI!*VV*A^?`1gh0uSE()1hASkRSWM&l%&&X9b}#r=l=J^e|f&%G-Jk)NP}NX zcO-)v41Nv0cNuG5j z$C+cNR+RbxPz?n*&D0gRl|u~lqkuNIiBR)5oF$WTiaXbo-;y+yGORE0sPwBP>r1q) zt8rRh5qg*9^4?< z!T2ZBab(ygbDY9I^x`_epbMtN++X|9%=tn5800Em-pqGAj@9loKfY|!+k9YlY{j1D zcdwu=Z;If8-^RXd z39YML%GfM@t%$x&&x?&3V4W1Y-ez7vL3F+kSWyd3u?%IQvIhWJOrc3>)3wJ?05p0D3FvQO{1L&^y!wgh{PZ>VO7@zszE<8 zBT(jm(udqeHPpfFd?OeQGESF&O6hGmbkVXlL#ELMEyv7v!89XpIUFRSldtX$!ZB7` z;;{n95eJyRF=1YwJM>E{+q60#J{9>&-Nd8_52`o*zRu!$m$`+1x}(^YEj?v7k#(WV z5$jl`3=4xg*bB7A>(7;V7y1PlQ$qlAnux*IW`# zm*P?k>szXjaQf-38R6-SP#@J(FYR_?dBO`iwD4m!&${f15Gv}3oY2Jw8V0p!RB+MT zkw~{TL$HAs|Fs6gw@-H|z%wiu)-y!}Y@Y~1XJEh}K$oxNedJjkF%%5X(*BJm>V41f zdUt${iOhHW9QMThmV?TWH3`>LIOwOFyJ3$if=CSj$N_}ectK%wswHV zefBh57wK?si0{0#i9cI+*=JbrH3wcYw?k|`3FO*dbKD%lcoupEB?{b;t@p+X1!H)q zH55W!SGU9|la8Gbc@0?lk-UMy9|9O;T#)K&wf-hnlqd>ZPb$2%9h|bzznU3q>)`== zBNbes0h^RS8T!ii0&&O%fNFH_%c4F*3OQ~GrXj~+Ge6q2ky+WnL@bExGsdq2K7o8d zV-zyO`Sv8 zV@-oY&)l1G`Q0yk^iWZ#=*q3KaKFHO?4X2BxQ#pO`37$sOHkzC113<7h|~L-VZ+@n)%k#y!~$H~}kNfBf{wL38=uT(;*;0%Se+o+L``9-?Twp#<6I z-_)jn`WGqQ_LIgfyE;;w|0PLKmD6V4_M|<%^o->tj3(Re9T&hSV^4Q1gYVrQn^Gxn zdO!Y_WrE!r)1w?eTAZ^a132ZJWc>Wk-qA&RUp`ie52yJL;Q>6aa^_zqz=jqTxs3O? zPUVd_%@(ZCHaU}xjKJwZ%(ORioxf$F()(w1mzfjq@}u93KMLu2izow8n?D09J&hUX zJsvGbd%26Da*>(3gbqMoT~eT{@%)UWk%75FyTWq9pw){qA?G!L;n^$Mx`QgwS{gJq zr_rwiVr$p$1X}!$ccX;)_f?kGooj>oVFEla#n{65o##Tx{B7Rrfgs*MAcpViyaet( zNiXfIKsJ4PVS$Sp$|_PA_7C{#^t=dbdGJ4Qnh8w&LewcI@mjiTeO%;;9>W2~A5-a5 zXLI%R>Cd;sx4{xj_xM|5-EU29iHrrdDm?A^*$0mG3(U^V5R_oulPZEeRDD$)rH}@` z$%s1oeKS}h5dRJ0U2vEB{YQH`RzWRu&ZkmHqFW*2#^;UVjj}1TvONB24E8-spdvMn z=6aChqFlyeWxLVtvHq9{>+|M>sfXN`zK2qb%pe6eV=HvoLfJ6)J*ADap8z8EF4QX( zTRlpVehnN1b28(TmN5Q8FjDya(Ndb;veI+zQU99AO>~=@8P`}ANoxW5d`%|5hPm}U zouixZa@$NT>nw|g{B^@O|H|n%w?IV9sZD&w>7E~qQYg(Kl3?6MgH9y zrcYww0FhUwE^9XY;* zIF#}Y$gBCuv&cfz()}+2E+QYlABH+Zo{li>2=FbZ7XfL!EbGp9;diOOesn&;RYin; zd~5T-;m7fd6*nPfNy!kVX^iGYFnthO&Nbe>;$6uom8oUjbo?Y=%X2*1RqIH&j@6_v z;CDs%=a{7(Fie5&R4+1=MqB>ur;wSdQ^b%2n{@g3yLB4QrU&x~LjnOmbT05Fy=;Qcm0&BVq3D$7={xw8M& zmInj`p2P^@^QU*UL_=#odLPw?%#`Ki->cf1+Q<9JbUfaiGMejiEvZcTTv2#u zTR?+spw3p6X6@o=IpTH&Lkdx@UY4JOR{1y21um6z`Tcn6Jmjnqxa`vN&u*txSn8|~ zBARjP_-14Li(`ZOmlpbV?yyzGw$+^w{wH!meB@UuEzwwF?T-B{<+K8_TI;`w znaLY&A##@*(NQsd!(ds98I`IR(qaZCM4RsrOHMu^a=d@pz_c!YPeUEm-Wf_+byJ$>8h3lS@Q7mU z(~yp9Z?3exH?uSeD3G$)RAd<&1L{Eu8&0;2@fPd|&F4W@=x8}yw zafEvPgqPvdrY*u?y^SR;d#zu~tvp>*FNK5nsw1#tM5w&dqFe2A|7LFrskG91_qwM= zG0Ba6abdBkKf22_k!0BZ)W=!DAbEnAlo@I=y%`Kc2N6D@BMp!lKAt>O;-dBEuJhZm zqU5ir^BtQcuOn>KGJ`qK6@C+Q{zR~F>z1y0;63{Wy2)OYkL2k+K+GokPhB=!X%SGQ zx-j>DS&rvaAfEqN!mKdwW*}n^+}*)wpJeyHi@xF}G#1{vXvpIF&ELM6#WzY~vei2g zIpHQE-0D=hZgEL1khrkdp0)dusBqN3pK~P}l3*OXMaa!~_q10~*l$`}<%47Pu@vQl;?u91 zgVJC{SAoO#+0J%;7HXCy8TS&jjGJ;OI#V6%J%t}fwLLr?(0u%`UxXlELf6X?eWs5K=u{=u-jc`f68#QMezNS)r>51fCtqyc z?hJp3DyQbxe9o&12u?-T_~-N8UZ^ZF$r`?=y3xh!pJAj*Z2NQWuw(f~o9;~B(Z1`F z5&ZKR?=dd43h@u>{G9Guhh?poPbc#|h-5}nNN}|l^E=)DN7R1@HMxCn-0)95fC_?& zNC%|_sUiZ>MJY-Z5s==C5J0+=5D^qZ?;V1mQUVDbsS%{NfOHUYgwRWXkOUHvJUQR@ zedd`7GnxFu?E7AO?X~w_*Y(l#?XFp_TSu&X;F|K?B7}<)XIv*t;MyPl{^Lg}dY3{|Dvy77rTpu3{Og2`0iJejRM&TK<2(9#n7&Ez?=sDQ zYFy>r)Lg!zcJ>>bOf;@7(0&DmpYoBR7egmtIH|Lg8*9FxeZZi}=ZN21#XW*ahYNR1 ze7}0XLX9qO6+a%P#2jdR<2bRLr`uHjY5+aPC_Wc)+FAi|VG&;Y8;<|)4q{Gkw0xP$P&DPjMFzN`jPh5{Mfu^IE zygK681_ghE#WyZRVTZ_yR4se$7P?zSR4ZF2BJ9^oIp`oxZfW2+swb3Q4ys1MDYE`F zXL6xQ4uZUhc`bIpOp-l~g!cnZpN-z68k~@YsnA21!@yu+R#tZjaK_yBTb~5%q3Z2M zW-F*UV;x)cOiu|og@dFJ2EIhG@ZX%5I0F`y3}txaZ;k0}&-H*k5%+ejPd_D6YR4sF z{_0msc(3ka6fEBKU8h1UNQ%^7(R{XmfK^8nq;h6d* zKpJN3-vjbbe9wX9L%VLTiT3DlmB-E0@R?XOndz)4jVc@;FZH9Td7K(=- z7v0JSVz;v|y0B$Jm7y64g<5uzNav~MjIK3WPc2@2E8(n(Zr{?meX&6{?^9}A?KM`O zLC6L50}FoL2GQn?x~7H>w^U+Kem{_F`96r=K@$k#`;N33{2>}<;1RT2(l-T6A3tY% zI`luOlP6{?Y~9I*yP5gwLUV^18QqEW&pNA?a)U;wn?_Ea`?*x6H2$X8`;Ah9&SXL)lWPP0zuG02y%;61gfxKz zT@?k^va#{$Xm45XoHNT)%e`>E5o889snZ?mp#YP{K2~ilg2#aAj?1*V)&A3OxXI&0 zci3U&p|s1bFxPC-ORxi0uL1nxgck#;4=J6Zj#Pz|y0f{D`F*oAZRV6W6#?i*HJR*d zs+l;|?_`|pI2ukDK*B>m|M-O|s4m)LN+?LYN55mCz9k5M-~p9N=*3q;5DS4;O~m?3 zE<=#ah{TS{Sx+iQm*{@_AGc=hj}E1L_#N+CX6D7W>9D8p$%EliyKK>RCCQ360No`w zD=lT!`2A;w0D9H4MLJaOs^q4uAV0|?xs+MQU3` z{^pDry(v50_DFn5)OwVz@eE1I-j=LbpyY{1;om^vT=t?*q3aWs-?I5}gJA z9ld>rqKYFCA!1*0%Z20UQb@G z=Kyts;3lSz(Z=T5%#eLvG|b6QLWJx}4UKQn_Mw(|lR4Txu8R65d-l_Bm11=MG53*4 zS;T+?F+xLWWokF{gWWzapBvlXXUGp4zcu>p_90SVivDO>y6s}7hQNtGwByh+h+)f- zm0lPSaR}DwQks6&LP(fwl&T>n<+jY5z*X%Vv|a zptIXUI>KN*9MYS+zmMB3F+PT|t1#i*=se%0C8 zKBawoayEbPu3MSu7fCnJjJ@hJIUSM^G+jNDBPbOXq|nTRl;}@*ekV+h$2Hu8v=M=2L!NrCGVbjJOAyY9x6-IlE8lO+$HP74^ zH>3l8(>meWw-Uc(b@n~7P7K49tmcf55Q0Q((riz5w?xUDlAfD6TaLRJv!Jc%Q^3r)%oo&}VCFWS;hbD+n` zIeCBxrX*62+3%@CA`9n!d`Fri0%yF<<+J_2Lc_bb&5YJ>5%dG1yn=Ur! z-q@xY(?UOQf2OLAW+drvWZW-VdEwiSa@FEVPUS zjfcITjqV=Y^LQX|XYGO-8_O^zR@sAY_cXPV;`1amGJ@8wnnq3i8EImM{Qs2l_Og#4NJDEiMg+4O{;EM*Ff@$yNwqEf7=Uz+n|NSohtcu@i2@h#cTZV7&AFn{# zXW9nZHwBv8lkT4_OQ83)@*L8-Jkf84il?sjr>mwqdk4&(TFBYkmTp%6y-#uOz+TVO`JEl&hZPF^C#G{tqauupn7+WRki6L3)Y9CcR9=fgY{S?0BMixN)Du zJgt{nXiAk9UsATN&uDbze3J&x?R-pCg(4#~)#Eg|$DlBmjaP_pfQc{B^6B(+;bp*V({V0!{p{!bZKkz76$-?m z#YE(6fS&m`-aB(LxdoKYubFwZ&g!37nLb%Co|+8FNd7Lbr0s6|pRQm-w_B53Kw7xz^1RG{p9=xh>1h26JL){Iz`_>BWY8@ud{&lXkpL`*VYk!t6aM z=|#L%0GBoHF9_lOTs>~@#wktznQ2Yum~-ZL@Ewfwy~`566J>HgLk7IUAw z<#PWbc>z+@Sz;cctGds<|31v_MT5!1$sr4NGaT=+dHbs|o(0~vfeG1`&e_8fAlOrm zH#&`U|7EX?Rv#60(+1+euo0w%Mb(x52>90_gfJ}w=hDjI(lI_cC;CgJ@bq(^J;MI5 zenF7j{RWh>YxmkGsm^k#;5&8UVKV~^{84%8+g^JL5k@dVaY)G%_J1ANZ5m{o;xqqqUoSfo z8FrNy+|yk#a_DDr>w1pm)h32HD7Db8;?hfU`FjIWKSLRc7NRBiZcU%ZM@lb2J2aPK zOP(1g?%}b6-9d4TO?!@Vm7rQ2$n$^cW;eeFh2MFrT)wq_%VYhm2WHdDD6sIm`tm~F zxMC8$(lwV3OSu(#i((r2y)yWbSVCSeI9*;YkM{R`2V2i=J;3M|VV)2IxxFtS{l(qG zvoyV^1f)h+OBpB$-*-9C@F>_YW)Bt{&!z$GJs8~u7RwU~W9UrVsW|0FzhHs4#|d6V zKDHji?|9rZJa)17NZ@!4C{Iwmd7lW<_;ps#wzJ7E;F&utgLMBK7CK96HJI+mr3wYh zzTB-ZaW4NJTv40n^SQM!k^w4-X%pYNJ~vdplk>0YSy24`zd5zZU!k09PmURaI6rsR zsyd+BpGO&mHd*83Qc!C6O&qQ12l`*@nYVoKPTqGlV>Ns{>R_fzw&Ki)5W4^g z-3E2j^OQD%qh0T0gQ$y3HC6wb!!|;`EMT_l4|?}U63?~d5}A&T3DCIp^-rAOvbH$oAx%3w7kB3#dIMzM@~D<9W!Ey0vuoCPa6ER-bHTPJ>K=G9*0VloEr| z>?ps@$iJ#`_G&@3PqaGU>Be$_SLcVEA?B^ypFzrA`11&m%|_^l07CJav((=vZA_e2 zpC2-3UjJO;zQ>jDsD99@yw{r-C*UY)x~EEJ<$CDUtM)8;lCsKfvNMakk9 z-yA*F)&xz~lv5YC4D1tprRzZLxczBL>%3;mmr=A1c!q>K^?lJC*yzgSSqfzGbbh$( zNstRkPX4>(TkaX>k~J>Dr8p6D%_4cMi$CadQ}`#NQ=d`rQ{bHe#x%sH^76Fu8KfTQ#_dIjR{f$nWh=!^Q|7*G8kq5H>$887 zF?kasj8T4a{_1E-7`YpJ$Z-L_Hn+itt|3bu`t;u|r^I(gF;#4Hg7 zTQ*la9y)2bpP`oFn;m)pd1Uo%;nB=9V>3I zhi{(`M)fV=OlAg~ew6%E!ss+}A5imCOZ) z$WP$VQOdjQxdtI9y$<}Cy~oycQREkUPzr-O&F(Y>%SmVsf_aZ@1s~nwhhn;-D)ZR?K#nfBqRz-QWkkvm7NmYyPCG zwU35~cA&HC2}22eQuMMYQmlVU)a%^q_{XPv1gJB5JGq8N##MeseK2l+3X5v$@-o?c zeXD^ZIxJ0UBngct#E z^F?p6W4l_7RaFLhMq|~_YQ%^hU6Rn{oj}v=oy9yH5kjQ#%F6t8I5{xs z^IKBbzUug*zPvsc#LGK;!VlCwNV$NyP!GKMYHy%%HiP%t+{uS{^}>5A;mHEkdM&;$ zz;;tS;qnp1opMV3vR#1ciHYFtghicDQd@n0xx(DI?Bw0=87VNoDs zT?#X6GwM^+E-D7!Wyp(TblY`vm!FTHvk+=w(NzU-?;jVEFmY z&OBdMZNk?i2pl3aQZiLVMG5kZ~JaN`0M@;m=ZV$WJ)qSo*QyDqURhk^Sa@zjNS&@5cpI zi;}SBMR1Lb z+CUNAOcPGcj7J~%68Ay{y&K*c!L2in#wS)-K%TQ9uz~6T3v$ik)pqXHCLukI4631q za!Ac$eza}?z1g{~wnpP)M01@(#laKBhCbxwz^u*RddolpvPaa}q4eN)Y|$P6&2-s* zzGH@5o#MXDi*o^rGPAVSE4y0f9&1lPT`x4ZAf`S#zZvukD7>pq7F>Gj2hmosuqf$Ic|3onIk!lE{Zn-*h_YI`go- zCjj!tJyqK@Rt@Hb&}~cZgtIv8+?1rxdxzU3>3#f<=dtLB4h|&yx~{ez-h;Y794fYR z-WKU7`>auwT`%<#QJtWR{^qWnKt6o0p;oe=btRC6(v}h_ND27!v}?c|$w>^mE$~wx zHLSn(?&rIMxkdFKHnLbnc*ITm)vL20o?Wh3t*ib6IzWnj&G+bFcJ{$h&bQ_&kFRXo z3&IdcmYz-+i^=DcuNKg+G&Dpd;J#_Udy(OUid8|z1a0Xjvo*QFf({ruhq~a@pqwY- zJH>9ai_}t1@E014#K|6f(k(*$Yc_y1*4PwLE(j?-)%-P53}hzRMPHJId{Qcs#M`#}z6S72(g~$p@$~;(P z1rVvJqtjaI%TZ8Edj_`n@&x|QHY3-Nb=0+yd_zM7{F4Z>#De@audl_})4D>jKQEMF zgc;e_MXbMcw_WOY$yDnvN#--mTzhSKCd=Z=9yNna&>D6ym>vSL=sJnmz5Pd->+FnT zxEnU$r|}c${GPw`g3Eoa*?&d2V-5s<&stpS?=yE(0DF&-mzF~yT}bC6o+V3)MkI1%qdmL>?3_5-K6!kJ4yR*aN@Z%`R{J+@ z?_z`@ythji2TCCW_KYS4AGaWz|MPFbPJrUDE1gHAV)R`hHlxJsryh#Yf2%*?)E+v? z>YrU_;cyaPPSwWSZXI5TBl{44dOhp$il+)znv^v<6jb1BjxAme#=&^=YMJ{r&S6B` zfkWP$N7gdSa#1cCmzD1eJ~uqsY6tZcKJ5@E?o;^I@F!)lMM4x>-6C|=0|SK|PW8T4 z4n27L9B*Nfc%*kSAfiiHvQ+;#_8e$(*rwXu5L7xh3xV%F4-bzwEvkyFY7e$zGhbV*;1WN^J%4qsU-8by0qu*FAO!9hPR4mK+|!nsZPrN>yo16UXcKPRpJwvUzzuss%(=vWeB|M-FA=jdwQl$&fI}7Qt3T*0a`nz-QIuzx!DE~BPWG;^+ z_F;5_5>90fl8Buv%H10ZN{~oq->F5P;w78Ih~qISzvFkp2;MNX2x&}c`AJtFY^S;R zpJsQ!53ObV4%`F$^tdJp{O7M-sHJlz@W;=q&w5xsY}UulFsB{dL4P@*I|~N9eK!+7 z6_C$yg{&nY_$(KB`1%Wlqg2YIx23iitG?TY+c%|z51tDACh9dE|BzGvf-*S_EA*Sz zl$vFKmwtYWVg@WWYpmt9zYMe$u4w`{7z z{ZdUpzeTZ9>89Ps%`Ir()UXMR{B(6haGSF;w1MPDOX$bH?5RqL(mT_^w&dK@ON~i0 zC+2hvuLgI#!T5#ybVSb$(R#h%J(9zScU=y6m9UvWTK-(mt^m3uLf*+ZD=2tpSx1|y zx`b>Gm&K)=mW4aS_@jH6R$8&R2!}+r`KZq(nVMfx+Sum7@#b{IHB97BnlJ%?NjbW4 zrru!?m4k}Vkkj}%Kq5VNe%P7~w@@vU`&6VXeAfAusMOVBvO83NKK#@A?0wn#h2-wo zVeqv=5!tsd*I}2&8X1#+yL#roGpRPRx&&CUKc>> z-W)5eO;H&!*BX&grSz>C?zhd8eq-)Sy*DtAqZT%y zQcJUYULxp+=|#0=#n=iZ)!l9x-FjHSG*)CBK5vu~T1LwzEwdkR{2qs6{KN!_SMFgS zuh02=W>vZ9+@`@J!(;GoTPPdP4W!P;!Q8Wx?L0!%mo zARiMCPOCrY{+Z(%cXsa2*7cA zr2CJ6vB9?R*4XySGbO;E?i!>#9(Lsh_!(9*d^g`gVyvIo{!< z2Lx(v#LBwkMGCzsd}{2uVTEnx$?@^Yj@q$uc(4pQuus{f(6bz?+G`8Fmm}iZQ~BnX zngtH;*LB(F3U^S4Y#B{K#x(Q_<&QQERdWMJzSvDSC-kJ^o*y)vGaq0&+N)pL?+F_r^4oWw)`nd*{c?T%K z{rBO)*TB0fcAH0}-hc4y^Z7Pjn>@BgUFj5a_?kJqccxR0JPX2ddBXGVqo#j9um}|$ zl@F6;UpM}v)fGc+j#U<0I;(IDuL3iX!Rms{yw0h*h--bfU)etC!!5-=UE5H1dez25F8nCS!SkM@!U5PSzgH0I* zznXLLU`nD*MHWwv%kM$m$q$z_J$L=po)E>!dS;`a?I@gw$|w>J(l#7eUG|6ghA6Z| z>mOM~j?%JX$)!#Bo6G1!p=Aelm#l$$!GT$IqvAZvlXW)`wS5rW$4tV1pwblN(y$@~ zQ@_pR1LV<7B6r5cHTbnUM|t71djK=}a14^?lGCSr{$VsHN}W^>pCv%ZVAQtYESXcr0#5Z&qq#)- zaZlO6+y^rYP0!fQG=tQGxdT3RbsY;($T0VMX6w_Y`k~=mpxe~&_m4)YqMP#=*8+F9 zg65JmJ|DNLF2AUX6aUg~>`Ql79mZ?*LcCkNX&DG^*Qx`bnzT(EN3|%YXN|tFvS+H_ z!X2ds`!2Um+Yw#m93zYvi96tdM{N;AYN@cT&~{YHT9ShTd#5ocVm;$_7HcP&KQy*F z{uMgZb>$ky5E=YUYthz$yt_RTehi-7RDG6+2>bIaOqhhI#MX_Z%4a2=0iPftB*Zp~ z^g4&4vSr)vHx@qU?R}sNf`Rn`qBaYS$39M+u0zUrWve1O zL4AR)Txc|3Zhwk*ed-QOS^mDSii1rKJ%Sxy>3C`?8>kE`xdv)wo9x zOUyT&sKrSkBQX;K(CB&NtEkK%WyQ3$>>6$A;y)V3AO2mNnIKE~*alWtw?Rc79J9tS zu9uh_J6R|XnkWCN!??^)9;Mx7DmU*WgS7&mlxnRw>2^6y+=13ccim79`=s?9{pasP zO1^vI)CuijP2m@Oct9tt_zUV#{b^#Ys`)+Y40-M`Iu-Z}P%Z;tt7{6liZ+}6=z}J< zeO8d4{5Rb7e9=vp>d<+P)Wu}Rh|!cv0lo<&_W=22!_K@)cU_?=Y{6lxa}jiKNRZ`0 zt}$n!G3$3r5NF5dK3lqk&Y0+)4+Y0j~C8ho!&Sl-Be?bX(sW<$n1i6nbA$^S-1> zEyK0r%e&hZ;E~~Rx>8y0`mpA=P5f13h-QW)2XN@HFk?O>* zYAK|INz+BxGeUDOV!$ zOa@rGwc5k46Y0Conk-W7Z}WGLmoEW(Lh^D)*slTQPq@Qk@Bz%cbWY-5cB-;}Ah6+4 zoI`45oA=g@Zv!{+^*7|}$q(wOJ8q1#BLbs?|BMb^uGTZwb(|1)sVz2Q57>**<^F)r z0vvLk$+hX-q&V2fR?-S?oM(+Ws58j|c-9#d2brsL*mCcBU|45Ic!9l!AzBG-7K&E* zn)460@zTHs41M5yJ=N&>|2;Q*G>)7+)%4tkzE7Gw++-R2rTEug}^0z#H1QH`rkf#}{nYS@Lrx^p+Q4^2ZGF z0Svoo_=Ie&WSPPG5sO(-#79IbQfSul3>1uK>5}jDc4p7TeXe7j6+>isx^h1J8bYE* z0l)Sc-MkjSD1UreKH%DJnlO`5z;)iqJBZriB<}QMu^mNyR}C<_x4e&ar^Tb)uGDng zncZEy<+N|Oy837J-s3<%ylUMwa*?G;jxra7_&nscXq>KX$J>y?!rnVE+dJzCaZwdjPl%!fn1%KKmB)}vKqrkNf1@fY$xS}^+l^}&(ylt zvSxCghXvVM?DS(*?)uC0b^IQzw$CMdoaJhZ1iA{@0Mf~3Cz4Lh!#o5T-8Kan!y4}~;fAydRG|^>(=q4p z!63`cS3X9+rp@=a?u346e*iKcI*S$EycP0gIq#!R+lMwaWfRNyegKHhxVG&R@V9rC z^;QzIFE_bly6IXNlIW`R--gSg&2AxX!J>+G^qKWy z^+-pp`e#3Djm27oFQx+{mCTf4y6#PGr(GENtmhwR2LNGWsH zE?K=_7HC%sQE{kcE*fXudmJ6f&>r^VPu>Sykxs7ObZ~^!l(e(isttU!TL;5DV|S;Y zp|U3I#AgWUhrT1Le|OUAUcK*T)BhE9sBE{hy9G?_8}>XP2Z*A?A~ksz+QwhnJ3pi& zdfi*JDKBlGcP&1HTX5nHPHkhn@mtn-e;WvP!WI7+kIH}^%(F@(aXc zpJ60J>$}XBLPhj3CAO{nEopvbNYOL^6Rv6;(w5-PeGnXcK>Tr&$ou!|3K4FdD4G?~ zQJN!~ZE--T>Qdc)g8WfmXxCd&jMJz>q=;V4(zDAG*Nly0X9$>}@u+>HXo?JHmG>qd zo2^psnu;);$x;IM65!c>D`e$n-?0Q;g1d9nx;g3(OcxhG|E9BEL8~V|?%Hz5_KDE@ zo8w`-OM8B+W@WSH57S-FqL_I&{E{1ts6`7!Gp*diMi4u(%I7~N51&SAQ+wO7?7^nA z3s94~VQ;4_l76Y7rMp@EcR>xe_J8OfQ7Mto!`&Ax?~PuFaBf{)lqfB-i-=z)O1mam zFuvB|am2qV8EC3w4da(o_ZD5OL3384Ip-V8fJvHzmSZm&j~2NKtf7mUGyRZK4)PPX zr@#`m!M52?^MjR^1&(IkwguLDi?4gNUPC*Io8b8BK%dmD@3M7l1-?P)s*(Y7uIvTQCx7mpEu zEo(@hW9bAdcblG zOghb#+7&w2V++vdxtn#6Qc!e>Bl3=)Ia(??@*;v=`&6fNnfsGY#1)2+eeosD%f}SD zqGJZyeGsHr?%jHC(su^#iI>?q#&qEOUKjWdJPC>Bh8EB5hE>}siMGu%h_2U@>YG~A zITmFaGa^>6?Sc@#p3B>YZLd+|Vv98c(vRZ;a)R5^@og{H`Hq!OJQ|b>K&Ph~`r}ia zsffay*ZQo(J0q)^)lMN+ef!#R0V(vVaYf3WQ>?9KJE!_@PBk`E$gf6IJR`<8;)0tu zWqnvm@vkLi?)<^}2)kSPReJWEWT0oyrAEMQYmDml=ph~Q>jZn@^0aLnPX*&dq4PV2nBS*CDi^Z*%l>&do zR109v9+xi5Jl3*{wo@I>a)a!kPx}eB z#2P@yA}6ugAf!00V{ViA-3n|ytdp9tdjt@UTnQw9*d&FidBmdH7EwIQfg!~`n&s6zhL!DezM{S`$`qm!^4^z2h0hx}mKdE5RQEsivI(~VRj zqI;Tomb3pYb1y0A?rQL7P9G`9x$*BMw$~dfWIR0tZ<(orz)kjZtGp0nvgk6wNI$FP z(9e`+L^CcmWNq88$y~_UugpwEkh*YPmJ4x^4&3#a(g4S7I(N(L-jc(;FP>Rf}{)k-bi0FyDS&)X5A#e=7xt+fePg^WX{ou`A@~9S5B*&8U0twjUGprO5Uxvufaz zy~itQQF{0#NGnIPBeE4%rwp1m$LbvPQwyB;N_{ys+T)SDA)5_MP<7kx<(d6)F<_|u zKG|F7{P-lST=BLKjrU28)X(Ta_1_?Q_mvEPlJiS)_}2NRT;Wxz zLhNEOHlKR4VS4Ok*JFy#P(NR~uOgE9&_HgS6B}6v&RZO^RG-Q@?2s~T=563I*sJ&_ zVZTBp_8E^@dWKrS-jKTwv+PM`mQW|iw%ag zF(biRoM-AoY_Lun+;wVfe3ZTDT;+wK9Bk7hK|RKRouOTnpQ#)eiGWF|6PIh-C>+Q+S?PKG}hs@5n^y2e-lYQj{Mi3vRf}e&g;Iar)Rn(gD zaYGR57$nnVrj80*0Ib63`9_qUZ(ay7ZFs%QJAXg{1CB9{_A^C}e!n}CLSJ{RNpvRB z?jpa9DXDjTp(vfK8Brn)8e4|^+IO%bZS(mFe}jW*uZSiD1OOd5gPsWuLqcoy2ULa~ z2!&?}a38|{LlB07lhd#ReVmdS`#(I%45};`VF!*iNyM1BP^W`Qu}1UYg)&kp+P^Ar z+j}<1l2PooC1bVK%gX1me3@A>zL*7i)7=XS&mYGzHGnH)Sh**o`6|6dGqf( zE>OZDYRVPVgsv-N-yx+qr5YWvCo(Dt4R%EeFVhsC=h9B1zSmebxQ)$v-&V0|n0k|^ zrL@2UXcqND_VX#u#3i*#hS<7LtD?$dn{?$`0Dd`eg^x#N&B->j_kLF z7}|a=z9}v8iHJwH=;Ox}e6p5r;w0L6cH!O|svmJzU!T#%1kv2U(ygHJpB%=cW^)!z zQLW{_TiCnw5`L6_j;KEmDSgH|oVCo}H{6nm{N_v4o+r@AbxITsNPUB1j9T@E=>MiB zM+U`;rTax%TpQ2Rn>w4o+lACOqBG{FU6Nf$NzHil;A#xQu z2NgAh4ENc1TQlvPm@g-kGV|MWI$iJYGg8{Hu#U#duag1;&WWF0GQFGLKGIE%o4Q7{ zO`iCDIqF6PbY;#Yk||$XNo(|IXP}{|gqU&4zkcMoUbda`677-$uxZ7}=S9_%${OV_ zXu4_|3-(W%I8L=tALwk)$98(9Ab%bS@u7A%At8YG)_uKo9Vy=m(kqHJ3o*)?qG_S5 z9**vL_cLbDZ?4Fj6$8>tUWPggnXqn{FAK^SZJcONUMVJgXV)ozXU#AZH>HzTT>FxG zHnUj!-Ab^)_DoFJXI39(x;dzfO_u^?`@y)Jl%9@C1z_a2QHITb%`7ZKcsyFnR8=Rn zniq#nCq>ksbrQ|nbaPc`J>g`1HFnu2IA`?%$zTE1$0xV(_1z5WKu!I}MV+$k!+8j6 zO=E)fNmzJazN93M-C)o_B8h@PRl#6F^L9?X-Dr8NjDOq9(Ve*k1$zMU zIi@Is`xbo$c(`Y0UJ5j~ecGkFJaeTTv-gYEfThXlwOL{P9^~`l3A3?w?rj2~;&J1K z<9(p-9E_KJ_CZr$8I4xj-xrYAKlo>;CusAZ+RrCV(GLWGGz^rC%9vTPzsEP*{~ z3g;Q;pQ1Xx$n4O%H;v9m9?`y0Yv^kqU)p*2v7Eel6g_c4EfZ;i@9b#kXY`4xBAH4$ zs@lar5DGzi>@4YHMXnkjkE#~PV{OMTR%1mMC9(IA38C+hPl+L=q$XpQ;*O_qa&e3R~l;ZHHkWQuAjAs8Njwv48gtk)atA&3GW`oLL^?7wb3m3&V zoA-c9IAEl(sTh-!<%Y+>u-_#O-dg_Nkf*2(v3bM2Ls-;CO9@)Si7==%Y$H-oTkyYq z`B95UoqWg*A5Q7LLb`AKH~!k9V*;GSI{!R{#u+k6wmb3ikOrpE(P=wJis7wBNgz^e zm@LJ32wva=Xl(bJ5?zMz^<$<*`IkC)H`_Weiu+G(~W%%i64`@otD3Cp3@q$vFux!AtzO)=~` z9zC}T$E@$mOFKs&UkuD--RupnZIDE)cZb&s5+=!@L@%^9r{*r~QEJrvW$GUB7qR!$ zKHidY_V(=<-Mk|-<#~6#OMO?iE<7^UKIN5W&okXE zADFFmdo^j^{52Fe$=@IP&I=a) z&82W~jXkP-%*9T~HDXV#e|PMiX}@Td2VkJ?TshezOl<@T*n@em0j`h_caj4+!0}MX z2{Ru83)rHk6MUd)%CB4N_u%Js5E-f{L6l$zR5_D%ZJD@I%Y0o9rb#q;rNTXB8$G2~ z96i+-R5du|bsN@RAMn!o%7S`UklD;f2Q(0-^+wFP*H13neN;q=+rZ_?cz!^P#zUv? zxAP}U9cpNCE#%~eDiux*jmH6HrY?}W{t7v{xs*vRjtHgOuU>sX%)y+WN>xDSIWAm~ ztLwXY;eykrG&*CrKuJfd{KfbAn+UOfZ~ntujN^sErTv4Si0#GPMe@ z{I(Do?z`v%NhodWuy=SQ4C^S?s;a34|R#D$?Y z6_gGmzY%^3?V9Q-EiE7h_%>YxHVSZ&fq9Z^!0B}Fv9Rpcv19#Nh9+QeuJkx5&qs#x z%h{vMqRX1{RqhoQt|qpj)LppekL@1#AOfh)k5SQ6{TXfN5caaY%^o{NI?bR`MdqeR zU`CXerU4Xaf&;T&+nE13%QZa}_B*}fI`bg7S8xz~9j6xv=3!2vEc}!~oR%K}Tuw6r z@l0R;bi!)fYx<(I>ReQdIgdIw1fyn4Ecgmhb88AWIv>Z;C>NC04-+zYpGXh#A6YuxHovGt9Gy{b2P=e-7u8~&mRUO*!|6m(0UgVIso znWkR7YjWBcFsD>oU9$^w8Upo5vK_}?;>kCsL398^} z?D-Y)z>1k*1Nhbnh~y?5rkLq>DNJdL_=0c^_+%v(zO-T7;tw45lP8Ul#xOY*9F_wE zDx?1Fkukngj*6|to%Tr!3tkhm&ML}ybBYzRXg0JqVR&`Ow&f9rKeQjc6%wKv; z*=IL2Tbs#9+n`&4eI=*0?tkpWH_I~epdYWT==BRau^kKO;-BKkUzGQ_r|V~&ntxzy z;;b-M0jRIgd;R9oUB4fNLpL6kpf4?GMK|$|bgQvm-McazR4c&NdjWH4i^#kue`HiQ zL!%2rV}$3~loEa=o#+1C`2=55%-RdgK>J4~%UAunWa7+oWJ-Fpc$E87Vwff6o2o8N z@8A2!UxMP|)ul*PD{*`xI7qa^k6<;9r|&4Yo(|EX}l8aS=0=8S5YHuM35lP-W-{0?j|Hxl=?$0N=#(7=m zc^v0)h*Tjo@gc{*BHcZvW`!nxsVJj~t$+O*3TX|odj;GW0Nw;AqaWeq5l&$Gz~hFl z`vt02-b;3Mzusi1f%`(-R;l=cLMnE?ueDcA`o?-`4!}}sK|6(Q3a*(~9O(SYa)M~E zCqptCLWOcTG#M%M@Aww8U^mU%fVD;^My(>XI<6hF6+u$fM+}Sq@FG4bg(%H$rXv@* zTX`%!KwFbY@meF-j$1U(ZsXvptO{AZeADEHQy$+d#z_gTyuTpv4eCboZ+mVyiH?ZQ zS*_%Luua&pAUu!wcIj9>S?yBG$DUV@LK^Lq;yPyD_BeHhiC!J=r6~=brpG%QJj?_A z+_n-x6ezTu(&&Gde{!Ax0sF5I5?MM%6BW;LYbi{${fQjCUwz)N9;UuHu)(js;H;e* zwIxnx8}ok1!(x{mZw7psK*=w(u;VM35oaX1v55fWUq;Tj7|Z;z+zlRIkRn*B6GKr0 zz@ZOrS6@yl7`>GftgVssb9*%;IsOR$sG0r>6n*g$25Gi_6!>=9YFz~wsd7(%5NwKr zd|9Ms%uvu1pEK0RGwZ0CNBD2wQ?CXrC>me?5b{5}2VVz@ zL~W|)O_b8IhBAdE-0xQYt=(0gaohnrDK)@27A}6iO;*&J#kha*9Kra%%|JJthbM*? zw~GAd0t0a~Mxwd( z%8ZkRYi-iETpL11>zJxwFYHeCM=EA(=q$=$FG%J%B<6C(L|6>cSO?|$i0Z5e$(rQV zA(nJPmiXWZ&zrb&+mPrzK49NzpbGZ-i(D}C0Y99+;1&hfcj)sQ(||e3O9)wJour;* zc&=UUs7=hXdN3}Y)+_KzA*4w%{d)_n(UNCWZ;#{0qx28~vv(NjYL?Z_40<@$vY6*Y1aoV$1F)JUggYj-~n*?=3_zD7Pk&3=)dHZZSJBAWd?Q z0Q_2#H+(v?Rmzol@JQ6ig;!hS!+vXFaJT#Eo7*Joi{VxO5|(@}1N89Mon}K}5Lj$B(Y;Xu|W}QC&2m_HWivx#1`9lvCFBxRXE@oda%~ z6y6!=-u??a9b|mieJCC=n2o$wt0YQwJ?GncOZx`uBlQg!+NvgW26EXI^0hYhIuYGW zKenW^kXwF9(rc?>5J_d5G?uVKJ3s2aJ#-tFFd7k3J2Y$_aZ%alm&|Xs?=>DMue4&7|Ufb;}7PeH8G8NoMI9 zo!x2%3h1bZG*7F7YmA1^^QRZlg`(O(?ujyMfbHJw%nUAsn!lfeXW?`F|d2-?x7a$MYosoV;mtcy(*2Rg3npP(k70XN93gw@kr zSb}D3U92V}T%y2&BDI_uYhQ#Dd6dGNm#`7J4PDy12fEI0)-ttCSJQipeVcv}dhm)6 zoK2M;$3|{>Oo|8u*KC14ll&hV=FQSi)|@1GpL1=_Mj;C+Fg^Eep$FO{ zGmV$#GC8Ci_BTx{ogGFl`AiKw?o3c=t zF{EzXZ2zkzkt&IoYy*#>*;k-l=Xxt=7b@w;hQATV9irs?^F^(2XfH`fh46FHZ(pbf z=mkA`j_ioT3e{5AT9pW21$x1Ev2Ys1T(_UVgX3RSzc$F0xk<|O`_LM-s&29yaSpr_ zoy=Uk)6DG|yA*t%oV@P)%0!|%5xu)>((~(0Ygp2C7|IGozw{S@yhY%GK0bEEK3vo% zdo)+8=&WlhC$DL%=da$(`$uzi#rF=`xG~(xqNgt)a^<6ME3PQH^`})hCoNe%OKzP|lUB%xOZJ1z9{HSk z3{4LIXo`Rf&AjNqghovnMnFE+mJoc@>ue|DGu&_b$i~Garam0K-hI^R`u)z}Q1`7Y zw5Y61hsv||wi#uD@5PHm87O!k1Rq;HLdTg&9FUt5$^(?jM)GKe0_FIHl33jwhQ+Ga zrbEyhoT)i8JbjF2=SGdGG~pe4FDN0uHMpyD;8Y#S=gGV3@n@Xf7er7YS_V5OeXvBK zu)hr^QM{AquU~8wbH`0iTUByClm9ev6jpS11Ye&zu@sjgkS||WY z!C1XlgMfSDVJ&4@V>EsJVB|{ZA{>B$iTl4l3AIHFF@7>*ayPs5#Wek+oB3nfRb*7k zA{Z)*5`MihH#}8+`8ltR`8D?+FJxmZniXaHYB==!^v&;DKSBLVz4s`Y_Z+r(awN5V zNwdR7Fy@+Mp}v~Fk>r7A>jHIB>CpP(q|$U~UqnHdb;#qR^k%+6uc^w1rGoyn@fkzcL z#=cDH7S9UMjA{a(@JwF#bhC!Va5h^2y?3jYS^uZ&*t@s8=aJs%3K-eDO8}@7%M1RV zOWlt?pH+V?+){RXtR(cAgpC=y^>XX&A@L7N9x^75_eYJ4?xTWy_dGHh%iRAP+TvU$ zKZOJL*w#gbiO+I(_$AGRV4pqs(M1u`quNG|75mArU(5)NJ~q0KrGtkF?%hW4ts#8P znjZnW#c27*O2X<}Ar&L9dI2fI+ne_a9*18p&|La&4j7(SY~Rx#y@Nz>SX|&M81BUA zm@D&`{dx8%IcM|JXf>^`1yHqtlOac*T~_$cwznN}pYxaqRgOLl(d^K>^Z%x$)Fvcx zq+QvnH1_mKpnCq(EA~Y(xvwpEghputR1}f>49R%jd0PFjV1O9^C_33;MIy>AQ0>#i z`fIaGoe{a>JWAzTqw&HtO;|6Q_VBcAm+*g*u+7PHGjrx-pO?O!bVIBAFhsDwPln2* zetu!g4YlqSPP|pVbEJs*W7fD$&N`{}hAdo)S5YOK3+kzi(u#ri(}Z+P*-F!mZY3S!1w$gSTe^{j5s zuldOPm;N#<6MSmB+ONST1Wsj^LMCC?NoU?3j~dI@>e%CYhh7&!juE75VKE{|nsl>A z(4+FTk@&BxoU#v)_KQJb-fy4V6)nZ#;=Y{g&=l$H@^w!ROQ(BIh*zoKdW}Z|=XfWW z-A8=PQl0D0u{2Yc_Mnrevy->1D;In3eNlT*fF8?76(@Lv)tvMcK7h_1W*0u^_$YGj z)>v^X<#p+~t@S2urL9o2TRSzV$h^W3FuGq;lxNBN=_2qxO;GKfdHBFk5hwj#s6k`c zRz-dINtpYILU)-bz^v6^)x6appwwgL^H0}%#zq0KEq|h=WmXh)kq%p-;=c!-c_^eF zyjQ>5*))(mFnnVXJzPREzUY}fO-2t}*^Wpb$lztl|80v6=b|z|g#mDHYmPxyixkVT z^s~&h2S*^`YI%U?9z%#lEeDaE$XT1)DXH&Fys&+|6?|Q0bmQr+&{@LA9j6fKA79Tq z4XOuLp96m-1Z#i1@E5mQpT>*Zahl%C+!FWV2y?AuN$rInp5`O9{F<^%ovPDF?S+L# zuE3qCjm?Q53^D@Ev>xng!aCkXb9#+4F8b}TY%5|pEm7{7VLm7M`I!-UwLJd@Z?OVD z+fY!EbpkWPjB>v7rVnRe!=`L~QmVUJNTXWNBMATEx?s5NqfQ zEXg884gUz(@VFLoZDFuboAzT4q$(KNUj&ZaQ!&Pz-kIDXFWs#Pb1M?6cxwMqRP=n< z14-d$65kFGY5!QP&)yp|pGnC+sBv)IV=uU|HU8$;r(7E3d1U=K1*?Qnv&gm-jUC>Q z>(mXS@1wYaR45Q&i~ex9N@?qu{_2Qkrj?OVfZ61Gt08AYlQ&;8{L?d@`TYoVO|D|& zz@)_31-(Iw?hq6_n>^}sd6MWV?}{>1Utz4?!&fs~7LK1Rh^KA#d)dSEtb|2O{q{1B zIe;7#S42$!Q|o2Ay-v^Hc9Y>JHJgXn$jFMST!~ukAL$km$PcmGDKYb0mjCijz&hO6 zIFc2oR=Ptk-t#NHB)|5@uOIg{-=Inz3`r(QW9(fq;1~vY(V$Y7`D$rvq-2MOq$5X& zu8RVc5(teq$oorn6H~eJZ4U!tzdaf_&PnY!&OEWkyvttoq&`Ir0W*aa| z-YuQw!bZ6D+}+@jHXSia>x+r?Y>V}5mtzQhzS|5Py1Od+=Kfw@il)e10?SnXJ)qibC0T>LZZm1#iIqi=;Jix#9AW< zI?4^s@7NEUJ1%nAvq%ty^=PBo59>I)ueU3VboG0OSdML|yykl2Deb6U4BV=d6X0UE z(_NnkGq~UON44QYEYE*KDzSddv?C~&_jAJqNHg4vU5wszFI{n;{WeOXd)&TCt59AT znK?*3lVBly_REj_abfI7Fe)+*(>=X-inH=BnNm?U&N#9{-(c8QTenXTVGuVIu^6d( zg)@_{PsQn>WX$~}$IWTm%p}M$y#k~C+)IV`y?@`Yvw|4;)dSo2E*tF|;~{KV^$shL z&@ue;JQto<(CuFsR}AWQW{Pe<;KlA&SSt06iuBFOZ}%2epOfV9Ykv09J+3UCc`h)a zUao6X&#mvBK7Chw{JTet>`;~@aiS25HE;a{qluE%3zNiTF-xIvJ9L)lL2NkZ_ zPU3!M6BUg>)+2v^o_ELkikNG3G>=%5KRIG}DIE$K>X7Gc-qQH~r#3&^)5IRBRo{Cw z+kz>6sRq!gR$mh&8xdE~#J=$Rzs=W@=yb~XPqk-N@jc!BxQelwNiS=Ez=F)QPwG*1 z;UA?ce6`W1r%sZ`k!{_%~7lt!AGurQ3Y#p2qgs z+uHZJrL~r;VigXV+lOD=3)~+u1n2FXoF#R|HbR_;uE-utJ?4}VUO?|7`T&W!$CI?hNvXE#7 zIUE%@nO?QlVlfEr1g;#q*Q%1hjT(g&Bf{+;S8~KYvQcVIU^aVpM@@k$fo%RBV(X4W zY*y4ti7~E^md3I*`A(xXrd4-q3U^jL`I?49z3j6g@2Zx$D*DAWgB&@i+FS@)X*}T2 z_Nl|y#TC8t^otk6c9R^7B{n(q_F+xsmD|PXd6KqO5`y3GPDM|Q(#$_pmU3o`Rot&esgg#16-Ixk()%IldhE;+E#bd2V-tfl zg(dp!Gc)Kdx1Xh%yYDWK3pf9kaoqb-6XkoC_*eUt-~6}X<~7IR_m1i!0+Uy6Xlg#~ zz6@vK;NW1J^vwEUqxCQiW8$C{8L1Z=f{J#<#D>*cZm{Qi05!TyocTQ@wOn}P+2XgZ z)(k(_jHzaHrMOar!zzB)e6cMXUSar>3)hG;#sGzCA@{)^1^an#bY5w^rjc7Gpo5EwvE z^F;79K66qUSD)YWSAoAj%@$CN4FI|tnI{a^GQrK&3>Q8E_ANl&%$K&ZxR$T6R(%j* zDr@`MnW08cMIeSpEdCtnJGPth(oi^9^598n#c z`x6-N)^xRGpQ347C>|a*HAbDF-`vMw;Jc@XBn2w{Lu+JNx7_58$~$j{f>mfz-8|Qq z);sXTBn}2FJtCjEU)KDB9ga;R^`2JQ3Q3Qio|jn68?*_q+6t6v7-SwdoK3Ab;_m?c z2Z@4%X()@~nQlvgG@4{rrQNX-8*}ovqddo5`FPUjd|1yZOtl0Q6_Q3~S%GUO>Jl~H zV?P#r+_};05^hFCb)_yBxP*(>=8yKUt@iK<{7}QIQI3X|OfPg$##ia;CoNtHyGbTx z4XDwuI}C;zydZ~4N$)Ky$)asGn%rPfyHi(}pwmAXpw`H~7k$^}%INvAXZ zuMW-Ru0=|BxGX8lQors)`UR`7FYUN2R|`7aVzph)td$$1K2g&O`?T*~ht>v77JSfm z@wvfJuDo8q5fv$(KzDvmTpTE3XG*xB+k0`8G9~dg9aGWiaD!n6)JUyN$~?Tcpg+7l za2BURR&r3-w@ldJ;0FCE#5%8r<+XFRycnM)7$VjigOJk!1|Uq#caME=#` zXa)J5jihc#UW{jx4Bi{8hW30qsW=nf{ZM7BDj@^wr!XU_4;PKQN;(mz(e#zLUL=oM z{iPi?K9HR{#H7J|sC(zg<0@wZ6DGKvZ#vssZ*k%SQnSE|wRYqj1FZ7NP;Fm-}N&kLo89ZahWwW1r()eHV|$ABdWknEY3)#*>v=ES+a z20nPb_gCuPp?4kD4J%l?pBxUw2Ti}fkb9!D)>JtXYkCoW4^uY`uIKxTTZx1Pb>8V|U}g|MCKUGeXw&X< z!hl>@mRfY2hT4Df#Yr46HrhhIn|NQ~!NyX=Let1b`BY=niP}{y>-Tt|;rjxo>qN8M zC*diC=b^lnm>)V}u`D-zFCHwo-`1m!k63qbFU72~Z5oa2#4NuQKu{TtKqyIoP;Z%P zme^}in#?NzuAB!`CA&wY^J3XM!05Jxk+AuY`hs6T1LI%EZxc=PM15LKnUuDDphn(L z054&>2fROUmx<9!l40N&4FKLOd>ACTJXTo9?`TB#gO;g0A=%g4iJvbQo{w*+Iw&o< z5q;KGx^L^Oh~N`iBPcd|o+r>K-^8FhQ8@|jjRZqEhiK1U%W?avZ=S!ubdm^zP$6Rj z<1f52SgGBX1764?TbF@fry)u4{Q2%e*ghhL`YsDJMoodI0K1*7GqRX$Ix_*~q zDE~`j*O?BENgGIjag(5KNBN`cSD?lLeN%!W(U;qLzrA+B(FrS(OwM~%)}v^L7Q}i^ zj~X3h-#}b!}&W zJ{A5U*KT&Ju?WxLrup0s|6pK-PC{bh184(QmF{0{X`UXgZ0>3412}^5!}WW&r&SoB$;R)(iwfKA z1?N76NqBATdOb%y9SIJmU}u6|sYv-o=qu0%>8nuS9xJU@)^<{C1|-cxVaHOzkZ z#_8yRR{O$9okY;+;#aqK@@9XJ=T)443IeqwX2K+KNyL3AG;*2VDSVHd;HuF~KD&=4 zdyYw4(C%yjb>_d#VLBP6FHVOMYO>I$`;AJu!(M_;6$KT_S(K6Ql;pDspw+%s)Y_`H z?qux6YyO_)x7qZ4%DsdC>-|1pI~Qt7dK6i3d&oC2>P@F9Uk$v{A@S$ZZ1fS}$zZb6 zi$yl16{DA}{Pc|a^ZDm)N>=lI%J0;)=l`auLrSiHyDc6jMsnADSN*eR|HW^!)!Hjh zftrIc!|Shd%W;Ac>B(m_-z7*1qS&Xs+SEZn6rP(pj-%bCPzoDO=k$`xz--1jJoW<6${OP+dl&eF%TXMUL{hU4$Nis=l(C9y90UiyV)6lv3Ds=MRmBWyf z{RdzdAir#}ZeC2!(5h0R@t>9e<7L`sbAx426uqV)32!ul+PZDmoGap;OH} zHCmDGKLchYXJ+e1*9F~P!579=Ns18LI-XiScGx9ZiD2buEU#nW3hG70zp)>f`80k; zhh99E5jZQDH$P&5Iwj~qZUncOxJl5&pQA#jP}nM>nZ&P9a-~v|q*&>qg-Og1@+L*| zw5;xe&GV%3)=mNh;R}`vi#6^oxINmlep;t;AtYAU#@5};xic+yj{Z%1v`W&}aKDMb z6p~3&14!1lDP^FaHezC_Y=nT3g82fZNUhIuj*|ve?fGfH(muE*8vZMc06m}Cxe@Ep z95$<S{m{a>BO9=L+b(Pv(JgN>`^O zn>|0X)%@243HN%u__*XG^4%iN&Cm>SJ>f#05y3Xhedp0f-p%dE{)(8K-bR(?KTYrI z0vS2STq|Ll9Yt{jk^0~+w{<7R0Qp6q?z*=Vjt4N&w`Nv}?`%hHKrAdJwEncsNij=OHZ3$RiaX)q45pbcNQiCmxk<4Kq93a2I zANiSI1o9%di$v#ATE5yk28YL=c@upg+H*5Pb9hoZPgI@4!eitWA>(07BBC~G%IL>s zh@pS5MQx!wcoD!oXC$}#w;9D;#X#fq1`i@mssX=HNb2)@{Kr9nFu$0DzVst{b&$ki ztiWFx`1+5LSI?oK+AT#WeVp2(H|F{Uw=(v=e{W;iTk@j6HiNo=&i1zr7t`bvoRxpx zjK7&HNHb6u>Wcp@yXs85;|b!AU~$7eYd8foz#8{@zxPK_Znr0UBzmgmK$o~*i% z$P=$(tiY~6eY&0~*$j&1-lMp*8D*TNm6{UCAtn5Ie3FME4=qdI})p|(a2QRPnG3ZbTN+PO5#$Tj<(1NqtFH(soCriERG z5;{h*q#1Gz>+}AJIZiz@SO%D0d}Wyv0}FvpCCtMgNFN=cdyEm^+WcJM>4$cXoiF3v zV-M}zZ(1&S9LY|y$WOBPGtDW$>TxbBpIBFwPt6>~$&ZlZgMCeY1{~oD#8#T+(aXV} z)mId1zKfXIq{YJh{ZL{JS1=oj+hb7=Xy51W&!}IatUIEuynB1E+!$t7%zRKLjm5u7% zGOo>h%n^+-PxNi?=>m@C)?8#RNfbFS@*q^CR=h$lN?Hz}6LlW>A6iaUt6qI>$(8yk zIvba>-gj|pQ3%yTk;d*)GZv9?r@gqDu)ksZ3GVub!gH2>VZ!Ja5Pec^_&Q_zS1xeun$=?F$OX4AX24P2D2}|{?YPVC&zw^Rz0-h+8O8!i+j5IbTM{)zk+ir zrP;H|>O3AbchaI4VD3PWo*c>YKJJ zWTwJSpUONI7j=g>`l|lsLNGs2{|v4d)MPUMSy{}_BJ4bAD%Cks*sv$|T%Be=c9pCV zL1B&n44MNX_LS$6BbuZN?tntD%UhvgpG@OlxU-X9%YJi?&jsK9!L5@DH)2r|@1UyB9Db%l^v$AvUdP#@I~3rCMs*%pG=*w(8eDg(!w2U7gw|@TKF=IXTGl8kXoT}5#f9FSu?U$WSnq9I!TdGj zPqLOjfE@^`ybNJl;^6l`EKz}uZ>%s43ZqH{WKuy>HI`;!h5{S2NJr%2P0rMYVID@A zWY8+9NVfC7;s)85y5_Hf8%Ids0K2#>RMO>O$1A9cDJ+CJS2aYEjzQ&v`L3wKay_ou(@#Sy*!KezCr%xr19ekk+VFNWJ2_57EuT< zq&h6%x-RbOrk<@e4>VQSw6|mY1ZUJOmUh$%?o3K)5EhjzIc?kTl^SdO0mx#@iB&e( zLuv$w$kwT+zp-@Lm}9n@-({u=m~G)nyir*jN#vkjGvY%lj3k3~^F6OtU-D4e)Kym< znQXGtcF?BAC?VRS%GSaUxx+U)MvOpn+{V$bWEWUr-Pq7~-c0A$WCLHz7(XNF zPcZ^ovsv#gAscnbi2oa?b?i0poel1B%gniUPw|IS5a!xevuU`*&AX@Hc4UGc`y=ru z1W;e6{VNWa4z{566W-k?i+s?Jryt#4|LJ#_UO<0Ay!?~+7O@aP!Au){-P;W3Fk2+G zC3(@mQpPQH-n!no_86*>Omc#>!v`;r(^$I;P8!JG>U-zz3h=fLzgs7i8{kZUMdMg0`Gj9#%cnmcszjHilT0a%d=q1&+izYEBz5lXrI!41QE6P;2mpoh&Sx4% zm%c64i>`OYCJtebD=hi?j)H%1Ew(i`ZuQVVr2&5^~&Ce$*s=o%4}>Y4^Kxs^wnX6-#<8 zaNzy(i|=|WMMoflr@7&3_=AEQt-samim+^Exus+G4W{zFb~EejyG2RHAEB%?48A#! zwbi*l9^^w1Jy-mX66#A>63+UrsQJIA86-J!_CNZ)E0f&d0D2t`W8=4 zHGArurRuHfTfqBZaq5%Y;T4^E$+@9W)n5*+HBKYTB09TZD`i5qe z%KiANg^j=F^q<=Jj{jbp2PmPP!sG%<5U`x-xxsk@O3TVEyrgf#bUnNz3*ei1)-jE{ zMI%EIVN=H~AKcT5>$W)YQcgY!NAibCO<=mI*UR8*jAw51vhQU}tzTDGZ~EgYR4l^++G^|lsVvoG6>y3T%-uNp(EXB31gw!?&Xh199a2bDQ{ z;fGuGpBiuL_kv#0?5<72_$NxxjT-h-oWhjs*~Sk(f+rH(f4#>1oNflcqyl_S7Sr$;K3JdhvDEhwFk@kUcyKw zD}B3?kNrKiP2YBGu6;Gz3u&8QTrjO&D<_iQ?YzZ2=`dRf=}>&VX5FEf-z4$2qktUIr z4F9G=G2jlP`>#zN)D&EFNNdVEo{jqihQoYYT@2VQ3=gK@Mph;m{W z8QiaME1Co&3L|nKd<`7Up3e^3D||fMXw>ltjoC(;w%>lqq>(Z+MKgc~G9O5?lX)UBaQRb{&JWhZ&(vRGYLhYt0I?kmhAp z;L5a&g|Cx|LFSk%`E7`(6Dv^;n3=s6Cp&ywMpht`2m8A)u__T16%>Q`T_Z?N$2}$V zKRx&J^+)z|{2MN>LR8W*DX3lz=eU6OyO-N7DjH=z_~I#Rc=3p^6Uk~HW31IaOJJ}w zLgu2vk7y8M$ZS10c9o~yAQ@7U0V=so9Kdd3a%Om=UbH(*%}a*^-Dsso9`-Q<_@@Vy zsY2jF35_V5=EI^Ar53ff{@;45K3nh9+PBs;Y)?JGwOY#HIMe}RB~WdwVKA55)}iD% z;4+qL2)oKx!Ou>7$iGDXAgghQeO#-E{|nUQOUvQsL_1^b_iwlO&cNGas3(?AGG9r3 z{+sI`IyC&)$C5}@O(#d=>!%O=$utp;Q)Q~?8r-JZ3u*_-k2vir5>%&cFuh$Sr-tz7 zUJuAQ7r5Tk6~D!1nB0G>*bpCPGl3sq?{Y>a7C{e@xvByKba9dk;osJU_p2N9N4KyLIFcFam zp-q5s3?vHKXk5cPx`Q9~9=0YzYoAe!BU8XDa&(PF1C4@U8d=Z}3LHxH&2~DUCrH4g zjxa^2n;z-_t6vtsdKluQHLwLM{kliNiQNL1cLXv-X2Py-kIRvL81%NF$=GC+Gf7d5 z768YSP6by1?zSbL%5ntNngFvhx@w^u@v83Nu-#Lj;*-kHb;K`DW|77Atg>MwgN zdTJuPp1yN2N+sG>2bud<peKFd zC%w&rL#S&+wZ3zYY6)ZTjB10=zf66+V^y`*<}ou_Ag*)i?n#wWHcNDmcyExF*O%>X z%_}qI*LP}b3|pF~1B)!y#H%U>bLbS@{pa#GyDBn!`8B<_OAvI5sgCmP)tYO_eNPJ# z{kz7mH*L3})IuPWN%+8b8*LYmAE+6q8Ifxp!qlL!@cnz}69XTJcMa3c|Aqe~uq-2G zf6;Sm~uOg4eFN!KLjy$9~Sy$kl8&qg60u=a|qag{y>_-sLI%x3G= zonHS|i}M-Zz=l;%KZ|Cbvcxri zUs|2#|E>x|+AUE5o#3qLU&R({*!w+kG`8Q@m5>cWlIJcDllLh?IgmoFea4b(y&%7;&i&&E zH?1Mx1Mq5c%R$pGFH$=6*G4YP2eQ+4n*}9qQoIm?4`$(mT0N~xiY2kM^_U8wOEnLK?(1<0`gabH*FQ>OoOc%TA&a*XHX)N17y%s03_*raAtpJ%&jZa#C+lo5 zJ%>SXol3sIMBU_(`>PtR%rfVimAS{#b%2T|l#lybbpi?-5>!|0CV(3EU4_>?qx}5o z$m3z<=qMV=fSmHbgZxU4#-+S+n@saAyrzu?Dv9ED9(i zBvY)fY45>+ke4eDGo*}Jp;$@jYM_DCoix-tn4o>=cGmq&6H-8m_5czX6;9x25_|}MB*9Bx}glD z`cu=dN}-24uG)x%${K#cufO g}AoaDN@OnVZ}LZ_nsC={fPfFs7&vnlTq|KdAne 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

    3F!)y6SU<TD*2Y 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 )iK^4j1ds&`Es??!$w zd-;j|w&#Mm@UUxQe66DPBLiS;!{oxX0{_^}UrJqflt=|!JGQb7=o#I@%sz$wE8)b8 zkB^xa9Z%+7&!C_Exlm<7_Nl9a$feVelF+b)U{~!EdjQ*?tz|5gn_wtY%8!Ih=*Ywn`7a( zdnA8f^ssKdH14&I){7Pk13yb~tH8F8=g?0^Mw^*`-2Ql>y(as>$#c6r=xnmCVLV4X zI7#0Ax|3(_bi0Hx`qhZJxHP`c7TR#A-O{(tsk;;1=d<#=E%|TCjuD!-*xSBFHC|maLr{(NP3OM2R#Ptb+z@A$y{L4NzP{0 z@cFkR9Kg8 za*ucDkPmC2>giq89S;Y#-ZDyrZ<44Sa37cc3W<^-r;c~9B=VI6;+4!MoLJIg1{nOA zW%p~_t|<`|w!O&iPUn+3zWgZ(xb4C0pUx~4XS*Lu>n*KN#R7G=LZ}Q?lF_>93YxIY zTJ1Z&POL$)l0gxjKZGZBiF=aVGoCk8{_intvE?0BdLVdzCGM}DO+eDY?0>=1Y*N;; znW@+s-J0`WDSv%VWFb17*0F{)Qc#$jzqd111K#pXZ!KE=5b7y60mKAE~IkO@(j~c}gjh7ZL zFKfk!#-JncBK|mAJ(lgCAZZWjz?LQq_a+Ub%VwnLpy{^AgykKV+`EvGi z*KE5J#O#!BPP-vEHssmchGG9teAfDb)~*@aTDN#8F|uPLf|Jh-Wbf}+O^5#=6}urM z5mvr!+y?`z0Z~gKU%emK|e*>H+*M4ZO(c zI=;oh)*GrPD;lS|r^rb1_7kL2n|8CMlP&pO5lF&UAdlRjfy$m(joWoWtMpkPhn;V% zUn1x$KY|^~SM=QHe(IlBpiH37HTu9uFjvm>%>6leDduJQu-Le8QB10Sz4Ig@Q^PGM zus8kG%WiY;ZXoksPEV@?P&)Q*Z^XS*IQYo`g6+y;}Wjv!f~ND_$Uq^bUhAOP&Mon zwqo?@2K}1T$Wh%v0>66FdyS|xt$WSV{SV<&RxiJTl645es{HHnJKT{669*(aMeJ-wjHo1>U)5_7BwHZu25y+#UAE%YMpcq(dzIZPu zn;!*8ofAjA`fj?RZy;P*nvtT%71oZ~Gc?Lu)1S6bY1geg*+U_Djp|$I&;ptMy{&hg zu9=k;(;G~_N>+ILfYZ8ct-LIkel-6{fqsiwdpsh>A_DNb<&nb!-uB=}Tf_{+)@(fT z{qx~+`%Q!AR8Pvj-qI|~=Dp;)QhM>%y z!MH=Kzsk99w#@@9>+l@|mgY1R#6bG1!^bSzN6UThEzi3;97{)$u4ic}q>_Ot|CWI! zl|V7C_YqZ6x6knpzw0WDFp+Azpx`^d2FwjKDoacM_i{exV2g_S`>A_qPwqBqs{Yh9 z+7(783tLsj!OztkB2c%ybvy4=wE2Z76`WM_9 z5s9?^l@gBoZi*P2ojx_HJ-^uK_fMXA<0(w6C%|WVt%YcTMQMUIRq+xQjWTWKE>4BH zA{j=2;qq#Rw+5njlM*bPk>83?Mc%V&g!5hSx$DB`u+einD5%CXbmQ_P!;a>G_~r(* ztVHYmw4UITvb9?nRL8yo{c2#F^EuOrd`}Q3iIUAIWAfkLjnPnuUtcMQHRR>HBC7Wn z2JcPF$$_b)_bzMq%{6mv0l9&$t9ZWVq`2fFy^65NWy1de-|*Ka8&)}`l&B~&KP~&g zF!eslxs*4l-^`mHD=ve(HQ?O%+Q<%GHfT6yHuwap1R~-VqZotki29)sKl7hr^+H6HPXl>D5XaNUkMDg9(d;%f*uz z#DLrU7Leq3E|k$Tct;Ld<;dLvinEcgmkt`}+L$HP*(!$l5%>-Ic7ukp0XG$jMyhPW z4YO1FtKTJ5*(lxm>3f&=f*w1dNjsrID)oZIDv)o4H&oEMfWCfA#AjUmtNdRHhCt>; z^Zh`z3Z)nu8q9%MaRx{$&;c`I-EKG3Vh!|~<9^4(xP9kRkSvM%&=V7n!n_0wk@bf+(0kH)C}6zyRmGS#xMR{wcX0G{u)k~85Z zURh(i6)^kUknI-VjYqZiDb0?Su`G_crM@hV+?368*Qa^t(hbhd_MSn*)XMs;D)Qv5 zmMsoDLT!fDWoy{oMATSG9%&jm8vjdFFpBB1|Cgw!3jV)DMGlXMDsTF0DW!eAYEdL@ zz$hj+G=B)aZTobu+Eszwk-srd88$m2tHqlx!#22`R83AyG!#SQIi2oRX{~ATjfS|= ziuB5M=DzZnTalO!@xO>n; zeP^j)Ht@q?%m)b5I9XQc@?U^eLJhR~4qXZfv}-dGJ>N!u;{HX4@ca~1G%L$(W?c!% zZ;Jx(|I!z33~5(FH)OlBYNEK_Sl|>~!VEwhtN2G8W3wTi@)dCgn460s1fzAm>bM$t zhU!0JDF!IDe29Uo0dG_OfQj$Eav$TG($$OhV6I=UjNUSfe@WgXy{=B7&@)9q&Xwi)rC4oIS!%2O| zHt4t*G`Gj^L$J-&KM;P%8d5Lu+>(D~h};8x#`Na1$| zVRs)IMBOk9fX+KN*6xZwugET%U`?xBVC_r1q2k%GpjoV(5-)$6pln}G7}-5}ddllz z5&K@Af+xOLsJVm9)6#Gmk_X01@pL8#6TV2rg{9c&|;3s?3 z|ACj~m>SSj@mS>H2Nr05y_!A8@27a1^hw2o|1S7WufFO}d{wcLKfLuL?J+9vRB6`t z|JK=`CY>q+`*!X0Xo0}#L{)*^DZ8Y;JUD1M8HFD9@9lF1MeRZrv0@{v+ z{%P4m%GOQjU&X=pPcJjoj*UumvYqxfx8*04 zlG-!tJPLF;ZSNqy9jBUc`}paR-RflF3%lW?FY3u`+t%fgKgt-4-Wu{AC`Xvai;4nr zEW~-694AvvdJeYaOcgic-4QlxDIJA{N;AX`FmzltCdh{21M*Db&pX|*2i8tyGlUAkj z{R?0&-n}X^1}T+GUBhC{trE2Ry%B>2mXhQG9r*NJ5zTwlKVnsxs~<387&h*p;tS(y znms9r4DMbbHV179?yAahPOW>yDWu>`)$#)mu=dK>r*i>c<<0mTXM0N`mCl7_0_;!Guw@YUWtZTds27NvG z+$zoC9?P#f;A&PH?)5zy{r)nsJLel6O7^v)6*Ua`oYPldAr);Jq!`{*#_M}6=*esx z>O!xM64tsEi83glDlL6SS>|n^KtH{6U;nH%p)A0kg5B0==5tOv zRqg#|csMX`hWA6C&Eq{@X#Sl>L0f44fKP5rl}>kynL$god)S@E>5K=a);x@BAoR)b zK?$_x;tuH!Nu1MYq02O!3ia#JW(CQ;t_y#*8@^|)>U}q^oSWXWW8kh+rBE0yVjw$-gz7O0_%4n^a%ERwl4x zCP3!R)u13Z5To$0Z^-B+{!Na{mhQ^W_J(WMJmVAqBa_D5CfFE19e#E%&=Ii@Kbr3Q?{VHD?a8e~ zKb(#>Ym5Bg#*EMGIV~1~t6{*tR^ZVzqz4vxEYP|YO_<(Z0T!3dO%#9Kzf8`#(jd`* z-due+$4kWFoR=-{=d)TgdCG&#MJ?nj93|EnDrz3D$6F&&G zu4%sz9Y604(70`=7eIwmBylna0bay|y|BY_7M6qRdX>L&XH1VIW8}=t+ZuE2UE318 zkM{mr*u#%%UqmF$n>yq#zEjM!`GWmYC_F#)^2OdT{jRz#bY;G+-#>ad`Fs1@Eb z$6DRRP@v&j&2wvglxOA%R+TmMMdy zj1Vh;s-x-n*)|d(2Y&>D5f2)x>bE|R$haKVrp*3%@G=2ZH#oLx)RrZ8JuHJtVLi!4BXgsUmD%f!N?Zr3)Z4d)AB#s*?K<@GV`Lb&j%DIzf4$Z} zV{?;Zb&!UYo|AR8r}@|AgkJ(oMv~pQMtA^Yo3}su8CuT79b_GO01^+_v}vUt&~Z6{ z1sCdbqsdK~8P74>t@u1&CJo8?*F39NyqX{NUh^$#&+_U2sNh9Ec_~^t!yp;OK8y^H zY41X?t4K#e;X%3{4Gcqfhn6Cm{=+!vDYje`3{AVkxVQJ6+@;S1M3xgrTPNn9Uz89? z@3%5?`(rtk&|KD7UF21ju+e~L^0rIgY$;~6gGtEyz;Ymn0_TYx>^6OHe1=S^I%h$M zF*%>dTQ&1;o@uLd{E36B`! zIcL6xkxkCp2~^eU?JE0mH!Hmlm=icXLH{9-A+JLahzXF;XEO0&DdZvk(WcAnjbOce z-(`R<&IRd|H+I0f`wKFrbEkS3T+LtKu%J|0!1$OZSFu8GM9 zvH^a|uM#w{4u49%ThzANPaie0#r2=3Eyby2U%FgHo=44IueJY(y#*&fO>5d7Firlr zyn~}}NG0?Bt=}#adQ7gaAKp|Atl(VZey%t(8fSO$?Ab!%D)tBjBI&J8naF=JW>k)+ft%(s1*<5oAis>4Z%wD{U#nqd-u(~prVf!ebK7rVdDXeC&VS;rD1GBU-frs`oUEL9mN2S*X)h)W zQeC7f{0^Xk*((gk7GyVK#6(pO`XS%{yZ@F}oyAM!%YrHbV3wuJYAoe0YYqZcyw1YL zGt@&4$Hv+1G+@r=>93cEw_Ktmqb$keR99?xYbEnN?)hB=tLrZ4q{H-KpbWCk>XDiC zGig22vZWS>3FX0<^p*ItkU}#Pm&utLS7vY0rz2LkmGI45)<*sv%15$$Wub8NTKp&=z zGDHcIu06Tl4_PJCnH{|WdE*=$O7hb-2VtNmmx=f&IUXi^c)YC?2?ZkM z_Pat7lb1sW#NM})HyWcxJ|6hhW-iWJaiaX-qC;Mxxll3V@c3o0+?Ub+zzexOl3d7+ z)LvOGo}j-_Y(4W%)F*2CJ;G#AVt;n?knalG8@ke6?N z+HfWNd#5a`7_t7j<|>*_!W;rPmr-xFqk_~bkMt(=s{X6i zeQzuA+1h=@dnNIJ@s{e~`Mj}NBzyWcsk5*{{mqQGIi5$@agaI*^|W7}+p(;nUq5$n zFmpEUt3sXAC^d!}{FGwT`i+C~Bd=JwY;bd$X;f|*pvt8uALUB9SS z0DiHw!EF&kP6ew07_v^?qjjHP|I8z?*jz;9!9a)Kn<~LMkpe{YK|(GzC(F0}S2EE) z=;UI^i~iGir-?_)3^I=qxV?dPZ9LIvmvZWC&5dy92HTwJUbb8;b(3_Z55g}D{mBw1 zqb^K>BG9Wa;7H?njq{08RbPnt)AMz6kMomk_<<6JXOT!?ylL-@f~0}1#xxH(*m1wZ zo#_94k~vooAOMuM^t+f<5S@)*JQ+ac{zHbM&R@pa;!U7&F}ZmFS=~f z1l+8|J`gKW4*KS%XE_o9iL@vwZ`@(*0F2AiHIexEvK2QBh}zH6vY0N2z|fVuU>5VK zG7|6B$wypkPFwCs)J5Ej){0coNm7_RPM#l&d(@p4^GEO$j`2@E6kM~2oioICIbKB= zR!1BFbIch@_G8Y-xNkTC1@~Ja{SlYO+rX?g#xyHh=*S+tgHjyyux_E3dptbYJK{G= z`BHm7OK)fLDBb14-_kJhJoWO@|L+LQ<>)&W!psEjyI@}Af6Yxkq%jAA8QmWQJb&3J z(Ri8Ur@Y8|Pb{{g?pe5vvQ^+;6tflTc?sYNEMHb`R-F9lNdue+keoO9!(PKNj7r%Z zkXK!F&!-s1<}iJ?Lh)UqTvDhM`OfnWI~}Guaw6Y|iYcy<3OG9ZbyiLAhWJU28)#N2 zldWjP<7c04FG1Fc`ph%`3~5P|ZZERD#=v8)Pr`|pW$o3wtY=Jm%R-K2pEOfXGsEYp zGZP#C)~duo33By?MVXGPqi3J=dxyW;W9{4jO=M0RvdzucNO#YymC$pgf?MroB$^3e zgxg%>%w*-pTqvnwE|wtpE2ukVf6=iMJNKG!Zy#~*<4!c758=JUVv^8^LL>*dhM=d2 z29_fl`werdvJGS}(#ev_zNZlMq^*NPixo|Zyz*fv5(=bmt6kU4_nm0YuJ<&e2XY@4 zQwHA5vA$y_$O+u&^u-mG!w8qM=qLm3GM7_OxuyvhVXHE zHkLGsJePddvYuCLhXg+#z}U<+vtQ096Wq4!^pf-Xe;g@o{9+#Xzk9aCLDM;AYjH8i1@E%LUPNGtz3SzXaAwLdN2 zXY!dDRq>#l!FMmQ2ssU^5yKr~xuod^=})WW&t+lS9GN>qo8e8W zDgLj^*+pp2U~!EyE%J`_i7NTnk*tHC$P&@>KHtWx6p06o`L0+xl>KpwYz$IpgN1yvcu*o0xiSWmI^7eVUhx3U;##bcP;Ok?<1JagID!HZzkk?= zyJfykDr19B@FPAdDtco*{z~)qiXJCZTSQ!nGkuDSuyU;F{np}pF^B7Q<-E1L^)Mye zg2j(3LOxscIN&1-H6Q=28RGTAyb}Jfqs|;1rcV};t0T*CN~1YS}hrD&hZKE#PmL96;Ig za>QsNGP&A$^Z`h9?%0}V$xh$txq;yu(aP;23PEe$hUBbsdyD5FvRAN?(Suo5!GUqD zc5_cSlaKS^`3__K-ehID@ZOP07^&HMHrZYN*Gz9HDrRb4oe&C2BrRN4>yCB7p_SFm zV#NQ-w62G{*tsMR>g)Xe;1O}@5cI;Q!QT?J(PTHK>^rL4Fl;v`xqWrHq+9QXbM16s zrEi=bK);_~@u1w29djRD+2J=_v53OmCA!Zwrh1vU4nqXn79)emiX$=n6Efn6bwm`K zEM?AQ3PfsO#2zS({ao)$b_HR~1f6g1EDJjF@+ZJ#?dCL=Vy%5qEp*82>4m$2ec5Zy zBvEWWnz3#UXybhbxNuLuGC6Jk*etqe@zv1t&!lcFq{|$nPlz>xH`lY?^Y;DcvV0O* z{`W20n=96PGqE?aI3Mi=*Kj_W{4LJ5=J&*ml>6T(Y^L?$kCy?8SVkCTR&_(|lL0T*OG)WfV;;8G3SX~&=0dZW-k%F?dn|l@GxkwlS6K!r9xy$bfuazGhF>+`)Qvh&EY=SOn!S^aPi&EScoa@|6%IAqncWuxZh(zR79kM zG$r&ZAiarH1wncz(vd1%Admw{uc0F)C?HZp?=9y>a^EGzRJ(D>d`5F(aca1cRzvA`N?#tWoE#}|qXE-UP=CHd{{!Ksw z#FmIRn=V!|I#^tel^+-D>sJzU>3Q;ZPiAW?sW53Fz~8AbiOQt?Hgom+hM&ytz3ijh z$jPMqPzhtK3uW=`ih>_O*TfvU(utr3|0lX|%iS_E$vmdcSY;UX^2}lgg%|+%GPrVnr1NOT?(*0P&g<5& z7vtLO8>bhX*q%u|D9JATyWhG#mNzKgKdU0h`L6XJs+O=%R#exKSUK?PWn4S-;M$zM z3g;v;uHiM1>1XS+S;}`@IF;;!nW!*Z#AUQgD^oj(0WNwqCbp_}Nb^TU9&0SzQcA?D zR35CKq*W5~LXkHQBqstF9}XAaUOQ)pZlOa({_3@SG^jdnUYCmO(qB9kS(aMF%W?9m zK0lA2*Df`~5ahxUVPmANx%riWu6-l*y$iiqJH$$V{%VRs7%fX=kO2=vz-4SPX4>pPZHG;u$w=D5^8e*P9ma0&pp4 zAJ2yGZV{sUcl_lnvb`Bw!d5BA!S&zYDY`vP*cmmwlRcBh@F(ZB*`sHNl1CR=3=p^;pp{;Kd(nbth85h1+ zLzH0gOiR%)4upNfE}NiCV^nX|o=xjagIfu^94QN{*aIzE1FsR3ys;@8czybQC#gKCwQ$&@5b!e>8lMQ>i>X z!zMJ9UUJ#qVcKPNkuuq4c=hqL)Uv?(q}p^tVtlYZ5T9?F5mu9zxk2V#yzrB8JpU3aTE|fdEodzW51}ZJLmt3BA`1ifKpPV*7g_F0F z&5R}o@dV}i9i>FKxw@cmfzQvztDi3WesrHYvG0U$p0+_*JT|7>k@rib z&jcO5Xn_d)0hZa8d4N53&Zg_Z4TY}V!U7Z7EhSO;btj&qhYE#&V-d!m+mC|X#_nai zxM>Qyxp+jPx?*5BR($?YU+%7sGeSFO|-GqIg# z3FA`sb$w5^e#|Qn{LB=FEjf667$MwB^aH_iD83F#`+rE+AmSTi;i?Cg3q7r7zNHIR zzeM1co=Nj&f%<(cTaMcX4hC>Xc#%UsjH{{j#PuLS0& zzC~BML&*huihLe(A&q*B%0)`H*`U`|o6mC(hihbw8b;LbX!<20XTr&P*orfYTnUAN z>U0!-pFNe+6OT2_ywo8!PQo|k{T$qv#Sf)E%F96qal2!8?vjsY?aSjMo$)#Q<>HW6 z0LJXb+bvo0k~*uki+Nn4sm{;sKTv@w^9z2cq{0w~nMA&tYBca?{$5brk>3`WMzR{h ztF)aleqyg3 zBQIk7RJb>NkJbZ<&I(Ue{Kk*X*4^49$wHuCMruwWmgl9*om^fzAx3bUW&B42#W0zn zC6C9hTptRhK}#4~_pmq4}N;@cr%0Q80k zcT=hk_c>vo40;StBXBhM9EVtYpk_+X|3;dDzq)cwg1;4CtuR~$z5bJ1id;~B3?$?s z2SKWIB>O%x>J%iL2M~i)7ii+9Jywq&RY&}kDw;zbl9PCAkD5xKbH@n=B)moUWqF?i zb3(i#su@x4ILYkX(w7GfH6K_55(=|b{mlLjl{(CQ(9p^~th87K^gH=EnK4wpiOtqp z>~CpmIeft|6w;{?>GOH0jRog{eWhwrY5uxCN_#w!vo3OI#>ARez${D=c&8_a5n`#% zV@P@k{IOtV5jUsc4y&g2a1=d4*7Ff|$IXGWYIXI2e|P>^KaT;raK(-)02n=zvYtfS zXcWWG?227rGGCTnk5kXfTFiR)r)W&Ev@JWB+0Vr^d9;&*!o$~T7C%%o zH9;tHlidotnLi^*C$INOR}aAdWx5AIvR^P!Wajak>50BBZ&-IWwbBz^)0yiDeng7I zoU5f4=2^)`ptKLdqq~)F`<)36nbJ&8-O$8xG3;x>&z`?bC6s3$7ain_@$>@G zX)&y&-MtH<*M#>E0SgH1Wv=Si*RQiqg^VqtJ>UPS^e1P$z;OXJi;gF*$tuY+Ihnq9 zaV7-$Y|(|m-I4c&UqmY!pqv-KbFd~y?eP-s?;^Ny8WQ|FBNoY1xyIxRGsu17a61u{ z1R-@{vv%a`UV!)-q5VNQL4~4QJcZS^nJs~hpsmKD5q_Nhuhyn02C~VSB1@s)UGI{P z(Ru8LtX;m8xEg2wKHl!)^-D_wkE7bz*9^J2vivgqb>G_JWm;Ufk@s3MkxzX)9^tlX zh9Hh3OD!ewbRExg8=S9%@&J5>q+;vCxja^<*)^R2FtTVY%sbuE3jq1S(AoFY&*A0r z*Bv^}+;!}tUwMR0Wsmty3Vf8Q_|fd9n>uC3_u1ZxXz(3Im3(O>$+JWbMi+}8rPLH# zA;KQ$&Yqw;dxX{gOx>9D6|6rHy|>X>EV=-r^}pfG00vyXiah-Aa4wUy^In>$Mx-QF z+pK%ME9#u1q-Z?6T{n?h9nFo5r!Mf=VekbyK*63OvLk-G~KGlAg{e-(D4L%t|k}5{UmF8x?sT7?toMd9)Uy|e$ zVX;XOdT#N$-bHK0igkcpNHunF*x+x-_iT%Q<67Q864TrXj%o>G7cmDC(wqa)<6Hsd zoRifQp9hbwljYBPQ*Tmun4&R8>1}J8 z6ICo;XqnK`#0?C{_1lp8K)FSYLDK0?L5YTWEG_lJoZO4RAy=m;-Xjr+>P#INW@|aV zGNSmpRZ*=!k&&_5BCFQK@cX?^jqzPZ`DzQaVS|GPcj?H5NsSxCK~i2)*wW<5k6mWW z+Tz0E1?tk4TbSBXP4A&{>r zhLc6xuNJ^{FM*!ledud3CBBtaGWpuZx$i+Ghy60kl!wUN_YyKxlXy4g4fi5h;C#JB$)eP~~0{8g?cZU?} znk`hir&hUBd|AbvASeJCF>C&6QTy4UJc(`*^Wu%jcdWtUq3cyP7RYf<<&wGe3(2TB z_mZWlHdG?h$AO8=!C3Gc{jLXR6>@T9+kbUXp|2`^c2H&5RS;fsmy*(X&o=K=4J^7Z zzV-y1`(r-!w&Z`~^1UVnxpbdISPu;cMm*dz-Exn6BAi|FS0Kluy?-okC31e~MQhDG zBriUdB&$!9)xO&Q@joZk5TThUAr-YgJeVZkE6pDNm#`r^qJBT)_pFuBlOt$GFpv(+aIka)5ngDahh|a}5sxeSRXq?`~=^Z8Re(O>+ySzlp!9okgQ>y4FX(7Ma8XbnJr25yGm`0J? z?owQDlTVsu$W0(0&QzHhYK$OlFEv+)cjY?^XM~T=o(VYILa<)x?lVR>pJ^o2_Q9Ty z&r5kYXZ><1Pm0PLx1kIqaG0IxU)@~>&)a33^TJ7xEi#Z}EpQ9wG2-C~JKQ;uJ}wo7 zDT0>|#~wAU^oxvcN|~p2m<{K7!D93M#sgHSn)=6>r05xO$$5Xdahid4f7`%nMa-qj zr(kHC>3dlL>y6Jw;aptq8`_^$K9hKchVJ-lrebeyhFz3hEOs4k*~I~GapP9}zJp~~&+reQ;nCRvn|g>lvThz|6MXjRw0#?+OH zdXtanKl&!12h3e#oAZ0|8l5YkQM4G|PO8#x3Dx3uB}X2SgS8k=Tf3!YUt|4;+1tx&I5SpQXqLZQ)pnhFS`SY!}gZ~UV`rd;w zn1^w`ZErGsH^)GMc&p#e^#Kw9_@iHqlH*@2tT?^7h-*FGvoZdL-?^F!rO>jfvQ$ni z6i5p65!fG44={`Tyk|4`&EE|~6_Hlt9ss3Pn!x3KONMmsTxk%v=>H4)0<2>QPeTTV z<@Jkg-t5$Y%6q_C<9oI-kJHP;0N>+J$r?m?Mn-TtgLZ$G?0Clij7u$JNAk6Cg zkCr&Aw`7nRxqOB6%vJbcCNI9*dVoCY;A<9{nkw-`4YMC zx$}wyKXhRW{b=kj#CKwb0$CY_h}^wwIzb*+hTn&;f(NX7r*{kN5_}rrj0{5wqe9dP zQH&4iw1j$1gk`6ZOc5_HDd0vVk7D57T&`Lq{52t&=(xq@G3bi_TfRPb@lp}tM~o4I z{&75ts~gcK&y>y^+OsaZ@@GtKbDha}q?}!(>=hj1Sg9gLZyi{p;N!OajBP=L8a2-1 zNZk?o6kVJ6`ojW~bgn}}d;eln9?3|hW$qj-jjm})7qIYo?3xl&7|3$;B$#aby?;1q zA_Vqmc8J1X!Lr*^Pi7YHCfEd~lswbVs;x}_`ip<`*G(6@dGqxp{;yn&uoq2ce=>jj z_Iw*nif?JQ7iFEj*NKSptVv;O7h-EyV5^=r-*`1#FnP*Yu+R4M)Zg>vO82LpPS#78 z)!eJ)o!-!sz3QgOJT#DvhWOb&5gU^*DqE~U7~PZ^k6^vncOj>YBS?sY3TnkF9Gg5? z^c*%bPw}62<6d*QVwF4|6ljh|Nt35hPsDx=aGbv7A1rF1TCSUq@pf&ANZ}Y-n(`74 ziu-C>F!;hi@hbA*+#Qpke6imfY|ue`lPMgI6b~-(@ONjhh&0p-U`>3m*AQE zrl-&LVT_m6p>JL@`S8#N9Sa43>HQzve}F*PT#kf2oBj%3=K92|P2nu8#zOPw{lwrD z_3hD=uR-1Jg9@ApfQzzrEb+@*E!c}qEoIiviw{iMT3QW9Uz0J_`karkw`*C(WpOk? zui|bB$_%>jeTc|XD(y>4mMgt2%{HtarDsE)akOt}KpcG&w~b9$m>FtoU)Q95QoO@I z*>cNkeCeX?IB@WV$6#ep;y(Y#??k3ruZhLkZ%v|}jz7HFpUG;CCa{RYHS3r{w6#;n z^)H7jcl2pSTiup#+Eq}xI6D#!P=BND&2zUARBZ=f6U#UYP~b@wp%J zNNl<9gji*Hx+clf7&klJC77I%d(fd@;|(M>?cXus^g_lNR1L4nhEM~@9!Yt=RZook z63$XBW6$-2-}sT*C#!({XD>|hgDqoHOWX(vQ7r;TprhHMzfbRl*|jKziGAfVM&@i> zx9L0PHb1{!XizL1+PW?>(bOE)sxm$kN3M9-{-LQhyi5P$zYLFzy+&VgLO$!^vi3jb zzibDBDraqC!0Dt<1KDI9x#fxs0~|)zlx;-s@%-I{nZIa zugIRwXx$1EPY9pnRzf4PoMB?>A&shA9*miWLQ7?T2LvZo&`?YbC7e`FSUR7^#wamS z9C*pABvhQ7zQu%C#q!@cR;>Hsc#^h8dj!}|Itiz}{Qd__eEW@bK63{;*OmLXk+XYW z{KDvsQ-wKlieL>RV#IOXd-y2Cv@SaLD%IktWZ;P7ob7>pFNf7`v(-PD(#me+1zFIdjf|8n6Z# z{SHQ!d;uPZZ-jzYLnAn|hF!AiEq*)9c_x@&(ZP!Q>uir~KQrpy0BFePegN`~FMlVE z{Vs}oVOo^HBCs>-GW~gR(v#sQ7g2z+0&wRAOzUonZ)aMk28k+2y3m;rOWTYS8 z`n~?NjH#rndVX5YGD1qrsq(;O=O9t{U2pb3!75t;9;Qes@F+0kRx#Eeb?m)WXgyJ@^$WKA=@1(%|CKyX2KMS zs{4!flD}({^b8q)B+>)-o=}|0Yx0GV1#w39_KQ{(_fZG0D?4Lbco55q?dtRPU#wUT zZhcM)%Dq1|-Jf@T&yX0l?O_lwaj@1N+?Uw+!$zrhOHjq2a`I4Pvf~H4{FWQCpMI_Q zffVIz<3JN-5I-p?LLoRWQV>0>@-i&?Y)+kq-N}hk@oc~z4Pd|2SZLwT4`nqp7`#F2 z@Dq6mSquj>nYQ27i|Tp=NkD(QXx#fd7?hWO^+@uCY2v?KAV|KD=}ngjiW*K|5uC-D zBX^xm!X5dS&^5ht5tLKJ}w9ch)9aJCSPvDZ41Gp4rxgUI}7ma z)x6^Sdr2l$X%d30kzqwmkoL5zM_QTMBQipgnmvhcf(LcOG|D792J^6AxKiyse{5sp zo5A`jBB;FhK*lgPRZlWgf_^yiXfMsNDDsfjJo&xB^wdQ>V}X>cVU910E~hTZ&52I_ z$!fI+_R~j@bKK6Z?))Ho{)^TdcZ`+krj&!GN|i4xpr3wvR?WL=)l8g76)A}hSfssG z)sL|G%>!f2&f8>FP+o%DZ8NornY?uY~wfm>rPnul0Y8C`}ZoNj>0fRcgEWW}cc^PR&<6rz!>3 zS^rSHGJ)H~!@Q}7T@V;Nvt1!3DO-6eWKDnPh`k-p*l_&Gi~1CkXkJvQs_|QW>Kw7R zMMFDRF?xm~KZd?{uM)3>mV_ZM(9du^k*e}>-~>IhVTX)R`poJ4deVHn`N-cno$^HH z>?+&&@DGT3LJZLWat1x!TbMhx9ds>nos5kqj0e=p>^%0GSCiLG1?91I)H?6)s`g((VJ8HSkt?Bo`x&M|N zdS~5+AcZhCv0{ucCO6lNS>R*Ga>Gu7d~<`-Qt4;<@-p^g>Nxm+xRL;Q*lM}>>AhG*c>ghZAf*o5i9>4Lc2rQeXDT}{xkyTt8w|f{LFCC{h zm=1oB|LVS;GmQm@=0Mlx6#h z4!=WsdNuzW?5S5#psQ+W@cnQgtlK}(p-)=+jH?m)Fnr(AK{cfoI&Yk^?NrD!mmsHh zKz|bQnfN{Lej4DODG$QbSB%i%XPbP@&xU)DcYNZX^-j4(zAAqSyRhz;4D>UJc^}?_ zo{xIAKD#vSeWnu4UH76P?(Dw}@{4rnj4JO=988brP)eQCin6IBe&A3JW#^tUrFCua zy0vksbAVOL1T&M4+j-H$9J|u+4!5Iy?ixKlWUM^oV|br`J~Rp$~n6A6D>MiSlGbBM|01$lw{%%%p8H#U9rWxwaA0N9UhYGqMx~Q@$ES=s z9|CNua{EKAqsmkac>GV&Wa5pQji|wS}I2UGMPw`v;4K|2fnMOo#rPk_vHOJY>Vb?tl^Ve=X1_P z$G#c%K~f)E_sRnt7wz6njOu!txQlqt0 zQnW}+vn(@KrFK3aC+Tew=LJw&;a(YFa6k`h#>c z!Y1tlDr9$Jm>|8-S>SQ5A0)Q^$gg_kG(~^*8tDF)J?GSAfT@GaQG@Zq;iHp%C&ItQ z0hBuxik*=2(j^1Wws`}bVz0gAd9Pup>QALq4YJ(XyPH_`78=Y`^^G{8_C{`Nu0g;~ zYN81wdR$qNolIM8Yg@TbCLZV3`Lj>GeSSoUuRa!0{WWq9Xd1d^uKVsDjs*{=J?AEO zIURU`jk`?Q4g4MYg!&G%bkc=0Gf%=lOTGWBH>hnh@iy$$WsWe9s!ZL~#p(JS(!xLr z%C&c>cPu{zvc?=V4~H?#S3PF0(4eI|dLw&#FqCu~Y9Jd)Qsbr_fQ+6Utb7Q8x? z&EOuV^aH;T7+Pv`5v}@^Kfwllp_=xZ~x+`be@NO_uW!48!HzubNw>7pw(XB(2HOZ{jM37m6T9+ZmVRn}b@z^gDqThT{PTK+y z30bqW_R?9-NI9UOir^L*s`|3=gV_8e-YV*$pD5JI-$1i!-sLF2U&YwwTiZ`V^)?gW z+pFU4cyGu&s%=A98JaWPeHXTiG3A84VGN-_Za{uI<)2APSx1^`o!_;Sj+%1{H$5{A zwTvyKMJqkW#rM3PaIw`Q-9=?PO6%Cz=b2Z`Yw1%g-bg9q!Jo@6s~{dLA$ z6)|0sQzypSs9f<~o0=&z8u+q2HLHr_ZMH(A#q&B%j&M606;_>KUXrlm_-x+fR;G2E zdG!z4q3T}RuioeR`}zymMDz^dcG>G!%oZB=P1-J{4-G>>Z!RaDc(ho?bV}i~SBU4N=PGi>-=f$CgC zaxGfrbY`o#{t_+GDY2h6bQlkEL~}ZNrtNM?Bm>gs=H7Ptdk($}>Bg5(2JJq*XG*+<+(jxwP#YTKU(uL355DXOrW@Q@NjaT^S#X zux@JXdpOZxEJ5TAc$P%7E_4a{8~*xL`ZJ+?=Hc`kfy1zra62AYgpQqZI=iHM)J-Gw zx9^RfkAF;AJi^NlGXE`Xx=h}7Z520&=n7{Hd*ggmFm$(*aTwH!13d@5^%Mk*X)y7< zC6pzr^aJS0{}^Jbem&pGo=oz)iP{Z9`B$CFi5@Chu1VBN=N1}nD!YWF+3I`Ni!&As zN*?*)H$XX>C?#tZ%bFras52G(vZY5GW7Y6-Z$`%|CM~OqD>6Beixn?&RF!(u=&Yz^ zC1!ahd}}5YFASCCZb2(ZEBfvJi_U1#YMaGb15_?*rAtpCO7gDWTbwnG{ z%^*Q?VTz>0!IoEetU>fEKku_-)W5eR*!sLPs)t9TyrSD(nun&on+);Lssjc$mKOB;F*MLuoFO-Z4QGE<%xBl((kGa1iztBVX*gBgQZPJ^UYyf+m` z9r)?|;y79?UNY-c(qpA{TWp}OoL-pM%^ni?%+I3Adx*|gcb@70oXoRW zpGPCIY{$7^Z8!4>)EYv!EVWQKNPUYV@T=(yC&8TbCZYH;T=~3l0Be~E%bl7>ureTT zgz3>MjL*KsfNXuCH^tIj`5Z@9l+tt6kX9uUJITsvxHdcs3tmY&=<*DEI0&DQ>rNwf zO;TDjJI+&HW}G`NA@k1rf;aXZIKxIzGrmwA(J)a|VNkI_v5$UjM)_`*h?Z8D^p>R; zGUtYH=+Fv%k45O=Hpg(4Oh!5KQ7!iis||?fq<;r|;^EL*Ib?f&n}5 z(pYdws>-11#q_6Gn@o0|I?B$$!b(^WN8I_2<7r@XMA{_M5WhWwfLU^g5-mbfr&LmF zXT;0lFJ3BVHb3OI6nQ-NIaNhm4AwfFfz}~v4-`HQ#tDzTuu@HS$}r{tGYo(A&iI7n zh88j$+PEpY0%39<+JQ$+Ix6x>wUw2sOv(KzxR~Al7 zh}o}=m<5LRSd9LIzqZf(Geiu3thxk3$`FZH$c^*$RzvpJz8$lV?zymv_`T*S-PN%Q z%y_1C3i;-sAk65x#>}!m3M|j<)q1KUp1V$m(LD*UEHm>=1*d{**Ns$kGj%uGpKj`A zhnN0&2w+KMJ9&R&F9jlEYnGjPZ&IkRY{q1mZ*J(FXq{{#+q=>l* zu1cjl2~i0l%1c}3RE;&VuzI1qC$x8__LXXJ?_*C{?WmqWubv`-nPAa9CFRknsj0@X zV4G*>dSyB60cN@vj5tBKLH;?cFYb3afu!cAE~2g3R4_ z%2b^o(84l-6=9-ljJ37re{Gkg_p4L>zEbf~psy}!kskkPRWoOYwQNZB;((d~g+&Rq z%d!>b5QXs>_#5m=+ZBT$=oE_~i|N^}jvZ?EhhF(TO(G*7 z|9^v;sq65g5%F|du9M2fY6t5Ul^@JCz`uBr3`0ZS+K-8*MQ3J~ssk0FICkLnDOKsk zs9Wor`ca(Aain4R8xt++Niyb#)XILs54u>HL&iSsNuYlY)`Q7yq4GXRHj(j+@g3%{s_ zW|-;nYUUbs@ze$-%%n|V;=C0-7IrgkB)7+{M?$R5tl;t(C8!c`PmFl^u^&Fr0JI)Y zTC@YuRLYs00e;1m)1(0a3+S*=#VF8C!Y8>8pxeuzBspRM$;~vWSp=P)vx%wmllKCl znPIGk;%Pq~Llp3Zd4G)K9{QzJiR$ju&Y^ciUBz)>dlkX^Q+SwHR+!0&^mj*YGn+;b z*WhqKcX3*Usze4qWlb}CnieqPaci?aesz2oJ*{IGp8X8BwJ{YWW)jK!2gmup;oShO z0LU=^#0z__d!Kd2`nsUs8~d*F4ysYK(wYC*zKx@@K`~XIt>+nY!J*~}b3+@R%-NMT znshI5vN!z#J${$kPISO0$;XjGu3pZK);)<622f>2YCU*UrPT}wJrv<0w(VhSX|lW0rqNFi}ty+kHM ztj@J}Gbo+7VkWpbGgcqt;{YLkCHmQ!AU`gxBdUgS1WLPQK&wWVonOO-ZF0-P@uBeU zgbuC)I^Yr7XZ7#aJ*lsg#nByTehrn!?)p5{3JIszU49`;3YZS}y~Bd z?rKqKll6RRKoR8|d3GI-BfBdzHhieoD0%6y5t-}H8PQJ?bUhHnhk#xNZ$RflB{B@d z`h>0}Ia%;jDP))?@r>nc=Ej(+mx0PN8BL=V>;eZek8jU>j_qd9-IiKpb+mA}YDtx! zW_2tIN=ddX8zwU)=c1ZdCfA-H9QijUddC!wEaV>B+Iv^`_3U1JJo7k#HMZe9%m73h z2fGSz5y6yD^G%W%;y5$~`{NH<@)%WN1W)7r$=0s@vNk>I4N)saf@_I{vm)hqHe7u1}aA_gKMh&%*DD(eG#k4pvTCHiw{?KmS=U+M}Qo3 zwTV3GhQomJpV}{DXy%kas^QG2`y?%%>b1DwK>Ym^j%_-??S^vGa90Rwpjhc#k16v8 z>#5@83)jJAjf2h0jiO8i1#`I})S2yxGN8ph?51t8GVGR)zH*vX`%n6HV+=eJPP4q? z8HP&@4GsVVPYp(#^v=%6b$(I|0k;yu)568~MP1DaSYc8`>N0oBz8O`(@=1^E88_+?Z z;>e?WP6)}2isMvWxX1vye=Cz}n0d%Q@*=5^CLYIpJaRPh&6L?j51x1MT_;_4Z{Qtx zJr`8xz$Ow=-(btTWjY|OK?JUmn`rRuX2l+4^8gM>$Yrdut@R++6^>5*Y{dryC1j8} zTLnK}`bJLfnSZSht3to4Vnz?hBUh4 zH_1Mvj=IT?kNbxo;}5U+j-Wg~U;Su3=~I66>^N0f1bds7-2QJ)@JUkZFES~R5UpgE z>gzDr4|=SE29C<6Kkfp@+(DC>vtkY@^rsl8@qs=6fiJ(Q-`B90b(*%4x~feQxmO?H z#pxbms6W`HGSKz65rQ)2HbVx($5|Kr{mNtx+QT@-*`r%WYu7i<5u0xbd=7-~4;KlG zvzn_4i^q*B)mvnF?t$CDM2n(dEsHhoCq%^v@#Bz%d&LRUiPh_wx_0kCwBoD_Snj%l z?LAA8H&6pv;C|G+Ij%{}@o5qugg{ZXwCwYB%DC3w(Q6$nMg(eE={FUM&hI6AQ<(jP zXAD-wXD5J0hDXxRQMSS>@*>&33GKX|No1nAlW<-9rPX4KRyV_A@Z0S3#95E`MMQ&C za4$F=^$tW&s>~&&sgC^Rzf#1}-1gmSsZ9zst(g%jQ3F$VKLi|{Z2KrLE7X)*(_7Z` zw7b-@0)|132JiMKT?s9QEu#DuNl-=(n^a z*+XpKRT9n_=bZjUccdUP(41#zLpZJ0ic8yu+4pxWIDT`Rw7P{7%%tryDjhWK_#r%i;!g|puJP> zQ^qI1xSdKHD3VGa$WAz$A*b0onXf$aVKeFrON=eX0vOeF`^%$+c@Sy(h=t7xAM7mst zkdq1`p6A8jYs)c^ZlCY}H;P`uaQA!{5YId|0(4I&i}{IG5wDg*=~>>4`2F zL%2=;r!M;7_%3SM!NLt>6YXbht>07`63v(Ina+p<2aH?hh5i$`8~Up2S4p8)7v01y z+lx%8@qORB)|4Nx&jP-KNx@DicsK&>_B`xT?BkL`P5=;aw(}Q3_%g53ZEz7vIdhRV z59iyV7v$6Sq+!TV=ibZw(F!xTkAkO?d9~n8y_bsL;gwq?Vo}?qlCG5eihw~pL+1J@ zTCPb>rcnhKna}RZ*IRM&^WE;*Cc0TiLf%xvjnuS-Lo7451up^4Y7>c@??Rl4mcfw@ zeris(lR(9J(n6DfGAC)O)byj{&MDz;X}6@2j}Nei5JG`CGOag*qEKCTS_0SFIgivSRR*)w8+HxbePar{VSSZhPXBP9wx*(*AJ)(&_PV)E?3W(1 zK%#J>&!GqK)fvHSKnoL!kGi-HoxM0(&Y|BP*bNpT-ErW`^^go{oPTkWnSAL>phWok z>3w(d;|+Hv^XD{MKlen9o&DoIpyda6=%BabzIJbd?Bt#6_L~6I5!ux%oQPXb@wWBU zZrrj{ZGYc>cOgddUE-tahU}V|>-&A;q(4E}{TOOwtbiM5U*8+;nL}JI@mBlI9t~8m zg@Z0WhW&XehT%w;uH(eBD@F{~L+z7i#q9s)qy#?mUTgrxE(TuRwpaHi*zVgRO0H3| z43HABC4BMp!V5;e^JnHIz1XlBe(_ZbJo9#O5<^CW7c%v4huEOqNL#Eyid3i4q?@Z< zbWvEZ*(2r*MszmFEHr0E!`X5B*p_XMa8hcLG?8K#@KKH z9>^iM*k;}ghEY(T9Z}pxe_L$S{uKE|V)9S!x4S`0jQiu&ZN{(_@pp{-A;R<8<~}qw zfW*Z}t*}2)2GO?RDFTU9PvAu8 z&$0ODj&I2HcxpTFa0D~#4++oPn@>k9iNS;adN(>=hJjX^*s!+Ur5v}a{n zR@8pDUnD&5V^&X7%c<%2COX_L#ZBj|1jSL*qS%CaC}q`FtX?Tv6c)qkce9w_ZVk9bCJEd^ydbMcMjJL7|kqPfE)G;D zS?|>`K1#nLC2IF6aSyV%VrX5lv<}cF+-L8; zHzM-)gepaLpcnA9+~&h_Q|&H4C9O|v2Kl#(lb=GO>xR60o)wP=cgl}G;PL~9z`tK& ze0CxL=SpWG<0DcKEk)$RD;4v4OVK};NB*E$F?=o@Q7dhvRG)-fjJH?nLeE@pcbwX%Y~9BxhezYz#W)WQJUx`Dt+XoP4goM$H(E z8I~MqY%-O-3K|TTLVwIxH`I%sjTFUob+o~g#rS>ni3(dS`kwl5=cAf;8cBs?zYx98!ct`SeIlJrK;e(F+sMp0I0T3Y+-& zOQ$Zk=?#}vWDh4b=*9+eGo_{gFcy^DGJkE>;e5`8VW01R-d6EP;xL~lntlxqN{unE zr8)fzw`*hBVFE;;1jrP{YbctA?5l=uF1B7XcrOX-=b7;IFZChCSrh?ydKM}DIf31w z_DOwAcfar~3J}w10EZS#wdzb9G(EdCFi~`R#og~j8Rmxllc_Nax#96Mh!W)G+N)9@ zrR;R-Rv+gXt?b0M{cxY!qdu-?1zt}*?+LV^|F~my;knsGR^;l40Yhrt(kzpdonE=| z%uO-EJKdS#G+meDuOh%6O{kr_PcyBr_{@_~f8AS?YVP!M)_+uEmhY^`G73&wE~F#q z9TOw?Yqo>Ctm+fG4S#F3QiHBjI|)N|qKVg2Kx~f0$wVh;kp~7q#gO3*`G06S?{K!i zH|~FbU0SoKQL|_%s*0j^RgJ3AR#CgPVyit9Kh@UWwMQsL?X6Zq&6qV~CM_XGNCk<= zdh-1}&+|{NT)95iC2`KV&wcK5zhCbw{w2$Z=EqFHz7_G=x3ab+C4zVB44%}T#+)qa z$TIL6`<{prHliK?8wKxH@Pucwy;B?9VSCI5`2Co2IuGwp=@m7`7)RQ)CPvcNAtrOx zS$6%(L${9Ydr^w28Hdo&ZtMfenwFzY006)q9D=#iKInGuu4Dg&Dmu}S%LcQ=@0iHP z6@h*BkWcqUw(I%z^WetY)QLE)Zwsy zSZ@nE_b@cMkm$`t!y^8IKS6GE4)ZV|#Q`%W=k4FR3{+xhA#dk&-nbHx#LAdInjDxX z4#{(cOr}Hkvk33AQke5Gk3AdBCT(@+{hEdOb9dc@lf`s}pM`|JAX0x{dMWYehLg(V z5p&_#{*Bb1FroC!Rjqb3hEo%~6or?g))m3xSNfFXubHz;a+$(yg@=A?!Skg4bSV7J8WDqBX}0bs_>!r^ zSP!D?z#Z~^_9%Chd)1GIfV#N-3)1W<%2$kon-ynl-dzWJzfjS?Ipz8Emz%Fm48?^7 zU#Ylav#nShDXW*RAKxQE2LjclPcye3O+U=hpI!gJj$#iSxH!#P)BtXyM=;=nTpLhd zCq!%1zrt9p+-W~KltoTplYtk)N3jr>Cchv+vNVEJ3X}yvWXx$w|0lR z8T+<>N1`QFX6{9kCCouIFIQBsh{&rNZ-cTc_89neSj8 zcb>?tXcIccSbHI^SR0}s>Ds{^3zo6OI1z+h=FzYqP}$?FL?*Mxm4Ug0l7oGj$fZ? zqX^WFaW{#O9sW`KDB|sq*qX7Hvx$vW(Tc2T0kr{ZVk^%5&)mi%{qE#cxIeCg3{70? zG=YgMEH82XAXYl&GXZ?oyDtsAgWL`dHiod z3ju(w451_iD4?AKm>*2ZBnLci|Bqf8MajI(;n(1Fgd=k~GGW>xk|9Bux5?YT{irA= zb;zaXFfipu?CCdejj5>X#|%O3TOES!64<*VDPGHvy4<417CyBWEJy21+fkkq)*{8d z1yC~ysaMI>Etd2VUuD+J6ZaRhE3-Cs+lC8tc3WJy^1V6Ymotw=jG$$ncz0d?PQlDJ zAzPk>3uz4Lu)9XOf;eu$Oh+I~7N~Vegwtra@(d}BP=PEkohq)u2pZLdDru&T^haAh zBVA=}hW_q*>l4<9f1Ah3Y%N_Jl9CO$`Z+-zarBfNADOTT_G^yIeE*?qL`5i3z$}cb zxL)I)TT7YL+<(6Z=Ix>;<`aUZT9T=2eV*LdV;3!Dx3*Q7A?WQV`}P(XprwfGVVc66 zRI}YJf^KvOT&UrBsBN?~%yR6#?%PTG&(8-CqtKh)TTCCmGu0`bQ3E52^D(K-#n}A6 z$+m8#o^3fEDHOdHxtKxVQ`!@lcQ zbGrqokU7yh;CzN}Rb0NfoWu=ne>eilRKaJrW`k$C0XtyVX;5lH)IGNiv?Ay9EP7p4 z6KU-82kf+pI`JtW=hD#nF=J?Gk0rqN*J~l{PRol?e>39cWsHlS4YBj>A8D)$q~VJ9 zR?c$3D!OV%ehzjsL|qN6jYGdj{u+mCgg5MO@rR#Q%ovNCTA*dlJLV(J4lv5kARQ0# z)IWg?&$e@w+LcIOt;ZYUfyS7p`1lQfBe=p~w>6dlk*a3G)FX=~LgEN6Vaip7bjvav zVol{_W%rDoYD^tGQi#0gc)u1p*S@P=V4D>L{dF$o)*Lh1jqK}oW_LKE7!LCE{{)<< zfwV3yqLu?lY8o^VdeAYd%MF=OuE6)z$YGlq5BdfCht-@WB&I9DJoF)5{HBKXOsxE1 z=Qvc-f4|HqGuV|?WzN+yBcvB~0m#TVn&+<7Ab?uM10LgT<$UfF71al;C}ub)?@U` ztVu??4j=via)HKx;XK+Oiy6u^Oaj$3_7W%*U$qXF61EiP=p6?#>)>Hc!dMpGo(Uk34~+b~QD z_3NntYmqgLm)BjR;Y(8r-Fhq9^HWP%@cKPw#{7eG_X^(+gp#G`9^mgbTX67Vhn?K0 zlez&kM6un@87Z{NH_$%Z3H&7$%u4g}9rD6?seN*tnf4D^Q`d%gFRYqS558K!tIZ*J ze8p;_x2a|X4#`GuSopTzsF=pT)2sYV>oGzjhTG2`y?_|;bHG$KkQf$er$MHeeu&!o zp(7#AItv}vIKjYx&`=YKFAEjCgNrNajLgNCK6>*xX7>t1R)dTVS&M~*4|5KC=nk+x z*vl&`k`wN`j=SDocJcTcRfSr~HAkNO&%kT7BFaN9(>cQ2)=lw4FEri@eSGh{Wl4?9 zH_8I)9i@QI1Bl>nQ@dv^Kg@;-`8xfluE0SfQs)`FKT*Jd2a{MK=+q3QK;1wHd?XWJd8SrRWi9Z8PGXV%aO( zJYJg`tg?T&dLy_vPkt*}NsLkxq&DSD*oHed?5|o60&FVGlY%1U=pPmPr7LKuZ55-i zRrYem*#sGU)VmCU%)uTJs_{`~TMNbET=k~ei8mu<6@$IxeUhi*kK#RM?J+67J3Tn6 zYzDD)x}p`pqk`yzp18dFHKDaxAI%q|Iz79$d$DfU?e}`$3h%=lEtE#GkCbLfgjQ~; zMhrCU8eek7OE$g}l#WKYFm{jF9ex6Od+@Z zYf3kY-__6(Wk2kKQYGffi}JLmTF(y(jchs<&$dDWDIFwi*P=Q^=_~D$H|R*>c%0DX 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

    UDz~um81hDa*)dVSSWH9k@v@ih>=7BA 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

      x7pzt>=*c#=z6~I4_4>L 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 g}AoaDN@OnVZ}LZ_nsC={fPfFs7&vnlTq|KdAne zwRk?od}X!wP=lhLg4TwBIh)r|RcdoFSbmfUP7IysHG|BX&Z}*(12j-Y#75K49)01v zS8`wX0XgMDUl#Qu9I*S!BKYS2I|~21`k;5K#hI95-I?bQbxEag7Xi+R67{Cj?g?Dta6&SgP<0%0srg}u0A8gI~%ZeGm zq9Doi@V38yWoHlfPR#ng_6i_^a+OxE7hG+qvm%;nkt;yuztcgYKB2A#ecfYB;AG8!e`DEr zRU-x{Dpu0qsw}aqaN%jH=Ny@i4!%f7)9r4|)vR2m@q9VXFWUsd79N>sE*T5eAssJ3mk&x-A*O+ij5@YyH5M zm=5(`%DVur{gQ&A4gQrj-Q9)d{jqO=HvnRgF5X*nDI8pmM}0j0r&VQpL6iW57YGF< zhMvZS{6)R1aeqVW{Dc`fLv=XWXNRX zAMkjKBKGF%hc)MX0lE`+Wd4xl(n?_((CkpF`84XXN&_BL#JB~#q3140op*R$t#RYO zc>4mqUfhzP6b!4*)ISc5$tK!WeccXo*FjFqef4l9f$^}InqJU&_|QhhfmEGJW)ZpU z%y_0A67nzB11>;wm9jNAe>Q18oM4td=9fHR{yHU)JM1p??yu8zJhT~dC7h&KlQ&gi zV|ct>TIT2dtvn;w*IT#SLQ}S?1Yu)t+urQ8m-6k&S+j9hx$4|CRZL>7p1Hc}7xOD% z>z^5WCr)++tPMOC$>8+fHat#O_e9T2_|WqJq-Ce8qB>Jug=j_wvSyN}MmCJBqUW=b z4OxL_A)>6deQjCiX2zCiTG-m?#$aaeij^dIbzHTUw#mlSH)%bn5=cV{;d9nQE2dIG z%wg)srJ0K-I-tq(vMFO6ss3aw72eUeAXMvDw--k_zH)Z+4;GXd#)4~43{~${FP~z~ zESul4b!WP{oyXz%j8;c64;TFPclP^QviKXqlM+F%xoMw-s_zT_9}mwFYcsYNwI3wv(rL|BIo7n)vvw>!b!qw5M`(B*DNg+{V(EgpUfqiH>O5-N z^2~bZgNF9t=i}&lfiK;cX#Kj#^EMgsC0Kt!G>eVy%5CdJN4}WiKHWY)7ZU@aM&0Rg z-KE#^vaCH>3C`xqI*>#Q$E&w2*WQ>XUf=!=&XJd*}n05PAy!# zu`M7&eGrj;(|)R;H0j$PGrSnEcvXd8w3kG$U}Uk9_J8w{1r=UAj!1D>SeZ~qs$fUf zA@33@y8B@w!)_`$Jt~^ss`_8$`@myKUAOVKt%tv7hrU%DPA1;rKwGRyPIkX)%#T-O zbdC(IW4dTS@bmTZjR|xmbZz;?XFwWlz72$jPLy9r+F4Di+Ou03Z>`Z_eY%q^C+i;C zv22+xb05?jq-k;&EMAjpx6Id`c}>Cn-VVFn=XH)E8Rp8*+8`aJ8=2dfug95JC8%E? znp10JGd$xx%lk3Qs`!8-**vMaZ~fuwJ|B0k5qPg)B3E;a^4*|J)%QSMR2r@dE{muzJ`YL&+Vimsg%fLbxw}I>O`f%sh4SKTqptaNpWGk3i!MYxsO?|Lac=RU z*bh|HlgusvB(HQg-cf`Tt;{O~d(12_(y{B`GCiY7koiJ7{EMt{ruI6BpPlqiD`}Dp zpt;GC8nJxJ^b2ueEm9$ZNb=A5 z{Jt0dSKPSb_RcHs*KPTGtSa0`f`mY?YU7IGc!+E~A^tL6EVF_h~LQhhZZ zyLA+TT(fKQif&%?J8M~AN(lhXr1PITNUhz=E_%B2zS!B9j_QkuYr0XyL%d&OjG?Z(XU}NOw&aNOGuF+? z&RRHPT@ha$f=GZ!@2XUeGE4r`s!+sDgm-;VwroEPgn{t0C)WhqQ8ARKj z&~@K(>wl9vEHv8mX!(-cvp0ZbNTB&$kdWdHzP%sC|D~j%42s0+0kzI}G}|$nk$`!d z^~I5zvj?;e1ucbDn4(&$+N`Ts3rZ`;-MceX<_r5EQkxE4=tJ`AYmTa_MD`Y&;1%m? zn_BzNi;87E#)d`9&ibpf(Mp&n)d@h9k_J!TVzqCTlM<uiOpk!FhWd1E>2Edp5S!+|8MCQ+@v%SyN*2p?AWcFR6TSU5Bra`utwChtTaw z%~3Q+409eOB*xD(hRv&(RbN^Q?HWZDdbDX*QN1|jyewH^SF z_?2PO{g~eJp%xoQ^{lBJo$7?ptuT3Cp=WNW11|U0Jg9UKD19k$QAPsMj#vEgQF4DI zfCt+CXGx*L6f{x$g?nhu=Hl%k-{!jo(F#s4i04nx!U5m2V3aIq5?eV}cghms)mGR~ z5%X5H^wNTktMkKl8yB>ph8sskB>r_uN+&rwGDuhLuWrS0y5y~%FJ3}EI=6g%85@N- zvbGDb!fdH|PZw=LLU^s;CyIk4w{OUvsHo7-H09rt5AW@}=1PL7%SQxD++}H)F>831 z5IfgYdL;N0`z`jFa&}MOH|aur&)Pr4_o7%?m@rQ^ybe@qIWKt~KBM*=z3Jip$BuIS zncqmrtuvKoG~>aG-|%%Qq+pS!Ge8bmzK~nK7+$_R`SQ0}i$JO7fCgMfi&Q8{2}u%# z>%a_7-GN)AR}Cjd_<}x~$JzUM1g@iU%zQf12lhnD4WtjocSuN-U85!T^Q}s4N6|Li zXjM)rkU_C*Y` zoWJ7q7egm34Ji=3%9vXinqC^5s#F`mL{?Q@eJBM)^q+>@5_I(k2^cEsBxP%IW89zGUcm;`g&Le6>Dz zRbdIY1id~}-@a%-j5W43olw$MM!R^uj#!pT9oR^QSJO-L(l?e;{ta zug5s1X1VZunLT)$%n}FPblE7wXXyzDYL55O0U&p0c=cN6wCCvg6w!1ghoB=Hg!~fF zRns2E7O44@?OYJtCc9@ipSr9~uqrL@(8S=HeZS;=f5{od6WU%en~fH8ZL6q{KQ+Z9 z7f|68Xbuq~B(lxJYz9e^Y=Ip>sFtw)k$J=L`tG-`vPWGA?BBee+RO^knlXRhBV8xMzA$m~veq8hV-Zd;oO) z?GY8*P&)x=5AVmVSlAmf(oH{ppZXmaAtZjTa?Tn39rLp%qy~$7#npYwK}$i&VDCvm zt+rQnu;+v_*#b83I|M7ICF^!*NLs&NfNczJe&RKv!caO~YOQKYm_8;RyWC#7Er$xY z-7FlCJ$_xCpWSHyE{1hYAljU?DQ>UBNNz82H9bMb|+w!{`Q-KsH$vu z`bs>^Z}zTM?#)TjNJzXOz&s*))u~E6^LRT5JBqS7C75N-z8BtPQbqjIj>U0xWo{Jx z8yK>FmYQ0i8jedKY1U1(iSg!@jXQE6!g>SG9;& zM1mr#0OwE1vL0u`+j}pox+>+s4FSMoPW8WHG%d1sx~4S9Jw$aV8c)grGMz_oR0Y^S zr@e#Nmlax-Rh2@`m|T?o@*}O71;&I?-?1)5H0=@hV>IOyB_O8MrVF%Q?JAYz*iyA? z-qZ$5_6dzx`lxFubZm^(ou3XiS!rqq{jLx{&mfhn%_y_<+y+Ro%n3fxzCzc>@@L-) zb|xRw?`0#1TlB6GwKXKD;ekAb!-YFG3z3;1P*^3v9u9@9V|jh0{eMxPAB?Y8*Nk6I zVVtP4t`r!Av>cecQ&zq@+{tt4z$aTWGV|ZNt-jvYk|mcCRG6B*9hwA)Rr-~`4Xj`3 zIM~j#$*$Y%CCoLMsoNOF=AIRaPcC05!^UWC3fhH?m^hxWdeL*C5*9^I=KkFK4@L5~4Lv zS1WUiFU6}uE#JSHHewf4mK1zztBnRYlg50Ks?V)SmmgVEH(B0EFFijZ-|7~4?Vr{- zaxZ<}jH~9AG1m@Q8qPl^@;L-QAsDsS07RQU)Z}{Wjb!4j zVa{XIv`_%KsZQgeMXX2!=}fpNT6WHw5-x6 zXf|V0>tX+M-G8|hNZh84ASZ&$jS~d|=DVEGJgW2h<2$TdkldrTe6aG0rp`4dTIXo~ z+lbV*QfG%|kX7n?oaN4)``HoqQsbh*C%2KLLqjadszZpa>ij{@NVC;koO?GL>^4=0 z?O-+rWKDH*Nz$jfoN}KkW#-p@y=knS1susIot%{&@BcX3)vOjme$f<}4|atQ!iLBt z3p|81?FC8<01q*~P|!&jo!qLCt7;jj_QNQR-$O8zgK8K@k@C+ zDe4ruIeQ#oE-cRED=H^iukTZAe^F$oaC3-oJYaSD1e}27AB7l^tS5Y(ve;9%H-?53 z?G%FM#6^uUZ_?8wfomqvdtErb?b+9DscS|XUz^L)3x*uDGv?-I9R8ktCstkbVe%ha zcM~7qsl^YTa`86+s^Sn@;|MmnTlo1vzqWgYRfuq*h~S*cH9D!#z0k~1Qx-9*ljbYR5;BI*NqlZH9*7DmS2Uh; znkK?{u#a2lmQEH@&|$94w!wy~;Xh%s7<&Ff9FW!1?3OOYSr77aY=u@N{-m z0o(42-2$S2`e*U^s7_e6pZD8Q1rE@km6*XIotRK7gBKySyk^SxAIN9E{1gdt0Vtki zLD*))Y+v#wL|V)spX=!Oro$R|Chl*Ux6QPOEgC#bJ9-=%RFu2RNALHn5k41ndgnjb z;wHpAtz0>$1Z@ZsvLohh-5!iN)YUxycoG$KkO&z9Ren=OclKjNWHt^!&fZybA9Wx~ zi-&)1!vzLta;554ITkupT)BMrNpV&-%Cdc*Fd;aT&e?>9njv=3ubrw=Gl`EQQfH>k zI`{tRC-5PN>pN2W!vRSPA~9TU{#Q7+#qsZl!lO?Q*&SQ~Txa6OuAGpjX->nz1Wkj3 z(taWAIpF&tMz9kld{+MF?CQ$Zx`j!dL|z4Byx`Vrjj{?7=aY}>&V{9cToLjs?)8TH zg%n(k<+hm(>F$$tg=CyjP@%BDnx{7nH~GB??6pf- z4`caI`|h%=nj=0Ee?bG3v@chA%7J|%78Po zb!+g(c|fM5d_BK1U_PU$)OTYWPrjpx0IpO2^?cfh52Ty54wd5x+TY#}3tQ&a9a0_C z*mbY$myzGce4~5%gs}A@Cd|^j;e+HFDe^N6MjuM!;Yxhd7fOf6+J^ehgY(!?wp z1#R~g>ldg$iqu>QG;r}80C|b6FgKMwmpr@N#@T0 znAYDJA}q=6{nOd;NERA(Pve0f&*C-`n`Bsa8%J*;`m8(ZZUi=Y z+cL1AxI=Q+pPrlS$gp-C{O;74ux#X?cO29L_WPVUR>vI`ZiGgHH2o*KbYywHNdKCq z6+abhCc3^Kmi3U~*}an^UY~A>)H3-rsrlv=^nQ&iwRWt|doD3zTOxHRRT3MZkR)BA zP4>zUC~vp!L^o2MVFx{~c-J;Thm?ZGA62U(_e8GPo)V+d|2=ATO4d(F42-i6XV4Fd z?{trSHaSv%;~SE@scOqpFzbw6qioSlL-6X)=|A8rY%jF815U5!?4n9vKOqddL-bA< z1GUd+DvXvJT3+Xm%w41sjG*)nGxHnc`nBGXgagpZPtTLHy=Fkh+C}c5r*-B1S}|LF z+Oj7R=UWSz==Jjp_q46tQlwprbpSc1mA^~&9ZbvBBq-;9aZCvn_)9SmF+xgMuq{CI zzorS7IHgJ(DmnDxq|aN9so6c-kI>GUB-s?iI!h?}zYL>0L(zUfIYc%dqUvp(YP*_! zMhEW0rzZ%tPYL~|!;?;>$nsc^@m+*GWcyT3E8|cX%VzbO2bcEW*ll(=Z9jGvZ47?_ zyUCmU2Y>~D1)(?pGp^R*W7^Z_8oaLAbN)jw#ee?3EGpH?;Td~Lg!hDsZ_RhDuBIxJ zZKEs_@@8mo9^ii$jS86mTahpqxY78N&x0aXJ#+VFgN|avUPp#>d12$!$h%mIx}xrx z=(6Zh3$MA`W?9+)FNLXLQ<(1yZ@rLmtj|J37IZXs_*4;AdL#^sn)=xW)Pibh4Qor~ zvsz2be6op4ks&4Y6p9Qqt@#cMrBoj|#o)pT5fA3lmHQ!<3bir|(KKYE>6yQzXK=lP zi^*BDO~Bp<1HW)opWn^9)B<+e`u6I1typ+z{$z>MC)s*_a+-4JvPuP|Zq){JvS1YJ zBoOCfYZtcJni-Lb^)av)$f2>*JZVI=p`73LAZ?%d2SvVhl}C5sAnO;Q47HI8!r(9w zafiZ5e`%03`8wd=S(IpR4HG)u)j*{&eK%z$b%hWXu4qu4y=<(V)T#PF{2zD_#8Ml= zgDYRv3c^ayuU@b*-&`IXaX@AJ?iAUK?^Z>IFY>$8iM-M_86(fA_8j)~EWeX_eSIa$ z8ynL(1e(I$3q!1eAw)7;`k7(W+4VvB#n(;o8p5vt#-s-qkKYPS3UC}d^@qUAGs%xn z>LYxHgKi1?mR6e1pVzH4 zm@X&lWeiQCDuTuLHLH?# zXC6gwDJeZ*HrlSe9Zt%<_Jj7sG7qMa@s=nY!r{JcWyM4THQq6JVJq@|YLQb^`Q$OrWFMN!%wyT(u4^FtF60D(N{rLQ40 z<0Y%o6>S^QDY?5*{QZN3o1}*99<4XTKsLMqV<#H8Y`)QKqW&h}4gQx?j@iksA8KjM zAlM3fNjj^$5^e%*;Z~qQ)%(G9IMsRLFit&{E#^k`$Beo@=aE&h?tV&6UWRqk?vwitK^EsM@w&$78inG#^!JE}VOA{)q6UZWX5ept%I-^{CVun0)c!^r0R7rcADa z6PgdP^>hBai>=3>e?6ssd}vDE``V49Al58@%?snq+dhInoGQ`yc1;uxj8@w{2>bFzS>}~?(S1mV<=30L#?W^CdNSbqP;b{51 z*Zkkkk-W>BJU#R?vE-pJuEv-TOYuu)$xfHT>31^xK$LbD+aPJU{d{XjyXX`?bxBEqdGj#LOo`I6g+(aRDmkP~Waj2a z$^jm?^DXx#Xi|LXvFgcy)-JZUE5PN%jM6y_qJi&b%f@Ux*CSeGNYCh#%=B}9PUq;CZg1iB<$d@_-sur3gHAv6(y($h>p9-3yWr>TQ^$!X8 z2hmx9YD>dWC{4<}u7H!!oaIJ35$*X4^y{DfC`_Y1l2+Gw%6I2&XHoa$9db=^^KQ}J znXoML&wf=3=$Db$Bu_${dEc21mAJYg4;Vo0^$VyW{=m3NroSJPxGlp03JmD#Vm}1Gr!|18R(jlM28o)obnS8(;|(yMlGV!t#;%j0D%I0HR)4l_yHf>*Q{NDU5t%LK=1 zgby`7OVK|+1KqzXdu;SNc!Da6XOtt3H0mvL5DwUq$lDoM!3bP09ft8tV;h`vS=yIg zOaCPL+naX(*Z&?sLuoQX7#b;v0~AjCD1cr=59lR8#ke%>u+t7oW z`2>&#f7K6XvTqRA_0p@HdW!GeXG^rZc{tm6f_$y4!IPJ6c}S0fU;Ftx9(?CPM%E4= zUcnc@SoHNb{5NUU6!EfCFc0Pi$=uqDYE_yHU>GQ9=rn*PW06tiwWsB$yG>%a9i040 z_%T^v>&wrxF7X4%AR7&;1%r1EA|6*n>c9N@8MYrCJc`9@7&iL}7@u9TFS^1L@?M!)qZjjyPid=(zWHuI z3{ClG~4-~{mV#oY$x}D2uP;xO(pY9rq{qg$)Mb|X0-9=vy^6PtsE$gI<07W$ObeEnMiois)MR*`p*Z16iLRuvU(ww^vT>xsc^+aKGFA>*{!?ThY8H?6f;TqaV_dP7-n8Z-T;=05SYQP$` zfXvAOTfOcA0uR07+IJ1VMS6s&bhDnz(JC4e?tUqyfxK|8C1M+2`7HN0(v}K)=1fsi z>CoVB6?|X`j3&9r)UJ9L8?U34{|hHy)D50#zX-`Prxxr znKq-c+&bNLnP-QpAJWaL;WejT;xHUH$T0oonvx7pe?ze@l+mO}){xP?rd zM(F0c8g}m%&*k2RJ;r8yAd&TmAtlXAFHCV|mM$(mZn7mII5!ns*wH*==ys;B;k&j^pHBQZ7#3>FodN&9`8xZ31&i`? zGU>xl*j0_4^;4TP_jLw##ONRU3FYd7uoj3dTTW}js1?LEmiWgO&nOA$$=Sz^(3;Lq z2_h${F|=)nR5`uAZ=B_1r87S{oC+!Yu&eq)=T}|PX*eA~d}m&s9LawVhE}GQufnK& zdEZ^n7?D(Fjoex5_D!-};KexxrmwGQjFTG^5ek@%Gy+1E0`4^7w54 zCyTt4;?NVWxhZEKbIWG2r4Qgpux9+HRr^IBRaRDG)MCtq-a z@GpzSYcD)Zw0d1GO5oMct?^afwel5wESQ<{f_76)D(gyzr*5rjeQQG;{^lWjxn;tw);x@z9U#Y1H`gK-w5h%r zLYHHG`7M@Q87*kZ6c=xLMMKP9OX2$5LINN`3QD@#Xg1~_sjhco?`2*cBmiGAmz9wP z7IhVAo?(TXmA;&e)eEv5CxdUEDZN7))=Z{HHeu}NVY$UP&fB#T67f<)OTx|ij_Cnc zduRMYo9qh-ubS7u894JM`)ID*QswcFLc`&27DX^GxV0TuF4+%B@3OK~c|ADcwaUkG zXEkWPrbQC%-T@KB{=d%;bq94{eYweas4?N=sf{Rw#IU2Zf^h4EMxhh0B{(1fh#-bG zM2@lB`|*k_sSL^_ZOlfwS5s=>7+*1!rNi;aj>h-5Ju@0rMh;(KX^M%ixIUlCb;r#sK?{SO=LQKZ`+Te zb;d@;M;r^r!kSNLI98HID>77&_CF$0)Vx%48)x26JCrsNZ zo>tqDzH_L(!Os^m>%s4RAkQa+$0I?CGC>`@xfP)=X`@_Eukn0=1H!u&u9eJD$-V?? znBlvwc8|FGvP-?flm6O?K}u?mgWAb5YTJV)83G(xRP<`4N-240g0( zZ5vuSsoZY%($DRbR7>BF4+^_GARV9^KF4RZEeUSJrlz|}qS#dmz~Ayj98;B&?6lqj zN(z?^a$ndgOnz?>!4ox`CTgcni#7ANUq4J?4^7%Pq!&2({=&^?eLgB-MTNryp!6wV z^w^<0f3~29!f9Rh>os(6Z;Z=Ju^&}foNFm(3c9%zPm@XEQZ?(Nt%nb0#vG!IMrk`* zOYW-TNBMWrpY~PG*K<o_qxv3J_jyBooWX{b*{Fud5 z>pSy>EO?YABYCY(#ntxLCq3aQO08<<^~#1N%K3O_On?F?5~9y7h<|3%R8>t=_Vk;qFl7 z7o)4e7gvOi&Yxl8bmGWLi~H@90|>h8{la2L#e>t3vlk@KyCWwvk7=q2PA9Y5b7ofi z)fR_R{VOk87!6CFm?crdJf7XOtF!W>Coys7whN9Dv^iTi=xjnf=xmd88CwhMq)Emp z8#?OU@(>j6YKuqpAG=swF?ZpGrLX=t6Wad?NA4GyTB3DcQU5c`<(v3AnXu46pNf{U zh3|M~XWA0(zDGB^W3#P6K15kPk6;d8s{g+?vYIYDJL2(#e{N!f(*q7{*uaZ&+@t=0 zE82d;pC$=lX(n23K8AX3NO}#CffrSsWl~o!&JCs*5h_1ruE!@73Ub6*cb2d@ z$Sp#z$2Vx+<-lU}Y{TAAvSJd*!jdP6+i&Yl%*DhFi0zyj1L$I1pjuz*hW2>9B~X1Q z(=RDcCPY2e|HRn*qY1Cb|4@rQA}zzSGIc9x81sPY;CON2a+v`?M4hU~*sTYe;hQCS z1E;T0UqCZ=#Onc5@Zs~&uNQ;Ao?+cKC~^+?{7*32ACy5gK_RPsH#tGh9kF^qj#~q8 zw=mDN82)BhO3X#r0neA}uPPP74PDvBsI$^;wAw7NJY` zP@K8!5s>H)att9UqGduBiN7BwiH3h^I+SkYfBw$y*K6Ge=^F9ShFh7~I5{~|?fkgn z_sebZzMLC*{~m&+9*5E>{gjmpnjG*!rCbd$6z(Y-P)h2IyoL&x%-76^mk?Yq%rxY=v%EIJRzA0cOw+=;Euy@<^xt5 zH1!3|ifSbao(vy9cDefzkh-&!`8wf(3nv~U2jyOPA+qmxp>AG}H2D1mioPR@kBGt@ zfs4Xd5x+d}qyMumzPSm_`^aNhm<*D!kOn8_wNU9wvMnH0>-=Y3>d^)*5P7vp9kZqp zvevcSN@5B);CCoA01tDh^KhOWK4GAGytds31$7Kk=8I_x0ed&#u9Cl{!sfS|8x6z< zUZ!TtZV2@vdg}%JLj3T}r7^VWoLRR#Hn1yTP_*e``>F;l zp4}fV8dey%({=xxunK1J&HQ{|pF922- zrYhsIk3kkt^)WL(Eb3;IMf&M%WBp=b*v#YZ0`Cw#!Jl19XpHtk%HMmJv-d&gc+IUe zXn!b6%{WYvQtfds*CHd>jz0#pUgh<5{xeXv!hJ8n6dStXB&$+Tpi+ZYTwVxWl;Dr6 z^L1-d`tFGtn_VuDMv(^`n(3RZf=y0pqnVsy0pZP+>jwYnhErJzaRUoKTLT2YW-ej; zO9Qs@w}0inNWFj%x0~y8e}qNZ7E~=AEyz5$Y55$K-Q2H)@!M`;9l`W%LxV5Wr?9uI z_S@4X)*rO>tzr6}qw7?R01O|#e}zJsr&h17*sz6rBx4M`W*(u7=OYv|fs5rI|4zny z+&8`W@I$+w#;Tu#gnP74;YOULl(0u>zrzm5DR%Rg4I4Grzk0n?e#g#xZ~dSnJomZY z#B;Xf6JK5kjj^BJdApjM)y~Act_=WAyI=ZB0;x*?anS_Y?w{Wtr2EQt9a7vSu#F(= zZbiQ9N)b*iQGdAosrrlUY1k6=_hXP}NSb9z&}`u>O_79MhaY0+e5BNo!lf$qp!sQ2 zp$s|v%^dr2X$%En)Tr*Atjpum(ka=7wVTW~ooX~nm-CQbQYi67zEcWWG7)}W@Wu!e z&z@N#Rg!eIpU>3$KgmV$=Q)NQ7Q%}(A%xSg7rE6%w%Rs(-+BsCXpHTQG29<5v$^%Y zTl`tIsXOnl+4myE3qIi=dMTKaGcnqH8n{oZn8Q=bWOq%f ztv2q+d8+`~X~en(J|KAxeGWNEP1*}uZ{xZbP8}!O!%ME(XHE`P$J=HOG0+5SKUIs& z^I`QmAAVE%IQf{rNqnzUFcfoBq+-oMs?N-D#9_e!{yVhrW>!UL`jJhAxP({s$9hqaE<@?l>q7f(R+_^W%?8UZ8cv}chI8?|Fz)6$uTC$e(S?ZPXtG9 zg*yV{U^?F5b)+z?ueMXsoR;rlFo&N8y{o+Kel&YF*#mMP&)Ec zNc|jX_s%n@@l56cg5J45rzau9|ISjzpW5HrNxrGZ7ympQMb#i4ru+!l0CftF#&8fG za?p-IQ8nE7ySo$1rjGKF9fRp_$3H# z9I6yOB$m5FM|j~q>zKi9n{?avy>5}PAB1}vFINHH+I4Y;U!H+;(XPh;)?uK%Omj&jaw(P zmtfyTO4eJ^%43_gJtL`_P3RC?G}C_v7-&Cn7*H7g`a*Q5V%XxhLjg9BZ5XB5* z8<{0Y=o(;Ieavb^5uZtk5f`yYbseKz$w_L)jwN{fD7Xl|W{Dpx(PonG>QuEbvmLkj zULK7zC#Xw0RqyP_ufY#`wO2aXVvG-mZN|EpvUfqu8_HP#)u-ci-S4~bf)q80!?E%B zq_7fWLYg;L&xSs|##?0e3oDE9Q2YUiTT_YII?A25MqSye`j5ruT|?2go0+wPZ#ial zjjgWU({D1qb5$J}MR?KY-tT4ou+pZ#@1XF#--8&IgGZ?>+~AS)^mZ$u&mnx2czLa> zdzKKc6Cb4&^BPto;c8Z+l5dFwMtg1M8bv!xk~Zm9J{R^EsI(TH1mQncYFXW!9#m;j zXz5xU?n9IH;+z9Vh2BOuCA%wYk|l=DmG)`^>gx;!wmEF-b%^N4?bBGk zXATKQ*p-!R&6w{PJsNoCO?SD$DIhsSNEPOKtSy%a^_)dA6Xo8*cY|qIT$I{{F?jH6 zcdsk!gHpOv;?@!zhdiEVqb;V4!Ei(GgThxpT95bAimg6pa&VjPUmFR_8WN%N(ZSLP zX@aaD)g`tm0cBCn)0xTp?wV{5M=W1So`saE7D}TSM<5L2S$j`T8l&$!7Md(n0Z_I^(bLbd40W4BW-3M&xn1mw&*-Q0OI-CF#iVCa0nTihR0y)#H}lLNN& zUGu6~?GR`9Tvd{FPT9@?v(gNh`wOQ1_2G%@VO!7vh4d~hiT$ik0B_`Pg&0U1C{#Di zLf|v)G@oW$7;hU}J-IiA9@;X%A6FP7sFilE65bYPbY>vPnq=CR0^W);-O*Ua zhddrHh%Fp+aPO9u7(=f`dZk%#i|PX3`ciUwkY-!J;gHCN$7MHYVsRgm+w73n2+dba zk~}MIpWj>J&>9Z!>KKdS&e-GlI@NOca(zh>`m)b+<13ShasaQW%w(u_MCx3_?NXa~ zZu9?m?Wi2SF?qg&t8MW1nyGbTDBB_EajH~uNOqB+LiFHrDJv+xO4#hLGp%u4AT)J^ za9t2XEI#E}=H3COW$t!yH3y>bY82(>>o?UDw?o zaQf*Ro%+1-(haiRoJ2jMnLuX^i{vb~QQQ6Y z6?wc6iYl=QU`G=W6F{;?C(kqSokIu;eXYt$xN^?S-CBCM%E}d(f?X+oQ@}g3f!>2p zf@2X8V85T#0b7jhVQiQ7EMdl~rV8T(hf#r-U-o_om6C~L7<50*~N zQgXbr9k^I@W5bLnaXOWew>`eFUMZO0@w$d*6CRM%2XW#D@V>&(Oxk7qq&0FTM!Pd= zATJDVxYa0)9e(VD6p8d9T-{e`r39o62S_!fR%k`;3oJY|3X^MG`I-qaYz^y8Jw6vXUqKPCG#tl!t3G{V16JzRY(;25`U8YMEpy|`x<<}& z52a^ivX@fq%xRVgTY~t}4i2b=)C-M5ONcD;XSAPXOC~eUkxNTM=Q|NVd{^X(Y=zbA z-JOPgJMJg@RrR=gn}f7-cUtX!k>+)WW9L{d{f_w5G;h3jo8Fw3?vDtsv=af2m^RJU zS8oJar>8$|LLR0F3-wdCj)%j(<(0mAc*fi8*1-_>`+!FbK6^hKT-}6? zUNgskzhDbAWKAbd&~8UJ_uw$}pR{^Q%iq(7SG|fqb0WU{jCqxEcp*Gg@j64omi(yzNDpV4wb1zPZWc4< zmgYSEgKsnPt?fZgkD!1<;6nB3LN({nwSs#T=GO5v;?M2UJt@20Y>8|8NIq+NL_@JL zInx{artm>lh6&0z`Z&b0gj5y5>tyZHbXTk??mf)kU1bHX5?u`;U3{Aj~qM^D=|n2fwoAo$nlZM1JGt@dj29C!>M^%_f1WWDgouz%eNi z(<%`ZMh;(icEl^>K5K4d1vz?%AJBK;R&3KvHc(mKNr@%%^BkpzGSq+_-bVG!+n=QaJlCG3>-f#CgQ4lJ9E07x3YKp${8OVKO25yKS7?YjZy2&?GR=5s%OFR|`$<17_-!MEJHEviXoMc`j&6T)={!rgMK z@-x05Z)8npSC>Ei*lbLX{@9h+Hq~VRBquf40n79ApuZ>L-qPsnSW0+EH}?_8+)$%f zkXqyJtzlv!WuHtXx_oJqxGL3DTu|`E^;!+-IOpP8`#tK!`GcXV;Ee4BMUqlCBeAS0mC{h(%sz5%pKo3QEFHja4s|WAV|@P zTN0&N{uYH9<)wfG`jo+>|hBo*LR@@U(FhhG0J4>)XtJ&aw zr@n5ike@#4orKU8XAtPTYhM6rGl4(2?P+)}fFg~c7(34buv)&R=s3Vy`1!bfI|CoV zP{TH^(|y5Yrby@ghr2c-3)aVVA?l1P^UuhASpEfWHvkr@nXtnVGaO&%lR(j69r!o^ ztC+`Mzx71R96-t>Dz8#DC(sLQ54U2R*gmR1thg&)7%BxdSWU%24Nesf?}e`sQR()B zF8}V+y}p&`He`5s5%KH7hV-~oFxD;7>QCh_bt{hy<9Tm2QmD$Z1gmniNc8{3yEb24 zQ~K8Mw**y9+G?Z#$_b6Hnw^oJn&N+q{t{731m7U@shE;N_{Mwe41#EM0KzRz@(&5K z!Agwfab!Yz!Hor$PwG}RfvnVgpW55#lW#7 z^ko`BU_QPM@YuQ5nlo$DhhQasbeEPmZfeR6RU~Ivh=`(0&T_w-IZu#TO#{7xJTrrB z>lE8x)=iJSQiC*@rh{lAjS89MwjMQ$IzG$}J1vlgr!Gr0TXc!ln;wjFJs}po_t%)l ze7j*e)LNVb5auKwA6$&J1x|)WcKof(H&$EMvhJz5{LY<(>~e@K^Q}v2^!Vmb)_&al z*U_*MOc{Ol?2&(&k6cyzs}_s#98euQGPp36K4k3KBW0j=___>U-~yMlEO5pIaQHe3 z2BcXm^>y*nl+2k{rS!C~XH|N*3Z+2#4n)zT&{T`n-c`X6YEqBeh2UCC0$NfevTs{Z zAwzt5UVM3Ua7V}s_b0fh5-r}Zp-<(a4sL)ivn4v*^Zc9_cc%RV@kh&H-Rbygnswq` zi)HK#&SMpE*^C}#N%GJ_T&BH~KaOtXNB*-$+cgq8K8^g(Dk=1h=caeObPss@pHY(g zZ8ceec7>^bv7bWbW3=^?$g0@+Aw)c>Q~iYTV%T?;S>7FRxE|UFTGhZ&ZQ3wVvpTg}BmS~HO9n+-~jDdYDKwP*+iu#1+^I|y(YoxI~jOYlM= z;@eQ178l9l*D&a0hGKq@N?W(pn}?qRnzXLfywm#>Hm|TC>v0;MHU=9mS_I!El;?Br`5}rZ*eZAMb>Ag zPRhMyno?Fu!&AvF>dNTp4K1razwhkijT|1iE>KJC^EyO9zBaF5Q zL%-V+7^SyUT{p*mM@b$adxBDw+4c}M5Xbf3k=GgLsDB>EMBPad=6i^*EU~pqmp%jW zMRT6$ji#{{z%jRn)P3ky|AYT)mz>-UBvI7=_(+%qs(!*gpVN5%NzaWL>%~#2nx?jB z^yt0m>*}bA<|4L*xD4-mMAt%1HO9;E%L6TipMK3TgOb}}OCna&Kj^FP)CmzDMF*?&I`>P{m_#!6?s zP#H^2-%!i&3;+GG?dWck;q;f%`fp}ELtI45Fq|GOJtS$L880*xnn!5}zMEJRY2F_J z^>KM*4U&Z=4%+eyuZxd|_kcnTfAge%$wtb(2~x50a_it)8(G^@*8Za_)%T!n$3I`G zi~bF^W#DsY5lQ(zhk;Qr@O!bdrXgOQ!zq^Vtc+8ZDhA}Fp)hPRySqMY3bde#=H==+WBHYZ(1y--*1sX z)&d*(Bk)$q9%rg+Mz!-hLE1!>dC!LF9R?rC16_)DkBj|{T3L+k59(FqT)6i5jB~N{ zdBuRr1f;b|B~@AOtC9J;K->d=Kv_X6@^3e>mY9iSIHL zF@xQ~pmmb6l283dV624Z09XvVd#r(uvl+pAjT0=a;*|Q4`fU=5_f1@xjTAeGS4Xyn zTg*BfD&XnP=!krgAmG7n=4p3igayd=_hLjBHLm^mfDKik?v&%_0_8hjcm|XvrH-Gm z2vEmQf@G+LYKv;~NcOWA#gdD#8_mJ-UeU$D{E)Y|NBBlhBm=0@N2!N-Qea+J_?L5$ zFNBf)k|c+IQ;YL6#4C$)TT>IsZrqPnc2w~07_0~8R zA}oH6f^WB}p6&6T4V0d#9=a%=&JV9R8LJg5=m6Jthx?4vz64!*wj$=NV%pHl9ib2a zl%}XQ=JXL5YbyqDZ&1l@VMnN2wDP2V#<(?_&2?7)Fq19Z+I|2LPBpjOLK^->^MD+dVu1*r*uSK2rxA1Sm5C;xICwsRKL=2GbP9%>I2`RSkK;I0 zdE$SJ#L?>FPKeHxN%pN2Mn34b&&pgn@yg6`T9f+%z!eUon^6fbCTG=Fo*Cc#Zzpyh za5`Rb(nYKs<>^<&lGDm|#Mdf0U9+O>Cx)GtboUv`DufmdRQw@wpoOBK8* zLzLKd7xpEo5*eqBudOew*K5T7A>IIHx<$L|KN>*b9B-C#W3a)G^x&KyGso5+%4E|Z zg!gl*b6Dj9>h9+T^&&FQ6j6d)jHsey?5lu_$D$>uM@fe{&XUYw=@!_h=M0O=7qxRq z-d}SQw8$OYX=dP$MpG)Kp1X=Ug@0?y!vgBg*9B#-R^XdwmTsV|gxS zCppLw{h+O}zHUqI*}JT_a%R6d!^m^-)mYX0@almKvv-3n2R_IvLYRRPf67E=s6$1; z*vnJz39NNlo+u(XK*rAF6`~Y6vhv3RshzSjU~3FfB^i(n2JcW5j}X(w>!!IR!xe}2 zE3vamx|R-CCy!kFtd5i4VAosy9lNDCKAY~R5p%^xnHhhIgc*B1?@IZ z2qWCPm0y<+0|(iM=EMp8C9<&G)?0h-^AcThuOk7G^eAU>*_L<56Y2z+F}ejDw!07! zh--_x1d>w2qre@z#8GzHQQ0p<5w6d7Js;1Cs;peY#(;ZYm=F#D>8bQqgf;> z8P65SPfR6k=x!zV=y*&|NXHbsPUQ7Z$8Aj66+yof+<#R!EN}W{?y$*pu(o&BwCBz3 zop%c54uq8^JY>P>V+H_2A)t_r%{4zTYB21tjZEyAa%$fX^D?_1<~7dx;J!hzAol&x zIQQ<%pc6$zNc7aViZ}k5p((~G{-zX0N|-iZRYQH)>-7265~IBw&ARP}a@8HPmAfx$ zO7&F(m*UT(l%eM5LbObg#F%|td)xvahCrLFk9(RuZ^+Ou8WkTg*Qhs{`(kdE6KSxT zw?9{ zINY$fUq-u~3&Hh0s98;nBoi5NDfJa_14Rg*y4R=6nkP)TRZmObc@gJ+=|x|@fAtj~ z+ppm1L?7>gx<90hTy*}#7$#>cb5Dx``yn=Td}FyL%AO(cI9|B#fdoLus5M_W%Y*At zo(er}bPo5pgpQ1EJ+Jywvj(liW>zNl-Jq(4Yc%+;K3wr{>bpBzBWBvLVo=v5(@Ip> zr2K6#Rs0RYkB*N5e0uYXw$}g^rv?JTnJmf91!n+|fbf`NykEwWJPXnA$z8=0lbQ9Z zIKqW(6qjwCxnZf1vecVG&v6JFh9(w}BeEND^-Z0N!q;JrhI{pZ$67nybE#Dp0`8^x zQt^=?F5CFK=UjVSC$3&c=r7d$bKMK(Th3fW*+XAUrl+I-?`6%&ChTm%t5L`V!JCN8 zvsme2+>HYI*?g@UFK}V#^=*p2q-c_ZHt;X#@+%!Sbp7@6bix%?*h4%YiDJ1WIxT3I zqFQmoFmqexRwba~EMG$G`$J@^g_W>L*{DHjN}=b=ymDRTbki!~9CSvH5Y6C*E6_PA z2g2>Ee*{x6I+v3p-i=WT@!j6sNjF6Zn;cEh1`E2Gs3dQXpkIq;VKZabaffL@lv5EKrj3@gmMvJDJ8s2C$@?>H?hFiXbgN3D0>xgP*01@eLF&(bW-h z_&f3oIgoC2r&yJg@BdNdsfb$}Ke6P|P)pdqj%V5k{0IuH-3j3M-O5t}PU1}&a9WBx zRJI*wa(*!>qlE1OP3u}${Fcq02`}WGt;shvc8FWL(0!a9RVofxyAz~xs{&*Ul_0%} zR5mjPtcHgX!pj~@dEQwb04{P%<*6tFpa0T*te&#Au59lBfJ2@ho6YRq5!bNjmw$`+ z8=N(orJfhXx+*pRfU0ji5`0Ec%SpU(?iBTYJE(HuM!@=zWz2od{hf+<{n_A%RP$GE zu}X68UbDHnv+HpJ-gm5~&D4`U;+2aBX~=dcF|{0_9aOv`kw)eh;Hg7SJ4-MZ>|)2{ zxY#o#Kf&H22LBYewBVD3qfSpH|r$h1RR>^w__@6=gn4+#NImZ`cCd*Y=O&2#YR`3zH}+LzZ_Dp@H;ZE z9$74OBx^8T+>f)CG9CQf^9~Y(+6#FI0LKQ< zV+uscLwnC#Uc|Y^xk{jE4Wpqd7u+ydv5f~N9KoU(5Wnv|7B^V;5%g|>b?CtJITZ3% zVv#q4#H6B4k%KyLuO*bcsY^Fz0hM)VUhY2m8&!55dHr?% z+QiyAd<)WUw8qHnGz`vOnC?^@=^BgynFQ@ttN~V(vK?(E_JtJ=zpiGVXs)6MHN2gPp*s)+zhom)zrqu@nRc?9<6` zi4i%EE98~eY+;odq?}iAZ{Y34@{)fdMP|9+jD=_%4Eab*jas>W112DEN=rwI#vPJu zrk?q|NG{hE%GZ{~P`5&80ul&3Gm5&^N`6G!CL;)?>kw8#eQp?$l7&Mj9bLXK-M?dD zNg@}>r}BsVoiM8dPlO*?r-tyuhAe`q@-+=jE7#>qM1b^$Q9(Y6bF>{+xny`*I8m2& z;g-@;M|}re@vfbKX=7%Yzd|teu&a^lb$u}-UMsR2R2^e(CsQ*X`7cy^$6KHG`^$H^ zyQArP&pt22DmygoCA3X#C#!8Bb&BFv-pHk$W^V&8o{;FawS4X$v3Y6xJoqs$eJV^S z-(iuRT3-l?DtOtL_c_K;wKKbZC&9b>q9Y1jLK}>XO)k7c*7t<5_69xALF?j_f8ze> z^8s(QGYo|gZ?&avl1sLwYpo7UnMhYch|$O7B#6VV2P3Hr)^@PYmlfC_i zn)zBf;vV$PMu3l_oSW_N7`SvtSN$^RGFo_#_LU$viJo0$gS<0&4UP6djg1zQS_QyQ zjAqfObZhmbWk|e|-7#k~RA`2#>OyU;mZ%Hme;#YXzASCZcLth`zhXjzvlK0Xp^oXM z=zAuy0ZZ{UBk=)t^JnYUKVlBmf`BU?`wiN+?D|)X(~cBLnnj2ufEPUeu=-}wPTQmz zJraAyVy^cFET%U1eGa2ZfQe!YMmq5+(lsXb1q=ay5ifNy+T2=A`Xi%F&B4Q7_KgkN zzp44!;M|>IjE9Z#C{f1#2g(i&iTY;_yR1Ey^->p-aul%uGY_9XgQFegyZ@VR8j+ohe-ZrD{SY%ygRcX1?wTN z(?~pm*g&88vN%t~y;Ox3j6Cn=TyZTVisd9~MW3s^|UoMuj6oO3=w%5?f&6 zPN`!xm&D9w#h8L!N>%l|!JmSTY(LTEmlPx|{bvB|ipei0+ z+s<8PEKIApP}xsN{+w6PNK8WhrNp)-9J1!*9M>AC3~8&C9^#5 z9n&nZ28BjytRoa(#10G$V7E_BGRdafHslPUwY5*|x9n_K$HUGupWhbq4EdSqS*HJ0 znXD_TOs_W%0Bi)0$UogT`F_bmmZ6Y39%e6t?wq*vRT-fxORE3J9jiRj_YZ_&sc22m zJ#1O3vk;sFjg#6xU)K)!!eqCO#fVB-jHd7Aj6zt4GKQy9*JR|QmKT@iF8s~V5PIwW z_C|)+$(8wz@hqRrE1pFAyD;N)k27OK154+K$!K)Pd*cK$!as3BB}d5+hvb_6NR#Ae zLsK|c-8l{ofD~THq(>sC|qUR)IKor>C%FaCWBU=Uxuq z$?&BumPDdthIe{U$veF8(z<&?-Z6C#mAU$w&sv#d`>rkb*kkD_G6hMaKo4P zM{khpj=fZP#NBL08w|UPdR1Yzpw4KV%sfds=nHf|g_h=RJwF`lj+Htp8XOOEZ~3-p z$gtGP!cg?*Ysn%f;!-q2AwsrHYnT74a*OUbE|iU66D@g23l>Sdu&1{!Y>-uU&}}1P zh?8Dyk856icaDz#;!_v3R5<(<|BAKyqeE%(ugR5tgYt=p@fTmyl<`Hs6kF^PSJH@x za2tRBqqCr?UGXoAoTHbpj~EIYzCKp4dS?F&23H*C?@OE>f)&-F7WKHTi(147nWg^y z*Pbj$VZR4dA-qJn%{b(K{>V``Ew0VYX3W2CA#9M$ic6Zl>QdulD!WTGJ8tU;r!EummtAR|Kg~QuA0x4AA61)!IJlZBX$c(m zz!+;r^T?9iV+Njfz4J*t6CZ^Tsd?Q;A`fb04%g}m2RxH(WKH5hvjN}1i2+IaQ-WNC ztAF3`5R(X?FSwV^k*v=2_f>^QvM((ZPQ)NNOf_4)(rkY?IFKd-CFWTYOvv5InZ=UWwMOZ^HoI%Skn z{HhG{`r^GVlj_gVjM)@34GWw*nDc=s-^*Pq6oF^NvIV9I&_#IYe&6jfTfAn?Erg$p zh*|7i$wX7DN45;-9~jAOD2CDJ*Vs(eHMzk#vC@W^73-cX;5iahEQq|76@Ds3F`M6%+yAU-}Az=hIv=J($-^{t$@ zdaN@Ul5RY!n&8Rsno?v2mD(y(nk(iXDw=<9+YgsH|v-^Kibt{P*6cT@N9? z9f2;V)%U9gir2;zEcazhf%adDEgtttNmg`^KbBYzGvnXEU6xfuzY5&Q{51C1`&Hol z&m{Bcx{KvS<+JsL*wD7n=(`vd& z((-5~3a2Z3MBiN1FcGOX+&7mt?ag*{ytJRMQ^RZhcN;izCGk+13dV8 zo@)`tb*mt~LE@R~b~NMy7_J(3so_!sme~ptS28kUn8}jw4v?L<3OA=B%6`|g(&mbb zl*_ar2dT-5WWuW>q7DD>{C(kzKu>{oMOLpb{_E@!;GN?nNZES{=ysOokOTkq=A}0w zM*O%W0Is&;vK1ujUZbAA?5Psa+8xu-2y>m4$JVk7qY*6y3t>eO78X-><6xi3;&qMymc*xu}-}Y z-D5mg0TuhxZ6q>mqcgd^d<)^#cxb>1vun}tziS${!o2W9mmpj$bWBz51*1Lt8rmPa zQQt86eL>a@Ts-kvP+)IiZ4>s_fZc-DW%?ICbRZX>y00p@Frb$Zdu`UsE;_u_jV`fJ z=0lCQb(Bnh|3$*=8gKKl43*p{8Ii1}(N_Jt1&I1<+l=soSG%j?7l?a8t)Aoz>>@Yu zq594jFO%Uk%4l(*4)8=QPGc{WHyi$##s^zcpN!Cs3r%aFT#3sdtNM6IzTp(y4!aTU zMg0mXt&043$UCvd!K1Hc{@#W8p^-_m(er-4ht9U-ElB=muf6I!vS1$ouQ;u$s5)KC z95BE5Y(d&p>~^!Bp65FI*Ov9O;K%wSha>U6SoYwwI@#Bkh~ZspgT+&sxW?iz__=6J zvA#tOU}g8X6!l8mXm5)VaO18K|I+lX>wSIXK=voZlv}z96qswwsC2eY#H?>U-|Ij< z(4Xal((<0R;v4pA9Qe(A9tP!nPlp+x;nEGZ6smRAN;Dcft7JLUr-QZrX(%@b~O&WJb|xYkHcz3a0{VLxOhx~WNaBa1erOB2$29Y0G7 zFD)(+Lp*I1OEP=j;$DO~R!Ie)Vrs}&#AUD+EW~YTrs;Z!`$32*EDvts;E{T|6SZP6 zexI%d)H|jo8+-fsoOea8l#sLvOFGcNeQbP~v!)T{D$7?eJ-iDQjLO_u)4G7NTO$ zVlKX@^?k%L^!=gcb=E!8^m+fVObMKM<8Za8q6j+9tlyWt zGd1ZH;T8)0?=iQwV3`MbBMQ#m#!t15-4~)ljP}B7SdQ&f8@k?YPFSE*>1LCtGEm1p zF1-3C?{gPQ^g;zwiv!)9Ex|u%lrM@1dXGUnQ*}AOA^7T zZW4aaND`I)$_&!k<4d64r=sj+M|iP!b(Wzd889_s^j^NF)>_WGqJcZn-u zl)uk4Xs_bFb1C>bRD&f5u1>as|A|zQ{sR&0A?^HuYu2BeuHm3?i`2Be*Z4m^aWwKl zNz*<=8dyOTO2G#7`WwV z*CU?CCNB42>{Ifuay_sZSPTZYAsr{&ScyGRfIq(0eCy-R&8Ao>&5P$v8p%$yQbX+z zsO#)a{D-kAkJ(6q#f!6>Yg94C_vL3Q-7u%8yql5&xp@!ZswS0JAcWR!O{Z$WLMnPZ2*CrfJW+%C1oC*^Du;uwn4Ly+lCAvnFTX!w9?1_%Vt!&d} z!WAMEP~xZV5yB%Zo4En7HdVK^HexehtFjm0?E+lly(>^F&YCefLJ~zXoI@zzf5uVyP zp@$i;ye$MuG3M^9Q?mKhoBLqcfViIyDpzwar|bq0l3w?|cVFBP+P9da{FSv6n}&;> zGvc?PU0zVyk2w{7v;bbM5N^)*lahFG+gS|-Jt5uWm3|LfWm=0Ec+8i5hzS4Z;-6xi z0*sU#5nWpJFpe?cPk{z^r{TW&xw+Isc!oE+`SA0y={Y!t5&#C)!(c-BW}gt%|M0cl zR4lvEtIDoMeSlnx4{hV&BZ<{R^#5D@PffO9Yf{tMryl-IvNZ0y4BB5~yM-9Nh~lpi zj@EXIta)Uw-}uq?J9-3?Q>E-Qm$f?)g}=BgCjW6WG2GsmMshFM>}AJiL^TNFy=Ljm zy`s4sbZJo37Z$1A5%I%YWu;#^GJIGyO6*VYGvkJ7vZ+5+7KR+B-UJcWC99S_?Im;eK_lwavT!WX zd}CC#l`l4vVG*OWa|kiA@T${ut$`k$*=9ptSv2MMSikq`_e(itKl|kgtgy+e+#?S8 zbJosGeP)g}KOwn)%?z3g;oAM>sJeH;wNWLHHb82&{nWK2%3e{FuMs@{gN~yv-SVY5 zl8@x158u$Ge5k9tDPMvTNjGIdFEYtz`O0w0m!*32_es_y3^(cpqW5Qr9&Wb%?*7uzx5^*p zJFYB0kfQTDN#u`gB6gBLOc!JJqn(!@_Y9`NFMTDs*C_7vV=o_Re}8sAa?fKQl(0Mu zKb4B<-6FUr3I{1%<(-H)#)F_F*s zF}1xk|+U1Prfd^IdY?u;T#CPt1 zSDc5Zu!53095&ZPjsXP!TuF&a2OFM-5NG}xr6}!pgnK)kH%U*l14=j7SbC9-vB#lZ z(}nfz>dm+1`(;id%W0M7yAj2$%s_|Mn#I| zI4Zxqh%f#@P-()hJ>6rNIKI?&&^^^172a>HwZcHO{~gIVxe8&UI-PS4QN<}9J3CRf zA`lvgq)LA36?eM*471+xqOHcYBOzL|pEqsXqRH-0=Fg-pTT&XskpeNI={(N z6(+D~lRod5#)pPt6@!hpJpSSpqGnMA+z&pOs4Zn4sbK-A76PjRY*CB{4M@}-3*i#L&7?fZk+;#ym zNv1g*C|c>xs%5Pn6MX~xw{f?c##pRQeic-Ig6OZTho@esK?xIoZuLB%E(i8`+m5m9 z`Ow7w**iGHo^o>jVV|Fx|1qW-yc{jQbEDSTZqQq+pOXcVx~2AWSw}iboK(?Vf3M+D ziy3`4P&db;eMgh>5BahbUwJs_ru`0;5Bk0iefd0x2+4!j+~WJ6E&~Mz6(Xb61iJMR zh#BEq-gR;|b%c_pu2AO`u7jZTPqhBdH;NU1%?ikoFS%FU08)m;iztWd3%uEU3(0PLpnLLE2KYmM(~rUvbs zi3&C7x7T-^yhyQBu2bYBNB=O7Tw+^p*}X?%q>-_FM{H(Jga}z7-d1fvsK1uS+Immh znyLQ*kJ!}CS)(#=*{kOXi9M|qvZ1m+ikMFkmek}B!ofY9lPw6|4C)WkmEO&d>PJRq zfGb*69!&PRl%C#VW}P~nJL=PJHSQ-ur+4GXsLadB$KPCU^VI+^p6&BB@f99urWev> z+Jc`{0uZ!J{h z`@`wZsRl%THT-g>zU#<*<)*(aIe7=JX&$w?gBAjK6(!7A8DUkQyq}?o`0f-MKw?hm zBbBWX6`hRVwzOa8pH^uH^QQp#bixXYQ`lJ|ys2dz7_7(Z{_T(J26=PI@IYScSmq>RCFC|bn z8h(eF^=G1Xr~CR56K1rc*)bF~`dT(Mpks)mJ{=rYnm0Mg8zD~SNczdU$I2Dkv_B}v z;orA5;Zj(v?IIZQmY8xdnyeSjTjb}1A33C%SeP}iDR2qAm^`<59b@sQOH(_9bg$;_ z!e0gp>oYS~@K?^!H2GCY6B2;E6|5kvqAn!7q>xKWriU@C+iQ|^RH1IgFR)UqGvi_T zW6+EH;>AFKr-MZ{Fbl}qdhj~vCMHeU_W%&!#P`7L4PPu8eJC0*@3$5ha?4$I~IHb z(~(dk!)kmeyVd<~!HRx4xX{juis)_VBQN=Ud5mR{_DnY1+$N&!UJXjT>uQ~Js{p{; z$keQ{9*6I zVNxyb$hx>Odp_-b`P{R5ZrW?I)U`l zXbB}7t6KQwGKd~cRkXe zKXTL(QjRO@Wlv#S1e)+gh$GgR7q{u_0YXnh6GZWkX<2eg@+QmPA6O^;BcqgzuDUQ< z57RESS_g@Ja&5Vh;s1zepym-tSCrp)O$PechSXHZ-;=L%uF+uYl=S)rX(SkssQLxq zu*X^ZN&2?FrA23PDnq#4J$#R5&^h94vBhrQ4Ie+=sE|M&?w&1e11(Pa{t>dLoe zpR8}mI{oh~!rbU$=!g?%pKL%wHyj7CA@puyzq?=9vXw;3pm|-9ea9mjBG*Q zJH6J#WU(An*w%)Aqc2i!MSCu<(V?<||Hdw2Mpd#c?R=a36)oLK`C~?jJF_76 zZJaAnky}674AB0+4V(O%VMUFhX{1~Dod?2_Y7O~)bLk5?>maRNv5n@N4WM-g1t<~| z&N>FCKKpNn9=b&M*1a-@6RHh7rl_S7n4`yxByl^wiYr1eeQGGb1|t`2r8nhdIY;~8 z-E?jL4cfqb!@-^S#pJzjR&K*{xn|Mj?SJdo{gFD1|6VDXli2bRu*&bx0R1-OxN6}f z6!FChoPEF(`4dU?TkHZ$SO2mB9gmc1wUXF;yS2|kp~6{vsv#>ChJzsGr(l)%m0|0F z5L!Ifzq`~b(eW-`ff(JADr0<@4x^Z!f`SW1$#$o>)5Bx4ewp9F-af@s%q>E&zNqul zSF{Fh;@IJqBO;z*iFoxi^SJk4<7I>PrUktbdnZ!2wH63clDmO6#g%B3dc(R)zAk^RQ(?QTwQU=wJx zrJcmth8o;W2Gf`{WlK3=m}c?h(z_mugn*c;Ua<)Fh)^b2!CCYJnCbH-5a+Nx{`ki} z2DKGx`1TixW&b~WvCNaQ>&d5of&V)JP$xfFrls8IE>s1oUeej#dN!>iX#H})|2<0l zTqEGa>3ttMz_vq?ixyu_V}F3^1E((n=Z{T>;~&eXZ=JBO)8*lw5b&~vt7?TC(KlZM z={otGlnskzm<>gzmFHZ6GER_Zed?Gu4~D9>Nv?QW+@&}L^HC;HlkZ{FWkgEe$g9U$ zQPqV2z^lHWpA-`E4N`}bCaNQB68n&x|+N!zP$4x{Xy zO<}=E;9m+^-~?XbHMZ#X4u;H$z-p6~gypaPWzZqszILKjZt?TmPx_Y6jDm`iY|dzT z?JdedExEcE0B&SmhhfwJ#Q{2h;a}r68){^9)?8Ar^Zdo-&mUsW53Zg76SjY_&s};@ z8EpTYTKXYjluO;pEV(hq8BElD$P`^hPyYZc5>8( z1~dW8EpZXpG|Hp@^1VYTk`m1It3DprFr|X(^o`0%o3`tDQ zO*l*F;zw=23wEwLbtdvt`J>&C%n89-5&9xWx1UPP)=5c{13%IFpIW}@j!r15Q^QZL zyzsX30?F8z(C7SgtaF+%8435)-|(o^D8c)?sA5T_cQZF%n11e7VngPV!(}*(A-<(g z8N22(8!9!JgKG?b#y>?F?}k_-0SViK?6W%}Fa70_1zH9MALsT&s_!~rEVQ+X&PtvW zc7MLCTbB9(_vi?k2~dv6uY7=cu)q5fY%DkVYAB$4C%B6<-Y9TWbeEM?v&)QeOEb^* zv)C+ZxcgTsi23TAdQ3*>lp&*N^}ClZ8Md@_ThmIOFc$B%8iOTKyP8^dXC?o<3;rI2 zadc|H7Ud_4xM*_<_|Ffk$h;D0k3i6TBe+gf!0%}ensu~U-b_0H{o!z#Gq*-nXP2k# zppKj>*bw4S`k75v{cc(e7r$2P)6q&#y2RPb56V8PJxg~m*~?%ab!IOsjn;jB@at#3 z>5scyyfcx^#z#^4Skv%~i;m4#@oS$f%C zVWs*hjbVvfPb(r1^*6H*tj5Eb^e~$>6g$f)QK7Dv*S6{<`d?V({0tEi#gyoqr6+jZ zXEoF4GN~kuRC@NNiBw&G@qDhVg!vg0YhdHEtW;?|QScq&9b%4&38$b)RPWOibP*_y z{IJhoc(nSpc)#3q9PpoLIU<0N-M$HHM!6DuZgIH7xg97`9&xx97=oZa? zWK{G2yE*#Fsbp9FX}T`7C#UF5g^*vIdX;`Q()rY7Uiy-zk**%D7IzTd2HxtM@Ye9T zFr!a|t5=;DH6&C=f1G_KS(f=r3pp_#|0OEc=mbbJL2IbIimqz|0Y)(&8hW*x+S?RS z1kA4_a7zPQ&3cpNL)x=@HO19Ek*GW}(X?t!7P^QrYLieyZNCXV++toH0c;9eoV}dA zwPjBCnZ*sCAJs}~NgiJo()0S~&g{u`z3u3an`4!gJ4~}MD>*?U%tFiRY`|V&e*>H?_pTpQJ@kYL8JHWfNQ^Kc7*s{jg>exAJB(Ib`mEw+J|(c zc+ce1?JlCWtyW6H5L?1?fFu2fLQmF6pG#!5fki&iU2JfYAVJfMD0l z)lKvGvhK)gVxeAG(4ru0xo(V<{yN@FJU=I~jse>Fw_GOZ348dBgk4Hsci~nH>PH3|JiPNh85g>&U z>d5u$2q=!D}!ynWA~8dA$#=;rtmd-TBO-a(`OpM@UibMe%+Z-pCR94Hp(jwjbxioX1AbFEEIP z+@U4XSC5-$SA@QUXtAb$5vdYqj@U-uS9oQpcV})+r1Gcz^VqTv2}?A9hp4$Ei1{;{x1&5 zrO?j8KmWx6r;tpMS@K{%Rx76|m*8x_uBqF4T*}3#t~-(H$b{mbn_;gh?#sn7&mooV zx(8p<79B*pE3Em{D;E4H=BgNGD)z9J2T>k%LLJ_eUEbH!LY;nVH%A~a?cDYu&>TRq zX{&&U8QM^sc3Ffh#=Z;jo*+zY#}545j>CgJ1^H-(G8Nj#50(=&wbqmF9jl+c958=r zhBI$3V|mwg7*&6wRr+~5LcJ*E9)=mr$r_>(bM8OfT8%KLWo^EcyREmRo>R@Ku3-1P zsy?fcH(jc^VGy|Ljf?R&XRn@Px-*9psU9?W-up{c$Y11KIX=Vsu28E|zdgoATWcbP zhW*CBa83TB6g$|bUafwmSij`HCmy|@P&vj9Fm&vtu-f*c;ld9qP&Blxe)t~F%S z!_?>LO0J(vQ^DuxZQRDZw0~w}+iTQ)ra)cV(u!_JUeTUDDz8-=m$oybML9f2;)X2(6dx0$tAaDMx<9bE|NI9Yx$Z{BdF{Y_&mK?Lae%0*p zZuSS22PWpP%HZbz-oIvPB~#uf(bq^%PXE#d-qC<-jQ=(`Z@je%yrMAzb0%eR-u(7N zfZG)ln~XO=-j6prHR?kx%`Magek;_QbU#f?f+%U3ZB zn+U^&u@YsA@}t*prtRPUX}*mddl#w9PFZQ`;b^#4SzKf_2SvQ@>^diZsQiEu8OnE$xBRU>$ zy$_XF7&`y)n7sMO14rmC<}CUFAvBP5@x+K?@@(trEAROg?5E=0Uerl3>hrb)E{-n7 zYEgB?fpE|P%r!KUZ2{cKgZST+V+ArIiUWVvVd74gw4bDy>52zJ| zGl%6J3Ijd&Hw-B=#1L8#Zs07Ds?=tUc=-^mbSLSdQ|s!2^}8>BU2Uj(>t9_zT@G0r z^V5@;6yb0wWs?hzx58)|4%VajdG!y{fAMiHXO!3j(z<+@P*3OB@`w4?9K=KEBjN+V zcVyl8-q(M#p8|azR4`@XfJrR5OZ&Bi(Rib`#|Nx({>)BI?eWJ=!80Sl>PGP&4m!KDXUoGcDnleAX&5 zmNSyxltmOoXGpcv{U4srJDTnGjsMTnr7fy8idrp-+M}ou9#yn~pN;-mMoi=a31;&~`)d)QbNbCp~oZH!*=u)7&y7CY6&IMz`Tlr53YwZ%`)Z5kC1&QW<2}dce1MH=kYpITU1&*CRV7>g?=&t$}Sh;5?!FIh)u_>|C6-Z(+ONR^={M z#We5n$3fT}Cb*FXRgYD&#~b-v0)1N6oKHRvmJ$B_8l#eRp4w#}SIh7K!69?x%*{s= zf(`rhg{m5w20j0!oOz6qnSXLE2Uq*NrH#t3JTo!g)jEX9(&(_~KXMOdGW$K9PYHz| znSC4zkwo|%=N4{9HvhZ)t@@#j)n3adf>WW2@Ec}lt=By`aQk2E*@s%qp9z-&Mt{&o zP&P-I!GY7?&Nl8n+-D1Of680^qoKVD6PmZ_9)1m=x_wA0odSOS`)Y?aa|876yuefN z@zFx__T8hLla(Hv5SzC`fsHBOj!y+Nyo&eYIfgDmIWzvqUV zl9ok?wx=y;ZiR4Ln~B;t;f2u}g`?afZzhTgwJZ`h@Jt2Nt|O0Mg9(GMeApu9nd+!_ z_?@rZms{a^2kv-eW-r1tWJ2HmHB}CYbV!Dz#I02yz+8-=QpevRGS6kI7#(HLS=CIA zjqa+yzyoI}EcSxP&ArHcp{15`!pBY=RVeVCG*BnuYOqm4&m|tEyEIlJUqk8dj7%-V zinauZ$+==2QQkRtWC5n~UOrlK!9K%TdG!G`VoW`EW$uziOfEt(-lrAS6d@F7k+Hd| zuraq6L=&C7b)v4ORa4}^#lrz_j4OXElxa$w*umuhv!BZD08Ea8T*?IIluQ`ILes|= zVqb0{2ju46KAjLhRYN?-_FBCdY-3;5S{?P}TTv75qN2lj@6TFel|1S%w`rZ3K*%aC zNrk;(4JAKfzn19xuqziR^UR@!oXroPk zxrA5U?~L=j1fK`3QX1H6$y`4eT2ME0d!)8T{o=R(;QSR$Yx1QsVe!%qZ=!pI;M|mA z7u?vmZPY9pZsvC|mRX*NTCS*g_4^TXI%^B7|oeNXfBswaxMgxDuGN`Kq!TdHVWH3K3r=7`bj4nM;DTvdN|@9y1)IfDkGC|#FNEC zNGGP+*4^6>spWvvN$_u1LP&(u;`xX&x*{}p$a8vLdspqGH}ZQwbai(oMC|6Gb|XUSc*H%N@k^Ow=CsobM5$PeObZCU z%-Ov=ox*aI^LkaHrs?bCC^l~)@TTnp3}Q`ete@b29zk278)8q~@?p}kxusUP24wXe zf&|W9yD6i-rfHE<)__D^=H~kcsSYjyTJKqDL@Rx|xPNp$v%m!=p}VtIBB0)CD?3A) z+>F<^cP|y6=N(wQ;JLX#zFaPbx-9e0!C$SK;e$crG6f0r+ba?{UU*k_?|cGFK<+2! z@PMGthDnElM-Sk6U!KH6vNKI+1KzJehTX;_=|)HR$b%;X%Z3Ui2qpHC5LJmcPTp%v zw3i~iX20+s^@)0DLAz$FZy@o0o&*K-1hEd`Wxq13QI@BpmUw~BS5t{4cw~+K0BM8O zXrr{3%s!R}DvSyu93Q(qS#rBNa!@4~nb^Rx0(xSxyzoT8w~7+9t<~rE;+G+>($pS} zA(3&VzCSuU2F$BXYGy8s5B?r!aqZ|6ccSd+kPqj|a{(l`1;>dQhv${Tc)YHew$l~R zhY8@eDvhw6an-=%sBXUMI@*n|&S72Hfv)P$*a*z1$PPp}oF7r{?B{II> zKO$ys?H)<~z=F>F1H=R`0}L(kwmYOZgML{X(U5D=GD=Rzn+vp!yz!<7lWJSLcU>VW z6dsMRsxH)^w9~R8_E?(~zvksD1P!Zo^|3KFsw&j8ym5^Y!o?3Gx8Wqy2sdms_JgGe zECC2SlK$R-^ovGiC}WK>gRNY`f?1mhIJZ=1kE0qjo$bJY*%P7hWc8`}7`lUZE;zbqbfF#$QTV^BC$Fq8sBTDZo{xT6-UdA_KXqw+^p2KesijOK zhGBIOsn~O_VrBT?(M<$aea0PX?VzX|{|y4%d%~G=OcQA6jrQvK8my@=90Pw$SIrOZ z3{GvWrcxL?sn_wZCIYtIxA5jl@E>j;LC7%0b(qP>*1HbO9$%Ol+qwGIg(El3f1c#- zUmYC^*fw2798?V-W{$`%4R2fttO=f*m|3%HwF;9*xOJ{xcXLj7Ih+J)yvZm!@-+VC zbmn12m-XjLH9X;Q0nI{E(lw?!sa$(C>!tIGQJ%K*yIaeVg5Jtr{*5^i|D9!vAWiQI z&C#cz)fDf)H@K(}XB!7q`WfJd-URk3n-rsUPmPhKSSunFCXYi65{kpXX3cR3- ziYx=ss3Y_};=k0HB+hP#-pKU&iHK|Nn7pe~KxUqPN(Z9!mnn$ZKLQ+u%OmCiO=R$UEjaGaSdb8`Wf z2O?M%${KH0Ry`D65$7>{$33^n=M*{6cmu&$woAQwL@i^ zz>5lSL%`0vHkj+&((viE!;sYJEi0$F2|UHgh7<^CEQb$yOVZv>LGR5J>xHxDvyZLh z%4;7s-uE_a0v&qPaPLN( z2jfw#Mh@pYkeIvD#{SKHiaf1ic^-k~>;57e?4~di?o030z z*Cc!X^jn?KjHm@T*&e%Dd}?JbbZK8at}aFj(Q;?P9w`_!o*a)&S!*M6R0a7v8&}sq zuT0>-p_0-3a+gcXp0A?K2pn~Ckv!%J>C48gG{-J~Yibf1TY(V1P|`qgy`E*%$>&7r zG8MpTWZM?u$BKW@H$SevWbdLjdEXM{w0&59NHH&Ov~>r7`G_IH74VNWw{XSdJ({6s zBjs{X)}GNG@S;uUEuUNX%LF%=X@ia#kGCmHkHNw52aNEha9z;pLVPObg^baJdav5c zyuIKL)NXi7)D~+0+Zh)nF@eg;>i^e^X6lgpnb8k%-=Cpbc8DiSrX4-buN*oy_tLsT zH$`c_0tt%!-epI{an*E3JDc|Mi{B1Rwl3~kmP{J`5IlY1FLiYVA^sNVe~qHv)7g#V zk)xEhaSci&7JYlFB&BRFfXD$zqK4a(6h8Kv#@ zWuxs};o)lcZ;%`PLkVBU+U{EAy!Je}nZq}|)B7^xVQ9Vne(k?!ya;mp;Jt~jA+a(0 zaS-Tuk1OMIMPR(pu#YNAC7_B^K5+dMI(LGu+77j1r#n=RYEH>JlSxm`p!K0}mWK9{ zOSrIroR<(GjPL=KpBj6C=}NOcW!lR4b(utmj~#gD$N9IsznDXTe{6ca*^sn> zgQZPn&m+2cM|q_Df%`DT?3bi}y_ft_GD_il&hB=8Bwo_L;x$mC=_!7&)U4(5)C0e} z^S%4W4ZML2;CUImV}|sb{xTkm2PqFyY6VImO-I`@CQ=E{DtUQtfMFVbjW20w;SDfo zQ;X2s2>qoiM)OQesd95EDO-JPQ^=I423U4as2s4lr%CKO-%M!Ql*#c@$N^7IG@)#p ziF%Qqri+)*_z8wN<=U%DcN4(%-aKjqy^MC@h6`H2Da3=)i8%oolc=Pu*4W{2v1tu}k|Rp0bS_EIkt~(@O>UqS z{gd*onF-NhwzTx=7Q?**mRix9Ipq#cO#FPqI0rXpVi(VzYX`!L=ht3Weso84wR`0@ z@&9A7s~{_F3YUi+92`Om2OZ09F)W)1k)%0q_5MZr>s0d+;yul>oQwuWO`ZLva}PDa zOZWSY-$~M@0C*S`j{n3@~;ochwh75QN=izPA7)=!Rm_Yy$ zUEl8(ttOY5m*<%7#(}B%Q;&R3t*2#5kr%H|Q=~trejr9`2lG>I{Afk6vXfL0==ad> z6T5JlN@6NtaXHqNA>$84>AVP@_L~-t#BSs8{E6%s=CQ7^%jL`sA2F&&ep{n#VEgIq z&b6AbIqI9ks$?Q5UxsTSC^b`TooiP<7oSnCe$OHnnGI#2$cKR^W;hHwMV;^`N}X}4 zPvLjgbYl3}S z-swKmYIw0zV7_jM_0$doJD3R$J%U2JHJK)c6D$n3`zWO{fZ>bJwT9Q15!x9CiTyHvC#DFKvfdan{dOz_ z_q^%j>UHK7zGD9LAaTmTn5K|_2K`KZf^*3AQJqe!r!0W9k8po34biJ!aLmt`>?)CH zwaS%1>LxsCiz#^YIk1b*g<4o9ReI1KGxqBdDMkC>tJ~UEepaWJKI!d8G}D?@E$#Op zc=G;0KhS34hew@Je8%M+sX|EaC;MB=@={ai*N}(rb=n6_`e_8G{VdjIb8*RarLXQ< zDXq)xUfNTpxvs3$u^^LSf0DldDE2}^0AvCoQQD51r1Q>hQI^hDZ&6us))Mvss%cPB zO1Tq|Eobec|IBiay;sC>$f@!)>07|;c8`3iI+q{M7@K;O=Pd*lD2(zL4p5zQHgTXE z#W@s?bzegy1_WoQmPe_~8>7r|!3rD7a4|BsbH#tQ^j(EW8ZrQ~7z;eOQ_O8}= z@+I-dgIWc5C!}uKBGNqXEP;9HHS}hG3irZVR1lpR>hgs~swlm^JCs*4Ls-i6_2gaW z3&fh7z{&C_H8@i+6O2W>eN(X)Y$1u?!JZPSqQ{$(GtJ|e>dB)4G$H8)m3L?e)P(A zd=wq+ zQb33dHfkzKF z3fdbbu&$K6t3#_xrB3_RufukPP&8{(exn#YklX%?=4yj8M~>&bZ&WW|q8NS&Qn#8D z9_cd+El>DDxq;L;mO=6j$@kAEBvCCHgqVue6KFPovYi;|Ox1aeQ3R+JA>IY{pkKG? zCjwelhZ2g_TXCwW=o1h6W5JDBMAW6wFmHNfFCgObTV?l$_Mx~691&>m4>rIXk z+k1~?N@%>>fj(K*?w(uD>VQA7Pfwzfjk?GBg?~RIMf)<|QGC{s;#0OCWbJ^^O)z<1 z2STtmcj8qU9?((}%2hXIHI*9sR23e?mYrYVe+BZ{?gmJ8lxf>vyA~L!XVzwV@GuO> z_oVYSt~^9-1*EaAh7);NDASkO_vao@GoRr!Tl4as$bQQui!AgEhjXX%aOiiBLg{4H zNl^PR?faxz^^I$NC%wA+)7J9$Me{G4#YyH>aaH@@d^8I7X0EV3l7fpo?zq1{3|Fy`=a!v`i9R_hx7F~bwfpsyeOH3v->L%PAIKB>hg{@kZ}Apv@}K8I>74D zR>I`RTPv?*?M!5OOb1)5Dzvy-p3Rl{=_VN!^i)3wPWu#@S)?meJPi6{RNIoPgk%8h zV{9RU$25+*c@`0^WC7M81`t)(iv$+u$kc~U$t~@ zHaG{a-6G}n1qvfnraK~FF(;9#P1hcE_S+8=3XnPI72jpH+7?wMaGzpQtX_qs+cJ`w zl5>B~Md)SE&DI`KU#Cd$hB7$4!Xlu$kP>05nAy|H$(Q>3%l)|*|NmdKdUZ(?32Dl` zf-wsp@}C*LPGD(CkZm!P<#ZBXDsc>B+|J1dFdAtQyF;+FW@IH;L#cJzt~zzl!r|6b}ixr z7ldQ8Vk`z|CO3N^d5B-5EjgoZRO%wssu8=?5d-bc%H*w>{{8T!f38RpON*gobh4L3 zG`~{qtGRSG;Q2j;a|z>;(>93fH`$@ve#vtgt%}LV_ zZ?AARHu8zY-IgnSTx8iqgj1HA&!e$KfS#TznC}XpA3$Q-QghPtS($UoP_d4dnm&74 znWpg~F>Mx))_CEa`Ao%5h4L=c(tO{p5TO@^ij#C3JN)p-xe_iNeQR$ZT_kpEyxN5k zDGympqP3Q`jD44Ru_0Z8F_sz`mb4D-d#2a8HjnZ$*~D#MnH?+1FL}8lTZfa`X=a26q)g?iqF7lWh_Uny@}B`)an0iU{N5DR$+5| z-)1qH-YP1c(i8KwvuE~fZTr5>Gc{Pv2%43;O`Z|%4lz6L-MwRqJ0Akk1PubX zh3#Ilr?Wwr%lo6**bo-ry?J5F@(exBEVy(QRN5ufa<-sUN{?Syc+jII(-xf}zBFWI zsMNR{vf^PY-!;*d|5aE|hNAHq`zkQAh2cPzffaDS6v8A-yBrabzXnph77@%hvM*Av zG+2=!4wIlhNRXZqSbMTnw$HcsV$UWh-nqLB^IA!*bd+viRr0wn|J=gEFOwEHznwBi zdoj(C5Rr4~dKDhG&ttMf_4CQ0nWAnO?y(UiJnov3-Kg+X{li|%v0tX7Z%&4Cv5rrs z+=&(WwCAUndMvbf+^BUy01HKx`)e3aekm#yiw*c(dZ&)6T0`)G+>yK;`uED8{7jxz z`Fel4-)4A=GT*D(dt5G$Eiz}=T!YeHCiHQjoad`HQqEApMYdd6?6WKhcIWkHiy0W{ccw9M*WINx< zHz2aP-&%e<9W=SZ%erE)dQx6;KuM?c0B)P&$Y920V%mONz7Dh+Luuzt9t$l~zfB8I zqB?R3sBR6bAolXV^rgu+{8=J$b47MWlXsSrcV?4+xM{={FPfc~a07T!{f!@O=O;h+ zeFW~~hTl0fH9qNlZZGxA$QOzAVYc@jr4H|pX;XEGQS9OHlYQ5tcB}I{Qgt2u!o3z% z%joxg7X-88APlUV1D#CvBrW+GmLOgy zG1u}reZv$T3^YDlM%L)VT|5w1{@VdVYJED`-eAO8XJ&6->lHqgHoXYumb5CfJm$sY zhCQ(dTd{2D9)yxLucczJZKPB%+k~!tygXK3w2{tJ`8&;GNT&*{SMW7Oubd!W>D%xl zoBt2z(xKOjpq6#*oGee*qm~Ja6M!!hQiqTg;J|2CP`acmV3onyBE5zn|zg;Of#NVc{o9P3bS(PX{iFmpVtz=Cmn|$HRSD>8hKA#t>nv&H=Il^ zY%6UMnfg@ra%Opj&9axEpo3X|o3go_PqC2;ij-AxH}`bKTT z@=`E9qSJq=K+29U0PIXp6DND~wwUBO^&+L4atbfzH4g!~GsFUQP|!@^esfN#-Bw^) zfFfI9MkNwObag+W3Ho1T)Z>)9UbiCs^W$@U{gKL(V9Y;qDqU}mdRNbm){#gE-C&vr zg`|F+E*6lv`?;%3gK&9(?gKI{0@KkC)`GKUkQ(=2r1n?(S1zbwL*rbk^93boYa@2} zcfz%6>v(BSCe$5mzbh+A8it0chYz0+Xl8_aEatS_raP1X-7gbwtf*zKQ~5@N71D&K32E>q8;G z8(A^1b!>z6(C`(QHpnh-*iGYk(DVyOsc|3?q~k$1mXq24li2>i!M~68AI0we%INP` zY6}%6-S8Lw1dw?bFlQw8(Qk9qd`CQY0H=RAwgyXw;64G^yLp)0R1%FyeDKQg-G`2B z%&7|%vG0Yba>od-)smqAA!>abRh5Alb562LBjDSUy;7Gm_B(8s+19Fi-W*n^W8O7R zYzrZWrrT9(ZYFs@?i&Yo&5^~}X|@+yAwk44os_lkIJ zfKtXjWM{7u234NvmBn$N854crreVi`? zsVAwufq(Q~zXtOJ$Em`-+UHTNB(u?3WOH^0t0nP|5elZDLY)*fPht@h4aqdvka;NL z0^5JW2+KH;XR}Xnv>u0dY#*D|2S@ID2WOqhuCU7G{&e#-KGDCJs+SR{DNAb5?upB< zu+ZZ#)We=O2$oUV&;0q3#%Bd1O9$H^YClw(({*dpUtt#F@n0SiK+f~UL2WU zcuvT_zH1Xh^-WY>No)Q$lo!0sTPGsoLcf&^?QDe^uoVf+ECi3j|=`XA$3!E zUisK1!7p$}1VxygivKEDEI0St4n4lbR+meVYcyIvH(g=VusKqvUA6EpcwI-DLCn8V z-i|-08Wwhzilsf3pg$x1=8uj)w8wd6%^MY%Pk1}41c`>2g+8dC`Mj6bF&BH`ZXh_Q z%dgicrEd00I0_Cb4|Y!J(_M%55TL# zBjDe|txh-&-|}t?)~H()sa`t9sh)p(8?=mhjE8h6P0a?J3|pl>aqRw_x*0t#4kNdS}t1p>~Z)r@33I zeiUo@RT5!zqG=21DcBZm1XYQpDg+9X-Ke*a#1F8Tp#{G@v%%J~ir#m1JPfsuswfbA zR(1c;4fE}SI@u*L;MKM}8qvA^0oE^4{f%B&?pzTIu=uw81MuwQ-x@M1si-gQbXPc) zlHAbU53rh>G-?j^**cgc4MOsL-+n)t&GQ2z!fl{t{gLnLLmm^|1*Y!RK_nw6&~m&3 zwK~+HA92Dx1dWsP;WxaGxPMeagP!Fs3;%jXy50D|-iHRouCBu5_G03XOL&d0+XfY= zClRhRB=pK)HO^pbR;SVJDF1c5+LT-7$ifd@J8kprkh+_JGMCVVg3;8igD%4lm@ghB zbYk_az!Sxv?`KB$m*H;Dy3N%2*gs3j*2U5?l;-(ZpXdqOpBMXG0UYv@{6G#FP+%3t zuOIhGX>Nftfqn#AkpHZ)j3)Sf_`eiokof7&yLbkY$A{dl;152D473B0W^t$Ly}y}* z!F_(7AYx479hgClIWn!zUd$>G;3Z4U+4R0uLHBI62O5ELm!>%p?p|#0>})pXe~pL% z#NQuym}j;)Z{8h{?6Bg!iq1T#K3?f2@FAh%A54?pG)Zca8yFG9i2%6b9MIq>K270QoRv0OGh zRbg!%qNW%jRTD$Il>rM9* hmD*ILbSi9>pki3I4LLi;JK_6oJyFqHSh-^?<8+z+ z2<~)6V|rfY*^iGM4&9eT=Z){wqULLYoTJs{WopSHN6+H#yk987kDhdl)w{c%5GfYP zb0|t~30ft{brcT96_isqLlSP`7Du}i{YQ?Iyx_`c3>r(^?2KJ*G4#uD2uwWCMdAN}?KfKT{QP%V%}sdq$Hk?UhK&%*6jXLaIh_QY zPYzjk)4UjH)o50mjdyo2n3**V2$-?xi%|wn@Sdx_DRkF~ghj%*kiBc{6B4A{tgHP> zIe_jWXL$RoFBT7|X*pRITP&6j)@Bevi2OW>6xF?lQ->5^Kw+2$i8XyVnFu$)qqOTh z-=Gzysh{&_-kHTV40{ZTSe1?F3%=VD$KFL=XbXT!s9DmkyvsiXuI6E}Y@CwV7SR(+yoZzzVP2`xEl zq}!Zn=d-y6hAq6uHQ8Sn{1O4gW97ofu6HE(f7Slhn7G^7N0}scul}CX_d1HpI7vI- zBs-&ZMw8}KsP8H2xllpGw%hpM+H_YX;4N!|ED5Qwo@L*{-PGCt(=(=ZVUjz2W2&czyEQZ@IkU`8L0@ zgy{i8uOFbb;9n+PZSJHTXC87Q3L>V$6>43hGykEva!mP@ahGU!Zo388V_Nkq2i_Sa zgPEy%y>=fT9nnxuCJV)%hM?>_L9fR7g-}_P-#1BVXH{5OB)7%0_LIC-p(Npx9P(QJ zPQ}5!q^V2p|1?fTh}$qFduAsT54<-RZ}0K*@HY1mLUNs~l&5&(7P+34`y1C}{v3S>0OyeM6 zd*we@A3S+)ZF4kt^ zt@D}}j&-p35YvlqDc<2ngG~jU-DG|$=E+4A)bMkER*Z0-ppn9WsVEhjf+5@XHmEd zs?*M?%+fSyE3p&rd+NONbn}s$QDeiU9i8m};cCu{s(8+7eS0MmwmCQGZ$unt!tqRv zD98*@$=%G$etI^tAS3Wre7by=JzkXybjWC}x>HaznG+R?Iw3kmUjS>RZ zZ7c|f1%?6kIY8tWybWoIA)?n)XzZ>pLz>Fc$4!t(BXb+u`7D0vN)>p^MFceT$wz)P z*n}kX9}c(Xc!VDbNU+o$>uz_UPBLZYt8E=FgLUkM&Qc#?le2wq;;6`-1!dX)#>9|3R6n; z0M{|nXAfjm1%)RREYMM+RmYDUxZl8z*js=G2B&rg60Jp{?&-P|2XE4=v$mOVyDS50((p?Y$xgL z@r}UZtet%-&XgK=c6>!C0|&x;fEV#{;pSt%-qTz}ZDm-%LMP&CZXg50o3=qFWYa^# zdH|1GDcIHcfsIUe@Da4?Y`RD zcAI_c7k`#;*?UQ$&%&F(JkmxRakwj<9=q>Ra+0rep2Irl{bV#cZ){_ETdNceW#QbJ zE(3X}6z+zBAF95t2`!Lm|?tL-p98;x4Ey=T1)D;6`ytQ~ z{Kng}k_CIN>EgGespWYx77j7>>!j?b+4q`L29Dp^Vi?*!dS$N`Yvp~lFVlYjteRba zr@vM4GH+ks!ckiqouW0o{GO|N>Demt_mH|z3w*Bq(h*)EGdZA*v~qpj*x zZ-4(RHz21iD*=~E_VG56Zc27;yU4kb`0e02BFYSGiB5cCp12St?16X;O}@BsbW7dc zoTU12T(~N41BlQN0skKNfXN12eX2Q-lj~;pv0)jZ)XF6f{$|l&S~)>dqc* zo@VWpL8-i!<*&#AN!}P9l1e+877eGm&Dv|)CWSHREg)kVuHTpNA+K^$cr=1(FAS<) z!^F3MPCQg!da|UR3R9q&dzqY$&8ssFXJc~>E(D!yJLI5;U;A^*)6R zxfsErTTkq9>YE<7HaN$oMr<2fAaz7lodzXow`6Z#YD*&;qauTjKAByGh;6j>dn%M{ zsO~8>hM13)c=kT!T=WnVX$G`3&W7s$3EUIE6C@hz(ale~gl%3?Mk7yFOI_UAK{xxI zEOmTSrhF~o?M{_xoQ)np^UkzC`_>kJ<}Ge57ghAdVA=SE1{`^HF0wL<+*k7A*xs#V zaW|`2oz;aM7A?l9q$cfKj4jQ?nKKQydVsH3dF?&By`x`ORWvuDb5=U@yl z4t1Y>f?i)K);Np<4rHSZ@hX3o)M{p5O9f7@)4&q#v0gz9 z%L9gNtzXhPQN=FL5dR&DFTN%LUw2Gr{vHgET3{r86Sd_vMc+9g#BSBuqj1)0Q>Gnv z310}oN^^Ic~B?>ur5AhnpZ1kD09+tQtYP-y` z=1bTnu3c16*dwstxU;Ho2SX4l^LOy5R#Fg0P0WCtb2p8v&{q+US%44^>2<|JMwyA4s27Wo!CV}p*7 zBUA~>dAcg`56q&2Y44?*$J_$B6Ho%v#rjLNNtE0Qhoz| z)0qO~<VQhK80e!3UoP$-DrmQQYUZ^md15o@bti3i==g=hR$W~0?- z2B(Cuwj8ahfzH<5!DA%^x6OztUSW3B%P*(ZP(OGmH(2s5xuJL>HYnR=NI-VD5$-AGr z8l*0iE=tBa&UgZI4N+UZ6_Q2_wnYUy`uISzm~KI|A|-uDWJj^52V7kY9N zcP%=%mgERlHe83@q?#PV2g#2Ch{zkHjphIq;QkDK#yn*p4Ct`e9EZZ@uS^NZR#{%% z;FLAu2R?<}K+pz9d|d}9jMc9K%7P|LiQzQ(mB5BIso}`s-udG^I{`I{-2>>os)xWa zC=YVyr#i}Nu8S2jv?b++;17(M=gzR0rDlw^+YheLMgGjqUi>NB=-F_=LLFKR`_41# zbume_ybP?Z(Xo+Xq}P3Gw3MWguJ<oCYb6!o}q=vv|6>4>OcAAmy<$9D& znD;rcl6pD(^t-xU6s<{JeEEc@2bbTdb|%ZXMuWT6D#i>wu2KBs$)B+>^p+JQ)!NaM z5M$kYFa>^0T@Sdj^7|dn-RTm|rI0U8KAOr;@kty8ydzLnG+w>65_}qJZ0J1AQF!!b zsr$VMRr8pyVD$@xX^QfaV};Y=Je^Yy>@l868>&$4YdX}D$>UBP$m;VC-+dCdo`NYO zwob(vGU;yVFZsQ%vc`Rb!9V$hpFY;0x=kRW<@()f5MJs=Zt4;u#faHN3x8Y5-$8ef z^by*=CfOebTC+T;l85(fMWJ=73*=WQ3@KlK^fj`s**9B+a7l*!PhLOyDZub&kuR

      3F!)y6SU<TD*2Y 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 )iK^4j1ds&`Es??!$w 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%0DX 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

      UDz~um81hDa*)dVSSWH9k@v@ih>=7BA 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

        x7pzt>=*c#=z6~I4_4>L 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 g}AoaDN@OnVZ}LZ_nsC={fPfFs7&vnlTq|KdAne zwRk?od}X!wP=lhLg4TwBIh)r|RcdoFSbmfUP7IysHG|BX&Z}*(12j-Y#75K49)01v zS8`wX0XgMDUl#Qu9I*S!BKYS2I|~21`k;5K#hI95-I?bQbxEag7Xi+R67{Cj?g?Dta6&SgP<0%0srg}u0A8gI~%ZeGm zq9Doi@V38yWoHlfPR#ng_6i_^a+OxE7hG+qvm%;nkt;yuztcgYKB2A#ecfYB;AG8!e`DEr zRU-x{Dpu0qsw}aqaN%jH=Ny@i4!%f7)9r4|)vR2m@q9VXFWUsd79N>sE*T5eAssJ3mk&x-A*O+ij5@YyH5M zm=5(`%DVur{gQ&A4gQrj-Q9)d{jqO=HvnRgF5X*nDI8pmM}0j0r&VQpL6iW57YGF< zhMvZS{6)R1aeqVW{Dc`fLv=XWXNRX zAMkjKBKGF%hc)MX0lE`+Wd4xl(n?_((CkpF`84XXN&_BL#JB~#q3140op*R$t#RYO zc>4mqUfhzP6b!4*)ISc5$tK!WeccXo*FjFqef4l9f$^}InqJU&_|QhhfmEGJW)ZpU z%y_0A67nzB11>;wm9jNAe>Q18oM4td=9fHR{yHU)JM1p??yu8zJhT~dC7h&KlQ&gi zV|ct>TIT2dtvn;w*IT#SLQ}S?1Yu)t+urQ8m-6k&S+j9hx$4|CRZL>7p1Hc}7xOD% z>z^5WCr)++tPMOC$>8+fHat#O_e9T2_|WqJq-Ce8qB>Jug=j_wvSyN}MmCJBqUW=b z4OxL_A)>6deQjCiX2zCiTG-m?#$aaeij^dIbzHTUw#mlSH)%bn5=cV{;d9nQE2dIG z%wg)srJ0K-I-tq(vMFO6ss3aw72eUeAXMvDw--k_zH)Z+4;GXd#)4~43{~${FP~z~ zESul4b!WP{oyXz%j8;c64;TFPclP^QviKXqlM+F%xoMw-s_zT_9}mwFYcsYNwI3wv(rL|BIo7n)vvw>!b!qw5M`(B*DNg+{V(EgpUfqiH>O5-N z^2~bZgNF9t=i}&lfiK;cX#Kj#^EMgsC0Kt!G>eVy%5CdJN4}WiKHWY)7ZU@aM&0Rg z-KE#^vaCH>3C`xqI*>#Q$E&w2*WQ>XUf=!=&XJd*}n05PAy!# zu`M7&eGrj;(|)R;H0j$PGrSnEcvXd8w3kG$U}Uk9_J8w{1r=UAj!1D>SeZ~qs$fUf zA@33@y8B@w!)_`$Jt~^ss`_8$`@myKUAOVKt%tv7hrU%DPA1;rKwGRyPIkX)%#T-O zbdC(IW4dTS@bmTZjR|xmbZz;?XFwWlz72$jPLy9r+F4Di+Ou03Z>`Z_eY%q^C+i;C zv22+xb05?jq-k;&EMAjpx6Id`c}>Cn-VVFn=XH)E8Rp8*+8`aJ8=2dfug95JC8%E? znp10JGd$xx%lk3Qs`!8-**vMaZ~fuwJ|B0k5qPg)B3E;a^4*|J)%QSMR2r@dE{muzJ`YL&+Vimsg%fLbxw}I>O`f%sh4SKTqptaNpWGk3i!MYxsO?|Lac=RU z*bh|HlgusvB(HQg-cf`Tt;{O~d(12_(y{B`GCiY7koiJ7{EMt{ruI6BpPlqiD`}Dp zpt;GC8nJxJ^b2ueEm9$ZNb=A5 z{Jt0dSKPSb_RcHs*KPTGtSa0`f`mY?YU7IGc!+E~A^tL6EVF_h~LQhhZZ zyLA+TT(fKQif&%?J8M~AN(lhXr1PITNUhz=E_%B2zS!B9j_QkuYr0XyL%d&OjG?Z(XU}NOw&aNOGuF+? z&RRHPT@ha$f=GZ!@2XUeGE4r`s!+sDgm-;VwroEPgn{t0C)WhqQ8ARKj z&~@K(>wl9vEHv8mX!(-cvp0ZbNTB&$kdWdHzP%sC|D~j%42s0+0kzI}G}|$nk$`!d z^~I5zvj?;e1ucbDn4(&$+N`Ts3rZ`;-MceX<_r5EQkxE4=tJ`AYmTa_MD`Y&;1%m? zn_BzNi;87E#)d`9&ibpf(Mp&n)d@h9k_J!TVzqCTlM<uiOpk!FhWd1E>2Edp5S!+|8MCQ+@v%SyN*2p?AWcFR6TSU5Bra`utwChtTaw z%~3Q+409eOB*xD(hRv&(RbN^Q?HWZDdbDX*QN1|jyewH^SF z_?2PO{g~eJp%xoQ^{lBJo$7?ptuT3Cp=WNW11|U0Jg9UKD19k$QAPsMj#vEgQF4DI zfCt+CXGx*L6f{x$g?nhu=Hl%k-{!jo(F#s4i04nx!U5m2V3aIq5?eV}cghms)mGR~ z5%X5H^wNTktMkKl8yB>ph8sskB>r_uN+&rwGDuhLuWrS0y5y~%FJ3}EI=6g%85@N- zvbGDb!fdH|PZw=LLU^s;CyIk4w{OUvsHo7-H09rt5AW@}=1PL7%SQxD++}H)F>831 z5IfgYdL;N0`z`jFa&}MOH|aur&)Pr4_o7%?m@rQ^ybe@qIWKt~KBM*=z3Jip$BuIS zncqmrtuvKoG~>aG-|%%Qq+pS!Ge8bmzK~nK7+$_R`SQ0}i$JO7fCgMfi&Q8{2}u%# z>%a_7-GN)AR}Cjd_<}x~$JzUM1g@iU%zQf12lhnD4WtjocSuN-U85!T^Q}s4N6|Li zXjM)rkU_C*Y` zoWJ7q7egm34Ji=3%9vXinqC^5s#F`mL{?Q@eJBM)^q+>@5_I(k2^cEsBxP%IW89zGUcm;`g&Le6>Dz zRbdIY1id~}-@a%-j5W43olw$MM!R^uj#!pT9oR^QSJO-L(l?e;{ta zug5s1X1VZunLT)$%n}FPblE7wXXyzDYL55O0U&p0c=cN6wCCvg6w!1ghoB=Hg!~fF zRns2E7O44@?OYJtCc9@ipSr9~uqrL@(8S=HeZS;=f5{od6WU%en~fH8ZL6q{KQ+Z9 z7f|68Xbuq~B(lxJYz9e^Y=Ip>sFtw)k$J=L`tG-`vPWGA?BBee+RO^knlXRhBV8xMzA$m~veq8hV-Zd;oO) z?GY8*P&)x=5AVmVSlAmf(oH{ppZXmaAtZjTa?Tn39rLp%qy~$7#npYwK}$i&VDCvm zt+rQnu;+v_*#b83I|M7ICF^!*NLs&NfNczJe&RKv!caO~YOQKYm_8;RyWC#7Er$xY z-7FlCJ$_xCpWSHyE{1hYAljU?DQ>UBNNz82H9bMb|+w!{`Q-KsH$vu z`bs>^Z}zTM?#)TjNJzXOz&s*))u~E6^LRT5JBqS7C75N-z8BtPQbqjIj>U0xWo{Jx z8yK>FmYQ0i8jedKY1U1(iSg!@jXQE6!g>SG9;& zM1mr#0OwE1vL0u`+j}pox+>+s4FSMoPW8WHG%d1sx~4S9Jw$aV8c)grGMz_oR0Y^S zr@e#Nmlax-Rh2@`m|T?o@*}O71;&I?-?1)5H0=@hV>IOyB_O8MrVF%Q?JAYz*iyA? z-qZ$5_6dzx`lxFubZm^(ou3XiS!rqq{jLx{&mfhn%_y_<+y+Ro%n3fxzCzc>@@L-) zb|xRw?`0#1TlB6GwKXKD;ekAb!-YFG3z3;1P*^3v9u9@9V|jh0{eMxPAB?Y8*Nk6I zVVtP4t`r!Av>cecQ&zq@+{tt4z$aTWGV|ZNt-jvYk|mcCRG6B*9hwA)Rr-~`4Xj`3 zIM~j#$*$Y%CCoLMsoNOF=AIRaPcC05!^UWC3fhH?m^hxWdeL*C5*9^I=KkFK4@L5~4Lv zS1WUiFU6}uE#JSHHewf4mK1zztBnRYlg50Ks?V)SmmgVEH(B0EFFijZ-|7~4?Vr{- zaxZ<}jH~9AG1m@Q8qPl^@;L-QAsDsS07RQU)Z}{Wjb!4j zVa{XIv`_%KsZQgeMXX2!=}fpNT6WHw5-x6 zXf|V0>tX+M-G8|hNZh84ASZ&$jS~d|=DVEGJgW2h<2$TdkldrTe6aG0rp`4dTIXo~ z+lbV*QfG%|kX7n?oaN4)``HoqQsbh*C%2KLLqjadszZpa>ij{@NVC;koO?GL>^4=0 z?O-+rWKDH*Nz$jfoN}KkW#-p@y=knS1susIot%{&@BcX3)vOjme$f<}4|atQ!iLBt z3p|81?FC8<01q*~P|!&jo!qLCt7;jj_QNQR-$O8zgK8K@k@C+ zDe4ruIeQ#oE-cRED=H^iukTZAe^F$oaC3-oJYaSD1e}27AB7l^tS5Y(ve;9%H-?53 z?G%FM#6^uUZ_?8wfomqvdtErb?b+9DscS|XUz^L)3x*uDGv?-I9R8ktCstkbVe%ha zcM~7qsl^YTa`86+s^Sn@;|MmnTlo1vzqWgYRfuq*h~S*cH9D!#z0k~1Qx-9*ljbYR5;BI*NqlZH9*7DmS2Uh; znkK?{u#a2lmQEH@&|$94w!wy~;Xh%s7<&Ff9FW!1?3OOYSr77aY=u@N{-m z0o(42-2$S2`e*U^s7_e6pZD8Q1rE@km6*XIotRK7gBKySyk^SxAIN9E{1gdt0Vtki zLD*))Y+v#wL|V)spX=!Oro$R|Chl*Ux6QPOEgC#bJ9-=%RFu2RNALHn5k41ndgnjb z;wHpAtz0>$1Z@ZsvLohh-5!iN)YUxycoG$KkO&z9Ren=OclKjNWHt^!&fZybA9Wx~ zi-&)1!vzLta;554ITkupT)BMrNpV&-%Cdc*Fd;aT&e?>9njv=3ubrw=Gl`EQQfH>k zI`{tRC-5PN>pN2W!vRSPA~9TU{#Q7+#qsZl!lO?Q*&SQ~Txa6OuAGpjX->nz1Wkj3 z(taWAIpF&tMz9kld{+MF?CQ$Zx`j!dL|z4Byx`Vrjj{?7=aY}>&V{9cToLjs?)8TH zg%n(k<+hm(>F$$tg=CyjP@%BDnx{7nH~GB??6pf- z4`caI`|h%=nj=0Ee?bG3v@chA%7J|%78Po zb!+g(c|fM5d_BK1U_PU$)OTYWPrjpx0IpO2^?cfh52Ty54wd5x+TY#}3tQ&a9a0_C z*mbY$myzGce4~5%gs}A@Cd|^j;e+HFDe^N6MjuM!;Yxhd7fOf6+J^ehgY(!?wp z1#R~g>ldg$iqu>QG;r}80C|b6FgKMwmpr@N#@T0 znAYDJA}q=6{nOd;NERA(Pve0f&*C-`n`Bsa8%J*;`m8(ZZUi=Y z+cL1AxI=Q+pPrlS$gp-C{O;74ux#X?cO29L_WPVUR>vI`ZiGgHH2o*KbYywHNdKCq z6+abhCc3^Kmi3U~*}an^UY~A>)H3-rsrlv=^nQ&iwRWt|doD3zTOxHRRT3MZkR)BA zP4>zUC~vp!L^o2MVFx{~c-J;Thm?ZGA62U(_e8GPo)V+d|2=ATO4d(F42-i6XV4Fd z?{trSHaSv%;~SE@scOqpFzbw6qioSlL-6X)=|A8rY%jF815U5!?4n9vKOqddL-bA< z1GUd+DvXvJT3+Xm%w41sjG*)nGxHnc`nBGXgagpZPtTLHy=Fkh+C}c5r*-B1S}|LF z+Oj7R=UWSz==Jjp_q46tQlwprbpSc1mA^~&9ZbvBBq-;9aZCvn_)9SmF+xgMuq{CI zzorS7IHgJ(DmnDxq|aN9so6c-kI>GUB-s?iI!h?}zYL>0L(zUfIYc%dqUvp(YP*_! zMhEW0rzZ%tPYL~|!;?;>$nsc^@m+*GWcyT3E8|cX%VzbO2bcEW*ll(=Z9jGvZ47?_ zyUCmU2Y>~D1)(?pGp^R*W7^Z_8oaLAbN)jw#ee?3EGpH?;Td~Lg!hDsZ_RhDuBIxJ zZKEs_@@8mo9^ii$jS86mTahpqxY78N&x0aXJ#+VFgN|avUPp#>d12$!$h%mIx}xrx z=(6Zh3$MA`W?9+)FNLXLQ<(1yZ@rLmtj|J37IZXs_*4;AdL#^sn)=xW)Pibh4Qor~ zvsz2be6op4ks&4Y6p9Qqt@#cMrBoj|#o)pT5fA3lmHQ!<3bir|(KKYE>6yQzXK=lP zi^*BDO~Bp<1HW)opWn^9)B<+e`u6I1typ+z{$z>MC)s*_a+-4JvPuP|Zq){JvS1YJ zBoOCfYZtcJni-Lb^)av)$f2>*JZVI=p`73LAZ?%d2SvVhl}C5sAnO;Q47HI8!r(9w zafiZ5e`%03`8wd=S(IpR4HG)u)j*{&eK%z$b%hWXu4qu4y=<(V)T#PF{2zD_#8Ml= zgDYRv3c^ayuU@b*-&`IXaX@AJ?iAUK?^Z>IFY>$8iM-M_86(fA_8j)~EWeX_eSIa$ z8ynL(1e(I$3q!1eAw)7;`k7(W+4VvB#n(;o8p5vt#-s-qkKYPS3UC}d^@qUAGs%xn z>LYxHgKi1?mR6e1pVzH4 zm@X&lWeiQCDuTuLHLH?# zXC6gwDJeZ*HrlSe9Zt%<_Jj7sG7qMa@s=nY!r{JcWyM4THQq6JVJq@|YLQb^`Q$OrWFMN!%wyT(u4^FtF60D(N{rLQ40 z<0Y%o6>S^QDY?5*{QZN3o1}*99<4XTKsLMqV<#H8Y`)QKqW&h}4gQx?j@iksA8KjM zAlM3fNjj^$5^e%*;Z~qQ)%(G9IMsRLFit&{E#^k`$Beo@=aE&h?tV&6UWRqk?vwitK^EsM@w&$78inG#^!JE}VOA{)q6UZWX5ept%I-^{CVun0)c!^r0R7rcADa z6PgdP^>hBai>=3>e?6ssd}vDE``V49Al58@%?snq+dhInoGQ`yc1;uxj8@w{2>bFzS>}~?(S1mV<=30L#?W^CdNSbqP;b{51 z*Zkkkk-W>BJU#R?vE-pJuEv-TOYuu)$xfHT>31^xK$LbD+aPJU{d{XjyXX`?bxBEqdGj#LOo`I6g+(aRDmkP~Waj2a z$^jm?^DXx#Xi|LXvFgcy)-JZUE5PN%jM6y_qJi&b%f@Ux*CSeGNYCh#%=B}9PUq;CZg1iB<$d@_-sur3gHAv6(y($h>p9-3yWr>TQ^$!X8 z2hmx9YD>dWC{4<}u7H!!oaIJ35$*X4^y{DfC`_Y1l2+Gw%6I2&XHoa$9db=^^KQ}J znXoML&wf=3=$Db$Bu_${dEc21mAJYg4;Vo0^$VyW{=m3NroSJPxGlp03JmD#Vm}1Gr!|18R(jlM28o)obnS8(;|(yMlGV!t#;%j0D%I0HR)4l_yHf>*Q{NDU5t%LK=1 zgby`7OVK|+1KqzXdu;SNc!Da6XOtt3H0mvL5DwUq$lDoM!3bP09ft8tV;h`vS=yIg zOaCPL+naX(*Z&?sLuoQX7#b;v0~AjCD1cr=59lR8#ke%>u+t7oW z`2>&#f7K6XvTqRA_0p@HdW!GeXG^rZc{tm6f_$y4!IPJ6c}S0fU;Ftx9(?CPM%E4= zUcnc@SoHNb{5NUU6!EfCFc0Pi$=uqDYE_yHU>GQ9=rn*PW06tiwWsB$yG>%a9i040 z_%T^v>&wrxF7X4%AR7&;1%r1EA|6*n>c9N@8MYrCJc`9@7&iL}7@u9TFS^1L@?M!)qZjjyPid=(zWHuI z3{ClG~4-~{mV#oY$x}D2uP;xO(pY9rq{qg$)Mb|X0-9=vy^6PtsE$gI<07W$ObeEnMiois)MR*`p*Z16iLRuvU(ww^vT>xsc^+aKGFA>*{!?ThY8H?6f;TqaV_dP7-n8Z-T;=05SYQP$` zfXvAOTfOcA0uR07+IJ1VMS6s&bhDnz(JC4e?tUqyfxK|8C1M+2`7HN0(v}K)=1fsi z>CoVB6?|X`j3&9r)UJ9L8?U34{|hHy)D50#zX-`Prxxr znKq-c+&bNLnP-QpAJWaL;WejT;xHUH$T0oonvx7pe?ze@l+mO}){xP?rd zM(F0c8g}m%&*k2RJ;r8yAd&TmAtlXAFHCV|mM$(mZn7mII5!ns*wH*==ys;B;k&j^pHBQZ7#3>FodN&9`8xZ31&i`? zGU>xl*j0_4^;4TP_jLw##ONRU3FYd7uoj3dTTW}js1?LEmiWgO&nOA$$=Sz^(3;Lq z2_h${F|=)nR5`uAZ=B_1r87S{oC+!Yu&eq)=T}|PX*eA~d}m&s9LawVhE}GQufnK& zdEZ^n7?D(Fjoex5_D!-};KexxrmwGQjFTG^5ek@%Gy+1E0`4^7w54 zCyTt4;?NVWxhZEKbIWG2r4Qgpux9+HRr^IBRaRDG)MCtq-a z@GpzSYcD)Zw0d1GO5oMct?^afwel5wESQ<{f_76)D(gyzr*5rjeQQG;{^lWjxn;tw);x@z9U#Y1H`gK-w5h%r zLYHHG`7M@Q87*kZ6c=xLMMKP9OX2$5LINN`3QD@#Xg1~_sjhco?`2*cBmiGAmz9wP z7IhVAo?(TXmA;&e)eEv5CxdUEDZN7))=Z{HHeu}NVY$UP&fB#T67f<)OTx|ij_Cnc zduRMYo9qh-ubS7u894JM`)ID*QswcFLc`&27DX^GxV0TuF4+%B@3OK~c|ADcwaUkG zXEkWPrbQC%-T@KB{=d%;bq94{eYweas4?N=sf{Rw#IU2Zf^h4EMxhh0B{(1fh#-bG zM2@lB`|*k_sSL^_ZOlfwS5s=>7+*1!rNi;aj>h-5Ju@0rMh;(KX^M%ixIUlCb;r#sK?{SO=LQKZ`+Te zb;d@;M;r^r!kSNLI98HID>77&_CF$0)Vx%48)x26JCrsNZ zo>tqDzH_L(!Os^m>%s4RAkQa+$0I?CGC>`@xfP)=X`@_Eukn0=1H!u&u9eJD$-V?? znBlvwc8|FGvP-?flm6O?K}u?mgWAb5YTJV)83G(xRP<`4N-240g0( zZ5vuSsoZY%($DRbR7>BF4+^_GARV9^KF4RZEeUSJrlz|}qS#dmz~Ayj98;B&?6lqj zN(z?^a$ndgOnz?>!4ox`CTgcni#7ANUq4J?4^7%Pq!&2({=&^?eLgB-MTNryp!6wV z^w^<0f3~29!f9Rh>os(6Z;Z=Ju^&}foNFm(3c9%zPm@XEQZ?(Nt%nb0#vG!IMrk`* zOYW-TNBMWrpY~PG*K<o_qxv3J_jyBooWX{b*{Fud5 z>pSy>EO?YABYCY(#ntxLCq3aQO08<<^~#1N%K3O_On?F?5~9y7h<|3%R8>t=_Vk;qFl7 z7o)4e7gvOi&Yxl8bmGWLi~H@90|>h8{la2L#e>t3vlk@KyCWwvk7=q2PA9Y5b7ofi z)fR_R{VOk87!6CFm?crdJf7XOtF!W>Coys7whN9Dv^iTi=xjnf=xmd88CwhMq)Emp z8#?OU@(>j6YKuqpAG=swF?ZpGrLX=t6Wad?NA4GyTB3DcQU5c`<(v3AnXu46pNf{U zh3|M~XWA0(zDGB^W3#P6K15kPk6;d8s{g+?vYIYDJL2(#e{N!f(*q7{*uaZ&+@t=0 zE82d;pC$=lX(n23K8AX3NO}#CffrSsWl~o!&JCs*5h_1ruE!@73Ub6*cb2d@ z$Sp#z$2Vx+<-lU}Y{TAAvSJd*!jdP6+i&Yl%*DhFi0zyj1L$I1pjuz*hW2>9B~X1Q z(=RDcCPY2e|HRn*qY1Cb|4@rQA}zzSGIc9x81sPY;CON2a+v`?M4hU~*sTYe;hQCS z1E;T0UqCZ=#Onc5@Zs~&uNQ;Ao?+cKC~^+?{7*32ACy5gK_RPsH#tGh9kF^qj#~q8 zw=mDN82)BhO3X#r0neA}uPPP74PDvBsI$^;wAw7NJY` zP@K8!5s>H)att9UqGduBiN7BwiH3h^I+SkYfBw$y*K6Ge=^F9ShFh7~I5{~|?fkgn z_sebZzMLC*{~m&+9*5E>{gjmpnjG*!rCbd$6z(Y-P)h2IyoL&x%-76^mk?Yq%rxY=v%EIJRzA0cOw+=;Euy@<^xt5 zH1!3|ifSbao(vy9cDefzkh-&!`8wf(3nv~U2jyOPA+qmxp>AG}H2D1mioPR@kBGt@ zfs4Xd5x+d}qyMumzPSm_`^aNhm<*D!kOn8_wNU9wvMnH0>-=Y3>d^)*5P7vp9kZqp zvevcSN@5B);CCoA01tDh^KhOWK4GAGytds31$7Kk=8I_x0ed&#u9Cl{!sfS|8x6z< zUZ!TtZV2@vdg}%JLj3T}r7^VWoLRR#Hn1yTP_*e``>F;l zp4}fV8dey%({=xxunK1J&HQ{|pF922- zrYhsIk3kkt^)WL(Eb3;IMf&M%WBp=b*v#YZ0`Cw#!Jl19XpHtk%HMmJv-d&gc+IUe zXn!b6%{WYvQtfds*CHd>jz0#pUgh<5{xeXv!hJ8n6dStXB&$+Tpi+ZYTwVxWl;Dr6 z^L1-d`tFGtn_VuDMv(^`n(3RZf=y0pqnVsy0pZP+>jwYnhErJzaRUoKTLT2YW-ej; zO9Qs@w}0inNWFj%x0~y8e}qNZ7E~=AEyz5$Y55$K-Q2H)@!M`;9l`W%LxV5Wr?9uI z_S@4X)*rO>tzr6}qw7?R01O|#e}zJsr&h17*sz6rBx4M`W*(u7=OYv|fs5rI|4zny z+&8`W@I$+w#;Tu#gnP74;YOULl(0u>zrzm5DR%Rg4I4Grzk0n?e#g#xZ~dSnJomZY z#B;Xf6JK5kjj^BJdApjM)y~Act_=WAyI=ZB0;x*?anS_Y?w{Wtr2EQt9a7vSu#F(= zZbiQ9N)b*iQGdAosrrlUY1k6=_hXP}NSb9z&}`u>O_79MhaY0+e5BNo!lf$qp!sQ2 zp$s|v%^dr2X$%En)Tr*Atjpum(ka=7wVTW~ooX~nm-CQbQYi67zEcWWG7)}W@Wu!e z&z@N#Rg!eIpU>3$KgmV$=Q)NQ7Q%}(A%xSg7rE6%w%Rs(-+BsCXpHTQG29<5v$^%Y zTl`tIsXOnl+4myE3qIi=dMTKaGcnqH8n{oZn8Q=bWOq%f ztv2q+d8+`~X~en(J|KAxeGWNEP1*}uZ{xZbP8}!O!%ME(XHE`P$J=HOG0+5SKUIs& z^I`QmAAVE%IQf{rNqnzUFcfoBq+-oMs?N-D#9_e!{yVhrW>!UL`jJhAxP({s$9hqaE<@?l>q7f(R+_^W%?8UZ8cv}chI8?|Fz)6$uTC$e(S?ZPXtG9 zg*yV{U^?F5b)+z?ueMXsoR;rlFo&N8y{o+Kel&YF*#mMP&)Ec zNc|jX_s%n@@l56cg5J45rzau9|ISjzpW5HrNxrGZ7ympQMb#i4ru+!l0CftF#&8fG za?p-IQ8nE7ySo$1rjGKF9fRp_$3H# z9I6yOB$m5FM|j~q>zKi9n{?avy>5}PAB1}vFINHH+I4Y;U!H+;(XPh;)?uK%Omj&jaw(P zmtfyTO4eJ^%43_gJtL`_P3RC?G}C_v7-&Cn7*H7g`a*Q5V%XxhLjg9BZ5XB5* z8<{0Y=o(;Ieavb^5uZtk5f`yYbseKz$w_L)jwN{fD7Xl|W{Dpx(PonG>QuEbvmLkj zULK7zC#Xw0RqyP_ufY#`wO2aXVvG-mZN|EpvUfqu8_HP#)u-ci-S4~bf)q80!?E%B zq_7fWLYg;L&xSs|##?0e3oDE9Q2YUiTT_YII?A25MqSye`j5ruT|?2go0+wPZ#ial zjjgWU({D1qb5$J}MR?KY-tT4ou+pZ#@1XF#--8&IgGZ?>+~AS)^mZ$u&mnx2czLa> zdzKKc6Cb4&^BPto;c8Z+l5dFwMtg1M8bv!xk~Zm9J{R^EsI(TH1mQncYFXW!9#m;j zXz5xU?n9IH;+z9Vh2BOuCA%wYk|l=DmG)`^>gx;!wmEF-b%^N4?bBGk zXATKQ*p-!R&6w{PJsNoCO?SD$DIhsSNEPOKtSy%a^_)dA6Xo8*cY|qIT$I{{F?jH6 zcdsk!gHpOv;?@!zhdiEVqb;V4!Ei(GgThxpT95bAimg6pa&VjPUmFR_8WN%N(ZSLP zX@aaD)g`tm0cBCn)0xTp?wV{5M=W1So`saE7D}TSM<5L2S$j`T8l&$!7Md(n0Z_I^(bLbd40W4BW-3M&xn1mw&*-Q0OI-CF#iVCa0nTihR0y)#H}lLNN& zUGu6~?GR`9Tvd{FPT9@?v(gNh`wOQ1_2G%@VO!7vh4d~hiT$ik0B_`Pg&0U1C{#Di zLf|v)G@oW$7;hU}J-IiA9@;X%A6FP7sFilE65bYPbY>vPnq=CR0^W);-O*Ua zhddrHh%Fp+aPO9u7(=f`dZk%#i|PX3`ciUwkY-!J;gHCN$7MHYVsRgm+w73n2+dba zk~}MIpWj>J&>9Z!>KKdS&e-GlI@NOca(zh>`m)b+<13ShasaQW%w(u_MCx3_?NXa~ zZu9?m?Wi2SF?qg&t8MW1nyGbTDBB_EajH~uNOqB+LiFHrDJv+xO4#hLGp%u4AT)J^ za9t2XEI#E}=H3COW$t!yH3y>bY82(>>o?UDw?o zaQf*Ro%+1-(haiRoJ2jMnLuX^i{vb~QQQ6Y z6?wc6iYl=QU`G=W6F{;?C(kqSokIu;eXYt$xN^?S-CBCM%E}d(f?X+oQ@}g3f!>2p zf@2X8V85T#0b7jhVQiQ7EMdl~rV8T(hf#r-U-o_om6C~L7<50*~N zQgXbr9k^I@W5bLnaXOWew>`eFUMZO0@w$d*6CRM%2XW#D@V>&(Oxk7qq&0FTM!Pd= zATJDVxYa0)9e(VD6p8d9T-{e`r39o62S_!fR%k`;3oJY|3X^MG`I-qaYz^y8Jw6vXUqKPCG#tl!t3G{V16JzRY(;25`U8YMEpy|`x<<}& z52a^ivX@fq%xRVgTY~t}4i2b=)C-M5ONcD;XSAPXOC~eUkxNTM=Q|NVd{^X(Y=zbA z-JOPgJMJg@RrR=gn}f7-cUtX!k>+)WW9L{d{f_w5G;h3jo8Fw3?vDtsv=af2m^RJU zS8oJar>8$|LLR0F3-wdCj)%j(<(0mAc*fi8*1-_>`+!FbK6^hKT-}6? zUNgskzhDbAWKAbd&~8UJ_uw$}pR{^Q%iq(7SG|fqb0WU{jCqxEcp*Gg@j64omi(yzNDpV4wb1zPZWc4< zmgYSEgKsnPt?fZgkD!1<;6nB3LN({nwSs#T=GO5v;?M2UJt@20Y>8|8NIq+NL_@JL zInx{artm>lh6&0z`Z&b0gj5y5>tyZHbXTk??mf)kU1bHX5?u`;U3{Aj~qM^D=|n2fwoAo$nlZM1JGt@dj29C!>M^%_f1WWDgouz%eNi z(<%`ZMh;(icEl^>K5K4d1vz?%AJBK;R&3KvHc(mKNr@%%^BkpzGSq+_-bVG!+n=QaJlCG3>-f#CgQ4lJ9E07x3YKp${8OVKO25yKS7?YjZy2&?GR=5s%OFR|`$<17_-!MEJHEviXoMc`j&6T)={!rgMK z@-x05Z)8npSC>Ei*lbLX{@9h+Hq~VRBquf40n79ApuZ>L-qPsnSW0+EH}?_8+)$%f zkXqyJtzlv!WuHtXx_oJqxGL3DTu|`E^;!+-IOpP8`#tK!`GcXV;Ee4BMUqlCBeAS0mC{h(%sz5%pKo3QEFHja4s|WAV|@P zTN0&N{uYH9<)wfG`jo+>|hBo*LR@@U(FhhG0J4>)XtJ&aw zr@n5ike@#4orKU8XAtPTYhM6rGl4(2?P+)}fFg~c7(34buv)&R=s3Vy`1!bfI|CoV zP{TH^(|y5Yrby@ghr2c-3)aVVA?l1P^UuhASpEfWHvkr@nXtnVGaO&%lR(j69r!o^ ztC+`Mzx71R96-t>Dz8#DC(sLQ54U2R*gmR1thg&)7%BxdSWU%24Nesf?}e`sQR()B zF8}V+y}p&`He`5s5%KH7hV-~oFxD;7>QCh_bt{hy<9Tm2QmD$Z1gmniNc8{3yEb24 zQ~K8Mw**y9+G?Z#$_b6Hnw^oJn&N+q{t{731m7U@shE;N_{Mwe41#EM0KzRz@(&5K z!Agwfab!Yz!Hor$PwG}RfvnVgpW55#lW#7 z^ko`BU_QPM@YuQ5nlo$DhhQasbeEPmZfeR6RU~Ivh=`(0&T_w-IZu#TO#{7xJTrrB z>lE8x)=iJSQiC*@rh{lAjS89MwjMQ$IzG$}J1vlgr!Gr0TXc!ln;wjFJs}po_t%)l ze7j*e)LNVb5auKwA6$&J1x|)WcKof(H&$EMvhJz5{LY<(>~e@K^Q}v2^!Vmb)_&al z*U_*MOc{Ol?2&(&k6cyzs}_s#98euQGPp36K4k3KBW0j=___>U-~yMlEO5pIaQHe3 z2BcXm^>y*nl+2k{rS!C~XH|N*3Z+2#4n)zT&{T`n-c`X6YEqBeh2UCC0$NfevTs{Z zAwzt5UVM3Ua7V}s_b0fh5-r}Zp-<(a4sL)ivn4v*^Zc9_cc%RV@kh&H-Rbygnswq` zi)HK#&SMpE*^C}#N%GJ_T&BH~KaOtXNB*-$+cgq8K8^g(Dk=1h=caeObPss@pHY(g zZ8ceec7>^bv7bWbW3=^?$g0@+Aw)c>Q~iYTV%T?;S>7FRxE|UFTGhZ&ZQ3wVvpTg}BmS~HO9n+-~jDdYDKwP*+iu#1+^I|y(YoxI~jOYlM= z;@eQ178l9l*D&a0hGKq@N?W(pn}?qRnzXLfywm#>Hm|TC>v0;MHU=9mS_I!El;?Br`5}rZ*eZAMb>Ag zPRhMyno?Fu!&AvF>dNTp4K1razwhkijT|1iE>KJC^EyO9zBaF5Q zL%-V+7^SyUT{p*mM@b$adxBDw+4c}M5Xbf3k=GgLsDB>EMBPad=6i^*EU~pqmp%jW zMRT6$ji#{{z%jRn)P3ky|AYT)mz>-UBvI7=_(+%qs(!*gpVN5%NzaWL>%~#2nx?jB z^yt0m>*}bA<|4L*xD4-mMAt%1HO9;E%L6TipMK3TgOb}}OCna&Kj^FP)CmzDMF*?&I`>P{m_#!6?s zP#H^2-%!i&3;+GG?dWck;q;f%`fp}ELtI45Fq|GOJtS$L880*xnn!5}zMEJRY2F_J z^>KM*4U&Z=4%+eyuZxd|_kcnTfAge%$wtb(2~x50a_it)8(G^@*8Za_)%T!n$3I`G zi~bF^W#DsY5lQ(zhk;Qr@O!bdrXgOQ!zq^Vtc+8ZDhA}Fp)hPRySqMY3bde#=H==+WBHYZ(1y--*1sX z)&d*(Bk)$q9%rg+Mz!-hLE1!>dC!LF9R?rC16_)DkBj|{T3L+k59(FqT)6i5jB~N{ zdBuRr1f;b|B~@AOtC9J;K->d=Kv_X6@^3e>mY9iSIHL zF@xQ~pmmb6l283dV624Z09XvVd#r(uvl+pAjT0=a;*|Q4`fU=5_f1@xjTAeGS4Xyn zTg*BfD&XnP=!krgAmG7n=4p3igayd=_hLjBHLm^mfDKik?v&%_0_8hjcm|XvrH-Gm z2vEmQf@G+LYKv;~NcOWA#gdD#8_mJ-UeU$D{E)Y|NBBlhBm=0@N2!N-Qea+J_?L5$ zFNBf)k|c+IQ;YL6#4C$)TT>IsZrqPnc2w~07_0~8R zA}oH6f^WB}p6&6T4V0d#9=a%=&JV9R8LJg5=m6Jthx?4vz64!*wj$=NV%pHl9ib2a zl%}XQ=JXL5YbyqDZ&1l@VMnN2wDP2V#<(?_&2?7)Fq19Z+I|2LPBpjOLK^->^MD+dVu1*r*uSK2rxA1Sm5C;xICwsRKL=2GbP9%>I2`RSkK;I0 zdE$SJ#L?>FPKeHxN%pN2Mn34b&&pgn@yg6`T9f+%z!eUon^6fbCTG=Fo*Cc#Zzpyh za5`Rb(nYKs<>^<&lGDm|#Mdf0U9+O>Cx)GtboUv`DufmdRQw@wpoOBK8* zLzLKd7xpEo5*eqBudOew*K5T7A>IIHx<$L|KN>*b9B-C#W3a)G^x&KyGso5+%4E|Z zg!gl*b6Dj9>h9+T^&&FQ6j6d)jHsey?5lu_$D$>uM@fe{&XUYw=@!_h=M0O=7qxRq z-d}SQw8$OYX=dP$MpG)Kp1X=Ug@0?y!vgBg*9B#-R^XdwmTsV|gxS zCppLw{h+O}zHUqI*}JT_a%R6d!^m^-)mYX0@almKvv-3n2R_IvLYRRPf67E=s6$1; z*vnJz39NNlo+u(XK*rAF6`~Y6vhv3RshzSjU~3FfB^i(n2JcW5j}X(w>!!IR!xe}2 zE3vamx|R-CCy!kFtd5i4VAosy9lNDCKAY~R5p%^xnHhhIgc*B1?@IZ z2qWCPm0y<+0|(iM=EMp8C9<&G)?0h-^AcThuOk7G^eAU>*_L<56Y2z+F}ejDw!07! zh--_x1d>w2qre@z#8GzHQQ0p<5w6d7Js;1Cs;peY#(;ZYm=F#D>8bQqgf;> z8P65SPfR6k=x!zV=y*&|NXHbsPUQ7Z$8Aj66+yof+<#R!EN}W{?y$*pu(o&BwCBz3 zop%c54uq8^JY>P>V+H_2A)t_r%{4zTYB21tjZEyAa%$fX^D?_1<~7dx;J!hzAol&x zIQQ<%pc6$zNc7aViZ}k5p((~G{-zX0N|-iZRYQH)>-7265~IBw&ARP}a@8HPmAfx$ zO7&F(m*UT(l%eM5LbObg#F%|td)xvahCrLFk9(RuZ^+Ou8WkTg*Qhs{`(kdE6KSxT zw?9{ zINY$fUq-u~3&Hh0s98;nBoi5NDfJa_14Rg*y4R=6nkP)TRZmObc@gJ+=|x|@fAtj~ z+ppm1L?7>gx<90hTy*}#7$#>cb5Dx``yn=Td}FyL%AO(cI9|B#fdoLus5M_W%Y*At zo(er}bPo5pgpQ1EJ+Jywvj(liW>zNl-Jq(4Yc%+;K3wr{>bpBzBWBvLVo=v5(@Ip> zr2K6#Rs0RYkB*N5e0uYXw$}g^rv?JTnJmf91!n+|fbf`NykEwWJPXnA$z8=0lbQ9Z zIKqW(6qjwCxnZf1vecVG&v6JFh9(w}BeEND^-Z0N!q;JrhI{pZ$67nybE#Dp0`8^x zQt^=?F5CFK=UjVSC$3&c=r7d$bKMK(Th3fW*+XAUrl+I-?`6%&ChTm%t5L`V!JCN8 zvsme2+>HYI*?g@UFK}V#^=*p2q-c_ZHt;X#@+%!Sbp7@6bix%?*h4%YiDJ1WIxT3I zqFQmoFmqexRwba~EMG$G`$J@^g_W>L*{DHjN}=b=ymDRTbki!~9CSvH5Y6C*E6_PA z2g2>Ee*{x6I+v3p-i=WT@!j6sNjF6Zn;cEh1`E2Gs3dQXpkIq;VKZabaffL@lv5EKrj3@gmMvJDJ8s2C$@?>H?hFiXbgN3D0>xgP*01@eLF&(bW-h z_&f3oIgoC2r&yJg@BdNdsfb$}Ke6P|P)pdqj%V5k{0IuH-3j3M-O5t}PU1}&a9WBx zRJI*wa(*!>qlE1OP3u}${Fcq02`}WGt;shvc8FWL(0!a9RVofxyAz~xs{&*Ul_0%} zR5mjPtcHgX!pj~@dEQwb04{P%<*6tFpa0T*te&#Au59lBfJ2@ho6YRq5!bNjmw$`+ z8=N(orJfhXx+*pRfU0ji5`0Ec%SpU(?iBTYJE(HuM!@=zWz2od{hf+<{n_A%RP$GE zu}X68UbDHnv+HpJ-gm5~&D4`U;+2aBX~=dcF|{0_9aOv`kw)eh;Hg7SJ4-MZ>|)2{ zxY#o#Kf&H22LBYewBVD3qfSpH|r$h1RR>^w__@6=gn4+#NImZ`cCd*Y=O&2#YR`3zH}+LzZ_Dp@H;ZE z9$74OBx^8T+>f)CG9CQf^9~Y(+6#FI0LKQ< zV+uscLwnC#Uc|Y^xk{jE4Wpqd7u+ydv5f~N9KoU(5Wnv|7B^V;5%g|>b?CtJITZ3% zVv#q4#H6B4k%KyLuO*bcsY^Fz0hM)VUhY2m8&!55dHr?% z+QiyAd<)WUw8qHnGz`vOnC?^@=^BgynFQ@ttN~V(vK?(E_JtJ=zpiGVXs)6MHN2gPp*s)+zhom)zrqu@nRc?9<6` zi4i%EE98~eY+;odq?}iAZ{Y34@{)fdMP|9+jD=_%4Eab*jas>W112DEN=rwI#vPJu zrk?q|NG{hE%GZ{~P`5&80ul&3Gm5&^N`6G!CL;)?>kw8#eQp?$l7&Mj9bLXK-M?dD zNg@}>r}BsVoiM8dPlO*?r-tyuhAe`q@-+=jE7#>qM1b^$Q9(Y6bF>{+xny`*I8m2& z;g-@;M|}re@vfbKX=7%Yzd|teu&a^lb$u}-UMsR2R2^e(CsQ*X`7cy^$6KHG`^$H^ zyQArP&pt22DmygoCA3X#C#!8Bb&BFv-pHk$W^V&8o{;FawS4X$v3Y6xJoqs$eJV^S z-(iuRT3-l?DtOtL_c_K;wKKbZC&9b>q9Y1jLK}>XO)k7c*7t<5_69xALF?j_f8ze> z^8s(QGYo|gZ?&avl1sLwYpo7UnMhYch|$O7B#6VV2P3Hr)^@PYmlfC_i zn)zBf;vV$PMu3l_oSW_N7`SvtSN$^RGFo_#_LU$viJo0$gS<0&4UP6djg1zQS_QyQ zjAqfObZhmbWk|e|-7#k~RA`2#>OyU;mZ%Hme;#YXzASCZcLth`zhXjzvlK0Xp^oXM z=zAuy0ZZ{UBk=)t^JnYUKVlBmf`BU?`wiN+?D|)X(~cBLnnj2ufEPUeu=-}wPTQmz zJraAyVy^cFET%U1eGa2ZfQe!YMmq5+(lsXb1q=ay5ifNy+T2=A`Xi%F&B4Q7_KgkN zzp44!;M|>IjE9Z#C{f1#2g(i&iTY;_yR1Ey^->p-aul%uGY_9XgQFegyZ@VR8j+ohe-ZrD{SY%ygRcX1?wTN z(?~pm*g&88vN%t~y;Ox3j6Cn=TyZTVisd9~MW3s^|UoMuj6oO3=w%5?f&6 zPN`!xm&D9w#h8L!N>%l|!JmSTY(LTEmlPx|{bvB|ipei0+ z+s<8PEKIApP}xsN{+w6PNK8WhrNp)-9J1!*9M>AC3~8&C9^#5 z9n&nZ28BjytRoa(#10G$V7E_BGRdafHslPUwY5*|x9n_K$HUGupWhbq4EdSqS*HJ0 znXD_TOs_W%0Bi)0$UogT`F_bmmZ6Y39%e6t?wq*vRT-fxORE3J9jiRj_YZ_&sc22m zJ#1O3vk;sFjg#6xU)K)!!eqCO#fVB-jHd7Aj6zt4GKQy9*JR|QmKT@iF8s~V5PIwW z_C|)+$(8wz@hqRrE1pFAyD;N)k27OK154+K$!K)Pd*cK$!as3BB}d5+hvb_6NR#Ae zLsK|c-8l{ofD~THq(>sC|qUR)IKor>C%FaCWBU=Uxuq z$?&BumPDdthIe{U$veF8(z<&?-Z6C#mAU$w&sv#d`>rkb*kkD_G6hMaKo4P zM{khpj=fZP#NBL08w|UPdR1Yzpw4KV%sfds=nHf|g_h=RJwF`lj+Htp8XOOEZ~3-p z$gtGP!cg?*Ysn%f;!-q2AwsrHYnT74a*OUbE|iU66D@g23l>Sdu&1{!Y>-uU&}}1P zh?8Dyk856icaDz#;!_v3R5<(<|BAKyqeE%(ugR5tgYt=p@fTmyl<`Hs6kF^PSJH@x za2tRBqqCr?UGXoAoTHbpj~EIYzCKp4dS?F&23H*C?@OE>f)&-F7WKHTi(147nWg^y z*Pbj$VZR4dA-qJn%{b(K{>V``Ew0VYX3W2CA#9M$ic6Zl>QdulD!WTGJ8tU;r!EummtAR|Kg~QuA0x4AA61)!IJlZBX$c(m zz!+;r^T?9iV+Njfz4J*t6CZ^Tsd?Q;A`fb04%g}m2RxH(WKH5hvjN}1i2+IaQ-WNC ztAF3`5R(X?FSwV^k*v=2_f>^QvM((ZPQ)NNOf_4)(rkY?IFKd-CFWTYOvv5InZ=UWwMOZ^HoI%Skn z{HhG{`r^GVlj_gVjM)@34GWw*nDc=s-^*Pq6oF^NvIV9I&_#IYe&6jfTfAn?Erg$p zh*|7i$wX7DN45;-9~jAOD2CDJ*Vs(eHMzk#vC@W^73-cX;5iahEQq|76@Ds3F`M6%+yAU-}Az=hIv=J($-^{t$@ zdaN@Ul5RY!n&8Rsno?v2mD(y(nk(iXDw=<9+YgsH|v-^Kibt{P*6cT@N9? z9f2;V)%U9gir2;zEcazhf%adDEgtttNmg`^KbBYzGvnXEU6xfuzY5&Q{51C1`&Hol z&m{Bcx{KvS<+JsL*wD7n=(`vd& z((-5~3a2Z3MBiN1FcGOX+&7mt?ag*{ytJRMQ^RZhcN;izCGk+13dV8 zo@)`tb*mt~LE@R~b~NMy7_J(3so_!sme~ptS28kUn8}jw4v?L<3OA=B%6`|g(&mbb zl*_ar2dT-5WWuW>q7DD>{C(kzKu>{oMOLpb{_E@!;GN?nNZES{=ysOokOTkq=A}0w zM*O%W0Is&;vK1ujUZbAA?5Psa+8xu-2y>m4$JVk7qY*6y3t>eO78X-><6xi3;&qMymc*xu}-}Y z-D5mg0TuhxZ6q>mqcgd^d<)^#cxb>1vun}tziS${!o2W9mmpj$bWBz51*1Lt8rmPa zQQt86eL>a@Ts-kvP+)IiZ4>s_fZc-DW%?ICbRZX>y00p@Frb$Zdu`UsE;_u_jV`fJ z=0lCQb(Bnh|3$*=8gKKl43*p{8Ii1}(N_Jt1&I1<+l=soSG%j?7l?a8t)Aoz>>@Yu zq594jFO%Uk%4l(*4)8=QPGc{WHyi$##s^zcpN!Cs3r%aFT#3sdtNM6IzTp(y4!aTU zMg0mXt&043$UCvd!K1Hc{@#W8p^-_m(er-4ht9U-ElB=muf6I!vS1$ouQ;u$s5)KC z95BE5Y(d&p>~^!Bp65FI*Ov9O;K%wSha>U6SoYwwI@#Bkh~ZspgT+&sxW?iz__=6J zvA#tOU}g8X6!l8mXm5)VaO18K|I+lX>wSIXK=voZlv}z96qswwsC2eY#H?>U-|Ij< z(4Xal((<0R;v4pA9Qe(A9tP!nPlp+x;nEGZ6smRAN;Dcft7JLUr-QZrX(%@b~O&WJb|xYkHcz3a0{VLxOhx~WNaBa1erOB2$29Y0G7 zFD)(+Lp*I1OEP=j;$DO~R!Ie)Vrs}&#AUD+EW~YTrs;Z!`$32*EDvts;E{T|6SZP6 zexI%d)H|jo8+-fsoOea8l#sLvOFGcNeQbP~v!)T{D$7?eJ-iDQjLO_u)4G7NTO$ zVlKX@^?k%L^!=gcb=E!8^m+fVObMKM<8Za8q6j+9tlyWt zGd1ZH;T8)0?=iQwV3`MbBMQ#m#!t15-4~)ljP}B7SdQ&f8@k?YPFSE*>1LCtGEm1p zF1-3C?{gPQ^g;zwiv!)9Ex|u%lrM@1dXGUnQ*}AOA^7T zZW4aaND`I)$_&!k<4d64r=sj+M|iP!b(Wzd889_s^j^NF)>_WGqJcZn-u zl)uk4Xs_bFb1C>bRD&f5u1>as|A|zQ{sR&0A?^HuYu2BeuHm3?i`2Be*Z4m^aWwKl zNz*<=8dyOTO2G#7`WwV z*CU?CCNB42>{Ifuay_sZSPTZYAsr{&ScyGRfIq(0eCy-R&8Ao>&5P$v8p%$yQbX+z zsO#)a{D-kAkJ(6q#f!6>Yg94C_vL3Q-7u%8yql5&xp@!ZswS0JAcWR!O{Z$WLMnPZ2*CrfJW+%C1oC*^Du;uwn4Ly+lCAvnFTX!w9?1_%Vt!&d} z!WAMEP~xZV5yB%Zo4En7HdVK^HexehtFjm0?E+lly(>^F&YCefLJ~zXoI@zzf5uVyP zp@$i;ye$MuG3M^9Q?mKhoBLqcfViIyDpzwar|bq0l3w?|cVFBP+P9da{FSv6n}&;> zGvc?PU0zVyk2w{7v;bbM5N^)*lahFG+gS|-Jt5uWm3|LfWm=0Ec+8i5hzS4Z;-6xi z0*sU#5nWpJFpe?cPk{z^r{TW&xw+Isc!oE+`SA0y={Y!t5&#C)!(c-BW}gt%|M0cl zR4lvEtIDoMeSlnx4{hV&BZ<{R^#5D@PffO9Yf{tMryl-IvNZ0y4BB5~yM-9Nh~lpi zj@EXIta)Uw-}uq?J9-3?Q>E-Qm$f?)g}=BgCjW6WG2GsmMshFM>}AJiL^TNFy=Ljm zy`s4sbZJo37Z$1A5%I%YWu;#^GJIGyO6*VYGvkJ7vZ+5+7KR+B-UJcWC99S_?Im;eK_lwavT!WX zd}CC#l`l4vVG*OWa|kiA@T${ut$`k$*=9ptSv2MMSikq`_e(itKl|kgtgy+e+#?S8 zbJosGeP)g}KOwn)%?z3g;oAM>sJeH;wNWLHHb82&{nWK2%3e{FuMs@{gN~yv-SVY5 zl8@x158u$Ge5k9tDPMvTNjGIdFEYtz`O0w0m!*32_es_y3^(cpqW5Qr9&Wb%?*7uzx5^*p zJFYB0kfQTDN#u`gB6gBLOc!JJqn(!@_Y9`NFMTDs*C_7vV=o_Re}8sAa?fKQl(0Mu zKb4B<-6FUr3I{1%<(-H)#)F_F*s zF}1xk|+U1Prfd^IdY?u;T#CPt1 zSDc5Zu!53095&ZPjsXP!TuF&a2OFM-5NG}xr6}!pgnK)kH%U*l14=j7SbC9-vB#lZ z(}nfz>dm+1`(;id%W0M7yAj2$%s_|Mn#I| zI4Zxqh%f#@P-()hJ>6rNIKI?&&^^^172a>HwZcHO{~gIVxe8&UI-PS4QN<}9J3CRf zA`lvgq)LA36?eM*471+xqOHcYBOzL|pEqsXqRH-0=Fg-pTT&XskpeNI={(N z6(+D~lRod5#)pPt6@!hpJpSSpqGnMA+z&pOs4Zn4sbK-A76PjRY*CB{4M@}-3*i#L&7?fZk+;#ym zNv1g*C|c>xs%5Pn6MX~xw{f?c##pRQeic-Ig6OZTho@esK?xIoZuLB%E(i8`+m5m9 z`Ow7w**iGHo^o>jVV|Fx|1qW-yc{jQbEDSTZqQq+pOXcVx~2AWSw}iboK(?Vf3M+D ziy3`4P&db;eMgh>5BahbUwJs_ru`0;5Bk0iefd0x2+4!j+~WJ6E&~Mz6(Xb61iJMR zh#BEq-gR;|b%c_pu2AO`u7jZTPqhBdH;NU1%?ikoFS%FU08)m;iztWd3%uEU3(0PLpnLLE2KYmM(~rUvbs zi3&C7x7T-^yhyQBu2bYBNB=O7Tw+^p*}X?%q>-_FM{H(Jga}z7-d1fvsK1uS+Immh znyLQ*kJ!}CS)(#=*{kOXi9M|qvZ1m+ikMFkmek}B!ofY9lPw6|4C)WkmEO&d>PJRq zfGb*69!&PRl%C#VW}P~nJL=PJHSQ-ur+4GXsLadB$KPCU^VI+^p6&BB@f99urWev> z+Jc`{0uZ!J{h z`@`wZsRl%THT-g>zU#<*<)*(aIe7=JX&$w?gBAjK6(!7A8DUkQyq}?o`0f-MKw?hm zBbBWX6`hRVwzOa8pH^uH^QQp#bixXYQ`lJ|ys2dz7_7(Z{_T(J26=PI@IYScSmq>RCFC|bn z8h(eF^=G1Xr~CR56K1rc*)bF~`dT(Mpks)mJ{=rYnm0Mg8zD~SNczdU$I2Dkv_B}v z;orA5;Zj(v?IIZQmY8xdnyeSjTjb}1A33C%SeP}iDR2qAm^`<59b@sQOH(_9bg$;_ z!e0gp>oYS~@K?^!H2GCY6B2;E6|5kvqAn!7q>xKWriU@C+iQ|^RH1IgFR)UqGvi_T zW6+EH;>AFKr-MZ{Fbl}qdhj~vCMHeU_W%&!#P`7L4PPu8eJC0*@3$5ha?4$I~IHb z(~(dk!)kmeyVd<~!HRx4xX{juis)_VBQN=Ud5mR{_DnY1+$N&!UJXjT>uQ~Js{p{; z$keQ{9*6I zVNxyb$hx>Odp_-b`P{R5ZrW?I)U`l zXbB}7t6KQwGKd~cRkXe zKXTL(QjRO@Wlv#S1e)+gh$GgR7q{u_0YXnh6GZWkX<2eg@+QmPA6O^;BcqgzuDUQ< z57RESS_g@Ja&5Vh;s1zepym-tSCrp)O$PechSXHZ-;=L%uF+uYl=S)rX(SkssQLxq zu*X^ZN&2?FrA23PDnq#4J$#R5&^h94vBhrQ4Ie+=sE|M&?w&1e11(Pa{t>dLoe zpR8}mI{oh~!rbU$=!g?%pKL%wHyj7CA@puyzq?=9vXw;3pm|-9ea9mjBG*Q zJH6J#WU(An*w%)Aqc2i!MSCu<(V?<||Hdw2Mpd#c?R=a36)oLK`C~?jJF_76 zZJaAnky}674AB0+4V(O%VMUFhX{1~Dod?2_Y7O~)bLk5?>maRNv5n@N4WM-g1t<~| z&N>FCKKpNn9=b&M*1a-@6RHh7rl_S7n4`yxByl^wiYr1eeQGGb1|t`2r8nhdIY;~8 z-E?jL4cfqb!@-^S#pJzjR&K*{xn|Mj?SJdo{gFD1|6VDXli2bRu*&bx0R1-OxN6}f z6!FChoPEF(`4dU?TkHZ$SO2mB9gmc1wUXF;yS2|kp~6{vsv#>ChJzsGr(l)%m0|0F z5L!Ifzq`~b(eW-`ff(JADr0<@4x^Z!f`SW1$#$o>)5Bx4ewp9F-af@s%q>E&zNqul zSF{Fh;@IJqBO;z*iFoxi^SJk4<7I>PrUktbdnZ!2wH63clDmO6#g%B3dc(R)zAk^RQ(?QTwQU=wJx zrJcmth8o;W2Gf`{WlK3=m}c?h(z_mugn*c;Ua<)Fh)^b2!CCYJnCbH-5a+Nx{`ki} z2DKGx`1TixW&b~WvCNaQ>&d5of&V)JP$xfFrls8IE>s1oUeej#dN!>iX#H})|2<0l zTqEGa>3ttMz_vq?ixyu_V}F3^1E((n=Z{T>;~&eXZ=JBO)8*lw5b&~vt7?TC(KlZM z={otGlnskzm<>gzmFHZ6GER_Zed?Gu4~D9>Nv?QW+@&}L^HC;HlkZ{FWkgEe$g9U$ zQPqV2z^lHWpA-`E4N`}bCaNQB68n&x|+N!zP$4x{Xy zO<}=E;9m+^-~?XbHMZ#X4u;H$z-p6~gypaPWzZqszILKjZt?TmPx_Y6jDm`iY|dzT z?JdedExEcE0B&SmhhfwJ#Q{2h;a}r68){^9)?8Ar^Zdo-&mUsW53Zg76SjY_&s};@ z8EpTYTKXYjluO;pEV(hq8BElD$P`^hPyYZc5>8( z1~dW8EpZXpG|Hp@^1VYTk`m1It3DprFr|X(^o`0%o3`tDQ zO*l*F;zw=23wEwLbtdvt`J>&C%n89-5&9xWx1UPP)=5c{13%IFpIW}@j!r15Q^QZL zyzsX30?F8z(C7SgtaF+%8435)-|(o^D8c)?sA5T_cQZF%n11e7VngPV!(}*(A-<(g z8N22(8!9!JgKG?b#y>?F?}k_-0SViK?6W%}Fa70_1zH9MALsT&s_!~rEVQ+X&PtvW zc7MLCTbB9(_vi?k2~dv6uY7=cu)q5fY%DkVYAB$4C%B6<-Y9TWbeEM?v&)QeOEb^* zv)C+ZxcgTsi23TAdQ3*>lp&*N^}ClZ8Md@_ThmIOFc$B%8iOTKyP8^dXC?o<3;rI2 zadc|H7Ud_4xM*_<_|Ffk$h;D0k3i6TBe+gf!0%}ensu~U-b_0H{o!z#Gq*-nXP2k# zppKj>*bw4S`k75v{cc(e7r$2P)6q&#y2RPb56V8PJxg~m*~?%ab!IOsjn;jB@at#3 z>5scyyfcx^#z#^4Skv%~i;m4#@oS$f%C zVWs*hjbVvfPb(r1^*6H*tj5Eb^e~$>6g$f)QK7Dv*S6{<`d?V({0tEi#gyoqr6+jZ zXEoF4GN~kuRC@NNiBw&G@qDhVg!vg0YhdHEtW;?|QScq&9b%4&38$b)RPWOibP*_y z{IJhoc(nSpc)#3q9PpoLIU<0N-M$HHM!6DuZgIH7xg97`9&xx97=oZa? zWK{G2yE*#Fsbp9FX}T`7C#UF5g^*vIdX;`Q()rY7Uiy-zk**%D7IzTd2HxtM@Ye9T zFr!a|t5=;DH6&C=f1G_KS(f=r3pp_#|0OEc=mbbJL2IbIimqz|0Y)(&8hW*x+S?RS z1kA4_a7zPQ&3cpNL)x=@HO19Ek*GW}(X?t!7P^QrYLieyZNCXV++toH0c;9eoV}dA zwPjBCnZ*sCAJs}~NgiJo()0S~&g{u`z3u3an`4!gJ4~}MD>*?U%tFiRY`|V&e*>H?_pTpQJ@kYL8JHWfNQ^Kc7*s{jg>exAJB(Ib`mEw+J|(c zc+ce1?JlCWtyW6H5L?1?fFu2fLQmF6pG#!5fki&iU2JfYAVJfMD0l z)lKvGvhK)gVxeAG(4ru0xo(V<{yN@FJU=I~jse>Fw_GOZ348dBgk4Hsci~nH>PH3|JiPNh85g>&U z>d5u$2q=!D}!ynWA~8dA$#=;rtmd-TBO-a(`OpM@UibMe%+Z-pCR94Hp(jwjbxioX1AbFEEIP z+@U4XSC5-$SA@QUXtAb$5vdYqj@U-uS9oQpcV})+r1Gcz^VqTv2}?A9hp4$Ei1{;{x1&5 zrO?j8KmWx6r;tpMS@K{%Rx76|m*8x_uBqF4T*}3#t~-(H$b{mbn_;gh?#sn7&mooV zx(8p<79B*pE3Em{D;E4H=BgNGD)z9J2T>k%LLJ_eUEbH!LY;nVH%A~a?cDYu&>TRq zX{&&U8QM^sc3Ffh#=Z;jo*+zY#}545j>CgJ1^H-(G8Nj#50(=&wbqmF9jl+c958=r zhBI$3V|mwg7*&6wRr+~5LcJ*E9)=mr$r_>(bM8OfT8%KLWo^EcyREmRo>R@Ku3-1P zsy?fcH(jc^VGy|Ljf?R&XRn@Px-*9psU9?W-up{c$Y11KIX=Vsu28E|zdgoATWcbP zhW*CBa83TB6g$|bUafwmSij`HCmy|@P&vj9Fm&vtu-f*c;ld9qP&Blxe)t~F%S z!_?>LO0J(vQ^DuxZQRDZw0~w}+iTQ)ra)cV(u!_JUeTUDDz8-=m$oybML9f2;)X2(6dx0$tAaDMx<9bE|NI9Yx$Z{BdF{Y_&mK?Lae%0*p zZuSS22PWpP%HZbz-oIvPB~#uf(bq^%PXE#d-qC<-jQ=(`Z@je%yrMAzb0%eR-u(7N zfZG)ln~XO=-j6prHR?kx%`Magek;_QbU#f?f+%U3ZB zn+U^&u@YsA@}t*prtRPUX}*mddl#w9PFZQ`;b^#4SzKf_2SvQ@>^diZsQiEu8OnE$xBRU>$ zy$_XF7&`y)n7sMO14rmC<}CUFAvBP5@x+K?@@(trEAROg?5E=0Uerl3>hrb)E{-n7 zYEgB?fpE|P%r!KUZ2{cKgZST+V+ArIiUWVvVd74gw4bDy>52zJ| zGl%6J3Ijd&Hw-B=#1L8#Zs07Ds?=tUc=-^mbSLSdQ|s!2^}8>BU2Uj(>t9_zT@G0r z^V5@;6yb0wWs?hzx58)|4%VajdG!y{fAMiHXO!3j(z<+@P*3OB@`w4?9K=KEBjN+V zcVyl8-q(M#p8|azR4`@XfJrR5OZ&Bi(Rib`#|Nx({>)BI?eWJ=!80Sl>PGP&4m!KDXUoGcDnleAX&5 zmNSyxltmOoXGpcv{U4srJDTnGjsMTnr7fy8idrp-+M}ou9#yn~pN;-mMoi=a31;&~`)d)QbNbCp~oZH!*=u)7&y7CY6&IMz`Tlr53YwZ%`)Z5kC1&QW<2}dce1MH=kYpITU1&*CRV7>g?=&t$}Sh;5?!FIh)u_>|C6-Z(+ONR^={M z#We5n$3fT}Cb*FXRgYD&#~b-v0)1N6oKHRvmJ$B_8l#eRp4w#}SIh7K!69?x%*{s= zf(`rhg{m5w20j0!oOz6qnSXLE2Uq*NrH#t3JTo!g)jEX9(&(_~KXMOdGW$K9PYHz| znSC4zkwo|%=N4{9HvhZ)t@@#j)n3adf>WW2@Ec}lt=By`aQk2E*@s%qp9z-&Mt{&o zP&P-I!GY7?&Nl8n+-D1Of680^qoKVD6PmZ_9)1m=x_wA0odSOS`)Y?aa|876yuefN z@zFx__T8hLla(Hv5SzC`fsHBOj!y+Nyo&eYIfgDmIWzvqUV zl9ok?wx=y;ZiR4Ln~B;t;f2u}g`?afZzhTgwJZ`h@Jt2Nt|O0Mg9(GMeApu9nd+!_ z_?@rZms{a^2kv-eW-r1tWJ2HmHB}CYbV!Dz#I02yz+8-=QpevRGS6kI7#(HLS=CIA zjqa+yzyoI}EcSxP&ArHcp{15`!pBY=RVeVCG*BnuYOqm4&m|tEyEIlJUqk8dj7%-V zinauZ$+==2QQkRtWC5n~UOrlK!9K%TdG!G`VoW`EW$uziOfEt(-lrAS6d@F7k+Hd| zuraq6L=&C7b)v4ORa4}^#lrz_j4OXElxa$w*umuhv!BZD08Ea8T*?IIluQ`ILes|= zVqb0{2ju46KAjLhRYN?-_FBCdY-3;5S{?P}TTv75qN2lj@6TFel|1S%w`rZ3K*%aC zNrk;(4JAKfzn19xuqziR^UR@!oXroPk zxrA5U?~L=j1fK`3QX1H6$y`4eT2ME0d!)8T{o=R(;QSR$Yx1QsVe!%qZ=!pI;M|mA z7u?vmZPY9pZsvC|mRX*NTCS*g_4^TXI%^B7|oeNXfBswaxMgxDuGN`Kq!TdHVWH3K3r=7`bj4nM;DTvdN|@9y1)IfDkGC|#FNEC zNGGP+*4^6>spWvvN$_u1LP&(u;`xX&x*{}p$a8vLdspqGH}ZQwbai(oMC|6Gb|XUSc*H%N@k^Ow=CsobM5$PeObZCU z%-Ov=ox*aI^LkaHrs?bCC^l~)@TTnp3}Q`ete@b29zk278)8q~@?p}kxusUP24wXe zf&|W9yD6i-rfHE<)__D^=H~kcsSYjyTJKqDL@Rx|xPNp$v%m!=p}VtIBB0)CD?3A) z+>F<^cP|y6=N(wQ;JLX#zFaPbx-9e0!C$SK;e$crG6f0r+ba?{UU*k_?|cGFK<+2! z@PMGthDnElM-Sk6U!KH6vNKI+1KzJehTX;_=|)HR$b%;X%Z3Ui2qpHC5LJmcPTp%v zw3i~iX20+s^@)0DLAz$FZy@o0o&*K-1hEd`Wxq13QI@BpmUw~BS5t{4cw~+K0BM8O zXrr{3%s!R}DvSyu93Q(qS#rBNa!@4~nb^Rx0(xSxyzoT8w~7+9t<~rE;+G+>($pS} zA(3&VzCSuU2F$BXYGy8s5B?r!aqZ|6ccSd+kPqj|a{(l`1;>dQhv${Tc)YHew$l~R zhY8@eDvhw6an-=%sBXUMI@*n|&S72Hfv)P$*a*z1$PPp}oF7r{?B{II> zKO$ys?H)<~z=F>F1H=R`0}L(kwmYOZgML{X(U5D=GD=Rzn+vp!yz!<7lWJSLcU>VW z6dsMRsxH)^w9~R8_E?(~zvksD1P!Zo^|3KFsw&j8ym5^Y!o?3Gx8Wqy2sdms_JgGe zECC2SlK$R-^ovGiC}WK>gRNY`f?1mhIJZ=1kE0qjo$bJY*%P7hWc8`}7`lUZE;zbqbfF#$QTV^BC$Fq8sBTDZo{xT6-UdA_KXqw+^p2KesijOK zhGBIOsn~O_VrBT?(M<$aea0PX?VzX|{|y4%d%~G=OcQA6jrQvK8my@=90Pw$SIrOZ z3{GvWrcxL?sn_wZCIYtIxA5jl@E>j;LC7%0b(qP>*1HbO9$%Ol+qwGIg(El3f1c#- zUmYC^*fw2798?V-W{$`%4R2fttO=f*m|3%HwF;9*xOJ{xcXLj7Ih+J)yvZm!@-+VC zbmn12m-XjLH9X;Q0nI{E(lw?!sa$(C>!tIGQJ%K*yIaeVg5Jtr{*5^i|D9!vAWiQI z&C#cz)fDf)H@K(}XB!7q`WfJd-URk3n-rsUPmPhKSSunFCXYi65{kpXX3cR3- ziYx=ss3Y_};=k0HB+hP#-pKU&iHK|Nn7pe~KxUqPN(Z9!mnn$ZKLQ+u%OmCiO=R$UEjaGaSdb8`Wf z2O?M%${KH0Ry`D65$7>{$33^n=M*{6cmu&$woAQwL@i^ zz>5lSL%`0vHkj+&((viE!;sYJEi0$F2|UHgh7<^CEQb$yOVZv>LGR5J>xHxDvyZLh z%4;7s-uE_a0v&qPaPLN( z2jfw#Mh@pYkeIvD#{SKHiaf1ic^-k~>;57e?4~di?o030z z*Cc!X^jn?KjHm@T*&e%Dd}?JbbZK8at}aFj(Q;?P9w`_!o*a)&S!*M6R0a7v8&}sq zuT0>-p_0-3a+gcXp0A?K2pn~Ckv!%J>C48gG{-J~Yibf1TY(V1P|`qgy`E*%$>&7r zG8MpTWZM?u$BKW@H$SevWbdLjdEXM{w0&59NHH&Ov~>r7`G_IH74VNWw{XSdJ({6s zBjs{X)}GNG@S;uUEuUNX%LF%=X@ia#kGCmHkHNw52aNEha9z;pLVPObg^baJdav5c zyuIKL)NXi7)D~+0+Zh)nF@eg;>i^e^X6lgpnb8k%-=Cpbc8DiSrX4-buN*oy_tLsT zH$`c_0tt%!-epI{an*E3JDc|Mi{B1Rwl3~kmP{J`5IlY1FLiYVA^sNVe~qHv)7g#V zk)xEhaSci&7JYlFB&BRFfXD$zqK4a(6h8Kv#@ zWuxs};o)lcZ;%`PLkVBU+U{EAy!Je}nZq}|)B7^xVQ9Vne(k?!ya;mp;Jt~jA+a(0 zaS-Tuk1OMIMPR(pu#YNAC7_B^K5+dMI(LGu+77j1r#n=RYEH>JlSxm`p!K0}mWK9{ zOSrIroR<(GjPL=KpBj6C=}NOcW!lR4b(utmj~#gD$N9IsznDXTe{6ca*^sn> zgQZPn&m+2cM|q_Df%`DT?3bi}y_ft_GD_il&hB=8Bwo_L;x$mC=_!7&)U4(5)C0e} z^S%4W4ZML2;CUImV}|sb{xTkm2PqFyY6VImO-I`@CQ=E{DtUQtfMFVbjW20w;SDfo zQ;X2s2>qoiM)OQesd95EDO-JPQ^=I423U4as2s4lr%CKO-%M!Ql*#c@$N^7IG@)#p ziF%Qqri+)*_z8wN<=U%DcN4(%-aKjqy^MC@h6`H2Da3=)i8%oolc=Pu*4W{2v1tu}k|Rp0bS_EIkt~(@O>UqS z{gd*onF-NhwzTx=7Q?**mRix9Ipq#cO#FPqI0rXpVi(VzYX`!L=ht3Weso84wR`0@ z@&9A7s~{_F3YUi+92`Om2OZ09F)W)1k)%0q_5MZr>s0d+;yul>oQwuWO`ZLva}PDa zOZWSY-$~M@0C*S`j{n3@~;ochwh75QN=izPA7)=!Rm_Yy$ zUEl8(ttOY5m*<%7#(}B%Q;&R3t*2#5kr%H|Q=~trejr9`2lG>I{Afk6vXfL0==ad> z6T5JlN@6NtaXHqNA>$84>AVP@_L~-t#BSs8{E6%s=CQ7^%jL`sA2F&&ep{n#VEgIq z&b6AbIqI9ks$?Q5UxsTSC^b`TooiP<7oSnCe$OHnnGI#2$cKR^W;hHwMV;^`N}X}4 zPvLjgbYl3}S z-swKmYIw0zV7_jM_0$doJD3R$J%U2JHJK)c6D$n3`zWO{fZ>bJwT9Q15!x9CiTyHvC#DFKvfdan{dOz_ z_q^%j>UHK7zGD9LAaTmTn5K|_2K`KZf^*3AQJqe!r!0W9k8po34biJ!aLmt`>?)CH zwaS%1>LxsCiz#^YIk1b*g<4o9ReI1KGxqBdDMkC>tJ~UEepaWJKI!d8G}D?@E$#Op zc=G;0KhS34hew@Je8%M+sX|EaC;MB=@={ai*N}(rb=n6_`e_8G{VdjIb8*RarLXQ< zDXq)xUfNTpxvs3$u^^LSf0DldDE2}^0AvCoQQD51r1Q>hQI^hDZ&6us))Mvss%cPB zO1Tq|Eobec|IBiay;sC>$f@!)>07|;c8`3iI+q{M7@K;O=Pd*lD2(zL4p5zQHgTXE z#W@s?bzegy1_WoQmPe_~8>7r|!3rD7a4|BsbH#tQ^j(EW8ZrQ~7z;eOQ_O8}= z@+I-dgIWc5C!}uKBGNqXEP;9HHS}hG3irZVR1lpR>hgs~swlm^JCs*4Ls-i6_2gaW z3&fh7z{&C_H8@i+6O2W>eN(X)Y$1u?!JZPSqQ{$(GtJ|e>dB)4G$H8)m3L?e)P(A zd=wq+ zQb33dHfkzKF z3fdbbu&$K6t3#_xrB3_RufukPP&8{(exn#YklX%?=4yj8M~>&bZ&WW|q8NS&Qn#8D z9_cd+El>DDxq;L;mO=6j$@kAEBvCCHgqVue6KFPovYi;|Ox1aeQ3R+JA>IY{pkKG? zCjwelhZ2g_TXCwW=o1h6W5JDBMAW6wFmHNfFCgObTV?l$_Mx~691&>m4>rIXk z+k1~?N@%>>fj(K*?w(uD>VQA7Pfwzfjk?GBg?~RIMf)<|QGC{s;#0OCWbJ^^O)z<1 z2STtmcj8qU9?((}%2hXIHI*9sR23e?mYrYVe+BZ{?gmJ8lxf>vyA~L!XVzwV@GuO> z_oVYSt~^9-1*EaAh7);NDASkO_vao@GoRr!Tl4as$bQQui!AgEhjXX%aOiiBLg{4H zNl^PR?faxz^^I$NC%wA+)7J9$Me{G4#YyH>aaH@@d^8I7X0EV3l7fpo?zq1{3|Fy`=a!v`i9R_hx7F~bwfpsyeOH3v->L%PAIKB>hg{@kZ}Apv@}K8I>74D zR>I`RTPv?*?M!5OOb1)5Dzvy-p3Rl{=_VN!^i)3wPWu#@S)?meJPi6{RNIoPgk%8h zV{9RU$25+*c@`0^WC7M81`t)(iv$+u$kc~U$t~@ zHaG{a-6G}n1qvfnraK~FF(;9#P1hcE_S+8=3XnPI72jpH+7?wMaGzpQtX_qs+cJ`w zl5>B~Md)SE&DI`KU#Cd$hB7$4!Xlu$kP>05nAy|H$(Q>3%l)|*|NmdKdUZ(?32Dl` zf-wsp@}C*LPGD(CkZm!P<#ZBXDsc>B+|J1dFdAtQyF;+FW@IH;L#cJzt~zzl!r|6b}ixr z7ldQ8Vk`z|CO3N^d5B-5EjgoZRO%wssu8=?5d-bc%H*w>{{8T!f38RpON*gobh4L3 zG`~{qtGRSG;Q2j;a|z>;(>93fH`$@ve#vtgt%}LV_ zZ?AARHu8zY-IgnSTx8iqgj1HA&!e$KfS#TznC}XpA3$Q-QghPtS($UoP_d4dnm&74 znWpg~F>Mx))_CEa`Ao%5h4L=c(tO{p5TO@^ij#C3JN)p-xe_iNeQR$ZT_kpEyxN5k zDGympqP3Q`jD44Ru_0Z8F_sz`mb4D-d#2a8HjnZ$*~D#MnH?+1FL}8lTZfa`X=a26q)g?iqF7lWh_Uny@}B`)an0iU{N5DR$+5| z-)1qH-YP1c(i8KwvuE~fZTr5>Gc{Pv2%43;O`Z|%4lz6L-MwRqJ0Akk1PubX zh3#Ilr?Wwr%lo6**bo-ry?J5F@(exBEVy(QRN5ufa<-sUN{?Syc+jII(-xf}zBFWI zsMNR{vf^PY-!;*d|5aE|hNAHq`zkQAh2cPzffaDS6v8A-yBrabzXnph77@%hvM*Av zG+2=!4wIlhNRXZqSbMTnw$HcsV$UWh-nqLB^IA!*bd+viRr0wn|J=gEFOwEHznwBi zdoj(C5Rr4~dKDhG&ttMf_4CQ0nWAnO?y(UiJnov3-Kg+X{li|%v0tX7Z%&4Cv5rrs z+=&(WwCAUndMvbf+^BUy01HKx`)e3aekm#yiw*c(dZ&)6T0`)G+>yK;`uED8{7jxz z`Fel4-)4A=GT*D(dt5G$Eiz}=T!YeHCiHQjoad`HQqEApMYdd6?6WKhcIWkHiy0W{ccw9M*WINx< zHz2aP-&%e<9W=SZ%erE)dQx6;KuM?c0B)P&$Y920V%mONz7Dh+Luuzt9t$l~zfB8I zqB?R3sBR6bAolXV^rgu+{8=J$b47MWlXsSrcV?4+xM{={FPfc~a07T!{f!@O=O;h+ zeFW~~hTl0fH9qNlZZGxA$QOzAVYc@jr4H|pX;XEGQS9OHlYQ5tcB}I{Qgt2u!o3z% z%joxg7X-88APlUV1D#CvBrW+GmLOgy zG1u}reZv$T3^YDlM%L)VT|5w1{@VdVYJED`-eAO8XJ&6->lHqgHoXYumb5CfJm$sY zhCQ(dTd{2D9)yxLucczJZKPB%+k~!tygXK3w2{tJ`8&;GNT&*{SMW7Oubd!W>D%xl zoBt2z(xKOjpq6#*oGee*qm~Ja6M!!hQiqTg;J|2CP`acmV3onyBE5zn|zg;Of#NVc{o9P3bS(PX{iFmpVtz=Cmn|$HRSD>8hKA#t>nv&H=Il^ zY%6UMnfg@ra%Opj&9axEpo3X|o3go_PqC2;ij-AxH}`bKTT z@=`E9qSJq=K+29U0PIXp6DND~wwUBO^&+L4atbfzH4g!~GsFUQP|!@^esfN#-Bw^) zfFfI9MkNwObag+W3Ho1T)Z>)9UbiCs^W$@U{gKL(V9Y;qDqU}mdRNbm){#gE-C&vr zg`|F+E*6lv`?;%3gK&9(?gKI{0@KkC)`GKUkQ(=2r1n?(S1zbwL*rbk^93boYa@2} zcfz%6>v(BSCe$5mzbh+A8it0chYz0+Xl8_aEatS_raP1X-7gbwtf*zKQ~5@N71D&K32E>q8;G z8(A^1b!>z6(C`(QHpnh-*iGYk(DVyOsc|3?q~k$1mXq24li2>i!M~68AI0we%INP` zY6}%6-S8Lw1dw?bFlQw8(Qk9qd`CQY0H=RAwgyXw;64G^yLp)0R1%FyeDKQg-G`2B z%&7|%vG0Yba>od-)smqAA!>abRh5Alb562LBjDSUy;7Gm_B(8s+19Fi-W*n^W8O7R zYzrZWrrT9(ZYFs@?i&Yo&5^~}X|@+yAwk44os_lkIJ zfKtXjWM{7u234NvmBn$N854crreVi`? zsVAwufq(Q~zXtOJ$Em`-+UHTNB(u?3WOH^0t0nP|5elZDLY)*fPht@h4aqdvka;NL z0^5JW2+KH;XR}Xnv>u0dY#*D|2S@ID2WOqhuCU7G{&e#-KGDCJs+SR{DNAb5?upB< zu+ZZ#)We=O2$oUV&;0q3#%Bd1O9$H^YClw(({*dpUtt#F@n0SiK+f~UL2WU zcuvT_zH1Xh^-WY>No)Q$lo!0sTPGsoLcf&^?QDe^uoVf+ECi3j|=`XA$3!E zUisK1!7p$}1VxygivKEDEI0St4n4lbR+meVYcyIvH(g=VusKqvUA6EpcwI-DLCn8V z-i|-08Wwhzilsf3pg$x1=8uj)w8wd6%^MY%Pk1}41c`>2g+8dC`Mj6bF&BH`ZXh_Q z%dgicrEd00I0_Cb4|Y!J(_M%55TL# zBjDe|txh-&-|}t?)~H()sa`t9sh)p(8?=mhjE8h6P0a?J3|pl>aqRw_x*0t#4kNdS}t1p>~Z)r@33I zeiUo@RT5!zqG=21DcBZm1XYQpDg+9X-Ke*a#1F8Tp#{G@v%%J~ir#m1JPfsuswfbA zR(1c;4fE}SI@u*L;MKM}8qvA^0oE^4{f%B&?pzTIu=uw81MuwQ-x@M1si-gQbXPc) zlHAbU53rh>G-?j^**cgc4MOsL-+n)t&GQ2z!fl{t{gLnLLmm^|1*Y!RK_nw6&~m&3 zwK~+HA92Dx1dWsP;WxaGxPMeagP!Fs3;%jXy50D|-iHRouCBu5_G03XOL&d0+XfY= zClRhRB=pK)HO^pbR;SVJDF1c5+LT-7$ifd@J8kprkh+_JGMCVVg3;8igD%4lm@ghB zbYk_az!Sxv?`KB$m*H;Dy3N%2*gs3j*2U5?l;-(ZpXdqOpBMXG0UYv@{6G#FP+%3t zuOIhGX>Nftfqn#AkpHZ)j3)Sf_`eiokof7&yLbkY$A{dl;152D473B0W^t$Ly}y}* z!F_(7AYx479hgClIWn!zUd$>G;3Z4U+4R0uLHBI62O5ELm!>%p?p|#0>})pXe~pL% z#NQuym}j;)Z{8h{?6Bg!iq1T#K3?f2@FAh%A54?pG)Zca8yFG9i2%6b9MIq>K270QoRv0OGh zRbg!%qNW%jRTD$Il>rM9* hmD*ILbSi9>pki3I4LLi;JK_6oJyFqHSh-^?<8+z+ z2<~)6V|rfY*^iGM4&9eT=Z){wqULLYoTJs{WopSHN6+H#yk987kDhdl)w{c%5GfYP zb0|t~30ft{brcT96_isqLlSP`7Du}i{YQ?Iyx_`c3>r(^?2KJ*G4#uD2uwWCMdAN}?KfKT{QP%V%}sdq$Hk?UhK&%*6jXLaIh_QY zPYzjk)4UjH)o50mjdyo2n3**V2$-?xi%|wn@Sdx_DRkF~ghj%*kiBc{6B4A{tgHP> zIe_jWXL$RoFBT7|X*pRITP&6j)@Bevi2OW>6xF?lQ->5^Kw+2$i8XyVnFu$)qqOTh z-=Gzysh{&_-kHTV40{ZTSe1?F3%=VD$KFL=XbXT!s9DmkyvsiXuI6E}Y@CwV7SR(+yoZzzVP2`xEl zq}!Zn=d-y6hAq6uHQ8Sn{1O4gW97ofu6HE(f7Slhn7G^7N0}scul}CX_d1HpI7vI- zBs-&ZMw8}KsP8H2xllpGw%hpM+H_YX;4N!|ED5Qwo@L*{-PGCt(=(=ZVUjz2W2&czyEQZ@IkU`8L0@ zgy{i8uOFbb;9n+PZSJHTXC87Q3L>V$6>43hGykEva!mP@ahGU!Zo388V_Nkq2i_Sa zgPEy%y>=fT9nnxuCJV)%hM?>_L9fR7g-}_P-#1BVXH{5OB)7%0_LIC-p(Npx9P(QJ zPQ}5!q^V2p|1?fTh}$qFduAsT54<-RZ}0K*@HY1mLUNs~l&5&(7P+34`y1C}{v3S>0OyeM6 zd*we@A3S+)ZF4kt^ zt@D}}j&-p35YvlqDc<2ngG~jU-DG|$=E+4A)bMkER*Z0-ppn9WsVEhjf+5@XHmEd zs?*M?%+fSyE3p&rd+NONbn}s$QDeiU9i8m};cCu{s(8+7eS0MmwmCQGZ$unt!tqRv zD98*@$=%G$etI^tAS3Wre7by=JzkXybjWC}x>HaznG+R?Iw3kmUjS>RZ zZ7c|f1%?6kIY8tWybWoIA)?n)XzZ>pLz>Fc$4!t(BXb+u`7D0vN)>p^MFceT$wz)P z*n}kX9}c(Xc!VDbNU+o$>uz_UPBLZYt8E=FgLUkM&Qc#?le2wq;;6`-1!dX)#>9|3R6n; z0M{|nXAfjm1%)RREYMM+RmYDUxZl8z*js=G2B&rg60Jp{?&-P|2XE4=v$mOVyDS50((p?Y$xgL z@r}UZtet%-&XgK=c6>!C0|&x;fEV#{;pSt%-qTz}ZDm-%LMP&CZXg50o3=qFWYa^# zdH|1GDcIHcfsIUe@Da4?Y`RD zcAI_c7k`#;*?UQ$&%&F(JkmxRakwj<9=q>Ra+0rep2Irl{bV#cZ){_ETdNceW#QbJ zE(3X}6z+zBAF95t2`!Lm|?tL-p98;x4Ey=T1)D;6`ytQ~ z{Kng}k_CIN>EgGespWYx77j7>>!j?b+4q`L29Dp^Vi?*!dS$N`Yvp~lFVlYjteRba zr@vM4GH+ks!ckiqouW0o{GO|N>Demt_mH|z3w*Bq(h*)EGdZA*v~qpj*x zZ-4(RHz21iD*=~E_VG56Zc27;yU4kb`0e02BFYSGiB5cCp12St?16X;O}@BsbW7dc zoTU12T(~N41BlQN0skKNfXN12eX2Q-lj~;pv0)jZ)XF6f{$|l&S~)>dqc* zo@VWpL8-i!<*&#AN!}P9l1e+877eGm&Dv|)CWSHREg)kVuHTpNA+K^$cr=1(FAS<) z!^F3MPCQg!da|UR3R9q&dzqY$&8ssFXJc~>E(D!yJLI5;U;A^*)6R zxfsErTTkq9>YE<7HaN$oMr<2fAaz7lodzXow`6Z#YD*&;qauTjKAByGh;6j>dn%M{ zsO~8>hM13)c=kT!T=WnVX$G`3&W7s$3EUIE6C@hz(ale~gl%3?Mk7yFOI_UAK{xxI zEOmTSrhF~o?M{_xoQ)np^UkzC`_>kJ<}Ge57ghAdVA=SE1{`^HF0wL<+*k7A*xs#V zaW|`2oz;aM7A?l9q$cfKj4jQ?nKKQydVsH3dF?&By`x`ORWvuDb5=U@yl z4t1Y>f?i)K);Np<4rHSZ@hX3o)M{p5O9f7@)4&q#v0gz9 z%L9gNtzXhPQN=FL5dR&DFTN%LUw2Gr{vHgET3{r86Sd_vMc+9g#BSBuqj1)0Q>Gnv z310}oN^^Ic~B?>ur5AhnpZ1kD09+tQtYP-y` z=1bTnu3c16*dwstxU;Ho2SX4l^LOy5R#Fg0P0WCtb2p8v&{q+US%44^>2<|JMwyA4s27Wo!CV}p*7 zBUA~>dAcg`56q&2Y44?*$J_$B6Ho%v#rjLNNtE0Qhoz| z)0qO~<VQhK80e!3UoP$-DrmQQYUZ^md15o@bti3i==g=hR$W~0?- z2B(Cuwj8ahfzH<5!DA%^x6OztUSW3B%P*(ZP(OGmH(2s5xuJL>HYnR=NI-VD5$-AGr z8l*0iE=tBa&UgZI4N+UZ6_Q2_wnYUy`uISzm~KI|A|-uDWJj^52V7kY9N zcP%=%mgERlHe83@q?#PV2g#2Ch{zkHjphIq;QkDK#yn*p4Ct`e9EZZ@uS^NZR#{%% z;FLAu2R?<}K+pz9d|d}9jMc9K%7P|LiQzQ(mB5BIso}`s-udG^I{`I{-2>>os)xWa zC=YVyr#i}Nu8S2jv?b++;17(M=gzR0rDlw^+YheLMgGjqUi>NB=-F_=LLFKR`_41# zbume_ybP?Z(Xo+Xq}P3Gw3MWguJ<oCYb6!o}q=vv|6>4>OcAAmy<$9D& znD;rcl6pD(^t-xU6s<{JeEEc@2bbTdb|%ZXMuWT6D#i>wu2KBs$)B+>^p+JQ)!NaM z5M$kYFa>^0T@Sdj^7|dn-RTm|rI0U8KAOr;@kty8ydzLnG+w>65_}qJZ0J1AQF!!b zsr$VMRr8pyVD$@xX^QfaV};Y=Je^Yy>@l868>&$4YdX}D$>UBP$m;VC-+dCdo`NYO zwob(vGU;yVFZsQ%vc`Rb!9V$hpFY;0x=kRW<@()f5MJs=Zt4;u#faHN3x8Y5-$8ef z^by*=CfOebTC+T;l85(fMWJ=73*=WQ3@KlK^fj`s**9B+a7l*!PhLOyDZub&kuR

        3F!)y6SU<TD*2Y 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 )iK^4j1ds&`Es??!$w zd-;j|w&#Mm@UUxQe66DPBLiS;!{oxX0{_^}UrJqflt=|!JGQb7=o#I@%sz$wE8)b8 zkB^xa9Z%+7&!C_Exlm<7_Nl9a$feVelF+b)U{~!EdjQ*?tz|5gn_wtY%8!Ih=*Ywn`7a( zdnA8f^ssKdH14&I){7Pk13yb~tH8F8=g?0^Mw^*`-2Ql>y(as>$#c6r=xnmCVLV4X zI7#0Ax|3(_bi0Hx`qhZJxHP`c7TR#A-O{(tsk;;1=d<#=E%|TCjuD!-*xSBFHC|maLr{(NP3OM2R#Ptb+z@A$y{L4NzP{0 z@cFkR9Kg8 za*ucDkPmC2>giq89S;Y#-ZDyrZ<44Sa37cc3W<^-r;c~9B=VI6;+4!MoLJIg1{nOA zW%p~_t|<`|w!O&iPUn+3zWgZ(xb4C0pUx~4XS*Lu>n*KN#R7G=LZ}Q?lF_>93YxIY zTJ1Z&POL$)l0gxjKZGZBiF=aVGoCk8{_intvE?0BdLVdzCGM}DO+eDY?0>=1Y*N;; znW@+s-J0`WDSv%VWFb17*0F{)Qc#$jzqd111K#pXZ!KE=5b7y60mKAE~IkO@(j~c}gjh7ZL zFKfk!#-JncBK|mAJ(lgCAZZWjz?LQq_a+Ub%VwnLpy{^AgykKV+`EvGi z*KE5J#O#!BPP-vEHssmchGG9teAfDb)~*@aTDN#8F|uPLf|Jh-Wbf}+O^5#=6}urM z5mvr!+y?`z0Z~gKU%emK|e*>H+*M4ZO(c zI=;oh)*GrPD;lS|r^rb1_7kL2n|8CMlP&pO5lF&UAdlRjfy$m(joWoWtMpkPhn;V% zUn1x$KY|^~SM=QHe(IlBpiH37HTu9uFjvm>%>6leDduJQu-Le8QB10Sz4Ig@Q^PGM zus8kG%WiY;ZXoksPEV@?P&)Q*Z^XS*IQYo`g6+y;}Wjv!f~ND_$Uq^bUhAOP&Mon zwqo?@2K}1T$Wh%v0>66FdyS|xt$WSV{SV<&RxiJTl645es{HHnJKT{669*(aMeJ-wjHo1>U)5_7BwHZu25y+#UAE%YMpcq(dzIZPu zn;!*8ofAjA`fj?RZy;P*nvtT%71oZ~Gc?Lu)1S6bY1geg*+U_Djp|$I&;ptMy{&hg zu9=k;(;G~_N>+ILfYZ8ct-LIkel-6{fqsiwdpsh>A_DNb<&nb!-uB=}Tf_{+)@(fT z{qx~+`%Q!AR8Pvj-qI|~=Dp;)QhM>%y z!MH=Kzsk99w#@@9>+l@|mgY1R#6bG1!^bSzN6UThEzi3;97{)$u4ic}q>_Ot|CWI! zl|V7C_YqZ6x6knpzw0WDFp+Azpx`^d2FwjKDoacM_i{exV2g_S`>A_qPwqBqs{Yh9 z+7(783tLsj!OztkB2c%ybvy4=wE2Z76`WM_9 z5s9?^l@gBoZi*P2ojx_HJ-^uK_fMXA<0(w6C%|WVt%YcTMQMUIRq+xQjWTWKE>4BH zA{j=2;qq#Rw+5njlM*bPk>83?Mc%V&g!5hSx$DB`u+einD5%CXbmQ_P!;a>G_~r(* ztVHYmw4UITvb9?nRL8yo{c2#F^EuOrd`}Q3iIUAIWAfkLjnPnuUtcMQHRR>HBC7Wn z2JcPF$$_b)_bzMq%{6mv0l9&$t9ZWVq`2fFy^65NWy1de-|*Ka8&)}`l&B~&KP~&g zF!eslxs*4l-^`mHD=ve(HQ?O%+Q<%GHfT6yHuwap1R~-VqZotki29)sKl7hr^+H6HPXl>D5XaNUkMDg9(d;%f*uz z#DLrU7Leq3E|k$Tct;Ld<;dLvinEcgmkt`}+L$HP*(!$l5%>-Ic7ukp0XG$jMyhPW z4YO1FtKTJ5*(lxm>3f&=f*w1dNjsrID)oZIDv)o4H&oEMfWCfA#AjUmtNdRHhCt>; z^Zh`z3Z)nu8q9%MaRx{$&;c`I-EKG3Vh!|~<9^4(xP9kRkSvM%&=V7n!n_0wk@bf+(0kH)C}6zyRmGS#xMR{wcX0G{u)k~85Z zURh(i6)^kUknI-VjYqZiDb0?Su`G_crM@hV+?368*Qa^t(hbhd_MSn*)XMs;D)Qv5 zmMsoDLT!fDWoy{oMATSG9%&jm8vjdFFpBB1|Cgw!3jV)DMGlXMDsTF0DW!eAYEdL@ zz$hj+G=B)aZTobu+Eszwk-srd88$m2tHqlx!#22`R83AyG!#SQIi2oRX{~ATjfS|= ziuB5M=DzZnTalO!@xO>n; zeP^j)Ht@q?%m)b5I9XQc@?U^eLJhR~4qXZfv}-dGJ>N!u;{HX4@ca~1G%L$(W?c!% zZ;Jx(|I!z33~5(FH)OlBYNEK_Sl|>~!VEwhtN2G8W3wTi@)dCgn460s1fzAm>bM$t zhU!0JDF!IDe29Uo0dG_OfQj$Eav$TG($$OhV6I=UjNUSfe@WgXy{=B7&@)9q&Xwi)rC4oIS!%2O| zHt4t*G`Gj^L$J-&KM;P%8d5Lu+>(D~h};8x#`Na1$| zVRs)IMBOk9fX+KN*6xZwugET%U`?xBVC_r1q2k%GpjoV(5-)$6pln}G7}-5}ddllz z5&K@Af+xOLsJVm9)6#Gmk_X01@pL8#6TV2rg{9c&|;3s?3 z|ACj~m>SSj@mS>H2Nr05y_!A8@27a1^hw2o|1S7WufFO}d{wcLKfLuL?J+9vRB6`t z|JK=`CY>q+`*!X0Xo0}#L{)*^DZ8Y;JUD1M8HFD9@9lF1MeRZrv0@{v+ z{%P4m%GOQjU&X=pPcJjoj*UumvYqxfx8*04 zlG-!tJPLF;ZSNqy9jBUc`}paR-RflF3%lW?FY3u`+t%fgKgt-4-Wu{AC`Xvai;4nr zEW~-694AvvdJeYaOcgic-4QlxDIJA{N;AX`FmzltCdh{21M*Db&pX|*2i8tyGlUAkj z{R?0&-n}X^1}T+GUBhC{trE2Ry%B>2mXhQG9r*NJ5zTwlKVnsxs~<387&h*p;tS(y znms9r4DMbbHV179?yAahPOW>yDWu>`)$#)mu=dK>r*i>c<<0mTXM0N`mCl7_0_;!Guw@YUWtZTds27NvG z+$zoC9?P#f;A&PH?)5zy{r)nsJLel6O7^v)6*Ua`oYPldAr);Jq!`{*#_M}6=*esx z>O!xM64tsEi83glDlL6SS>|n^KtH{6U;nH%p)A0kg5B0==5tOv zRqg#|csMX`hWA6C&Eq{@X#Sl>L0f44fKP5rl}>kynL$god)S@E>5K=a);x@BAoR)b zK?$_x;tuH!Nu1MYq02O!3ia#JW(CQ;t_y#*8@^|)>U}q^oSWXWW8kh+rBE0yVjw$-gz7O0_%4n^a%ERwl4x zCP3!R)u13Z5To$0Z^-B+{!Na{mhQ^W_J(WMJmVAqBa_D5CfFE19e#E%&=Ii@Kbr3Q?{VHD?a8e~ zKb(#>Ym5Bg#*EMGIV~1~t6{*tR^ZVzqz4vxEYP|YO_<(Z0T!3dO%#9Kzf8`#(jd`* z-due+$4kWFoR=-{=d)TgdCG&#MJ?nj93|EnDrz3D$6F&&G zu4%sz9Y604(70`=7eIwmBylna0bay|y|BY_7M6qRdX>L&XH1VIW8}=t+ZuE2UE318 zkM{mr*u#%%UqmF$n>yq#zEjM!`GWmYC_F#)^2OdT{jRz#bY;G+-#>ad`Fs1@Eb z$6DRRP@v&j&2wvglxOA%R+TmMMdy zj1Vh;s-x-n*)|d(2Y&>D5f2)x>bE|R$haKVrp*3%@G=2ZH#oLx)RrZ8JuHJtVLi!4BXgsUmD%f!N?Zr3)Z4d)AB#s*?K<@GV`Lb&j%DIzf4$Z} zV{?;Zb&!UYo|AR8r}@|AgkJ(oMv~pQMtA^Yo3}su8CuT79b_GO01^+_v}vUt&~Z6{ z1sCdbqsdK~8P74>t@u1&CJo8?*F39NyqX{NUh^$#&+_U2sNh9Ec_~^t!yp;OK8y^H zY41X?t4K#e;X%3{4Gcqfhn6Cm{=+!vDYje`3{AVkxVQJ6+@;S1M3xgrTPNn9Uz89? z@3%5?`(rtk&|KD7UF21ju+e~L^0rIgY$;~6gGtEyz;Ymn0_TYx>^6OHe1=S^I%h$M zF*%>dTQ&1;o@uLd{E36B`! zIcL6xkxkCp2~^eU?JE0mH!Hmlm=icXLH{9-A+JLahzXF;XEO0&DdZvk(WcAnjbOce z-(`R<&IRd|H+I0f`wKFrbEkS3T+LtKu%J|0!1$OZSFu8GM9 zvH^a|uM#w{4u49%ThzANPaie0#r2=3Eyby2U%FgHo=44IueJY(y#*&fO>5d7Firlr zyn~}}NG0?Bt=}#adQ7gaAKp|Atl(VZey%t(8fSO$?Ab!%D)tBjBI&J8naF=JW>k)+ft%(s1*<5oAis>4Z%wD{U#nqd-u(~prVf!ebK7rVdDXeC&VS;rD1GBU-frs`oUEL9mN2S*X)h)W zQeC7f{0^Xk*((gk7GyVK#6(pO`XS%{yZ@F}oyAM!%YrHbV3wuJYAoe0YYqZcyw1YL zGt@&4$Hv+1G+@r=>93cEw_Ktmqb$keR99?xYbEnN?)hB=tLrZ4q{H-KpbWCk>XDiC zGig22vZWS>3FX0<^p*ItkU}#Pm&utLS7vY0rz2LkmGI45)<*sv%15$$Wub8NTKp&=z zGDHcIu06Tl4_PJCnH{|WdE*=$O7hb-2VtNmmx=f&IUXi^c)YC?2?ZkM z_Pat7lb1sW#NM})HyWcxJ|6hhW-iWJaiaX-qC;Mxxll3V@c3o0+?Ub+zzexOl3d7+ z)LvOGo}j-_Y(4W%)F*2CJ;G#AVt;n?knalG8@ke6?N z+HfWNd#5a`7_t7j<|>*_!W;rPmr-xFqk_~bkMt(=s{X6i zeQzuA+1h=@dnNIJ@s{e~`Mj}NBzyWcsk5*{{mqQGIi5$@agaI*^|W7}+p(;nUq5$n zFmpEUt3sXAC^d!}{FGwT`i+C~Bd=JwY;bd$X;f|*pvt8uALUB9SS z0DiHw!EF&kP6ew07_v^?qjjHP|I8z?*jz;9!9a)Kn<~LMkpe{YK|(GzC(F0}S2EE) z=;UI^i~iGir-?_)3^I=qxV?dPZ9LIvmvZWC&5dy92HTwJUbb8;b(3_Z55g}D{mBw1 zqb^K>BG9Wa;7H?njq{08RbPnt)AMz6kMomk_<<6JXOT!?ylL-@f~0}1#xxH(*m1wZ zo#_94k~vooAOMuM^t+f<5S@)*JQ+ac{zHbM&R@pa;!U7&F}ZmFS=~f z1l+8|J`gKW4*KS%XE_o9iL@vwZ`@(*0F2AiHIexEvK2QBh}zH6vY0N2z|fVuU>5VK zG7|6B$wypkPFwCs)J5Ej){0coNm7_RPM#l&d(@p4^GEO$j`2@E6kM~2oioICIbKB= zR!1BFbIch@_G8Y-xNkTC1@~Ja{SlYO+rX?g#xyHh=*S+tgHjyyux_E3dptbYJK{G= z`BHm7OK)fLDBb14-_kJhJoWO@|L+LQ<>)&W!psEjyI@}Af6Yxkq%jAA8QmWQJb&3J z(Ri8Ur@Y8|Pb{{g?pe5vvQ^+;6tflTc?sYNEMHb`R-F9lNdue+keoO9!(PKNj7r%Z zkXK!F&!-s1<}iJ?Lh)UqTvDhM`OfnWI~}Guaw6Y|iYcy<3OG9ZbyiLAhWJU28)#N2 zldWjP<7c04FG1Fc`ph%`3~5P|ZZERD#=v8)Pr`|pW$o3wtY=Jm%R-K2pEOfXGsEYp zGZP#C)~duo33By?MVXGPqi3J=dxyW;W9{4jO=M0RvdzucNO#YymC$pgf?MroB$^3e zgxg%>%w*-pTqvnwE|wtpE2ukVf6=iMJNKG!Zy#~*<4!c758=JUVv^8^LL>*dhM=d2 z29_fl`werdvJGS}(#ev_zNZlMq^*NPixo|Zyz*fv5(=bmt6kU4_nm0YuJ<&e2XY@4 zQwHA5vA$y_$O+u&^u-mG!w8qM=qLm3GM7_OxuyvhVXHE zHkLGsJePddvYuCLhXg+#z}U<+vtQ096Wq4!^pf-Xe;g@o{9+#Xzk9aCLDM;AYjH8i1@E%LUPNGtz3SzXaAwLdN2 zXY!dDRq>#l!FMmQ2ssU^5yKr~xuod^=})WW&t+lS9GN>qo8e8W zDgLj^*+pp2U~!EyE%J`_i7NTnk*tHC$P&@>KHtWx6p06o`L0+xl>KpwYz$IpgN1yvcu*o0xiSWmI^7eVUhx3U;##bcP;Ok?<1JagID!HZzkk?= zyJfykDr19B@FPAdDtco*{z~)qiXJCZTSQ!nGkuDSuyU;F{np}pF^B7Q<-E1L^)Mye zg2j(3LOxscIN&1-H6Q=28RGTAyb}Jfqs|;1rcV};t0T*CN~1YS}hrD&hZKE#PmL96;Ig za>QsNGP&A$^Z`h9?%0}V$xh$txq;yu(aP;23PEe$hUBbsdyD5FvRAN?(Suo5!GUqD zc5_cSlaKS^`3__K-ehID@ZOP07^&HMHrZYN*Gz9HDrRb4oe&C2BrRN4>yCB7p_SFm zV#NQ-w62G{*tsMR>g)Xe;1O}@5cI;Q!QT?J(PTHK>^rL4Fl;v`xqWrHq+9QXbM16s zrEi=bK);_~@u1w29djRD+2J=_v53OmCA!Zwrh1vU4nqXn79)emiX$=n6Efn6bwm`K zEM?AQ3PfsO#2zS({ao)$b_HR~1f6g1EDJjF@+ZJ#?dCL=Vy%5qEp*82>4m$2ec5Zy zBvEWWnz3#UXybhbxNuLuGC6Jk*etqe@zv1t&!lcFq{|$nPlz>xH`lY?^Y;DcvV0O* z{`W20n=96PGqE?aI3Mi=*Kj_W{4LJ5=J&*ml>6T(Y^L?$kCy?8SVkCTR&_(|lL0T*OG)WfV;;8G3SX~&=0dZW-k%F?dn|l@GxkwlS6K!r9xy$bfuazGhF>+`)Qvh&EY=SOn!S^aPi&EScoa@|6%IAqncWuxZh(zR79kM zG$r&ZAiarH1wncz(vd1%Admw{uc0F)C?HZp?=9y>a^EGzRJ(D>d`5F(aca1cRzvA`N?#tWoE#}|qXE-UP=CHd{{!Ksw z#FmIRn=V!|I#^tel^+-D>sJzU>3Q;ZPiAW?sW53Fz~8AbiOQt?Hgom+hM&ytz3ijh z$jPMqPzhtK3uW=`ih>_O*TfvU(utr3|0lX|%iS_E$vmdcSY;UX^2}lgg%|+%GPrVnr1NOT?(*0P&g<5& z7vtLO8>bhX*q%u|D9JATyWhG#mNzKgKdU0h`L6XJs+O=%R#exKSUK?PWn4S-;M$zM z3g;v;uHiM1>1XS+S;}`@IF;;!nW!*Z#AUQgD^oj(0WNwqCbp_}Nb^TU9&0SzQcA?D zR35CKq*W5~LXkHQBqstF9}XAaUOQ)pZlOa({_3@SG^jdnUYCmO(qB9kS(aMF%W?9m zK0lA2*Df`~5ahxUVPmANx%riWu6-l*y$iiqJH$$V{%VRs7%fX=kO2=vz-4SPX4>pPZHG;u$w=D5^8e*P9ma0&pp4 zAJ2yGZV{sUcl_lnvb`Bw!d5BA!S&zYDY`vP*cmmwlRcBh@F(ZB*`sHNl1CR=3=p^;pp{;Kd(nbth85h1+ zLzH0gOiR%)4upNfE}NiCV^nX|o=xjagIfu^94QN{*aIzE1FsR3ys;@8czybQC#gKCwQ$&@5b!e>8lMQ>i>X z!zMJ9UUJ#qVcKPNkuuq4c=hqL)Uv?(q}p^tVtlYZ5T9?F5mu9zxk2V#yzrB8JpU3aTE|fdEodzW51}ZJLmt3BA`1ifKpPV*7g_F0F z&5R}o@dV}i9i>FKxw@cmfzQvztDi3WesrHYvG0U$p0+_*JT|7>k@rib z&jcO5Xn_d)0hZa8d4N53&Zg_Z4TY}V!U7Z7EhSO;btj&qhYE#&V-d!m+mC|X#_nai zxM>Qyxp+jPx?*5BR($?YU+%7sGeSFO|-GqIg# z3FA`sb$w5^e#|Qn{LB=FEjf667$MwB^aH_iD83F#`+rE+AmSTi;i?Cg3q7r7zNHIR zzeM1co=Nj&f%<(cTaMcX4hC>Xc#%UsjH{{j#PuLS0& zzC~BML&*huihLe(A&q*B%0)`H*`U`|o6mC(hihbw8b;LbX!<20XTr&P*orfYTnUAN z>U0!-pFNe+6OT2_ywo8!PQo|k{T$qv#Sf)E%F96qal2!8?vjsY?aSjMo$)#Q<>HW6 z0LJXb+bvo0k~*uki+Nn4sm{;sKTv@w^9z2cq{0w~nMA&tYBca?{$5brk>3`WMzR{h ztF)aleqyg3 zBQIk7RJb>NkJbZ<&I(Ue{Kk*X*4^49$wHuCMruwWmgl9*om^fzAx3bUW&B42#W0zn zC6C9hTptRhK}#4~_pmq4}N;@cr%0Q80k zcT=hk_c>vo40;StBXBhM9EVtYpk_+X|3;dDzq)cwg1;4CtuR~$z5bJ1id;~B3?$?s z2SKWIB>O%x>J%iL2M~i)7ii+9Jywq&RY&}kDw;zbl9PCAkD5xKbH@n=B)moUWqF?i zb3(i#su@x4ILYkX(w7GfH6K_55(=|b{mlLjl{(CQ(9p^~th87K^gH=EnK4wpiOtqp z>~CpmIeft|6w;{?>GOH0jRog{eWhwrY5uxCN_#w!vo3OI#>ARez${D=c&8_a5n`#% zV@P@k{IOtV5jUsc4y&g2a1=d4*7Ff|$IXGWYIXI2e|P>^KaT;raK(-)02n=zvYtfS zXcWWG?227rGGCTnk5kXfTFiR)r)W&Ev@JWB+0Vr^d9;&*!o$~T7C%%o zH9;tHlidotnLi^*C$INOR}aAdWx5AIvR^P!Wajak>50BBZ&-IWwbBz^)0yiDeng7I zoU5f4=2^)`ptKLdqq~)F`<)36nbJ&8-O$8xG3;x>&z`?bC6s3$7ain_@$>@G zX)&y&-MtH<*M#>E0SgH1Wv=Si*RQiqg^VqtJ>UPS^e1P$z;OXJi;gF*$tuY+Ihnq9 zaV7-$Y|(|m-I4c&UqmY!pqv-KbFd~y?eP-s?;^Ny8WQ|FBNoY1xyIxRGsu17a61u{ z1R-@{vv%a`UV!)-q5VNQL4~4QJcZS^nJs~hpsmKD5q_Nhuhyn02C~VSB1@s)UGI{P z(Ru8LtX;m8xEg2wKHl!)^-D_wkE7bz*9^J2vivgqb>G_JWm;Ufk@s3MkxzX)9^tlX zh9Hh3OD!ewbRExg8=S9%@&J5>q+;vCxja^<*)^R2FtTVY%sbuE3jq1S(AoFY&*A0r z*Bv^}+;!}tUwMR0Wsmty3Vf8Q_|fd9n>uC3_u1ZxXz(3Im3(O>$+JWbMi+}8rPLH# zA;KQ$&Yqw;dxX{gOx>9D6|6rHy|>X>EV=-r^}pfG00vyXiah-Aa4wUy^In>$Mx-QF z+pK%ME9#u1q-Z?6T{n?h9nFo5r!Mf=VekbyK*63OvLk-G~KGlAg{e-(D4L%t|k}5{UmF8x?sT7?toMd9)Uy|e$ zVX;XOdT#N$-bHK0igkcpNHunF*x+x-_iT%Q<67Q864TrXj%o>G7cmDC(wqa)<6Hsd zoRifQp9hbwljYBPQ*Tmun4&R8>1}J8 z6ICo;XqnK`#0?C{_1lp8K)FSYLDK0?L5YTWEG_lJoZO4RAy=m;-Xjr+>P#INW@|aV zGNSmpRZ*=!k&&_5BCFQK@cX?^jqzPZ`DzQaVS|GPcj?H5NsSxCK~i2)*wW<5k6mWW z+Tz0E1?tk4TbSBXP4A&{>r zhLc6xuNJ^{FM*!ledud3CBBtaGWpuZx$i+Ghy60kl!wUN_YyKxlXy4g4fi5h;C#JB$)eP~~0{8g?cZU?} znk`hir&hUBd|AbvASeJCF>C&6QTy4UJc(`*^Wu%jcdWtUq3cyP7RYf<<&wGe3(2TB z_mZWlHdG?h$AO8=!C3Gc{jLXR6>@T9+kbUXp|2`^c2H&5RS;fsmy*(X&o=K=4J^7Z zzV-y1`(r-!w&Z`~^1UVnxpbdISPu;cMm*dz-Exn6BAi|FS0Kluy?-okC31e~MQhDG zBriUdB&$!9)xO&Q@joZk5TThUAr-YgJeVZkE6pDNm#`r^qJBT)_pFuBlOt$GFpv(+aIka)5ngDahh|a}5sxeSRXq?`~=^Z8Re(O>+ySzlp!9okgQ>y4FX(7Ma8XbnJr25yGm`0J? z?owQDlTVsu$W0(0&QzHhYK$OlFEv+)cjY?^XM~T=o(VYILa<)x?lVR>pJ^o2_Q9Ty z&r5kYXZ><1Pm0PLx1kIqaG0IxU)@~>&)a33^TJ7xEi#Z}EpQ9wG2-C~JKQ;uJ}wo7 zDT0>|#~wAU^oxvcN|~p2m<{K7!D93M#sgHSn)=6>r05xO$$5Xdahid4f7`%nMa-qj zr(kHC>3dlL>y6Jw;aptq8`_^$K9hKchVJ-lrebeyhFz3hEOs4k*~I~GapP9}zJp~~&+reQ;nCRvn|g>lvThz|6MXjRw0#?+OH zdXtanKl&!12h3e#oAZ0|8l5YkQM4G|PO8#x3Dx3uB}X2SgS8k=Tf3!YUt|4;+1tx&I5SpQXqLZQ)pnhFS`SY!}gZ~UV`rd;w zn1^w`ZErGsH^)GMc&p#e^#Kw9_@iHqlH*@2tT?^7h-*FGvoZdL-?^F!rO>jfvQ$ni z6i5p65!fG44={`Tyk|4`&EE|~6_Hlt9ss3Pn!x3KONMmsTxk%v=>H4)0<2>QPeTTV z<@Jkg-t5$Y%6q_C<9oI-kJHP;0N>+J$r?m?Mn-TtgLZ$G?0Clij7u$JNAk6Cg zkCr&Aw`7nRxqOB6%vJbcCNI9*dVoCY;A<9{nkw-`4YMC zx$}wyKXhRW{b=kj#CKwb0$CY_h}^wwIzb*+hTn&;f(NX7r*{kN5_}rrj0{5wqe9dP zQH&4iw1j$1gk`6ZOc5_HDd0vVk7D57T&`Lq{52t&=(xq@G3bi_TfRPb@lp}tM~o4I z{&75ts~gcK&y>y^+OsaZ@@GtKbDha}q?}!(>=hj1Sg9gLZyi{p;N!OajBP=L8a2-1 zNZk?o6kVJ6`ojW~bgn}}d;eln9?3|hW$qj-jjm})7qIYo?3xl&7|3$;B$#aby?;1q zA_Vqmc8J1X!Lr*^Pi7YHCfEd~lswbVs;x}_`ip<`*G(6@dGqxp{;yn&uoq2ce=>jj z_Iw*nif?JQ7iFEj*NKSptVv;O7h-EyV5^=r-*`1#FnP*Yu+R4M)Zg>vO82LpPS#78 z)!eJ)o!-!sz3QgOJT#DvhWOb&5gU^*DqE~U7~PZ^k6^vncOj>YBS?sY3TnkF9Gg5? z^c*%bPw}62<6d*QVwF4|6ljh|Nt35hPsDx=aGbv7A1rF1TCSUq@pf&ANZ}Y-n(`74 ziu-C>F!;hi@hbA*+#Qpke6imfY|ue`lPMgI6b~-(@ONjhh&0p-U`>3m*AQE zrl-&LVT_m6p>JL@`S8#N9Sa43>HQzve}F*PT#kf2oBj%3=K92|P2nu8#zOPw{lwrD z_3hD=uR-1Jg9@ApfQzzrEb+@*E!c}qEoIiviw{iMT3QW9Uz0J_`karkw`*C(WpOk? zui|bB$_%>jeTc|XD(y>4mMgt2%{HtarDsE)akOt}KpcG&w~b9$m>FtoU)Q95QoO@I z*>cNkeCeX?IB@WV$6#ep;y(Y#??k3ruZhLkZ%v|}jz7HFpUG;CCa{RYHS3r{w6#;n z^)H7jcl2pSTiup#+Eq}xI6D#!P=BND&2zUARBZ=f6U#UYP~b@wp%J zNNl<9gji*Hx+clf7&klJC77I%d(fd@;|(M>?cXus^g_lNR1L4nhEM~@9!Yt=RZook z63$XBW6$-2-}sT*C#!({XD>|hgDqoHOWX(vQ7r;TprhHMzfbRl*|jKziGAfVM&@i> zx9L0PHb1{!XizL1+PW?>(bOE)sxm$kN3M9-{-LQhyi5P$zYLFzy+&VgLO$!^vi3jb zzibDBDraqC!0Dt<1KDI9x#fxs0~|)zlx;-s@%-I{nZIa zugIRwXx$1EPY9pnRzf4PoMB?>A&shA9*miWLQ7?T2LvZo&`?YbC7e`FSUR7^#wamS z9C*pABvhQ7zQu%C#q!@cR;>Hsc#^h8dj!}|Itiz}{Qd__eEW@bK63{;*OmLXk+XYW z{KDvsQ-wKlieL>RV#IOXd-y2Cv@SaLD%IktWZ;P7ob7>pFNf7`v(-PD(#me+1zFIdjf|8n6Z# z{SHQ!d;uPZZ-jzYLnAn|hF!AiEq*)9c_x@&(ZP!Q>uir~KQrpy0BFePegN`~FMlVE z{Vs}oVOo^HBCs>-GW~gR(v#sQ7g2z+0&wRAOzUonZ)aMk28k+2y3m;rOWTYS8 z`n~?NjH#rndVX5YGD1qrsq(;O=O9t{U2pb3!75t;9;Qes@F+0kRx#Eeb?m)WXgyJ@^$WKA=@1(%|CKyX2KMS zs{4!flD}({^b8q)B+>)-o=}|0Yx0GV1#w39_KQ{(_fZG0D?4Lbco55q?dtRPU#wUT zZhcM)%Dq1|-Jf@T&yX0l?O_lwaj@1N+?Uw+!$zrhOHjq2a`I4Pvf~H4{FWQCpMI_Q zffVIz<3JN-5I-p?LLoRWQV>0>@-i&?Y)+kq-N}hk@oc~z4Pd|2SZLwT4`nqp7`#F2 z@Dq6mSquj>nYQ27i|Tp=NkD(QXx#fd7?hWO^+@uCY2v?KAV|KD=}ngjiW*K|5uC-D zBX^xm!X5dS&^5ht5tLKJ}w9ch)9aJCSPvDZ41Gp4rxgUI}7ma z)x6^Sdr2l$X%d30kzqwmkoL5zM_QTMBQipgnmvhcf(LcOG|D792J^6AxKiyse{5sp zo5A`jBB;FhK*lgPRZlWgf_^yiXfMsNDDsfjJo&xB^wdQ>V}X>cVU910E~hTZ&52I_ z$!fI+_R~j@bKK6Z?))Ho{)^TdcZ`+krj&!GN|i4xpr3wvR?WL=)l8g76)A}hSfssG z)sL|G%>!f2&f8>FP+o%DZ8NornY?uY~wfm>rPnul0Y8C`}ZoNj>0fRcgEWW}cc^PR&<6rz!>3 zS^rSHGJ)H~!@Q}7T@V;Nvt1!3DO-6eWKDnPh`k-p*l_&Gi~1CkXkJvQs_|QW>Kw7R zMMFDRF?xm~KZd?{uM)3>mV_ZM(9du^k*e}>-~>IhVTX)R`poJ4deVHn`N-cno$^HH z>?+&&@DGT3LJZLWat1x!TbMhx9ds>nos5kqj0e=p>^%0GSCiLG1?91I)H?6)s`g((VJ8HSkt?Bo`x&M|N zdS~5+AcZhCv0{ucCO6lNS>R*Ga>Gu7d~<`-Qt4;<@-p^g>Nxm+xRL;Q*lM}>>AhG*c>ghZAf*o5i9>4Lc2rQeXDT}{xkyTt8w|f{LFCC{h zm=1oB|LVS;GmQm@=0Mlx6#h z4!=WsdNuzW?5S5#psQ+W@cnQgtlK}(p-)=+jH?m)Fnr(AK{cfoI&Yk^?NrD!mmsHh zKz|bQnfN{Lej4DODG$QbSB%i%XPbP@&xU)DcYNZX^-j4(zAAqSyRhz;4D>UJc^}?_ zo{xIAKD#vSeWnu4UH76P?(Dw}@{4rnj4JO=988brP)eQCin6IBe&A3JW#^tUrFCua zy0vksbAVOL1T&M4+j-H$9J|u+4!5Iy?ixKlWUM^oV|br`J~Rp$~n6A6D>MiSlGbBM|01$lw{%%%p8H#U9rWxwaA0N9UhYGqMx~Q@$ES=s z9|CNua{EKAqsmkac>GV&Wa5pQji|wS}I2UGMPw`v;4K|2fnMOo#rPk_vHOJY>Vb?tl^Ve=X1_P z$G#c%K~f)E_sRnt7wz6njOu!txQlqt0 zQnW}+vn(@KrFK3aC+Tew=LJw&;a(YFa6k`h#>c z!Y1tlDr9$Jm>|8-S>SQ5A0)Q^$gg_kG(~^*8tDF)J?GSAfT@GaQG@Zq;iHp%C&ItQ z0hBuxik*=2(j^1Wws`}bVz0gAd9Pup>QALq4YJ(XyPH_`78=Y`^^G{8_C{`Nu0g;~ zYN81wdR$qNolIM8Yg@TbCLZV3`Lj>GeSSoUuRa!0{WWq9Xd1d^uKVsDjs*{=J?AEO zIURU`jk`?Q4g4MYg!&G%bkc=0Gf%=lOTGWBH>hnh@iy$$WsWe9s!ZL~#p(JS(!xLr z%C&c>cPu{zvc?=V4~H?#S3PF0(4eI|dLw&#FqCu~Y9Jd)Qsbr_fQ+6Utb7Q8x? z&EOuV^aH;T7+Pv`5v}@^Kfwllp_=xZ~x+`be@NO_uW!48!HzubNw>7pw(XB(2HOZ{jM37m6T9+ZmVRn}b@z^gDqThT{PTK+y z30bqW_R?9-NI9UOir^L*s`|3=gV_8e-YV*$pD5JI-$1i!-sLF2U&YwwTiZ`V^)?gW z+pFU4cyGu&s%=A98JaWPeHXTiG3A84VGN-_Za{uI<)2APSx1^`o!_;Sj+%1{H$5{A zwTvyKMJqkW#rM3PaIw`Q-9=?PO6%Cz=b2Z`Yw1%g-bg9q!Jo@6s~{dLA$ z6)|0sQzypSs9f<~o0=&z8u+q2HLHr_ZMH(A#q&B%j&M606;_>KUXrlm_-x+fR;G2E zdG!z4q3T}RuioeR`}zymMDz^dcG>G!%oZB=P1-J{4-G>>Z!RaDc(ho?bV}i~SBU4N=PGi>-=f$CgC zaxGfrbY`o#{t_+GDY2h6bQlkEL~}ZNrtNM?Bm>gs=H7Ptdk($}>Bg5(2JJq*XG*+<+(jxwP#YTKU(uL355DXOrW@Q@NjaT^S#X zux@JXdpOZxEJ5TAc$P%7E_4a{8~*xL`ZJ+?=Hc`kfy1zra62AYgpQqZI=iHM)J-Gw zx9^RfkAF;AJi^NlGXE`Xx=h}7Z520&=n7{Hd*ggmFm$(*aTwH!13d@5^%Mk*X)y7< zC6pzr^aJS0{}^Jbem&pGo=oz)iP{Z9`B$CFi5@Chu1VBN=N1}nD!YWF+3I`Ni!&As zN*?*)H$XX>C?#tZ%bFras52G(vZY5GW7Y6-Z$`%|CM~OqD>6Beixn?&RF!(u=&Yz^ zC1!ahd}}5YFASCCZb2(ZEBfvJi_U1#YMaGb15_?*rAtpCO7gDWTbwnG{ z%^*Q?VTz>0!IoEetU>fEKku_-)W5eR*!sLPs)t9TyrSD(nun&on+);Lssjc$mKOB;F*MLuoFO-Z4QGE<%xBl((kGa1iztBVX*gBgQZPJ^UYyf+m` z9r)?|;y79?UNY-c(qpA{TWp}OoL-pM%^ni?%+I3Adx*|gcb@70oXoRW zpGPCIY{$7^Z8!4>)EYv!EVWQKNPUYV@T=(yC&8TbCZYH;T=~3l0Be~E%bl7>ureTT zgz3>MjL*KsfNXuCH^tIj`5Z@9l+tt6kX9uUJITsvxHdcs3tmY&=<*DEI0&DQ>rNwf zO;TDjJI+&HW}G`NA@k1rf;aXZIKxIzGrmwA(J)a|VNkI_v5$UjM)_`*h?Z8D^p>R; zGUtYH=+Fv%k45O=Hpg(4Oh!5KQ7!iis||?fq<;r|;^EL*Ib?f&n}5 z(pYdws>-11#q_6Gn@o0|I?B$$!b(^WN8I_2<7r@XMA{_M5WhWwfLU^g5-mbfr&LmF zXT;0lFJ3BVHb3OI6nQ-NIaNhm4AwfFfz}~v4-`HQ#tDzTuu@HS$}r{tGYo(A&iI7n zh88j$+PEpY0%39<+JQ$+Ix6x>wUw2sOv(KzxR~Al7 zh}o}=m<5LRSd9LIzqZf(Geiu3thxk3$`FZH$c^*$RzvpJz8$lV?zymv_`T*S-PN%Q z%y_1C3i;-sAk65x#>}!m3M|j<)q1KUp1V$m(LD*UEHm>=1*d{**Ns$kGj%uGpKj`A zhnN0&2w+KMJ9&R&F9jlEYnGjPZ&IkRY{q1mZ*J(FXq{{#+q=>l* zu1cjl2~i0l%1c}3RE;&VuzI1qC$x8__LXXJ?_*C{?WmqWubv`-nPAa9CFRknsj0@X zV4G*>dSyB60cN@vj5tBKLH;?cFYb3afu!cAE~2g3R4_ z%2b^o(84l-6=9-ljJ37re{Gkg_p4L>zEbf~psy}!kskkPRWoOYwQNZB;((d~g+&Rq z%d!>b5QXs>_#5m=+ZBT$=oE_~i|N^}jvZ?EhhF(TO(G*7 z|9^v;sq65g5%F|du9M2fY6t5Ul^@JCz`uBr3`0ZS+K-8*MQ3J~ssk0FICkLnDOKsk zs9Wor`ca(Aain4R8xt++Niyb#)XILs54u>HL&iSsNuYlY)`Q7yq4GXRHj(j+@g3%{s_ zW|-;nYUUbs@ze$-%%n|V;=C0-7IrgkB)7+{M?$R5tl;t(C8!c`PmFl^u^&Fr0JI)Y zTC@YuRLYs00e;1m)1(0a3+S*=#VF8C!Y8>8pxeuzBspRM$;~vWSp=P)vx%wmllKCl znPIGk;%Pq~Llp3Zd4G)K9{QzJiR$ju&Y^ciUBz)>dlkX^Q+SwHR+!0&^mj*YGn+;b z*WhqKcX3*Usze4qWlb}CnieqPaci?aesz2oJ*{IGp8X8BwJ{YWW)jK!2gmup;oShO z0LU=^#0z__d!Kd2`nsUs8~d*F4ysYK(wYC*zKx@@K`~XIt>+nY!J*~}b3+@R%-NMT znshI5vN!z#J${$kPISO0$;XjGu3pZK);)<622f>2YCU*UrPT}wJrv<0w(VhSX|lW0rqNFi}ty+kHM ztj@J}Gbo+7VkWpbGgcqt;{YLkCHmQ!AU`gxBdUgS1WLPQK&wWVonOO-ZF0-P@uBeU zgbuC)I^Yr7XZ7#aJ*lsg#nByTehrn!?)p5{3JIszU49`;3YZS}y~Bd z?rKqKll6RRKoR8|d3GI-BfBdzHhieoD0%6y5t-}H8PQJ?bUhHnhk#xNZ$RflB{B@d z`h>0}Ia%;jDP))?@r>nc=Ej(+mx0PN8BL=V>;eZek8jU>j_qd9-IiKpb+mA}YDtx! zW_2tIN=ddX8zwU)=c1ZdCfA-H9QijUddC!wEaV>B+Iv^`_3U1JJo7k#HMZe9%m73h z2fGSz5y6yD^G%W%;y5$~`{NH<@)%WN1W)7r$=0s@vNk>I4N)saf@_I{vm)hqHe7u1}aA_gKMh&%*DD(eG#k4pvTCHiw{?KmS=U+M}Qo3 zwTV3GhQomJpV}{DXy%kas^QG2`y?%%>b1DwK>Ym^j%_-??S^vGa90Rwpjhc#k16v8 z>#5@83)jJAjf2h0jiO8i1#`I})S2yxGN8ph?51t8GVGR)zH*vX`%n6HV+=eJPP4q? z8HP&@4GsVVPYp(#^v=%6b$(I|0k;yu)568~MP1DaSYc8`>N0oBz8O`(@=1^E88_+?Z z;>e?WP6)}2isMvWxX1vye=Cz}n0d%Q@*=5^CLYIpJaRPh&6L?j51x1MT_;_4Z{Qtx zJr`8xz$Ow=-(btTWjY|OK?JUmn`rRuX2l+4^8gM>$Yrdut@R++6^>5*Y{dryC1j8} zTLnK}`bJLfnSZSht3to4Vnz?hBUh4 zH_1Mvj=IT?kNbxo;}5U+j-Wg~U;Su3=~I66>^N0f1bds7-2QJ)@JUkZFES~R5UpgE z>gzDr4|=SE29C<6Kkfp@+(DC>vtkY@^rsl8@qs=6fiJ(Q-`B90b(*%4x~feQxmO?H z#pxbms6W`HGSKz65rQ)2HbVx($5|Kr{mNtx+QT@-*`r%WYu7i<5u0xbd=7-~4;KlG zvzn_4i^q*B)mvnF?t$CDM2n(dEsHhoCq%^v@#Bz%d&LRUiPh_wx_0kCwBoD_Snj%l z?LAA8H&6pv;C|G+Ij%{}@o5qugg{ZXwCwYB%DC3w(Q6$nMg(eE={FUM&hI6AQ<(jP zXAD-wXD5J0hDXxRQMSS>@*>&33GKX|No1nAlW<-9rPX4KRyV_A@Z0S3#95E`MMQ&C za4$F=^$tW&s>~&&sgC^Rzf#1}-1gmSsZ9zst(g%jQ3F$VKLi|{Z2KrLE7X)*(_7Z` zw7b-@0)|132JiMKT?s9QEu#DuNl-=(n^a z*+XpKRT9n_=bZjUccdUP(41#zLpZJ0ic8yu+4pxWIDT`Rw7P{7%%tryDjhWK_#r%i;!g|puJP> zQ^qI1xSdKHD3VGa$WAz$A*b0onXf$aVKeFrON=eX0vOeF`^%$+c@Sy(h=t7xAM7mst zkdq1`p6A8jYs)c^ZlCY}H;P`uaQA!{5YId|0(4I&i}{IG5wDg*=~>>4`2F zL%2=;r!M;7_%3SM!NLt>6YXbht>07`63v(Ina+p<2aH?hh5i$`8~Up2S4p8)7v01y z+lx%8@qORB)|4Nx&jP-KNx@DicsK&>_B`xT?BkL`P5=;aw(}Q3_%g53ZEz7vIdhRV z59iyV7v$6Sq+!TV=ibZw(F!xTkAkO?d9~n8y_bsL;gwq?Vo}?qlCG5eihw~pL+1J@ zTCPb>rcnhKna}RZ*IRM&^WE;*Cc0TiLf%xvjnuS-Lo7451up^4Y7>c@??Rl4mcfw@ zeris(lR(9J(n6DfGAC)O)byj{&MDz;X}6@2j}Nei5JG`CGOag*qEKCTS_0SFIgivSRR*)w8+HxbePar{VSSZhPXBP9wx*(*AJ)(&_PV)E?3W(1 zK%#J>&!GqK)fvHSKnoL!kGi-HoxM0(&Y|BP*bNpT-ErW`^^go{oPTkWnSAL>phWok z>3w(d;|+Hv^XD{MKlen9o&DoIpyda6=%BabzIJbd?Bt#6_L~6I5!ux%oQPXb@wWBU zZrrj{ZGYc>cOgddUE-tahU}V|>-&A;q(4E}{TOOwtbiM5U*8+;nL}JI@mBlI9t~8m zg@Z0WhW&XehT%w;uH(eBD@F{~L+z7i#q9s)qy#?mUTgrxE(TuRwpaHi*zVgRO0H3| z43HABC4BMp!V5;e^JnHIz1XlBe(_ZbJo9#O5<^CW7c%v4huEOqNL#Eyid3i4q?@Z< zbWvEZ*(2r*MszmFEHr0E!`X5B*p_XMa8hcLG?8K#@KKH z9>^iM*k;}ghEY(T9Z}pxe_L$S{uKE|V)9S!x4S`0jQiu&ZN{(_@pp{-A;R<8<~}qw zfW*Z}t*}2)2GO?RDFTU9PvAu8 z&$0ODj&I2HcxpTFa0D~#4++oPn@>k9iNS;adN(>=hJjX^*s!+Ur5v}a{n zR@8pDUnD&5V^&X7%c<%2COX_L#ZBj|1jSL*qS%CaC}q`FtX?Tv6c)qkce9w_ZVk9bCJEd^ydbMcMjJL7|kqPfE)G;D zS?|>`K1#nLC2IF6aSyV%VrX5lv<}cF+-L8; zHzM-)gepaLpcnA9+~&h_Q|&H4C9O|v2Kl#(lb=GO>xR60o)wP=cgl}G;PL~9z`tK& ze0CxL=SpWG<0DcKEk)$RD;4v4OVK};NB*E$F?=o@Q7dhvRG)-fjJH?nLeE@pcbwX%Y~9BxhezYz#W)WQJUx`Dt+XoP4goM$H(E z8I~MqY%-O-3K|TTLVwIxH`I%sjTFUob+o~g#rS>ni3(dS`kwl5=cAf;8cBs?zYx98!ct`SeIlJrK;e(F+sMp0I0T3Y+-& zOQ$Zk=?#}vWDh4b=*9+eGo_{gFcy^DGJkE>;e5`8VW01R-d6EP;xL~lntlxqN{unE zr8)fzw`*hBVFE;;1jrP{YbctA?5l=uF1B7XcrOX-=b7;IFZChCSrh?ydKM}DIf31w z_DOwAcfar~3J}w10EZS#wdzb9G(EdCFi~`R#og~j8Rmxllc_Nax#96Mh!W)G+N)9@ zrR;R-Rv+gXt?b0M{cxY!qdu-?1zt}*?+LV^|F~my;knsGR^;l40Yhrt(kzpdonE=| z%uO-EJKdS#G+meDuOh%6O{kr_PcyBr_{@_~f8AS?YVP!M)_+uEmhY^`G73&wE~F#q z9TOw?Yqo>Ctm+fG4S#F3QiHBjI|)N|qKVg2Kx~f0$wVh;kp~7q#gO3*`G06S?{K!i zH|~FbU0SoKQL|_%s*0j^RgJ3AR#CgPVyit9Kh@UWwMQsL?X6Zq&6qV~CM_XGNCk<= zdh-1}&+|{NT)95iC2`KV&wcK5zhCbw{w2$Z=EqFHz7_G=x3ab+C4zVB44%}T#+)qa z$TIL6`<{prHliK?8wKxH@Pucwy;B?9VSCI5`2Co2IuGwp=@m7`7)RQ)CPvcNAtrOx zS$6%(L${9Ydr^w28Hdo&ZtMfenwFzY006)q9D=#iKInGuu4Dg&Dmu}S%LcQ=@0iHP z6@h*BkWcqUw(I%z^WetY)QLE)Zwsy zSZ@nE_b@cMkm$`t!y^8IKS6GE4)ZV|#Q`%W=k4FR3{+xhA#dk&-nbHx#LAdInjDxX z4#{(cOr}Hkvk33AQke5Gk3AdBCT(@+{hEdOb9dc@lf`s}pM`|JAX0x{dMWYehLg(V z5p&_#{*Bb1FroC!Rjqb3hEo%~6or?g))m3xSNfFXubHz;a+$(yg@=A?!Skg4bSV7J8WDqBX}0bs_>!r^ zSP!D?z#Z~^_9%Chd)1GIfV#N-3)1W<%2$kon-ynl-dzWJzfjS?Ipz8Emz%Fm48?^7 zU#Ylav#nShDXW*RAKxQE2LjclPcye3O+U=hpI!gJj$#iSxH!#P)BtXyM=;=nTpLhd zCq!%1zrt9p+-W~KltoTplYtk)N3jr>Cchv+vNVEJ3X}yvWXx$w|0lR z8T+<>N1`QFX6{9kCCouIFIQBsh{&rNZ-cTc_89neSj8 zcb>?tXcIccSbHI^SR0}s>Ds{^3zo6OI1z+h=FzYqP}$?FL?*Mxm4Ug0l7oGj$fZ? zqX^WFaW{#O9sW`KDB|sq*qX7Hvx$vW(Tc2T0kr{ZVk^%5&)mi%{qE#cxIeCg3{70? zG=YgMEH82XAXYl&GXZ?oyDtsAgWL`dHiod z3ju(w451_iD4?AKm>*2ZBnLci|Bqf8MajI(;n(1Fgd=k~GGW>xk|9Bux5?YT{irA= zb;zaXFfipu?CCdejj5>X#|%O3TOES!64<*VDPGHvy4<417CyBWEJy21+fkkq)*{8d z1yC~ysaMI>Etd2VUuD+J6ZaRhE3-Cs+lC8tc3WJy^1V6Ymotw=jG$$ncz0d?PQlDJ zAzPk>3uz4Lu)9XOf;eu$Oh+I~7N~Vegwtra@(d}BP=PEkohq)u2pZLdDru&T^haAh zBVA=}hW_q*>l4<9f1Ah3Y%N_Jl9CO$`Z+-zarBfNADOTT_G^yIeE*?qL`5i3z$}cb zxL)I)TT7YL+<(6Z=Ix>;<`aUZT9T=2eV*LdV;3!Dx3*Q7A?WQV`}P(XprwfGVVc66 zRI}YJf^KvOT&UrBsBN?~%yR6#?%PTG&(8-CqtKh)TTCCmGu0`bQ3E52^D(K-#n}A6 z$+m8#o^3fEDHOdHxtKxVQ`!@lcQ zbGrqokU7yh;CzN}Rb0NfoWu=ne>eilRKaJrW`k$C0XtyVX;5lH)IGNiv?Ay9EP7p4 z6KU-82kf+pI`JtW=hD#nF=J?Gk0rqN*J~l{PRol?e>39cWsHlS4YBj>A8D)$q~VJ9 zR?c$3D!OV%ehzjsL|qN6jYGdj{u+mCgg5MO@rR#Q%ovNCTA*dlJLV(J4lv5kARQ0# z)IWg?&$e@w+LcIOt;ZYUfyS7p`1lQfBe=p~w>6dlk*a3G)FX=~LgEN6Vaip7bjvav zVol{_W%rDoYD^tGQi#0gc)u1p*S@P=V4D>L{dF$o)*Lh1jqK}oW_LKE7!LCE{{)<< zfwV3yqLu?lY8o^VdeAYd%MF=OuE6)z$YGlq5BdfCht-@WB&I9DJoF)5{HBKXOsxE1 z=Qvc-f4|HqGuV|?WzN+yBcvB~0m#TVn&+<7Ab?uM10LgT<$UfF71al;C}ub)?@U` ztVu??4j=via)HKx;XK+Oiy6u^Oaj$3_7W%*U$qXF61EiP=p6?#>)>Hc!dMpGo(Uk34~+b~QD z_3NntYmqgLm)BjR;Y(8r-Fhq9^HWP%@cKPw#{7eG_X^(+gp#G`9^mgbTX67Vhn?K0 zlez&kM6un@87Z{NH_$%Z3H&7$%u4g}9rD6?seN*tnf4D^Q`d%gFRYqS558K!tIZ*J ze8p;_x2a|X4#`GuSopTzsF=pT)2sYV>oGzjhTG2`y?_|;bHG$KkQf$er$MHeeu&!o zp(7#AItv}vIKjYx&`=YKFAEjCgNrNajLgNCK6>*xX7>t1R)dTVS&M~*4|5KC=nk+x z*vl&`k`wN`j=SDocJcTcRfSr~HAkNO&%kT7BFaN9(>cQ2)=lw4FEri@eSGh{Wl4?9 zH_8I)9i@QI1Bl>nQ@dv^Kg@;-`8xfluE0SfQs)`FKT*Jd2a{MK=+q3QK;1wHd?XWJd8SrRWi9Z8PGXV%aO( zJYJg`tg?T&dLy_vPkt*}NsLkxq&DSD*oHed?5|o60&FVGlY%1U=pPmPr7LKuZ55-i zRrYem*#sGU)VmCU%)uTJs_{`~TMNbET=k~ei8mu<6@$IxeUhi*kK#RM?J+67J3Tn6 zYzDD)x}p`pqk`yzp18dFHKDaxAI%q|Iz79$d$DfU?e}`$3h%=lEtE#GkCbLfgjQ~; zMhrCU8eek7OE$g}l#WKYFm{jF9ex6Od+@Z zYf3kY-__6(Wk2kKQYGffi}JLmTF(y(jchs<&$dDWDIFwi*P=Q^=_~D$H|R*>c%0DX zS-C7)|A`g?e+$nAStF+i^*o`Gpg=r2tY8esyUCbjBQ5LvVE^^vNhi_dAe{< zGmo2Ymbz#sFm7OeXmQIt?_-Jhkvf95ciHlfw7xZn^ zOhxUD+0*GhzSPa|H(>br*Kmf(E&G-IlFC|*-9=_@5crq=+OT#3^1;}WzO`c3eT5== zFOX&m)Q}R!-1nHm=f-^Tg7j0V)5`ryYb~c8-`WEH{eN)(Z1VE9o~@VFwmkU=K^ZSA zbImDl@J~#s7E>&ZSF4&eg1-dm(^LL!kCjy%^&-f$BUy<2pVhG2!F?(9tAZ{F`%m7D ziea9;%ZA_TPBsY9>!N|Hjoz_>OYN0N3yji|HKc9<2HZJsKr$a6_-*Q&<*u|KFcZ@S##py z%WRa>Pz4R77f9|DjFdSofEug>fr`en9%j`cl14ucV0NOzS)!J{0(Ve}U?!%F>z6~$$ zZAwkYI(>|Yt+z!iTqX2_R!E=fY|hJCI&EGUcJl%7#BU?Zr#mzUxE|bU=Nzg2SeAj| zTi}1~(fGcpmNev~;BJ$~+EumyZdQe^f5~EQ^j$96)@Of0N=Wb((g{>g?Jn+lr z%%kD9hqtRFa?Y|MqdbAC9}llL#p=~PSvf+VOP8C?t64!f{nVkHMB1}@Guwvc;14U6 zzh5_1&eHNIttC&v-+91Jh8xd!AK_kveNND_C&#Bl`JsH83o8r$+%E@|Gq;}Xg|mSw z7F8alqQh#@42rw92z1(XsTSwJ=)lg@2{?dz>gBF_q3><Nd(4Whux)DR372aTwVO` zH@a1YE-2vuR`Pi2OWkN-4|EJ{#E*U%VGjnw2|Q=eowE$N-lt&i&B2}|%ac7Wyk!iB zT}812kk1q(Esv z+^tZ4N@w%h&F_b+Jo81qI5ox z#5>yEMhmGZ>CQWj^f~lBe(i4iONe-r@f4bQB3Q}#gJ`F9k;nPh+@v6632)mK>RN{j z=DzIemR%-fL|yLqWRs!6Q0pVat1`4(aO(i?lXHN+pM!3p-9@MVK~DOy2bvxyyF;jx zOnXCc$MlmTO(1>M@p!2?xKQ>kFMMz8s~qK?f15rp^Vc{qaM_}*4`_Ao$>CHb>BAve zzRfEra&LKm(8Xiflen1q9P{mUFl6QQn_blSaL#cMg|^_az%bNWwVCn8@Y}bi_u1#m zhgx}bd-qNQ+q6Z@Avrebz%UIe7kDe_H~dZBTB&RrQ{cj`a$wC4#s4g;_m!wXi^2zDem}rn!iP)SDSVQ}r9ADB=_oPnp`f^A-AOFu~n;!D7T?1#0sv zc`ex|eV)^EyuH2F6Gm05HKf+|>*;i~^v_qZl zz&GdAs>I-xr%lmkntJmR7&?*kp3-7R^0M-^+U$LOVcchSGsArkf+&Hbqh7NimL<8= z^u=w2bu+sHfAz>caHeUSuJk-<(`Dg(R8_ z%Qv142V6*z5RNT98F3TdyvLHYdub%|{nsQ358;NN*9E=-Z$Qh21jNMAcD*fQ8@tYc zgZYv)6DO5q`1k0%ynB_f_lzduU?b#A<^>hA`Zqd{VqD+6FaoF)b2@kCPCfkjZVK@r zZ|W-JZl!7Nyp12!0DAv-h$i&-lyCun5#^$5JD-wXZFYS*;LsF=(0_)V_@V##IFT-- zzWm5^qLVzWxP5%)(ATgZwrf~d6XSSZvx)R8x(AQ%QL1_tHAj`M&n9|wNyj{?UekXc z^W#sn6{B-h8x{r0*{^}3^g*eOlP2^td_ z>$k==U!kUB=_vcH04BDiAJ?g}!SsEf7Vt%i?YD@P@Wv5+WXr-3JU8a(>oNQRA0fh7 zXi%qqJ=O(ifMeQkW*RPu%W>-J>Xk=962QryXmH)l>bNQ_Qx)7K-OGE04+pj?1e}8G;-qqkr0u zR5Enx(_0vBs^1yO#A$qAG{b3ewK0D8r~c&wUyF1YPW0%#2e0wy5jSn`t;KR4buGb{ z#V@<6oa6Yyo}A?jX3vJ=nEaD?)HHEhXN6FHq*1!9v1O6HD74&R^I|~TFP_L_-4Sw| zINgaWOyO?20+W_!xv52Ehs-aOl4^XPx#x2w$m#7{C2>5OPBRJDMtd(}I=q{&HBq0!4&l2p$T-&W{M zN5hZ{bo!L&NscAUP&)o(0-t+*JNb^6z(xMd26oc{zA7}P3oVMYRjuaxS0|R7X)jOM zwB>-66v0(C?PUlVpJ2W^kMN;IRCvioR-`d%%bB+UChDA}#+z^5O;g}59WvKs;u;EK zGW>q`en(%d*^TFKjmVh$Bk(<=2LVdhd|R-gSVb zK+Yh?K^rO@6fE$Sp;OI{famiMLJ9JkGfFl*B`5e;5wqVpQ~=Xk9baTx(0Ao9&4tvg zv$_euR`5&hfBT;yZA*SbCE2~%4ZdnGBdqQj+b8%)Ha*v``veAC=0r@Ee6c`-S8LQb zJ+HWswiL2b$5pL+W10mqc~ABPZd zDWcfNMgxYg8}f=hfT>ltT_myo$)V6=e(N2|W3;EV+%k0E+z(J^7t{67;M00zC3D0q zMUFmwg4{z!>>3ro0`OBU`6a7IkE%>!cScHU^*8R~UW%q%tu^^nrz%)0%P_~nx-#BP ziKNsPn#{sE?bt^Cyh%Owt1c=ze-@tQJpvkP8R7pmyj&m{X+7}QtPnCQTCwgfnC3;}@s=Icie^BP6fL42QgXO>gY8%E|+kK0+u zVYkQ26LlT#ZeDJ-E7@?-HtzaTKR~~Fp4}qX{|@+su)F@IDV^r10i8c;{&y&RdxPV9 zzf4Jh^+Sr6j>{}W%R(OSjv_~+<|))UJ%;DyByz_(TI&F$ z-iQC^-|^eb(n`kncuap+<#u{4=v3>p1w#B7dDnvvJ?B|!!M-`#d_b4rZa(klKqaX} z^Et_VCf6rSqq!?^cC)gEZ2ku+40A%%Ro{5wQCi+is( zMiK=J%p5X_x6Z;A6*w1v;$E;0onV|`3sowMhrpuNnJ4C3mfc?V>MmL}EC111)_RB= z?xQ}^aCZd9FMGA@0OH)A#Hh2Rx8TOyj_+wI-#z>CxFUD^O3*H{Ia1)utbTP{`s&j5 zrOW;mJ-=!W=oUJcT^SwyNoLa_;L9#x(a~1flVzfBGM--rIy=yig!AmBT4SMd`MwKe zZ4yH}EA+{^{ZyDEC~z2r(n`guLy$EDMF@)Kf*KE#1`qJK5#POeUFn?qj-_ikW@!@9 zM_<2;E9Q5{?X$hLU#K`WaJJp$Mz{S~PkMf7(F5aV`=#eD(C&p%TVN1Gt4=6!#qP(W z?8brj*ScAGI;8#N%=drAto7Q)3OUL{j`MtG{vH*)3{3obyPZ`7wJQQ3j5;*>tQ_^& zf+D70cIwqd);=R&HbdWn^c%MhXA<{jSqr1wHq}X9&#< zfp)d}h=1shpb#&FBb@B~WrG&|+Tk;?L2CQtKsE_l!t1Eb!x4lj^86UdY?Hg?!*ToCHXJPZw<)s*%lRaL| zk)5OKWxUmdkw2FXIFrso+c$}UXWUDSCx>8_;u~LP;}4m^JF0wps{9|yVEUaEDgD>m zMOOazG)mLn;qz}d93AqyrK)OJR92>yH9a|yM4Ko{o3c3Y%9>{0o3#p$$YusG9CpGU zB^{jf)h0%zVDtUJ`$omWZ}ea7KM~5=kjJ@vmAy96;r!z+W??syq6((2l>kdk11MS3 z3m8ikQ}~skKo+}L$Ya2k0ZCO8-ua>a=fd!QNINlCSjC?I2b&%(q|0-mlg~1vp``l> zChH~OPsn}caSi##sR6AHU#0eR?PY+R{J~be%D{p8A#?SdT?*k{>qMDuD&yMAIS7A9 zb-2X(f%cXdF0C;2iVKpnK(bsv#xZ;;EaJ^zjJBLc3FV*F80}>O%ylISpJ z~f}5TZ&#^QAArn{X1{WE>!*`LJGZbFBUQp5oVM z#jauW9>A&oB;s{GSa5c{WW4M*0t^c~EF|t0EXIt?W;U#deS(TZA?;_zx!t97lVI zdp#8o;gOSlQ09NHY%D~ zTwNIep19jpnq8>XkqJE>5Ew09xf5fJm2R#_HIQtn`Ik$Fk%eVxQd*}i>g)cv`(kMM z;EsFa0anEpzCD`VmEU?fY+@aXg|}#NdncYm&}5VgMEcn7Wt~gYjrCb_PD-Il$d-z= zuIECZ0L)M3Xq;&#z}zx2+3QJM&h$^X!k-I*lL}?Td0_V%dSEmCwF}L z76S7`kwz@Y{85K6Z{O0zY;8$z5rB^`9e2Zc+YB$6 zX0)Ynyr|xOt-5X+O$z_inrWyOj}ZB*_IYL1k#5#ex~lpnl-k8WIt*8eo4(acb9#}9 z|2p2jj#_7m$Rzw}Nlj;E#3cDI;vby%3eb4xo8h=R`2D6;%2UKAAD*V};BC_GeJ`r! zcFYdz>;3J9io8nmvNn<)3rnESk?Fu@CQfLp`*aU(y<2%pJDIA zUu2q?{cDW6Yg(ZuS!Mg}$BVvY;`EQ3Vj9IAe}YpF4ul$3la4JGe10Yi zP4iP?5jW=J>(Jl>{MN7JL75G`w?71w$3n`i2eyQT+PdnG$P^W}S&hD6ExluYnQf3F zHV3O6Cj3)uCACpwLV~2__>snJh%yo^C{pL0q-j#iPMp5jmJyM@WVX%psiiUCv*}+N z-&0L-QHE<~{u*K*%bb^Q2|4SxN{aqmRK z>~m|*2QMq)tBtQF>~iJVe~oxKm{{F=dqBF{^p?@D_OVih7&ww!WbIY~05{p7LRlVcyn`mtrs1ZFoT^IO7H)t2fmsOb) z&(GQ>XxFOeLQ=FGH5-Vc=*##sx2Ra!=wIQkhM1qSkN`Y%-Mc3oz1j6cwpK}kk@0(% zl$p_|lH$UqRfhP&oz4p3h-a!Zxw1|lDx*c&z(LIEo z`r7s5urOa)&4}Igsc5Uzm&~)9>w<)<|0|4n+K}iBcER1?8{KB})wWoK<@QCtG!KTO zNA$l%2|J`$5g=ZqaCQ7hbht7v!)||nv(Rl)bTuYX%Y!z<)oJ=RWia@kD|5nqQ4ScH z5k$K09}079i=g=71BiZ{%9vYQ&no{? zIoF>(NRiu1SaJE+70Ka09___!2#^-&HT$M}1*1k!hYSf4# z3OYkE#wfn5^w0LInF!hNaq3)sbjUnG3`H0!znV9odkKTOjY2Z8fs2RqqO9Hjin21O zf@NRsfaimjQ}TyFi-$~%yC5!X4h2$jKbbo$>aCz*1)YP?yv})JG|zuX`GvZ{@%tA> zsj5_ZwO9YCdM$OJS)DgfBV?PfYPt{S96tL<)v6n78CJ|zU$hd|(bB`T_&Y--wgh6D zQ0N^n6H>q_id_f}GQv1H3In2SZBwi&kFD*cdP@{F8xu$TF4$*!i(=#Djjnpk)`&V( zL|vmhA~*}n?uX)eK76vIio=fe-d-6lUd^;M^S!i%yN#CWP~O47ns>d0uzxOcRa8G% zc!L~?K!xmxXG-vot4+a3DP~8}Be;tPgx9$rl-rOfLUu09(SNF5(3Zt|G8ZPFIZ|69 zKKUTq)n5U4QS)}x-RENY$$sLloy7o{rdiufDPWxY)ZxS4vj>gGv2`k#phyf#FZ0J0 zqa3IF$hrCa`?Qm)EF?B$%?c)c4?G7P!(RiN&Yv66X{n!79pY(*k$7T_iQfrxaOBP1}FHoLD&-9i#JoXl3eJ2Y?MhDThFNC`mtx7*4^R?h@;jV*TZ5H1jX?IONJ3O(FJz~mOs#oCYmea8xHmtFCP9> zVIATocl?GD`(%Fa3Q=`VcIi)2uiF%a32S!)o&RmFXis$C~#ABz$(Z2GmZ&{WB&d>e($T#Fs%yfs6$a6Z2XJu?seez8bS`iV%7u&lq zuCK0d44zB9Fx-XTJo*%UShtG|T^{+Kp;J(^u&v%a+O*YrjBzTPegV=!DP}*hNKqoL zpr(dZPXqpt64taFeLQ}@_sYWX-z+wYJD8qfDP#H=)`kcHEFEt=SY}NpUhmDV-gu24 zIC-1D8F;We<&$6C?_1qc{P`wI6exFo$)Uyi(HqjOFjhwSx6T|!l^5iUs*rY9YF>T z^>2F_Ei)Tt8a$ucaosGm{jN3sb^0wtPqBVx%S$WCYwhGH;MqGUlD`-1J72&rsspnT z*XlP8Z?QGa(U16h^iaVkoxqI;>wcceLyOSEi@IDnP>`tV2d{|`^9eT2(Vvivhsrr# z`U+OwK?YqVb|iv7{%4!nXTdsJ?PSAeB*L$9qC;$nb%!+ZF)ZF;3}0eI825*Iu<4SM zE1B9E&a^&8NoY-=-)VGf$$#{|D{RWCqIu)!q^X4((iJ-&PPbo<(k3u95l*+%b~4Y! zGDlF>TYGgJG+rcf^VxyKZp?vP8~Ep(BiJ=Ue1j<13BIirJpzLc7~%}&paHC@f38^` zz~Z>xYzPlXq1y}{EJRWD>(S(x#Q^pel@!@cF7}2|@~c4&$%BPZlaqkJsJMB6mGqus z&u%0l*fzG~bjws7c@iH!DS=st6ReLMv#*SZkr_-r=)Od8f{8P;V|vczZN09I{UY-6oJiQ)v-$4x=`-XRD|Jm%ft!=4Hk~ zH)Ag7WJbr3lT&jwZlbUqV+GF3yneEV71td|Q|A*U$puP@Z_@9qHpUS@X&3jVzZ)O@ z?OesEbA`pQz0cLFU?xg@mUi>#V5wuPn+5EB#XCDG>5aZF+>_rx$)?{|UsH{BrO=@- zpl#}{S}(HS&)NBE_q5EqL0kLKB8r|}aC8UNn$zHJfV_}oW|QE6HL-u!0$LYSt=v7< z98gXp026%0t5yt@D^AiE$Nn(h>O9 z$R#=?l>{G~KP}4~5S4^-@Q%7M;82f6RBo8T%y!vQ%15JTD0{&m9ky9AE+jMV>qMwH7A>&*^pu-!fF7M=asF$Ce5 zr0cdeF0xP%P~|GWB6WCmhzzaZFDK4)C)``oKS8r-%?P>{L0B=cuuU;VP&rgIRWz+M zqt!e68s5_4dMJ0B-9+hTXkF}wGS(e>v-o6#JM<1S`;hn^u~}z__`v219b@mM*JaXQ zLt8@sO95$6FM}N(#Y81OTuv8p0(@>2yz>h6#ZHJkCJ&A+?3Wd_Y8L>jcOy+woR?c7 zk5}kAjCDy|aM|eB__YFTBgFJiF|16U#w~4b1KZR(vcWZkY4X9A0z`iq!6z1fRu0v( z)r}^==D3!a@MWW=lbT%KD^@7fReVpbKy&ba-M-PS;C^=8yy;(+WyqS`%UClM+)B_% z1m3bfIHmi&#@9L_gs!Wcx4T6Y(iB21FfAuhZ)r~DkA+7Q+2rU_lx{Orra7*bgBH;V zjw2Qj6_1{IRvy@=YjYwWrj*~?4DU)c}nekAsL{IO|>=~FC6-PCqf9d(O6g-s%dg6KnrpF0|YtuDHk+nJ1 zHY95M^axTc8P=`ogvEtx%^IKNbDi!_p7v|*{YVFncxz$cE zA9MIyvYsV6Nl;|=CD_Zry%NKk-p>D&)0)_Zo2FY#Z7p52QZjut!-9D6R(1&{nz-#8 zQ|uFHA_7MMvD4|W7j=J@tlR38A7)<6bIvu?5sa-;dOBR%%$6DSDD3RB5+vHI*?gY< zZ-#NBCU=#1T6B|4@3cjECNDi$L9j)C0p7ZB)BhGgEADae{TBv$Pv!BASIb*3mhEr1 z>CIqnz?STO*3e&pqB_WrAJ*?&_-?9q{ZM=LSj2le*0nYL7#}^l%=wjN5@pni6{%o% zI;-gAki@?}VWM7+FuF1C*+kOKRKI!f`c*f4rF=mEwlpb{)?T19=EEkbrc-`!W9H+B z;1bv&+s*FhRAc+k}TKk(m)QwNFm9k3NMQN33$9U8?x&Txb|V1Hb56puri((jMnBfH%~ z)HHY{->HrV3Mq&h!ycmNO?)b~Zp6BoW^KJ_?fx()r?Y)i%E-)Jid9^=T%TbVCXz1D zn{IgmJMt9kSa$!K1<7(4U8aQx{opQ2Z(YB8f#un?thkpq?cAcs$-EZtCerr}!ct#H zq*&{}yHDh`+~#e63oe^d7m%jD!4uOj*hQNnG&$*WGr|}(lRps*3U~k~3ek~mbN-dP z3XvC$$rti+p-M>L2SbSs=j_a|!jD6urg6@gXY6k6Y`O|iZcUls6gS=MLbL;YDnyCK zDn(edx&zWP#bm|LP-$5mS@l__Oh{Mf(NYTv5;fPB{nS4=Vs!OD1e?RYnr1i^e`7Sd z(C!W+?B=5))3|~~g3t1J!_5i|F0FY}hwo;$)}{Om-%Zgjrlv249}HT86=>XadsOT6 zJ7^-$*$s?Yx(>fe8fO7o7^Bh(TQ-DyU=z6M0uNEZ^}TYpFDl|+t2d0cSziqqFb+mKN<}Dxa+814rDu= zjp^PwjGL#KhYog}H;4^ClP6msL4vU5pfFFdHkCP7veShm1D%4^z1RxVk{I$3^)s&n*IcLk50?3 zSrisaMm^SfMIu8+omlL%DD(@grx?0BeDfGxAl${%E8*}{y1HSg24U8q3RkS|iCaJ| z*sr2{i>D(r9O9gp{U7A_TemBo$R+~WYqo6aOm+q|ft#8k0-4Y%qQePRuNfs^hp=Y} zi;#Do$sn79KOiHfwkZbD0;5e_gEuhnG*iSM8Y?m=5^0Wx9u@b9)PsUUHAwm=!aH*e zxTq?ya00~ua*FesMGP+P=NKxDWqLitEiZlKZYE{%2b^5?yR4?sDuQAPqr;j=uFE3C ziQzB3?62^855kvopS7>iwQ`?ayOMyM@-Wwvm^KDqFERA8`kmBLDdri3qmwqPX+j5#k7H3q%x8rk95xalzYd4*-lxuWdZJLvGoaEAxh;L5pJ@RGj zKB3C_%c2Q;+0Bvl#_q0&x2FDLbdJdA1J&6t7_I~3NJjF-Jk;@07KjH^j#ZmUO(;K4 zR$?awgAlSnLiLFoi3gX$V&_Acu1l}jjgv-ZH3!sC&%3<{^dRM*lzbmpG!6F0g*>+KZkwxU7E;BLv0f^}gIx|35W=MC>cF@y( z@X?d`ut)kNTc9c%&(7wj9|mCAS;DvGqC~p9rjr%Wsf2#&e-cLRA6fcvc%e}C(6*2( zV3C>>?CApk88y!fWdM*#kU2WGRDLzc&$29(OQ~vy=3`!z5%y-nB>`S%P zTO4};yEw*2$9L!%jduAh{SsQ?r0IN@cKyGme>9vyCWTiXZ+Er*hKh^u=T-`T{;x6F zG#3TSvZ=|GaWO0WJ!DUCbnn}ct4{1)o}_V~S*qJPwX_Yg2owAiv`7_q`l{Y0g19Ee zbzkRm8H>GLDRps@Q+55T-4H42mDCL3nKJ#J5Rjl8q}1jn(4R~ikzcuFm5gW9{(a#dngFcnGGpY$(*Q+b_qx;@n9J-tG)ev*NpC=G(#TQri`t*7 z%-}mw+4b;jI*erw|M~%c^Y<)=zFf!5Fg}tFaQLWYDaq&9pxE~JCXowoTt6TVmx*uN z(^naAM)0jRd(~`Q^}NvDPd`;YCly-5 z;;6dyYs;Xy9cSl3yUW=xX0A7AT8Nq z9x=4As#{Sc=KAcMYVxVFobR+I8fj0)&%&=**1jBSJ$|M(as!yq3!lDge3+CgelAXx zRN-%|{Gl<3VGsCJcp4RD-MS*`-uhUI`4fPm!7WiAu#dht%N*sh!*0*DRUY|_lm^D`YO7U5m?zu~ zLuNY{m;QYB=;_|=QhwT+Z||-5#NFg;FFQSazVi;tJtu=^ z-}@MTiv7-sQa71S$#g31VIqQWftohsS0uU^6HisoWWLZ(@S8pl41xunlFR08p4e~XESsdxyXp^677~Z- z?qV<3PhIwq<$}H@f7-LZcc`|4e7Aq95L31YjU(1uBez20$5h$pj^jY2YD4Pj0 zTHV=y;~ey6VNew+gV3MTxT;vO!)$jNBlOE@P9WP;4?_OWiM>tx7Gw=BLLq+1?EP3)gOD)#?usxR+M$Q8W_`41sa z)HNJcpKJ!6vlf)o+4ynAQ@7q+gq;6J`m6mch`k0@v-?wakzSz$?%D)&^V>gr>Gnb4p&k7|Ze_h6ralvlyg&CtHXm<5cairK4 zVaMK@E|Cn80{8ydsm&MzI&njM@g{<>PQAH*gI^uVaW&%dCBBSjz(u>dXyZ->C;Z@C z{XnL;|E`3e5ocV6(0<3$`UuD?Ov-mK@r!FB%Ren;oV1u5nnWuZ}5=y;soObVQMqjLCsgf zdT;ruHskMvt9C543c4zJr}z6t#W)Z^79dSAp+0 zPN-2LH+6(JJdO>V+VK6CRK))xc}Qs*($0GKFA|D(@Yx}?)YK3J>Cs^g;-dkb!0KxK zn>C9zaTKS}t;1vAjgT?&@c*!Fr*$Mv6k9cFN{qEXD3}!z3%4$x# zK5|hm&ooZ$*5Y6F3TP}>(D=Filb2cv=Vlyce^#SS4ot9_d0q;{OEeRW-Gm#X|1q6; zl>Op{g3d%BFz>$W6W!XEioR|$#tL#MyF1Qal@YNMK4{@ocm8rUGB0&Rbb{c6|weDkD{reU7LdwBkEz>LxmLmj>^3e zxTvcGis``2uC77%e=#@$0=Qk4d51kfwFfG>pAkpWuOCr-UW6}>tAR!t^DltB+Z z`G1&t@2DoW?|t~HSGg8IK|s3F1pxt(PAoL3(mP03TBMgiP*Hl34pKsIfzUf7(mN69 zH9|r!krF}@LVo#t-+$h~EY_wCYl0PPI{c03$VGJ#gCS`0B7O=rxVo3Y z(?Q|ed`YBP!1{Owpmi?;WLp%rv73gZfSsB~t{BJUNKWqPf8`unXdKv0*B-HgnRY1V zfvH#^&!+$UYm&ap-)s$DxwjN^vz@L^;pFCnZjly#IQ>C4cGF{&zE| z31B};A;z=VLg5`qdFf>3B}{+azi(nuVG7&F6%xSp>-#>NL@WDuEJp zWk6xVLBVS&df_D{pl`za>-l1wO-%Dm(M}69OWpx)9x2}s#oGfaahf-todDOCdRmyw zz4H)9H`VsW-_H!Hc-zMd7Ag&v=}efk&lc-nyl+z*U3%a)jTkUj8d3N5R~TBtJ%q$j za~iH_Cst&$UhxY$%zn<>T9H@Xy0mH%?za1+y!zxG_>DtFxgxUhiY+esSo^-uKd3jE z+RATNui=~}QGXDSy~Z%Uz8ePnmo_Q%$$JmwO8e%&C{hz1B=uYN*J%BaFF6Ff1Us9sIKb8y3!)T}?wb zh%hT79U*@A*jT8`A}UYzqaBCkJVF5gnbbKU#lIcs%+ zrBz0z7*txi3w<>>#k08_m?yk$#H1H}8rA~o2EOTg zkgC*({CKAIzZp=%SaP81E~B9IPM4j7>-UNbsAhSxQc;UwJ+$@8^q?w=AZxm5VnXyUSGN!oa3}1@21EZCsX6t(%!r87RDU9!PSbVjcJ2C)FvaE{ZYj zV3vF{S|d>10k}g0t5TYb;R_`uvF?6MEbb3anwU2k!6}iV9&mFh!0Yi6ew(7Y&);eW zkDa+0S{^TWY23Gw^hHVPDtrZppIU~NpAjesIH&6#jjO}YQ=-4yhsEmZ#})v?&tcbK zc&vP!d01WbgU7c+}LUUW#9 zV9P-78D?iwtDrkSpSan#|I(Rr7}sv`leRAZJ~|03gi5m-_Hn3$-6c87QH66Z88MkJ zxG!7-QcGbFXHK2`_tZ_B?)3XLV>h?T*~!y4LWTty6ruW2L;APVs$LWkAp+y zd70dtMnao;+TM?A54ZogB~Q5C-sg9+Q`cOYt=BRy2L8=8nqBB z7u=r7qj{lq;W8v04+O0steIUo6IH7OM;gt(sjk)xf>2_8H-$wFKHRhXOKwE9G$9u$ zxHnZ@&^?!NYMVMBF7+bfL;lKQsz2fzn^4j<$Yt9_14MFFYEM|U~9neU!M~uE?k~J7lzTRf;gtXjA$c{=zsUzYDdsw&i-Eoo6}S z@r`oON+m+FuBp}#`<+phS7D|zH7x#%AC|3`nD%TXq@Cb_DxOfZB z^~zzC5&dOT-Pntya9(4?HrsnF{sQxhmS4n5*ra{z6jb@Senx^H`cBhi^nO#U$#7~_ zLPdUxtsq70j0?Q7|5>bA46K9^2F)zyius<;%++VET7mG^xFnO2`_(RwEtU+_Xyo2D z+n4s4G`}kSBIYe)O>fEKd_?QZub^g~*0pPD2db*tdG(EBJ=X8!affH7^Ea*h_tZ_B z&esyhuw8K5hzxhjci;HGM-9rJhJ7=2_pzm^VPm?$+vfCAZQGYK*v1<%kT{JVi(F>% zi0ok8WlQ;Nsdqw7ksBlXzK(tUqXetJnwW)?N%3>j1*q$IV?r5^o*Z#555ph??a49>;3AG$L1UMcX)fjNij3xPKZd0b<>wK;_w?Wzwj1ZSq|b2V?z1Dlo)i&8uTLi)B%7NsLK zgKT-aP<#1z7ktVXKr7a|u|xW)s+&X18x}2=#6yjKV4cbKsF1n1q2|aUlezq_om>6| zmYbeT&J{*4qphZk3iDEV)l7VIC(E*_Iw)0+rLDJOsO?b-fHA*uLpNBvdIRUdSi(I8 z`oWQo7voe^*(Dn(cs?4i<=pX>des_r>ob#ikU@nte1{2N2n0#dZ#I+QWi8h#w?ALDA9LVnhz6dn@6 zm7^QhK0k%|4{XZ>lAm}O79M&N!9NM;GhTp#uQV^U=bC4}f#q|c>9(P)hhKAfFWrd^ z9|a&%xf|x|6Z#aZoSIPh`N{kQn(+dO*R^D;NWQk>ZtP`zq-3(=Yu+z)o5?#GE@YZy zD>pE!EW$DgR*)Rs&GtMsi=J|j)@qq~Vl8Ab$xv=_z_9HMjj6DRpK@T*WeHg&!pK5< z4l%P8_p5^*7lm^OSwan(n@b&6v}v4^K-=w;{mQY}CvN8LcTbJo+$%4Fs}MVlm!;R7 z4h+Un^QIndBDSUGI0hjLX-1)xYb#*&CUu3kO*(WjvoQyU51eBiI|zd&lg`tkm@6+-8L`N!t&kY^%fTMlKqq( z=?$4Cfdt|Pc;HhcWgWYcIk$`1W6NG3Ekfq#Mw_WEAIpyBFl2kxn>?%1-sgL=a|Ep% z5DJ`fI~MGGgO8AR`+JMv)Sf{_x%cjq#*4|u)s%Fsb=3)5HJW5=f60TgZ3-t_<0vus zK7=|&<_ynkOni~Z@u*Z7?#iD~m#hek4WnxKAX8b zZ#B(`@|F;;vA~vH*d(Ls<{S5qjLF*>I^XlI>02Y<_@=%Z$535XraCG8CSAclC~RmJ zIj?`9kXl8x=P^=l=HtMjdbvNqV43e8s+%7U3-=JFq!tMqn+XtcG`8C5$U(9FY6)}BH{Q~f$i=J%Dk8dk32y~yqxOM+^XE}OFP(v z`8WHz`yDEkzE^mw9~d$L9aUG=_Mabni1=GJwe$+%)GGi62?uqYK`MR!jY-d^Q-Lyg zo&U_Ds6q2c+4~K8=#ZMRn!5Z&Pvud{kkStRr{`iv-2qz#GMyp!WvtJr{ASWjjY*y; zd*aWGDk^aWGHLd2=9Soke1)Dxt|FmJnltMLBw5@C&uQb7CLXL9yFDLSm)KPxTa@7B z>udDn)0gXaZt^>Qdianh+`yP4O}|crIh8s2(~Bs->7zLG_GF#4(bX%(4+hmzgd=3n z{=qjecXMLb+7j`JDIg4icsW~BeGCU-o90L`cgT_pv^s5ZA{DJob}vCzW0bWh$bmM@ z>_EOW#HZ=6)uqIyZ_tD`<~UJqEb&*wayrmb!UN-);++YqAZZ_GE&2xYlugQOC?p*) zZfYj52o~n-&6%CdxBu)ENxc%9`p}H|EDS%w)l(NX!V1 z`mB^p&(oFjfOIJu&VIkUQ!lmEFXb*QWTqLh&-_?UXo!U>HYSe{uMUKhi#mwG`I%N@ zt0}-!@m1ftP{kx35}4<@ZxWA}>iX>irI8l#3ifuPfI{RwNUw`l$fkJ?yphas-Tx-j zqNvgPGF=(Wd^F=@9`#!nXRb-Ps;Xf1=DYELnn+>m@Oz7Luef1vFpDhH!+H5uRBtoI zO2AwtzEUP^4*-&}c#9%fRM!wZ{}m|VI7vN0j?K1a4!HZ>?={aLI9~(iUHp^!^~kz- zXq9@@_4=MvwTg59(+Mf8Nw4*Oz&f4uYQd($Mw?{<=&41}GjiAdWI*F20-&#waKDx* z`Z0rBb3f&ISNr%jO6<^IBA^n_6_?IC0Gay8)W9cYi_Ze%rZv&0>aXC*QGZ6GDij z*Vq;wxrr z*fLds~yhlp;nw;|Rj(x@5&xZ=e_ei{ntF}#~-RS@#^pItd(_yu)?I$cNLad#&Fl<1l~r9G~|L>o7VyMu8%FES2H?1?K>T2GfH#FSNFur}zuydm*?_-VT zbOkXu1|2Q?SubvMEZ)N7?C{6-yBaMTkd1r~$&4q1L&8VHtVv%v_h3wg2JtQUh~BO0 zh!xkYRvK^8sPAUklpA?6d=T#sYJLwCIlF3A9>!8{oB9!<$$2n*V4$sU;H^~!HE5Hl);4uxoC&kxy;quHXfM#CHVc;`Nu{~x#=VO3YTgrCA2&WTV1u8x{ zqU$;~wXW#x(hiHhs1kdFO-MKKdoE#_j;^^tc&JAakXQQ}dSNGXkuSK-fz+*b+#V~-o5;?{_-K@r-aPS}HaMy2z< z)^Ij8dsC9H_kMLWW--N~THxM>72=!g%%ISnyFscvC+5rmzsS8cYPs_{?OK2b5Au-x zB;8S}ED888f!Z+1n)~Rc&x2|QJyjZV1J1DgBObv*BheI2?rulX$7u8BwvLtO{rgFI{wS5; zU%1+aQiUqaU*HAnQL2fe=QP*cdf7Cwu@jjLNjqUBx-|a%pcD<(iweDgOr~g3<}mCI z%l$nLBZ)DgM*9x?iP5nVS-78w$7H27&op#ww3UL3_s&XN@&+(^AfOrb^r{pi=YB$T zCL^Esa1xJ#Gu04`sdx`1(fQ9@1cIe3mt2m5)IG2d2L{F@Wi<1bG zMc_Yl(=pealwZ)2pdWzy6-*$a>S!0^p>*9r#{Tt?_TdF%Wf9?Ze5#vX5MI;I(OJ%G zra$Ft9tU>!%^%p|@`eI4abGAOo9-UzdXgloSye`>{~n>$N2E#MYtfK!Rv4k7CK$IK zQZs^~W+T9O75Cd7?;j!UWK%h0{O zly^I25%B1%3N}243jE753`>y*zg6huexGx_2>Ws6rq8`WD1-h)iHvwsK^V^o7aIb1 zXAV{na$|4r9a>ri5b^%#t>^>TnOj9MaD0Ez*ZzZetvYTr(K(-@5 zKt7q5W$97vM)njO>>)i!$Lw?SAlQsF@aN_6HP?2eS0lBHel(PL{0W@+C~*=W$!H=u zEy+ghed_h6r+^Hr1d(j6a?@~jAKKJWvx%Z-Np6sMg%=NM6km=rN(^hH6)a1ei@8@SWkh&fjHY zDcm4sJq0=VZ7juDL6|%1Kt{en-C4SZd&kF4OKxO*kNe`eA^7jo;=Z=rh=joE?Q?9X z|H+^zikNDAMlVVZIBP$k#yqjg)JLj>X8uqLR+Mecd?*dWKWBddPxgEp_(E&o z9Y;_|!{=@FLv}7^M)YAac2#9;G8QHq*RMj*JWqet5u<3f{FZ3vO-qkgNHBq$u7a|y z#np>t_knzRORLyIf{c0S6hm*1<7J(q`Q-cx8k4^A?yRcqFDOh=az zj5D=t{+x4db|hCyjLw|UIVany$GPpUI;n+PZt+dwd)b2VK8P|S4&|SM!HvsaOtVRD zoQR(;!Sy#Fy9)+`iFX|&Sud+kY2hqQ3la()viskag!b3ZefBezp13D|Uy*UYPv*4O z-fW)_$16wM+0p0Kg=oCKjjp-4ANiUgwC7%eI)88^^Fmke+CpfL-7#143U_bM=jiqC zDTUbt-JnmX-5t(^4IgcPz$rbV_c6wBTbDVE0dz`;?-WEoYezLul$Vrq`_k4AZjUt6 z2!U$PMHYBWk2vq^mH_xc<@0v?z2~&_2$M@DRQiR5vn^MG$z08}m$rY65%P$(Ye@l` z#)f=zN>^>Zlq~*J6%*SaPRrR?8eYXBAm*^gxHvj}quNPHh9r4JmUz;rc|UTQI~dC@ zj(}aXZ|k#w|7U>S%)N#IYSkejerG>Re7hDvdqEl03DJCe)wRDiZ&(A`H3nK~!c$=^ zmU>Eu1(%0H&#vaCoy5Hm1n0)RfDwqVF1WpBwcFW znLI8Ce#!^Rm%kAK#jrlK4GSU-hh-7P=kn&^B5Z2YKvm~>d&DV!uO{}U z34(IKkId@!ss5`mOL4;|rvPFdF0CA4OK<%BJj_G0=2}W-ILbE$xGl-Xm!b za#=Hc>{1e8dQOG2-PRpo&uMx6G-j`s^hd82MBr>OiFIE)r-#Iun#R1o9haTD9c3K{ zS6kMUHbukjq!D^`IpC~@=D16=3gquSGRaIEk?Hxea0kE`wyRj;*PFFG+!7tSI~WhYOASxj4tp&Hl%GNaTZzBNNH6Gl2w!2O?a+0xGsZ1?~NY) zhZuU+e5?7E#FRw5sAMiovav5|p!A#fZM2sWxj0qiqzmK7>*H!4BHO%{Jcc|7jWa|khN%VN zbK|HiHSVm5mSnhO4h)AdRgTAE`*T;n@8uf-FE$$d>utUZ(Xz<-YotcR2H9ZPI$lg) zmu%8X{hCgjG>gQ^0Q4DdsWQb3>1oqnUo^}tzq6v^Ka&7+&t>Gt44v2FYV7tMpIeU2 zzV=W$EiiKjp7K-qpU0UG`qzn64a9YC7mW8Am>7_C5jt%c$Avlc4SPqr2H^^EutH-k zd*jJ7(Z8Qst(tMg6+|0&JGu{zHPsllE9 z_mW%nN=e&Toz(BV04~B!cXVS=&OLT+vaw>cl za&Yd!Gvc%+QgbODY7+W*H&*4%`_60cQUaplL!KWmcsdj-K3g(lD+D(vF0gC$oQ(jA zC<_DX=c=U*rhlP-0P)I_xj?EMS2_OhSP6nX2V==((82t+lJe$gi2MQHiCFX-ySez3 z9#4$zJNn~1*JZ=z6~>K%wqwtERT2M!rN{aVY)H{F7fJ~iN3sw-&13bIOK+|?Y6pKb zKwBJ~l{sM2ZSu%jzO+tttN}wM6Zg!ycc#DUf_9WhF@X8gLTVxx22B|fy1gX11y3Yy zN^xuy4T-99#@o70)}4?73IZT`ZMsFV#1uka#8iLY1lYMy^1_B)R}0Rx7J#7& z4IJNmjJ)q<*i*5qD5|d}mR6H$%Q`|xi)1tmGN|O0lHaO4P;7MY7~Jbr`5>!K;5crR zY*w?B&PhCTb+0krf|3=hWofEU^V9ChDoEr`j794$VPxWM9bMmtH*Cmi!5c7urR_eV zR84-Yiob?YM64r~<$!IX7<3VG`>ha60~ym;^H87pcw_I2B2f|Nryrnv%TeepP`}4r zv*X0+FwV+b@Qi~O^(I@sWd4o4)ZD(9vr!l3pdv5t_$;}Bo;W$8s z3%RilU>PQn0WE^G6Du27f|EhN{9N`X$^=mlGJ=wQKK=fw@}YIaODJL#9FO*E%?k;) z0DeDcS22I^GC(?Fum59vL3I7ouby{d7{IS>`eN?y?}>OE1&>^?lu4j%SwmVVGSn?k zL)5a6*&d;6PQ>Xz=a3Bl)s&}F(!{zDg+uMsWL_Oq281~LgW&nxMnsDN-TO5@iD4s( z)xAf1CW}=aENd4rs_cnwz3b2dCt)$>`H%NEV7=a^m-lN5Ka@W-{iWj&dp2xeR?q`2 z{0%Ki4vjF?`er)*45zKe+Lr3cu*6r>V*oCJkt8J~lus&1t-n*EfB$6}bYUo2`yj1U zGAr1{lb3pQq=MFihi&g^-8|vbuZaqLYN6mj=9u;U9U@<8o$+7jT`A6~ zd7dePX#{+`nl?k&cGvxE5}7G-63mSWX8ZBf(w-F-Q4oF0yIAthz(eyJleTF>kJJYu z6KHvxQ$R7iO+>ZocDgy&{{N1`7y`o48XNBsy36sc!wc=v2hPpe8x$!u;Y1_&2kIF`=pPRp3%MMe_5Dlr z_(k}Gj?}|9MiCtS|dCWK}7jMZy&A=3Sq&L8aM7ItGwZ6IrMxLUqveZ{=7G zYxJCBAiqAdO)2Om<<~CDyiIBHxSukKvMx*!?3Y$!@ToR*0{`o)21m_B$OJkam#^|se9!#3r zKklJZaAEOeOB=sphM>SVrUYo6$+SyCQ#o(gBjW8Ob_S+Sm5azy9Zg= zPE&QX7KLY@_CI#Ga7XK zI!J%Yc$aas!<|cuCF@0kVB+|O9e&*K?|(tUrQf=yyTs3Uv4e1N#CAtn z4#^%dp3-wATd_FP>YjN6xa#MuG6_bu7w&>fx zY-|_pV&TG8fTukkjJJD()S7eeb^ZL$CN6e}g>CYT7|JzatQ>jC;k7k_TFh)p zE32rv7;EaP76C|Ej2$}OP(0@FQ zzRLSc2dl8g;H}=CpjN$3?lu)*(E9~_2X0lLBtQpjcB$rjkpT0vZev++5W%` zMcXlIb$1=r2lFC12+$o~AHw*CjNpdnZUey(H7NfqXPo(Rz|Hu<7dthtRulR;;-d#u zGT~`8|I3mEEB@OX_wysK#B$UfX~}C6Kg+EPmQf3AnPz;RUJt%@tA%LTKMH!Za)t+E5*LeTHWaDQYO;4PpEzmq^$4wt>a>Pw2}WQtDj$@4 zAgv6H3N_S@1McFdAjHG(axy1P-um|bX8Y&jA>}ykoqqLTd`;i-U--T9ZqR9L+;1Kt zA-WXnv{|`2D-B@{A3&L;Z_mZ3#FGw_gvW|wJ6|U}BZHRoLdkh6AIaRQO(vsm`dd#z z*WyCfEMPigw0pU^e!gzG1x+xlA8Zdr z$(gUfziDiU=}PgLb6PlWSYo_I-Q&9Noo`pKyWhry%$?9;W3t7aVGh!pzs8;2h;C1P z(meLq#&Tv}v#)+`ZfFTjjHkYNm^9A<1yzI{9{CTlo-vgS~ zI4j>`<6e- zk_%2Fg}F1|6ZJ1DYA^$k{W4elW1{!SKv150=2r9#)O4+?t*Yt9he){sCWr~FGsSCU z;JVp%bfjts%Zd3=^LNzx#|Y>#o*4E&vV4^Qo~7t@z2vQyfz$hP^scgu9nQH$(*kQC zW;aXk4wa@d#>$1wf`O^qNtN8yKdkbXAL%oSy-VD4n_^qaX1@rEn2@P{N$)`T=|6fnv~qWD9^B%aIJ z`(TFC0JBXvvE>P8{jLS^v?7)m0-j+`>vDBl>u{7SG^XD=VsxV|2ab>@LZLt&;#{C^ zcL1Z;3IYH75+3b}R2Z{^6y>=Rqp-Z&FIi5W<6PcvHg!~+`ftW~tbUAW#ds zj#4o$3Md1q06x(;1rB9(0VHJNnEevBK`N^{0WHvNF4Lj+rafc~$=aOW?oQC1m2g-N z$qB(u<$(JGQXiQ-HGQ>d1>DmdiVNJ-d;n!(WR$k6;_5r5Oz+8@&^73hlWPHVRkp6G zKsjo&mL;nd`x(rZ`>c|}(R7;BUaMZ1?wQ-V-EvE$2aFr7x+=!lz#%dZ=-0eV+Q5|T zYyAjOk#upj+>$s6#-`b@FMwIzvtUC-cjwIZtRiu<3~tr@p0(*_Zq;?qFGiv+Mz$L< zjAV;#+`ZtyK>O=K{42s|#uui?)-P>l|FnGdjFuiRnSGYwz#qf}8FD>lYxg_P>HG}L zZIyScVXx|)wHFPFmp4&>8Q4T`jA*^0L~!j_(vVzohxY!>(*3@pl7vWGyFZ9pGio>7 z1MpHo&tCWd+m__u#s#m)kjRcnUCnw6!|3oR+eNyNc#=bf-|vlCEmK)opK$v&;zwr$ znA6_6?oeKCuWH$|cG1!e=dYy9TVqU(bJENv;CHkLVuZD+@-{@T@AFU*d$s-HLAV?O}N3d5K~#P zB2w{WSFLhm2KtsX-P@^uR>_lkD%_`~9Y&>EP6yS%u9;uzI^>UXZ2PSp=7GS@91VAJeA?Jb($`B1o;$4+mnX*>>K7t;)RG%!>ciuc}N_VHkxS`#v_u(3t7VJLpdrM@I_)5 zZ<+yh@fuYR)zhE1%Y1D3UEX(#r1-y+nlKu7(o%`5dms=;k55yg8*97hV zz~wUogj}x*xavjU%X;rCz!%ym+Aj=!1Kl>MuYM@r@Z&zURJ$?M-gt-6ORHK@OTwYIRiJP_pi@I2p<$nF8B}+AcT-meE>yD-^KJLCWTum^lyYeq7(rXH2Kz& zT69QjzS^UJF(;aD+zJ(~%d1YWHW}M8Lvj&vU=u%db8#iK{*oaH()P+aZD*c=Ec26C zmg-vJ#vZ!Q7H&KuRY_H~uk$BhpXH${BH%yreSsb}l+f~^mR`F1A9qO%SHV$mU z<(OSQoAG=5THJr!qGYxyI&Jp0$vo(;`G=KvCDLDw-J$v}IuF-#;cFHo)bz?tU*j3_ z_R(??^CP+gw`z-m2R(}aHfcW^`zmYn@XD+I?iTu`8{Fd2edt$tjjnpuTff+ z4b8e9)tvYBIV{v}@)%-j?zF9io(W|Boeg%YTeV1>X`h`tSwfJr&){3Dpb2GCL@n=o znruySTIKo3d;fAzL4Vc_F(UAkCfnKus+6SZ{czs+xT2A{ZpEU{#GMbAZ;1pdWru>v zZo(eBw*Ogda0R7-&@+bxbM{I>U7$_r!>qaDgkor!HK6O!%s+#rA{UkKifmcj{g+|Z z6^P$hmS$3JuSrM+=X_5<_WaVkJCoF3{-6{ycAST!VK?~NtAy`vGc71RTnH-f=Vf3} z0t;H@h&_5TN^D!t$dLEhCdw?#r1-Zuy)cz5u6gc>0v7WNEFBNKMtWTaFyeLs{Mjh<}jBQC#d;gtvhf#8!GNFn-$!-%J z$D}{>!ADtuxS?}D>&ew^D%X921;XwNR8`3;pgn9 z#_xC)=J@K!L1X%$>sFYwCoe06)r$cE7t7>h`Szx>zcpUKP66ppo}cb~6Xq-~ED(B> z@jL$K$D+q2?4^YT!XheRWEb|yg%DD#^xK^8&@)Dl)LFSC&4A9&*N_#rgKXc0utbF< z4Hc07f@JOt)1J+!_4ynbm&YW>p#(WPV|NcV&x0B-WSMum92>8sG;M7C?ripWUp66x6uNhxR?6w>&jW|o8#5rW@$jQ{YndkPLOQA<@5X~-;DVn4v|F{~RF6a-$ z@R_pm!DEe~W-&SeDu=iQ!+9r5<=)0FES;vA-7pmDa# zs~0ZEAv~9Y!lYCr;vB}{ARQFHJGX7wFEAfE62LT@8SiJ4U$JeIV!f9X@4$d zjw*hjk149OzM?W)=T~Nta->4x8Q(QZ8CslvQx(RCe)EK#H#SGqwYkcCW@$&*P;fmk zEhj3)Xi{jmr9?O3dG>G{4oc;3} zD(-_xT9TtFXI|sWy~=+pikYl`$v`WcgH1h{#CboI)mYEmb5GRxVKUR3MBHnjGVW_k zPuYrp(DG#WqurKVa1t>0H8+ktTGd;%)adjgGWQ-Cqu$(5lT5i(n}vj^VLp1l!#?7k z>4x9dtztC}kE^d-Ia|IinNmMw;}-I{(GNlW2)o5}&=WN1&T`+99{YYi@$tn(VXkfk zzMmrt{CM}wVMkEq_blGua_crnk`+@$hPLme-m}|`Jh)_uMTbK2;We0jX=d8+s$mMw zdN1zM*f<;$jLl*nl98wJoDNXReiu;9A@fHK@)+^F0g*uNR!#wyKA=s0a{)`*b3KBY z;H6iY=4x}t1kW=D=k}iN1<`h*fi4nh8%8!QqrqkW1;|}82TZMq_5yQ1BkWk*v2Xhi z)Bw`S1-ZX7>{C8BB4`XZus{FJUb!?G^V|c2_M5eM`AurIl0kih+#E#g5&K_cDnP2u zc*4>M9GlZJBA0ehy}l~E>aqScv#Dk>v`~>jj;Bqp@fWO1Evwt#rg((SF3qpgNYb!s zP$EMSG8odfSz(vg=@U=#k{ zLD>SHm1Alvm42&w;FyQ!$0##GzR7l}y?xS}7PO&9!)yr!g??^Ek;<4uj#XoXhX8eZO zXHb`YP?)szWyNzZq2u7OR?#BSLGAcP$6S%eE9ECahKDj#dJ`GLgfWb&bmv3LiEFUU zB?~5OxZLIs<%`)P&jZ3yvk+D-L1UF!v=L8t@N`d0Vf>zdP>u?il-5vUal9TJw44+Ebf<-cj!$5B18y z$?q$%)mvSwC+NKuG~I0uK>?NC z+}#{Jt5@n&jEhy@FO8L9H~lkMG@im0G;4MPk4ORvH2r4UYT zE#XCjbnES26s3lupHg3`S^Cvd&FqUpY%eIQbMq+RCIim9uZ@K1+$NPma^L5CCpqhe z9XA`2&SGM$*d^wFc##TqzT|TI)3vtfn1?Rqbo=^tMlqD$NAr~cot@Q#AzOJ84niD5 z&De0K*m$%R`xa2MW`8ZdsZ(ihh7(m}j?VQ>)w+fT#0z++;@O22l{``7=Oi>~*FUKd zRaCuu+)}{so)yZj#SfjjK2~mg1JL59tCSF0WWL0DXB(!k-@cVc)@Ds2{AyQrJHJw3 z5#xcNgZ6l}y6fcU!fOc02hM=T)?S=>?vSu{)T5#18}<=Fr4FV2oI_JU`VpmM_uVgt zMlr+X?o$#o@8K&3vVeoHqyY*TF}h>dN2_Ce^Q*-XV$rx5#gG;UzU9JUzun`xF1Sr= zwo-fb!10N`(v)I2)nUS>nd@;P8b;f7?@kqKnmgo^IqZ_?UXkTpm(6{w18||)Q9rQ< z6%xv&Gl{VJeE5%2gffRN!WEOx*SYci1FTvM+yS{A-v;hOb3XP^oQ?}0L+#VT>COZI znYfd(+T2k~VUVf&>^lYlYd=aBIIc1SjIdF$qlttW{9t1hfB9Q$z_wmB$r^a^8h>n& zv(`w@F4bw4(^WZn?USxiZ+!;0;QH^265Erk^shNMES^r_k?8OK{AI@?&>X?pVMv)1n(%tX<-Yac`D=xG)Z(EoQ*GE)gk}f(Ftfbh$_a7DXG)jh zi;%(EMxvJ5@Ux1rTDgiLI**#xzmKrQSBQnf#w8~wzgExVcNNv1wy#|3{R9@-H+vFV zw*thrpZExDeF2w*q;5hq)%b_+5^ic~XH{-MJmEcGY@twUpqke^~Ly=iS_Hm^hg=1{* z+97EnY0)58+rRCL!=A~rUI^>WYVPIdaBVogF z$++*57G#>eaOXD-?t1Nu^%fTC6FRv@` zuC;{5&OW=Y+_TfM?e$UBs{xZ{gkL}opk;+8I7U8@QKX0Z1y1_2Zaf_5KOmObpr66mpJ=5s4oWow}P z^up(#m46l@-lT~?l+`sL|E%WB>&yeL?sZJ3w8;DVpqH5w{sH?`m)2giavSG>a6o(na(o{yk0k&bnd@?!(`qdiu0Pe1jh=5W6=NfX@V) z{VNc#v;Mp}Ng<=&p`TBz{}|*Bp$_26OpY3OIBQmeansuX#30@ufy|%zR1Izbq)SGu zJ507mblyBF)b%dEV6(ASEh6q}8R7?w5B4hi9ReNQDB7xuT-B`C zXv&GJV+iPtTZycUJD~Pw4(%LX|Se?llT_(!>D`-Dpf|e=aoXj#)J%CbRuuGV5dei4$(l}IMyFRk> z21T(Gu;KS{bUEYXmeVq3?!I`rZTwSebEc62MrL6icdN{ozs2Ko;!d6%$;Z#ldQ-Q<@fm;Qsmv>$Jt~L!JE9TC1EAXEYoEv! zlv&%DEi1q5F_y~3~>Dy{gP z&E6ms+^YT|XqbrOn@D?Zmv&a=L-m^<-H_l^mUPZT2YXAn#5z_*Xl>l{+5WbK&M1D# z0P$HCnWE;XFIUgBggz0M0B zyivjR)bzQmm(us{0ESRiQcq^y@qqbOy$c`t=%YDF?_@P9s%QpyF+qig>lw8Rd8 z=LZmwT-+`-+pPZH$7sw3lmN0nN7<&AHg@p9g$N%+`MvPT0}z{296s{J5XbyveJAyx z(3Aw3wfW3l_gB}qmA!sQiO6wm;Py*AF+(pQK8Tn%gvI@DUgIB6h%PXGyCAAY6;elM zV^a7fras$pc?W0$&IoPTO|%pg=HOzd8Au!Jv#Wtqm160JTplV9_3TCfbi{fkX3!pW zs6`aQUmr2@bEXm-smO4U5ty|(HJA@cCcTKN_49N~Hq4*24IfbH0U9=%4adn1Bgu2jn8hqLoNxh8tN%OSXc}c($iS7 zZYHA_ig2QkjlECN~6yB(iKC{ z&ZZ8GaS~dQs9Rn0__iDN0Tk%j6fn1XRS;TwTiHUxs6PH#fpN}$eNPVWR$!v-3LE@NMc6@DVj^>y277giJ+nq+f?Wc@ z@wF=&pnIA3E46N`)X(Mr9&zhACzzsFd>s293aUnJvgz-q|8THwPuVF_6!t5V0Wq~7 zbJn#{?#6kPL+vYFko{^`E)$R-#2P!*^7o~|*2$Fu{xjsOi|VwB2r(V^P{e_kP-~@g z1-Ac>HJXQBPXGOIyeE>|ezq z25^pUj(DZS%JcTZP^w&}Gl>O^)e-}CGr)u33Ln;T-e}3g48A0|n%X&l)3owm#rYY# z?yDgqO}!;qG@Pd@ZDL|vt*>cUUV{a;(ubU>uMKaQDQx++BLzUb==o7?q{&6MZOeOi z0P-vKF6h_slK}Lrpgy<}ka)wn@(e66KWfErV~^0G{wzVYXCGZw$*2#VOLRNR*|*ow zWO`b~L(pdIFg%U7fr~w@vLkRKHINDzX+PlA#Suenuf0(r-uPT|-E0!QAkp0eJGQby z!E}>$$agjGBc{y{E?54P6NJ7EsG-`>pMm#X?=!;27y`08w6aM147g|>z9(e2}O>jEz87*>AyA$fOAPp+-(#ooxX^@S{o-ZyjT|b^_ z)s{fk5w*0B9^@$A!()u-lG>no-*&cwzbz5H>xSKGSlIFQ&q_@Ky*aW@Rwf*;d+JF& zUU%P9^yy$A%u`Y=R@uAGVyb&z8FbkjMLEx$@N;w!&UpyV0W@$~#$p7}Nq=0V`aNo5edoBD3bIqA52wKbX6 zP|#A8y|7u&xXISF!jjN~bq605+xVE#HA7k5byWIqId~jtT50mzzE z#@0SJ`rhJ$uepqS+c`pTutVKm$o+u8>*(1}Nz6qXUHEYbkEB?TDGt4yo{&gPBmdCpYPiTk*@H8q|DlBqsEG zpF@?M-!fTlGQ-_o11tBm&P|nJoKq}&ROsWSNl5Us)W-BEr3Tf6Bl@G|2bSu{OZOaby7IQVPOmmMnNjT#U z_}JqVNH!B6z;?cL8p3jL`tc@idD>dnB<;E}$HwXrzSzO!*qm_Wm}<-Qjp$E-gAa&F zMhzz41n>skUC-BV{`@PQSI4m;qEp`QH_>i&-uIi4!|0Ax4LSc-hLgn2J_DJ6MY|lK zwo=xW71HfJxFwR2!0Yaz8!48P^nx${Vx?}>;m-dRg3;*LIq+5PbIvauyNf*sKcfOZ zze;_+oAj*G2P8abmvvHtz!L8aGXKrM+*QW=9|c@&ZZ6eM6H1(KiEb~}CWhW@YFyoI zUhXIc-ii}kU9;qZ0wu%6!HZA<^7m_izG7?st~@0Q^~iyV+y$+d+2m5Wm?JF4wMJW_kNoW z*Jg*0@1n2#ao~lA?Qw-PVu*4#A!`2KT5y0*#?$t^%pB)g)5MxVHg8QO4yv1nrS`cp zNV6Xo-0yYIa=%uK6%s*tOj{M1VYj>0$uAT@V(CjKV`M1GdKnnb6{tn0CU8}@<&jm6 zdA%V%{azz=OVu-%ZQYPHi^U?)u5(hmKgUBNs@l8AWh#^}cZ_bbh2xG%38^R?P~%`Z z%C|Xwmc8J;#<0t+m*+mEVx6DTFPMy7!Pg3l|88Y|PWN7b?ju-lO3Lk#$gaA=J<~jw zsoMVQ%_z6Rj(<`I-NT>LtjU}bxMg!7L}-gmfl^anN1~cXzXHSEVotJRiH2yVOp8!j zChO;&6Yt@v)z7Ur;~hg9>G;MU*N^lPLy0We!n@dJIW4R7|Ij!Fux#^Vqr9_T%ssrC z5T5JM_$7yar-`I;tohRMRx8eg5Am?=$>PS4f3qOf+*> zWT3HcJZO`jMfCR}_DP%1=0aMrgf^o97EbP+^1RV9E3T1n>4R`XrL{OPKy|Em^NLbMCfiVFKngl5s}4PAI5IvO*P z&v{XK!lF0$AgGCOkHLb#k5hReWsyMi{>$^!dR|Kb@|S0^b?zRozB^M6FC-g#GKZ7H zf-FZDsirS%{x&H>Jx@N|J*W{BJ3S=lYHeYn4VU%^v~V+@V9DJJ>O_>?mb_n?hethY zoECUvBKFZ4WpDlyTpsvo^Vc6)$%>%PifXVMpvnGQXI-G%wb6s1BR^uw1&onZt^>=; zxBneiIc9Rg3$t=}6qFM+$4@3C+qc15Ncy>Apj$nrn{Aaab(bNiejJ9s09P`1Y``m` zo2hF^)@1Coa1I>bfxV+-qXTBy$={z=uJR?n5i5gAj|7PBk6gxDQ5?#|Xn7Uq#6PnX zrj!RLtd#2M4~uEWgdf)Y@k@S>_N}^dxasxUcdZ+XdmZ8+gki zszKPhsFd^NA)HtK36wVIoHz=Xy^&SqpSt>D>L^|YF8%bD4>s=_w!{dV(q)na_g*1NZ1;y-E(Ab@rjPF9+^dEyBsbB-@$j}~sl9`;#0TFT!f zztZ|4&f)_7x^+Pxdn#Tw>Rw1jtIouZ{5ZhEX`zjI=Bt*}%32&C!OW>-58v*p150V` z8fxTcclX7}iqp`q8-A?c;b)^&Vv^U-xgmfgVE8X9>2cKO);Y`snQM+AQ>0X-z3Q9f zUJpnvbvJGIuNA3s@UEZNC47 z&i+tt%N9ts`2h<1^%(AOzuWeM*0m2z+d;o*IWhT{xrX6=d9PLK&osXD0(s+&iBV^R zn{|WGoR+MeCn_%ncdq&{BAf`4sHzQ5)kTcIRbFRppvATE12+6GmhuJSkjI~&K&DSN zJ<3a8y%cBULibuFN#wuOR3>@GO4=aYL|Z6s$R!IcMmd z>o&0}(Mp&@(eiZWFU4mCM3jjS?uhk;Z8I`+fgx$V#K2@!VJMLQB-+pep8yv4C26#YdwsNzq$mbao>s1pw zCrrJO1;$^N=fSv1;FU@gCZKb4mw#F~5dN?w)klpVeHDX-(L0m?H!N(?eXEtJ7OMZ3 zl$osk?KD`8?0Y7%Z?i%NDg89L^MA;JU}{IEu+l&&SanWOCUrhOPARZXO)S@D4d zq>dk<&)3hX(F63A5&E52uay)R2{1tZ+67&Mza%Pp1D_sU^PE{#%}*v1<23-=Z_|Pm zmVKQ`m*2#!$RC-yUma#r*;*C;KY^KUA@}m^$_!9(hZN1I_x`%`@f3*OCX*m#n0<+_ z@OAvoCx9RRY(N2!=$wK}w>i_qzoTU=mZmQ#u*wehT}3QBlO}_PLF%6TZ0LU72*?cZ zYNFdWNDyboSORdILR;(5-|=YaW^qoWY&|SLM)r@gQq;e-$FpM;XXrDy04aKbzt^Jq zwHG_@49(RJ+VDr|CBJ45IamYjlL05cP>FJ>2k<9BB)7{x$Ix$olK%fKUzuwRt$Xh? z5t5EJpO~$;dLwc^t7T@Cdu#)#ClPkFVHXXL`Rj>V;FV`0@hS3;;zK8(7TqJ8se2%c zMz}McRW!^a-V9Esv2aog%#*OCPP8+H`^c=iotUhZeJa0!m+jGEQ-`~vZnbbKeZK0W zi`S`A5vQe!<;Yw@<^8HWT=dcPXYGfK{F{VGNaYJ5P&(*>Fn;%C%6e};!E>FxIn-DxH{H?*sD z4GL`;E1OxXH5cr4!4{j$BNz3f2drB;R}Y7Gm9Yfv7Wilki6`8f+CT7h*DW6}vE?&^U}p&B@@)GoHt z{&=rQLl*8zj>mfr+J^mNBV|9+-*0+S^iWILCBKMLRQ$t>XKc{?z#mCmKU9m-75}im zV@m`sB~-m~q7-XjH|`0~?oDwVYG56Ds+1om!}9MtpEx#v1aB|Ca$=Yh)~e<3+9%ao z1qRu}6>{91fG>emA}DwvIy2tvQf5KP&QB%U6mqZAsVU6lyN#CZT`jpo zW2Bvl{G4Z~1k(4&-=Q_K`XGm&ImxKql)c2np9@s(xw5rR&28MR|4H2u3au~ZOyMia zrYdSHK^mJC&8fJGpr{J?lqe^QpN_@zHubkX?wev;SALrcwW*o7qOymXsHEC&sa$?P z+gXsTZRTGanWEVsm*{w>$!%J(O5jg4BZ6FB!VZsVm(15c4t6B)2a27iGaDi#kVXdt z+o(s@Q(N1AQjB9wf$>J)uydC1oe}&5bLn-$f^`b>zDtF@rJA$TPkUezgPlSracOEi zfdC-+zE5XCy-bvmJktTZ8sbWW>ndT46{#)BT!lc1d1ddn%ytM%u zOT*z@N=gviRG23x%DF+xU1r?PD}V#?#aF86OvHXS#^rjh1nZ<*Bz^Q(=2VcknWWbI z{5uDpqH)Ak^q107lFC-{`hJp@*Klu2B-a)XmA*QGQCZAW+|zoZu?gN%P;!AmTO7Ae z-2UzE45-Hdk*yIsR0^k@@K!ETv6BpLN+%yJTzmb2%NPo6u{L|MDQr3y_06=$xLCGO}dsC7#9yT6g@M^471NsZyHpr=ME1ku(kPq|d3VIE%& zqLAlEYivNlH={%sHN4=MdXxD*;Vu)F4%p5r_xm#l8Ru=9!*B4r4D#1;eDZVz#Zd`b z5f*!__R786BRkrrPe&(s3tC3qUnlbmFL~$xdxpvy}UyDlFWaK^6yXk)tcT1xu6>{6KKPGol(%1Zf}%}z;~kVo{wA^T$77EZ-=?g=Z(xS;Jfx#5!VC{;S-uZ2kr8P!-KwzKhg91f zgzi!W3zC_P_{s~Ncg}w`5lf-x*FA|uWp2fs0;smp;cfiJ`;n8Q$u_VLB|k6QHf9Tm z!0UBj%cHx&>)gFMAD_@<^q4x+3~1S}iSNm@eAfx6ky=|YYZur#124{x3ml`*?xx3k zu>EfN?(X^S9``_(a8IUj70SUK^p^3FiMf{#8FktxSX}k*DmM*};ap*?%kV>Yh}!4{ zW@Hlk3S#cErUJGB0a9w;lhQC?w!&E}%*j0K;&^j?(_HlY^68Fpn*ANjvJCQ~cI0=C zv^HR)C#Q1dX<8>+!@O3N|7uISn%J@XLGk0HX5A-sR@}kaqZhFB9L%LBvR9Z*97VV0 z1Vo?rR$>@@OMtnkX&z;rkI#bqmw!_)^D&Oz8rb+Xt4kS=Poo>;0)1|=I)nc9RxG*= z|6nPH{q1e;%{Kl^bt)ZBcPl?L8pZ=8NEYC1V9E>YH!2&q(3!9a+Q|K3znRL;ZI>Y} z>HLYvIhDjY{X~56oez%_;BQAZXA;TqZg@^DqkdUAo!W5(J1j)*KM>Um15YA-1woNH zHB%$H!08muf(O*;wV=TiJn$)A=Sfjd{Tm6$mEhEEQ8j^HzIB!6f|Sp@Wo*b`@o;IH z32vI#N}AA))Ev}{+lMr-77OT>o9z@TApN5JI$gHU`%l9FlJ=vqN>Vneu@T`v2mCGW z;>+SlSZib!o@N}#WE|Y5ocu&Ie_Ea#p#Pp()42xT=Xlp}yE0Q7PjS=(+3%K5*CrLx zjL#@jCZ;ScHedzk`k1X5%V}05)f5S>sDvA-23Hiw%!-aXZOcp z-GLk#_6U|2&#S^PY^1QF+GsDAeaTi{qoF2I3ll&Q+26i}6>Qg*VMoI47u7zhw3ipI z%uG7(?@69F z3(>e!hc528Gr~UoxI6r+!m5(_gjzelVVm8$TqQETn4Q2KG6ugelXBQMixtcYmJIjL z9lnu^hJKvg79r4e)YZ#EXvL>Q7}}HQJfO#B^a`E`7X)^7*V7r|UK3Z5c@Do;Iv+jv zUUfv>77n|QR{b2gJoX4){cPgRpi&IbX$Zb`-pMDA%u1EN!LT*hI9o5gY#DN_scJA3 z=*Xy_c~;|VeNf#{yFqGSRJl;mH=CztQvGv~U&$#;;2hd9Iecq$LGLPPQ8BAsJx+gH zIazCT#48(wUVUMcJ|E`dF($~-FeTk#qHy_a1;K|143+m3yI5bEx;wr!6|YE9s52WejmZvs>ymxt zB?drU7u*TdXWhsAgFnU`E9i;Z-7sEK@1uuEEE-p1L~z{k#r*`4W2?g%;N)T=KHywb z<)7JW-gjvI{=3VLfXu;+6Dpnj1YU#J|AY6n+S^;EtIwUwIfIL&FUqp=f1#3=vInPF zf`&Kdo-lnu9D36nc?+xl?8zC3oZ@egfYabQhYvO6U=c z4Z{zU2j;%_GUf;ystr|1^IA7BjTA9VD9$<#-!Pd8FNB4RqBQtqvpsn2FDv>U>Q3qU ztK8@(h`zgYc@=#+c4&yJ^35#IiPnKXni=9(+Oi3_hPk?xuMnixLiO4gS)&<|H z?Mo53Os*PV-o0Nd*IFqpnrBCEH4NL_wkFxgNt_SQ+N#f$YLg32&F)ujS4vm^G!p&1 znOY>YDsm1!>F=0sy10-N>~wu{G&yZrkfCSj1T-P`<87csw1s?QB%nCl{UsVKYVMz7aW&#;16O-zK~T&6L6&(2egwR|1Z?+t*EL=sqAcU4No@A123;YKMM% zq94(fz z_svE`-XzTQk9Hx2>p=X+z5tLm95Lh5i8HMQ3EQE7%U0sT;ZRM-UdS}IQzSl_gq3e3 zRTn1WUVVzFIPkTEk_mstl;|8QF6{AKQdi?;O)D$KGFZfxGz~)iI+bMUc5s+5TKn3n zW6u63#V7~A@V4909mDZj^~{CDB8+39r}eQQB_&+&>PxJ{QH_4>qoqM@ z8SX(WSj-eXWeDg#L1;(&R`ltL*{byNP1-cO>r|^o2fXfkyJzi4>`#nuaC-RGI)$5I z%ONYZ*lxmx0+Kinw5HGMDqgJWCg0<3xxPH6Xq0nI@Kr}tn*CCeJfyM~|M*rT)U>vc>fej#4fD5XET$kTM3JFKX}8jWo`3uX*7&(xC${zs2$ zpm1aV{w}rG!%2sBh|ZRfrM4}Nm-dMdD88& ze3|LJ|1f|2gxmd?tvjWrrz&i%u066u!s}j@O6phlSTJ3x-mY=b{lR9)j-zSGcEdMm2(PGk1WHXL|R%=P>$JpYl7ArIsKt3U-H z+>Bc#-b+|xDCxTFqJ(z4EmK7@seP48O$)GXF=L1RouY8P;E5ofvhtJ`Y%Z!iCl^Mq zi;)9&`k^VJb1cJrnqDOrZYlBpuh(2?;m}LJ$(@R|=l;vPQY9C$O1a5-mTIOfwIhC} zt5RWi9;^pZ@9cdU2`s{ylY7Uq^@O_Gl zN6AP)<51t_X6skpSw!#a_nGi*yKUT7pubSn0FE7!pc%LJo~CT<>opUrx<7$e^aBUv zGhwnAOM;~bH>4E@-J{l1sq85u{Q9_im4!WBGTGg?>y36P&NlE0sY(;~ZF1Wq@*|MY z>~@ozR}lInTCVvVp*zQ~Z`fr*e5F{>-?shYX4b-C4P{htI{$ou;uQC)_7^8=Vu}%H zk~d3koA-nFkYJy;+uw6^2NY-5vJZW-Fe;u@^j2-o+IDuWHuuJ<9Ok=qAkbG6oFEtd z?&yK{?h@mb2ZOT)maV*c&zo?|s9N!o0QHshm_cz+YMEH>%VCO|!t%;tXCM193n-6&FgcGLGPmqgZHs-|qVf*?fYGH` zXw@Q~Elz5_sHZUa>5UN^aGS#QP|n6Fe}y$ABd@bJt`{1H1q-{OHTtNjneoxCNK$N) zK3he#aZSVVf{VK*qmiA)jMd_%alJBecRRhvQG@VYs1=0+1_Ple? z+jkx};Gh>sRR?dQ#;%*m?x-~w+l0|gE=Q%=!A_yavbr`r0X-KEHxaj~r(H9v zwP#qwW%Y^6EXJw7MJ-a}0HJMk$riwJ>)ryeys|Ek7J;~*P+rgVPL1Bt_SDXv@Z89N zrSwto<~t%MoK|iD#JzfJOs_gSVB;#v>{#`kH3{w7J=;I&y~~(@mWV^CVuwG2cON7L zQEa(Ak&>k}%aQy)SIyo===+BdGIF>M?syLFh;#8-fZQZHcHMm^cg_>wM=wZ}m@P7U zrEy_CL$>e3dnDlo@4RC=>8OF!6GcTsh zr3PO;j{7ZhdRygciucr-pMZ+z10zw4t6B#8HVw(8yGz<>(PF6_`2^2kOQZ9k zoudQM#v4Sz3XZ{P_4lL7Eq!#ek8C@2wuM+{`jLzRl+iAXq-W$8+V9T}=AQx08s3N%T0iCtW!wdAHgA#cscSOP;Byfy9pO)!iN6WmG*V z&R}QE`EQ;7#KDT&-#W}dx9FbvSXQik3&ha2hNA1tys~vFTkrM5YCW;4reT)dCh`}% z2_(MQAU>DQpm9nu1QOKPsbCXx@@S*Y2;!pHBwBN}D!SWL@_&YX=i_9{f>_^p&1UYkf1iHPVHm-Kfo)+nH@i8D*mHgISCa+VcW* z8|{&_sC%f?(kxY))Oyz)bS56**WAv#+OplB!D!3YjKe|RgG2PFmds;xUVoje9;wmv zReNcD%&FZn6U@8V0Xh26D#1JFm$-Dm>s;IV)70X-v#Z4FX-KVtf3L*r&J-{&BviPY zaac8XY`%OW79B8p_44*Io?J@rl*9hAd;?CtvKlV=x^w)Pit$F8$f%FdX-=UD-5mK@ zw$kHYK)3Q<^1gv}v^>vZ@k_62k5Eiac9_sy8gFXwT=;l~h!C z30bwO5f=*O!hvScjw0ak@*@%OS80gZRBmc9$d%n}%}+_SSEBTASCEv(l_a5UA8`YkZaR+BtJe$e6lj46fGw^QmF z)5WTQ0SDuav$!_6=Nyvlu*ndv*KSaC=KOZI$pJXQ#&{O-q^$!&EUJBozh4&y2vC8b zDXL?5j*7@U7JXj+k0!qJpn96A(;jXFb} zl3h;t&M$2%ijUiU5h|TxmgRn}-4aWi^RII~C9Lrl1G(k5)|qkVoo-!iDedkJb_r%7 z#fxR`3bVzcg{xi{LO7xGW}Zg9bP|sd%;|ZAA^$2xT#J40Or_XjdO(R0TkE4EafjwQ zJ)QQ9#WTm^#&`(l#2GXi|Y^=D8( zw>7}4JYR)K!v0_uuJF7oTA}%}Y>t_X!d1flXs)rQ*M3i^#S7P=z9)u#friKvK6>4NF@ zRr76u+1Nf3cB77Lr+SPJ9`20ni-&w`sP-1ZCPe89^F~)z5C{3nx^KrAF(~#j%+J6V zj~zfx*1zY>U>S*1)#hMN1F4YY`GUKmrxs)7p~>V^4H2&YfX>Jx9&3k5UA%!#KC?{p5~iO79yw1P*R8r}Vc5@| z^fYEfZdK12peJ&Xm{I9=d@5N7n=@Jux1Mk^(=rGFVZZ(QWWrhU7eQ^Ms+F*DKw^;mrl-+hRtMvk|&L~RJorCE2; zs%k^$ZyFrU%-4St`#lDsBBS2(X&mR9RGt3!L^_A|*3e(M7W|U-s3}}ET}t0;eDckj z)>D_zM2*gpc0tPe0ydp?n_7KZ8KDSUb@3U?o#W$CrBEhdrhg=O-1t(zq1MWHtMi2Z zht#?s*0*!-7?>)&l>PUWR~ch<`SNIKvvB2s)p^eAZOZymPK=FHPDM?tXb$_GkY`u) z-8Qx*oX*{uABxm& zZ?yN@t@PC)>6C4>LYE-*1KP&9m$Xe%gD(ia{A!D3iP9tsf?2vhiajKKYmSOxam;IU zs_VCms}Zuh1I>%wRE~u|)o3+slAK1{ zVgLv4f#pA5(xxy|OIaKZgk80SJqaleoo!EdX%rRKoE73~)l6p@kbYKoj;3?k|1`QF z!izF;MR2-%T11|O&CJ&rSR4<2!oeAX%gJzt5>XsXC-4O_@ zKvc$B*GPD`8~~t^)`RY`%aYZVSCGO+H+PFjx0iD%QDv5qZrycfZEjrrrO{zMg-<=(tAOU$yu+C+&pBA>72&BFczLJYK|mKkBdSqJji+vz7BxWT$85~(WcMxP-4C^-IyDPn%QTA?`NJ^0li`!=%Xd|po>3>U z;f%!@(en&e|E)S@a{vrR2TyR=oXbxvRUw_rH{G-!m>nOcudddVZO;&GnrA^K)3yYd z%Rx0;0QHtLHJZu`)b>knLW&6IuaZ%jfCo;u-MJGP-zBfVJ$x|LO)WYT=Kls5N?&Li zZSjqs`b>#XD*faD*Zvx*ai$Hsvis1TH~S>$kl_t*?djFq9o1|sUizO+)I9>o!56=c zP4&#ncrVJh)Az@nz2N1xxZb?xl(?PAm$ruk2R>oR93BJvqQmJ5J)@^`fp%IwO=Zzj z4;*jHZ|KTz5fi%qxx^+lRQ4NB^WeA_w-=A-ex>=pkxQj7G9{iWf7DC*DQcVYj1g0b zYdu{ex3s|!g1>&}{i-GUb^Ygma(*zWaK0y83;vg3Gl=E-+p~|QkB;^LKgOnv4@nz> z!9O6hnSF#WX9_j309Q+$O3nRQYQG>n9iILBh|}=)20U>H=elfzAybC<@~B@20ipNxSaCG=eiv zx=L!=g}1UL7ZgxWThdgz`j)*R@mt75+C&oIXe7oeXu7y?wDNrDm{I#>(=u_^GI1FKcy**SD2V;P z9AeN(SA&2b>hHOoRYz$(-IBCKWYV9PymwAwGC$DR+PR|0IcmOMD@Pq(=7MsCTF_C~ z; zy%hv3A^8;`8;lFgR==L&O{U{Lef?k`i@1FeJGQ=mjB}G|z5T$W^UR!n#6yxn{L_*08+Jy=KX_URd9sZ&$~aoV*lHuEx^|@4x{m$`aSt*@4Cbg7 zX^34?dTw!5D8*PL6s8<*Av1j<&xRh~nLsK>FKXduiPP;Q$8Y?&XiJU7WvAz*F^~Jl zzSEal9$F#$x(G!?73wVe`K!C)uU|+OouwDRDQ~-b)ffBT_gQ6GG*Da@am=${Vk~Rt z&1DuI9E#Yh#x%Hn+iw7o=6EhgXCI2i824aYVX+k`%i#c%8+?^!8=~uhzMN?HWU*9~ zwuNNzsyjJ_KcOAJ$d-Fk+JkwXP6en$Q`*W+xB8yzc`W*JqI?=@7~a}a-nx9=tJ>Ch zd)9av);!Fmc+rzFqq82j)-;j;&^<=O)+U7Jxa|A!-m3Lo!a7-2kYfH(P$g+_y3b=D z_<*|)_bN5i?Z84-Y-AST?wNy325xyPUK$1lR6{u|b3kM*9K(rfepdOB{HM~GC%dZ= z`9_){n%;-T(6?1zPH!>RD(ZZ`T{v^;y*FSoUOFQ&j!`%?8tf5q>zydW*qtyNyHLu( z5GZ#)M35wU{-?c3y?3`{WF;J2uj{`yQSR1Vu*Bq?Wy(zds`l+DShFBcda~-zA^(RM zM}ps+e9oCV^@vu4_3Iz&*V%|$CuwzS6{_#?(NRNfDv02*VfuyOaZoe5;9W;juuD1h zpD`|N2!WUWkxY|ljdX3YaSTZz34V?LT;-l#OaX9*sKkwZR^vEzLtSuXvRmnix*>p% zF7P`S1XRLL_2ZMe1&F^d=oaGzv`>?VV^aB%@($(ypp`&U?(sTyAU zO_8yA`%?b~T{Fc|86pS#vzYjM#jvUd*U7s`shjj@`R};T5rP4~cIbVx;EKzl_rhIs z#q|D-->a7^hXV76c1$RMRld(VcGes2^f|8v;vYazV;Al8(FJuuth5a0%gS!6QP5I! z6kI4Krd7sP*mB8Bs(2%1H|d_zJW<87SFQYcNlDM2M7#{t=iLp~g&(xdOOwK@XJ(l`LruTPYNb(ind*7th=lTeJb)k!h`ztu$+9ps9}Cj##z5VRQYHw|?*5!~4641vnbxSeJWgTB=XFXybW_rEBr* z^?y)YEmLc1w4R#&>j;{e&J!~Z&h*JJ3&IhGUEuh?{2pw5W(zgVsVXRNa4l%`kaXr9 ztE0HUQG68y?6U*^7~Qk4N;BOyo)|dGl27|Mnh$u5nZ{M+7jgXYv8@b-G`NiW-rY|- z3fo^XpRDB~1VG5Z;%~)a*y3N&cbdXYef3T1lU!ui!ucN?l6aPQq?A-gX3249h;Ikd z3ajW3a|>y-|GjXl?EWN1@LgA&r5aY5mk*(QG5K*<_Kj_RuAo(w!>7UETxr5|?AZZf zKzS35oczsew26ilylFct)tetkKI$3bVrbj)!J=o@#*EG>4`;ecg5Syv}9^=+C=#yehvZr9BlPW7LaB?e@b7XqjGE%*w^owdmbw| zgedz}-84&HbdnqJCf7Wi$1`=Njqp#jWiDvL9mHno(5GoEr2A0rJm@20W2q93^$v+ z8E-n*vKej14(MdPIVOD<+++7x6L>8ZNA=(1HC#DxGkMAWcBz%z@-?enAR)1G>AiOp zK|fLF50M|(d>EFWXp7&adbXz}SA@_i`@qzaOBL+W$<;n$zr*jEDn_CYMGnP`4mHD< z|ELxI1Lj3-cDA3PY)hmaa9`Mkwob7ywJA(^Kknv>PPCW+mmoJjGfMa3 zQp(WTxJy=Vre)h*iJ`W9G8FJauLw9CP$x2c$-mhrsbYBVSvf5Snv%3pFC;kX9v_=hCP)U&|3OeRQ#WYSIVcA(%+X@0X^Z33k8;-FFWROIL~i8I)gl)xGrC&PPzIZ zjk&VnZ6+5fVMIYL*W#5$AWr)mgRdf*+k?J&*{m)C^MwAsJV@5~gZPU>nB zP8S=lo&)MlEhtT;UBvA*GxiulXseG1-ATb$aCAX^HwrFx6-fk^ z{v~XCGuX!FoR1v%aR09H>V1**%8RqR zE)Jgb^>Mrmt^P{9x0pZWYj>sEv{#L{8kyRQH;JBISNhdO7yHny5_>`ScpJhyv$@6L zc^6+*L=^%!r@@o*K0*^i&fL%W2_W_+=b=|Mt7+Q5*jCee^b?;SgmC=cJ0Z5>*o1~B zw)_hQL@LQQIkQ6~!lpy*Rlavt3)@7rC(qF{^>YsH$X4%jym8NcQ@DMdMnT+32X7oo zr$+qBfT3jk&@AfPR5DNEolINh}|Ut8Jl>+|xrQP?7{brt!6N4z^uiGLw^ zP|A+j*wIX2iubHh*dnPV6~GZ$TZp&aOXa)2beoj4rYR~db};H-ImWH}g#Q>1egLx6 z;!ZG?q&ad`3W({iz+kZA3Gn{H?7X@xYwgEBfJ-h&^4qZE@D9n6;#u<+f(58EvBkiG zVc#Zgj-X2)D(K`8(G3$+I-@`2kp)-yk(>41!OidX{5nhrmqN~{nodd~;ti`2p!Ivd zsGW}VyKMl^$yxCox4=2BkW~wo`B|@--B+5DWw5^$X-E<}uvy5(5^<(^HSz2uevj*V z!|JcM1;efIf_VmCW>~sZq^3O_`wWDCLg@cOZm_oR`$DM++P<)s=)psSnNoRqHFecB z@uF2ce)9Taxk`{*w3+VTM@w-ySU2>PMuxT(xO;b?S76mww*dc&)m7O&IM9>sdc|a& zatYteVFUz_Rh?ZtNjgPE1G5V$%UGmoUq77%m7b7^75k7)OZU1#w?woxXQ~LVuSNVJ zv#-i0^yl~?J%6E_3xN>Ips3TkYqjGrj)eK9mueG7jeynuA!vLHjyx?Em-=}?@z9;P zixx3Z;*6DSUd8@fyk;~n$=)6F{#h=`(}P=ET~6Bssq;$TCXh?b*qp;7rtY`>^o9G_ z+{P3@24Yov9+AW07Rcm8HFNO2hvT37?s!E<{7zZ=D=H~N%f;_-X!=mppndFy0wvA| zx=dI6c3Hyf{tx=+b^ChqCvQ^>6+Pl39L|YU!@ouk2CyU=$dDc?NPAMv7Elke;g^ex z>6|8N%Zh1Hg- z`XimAF1_7qrL-%#A^juUoin)ye}3~;{6WSvF-q!>jL#H2Xd;i3&B-+y~*u8ZR_8Fhn;{VD&C9&L! zSS2vrerD>AFL$v{hRg_=dF5GIPuSGvl^^L3_Gp98pc|4Etc>gM8xL*BN zl6nc(ls8i11Po{L%|Xcb+!cR^lADdX5%1~2YD-N$Gk3h0s<-1M)ziV`>+DP)yFiXb zATU4jyGUtdtNFK&%uu$m>35IzK&gmVy=$N-r<|EeHPfJZvA5Jycr8O=$#v@XeubJo zhwqm-$W499hST5eC!zD>gaaYK~jWUB`Rt3R?%l!QLA9-75{p~*G}L$7ex%2xKH@)DWmdV% zB9_(H#VhAAS2Jg@pUW4pP?xn>g1DfjR>zU1BOS0mxI>}l6<4z){(4^$3f-Ur46+>D zDEkNJr#wZs44g|cJQlVG3(O6usCtCATf-;~*6pAy51ya-mdMA{X+M%oXbz80dt|@) zWrlQwKctB|q0}X8)AP!c9)w22^`_~`_i~nlr%P-+M?$p;6ho9eVq9p(N{9yu*lZSTeWO4OBHh)k?&FI56d+Xh!-nl;Mf zTCm{hpJ3m_0y?xw+I3IgbWI9wygeqYKf#f#KS=CK{*G6qTT>v*n47Q%*^>9fFP>31M!+bZHmXn@c3?pk zE|FZgzb%b5#|G90MVg8Q@x$`&F;92de(XkCeNmlxU+yUwkzSzn5fAgH#~gz&k=tbY zyRNs>L-Ou~Of=3Psb$yS74L-+E~5;OlyPaBJNxv zMdRS9SKrinGI-q)Ft9 zt5udjIfW%-;JJkX2Jv;7NsIyyNf+4-)zjO;Pw8yD2^$(+YoP+b+jLAp%Vmbd-&ZJcE*f5|{U&?@62&>v*?3jdt zSu8}Yfs~o}mKe{zNQLrdF;glJa5B!KO;xf1onon}rNWP97@G8T7Py&&01S!9Cv>kk zd*k?LhI_yCi991#R@9`YYuO;w7;7+p` z28Ma8j*SJTA9){z%3J*27l3DiW1}^9_Q{`A;{Wl`QgjuJmZEDz^_WnNqFKi0;>74e zI8~8yayH({;eLviB@v4Pk_H##)~I~&D`35(mo>OzcC^JdzPM~Bu$?fDHxIp;_Q7L|*8cUZea7PTV*JXPx0&<8>x< z#+{hU->kQtFT;AsC`bZ|}>p$cbP8ksw{ z>FDo4S+?wX4qKZvr> zjhURpF;b8y>vP1$>tkPkJXO}`ENu2Y-kv!M!QuEYR?wy)#?N8!F<@7Pc{K+&H zbUT>rn;^-7V_Jq{pfG#QuOCAfHmrx)l@qcNVAHSBjPV=A23u%_Lxpu~|N-5&{c zl5LDyWk&!j4>ts9N)Vx$^%3$=EqXaT3p)Dv|}nkN6=)4iZ0{p|`$ zgEBAfh{BY@=GIZ7y6}@{iDc$2+0)>^9*!GXPX7kj(8s2S*QyPMKCdryi;DQ^=SBv@ ztYg__1X6f$_ne$>h28nQhML-D@t=pO5o?LKfBRd${-PM==SG4B(*pxAhS&?%tUUT=0qFn4K0tnm{baWvv`dJwUN5( zlNb&bztY0d8)^KRr@X4>X;*PJY>xHe`mBHG#-X)5GvfN5o2ie}hEd1)xN&jDLG1o$ zx$FA!&E6LeX`j8o?xV@B*pa}Wsy{eCynKD{&t;|)jN8vO-fFGSiZ~!0@s@vFc4t!= zrz>>#eadUWKb`R}r*P5?R{jN9Y}*hQpLjc}yCHw3LLs`4YHuW?W3zX1sK)QU&*uOX+Qd)U_u05nc+IVV3C6Dw|sXuK~^{mvO}hSUs{ z-t#~>D8+0*&UCi=M4z+;mIu9e-=im**`_|hh$B|;I!A}~^Y7V}xv5nUHaJ-=QeepB zKpk*bFkpgt(q)vcJDSU!=dJRpD1C?1wGws&`{Y6ZSLz$17VV4V+@;0By==$5>}a!K zIO8x(i6~8$u&owOG4%^gm;h%ug8!JrtwHioamPXvj=>4XKdHJtxF(+v5y)MV>Z`P= zq&5%^Bzh;NCUT0z>nUTm6{A|FfJH{MF=NWjp9Q(k)?D#hzGtK4vyd`)$nhbd;=EG2 zt_+I%k$q*TQmV6}+PR$WG3z#SN*k7qf;>WB9#)`cQ@K*``bXvE)da7b{cBaPPn$3@ ze@Y{5-my6@`5>jYnXMd&(V*HVB@JY8C!t^ALf6$J`YSr4n`Lq&%fpUiZ42UGef|k& znSNQe!E2-~aIaiJsawMEZ8d60*=kI^Aat~ODs=>N;ZWLzTH%Od&7X_wlFMuGB|R0> zUebD7NU-jvpG3OxlmM`ySeY+Jyp(b2>MMSPeh? zOjU>SL}6Ru=JaybrxFuUj)XRe&UhsgPrRuTeGT~j^m;Zu69zuGm~WC)9sGR_O}#d!k=ZoFpP#@I{to3s#9RQQ1B3X1qIoM55rn8DB-CnVcp34dcIetTdO|OX1$qjXO)R=$o$mI8Kd@ve<^wX z=XkH8>ko$TAZj?95im5YGcWmmp9goct+GE5SxwiR*(S%Xo09N!oQWd?2RRvq<5xy? zCYAfB&EEI0<4oFiQJY_sOXBx$K9CL?pn8*+m+=&M_a!&yr_-P3D{U8ma|*W_{uKg08b@yx`13p30AuIIRSsIg+%GvY>bv) z#*a7pIQid4l3(iQS9~!7HW8fP8bzS2xHd1t_c}`uMv)Ok^qAnFxl!=byY2m1ki-Lj z_6u(LncsvQb$29hEs`s}c!kF-)QVHXvtWtHg5y>$I}gbft~1HI5>;dzoe$L=sgns>F(#uTV;MxAk9i{xBTk%z ztdlyaaO#}?J7dOG!9PKE@y!h01X@vMS_3z#s^dlt1l)Iz;*K$P0 zD0lUTU7KSB~i7Z%_rkW}d@^3V#*M_%si%mR0Z!tT_VDN0f`bO2cL;U!~Z=26twIq09sQ>jhk zBReENR3N`kV4*AcC3OsFqc=5^uW;a4Vcu9g8Fu|0wqe@(;5X#UPTwhFAI7RA&XKE)ij5FD5PPW`%~ z<-7y1EiIjA7Kv9-{=oe^vqjOT$@3hL&GC$^7SK8fvgN+nr`^vUe`r1wn!&(&q+^S$xbrBlI;Z_2b=s*Z5%Pq&qX&_7hE{`fNzT_?xc;+AX4iCuh8Imk zMGXF3_3B!bBeJ+BxGRPrzRa(~?-EQ6{`A5Q;?A&c0tj|DT}@8= zA-(sq#5}uCR4=e^ABz}pL4vRMCpjJ*$%@8EV7aaCn4Y5@ErgDjsHVu5rnr8kMB<(M zMY5`CGr^P4Y^X2<=Z+<3>)Meq-s*G7!Jn^F=d98kj83ZjWfRe8&XaMdSN z1&Uv_o35TfxsEsc7lr7%iy2?qD5^!LG0tRMgatY&x}N{HsCwB%Amf&IDo`s5_`Mm~ z#G`|l|K0VKx%EANg6PF(n+k@GFQ_pbHOZIX5 z70tPzQ~_Y@vgl;>Gtz$ckjDZDk^gIKy>jNuNkJ}zZF$|PALQz3tTbq8_E*Hpu!o)N zMdj9w5_@_@Yuh~XBh3GC28yDvq$CkOiZo~}Krl}2T*zTAU)XTx>1j)I%T;1A@Jh8b zgo-_+IM}8cn!%^3{{;h(51@0s|BVQpAd5mTKi0OTTBD5_pzw$E%)`9U&s%6H8XS`9 zIJPSP14#@X{Ped{`b)#zrzC#7it7l+qiFqvy!QNFHDOY!-f~A6$PGwC24|C+} zpNBAOS`sKl)11A2J zp(M$P=Xg7YR5QTkdazsv!tv_R_0*FmWG9&Mwc_habb6$o801Z|vMI9}8gDW7wfv%n z4MmB%UiFC3;c?UIY@-aOyL*>e@YwT3ip{T|)3PkOH*?AJ>OyXff{NTixIi&AOt-WH zH-0zW=)Cuzc1FJa2hx99IwxJr5zd~|V*N1`6G=D;zOBa%Xbr zej%kb${$uiQ7k696dS}0!FHTeFSJsEF222S5)^(1;KknkLN?L~W!DF)ni4pfB#A*R zC+aDZhQ?@hiO8`1hHE|&vEsIUn#O9aD0ux zOBJN@kjS9-=RU@5=RBk1OD_79P}`NVC;k^c8R zbw_X~aq~MrEU#BB?g^Z;z0-gwKi@3BrSYXBvH&VCogPw<*ZG^0`|r(RFv>y5n~0v( zg%i0TG=$)*-PDGq*x!=4Q~x3B(xdQ<>)1f>}vDO&R z(;V0;(b;uQ|NHclB4{>pBc({(PV%}Vw5{5LTQVNNxbuF?s_rvFx805#1ufVhXU#kD}fg>5?%2nF<>gSrl=?$gm}%pRfN4 z#Hg#-RLG}EF_`EytMq4+z6}j@Sch94i@h^B{^Y9deQB2Sgtd|8hUSF@yFz-SU(G{NB%Yn80Y_%Irl4EMD?PLXmcF4>b@<}=Y}GoysokW z+VwXM>0aV2sT+@O`|QR*I;$U^NMSO9n^W$45i^N&4UbQbLzqx_aIh;`)ZPa1 z|3r|UF$;gCK42F9WLE-+xbxi%-E&x?DPs5+85mOu(y-Y|0GQIlfq3@>>vhC<9kk(= zP~D*+4Rq3JEzt_XOS#jQlJp=g35hyJ>>W0?zM)1H?lFx*gE8S4e}wE;__4i;+0dwf zoW=%*E@C9L=)%(^86Vr=1#Zu=E%UCa4TaicvsD&=h$g)sJpKbIaTPp@;BauAN2!t@P27gyOY%3;@H-O zY4uX06h#9x!wGEq2IfWkXRzG2FX9;zgN9}yX4irt)-(?rQU3OEcf|Chxku!8H%&JR zU>-}D(3VeFG&ahVSXPushlPj^>lLS}7SU2J zAx@Wm=}crP^6Q`FW+ZPuSR-7=W~;~ck6@}t0E0nH)J8z-wxT;q!uA;Xq#JhpUVehD zy!8y>ddgaa@Po-eMQ+)ojQ=hT4~Kidt|$N)eHO^bAf~*94;PiX6Aj^A)c-d+H28n4 zr8ProVE?T-M7iF}{+4FDuAyi0*<9aLw>6EKFDos3oGl*kekZrjjd`bFwAF5gTTGX1 z8asRF-g%EY8$%!)Or8$zwb@lRQAk6?h8Obx|JWd{j^Z*#j%%g+<0XtE<6AWp0k1u} z@Y?p%Vj3R~>PGb7xO45QR^Qluh2_!OOe_P_B&|E%z@Y4IPUhQ^YfB7BS$fuNlI^t* z24d%qY?Y}#K8Oo)=I%rqi04FooBBBytsx*;G~oM&WUmN~{F#iEba=uN8st}Kw{%JR zMRmwIsH%3q!bo-e{dV=x{uiLM=B63rlvv`CC9)UKY(qRtxptibPlgb7&T9Q}Ix^QiBgd;2oGAa$hG836sX_5H}>8&H6JKpz&xhF^f|j zcTV>bT2&jYwSws~_lxRm^jKTZCjT6hm_}^-+6NZ^)x49O?M@2pr4QD`brC8^rzMm0WsG?$BZi)hu*wV zE*yKuWEKCYgfn0<&TKC#OHT9%*f<|ziDGgCMeRMT_WPrFu|Y^j?Eb8QnB5eIv}HU* zU^sdL-o-sWwRFUEN{`L4Ilr*^yJsx_OHoO9dLecAU4=9{jrME9UxV!FnaBLX;4yUR zP`rZ!G+MV%gVn_aAUHjzE{1k5@usTiZ|2#oWSNK`Phy5iaH+=8ff!14#Cu%zr5zk~j3+}AZ(5V!Z) z9*C&3qq~AUvh%qi~VvJQ*Hn2yeG+5>?Mmb-{e0T>q1)`qLrKR6LkZoKj_CPlZpM zIks0}S-C6i7HIRgH0aWN!F-P=TxWMnOCyl!1o1qFT8)v;M|rD=-Vz_@C*QgQag|!a zt=T$6$7a|Vg4iCMuY{kPYm)vf1t580xjsv^QiQT(-54_TN}G# zZnR*Y&ieF>y-_ZZ(Oj{M4Nk+$d-F#khcD`vE5%-0{dchNw}!eQ?>7@eP@&_9FFUnDQ=PUifZ|-q=ohbmJg;Wrc-8014uhQ3g$}w9G)dhFD`*T`D6|_b| zM>?+MWMX?#ywR`SmfN-{Quu5_4j}a)*!1VTX&iV>VqvUm%;mD3Gfm<5%|ghXIH%Y6 zkHNV?4N_-&QTAVgrbxCwos!^KM+0J`+Hctj5@=nbHp9+xF5D9kyEk6HZ3e#ik=VU~ zL*QC+ZK%(18whmAg<4D&#~mlg1$^QSoMNgHBJEhM&zWp^U-`2mLrC#)e;-1esdCL; z&t?Fnn`TM-0BSjyU`X>4pI{OY%(^wQDYZ)psSHK2DGC3AD8N+g!Lz^o0$y2iUpg&K z^i5N)0OrjiK)E=INdKUqf{qG_&>U()au#hQr;XPdjhbDQ7W3c z1?o=9>@eOt)bZ|~-}tarkY^99h~{Ow<95TLPO|e1Ar$R^2gn3AoK$!Wg6f4nu)7ubQa%b))79=x`ux!c)$WpOvRFKCO3hy2U=kXY zJD^x}E!*yqKPZq#>cm{0%5tTuo|*{~cwb3UsT7vZEcjE2Yw}NR)s4#Uxk{s-wiOyN zUj6DZIY7C9WHAG9EI)@(Igy9<;_ z5?oApBqqE7YQc|Zn5>D*yz7fX{jQOYFXoONj$3lJKNlX<3Pb=_eFUP+=n7;5 zoT29elTbkJDC9$dgwa}Qdhl1s2t2}q* z@swPLMWwjWYx7c6Az|D{v{5(OX^`euTW-Pb_rA;iNqzo+*rHj&W02U+Y@kX7sK8~W zz3t!|_QZ_3umpj^5@bw zpO?2Us5Iu5c|B2i8>!@j8>kmDN<(^wF+I)V)~R3kecCTmN}89daRf2CIllK-YrxNI zN@#W?q!UEas@+Dn5|i?8R_6->B@4Rj=fI-B0hK`Ay`1>fQNjYKfXvFs-L9*Ww;Tha zS9zR}aM%ZV*i}SbRb!rlg(d#%dP#Y^d)L1>vykdCke@V9W2D)xy{_M$9s_6bK9-oTjNM1a9C{U-@jn zpbqa&6c{NPDoE7sx4c__$OFKX?*o26LBbmZlJ3IE z3Iv15;3T+rM!^A6LVvr=OHWDtl7eAV=CR`=S#4oirT1(=2;7FjLe#l z{N%Vp^@(TszAP>F)ZJ>f;1+3vj&j2GP9p&A%qD=l%R(qX@v!wfu={e#KtEkzPIJ(8 zGrx#s`x^*rk&*cdk79F2(dR|6h8&b_MY=;2v^DxPpbOJbC|Zx}8wnP|z6)TyYuwU5 zyWo;S4l2x6D4cXTS_}nShqhwO$?fm2ytuTQ8oS)JC4*SgspYAAxX*PjHPa^T9q&<f4 ze3|N}EGZCQOAuc>5Zzcd+BiU(V4NlqHeOK^E0Uh``P!;^IU^F7@df-uQGk<_cPEF))U-nFy|QtQ2%EcKFr_)&0%hGs^QgC zb!&3bsI6JLoD|rpp7LK2gi9Eh(20`4|6<=6JuUr{^bOvi>Eugdw9DB<$DFKv%kavK zbB7Tt{8Z!7*4}j$h+&3)HfCM;+&!q)DALHgs;0rK`b8`IK%u48+25EDzH8CnaeMG+ z_w6E}hEkl{C2Bf>B~Ve~pz(|iM5^gGRrt5ibfqP)a~06bEmqXBY6@i5{)8)Ar?nw_ zrROmbJK0P0`pm0r5@g5XeUvsLd|fCtefT0@wBFm-aW^Vuf4+SGbpwJ+EE>#V=xA0# ze>Ezn2NkWH@cEqk*h--Ql?}!8U`WaQ-7KaWT+!H3IT7;t$Jaqn%vLvw+)FDDB|9Gl zetK>VE1!cl;@nV?QM``LXdnHBEqZ~D0IBUr?kKuS;w2=3fVyBLHw#@wi;>&#BW|qw zt#i=M46uyil#AC5sE)&sTMyD)NJVfL^>z??3Y>=A2u3 zkgHDEt~qg+^iwJ^RhFU{d5{@hQRw|lrf!ehWfMrNf5!xsCCMf4+lB=(d&)A6h8)jRb2?Ov;KPz1`z6kKgsm{4S5 zpRnMRA@`$;Et}MYYf=KMUOBzjqiIyn9^@NxV*Q{ASP zpxOm<#>^Zx!$e{`tWb0`BX_MFQR{OA;j&rCFQ`SW|AgM6=!09Nkox>fTTJy$i%do< zlO68ZLAudh`^@jRL)#=HjkE%$zU|$)p%vQ$x2rwQiH(a+QU&z(3a9fD&CrTbpm*HO zvh1SH7QbzlGEbSo*oLeh{U)%Pq*#q6v(dEnN#U^JQ{ea>o2K7@My9hqxoXW_O;chE z5>~`M3k3kT`DxydxVq*OCoe}sFScBcL&b8m&V{Z1IJayWd2E>-$FI3YJNim38C>>B z-_JRdhAJ%AB=a1k2HZ~gT?(~V{Bq*r`ty~_oB~(%NaGXyYhj$CKPP}M1%RFG&c{E8 zi`7!$$!AxmlF^$p&pwVbr$SB1i*$2J{zOl&(uof>U%Z*2dDcJa(TuKeWisHg@Y=qS z7Q5D+pG9XQT;G-v5ZOdm?EX9O3>^t7@gaxP03>+BWMO??)S=S-8yVa;x))ZuI8uzHw7> zU3!#E-p*7RAIlPSX4o3d} zI6%(y)>|)enWu{w0(T1&-h2DoAP2*4#uNG9BHBIqxvcy1!t}})iaeM3iZ7T2b+9x- z!i+hDuIs2Soz&0LJYtX+{hAKAPw(=T#|>wdNz|c15hFo^%&RqsL3@mYdW+wFk9SHr zeRpCyC~fkLG1Car8A>CC?niF^BsqeKmLb|UMb5gN$Gz=y^L*xSPp>+4X-dj4?m|Um ztB7+u!8cV8Z+I}N;5PWSp7h%jdpH#mOToZ3SEqC5!26eqX8$EYci6CoW&lB)mI{n$ zr5U|raKd^n(yTZtTTAB+{Xw-=lrrFieC10R#yM?KpUlF`3Z>(OvYF6wXJ-kZnbUrt zh&a8XYC6^WR`h<_%>`UF^ubnbK2@AR@g1ioou)^f9gAcM&hPvo_c!G!VEcn~c|O1H zd%qkS-0pSru{@ThcV#+bd#qU{@!mP9sz#g!?rl1%HwrOxv94JJX9Pa`z3crlwswWB zD4r^5r&dCwqIF!X3~0mDjy!5ajkZrAeqW5z4M*(id)b%Z+X=>K4)CE)m7;)plQGQq z9EQf_-W=)mIyeUGUTt${+8vmjBxcoiJ}m6_?eT0n{u#icfR?I;h$p=me)pW#dSf-A zAZ4OPQqHDZA;VrM(EdvCDJ`INvqbJC+W$=6x_Io%0`2%Jas1QWlxvS>6tsoryi_9n zXVXga82cLgkp+jA)%rIJ$F%4s&UMaUZQ>`ZtKCkD>7|GMe=G|P8obLt3zHZ#MKPR3 z^$iz0<{s88+5|gfFk)dSSR*pC+C99&vj=K6HB7iF782S2i@J#`81pArR(U=ac`t_- zX4h>}l`b^IH1_L`60s*6Q73cM;H%an!WaZgfc}Hd=h3{qM?Mw84f-?vGddhR=lZMGr+VOb}y-Y#vPAHR0SG6zIACN*DAetP`Es<@y1ANwnh zk?o!nic0koPP`z2p8huX?^Ka-tUf=I# z4_wvEb2YyFX?d~Se2I#yiArdN|GgrK;UN&7j;gX6KVjY;gwH~426N<> z!XeR6OON64qRyR-$qh1F0}wLhjH7{erF}M54N5`m&!4$OPF!uF9A7T<;-ySNhIZW% zD%7)B>+|V?m?fhnrahUh5I?)|2!l_?qkmQQi)u#lfxhH^ITGW0IQk;GT%MVYD%{}4Pfu3xP|mI&to!Q)B~Twm_IzgjJ935nmiEVUwiSG0>y>BEm7 z3*%(BME$uCjH!m>cn4bwD%=JG?qykQzmLxe_%%`U;&v-OmH`orPB6WhB#De~8R|Bp zGBCR`+vR_6EUk+q%0`2fq0W2y{>Jp1t2-CxEUzjLnEo8;7aT(RCHfm*Zhp>E2+rxx zV|1A}XeWH}J}mt++Ndb$kYP}>W^Re%*Vbw~mpN-BBYcVDXGam9OHh{cySCms_^r{k`l>*9Hd z?0@!VPwIo=Mi$zccRo_<&{ea-`ol#w^-68x>dlOG;p9fTko5c>?#;IL*#+U@-P?d9 zhsBa(AEv|?#&sD0fIe@TPO@KocQfbz+Bfv5u% z@5%4ZL_2>7KDvEWH`6&n{?=ozYOb{+u%x=d;GEPH7^89_LtMb#%%LsQz1n8&6K5{l zV$#jZbC(4jfB5%DK8CP2RA=i)Eako3;J6CV=&4U0Lo^$7Rdt5L7lp9gK&_urX!1Be z@|aYqWR#&lgWL7pLBPR_5q+NDS;~*M3frM5y9h`a%%FXxj7p+3Lf`zUG$ueZ9F>0m zhLYnno1q&g=`*@POkJ_L^1gGs&$w<3`&QZ9uj|H~SM{JCgcvRmYj6CdqDO>(Q`t7e z{5A%WCo)lHkN29_Uy^Q1XP#4O2ww(qOJ=xv9|F?dWcz*gQfv(iMPEiR0eL9nBltde zzYy_$s?oDDNQBBB;hHy82aH7H&wl4SVvQI=^J9UY#{vrnIQ*N8xbO_555e>h&GgHiK}5=(!!h)Vo~7LJIVMY`L&WVGyzk{XJWB(% zU97lBXf--=PTgm|5LUq}I7;_oaAw{-erS~cyKH`E(bh^lXYi|$--FA~(JIHa-sEL3 z=VH57(|>#!H`C5p3w-4I|FHDlaY?@4|M;tEWoczYZHEN8CF5S-uyEcf19#DR(fQN#fV{&;`BzsKYL>%MR9`<%l$=eo|gpGTU)s~MQ+ zUm+j`=qe402LZhb6%};4>s(Tq5Vrl@{%aCFZJBSyzhu9+haX$-)`@-wTQqAEkD7Vx zUi_>*4b3gXJ%Y;K;NDf3mT7ZPUNu5nQgdM;V$}m2dx?3Z=WkupSnr#JW--U7g3qtk z*L}Ju$QJDS^C9Namp-(2W);`NY9TR+zGB`wneQ?Wfa`8)F;0oSp&%^0A)aQ3zS!Q+bN zPcT-6AI-1*Sml9B=hOFpF+z14DmF_e$9GM*&esw&fmY;uE4EU^r9K+zXtw<=iMd-J z>2-A~qDjz65)|jrRh6lD`52Tm2xTT#uJKiH(X5hI)^^(eD{Xc;lvhIZxG{)++Vpu(W;#iX3-$Gm<>a%IdW#Kp zR03GF`o}T{3VJ^OlS{dVUQaGPlWq1^xKH&N z#HoGL8Aw2wlewgWBy^xL<-Fpk55n|~z=ScNVD^!l=7gcMn`3v_V+Y9@Jlxi{Mlg{C zGgOWNuSM#~CK}b+7F?eLrAO{uRz;_{*AywgNVfCS(Nz5{u$w2iEp<3FMfLVM0T*`L zrN4x}8*-I4s+`c8`x(by&a-QM2xnzf~rq^49qQD8UYsce%Nn#^{X7!Km@su~#Nh0ME_9Wm4e+)-o24%*cf!coXlEQIvcxBf?ui|_9+_m zlnsaRQ>9ZW*Y?K^!^?6p=F;n!j zBdnNrjbatgYQ54I!6oTsQ8;Z>bgNE`Gtfr-4|J{!ar*Z>eBjp^-+0%qXD{|u@VcYy5z2z3&)+`y)wc_@bC?E+#fJ}FI1Vgmj;BthS*lP z7FZ9cacwyA4Rsk6fjxh6guy+ni#{oNT0yM$-EXOEROs(s`CZC9ZRGhd4KyQ#Qe9W7 zS9YDa2Y}8f-G%6|dYYR!mGoKl*qfBx;fD0Q# zgL(s77|RP<{zLj~6KfiBo$Pa7YaW#|m%ja+H%j}N!e48&u;ic_E#Q-+qt9rE=;+z^)N^b%z;hWl$sx; zwDe8+O!9tP;@;WBL!1LK?2K>Vpzl~AAO6$!13({qzR^oldU+1L=_f+b_fuI2TQ5); z;A7rJ;+m6UtQLD%a6&dtpk9DufAsO9{Vpp>IUDu3mCiZtHH<&~GZ3!wG{MG1(wO~9?RmJhs+GN*m9&}k2L7BoXrFCTZ_Os{o{$mUR5f|S^dLaI7pg0Cj04DGXqo;peR zB1w}qnDTQ$FN&IZSF9u>^=0ao98w9 zHd;NKqD=9a3gyG9!2A)S8|Ak5E$#9S_IT|382rb1y3x%0NSlqw*puYq$%UEkltdD^ zDEI_ce#J9f2yEhOq=ZooO`Bf;mZf|nRp6UJFIALEDL&J?EB1#X-=MaT#{(hM})*5=#gAw z(RinS@*JkzN3ZT(MHA(BR*;x~ey>FFwvnQ}`VGa^Bk9A+i2D`<2Q;swKX2~lq-&;C zrDm@#B+y0CW&l|l}%xfk5m39q*&KdIy7U#sPl-uBGuV?wYLZKX&|4xCb@+c z#`bQZ|8+=ip?aLA7}SN>4NKsUR!Gh<_j9-T7;SY2qFtscmypI>?7k_(3%*g>A1RGc zJ@rl?_oXJ13-VqV`U#AOimAi`zWPeVR7R4YkX>GDht*GK75<;QvMb{9O0vscn|z&U zUOCSb>E)Q6Lz%pz`CI=A{pWyPNtnle;D)&_EJZu;gVjIC)WR^w$vV@}Hf%mtYcuPf zBOWfjFP{DAEbH~_Ij)q~&e@n+u!~{NL&)_`A|KAZqg(1?B_ack=KBnfyr5Lc$Dzeu znhqzU=1?;x#<-cHn`ua-u*L{n5SF}FLpG5kP;gdoOrw7;0<+bjuf1C$O0L zXeO@#R|h-UySVvbVm77Zz4V` zeKi>&Y`FnQm>(-75|I$H<@wgBWUJTjF6H`)bD@xoaXB~kwURC5q|5siKvUQ(eN+l+nYw~$4SlqoF6`4E&Cece@n>Q8_?#e4LNJu$zP4k z&C*}@oWx3%5i{C5ZQFULnxhGilH@7itcROVDF%_f)$G%G5@hGmru{mEpzp!gUviuY z{9rJ&UOUqN?=ROP6dz#cfj*{_4qibt>~ZYW=?lt9p^=vl6*dVxn{}p=gvvw2C~8*5 zTiN+~V3ymuqT9%Am}5Q0qa?d8Ht<1QEvtPy3x;$sv{{1HmBoLXH>sQCf13YJI~PoQ zPwQ(4bg2P;mkErWP2Y<2+Zn~T0*lfE^$S})N(iQsJ|TAN;u0CbKe6+epQ9*@X@HEt z!Des)w%KHef&JghS?gG{`@OvpHHgut`lX{rA}GuNCb;Qc(^e1W9)I9$)U0l4Cb+KF zw<#F3zTZ773&mb6L7Ltp=yNx;Uhe+&W|PTf&i9aOkjzDcXB9t#JPJn{7`B@K1e#BB z@xp*#b<+udxx(y+CC&2d!8K>;2fT+rGMVMJcPezJn)Ar5{h^DE-Iy)kG(=)Q)Rhm> zQ>T|FGil0XNYup3^2)N*+5>2yWCc~(>ELI~TyN|AX8N$8Aj4;>#|3R=r*0OZJ{ZnI z4PB20uj}B}LrCuE>0~EwF+hr&f_ipIh#~Q1X*At*SBD!Z6DH7ofWCZSmt#FMP=p<* zLv>#)7QkQMu6C>E5HJ-Wy!+x_O8=YP&LsNNfHj$fJv81_VI5j)8+O{e$V_D?ha(TT z4y%VnoQF)dx#|+3K7mYftx(eVTY&46dCMjDb_55FHU4D^1x{7)d5g1XjzohMF8%E& zI;QavF0oN52hoWqgxV3d`9m3Rgm#F6SwyL3Q*QI#HLMIQcM=sniDI<}Zq|Lle)g?7 zr5OlX4>aEVHQ8H(?bJt;!Hp57cL+-8p+p(~7~3e5?(HAZnkVbco?>G~I!0-{V@2Oq zJtxP*O6)wwrN*kCm$s=b{(7uJ1XqMdEK%1F_PP#L3u-%a9;-BV2`njhWAkdPftUhq z5{iYOv7^JHim!61w|RiC3#iXGK(Py~vU~{k-|6Jf$DetvEULVFST`HVA2<^|cNeTc zr5r^c^w~xeTkK0Sf_LUZ3gZnT6%Z*+!>zN});%nfM2W#jJc6}uZxK)}Qa|cZV(-xO z36yI+V^EQAisp&Zl1M+u62K#jLs=Vi=YBCeJjSQ~*Wr=9_0nf;6YxL9-8&_K=Voi% zdPh*?9`Z2#84c#95|*yaB$GaEU!Bjz*I6pNck2876~Vn+wkXX&?5)+!dNjsOA~~`@ zMayV0*t8g?d#4?z^ta_~hD1;{VJe7W_Ar7Xfn&RLl2|*U1!f5D{fC({+I|#6i8C3Q zO;&@}VzefL1xakotV7>_{innP3+d;bB+xS3SCrHeM8Zg#Xa0Xx-aA7-=sfr#i~oPB z40;Qi-YDP*Olz9Pi2Lwm+xJU*X8__g9AUZmt96EUwAe@&_K;>q!{5XGXkaIsckP}s z{#~$Z<#68g&wPIGZ(QW;nhW}1e)&1SX_fQX&Ib`26}2mSXFA?&fd929`zPntXa*1a zwz@U}MUWWNnc!E;=NHktxa0nZDh-p{Gg=<>;A7s*lw|Hh9*_Kjfa90*DT4WIAsWhx z3{~4rQ{$UH4M`o7V+=35{qe`8w%<$@qy$FP*O|^>%V=ji0*pO))!ChjwICAf6(ZNR z8D~(&448Vj^%tTdaXF0_8s5;ht8s#yY=SN! zO=-$?HT0XvmhUDf;e1%({IX_+49=AVGKbupiVHph-9iKT6^?3cB>u=>@P`W(DcLMN z(+sIH>xl2>7S(4&2yF-C(NNfhi-Hvb%VUu_A>qvui~4gjYQ7nNNv5_!CGe z-5G<-Z;034Pr?=>CtvXc%j><09d+Hjt2Id>A@%vIx#BQKKM2^SY1t#)niK-&Fb(x-;ic-~227R%#!P*=>n;*j z!#)`F?`eD{tVRlQpPc10d+?UD+jrUT+=!dR{}@KnXQ#mlPD8y;+D&vaXgzot>aR~_ z@{zq;^_O^fxF&r7wh<58>R_k#Tb&a*abiCN4&-JyuWXNt9t)ZiFEGn_S#3-W#?8vl zNrd1tEpoF|#FT$TdWGD3(`5UHt>$_5kgsyTEIX-nNpNC>g(I7gO;n8M40FV*L~;ja z4Q?uOPyKb}ruMI$Ge};J6gj3nM%&i5RPZ48Y5#k$%Roih3GY$S^q&?$+GD1b%Ynuv zVJvi47_~oV|1aRjV|CS|Wp(wN|AfXwe6q8At$LyJBdEuv4P~Z#Rsu^i?eOfvP-NPhF-FC+f)A(aYmg z1=Lzbs1YWAWLp4L6YSn=>N5xJ2X%pJJye*{=5mr|HeQ0IU{V%<)}%z3o}Kz^S`(Jt z2G3siDjiKBB?dZQKFrnj*x`^IPz>*(eEb{GoG+_3y7M0Zf68f?u2C$za9412K~He( ziMsn+st#3Fm3h%@JwDX4jYxf`eeE+C9=SN=tJV8bHhq9FB`_&iw1EAtp0r$d=cmx`*eB$y+_S9ITGMKV{6u_BA>> zyoiOO@BGgRHT+UVHB`+FFa(SV-g$SP1^6IZQ={mw%>01kKXssX$Qzl^wI3&e^CdBP zi-2%88by$O#}U;A0Jhx2(~rYs7gQJBiZxrc8={+a=SGhs)S)D#`a8(Tp z?c?DWZ0~?p>i9Z#<&@K3`c!{pgJpPSbaV71(ZdPtIJKF`+Ie$pDP&HpISuP?kQDOn3!=|R1CZgj<2@ii z6~h#^=}5*$Yg%7tX(|_<7i%89`$2u4BGklw~%<$4_$dVb^5c70gw7ct2Vr4aQ zj~U^-21=Tjh#61!Y~(Tr6mz?z$oG(+*jDodAI4!NBV<7|98f>ct;+f6XKi$#Q(4WDIhP;)J9YY^YB#<7?fqS} z23ngmrHvW{PudYHCuV3l$U~5|^{Sq~e{|Hid}frD|7Qs9vdtg+`P(*Rw-Sln8_t97 z5&FlaZQzaDvv+(^g3utYyhfo{ISV zHe70Qa!>>^1|35@lkwvef?Nx%*{BJGY}M9%1`7Z+vlrA$H4OmB<2T6WWxKOYoO1d$ z*bFrqKhkAZby~}61ysW;nfUtLqXq~FGY#^f`MSZw8dR$vA(YI;w0VBtX7QIVi-HN6 zxDhi6Yd^a=Gm>#{oS7tBOLO8j%iGv+M z7%6@LQi#dii_ha!RA$ z{l`vIXVaPCtKC>hb8_ci1J+OpQ_K>ycAf_?@=eS zx;#^X2@hvC=|F);m@piE1&7)&Zw(G2Pd72gy%&q`g5QX4Mk1cu1@L$ENWZ0Pf4k>1 z-ZgD}-+cO2U7XNLW-m&rZhj(H4t>cA=Q;g-hHOanEBr38(YcC*a`Q|Lnoi<8TiDa;>MVD%|cK<XGZ)Pn=DV@+HSaJ4w*y*ti#@)Y2eQVAc)+C*9Fu^HEh( z4c>g~vQZ9l@>&gprM z*>uaidCOZZe`DO+GbJtYLOlnfA6sYX)o&J2Ji@#D&|1~pj19NN`@N>{mjh=fDG!`pJ2drOM+UW_*JjY_y_t=&|q~3b%GfJdHe{kvRY-8uW-{k zd5lOZJV_-TGG-&FR4?2O`ZRxu+)}U&pQ9Me-)w)Al!T+<6-N;f;941%H`dM2cA|9 zi+U?Ce=+6`fqOUbr&78^o!%8d=!%pioW83QLzRzq|(g*M?U zc-%-#YUghu4j-Gnz45hQMHEe=n zn@Ve%ZqztNqgOZmeKNDNowKpdo9o_tz_Rb$uYZxAx}feq%S64H73%<(QG4-&T+8x^ z%y)H;;cYYFKJN8vPJ*xY-{BzBEe7jag5A?m_s!$pZk#4vyN12%gY8!@%`4n}D(VG5 z8-eInGiUB+gDujzfk(#0J%UlTv~#Yb@%t~U5N_lX9v?G3HLX_kKjC3kUV65>%VGVRd}31U_IqsTt0Un6&LO zM@yj{THa0K`Z!u-JeardmoA+pP`k|lm%JXnH3O2ZHnrE(3^Ar3J$PoIk_i@yDVl-6R<>#t+mk&N z=>5Vz1(OL}*Y@;NY_R2;_}WTi_<4WaL*zjYB1iKqX0dNdU-^m!IyJZHRkovrJpi3C z0~;4$$JlLdO|5Bt2Be?~M*>@2G!=^}ySE`IhcM9DY#&HOE6lH{4rWN4XdD2C@2_L* zCuj94*u1);jH)TGum;SG>cMJJNU_r_m7IseRI&myC*U}{V0bVVGA#I8*o`vi33;T1 z^aL?Jkv47?(MO+2*`Z@K8kSpP)$bA*<+Q3T2|K^X=bH#xH&;>V11|~D`>$gy(l-dF z9t`2xo}WYzbk-j3fz8|KiTP)W@@V&fUoFxrr36D`u;pk|Qqr z9>U@t`D2Ye^PvU4pXk(Y(?WnB%9KF<_RbWG&Zg>V)n_?HZP_<$bt}H1nw&*DwJN1@ zJ@~Mu9U)S*yRS`#>$=Gjd}}vcvJ26jysgi39%|`e6n#dI)S|X8djG1va?rWa`TVKE zo`i>X+;*Jzul2#_a>?y)NOBuV6TynP-GR{uXJVAhuI zDycOY(@yLH7{+i2TiX~Mq@e#(*!K|6SD5M_3O<$lQ)Tpc;7k4Ndh63h1^&U-Ksx0I z<2V5m*tixKaLN@i4UatUw)gHFjBA%U`PNT?V%<4=Kc+7Gog<_vW!dV2^6Y$cV`;D< zrhPLvETq)^Q11^RAQN8a*h1rC#Dr_-(h^q(Vvmu6*mzn_8BHW8Fkl1oDd8myJZBmr z)1*EV4tL`bTnf_SQbWhr$`rzHJu8`?qoYpu17$W$fo_SUqXqYlSO>qv-xPQc#6ZDA^{TbNW6&7yn80{N>>?cctpS>!sPTO>_^=W zY#zLD^h(rC8`)w6TBl(C1EgXD!!=3!{n)@`SK6HFabL#456LAq}h_w)x@$ZQ^hbHnyZ%b?5E1Vz8|9! zd!kIXRCX~h-TwXLCZE~t_CJ|=B0!HB@u1s=~|`&7njFsOw8 z@n;;xmFFW&z(Q`LYrXDy)wOPr2gt#u(A&(K3mJBIP;Dx$x%2?Deh%Y!gcSh&vYw3@ zs);{9J`3vE90zs$9l+&|McB{Qt#3V5nSviSCJS=wc@o0#Jm(`k*xn#zzwG~dV#Y-D z6YfDXgSdY3c+IbH??HFQ{cc;;f1LYg_;t1PF>id*5_fN|F>Wdw)Lc0* zs25D?cw;kAHIr1L{;B_s&BXBP(uJp@X67OFh}QL|#e7>R81^~guxy!33Vk|COXD}| zD8r2k47Paahg<@C>zf8@ocin9iKxpWSh_V>55yfI^}X(dgmmfnMxE#UT^ ziIi>DUvG?cmgQetu+9U#)s%RafwHBXcaR_jZNTCJ`##OfZ0BAxi$ZB`?`UdHs&o@l z5^)brnLGEz?9EdOnzGL_7&U^7AIG7h25e*Q>@P~Ld1xzWTB?`ijaRslH+e)NCN66x zqf<}*Yy*7?BC6!*=OUG;+>|g28f)0Djl#Z0e*CT?XPt*a;xK zm|Ljq#2hq4d6>YydyOK}X(r4!B9y%rS*l!v%>fTOoM1H2$?Rh%XHK3Uz8afu^F1>$ zn%UY(!=dA8A%62-@x$Z!`vVNqX@+!ukk502KclLhCND}4vlH&bDCt`gj;+#aQce;8 z6mb{#z;VTm6D};tKIezNjZP7yu$wc*K(fKg@y|=?iLYJ@-ElsZ0Dr66TUM27NJpJ3 z6D6#dHqtfe-{Zx-{U%iQMqA9z(4=9+my_desG7|OGx-K-r)^80C}UdvSi&KI-6drZk4+c&vN4(U=iP`<~aT!j_Y*QGXD064HwSGN4W zj{g(HIqnLOOb1A&)ZJXflw-taHQKbda}>gIkIT#Jj7e}L+YNDSqT)1NwX&qQqGo`B z(EdgEbHU4*s#G^~`&RDdM}`5Xo^?MADnL00%$uG8s$Z$Kdu#vovWIEvYqHPw=WRpu zs$d|93CQd_(9Si|7c2P#+dCTUL5ZCPY<4@Ha#yNPelI61(aqIc2VZOX6wC zTtxS(qymLc+j8DXi(c|Vf1Pb2D*_KVY`NTOTZrc*Hdky@pw`*|I7u}l$Mc5Uf)r_5 zKNyjc?@_C*w830_ix??Cw8cg=RZS=oGlL0X9%1LgZ@6QVwu230<(j3J1k3i)U0;4v z%@h0gG)tjxaWHpqU8DcY4RLLbbvNAlD&xa%jzIgV)nRY=zIBs^H~h?FLFhz4o!u

        PMqXx$23HTY{<#qME|?W=CE;kgg0xa_tj!}4sG{7d}y1eX*uY#+l_Yi)<~IB(`a^>R~Bgvvh4 z%pobXVjkPsO4pzd@1D~5eaKEaGEmbYYB@1lW|1ix4dY2%cL{f?(1UMX_S`5d$04s; zt!6n*v#}Vwc5#Ftl11cPw+2J-`r&Q4)i}y~i@6w3S4ezBUHxHO{kf#OE7p=z*+p0% zuWHmH@h20cnH4Xy;C8!7yC$-4*Kb9lZ-iq;u!w`qwLa()`Y1ndth1DScu_;&>Eowk z*>`lQtALcy1BJ~?O_Q?O%PH%xU)P)t{c zv4>i^^*3_d z$u>LDO*pJfZyp1_xZXXB78z6W@Y<@>iu^Rv^W;^v19_!ZJ5kY|59^(KY%STthn~B3 zf9qKT$P-%cl@OMQDj%;?i-3gmy^3zULd_lR+$Vq7R&$ylA;eQ9>g+JNBYB0Bp3X_G zATMt#ZZdBMAE9m-hyJG`((XJY`9zrnH=Hw((>FW#bj&RdUz&_{BzRlJJBl3eQkB9d zcPx4V(vg2dhzNxmT~Ah7dy!9umV0bRt|L>&&^N|!Sp0vQs}5;;oX|_`!SN@fg6`GM z!M8HDZcNLpr?B4;#|Yb_Nb%&5J;Q2yFo^slc<}IP*h-U#;UoGsrCDhb=moVO7MWIm z_MN<1YBNSi*)p8J(sYM-onAa$l7?*C;xtULr)yIt$iCDXd(?X;ooX+sx+xVA>}`o> z#beyGYAHYdgj3B|t`(f6eKFs9@e#Zc4epd^qmvo5Yi7xTkAT{0*yQ4_sFRNpZE_SY zb&0bYbUlr0y!01Eyd2Y7cWq=QmBmTrKL0ia^Y<^`m-FjiW%$1126vUanx`}YdcsCBbS(fFmK8_4v73G$7gG{1y{p8?NN77fFumrd4}$Aq|pE~PFX9TkLX z;|^c=iDx54{LTUkLpj>BZqS}DOnF+-C&<^r&qg|*NVIW~Nwrep|^FJDb1uMhVlO5-QRTu+ZBWSQ%T9S`MmohWDOe^-r2GXax?i?2d&k(*Rq%Q z^d2OyHmvUOukAg}8%SolEY9^(oI*dH{C_ShO!$quBVh2aZI9bJ!OZV7bpcJkcqCsU z`7T4jA3g!mYyMIvsn`7cM0R-1_;G{Uv+oX48|^sb$4KFg68tLkAJ$Xs#9Cb)H|zF}qifsrz2Qpm*SQV%WKEp`%8#Ioj*XgJEHs+;wp@P|Xp@ z55N%uo5yw#eZuDl1_h2y5)aXY@^wOPRw?~dBRfeUnb1l-iCqp~Ik&O4C+A#lfIo); zZVCMjM{$uFhA6p09@gmbdrZyfQYmV`2OO*!{$*t^iF{sd4!jl_PmXw%ut+gOuPy3S zo!mK~FU<=PvbU(1UE3XtZ)OImI19l?z}cSMym@RMH$74>%rt$i7WqE&afBhe^AOie z{_?I~v-jBw{JP|f)7!m!7@LFx&SB?~G;T6pRcfNQ-IW}<3F^mEaw8$##uVE>J{NO;9&*iwR6ReLS70T! zAN+LgLfi+Y5%{*8Ci5qcKqhEsm5#}ERJZt49eOn4H~FI0Xmvuznxgh-ui5?qR^!A{ z_M6_NH1^Pw_s3>V+6Bz^2DAMwOA+ehL9I4)*U7WPQw$x3LAlq+#IF4t__He$v5ns* z?D8gdUPyYDfGb8$tc0P7H^e0$JLx!y`J0Rx5BJ;mqQ@KQ&KYOU`yftU=u*CZrClu zFoQ-hP!%>FttpI2%}o#aLUrCB&#w^Pr;GG6{uK>7`<_jGV_s}8|DNz4n9964BAw>W z+UOVoR-@gWLtNU8kN8RxZBjZk30nm9(?pTk@s%OfHUYnh%<^+XCc>$Ez8{+=O^ikv z=C3k(q9QU_UOuTd3%E;rhS0tLz8|%9rX>7qn3$ucP%b@OXg-)8Ud8V3C*N}O&}Tb_ z0am&|-Zy^ijOM=qk$fg&WYj+n?xBs&VnYuT(<=oY1MV{i;hq+oF~+kU7`I(rd8Srk z80lX{ea)behBGS|;pa~X=s=;Lf#$^zc(z|8S=8!}3ikKLKEW10C9+woB$U3|V2iyW zHaigb0+2QARDgWccJV<@|Er@y)SVw)hu3D36;r=FF_fRbz&5&fF)Zw?c#6aZW$`$< zv!KUiEcsQ)ofDUR=!bllr39|xe_CD4bQ$w#CoR!&3uhwImeWgL$^)w#?}i0x{AzUl z6{nTB#_?FqDcxn~49Q|6={n)&)7wJvLK};_DcAikqR+su-~!&~(EbaiRj;p2akp%=&T8m$Yg64L4H2FGddM-EqMS$|dsi zCEznR6HehGrpari=mYRfJmu~xx`O&pJB*I!G{71l`t7Dz8tzcex#9^=p$Z;MRM8qW zXNtp9iTutz+55W1KZFNvP)=)pPs(4%sP?#JXRN2_Y@P4@$-e4xwdvu-hR2wPsPiLy zEx!LXMOZwYH*mBVDTTUWpY|W9qO?W~lGM$mxCQZMY?ns_?_^l8lZ|GGRF%6J-n$vb zY-FPjL~h)6b$iHeV2t1V-%-u_*_$VP&STtVlBsuPzI78~PLW2>;MpF>&F$Z6j9yQ7 zmn=|uF#)_FR5D|{&X&S1Bo*oO0gQVM+>5B?6eAFUd+Dn#QQ!2!?hCPxh7axP)X1CF z0yQ-HMn#0R3Y+gd6K2u)j=36C5@@`V6Vv6$p1LQaqwQbS7%{~yMnm-DP0Kp7K)uK3 zzoeFmwBuTC*)IOwI9(#&&pdR^rC0^-2(yHRbfGmNtCTLS>Q=q(_!LyPbN|v_$Bu^V zp#GOsIUj|ScCD^`BdZkPq;$ONo*7WAHXQkk~~R?U@=Zua||->?{5nH zh9_XjBp*4aP6*Cs3|USPQ>&kI zzM}k{936ZoWBtkvF@ZfmZ-%5u2?-G;On%0V*JTQp%|o3PX$e={NZ|;IzQEU~6H%Pc z?^BiI;oL9=zWGE@v`*~_{iT}N%_rLTU(5%^`rk!9qfFd333U)cvBnuNud_%Sh_>Y74r?`bY)_X?)MNS%Cqr+|1HkHQ`g)# zkj3S@LeS4;#sy`^h;NKY*lL1g#Xl=`8TnX^2i*(zZT1#7*d_%7J9q}qKJ`Cm>MtgA z?f>jAPfqT$hB$R=FviWshVW{2<$f^F^RJy{e9^iY(O6hs>3~x|!R*jreFfL01vcEt zN#G#SxQi!lR3=1No*h3_yk*FO{BbbX}D3-T{9jr?3C`{>g&pfT_IPzJE*uX zkx7#}o;i|LVCPWkL#S1Ca-2HEf zaP!@qxh+x|x%Yt5(z4inm@VyBvv3Z62|amS0yR1%CGPTN z6E%hv5x443X-K&#HW_?@O)Rl&-6t1UB>|AVS!={)F0aX#Xq@Cy!1tet#GNaKNgRpK*?uS)WEcj@*}fbXHA;tT4n*eeDg5t5T#^vVgmdT;?co< z{PW5y)EG6vLJd16#lYgmg{G&je)WxuTfO%`R6OLt7WjTgM5{S;hBRoc>3!}#dtSe% z|D1l>8J_9(mLWFE?-&Y5RNh*@;t>og41A6iv^sn&DnjJC;IsVpKLzru%n7KAqBwKKY7QeXe!~2Wm0r^>lA;nk9!Q3 z|Jxnu#PnWBMt4<4cU?wrQ{p3iRr9>&Wb_{5IsI9Xv9K;WHHP+);Fj`~6n9|G_(&WS zZtadLFr;B`N|#p2Ka;Vv5s$GJx3QL4Q@+I0P}AbRFJh5b-f_=IvVYLXr&r`{x1saA z+@a|Tv#A0-AMSl$<;v7+Cq(6RUvLfLyqb=zgwq+s*SZJFdh*q;VqSe{jGK|zRWi&2 z6z=CnwPu{*m@>QSQn>$J2XGo2)jIX|ex8O?#Am0^^ib6{UB3&I_$k6+g{ZdTdXm82 zaw@>!v$(n>F=z01?+ZQPeR;#{JXwL^=qV9r84=}6+X0kI(|MO{^Q&&^$=Gn;srgX- z)YZK>VZ=S*Hq!)b3wLMat95y_I_#xY2aLL_-m&*5$07(n5?(t|^?FvE^hM8fiKUR< z{Cq^z8_W4jTpcC%HU6&hS}I*cZxp| z|JM4#=f+p^?7GnZ`2TF*lB9hWsZIXpPTVNUV2`44qAi7&DSqtFBQJv=y1f={wON3; z?T9jd?W**b=f62`$}AFCj^~z3*X9>%mo6vHJuJ zMn15!=z~wkEU?3#8Y;Ql@k)wfo?sz#{Ap@CJ0%6@AGETR+;%4{%D++M^_GuK*wl%~ zH|mcWH`1Xo$}R3t(m}XGY(sWJFi=JgovAlBOI}I+o%t&5)u!M8<1|$P&ls7K=@9b? zCQPqlNjtQz`^5KA2_dMKN?ctEQ&Q!=Q*N84BF)ij>W`a@(?RnQPna5ruQ5 zbjFj8ONa#OPy1KrL;?JZI~IkC0SVMjq#$?SZWR9CGXvbq$Yt zpV=il3bf77OH3HI)~Wc={~%$U>!yLW3)HTosXvtXaQS{#e=Hud%#Z9K@}(pwy*U-) z9zfE6^FVcI_aaST{@Y_VGsd_4_i@(M=a^k$w^=&G2$Lf*;pIt}YeuBLR-KlKu z4ZK!8w#Yt`WqV}Ci}7LSSj{Zom!b_03H}i`<1EOhR{{;%rUce%bhHtV<*jAU&Amzl z88ZpHujqljRuHGJV7FiVv!u^1zxt$Tdwv;G4*Qr~O7K8FhYFNN5Ze86%0_v-d^(52 z%D9_f+H*d+b^GjTowg5ZdN)jE98%v6QT=-}j8ltleSP>(`u4Sb7Xhpt;oRv9*9xb? zAa*_mguWM@Wn#PZZIfFCk-Ml!oXg2kL>_$74n#oauc@jI+JcA@6AXv62Y+`*AHWXP zHs8aH!wV0q+d5NpwmDVD_yTaC6M($dB<;G|?gB=qX^qZp90F$dmP;e>VV$ z8b8Xtx9z;Vhs+db*i-<_5TleFnS-@mRni*XR3!gHT87z3Y1){!?OYn%&nSUoruhS4 zL7r6C&OijqwyqqX#;$@qylYO>cZ}_{Mf^RM051kbPc#QsBM@9CTK>Q#sTBpk&rjTj zBJLLYV(Zooc}|L**YsgErt3{{0b%HvO^%Zr7gt(>dZN6NsAG;JG-#U`HH;HB(KC(& zZ|Y&{u5<4@eXYN4v+wl1{=Dw~_6$Ctfy9Yxfs=LpavP&0DbD{NQU3wdWcR!Q!@mba zR1{RCNfS_zE+8N+fOHTdD7^}SNPi&oDxlI!s3KJXsi6gep+%(E&>^%a5JC?vp_4by z|NGu~XYQGMCX+ko*?3@=J_2V z4##y)RMA~F;S2s~K{n*bD?frpEOf*u(=~JBD+tM`*(_Y27ps`Sho49U58|bg2;YKO z9{0%8osNJa;AVeBa0(EIL}hmK)xSQS7)b|qmhp3#a6-J?6WK z>)0jMIhj_+njSi^ft@aXA@d@5XG;5gb?y02#byE?US)(REV@^(>{Ji#0ElE4(1g`W z%d<4aG_ih@1m2m@AFcseQqS%*rFpJMWuV`BdHCvkvdA{fhwnNaeql$7Nm#;Ob8SQX zs|r3|5$e%g98S`9cIwOVP%0$iS4N0TqvGe0AEB?S%0CjWBE-!)5IVRc z=@Fv6RV8~np)vE>v(Fr?((6U?)4-0C7Zq2>^s5%(Uj$g>m{+O{ImE$os$r1U3tT|p zP)Gs~zMe+%6wH&8+bJHc#BLr^pDtAdBz629=)}F$3Ybx0jzqujwQ{|2n1Ysx07jV6 z%;i54kmqt(wNWe3RB+-;bN~3IllC%!YfIqZN4r$ed)m{-Z3XW?GUg5IXgha_*A`t)dSOfcj-=c<1#a796%Tw3X$btc7;w#>f) zuB9#5*c?_d3cp3H)3!~cu!klobmgx>p6OdoG)hzJctZgXVy&O9y}Hava-KVhIM{J( zI?U#GiouebetawuNfqd2?^D`Lr0v8RMh^}qr37<6!GBfb+R?x6uxj2ra6h?};X$7y zZO;U*Tf6agJNDU9-B2^;{xll;Req1%78Zlp^S|TI z?}!l3M(u{~jJ&g$KV~QB_8JF#@Q^;IK5LE(FH4)Yv1qvib@QgTq%Uv-LE)1OfC$PO zbhARu)KL6q34TM3aZ(ICSJwbE%S>jb@=NmLUaV^Lm+U)V5?@_%+*=9#Mi9rwvaxF{ zaR{b}(kG(>@%lE%U6XKJLDlk9J@cz_Kseu3vPi3HJB zSTc$Qe|&c0_c$Jqrt~I3q)wCP1UvyAyjbhISldSn0AH7WfPFw;!w~i*=N;~CCd9bk z&ZWKblpsIq;hqc!ULH@K7Rhs`kc*cJX0Q4LPTER6x&Hu{k78yRcRElXU@9{5+$*5k z!xX&{Rg)_J06&5hX)E-*z{J-Hw^e??Qd;yymq1XD001MUS{>9nm3bP=7}Ud?m754X z$_}CG?C->AJ_amOaA@L_!gj)UA(4$$r>x*mS1#|qqLgkK-f86`0>sCtM^I6jT`+|c zbu$gr?TH{s{mUr#T7`a<;mf@TC<1L!8v*U@`9N+rTiNMDuLv*OUw%9Vbet$A!P?I?A3~{mDlJn^9*!6Sv=(cK z35MYb{?}LQX}$aMrM$#W7r4;hPb?-AIcmAcyrMR7gHsQe1Ej0(Zn%s^|B+N`@7m`L z$pM@&42|6O^=M}l)V_^l98fzA5lB^|zj&hfCdscRAvU2dUhx^FSoRSeH>>a=7e#b0 zN)+E1__=%fWxX0d*V+BqzgtLXf&6%3&<(4`z%-v{*zVxOF%B!(+Ic2aM`~QqnCu0UH&ypS4 zkoP?Bix&MaT)|Cj#YxjS%TmosGd$Q-4X=e!AI#2ZL> zCWM~@cH3Ut_C0kF$5~d8ahoNR1%!a)pU0zUFarR$IozvscBmHGYHCa92=SI1=n^B! zJ)JT^BGy*84%*KCt(jGRaOiO$S4}S8mtZ4@ zLn5))FJ~iVLg#c*(r1Z&LmK(!Np)_FCl6vw3oma@Pbc=W!bOojMVycnecAiwA(~x3 zFM;vNE`PP4RENwFhHHjY=F={Yg5a;6tS1d8AIGb;f1G|6QCNZRB%mAV!g9^ysaj5` zSB9JtbbTr=)j@wImTejfl0p2)BtbW%PL|f8&jIR5dORuo2QQd-!Pfld2=}19l#~=h zq&;U}F@qaN<9Qi&QuE&lKhDUL^=5Ot_lD=7wYxqg9%)_iA&AoFY?2%*k zfg`-l#ops$8!yd=cwOoAo<##*S9q|YyssQDs7kg=LI!dAc)`+>;_aAx0iZ>kxp(Q4 zr{9GW_Rqm1BQxWlpu8=`X?{8aFg=k5wdNawEye#$hGj5~8N*{8nQrC!C~)#(#&>(B z-nO!v@V8|%gf{v}r==jx?`78P6QyWi;iSR3Bmj4zhtY*)h~Q;`iw`UZM%E9y?w;{% zT0gm(I`f0QFb_pJ{TACOer0QF#E6RrjlYvrGs2 zK!iNJE4$m~x6NY%=t=ic#Qm@*7jgF6??S<%+o=WvKb|rzEG9xznnvDs5gXwMy=HBv z@@sGq%&9+&Y5vqoWa7b*PIGaU2~@=R=31Zn@VA0^BTTtuJ1#^QqkEb$2pVSO>&{nt#y~)5sn& z&la%|)a~o82X)An=cb0ilOPOEmd}UECGUw)f&-z^z zd8+;V63%AL>#KFku`0FRQYX9WB?iV@oKF3u-l>~{CX2A{Fpo!1hR=(_ z9oYOP_b>WSL%zLl+?3#7Wp>BaKp#Osc~|Vn_DvswqakDQ*SfYpY_gkNGwqXR;f|Y5 z@v`xuCd-fO47zSE7ZkQJHl90Q-U_`a1JKbAeF-fW5Y%GT#z=E&+c$gLU6*@y;vhGT z|9RzW0^T^qKwoY_((2=P9Zhjtn!X0b>Y0;_SqgvLOt;;d;k?|7!B_ugJ_fmoj}qt> zKCv{ji}yTP)mw;Q(FmJQieJn1XQuCqHY_1oAv@plwX*7W z<-2P*jw={hFI>H=3P$6TbEDo!@ym%bCOSq+0H5W@j&u(H{1igB$P;X|JN2f?3;0)g zN-k%UQg5?FU?+nd#D87$1}wfnc!eA|Yo_p=!V5zQ@T^fK#d-d}YBNADwt-Dpo)2J$|wPtUQJPV z6V9%*%ZI$!E|}xe>u8LY%yUvZ#k8OtzK?Y17v$DW&&-r%qmOGt27)PsX^UVVo}<@%J=x= zmrJ%qlj$UFU6SH!`E~HN86>onxX9P*sJLrzrBnQBS25+lZ~m9~}I)JAl zO0u1$PyDA^csJ#k@kglrz7CYSL%hUe;G#>>^E5Bs9>Nm#PJtHHMK_{THWLm;@o%z2 z(`65@1DgH)$X4SUv@8}m?Aihb$!`Z_X*2tj#p_J`B`$xfk}2o%H-_Qu$Cb1!X3p$o zsjAf}($%%`ZMtGj*PU@H86w^pA`ofR!(zuoYP$Q;cyEI}_P+;FdW>0|R{Y|vuM7e{ zU3j%AdPQ+~w{aZY5^=2j^M)tOD*LC=kTB-+9vklx)6d)xxkbmMETM2ZmQ?We(CAUoBzM2S$>N`c+wpJrVRn^&OrHR)qHwF%+no{5QP+#7Zi>8c zK|8n0J4~@v=7sDq{oy~*_n~p?$QLK6zmlBmKa<3mqq5P%Ba@Ho1mYCv9r^=(9A+M#8>-Nzt)-$AE% zAfKdrz9xK8P@7@WVy zN5X9udlj4r6G0_#NWqwFOcTdopWcScROOV-9szx)%EW@bJT(!P(hp0igT4I9QAR># zM8e{1?~EVxM?{#GPqAShmhW+=Q5g?J$g^RBa4Hs=GNQ^0AB2#9RcPdDpYAt>t{8xF zQ}&BdhRS}TVV@t7yUasxS z;bP%Im~?9)3+j2bt;@y?^kF4!<*Fq$)4_KpQjV#4o@o@ts}r8xJe{h9M*?2=%DQI- zTi75}Z4d@Fe%TJ96;tI2`)7o0S@kRTVk7zn%Juu~*DbjTq2m6Chk;WrZ|h9=Yg8?+ zokTx+vLM-JRmeet6J2~-j8O-Lngd)iRt_>wt~&_`ia)-dX8IE z()IqveucC`pnV|_sRFd`Qk!6FM`Njk3c3kpdv+U8On_W%B%lUf)PU=xliNEMHEjJu(Gc3uiNynS68Zau_%7m*ax6Ve z*a)#2g==ei+!S)eRn(=oaG`yB1~3Ksj@Bm&7HbXP8S?Dkf> z*x^R=3nzt(iG6S1VR{B&?%#K}?wj#N+3y+$Fd z`Z*xiqM6{@)oig)nOiydFNNpH-KuIa-XTvzB8+^v_qx#|K_qR4Zj%43KmktV6G+YM zpnDs1u4)&Xuy`NWT^~r7d_lb9`kH@Se-wZ7%&2fD=jg9fZ~s8kdavkNuvEbx)56{1 zpWVK>yu0b|8LpfW4ZekUB&~hTc(xjEPl3>s;^Z2GGAw!0mmSTmK0d9yl$=qoTUix# zdjUvKk&fnnup1gmbgSu9dbk9ks{YCpsS4j$!lkfm%K-$3bKv)1k$h;kf_m(wjYD%Z zdRe=Xyz$2Ij!j`?^~?5>p7ZOO`{qv8OSdNLrVcB?HJ!IeOi6dN;iWK22j3qx^o^Uw zJ!a7bjKGGb@a&Vu<>@%&+r<+5sc#VrDz?2`Ar+0b?B&aE1Zm&CE6K;xAuLGBae==0Z_^< zRnLC?!u-^{*b_kaHaFN(L%eOhtBbR1fk-tr|^VcK8pvIwev&^I7N0woA*lMP- z$ELAwG;Cq5lLQPd$#=lnmx?YasOgtph|Tj|+vUJ^T3+I6Q1f+E_!gr$Tku}64ZHZV z<4)`MMAO-@Vf;)|jpn$UbNih#Q`sHaz&XOkbyVF}ZDcFQ;JRAtsGlfSMH(4bt;=0u z*eU+HyGatUNKQDbu(`O7ni`l-LiNsnzigQf+d4e^(ejtrr;D1QKAtEc*4zIIW?k|Z z17O(ARuifJ0jfbYOlD}9Im~%{Qn!d3OF~)G5agM7vvv+OQZNBcr=|-5!9m-e( z@-4T#X{<|#9*t)2tgZ9BsYAaii5f&n2l`HL1llh{6tS;s!X2^Bx&^%(t?jD;*RL`! z{FA^dB8DSfS;3XCRz1s-EK+sk75L{K%Nj@9saD&SX0g0izV~QeCqXeJ?E)PX)^2#| z&?Q@ZFE85j{T6%BG5Q|1Z<);4UV$h7A~6JACI@la6OYfRN<1|#=9n&dxw4*yD;Q<` zOy9LvYS*r0iS<(j{UKBicDGA-Ta)J2EYU7p5oSK6ktYI6Mmb`l+~)e{{X+7rC=wb;#*`ec`{9}t7Q+Th*} zT?7}f8^G>oM)Gf32gK8934rlYopPE{bKEv0WAC1_`M9w4NFcI;iv3l zC)P61-ePTI`}&o)3qLaEC-Wbc8@w{iPtXZ^7VBYO%nQXFo9?RzCM#eFcBoG6(yhxp z%~bVoTbA0&X-X%rSi<>l^?yq0hGwi9UvR%B|I;#Wis=qh#{SYJn#>W~b=xvRA_<`s zy4KN>(-Uihs|ZARAu$_K1UR*50Q2$~14^HLZ$%<7MOhO3gc{uU)xj)d`e{ZnWh~R7@!J5N;N1 zT*fmqYD|g!P=#7Npd_w!Ord3(qVq;!dc-2l@Cu@<1T&OHE}V{+No!gmeA+hqy6+~j z(xy%RviePvO)zmpEec_3&lJeCNbSbJIw90vIcZ+*QHCwt$p}!fovy9<+hUPN+t6Zk zey5DDrqFT(kqhLch!;7wOvgF2SZHkdr^Irw8QrjjWz7_kS6br?wWW+RbzmR&vj9P@>8K*OpB2wO7ExAWcY&b&iBo)b9KnHE%1j4%Zz!BPlyIRT;{MTWnVHr zdQ*@k&>e2nT6%K%s?9d0F|W1Le6E8;2k0OOhO;9aqR}{mIzP?eJs`Y<5m&_huGv;v+uLNlXS9Vgf~C)AgKZ9`so_5x+K#65_{|DvFC)c&Zx>mv(FmE^mu{`@p3w+QwA~9ePtQ^h)|t#oTr+Of46{bt zmWJP{Ik*`n&W>?CNgQiaC2Jm4dR6JSmJiD|p0c~QdH9I`)i|hWI2GP$yL)cDVpd}H z_vf|vQ;|3?268GrxdzV(J{9#{8YlZtk{P_N2KTK)!?UiGF;QrRvjf|cs27CTQ?aYG z3;HEyvZ(1HY+V5UebGO0N9i&En5!IfS`BEAYU(44T@jAR{&geYSzE~GYe0+ByWHph z8ZNJJiy4G0ci!r)Q16MBPHG&`GwfaZC7yTkKY}YR^d32eAz_sor|ev!<;pGZq)x^q z>1DVw((+BMx-{Pnz8NTSX-~{7<1Tx30R+|kj9+Kr7fYTYJNPZ+@BRJV)qj#;lV3q9 z=Qc@GDu4g?gu(Q2(!{bCcTi+(-&hE1S*hg@o4v}SsK5`7paNxb1*QS+9= z&=vLt_TS8rWS=koH>&`fg7}xx;z>SVwr(`M4 z=_bj2fA%H4&zH2DZgtJdwXqy#%KyLgH@lN0*yoxnSb7KhS_W?J;m$7JVhN1vK7PRGwjzAnv%WdkW4fY%^0_EK^U zV+PocQnft4U>3w&R4vW7tGU@FJ3Ky#(q~!+ySU$-Km`W56pvMz7GbKGdz~Qq!$+cP z1v1}oPfk^khttrz(nT~aX26%wbB7iH8Y2I0ip%OF`bsvW*45M3{f~~n76K*;=nL}ly`O5_B_rj5_eoE%Ahgps{hz)4`q&ReeD@m zHXYKKr7qtp`nWd311`@#`n!fre^t|y!THDp%K!Y(l|;E+TeLt(Q+uZjrkkkC4+YXp z=RoM5XP>(mc|7MvIQ>e>rA_}@Yf$Ah?X*9$p#~2_tb^fD*)7YW_m#D&AFANWzXG#lG-B!$0;Wki0|zT$F@a6ih9_PeFKY zXsYpR(|khWDsvUsl6~t~8LaqZT)Z~QQ6SkMUm>?;XQU&IS5a^rcmx6$cP7}_2`@Sk zWePueN`381bUJxB<@{0#<)k3}^{$UAW}2g)^eH<^>`WRRd z;OdZfC0CEFYv;r`aqYc3{1oxX6HZ=M^?6D=cYVm5oJ_#01MOgPD3y5R&tIC}g`HOK z?1<3Zj?znh@+&ld<+*GQYJPi|3pVTG;aQ1n^Miz2V&_;%*a%9^2B^n8h@24v<^+5TVJ@gqx9E#NeJo86 z_wo=+aFYyXoc+$R{tUuAYu_VG(b|*20A04_Iooeo(`HGv1!dC~aJ4T-MF{8RYX`Q? zP1`~76Z#EvH5;|2>A6GADn8n;>+Hk-O2|pCpdTv33eZN-SU5B}K>U72o@ns)#vKfJVfiA^t zB_0I>FtVC+7qs=THNyX=qKk*LFWE0q4BpQC>N1we+%L`q9qYfQsb@bv13^*Z2M>BJ zHBcF0w}SVwMK&oO%}i5EQj`6yKuHfjP5~r++IL&2P^n-#RO0(LrPjzOPuc=MsW{7F zE)Uf*xJ=J3WoB=Lbsp5E?>%KM*Is?uhSY;8Op3+&d=b6vRx)2Ta=l^CRg)1p)}rtb zX6X5!kZw)p{GX8C?rRt}X_g&-Pa1(Iv}eTwSV~6pb%DDk5I@jxLEDDC1VQ7hHU@wH zvi$jgP_N763u@^z8%iul^xnHVW@e3PXwHVktmTR9p|zIB_MxR(Q%}f}1td5>W7hR_ zN?j&JcHCW)9hv7D9mF~Pu}OgWeQ<;yOOKxtt{kp%NwX}%3@3A$kF2!!Il<#262mi* z7HaUXj*a^;rY4;W-=wXvsvV~p$2P?DK3%&jF+9=FMC<<@Q@SX2VHV${8JHN@&0i&j zo=squh$37+&X0DREPi~&-)D=vU7%5rGmAT8C z`S{lUV8W*J0!~kE4kO1`SvCY3z8j%`8o1i4{O7IuE3+$lcVz0~bruss=u z^8hR^U8}Q|si13dEc5%8=Ao5A)PS-$Y|lO5Bh9N0WN56N6-;gj{M0kVj5)17gj?n=Znw-TbZ4{1tDHXbv{es;4&`h(PLT_mg>UE|*XD2p zd{!D2?Ytl0@=MmS#K^sPUjFZ|H{qoJmfUsr(_;Pg7Dom@i{q9Fi$8@}gC=YKZ*P9Q zV<82sbaI`wt=G$(u(h9`_|*CC&kNAi*(P|9JlfA;j7tKhG%)m4pPj#8@sTMa*S-={N#{l%*-XvT&=o?eR)u!1$~jlu05O3ssR;lAfhRF zksGCY(A%e&o#KuBtWqKnFWk>kXyNqu^_9-PZt-Fx&$fgtYpt82Cx|^y4Rl@unV(zAnM0v3<%U(u^Nn_qM%AHwpC3n+Buk-i9yK zg~>|-Gm93|x^eZihoCz`uVGwY#9Isn;s0H#;eZN92`ZfB0>exto^Pt2HNyKMQRJDa z++LHYN%YgE3N_>u&zd>z+kLu8>O-Y+D;{=3K`9CD_>8PRD-j;sind$v8?>201A*B= z6xJr7v^e}>*L@^ZNW>^V`4(GZ;9PLH9-`8hXTtnlcl2rgd-}H)-QRu-(KDI2lyy;X zut&@R2Z20o8fFz}$$A&IWEWutk;9`yqqpUzW41zk_35xDK9rcQ@wV7B;>)l`{#Tn~ z?90%#d6Vyyw~aV(59?W)YxUh1%xlkUx81{x2nj1(3~$mzxKt`#TcZqRvGl`&%So&P zXH7MKWdU-n83wd7-y}3J)JN0$h-D&giWu4m6~QMNC-oF{+F0W!t;2oKMBbGZfy;{C znRQ8juG{52e>?aX33#*1;x1*FWR%&JMqcV7)+VxnDBiinX}Jhko0ITT=#Hx= z*WGfGqR$`C0??J;-r)XU&5$n``RDcOf#u-HtN{_x4qh~k`1sn~EiM0Mgyez4&>vae zsnrNapR6$$Nzt#dYC;kX60fr^ZhuXtnWL`mK2qk07UX`I4HSQ^>Th$@2m|}NDw}rW z8ByzOYp`^7|J9Nj%OUPp<#IoJ3 zS^$gfR;>Tk;_U)~tv)m5+OZybQ=Q^aIcic4ECC#DhdHat^GMG!(~$c0$WqX?&meJ|2-$nz)GYb*Gk zeTYMj)6hi1p~vCBH4@~PrxZ6soPv6$b7)pJf^pmknmRKXJP}Qsw@MgTrH5QWw6>K_ zJ_X*qL=X)d8w>u}bNy8v13bvaThkuD{_^C^T=UqBk_xCDkGsz_C%iGD)hI1Rkx&H} zS7q7m$`9aewA{U8oA2~Q_cmJuMW9|PYIZ6-m=E4Pe4@3km(*vv-&|(v-_ZWhQ5C?# zw8^wI|0UW#Bg(CMVI8|_M%E;|y9%O2O;3|raV=j;ts-;}bmwV6boaJRw^&YqFI>nX z15Lb4k`1`&P_d>T8Z--*nnI3V!jAt6gF^mqI^;sOSrXsEToK~f|82%k7K~c_HnF?i zfmwkn^JLfD$Ow^^I{9Uo~p0R?DYo+%YetP#{fgksY{~429=8`z(@qQ{K=wP-=%I z|I%dd$*h8YQ=8*db_D!C{pC!3W2T&av6`fb+2%JVsMu8h{Kp)#D}V6I`v3=OJm@7J z^qN<_^(=ZbYLlYssaBZ~Kxb0N_I_+y$dc>G0`q=M;K(?}`S;`u$%F0!mA0w?O0j(6ig%EzKNU91LDKR~ zmz2gr8Xs}h*L%&^ZK^0@QSoI#E`p;?@lw;(>iN4*-g{%3Hid6SOZ7)ujYmSByd=-9 z*PL*S9UuJ^s<+?@zB4`GNc&Rh^=tZuBSm2Q=}vc^r0jkm<9yR!KUfp{jJqN8YGYq8 zvp6twBGb4!4NHGu0pyqtFsbPYVr$IDSE^Cxwc^je))}>Fps3nZ^lLaytX+;ZZ`H3x zd4?mumb!nryHz6doNh3l|}|j*8E3&3wXsiN|Vw#kIf>u;yFt z&-=q!Ch5GFhUZMbKa%1u+vxx6fe)ROB*eCAoQnbmC6Wtn%^e;IB_E8M#J7SE4?uG6 z<~aG&-A6SU0yWT_>aiM=uon6|J_p`&!#7Bgi~slU1s*XwTi+M#)2bm|!#=FaU}N|g zR9MLIo&vu)u?+UL7=lf++HxLzw|1Uq7VNX8-Mj$TM1ucEm%ml1rrHCj-9bBA22TT8 z@d{$Ci$wABFj#1_L~7Q~NdE`gdXPEWfoAprlaI-XxMSt$cUXo^C5gFeynO(1hh~Qc zNoIb&F>!b2q9uPK-c)>1(_);hFECPaYon`5fC(bGn)o!pNa8=u8F`Z>C!GI$+*7lI za5rK*lZ>>Q_sA0lEm8|R;;CT+u>2oxhuij*uP%k2r#WsoDb3G5vMf-m#Iw)8egw%V zzL2Z8&hYOT*;MdF*kv5(Ry|_yi$wD`Q(E#RiS&AMB_2`9HQyP-n+8>5{RTp^k89Mu zy_d}82r46Sd~$(%n(o6-PxN_GE?0+_!#}ez~?;X6HyuZI8I;Ygmm(Ff? zwkw8b4A;2KCy#_}@5EDT#rr>Fc8dTvs559;asQLK{t)-;z4Gj>tFP;_b8FBQsZni# zlnE5i*)|qZ6`c{Cv{9AT;gMP6o{6bW!&UFM7QpFk1^xs8lDh5BK1=LevJY0DLhHtAzCiH znCAZ@$;H1Z5xe$L+eSuQVCxI~Kw}9KsBc!Xq`RcsON{e+^;;bm3(CqK)C>H{iZ$WV z3;TA;K>=02FH$9MGlTySYLzwS9{_5eflX^=KNSd`g+&h&R)lbsebv)`(w3%UZMp@7 zE%vkU|2}qc_^Ej=?Gs*zp0Yn_H*1d)P8UeCuHNyMHyyom8K;H!b(zufuJi}6cX11SJyg=Fp>Yvgj?PHX~v`uE%WgE-!8ta zxHIRMoZrr0Cf*x*n;$W1qsUdTaxM$a1$WlxD-Q-Gi3o_NW)S)YAghY-shG$Gt-@Hv z-oOWn0xW&}(Zmp~?fgK!9nMx)a{7c2I8CuF5OlarytTt*UscS0#*|!hJPC+dUGN0M-rc)_ zYi)eO-Y8vUCmR1N({OD=der&P6M^4ORc~!{rmI97X0|5o-XvCKh}N6@>^lV-C%!lI z;DazlT*qDSH3=;~-ftYa!d45vcJ+-{=^*Fanmj`pMJ&y{bIv+6dkl7uuksb48gYKQ zugs9z_(B^N$>5s45VKjjTB z=*6ciYaw!Wz*7|E8&L3-^Q^0bWF49`aJ$ijkC-pd!3G24+khImHGO_2OP>n<9IjMm zwI`*7tp>lxM!{-o=aW(Yu=ZW49JEo$+9RCY|Lro@;GizDQ7wpUcfZ0;={~o};L}IOJJgRHC~XC<9><1UqZ6%Rs2m zg@OUMnK}WR=U<}U^{}~d&Kx4QvgB-5DVWLg%iFM0&CRs5md#YpRL*3FmQ7gQ*#Gdd znFfD$K)K&T9%9&D4#=Z~JT6V+18}b|{`MS8=m}>faDy$!P z{eb6vh*dOLc1~T&()ikU*!LvskG(rf>>jVX10Ti)$ZGx03Y!RmS>Nj`r?tqS{shu3 z9=71vMK$UtfikEY+uEh7c~4azgN+m1ysaOnADZ;N|8D^^o>O6fOIx>u8LvK0v9B+v z;4@<&jOHoi^xd}$6&F(S%2GwL>J|-6#E0 zVEsnOC@DgFSOEWLPyZ^nPSI5a9d|0XkNUupVf#2()$)A--w1YDLxOB@ftt9wuPpv> zhR$uIV*&(Z$4bo=NVH>o)KK=MqvN1fX0OsJtun%r)LDBr(s~faa_^~`Des>u#`30o z^|m1E`#xf^N`NbJnsKY>ny&;wPrdz>`V=C(S9z8ktz@PzurB)UTU<#uw2ET>Ym|V> zTC$Z^Geu3gZb)N37uX}iy|lB*V^qjkhFPBXd)5|lbbXwS+4&WT zhwh+bnKSP1!1*|)DVU~BMNhJW#P%+fw7boKK{>6ji z!S{{-P4wGN6CV;JvO}jXsfm_oO-!Qj;Wagd;RE;{3Y_Vw%h)_;)R2OT^!37}?xkVA zRPEf7H?5TrTxPjee{*2vU+95`ro_n8o)t;HFEKhHw){zYyovqYn=Hb~QgL>ufKNx9 zjlz7$)pNwmAB(Ru8(y3Y$_YR5%)`>FrhkLys#kY(-LbJDA(QS`(tjqhExZ4%{8{=} z%%LTo)bNza9sM z3h;W9HBZtHq@Y#@4P3zbXLG z#fI+TIlM-aJ_e~BS%%oGF`e%dwPga;o_nqngNlviUTfQQ3oD{tUY%=G&`|SR&4&!j zXOJ$X@MD)MovYb4nNu}TqjySZ43&A|6HE)fHRVLf0m|o|zb_IuIWGpR;1y1F1Pvx2 zg_h5>$r=L$&6nILOVaG-7Uu~=!m$$MAfLpL@Llt0(0%KqiqE!MX+5M6>pjV)(^e$s z`qtO1`r@A@mWklCZKcDL2&lMLp7*pO7*hdmG7#bZql63JGlcCBe6G08r!=_*NL?gB zV8?U#e4hbd8~=)neW^JrC>X6VuM&OFNQmAJXC=NwMIxwj z+;wcoxnB6Ll+rZW&zfi72!={pCs|Tklk$AN{U|dVt#jK}clBuRtUh`34Ujuy9So26Uuoy+lDW&h{PYHj~G-&4lay^zDzCG)0Ohx%4X{K%g%f}-0)-` zY>_63-oOQOu>&E{1pJ3`@!n~It6a)2SXKt+*Px^~hy zdFzEH)^nDtcXxkPmGJ&Dxigkm!SGyX4!DfJ#!(X%GRbgxYx^gFN8vY@f)L5~(q1#U zbKhyjOd?ciSzhZ>8&{MdbMn+iyub~W%Pja<0M5GERxqWMMxvC>d;cK4R!$qiK;>~N ziE;}Us1iU9o5sq5wwN52M3sO$pSM4ep<~hfKPRBbD<1(#{A=Z2#A_ZZYm44pXN%O^ zNGMfaveJJ>oAwM7Vla*O4i%q~i8UB)Nk{2?sZzxF>8gh*9`a15z^2-hV7|MrXZTlm zE2pSkk8C@8=T_^>nm+HSTZUib%vqUMrh`$ywthFf(qA}+ZNP)hZ8HSe7cKKI+UuzE;IU6{tS0=^N+ctuYW|& zZVRXVA@}l!b4&b)bx$a`*fWGckTdm{Qnqe&F+wnV9*{=#o1e& zWysgaOLrwL%iwVH5c0Bz;ZppDCRuo%?Ih#glIJAKCl`x{{|f{qdfQ1Ou@>vZ{0*() z^-ia=dwyKfmhhn?k@`pB>ANC|?mr5qNw@RBvjLLh6)@32tJ8Oi#TO~rVP?0Jmv6!q z>40A`0z=z;lyQHYy~0Hg`_$SF^$z_#J?-0EmAj`5egNV9#+9-a*Kkrjcd_{V#i4T2 zy7G$nNI*Dom}n|Pj#Q>}oS`PGk(5K)I`HI3NI9w zd5Nv?JjL-GrK@`F;nWh_rn!@Nb~+VTsn{?^Mv-Y*YtNFpQ$U4&ko(g7hv!Tu-CI$Vi5 zM&k(?1C^txM}p4!e!r3i6jFDJ-AhyXahj`X?Ps5_Lc11N6f&MaZh4RWv^#RP{dQc_ zW>jpZxRukq9APAXb8)mLfIwzzw5IHy5QJ^aYAX7$mff@EpjlY2AocE^Zx+=LI1u=mM8nMy`Ry1RYb$s>mMm*O3GXz ze2tBR=^V`FA)-Ib_6W9*AP;R{W8(-MCBCDyeVxwNZI6x=k|WtXg6s(O!;}xgf$9hF zc_2FnvT=|Z{~8WABS%E?%JNV+*q9GC<^yq1l=YsiZ}5CvB$u3Edr~Bn^U3jg9LMT$ zJbojR?e&!E$uv)mtV&K7+nG39OlOmgiueUcud`#D?2huO;yzhD^eukU&oi5&BZcHV zTA{vY&o|@Fnel2@Mm!N|A50M0m60apfM0eZg=DT3ln?*N|Twsp!5!0>s zFEe)s?zHdk6yF`jejAHZaie*<(Z0JGw`lt>+^&2Z-JjuR{cd98CN^&tZSdRsyYF86 z{BHX9=yxx>)7hI&7UcKRosM6L>sQ(yr1K!3_eX+mYjU6R-I%6*8h>~5cQ1a)=k!Qk zImdoZTON({8k4(Xy&?K2e)rAbZDz#z(e?>EN%JW^p5kRz#PgFZJx=~89@aLK$C=t@ zM0%e?XB*FRk=4nwC2Nz}kx*Wp%qjU0vLTWGgx@q?as0iGKN`_nw(mp=$zP4&uO)TK zpKSkt*OXtgeI@drafLhI5m(_ztaMb(cQh?F#>HeoKHqV$7)$N$-Bj5H?m)aNNz_*4Y@|E^cK#c#L2+uQF)3d!G% zG}O=NxsKVvU3lJTb7rd!%gto1S*kZ14Yqmp&|YVxIW(EcCT-2yn%QbZUOlg#v(2h6 zM~(77?TLSy(dDs!@XY$I z)+H+=Ym(NIz-ltT)6qM%=ev7Ard_QInNq(VmHJhPzb^jTvB6k2ifI!%S?)%rbY)Uf zy2`dyy^Xv;*KcLYABp56^RXe)LLO+P=qo3sZ!ziEzkL|^5;=Bf-k#Ck*Yv8|8vt-X`~LeJjbA@iAz zkG%U6*kG0RKw0{Q$Ofyl2R_>7pVzIuYd^N<6S;Y%_D<_nm88QltfSjHS6xt1zw3#c2V=|BwXNRXz3JNl$UF-&%F;u$hx#ERIy};49j(BoZ9damd+%SovOC$>PmPqM zXPN7>I<`wsjg+M)8`;Uq$45$(10CCZR9pKg_*T#Hvw5ZVZtos#m!4zKoNK?I-?4rA zE!#2b7m$xJmNEAIw;Vs`M%H`pX}xv8HhAx;9h;N`8_CL?|6EVpgPBzZTu|4RP>06eL)9+&aF7kQ2Nc%W? zp-=I1H^mHI9Vtzx@EGbNV>Bh1y))O*{Rw`m-%b48WdGdA|BdGVr{@1A`}8L9-N4ti z_@VMO{QW>2*GAIxI9F}G$Mt>Gh#tZW&%4%3fMRzEt~CGhQW{MWU?4Jmqo`mW#F`l9KmH7mzQs zT`c0ou}|<*s;yL?lJs38FK09OD1L_CS6hxc9_vL=Ppejx^&-sbm1V7t<>frThidg| z*8dSn()W4%XKe42)<)g!Y)j~8(hnkC?02yl>~2!th<2-~wOdVXBRZ_4)?wwfO=!2e z+6HawKglESU@fX<@<#2A;%Z`Z6!<8*ez%)h_O{{tHj-eocMBP ztPv}syieLf)*AJK-BNm`X1FIjo2inPGjth?Logx-?DU#K5N9XnyuBww8og$@EQ6QbJv;9G~F)JH!bPh zDa}Mexo=w9xdY0`0%=<8wM(Zfl*k5e9R<3qh&)=8&}ez*6wGU-K*=Wj)>GeTZKh5u zw7U*7AHNXqJ@|$CboL)$e_CYA>#|44X6pB_@jgQLiAcA1&APDBDoE|*?b=hWZRKJRC{WN6gV{%)xA4XOqvt^U5#8 zwmx)%UJ1Q!c3hi@W;TMK!+NgSch9`4_UA~u6@l8VD%54$X(jc})*{zCVd6LesMp)Me=T>G=0l>LcRBO*#Z&FH{sfYmB2wU?HWS8J~}<4Z+TCCUY;RIU(Vg=ptTQu03OBJ#zy zOGLaR_6dGUwYfGkU-OK-g3aKgxOd)HYlyUa8?N1(a9y^YR;lUqAEUdxwN{$ucxhm@ zf%Pmeb)tA5{~&)K|0G`?<$cn6diA{38R zHhQ;iqj%=oy*sz%710K=k3{v6h}QGc&f_MYJCr+(w^Q3DIzex}z8&Z^kKOEc$M&FK zrf*rgPM>umU(427(XBJmb^L~Y+xlC0YjYVq*X9ndjc|Ka)$!(e>|=^q%*Mqu}J zThGVVW?eqMn%umiegAYHV;s^k00U**0(;5g?Ir8hpRAvHzjQxywZHlS^bRoIA(0{a z?n7@V{e9>KhG-u`cc?7hF!kYdhNpWg43u?YTqRyrTVJnVr35b^`k-50xbvnqI0rfouXh zm*8UkF2f{tCW+_r$Z+j}&}Vr1ZH!eOOaI$^Uu;a5VuBdP>vsvpiRI$R0D1%H^^dmC z?Ah;OMf-lTNd4q~_LKwaj{)if(yR2kO8rWFSNVG^UyW;c`XP@$;d4$R6pfz7KAt zH7znwIk1oRz;KzY!0u`B>~^o(^vG~IqrmRz@jZKDd-u&VS(;&-Ggx{Qj~L^_*evfy z)=wU%zkJRB3{HQI8RDK{3=i@8u(3U=`~)6Xe#{&^!p{u+TKQLG4`_Qp|6j55pz+OM z^N60A|59eQ+HdfJmKR0v8_c2kjO{aKWj1fKS(wAp^E^JU{$gZ^9M4ewhLH`YJ6w)u zSo##5C+R=Q<5TQB&2I2fe74}_jxWjM1p1|~MfxiT_L0{aN){L{e=}UpXBhg+JO%nG z2foznF8U3UKSus9b>|%(Rk1$)8Sq>SMT&F?gf8J)l0dR4kg^FSZ0aT?n@vIpEhHo% zp$P~`vjB=$MWl$>XbDIcK~ZUT6cjG-m7-FVDu@NMXMdj=7B~0z^N&2=`~32#&-3xj zyze{jyi?BE*~y%xEjva&#(NrHV<)}%Hf?wtFK=mlj0jK9-~2`UcE&zz_7Ue^?Do>8 zeZ;+wC_aWyNPmLvV{AU8_I>#M1U{oZ`;mQ4-|WZcGot;JC_ko-eXxi0Ze+XAy^qaq z%I=|zD(~%s1LO{A+8T$s9)qv3I*#>myd2ZCXYaboIN(1v!`Bbgq3ZKKC4VDlf^fBC zm!!Sn!qP>Jl~~_^-$?(4>;@5;;HD>~s}tNynQqAZj9=krYP?QV*QxPWxIy}Na1n*6 z=|Z{-emkSI?0VwMFMs8|WZb!F$OGjw3r zO6h&rp<=z@V%J97s|)FSjn2%9jgXmtQERe*tGVP{j09W+Ia5Dy8LDk zD=kescFtIFk@na48V}Gr_t6vg(Lz6skI~EXL{o3iTWDnvtqsB^OykSW8fzsjXB~x~ z-smHk9YLBdMld}bLQjR!Q@u6!V%LqlA38rH5M2QB0Q?0~HV|Juh${$Rw@zc+#oK>< z@E6NS#efz282rXiwlDM}-4DI8u~IHhmBojR*lg6%ANo;eKWzJuj)F+ik(7&~Oth;b zzF5O)eDT>1yLQy)i(J8445E-J|1~|z)xC$k&t50@Y%b)vTCxMw2HLWtqwrxjr!~7? zt=aMNVMmQMBt4KxuR7_CL6A%D4n{T%hLX>t=W^*WCuERLN0x>z4S(tQ$)FBZUrqPQ z|K=G`OnXN$q6Lg}0c{>dTS}mmbSbi%dLLsneN#&N#$Z2|ksnK+jA6!<(f-l&Lm?E9 z&PO%^-3V;*weOmr9o79#=3O&RAmT|HKla)bU21&vsynB>f6bUml+!ic**Uz=nC7~l zT|tFP{}UN&V@=Jsrn+;nvFAB_yO_%zGhfrySjY@qNaS-hHGd~ncLu3DJlK%Db+DLw z{zZ)sJCllbpc5b@Vr<-TUXJZHMFmsbUDv}HP|S-az^$IjUQ=+vg11pyvB3m70SPY-K#ufUZ)RM zLpgn-%6ae8jd_0hz#L)4euAcacDveOg;R`QBSBf)crb`ojSkO@xW z%O;X+V$C7uoXQ|}M}pW53S@UDkR6{M5X>%*g}j9_A?QP~3x`O`MdQPYjg?)ZNa)3G zP%rGGu#G|&iM^s1yGvpC2*oy(9U%+!#8%Z2fZX3m_pBxB2p=&L|M`>|s_D&cjv|VD z6la5?*$Ikbza#>}kp*EJ#NJ7;QHb9{bfd5tMN9=SlJrPqBS`1LVDh=dluP-+_#I3g zdD@SvGYnfr2x$wxEz}zVq1Y)b*aqu5!#%y(T9i>d|B`v3RZTF6hZ&-&3h*K*&3@c z6TQmMq&H`4dXQH5SJ_c|g4|q9IOm3fjA!8~YJQf||AHs!i@Eg6T+&Zy{A>JftnTN( z_Y-p|En23DGFCF$D~Wumrskus?&tljH?h?3m#k$LmNO$OhOOCqc8@x^H-{ras-l4@iK_NEbOo;g4pv4GQK4J6*gZnDxYW~&_!VvMVScXib!m&?8;f$ zm5b(NRU|ujy|{)!2<3vczgxQx>K7A_;r9rBk1%pau|I~t6L1oLCy^gVuWU{d^EVnR zX@#=0QpQTzX!i1YLn!-o7Gyz`3&Q4RIq%BhG#<`sEbP!J{EeQTr?2{5xa-KS;pG~& zU#Es&;Rfj&$bLnq^grSGSGYlIDrs3I`rnEC22uP7{gIcaocJkBk_WOs<&VyveXBtBXnH^}X$w9q*oKe~XWynb*GTeK>=ji% zmwm{!(^%Q@QTQ8G$FvKcI?;wsc4<^| z^x?*EYRad~NNN~KAC91gp^!&9kGAJ(dSV;!$8$#g+Zkopj7B#a|E2gFL!XV~I-dLl z`fdWcao8xkQp%2l3B)*&dM0YUvbUmRH9*;7$`un+k*gPkkPe2P=mK?lZ~spw;^~@R z#$>Ej{^lJeS#v!`J#*nn%FV~eQ}}w4{+LHwAI1Np)H9nn=WAGLQ2$KQv+*<+ySdoU zBldaJJ(t)YgGWg}N`K78-)wX>YGUznwBW z;XTUl!p|=B@8kD9{O_cm?XZpXo5;4J+ltLLY*o3op66vfv4__0(}Z(^B#4tEL7XND zKvnm$OpM*dt=`iCE{2Px) z;TT?z(XOM!_-{Oa2?t1jf$R(7J*bI99)&&%zmX6@nolJ7lKwl0pD*zF1^y4{`hxyA zYjdY)CC;Efjom3YLD`e|`Gz{a<9dd?(w`#!({P41oWsXCbl+q1J@K4{Go;TTJI(c5 z@+aUp>92|BYvMSeeW-fEunWaEpN<+nWyv2WeFERA9`Cc_0=Y|?VB<2^Yj7RQU%1|Y zO42S$yQuAVO$hQ3PP!-?i}5q*>(qE1-8D^!aTWO$xJ0>2$S!Dts(kYkW|;90O)o>3 ziZG-5AD`2Ai8^MWQOArj8o@p2o0y?o`7UktH15{AK;ur+-)I1h%>bjB83etJre-8| z(Uh~ISN!MazmI7#TH~v=8DaR~+ZQ^J?tsh}ozl0#moIdnzD~r|34KTWcEGPMKHESm z(k+p-K-U7BR@ka?-oHb3CD%<8Z1|z=PWpa$khDLw_~YdPO{j4n`R>q-D7qo*stGa@ zJw2lS-6RY8AoM}BGMJhzL>>;kh@cnpF!ahMm^#9s7wKMHBQ!BaZ?g~f{V3nh=xO#f zdYG}KW3lJ65kioKX`4Qji-BnDqmfy$v0@udncfge`J44L^W4363M&!CYGMs5o~(F| z!AlG!t(wTc>^Cj%GboAKlA;MUoLqAtownxC0w<)=_7rAg3h5-x-{TwD5Mmz8Jjr9e z3}GBcFj6CsDftlQ#|S7eStFn;#HNt8HPt5OZL#$vOgtGxJA4KK(MB ze#+B?8oA_iNe^bOEB}AhZ(#R&=5HfWM3f~O_9VEDg9)_YAzJbfEg!E5L(bj>@-i5W zu7qAFL06;+GMt_}wvK2greZS%`ziGHGdjk23ceKTMd=~-MK z)mV+$+(WauD`#;}&EU?R0uPg(tcfMB=tKEF)X~>?MBDYjw<3meR){7YO?mca;9=5} z7{y7%@vx_E?{n)3YM!eJHs&#YPm+Ebo+14#*3aVMUz$*3KKUnMF0Gl1>HDI( zdr#gc;`=-ScWXk8Pq}^$AJW#(Y2T-?kM{1SHM>c_ulegf5xu`9aF7xHN)u@uV$L0b zV>};^A^TcmC9P08E4EhSAZb;urpK(hyGh=^7oOq{`&JWce8Y3#8=eWLG%ByKl2=sS zH~*25{RMtwHTApM1A<5g89%eyx(YucyF&gdqkj#4Wwzg7^eee1Z*Xt^hQ}*#ne-(* zUt(5V(L_)-3g7IuApcF%i*z`?**U?-k8l~Em+*gC*Q4t5H*WnEO8wqfEw{xG?r`IF zO{igzSF&2}Ambl!2kATAp~hWqR+E|tbW!M{C=&@0=oOL3tcCY%GbY<01#>kdI4tjl{(>9)jEYYjUA)YcB#Q>s0(jv6azh0?JWg;scPNnVxpek1Pc z_BXm|SWjZ5^4>XOakF2bu^JY%79#1P>1p(I_cVgtJ&-8^44dauvZIJ0*AL>{fyMx| z189GL`eFcMVsrOK9!=hAL_-u2MbhR-)H)p92t1C& zb0Ia1B3(p36rn4`M%j(Pb0HMbo)X$uqV>w&iq2{brOZ&G9D=VQv}hX~B;)WpR>KYr zHBE#`L^=uCM0iNsD7ygi0r&_s9!CDKwh84LW=x^(DcXNDHdg#ujWX&iC6-d^E7S3X za%KI5zcKhw{%)PLQaea9kxxfI9bYr>HIwqQiT^Ruj}!Of=pMyJ+0CTvV=#v}=Fl^9 ziFq#d%)xFB_D|???Bo!~bkdI?n?@|tu$@lbs=W6b%u{He*2Ef5x%)z_G2a~nR?>>U z!#9{E+~qH7Sch<34X@B=t7*XsSkAnDk-mMA^b*Zq_w)MJ-;mU=`K_Z3YZ>3Q#9zS} zS1`tF8Oybd$~xxA2G~S;6SB?dHq*vU%(qRH*+^McejQJejj);V-->Q4wp%E(nYpo% zzE}qpq|1@5LAM5*3T#!mzv`!c8_yH4u6T(tj~?7b4=O*2p8C`;5FWtK7mU&u_&A8|S6mO{<1liiJAnORI6@3Z&>h9*DA!{e ztMPB@IE?Ht`L9TS4*SV}MxFcdvmYOy)0P8ph!_rQLP%SXS*SMzLa__QPRVM1gsZz2 z_dcN-R`%yTDa8QJnJAo`DNzhC8fyC2_&lxd--9DOqkr?)jFLD-lFEBcsl4Bm0?GVB zQ4*(06ba-L&?WJXQwpSEo5nj$>5zfmfvp3Z3`j?x&U;W9pk$fg#Lme{l?<>`Hc|WZ zetzFi5Bh7IoJLXf|Bt_~_Ml|2#>x9qiVR3Vrbs5ONT~6iuI~2$?{~L8w7s7umG_nu z1Ia6#oU2g`jDrrSxjkl`0cR`k(KehSw{JU7`*csUrW<@g5Co===jD8xUKaguW zWH4qKv?v`rWoxgrVIL1kq?55rMxO-n*u;~!X&ZZG9QioT2o2zjPdq4_6s~s8`=mhz zx=d`G_;ONrCU1c`AeHk$Dy9^!Nnk@a0H1L+-lNsMBfWnC$R)~QFoKBlX>~rmGlG^3 zr&YQ1?jTw{h*sunoSb-aayrTZ>F85AL1d?VGWLm(zzHH7r-^KoNq{8m6!F-`Rar+D zP^wgu##ttXy~Nnv-|Y(z&K%@8G16k~?^ZEd!f@ zq*IWmpttiLo1JUiAKxSD@I9irScP;2-dEsZ6(!f;p`2?4ti{V(`nLibWw(mRR??3v ziE0&5l|u#Twe<5^Z&kl&7cJNmaZ>AVN$;GMWk-bGWk8IX#-9l0WzbTTsKI{_OT zG8?CQ;wi64#Frug-%1`=Z5k@Gk< ze%(kBSEY?d$sLE2wDA<$Q+PN*8&6T{8{+(icux}haXcM?L*x(9u77LNIbq}AmyML( zK{;hRkZUS=JEwIN$)uB!DZdG%d5gD3Xmj8aru)lXu?~{r^~}-YHs(X0B9D(xmYgSQ;m5(v5~Lhtb%T$w?ar zCvMUq6037n)!y)|Bf#--Wd3Awmt@fTG_aGl(;LZ}cx8*dlcc*`i6YZB+2lKABy zJ7jS7DU-8KPTo9n@>@pf*eEivbMT8oO6R~{*$pI}f;IDQ>N-lXCAo)8XG6G zY@EzW=90-Pu#=}xPEW^V~T$jVkczK!rU5<^iTS{b0=*J~QwUnq{g5{)N zrk`I%z8qe{M%gW;rsePo^XygRuWGv#u69m;rNKaSnb z=J$l`kip5UOy0L~qIVkWh+`f7v0jtG2{H#K$1<@|cB$B<;3EaS9XmU3`@~f_=eCR7 zZjF;OV2VV}i7DbaGZs(Y#`&-~qqAo}K>bU5Um*X4*uT)kbABq0^Hhp7&S@#qNh_S# zDAM`eAVr$C^`5djPN|a`Cnus5iJa6@#PfSV@#Jlsf~xr^Rdv6+kN1q6MKr5)NFQid znJL>>X2}kfIkIErAQ&v$Y6hXtk*zDUWlLy5x*0UZrfFp!X~huP9NJb6lfKZtayaEj z$WE0bp_ue&WM$Mb247?FHCDEQ=A@fIBlHciYfxDPg~$r=Jqn8OT}+)Nlq;cpF%(iy zfoy~CR?wm{ADevHm^vF#cSGW6NPLZG%RRJ7wXdf4RI9t!(C&}9d8Y`VKkuhKJwc@( zAoiZnoBpvt5N*E?x|8k#N?+6Ms_r-b#-7=AyND*rzM5j0O7y8j9<8bQ=&O5gc-Ot@ zL_SiJBeR%OS(QU&z9yfvqC^&G#>jM9rR-~ZOsYHAym$Oq?uf}Sg=nX7mpnqtrZeNF zbGJXN8H7GZPULQ%0OLuIg)!KS;cg$R86wAVr#;LaHx;IF_f6-HpTX>%!8lLnj-JLH zKZRbI3=_HAAA)hD%b)~(F?L1V;YHlhWiW<2ehm4s$j8&GlVJ+!Dd-;Nj-Q0@hhRKC zKNdz)X9;x|6Gt)emC%+_+N9c7)1y$`JLA@=tw!wfyglH6L|#?}UDy&xrQ??zBT*h98-4*SLqTGY&sj=0YB_Jb8s@(iQTTnU@#QorANa zPjerf=AJmq-2I+=BfXRY`1h&?Om z1MO&8dlxHETG!FV3e?34RKp4sS!)+7P-sEA88pSFsf*R8h83ub6{w39D71I60(G$h zb+H0y6m0(G$hrDuGgwTl%fG$-8z8li89T>}>@P!}suXzF4GO1>HL7WAqQv?JXP zU0W9`P<*$77W95IXiS}rsJkI?G$g)8wB;V!q}uoYe-vtQKdJw2gMUizU3driPPJ=^ zI+e5JPqk&9`C+x+U(m@-dj6-TgYtpHIe1M zDx8|OG7+8f^I!G*|Dv_G?rHUQ<^S7SZ(sEBwANR&Aj%ksbpHV7MTGl;Xa&vO7ey2I zCDGV@MKq#Sjog*!Dn+=vwhVROCPUnYY@}%*8@n6HX6~l4mAjdYg($ZVw3RKOF6r9t zmeMruk(K6M@S8Br%c8dXoT%&mPS@{^W-pOk1^yj&I4}4&*~N#jhiKk&Ulu#*=bc1x z34S1wb3}5MD0XTZ$ajh4efK?b57B%;B-h{y5nLjYz3>+4^+Z#S&1&~u@S7;d?|Pzn zi)d8+nV!D!#V1K=Df$R;z41G zFi~4Zi#uejs4M%31~Nu8m64*A3>H4pPqdZ45lJPp#w5Bfq8YNL+!sydeWHoHUo?gW z$m+|kqMqz1>c|GdkcJT0|1N%a{~~VC3zhVU6zBMtGr!Yu*7Qufb%)pb)0yU-hhsgx z87#)rlQZCDTD%_)(&De+5UoB;s}IxagS7f{TKx&Fev?*L(CXL4@8T8l3+1kfSLyjx zw0b?Qeg|Jaz*+u(nvvNF+ZmO&#AUcj`kL6m$h^bIyhr&xjLs28=Q~E{2S(>2qjQNm zFA~E!M&~4>bCA&)1tp?|EG5P{Fi!j^#%ivLG5E|x9}E1O<07Bhi}9%1R?{Qky_^5+ zUiXfVcYU_llya-4ja+Ohq`bLLD8>EaBlCbbVjdJ{%tPX`c})Cdegi*{2f<&~hf1@%Ja2Z8$IRyPGqaxDi~VlXEp}7> z1M`OX%=}q=h0i1A1##3oEe@F{#D41AV;&XT;SJKSna9O)-2xrmo{b9hcX) zwo`hGW{}*7Y#pp6l5%wA^w1h2T8+om*u1WBkX9(0OsRa<^o;S|kAF5}yz}YSj8T7; z{fKt$rA>Qi&u&KI3(a7;pLTqTPU-j2mXBdS?K{ATe2MN5_JD|+Ck^AM6nGePID3L$V zBj@OulW?5$QF`+zy>mh{3VAX9N~p60JH88Y4}8y@K8uet@E!h6!PnfYN2%v1^&O+` z{~^BPjGBtq8+{{p25YGd+0xCo61P*fb!S5^`CQgheDiQ;vEIt!X`3w@kZ*vzkvmV` z;~pZLf{%Ly_W4jO+qg?ula*4g4Er*9H|aX=A}FAoVifXX{FUIh1iK>YDTI--IX;>} z6Z|!T`tD(r%Y$6jblI{Vu{9t@6>nQl-`5j8DAM z-p{8#lpLTblYP+Yy!Ks-bxuoG*I6=yx(DJhjX2V1?_f=?%t5a7>BQrNLBy6vj6;zR z$9A}TIQEJ{$`|3MgjIV9cE$K8Kwlt-AsP+lFb$>> z#bj!pNF?Kkq7+KVkHWTqNDA;#=pH1Cw7*RJ)cjrPeO~?9UFp4NyLfu3p_s#Lm_rXe zt;r^x1;uhMt(vbX;~Q0(oJ~t-qnl2zO~-b&CKX$IjX!(5PnSPyrMC|{cv^Y4SU|Lk zG&yoHtys!zSw{X9O}2cIRxM%nE@nn9V&*QQ#S1hJ+21qM>v8V0g0gF{Tg6zfV!o_q zzN}$hRM1l!VGHwRD|2Nlel}vO?8})4n_w$-ZX>^)IkJQDJD4-uvEN3yt@Q3D>MMs; zq*ow&4c)8Qyo&8>lvzR9RrpZ;0z55iCO#(jIedxcD=ZEZ-C?{O&jq`wDMc^tj^cSPHD>I*OXED|KXYNjmAz|k-&GVo8Q;l z@m(-OUWK2ryn*N6x$l0~43gK$Un8o^aFM9a6U}-0^8)>Ok^a0)`>(-uX5ugO=kJ;# z(xvhzYQG5Q>8EqpoS~1-Q2s0}`yPMi=?PVLmM4<#ykU?b>p(-{l#N6-_w zl0hO_T12W0!6Fa>M4Eg+q{wd21$ieikZ+|KvIDK`K-3-a-jUimQ+ro23cF&y!4^w@ zA_^oL3j`w%6r=G|Cc8stTH}kpEz$YV3vG$WSJ;s!a+fF6_?_;3V*S~j?tKp2S})h< z9*tonqZ!3WMlh20N74Rh+7!cx#6bf2MC6I+6KG=`_Nt7Pz8e4uB2y-jPZ5Kp9UD9S zltMox>9V7-DZ{o5-=k%3WZ~$-unEI9oHD&B8;K9)uclXJ-e=#R^_RCdy-&srMmS58 zBeUtXK}0^7{4h2oxhP(oB{kg~CBzk&RBpG55x%a;kt?uRh4(e&*J-llYFe_AC{_^h>-6mFcwVk?$XkCq ztSj1zZQS#3a_?>-^36oFnVPrI^KTN>4%kVA@6z+{Vt3Ov19=8=hkTDZcTx9l>e-F$ z9{j(nDVA^3+uKQRfsLf!z~>v(u>n6@#87+$|A)CV zjgG3w;&{LAv4{(($T-JkR6tO405xgSOVa7?bUz5_fCz-pB!K`SjmRP-0a+A51yNRk z1ZACp00IGJ^ROzis04uokWIo)Kp+Hx03!3NqT|Ck`H)Y2NQohOt{zV;;y)oNxd6|4$AoX0`l(t8eh8c8zz0a^4rN@a}Mh_lT>%_eR%; zPfq)28qa7mJHMF|>}_rm`Xuxn_;fX(-No}r@O%?IugnU)H51RR-*{&!2bXzoDZ^hG z{(ohx>%8ZfIe(aWLTlLF;(h1_xW;=)IqyW}yrW!FNFk06=)+$}V;8Bcjz*OmP+s}T zeNEF2o*+AzVS5x(kdp!LxXiLW3jMSKW>x_+Ya8oj8~t0DIa}awQ)mmn&7aOA2hbl@ z=%*dPR<`%^geq2OgDlbVkJDQXQ!PG&Oy(2D&RPlUu!PxrhBbbk@qYzZi03Npa`ff& zUt!k%3SZisW42xf<*bnFw0~pG--L6M74{n|>N@u2#C@4K&Ve(?d_SR`pzk=G<8V)4 zb1LM^_!OmvmZUuZYH0!O?^?3<4~;iTt)Es?p_6t$x_iMrT8b7yUp1{0;B=yO0n8}{ zP7RubBka7~j{ixxKE&}_n~*?|MuDePSBw5=ctISO5*7R%KI z-00mRTJykhgE(wl*v0`jvIn1DI9_Z#;wAJi;X{rUtwnLQqPL0{7_%{c8`J*+yhzPQ zpAU{7pFVu~gbRHf{c+g4RE$>otjbT67Kt1wV({tGn!vFMH}SgRyR>-p(vMEOI^+9A zBYZWauOYq~!F>rk=_A~C%2=P3tzP5&;0&$a$4oC1Wh>B{h})29TcU46rfsws@fvsK zRjS{DYPD6+MKdyPhWrZIwo?60Y#kt)wiUe6Wi_MPCQ!oAIpM2cDn^sXWROEnxnL^#sq}wJU2<6wIbaI;PXd!!8B;(GGdGv@{~2}41(T`MB(S1M-M<0euVbJyXF; zzfa5sdF)AfjJp8Lr#+7qFqg4rgPF)P&`qar8u3iW$Bd9)GbPj4ed4XRx>kJW4|WkGu*4h zSO=A@5~Fg7p(jEEQvq4;1cl7ELZU9BN=0O_OTkH>Q|v%r0Jb4-V=Zh4KT^S+ppZGX zo2++Jl_DxoL?w1nkpl1o75bj`cl2#jh)3_kPIBUb2ib!!H+namIQTB$z}8ONj@~9( zh1QS!hOZdT&v5rEc*H*J_u*?lK7R(qj3YVwu`32g@NrbZD~`cCMqEcgF|idZ8y$OH z>_y&-ub;5pr|ez$bHRxPF~|;lN;v6{g&PB$YMgN2<*M$5Ekk#?o~eXNoCBpqTuS8U z!7pTUS|L`PA)~Wodk&l@`%W#=+UFD}9-bH3gAX@+ zH=H>5E)a`N3|A*`ptoaZhx6CnH;ivuZm@UXZI-Z#n>-tCl0}4BA{JS~N1uc)Zcru3 zH@<1P56c<~y0{O9Y=?WMRCPb7I9bU5Vc}u3L)0?I0GD`7!6_a=C-o1TZQ@bzIPyQ? zJYkLlZnzR&`hE2Ku!{#?`n>Rb@crm@`gM4I@esP2^gW1uP5eBh#nu1*k3E-{Sh#L@w5+)yzo5O#KG|pyNA*JKu2zd zPN&Zg=QhtKe2mkKb^^Ye)8Cw26W}(b27df|fg3pvA1-PX3n!KsT=?-|8}6B5JTEJI zni})QsO&35*;2tFUgO#pv?u!ZWY$)}DcVqhS3ygv&=TD%3gOSLs(Zto-y8+VCq+RQ z0pgbJ0Q*{sLK9?(@b7cRy{PO?8JXHctLafwHzE&$9?bim+>M^xjULRk9$bUmvF_-) zfv(71(05@zc4J-!K@a2}%-x;}@#1ynY>;Yn1)Z7Cot2FpzD*b>t-iFfKsF<0<9PtA z0gRTV;1rp(`=jp*`XKjV)Hgvt_TWsA&1x8+;1&akU?3x9F=AiPn+SRl*&FElD8!@p z(J$e_-h&@EIye1sa9zNGorE2ooxbqT!K$vX_|ScO(lmd7R9PV)X-{r0h zr#d5)AL%pvv)Y)qmCb6Sc6aW{Q;9j3yr+;uF8Sn=^E5CWc_zB)^i6|vn`aZBQNNkA zXOZu0`e&2>EVwhM$296P733gK!N+7~)+9KSn3a?9lZ$Qb(4DDannNp3!7k=;{TwXh z&U_AY0VB-kIuGPAQXXFCD1?8`Rdug$tIW*&o#F>gUl9LNVqZe$OQ^yZRAV_>^QKB&#y2bBVF9f^y_*=&sS^ePfVqOR#3!wr%UQZQHhO+cr+y zr)}FdPusTL)Az=kH+T~<^M7{4+7YXem6ch0SLIrnU#h_!Q)!R&1aD8|Wl8Fk`UG`j z+t*NI^Ks+ywYU0T0W}vtNM#ONYRAlQ`jwj0i?aut)TamRU8Ab20p0W<=Gg8hYRA5z|6%i^( zwJBsvOjQv;Pk0!2-JH#8+deS$bw|bNA5j69DU($?3d;4^-N&jy0H#N~xytXww*52i zmT|>Is=p#AfDZXE;R;0DByS!_gZO2s>e3<$f2cU1JhJ$^Q;+mm^tv8_7E-5P@Z~z4aezAWd-#(j$EJ%`p@1#pQDvt{7OksH zP7hS)fhZ|wlxMD|T3;x&wm%9PVB)Y`(91v}(nTs(<$A`RO} z<0)5_7#6(IuhFTcJ19;TGXi|rlY%)RY2W_eNSE3S zaet1eTZe#%)O*c6qPejrjUOY5^&dPlfx@&}e-c;@r?< zHi%F2D@plODr{9HO{xJ&q$@Rjq6P0@M=Q~tfR)7MF7BFD2w!F%D!InPEi>3-hRCau zTiXdgNs$h{4uG8b0IO!)*>T913m11N?%yD8@ejZ7NYnNYoS~8l(q`STrX^Yv_4=7FDuK2e;{77_97DzE zOmlFCM+~eZ>o`Pt9UiQ)#8UOC{nDL;&~4-F8g&U_u*7s{bD#(Kg#pLoO<9H zpX-bKW%pq3PDFUSMl0Z5PQc%Y%?c)pdiXkhZ;EB?EZ5K7`zu;DB?AN@-NK;ElC9C9y#brP8sYXjyg zz%I~=xhnC{A12JtjsJTDKBGh_Bm-)UdmlIp6etUt(=jJr{75iPsL7U za0kryt3F~gblK#waXUop!9=#;*Ha^!SrC93aD?$R5a2ECsxVrnxm{=%Cj2&4(H)5l z;8+%6A_sMmzw*UAf4o!B4~Iy1-f^eoj_aieC|;+V6L0G=$2#iQff~YEj?rzZ(u*S~ zffv(Arv-a#r_Xm$Nez`-%olK^>S^(F8cba9k_l3CI(gUJIAdH<$M-uxTr!lc;nmTI z6FWLYfl|ul(VK-Z>rpSQz3yhc76(Zua`S#rTa?zaMp}XJr%Lg9KD^8fPF3m?Ew-Bl zk8HE?JvBr%#UGm~5Y?#P)nUdPS2gPAXh|WyNvD250002r-@pL!QotZ60AK(RKlg+H z4Zm6}U;qICvVJa{pAt7aM`LEAef>kaC7cD=2Zl1w{>vI%rky8aD{ZZs`(zKLm9zpyQ z4H+c8mM*4m;Z%ye3V$L$6QgnRk(qynZCdA+GVaBuG-M%J@WIE`T-DMV^~7zs!$-ox z5ajMej+3-1W*~GGPrdX8IMlX9mr3o9cO;6J<|%9n8T|YBOFB3yBW1*d!N6BqtO+VoOlN1%nv@R{6 z0RZl4000pGyA=Ot`5kCVIT5!Yc9&9p3k+#DPc17TJ5OHzDjV26gI)?sY zPNeyMdx*!eBK33DZaX4@f@Q(l)MLZq`P{9@bz6@bDZyve@oL(+{<~LTp|s7VpiKqw*?Kho^Jh zM%9PSxn;jYrA5oNr6p6v>8*ji>ZAtkdB0UpS2qW(>-tGXYQwg}S1oSfy}GA^yIOkl z%wVN)zgT}#`)R5fPhw}+w*lYOw&Obm+s1{D+2f;2i2EloY$y4&uiepUtDH{Hm&*`7 zqMc^#b%zQwOwr%XC-)7VE(@;@qA;a zDYP_XgKfLDx`#(gMVqde=f{VR)9)^gxaTm;4w-GYPd6987K^Zj-_;#mc;|J5sRP}A zZQ*-0Y%+ff`)Y1IKH91!<;M|+{d#0y21$JUiI|mhwWfPJH1%mZ;j4O8h&S-wV&z-3 zQG#Qq$fT7Jn8dTtV{$z%l);wh))O z!u35T-bs1yvz`3woeZ~$#rtEHHq2tDsCjqK;qQm^lihM=g12{%#`Rfl4O%Lu46k3u z-^6;mI6l?QW@2pKO}k-JC~%+W48gw3z5TF}LzdgU$6(6D4OvBQx;Q6#U)|c}UX<=HVt+I=mQO1wD%B2y^I?QENE>zmDNS|279gc3t9DGk1Ig z?UZ~FMX)PIktl!4@mi!EESn2V+t4wJU916Mwsazu`gB8^!)f`%m3TuL!*nf^Dn7ug z7*w2vg1`-+3hrfr+B%3k{H-$-QBBIdG;77z#u%ZC`*N-+PRY(Trg z6-c5eSePqGh}z2oQKrwzuLwK9<%mHEU=#i=Isg6X z{G<@81@Dqa0k4R_H4g0(nu)%~Z&fiW$S#!d8ogCuig-?YigV*pznpxJkB3!rj}Xau zG07W30Cigu`2cjr@05yB0->_&CA&aMoNujZkwLiCSONmLrfii&l*+Faac#pC8=syz zw@h8cCX=o>d+b~+t6U-vHEs%;#{Q-?W)sR;D@hUZtbpQ42v=!JB?RBROy+H*PEO*>tYLPio$i4v zREeJ7U++Px%`Z;UGSA+>#xFSFt{=qs!b>XIf33uII6jLmK8O0GpGhecFt?2+iDD2; z+S>r+A}?Wsu_z!?qmxyorU@OeVonUjEhj=3eSJBuK0+v1KF;uASemPXmgfc`@-sU&WEg16FNExx_UFsjC&U~m3cSCDTfiVw&R@kZ2RbInV5>xgfCW+mVbN-}|7 zA}3F=mqPsJxQGeBBV%7DknH_6ns<5%Q-uo?^|B;dW)i|ft-cEtT?+!#o|Er-;u5K+ z)Te|C=@g~x>>mzqW;YdId_3DCw2RbZA;gGu&dG#UCsPJf>41k+W~?SqRt6y%!drw} zzz%-B@TaY}#ffFoXi!W@18WhGG+sl{uE;(Q^dVPVMF{K?xvCjbN@fmg=!aZcdH2bC@xX*rUi9_+8tXbBEKzS+yAG68TSXoDEh{uO78wUNX>d3&x2|lnZY3 z@bz$d`mmj50ZG>G$RN+OkYPPsPmq!6kYTi`Qg)w9{x5Yq5!8jy{AZ9sQgnBI7gaF7lL+bg?_iC4 z-KHf^3isk=Vg3bQW1(IHm&`7!jbTP97z8jP0vy@1Tlxz@xwFZxVDCMVEWBT?%o++M zD$ey##%%~cy^Qh$`jC=m1?_lGv=5~O7fe+-$B#~1BCMMg`YykjY;;MYVy~KnObNH; zlu>~3gLg*OX#jaLm7E6>qQD6BCTLLJ?_Q|rJp9e?hCvFrdc`ZBmXV zMSI#nUouM$SJ_g);!`60L}~fv4net$aZwt=4cId$MLHvK**2I^<6e#0=$a4ZJE-V2 zW?$7H{|nx4o%W$<&{s1swN+Oo(fMUloq}fH({3!9N+Lg(F=%<)_mK7R+5(<1l_=xM%=-}kB<480!8LnBU^OA^+6xYXv>l#j5? z`&H?=1=S<5&HH&-SJK-0lh>JGAtjsJhh^R7#%7%N*)#TOkISYX?}w8Uxh#uA-kcxu z<&9j|Z&}d>IldCekzAJZhkX<2X`?$6=_#W#6X_YFHYvNz|c(pH?#^Q&R8y?}aAKnFgJ< zPm9f*t~`GqX6fHnfREE`597Xn?3e#)-GuYbhs6;B08kzR0Kos}x!l>q+T>rW=7Pt< zZe2We8-4Yg|7C#&?NmLHbfT{noVQ~^d_HHj>)t^?B6$c-#*(7^@}VYItwtBOGO9?J z6i?q29XHCQcFSk6Vo&e;=`LBskK~Yy_U^v04}L^UA#o;3@9q!C>3-^U#50E=S+Y+5+ zbgUNMz7My&Z|O((Dt&l0baydZHr@G*bEO9yZ`#~LuX9?g4rs@5v)^&-TzryuY(1MR z>brJ)#PQWsoO=WVewAk6fJ01+`HHhagmj-sh_l@o@THvgd#*FwG{=n*ZSqEh ztaWl=HsME0mNf4q9reM;k64Y+imhE|vBVjxJ9geT9*VzbFQgJHlr1x$B>p~c{XlBN z*ku{yQxj25p0FV^x2zwq2#-3@KeiHzCJ}2_zhM~^`K1s+cjQ#N1a}s!ugbKKj}N2; z8RzE>;jR?<(GZMaFv;{VGp||wp%e^q;dCc9&aFGl*-@d8e9_SwjX&Yu#q`&HaZBgr zz4^~<(P<*HwVm_!@y?e`;wZ-qL|412YUoLjJ!trXCg5wtf+q57sd-i6hf?Fb%+_vp za_Ys(IOQyvdnrUjm6G3I)`HBh`jIdMgL8T>ZwTnnBTNX#)qnXR z5*f@XZuqJ%g*c@z&0AA)MpO2RoDQ^H5d5GlmPY>>4Wb$8ufGlBkC;iMM_(e%FgYHK}glH*BCqH6G+>>i2Oe0O`1}>30 z$@5xXU|XvFG)1F5bE=n?r0^53)V6&u6Q*0{Lmz&qx~oeQxg||}&*uCsiecB7Ns?`1 z5kPrX6Z3k7ctvIx^ZAXS#`EEc`Z?KhnQ11rx7MJwJ|_>JpT<%f3027&5Q};-lY?LN zSowoqSIY!Xq1T66OBMbs-^AYpZp}a~>R+cGD-c&FO*}pC4*ZK|F&W)EGwLQ%Cy&XL za4jybraEpUjf7A>DFAw(t8A8BR~2%x4<r=!&?3X*e1cUG<5W>V!%-}aofFZFyoTxu1#}2yn zsnEg=NakwX%sLF-;1YPKLiZm-t-4frKVzU;*W^wLCEbI9a9|T5KGY?u?1mHs4G%UD z+tBaL56UfOB+axH*fNhdqPtlsW6uUcsE0){WBvv7I# z02U<@#EX>_>Jm<+8~l!25V|~tc2YSOWIqb-Iw3^A15#cM%b=HsM&Mg9E+jq4I$480 zFCEHBlg!3iq=zfTIOvmr_<@TPMYPDI0DE=+i#1pty;rSq1 zCmPw)wNss_DtAIMuMcgd(B>VJO-E@0ju)adV|;+V=NeL<3ikw(sY_457s-4}b9sM7 zfHljkzjDc2-<0_s(hN1e!c9yn`y+pHL>dK(O0%#Z*Ru&H2M;zvhh}%~4bNyFK~V%u z_oX_4AG^cdhpp=n55XZGjD(-{S7+ihm0vTt*8RLr+O?R#x7IGvq)gP&BoHmiAvZ2GDHkuJp8M+nBd)0e(Hxlo^q^C$9`bvs(E{expEH4sviiQkdUDvVcM-n_7P6S#VoS%#!-PEug z6e8#;loy^xnptzdA;p!3*1B}2R} zfWGa0bId&Cw*G2ZIW|TyX~XpXrKSLl{=)cAwR`Yr5A{0c^}acEPM1Kfll| zN7QCicnPDvD1dXFoD@4NNyawyv$Fy!NKP9&f*bXzQ>aKO~>NQ zVV%^f1`X4)#&yJ*S0t*3(}sOCL`=zI2nnU$S-=xEh2|u;x1eN&4JPweunU@VMnQ!7 zXl~(qS|twyI2(Q3?iTQU5$KW1&P^`KCjqWL;4rIKpnO_U>8y>#@>JuqlF5F>(&m&6{NXqDLjIbO1WZDBU5t4pjo8if(1oG&)R(L zbdXxg0c?;!MGvbZ7IvzHg!tluiN~S1nJCb-8M``+0dbc(#adK*Xcg6^5T@zNC9FHE zF2br75-GZ)X({)?1fn@zoyRsUzSkxNAv~eQfr;M|z7mgxuH#${1|T(u6jRmmV2PH4 z(@o`#*`F`su)FKS*c8cSI_3n_w$>x?W57=RN)M9qZ?lmWm6jET({*05d3ixu_yGg! zC9ndLNT9T(WVnSP7hVtTB%_n=J`TrYA@D>HY|JB6{DU}!DGsDybLbS9i8bb=>Mv&i25i``5mkrGlQQ{L zvI&g^1x_tC{p7%l6(u8#S>-Xl7Wdt>;sWEKDBZD~;ezUD6cwz?TG2d|DQB_kjgr}k8X z9*5g;7s1^{3b16Wq;Lp(dP0YHltE%`c9h;?>o`hPw6ir5#2FoL(RW9eSv&fX!gVWIO{mF`3S7r$t9KH0%q@ppVN;Ud&;0G2 zc|a39mhqT-N{0m@4BkI4R@`wvU{>XuS)i>V|4fP8c3zV4yV4u7QWDPg^d#`FW|t%z4Oxj$w;&EFlotq$z_3ct ztjI{)FU%poyZbzjF=}FCe%5aD_va+Ah5=QxY;y|w#BwafUKokH{c>|eZJ0t}jq@lB z;c4EU%EX#8Q|o-f3EOT!DJY(PQ9>WgY(n1SR69X9M_PucHnB3M*;HBsTq!Homxj+l z?xMVu2fc^WLFQ&^0`M~@ZxoIu$uzK0g_YzfCaxoGr}B19>DD1O!ECr}Tfqv)jTa5T z!7VjVimkpQIkj&bCZqs~iKdQFF3q1+uh&2T`vO%1Lq2$H+|YMlPEI>lfi%pqAyMQm zVZWi-pg_8$i(x20i8s)2IH_f=MU3*)2OR-PFFBRlTtPnwb;byG#_)Hpzs-;GHSRwfr2C-%6t9cYfj6Ds%l?b@M|URLYcF1TCK zEqCPWG_gswQi1981`T3GIfY2?(pyv;|Dg%KcKYDP9+XH^lv~1O$qW;kloX1Wl&`}m zpSyoixl21Rm+l(qbB>V%_s4%?#mL!Pk{qRzM^@Gxdu!duQ~E2V20R(LQ2$lIlPOe7 zCy1RVBj*=C7hWuO9|v`Yi?vYas z;Kl_&>tV3t^w<#7+bSc@Y*v0R)`NAmUu&+TEG{l#U`ht#64;8cxf%iU}T$5aoc;lDAz)J!r6#zN(~MZN+tfz&=GbG!!3!VzEk&&hRC6#o7_L^lG8vum-#K zA`sQvi2@9fwO}!W0A|#TS=$!pPd%$k99?=QA)Hbh)#@!gL;6)Ie5tr^p8=17DMs%k zgMWqr0JG+3xVp_?T=bfyK(@SmJ?bo8?8N1zHEuvx$2WJ8QkJ!31jLy#JbF@0vuw;v zA%)RNY&uR}0(k6c^!V?;HQ=+#z6$3GP7b9T)WIuI{iloi2IT9;?Do4+NnIQUK!NlJ z-H6-$e~1ju>wcT4CTFp2-sJB~+&ZrkdWLX8WQ72uKu}=B`Sww^vD%etIx9a_1I)sW z1_x7qtzyCUiz+TYw$eziAFO_r0L*bh$y*+g}ejG*xP#%;8HelC>h^uZgzeqw^~NX@d^|SLkh# zo{)J2l%1(#zV0>u+$9fcIHT(< zOgBoXwA7d8lCz-ith5 zTXIl*u%mU=SYt?*E`Ki-(astrEJ&?3&)qSd#$pF60858oRf;^CUDjlt#wPDK)~;HP z(0xwO4$O<&%!46V+HLi|SmsORkExB$S>J?=`>ak949wXpm7`dT5i3g#)mto{{!Ycj z=d)9fG%76cYLgVwCmRzwY-GV{p&?_#-NPkL6xO_^O9;w6KPhp*han%KX)dHwDD8G* zlGl^5Ty==3!c%Zk*6|yrs@;TnwzDUAU?LG6?Lou5KNTWVn<>Xs7W0_0vN}Qskn@8Y z2^2`88XBTRNcUWEVtTp7hH!)k%J1bMkoj2*v!dh2R#mK%AJ!sTJ`nsHiR0gX=X3!C zHrVtHD+qpd{>R#FGw2&BFW+M~NVS6c&wOQ_)-^?W;gbH>LCV#(qZ{MY?)&`(8QCbc zeQGVc$aNsweneD7G`CRXd$oV|n;X2K+C~Ji4%b$PA3)@!JO+!Vyw6-qxIsm$w{$tE zx51i1?j$y`rAvf$(@x?C{)dwqQe(q@5`F-c7TQxU?k;v5PWaJpm=Ey3Ttu0U58aKh zBG!{0w`Q!Vcz#M#xT)cvmsS$FL3#mdiphGko0MzBbA6<(q?ED)Uhf(BWxZ6DXqqZl z6a)C>CAvj>Wh&;ApM>Aa_BF|n&^RBp*I9uRx*qV!=qE^sB%yyt?@@n!a1Ge$wHOb` zfyS|ZEbfHnVqv4gDqz&htdYybf2iBcjv_T{?K>Lz`vtgpj;~{I8*fh;@5ehbu)>w~ z#SAoOWcmr=91Ybw>l9?5BiixD808gz-g@m0Sh-wzBF$$K)tS6$spXV)xn)&Vt{w9B3RPXe&8R#>nxdJba#7_B%b7dV& zqWZS(*YlgtqK`JXGbg#<#qD7Pwc@pZR$}yZAn(cFV z_4g6+|LuTEHH!$2@erqbV}|?K)i0(x+0$Crr@6LUVEg2}6G8d_v$zv{JxYMw>$7q} z?*CUI85O`jzr*Wuws!kYOER+wWqqm@#R}1l3+w=T{`PL&${Gh)_WeZ@cZF?XcL}0! zTL;~0-Kj~vrER%5uNy1-Ztw~GP^W*ImfF$--a|}mt{w=?OJs41bQ9=rwY_jyFgRV;O>$ zWPaHNWLGrtprQ)JHmaN){$j2euPmW?$m@(Ks-y8=w4KE*&HG5Z@AEz6Hv!xY05V#K zq3x|`<-n1boMsv^v;wCocGX5BRgN#SpmNxRw+@PGP}&O|?QwNoUSw-T%d3sE%jT$o z9f|m~sidQx+OV8n8K#)R+c$i^qgeWdeec5{3=6V%e)mU|vJLMKjB(VhC~Jo5TXNMlV4Rr`<@?I!PVLFK98X)(AZltw{ z-l`W5(Yc`-0-esoxPd9U{V-js&)j{?J5w_zouM;&4V-Ap?g=w$7sP_<2Eg#TbWHkz z_r#AX(KQdjUaXKrL@vG7gR$R`;@vC2D$RDS9^E&10(Rf3I;X_<{Q}eZzHsBL*!a> zI%C~*-zaJ+`{T6Qj#VRD=d8t|e33Jtu1Pugm~t5)r*ZnI9sQFVFX&!;5G1@Fh+g~w zBq3M%Cr3GySu>E{_6XDJ1hMVEmwu1$;(IBY;l0Wb12FwoctOY2I&#^?_h%c?t#|fC zH0BE5C+Kir&K$D3jeE2UsNc+YI%QA-o!ree88)l`MBc_R z>D)Ks7WRrjHTf0J8kRxF_;$sBFBqo47$cUXfGAbiQms|>yfJlp6nSyD7*u{Zy{jA1 z4qpvq={-vRY~`dUOb0BbPi&v8yq4mTDM)#pAz}*Mh)eU-7&qD4ZU0mjnuBiJA<=qc zN?(RNe7hdVQ?v2pYJWI2E!&c^&~1}DX~;#}dS{wjygn|Yvjm)}XWKwi$K2iOZMm+c zXp)cokxw=7GWCt{A%9=Ji=aiNS0-lcVT7M}4hS-~K~8{&NXG9OZwyaxV)q0YE>-{; zj|Z|29L~Nwk8R}vk_B)oFwNtiXSND2Qhh?^IzcUrcKhC5h3&@=mi!+~au4BVHT(;A8d2xzdY7m97gs zqlz~BuW3AP?~|+qPxFJ^mEA&~x8nNN{OKGsM$BWO*^4C4-Z=Ig*gtcyf+tAV+|DJ!-}lg9XA93&hn9nO-n6yP zQZY$jjH115(64-hatYffVDw?D%nzEKYAPIRa)Vhtvb`a-Pm))HU(0^%F%jk!$s0*l z+k5jeN96%>DEEzs>>5xb7`x^Nvol9WuaZs+q+<=FldALaMFLf z3{?&dt!bh^LdvmUHE@S5e-H2h%Tw32rvB3$WW}EpGt|1nZX%&fL(HI4uY}y~b5>N* zQQ@R8leqx$X7dISQVdx8TK7FQjnzmxs)Kqaq!|!o0>$9BCY+61EP(Q{z>|N#=Y|Rg z1LJvbWs0M^(P514mD2X$WZt0T0ZUw-G0%hlWv%A(eRCc%^QJ07Q%%9naxR`-fs#gm z3T+D@1TNSjX!9+5I8dYJ+9a(qS-7G|J#ZGpvgn$+tygm~jsdo9RTgD%=F0bSLG|xV zKt4(cLJaQ7k0H$PqAS$}U2$t6((_71x9K`Eto&GGdpK0%QgiF*?d|F#67?XAeB!f+7V7$5%A})y{?G9bz`i0FA@j3t z>cH9^j3|P*Lc>+9o^l61{0)HKz621O-M#B-k2DpR{+3wcBXq!!wo;BKDbJ4^v2@M} z_(jwYsK~>b0&t$2GakSKFYCyjR_pG*TK<0byJg)zUY#H=_DjPx#rW??dJac!C;x9Vpl+77pJ%iV$$AruMGW@Y7_ZnL{#~bE3dG)R=TO1F8~!+y z#cVBV+CCD083KB{3KjJI>LjGEP*T83Q~Rj7RDQ_CH{r5TmK)=K~y=p-ze$Z>^AJ#5B2dLZL z>g5NDPu=Mek-HqL5A>UO87~4Z98%9*?KpVs;N=KtU;i+>9LM4XU~h`?oo`wXhk6at zqi|k7ZV|qe`l|(v?FRjM*xBHtC#>UmGaqMw*D7Xh$oX>A(aXu(!*hU;q}xjteTaFT zmOe_Ffq`%vSB{^2n};KhRn6M5uR!;#)d}Aq(mYb&V%9}s{?{xZbI(|Rn_gH^9-L;0 zqgnEK0dIAO1uo;yV|H0eUp`e+tb0m8zPqIJBZg3+zr_7?;KpF z1KIAByYI@8GmH40ao64t5GH7WR7f5DHi1IkJ^RIIh zZ`7GL8$em;#VSSC0njy3&Y1|gLbWtI| z1ijzakNLd#Udo#nibjrBg{*O=A5zqVe6%pcQCSc&@)qFrLMhTTZoONk zjve8XP$;zUm^a2AWAZgsCdeC1Znu**u|8F*H^85Wh~41zeCg17>0SCdfOKj*1UH^}E@K?wM*F7lQTJ@StOV4-(2diGi<8lpX@V>1VX`JDHJfVtIyC*An@qF zs>&}zHt_szs24NWNU;iA;VPp8po=)WY@4^j5sj08dBT)uCZ`$Ue>D08$TiQ;0_4** z=D(Gj=cM0vipieGMh{``eEZ8p4r5Eq;Br*T;DJgPO20vrg2fDu2I}%~up|++>}|7? zq;cqI#1HbvGvmMdZaDLCc=rF)Q2cmy-~m7Y8o4+*+u5kwSpSE6x`nfe4dZ|MrV|u^ z08-=u{Ivc5`x89V7YW1&1Gdw#!|J?)N=aO$ps))~>d)8x#=JY=Eto8s*WO^%x8 zf)Vodt7wz2zw#>muM*3w@-K?$SWkR0V7}w)B{Y<%n67Nff&g-+i;lwro?Yu=n%e{9 ziUMI)hKQo<%efO5%(46lxoX$B?Q-vm_=dDX8k(+t3(hSzE-A=PPKL2Y*}R zN5RG*5n8RM9|;Hv z17038W}lluJva)!EB2C&Q9Ddc3Q~n)Egqyq2FGDa=_m46(BD;TJJVymGrgM_h(stV zJnwL2#a}<6F=^tFk?-B)S6#Oq+usgd?H)32?}x7U3<7S$2V|R*Em4O@69Wf&yrkP6 zNtvGp%^H)c>oRW)ufMOzd%nNyzK`7O@LB24N1VagwtC&HpYU~e?-q7%K6bx+`TQhT z8a_9lI5vBSX4W@7UH$#8x;JXfI{dsmzHGa7_-5cHMh-1KUOeMq2QrL*5)7wzUa;cV z*Sy$vWnDMFUmgQ{91J|&A0Kj0eI3YMoOP!0VA>qhpF2C{*>!FgQ@_BjPkmXucFy$J zY(A~)N65XVb)KQ!w(A}~ck!%vtQ)d<0dv-2o5Y<4gM zCDu^n{JBRSzn=6P^K9Ng(G&UsH2Ma;zw-BZzSw*|sECCI)bxh$XYty=cWrpxElqor zIo0E%!6O6fGHKAG+gUreeq@k1`QEU1l*7~Qsf3$|JGE+mdwArSx+WadD1I<LQya?UqkA?c z%)@oP{mh-`LyOxg=-9jW%R08xD9(ld+wyrIOLGn&Joa_;+$)#f>&IvJoL8A+5dVH1 z=SIgCEO-!AKXFr2`u7N0e$T*=^YwD(;C+`-o&IwIu_qB-d?+gX^9ijJLYiDOLCg>L zQ{kqAe-bFGYrv&8(sIFx-2I4&x4v3xn5&PwzJG^p6jh&(;uoun%bfxb}xW zM_^m?1mBzhFES|r%DnCQ`TJF>ZqutaP(2y0W}>vVIoF(0IK9KzQsVBMWB1TrHL;-; z>CLs9C1}BIxash#vm2GGLC(E%4_RvnZxvTtZ%x%9`6l3Jm4wF<~5R)A*K*P7#2p4B|yo z2%3iDin_MFdc3{0YSHJkVP#c zk1={1(mF9P&oXJAtQcP#`lI?)nK9f)b{w&b7drfRN4`u!;R2Nsw1O+f33MJtVBfl> zxT-sTxbNyCf*)3BAE%-ilHN)UJ0?iDXwJ8!)gcHbF>nW_*#>(wwEC2!&IQCTK6MWudr=1v&cU;StwYtDoUe!qW0|)E5J+SR zi-9$s-U8{TK}U|w0X35e^%`vt_uM#s*#f$~JcT)_9-I^<>Yvm$lE74n2~rD_>BK6r zbIbBTE{-seygI)825kB=Dw-sE34TB?WKOYWqOMs;L?zmMWQPvj;OUeqF=}U(+n6jN zpylPOY!sFCLcuA3j^@- zV<_sGd{vU(!u;QkDu{)N z&gg6H2!=}gpUres6f(przluYCGCAcxJaQh}xhfA0U$=CrizwEQ)DWJk1KA5pQj1Fz zI{%`q2z+^N1{Q2*(B|S#0{`i>vDbCspI!~K3^xlRDl=dHAxhb~ZD=4Ef}0m#9h!{l zk&>8<9tj={W83QLf8=B-34OYCc)`B_qj)hVAU_mkt+uYDrZaRdEi*EZz!F2llu#M@ z9Ejl%0+yW;IqCpO=yd{bSq4s}7QZuDBq$3)xOfelRR$@fhLCU3S>x|i9(b?IFzDIq zf(ketHGQba!2YKr5W;MD$&mGKyV?xC6y}t)`GrV9$vPFpf>}sTpJ1u zyjKk|U@-Q~zqCA^|A+L>xeThM;1jB_Io2bkGGO=|!~r_CZJhy@t-h&~z?$uTn8Arh zK;iZH&yr+UgdM6QS9gv>)<68 z_~G7^ITpw+3!LUM#0kXP#J4NId~nmABt3jUk@nvZ^w&CE0WaE*YP2Cn&cv_No(_Vt z!jM$NHg1qa$J<)?g&D&GIMqwWMqz|$|LgH=61^!~oJyd2!l6gyEQ zEB?3Y5J`zSaQLAWUh9WcX7w`9+{Cred`U(GdjMFbf;o6>^T!`7ZdMy+7$2qFjA&wl zUc;NJWg5ZrMH)6+d3-C`H5b%qR1#DlZk3^>@u>+i53W@{nbhf!^NdT(z+r{>-)`t) zVO8KPbd41gA_tgDtK`{hWoTXHMpdFA!!ar7M#ng84KGFH6(Peqaw;IkTfxsC9>A+k zuqeBfL8WVgSE5Lsb)@*t5=i`5(*mzN09UVe6u2C{LS{(rxN3dp-z%W)p+21Wih!Vi z7m9(jbd2q?5hYxqsD-`8V+JjFrAZf9gjw)UNhT`~OxNq@wyF=|rR$^p36RIY2p*TI zMcKwHqs@&Zq-kONifCMlA#8Q{S`;`mm7(5ZQi_fq5G02{&i?9#Nt0Wrx{_Q9-qvWy zJSLHH|7zkP7HHx=M!&We>j@@1dHx?Agq7|OJ~Q0C5m=DBw?{NxMd<#w_P)X^s;Fy! z2q|Gm0qK;G2C1Ptg`pb;q=zm+Lb^MZa%iM$5D-L46loL%0SQH76hV*>{jTx82=e{b z?+^GctXZsed7iWPK6l@9?zwxOLx-*^CLtM$8{2@|TPzTV22PH*vjzMl-txvw_eI@! zaI@XkVUD!(n-q&nOu3Elh1v{X%qyN6voA_%XME@T;t8maymyc^SDI+bjeppSt=?m+ zx}z_qTvO@YMjG*``+gMdBh1fBm(3{9AlOv!XC@vd!r<^qRO520NxoGy({!lu@r2#N z`xhp1!3!4_0#!Pv^f3zLYc!y7nXw!x2FYd?X>LpIDtzOyk!DoR%}dluAXZGMbTn7W zopp-JMhK^IZAYN&;I)bpQM#v|sf&G4FK2WoCnORxRWtd-+>?N+^2GdpIN5v-{G{wWH~$sq|Ck$~6d z^%w!TxaO0LwvOR9>&803pwwD8Q6Fx`LyX;#!8XT1>YRfr5cO+)a=X5B%c!jIVt9ho z7tdHJWv{u^t$No?iw|CYxfkZ_V^b2XzNF5;CWlx_Y@dV|Fw1Sh)3fNgMs^zs*jv2I zjhm-@e-KB>M~ccG*1`pq8di;bYCw4Wub02+zh9Z6J zHp5dik8WE%N=*F%Vz|kFv+-m9eLD==I`>}AYA=k<3m)`aK{kmPIK{Np``}0)#NvZg zN&G}=YgoQ*ubGD6TBJ+}<6{N=xIyPP^>`Z+(=9~|YY5Hz4FmcGS6o$M=7sL;y? zSMlJQg7twSxJQE-R2{Dwv5+{*?gp^2aHE#72e1ps_d% z$Pq)z84B5fFE-GcA}H2YUk|Oza5Y;jKd_6Fb$mmFF`FRsyx9-G-dxNY!jRZe)a|SN zYeFL$GzEswdds<>HP@<<2MluA1NuCr4^ohH0;bRkgT80>Q{&!%L?q{)s4{{xJm1Z5 zmUb-MSLV3|*!aGGb<(w_v=`am%7%T@4LS-KFFkLcAz}5r^wL1+0?j7_GWOxUop;+X zoeY}Q(k8-m`jD=JBh;d!Sh?jZq(EC5YmR|gXOP2S8sgGNsBy=Am(dDVf!MjFBb?#@on#KJGNc_Dk5F#CbB7ES>&n#xnX#{NsZ6E4fRwT*M~a< zda?GY{DuLWVSeSeT+>@D2fZcWr_m;daB3xsnyXb7#~VCBz9~qn0t2O;B+}!|Oesh( z6q}c{pyA5_Y^nX`R_W-H1{5+N73PBbUdz-lhSCDx*0bgImlC^36>NVTOG*Ri5&m0} zDMR}fyL)SJY8lX@#lXq{W4%oI&Kkc0vPWU}t-%K*MvPq13txS~D#MeAeO6re<|V!4 z?JP`@IW`Qs0I|1a^Tt}G@AUGjI9G|T`Y(zpuzhc?h^-?NH}!2lx52wNax`&hV2SYp|GpB$_AKL)ZM3=OILF)S1g$f3Q4I z)$D>JvV`ODm6>&7^@Z(io35Sr$oH|z64{vAIzMN4SB5p*(SgeEZ+fHaGoche4x^l<1k<}Ebju-}i5tKd=pw%Id?80q^OK0pn$~6{ zXS5Msw{kZh4JYf(g~6v1O_%$o>~3=Lis|!D+;Yw%N+eKNj*!{x6uO>(ib8nkBl30X zM=mevjkH9Fj#GvuSK$$5MzjSA>XKjPqumq|*e@%O$X$9M1-a8RE`QM6iPX+qQvfHC zu3?EiCExGfn?c+cY%EM(TTJ;FXO7f46qGZJj*cbb;UsBq6uV^8LEK*Sj*{8C|Cx^O z5U-Y#(Dj%cC)|9>`7cb~%-$F55S#*+5mmifyc_i7grw|9@yJ@5*<6#Z%E;Pg41eyS zggHu+8P8Wq@-^$I*}P=vyQAVQiurl>86L4Qi~>%)P#%wNW!*t&-po3n>a%tMbwGX@ z7g?4n#9k~{BvGMA88_9>!F9;LBt@3>wd*hfSn=p36sKh)H&F+2ga z>co+3kT^s{R$`z_XTU|GC5eD9P}0E`ebIfszqFrRk*Aqor$VkVWxNA#cV`9P7dHfn zAyAkTGyMT#HrSbQmsFQOSKR)lG*2faWn{IP6JSh=arkgfe(vKd{$0G)`^mJrovn?D zw7L*$ZLR#eYF?+!oM+X#PqIQ%G@WdokkPs_u1QxwG@F>vL+!#%Nk>dWdllbOCc1*- zDIsO|u4m^6UKo+~)qqZXQ1QM%t9xZqrmJgamn+8?<*1yzwoO3O-r%VCT4UbR)+au& zIM8WDx}>S!bLZX79OFuNjBB-hY=h{S&-yKtSts1{DX}ks`po0g-&&Pm3)v))*>2iDg1~Go_K)%LyGaut;ci zf4$yD!*)O~s!!d!R$YpVV}oe|9!z-jrh`B8;EK*=k2nDuu=O$rq_5$H<1Af|td;ST z-b=E3J7~{XvR^0om=4eQ_lMs8D3nld?}&}= z&K~w{RqSv=oZQD3yETeg%rJRE9Gv6N2v>K55qhS*<0>q!5^_)pcLZq zBaMJoh~#Qn()$hdC-b%6tbFCCh8 z<4rEj=mV+Pndt2{B+~AAw&Qvg@T@NPMPN?2@ojGXC|O8qS$6L&4Q59-@#YHtRzB^G z9qMc%ib?)`o2O{<4b!neZb)Qy&4-X1#Pml`Mn{|c5BU&Lg+bfBc4(wzR+BNMep6nK z17q2O1mbknuLd7#N8xx6ai~f1Y%%pJCMCc!{p4X91=W^u{GT$~r(yWB@2T)?w!`&- zEiQ@}8A=kby`KyS*@@nblFH5e>`|BpmcTC7@98(zGpQ7W&pNYLw~^Pv1SN1BU}HHBTd#Kqnj5vQp%H1qo+P7!6IV)6s{4oBJ~J_$}4vWIsb z_|dM$3I!a1^V-NsgK$S2xE3Jpb_ve=ESjt4JcXs^@xT^>^^d8rEvB%Z=8@gxD@_mM zwH350C3KPyg;1(5YCTrJx`4wvd{@Lt;sK8m@Sn98%jyS0oI}b7IzEK)RW}4RlS37? z6D{7G4hw+ocG^m1>1%im9`aI$um@eIP_UQJEE!#6Az-pC?FPBMK*xB}Q$auFF*c=w z|1ws?AdT0YDdOSX!uzS0OKhYfYM)(`%PICRR&tUNm?E^x9ofFN&g8Cc<75=yEcccx zzY>r!Els6)+hCVS^%U*%v_wTZO@3;l&;S;DEr9Zj^Gdz3PM8UGddhLEH;@G^^v+Q) z{CM9A5$Uj=g6ihn5Ii;7&sqBSpdUAT$GZ8sx#**^(w zK{Sws#j67up1C~)?#=RiXJwf zzPBX%o$G85$?y~oAOJK?06JNxw{vs#)`MBYZGW!QuVi()&hn8(enk($mc7NS_C406 z50^ybV+MX~{7AEgGNytK10dm>-su&+M;r&{9%FU0VQ{uUWEZViaw5ltU7*xa%j&UZ zkMg`eN{Y6_8oV@1io#mWLkQcziwH{X;1|9Nd+l{pwZ%Hmu|>)An&)t#AIBGmD6p4b zYH#U@xl0>zzxFK_(ljY3?}_27-cyhhttN=PAsU&y{fxAik>IH_aT4WXB?W`tSC&{0 zyoDO3yX+zhE)R!YZ5Xj*$rzz{;34ZK`reF==!3O9k9Zrb@~*u4u9&8Pur}?!=u&5z zR&%}Z@?`XzsABPl(_>v5YXm(w>WUMuBSSd|`HMf7RH!}X6S;`1*;`RzX`|{PeZ@|7 z{HhUUrBoR2bNbrKeNa#vNwvAIac#tFsl>>Rd+0~ceWR9dyp?Ljt z_d=Bd`aNysOAOFRLr{o5N@1*y(Gw4wFsWlsEETM`N3Abi_dHf;CoWTE?+H5re=zx{Zk3sXXKF>ls(I$(ZVFW6eCe1; zlU_JeOz-GENlVX%_>{FS0Kesaev`Aj2U@1M#=X_J1`}7DG6bBB?r`6YiEn08E)h{x z$(m5N=H%C}oo2f3ttb4Jeaq-trlsC9bgY1^Hs_<;Yy9ub_$D)+6&YZov=mY4M#93y zOlIV{F^*b0ALbO4!k^-Nl2H<2cAolX$&Dl7tK?4^%OaN>}W6pBeCep@r@VO5Dc}YX4CD?m@GAF)n~k=oo4XgU zjhpAMwE4fcw?N#0BQPE6Hp@U3xxj{!W{{r7+H9_>j!;99xlAzWCzk8qxz6y#9F#~fO(-kBxMl{{yeXo)$;jDF+SE^dBbYeE7)WA_gXQkQ4l>9c&JO?e6q z!0y)vFS&MmJ(YZd!RKOc?J1|m&paDm!z_b`e@*CKXRlE4e%*Aq%NuDzg?GyYG%^eu` zVX^kMTMv3aNi#^?x^1J>l&9c7LxbOg{&k?ylv<9DDo9KeJE&Q6BBfvOOMb&d13{~G zvV%vcr`!&!)HGHBCR?>r&|t2lL=pF^6!X6Ps~C;%N8EbUZ|X3(-4eD4480zyunie< zf7SyfNREBC!Wr;BG1lKLbB`fBbRr{A%@O*p*^Em~E_h_>DVbVQL!uWbR*vW$`0&jIBBGU0b7Oc`pr&59Cr0@54| zA6(U^vQf7Uh*>%Yt!G&(=Ju?+tx6g+^+;M+T&9nAY1NW?g}A%PIuzF@Qv~TA`R}L@ zu5FC^yhF)w^4zV|ib8yn)s0CL*{J*x{C(PL^Ojmu*^NvGt95#rgSs7Qi*Zv9la#yR z+kA?}W#5%H_PB8L8ba?@GPYBHsg3|%Rh61yTemD-FpIM`l`jrw$8Q2jIXkGaW1~0_ z3-%JTYlWI7aXoK!>EB0_qpf;_eN6cY{A-MgXC)(yDGAgOj_#i0ZDZAUcc?r`(kUg& zuXWlwYahg5b;?TP883-bP2Lk(>yJ`3aJV6$r9w5{J#%l>#q@KSBa2wb&_#|6Bgao= z#l3>K4p!0HB@S5q2A)BK@>H+X52HkIfOm*vrZJk0EjLg~??^GWnv0sk^xZ=hR<0Uw z+P6w+o{9X5Xt`ZwCp{Vc*4+#PXI%+-6cxLNTd+I-s9 z&Ywu7;A2%h2b0K>So3wlqp&vv#InT25~(lP^g>q*5;a`jHG7z9W7-8Nm}WqsDRRA?2G z&~sDZ@zGe#$H6xD)oy#$wKhGj)uNay%c3K4X<{LlGj}vBVwwgl=y-!L;HX#SBgn$h z_#N8aZHG0;x{A8M<>=yu9e%Z@DY2{wXr0-ON4oWM#IwS49^y})+~pY|-^YHT>HMsh zaV$6VrRcSae%d<`FolW5ju5->q1@Kh5KCSj*`SFc^E^x5mOHI7y-TC4SJiRV2oU-s zbuj#*KHXyT@}n& zc9^S1Jfueyia(#+kpJ;;SXBuB^JHfWP!{pnJHYR~B`_%eJEy-$&MWd3NJD+#Eag8n zH@`;iUxioyzlAq>DVolG3`9|%B993L{0vDoOtNw!1GzR^n#Zb~HJB6#oYd6ULh2CZ zsD|>zJFxfuchc1N7( zJTTb0dRyxGyW4u1|GepItDh#IOQmYv0U*}_&DNh4Lnnt2CJ6Lfo%NR@>scWC2x$!m z03yNvt>$_HG{Qcm?F!7md|Ut{eztxtlh@Zbmj(beQ%`KPUy7zDOucx2nEvKCYlwX< zeD5+4f{TDL)F)WruLmNh46$=_^S1RospC6KgqZ7UH3XdI20S7nX`Zi zw}BeX(*eAwc*==$!#{nIBNYa8p3Fa;N2YqpiC_JHw(I}*Yp7WBloNkl0OvZ95d1;k z35Z4;;K*KaZb_ z-C6q~1uShn0EGeNSqjpp|56B?N0HT1vy_De0%-%ueA)^eDYW19irx;kF1EbCKF@Vz zf8ZK(QwI)+a+CNB#kj&BioYBYJkN@=V$~2+8?IB<(tpK z&+5vZz%vQ{1OKne+*$DH!sZhw2n6ND`>Vk9cZUAA%=O$$`*eBi-(0{hcz<#Im*uQ6 zXG>2{C?o{_cyg)`^(_AE`rirutI8kznbp9v3}+YBP8e2H|1g|dVmpgJy|{3K21Yff#@ven5vE*8mt( GLH`4w;}|Re literal 0 HcmV?d00001 diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/r_switches_config.h b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/r_switches_config.h new file mode 100644 index 000000000..834de6bfd --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/r_switches_config.h @@ -0,0 +1,59 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2011 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_switches_config.c +* Description : Configures the switches code +************************************************************************************************************************ +* History : DD.MM.YYYY Version Description +* : 17.01.2012 1.00 First Release +* : 17.02.2012 1.10 Added RSKRX210 support. +* : 08.03.2012 1.20 Added GetVersion() function (though it's really a macro). +* : 04.06.2012 1.30 Code can now be interrupt or poll driven. +***********************************************************************************************************************/ +#ifndef SWITCHES_CONFIG_HEADER_FILE +#define SWITCHES_CONFIG_HEADER_FILE + +/*********************************************************************************************************************** +Configuration Options +***********************************************************************************************************************/ +/* This macro sets whether interrupts or polling is used for detecting switch presses. The benefit of using interrupts + is that no extra processing is used for polling and the use of a system timer tick is not a requirement. The downside + of using interrupts is that callback functions are called from within an interrupt so if your ISR is long then it can + degrade the real-time response of your system. The benefit of polling is that functions are called at the application + level and debouncing is supported. The downside to polling is that your system must call the R_SWITCHES_Update() on a + regular basis which requires extra processing. + + 0 = Use interrupts + 1 = Use polling + */ +#define SWITCHES_DETECTION_MODE (0) + +/* The definition for these macros should be the name of the function that you want called when a switch is + pressed. It is very important that the user recognize that this function will be called from the interrupt service + routine. This means that code inside of the function should be kept short to ensure it does not hold up the rest of + the system. + + Example: If SW1_CALLBACK_FUNCTION is defined to be sw1_callback then the sw1_callback function will be called when + switch 1 is pressed. +*/ +#define SW1_CALLBACK_FUNCTION (vButtonInterruptCallback) +#define SW2_CALLBACK_FUNCTION (vButtonInterruptCallback) +#define SW3_CALLBACK_FUNCTION (vButtonInterruptCallback) + +#endif /* SWITCHES_CONFIG_HEADER_FILE */ diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/r_switches_if.h b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/r_switches_if.h new file mode 100644 index 000000000..613bcf5e3 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/r_switches_if.h @@ -0,0 +1,74 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2011 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_switches_if.h +* Description : Functions for using switches with callback functions. +************************************************************************************************************************ +* History : DD.MM.YYYY Version Description +* : 17.01.2012 1.00 First Release +* : 17.02.2012 1.10 Added RSKRX210 support. +* : 08.03.2012 1.20 Added GetVersion() function (though it's really a macro). +* : 04.06.2012 1.30 Code can now be interrupt or poll driven. +***********************************************************************************************************************/ + +#ifndef SWITCHES_API_HEADER_FILE +#define SWITCHES_API_HEADER_FILE + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Fixed width integer support. */ +#include +/* bool support */ +#include +/* Used for configuring the code */ +#include "r_switches_config.h" + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +/* Version Number of API. */ +#define SWITCHES_VERSION_MAJOR (1) +#define SWITCHES_VERSION_MINOR (0) +/* The process of getting the version number is done through the macro below. The version number is encoded where the + top 2 bytes are the major version number and the bottom 2 bytes are the minor version number. For example, + Version 4.25 would be returned as 0x00040019. */ +#define R_SWITCHES_GetVersion() ((((uint32_t)SWITCHES_VERSION_MAJOR) << 16) | (uint32_t)SWITCHES_VERSION_MINOR) + +/*********************************************************************************************************************** +Public Functions +***********************************************************************************************************************/ +void R_SWITCHES_Init(uint32_t detection_hz, uint32_t debounce_counts); +void R_SWITCHES_Update(void); + +/* Callback prototypes. */ +#if defined(SW1_CALLBACK_FUNCTION) +void SW1_CALLBACK_FUNCTION(void); +#endif + +#if defined(SW2_CALLBACK_FUNCTION) +void SW2_CALLBACK_FUNCTION(void); +#endif + +#if defined(SW3_CALLBACK_FUNCTION) +void SW3_CALLBACK_FUNCTION(void); +#endif + +#endif /* SWITCHES_API_HEADER_FILE */ + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/readme.txt b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/readme.txt new file mode 100644 index 000000000..d1e1e40fb --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/readme.txt @@ -0,0 +1,83 @@ +PLEASE REFER TO THE APPLICATION NOTE FOR THIS MIDDLEWARE FOR MORE INFORMATION + +Switches +======== + +Document Number +--------------- +N/A + +Version +------- +v1.40 + +Overview +-------- +Configures port pins for switches and calls user defined function on switch press. Switch presses can be detected using +IRQ interrupts or by polling. The benefit of using interrupts is that no extra processing is used for polling and the +use of a system timer tick is not a requirement. The downside of using interrupts is that callback functions are called +from within an interrupt so if your ISR is long then it can degrade the real-time response of your system. The benefit +of polling is that functions are called at the application level and debouncing is supported. The downside to polling is +that your system must call the R_SWITCHES_Update() on a regular basis which requires extra processing. + +Features +-------- +* Call one function to setup switches. +* Define function to call when switch is pressed. +* Can be configured to be interrupt or poll driven. + +Supported MCUs +-------------- +* RX610 Group +* RX621, RX62N Group +* RX62T Group +* RX630 Group +* RX631, RX63N Group +* RX210 Group +* RX111 Group + +Boards Tested On +---------------- +* RSKRX610 +* RSK+RX62N +* RSKRX62T +* RDKRX62N +* RSKRX630 +* RSKRX63N +* RDKRX63N +* RSKRX111 + +Limitations +----------- +* None + +Peripherals Used Directly +------------------------- +* None + +Required Packages +----------------- +* None + +How to add to your project +-------------------------- +* Add src\r_switches.c to your project. +* Add an include path to the 'r_switches' directory. +* Add an include path to the 'r_switches\src' directory. +* Configure middleware through r_switches_config.h. +* Add a #include for r_switches_if.h to files that need to use this package. + +Toolchain(s) Used +----------------- +* Renesas RX v1.02 + +File Structure +-------------- +r_switches +| readme.txt +| r_switches_config.h +| r_switches_if.h +| +\---src + r_switches.c + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/src/r_switches.c b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/src/r_switches.c new file mode 100644 index 000000000..813c43677 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/src/r_switches.c @@ -0,0 +1,483 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2011 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_switches.c +* Description : Functions for using switches with callback functions. +************************************************************************************************************************ +* History : DD.MM.YYYY Version Description +* : 17.01.2012 1.00 First Release +* : 17.02.2012 1.10 Added RSKRX210 support. +* : 08.03.2012 1.20 Added GetVersion() function (though it's really a macro). +* : 04.06.2012 1.30 Code can now be interrupt or poll driven. +* : 07.11.2012 1.40 Added support for RSKRX111 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Board and MCU support. */ +#include "platform.h" +/* Switches prototypes. */ +#include "r_switches_if.h" +/* Scheduler includes. */ +#include "FreeRTOS.h" +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +/* This helps reduce the amount of unique code for each supported board. */ +#define X_IRQ( x ) XX_IRQ( x ) +#define XX_IRQ( x ) _ICU_IRQ##x + +/* These macros define which IRQ pins are used for the switches. Note that these defintions cannot have parentheses + around them. */ +#if defined(PLATFORM_BOARD_RDKRX63N) + #define SW1_IRQ_NUMBER 8 + #define SW2_IRQ_NUMBER 9 + #define SW3_IRQ_NUMBER 12 +#elif defined(PLATFORM_BOARD_RSKRX63N) + #define SW1_IRQ_NUMBER 2 + #define SW2_IRQ_NUMBER 8 + #define SW3_IRQ_NUMBER 15 +#elif defined(PLATFORM_BOARD_RSKRX630) + #define SW1_IRQ_NUMBER 2 + #define SW2_IRQ_NUMBER 12 + #define SW3_IRQ_NUMBER 15 +#elif defined(PLATFORM_BOARD_RSKRX62N) + #define SW1_IRQ_NUMBER 8 + #define SW2_IRQ_NUMBER 9 + #define SW3_IRQ_NUMBER 15 +#elif defined(PLATFORM_BOARD_RDKRX62N) + #define SW1_IRQ_NUMBER 8 + #define SW2_IRQ_NUMBER 9 + #define SW3_IRQ_NUMBER 10 +#elif defined(PLATFORM_BOARD_RSKRX62T) + #define SW1_IRQ_NUMBER 0 + #define SW2_IRQ_NUMBER 1 + #define SW3_IRQ_NUMBER 3 +#elif defined(PLATFORM_BOARD_RSKRX610) + #define SW1_IRQ_NUMBER 8 + #define SW2_IRQ_NUMBER 9 + #define SW3_IRQ_NUMBER 3 +#elif defined(PLATFORM_BOARD_RSKRX210) + #define SW1_IRQ_NUMBER 1 + #define SW2_IRQ_NUMBER 3 + #define SW3_IRQ_NUMBER 4 +#elif defined(PLATFORM_BOARD_RSKRX111) + #define SW1_IRQ_NUMBER 0 + #define SW2_IRQ_NUMBER 1 + #define SW3_IRQ_NUMBER 4 +#endif + +/* Number of switches on this board. */ +#define SWITCHES_NUM (3) + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ +typedef struct +{ + bool active; + int32_t debounce_cnt; +} switch_t; + +/*********************************************************************************************************************** +Private global variables and functions +***********************************************************************************************************************/ +#if SWITCHES_DETECTION_MODE == 1 +/* Update Hz */ +static uint32_t g_sw_debounce_cnts; +/* Used for debounce. */ +switch_t g_switches[SWITCHES_NUM]; +#endif + +/*********************************************************************************************************************** +* Function Name: R_SWITCHES_Init +* Description : Initializes pins to be input and interrupt on switch presses. +* Arguments : detection_hz - +* The times per second that the user will call R_SWITCHES_Update(). NOTE: this is only when using +* polling mode. If you are using interrupt mode, then this argument will be ignored. +* debouce_counts - +* The number of times to check the port value before accepting the change. The slower the rate at +* which R_SWITCHES_Update() will likely lower this number. +* Return Value : none +***********************************************************************************************************************/ +void R_SWITCHES_Init (uint32_t detection_hz, uint32_t debounce_counts) +{ + uint32_t i; + + /* The SW#_XXX defintions are common macros amongst different boards. To see the definitions for these macros + see the board defintion file. For example, this file for the RSKRX63N is rskrx63n.h. */ + +#if defined(MCU_RX62N) || defined(MCU_RX62T) || defined(MCU_RX621) || defined(MCU_RX610) + + /* Make switch pins inputs. */ + SW1_DDR = 0; + SW2_DDR = 0; + SW3_DDR = 0; + + /* Enable input buffer control registers. */ + SW1_ICR = 1; + SW2_ICR = 1; + SW3_ICR = 1; + +#elif defined(MCU_RX63N) || defined(MCU_RX630) || defined(MCU_RX631) || defined(MCU_RX210) || defined(MCU_RX111) + + /* Unlock protection register */ + MPC.PWPR.BIT.B0WI = 0 ; + /* Unlock MPC registers */ + MPC.PWPR.BIT.PFSWE = 1 ; + + /* Make switch pins inputs. */ + SW1_PDR = 0; + SW2_PDR = 0; + SW3_PDR = 0; + + /* Set port mode registers for switches. */ + SW1_PMR = 0; + SW2_PMR = 0; + SW3_PMR = 0; + +#endif + +#if SWITCHES_DETECTION_MODE == 0 + + #if defined(PLATFORM_BOARD_RDKRX63N) + + /* The switches on the RDKRX63N are connected to the following pins/IRQ's + Switch Port IRQ + ------ ---- ---- + SW1 P4.0 IRQ8 + SW2 P4.1 IRQ9 + SW3 P4.4 IRQ12 + */ + + MPC.P40PFS.BYTE = 0x40; /* P40 is used as IRQ pin */ + MPC.P41PFS.BYTE = 0x40; /* P40 is used as IRQ pin */ + MPC.P44PFS.BYTE = 0x40; /* P40 is used as IRQ pin */ + + #elif defined(PLATFORM_BOARD_RSKRX63N) + + /* The switches on the RSKRX63N are connected to the following pins/IRQ's + Switch Port IRQ + ------ ---- ---- + SW1 P3.2 IRQ2 + SW2 P0.0 IRQ8 + SW3 P0.7 IRQ15 + */ + + MPC.P32PFS.BYTE = 0x40; /* P32 is used as IRQ pin */ + MPC.P00PFS.BYTE = 0x40; /* P00 is used as IRQ pin */ + MPC.P07PFS.BYTE = 0x40; /* P07 is used as IRQ pin */ + + #elif defined(PLATFORM_BOARD_RSKRX630) + + /* The switches on the RSKRX630 are connected to the following pins/IRQ's + Switch Port IRQ + ------ ---- ---- + SW1 P3.2 IRQ2 + SW2 P4.4 IRQ12 + SW3 P0.7 IRQ15 + */ + + MPC.P32PFS.BYTE = 0x40; /* P32 is used as IRQ pin */ + MPC.P44PFS.BYTE = 0x40; /* P44 is used as IRQ pin */ + MPC.P07PFS.BYTE = 0x40; /* P07 is used as IRQ pin */ + + #elif defined(PLATFORM_BOARD_RSKRX62N) + + /* The switches on the RSKRX62N are connected to the following pins/IRQ's + Switch Port IRQ + ------ ---- ---- + SW1 P0.0 IRQ8-A + SW2 P0.1 IRQ9-A + SW3 P0.7 IRQ15-A + */ + + IOPORT.PF8IRQ.BIT.ITS8 = 0; /* IRQ8-A pin is used. */ + IOPORT.PF8IRQ.BIT.ITS9 = 0; /* IRQ9-A pin is used. */ + IOPORT.PF8IRQ.BIT.ITS15 = 0; /* IRQ15-A pin is used. */ + + #elif defined(PLATFORM_BOARD_RDKRX62N) + + /* The switches on the RDKRX62N are connected to the following pins/IRQ's + Switch Port IRQ + ------ ---- ---- + SW1 P4.0 IRQ8 + SW2 P4.1 IRQ9 + SW3 P4.2 IRQ10 + */ + + /* Nothing else needed to do here since RDK has 100-pin package and there are no alternate pins to choose. */ + + #elif defined(PLATFORM_BOARD_RSKRX62T) + + /* The switches on the RSKRX62T are connected to the following pins/IRQ's + Switch Port IRQ + ------ ---- ---- + SW1 PE.5 IRQ0-B + SW2 PE.4 IRQ1-B + SW3 PB.4 IRQ3 + */ + + IOPORT.PF8IRQ.BIT.ITS0 = 1; /* IRQ0-B pin is used. */ + IOPORT.PF8IRQ.BIT.ITS1 = 1; /* IRQ1-B pin is used. */ + /* IRQ3 is only on 1 pin. */ + + #elif defined(PLATFORM_BOARD_RSKRX610) + + /* The switches on the RSKRX610 are connected to the following pins/IRQ's + Switch Port IRQ + ------ ---- ---- + SW1 P0.0 IRQ8-A + SW2 P0.1 IRQ9-A + SW3 P1.3 IRQ3-B + */ + + IOPORT.PFCR8.BIT.ITS8 = 0; /* IRQ8-A pin is used. */ + IOPORT.PFCR8.BIT.ITS9 = 0; /* IRQ9-A pin is used. */ + IOPORT.PFCR9.BIT.ITS3 = 1; /* IRQ3-B pin is used. */ + + /* Enable IRQ detection. */ + ICU.IRQER[SW1_IRQ_NUMBER].BIT.IRQEN = 1; + ICU.IRQER[SW2_IRQ_NUMBER].BIT.IRQEN = 1; + ICU.IRQER[SW3_IRQ_NUMBER].BIT.IRQEN = 1; + + #elif defined(PLATFORM_BOARD_RSKRX210) + + /* The switches on the RSKRX210 are connected to the following pins/IRQ's + Switch Port IRQ + ------ ---- ---- + SW1 P3.1 IRQ1 + SW2 P3.3 IRQ3 + SW3 P3.4 IRQ4 + */ + + MPC.P31PFS.BYTE = 0x40; /* P31 is used as IRQ pin */ + MPC.P33PFS.BYTE = 0x40; /* P33 is used as IRQ pin */ + MPC.P34PFS.BYTE = 0x40; /* P34 is used as IRQ pin */ + +#elif defined(PLATFORM_BOARD_RSKRX111) + + /* The switches on the RSKRX210 are connected to the following pins/IRQ's + Switch Port IRQ + ------ ---- ---- + SW1 P3.0 IRQ0 + SW2 P3.1 IRQ1 + SW3 PE.4 IRQ4 + */ + + MPC.P30PFS.BYTE = 0x40; /* P30 is used as IRQ pin */ + MPC.P31PFS.BYTE = 0x40; /* P31 is used as IRQ pin */ + MPC.PE4PFS.BYTE = 0x40; /* PE4 is used as IRQ pin */ + + #endif + + + /* Set IRQ type (falling edge) */ + ICU.IRQCR[SW1_IRQ_NUMBER].BIT.IRQMD = 0x01; + ICU.IRQCR[SW2_IRQ_NUMBER].BIT.IRQMD = 0x01; + ICU.IRQCR[SW3_IRQ_NUMBER].BIT.IRQMD = 0x01; + + /* Set interrupt priorities which muse be below + configMAX_SYSCALL_INTERRUPT_PRIORITY. */ + _IPR( X_IRQ(SW1_IRQ_NUMBER) ) = configKERNEL_INTERRUPT_PRIORITY; + _IPR( X_IRQ(SW2_IRQ_NUMBER) ) = configKERNEL_INTERRUPT_PRIORITY; + _IPR( X_IRQ(SW3_IRQ_NUMBER) ) = configKERNEL_INTERRUPT_PRIORITY; + + /* Clear any pending interrupts */ + _IR( X_IRQ(SW1_IRQ_NUMBER) ) = 0; + _IR( X_IRQ(SW2_IRQ_NUMBER) ) = 0; + _IR( X_IRQ(SW3_IRQ_NUMBER) ) = 0; + + /* Enable the interrupts */ + _IEN( X_IRQ(SW1_IRQ_NUMBER) ) = 1; + _IEN( X_IRQ(SW2_IRQ_NUMBER) ) = 1; + _IEN( X_IRQ(SW3_IRQ_NUMBER) ) = 1; + +#else + + /* This is based upon having 3 counts at 10Hz. */ + g_sw_debounce_cnts = debounce_counts; + + /* Init debounce structures. */ + for (i = 0; i < SWITCHES_NUM; i++) + { + g_switches[i].active = false; + g_switches[i].debounce_cnt = 0; + } + +#endif /* SWITCHES_DETECTION_MODE */ + +} + +/* Only define interrupts in interrupt detection mode. */ +#if SWITCHES_DETECTION_MODE == 0 + + #if defined(SW1_CALLBACK_FUNCTION) +/*********************************************************************************************************************** +* Function name: sw1_isr +* Description : Sample ISR for switch 1 input (must do hardware setup first!) +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +#pragma interrupt (sw1_isr (vect=_VECT(X_IRQ(SW1_IRQ_NUMBER)))) +static void sw1_isr (void) +{ + /* TODO: Add some debouncing! */ + + /* Call callback function. */ + SW1_CALLBACK_FUNCTION(); +} + #endif /* SW1_CALLBACK_FUNCTION */ + + #if defined(SW2_CALLBACK_FUNCTION) +/*********************************************************************************************************************** +* Function name: sw2_isr +* Description : Sample ISR for switch 2 input (must do hardware setup first!) +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +#pragma interrupt (sw2_isr (vect=_VECT(X_IRQ(SW2_IRQ_NUMBER)))) +static void sw2_isr (void) +{ + /* TODO: Add some debouncing! */ + + /* Call callback function. */ + SW2_CALLBACK_FUNCTION(); +} + #endif /* SW2_CALLBACK_FUNCTION */ + + #if defined(SW3_CALLBACK_FUNCTION) +/*********************************************************************************************************************** +* Function name: sw3_isr +* Description : Sample ISR for switch 3 input (must do hardware setup first!) +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +#pragma interrupt (sw3_isr (vect=_VECT(X_IRQ(SW3_IRQ_NUMBER)))) +static void sw3_isr (void) +{ + /* TODO: Add some debouncing! */ + + /* Call callback function. */ + SW3_CALLBACK_FUNCTION(); +} + #endif /* SW3_CALLBACK_FUNCTION */ + +#endif + +/* If using polling then the user must call the update function. */ + +/*********************************************************************************************************************** +* Function name: R_SWITCHES_Update +* Description : Polls switches and calls callback functions as needed. If you are using IRQ mode then this function +* is not needed and can be removed if desired. It is left in so that code will not fail when switching +* between polling or IRQ mode. +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void R_SWITCHES_Update (void) +{ +#if SWITCHES_DETECTION_MODE == 1 + /* This code is only needed for polling mode. */ + /* Check switch 1. */ + if (SW1 == SW_ACTIVE) + { + if (g_switches[0].active != true) + { + if (++g_switches[0].debounce_cnt >= g_sw_debounce_cnts) + { + /* Set this to true so we only call the callback function once per press. */ + g_switches[0].active = true; + + /* Call callback function. */ + SW1_CALLBACK_FUNCTION(); + } + } + } + else + { + if (0 == g_switches[0].debounce_cnt) + { + g_switches[0].active = false; + } + else + { + g_switches[0].debounce_cnt--; + } + } + + /* Check switch 2. */ + if (SW2 == SW_ACTIVE) + { + if (g_switches[1].active != true) + { + if (++g_switches[1].debounce_cnt >= g_sw_debounce_cnts) + { + /* Set this to true so we only call the callback function once per press. */ + g_switches[1].active = true; + + /* Call callback function. */ + SW2_CALLBACK_FUNCTION(); + } + } + } + else + { + if (0 == g_switches[1].debounce_cnt) + { + g_switches[1].active = false; + } + else + { + g_switches[1].debounce_cnt--; + } + } + + /* Check switch 3. */ + if (SW3 == SW_ACTIVE) + { + if (g_switches[2].active != true) + { + if (++g_switches[2].debounce_cnt >= g_sw_debounce_cnts) + { + /* Set this to true so we only call the callback function once per press. */ + g_switches[2].active = true; + + /* Call callback function. */ + SW3_CALLBACK_FUNCTION(); + } + } + } + else + { + if (0 == g_switches[2].debounce_cnt) + { + g_switches[2].active = false; + } + else + { + g_switches[2].debounce_cnt--; + } + } +#endif /* SWITCHES_DETECTION_MODE */ +} + + + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/main.c b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/main.c new file mode 100644 index 000000000..b3a8ad895 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/main.c @@ -0,0 +1,204 @@ +/* + FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS 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 AND MODIFIED BY the FreeRTOS exception. + + >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. + + FreeRTOS 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 + and the FreeRTOS license exception along with FreeRTOS; if not itcan be + viewed here: http://www.freertos.org/a00114.html and also obtained by + writing to Real Time Engineers Ltd., contact details for whom are available + on the FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, and our new + fully thread aware and reentrant UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems, who sell the code with commercial support, + indemnification and middleware, under the OpenRTOS brand. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. +*/ + +/****************************************************************************** + * This project provides two demo applications. A low power project that + * demonstrates the FreeRTOS tickless mode, and a more comprehensive test and + * demo application. The configCREATE_LOW_POWER_DEMO setting (defined at the + * top of FreeRTOSConfig.h) is used to select between the two. The low power + * demo is implemented and described in main_low_power.c. The more + * comprehensive test and demo application is implemented and described in + * main_full.c. + * + * This file implements the code that is not demo specific, including the + * hardware setup and FreeRTOS hook functions. + */ + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" + +/* Platform includes. */ +#include "lcd.h" + +/*-----------------------------------------------------------*/ + +/* + * main_low_power() is used when configCREATE_LOW_POWER_DEMO is set to 1. + * main_full() is used when configCREATE_LOW_POWER_DEMO is set to 0. + */ +extern void main_low_power( void ); +extern void main_full( void ); + +/* Prototypes for the standard FreeRTOS callback/hook functions implemented +within this file. */ +void vApplicationMallocFailedHook( void ); +void vApplicationIdleHook( void ); +void vApplicationStackOverflowHook( xTaskHandle pxTask, signed char *pcTaskName ); +void vApplicationTickHook( void ); + +/*-----------------------------------------------------------*/ + +/* See the documentation page for this demo on the FreeRTOS.org web site for +full information - including hardware setup requirements. */ + +void main( void ) +{ + lcd_initialize(); + lcd_display( LCD_LINE1, "FreeRTOS" ); + + /* The configCREATE_LOW_POWER_DEMO setting is described in FreeRTOSConfig.h. */ + #if configCREATE_LOW_POWER_DEMO == 1 + { + lcd_display( LCD_LINE2, "LP Demo" ); + main_low_power(); + } + #else + { + lcd_display( LCD_LINE2, "Ful Demo" ); + main_full(); + } + #endif +} +/*-----------------------------------------------------------*/ + +void vApplicationMallocFailedHook( void ) +{ + /* vApplicationMallocFailedHook() will only be called if + configUSE_MALLOC_FAILED_HOOK is set to 1 in FreeRTOSConfig.h. It is a hook + function that will get called if a call to pvPortMalloc() fails. + pvPortMalloc() is called internally by the kernel whenever a task, queue, + timer or semaphore is created. It is also called by various parts of the + demo application. If heap_1.c, heap_2.c or heap_4.c are used, then the size + of the heap available to pvPortMalloc() is defined by configTOTAL_HEAP_SIZE + in FreeRTOSConfig.h, and the xPortGetFreeHeapSize() API function can be used + to query the size of free heap space that remains (although it does not + provide information on how the remaining heap might be fragmented). */ + taskDISABLE_INTERRUPTS(); + for( ;; ); +} +/*-----------------------------------------------------------*/ + +void vApplicationIdleHook( void ) +{ + /* vApplicationIdleHook() will only be called if configUSE_IDLE_HOOK is set + to 1 in FreeRTOSConfig.h. It will be called on each iteration of the idle + task. It is essential that code added to this hook function never attempts + to block in any way (for example, call xQueueReceive() with a block time + specified, or call vTaskDelay()). If the application makes use of the + vTaskDelete() API function (as this demo application does) then it is also + important that vApplicationIdleHook() is permitted to return to its calling + function, because it is the responsibility of the idle task to clean up + memory allocated by the kernel to any task that has since been deleted. */ +} +/*-----------------------------------------------------------*/ + +void vApplicationStackOverflowHook( xTaskHandle pxTask, signed char *pcTaskName ) +{ + ( void ) pcTaskName; + ( void ) pxTask; + + /* 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 vApplicationTickHook( void ) +{ + /* This function will be called by each tick interrupt if + configUSE_TICK_HOOK is set to 1 in FreeRTOSConfig.h. User code can be + added here, but the tick hook is called from an interrupt context, so + code must not attempt to block, and only the interrupt safe FreeRTOS API + functions can be used (those that end in FromISR()). */ +} +/*-----------------------------------------------------------*/ + +void vAssertCalled( void ) +{ +volatile unsigned long ul = 0; + + taskENTER_CRITICAL(); + { + /* Set ul to a non-zero value using the debugger to step out of this + function. */ + while( ul == 0 ) + { + nop(); + } + } + taskEXIT_CRITICAL(); +} diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/main_full.c b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/main_full.c new file mode 100644 index 000000000..a6dd16a8f --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/main_full.c @@ -0,0 +1,531 @@ +/* + FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS 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 AND MODIFIED BY the FreeRTOS exception. + + >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. + + FreeRTOS 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 + and the FreeRTOS license exception along with FreeRTOS; if not itcan be + viewed here: http://www.freertos.org/a00114.html and also obtained by + writing to Real Time Engineers Ltd., contact details for whom are available + on the FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, and our new + fully thread aware and reentrant UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems, who sell the code with commercial support, + indemnification and middleware, under the OpenRTOS brand. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. +*/ + +/* **************************************************************************** + * This project includes a lot of tasks and tests and is therefore complex. + * If you would prefer a much simpler project to get started with then select + * the 'low power' demo by setting configCREATE_LOW_POWER_DEMO to 1 in + * FreeRTOSConfig.h. When configCREATE_LOW_POWER_DEMO is set to 1 main() will + * call main_low_power() instead of main_full(). + * **************************************************************************** + * + * Creates all the demo application tasks, 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 the registers with known values, then + * repeatedly check that each register still contains its expected value for + * the lifetime of the tasks. Each task uses different values. The tasks run + * with very low priority so get preempted very frequently. A check variable + * is incremented on each iteration of the test loop. A register containing an + * unexpected value is indicative of an error in the context switching + * mechanism and will result in a branch to a null loop - which in turn will + * prevent the check variable from incrementing any further and allow the check + * timer (described below) to determine that an error has occurred. The nature + * of the reg test tasks necessitates that they are written in assembly code. + * + * "Check Timer" and Callback Function - The check timer period is initially + * set to three seconds. The check timer callback function checks that all the + * standard demo tasks are not only still executing, but are executing without + * reporting any errors. If the check timer discovers that a task has either + * stalled, or reported an error, then it changes its own period from the + * initial three seconds, to just 200ms. The check timer callback function + * also toggles LED 0 each time it is called. This provides a visual + * indication of the system status: If the LED toggles every three seconds, + * then no issues have been discovered. If the LED toggles every 200ms, then + * an issue has been discovered with at least one task. + * + * *NOTE 1* The CPU must be in Supervisor mode when the scheduler is started. + * The PowerON_Reset_PC() supplied in resetprg.c with this demo has + * Change_PSW_PM_to_UserMode() commented out to ensure this is the case. +*/ + +/* Standard includes. */ +#include + +/* Hardware specific includes. */ +#include "iodefine.h" + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "timers.h" +#include "semphr.h" + +/* Standard demo includes. */ +#include "partest.h" +#include "death.h" +#include "blocktim.h" +#include "GenQTest.h" +#include "recmutex.h" + +/* The code in this file is only built when configCREATE_LOW_POWER_DEMO is set +to 0, otherwise the code in main_low_power.c is used. */ +#if configCREATE_LOW_POWER_DEMO == 0 + + +/* Values that are passed into the reg test tasks using the task parameter. +The tasks check that the values are passed in correctly. */ +#define mainREG_TEST_1_PARAMETER ( 0x12121212UL ) +#define mainREG_TEST_2_PARAMETER ( 0x12345678UL ) + +/* Priorities at which the standard demo tasks are created. */ +#define mainGEN_QUEUE_TASK_PRIORITY ( tskIDLE_PRIORITY ) +#define mainCREATOR_TASK_PRIORITY ( tskIDLE_PRIORITY + 3 ) + +/* The LED toggled by the check timer. */ +#define mainCHECK_LED ( 0 ) + +/* The period at which the check timer will expire, in ms, provided no errors +have been reported by any of the standard demo tasks. ms are converted to the +equivalent in ticks using the portTICK_RATE_MS constant. */ +#define mainCHECK_TIMER_PERIOD_MS ( 3000UL / portTICK_RATE_MS ) + +/* The period at which the check timer will expire, in ms, if an error has been +reported in one of the standard demo tasks. ms are converted to the equivalent +in ticks using the portTICK_RATE_MS constant. */ +#define mainERROR_CHECK_TIMER_PERIOD_MS ( 200UL / portTICK_RATE_MS ) + +/* A block time of zero simple means "Don't Block". */ +#define mainDONT_BLOCK ( 0UL ) + +/* + * The reg test tasks as described at the top of this file. + */ +static void prvRegTest1Task( void *pvParameters ); +static void prvRegTest2Task( void *pvParameters ); + +/* + * The actual implementation of the reg test functionality, which, because of + * the direct register access, have to be in assembly. + */ +static void prvRegTest1Implementation( void ); +static void prvRegTest2Implementation( void ); + +/* + * The check timer callback function, as described at the top of this file. + */ +static void prvCheckTimerCallback( xTimerHandle xTimer ); + + +/*-----------------------------------------------------------*/ + +/* Variables that are incremented on each iteration of the reg test tasks - +provided the tasks have not reported any errors. The check timer inspects these +variables to ensure they are still incrementing as expected. If a variable +stops incrementing then it is likely that its associated task has stalled. */ +unsigned long ulRegTest1CycleCount = 0UL, ulRegTest2CycleCount = 0UL; + +/* The check timer. This uses prvCheckTimerCallback() as its callback +function. */ +static xTimerHandle xCheckTimer = NULL; + +/*-----------------------------------------------------------*/ + +void main_full( void ) +{ + /* Start the reg test tasks which test the context switching mechanism. */ + xTaskCreate( prvRegTest1Task, "RegTst1", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_1_PARAMETER, tskIDLE_PRIORITY, NULL ); + xTaskCreate( prvRegTest2Task, "RegTst2", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_2_PARAMETER, tskIDLE_PRIORITY, NULL ); + + /* Create the standard demo tasks. */ + vCreateBlockTimeTasks(); + vStartGenericQueueTasks( mainGEN_QUEUE_TASK_PRIORITY ); + vStartRecursiveMutexTasks(); + + /* The suicide tasks must be created last as they need to know how many + tasks were running prior to their creation in order to ascertain whether + or not the correct/expected number of tasks are running at any given time. */ + vCreateSuicidalTasks( mainCREATOR_TASK_PRIORITY ); + + /* Create the software timer that performs the 'check' functionality, + as described at the top of this file. */ + xCheckTimer = xTimerCreate( ( const signed char * ) "CheckTimer",/* A text name, purely to help debugging. */ + ( mainCHECK_TIMER_PERIOD_MS ), /* The timer period, in this case 5000ms (5s). */ + pdTRUE, /* This is an auto-reload timer, so xAutoReload is set to pdTRUE. */ + ( void * ) 0, /* The ID is not used, so can be set to anything. */ + prvCheckTimerCallback /* The callback function that inspects the status of all the other tasks. */ + ); + + configASSERT( xCheckTimer ); + + /* Start the check timer. It will actually start when the scheduler is + started. */ + xTimerStart( xCheckTimer, mainDONT_BLOCK ); + + /* Start the tasks running. */ + vTaskStartScheduler(); + + /* If all is well execution will never reach here as the scheduler will be + running. If this null loop is reached then it is likely there was + insufficient FreeRTOS heap available for the idle task and/or timer task to + be created. See http://www.freertos.org/a00111.html. */ + for( ;; ); +} +/*-----------------------------------------------------------*/ + +static void prvCheckTimerCallback( xTimerHandle xTimer ) +{ +static long lChangedTimerPeriodAlready = pdFALSE, lErrorStatus = pdPASS; +static volatile unsigned long ulLastRegTest1CycleCount = 0UL, ulLastRegTest2CycleCount = 0UL; + + /* Remove compiler warnings about unused parameters. */ + ( void ) xTimer; + + /* Check the standard demo tasks are running without error. */ + if( xAreGenericQueueTasksStillRunning() != pdTRUE ) + { + lErrorStatus = pdFAIL; + } + else if( xIsCreateTaskStillRunning() != pdTRUE ) + { + lErrorStatus = pdFAIL; + } + else if( xAreBlockTimeTestTasksStillRunning() != pdTRUE ) + { + lErrorStatus = pdFAIL; + } + else if( xAreRecursiveMutexTasksStillRunning() != pdTRUE ) + { + lErrorStatus = pdFAIL; + } + + /* Check the reg test tasks are still cycling. They will stop incrementing + their loop counters if they encounter an error. */ + if( ulRegTest1CycleCount == ulLastRegTest1CycleCount ) + { + lErrorStatus = pdFAIL; + } + + if( ulRegTest2CycleCount == ulLastRegTest2CycleCount ) + { + lErrorStatus = pdFAIL; + } + + /* Remember the loop counter values this time around so they can be checked + again the next time this callback function executes. */ + ulLastRegTest1CycleCount = ulRegTest1CycleCount; + ulLastRegTest2CycleCount = ulRegTest2CycleCount; + + /* Toggle the check LED to give an indication of the system status. If + the LED toggles every three seconds then everything is ok. A faster toggle + indicates an error. */ + vParTestToggleLED( mainCHECK_LED ); + + /* Was an error detected this time through the callback execution? */ + if( lErrorStatus != pdPASS ) + { + if( lChangedTimerPeriodAlready == pdFALSE ) + { + lChangedTimerPeriodAlready = pdTRUE; + + /* This call to xTimerChangePeriod() uses a zero block time. + Functions called from inside of a timer callback function must + *never* attempt to block. */ + xTimerChangePeriod( xCheckTimer, ( mainERROR_CHECK_TIMER_PERIOD_MS ), mainDONT_BLOCK ); + } + } +} +/*-----------------------------------------------------------*/ + +/* This function is explained in the comments at the top of this file. */ +static void prvRegTest1Task( void *pvParameters ) +{ + if( ( ( unsigned long ) pvParameters ) != mainREG_TEST_1_PARAMETER ) + { + /* The parameter did not contain the expected value. */ + for( ;; ) + { + /* Stop the tick interrupt so its obvious something has gone wrong. */ + taskDISABLE_INTERRUPTS(); + } + } + + /* This is an inline asm function that never returns. */ + prvRegTest1Implementation(); +} +/*-----------------------------------------------------------*/ + +/* This function is explained in the comments at the top of this file. */ +static void prvRegTest2Task( void *pvParameters ) +{ + if( ( ( unsigned long ) pvParameters ) != mainREG_TEST_2_PARAMETER ) + { + /* The parameter did not contain the expected value. */ + for( ;; ) + { + /* Stop the tick interrupt so its obvious something has gone wrong. */ + taskDISABLE_INTERRUPTS(); + } + } + + /* This is an inline asm function that never returns. */ + prvRegTest2Implementation(); +} +/*-----------------------------------------------------------*/ + +/* This function is explained in the comments at the top of this file. */ +#pragma inline_asm prvRegTest1Implementation +static void prvRegTest1Implementation( void ) +{ + ; Put a known value in each register. + MOV.L #11111111H, R15 + MVTACHI R15 + MOV.L #22222222H, R15 + MVTACLO R15 + MOV.L #1, R1 + MOV.L #2, R2 + MOV.L #3, R3 + MOV.L #4, R4 + MOV.L #5, R5 + MOV.L #6, R6 + MOV.L #7, R7 + MOV.L #8, R8 + MOV.L #9, R9 + MOV.L #10, R10 + MOV.L #11, R11 + MOV.L #12, R12 + MOV.L #13, R13 + MOV.L #14, R14 + MOV.L #15, R15 + + ; Loop, checking each iteration that each register still contains the + ; expected value. +TestLoop1: + + ; Push the registers that are going to get clobbered. + PUSHM R14-R15 + + ; Increment the loop counter to show this task is still getting CPU time. + MOV.L #_ulRegTest1CycleCount, R14 + MOV.L [ R14 ], R15 + ADD #1, R15 + MOV.L R15, [ R14 ] + + ; Yield to extend the text coverage. Set the bit in the ITU SWINTR register. + MOV.L #1, R14 + MOV.L #0872E0H, R15 + MOV.B R14, [R15] + NOP + NOP + + ;Check the accumulator value. + MVFACHI R15 + CMP #11111111H, R15 + BNE RegTest2Error + MVFACMI R15 + CMP #11112222H, R15 + BNE RegTest2Error + + ; Restore the clobbered registers. + POPM R14-R15 + + ; Now compare each register to ensure it still contains the value that was + ; set before this loop was entered. + CMP #1, R1 + BNE RegTest1Error + CMP #2, R2 + BNE RegTest1Error + CMP #3, R3 + BNE RegTest1Error + CMP #4, R4 + BNE RegTest1Error + CMP #5, R5 + BNE RegTest1Error + CMP #6, R6 + BNE RegTest1Error + CMP #7, R7 + BNE RegTest1Error + CMP #8, R8 + BNE RegTest1Error + CMP #9, R9 + BNE RegTest1Error + CMP #10, R10 + BNE RegTest1Error + CMP #11, R11 + BNE RegTest1Error + CMP #12, R12 + BNE RegTest1Error + CMP #13, R13 + BNE RegTest1Error + CMP #14, R14 + BNE RegTest1Error + CMP #15, R15 + BNE RegTest1Error + + ; All comparisons passed, start a new iteration of this loop. + BRA TestLoop1 + +RegTest1Error: + ; A compare failed, just loop here so the loop counter stops incrementing + ; causing the check timer to indicate the error. + BRA RegTest1Error +} +/*-----------------------------------------------------------*/ + +/* This function is explained in the comments at the top of this file. */ +#pragma inline_asm prvRegTest2Implementation +static void prvRegTest2Implementation( void ) +{ + ; Put a known value in each register. + MOV.L #33333333H, R15 + MVTACHI R15 + MOV.L #44444444H, R15 + MVTACLO R15 + MOV.L #10, R1 + MOV.L #20, R2 + MOV.L #30, R3 + MOV.L #40, R4 + MOV.L #50, R5 + MOV.L #60, R6 + MOV.L #70, R7 + MOV.L #80, R8 + MOV.L #90, R9 + MOV.L #100, R10 + MOV.L #110, R11 + MOV.L #120, R12 + MOV.L #130, R13 + MOV.L #140, R14 + MOV.L #150, R15 + + ; Loop, checking on each iteration that each register still contains the + ; expected value. +TestLoop2: + + ; Push the registers that are going to get clobbered. + PUSHM R14-R15 + + ; Increment the loop counter to show this task is still getting CPU time. + MOV.L #_ulRegTest2CycleCount, R14 + MOV.L [ R14 ], R15 + ADD #1, R15 + MOV.L R15, [ R14 ] + + ;Check the accumulator value. + MVFACHI R15 + CMP #33333333H, R15 + BNE RegTest2Error + MVFACMI R15 + CMP #33334444H, R15 + BNE RegTest2Error + + ; Restore the clobbered registers. + POPM R14-R15 + + CMP #10, R1 + BNE RegTest2Error + CMP #20, R2 + BNE RegTest2Error + CMP #30, R3 + BNE RegTest2Error + CMP #40, R4 + BNE RegTest2Error + CMP #50, R5 + BNE RegTest2Error + CMP #60, R6 + BNE RegTest2Error + CMP #70, R7 + BNE RegTest2Error + CMP #80, R8 + BNE RegTest2Error + CMP #90, R9 + BNE RegTest2Error + CMP #100, R10 + BNE RegTest2Error + CMP #110, R11 + BNE RegTest2Error + CMP #120, R12 + BNE RegTest2Error + CMP #130, R13 + BNE RegTest2Error + CMP #140, R14 + BNE RegTest2Error + CMP #150, R15 + BNE RegTest2Error + + ; All comparisons passed, start a new itteratio of this loop. + BRA TestLoop2 + +RegTest2Error: + ; A compare failed, just loop here so the loop counter stops incrementing + ; - causing the check timer to indicate the error. + BRA RegTest2Error +} +/*-----------------------------------------------------------*/ + +#endif /* configCREATE_LOW_POWER_DEMO */ diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/main_low_power.c b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/main_low_power.c new file mode 100644 index 000000000..989f4c302 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/main_low_power.c @@ -0,0 +1,436 @@ +/* + FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS 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 AND MODIFIED BY the FreeRTOS exception. + + >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. + + FreeRTOS 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 + and the FreeRTOS license exception along with FreeRTOS; if not itcan be + viewed here: http://www.freertos.org/a00114.html and also obtained by + writing to Real Time Engineers Ltd., contact details for whom are available + on the FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, and our new + fully thread aware and reentrant UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems, who sell the code with commercial support, + indemnification and middleware, under the OpenRTOS brand. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. +*/ + +/* **************************************************************************** + * When configCREATE_LOW_POWER_DEMO is set to 1 in FreeRTOSConfig.h main() will + * call main_low_power(), which is defined in this file. main_low_power() + * demonstrates FreeRTOS tick suppression being used to allow the MCU to be + * placed into both the low power deep sleep mode and the low power software + * standby mode. When configCREATE_LOW_POWER_DEMO is set to 0 main will + * instead call main_full(), which is a more comprehensive RTOS demonstration. + * **************************************************************************** + * + * This application demonstrates the FreeRTOS tickless idle mode (tick + * suppression). See http://www.freertos.org/low-power-tickless-rtos.html + * The demo is configured to execute on the Renesas RX100 RSK. + * + * Functionality: + * + * + Two tasks are created, an Rx task and a Tx task. + * + * + The Rx task repeatedly blocks on a queue to wait for data. The Rx task + * toggles LED 0 each time is receives a value from the queue. + * + * + The Tx task repeatedly enters the Blocked state for an amount of time + * that is set by the position of the potentiometer. On exiting the blocked + * state the Tx task sends a value through the queue to the Rx task (causing + * the Rx task to exit the blocked state and toggle LED 0). + * + * If the value read from the potentiometer is less than or equal to + * mainSOFTWARE_STANDBY_DELAY then the Tx task blocks for the equivalent + * number of milliseconds. For example, if the sampled analog value is + * 2000, then the Tx task blocks for 2000ms. Blocking for a finite period + * allows the kernel to stop the tick interrupt and place the RX100 into + * deep sleep mode. + * + * If the value read form the potentiometer is greater than + * mainSOFTWARE_STANDBY_DELAY then the Tx task blocks on a semaphore with + * an infinite timeout. Blocking with an infinite timeout allows the kernel + * to stop the tick interrupt and place the RX100 into software standby + * mode. Pressing a button will generate an interrupt that causes the RX100 + * to exit software standby mode. The interrupt service routine 'gives' the + * semaphore to unblock the Tx task. + * + * + * Using the Demo and Observed Behaviour: + * + * 1) Turn the potentiometer completely counter clockwise. + * + * 2) Program the RX100 with the application, then disconnect the programming/ + * debugging hardware to ensure power readings are not effected by any + * connected interfaces. + * + * 3) Start the application running. LED 0 will toggle quickly because the + * potentiometer is turned to its lowest value. LED 1 will be illuminated + * when the RX100 is not in a power saving mode, but will appear to be off + * because most execution time is spent in a sleep mode. Led 2 will be + * illuminated when the RX100 is in deep sleep mode, and will appear to be + * always on, again because most execution time is spent in deep sleep mode. + * The LEDs are turned on and off by the application defined pre and post + * sleep macros (see the definitions of configPRE_SLEEP_PROCESSING() and + * configPOST_SLEEP_PROCESSING() in FreeRTOSConfig.h). + * + * 4) Slowly turn the potentiometer in the clockwise direction. This will + * increase the value read from the potentiometer, which will increase the + * time the Tx task spends in the Blocked state, which will therefore + * decrease the frequency at which the Tx task sends data to the queue (and + * the rate at which LED 0 is toggled). + * + * 5) Keep turning the potentiometer in the clockwise direction. Eventually + * the value read from the potentiometer will go above + * mainSOFTWARE_STANDBY_DELAY, causing the Tx task to block on the semaphore + * with an infinite timeout. LED 0 will stop toggling because the Tx task is + * no longer sending to the queue. LED 1 and LED 2 will both be off because + * the RX100 is neither running or in deep sleep mode (it is in software + * standby mode). + * + * 6) Turn the potentiometer counter clockwise again to ensure its value goes + * back below mainSOFTWARE_STANDBY_DELAY. + * + * 7) Press any of the three buttons to generate an interrupt. The interrupt + * will take the RX100 out of software standby mode, and the interrupt + * service routine will unblock the Tx task by 'giving' the semaphore. LED 0 + * will then start to toggle again. + * + */ + + +/* Hardware specific includes. */ +#include "platform.h" +#include "r_switches_if.h" + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" +#include "semphr.h" + +/* Common demo includes. */ +#include "partest.h" + +/* Priorities at which the Rx and Tx tasks are created. */ +#define configQUEUE_RECEIVE_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 ) +#define configQUEUE_SEND_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 ) + +/* The number of items the queue can hold. This is 1 as the Rx task will +remove items as they are added so the Tx task should always find the queue +empty. */ +#define mainQUEUE_LENGTH ( 1 ) + +/* The LED used to indicate that a value has been received on the queue. */ +#define mainQUEUE_LED ( 0 ) + +/* The LED used to indicate that full power is being used (the MCU is not in +deep sleep or software standby mode). */ +#define mainFULL_POWER_LED ( 1 ) + +/* The LED used to indicate that deep sleep mode is being used. */ +#define mainDEEP_SLEEP_LED ( 2 ) + +/* The Tx task sends to the queue with a frequency that is set by the value +read from the potentiometer until the value goes above that set by the +mainSOFTWARE_STANDBY_DELAY constant - at which time the Tx task instead blocks +indefinitely on a semaphore. */ +#define mainSOFTWARE_STANDBY_DELAY ( 3000UL ) + +/* A block time of zero simply means "don't block". */ +#define mainDONT_BLOCK ( 0 ) + +/* The value that is sent from the Tx task to the Rx task on the queue. */ +#define mainQUEUED_VALUE ( 100UL ) + +/*-----------------------------------------------------------*/ + +/* + * The Rx and Tx tasks as described at the top of this file. + */ +static void prvQueueReceiveTask( void *pvParameters ); +static void prvQueueSendTask( void *pvParameters ); + +/* + * Reads and returns the value of the ADC connected to the potentiometer built + * onto the RSK. + */ +static unsigned short prvReadPOT( void ); + +/* + * The handler for the interrupt generated when any of the buttons are pressed. + */ +void vButtonInterruptCallback( void ); + +/*-----------------------------------------------------------*/ + +/* The queue to pass data from the Tx task to the Rx task. */ +static xQueueHandle xQueue = NULL; + +/* The semaphore that is 'given' by interrupts generated from button pushes. */ +static xSemaphoreHandle xSemaphore = NULL; + +/*-----------------------------------------------------------*/ + +void main_low_power( void ) +{ + /* Create the queue. */ + xQueue = xQueueCreate( mainQUEUE_LENGTH, sizeof( unsigned long ) ); + configASSERT( xQueue ); + + /* Create the semaphore that is 'given' by an interrupt generated from a + button push. */ + vSemaphoreCreateBinary( xSemaphore ); + configASSERT( xSemaphore ); + + /* Make sure the semaphore starts in the expected state - no button pushes + have yet occurred. A block time of zero can be used as it is guaranteed + that the semaphore will be available because it has just been created. */ + xSemaphoreTake( xSemaphore, mainDONT_BLOCK ); + + /* Start the two tasks as described at the top of this file. */ + xTaskCreate( prvQueueReceiveTask, "Rx", configMINIMAL_STACK_SIZE, NULL, configQUEUE_RECEIVE_TASK_PRIORITY, NULL ); + xTaskCreate( prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE, NULL, configQUEUE_SEND_TASK_PRIORITY, NULL ); + + /* The CPU is currently running, not sleeping, so turn on the LED that + shows the CPU is not in a sleep mode. */ + vParTestSetLED( mainFULL_POWER_LED, pdTRUE ); + + /* Start the scheduler running running. */ + vTaskStartScheduler(); + + /* If all is well the next line of code will not be reached as the + scheduler will be running. If the next line is reached then it is likely + there was insufficient FreeRTOS heap available for the idle task and/or + timer task to be created. See http://www.freertos.org/a00111.html. */ + for( ;; ); +} +/*-----------------------------------------------------------*/ + +static void prvQueueSendTask( void *pvParameters ) +{ +portTickType xDelay; +const unsigned long ulValueToSend = mainQUEUED_VALUE; + + /* Remove compiler warning about unused parameter. */ + ( void ) pvParameters; + + for( ;; ) + { + /* The delay period between successive sends to the queue is set by + the potentiometer reading. */ + xDelay = ( portTickType ) prvReadPOT(); + + /* If the block time is greater than 3000 milliseconds then block + indefinitely waiting for a button push. */ + if( xDelay > mainSOFTWARE_STANDBY_DELAY ) + { + /* As this is an indefinite delay the kernel will place the CPU + into software standby mode the next time the idle task runs. */ + xSemaphoreTake( xSemaphore, portMAX_DELAY ); + } + else + { + /* Convert a time in milliseconds to a time in ticks. */ + xDelay /= portTICK_RATE_MS; + + /* Place this task in the blocked state until it is time to run + again. As this is not an indefinite sleep the kernel will place + the CPU into the deep sleep state when the idle task next runs. */ + vTaskDelay( xDelay ); + } + + /* Send to the queue - causing the queue receive task to flash its LED. + It should not be necessary to block on the queue send because the Rx + task will have removed the last queued item. */ + xQueueSend( xQueue, &ulValueToSend, mainDONT_BLOCK ); + } +} +/*-----------------------------------------------------------*/ + +static void prvQueueReceiveTask( void *pvParameters ) +{ +unsigned long ulReceivedValue; + + /* Remove compiler warning about unused parameter. */ + ( void ) pvParameters; + + for( ;; ) + { + /* Wait until something arrives in the queue - this will block + indefinitely provided INCLUDE_vTaskSuspend is set to 1 in + FreeRTOSConfig.h. */ + xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY ); + + /* To get here something must have arrived, but is it the expected + value? If it is, toggle the LED. */ + if( ulReceivedValue == mainQUEUED_VALUE ) + { + vParTestToggleLED( mainQUEUE_LED ); + } + } +} +/*-----------------------------------------------------------*/ + +void vPreSleepProcessing( unsigned long ulExpectedIdleTime ) +{ + /* Called by the kernel before it places the MCU into a sleep mode because + configPRE_SLEEP_PROCESSING() is #defined to vPreSleepProcessing(). + + NOTE: Additional actions can be taken here to get the power consumption + even lower. For example, the ADC input used by this demo could be turned + off here, and then back on again in the power sleep processing function. + For maximum power saving ensure all unused pins are in their lowest power + state. */ + + /* Avoid compiler warnings about the unused parameter. */ + ( void ) ulExpectedIdleTime; + + /* Is the MCU about to enter deep sleep mode or software standby mode? */ + if( SYSTEM.SBYCR.BIT.SSBY == 0 ) + { + /* Turn on the LED that indicates deep sleep mode is being entered. */ + vParTestSetLED( mainDEEP_SLEEP_LED, pdTRUE ); + } + else + { + /* Software standby mode is being used, so no LEDs are illuminated to + ensure minimum power readings are obtained. Ensure the Queue LED is + also off. */ + vParTestSetLED( mainQUEUE_LED, pdFALSE ); + } + + /* Turn off the LED that indicates full power is being used. */ + vParTestSetLED( mainFULL_POWER_LED, pdFALSE ); +} +/*-----------------------------------------------------------*/ + +void vPostSleepProcessing( unsigned long ulExpectedIdleTime ) +{ + /* Called by the kernel when the MCU exits a sleep mode because + configPOST_SLEEP_PROCESSING is #defined to vPostSleepProcessing(). */ + + /* Avoid compiler warnings about the unused parameter. */ + ( void ) ulExpectedIdleTime; + + /* Turn off the LED that indicates deep sleep mode, and turn on the LED + that indicates full power is being used. */ + vParTestSetLED( mainDEEP_SLEEP_LED, pdFALSE ); + vParTestSetLED( mainFULL_POWER_LED, pdTRUE ); +} +/*-----------------------------------------------------------*/ + +static unsigned short prvReadPOT( void ) +{ +unsigned short usADCValue; +const unsigned short usMinADCValue = 128; + + /* Start an ADC scan. */ + S12AD.ADCSR.BIT.ADST = 1; + while( S12AD.ADCSR.BIT.ADST == 1 ) + { + /* Just waiting for the ADC scan to complete. Inefficient + polling! */ + } + + usADCValue = S12AD.ADDR4; + + /* Don't let the ADC value get too small as the LED behaviour will look + erratic. */ + if( usADCValue < usMinADCValue ) + { + usADCValue = usMinADCValue; + } + + return usADCValue; +} +/*-----------------------------------------------------------*/ + +void vButtonInterruptCallback( void ) +{ +long lHigherPriorityTaskWoken = pdFALSE; + + /* The semaphore is only created when the build is configured to create the + low power demo. */ + if( xSemaphore != NULL ) + { + /* This interrupt will bring the CPU out of deep sleep and software + standby modes. Give the semaphore that was used to place the Tx task + into an indefinite sleep. */ + if( uxQueueMessagesWaitingFromISR( xSemaphore ) == 0 ) + { + xSemaphoreGiveFromISR( xSemaphore, &lHigherPriorityTaskWoken ); + } + else + { + /* The semaphore was already available, so the task is not blocked + on it and there is no point giving it. */ + } + + /* If giving the semaphore caused a task to leave the Blocked state, + and the task that left the Blocked state has a priority equal to or + above the priority of the task that this interrupt interrupted, then + lHigherPriorityTaskWoken will have been set to pdTRUE inside the call + to xSemaphoreGiveFromISR(), and calling portYIELD_FROM_ISR() will cause + a context switch to the unblocked task. */ + portYIELD_FROM_ISR( lHigherPriorityTaskWoken ); + } +} + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/custom.bat b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/custom.bat new file mode 100644 index 000000000..e69de29bb -- 2.39.5

      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 GLH`4w;}|Re literal 0 HcmV?d00001 diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/r_switches_config.h b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/r_switches_config.h new file mode 100644 index 000000000..ba6d58f00 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/r_switches_config.h @@ -0,0 +1,47 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2011 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_switches_config.c +* Description : Configures the switches code +************************************************************************************************************************ +* History : DD.MM.YYYY Version Description +* : 17.01.2012 1.00 First Release +* : 17.02.2012 1.10 Added RSKRX210 support. +* : 08.03.2012 1.20 Added GetVersion() function (though it's really a macro). +* : 04.06.2012 1.30 Code can now be interrupt or poll driven. +***********************************************************************************************************************/ +#ifndef SWITCHES_CONFIG_HEADER_FILE +#define SWITCHES_CONFIG_HEADER_FILE + +/*********************************************************************************************************************** +Configuration Options +***********************************************************************************************************************/ +/* This macro sets whether interrupts or polling is used for detecting switch presses. The benefit of using interrupts + is that no extra processing is used for polling and the use of a system timer tick is not a requirement. The downside + of using interrupts is that callback functions are called from within an interrupt so if your ISR is long then it can + degrade the real-time response of your system. The benefit of polling is that functions are called at the application + level and debouncing is supported. The downside to polling is that your system must call the R_SWITCHES_Update() on a + regular basis which requires extra processing. + + 0 = Use interrupts + 1 = Use polling + */ +#define SWITCHES_DETECTION_MODE (0) + +#endif /* SWITCHES_CONFIG_HEADER_FILE */ diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/r_switches_if.h b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/r_switches_if.h new file mode 100644 index 000000000..b08f8f546 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/r_switches_if.h @@ -0,0 +1,72 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2011 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_switches_if.h +* Description : Functions for using switches with callback functions. +************************************************************************************************************************ +* History : DD.MM.YYYY Version Description +* : 17.01.2012 1.00 First Release +* : 17.02.2012 1.10 Added RSKRX210 support. +* : 08.03.2012 1.20 Added GetVersion() function (though it's really a macro). +* : 04.06.2012 1.30 Code can now be interrupt or poll driven. +***********************************************************************************************************************/ + +#ifndef SWITCHES_API_HEADER_FILE +#define SWITCHES_API_HEADER_FILE + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Fixed width integer support. */ +#include +/* Used for configuring the code */ +#include "r_switches_config.h" + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +/* Version Number of API. */ +#define SWITCHES_VERSION_MAJOR (1) +#define SWITCHES_VERSION_MINOR (0) +/* The process of getting the version number is done through the macro below. The version number is encoded where the + top 2 bytes are the major version number and the bottom 2 bytes are the minor version number. For example, + Version 4.25 would be returned as 0x00040019. */ +#define R_SWITCHES_GetVersion() ((((uint32_t)SWITCHES_VERSION_MAJOR) << 16) | (uint32_t)SWITCHES_VERSION_MINOR) + +/*********************************************************************************************************************** +Public Functions +***********************************************************************************************************************/ +void R_SWITCHES_Init(void); +void R_SWITCHES_Update(void); + +/* Callback prototypes. */ +#if defined(SW1_CALLBACK_FUNCTION) +void SW1_CALLBACK_FUNCTION(void); +#endif + +#if defined(SW2_CALLBACK_FUNCTION) +void SW2_CALLBACK_FUNCTION(void); +#endif + +#if defined(SW3_CALLBACK_FUNCTION) +void SW3_CALLBACK_FUNCTION(void); +#endif + +#endif /* SWITCHES_API_HEADER_FILE */ + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/readme.txt b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/readme.txt new file mode 100644 index 000000000..d1e1e40fb --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/readme.txt @@ -0,0 +1,83 @@ +PLEASE REFER TO THE APPLICATION NOTE FOR THIS MIDDLEWARE FOR MORE INFORMATION + +Switches +======== + +Document Number +--------------- +N/A + +Version +------- +v1.40 + +Overview +-------- +Configures port pins for switches and calls user defined function on switch press. Switch presses can be detected using +IRQ interrupts or by polling. The benefit of using interrupts is that no extra processing is used for polling and the +use of a system timer tick is not a requirement. The downside of using interrupts is that callback functions are called +from within an interrupt so if your ISR is long then it can degrade the real-time response of your system. The benefit +of polling is that functions are called at the application level and debouncing is supported. The downside to polling is +that your system must call the R_SWITCHES_Update() on a regular basis which requires extra processing. + +Features +-------- +* Call one function to setup switches. +* Define function to call when switch is pressed. +* Can be configured to be interrupt or poll driven. + +Supported MCUs +-------------- +* RX610 Group +* RX621, RX62N Group +* RX62T Group +* RX630 Group +* RX631, RX63N Group +* RX210 Group +* RX111 Group + +Boards Tested On +---------------- +* RSKRX610 +* RSK+RX62N +* RSKRX62T +* RDKRX62N +* RSKRX630 +* RSKRX63N +* RDKRX63N +* RSKRX111 + +Limitations +----------- +* None + +Peripherals Used Directly +------------------------- +* None + +Required Packages +----------------- +* None + +How to add to your project +-------------------------- +* Add src\r_switches.c to your project. +* Add an include path to the 'r_switches' directory. +* Add an include path to the 'r_switches\src' directory. +* Configure middleware through r_switches_config.h. +* Add a #include for r_switches_if.h to files that need to use this package. + +Toolchain(s) Used +----------------- +* Renesas RX v1.02 + +File Structure +-------------- +r_switches +| readme.txt +| r_switches_config.h +| r_switches_if.h +| +\---src + r_switches.c + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/src/r_switches.c b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/src/r_switches.c new file mode 100644 index 000000000..601383563 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/src/r_switches.c @@ -0,0 +1,232 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2011 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_switches.c +* Description : Functions for using switches with callback functions. +************************************************************************************************************************ +* History : DD.MM.YYYY Version Description +* : 17.01.2012 1.00 First Release +* : 17.02.2012 1.10 Added RSKRX210 support. +* : 08.03.2012 1.20 Added GetVersion() function (though it's really a macro). +* : 04.06.2012 1.30 Code can now be interrupt or poll driven. +* : 07.11.2012 1.40 Added support for RSKRX111 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Board and MCU support. */ +#include "platform.h" +/* Switches prototypes. */ +#include "r_switches_if.h" +/* Scheduler includes. */ +#include "FreeRTOS.h" +typedef int bool; + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +/* This helps reduce the amount of unique code for each supported board. */ +#define X_IRQ( x ) XX_IRQ( x ) +#define XX_IRQ( x ) _ICU_IRQ##x + +/* These macros define which IRQ pins are used for the switches. Note that these defintions cannot have parentheses + around them. */ +#if defined(PLATFORM_BOARD_RSKRX111) + #define SW1_IRQ_NUMBER 0 + #define SW2_IRQ_NUMBER 1 + #define SW3_IRQ_NUMBER 4 +#else + #error This file is only for use on the RX100 RSK +#endif + +/* Number of switches on this board. */ +#define SWITCHES_NUM (3) + +/* Register definitions not yet correct in iorx111.h. */ +#define MPC_P30PFS_REG ( * ( unsigned char * ) 0x0008C158 ) +#define MPC_P31PFS_REG ( * ( unsigned char * ) 0x0008C159 ) +#define MPC_PE4PFS_REG ( * ( unsigned char * ) 0x0008C1B4 ) + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ +typedef struct +{ + bool active; + int32_t debounce_cnt; +} switch_t; + +/*********************************************************************************************************************** +Private global variables and functions +***********************************************************************************************************************/ +#if SWITCHES_DETECTION_MODE == 1 +/* Update Hz */ +static uint32_t g_sw_debounce_cnts; +/* Used for debounce. */ +switch_t g_switches[SWITCHES_NUM]; +#endif + +/*********************************************************************************************************************** +* Function Name: R_SWITCHES_Init +* Description : Initializes pins to be input and interrupt on switch presses. +* Arguments : +* Return Value : none +***********************************************************************************************************************/ + +void R_SWITCHES_Init (void) +{ + /* Unlock protection register */ + MPC.PWPR.BYTE &= 0x7F; + /* Unlock MPC registers */ + MPC.PWPR.BYTE |= 0x40; + + /* Make switch pins inputs. */ + PORT3.PDR.BYTE &= 0xFC; + PORTE.PDR.BYTE &= 0xEF; + + /* Set port mode registers for switches. */ + PORT3.PMR.BYTE &= 0xFC; + PORTE.PMR.BYTE &= 0xEF; + + MPC_P30PFS_REG = 0x40; /* P30 is used as IRQ pin */ + MPC_P31PFS_REG = 0x40; /* P31 is used as IRQ pin */ + MPC_PE4PFS_REG = 0x40; /* PE4 is used as IRQ pin */ + + /* Set IRQ type (falling edge) */ + ICU.IRQCR[ SW1_IRQ_NUMBER ].BYTE = 0x04; + ICU.IRQCR[ SW2_IRQ_NUMBER ].BYTE = 0x04; + ICU.IRQCR[ SW3_IRQ_NUMBER ].BYTE = 0x04; + + /* Set interrupt priorities, which must be below + configMAX_SYSCALL_INTERRUPT_PRIORITY. */ + _IPR( X_IRQ(SW1_IRQ_NUMBER) ) = configKERNEL_INTERRUPT_PRIORITY; + _IPR( X_IRQ(SW2_IRQ_NUMBER) ) = configKERNEL_INTERRUPT_PRIORITY; + _IPR( X_IRQ(SW3_IRQ_NUMBER) ) = configKERNEL_INTERRUPT_PRIORITY; + + /* Clear any pending interrupts */ + _IR( X_IRQ(SW1_IRQ_NUMBER) ) = 0; + _IR( X_IRQ(SW2_IRQ_NUMBER) ) = 0; + _IR( X_IRQ(SW3_IRQ_NUMBER) ) = 0; + + /* Enable the interrupts */ + _IEN( X_IRQ(SW1_IRQ_NUMBER) ) = 1; + _IEN( X_IRQ(SW2_IRQ_NUMBER) ) = 1; + _IEN( X_IRQ(SW3_IRQ_NUMBER) ) = 1; +} + +/* If using polling then the user must call the update function. */ + +/*********************************************************************************************************************** +* Function name: R_SWITCHES_Update +* Description : Polls switches and calls callback functions as needed. If you are using IRQ mode then this function +* is not needed and can be removed if desired. It is left in so that code will not fail when switching +* between polling or IRQ mode. +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void R_SWITCHES_Update (void) +{ +#if SWITCHES_DETECTION_MODE == 1 + /* This code is only needed for polling mode. */ + /* Check switch 1. */ + if (SW1 == SW_ACTIVE) + { + if (g_switches[0].active != true) + { + if (++g_switches[0].debounce_cnt >= g_sw_debounce_cnts) + { + /* Set this to true so we only call the callback function once per press. */ + g_switches[0].active = true; + + /* Call callback function. */ + SW1_CALLBACK_FUNCTION(); + } + } + } + else + { + if (0 == g_switches[0].debounce_cnt) + { + g_switches[0].active = false; + } + else + { + g_switches[0].debounce_cnt--; + } + } + + /* Check switch 2. */ + if (SW2 == SW_ACTIVE) + { + if (g_switches[1].active != true) + { + if (++g_switches[1].debounce_cnt >= g_sw_debounce_cnts) + { + /* Set this to true so we only call the callback function once per press. */ + g_switches[1].active = true; + + /* Call callback function. */ + SW2_CALLBACK_FUNCTION(); + } + } + } + else + { + if (0 == g_switches[1].debounce_cnt) + { + g_switches[1].active = false; + } + else + { + g_switches[1].debounce_cnt--; + } + } + + /* Check switch 3. */ + if (SW3 == SW_ACTIVE) + { + if (g_switches[2].active != true) + { + if (++g_switches[2].debounce_cnt >= g_sw_debounce_cnts) + { + /* Set this to true so we only call the callback function once per press. */ + g_switches[2].active = true; + + /* Call callback function. */ + SW3_CALLBACK_FUNCTION(); + } + } + } + else + { + if (0 == g_switches[2].debounce_cnt) + { + g_switches[2].active = false; + } + else + { + g_switches[2].debounce_cnt--; + } + } +#endif /* SWITCHES_DETECTION_MODE */ +} + + + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/main.c b/FreeRTOS/Demo/RX100-RSK_IAR/main.c new file mode 100644 index 000000000..c2d786b2c --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/main.c @@ -0,0 +1,211 @@ +/* + FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS 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 AND MODIFIED BY the FreeRTOS exception. + + >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. + + FreeRTOS 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 + and the FreeRTOS license exception along with FreeRTOS; if not itcan be + viewed here: http://www.freertos.org/a00114.html and also obtained by + writing to Real Time Engineers Ltd., contact details for whom are available + on the FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, and our new + fully thread aware and reentrant UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems, who sell the code with commercial support, + indemnification and middleware, under the OpenRTOS brand. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. +*/ + +/****************************************************************************** + * This project provides two demo applications. A low power project that + * demonstrates the FreeRTOS tickless mode, and a more comprehensive test and + * demo application. The configCREATE_LOW_POWER_DEMO setting (defined at the + * top of FreeRTOSConfig.h) is used to select between the two. The low power + * demo is implemented and described in main_low_power.c. The more + * comprehensive test and demo application is implemented and described in + * main_full.c. + * + * This file implements the code that is not demo specific, including the + * hardware setup and FreeRTOS hook functions. + */ + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" + +/* Platform includes. */ +#include "lcd.h" + +/*-----------------------------------------------------------*/ + +/* + * Prepare the board of the demo. + */ +extern void vHardwareSetup( void ); + +/* + * main_low_power() is used when configCREATE_LOW_POWER_DEMO is set to 1. + * main_full() is used when configCREATE_LOW_POWER_DEMO is set to 0. + */ +extern void main_low_power( void ); +extern void main_full( void ); + +/* Prototypes for the standard FreeRTOS callback/hook functions implemented +within this file. */ +void vApplicationMallocFailedHook( void ); +void vApplicationIdleHook( void ); +void vApplicationStackOverflowHook( xTaskHandle pxTask, signed char *pcTaskName ); +void vApplicationTickHook( void ); + +/*-----------------------------------------------------------*/ + +/* See the documentation page for this demo on the FreeRTOS.org web site for +full information - including hardware setup requirements. */ + +void main( void ) +{ + /* Call the Renesas provided setup. */ + vHardwareSetup(); + lcd_initialize(); + lcd_display( LCD_LINE1, "FreeRTOS" ); + + /* The configCREATE_LOW_POWER_DEMO setting is described in FreeRTOSConfig.h. */ + #if configCREATE_LOW_POWER_DEMO == 1 + { + lcd_display( LCD_LINE2, "LP Demo" ); + main_low_power(); + } + #else + { + lcd_display( LCD_LINE2, "Ful Demo" ); + main_full(); + } + #endif +} +/*-----------------------------------------------------------*/ + +void vApplicationMallocFailedHook( void ) +{ + /* vApplicationMallocFailedHook() will only be called if + configUSE_MALLOC_FAILED_HOOK is set to 1 in FreeRTOSConfig.h. It is a hook + function that will get called if a call to pvPortMalloc() fails. + pvPortMalloc() is called internally by the kernel whenever a task, queue, + timer or semaphore is created. It is also called by various parts of the + demo application. If heap_1.c, heap_2.c or heap_4.c are used, then the size + of the heap available to pvPortMalloc() is defined by configTOTAL_HEAP_SIZE + in FreeRTOSConfig.h, and the xPortGetFreeHeapSize() API function can be used + to query the size of free heap space that remains (although it does not + provide information on how the remaining heap might be fragmented). */ + taskDISABLE_INTERRUPTS(); + for( ;; ); +} +/*-----------------------------------------------------------*/ + +void vApplicationIdleHook( void ) +{ + /* vApplicationIdleHook() will only be called if configUSE_IDLE_HOOK is set + to 1 in FreeRTOSConfig.h. It will be called on each iteration of the idle + task. It is essential that code added to this hook function never attempts + to block in any way (for example, call xQueueReceive() with a block time + specified, or call vTaskDelay()). If the application makes use of the + vTaskDelete() API function (as this demo application does) then it is also + important that vApplicationIdleHook() is permitted to return to its calling + function, because it is the responsibility of the idle task to clean up + memory allocated by the kernel to any task that has since been deleted. */ +} +/*-----------------------------------------------------------*/ + +void vApplicationStackOverflowHook( xTaskHandle pxTask, signed char *pcTaskName ) +{ + ( void ) pcTaskName; + ( void ) pxTask; + + /* 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 vApplicationTickHook( void ) +{ + /* This function will be called by each tick interrupt if + configUSE_TICK_HOOK is set to 1 in FreeRTOSConfig.h. User code can be + added here, but the tick hook is called from an interrupt context, so + code must not attempt to block, and only the interrupt safe FreeRTOS API + functions can be used (those that end in FromISR()). */ +} +/*-----------------------------------------------------------*/ + +void vAssertCalled( void ) +{ +volatile unsigned long ul = 0; + + taskENTER_CRITICAL(); + { + /* Set ul to a non-zero value using the debugger to step out of this + function. */ + while( ul == 0 ) + { + __asm volatile( "NOP" ); + } + } + taskEXIT_CRITICAL(); +} diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/main_full.c b/FreeRTOS/Demo/RX100-RSK_IAR/main_full.c new file mode 100644 index 000000000..1380948db --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/main_full.c @@ -0,0 +1,346 @@ +/* + FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS 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 AND MODIFIED BY the FreeRTOS exception. + + >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. + + FreeRTOS 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 + and the FreeRTOS license exception along with FreeRTOS; if not itcan be + viewed here: http://www.freertos.org/a00114.html and also obtained by + writing to Real Time Engineers Ltd., contact details for whom are available + on the FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, and our new + fully thread aware and reentrant UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems, who sell the code with commercial support, + indemnification and middleware, under the OpenRTOS brand. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. +*/ + +/* **************************************************************************** + * This project includes a lot of tasks and tests and is therefore complex. + * If you would prefer a much simpler project to get started with then select + * the 'low power' demo by setting configCREATE_LOW_POWER_DEMO to 1 in + * FreeRTOSConfig.h. When configCREATE_LOW_POWER_DEMO is set to 1 main() will + * call main_low_power() instead of main_full(). + * **************************************************************************** + * + * Creates all the demo application tasks, 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 the registers with known values, then + * repeatedly check that each register still contains its expected value for + * the lifetime of the tasks. Each task uses different values. The tasks run + * with very low priority so get preempted very frequently. A check variable + * is incremented on each iteration of the test loop. A register containing an + * unexpected value is indicative of an error in the context switching + * mechanism and will result in a branch to a null loop - which in turn will + * prevent the check variable from incrementing any further and allow the check + * timer (described below) to determine that an error has occurred. The nature + * of the reg test tasks necessitates that they are written in assembly code. + * + * "Check Timer" and Callback Function - The check timer period is initially + * set to three seconds. The check timer callback function checks that all the + * standard demo tasks are not only still executing, but are executing without + * reporting any errors. If the check timer discovers that a task has either + * stalled, or reported an error, then it changes its own period from the + * initial three seconds, to just 200ms. The check timer callback function + * also toggles LED 0 each time it is called. This provides a visual + * indication of the system status: If the LED toggles every three seconds, + * then no issues have been discovered. If the LED toggles every 200ms, then + * an issue has been discovered with at least one task. + * + * *NOTE 1* The CPU must be in Supervisor mode when the scheduler is started. + * The PowerON_Reset_PC() supplied in resetprg.c with this demo has + * Change_PSW_PM_to_UserMode() commented out to ensure this is the case. +*/ + +/* Standard includes. */ +#include + +/* Hardware specific includes. */ +#include "iorx111.h" + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "timers.h" +#include "semphr.h" + +/* Standard demo includes. */ +#include "partest.h" +#include "death.h" +#include "blocktim.h" +#include "GenQTest.h" +#include "recmutex.h" + + +/* Variables that are incremented on each iteration of the reg test tasks are +declared outside of the #if configCREATE_LOW_POWER_DEMO conditional compilation +to prevent linker issues when configCREATE_LOW_POWER_DEMO is set to 1. The +check timer inspects these variables to ensure they are still incrementing as +expected. If a variable stops incrementing then it is likely that its associate +task has stalled. */ +unsigned long volatile ulRegTest1CycleCount = 0UL, ulRegTest2CycleCount = 0UL; + + +/* The code in this file is only built when configCREATE_LOW_POWER_DEMO is set +to 0, otherwise the code in main_low_power.c is used. */ +#if configCREATE_LOW_POWER_DEMO == 0 + + +/* Values that are passed into the reg test tasks using the task parameter. +The tasks check that the values are passed in correctly. */ +#define mainREG_TEST_1_PARAMETER ( 0x12121212UL ) +#define mainREG_TEST_2_PARAMETER ( 0x12345678UL ) + +/* Priorities at which the standard demo tasks are created. */ +#define mainGEN_QUEUE_TASK_PRIORITY ( tskIDLE_PRIORITY ) +#define mainCREATOR_TASK_PRIORITY ( tskIDLE_PRIORITY + 3 ) + +/* The LED toggled by the check timer. */ +#define mainCHECK_LED ( 0 ) + +/* The period at which the check timer will expire, in ms, provided no errors +have been reported by any of the standard demo tasks. ms are converted to the +equivalent in ticks using the portTICK_RATE_MS constant. */ +#define mainCHECK_TIMER_PERIOD_MS ( 3000UL / portTICK_RATE_MS ) + +/* The period at which the check timer will expire, in ms, if an error has been +reported in one of the standard demo tasks. ms are converted to the equivalent +in ticks using the portTICK_RATE_MS constant. */ +#define mainERROR_CHECK_TIMER_PERIOD_MS ( 200UL / portTICK_RATE_MS ) + +/* A block time of zero simple means "Don't Block". */ +#define mainDONT_BLOCK ( 0UL ) + +/* + * The reg test tasks as described at the top of this file. + */ +static void prvRegTest1Task( void *pvParameters ); +static void prvRegTest2Task( void *pvParameters ); + +/* + * The actual implementation of the reg test functionality, which, because of + * the direct register access, have to be in assembly. + */ +void vRegTest1Implementation( void ); +void vRegTest2Implementation( void ); + +/* + * The check timer callback function, as described at the top of this file. + */ +static void prvCheckTimerCallback( xTimerHandle xTimer ); + + +/*-----------------------------------------------------------*/ + +/* The check timer. This uses prvCheckTimerCallback() as its callback +function. */ +static xTimerHandle xCheckTimer = NULL; + +/*-----------------------------------------------------------*/ + +void main_full( void ) +{ + /* Start the reg test tasks which test the context switching mechanism. */ + xTaskCreate( prvRegTest1Task, "RegTst1", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_1_PARAMETER, tskIDLE_PRIORITY, NULL ); + xTaskCreate( prvRegTest2Task, "RegTst2", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_2_PARAMETER, tskIDLE_PRIORITY, NULL ); + + /* Create the standard demo tasks. */ + vCreateBlockTimeTasks(); + vStartGenericQueueTasks( mainGEN_QUEUE_TASK_PRIORITY ); + vStartRecursiveMutexTasks(); + + /* The suicide tasks must be created last as they need to know how many + tasks were running prior to their creation in order to ascertain whether + or not the correct/expected number of tasks are running at any given time. */ + vCreateSuicidalTasks( mainCREATOR_TASK_PRIORITY ); + + /* Create the software timer that performs the 'check' functionality, + as described at the top of this file. */ + xCheckTimer = xTimerCreate( ( const signed char * ) "CheckTimer",/* A text name, purely to help debugging. */ + ( mainCHECK_TIMER_PERIOD_MS ), /* The timer period, in this case 5000ms (5s). */ + pdTRUE, /* This is an auto-reload timer, so xAutoReload is set to pdTRUE. */ + ( void * ) 0, /* The ID is not used, so can be set to anything. */ + prvCheckTimerCallback /* The callback function that inspects the status of all the other tasks. */ + ); + + configASSERT( xCheckTimer ); + + /* Start the check timer. It will actually start when the scheduler is + started. */ + xTimerStart( xCheckTimer, mainDONT_BLOCK ); + + /* Start the tasks running. */ + vTaskStartScheduler(); + + /* If all is well execution will never reach here as the scheduler will be + running. If this null loop is reached then it is likely there was + insufficient FreeRTOS heap available for the idle task and/or timer task to + be created. See http://www.freertos.org/a00111.html. */ + for( ;; ); +} +/*-----------------------------------------------------------*/ + +static void prvCheckTimerCallback( xTimerHandle xTimer ) +{ +static long lChangedTimerPeriodAlready = pdFALSE, lErrorStatus = pdPASS; +static volatile unsigned long ulLastRegTest1CycleCount = 0UL, ulLastRegTest2CycleCount = 0UL; + + /* Remove compiler warnings about unused parameters. */ + ( void ) xTimer; + + /* Check the standard demo tasks are running without error. */ + if( xAreGenericQueueTasksStillRunning() != pdTRUE ) + { + lErrorStatus = pdFAIL; + } + else if( xIsCreateTaskStillRunning() != pdTRUE ) + { + lErrorStatus = pdFAIL; + } + else if( xAreBlockTimeTestTasksStillRunning() != pdTRUE ) + { + lErrorStatus = pdFAIL; + } + else if( xAreRecursiveMutexTasksStillRunning() != pdTRUE ) + { + lErrorStatus = pdFAIL; + } + + /* Check the reg test tasks are still cycling. They will stop incrementing + their loop counters if they encounter an error. */ + if( ulRegTest1CycleCount == ulLastRegTest1CycleCount ) + { + lErrorStatus = pdFAIL; + } + + if( ulRegTest2CycleCount == ulLastRegTest2CycleCount ) + { + lErrorStatus = pdFAIL; + } + + /* Remember the loop counter values this time around so they can be checked + again the next time this callback function executes. */ + ulLastRegTest1CycleCount = ulRegTest1CycleCount; + ulLastRegTest2CycleCount = ulRegTest2CycleCount; + + /* Toggle the check LED to give an indication of the system status. If + the LED toggles every three seconds then everything is ok. A faster toggle + indicates an error. */ + vParTestToggleLED( mainCHECK_LED ); + + /* Was an error detected this time through the callback execution? */ + if( lErrorStatus != pdPASS ) + { + if( lChangedTimerPeriodAlready == pdFALSE ) + { + lChangedTimerPeriodAlready = pdTRUE; + + /* This call to xTimerChangePeriod() uses a zero block time. + Functions called from inside of a timer callback function must + *never* attempt to block. */ + xTimerChangePeriod( xCheckTimer, ( mainERROR_CHECK_TIMER_PERIOD_MS ), mainDONT_BLOCK ); + } + } +} +/*-----------------------------------------------------------*/ + +/* This function is explained in the comments at the top of this file. */ +static void prvRegTest1Task( void *pvParameters ) +{ + if( ( ( unsigned long ) pvParameters ) != mainREG_TEST_1_PARAMETER ) + { + /* The parameter did not contain the expected value. */ + for( ;; ) + { + /* Stop the tick interrupt so its obvious something has gone wrong. */ + taskDISABLE_INTERRUPTS(); + } + } + + /* This is an inline asm function that never returns. */ + vRegTest1Implementation(); +} +/*-----------------------------------------------------------*/ + +/* This function is explained in the comments at the top of this file. */ +static void prvRegTest2Task( void *pvParameters ) +{ + if( ( ( unsigned long ) pvParameters ) != mainREG_TEST_2_PARAMETER ) + { + /* The parameter did not contain the expected value. */ + for( ;; ) + { + /* Stop the tick interrupt so its obvious something has gone wrong. */ + taskDISABLE_INTERRUPTS(); + } + } + + /* This is an inline asm function that never returns. */ + vRegTest2Implementation(); +} +/*-----------------------------------------------------------*/ + +#endif /* configCREATE_LOW_POWER_DEMO */ diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/main_low_power.c b/FreeRTOS/Demo/RX100-RSK_IAR/main_low_power.c new file mode 100644 index 000000000..1a3f6d035 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/main_low_power.c @@ -0,0 +1,437 @@ +/* + FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS 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 AND MODIFIED BY the FreeRTOS exception. + + >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. + + FreeRTOS 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 + and the FreeRTOS license exception along with FreeRTOS; if not itcan be + viewed here: http://www.freertos.org/a00114.html and also obtained by + writing to Real Time Engineers Ltd., contact details for whom are available + on the FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, and our new + fully thread aware and reentrant UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems, who sell the code with commercial support, + indemnification and middleware, under the OpenRTOS brand. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. +*/ + +/* **************************************************************************** + * When configCREATE_LOW_POWER_DEMO is set to 1 in FreeRTOSConfig.h main() will + * call main_low_power(), which is defined in this file. main_low_power() + * demonstrates FreeRTOS tick suppression being used to allow the MCU to be + * placed into both the low power deep sleep mode and the low power software + * standby mode. When configCREATE_LOW_POWER_DEMO is set to 0 main will + * instead call main_full(), which is a more comprehensive RTOS demonstration. + * **************************************************************************** + * + * This application demonstrates the FreeRTOS tickless idle mode (tick + * suppression). See http://www.freertos.org/low-power-tickless-rtos.html + * The demo is configured to execute on the Renesas RX100 RSK. + * + * Functionality: + * + * + Two tasks are created, an Rx task and a Tx task. + * + * + The Rx task repeatedly blocks on a queue to wait for data. The Rx task + * toggles LED 0 each time is receives a value from the queue. + * + * + The Tx task repeatedly enters the Blocked state for an amount of time + * that is set by the position of the potentiometer. On exiting the blocked + * state the Tx task sends a value through the queue to the Rx task (causing + * the Rx task to exit the blocked state and toggle LED 0). + * + * If the value read from the potentiometer is less than or equal to + * mainSOFTWARE_STANDBY_DELAY then the Tx task blocks for the equivalent + * number of milliseconds. For example, if the sampled analog value is + * 2000, then the Tx task blocks for 2000ms. Blocking for a finite period + * allows the kernel to stop the tick interrupt and place the RX100 into + * deep sleep mode. + * + * If the value read form the potentiometer is greater than + * mainSOFTWARE_STANDBY_DELAY then the Tx task blocks on a semaphore with + * an infinite timeout. Blocking with an infinite timeout allows the kernel + * to stop the tick interrupt and place the RX100 into software standby + * mode. Pressing a button will generate an interrupt that causes the RX100 + * to exit software standby mode. The interrupt service routine 'gives' the + * semaphore to unblock the Tx task. + * + * + * Using the Demo and Observed Behaviour: + * + * 1) Turn the potentiometer completely counter clockwise. + * + * 2) Program the RX100 with the application, then disconnect the programming/ + * debugging hardware to ensure power readings are not effected by any + * connected interfaces. + * + * 3) Start the application running. LED 0 will toggle quickly because the + * potentiometer is turned to its lowest value. LED 1 will be illuminated + * when the RX100 is not in a power saving mode, but will appear to be off + * because most execution time is spent in a sleep mode. Led 2 will be + * illuminated when the RX100 is in deep sleep mode, and will appear to be + * always on, again because most execution time is spent in deep sleep mode. + * The LEDs are turned on and off by the application defined pre and post + * sleep macros (see the definitions of configPRE_SLEEP_PROCESSING() and + * configPOST_SLEEP_PROCESSING() in FreeRTOSConfig.h). + * + * 4) Slowly turn the potentiometer in the clockwise direction. This will + * increase the value read from the potentiometer, which will increase the + * time the Tx task spends in the Blocked state, which will therefore + * decrease the frequency at which the Tx task sends data to the queue (and + * the rate at which LED 0 is toggled). + * + * 5) Keep turning the potentiometer in the clockwise direction. Eventually + * the value read from the potentiometer will go above + * mainSOFTWARE_STANDBY_DELAY, causing the Tx task to block on the semaphore + * with an infinite timeout. LED 0 will stop toggling because the Tx task is + * no longer sending to the queue. LED 1 and LED 2 will both be off because + * the RX100 is neither running or in deep sleep mode (it is in software + * standby mode). + * + * 6) Turn the potentiometer counter clockwise again to ensure its value goes + * back below mainSOFTWARE_STANDBY_DELAY. + * + * 7) Press any of the three buttons to generate an interrupt. The interrupt + * will take the RX100 out of software standby mode, and the interrupt + * service routine will unblock the Tx task by 'giving' the semaphore. LED 0 + * will then start to toggle again. + * + */ + + +/* Hardware specific includes. */ +#include "platform.h" +#include "r_switches_if.h" + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" +#include "semphr.h" + +/* Common demo includes. */ +#include "partest.h" + +/* Priorities at which the Rx and Tx tasks are created. */ +#define configQUEUE_RECEIVE_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 ) +#define configQUEUE_SEND_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 ) + +/* The number of items the queue can hold. This is 1 as the Rx task will +remove items as they are added so the Tx task should always find the queue +empty. */ +#define mainQUEUE_LENGTH ( 1 ) + +/* The LED used to indicate that a value has been received on the queue. */ +#define mainQUEUE_LED ( 0 ) + +/* The LED used to indicate that full power is being used (the MCU is not in +deep sleep or software standby mode). */ +#define mainFULL_POWER_LED ( 1 ) + +/* The LED used to indicate that deep sleep mode is being used. */ +#define mainDEEP_SLEEP_LED ( 2 ) + +/* The Tx task sends to the queue with a frequency that is set by the value +read from the potentiometer until the value goes above that set by the +mainSOFTWARE_STANDBY_DELAY constant - at which time the Tx task instead blocks +indefinitely on a semaphore. */ +#define mainSOFTWARE_STANDBY_DELAY ( 3000UL ) + +/* A block time of zero simply means "don't block". */ +#define mainDONT_BLOCK ( 0 ) + +/* The value that is sent from the Tx task to the Rx task on the queue. */ +#define mainQUEUED_VALUE ( 100UL ) + +/*-----------------------------------------------------------*/ + +/* + * The Rx and Tx tasks as described at the top of this file. + */ +static void prvQueueReceiveTask( void *pvParameters ); +static void prvQueueSendTask( void *pvParameters ); + +/* + * Reads and returns the value of the ADC connected to the potentiometer built + * onto the RSK. + */ +static unsigned short prvReadPOT( void ); + +/* + * The handler for the interrupt generated when any of the buttons are pressed. + */ +__interrupt void vButtonInterrupt( void ); + +/*-----------------------------------------------------------*/ + +/* The queue to pass data from the Tx task to the Rx task. */ +static xQueueHandle xQueue = NULL; + +/* The semaphore that is 'given' by interrupts generated from button pushes. */ +static xSemaphoreHandle xSemaphore = NULL; + +/*-----------------------------------------------------------*/ + +void main_low_power( void ) +{ + /* Create the queue. */ + xQueue = xQueueCreate( mainQUEUE_LENGTH, sizeof( unsigned long ) ); + configASSERT( xQueue ); + + /* Create the semaphore that is 'given' by an interrupt generated from a + button push. */ + vSemaphoreCreateBinary( xSemaphore ); + configASSERT( xSemaphore ); + + /* Make sure the semaphore starts in the expected state - no button pushes + have yet occurred. A block time of zero can be used as it is guaranteed + that the semaphore will be available because it has just been created. */ + xSemaphoreTake( xSemaphore, mainDONT_BLOCK ); + + /* Start the two tasks as described at the top of this file. */ + xTaskCreate( prvQueueReceiveTask, "Rx", configMINIMAL_STACK_SIZE, NULL, configQUEUE_RECEIVE_TASK_PRIORITY, NULL ); + xTaskCreate( prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE, NULL, configQUEUE_SEND_TASK_PRIORITY, NULL ); + + /* The CPU is currently running, not sleeping, so turn on the LED that + shows the CPU is not in a sleep mode. */ + vParTestSetLED( mainFULL_POWER_LED, pdTRUE ); + + /* Start the scheduler running running. */ + vTaskStartScheduler(); + + /* If all is well the next line of code will not be reached as the + scheduler will be running. If the next line is reached then it is likely + there was insufficient FreeRTOS heap available for the idle task and/or + timer task to be created. See http://www.freertos.org/a00111.html. */ + for( ;; ); +} +/*-----------------------------------------------------------*/ + +static void prvQueueSendTask( void *pvParameters ) +{ +portTickType xDelay; +const unsigned long ulValueToSend = mainQUEUED_VALUE; + + /* Remove compiler warning about unused parameter. */ + ( void ) pvParameters; + + for( ;; ) + { + /* The delay period between successive sends to the queue is set by + the potentiometer reading. */ + xDelay = ( portTickType ) prvReadPOT(); + + /* If the block time is greater than 3000 milliseconds then block + indefinitely waiting for a button push. */ + if( xDelay > mainSOFTWARE_STANDBY_DELAY ) + { + /* As this is an indefinite delay the kernel will place the CPU + into software standby mode the next time the idle task runs. */ + xSemaphoreTake( xSemaphore, portMAX_DELAY ); + } + else + { + /* Convert a time in milliseconds to a time in ticks. */ + xDelay /= portTICK_RATE_MS; + + /* Place this task in the blocked state until it is time to run + again. As this is not an indefinite sleep the kernel will place + the CPU into the deep sleep state when the idle task next runs. */ + vTaskDelay( xDelay ); + } + + /* Send to the queue - causing the queue receive task to flash its LED. + It should not be necessary to block on the queue send because the Rx + task will have removed the last queued item. */ + xQueueSend( xQueue, &ulValueToSend, mainDONT_BLOCK ); + } +} +/*-----------------------------------------------------------*/ + +static void prvQueueReceiveTask( void *pvParameters ) +{ +unsigned long ulReceivedValue; + + /* Remove compiler warning about unused parameter. */ + ( void ) pvParameters; + + for( ;; ) + { + /* Wait until something arrives in the queue - this will block + indefinitely provided INCLUDE_vTaskSuspend is set to 1 in + FreeRTOSConfig.h. */ + xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY ); + + /* To get here something must have arrived, but is it the expected + value? If it is, toggle the LED. */ + if( ulReceivedValue == mainQUEUED_VALUE ) + { + vParTestToggleLED( mainQUEUE_LED ); + } + } +} +/*-----------------------------------------------------------*/ + +void vPreSleepProcessing( unsigned long ulExpectedIdleTime ) +{ + /* Called by the kernel before it places the MCU into a sleep mode because + configPRE_SLEEP_PROCESSING() is #defined to vPreSleepProcessing(). + + NOTE: Additional actions can be taken here to get the power consumption + even lower. For example, the ADC input used by this demo could be turned + off here, and then back on again in the post sleep processing function. + For maximum power saving ensure all unused pins are in their lowest power + state. */ + + /* Avoid compiler warnings about the unused parameter. */ + ( void ) ulExpectedIdleTime; + + /* Is the MCU about to enter deep sleep mode or software standby mode? */ + if( SYSTEM.SBYCR.BIT.SSBY == 0 ) + { + /* Turn on the LED that indicates deep sleep mode is being entered. */ + vParTestSetLED( mainDEEP_SLEEP_LED, pdTRUE ); + } + else + { + /* Software standby mode is being used, so no LEDs are illuminated to + ensure minimum power readings are obtained. Ensure the Queue LED is + also off. */ + vParTestSetLED( mainQUEUE_LED, pdFALSE ); + } + + /* Turn off the LED that indicates full power is being used. */ + vParTestSetLED( mainFULL_POWER_LED, pdFALSE ); +} +/*-----------------------------------------------------------*/ + +void vPostSleepProcessing( unsigned long ulExpectedIdleTime ) +{ + /* Called by the kernel when the MCU exits a sleep mode because + configPOST_SLEEP_PROCESSING is #defined to vPostSleepProcessing(). */ + + /* Avoid compiler warnings about the unused parameter. */ + ( void ) ulExpectedIdleTime; + + /* Turn off the LED that indicates deep sleep mode, and turn on the LED + that indicates full power is being used. */ + vParTestSetLED( mainDEEP_SLEEP_LED, pdFALSE ); + vParTestSetLED( mainFULL_POWER_LED, pdTRUE ); +} +/*-----------------------------------------------------------*/ + +static unsigned short prvReadPOT( void ) +{ +unsigned short usADCValue; +const unsigned short usMinADCValue = 128; + + /* Start an ADC scan. */ + S12AD.ADCSR.BIT.ADST = 1; + while( S12AD.ADCSR.BIT.ADST == 1 ) + { + /* Just waiting for the ADC scan to complete. Inefficient + polling! */ + } + + usADCValue = S12AD.ADDR4; + + /* Don't let the ADC value get too small as the LED behaviour will look + erratic. */ + if( usADCValue < usMinADCValue ) + { + usADCValue = usMinADCValue; + } + + return usADCValue; +} +/*-----------------------------------------------------------*/ + +#pragma vector = VECT_ICU_IRQ0, VECT_ICU_IRQ1, VECT_ICU_IRQ4 +__interrupt void vButtonInterrupt1( void ) +{ +long lHigherPriorityTaskWoken = pdFALSE; + + /* The semaphore is only created when the build is configured to create the + low power demo. */ + if( xSemaphore != NULL ) + { + /* This interrupt will bring the CPU out of deep sleep and software + standby modes. Give the semaphore that was used to place the Tx task + into an indefinite sleep. */ + if( uxQueueMessagesWaitingFromISR( xSemaphore ) == 0 ) + { + xSemaphoreGiveFromISR( xSemaphore, &lHigherPriorityTaskWoken ); + } + else + { + /* The semaphore was already available, so the task is not blocked + on it and there is no point giving it. */ + } + + /* If giving the semaphore caused a task to leave the Blocked state, + and the task that left the Blocked state has a priority equal to or + above the priority of the task that this interrupt interrupted, then + lHigherPriorityTaskWoken will have been set to pdTRUE inside the call + to xSemaphoreGiveFromISR(), and calling portYIELD_FROM_ISR() will cause + a context switch to the unblocked task. */ + portYIELD_FROM_ISR( lHigherPriorityTaskWoken ); + } +} + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/reg_test.s b/FreeRTOS/Demo/RX100-RSK_IAR/reg_test.s new file mode 100644 index 000000000..f467be45b --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/reg_test.s @@ -0,0 +1,274 @@ +/* + FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS 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 AND MODIFIED BY the FreeRTOS exception. + + >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. + + FreeRTOS 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 + and the FreeRTOS license exception along with FreeRTOS; if not itcan be + viewed here: http://www.freertos.org/a00114.html and also obtained by + writing to Real Time Engineers Ltd., contact details for whom are available + on the FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, and our new + fully thread aware and reentrant UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems, who sell the code with commercial support, + indemnification and middleware, under the OpenRTOS brand. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. +*/ + + PUBLIC _vRegTest1Implementation + PUBLIC _vRegTest2Implementation + + EXTERN _ulRegTest1CycleCount + EXTERN _ulRegTest2CycleCount + + RSEG CODE:CODE(4) + +_vRegTest1Implementation: + + /* Set each register to a known value. */ + MOV.L #0x33333333, R15 + MVTACHI R15 + MOV.L #0x44444444, R15 + MVTACLO R15 + MOV.L #1, R1 + MOV.L #2, R2 + MOV.L #3, R3 + MOV.L #4, R4 + MOV.L #5, R5 + MOV.L #6, R6 + MOV.L #7, R7 + MOV.L #8, R8 + MOV.L #9, R9 + MOV.L #10, R10 + MOV.L #11, R11 + MOV.L #12, R12 + MOV.L #13, R13 + MOV.L #14, R14 + MOV.L #15, R15 + + /* Loop, checking each iteration that each register still contains the + expected value. */ + TestLoop1: + + /* Push the registers that are going to get clobbered. */ + PUSHM R14-R15 + + /* Increment the loop counter to show this task is still getting CPU + time. */ + MOV.L #_ulRegTest1CycleCount, R14 + MOV.L [ R14 ], R15 + ADD #1, R15 + MOV.L R15, [ R14 ] + + /* Yield to extend the text coverage. Set the bit in the ITU SWINTR + register. */ + MOV.L #1, R14 + MOV.L #0872E0H, R15 + MOV.B R14, [R15] + NOP + NOP + + /* Check the accumulator value. */ + MVFACHI R15 + CMP #0x33333333, R15 + BNE RegTest2Error + MVFACMI R15 + CMP #0x33334444, R15 + BNE RegTest2Error + + /* Restore the clobbered registers. */ + POPM R14-R15 + + /* Now compare each register to ensure it still contains the value that + was set before this loop was entered. */ + CMP #1, R1 + BNE RegTest1Error + CMP #2, R2 + BNE RegTest1Error + CMP #3, R3 + BNE RegTest1Error + CMP #4, R4 + BNE RegTest1Error + CMP #5, R5 + BNE RegTest1Error + CMP #6, R6 + BNE RegTest1Error + CMP #7, R7 + BNE RegTest1Error + CMP #8, R8 + BNE RegTest1Error + CMP #9, R9 + BNE RegTest1Error + CMP #10, R10 + BNE RegTest1Error + CMP #11, R11 + BNE RegTest1Error + CMP #12, R12 + BNE RegTest1Error + CMP #13, R13 + BNE RegTest1Error + CMP #14, R14 + BNE RegTest1Error + CMP #15, R15 + BNE RegTest1Error + + /* All comparisons passed, start a new iteration of this loop. */ + BRA TestLoop1 + + /* A compare failed, just loop here so the loop counter stops + incrementing causing the check timer to indicate the error. */ + RegTest1Error: + BRA RegTest1Error + +/*-----------------------------------------------------------*/ + +_vRegTest2Implementation: + + /* Set each register to a known value. */ + MOV.L #0x11111111, R15 + MVTACHI R15 + MOV.L #0x22222222, R15 + MVTACLO R15 + MOV.L #100, R1 + MOV.L #200, R2 + MOV.L #300, R3 + MOV.L #400, R4 + MOV.L #500, R5 + MOV.L #600, R6 + MOV.L #700, R7 + MOV.L #800, R8 + MOV.L #900, R9 + MOV.L #1000, R10 + MOV.L #1001, R11 + MOV.L #1002, R12 + MOV.L #1003, R13 + MOV.L #1004, R14 + MOV.L #1005, R15 + + /* Loop, checking each iteration that each register still contains the + expected value. */ + TestLoop2: + + /* Push the registers that are going to get clobbered. */ + PUSHM R14-R15 + + /* Increment the loop counter to show this task is still getting CPU + time. */ + MOV.L #_ulRegTest2CycleCount, R14 + MOV.L [ R14 ], R15 + ADD #1, R15 + MOV.L R15, [ R14 ] + + /* Check the accumulator value. */ + MVFACHI R15 + CMP #0x11111111, R15 + BNE RegTest2Error + MVFACMI R15 + CMP #0x11112222, R15 + BNE RegTest2Error + + /* Restore the clobbered registers. */ + POPM R14-R15 + + /* Now compare each register to ensure it still contains the value that + was set before this loop was entered. */ + CMP #100, R1 + BNE RegTest2Error + CMP #200, R2 + BNE RegTest2Error + CMP #300, R3 + BNE RegTest2Error + CMP #400, R4 + BNE RegTest2Error + CMP #500, R5 + BNE RegTest2Error + CMP #600, R6 + BNE RegTest2Error + CMP #700, R7 + BNE RegTest2Error + CMP #800, R8 + BNE RegTest2Error + CMP #900, R9 + BNE RegTest2Error + CMP #1000, R10 + BNE RegTest2Error + CMP #1001, R11 + BNE RegTest2Error + CMP #1002, R12 + BNE RegTest2Error + CMP #1003, R13 + BNE RegTest2Error + CMP #1004, R14 + BNE RegTest2Error + CMP #1005, R15 + BNE RegTest2Error + + /* All comparisons passed, start a new iteration of this loop. */ + BRA TestLoop2 + + /* A compare failed, just loop here so the loop counter stops + incrementing causing the check timer to indicate the error. */ + RegTest2Error: + BRA RegTest2Error + +/*-----------------------------------------------------------*/ + + END + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/settings/RTOSDemo_IAR.cspy.bat b/FreeRTOS/Demo/RX100-RSK_IAR/settings/RTOSDemo_IAR.cspy.bat new file mode 100644 index 000000000..5197919fe --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/settings/RTOSDemo_IAR.cspy.bat @@ -0,0 +1,24 @@ +@REM This batch file has been generated by the IAR Embedded Workbench +@REM C-SPY Debugger, as an aid to preparing a command line for running +@REM the cspybat command line utility using the appropriate settings. +@REM +@REM Note that this file is generated every time a new debug session +@REM is initialized, so you may want to move or rename the file before +@REM making changes. +@REM +@REM You can launch cspybat by typing the name of this batch file followed +@REM by the name of the debug file (usually an ELF/DWARF or UBROF file). +@REM +@REM Read about available command line parameters in the C-SPY Debugging +@REM Guide. Hints about additional command line parameters that may be +@REM useful in specific cases: +@REM --download_only Downloads a code image without starting a debug +@REM session afterwards. +@REM --silent Omits the sign-on message. +@REM --timeout Limits the maximum allowed execution time. +@REM + + +"C:\devtools\IAR Systems\Embedded Workbench 6.5\common\bin\cspybat" "C:\devtools\IAR Systems\Embedded Workbench 6.5\rx\bin\rxproc.dll" "C:\devtools\IAR Systems\Embedded Workbench 6.5\rx\bin\rxemue20.dll" %1 --plugin "C:\devtools\IAR Systems\Embedded Workbench 6.5\rx\bin\rxbat.dll" --backend -B "-p" "C:\devtools\IAR Systems\Embedded Workbench 6.5\rx\config\debugger\ior5f51115.ddf" "--endian" "l" "--double" "32" "--core" "RX100" "--int" "32" "-d" "emue20" "--drv_mode" "debugging" "--drv_communication" "USB" + + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/settings/RTOSDemo_IAR.dbgdt b/FreeRTOS/Demo/RX100-RSK_IAR/settings/RTOSDemo_IAR.dbgdt new file mode 100644 index 000000000..4ae27b523 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/settings/RTOSDemo_IAR.dbgdt @@ -0,0 +1,92 @@ + + + + + + + + + 201622 + + 20 + 1216 + 324 + 81 + + + + + + + + 231272727 + + + + + + Disassembly_I0 + + + + 59920 + + + + + + + 200 + + + 11 + 200200lErrorStatuslChangedTimerPeriodAlreadyExpressionLocationTypeValue20015010062 + + + + + + + TabID-27185-11031 + Debug Log + Debug-Log + + + + TabID-26662-11041 + Build + Build + + + + + 0 + + + TabID-5165-11034 + Workspace + Workspace + + + RTOSDemo_IARRTOSDemo_IAR/FreeRTOS SourceRTOSDemo_IAR/FreeRTOS Source/portableRTOSDemo_IAR/FreeRTOS Source/portable/IARRTOSDemo_IAR/FreeRTOS Source/portable/IAR/RX100 + + + + 0 + + + + + + TextEditor$WS_DIR$\main.c00000104601460140TextEditor$WS_DIR$\FreeRTOSConfig.h0000072523752370100000010000001 + + + + + + + iaridepm.enu1debuggergui.enu1-2-2716305-2-2200200119048203666182738731161-2-21981682-2-216842001002381203666119048203666 + + + + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/settings/RTOSDemo_IAR.dni b/FreeRTOS/Demo/RX100-RSK_IAR/settings/RTOSDemo_IAR.dni new file mode 100644 index 000000000..2d503d3b9 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/settings/RTOSDemo_IAR.dni @@ -0,0 +1,104 @@ +[Stack] +FillEnabled=0 +OverflowWarningsEnabled=1 +WarningThreshold=90 +SpWarningsEnabled=1 +WarnLogOnly=1 +UseTrigger=1 +TriggerName=main +LimitSize=0 +ByteLimit=50 +[DebugChecksum] +Checksum=222757635 +[CallStack] +ShowArgs=0 +[Disassembly] +MixedMode=1 +[InterruptLog] +LogEnabled=0 +SumEnabled=0 +GraphEnabled=0 +ShowTimeLog=1 +ShowTimeSum=1 +SumSortOrder=0 +[DataLog] +LogEnabled=0 +SumEnabled=0 +GraphEnabled=0 +ShowTimeLog=1 +ShowTimeSum=1 +[Breakpoints2] +Count=0 +[Interrupts] +Enabled=1 +[MemoryMap] +Enabled=0 +Base=0 +UseAuto=0 +TypeViolation=1 +UnspecRange=1 +ActionState=1 +[E1/E20 Emulator] +BlockBits=15 +B0=1,0 +B1=1,1024 +B2=1,2048 +B3=1,3072 +StartEnabled=0 +StartSymbol= +StopEnabled=0 +StopSymbol= +TraceMode=0 +TraceOutput=2 +TraceCapacity=0 +TraceRestart=0 +OperatingFrequency=22.000000 +PerfEnabled=0 +PerfCondition=0,0 +PerfDisplayTime=0,0 +PerfOnlyOnce=0,0 +PerfUse64Bit=0 +ChipName=R5F51115 +PinMode=0 +RegMode=0 +Endian=0 +ExtMemBlockNum=0 +InputClock=22.000000 +AllowClkSrcChange=0 +WorkRamStart=4096 +ComunicationSelect=1 +JtagClock=0 +FINE=2000000 +FlashOvrNum=0 +DebugFlags=0,0 +EmulatorMode=0 +PowerTargetFromEmulator=0 +Voltage=0 +NeedInit=0 +[Log file] +LoggingEnabled=_ 0 +LogFile=_ "" +Category=_ 0 +[TermIOLog] +LoggingEnabled=_ 0 +LogFile=_ "" +[CallStackLog] +Enabled=0 +[DriverProfiling] +Enabled=0 +Mode=1 +Graph=0 +Symbiont=0 +Exclusions= +[Breakpoints] +Bp0=_ "STD_CODE" "{$PROJ_DIR$\Renesas_Files\r_bsp\board\user\hardware_setup.c}.60.2" 0 0 0 0 "" 0 "" +Count=1 +[Monitor Execution] +Leave target running=0 +Release target=0 +[Aliases] +Count=0 +SuppressDialog=0 +[Trace1] +Enabled=0 +ShowSource=1 diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/settings/RTOSDemo_IAR.wsdt b/FreeRTOS/Demo/RX100-RSK_IAR/settings/RTOSDemo_IAR.wsdt new file mode 100644 index 000000000..d06af2ea2 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/settings/RTOSDemo_IAR.wsdt @@ -0,0 +1,49 @@ + + + + + + RTOSDemo_IAR/Debug + + + + + + + + + 199272727 + + 201216324815808299469582994 + + + + + + TabID-3933-19799 + Workspace + Workspace + + + RTOSDemo_IARRTOSDemo_IAR/Renesas Files + + + + 0TabID-4909-11467BuildBuildTabID-18506-4030Ambiguous DefinitionsSelect-Ambiguous-DefinitionsTabID-16773-20028Find in FilesFind-in-Files0 + + + + + + TextEditor$WS_DIR$\main.c00000746014601400100000010000001 + + + + + + + iaridepm.enu1-2-2648273-2-2200200119048203666163690661914-2-22901682-2-216842921002381297352119048203666 + + + + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.HardwareDebuglinker b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.HardwareDebuglinker new file mode 100644 index 000000000..2a9748a21 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.HardwareDebuglinker @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.Releaselinker b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.Releaselinker new file mode 100644 index 000000000..2a9748a21 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.Releaselinker @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.cproject b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.cproject new file mode 100644 index 000000000..afcd0cbf6 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.cproject @@ -0,0 +1,236 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.info b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.info new file mode 100644 index 000000000..0b75c11fa --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.info @@ -0,0 +1,5 @@ +TOOL_CHAIN=Renesas RXC Toolchain +VERSION=v1.02.01 +TC_INSTALL=C:\Devtools\Renesas\Hew\Tools\Renesas\RX\1_2_1\ +VERSION_IDE=3.06.02.080 +E2STUDIO_VERSION=1.1.1.7 \ No newline at end of file diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.project b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.project new file mode 100644 index 000000000..33fd54604 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.project @@ -0,0 +1,83 @@ + + + RTOSDemo_Renesas + + + + + + com.renesas.cdt.core.genmakebuilder + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.autoBuildTarget + all + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/BSP111/HardwareDebug} + + + org.eclipse.cdt.make.core.cleanBuildTarget + clean + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.configurationIds + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.fullBuildTarget + all + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + com.renesas.cdt.core.kpitcnature + com.renesas.cdt.core.kpitccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.settings/Project_Generation_Prefrences.prefs b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.settings/Project_Generation_Prefrences.prefs new file mode 100644 index 000000000..73b6fd783 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.settings/Project_Generation_Prefrences.prefs @@ -0,0 +1,69 @@ +#Tue Nov 06 09:14:28 EST 2012 +com.renesas.cdt.renesas.Assembler.option.userDefine=-nologo;;; +com.renesas.cdt.renesas.Compiler.option.C=com.renesas.cdt.renesas.Compiler.option.C99 +com.renesas.cdt.renesas.Compiler.option.UserDef=-nologo;-change_message\=warning; +com.renesas.cdt.renesas.Compiler.option.incFileDirectories="C\:\\PROGRA~1\\Renesas\\Hew\\Tools\\Renesas\\RX\\1_2_0\\include"; +com.renesas.cdt.renesas.Linker.option.userDefined=-rom\=D\=R,D_1\=R_1,D_2\=R_2;-nomessage;-nologo; +com.renesas.cdt.renesas.StandardLibrary.option.complexC99=false +com.renesas.cdt.renesas.StandardLibrary.option.ctypec89=false +com.renesas.cdt.renesas.StandardLibrary.option.fenvC99=false +com.renesas.cdt.renesas.StandardLibrary.option.inttypesC99=false +com.renesas.cdt.renesas.StandardLibrary.option.libConfiguration=C99 +com.renesas.cdt.renesas.StandardLibrary.option.mathc89=false +com.renesas.cdt.renesas.StandardLibrary.option.mathfc89=false +com.renesas.cdt.renesas.StandardLibrary.option.runtime=true +com.renesas.cdt.renesas.StandardLibrary.option.rxccomplexCPP=false +com.renesas.cdt.renesas.StandardLibrary.option.rxciosCPP=false +com.renesas.cdt.renesas.StandardLibrary.option.rxcnewCPP=true +com.renesas.cdt.renesas.StandardLibrary.option.rxcstringCPP=false +com.renesas.cdt.renesas.StandardLibrary.option.stdargc89=false +com.renesas.cdt.renesas.StandardLibrary.option.stdioc89=true +com.renesas.cdt.renesas.StandardLibrary.option.stdlibc89=true +com.renesas.cdt.renesas.StandardLibrary.option.stringc89=true +com.renesas.cdt.renesas.StandardLibrary.option.wcharC99=false +com.renesas.cdt.renesas.StandardLibrary.option.wctypeC99=false +com.renesas.cdt.rxc.HardwareDebug.Assembler.option.endian=Little-endian data +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.RAM=None +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.ROM=None +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.address=00000000 +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.addressRegister=None +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.allocLowerBit=Lower bit +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.cpuType=RX100 +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.denormalized=false +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.endian=Little-endian data +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.enumSize=false +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.packStructures=false +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.patchCode=None +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.precisionDouble=Single precision +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.registerFastInterrupt=None +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.replaceFromIntWithShort=false +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.roundTo=Nearest +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.signBitField=unsigned +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.signChar=unsigned +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.useDynamic=false +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.useTry=false +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.widthDivergence=24 bit +com.renesas.cdt.rxc.HardwareDebug.StandardLibrary.option.endian=Little-endian data +com.renesas.cdt.rxc.Release.Assembler.option.endian=Little-endian data +com.renesas.cdt.rxc.Release.Compiler.option.RAM=None +com.renesas.cdt.rxc.Release.Compiler.option.ROM=None +com.renesas.cdt.rxc.Release.Compiler.option.address=00000000 +com.renesas.cdt.rxc.Release.Compiler.option.addressRegister=None +com.renesas.cdt.rxc.Release.Compiler.option.allocLowerBit=Lower bit +com.renesas.cdt.rxc.Release.Compiler.option.cpuType=RX100 +com.renesas.cdt.rxc.Release.Compiler.option.denormalized=false +com.renesas.cdt.rxc.Release.Compiler.option.endian=Little-endian data +com.renesas.cdt.rxc.Release.Compiler.option.enumSize=false +com.renesas.cdt.rxc.Release.Compiler.option.packStructures=false +com.renesas.cdt.rxc.Release.Compiler.option.patchCode=None +com.renesas.cdt.rxc.Release.Compiler.option.precisionDouble=Single precision +com.renesas.cdt.rxc.Release.Compiler.option.registerFastInterrupt=None +com.renesas.cdt.rxc.Release.Compiler.option.replaceFromIntWithShort=false +com.renesas.cdt.rxc.Release.Compiler.option.roundTo=Nearest +com.renesas.cdt.rxc.Release.Compiler.option.signBitField=unsigned +com.renesas.cdt.rxc.Release.Compiler.option.signChar=unsigned +com.renesas.cdt.rxc.Release.Compiler.option.useDynamic=false +com.renesas.cdt.rxc.Release.Compiler.option.useTry=false +com.renesas.cdt.rxc.Release.Compiler.option.widthDivergence=24 bit +com.renesas.cdt.rxc.Release.StandardLibrary.option.endian=Little-endian data +eclipse.preferences.version=1 diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.settings/org.eclipse.cdt.managedbuilder.core.prefs new file mode 100644 index 000000000..d3ebcda34 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/.settings/org.eclipse.cdt.managedbuilder.core.prefs @@ -0,0 +1,12 @@ +#Fri Nov 09 15:36:42 EST 2012 +eclipse.preferences.version=1 +environment/buildEnvironmentInclude/com.renesas.cdt.rxc.hardwaredebug.win32.configuration.Id.287456189/CPATH/delimiter=; +environment/buildEnvironmentInclude/com.renesas.cdt.rxc.hardwaredebug.win32.configuration.Id.287456189/CPATH/operation=remove +environment/buildEnvironmentInclude/com.renesas.cdt.rxc.hardwaredebug.win32.configuration.Id.287456189/C_INCLUDE_PATH/delimiter=; +environment/buildEnvironmentInclude/com.renesas.cdt.rxc.hardwaredebug.win32.configuration.Id.287456189/C_INCLUDE_PATH/operation=remove +environment/buildEnvironmentInclude/com.renesas.cdt.rxc.hardwaredebug.win32.configuration.Id.287456189/append=true +environment/buildEnvironmentInclude/com.renesas.cdt.rxc.hardwaredebug.win32.configuration.Id.287456189/appendContributed=true +environment/buildEnvironmentLibrary/com.renesas.cdt.rxc.hardwaredebug.win32.configuration.Id.287456189/LIBRARY_PATH/delimiter=; +environment/buildEnvironmentLibrary/com.renesas.cdt.rxc.hardwaredebug.win32.configuration.Id.287456189/LIBRARY_PATH/operation=remove +environment/buildEnvironmentLibrary/com.renesas.cdt.rxc.hardwaredebug.win32.configuration.Id.287456189/append=true +environment/buildEnvironmentLibrary/com.renesas.cdt.rxc.hardwaredebug.win32.configuration.Id.287456189/appendContributed=true diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/BSP111.launch b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/BSP111.launch new file mode 100644 index 000000000..03ec6f933 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/BSP111.launch @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/CreateProjectDirectoryStructure.bat b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/CreateProjectDirectoryStructure.bat new file mode 100644 index 000000000..b2261eafb --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/CreateProjectDirectoryStructure.bat @@ -0,0 +1,52 @@ +REM This file should be executed from the command line prior to the first +REM build. It will be necessary to refresh the Eclipse project once the +REM .bat file has been executed (normally just press F5 to refresh). + +REM Copies all the required files from their location within the standard +REM FreeRTOS directory structure to under the Eclipse project directory. +REM This permits the Eclipse project to be used in 'managed' mode and without +REM having to setup any linked resources. + +REM Standard paths +SET FREERTOS_SOURCE=..\..\Source +SET COMMON_SOURCE=..\Common\minimal +SET COMMON_INCLUDE=..\Common\include + +REM Have the files already been copied? +IF EXIST RTOSDemo\FreeRTOS_Source Goto END + + REM Create the required directory structure. + MD RTOSDemo\FreeRTOS_Source + MD RTOSDemo\FreeRTOS_Source\include + MD RTOSDemo\FreeRTOS_Source\portable + MD RTOSDemo\FreeRTOS_Source\portable\MemMang + MD RTOSDemo\FreeRTOS_Source\portable\Renesas + MD RTOSDemo\FreeRTOS_Source\portable\Renesas\RX100 + MD RTOSDemo\Common_Demo_Tasks + MD RTOSDemo\Common_Demo_Tasks\include + + REM Copy the core kernel files into the project directory + copy %FREERTOS_SOURCE%\tasks.c RTOSDemo\FreeRTOS_Source + copy %FREERTOS_SOURCE%\queue.c RTOSDemo\FreeRTOS_Source + copy %FREERTOS_SOURCE%\list.c RTOSDemo\FreeRTOS_Source + copy %FREERTOS_SOURCE%\timers.c RTOSDemo\FreeRTOS_Source + + REM Copy the common header files into the project directory + copy %FREERTOS_SOURCE%\include\*.* RTOSDemo\FreeRTOS_Source\include + + REM Copy the portable layer files into the project directory + copy %FREERTOS_SOURCE%\portable\Renesas\RX100\*.* RTOSDemo\FreeRTOS_Source\portable\Renesas\RX100 + + REM Copy the memory allocation files into the project directory + copy %FREERTOS_SOURCE%\portable\MemMang\heap_4.c RTOSDemo\FreeRTOS_Source\portable\MemMang + + REM Copy the files that define the common demo tasks. + copy %COMMON_SOURCE%\death.c RTOSDemo\Common_Demo_Tasks + copy %COMMON_SOURCE%\blocktim.c RTOSDemo\Common_Demo_Tasks + copy %COMMON_SOURCE%\GenQTest.c RTOSDemo\Common_Demo_Tasks + copy %COMMON_SOURCE%\recmutex.c RTOSDemo\Common_Demo_Tasks + + REM Copy the common demo file headers. + copy %COMMON_INCLUDE%\*.h RTOSDemo\Common_Demo_Tasks\include + +: END diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/FreeRTOSConfig.h b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/FreeRTOSConfig.h new file mode 100644 index 000000000..c29caee9c --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/FreeRTOSConfig.h @@ -0,0 +1,188 @@ +/* + FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS 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 AND MODIFIED BY the FreeRTOS exception. + + >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. + + FreeRTOS 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 + and the FreeRTOS license exception along with FreeRTOS; if not itcan be + viewed here: http://www.freertos.org/a00114.html and also obtained by + writing to Real Time Engineers Ltd., contact details for whom are available + on the FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, and our new + fully thread aware and reentrant UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems, who sell the code with commercial support, + indemnification and middleware, under the OpenRTOS brand. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. +*/ + + +/* + * The following #error directive is to remind users that a batch file must be + * executed prior to this project being built. The batch file *cannot* be + * executed from within the IDE! Once it has been executed, re-open or refresh + * the Eclipse project and remove the #error line below. + */ +//#error Ensure CreateProjectDirectoryStructure.bat has been executed before building. See comment immediately above. + + +#ifndef FREERTOS_CONFIG_H +#define FREERTOS_CONFIG_H + +/* Hardware specifics. */ +#include "platform.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. + *----------------------------------------------------------*/ + +/* DEMO SPECIFIC SETTING: + * Set configCREATE_LOW_POWER_DEMO to one to run the low power demo with tick + * suppression, or 0 to run the more comprehensive test and demo application. + * If configCREATE_LOW_POWER_DEMO is set to 1 then main() calls main_low_power(). + * If configCREATE_LOW_POWER_DEMO is set to 0 then main() calls main_full(). + */ +#define configCREATE_LOW_POWER_DEMO 1 + + +#define configUSE_PREEMPTION 1 +#define configUSE_TICKLESS_IDLE configCREATE_LOW_POWER_DEMO +#define configUSE_IDLE_HOOK 0 +#define configUSE_TICK_HOOK 0 +#define configCPU_CLOCK_HZ ( ICLK_HZ ) /* Set in mcu_info.h. */ +#define configPERIPHERAL_CLOCK_HZ ( PCLKB_HZ ) /* Set in muc_info.h. */ +#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) +#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 100 ) +#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 9 * 1024 ) ) +#define configMAX_TASK_NAME_LEN ( 12 ) +#define configUSE_TRACE_FACILITY 1 +#define configUSE_16_BIT_TICKS 0 +#define configIDLE_SHOULD_YIELD 1 +#define configUSE_CO_ROUTINES 0 +#define configUSE_MUTEXES 1 +#define configGENERATE_RUN_TIME_STATS 0 +#define configCHECK_FOR_STACK_OVERFLOW 2 +#define configUSE_RECURSIVE_MUTEXES 1 +#define configQUEUE_REGISTRY_SIZE 0 +#define configUSE_MALLOC_FAILED_HOOK 0 +#define configUSE_APPLICATION_TASK_TAG 0 + +#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 7 ) +#define configMAX_CO_ROUTINE_PRIORITIES ( 2 ) + +/* Software timer definitions - only included when the demo is configured to +build the full demo (as opposed to the low power demo). */ +#if configCREATE_LOW_POWER_DEMO == 1 + #define configUSE_TIMERS 0 +#else + #define configUSE_TIMERS 1 + #define configTIMER_TASK_PRIORITY ( 3 ) + #define configTIMER_QUEUE_LENGTH 5 + #define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE ) +#endif /* configCREATE_LOW_POWER_DEMO */ + +/* The interrupt priority used by the kernel itself for the tick interrupt and +the pended interrupt. This would normally be the lowest priority. */ +#define configKERNEL_INTERRUPT_PRIORITY 1 + +/* The maximum interrupt priority from which FreeRTOS API calls can be made. +Interrupts that use a priority above this will not be effected by anything the +kernel is doing. */ +#define configMAX_SYSCALL_INTERRUPT_PRIORITY 4 + +/* 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 0 +#define INCLUDE_vTaskSuspend 1 +#define INCLUDE_vTaskDelayUntil 1 +#define INCLUDE_vTaskDelay 1 +#define INCLUDE_uxTaskGetStackHighWaterMark 1 +#define INCLUDE_xTaskGetSchedulerState 1 + +extern void vAssertCalled( void ); +#define configASSERT( x ) if( ( x ) == 0 ) vAssertCalled(); + +/* The configPRE_SLEEP_PROCESSING() and configPOST_SLEEP_PROCESSING() macros +allow the application writer to add additional code before and after the MCU is +placed into the low power state respectively. The implementations provided in +this demo can be extended to save even more power - for example the analog +input used by the low power demo could be switched off in the pre-sleep macro +and back on again in the post sleep macro. */ +void vPreSleepProcessing( unsigned long xExpectedIdleTime ); +void vPostSleepProcessing( unsigned long xExpectedIdleTime ); +#define configPRE_SLEEP_PROCESSING( xExpectedIdleTime ) vPreSleepProcessing( xExpectedIdleTime ); +#define configPOST_SLEEP_PROCESSING( xExpectedIdleTime ) vPostSleepProcessing( xExpectedIdleTime ); + +/* configTICK_VECTOR must be set to the interrupt vector used by the peripheral +that generates the tick interrupt. */ +#define configTICK_VECTOR VECT_CMT0_CMI0 + +#endif /* FREERTOS_CONFIG_H */ diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/ParTest.c b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/ParTest.c new file mode 100644 index 000000000..827da190d --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/ParTest.c @@ -0,0 +1,200 @@ +/* + FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS 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 AND MODIFIED BY the FreeRTOS exception. + + >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. + + FreeRTOS 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 + and the FreeRTOS license exception along with FreeRTOS; if not itcan be + viewed here: http://www.freertos.org/a00114.html and also obtained by + writing to Real Time Engineers Ltd., contact details for whom are available + on the FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, and our new + fully thread aware and reentrant UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems, who sell the code with commercial support, + indemnification and middleware, under the OpenRTOS brand. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. +*/ + +/*----------------------------------------------------------- + * Simple IO routines to control the LEDs. + *-----------------------------------------------------------*/ + +/* Scheduler includes. */ +#include "FreeRTOS.h" +#include "task.h" + +/* Demo includes. */ +#include "partest.h" + +#define partestNUM_LEDS ( 4 ) + +long lParTestGetLEDState( unsigned long ulLED ); + +/*-----------------------------------------------------------*/ + +void vParTestInitialise( void ) +{ + /* Port pin configuration is done by the low level set up prior to this + function being called. */ +} +/*-----------------------------------------------------------*/ + +void vParTestSetLED( unsigned long ulLED, signed long xValue ) +{ + if( ulLED < partestNUM_LEDS ) + { + if( xValue != 0 ) + { + /* Turn the LED on. */ + taskENTER_CRITICAL(); + { + switch( ulLED ) + { + case 0: LED0 = LED_ON; + break; + case 1: LED1 = LED_ON; + break; + case 2: LED2 = LED_ON; + break; + case 3: LED3 = LED_ON; + break; + } + } + taskEXIT_CRITICAL(); + } + else + { + /* Turn the LED off. */ + taskENTER_CRITICAL(); + { + switch( ulLED ) + { + case 0: LED0 = LED_OFF; + break; + case 1: LED1 = LED_OFF; + break; + case 2: LED2 = LED_OFF; + break; + case 3: LED3 = LED_OFF; + break; + } + + } + taskEXIT_CRITICAL(); + } + } +} +/*-----------------------------------------------------------*/ + +void vParTestToggleLED( unsigned long ulLED ) +{ + if( ulLED < partestNUM_LEDS ) + { + taskENTER_CRITICAL(); + { + if( lParTestGetLEDState( ulLED ) != 0x00 ) + { + vParTestSetLED( ulLED, 0 ); + } + else + { + vParTestSetLED( ulLED, 1 ); + } + } + taskEXIT_CRITICAL(); + } +} +/*-----------------------------------------------------------*/ + +long lParTestGetLEDState( unsigned long ulLED ) +{ +long lReturn = pdTRUE; + + if( ulLED < partestNUM_LEDS ) + { + switch( ulLED ) + { + case 0 : if( LED0 != 0 ) + { + lReturn = pdFALSE; + } + break; + case 1 : if( LED1 != 0 ) + { + lReturn = pdFALSE; + } + break; + case 2 : if( LED2 != 0 ) + { + lReturn = pdFALSE; + } + break; + case 3 : if( LED3 != 0 ) + { + lReturn = pdFALSE; + } + break; + } + } + + return lReturn; +} +/*-----------------------------------------------------------*/ + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/dbsct.c b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/dbsct.c new file mode 100644 index 000000000..b92493a47 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/dbsct.c @@ -0,0 +1,83 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : dbsct.c +* Device(s) : RX +* Description : Defines the structure of the ROM and RAM areas. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 26.10.2011 1.00 First Release +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Defines type structures used in this file */ +#include + +/* Preprocessor directive */ +#pragma unpack + +/* Section start */ +#pragma section C C$DSEC + +/* MCU ROM and RAM structure definition */ +extern const struct { + uint8_t *rom_s; /* Start address of the initialized data section in ROM */ + uint8_t *rom_e; /* End address of the initialized data section in ROM */ + uint8_t *ram_s; /* Start address of the initialized data section in RAM */ +} _DTBL[] = { + { __sectop("D"), __secend("D"), __sectop("R") }, + { __sectop("D_2"), __secend("D_2"), __sectop("R_2") }, + { __sectop("D_1"), __secend("D_1"), __sectop("R_1") } +}; + +/* Section start */ +#pragma section C C$BSEC + +/* MCU ROM and RAM structure definition */ +extern const struct { + uint8_t *b_s; /* Start address of non-initialized data section */ + uint8_t *b_e; /* End address of non-initialized data section */ +} _BTBL[] = { + { __sectop("B"), __secend("B") }, + { __sectop("B_2"), __secend("B_2") }, + { __sectop("B_1"), __secend("B_1") } +}; + +/* Section start */ +#pragma section + +/* CTBL prevents excessive output of L1100 messages when linking. + Even if CTBL is deleted, the operation of the program does not change. */ +uint8_t * const _CTBL[] = { + __sectop("C_1"), __sectop("C_2"), __sectop("C"), + __sectop("W_1"), __sectop("W_2"), __sectop("W") +}; + +/* Preprocessor directive */ +#pragma packoption + +/* This is to ensure compatibility with new L section in version 1.1 and up of the RXC compiler. Do not remove! */ +#pragma section C L +const unsigned long deadSpace = 0xDEADDEAD; +#pragma section + + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/hwsetup.c b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/hwsetup.c new file mode 100644 index 000000000..3ba6ce53c --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/hwsetup.c @@ -0,0 +1,149 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : hwsetup.c +* Device(s) : RX +* H/W Platform : RSKRX210 +* Description : Defines the initialization routines used each time the MCU is restarted. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* I/O Register and board definitions */ +#include "platform.h" +/* Contains delcarations for the functions defined in this file */ +#include "hwsetup.h" +#include "r_switches_config.h" +/*********************************************************************************************************************** +Private global variables and functions +***********************************************************************************************************************/ +/* MCU I/O port configuration function delcaration */ +static void output_ports_configure(void); + +/* Interrupt configuration function delcaration */ +static void interrupts_configure(void); + +/* MCU peripheral module configuration function declaration */ +static void peripheral_modules_enable(void); + + +/*********************************************************************************************************************** +* Function name: hardware_setup +* Description : Contains setup functions called at device restart +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void hardware_setup(void) +{ + output_ports_configure(); + interrupts_configure(); + peripheral_modules_enable(); +} + +/*********************************************************************************************************************** +* Function name: output_ports_configure +* Description : Configures the port and pin direction settings, and sets the pin outputs to a safe level. +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void output_ports_configure(void) +{ + /* Enable LEDs. */ + /* Start with LEDs off. */ + LED0 = LED_OFF; + LED1 = LED_OFF; + LED2 = LED_OFF; + LED3 = LED_OFF; + + /* Set LED pins as outputs. */ + LED0_PDR = 1; + LED1_PDR = 1; + LED2_PDR = 1; + LED3_PDR = 1; + + /* Enable switches. */ + /* Set pins as inputs. */ + SW1_PDR = 0; + SW2_PDR = 0; + SW3_PDR = 0; + + /* Set port mode registers for switches. */ + SW1_PMR = 0; + SW2_PMR = 0; + SW3_PMR = 0; + + /* Unlock MPC registers to enable writing to them. */ + MPC.PWPR.BIT.B0WI = 0 ; /* Unlock protection register */ + MPC.PWPR.BIT.PFSWE = 1 ; /* Unlock MPC registers */ + + /* TXD1 is output. */ + PORT1.PDR.BIT.B6 = 1; + PORT1.PMR.BIT.B6 = 1; + MPC.P16PFS.BYTE = 0x0A; + /* RXD1 is input. */ + PORT1.PDR.BIT.B5 = 0; + PORT1.PMR.BIT.B5 = 1; + MPC.P15PFS.BYTE = 0x0A; + + /* Configure the pin connected to the ADC Pot as an input */ + PORT4.PDR.BIT.B4 = 0; + + /* Protect off. */ + SYSTEM.PRCR.WORD = 0xA50B; + + /* Turn off module stop for the A2D converter. */ + SYSTEM.MSTPCRA.BIT.MSTPA17 = 0; + + /* Protect on. */ + SYSTEM.PRCR.WORD = 0xA500; + + /* Initialise the first button to generate an interrupt. */ + R_SWITCHES_Init(); +} + +/*********************************************************************************************************************** +* Function name: interrupts_configure +* Description : Configures interrupts used +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void interrupts_configure(void) +{ + /* Add code here to setup additional interrupts */ +} + +/*********************************************************************************************************************** +* Function name: peripheral_modules_enable +* Description : Enables and configures peripheral devices on the MCU +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void peripheral_modules_enable(void) +{ + /* Enable triggers to start an ADC conversion. */ + S12AD.ADCSR.BIT.TRGE = 1; + + /* Only channel 4 is going to be used. */ + S12AD.ADANSA.BIT.ANSA4 = 1; +} diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/hwsetup.h b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/hwsetup.h new file mode 100644 index 000000000..35e068633 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/hwsetup.h @@ -0,0 +1,42 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : hwsetup.h +* Description : Hardware setup header file. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 26.10.2011 1.00 First Release +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +/* Multiple inclusion prevention macro */ +#ifndef HWSETUP_H +#define HWSETUP_H + +/*********************************************************************************************************************** +Exported global functions (to be accessed by other files) +***********************************************************************************************************************/ +/* Hardware setup funtion declaration */ +void hardware_setup(void); + +/* End of multiple inclusion prevention macro */ +#endif \ No newline at end of file diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lcd.c b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lcd.c new file mode 100644 index 000000000..a01280257 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lcd.c @@ -0,0 +1,254 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : lcd.c +* Device(s) : RX +* H/W Platform : RSKRX111 +* Description : Provides variable and function declarations for lcd.c file +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Processor-specific details */ +#include +/* Standard string manipulation & formatting functions */ +#include +#include +/* Defines standard variable types used in this function */ +#include +/* Bring in board includes. */ +#include "platform.h" +/* Following header file provides function prototypes for LCD controlling functions & macro defines */ +#include "lcd.h" + +/*********************************************************************************************************************** +Private global variables and functions +***********************************************************************************************************************/ +static void lcd_delay(volatile int32_t nsecs); +static void lcd_nibble_write(uint8_t data_or_ctrl, uint8_t value); +static void lcd_write(uint8_t data_or_ctrl, uint8_t value); + +/*********************************************************************************************************************** +* Function name : lcd_initialize +* Description : Initializes the LCD display. +* Arguments : none +* Return Value : none +***********************************************************************************************************************/ +void lcd_initialize(void) +{ + /* Set LCD data pins as outputs. */ + PORT4.PDR.BYTE |= 0x0F; + + /* Set LCD control pins as outputs. */ + RS_PIN_DDR = 1; + E_PIN_DDR = 1; + + /* Power Up Delay for the LCD Module */ + lcd_delay(50000000); + + /* Display initialises in 8 bit mode - so send one write (seen as 8 bit) to set to 4 bit mode. */ + lcd_nibble_write(CTRL_WR, 0x03); + lcd_delay(5000000); + lcd_nibble_write(CTRL_WR, 0x03); + lcd_delay(5000000); + lcd_nibble_write(CTRL_WR, 0x03); + lcd_delay(5000000); + + /* Function Set */ + lcd_nibble_write(CTRL_WR, 0x02); + lcd_delay(39000); + lcd_nibble_write(CTRL_WR, 0x02); + lcd_nibble_write(CTRL_WR, (LCD_DISPLAY_ON | LCD_TWO_LINE )); + lcd_delay(39000); + + /* Display ON/OFF control */ + lcd_write(CTRL_WR, LCD_CURSOR_OFF); + lcd_delay(39000); + + /* Display Clear */ + lcd_write(CTRL_WR, LCD_CLEAR); + lcd_delay(2000000); + + /* Entry Mode Set */ + lcd_write(CTRL_WR, 0x06); + lcd_delay(39000); + + /* Home the cursor */ + lcd_write(CTRL_WR, LCD_HOME_L1); + lcd_delay(5000000); +} + +/*********************************************************************************************************************** +* Function name : lcd_clear +* Description : Clears the LCD +* Arguments : none +* Return Value : none +***********************************************************************************************************************/ +void lcd_clear(void) +{ + /* Display Clear */ + lcd_write(CTRL_WR, LCD_CLEAR); + lcd_delay(2000000); +} + +/*********************************************************************************************************************** +* Function name : lcd_display +* Description : This function controls LCD writes to line 1 or 2 of the LCD. +* You need to use the defines LCD_LINE1 and LCD_LINE2 in order to specify the starting position. +* For example, to start at the 2nd position on line 1... +* lcd_display(LCD_LINE1 + 1, "Hello") +* Arguments : position - +* Line number of display +* string - +* Pointer to null terminated string +* Return Value : none +***********************************************************************************************************************/ +void lcd_display(uint8_t position, uint8_t const * string) +{ + /* Declare next position variable */ + static uint8_t next_pos = 0xFF; + + /* Set line position if needed. We don't want to if we don't need to because LCD control operations take longer + than LCD data operations. */ + if (next_pos != position) + { + if(position < LCD_LINE2) + { + /* Display on Line 1 */ + lcd_write(CTRL_WR, ((uint8_t)(LCD_HOME_L1 + position))); + } + else + { + /* Display on Line 2 */ + lcd_write(CTRL_WR, ((uint8_t)((LCD_HOME_L2 + position) - LCD_LINE2))); + } + + lcd_delay(39000); + + /* set position index to known value */ + next_pos = position; + } + + do + { + /* Write character to LCD. */ + lcd_write(DATA_WR,*string++); + + lcd_delay(43000); + + /* Increment position index */ + next_pos++; + } + while(*string); +} + +/*********************************************************************************************************************** +* Function name : lcd_delay +* Description : Implements LCD required delays. +* Arguments : nsecs - +* Number of nanoseconds to delay. RX111 has max clock of 32MHz which gives a cycle time of 31.3ns. +* This means that nothing under 313ns should be input. 313ns would be 10 cycles which is still +* being optimistic for getting in and out of this function. +* Return Value : none +***********************************************************************************************************************/ +static void lcd_delay(volatile int32_t nsecs) +{ + while (0 < nsecs) + { + /* Subtract off 10 cycles per iteration. This number was obtained when using the Renesas toolchain at + optimization level 2. The number to nanoseconds to subtract off below is calculated off of the ICLK speed. */ + nsecs -= (int32_t)((313.0)*(32000000.0/(float)ICLK_HZ)); + } +} + +/*********************************************************************************************************************** +* Function name : lcd_nibble_write +* Description : Writes data to display. Sends command to display. +* Arguments : value - +* The value to write +* data_or_ctrl - +* Whether to write data or control. +* 1 = DATA +* 0 = CONTROL +* Return Value : none +***********************************************************************************************************************/ +static void lcd_nibble_write(uint8_t data_or_ctrl, uint8_t value) +{ + /* Set Register Select pin high for Data */ + if (data_or_ctrl == DATA_WR) + { + /* Data write. */ + RS_PIN = 1; + } + else + { + /* Control write. */ + RS_PIN = 0; + } + + /* tsu1 delay */ + lcd_delay(60); + + /* EN enable chip (HIGH) */ + E_PIN = 1; + + /* Output the data */ + PORT4.PODR.BYTE = (value & 0x0F); + + /* tw delay */ + lcd_delay(450); + + /* Latch data by dropping E */ + E_PIN = 0; + + /* th2 delay */ + lcd_delay(10); + + /* tc delay */ + lcd_delay(480); +} + +/*********************************************************************************************************************** +* Function name : lcd_write +* Description : This function controls LCD writes to line 1 or 2 of the LCD. You need to use the defines LCD_LINE1 and +* LCD_LINE2 in order to specify the starting position. +* For example, to start at the 2nd position on line 1... +* lcd_display(LCD_LINE1 + 1, "Hello") +* Arguments : value - +* The value to write +* data_or_ctrl - +* Whether to write data or control. +* 1 = DATA +* 0 = CONTROL +* Return Value : none +***********************************************************************************************************************/ +static void lcd_write(uint8_t data_or_ctrl, uint8_t value) +{ + /* Write upper nibble first */ + lcd_nibble_write(data_or_ctrl, (uint8_t)((value & 0xF0) >> 4)); + + /* Write lower nibble second */ + lcd_nibble_write(data_or_ctrl, (uint8_t)(value & 0x0F)); +} + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lcd.h b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lcd.h new file mode 100644 index 000000000..0c7ee085f --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lcd.h @@ -0,0 +1,101 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : lcd.h +* Device(s) : RX +* H/W Platform : RSKRX111 +* Description : Provides variable and function declarations for lcd.c file +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +/* Multiple inclusion prevention macro */ +#ifndef LCD_H +#define LCD_H + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Defines standard integer variable types used in this file */ +#include + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +/* RS register select pin */ +#define RS_PIN PORTC.PODR.BIT.B5 +#define RS_PIN_DDR PORTC.PDR.BIT.B5 +/* Display enable pin */ +#define E_PIN PORTB.PODR.BIT.B1 +#define E_PIN_DDR PORTB.PDR.BIT.B1 +/* Data write/read definition */ +#define DATA_WR 1 +/* Control write/read definition */ +#define CTRL_WR 0 +/* Maximum characters per line of LCD display. */ +#define NUMB_CHARS_PER_LINE 8 +/* Number of lines on the LCD display */ +#define MAXIMUM_LINES 2 +/* Character position of LCD line 1 */ +#define LCD_LINE1 0 +/* Character position of LCD line 2 */ +#define LCD_LINE2 16 +/* Clear LCD display and home cursor */ +#define LCD_CLEAR 0x01 +/* Move cursor to line 1 */ +#define LCD_HOME_L1 0x80 +/* Move cursor to line 2 */ +#define LCD_HOME_L2 0xC0 +/* Cursor auto decrement after R/W */ +#define CURSOR_MODE_DEC 0x04 +/* Cursor auto increment after R/W */ +#define CURSOR_MODE_INC 0x06 +/* Setup, 4 bits,2 lines, 5X7 */ +#define FUNCTION_SET 0x28 +/* Display ON with Cursor */ +#define LCD_CURSOR_ON 0x0E +/* Display ON with Cursor off */ +#define LCD_CURSOR_OFF 0x0C +/* Display on with blinking cursor */ +#define LCD_CURSOR_BLINK 0x0D +/* Move Cursor Left One Position */ +#define LCD_CURSOR_LEFT 0x10 +/* Move Cursor Right One Position */ +#define LCD_CURSOR_RIGHT 0x14 +/* Enable LCD display */ +#define LCD_DISPLAY_ON 0x04 +/* Enable both LCD lines */ +#define LCD_TWO_LINE 0x08 + +/*********************************************************************************************************************** +Exported global functions (to be accessed by other files) +***********************************************************************************************************************/ +/* LCD initialisation function declaration */ +void lcd_initialize (void); + +/* Update display function declaration */ +void lcd_display(uint8_t position, uint8_t const * string); + +/* Clear LCD function delcaration */ +void lcd_clear (void); + +/* End of multiple inclusion prevention macro */ +#endif diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/locking.c b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/locking.c new file mode 100644 index 000000000..0e9e0fff4 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/locking.c @@ -0,0 +1,118 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2011 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : locking.c +* Description : This implements a locking mechanism that can be used by all code. The locking is done atomically so +* common resources can be accessed safely. +***********************************************************************************************************************/ +/********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 07.03.2012 1.00 First Release +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Fixed-size integer typedefs. */ +#include +/* bool support. */ +#include +/* Has intrinsic support. Includes xchg() which is used in this code. */ +#include +/* Includes board and MCU related header files. */ +#include "platform.h" + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Exported global variables (to be accessed by other files) +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Private global variables and functions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* Function Name: R_BSP_Lock +* Description : Attempt to acquire the lock that has been sent in. +* Arguments : plock - +* Pointer to lock structure with lock to try and acquire. +* Return Value : true - +* Lock was acquired. +* false - +* Lock was not acquired. +***********************************************************************************************************************/ +bool R_BSP_Lock(bsp_lock_t * plock) +{ + bool ret = false; + + /* Variable used in trying to acquire lock. Using the xchg instruction makes this atomic */ + int32_t is_locked = true; + + /* This example uses the RX MCU's atomic xchg() instruction. plock->lock is the lock we are trying to reserve. + The way this works is that 'is_locked' gets the value of the plock->lock and plock->lock gets the value of + 'is_locked' which we just set to 'true'. Basically this is an atomic 'swap' command. If the lock had not yet been + reserved then its value would be 'false' and after the xchg() instruction finished 'is_locked' would have + 'false'. If it had already been reserved then 'is_locked' would have 'true' after the xchg() instruction. Since + plock->lock was already 'true' and we just set it back to 'true' everything is ok. To see if we reserved the lock + we just need to check the value of 'is_locked' after this instruction finishes. */ + + /* Try to acquire semaphore to obtain lock */ + xchg(&is_locked, &plock->lock); + + /* Check to see if semaphore was successfully taken */ + if (is_locked == false) + { + /* Lock obtained, return success. */ + ret = true; + } + else + { + /* Lock was not obtained, another task already has it. */ + } + + return ret; +} /* End of function R_BSP_Lock() */ + + +/*********************************************************************************************************************** +* Function Name: R_BSP_Unlock +* Description : Release hold on lock. +* Arguments : plock - +* Pointer to lock structure with lock to release. +* Return Value : true - +* Lock was released. +* false - +* Lock was not released. +***********************************************************************************************************************/ +bool R_BSP_Unlock(bsp_lock_t * plock) +{ + /* Set lock back to unlocked. */ + plock->lock = false; + + return true; +} /* End of function R_BSP_Unlock() */ + + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/locking.h b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/locking.h new file mode 100644 index 000000000..454ce4776 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/locking.h @@ -0,0 +1,63 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2011 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : locking.h +* Description : This implements a locking mechanism that can be used by all code. The locking is done atomically so +* common resources can be accessed safely. +***********************************************************************************************************************/ +/********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 07.03.2012 1.00 First Release +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Fixed-size integer typedefs. */ +#include +/* bool support. */ +#include + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ +typedef struct +{ + /* The actual lock. int32_t is used because this is what the xchg() instruction takes as parameters. */ + int32_t lock; + /* Could add a ID for locking and unlocking. In this could protect against any function being able to unlock. */ +} bsp_lock_t; + +/*********************************************************************************************************************** +Exported global variables +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Exported global functions (to be accessed by other files) +***********************************************************************************************************************/ +bool R_BSP_Lock(bsp_lock_t * plock); +bool R_BSP_Unlock(bsp_lock_t * plock); + + + + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lowlvl.src b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lowlvl.src new file mode 100644 index 000000000..a75845e40 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lowlvl.src @@ -0,0 +1,54 @@ +;----------------------------------------------------------------------- +; +; FILE :lowlvl.src +; DATE :Wed, Jul 01, 2009 +; DESCRIPTION :Program of Low level +; CPU TYPE :RX +; +;----------------------------------------------------------------------- + .GLB _charput + .GLB _charget + +FC2E0 .EQU 00084080h +FE2C0 .EQU 00084090h +DBGSTAT .EQU 000840C0h +RXFL0EN .EQU 00001000h +TXFL0EN .EQU 00000100h + + .SECTION P,CODE + +;----------------------------------------------------------------------- +; _charput: +;----------------------------------------------------------------------- +_charput: + .STACK _charput = 00000000h +__C2ESTART: MOV.L #TXFL0EN,R3 + MOV.L #DBGSTAT,R4 +__TXLOOP: MOV.L [R4],R5 + AND R3,R5 + BNZ __TXLOOP +__WRITEFC2E0: MOV.L #FC2E0,R2 + MOV.L R1,[R2] +__CHARPUTEXIT: RTS + +;----------------------------------------------------------------------- +; _charget: +;----------------------------------------------------------------------- +_charget: + .STACK _charget = 00000000h +__E2CSTART: MOV.L #RXFL0EN,R3 + MOV.L #DBGSTAT,R4 +__RXLOOP: MOV.L [R4],R5 + AND R3,R5 + BZ __RXLOOP +__READFE2C0: MOV.L #FE2C0,R2 + MOV.L [R2],R1 +__CHARGETEXIT: RTS + +;----------------------------------------------------------------------- + +; End of conditional code + .END + + + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lowsrc.c b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lowsrc.c new file mode 100644 index 000000000..ad9f32ce4 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/lowsrc.c @@ -0,0 +1,332 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : lowsrc.c +* Description : Functions to support stream I/O +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 26.10.2011 1.00 First Release +***********************************************************************************************************************/ +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +#include +#include +#include + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +/*Number of I/O Stream*/ +#define IOSTREAM 20 + +/* file number */ +#define STDIN 0 /* Standard input (console) */ +#define STDOUT 1 /* Standard output (console) */ +#define STDERR 2 /* Standard error output (console) */ + +#define FLMIN 0 /* Minimum file number */ +#define _MOPENR 0x1 +#define _MOPENW 0x2 +#define _MOPENA 0x4 +#define _MTRUNC 0x8 +#define _MCREAT 0x10 +#define _MBIN 0x20 +#define _MEXCL 0x40 +#define _MALBUF 0x40 +#define _MALFIL 0x80 +#define _MEOF 0x100 +#define _MERR 0x200 +#define _MLBF 0x400 +#define _MNBF 0x800 +#define _MREAD 0x1000 +#define _MWRITE 0x2000 +#define _MBYTE 0x4000 +#define _MWIDE 0x8000 +/* File Flags */ +#define O_RDONLY 0x0001 /* Read only */ +#define O_WRONLY 0x0002 /* Write only */ +#define O_RDWR 0x0004 /* Both read and Write */ +#define O_CREAT 0x0008 /* A file is created if it is not existed */ +#define O_TRUNC 0x0010 /* The file size is changed to 0 if it is existed. */ +#define O_APPEND 0x0020 /* The position is set for next reading/writing */ + /* 0: Top of the file 1: End of file */ + +/* Special character code */ +#define CR 0x0d /* Carriage return */ +#define LF 0x0a /* Line feed */ + +#if defined( __RX ) +const long _nfiles = IOSTREAM; /* The number of files for input/output files */ +#else +const int _nfiles = IOSTREAM; /* The number of files for input/output files */ +#endif +char flmod[IOSTREAM]; /* The location for the mode of opened file. */ + +unsigned char sml_buf[IOSTREAM]; + +#define FPATH_STDIN "C:\\stdin" +#define FPATH_STDOUT "C:\\stdout" +#define FPATH_STDERR "C:\\stderr" + +/* H8 Normal mode ,SH and RX */ +#if defined( __2000N__ ) || defined( __2600N__ ) || defined( __300HN__ ) || defined( _SH ) +/* Output one character to standard output */ +extern void charput(char); +/* Input one character from standard input */ +extern char charget(void); +/* Output one character to the file */ +extern char fcharput(char, unsigned char); +/* Input one character from the file */ +extern char fcharget(char*, unsigned char); +/* Open the file */ +extern char fileopen(char*, unsigned char, unsigned char*); +/* Close the file */ +extern char fileclose(unsigned char); +/* Move the file offset */ +extern char fpseek(unsigned char, long, unsigned char); +/* Get the file offset */ +extern char fptell(unsigned char, long*); + +/* RX */ +#elif defined( __RX ) +/* Output one character to standard output */ +extern void charput(unsigned char); +/* Input one character from standard input */ +extern unsigned char charget(void); + +/* H8 Advanced mode */ +#elif defined( __2000A__ ) || defined( __2600A__ ) || defined( __300HA__ ) || defined( __H8SXN__ ) || defined( __H8SXA__ ) || defined( __H8SXM__ ) || defined( __H8SXX__ ) +/* Output one character to standard output */ +extern void charput(char); +/* Input one character from standard input */ +extern char charget(void); +/* Output one character to the file */ +extern char fcharput(char, unsigned char); +/* Input one character from the file */ +extern char fcharget(char*, unsigned char); +/* Open the file */ +/* Specified as the number of register which stored paramter is 3 */ +extern char __regparam3 fileopen(char*, unsigned char, unsigned char*); +/* Close the file */ +extern char fileclose(unsigned char); +/* Move the file offset */ +extern char fpseek(unsigned char, long, unsigned char); +/* Get the file offset */ +extern char fptell(unsigned char, long*); + +/* H8300 and H8300L */ +#elif defined( __300__ ) || defined( __300L__ ) +/* Output one character to standard output */ +extern void charput(char); +/* Input one character from standard input */ +extern char charget(void); +/* Output one character to the file */ +extern char fcharput(char, unsigned char); +/* Input one character from the file */ +extern char fcharget(char*, unsigned char); +/* Open the file */ +/* Specified as the number of register which stored paramter is 3 */ +extern char __regparam3 fileopen(char*, unsigned char, unsigned char*); +/* Close the file */ +extern char fileclose(unsigned char); +/* Move the file offset */ +/* Move the file offset */ +extern char __regparam3 fpseek(unsigned char, long, unsigned char); +/* Get the file offset */ +extern char fptell(unsigned char, long*); +#endif + +#include +FILE *_Files[IOSTREAM]; // structure for FILE +char *env_list[] = { // Array for environment variables(**environ) + "ENV1=temp01", + "ENV2=temp02", + "ENV9=end", + '\0' // Terminal for environment variables +}; + +char **environ = env_list; + +/****************************************************************************/ +/* _INIT_IOLIB */ +/* Initialize C library Functions, if necessary. */ +/* Define USES_SIMIO on Assembler Option. */ +/****************************************************************************/ +void _INIT_IOLIB( void ) +{ + /* A file for standard input/output is opened or created. Each FILE */ + /* structure members are initialized by the library. Each _Buf member */ + /* in it is re-set the end of buffer pointer. */ + + /* Standard Input File */ + if( freopen( FPATH_STDIN, "r", stdin ) == NULL ) + stdin->_Mode = 0xffff; /* Not allow the access if it fails to open */ + stdin->_Mode = _MOPENR; /* Read only attribute */ + stdin->_Mode |= _MNBF; /* Non-buffering for data */ + stdin->_Bend = stdin->_Buf + 1; /* Re-set pointer to the end of buffer */ + + /* Standard Output File */ + if( freopen( FPATH_STDOUT, "w", stdout ) == NULL ) + stdout->_Mode = 0xffff; /* Not allow the access if it fails to open */ + stdout->_Mode |= _MNBF; /* Non-buffering for data */ + stdout->_Bend = stdout->_Buf + 1;/* Re-set pointer to the end of buffer */ + + /* Standard Error File */ + if( freopen( FPATH_STDERR, "w", stderr ) == NULL ) + stderr->_Mode = 0xffff; /* Not allow the access if it fails to open */ + stderr->_Mode |= _MNBF; /* Non-buffering for data */ + stderr->_Bend = stderr->_Buf + 1;/* Re-set pointer to the end of buffer */ +} + +/****************************************************************************/ +/* _CLOSEALL */ +/****************************************************************************/ +void _CLOSEALL( void ) +{ + long i; + + for( i=0; i < _nfiles; i++ ) + { + /* Checks if the file is opened or not */ + if( _Files[i]->_Mode & (_MOPENR | _MOPENW | _MOPENA ) ) + fclose( _Files[i] ); /* Closes the file */ + } +} + +/**************************************************************************/ +/* open:file open */ +/* Return value:File number (Pass) */ +/* -1 (Failure) */ +/**************************************************************************/ +#if defined( __RX ) +long open(const char *name, /* File name */ + long mode, /* Open mode */ + long flg) /* Open flag */ +#else +int open(char *name, /* File name */ + int mode, /* Open mode */ + int flg) /* Open flag */ +#endif +{ + + + if( strcmp( name, FPATH_STDIN ) == 0 ) /* Standard Input file? */ + { + if( ( mode & O_RDONLY ) == 0 ) return -1; + flmod[STDIN] = mode; + return STDIN; + } + else if( strcmp( name, FPATH_STDOUT ) == 0 )/* Standard Output file? */ + { + if( ( mode & O_WRONLY ) == 0 ) return -1; + flmod[STDOUT] = mode; + return STDOUT; + } + else if(strcmp(name, FPATH_STDERR ) == 0 ) /* Standard Error file? */ + { + if( ( mode & O_WRONLY ) == 0 ) return -1; + flmod[STDERR] = mode; + return STDERR; + } + else return -1; /*Others */ +} + +#if defined( __RX ) +long close( long fileno ) +#else +int close( int fileno ) +#endif +{ + return 1; +} + +/**************************************************************************/ +/* write:Data write */ +/* Return value:Number of write characters (Pass) */ +/* -1 (Failure) */ +/**************************************************************************/ +#if defined( __RX ) +long write(long fileno, /* File number */ + const unsigned char *buf, /* The address of destination buffer */ + long count) /* The number of chacter to write */ +#else +int write(int fileno, /* File number */ + char *buf, /* The address of destination buffer */ + int count) /* The number of chacter to write */ +#endif +{ + long i; /* A variable for counter */ + unsigned char c; /* An output character */ + + /* Checking the mode of file , output each character */ + /* Checking the attribute for Write-Only, Read-Only or Read-Write */ + if(flmod[fileno]&O_WRONLY || flmod[fileno]&O_RDWR) + { + if( fileno == STDIN ) return -1; /* Standard Input */ + else if( (fileno == STDOUT) || (fileno == STDERR) ) + /* Standard Error/output */ + { + for( i = count; i > 0; --i ) + { + c = *buf++; + charput(c); + } + return count; /*Return the number of written characters */ + } + else return -1; /* Incorrect file number */ + } + else return -1; /* An error */ +} + +#if defined( __RX ) +long read( long fileno, unsigned char *buf, long count ) +#else +int read( int fileno, char *buf, unsigned int count ) +#endif +{ + long i; + + /* Checking the file mode with the file number, each character is input and stored the buffer */ + + if((flmod[fileno]&_MOPENR) || (flmod[fileno]&O_RDWR)){ + for(i = count; i > 0; i--){ + *buf = charget(); + if(*buf==CR){ /* Replace the new line character */ + *buf = LF; + } + buf++; + } + return count; + } + else { + return -1; + } +} + +#if defined( __RX ) +long lseek( long fileno, long offset, long base ) +#else +long lseek( int fileno, long offset, int base ) +#endif +{ + return -1L; +} + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/r_bsp.h b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/r_bsp.h new file mode 100644 index 000000000..acdbe7725 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/r_bsp.h @@ -0,0 +1,53 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_bsp.h +* H/W Platform : RSKRX111 +* Description : Has the header files that should be included for this platform. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +#ifndef PLATFORM_BOARD_RSKRX111 +#define PLATFORM_BOARD_RSKRX111 + +/* Make sure that no other platforms have already been defined. Do not touch this! */ +#ifdef PLATFORM_DEFINED +#error "Error - Multiple platforms defined in platform.h!" +#else +#define PLATFORM_DEFINED +#endif + +/*********************************************************************************************************************** +INCLUDE APPROPRIATE MCU AND BOARD FILES +***********************************************************************************************************************/ +#include "r_bsp_config.h" +#include ".\mcu\rx111\iodefine.h" +#include ".\mcu\rx111\mcu_info.h" +#include ".\board\rskrx111\rskrx111.h" +#include ".\board\rskrx111\hwsetup.h" +#include ".\board\rskrx111\lcd.h" +#include ".\board\rskrx111\locking.h" +#include ".\board\rskrx111\vecttbl.h" + +#endif /* PLATFORM_BOARD_RSKRX111 */ + + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/r_bsp_config_reference.h b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/r_bsp_config_reference.h new file mode 100644 index 000000000..da6dc9d1e --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/r_bsp_config_reference.h @@ -0,0 +1,250 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_bsp_config_reference.c +* Device(s) : RX111 +* Description : The file r_bsp_config.h is used to configure your BSP. r_bsp_config.h should be included +* somewhere in your package so that the r_bsp code has access to it. This file (r_bsp_config_reference.h) +* is just a reference file that the user can use to make their own r_bsp_config.h file. +************************************************************************************************************************ +* History : DD.MM.YYYY Version Description +* : 07.11.2012 0.01 Beta Release +***********************************************************************************************************************/ +#ifndef R_BSP_CONFIG_REF_HEADER_FILE +#define R_BSP_CONFIG_REF_HEADER_FILE + +/*********************************************************************************************************************** +Configuration Options +***********************************************************************************************************************/ +/* Enter the product part number for your MCU. This information will be used to obtain information about your MCU such + as package and memory size. + To help parse this information, the part number will be defined using multiple macros. + R 5 F 51 11 5 A D FM + | | | | | | | | | Macro Name Description + | | | | | | | | |__MCU_PART_PACKAGE = Package type, number of pins, and pin pitch + | | | | | | | |____not used = Products with wide temperature range (D: -40 to 85C G: -40 to 105C) + | | | | | | |______not used = Blank + | | | | | |________MCU_PART_MEMORY_SIZE = ROM, RAM, and Data Flash Capacity + | | | | |___________MCU_PART_GROUP = Group name + | | | |______________MCU_PART_SERIES = Series name + | | |________________MCU_PART_MEMORY_TYPE = Type of memory (Flash) + | |__________________not used = Renesas MCU + |____________________not used = Renesas semiconductor product. + */ + +/* Package type. Set the macro definition based on values below: + Character(s) = Value for macro = Package Type/Number of Pins/Pin Pitch + FM = 0x0 = LFQFP/64/0.50 + FK = 0x1 = LQFP/64/0.80 + LF = 0x2 = TFLGA/64/0.50 + FL = 0x3 = LFQFP/48/0.50 + NE = 0x4 = VQFN/48/0.50 + NC = 0x5 = HWQFN/36/0.50 + LM = 0x6 = WFLGA/36/0.50 + SB = 0x7 = SSOP/36/0.80 +*/ +#define MCU_PART_PACKAGE (0x0) + +/* ROM, RAM, and Data Flash Capacity. + Character(s) = Value for macro = ROM Size/Ram Size/Data Flash Size + 5 = 0x5 = 128KB/16KB/8KB + 4 = 0x4 = 96KB/16KB/8KB + 3 = 0x3 = 64KB/10KB/8KB + 1 = 0x1 = 32KB/10KB/8KB + J = 0x0 = 16KB/8KB/8KB +*/ +#define MCU_PART_MEMORY_SIZE (0x5) + +/* Group name. + Character(s) = Value for macro = Description + 10 = 0x0 = RX110 Group + 11 = 0x1 = RX111 Group +*/ +#define MCU_PART_GROUP (0x1) + +/* Series name. + Character(s) = Value for macro = Description + 51 = 0x0 = RX100 Series +*/ +#define MCU_PART_SERIES (0x0) + +/* Memory type. + Character(s) = Value for macro = Description + F = 0x0 = Flash memory version +*/ +#define MCU_PART_MEMORY_TYPE (0x0) + +/* The 'BSP_DECLARE_STACK' macro is checked so that the stack is only declared in one place (resetprg.c). Every time a + '#pragma stacksize' is encountered, the stack size is increased. This prevents multiplication of stack size. */ +#if defined(BSP_DECLARE_STACK) +/* User Stack size in bytes. The Renesas RX toolchain sets the stack size using the #pragma stacksize directive. */ +#pragma stacksize su=0x400 +/* Interrupt Stack size in bytes. The Renesas RX toolchain sets the stack size using the #pragma stacksize directive. */ +#pragma stacksize si=0x100 +#endif + +/* Heap size in bytes. */ +#define HEAP_BYTES (0x400) + +/* After reset MCU will operate in Supervisor mode. To switch to User mode, set this macro to '1'. For more information + on the differences between these 2 modes see the CPU >> Processor Mode section of your MCU's hardware manual. + 0 = Stay in Supervisor mode. + 1 = Switch to User mode. +*/ +#define RUN_IN_USER_MODE (0) + + +/* This macro lets other modules no if a RTOS is being used. + 0 = RTOS is not used. + 1 = RTOS is used. +*/ +#define RTOS_USED (0) + +/* Clock source select (CKSEL). + 0 = Low Speed On-Chip Oscillator (LOCO) + 1 = High Speed On-Chip Oscillator (HOCO) + 2 = Main Clock Oscillator + 3 = Sub-Clock Oscillator + 4 = PLL Circuit +*/ +#define CLOCK_SOURCE (4) + +/* Clock configuration options. + The input clock frequency is specified and then the system clocks are set by specifying the multipliers used. The + multiplier settings are used to set the clock registers in resetprg.c. If a 16MHz clock is used and the + ICLK is 24MHz, PCLKB is 24MHz, FCLK is 24MHz, PCLKD is 24MHz, and CKO is 1MHz then the + settings would be: + + XTAL_HZ = 16000000 + PLL_DIV = 2 + PLL_MUL = 6 (16MHz x 3 = 48MHz) + ICK_DIV = 2 : System Clock (ICLK) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / ICK_DIV) = 24MHz + PCKB_DIV = 2 : Peripheral Clock B (PCLKB) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKB_DIV) = 24MHz + PCKD_DIV = 2 : Peripheral Clock D (PCLKD) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKD_DIV) = 24MHz + FCK_DIV = 2 : Flash IF Clock (FCLK) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / FCK_DIV) = 24MHz +*/ +/* XTAL - Input clock frequency in Hz */ +#define XTAL_HZ (16000000) +/* PLL Input Frequency Divider Select (PLIDIV). + Available divisors = /1 (no division), /2, /4 +*/ +#define PLL_DIV (2) +/* PLL Frequency Multiplication Factor Select (STC). + Available multipliers = x6, x8 +*/ +#define PLL_MUL (6) +/* System Clock Divider (ICK). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define ICK_DIV (2) +/* Peripheral Module Clock B Divider (PCKB). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define PCKB_DIV (2) +/* Peripheral Module Clock D Divider (PCKD). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define PCKD_DIV (2) +/* Flash IF Clock Divider (FCK). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define FCK_DIV (2) + +/* Below are callback functions that can be used for detecting MCU exceptions, undefined interrupt sources, and + bus errors. If the user wishes to be alerted of these events then they will need to define the macro as a + function to be called when the event occurs. For example, if the user wanted the function + excep_undefined_instr_isr() to be called when an undefined interrupt source ISR is triggered then they would + do the following: + #define UNDEFINED_INT_ISR_CALLBACK undefined_interrupt_cb + If the user does not wish to be alerted of these events then they should comment out the macros. + + NOTE: When a callback function is called it will be called from within a ISR. This means that the function + will essentially be an interrupt and will hold off other interrupts that occur in the system while it + is executing. For this reason, it is recommended to keep these callback functions short as to not + decrease the real-time response of your system. +*/ +/* Callback for Supervisor Instruction Violation Exception. */ +//#define EXCEP_SUPERVISOR_ISR_CALLBACK supervisor_instr_cb + +/* Callback for Undefined Instruction Exception. */ +//#define EXCEP_UNDEFINED_INSTR_ISR_CALLBACK undefined_instr_cb + +/* Callback for Non-maskable Interrupt. */ +//#define NMI_ISR_CALLBACK nmi_cb + +/* Callback for all undefined interrupt vectors. User can set a breakpoint in this function to determine which source + is creating unwanted interrupts. */ +//#define UNDEFINED_INT_ISR_CALLBACK undefined_interrupt_cb + +/* Callback for Bus Error Interrupt. */ +//#define BUS_ERROR_ISR_CALLBACK bus_error_cb + +/* The user has the option of separately choosing little or big endian for the User Application Area */ + +/* Endian mode for User Application. + 0 = Big Endian + Else = Little Endian (Default) +*/ +#define USER_APP_ENDIAN (1) + + +/* Configure WDT and IWDT settings. + OFS0 - Option Function Select Register 0 + OFS0 - Option Function Select Register 0 + b31:b15 Reserved (set to 1) + b14 IWDTSLCSTP - IWDT Sleep Mode Count Stop Control - (0=can't stop count, 1=stop w/some low power modes) + b13 Reserved (set to 1) + b12 IWDTRSTIRQS - IWDT Reset Interrupt Request - What to do on underflow (0=take interrupt, 1=reset MCU) + b11:b10 IWDTRPSS - IWDT Window Start Position Select - (0=25%, 1=50%, 2=75%, 3=100%,don't use) + b9:b8 IWDTRPES - IWDT Window End Position Select - (0=75%, 1=50%, 2=25%, 3=0%,don't use) + b7:b4 IWDTCKS - IWDT Clock Frequency Division Ratio - (0=none, 2=/16, 3 = /32, 4=/64, 0xF=/128, 5=/256) + b3:b2 IWDTTOPS - IWDT Timeout Period Select - (0=128 cycles, 1=512, 2=1024, 3=2048) + b1 IWDTSTRT - IWDT Start Mode Select - (0=auto-start after reset, 1=halt after reset) + b0 Reserved (set to 1) */ +#define OFS0_REG_VALUE (0xFFFFFFFF) //Disable by default + +/* Configure whether voltage detection 1 circuit and HOCO are enabled after reset. + OFS1 - Option Function Select Register 1 + b31:b9 Reserved (set to 1) + b8 HOCOEN - Enable/disable HOCO oscillation after a reset (0=enable, 1=disable) + b7:b4 STUPLVD1LVL - Startup Voltage Monitoring 1 Reset Detection Level Select + 0 1 0 0: 3.10 V + 0 1 0 1: 3.00 V + 0 1 1 0: 2.90 V + 0 1 1 1: 2.79 V + 1 0 0 0: 2.68 V + 1 0 0 1: 2.58 V + 1 0 1 0: 2.48 V + 1 0 1 1: 2.06 V + 1 1 0 0: 1.96 V + 1 1 0 1: 1.86 V + b3:b2 Reserved (set to 1) + b2 STUPLVD1REN - Startup Voltage Monitoring 1 Reset Enable (1=monitoring disabled) + b0 FASTSTUP - Power-On Fast Startup Time (1=normal; read only) */ +#define OFS1_REG_VALUE (0xFFFFFFFF) //Disable by default + +/* Initializes C input & output library functions. + 0 = Disable I/O library initialization in resetprg.c. If you are not using stdio then use this value. + 1 = Enable I/O library initialization in resetprg.c. This is default and needed if you are using stdio. */ +#define IO_LIB_ENABLE (1) + +#endif /* R_BSP_CONFIG_REF_HEADER_FILE */ + + + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/resetprg.c b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/resetprg.c new file mode 100644 index 000000000..8e01db9b0 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/resetprg.c @@ -0,0 +1,416 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : resetprg.c +* Device(s) : RX111 +* Description : Defines post-reset routines that are used to configure the MCU prior to the main program starting. +* This is were the program counter starts on power-up or reset. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Defines machine level functions used in this file */ +#include +/* Defines MCU configuration functions used in this file */ +#include <_h_c_lib.h> +/* Defines standard variable types used in this file */ +#include +#include + +/* This macro is here so that the stack will be declared here. This is used to prevent multiplication of stack size. */ +#define BSP_DECLARE_STACK +/* Define the target platform */ +#include "platform.h" + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +#define PSW_init (0x00030000) + +/*********************************************************************************************************************** +Pre-processor Directives +***********************************************************************************************************************/ +/* Declare the contents of the function 'Change_PSW_PM_to_UserMode' as assembler to the compiler */ +#pragma inline_asm Change_PSW_PM_to_UserMode + +/* Set this as the entry point from a power-on reset */ +#pragma entry PowerON_Reset_PC + +/*********************************************************************************************************************** +External function Prototypes +***********************************************************************************************************************/ +/* Functions to setup I/O library */ +extern void _INIT_IOLIB(void); +extern void _CLOSEALL(void); + +/*********************************************************************************************************************** +Private global variables and functions +***********************************************************************************************************************/ +/* Power-on reset function declaration */ +void PowerON_Reset_PC(void); + +#if RUN_IN_USER_MODE==1 + #if __RENESAS_VERSION__ < 0x01010000 + /* MCU usermode switcher function declaration */ + static void Change_PSW_PM_to_UserMode(void); + #endif +#endif + +/* Main program function delcaration */ +void main(void); +static void operating_frequency_set(void); +static void clock_source_select(void); + +/*********************************************************************************************************************** +* Function name: PowerON_Reset_PC +* Description : This function is the MCU's entry point from a power-on reset. +* The following steps are taken in the startup code: +* 1. The User Stack Pointer (USP) and Interrupt Stack Pointer (ISP) are both set immediately after entry +* to this function. The USP and ISP stack sizes are set in the file stacksct.h. +* Default sizes are USP=4K and ISP=1K. +* 2. The interrupt vector base register is set to point to the beginning of the relocatable interrupt +* vector table. +* 3. The MCU is setup for floating point operations by setting the initial value of the Floating Point +* Status Word (FPSW). +* 4. The MCU operating frequency is set by configuring the Clock Generation Circuit (CGC) in +* operating_frequency_set. +* 5. Calls are made to functions to setup the C runtime environment which involves initializing all +* initialed data, zeroing all uninitialized variables, and configuring STDIO if used +* (calls to _INITSCT and _INIT_IOLIB). +* 6. Board-specific hardware setup, including configuring I/O pins on the MCU, in hardware_setup. +* 7. Global interrupts are enabled by setting the I bit in the Program Status Word (PSW), and the stack +* is switched from the ISP to the USP. The initial Interrupt Priority Level is set to zero, enabling +* any interrupts with a priority greater than zero to be serviced. +* 8. The processor is optionally switched to user mode. To run in user mode, set the macro +* RUN_IN_USER_MODE above to a 1. +* 9. The bus error interrupt is enabled to catch any accesses to invalid or reserved areas of memory. +* +* Once this initialization is complete, the user's main() function is called. It should not return. +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +#pragma section ResetPRG // output PowerON_Reset to PResetPRG section +void PowerON_Reset_PC(void) +{ + /* Stack pointers are setup prior to calling this function - see comments above */ + + /* Initialise the MCU processor word */ +#if __RENESAS_VERSION__ >= 0x01010000 + set_intb((void *)__sectop("C$VECT")); +#else + set_intb((unsigned long)__sectop("C$VECT")); +#endif + +#ifdef NMI_ISR_CALLBACK + /* Enable NMI interrupt if callback is configured in r_bsp_config.h */ + ICU.NMIER.BIT.NMIEN = 1; +#endif + + /* Switch to high-speed operation */ + operating_frequency_set(); + + /* Initialize C runtime environment */ + _INITSCT(); + +#if IO_LIB_ENABLE == 1 + /* Comment this out if not using I/O lib */ + _INIT_IOLIB(); +#endif + + /* Configure the MCU and YRDK hardware */ + hardware_setup(); + + /* Change the MCU's usermode from supervisor to user */ + nop(); + set_psw(PSW_init); +#if RUN_IN_USER_MODE==1 + /* Use chg_pmusr() intrinsic if possible. */ + #if __RENESAS_VERSION__ >= 0x01010000 + chg_pmusr() ; + #else + Change_PSW_PM_to_UserMode(); + #endif +#endif + + /* Enable the bus error interrupt to catch accesses to illegal/reserved areas of memory */ + /* The ISR for this interrupt can be found in vecttbl.c in the function "bus_error_isr" */ + /* Clear any pending interrupts */ + IR(BSC,BUSERR) = 0; + /* Make this the highest priority interrupt (adjust as necessary for your application */ + IPR(BSC,BUSERR) = 0x0F; + /* Enable the interrupt in the ICU*/ + IEN(BSC,BUSERR) = 1; + /* Enable illegal address interrupt in the BSC */ + BSC.BEREN.BIT.IGAEN = 1; + + /* Call the main program function (should not return) */ + main(); + +#if IO_LIB_ENABLE == 1 + /* Comment this out if not using I/O lib - cleans up open files */ + _CLOSEALL(); +#endif + + while(1) + { + /* Infinite loop. Put a breakpoint here if you want to catch an exit of main(). */ + } +} + +/*********************************************************************************************************************** +* Function name: operating_frequency_set +* Description : Configures the clock settings for each of the device clocks +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void operating_frequency_set(void) +{ + /* Used for constructing value to write to SCKCR and CKOCR registers. */ + uint32_t temp_clock = 0; + + /* + Clock Description Frequency + ---------------------------------------- + Input Clock Frequency............ 16 MHz + PLL frequency (x3)............... 48 MHz + Internal Clock Frequency......... 24 MHz + Peripheral Clock Frequency....... 24 MHz + Clock Out Frequency.............. 1 MHz */ + + volatile unsigned int i; + + /* Protect off. */ + SYSTEM.PRCR.WORD = 0xA50B; + + /* Select the clock based upon user's choice. */ + clock_source_select(); + + + /* Figure out setting for FCK bits. */ +#if FCK_DIV == 1 + /* Do nothing since FCK bits should be 0. */ +#elif FCK_DIV == 2 + temp_clock |= 0x10000000; +#elif FCK_DIV == 4 + temp_clock |= 0x20000000; +#elif FCK_DIV == 8 + temp_clock |= 0x30000000; +#elif FCK_DIV == 16 + temp_clock |= 0x40000000; +#elif FCK_DIV == 32 + temp_clock |= 0x50000000; +#elif FCK_DIV == 64 + temp_clock |= 0x60000000; +#else + #error "Error! Invalid setting for FCK_DIV in r_bsp_config.h" +#endif + + /* Figure out setting for ICK bits. */ +#if ICK_DIV == 1 + /* Do nothing since ICK bits should be 0. */ +#elif ICK_DIV == 2 + temp_clock |= 0x01000000; +#elif ICK_DIV == 4 + temp_clock |= 0x02000000; +#elif ICK_DIV == 8 + temp_clock |= 0x03000000; +#elif ICK_DIV == 16 + temp_clock |= 0x04000000; +#elif ICK_DIV == 32 + temp_clock |= 0x05000000; +#elif ICK_DIV == 64 + temp_clock |= 0x06000000; +#else + #error "Error! Invalid setting for ICK_DIV in r_bsp_config.h" +#endif + + /* Figure out setting for PCKB bits. */ +#if PCKB_DIV == 1 + /* Do nothing since PCKB bits should be 0. */ +#elif PCKB_DIV == 2 + temp_clock |= 0x00000100; +#elif PCKB_DIV == 4 + temp_clock |= 0x00000200; +#elif PCKB_DIV == 8 + temp_clock |= 0x00000300; +#elif PCKB_DIV == 16 + temp_clock |= 0x00000400; +#elif PCKB_DIV == 32 + temp_clock |= 0x00000500; +#elif PCKB_DIV == 64 + temp_clock |= 0x00000600; +#else + #error "Error! Invalid setting for PCKB_DIV in r_bsp_config.h" +#endif + + /* Figure out setting for PCKD bits. */ +#if PCKD_DIV == 1 + /* Do nothing since PCKD bits should be 0. */ +#elif PCKD_DIV == 2 + temp_clock |= 0x00000001; +#elif PCKD_DIV == 4 + temp_clock |= 0x00000002; +#elif PCKD_DIV == 8 + temp_clock |= 0x00000003; +#elif PCKD_DIV == 16 + temp_clock |= 0x00000004; +#elif PCKD_DIV == 32 + temp_clock |= 0x00000005; +#elif PCKD_DIV == 64 + temp_clock |= 0x00000006; +#else + #error "Error! Invalid setting for PCKD_DIV in r_bsp_config.h" +#endif + + /* Set SCKCR register. */ + SYSTEM.SCKCR.LONG = temp_clock; + + /* Choose clock source. Default for r_bsp_config.h is PLL. */ + SYSTEM.SCKCR3.WORD = ((uint16_t)CLOCK_SOURCE) << 8; + + /* Protect on. */ + SYSTEM.PRCR.WORD = 0xA500; +} + +/*********************************************************************************************************************** +* Function name: clock_source_select +* Description : Enables and disables clocks as chosen by the user. This function also implements the software delays +* needed for the clocks to stabilize. +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +static void clock_source_select (void) +{ + /* Declared volatile for software delay purposes. */ + volatile unsigned int i; + + /* NOTE: AS OF VERSION 0.50 OF THE RX111 HARDWARE MANUAL, ALL OF THE CLOCK + * STABILIZATION TIMES ARE TBD. FOR NOW, WHERE EVER A WAIT COUNT REGISTER + * IS AVAILABLE, THE DELAY IS SET TO THE MAX NUMBER OF CYCLES. WHERE EVER + * DELAY LOOPS ARE PRESENT, THE VALUES FROM THE 63N ARE RE-USED. KEEP IN + * MIND THAT THE 63N RUNS ON A FASTER CRYSTAL. + */ + +#if (CLOCK_SOURCE == 1) + /* HOCO is chosen. Start it operating. */ + SYSTEM.HOCOCR.BYTE = 0x00; + /* The delay period needed is to make sure that the HOCO has stabilized.*/ + for(i = 0; i< 28; i++) // tHOCOWT2 is TBD + { + nop() ; + } +#else + /* HOCO is not chosen. Stop the HOCO. */ + SYSTEM.HOCOCR.BYTE = 0x01; +#endif + +#if (CLOCK_SOURCE == 2) + /* Main clock oscillator is chosen. Start it operating. */ + SYSTEM.MOSCWTCR.BYTE = 0x07; // Wait 65,536 cycles + /* Set the main clock to operating. */ + SYSTEM.MOSCCR.BYTE = 0x00; + /* The delay period needed is to make sure that the main clock has stabilized. */ + for(i = 0; i< 140; i++) // tMAINOSCWT is TBD + { + nop() ; + } +#endif + +#if (CLOCK_SOURCE == 3) + /* Sub-clock oscillator is chosen. Start it operating. */ + /* In section 9.8.4, there is a reference to a SOSCWTCR register, but there is no + * description for this register in the manual nor reference for it in iodefine.h. */ + + /* Set the sub-clock to operating. */ + SYSTEM.SOSCCR.BYTE = 0x00; + /* The delay period needed is to make sure that the sub-clock has stabilized. */ + for(i = 0; i< 30233; i++) // tSUBOSCWT0 is TBD + { + nop() ; + } +#else + /* Set the sub-clock to stopped. */ + SYSTEM.SOSCCR.BYTE = 0x01; +#endif + +#if (CLOCK_SOURCE == 4) + /* PLL is chosen. Start it operating. Must start main clock as well since PLL uses it. */ + SYSTEM.MOSCWTCR.BYTE = 0x07; // Wait 65,536 cycles + /* Set the main clock to operating. */ + SYSTEM.MOSCCR.BYTE = 0x00; + + /* Set PLL Input Divisor. */ + SYSTEM.PLLCR.BIT.PLIDIV = PLL_DIV >> 1; + + /* Set PLL Multiplier. */ + SYSTEM.PLLCR.BIT.STC = (PLL_MUL * 2) - 1; + + /* Set the PLL to operating. */ + SYSTEM.PLLCR2.BYTE = 0x00; + /* The delay period needed is to make sure that the main clock and PLL have stabilized. */ + for(i = 0; i< 140; i++) // tPLLWT2 is TBD + { + nop() ; + } +#endif + + /* LOCO is saved for last since it is what is running by default out of reset. This means you do not want to turn + it off until another clock has been enabled and is ready to use. */ +#if (CLOCK_SOURCE == 0) + /* LOCO is chosen. This is the default out of reset. */ + SYSTEM.LOCOCR.BYTE = 0x00; +#else + /* LOCO is not chosen and another clock has already been setup. Turn off the LOCO. */ + SYSTEM.LOCOCR.BYTE = 0x01; +#endif + + /* Make sure a valid clock was chosen. */ +#if (CLOCK_SOURCE > 4) || (CLOCK_SOURCE < 0) + #error "ERROR - Valid clock source must be chosen in r_bsp_config.h using CLOCK_SOURCE macro." +#endif +} + + +/*********************************************************************************************************************** +* Function name: Change_PSW_PM_to_UserMode +* Description : Assembler function, used to change the MCU's usermode from supervisor to user. +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +#if RUN_IN_USER_MODE==1 + #if __RENESAS_VERSION__ < 0x01010000 +static void Change_PSW_PM_to_UserMode(void) +{ + MVFC PSW,R1 + OR #00100000h,R1 + PUSH.L R1 + MVFC PC,R1 + ADD #10,R1 + PUSH.L R1 + RTE + NOP + NOP +} + #endif +#endif diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/rskrx111.h b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/rskrx111.h new file mode 100644 index 000000000..af3a40058 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/rskrx111.h @@ -0,0 +1,63 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : rskrx111.h +* H/W Platform : RSKRX111 +* Description : Board specific definitions for the RSKRX111. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +#ifndef RSKRX111_H +#define RSKRX111_H + +/* Local defines */ +#define LED_ON (0) +#define LED_OFF (1) +#define SET_BIT_HIGH (1) +#define SET_BIT_LOW (0) +#define SET_BYTE_HIGH (0xFF) +#define SET_BYTE_LOW (0x00) + +/* Switches */ +#define SW_ACTIVE 0 +#define SW1 PORT3.PIDR.BIT.B0 +#define SW2 PORT3.PIDR.BIT.B1 +#define SW3 PORTE.PIDR.BIT.B4 +#define SW1_PDR PORT3.PDR.BIT.B0 +#define SW2_PDR PORT3.PDR.BIT.B1 +#define SW3_PDR PORTE.PDR.BIT.B4 +#define SW1_PMR PORT3.PMR.BIT.B0 +#define SW2_PMR PORT3.PMR.BIT.B1 +#define SW3_PMR PORTE.PMR.BIT.B4 + +/* LEDs */ +#define LED0 PORTB.PODR.BIT.B7 +#define LED1 PORTA.PODR.BIT.B0 +#define LED2 PORT5.PODR.BIT.B4 +#define LED3 PORT1.PODR.BIT.B7 +#define LED0_PDR PORTB.PDR.BIT.B7 +#define LED1_PDR PORTA.PDR.BIT.B0 +#define LED2_PDR PORT5.PDR.BIT.B4 +#define LED3_PDR PORT1.PDR.BIT.B7 + + +#endif /* RSKRX111_H */ diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/sbrk.c b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/sbrk.c new file mode 100644 index 000000000..ee808277f --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/sbrk.c @@ -0,0 +1,96 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : sbrk.c +* Device(s) : RX +* Description : Configures the MCU heap memory. The size of the heap is defined by the macro HEAPSIZE below. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 26.10.2011 1.00 First Release +* : 12.03.2012 1.10 Heap size is now defined in r_bsp_config.h, not sbrk.h. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Provides standard definitions used in this file */ +#include +/* Defines standard input/output functions used in this file */ +#include +/* Defines standard variable types used in this file */ +#include +/* Used for getting HEAP_BYTES macro. */ +#include "platform.h" + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Function Prototypes +***********************************************************************************************************************/ +/* Memory allocation function prototype declaration */ +int8_t *sbrk(size_t size); + +/*********************************************************************************************************************** +Global Variables +***********************************************************************************************************************/ +//const size_t _sbrk_size= /* Specifies the minimum unit of */ +/* the defined heap area */ +extern int8_t *_s1ptr; + +union HEAP_TYPE +{ + int32_t dummy; /* Dummy for 4-byte boundary */ + int8_t heap[HEAP_BYTES]; /* Declaration of the area managed by sbrk*/ +}; +/* Declare memory heap area */ +static union HEAP_TYPE heap_area; +/* End address allocated by sbrk */ +static int8_t *brk=(int8_t *)&heap_area; + +/*********************************************************************************************************************** +* Function name: sbrk +* Description : This function configures MCU memory area allocation. +* Arguments : size - +* assigned area size +* Return value : Start address of allocated area (pass) +* -1 (failure) +***********************************************************************************************************************/ +int8_t *sbrk(size_t size) +{ + int8_t *p; + + if (brk+size > heap_area.heap+HEAP_BYTES) + { + /* Empty area size */ + p = (int8_t *)-1; + } + else + { + /* Area assignment */ + p = brk; + + /* End address update */ + brk += size; + } + + /* Return result */ + return p; +} diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/vecttbl.c b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/vecttbl.c new file mode 100644 index 000000000..6dc4b7f1a --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/vecttbl.c @@ -0,0 +1,206 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : vecttbl.c +* Device(s) : RX11x +* Description : Definition of the fixed vector table and option setting memory. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Fixed size integers. */ +#include +/* Used for nop(). */ +#include +/* BSP configuration. */ +#include "platform.h" + +#pragma section IntPRG + +/*********************************************************************************************************************** +* Function name: PowerON_Reset_PC +* Description : The reset vector points to this function. Code execution starts in this function after reset. +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +extern void PowerON_Reset_PC(void); + +/*********************************************************************************************************************** +* Function name: excep_supervisor_inst_isr +* Description : Supervisor Instruction Violation ISR +* Arguments : none +* Return Value : none +***********************************************************************************************************************/ +#pragma interrupt (excep_supervisor_inst_isr) +void excep_supervisor_inst_isr(void) +{ + /* If the user defined a callback function in r_bsp_config.h then it will be called here. */ +#if defined(EXCEP_SUPERVISOR_ISR_CALLBACK) + EXCEP_SUPERVISOR_ISR_CALLBACK(); + + /* If you do not put the MCU in Supervisor mode before returning then it will just execute the same violating + instruction again and come back in here. Since the PSW is restored from the stack when returning from the + exception, you would need to alter the saved PSW on the stack to change to Supervisor mode. We do not do this + here because the only 'safe' way to do this would be to write this function in assembly. Even then most users + would probably want to handle this someway instead of just going back to the application. */ +#else + brk(); +#endif +} + +/*********************************************************************************************************************** +* Function name: excep_undefined_inst_isr +* Description : Undefined instruction exception ISR +* Arguments : none +* Return Value : none +***********************************************************************************************************************/ +#pragma interrupt (excep_undefined_inst_isr) +void excep_undefined_inst_isr(void) +{ + /* If the user defined a callback function in r_bsp_config.h then it will be called here. */ +#if defined(EXCEP_UNDEFINED_INSTR_ISR_CALLBACK) + EXCEP_UNDEFINED_INSTR_ISR_CALLBACK(); +#else + brk(); +#endif +} + +/*********************************************************************************************************************** +* Function name: non_maskable_isr +* Description : Non-maskable interrupt ISR +* Arguments : none +* Return Value : none +***********************************************************************************************************************/ +#pragma interrupt (non_maskable_isr) +void non_maskable_isr(void) +{ + /* If the user defined a callback function in r_bsp_config.h then it will be called here. */ +#if defined(NMI_ISR_CALLBACK) + NMI_ISR_CALLBACK(); + + /* Clear NMI flag. */ + ICU.NMICLR.BIT.NMICLR = 1; +#else + brk(); +#endif +} + +/*********************************************************************************************************************** +* Function name: undefined_interrupt_source_isr +* Description : All undefined interrupt vectors point to this function. +* Set a breakpoint in this function to determine which source is creating unwanted interrupts. +* Arguments : none +* Return Value : none +***********************************************************************************************************************/ +#pragma interrupt (undefined_interrupt_source_isr) +void undefined_interrupt_source_isr(void) +{ + /* If the user defined a callback function in r_bsp_config.h then it will be called here. */ +#if defined(UNDEFINED_INT_ISR_CALLBACK) + UNDEFINED_INT_ISR_CALLBACK(); +#else + brk(); +#endif +} + +/*********************************************************************************************************************** +* Function name: bus_error_isr +* Description : By default, this demo code enables the Bus Error Interrupt. This interrupt will fire if the user tries +* to access code or data from one of the reserved areas in the memory map, including the areas covered +* by disabled chip selects. A nop() statement is included here as a convenient place to set a breakpoint +* during debugging and development, and further handling should be added by the user for their +* application. +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +#pragma interrupt (bus_error_isr(vect=VECT(BSC,BUSERR))) +void bus_error_isr (void) +{ + /* Clear the bus error */ + BSC.BERCLR.BIT.STSCLR = 1; + + /* + To find the address that was accessed when the bus error occurred, read the register BSC.BERSR2.WORD. The upper + 13 bits of this register contain the upper 13-bits of the offending address (in 512K byte units) + */ + + /* If the user defined a callback function in r_bsp_config.h then it will be called here. */ +#if defined(BUS_ERROR_ISR_CALLBACK) + BUS_ERROR_ISR_CALLBACK(); +#else + nop(); +#endif +} + +void Dummy( void ) +{ + brk(); +} + +/*********************************************************************************************************************** +* The following array fills in the endian and option function select registers, and the fixed vector table +* bytes. +***********************************************************************************************************************/ +#pragma section C FIXEDVECT + +void (*const Fixed_Vectors[])(void) = { +//;0xffffffd0 Exception(Supervisor Instruction) + excep_supervisor_inst_isr, +//;0xffffffd4 Reserved + Dummy, +//;0xffffffd8 Reserved + Dummy, +//;0xffffffdc Exception(Undefined Instruction) + undefined_interrupt_source_isr, +//;0xffffffe0 Reserved + Dummy, +//;0xffffffe4 Reserved + Dummy, +//;0xffffffe8 Reserved + Dummy, +//;0xffffffec Reserved + Dummy, +//;0xfffffff0 Reserved + Dummy, +//;0xfffffff4 Reserved + Dummy, +//;0xfffffff8 NMI + non_maskable_isr, +//;0xfffffffc RESET +//;<> +//;Power On Reset PC +PowerON_Reset_PC +//;<> +}; + +#pragma address _MDEreg=0xffffff80 // MDE register (Single Chip Mode) +#ifdef __BIG + const unsigned long _MDEreg = 0xfffffff8; // big +#else + const unsigned long _MDEreg = 0xffffffff; // little +#endif + + + + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/vecttbl.h b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/vecttbl.h new file mode 100644 index 000000000..f8d32629a --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/rskrx111/vecttbl.h @@ -0,0 +1,65 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : vecttbl.h +* Device(s) : RX111 +* Description : Has function prototypes for exception callback functions. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 1.20 Beta Release. +***********************************************************************************************************************/ + +#ifndef VECTTBL_HEADER_INC +#define VECTTBL_HEADER_INC + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Fixed size integers. */ +#include +/* Used for nop(). */ +#include +/* BSP configuration. */ +#include "platform.h" + +/*********************************************************************************************************************** +Exported global functions (to be accessed by other files) +***********************************************************************************************************************/ +#if defined(EXCEP_SUPERVISOR_ISR_CALLBACK) +void EXCEP_SUPERVISOR_ISR_CALLBACK(void); +#endif + +#if defined(EXCEP_UNDEFINED_INSTR_ISR_CALLBACK) +void EXCEP_UNDEFINED_INSTR_ISR_CALLBACK(void); +#endif + +#if defined(NMI_ISR_CALLBACK) +void NMI_ISR_CALLBACK(void); +#endif + +#if defined(UNDEFINED_INT_ISR_CALLBACK) +void UNDEFINED_INT_ISR_CALLBACK(void); +#endif + +#if defined(BUS_ERROR_ISR_CALLBACK) +void BUS_ERROR_ISR_CALLBACK(void); +#endif + +#endif /* VECTTBL_HEADER_INC */ diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/user/r_bsp.h b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/user/r_bsp.h new file mode 100644 index 000000000..bd8881cd6 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/board/user/r_bsp.h @@ -0,0 +1,54 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_bsp.h +* Description : Has the header files that should be included for this platform. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 13.01.2012 1.00 First Release +* : 27.06.2012 1.10 Updated with new information to reflect udpated r_bsp structure. +***********************************************************************************************************************/ + +#ifndef PLATFORM_BOARD_USER +#define PLATFORM_BOARD_USER + +/* Make sure that no other platforms have already been defined. Do not touch this! */ +#ifdef PLATFORM_DEFINED +#error "Error - Multiple platforms defined in platform.h!" +#else +#define PLATFORM_DEFINED +#endif + +/*********************************************************************************************************************** +INCLUDE APPROPRIATE MCU AND BOARD FILES +***********************************************************************************************************************/ +/* This is a user defined board. Start off by: + 1)Copy and rename one of the 'board' folders that most closely matches your system (same MCU Series and Group). + 2)Substitute in your MCU Group for the *MCU Group* option in the #include below for mcu_info.h. + 3)Copy the other #includes from the r_bsp.h in the 'board' folder that you copied earlier. + 4)Configure the BSP for your board by modifying the r_bsp_config_reference.h. + 5)Copy r_bsp_config_reference.h to your project directory and rename it r_bsp_config.h. + You can also add your own include files here as well. */ +#include "r_bsp_config.h" +#include ".\mcu\*MCU Group*\mcu_info.h" + +#endif /* PLATFORM_BOARD_USER */ + + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/iodefine.h b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/iodefine.h new file mode 100644 index 000000000..cd263c632 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/iodefine.h @@ -0,0 +1,5143 @@ +/********************************************************************************/ +/* */ +/* Device : RX/RX100/RX111 */ +/* File Name : iodefine.h */ +/* Abstract : Definition of I/O Register. */ +/* History : V0.5 (2012-09-25) [Hardware Manual Revision : 0.50] */ +/* Note : This is a typical example. */ +/* */ +/* Copyright(c) 2012 Renesas Electronics Corp. */ +/* And Renesas Solutions Corp. ,All Rights Reserved. */ +/* */ +/********************************************************************************/ +/* */ +/* DESCRIPTION : Definition of ICU Register */ +/* CPU TYPE : RX111 */ +/* */ +/* Usage : IR,DTCER,IER,IPR of ICU Register */ +/* The following IR, DTCE, IEN, IPR macro functions simplify usage. */ +/* The bit access operation is "Bit_Name(interrupt source,name)". */ +/* A part of the name can be omitted. */ +/* for example : */ +/* IR(MTU0,TGIA0) = 0; expands to : */ +/* ICU.IR[114].BIT.IR = 0; */ +/* */ +/* DTCE(ICU,IRQ0) = 1; expands to : */ +/* ICU.DTCER[64].BIT.DTCE = 1; */ +/* */ +/* IEN(CMT0,CMI0) = 1; expands to : */ +/* ICU.IER[0x03].BIT.IEN4 = 1; */ +/* */ +/* IPR(MTU1,TGIA1) = 2; expands to : */ +/* IPR(MTU1,TGI ) = 2; // TGIA1,TGIB1 share IPR level. */ +/* ICU.IPR[121].BIT.IPR = 2; */ +/* */ +/* IPR(SCI1,ERI1) = 3; expands to : */ +/* IPR(SCI1, ) = 3; // SCI1 uses single IPR for all sources. */ +/* ICU.IPR[218].BIT.IPR = 3; */ +/* */ +/* Usage : #pragma interrupt Function_Identifier(vect=**) */ +/* The number of vector is "(interrupt source, name)". */ +/* for example : */ +/* #pragma interrupt INT_IRQ0(vect=VECT(ICU,IRQ0)) expands to : */ +/* #pragma interrupt INT_IRQ0(vect=64) */ +/* #pragma interrupt INT_CMT0_CMI0(vect=VECT(CMT0,CMI0)) expands to : */ +/* #pragma interrupt INT_CMT0_CMI0(vect=28) */ +/* #pragma interrupt INT_MTU0_TGIA0(vect=VECT(MTU0,TGIA0)) expands to : */ +/* #pragma interrupt INT_MTU0_TGIA0(vect=114) */ +/* */ +/* Usage : MSTPCRA,MSTPCRB,MSTPCRC of SYSTEM Register */ +/* The bit access operation is "MSTP(name)". */ +/* The name that can be used is a macro name defined with "iodefine.h". */ +/* for example : */ +/* MSTP(MTU4) = 0; // MTU,MTU0,MTU1,MTU2,MTU3,MTU4,MTU5 expands to : */ +/* SYSTEM.MSTPCRA.BIT.MSTPA9 = 0; */ +/* */ +/* */ +/********************************************************************************/ +#ifndef __RX111IODEFINE_HEADER__ +#define __RX111IODEFINE_HEADER__ +#pragma bit_order left +#pragma unpack +struct st_bsc { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char STSCLR:1; + } BIT; + } BERCLR; + char wk0[3]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char IGAEN:1; + } BIT; + } BEREN; + char wk1[3]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char MST:3; + unsigned char :3; + unsigned char IA:1; + } BIT; + } BERSR1; + char wk2[1]; + union { + unsigned short WORD; + struct { + unsigned short ADDR:13; + } BIT; + } BERSR2; + char wk3[4]; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short BPFB:2; + unsigned short :2; + unsigned short BPGB:2; + unsigned short BPIB:2; + unsigned short BPRO:2; + unsigned short BPRA:2; + } BIT; + } BUSPRI; +}; + +struct st_cac { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char CFME:1; + } BIT; + } CACR0; + union { + unsigned char BYTE; + struct { + unsigned char EDGES:2; + unsigned char TCSS:2; + unsigned char FMCS:3; + unsigned char CACREFE:1; + } BIT; + } CACR1; + union { + unsigned char BYTE; + struct { + unsigned char DFS:2; + unsigned char RCDS:2; + unsigned char RSCS:3; + unsigned char RPS:1; + } BIT; + } CACR2; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char OVFFCL:1; + unsigned char MENDFCL:1; + unsigned char FERRFCL:1; + unsigned char :1; + unsigned char OVFIE:1; + unsigned char MENDIE:1; + unsigned char FERRIE:1; + } BIT; + } CAICR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char OVFF:1; + unsigned char MENDF:1; + unsigned char FERRF:1; + } BIT; + } CASTR; + char wk0[1]; + unsigned short CAULVR; + unsigned short CALLVR; + unsigned short CACNTBR; +}; + +struct st_cmt { + union { + unsigned short WORD; + struct { + unsigned short :14; + unsigned short STR1:1; + unsigned short STR0:1; + } BIT; + } CMSTR0; +}; + +struct st_cmt0 { + union { + unsigned short WORD; + struct { + unsigned short :9; + unsigned short CMIE:1; + unsigned short :4; + unsigned short CKS:2; + } BIT; + } CMCR; + unsigned short CMCNT; + unsigned short CMCOR; +}; + +struct st_crc { + union { + unsigned char BYTE; + struct { + unsigned char DORCLR:1; + unsigned char :4; + unsigned char LMS:1; + unsigned char GPS:2; + } BIT; + } CRCCR; + unsigned char CRCDIR; + unsigned short CRCDOR; +}; + +struct st_da { + unsigned short DADR0; + unsigned short DADR1; + union { + unsigned char BYTE; + struct { + unsigned char DAOE1:1; + unsigned char DAOE0:1; + } BIT; + } DACR; + union { + unsigned char BYTE; + struct { + unsigned char DPSEL:1; + } BIT; + } DADPR; +}; + +struct st_doc { + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char DOPCFCL:1; + unsigned char DOPCF:1; + unsigned char DOPCIE:1; + unsigned char :1; + unsigned char DCSEL:1; + unsigned char OMS:2; + } BIT; + } DOCR; + char wk0[1]; + unsigned short DODIR; + unsigned short DODSR; +}; + +struct st_dtc { + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char RRS:1; + } BIT; + } DTCCR; + char wk0[3]; + void *DTCVBR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SHORT:1; + } BIT; + } DTCADMOD; + char wk1[3]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DTCST:1; + } BIT; + } DTCST; + char wk2[1]; + union { + unsigned short WORD; + struct { + unsigned short ACT:1; + unsigned short :7; + unsigned short VECN:8; + } BIT; + } DTCSTS; +}; + +struct st_elc { + union { + unsigned char BYTE; + struct { + unsigned char ELCON:1; + } BIT; + } ELCR; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR[26]; + char wk0[4]; + union { + unsigned char BYTE; + struct { + unsigned char MTU3MD:2; + unsigned char MTU2MD:2; + unsigned char MTU1MD:2; + } BIT; + } ELOPA; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char MTU4MD:2; + } BIT; + } ELOPB; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char CMT1MD:2; + } BIT; + } ELOPC; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char PGR7:1; + unsigned char PGR6:1; + unsigned char PGR5:1; + unsigned char PGR4:1; + unsigned char PGR3:1; + unsigned char PGR2:1; + unsigned char PGR1:1; + unsigned char PGR0:1; + } BIT; + } PGR1; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PGCO:3; + unsigned char :1; + unsigned char PGCOVE:1; + unsigned char PGCI:2; + } BIT; + } PGC1; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char PDBF7:1; + unsigned char PDBF6:1; + unsigned char PDBF5:1; + unsigned char PDBF4:1; + unsigned char PDBF3:1; + unsigned char PDBF2:1; + unsigned char PDBF1:1; + unsigned char PDBF0:1; + } BIT; + } PDBF1; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PSM:2; + unsigned char PSP:2; + unsigned char PSB:3; + } BIT; + } PEL0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PSM:2; + unsigned char PSP:2; + unsigned char PSB:3; + } BIT; + } PEL1; + char wk5[2]; + union { + unsigned char BYTE; + struct { + unsigned char WI:1; + unsigned char WE:1; + unsigned char :5; + unsigned char SEG:1; + } BIT; + } ELSEGR; +}; + +struct st_flash { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DFLEN:1; + } BIT; + } DFLCTL; +}; + +struct st_icu { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char IR:1; + } BIT; + } IR[250]; + char wk0[6]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DTCE:1; + } BIT; + } DTCER[249]; + char wk1[7]; + union { + unsigned char BYTE; + struct { + unsigned char IEN7:1; + unsigned char IEN6:1; + unsigned char IEN5:1; + unsigned char IEN4:1; + unsigned char IEN3:1; + unsigned char IEN2:1; + unsigned char IEN1:1; + unsigned char IEN0:1; + } BIT; + } IER[32]; + char wk2[192]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SWINT:1; + } BIT; + } SWINTR; + char wk3[15]; + union { + unsigned short WORD; + struct { + unsigned short FIEN:1; + unsigned short :7; + unsigned short FVCT:8; + } BIT; + } FIR; + char wk4[14]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char IPR:4; + } BIT; + } IPR[250]; + char wk5[262]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char IRQMD:2; + } BIT; + } IRQCR[8]; + char wk6[8]; + union { + unsigned char BYTE; + struct { + unsigned char FLTEN7:1; + unsigned char FLTEN6:1; + unsigned char FLTEN5:1; + unsigned char FLTEN4:1; + unsigned char FLTEN3:1; + unsigned char FLTEN2:1; + unsigned char FLTEN1:1; + unsigned char FLTEN0:1; + } BIT; + } IRQFLTE0; + char wk7[3]; + union { + unsigned short WORD; + struct { + unsigned short FCLKSEL7:2; + unsigned short FCLKSEL6:2; + unsigned short FCLKSEL5:2; + unsigned short FCLKSEL4:2; + unsigned short FCLKSEL3:2; + unsigned short FCLKSEL2:2; + unsigned short FCLKSEL1:2; + unsigned short FCLKSEL0:2; + } BIT; + } IRQFLTC0; + char wk8[106]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char LVD2ST:1; + unsigned char LVD1ST:1; + unsigned char IWDTST:1; + unsigned char :1; + unsigned char OSTST:1; + unsigned char NMIST:1; + } BIT; + } NMISR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char LVD2EN:1; + unsigned char LVD1EN:1; + unsigned char IWDTEN:1; + unsigned char :1; + unsigned char OSTEN:1; + unsigned char NMIEN:1; + } BIT; + } NMIER; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char LVD2CLR:1; + unsigned char LVD1CLR:1; + unsigned char IWDTCLR:1; + unsigned char :1; + unsigned char OSTCLR:1; + unsigned char NMICLR:1; + } BIT; + } NMICLR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char NMIMD:1; + } BIT; + } NMICR; + char wk9[12]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char NFLTEN:1; + } BIT; + } NMIFLTE; + char wk10[3]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char NFCLKSEL:2; + } BIT; + } NMIFLTC; +}; + +struct st_iwdt { + unsigned char IWDTRR; + char wk0[1]; + union { + unsigned short WORD; + struct { + unsigned short :2; + unsigned short RPSS:2; + unsigned short :2; + unsigned short RPES:2; + unsigned short CKS:4; + unsigned short :2; + unsigned short TOPS:2; + } BIT; + } IWDTCR; + union { + unsigned short WORD; + struct { + unsigned short REFEF:1; + unsigned short UNDFF:1; + unsigned short CNTVAL:14; + } BIT; + } IWDTSR; + union { + unsigned char BYTE; + struct { + unsigned char RSTIRQS:1; + } BIT; + } IWDTRCR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char SLCSTP:1; + } BIT; + } IWDTCSTPR; +}; + +struct st_mpc { + union { + unsigned char BYTE; + struct { + unsigned char B0WI:1; + unsigned char PFSWE:1; + } BIT; + } PWPR; + char wk0[35]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P03PFS; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P05PFS; + char wk2[6]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P14PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P15PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P16PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P17PFS; + char wk3[6]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } P26PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P27PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P30PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P31PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P32PFS; + char wk4[2]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + } BIT; + } P35PFS; + char wk5[2]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P40PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P41PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P42PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P43PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P44PFS; + char wk6[1]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P46PFS; + char wk7[5]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } P54PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } P55PFS; + char wk8[34]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PA0PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PA1PFS; + char wk9[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PA3PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PA4PFS; + char wk10[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PA6PFS; + char wk11[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PB0PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PB1PFS; + char wk12[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PB3PFS; + char wk13[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PB5PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PB6PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PB7PFS; + char wk14[2]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PC2PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PC3PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PC4PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PC5PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PC6PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PC7PFS; + char wk15[8]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE0PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE1PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE2PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE3PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE4PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE5PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE6PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE7PFS; + char wk16[30]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } PJ6PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } PJ7PFS; +}; + +struct st_mtu { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char OE4D:1; + unsigned char OE4C:1; + unsigned char OE3D:1; + unsigned char OE4B:1; + unsigned char OE4A:1; + unsigned char OE3B:1; + } BIT; + } TOER; + char wk0[2]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char BDC:1; + unsigned char N:1; + unsigned char P:1; + unsigned char FB:1; + unsigned char WF:1; + unsigned char VF:1; + unsigned char UF:1; + } BIT; + } TGCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PSYE:1; + unsigned char :2; + unsigned char TOCL:1; + unsigned char TOCS:1; + unsigned char OLSN:1; + unsigned char OLSP:1; + } BIT; + } TOCR1; + union { + unsigned char BYTE; + struct { + unsigned char BF:2; + unsigned char OLS3N:1; + unsigned char OLS3P:1; + unsigned char OLS2N:1; + unsigned char OLS2P:1; + unsigned char OLS1N:1; + unsigned char OLS1P:1; + } BIT; + } TOCR2; + char wk1[4]; + unsigned short TCDR; + unsigned short TDDR; + char wk2[8]; + unsigned short TCNTS; + unsigned short TCBR; + char wk3[12]; + union { + unsigned char BYTE; + struct { + unsigned char T3AEN:1; + unsigned char T3ACOR:3; + unsigned char T4VEN:1; + unsigned char T4VCOR:3; + } BIT; + } TITCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char T3ACNT:3; + unsigned char :1; + unsigned char T4VCNT:3; + } BIT; + } TITCNT; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char BTE:2; + } BIT; + } TBTER; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char TDER:1; + } BIT; + } TDER; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char OLS3N:1; + unsigned char OLS3P:1; + unsigned char OLS2N:1; + unsigned char OLS2P:1; + unsigned char OLS1N:1; + unsigned char OLS1P:1; + } BIT; + } TOLBR; + char wk6[41]; + union { + unsigned char BYTE; + struct { + unsigned char CCE:1; + unsigned char :6; + unsigned char WRE:1; + } BIT; + } TWCR; + char wk7[31]; + union { + unsigned char BYTE; + struct { + unsigned char CST4:1; + unsigned char CST3:1; + unsigned char :3; + unsigned char CST2:1; + unsigned char CST1:1; + unsigned char CST0:1; + } BIT; + } TSTR; + union { + unsigned char BYTE; + struct { + unsigned char SYNC4:1; + unsigned char SYNC3:1; + unsigned char :3; + unsigned char SYNC2:1; + unsigned char SYNC1:1; + unsigned char SYNC0:1; + } BIT; + } TSYR; + char wk8[2]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char RWE:1; + } BIT; + } TRWER; +}; + +struct st_mtu0 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; + char wk0[111]; + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char BFE:1; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOD:4; + unsigned char IOC:4; + } BIT; + } TIORL; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :2; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; + unsigned short TGRC; + unsigned short TGRD; + char wk1[16]; + unsigned short TGRE; + unsigned short TGRF; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TGIEF:1; + unsigned char TGIEE:1; + } BIT; + } TIER2; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TTSE:1; + unsigned char TTSB:1; + unsigned char TTSA:1; + } BIT; + } TBTM; +}; + +struct st_mtu1 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; + char wk1[238]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char CCLR:2; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char MD:4; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIOR; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :1; + unsigned char TCIEU:1; + unsigned char TCIEV:1; + unsigned char :2; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; + char wk3[4]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char I2BE:1; + unsigned char I2AE:1; + unsigned char I1BE:1; + unsigned char I1AE:1; + } BIT; + } TICCR; +}; + +struct st_mtu2 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; + char wk0[365]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char CCLR:2; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char MD:4; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIOR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :1; + unsigned char TCIEU:1; + unsigned char TCIEV:1; + unsigned char :2; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; +}; + +struct st_mtu3 { + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOD:4; + unsigned char IOC:4; + } BIT; + } TIORL; + char wk2[2]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :2; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + char wk3[7]; + unsigned short TCNT; + char wk4[6]; + unsigned short TGRA; + unsigned short TGRB; + char wk5[8]; + unsigned short TGRC; + unsigned short TGRD; + char wk6[4]; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + char wk7[11]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TTSE:1; + unsigned char TTSB:1; + unsigned char TTSA:1; + } BIT; + } TBTM; + char wk8[90]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; +}; + +struct st_mtu4 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR; + char wk2[2]; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOD:4; + unsigned char IOC:4; + } BIT; + } TIORL; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char TTGE2:1; + unsigned char :1; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + char wk4[8]; + unsigned short TCNT; + char wk5[8]; + unsigned short TGRA; + unsigned short TGRB; + char wk6[8]; + unsigned short TGRC; + unsigned short TGRD; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + char wk8[11]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TTSE:1; + unsigned char TTSB:1; + unsigned char TTSA:1; + } BIT; + } TBTM; + char wk9[6]; + union { + unsigned short WORD; + struct { + unsigned short BF:2; + unsigned short :6; + unsigned short UT4AE:1; + unsigned short DT4AE:1; + unsigned short UT4BE:1; + unsigned short DT4BE:1; + unsigned short ITA3AE:1; + unsigned short ITA4VE:1; + unsigned short ITB3AE:1; + unsigned short ITB4VE:1; + } BIT; + } TADCR; + char wk10[2]; + unsigned short TADCORA; + unsigned short TADCORB; + unsigned short TADCOBRA; + unsigned short TADCOBRB; + char wk11[72]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; +}; + +struct st_mtu5 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char :1; + unsigned char NFWEN:1; + unsigned char NFVEN:1; + unsigned char NFUEN:1; + } BIT; + } NFCR; + char wk1[490]; + unsigned short TCNTU; + unsigned short TGRU; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TPSC:2; + } BIT; + } TCRU; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char IOC:5; + } BIT; + } TIORU; + char wk3[9]; + unsigned short TCNTV; + unsigned short TGRV; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TPSC:2; + } BIT; + } TCRV; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char IOC:5; + } BIT; + } TIORV; + char wk5[9]; + unsigned short TCNTW; + unsigned short TGRW; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TPSC:2; + } BIT; + } TCRW; + char wk6[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char IOC:5; + } BIT; + } TIORW; + char wk7[11]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TGIE5U:1; + unsigned char TGIE5V:1; + unsigned char TGIE5W:1; + } BIT; + } TIER; + char wk8[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char CSTU5:1; + unsigned char CSTV5:1; + unsigned char CSTW5:1; + } BIT; + } TSTR; + char wk9[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char CMPCLR5U:1; + unsigned char CMPCLR5V:1; + unsigned char CMPCLR5W:1; + } BIT; + } TCNTCMPCLR; +}; + +struct st_poe { + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char POE3F:1; + unsigned char POE2F:1; + unsigned char POE1F:1; + unsigned char POE0F:1; + unsigned char :3; + unsigned char PIE1:1; + unsigned char POE3M:2; + unsigned char POE2M:2; + unsigned char POE1M:2; + unsigned char POE0M:2; + } BIT; + } ICSR1; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char OSF1:1; + unsigned char :5; + unsigned char OCE1:1; + unsigned char OIE1:1; + } BIT; + } OCSR1; + char wk0[4]; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :3; + unsigned char POE8F:1; + unsigned char :2; + unsigned char POE8E:1; + unsigned char PIE2:1; + unsigned char :6; + unsigned char POE8M:2; + } BIT; + } ICSR2; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char CH0HIZ:1; + unsigned char CH34HIZ:1; + } BIT; + } SPOER; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char PE3ZE:1; + unsigned char PE2ZE:1; + unsigned char PE1ZE:1; + unsigned char PE0ZE:1; + } BIT; + } POECR1; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char P1CZEA:1; + unsigned char P2CZEA:1; + unsigned char P3CZEA:1; + } BIT; + } POECR2; + char wk1[1]; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :3; + unsigned char OSTSTF:1; + unsigned char :2; + unsigned char OSTSTE:1; + } BIT; + } ICSR3; +}; + +struct st_port { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL5:1; + unsigned char :1; + unsigned char PSEL3:1; + unsigned char :1; + unsigned char PSEL1:1; + unsigned char PSEL0:1; + } BIT; + } PSRB; + union { + unsigned char BYTE; + struct { + unsigned char PSEL7:1; + unsigned char PSEL6:1; + } BIT; + } PSRA; +}; + +struct st_port0 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PMR; + char wk3[95]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PCR; +}; + +struct st_port1 { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PMR; + char wk3[33]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[61]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PCR; +}; + +struct st_port2 { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + } BIT; + } PMR; + char wk3[34]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + } BIT; + } ODR1; + char wk4[60]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + } BIT; + } PCR; +}; + +struct st_port3 { + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :2; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[34]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + char wk4[60]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_port4 { + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; +}; + +struct st_port5 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PMR; + char wk3[95]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PCR; +}; + +struct st_porta { + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[41]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :3; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char B4:1; + unsigned char :3; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[52]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_portb { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[42]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :3; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + } BIT; + } ODR1; + char wk4[51]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_portc { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + } BIT; + } PMR; + char wk3[43]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[50]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + } BIT; + } PCR; +}; + +struct st_porte { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[45]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[48]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_riic { + union { + unsigned char BYTE; + struct { + unsigned char ICE:1; + unsigned char IICRST:1; + unsigned char CLO:1; + unsigned char SOWP:1; + unsigned char SCLO:1; + unsigned char SDAO:1; + unsigned char SCLI:1; + unsigned char SDAI:1; + } BIT; + } ICCR1; + union { + unsigned char BYTE; + struct { + unsigned char BBSY:1; + unsigned char MST:1; + unsigned char TRS:1; + unsigned char :1; + unsigned char SP:1; + unsigned char RS:1; + unsigned char ST:1; + } BIT; + } ICCR2; + union { + unsigned char BYTE; + struct { + unsigned char MTWP:1; + unsigned char CKS:3; + unsigned char BCWP:1; + unsigned char BC:3; + } BIT; + } ICMR1; + union { + unsigned char BYTE; + struct { + unsigned char DLCS:1; + unsigned char SDDL:3; + unsigned char TMWE:1; + unsigned char TMOH:1; + unsigned char TMOL:1; + unsigned char TMOS:1; + } BIT; + } ICMR2; + union { + unsigned char BYTE; + struct { + unsigned char SMBS:1; + unsigned char WAIT:1; + unsigned char RDRFS:1; + unsigned char ACKWP:1; + unsigned char ACKBT:1; + unsigned char ACKBR:1; + unsigned char NF:2; + } BIT; + } ICMR3; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char SCLE:1; + unsigned char NFE:1; + unsigned char NACKE:1; + unsigned char SALE:1; + unsigned char NALE:1; + unsigned char MALE:1; + unsigned char TMOE:1; + } BIT; + } ICFER; + union { + unsigned char BYTE; + struct { + unsigned char HOAE:1; + unsigned char :1; + unsigned char DIDE:1; + unsigned char :1; + unsigned char GCAE:1; + unsigned char SAR2E:1; + unsigned char SAR1E:1; + unsigned char SAR0E:1; + } BIT; + } ICSER; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char TEIE:1; + unsigned char RIE:1; + unsigned char NAKIE:1; + unsigned char SPIE:1; + unsigned char STIE:1; + unsigned char ALIE:1; + unsigned char TMOIE:1; + } BIT; + } ICIER; + union { + unsigned char BYTE; + struct { + unsigned char HOA:1; + unsigned char :1; + unsigned char DID:1; + unsigned char :1; + unsigned char GCA:1; + unsigned char AAS2:1; + unsigned char AAS1:1; + unsigned char AAS0:1; + } BIT; + } ICSR1; + union { + unsigned char BYTE; + struct { + unsigned char TDRE:1; + unsigned char TEND:1; + unsigned char RDRF:1; + unsigned char NACKF:1; + unsigned char STOP:1; + unsigned char START:1; + unsigned char AL:1; + unsigned char TMOF:1; + } BIT; + } ICSR2; + union { + union { + unsigned char BYTE; + struct { + unsigned char SVA:7; + unsigned char SVA0:1; + } BIT; + } SARL0; + union { + unsigned char BYTE; + } TMOCNTL; + }; + union { + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SVA:2; + unsigned char FS:1; + } BIT; + } SARU0; + union { + unsigned char BYTE; + } TMOCNTH; + }; + union { + unsigned char BYTE; + struct { + unsigned char SVA:7; + unsigned char SVA0:1; + } BIT; + } SARL1; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SVA:2; + unsigned char FS:1; + } BIT; + } SARU1; + union { + unsigned char BYTE; + struct { + unsigned char SVA:7; + unsigned char SVA0:1; + } BIT; + } SARL2; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SVA:2; + unsigned char FS:1; + } BIT; + } SARU2; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char BRL:5; + } BIT; + } ICBRL; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char BRH:5; + } BIT; + } ICBRH; + unsigned char ICDRT; + unsigned char ICDRR; +}; + +struct st_rspi { + union { + unsigned char BYTE; + struct { + unsigned char SPRIE:1; + unsigned char SPE:1; + unsigned char SPTIE:1; + unsigned char SPEIE:1; + unsigned char MSTR:1; + unsigned char MODFEN:1; + unsigned char TXMD:1; + unsigned char SPMS:1; + } BIT; + } SPCR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char SSL3P:1; + unsigned char SSL2P:1; + unsigned char SSL1P:1; + unsigned char SSL0P:1; + } BIT; + } SSLP; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char MOIFE:1; + unsigned char MOIFV:1; + unsigned char :2; + unsigned char SPLP2:1; + unsigned char SPLP:1; + } BIT; + } SPPCR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char PERF:1; + unsigned char MODF:1; + unsigned char IDLNF:1; + unsigned char OVRF:1; + } BIT; + } SPSR; + union { + unsigned long LONG; + struct { + unsigned short H; + } WORD; + } SPDR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SPSLN:3; + } BIT; + } SPSCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char SPECM:3; + unsigned char :1; + unsigned char SPCP:3; + } BIT; + } SPSSR; + unsigned char SPBR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char SPLW:1; + unsigned char SPRDTD:1; + unsigned char :2; + unsigned char SPFC:2; + } BIT; + } SPDCR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SCKDL:3; + } BIT; + } SPCKD; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SLNDL:3; + } BIT; + } SSLND; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SPNDL:3; + } BIT; + } SPND; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char PTE:1; + unsigned char SPIIE:1; + unsigned char SPOE:1; + unsigned char SPPE:1; + } BIT; + } SPCR2; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD0; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD1; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD2; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD3; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD4; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD5; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD6; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD7; +}; + +struct st_rtc { + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char F1HZ:1; + unsigned char F2HZ:1; + unsigned char F4HZ:1; + unsigned char F8HZ:1; + unsigned char F16HZ:1; + unsigned char F32HZ:1; + unsigned char F64HZ:1; + } BIT; + } R64CNT; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char SEC10:3; + unsigned char SEC1:4; + } BIT; + } RSECCNT; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char MIN10:3; + unsigned char MIN1:4; + } BIT; + } RMINCNT; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PM:1; + unsigned char HR10:2; + unsigned char HR1:4; + } BIT; + } RHRCNT; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char DAYW:3; + } BIT; + } RWKCNT; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char DATE10:2; + unsigned char DATE1:4; + } BIT; + } RDAYCNT; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char MON10:1; + unsigned char MON1:4; + } BIT; + } RMONCNT; + char wk6[1]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short YR10:4; + unsigned short YR1:4; + } BIT; + } RYRCNT; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char SEC10:3; + unsigned char SEC1:4; + } BIT; + } RSECAR; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char MIN10:3; + unsigned char MIN1:4; + } BIT; + } RMINAR; + char wk8[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char PM:1; + unsigned char HR10:2; + unsigned char HR1:4; + } BIT; + } RHRAR; + char wk9[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char :4; + unsigned char DAYW:3; + } BIT; + } RWKAR; + char wk10[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char :1; + unsigned char DATE10:2; + unsigned char DATE1:4; + } BIT; + } RDAYAR; + char wk11[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char :2; + unsigned char MON10:1; + unsigned char MON1:4; + } BIT; + } RMONAR; + char wk12[1]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short YR10:4; + unsigned short YR1:4; + } BIT; + } RYRAR; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + } BIT; + } RYRAREN; + char wk13[3]; + union { + unsigned char BYTE; + struct { + unsigned char PES:4; + unsigned char RTCOS:1; + unsigned char PIE:1; + unsigned char CIE:1; + unsigned char AIE:1; + } BIT; + } RCR1; + char wk14[1]; + union { + unsigned char BYTE; + struct { + unsigned char CNTMD:1; + unsigned char HR24:1; + unsigned char AADJP:1; + unsigned char AADJE:1; + unsigned char RTCOE:1; + unsigned char ADJ30:1; + unsigned char RESET:1; + unsigned char START:1; + } BIT; + } RCR2; + char wk15[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char RTCDV:2; + unsigned char RTCEN:1; + } BIT; + } RCR3; + char wk16[7]; + union { + unsigned char BYTE; + struct { + unsigned char PMADJ:2; + unsigned char ADJ:6; + } BIT; + } RADJ; +}; + +struct st_rtcb { + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT0; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT1; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT2; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT3; + char wk3[7]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT0AR; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT1AR; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT2AR; + char wk6[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT3AR; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:8; + } BIT; + } BCNT0AER; + char wk8[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:8; + } BIT; + } BCNT1AER; + char wk9[1]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short ENB:8; + } BIT; + } BCNT2AER; + union { + unsigned char BYTE; + struct { + unsigned char ENB:8; + } BIT; + } BCNT3AER; +}; + +struct st_s12ad { + union { + unsigned short WORD; + struct { + unsigned short ADST:1; + unsigned short ADCS:2; + unsigned short ADIE:1; + unsigned short :1; + unsigned short ADHSC:1; + unsigned short TRGE:1; + unsigned short EXTRG:1; + unsigned short DBLE:1; + unsigned short GBADIE:1; + unsigned short :1; + unsigned short DBLANS:5; + } BIT; + } ADCSR; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned short ANSA15:1; + unsigned short ANSA14:1; + unsigned short ANSA13:1; + unsigned short ANSA12:1; + unsigned short ANSA11:1; + unsigned short ANSA10:1; + unsigned short ANSA9:1; + unsigned short ANSA8:1; + unsigned short :1; + unsigned short ANSA6:1; + unsigned short :1; + unsigned short ANSA4:1; + unsigned short ANSA3:1; + unsigned short ANSA2:1; + unsigned short ANSA1:1; + unsigned short ANSA0:1; + } BIT; + } ADANSA; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned short ADS15:1; + unsigned short ADS14:1; + unsigned short ADS13:1; + unsigned short ADS12:1; + unsigned short ADS11:1; + unsigned short ADS10:1; + unsigned short ADS9:1; + unsigned short ADS8:1; + unsigned short :1; + unsigned short ADS6:1; + unsigned short :1; + unsigned short ADS4:1; + unsigned short ADS3:1; + unsigned short ADS2:1; + unsigned short ADS1:1; + unsigned short ADS0:1; + } BIT; + } ADADS; + char wk2[2]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char ADC:2; + } BIT; + } ADADC; + char wk3[1]; + union { + unsigned short WORD; + struct { + unsigned short ADRFMT:1; + unsigned short :9; + unsigned short ACE:1; + } BIT; + } ADCER; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short TRSA:4; + unsigned short :4; + unsigned short TRSB:4; + } BIT; + } ADSTRGR; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short OCS:1; + unsigned short TSS:1; + unsigned short :6; + unsigned short OCSAD:1; + } BIT; + } ADEXICR; + union { + unsigned short WORD; + struct { + unsigned short ANSB15:1; + unsigned short ANSB14:1; + unsigned short ANSB13:1; + unsigned short ANSB12:1; + unsigned short ANSB11:1; + unsigned short ANSB10:1; + unsigned short ANSB9:1; + unsigned short ANSB8:1; + unsigned short :1; + unsigned short ANSB6:1; + unsigned short :1; + unsigned short ANSB4:1; + unsigned short ANSB3:1; + unsigned short ANSB2:1; + unsigned short ANSB1:1; + unsigned short ANSB0:1; + } BIT; + } ADANSB; + char wk4[2]; + unsigned short ADDBLDR; + unsigned short ADTSDR; + unsigned short ADOCDR; + char wk5[2]; + unsigned short ADDR0; + unsigned short ADDR1; + unsigned short ADDR2; + unsigned short ADDR3; + unsigned short ADDR4; + char wk6[2]; + unsigned short ADDR6; + char wk7[2]; + unsigned short ADDR8; + unsigned short ADDR9; + unsigned short ADDR10; + unsigned short ADDR11; + unsigned short ADDR12; + unsigned short ADDR13; + unsigned short ADDR14; + unsigned short ADDR15; + char wk8[32]; + unsigned char ADSSTR0; + unsigned char ADSSTRL; + char wk9[14]; + unsigned char ADSSTRT; + unsigned char ADSSTRO; + char wk10[1]; + unsigned char ADSSTR1; + unsigned char ADSSTR2; + unsigned char ADSSTR3; + unsigned char ADSSTR4; + char wk11[1]; + unsigned char ADSSTR6; +}; + +struct st_sci1 { + union { + unsigned char BYTE; + struct { + unsigned char CM:1; + unsigned char CHR:1; + unsigned char PE:1; + unsigned char PM:1; + unsigned char STOP:1; + unsigned char MP:1; + unsigned char CKS:2; + } BIT; + } SMR; + unsigned char BRR; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char RIE:1; + unsigned char TE:1; + unsigned char RE:1; + unsigned char MPIE:1; + unsigned char TEIE:1; + unsigned char CKE:2; + } BIT; + } SCR; + unsigned char TDR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char ORER:1; + unsigned char FER:1; + unsigned char PER:1; + unsigned char TEND:1; + unsigned char MPB:1; + unsigned char MPBT:1; + } BIT; + } SSR; + unsigned char RDR; + union { + unsigned char BYTE; + struct { + unsigned char BCP2:1; + unsigned char :3; + unsigned char SDIR:1; + unsigned char SINV:1; + unsigned char :1; + unsigned char SMIF:1; + } BIT; + } SCMR; + union { + unsigned char BYTE; + struct { + unsigned char RXDESEL:1; + unsigned char :1; + unsigned char NFEN:1; + unsigned char ABCS:1; + } BIT; + } SEMR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char NFCS:3; + } BIT; + } SNFR; + union { + unsigned char BYTE; + struct { + unsigned char IICDL:5; + unsigned char :2; + unsigned char IICM:1; + } BIT; + } SIMR1; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char IICACKT:1; + unsigned char :3; + unsigned char IICCSC:1; + unsigned char IICINTM:1; + } BIT; + } SIMR2; + union { + unsigned char BYTE; + struct { + unsigned char IICSCLS:2; + unsigned char IICSDAS:2; + unsigned char IICSTIF:1; + unsigned char IICSTPREQ:1; + unsigned char IICRSTAREQ:1; + unsigned char IICSTAREQ:1; + } BIT; + } SIMR3; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char IICACKR:1; + } BIT; + } SISR; + union { + unsigned char BYTE; + struct { + unsigned char CKPH:1; + unsigned char CKPOL:1; + unsigned char :1; + unsigned char MFF:1; + unsigned char :1; + unsigned char MSS:1; + unsigned char CTSE:1; + unsigned char SSE:1; + } BIT; + } SPMR; +}; + +struct st_sci12 { + union { + unsigned char BYTE; + struct { + unsigned char CM:1; + unsigned char CHR:1; + unsigned char PE:1; + unsigned char PM:1; + unsigned char STOP:1; + unsigned char MP:1; + unsigned char CKS:2; + } BIT; + } SMR; + unsigned char BRR; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char RIE:1; + unsigned char TE:1; + unsigned char RE:1; + unsigned char MPIE:1; + unsigned char TEIE:1; + unsigned char CKE:2; + } BIT; + } SCR; + unsigned char TDR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char ORER:1; + unsigned char FER:1; + unsigned char PER:1; + unsigned char TEND:1; + unsigned char MPB:1; + unsigned char MPBT:1; + } BIT; + } SSR; + unsigned char RDR; + union { + unsigned char BYTE; + struct { + unsigned char BCP2:1; + unsigned char :3; + unsigned char SDIR:1; + unsigned char SINV:1; + unsigned char :1; + unsigned char SMIF:1; + } BIT; + } SCMR; + union { + unsigned char BYTE; + struct { + unsigned char RXDESEL:1; + unsigned char :1; + unsigned char NFEN:1; + unsigned char ABCS:1; + } BIT; + } SEMR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char NFCS:3; + } BIT; + } SNFR; + union { + unsigned char BYTE; + struct { + unsigned char IICDL:5; + unsigned char :2; + unsigned char IICM:1; + } BIT; + } SIMR1; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char IICACKT:1; + unsigned char :3; + unsigned char IICCSC:1; + unsigned char IICINTM:1; + } BIT; + } SIMR2; + union { + unsigned char BYTE; + struct { + unsigned char IICSCLS:2; + unsigned char IICSDAS:2; + unsigned char IICSTIF:1; + unsigned char IICSTPREQ:1; + unsigned char IICRSTAREQ:1; + unsigned char IICSTAREQ:1; + } BIT; + } SIMR3; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char IICACKR:1; + } BIT; + } SISR; + union { + unsigned char BYTE; + struct { + unsigned char CKPH:1; + unsigned char CKPOL:1; + unsigned char :1; + unsigned char MFF:1; + unsigned char :1; + unsigned char MSS:1; + unsigned char CTSE:1; + unsigned char SSE:1; + } BIT; + } SPMR; + char wk0[18]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char ESME:1; + } BIT; + } ESMER; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char BRME:1; + unsigned char RXDSF:1; + unsigned char SFSF:1; + } BIT; + } CR0; + union { + unsigned char BYTE; + struct { + unsigned char PIBS:3; + unsigned char PIBE:1; + unsigned char CF1DS:2; + unsigned char CF0RE:1; + unsigned char BFE:1; + } BIT; + } CR1; + union { + unsigned char BYTE; + struct { + unsigned char RTS:2; + unsigned char BCCS:2; + unsigned char :1; + unsigned char DFCS:3; + } BIT; + } CR2; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SDST:1; + } BIT; + } CR3; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char SHARPS:1; + unsigned char :2; + unsigned char RXDXPS:1; + unsigned char TXDXPS:1; + } BIT; + } PCR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char AEDIE:1; + unsigned char BCDIE:1; + unsigned char PIBDIE:1; + unsigned char CF1MIE:1; + unsigned char CF0MIE:1; + unsigned char BFDIE:1; + } BIT; + } ICR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char AEDF:1; + unsigned char BCDF:1; + unsigned char PIBDF:1; + unsigned char CF1MF:1; + unsigned char CF0MF:1; + unsigned char BFDF:1; + } BIT; + } STR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char AEDCL:1; + unsigned char BCDCL:1; + unsigned char PIBDCL:1; + unsigned char CF1MCL:1; + unsigned char CF0MCL:1; + unsigned char BFDCL:1; + } BIT; + } STCR; + unsigned char CF0DR; + union { + unsigned char BYTE; + struct { + unsigned char CF0CE7:1; + unsigned char CF0CE6:1; + unsigned char CF0CE5:1; + unsigned char CF0CE4:1; + unsigned char CF0CE3:1; + unsigned char CF0CE2:1; + unsigned char CF0CE1:1; + unsigned char CF0CE0:1; + } BIT; + } CF0CR; + unsigned char CF0RR; + unsigned char PCF1DR; + unsigned char SCF1DR; + union { + unsigned char BYTE; + struct { + unsigned char CF1CE7:1; + unsigned char CF1CE6:1; + unsigned char CF1CE5:1; + unsigned char CF1CE4:1; + unsigned char CF1CE3:1; + unsigned char CF1CE2:1; + unsigned char CF1CE1:1; + unsigned char CF1CE0:1; + } BIT; + } CF1CR; + unsigned char CF1RR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char TCST:1; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char TCSS:3; + unsigned char TWRC:1; + unsigned char :1; + unsigned char TOMS:2; + } BIT; + } TMR; + unsigned char TPRE; + unsigned char TCNT; +}; + +struct st_smci { + union { + unsigned char BYTE; + struct { + unsigned char GM:1; + unsigned char BLK:1; + unsigned char PE:1; + unsigned char PM:1; + unsigned char BCP:2; + unsigned char CKS:2; + } BIT; + } SMR; + unsigned char BRR; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char RIE:1; + unsigned char TE:1; + unsigned char RE:1; + unsigned char MPIE:1; + unsigned char TEIE:1; + unsigned char CKE:2; + } BIT; + } SCR; + unsigned char TDR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char ORER:1; + unsigned char ERS:1; + unsigned char PER:1; + unsigned char TEND:1; + unsigned char MPB:1; + unsigned char MPBT:1; + } BIT; + } SSR; + unsigned char RDR; + union { + unsigned char BYTE; + struct { + unsigned char BCP2:1; + unsigned char :3; + unsigned char SDIR:1; + unsigned char SINV:1; + unsigned char :1; + unsigned char SMIF:1; + } BIT; + } SCMR; +}; + +struct st_system { + union { + unsigned short WORD; + struct { + unsigned short :15; + unsigned short MD:1; + } BIT; + } MDMONR; + char wk0[6]; + union { + unsigned short WORD; + struct { + unsigned short :15; + unsigned short RAME:1; + } BIT; + } SYSCR1; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned short SSBY:1; + } BIT; + } SBYCR; + char wk2[2]; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long MSTPA28:1; + unsigned long :8; + unsigned long MSTPA19:1; + unsigned long :1; + unsigned long MSTPA17:1; + unsigned long :1; + unsigned long MSTPA15:1; + unsigned long :5; + unsigned long MSTPA9:1; + } BIT; + } MSTPCRA; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long MSTPB30:1; + unsigned long :3; + unsigned long MSTPB26:1; + unsigned long :2; + unsigned long MSTPB23:1; + unsigned long :1; + unsigned long MSTPB21:1; + unsigned long :1; + unsigned long MSTPB19:1; + unsigned long :1; + unsigned long MSTPB17:1; + unsigned long :7; + unsigned long MSTPB9:1; + unsigned long :2; + unsigned long MSTPB6:1; + unsigned long :1; + unsigned long MSTPB4:1; + } BIT; + } MSTPCRB; + union { + unsigned long LONG; + struct { + unsigned long DSLPE:1; + unsigned long :11; + unsigned long MSTPC19:1; + unsigned long :18; + unsigned long MSTPC0:1; + } BIT; + } MSTPCRC; + char wk3[4]; + union { + unsigned long LONG; + struct { + unsigned long FCK:4; + unsigned long ICK:4; + unsigned long :12; + unsigned long PCKB:4; + unsigned long :4; + unsigned long PCKD:4; + } BIT; + } SCKCR; + char wk4[2]; + union { + unsigned short WORD; + struct { + unsigned short :5; + unsigned short CKSEL:3; + } BIT; + } SCKCR3; + union { + unsigned short WORD; + struct { + unsigned short :2; + unsigned short STC:6; + unsigned short :6; + unsigned short PLIDIV:2; + } BIT; + } PLLCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char PLLEN:1; + } BIT; + } PLLCR2; + char wk5[7]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char MOSTP:1; + } BIT; + } MOSCCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SOSTP:1; + } BIT; + } SOSCCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char LCSTP:1; + } BIT; + } LOCOCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char ILCSTP:1; + } BIT; + } ILOCOCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char HCSTP:1; + } BIT; + } HOCOCR; + char wk6[5]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char HCOVF:1; + unsigned char PLOVF:1; + unsigned char :1; + unsigned char MOOVF:1; + } BIT; + } OSCOVFSR; + char wk7[1]; + union { + unsigned short WORD; + struct { + unsigned short CKOSTP:1; + unsigned short CKODIV:3; + unsigned short :1; + unsigned short CKOSEL:3; + } BIT; + } CKOCR; + union { + unsigned char BYTE; + struct { + unsigned char OSTDE:1; + unsigned char :6; + unsigned char OSTDIE:1; + } BIT; + } OSTDCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char OSTDF:1; + } BIT; + } OSTDSR; + char wk8[94]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char OPCMTSF:1; + unsigned char :1; + unsigned char OPCM:3; + } BIT; + } OPCCR; + union { + unsigned char BYTE; + struct { + unsigned char RSTCKEN:1; + unsigned char :4; + unsigned char RSTCKSEL:3; + } BIT; + } RSTCKCR; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char MSTS:5; + } BIT; + } MOSCWTCR; + char wk9[7]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char SOPCMTSF:1; + unsigned char :3; + unsigned char SOPCM:1; + } BIT; + } SOPCCR; + char wk10[21]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SWRF:1; + unsigned char :1; + unsigned char IWDTRF:1; + } BIT; + } RSTSR2; + char wk11[1]; + unsigned short SWRR; + char wk12[28]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char LVD1IRQSEL:1; + unsigned char LVD1IDTSEL:2; + } BIT; + } LVD1CR1; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char LVD1MON:1; + unsigned char LVD1DET:1; + } BIT; + } LVD1SR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char LVD2IRQSEL:1; + unsigned char LVD2IDTSEL:2; + } BIT; + } LVD2CR1; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char LVD2MON:1; + unsigned char LVD2DET:1; + } BIT; + } LVD2SR; + char wk13[794]; + union { + unsigned short WORD; + struct { + unsigned short PRKEY:8; + unsigned short :4; + unsigned short PRC3:1; + unsigned short :1; + unsigned short PRC1:1; + unsigned short PRC0:1; + } BIT; + } PRCR; + char wk14[48784]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char LVD2RF:1; + unsigned char LVD1RF:1; + unsigned char :1; + unsigned char PORF:1; + } BIT; + } RSTSR0; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char CWSF:1; + } BIT; + } RSTSR1; + char wk15[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char MOSEL:1; + unsigned char MODRV21:1; + } BIT; + } MOFCR; + char wk16[3]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char LVD2E:1; + unsigned char LVD1E:1; + unsigned char :1; + unsigned char EXVCCINP2:1; + } BIT; + } LVCMPCR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char LVD2LVL:2; + unsigned char LVD1LVL:4; + } BIT; + } LVDLVLR; + char wk17[1]; + union { + unsigned char BYTE; + struct { + unsigned char LVD1RN:1; + unsigned char LVD1RI:1; + unsigned char :3; + unsigned char LVD1CMPE:1; + unsigned char :1; + unsigned char LVD1RIE:1; + } BIT; + } LVD1CR0; + union { + unsigned char BYTE; + struct { + unsigned char LVD2RN:1; + unsigned char LVD2RI:1; + unsigned char :3; + unsigned char LVD2CMPE:1; + unsigned char :1; + unsigned char LVD2RIE:1; + } BIT; + } LVD2CR0; +}; + +struct st_usb { + union { + unsigned short WORD; + struct { + unsigned short :5; + unsigned short SCKE:1; + unsigned short :1; + unsigned short CNEN:1; + unsigned short :1; + unsigned short DCFM:1; + unsigned short DRPD:1; + unsigned short DPRPU:1; + unsigned short :3; + unsigned short USBE:1; + } BIT; + } SYSCFG; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned short OVCMON:2; + unsigned short :7; + unsigned short HTACT:1; + unsigned short :3; + unsigned short IDMON:1; + unsigned short LNST:2; + } BIT; + } SYSSTS0; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short HNPBTOA:1; + unsigned short EXICEN:1; + unsigned short VBUSEN:1; + unsigned short WKUP:1; + unsigned short RWUPE:1; + unsigned short USBRST:1; + unsigned short RESUME:1; + unsigned short UACT:1; + unsigned short :1; + unsigned short RHST:3; + } BIT; + } DVSTCTR0; + char wk2[10]; + union { + unsigned short WORD; + struct { + unsigned char L; + unsigned char H; + } BYTE; + } CFIFO; + char wk3[2]; + union { + unsigned short WORD; + struct { + unsigned char L; + unsigned char H; + } BYTE; + } D0FIFO; + char wk4[2]; + union { + unsigned short WORD; + struct { + unsigned char L; + unsigned char H; + } BYTE; + } D1FIFO; + char wk5[2]; + union { + unsigned short WORD; + struct { + unsigned short RCNT:1; + unsigned short REW:1; + unsigned short :3; + unsigned short MBW:1; + unsigned short :1; + unsigned short BIGEND:1; + unsigned short :2; + unsigned short ISEL:1; + unsigned short :1; + unsigned short CURPIPE:4; + } BIT; + } CFIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short BVAL:1; + unsigned short BCLR:1; + unsigned short FRDY:1; + unsigned short :4; + unsigned short DTLN:9; + } BIT; + } CFIFOCTR; + char wk6[4]; + union { + unsigned short WORD; + struct { + unsigned short RCNT:1; + unsigned short REW:1; + unsigned short DCLRM:1; + unsigned short DREQE:1; + unsigned short :1; + unsigned short MBW:1; + unsigned short :1; + unsigned short BIGEND:1; + unsigned short :4; + unsigned short CURPIPE:4; + } BIT; + } D0FIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short BVAL:1; + unsigned short BCLR:1; + unsigned short FRDY:1; + unsigned short :4; + unsigned short DTLN:9; + } BIT; + } D0FIFOCTR; + union { + unsigned short WORD; + struct { + unsigned short RCNT:1; + unsigned short REW:1; + unsigned short DCLRM:1; + unsigned short DREQE:1; + unsigned short :1; + unsigned short MBW:1; + unsigned short :1; + unsigned short BIGEND:1; + unsigned short :4; + unsigned short CURPIPE:4; + } BIT; + } D1FIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short BVAL:1; + unsigned short BCLR:1; + unsigned short FRDY:1; + unsigned short :4; + unsigned short DTLN:9; + } BIT; + } D1FIFOCTR; + union { + unsigned short WORD; + struct { + unsigned short VBSE:1; + unsigned short RSME:1; + unsigned short SOFE:1; + unsigned short DVSE:1; + unsigned short CTRE:1; + unsigned short BEMPE:1; + unsigned short NRDYE:1; + unsigned short BRDYE:1; + } BIT; + } INTENB0; + union { + unsigned short WORD; + struct { + unsigned short OVRCRE:1; + unsigned short BCHGE:1; + unsigned short :1; + unsigned short DTCHE:1; + unsigned short ATTCHE:1; + unsigned short :4; + unsigned short EOFERRE:1; + unsigned short SIGNE:1; + unsigned short SACKE:1; + unsigned short :3; + unsigned short PDDETINTE0:1; + } BIT; + } INTENB1; + char wk7[2]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BRDYE:1; + unsigned short PIPE8BRDYE:1; + unsigned short PIPE7BRDYE:1; + unsigned short PIPE6BRDYE:1; + unsigned short PIPE5BRDYE:1; + unsigned short PIPE4BRDYE:1; + unsigned short PIPE3BRDYE:1; + unsigned short PIPE2BRDYE:1; + unsigned short PIPE1BRDYE:1; + unsigned short PIPE0BRDYE:1; + } BIT; + } BRDYENB; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9NRDYE:1; + unsigned short PIPE8NRDYE:1; + unsigned short PIPE7NRDYE:1; + unsigned short PIPE6NRDYE:1; + unsigned short PIPE5NRDYE:1; + unsigned short PIPE4NRDYE:1; + unsigned short PIPE3NRDYE:1; + unsigned short PIPE2NRDYE:1; + unsigned short PIPE1NRDYE:1; + unsigned short PIPE0NRDYE:1; + } BIT; + } NRDYENB; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BEMPE:1; + unsigned short PIPE8BEMPE:1; + unsigned short PIPE7BEMPE:1; + unsigned short PIPE6BEMPE:1; + unsigned short PIPE5BEMPE:1; + unsigned short PIPE4BEMPE:1; + unsigned short PIPE3BEMPE:1; + unsigned short PIPE2BEMPE:1; + unsigned short PIPE1BEMPE:1; + unsigned short PIPE0BEMPE:1; + } BIT; + } BEMPENB; + union { + unsigned short WORD; + struct { + unsigned short :7; + unsigned short TRNENSEL:1; + unsigned short :1; + unsigned short BRDYM:1; + unsigned short :1; + unsigned short EDGESTS:1; + } BIT; + } SOFCFG; + char wk8[2]; + union { + unsigned short WORD; + struct { + unsigned short VBINT:1; + unsigned short RESM:1; + unsigned short SOFR:1; + unsigned short DVST:1; + unsigned short CTRT:1; + unsigned short BEMP:1; + unsigned short NRDY:1; + unsigned short BRDY:1; + unsigned short VBSTS:1; + unsigned short DVSQ:3; + unsigned short VALID:1; + unsigned short CTSQ:3; + } BIT; + } INTSTS0; + union { + unsigned short WORD; + struct { + unsigned short OVRCR:1; + unsigned short BCHG:1; + unsigned short :1; + unsigned short DTCH:1; + unsigned short ATTCH:1; + unsigned short :4; + unsigned short EOFERR:1; + unsigned short SIGN:1; + unsigned short SACK:1; + unsigned short :3; + unsigned short PDDETINT0:1; + } BIT; + } INTSTS1; + char wk9[2]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BRDY:1; + unsigned short PIPE8BRDY:1; + unsigned short PIPE7BRDY:1; + unsigned short PIPE6BRDY:1; + unsigned short PIPE5BRDY:1; + unsigned short PIPE4BRDY:1; + unsigned short PIPE3BRDY:1; + unsigned short PIPE2BRDY:1; + unsigned short PIPE1BRDY:1; + unsigned short PIPE0BRDY:1; + } BIT; + } BRDYSTS; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9NRDY:1; + unsigned short PIPE8NRDY:1; + unsigned short PIPE7NRDY:1; + unsigned short PIPE6NRDY:1; + unsigned short PIPE5NRDY:1; + unsigned short PIPE4NRDY:1; + unsigned short PIPE3NRDY:1; + unsigned short PIPE2NRDY:1; + unsigned short PIPE1NRDY:1; + unsigned short PIPE0NRDY:1; + } BIT; + } NRDYSTS; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BEMP:1; + unsigned short PIPE8BEMP:1; + unsigned short PIPE7BEMP:1; + unsigned short PIPE6BEMP:1; + unsigned short PIPE5BEMP:1; + unsigned short PIPE4BEMP:1; + unsigned short PIPE3BEMP:1; + unsigned short PIPE2BEMP:1; + unsigned short PIPE1BEMP:1; + unsigned short PIPE0BEMP:1; + } BIT; + } BEMPSTS; + union { + unsigned short WORD; + struct { + unsigned short OVRN:1; + unsigned short CRCE:1; + unsigned short :3; + unsigned short FRNM:11; + } BIT; + } FRMNUM; + char wk10[6]; + union { + unsigned short WORD; + struct { + unsigned short BREQUEST:8; + unsigned short BMREQUESTTYPE:8; + } BIT; + } USBREQ; + unsigned short USBVAL; + unsigned short USBINDX; + unsigned short USBLENG; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short SHTNAK:1; + unsigned short :2; + unsigned short DIR:1; + } BIT; + } DCPCFG; + union { + unsigned short WORD; + struct { + unsigned short DEVSEL:4; + unsigned short :5; + unsigned short MXPS:7; + } BIT; + } DCPMAXP; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short SUREQ:1; + unsigned short :2; + unsigned short SUREQCLR:1; + unsigned short :2; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :2; + unsigned short CCPL:1; + unsigned short PID:2; + } BIT; + } DCPCTR; + char wk11[2]; + union { + unsigned short WORD; + struct { + unsigned short :12; + unsigned short PIPESEL:4; + } BIT; + } PIPESEL; + char wk12[2]; + union { + unsigned short WORD; + struct { + unsigned short TYPE:2; + unsigned short :3; + unsigned short BFRE:1; + unsigned short DBLB:1; + unsigned short :1; + unsigned short SHTNAK:1; + unsigned short :2; + unsigned short DIR:1; + unsigned short EPNUM:4; + } BIT; + } PIPECFG; + char wk13[2]; + union { + unsigned short WORD; + struct { + unsigned short DEVSEL:4; + unsigned short :3; + unsigned short MXPS:9; + } BIT; + } PIPEMAXP; + union { + unsigned short WORD; + struct { + unsigned short :3; + unsigned short IFIS:1; + unsigned short :9; + unsigned short IITV:3; + } BIT; + } PIPEPERI; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE1CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE2CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE3CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE4CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE5CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short :5; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE6CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short :5; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE7CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short :5; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE8CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short :5; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE9CTR; + char wk14[14]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE1TRE; + unsigned short PIPE1TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE2TRE; + unsigned short PIPE2TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE3TRE; + unsigned short PIPE3TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE4TRE; + unsigned short PIPE4TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE5TRE; + unsigned short PIPE5TRN; + char wk15[12]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PDDETSTS0:1; + unsigned short CHGDETSTS0:1; + unsigned short BATCHGE0:1; + unsigned short DCPMODE0:1; + unsigned short VDMSRCE0:1; + unsigned short IDPSINKE0:1; + unsigned short VDPSRCE0:1; + unsigned short IDMSINKE0:1; + unsigned short IDPSRCE0:1; + unsigned short RPDME0:1; + } BIT; + } USBBCCTRL0; + char wk16[26]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short VBRPDCUT:1; + unsigned short :6; + unsigned short VDDUSBE:1; + } BIT; + } USBMC; + char wk17[2]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD0; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD1; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD2; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD3; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD4; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD5; +}; + +enum enum_ir { +IR_BSC_BUSERR=16,IR_ICU_SWINT=27, +IR_CMT0_CMI0, +IR_CMT1_CMI1, +IR_CAC_FERRF=32,IR_CAC_MENDF,IR_CAC_OVFF, +IR_USB0_D0FIFO0=36,IR_USB0_D1FIFO0,IR_USB0_USBI0, +IR_RSPI0_SPEI0=44,IR_RSPI0_SPRI0,IR_RSPI0_SPTI0,IR_RSPI0_SPII0, +IR_DOC_DOPCF=57, +IR_RTC_CUP=63, +IR_ICU_IRQ0,IR_ICU_IRQ1,IR_ICU_IRQ2,IR_ICU_IRQ3,IR_ICU_IRQ4,IR_ICU_IRQ5,IR_ICU_IRQ6,IR_ICU_IRQ7, +IR_LVD_LVD1=88,IR_LVD_LVD2, +IR_USB0_USBR0, +IR_RTC_ALM=92,IR_RTC_PRD, +IR_S12AD_S12ADI0=102,IR_S12AD_GBADI, +IR_ELC_ELSR18I=106, +IR_MTU0_TGIA0=114,IR_MTU0_TGIB0,IR_MTU0_TGIC0,IR_MTU0_TGID0,IR_MTU0_TCIV0,IR_MTU0_TGIE0,IR_MTU0_TGIF0, +IR_MTU1_TGIA1,IR_MTU1_TGIB1,IR_MTU1_TCIV1,IR_MTU1_TCIU1, +IR_MTU2_TGIA2,IR_MTU2_TGIB2,IR_MTU2_TCIV2,IR_MTU2_TCIU2, +IR_MTU3_TGIA3,IR_MTU3_TGIB3,IR_MTU3_TGIC3,IR_MTU3_TGID3,IR_MTU3_TCIV3, +IR_MTU4_TGIA4,IR_MTU4_TGIB4,IR_MTU4_TGIC4,IR_MTU4_TGID4,IR_MTU4_TCIV4, +IR_MTU5_TGIU5,IR_MTU5_TGIV5,IR_MTU5_TGIW5, +IR_POE_OEI1=170,IR_POE_OEI2, +IR_SCI1_ERI1=218,IR_SCI1_RXI1,IR_SCI1_TXI1,IR_SCI1_TEI1, +IR_SCI5_ERI5,IR_SCI5_RXI5,IR_SCI5_TXI5,IR_SCI5_TEI5, +IR_SCI12_ERI12=238,IR_SCI12_RXI12,IR_SCI12_TXI12,IR_SCI12_TEI12,IR_SCI12_SCIX0,IR_SCI12_SCIX1,IR_SCI12_SCIX2,IR_SCI12_SCIX3, +IR_RIIC0_EEI0,IR_RIIC0_RXI0,IR_RIIC0_TXI0,IR_RIIC0_TEI0 +}; + +enum enum_dtce { +DTCE_ICU_SWINT=27, +DTCE_CMT0_CMI0, +DTCE_CMT1_CMI1, +DTCE_USB0_D0FIFO0=36,DTCE_USB0_D1FIFO0, +DTCE_RSPI0_SPRI0=45,DTCE_RSPI0_SPTI0, +DTCE_ICU_IRQ0=64,DTCE_ICU_IRQ1,DTCE_ICU_IRQ2,DTCE_ICU_IRQ3,DTCE_ICU_IRQ4,DTCE_ICU_IRQ5,DTCE_ICU_IRQ6,DTCE_ICU_IRQ7, +DTCE_S12AD_S12ADI0=102,DTCE_S12AD_GBADI, +DTCE_ELC_ELSR18I=106, +DTCE_MTU0_TGIA0=114,DTCE_MTU0_TGIB0,DTCE_MTU0_TGIC0,DTCE_MTU0_TGID0, +DTCE_MTU1_TGIA1=121,DTCE_MTU1_TGIB1, +DTCE_MTU2_TGIA2=125,DTCE_MTU2_TGIB2, +DTCE_MTU3_TGIA3=129,DTCE_MTU3_TGIB3,DTCE_MTU3_TGIC3,DTCE_MTU3_TGID3, +DTCE_MTU4_TGIA4=134,DTCE_MTU4_TGIB4,DTCE_MTU4_TGIC4,DTCE_MTU4_TGID4,DTCE_MTU4_TCIV4, +DTCE_MTU5_TGIU5,DTCE_MTU5_TGIV5,DTCE_MTU5_TGIW5, +DTCE_SCI1_RXI1=219,DTCE_SCI1_TXI1, +DTCE_SCI5_RXI5=223,DTCE_SCI5_TXI5, +DTCE_SCI12_RXI12=239,DTCE_SCI12_TXI12, +DTCE_RIIC0_RXI0=247,DTCE_RIIC0_TXI0 +}; + +enum enum_ier { +IER_BSC_BUSERR=0x02, +IER_ICU_SWINT=0x03, +IER_CMT0_CMI0=0x03, +IER_CMT1_CMI1=0x03, +IER_CAC_FERRF=0x04,IER_CAC_MENDF=0x04,IER_CAC_OVFF=0x04, +IER_USB0_D0FIFO0=0x04,IER_USB0_D1FIFO0=0x04,IER_USB0_USBI0=0x04, +IER_RSPI0_SPEI0=0x05,IER_RSPI0_SPRI0=0x05,IER_RSPI0_SPTI0=0x05,IER_RSPI0_SPII0=0x05, +IER_DOC_DOPCF=0x07, +IER_RTC_CUP=0x07, +IER_ICU_IRQ0=0x08,IER_ICU_IRQ1=0x08,IER_ICU_IRQ2=0x08,IER_ICU_IRQ3=0x08,IER_ICU_IRQ4=0x08,IER_ICU_IRQ5=0x08,IER_ICU_IRQ6=0x08,IER_ICU_IRQ7=0x08, +IER_LVD_LVD1=0x0B,IER_LVD_LVD2=0x0B, +IER_USB0_USBR0=0x0B, +IER_RTC_ALM=0x0B,IER_RTC_PRD=0x0B, +IER_S12AD_S12ADI0=0x0C,IER_S12AD_GBADI=0x0C, +IER_ELC_ELSR18I=0x0D, +IER_MTU0_TGIA0=0x0E,IER_MTU0_TGIB0=0x0E,IER_MTU0_TGIC0=0x0E,IER_MTU0_TGID0=0x0E,IER_MTU0_TCIV0=0x0E,IER_MTU0_TGIE0=0x0E,IER_MTU0_TGIF0=0x0F, +IER_MTU1_TGIA1=0x0F,IER_MTU1_TGIB1=0x0F,IER_MTU1_TCIV1=0x0F,IER_MTU1_TCIU1=0x0F, +IER_MTU2_TGIA2=0x0F,IER_MTU2_TGIB2=0x0F,IER_MTU2_TCIV2=0x0F,IER_MTU2_TCIU2=0x10, +IER_MTU3_TGIA3=0x10,IER_MTU3_TGIB3=0x10,IER_MTU3_TGIC3=0x10,IER_MTU3_TGID3=0x10,IER_MTU3_TCIV3=0x10, +IER_MTU4_TGIA4=0x10,IER_MTU4_TGIB4=0x10,IER_MTU4_TGIC4=0x11,IER_MTU4_TGID4=0x11,IER_MTU4_TCIV4=0x11, +IER_MTU5_TGIU5=0x11,IER_MTU5_TGIV5=0x11,IER_MTU5_TGIW5=0x11, +IER_POE_OEI1=0x15,IER_POE_OEI2=0x15, +IER_SCI1_ERI1=0x1B,IER_SCI1_RXI1=0x1B,IER_SCI1_TXI1=0x1B,IER_SCI1_TEI1=0x1B, +IER_SCI5_ERI5=0x1B,IER_SCI5_RXI5=0x1B,IER_SCI5_TXI5=0x1C,IER_SCI5_TEI5=0x1C, +IER_SCI12_ERI12=0x1D,IER_SCI12_RXI12=0x1D,IER_SCI12_TXI12=0x1E,IER_SCI12_TEI12=0x1E,IER_SCI12_SCIX0=0x1E,IER_SCI12_SCIX1=0x1E,IER_SCI12_SCIX2=0x1E,IER_SCI12_SCIX3=0x1E, +IER_RIIC0_EEI0=0x1E,IER_RIIC0_RXI0=0x1E,IER_RIIC0_TXI0=0x1F,IER_RIIC0_TEI0=0x1F +}; + +enum enum_ipr { +IPR_BSC_BUSERR=0, +IPR_ICU_SWINT=3, +IPR_CMT0_CMI0=4, +IPR_CMT1_CMI1=5, +IPR_CAC_FERRF=32,IPR_CAC_MENDF=33,IPR_CAC_OVFF=34, +IPR_USB0_D0FIFO0=36,IPR_USB0_D1FIFO0=37,IPR_USB0_USBI0=38, +IPR_RSPI0_SPEI0=44,IPR_RSPI0_SPRI0=44,IPR_RSPI0_SPTI0=44,IPR_RSPI0_SPII0=44, +IPR_DOC_DOPCF=57, +IPR_RTC_CUP=63, +IPR_ICU_IRQ0=64,IPR_ICU_IRQ1=65,IPR_ICU_IRQ2=66,IPR_ICU_IRQ3=67,IPR_ICU_IRQ4=68,IPR_ICU_IRQ5=69,IPR_ICU_IRQ6=70,IPR_ICU_IRQ7=71, +IPR_LVD_LVD1=88,IPR_LVD_LVD2=89, +IPR_USB0_USBR0=90, +IPR_RTC_ALM=92,IPR_RTC_PRD=93, +IPR_S12AD_S12ADI0=102,IPR_S12AD_GBADI=103, +IPR_ELC_ELSR18I=106, +IPR_MTU0_TGIA0=114,IPR_MTU0_TGIB0=114,IPR_MTU0_TGIC0=114,IPR_MTU0_TGID0=114,IPR_MTU0_TCIV0=118,IPR_MTU0_TGIE0=118,IPR_MTU0_TGIF0=118, +IPR_MTU1_TGIA1=121,IPR_MTU1_TGIB1=121,IPR_MTU1_TCIV1=123,IPR_MTU1_TCIU1=123, +IPR_MTU2_TGIA2=125,IPR_MTU2_TGIB2=125,IPR_MTU2_TCIV2=127,IPR_MTU2_TCIU2=127, +IPR_MTU3_TGIA3=129,IPR_MTU3_TGIB3=129,IPR_MTU3_TGIC3=129,IPR_MTU3_TGID3=129,IPR_MTU3_TCIV3=133, +IPR_MTU4_TGIA4=134,IPR_MTU4_TGIB4=134,IPR_MTU4_TGIC4=134,IPR_MTU4_TGID4=134,IPR_MTU4_TCIV4=138, +IPR_MTU5_TGIU5=139,IPR_MTU5_TGIV5=139,IPR_MTU5_TGIW5=139, +IPR_POE_OEI1=170,IPR_POE_OEI2=171, +IPR_SCI1_ERI1=218,IPR_SCI1_RXI1=218,IPR_SCI1_TXI1=218,IPR_SCI1_TEI1=218, +IPR_SCI5_ERI5=222,IPR_SCI5_RXI5=222,IPR_SCI5_TXI5=222,IPR_SCI5_TEI5=222, +IPR_SCI12_ERI12=238,IPR_SCI12_RXI12=238,IPR_SCI12_TXI12=238,IPR_SCI12_TEI12=238,IPR_SCI12_SCIX0=242,IPR_SCI12_SCIX1=243,IPR_SCI12_SCIX2=244,IPR_SCI12_SCIX3=245, +IPR_RIIC0_EEI0=246,IPR_RIIC0_RXI0=247,IPR_RIIC0_TXI0=248,IPR_RIIC0_TEI0=249, +IPR_BSC_=0, +IPR_CMT0_=4, +IPR_CMT1_=5, +IPR_RSPI0_=44, +IPR_DOC_=57, +IPR_ELC_=106, +IPR_MTU1_TGI=121, +IPR_MTU1_TCI=123, +IPR_MTU2_TGI=125, +IPR_MTU2_TCI=127, +IPR_MTU3_TGI=129, +IPR_MTU4_TGI=134, +IPR_MTU5_=139, +IPR_MTU5_TGI=139, +IPR_SCI1_=218, +IPR_SCI5_=222 +}; + +#define IEN_BSC_BUSERR IEN0 +#define IEN_ICU_SWINT IEN3 +#define IEN_CMT0_CMI0 IEN4 +#define IEN_CMT1_CMI1 IEN5 +#define IEN_CAC_FERRF IEN0 +#define IEN_CAC_MENDF IEN1 +#define IEN_CAC_OVFF IEN2 +#define IEN_USB0_D0FIFO0 IEN4 +#define IEN_USB0_D1FIFO0 IEN5 +#define IEN_USB0_USBI0 IEN6 +#define IEN_RSPI0_SPEI0 IEN4 +#define IEN_RSPI0_SPRI0 IEN5 +#define IEN_RSPI0_SPTI0 IEN6 +#define IEN_RSPI0_SPII0 IEN7 +#define IEN_DOC_DOPCF IEN1 +#define IEN_RTC_CUP IEN7 +#define IEN_ICU_IRQ0 IEN0 +#define IEN_ICU_IRQ1 IEN1 +#define IEN_ICU_IRQ2 IEN2 +#define IEN_ICU_IRQ3 IEN3 +#define IEN_ICU_IRQ4 IEN4 +#define IEN_ICU_IRQ5 IEN5 +#define IEN_ICU_IRQ6 IEN6 +#define IEN_ICU_IRQ7 IEN7 +#define IEN_LVD_LVD1 IEN0 +#define IEN_LVD_LVD2 IEN1 +#define IEN_USB0_USBR0 IEN2 +#define IEN_RTC_ALM IEN4 +#define IEN_RTC_PRD IEN5 +#define IEN_S12AD_S12ADI0 IEN6 +#define IEN_S12AD_GBADI IEN7 +#define IEN_ELC_ELSR18I IEN2 +#define IEN_MTU0_TGIA0 IEN2 +#define IEN_MTU0_TGIB0 IEN3 +#define IEN_MTU0_TGIC0 IEN4 +#define IEN_MTU0_TGID0 IEN5 +#define IEN_MTU0_TCIV0 IEN6 +#define IEN_MTU0_TGIE0 IEN7 +#define IEN_MTU0_TGIF0 IEN0 +#define IEN_MTU1_TGIA1 IEN1 +#define IEN_MTU1_TGIB1 IEN2 +#define IEN_MTU1_TCIV1 IEN3 +#define IEN_MTU1_TCIU1 IEN4 +#define IEN_MTU2_TGIA2 IEN5 +#define IEN_MTU2_TGIB2 IEN6 +#define IEN_MTU2_TCIV2 IEN7 +#define IEN_MTU2_TCIU2 IEN0 +#define IEN_MTU3_TGIA3 IEN1 +#define IEN_MTU3_TGIB3 IEN2 +#define IEN_MTU3_TGIC3 IEN3 +#define IEN_MTU3_TGID3 IEN4 +#define IEN_MTU3_TCIV3 IEN5 +#define IEN_MTU4_TGIA4 IEN6 +#define IEN_MTU4_TGIB4 IEN7 +#define IEN_MTU4_TGIC4 IEN0 +#define IEN_MTU4_TGID4 IEN1 +#define IEN_MTU4_TCIV4 IEN2 +#define IEN_MTU5_TGIU5 IEN3 +#define IEN_MTU5_TGIV5 IEN4 +#define IEN_MTU5_TGIW5 IEN5 +#define IEN_POE_OEI1 IEN2 +#define IEN_POE_OEI2 IEN3 +#define IEN_SCI1_ERI1 IEN2 +#define IEN_SCI1_RXI1 IEN3 +#define IEN_SCI1_TXI1 IEN4 +#define IEN_SCI1_TEI1 IEN5 +#define IEN_SCI5_ERI5 IEN6 +#define IEN_SCI5_RXI5 IEN7 +#define IEN_SCI5_TXI5 IEN0 +#define IEN_SCI5_TEI5 IEN1 +#define IEN_SCI12_ERI12 IEN6 +#define IEN_SCI12_RXI12 IEN7 +#define IEN_SCI12_TXI12 IEN0 +#define IEN_SCI12_TEI12 IEN1 +#define IEN_SCI12_SCIX0 IEN2 +#define IEN_SCI12_SCIX1 IEN3 +#define IEN_SCI12_SCIX2 IEN4 +#define IEN_SCI12_SCIX3 IEN5 +#define IEN_RIIC0_EEI0 IEN6 +#define IEN_RIIC0_RXI0 IEN7 +#define IEN_RIIC0_TXI0 IEN0 +#define IEN_RIIC0_TEI0 IEN1 + +#define VECT_BSC_BUSERR 16 +#define VECT_ICU_SWINT 27 +#define VECT_CMT0_CMI0 28 +#define VECT_CMT1_CMI1 29 +#define VECT_CAC_FERRF 32 +#define VECT_CAC_MENDF 33 +#define VECT_CAC_OVFF 34 +#define VECT_USB0_D0FIFO0 36 +#define VECT_USB0_D1FIFO0 37 +#define VECT_USB0_USBI0 38 +#define VECT_RSPI0_SPEI0 44 +#define VECT_RSPI0_SPRI0 45 +#define VECT_RSPI0_SPTI0 46 +#define VECT_RSPI0_SPII0 47 +#define VECT_DOC_DOPCF 57 +#define VECT_RTC_CUP 63 +#define VECT_ICU_IRQ0 64 +#define VECT_ICU_IRQ1 65 +#define VECT_ICU_IRQ2 66 +#define VECT_ICU_IRQ3 67 +#define VECT_ICU_IRQ4 68 +#define VECT_ICU_IRQ5 69 +#define VECT_ICU_IRQ6 70 +#define VECT_ICU_IRQ7 71 +#define VECT_LVD_LVD1 88 +#define VECT_LVD_LVD2 89 +#define VECT_USB0_USBR0 90 +#define VECT_RTC_ALM 92 +#define VECT_RTC_PRD 93 +#define VECT_S12AD_S12ADI0 102 +#define VECT_S12AD_GBADI 103 +#define VECT_ELC_ELSR18I 106 +#define VECT_MTU0_TGIA0 114 +#define VECT_MTU0_TGIB0 115 +#define VECT_MTU0_TGIC0 116 +#define VECT_MTU0_TGID0 117 +#define VECT_MTU0_TCIV0 118 +#define VECT_MTU0_TGIE0 119 +#define VECT_MTU0_TGIF0 120 +#define VECT_MTU1_TGIA1 121 +#define VECT_MTU1_TGIB1 122 +#define VECT_MTU1_TCIV1 123 +#define VECT_MTU1_TCIU1 124 +#define VECT_MTU2_TGIA2 125 +#define VECT_MTU2_TGIB2 126 +#define VECT_MTU2_TCIV2 127 +#define VECT_MTU2_TCIU2 128 +#define VECT_MTU3_TGIA3 129 +#define VECT_MTU3_TGIB3 130 +#define VECT_MTU3_TGIC3 131 +#define VECT_MTU3_TGID3 132 +#define VECT_MTU3_TCIV3 133 +#define VECT_MTU4_TGIA4 134 +#define VECT_MTU4_TGIB4 135 +#define VECT_MTU4_TGIC4 136 +#define VECT_MTU4_TGID4 137 +#define VECT_MTU4_TCIV4 138 +#define VECT_MTU5_TGIU5 139 +#define VECT_MTU5_TGIV5 140 +#define VECT_MTU5_TGIW5 141 +#define VECT_POE_OEI1 170 +#define VECT_POE_OEI2 171 +#define VECT_SCI1_ERI1 218 +#define VECT_SCI1_RXI1 219 +#define VECT_SCI1_TXI1 220 +#define VECT_SCI1_TEI1 221 +#define VECT_SCI5_ERI5 222 +#define VECT_SCI5_RXI5 223 +#define VECT_SCI5_TXI5 224 +#define VECT_SCI5_TEI5 225 +#define VECT_SCI12_ERI12 238 +#define VECT_SCI12_RXI12 239 +#define VECT_SCI12_TXI12 240 +#define VECT_SCI12_TEI12 241 +#define VECT_SCI12_SCIX0 242 +#define VECT_SCI12_SCIX1 243 +#define VECT_SCI12_SCIX2 244 +#define VECT_SCI12_SCIX3 245 +#define VECT_RIIC0_EEI0 246 +#define VECT_RIIC0_RXI0 247 +#define VECT_RIIC0_TXI0 248 +#define VECT_RIIC0_TEI0 249 + +#define MSTP_DTC SYSTEM.MSTPCRA.BIT.MSTPA28 +#define MSTP_DA SYSTEM.MSTPCRA.BIT.MSTPA19 +#define MSTP_S12AD SYSTEM.MSTPCRA.BIT.MSTPA17 +#define MSTP_CMT SYSTEM.MSTPCRA.BIT.MSTPA15 +#define MSTP_CMT0 SYSTEM.MSTPCRA.BIT.MSTPA15 +#define MSTP_CMT1 SYSTEM.MSTPCRA.BIT.MSTPA15 +#define MSTP_MTU SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU0 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU1 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU2 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU3 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU4 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU5 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_SCI1 SYSTEM.MSTPCRB.BIT.MSTPB30 +#define MSTP_SMCI1 SYSTEM.MSTPCRB.BIT.MSTPB30 +#define MSTP_SCI5 SYSTEM.MSTPCRB.BIT.MSTPB26 +#define MSTP_SMCI5 SYSTEM.MSTPCRB.BIT.MSTPB26 +#define MSTP_CRC SYSTEM.MSTPCRB.BIT.MSTPB23 +#define MSTP_RIIC0 SYSTEM.MSTPCRB.BIT.MSTPB21 +#define MSTP_USB0 SYSTEM.MSTPCRB.BIT.MSTPB19 +#define MSTP_RSPI0 SYSTEM.MSTPCRB.BIT.MSTPB17 +#define MSTP_ELC SYSTEM.MSTPCRB.BIT.MSTPB9 +#define MSTP_DOC SYSTEM.MSTPCRB.BIT.MSTPB6 +#define MSTP_SCI12 SYSTEM.MSTPCRB.BIT.MSTPB4 +#define MSTP_SMCI12 SYSTEM.MSTPCRB.BIT.MSTPB4 +#define MSTP_CAC SYSTEM.MSTPCRC.BIT.MSTPC19 +#define MSTP_RAM0 SYSTEM.MSTPCRC.BIT.MSTPC0 + +#define __IR( x ) ICU.IR[ IR ## x ].BIT.IR +#define _IR( x ) __IR( x ) +#define IR( x , y ) _IR( _ ## x ## _ ## y ) +#define __DTCE( x ) ICU.DTCER[ DTCE ## x ].BIT.DTCE +#define _DTCE( x ) __DTCE( x ) +#define DTCE( x , y ) _DTCE( _ ## x ## _ ## y ) +#define __IEN( x ) ICU.IER[ IER ## x ].BIT.IEN ## x +#define _IEN( x ) __IEN( x ) +#define IEN( x , y ) _IEN( _ ## x ## _ ## y ) +#define __IPR( x ) ICU.IPR[ IPR ## x ].BIT.IPR +#define _IPR( x ) __IPR( x ) +#define IPR( x , y ) _IPR( _ ## x ## _ ## y ) +#define __VECT( x ) VECT ## x +#define _VECT( x ) __VECT( x ) +#define VECT( x , y ) _VECT( _ ## x ## _ ## y ) +#define __MSTP( x ) MSTP ## x +#define _MSTP( x ) __MSTP( x ) +#define MSTP( x ) _MSTP( _ ## x ) + +#define BSC (*(volatile struct st_bsc __evenaccess *)0x81300) +#define CAC (*(volatile struct st_cac __evenaccess *)0x8B000) +#define CMT (*(volatile struct st_cmt __evenaccess *)0x88000) +#define CMT0 (*(volatile struct st_cmt0 __evenaccess *)0x88002) +#define CMT1 (*(volatile struct st_cmt0 __evenaccess *)0x88008) +#define CRC (*(volatile struct st_crc __evenaccess *)0x88280) +#define DA (*(volatile struct st_da __evenaccess *)0x880C0) +#define DOC (*(volatile struct st_doc __evenaccess *)0x8B080) +#define DTC (*(volatile struct st_dtc __evenaccess *)0x82400) +#define ELC (*(volatile struct st_elc __evenaccess *)0x8B100) +#define FLASH (*(volatile struct st_flash __evenaccess *)0x7FC090) +#define ICU (*(volatile struct st_icu __evenaccess *)0x87000) +#define IWDT (*(volatile struct st_iwdt __evenaccess *)0x88030) +#define MPC (*(volatile struct st_mpc __evenaccess *)0x8C11F) +#define MTU (*(volatile struct st_mtu __evenaccess *)0x8860A) +#define MTU0 (*(volatile struct st_mtu0 __evenaccess *)0x88690) +#define MTU1 (*(volatile struct st_mtu1 __evenaccess *)0x88690) +#define MTU2 (*(volatile struct st_mtu2 __evenaccess *)0x88692) +#define MTU3 (*(volatile struct st_mtu3 __evenaccess *)0x88600) +#define MTU4 (*(volatile struct st_mtu4 __evenaccess *)0x88600) +#define MTU5 (*(volatile struct st_mtu5 __evenaccess *)0x88694) +#define POE (*(volatile struct st_poe __evenaccess *)0x88900) +#define PORT (*(volatile struct st_port __evenaccess *)0x8C120) +#define PORT0 (*(volatile struct st_port0 __evenaccess *)0x8C000) +#define PORT1 (*(volatile struct st_port1 __evenaccess *)0x8C001) +#define PORT2 (*(volatile struct st_port2 __evenaccess *)0x8C002) +#define PORT3 (*(volatile struct st_port3 __evenaccess *)0x8C003) +#define PORT4 (*(volatile struct st_port4 __evenaccess *)0x8C004) +#define PORT5 (*(volatile struct st_port5 __evenaccess *)0x8C005) +#define PORTA (*(volatile struct st_porta __evenaccess *)0x8C00A) +#define PORTB (*(volatile struct st_portb __evenaccess *)0x8C00B) +#define PORTC (*(volatile struct st_portc __evenaccess *)0x8C00C) +#define PORTE (*(volatile struct st_porte __evenaccess *)0x8C00E) +#define RIIC0 (*(volatile struct st_riic __evenaccess *)0x88300) +#define RSPI0 (*(volatile struct st_rspi __evenaccess *)0x88380) +#define RTC (*(volatile struct st_rtc __evenaccess *)0x8C400) +#define RTCB (*(volatile struct st_rtcb __evenaccess *)0x8C402) +#define S12AD (*(volatile struct st_s12ad __evenaccess *)0x89000) +#define SCI1 (*(volatile struct st_sci1 __evenaccess *)0x8A020) +#define SCI5 (*(volatile struct st_sci1 __evenaccess *)0x8A0A0) +#define SCI12 (*(volatile struct st_sci12 __evenaccess *)0x8B300) +#define SMCI1 (*(volatile struct st_smci __evenaccess *)0x8A020) +#define SMCI5 (*(volatile struct st_smci __evenaccess *)0x8A0A0) +#define SMCI12 (*(volatile struct st_smci __evenaccess *)0x8B300) +#define SYSTEM (*(volatile struct st_system __evenaccess *)0x80000) +#define USB0 (*(volatile struct st_usb __evenaccess *)0xA0000) +#pragma bit_order +#pragma packoption +#endif \ No newline at end of file diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/mcu_info.h b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/mcu_info.h new file mode 100644 index 000000000..6ed672bf5 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/mcu/rx111/mcu_info.h @@ -0,0 +1,112 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2011 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : mcu_info.h +* Device(s) : RX111 +* Description : Information about the MCU on this board (RSKRX111). +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +#ifndef _MCU_INFO +#define _MCU_INFO + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Gets MCU configuration information. */ +#include "r_bsp_config.h" + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +/* MCU Series. */ +#if MCU_PART_SERIES == 0x0 + #define MCU_SERIES_RX100 (1) +#else + #error "ERROR - MCU_PART_SERIES - Unknown MCU Series chosen in r_bsp_config.h" +#endif + +/* MCU Group name. */ +#if MCU_PART_GROUP == 0x1 + #define MCU_RX111 (1) + #define MCU_RX11x (1) +#else + #error "ERROR - MCU_PART_GROUP - Unknown MCU Group chosen in r_bsp_config.h" +#endif + +/* Package. */ +#if MCU_PART_PACKAGE == 0x0 + #define PACKAGE_LFQFP64 (1) +#elif MCU_PART_PACKAGE == 0x1 + #define PACKAGE_LQFP64 (1) +#elif MCU_PART_PACKAGE == 0x2 + #define PACKAGE_TFLGA64 (1) +#elif MCU_PART_PACKAGE == 0x3 + #define PACKAGE_LFQFP48 (1) +#elif MCU_PART_PACKAGE == 0x4 + #define PACKAGE_VQFN48 (1) +#elif MCU_PART_PACKAGE == 0x5 + #define PACKAGE_HWQFN36 (1) +#elif MCU_PART_PACKAGE == 0x6 + #define PACKAGE_WFLGA36 (1) +#elif MCU_PART_PACKAGE == 0x7 + #define PACKAGE_SSOP36 (1) +#else + #error "ERROR - MCU_PART_PACKAGE - Unknown package chosen in r_bsp_config.h" +#endif + +/* Memory size of your MCU. */ +#if MCU_PART_MEMORY_SIZE == 0x0 // "J" parts + #define ROM_SIZE_BYTES (16384) + #define RAM_SIZE_BYTES (8192) + #define DF_SIZE_BYTES (8192) +#elif MCU_PART_MEMORY_SIZE == 0x1 + #define ROM_SIZE_BYTES (32768) + #define RAM_SIZE_BYTES (10240) + #define DF_SIZE_BYTES (8192) +#elif MCU_PART_MEMORY_SIZE == 0x3 + #define ROM_SIZE_BYTES (65536) + #define RAM_SIZE_BYTES (10240) + #define DF_SIZE_BYTES (8192) +#elif MCU_PART_MEMORY_SIZE == 0x4 + #define ROM_SIZE_BYTES (98304) + #define RAM_SIZE_BYTES (16384) + #define DF_SIZE_BYTES (8192) +#elif MCU_PART_MEMORY_SIZE == 0x5 + #define ROM_SIZE_BYTES (131072) + #define RAM_SIZE_BYTES (16384) + #define DF_SIZE_BYTES (8192) +#else + #error "ERROR - MCU_PART_MEMORY_SIZE - Unknown memory size chosen in r_bsp_config.h" +#endif + +/* System clock speed in Hz. */ +#define ICLK_HZ (((XTAL_HZ/PLL_DIV) * PLL_MUL) / ICK_DIV) +/* Peripheral Module Clock B speed in Hz. */ +#define PCLKB_HZ (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKB_DIV) +/* Peripheral Module Clock D speed in Hz. */ +#define PCLKD_HZ (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKD_DIV) +/* FlashIF clock speed in Hz. */ +#define FCLK_HZ (((XTAL_HZ/PLL_DIV) * PLL_MUL) / FCK_DIV) + +#endif /* _MCU_INFO */ + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/platform.h b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/platform.h new file mode 100644 index 000000000..3427aab94 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/platform.h @@ -0,0 +1,88 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : platform.h +* Description : The user chooses which MCU and board they are developing for in this file. If the board you are using +* is not listed below, please add your own or use the default 'User Board'. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 30.11.2011 1.00 First Release +* : 13.01.2012 1.10 Moved from having platform defined using macro defintion, to having platform defined +* by choosing an include path. This makes this file simpler and cleans up the issue +* where HEW shows all header files for all platforms under 'Dependencies'. +* : 14.02.2012 1.20 Added RX210 BSP. +* : 18.04.2012 1.30 Updated to v0.70 of FIT S/W Spec and v0.20 of FIT r_bsp Spec. This includes adding +* locking.c and locking.h in board folders. Also, r_bsp can now be configured through +* r_bsp_config.h. +* : 26.06.2012 1.40 Added new options such as exception callbacks and the ability to choose your MCU using +* its part number in r_bsp_config.h. Moved mcu_info.h to the 'mcu' folder. Made an effort +* to remove any extra files that the user would need to touch. Removed the flash_options.c +* file and put its contents in vecttbl.c. +* : 17.07.2012 1.50 Fixed bug with exception callback function names. Added BCLK_OUTPUT and SDCLK_OUTPUT +* macro options in r_bsp_config.h. Added some extra code to handle exceptions in +* vecttbl.c. Added vecttbl.h so that user has prototypes for exception callbacks. +* : 08.11.2012 1.60 Added RX111 BSP +***********************************************************************************************************************/ + +#ifndef _PLATFORM_H_ +#define _PLATFORM_H_ + +/*********************************************************************************************************************** +DEFINE YOUR SYSTEM - UNCOMMENT THE INCLUDE PATH FOR THE PLATFORM YOU ARE USING. +***********************************************************************************************************************/ +/* RSKRX610 */ +//#include "./board/rskrx610/r_bsp.h" + +/* RSKRX62N */ +//#include "./board/rskrx62n/r_bsp.h" + +/* RSKRX62T */ +//#include "./board/rskrx62t/r_bsp.h" + +/* RDKRX62N */ +//#include "./board/rdkrx62n/r_bsp.h" + +/* RSKRX630 */ +//#include "./board/rskrx630/r_bsp.h" + +/* RSKRX63N */ +//#include "./board/rskrx63n/r_bsp.h" + +/* RDKRX63N */ +//#include "./board/rdkrx63n/r_bsp.h" + +/* RSKRX210 */ +//#include "./board/rskrx210/r_bsp.h" + +/* RSKRX111 */ +#include "./board/rskrx111/r_bsp.h" + +/* User Board - Define your own board here. */ +//#include "./board/user/r_bsp.h" + +/*********************************************************************************************************************** +MAKE SURE AT LEAST ONE PLATFORM WAS DEFINED - DO NOT EDIT BELOW THIS POINT +***********************************************************************************************************************/ +#ifndef PLATFORM_DEFINED +#error "Error - No platform defined in platform.h!" +#endif + +#endif /* _PLATFORM_H_ */ + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/r_bsp_config.h b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/r_bsp_config.h new file mode 100644 index 000000000..537479e8a --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/r_bsp_config.h @@ -0,0 +1,250 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_bsp_config_reference.c +* Device(s) : RX111 +* Description : The file r_bsp_config.h is used to configure your BSP. r_bsp_config.h should be included +* somewhere in your package so that the r_bsp code has access to it. This file (r_bsp_config_reference.h) +* is just a reference file that the user can use to make their own r_bsp_config.h file. +************************************************************************************************************************ +* History : DD.MM.YYYY Version Description +* : 07.11.2012 0.01 Beta Release +***********************************************************************************************************************/ +#ifndef R_BSP_CONFIG_REF_HEADER_FILE +#define R_BSP_CONFIG_REF_HEADER_FILE + +/*********************************************************************************************************************** +Configuration Options +***********************************************************************************************************************/ +/* Enter the product part number for your MCU. This information will be used to obtain information about your MCU such + as package and memory size. + To help parse this information, the part number will be defined using multiple macros. + R 5 F 51 11 5 A D FM + | | | | | | | | | Macro Name Description + | | | | | | | | |__MCU_PART_PACKAGE = Package type, number of pins, and pin pitch + | | | | | | | |____not used = Products with wide temperature range (D: -40 to 85C G: -40 to 105C) + | | | | | | |______not used = Blank + | | | | | |________MCU_PART_MEMORY_SIZE = ROM, RAM, and Data Flash Capacity + | | | | |___________MCU_PART_GROUP = Group name + | | | |______________MCU_PART_SERIES = Series name + | | |________________MCU_PART_MEMORY_TYPE = Type of memory (Flash) + | |__________________not used = Renesas MCU + |____________________not used = Renesas semiconductor product. + */ + +/* Package type. Set the macro definition based on values below: + Character(s) = Value for macro = Package Type/Number of Pins/Pin Pitch + FM = 0x0 = LFQFP/64/0.50 + FK = 0x1 = LQFP/64/0.80 + LF = 0x2 = TFLGA/64/0.50 + FL = 0x3 = LFQFP/48/0.50 + NE = 0x4 = VQFN/48/0.50 + NC = 0x5 = HWQFN/36/0.50 + LM = 0x6 = WFLGA/36/0.50 + SB = 0x7 = SSOP/36/0.80 +*/ +#define MCU_PART_PACKAGE (0x0) + +/* ROM, RAM, and Data Flash Capacity. + Character(s) = Value for macro = ROM Size/Ram Size/Data Flash Size + 5 = 0x5 = 128KB/16KB/8KB + 4 = 0x4 = 96KB/16KB/8KB + 3 = 0x3 = 64KB/10KB/8KB + 1 = 0x1 = 32KB/10KB/8KB + J = 0x0 = 16KB/8KB/8KB +*/ +#define MCU_PART_MEMORY_SIZE (0x5) + +/* Group name. + Character(s) = Value for macro = Description + 10 = 0x0 = RX110 Group + 11 = 0x1 = RX111 Group +*/ +#define MCU_PART_GROUP (0x1) + +/* Series name. + Character(s) = Value for macro = Description + 51 = 0x0 = RX100 Series +*/ +#define MCU_PART_SERIES (0x0) + +/* Memory type. + Character(s) = Value for macro = Description + F = 0x0 = Flash memory version +*/ +#define MCU_PART_MEMORY_TYPE (0x0) + +/* The 'BSP_DECLARE_STACK' macro is checked so that the stack is only declared in one place (resetprg.c). Every time a + '#pragma stacksize' is encountered, the stack size is increased. This prevents multiplication of stack size. */ +#if defined(BSP_DECLARE_STACK) +/* User Stack size in bytes. The Renesas RX toolchain sets the stack size using the #pragma stacksize directive. */ +#pragma stacksize su=0x400 +/* Interrupt Stack size in bytes. The Renesas RX toolchain sets the stack size using the #pragma stacksize directive. */ +#pragma stacksize si=0x100 +#endif + +/* Heap size in bytes. */ +#define HEAP_BYTES (0x001) + +/* After reset MCU will operate in Supervisor mode. To switch to User mode, set this macro to '1'. For more information + on the differences between these 2 modes see the CPU >> Processor Mode section of your MCU's hardware manual. + 0 = Stay in Supervisor mode. + 1 = Switch to User mode. +*/ +#define RUN_IN_USER_MODE (0) + + +/* This macro lets other modules no if a RTOS is being used. + 0 = RTOS is not used. + 1 = RTOS is used. +*/ +#define RTOS_USED (0) + +/* Clock source select (CKSEL). + 0 = Low Speed On-Chip Oscillator (LOCO) + 1 = High Speed On-Chip Oscillator (HOCO) + 2 = Main Clock Oscillator + 3 = Sub-Clock Oscillator + 4 = PLL Circuit +*/ +#define CLOCK_SOURCE (4) // GI org 4 + +/* Clock configuration options. + The input clock frequency is specified and then the system clocks are set by specifying the multipliers used. The + multiplier settings are used to set the clock registers in resetprg.c. If a 16MHz clock is used and the + ICLK is 24MHz, PCLKB is 24MHz, FCLK is 24MHz, PCLKD is 24MHz, and CKO is 1MHz then the + settings would be: + + XTAL_HZ = 16000000 + PLL_DIV = 2 + PLL_MUL = 6 (16MHz x 3 = 48MHz) + ICK_DIV = 2 : System Clock (ICLK) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / ICK_DIV) = 24MHz + PCKB_DIV = 2 : Peripheral Clock B (PCLKB) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKB_DIV) = 24MHz + PCKD_DIV = 2 : Peripheral Clock D (PCLKD) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKD_DIV) = 24MHz + FCK_DIV = 2 : Flash IF Clock (FCLK) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / FCK_DIV) = 24MHz +*/ +/* XTAL - Input clock frequency in Hz */ +#define XTAL_HZ (16000000) +/* PLL Input Frequency Divider Select (PLIDIV). + Available divisors = /1 (no division), /2, /4 +*/ +#define PLL_DIV (2) // GI org 2 +/* PLL Frequency Multiplication Factor Select (STC). + Available multipliers = x6, x8 +*/ +#define PLL_MUL (6) // GI org 6 +/* System Clock Divider (ICK). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define ICK_DIV (2) // NOTE: ICLK CANNOT BE SLOWER THAN PCLK! +/* Peripheral Module Clock B Divider (PCKB). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define PCKB_DIV (2) // GI org 2 +/* Peripheral Module Clock D Divider (PCKD). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define PCKD_DIV (2) +/* Flash IF Clock Divider (FCK). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define FCK_DIV (2) + +/* Below are callback functions that can be used for detecting MCU exceptions, undefined interrupt sources, and + bus errors. If the user wishes to be alerted of these events then they will need to define the macro as a + function to be called when the event occurs. For example, if the user wanted the function + excep_undefined_instr_isr() to be called when an undefined interrupt source ISR is triggered then they would + do the following: + #define UNDEFINED_INT_ISR_CALLBACK undefined_interrupt_cb + If the user does not wish to be alerted of these events then they should comment out the macros. + + NOTE: When a callback function is called it will be called from within a ISR. This means that the function + will essentially be an interrupt and will hold off other interrupts that occur in the system while it + is executing. For this reason, it is recommended to keep these callback functions short as to not + decrease the real-time response of your system. +*/ +/* Callback for Supervisor Instruction Violation Exception. */ +//#define EXCEP_SUPERVISOR_ISR_CALLBACK supervisor_instr_cb + +/* Callback for Undefined Instruction Exception. */ +//#define EXCEP_UNDEFINED_INSTR_ISR_CALLBACK undefined_instr_cb + +/* Callback for Non-maskable Interrupt. */ +//#define NMI_ISR_CALLBACK nmi_cb + +/* Callback for all undefined interrupt vectors. User can set a breakpoint in this function to determine which source + is creating unwanted interrupts. */ +//#define UNDEFINED_INT_ISR_CALLBACK undefined_interrupt_cb + +/* Callback for Bus Error Interrupt. */ +//#define BUS_ERROR_ISR_CALLBACK bus_error_cb + +/* The user has the option of separately choosing little or big endian for the User Application Area */ + +/* Endian mode for User Application. + 0 = Big Endian + Else = Little Endian (Default) +*/ +#define USER_APP_ENDIAN (1) + + +/* Configure WDT and IWDT settings. + OFS0 - Option Function Select Register 0 + OFS0 - Option Function Select Register 0 + b31:b15 Reserved (set to 1) + b14 IWDTSLCSTP - IWDT Sleep Mode Count Stop Control - (0=can't stop count, 1=stop w/some low power modes) + b13 Reserved (set to 1) + b12 IWDTRSTIRQS - IWDT Reset Interrupt Request - What to do on underflow (0=take interrupt, 1=reset MCU) + b11:b10 IWDTRPSS - IWDT Window Start Position Select - (0=25%, 1=50%, 2=75%, 3=100%,don't use) + b9:b8 IWDTRPES - IWDT Window End Position Select - (0=75%, 1=50%, 2=25%, 3=0%,don't use) + b7:b4 IWDTCKS - IWDT Clock Frequency Division Ratio - (0=none, 2=/16, 3 = /32, 4=/64, 0xF=/128, 5=/256) + b3:b2 IWDTTOPS - IWDT Timeout Period Select - (0=128 cycles, 1=512, 2=1024, 3=2048) + b1 IWDTSTRT - IWDT Start Mode Select - (0=auto-start after reset, 1=halt after reset) + b0 Reserved (set to 1) */ +#define OFS0_REG_VALUE (0xFFFFFFFF) //Disable by default + +/* Configure whether voltage detection 1 circuit and HOCO are enabled after reset. + OFS1 - Option Function Select Register 1 + b31:b9 Reserved (set to 1) + b8 HOCOEN - Enable/disable HOCO oscillation after a reset (0=enable, 1=disable) + b7:b4 STUPLVD1LVL - Startup Voltage Monitoring 1 Reset Detection Level Select + 0 1 0 0: 3.10 V + 0 1 0 1: 3.00 V + 0 1 1 0: 2.90 V + 0 1 1 1: 2.79 V + 1 0 0 0: 2.68 V + 1 0 0 1: 2.58 V + 1 0 1 0: 2.48 V + 1 0 1 1: 2.06 V + 1 1 0 0: 1.96 V + 1 1 0 1: 1.86 V + b3:b2 Reserved (set to 1) + b2 STUPLVD1REN - Startup Voltage Monitoring 1 Reset Enable (1=monitoring disabled) + b0 FASTSTUP - Power-On Fast Startup Time (1=normal; read only) */ +#define OFS1_REG_VALUE (0xFFFFFFFF) //Disable by default + +/* Initializes C input & output library functions. + 0 = Disable I/O library initialization in resetprg.c. If you are not using stdio then use this value. + 1 = Enable I/O library initialization in resetprg.c. This is default and needed if you are using stdio. */ +#define IO_LIB_ENABLE (0) + +#endif /* R_BSP_CONFIG_REF_HEADER_FILE */ + + + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/readme.txt b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/readme.txt new file mode 100644 index 000000000..c7ee2b751 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_bsp/readme.txt @@ -0,0 +1,100 @@ +r_bsp Package +============= + +Document Number +--------------- +N/A + +Version +------- +v1.60 + +Overview +-------- +The r_bsp package provides a foundation for code to be built on top of. It provides startup code, iodefines, and MCU +information for different boards. There are 2 folders that make up the r_bsp package. The 'mcu' folder has iodefine +files and a file named 'mcu_info.h' for each MCU group. The 'mcu_info.h' file has information about the MCU on the board +and is configured based on the information given in r_bsp_config.h. The information in 'mcu_info.h' is used to help +configure Renesas middleware that uses the r_bsp package. The 'board' folder has a folder with startup code for each +supported board. Which MCU and board is chosen is decided by the settings in 'platform.h'. The user can choose which +board they are using by uncommenting the include path that applies to their board. For example, if you are using the +RSK+RX62N then you would uncomment the #include "./board/rskrx62n/r_bsp.h" include path. Users are encouraged to add +their own boards to the 'board' directory. BSPs are configured by using the r_bsp_config.h file. Each board will have a +reference configuration file named r_bsp_config_reference.h. The user should copy this file to their project, rename it +to r_bsp_config.h, and use the options inside the file to configure the BSP for their project. + +Features +-------- +* Provides foundation to build code on top of. +* Provides MCU startup code. +* Provides SFR access through iodefine.h +* Stores details of MCU in 'mcu_info.h' to help configure Renesas middleware. +* Easily configure BSP through r_bsp_config.h. +* Choose MCU easily by inputting part number details in r_bsp_config.h. +* Provides callbacks for MCU exceptions and the bus error interrupt. + +Limitations +----------- +N/A + +Peripherals Used Directly +------------------------- +N/A + +Required Packages +----------------- +* r_glyph [required if you want to use LCD for RDK boards] +* r_rspi_rx [required if you want to use LCD for RDK boards] + +How to add to your project +-------------------------- +* Copy the r_bsp folder to your project. +* Add an include path to the 'r_bsp' directory. +* Add all of the source files for your board from the 'r_bsp\board\--YOUR_BOARD--' directory to your project. +* Uncomment the include path for your board in 'platform.h' which is located in the 'r_bsp' directory. +* Copy the file r_bsp_config_reference.h from the 'r_bsp\board\--YOUR_BOARD--' directory and copy it to your project's + source code directory. Rename the file r_bsp_config.h. +* Open r_bsp_config.h and use the macros to configure the BSP for your project. + +File Structure +-------------- +r_bsp +| platform.h (choose which board is being used) +| readme.txt +| ++---board (contains supported boards) +| +---rdkrx62n (contains BSP source and header files) +| | +| +---rdkrx63n +| | +| +---rskrx111 +| | +| +---rskrx210 +| | +| +---rskrx610 +| | +| +---rskrx62n +| | +| +---rskrx62t +| | +| +---rskrx630 +| | +| +---rskrx63n +| | +| \---user +| +\---mcu + +---rx111 (contains common files to this MCU group, e.g. iodefine.h) + | + +---rx210 + | + +---rx610 + | + +---rx62n + | + +---rx62t + | + +---rx630 + | + \---rx63n + diff --git a/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/doc/r_switches.docx b/FreeRTOS/Demo/RX100-RSK_Renesas_e2studio/RTOSDemo/Renesas_Files/r_switches/doc/r_switches.docx new file mode 100644 index 0000000000000000000000000000000000000000..6fe7e86e57a3c6e1844919af139e6de6cfe38d68 GIT binary patch literal 679504 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ℑ0C&KA<&_JC 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 GLH`4w;}|Re literal 0 HcmV?d00001 diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/r_switches_config.h b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/r_switches_config.h new file mode 100644 index 000000000..ba6d58f00 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/r_switches_config.h @@ -0,0 +1,47 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2011 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_switches_config.c +* Description : Configures the switches code +************************************************************************************************************************ +* History : DD.MM.YYYY Version Description +* : 17.01.2012 1.00 First Release +* : 17.02.2012 1.10 Added RSKRX210 support. +* : 08.03.2012 1.20 Added GetVersion() function (though it's really a macro). +* : 04.06.2012 1.30 Code can now be interrupt or poll driven. +***********************************************************************************************************************/ +#ifndef SWITCHES_CONFIG_HEADER_FILE +#define SWITCHES_CONFIG_HEADER_FILE + +/*********************************************************************************************************************** +Configuration Options +***********************************************************************************************************************/ +/* This macro sets whether interrupts or polling is used for detecting switch presses. The benefit of using interrupts + is that no extra processing is used for polling and the use of a system timer tick is not a requirement. The downside + of using interrupts is that callback functions are called from within an interrupt so if your ISR is long then it can + degrade the real-time response of your system. The benefit of polling is that functions are called at the application + level and debouncing is supported. The downside to polling is that your system must call the R_SWITCHES_Update() on a + regular basis which requires extra processing. + + 0 = Use interrupts + 1 = Use polling + */ +#define SWITCHES_DETECTION_MODE (0) + +#endif /* SWITCHES_CONFIG_HEADER_FILE */ diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/r_switches_if.h b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/r_switches_if.h new file mode 100644 index 000000000..c2f8d08cd --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/r_switches_if.h @@ -0,0 +1,72 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2011 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_switches_if.h +* Description : Functions for using switches with callback functions. +************************************************************************************************************************ +* History : DD.MM.YYYY Version Description +* : 17.01.2012 1.00 First Release +* : 17.02.2012 1.10 Added RSKRX210 support. +* : 08.03.2012 1.20 Added GetVersion() function (though it's really a macro). +* : 04.06.2012 1.30 Code can now be interrupt or poll driven. +***********************************************************************************************************************/ + +#ifndef SWITCHES_API_HEADER_FILE +#define SWITCHES_API_HEADER_FILE + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Fixed width integer support. */ +#include +/* Used for configuring the code */ +#include "r_switches_config.h" + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +/* Version Number of API. */ +#define SWITCHES_VERSION_MAJOR (1) +#define SWITCHES_VERSION_MINOR (0) +/* The process of getting the version number is done through the macro below. The version number is encoded where the + top 2 bytes are the major version number and the bottom 2 bytes are the minor version number. For example, + Version 4.25 would be returned as 0x00040019. */ +#define R_SWITCHES_GetVersion() ((((uint32_t)SWITCHES_VERSION_MAJOR) << 16) | (uint32_t)SWITCHES_VERSION_MINOR) + +/*********************************************************************************************************************** +Public Functions +***********************************************************************************************************************/ +void R_SWITCHES_Init(void); +void R_SWITCHES_Update(void); + +/* Callback prototypes. */ +#if defined(SW1_CALLBACK_FUNCTION) +void SW1_CALLBACK_FUNCTION(void); +#endif + +#if defined(SW2_CALLBACK_FUNCTION) +void SW2_CALLBACK_FUNCTION(void); +#endif + +#if defined(SW3_CALLBACK_FUNCTION) +void SW3_CALLBACK_FUNCTION(void); +#endif + +#endif /* SWITCHES_API_HEADER_FILE */ + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/readme.txt b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/readme.txt new file mode 100644 index 000000000..d1e1e40fb --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/readme.txt @@ -0,0 +1,83 @@ +PLEASE REFER TO THE APPLICATION NOTE FOR THIS MIDDLEWARE FOR MORE INFORMATION + +Switches +======== + +Document Number +--------------- +N/A + +Version +------- +v1.40 + +Overview +-------- +Configures port pins for switches and calls user defined function on switch press. Switch presses can be detected using +IRQ interrupts or by polling. The benefit of using interrupts is that no extra processing is used for polling and the +use of a system timer tick is not a requirement. The downside of using interrupts is that callback functions are called +from within an interrupt so if your ISR is long then it can degrade the real-time response of your system. The benefit +of polling is that functions are called at the application level and debouncing is supported. The downside to polling is +that your system must call the R_SWITCHES_Update() on a regular basis which requires extra processing. + +Features +-------- +* Call one function to setup switches. +* Define function to call when switch is pressed. +* Can be configured to be interrupt or poll driven. + +Supported MCUs +-------------- +* RX610 Group +* RX621, RX62N Group +* RX62T Group +* RX630 Group +* RX631, RX63N Group +* RX210 Group +* RX111 Group + +Boards Tested On +---------------- +* RSKRX610 +* RSK+RX62N +* RSKRX62T +* RDKRX62N +* RSKRX630 +* RSKRX63N +* RDKRX63N +* RSKRX111 + +Limitations +----------- +* None + +Peripherals Used Directly +------------------------- +* None + +Required Packages +----------------- +* None + +How to add to your project +-------------------------- +* Add src\r_switches.c to your project. +* Add an include path to the 'r_switches' directory. +* Add an include path to the 'r_switches\src' directory. +* Configure middleware through r_switches_config.h. +* Add a #include for r_switches_if.h to files that need to use this package. + +Toolchain(s) Used +----------------- +* Renesas RX v1.02 + +File Structure +-------------- +r_switches +| readme.txt +| r_switches_config.h +| r_switches_if.h +| +\---src + r_switches.c + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/src/r_switches.c b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/src/r_switches.c new file mode 100644 index 000000000..1fb19e19f --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/Renesas_Files/r_switches/src/r_switches.c @@ -0,0 +1,232 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2011 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_switches.c +* Description : Functions for using switches with callback functions. +************************************************************************************************************************ +* History : DD.MM.YYYY Version Description +* : 17.01.2012 1.00 First Release +* : 17.02.2012 1.10 Added RSKRX210 support. +* : 08.03.2012 1.20 Added GetVersion() function (though it's really a macro). +* : 04.06.2012 1.30 Code can now be interrupt or poll driven. +* : 07.11.2012 1.40 Added support for RSKRX111 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Board and MCU support. */ +#include "platform.h" +/* Switches prototypes. */ +#include "r_switches_if.h" +/* Scheduler includes. */ +#include "FreeRTOS.h" +typedef int bool; + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +/* This helps reduce the amount of unique code for each supported board. */ +#define X_IRQ( x ) XX_IRQ( x ) +#define XX_IRQ( x ) _ICU_IRQ##x + +/* These macros define which IRQ pins are used for the switches. Note that these defintions cannot have parentheses + around them. */ +#if defined(PLATFORM_BOARD_RSKRX111) + #define SW1_IRQ_NUMBER 0 + #define SW2_IRQ_NUMBER 1 + #define SW3_IRQ_NUMBER 4 +#else + #error This file is only for use on the RX100 RSK +#endif + +/* Number of switches on this board. */ +#define SWITCHES_NUM (3) + +/* Register definitions not yet correct in iodefine.h. */ +#define MPC_P30PFS_REG ( * ( unsigned char * ) 0x0008C158 ) +#define MPC_P31PFS_REG ( * ( unsigned char * ) 0x0008C159 ) +#define MPC_PE4PFS_REG ( * ( unsigned char * ) 0x0008C1B4 ) + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ +typedef struct +{ + bool active; + int32_t debounce_cnt; +} switch_t; + +/*********************************************************************************************************************** +Private global variables and functions +***********************************************************************************************************************/ +#if SWITCHES_DETECTION_MODE == 1 +/* Update Hz */ +static uint32_t g_sw_debounce_cnts; +/* Used for debounce. */ +switch_t g_switches[SWITCHES_NUM]; +#endif + +/*********************************************************************************************************************** +* Function Name: R_SWITCHES_Init +* Description : Initializes pins to be input and interrupt on switch presses. +* Arguments : +* Return Value : none +***********************************************************************************************************************/ + +void R_SWITCHES_Init (void) +{ + /* Unlock protection register */ + MPC.PWPR.BYTE &= 0x7F; + /* Unlock MPC registers */ + MPC.PWPR.BYTE |= 0x40; + + /* Make switch pins inputs. */ + PORT3.PDR.BYTE &= 0xFC; + PORTE.PDR.BYTE &= 0xEF; + + /* Set port mode registers for switches. */ + PORT3.PMR.BYTE &= 0xFC; + PORTE.PMR.BYTE &= 0xEF; + + MPC_P30PFS_REG = 0x40; /* P30 is used as IRQ pin */ + MPC_P31PFS_REG = 0x40; /* P31 is used as IRQ pin */ + MPC_PE4PFS_REG = 0x40; /* PE4 is used as IRQ pin */ + + /* Set IRQ type (falling edge) */ + ICU.IRQCR[ SW1_IRQ_NUMBER ].BYTE = 0x04; + ICU.IRQCR[ SW2_IRQ_NUMBER ].BYTE = 0x04; + ICU.IRQCR[ SW3_IRQ_NUMBER ].BYTE = 0x04; + + /* Set interrupt priorities, which must be below + configMAX_SYSCALL_INTERRUPT_PRIORITY. */ + _IPR( X_IRQ(SW1_IRQ_NUMBER) ) = configKERNEL_INTERRUPT_PRIORITY; + _IPR( X_IRQ(SW2_IRQ_NUMBER) ) = configKERNEL_INTERRUPT_PRIORITY; + _IPR( X_IRQ(SW3_IRQ_NUMBER) ) = configKERNEL_INTERRUPT_PRIORITY; + + /* Clear any pending interrupts */ + _IR( X_IRQ(SW1_IRQ_NUMBER) ) = 0; + _IR( X_IRQ(SW2_IRQ_NUMBER) ) = 0; + _IR( X_IRQ(SW3_IRQ_NUMBER) ) = 0; + + /* Enable the interrupts */ + _IEN( X_IRQ(SW1_IRQ_NUMBER) ) = 1; + _IEN( X_IRQ(SW2_IRQ_NUMBER) ) = 1; + _IEN( X_IRQ(SW3_IRQ_NUMBER) ) = 1; +} + +/* If using polling then the user must call the update function. */ + +/*********************************************************************************************************************** +* Function name: R_SWITCHES_Update +* Description : Polls switches and calls callback functions as needed. If you are using IRQ mode then this function +* is not needed and can be removed if desired. It is left in so that code will not fail when switching +* between polling or IRQ mode. +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void R_SWITCHES_Update (void) +{ +#if SWITCHES_DETECTION_MODE == 1 + /* This code is only needed for polling mode. */ + /* Check switch 1. */ + if (SW1 == SW_ACTIVE) + { + if (g_switches[0].active != true) + { + if (++g_switches[0].debounce_cnt >= g_sw_debounce_cnts) + { + /* Set this to true so we only call the callback function once per press. */ + g_switches[0].active = true; + + /* Call callback function. */ + SW1_CALLBACK_FUNCTION(); + } + } + } + else + { + if (0 == g_switches[0].debounce_cnt) + { + g_switches[0].active = false; + } + else + { + g_switches[0].debounce_cnt--; + } + } + + /* Check switch 2. */ + if (SW2 == SW_ACTIVE) + { + if (g_switches[1].active != true) + { + if (++g_switches[1].debounce_cnt >= g_sw_debounce_cnts) + { + /* Set this to true so we only call the callback function once per press. */ + g_switches[1].active = true; + + /* Call callback function. */ + SW2_CALLBACK_FUNCTION(); + } + } + } + else + { + if (0 == g_switches[1].debounce_cnt) + { + g_switches[1].active = false; + } + else + { + g_switches[1].debounce_cnt--; + } + } + + /* Check switch 3. */ + if (SW3 == SW_ACTIVE) + { + if (g_switches[2].active != true) + { + if (++g_switches[2].debounce_cnt >= g_sw_debounce_cnts) + { + /* Set this to true so we only call the callback function once per press. */ + g_switches[2].active = true; + + /* Call callback function. */ + SW3_CALLBACK_FUNCTION(); + } + } + } + else + { + if (0 == g_switches[2].debounce_cnt) + { + g_switches[2].active = false; + } + else + { + g_switches[2].debounce_cnt--; + } + } +#endif /* SWITCHES_DETECTION_MODE */ +} + + + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/main.c b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/main.c new file mode 100644 index 000000000..194cde0f1 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/main.c @@ -0,0 +1,204 @@ +/* + FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS 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 AND MODIFIED BY the FreeRTOS exception. + + >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. + + FreeRTOS 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 + and the FreeRTOS license exception along with FreeRTOS; if not itcan be + viewed here: http://www.freertos.org/a00114.html and also obtained by + writing to Real Time Engineers Ltd., contact details for whom are available + on the FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, and our new + fully thread aware and reentrant UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems, who sell the code with commercial support, + indemnification and middleware, under the OpenRTOS brand. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. +*/ + +/****************************************************************************** + * This project provides two demo applications. A low power project that + * demonstrates the FreeRTOS tickless mode, and a more comprehensive test and + * demo application. The configCREATE_LOW_POWER_DEMO setting (defined at the + * top of FreeRTOSConfig.h) is used to select between the two. The low power + * demo is implemented and described in main_low_power.c. The more + * comprehensive test and demo application is implemented and described in + * main_full.c. + * + * This file implements the code that is not demo specific, including the + * hardware setup and FreeRTOS hook functions. + */ + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" + +/* Platform includes. */ +#include "lcd.h" + +/*-----------------------------------------------------------*/ + +/* + * main_low_power() is used when configCREATE_LOW_POWER_DEMO is set to 1. + * main_full() is used when configCREATE_LOW_POWER_DEMO is set to 0. + */ +extern void main_low_power( void ); +extern void main_full( void ); + +/* Prototypes for the standard FreeRTOS callback/hook functions implemented +within this file. */ +void vApplicationMallocFailedHook( void ); +void vApplicationIdleHook( void ); +void vApplicationStackOverflowHook( xTaskHandle pxTask, signed char *pcTaskName ); +void vApplicationTickHook( void ); + +/*-----------------------------------------------------------*/ + +/* See the documentation page for this demo on the FreeRTOS.org web site for +full information - including hardware setup requirements. */ + +void main( void ) +{ + lcd_initialize(); + lcd_display( LCD_LINE1, "FreeRTOS" ); + + /* The configCREATE_LOW_POWER_DEMO setting is described in FreeRTOSConfig.h. */ + #if configCREATE_LOW_POWER_DEMO == 1 + { + lcd_display( LCD_LINE2, "LP Demo" ); + main_low_power(); + } + #else + { + lcd_display( LCD_LINE2, "Ful Demo" ); + main_full(); + } + #endif +} +/*-----------------------------------------------------------*/ + +void vApplicationMallocFailedHook( void ) +{ + /* vApplicationMallocFailedHook() will only be called if + configUSE_MALLOC_FAILED_HOOK is set to 1 in FreeRTOSConfig.h. It is a hook + function that will get called if a call to pvPortMalloc() fails. + pvPortMalloc() is called internally by the kernel whenever a task, queue, + timer or semaphore is created. It is also called by various parts of the + demo application. If heap_1.c, heap_2.c or heap_4.c are used, then the size + of the heap available to pvPortMalloc() is defined by configTOTAL_HEAP_SIZE + in FreeRTOSConfig.h, and the xPortGetFreeHeapSize() API function can be used + to query the size of free heap space that remains (although it does not + provide information on how the remaining heap might be fragmented). */ + taskDISABLE_INTERRUPTS(); + for( ;; ); +} +/*-----------------------------------------------------------*/ + +void vApplicationIdleHook( void ) +{ + /* vApplicationIdleHook() will only be called if configUSE_IDLE_HOOK is set + to 1 in FreeRTOSConfig.h. It will be called on each iteration of the idle + task. It is essential that code added to this hook function never attempts + to block in any way (for example, call xQueueReceive() with a block time + specified, or call vTaskDelay()). If the application makes use of the + vTaskDelete() API function (as this demo application does) then it is also + important that vApplicationIdleHook() is permitted to return to its calling + function, because it is the responsibility of the idle task to clean up + memory allocated by the kernel to any task that has since been deleted. */ +} +/*-----------------------------------------------------------*/ + +void vApplicationStackOverflowHook( xTaskHandle pxTask, signed char *pcTaskName ) +{ + ( void ) pcTaskName; + ( void ) pxTask; + + /* 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 vApplicationTickHook( void ) +{ + /* This function will be called by each tick interrupt if + configUSE_TICK_HOOK is set to 1 in FreeRTOSConfig.h. User code can be + added here, but the tick hook is called from an interrupt context, so + code must not attempt to block, and only the interrupt safe FreeRTOS API + functions can be used (those that end in FromISR()). */ +} +/*-----------------------------------------------------------*/ + +void vAssertCalled( void ) +{ +volatile unsigned long ul = 0; + + taskENTER_CRITICAL(); + { + /* Set ul to a non-zero value using the debugger to step out of this + function. */ + while( ul == 0 ) + { + __asm volatile( "NOP" ); + } + } + taskEXIT_CRITICAL(); +} diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/main_full.c b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/main_full.c new file mode 100644 index 000000000..1a2934c0c --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/main_full.c @@ -0,0 +1,540 @@ +/* + FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS 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 AND MODIFIED BY the FreeRTOS exception. + + >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. + + FreeRTOS 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 + and the FreeRTOS license exception along with FreeRTOS; if not itcan be + viewed here: http://www.freertos.org/a00114.html and also obtained by + writing to Real Time Engineers Ltd., contact details for whom are available + on the FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, and our new + fully thread aware and reentrant UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems, who sell the code with commercial support, + indemnification and middleware, under the OpenRTOS brand. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. +*/ + +/* **************************************************************************** + * This project includes a lot of tasks and tests and is therefore complex. + * If you would prefer a much simpler project to get started with then select + * the 'low power' demo by setting configCREATE_LOW_POWER_DEMO to 1 in + * FreeRTOSConfig.h. When configCREATE_LOW_POWER_DEMO is set to 1 main() will + * call main_low_power() instead of main_full(). + * **************************************************************************** + * + * Creates all the demo application tasks, 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 the registers with known values, then + * repeatedly check that each register still contains its expected value for + * the lifetime of the tasks. Each task uses different values. The tasks run + * with very low priority so get preempted very frequently. A check variable + * is incremented on each iteration of the test loop. A register containing an + * unexpected value is indicative of an error in the context switching + * mechanism and will result in a branch to a null loop - which in turn will + * prevent the check variable from incrementing any further and allow the check + * timer (described below) to determine that an error has occurred. The nature + * of the reg test tasks necessitates that they are written in assembly code. + * + * "Check Timer" and Callback Function - The check timer period is initially + * set to three seconds. The check timer callback function checks that all the + * standard demo tasks are not only still executing, but are executing without + * reporting any errors. If the check timer discovers that a task has either + * stalled, or reported an error, then it changes its own period from the + * initial three seconds, to just 200ms. The check timer callback function + * also toggles LED 0 each time it is called. This provides a visual + * indication of the system status: If the LED toggles every three seconds, + * then no issues have been discovered. If the LED toggles every 200ms, then + * an issue has been discovered with at least one task. + * + * *NOTE 1* The CPU must be in Supervisor mode when the scheduler is started. + * The PowerON_Reset_PC() supplied in resetprg.c with this demo has + * Change_PSW_PM_to_UserMode() commented out to ensure this is the case. +*/ + +/* Standard includes. */ +#include + +/* Hardware specific includes. */ +#include "iodefine.h" + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "timers.h" +#include "semphr.h" + +/* Standard demo includes. */ +#include "partest.h" +#include "death.h" +#include "blocktim.h" +#include "GenQTest.h" +#include "recmutex.h" + +/* The code in this file is only built when configCREATE_LOW_POWER_DEMO is set +to 0, otherwise the code in main_low_power.c is used. */ +#if configCREATE_LOW_POWER_DEMO == 0 + + +/* Values that are passed into the reg test tasks using the task parameter. +The tasks check that the values are passed in correctly. */ +#define mainREG_TEST_1_PARAMETER ( 0x12121212UL ) +#define mainREG_TEST_2_PARAMETER ( 0x12345678UL ) + +/* Priorities at which the standard demo tasks are created. */ +#define mainGEN_QUEUE_TASK_PRIORITY ( tskIDLE_PRIORITY ) +#define mainCREATOR_TASK_PRIORITY ( tskIDLE_PRIORITY + 3 ) + +/* The LED toggled by the check timer. */ +#define mainCHECK_LED ( 0 ) + +/* The period at which the check timer will expire, in ms, provided no errors +have been reported by any of the standard demo tasks. ms are converted to the +equivalent in ticks using the portTICK_RATE_MS constant. */ +#define mainCHECK_TIMER_PERIOD_MS ( 3000UL / portTICK_RATE_MS ) + +/* The period at which the check timer will expire, in ms, if an error has been +reported in one of the standard demo tasks. ms are converted to the equivalent +in ticks using the portTICK_RATE_MS constant. */ +#define mainERROR_CHECK_TIMER_PERIOD_MS ( 200UL / portTICK_RATE_MS ) + +/* A block time of zero simple means "Don't Block". */ +#define mainDONT_BLOCK ( 0UL ) + +/* + * The reg test tasks as described at the top of this file. + */ +static void prvRegTest1Task( void *pvParameters ); +static void prvRegTest2Task( void *pvParameters ); + +/* + * The actual implementation of the reg test functionality, which, because of + * the direct register access, have to be in assembly. + */ +static void prvRegTest1Implementation( void ) __attribute__(( naked )); +static void prvRegTest2Implementation( void ) __attribute__(( naked )); + +/* + * The check timer callback function, as described at the top of this file. + */ +static void prvCheckTimerCallback( xTimerHandle xTimer ); + + +/*-----------------------------------------------------------*/ + +/* Variables that are incremented on each iteration of the reg test tasks - +provided the tasks have not reported any errors. The check timer inspects these +variables to ensure they are still incrementing as expected. If a variable +stops incrementing then it is likely that its associated task has stalled. */ +unsigned long ulRegTest1CycleCount = 0UL, ulRegTest2CycleCount = 0UL; + +/* The check timer. This uses prvCheckTimerCallback() as its callback +function. */ +static xTimerHandle xCheckTimer = NULL; + +/*-----------------------------------------------------------*/ + +void main_full( void ) +{ + /* Start the reg test tasks which test the context switching mechanism. */ + xTaskCreate( prvRegTest1Task, "RegTst1", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_1_PARAMETER, tskIDLE_PRIORITY, NULL ); + xTaskCreate( prvRegTest2Task, "RegTst2", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_2_PARAMETER, tskIDLE_PRIORITY, NULL ); + + /* Create the standard demo tasks. */ + vCreateBlockTimeTasks(); + vStartGenericQueueTasks( mainGEN_QUEUE_TASK_PRIORITY ); + vStartRecursiveMutexTasks(); + + /* The suicide tasks must be created last as they need to know how many + tasks were running prior to their creation in order to ascertain whether + or not the correct/expected number of tasks are running at any given time. */ + vCreateSuicidalTasks( mainCREATOR_TASK_PRIORITY ); + + /* Create the software timer that performs the 'check' functionality, + as described at the top of this file. */ + xCheckTimer = xTimerCreate( ( const signed char * ) "CheckTimer",/* A text name, purely to help debugging. */ + ( mainCHECK_TIMER_PERIOD_MS ), /* The timer period, in this case 5000ms (5s). */ + pdTRUE, /* This is an auto-reload timer, so xAutoReload is set to pdTRUE. */ + ( void * ) 0, /* The ID is not used, so can be set to anything. */ + prvCheckTimerCallback /* The callback function that inspects the status of all the other tasks. */ + ); + + configASSERT( xCheckTimer ); + + /* Start the check timer. It will actually start when the scheduler is + started. */ + xTimerStart( xCheckTimer, mainDONT_BLOCK ); + + /* Start the tasks running. */ + vTaskStartScheduler(); + + /* If all is well execution will never reach here as the scheduler will be + running. If this null loop is reached then it is likely there was + insufficient FreeRTOS heap available for the idle task and/or timer task to + be created. See http://www.freertos.org/a00111.html. */ + for( ;; ); +} +/*-----------------------------------------------------------*/ + +static void prvCheckTimerCallback( xTimerHandle xTimer ) +{ +static long lChangedTimerPeriodAlready = pdFALSE, lErrorStatus = pdPASS; +static volatile unsigned long ulLastRegTest1CycleCount = 0UL, ulLastRegTest2CycleCount = 0UL; + + /* Remove compiler warnings about unused parameters. */ + ( void ) xTimer; + + /* Check the standard demo tasks are running without error. */ + if( xAreGenericQueueTasksStillRunning() != pdTRUE ) + { + lErrorStatus = pdFAIL; + } + else if( xIsCreateTaskStillRunning() != pdTRUE ) + { + lErrorStatus = pdFAIL; + } + else if( xAreBlockTimeTestTasksStillRunning() != pdTRUE ) + { + lErrorStatus = pdFAIL; + } + else if( xAreRecursiveMutexTasksStillRunning() != pdTRUE ) + { + lErrorStatus = pdFAIL; + } + + /* Check the reg test tasks are still cycling. They will stop incrementing + their loop counters if they encounter an error. */ + if( ulRegTest1CycleCount == ulLastRegTest1CycleCount ) + { + lErrorStatus = pdFAIL; + } + + if( ulRegTest2CycleCount == ulLastRegTest2CycleCount ) + { + lErrorStatus = pdFAIL; + } + + /* Remember the loop counter values this time around so they can be checked + again the next time this callback function executes. */ + ulLastRegTest1CycleCount = ulRegTest1CycleCount; + ulLastRegTest2CycleCount = ulRegTest2CycleCount; + + /* Toggle the check LED to give an indication of the system status. If + the LED toggles every three seconds then everything is ok. A faster toggle + indicates an error. */ + vParTestToggleLED( mainCHECK_LED ); + + /* Was an error detected this time through the callback execution? */ + if( lErrorStatus != pdPASS ) + { + if( lChangedTimerPeriodAlready == pdFALSE ) + { + lChangedTimerPeriodAlready = pdTRUE; + + /* This call to xTimerChangePeriod() uses a zero block time. + Functions called from inside of a timer callback function must + *never* attempt to block. */ + xTimerChangePeriod( xCheckTimer, ( mainERROR_CHECK_TIMER_PERIOD_MS ), mainDONT_BLOCK ); + } + } +} +/*-----------------------------------------------------------*/ + +/* This function is explained in the comments at the top of this file. */ +static void prvRegTest1Task( void *pvParameters ) +{ + if( ( ( unsigned long ) pvParameters ) != mainREG_TEST_1_PARAMETER ) + { + /* The parameter did not contain the expected value. */ + for( ;; ) + { + /* Stop the tick interrupt so its obvious something has gone wrong. */ + taskDISABLE_INTERRUPTS(); + } + } + + /* This is an inline asm function that never returns. */ + prvRegTest1Implementation(); +} +/*-----------------------------------------------------------*/ + +/* This function is explained in the comments at the top of this file. */ +static void prvRegTest2Task( void *pvParameters ) +{ + if( ( ( unsigned long ) pvParameters ) != mainREG_TEST_2_PARAMETER ) + { + /* The parameter did not contain the expected value. */ + for( ;; ) + { + /* Stop the tick interrupt so its obvious something has gone wrong. */ + taskDISABLE_INTERRUPTS(); + } + } + + /* This is an inline asm function that never returns. */ + prvRegTest2Implementation(); +} +/*-----------------------------------------------------------*/ + +/* This function is explained in the comments at the top of this file. */ +static void prvRegTest1Implementation( void ) +{ + __asm volatile + ( + /* Set each register to a known value. */ + " MOV.L #0x33333333, R15 \n\t" + " MVTACHI R15 \n\t" + " MOV.L #0x44444444, R15 \n\t" + " MVTACLO R15 \n\t" + " MOV.L #1, R1 \n\t" + " MOV.L #2, R2 \n\t" + " MOV.L #3, R3 \n\t" + " MOV.L #4, R4 \n\t" + " MOV.L #5, R5 \n\t" + " MOV.L #6, R6 \n\t" + " MOV.L #7, R7 \n\t" + " MOV.L #8, R8 \n\t" + " MOV.L #9, R9 \n\t" + " MOV.L #10, R10 \n\t" + " MOV.L #11, R11 \n\t" + " MOV.L #12, R12 \n\t" + " MOV.L #13, R13 \n\t" + " MOV.L #14, R14 \n\t" + " MOV.L #15, R15 \n\t" + " \n\t" + /* Loop, checking each iteration that each register still contains the + expected value. */ + "TestLoop1: \n\t" + " \n\t" + /* Push the registers that are going to get clobbered. */ + " PUSHM R14-R15 \n\t" + " \n\t" + /* Increment the loop counter to show this task is still getting CPU + time. */ + " MOV.L #_ulRegTest1CycleCount, R14 \n\t" + " MOV.L [ R14 ], R15 \n\t" + " ADD #1, R15 \n\t" + " MOV.L R15, [ R14 ] \n\t" + " \n\t" + /* Yield to extend the text coverage. Set the bit in the ITU SWINTR + register. */ + " MOV.L #1, R14 \n\t" + " MOV.L #0872E0H, R15 \n\t" + " MOV.B R14, [R15] \n\t" + " NOP \n\t" + " NOP \n\t" + " \n\t" + /* Check the accumulator value. */ + " MVFACHI R15 \n\t" + " CMP #0x33333333, R15 \n\t" + " BNE RegTest2Error \n\t" + " MVFACMI R15 \n\t" + " CMP #0x33334444, R15 \n\t" + " BNE RegTest2Error \n\t" + " \n\t" + /* Restore the clobbered registers. */ + " POPM R14-R15 \n\t" + " \n\t" + /* Now compare each register to ensure it still contains the value that + was set before this loop was entered. */ + " CMP #1, R1 \n\t" + " BNE RegTest1Error \n\t" + " CMP #2, R2 \n\t" + " BNE RegTest1Error \n\t" + " CMP #3, R3 \n\t" + " BNE RegTest1Error \n\t" + " CMP #4, R4 \n\t" + " BNE RegTest1Error \n\t" + " CMP #5, R5 \n\t" + " BNE RegTest1Error \n\t" + " CMP #6, R6 \n\t" + " BNE RegTest1Error \n\t" + " CMP #7, R7 \n\t" + " BNE RegTest1Error \n\t" + " CMP #8, R8 \n\t" + " BNE RegTest1Error \n\t" + " CMP #9, R9 \n\t" + " BNE RegTest1Error \n\t" + " CMP #10, R10 \n\t" + " BNE RegTest1Error \n\t" + " CMP #11, R11 \n\t" + " BNE RegTest1Error \n\t" + " CMP #12, R12 \n\t" + " BNE RegTest1Error \n\t" + " CMP #13, R13 \n\t" + " BNE RegTest1Error \n\t" + " CMP #14, R14 \n\t" + " BNE RegTest1Error \n\t" + " CMP #15, R15 \n\t" + " BNE RegTest1Error \n\t" + " \n\t" + /* All comparisons passed, start a new iteration of this loop. */ + " BRA TestLoop1 \n\t" + " \n\t" + /* A compare failed, just loop here so the loop counter stops + incrementing causing the check timer to indicate the error. */ + "RegTest1Error: \n\t" + " BRA RegTest1Error " + ); +} +/*-----------------------------------------------------------*/ + +/* This function is explained in the comments at the top of this file. */ +static void prvRegTest2Implementation( void ) +{ + __asm volatile + ( + /* Set each register to a known value. */ + " MOV.L #0x11111111, R15 \n\t" + " MVTACHI R15 \n\t" + " MOV.L #0x22222222, R15 \n\t" + " MVTACLO R15 \n\t" + " MOV.L #100, R1 \n\t" + " MOV.L #200, R2 \n\t" + " MOV.L #300, R3 \n\t" + " MOV.L #400, R4 \n\t" + " MOV.L #500, R5 \n\t" + " MOV.L #600, R6 \n\t" + " MOV.L #700, R7 \n\t" + " MOV.L #800, R8 \n\t" + " MOV.L #900, R9 \n\t" + " MOV.L #1000, R10 \n\t" + " MOV.L #1001, R11 \n\t" + " MOV.L #1002, R12 \n\t" + " MOV.L #1003, R13 \n\t" + " MOV.L #1004, R14 \n\t" + " MOV.L #1005, R15 \n\t" + " \n\t" + /* Loop, checking each iteration that each register still contains the + expected value. */ + "TestLoop2: \n\t" + " \n\t" + /* Push the registers that are going to get clobbered. */ + " PUSHM R14-R15 \n\t" + " \n\t" + /* Increment the loop counter to show this task is still getting CPU + time. */ + " MOV.L #_ulRegTest2CycleCount, R14 \n\t" + " MOV.L [ R14 ], R15 \n\t" + " ADD #1, R15 \n\t" + " MOV.L R15, [ R14 ] \n\t" + " \n\t" + /* Check the accumulator value. */ + " MVFACHI R15 \n\t" + " CMP #0x11111111, R15 \n\t" + " BNE RegTest2Error \n\t" + " MVFACMI R15 \n\t" + " CMP #0x11112222, R15 \n\t" + " BNE RegTest2Error \n\t" + " \n\t" + /* Restore the clobbered registers. */ + " POPM R14-R15 \n\t" + " \n\t" + /* Now compare each register to ensure it still contains the value that + was set before this loop was entered. */ + " CMP #100, R1 \n\t" + " BNE RegTest2Error \n\t" + " CMP #200, R2 \n\t" + " BNE RegTest2Error \n\t" + " CMP #300, R3 \n\t" + " BNE RegTest2Error \n\t" + " CMP #400, R4 \n\t" + " BNE RegTest2Error \n\t" + " CMP #500, R5 \n\t" + " BNE RegTest2Error \n\t" + " CMP #600, R6 \n\t" + " BNE RegTest2Error \n\t" + " CMP #700, R7 \n\t" + " BNE RegTest2Error \n\t" + " CMP #800, R8 \n\t" + " BNE RegTest2Error \n\t" + " CMP #900, R9 \n\t" + " BNE RegTest2Error \n\t" + " CMP #1000, R10 \n\t" + " BNE RegTest2Error \n\t" + " CMP #1001, R11 \n\t" + " BNE RegTest2Error \n\t" + " CMP #1002, R12 \n\t" + " BNE RegTest2Error \n\t" + " CMP #1003, R13 \n\t" + " BNE RegTest2Error \n\t" + " CMP #1004, R14 \n\t" + " BNE RegTest2Error \n\t" + " CMP #1005, R15 \n\t" + " BNE RegTest2Error \n\t" + " \n\t" + /* All comparisons passed, start a new iteration of this loop. */ + " BRA TestLoop2 \n\t" + " \n\t" + /* A compare failed, just loop here so the loop counter stops + incrementing causing the check timer to indicate the error. */ + "RegTest2Error: \n\t" + " BRA RegTest2Error " + ); +} +/*-----------------------------------------------------------*/ + +#endif /* configCREATE_LOW_POWER_DEMO */ diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/main_low_power.c b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/main_low_power.c new file mode 100644 index 000000000..a69396058 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/main_low_power.c @@ -0,0 +1,436 @@ +/* + FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS 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 AND MODIFIED BY the FreeRTOS exception. + + >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. + + FreeRTOS 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 + and the FreeRTOS license exception along with FreeRTOS; if not itcan be + viewed here: http://www.freertos.org/a00114.html and also obtained by + writing to Real Time Engineers Ltd., contact details for whom are available + on the FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, and our new + fully thread aware and reentrant UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems, who sell the code with commercial support, + indemnification and middleware, under the OpenRTOS brand. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. +*/ + +/* **************************************************************************** + * When configCREATE_LOW_POWER_DEMO is set to 1 in FreeRTOSConfig.h main() will + * call main_low_power(), which is defined in this file. main_low_power() + * demonstrates FreeRTOS tick suppression being used to allow the MCU to be + * placed into both the low power deep sleep mode and the low power software + * standby mode. When configCREATE_LOW_POWER_DEMO is set to 0 main will + * instead call main_full(), which is a more comprehensive RTOS demonstration. + * **************************************************************************** + * + * This application demonstrates the FreeRTOS tickless idle mode (tick + * suppression). See http://www.freertos.org/low-power-tickless-rtos.html + * The demo is configured to execute on the Renesas RX100 RSK. + * + * Functionality: + * + * + Two tasks are created, an Rx task and a Tx task. + * + * + The Rx task repeatedly blocks on a queue to wait for data. The Rx task + * toggles LED 0 each time is receives a value from the queue. + * + * + The Tx task repeatedly enters the Blocked state for an amount of time + * that is set by the position of the potentiometer. On exiting the blocked + * state the Tx task sends a value through the queue to the Rx task (causing + * the Rx task to exit the blocked state and toggle LED 0). + * + * If the value read from the potentiometer is less than or equal to + * mainSOFTWARE_STANDBY_DELAY then the Tx task blocks for the equivalent + * number of milliseconds. For example, if the sampled analog value is + * 2000, then the Tx task blocks for 2000ms. Blocking for a finite period + * allows the kernel to stop the tick interrupt and place the RX100 into + * deep sleep mode. + * + * If the value read form the potentiometer is greater than + * mainSOFTWARE_STANDBY_DELAY then the Tx task blocks on a semaphore with + * an infinite timeout. Blocking with an infinite timeout allows the kernel + * to stop the tick interrupt and place the RX100 into software standby + * mode. Pressing a button will generate an interrupt that causes the RX100 + * to exit software standby mode. The interrupt service routine 'gives' the + * semaphore to unblock the Tx task. + * + * + * Using the Demo and Observed Behaviour: + * + * 1) Turn the potentiometer completely counter clockwise. + * + * 2) Program the RX100 with the application, then disconnect the programming/ + * debugging hardware to ensure power readings are not effected by any + * connected interfaces. + * + * 3) Start the application running. LED 0 will toggle quickly because the + * potentiometer is turned to its lowest value. LED 1 will be illuminated + * when the RX100 is not in a power saving mode, but will appear to be off + * because most execution time is spent in a sleep mode. Led 2 will be + * illuminated when the RX100 is in deep sleep mode, and will appear to be + * always on, again because most execution time is spent in deep sleep mode. + * The LEDs are turned on and off by the application defined pre and post + * sleep macros (see the definitions of configPRE_SLEEP_PROCESSING() and + * configPOST_SLEEP_PROCESSING() in FreeRTOSConfig.h). + * + * 4) Slowly turn the potentiometer in the clockwise direction. This will + * increase the value read from the potentiometer, which will increase the + * time the Tx task spends in the Blocked state, which will therefore + * decrease the frequency at which the Tx task sends data to the queue (and + * the rate at which LED 0 is toggled). + * + * 5) Keep turning the potentiometer in the clockwise direction. Eventually + * the value read from the potentiometer will go above + * mainSOFTWARE_STANDBY_DELAY, causing the Tx task to block on the semaphore + * with an infinite timeout. LED 0 will stop toggling because the Tx task is + * no longer sending to the queue. LED 1 and LED 2 will both be off because + * the RX100 is neither running or in deep sleep mode (it is in software + * standby mode). + * + * 6) Turn the potentiometer counter clockwise again to ensure its value goes + * back below mainSOFTWARE_STANDBY_DELAY. + * + * 7) Press any of the three buttons to generate an interrupt. The interrupt + * will take the RX100 out of software standby mode, and the interrupt + * service routine will unblock the Tx task by 'giving' the semaphore. LED 0 + * will then start to toggle again. + * + */ + + +/* Hardware specific includes. */ +#include "platform.h" +#include "r_switches_if.h" + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" +#include "semphr.h" + +/* Common demo includes. */ +#include "partest.h" + +/* Priorities at which the Rx and Tx tasks are created. */ +#define configQUEUE_RECEIVE_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 ) +#define configQUEUE_SEND_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 ) + +/* The number of items the queue can hold. This is 1 as the Rx task will +remove items as they are added so the Tx task should always find the queue +empty. */ +#define mainQUEUE_LENGTH ( 1 ) + +/* The LED used to indicate that a value has been received on the queue. */ +#define mainQUEUE_LED ( 0 ) + +/* The LED used to indicate that full power is being used (the MCU is not in +deep sleep or software standby mode). */ +#define mainFULL_POWER_LED ( 1 ) + +/* The LED used to indicate that deep sleep mode is being used. */ +#define mainDEEP_SLEEP_LED ( 2 ) + +/* The Tx task sends to the queue with a frequency that is set by the value +read from the potentiometer until the value goes above that set by the +mainSOFTWARE_STANDBY_DELAY constant - at which time the Tx task instead blocks +indefinitely on a semaphore. */ +#define mainSOFTWARE_STANDBY_DELAY ( 3000UL ) + +/* A block time of zero simply means "don't block". */ +#define mainDONT_BLOCK ( 0 ) + +/* The value that is sent from the Tx task to the Rx task on the queue. */ +#define mainQUEUED_VALUE ( 100UL ) + +/*-----------------------------------------------------------*/ + +/* + * The Rx and Tx tasks as described at the top of this file. + */ +static void prvQueueReceiveTask( void *pvParameters ); +static void prvQueueSendTask( void *pvParameters ); + +/* + * Reads and returns the value of the ADC connected to the potentiometer built + * onto the RSK. + */ +static unsigned short prvReadPOT( void ); + +/* + * The handler for the interrupt generated when any of the buttons are pressed. + */ +void vButtonInterrupt( void ) __attribute__((interrupt)); + +/*-----------------------------------------------------------*/ + +/* The queue to pass data from the Tx task to the Rx task. */ +static xQueueHandle xQueue = NULL; + +/* The semaphore that is 'given' by interrupts generated from button pushes. */ +static xSemaphoreHandle xSemaphore = NULL; + +/*-----------------------------------------------------------*/ + +void main_low_power( void ) +{ + /* Create the queue. */ + xQueue = xQueueCreate( mainQUEUE_LENGTH, sizeof( unsigned long ) ); + configASSERT( xQueue ); + + /* Create the semaphore that is 'given' by an interrupt generated from a + button push. */ + vSemaphoreCreateBinary( xSemaphore ); + configASSERT( xSemaphore ); + + /* Make sure the semaphore starts in the expected state - no button pushes + have yet occurred. A block time of zero can be used as it is guaranteed + that the semaphore will be available because it has just been created. */ + xSemaphoreTake( xSemaphore, mainDONT_BLOCK ); + + /* Start the two tasks as described at the top of this file. */ + xTaskCreate( prvQueueReceiveTask, "Rx", configMINIMAL_STACK_SIZE, NULL, configQUEUE_RECEIVE_TASK_PRIORITY, NULL ); + xTaskCreate( prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE, NULL, configQUEUE_SEND_TASK_PRIORITY, NULL ); + + /* The CPU is currently running, not sleeping, so turn on the LED that + shows the CPU is not in a sleep mode. */ + vParTestSetLED( mainFULL_POWER_LED, pdTRUE ); + + /* Start the scheduler running running. */ + vTaskStartScheduler(); + + /* If all is well the next line of code will not be reached as the + scheduler will be running. If the next line is reached then it is likely + there was insufficient FreeRTOS heap available for the idle task and/or + timer task to be created. See http://www.freertos.org/a00111.html. */ + for( ;; ); +} +/*-----------------------------------------------------------*/ + +static void prvQueueSendTask( void *pvParameters ) +{ +portTickType xDelay; +const unsigned long ulValueToSend = mainQUEUED_VALUE; + + /* Remove compiler warning about unused parameter. */ + ( void ) pvParameters; + + for( ;; ) + { + /* The delay period between successive sends to the queue is set by + the potentiometer reading. */ + xDelay = ( portTickType ) prvReadPOT(); + + /* If the block time is greater than 3000 milliseconds then block + indefinitely waiting for a button push. */ + if( xDelay > mainSOFTWARE_STANDBY_DELAY ) + { + /* As this is an indefinite delay the kernel will place the CPU + into software standby mode the next time the idle task runs. */ + xSemaphoreTake( xSemaphore, portMAX_DELAY ); + } + else + { + /* Convert a time in milliseconds to a time in ticks. */ + xDelay /= portTICK_RATE_MS; + + /* Place this task in the blocked state until it is time to run + again. As this is not an indefinite sleep the kernel will place + the CPU into the deep sleep state when the idle task next runs. */ + vTaskDelay( xDelay ); + } + + /* Send to the queue - causing the queue receive task to flash its LED. + It should not be necessary to block on the queue send because the Rx + task will have removed the last queued item. */ + xQueueSend( xQueue, &ulValueToSend, mainDONT_BLOCK ); + } +} +/*-----------------------------------------------------------*/ + +static void prvQueueReceiveTask( void *pvParameters ) +{ +unsigned long ulReceivedValue; + + /* Remove compiler warning about unused parameter. */ + ( void ) pvParameters; + + for( ;; ) + { + /* Wait until something arrives in the queue - this will block + indefinitely provided INCLUDE_vTaskSuspend is set to 1 in + FreeRTOSConfig.h. */ + xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY ); + + /* To get here something must have arrived, but is it the expected + value? If it is, toggle the LED. */ + if( ulReceivedValue == mainQUEUED_VALUE ) + { + vParTestToggleLED( mainQUEUE_LED ); + } + } +} +/*-----------------------------------------------------------*/ + +void vPreSleepProcessing( unsigned long ulExpectedIdleTime ) +{ + /* Called by the kernel before it places the MCU into a sleep mode because + configPRE_SLEEP_PROCESSING() is #defined to vPreSleepProcessing(). + + NOTE: Additional actions can be taken here to get the power consumption + even lower. For example, the ADC input used by this demo could be turned + off here, and then back on again in the power sleep processing function. + For maximum power saving ensure all unused pins are in their lowest power + state. */ + + /* Avoid compiler warnings about the unused parameter. */ + ( void ) ulExpectedIdleTime; + + /* Is the MCU about to enter deep sleep mode or software standby mode? */ + if( SYSTEM.SBYCR.BIT.SSBY == 0 ) + { + /* Turn on the LED that indicates deep sleep mode is being entered. */ + vParTestSetLED( mainDEEP_SLEEP_LED, pdTRUE ); + } + else + { + /* Software standby mode is being used, so no LEDs are illuminated to + ensure minimum power readings are obtained. Ensure the Queue LED is + also off. */ + vParTestSetLED( mainQUEUE_LED, pdFALSE ); + } + + /* Turn off the LED that indicates full power is being used. */ + vParTestSetLED( mainFULL_POWER_LED, pdFALSE ); +} +/*-----------------------------------------------------------*/ + +void vPostSleepProcessing( unsigned long ulExpectedIdleTime ) +{ + /* Called by the kernel when the MCU exits a sleep mode because + configPOST_SLEEP_PROCESSING is #defined to vPostSleepProcessing(). */ + + /* Avoid compiler warnings about the unused parameter. */ + ( void ) ulExpectedIdleTime; + + /* Turn off the LED that indicates deep sleep mode, and turn on the LED + that indicates full power is being used. */ + vParTestSetLED( mainDEEP_SLEEP_LED, pdFALSE ); + vParTestSetLED( mainFULL_POWER_LED, pdTRUE ); +} +/*-----------------------------------------------------------*/ + +static unsigned short prvReadPOT( void ) +{ +unsigned short usADCValue; +const unsigned short usMinADCValue = 128; + + /* Start an ADC scan. */ + S12AD.ADCSR.BIT.ADST = 1; + while( S12AD.ADCSR.BIT.ADST == 1 ) + { + /* Just waiting for the ADC scan to complete. Inefficient + polling! */ + } + + usADCValue = S12AD.ADDR4; + + /* Don't let the ADC value get too small as the LED behaviour will look + erratic. */ + if( usADCValue < usMinADCValue ) + { + usADCValue = usMinADCValue; + } + + return usADCValue; +} +/*-----------------------------------------------------------*/ + +void vButtonInterrupt( void ) +{ +long lHigherPriorityTaskWoken = pdFALSE; + + /* The semaphore is only created when the build is configured to create the + low power demo. */ + if( xSemaphore != NULL ) + { + /* This interrupt will bring the CPU out of deep sleep and software + standby modes. Give the semaphore that was used to place the Tx task + into an indefinite sleep. */ + if( uxQueueMessagesWaitingFromISR( xSemaphore ) == 0 ) + { + xSemaphoreGiveFromISR( xSemaphore, &lHigherPriorityTaskWoken ); + } + else + { + /* The semaphore was already available, so the task is not blocked + on it and there is no point giving it. */ + } + + /* If giving the semaphore caused a task to leave the Blocked state, + and the task that left the Blocked state has a priority equal to or + above the priority of the task that this interrupt interrupted, then + lHigherPriorityTaskWoken will have been set to pdTRUE inside the call + to xSemaphoreGiveFromISR(), and calling portYIELD_FROM_ISR() will cause + a context switch to the unblocked task. */ + portYIELD_FROM_ISR( lHigherPriorityTaskWoken ); + } +} + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/printf-stdarg.c b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/printf-stdarg.c new file mode 100644 index 000000000..b5ac41be7 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo/printf-stdarg.c @@ -0,0 +1,293 @@ +/* + Copyright 2001, 2002 Georges Menie (www.menie.org) + stdarg version contributed by Christian Ettinger + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +/* + putchar is the only external dependency for this file, + if you have a working putchar, leave it commented out. + If not, uncomment the define below and + replace outbyte(c) by your own function call. + +*/ + +#define putchar(c) c + +#include + +static void printchar(char **str, int c) +{ + //extern int putchar(int c); + + if (str) { + **str = (char)c; + ++(*str); + } + else + { + (void)putchar(c); + } +} + +#define PAD_RIGHT 1 +#define PAD_ZERO 2 + +static int prints(char **out, const char *string, int width, int pad) +{ + register int pc = 0, padchar = ' '; + + if (width > 0) { + register int len = 0; + register const char *ptr; + for (ptr = string; *ptr; ++ptr) ++len; + if (len >= width) width = 0; + else width -= len; + if (pad & PAD_ZERO) padchar = '0'; + } + if (!(pad & PAD_RIGHT)) { + for ( ; width > 0; --width) { + printchar (out, padchar); + ++pc; + } + } + for ( ; *string ; ++string) { + printchar (out, *string); + ++pc; + } + for ( ; width > 0; --width) { + printchar (out, padchar); + ++pc; + } + + return pc; +} + +/* the following should be enough for 32 bit int */ +#define PRINT_BUF_LEN 12 + +static int printi(char **out, int i, int b, int sg, int width, int pad, int letbase) +{ + char print_buf[PRINT_BUF_LEN]; + register char *s; + register int t, neg = 0, pc = 0; + register unsigned int u = (unsigned int)i; + + if (i == 0) { + print_buf[0] = '0'; + print_buf[1] = '\0'; + return prints (out, print_buf, width, pad); + } + + if (sg && b == 10 && i < 0) { + neg = 1; + u = (unsigned int)-i; + } + + s = print_buf + PRINT_BUF_LEN-1; + *s = '\0'; + + while (u) { + t = (unsigned int)u % b; + if( t >= 10 ) + t += letbase - '0' - 10; + *--s = (char)(t + '0'); + u /= b; + } + + if (neg) { + if( width && (pad & PAD_ZERO) ) { + printchar (out, '-'); + ++pc; + --width; + } + else { + *--s = '-'; + } + } + + return pc + prints (out, s, width, pad); +} + +static int print( char **out, const char *format, va_list args ) +{ + register int width, pad; + register int pc = 0; + char scr[2]; + + for (; *format != 0; ++format) { + if (*format == '%') { + ++format; + width = pad = 0; + if (*format == '\0') break; + if (*format == '%') goto out; + if (*format == '-') { + ++format; + pad = PAD_RIGHT; + } + while (*format == '0') { + ++format; + pad |= PAD_ZERO; + } + for ( ; *format >= '0' && *format <= '9'; ++format) { + width *= 10; + width += *format - '0'; + } + if( *format == 's' ) { + register char *s = (char *)va_arg( args, int ); + pc += prints (out, s?s:"(null)", width, pad); + continue; + } + if( *format == 'd' ) { + pc += printi (out, va_arg( args, int ), 10, 1, width, pad, 'a'); + continue; + } + if( *format == 'x' ) { + pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'a'); + continue; + } + if( *format == 'X' ) { + pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'A'); + continue; + } + if( *format == 'u' ) { + pc += printi (out, va_arg( args, int ), 10, 0, width, pad, 'a'); + continue; + } + if( *format == 'c' ) { + /* char are converted to int then pushed on the stack */ + scr[0] = (char)va_arg( args, int ); + scr[1] = '\0'; + pc += prints (out, scr, width, pad); + continue; + } + } + else { + out: + printchar (out, *format); + ++pc; + } + } + if (out) **out = '\0'; + va_end( args ); + return pc; +} + +int printf(const char *format, ...) +{ + va_list args; + + va_start( args, format ); + return print( 0, format, args ); +} + +int sprintf(char *out, const char *format, ...) +{ + va_list args; + + va_start( args, format ); + return print( &out, format, args ); +} + + +int snprintf( char *buf, unsigned int count, const char *format, ... ) +{ + va_list args; + + ( void ) count; + + va_start( args, format ); + return print( &buf, format, args ); +} + + +#ifdef TEST_PRINTF +int main(void) +{ + char *ptr = "Hello world!"; + char *np = 0; + int i = 5; + unsigned int bs = sizeof(int)*8; + int mi; + char buf[80]; + + mi = (1 << (bs-1)) + 1; + printf("%s\n", ptr); + printf("printf test\n"); + printf("%s is null pointer\n", np); + printf("%d = 5\n", i); + printf("%d = - max int\n", mi); + printf("char %c = 'a'\n", 'a'); + printf("hex %x = ff\n", 0xff); + printf("hex %02x = 00\n", 0); + printf("signed %d = unsigned %u = hex %x\n", -3, -3, -3); + printf("%d %s(s)%", 0, "message"); + printf("\n"); + printf("%d %s(s) with %%\n", 0, "message"); + sprintf(buf, "justif: \"%-10s\"\n", "left"); printf("%s", buf); + sprintf(buf, "justif: \"%10s\"\n", "right"); printf("%s", buf); + sprintf(buf, " 3: %04d zero padded\n", 3); printf("%s", buf); + sprintf(buf, " 3: %-4d left justif.\n", 3); printf("%s", buf); + sprintf(buf, " 3: %4d right justif.\n", 3); printf("%s", buf); + sprintf(buf, "-3: %04d zero padded\n", -3); printf("%s", buf); + sprintf(buf, "-3: %-4d left justif.\n", -3); printf("%s", buf); + sprintf(buf, "-3: %4d right justif.\n", -3); printf("%s", buf); + + return 0; +} + +/* + * if you compile this file with + * gcc -Wall $(YOUR_C_OPTIONS) -DTEST_PRINTF -c printf.c + * you will get a normal warning: + * printf.c:214: warning: spurious trailing `%' in format + * this line is testing an invalid % at the end of the format string. + * + * this should display (on 32bit int machine) : + * + * Hello world! + * printf test + * (null) is null pointer + * 5 = 5 + * -2147483647 = - max int + * char a = 'a' + * hex ff = ff + * hex 00 = 00 + * signed -3 = unsigned 4294967293 = hex fffffffd + * 0 message(s) + * 0 message(s) with % + * justif: "left " + * justif: " right" + * 3: 0003 zero padded + * 3: 3 left justif. + * 3: 3 right justif. + * -3: -003 zero padded + * -3: -3 left justif. + * -3: -3 right justif. + */ + +#endif + + +/* To keep linker happy. */ +int write( int i, char* c, int n) +{ + (void)i; + (void)n; + (void)c; + return 0; +} + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo_GCC.launch b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo_GCC.launch new file mode 100644 index 000000000..6bbe77a1a --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/RTOSDemo_GCC.launch @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/custom.bat b/FreeRTOS/Demo/RX100-RSK_GCC_e2studio/custom.bat new file mode 100644 index 000000000..e69de29bb diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/FreeRTOSConfig.h b/FreeRTOS/Demo/RX100-RSK_IAR/FreeRTOSConfig.h new file mode 100644 index 000000000..3fb787a99 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/FreeRTOSConfig.h @@ -0,0 +1,183 @@ +/* + FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS 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 AND MODIFIED BY the FreeRTOS exception. + + >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. + + FreeRTOS 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 + and the FreeRTOS license exception along with FreeRTOS; if not itcan be + viewed here: http://www.freertos.org/a00114.html and also obtained by + writing to Real Time Engineers Ltd., contact details for whom are available + on the FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, and our new + fully thread aware and reentrant UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems, who sell the code with commercial support, + indemnification and middleware, under the OpenRTOS brand. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. +*/ + + +#ifndef FREERTOS_CONFIG_H +#define FREERTOS_CONFIG_H + +/* Hardware specifics. */ +#include "platform.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. + *----------------------------------------------------------*/ + +/* DEMO SPECIFIC SETTING: + * Set configCREATE_LOW_POWER_DEMO to one to run the low power demo with tick + * suppression, or 0 to run the more comprehensive test and demo application. + * If configCREATE_LOW_POWER_DEMO is set to 1 then main() calls main_low_power(). + * If configCREATE_LOW_POWER_DEMO is set to 0 then main() calls main_full(). + */ +#define configCREATE_LOW_POWER_DEMO 1 + + +#define configUSE_PREEMPTION 1 +#define configUSE_TICKLESS_IDLE configCREATE_LOW_POWER_DEMO +#define configUSE_IDLE_HOOK 0 +#define configUSE_TICK_HOOK 0 +#define configCPU_CLOCK_HZ ( ICLK_HZ ) /* Set in mcu_info.h. */ +#define configPERIPHERAL_CLOCK_HZ ( PCLKB_HZ ) /* Set in muc_info.h. */ +#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) +#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 100 ) +#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 9 * 1024 ) ) +#define configMAX_TASK_NAME_LEN ( 12 ) +#define configUSE_TRACE_FACILITY 1 +#define configUSE_16_BIT_TICKS 0 +#define configIDLE_SHOULD_YIELD 1 +#define configUSE_CO_ROUTINES 0 +#define configUSE_MUTEXES 1 +#define configGENERATE_RUN_TIME_STATS 0 +#define configCHECK_FOR_STACK_OVERFLOW 2 +#define configUSE_RECURSIVE_MUTEXES 1 +#define configQUEUE_REGISTRY_SIZE 0 +#define configUSE_MALLOC_FAILED_HOOK 0 +#define configUSE_APPLICATION_TASK_TAG 0 + +#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 7 ) +#define configMAX_CO_ROUTINE_PRIORITIES ( 2 ) + +/* Software timer definitions - only included when the demo is configured to +build the full demo (as opposed to the low power demo). */ +#if configCREATE_LOW_POWER_DEMO == 1 + #define configUSE_TIMERS 0 +#else + #define configUSE_TIMERS 1 + #define configTIMER_TASK_PRIORITY ( 3 ) + #define configTIMER_QUEUE_LENGTH 5 + #define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE ) +#endif /* configCREATE_LOW_POWER_DEMO */ + +/* +The interrupt priority used by the kernel itself for the tick interrupt and +the pended interrupt is set by configKERNEL_INTERRUPT_PRIORITY. This would +normally be the lowest priority (1 in this case). The maximum interrupt +priority from which FreeRTOS API calls can be made is set by +configMAX_SYSCALL_INTERRUPT_PRIORITY. Interrupts that use a priority above this +will not be effected by anything the kernel is doing. Interrupts at or below +this priority can use FreeRTOS API functions - but *only* those that end in +"FromISR". Both these constants are defined in 'PriorityDefinitions.h' so they +can also be included in assembly source files. +*/ +#include "PriorityDefinitions.h" + +/* 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 0 +#define INCLUDE_vTaskSuspend 1 +#define INCLUDE_vTaskDelayUntil 1 +#define INCLUDE_vTaskDelay 1 +#define INCLUDE_uxTaskGetStackHighWaterMark 1 +#define INCLUDE_xTaskGetSchedulerState 1 + +extern void vAssertCalled( void ); +#define configASSERT( x ) if( ( x ) == 0 ) vAssertCalled(); + +/* The configPRE_SLEEP_PROCESSING() and configPOST_SLEEP_PROCESSING() macros +allow the application writer to add additional code before and after the MCU is +placed into the low power state respectively. The implementations provided in +this demo can be extended to save even more power - for example the analog +input used by the low power demo could be switched off in the pre-sleep macro +and back on again in the post sleep macro. */ +void vPreSleepProcessing( unsigned long xExpectedIdleTime ); +void vPostSleepProcessing( unsigned long xExpectedIdleTime ); +#define configPRE_SLEEP_PROCESSING( xExpectedIdleTime ) vPreSleepProcessing( xExpectedIdleTime ); +#define configPOST_SLEEP_PROCESSING( xExpectedIdleTime ) vPostSleepProcessing( xExpectedIdleTime ); + +/* configTICK_VECTOR must be set to the interrupt vector used by the peripheral +that generates the tick interrupt. */ +#define configTICK_VECTOR VECT_CMT0_CMI0 + +#endif /* FREERTOS_CONFIG_H */ diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/ParTest.c b/FreeRTOS/Demo/RX100-RSK_IAR/ParTest.c new file mode 100644 index 000000000..827da190d --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/ParTest.c @@ -0,0 +1,200 @@ +/* + FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS 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 AND MODIFIED BY the FreeRTOS exception. + + >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. + + FreeRTOS 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 + and the FreeRTOS license exception along with FreeRTOS; if not itcan be + viewed here: http://www.freertos.org/a00114.html and also obtained by + writing to Real Time Engineers Ltd., contact details for whom are available + on the FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, and our new + fully thread aware and reentrant UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems, who sell the code with commercial support, + indemnification and middleware, under the OpenRTOS brand. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. +*/ + +/*----------------------------------------------------------- + * Simple IO routines to control the LEDs. + *-----------------------------------------------------------*/ + +/* Scheduler includes. */ +#include "FreeRTOS.h" +#include "task.h" + +/* Demo includes. */ +#include "partest.h" + +#define partestNUM_LEDS ( 4 ) + +long lParTestGetLEDState( unsigned long ulLED ); + +/*-----------------------------------------------------------*/ + +void vParTestInitialise( void ) +{ + /* Port pin configuration is done by the low level set up prior to this + function being called. */ +} +/*-----------------------------------------------------------*/ + +void vParTestSetLED( unsigned long ulLED, signed long xValue ) +{ + if( ulLED < partestNUM_LEDS ) + { + if( xValue != 0 ) + { + /* Turn the LED on. */ + taskENTER_CRITICAL(); + { + switch( ulLED ) + { + case 0: LED0 = LED_ON; + break; + case 1: LED1 = LED_ON; + break; + case 2: LED2 = LED_ON; + break; + case 3: LED3 = LED_ON; + break; + } + } + taskEXIT_CRITICAL(); + } + else + { + /* Turn the LED off. */ + taskENTER_CRITICAL(); + { + switch( ulLED ) + { + case 0: LED0 = LED_OFF; + break; + case 1: LED1 = LED_OFF; + break; + case 2: LED2 = LED_OFF; + break; + case 3: LED3 = LED_OFF; + break; + } + + } + taskEXIT_CRITICAL(); + } + } +} +/*-----------------------------------------------------------*/ + +void vParTestToggleLED( unsigned long ulLED ) +{ + if( ulLED < partestNUM_LEDS ) + { + taskENTER_CRITICAL(); + { + if( lParTestGetLEDState( ulLED ) != 0x00 ) + { + vParTestSetLED( ulLED, 0 ); + } + else + { + vParTestSetLED( ulLED, 1 ); + } + } + taskEXIT_CRITICAL(); + } +} +/*-----------------------------------------------------------*/ + +long lParTestGetLEDState( unsigned long ulLED ) +{ +long lReturn = pdTRUE; + + if( ulLED < partestNUM_LEDS ) + { + switch( ulLED ) + { + case 0 : if( LED0 != 0 ) + { + lReturn = pdFALSE; + } + break; + case 1 : if( LED1 != 0 ) + { + lReturn = pdFALSE; + } + break; + case 2 : if( LED2 != 0 ) + { + lReturn = pdFALSE; + } + break; + case 3 : if( LED3 != 0 ) + { + lReturn = pdFALSE; + } + break; + } + } + + return lReturn; +} +/*-----------------------------------------------------------*/ + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/PriorityDefinitions.h b/FreeRTOS/Demo/RX100-RSK_IAR/PriorityDefinitions.h new file mode 100644 index 000000000..a530b5ca5 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/PriorityDefinitions.h @@ -0,0 +1,91 @@ +/* + FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS 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 AND MODIFIED BY the FreeRTOS exception. + + >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. + + FreeRTOS 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 + and the FreeRTOS license exception along with FreeRTOS; if not itcan be + viewed here: http://www.freertos.org/a00114.html and also obtained by + writing to Real Time Engineers Ltd., contact details for whom are available + on the FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, and our new + fully thread aware and reentrant UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems, who sell the code with commercial support, + indemnification and middleware, under the OpenRTOS brand. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. +*/ + +#ifndef PRIORITY_DEFINITIONS_H +#define PRIORITY_DEFINITIONS_H + + +/* The interrupt priority used by the kernel itself for the tick interrupt and +the pended interrupt. This would normally be the lowest priority. */ +#define configKERNEL_INTERRUPT_PRIORITY 1 + +/* The maximum interrupt priority from which FreeRTOS API calls can be made. +Interrupts that use a priority above this will not be effected by anything the +kernel is doing but must not make any use of FreeRTOS functionality. +interrupts that use a priority at or below configMAX_SYSCALL_INTERRUPT_PRIORITY +can make use of FreeRTOS API function but *only* functions that end in +"FromISR()". */ +#define configMAX_SYSCALL_INTERRUPT_PRIORITY 4 + +#endif /* PRIORITY_DEFINITIONS_H */ diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.dep b/FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.dep new file mode 100644 index 000000000..e4be4cfe6 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.dep @@ -0,0 +1,398 @@ + + + + 2 + 1022944783 + + Debug + + $PROJ_DIR$\Debug\Obj\reg_test.o + $PROJ_DIR$\..\..\Source\include\queue.h + $PROJ_DIR$\..\..\Source\include\FreeRTOS.h + $PROJ_DIR$\..\..\Source\include\projdefs.h + $PROJ_DIR$\..\..\Source\portable\IAR\RX100\port.c + $PROJ_DIR$\Debug\Obj\port.pbi + $PROJ_DIR$\Debug\Obj\heap_4.pbi + $PROJ_DIR$\Debug\Obj\blocktim.pbi + $PROJ_DIR$\Debug\Obj\queue.pbi + $PROJ_DIR$\Debug\Obj\port_asm.o + $PROJ_DIR$\Debug\Obj\ParTest.o + $PROJ_DIR$\Debug\Obj\GenQTest.o + $TOOLKIT_DIR$\inc\c\yvals.h + $PROJ_DIR$\Debug\Obj\main.pbi + $PROJ_DIR$\Debug\Obj\lcd.o + $PROJ_DIR$\Debug\Obj\list.pbi + $PROJ_DIR$\Debug\Obj\blocktim.o + $PROJ_DIR$\Debug\Obj\death.o + $PROJ_DIR$\Debug\Obj\hardware_setup.o + $PROJ_DIR$\FreeRTOSConfig.h + $PROJ_DIR$\main.c + $PROJ_DIR$\main_full.c + $PROJ_DIR$\main_low_power.c + $PROJ_DIR$\ParTest.c + $PROJ_DIR$\reg_test.s + $PROJ_DIR$\Debug\Obj\main_low_power.o + $PROJ_DIR$\Debug\Obj\timers.o + $PROJ_DIR$\Debug\Obj\list.o + $TOOLKIT_DIR$\inc\c\DLib_Defaults.h + $TOOLKIT_DIR$\inc\DLib_Product.h + $TOOLKIT_DIR$\inc\c\ycheck.h + $TOOLKIT_DIR$\inc\c\xencoding_limits.h + $TOOLKIT_DIR$\inc\c\DLib_Threads.h + $PROJ_DIR$\Renesas_Files\r_bsp\platform.h + $PROJ_DIR$\Renesas_Files\r_bsp\board\rskrx111\r_bsp.h + $TOOLKIT_DIR$\inc\c\stddef.h + $TOOLKIT_DIR$\inc\c\ysizet.h + $TOOLKIT_DIR$\inc\c\stdint.h + $PROJ_DIR$\Renesas_Files\r_bsp\r_bsp_config.h + $PROJ_DIR$\Renesas_Files\r_bsp\mcu\rx111\mcu_info.h + $PROJ_DIR$\Renesas_Files\r_bsp\board\rskrx111\lcd.h + $PROJ_DIR$\..\..\Source\include\portable.h + $PROJ_DIR$\Debug\Obj\tasks.pbi + $PROJ_DIR$\Debug\Obj\timers.pbi + $PROJ_DIR$\Debug\Obj\lcd.pbi + $PROJ_DIR$\Debug\Obj\queue.o + $PROJ_DIR$\Debug\Obj\main_full.pbi + $PROJ_DIR$\Debug\Obj\main_low_power.pbi + $PROJ_DIR$\Debug\Exe\templproj.out + $PROJ_DIR$\Debug\Obj\RTOSDemo_IAR.pbd + $TOOLKIT_DIR$\inc\c\limits.h + $PROJ_DIR$\PriorityDefinitions.h + $PROJ_DIR$\Renesas_Files\r_bsp\board\rskrx111\rskrx111.h + $PROJ_DIR$\Debug\Obj\heap_4.o + $TOOLKIT_DIR$\inc\intrinsics.h + $TOOLKIT_DIR$\inc\iorx111.h + $PROJ_DIR$\Debug\Obj\port.o + $PROJ_DIR$\Debug\Obj\hardware_setup.pbi + $PROJ_DIR$\Debug\Obj\r_switches.pbi + $PROJ_DIR$\Debug\Obj\death.pbi + $PROJ_DIR$\Debug\Obj\GenQTest.pbi + $PROJ_DIR$\Debug\Obj\recmutex.pbi + $PROJ_DIR$\Debug\Obj\main_full.o + $PROJ_DIR$\Debug\Obj\main.o + $PROJ_DIR$\Debug\Obj\ParTest.pbi + $PROJ_DIR$\Debug\Obj\tasks.o + $TOOLKIT_DIR$\lib\dlrxfllsn.h + $PROJ_DIR$\..\..\Source\include\mpu_wrappers.h + $TOOLKIT_DIR$\inc\c\string.h + $PROJ_DIR$\..\..\Source\include\list.h + $PROJ_DIR$\Debug\Obj\recmutex.o + $TOOLKIT_DIR$\inc\c\stdlib.h + $TOOLKIT_DIR$\inc\machine.h + $PROJ_DIR$\..\..\Source\include\task.h + $PROJ_DIR$\..\..\Source\include\timers.h + $PROJ_DIR$\..\..\Source\portable\IAR\RX100\port_asm.s + $PROJ_DIR$\..\..\Source\portable\IAR\RX100\portmacro.h + $PROJ_DIR$\..\..\Source\portable\MemMang\heap_4.c + $PROJ_DIR$\..\..\Source\list.c + $PROJ_DIR$\..\..\Source\queue.c + $PROJ_DIR$\..\..\Source\tasks.c + $PROJ_DIR$\..\..\Source\timers.c + $PROJ_DIR$\Renesas_Files\r_bsp\board\user\hardware_setup.c + $PROJ_DIR$\Renesas_Files\r_switches\src\r_switches.c + $PROJ_DIR$\Renesas_Files\r_bsp\board\rskrx111\lcd.c + $PROJ_DIR$\..\Common\Minimal\blocktim.c + $PROJ_DIR$\..\Common\Minimal\death.c + $PROJ_DIR$\..\Common\Minimal\GenQTest.c + $PROJ_DIR$\..\Common\Minimal\recmutex.c + $PROJ_DIR$\Debug\Obj\r_switches.o + $PROJ_DIR$\Renesas_Files\r_switches\r_switches_if.h + $TOOLKIT_DIR$\inc\c\ystdio.h + $PROJ_DIR$\..\..\Source\include\StackMacros.h + $TOOLKIT_DIR$\inc\c\stdio.h + $PROJ_DIR$\Renesas_Files\r_switches\r_switches_config.h + + + $PROJ_DIR$\..\..\Source\portable\IAR\RX100\port.c + + + ICCRX + 56 + + + BICOMP + 5 + + + + + BICOMP + 50 30 12 28 66 29 31 32 2 35 36 3 19 33 34 38 55 39 52 40 37 51 41 76 54 72 67 73 69 68 + + + + + $PROJ_DIR$\main.c + + + ICCRX + 63 + + + BICOMP + 13 + + + + + $PROJ_DIR$\main_full.c + + + ICCRX + 62 + + + BICOMP + 46 + + + + + $PROJ_DIR$\main_low_power.c + + + ICCRX + 25 + + + BICOMP + 47 + + + + + $PROJ_DIR$\ParTest.c + + + ICCRX + 10 + + + BICOMP + 64 + + + + + $PROJ_DIR$\reg_test.s + + + ARX + 0 + + + + + [ROOT_NODE] + + + ILINK + 48 + + + + + $PROJ_DIR$\..\..\Source\portable\IAR\RX100\port_asm.s + + + ARX + 9 + + + + + $PROJ_DIR$\..\..\Source\portable\MemMang\heap_4.c + + + ICCRX + 53 + + + BICOMP + 6 + + + + + BICOMP + 71 30 12 28 66 29 31 32 36 2 35 3 19 33 34 38 55 39 52 40 37 51 41 76 54 72 67 73 69 + + + + + $PROJ_DIR$\..\..\Source\list.c + + + ICCRX + 27 + + + BICOMP + 15 + + + + + BICOMP + 71 30 12 28 66 29 31 32 36 2 35 3 19 33 34 38 55 39 52 40 37 51 41 76 54 72 67 69 + + + + + $PROJ_DIR$\..\..\Source\queue.c + + + ICCRX + 45 + + + BICOMP + 8 + + + + + BICOMP + 71 30 12 28 66 29 31 32 36 68 2 35 3 19 33 34 38 55 39 52 40 37 51 41 76 54 72 67 73 69 1 + + + + + $PROJ_DIR$\..\..\Source\tasks.c + + + ICCRX + 65 + + + BICOMP + 42 + + + + + BICOMP + 93 30 12 28 66 29 31 32 36 91 71 68 2 35 3 19 33 34 38 55 39 52 40 37 51 41 76 54 72 67 73 69 74 92 + + + + + $PROJ_DIR$\..\..\Source\timers.c + + + ICCRX + 26 + + + BICOMP + 43 + + + + + BICOMP + 2 35 30 12 28 66 29 31 32 36 3 19 33 34 38 55 39 52 40 37 51 41 76 54 72 67 73 69 1 74 + + + + + $PROJ_DIR$\Renesas_Files\r_bsp\board\user\hardware_setup.c + + + ICCRX + 18 + + + BICOMP + 57 + + + + + BICOMP + 33 34 38 55 39 52 40 37 30 12 28 66 29 31 32 90 94 + + + + + $PROJ_DIR$\Renesas_Files\r_switches\src\r_switches.c + + + ICCRX + 89 + + + BICOMP + 58 + + + + + $PROJ_DIR$\Renesas_Files\r_bsp\board\rskrx111\lcd.c + + + ICCRX + 14 + + + BICOMP + 44 + + + + + $PROJ_DIR$\..\Common\Minimal\blocktim.c + + + ICCRX + 16 + + + BICOMP + 7 + + + + + $PROJ_DIR$\..\Common\Minimal\death.c + + + ICCRX + 17 + + + BICOMP + 59 + + + + + $PROJ_DIR$\..\Common\Minimal\GenQTest.c + + + ICCRX + 11 + + + BICOMP + 60 + + + + + $PROJ_DIR$\..\Common\Minimal\recmutex.c + + + ICCRX + 70 + + + BICOMP + 61 + + + + + + + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.ewd b/FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.ewd new file mode 100644 index 000000000..91508e074 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.ewd @@ -0,0 +1,312 @@ + + + + 2 + + Debug + + RX + + 1 + + C-SPY + 2 + + 5 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RXEMUE20 + 3 + + 3 + 1 + 1 + + + + + + + + + + + + + RXJLINK + 3 + + 4 + 1 + 1 + + + + + + + + + + + + + + + + SIMRX + 1 + + 1 + 1 + 1 + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXRxPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.ewp b/FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.ewp new file mode 100644 index 000000000..57000a6b0 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.ewp @@ -0,0 +1,1018 @@ + + + + 2 + + Debug + + RX + + 1 + + General + 3 + + 4 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCRX + 5 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARX + 3 + + 6 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 1 + + 0 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 3 + + 4 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 1 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + FreeRTOS Source + + include + + $PROJ_DIR$\..\..\Source\include\FreeRTOS.h + + + $PROJ_DIR$\..\..\Source\include\projdefs.h + + + $PROJ_DIR$\..\..\Source\include\queue.h + + + $PROJ_DIR$\..\..\Source\include\semphr.h + + + $PROJ_DIR$\..\..\Source\include\task.h + + + $PROJ_DIR$\..\..\Source\include\timers.h + + + + portable + + IAR + + RX100 + + $PROJ_DIR$\..\..\Source\portable\IAR\RX100\port.c + + + $PROJ_DIR$\..\..\Source\portable\IAR\RX100\port_asm.s + + + $PROJ_DIR$\..\..\Source\portable\IAR\RX100\portmacro.h + + + + + MemMang + + $PROJ_DIR$\..\..\Source\portable\MemMang\heap_4.c + + + + + $PROJ_DIR$\..\..\Source\list.c + + + $PROJ_DIR$\..\..\Source\queue.c + + + $PROJ_DIR$\..\..\Source\tasks.c + + + $PROJ_DIR$\..\..\Source\timers.c + + + + Renesas Files + + $PROJ_DIR$\Renesas_Files\r_bsp\board\user\hardware_setup.c + + + $PROJ_DIR$\Renesas_Files\r_bsp\board\rskrx111\lcd.c + + + $PROJ_DIR$\Renesas_Files\r_switches\src\r_switches.c + + + + Standard Demo Tasks + + $PROJ_DIR$\..\Common\Minimal\blocktim.c + + + $PROJ_DIR$\..\Common\Minimal\death.c + + + $PROJ_DIR$\..\Common\Minimal\GenQTest.c + + + $PROJ_DIR$\..\Common\Minimal\recmutex.c + + + + $PROJ_DIR$\FreeRTOSConfig.h + + + $PROJ_DIR$\main.c + + + $PROJ_DIR$\main_full.c + + + $PROJ_DIR$\main_low_power.c + + + $PROJ_DIR$\ParTest.c + + + $PROJ_DIR$\reg_test.s + + + + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.eww b/FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.eww new file mode 100644 index 000000000..f4971a444 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IAR.eww @@ -0,0 +1,10 @@ + + + + + $WS_DIR$\RTOSDemo_IAR.ewp + + + + + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IARCustomSfr.sfr b/FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IARCustomSfr.sfr new file mode 100644 index 000000000..5ac9e8be2 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/RTOSDemo_IARCustomSfr.sfr @@ -0,0 +1,4 @@ +[Sfr] + + +[SfrGroupInfo] \ No newline at end of file diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/lcd.c b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/lcd.c new file mode 100644 index 000000000..a904f76d5 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/lcd.c @@ -0,0 +1,252 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : lcd.c +* Device(s) : RX +* H/W Platform : RSKRX111 +* Description : Provides variable and function declarations for lcd.c file +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Standard string manipulation & formatting functions */ +#include +#include +/* Defines standard variable types used in this function */ +#include +/* Bring in board includes. */ +#include "platform.h" +/* Following header file provides function prototypes for LCD controlling functions & macro defines */ +#include "lcd.h" + +/*********************************************************************************************************************** +Private global variables and functions +***********************************************************************************************************************/ +static void lcd_delay(volatile int32_t nsecs); +static void lcd_nibble_write(uint8_t data_or_ctrl, uint8_t value); +static void lcd_write(uint8_t data_or_ctrl, uint8_t value); + +/*********************************************************************************************************************** +* Function name : lcd_initialize +* Description : Initializes the LCD display. +* Arguments : none +* Return Value : none +***********************************************************************************************************************/ +void lcd_initialize(void) +{ + /* Set LCD data pins as outputs. */ + PORT4.PDR.BYTE |= 0x0F; + + /* Set LCD control pins as outputs. */ + RS_PIN_DDR = 1; + E_PIN_DDR = 1; + + /* Power Up Delay for the LCD Module */ + lcd_delay(50000000); + + /* Display initialises in 8 bit mode - so send one write (seen as 8 bit) to set to 4 bit mode. */ + lcd_nibble_write(CTRL_WR, 0x03); + lcd_delay(5000000); + lcd_nibble_write(CTRL_WR, 0x03); + lcd_delay(5000000); + lcd_nibble_write(CTRL_WR, 0x03); + lcd_delay(5000000); + + /* Function Set */ + lcd_nibble_write(CTRL_WR, 0x02); + lcd_delay(39000); + lcd_nibble_write(CTRL_WR, 0x02); + lcd_nibble_write(CTRL_WR, (LCD_DISPLAY_ON | LCD_TWO_LINE )); + lcd_delay(39000); + + /* Display ON/OFF control */ + lcd_write(CTRL_WR, LCD_CURSOR_OFF); + lcd_delay(39000); + + /* Display Clear */ + lcd_write(CTRL_WR, LCD_CLEAR); + lcd_delay(2000000); + + /* Entry Mode Set */ + lcd_write(CTRL_WR, 0x06); + lcd_delay(39000); + + /* Home the cursor */ + lcd_write(CTRL_WR, LCD_HOME_L1); + lcd_delay(5000000); +} + +/*********************************************************************************************************************** +* Function name : lcd_clear +* Description : Clears the LCD +* Arguments : none +* Return Value : none +***********************************************************************************************************************/ +void lcd_clear(void) +{ + /* Display Clear */ + lcd_write(CTRL_WR, LCD_CLEAR); + lcd_delay(2000000); +} + +/*********************************************************************************************************************** +* Function name : lcd_display +* Description : This function controls LCD writes to line 1 or 2 of the LCD. +* You need to use the defines LCD_LINE1 and LCD_LINE2 in order to specify the starting position. +* For example, to start at the 2nd position on line 1... +* lcd_display(LCD_LINE1 + 1, "Hello") +* Arguments : position - +* Line number of display +* string - +* Pointer to null terminated string +* Return Value : none +***********************************************************************************************************************/ +void lcd_display(uint8_t position, uint8_t const * string) +{ + /* Declare next position variable */ + static uint8_t next_pos = 0xFF; + + /* Set line position if needed. We don't want to if we don't need to because LCD control operations take longer + than LCD data operations. */ + if (next_pos != position) + { + if(position < LCD_LINE2) + { + /* Display on Line 1 */ + lcd_write(CTRL_WR, ((uint8_t)(LCD_HOME_L1 + position))); + } + else + { + /* Display on Line 2 */ + lcd_write(CTRL_WR, ((uint8_t)((LCD_HOME_L2 + position) - LCD_LINE2))); + } + + lcd_delay(39000); + + /* set position index to known value */ + next_pos = position; + } + + do + { + /* Write character to LCD. */ + lcd_write(DATA_WR,*string++); + + lcd_delay(43000); + + /* Increment position index */ + next_pos++; + } + while(*string); +} + +/*********************************************************************************************************************** +* Function name : lcd_delay +* Description : Implements LCD required delays. +* Arguments : nsecs - +* Number of nanoseconds to delay. RX111 has max clock of 32MHz which gives a cycle time of 31.3ns. +* This means that nothing under 313ns should be input. 313ns would be 10 cycles which is still +* being optimistic for getting in and out of this function. +* Return Value : none +***********************************************************************************************************************/ +static void lcd_delay(volatile int32_t nsecs) +{ + while (0 < nsecs) + { + /* Subtract off 10 cycles per iteration. This number was obtained when using the Renesas toolchain at + optimization level 2. The number to nanoseconds to subtract off below is calculated off of the ICLK speed. */ + nsecs -= (int32_t)((313.0)*(32000000.0/(float)ICLK_HZ)); + } +} + +/*********************************************************************************************************************** +* Function name : lcd_nibble_write +* Description : Writes data to display. Sends command to display. +* Arguments : value - +* The value to write +* data_or_ctrl - +* Whether to write data or control. +* 1 = DATA +* 0 = CONTROL +* Return Value : none +***********************************************************************************************************************/ +static void lcd_nibble_write(uint8_t data_or_ctrl, uint8_t value) +{ + /* Set Register Select pin high for Data */ + if (data_or_ctrl == DATA_WR) + { + /* Data write. */ + RS_PIN = 1; + } + else + { + /* Control write. */ + RS_PIN = 0; + } + + /* tsu1 delay */ + lcd_delay(60); + + /* EN enable chip (HIGH) */ + E_PIN = 1; + + /* Output the data */ + PORT4.PODR.BYTE = (value & 0x0F); + + /* tw delay */ + lcd_delay(450); + + /* Latch data by dropping E */ + E_PIN = 0; + + /* th2 delay */ + lcd_delay(10); + + /* tc delay */ + lcd_delay(480); +} + +/*********************************************************************************************************************** +* Function name : lcd_write +* Description : This function controls LCD writes to line 1 or 2 of the LCD. You need to use the defines LCD_LINE1 and +* LCD_LINE2 in order to specify the starting position. +* For example, to start at the 2nd position on line 1... +* lcd_display(LCD_LINE1 + 1, "Hello") +* Arguments : value - +* The value to write +* data_or_ctrl - +* Whether to write data or control. +* 1 = DATA +* 0 = CONTROL +* Return Value : none +***********************************************************************************************************************/ +static void lcd_write(uint8_t data_or_ctrl, uint8_t value) +{ + /* Write upper nibble first */ + lcd_nibble_write(data_or_ctrl, (uint8_t)((value & 0xF0) >> 4)); + + /* Write lower nibble second */ + lcd_nibble_write(data_or_ctrl, (uint8_t)(value & 0x0F)); +} + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/lcd.h b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/lcd.h new file mode 100644 index 000000000..7a57f77d2 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/lcd.h @@ -0,0 +1,101 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : lcd.h +* Device(s) : RX +* H/W Platform : RSKRX111 +* Description : Provides variable and function declarations for lcd.c file +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +/* Multiple inclusion prevention macro */ +#ifndef LCD_H +#define LCD_H + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Defines standard integer variable types used in this file */ +#include + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +/* RS register select pin */ +#define RS_PIN PORTC.PODR.BIT.B5 +#define RS_PIN_DDR PORTC.PDR.BIT.B5 +/* Display enable pin */ +#define E_PIN PORTB.PODR.BIT.B1 +#define E_PIN_DDR PORTB.PDR.BIT.B1 +/* Data write/read definition */ +#define DATA_WR 1 +/* Control write/read definition */ +#define CTRL_WR 0 +/* Maximum characters per line of LCD display. */ +#define NUMB_CHARS_PER_LINE 8 +/* Number of lines on the LCD display */ +#define MAXIMUM_LINES 2 +/* Character position of LCD line 1 */ +#define LCD_LINE1 0 +/* Character position of LCD line 2 */ +#define LCD_LINE2 16 +/* Clear LCD display and home cursor */ +#define LCD_CLEAR 0x01 +/* Move cursor to line 1 */ +#define LCD_HOME_L1 0x80 +/* Move cursor to line 2 */ +#define LCD_HOME_L2 0xC0 +/* Cursor auto decrement after R/W */ +#define CURSOR_MODE_DEC 0x04 +/* Cursor auto increment after R/W */ +#define CURSOR_MODE_INC 0x06 +/* Setup, 4 bits,2 lines, 5X7 */ +#define FUNCTION_SET 0x28 +/* Display ON with Cursor */ +#define LCD_CURSOR_ON 0x0E +/* Display ON with Cursor off */ +#define LCD_CURSOR_OFF 0x0C +/* Display on with blinking cursor */ +#define LCD_CURSOR_BLINK 0x0D +/* Move Cursor Left One Position */ +#define LCD_CURSOR_LEFT 0x10 +/* Move Cursor Right One Position */ +#define LCD_CURSOR_RIGHT 0x14 +/* Enable LCD display */ +#define LCD_DISPLAY_ON 0x04 +/* Enable both LCD lines */ +#define LCD_TWO_LINE 0x08 + +/*********************************************************************************************************************** +Exported global functions (to be accessed by other files) +***********************************************************************************************************************/ +/* LCD initialisation function declaration */ +void lcd_initialize (void); + +/* Update display function declaration */ +void lcd_display(uint8_t position, uint8_t const * string); + +/* Clear LCD function delcaration */ +void lcd_clear (void); + +/* End of multiple inclusion prevention macro */ +#endif diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/r_bsp.h b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/r_bsp.h new file mode 100644 index 000000000..19e36ac6f --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/r_bsp.h @@ -0,0 +1,50 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_bsp.h +* H/W Platform : RSKRX111 +* Description : Has the header files that should be included for this platform. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +#ifndef PLATFORM_BOARD_RSKRX111 +#define PLATFORM_BOARD_RSKRX111 + +/* Make sure that no other platforms have already been defined. Do not touch this! */ +#ifdef PLATFORM_DEFINED +#error "Error - Multiple platforms defined in platform.h!" +#else +#define PLATFORM_DEFINED +#endif + +/*********************************************************************************************************************** +INCLUDE APPROPRIATE MCU AND BOARD FILES +***********************************************************************************************************************/ +#include "r_bsp_config.h" +#include "iorx111.h" +#include ".\mcu\rx111\mcu_info.h" +#include ".\board\rskrx111\rskrx111.h" +#include ".\board\rskrx111\lcd.h" + +#endif /* PLATFORM_BOARD_RSKRX111 */ + + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/r_bsp_config_reference.h b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/r_bsp_config_reference.h new file mode 100644 index 000000000..da6dc9d1e --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/r_bsp_config_reference.h @@ -0,0 +1,250 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_bsp_config_reference.c +* Device(s) : RX111 +* Description : The file r_bsp_config.h is used to configure your BSP. r_bsp_config.h should be included +* somewhere in your package so that the r_bsp code has access to it. This file (r_bsp_config_reference.h) +* is just a reference file that the user can use to make their own r_bsp_config.h file. +************************************************************************************************************************ +* History : DD.MM.YYYY Version Description +* : 07.11.2012 0.01 Beta Release +***********************************************************************************************************************/ +#ifndef R_BSP_CONFIG_REF_HEADER_FILE +#define R_BSP_CONFIG_REF_HEADER_FILE + +/*********************************************************************************************************************** +Configuration Options +***********************************************************************************************************************/ +/* Enter the product part number for your MCU. This information will be used to obtain information about your MCU such + as package and memory size. + To help parse this information, the part number will be defined using multiple macros. + R 5 F 51 11 5 A D FM + | | | | | | | | | Macro Name Description + | | | | | | | | |__MCU_PART_PACKAGE = Package type, number of pins, and pin pitch + | | | | | | | |____not used = Products with wide temperature range (D: -40 to 85C G: -40 to 105C) + | | | | | | |______not used = Blank + | | | | | |________MCU_PART_MEMORY_SIZE = ROM, RAM, and Data Flash Capacity + | | | | |___________MCU_PART_GROUP = Group name + | | | |______________MCU_PART_SERIES = Series name + | | |________________MCU_PART_MEMORY_TYPE = Type of memory (Flash) + | |__________________not used = Renesas MCU + |____________________not used = Renesas semiconductor product. + */ + +/* Package type. Set the macro definition based on values below: + Character(s) = Value for macro = Package Type/Number of Pins/Pin Pitch + FM = 0x0 = LFQFP/64/0.50 + FK = 0x1 = LQFP/64/0.80 + LF = 0x2 = TFLGA/64/0.50 + FL = 0x3 = LFQFP/48/0.50 + NE = 0x4 = VQFN/48/0.50 + NC = 0x5 = HWQFN/36/0.50 + LM = 0x6 = WFLGA/36/0.50 + SB = 0x7 = SSOP/36/0.80 +*/ +#define MCU_PART_PACKAGE (0x0) + +/* ROM, RAM, and Data Flash Capacity. + Character(s) = Value for macro = ROM Size/Ram Size/Data Flash Size + 5 = 0x5 = 128KB/16KB/8KB + 4 = 0x4 = 96KB/16KB/8KB + 3 = 0x3 = 64KB/10KB/8KB + 1 = 0x1 = 32KB/10KB/8KB + J = 0x0 = 16KB/8KB/8KB +*/ +#define MCU_PART_MEMORY_SIZE (0x5) + +/* Group name. + Character(s) = Value for macro = Description + 10 = 0x0 = RX110 Group + 11 = 0x1 = RX111 Group +*/ +#define MCU_PART_GROUP (0x1) + +/* Series name. + Character(s) = Value for macro = Description + 51 = 0x0 = RX100 Series +*/ +#define MCU_PART_SERIES (0x0) + +/* Memory type. + Character(s) = Value for macro = Description + F = 0x0 = Flash memory version +*/ +#define MCU_PART_MEMORY_TYPE (0x0) + +/* The 'BSP_DECLARE_STACK' macro is checked so that the stack is only declared in one place (resetprg.c). Every time a + '#pragma stacksize' is encountered, the stack size is increased. This prevents multiplication of stack size. */ +#if defined(BSP_DECLARE_STACK) +/* User Stack size in bytes. The Renesas RX toolchain sets the stack size using the #pragma stacksize directive. */ +#pragma stacksize su=0x400 +/* Interrupt Stack size in bytes. The Renesas RX toolchain sets the stack size using the #pragma stacksize directive. */ +#pragma stacksize si=0x100 +#endif + +/* Heap size in bytes. */ +#define HEAP_BYTES (0x400) + +/* After reset MCU will operate in Supervisor mode. To switch to User mode, set this macro to '1'. For more information + on the differences between these 2 modes see the CPU >> Processor Mode section of your MCU's hardware manual. + 0 = Stay in Supervisor mode. + 1 = Switch to User mode. +*/ +#define RUN_IN_USER_MODE (0) + + +/* This macro lets other modules no if a RTOS is being used. + 0 = RTOS is not used. + 1 = RTOS is used. +*/ +#define RTOS_USED (0) + +/* Clock source select (CKSEL). + 0 = Low Speed On-Chip Oscillator (LOCO) + 1 = High Speed On-Chip Oscillator (HOCO) + 2 = Main Clock Oscillator + 3 = Sub-Clock Oscillator + 4 = PLL Circuit +*/ +#define CLOCK_SOURCE (4) + +/* Clock configuration options. + The input clock frequency is specified and then the system clocks are set by specifying the multipliers used. The + multiplier settings are used to set the clock registers in resetprg.c. If a 16MHz clock is used and the + ICLK is 24MHz, PCLKB is 24MHz, FCLK is 24MHz, PCLKD is 24MHz, and CKO is 1MHz then the + settings would be: + + XTAL_HZ = 16000000 + PLL_DIV = 2 + PLL_MUL = 6 (16MHz x 3 = 48MHz) + ICK_DIV = 2 : System Clock (ICLK) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / ICK_DIV) = 24MHz + PCKB_DIV = 2 : Peripheral Clock B (PCLKB) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKB_DIV) = 24MHz + PCKD_DIV = 2 : Peripheral Clock D (PCLKD) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKD_DIV) = 24MHz + FCK_DIV = 2 : Flash IF Clock (FCLK) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / FCK_DIV) = 24MHz +*/ +/* XTAL - Input clock frequency in Hz */ +#define XTAL_HZ (16000000) +/* PLL Input Frequency Divider Select (PLIDIV). + Available divisors = /1 (no division), /2, /4 +*/ +#define PLL_DIV (2) +/* PLL Frequency Multiplication Factor Select (STC). + Available multipliers = x6, x8 +*/ +#define PLL_MUL (6) +/* System Clock Divider (ICK). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define ICK_DIV (2) +/* Peripheral Module Clock B Divider (PCKB). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define PCKB_DIV (2) +/* Peripheral Module Clock D Divider (PCKD). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define PCKD_DIV (2) +/* Flash IF Clock Divider (FCK). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define FCK_DIV (2) + +/* Below are callback functions that can be used for detecting MCU exceptions, undefined interrupt sources, and + bus errors. If the user wishes to be alerted of these events then they will need to define the macro as a + function to be called when the event occurs. For example, if the user wanted the function + excep_undefined_instr_isr() to be called when an undefined interrupt source ISR is triggered then they would + do the following: + #define UNDEFINED_INT_ISR_CALLBACK undefined_interrupt_cb + If the user does not wish to be alerted of these events then they should comment out the macros. + + NOTE: When a callback function is called it will be called from within a ISR. This means that the function + will essentially be an interrupt and will hold off other interrupts that occur in the system while it + is executing. For this reason, it is recommended to keep these callback functions short as to not + decrease the real-time response of your system. +*/ +/* Callback for Supervisor Instruction Violation Exception. */ +//#define EXCEP_SUPERVISOR_ISR_CALLBACK supervisor_instr_cb + +/* Callback for Undefined Instruction Exception. */ +//#define EXCEP_UNDEFINED_INSTR_ISR_CALLBACK undefined_instr_cb + +/* Callback for Non-maskable Interrupt. */ +//#define NMI_ISR_CALLBACK nmi_cb + +/* Callback for all undefined interrupt vectors. User can set a breakpoint in this function to determine which source + is creating unwanted interrupts. */ +//#define UNDEFINED_INT_ISR_CALLBACK undefined_interrupt_cb + +/* Callback for Bus Error Interrupt. */ +//#define BUS_ERROR_ISR_CALLBACK bus_error_cb + +/* The user has the option of separately choosing little or big endian for the User Application Area */ + +/* Endian mode for User Application. + 0 = Big Endian + Else = Little Endian (Default) +*/ +#define USER_APP_ENDIAN (1) + + +/* Configure WDT and IWDT settings. + OFS0 - Option Function Select Register 0 + OFS0 - Option Function Select Register 0 + b31:b15 Reserved (set to 1) + b14 IWDTSLCSTP - IWDT Sleep Mode Count Stop Control - (0=can't stop count, 1=stop w/some low power modes) + b13 Reserved (set to 1) + b12 IWDTRSTIRQS - IWDT Reset Interrupt Request - What to do on underflow (0=take interrupt, 1=reset MCU) + b11:b10 IWDTRPSS - IWDT Window Start Position Select - (0=25%, 1=50%, 2=75%, 3=100%,don't use) + b9:b8 IWDTRPES - IWDT Window End Position Select - (0=75%, 1=50%, 2=25%, 3=0%,don't use) + b7:b4 IWDTCKS - IWDT Clock Frequency Division Ratio - (0=none, 2=/16, 3 = /32, 4=/64, 0xF=/128, 5=/256) + b3:b2 IWDTTOPS - IWDT Timeout Period Select - (0=128 cycles, 1=512, 2=1024, 3=2048) + b1 IWDTSTRT - IWDT Start Mode Select - (0=auto-start after reset, 1=halt after reset) + b0 Reserved (set to 1) */ +#define OFS0_REG_VALUE (0xFFFFFFFF) //Disable by default + +/* Configure whether voltage detection 1 circuit and HOCO are enabled after reset. + OFS1 - Option Function Select Register 1 + b31:b9 Reserved (set to 1) + b8 HOCOEN - Enable/disable HOCO oscillation after a reset (0=enable, 1=disable) + b7:b4 STUPLVD1LVL - Startup Voltage Monitoring 1 Reset Detection Level Select + 0 1 0 0: 3.10 V + 0 1 0 1: 3.00 V + 0 1 1 0: 2.90 V + 0 1 1 1: 2.79 V + 1 0 0 0: 2.68 V + 1 0 0 1: 2.58 V + 1 0 1 0: 2.48 V + 1 0 1 1: 2.06 V + 1 1 0 0: 1.96 V + 1 1 0 1: 1.86 V + b3:b2 Reserved (set to 1) + b2 STUPLVD1REN - Startup Voltage Monitoring 1 Reset Enable (1=monitoring disabled) + b0 FASTSTUP - Power-On Fast Startup Time (1=normal; read only) */ +#define OFS1_REG_VALUE (0xFFFFFFFF) //Disable by default + +/* Initializes C input & output library functions. + 0 = Disable I/O library initialization in resetprg.c. If you are not using stdio then use this value. + 1 = Enable I/O library initialization in resetprg.c. This is default and needed if you are using stdio. */ +#define IO_LIB_ENABLE (1) + +#endif /* R_BSP_CONFIG_REF_HEADER_FILE */ + + + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/rskrx111.h b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/rskrx111.h new file mode 100644 index 000000000..8ab534a7b --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/rskrx111/rskrx111.h @@ -0,0 +1,63 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : rskrx111.h +* H/W Platform : RSKRX111 +* Description : Board specific definitions for the RSKRX111. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +#ifndef RSKRX111_H +#define RSKRX111_H + +/* Local defines */ +#define LED_ON (0) +#define LED_OFF (1) +#define SET_BIT_HIGH (1) +#define SET_BIT_LOW (0) +#define SET_BYTE_HIGH (0xFF) +#define SET_BYTE_LOW (0x00) + +/* Switches */ +#define SW_ACTIVE 0 +#define SW1 PORT3.PIDR.BIT.B0 +#define SW2 PORT3.PIDR.BIT.B1 +#define SW3 PORTE.PIDR.BIT.B4 +#define SW1_PDR PORT3.PDR.BIT.B0 +#define SW2_PDR PORT3.PDR.BIT.B1 +#define SW3_PDR PORTE.PDR.BIT.B4 +#define SW1_PMR PORT3.PMR.BIT.B0 +#define SW2_PMR PORT3.PMR.BIT.B1 +#define SW3_PMR PORTE.PMR.BIT.B4 + +/* LEDs */ +#define LED0 PORTB.PODR.BIT.B7 +#define LED1 PORTA.PODR.BIT.B0 +#define LED2 PORT5.PODR.BIT.B4 +#define LED3 PORT1.PODR.BIT.B7 +#define LED0_PDR PORTB.PDR.BIT.B7 +#define LED1_PDR PORTA.PDR.BIT.B0 +#define LED2_PDR PORT5.PDR.BIT.B4 +#define LED3_PDR PORT1.PDR.BIT.B7 + + +#endif /* RSKRX111_H */ diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/user/hardware_setup.c b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/user/hardware_setup.c new file mode 100644 index 000000000..2be30adb5 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/user/hardware_setup.c @@ -0,0 +1,366 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : hwsetup.c +* Device(s) : RX +* H/W Platform : RSKRX210 +* Description : Defines the initialization routines used each time the MCU is restarted. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* I/O Register and board definitions */ +#include "platform.h" +#include "r_switches_if.h" +/*********************************************************************************************************************** +Private global variables and functions +***********************************************************************************************************************/ +/* MCU I/O port configuration function delcaration */ +static void output_ports_configure(void); + +/* Interrupt configuration function delcaration */ +static void interrupts_configure(void); + +/* MCU peripheral module configuration function declaration */ +static void peripheral_modules_enable(void); + +/* Configure MCU clocks. */ +static void clock_source_select (void); +void operating_frequency_set(void); + +/*********************************************************************************************************************** +* Function name: hardware_setup +* Description : Contains setup functions called at device restart +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void vHardwareSetup(void) +{ + operating_frequency_set(); + output_ports_configure(); + interrupts_configure(); + peripheral_modules_enable(); +} + +/*********************************************************************************************************************** +* Function name: output_ports_configure +* Description : Configures the port and pin direction settings, and sets the pin outputs to a safe level. +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void output_ports_configure(void) +{ + /* Enable LEDs. */ + /* Start with LEDs off. */ + LED0 = LED_OFF; + LED1 = LED_OFF; + LED2 = LED_OFF; + LED3 = LED_OFF; + + /* Set LED pins as outputs. */ + LED0_PDR = 1; + LED1_PDR = 1; + LED2_PDR = 1; + LED3_PDR = 1; + + /* Enable switches. */ + /* Set pins as inputs. */ + SW1_PDR = 0; + SW2_PDR = 0; + SW3_PDR = 0; + + /* Set port mode registers for switches. */ + SW1_PMR = 0; + SW2_PMR = 0; + SW3_PMR = 0; + + /* Unlock MPC registers to enable writing to them. */ + MPC.PWPR.BIT.B0WI = 0 ; /* Unlock protection register */ + MPC.PWPR.BIT.PFSWE = 1 ; /* Unlock MPC registers */ + + /* TXD1 is output. */ + PORT1.PDR.BIT.B6 = 1; + PORT1.PMR.BIT.B6 = 1; + MPC.P16PFS.BYTE = 0x0A; + /* RXD1 is input. */ + PORT1.PDR.BIT.B5 = 0; + PORT1.PMR.BIT.B5 = 1; + MPC.P15PFS.BYTE = 0x0A; + + /* Configure the pin connected to the ADC Pot as an input */ + PORT4.PDR.BIT.B4 = 0; + + /* Protect off. */ + SYSTEM.PRCR.WORD = 0xA50B; + + /* Turn off module stop for the A2D converter. */ + SYSTEM.MSTPCRA.BIT.MSTPA17 = 0; + + /* Protect on. */ + SYSTEM.PRCR.WORD = 0xA500; + + /* Initialise the first button to generate an interrupt. */ + R_SWITCHES_Init(); +} + +/*********************************************************************************************************************** +* Function name: interrupts_configure +* Description : Configures interrupts used +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void interrupts_configure(void) +{ + /* Add code here to setup additional interrupts */ +} + +/*********************************************************************************************************************** +* Function name: peripheral_modules_enable +* Description : Enables and configures peripheral devices on the MCU +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void peripheral_modules_enable(void) +{ + /* Enable triggers to start an ADC conversion. */ + S12AD.ADCSR.BIT.TRGE = 1; + + /* Only channel 4 is going to be used. */ + S12AD.ADANSA.BIT.ANSA4 = 1; +} + +/*********************************************************************************************************************** +* Function name: operating_frequency_set +* Description : Configures the clock settings for each of the device clocks +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +void operating_frequency_set(void) +{ + /* Used for constructing value to write to SCKCR and CKOCR registers. */ + uint32_t temp_clock = 0; + + /* + Clock Description Frequency + ---------------------------------------- + Input Clock Frequency............ 16 MHz + PLL frequency (x3)............... 48 MHz + Internal Clock Frequency......... 24 MHz + Peripheral Clock Frequency....... 24 MHz + Clock Out Frequency.............. 1 MHz */ + + volatile unsigned int i; + + /* Protect off. */ + SYSTEM.PRCR.WORD = 0xA50B; + + /* Select the clock based upon user's choice. */ + clock_source_select(); + + + /* Figure out setting for FCK bits. */ +#if FCK_DIV == 1 + /* Do nothing since FCK bits should be 0. */ +#elif FCK_DIV == 2 + temp_clock |= 0x10000000; +#elif FCK_DIV == 4 + temp_clock |= 0x20000000; +#elif FCK_DIV == 8 + temp_clock |= 0x30000000; +#elif FCK_DIV == 16 + temp_clock |= 0x40000000; +#elif FCK_DIV == 32 + temp_clock |= 0x50000000; +#elif FCK_DIV == 64 + temp_clock |= 0x60000000; +#else + #error "Error! Invalid setting for FCK_DIV in r_bsp_config.h" +#endif + + /* Figure out setting for ICK bits. */ +#if ICK_DIV == 1 + /* Do nothing since ICK bits should be 0. */ +#elif ICK_DIV == 2 + temp_clock |= 0x01000000; +#elif ICK_DIV == 4 + temp_clock |= 0x02000000; +#elif ICK_DIV == 8 + temp_clock |= 0x03000000; +#elif ICK_DIV == 16 + temp_clock |= 0x04000000; +#elif ICK_DIV == 32 + temp_clock |= 0x05000000; +#elif ICK_DIV == 64 + temp_clock |= 0x06000000; +#else + #error "Error! Invalid setting for ICK_DIV in r_bsp_config.h" +#endif + + /* Figure out setting for PCKB bits. */ +#if PCKB_DIV == 1 + /* Do nothing since PCKB bits should be 0. */ +#elif PCKB_DIV == 2 + temp_clock |= 0x00000100; +#elif PCKB_DIV == 4 + temp_clock |= 0x00000200; +#elif PCKB_DIV == 8 + temp_clock |= 0x00000300; +#elif PCKB_DIV == 16 + temp_clock |= 0x00000400; +#elif PCKB_DIV == 32 + temp_clock |= 0x00000500; +#elif PCKB_DIV == 64 + temp_clock |= 0x00000600; +#else + #error "Error! Invalid setting for PCKB_DIV in r_bsp_config.h" +#endif + + /* Figure out setting for PCKD bits. */ +#if PCKD_DIV == 1 + /* Do nothing since PCKD bits should be 0. */ +#elif PCKD_DIV == 2 + temp_clock |= 0x00000001; +#elif PCKD_DIV == 4 + temp_clock |= 0x00000002; +#elif PCKD_DIV == 8 + temp_clock |= 0x00000003; +#elif PCKD_DIV == 16 + temp_clock |= 0x00000004; +#elif PCKD_DIV == 32 + temp_clock |= 0x00000005; +#elif PCKD_DIV == 64 + temp_clock |= 0x00000006; +#else + #error "Error! Invalid setting for PCKD_DIV in r_bsp_config.h" +#endif + + /* Set SCKCR register. */ + SYSTEM.SCKCR.LONG = temp_clock; + + /* Choose clock source. Default for r_bsp_config.h is PLL. */ + SYSTEM.SCKCR3.WORD = ((uint16_t)CLOCK_SOURCE) << 8; + + /* Protect on. */ + SYSTEM.PRCR.WORD = 0xA500; +} + +/*********************************************************************************************************************** +* Function name: clock_source_select +* Description : Enables and disables clocks as chosen by the user. This function also implements the software delays +* needed for the clocks to stabilize. +* Arguments : none +* Return value : none +***********************************************************************************************************************/ +static void clock_source_select (void) +{ + /* Declared volatile for software delay purposes. */ + volatile unsigned int i; + + /* NOTE: AS OF VERSION 0.50 OF THE RX111 HARDWARE MANUAL, ALL OF THE CLOCK + * STABILIZATION TIMES ARE TBD. FOR NOW, WHERE EVER A WAIT COUNT REGISTER + * IS AVAILABLE, THE DELAY IS SET TO THE MAX NUMBER OF CYCLES. WHERE EVER + * DELAY LOOPS ARE PRESENT, THE VALUES FROM THE 63N ARE RE-USED. KEEP IN + * MIND THAT THE 63N RUNS ON A FASTER CRYSTAL. + */ + +#if (CLOCK_SOURCE == 1) + /* HOCO is chosen. Start it operating. */ + SYSTEM.HOCOCR.BYTE = 0x00; + /* The delay period needed is to make sure that the HOCO has stabilized.*/ + for(i = 0; i< 28; i++) // tHOCOWT2 is TBD + { + __asm volatile( "NOP" ); + } +#else + /* HOCO is not chosen. Stop the HOCO. */ + SYSTEM.HOCOCR.BYTE = 0x01; +#endif + +#if (CLOCK_SOURCE == 2) + /* Main clock oscillator is chosen. Start it operating. */ + SYSTEM.MOSCWTCR.BYTE = 0x07; // Wait 65,536 cycles + /* Set the main clock to operating. */ + SYSTEM.MOSCCR.BYTE = 0x00; + /* The delay period needed is to make sure that the main clock has stabilized. */ + for(i = 0; i< 140; i++) // tMAINOSCWT is TBD + { + __asm volatile( "NOT" ); + } +#endif + +#if (CLOCK_SOURCE == 3) + /* Sub-clock oscillator is chosen. Start it operating. */ + /* In section 9.8.4, there is a reference to a SOSCWTCR register, but there is no + * description for this register in the manual nor reference for it in iorx111.h. */ + + /* Set the sub-clock to operating. */ + SYSTEM.SOSCCR.BYTE = 0x00; + /* The delay period needed is to make sure that the sub-clock has stabilized. */ + for(i = 0; i< 30233; i++) // tSUBOSCWT0 is TBD + { + __asm volatile( "NOP" ); + } +#else + /* Set the sub-clock to stopped. */ + SYSTEM.SOSCCR.BYTE = 0x01; +#endif + +#if (CLOCK_SOURCE == 4) + /* PLL is chosen. Start it operating. Must start main clock as well since PLL uses it. */ + SYSTEM.MOSCWTCR.BYTE = 0x07; // Wait 65,536 cycles + /* Set the main clock to operating. */ + SYSTEM.MOSCCR.BYTE = 0x00; + + /* Set PLL Input Divisor. */ + SYSTEM.PLLCR.BIT.PLIDIV = PLL_DIV >> 1; + + /* Set PLL Multiplier. */ + SYSTEM.PLLCR.BIT.STC = (PLL_MUL * 2) - 1; + + /* Set the PLL to operating. */ + SYSTEM.PLLCR2.BYTE = 0x00; + /* The delay period needed is to make sure that the main clock and PLL have stabilized. */ + for(i = 0; i< 140; i++) // tPLLWT2 is TBD + { + __asm volatile( "NOP" ); + } +#endif + + /* LOCO is saved for last since it is what is running by default out of reset. This means you do not want to turn + it off until another clock has been enabled and is ready to use. */ +#if (CLOCK_SOURCE == 0) + /* LOCO is chosen. This is the default out of reset. */ + SYSTEM.LOCOCR.BYTE = 0x00; +#else + /* LOCO is not chosen and another clock has already been setup. Turn off the LOCO. */ + SYSTEM.LOCOCR.BYTE = 0x01; +#endif + + /* Make sure a valid clock was chosen. */ +#if (CLOCK_SOURCE > 4) || (CLOCK_SOURCE < 0) + #error "ERROR - Valid clock source must be chosen in r_bsp_config.h using CLOCK_SOURCE macro." +#endif +} + + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/user/r_bsp.h b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/user/r_bsp.h new file mode 100644 index 000000000..bd8881cd6 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/board/user/r_bsp.h @@ -0,0 +1,54 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_bsp.h +* Description : Has the header files that should be included for this platform. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 13.01.2012 1.00 First Release +* : 27.06.2012 1.10 Updated with new information to reflect udpated r_bsp structure. +***********************************************************************************************************************/ + +#ifndef PLATFORM_BOARD_USER +#define PLATFORM_BOARD_USER + +/* Make sure that no other platforms have already been defined. Do not touch this! */ +#ifdef PLATFORM_DEFINED +#error "Error - Multiple platforms defined in platform.h!" +#else +#define PLATFORM_DEFINED +#endif + +/*********************************************************************************************************************** +INCLUDE APPROPRIATE MCU AND BOARD FILES +***********************************************************************************************************************/ +/* This is a user defined board. Start off by: + 1)Copy and rename one of the 'board' folders that most closely matches your system (same MCU Series and Group). + 2)Substitute in your MCU Group for the *MCU Group* option in the #include below for mcu_info.h. + 3)Copy the other #includes from the r_bsp.h in the 'board' folder that you copied earlier. + 4)Configure the BSP for your board by modifying the r_bsp_config_reference.h. + 5)Copy r_bsp_config_reference.h to your project directory and rename it r_bsp_config.h. + You can also add your own include files here as well. */ +#include "r_bsp_config.h" +#include ".\mcu\*MCU Group*\mcu_info.h" + +#endif /* PLATFORM_BOARD_USER */ + + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/mcu/rx111/Copy of iodefine.h b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/mcu/rx111/Copy of iodefine.h new file mode 100644 index 000000000..30d7bd4d8 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/mcu/rx111/Copy of iodefine.h @@ -0,0 +1,5142 @@ +/********************************************************************************/ +/* */ +/* Device : RX/RX100/RX111 */ +/* File Name : iodefine.h */ +/* Abstract : Definition of I/O Register. */ +/* History : V0.5 (2012-09-25) [Hardware Manual Revision : 0.50] */ +/* Note : This is a typical example. */ +/* */ +/* Copyright(c) 2012 Renesas Electronics Corp. */ +/* And Renesas Solutions Corp. ,All Rights Reserved. */ +/* */ +/********************************************************************************/ +/* */ +/* DESCRIPTION : Definition of ICU Register */ +/* CPU TYPE : RX111 */ +/* */ +/* Usage : IR,DTCER,IER,IPR of ICU Register */ +/* The following IR, DTCE, IEN, IPR macro functions simplify usage. */ +/* The bit access operation is "Bit_Name(interrupt source,name)". */ +/* A part of the name can be omitted. */ +/* for example : */ +/* IR(MTU0,TGIA0) = 0; expands to : */ +/* ICU.IR[114].BIT.IR = 0; */ +/* */ +/* DTCE(ICU,IRQ0) = 1; expands to : */ +/* ICU.DTCER[64].BIT.DTCE = 1; */ +/* */ +/* IEN(CMT0,CMI0) = 1; expands to : */ +/* ICU.IER[0x03].BIT.IEN4 = 1; */ +/* */ +/* IPR(MTU1,TGIA1) = 2; expands to : */ +/* IPR(MTU1,TGI ) = 2; // TGIA1,TGIB1 share IPR level. */ +/* ICU.IPR[121].BIT.IPR = 2; */ +/* */ +/* IPR(SCI1,ERI1) = 3; expands to : */ +/* IPR(SCI1, ) = 3; // SCI1 uses single IPR for all sources. */ +/* ICU.IPR[218].BIT.IPR = 3; */ +/* */ +/* Usage : #pragma interrupt Function_Identifier(vect=**) */ +/* The number of vector is "(interrupt source, name)". */ +/* for example : */ +/* #pragma interrupt INT_IRQ0(vect=VECT(ICU,IRQ0)) expands to : */ +/* #pragma interrupt INT_IRQ0(vect=64) */ +/* #pragma interrupt INT_CMT0_CMI0(vect=VECT(CMT0,CMI0)) expands to : */ +/* #pragma interrupt INT_CMT0_CMI0(vect=28) */ +/* #pragma interrupt INT_MTU0_TGIA0(vect=VECT(MTU0,TGIA0)) expands to : */ +/* #pragma interrupt INT_MTU0_TGIA0(vect=114) */ +/* */ +/* Usage : MSTPCRA,MSTPCRB,MSTPCRC of SYSTEM Register */ +/* The bit access operation is "MSTP(name)". */ +/* The name that can be used is a macro name defined with "iodefine.h". */ +/* for example : */ +/* MSTP(MTU4) = 0; // MTU,MTU0,MTU1,MTU2,MTU3,MTU4,MTU5 expands to : */ +/* SYSTEM.MSTPCRA.BIT.MSTPA9 = 0; */ +/* */ +/* */ +/********************************************************************************/ +#ifndef __RX111IODEFINE_HEADER__ +#define __RX111IODEFINE_HEADER__ + + +struct st_bsc { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char STSCLR:1; + } BIT; + } BERCLR; + char wk0[3]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char IGAEN:1; + } BIT; + } BEREN; + char wk1[3]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char MST:3; + unsigned char :3; + unsigned char IA:1; + } BIT; + } BERSR1; + char wk2[1]; + union { + unsigned short WORD; + struct { + unsigned short ADDR:13; + } BIT; + } BERSR2; + char wk3[4]; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short BPFB:2; + unsigned short :2; + unsigned short BPGB:2; + unsigned short BPIB:2; + unsigned short BPRO:2; + unsigned short BPRA:2; + } BIT; + } BUSPRI; +}; + +struct st_cac { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char CFME:1; + } BIT; + } CACR0; + union { + unsigned char BYTE; + struct { + unsigned char EDGES:2; + unsigned char TCSS:2; + unsigned char FMCS:3; + unsigned char CACREFE:1; + } BIT; + } CACR1; + union { + unsigned char BYTE; + struct { + unsigned char DFS:2; + unsigned char RCDS:2; + unsigned char RSCS:3; + unsigned char RPS:1; + } BIT; + } CACR2; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char OVFFCL:1; + unsigned char MENDFCL:1; + unsigned char FERRFCL:1; + unsigned char :1; + unsigned char OVFIE:1; + unsigned char MENDIE:1; + unsigned char FERRIE:1; + } BIT; + } CAICR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char OVFF:1; + unsigned char MENDF:1; + unsigned char FERRF:1; + } BIT; + } CASTR; + char wk0[1]; + unsigned short CAULVR; + unsigned short CALLVR; + unsigned short CACNTBR; +}; + +struct st_cmt { + union { + unsigned short WORD; + struct { + unsigned short :14; + unsigned short STR1:1; + unsigned short STR0:1; + } BIT; + } CMSTR0; +}; + +struct st_cmt0 { + union { + unsigned short WORD; + struct { + unsigned short :9; + unsigned short CMIE:1; + unsigned short :4; + unsigned short CKS:2; + } BIT; + } CMCR; + unsigned short CMCNT; + unsigned short CMCOR; +}; + +struct st_crc { + union { + unsigned char BYTE; + struct { + unsigned char DORCLR:1; + unsigned char :4; + unsigned char LMS:1; + unsigned char GPS:2; + } BIT; + } CRCCR; + unsigned char CRCDIR; + unsigned short CRCDOR; +}; + +struct st_da { + unsigned short DADR0; + unsigned short DADR1; + union { + unsigned char BYTE; + struct { + unsigned char DAOE1:1; + unsigned char DAOE0:1; + } BIT; + } DACR; + union { + unsigned char BYTE; + struct { + unsigned char DPSEL:1; + } BIT; + } DADPR; +}; + +struct st_doc { + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char DOPCFCL:1; + unsigned char DOPCF:1; + unsigned char DOPCIE:1; + unsigned char :1; + unsigned char DCSEL:1; + unsigned char OMS:2; + } BIT; + } DOCR; + char wk0[1]; + unsigned short DODIR; + unsigned short DODSR; +}; + +struct st_dtc { + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char RRS:1; + } BIT; + } DTCCR; + char wk0[3]; + void *DTCVBR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SHORT:1; + } BIT; + } DTCADMOD; + char wk1[3]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DTCST:1; + } BIT; + } DTCST; + char wk2[1]; + union { + unsigned short WORD; + struct { + unsigned short ACT:1; + unsigned short :7; + unsigned short VECN:8; + } BIT; + } DTCSTS; +}; + +struct st_elc { + union { + unsigned char BYTE; + struct { + unsigned char ELCON:1; + } BIT; + } ELCR; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR[26]; + char wk0[4]; + union { + unsigned char BYTE; + struct { + unsigned char MTU3MD:2; + unsigned char MTU2MD:2; + unsigned char MTU1MD:2; + } BIT; + } ELOPA; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char MTU4MD:2; + } BIT; + } ELOPB; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char CMT1MD:2; + } BIT; + } ELOPC; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char PGR7:1; + unsigned char PGR6:1; + unsigned char PGR5:1; + unsigned char PGR4:1; + unsigned char PGR3:1; + unsigned char PGR2:1; + unsigned char PGR1:1; + unsigned char PGR0:1; + } BIT; + } PGR1; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PGCO:3; + unsigned char :1; + unsigned char PGCOVE:1; + unsigned char PGCI:2; + } BIT; + } PGC1; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char PDBF7:1; + unsigned char PDBF6:1; + unsigned char PDBF5:1; + unsigned char PDBF4:1; + unsigned char PDBF3:1; + unsigned char PDBF2:1; + unsigned char PDBF1:1; + unsigned char PDBF0:1; + } BIT; + } PDBF1; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PSM:2; + unsigned char PSP:2; + unsigned char PSB:3; + } BIT; + } PEL0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PSM:2; + unsigned char PSP:2; + unsigned char PSB:3; + } BIT; + } PEL1; + char wk5[2]; + union { + unsigned char BYTE; + struct { + unsigned char WI:1; + unsigned char WE:1; + unsigned char :5; + unsigned char SEG:1; + } BIT; + } ELSEGR; +}; + +struct st_flash { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DFLEN:1; + } BIT; + } DFLCTL; +}; + +struct st_icu { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char IR:1; + } BIT; + } IR[250]; + char wk0[6]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DTCE:1; + } BIT; + } DTCER[249]; + char wk1[7]; + union { + unsigned char BYTE; + struct { + unsigned char IEN7:1; + unsigned char IEN6:1; + unsigned char IEN5:1; + unsigned char IEN4:1; + unsigned char IEN3:1; + unsigned char IEN2:1; + unsigned char IEN1:1; + unsigned char IEN0:1; + } BIT; + } IER[32]; + char wk2[192]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SWINT:1; + } BIT; + } SWINTR; + char wk3[15]; + union { + unsigned short WORD; + struct { + unsigned short FIEN:1; + unsigned short :7; + unsigned short FVCT:8; + } BIT; + } FIR; + char wk4[14]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char IPR:4; + } BIT; + } IPR[250]; + char wk5[262]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char IRQMD:2; + } BIT; + } IRQCR[8]; + char wk6[8]; + union { + unsigned char BYTE; + struct { + unsigned char FLTEN7:1; + unsigned char FLTEN6:1; + unsigned char FLTEN5:1; + unsigned char FLTEN4:1; + unsigned char FLTEN3:1; + unsigned char FLTEN2:1; + unsigned char FLTEN1:1; + unsigned char FLTEN0:1; + } BIT; + } IRQFLTE0; + char wk7[3]; + union { + unsigned short WORD; + struct { + unsigned short FCLKSEL7:2; + unsigned short FCLKSEL6:2; + unsigned short FCLKSEL5:2; + unsigned short FCLKSEL4:2; + unsigned short FCLKSEL3:2; + unsigned short FCLKSEL2:2; + unsigned short FCLKSEL1:2; + unsigned short FCLKSEL0:2; + } BIT; + } IRQFLTC0; + char wk8[106]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char LVD2ST:1; + unsigned char LVD1ST:1; + unsigned char IWDTST:1; + unsigned char :1; + unsigned char OSTST:1; + unsigned char NMIST:1; + } BIT; + } NMISR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char LVD2EN:1; + unsigned char LVD1EN:1; + unsigned char IWDTEN:1; + unsigned char :1; + unsigned char OSTEN:1; + unsigned char NMIEN:1; + } BIT; + } NMIER; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char LVD2CLR:1; + unsigned char LVD1CLR:1; + unsigned char IWDTCLR:1; + unsigned char :1; + unsigned char OSTCLR:1; + unsigned char NMICLR:1; + } BIT; + } NMICLR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char NMIMD:1; + } BIT; + } NMICR; + char wk9[12]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char NFLTEN:1; + } BIT; + } NMIFLTE; + char wk10[3]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char NFCLKSEL:2; + } BIT; + } NMIFLTC; +}; + +struct st_iwdt { + unsigned char IWDTRR; + char wk0[1]; + union { + unsigned short WORD; + struct { + unsigned short :2; + unsigned short RPSS:2; + unsigned short :2; + unsigned short RPES:2; + unsigned short CKS:4; + unsigned short :2; + unsigned short TOPS:2; + } BIT; + } IWDTCR; + union { + unsigned short WORD; + struct { + unsigned short REFEF:1; + unsigned short UNDFF:1; + unsigned short CNTVAL:14; + } BIT; + } IWDTSR; + union { + unsigned char BYTE; + struct { + unsigned char RSTIRQS:1; + } BIT; + } IWDTRCR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char SLCSTP:1; + } BIT; + } IWDTCSTPR; +}; + +struct st_mpc { + union { + unsigned char BYTE; + struct { + unsigned char B0WI:1; + unsigned char PFSWE:1; + } BIT; + } PWPR; + char wk0[35]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P03PFS; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P05PFS; + char wk2[6]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P14PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P15PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P16PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P17PFS; + char wk3[6]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } P26PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P27PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P30PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P31PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } P32PFS; + char wk4[2]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + } BIT; + } P35PFS; + char wk5[2]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P40PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P41PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P42PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P43PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P44PFS; + char wk6[1]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } P46PFS; + char wk7[5]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } P54PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } P55PFS; + char wk8[34]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PA0PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PA1PFS; + char wk9[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PA3PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PA4PFS; + char wk10[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PA6PFS; + char wk11[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PB0PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PB1PFS; + char wk12[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PB3PFS; + char wk13[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PB5PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PB6PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PB7PFS; + char wk14[2]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PC2PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PC3PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PC4PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PC5PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PC6PFS; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PSEL:5; + } BIT; + } PC7PFS; + char wk15[8]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE0PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE1PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE2PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE3PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE4PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE5PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE6PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char :1; + unsigned char PSEL:5; + } BIT; + } PE7PFS; + char wk16[30]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } PJ6PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + } BIT; + } PJ7PFS; +}; + +struct st_mtu { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char OE4D:1; + unsigned char OE4C:1; + unsigned char OE3D:1; + unsigned char OE4B:1; + unsigned char OE4A:1; + unsigned char OE3B:1; + } BIT; + } TOER; + char wk0[2]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char BDC:1; + unsigned char N:1; + unsigned char P:1; + unsigned char FB:1; + unsigned char WF:1; + unsigned char VF:1; + unsigned char UF:1; + } BIT; + } TGCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PSYE:1; + unsigned char :2; + unsigned char TOCL:1; + unsigned char TOCS:1; + unsigned char OLSN:1; + unsigned char OLSP:1; + } BIT; + } TOCR1; + union { + unsigned char BYTE; + struct { + unsigned char BF:2; + unsigned char OLS3N:1; + unsigned char OLS3P:1; + unsigned char OLS2N:1; + unsigned char OLS2P:1; + unsigned char OLS1N:1; + unsigned char OLS1P:1; + } BIT; + } TOCR2; + char wk1[4]; + unsigned short TCDR; + unsigned short TDDR; + char wk2[8]; + unsigned short TCNTS; + unsigned short TCBR; + char wk3[12]; + union { + unsigned char BYTE; + struct { + unsigned char T3AEN:1; + unsigned char T3ACOR:3; + unsigned char T4VEN:1; + unsigned char T4VCOR:3; + } BIT; + } TITCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char T3ACNT:3; + unsigned char :1; + unsigned char T4VCNT:3; + } BIT; + } TITCNT; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char BTE:2; + } BIT; + } TBTER; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char TDER:1; + } BIT; + } TDER; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char OLS3N:1; + unsigned char OLS3P:1; + unsigned char OLS2N:1; + unsigned char OLS2P:1; + unsigned char OLS1N:1; + unsigned char OLS1P:1; + } BIT; + } TOLBR; + char wk6[41]; + union { + unsigned char BYTE; + struct { + unsigned char CCE:1; + unsigned char :6; + unsigned char WRE:1; + } BIT; + } TWCR; + char wk7[31]; + union { + unsigned char BYTE; + struct { + unsigned char CST4:1; + unsigned char CST3:1; + unsigned char :3; + unsigned char CST2:1; + unsigned char CST1:1; + unsigned char CST0:1; + } BIT; + } TSTR; + union { + unsigned char BYTE; + struct { + unsigned char SYNC4:1; + unsigned char SYNC3:1; + unsigned char :3; + unsigned char SYNC2:1; + unsigned char SYNC1:1; + unsigned char SYNC0:1; + } BIT; + } TSYR; + char wk8[2]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char RWE:1; + } BIT; + } TRWER; +}; + +struct st_mtu0 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; + char wk0[111]; + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char BFE:1; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOD:4; + unsigned char IOC:4; + } BIT; + } TIORL; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :2; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; + unsigned short TGRC; + unsigned short TGRD; + char wk1[16]; + unsigned short TGRE; + unsigned short TGRF; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TGIEF:1; + unsigned char TGIEE:1; + } BIT; + } TIER2; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TTSE:1; + unsigned char TTSB:1; + unsigned char TTSA:1; + } BIT; + } TBTM; +}; + +struct st_mtu1 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; + char wk1[238]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char CCLR:2; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char MD:4; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIOR; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :1; + unsigned char TCIEU:1; + unsigned char TCIEV:1; + unsigned char :2; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; + char wk3[4]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char I2BE:1; + unsigned char I2AE:1; + unsigned char I1BE:1; + unsigned char I1AE:1; + } BIT; + } TICCR; +}; + +struct st_mtu2 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; + char wk0[365]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char CCLR:2; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char MD:4; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIOR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :1; + unsigned char TCIEU:1; + unsigned char TCIEV:1; + unsigned char :2; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; +}; + +struct st_mtu3 { + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOD:4; + unsigned char IOC:4; + } BIT; + } TIORL; + char wk2[2]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :2; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + char wk3[7]; + unsigned short TCNT; + char wk4[6]; + unsigned short TGRA; + unsigned short TGRB; + char wk5[8]; + unsigned short TGRC; + unsigned short TGRD; + char wk6[4]; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + char wk7[11]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TTSE:1; + unsigned char TTSB:1; + unsigned char TTSA:1; + } BIT; + } TBTM; + char wk8[90]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; +}; + +struct st_mtu4 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR; + char wk2[2]; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOD:4; + unsigned char IOC:4; + } BIT; + } TIORL; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char TTGE2:1; + unsigned char :1; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + char wk4[8]; + unsigned short TCNT; + char wk5[8]; + unsigned short TGRA; + unsigned short TGRB; + char wk6[8]; + unsigned short TGRC; + unsigned short TGRD; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + } BIT; + } TSR; + char wk8[11]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TTSE:1; + unsigned char TTSB:1; + unsigned char TTSA:1; + } BIT; + } TBTM; + char wk9[6]; + union { + unsigned short WORD; + struct { + unsigned short BF:2; + unsigned short :6; + unsigned short UT4AE:1; + unsigned short DT4AE:1; + unsigned short UT4BE:1; + unsigned short DT4BE:1; + unsigned short ITA3AE:1; + unsigned short ITA4VE:1; + unsigned short ITB3AE:1; + unsigned short ITB4VE:1; + } BIT; + } TADCR; + char wk10[2]; + unsigned short TADCORA; + unsigned short TADCORB; + unsigned short TADCOBRA; + unsigned short TADCOBRB; + char wk11[72]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; +}; + +struct st_mtu5 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char :1; + unsigned char NFWEN:1; + unsigned char NFVEN:1; + unsigned char NFUEN:1; + } BIT; + } NFCR; + char wk1[490]; + unsigned short TCNTU; + unsigned short TGRU; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TPSC:2; + } BIT; + } TCRU; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char IOC:5; + } BIT; + } TIORU; + char wk3[9]; + unsigned short TCNTV; + unsigned short TGRV; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TPSC:2; + } BIT; + } TCRV; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char IOC:5; + } BIT; + } TIORV; + char wk5[9]; + unsigned short TCNTW; + unsigned short TGRW; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TPSC:2; + } BIT; + } TCRW; + char wk6[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char IOC:5; + } BIT; + } TIORW; + char wk7[11]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TGIE5U:1; + unsigned char TGIE5V:1; + unsigned char TGIE5W:1; + } BIT; + } TIER; + char wk8[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char CSTU5:1; + unsigned char CSTV5:1; + unsigned char CSTW5:1; + } BIT; + } TSTR; + char wk9[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char CMPCLR5U:1; + unsigned char CMPCLR5V:1; + unsigned char CMPCLR5W:1; + } BIT; + } TCNTCMPCLR; +}; + +struct st_poe { + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char POE3F:1; + unsigned char POE2F:1; + unsigned char POE1F:1; + unsigned char POE0F:1; + unsigned char :3; + unsigned char PIE1:1; + unsigned char POE3M:2; + unsigned char POE2M:2; + unsigned char POE1M:2; + unsigned char POE0M:2; + } BIT; + } ICSR1; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char OSF1:1; + unsigned char :5; + unsigned char OCE1:1; + unsigned char OIE1:1; + } BIT; + } OCSR1; + char wk0[4]; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :3; + unsigned char POE8F:1; + unsigned char :2; + unsigned char POE8E:1; + unsigned char PIE2:1; + unsigned char :6; + unsigned char POE8M:2; + } BIT; + } ICSR2; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char CH0HIZ:1; + unsigned char CH34HIZ:1; + } BIT; + } SPOER; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char PE3ZE:1; + unsigned char PE2ZE:1; + unsigned char PE1ZE:1; + unsigned char PE0ZE:1; + } BIT; + } POECR1; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char P1CZEA:1; + unsigned char P2CZEA:1; + unsigned char P3CZEA:1; + } BIT; + } POECR2; + char wk1[1]; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :3; + unsigned char OSTSTF:1; + unsigned char :2; + unsigned char OSTSTE:1; + } BIT; + } ICSR3; +}; + +struct st_port { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL5:1; + unsigned char :1; + unsigned char PSEL3:1; + unsigned char :1; + unsigned char PSEL1:1; + unsigned char PSEL0:1; + } BIT; + } PSRB; + union { + unsigned char BYTE; + struct { + unsigned char PSEL7:1; + unsigned char PSEL6:1; + } BIT; + } PSRA; +}; + +struct st_port0 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PMR; + char wk3[95]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PCR; +}; + +struct st_port1 { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PMR; + char wk3[33]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[61]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PCR; +}; + +struct st_port2 { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + } BIT; + } PMR; + char wk3[34]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + } BIT; + } ODR1; + char wk4[60]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + } BIT; + } PCR; +}; + +struct st_port3 { + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :2; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[34]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + char wk4[60]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_port4 { + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; +}; + +struct st_port5 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PMR; + char wk3[95]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + } BIT; + } PCR; +}; + +struct st_porta { + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[41]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :3; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char B4:1; + unsigned char :3; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[52]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_portb { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[42]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :3; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + } BIT; + } ODR1; + char wk4[51]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char :1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_portc { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + } BIT; + } PMR; + char wk3[43]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[50]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + } BIT; + } PCR; +}; + +struct st_porte { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[45]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[48]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_riic { + union { + unsigned char BYTE; + struct { + unsigned char ICE:1; + unsigned char IICRST:1; + unsigned char CLO:1; + unsigned char SOWP:1; + unsigned char SCLO:1; + unsigned char SDAO:1; + unsigned char SCLI:1; + unsigned char SDAI:1; + } BIT; + } ICCR1; + union { + unsigned char BYTE; + struct { + unsigned char BBSY:1; + unsigned char MST:1; + unsigned char TRS:1; + unsigned char :1; + unsigned char SP:1; + unsigned char RS:1; + unsigned char ST:1; + } BIT; + } ICCR2; + union { + unsigned char BYTE; + struct { + unsigned char MTWP:1; + unsigned char CKS:3; + unsigned char BCWP:1; + unsigned char BC:3; + } BIT; + } ICMR1; + union { + unsigned char BYTE; + struct { + unsigned char DLCS:1; + unsigned char SDDL:3; + unsigned char TMWE:1; + unsigned char TMOH:1; + unsigned char TMOL:1; + unsigned char TMOS:1; + } BIT; + } ICMR2; + union { + unsigned char BYTE; + struct { + unsigned char SMBS:1; + unsigned char WAIT:1; + unsigned char RDRFS:1; + unsigned char ACKWP:1; + unsigned char ACKBT:1; + unsigned char ACKBR:1; + unsigned char NF:2; + } BIT; + } ICMR3; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char SCLE:1; + unsigned char NFE:1; + unsigned char NACKE:1; + unsigned char SALE:1; + unsigned char NALE:1; + unsigned char MALE:1; + unsigned char TMOE:1; + } BIT; + } ICFER; + union { + unsigned char BYTE; + struct { + unsigned char HOAE:1; + unsigned char :1; + unsigned char DIDE:1; + unsigned char :1; + unsigned char GCAE:1; + unsigned char SAR2E:1; + unsigned char SAR1E:1; + unsigned char SAR0E:1; + } BIT; + } ICSER; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char TEIE:1; + unsigned char RIE:1; + unsigned char NAKIE:1; + unsigned char SPIE:1; + unsigned char STIE:1; + unsigned char ALIE:1; + unsigned char TMOIE:1; + } BIT; + } ICIER; + union { + unsigned char BYTE; + struct { + unsigned char HOA:1; + unsigned char :1; + unsigned char DID:1; + unsigned char :1; + unsigned char GCA:1; + unsigned char AAS2:1; + unsigned char AAS1:1; + unsigned char AAS0:1; + } BIT; + } ICSR1; + union { + unsigned char BYTE; + struct { + unsigned char TDRE:1; + unsigned char TEND:1; + unsigned char RDRF:1; + unsigned char NACKF:1; + unsigned char STOP:1; + unsigned char START:1; + unsigned char AL:1; + unsigned char TMOF:1; + } BIT; + } ICSR2; + union { + union { + unsigned char BYTE; + struct { + unsigned char SVA:7; + unsigned char SVA0:1; + } BIT; + } SARL0; + union { + unsigned char BYTE; + } TMOCNTL; + }; + union { + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SVA:2; + unsigned char FS:1; + } BIT; + } SARU0; + union { + unsigned char BYTE; + } TMOCNTH; + }; + union { + unsigned char BYTE; + struct { + unsigned char SVA:7; + unsigned char SVA0:1; + } BIT; + } SARL1; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SVA:2; + unsigned char FS:1; + } BIT; + } SARU1; + union { + unsigned char BYTE; + struct { + unsigned char SVA:7; + unsigned char SVA0:1; + } BIT; + } SARL2; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SVA:2; + unsigned char FS:1; + } BIT; + } SARU2; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char BRL:5; + } BIT; + } ICBRL; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char BRH:5; + } BIT; + } ICBRH; + unsigned char ICDRT; + unsigned char ICDRR; +}; + +struct st_rspi { + union { + unsigned char BYTE; + struct { + unsigned char SPRIE:1; + unsigned char SPE:1; + unsigned char SPTIE:1; + unsigned char SPEIE:1; + unsigned char MSTR:1; + unsigned char MODFEN:1; + unsigned char TXMD:1; + unsigned char SPMS:1; + } BIT; + } SPCR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char SSL3P:1; + unsigned char SSL2P:1; + unsigned char SSL1P:1; + unsigned char SSL0P:1; + } BIT; + } SSLP; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char MOIFE:1; + unsigned char MOIFV:1; + unsigned char :2; + unsigned char SPLP2:1; + unsigned char SPLP:1; + } BIT; + } SPPCR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char PERF:1; + unsigned char MODF:1; + unsigned char IDLNF:1; + unsigned char OVRF:1; + } BIT; + } SPSR; + union { + unsigned long LONG; + struct { + unsigned short H; + } WORD; + } SPDR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SPSLN:3; + } BIT; + } SPSCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char SPECM:3; + unsigned char :1; + unsigned char SPCP:3; + } BIT; + } SPSSR; + unsigned char SPBR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char SPLW:1; + unsigned char SPRDTD:1; + unsigned char :2; + unsigned char SPFC:2; + } BIT; + } SPDCR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SCKDL:3; + } BIT; + } SPCKD; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SLNDL:3; + } BIT; + } SSLND; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SPNDL:3; + } BIT; + } SPND; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char PTE:1; + unsigned char SPIIE:1; + unsigned char SPOE:1; + unsigned char SPPE:1; + } BIT; + } SPCR2; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD0; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD1; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD2; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD3; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD4; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD5; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD6; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD7; +}; + +struct st_rtc { + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char F1HZ:1; + unsigned char F2HZ:1; + unsigned char F4HZ:1; + unsigned char F8HZ:1; + unsigned char F16HZ:1; + unsigned char F32HZ:1; + unsigned char F64HZ:1; + } BIT; + } R64CNT; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char SEC10:3; + unsigned char SEC1:4; + } BIT; + } RSECCNT; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char MIN10:3; + unsigned char MIN1:4; + } BIT; + } RMINCNT; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PM:1; + unsigned char HR10:2; + unsigned char HR1:4; + } BIT; + } RHRCNT; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char DAYW:3; + } BIT; + } RWKCNT; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char DATE10:2; + unsigned char DATE1:4; + } BIT; + } RDAYCNT; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char MON10:1; + unsigned char MON1:4; + } BIT; + } RMONCNT; + char wk6[1]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short YR10:4; + unsigned short YR1:4; + } BIT; + } RYRCNT; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char SEC10:3; + unsigned char SEC1:4; + } BIT; + } RSECAR; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char MIN10:3; + unsigned char MIN1:4; + } BIT; + } RMINAR; + char wk8[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char PM:1; + unsigned char HR10:2; + unsigned char HR1:4; + } BIT; + } RHRAR; + char wk9[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char :4; + unsigned char DAYW:3; + } BIT; + } RWKAR; + char wk10[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char :1; + unsigned char DATE10:2; + unsigned char DATE1:4; + } BIT; + } RDAYAR; + char wk11[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char :2; + unsigned char MON10:1; + unsigned char MON1:4; + } BIT; + } RMONAR; + char wk12[1]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short YR10:4; + unsigned short YR1:4; + } BIT; + } RYRAR; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + } BIT; + } RYRAREN; + char wk13[3]; + union { + unsigned char BYTE; + struct { + unsigned char PES:4; + unsigned char RTCOS:1; + unsigned char PIE:1; + unsigned char CIE:1; + unsigned char AIE:1; + } BIT; + } RCR1; + char wk14[1]; + union { + unsigned char BYTE; + struct { + unsigned char CNTMD:1; + unsigned char HR24:1; + unsigned char AADJP:1; + unsigned char AADJE:1; + unsigned char RTCOE:1; + unsigned char ADJ30:1; + unsigned char RESET:1; + unsigned char START:1; + } BIT; + } RCR2; + char wk15[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char RTCDV:2; + unsigned char RTCEN:1; + } BIT; + } RCR3; + char wk16[7]; + union { + unsigned char BYTE; + struct { + unsigned char PMADJ:2; + unsigned char ADJ:6; + } BIT; + } RADJ; +}; + +struct st_rtcb { + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT0; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT1; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT2; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT3; + char wk3[7]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT0AR; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT1AR; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT2AR; + char wk6[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT3AR; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:8; + } BIT; + } BCNT0AER; + char wk8[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:8; + } BIT; + } BCNT1AER; + char wk9[1]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short ENB:8; + } BIT; + } BCNT2AER; + union { + unsigned char BYTE; + struct { + unsigned char ENB:8; + } BIT; + } BCNT3AER; +}; + +struct st_s12ad { + union { + unsigned short WORD; + struct { + unsigned short ADST:1; + unsigned short ADCS:2; + unsigned short ADIE:1; + unsigned short :1; + unsigned short ADHSC:1; + unsigned short TRGE:1; + unsigned short EXTRG:1; + unsigned short DBLE:1; + unsigned short GBADIE:1; + unsigned short :1; + unsigned short DBLANS:5; + } BIT; + } ADCSR; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned short ANSA15:1; + unsigned short ANSA14:1; + unsigned short ANSA13:1; + unsigned short ANSA12:1; + unsigned short ANSA11:1; + unsigned short ANSA10:1; + unsigned short ANSA9:1; + unsigned short ANSA8:1; + unsigned short :1; + unsigned short ANSA6:1; + unsigned short :1; + unsigned short ANSA4:1; + unsigned short ANSA3:1; + unsigned short ANSA2:1; + unsigned short ANSA1:1; + unsigned short ANSA0:1; + } BIT; + } ADANSA; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned short ADS15:1; + unsigned short ADS14:1; + unsigned short ADS13:1; + unsigned short ADS12:1; + unsigned short ADS11:1; + unsigned short ADS10:1; + unsigned short ADS9:1; + unsigned short ADS8:1; + unsigned short :1; + unsigned short ADS6:1; + unsigned short :1; + unsigned short ADS4:1; + unsigned short ADS3:1; + unsigned short ADS2:1; + unsigned short ADS1:1; + unsigned short ADS0:1; + } BIT; + } ADADS; + char wk2[2]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char ADC:2; + } BIT; + } ADADC; + char wk3[1]; + union { + unsigned short WORD; + struct { + unsigned short ADRFMT:1; + unsigned short :9; + unsigned short ACE:1; + } BIT; + } ADCER; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short TRSA:4; + unsigned short :4; + unsigned short TRSB:4; + } BIT; + } ADSTRGR; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short OCS:1; + unsigned short TSS:1; + unsigned short :6; + unsigned short OCSAD:1; + } BIT; + } ADEXICR; + union { + unsigned short WORD; + struct { + unsigned short ANSB15:1; + unsigned short ANSB14:1; + unsigned short ANSB13:1; + unsigned short ANSB12:1; + unsigned short ANSB11:1; + unsigned short ANSB10:1; + unsigned short ANSB9:1; + unsigned short ANSB8:1; + unsigned short :1; + unsigned short ANSB6:1; + unsigned short :1; + unsigned short ANSB4:1; + unsigned short ANSB3:1; + unsigned short ANSB2:1; + unsigned short ANSB1:1; + unsigned short ANSB0:1; + } BIT; + } ADANSB; + char wk4[2]; + unsigned short ADDBLDR; + unsigned short ADTSDR; + unsigned short ADOCDR; + char wk5[2]; + unsigned short ADDR0; + unsigned short ADDR1; + unsigned short ADDR2; + unsigned short ADDR3; + unsigned short ADDR4; + char wk6[2]; + unsigned short ADDR6; + char wk7[2]; + unsigned short ADDR8; + unsigned short ADDR9; + unsigned short ADDR10; + unsigned short ADDR11; + unsigned short ADDR12; + unsigned short ADDR13; + unsigned short ADDR14; + unsigned short ADDR15; + char wk8[32]; + unsigned char ADSSTR0; + unsigned char ADSSTRL; + char wk9[14]; + unsigned char ADSSTRT; + unsigned char ADSSTRO; + char wk10[1]; + unsigned char ADSSTR1; + unsigned char ADSSTR2; + unsigned char ADSSTR3; + unsigned char ADSSTR4; + char wk11[1]; + unsigned char ADSSTR6; +}; + +struct st_sci1 { + union { + unsigned char BYTE; + struct { + unsigned char CM:1; + unsigned char CHR:1; + unsigned char PE:1; + unsigned char PM:1; + unsigned char STOP:1; + unsigned char MP:1; + unsigned char CKS:2; + } BIT; + } SMR; + unsigned char BRR; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char RIE:1; + unsigned char TE:1; + unsigned char RE:1; + unsigned char MPIE:1; + unsigned char TEIE:1; + unsigned char CKE:2; + } BIT; + } SCR; + unsigned char TDR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char ORER:1; + unsigned char FER:1; + unsigned char PER:1; + unsigned char TEND:1; + unsigned char MPB:1; + unsigned char MPBT:1; + } BIT; + } SSR; + unsigned char RDR; + union { + unsigned char BYTE; + struct { + unsigned char BCP2:1; + unsigned char :3; + unsigned char SDIR:1; + unsigned char SINV:1; + unsigned char :1; + unsigned char SMIF:1; + } BIT; + } SCMR; + union { + unsigned char BYTE; + struct { + unsigned char RXDESEL:1; + unsigned char :1; + unsigned char NFEN:1; + unsigned char ABCS:1; + } BIT; + } SEMR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char NFCS:3; + } BIT; + } SNFR; + union { + unsigned char BYTE; + struct { + unsigned char IICDL:5; + unsigned char :2; + unsigned char IICM:1; + } BIT; + } SIMR1; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char IICACKT:1; + unsigned char :3; + unsigned char IICCSC:1; + unsigned char IICINTM:1; + } BIT; + } SIMR2; + union { + unsigned char BYTE; + struct { + unsigned char IICSCLS:2; + unsigned char IICSDAS:2; + unsigned char IICSTIF:1; + unsigned char IICSTPREQ:1; + unsigned char IICRSTAREQ:1; + unsigned char IICSTAREQ:1; + } BIT; + } SIMR3; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char IICACKR:1; + } BIT; + } SISR; + union { + unsigned char BYTE; + struct { + unsigned char CKPH:1; + unsigned char CKPOL:1; + unsigned char :1; + unsigned char MFF:1; + unsigned char :1; + unsigned char MSS:1; + unsigned char CTSE:1; + unsigned char SSE:1; + } BIT; + } SPMR; +}; + +struct st_sci12 { + union { + unsigned char BYTE; + struct { + unsigned char CM:1; + unsigned char CHR:1; + unsigned char PE:1; + unsigned char PM:1; + unsigned char STOP:1; + unsigned char MP:1; + unsigned char CKS:2; + } BIT; + } SMR; + unsigned char BRR; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char RIE:1; + unsigned char TE:1; + unsigned char RE:1; + unsigned char MPIE:1; + unsigned char TEIE:1; + unsigned char CKE:2; + } BIT; + } SCR; + unsigned char TDR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char ORER:1; + unsigned char FER:1; + unsigned char PER:1; + unsigned char TEND:1; + unsigned char MPB:1; + unsigned char MPBT:1; + } BIT; + } SSR; + unsigned char RDR; + union { + unsigned char BYTE; + struct { + unsigned char BCP2:1; + unsigned char :3; + unsigned char SDIR:1; + unsigned char SINV:1; + unsigned char :1; + unsigned char SMIF:1; + } BIT; + } SCMR; + union { + unsigned char BYTE; + struct { + unsigned char RXDESEL:1; + unsigned char :1; + unsigned char NFEN:1; + unsigned char ABCS:1; + } BIT; + } SEMR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char NFCS:3; + } BIT; + } SNFR; + union { + unsigned char BYTE; + struct { + unsigned char IICDL:5; + unsigned char :2; + unsigned char IICM:1; + } BIT; + } SIMR1; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char IICACKT:1; + unsigned char :3; + unsigned char IICCSC:1; + unsigned char IICINTM:1; + } BIT; + } SIMR2; + union { + unsigned char BYTE; + struct { + unsigned char IICSCLS:2; + unsigned char IICSDAS:2; + unsigned char IICSTIF:1; + unsigned char IICSTPREQ:1; + unsigned char IICRSTAREQ:1; + unsigned char IICSTAREQ:1; + } BIT; + } SIMR3; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char IICACKR:1; + } BIT; + } SISR; + union { + unsigned char BYTE; + struct { + unsigned char CKPH:1; + unsigned char CKPOL:1; + unsigned char :1; + unsigned char MFF:1; + unsigned char :1; + unsigned char MSS:1; + unsigned char CTSE:1; + unsigned char SSE:1; + } BIT; + } SPMR; + char wk0[18]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char ESME:1; + } BIT; + } ESMER; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char BRME:1; + unsigned char RXDSF:1; + unsigned char SFSF:1; + } BIT; + } CR0; + union { + unsigned char BYTE; + struct { + unsigned char PIBS:3; + unsigned char PIBE:1; + unsigned char CF1DS:2; + unsigned char CF0RE:1; + unsigned char BFE:1; + } BIT; + } CR1; + union { + unsigned char BYTE; + struct { + unsigned char RTS:2; + unsigned char BCCS:2; + unsigned char :1; + unsigned char DFCS:3; + } BIT; + } CR2; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SDST:1; + } BIT; + } CR3; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char SHARPS:1; + unsigned char :2; + unsigned char RXDXPS:1; + unsigned char TXDXPS:1; + } BIT; + } PCR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char AEDIE:1; + unsigned char BCDIE:1; + unsigned char PIBDIE:1; + unsigned char CF1MIE:1; + unsigned char CF0MIE:1; + unsigned char BFDIE:1; + } BIT; + } ICR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char AEDF:1; + unsigned char BCDF:1; + unsigned char PIBDF:1; + unsigned char CF1MF:1; + unsigned char CF0MF:1; + unsigned char BFDF:1; + } BIT; + } STR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char AEDCL:1; + unsigned char BCDCL:1; + unsigned char PIBDCL:1; + unsigned char CF1MCL:1; + unsigned char CF0MCL:1; + unsigned char BFDCL:1; + } BIT; + } STCR; + unsigned char CF0DR; + union { + unsigned char BYTE; + struct { + unsigned char CF0CE7:1; + unsigned char CF0CE6:1; + unsigned char CF0CE5:1; + unsigned char CF0CE4:1; + unsigned char CF0CE3:1; + unsigned char CF0CE2:1; + unsigned char CF0CE1:1; + unsigned char CF0CE0:1; + } BIT; + } CF0CR; + unsigned char CF0RR; + unsigned char PCF1DR; + unsigned char SCF1DR; + union { + unsigned char BYTE; + struct { + unsigned char CF1CE7:1; + unsigned char CF1CE6:1; + unsigned char CF1CE5:1; + unsigned char CF1CE4:1; + unsigned char CF1CE3:1; + unsigned char CF1CE2:1; + unsigned char CF1CE1:1; + unsigned char CF1CE0:1; + } BIT; + } CF1CR; + unsigned char CF1RR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char TCST:1; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char TCSS:3; + unsigned char TWRC:1; + unsigned char :1; + unsigned char TOMS:2; + } BIT; + } TMR; + unsigned char TPRE; + unsigned char TCNT; +}; + +struct st_smci { + union { + unsigned char BYTE; + struct { + unsigned char GM:1; + unsigned char BLK:1; + unsigned char PE:1; + unsigned char PM:1; + unsigned char BCP:2; + unsigned char CKS:2; + } BIT; + } SMR; + unsigned char BRR; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char RIE:1; + unsigned char TE:1; + unsigned char RE:1; + unsigned char MPIE:1; + unsigned char TEIE:1; + unsigned char CKE:2; + } BIT; + } SCR; + unsigned char TDR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char ORER:1; + unsigned char ERS:1; + unsigned char PER:1; + unsigned char TEND:1; + unsigned char MPB:1; + unsigned char MPBT:1; + } BIT; + } SSR; + unsigned char RDR; + union { + unsigned char BYTE; + struct { + unsigned char BCP2:1; + unsigned char :3; + unsigned char SDIR:1; + unsigned char SINV:1; + unsigned char :1; + unsigned char SMIF:1; + } BIT; + } SCMR; +}; + +struct st_system { + union { + unsigned short WORD; + struct { + unsigned short :15; + unsigned short MD:1; + } BIT; + } MDMONR; + char wk0[6]; + union { + unsigned short WORD; + struct { + unsigned short :15; + unsigned short RAME:1; + } BIT; + } SYSCR1; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned short SSBY:1; + } BIT; + } SBYCR; + char wk2[2]; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long MSTPA28:1; + unsigned long :8; + unsigned long MSTPA19:1; + unsigned long :1; + unsigned long MSTPA17:1; + unsigned long :1; + unsigned long MSTPA15:1; + unsigned long :5; + unsigned long MSTPA9:1; + } BIT; + } MSTPCRA; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long MSTPB30:1; + unsigned long :3; + unsigned long MSTPB26:1; + unsigned long :2; + unsigned long MSTPB23:1; + unsigned long :1; + unsigned long MSTPB21:1; + unsigned long :1; + unsigned long MSTPB19:1; + unsigned long :1; + unsigned long MSTPB17:1; + unsigned long :7; + unsigned long MSTPB9:1; + unsigned long :2; + unsigned long MSTPB6:1; + unsigned long :1; + unsigned long MSTPB4:1; + } BIT; + } MSTPCRB; + union { + unsigned long LONG; + struct { + unsigned long DSLPE:1; + unsigned long :11; + unsigned long MSTPC19:1; + unsigned long :18; + unsigned long MSTPC0:1; + } BIT; + } MSTPCRC; + char wk3[4]; + union { + unsigned long LONG; + struct { + unsigned long FCK:4; + unsigned long ICK:4; + unsigned long :12; + unsigned long PCKB:4; + unsigned long :4; + unsigned long PCKD:4; + } BIT; + } SCKCR; + char wk4[2]; + union { + unsigned short WORD; + struct { + unsigned short :5; + unsigned short CKSEL:3; + } BIT; + } SCKCR3; + union { + unsigned short WORD; + struct { + unsigned short :2; + unsigned short STC:6; + unsigned short :6; + unsigned short PLIDIV:2; + } BIT; + } PLLCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char PLLEN:1; + } BIT; + } PLLCR2; + char wk5[7]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char MOSTP:1; + } BIT; + } MOSCCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SOSTP:1; + } BIT; + } SOSCCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char LCSTP:1; + } BIT; + } LOCOCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char ILCSTP:1; + } BIT; + } ILOCOCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char HCSTP:1; + } BIT; + } HOCOCR; + char wk6[5]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char HCOVF:1; + unsigned char PLOVF:1; + unsigned char :1; + unsigned char MOOVF:1; + } BIT; + } OSCOVFSR; + char wk7[1]; + union { + unsigned short WORD; + struct { + unsigned short CKOSTP:1; + unsigned short CKODIV:3; + unsigned short :1; + unsigned short CKOSEL:3; + } BIT; + } CKOCR; + union { + unsigned char BYTE; + struct { + unsigned char OSTDE:1; + unsigned char :6; + unsigned char OSTDIE:1; + } BIT; + } OSTDCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char OSTDF:1; + } BIT; + } OSTDSR; + char wk8[94]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char OPCMTSF:1; + unsigned char :1; + unsigned char OPCM:3; + } BIT; + } OPCCR; + union { + unsigned char BYTE; + struct { + unsigned char RSTCKEN:1; + unsigned char :4; + unsigned char RSTCKSEL:3; + } BIT; + } RSTCKCR; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char MSTS:5; + } BIT; + } MOSCWTCR; + char wk9[7]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char SOPCMTSF:1; + unsigned char :3; + unsigned char SOPCM:1; + } BIT; + } SOPCCR; + char wk10[21]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SWRF:1; + unsigned char :1; + unsigned char IWDTRF:1; + } BIT; + } RSTSR2; + char wk11[1]; + unsigned short SWRR; + char wk12[28]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char LVD1IRQSEL:1; + unsigned char LVD1IDTSEL:2; + } BIT; + } LVD1CR1; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char LVD1MON:1; + unsigned char LVD1DET:1; + } BIT; + } LVD1SR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char LVD2IRQSEL:1; + unsigned char LVD2IDTSEL:2; + } BIT; + } LVD2CR1; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char LVD2MON:1; + unsigned char LVD2DET:1; + } BIT; + } LVD2SR; + char wk13[794]; + union { + unsigned short WORD; + struct { + unsigned short PRKEY:8; + unsigned short :4; + unsigned short PRC3:1; + unsigned short :1; + unsigned short PRC1:1; + unsigned short PRC0:1; + } BIT; + } PRCR; + char wk14[48784]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char LVD2RF:1; + unsigned char LVD1RF:1; + unsigned char :1; + unsigned char PORF:1; + } BIT; + } RSTSR0; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char CWSF:1; + } BIT; + } RSTSR1; + char wk15[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char MOSEL:1; + unsigned char MODRV21:1; + } BIT; + } MOFCR; + char wk16[3]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char LVD2E:1; + unsigned char LVD1E:1; + unsigned char :1; + unsigned char EXVCCINP2:1; + } BIT; + } LVCMPCR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char LVD2LVL:2; + unsigned char LVD1LVL:4; + } BIT; + } LVDLVLR; + char wk17[1]; + union { + unsigned char BYTE; + struct { + unsigned char LVD1RN:1; + unsigned char LVD1RI:1; + unsigned char :3; + unsigned char LVD1CMPE:1; + unsigned char :1; + unsigned char LVD1RIE:1; + } BIT; + } LVD1CR0; + union { + unsigned char BYTE; + struct { + unsigned char LVD2RN:1; + unsigned char LVD2RI:1; + unsigned char :3; + unsigned char LVD2CMPE:1; + unsigned char :1; + unsigned char LVD2RIE:1; + } BIT; + } LVD2CR0; +}; + +struct st_usb { + union { + unsigned short WORD; + struct { + unsigned short :5; + unsigned short SCKE:1; + unsigned short :1; + unsigned short CNEN:1; + unsigned short :1; + unsigned short DCFM:1; + unsigned short DRPD:1; + unsigned short DPRPU:1; + unsigned short :3; + unsigned short USBE:1; + } BIT; + } SYSCFG; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned short OVCMON:2; + unsigned short :7; + unsigned short HTACT:1; + unsigned short :3; + unsigned short IDMON:1; + unsigned short LNST:2; + } BIT; + } SYSSTS0; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short HNPBTOA:1; + unsigned short EXICEN:1; + unsigned short VBUSEN:1; + unsigned short WKUP:1; + unsigned short RWUPE:1; + unsigned short USBRST:1; + unsigned short RESUME:1; + unsigned short UACT:1; + unsigned short :1; + unsigned short RHST:3; + } BIT; + } DVSTCTR0; + char wk2[10]; + union { + unsigned short WORD; + struct { + unsigned char L; + unsigned char H; + } BYTE; + } CFIFO; + char wk3[2]; + union { + unsigned short WORD; + struct { + unsigned char L; + unsigned char H; + } BYTE; + } D0FIFO; + char wk4[2]; + union { + unsigned short WORD; + struct { + unsigned char L; + unsigned char H; + } BYTE; + } D1FIFO; + char wk5[2]; + union { + unsigned short WORD; + struct { + unsigned short RCNT:1; + unsigned short REW:1; + unsigned short :3; + unsigned short MBW:1; + unsigned short :1; + unsigned short BIGEND:1; + unsigned short :2; + unsigned short ISEL:1; + unsigned short :1; + unsigned short CURPIPE:4; + } BIT; + } CFIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short BVAL:1; + unsigned short BCLR:1; + unsigned short FRDY:1; + unsigned short :4; + unsigned short DTLN:9; + } BIT; + } CFIFOCTR; + char wk6[4]; + union { + unsigned short WORD; + struct { + unsigned short RCNT:1; + unsigned short REW:1; + unsigned short DCLRM:1; + unsigned short DREQE:1; + unsigned short :1; + unsigned short MBW:1; + unsigned short :1; + unsigned short BIGEND:1; + unsigned short :4; + unsigned short CURPIPE:4; + } BIT; + } D0FIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short BVAL:1; + unsigned short BCLR:1; + unsigned short FRDY:1; + unsigned short :4; + unsigned short DTLN:9; + } BIT; + } D0FIFOCTR; + union { + unsigned short WORD; + struct { + unsigned short RCNT:1; + unsigned short REW:1; + unsigned short DCLRM:1; + unsigned short DREQE:1; + unsigned short :1; + unsigned short MBW:1; + unsigned short :1; + unsigned short BIGEND:1; + unsigned short :4; + unsigned short CURPIPE:4; + } BIT; + } D1FIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short BVAL:1; + unsigned short BCLR:1; + unsigned short FRDY:1; + unsigned short :4; + unsigned short DTLN:9; + } BIT; + } D1FIFOCTR; + union { + unsigned short WORD; + struct { + unsigned short VBSE:1; + unsigned short RSME:1; + unsigned short SOFE:1; + unsigned short DVSE:1; + unsigned short CTRE:1; + unsigned short BEMPE:1; + unsigned short NRDYE:1; + unsigned short BRDYE:1; + } BIT; + } INTENB0; + union { + unsigned short WORD; + struct { + unsigned short OVRCRE:1; + unsigned short BCHGE:1; + unsigned short :1; + unsigned short DTCHE:1; + unsigned short ATTCHE:1; + unsigned short :4; + unsigned short EOFERRE:1; + unsigned short SIGNE:1; + unsigned short SACKE:1; + unsigned short :3; + unsigned short PDDETINTE0:1; + } BIT; + } INTENB1; + char wk7[2]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BRDYE:1; + unsigned short PIPE8BRDYE:1; + unsigned short PIPE7BRDYE:1; + unsigned short PIPE6BRDYE:1; + unsigned short PIPE5BRDYE:1; + unsigned short PIPE4BRDYE:1; + unsigned short PIPE3BRDYE:1; + unsigned short PIPE2BRDYE:1; + unsigned short PIPE1BRDYE:1; + unsigned short PIPE0BRDYE:1; + } BIT; + } BRDYENB; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9NRDYE:1; + unsigned short PIPE8NRDYE:1; + unsigned short PIPE7NRDYE:1; + unsigned short PIPE6NRDYE:1; + unsigned short PIPE5NRDYE:1; + unsigned short PIPE4NRDYE:1; + unsigned short PIPE3NRDYE:1; + unsigned short PIPE2NRDYE:1; + unsigned short PIPE1NRDYE:1; + unsigned short PIPE0NRDYE:1; + } BIT; + } NRDYENB; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BEMPE:1; + unsigned short PIPE8BEMPE:1; + unsigned short PIPE7BEMPE:1; + unsigned short PIPE6BEMPE:1; + unsigned short PIPE5BEMPE:1; + unsigned short PIPE4BEMPE:1; + unsigned short PIPE3BEMPE:1; + unsigned short PIPE2BEMPE:1; + unsigned short PIPE1BEMPE:1; + unsigned short PIPE0BEMPE:1; + } BIT; + } BEMPENB; + union { + unsigned short WORD; + struct { + unsigned short :7; + unsigned short TRNENSEL:1; + unsigned short :1; + unsigned short BRDYM:1; + unsigned short :1; + unsigned short EDGESTS:1; + } BIT; + } SOFCFG; + char wk8[2]; + union { + unsigned short WORD; + struct { + unsigned short VBINT:1; + unsigned short RESM:1; + unsigned short SOFR:1; + unsigned short DVST:1; + unsigned short CTRT:1; + unsigned short BEMP:1; + unsigned short NRDY:1; + unsigned short BRDY:1; + unsigned short VBSTS:1; + unsigned short DVSQ:3; + unsigned short VALID:1; + unsigned short CTSQ:3; + } BIT; + } INTSTS0; + union { + unsigned short WORD; + struct { + unsigned short OVRCR:1; + unsigned short BCHG:1; + unsigned short :1; + unsigned short DTCH:1; + unsigned short ATTCH:1; + unsigned short :4; + unsigned short EOFERR:1; + unsigned short SIGN:1; + unsigned short SACK:1; + unsigned short :3; + unsigned short PDDETINT0:1; + } BIT; + } INTSTS1; + char wk9[2]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BRDY:1; + unsigned short PIPE8BRDY:1; + unsigned short PIPE7BRDY:1; + unsigned short PIPE6BRDY:1; + unsigned short PIPE5BRDY:1; + unsigned short PIPE4BRDY:1; + unsigned short PIPE3BRDY:1; + unsigned short PIPE2BRDY:1; + unsigned short PIPE1BRDY:1; + unsigned short PIPE0BRDY:1; + } BIT; + } BRDYSTS; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9NRDY:1; + unsigned short PIPE8NRDY:1; + unsigned short PIPE7NRDY:1; + unsigned short PIPE6NRDY:1; + unsigned short PIPE5NRDY:1; + unsigned short PIPE4NRDY:1; + unsigned short PIPE3NRDY:1; + unsigned short PIPE2NRDY:1; + unsigned short PIPE1NRDY:1; + unsigned short PIPE0NRDY:1; + } BIT; + } NRDYSTS; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BEMP:1; + unsigned short PIPE8BEMP:1; + unsigned short PIPE7BEMP:1; + unsigned short PIPE6BEMP:1; + unsigned short PIPE5BEMP:1; + unsigned short PIPE4BEMP:1; + unsigned short PIPE3BEMP:1; + unsigned short PIPE2BEMP:1; + unsigned short PIPE1BEMP:1; + unsigned short PIPE0BEMP:1; + } BIT; + } BEMPSTS; + union { + unsigned short WORD; + struct { + unsigned short OVRN:1; + unsigned short CRCE:1; + unsigned short :3; + unsigned short FRNM:11; + } BIT; + } FRMNUM; + char wk10[6]; + union { + unsigned short WORD; + struct { + unsigned short BREQUEST:8; + unsigned short BMREQUESTTYPE:8; + } BIT; + } USBREQ; + unsigned short USBVAL; + unsigned short USBINDX; + unsigned short USBLENG; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short SHTNAK:1; + unsigned short :2; + unsigned short DIR:1; + } BIT; + } DCPCFG; + union { + unsigned short WORD; + struct { + unsigned short DEVSEL:4; + unsigned short :5; + unsigned short MXPS:7; + } BIT; + } DCPMAXP; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short SUREQ:1; + unsigned short :2; + unsigned short SUREQCLR:1; + unsigned short :2; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :2; + unsigned short CCPL:1; + unsigned short PID:2; + } BIT; + } DCPCTR; + char wk11[2]; + union { + unsigned short WORD; + struct { + unsigned short :12; + unsigned short PIPESEL:4; + } BIT; + } PIPESEL; + char wk12[2]; + union { + unsigned short WORD; + struct { + unsigned short TYPE:2; + unsigned short :3; + unsigned short BFRE:1; + unsigned short DBLB:1; + unsigned short :1; + unsigned short SHTNAK:1; + unsigned short :2; + unsigned short DIR:1; + unsigned short EPNUM:4; + } BIT; + } PIPECFG; + char wk13[2]; + union { + unsigned short WORD; + struct { + unsigned short DEVSEL:4; + unsigned short :3; + unsigned short MXPS:9; + } BIT; + } PIPEMAXP; + union { + unsigned short WORD; + struct { + unsigned short :3; + unsigned short IFIS:1; + unsigned short :9; + unsigned short IITV:3; + } BIT; + } PIPEPERI; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE1CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE2CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE3CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE4CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE5CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short :5; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE6CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short :5; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE7CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short :5; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE8CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short :5; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE9CTR; + char wk14[14]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE1TRE; + unsigned short PIPE1TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE2TRE; + unsigned short PIPE2TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE3TRE; + unsigned short PIPE3TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE4TRE; + unsigned short PIPE4TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE5TRE; + unsigned short PIPE5TRN; + char wk15[12]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PDDETSTS0:1; + unsigned short CHGDETSTS0:1; + unsigned short BATCHGE0:1; + unsigned short DCPMODE0:1; + unsigned short VDMSRCE0:1; + unsigned short IDPSINKE0:1; + unsigned short VDPSRCE0:1; + unsigned short IDMSINKE0:1; + unsigned short IDPSRCE0:1; + unsigned short RPDME0:1; + } BIT; + } USBBCCTRL0; + char wk16[26]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short VBRPDCUT:1; + unsigned short :6; + unsigned short VDDUSBE:1; + } BIT; + } USBMC; + char wk17[2]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD0; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD1; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD2; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD3; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD4; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD5; +}; + +enum enum_ir { +IR_BSC_BUSERR=16,IR_ICU_SWINT=27, +IR_CMT0_CMI0, +IR_CMT1_CMI1, +IR_CAC_FERRF=32,IR_CAC_MENDF,IR_CAC_OVFF, +IR_USB0_D0FIFO0=36,IR_USB0_D1FIFO0,IR_USB0_USBI0, +IR_RSPI0_SPEI0=44,IR_RSPI0_SPRI0,IR_RSPI0_SPTI0,IR_RSPI0_SPII0, +IR_DOC_DOPCF=57, +IR_RTC_CUP=63, +IR_ICU_IRQ0,IR_ICU_IRQ1,IR_ICU_IRQ2,IR_ICU_IRQ3,IR_ICU_IRQ4,IR_ICU_IRQ5,IR_ICU_IRQ6,IR_ICU_IRQ7, +IR_LVD_LVD1=88,IR_LVD_LVD2, +IR_USB0_USBR0, +IR_RTC_ALM=92,IR_RTC_PRD, +IR_S12AD_S12ADI0=102,IR_S12AD_GBADI, +IR_ELC_ELSR18I=106, +IR_MTU0_TGIA0=114,IR_MTU0_TGIB0,IR_MTU0_TGIC0,IR_MTU0_TGID0,IR_MTU0_TCIV0,IR_MTU0_TGIE0,IR_MTU0_TGIF0, +IR_MTU1_TGIA1,IR_MTU1_TGIB1,IR_MTU1_TCIV1,IR_MTU1_TCIU1, +IR_MTU2_TGIA2,IR_MTU2_TGIB2,IR_MTU2_TCIV2,IR_MTU2_TCIU2, +IR_MTU3_TGIA3,IR_MTU3_TGIB3,IR_MTU3_TGIC3,IR_MTU3_TGID3,IR_MTU3_TCIV3, +IR_MTU4_TGIA4,IR_MTU4_TGIB4,IR_MTU4_TGIC4,IR_MTU4_TGID4,IR_MTU4_TCIV4, +IR_MTU5_TGIU5,IR_MTU5_TGIV5,IR_MTU5_TGIW5, +IR_POE_OEI1=170,IR_POE_OEI2, +IR_SCI1_ERI1=218,IR_SCI1_RXI1,IR_SCI1_TXI1,IR_SCI1_TEI1, +IR_SCI5_ERI5,IR_SCI5_RXI5,IR_SCI5_TXI5,IR_SCI5_TEI5, +IR_SCI12_ERI12=238,IR_SCI12_RXI12,IR_SCI12_TXI12,IR_SCI12_TEI12,IR_SCI12_SCIX0,IR_SCI12_SCIX1,IR_SCI12_SCIX2,IR_SCI12_SCIX3, +IR_RIIC0_EEI0,IR_RIIC0_RXI0,IR_RIIC0_TXI0,IR_RIIC0_TEI0 +}; + +enum enum_dtce { +DTCE_ICU_SWINT=27, +DTCE_CMT0_CMI0, +DTCE_CMT1_CMI1, +DTCE_USB0_D0FIFO0=36,DTCE_USB0_D1FIFO0, +DTCE_RSPI0_SPRI0=45,DTCE_RSPI0_SPTI0, +DTCE_ICU_IRQ0=64,DTCE_ICU_IRQ1,DTCE_ICU_IRQ2,DTCE_ICU_IRQ3,DTCE_ICU_IRQ4,DTCE_ICU_IRQ5,DTCE_ICU_IRQ6,DTCE_ICU_IRQ7, +DTCE_S12AD_S12ADI0=102,DTCE_S12AD_GBADI, +DTCE_ELC_ELSR18I=106, +DTCE_MTU0_TGIA0=114,DTCE_MTU0_TGIB0,DTCE_MTU0_TGIC0,DTCE_MTU0_TGID0, +DTCE_MTU1_TGIA1=121,DTCE_MTU1_TGIB1, +DTCE_MTU2_TGIA2=125,DTCE_MTU2_TGIB2, +DTCE_MTU3_TGIA3=129,DTCE_MTU3_TGIB3,DTCE_MTU3_TGIC3,DTCE_MTU3_TGID3, +DTCE_MTU4_TGIA4=134,DTCE_MTU4_TGIB4,DTCE_MTU4_TGIC4,DTCE_MTU4_TGID4,DTCE_MTU4_TCIV4, +DTCE_MTU5_TGIU5,DTCE_MTU5_TGIV5,DTCE_MTU5_TGIW5, +DTCE_SCI1_RXI1=219,DTCE_SCI1_TXI1, +DTCE_SCI5_RXI5=223,DTCE_SCI5_TXI5, +DTCE_SCI12_RXI12=239,DTCE_SCI12_TXI12, +DTCE_RIIC0_RXI0=247,DTCE_RIIC0_TXI0 +}; + +enum enum_ier { +IER_BSC_BUSERR=0x02, +IER_ICU_SWINT=0x03, +IER_CMT0_CMI0=0x03, +IER_CMT1_CMI1=0x03, +IER_CAC_FERRF=0x04,IER_CAC_MENDF=0x04,IER_CAC_OVFF=0x04, +IER_USB0_D0FIFO0=0x04,IER_USB0_D1FIFO0=0x04,IER_USB0_USBI0=0x04, +IER_RSPI0_SPEI0=0x05,IER_RSPI0_SPRI0=0x05,IER_RSPI0_SPTI0=0x05,IER_RSPI0_SPII0=0x05, +IER_DOC_DOPCF=0x07, +IER_RTC_CUP=0x07, +IER_ICU_IRQ0=0x08,IER_ICU_IRQ1=0x08,IER_ICU_IRQ2=0x08,IER_ICU_IRQ3=0x08,IER_ICU_IRQ4=0x08,IER_ICU_IRQ5=0x08,IER_ICU_IRQ6=0x08,IER_ICU_IRQ7=0x08, +IER_LVD_LVD1=0x0B,IER_LVD_LVD2=0x0B, +IER_USB0_USBR0=0x0B, +IER_RTC_ALM=0x0B,IER_RTC_PRD=0x0B, +IER_S12AD_S12ADI0=0x0C,IER_S12AD_GBADI=0x0C, +IER_ELC_ELSR18I=0x0D, +IER_MTU0_TGIA0=0x0E,IER_MTU0_TGIB0=0x0E,IER_MTU0_TGIC0=0x0E,IER_MTU0_TGID0=0x0E,IER_MTU0_TCIV0=0x0E,IER_MTU0_TGIE0=0x0E,IER_MTU0_TGIF0=0x0F, +IER_MTU1_TGIA1=0x0F,IER_MTU1_TGIB1=0x0F,IER_MTU1_TCIV1=0x0F,IER_MTU1_TCIU1=0x0F, +IER_MTU2_TGIA2=0x0F,IER_MTU2_TGIB2=0x0F,IER_MTU2_TCIV2=0x0F,IER_MTU2_TCIU2=0x10, +IER_MTU3_TGIA3=0x10,IER_MTU3_TGIB3=0x10,IER_MTU3_TGIC3=0x10,IER_MTU3_TGID3=0x10,IER_MTU3_TCIV3=0x10, +IER_MTU4_TGIA4=0x10,IER_MTU4_TGIB4=0x10,IER_MTU4_TGIC4=0x11,IER_MTU4_TGID4=0x11,IER_MTU4_TCIV4=0x11, +IER_MTU5_TGIU5=0x11,IER_MTU5_TGIV5=0x11,IER_MTU5_TGIW5=0x11, +IER_POE_OEI1=0x15,IER_POE_OEI2=0x15, +IER_SCI1_ERI1=0x1B,IER_SCI1_RXI1=0x1B,IER_SCI1_TXI1=0x1B,IER_SCI1_TEI1=0x1B, +IER_SCI5_ERI5=0x1B,IER_SCI5_RXI5=0x1B,IER_SCI5_TXI5=0x1C,IER_SCI5_TEI5=0x1C, +IER_SCI12_ERI12=0x1D,IER_SCI12_RXI12=0x1D,IER_SCI12_TXI12=0x1E,IER_SCI12_TEI12=0x1E,IER_SCI12_SCIX0=0x1E,IER_SCI12_SCIX1=0x1E,IER_SCI12_SCIX2=0x1E,IER_SCI12_SCIX3=0x1E, +IER_RIIC0_EEI0=0x1E,IER_RIIC0_RXI0=0x1E,IER_RIIC0_TXI0=0x1F,IER_RIIC0_TEI0=0x1F +}; + +enum enum_ipr { +IPR_BSC_BUSERR=0, +IPR_ICU_SWINT=3, +IPR_CMT0_CMI0=4, +IPR_CMT1_CMI1=5, +IPR_CAC_FERRF=32,IPR_CAC_MENDF=33,IPR_CAC_OVFF=34, +IPR_USB0_D0FIFO0=36,IPR_USB0_D1FIFO0=37,IPR_USB0_USBI0=38, +IPR_RSPI0_SPEI0=44,IPR_RSPI0_SPRI0=44,IPR_RSPI0_SPTI0=44,IPR_RSPI0_SPII0=44, +IPR_DOC_DOPCF=57, +IPR_RTC_CUP=63, +IPR_ICU_IRQ0=64,IPR_ICU_IRQ1=65,IPR_ICU_IRQ2=66,IPR_ICU_IRQ3=67,IPR_ICU_IRQ4=68,IPR_ICU_IRQ5=69,IPR_ICU_IRQ6=70,IPR_ICU_IRQ7=71, +IPR_LVD_LVD1=88,IPR_LVD_LVD2=89, +IPR_USB0_USBR0=90, +IPR_RTC_ALM=92,IPR_RTC_PRD=93, +IPR_S12AD_S12ADI0=102,IPR_S12AD_GBADI=103, +IPR_ELC_ELSR18I=106, +IPR_MTU0_TGIA0=114,IPR_MTU0_TGIB0=114,IPR_MTU0_TGIC0=114,IPR_MTU0_TGID0=114,IPR_MTU0_TCIV0=118,IPR_MTU0_TGIE0=118,IPR_MTU0_TGIF0=118, +IPR_MTU1_TGIA1=121,IPR_MTU1_TGIB1=121,IPR_MTU1_TCIV1=123,IPR_MTU1_TCIU1=123, +IPR_MTU2_TGIA2=125,IPR_MTU2_TGIB2=125,IPR_MTU2_TCIV2=127,IPR_MTU2_TCIU2=127, +IPR_MTU3_TGIA3=129,IPR_MTU3_TGIB3=129,IPR_MTU3_TGIC3=129,IPR_MTU3_TGID3=129,IPR_MTU3_TCIV3=133, +IPR_MTU4_TGIA4=134,IPR_MTU4_TGIB4=134,IPR_MTU4_TGIC4=134,IPR_MTU4_TGID4=134,IPR_MTU4_TCIV4=138, +IPR_MTU5_TGIU5=139,IPR_MTU5_TGIV5=139,IPR_MTU5_TGIW5=139, +IPR_POE_OEI1=170,IPR_POE_OEI2=171, +IPR_SCI1_ERI1=218,IPR_SCI1_RXI1=218,IPR_SCI1_TXI1=218,IPR_SCI1_TEI1=218, +IPR_SCI5_ERI5=222,IPR_SCI5_RXI5=222,IPR_SCI5_TXI5=222,IPR_SCI5_TEI5=222, +IPR_SCI12_ERI12=238,IPR_SCI12_RXI12=238,IPR_SCI12_TXI12=238,IPR_SCI12_TEI12=238,IPR_SCI12_SCIX0=242,IPR_SCI12_SCIX1=243,IPR_SCI12_SCIX2=244,IPR_SCI12_SCIX3=245, +IPR_RIIC0_EEI0=246,IPR_RIIC0_RXI0=247,IPR_RIIC0_TXI0=248,IPR_RIIC0_TEI0=249, +IPR_BSC_=0, +IPR_CMT0_=4, +IPR_CMT1_=5, +IPR_RSPI0_=44, +IPR_DOC_=57, +IPR_ELC_=106, +IPR_MTU1_TGI=121, +IPR_MTU1_TCI=123, +IPR_MTU2_TGI=125, +IPR_MTU2_TCI=127, +IPR_MTU3_TGI=129, +IPR_MTU4_TGI=134, +IPR_MTU5_=139, +IPR_MTU5_TGI=139, +IPR_SCI1_=218, +IPR_SCI5_=222 +}; + +#define IEN_BSC_BUSERR IEN0 +#define IEN_ICU_SWINT IEN3 +#define IEN_CMT0_CMI0 IEN4 +#define IEN_CMT1_CMI1 IEN5 +#define IEN_CAC_FERRF IEN0 +#define IEN_CAC_MENDF IEN1 +#define IEN_CAC_OVFF IEN2 +#define IEN_USB0_D0FIFO0 IEN4 +#define IEN_USB0_D1FIFO0 IEN5 +#define IEN_USB0_USBI0 IEN6 +#define IEN_RSPI0_SPEI0 IEN4 +#define IEN_RSPI0_SPRI0 IEN5 +#define IEN_RSPI0_SPTI0 IEN6 +#define IEN_RSPI0_SPII0 IEN7 +#define IEN_DOC_DOPCF IEN1 +#define IEN_RTC_CUP IEN7 +#define IEN_ICU_IRQ0 IEN0 +#define IEN_ICU_IRQ1 IEN1 +#define IEN_ICU_IRQ2 IEN2 +#define IEN_ICU_IRQ3 IEN3 +#define IEN_ICU_IRQ4 IEN4 +#define IEN_ICU_IRQ5 IEN5 +#define IEN_ICU_IRQ6 IEN6 +#define IEN_ICU_IRQ7 IEN7 +#define IEN_LVD_LVD1 IEN0 +#define IEN_LVD_LVD2 IEN1 +#define IEN_USB0_USBR0 IEN2 +#define IEN_RTC_ALM IEN4 +#define IEN_RTC_PRD IEN5 +#define IEN_S12AD_S12ADI0 IEN6 +#define IEN_S12AD_GBADI IEN7 +#define IEN_ELC_ELSR18I IEN2 +#define IEN_MTU0_TGIA0 IEN2 +#define IEN_MTU0_TGIB0 IEN3 +#define IEN_MTU0_TGIC0 IEN4 +#define IEN_MTU0_TGID0 IEN5 +#define IEN_MTU0_TCIV0 IEN6 +#define IEN_MTU0_TGIE0 IEN7 +#define IEN_MTU0_TGIF0 IEN0 +#define IEN_MTU1_TGIA1 IEN1 +#define IEN_MTU1_TGIB1 IEN2 +#define IEN_MTU1_TCIV1 IEN3 +#define IEN_MTU1_TCIU1 IEN4 +#define IEN_MTU2_TGIA2 IEN5 +#define IEN_MTU2_TGIB2 IEN6 +#define IEN_MTU2_TCIV2 IEN7 +#define IEN_MTU2_TCIU2 IEN0 +#define IEN_MTU3_TGIA3 IEN1 +#define IEN_MTU3_TGIB3 IEN2 +#define IEN_MTU3_TGIC3 IEN3 +#define IEN_MTU3_TGID3 IEN4 +#define IEN_MTU3_TCIV3 IEN5 +#define IEN_MTU4_TGIA4 IEN6 +#define IEN_MTU4_TGIB4 IEN7 +#define IEN_MTU4_TGIC4 IEN0 +#define IEN_MTU4_TGID4 IEN1 +#define IEN_MTU4_TCIV4 IEN2 +#define IEN_MTU5_TGIU5 IEN3 +#define IEN_MTU5_TGIV5 IEN4 +#define IEN_MTU5_TGIW5 IEN5 +#define IEN_POE_OEI1 IEN2 +#define IEN_POE_OEI2 IEN3 +#define IEN_SCI1_ERI1 IEN2 +#define IEN_SCI1_RXI1 IEN3 +#define IEN_SCI1_TXI1 IEN4 +#define IEN_SCI1_TEI1 IEN5 +#define IEN_SCI5_ERI5 IEN6 +#define IEN_SCI5_RXI5 IEN7 +#define IEN_SCI5_TXI5 IEN0 +#define IEN_SCI5_TEI5 IEN1 +#define IEN_SCI12_ERI12 IEN6 +#define IEN_SCI12_RXI12 IEN7 +#define IEN_SCI12_TXI12 IEN0 +#define IEN_SCI12_TEI12 IEN1 +#define IEN_SCI12_SCIX0 IEN2 +#define IEN_SCI12_SCIX1 IEN3 +#define IEN_SCI12_SCIX2 IEN4 +#define IEN_SCI12_SCIX3 IEN5 +#define IEN_RIIC0_EEI0 IEN6 +#define IEN_RIIC0_RXI0 IEN7 +#define IEN_RIIC0_TXI0 IEN0 +#define IEN_RIIC0_TEI0 IEN1 + +#define VECT_BSC_BUSERR 16 +#define VECT_ICU_SWINT 27 +#define VECT_CMT0_CMI0 28 +#define VECT_CMT1_CMI1 29 +#define VECT_CAC_FERRF 32 +#define VECT_CAC_MENDF 33 +#define VECT_CAC_OVFF 34 +#define VECT_USB0_D0FIFO0 36 +#define VECT_USB0_D1FIFO0 37 +#define VECT_USB0_USBI0 38 +#define VECT_RSPI0_SPEI0 44 +#define VECT_RSPI0_SPRI0 45 +#define VECT_RSPI0_SPTI0 46 +#define VECT_RSPI0_SPII0 47 +#define VECT_DOC_DOPCF 57 +#define VECT_RTC_CUP 63 +#define VECT_ICU_IRQ0 64 +#define VECT_ICU_IRQ1 65 +#define VECT_ICU_IRQ2 66 +#define VECT_ICU_IRQ3 67 +#define VECT_ICU_IRQ4 68 +#define VECT_ICU_IRQ5 69 +#define VECT_ICU_IRQ6 70 +#define VECT_ICU_IRQ7 71 +#define VECT_LVD_LVD1 88 +#define VECT_LVD_LVD2 89 +#define VECT_USB0_USBR0 90 +#define VECT_RTC_ALM 92 +#define VECT_RTC_PRD 93 +#define VECT_S12AD_S12ADI0 102 +#define VECT_S12AD_GBADI 103 +#define VECT_ELC_ELSR18I 106 +#define VECT_MTU0_TGIA0 114 +#define VECT_MTU0_TGIB0 115 +#define VECT_MTU0_TGIC0 116 +#define VECT_MTU0_TGID0 117 +#define VECT_MTU0_TCIV0 118 +#define VECT_MTU0_TGIE0 119 +#define VECT_MTU0_TGIF0 120 +#define VECT_MTU1_TGIA1 121 +#define VECT_MTU1_TGIB1 122 +#define VECT_MTU1_TCIV1 123 +#define VECT_MTU1_TCIU1 124 +#define VECT_MTU2_TGIA2 125 +#define VECT_MTU2_TGIB2 126 +#define VECT_MTU2_TCIV2 127 +#define VECT_MTU2_TCIU2 128 +#define VECT_MTU3_TGIA3 129 +#define VECT_MTU3_TGIB3 130 +#define VECT_MTU3_TGIC3 131 +#define VECT_MTU3_TGID3 132 +#define VECT_MTU3_TCIV3 133 +#define VECT_MTU4_TGIA4 134 +#define VECT_MTU4_TGIB4 135 +#define VECT_MTU4_TGIC4 136 +#define VECT_MTU4_TGID4 137 +#define VECT_MTU4_TCIV4 138 +#define VECT_MTU5_TGIU5 139 +#define VECT_MTU5_TGIV5 140 +#define VECT_MTU5_TGIW5 141 +#define VECT_POE_OEI1 170 +#define VECT_POE_OEI2 171 +#define VECT_SCI1_ERI1 218 +#define VECT_SCI1_RXI1 219 +#define VECT_SCI1_TXI1 220 +#define VECT_SCI1_TEI1 221 +#define VECT_SCI5_ERI5 222 +#define VECT_SCI5_RXI5 223 +#define VECT_SCI5_TXI5 224 +#define VECT_SCI5_TEI5 225 +#define VECT_SCI12_ERI12 238 +#define VECT_SCI12_RXI12 239 +#define VECT_SCI12_TXI12 240 +#define VECT_SCI12_TEI12 241 +#define VECT_SCI12_SCIX0 242 +#define VECT_SCI12_SCIX1 243 +#define VECT_SCI12_SCIX2 244 +#define VECT_SCI12_SCIX3 245 +#define VECT_RIIC0_EEI0 246 +#define VECT_RIIC0_RXI0 247 +#define VECT_RIIC0_TXI0 248 +#define VECT_RIIC0_TEI0 249 + +#define MSTP_DTC SYSTEM.MSTPCRA.BIT.MSTPA28 +#define MSTP_DA SYSTEM.MSTPCRA.BIT.MSTPA19 +#define MSTP_S12AD SYSTEM.MSTPCRA.BIT.MSTPA17 +#define MSTP_CMT SYSTEM.MSTPCRA.BIT.MSTPA15 +#define MSTP_CMT0 SYSTEM.MSTPCRA.BIT.MSTPA15 +#define MSTP_CMT1 SYSTEM.MSTPCRA.BIT.MSTPA15 +#define MSTP_MTU SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU0 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU1 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU2 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU3 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU4 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_MTU5 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_SCI1 SYSTEM.MSTPCRB.BIT.MSTPB30 +#define MSTP_SMCI1 SYSTEM.MSTPCRB.BIT.MSTPB30 +#define MSTP_SCI5 SYSTEM.MSTPCRB.BIT.MSTPB26 +#define MSTP_SMCI5 SYSTEM.MSTPCRB.BIT.MSTPB26 +#define MSTP_CRC SYSTEM.MSTPCRB.BIT.MSTPB23 +#define MSTP_RIIC0 SYSTEM.MSTPCRB.BIT.MSTPB21 +#define MSTP_USB0 SYSTEM.MSTPCRB.BIT.MSTPB19 +#define MSTP_RSPI0 SYSTEM.MSTPCRB.BIT.MSTPB17 +#define MSTP_ELC SYSTEM.MSTPCRB.BIT.MSTPB9 +#define MSTP_DOC SYSTEM.MSTPCRB.BIT.MSTPB6 +#define MSTP_SCI12 SYSTEM.MSTPCRB.BIT.MSTPB4 +#define MSTP_SMCI12 SYSTEM.MSTPCRB.BIT.MSTPB4 +#define MSTP_CAC SYSTEM.MSTPCRC.BIT.MSTPC19 +#define MSTP_RAM0 SYSTEM.MSTPCRC.BIT.MSTPC0 + +#define __IR( x ) ICU.IR[ IR ## x ].BIT.IR +#define _IR( x ) __IR( x ) +#define IR( x , y ) _IR( _ ## x ## _ ## y ) +#define __DTCE( x ) ICU.DTCER[ DTCE ## x ].BIT.DTCE +#define _DTCE( x ) __DTCE( x ) +#define DTCE( x , y ) _DTCE( _ ## x ## _ ## y ) +#define __IEN( x ) ICU.IER[ IER ## x ].BIT.IEN ## x +#define _IEN( x ) __IEN( x ) +#define IEN( x , y ) _IEN( _ ## x ## _ ## y ) +#define __IPR( x ) ICU.IPR[ IPR ## x ].BIT.IPR +#define _IPR( x ) __IPR( x ) +#define IPR( x , y ) _IPR( _ ## x ## _ ## y ) +#define __VECT( x ) VECT ## x +#define _VECT( x ) __VECT( x ) +#define VECT( x , y ) _VECT( _ ## x ## _ ## y ) +#define __MSTP( x ) MSTP ## x +#define _MSTP( x ) __MSTP( x ) +#define MSTP( x ) _MSTP( _ ## x ) + +#define BSC (*(volatile struct st_bsc *)0x81300) +#define CAC (*(volatile struct st_cac *)0x8B000) +#define CMT (*(volatile struct st_cmt *)0x88000) +#define CMT0 (*(volatile struct st_cmt0 *)0x88002) +#define CMT1 (*(volatile struct st_cmt0 *)0x88008) +#define CRC (*(volatile struct st_crc *)0x88280) +#define DA (*(volatile struct st_da *)0x880C0) +#define DOC (*(volatile struct st_doc *)0x8B080) +#define DTC (*(volatile struct st_dtc *)0x82400) +#define ELC (*(volatile struct st_elc *)0x8B100) +#define FLASH (*(volatile struct st_flash *)0x7FC090) +#define ICU (*(volatile struct st_icu *)0x87000) +#define IWDT (*(volatile struct st_iwdt *)0x88030) +#define MPC (*(volatile struct st_mpc *)0x8C11F) +#define MTU (*(volatile struct st_mtu *)0x8860A) +#define MTU0 (*(volatile struct st_mtu0 *)0x88690) +#define MTU1 (*(volatile struct st_mtu1 *)0x88690) +#define MTU2 (*(volatile struct st_mtu2 *)0x88692) +#define MTU3 (*(volatile struct st_mtu3 *)0x88600) +#define MTU4 (*(volatile struct st_mtu4 *)0x88600) +#define MTU5 (*(volatile struct st_mtu5 *)0x88694) +#define POE (*(volatile struct st_poe *)0x88900) +#define PORT (*(volatile struct st_port *)0x8C120) +#define PORT0 (*(volatile struct st_port0 *)0x8C000) +#define PORT1 (*(volatile struct st_port1 *)0x8C001) +#define PORT2 (*(volatile struct st_port2 *)0x8C002) +#define PORT3 (*(volatile struct st_port3 *)0x8C003) +#define PORT4 (*(volatile struct st_port4 *)0x8C004) +#define PORT5 (*(volatile struct st_port5 *)0x8C005) +#define PORTA (*(volatile struct st_porta *)0x8C00A) +#define PORTB (*(volatile struct st_portb *)0x8C00B) +#define PORTC (*(volatile struct st_portc *)0x8C00C) +#define PORTE (*(volatile struct st_porte *)0x8C00E) +#define RIIC0 (*(volatile struct st_riic *)0x88300) +#define RSPI0 (*(volatile struct st_rspi *)0x88380) +#define RTC (*(volatile struct st_rtc *)0x8C400) +#define RTCB (*(volatile struct st_rtcb *)0x8C402) +#define S12AD (*(volatile struct st_s12ad *)0x89000) +#define SCI1 (*(volatile struct st_sci1 *)0x8A020) +#define SCI5 (*(volatile struct st_sci1 *)0x8A0A0) +#define SCI12 (*(volatile struct st_sci12 *)0x8B300) +#define SMCI1 (*(volatile struct st_smci *)0x8A020) +#define SMCI5 (*(volatile struct st_smci *)0x8A0A0) +#define SMCI12 (*(volatile struct st_smci *)0x8B300) +#define SYSTEM (*(volatile struct st_system *)0x80000) +#define USB0 (*(volatile struct st_usb *)0xA0000) +#endif + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/mcu/rx111/mcu_info.h b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/mcu/rx111/mcu_info.h new file mode 100644 index 000000000..6ed672bf5 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/mcu/rx111/mcu_info.h @@ -0,0 +1,112 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2011 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : mcu_info.h +* Device(s) : RX111 +* Description : Information about the MCU on this board (RSKRX111). +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 08.11.2012 0.01 Beta Release +***********************************************************************************************************************/ + +#ifndef _MCU_INFO +#define _MCU_INFO + +/*********************************************************************************************************************** +Includes , "Project Includes" +***********************************************************************************************************************/ +/* Gets MCU configuration information. */ +#include "r_bsp_config.h" + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +/* MCU Series. */ +#if MCU_PART_SERIES == 0x0 + #define MCU_SERIES_RX100 (1) +#else + #error "ERROR - MCU_PART_SERIES - Unknown MCU Series chosen in r_bsp_config.h" +#endif + +/* MCU Group name. */ +#if MCU_PART_GROUP == 0x1 + #define MCU_RX111 (1) + #define MCU_RX11x (1) +#else + #error "ERROR - MCU_PART_GROUP - Unknown MCU Group chosen in r_bsp_config.h" +#endif + +/* Package. */ +#if MCU_PART_PACKAGE == 0x0 + #define PACKAGE_LFQFP64 (1) +#elif MCU_PART_PACKAGE == 0x1 + #define PACKAGE_LQFP64 (1) +#elif MCU_PART_PACKAGE == 0x2 + #define PACKAGE_TFLGA64 (1) +#elif MCU_PART_PACKAGE == 0x3 + #define PACKAGE_LFQFP48 (1) +#elif MCU_PART_PACKAGE == 0x4 + #define PACKAGE_VQFN48 (1) +#elif MCU_PART_PACKAGE == 0x5 + #define PACKAGE_HWQFN36 (1) +#elif MCU_PART_PACKAGE == 0x6 + #define PACKAGE_WFLGA36 (1) +#elif MCU_PART_PACKAGE == 0x7 + #define PACKAGE_SSOP36 (1) +#else + #error "ERROR - MCU_PART_PACKAGE - Unknown package chosen in r_bsp_config.h" +#endif + +/* Memory size of your MCU. */ +#if MCU_PART_MEMORY_SIZE == 0x0 // "J" parts + #define ROM_SIZE_BYTES (16384) + #define RAM_SIZE_BYTES (8192) + #define DF_SIZE_BYTES (8192) +#elif MCU_PART_MEMORY_SIZE == 0x1 + #define ROM_SIZE_BYTES (32768) + #define RAM_SIZE_BYTES (10240) + #define DF_SIZE_BYTES (8192) +#elif MCU_PART_MEMORY_SIZE == 0x3 + #define ROM_SIZE_BYTES (65536) + #define RAM_SIZE_BYTES (10240) + #define DF_SIZE_BYTES (8192) +#elif MCU_PART_MEMORY_SIZE == 0x4 + #define ROM_SIZE_BYTES (98304) + #define RAM_SIZE_BYTES (16384) + #define DF_SIZE_BYTES (8192) +#elif MCU_PART_MEMORY_SIZE == 0x5 + #define ROM_SIZE_BYTES (131072) + #define RAM_SIZE_BYTES (16384) + #define DF_SIZE_BYTES (8192) +#else + #error "ERROR - MCU_PART_MEMORY_SIZE - Unknown memory size chosen in r_bsp_config.h" +#endif + +/* System clock speed in Hz. */ +#define ICLK_HZ (((XTAL_HZ/PLL_DIV) * PLL_MUL) / ICK_DIV) +/* Peripheral Module Clock B speed in Hz. */ +#define PCLKB_HZ (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKB_DIV) +/* Peripheral Module Clock D speed in Hz. */ +#define PCLKD_HZ (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKD_DIV) +/* FlashIF clock speed in Hz. */ +#define FCLK_HZ (((XTAL_HZ/PLL_DIV) * PLL_MUL) / FCK_DIV) + +#endif /* _MCU_INFO */ + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/mcu/rx111/typedefine.h b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/mcu/rx111/typedefine.h new file mode 100644 index 000000000..a52e28687 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/mcu/rx111/typedefine.h @@ -0,0 +1,25 @@ +/***********************************************************************/ +/* */ +/* PROJECT NAME : RTOSDemo_GCC */ +/* FILE : typedefine.h */ +/* DESCRIPTION : Aliases of Integer Type */ +/* CPU SERIES : RX100 */ +/* CPU TYPE : RX111 */ +/* */ +/* This file is generated by e2studio. */ +/* */ +/***********************************************************************/ + + + + +typedef signed char _SBYTE; +typedef unsigned char _UBYTE; +typedef signed short _SWORD; +typedef unsigned short _UWORD; +typedef signed int _SINT; +typedef unsigned int _UINT; +typedef signed long _SDWORD; +typedef unsigned long _UDWORD; +typedef signed long long _SQWORD; +typedef unsigned long long _UQWORD; diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/platform.h b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/platform.h new file mode 100644 index 000000000..3427aab94 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/platform.h @@ -0,0 +1,88 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : platform.h +* Description : The user chooses which MCU and board they are developing for in this file. If the board you are using +* is not listed below, please add your own or use the default 'User Board'. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* History : DD.MM.YYYY Version Description +* : 30.11.2011 1.00 First Release +* : 13.01.2012 1.10 Moved from having platform defined using macro defintion, to having platform defined +* by choosing an include path. This makes this file simpler and cleans up the issue +* where HEW shows all header files for all platforms under 'Dependencies'. +* : 14.02.2012 1.20 Added RX210 BSP. +* : 18.04.2012 1.30 Updated to v0.70 of FIT S/W Spec and v0.20 of FIT r_bsp Spec. This includes adding +* locking.c and locking.h in board folders. Also, r_bsp can now be configured through +* r_bsp_config.h. +* : 26.06.2012 1.40 Added new options such as exception callbacks and the ability to choose your MCU using +* its part number in r_bsp_config.h. Moved mcu_info.h to the 'mcu' folder. Made an effort +* to remove any extra files that the user would need to touch. Removed the flash_options.c +* file and put its contents in vecttbl.c. +* : 17.07.2012 1.50 Fixed bug with exception callback function names. Added BCLK_OUTPUT and SDCLK_OUTPUT +* macro options in r_bsp_config.h. Added some extra code to handle exceptions in +* vecttbl.c. Added vecttbl.h so that user has prototypes for exception callbacks. +* : 08.11.2012 1.60 Added RX111 BSP +***********************************************************************************************************************/ + +#ifndef _PLATFORM_H_ +#define _PLATFORM_H_ + +/*********************************************************************************************************************** +DEFINE YOUR SYSTEM - UNCOMMENT THE INCLUDE PATH FOR THE PLATFORM YOU ARE USING. +***********************************************************************************************************************/ +/* RSKRX610 */ +//#include "./board/rskrx610/r_bsp.h" + +/* RSKRX62N */ +//#include "./board/rskrx62n/r_bsp.h" + +/* RSKRX62T */ +//#include "./board/rskrx62t/r_bsp.h" + +/* RDKRX62N */ +//#include "./board/rdkrx62n/r_bsp.h" + +/* RSKRX630 */ +//#include "./board/rskrx630/r_bsp.h" + +/* RSKRX63N */ +//#include "./board/rskrx63n/r_bsp.h" + +/* RDKRX63N */ +//#include "./board/rdkrx63n/r_bsp.h" + +/* RSKRX210 */ +//#include "./board/rskrx210/r_bsp.h" + +/* RSKRX111 */ +#include "./board/rskrx111/r_bsp.h" + +/* User Board - Define your own board here. */ +//#include "./board/user/r_bsp.h" + +/*********************************************************************************************************************** +MAKE SURE AT LEAST ONE PLATFORM WAS DEFINED - DO NOT EDIT BELOW THIS POINT +***********************************************************************************************************************/ +#ifndef PLATFORM_DEFINED +#error "Error - No platform defined in platform.h!" +#endif + +#endif /* _PLATFORM_H_ */ + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/r_bsp_config.h b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/r_bsp_config.h new file mode 100644 index 000000000..537479e8a --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/r_bsp_config.h @@ -0,0 +1,250 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No +* other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. TO THE MAXIMUM +* EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES +* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS +* SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability of +* this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ +/*********************************************************************************************************************** +* File Name : r_bsp_config_reference.c +* Device(s) : RX111 +* Description : The file r_bsp_config.h is used to configure your BSP. r_bsp_config.h should be included +* somewhere in your package so that the r_bsp code has access to it. This file (r_bsp_config_reference.h) +* is just a reference file that the user can use to make their own r_bsp_config.h file. +************************************************************************************************************************ +* History : DD.MM.YYYY Version Description +* : 07.11.2012 0.01 Beta Release +***********************************************************************************************************************/ +#ifndef R_BSP_CONFIG_REF_HEADER_FILE +#define R_BSP_CONFIG_REF_HEADER_FILE + +/*********************************************************************************************************************** +Configuration Options +***********************************************************************************************************************/ +/* Enter the product part number for your MCU. This information will be used to obtain information about your MCU such + as package and memory size. + To help parse this information, the part number will be defined using multiple macros. + R 5 F 51 11 5 A D FM + | | | | | | | | | Macro Name Description + | | | | | | | | |__MCU_PART_PACKAGE = Package type, number of pins, and pin pitch + | | | | | | | |____not used = Products with wide temperature range (D: -40 to 85C G: -40 to 105C) + | | | | | | |______not used = Blank + | | | | | |________MCU_PART_MEMORY_SIZE = ROM, RAM, and Data Flash Capacity + | | | | |___________MCU_PART_GROUP = Group name + | | | |______________MCU_PART_SERIES = Series name + | | |________________MCU_PART_MEMORY_TYPE = Type of memory (Flash) + | |__________________not used = Renesas MCU + |____________________not used = Renesas semiconductor product. + */ + +/* Package type. Set the macro definition based on values below: + Character(s) = Value for macro = Package Type/Number of Pins/Pin Pitch + FM = 0x0 = LFQFP/64/0.50 + FK = 0x1 = LQFP/64/0.80 + LF = 0x2 = TFLGA/64/0.50 + FL = 0x3 = LFQFP/48/0.50 + NE = 0x4 = VQFN/48/0.50 + NC = 0x5 = HWQFN/36/0.50 + LM = 0x6 = WFLGA/36/0.50 + SB = 0x7 = SSOP/36/0.80 +*/ +#define MCU_PART_PACKAGE (0x0) + +/* ROM, RAM, and Data Flash Capacity. + Character(s) = Value for macro = ROM Size/Ram Size/Data Flash Size + 5 = 0x5 = 128KB/16KB/8KB + 4 = 0x4 = 96KB/16KB/8KB + 3 = 0x3 = 64KB/10KB/8KB + 1 = 0x1 = 32KB/10KB/8KB + J = 0x0 = 16KB/8KB/8KB +*/ +#define MCU_PART_MEMORY_SIZE (0x5) + +/* Group name. + Character(s) = Value for macro = Description + 10 = 0x0 = RX110 Group + 11 = 0x1 = RX111 Group +*/ +#define MCU_PART_GROUP (0x1) + +/* Series name. + Character(s) = Value for macro = Description + 51 = 0x0 = RX100 Series +*/ +#define MCU_PART_SERIES (0x0) + +/* Memory type. + Character(s) = Value for macro = Description + F = 0x0 = Flash memory version +*/ +#define MCU_PART_MEMORY_TYPE (0x0) + +/* The 'BSP_DECLARE_STACK' macro is checked so that the stack is only declared in one place (resetprg.c). Every time a + '#pragma stacksize' is encountered, the stack size is increased. This prevents multiplication of stack size. */ +#if defined(BSP_DECLARE_STACK) +/* User Stack size in bytes. The Renesas RX toolchain sets the stack size using the #pragma stacksize directive. */ +#pragma stacksize su=0x400 +/* Interrupt Stack size in bytes. The Renesas RX toolchain sets the stack size using the #pragma stacksize directive. */ +#pragma stacksize si=0x100 +#endif + +/* Heap size in bytes. */ +#define HEAP_BYTES (0x001) + +/* After reset MCU will operate in Supervisor mode. To switch to User mode, set this macro to '1'. For more information + on the differences between these 2 modes see the CPU >> Processor Mode section of your MCU's hardware manual. + 0 = Stay in Supervisor mode. + 1 = Switch to User mode. +*/ +#define RUN_IN_USER_MODE (0) + + +/* This macro lets other modules no if a RTOS is being used. + 0 = RTOS is not used. + 1 = RTOS is used. +*/ +#define RTOS_USED (0) + +/* Clock source select (CKSEL). + 0 = Low Speed On-Chip Oscillator (LOCO) + 1 = High Speed On-Chip Oscillator (HOCO) + 2 = Main Clock Oscillator + 3 = Sub-Clock Oscillator + 4 = PLL Circuit +*/ +#define CLOCK_SOURCE (4) // GI org 4 + +/* Clock configuration options. + The input clock frequency is specified and then the system clocks are set by specifying the multipliers used. The + multiplier settings are used to set the clock registers in resetprg.c. If a 16MHz clock is used and the + ICLK is 24MHz, PCLKB is 24MHz, FCLK is 24MHz, PCLKD is 24MHz, and CKO is 1MHz then the + settings would be: + + XTAL_HZ = 16000000 + PLL_DIV = 2 + PLL_MUL = 6 (16MHz x 3 = 48MHz) + ICK_DIV = 2 : System Clock (ICLK) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / ICK_DIV) = 24MHz + PCKB_DIV = 2 : Peripheral Clock B (PCLKB) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKB_DIV) = 24MHz + PCKD_DIV = 2 : Peripheral Clock D (PCLKD) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKD_DIV) = 24MHz + FCK_DIV = 2 : Flash IF Clock (FCLK) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / FCK_DIV) = 24MHz +*/ +/* XTAL - Input clock frequency in Hz */ +#define XTAL_HZ (16000000) +/* PLL Input Frequency Divider Select (PLIDIV). + Available divisors = /1 (no division), /2, /4 +*/ +#define PLL_DIV (2) // GI org 2 +/* PLL Frequency Multiplication Factor Select (STC). + Available multipliers = x6, x8 +*/ +#define PLL_MUL (6) // GI org 6 +/* System Clock Divider (ICK). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define ICK_DIV (2) // NOTE: ICLK CANNOT BE SLOWER THAN PCLK! +/* Peripheral Module Clock B Divider (PCKB). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define PCKB_DIV (2) // GI org 2 +/* Peripheral Module Clock D Divider (PCKD). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define PCKD_DIV (2) +/* Flash IF Clock Divider (FCK). + Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64 +*/ +#define FCK_DIV (2) + +/* Below are callback functions that can be used for detecting MCU exceptions, undefined interrupt sources, and + bus errors. If the user wishes to be alerted of these events then they will need to define the macro as a + function to be called when the event occurs. For example, if the user wanted the function + excep_undefined_instr_isr() to be called when an undefined interrupt source ISR is triggered then they would + do the following: + #define UNDEFINED_INT_ISR_CALLBACK undefined_interrupt_cb + If the user does not wish to be alerted of these events then they should comment out the macros. + + NOTE: When a callback function is called it will be called from within a ISR. This means that the function + will essentially be an interrupt and will hold off other interrupts that occur in the system while it + is executing. For this reason, it is recommended to keep these callback functions short as to not + decrease the real-time response of your system. +*/ +/* Callback for Supervisor Instruction Violation Exception. */ +//#define EXCEP_SUPERVISOR_ISR_CALLBACK supervisor_instr_cb + +/* Callback for Undefined Instruction Exception. */ +//#define EXCEP_UNDEFINED_INSTR_ISR_CALLBACK undefined_instr_cb + +/* Callback for Non-maskable Interrupt. */ +//#define NMI_ISR_CALLBACK nmi_cb + +/* Callback for all undefined interrupt vectors. User can set a breakpoint in this function to determine which source + is creating unwanted interrupts. */ +//#define UNDEFINED_INT_ISR_CALLBACK undefined_interrupt_cb + +/* Callback for Bus Error Interrupt. */ +//#define BUS_ERROR_ISR_CALLBACK bus_error_cb + +/* The user has the option of separately choosing little or big endian for the User Application Area */ + +/* Endian mode for User Application. + 0 = Big Endian + Else = Little Endian (Default) +*/ +#define USER_APP_ENDIAN (1) + + +/* Configure WDT and IWDT settings. + OFS0 - Option Function Select Register 0 + OFS0 - Option Function Select Register 0 + b31:b15 Reserved (set to 1) + b14 IWDTSLCSTP - IWDT Sleep Mode Count Stop Control - (0=can't stop count, 1=stop w/some low power modes) + b13 Reserved (set to 1) + b12 IWDTRSTIRQS - IWDT Reset Interrupt Request - What to do on underflow (0=take interrupt, 1=reset MCU) + b11:b10 IWDTRPSS - IWDT Window Start Position Select - (0=25%, 1=50%, 2=75%, 3=100%,don't use) + b9:b8 IWDTRPES - IWDT Window End Position Select - (0=75%, 1=50%, 2=25%, 3=0%,don't use) + b7:b4 IWDTCKS - IWDT Clock Frequency Division Ratio - (0=none, 2=/16, 3 = /32, 4=/64, 0xF=/128, 5=/256) + b3:b2 IWDTTOPS - IWDT Timeout Period Select - (0=128 cycles, 1=512, 2=1024, 3=2048) + b1 IWDTSTRT - IWDT Start Mode Select - (0=auto-start after reset, 1=halt after reset) + b0 Reserved (set to 1) */ +#define OFS0_REG_VALUE (0xFFFFFFFF) //Disable by default + +/* Configure whether voltage detection 1 circuit and HOCO are enabled after reset. + OFS1 - Option Function Select Register 1 + b31:b9 Reserved (set to 1) + b8 HOCOEN - Enable/disable HOCO oscillation after a reset (0=enable, 1=disable) + b7:b4 STUPLVD1LVL - Startup Voltage Monitoring 1 Reset Detection Level Select + 0 1 0 0: 3.10 V + 0 1 0 1: 3.00 V + 0 1 1 0: 2.90 V + 0 1 1 1: 2.79 V + 1 0 0 0: 2.68 V + 1 0 0 1: 2.58 V + 1 0 1 0: 2.48 V + 1 0 1 1: 2.06 V + 1 1 0 0: 1.96 V + 1 1 0 1: 1.86 V + b3:b2 Reserved (set to 1) + b2 STUPLVD1REN - Startup Voltage Monitoring 1 Reset Enable (1=monitoring disabled) + b0 FASTSTUP - Power-On Fast Startup Time (1=normal; read only) */ +#define OFS1_REG_VALUE (0xFFFFFFFF) //Disable by default + +/* Initializes C input & output library functions. + 0 = Disable I/O library initialization in resetprg.c. If you are not using stdio then use this value. + 1 = Enable I/O library initialization in resetprg.c. This is default and needed if you are using stdio. */ +#define IO_LIB_ENABLE (0) + +#endif /* R_BSP_CONFIG_REF_HEADER_FILE */ + + + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/readme.txt b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/readme.txt new file mode 100644 index 000000000..c7ee2b751 --- /dev/null +++ b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_bsp/readme.txt @@ -0,0 +1,100 @@ +r_bsp Package +============= + +Document Number +--------------- +N/A + +Version +------- +v1.60 + +Overview +-------- +The r_bsp package provides a foundation for code to be built on top of. It provides startup code, iodefines, and MCU +information for different boards. There are 2 folders that make up the r_bsp package. The 'mcu' folder has iodefine +files and a file named 'mcu_info.h' for each MCU group. The 'mcu_info.h' file has information about the MCU on the board +and is configured based on the information given in r_bsp_config.h. The information in 'mcu_info.h' is used to help +configure Renesas middleware that uses the r_bsp package. The 'board' folder has a folder with startup code for each +supported board. Which MCU and board is chosen is decided by the settings in 'platform.h'. The user can choose which +board they are using by uncommenting the include path that applies to their board. For example, if you are using the +RSK+RX62N then you would uncomment the #include "./board/rskrx62n/r_bsp.h" include path. Users are encouraged to add +their own boards to the 'board' directory. BSPs are configured by using the r_bsp_config.h file. Each board will have a +reference configuration file named r_bsp_config_reference.h. The user should copy this file to their project, rename it +to r_bsp_config.h, and use the options inside the file to configure the BSP for their project. + +Features +-------- +* Provides foundation to build code on top of. +* Provides MCU startup code. +* Provides SFR access through iodefine.h +* Stores details of MCU in 'mcu_info.h' to help configure Renesas middleware. +* Easily configure BSP through r_bsp_config.h. +* Choose MCU easily by inputting part number details in r_bsp_config.h. +* Provides callbacks for MCU exceptions and the bus error interrupt. + +Limitations +----------- +N/A + +Peripherals Used Directly +------------------------- +N/A + +Required Packages +----------------- +* r_glyph [required if you want to use LCD for RDK boards] +* r_rspi_rx [required if you want to use LCD for RDK boards] + +How to add to your project +-------------------------- +* Copy the r_bsp folder to your project. +* Add an include path to the 'r_bsp' directory. +* Add all of the source files for your board from the 'r_bsp\board\--YOUR_BOARD--' directory to your project. +* Uncomment the include path for your board in 'platform.h' which is located in the 'r_bsp' directory. +* Copy the file r_bsp_config_reference.h from the 'r_bsp\board\--YOUR_BOARD--' directory and copy it to your project's + source code directory. Rename the file r_bsp_config.h. +* Open r_bsp_config.h and use the macros to configure the BSP for your project. + +File Structure +-------------- +r_bsp +| platform.h (choose which board is being used) +| readme.txt +| ++---board (contains supported boards) +| +---rdkrx62n (contains BSP source and header files) +| | +| +---rdkrx63n +| | +| +---rskrx111 +| | +| +---rskrx210 +| | +| +---rskrx610 +| | +| +---rskrx62n +| | +| +---rskrx62t +| | +| +---rskrx630 +| | +| +---rskrx63n +| | +| \---user +| +\---mcu + +---rx111 (contains common files to this MCU group, e.g. iodefine.h) + | + +---rx210 + | + +---rx610 + | + +---rx62n + | + +---rx62t + | + +---rx630 + | + \---rx63n + diff --git a/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/doc/r_switches.docx b/FreeRTOS/Demo/RX100-RSK_IAR/Renesas_Files/r_switches/doc/r_switches.docx new file mode 100644 index 0000000000000000000000000000000000000000..6fe7e86e57a3c6e1844919af139e6de6cfe38d68 GIT binary patch literal 679504 zcmeFYA-~004jpaHLU7^bQ07n8E-6C;&)cZ4rAr7gIYIeHBj!Q)gXz z4_h0;B2Zw;0s!#e@&9-GUmSs9HQDG*M#LVBH-ebD5j8h$Db0hcLV_{3LaK)((hgpZ{svlYdS|+hQPgPZ~K#;Ob@?44%a70ehYJHH|1#!a5e7I-#<l-!;_eAK3`8k)K+^J5W^n=^R_Z-TjtCmT z{dlr{j}|pSqq)Rj+cLfhf%Is`@k7S02N4l=x#~TRakat`p@WP!PV4BE(q&j>YfA-@ zX9;S#iDqwnv3f%*Pk4j*yFrbfX}TbOX;JiJ&IiVkmx8 z64DX1C-C8o!o5f2H!0ndMAPTa&vh% z=Sjf-X8C&l&h-D#?Q8pngJhHZ;Mptrmhk`8zd3g+Vqut+lG_AD{5+Y~l`o6fseY&a zK-`R4ja>%$iQ=*tf>+}w=jNLiND=BHf|K9V3?|dHuJbU4Io`mjl}m+U$CLDiUoR z!q9$$-iX>pa?~l-it3RT+lFzDEH}}p2AX}(vS{T|^jkkVE|eCk5Gr!+-p4fuL`x6B zWuwS*te%H}NRt-b*ZW;0xS7F%|F3)gCnJ=zD7937`9OvR0B`}2K<@TVCJg@u#l+s& z)%LH&{>xkc3mTxm2K)Cq|GT#qHAU;c2IEI?C4f1AZ@nS6Sz9VcB@JQN63iaVhZ$v* zZ;T{;M`~*K^;rkywl%wSSI~p`$7t90^-tGf*H1rm*Bh9YeW@~1coO7*Y1M&aYO-An zeL4QbehqRMH5w?YjUb}6rRVE9`~ov{0cJFNnE=%iNl8;%XUWP58pP?4Dxk=|6e$=p zre&I64L&n!g2|NJ`o-I`neo~}2Odq#|W>X)eACf-k{64|6QFDIY zLK~$80GuFz07!pF{DazmhwMss)9z5hs}~``-JnI#&3(}}ntO_6RXDBG()?{Nm2Z=$ z9{^6Kh+a;mD6N#XEfg@JN`D8C3^-y(NF2)~6vQXl)rY8xf{08q?b=@I>hBma%KdWw z3_sxT@5uc*8v7d}j)R9j17ak|a4u|TJX4ndqqpy>#|AZqu*HmI>e1}Uaeo#b+TY^y zQQx_UW@e@USl4iK$YL1`ez z&*DC3V^2^m+{bvB5u;)?`>f+29~Z0m+E5%N>CciyTXv1P*UmX^y%6`hSao~a=MKP4 z4Em6Rne6XD!^>$i_xmg}wOZYFz-xszE&8((KyZPPr`@1^JTPb4xE_#SdAJy53_3e!_ZYfgr>mobOh3-N z32Y82<}$%r+`6wr+T<^LxQc*ctaq`w3>e!muZJ9oN;JcEY|Icuw6+`v#`@ObQ^~|H z)z|PdMwFTjZuI&V*h$Uuy#qzI98BPV=X67!*7jDc&7T%q$MzLVb@(b~MP6wiPQ+&p z0wv?qW+`)U4L^dZKXcY+A4z$s*EZe>^tqc8eZ5txvRbY1054wH9t_7i3>10SJ`ZMv z$Gt~e9>&JkYZ=}J$R!Uk_FH=0R+u|E|ojXtpCU#=4g zTn#{Wx7-vel5ecK%}QLh?i((mOkZSe63i$j=5RvL&b#n7-{8ZhI(fRif3U-D57kGr z?Y=kdu64g<-xmq_BYra1?KLA}GN+-gJ5RL>PyCorZS67}s%cOSt=-uubu^ScH5iWL zXtLz*$Nb*rjOR;s7_1(ylMlcS*c&vA#xUTf$Hdsp|L|>h&I}>jWHMw-Qo|;FdzuOK zRG_vZ?C&k&;;+>8Tl?Jq?D{$%S>5z8ejSQ5Ow-3KEzJwyAh_V?Uq=x-jk z21jjgW$neH$$4!o-k%(ej&F6&JO1uFzxBTiT>2l@^8C|Dp@7HmOCVKRIR3m13+qsU zId8f$2v3sPLK*$5j&VE z$eF|ocFEaT52y0>S74JFUg9lp#TqjlKBT3DZpUp{tHB@(Mj4W(5o={+U8KwZjQ(I6hiQLN}=yr=nf*58q{4vuMI1U9Pq9Y2Z-Y8-+>!Iw$_HQ z6BZOUbI5RFQCKMQ&~>|oSR*g8DF46~hGOkz3*n>l1kiNuxH|7Oba2;L?jfH))p{$Y+dAUI1sQi z-6p)TOBH4c7-H_+zYUna>ykl?XWJ; zpuoa>JdZ}R$!DUPhrH6@pKrYJ%?Rl?K>Y3NFs8V}FTk_7ng9(1%g}TxjDN(#A56;IBpx!z;!&9BI}+BmX3g#8p{cqNw~c z5pAvSrSAJQE0fV8DWu@K`g$BDUy{k(w=;dO-)bHxLe5ij)quyD_G=w&uEJNCp(<8!&Jd9rB#)Cs z91}Q^#Mu+oXBcr>iZa#1`le9?W-+gmu{^aD7vpMU>YCxq7hus-Sr9;aNZI2&$ z_gnh+=jr!XzW>|WSOy(P+X;;G=8Txb1g6uHT?bi5rr)AZ915p|FYXaP;Cf34wEm-% zgEo6cs#%e$i4sW8oJa>9(wMBrnF;^Ynu~5QQ2&@A`XvBe%!AB4_CE6nxhZA_eP=YJ%`a@oIH{YXp#hw5rbC-i<0yv;8;B3pX>-q(7Kr+sh4DN~CByr? z6y?Q}eYd1U$)XM31@b?<_Wql{-TxXW8#w7Md0VOS)e{Uc`~-27FMv^2qMxr-33`(u zGehIq(759rJ~QyUql+oYUS@<0VTH*}Ne0z4zp^e*KR6Ouh(Ux$B||s05bvo1S_(?F zAmPp27~5>}lTSD)#7EvM?~qsz=)$ZMGx=2eamHY$B(Q6xqD$gpl3TK8m=F!9y{OND-tfJrMA*eC zH5T==@Si+VkuGJ9X!1;i>CJ+5-2+@2EsvM5zG+gzPl{9Qq*cAAnxarKj8%NoZ-su? z(*q{q%7)cfL$=2jPaTW*xX_28RGf>Bo0GwpRS^s4@fy-Q{)sgQMqw-b_xc0%s(H{m z(3n0eRPQ}w3;a3rbDV=2*y^@*S~Y12Mp zqmc{gnlJ<(-k&O(WmfBBIrW1mL(%RU#6unD{2ao{@mrJ^5 zaSnOz%sR%)`_QH%lwFUdSH00~tT(ktfbk|Yh6M8jQo!0;&7aY$G;6%kr(su}oSRy6 zVp$SBbelPhi2CIa57fYyR7#^SM3dbTvOZYaMA2f>K7~9OWLb|tFr`9gwp9}n@voD~7x4>prUw*gUuFh}h>L;ST%p z6=DRJ=8mP^moMvC+X1S@6V7f|HE5qw-D*@NHm{v=h7@n1eo6bM)lK#iHqdMGu>=_c z&!7?}M%BQgn{uE8Qs(nf2bd-LldG8-MCAZlGq-_oS1$((53YqNOKC5Kh&oI5@b4{) zy{!WQ8lAA1nZcp6QUeSE-xT z=}9F@97uLQTf;&MWH2c#^c#P%OW0ZjB3%hG7GKlVNkXlUhHSESoo};IJE^WZjJP+m zkvJliRl`oO?f09`fT&kI1is^2Xa#jc>Ta1E(+S5LL)GUqdZISy;iH)~p%UA+r{ z_kf`?V4WOx%JXiCX$#wnsdopm=VSqgdWrpx)Xe0XcqdlYE~894+Qmg^JusQY#z@>QPDF z<6C{tK~Omn>Xo`90n9eu5Rn@-W0X_g^NDKt=i8%X*ZsEY^?Q5nRI|H1+m9(EP}+$? zNnjgOR9-HH)jt9(jp8i+tFX7$VfsHC-3;cx+slaIZ@gM{K#irX-dkSj3ai%F%VnisiSqZI`+(zE6W_w zllmYZyKd%XH*Rrz)-hQ@Xy8X=@pc|z*TTk6&k$wDs*E5MWzW{bSETtSr2DIl&#fR( zt+6@7LK^r)Lob%wObqFq(Hxpt8naaw&LMD8+g{F%Jt<#u!60if&4{iL{5^YW+x1P#W^rA&FIL62V1opSHEX{i2S3t@+f8ROByI2TyIJ_tCfPjs5T z=#ys2-AG5&T`|&0OVb`Hv<1Vq0|oatiA~<#5|a{2oz zr{)b*E;7l2$cu85;0QP}94ACrFjZCwD(d9DnvUDS)k-w2(I01rUSQ)*8tq39StwPh zLqywltG`lJBXX**0qS~kQ8-=<;!`R@rfTQ#tnU?y$eWZKgan1&}O6g zwC+gGk7J0G5k9fg^SAOzk%985Ah~w6f!=gSB&Pm24*jM%^tdcR!10mwZ0`$hla^5e zMuL)?@_7cnKVz)pH9VL`C9-mOsMe@uk+5xRlUxsUR|_#No*;hGALWRTwA5`H@j&H{ zN;WPbB|^7Fsm0T$&HqKQKq^4B#Tzmq(*iS6HwAdH z$ipDZ7GRaGG9$O2nVxh`Is{p~NUv&bS{AHS8?aUp#5tC#hsb*mwYI$wiN%jqCVvHg9f;deL2ooCUpijtBF%> zPYMLLEKWRtW6=v+f-uZo{_d1$BzXke(vK7a_=BC@9UPuc@CYU=ZacqfhYGpU^9y73 z;NQxI3-SmIwYr(E>iY#nIwU1?D2L}R3?lqhc)%w|3zl%yucePtUi_kan$4yzp)Z=1 zQd2K*bF;}W7ze8ZmyS0G@x%U$g%TvG{5eRgZ#pCy~L0=QJLcL>AdXjU)E zZP5=+nJACswYr;NIs()8Lrl;WjG-+VHQ z+C;P(p<5o-Hkea|6I3pBaW9>gJND{M$92oMl8LsM7aZlZNq&1Me@dz;+AS^(Mj0zD zRNCwGS8mX|{;C8jwCh^_EoNZqfJ`zUv^GFR!ou{O85}H58<3s#Ssndso}R0|9bMg= ziE@J6sYM7boi^N`6J{y8RGC$(XJxny-#_nzLulj3x@1S4gr={7)#Weo$_IOdKt>jD zQ-yo`#7yq9H;(>edejMtJW#ZVas+qQkX+vM4M;k;#r%l;#64P!DT&vWud*Z^&h~FP zPy&&~BT{m-2&Jq2GHMLi1yzv56P|WdB0Pu|;c_JmGK%+g5F(lRh{=G9#j`+|KiezP zM2eCOhvaADnjd_|t+I^c;IS-2ASr-pakf`;x^R1BfNR(;!3W zonPextvVQzmbmC4dUg-l-u15)vLo1fkTHefLMUe+T;wvMctd~B5=;&$#T4zDNVgEO zA6esff}Tu;mOftTNT!mL&m44T7|5n0D)0NUc~Eidr%WBdrf6MC7NxYqQI?EJu;dWd zElog)qVqs+VFRo*(OOJek;C8+FbiQ*+9i^#g#DOOcUGLjfc9~cKHnPSsJd~?)aYi; z{h+4I)mo9WO)`V~?K+xV5yHuL{0vuyuRZQ2dM=RUC#J$NH$&zl01+Yv8h#i=$YSX& zO;lAIny=i@JYQ@=uLd_9g{BZxV%hlnv9AH{74}jZ7>$RZ zln1l?jNWKWzM!Laus_5#=A`X}{wSZ>$5p4)%+T@ASN^C(ko8Bc+LpUO8(=qi@7yH< z{}#CczRv02n+Xp5chnppCAyWFP>I#qkyVHC_J#n(;RMvI#={riN_i)su{7r09f>;# zpH~x>8W+olPH2XG$#q!xTy%B?$!2w~%Da$6+L0UwV}~AIw+}*}nX15p$xQ2sq52s5 zdo?oBuyIt?JJHyBcn*7+8dZv}^`S@PS0cA;P7zZRaLRID+iI#diLLmd{m$AYv~r=H zTX)YBZBGl2a^BM~sn%a~Vv(8DrRQ`yg3i8D#V}IR@!_Nhjn7HSl_zqYO1AEkE-{f1 zP7i7FcKh5qp%qi`glF~5+Y#c>*bhGakFU-=i0|!gFBD&?+p;DZwA+A630%ct!QELg zq58f&>t_TUCJ8}?*oEgZ-p=?yeQ0p!xL#*kYivpadG#7BB@5jTF^FpsgF~(#sQ6&m zP^#S+MxGTQBfvmaPUlkXZbVLG(gGRVFSH_n?2^Oa$*Ap+2jjh_*3!qjz2OlfJsu75 z?Aex|fQiytey~?e&sb;C9}jf=38N9{4_rTf;Db5k2l$g#$B?f?`J)z;BqYPS?lF|i zloOzxH_k2X>;pU2xDrh|_-6aE=k{*=z?yw#MJ$9m6Gh?>ZxRmmM15E){FrzJAjNDo zW{MjInd4>ef5n(1M|k48@VjQMss(0*10;16wx>o?9Nl(O#2c4#P%9E4ytk-K=guev zqN1-=OLy4IKVXS^FS+j_Ux%TD33+5QuiWv{qZUO}cL8fMg9LQ@k^Sg(;e;cY2f!W3 z^aXHlc+uCNm5p*>g{B2oG++mHS$+Vk#neDDJhnFevChp4nm21 z0>zFCRM^t)l5hBF3c!gD58e*w><;VqthUSKy8DcR4Wj!Et6HYvq0Z~gbGV;r=?Hd! zmM1YdmpQ%#PZucK$(_>j|>9P($X2+@^^{5{8#5+ZMz?PF8|*svJA@xw7Rh4aP@ z(&aH|=&zVuO(m`peB7|gE2k*+R3lDuH`_Z7DMDXkT}d-NAa6W8+guWDE;09Vp15oB zGN^MQ3QGq}hBUW{;UO;teoW_yLYX*7A7|Zn?RGDZOdRvljEgvZYbM9#k(`O3_Xu-l zl~~IGI8QBfM+v!=Eg0_7A+??Hg0>%rq>;T=Zeg62VVmHm8L(2j1WGNtN~Y{~`NQf2 z4xhx$#*~JJo4PO|^;YlBa0&5b6Pv;#hhIVT5+OtVMF^#^8_#fG;F+tQ!_{^&(aPd( z*xB^41nd1)pT*!cDslX^B(Nm3_0TyWUwU4I#~v6P>$LNbZ|WuVS@3tjbIC z59si$di1iiDOr`3YU4B*scn?3 zR*#(gniI;pa@P04Xx2#2pO?xlRq6N9O7|*Nqi(D>sikjNMjtKcxFGK1rV^kMR?t@8 z>wAUiaw<$fp)qK{5meSgjRuG%|0?&|xy%-Q`F6`YR_-ysP=OGcy(t&zj- zi-(4eoje1A$$fM04bEgyu;v!Bv_KP&dg3<}6x7n7!7$u+H>%?wk%F&1!(vmyVBpW3 zBVI3Nn2!(e7iRuIdCIu(zyjPIt^8*-`uexIuIeBrG`!2I7!FxLh?IN%1LuMVPQSta z`R8|~bE$O5iSCD{`ZQ;UmaYRCI4!6O$++1nivYIG=Kr%wx-nHW+PKSxEbyxpp;5j= zzG;^$DHsj8fT({yxiX8q(NvN@{Tdg~H<7DCrP{lz_EW3a>E*H|H_!azba6{mN@f!U z3r~e!8LMLQX}^B64(RjP%p&oayPNV+Nrzj_mn&}dv;MfbEx*-&yJ#AlfHv;S^5(i>%<72N0C&9T!bxYLzUhH zH%bQ1#ZIM6_*$+k1dBS+OtOmEnIwtdcMa>;X(e<_9%Z78aq6*lN*fM5H?I_fWL?F( zGzm-a#N|za(k9Wwh*JqXb>g%vH3aW~WtW9-Q04TmpQV7QdJkXW$8Ec6zZS&!Po5f3 zcgsrTgOYqh;g&xcZQpnXxOy?7RrdHg(X4Ln))bFFR`+&aE6JH{PZd5q)m9_Ef2McL zdHt%tcGvFS!=cvDb}M{qXy7DdW#OQzA#9myj~ZVWY(g-swNhP>H|UA?E;7s4U>DOj z@1%-X=<^TZ`Hj=&%iZx27b$Nz*7|7`z05y+y4{mY?F*lT$k3wS!k0`+lw1OldP2`J z`(OasxoidJ7OZC^!<@BE7TncixqDpDv}VH7KA6#p7XxPkg0wjhL^{c&CUf= z%l=FB!pERz{NgIG^-*d_tc;v{O_CS1j&uV~wpC-DhmaVuLxBlaB=j^Os90u#=1Iia zV?PfagIc0#9wfbp-oOj#P?MqQ7}Vz*#3>+1gJ^Z|Xq{9|rsGp_htyb@#Jj$}UX`$)1&Q9ua}DMdda>8T`+5*_U>i2)1`X z-!^H}_K-#n`{z{G`|R20R4bpk|IV?Qwg0tS|LzuN*p;&y`;F>%W=u6Mv#i-E*7&+k zSt7ey_J}D;12OP3bD%QF9Deb1q`gyF(*SL;5NRRe{xTx2&?Y3sa{gn2uuW$iL?W^6 z(e6Ix$ADJ1b06hE4UB6tvfcZEy_?hdUAv!Io{0&A(ou)ps?HI$&0}h~EB;AKS}u7b zQ3U1%CSmcOd#+A1ld)eN(t8fU$nPUf54FDNR+-U=*)=V@J_tGj>0tU7a zc-PY~r}z4cvt0Eb*~`SI4)_f+`l-*eyT0#_XDDPn@qK3PGk&OVOzM0kUyTZdC2rX> zUV`c$k7DV~^iUJ@AKZWrZ2|2ZjUGdZ6YLfmEP zw>CI9-Q6?R?cG|BMjRz7jC}+)pHLbNu4`9sD_`#&+Y!&fNMF|J1FL;Q*aLM(NYrhl zk*UVR-VoaQItY+WCK@ytN8S*d1jt7)T1Qyo+2eNiJ+!5-0dd{T#-YQ0%iY7GyHm z(y#+pcc~L&!ke}Lj%h%6KX0(it(=$@fI}EzKIqgU!?fll?PG9&DVFm);@C)L8R1rx zjL~|ADtgi*F6#swweZiH{0ofva6hFxocdpnRyi>}vFOiGR~u;&D4SizbmF=7?ZL^atBX zK59$Bt5nc5NG$?&uFO<~7@pff_Xpp2baooy&|EsJRzL`c_b6+2&1?p?JT@dSZ_TTl zmhcn?j`GtL`>7!oYv1r8?zmIkq4-{DeGLr9lHFlPZM zZuVp2cYa{wavB6<^=DzFRJFsjdtnD&sAwTFAqhIBD60F2b%&_1qG|-fCeK&T(nji= z3etf-2F^)mW%DzL4Lz0OmC$5N=0a&K(6_AUq7&dsBznzH0|T9{u?L1NksKhoV8*fQ zGVykhf)3+l2`wh`4+M70i~VTXO+8da ztLpGC^8Ih8@+QHBTqESbrLm>#fW>8s-~IH;ZAX~u*QF=ph}^A_$4XO{_ly- zHyIkPK)1m6!I4W%I$*=}wU>x#=t9F1V^D5*I8=Z}?Uv9j4n6H)Y#`2tz8h1Cvf1sT zm)^iZ^_LcZ+mfx?wtTW$>Kz_2Su${3$vu(J1exp6j|4udsKtIwK$y7W1UQ{86qqGe zxbGUgRr5-e_U9~XWK%q5jA>X?qR-H)%OI6N1}SA(K}CeKiZ`#l2k)B2@L43Nx(e3v|73Q`k%O6W&C^QyCavhZeMH z_(gxM$1DiymLor!bcHb(@b4mzLH&MEsEt2h%NvgJFPqfwpiu#;yiuoyCMqr&MvBUd zM#^e8LNsJ7`h9nfegjPZJd1I`BOs9EUQF77oUS9OWz1$Pfzem*dneVfBz`wX6NFRe zzuxk9SrQ@iKuag}{v9Y*P8`%PH+vqu>7BmQHW8B&PSL@hM}|!bDGybh$GrYICP{ z?bmb0;@6&u&Ls&lBoT(?R)UGqj`Tt;Yg{MIPwxvyQ3tE zX=wcdhc;r01H#@GCPWaF2Rfz97ZW|1#0wKLz?;GIfArAM5bx?*_`_mKMo2ILkVKM0 zSOiLMhY`jp$PQA9Q|=lDbahvr85%oNQk3{ly=N^^B(B;)OJTP0A7gH$M9YtW92K2; zs)Z0#BFWJq2M%Mgw0z2jm;88oDNtFwmA*~eYv5(!!%So0&a+!+G}nY=U!M#gn1@v) z?jFdrE|yg|EozL-+PgPw#s=CGGnTcT^H8tYS+4qRNvAFl^CzoC6JgvICP`7;7Ui`(H(PA_YBs z;eaFS?Mb?{KUPmp3zk{ZOT0%rY9H|)FK0-k&k0NZ+0w$*(%42h%-e9hLKa{GV$COQ z^$)+C5%K_B-0!MjPV;zE;W6l~f&QHJHqK1!F<-Vwt1&#}ffiz~2Zn{bMYoK-EfTYn zKreHIcAjups^CGe9S(sCmrecnWCIzm_D$w=yZ94pgdX+F)|1tdK6;LLe}PM%mxo7< zV|C8mJ?qmYj&+FilfFD3XX!7x)Dye2y`>|LGmOw*%G|?oFRaKA65D#OkYK07ED`r@ zycMvqlAD{GTv0tF34)P$LEen*iL5VKaBaCh;tTAQnru1fe7xN3Z;y2D6V;d5ME7d|tG7{V3Ng0k z#OG+Wi`Ue@)#5eN2*1;a)}z$Y{TMbMR=m6PN|uy|`IVr3M?HO^LG2n8&&T;c_9(4~ zFzT*e#U;lW-#u@#BTMmbw)=2nBN!Dh+qjDF@r@?GLvgiE8bnc*f&w zui2V|V!6u=`L-QpCu`l1{}Ss&sa!K_=Ye~e{lNhWczkscZ56Bztj~&1-pl}C^onQe z=T0Bw5*g&hGSrE&*W2ytd!kplfthVysZwLaqGUi#^(!^F3~%nkAeoe#>(AL64mVfy zlxx=bfjlWTqq85D786opUR~}SkY-oSuFH93-bHzGw*3Rhm8r|XO#5-*m75Vv;)HHp zP$l7>PxMg3k4XfA1va`Vs=X5S^5Qp#)}7;1+sNQhpqr?F2(kA=%zz`ltb{!2vAHSp z$>Sv8rF!nV`v-t6V*&%e(G=s5`c^DRZ49*xKixwKKCF&5pI)G1hy3okC#7=l<|u{=f#}usI8P+GO}27d@NT**szW?HGXh z+hc(9UyGjq-Ctm4Z|`F2#Pt8R7qleGN)HJlhFu4J6VZCuutQO5Wu+LQMzsiQ+Xptt zl20st8ktx9?sNYEO^3?ssfn59x#MX@z7(vsK;eB$W zApTcG{~b%_f5oy}&DQ>a6Ykc`1A&}7TBAR5^JT>BGx#5+t zn<2|{66@}TQ|?QjPYKk!2v?B<*_4IgaUxfV9dyyiNr$QizziF(oHGsK>YWbFH27^t zG{;#2*>smuE->29J-<0iaduqWlE6x%n`6R~Xz;C#k#9K5h^YLjVLV~$T5)e2vXRPQ zMAef}jrL^7R4OL5pET_gjFh-01f+=P7NzVd;)J3}cZ6t~mcx1unURyiMX5CK)@Obd zU;BpWqR)3!(8WRRBQ{5o4yCNv!7}YU^x5fwWSwf+taW(Ff?6$rU_-UQ1o$m~b2YRE=D+5MoiZ zP%LA;0izq6>LL=hc*MwpJ#8Oa`1D!SFB)vF34k;5KXd<3YpnAwzD1^U*uMx9A2v7x zh7tzq1ZNJ!^Ppm3zWjB=s{kCXz(5p9%uFGNPzYl0JxiEHeK9ihxVArYchqr8YX1^j z<_>VQ>0eY+jN@E_4w9q{)C?%VJofwaMFXE^Jih%(+%-+0&EoLu5I{w zgo1s^)=d=ux;1IcKGDkTiUWn4t2cl4t$k>u-g6!MHTPb6N`4b@)I90FBW9`YT<@|# zYV65_?s@T3vtc*v+pjMl0i8nGKFBnK@cYAl`QhWFJcuV!rCxOdjLHm$(&L9JAsvsm z1}<}3POSqo7;bY4a}aUW1M+OIvcy`ei@LO#RHj-)0Izk2oWjeND?Q)$AV~2ISlzr^ zGZ-`K%Godz)Z@I>V8R_k5BphW;0Yn7*o{th`AVDzXL5v?Zuv1`7)u5+3-(1VDI_{^ zkuYN?l-i1F8RFKIg-}b_lwj@Z-nRAI@6nIV0~-f{^Z4>=AVvACXjT8WipWg8tQt~7 zQNu?}fx0C+OT-QUoge3nJsCO_oH+74T)jiXhIZ%Selj(K^~cco_eARV$y-x8_#p>W zOZY=-z=5Emjkf3w(${s-pHk+2?Bd#zdyGhnp~N@q_O!k#T$ z>|l>8E%P-r9u+hk3mSf`gEM&@_YOghvtM;onA%s`BP<3WB$5;AoU==X!c?I~4Ib^7 z?3E}vIS(%;(X~Mj`{c$9tLfxbiOHM`+_HYb!IL1lFO7R~ktV=H?C) z=g)Otu#UU{3B;oUC{_ogydv+uao;n+|0wGZ_d;xHe`OsB^MuCCDm=OH$Sh-q|?I>bc71YNiL>OE}DM*Y#l800wx%aZ*&TuqTKC*1(KDT4(WDp`nr zhKi`3A$%iCl;0uQ8BC1yh?aMwteqp9oIWTz!PZB|xCnM&H07-ZHS3*A!;n!kV2O8c zCAZ?_Pft@bY|F7wuO!(}<_=REaWE`ti4!?KshO4;JTGct>97JSGl~c%)*tNMyw32N z#leu-MDD@{aK_%0zbSa@vsyReids(3s%XV_jO`hvbMGEdv{*^s4w$M9mhp(Mf9L0- zqF*Pw-UreCn*!N?Qox#SmSl->xb{)LKjY}p@?2KCtWNTRK~?1tn6LCjAVPNIk>*2A`C0Ntm)}?D)JSXv;)> z{i>{%Q@&s;lqFmsvsk(jt_Bq=obzQ!pn+je8Is>8lJ&(d4TrHB5B71k3Ul5K9Fa7u zflU~-{UQ+4Qj#Z*4bo=PGJ2?q5uZ9(x0H?OPkpW#@fbBw~NpWiX1P(5xi_!a8wTl(g1MC6`-KB`Zo9 zUyS~Hei}#k@xC5Tdqus_9-R{>NjfW44uSt9B2l}0_2&~%Y#j(~M#67DNww;UP86_O zm5*${m$a=!gkF}p+Y(Sh>ni34N=gj;eVCoo|vR^@P3@+jyD5P!MEN*qv2YCk=9v=a$tk?SFk z@MG{iS$$Tj&O=_3W@Jp8$AAu+BuG0)Ol)4#`w#}+Zyo6bA~A76i?2>Ru2jWB+k=?k zV6bIS_S6$g>8e4`Y{OFji-VP|!zKKRlc(akL0FfO9-nlnHzad61SbVb$+!V+4uI{31asP!)n>QYj(mmmCB8b+LuEoa#lEZFvcT_Cq_ z-Jy#Yt|+*{u-DU?406SkiQJWNnxA%$AzYEl#YjuNoO7ubb+S@q+A;afe6x0A!Np&bRQ!Kd{j6P3MM{6Gev*fI>OwSxKt}RplXJhuuFtn;yTqW-APRdH z*mvIh**FRasv_y?Ghw^C(YxRj zp+dx~1rk1Zog5LcNZW9I;1b6^H}U)yWZ-A{2LGQXd=mRi>gM0c9su;>A=tz-~MouTn@e7; zG78|d0&V_vJ_(U1te$G%;}MJe#O76e)M{oslzPopmL|PkkXjw;NTPMG#@e9~Pq>+$ zv(D~xbUAI^lA7iw@q?szBe$)zG0X9^!5a_ZIl}WP=?_r=kP*WzHcH+lE}dnCf_H`j zCdBJ5#Wm)HbnzcnK|byv4O#`UFc+}N`VV&bCL1rOw(gIF811$0qS^;}Ij_jn-}<|s za!w6)l_7p|(sn)Ul0Q2nfN(OsLO{K)*Ah zFVobD`ZH2(iV8X0d(~2od=v8Wj+sSj(y(7fO@ckZ-X8&$6{OiyGv5*1JU#hl#PazM zzONnLg2c^`!05>~G*iRknK+npOw-|m#Jejw9`T8-ASS!4!Fm;NAO{FIazanu89{Jq z-UACzft4&<8$}4ZIoDBa6q=|9ysbDPxk=q%C{n5amVbz@)U{Z@F^;*116)tNDBmg8 zmxMS|P-;E>f#+_M$io)HjJ(Px{ANIa&*W}RUQ}njOxEK9b`!4r@MIg2e*aOsLRPP> zC@XF`goR7TkV6412l^SHQSgf?ZKVzX5i<`q96!NU!nB44K#T?BHah*r_h{T}RC6;J z%r7z$$}K83c$*$>K{2H)hDm^BX#llbE$F(Djqq&^LAmVJlNAcJIH36mjTYb3{;P@G zO6?ExL76@p^yjE3F@MkCIKkyLk4|y3`57xBe?-_M>uwZ+FCD2_V6SJ{d7fPg`|6Xt z78@yio^<;4+}Z0Ya6%tfGmxny=(dMiDZw_kJ4@EIr#~r4%-uEuC0*)F^WO+ZFoU0p z3H^0Nd_pKtMZTG{GeN_33cL?SuYD*aYo$gdbv#~Cn8jnnrrvixj_(7?lQmgArDQc87??wjApd* zti+lJ;pE%m$75WTZoGMf{(mF@8M{VwzmsY+9;ONmJ$S%)&?J<#d$J|V;H~+0`_~-E zsxsYkRy2d|@9wl> z1Yk2u;gHJt#<@bl$Sf$5ABqSbY3jZlj!@cEckr5VCG3~jDGdoc#1egHeR3<2y^ruN zn*4xrbsXeDLNip!P|7NUXomkO0k&%bJ!C*F=K;|mo1g@J?yD|5x7{v`*LvJ5^Zq36 zS(eOB4m(ivg3+rUmZ5{Kdlq_H@f9@nr@tn!pY&@2Fr5G01Omo7Ni2BEGAOz!l(9&H z(TYZN!x6N;Lq-p-*>HB}M!!I*;!RMa46eg`$Lvs#I@xh(=W);#*m=l8h0$dYpw?Lv zAg=*RWEP{Xh`$6NaReblNFv9xIe3HN=3n~%LjrHVByeZy;JD44$o?s|#GTKuUqw^7V)IkQ_?=tde9z6y*~1 z`q!Mn&f1!;O(yU(P9zb5T-I#{3eUe>X}Nv}1BK_Hwky9Rz=pE&j|4Kp*_`*_zewO; z2J@_-J;s2ON$x85>4FLomRpV!IAitzC1Xj#u2i5t0U1>wDf>WU=MG9>71m6|sy%=C z3DkT~>7MO$@5~(7>(RG)BM!oIafikWd0b}tl5|oDNi;<@UecIqCn+qDTj5C@*;~!9 zp>RiwA*(_6$*JGObeMRlM^V9^E}!~yZozNyZ% zNdT+p)_9^$mS^~X znSeSas_=hIVDvvG5b6JZLh)kY1yWD?9}`ggHGyc;d*xQNi2r|5@BdrU_y1Gx{|og-`<|;>{=Vyu-)s-* zf2CgAUpaUBPk~vSDE*)HkI>f?&#>{2eSeVczd5m88?5WR}`tMlk%Axbx25%GKC4B8HsQ0=I%p9W|?*Cv6{!nB{>?W@bO!9 zwSe4V|FlD3ZkEt?Qs2r-RUD-#Ow;y5#LOa98{*ZyNT4?5#YAvY4E?53El=c~Qi@ z7Iv%)m7bAT)4VHCQ(QRVmEaq=>w_BmgPhHO!OvuL$l5I9;4u)KMtPBZ*Rqo-$eyDi zuN)YEJlvsi@Ng}c{NF7=_K5hkOUtFdCI}`VhiD%4Av28=65KbyvAPdi(daQH6Ne0X zG;4%K>^7qkSzGuYL7HL5qKn>AU)XqLfB0|iRWWgz(>gEKj-Qp39`HrgC)$<^_9ZK) z`u>k&ora=M_dk(o`i;#0?B!x&Yy5u)CTZ&zUw#`)k>B7F{Z(F+%Bd`uwASQHOu;Io<64%Jtd;-xP!^#xSJaz@){fo^vZugv(UwwV^xMq3W6 zRN+`qP2@>H1jek$krWrHMs?dSfY6nI5-n)Q;a3jsBELoG0RLlUA(WTErCIPRFe*&T)g!*=mhn4*$g6;9yG1Vi9A<}19VuSj{cw!p+r$TM zvyu^}lhf(8Ty*dJ>~;Y&MZ&h51+yXhy2odlk((^pG=bgC(+vQz`H~UQ!&BecBeb)X z?h_J;IB-`pmODA;vR<0?olyKdxEn50|1B^&Hb4Aw_pFFGG76=C&3*%;@PN;&KEd8x zuzAsPviET$|~<(7F!*E<;-8-zn;X+-4U3S7wBWj(dh zkarTpn0s$eQ>MF^3Wcyoj8mZCdAR~hWeXo}Lq%z$k^1awyMXjcM#X0wTv7%4ozx`u z-7>*c=>vI|XDBjX+f#BRP!lq(GY`|**>SaA@>UoJOFf5wU>7JGB_L^$jI?`q@b4-=k%}4eM55g^g9oyN43&yiLi@HN-)vm*2hjYDRy4dE0nsM7CIL@q-QD}~6qhUw0zS^d)4j-~3w;B}szy;~W zFo-2%@kZ(4d@eiPzQW$zg|dn;Nv!j*y&f4Zz~eARE8R`v$X?xmW#l0nl}?OoCjdfZoE!z|4e^&dtVj+DF<> zXCg6odC6(4q$4mu6N90f6RbKEE7!E=pLH~>v+@_hb|bKma=L90RFeouNoU%!vf{i8mkL;Rz?I{x?TqMsKlzOM`MpD+CH zp`XJgad>>KzpF!jw(@=tcX4-5)Sn;6>Uli>&Ig8$-v)yGlAp-ozt4t#?(Zg|*7SP3 zb-Q&^haQhCG;w-z^Qxzs4tHME&Ss9pZ$=F3v3jYY-&pD7BVR6WKEDjzwb0hsL6PwI zH+N`9lNLHT=;X-T(JRTt$K#3Qw&x2}hT9rybAhMfHI5vP&I z|NAP<+~3Imef04gMt+;W3n!e#;eS&iY2NC2f6n32`JFI*-4Bh)h~LQjJ|7Q^;rl!# z+&|nGT?NLaJ$zJhXnIe7ruag8`~WiS>HOYY~9^7syGQ7}=#=Ur(8aOJjK-2~LmckD zKhA+t^mkAdCJ6$3OJsup9#=Dv*v&W!cv0@I-g%6wScL|D{cSi1^U0kX*0x-F ze)?kDdvC5D4M0{BUY}g z(F0zO2Ufz|nYz%kp~Fi<7YDV_Rs~Gb0QtV19g9~k-GO_1PCakVzE7UYv3&AZE^Tn| zo}HeZ!mXXl8<)1%HpuI#w-M`T(-t)I=Cu$ykd0iPH`j+sos+j(;@iOY9eY<#K-F*E zx7uvqKNQ_&j|(FnoZ3xcdFWwFjvQMbj*X_u^op*}9t$b1J==DZjykacL!XA6hHTQF zr&m!UhFlYk=u>azsXKI)pMMEHUu89mRNdH*))}n^>9S`8<=B!h-f?$;OwR z_d6yGiBRSylMY5ykmK`urT7rCX5}@t|Kzymp}QfHLl_gR9e6vmWM}v42C08*@bG>% zpX1?N`-JL&lU>)|O4`X!aqpOr87|%CSrVYNl`%u?|WoY%{?gITeNWfjF;5eoi zZ##`szuLJ0`mwA0(&eNs&)NhevMHfCapu(N&WRrOon#_A!;uYCBd<$5c4j|)Vmp0e zKee`--k5L_n`hvxn6;u*Z%J;_ntZz-k-UFef~u|>U2Ym(UK(9K8eLv^O99xR3!OT- zt6aRaY^E8gB}Ufw@llT6{bl*uIrNrTn6xrfHG-1CKzRm;{+p`oD&vl?qBFPy)7DbL)YXcv+R zVPQ;&UJg?~Xn>#sDilycq+L40cp=*|8vxz)nt#K|?YZoExxYIQ!7@ zT&M#>v)wH9mmeoLx+Wa?u&1dL?f<<;4VZIyYAcBt7^@24_4>MMvt4hybY$wff9 zmg&UB7eG1Ox%4)F$~cGZ#hUR((h{;tC+wMr1W0U9>10IH&@UsIzWAqlh7VU6@2>xP z_08TRv~QKbzirbblRr?fBXl9iu>OOraj@T;hR8*xtF>K>-Bw?mUY`k_K-VCVP;_|S zaz{cwq63<9D%iA#%`Do6DR~!vM z=Ys&dM|)SFYK^sv;e zFZ;HN*_=@kb#kOlqaghcI;0IEkt`CEh(6YWJlWmMzw@DTeavbT{d{|W2rvKj7{@47 zyNWf+)*xrZ**9;PMFU0Pl{;GwlN&DcVye38pIO>l%+&$IE~!4K@2A?W6BAA>QnLHqTGMOf=uHb)(h@e5^?Io6yqa@nC-5|4oBj7sUWR2RS~qLv|E#RiK}qEA+K^`S_p_83 z)GAlL!CDoF>r;gu1E~~6^xeA`ckc?+qw8}K!KK?cLV{$!NUU>e!7f~KMf9SJIXE9sT&QPkWbveBCW;rc(U&eY6k#b(PSB3;m4F^FGx5go-xoz zTW0SjCpL5lf^`Q1mlz0AATIl7-sKw<<7I4tVW@hmfmN6EtW6YOzM>Gq6%FXk-xaYz`2qlOin^I8J0jAsZ$=!O@*phST6iBeAWT zB`M*eZ?SqlqQG+d26JjiwDHE~1Dg`IR(=*A{E{Glxs9X}GA7p?V0r~&#;_Uy2`ifM zsz>KDr8_6PL52m--sa}Tw}jH?95oY{K2m?oAH&FQI=H`H#i z+kLE*#q3~aV-S<8ysLaH(HgzUwkVx{mLYa&D{5C~@y+vB@F^{MRMrvApi+C%+tGj7 z)`4~dz(;2#-em|1EN%&-0WCvrR2{5$+Ieh|#^>3Et<+K)aqR5iOLTFSCJ)D_U82$1 z2O&Lk#d=O3N?4#}8L4SguP-F623VF;JB&mj8om2jW-0ZyAsX@iI{cm@IU5=QNDXk` z8zC19gM7kVlW}-8QgVx``}QDDg!2gfj#X=%NpB{tGuLde)zY;3k@HUU zFtJi=N}SZRxg|z3PuVOeda|G*oG`9m8n3n!Dza3q`A}ldS?qMSg^+J{w1+;Y)+Z+# zZl3h|&g?0npJ2vY$n7*c?%>UhTXr>Lf7n5R-_9>VB4K_kfNK!dLPM2ic-O#kTz*Bq z7GZQ8aTo>zvok=Ek(OMpAr(`I7Z5tqh9cLbgrPICS+t@PTrVwQd+J$vSC5p(zJl~2 zQo(<%-(Nl(-=SRRJQpwkQmiVYj%9#U7X(4VhaUrWdK5|o5fx|3XjoE$qiP>c1aWf2 zOt0*H4cvv_utL3`diEKr6ai6ceY#V*s=ogA&~tfPvLuxe7{ct5ROt)>k#{Q5azWh` z$Q=fr9hCJ^qf}NVK@`8WP7JmuZH)F$)Tx1&r>@59^qjT{1E)_WI3U78aMlV9PF77< zu)zXqRv@Y-JLI#%j$)&Es2xTxTC&fkc*wk@oUXFOs<2dcUrjx}WD^%=oiVT0-rylh zgrsS2U8sWUvo4~x5XZ@p>?5*FB;L|lIZVV*w3M!bqIeuB{0ioftY{V^&P}RM6TyJ2 z38D>?t#^2{Wun@uYfuaR8w5@FugI8sJCyH^B$|Q!U#B38|Eb7~EwaQo@Y}SCM2DO# z#r#$p2HGYZIrfh5eh?S$h#DvUpZ6+lK$@&nbeehT`(&mfVFUD6<1`>BcI+OD!mN=! zQ$v(e8jE!wlJlx#bocrJTQ7jkE)a_f^zBN%VN}m+PlSl26)dM|0ws1wY;V)zIseMw z0;27&HveFOcd*LcaAtm}3HCa_e}`dpfnxI5(IT%7b|GHtjnG-v5&Z)sJotmpzMAX! zMOv%4>u4H($h8+B0b2REw5!wh#hrAy7Hy~aH3wCAsO!{5{=g2BUq+i>;p2iPAmoA2 zi*fVV&iN&N#6f!IdNmXO&&(BP!fzabe7FVbO-|tNFQhQh&;~~a<#5?`AhN4 zq(;T)Bha}W@pRUh22h%*IQ$njeMrtVOc7tH#c1Pe(JP^SYEa2b)bcEq~ z4F|u;86}PDgCJ29W`$~kWZ*O!mq%0^0xODhEs{5h|3`Wi3q-E`9fv=}A^rFJd>7AN z7(lm#{r3>`W7tbeC=IA5a4%gdrzX2%Gp2)-tr!U=X$n{dnZ6UotAU7+r~xEj9cS$S+_BUHa1V{(t9}Ahz_%hKR%FLaV zpuf)@vPN*)U`62;iZ}!Mr+#)s-&##Jq75QrWHEo~G{!~D+37RZ6~%AN49&cOKkDEz z3Xq;$3U;U{Ohq|>FCsu@RiP)vD0P5dsjhoW?UA|>t%89V-K&6<|5Xx0dgYas&{5k& zF=dqx4Ju8Gmyr&ui1oMrz2$U<-)-DcEVD8eoRvPxV)Db5Qesc;NUA!jvg_({-gSf* zu)(iH!X$50yB#;0r@E*2Wz(`B(iocw!t6?l(GRGzNl(3g zDLGLu18I_!>%O3-H#Is~VK2C=-a;v5i1HyE&E0jZ_zzc~=ZNFJ8jys*CsuMEU&HMR<3a4#0Uqtj@QvYi6drl#I z$73neg#4oNfV{T`k-+9uZ25u|1$IB&qIG^r;ZU>=K?bT=*F(f#g1ou7^`g}l*|X)l zZ+RWq6^l?7l-D2}xedT$>=@*ve0qV&=#cZ*{lDT~y%ZSwLqyf2W|DSR zHJ_Qwn$}^=!n%N;-9_@`pW1AItZ&lI1IOGKt?c(Ombt<>2G^GZ&Kz+?BPHI`59zIM zY|`>gS&&Vz@5=SILZ4CvGst0^ZSRD8t*XCWd3n?wV(XHWL)@Auw?H#M*HzYHEuwSWBK%GhRi1NUTJ!RI>=4T!sKTJ5 z(AZNIpqBgYtwVu43fZ2N7xPQ++uBY|Jpiv?j1LnAXAC-hLdZYNOlS#Lm+SU8H5Ysy z?%U+etqdfAkP1y!h-yA6 z{CogFdDJ42vj3I6r`C{4_?~h$$ODtm_Wc)E(DF^w>xqkN=vV%My|(qkxsC!<*a@)AG{^kUto+B zAKYm##C1RX?mupk%(PJn_$A>>DaZv4V4;VkB-&$U%nG%JYCMS9HtfyE?qLOFF#~5v zvpx`^HCJFLs9M6I`bwNxfws1zp2*P%!biSn>J_XC_hbwPUgrhiUn+YQD@577EHJtdx$gMPsNr zIn`pR$A*fG{AXWM7^_2ZDpnce9{{ksoUaB>8pP*doW&)Q6X+e45;x_6?LAL64x3pF zIp};W`h+8lI~w<=Uyf~AO28yPrJOD^6BB+&l9LZp@xv9QO`&xlY=kmG|EmCVg6_^?O zl}p_K&>HQ1yOFP4h?DF3%N?m;icmi>V2Q{RZWI}mqFw=zONz1jQ?gNJoe|HIkmdMc zR4(5FL&R7lnpkTKilKmp-eo4SXl>Da@NkVm_4t7_oD1#tydO+~lZu=P`ULuet4&SYn?`vAsi7DwrTjtBg3B;y!;%YL0!(z#s*&mGTxm zv3?l{o`D~8>;*f@l>cRotoo)aiQNd{OFkerdoO5HFlj$C$OzZdWe(^hA^TPj(51uT zl5L{|_Ezm@6>sx>DwW`s=X$nMdrnPmZja`JBkuM{ka{Pb zb5$h-hq1gFqqh2h=F54G=@A&R%cmy)!D=UI02?s+9A$wjq_dj zo?YZsA4kRKr?xpD9YPZtTjI`I38ir0CRYn4e>?~j32ixuIS8TQZQ>9?0hu!!O{ltO z@G4HH=E#D3a)T*}n++x~N zOu^rT!t%Nlzz%6>gG|+-v+l1MELRZEBSk1elM{QMgkUoj8S#yKnLcnsuS~p>!Wb7a zI{*sWF*;$hgS;@N=)r$j4-1n#AM5p}{zc%WE+bcYTs+0U3*xRp%;F?sZV&sBgdw7D8izGz2n)BdIj!R*JPgbof6Yd&1p?V#RQyMaGu@4*WHU#lJhzBU>h%DO+l3vl@oLZ)0m?C0sO;2igmYy=qAoHWs6%c zBheLOGx{AdSirP6Wv(v>!R>5|>f*ik94*38{(We}hLg;O;?n;JQYJE5IZz7dU#~<4 zLAQV)p!ux%cO*K&0tCISm}(7pfW)&-?QWDvVW-|r-lp-+3!4gBC^=r>5u$FT&`R(* z@~UHaUz#=ERnZswl!wl22k1Q$1F?A6z$?Ls!c$RrN;bo7*#sR_eSnY_CSrYEj`#K@ z(}VhERG+;oWH2ysBM=+IHYsv-(8QhP=j+oysa$t&-3|%{Ryk%HzO?Png($9KEv8nb z6n_IWoaDpa{{B!Ta_4x(952vh54|d5O9K%8VaDN*puzpn(*^_yRM<^PW%n^1_|r{v zmVsf8ECn0coJ zctwv%{KRm{!tyRVox%t@@xe+!S+%rBg3VLj;u%boS{74HX!R{{6KIbS$T_5|%IJ&H z15W6n{15@D$Q0e=8|70n=b*Z5AmOscdv2ep-G%hK%wgluU+qJuVOYC@dJAif$#7we z>N8*+R@ps}jB8}V)GPNW(-u)0iFFvY8$lnzy$;Y~0Da^YlOoDRzH9WOKrweyMMIaVaf=8Ap@h*F<_#EFaK%(+;F#S6e1s;!6U5C`$+As|9E`R~ z8{2Sq_{JHu(~0d533)`BKIn!Dwr2u|(Z?kYK4CJN2nb-@-3UmBi zG(ilW9NuQ-HIk>Xh8!KBC|>`ZAV88JoI}TzuFFBIrOVB{t5X#g#Z1=^ zF-HPN6Efhx4&0$5NfvaOsC+a18pE&th>5cY13PW6N4F}Pc~l0Y{M9NM`2X)s1}Ew*eMsboIfS^ zl9^Yg5}Aq%1*;XZ4c*ZOlfpVAqkRKN?H^GVqk&RF0-I*~t3p}8mqhWf{r!9lx3(dx z*AmSG)kc(#TdNt4E%cN8J%L+-LJGkC*gb;Lojoo_T;g#q2zlfJ-0FE=u!3}0Uj1%9 zqrf)Us+CaDfdTcLsilsV01(jX0C}3V(cmV@X&ETsT`YbhZH~#F_`WL|9slGlGpwB; z!;)3Scp+4n%VA%zDZvZgDF_nM2N?w1qGi*11SHZ-jK}#UfkTwSEryOfWzFkPbW zWMwsyNPX65E8@wc!R2ZgWBoQ!u>o2|K}G81bZI|^@JwcaRn}wrMOa$pYvv`S*3arF z%Zr&0T>Ug3<9^;e3nHxeX0{857u%V4)B}y>xlaY11N*b00v*=(6l{%ml zb;WxuL^!7$D3K33(vvXiS_3rSL5Z)9&S?Y0_d)Hj69^|@YL%OCk?!RAl2q2M7NdlQ zQIX7nz=p-uxq8eY6-E`;&=68dx|n!cEd$N-CP={CiC(NNrtO$BPV=qgEq_s96VYg@ zOx{_h3yNkN2wK;vNTc<1C5GRhTa^*!fdrjnedqmRBXpSo`Q0PF(*}FIR8WJwv-&bc zayp4?HjGERiHN;=S?@9M_;4#R@2;b3gyj(LN-o+~dSOT6T|hg%4OHQZ^DB)0$v2CQ zANW~|?}h}dK6RY2+65plN~?z^ZJ?5d55=%%uHi$H06VqCv4&Nuj0tTJ<$1c@alTn* z92paNW~>$Ih^z^x{J6WWVr?OCHX5}fwmIQuB{70mX0=o;@H#^yk{R(l*xAX3c5J&N zSvA-NcuV`fR@d70?F^t8C;l`iiEBUgXyHx9m5;yL_v#`^-e4kTmk0x%U1!Mt5K$rq z(|Nt$P?zq+nKE1kR)EV=0Q~pkv2}cFZ?G1+c5G#wer@4%!{Cd5fX_v-1s@s1Dw@kbB^t1kP21Ouun8V;z?Vy zt!H$M(m202I4G#Ga%Wa0_oCZBr0ROwCV^IYqvZD&8!qce*@0*dU1Tr3njNZR4b^Nk zjPKMeGNjz`5GiRi%Z^FSHD0i6v7*4sv-Fny`VX0RyN<<>c?}E;!gDs&N0Ocu`hyT= zfTT`UrSrE0o8T2sUgu8)le5Z0)b@|brkL#CLSkH3783eg4uy8RyxPIb>FB{S(8FD! zNkchmZJ~l|? ze2WI#I>> z0y7edv-bLZe)X>+C;3t}Fd+{lRpVwMt{qTK&-ES4AcPWVI}p?gUsAdUsh1!Q3rs?U z?vV7x`JKk<%6K+3ahrvl{5@(uXnhQBWjQ~Qv588VRiYcKJ>6FqM)bHW2P(*inf6$f zED=XBt#|k|@`&)fK_B=~I^C?QPlxbnP6eFuPsT*^K{*8xsAHj#Q{&rlwE>>RIb>kQ zWdYc-4zp*#)^gqjKRQsA(uih~6Hj_-8G>377F+YJQX|c2xI~HsLlsrz5O9`J?RI?t zwd6=ARKl|FGqB)J+cmxV>{^V=HS%$0F;9v)`l5Ux7^;vc0%|PDaq?EGvOZ$yD_0%P zl^VF5Ms%TrctvfC_TGb9zN3T0+OAVA^b(*;*YsFx5*bxhxivyNCnC7H4a&9=2FQJr z1A$)hisl~+;|tCL5=2S4Q9Vzc@o7w~DF;YifSqg`8+O0N4K-f1^!MX!|1Vg9tK;sn z-YJZ zO#T!X18nMN(h< zv?vE{ybpjhGTIq=luds*sYk@0WNgmP!W^e)#s+Tpfwvc;KzE}Ad%T1hZV^EZAZ}jK z&2c4=;^Oth4CsSYc|vbE2Ob`HMjp56)NIoowaoVUaS4>V82o$HPozoXQcISp)hq>jdNI{)?B3*d`Z z1XJN`9VZR>&JeR!S2S3IhqZQa+Mbt}j*+pSKy3$9yWV2?Bs%_gj<;-x_7G$p>+RxYkVV*Cuk#zHOmx~52+9b*)=tBV^A{6F&a zTb*t_uxk32nCx;)$pg-l4;E@&imDhD%uu~m{Z?^A5f18M%`=O#bk(>kfG^7pXQ84k~Y$d>z{*YTwuoLeWIMW(|iDmbxa5Pgk% zx%;g~5Z)@9T$gC5Wm5F8PbZw|b`(f*q}Wj;%@$!r8zWR0ppx`uv(7eJB#Gu~XLvna zZKRA^jvy4=`ojJ00RtY}z|Pxw_qy59T1U$bmU`_V#2XNCI@s6sYvbP8-hcc2E+D2BJv>bB`OX740lSvGnd zbl<<_CDb6UM3sL@M?UM?#l{@{-bpX;5!fm&0!ifVXvg|#@>`?kmM$PCZxr0>&PFg>u!9XHyQ>Vor<9hhqfPnw;^9QRdpI%8!Ee&#(ea6KP3 z;qFQ1yoAah9!RXi1xS29biC`wsMDTkp2!4cUbCldu*fovQ%PV6;Fu2&XiWlKVa3G5 zg~8_zH9pDJ?e6nL$tfjv?n5!X8xah6G~q%i*PEDrC9eyv@_=QG?n*Siz+^w)e}JT> zJ30xtKZJQRD3c#3)07NW?^@^O4Xn;h2RDjc(n?3m*=%SN?5+CiCDNyo32q_|E=h~R z#jm%=?O`Hn`Niown(2b*V3qe521<826!yS+d&qt2mZq*i23mqq@;2KKlgp4Rr*qSZ zNaI%xMg|D~l{LU>iG*dN#$kIk);A%^;TIkFyd!iH48SCu11V;Kumq7<_0M>6n>Xaq zu6~qVUYF0v*xTiK1`Pz&LPcc;U0aPj4M%PW7Q9wG$$JI)M-?E2U#ir2ZDFlv+)*-7 zK9aKD`j)F)*@{>)=FN>IB~fp8^YdyRp_J-qR91-{wVV}eLj+d1Z_JR<-6ct7V5{P_ z|4uxlRv5MGMi*$neU<4#(2k?7oBaDQw@~VBzCMgYh|)SlR{{gYo@4<@{bIVplWSOs z$YS6PP;ld16kSxQC5ycQo_H1tvZ0U%$3oJkSR^5rHrpHMn5(ZBGV8|_mo?{YY0R8P z^hnMw;<~Rgf#DwGlzb+pUB=PJDi?Q>V!_!HcT7Ndd1#L-!O=jF<0sC_G&IvjEfC=! zDjxc0F&nGSsKA*Ja7Ippm^ZJ|z9JH+Cc`&ac?}H=5A(BSBTKJ8?@K}quT*sU!#fFVRTxS*rCqOe-%&d3wA-)j>BO2-@@s{B-RSsp&uKz=+v-^L^9P5 zEr-5+u3dA|lYQ{f?rY0OrFo3(MkMJ~R%7^p?!y`T@Q22dBBE4Wn^={-NbFOLgq*R7 zHUd)RAn2w|6THIACST=B=Cnld;u5((+*KC%D$k6QTmamYtM?L*0%+u*qD}}jTqbrUF{#5uy~4s ztkt&?$TYv?5nEoANkd@zgW(_I!JhgoRlaaXwTm<|-7jsSAH9ie9iK-*=OnB?niUS6 zFFl>euf2F?@BIW_Clln9YMlr&X62=BRyqgI!sU&bC$~y;Bp2v&hreprq}kb%k%||c z>`kf;I)kS&{bq8b!+8QzD*uifRc{hNNh2Pm`Uxx z*B8F;gzU21ACw=EiCd*8k{Lgq)BPZMsf$y*Gbn;&v&~1QO z`^uXvl>N0(Ih#&XVOzk_c#%yhIrEbrf%!zRnv;hm8 zsww5xyouOeY~)Ingf}HVHKWc@4lHv$JJAH_;sCJGb9z9!bKIAY(vLG(Xdmz=~~7Zz*|N>9Md0t z7Mvd1DCrw{u2UP@{QANntI(*`MXwe1_I)DrTIyh0cLDVIpnWbC=L70eg%f|GPC|x% zch5~T>yGBpYG9Y-`d9h4{b*^XN8!BNm9K;AQhTv3U=Klzb6M@6UJ{r2t12HQFK6K1 z)0$}h2tGYC3E>3jM`gKY>Pd!?voGc+w(z69@3knI$G!~{HIKP@`mo{YeN5P5?^#gqx(P38Jh{)q1(1j^s6xpo^jt(|ESZ!})*tl(I z%o}LN?eWqM`Em^At&miI{|d>Fℑ0C&KA<&_JC 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