From 14204b6adeef5431a25f7782f15aee489b96a9d3 Mon Sep 17 00:00:00 2001 From: "Z. Cliffe Schreuders" Date: Wed, 1 Oct 2025 00:21:45 +0100 Subject: [PATCH] Add advanced malware behavior and anti-reverse-engineering labs - Introduced two new labs: one focusing on advanced malware behavior analysis using dynamic techniques, and another on anti-reverse-engineering methods including anti-debugging and code obfuscation. - Each lab includes practical CTF challenges to enhance hands-on learning and understanding of malware analysis. - Updated documentation with detailed descriptions, tags, and links to lab sheets for improved accessibility and organization. - Added an illustrative image to support the anti-reverse-engineering lab content, enhancing visual engagement. --- .../10_anti_sre.md | 270 ++++++++++++++++++ .../9_malware_behaviour.md | 127 ++++++++ .../10_anti_sre/image-1.png | Bin 0 -> 52567 bytes 3 files changed, 397 insertions(+) create mode 100644 _labs/software_and_malware_analysis/10_anti_sre.md create mode 100644 _labs/software_and_malware_analysis/9_malware_behaviour.md create mode 100644 assets/images/software_and_malware_analysis/10_anti_sre/image-1.png diff --git a/_labs/software_and_malware_analysis/10_anti_sre.md b/_labs/software_and_malware_analysis/10_anti_sre.md new file mode 100644 index 0000000..51d39c1 --- /dev/null +++ b/_labs/software_and_malware_analysis/10_anti_sre.md @@ -0,0 +1,270 @@ +--- +title: "Anti-Reverse-Engineering" +author: ["Thalita Vergilio", "Tom Shaw", "Z. Cliffe Schreuders"] +license: "CC BY-SA 4.0" +description: "Advanced anti-reverse-engineering techniques including anti-debugging, anti-disassembly, and code obfuscation methods used by malware to thwart analysis." +overview: | + In this lab on anti-reverse-engineering techniques, you will explore the various tactics employed by both malicious actors and legitimate software developers to thwart the efforts of reverse engineers. This lab provides an in-depth understanding of how malware samples can identify their operating environment, detect the presence of debuggers, and employ anti-disassembly techniques to obfuscate their code. + + Throughout this lab, you will learn how malware samples identify virtual machine and sandbox environments, detect debuggers, and modify their runtime behavior. You'll also explore anti-disassembly techniques and code obfuscation methods, gaining hands-on experience with a set of practical challenges. Tasks include analyzing code in disassemblers like Ghidra, bypassing anti-debugging techniques, and deciphering hidden passwords within obfuscated code. By the end of this lab, you will have honed your skills in dynamic analysis and developed a deep understanding of the cat-and-mouse game between malware creators and reverse engineers. Get ready to unlock the secrets of anti-reverse-engineering and enhance your cybersecurity expertise through a series of engaging challenges. + + In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the program expects. Once you have found the password, run the program and enter the password to receive the flag. +tags: ["anti-reverse-engineering", "anti-debugging", "anti-disassembly", "code-obfuscation", "malware-analysis", "ctf"] +categories: ["software_and_malware_analysis"] +lab_sheet_url: "https://docs.google.com/document/d/1Qtljd6dpunp5P_IZmnlIs_Wd1bG1Qb_ONju5sp2Bhx8/edit?usp=sharing" +type: ["ctf-lab", "lab-sheet"] +difficulty: "intermediate" +cybok: + - ka: "MAT" + topic: "Malware Analysis" + keywords: ["analysis techniques", "analysis environments", "anti-analysis and evasion techniques"] +--- + +## Introduction {#introduction} + +This lab covers the tricks and techniques used by malware authors to make it difficult for analysts to understand what a given malware sample is actually doing. + +At this point in the module, you have learned about and applied both static and live analysis techniques to gain understanding of compiled binary programs, including live malware samples. The anti-reversing techniques covered in this lab can make both live and static analysis significantly more difficult. + +This lab will explore three main categories of anti-reverse-engineering techniques: + +- **Anti-debugging** - Techniques to detect and evade debuggers +- **Anti-disassembly** - Methods to mislead disassemblers and decompilers +- **Code obfuscation** - Approaches to make code logic harder to understand + +It is common for malware samples to check whether a debugger is attached or if the program is running in a virtual machine. When detected, the program may either immediately exit or change its behavior to something more innocuous. In this lab, you will learn how malware that changes behavior based on its environment functions, and how it can be analyzed. + +Disassemblers are another category of tool in the analyst's toolkit that can be directly targeted. This lab covers some of the ways in which programs can be written to intentionally mislead the disassembler, leading to incorrect high-level C code interpretations of the assembly instructions contained within the executable. + +Finally, you will explore code obfuscation techniques, including polymorphic and metamorphic malware design as well as the use of executable packers. + +The techniques described in this lab are not only used for malicious purposes. Legitimate software products may also use anti-reversing techniques to protect their intellectual property or mitigate against piracy. + +This lab contains **twelve challenges** where reverse-engineering has been obfuscated through the use of anti-disassembly, anti-debugging, and packing techniques. These challenges are more complex than those you completed in previous weeks and will advance your dynamic analysis skills to the next level. Hints and tips can be found at the end of the lab sheet. + +Have fun! + +## Environment Identification {#environment-identification} + +To impede live analysis, malware samples often follow a two-step process: + +1. **Environment Detection** - Identify whether the program is running within an analysis environment: + - Is the program running in a VM or sandbox? + - Is a debugger attached? + +2. **Behavior Modification** - Modify program runtime behavior: + - Perform unsuspicious activity, OR + - Exit immediately + +There are numerous ways in which a program can inspect its environment to determine whether the process is under analysis. + +### Am I within a Virtual Machine or Sandbox? {#am-i-within-a-virtual-machine-or-sandbox} + +Virtual Machines (VMs) are commonly used by malware analysts to run malware samples in a sandboxed environment. Virtual machines often leave footprints in the form of artifacts on the system that can be inspected by a running program, including: + +- **Network Interface Cards (NICs)**: + - Default MAC addresses associated with virtualization providers + - Virtualized network adapters +- **Hardware characteristics**: + - Single CPU core (sometimes) + - Limited memory configurations +- **System artifacts**: + - Presence of registry keys specific to virtualization + - Use of virtual devices + - Manual inspection of memory contents + +For specific artifact examples for commonly used virtualization providers, see [this comprehensive guide](https://subscription.packtpub.com/book/security/9781788838849/11/ch11lvl1sec79/anti-vm-tricks#:~:text=The%20most%20typical%20way%20to,registry%20or%20a%20running%20service.). + +The Malware Behaviour Catalog (MBC) project provides a framework for understanding malware behavior. Review the entry on various methods of [Virtual Machine Detection](https://github.com/MBCProject/mbc-markdown/blob/main/anti-behavioral-analysis/virtual-machine-detection.md). + +One interesting approach found in the [WebCobra](https://www.mcafee.com/blogs/other-blogs/mcafee-labs/webcobra-malware-uses-victims-computers-to-mine-cryptocurrency/) malware sample involves checking the titles of open windows and comparing them to a list of title strings used within popular analysis tools. + +### Is there a debugger attached? {#is-there-a-debugger-attached} + +There are several techniques that a running program can use to identify whether it is currently being debugged: + +### Windows API Functions +- **[IsDebuggerPresent()](https://learn.microsoft.com/en-us/windows/win32/api/debugapi/nf-debugapi-isdebuggerpresent)** - Checks if a debugger is attached to the current process +- **CheckRemoteDebuggerPresent()** - Checks if a debugger is attached to a remote process + +### Linux Process Inspection +- **Parent process inspection** using Linux's [procfs](https://en.wikipedia.org/wiki/Procfs): + - Check `/proc//status` for process information + - Compare the PPid value against known debugger names (e.g., 'gdb') + +### Memory Structure Analysis +- **Manual checking of data structures in memory**: + - Windows: Use the [TEB](https://learn.microsoft.com/en-us/windows/win32/api/winternl/ns-winternl-teb) to find the [PEB](https://learn.microsoft.com/en-us/windows/win32/api/winternl/ns-winternl-peb), then look up the BeingDebugged value + +### Breakpoint Detection +- **Scan executable code for `0xCC`** (the INT3 breakpoint instruction) +- **Run a checksum on the executable code**: + - This mitigates against patched code as well as `0xCC` debugger instructions + +### Timing-Based Detection +- **[Timing-based checks](https://anti-debug.checkpoint.com/techniques/timing.html)**: + - Is the program running slower than it should? + - Perhaps a debugger is halting execution... + +For a comprehensive overview of debugger detection methods, review the [Debugger Detection](https://github.com/MBCProject/mbc-markdown/blob/main/anti-behavioral-analysis/debugger-detection.md) entry in the Malware Behaviour Catalog. + +## More Anti-Debugging Techniques {#more-anti-debugging-techniques} + +Debuggers in Linux use the [ptrace() system call](https://man7.org/linux/man-pages/man2/ptrace.2.html) to "trace" (observe and control) another process. A running program can only have one tracer at a time. If you attempt to attach a debugger to a process that is already being traced, you will get an 'Operation not permitted' error. + +Malware authors can leverage this limitation by calling ptrace() on their own process, preventing other debuggers using ptrace() from attaching to the process. + +This approach can be bypassed using several methods: + +- **LD_PRELOAD technique**: Use a modified version of the ptrace() function loaded via `LD_PRELOAD` environment variables +- **Code patching**: Break and jump past the ptrace() call during execution + +The following CTF challenges are related to the environment identification and anti-debugging techniques described above, with hints provided at the end of the lab sheet: + +- ### AntiDbg\_BypassPtrace + +- ### AntiDbg\_Int3Scan + +- ### AntiDbg\_SigtrapCheck + +- ### AntiDbg\_SigtrapEntangle + +- ### AntiDbg\_SigtrapHijack + +- ### AntiDbg\_TimeCheck + +## Anti-Disassembly Techniques {#anti-disassembly-techniques} + +Another approach to thwarting analysis is to write programs in a way that attempts to mislead the disassembler, leading to an incorrect reconstruction of assembly code from the program's binary machine instructions. This is known as **disassembly desynchronization**. + +The following technique, described by [Kargen et al (2022)](https://ieeexplore.ieee.org/abstract/document/9825860), impacts disassemblers that parse conditional statements from the fall-through branch (i.e., the else condition) *before* parsing the taken branch (i.e., the if condition). This manipulation of the disassembler's parsing mechanism results in valid but incorrect instructions being produced. + +These techniques can be used to hide real instructions, such as function calls. This can be achieved by injecting specifically crafted data bytes into the program and using "fake" branches that always resolve in one direction. + +An example of this mechanism can be seen in Figure 1 below. + +![][image-1] +*Example of anti-disassembly technique showing fake branch and hidden function call* + +### How the Technique Works + +1. **Create a "fake" branch**: A condition is created that always resolves in one direction - a jump to the 'hidden' function call. + +2. **Use XOR for zero result**: As you may recall, performing an XOR instruction with the same operands always results in 0. In this example, the contents of the eax register are XOR'd with itself, which always results in 0. This is immediately followed by a JZ instruction (jump if zero) which jumps to the secret() function call. + +3. **Insert crafted junk data**: Specifically crafted data bytes are inserted into the program. Since the program always jumps at line 2, this data byte will never be reached during program execution. The significance of using the value `0xEB` will become clear shortly. + +4. **Include hidden function call**: The function call to secret() on line 5 is included, which will be hidden at decompilation. + +Recursive decompilers that resolve the fall-through condition (which is never actually taken) first will misinterpret the above example. Can you see what has happened in Figure 1? + +==hint: Think about the problem, then scroll to the next section for an explanation.== + +### What happened? {#what-happened} + +The parser has interpreted the `0xEB` (data byte) and the `0xE8` (first byte of the call command) as `0xEBE8` - a jmp instruction! + +All of the following 'commands' that have been parsed incorrectly are parts of the secret call (`0xE874563412`) misinterpreted as a series of assembly instructions (`0xEBE8`, `0x7456`, `0x3412`). + +Similar techniques can be applied at the decompiler level to trick it into producing incorrect high-level code representations of assembly instructions. + +The following CTF challenges are related to the anti-disassembly techniques described in this section, with hints at the end of the labsheet: + +- ### AntiDis\_FakeCond + +- ### AntiDis\_FakeMetaConds + +- ### AntiDis\_InJmp + +## Packing and Code Obfuscation Techniques {#packing-and-code-obfuscation-techniques} + +Another approach to making analysis more difficult is to use code obfuscation techniques to make the program logic harder to understand. + +### Common Obfuscation Approaches + +- **Renaming variables and functions** - Replace meaningful names with cryptic ones +- **Obfuscating data** - Encrypt or encode data to hide its purpose +- **Obfuscating data access** - Make data access patterns more complex + +### Hands-On Example + +[Here is an example of a web tool](https://obfuscator.io/) that obfuscates JavaScript using these techniques. + +==action: Open the web page.== + +==action: Experiment with different code inputs.== + +==action: View the obfuscated code in the 'output' tab.== + +### Legitimate vs. Malicious Use + +Legitimate tools such as packers and code minifiers have the intended purpose of reducing the size of programs for transmission across the network. However, these tools were historically adopted by malware creators to obfuscate both manual analysis and automated malware detection. + +The [UPX packer](https://upx.github.io/) has historically been one of the more popular packing tools used by malware for obfuscation. As a result, the inclusion of UPX headers in a program is often detected by antivirus software. [Tigress](https://tigress.wtf/) is another popular tool used to obfuscate C code. + +### Advanced Techniques + +These ideas are taken further with polymorphic and metamorphic malware design. These concepts are discussed in detail in the [Mechanisms of Polymorphic and Metamorphic Viruses paper by Li et al. (2011)](https://ieeexplore.ieee.org/abstract/document/6061171), accessible with your university account. + +## CTF Challenges Hints and Tips {#ctf-hints-and-tips} + +The focus of this week is to bypass techniques that malware creators have used to prevent reverse-engineering of their code. Feel free to use Ghidra alongside GDB to combine both static and dynamic analyses. + +> Tip: Remember there is often more than one way to solve each challenge, so don't be too focused on doing it "the right way" this week. Anything is valid, as long as you get the flag. + +Here are some tips to help you find the flags: + +### AntiDis\_FakeCond {#antidis_fakecond} + +> Hint: Disassemble and analyse the code in Ghidra. + +### AntiDis\_FakeMetaConds {#antidis_fakemetaconds} + +> Hint: This challenge was designed for IDA Pro, but can be done with Ghidra. Work through the main() function to find a hardcoded hex value. There are a couple of arithmetic operations performed on it. Take them into consideration when working out the password. + +### AntiDis\_InJmp {#antidis_injmp} + +> Hint: The password can be found when you analyse the code in Ghidra. + +### AntiDbg\_BypassPtrace {#antidbg_bypassptrace} + +> Hint: As with the challenge above, use 'jump' to bypass the bad code that stops you from debugging. + +### AntiDbg\_Int3Scan {#antidbg_int3scan} + +> Hint: Disassemble and analyse in Ghidra. Work backwards through the code to find the password. + +### AntiDbg\_SigtrapCheck {#antidbg_sigtrapcheck} + +> Hint: This one is pretty straightforward. You can use 'jump' to skip function calls. The rest is standard. + +### AntiDbg\_SigtrapHijack {#antidbg_sigtraphijack} + +> Hint: The handler() function does not get executed, so you need to force it to run. + +> Hint: In GDB, set a breakpoint in main() and one in handler(). + +> Hint: Run the program. When it stops in main(), jump to handler(). + +### ParamsRegs {#paramsregs} + +> Hint: Run the program in GDB, put a breakpoint just before the function of interest is called. Check each of the parameters. + +### ParamsStack {#paramsstack} + +> Hint: Same as above, but check what is pushed to the stack instead. + +## Conclusion {#conclusion} + +At this point you have: + +* Used self-directed learning to understand different techniques used by malware creators to thwart reverse-engineering +* Gained practical knowledge on how to bypass anti-disassembly, anti-debugging, and packing techniques +* Solved practical CTF challenges and found 12 more flags! + +> Tip: Well done! + +Some of these challenges were quite tricky and required using a combination of tools and techniques learned in previous weeks. Fantastic work! + + +[image-1]: {{ site.baseurl }}/assets/images/software_and_malware_analysis/10_anti_sre/image-1.png diff --git a/_labs/software_and_malware_analysis/9_malware_behaviour.md b/_labs/software_and_malware_analysis/9_malware_behaviour.md new file mode 100644 index 0000000..fa3703f --- /dev/null +++ b/_labs/software_and_malware_analysis/9_malware_behaviour.md @@ -0,0 +1,127 @@ +--- +title: "Malware Behaviour: Flag Hints" +author: ["Thalita Vergilio", "Tom Shaw", "Z. Cliffe Schreuders"] +license: "CC BY-SA 4.0" +description: "Advanced malware behavior analysis using dynamic reverse engineering techniques including process forking, network communication, library preloading, and binary unpacking." +overview: | + A CTF lab focusing on advanced malware behavior analysis. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the program expects. Once you have found the password, run the program and enter the password to receive the file. + + This lab covers advanced dynamic analysis techniques including process forking, network communication, library preloading, and binary unpacking. You will work with various malware behaviors and learn how to analyze them using GDB and other reverse engineering tools. +tags: ["malware-analysis", "dynamic-analysis", "process-forking", "network-analysis", "library-preloading", "binary-unpacking", "ctf"] +categories: ["software_and_malware_analysis"] +lab_sheet_url: "https://docs.google.com/document/d/1NmcQ3fZ7EXZYzYV-p1F_Snhu0-XbpeSCOwjDT59-yZY/edit?usp=sharing" +type: ["ctf-lab", "lab-sheet"] +difficulty: "intermediate" +cybok: + - ka: "MAT" + topic: "Malware Taxonomy" + keywords: ["dimensions", "kinds"] + - ka: "MAT" + topic: "Malware Analysis" + keywords: ["analysis techniques", "analysis environments"] +--- + +## Advanced Analysis Techniques {#advanced-analysis-techniques} + +Before attempting the CTF challenges, you'll need to understand several advanced techniques used in malware analysis. + +## GDB Fork Mode {#gdb-fork-mode} + +When analyzing programs that create child processes, you need to configure GDB to follow the child process: + +```bash +set follow-fork-mode child +``` + +This tells GDB to debug the child process instead of the parent when a fork occurs. + +## Library Preloading (LD_PRELOAD) {#library-preloading-ld-preload} + +LD_PRELOAD allows you to override system functions by loading your own shared library first. To create a shared library: + +```bash +gcc -shared -fPIC -o libname.so source.c +``` + +To use it: + +```bash +LD_PRELOAD=./libname.so ./program +``` + +## Network Analysis {#network-analysis} + +For network-based challenges, you can use netcat to listen for connections: + +```bash +nc -l 8080 +``` + +This listens on port 8080 for incoming connections. + + +## CTF Challenges {#ctf-challenges} + +> Tip: Here are some tips to help you find the flags: + +## Ch12Covert_ForkFollow {#ch12covert-forkfollow} + +> Hint: Remember to set the follow-fork mode to 'child' in GDB. + +> Hint: Put a break on the cmp that decides whether to print the password or not. + +> Hint: When it stops, check what is being compared. + +> Hint: Watch the size of the data you are examining (this is randomly assigned, but it could be a word, a double word, etc). + +## Ch12Covert_ForkPipe {#ch12covert-forkpipe} + +> Hint: You need to set the follow-fork mode to 'child' again. + +> Hint: You also need to enter a really long password (you will see why when you start debugging the program). + +> Hint: Examine the try_command() function. + +> Hint: Break at the line that compares dl and al. + +> Hint: Now you can either work with these and the 'set' command, or look further up in the code for values of interest. + +## Ch11MalBeh_NetcatShovel {#ch11malbeh-netcatshovel} + +> Hint: This one is easy. Open a new tab and run a netcat command to listen on port 8080. + +> Hint: Run the challenge. + +> Hint: Check the other tab for the password. + +## Ch18PackUnp_UnpackEasy {#ch18packunp-unpackeasy} + +> Hint: Copy the file to the user's home directory to remove the setuid. + +> Hint: Use UPX to unpack it. + +> Hint: Run GDB at that location. + +> Hint: Find the function that compares the string entered to the password. Note that there is no function name, only a memory address, but you can guess by the arguments to the function and the instructions afterwards that it is probably strcmp(). + +> Hint: You know what to do next 🙂 + +> Hint: Remember to run the program again from the challenges directory to get the password. + +## Ch11MalBeh_LdPreloadGetUID {#ch11malbeh-ldpreloadgetuid} + +> Hint: Watch the LD_PRELOAD Demo lecture first! + +> Hint: Copy the challenge executable to your home directory. + +> Hint: In your home directory, create a file that implements getuid(). + +> Hint: Compile as a 32-bit dynamic library. + +> Hint: If you try to run ldd, it will probably fail saying your dynamic library has the wrong ELF class. Ignore that. + +> Hint: Run the challenge program from the home directory using your preloaded library. The password will be printed on the screen. Run it again from the challenges directory and enter the correct password. + +## Ch11MalBeh_LdPreloadRand {#ch11malbeh-ldpreloadrand} + +> Hint: Follow the same procedure as the previous one. diff --git a/assets/images/software_and_malware_analysis/10_anti_sre/image-1.png b/assets/images/software_and_malware_analysis/10_anti_sre/image-1.png new file mode 100644 index 0000000000000000000000000000000000000000..cee752a41d301a75179ee16e60e9daf347ec1243 GIT binary patch literal 52567 zcmb@tRZtyKw62>30trrVPjGkF;O_43?he7-b>Z#{cXwF0%ff=YyDd)kK6{^Cr|RDO zbpNWB`OrP9y1K_4*eAtJ7|HY_Mye0uh_F2!*CtvHiv5e$90wi?mOq=G? z{|j3}K;QQ_{o~7_w8Zj{FJpgy>mC1UJ_-NLU)(_hwc+`8g#$^@S9&)7_8ozQ3?o&N zW~_8CX#RXtwdZVY%biSm~Vkv8Bt7$i^xqaFlXt5z9We*PQJIz6< zyfG54X_3)E;fYifCTmJpM?h5`|-I*v?NW^zXuDS6W+{FKoDsE|pvUAm?ofXikH6w6%|G5OF-1AIdh4#aTaxx`6}K(Da9=ED!(7?tsB0{E@Lrlo`H{YKr)OHi}pxZv3<7>0U8mBi@;OLJU3ueS4J6R|cJGbK0@`(j0 zvi(AqtM^^?DUsFhzaGgi3%RJ255y78yf;4!z8u}X{sa3+-(a{OP{c#J=p)D{MzkZ%cY7~BIstHS&`r%T; zJ|yfAH-)36R-go$Or{8tMA~Uz#-uY&D4@-hU8cxOGD2qGi`o5r>yGwTlX}0wkaRI1 zgz)gA>FPh8fgp@@Jq5d0N&VfEHJ$%G{eXX^s1HoElL0`LsF;mhe9Fe>hkIPxNd7>a zf`&~G&UwuoZJd~pa)C;z(T*x7J$MT}h+42Ku`*H8Fxl2m5q#a{h=N$5J` z*^vZYvm9C6+L2!@zU$I%ctla6Mz#p-Q7I=4DO$=gu{Y+7xei##@V3Vi0k;U$_vS1SH<{GN26!SI+eZ`_#Btl0pLKow>it6&xPmpE(jm7YV&oMJy? zEpw_*v3{T~_z^C*K>*f1IdlI3r$2+hplmJzx-C!YwJ(kFvm0l@;Om)}8qo`E+#zAG zHhQsLjp3ckSV*^;-@O4tCA%&OHk+Ux#H1RW62NDb@DW2a^x|Z?>*Tf-(=P$N`!NQ+ zhMRq~SkBzG6N9P(Szf94L4G7gU{Zspg)8G^ai>t^Yj%8EzG?595KrY;^-{dK$-T|u z^h)04Hw7?`g`)Y>9nMT*VPjbj97Xt+-%UAqrE-uZK7K~5>sDWB^r83=ks5}(K1_+A zTjajaH{REAl%`JhYvF2hr+CdxGqQO^umLoM!q-?a8tyBcLHPP0*{=>XT(Q-|nSh2D z-Wn@8qi1XiW|}U}7CW}E%eLJE!dTH+uRH9`sERh1RF!83!y()$acv`0^ypG`&SpA_ znE_C^`iI_-=Z7BBtGc063xbVqYs&3o5EFw^T=j0~Oj&P7gM8f^!=+>2^EdHqeFeKY z2{=Oi-mxJ1&QXQv%VF6fchhnALh}@XWe%Xhr2r~+Mj0yRSB31H@#?Y*8~z8H{g_1& z51rkW%`W_VS`Y&Zx3O`0yBFCRe@B|lj$86il^gRL^irW`BMoylvP@wzsY7|s(6hyX zpsH1$APpM$exi<@l&nCQT*q+eZGGb*|=e@UvdctdaNy!Y_lDDJz|8%%B`b$n$hpLabV zM`~GrmB%$Z?-5!yk~KJRr!GlO6L_k@B&!=8w7b=8W}DRqyxO&ig&)v{cItqopplt6 z8%$l@vL|;%o{TBP!q*3qHx<3By%~MljrVwzCMM5uj=~M(Ny=TtSyJp3I;FTnE7i!H=mOq z*%^KQvdXoNB=%Ubj2%u24e9M#+PkMZF1|YCJ*mijq(-RDt2v!)QPyKx56?&nm*Y_M zYb92qb$#>h?M}&TC8U)U%)^2JDsOiG5-v0@H5H@3CMUmJWh&pA*X`#j zFuLdY#rZW(z9u6^Eji9gM+AiMv4PzS8O?**$KAe6(H>D zYQ|@MC@B+msFB@uXquw1SY~tQW=YgYB&ffCv%6U1iBs*-`d9K}S~ya1X85Xmkq@z& z$N3pU1sEL3JQ)^+)4(2q_Y3S}Nuj0l)|5eMvL!_u>Ao&6cK4O3?)aM{E3*bZp_U*g zx(iB7$wso&HB50UTVcpi=UI7p%sLGWC-|H9h@X*u(S`LQd|jnImty0F(>AL5y23VZ zeIline`srQ^!P6TNEsh{RirW7MeE7xrc5s~yG#0em{81MRVG+wmO?B_iXEvyFiml1 znTu!eSh{owEXXE`x;AEXcC9ce7yMXkYjiymT2Q7kyaZ1uO(oR%&`lRR^`WRzTZhF4 zM#L1D1{2HaaMG*Y0m&6%GHDsHjk?}N~tw;GG>*M z=~ZMAHuirRz3C3-^uR{JD814t^~9xfdd8-IIKwKIfQff^&B|M7;`mxUf?e=qyh6<`YU|P~+8J(L%4Qq$#mRAQG?T!jq6d&ByuwB*v6BtO zL)i!G5T68NYj3Kdm%kQb-_GmQ-R_w>noSxgj%>Q1=iN=u2uVHg4x?+0GTpOK#dLElnlA(Q_GXs7FmD#&No7kmwzqRdw>HH@d{1 zu|Bx);!zI8Pyt0hfDA?8BnjkKsrJA1-uc*C%Yu=zxZ#i6^8U1l=Zur}1 zdjh^N0=*fH6f*D6O;52#PA;uT#Iw^#yFx$A+veOKY4Si+VQbECp%k$wGj4_IoAZoPrS6 zT`b`nwvU8RPsDI$x1xb?x#a1B$>&MK_!O^=wQU3R@dn*Wu3s_OyWjW*Qdzzp&n!I* zG#H+wd3cB#rt;x|_kRLv>p&skbEN9NjByUDFUTLD#&I%i#)4)ym!eU@!W`Xl3-bug z0xt8Yv3CGtJwa3DQps&RJ16y*R_9$Drn%W$wf6wM?8*cRJ;CUk)Dpejo4uqt1Ogsr zKNr{&)k^tg2wm+^W+n%35mT88+-3HJUUh+GkCld{pS_LjEj!z2h0kd9d0KIXETL* z5bD*9uc|-@FLh{L{`y0KIU&7=C^Rj6i5T}iiWNp&?7tM@_%ZlTw3m3O&x`LR$lq$%BhT3a?ucYEmszq zaj-XlL_>6$Y`bs|?B&wLJek5-Q^(k|kT7T)agqez=g@K~S?aqql~X{NnL1YMb{#*K z-;(Np2dC-Y9Ibfh5`Qid49JJLXIDYV%Z_u~lNXxf3T&rg%CW5(1MQ~TRwk-94kK>W zl!zeJdO~0}J|nsn94ol>3`xB{L{nXln$54|f2h)uLU(ot5hGWy32Tt7Xzbg+(!ADBp`NqH3STzC@ z>dzC!i0Hl#*T1<-KKW=<(bh#P6zlah$Z znC`aSzP)c)KlsUP6or3Hd66}GdUP#QDuoXMa~FJTjfrah`*bEHY2L$|OPa2tv1qz* z!&aqL_*`YY+r3+Ld5LWv%wfVPx2|3B9S%+u14HC*CTtP_eMphyYBoWnWNqk)A;|G~ z%B9*W_8VtkD8Y2mPZ_89cWn<9APr(-yNJ42md=%6qYTSLxWlLYB2W~v%ER-=LJJ$vXk3MTr^#pW;qxyj7? zGYnM7!mRX1h6%H;wtpxlX1a6_BJw=%ytM39NYZ-v)y~txY&0Pg^92h;f>t$?y~Kzf zW1A{mVx=u83(>VmC@`t4f7Didg|W3t<$$u9GnZs#23I@t$9bnpidtA$#4OJ_y#{OWmAPh%9Lbz228v~d(P`B2?~5&6PMAZwko$j%OSd;q zm7@`XLEaKv_cWNj38*pi6maRzmLA{n<({ z0YbFMrW3jMFZM-;!r02-a$bOHbr$DIp)2tsja~?z(YXpi$6x^jm_I6idLat}h94}I zAnG7{_df73H6AI^Klk?SvDt+kFm0!WWJOcT2Eo~L8%Aglt@9R;#-ws{>Lzwu+(=K# zbR=kPy1n2oJb88h94_M&c;iZ2y>-cbhJUi2B|eC&5>J%Q+zB5#Y@?V}5-*e(<6G!^ zdJ!cKhEpwIw>B}B<`4Nv-Aj}*jRrwXkTJ8$s15)Av~qJIQLUFqYFK_pV-I(<4R!KU z|E*{?om(xXY&hoMk{u>=BJt&Y{-=bMK&RfIfkr3a{ML%%%Y^0?2RtT&fd`*7Rno5q zK694B1}Ic@HKuk|l6E=1iCcG$c0UwhYaX}^oV?iBm!lhsTHsh1#q>^etYt<_PWq#} ziB3E9KCQ~SYw8zuVEXlmYA`wqkD~5}r8#Ia$Jyk<{;m0nG@%$*NpGH{hfV0Fna$;> zZ$dNMA-r?!1Qlor_QVy3Ec%r{-0z4+{~F?cd#*;D$Q*eKfq(Yy`*uRU_N^#S_fh>z zkw}UbmMlexBoqEQLepnQC*(QRy#mjgC5@i$zSMhq%EixF+>po&I)Y-Yk8gJiiPM3@ zgNc)yDu*MB5u{%??L4fCe$NG(ND6i&KH$AKvT*gx!!}rL%}hM6!If}h5LHthJm7Q1lU4D=eR`pxBHTi?~rDuv6XP1pmF&XGXx;d&EXtsvNwNPx3F1* z5eVU6lX~h>T1-h$o=LffcdW*?y?*gcd^qk{ijIdx7Aq;<#MV04wSnr4voS+)(l(;C zJ#agF*y;Cev5I4c<{ZT%k^kTQZ&LlrHqe$LhB7ddXYR3`d$K+_q^M>o9kX>dFuV^{ z+gC|wS&EB=ZRp{C=r2~Fw7`Kb#TIiD_v#_ou0DR6PL{8Xl8UO5?>k_TK+6au${TxNM55T7>P9=3icJKeDEZ5xJfVV&}`dM zZn>vQ2rdlgJE#~rTXPU=NtF&8ODl|8a^_iGF2YgF6H%-$-{7is643iDw}a!IO4O^I z0*I6=24TNuRbn-rvTmWA?#JYg3Z;NCm?qS*!)RfG_4&ujdy&7XX9Wl}cX};EXL1y?_ysm&kSNuuJzcnXV-&1kWwyD zF>5-=-Z6$|Q%*gqnSc3b2fQ`;GtA>^U(b08U?q9(3ZLDI|1(Qtl{X@fwfzP<(Va#E z`zpurc~H~yCbX0k13<(c1ctxs{G>J6%Sq_CW6dCml0NDp`b<%MuJ`zE?fa!-zOd&8 z+?zHT&B>rO_LEWSrH{(~!FF~i%nRek=wXd6-l>4wZKXww;VGS=q%J(J%v#jH-X^Gc zcD@Dfc*Ac|9awucYw2@TUl&808&79Z#%Gji37XJE-^sxvrM~DdmY|V*K%43iqL$LY z$Wnx2-w#eR<=r}eGFVIgQkUZIHTlQdjdrQU^HG=cdRc^b_N9v zD4TTCQy1$&K%*%(|EX~eH@J~VmLIheqe`X;JU=HE@EALL_hQROp{vv8?8xAcOfaq) zmZ~CY*wtwnL*K|?C(~P}f4pFgi-(kTuwExSfz6C|d2?Tv8fyC0A6u-H7*409X7^<6 zy~&U5Ss3h>>>mQJ6r`iB3NOJ zg6yZ!63{$XHbQ|Qj$EYBQoz~S_DUQ!?#8}N%5*em^7`F`X0&hq9+5P5iS*EIjvwU= zhK@rqvrEgT9#BHQC#pjCCS)Z3+*09&j34~>{cGn`aXB78(tl4R3ZoF<(5=4Xq)qXP zm&5JX-4fD!R-)t!LWjNXG8~K4H^;OO<-fjx7u6kYq^-KfDiw z5R)2gpo~P>ciyH5;|k1Z0v*j3Bt^LP-4hwnGrZj{QNd=hpd&5tpF@66ixoy!hO8Od zgz!`sesby;+b)TzqTEyopOr&pu>?LE0HV>A&w*GpIJd)noy=R(k35($zJ`_H1aDWA0xmw6qGBHfy4(c~xPlyH}eo9wfct;R^juXX2_lr%a|Hk=oM6-)hRv z?s%*>KXhxh-y9rfqtR&F|DlM~RBn~|J!pmEEVm`YIR|GK^EhqcR`r)u91Z?vQzV;q z^))ed){KR+#fdUwPiPDer5xLrEXbaE54>MBge7u3;S10?ld>eJF!y14E zE4J42ozPA!tysHKCQHC4V0@&8c#OToECpAkA?h#W{#1w0JB#Es?mDilKW__GnT;oS zlV@~pD6?%3Rj$?_yM#R!eJBO-Hm%`<$e);%#_-zsZ!)&hO7#lgsnr|zLdHeuv-yW1=h~~@ zRM4;0XwSt>boQwj6cLJcW2!AAZ<~lZ)mi(4+wYuPA!EYiETdE%Oa3xd zb@$xeeR}KstqFywvgy1Huw-oR(D4C27?tsBTOllAE%jc{Vs7VM5+>I|A{*BvnK2kR zz%$AN4cyW=${NKfowB6Lw7Fu%tQ4Q~USCkpfI`N8Uv)fF9Q%a%b6*&=BvjZpWo@Zs zr#uY|zA@`GzEx(Nefl`%ME*QmU-Bin1*+WV1WU5P(W( zwlrqleifc!KzC;{^aOJp)RHE~Q^%RXasOnNGd#)BkTexx18GYan`TV!N;@$It#7O6 zHnDl!h4Eo3pAJ%U>21-Lg=r;~D{WjXt-*WuE3`DhYvtkLO6yi8uCZT9O!h*Ks$Q0E zPi9A5Xz*rd`1r1O)>?a{@tD~gQzcgM&I#N8O(tI1Rd-{KC=Jrp&)>KUQs+Ez!oQ-4 z?DlF*VLj2&#Uz5Mnv12j6{?t1oL-$zCk&f`I(;PsudVo+_+dwDofB#(Z!m4u|8nLAz(kJ715Iv!6NsYPWIMGUc95fKTJ}lvQYUG%c8hWEa`0BFEJ_ zobwYxOABsR9%iKlMq#muvs7niyVw|4(Wnm2jf6yD$?tZ$^Q=AS5D#AbOE>LffR40! zX)X0Oi*|O;5)Ud;T9&rb)$vg_$!~X0Bvg6#$bF<~bj<)h&Q24u4m*!)YSteis-JD( zr9T5Lq2=wf_pTCPpI&(PGH&JEHbBC;t35N6HD(+A(st+C<8!X!9<+<{4(X_vo>f#C z91T-2KO$}R5PJr%X|tb!A?My4-~6!I{5X*7U5~Yp-q3y*eMsw>vi6Z?0{5op9F-S- zBveh81}CK8Kt_?re{)aP=}k;BJQPays9o}haFWa{YUxu{{W0I6#_ zpDapXvs(<(YNOwuIBD*P3@@U54xqg?u+LWIR+BmxRZrhztnWYD|BghEa^`jf*Y}{L z%eOUgBb#>h4Vj#AA~`U22&MW|v(|>_@r|VDlYWdVs2-heH#u<1&vWiRf1fA}j%ZRi zl&@kAsAl%%jqG!rf>dF@MBqkE?V*z%M1v){9~Tksc4w>BhI4Pa=+%}xA8FuJ6MGeI zKdpVP2HKUBVZ-NF93q!2TYzA+39@`a{c8L&F@)D2;a5&hFkrv*Pcej~_fAwYZ_W8j zZNcx)G&_-*Qbt0&*9a^m{-4K-mO)~$I~N#aU$vj>B!t!%XFs=gd^JwoitQX$`bl6c z$9_AwEXrTd>9ri?_b+o!o|%SC4!H0TH7zvoi)smco0ZsicZUB|8HirXEX(*uMM~HQ z4Gl`@pV<;ICgQi|<7oY}Nng*q2o%p~CE z8B-if33F?6Fo$xxtLRB|c!`mta;^w}`^o={@IXZB84AWu-=c0Bh{u&J=w9QtIMyek zW6!M3*2(Ifg&f;GPNLr0h7yC-bB$UtBi#VyBqY-v{ovV_Y|G~(ee4rQqpJF+@kUm# zi6ZL7VXS;ODwi#MJlo>C9w)`{!+}?a>zmFo+EE6fRw8-9yW?Zh3D6+6$dwj{zg^Bq z=<4p$^2Ic?V_%7o!XOVa^ z0}08kZ?NdArq;A-xnUNwWAIFo1we+y|b0clV$QN}S9DqG6 zRjU(MbNaP_{eFZc2Fw(`aODkIt@rD~wtb3&&a%A8&K7LjX-&VzZM;8;@Wf3@spda2 z#9o&b91G594duD*P^TJsMH)Q_&Qm@GtD)WoO?Y}`=?{-7i89wp4k9@dd!maF6Xp3o1+zE@8 zy$b75R#BPQCeT}J`~!aY>GXB~2OqpW|B0OP|H2#srhmv(kU)Kp{b>GGEU@YK(&cy5 z6Oj0~mr=>@F(f0r*8q}Bdkaz&|B>GN+|8@+@2&9T2of$n{T3m!`tR?JkIbXg||)J^jfS-0)u_)TgC22XPDLlPq*Ze0y7I36d-Kcs4dvIrCvpwFHZ(5iU%N zKJ)@lUj{95+MZo=S1Az4NjzN)_&R>IsFv*R zz$Q-kSa!!eUrG>5v1UB5#$YDMWlU!+l!*G=SQj@aK)uPwAG%7ZSW3udr9Lpb z)8m`6!Kjbeeoq+`;OcL z;URu6>`uIfaLf=IUDTT_8ZcUUM)nG__naFz1OZNv-%M+_ls3EpG8xd8_$&qShoIp$U{pY8(pvP1W;kY&jYP7 zs^EOG_(#@tCsuI$RB+~U1Lo71o20)wnJ=(cK0%C>-n>Iu;SvL%CwcvDb6#qa_ok?* z_*bTJ4obC_e>J*>lXI%Z{FY3f63d-J?q-FnPqq}lv;thg%lXE?w>=MbrJ<&-qV?=@ zqnUb7n%{4AQ38GEKm2hE@zqQgN5+P^MiXSWu+seaRdPDgISwd3OXnzw(rcb zeepE43JxpR1km)|y~Eqw!%5;0>PD+PS>t|rX3Cm87i=a&U~(32b8@MfllZ)c<2-u& zP9&AJLGe(PHB}p@Ku!J6aJOeBC+9jH~#;yKWC~*jM|8D0~ zVaT5$rv(b+H)VYJ)02*IIXvTpg)MMS+o!)h7?@f#O(k0Xlt&N)N?_5Z23Nq<=j@C&hjU!?K|hFT2Gxil7dHB#+iYTtiVcTQzi{m%cqRe8nL6X<$aP&bhf@DrJ#-&UKsTU~WS zLMq~M^}dS#4w-P8?^_F{)P~-`(Qz`ouq8U?(-CuN9Kpb|o*xWk_0y$l)QZ;_hJI3_ z3ywevQ53AR*Q!u+Zd**|Tt+BK31g?8-T8nUiTiBL1a>vYbCm65Zk@vr>cv;n{%R>a znAl?x00%>rI-jxR+VBMOXJL9zT^H1{px-(0Nmqj$F(<`I=Stv z;ELEc&bsp+4;>4Gr&)5~2mhccG~n&(ue0R}Al%QXb6ojt#@T_E*#jp_vqvJmpYsOJ z#}+e0=4$kUr>{#jLGtg{ojzkFH-@6sdFuYF7K=Jnwpp7Tuq%LNl zCpB%j2RE_ulq2}s;gXtNAMuMTiXH?|4z^|7u-acfhcfc5skMBTgG8_fqWJ3pR+NCs zMBHjqLmgQA#Xvqv{mtFLThv(Yp1k#<1a#i+KPj-f9tru_TQQjumt(2dVgZJ{D^0<& zEd{?8;QbTAc2dT+(*^L%R?o}z$b0DZnFlw`PcJK5Z~iie)xa8_FQnHe`kT_Og?ty- z+wTK)oq*)nbT#sav7O6_wgsS4=}oE}HR1c)qf@5=To; zTt#emZg4Kx*-pmw<(y`i=x`*-a)?ze`z`ILYRH1whgjHZ-^+Z!WG$VLR5LVr4UQUF zt+8gr=7VU}!RJc~LYL!eLpCt%@&}+2eX(M>L@--~Rk%*T@!|uZ|%_=@t&Bip}x~)zhf+cfM073J)Ydq%<2(hF z=vu6)&(_%YO^@4?K0P(tcClLYZfMWvq&6#cn1?b^KUw2weo*U)FQceFVkU_S@bnh_=-m=C=S&|Hy=!8nD2^yBhUW&v@7<>Qf3#Pcfl#~Jt^kaIG$$PDNzB!*FH!MV_l`( z2!D1N`tr}>E`Nnw>wmZ?c16imK^y7x@rdM`#uDd{-^+lT%JpS|8*4V6*yFkQljPh` zk;3L$?^VD&=Qg1d!{_wnbhL3#b%uI0I!sa%8SNs10c*~ux&F@;+ zO3ipOwfPwu+N+DpbmXHGFKO#+wo61?{48E=L5C+A8Qw>$lOL);Y8t!>$_Jkx`40xV z`3|N2JTEyJLYnQdF`V@SgoVF~9x*Ys8yU`e49osHXB*lY;n$?%UdE?J3bAM@yqv;1 zf3?E|*AxzQ?emEoZcTsppPWh|H1ghpD^N%%F`7a=<~8yi+CV!UygGU4&sT9~vUuaI zdtOm>Jl&z5?WxbERPz6mem8DX_ts11_7>&7#^mn4K)Lz*krAEzY#RKHhq( z=4FHSKE4*QBWwOWjS{rU;T9ztbP`GYl|W>de|Lze;V?pQ#=ZNDGn4qqM`Vr^3L|QcPO0U4f0sC2dN4ew|Pc{&G!xFp%CfBuJNS)^CQB z$$Z?=@%qVWb_=A3Ud^Sb6C1gf9jwHwaT7$jWm4j>h%ZF_TJ4u2@+&j3V6pbtXsYBC zY~%H#8CXhbrK}dsUC|ISrr&y|M;W^08b7xD`|iWGKAqFqII%&QRkMknrgo39XhYU> zE+F{E?g`-ZxK3?#HEFj{@7Gfy*r(lOCF**L&y{lZb#nQ-ZJ@92f_LAL-twN@>SGmy ztu-KsUcsuBH6tl{V=I#>$}l&hwi9pD+6i2^u$IGA-<=a0$}WBvecW=365sykOeryEP5&N!v@|(R4n<{Fu~|$24z@QS4mb6i;rV zqRn_KpNEv88QFMhD;8bE8BNGL4^1Vd4FTAKLK>VwD5!kJVJrExROm zqiEcDm4MS=+6?Ed*}_@}N){pfs7raGyH$5+n-l6t?ncz{913~~r$M;K>>v@~N#c?f zUJ z#F!w98Pnt^*C`~&mpRKiHw9V6!RC5w@3)wEU(Y#)l9;|Td=oYl>$ zfH9LOS$a0R7Tu;(DWxahi7vc#L^#sl?$%wBb#g9l%%ZnVU~h_sv`Pzb4X#>-5RUeI zrz~PUHBr6wt7&p*8>M0mn;cT8(qG;9;oZ>rIzzHCPS+CQbNsSgfq}Ev+@twU>f&+s zyk+-d1?bH^tAdU>k!nntbe>Q`-Ph~+#CsX5u)92Zh< z@IOVYIV0UpgjDC39n%>3!(Ye<^%UpIsPMpK)c*%FR5G=&qqf*6g;FirPUN181v2%B4bh`ntH@Z(0{N2vO|H`;QV;EX3hVN^Fe^O$BN5ys8IhyD6;OP-cUNt zl$onjgEfsx00Zi$9Ywl#tk{b2qqFIIC8y8P5)ktYqQlcwSj8F;bpAH*#(D}4?}Smr#yTIZ zmBVO!o{Q{{blSQv@ma= zD53NO%>#TnQ3iC#%GcU)A40#l_K`;u&H`Xk#*~_zDXjJtZr=bn=YA*BETzoJmMc+9 z#puxOI+7z4xEc!OTcn}>`eD?r?TlqWlE^=6t-SO2Ka1HP5?UgPXVf-@&!moIKfKNL!2x0%CxJRFzS%+YcrrF?mKJzeB9@%* zSP6tA%`)k?Yp4k5P7~Sy2yZmJ~!7JnNuyE1DM@qbf z@@?edd=Y<~4H18jETd3B`oDv5AE&KL&D#lz1`NcKf zuFqs)=wGJ@NbL9q={nltkENKcIBqV&aKwa-PFDSps!k3#$4>d-iV?j^%e63Nsx3w; z#^805hSnwxN;H{c`SD^uvCzw5;hH5J5pc|=>>~;UG71K7i%>A>dlT;$ zb1~>5tj7!S>yh8=^xKN1WrDfG;VG)oj?X8e6~Rt1gx549DsrrrIuTh`z)@@yM)IJ5 zz;$-^A_xT0I5LGM_GONh+ZE8i32PW%NT#cOCOa0R37G}a2g2)L+Q&DXgU)nN^U>Fs!Kcd0hFLrwsR|>J zD$(w3Bb_Id>_i)bzbDxM|H;$^8-CV?8+JF|HCh0g(jk&gIqqoPjWoehB}y}E5sPk2nFv9RD!y2=a{ zU7aF&StS>J)=C2n@}$jzHG;#6w>2}Vtkn|1g(IHUZ`$)U|G_iz#4|V6_OAa%AuRD# zGx$Hi;;=?Y!dh&tp@XI^W1g^K0zqZVqD_RU+HvPV;5SKGlJEzLpE3r-t}hYVd)_`q zTTG)_02!E??>;zr**|B4%EqU%keQ4A==MSHbI_~B;V!`iP7xlqA0Qp69RKgP9wzY~ zimyp~_mv3f`4Uh4u4Z6pdB1dsF}I~z)coTgeYwbMBYX+r_EhQgc#Bpjza6*06u4VL z6ZUSO21t$wq3Y;zC9=nGv+Q2=e7|sF@qEuBarWPB389FfU5vlU_)+ zfe0(mxrJlqS8(A9h!ar=nuzomj2LM*bB^uD$b1iIpEAEjVKH{*6w~jH7=-&yuTC7D z{T@tFjka41uU1CBeg^Uu=`0AZlSJ1BxdCsUZxLa5faOcz}+rb_(x|8#V)f7Fdir6 z)G^l6x&wc)QeA`+PN7Mx6K6&~fYspUK1w9~(RX8XIMoLZ)B^S9N<~Coz7(VdF14fa zon5GC{NTWNMctk$Y?&jaaC>Jm-X>v(fNd&W1w|#r!A1m&i}K zDU$h;Se9`wN`NL^bw>gfLg@B7*j>oT8Vz4>oGisREsX2Zc}1dB77^oHBWRQ)9}o^V zsL#W51CnUYmHRrz(xX%}M@chZy=E zT(r`CFA7Yps)QTfVz5oB7F(Kp@_jT^i?xiE-D6WjI-Zb!^(iJNK7ZX;^s}8$0Uii2 z`^l(Vtpd6zl0ffzyR=J_CAGUVR$^=|WIHEtq3*cjpY_>7l?usjz9Z-O^vV_vL_CQg zYb&Rl^h)3^9!_K~ApU?Wx0%y8y7uK)VKwy#zNm>C9L*?Ec5^nk$Ie(4bFdv!@WbyQ z05n{?AW=aqN(Nc+99#uY>4gkS{gi)H)D#nExYq_Z^Y4 z;)dJ*nnvzEpT7 zG`wynrH?C(q>QcB8F5be{(OqCSM%--SXzlpn|f_4^IqvTyHN%Dse3ZHFa0mp-YTlC zwQbv8Eu|DF?q1y8y|}x(yK8Y;+}(nuxVyW1fZ`5Cg1b9^)>@Cf^1WOC+{nntM&=xI zMDF{P<6?3M<$bW3AJW&sDMnKjhqH920{f@3gIV%}j5>R{OqsttUnO{c%!8Ahj8qQ*Qk)DWur zMPI^Dv79JULq1=mEG9~~S`&4R#7grrPMbw#s)P;41n6>;>mI#=XWY?#fu>cg+?LA# zo=IF(xFN|}SsZG>fMQ9(?*}=}Dd_@6hL=)dqh%KQ90X^)u~la22#6|BoUs2(z7BVr z^_EVsJENfQAjC;2f*TtZ?V1H_hI#OtcjTe`)8{W?y6DbPZ#yA7Bf3lB(>NwhZ9dF7 zcE%m&w-}~QrE+3xGfLA${Er8!Kdb3vleHU))t=Uh+Sf9`h##l@X-3>z<$R}P+7ek6 zY1kC%jzwqY1_sA4@WyOLkT2{mz}LJlQcXq?TI09%HJl{(_xKbJ{-T+k!Gc?}X5U6~ z0vy}k&^HuMKCx10U!B<)uM1QPM6AHvUTJdv!Cqq{+L3@W0$>F0Bn9jbTaGXSoen@Q zNu`Q}yl0yUO>ii%q5SY#S}s2pAi#w{WkhGA5<{PT&87bZ8stU;2hjz4ts)bC>@v%QC8Kr&{RNj?jg_eEBtjuHIa0a+3V5>J;vqQJ2dXFbraz z72<$IBaD!3Caa~dRODBjR0S6tnT&u#*s{>KD3|Jh-$e@KLay5feMKH0^T8E@*15R_ z?i9xP{@Y{uafdAGkN#0Rd#(9gpQ-Qrn0PRhez*D(X!N;`B&_M(@}OxN{UMS8{zWm+ z83PXr-oZLk%&`+-zF5~Leu$p6XM0e_!15bbD1hpWiPz3_6&P)*T2Vx+m|fPk5qVio z)6Z|HkbJWOk!-p4eQIOyXUPdBS5S{N1U(Z34w1CrQj zsZUU*sDVw=mkx4(t+9MX@gb}FU);_AXP}Q`b|+ziw=%uJ#aCy1%Cbyr#q%h7w$Wyu zDyrvdh;QmyK)`C&LQX3;H(0fkD(PZP5EeL>+xt?2CtX%LONFrzco1yVbB428@Cj~# zpuFp{Q3%z~glGtAY{o&8wVaLLFX6GAl8BGe_t7dkkFqiEBk`P(Zmv3-^4I^KC}Zb$ z9rgQJf=P?_^Y_`0v!bm)^R*n9X&kus?d@USp0S;e^aq-{R{6IV zr?YIV3+XD}E5cn|A&F$J{{Hwlmr9+|_V0Bk98Je))a_SCUL)hDB^lFs{g$XK%_7u# z=BQIori;Vb`V8`ccM`%L{@eofM}Muo$pfTpzKYnjFl|3XqT62=IfjTSz`kO&XJfYQY#2{2}3m-ov|47je^8!s*@(hnf(c6NwS@vW`#1(y1Mr^ z)nd*T2eR6I0S_`Jm)3=A2J6Oe%jC9PmubJN4SS>LhE4R+0tRSQdZt4&uo#?g_XXVT zm-@hl-aHDA(dv!j|1Hr}T>Dp|>82ACc`T0|C4{6)2K3S~?aqj7T{Pw%wv*f{}&#ONy5G1SCePbQl|a89@X(m0&jpOuToKS`pQa5 z-Af2#PxiE-SszMo#%oU$VFA+uI?wn?&KL7Z_iD?5cZ46>x76yXJ@Mg;o*ha3>3N6q zeliJ@$kx!SMFe10U37S6uC08l{&r^XZnrTwAC0HkklQ7WqEbVv z7*SwbfI=z?Uwpa^(lIA7o8(a&kYL`lgB$`!qDnB{9-63)0vc2ZB1-J*e3v-v+dmB+ z%@cDFz!qH)u^#A;;$KV$|CJ34e9UB#0w!X3D(@G`Xbh7<8_A$8GaINs%U4(&w2~?t z;8GOe8O0B!=X$ap#oP;stDD~w2@cnoJaPGuWAlzkWIJdTrV{Pc$OyFs3o@(-%3rZj z<-ZQn{Kl8KwYNCAWXJbONae_abAGF5#9UINs>95Y_3J~wZi8D|MXYhXFlX=#LOUi3 zDTyW(b296D1|Po-0U`M_uK5D0?Kr(d=q|d0=U>hU)=BT|o1rbpfasdoGRA}^*$7vr zIzep0%ISv2$PrB$obiB5lZ;7W9Z#Owct)qY;8hN8=DBM|=ALG6(S$V)A^-wpZ^_oK z_>bUH6WPRr-H1(m^92>GtGE0g>gZI41^nV(xo{91REA=n?jrhd`fvGu^l-%Par!@~ zAAf#F56ZWgN=mSkmHqtb#<`D@2JM0UR@M-g{2gxJ9!=O>20-}Fs91hIAIHwD`p2Hr zY*Dki_~Z22YwDM^3vy0q7fXpX>Qo{B*@TMKwE*T32MK+Xl6Qk?i6{JfGewmqpDwP+ zKy-r8bcxvniXU6IA%U^b2eii{-sx$=Yf}C6UQk8&)6#_dtsj0*z;xZWZoJR;uOl2!XL25r5CPJ{0O$f zEz)ov;5DtQIDA=*JsTUb`iR_3uA*8WJMM|cJFkp@(N0++p+HicIy0XLBoqbQ5slT3 zunFxrA1wicK-o^<{H_$%Um>m-6())F7h(-n)R5$nSI#YXzklPQ zXoO9i=fE3EmIuW%bbvI)h{qL?Kf*tfcF**ByQ^pe*pLO`ljWlw8lJ9tfW~avmR#4P zH5}$~OL{NbI}@QJ1Bw^tg;J?VN%J@(R@n#z5r^vPG@V8SHy;}mr1tGNCf6nAg;;mK zUUp6RD|UeaQjjoJ(mC%DfX|OORQE**U^+;m@)6zqfodZcO9ZCAmw7yO7{V-KJCpNs zeu8e1#^~8%m2IP1JKfG6kMDIl6G(lix-yt?_>-3QP#6wQj>S7=G^wVtRCu+exCDQM zaMu710dFyWWB&!nM#=n7>YC|)#jXKdktmXTezZT@Hg);pGZX&^I=JY6xfYT7o(jCR zqp~8V2+-C7pm6P6o}*>u=>P z4JBW>;{Swu;m=>aOpfGSwhgB**|enp9%u#hJCdWD3BJ^=2dY}WF>k4F9{Y%H*<#prKvTz>R5ECs@qQisI1QEU&i zO3%H$g{XhivNk%T#;(e9j-`xAb*+a=X{lYtHHX0drZ zIZezRmc2d3x$!x3VF@xYx~)FhA>zrjc5?Woko_-~R^l?uG!0V|C?uQ^THW*1cq>zd zEG?9cb}+VY)M+!-DpSt=_WCUlX^HB@EfIBaXBcp@?fcis#CK`Ic;T;|;v_8`{_kPn zUnMPuR681OXHX7CYvU8SZ?|6Dk|TWR_jQl?{6Q^}kbuiuf~oCwNgUK)Kt8}5%fWr- zh@|@+!&tLTG@z-BdlIvJXJ1e#ZAGo{<~Oq|T?RRWv)bd@?#_DFvA=#q%^GX9**q>o zdudNlvPto%2x7&0fJ`|#pbzM{z{(pf5wjV(wVQ76e}kG#aTqxe|H0GweE5~|nNd7<@XeEG4ya@s?8j&M)^k0W5b;O88{rL-J%>-JLk7@uwjUcQ>1Sw z1TXhcPv+@229t2MiE?|!9br+jkv6{+^6jhxX}hPA+_n`1AxBwDj4(ojCe-BBHqET5 z$P4gHr4W;2e)fV6bdNCrsWX{?sk0@_axCjMqlnZab(!y$xNN_$X0C;g8w3|(T*enT zEBKu#9-qh@CtLXEy#C(1=Bth;O}2Ype zK0PxSJcLqUu2@eM^h!#NDg0kqUIk?a7;g;L5;HAEt{Z+qz)|>Y{Kv?GHX_tq4hn|{ z^ZKV8oB|h`Fb}T;gt8_V2|d8NNvn!Lr{LIM-$$Pc%Ycz!1z+x4(1P^5}L=x*q-3 zw^%fp66&a8N0Z1+Nz=PF4o-XLK2sG@6;#L99oRhXjf-B-0bDiZRmDaYjEC~gbh+$; ziDCanozSwiDL9*8U4Fr-4hF!{;!)c7e_IpL>z0iaUbC8Rb8O;o2$}Ma= zivh9eX_mOcKI(~w8|)n;7cpjG+Q7`Ai`mjf)(p8p$E-4b#Hzz6fFVSVUrq|TcR=Nb z!$RF)^dvmHfBcF1?w`>Gdu;@Ipol@QXjH)ox8>h*jV2ER? zt38Wq-8IEAeEM17Ux|iNHH4`x;KN4bYerxY%{~O+vsC`S0(@#r{sQ<&Kb85bhv^ge zVeJ_V5{P-&p3u@P@kC(O>AJcR{oC~RVfR$s0^bVcmdhDU?M!A&Gm@>>DV0O&7bh>R z;qAnQ3*V4$#k?a3gq(01g3hq|(qBm?I;U+#BfZDG!zQ|bXs^p?SSwHJ$iWe87%ukh zH{uunw58M_OOb#mL%Ljg zU$MU4!POY*{PTL8ElOp%PCe4wG59ZE)tOpRLR-mVM>0firMCn=($WOud#DDw`BGgx z^J%Lgg{`e~j(b~RnRyoQpH5-OPsjYee5Lv-gJ`d{r51G#p0%YOj@#lijBd2mbZ-P5 zJnG~{!g4`o{2{Tp6G`+I+;#W7#@{AQgG+IIOTl4vO*L-ton`SD;J~co_VSh~@;|L= zRBYt0lB;uOX#X&)<0?MWKe^^RBSL>%Dr5GTH~sjs7{1E~94BpK;|YnoFdixzn%nWypEy#@U8mkVAGV9{Zl$ zOte!@JFMfl4{<|d?>jsCc#n^@dU4%*Ms!v3|4qbE$lSHFj#GPx(_3LoygrfFDp@Gw zj|pMqYJ4FhZdDbYbnY#~wX+#!oJ;w05%Sn-YTQhTNkZgh6nB`jAN>7HLdr76tMD(4T3ltLqbbsn$}izhOcNX(~$Q`bZhZ z0YJMS+Yuqpa8o|x{^@qA!nD}gdU#taKQR82%@J*S{b_tpBc>$Na=ICndoI0tF3lJm zk=Mxr#(5&WVdzWb(b2j znwoz^2vWv$=Bj7(VoPnB{o4|5y&@dBC#_MnTTY8;QI!;vM$I$M+E->p`!O_MM{B=_ z>~o0yI;W!|&RQJz_d-%!@(nQ3pN8HyHGvGVo<++U=&5D(x7{rX(fqWAN5ZDriq9z) zC1Zk`IQzZYHgU)Y(n3o3+2#DK3?4BP4F z5UfaB_#Ha$UVL_JHrb&$%NXOl{PW#7Tiv!Y)4|b00CwKi^Z8!eRW`r>JAZoZ{^$4` zN%xUF60C9WhQY@hgvRo3LM4d5XD>8nZ4c6Hv;Of{YnRWlCCv|K!eVKD=)6OI<~`$l zq1d&vs9?9>NsgvR5wkhO)0kFBuAG=lE@JHI_4dOr)o&)CH`7*&Ra!`Eb_m8S%xUn|^^AUdZ z{L=}M_&i%yZ3a}?&@T{2fDLWP<@VysJ;hx<32}bh_#ct&p6q#0)WZ>5BQHbBClumR z&1}lycwhSkz(TG3_^WBkf<6jXeMR_-P5=oQ#`pp)k##=kQAL-ncmA znhjDq{ckdlv=Mo<3m3X(!mm6~4>oW5h3t)61y_Cy6j#E)#l2V$!eoM?R*Zr^^nX$#Xt!v3*jDTit7M@_#rHT-H__RqXG6 z)W39Xt}dB2|I=k?3;T(ewNr%Ayj-vwP&Z)<;0RjM2bWk>WIcEiTxmbr zeIDKCRQjH7SzsB^>EOaMy!p#Mh&s9n#_J^ zUhm;wZz<->-omsKOV%cz>OZ2XT8k=H$v(6zbX*qfnGy(7l;VitZMe5c2~R)KQBvF- zpHSjYtA72!P}$T{f5#{u#T_V8R_fI9mvKY77L^lD5Pg_RW-{TkGhQq={pG#EZ-R=I zxc3`ZN4FQby?=b<0Fe+BVhYyR3T-w7)~pTHZ3e-Ab1*R7FzCBKsE492)0R}*2)-SN zhUL1Y&GM2n>H9I0$=eu?BVxX#*D2tn226?;Q02r$=eC^fWabt*Ls7fr9Ua0$HY=UW zPT_!S{}xra;Bdr!ur-<$>HXlnuQ|a}pD(SuO6~EY?eYgk%~`Ywx~UCYSY-i%$7y0{ z2!czyT^!Bb$>%bIK%&=nQJ(gTf2^Jojku(Q@9rdWyL-t3ikjq|?}wp$dr_|X8K|fw9!->*eaT#XKeag#hQQUCf1qGAZ>UV`^Oqm_b z)1d7k8T`JyC=2_uU#vHf4s{3n3DQP; zQ|Tf*%%&H>80yeW?R5YVlw>Od)+%&;=?jH~Js5or_Zs^Fb9sJva<(s@xAEr}m-l+3 zEPWgZE$(g!j@Q~U^j07Xq3w_J^ac}+k?~x!CBhs{B6ND~02#u~4^N>+*4vUwx=T#{ z+)r;8l)^4hF>chOT$mJNV`%t1UQsW9OZak;7Ll|W6q>h7Z&)%ucq~@B^v=@Z)>Vn+ zx^58`*>|597USm&SO&m8MC`8&yqc|!tb41ypS&(mL3AT_4$-P^*g6{d0R>2$jJi9= zQ@+QmwV`7@x31aOconwnO&$H0`@`?&&)O8Kk=woeVxpfqN|<*omKV)>zk&yrZrWP# zY$W%`Bb)g;hgvGixC(6tiR!$RMs@4fd$5nBF>0=zHn#?5xX#ul8u?Q{)jY*tZ0n$X z!_HexDzlfk@4#!;v|GSjeDLs9W z19njS&obwdjwM=7%uYcD<4z56QAy!U4DsSxVzDj9PQ$Md(Gn7h4+^nNpmKOa90zgg zjxgWW6af*UDYqln!~7d71{w$X=LS@TB8cgQ)Gf%A6t<6@q}1b~yFQ-mqoT=MAI4B8 zKn3fVYMWN}Mg7A3CCtg}^iB|s-5$P+r-QbfWihl!r>J_w2yq5CAKdH3mkZ_i?^^6h zg(?j*GxL|(F$7?->`v3T#BP&}fWSJsj>fA&mS1{#Z;h+bD}&xz-Z;h*Y=ggdK(xQnJ|w;=6kqVO#8ZFEU^1&mEAeMOr zQJgC%Y{4XEv?lV-xj(xrdD|KPW;BY@XZ<6TEh_bI<*<|OO=9h~=&R5v#Wv2iM-2BE z14`UwZC_AvV2jH(Gh@|>`HUy0J_M9l1UGc`D33`8musv8qi3uQyFD?ubUeuub`btv zYTU$^Av-qrVV@COaxh0PGFZ&q?7u3kZ=5QFe^*n#f^-;FJJ#5VA22+DuG1!|*`RaQj+~5)ENE1%^n8C)L@xqT z)%A}SkH)*2sp{HqeC5s8VLI5}?mJotU;p^ml#DA(C@83egjJlGLZuRAv%~qSBAGvT zMpZ`H)MzQ{>a7)Th?nVqN`Qc>@64nUN^>PNcFPSj1%GNbK6t}6|Nji-0BL+zi@{Gb z1r@I({IxNQ`)dveH9 zUr;CUB$gWd_*W411|YoLXQ8AIe66t(`Sw>Puy_67VfV(3W1R3TzEh}eJ>lv`QjxR2c^@R}ZA z3%T!a4!w?AENMM;Sr>{H1Ec-1+bUkH&SNU5RHo%vSn6^{qOlX#2khSuB%mafiPc_L zS06Z4#F2jbzfC=N8gf>?)7RxYkbWPm`s8#N+w<&n4lQ07ulra`IS&I7!DTl}Kdur0FhAY_h@d^sVNh-e!yy30a zV5aGUK>_WrRT#lq0&UC`t@TyVH)GMCAJ?J)@GEgzskeyalzzA&Pu*hIG={}8Gda#C zYuzRNF)5w2rsXoTKL;&*75rk-L9Kq!4N{}5&+{*EcJnWyEu2~f@%M$DT_lAJMKTPY z4~Ki?aCecRE$4K)rSvAw$qvFVTNEA!Jfkf|M#|~1o;2(Qm3hJTkNV*oW)t4-Ruj=cV1k&~o~up*c0FWI=}OFxqR)H9{<Ct*k8@Se8RiWh#q_uSsNFGJkkptWfJ?F{tq2vEe;it94f({6O`T~hKYKd3<)D+Hcv7|HARueNFrSh(a3E@;sB=7|gXOrW5*Ax1e z9N|(&9oD#mn!JKDIH`(b0_(GzYeKAnezzAY>^o9&3;%=mi8I%21c|0>|-}pAgT-9wO)PA~e<1P*)Mp89h;S0QFero7ua!^~IW7@v$ zfy(T_3i1TZyV@&d&T@#oEa#?ITWD~5Z+^T3dZCrG_4l@txoJ1$9_rNGyV_lpEwBRW zQLvN?DQWy`?0y;6yc9^M{siAtXyt~o9Y)RD`O}L&t)XX#-y*BXLqlSQiPs?0j zUVTe$mPB}j!(>kNy;Bx2jEhY)$umP;^m-BX+u$RbvmV`nvKG3Oqwax9eKvN-RmsjK zk7~BDT__3cm8AfLE`H~~F?A3yJ1?GshUm~qyQ*b-9*GL}REP7;DNKN27tbYUZM14M1~rv?hBcH*`rw;`+=ZmF z)(S?k!)N6O+a~OlpZ9HNuE1P1@37>i^_&~MZ_H}XWzvjR&Wgajo@T6I$VU9 zWxuhDOG!g(wl0`$`EX2VCFgThqS{^XYrmI=v7yCeX!hr#>gpbbg$z$EYRg#lT&A&W z_d@l^09kW!s^kMcZn{JkoFgXpIai*P;iw;~NSGl?&4LkMH7yIJWNRGQv(@~4Ldk3R zGQtr?tGXDnb;MU6u^yo&afMrbly4_FT5)cI=EVs#cl|Y zaQa3?H9TXAjpm=#4IFE7`VI1&$X*}mLX8OfN6*6Vd zhlphw&THna9b+(dRzbggc_{ITvIx=S^uh3w9k<7TH;dbC7y0PzSV)YO^Y)o1JsHWZ z3Bm>ZWw~hTm(3MPzJlbm)$18!_m<3~j7$pG>AuL zH7d14gw{`wH&_)zi6UCm>EukmzH%e(9gHmwOD#u<`tZW32eoa@TlH6C6W~!6VT5H8 zoC*k)9Z8HrC5r6ixi-I-(d4Yo=brJ{D?Pqe@O5JJg_6t972YLemLl}c${ZnUqJ^u4 zsbJILNQo$(LP*ztL`-mi=8 z@f)~c;^RzoO+U^Qk%L}#>{dWY z`V~XU!$TLd#Dkk^#*YS%Bc@1booPbBMxm_+=Axl|q}XjGZLJLMLFEc`TwQl8a2UwM z7@`tP_hG%QA5gd8iL3YhFd1G_s9O*}&bDX(nN~+f)_0=zHP-0*a1rn>(Ot%~Kph1q zW)`O3D5;K4P{LPpDT%(-m1O=mo#(?F+1)(JyT#L+E_NR$DcXUREyD?4NB-uD6I{wP5k%b@G<#QT?Vi)md%!BkNVaAZ^LjxP=4ZM3b- z!iKuzu@D#F68#IXfNUZ@;r{Rz69~FZc5((4+B_@&(kaKBBcNBI|9DvaM?hZwtH3jd zPT?T!M*j$i_c~K^r0b>Kck8mW{g$QG4vV6kYqZbN5ix=Y~@wi^Hd`y-je zT7!u0uK{y#m*_N^mM0Lbp0~kK zQlw9ulhJN|w4d`x9}HDwn;P$LjsT#c_|seUGSzV0i1hBnqZYj#-cp~6ybpcHnt&h_ z{0Du}IJ!ad(!{5A=2PkDdtX(mybXR?k@x~+Xkon;Ji&BT&+W(l&oFIOOvA7KU*XUh zCl7=cq$odCmkTclAk-l8_ti6G0et#Zo~V*O2RqeIemxEhJZ{cu%OsHaeEM|j!oC{E zCl=9;AU=Zxt$xd4s)22&^n&HC-#pwR6E2XN1<+gx!cLu|ZU@pVv_BybG(Tx&ZY3jc$y%suZLsg1CLLXJ&QIR2IFy$2lv&E!nE&OK+OI@cB5 z)B+r>w{0ygQ+4r#g7-w1L8nYA7fVZH5^G3C*{)0fN>XXp@gC@a-*&Y=oL=WOKYHAo zoa}sB*UK#%H1dZ`sq2vl)RE$Z{6TLlTFm7Sl2IS$&m-A=LDfHp?*e|BGBf;8$@a!~ zdHMM@SD9vm-(E64SQuKQ

vYpEh0gsLc`GTTd9n{rs#{7g4;oH3{G4tapbFnS>CZnmw$sBLpCZfbHl15>oT(3X3 zOJnPq?IP76G<(E{=QE|${;NC|`l$CYAF9aOV2mZjs;b|FEbvUC?ILU4fH&_Jycopb zir0|V#*H^sU2OicTtpT!H1Xt-IfZBw`OO|@w>GG&605+bZJMarTYjL6G6q$<1_zAl z59moJ`S=9r+{75jj4*n*r4aRJn8XA1AG!Nzu*Y(YGf`sNmuc;(00y1DU6;ag3jznS z-LQYvI%Zaw3J}p$<$(yB<7Ekyr`nao+;pp&ZG)i^a?)QqWSgS5iFBJB)2cf(l_#ke*<+E$ z=(pqtoe8IfabTDRW3xZ_15ClY!_BLAI~D3N?Io!2{42(uJ>YTP7927~s@!vDC-cce zE!k`rbVfOq&lfvWV{}Oswxb1Fk6Bk4jm6F@pytlH#WSVv?k~8CUz8rY+94l)>1n|< zkP>pD3+w&WFO^kY#A+*`pqt-gc!;N{zEJqjqPoCpp@0w4-HLL z7l9S|jh&v3jLhZ6%$tR)X&Yw+X)`~{;CPKxCa-5>cj@S-=L&zv4nM$5=&j4Fn$VTD zm}?8Vse2Nx$}FL|yv~r;0wrIIONbtAlk-L+5gLqY|MLk0!iZku2P265v``|!$I}(e zjs>AOIb*?DB#@3w${i=Zfb_f|M8gIGD3Pd3^&C4rt_~lpra)tqL&*T)TBQbG5os>< zJb4t1NeBJS%K}>64(GtO$=+(JnHU31*&JWulR6p_d;6V9^3didlK10}i^YE+t*))+ z$HKfTghVvTJywm~JCrn)3gw|eFS;!>(K}W8EgJ_EN4hB)e ze7mC$E}319fTO0O0A4=A_~aBo=Bws=W> z{(a8!PyLeftlhtuh#&C@Z#A$3_;%v&yFBVc% zR$KjnI+RUy#%peuw*b-DX}|__WW0tJkMVmM_hazyC7oxNCtMAAqOEQe4Ro_o6-_Kx z8an)f3BGjSnWEa)YrSlN&c3CrvPG|r5P`0{BIEYovrGzF5uue9z0WgzejYz6$`}$H z_Q`m#My|u3g3-f#M}KI^++2^9FRE6_7|pTT>$UWomB{IK_@(;y(Ln;HoVyAq-vh-N zdL3##A5jrEZpekLV@YWKnB=N(>|^~x3SMT*(>&}K?rPjORG1PD7*hWF?Q|8oQnzi~ zx9L+Y&rTl`RnV{osuWS|pchWyFdM&;pD2ZX(E3eh4q_aV+@f zxFk@)`al#9(pp1}S;R3i1#O;2NSlx_E0QF*d?y38liK*xjn60=5&6;ye$9wcx+TT# z3<}yaBNCw(8fwN5x|Z^qx{*+^+>dBz#}j!&>!M~LA)%6);p78S8LZljckKR~VzGL* zL`r-Qw>W5^tEbp=L{GU8x|Zt3I%0>E{;n|M#TR0Q_PpV=KJh~~=ZhM#XT}S5ehX!c z-M+daeNj`Iuf(CNY5whBb3c2GzWDczSR0_P{=WksS7DYGzo3F?8#!DTFvJ!lE0=j6ZKbrMMzhbeA>kV{F&C$ z`TCzTpJiJG>-hwj-^I50-F~ppYe(jWi{s@dRKHa!hIQ#06I9^$+}uw5z5O&A#-|Q& zeL&6YKg*$w4U8H#df41^3ie+AeLYpTiZm`c(VjwfBU$t5Y(dVU3gUUD5c#=VHd8WC#yXwqf1+r)GzQdv zb>8cBlGpPTZ?+=5G~;}zMWR!9?>3AvKdCjIb40vTiGHT{3QTh3bI9y{IOZ2--6e?y zO9OpB~&oBZDC{q+8^rt1}*r1E%Aw=@Mv&6qPAJu(ZgdvjOdb|v~VxlR-N zu%@ASy1gS6ci6n})+kHjTjvY#OGMnVPfM1~!FupMS5#m9yx_}tRRG)Noz_scPz?^? zrO{h15;5qSN@dbb`D}h}Yr!|GRl{mJ*^}&NR&r9ZE z_49}|=4b(QAWr9V%4~*DaQkB@sm*+~`;{l3v6~eTwSlPU6&pkZV_;~CJJQeGiIfO^Khv8W$Ox!Akzb^;ow5wr7S?K20tq zYVaW9iv3Ml^r*4xb4~9P2*rt%OuvULiGfu#HXO@MCp^pzD>zQ_~(Sx3l{*>mi;%e5;Cfv<{_T#k<<*NP>Dw(Q2??5%7e`M&zv}q^) zRCZJU!;D3LLFj7&mcQ}!HC~6(|5Uv{tu=x)#`jT32Pz48U3CmXG^<#*_HW{XUaQ)v z&D}G|7fS=UV3-~By zv2b%lIZuf$Sz{xqP;=g+K^3Qzy>;8dx^+AdO7c4~GT3w=u`5izD+}#xXDeQFxgmD( zH_ArXV=k)Dn=V$Yuv>$okv;r%u)k^S1Us)Xc`Z_|LIeD4W$F=#? z-njM#Tor-!Cqv?tAqzqyy`pw|UIFW8B*rb}sn`0EJ0lh9s;uq`R~s6@5h_z}jvQ3~ z(oCxz{YL-|%kRBg^r&wD$@rp=U<9J8{RRf1-8!^w&+xUQg*v}Ap2n>9zOGYyz82@S zwbXW3Zn7i=t`;Lb-Ryo~bX(ae5(DP(u<_&ybC?bx=yr%N4(Y#(;VKv6dsgkiKu0k$-$J1TYozc(o zy(kIgM^4xa5w5`WIb#Y-X7@bUV_uDS{2uNmp;yCawBLl9s6+R|=eyo~gbiex!? z+m=;>GyM8}N}9^`sy#tNik^t$m(0N-fyh-f>a)?R5UQ*0reNK0VAS88z$Qh{+Ibv4%ZB?bHNG4tMXT|W_C1y zL)7)$ez&=g`ftBNFVB4MJ_^+<|0vNSAy+f)1yMcB(OJLMfihjA4+Y(ZHf1(aul*xo z)g&q*cvNVR!Os^E!A3$r_)#Ad)S$8qGs8lnmU1?L6fZ$R1uX7ave1QApmH+*_!v!% z0aIbNU5}eq5;al`7-nYbk$qgS@225+or>}~dyq$8cs&(6dPKl+>`oyjwSg$p(NVIc zN-ZvrmE;XHU5o*vyk$$+S5O@^kf9!7mgI1Cvf&@M;aH?Pt5o6EZebLkT-*oADm92C znuHBPzov6V8!n9oL#BUVmD>-i_h9xe@!O zbN-a-f?7nxlcLw6Go2o$M4(8vhXHVy6C6&kVrwuiScK`SM8Z|gG>s^?!G)h~tMjjb zXsSZ4D-xBD5^ztv)2Wb24!n`)7!|Je7U?yk(}ebfFY9+w`+t>UH)J&Y^prU%(vpLr zL)FOAa%+vk?QgDmu`(or5N(UjDTtyW4K}}266N7k%T}0JF6KtsmZa zB_AnZsmiujX4!$cU^-6inBPC1p1)U%$DSQ&x>ed>_l+=l!RpksLM-_XI-!EL-ID32 zJX|0KRJ6v?t6wPO!rJQR7`a(}=~kSh43}erJF|JC5GttDo0fDcEZ1{CBA$f@i!=C{ z_WuUrtaTB)3rQ?GPvc#3Zr-`U@2is8SsR^q!m^8#)#zel*^Us+;9VFVQeo2JO*Ut> z;0P2EnI)t-vQ_Y& zWS_Ak69xN5ZAjQrE`)JIdV%%?@gR*T60EtWsKSZ^{Sa4R@4@eOHegM5%L&1Bvn^?Z zpNV9r*IEfdP4Ylx@cwM!y>}q+j=8V#!g4UVwYOCTrIif_0P#leqTqMgOFK9n!=0A; zEBC6J>s)Kqi6~{wHaaBm^_sKVE>@Sj=_aP6_77-;`}9q$Z+|!{gQKtdr;dl&1GIc) zx^zhI5pssr0`>D&j9M*_J6^fO9M>^rbp(M#a0M5mnLhv!ld7IrDYNKLDRJouLPY5z zTssV@vx}!i)LT~MGpp$aRicpkGYrf%6vfR6Q_$!8GnL%#9VRf#wy9@M)rBh2?=3im zZ;4nkux|`&W?5^w!a6V)dc28&2-cG21>L9oc+~R@U#06SbtEA-?|o!1^ryC?^xr55 zG-oS(>35oLw=zqB#b;zv_|*>2-I@h(Tt|FWwWseKg-`PwGyB+&M(oR{M{; zVvzk0QvD$DenkPZy=K^E4z0;olmPO+J(rUg3sv7gL~8e#i0P=5;owb8mBaJFdzEJS z+R=9(P`6QEw3z(a^w#&cW3wD-(ty%-hnvV}(f=P^{~TP|7j+Gz9rMJtZQDl2wrv|H z=-9TCj-7ODt7F?vI@Xup^Vaj-y7#U7->J2CoxN+-UTcjx=9pu~N798-A)RFs^)7%% z*C(D{Z+Jy!0CVi$05ZAuUl9?lSq(?Cj)R5BbZt0=8gHDF=AllS zNJ{^qfFM@@#bO_)Cc8ZfAqDLQDOt-)2f+$DaOOB3PDQmT#QPug!_{LT}9lk)g?Cn)pjMuk+ zhU^whu!@L7gSi3SqK)a7Y8sL0=XaIDjPq1E4&g6ycF+iUUq3oiS%iBz(`7zSgEVr4 z{RTGLuVi{3{*oI>U}ij=4R=-%cJtmf=R3psu-vYC4E5xDJ(UCc-J^DD-fJqj@=)Ug z@Rak7McCS;Aq%R(L0QoI;bQtmFtyIojD>TGJc8LQGwpb_l)p163a*Mb30Ug3hszu( zi95n{XpUd{`2rSNeSUlYu0P0tJ>3}va{aoTE{V78hn)v*ObpRm`Gl;~1-WWkA1@6C znRyI$`uQnk?8Q|J;E&5xVRPs|^(|4rA}_Nu(tQylohu)JujNYzB6C~aE(;&AwZ2B@ z9wnI=CL^$g&5-=JF<&NbE0De871Y-#B^7oC)xMDc3AvCpC933+WFhou{nd z9YnvPJ-bs?r^;}n5Uy?0N62=SKrWLr5d7&t3apS`@M{`o z9|djfB%)Hm2yzNbLaoxnM=kd=!#pWZv6sUoxH*|*2fJ3s&Rq2R{ZDc&^dc&T-|}}4 zQ#()RO9j2c#HgO7l95tGg;=Z<+>tr_59uylsi3`5gXjGaX7WhW!TVUm&@efR@}!!X zWXK{5iwDDtKWPV*x}oZ%U&T7o5CY*AHzR*gb=w_;E^j9?o`7A+oPp;y7WEfmKQip# zjB?Z>mN&x(ldor<`vsI^sc>(m6#i%TbvEv+*@Mtfp3Dxf_Y1sOhgu!n%2<%! zr}jy!F5BZQ=b>ta)_pK?MMzA%9=O@~6dVblb?1SWQHlgD2niv(r>~KGT_x7b0iQEq0O@Bv>heLiGL}WIG zq)-qqUS{BG+YqxZQ}b*}>1MriDKboa9~5ijsz#^4i<)8fjDUovx2s>hWt=USKkz9u zRIZO;kds`mA3@67kFGE>g~_T$z!FMXmKQ42;afVht3~VT6fIn}R7)g~7 zyh$oPkQDDL4wn7bcM2r%Oz6*HNny`7(Il+qX$?eH!w6Ail7=RZ3=EbQ8I6l1_%4=4 z63;JAZblLrMGX5MgjNE_&JkNs5`%sL`F;#EaR`zKY|MWbzJDoOjz@95_e90;34km3 z8i;C35Sm$nLloAT{%X63jIpI`i-0jS|FwSfvsU(FE5LkI! z+sCPd|B9_LhrWN9Lp6>#13EyArW#n&0-Gm`HdF$KX=G>^sNHOH&n<`xQ)u6Ak~08l z>%<#bxwR|wz{51J)R`2#RFA2pt06*^65ME_0?m`zqE~$N&|Al+gDH?MHgB zRn61Xqm1{ha{m^zqE4<9l%Uo;>b9s8OjucZDdf>+63{R5| z{2{}Cp=gfslqyJ525zYy*jospS}h^k{Bu=T#XsQ-`b7s1e;uTefx;=`@5z-f$`s;L z;N^qr6;gTNwq94=YinUmC|`7MJldmr16vQeX1L{KlA+0Xt4b*_Q8Xw|tKMEFT+)fmFc~$Q!i7AO z{G|>K@L&zB=NcE=B6(twU> zth|H3t;CQCO#RggoKQ4B#F#FNl3W{FowQbgPP(%yZ?+%Xn`&c`0B9C|cW5|XI&OYtTxzd}VBI~N zf|OsckG)*Gm$g|M-1wEjkvmrNtAR5hRsN#{lGTPi0Utr`h-L8NVUfJbL!Q+9wgV1M zsR>LSZJNN~$#mKNrI8Ceuk1%6cqF@ zW3(nb4Hj=kT+Z7((vLb$Z~IZSbVBVYzX#COnDsBDkvbjN`6kPHe|uBu zr__MmCtg&~+JnS&*(-jPpgmpxob7bPHsfzhW$}>|6=N3POL>G)*v-*@q@()HZ3h0tv-6@MJN|1 zipYU+;}JnD`q#{48hnINoa0+6XK-6^=sVVdpeSxh)uxiSEtpWm+tXg-_4!CcTKj9A zy#z$YZRN9AJ8o;+7jI#*KaHuRf)K@=1l)O-&l|_nJ27`oJ zYw#nA5|uP`LiQ)}@v6JTD%s%RxT3HDfLd2CIoV-T<(pDh(`HFDHYTpjM{JIMN>J+Y zYuYSiOw&rE7$Q>F26?sK*f#APIY9G$SAtcq>2-TnC|vo|9_oQte{)t_m$8X}gK5#n z}~#|Ff|80ZbCl9q319bz&kS9~lZlSy)s{NG*-L!oBKWRR$pIe2G|e zgexj(9Nm%ow!{A}->|32UWyy2HG8fCO(0#fgHKJ<3U}){P8Sfp`$1dHVE8!w;u{A2 z#2Gv2nwD1n-osp{#SH(DLh5M$Ai_oH3BH&syW3C>_1pZP#)OIEgck^hr%nD(QPgDl z06@=3!YrX-RJ)(tmWNXW<5XXAufWN@JuN~PyBI&ITj#w`;14%hx;orQ?`v9#yRMY? z{6pu_Rz%@FmVk2myI}K_ODP;TP?}h%f>%=vu>}5t_9n{Y6qmI5vrISFdLj?9Cj(fk zAtx$7Zyr_EgI{X`NI7lJo1B|N<236`jtk5SE_~5f3RSykt8kC9K0#5K?Sv-K8)5GV z9h8vICb8_FRn=iPw7B)o_h8ANBY+W1ws7+!b(z@bVP98*7R1_nT`%g>C&}5alnsXo z9J^t>z7AarRdUPJr4TM^a@sa(v#^Bo&)$1#T1QTP(rPfjOR>ShfHuvLNCIuSb?`Kp zos5Cl-d_Ua zZ`KseTz8Z5Q2q1mGPu&rSHAIgU!(|{>h=6wl3&5KAoc?#d zc56mmOV#l91vjS!s<)&fTj&9sd>MLiwlI-bEY+x)!1QH z!?f&GL+$yGv<9Z-Iorn)IXAz8!^)J6O%wgQJS!mnm;!Kl$;<;vax53s}m}gS(%& zf@QS&t9j(|!p7^iXS(EU%bT?}9g@M3k@Dc}4exVuLs>c0bxje#%@k)rVCzJQYHs{D zGG_B=$oDg6G!r|cp@!C>aYyHEwd!YSMqa%?r_GW7A-B&hOFBQ#dH-;0?bwGrRLdZ3 z(dP^7U#1qb1vz)(nNOJ~H)C~<D zho~rY9mhl2W?kV4Cvu?PO52M@kER2L8+Q%Sx-EO2m%mr20o4<`+w%-D=@El=VcE*n zGZMW8f@F0x2EP}duLzscx=2v&Xi`+Kv2m}M!O2EaNnlrO@cRQUlaaRiH+hRhcoUZW z3K3x2f8ORuN}wFxJPK%MzS?7O@M)!i_gU|&sbo~2bnI8hwZW_4!>_Eu@waS_ zhuk?x`Frxz%KhXLCF%Q^s0?{I%rO!L)F3*DGPf0N-~AD7Rg$(3g2#^am>D}gH{wVh zG(#fD%&qAQ??LDHC;$@+f1xMwF-l+GUv=#CcOaqrgQz%yn^uZjY~$6q?ZK~MExD(! z9i7(csu`AM={#EBucOEdKwrGI9c*^hjdVXGlia{y?QsDzq5pk`=h_)+Q;b}zi6df^ zdh5y;fZo>t=L+2ARq1QN$)^nFEEM6=m&(EIK!9v|=#W!71AP132#aA@J^m13uH`_S zMfn@qRwqYYW+aIVa)vygyTv@6(;}YG0Y7H1N_4dWeNF2x!ROVfz{YdXNda9L75u83 z35|!k_X}9<@GrbbuJmLQ$8}}A*q;OZX+xT}9Y|4_48tJXOdDJ;&<4LVyR-g&0gv1i zED@Q($2G!)RA5*8LZzJACNXzXPQTyhNpU($CzoGzHOi*IIu*X+p5@nvi>qurVJsgt za=$CNB~C^k(J~dcHWT|4WBNj1Pz5sP+F`yOLeg*0(NGwv=igCqdB_yNX=Kqz^zQe)#oM(h;m^~ffw+17u8sx^V`>%gGjD4=?>)7@fYRuy zmpv#9Q4&Tw@qHN++xRpEx<$fR%hit~lyxX2uqoUlO4Bans_gsm{_jX+R~9eJcSZ0) zUYz9~?7Ik9S2BFTKmQ1_1m(h5t11THEHP(Kz34^e?yq3yA##@Xq(%EsDiHHoDCLoI zJ?X-tld52)?Xkj%1+pA168k=~X-oj=?wEtw+xBT0otO}2T88HBuei8ljOJA-Hzu&V zQdxqqp9s9^_2M2Fa0Ruqt2%_PKN$7Gmizjo4ppwlOpq~(Vys`=6>JZVOTO!y#yx$6 z8Y?MQs!@>$w}Jm8u{mE46)LK@WdLu4$!ey$A6R|I{`qUB2(dl}Lo)V$P8-)(vrZn_ zhs%^cZy47HGK#hNaF-V*YSo~wGH|_#TYGl7E{_2cXKrnD8;FFTPjp@`P+4hh0~)_W z|MV;kEvwO*8JVa5vQThYr1|BI0xz#(B9J2=y(8*UcjM%7!N-bjyU)h8E&uE~!92E4 zdw!EAgbbAws4i}jo|(}XZ9oIFuUKm3gLQhqI-c?lV4ynzssq-I&y*O1_8X%@R}lBw zIpV<`jYQ7$inU_I{+5qPHM|1;oZpD;g^dujEw;IESzX9}fRGx&f7LsLm;2UeFF#Hn;TBo)o0T)^A z;Bh=FCNDo+uv{|{N0gLpbI*R%a(!ZwmIrTrOzb`XPJ*6r`I|B#I3PY_=z9{X5xn3d zsLN;4NB})bHXKEY&}MxD#gly4II184f2xmLj0byg)~8zB5xsxb$t;!21~WDwNop4G zBaIO%spL>4ww4s?A>46?V$>8p|8EP&`{Ohapz(7&rQ@6hk~BQ7|3Dg*DU+5rOD8W` zCr>ri4Zd>G4ruNzG}w2F#b*Vx#8Wf4K`dH-6$Gvw)3)p%c%`BBtW~xCl>SydhU7Yk zED6@&?%MuYgP&pwEy#`7g}W>{PXU-KU)PdUI`c4qL2Ni9N9VHw;!gWEu#t~?#1j+ZI)cKOQqItVIjR$nI3fRXP8hJn zeonG=6@`JQWQ0wMM9{@WCxd`0pzDot-08Y1S^(T_O~~%Zww#@2BqwzYQJx^`jrXE% z^aTy{nb|*iVo9trv!d<089Xm}x$w3o>Mi450s9 zv_#2zpS#@qai%9*8=Fe4Hbz<0T*$-`pqptIVHHkF{4)9KZQB{;#?OMl!@YOiZoFlS zsf!?g1csxgYRdx+w=^lbdAk^$KKkrviLoruVi&1TbYpRp z1Ae1hCp$4H9t1y^5d1FJQNiC;C^Y04BS_M@J631dX>al7GXJ*1wr)H+;rAmCTSO%~ zyMU#0yYIy}Aa63LgRptCXsQ`Qa{7zlJ|dEUb`=GEsm(;4=d^^HZ(A8rN4OYINM4wK z$O3w$QfJ@}U(oOP9BMPrPq)wa8(cU;J-yDF%zqc|8!U~IIIh`K$A-fq@1lZKua#1b zbcvIfG+1(5kxQ^m>KlPf+;*#mf5}A#KxWS*k`g}?2Omn5JJe*o`Ll_1qqbAw^nEfW z5G_lv!@;S}y}HU1p-T||6DJD+<;T*&DtK=tXksDm{}3UrF$GcC+(1_=7*#<=-3yQB z0&$JD>2E4LqGX&k?T3Db94=^*w!`wfha%qoeGm?*{KFY}tJ^!MF5NYmoh?*J+>Xi+ zD?|Jh4Po;u(8f6c+U2gKsik7XK*^3Sr$qO5IZV z-m72gbz5u%Q?yw{HBRk#q;yDkCIyCxNFr!IAd({GU5$9wV)?_K@hs#3q_QivZoNMm zgIg~qiZ+;<21qu>ZV$qgSM@amEb#yQwWBzI67M4;4x#!1OM$Lii1?H6U+=eRV{%0m z2>!sU%sM&6A+@7=c0|Na9Eu^`PK z1d?O>$4{r~fBz3XkQ@xSin48D0-!SAQR{Kv~m6`-&4C*8FYd!k_E zxdELh$f0F4L@zVZw-F70pO7iF)&;Ehw4FXd{=FN1ZXOYQE(`aH1^Io5)a@IazY+%} zqCumFA7g!XUlA8k^s$Rd94HLta&m|*MbG{h)4$f`r)OD+vbTA;jpot(T!1$GJE1`D ze7J2G?OhaVC(laQZFmqPRdg@mpU zv@*cD=#{dJR9<*tzoYG*59jx={9H@>SimdAz3R5fit{r}h%)4`pN<(0Vt=uIDdA;L za4M-F;vb7dq`M-TQbXmiotUEf6Ek|YzcaCT$@$i^1i&|Tk@iGrio~uu^Fh#TFM8q6 zJk3B@e)XM`4U7!x`fZMAJj*!VTlf+-wgR%BL1HxsjR71cd3L;}@<*h@@>w8`X4P{{ zE`tHN7Z5f4Z|Ibd(L1bn@z2Kl#VKtcGJ*D2>&zzugJXEqzIfq=r{@xu+P4GUDy-*` zN?kU`sJ|wV4o`#GdGmxjq$Sx{X=4`9@S85@@m2$J54vFPb3T+x)MOW`OCvR}UE1)L zL88>Z0P_mbmc+NKfz-4P#JcTJ?skOmn|KaNIR0QAn+W@<*E*ekfPaoI1LbEg(eV@r zgF&lNI~D8Ln>c4AtIJ?%{b$bS_`tBx3>Jx9>D|^VkN5gVZb83-ALw6eLA11Mhc8>O z+OfW=e2^YBV!eeXFpJdU(f<+sh_s~XblwpcD+du5ig2JWln>fv7ND#sqTDqv?dVCKKxX_Ue(Ll{zzp zSwimd3J@GSZ<^#$zb}ljbExbtu_3L4vhfrucy%tKXf-!|BVa<4$LGp$D0Lh8{&YsR ztv(unv)kXfe_unH72W0Ip9ev9HzsFwae5~F9aEzT$ZdjZ^r78cSTsiYLNw zG^0K@GM?0)emrD%EK=d{|6+J{En2?`Rp>XY`?Edo`Vp{&9HD7UqR5kWqm~ zqqY!CCH{SXBI)CWgy$koRJYo_L77amgyni2jlg%eQ)w7&`C*gC9|L%Lt)Qyb^H}4; zAimnjqwzZ)$o8?ahO9OW80*yo-BD>yj#Jinh?CuZ!U#sAcG=E4aVc;|hSOCqn%$p2 z?8EPqT#w0SCB#is(p71{UQUJKv}@uM-xd0d-lbObXu}0Wd3@P4s&uh}jy)XuC)Noa zlpD-NrqlS)>xH-4E)QdR(|rZ5eVl(8i{6Z$a}Yoc5wZ8EjSosmV~}u*PhLLI{T)n$ zhL0E+iOU&Hz(ECfU}W@!8r~_Qx2U333vsPLBeBns?vEzN9<%a_vr=2Q7KDE=XgB`* z%geFjKFk5|ov>0??dHxMi=%tx7Ew-e8u3ClSI7;?fa4q>y>Ou{Oe7j=1OybC9h0}I zv@r8D*#!Npo@~@dQ5DPD&J^N(q2Zw408_XQZ}YRo$BPXSSuJPvuYAgw?_tBr6-b%w zw(`eM71?m-2W%z`7=Es1?UQ->IS6KBXqt>4tZLR@!s?gaG9D5=+z0lI<((8V267Rj zBsf8Mp{Pc$gum6F$*}*sOsDOiB>C5$I{ybtpz4TotA{f1=jAKYWHYX*r`spSf!q1b zDGG%`uU?t($=W=uY>vlXZvog!*CI@diGoh3G&;ndwK#BGJlj<^0 z?{lndic?da3{)%oOVj)*tRO>P*N1^tuzG;VHQmPw&c2?iq-S&pHyD&Ta9A<&KzlGNGUVXpIo0R_!yEP7eNaIKs$L_)4S8%*ogY&cMcDM)hZ| zp3k#;{P49XW*ZIFn(B;SWzW@E+i$k5ih+unkt=D~e{px2&^)M6n;br6x`*`~*cu9} z@9?px7dCOP3*_7Ms-P@wtblr7$p{tI{31qO`R4?-nh%q;3RH0QD%;YUk$A8i@VDa& zwDV2A<~3Eo8>tH=(7KKG@9ujv_69%fV0MVbX;sMsNYyJB zp^see7~r4*W}hBES;~y))7uNE&$}1`&HPzTZN81w)LYJHA>3yulf^@z8hvym>de`r zwS3msU)&XB!8q%-;b#5xW}OX^@g^B+viie5S>xKbW2T*KgbDV1CTnKU+$oOj5Ko0| z@9VHHY-#e2q<|g`^+5H;j&}b>V+?ms*f)z+yVSvBCM_~v7B_GmmpA+;Kmbt;Utg(f zM*no=bF}Sg+)8H8Yn?EVf@%3}HGtIodheN&3}D_d3~!F$;jDqNS2tk0hQ#as_7TPn zadz~XK6_23Gw`8ag+XW15r0sM-@}0;a68=|l#m~K!trxLqVIW#!%E0 z7|Dgt^bFKeN=~BtObXa-c*~uxq8&*{l&@A%QmjRb z`i&fsGiB)e|}P5h^PuvMj4N6hn7(qU!wY8DJEx zy0K9CP-vy8%q-H|$HH@V9BI!&-2FPE7Xww%ywnETUmruHez#6mvwZr(HNW#59I;@e zrkdY^oie~1TpX-QY`9@E@)@g?nP{WM~5bceSdBPo;dh&8_l@!3T;N%urAqvJXvSoB9^e~Y1wzzKz9@yeXKBP`Qw8I}OF!s&bY zQ~o&S#OrVL{Zr?n0u~BC+rL`0(UIr`$WRlP#APKb&AhAVshgsxBth2{_ zg`c{d?_br>>Pn@^2Z#G0lCr%pw=j%*25cC6;B|u>?>L`O8vQjxzcTBCv1WTgPr36NHK@p@ zru%&uAWj?=BOd*QOgGc9`O>oTEQhMb-g6nO`fnVyhBeIO2n6P}od7s-B0)9PBLPiZ z?AWcql=1rG`2Ba0n_Z}7;$B7JZFW-Ic{^;6)$s1)Es$&1pW>W+Ri`s1O;oy?&$YSH zBLU~zUpXw0eD`wwy-3jOf}Ky%Ax8a$&$C$DgDyL#irI725Pnh@varO6o$YcRrj#%* z;y!-=5|@~b=77MWLG>f7PSH$p`ktN!oyc5+p%zYUm)F-aTTMKt9(UK0KRF;^S9^2LPK>OWk$3KbuEmqX&>A3yHPbgI`tG^z+FpsfM zCJ|ps3TxrCo-2I`@~N|xDa@JJE@Osp?^bJ~SW7+T_GSI?y$Ts)zxODt4xQPz5$tvK z7_o`pY)GiYA!wn6016d*qo_@NKKaQx3KBoCxRiAw946SQJ4pFE&bGRIL~VB4s0zs< zfw@FwvBB;YK@WmYKzwk?Rv$&>E*7^nNvRxGL;|VBUZ7yw%ro!P;#q;4%T+PD6Ey2* zZipFzO}+J!BD{z1j|g?qCi~PGAnis+z_AzNc=a05cK8bWgORB@WaE=8;Ka(NKm;AX zTa7vD`4gdP#S8J85bJn!-`+4wlH1iPsRKeje;r*<^`~*#Q~2Xhu}}DIzKHC?lz@T^ zsN?C0o!BAII^3<}2#l0Y>+Z)~qIiKnk1JYzxzpr?%2Dgl+h7HpZCnO`;~k_abH=N(7M`P_;Wq84pPgDYLl6GeOS8#7@TNZ`$t01(D9w~QcBB$4ih zp$}Fl|{;s(%(ly4*_`t}Q`raORSKd}2)M1)#$C@+1l2 zmo$S*1#B+s7q{nXCz-1Ruv008Qb<2nA#~x!k@0A4gh=Tzn7s&QFop(qMA6B_N9$j(*qv|- zGpGA7mS0YEYBxOoL{fyr=ZPXCYBLO~JdxK4zCxm(FN&gzk(`u(4+l&S{?n%*L>#5# ziK>{Q*mI2(@UGznK*?_IRUV*Do4ChObKy|;Q3^U@%YqB)<-I6)z4P1V@Iz(si6l(s zedBPBpC-+W@ zh`_Q+u#M|dk(muN?>i|zuhd}kC0eHL&}qpx$3dyd?Ft6?6*xXWyD(;Vl{ua_ z{?UEMfMx48@4*6B04r89D(PN^AX!iBP;kVhB6FVoX!OjTX=wvqd^deMVCb&YB09bR9%!<%Tf&K zmI-l>noDObn0gbwJ!D?q;q$;JC|~YlEJY{s!jIm8hWY*Jz*Y)xmC3%-MTb|GNuXV67+}EAc$xNM`9axN!KD?|{uL_iYnr- zI>ZVVONAl)X(UB&0t=UP_bsayjSblehfc*U=x%2~t3c(8!Ygdk@I=M{v(gexUnqyZ zymk|ji4vv4tQxFT6P2HrnH}dmnVY7sjg8erzabhYZVLT{2ut;j&UH8LXZl7xIVZRlzt8gTfh*D?f#G05tfL717WX; z@n^U=G%;-W|Ep!(HnSx1vSte=@Yz=~7qmCpGiN`}T`o6R$`wTwf&v)Ia zY=yN@4fCM@FG&;o7_JcV0}?P#4|9f4V6q{aoBEdp~_bv z$pTFTgOq{+%W><(4{NbuHm2xbrQFI0ltNTN zelWoIETANPy3%6s;0>_P*l?##teADcTNvMG)KdcoG1qM`cfVULM%{W%NFjSWQmYeo zX4>R%5=au|FeYTdE9IUuZ;nI05x^FxNnBVTz*Ih*-am4`3A2D3xf8sr`m7{{9)hi8Uf&FuIO9M&+qkAYiLrwwPbci;1Gj;o2-^_Trp#>J| zLHUtp=<_ZVj?`h;MSfvuVzPj7we{VA7?kps)|yco|9B|57!QDGt|1i2?&P zm$%OoTd*Q$z6sAe5_ltF568zFyY5~nXCtPXuMYg5vUcC? z=pZiy9)7f!etppx^WAs`z4~PeXUzmfQop*IxB0Wj&WsX;Qfd7vHbs77%$18qV_@VK zhsVxKsR(@2_MHJU0=(v*h64tg95Cx_G+x+gM zl)u-+3ktPJ&1=4Lco$ZPki91mitSRk1(8 z4d)B0-aiN=N-^_XPPB;UEAz=rv#6nOQLgl~*_2ba7{)G89&4@yS7K5(46y!WJYx<; zm%D(dM{luX`74C+0sR2R6T3Pp6XUn91SH7#GD{HOJ9!?Y*i(z)KL`3bzjVMO|JX__ zd;(@RQ?moF>q!qhCW$~u62$tlGg)V3Sgg4G!J4xd9M*)vEwxAknkW;s_)f-g`Nki# zM|r}a+k5;vb8W$QGZz9SG$oX8{j%sIibmdPz8)(;U?1!@34ew3G%g`V(Ek#Q;e@$1 zw87bq4VMKq%66ov=m=smuK_j4>xx|tF(&Yj7PqcG8=5HP`oNq!IHZDWXlw8WQ^k@q zj&7@6U{a&Y(q7XK{+Q$!4KEl1O#v@}J%y@x+UdE|&0luU>`kyYWcdPQZ?qQH7LpyC z>v~fwBsjMG3=0)ddO&%xA2cX?X6#7p$Hbh33Zz<0G$m?s+n3ARv?pE5l|kgyqCi!? z;aeuLJY8Uzc`hwP5C)qX8tp74dF=^M+KcT<&<`fBF}Iv$8e*NZc1XMR5{qO5;VC?{ zjfV7lDV zC#Rxt(VoFel;9ksbT9^JQ(DL9*x>B#Gvmzm4mYYE0Fd3A{a@M;iHHDZ*~DXH-CxGD zHJh+86WyV4%WAqkgz!oaOP1<-5LPn^d&x7)g7rno+bWgOL5Ev>ssJCOijS`y3r?`< z8aSpmM{+s0x_(BpXVA{zYa9CkLc6SW`z=6Hp8gzE(qBulGIimnF_+nSIaXQ)MG(MQ zs)Vjn&s~cC&xs=$j>OCX3Hu@CSeRViJ^-3{vJufVLZsN{?sx?+xzeq_E_RHo?Uq^&>PbAO z6B9H$_|k^l(uol^)T>(&`$@l;&>`)8BeEbXOIW%U<4kR8l_C%H3u%$>$@hEdDQVtm z>h_eys@sjm^hHBoM0Aaf`^jzO7bse+5?n6T$k%kJ6bwG^ICzCZZnfOeaiA_G{#g&6O7;&nv ze`K@%ep0nAW`4()lUQRmx4`gC`+s#7%Sd7kqa)BuOuH%}rqr*7%8T$1&AGeQhVE%C z@XQ)HPI6s@pH&IRrHC)Mx|*|4)i^Cf3q?wV_&48&u1whbCHsboRj9AAw2%s+gtfEl*pN3!8*S(QBPe^G+%s&Y{z}ET33uLo4s&zm&YfcKCQ93$Rp7DrI zw~YA8XHnb&;)#V9*4}};^34gZE&vL-hLILONyoiW;tO}Jh!^#M{iiLJI>8g0j&`-% zsKZ+5RUi1>cmHI{jgYJ|fMSTy`7eHSqvJaWE@I}rewMVl&DKf9@G3@e%UGsZ5-US`%y02RhMR&9LP5Lg4 zHrZzA<}CY}JqF>mtd2NB*NUZTw}jVKRy$bd4JwwS7gSqsqR-XadqZ zQlB&F0_XA+`}+^#kasyW`gA&FD<^0GylAI3`vO}vcr{;+YWo_qI$yAaA3sQ+hzRD7z)Y9u5R$L~m%ZO_Ccn1NkF8VPbZl@l~+ z8#|DvX1QOEJ&M0*wR%;bpsXk;wii7zva-HO;p2}o;Mf;vJCc#YI})k6;hn0O_hm3} zLcZ8tJ5*BVl$TVH)4Kc{F^Y5xxmqE=K77D|eZArWA!7%t0GvcsTVO8c4|}pmclU*< z|JAzuSYWBxLGg2Z&45%3__r0b zI-lc6E`xn2JF=g6DMih8;VVh9 z?iF(zL`hs9-RK#W0a;Q4?Kb5@sh$XKtA*`*g z&jg{tQ$QY?_yFwOYJN2#;OkI@T8!MRrwvW^4V@ya3*402o2Se9U(ESRi+5k6(aVfO5O zq!2#kp+-lablS>D(sHqxO~AF@7Pi! z`t5h5hPOM~jjl_Ce$A6OKHX4MY1=}jp$bU7pV{+qhY+_qjob07Go%B#8;?w0UcuV% z8TJgmg!1)}*(c?cnsw*06NaAnke2chGp+Bj6@#p{84Qh#tIRklH{`c z56MZzvx_e414m*K)ls9fcz?7bW^p{LaU+3{2duoSMv|wi{-q8tK90MM{bC+P%`@8e zCS)U6LNNIKy%IyHpq=OlE_EU*7e9r<q9OBSoN zx^3i=IXvW>;Kal9$7AVT-!365YyIZq&e^fDp~u#=lLz-l3c5iqw^}9SjIl=UGe1uR z{Xy__H|ib2SyOcoLk}HD>pq;^#i;w$!eO+|b=#n2HP(!*Yp<|uyI^(P?ScErf=ny7 zb7cA)RY>Hkj##l)j7=uvPkp|rXU7I;U0q)6kF}PeUbExd=B`W7oV9X`be|f>)yn&u z#AR_i>-N{0|K`Vz1t#fVi;>W`dos=^=48`-e$T| z1;}M?5ga~iG(_ZG^b$x1MB7&N9itI@(bZIIhP+iTLtMC2H zG)pFig%gVGq+{922(xmS+-`>Vb8QP*z|<+79!M~BW5a6zU;pX7^Y`V$F@1r+yI!N- zyMez3j&-RbXxnz9-s@7ZdKD2j+%B~Lly8S+ebDe#b8m&CPvDk+RIe<#9cUmC_E;HW@1Cn@21dd)cbH^us zo8A~~FpJdxKUhwCf!c{}n$XrZi}R(P9kytKv-3gk30nXkoz)yH?)BM3UH&7grP`?A zewS^0t6RKNH*nni$Sar>kp3Mo^2mzo+TKYPWtK0TMhMeCbnk}Hi5}dZo(PUYu1~)Z zYjvQ&|2`GrrbkaS&STPo(Z&f>Oh1lFgCR~n@-WF_`R)D+b*X~Tdsu-D`B)8f$l21x z@B)!F#}gT{LcrP-s*lag6aSXpqCD#XLgyR+&V+cz$fjnlLZX7m-vOlrHu}E>BHy%E z0choFUX1CVOIUoSOpxXbU~_-#a55h+!ByP4XO~gJcUCsIxoiY5DRz zAd^DT4Kiks&pM7)*R_t`{OZxZ5*kJba2EnhQ zuUGt>De}=!_rbb=Ndiygzdt#{U?e z)WdZWx9>}wDd%?kCed=UEc@Y}Q*4i`z8`byFTe28K<>Xu;8VL9_I&3yA6l`|`hyFX zNA0(SUmt)IDK#u>(sJ6rhx1Qf(Gzrv!JE7N`oXm~UTk0~c8^?i`F^yZMykiRqJt*C zi#sNr6fC~UIN81D!8TK_?!I;>;3|yX(y*DgiOrpVHs(JQvU!!z|CISm;)P5*8F$Z(m8+QdJlbc+ z)lx zPky-J{pue_?nN6`KlW|;`NQ#6frZ#w+4k?}pDeitTt&5R$NWPF?y(-Uzsj(6)ka50tWezbUy;(F1rh@ox9f$HiU^PZY0xlWjYDezM}@ zdvmjv-is)$Vl9c)HLR*OaEakr60(Y`uH3FU^zNy`r-utqo@CR$llLf9Cntr%vT5$TAIa^t;EB{#7 zz%pw^&a(b12Mkn<7`MFgYx#ZAQ)6o?1DmCtOOV~h*^{C|zuYbmJH0!_ewY4n>F*0) zYytLA!{;1a#yDSssZ06OeeT&uT|Vv=IbYHR94PQp5h*OjD zghipUY0IWAm>VzRY3DzwbG!8WE*+Ws`!IBMZLHMZr|Cg^ii?GTW8VUKHu=#*S#QRr9F8H3Le&&TkqsmVk$WqZyhEHE*+}&$fq8X$R@6ZlZ z1{y>+fv+QlbYm9Ow0;T*U8B6u_%s1xZt035^c zz@EdB3tc&RdFAHjM~)r?j^=SFR<2yVT3J`O*Z*nR&r7N%f4+u?tO#g459~}{zp^rz z{r~H0Q~m#zi$ogi%s(Hur~3Oef6#ETx34d6QsKYD|MygUWZL@rit8+msSrI|HaJYb zU-vlpzpSembTVK*|6OB@BMb035!}54x~v