ࡱ> Y[:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXM bjbj== Q WW[l    Tl222Jl,ltB9^   8L/($ t 8 8 8   . 8%    8:WR+W1  t  pGl{2]J) L0tdPD0t=OJ%JJtT L     NORTHWESTERN UNIVERSITY A Methodology For Translating Scheduled Software Binaries onto Field Programmable Gate Arrays A DISSERTATION SUBMITTED TO THE GRADUATE SCHOOL IN PARTIAL FULFILLMENTS OF THE REQUIREMENTS for the degree DOCTOR OF PHILOSOPHY Field of Electrical and Computer Engineering By David C. Zaretsky EVANSTON, ILLINOIS December 2005 Copyright by David C. Zaretsky 2005 All Rights Reserved. Abstract A METHODOLOGY FOR TRANSLATING SCHEDULED SOFTWARE BINARIES ONTO FIELD PROGRAMMABLE GATE ARRAYS David C. Zaretsky Recent advances in embedded communications and control systems are pushing the computational limits of DSP applications, driving the need for hardware/software co-design systems. This dissertation describes the development and architecture of the FREEDOM compiler that translates DSP software binaries to hardware descriptions for FPGAs as part of a hardware/software co-design. We present our methodology for translating scheduled software binaries to hardware, and described an array of optimizations that were implemented in the compiler. Our balanced scheduling and operation chaining techniques show even greater improvements in performance. Our resource sharing optimization generates templates of reoccurring patterns in a design to reduce resource utilization. Our structural extraction technique identifies structures in a design for partitioning as part of a hardware/software co-design. These concepts were tested in a case study of an MPEG-4 decoder. Results indicate speedups between 14-67x in terms of cycles and 6-22x in terms of time for the FPGA implementation over that of the DSP. Comparison of results with another high-level synthesis tool indicates that binary translation is an efficient method for high-level synthesis. Acknowledgements I wish to thank my advisor, Prith Banerjee, for allowing me the opportunity to work under his guidance as a graduate student at Northwestern University. His support and encouragement has led to the accomplishments of my work as described in this dissertation. I would also like to thank my secondary advisor, Robert Dick, who was a tremendous help in much of my research. His guidance and input was immeasurable. I wish to thank Professors Prith Banerjee, Robert Dick, Seda Ogrenci Memik, and Hai Zhou for participating on the final examination committee for my dissertation. To my colleague, Gaurav Mittal, who shared a great deal of the burden on this project, I wish to thank you for all your helpful insights in the different aspects of the project that were invaluable to the successful completion of this dissertation. I wish to also thank my fellow colleagues at Northwestern University who have shared research ideas and with whom I have collaborated. A special thank you to Kees Vissers, Robert Turney, and Paul Schumacher at Xilinx Research Labs for providing me with the MPEG-4 source code to be used in my Ph.D. research and in this dissertation. Finally, I wish to thank my parents for teaching me the sky is the limit! Table of Contents TOC \o "1-3" \h \z \t "Chapter Title,2"   HYPERLINK \l "_Toc120528442" Abstract  PAGEREF _Toc120528442 \h iii  HYPERLINK \l "_Toc120528443" Acknowledgements  PAGEREF _Toc120528443 \h iv  HYPERLINK \l "_Toc120528444" Table of Contents  PAGEREF _Toc120528444 \h v  HYPERLINK \l "_Toc120528445" List of Tables  PAGEREF _Toc120528445 \h xi  HYPERLINK \l "_Toc120528446" List of Figures  PAGEREF _Toc120528446 \h xiii  HYPERLINK \l "_Toc120528447" Chapter 1: Introduction  PAGEREF _Toc120528447 \h 1  HYPERLINK \l "_Toc120528449" 1.1 Binary to Hardware Translation  PAGEREF _Toc120528449 \h 3  HYPERLINK \l "_Toc120528450" 1.2 Texas Instruments TMS320C6211 DSP Design Flow  PAGEREF _Toc120528450 \h 6  HYPERLINK \l "_Toc120528451" 1.3 Xilinx Virtex II FPGA Design Flow  PAGEREF _Toc120528451 \h 8  HYPERLINK \l "_Toc120528452" 1.4 Motivational Example  PAGEREF _Toc120528452 \h 11  HYPERLINK \l "_Toc120528453" 1.5 Dissertation Overview  PAGEREF _Toc120528453 \h 12  HYPERLINK \l "_Toc120528454" Chapter 2:  HYPERLINK \l "_Toc120528455" Related Work  PAGEREF _Toc120528455 \h 14  HYPERLINK \l "_Toc120528456" 2.1 High-Level Synthesis  PAGEREF _Toc120528456 \h 14  HYPERLINK \l "_Toc120528457" 2.2 Binary Translation  PAGEREF _Toc120528457 \h 17  HYPERLINK \l "_Toc120528458" 2.3 Hardware-Software Co-Designs  PAGEREF _Toc120528458 \h 18  HYPERLINK \l "_Toc120528459" Chapter 3:  HYPERLINK \l "_Toc120528460" The FREEDOM Compiler  PAGEREF _Toc120528460 \h 21  HYPERLINK \l "_Toc120528461" 3.1 The Machine Language Syntax Tree  PAGEREF _Toc120528461 \h 22  HYPERLINK \l "_Toc120528462" 3.1.1 MST Instructions  PAGEREF _Toc120528462 \h 23  HYPERLINK \l "_Toc120528463" 3.1.2 Control Flow Analysis  PAGEREF _Toc120528463 \h 24  HYPERLINK \l "_Toc120528464" 3.1.3 Data Dependency Analysis  PAGEREF _Toc120528464 \h 24  HYPERLINK \l "_Toc120528465" 3.2 The Control and Data Flow Graph  PAGEREF _Toc120528465 \h 26  HYPERLINK \l "_Toc120528466" 3.2.1 Memory Operations  PAGEREF _Toc120528466 \h 27  HYPERLINK \l "_Toc120528467" 3.2.2 Predicate Operations  PAGEREF _Toc120528467 \h 28  HYPERLINK \l "_Toc120528468" 3.2.3 Procedure, Function and Library Calls  PAGEREF _Toc120528468 \h 30  HYPERLINK \l "_Toc120528469" 3.3 The Hardware Description Language  PAGEREF _Toc120528469 \h 31  HYPERLINK \l "_Toc120528470" 3.3.1 Memory Support  PAGEREF _Toc120528470 \h 31  HYPERLINK \l "_Toc120528471" 3.3.2 Procedure Calls  PAGEREF _Toc120528471 \h 32  HYPERLINK \l "_Toc120528472" 3.4 The Graphical User Interface  PAGEREF _Toc120528472 \h 33  HYPERLINK \l "_Toc120528473" 3.5 Verification  PAGEREF _Toc120528473 \h 34  HYPERLINK \l "_Toc120528474" 3.5.1 Verifying Bit-True Accuracy  PAGEREF _Toc120528474 \h 35  HYPERLINK \l "_Toc120528475" 3.5.2 Testbenches  PAGEREF _Toc120528475 \h 36  HYPERLINK \l "_Toc120528476" 3.6 Summary  PAGEREF _Toc120528476 \h 36  HYPERLINK \l "_Toc120528477" Chapter 4:  HYPERLINK \l "_Toc120528478" Building a Control and Data Flow Graph from Scheduled Assembly  PAGEREF _Toc120528478 \h 38  HYPERLINK \l "_Toc120528479" 4.1 Related Work  PAGEREF _Toc120528479 \h 41  HYPERLINK \l "_Toc120528480" 4.2 Generating a Control Flow Graph  PAGEREF _Toc120528480 \h 42  HYPERLINK \l "_Toc120528481" 4.3 Linearizing Pipelined Operations  PAGEREF _Toc120528481 \h 45  HYPERLINK \l "_Toc120528482" 4.3.1 Event-Triggered Operations  PAGEREF _Toc120528482 \h 46  HYPERLINK \l "_Toc120528483" 4.3.2 Linearizing Computational Operations  PAGEREF _Toc120528483 \h 49  HYPERLINK \l "_Toc120528484" 4.3.3 Linearizing Branch Operations  PAGEREF _Toc120528484 \h 51  HYPERLINK \l "_Toc120528485" 4.3.4 The Linearization Algorithm  PAGEREF _Toc120528485 \h 52  HYPERLINK \l "_Toc120528486" 4.4 Generating the Control and Data Flow Graph  PAGEREF _Toc120528486 \h 54  HYPERLINK \l "_Toc120528487" 4.5 Experimental Results  PAGEREF _Toc120528487 \h 55  HYPERLINK \l "_Toc120528488" 4.6 Summary  PAGEREF _Toc120528488 \h 57  HYPERLINK \l "_Toc120528489" Chapter 5:  HYPERLINK \l "_Toc120528490" Control and Data Flow Graph Optimizations  PAGEREF _Toc120528490 \h 58  HYPERLINK \l "_Toc120528491" 5.1 CDFG Analysis  PAGEREF _Toc120528491 \h 58  HYPERLINK \l "_Toc120528492" 5.1.1 Structural Analysis  PAGEREF _Toc120528492 \h 59  HYPERLINK \l "_Toc120528493" 5.1.2 Reaching Definitions  PAGEREF _Toc120528493 \h 60  HYPERLINK \l "_Toc120528494" 5.2 CDFG Optimizations  PAGEREF _Toc120528494 \h 61  HYPERLINK \l "_Toc120528495" 5.2.1 Identifying Input and Output Ports  PAGEREF _Toc120528495 \h 61  HYPERLINK \l "_Toc120528496" 5.2.2 Single Static-Variable Assignment  PAGEREF _Toc120528496 \h 63  HYPERLINK \l "_Toc120528497" 5.2.3 Undefined Variable Elimination  PAGEREF _Toc120528497 \h 64  HYPERLINK \l "_Toc120528498" 5.2.4 Common Sub-Expression Elimination  PAGEREF _Toc120528498 \h 64  HYPERLINK \l "_Toc120528499" 5.2.5 Copy Propagation  PAGEREF _Toc120528499 \h 66  HYPERLINK \l "_Toc120528500" 5.2.6 Constant Folding  PAGEREF _Toc120528500 \h 66  HYPERLINK \l "_Toc120528501" 5.2.7 Constant Propagation  PAGEREF _Toc120528501 \h 67  HYPERLINK \l "_Toc120528502" 5.2.8 Strength Reduction  PAGEREF _Toc120528502 \h 68  HYPERLINK \l "_Toc120528503" 5.2.9 Constant Predicate Elimination  PAGEREF _Toc120528503 \h 68  HYPERLINK \l "_Toc120528504" 5.2.10 Boolean Reduction  PAGEREF _Toc120528504 \h 69  HYPERLINK \l "_Toc120528505" 5.2.11 Shift Reduction  PAGEREF _Toc120528505 \h 70  HYPERLINK \l "_Toc120528506" 5.2.12 Redundant Memory Access Elimination  PAGEREF _Toc120528506 \h 70  HYPERLINK \l "_Toc120528507" 5.2.13 Block-Set Merging  PAGEREF _Toc120528507 \h 72  HYPERLINK \l "_Toc120528508" 5.2.14 Dead-Code Elimination  PAGEREF _Toc120528508 \h 73  HYPERLINK \l "_Toc120528509" 5.2.15 Empty Block Extraction  PAGEREF _Toc120528509 \h 73  HYPERLINK \l "_Toc120528510" 5.2.16 Loop Unrolling  PAGEREF _Toc120528510 \h 74  HYPERLINK \l "_Toc120528511" 5.2.17 Register Allocation  PAGEREF _Toc120528511 \h 75  HYPERLINK \l "_Toc120528512" 5.3 Experimental Results  PAGEREF _Toc120528512 \h 76  HYPERLINK \l "_Toc120528513" 5.4 Summary  PAGEREF _Toc120528513 \h 79  HYPERLINK \l "_Toc120528514" Chapter 6:  HYPERLINK \l "_Toc120528515" Scheduling  PAGEREF _Toc120528515 \h 80  HYPERLINK \l "_Toc120528516" 6.1 Related Work  PAGEREF _Toc120528516 \h 82  HYPERLINK \l "_Toc120528517" 6.2 Balanced Scheduling  PAGEREF _Toc120528517 \h 84  HYPERLINK \l "_Toc120528518" 6.3 Balanced Chaining  PAGEREF _Toc120528518 \h 89  HYPERLINK \l "_Toc120528519" 6.3.1 Modeling Delays  PAGEREF _Toc120528519 \h 91  HYPERLINK \l "_Toc120528520" 6.3.2 Balanced Chaining Algorithm  PAGEREF _Toc120528520 \h 95  HYPERLINK \l "_Toc120528521" 6.4 Experimental Results  PAGEREF _Toc120528521 \h 97  HYPERLINK \l "_Toc120528522" 6.5 Summary  PAGEREF _Toc120528522 \h 103  HYPERLINK \l "_Toc120528523" Chapter 7:  HYPERLINK \l "_Toc120528524" Resource Sharing  PAGEREF _Toc120528524 \h 105  HYPERLINK \l "_Toc120528525" 7.1 Related Work  PAGEREF _Toc120528525 \h 108  HYPERLINK \l "_Toc120528526" 7.2 Dynamic Resource Sharing  PAGEREF _Toc120528526 \h 110  HYPERLINK \l "_Toc120528527" 7.2.1 Linear DAG Isomorphism  PAGEREF _Toc120528527 \h 110  HYPERLINK \l "_Toc120528528" 7.2.2 Growing Templates  PAGEREF _Toc120528528 \h 112  HYPERLINK \l "_Toc120528529" 7.2.3 Reconverging Paths  PAGEREF _Toc120528529 \h 114  HYPERLINK \l "_Toc120528530" 7.2.4 Template Matching  PAGEREF _Toc120528530 \h 115  HYPERLINK \l "_Toc120528531" 7.2.5 Selecting Templates  PAGEREF _Toc120528531 \h 117  HYPERLINK \l "_Toc120528532" 7.2.6 Building Template Structures  PAGEREF _Toc120528532 \h 118  HYPERLINK \l "_Toc120528533" 7.2.7 Resource Sharing Algorithm  PAGEREF _Toc120528533 \h 119  HYPERLINK \l "_Toc120528534" 7.3 Experimental Results  PAGEREF _Toc120528534 \h 121  HYPERLINK \l "_Toc120528535" 7.4 Summary  PAGEREF _Toc120528535 \h 124  HYPERLINK \l "_Toc120528536" Chapter 8:  HYPERLINK \l "_Toc120528537" Hardware-Software Partitioning of Software Binaries  PAGEREF _Toc120528537 \h 125  HYPERLINK \l "_Toc120528538" 8.1 Related Work  PAGEREF _Toc120528538 \h 126  HYPERLINK \l "_Toc120528539" 8.2 Structural Extraction  PAGEREF _Toc120528539 \h 128  HYPERLINK \l "_Toc120528540" 8.2.1 Discovering Extractable Structures  PAGEREF _Toc120528540 \h 129  HYPERLINK \l "_Toc120528541" 8.2.2 Selecting Structures for Extraction  PAGEREF _Toc120528541 \h 132  HYPERLINK \l "_Toc120528542" 8.2.3 Extracting Structures  PAGEREF _Toc120528542 \h 133  HYPERLINK \l "_Toc120528543" 8.3 Summary  PAGEREF _Toc120528543 \h 135  HYPERLINK \l "_Toc120528544" Chapter 9:  HYPERLINK \l "_Toc120528545" A Case Study: MPEG-4  PAGEREF _Toc120528545 \h 136  HYPERLINK \l "_Toc120528546" 9.1 Overview of the MPEG-4 Decoder  PAGEREF _Toc120528546 \h 136  HYPERLINK \l "_Toc120528547" 9.1.1 Parser  PAGEREF _Toc120528547 \h 138  HYPERLINK \l "_Toc120528548" 9.1.2 Texture Decoding  PAGEREF _Toc120528548 \h 139  HYPERLINK \l "_Toc120528549" 9.1.3 Motion Compensation  PAGEREF _Toc120528549 \h 139  HYPERLINK \l "_Toc120528550" 9.1.4 Reconstruction  PAGEREF _Toc120528550 \h 140  HYPERLINK \l "_Toc120528551" 9.1.5 Memory Controller  PAGEREF _Toc120528551 \h 140  HYPERLINK \l "_Toc120528552" 9.1.6 Display Controller  PAGEREF _Toc120528552 \h 141  HYPERLINK \l "_Toc120528553" 9.2 Experimental Results  PAGEREF _Toc120528553 \h 141  HYPERLINK \l "_Toc120528554" 9.3 Summary  PAGEREF _Toc120528554 \h 143  HYPERLINK \l "_Toc120528555" Chapter 10:  HYPERLINK \l "_Toc120528556" Conclusions and Future Work  PAGEREF _Toc120528556 \h 144  HYPERLINK \l "_Toc120528557" 10.1 Summary of Contributions  PAGEREF _Toc120528557 \h 145  HYPERLINK \l "_Toc120528558" 10.2 Comparison with High-Level Synthesis Performances  PAGEREF _Toc120528558 \h 146  HYPERLINK \l "_Toc120528559" 10.3 Future Work  PAGEREF _Toc120528559 \h 147  HYPERLINK \l "_Toc120528560" References  PAGEREF _Toc120528560 \h 149  HYPERLINK \l "_Toc120528561" Appendix A:  HYPERLINK \l "_Toc120528562" MST Grammar  PAGEREF _Toc120528562 \h 157  HYPERLINK \l "_Toc120528563" Appendix B:  HYPERLINK \l "_Toc120528564" HDL Grammar  PAGEREF _Toc120528564 \h 159  HYPERLINK \l "_Toc120528565" Appendix C:  HYPERLINK \l "_Toc120528566" Verilog Simulation Testbench  PAGEREF _Toc120528566 \h 163  List of Tables  TOC \h \z \c "Table"  HYPERLINK \l "_Toc120528567" Table 3.1. Supported operations in the MST grammar.  PAGEREF _Toc120528567 \h 23  HYPERLINK \l "_Toc120528568" Table 4.1. Experimental results on pipelined benchmarks.  PAGEREF _Toc120528568 \h 56  HYPERLINK \l "_Toc120528569" Table 5.1. Clock cycle results for CDFG optimizations.  PAGEREF _Toc120528569 \h 78  HYPERLINK \l "_Toc120528570" Table 5.2. Frequency results in MHz for CDFG optimizations.  PAGEREF _Toc120528570 \h 78  HYPERLINK \l "_Toc120528571" Table 5.3. Area results in LUTs for CDFG optimizations.  PAGEREF _Toc120528571 \h 79  HYPERLINK \l "_Toc120528572" Table 6.1. Delay models for operations on the Xilinx Virtex II FPGA.  PAGEREF _Toc120528572 \h 98  HYPERLINK \l "_Toc120528573" Table 6.2. Delay models for operations on the Altera Stratix FPGA  PAGEREF _Toc120528573 \h 99  HYPERLINK \l "_Toc120528574" Table 6.3. Comparison of scheduling routines for Xilinx Virtex II FPGA.  PAGEREF _Toc120528574 \h 100  HYPERLINK \l "_Toc120528575" Table 6.4. Comparison of scheduling routines for Altera Stratix FPGA.  PAGEREF _Toc120528575 \h 101  HYPERLINK \l "_Toc120528576" Table 6.5. Comparison of chaining routines for Xilinx Virtex II FPGA.  PAGEREF _Toc120528576 \h 102  HYPERLINK \l "_Toc120528577" Table 6.6. Comparison of chaining routines for Altera Stratix FPGA.  PAGEREF _Toc120528577 \h 103  HYPERLINK \l "_Toc120528578" Table 7.1. Number of templates generated and maximum template sizes for varying look-ahead and backtracking depths.  PAGEREF _Toc120528578 \h 123  HYPERLINK \l "_Toc120528579" Table 7.2. Number and percentage resources reduced with varying look-ahead and backtracking depth.  PAGEREF _Toc120528579 \h 123  HYPERLINK \l "_Toc120528580" Table 7.3. Timing results in seconds for resource sharing with varying look-ahead and backtracking depth.  PAGEREF _Toc120528580 \h 124  HYPERLINK \l "_Toc120528581" Table 9.1. MPEG-4 standard.  PAGEREF _Toc120528581 \h 137  HYPERLINK \l "_Toc120528582" Table 9.2. Comparison of MPEG-4 decoder modules on DSP and FPGA platforms.  PAGEREF _Toc120528582 \h 142  HYPERLINK \l "_Toc120528583" Table 10.1. Performance comparison between the TI C6211 DSP and the PACT and FREEDOM compiler implementations on the Xilinx Virtex II FPGA.  PAGEREF _Toc120528583 \h 147  List of Figures  TOC \h \z \c "Figure"  HYPERLINK \l "_Toc120528584" Figure 1.1. Using binary translation to implement a harware/software co-design.  PAGEREF _Toc120528584 \h 4  HYPERLINK \l "_Toc120528585" Figure 1.2. FREEDOM compiler bridging the gap between DSP and FPGA designs environments.  PAGEREF _Toc120528585 \h 5  HYPERLINK \l "_Toc120528586" Figure 1.3. Texas Instruments C6211 DSP architecture.  PAGEREF _Toc120528586 \h 7  HYPERLINK \l "_Toc120528587" Figure 1.4. Texas Instruments C6211 DSP development flow.  PAGEREF _Toc120528587 \h 8  HYPERLINK \l "_Toc120528588" Figure 1.5. Xilinx Virtex II FPGA development flow  PAGEREF _Toc120528588 \h 10  HYPERLINK \l "_Toc120528589" Figure 1.6. Example TI C6000 DSP assembly code.  PAGEREF _Toc120528589 \h 11  HYPERLINK \l "_Toc120528590" Figure 3.1. Overview of the FREEDOM compiler infrastructure.  PAGEREF _Toc120528590 \h 22  HYPERLINK \l "_Toc120528591" Figure 3.2. MST instructions containing timesteps and delays for determining data dependencies.  PAGEREF _Toc120528591 \h 25  HYPERLINK \l "_Toc120528592" Figure 3.3. TI assembly code for a dot product function.  PAGEREF _Toc120528592 \h 26  HYPERLINK \l "_Toc120528593" Figure 3.4. CDFG representation for a dot product function.  PAGEREF _Toc120528593 \h 27  HYPERLINK \l "_Toc120528594" Figure 3.5. Predicated operation in the CDFG.  PAGEREF _Toc120528594 \h 29  HYPERLINK \l "_Toc120528595" Figure 3.6. CDFG representation of a CALL operation.  PAGEREF _Toc120528595 \h 30  HYPERLINK \l "_Toc120528596" Figure 3.7. HDL representation for calling the dot product function.  PAGEREF _Toc120528596 \h 32  HYPERLINK \l "_Toc120528597" Figure 3.8. HDL process for asynchronous memory MUX controller.  PAGEREF _Toc120528597 \h 33  HYPERLINK \l "_Toc120528598" Figure 3.9. Graphical user interface for the FREEDOM compiler.  PAGEREF _Toc120528598 \h 34  HYPERLINK \l "_Toc120528599" Figure 4.1. TI C6000 assembly code for a pipelined vectorsum procedure.  PAGEREF _Toc120528599 \h 39  HYPERLINK \l "_Toc120528600" Figure 4.2. Control flow graph for vectorsum.  PAGEREF _Toc120528600 \h 43  HYPERLINK \l "_Toc120528601" Figure 4.3. Branch target inside a parallel instruction set.  PAGEREF _Toc120528601 \h 45  HYPERLINK \l "_Toc120528602" Figure 4.4. MST representation with instruction replication.  PAGEREF _Toc120528602 \h 45  HYPERLINK \l "_Toc120528603" Figure 4.5. Event-triggering for a pipelined branch operation in a loop body.  PAGEREF _Toc120528603 \h 48  HYPERLINK \l "_Toc120528604" Figure 4.6. Linearization of a pipelined load instruction in the vectorsum procedure.  PAGEREF _Toc120528604 \h 50  HYPERLINK \l "_Toc120528605" Figure 4.7. Linearization of a pipelined branch instruction in vectorsum.  PAGEREF _Toc120528605 \h 52  HYPERLINK \l "_Toc120528606" Figure 4.8. Linearization algorithm for pipelined operations.  PAGEREF _Toc120528606 \h 54  HYPERLINK \l "_Toc120528607" Figure 4.9. Procedure for generating a CDFG.  PAGEREF _Toc120528607 \h 55  HYPERLINK \l "_Toc120528608" Figure 5.1. CDFG optimization flow for the FREEDOM compiler.  PAGEREF _Toc120528608 \h 59  HYPERLINK \l "_Toc120528609" Figure 5.2. Structural analysis on a CFG using graph minimization.  PAGEREF _Toc120528609 \h 60  HYPERLINK \l "_Toc120528610" Figure 5.3. Adding input and output ports to a CDFG.  PAGEREF _Toc120528610 \h 63  HYPERLINK \l "_Toc120528611" Figure 5.4. Common sub-expression elimination example.  PAGEREF _Toc120528611 \h 65  HYPERLINK \l "_Toc120528612" Figure 5.5. Copy propagation examples.  PAGEREF _Toc120528612 \h 66  HYPERLINK \l "_Toc120528613" Figure 5.6. Constant folding example.  PAGEREF _Toc120528613 \h 67  HYPERLINK \l "_Toc120528614" Figure 5.7. Constant propagation example.  PAGEREF _Toc120528614 \h 67  HYPERLINK \l "_Toc120528615" Figure 5.8. Strength reduction example.  PAGEREF _Toc120528615 \h 68  HYPERLINK \l "_Toc120528616" Figure 5.9. Constant predicate elimination example.  PAGEREF _Toc120528616 \h 69  HYPERLINK \l "_Toc120528617" Figure 5.10. Boolean reduction example.  PAGEREF _Toc120528617 \h 69  HYPERLINK \l "_Toc120528618" Figure 5.11. Shift reduction example.  PAGEREF _Toc120528618 \h 70  HYPERLINK \l "_Toc120528619" Figure 5.12. Redundant memory access elimination examples.  PAGEREF _Toc120528619 \h 72  HYPERLINK \l "_Toc120528620" Figure 5.13. Block-set merging example.  PAGEREF _Toc120528620 \h 73  HYPERLINK \l "_Toc120528621" Figure 5.14. Loop unrolling for a self-loop structure in a CDFG.  PAGEREF _Toc120528621 \h 74  HYPERLINK \l "_Toc120528622" Figure 6.1. ASAP, ALAP and Balanced scheduling routines.  PAGEREF _Toc120528622 \h 85  HYPERLINK \l "_Toc120528623" Figure 6.2. Dependency analysis algorithm.  PAGEREF _Toc120528623 \h 86  HYPERLINK \l "_Toc120528624" Figure 6.3. Balanced scheduling algorithm.  PAGEREF _Toc120528624 \h 88  HYPERLINK \l "_Toc120528625" Figure 6.4. Comparison of chaining methods.  PAGEREF _Toc120528625 \h 91  HYPERLINK \l "_Toc120528626" Figure 6.5. Verilog code for modeling delays.  PAGEREF _Toc120528626 \h 93  HYPERLINK \l "_Toc120528627" Figure 6.6. Measuring operation delays for FPGA designs.  PAGEREF _Toc120528627 \h 93  HYPERLINK \l "_Toc120528628" Figure 6.7. Comparison of delay models for a multiply operation.  PAGEREF _Toc120528628 \h 94  HYPERLINK \l "_Toc120528629" Figure 6.8. Balanced chaining algorithm.  PAGEREF _Toc120528629 \h 96  HYPERLINK \l "_Toc120528630" Figure 7.1. Reoccurring patterns in a CDFG.  PAGEREF _Toc120528630 \h 106  HYPERLINK \l "_Toc120528631" Figure 7.2. Equivalent DAG structures.  PAGEREF _Toc120528631 \h 111  HYPERLINK \l "_Toc120528632" Figure 7.3. Pseudo-code for DAG expressions.  PAGEREF _Toc120528632 \h 112  HYPERLINK \l "_Toc120528633" Figure 7.4. Pseudo-code for growing nodesets.  PAGEREF _Toc120528633 \h 113  HYPERLINK \l "_Toc120528634" Figure 7.5. Generated nodesets and expressions.  PAGEREF _Toc120528634 \h 113  HYPERLINK \l "_Toc120528635" Figure 7.6. Pseudo-code for reconverging paths.  PAGEREF _Toc120528635 \h 114  HYPERLINK \l "_Toc120528636" Figure 7.7. Pseudo-code for template matching.  PAGEREF _Toc120528636 \h 116  HYPERLINK \l "_Toc120528637" Figure 7.8. Adjacency matrix for overlapping sets.  PAGEREF _Toc120528637 \h 117  HYPERLINK \l "_Toc120528638" Figure 7.9. Pseudo-code for template selection.  PAGEREF _Toc120528638 \h 118  HYPERLINK \l "_Toc120528639" Figure 7.10. Generated template for the DAG in Figure 7.5.  PAGEREF _Toc120528639 \h 119  HYPERLINK \l "_Toc120528640" Figure 7.11. Pseudo-code for resource sharing.  PAGEREF _Toc120528640 \h 120  HYPERLINK \l "_Toc120528641" Figure 8.1. Procedure for discovering structures for extraction.  PAGEREF _Toc120528641 \h 130  HYPERLINK \l "_Toc120528642" Figure 8.2. Recursive procedure for identifying extractable structures.  PAGEREF _Toc120528642 \h 130  HYPERLINK \l "_Toc120528643" Figure 8.3. Procedure for determining if a structure can be extracted.  PAGEREF _Toc120528643 \h 131  HYPERLINK \l "_Toc120528644" Figure 8.4. GUI interface for selecting structures for extraction.  PAGEREF _Toc120528644 \h 132  HYPERLINK \l "_Toc120528645" Figure 8.5. Recursive procedure fore extracting structures.  PAGEREF _Toc120528645 \h 133  HYPERLINK \l "_Toc120528646" Figure 8.6. Extracted MST instructions replaced with a procedure call.  PAGEREF _Toc120528646 \h 134  HYPERLINK \l "_Toc120528647" Figure 8.7. Verilog code for calling the extracted procedure in a FSM.  PAGEREF _Toc120528647 \h 134  HYPERLINK \l "_Toc120528648" Figure 9.1. Software model for the MPEG-4 decoder.  PAGEREF _Toc120528648 \h 138  HYPERLINK \l "_Toc120528649" Figure 9.2. Software implementation for the texture decoding module.  PAGEREF _Toc120528649 \h 139  HYPERLINK \l "_Toc120528650" Figure 9.3. Software implementation for the motion compensation module.  PAGEREF _Toc120528650 \h 140  HYPERLINK \l "_Toc120528651" Figure 9.4. Software implementation for the memory controller module.  PAGEREF _Toc120528651 \h 141  Introduction Recent advances in embedded communications and control systems are driving hardware and software implementations for complete systems-on-chip (SOC) solutions, while pushing the computational limits of digital signal processing (DSP) functions. Two way radios, digital cellular phones, wireless Internet, 3G and 4G wireless receivers, MPEG4 video, voice over IP, and video over IP are examples of DSP applications that are typically mapped onto general purpose processors. Often times, the performance of these complex applications is impeded due to limitations in the computational capabilities of the processor. The conventional way to address the computational bottleneck has been to migrate sections of the application or its entirety to an application specific integrated circuit (ASIC) as part of a hardware-software co-design system. The flexibility of an ASIC allows the designer to optimize for power consumption and functional parallelism. However, the design time and cost of such an implementation is significant. Field Programmable Gate Arrays (FPGAs), provide an alternative to ASICs with built-in DSP functionality. FPGAs combine the programming advantage of a general purpose DSP processor with the performance advantage of an ASIC. By exploiting its inherent parallelism, it is expected that FPGAs can provide more flexible and optimal solutions for DSP applications in a hardware-software co-design system. Generally, the path from DSP algorithms to FPGA implementations is a complex and arduous task. DSP engineers initially create high-level models and specifications for the system in high-level languages, such as C/C++ or MATLAB. Hardware design teams use these specifications to create register transfer level (RTL) models in a hardware description language (HDL), such as VHDL and Verilog. The RTL descriptions are synthesized by back-end logic synthesis tools and mapped onto the FPGAs. In recent years, the size and complexity of designs for FPGAs and other reconfigurable hardware devices have increased dramatically. As a result, the manual approach to hardware designs for these systems has become cumbersome, leading the way to automated approaches for reducing the design time of complex systems. The problem of translating a high-level design to hardware is called high-level synthesis  REF _Ref113716656 \r \h [16]. Traditionally, the high-level synthesis problem is one of transforming an abstract model in a high-level application into a set of operations for a system, in which scheduling and binding are performed to optimize the design in terms of area, cycles, frequency, and power. Recently, many researchers have developed synthesis tools that translate descriptions of systems in high-level languages such as C/C++, MATLAB, and SIMULINK into RTL VHDL and Verilog for hardware implementations. Most high-level synthesis tools allow the designer to make optimization tradeoffs in the design, such as power, area and functional parallelism. By identifying high-level constructs, such as loops and if-then-else blocks, further optimizations can be performed, such as loop unrolling and functional partitioning. However, when high-level language constructs are not readily available, such as in the case where legacy code for an application on an older processor is to be migrated to a new processor architecture, a more interesting problem presents itself, known as binary translation. Binary to Hardware Translation Implementing a hardware/software co-design from software binaries is a complicated problem. The compiler must determine the bottlenecks in the computational portion of the software binary, automatically partition these sections and translated them to hardware, generate the proper hardware/software interface, and modify the original software binary to integrate properly with the new co-design. Moreover, the resulting co-design must show improvements over the original implementation for the system to be a worthwhile task. The hardware/software co-design problem is illustrated in  REF _Ref112753181 \h Figure 1.1. Binary translation, however, has an advantage over the traditional high-level synthesis approach in that it works with any high-level language and compiler flow since the binary code is essentially the final and universal format for a specific processor. In addition, software profiling is more accurate at the binary level as compared to the source level, allowing for better hardware/software partitioning.  Figure  STYLEREF 1 \s 1. SEQ Figure \* ARABIC \s 1 1. Using binary translation to implement a harware/software co-design. Translating scheduled software binaries from a fixed processor architecture to a hardware system, such as an FPGA or ASIC, is an even more interesting and complex problem than the traditional high-level synthesis problem. A general-purpose processor consists of a fixed number of functional units and physical registers, which often necessitate the use of advanced register-reuse algorithms by compilers to handle large data sets. Consequently, the effects of memory spilling optimizations cause many designs to suffer due to wasted clock cycles from memory loads and stores. The challenge in translating instructions from a fixed processor architecture to hardware is in undoing these optimizations by reverse-engineering the limitations in the architecture, and then exploiting the fine-grain parallelism in the design using a much larger number of functional units, embedded multipliers, registers and on-chip embedded memories.  Figure  STYLEREF 1 \s 1. SEQ Figure \* ARABIC \s 1 2. FREEDOM compiler bridging the gap between DSP and FPGA designs environments. A manual approach to this task is quite difficult. Often times, DSP engineers are not familiar with the hardware implementation aspect of FPGAs. Conversely, hardware engineers are often not familiar with the low-level aspects of DSP applications and general purpose processors. An automated approach is often relied upon to partition or translate software binaries. Towards this effort, we have developed the FREEDOM compiler, which automatically translates DSP software binaries to hardware descriptions for FPGAs  REF _Ref113729513 \r \h [42] REF _Ref113729534 \r \h [75]. FREEDOM is an acronym for Fabrication of Reconfigurable Hardware Environments from DSP Optimized Machine Code. The concept of the FREEDOM compiler is illustrated in  REF _Ref112658989 \h Figure 1.2. The two architectures selected in evaluating the concepts brought forth in this research are the Texas Instruments TMS320C6211 DSP as the general-purpose processor platform and the Xilinx Virtex II FPGA as the hardware platform. A brief description of these architectures and their design flow is provided in the following sections. Texas Instruments TMS320C6211 DSP Design Flow The Texas Instruments C6211 DSP has eight functional units, composed of two load-from-memory data paths (LD1/2), two store-to-memory data paths (ST1/2), two data address paths (DA1/2), and two register file data cross paths (1/2X). It can execute up to eight simultaneous instructions. It supports 8/16/32-bit data, and can additionally support 40/64 bit arithmetic operations. It has two sets of 32 general-purpose registers, each 32-bits wide. It has two multipliers that can perform two 16x16 or four 8x8 multiplies every cycle. It has special support for non-aligned 32/64-bit memory access. The C6211 processor has support for bit level algorithms and for rotate and bit count hardware.  REF _Ref112170702 \h Figure 1.3 illustrates the Texas Instruments C6211 DSP architecture.  Figure  STYLEREF 1 \s 1. SEQ Figure \* ARABIC \s 1 3. Texas Instruments C6211 DSP architecture. The design flow for an application to be implemented on this processor usually begins with DSP engineers developing specifications and design models in high-level languages such as C/C++, MATLAB, or SIMULINK. These models are simulated and verified at that level using known or randomized data. The high-level design is then compiled to a binary for the processor. The design is once again simulated for verification of correctness using the same data as before. The binary is also profiled during simulation to determine computational bottlenecks. The DSP designers will then go back and make adjustments to the high-level design or implement other optimizations to produce more efficient results. If the design still does not meet the necessary specifications or timing constraints, DSP engineers will often resolve to manually writing the assembly code. The development flow for the Texas Instruments C6211 DSP is illustrated in  REF _Ref112231895 \h Figure 1.4.  Figure  STYLEREF 1 \s 1. SEQ Figure \* ARABIC \s 1 4. Texas Instruments C6211 DSP development flow. Xilinx Virtex II FPGA Design Flow The Xilinx Virtex II FPGA consists of up to 168 18x18 multipliers in a single device, supporting up to 18-bit signed or 17-bit unsigned representation, and cascading to support bigger numbers. The multipliers can be fully combinational or pipelined. They also consist of up to 3 Mbits of embedded Block RAM, 1.5 Mbits of distributed memory and 100K logic cells. Virtex II FPGAs may contain up to 12 Digital Clock Managers (DCMs) and offers logic performance in excess of 300 MHz. Similar to the design flow of a DSP, an application to be implemented on an FPGA usually begins with DSP engineers developing specifications and design models in high-level languages such as C/C++, MATLAB, or SIMULINK. These models are simulated and verified at that level using known or randomized data. The high-level design model is then given to hardware engineers, who manually create the hardware descriptions for the FPGA in VHDL or Verilog, or they may use high-level synthesis tools to automatically translate the high-level design to the hardware descriptions. The design is once again simulated for verification of bit-true accuracy using the same data as before, while profiling the design for computational bottlenecks. If the design does not meet the necessary specifications or timing constraints, the hardware designers will go back and make adjustments to the hardware descriptions, or implement other optimizations to produce more efficient results. Once the simulation results meet the specification requirements, the hardware descriptions are synthesized into netlist of gates for the target FPGA using logic synthesis tools. The design is once again simulated for verification at this level. If errors occur in the post-synthesis simulation or design specifications are not met, the hardware engineers must re-evaluate the hardware descriptions and begin the process again. After post-synthesis simulation has passed all requirements and verification, the netlist of gates are placed and routed on the FPGA using back-end tools. Timing analysis and verification is performed once again at this level. If errors occur or timing constraints are not met, the hardware engineers must re-evaluate the hardware descriptions once again. The development flow for the Xilinx Virtex II FPGA is illustrated in  REF _Ref112430237 \h Figure 1.5.  Figure  STYLEREF 1 \s 1. SEQ Figure \* ARABIC \s 1 5. Xilinx Virtex II FPGA development flow Motivational Example In order to better understand the complexity of translating software binaries and assembly code to hardware, consider the example Texas Instruments C6211 DSP assembly code in  REF _Ref112174690 \h Figure 1.6. The processor has eight functional units (L1, M1, etc.), and may therefore execute at most eight instructions in parallel. In the example code, the MPY instructions require two cycles to execute and all other instructions require one cycle; hence, the instruction following the MPY is a NOP in this example. The || symbol in certain instructions signify that the instruction is executed in parallel with the previous instruction. As a result, the section of code requires seven cycles to execute. MV .L1 A0,A1 || MV .L2 B0,B1 MPY .M1 A1,A2,A3 || MPY .M2 B1,B2,B3 NOP 1 MPY .M1 A3,A6,A7 || MPY .M2 B3,B6,B7 NOP 1 ADD .L1X A7,B7,A8 ADD .L1 A4,A8,A9 Figure  STYLEREF 1 \s 1. SEQ Figure \* ARABIC \s 1 6. Example TI C6000 DSP assembly code. A simple translation of this code onto an FPGA, by assigning one operation per state in an RTL finite state machine, would result in no performance benefit. The design would require eight cycles to complete on an FPGA since there are eight instructions, excluding NOPs. Rather, one must explore the parallelism in the design through scheduling techniques and other optimizations in order to reduce the design complexity and exploit the fine-grain parallelism inherent in the FPGA architecture, thereby reducing the number of execution clock cycles. Dissertation Overview The key contribution of this research is twofold: To provide a description of the process and considerations for automatically translating software binaries from a general-purpose processor into RTL descriptions for implementation on FPGAs. Included in this work is an array of optimizations and scheduling routines, as well as a description of important concepts to consider when translating software binaries to hardware. Additionally, the true test is in experimentally evaluating the quality of the synthesized software binaries in terms of area and performance on FPGAs as compared to general-purpose processor implementations. The research described in this dissertation is a collaborative work with Gaurav Mittal  REF _Ref119824751 \r \h [41]. The work in this dissertation is presented as follows. In  REF _Ref112740478 \r \h Chapter 2, a survey of related work is presented.  REF _Ref119916356 \r \h Chapter 3 presents a detailed overview of the FREEDOM compiler infrastructure, which translates software binaries to hardware descriptions for FPGAs.  REF _Ref119916368 \r \h Chapter 4 discusses the intricacies in performing control and data flow analysis of scheduled and pipelined software binaries.  REF _Ref119916371 \r \h Chapter 5 provides an overview of the optimizations implemented in the FREEDOM compiler.  REF _Ref119916375 \r \h Chapter 6 presents new scheduling and operation chaining methods for FPGA designs. In  REF _Ref119916379 \r \h Chapter 7, a resource sharing optimization is presented.  REF _Ref119916382 \r \h Chapter 8 discusses a method of hardware/software partitioning using structural extraction.  REF _Ref119916385 \r \h Chapter 9 provides a case study, using the MPEG-4 CODEC as an example application translated from software to hardware using the methods described in the previous chapters. Finally,  REF _Ref113281960 \r \h Chapter 10 presents the conclusions and future work. Related Work The research presented in this dissertation is focused in three main areas of interest: high-level synthesis, binary translation, and hardware-software co-design. The FREEDOM compiler unifies all three of these areas of research, in that it performs high-level synthesis on software binaries for implementation on FPGA architectures in a hardware-software co-design. The following sections discuss some recent advances in these areas of research. High-Level Synthesis The problem of translating a high-level or behavioral language description into a register transfer level representation has been explorer extensively in research and industry. Synopsys developed one of the first successful commercial behavioral synthesis tools in the industry, the Behavioral Compiler, which translates behavioral VHDL or Verilog and into RTL VHDL or Verilog. The Princeton University Behavioral Synthesis System  REF _Ref113706694 \r \h [67] is another system that translated behavioral VHDL models and processes into RTL implementations. Over the years, there has been more work in developing compilers that translate high-level languages into RTL VHDL and Verilog. Many of these tools are available as commercial products by electronic design automation (EDA) companies. Adelante, Celoxica, and Cynapps are a few of the many companies that offer synthesis tools for translating C code to RTL descriptions. Haldar et al.  REF _Ref112530209 \r \h [28] described work on the MATCH compiler for translating MATLAB functions to RTL VHDL for FPGAs, which is now offered as a commercial tool by AccelChip  REF _Ref113640894 \r \h [3]. There have been some system level tools that translate graphical descriptions of systems to RTL descriptions. Examples include SPW from Cadence, System Generator from Xilinx, and DSP Builder from Altera. Other languages have been used in high-level synthesis design flows, such as SystemC, a relatively new language that allows users to write hardware system descriptions using a C++ class library. HardwareC is a hardware description language with syntax similar to C that models system behavior, and was used in the Olympus Synthesis System  REF _Ref113706878 \r \h [15] for synthesizing digital circuit designs. Recent studies in high-level synthesis have focused on incorporating low-level design optimizations and trade-offs in the high-level synthesis process. Dougherty and Thomas  REF _Ref113707673 \r \h [20] presented work on unifying behavioral synthesis and physical design using transformation that act as forces upon each other to guide the decisions in scheduling, allocation, binding, and placement to occur simultaneously. Gu et al.  REF _Ref113727058 \r \h [24] described an incremental high-level synthesis system that integrates high-level and physical design algorithms to concurrently improve a systems schedule, resource binding, and floorplan. Through incremental exploration of both the behavioral-level and physical-level design space, one is able to reduce the synthesis time, area and power consumption of the system. Bringmann et al.  REF _Ref113707707 \r \h [5] combined partitioning and an extended interconnection cost model in high-level synthesis for multi-FPGA systems with the objective to synthesize a prototype with maximal performance under the given area and interconnection constraints of the target architecture. Peng et al.  REF _Ref113707758 \r \h [51] described methods for automatic logic synthesis of sequential programs and high-level descriptions of asynchronous circuits into fine-grain asynchronous process netlists for high-performance asynchronous FPGA architectures. In recent years, power and thermal optimizations have played an essential role in high-level synthesis research. Musoll and Cortadella  REF _Ref113706970 \r \h [46] evaluated several power optimizations at high levels during synthesis. Jones et al.  REF _Ref113727135 \r \h [32] described work on the PACT compiler that focuses on power optimizations in translating C code to RTL VHDL and Verilog for FPGAs and ASICs. Chen et al.  REF _Ref113707000 \r \h [7] developed the LOPASS high-level synthesis system for reducing power consumption in FPGA designs using a framework for RTL power estimates that considers wire length. Stammermann et al.  REF _Ref113707105 \r \h [58] described a power optimizations during high-level synthesis in which floorplanning, functional unit binding, and allocation are implemented simultaneously to reduce the interconnect power in circuits. Lakshminarayana and Jha  REF _Ref113707042 \r \h [37] presented an iterative improvement technique for synthesizing hierarchical DFGs into circuits optimized for power and area. Mukherjee et al.  REF _Ref113707063 \r \h [45] investigated temperature-aware resource allocation and binding techniques during high-level synthesis to minimize the maximum temperature that can be reached by a resource in a design in order to prevent hot spots and increase reliability of integrated circuits. All of the research studies mention here focused mainly on the conventional high-level synthesis approach in which hardware implementations are generated from high-level applications and the source code was available. In contrast to this traditional approach, the FREEDOM compiler translates software binaries and assembly language codes into RTL VHDL and Verilog for FPGAs. In such cases, the source code and high-level information used in most of these optimizations and techniques may not be readily available, which makes binary translation to hardware an even more interesting problem. Binary Translation There has been a great deal of fundamental research and study of binary translation and decompilation. Cifuentes et al.  REF _Ref113727211 \r \h [10] REF _Ref112430457 \n \h [11] REF _Ref112430458 \n \h [12] described methods for converting assembly or binary code from one processors instruction set architecture (ISA) to another, as well as decompilation of software binaries to high-level languages. Kruegel et al.  REF _Ref112430574 \n \h [36] have described a technique for decompilation of obfuscated binaries. Dehnert et al.  REF _Ref112527324 \r \h [19] presented work on a technique called Code Morphing, in which they produced a full system-level implementation of the Intel x86 ISA on the Transmeta Crusoe VLIW processor. In related work on dynamic binary optimizations, Bala et al.  REF _Ref112521788 \r \h [2] developed the Dynamo system that dynamically optimizes binaries for the HP architecture during run-time. Gschwind et al.  REF _Ref113727288 \r \h [27] developed a similar system for the PowerPC architecture called the Binary-translation Optimized Architecture (BOA). Levine and Schmidt  REF _Ref113726081 \r \h [38] proposed a hybrid architecture called HASTE, in which instructions from an embedded processor are dynamically compiled onto a reconfigurable computational fabric during run-time using a hardware compilation unit to improve performance. Ye et al.  REF _Ref112430648 \n \h [72] developed a similar compiler system for the Chimaera architecture, which contains a small, reconfigurable functional unit integrated into the pipeline of a dynamically scheduled superscalar processor. Hardware-Software Co-Designs The choice of a hardware-software architecture requires balancing of many factors, such as allocation of operations or portions of the design to be implemented on each processing element, inter-processor communication, and device cost, among others. De Micheli et al.  REF _Ref113706878 \r \h [15] REF _Ref113716656 \r \h [16] REF _Ref113716552 \r \h [17] and Ernst  REF _Ref113717041 \r \h [22] have discussed much of the fundamental aspects of hardware/software co-designs. Generally, hardware/software co-designs are partitioned at the task or process level. Vallerio and Jha  REF _Ref113717900 \r \h [63] presented work on a task graph extraction tool for hardware/software partitioning of C programs. Xie and Wolf  REF _Ref113719408 \r \h [70] described an allocation and scheduling algorithm for a set of data-dependent tasks on a distributed, embedded computing system consisting of multiple processing elements of various types. The co-synthesis process synthesizes a distributed multiprocessor architecture and allocates processes to the target architecture, such that the allocation and scheduling of the task graph meets the deadline of the system, while the cost of the system is minimized. Gupta and De Micheli  REF _Ref113714017 \r \h [26] developed an iterative improvement algorithm to partition real-time embedded systems into a hardware-software co-design implementation based on a cost model for hardware, software, and interface constraints. Wolf  REF _Ref113718920 \r \h [68] described work on a heuristic algorithm that simultaneously synthesizes the hardware and software architectures of a distributed system that meets all specified performance constraints and simultaneously allocates and schedules the software processes onto the processing elements in the distributed system. Xie and Wolf  REF _Ref113713650 \r \h [69] introduced a hardware/software co-synthesis algorithm that optimizes the implementation of distributed embedded systems by selecting one of several possible ASIC implementations for a specific task. They use a heuristic iterative improvement algorithm to generate multiple implementations of a behavioral description of an ASIC and then analyze and compare their performances. Others have tackled more fine-grain partitioning of hardware/software co-designs. Li et al.  REF _Ref113717355 \r \h [40] developed the Nimble compilation tool that automatically compiles system-level applications specified in C to a hardware/software embedded reconfigurable architecture consisting of a general-purpose processor, an FPGA, and a memory hierarchy. The hardware/software partitioning is performed at the loop and basic-block levels, in which they use heuristics to select frequently executed or time-intensive loop bodies to move to hardware. Another relative area of research is hardware-software partitioning of software binaries. Stitt and Vahid  REF _Ref112430596 \r \h [60] reported work on hardware-software partitioning of software binaries, in which they manually translated software binary kernels from frequently executed loops on a MIPS processor and investigated their hardware implementations on a Xilinx Virtex FPGA. More recently, Stitt and Vahid  REF _Ref113727440 \r \h [59] have reported work on fast dynamic hardware/software partitioning of software binaries for a MIPS processor, in which they automatically map kernels consisting of simple loops onto reconfigurable hardware. The hardware used was significantly simpler than commercial FPGA architectures. Consequently, their approach was limited to combinational logic structures, sequential memory addresses, pre-determined loop sizes, and single-cycle loop bodies. In contrast to these methods, the FREEDOM compiler can translate entire software binaries or portions at a block or structural level to hardware implementations on FPGAs as both stand-alone designs and hardware/software co-designs. The FREEDOM Compiler This chapter provides an overview of the FREEDOM compiler infrastructure  REF _Ref113729513 \r \h [42] REF _Ref113729534 \r \h [75], as illustrated in  REF _Ref112597039 \h Figure 3.1. The FREEDOM compiler was designed to have a common entry point for all assembly languages. Towards this effort, the front-end uses a description of the source processors ISA in order to configure the assembly language parser. The ISA specifications are written in SLED from the New Jersey Machine-Code toolkit  REF _Ref112595225 \r \h [54] REF _Ref112595229 \r \h [55]. The parser translates the input source code into an intermediate assembly representation called the Machine Language Syntax Tree (MST). Simple optimizations, linearization and procedure extraction  REF _Ref112598615 \r \h [43] are implemented at the MST level. A control and data flow graph (CDFG) is generated from the MST instructions, where more complex optimizations, scheduling, and resource binding are preformed. The CDFG is then translated into an intermediate high-level Hardware Description Language (HDL) that models processes, concurrency, and finite state machines. Additional optimizations and customizations for the target architecture are performed on the HDL. This information is acquired via the Architecture Description Language (ADL) files. The HDL is translated directly to RTL VHDL and Verilog to be mapped onto FPGAs, and a testbench is generated to verify bit-true accuracy in the design. A graphical user interface (GUI) was design to manage projects and compiler optimizations for the designs. The following sections provide an overview for different aspects of the compiler, including the MST, the CDFG, and the HDL. A brief description of the GUI is also presented, as well as the techniques for verification of the generated designs.  Figure  STYLEREF 1 \s 3. SEQ Figure \* ARABIC \s 1 1. Overview of the FREEDOM compiler infrastructure. The Machine Language Syntax Tree The Machine Language Syntax Tree (MST) is an intermediate language whose syntax is similar to the MIPS ISA. The MST is generic enough to encapsulate most ISAs, including those that support predicated and parallel instruction sets. An MST design is made up of procedures, each containing a list of instructions. The MST grammar is described in detail in  REF _Ref112600986 \h  \* MERGEFORMAT Appendix A. MST Instructions Many advanced general-purpose processors handle predicated operations as part of the ISA. To accommodate for these complex ISA, all MST instructions are three-operand, predicated instructions in the format: [pred] op src1 src2 dst, syntactically defined as: if (pred=true) then op (src1, src2) ( dst. MST operands are composed of four types: Register, Immediate, Memory, and Label types. MST operators are grouped into six categories: Logical, Arithmetic, Compare, Branch, Assignment, and General types.  REF _Ref112601905 \h  \* MERGEFORMAT Table 3.1 lists the supported operations in the MST language. Table  STYLEREF 1 \s 3. SEQ Table \* ARABIC \s 1 1. Supported operations in the MST grammar. LogicalArithmeticCompareBranchAssignmentGeneralAND NAND NOR NOT OR SLL SRA SRL XNOR XORADD DIV MULT NEG SUB CMPEQ CMPGE CMPGT CMPLE CMPLT CMPNE BEQ BGEQ BGT BLEQ BLT BNEQ CALL GOTO JMP LD MOVE ST UNIONNOP Control Flow Analysis An MST procedure is a self-contained group of instructions, whose control flow is independent of any other procedure in the design. Intra-procedural control flow is altered using branch type instructions, such as BEQ, GOTO, JMP, etc. The destination operand for these branch operations may be a Label, Register or Immediate value. Inter-procedural control is transferred from one procedure to another using the CALL operation. The destination operand of the CALL instruction must be a label containing the name of procedure, function or library. Data Dependency Analysis The fixed number of physical registers on a processor necessitates advanced register reuse algorithms in compilers. These optimizations often introduce false dependencies based on register names, resulting in difficulties when determining correct data dependencies. This is especially true when dealing with scheduled or pipelined binaries and parallel instruction sets. To resolve these discrepancies, each MST instruction is assigned a timestep, specifying a linear instruction order, and an operation delay, equivalent to the number of execution cycles. Each cycle begins with an integer-based timestep, T. Each instruction n in a parallel instruction set is assigned the timestep Tn = T + (0.01 * n). Assembly instructions may be translated into more than one MST instruction. Each instruction m in an expanded instruction set is assigned the timestep Tm = Tn + (0.0001 * m). The write-back time for the instruction, or the cycle in which the result is valid, is defined as wb = timestep + delay. If an operation delay is zero, the resulting data is valid instantaneously. However, an operation with delay greater than zero has its write-back time rounded down to the nearest whole number, or floor(timestep), resulting in valid data at the beginning of the write-back cycle.  REF _Ref112602209 \h Figure 3.2 illustrates how the instruction timestep and delay are used to determine data dependencies in the MST. In the first instruction, the MULT operation has one delay slot, and the resulting value in register A4 is not valid until the beginning of cycle 3. In cycle 2, the result of the LD instruction is not valid until the beginning of cycle 7, and the result of the ADD instruction is not valid until the beginning of cycle 3. Consequently, the ADD instruction in cycle 3 is dependant upon the result of the MULT operation in cycle 1 and the result of the ADD operation in cycle 2. Likewise, the first three instructions are dependant upon the same source register, A4. TIMESTEP PC OP DELAY SRC1 SRC2 DST 1.0000 0X0020 MULT (2) $A4, 2, $A4 2.0000 0X0024 LD (5) *($A4), $A2 2.0100 0X0028 ADD (1) $A4, 4, $A2 3.0000 0X002c ADD (1) $A4, $A2, $A3 Figure  STYLEREF 1 \s 3. SEQ Figure \* ARABIC \s 1 2. MST instructions containing timesteps and delays for determining data dependencies. The Control and Data Flow Graph Each MST procedure is converted into an independent control and data flow graph (CDFG). A control flow graph is a block-level representation of the flow of control in a procedure, designated by the branch operations. A data flow graph is made up of nodes connected via edges, which represents the data dependencies in the procedure. Using the write-back times (wb = timestep + delay) for each operation, one may calculate the data dependencies for each MST instruction, as described in Section  REF _Ref112654392 \r \h 3.1.3. DOTPROD: MVK .S1 500,A1 ZERO .L1 A7 MVK .S1 2000,A3 LOOP: LDW .D1 *A4++,A2 LDW .D1 *A3++,A5 NOP 4 MPY .M1 A2,A5,A6 SUB .S1 A1,1,A1 ADD .L1 A6,A7,A7 [A1] B .S2 LOOP NOP 5 STW .D1 A7,*A3 Figure  STYLEREF 1 \s 3. SEQ Figure \* ARABIC \s 1 3. TI assembly code for a dot product function. The nodes in the CDFG are distinguished in five different types: Constants, Variables, Values, Control, and Memory. Constant and Variable nodes are inputs to operations. Value nodes are operation nodes, such as addition and multiplication. Control nodes represent branch operations in the control flow. Memory nodes refer to memory read and write operations.  REF _Ref112607299 \h Figure 3.3 shows the TI assembly code for a dot product procedure, while  REF _Ref112607340 \h Figure 3.4 illustrates the CDFG representation generated by the FREEDOM compiler.  Figure  STYLEREF 1 \s 3. SEQ Figure \* ARABIC \s 1 4. CDFG representation for a dot product function. Memory Operations Memory read and write operations are represented in the CDFG as single node operations with two input edges from source nodes. The source nodes for a read operation consist of an address and a memory variable, while the source nodes for a write operation consist of an address and the value to be written. The memory element to which these operations read and write are distinguished by the name of the memory variable. In other words, each memory variable is mapped to independent memory elements. Essentially, memory partitioning may be accomplished by changing the memory variable name in the read and write operations. When rescheduling operations for an FPGA design, it is possible that the ordering sequence of memory operations may shift, resulting in memory hazards. Additionally, some FPGAs do not allow more than one memory operation in a single cycle. To ensure proper scheduling and that memory operations occur in the correct linear sequence, virtual edges are added from each read and write operation to subsequent memory operations. This is demonstrated in block 2 in  REF _Ref112607340 \h Figure 3.4 above, where a virtual edge is added between the two memory read operations. Predicate Operations Predicated instructions are operations that are conditionally executed under a predicate condition. Predicated operations are handled in the CDFG by adding the predicate operand as a source node to the operation node. Additionally, an edge from the previous definition of the destination node is also added as a source node in order to ensure proper data dependencies. The result is an if-then-else statement, which assigns the previous definition to the destination operand if the predicate condition is not met. This is illustrated in  REF _Ref112659842 \h Figure 3.5.  Figure  STYLEREF 1 \s 3. SEQ Figure \* ARABIC \s 1 5. Predicated operation in the CDFG. Predicated operations pose an interesting problem when optimizing a CDFG. Because the result of the predicate condition is generally non-deterministic at compile time, predicated operations effectively prevent many optimizations from ensuing. Additionally, the extra multiplexer logic increases the area in the design. Although this method introduces limitations in the optimizations, it does however increase the opportunity for greater parallelism in the design. Considering this problem, two methods have been explored to eliminate predicates on operations. The first method replaces the predicate with a branch operation that jumps over the instruction if the predicate condition is not met. This resulted in a significant number of disruptions in the data flow, effecting the overall efficiency and parallelism in the design. The second method converts predicates into a set of instructions that model a multiplexer, in which the predicate condition selects either the new value or the old value to pass through. This method resulted in a significant increase in instructions, area and clock cycles. It was therefore determined that the original method is the most efficient way to handle predicates in the CDFG. Procedure, Function and Library Calls Procedure, function and library calls are handled in the CDFG by a CALL node. The input and output edges to a CALL node represent the I/O ports for the procedure. Any variable or memory read from in the procedure becomes an input port; any variable or memory written to in the procedure become output ports. Memory operands are always set up as both input and output nodes in order to ensure the proper sequence of memory operations. In  REF _Ref64831367 \h Figure 3.6, an example CDFG is shown in which the dot product procedure is called twice. A memory dependency exists between the two procedure calls, preventing the two functions from running in parallel, as well as any read/write hazards.  Figure  STYLEREF 1 \s 3. SEQ Figure \* ARABIC \s 1 6. CDFG representation of a CALL operation. The Hardware Description Language The Hardware Description Language (HDL) is an intermediate low-level language, which models processes, concurrency, and finite state machines. Syntactically, the HDL is similar to the VHDL and Verilog grammar. The HDL grammar is described in detail in  REF _Ref112665764 \h  \* MERGEFORMAT Appendix B. Each CDFG in a design is mapped to an individual HDL Entity. In its simplest form, each CDFG operation node is assigned to an individual state in an HDL finite state machine. However, by performing scheduling techniques, one may exploit the parallelism in the design by increasing the number of instructions assigned to each state, thereby reducing the total number of execution cycles in the design. Additional optimizations and customizations are performed on the HDL to enhance the efficiency of the output and to correctly support the target devices architecture. Memory Support Memory models are generated in the HDL as required by backend synthesis tools to automatically infer both synchronous and asynchronous RAMs. These memory elements are used as FIFO buffers as communication between a co-processor and the hardware. Pipelining is used for the memory operations to improve the throughput performance in the design. Procedure Calls Each CDFG that is translated to HDL is expressed as a completely synchronous finite state machine (FSM) process within an Entity model. A procedure that is called from another is represented as an instantiation of that HDL entity.  REF _Ref112663929 \h Figure 3.7(a) shows the HDL for an instantiation of the dot product procedure. The process is controlled via I/O signals; it is initialized by setting the reset signal high in the first state, and cycles in the next state until the function concludes when the done signal is set. To prevent memory contention between processes, an asynchronous process is set up as a multiplexer to distribute memory control between all processes. The memory control is enabled by assigning a select value to the mem_mux_ctrl signal just before a process begins, as show in  REF _Ref112663929 \h Figure 3.7(b). The HDL model for the memory MUX control process is shown in  REF _Ref112663968 \h Figure 3.8. dot_prod : dot_prod_1 ( clock <= clock reset <= dot_prod_1_reset done <= dot_prod_1_done DP <= 32'hs00000000 A0 <= A0 mem_addr <= dot_prod_1_mem_addr mem_d <= dot_prod_1_mem_d mem_q <= dot_prod_1_mem_q mem_we <= dot_prod_1_mem_we ); state: 0 mem_mux_ctrl <= 1 dot_prod_1_reset <= 1 State <= main_process_1 state: 1 dot_prod_1_reset <= 0 if (dot_prod_1_done == 1) mem_mux_ctrl <= 0 state <= 2 else state <= 1 (a) Process for dot product function.(b) FSM for running dot product.Figure  STYLEREF 1 \s 3. SEQ Figure \* ARABIC \s 1 7. HDL representation for calling the dot product function. process mem_mux_process( mem_mux_ctrl, mem_q, dot_prod_0_mem_addr, dot_prod_0_mem_d, dot_prod_0_mem_we, dot_prod_1_mem_addr, dot_prod_1_mem_d, dot_prod_1_mem_we ) begin dot_prod_0_mem_q <= 32bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX dot_prod_1_mem_q <= 32bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX switch( mem_mux_ctrl ) case 0: mem_addr <= dot_prod_0_mem_addr mem_d <= dot_prod_0_mem_d dot_prod_0_mem_q <= mem_q mem_we <= dot_prod_0_mem_we case 1: mem_addr <= dot_prod_1_mem_addr mem_d <= dot_prod_1_mem_d dot_prod_1_mem_q <= mem_q mem_we <= dot_prod_1_mem_we default: mem_addr <= 10bXXXXXXXXXX mem_d <= 32bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX dot_prod_0_mem_q <= 32bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX mem_we <= 1bX dot_prod_1_mem_q <= 32bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end switch end process Figure  STYLEREF 1 \s 3. SEQ Figure \* ARABIC \s 1 8. HDL process for asynchronous memory MUX controller. The Graphical User Interface The graphical user interface (GUI), shown in  REF _Ref119828008 \h Figure 3.9, was designed as an interactive means for interfacing with the FREEDOM compiler. It allows for easy management of projects and access to all related files via the project workspace window (left). The file view shows the source files included in the project and those generated by the compiler, while the model view shows the procedures in the design listed topologically in a call graph tree. All compilation information and messages, such as warnings and errors, are displayed in the log window (bottom). Files opened in the GUI are displayed using syntax highlighting of keywords specific to the file type (right). The tool and menu bars allow easy access to the tools and settings for projects and the GUI.  Figure  STYLEREF 1 \s 3. SEQ Figure \* ARABIC \s 1 9. Graphical user interface for the FREEDOM compiler. Verification Verification is an integral part of high-level synthesis, generally performed in simulation. When implementing a design in hardware, verification must be performed at three levels: at the design stage, after synthesis, and once again after place and route for timing verification. As part of this process, input and output data must be captured in order to verify correctness and bit-true accuracy. The following subsections discuss methods of verification for the FREEDOM compiler in more detail. Verifying Bit-True Accuracy It is essential that the RTL designs generated by the compiler be verified as bit-true accurate. This is accomplished by capturing input and output data at the source level and comparing results from the RTL simulation against the original output data. Generating input/output testbench data for DSP designs may be approached using one of two methods. Generally, most DSP application designers implement their designs in a high-level language such as MATLAB or C/C++; the designs are then compiled into binaries for the specific DSP processor. One may easily capture or generate input/output data at this high-level stage using print statements. Alternatively, most general-purpose processors have simulation and verification tools. For instance, Texas Instruments Code Composer Studio software allows one to probe points within a simulation to verify the correctness of data in memory. The file I/O allows the user to write memory data to a file at any point during the simulation. One may use this method to capture input data before a function is called, and capture output data once the function is complete. This data may then be used in during simulation of the hardware models to verify the bit-true accuracy. Testbenches RTL VHDL and Verilog designs are generally verified using simulation tools such as ModelSim by Mentor Graphics. Input and output data are captured and used for verification of design correctness. The designs require a top-level testbench model, which runs the design and handles the clocking, reset, and I/O data during simulation. Currently, a general template is used for all testbenches. The testbench includes a memory model, which is loaded with the input data from a file before the simulation begins. Upon completion, the output data is read from memory and written to an output file. One may then compare the contents in this file against the original captured output data. An example testbench written in Verilog may be found in  REF _Ref113209857 \h  \* MERGEFORMAT Appendix C. Summary This chapter provided an overview of the FREEDOM compiler infrastructure. The front end is a dynamic parser that may be configured to allow multiple assembly languages as input. The input assembly language is converted to the MST, a virtual machine language in which data dependency analysis is performed. The CDFG is constructed from the MST, and is the central point in the compiler where optimizations and scheduling are performed. The CDFG is converted into the HDL, where hardware customizations are performed using the resource information from ADL files. A GUI was developed to allow user manageability of projects and selecting optimizations. A methodology for bit-true verification was also described. Building a Control and Data Flow Graph from Scheduled Assembly In the high-level synthesis process, an abstract design is usually converted into a control and data flow graph (CDFG), composed of nodes representing inputs, outputs, and operations. The CDFG is a fundamental component of most high-level synthesis tools, where most optimizations and design decisions are performed to improve frequency, power, timing, and area. Building a CDFG consists of a two-step process: building the control flow graph (CFG), which represents the path of control in the design, and building the data flow graph (DFG), which represents the data dependencies in the design. Much research has been performed on CDFG generation from software binaries and assembly code. However, there has been very little work on generating complete CDFGs from scheduled or pipelined software binaries. Data dependency analysis of such binaries is more challenging than that of sequential binaries. 0x0000 VECTORSUM: ZERO A7 0x0004 LDW *A4++, A6 ; 4 delay slots 0x0008 || B LOOP ; 5 delay slots 0x000C LDW *A4++, A6 0x0010 || B LOOP 0x0014 LDW *A4++, A6 0x0018 || B LOOP 0x001C LDW *A4++, A6 0x0020 || B LOOP 0x0024 LDW *A4++, A6 0x0028 || B LOOP 0x002C || SUB A1, 4, A1 0x0030 LOOP: ADD A6, A7, A7 0x0034 || [A1] LDW *A4++, A6 0x0038 || [A1] SUB A1, 1, A1 0x003C || [A1] B LOOP ; branches executes here 0x0040 STW A7, *A5 0x0044 NOP 4 Figure  STYLEREF 1 \s 4. SEQ Figure \* ARABIC \s 1 1. TI C6000 assembly code for a pipelined vectorsum procedure. When translating assembly codes from digital signal processors (DSPs), it is common to encounter highly pipelined software binaries that have been optimized manually or by a compiler. Consider the Texas Instrument C6000 DSP assembly code for the vectorsum function in  REF _Ref112691252 \h Figure 4.1. In this architecture, branch operations contain 5 delay slots, and loads contain 4 delay slots. The | | symbol indicates the instruction is executed in parallel with the previous instruction and the [ ] symbol indicates the operation is predicated on an operand. Clearly, the vectorsum code is highly pipelined; each branch instruction is executed in consecutive iterations of the loop. Moreover, the dependencies of the ADD instruction in the loop body change with each iteration of the loop: in the first iteration of the loop A6 is dependent on the load at instruction 0x0004, in the second iteration of the loop A6 is dependent on the load at instruction 0x000C, etc. Generating a CDFG to represent this pipelined structure is very challenging. In doing so, one must consider the varying data dependencies and also ensure that each branch is executed at its proper time and place. Branch instructions that fall within the delay slots of other branch instructions complicate the structure of the control flow graph. For instance, when the predicate condition, A1, on the branch instruction in the loop body is false, the previous branch instructions that were encountered during the execution sequence will continue to propagate and execute. This may occur within the loop, or possibly after exiting the loop. More complex software pipelines may contain branch instructions with various targets, producing multiple exit points in a CDFG block. In this chapter, a methodology for generating CDFGs from scheduled and pipelined assembly code is presented. This process consists of three stages: generating a control flow graph, linearizing the assembly code, and generating the data flow graph. We use the methods described by Cooper et al.  REF _Ref112528393 \r \h [14] for generating a CFG from scheduled assembly code. We extend their work to support more complex architectures that employ parallel instruction sets and dynamic branching. We also present a linearization process, in which pipelined structures are serialized into linear assembly. This allows for proper data dependency analysis when constructing data flow graphs. This methodology was incorporated in the FREEDOM compiler, which translates DSP assembly code into hardware descriptions for FPGAs. Preliminary work on this research has been published  REF _Ref119837232 \r \h [74]; here we present a more in-depth and detailed description of the research. Related Work There has been some fundamental research and study on control and data flow analysis, an essential aspect in binary translation. Cifuentes et al.  REF _Ref112430458 \r \h [12] described methods of control and data flow analysis in translating assembly to a high-level language. Kastner and Wilhelm  REF _Ref112691779 \r \h [33] reported work on generating CFGs from assembly code. Decker and Kastner  REF _Ref113727585 \r \h [18] described a method of reconstructing a CFG from predicated assembly code. Amme et al.  REF _Ref120514319 \r \h [1] presented work on a memory aliasing technique, in which data dependency analysis is computed on memory operations using a value-based analysis and modified version of the GCD test  REF _Ref112691852 \r \h [4]. There has been very little work on generating CDFGs from highly pipelined software binaries in which branch instructions appear in the delay slots of other branch instructions. The most comprehensive work on building CFGs from pipelined assembly code was reported by Cooper et al.  REF _Ref112528393 \r \h [14]. However, their method does not consider the complexities of modern processor architectures that utilize instruction-level parallelism and dynamic branching techniques. In this paper, we address these issues and present methods to handle CDFG generation from software binaries that feature these sophisticated scheduling techniques. Generating a Control Flow Graph Cooper et al.  REF _Ref112528393 \r \h [14] presented a three-step process for building a CFG from scheduled assembly code, which was used as the first stage in the proposed work. The first step of their algorithm partitions the code at labels (entry points) into a set of basic blocks. During this process, they assume all entry points are complete, and no branch targets an instruction without a label. The second step adds edges between basic blocks in the CFG to represent the normal flow of control. Here, they only consider non-pipelined branch instructions, or those that do not appear within the delay slots of other branch instructions. Pipelined branches are handled in the third step using an iterative algorithm that simulates the flow of control for the program by propagating branch and counter information from block to block. Their method is shown to terminate in linear time for CFGs containing only branches with explicit targets.  REF _Ref112692038 \h Figure 4.2 illustrates the CFG generated for the vectorsum procedure in  REF _Ref112691252 \h Figure 4.1. In practice, the assumptions made in their work pose some difficulties in generating CFGs for some modern processor architectures. For instance, they assume all labels and branch targets are well defined. However, some disassemblers limit the labels to a procedure level only and refrain from including them locally within procedure bounds. In some architectures, registers may be used in branch targets, as in the case of a long jump where a static PC value is loaded into the register prior to the branch instruction. To handle these situations, we introduce a pre-processing step that determines all static branch targets and adds the respective labels to the instructions.  Figure  STYLEREF 1 \s 4. SEQ Figure \* ARABIC \s 1 2. Control flow graph for vectorsum. Some architectures may also support dynamic branch targets, in which the destination value may be passed to a register as a function parameter, such as with procedure prologues and epilogues. In these situations, we take an optimistic approach by assuming the dynamic branch operation is a procedure call. The branch is temporarily treated as a NOP instruction when building the initial CFG to allow the control flow to propagate through. We rely on post-processing steps, such as alias analysis and procedure extraction to determine the possible destinations  REF _Ref112598615 \r \h [43]. The CFG is then regenerated with the newly identified destination values. Many of todays processor architectures utilize instruction-level parallelism to achieve higher performances, which complicates generation of CFGs. For instance, a branch destination may have a target within a parallel set of instructions. This would break up the control flow at intermediate points within a basic block, creating erroneous data dependencies. In  REF _Ref112692526 \h Figure 4.3, the ADD, SUB, and SRL instructions are scheduled in parallel. However, if the predicated branch is taken, the ADD instruction is not executed. Consequently, the entry label on the SUB instruction partitions the control flow in the middle of the parallel set, placing the latter two instructions in a separate basic block. This forces the A7 operand in the SRL instruction to use the resulting value from the ADD instruction in the previous block. To account for such discrepancies, we introduce a procedure that checks for entry points (labels) within a parallel set of instructions. If such an entry point exists, the instructions falling below the entry point are replicated and added to the top portion of the parallel set.  REF _Ref112692570 \h Figure 4.4 shows the MST code after instruction replication. The SUB and SRL instructions have been replicated and a branch operation has been added to jump over the replicated code segment. We rely on subsequent optimizations in the CDFG, such as code-hoisting  REF _Ref112431309 \r \h [44], to eliminate superfluous operations. 0x0800 [A1] B L1 0x0804 NOP 5 0x0808 ADD A4, A7, A7 0x080C L1: || SUB A4, 1, A4 0x0810 || SRL A4, A7, A8 0x0814 L2: ... Figure  STYLEREF 1 \s 4. SEQ Figure \* ARABIC \s 1 3. Branch target inside a parallel instruction set. 10.0000 0x0800 [A1] GOTO (6) L1 11.0000 0x0804 NOP (5) 5 16.0000 0x0808 ADD (1) $A4, $A7, $A7 16.0100 0x080C SUB (1) $A4, 1, $A4 ; replicated SUB 16.0200 0x0810 SRL (1) $A4, $A7, $A8 ; replicated SRL 16.0300 0x0810 GOTO (0) L2 ; added branch-over 17.0000 0x080C L1: SUB (1) $A4, 1, $A4 17.0100 0x0810 SRL (1) $A4, $A7, $A8 18.0000 0x0814 L2: ... Figure  STYLEREF 1 \s 4. SEQ Figure \* ARABIC \s 1 4. MST representation with instruction replication. Linearizing Pipelined Operations In the previous section, a methodology for generating a CFG from pipelined assembly code was presented. The CFG represents the flow of control in the program via edges connecting basic blocks in the graph. However, the CFG does not inherently contain any information regarding propagation delay or data dependencies in a pipelined control flow. This information must be well defined to generate a proper DFG. This section describes the linearization process for pipelined operations. The concept of this process is to serialize the pipelined assembly instructions into linear assembly, such that the each pipelined instruction has a well-defined data flow path. The process for linearizing computational operations (arithmetic, logical, memory, etc.) and branch operations are described independently, as they function differently in pipeline architectures. The linearization process assumes that the CFG is complete, i.e., no edges will be inserted between blocks in the future. Consequently, if new edges are added in the future, data propagation and data dependencies are not guaranteed to be correct. To ensure its completeness, we force the algorithm to cover all possible control paths when generating the CFG. This is accomplished in a preprocessing pass that ensures all branch instructions in the program are predicated. A constant predicate of 1, whose condition always resolves to true, is added to all non-predicated branch instructions. This forces the branch to be treated as a conditional, and allows the control flow to propagate to the fall-through block. Subsequent optimizations, such as dead-code elimination  REF _Ref112431309 \r \h [44], will remove any resulting extraneous operations. Event-Triggered Operations When translating pipelined or scheduled assembly code from one architecture to another, it is essential that the compiler capture the propagation delay and data dependencies correctly. Failure to do so may result in false data dependencies, incorrect data value propagation, and possibly an ill-terminated or non-terminating program. Referring back to the vectorsum procedure in  REF _Ref112691252 \h Figure 4.1, we find that the main loop body will execute an unknown number of times until the predicate condition on the branch instruction is false, namely, when A1 = 0. At that point, the loop will continue to iterate for 5 more cycles until the branches within the pipeline have completed. During this time, data is still computed and propagated through the loop. Should the compiler not consider the propagation delay on the branch instructions, it may terminate the loop early, producing erroneous data. Similarly, failure to consider the propagation delay in the pipelined load instructions will also result in erroneous data. As a solution, we introduce the concept of an event-triggered operation, composed of a trigger and an execute stage. An event trigger is analogous to the read stage in a pipelined architecture, where the instruction is fetched and register values are read; an event execute is analogous to the write-back stage in the pipeline, during which the values are written to the destination register or memory. The event triggering and execution stages are offset by the delay of the operation. An operation event is encapsulated in the MST language using a virtual shift register with a precision d, corresponding to the number of delay cycles for the operation. Virtual registers are temporary operands created by the compiler that do not exist within the framework of the source architectures physical registers. In practice, this results in the addition of a very small shift register since most ISAs generally have no more than 4-6 delay slots in any given multi-cycle instruction. When a pipelined instruction is encountered during the normal flow of the program, an event is triggered by assigning a 1 to the highest bit (d-1) in the shift register. In each successive cycle, a shift-right logical operation is performed on the register. The event is executed after d cycles, when a 1 appears in the zero bit of the shift register.  REF _Ref112692798 \h Figure 4.5 illustrates the event triggering for the branch operation in the loop body of the vectorsum procedure, which has an operation delay of 6 cycles. In the first iteration of the loop, an event is triggered when the branch instruction is encountered by setting the high bit of shift register. In each subsequent cycle, the register is shifted right while a new event is triggered. After six iterations, event 1 is executed and the branch to LOOP is taken. This is followed by subsequent event executions through the tenth iteration of the loop, until the pipeline in the shift register has been cleared. The technique described here is utilized in the linearization process for pipelined operations as discussed in the following sections.  Figure  STYLEREF 1 \s 4. SEQ Figure \* ARABIC \s 1 5. Event-triggering for a pipelined branch operation in a loop body. Linearizing Computational Operations In the linearization process for computational operations, multi-cycle instructions are serialized into a well-defined data flow path along the pipeline. In order to accomplish this task, virtual registers are introduced to break multi-cycle instructions into a sequence of multiple single-cycle instructions. Each instruction in the sequence is guarded by a predicate on an event-triggering register, as described above. Should the program encounter the instruction through a path outside the normal pipeline data flow path, the predicate will prevent the operation from executing. The linearization process works as follows: For an instruction with n delay slots, the original instruction is modified to write to a temporary virtual register Rn, and the delay of the instruction is changed to a single cycle. In each of the subsequent n-1 cycles, the value is propagated through virtual registers along the pipelined data flow path by assigning Rn-1(Rn, Rn-2(Rn-1, , R0(R1 in sequence, where R0 is the original register name. Each of these instructions is predicated on its respective cycle bit of the shift register: P[n-1] through P[0]. If the end of a basic block is reached, the linearization is propagated to the successor blocks. This approach assumes that no two instructions are scheduled such that both have the same destination register and write-back stages in the same cycle. This is a fair assumption, since compilers generally do not produce code resulting in race conditions. If two or more identical instructions have intersecting pipeline paths, redundant instructions may be avoided by tracking the timesteps to which they have been written. We rely on optimizations, such as copy and constant propagation  REF _Ref112431309 \r \h [44], to remove any extraneous operations. : : 12.000 0x000C MOVE(0) 1, $P1[4] ; LD event cycle 1 12.001 0x000C SRL(1) $P1, 1, $P1 12.002 0x000C [$P1[4]] LD(1) *mem($A4), $A6_4 : : 13.000 0x000C SRL(1) $P1, 1, $P1 ; LD event cycle 2 13.001 0x000C [$P1[3]] MOVE(1) $A6_4, $A6_3 : : 14.000 0x000C SRL(1) $P1, 1, $P1 ; LD event cycle 3 14.001 0x000C [$P1[2]] MOVE(1) $A6_3, $A6_2 : : 15.000 0x000C SRL(1) $P1, 1, $P1 ; LD event cycle 4 15.001 0x000C [$P1[1]] MOVE(1) $A6_2, $A6_1 : : 16.000 0x000C LOOP: SRL(1) $P1, 1, $P1 ; LD event cycle 5 16.001 0x0014 OR(0) $P1[0], $P2[0], $MP1 16.002 0x001C OR(0) $MP1, $P3[0], $MP6 16.003 0x0024 OR(0) $MP6, $P4[0], $MP13 16.004 0x0034 OR(0) $MP13, $P5[0], $MP16 16.005 0x000C [$MP16] MOVE(1) $A6_1, $A6 ; intersecting paths : : ; for LDs 1,2,3,4,5 Figure  STYLEREF 1 \s 4. SEQ Figure \* ARABIC \s 1 6. Linearization of a pipelined load instruction in the vectorsum procedure.  REF _Ref112693089 \h Figure 4.6 illustrates the linearization process in the MST for the first pipelined load (LD) instruction in the vectorsum example of  REF _Ref112691252 \h Figure 4.1. In timestep 12, an event is triggered for the LD instruction by posting a 1 to the high bit in the virtual shift register P1. Additionally, the LD instruction is modified to write to virtual register A6_4, and the operation delay is changed from 5 cycles to 1 cycle. In the subsequent cycles, A6_4 is written to A6_3, A6_3 is written to A6_2, and A6_2 is written to A6_1, at which point the linearization is propagated to the LOOP block. A6_1 is finally written to the physical register A6 in timestep 16. Each of these move instructions is guarded by a predicate on a P1 bit, which is right-shifted in each cycle along the same control path. The same methodology is applied to each LD instruction in program. Although the propagation instructions may read and write to the same register in parallel, the one-cycle delay on each instruction enforces the correct data dependencies. It is interesting to note that the pipelined LD instructions have intersecting paths. As an example, all five LD instructions will have their 5th cycles intersect in the same timestep (16), where A6 ( A6_1. To avoid extraneous instructions, the propagation instructions are merged by OR-ing their predicates, as shown in the figure. Linearizing Branch Operations Unlike computational instructions, branch instructions do not propagate data. Rather, they trigger a change in control flow after a certain number of delay cycles. In linearizing branch operations, only the event is propagated through the CFG, as described above. At each branch execution point in the CFG, which can only be the end of a basic block, a copy of the branch instruction is inserted. The branch instruction is predicated on the event shift-register. Similar to the process above, if two or more of the same branch instruction have intersecting paths, redundant instructions may be eliminated by tracking the timesteps to which the instructions have been written. Two or more of the same branch instruction that execute at the same point can be merged by OR-ing their predicates. The original branch instructions are replaced with NOP instructions in order to maintain the correct instruction flow.  REF _Ref112693320 \h Figure 4.7 illustrates the linearization process for pipelined branch operations. : : 11.000 0x0008 MOVE(0) 1, $P1[5] ; branch event cycle 1 11.001 0x0008 SRL(1) $P1, 1, $P1 11.002 0x0008 NOP(1) 1 ; branch replaced with NOP : : 12.000 0x0008 SRL(1) $P1, 1, $P1 ; branch event cycle 2 : : 13.000 0x0008 SRL(1) $P1, 1, $P1 ; branch event cycle 3 : : 14.000 0x0008 SRL(1) $P1, 1, $P1 ; branch event cycle 4 : : 15.000 0x0008 SRL(1) $P1, 1, $P1 ; branch event cycle 5 : : 16.000 0x0008 LOOP: SRL(1) $P1, 1, $P1 ; branch event cycle 6 16.008 0x0008 OR(0) $P1[0], $P2[0], $MP0 16.009 0x0010 OR(0) $MP0, $P3[0], $MP1 16.010 0x0018 OR(0) $MP1, $P4[0], $MP2 16.011 0x0020 OR(0) $MP2, $P5[0], $MP3 16.012 0x0028 OR(0) $MP3, $P6[0], $MP4 16.013 0x003C [$MP4] GOTO(0) LOOP ; intersection paths : : ; for branches 1-6 Figure  STYLEREF 1 \s 4. SEQ Figure \* ARABIC \s 1 7. Linearization of a pipelined branch instruction in vectorsum. The Linearization Algorithm  REF _Ref112693398 \h Figure 4.8 presents our algorithm for linearizing pipelined operations. The procedure has the same general organization as the algorithm presented by Cooper et al.  REF _Ref112528393 \r \h [14] for generating CFGs. The algorithm initially creates a worklist of instruction counters for each basic block in the CFG in lines 1-3, and then iterates through the worklist in lines 4-26. An instruction counter is particular to a block, and holds a list of pending instructions and a counter representing the remaining clock cycles before each instruction is executed. To prevent redundant iterations over blocks, in lines 8-9, the algorithm checks that the block has not seen any of the pending instruction counters before continuing. The algorithm then iterates over the block by whole timesteps in lines 10-20. The instructions in each timestep are iterated through in lines 11-17, as the algorithm searches in line 12 for previously unvisited pipelined instructions to add to the instruction counter. Lines 13-15 add a counter for the branch instructions with cycle delays greater than zero; the original branch instruction is replaced with a NOP instruction to maintain the correct program flow. Lines 16-17 add counters for all multi-cycle instructions whose write-back time falls outside the block. Unique event instructions are inserted for each pending instruction in lines 18-20, as described above; those that have completed are removed from the instruction counter list. After iterating over the instructions within each timestep, the pending instruction counters are decremented in line 21. At the conclusion of the iteration over timesteps in the block, lines 22-26 propagate all pending counters to new instruction counters for each successor block edge; the new instruction counters are added to the worklist. The algorithm terminates once no new instruction counters are encountered by any block and the worklist is empty. The algorithm runs in O(n) time, where n is the number of instructions in the program, assuming a small, constant number of outgoing edges between blocks. Linearize_Pipelined_Operations( CFG ) 1 worklist = empty list of InstrCounters 2 for each basic block in CFG do 3 add InstrCounter(block) to worklist 4 while worklist->size() > 0 do 5 instr_counter = worklist->front() 6 remove instr_counter from worklist 7 block = instr_counter->block 8 if block has seen all live counters in instr_counter then 9 continue 10 for each whole timestep ts in block do 11 for each instruction i in timestep ts do 12 if i has not been seen by instr_counter then 13 if i is a branch instruction and i->delay > 0 then 14 add {i:i->delay} to instr_counter 15 replace branch instruction i with NOP instruction 16 else if (i->timestep + i->delay) > block->max_time 17 add {i:i->delay} to instr_counter 18 for each counter c in instr_counter do 19 insert a unique event instruction for c in timestep ts 20 if c = 0 then remove c from instr_counter 21 instr_counter->DecrementCounters() 22 if instr_counter has live counters 23 for each successor s of block do 24 target_instr_counter = InstrCounter(s) 25 add unique live counters to target_instr_counter 26 add target_instr_counter to worklistFigure  STYLEREF 1 \s 4. SEQ Figure \* ARABIC \s 1 8. Linearization algorithm for pipelined operations. Generating the Control and Data Flow Graph In the previous sections we described how to build a CFG and break data dependencies in pipelined and scheduled assembly code. In this section we combine the two techniques to generate the complete CDFG. The procedure is described in  REF _Ref112694452 \h Figure 4.9, which takes a list of assembly instructions as input and returns a CDFG. The procedure begins with a preprocessing step to ensure that all branch instructions in the program are predicated as described in the previous section. The algorithm constructs the CFG using Coopers algorithm, and then linearizes the pipelined operations as described above. The data flow graph is then generated from the newly serialized instructions. Source edges are connected based on the timing dependencies in the MST as described in Section  REF _Ref112654392 \r \h 3.1.3. Generate_CDFG( instr_list ) 1 Predicate_Pipelined_Instrs( instr_list ) 2 CFG = Generate_Ctrl_Flow_Graph( instr_list ) 3 Linearize_Pipelined_Operations( CFG ) 4 CDFG = Generate_Data_Flow_Graph( CFG ) 5 return CDFG Figure  STYLEREF 1 \s 4. SEQ Figure \* ARABIC \s 1 9. Procedure for generating a CDFG. Experimental Results The correctness of the methodology presented in this chapter was verified on 8 highly pipelined benchmarks in the Texas Instruments C6000 DSP assembly language. The FREEDOM compiler generated CDFGs and RTL code targeting the Xilinx Virtex II FPGA. Each benchmark was simulated using Mentor Graphics ModelSim to verify bit-true accuracy and obtain cycle counts. There has been little work reported on translating highly pipelined software binaries to RTL code for FPGAs. This makes comparison with other approaches difficult. However, it is interesting to consider the impact and effectiveness of this algorithm in a high-level synthesis tool.  REF _Ref112694808 \h Table 4.1 shows comparisons in cycle counts for the TI C6000 DSP and the Virtex II FPGA, generated by the FREEDOM compiler. Also shown is the number of pipelined operations in each benchmark and the number of instructions inserted during the linearization process to demonstrate the impact on code size when using this approach. Results indicate the FREEDOM compiler successfully generated the correct CDFGs from the pipelined assembly code, allowing complex optimizations and scheduling to significantly reduce clock cycles in the FPGA design. On average, approximately 9 instructions were added for each pipelined operation and there was a 27% increase in code size during the linearization process. Please note that these values reflect the size of the design before CDFG optimizations, which will further reduce implementation complexity. Table  STYLEREF 1 \s 4. SEQ Table \* ARABIC \s 1 1. Experimental results on pipelined benchmarks. Benchmark DSP Cycles FPGA Cycles# Pipelined Instructions# Added Instructionsmemmove125747251633352 (24.7%)memcpy69615200414136 (52.3%)divi2823011612717141 (27.3%)mpyd13291763966926269 (14.0%)remi2601481688813130 (34.6%)dsp_fir_gen3085168549683 (43.1%)lms_filter33537580773288147967 (13.7%)noise_canceller_fir823939716377821105 ( 5.3%) Summary This chapter presented a methodology for correctly representing the data dependencies and data propagation when generating CDFGs from highly pipelined and scheduled assembly code. This process consists of three stages: generating a control flow graph, linearizing the assembly code, and generating the data flow graph. We use a known method for generating the control flow graph from scheduled assembly code and describe further techniques for handling more complex architectures that employ parallel instruction sets and dynamic branching. We present a linearization process, in which pipelined structures are serialized into linear assembly. This allows for proper data dependency analysis when generating the data flow graph. The work was verified in the FREEDOM compiler on 8 highly pipelined software binaries for the TI C6000 DSP, targeting the Xilinx Virtex II FPGA. Results indicate that data dependencies were correctly identified, enabling the compiler to perform complex optimizations and scheduling to reduce clock cycles in the designs. Control and Data Flow Graph Optimizations This chapter presents the optimizations that were implemented for the FREEDOM compiler. The optimizations shown in  REF _Ref113020396 \h Figure 5.1 have been implemented on the CDFG, and are cycled through until there are no more changes. Most of these optimizations are well known algorithms  REF _Ref112431309 \r \h [44]. Many of them necessitate structural analysis and reaching definitions  REF _Ref112431309 \r \h [44], which are discussed in the following sections. CDFG Analysis The following sections discuss methods of control and data flow analysis that are performed on a CDFG. Structural analysis is performed on the control flow graph (CFG), while reaching definitions is performed on the data flow graph (DFG).  Figure  STYLEREF 1 \s 5. SEQ Figure \* ARABIC \s 1 1. CDFG optimization flow for the FREEDOM compiler. Structural Analysis Structural analysis is a method of determining high-level constructs within a CFG, such as loop bodies. Structural analysis was implemented in the FREEDOM compiler using the graph minimization technique  REF _Ref112431309 \r \h [44]. The following structures are supported in the FREEDOM compiler: block-set, if-then, if-then-else, self-loop, while-loop, natural-loop, and improper cycles.  REF _Ref112753759 \h Figure 5.2 illustrates the graph minimization technique performed on a CFG. The first iteration reduces the if-then-else construct. The second iteration reduces the self-loop. Finally, the third iteration reduces the block-set.  Figure  STYLEREF 1 \s 5. SEQ Figure \* ARABIC \s 1 2. Structural analysis on a CFG using graph minimization. Reaching Definitions Reaching definitions is a method of data dependency analysis  REF _Ref112431309 \r \h [44]. Four bit vectors are used to represent each node in the CDFG during the analysis. The PRSV(i) vector represents the definitions that are preserved by block i. The GEN(i) vector represents the definitions which are killed in block i. Using these two vectors, we may then define the bit vectors RCHin(i) and RCHout(i), which represent definitions that reach the beginning and end of block i, respectively. A definition is said to reach the beginning of a block i if that definition reaches the end of all blocks preceding i. A definition is said to reach the end of block i if it either occurs in block i and the variable it defines is not redefined in i, or it reaches the beginning of i and is preserved by i. The RCHout(i) vector is thus defined as: RCHout(i) = GEN(i) v ( RCHin(i) ^ PRSV(i) ) for all i. In order to solve the system of bit vector equations, the equations are iterated until no further changes result. The final system of equations is used to generate definition-use (DU) chains and use-definition (UD) chains. The former maps a definition to all it uses in the CDFG, while the latter maps a use of a variable to all of its definitions in the CDFG. These mappings are used to determine data dependencies in the CDFG. CDFG Optimizations The following sections discuss the CDFG optimizations that were implemented in the FREEDOM compiler. Most of these optimizations are well known, while others are modified versions or are extensions of the traditional implementation. Identifying Input and Output Ports Input and output (I/O) ports are identified immediately after generating a CDFG. When identifying I/O ports for a hardware-software co-design, it is especially critical to limit the cut-size in the graph. In other words, a compiler often generates many intermediate variables, or virtual registers, beyond the scope of the original source architecture. These variables should never be considered as I/O port candidates. In binary translation, the maximum number of ports, or the maximum cut-size of the graph, would be limited to the number of physical registers in the source processor architecture. Identifying I/O ports requires the use of DU-chains and UD-chains. There are three types of ports supported in the FREEDOM compiler: input ports, output ports and inout ports. An input port is defined as a node that is used, but has no prior definition. Any physical register that is written to is added as an output port since the procedure must capture any global changes occurring to the register file. An inout port is a variable that has been defined as both an input and output port. However, we rely on single static-variable assignment (SSA), describe in  REF _Ref113014824 \r \h 5.2.2, to prevent inout port types because backend synthesis tools generally do not support bi-directional ports. Input ports are added to the entry block in the CDFG and output ports are added to the exit block in the CDFG, as illustrated in  REF _Ref113014494 \h Figure 5.3. When identifying ports in the CDFG, all output ports must also have an equivalent input port added, since transformations in the CDFG during optimizations can cause changes in data dependencies to values outside the procedural boundaries. By adding an equivalent input port for each output port we cover all possibilities. During optimizations, unused ports or those whose value does not change between the input and output are eliminated.  Figure  STYLEREF 1 \s 5. SEQ Figure \* ARABIC \s 1 3. Adding input and output ports to a CDFG. Single Static-Variable Assignment Single static-variable assignment (SSA) is a method of breaking data dependencies by ensuring that every assignment in the CDFG has a unique variable name  REF _Ref112431309 \r \h [44]. SSA form is invaluable, as it simplifies the dependencies in the DU-chains and UD-chains, allowing for more effective optimizations. Traditionally, a -function is used in SSA to join multiple assignments to a variable, stemming from different paths in the CDFG. The number of arguments to the -function is equal to the number of definitions of the variable from each point in the CDFG. This method often causes a significant bottleneck when handling numerous data paths. Interestingly, once the pipelined operations in the CDFG have been linearized as described in  REF _Ref113014953 \r \h 4.3, the -function becomes superfluous, as only the latest definition of a variable will reach the end of the block and propagate through the control flow. Those instructions with multi-cycle delays that originally crossed basic block boundaries have since been serialized into multiple single-cycle instructions. As a result, the latest definition of each SSA variable may be assigned back to its original variable name at the end of the block, thus eliminating the need for the -function. Optimizations, such as copy propagation and dead-code elimination  REF _Ref112431309 \r \h [44], will remove extraneous assignment operations created by this process. Undefined Variable Elimination Undefined variable elimination initializes variables to zero that are not input ports and are used without a prior definition. Variables are initialized in the entry block of the CDFG. By initializing undefined values to zero, undefined variable elimination allows other optimizations, such as constant folding and constant propagation  REF _Ref112431309 \r \h [44], to more efficiently reduce the CDFG. This is a valid optimization because in hardware an undefined variable would either be automatically set to zero initially or left at high-impedance, producing erroneous results. Here we are ensuring proper value initialization during compile time to reflect the resulting hardware implementation. Common Sub-Expression Elimination Common sub-expression elimination removes redundant operations by replacing them with previously saved values  REF _Ref112431309 \r \h [44]. An operation is said to be a common sub-expression if it is preceded by another instruction containing the same expression, and the operands remain unchanged between the two evaluations. This optimization is implemented locally in each CDFG block by mapping each operation node to a hash key representing the operation as function of its inputs. If a subsequent operation produces the same hash key, it is replaced with an assignment from the previously mapped node. To ensure proper equivalence checking, the hashing function must capture low-level information such as operation precision, sign, bit-range select, and predicated values. Additionally, the source operands in the hash string are sorted alpha-numerically for operations that hold the commutative and associative properties to ensure expressions are always hashed consistently. As an example, a 16-bit signed addition operation would be hash-defined as SADD16( A1[15:0], B2[15:0] ), where register A1 appears before B2 in the operand ordering. This optimization produces many assignment operations, and therefore we rely on optimizations such as copy propagation  REF _Ref112431309 \r \h [44] to reduce the CDFG even further.  REF _Ref112753823 \h Figure 5.4 shows an example of common sub-expression elimination, where the expression assign to e is evaluated and replaced by an assignment from the value c.  Figure  STYLEREF 1 \s 5. SEQ Figure \* ARABIC \s 1 4. Common sub-expression elimination example. Copy Propagation Copy propagation is a transformation that given an assignment of variables x ( y, replaces subsequent uses of x with y, as long as the intervening instructions have not changed the value of either x or y  REF _Ref112431309 \r \h [44]. However, if x is a predicated assignment operation, one may not propagate the value y to any later uses of x because the result is said to be indeterminate, unless the succeeding operations are predicated on the same conditional expression.  REF _Ref112776498 \h Figure 5.5 illustrates examples of copy propagation, where subsequent uses of a and d are replaced by b and c, respectively.  Figure  STYLEREF 1 \s 5. SEQ Figure \* ARABIC \s 1 5. Copy propagation examples. Constant Folding Constant folding is an optimization that solves for operations on constant values at compile time  REF _Ref112431309 \r \h [44]. The result is a reduction in extraneous computations and resources, and allows constant propagation to further reduce the CDFG.  REF _Ref112777403 \h Figure 5.6 illustrates examples of constant folding, where each operation is solved at compile time.  Figure  STYLEREF 1 \s 5. SEQ Figure \* ARABIC \s 1 6. Constant folding example. Constant Propagation Constant propagation is similar to copy propagation, in that given an assignment x ( c for a variable x and a constant c, the optimization replaces later uses of x with c, as long as the intervening instructions have not changed the value of x  REF _Ref112431309 \r \h [44]. Similarly, if x is a predicated assignment operation, one may not propagate the value c to any later uses of x because the result is said to be indeterminate, unless the succeeding operations are predicated on the same conditional expression. Constant propagation is performed across blocks, and therefore requires reaching definitions to determine data dependencies. This optimization allows the opportunity for others, such as constant folding and strength reduction, to further reduce the CDFG as illustrated in  REF _Ref112778115 \h Figure 5.7.  Figure  STYLEREF 1 \s 5. SEQ Figure \* ARABIC \s 1 7. Constant propagation example. Strength Reduction Strength reduction replaces operations that are costly in terms of area, power, or cycle time with less expensive ones  REF _Ref112431309 \r \h [44]. For instance, multiplication by a factor of two may be replaced by a shift operation, and an addition or subtraction operation with a zero operand can be eliminated. Constant folding is inherently an aspect of strength reduction since solving constant expressions at compile time also reduces the cost of resources.  REF _Ref112778308 \h Figure 5.8 illustrates examples of strength reduction.  Figure  STYLEREF 1 \s 5. SEQ Figure \* ARABIC \s 1 8. Strength reduction example. Constant Predicate Elimination Predicated instructions are problematic when optimizing a CDFG because the result of a predicated operation is deemed indeterminate, even for constant expressions. Specifically, predicates prevent copy and constant propagation of values, unless the succeeding operations share the same predicate. Removing predicates is essential in optimizing a CDFG. Constant predicate elimination solves for predicated operations whose predicate operand is evaluated to a constant expression at compile time. If the predicate condition is met, the predicate is removed from the operation node. Otherwise, the operation is replaced with an assignment from its previous definition. The result of this optimization leads to a reduction in the number of multiplexers implemented in a hardware design, saving the cost of area and critical path. Additionally, it allows other optimizations to function more efficiently in reducing the CDFG. In the example in  REF _Ref113011234 \h Figure 5.9, the first predicated operation is evaluated to be true, so the predicate is removed. However, the second predicated operation is evaluated to be false, and therefore we propagate the previous definition of c to itself.  Figure  STYLEREF 1 \s 5. SEQ Figure \* ARABIC \s 1 9. Constant predicate elimination example. Boolean Reduction Boolean reduction is an optimization that reduces sequences of conditional operations or predicates. The result of this optimization leads to a reduction in the number of multiplexers implemented in a hardware design, saving the cost of area and critical path. In  REF _Ref113011256 \h Figure 5.10, d is reduced to the inverse Boolean expression of a.  Figure  STYLEREF 1 \s 5. SEQ Figure \* ARABIC \s 1 10. Boolean reduction example. Shift Reduction Shift Reduction reduces sequences of shift operations by summing their shift values into a single operand, thus reducing the number of barrel shifters in the design. The CDFG can be further reduced if these shift operations include constant shift values, which may be evaluated at compile time. This is illustrated in  REF _Ref113018701 \h Figure 5.11.  Figure  STYLEREF 1 \s 5. SEQ Figure \* ARABIC \s 1 11. Shift reduction example. Redundant Memory Access Elimination Redundant memory access elimination is an expansion of common sub-expression elimination, in which the string hashing method is applied to memory addresses to determine if two memory operations intersect in order to remove redundant memory operations. This optimization is essential in removing the effects of memory spilling and redundant memory operations that often occur after unrolling a loop. In this optimization it is imperative that address expressions are accurately compared. Any ambiguities between the hash expressions can cause errors in the evaluation. Therefore, we apply several rules in hashing address expressions for memory operations. Firstly, address expressions are evaluated to the top of the CDFG, not just a single level as in common sub-expressions. This ensures the memory addresses are represented as accurately as possible. Secondly, this optimization is only implemented once all other optimizations have minimized the CDFG as much as possible and has since become stable, as illustrated in  REF _Ref113020396 \h Figure 5.1. This ensures there are no unnecessary copy assignments or other ambiguities in the CDFG prior to hashing the memory address expression. Finally, this optimization does not cross the boundary of any function call with memory dependencies or memory operations whose address is calculated by means of a memory read operation. The reason for these two restrictions is that it is not possible to definitively assert whether or not memory accesses intersect across these boundaries, and therefore the memory values are said to be indeterminate. A memory operation is said to be redundant if it is preceded by another memory operation containing the same address expression, and the value in memory remains unchanged between the two evaluations. In such a case, the following rules may be applied: If two consecutive memory read operations access the same address, the second memory read operation is eliminated and the result of the first operation is forwarded. This is called a read-after-read reduction. If two consecutive memory write operations access the same address, the first memory write operation is eliminated since the second over-writes the first. This is called a write-after-write reduction. If a memory read operation follows a memory write operation in which both access the same address, the memory read operation is eliminated and the value written to memory is forwarded. This is called a read-after-write reduction. Predicated memory operations cannot be reduced, since the values read or written to memory are said to be indeterminate, unless the subsequent memory operations are predicated on the same conditional expression.  REF _Ref113021326 \h Figure 5.12 illustrates examples of these memory reduction techniques. In the first set, b is forwarded to c in read-after-read reduction. In the second set, the first memory write operation is eliminated due to a write-after-write reduction. In the final set, the read operation is eliminated and h is forwarded to i in a read-after-write reduction.  Figure  STYLEREF 1 \s 5. SEQ Figure \* ARABIC \s 1 12. Redundant memory access elimination examples. Block-Set Merging It is often the case that a CDFG may contain sets of consecutive blocks, in which the first block is the only predecessor to the second block, and the second block is the only successor to the first block. Block-set merging is an optimization that merges these consecutive blocks and the nodes within, allowing for more effective optimizations in reducing the design complexity and more parallelism when applying scheduling techniques. After the nodes in the blocks have been merged, it is necessary to run SSA on the merged block to break data dependencies once again. The block-set merging technique is illustrated in  REF _Ref113022468 \h Figure 5.13.  Figure  STYLEREF 1 \s 5. SEQ Figure \* ARABIC \s 1 13. Block-set merging example. Dead-Code Elimination Dead-code elimination  REF _Ref112431309 \r \h [44] removes extraneous operations that have no effect on the rest of the design. This is accomplished by utilizing DU-chains to find operations that have no subsequent use and are not output ports. The result is a minimization or resources and area in the design. Empty Block Extraction Dead-code elimination may end up removing all nodes within a block, leaving an empty block within the control flow graph. Although, inherently there is no ill effect, the empty block do not serve a purpose, and may inadvertently prevent others from merging or possibly add extraneous control states. Empty Block Extraction removes these blocks from the CFG and modifies the edges to reflect the new control flow. Loop Unrolling Loop unrolling is a method of decreasing clock cycles in a design by unrolling the body of a loop in order to allow more instructions to be scheduled in parallel. This optimization requires structural analysis to be performed initially in order to identify loop constructs in the design. Only certain loop structures may be unrolled, such as self-loops and while-loops. Loop unrolling is implemented in the FREEDOM compiler by inserting successive copies of the blocks (and their instructions) within a loop body. We rely on block-set merging to join the consecutive copies of the blocks in the loop body.  REF _Ref113012754 \h Figure 5.14 shows a self-loop structure in the CDFG (left), which is unrolled four times (center). The consecutive block sets and their nodes are then merged together (right).  Figure  STYLEREF 1 \s 5. SEQ Figure \* ARABIC \s 1 14. Loop unrolling for a self-loop structure in a CDFG. Register Allocation Register allocation is an optimization that is performed after scheduling to reduce the number of registers. Reducing registers in circuit designs generally leads to smaller design size. Unlike general-purpose processor architectures, FPGAs are not limited to a small, fixed number of registers. However, the scheduling of operations affect the number of possible register reuses. Register allocation was implemented in the FREEDOM compiler using the Linear-Scan (left-edge) algorithm  REF _Ref113727792 \r \h [53]. We assume the nodes in the CDFG are in SSA form, in which data dependencies are broken. We also assume an unbound number of register resources in the target FPGA, and our task is to assign the variable lifetimes to the smallest subset of registers. Structural analysis is performed beforehand to identify loops and other constructs. Prior to running the Linear-Scan algorithm, one must determine the liveness of each variable, or the time from the variables first definition until its last use. This information is obtained from the nodes in the CDFG after scheduling. Our approach for calculating the live intervals of registers in a CDFG is as follows: The nodes in each basic block are sorted in depth-first order. The nodes in each block are then mapped to a register table containing the name of the node and its minimum/maximum time interval; each node that is encountered is added to the table under its corresponding name. The lifetime interval is updated by comparing the current start time with the nodes timestamp, and comparing the current end time with the timestamp of all successive uses of the node. If a Variable node exists inside a loop, the time interval for that register name is extended to the loop bodys time boundaries. The register table is used in the Linear-Scan algorithm by renaming the list of nodes in each mapping with a newly allocated register name, based on the time intervals. We use a simple approach that does not make use of lifetime holes or necessitate memory spilling. The algorithm runs in O(n) time, where n is the total number of nodes in the CDFG. Experimental Results This section reports the results of the FREEDOM compiler optimizations on a set of ten benchmarks. The benchmarks were written in C and compile to the TI C6211 DSP architecture using TIs Code Composer Studio. The FREEDOM compiler was then used to translated the software binaries to hardware descriptions, targeting the Xilinx Virtex II XC2V250 FPGA.  REF _Ref113100210 \h Table 5.1,  REF _Ref119830042 \h Table 5.2, and  REF _Ref119830046 \h Table 5.3 present the results in clock cycles, frequency, and area for the Xilinx Virtex II FPGA, respectively. The benchmarks were run with different combinations of optimizations to show their individual effects. The first column shows the results of the compilers base case (B) with a simple scheduling routine and no optimizations. The use of traditional optimizations facilitates a reduction in the complexity and size of the CDFG. The results are apparent when comparing the base case (B) and the optimizations alone (B+O), as the clock cycles and area dramatically decrease. In many cases, the optimizations also allowed for better frequency results due to less complex structures in the resulting hardware. When combining traditional optimizations with loop unrolling (B+O+U), results show improvement in clock cycles due to greater levels of parallelism in the design. Area increased as expected, while frequency results dropped due to larger complex structures in the resulting design. The ellip benchmark did not have loops to unroll and therefore showed no changes in results. The addition of memory optimizations (B+O+U+M) enables us to eliminate the redundant memory operations that occur after unrolling loop bodies, allowing for greater parallelism in the design. This is apparent in the dramatic decrease in the clock cycles for most of the benchmarks. The memory optimizations in turned allowed other optimizations to reduce the design further, as apparent in the reduced area and higher frequency results in most benchmarks. The sobel benchmark did not produce any changes in results because its memory operations are scattered among different if-then-else structures in the design. Consequently, memory forwarding was not affective in this benchmark. The final column presents results with register allocation (B+O+U+M+R). It is interesting to note that this optimization in fact caused a negative effect in almost all benchmarks; results showed design areas increased while frequencies decreased. Seemingly, the effect of register reuse requires the insertion of additional multiplexers by the backend synthesis tools in order to support multiple uses of the register across different combinational logic blocks. This in fact causes the design area, interconnect and the critical path to increase. Accordingly, results show that the optimal method for implementing FPGA designs would be to not use register reuse optimizations, and leave the design in SSA form. Table  STYLEREF 1 \s 5. SEQ Table \* ARABIC \s 1 1. Clock cycle results for CDFG optimizations. BenchmarkBB+OB+O+UB+O+U+MB+O+U+M+RCycles%Cycles%Cycles%Cycles%Cycles%dot_prod11010100.0700463.6520447.3165415.0165415.0Iir14487100.0898862.0765652.8630643.5630643.5Matmul_321852963100.0113947161.587732747.31799449.71799449.7Gcd469100.020042.617336.916735.616735.6Diffeq997100.072572.766867.015815.815815.8Ellip199100.018995.018995.06633.26633.2laplace71739100.04759966.44021956.1943113.1943113.1fir16tap207056100.011907157.59497145.92507312.12507312.1fir_cmplx17898100.01051658.8536430.0408422.8408422.8Sobel97606100.04949350.74454345.64454345.64454345.6 Table  STYLEREF 1 \s 5. SEQ Table \* ARABIC \s 1 2. Frequency results in MHz for CDFG optimizations. BenchmarkBB+OB+O+UB+O+U+MB+O+U+M+RFreq%Freq%Freq%Freq%Freq%dot_prod107.4100.0132.8123.6120.4112.1132.8123.699.592.6Iir122.0100.0131.4107.7107.488.0112.292.089.573.4matmul_32106.0100.0131.7124.292.086.8127.2120.085.080.2Gcd103.9100.0127.8123.0117.7113.3111.3107.1113.8109.5Diffeq106.3100.0112.2105.6106.5100.2122.1114.996.190.4Ellip114.4100.0108.094.4108.094.4129.6113.3123.0107.5Laplace101.4100.091.089.786.285.0108.0106.589.087.8fir16tap75.8100.0118.9156.9109.8144.9105.7139.492.5122.0fir_cmplx91.2100.0130.1142.7104.1114.1126.7138.982.290.1Sobel77.5100.0131.6169.892.0118.792.0118.769.389.4Table  STYLEREF 1 \s 5. SEQ Table \* ARABIC \s 1 3. Area results in LUTs for CDFG optimizations. BenchmarkBB+OB+O+UB+O+U+MB+O+U+M+RArea%Area%Area%Area%Area%dot_prod566100.022339.41761311.11463258.54112726.5Iir1402100.047834.13183227.03064218.510608756.6matmul_322447100.0129052.73269133.6223191.26311257.9Gcd1067100.056653.079974.981276.1106299.5Diffeq1693100.0109664.72451144.8163996.84972293.7Ellip2995100.0227776.0227776.0181560.6243081.1Laplace2461100.0154462.75617228.23784153.87401300.7fir16tap1661100.095757.62702162.71789107.75594336.8fir_cmplx1674100.099859.63589214.43563212.812738760.9Sobel2734100.0144352.89188336.19188336.120525750.7 Summary This chapter presented the CDFG optimizations that were implemented for the FREEDOM compiler. Most of the optimizations are well known algorithms, while others were custom optimizations design for this compiler. The objective of these optimizations is to reduce the size and complexity of the CDFG. Results on ten benchmarks show significant improvements in area and timing performance using the minimization techniques and transformations outlined in this chapter. However, register allocation seems to have a negative effect on the area for FPGA designs, which is contrary to its objective of reducing registers in the design. Consequently, it is preferable to leave FPGA designs in SSA form to obtain better area and frequency performance. Scheduling High-level synthesis tools often allow the designer to perform tradeoffs between optimizations, usually using estimations. At high levels of abstraction, these estimates are prone to errors, leading to inaccurate predictions of the final implementation after several levels of transformations. Consequently, poor or inaccurate decisions at high levels in the synthesis process will have direct impact on all future optimizations and the resulting hardware implementation. Accurate estimations play a particularly important role in scheduling of operations for hardware implementation on FPGA. The operation nodes in the CDFG are scheduled by assigning each operation to an RTL state in a finite state machine using schemes such as As-Soon-As-Possible (ASAP) and As-Late-As-Possible (ALAP) scheduling  REF _Ref113716656 \r \h [16]. When resources usage is critical, other schemes such as list scheduling and force-directed scheduling are implemented. When targeting FPGAs, infinite resources are often assumed; the objective of scheduling is to minimize the number of clock cycles (states), while maximizing the parallelism in the design as much as possible, even at the cost of area. While ASAP and ALAP scheduling are quite efficient for this task, they generally hamper instruction-level parallelism by producing a non-uniform distribution of operations among the state cycles. Consequently, this results in an uneven distribution of resource usage, latency and power. Operation chaining is a technique that is effective in reducing cycles in a design by allowing the result of an operation to be used immediately rather than in the next cycle. It is expected that scheduling without operation chaining will produce the best overall frequency at the cost of cycles, since the critical path is limited to the operation in the design with the largest delay. Conversely, a nave approach to operation chaining may often result in large critical paths, low frequencies and suboptimal performance. Optimally, we would like to find a chaining technique that optimizes both frequency and clock cycles simultaneously. In previous work, we evaluated simple scheduling and chaining routines in the context of translating software binaries to FPGA implementations  REF _Ref113731042 \r \h [76]. In this chapter we presents a balanced scheduling routine, in which operations are uniformly distributed across states. A balanced chaining routine is also presented, which reduces the clock cycles and critical path of the design given a target frequency. In order to accurately determine the best-fit operation chaining, we require a delay model that considers varying bit-width for each operation implemented in the target FPGA architecture. The methodology for obtaining such models is also presented. Related Work Numerous algorithms for scheduling have been developed over the years by various researchers. For a given data flow graph, scheduling determines the concurrency of the resulting implementation by assigning operations in a CDFG to specific cycles, assuming either unconstrained or constrained resources. In this paper we study the use of scheduling in the context of unconstrained resources. As-Soon-As-Possible (ASAP) and As-Late-As-Possible (ALAP) scheduling are often used for this purpose. Force-directed scheduling was introduced by Paulin and Knight  REF _Ref113107251 \r \h [50] as a way of minimizing resources under timing constraints. The algorithm uses the ASAP and ALAP times to determine the time frame for each operation, whereby a force is computed as a distribution function to determine the best schedule for the operation. The worst-case time complexity for the algorithm in cubic with the number of operations. Efficiency improvements were shown by Verhaegh et al.  REF _Ref113727934 \r \h [65] through incremental force calculations that reduce the complexity to quadratic with the number of operations. Paulin and Knight  REF _Ref113107251 \r \h [50] REF _Ref113107317 \r \h [51] have also shown how force-directed scheduling can be integrated with list-scheduling, where the force calculations are used as the priority function. In contrast to force-directed scheduling, the balanced scheduling approach presented here only considers the instruction-level parallelism in the design, where operations are not distinguished by their type. In other words, it attempts to uniformly distribute the number of operations per cycle within the ASAP/ALAP time frame, whereas force-directed scheduling attempts to balance similar operation types among states. Kerns and Eggers  REF _Ref113107387 \r \h [35] introduced a balanced scheduling algorithm that schedules instructions based on an estimate of the amount of load-level parallelism in the program. The scheduler computes load instruction weights based on a measure of the number of instructions that may execute in parallel with each load instruction. The instructions are then spread out to cover the load latency. Our balanced scheduling algorithm is different in that it considers the instruction-level parallelism for all single and multi-cycle operations, not just load instructions. The weight of each instruction is based solely on the number of hierarchical dependencies. Much research has been conducted on estimating delays in high-level synthesis. However, very little research has been performed on using estimated delays at high levels of abstraction in the context of operation chaining during scheduling of CDFGs for FPGA designs. Nemani and Najm  REF _Ref113107526 \r \h [48] proposed a technique for measuring delays of combinational logic circuits, but their work is limited to Boolean functions. Nourani and Papachristou  REF _Ref113107545 \r \h [49] presented a method of estimating delays for RTL logic in the context of false-path detection, in which they construct a Propagation Delay Graph to compute the critical delay in the design. Srinivasan et al.  REF _Ref113107567 \r \h [57] described a system for estimating area and delay from behavioral RTL logic descriptions using best-fit polynomial models. Their method, however, requires logic synthesis of the design into a network of simple gates in order to estimate the delay. Xu and Kurdahi  REF _Ref113728014 \r \h [71] presented an approach for estimating area and timing delays for FPGA designs based on CLB and wire modeling, given an input logic netlist. Nayak et al.  REF _Ref113728053 \r \h [47] developed an area and delay estimator for a high-level synthesis compiler that translates MATLAB code to RTL VHDL and Verilog for FPGAs. Their method of prediction is formulated as an equation based on constant parameters to be determined experimentally for each operation. Jiang et al.  REF _Ref113107630 \r \h [30] presented a similar approach in which accurate high-level macro-model equations are used for estimating area, delay, and power of various RTL operations for a target FPGA architecture. Experimental values were obtained for each operation during high-level synthesis with varying precisions and the macro-model equation for the operations was extrapolated from a best-fit curve. Our method of estimating critical delays for our balanced chaining algorithm is based on their approach. Balanced Scheduling In conventional FPGA designs, performance is often optimized without regard for resource requirements. The goal is to reduce the number of clock cycles and increase the parallelism and frequency in the design, even at the cost of area. Typically, a scheduling method such as ASAP or ALAP is used, resulting in an imbalance in the number of instructions scheduled per clock cycle. In ASAP scheduling, a large number of operations are executed within the first few cycles, followed by fewer operations in the successive cycles. In ALAP scheduling, fewer operations are executed in the beginning, followed by a large number of operations executed at the end. Both scheduling routines produce the same number of clock cycles. The benefit of balanced scheduling over ASAP and ALAP is a uniform distribution of operations among all clock cycles. Balanced instruction-level parallelism may also result in improved resource usage, latency, power, and heat dissipation.  REF _Ref113108432 \h Figure 6.1 illustrates the ASAP, ALAP, and balanced scheduling routines. In the diagram, each operation node has a one-cycle latency. In balanced scheduling, there is an even distribution of operations among the four cycles, while the other methods show imbalances in the number of operations.  Figure  STYLEREF 1 \s 6. SEQ Figure \* ARABIC \s 1 1. ASAP, ALAP and Balanced scheduling routines. Balanced scheduling is implemented in two stages. In the first stage, dependency analysis is performed on each node, in which the total number of parent dependencies in the directed acyclic graph (DAG) hierarchy is determined. In  REF _Ref113108432 \h Figure 6.1, the number of node dependencies for each operation is shown for balanced scheduling. The second stage uses the number of dependencies to selectively forward nodes to later cycles in order to balance the instruction-level parallelism.  REF _Ref113109337 \h Figure 6.2 presents the algorithm for dependency analysis, which accepts as arguments a basic block, B, and a mapping, D, of each operation node to its number of dependencies. The algorithm iterates through the nodes in a block in topological order, while adding all unique predecessors to the nodes dependency list. Finally, the size of each nodes dependency list is assigned to the map, D. Clearly, the algorithm runs in linear time with the number of nodes in the CDFG. Dependency_Analysis( Block: B, Map: D ) 1 topologically sort the nodes in B 2 DM is a mapping of nodes to their dependencies 3 for each node n in block B do 4 for each predecessor node p of n do 5 if p is an operation then 6 add each unique node in DM[p] to DM[n] 7 add p to DM[n] 8 for each node n in block B do 9 D[n] = DM[n].size() Figure  STYLEREF 1 \s 6. SEQ Figure \* ARABIC \s 1 2. Dependency analysis algorithm. The balanced scheduling routine is presented in  REF _Ref113109379 \h Figure 6.3, which uniformly distributes operation nodes among the cycles in the design. At first, the algorithm initializes the timesteps for each node in the CDFG using ASAP scheduling in line 2. In lines 3-35, it reiterates over the CDFG to optimize the load balance in each basic block. In line 4, the dependency analysis is performed on the nodes in the block. Lines 5-10 count the number of operation nodes within the block, while adding each node to a map, T, which groups nodes by timestep. The average load balance per clock cycle is then computed. Lines 11-35 traverse T in reverse order, beginning with the latest cycle (t). It searches for the best node to forward to that cycle by traversing each preceding cycle (t-1, t-2, t-3, etc.) until the earliest cycle in the block is reached. The forwarding node is selected based on two criteria: the node has the largest number of dependencies and forwarding the node does not violate any latency constraints, as described in lines 20-28. When a node is forwarded, T is updated by remapping the forwarded node to its new cycle. Once a cycle is balanced, or if it is not possible to balance it after traversing all preceding cycles, the algorithm continues on to balance the load in the next cycle (t-1) in T. An analysis of the algorithm shows a worst case when no forwarding is possible for all nodes. This results in O(nt) time complexity, where n is the number of operations in the block and t is the number of cycles after ASAP scheduling. If the DAG is very narrow, i.e., there is one node scheduled per state cycle such that t = n, the complexity resolves to O(n2). However, since most CDFGs have tree-like structures, on average we can expect t = log n, yielding an average time complexity of approximately O(n log n). Balanced_Scheduling( Graph: G ) 1 D is a mapping of nodes to dependency counts 2 ASAP_Scheduling( G ) 3 for each block b in G do 4 Dependency_Analysis( b, D ) 5 num_opers = 0 6 for each operation node n in b do 7 n_opers = n_opers + 1 8 add n to T[n->GetTimeStep()] 9 cycles = b->GetEndTime() - b->GetStartTime() 10 avg_load = n_opers / cycles 11 for each element t in T in reverse order do 12 time = t.time 13 ptime = t.time - 1 14 while T[time].size() < avg_load and 15 ptime >= b->GetStartTime() do 16 max_depend = 0 17 best_node = NULL 18 for each node n of T[ptime] do 19 bool fwd_node = true 20 wb_time = time + n->getCycles() 21 if wb_time > b->GetEndTime() then 22 fwd_node = false 23 for each successor s of n do 24 if wb_time >= s->GetTimeStep() then 25 fwd_node = false 26 if fwd_node and D[n] > max_depend 27 max_depend = D[n] 28 best_node = n 29 if best_node != NULL then 30 best_node->SetTimeStep( time ) 31 T[ptime].remove( best_node ) 32 add best_node to T[time] 33 else if T[time].size() < avg_load then 34 ptime = ptime - 1 35 else break Figure  STYLEREF 1 \s 6. SEQ Figure \* ARABIC \s 1 3. Balanced scheduling algorithm. To illustrate the balanced scheduling further, refer to  REF _Ref113108432 \h Figure 6.1. The CDFG is initialized with ASAP scheduling, assuming each node has a latency of one cycle. Dependency analysis is performed on each node, as shown in the figure, and the load balance is determined to be 2 (8 nodes / 4 states). In a bottom-up approach, beginning at the fourth state, one node is required to balance the load. The algorithm traverses the preceding states to find a node to forward to the fourth state. Beginning in the third state, a single subtract operation is found, but the 1-cycle latency prevents it from being forwarded. In the second state, the multiply and subtract operators have the same number of dependencies, but only the subtract operator has no latency restriction, and so it is selected to be forwarded to the fourth cycle. Since the fourth state is now balanced, we continue on to balance the third state, which also requires a single node. Beginning with state two, the multiply operation has the most dependencies and no latency restriction, so it is forwarded to state three. Now the second state requires a single node to balance. Looking to the first state, all three operations have the same number of dependencies, but only the add and shift operations have no latency restriction. The add operation is encountered first and is forwarded to the second state. Finally, the first state is already balanced and the procedure is complete. Balanced Chaining While balanced scheduling can significantly improve the distribution of operations among state cycles over ASAP and ALAP, it is somewhat nave, for it does not implicitly consider variations in the operation delays. To obtain optimal performance, it is essential to consider the operation delays when scheduling and chaining operations. In this section a balanced chaining algorithm is presented, which uses a delay modeling technique to predict the critical path of a design. We also present our methodology for obtaining accurate delay models of operations during high-level synthesis. These models are used to obtain better timing performances during scheduling by optimally chaining RTL operations within each state of a finite state machine. Consider the DAGs shown in  REF _Ref113109786 \h Figure 6.4, scheduled using three different chaining routines. In the examples we assume that multiplication operations have delays of 5 ns, while addition and subtraction operations have delays of 2 ns. In the first case, ASAP scheduling without chaining would require 4 cycles. The critical delay, or the worst-case path delay, is 5 ns, resulting in a maximum allowed frequency is 200 MHz. It would take a total of 20 ns to complete the computations. A nave approach to operation chaining would schedule three multipliers within a single clock cycle, as illustrated in the second case in the figure. The resulting implementation takes 15 ns to complete, which is faster than the unchained approach. However, after closer inspection, it is apparent that the critical path can be balanced by chaining only the add-subtract operation sequence. This results in 3 cycles and a critical delay of 5 ns, as illustrated in the third case in the figure. It is interesting to note that although the balanced chaining schedule runs in the same time as the unconstrained chaining schedule, more importantly, it produces a maximum allowed frequency of 200 MHz compared to 67 MHz in the latter case. Consequently, the lower frequency yielded in the nave approach limits the performance of the entire design.  Figure  STYLEREF 1 \s 6. SEQ Figure \* ARABIC \s 1 4. Comparison of chaining methods. Modeling Delays In order to obtain an optimal scheduling of operations, it is essential to accurately model operation delays. Generally, operation delays depend on the FPGA architecture and the precision of the calculation. It is therefore necessary to obtain delay estimates for varying precisions of each operation for each target FPGA architecture. Our method of delay modeling is based on previous work by Jiang et al.  REF _Ref113107630 \r \h [30], which demonstrates that it is possible to accurately model the delay, area, and power of operations for ASICs with constant, linear, and quadratic equations. This process consists of two steps: acquiring the operation delays for varying precisions and creating high-level equations to model the delay of each operation as a function of precision. In acquiring operation delays, it is possible to use values at different stages during the high-level synthesis process. Primarily, values should be obtained after synthesis or place and route. We used delay values after synthesis using Synplicitys Synplify Pro v8.0 tool. Our goal is to obtain frequency results within a small margin of error as compared to those reported by the synthesis tool. Since the synthesis tool generally performs many transformations on the RTL code, it is essential to obtain accurate values for each precision. This is accomplished by isolating operations from all other logic in the design.  REF _Ref113110153 \h Figure 6.5 provides the Verilog code for a 16-bit multiplication operation, where the operation is isolated within the OP module.  REF _Ref113110171 \h Figure 6.6 illustrates the technology mapping for the design on the Xilinx Virtex II FPGA, where the delay is measured within the OP module and excludes the external logic within the MODEL module. We use this method for acquiring delays of all arithmetic and logical operations with precisions of 2, 4, 8, 16, 32, and 64 bits. We also consider predicated operations, i.e., those embedded within if-then-else statements. The delay values are plotted and a best-fit curve is found to approximate the delay model as a function of precision. module OP( IN1, IN2, OUT ); parameter [31:0] WIDTH = 32; input wire signed [WIDTH/2-1:0] IN1; input wire signed [WIDTH/2-1:0] IN2; output wire signed [WIDTH-1:0] OUT; assign OUT = IN1 * IN2; endmodule module MODEL( IN1, IN2, OUT ); parameter [31:0] WIDTH = 32; input wire signed [WIDTH/2-1:0] IN1; input wire signed [WIDTH/2-1:0] IN2; output wire signed [WIDTH-1:0] OUT; OP oper( IN1, IN2, OUT ); // operation instance endmodule Figure  STYLEREF 1 \s 6. SEQ Figure \* ARABIC \s 1 5. Verilog code for modeling delays.  Figure  STYLEREF 1 \s 6. SEQ Figure \* ARABIC \s 1 6. Measuring operation delays for FPGA designs. Jiang et al.  REF _Ref113107630 \r \h [30] have categorized their models into constant, linear, and quadratic equations. We have chosen to use a cubic equation in all delay models for the following reasons. We have found through experimentation that the delays of many operations in FPGAs were discontinuous linear functions of precision. These nonlinear characteristics are often due to high-level optimizations. For instance, a 2-bit add operation can be replaced with a combination of simple logic gates, resulting in reduced delay for low precision operations. Similarly, operations with higher precisions often require additional levels of logic that increase the delay. Consequently, these optimizations produce varying slopes in the model, requiring cubic expressions to attain higher-accuracy in the delay models. Incidentally, operations that exhibit constant, linear, or quadratic properties can be modeled with cubic expressions as well.  Figure  STYLEREF 1 \s 6. SEQ Figure \* ARABIC \s 1 7. Comparison of delay models for a multiply operation.  REF _Ref113110239 \h Figure 6.7 illustrates a comparison of linear, quadratic, and cubic delay models for the multiply operation over a range of precisions, as described above. The best-fit curve model for the delays of each operation is obtained using the POLYFIT function in MATLAB. Clearly, the cubic model produces the highest accuracy. In estimating the operation delays, we can expect a certain margin of error. If a consistent method was used in obtaining the delays for all operations, one can expect the margin of error to be relative among all the operation delay models. Therefore, we can justify that even with a margin of error, the critical path may nonetheless be identified correctly for determining the best chaining of operations. Balanced Chaining Algorithm In RTL VHDL and Verilog, operation chaining is accomplished by assigning the result of a computation using the blocking operator (=) rather than non-blocking operator (<=). This allows the resulting value to be used immediately instead of in the next clock cycle (state). Operation chaining is implemented on an operation node in a CDFG by assigning a cycle delay of zero. The cycle delay is used when determining a schedule for each node in a finite state machine.  REF _Ref113110432 \h Figure 6.8 presents our balanced chaining algorithm, whose objective is to minimize the clock cycles and critical path in the input graph, G, given an input target frequency. The target frequency is upper-bounded by the slowest operation in the design and lower-bounded by 1 MHz, which is essentially equivalent to running unconstrained chaining. This chaining method uses a uniform cycle delay between each operation and its successor nodes; it does not consider independent cycle delays for each outgoing edge. However, the algorithm can be easily adapted to handle varying cycle delays. Balanced_Chaining( Graph: G, frequency ) 1 if frequency < 1.0 then frequency = 1.0 2 critical_delay = 1000 / frequency 3 D is a mapping of each operation node to a delay 4 for each block b in G do 5 for each node n in b do 6 D[n] = Get_Operation_Delay( n ) 7 if ( D[n] > critical_delay ) then 8 critical_delay = D[n] 9 if n has successors and n->getCycles() == 1 10 n->setCycles( 0 ) 11 for each block b in G do 12 topologically sort nodes in b 13 for each node n in b in reverse order do 14 for each predecessor node p of n do 15 D[p] = Get_Operation_Delay( p ) 16 total_delay = D[p] + D[n] 17 if p->getCycles() == 0 then 18 if total_delay > critical_delay then 19 p->setCycles( 1 ) 20 else if total_delay <= critical_delay 21 and total_delay > D[p] then 22 D[p] = total_delay Figure  STYLEREF 1 \s 6. SEQ Figure \* ARABIC \s 1 8. Balanced chaining algorithm. The algorithm begins in lines 3-10 by iterating through the nodes in the CDFG. In lines 6-8, each operation node is mapped to its predicted delay for the target architecture based on the model described above. While doing so, it also updates the critical delay, which is the worst-path delay of any sequence of chained operations in the CDFG. In lines 9-10, the CDFG is initialized to unconstrained chaining by assigning a cycle delay of zero for each operation node. The chaining is performed in lines 11-22. The nodes in the CDFG are first topologically sorted, and then traversed from bottom-up. The delay of each node is recalculated based on the delay of its predecessor nodes in lines 15-16. If the combined delay of a node and its predecessor is greater than the critical delay, the predecessor node is unchained by setting its cycle delay to one cycle in lines 18-19. Otherwise, the operation delay of the predecessor node is updated with the total delay in lines 20-22. It is evident that the algorithm runs in linear time with the number of nodes in the CDFG. Experimental Results In this section we present timing results for ten benchmarks using the scheduling routines discussed in this chapter. The benchmarks were originally available in C, and compiled to assembly code using the Texas Instruments Code Composer Studio software suite, targeting the C6211 DSP architecture. The assembly codes were compiled to RTL VHDL and Verilog using the FREEDOM compiler, and the CDFGs were unrolled several times to increase the design size. Using the scheduling techniques outlined here, the designs were synthesized to target two different FPGA architectures: the Xilinx Virtex II FPGA and the Altera Stratix FPGA. The RTL codes generated by the FREEDOM compiler were simulated using the ModelSim v5.7e simulation tool from Mentor Graphics. In each case, the design was verified to be bit-true accurate. The RTL codes were synthesized using the Synplify Pro v8.2 logic synthesis tool from Synplicity. These synthesis results were used to obtain estimated frequencies for each benchmark. The execution times on the FPGAs were measured using the number of clock cycles in the simulation and the frequency results from the synthesis process. The estimated delay models for balanced chaining were based on data gathered for this FPGA architecture using the Synplify Pro v8.2 logic synthesis tool.  REF _Ref119311970 \h Table 6.1 and  REF _Ref119774539 \h Table 6.2 present the measured operation delays for each operation and their predicted delay model on the Xilinx Virtex II and Altera Stratix FPGAs, respectively. The delay model for each operation is in the format: C3*X3 + C2*X2 + C1*X + C0. Table  STYLEREF 1 \s 6. SEQ Table \* ARABIC \s 1 1. Delay models for operations on the Xilinx Virtex II FPGA. Measured Operation Delays for Varying Bit-WidthsConstant Coefficients for Delay ModelsOperation248163264C3C2C1C0ADD0.3830.9001.0411.4562.1923.6550.0000-0.00190.10000.3414SUB0.3830.9001.0411.4562.1923.6550.0000-0.00190.10000.3414MULT0.3820.3823.1403.9965.70811.2360.0001-0.01430.5116-0.7996ASSGN0.0000.0000.0000.0000.0000.0000.00000.00000.00000.0000UNION0.0000.0000.0000.0000.0000.0000.00000.00000.00000.0000NEG0.3830.3830.9002.0972.2823.1560.0000-0.00560.2088-0.2173NOT0.3820.3820.3820.3820.3820.3820.00000.00000.00000.3820AND0.3820.3820.3820.3820.3820.3820.00000.00000.00000.3820OR0.3820.3820.3820.3820.3820.3820.00000.00000.00000.3820XOR0.3820.3820.3820.3820.3820.3820.00000.00000.00000.3820XNOR0.3820.3820.3820.3820.3820.3820.00000.00000.00000.3820NAND0.3820.3820.3820.3820.3820.3820.00000.00000.00000.3820NOR0.3820.3820.3820.3820.3820.3820.00000.00000.00000.3820CMPEQ0.3820.9010.9011.4191.9381.9380.0000-0.00150.09030.3459CMPNE0.3820.9010.9011.4191.9381.9380.0000-0.00150.09030.3459CMPLT0.3820.8100.8100.8101.8702.6050.00000.0021-0.00380.5908CMPGT0.3820.8100.8100.8101.8702.6050.00000.0021-0.00380.5908CMPLE0.3821.5441.5441.5442.6033.3390.0000-0.00150.09480.6766CMPGE0.3821.5441.5441.5442.6033.3390.0000-0.00150.09480.6766SLL0.3830.9001.5472.1912.8773.6490.0000-0.00550.21390.0652SRL0.3830.9001.5472.2052.7993.8030.0001-0.00600.22240.0425SRA0.3831.1152.5233.2023.8444.4310.0001-0.01140.3856-0.2246PRED0.3820.9010.9011.4191.4191.9380.0000-0.00400.12540.2560 Table  STYLEREF 1 \s 6. SEQ Table \* ARABIC \s 1 2. Delay models for operations on the Altera Stratix FPGA Measured Operation Delays for Varying Bit-WidthsConstant Coefficients for Delay ModelsOperation248163264C3C2C1C0ADD0.5271.0781.4621.7022.1823.1420.0000-0.00400.14370.4210SUB0.5271.0581.4621.7022.1823.1420.0000-0.00410.14460.4108MULT0.2440.5276.0656.0656.0654.9740.0003-0.03501.0330-1.8792ASSGN0.0000.0000.0000.0000.0000.0000.00000.00000.00000.0000UNION0.0000.0000.0000.0000.0000.0000.00000.00000.00000.0000NEG0.2440.5271.3421.4621.7022.1820.0001-0.00590.1855-0.0524NOT0.0000.0000.0000.0000.0000.0000.00000.00000.00000.0000AND0.2440.2440.2440.2440.2440.2440.00000.00000.00000.2440OR0.2440.2440.2440.2440.2440.2440.00000.00000.00000.2440XOR0.2440.2440.2440.2440.2440.2440.00000.00000.00000.2440XNOR0.2440.2440.2440.2440.2440.2440.00000.00000.00000.2440NAND0.2440.2440.2440.2440.2440.2440.00000.00000.00000.2440NOR0.2440.2440.2440.2440.2440.2440.00000.00000.00000.2440CMPEQ0.5271.0581.4852.0172.4442.8360.0000-0.00480.17850.2999CMPNE0.5271.0581.4852.0172.4442.8360.0000-0.00480.17850.2999CMPLT0.5271.3421.4621.7022.1823.1420.0000-0.00370.13140.5554CMPGT0.5271.3421.4621.7022.1823.1420.0000-0.00370.13140.5554CMPLE0.5271.3421.4621.7022.1823.1420.0000-0.00370.13140.5554CMPGE0.5271.3421.4621.7022.1823.1420.0000-0.00370.13140.5554SLL0.5271.5901.5872.3682.5323.6340.0001-0.00690.21780.3928SRL0.5271.5901.5872.3682.5323.6340.0001-0.00690.21780.3928SRA0.5271.5902.2442.9393.5774.8600.0001-0.00870.29960.2380PRED0.5270.9711.4352.3143.1924.1690.0000-0.00380.18420.2187  REF _Ref113111698 \h Table 6.3 and  REF _Ref113110791 \h Table 6.4 show timing results for the Xilinx Virtex II and Altera Stratix FPGAs using ASAP, ALAP, and balanced scheduling with unconstrained chaining. These results produce the minimum number of cycles possible among the scheduling routines, which are consistent for both architectures. The objective is then to maximize the frequency within this time frame. With balanced scheduling, a uniform distribution of operations among the cycles improves the frequency dramatically over ASAP and ALAP for nearly all benchmarks. This is due to the fact that the scheduling has partitioned the large critical paths in the design. Variations in frequency for laplace results for the Xilinx Virtex II FPGA, as well as ellip and sobel results for the Altera Stratix FPGA are due to the nave partitioning of the critical path. Consequently, minor variations in the data path can cause the back-end synthesis tool to make substantial changes in design implementations that can affect the overall frequency. Table  STYLEREF 1 \s 6. SEQ Table \* ARABIC \s 1 3. Comparison of scheduling routines for Xilinx Virtex II FPGA. ASAPALAPBALANCEDBenchmarkCyclesFreq (MHz)Time (s)Freq (MHz)Time (s)Freq (MHz)Time (s)dot_prod120454.822.068.517.6111.510.8iir270454.649.550.154.058.246.5matmul_32111909103.01086.570.91578.4103.01086.5gcd66215.60.3211.10.3215.60.3diffeq5820.42.826.62.242.41.4ellip53124.90.4146.80.4166.90.3laplace5528150.536.7109.750.4131.841.9fir16tap14948103.7144.171.3209.6103.7144.1fir_cmplx285254.452.447.859.778.736.2sobel18891108.8173.680.6234.4111.7169.1 Table  STYLEREF 1 \s 6. SEQ Table \* ARABIC \s 1 4. Comparison of scheduling routines for Altera Stratix FPGA. ASAPALAPBALANCEDBenchmarkCyclesFreq (MHz)Time (s)Freq (MHz)Time (s)Freq (MHz)Time (s)dot_prod120456.421.356.421.389.613.4iir270456.547.946.058.855.348.9matmul_3211190989.61249.042.92608.689.61249.0gcd66159.80.4176.20.4159.80.4diffeq5811.15.213.84.226.72.2ellip53119.60.4165.30.3147.70.4laplace552889.361.9100.455.1100.854.8fir16tap1494889.6166.842.9348.489.6166.8fir_cmplx285251.055.936.578.157.849.3sobel1889194.1200.867.5279.986.7217.9  REF _Ref119480687 \h Table 6.5 and  REF _Ref119313494 \h Table 6.6 show comparisons of the same benchmarks for the two FPGA architectures using no chaining, unconstrained chaining, and balanced chaining. For the latter case, a target frequency of 500 MHz was chosen, resulting in the maximum allowed frequency for the design. As expected, the clock cycles increased over that of the unconstrained chaining due to reduced chaining of operations. For the Xilinx Virtex II FPGA, we see dramatic increases in frequency as well as significant improvements in timing over that of an unconstrained chaining approach. The delay estimations for ellip, laplace, and sobel were hampered by extra logic inserted by the synthesis tool. However, the difference was within a 10% margin of error as compared to the best results. It is interesting to note that the frequency results for balanced chaining are very close to those reported for scheduling without chaining, which is the maximum capable frequency expected for each benchmark. This strengthens our claim that it is indeed possible to effectively predict the critical delays of a design at an abstract level in order to optimize the chaining of operations during scheduling. The results for the Altera Stratix FPGA seemed to be less consistent than that of the Xilinx Virtex II. The resulting frequency estimations for dot_prod, matmul_32, diffeq, and fir16tap were much lower than the best case (with no chaining). After further investigation, it seems the synthesis tool optimized away registers between cycles for the MAC operations, which increased the overall critical path. These transformations were unpredictable and could not be disabled. While these frequency results were significantly less than the best case, it is interesting to note that they were no worse than that of unconstrained chaining. Table  STYLEREF 1 \s 6. SEQ Table \* ARABIC \s 1 5. Comparison of chaining routines for Xilinx Virtex II FPGA. NONEUNCONSTRAINEDBALANCEDBenchmarkCyclesFreq (MHz)Time (s)CyclesFreq (MHz)Time (s)CyclesFreq (MHz)Time (s)dot_prod1654145.111.41204111.510.81304146.28.9iir6306103.860.8270458.246.54204136.030.9matmul_32171528146.11174.0111909103.01086.5120101146.2821.5gcd118187.80.666215.60.367215.60.3diffeq156143.11.15842.41.494143.30.7ellip66168.10.453166.90.359161.40.4laplace9221189.548.75528150.536.76638173.138.3fir16tap23386145.1161.214948103.7144.115912145.2109.6fir_cmplx3924102.338.4285278.736.23012102.329.4sobel33563148.0226.818891111.7169.122611132.0171.3 Table  STYLEREF 1 \s 6. SEQ Table \* ARABIC \s 1 6. Comparison of chaining routines for Altera Stratix FPGA. NONEUNCONSTRAINEDBALANCEDBenchmarkCyclesFreq (MHz)Time (s)CyclesFreq (MHz)Time (s)CyclesFreq (MHz)Time (s)dot_prod1654146.711.3120489.613.4130489.614.6iir630655.5113.6270456.547.94204131.631.9matmul_32171528135.41266.811190989.61249.012010189.61340.4gcd118141.80.866176.20.467180.80.4diffeq156124.01.35826.72.29475.71.2ellip66152.10.453165.30.359162.70.4laplace9221104.488.35528100.854.86638112.659.0fir16tap23386127.3183.71494889.6166.81591289.6177.6fir_cmplx392453.173.9285257.849.33012138.121.8sobel3356389.8373.81889194.1200.82261196.0235.5 Summary When good delay estimations are not available for FPGAs, high-level synthesis tools often use unconstrained chaining in scheduling to reduce the number of cycles in the design. In this chapter we present a balanced scheduling routine that uniformly distributed operations among states. This effectively breaks up large critical paths in the design and improves the frequency. Results indicate that in general, this technique performs better than ASAP or ALAP scheduling with unconstrained chaining for different FPGA architectures. With good delay estimation and modeling methods, better-quality chaining is possible. Towards this effort, we have developed precision-based delay models to estimate operation delays in FPGAs. This technique was incorporated in our balance chaining routine. Given a target frequency, balanced chaining uses these delay models to reduce the cycles and critical path in the design by chaining operations within the given critical delay. Results show significant improvements in frequency and run times using our balanced chaining routine, even with ASAP and ALAP scheduling. Furthermore, our method for modeling operation delays is shown to accurately identify the critical paths of complex designs during high-level synthesis for different FPGA architectures. Consequently, when using balanced chaining, the balanced scheduling technique is no longer essential. Resource Sharing As part of the translation process of DSP assembly code into hardware descriptions by the FREEDOM compiler, a grammar is provided to map each operation of the source ISA to a set of MST instructions. The MST instructions are then converted into a CDFG that is composed of nodes representing inputs, outputs, and operations, which are optimized for performance in terms of frequency, power, timing, and area. It is interesting to observe that such methods of translation in high-level synthesis compilers often produce reoccurring patterns in the resulting CDFG. As an example, suppose a design targeted for high-level synthesis contains a number of calls to a multiply-accumulate (MAC) function. The grammar might translate each of these calls to a sequence of multiply-add operations in the CDFG. We surmise that it is possible to re-associate these reoccurring patterns of instruction sequences into collections of operation sets, or templates, to be shared in a hardware implementation to reduce area and facilitate better placement and routing. Additionally, the templates may be used for IP blocks and other specialized complex computational units.  Figure  STYLEREF 1 \s 7. SEQ Figure \* ARABIC \s 1 1. Reoccurring patterns in a CDFG.  REF _Ref113110171 \h Figure 6.6 illustrates a CDFG with reoccurring patterns of operations, allowing several possible resource sharing schemes. A simple implementation would share only individual operations, such as adders and multipliers, although more complex patterns may also be extracted, namely T1, T2, or T3. Sharing individual operations alone will result in the removal of 13, considering the added cost of implementing each template. However, the cost of routing and steering logic necessary to share a single operator for an entire design is unacceptably high. Similarly, one might assume it is preferable to use a small number of large templates in resource sharing. However, growing template T3 only removes 7 operations. Consequently, implementing template T2 would produce the best resource coverage. We see from this example two important aspects in template generation: a cost function is essential in the decision factor for growing templates, and the template selection and growth has a direct impact on future decisions. For instance, selecting the template T1 will prevent the growth of template T2 due to overlapping structures, thus resulting in a suboptimal area reduction. Regularity extraction is the term generally used for extracting reoccurring patterns from CDFGs. This approach is related to the technology mapping and the graph covering problems. However, in the classical technology mapping problem, a static library of modules is provided with the goal of completely covering the CDFG with a mapping of each operation to a gate in the technology library. At higher levels of abstraction, these static libraries may not be readily available. Consequently, regularity extraction requires a more dynamic approach. The contribution of this work is an area optimization algorithm that uses regularity extraction to generate templates of reoccurring patterns to enable resource sharing. We use a heuristic method to grow templates dynamically based on a cost function and the frequency of reoccurring patterns within the CDFG. Additionally, we implement backtracking and vary the look-ahead depth when growing templates to evaluate the efficiency of the algorithm in obtaining near-optimal solutions in practice. Preliminary work on this research has been published  REF _Ref119860899 \r \h [73]. Related Work Many approaches have been evaluated for resource sharing. The graph-covering problem may be solved optimally using a binate covering formulation. However, the problem is NP-Complete; the optimal binate covering approach is intractable for large problem instances. Villa et al.  REF _Ref113170790 \r \h [66] proposed methods for obtaining results more quickly by implementing better bounding techniques. However, even at its best, using binate covering to cover large CDFGs can take an extremely long time to find an optimal covering solution. Many researchers have resorted to heuristics in order to obtain solutions quickly. Memik et al.  REF _Ref113170828 \r \h [39] proposed a method of resource sharing for FPGAs using a combination of five heuristics to merge resources across basic blocks in a CDFG. They assume a technology library is provided for the target FPGA and the operation nodes have been annotated with area and delay measurements. We present a more general approach that may be used when this information is not readily available. Our method utilizes regularity extraction to organize reoccurring operation networks in a CDFG into separate templates to enable resource sharing. There has been a significant amount of work on regularity extraction. In general, two methods are used. The first method uses a static library of templates. The second method, which we have implemented, dynamically generates templates on the fly. Callahan et al.  REF _Ref113728157 \r \h [6] proposed a method for mapping operations to target FPGAs given a library of templates to match. Prior to performing graph covering, the DAGs are partitioned into trees. This approach, however, can be very costly when trying to minimize area, as the number of operations will increase significantly. Furthermore, they only allow single-output templates, whereas our proposed method supports multiple fanout. Chowdhary et al.  REF _Ref113728175 \r \h [8] have proposed dynamic template generation that considers the complete set of templates for trees and single-output DAGs and multiple fanouts. The complexity of considering all possible templates can be high. Kastner et al.  REF _Ref113170959 \r \h [34] and Rao and Kurdahi  REF _Ref113170919 \r \h [56] and have proposed methods for extracting templates from DAGs based on incremental template matching. However, this greedy approach is subject to ill-fated decisions that may prevent future template growth or become trapped in local minima. Our proposed method includes a varying look-ahead to consider more levels of hierarchy simultaneously in order to avoid this problem. Guo et al.  REF _Ref113728235 \r \h [25] proposed a similar method for the MONTIUM architecture that allows a limit to the generated template sizes. However, templates are grown based on frequency of occurrence; they do not consider a cost function. Additionally, there is no discussion of the degree to which their solutions deviate from optimality. In our method, we have implemented a cost function and backtracking to determine the point of diminishing returns for a number of benchmarks, allowing near-optimal solutions to be efficiently generated. Dynamic Resource Sharing This section presents our heuristic algorithm for dynamic resource sharing. We discuss our methods of building template matches using regularity extraction, and selecting which templates to implement for resource sharing via a cost function. Linear DAG Isomorphism The key to regularity extraction is identifying common patterns in a graph. CDFGs composed of directed acyclic graphs (DAGs) pose a more difficult problem than trees. Unlike trees, in which dynamic programming may be used to find optimal solutions for template matching, DAGs are commonly approached using heuristics to identify isomorphic patterns. This process becomes more complicated for large DAGs and with multiple fanouts. Consider the example in  REF _Ref113174354 \h Figure 7.2, where two circuits are structured differently, but perform the same function (assuming the inputs for the two are the same). Evidently, the second structure may be used in place of the first structure if the same inputs are used in both multipliers. However, in some cases these structures may in fact not be identical due to other properties, such as sign and precision. There has been much work on DAG isomorphism. Gemini  REF _Ref113728278 \r \h [21] was developed as a means of validating circuit layout through graph isomorphism using a graph coloring technique. Rao and Kurdahi  REF _Ref113170919 \r \h [56] proposed a string matching technique for comparing graphs, but they use very simple string formulas (called K-formulas). Zibin et al.  REF _Ref113728312 \r \h [77] have described efficient methods of linear isomorphism by utilizing the commutative and associative properties of operations. We have implemented a similar approach using string matching that encapsulates additional properties of each operation, including predicates, sign and precision. The algorithm is limited to single-rooted DAGs, but allows for multiple fanouts as described later in section  REF _Ref113174562 \r \h 7.2.6.  Figure  STYLEREF 1 \s 7. SEQ Figure \* ARABIC \s 1 2. Equivalent DAG structures.  REF _Ref113174653 \h Figure 7.3 describes the procedure GenerateExprs(), which takes as input a nodeset from a single-rooted DAG, and a hash table, N, that maps string expressions to nodes. The nodeset is topologically sorted in order of leaves to the root. Beginning with the leaves, the algorithm calls the HashNode() function on each node in the nodeset to generate a string value based on the properties of the operation and the hash expressions of its input nodes. In  REF _Ref113174354 \h Figure 7.2, the hash value UMULT32 is used to represent an unsigned 32-bit multiplication operation, while the inputs, U32, are represented abstractly using only sign and precision properties. Similarly, the 32-bit unsigned add operation is represented as a function of its inputs. The functionality may be expanded to handle other properties, such as bit-select and predicated operations. HashNode() utilizes the associative and commutative properties of symmetric operations by sorting the input hash expressions alphanumerically. Two DAGs are said to be isomorphic if the hash values of the root nodes are equivalent, i.e., N[root1] = N[root2]. GenerateExprs(nodeset, N) 1 Topologically sort the nodes in nodeset 2 for each node n in nodeset 3 for each incoming edge p of n do 4 add N[p] to expr_list 5 N[n] = HashNode(n, expr_list) Figure  STYLEREF 1 \s 7. SEQ Figure \* ARABIC \s 1 3. Pseudo-code for DAG expressions. Growing Templates Templates are grown by first building nodesets and then matching structures as described above. A nodeset is built by performing a depth-first traversal of a DAG beginning at a root node, and incrementally adding the nodes at each stage of the hierarchy. In  REF _Ref113174740 \h Figure 7.4, we present a recursive function, BuildNodeSet() that grows a nodeset. The function takes as input the current node, the nodeset to which the nodes are added, the current level in the hierarchy, a max_level of hierarchy, and a table P that maps each node to its current parent nodeset. In each stage, node is added to nodeset if max_level has not been reached and no reconverging paths are found, as described in the next section. A nodeset may only be combined with another via its root node. Consequently, the procedure checks that node is a root prior to combining sets. The procedure then recursively calls itself on each input to node. The recursion is bounded by max_level look-ahead, or the height of the DAG if it is the smaller of the two.  REF _Ref113127746 \h Figure 7.5 illustrates the nodesets generated from a DAG with varying look-ahead depths of 0, 1, and 2. BuildNodeSet(node, nodeset, level, max_level, P) 1 if level > max_level then return 2 else if PathReconverges(node, nodeset, false) 3 return 4 pset = GetParentSet(node, P) 5 if pset != NULL then 6 if node != pset->root then return 7 else add pset->nodes to nodeset 8 else add node to nodeset 9 for each node n in nodeset do 10 for each input edge p of n outside nodeset do 11 BuildNodeSet(p,nodeset,level+1,max_level,P) Figure  STYLEREF 1 \s 7. SEQ Figure \* ARABIC \s 1 4. Pseudo-code for growing nodesets.  Figure  STYLEREF 1 \s 7. SEQ Figure \* ARABIC \s 1 5. Generated nodesets and expressions. Reconverging Paths The order in which templates are grown is important. If there exists a secondary path between a nodeset and a joining node in which an intermediate node lies, the node may not be added to the set unless the node on the intermediate path is first included. Otherwise, a cycle is produced. Referring to  REF _Ref113127746 \h Figure 7.5, we see that the root nodes first input, the subtract node, has a reconverging path through the multiply operation. Had the subtract node been added first, the multiply node would become both an input and output to the nodeset, resulting in a cycle. Consequently, only the multiply node is added in the second stage, while the subtract node is added in the third stage. PathReconverges(node, nodeset, diverged) 1 for each outgoing edge s of node do 2 if nodeset contains s then 3 if diverged == false then 4 continue 5 else if diverged == true then 6 return true 7 else if s has not been visited then 8 if PathReconverges(s, nodeset, true) then 9 return true 10 return false Figure  STYLEREF 1 \s 7. SEQ Figure \* ARABIC \s 1 6. Pseudo-code for reconverging paths.  REF _Ref113175090 \h Figure 7.6 describes a recursive algorithm for determining if node has a reconverging path to nodeset. The procedure performs a depth-first traversal of all paths from node by calling itself on each successor node. If a node on a path does not belong to nodeset, the node is said to have diverged. Consequently, the presence of any subsequent nodes along the same path to nodeset indicates a reconverging path. Template Matching We have described a method of growing nodesets for templates and a means of generating expressions for nodeset equivalence checking. We now describe a technique for generating template matches that employs these methods.  REF _Ref113175123 \h Figure 7.7 presents a procedure GenerateExprTable() for generating template matches. It takes as input a graph G, a hash table E that maps a list of equivalent nodesets to a hash expression, a table P that maps a node to its parent nodeset, and a look-ahead factor for generating nodesets. The procedure iterates through each node in G and builds nodesets based on the look-ahead value provided. It considers all permitted levels of look-ahead simultaneously. For instance, a look-ahead value of 2 produces nodesets for look-aheads of 0, 1, and 2. Similarly, a look-ahead of infinity (") considers all possible nodeset combinations for each node in the graph. Once a nodeset is built, a hash expression is generated for the DAG. This expression is used as the key for adding the nodeset to table E. To bound the size of the table, the procedure terminates if an empty hash value is found or if the hash value is the same as that in a previous stage. Figure 5 shows the nodesets generated for a look-ahead of 2 and the corresponding hash expressions generated at each level. GenerateExprTable(G, E, P, look_ahead) 1 for each block b in G 2 for each node n in b 3 for i = 0 to look_ahead do 4 nodeset is a collection of nodes 5 N is a hash table of string to node 6 nodeset->root = node 7 BuildNodeSet(node, nodeset, 0, i, P) 8 GenerateExprs(nodeset, N) 9 key = N[nodeset->root] 10 if nodeset is empty then break 11 else if key was already seen then break 12 else add nodeset to E[key] 13 for each element e in E do 14 GetMaximalIndependantSets(e, P) 15 PruneUnmatchedSets(E, P) Figure  STYLEREF 1 \s 7. SEQ Figure \* ARABIC \s 1 7. Pseudo-code for template matching. The result of the procedure is a complete mapping of expressions to a list of equivalent nodesets. It is, however, necessary to remove any conflicts that arise locally within each set of template matches. Villa et al.  REF _Ref113170790 \r \h [66] describe a method of obtaining a close approximation of the maximal independent set using an adjacency matrix, in which the number of nodesets is maximized by first selecting those that conflict with the least number of nodesets, and then eliminating any rows/columns that intersect with a 1. Templates that do not have at least two matches are pruned, since there is no benefit to instantiating single-match templates.  REF _Ref113175209 \h Figure 7.8 illustrates a set of conflicting template matches and the corresponding adjacency matrix. Selecting either nodeset T1 or T3 first would result in the maximum attainable matches. Conversely, selecting T2 first would have eliminated matches T1 and T3, thereby producing suboptimal results.  Figure  STYLEREF 1 \s 7. SEQ Figure \* ARABIC \s 1 8. Adjacency matrix for overlapping sets. Selecting Templates Once the table of possible template matches is constructed, it is necessary to determine the best templates to implement. Typically, each choice has a direct impact on future choices, as there may yet exist conflicts between nodesets of different templates that must be eliminated.  REF _Ref113175245 \h Figure 7.9 describes a procedure, SelectTemplateMatches(), that iteratively selects the best template matches from E using a cost function based on the number of operations covered, less the cost of implementing the template with replicated hardware (see section  REF _Ref113174562 \r \h 7.2.6). The corresponding list of matches is placed into T. All remaining nodesets in E that conflict with these matches are removed, and unmatched sets are pruned. This process continues until E is either empty or no suitable template matches are available. If a single template match is found in T after the other matches were combined into larger templates, the template is pruned and its nodes are added back to the pool for future template matching. Different techniques may be considered when choosing a cost function. If precise area measurements are available for operations, it may be feasible to obtain nearly minimal area solutions. For our purposes, we chose a wiring cost for several reasons. First, it is often difficult to approximate the area cost at an abstract level, since we must predict how the resulting CDFG will be translated to hardware. Second, we wish to give preference to large, complex networks in order to reduce interconnect and simplify routing. Finally, reducing the nets effectively reduces the area as well. SelectTemplateMatches(E, T, P, costfunc) 1 changes = true 2 while( changes ) 3 changes = false 4 best_expr = GetBestCostExpr(E, costfunc) 5 if best_expr != NULL then 6 nodesets = E[best_expr] 7 remove best_expr from E 8 AddTemplate(nodesets, T, P) 9 RemoveIntersectingSets(nodesets, E, P) 10 PruneUnmatchedSets(E, P) 11 delete nodesets 12 changes = true 13 PruneUnmatchedSets(T, P) Figure  STYLEREF 1 \s 7. SEQ Figure \* ARABIC \s 1 9. Pseudo-code for template selection. Building Template Structures To ensure that a template performs the same function for all isomorphic DAG structures, it must have a tree structure, as shown in  REF _Ref113174354 \h Figure 7.2. The disadvantage of this approach is that it may result in an increase in area. However, this increase is bounded because it is possible to prune a template if it is deemed too costly to implement for the number of available matches. The template tree structure can be constructed from any of the matched nodesets by decomposing the DAG into a tree using a post-order traversal, beginning at the root node. For each template match, we identify the nodes with edges to external operations, adding them to the fanout list. Note that it may be necessary to replicate DAG input edges to split nodes in the expanded tree structure.  REF _Ref113175399 \h Figure 7.10 illustrates the template tree structure for the DAG in  REF _Ref113127746 \h Figure 7.5 with replicated input edges and multiple fanouts. The subtract operation has been replicated during conversion from DAG to tree. The nodeset is extracted into a separate CDFG, and replaced with a single call node to the function Template1(B,A,B,A,A,10).  Figure  STYLEREF 1 \s 7. SEQ Figure \* ARABIC \s 1 10. Generated template for the DAG in  REF _Ref113127746 \h Figure 7.5. Resource Sharing Algorithm In this section we present a Resource Sharing algorithm, shown in  REF _Ref113175473 \h Figure 7.11, comprised of the techniques described in this chapter. The procedure takes as input a graph G, a look-ahead value for generating the table of template expressions, and a backtracking value. As previously described, each chosen template match has a direct impact on future template selections. Thus, the following question arises: if we had chosen the second, third, or fourth best template expression first, how would this have affected the future results? ResourceSharing(G, look_ahead, backtrack) 1 best_T = NULL 2 best_P = NULL 3 best_cost = 0 4 changes = true 5 while ( changes ) do 6 changes = false 7 E maps exprs to nodeset lists 8 T maps templates to nodeset lists 9 P maps nodes to their parent nodeset 10 GenerateExprTable(G, E, P, look_ahead) 11 for i = 0 to min(backtrack+1, E.size) do 12 SelectTemplateMatches(E, T, P, i) 13 for each template t in T do 14 template_cost += GetCost(t,costfunc) 15 if template_cost > best_cost then 16 best_cost = template_cost 17 best_T = T 18 best_P = P 19 changes = true 20 BuildTemplates(G, best_T, best_P) Figure  STYLEREF 1 \s 7. SEQ Figure \* ARABIC \s 1 11. Pseudo-code for resource sharing. Backtracking prevents the algorithm from becoming trapped in suboptimal local minima as a result of ill-fated decisions. However, deep backtracking can dramatically increase the CPU time required for template extraction. Therefore, we have evaluated the relationship between look-ahead depth and gains in solution quality in order to determine the point of diminishing return. By selecting the ith best template expression first, we can evaluate how well the solution compares with optimality. For instance, with a backtracking value of 1, the best expression is chosen in the first iteration and second-best expression is chosen in the second iteration. Similarly, setting the backtracking value to infinity ("), although it is really bounded by the size of the expression table E, will evaluate the cost of implementing each template match first. In each iteration of the backtracking loop, we compare the cost of the resulting template table T to the best cost and update the values accordingly. Ultimately, the best table of templates is built. Experimental Results This section reports results on ten DSP benchmarks using the proposed resource sharing algorithm. The CDFGs were generated using the FREEDOM compiler, and were unrolled several times to increase the design complexity.  REF _Ref113184778 \h  \* MERGEFORMAT Table 7.1 presents the number of templates generated and the maximum template size for varying look-ahead and backtracking depths.  REF _Ref113184894 \h  \* MERGEFORMAT Table 7.2 presents the number and percentage resources reduced. The percentage resource reduction is the cost of the operations removed, less that required for implementing the templates.  REF _Ref119920364 \h Table 7.3 presents the total run time for the resource sharing with varying look-ahead and backtracking depth. In examining the template sizes and resource reduction for different look-ahead depths, there are apparent ambiguities in the results. These variations are likely due to the order in which templates are grown, which effects future template growth. Additionally, the templates did not include memory operations, which limited the maximum allowable coverage. It is interesting to note the number of templates generated decreased as the look-ahead depth increased. This is expected, since larger templates are discovered initially. However, we found that increasing the look-ahead depth caused an exponential growth in the size of the hash values, requiring O(2d) time for string matching. This explains the exponential increase in execution times with increased look-ahead depth. Overall, the results show quality gains saturate at look-ahead of approximately 3, with reduction in resource usage ranging from 40-80%. The last set in each table shows results for a backtracking depth of 10 to quantify the optimality of the algorithm. The results show that reduction in resource usage only varied within a 5% margin, indicating that our resource sharing algorithm produces efficient results, even using small, incremental template growth. Consequently, small, incremental template growth is preferable for resource sharing to obtain near-optimal results in reduced CPU time. Interestingly, when applying this resource sharing technique to a hardware implementation in an RTL model, the multiplexer and glue logic inserted by the logic synthesis tool for sharing the hardware resulted in poor quality gains. In fact, the added glue logic cost more than the overall benefit of removing the extraneous hardware, thus counteracting the affect of resource sharing. However, one can argue that this is the fault of the logic synthesis tool. In order to properly test this resource sharing algorithm in a hardware implementation, the FREEDOM compiler would need to be adapted to directly translate the CDFGs to structural hardware models (complete netlist of gates) for the target architecture instead of RTL models to be synthesized by third party tools. Table  STYLEREF 1 \s 7. SEQ Table \* ARABIC \s 1 1. Number of templates generated and maximum template sizes for varying look-ahead and backtracking depths.  LA = 1 LA = 3 LA = 5 LA = 7 LA = INFBT = 10 LA = INF Benchmark# TmplsMax Size# TmplsMax Size# TmplsMax Size# TmplsMax Size# TmplsMax Size# TmplsMax Sizedot_prod524418418418418418iir918648648648648648matmul_321024918618618618920gcd756555555555diffeq189893910910910910ellip432323232323laplace957575757575fir16tap924718518518518518fir_cmplx152112378378378371237sobel1381181113111310131113 Table  STYLEREF 1 \s 7. SEQ Table \* ARABIC \s 1 2. Number and percentage resources reduced with varying look-ahead and backtracking depth. Benchmark LA = 1 LA = 3 LA = 5 LA = 7 LA = INFBT = 10 LA = INFdot_prod20269.2%22075.3%22075.3%22075.3%22075.3%22075.3%iir53178.4%52076.8%52076.8%52076.8%52076.8%52076.8%matmul_3221961.3%23164.7%21459.9%21459.9%21459.9%22061.6%gcd5143.6%5143.6%4841.0%4841.0%4841.0%4841.0%diffeq16155.5%13345.9%14650.3%14650.3%14650.3%14650.3%ellip10464.6%10162.7%10162.7%10162.7%10162.7%10162.7%laplace22967.4%21563.2%21563.2%21563.2%21563.2%21563.2%fir16tap19761.8%21567.4%20865.2%20865.2%20865.2%20865.2%fir_cmplx51471.3%47465.7%50069.3%50069.3%50069.3%51871.8%sobel89479.2%87077.1%83774.1%86876.9%84674.9%84474.8%Table  STYLEREF 1 \s 7. SEQ Table \* ARABIC \s 1 3. Timing results in seconds for resource sharing with varying look-ahead and backtracking depth. Benchmark LA = 1 LA = 3 LA = 5 LA = 7 LA = INFBT = 10 LA = INFdot_prod3.64.85.99.023.731.5iir19.529.840.447.670.8120.6matmul_324.27.18.711.320.736.9gcd0.80.80.80.80.82.1diffeq4.47.39.017.323.631.4ellip1.61.61.81.91.93.2laplace6.58.411.915.220.831.3fir16tap4.96.37.39.717.529.3fir_cmplx25.136.845.365.7156.6231.2sobel38.349.454.054.948.0164.9 Summary This chapter presented a regularity extraction algorithm for resource sharing in CDFGs. We use a heuristic to dynamically grow templates based on a cost function and the frequency of reoccurring patterns, while applying backtracking and varying look-ahead depth to evaluate the trade off between solution quality and run time. Experimental results on ten benchmarks indicate that small, incremental template growth is preferable for resource sharing to obtain near-optimal results in reduced CPU time. Hardware-Software Partitioning of Software Binaries Partitioning plays an increasingly important role in the design process of hardware/software co-designs of embedded systems. The decisions of how and where to partition a design are crucial in obtaining optimal performance trade-offs. Often times, synthesis and simulation tools cannot handle the complexity of the entire system under development, or designers may want to concentrate on critical parts of a system to speed-up the design cycle. Thus, the present state of design technology often requires a partitioning of the system. Generally, designers will profile functions in an application to determine the bottlenecks in the design, or locate the portions of code that are the most computationally intensive portions in the design. These structures, which generally consist of entire procedures or loop structures, are usually selected to move to hardware in order to obtain performance speedups. Partitioning is usually performed at high levels of abstraction since it is usually easier to analyze the design structure. Partitioning software binaries poses a more complicated problem since the structures are not often identifiable, or they may be highly pipelined and cannot be easily partitioned. Sometimes the loop structures are too small and larger structures are required, or perhaps the designer may wish to move large blocks of sequential code to hardware instead. This chapter presents a general scheme for hardware/software partitioning of software binaries, in which structures are extracted from procedures at different levels in the design hierarchy. The structures are self-contained and can be optimized independently, moved to hardware as a stand-alone procedure, or implemented as part of a hardware/software co-design. Related Work There are many important aspects to design partitioning, some of which has been discussed by Johannes  REF _Ref113736078 \r \h [31]. Partitioning can be implemented on all different levels of granularity, generally at the functional or structural levels, and at different stages of a high-level synthesis process. In the early stages of design, partitioning can be more complicated as the critical decisions for optimal performance tradeoffs are often based on incomplete knowledge. Many researches have implemented partitioning at the FSM level. Feske et al.  REF _Ref113736060 \r \h [23] presented an approach for FSM partitioning and state encoding targeting FPGA architectures. Vahid et al.  REF _Ref113736116 \r \h [61] REF _Ref113736127 \r \h [62] showed that partitioning a design at the functional level can produce better I/O and size constraints than at the structural netlist level. Furthermore, partitioning a design before synthesis can yield an order of magnitude improvement in synthesis runtimes. Other work has shown that partitioning a design into smaller sections can be used to decrease power consumption. Chung et al.  REF _Ref113734356 \r \h [9] described work on partitioning of behavioral-level descriptions prior to scheduling and allocation, such that each partition is controlled by an independent gated clock, which can be turned off to reduce power consumption for the entire functional block. The optimality of the partition is defined in terms of area and power under a given global timing constraint, based on high-level estimations. Hwang et al.  REF _Ref113736069 \r \h [29] proposed a power reduction technique by partitioning an FSM, and then shutting down the inactive processes and datapaths to eliminate unnecessary switching activity. Venkataraman et al.  REF _Ref113736141 \r \h [64] described the GALLOP tool for FSM partitioning. Using a genetic algorithm they perform state assignment and partitioning simultaneously to reduce power consumption. Partitioning software binaries is often more complicated than partitioning a high-level application due to the lack of functional boundary information present in the design. Software binaries generally require coarse-grain partitioning first at the procedural level, or procedure extraction. Cifuentes and Simon  REF _Ref113736046 \r \h [13] have reported algorithms for identifying function calls from assembly programs using predefined procedure call interfaces. They further described a procedure abstraction language that can be used to specify the calling conventions for different architectures, and discuss how data flow analysis can be used to identify function arguments. Mittal et al.  REF _Ref112598615 \r \h [43] described a method of automatically extracting function bodies from linked software binaries using procedure-calling conventions along with limited control and data flow information. This work was incorporated as part of the FREEDOM compiler. There has been very little work reported on structural partitioning of software binaries at a fine-grain level. Most work reported focused on simple loop structures or the entire function  REF _Ref113727211 \r \h [10] REF _Ref112430457 \r \h [11] REF _Ref112430458 \r \h [12] REF _Ref112430596 \r \h [60] REF _Ref113727440 \r \h [59]. Our approach allows for both fine and course grain partitioning of software binaries at the procedural and structural levels. The partitioned kernels of the design can then be optimized individually, and selectively moved to hardware as a stand-alone procedure or as a hardware/software co-design. Structural Extraction This section introduces the concept of structural extraction as a means of partitioning software binaries for a hardware/software co-design. Structural extraction was implemented in the FREEDOM compiler as a means of extracting fine-grain and course-grain structures from MST procedures at different hierarchical levels. This includes loops, if-then-else blocks, etc. The designer is able to extract the identified structures using the GUI interface. The extracted structures are treated as independent procedures, and therefore can be easily optimized and moved to hardware. Input and output ports are automatically generated during the CDFG optimizations as described in Section  REF _Ref113788426 \r \h 5.2.1. Discovering Extractable Structures Structural extraction requires one to first identify those structures that are feasible for partitioning. A manual approach is often used to profile the design for computational bottlenecks. Alternatively, heuristics may be used to determine the best sections of code to move to hardware, such as those loops with the large code size. In our approach, we leave the structural selection to the designer. The objective here is to identify structures that can be partitioned within a maximum inter-procedural cut-size for data dependencies. As described earlier (Section  REF _Ref113788426 \r \h 5.2.1), we limit the cut-size of the I/O interface to the size of the number of physical registers in the source general-purpose processor architecture. Consequently, we do not allow virtual registers to cross inter-procedural boundaries.  REF _Ref113789521 \h Figure 8.1 describes the procedure Discover_Structures() for discovering structures to be extracted, whose inputs consist of an MST procedure, P, and a Boolean mapping, M, of each structure to signify if it is extractable. The procedure begins by generating a linearized CFG from the MST procedure, as described in  REF _Ref119916368 \r \h Chapter 4. Using the methods described in sections  REF _Ref113789947 \r \h 5.1.1 and  REF _Ref113789945 \r \h 5.1.2, reaching definitions are generated for data flow analysis, followed by structural analysis to generate a minimized structural graph. Discover_Extractable_Structures(), described in  REF _Ref113790340 \h Figure 8.2, is recursively called on the each structure in the hierarchical tree to determine if it may be extracted. A structure may only be extracted if no virtual register has data dependencies that cross the structural boundaries.  REF _Ref113790864 \h Figure 8.3 describes the procedure Can_Extract_Structure(), which utilizes data dependency analysis to identify such operands. The procedure iterates through the instructions in each basic block within the structure and checks that no virtual operand has data dependencies that exist outside the structure. A structure that contains inter-procedural virtual data dependencies may not be extracted independently from its parent structure. Discover_Structures( P, M ) 1 CFG = Build_CFG( P ) 2 Generate_Reaching_Definitions( CFG ) 3 SG = Structural_Analysis( CFG ) 4 struct_list = SG->GetStructures() 5 Discover_Extractable_Structures( CFG, M, struct_list ) 6 return SG Figure  STYLEREF 1 \s 8. SEQ Figure \* ARABIC \s 1 1. Procedure for discovering structures for extraction. Discover_Extractable_Structures( CFG, M, struct_list ) 1 for each structure s in struct_list do 2 if ( Can_Extract_Structure(CFG, s) ) then 3 M[ s ] = true 4 else 5 M[ s ] = false 6 Discover_Extractable_Structures(CFG, M, s->GetStructures()) Figure  STYLEREF 1 \s 8. SEQ Figure \* ARABIC \s 1 2. Recursive procedure for identifying extractable structures. Can_Extract_Structure( CFG, s ) 1 1 for each block b in s do 2 2 for each instruction i in block b do 3 3 for each virtual operand register r in i do 4 4 if r is has a definition outside of s then 5 5 return false 6 6 else if r has a use outside of s then 7 7 return false 8 8 return true Figure  STYLEREF 1 \s 8. SEQ Figure \* ARABIC \s 1 3. Procedure for determining if a structure can be extracted. An analysis of the algorithm in  REF _Ref113789521 \h Figure 8.1 requires O(n) for generating the CFG  REF _Ref119837232 \r \h [74] in line 1, as described in  REF _Ref119916368 \r \h Chapter 4. Generating the reaching definitions (DU-chains and UD-chains)  REF _Ref112431309 \r \h [44] in line 2 requires O(n2) in the number of instructions. In line 3, structural analysis requires O(b) time in the number of blocks using the graph minimization technique with depth first search  REF _Ref112431309 \r \h [44]. Discover_Extractable_Structures() in line 5 (see  REF _Ref113790340 \h Figure 8.2) recursively iterates through the structure hierarchy in the graph. At each level in the hierarchy, it iterates through all instructions within the structure to find any definition that crosses structural boundaries, as described in the function Can_Extract_Structure() in  REF _Ref113790864 \h Figure 8.3. Searching the DU-chains for definitions that cross structure boundaries has a worst case time complexity of O(n) for each structure. A worst case scenario results when each structure is composed of two structures in which one has a single instruction, requiring O(n2) time complexity to traverse the entire structure hierarchy. Consequently, the complete algorithm has a worst case time complexity of O(n2). Selecting Structures for Extraction Once the extractable structures in the procedure are identified, they may be selected for extraction manually using the GUI interface. A dialog box presents a tree model of the structural hierarchy in the procedure that can be explored. A structure (and its children) may be selected for extraction by clicking the checkbox next to it. However, the checkbox is disabled for structures that may not be extracted independently of its parent structure. While exploring the structures in the procedure, the window on right side presents useful information about the highlighted structure, such as the type (loop, if-then-else, etc.) and the number and percentage of operations within.  Figure  STYLEREF 1 \s 8. SEQ Figure \* ARABIC \s 1 4. GUI interface for selecting structures for extraction. Extracting Structures  REF _Ref113793099 \h Figure 8.5 describes a recursive procedure for extracting structures from a procedure. It takes as input the procedure P, a Boolean mapping M for each structure to be extracted, and struct_list, the current list of structures at each hierarchical level. If the map M returns true for a structure, it is extracted along with all its children. Otherwise, the function is recursively called on its children structures. Structures are extracted by replacing the basic blocks and instructions that lie within them with a call to a new procedure. The algorithm has a worst case run time complexity of O(s) in the number of structures. Extract_Structures( P, M, struct_list ) 1 for each structure s in struct_list do 2 if ( M[ s ] == true ) then 3 extract structure s from procedure P 4 else 5 Extract_Structures( P, M, s->GetStructures() ) Figure  STYLEREF 1 \s 8. SEQ Figure \* ARABIC \s 1 5. Recursive procedure fore extracting structures. In  REF _Ref113793621 \h Figure 8.6, the outer loop of the fir16tap procedure was extracted; instructions with PC values 0x0704 to 0x0770 have been replaced with the call instruction to the procedure fir16tap_struct_0.  REF _Ref113793957 \h Figure 8.7 describes the Verilog code for calling the fir16tap_struct_0 procedure from its parent in a FSM. The inputs and reset are set in the first state, and then it waits in the second state until the process is complete. In the third state the output values from the procedure are read. 22.00000000 0x00000700 L1: NOP(0,u') 0x00000000(s'32) 22.00100000 0x00000700 CALL(0,u') fir16tap_struct_0 23.00000000 0x00000700 GOTO(0,u') L4 64.00000000 0x00000774 L4: NOP(0,u') 0x00000000(s'32) Figure  STYLEREF 1 \s 8. SEQ Figure \* ARABIC \s 1 6. Extracted MST instructions replaced with a procedure call. FIR16TAP_FSM_PROCESS_STATE_1 : begin fir16tap_struct_0_instance_0_reset <= 1'b1; fir16tap_struct_0_instance_0_A10_IN <= SR3; fir16tap_struct_0_instance_0_A11_IN <= SR5; fir16tap_struct_0_instance_0_A2_IN <= SR9; fir16tap_struct_0_instance_0_A3_IN <= SR11; fir16tap_struct_0_instance_0_A4_IN <= SR13; fir16tap_struct_0_instance_0_A5_IN <= SR14; fir16tap_struct_0_instance_0_A6_IN <= SR17; fir16tap_struct_0_instance_0_A7_IN <= SR18; fir16tap_struct_0_instance_0_A8_IN <= SR20; fir16tap_struct_0_instance_0_A9_IN <= SR21; fir16tap_ctrl <= FIR16TAP_FSM_PROCESS_STATE_2; end FIR16TAP_FSM_PROCESS_STATE_2 : begin fir16tap_struct_0_instance_0_reset <= 1'b0; if (fir16tap_struct_0_instance_0_done == 1'b1) begin fir16tap_ctrl <= FIR16TAP_FSM_PROCESS_STATE_3; end else begin fir16tap_ctrl <= FIR16TAP_FSM_PROCESS_STATE_2; end end FIR16TAP_FSM_PROCESS_STATE_3 : begin SR0 <= fir16tap_struct_0_instance_0_A0_OUT; SR2 <= fir16tap_struct_0_instance_0_A1_OUT; SR9 <= fir16tap_struct_0_instance_0_A2_OUT; SR14 <= fir16tap_struct_0_instance_0_A3_OUT; SR15 <= fir16tap_struct_0_instance_0_A5_OUT; SR18 <= fir16tap_struct_0_instance_0_A7_OUT; SR21 <= fir16tap_struct_0_instance_0_A9_OUT; fir16tap_ctrl <= FIR16TAP_FSM_PROCESS_STATE_4; end Figure  STYLEREF 1 \s 8. SEQ Figure \* ARABIC \s 1 7. Verilog code for calling the extracted procedure in a FSM. Summary This chapter presented a fine-grain hardware/software partitioning scheme for software binaries at the structural level, such as loop bodies. While discovering structures for extraction, we minimize the cut size of the graph by only allowing partitioning of a structure that does not have any virtual registers with dependencies that cross the structure boundaries. Rather, only physical registers may have dependencies across structural boundaries. The extracted structures are therefore self-contained and can be optimized independently, or moved to hardware as a stand-alone procedure or in a hardware/software co-design. A Case Study: MPEG-4 This chapter presents a case study on the MPEG-4 (Motion Picture Encoding Group) video decoder, which was used as a means of quantifying the work presented in this dissertation. The MPEG-4 video decoder was originally available in C code and compiled for the TI C6211 DSP architecture. The software binary was translated to hardware using the FREEDOM compiler, targeting the Xilinx Virtex II FPGA. The following sections provide an overview of the MPEG-4 software architecture and a comparison of implementation results for the general-purpose processor and the FPGA architecture. Overview of the MPEG-4 Decoder The MPEG-4 standards began development in 1995, and is now composed of 16 parts, shown in  REF _Ref113268718 \h Table 9.1. The visual coding standard is detailed in part 2. In part 10, an advanced video codec (AVC) is described, which was added as a means of backwards compatibility for the older MPEG standards. The implementation described here is only concerned with the standard detailed in part 2. Each part in the standard is subdivided into profiles, which define different technology criteria. For instance, the simple profile operates on rectangular I-frames and P-frames, while the core profile also allows for B-frames. Within each profile are levels that define the scope or magnitude of the parameters within the profile, such as bit rate and typical frame size. The software architecture for the MPEG-4 video decoder used in this case study was implemented using the simple profile. The following subsections describe the software model for the decoder, as is illustrated in  REF _Ref113271618 \h Figure 9.1. Table  STYLEREF 1 \s 9. SEQ Table \* ARABIC \s 1 1. MPEG-4 standard. PartDescription1Systems2Visual3Audio4Conformance testing5Reference software6DMIF7Optimized software of MPEG-4 tools8MPEG-4 over IP networks9Reference hardware description10AVC11Scene description and application engine12ISO media file format13IP management and protection extensions14MP4 file format15AVC file format16AFX  Figure  STYLEREF 1 \s 9. SEQ Figure \* ARABIC \s 1 1. Software model for the MPEG-4 decoder. Parser The parser module is the front-end to the MPEG-4 decoder, in which the input byte stream is partitioned and decoded. The parser decodes visual object layer (VOL) headers for multi-layer streams and video object plane (VOP) headers for different frame types. The simple profile supports VOP headers made up of I-frames, which are intra-coded frames that do not use motion estimation, and P-frames, which are predictive-coded frame that use motion estimation based on the previously encoded frame. The frame data is organized into macroblocks. The I-frames macroblocks contain the texture data, while the P-frame macroblocks are composed of the motion vectors. A variable length decoder is used to decode both texture data and motion vectors. Texture Decoding The texture decoding module performs complete decoding of I-frames for intra-coded pictures. The texture decoding works on a block level (8x8) and is made of zigzag encoding, inverse quantization, AC/DC prediction, and Inverse Discrete Cosine Transform (IDCT). The software architecture for the textured decoding module is illustrated in  REF _Ref113278529 \h Figure 9.2. The values in parentheses are the total number of function calls in the procedure and the edge values are the number of calls to individual procedures.  Figure  STYLEREF 1 \s 9. SEQ Figure \* ARABIC \s 1 2. Software implementation for the texture decoding module. Motion Compensation The motion compensation module operates on macroblocks of P-frames. This module reconstructs frames based on motion vectors, which are added to the reference frame that is stored in the external memory. The reference frame is streamed into a buffer via the memory controller, and operations are performed on a block level (8x8). The software architecture for the motion compensation module is illustrated in  REF _Ref113278776 \h Figure 9.3.  Figure  STYLEREF 1 \s 9. SEQ Figure \* ARABIC \s 1 3. Software implementation for the motion compensation module. Reconstruction The reconstruction module combines the movement information carried by the decoded motion vector with the reference frame produced by the texture decoder. The resulting image is stored in the external memory and streamed out to video for viewing. Memory Controller The memory controller module provides the motion compensation module access to the external memory where the reference frame is stored. Additionally, the reconstructed frame is stored to the external memory via the memory controller. The software architecture for the memory controller module is illustrated in  REF _Ref113278995 \h Figure 9.4.  Figure  STYLEREF 1 \s 9. SEQ Figure \* ARABIC \s 1 4. Software implementation for the memory controller module. Display Controller The display controller module performs YUV to RBG conversion on the reconstructed frame. The RGB frame data is then streamed out to video. Experimental Results This section reports comparison of results for several modules in the MPEG-4 decoder software that were implemented on a general-purpose DSP and then translated and optimized for an FPGA architecture using the FREEDOM compiler. The MPEG-4 decoder modules chosen were the texture decoder, motion compensation, reconstruction, and memory controller. The parser and display controller modules were left out because their software implementations were highly integrated with file I/O functions that posed a problem in the hardware/software translation.  REF _Ref113281003 \h Table 9.2 compares the performance of the MPEG-4 decoder modules on the TI C6211 DSP and Xilinx Virtex II FPGA platforms. The first function listed for each module is the top-level function. Results indicate speedups between 14-67x in terms of cycles and 6-22x in terms of time for the FPGA implementation over that of the DSP. Table  STYLEREF 1 \s 9. SEQ Table \* ARABIC \s 1 2. Comparison of MPEG-4 decoder modules on DSP and FPGA platforms. TI C6211 DSPXilinx Virtex II FPGAFunctionAvg. CyclesFreq. (MHz)Time (s)Avg. CyclesFreq. (MHz)Time (s)Area (LUTs)Speedup (cycles)Speedup (time)Texture DecoderTextureIDCT275156300.0917.194088100.140.843602967.3122.46DCACreconstruct4860300.016.20132100.11.32*36.8212.29cal_dc_scaler71300.00.2412100.10.12*5.921.97inv_zigzag_dequant55198300.0183.991380100.113.79*40.0013.35BlockIDCT200654300.0668.852203100.122.01*91.0830.39Idctcol13980300.046.60224100.12.24*62.4120.82Idctrow10915300.036.3848100.10.48*227.4075.87Divi30300.00.1047100.10.47*0.640.21Remi22300.00.0746100.10.46*0.480.16Motion CompensateMotionCompBlock73447300.0244.825266124.542.30985113.955.79MotionCompensate71658300.0238.865245124.542.13*13.665.67translateAddress854300.02.8574124.50.59*11.544.79Remi14300.00.0546124.50.37*0.300.13Memory ControllercopyControl202294300.0674.315248107.648.77967538.5513.83updateBufferY65132300.0217.111705107.615.85*38.2013.70updateBufferChrom33588300.0111.96887107.68.24*37.8713.58Remi20300.00.0746107.60.43*0.430.16ReconstructionTextureUpdate34888300.0116.291348134.210.04578125.8811.58Summary This chapter presented a case study on the MPEG-4 video decoder in order to quantify the work presented in this dissertation. An overview of the MPEG-4 software architecture was provided. Comparison of implementation results for the TI C6211 DSP and the Xilinx Virtex II FPGA architectures show speedups between 14-67x in terms of cycles and 6-22x in terms of time for the FPGA implementation over that of the DSP. These results indicate the successfulness of the FREEDOM compiler in translating and optimizing even large software binary applications for FPGA architectures to obtain greater performances. Conclusions and Future Work Recent advances in embedded communications and control systems are pushing the computational limits of DSP applications. Often times, the performance of these complex applications is impeded due to limitations in the computational bandwidth of the processor. The conventional way to address the computational bottleneck has been to migrate sections of the application or its entirety to hardware as part of a hardware/software co-design system. However, the problem is much more complicated when implementing a hardware/software co-design from software binaries. The challenge in translating instructions from a fixed processor architecture to hardware is in undoing all the architecture-specific optimizations, and then exploiting the fine-grain parallelism in the design using a much larger number of functional units, embedded multipliers, registers and on-chip embedded memories. Summary of Contributions The contribution of this work is in developing a methodology for translating software binaries of general-purpose processors to hardware descriptions for FPGAs, and to evaluate the efficiency of such methods as compared to the performance of the general-purpose processor. Towards this effort, we have developed the FREEDOM compiler, which automatically translates DSP software binaries to hardware descriptions for FPGAs. The multiple levels of the compiler architecture were discussed in detail. We have presented our methodology for translating scheduled and pipelined software binaries to hardware and described an array of optimizations that were implemented in the FREEDOM compiler. The effects of these optimizations on performance were evaluated in terms of clock cycle count, frequency, and area. Through new techniques for balanced scheduling and operation chaining we have shown even greater improvements in performance. We employed methods of fine-grain and course-grain extractions of instructions to further improve design feasibility. Our resource sharing technique uses a method known as regularity extraction to generate templates of reoccurring patters in a design. The reoccurring patterns are then extracted and replaced with template calls in order to reduce resource utilization. Our structural extraction technique identifies different types of structures in a design, such as loops and if-then-else blocks. These structures can be extracted as separate procedures in functional hierarchy, allowing for partitioning of a design or implementation of a hardware/software co-design. These concepts outlined in this work were tested in a case study for an MPEG-4 decoder in which we compare performances between a DSP and an FPGA implementation. Results indicate speedups between 14-67x in terms of cycles and 6-22x in terms of time for the FPGA implementation over that of the DSP. Comparison with High-Level Synthesis Performances One may speculate that there is a loss of information when translating software binaries to hardware rather than from a high-level language. Alternatively, one might assume in order to obtain quality results the software binaries would need to be decompiled into a high-level language, such as C, and then use a behavioral synthesis tool to generate hardware. In order to test this hypothesis we took ten example benchmarks in C, and used the PACT compiler  REF _Ref113727135 \r \h [32] to generate a hardware implementation for the Xilinx Virtex II FPGA.  REF _Ref113856694 \h Table 10.1 shows the best performance results for the PACT compiler as compared to the best performance results for our FREEDOM compiler in terms of area, frequency and cycles. It is clear that the results of the two approaches are comparable. This validates our claim that one does not need to decompile software binaries or assembly code to a high-level language in order to obtain quality results. Rather, assembly and binary codes may be used as an intermediate language from any high-level language to generate an efficient hardware implementation. Consequently, results for the FREEDOM compiler show improvements of 3-22x in terms of clock cycles and 2-10x in terms of time over that of the DSP implementation. Table  STYLEREF 1 \s 10. SEQ Table \* ARABIC \s 1 1. Performance comparison between the TI C6211 DSP and the PACT and FREEDOM compiler implementations on the Xilinx Virtex II FPGA. BenchmarkDSPPACTFREEDOMCyclesFreqExec TimeCyclesAreaFreqExec TimeCyclesAreaFreqExec Timedot_prod12516300.041.73357244769.248.513541371130.110.4iir22987300.076.63010587398.430.642552837124.234.3matmul_32 1799064300.05996.9277703215570.23955.91345021832124.91076.9gcd268300.00.948322158.20.376283181.60.4diffeq2318300.07.779139669.41.11041259141.90.7ellip335300.01.1431222180.00.2571649147.70.4laplace74673300.0248.984671000078.2108.359193222130.745.3fir16tap113285300.0377.611520954769.71652.9176001458127.4138.1fir_cmplx72856300.0242.98499608357.9146.833163319101.132.8sobel127495300.0425.081418787357.61413.5245014458128.3191.0 Future Work The work presented in this dissertation has show great promise in high-level synthesis of software binaries. More optimizations are necessary to improve performance even further. For instance, most of the optimizations currently implemented in the compiler are local to a single basic block. Optimizations, such as inter-procedural constant propagation could significantly improve design performance by propagating constant inputs to procedures at compile time. This would allow other optimizations to effectively reduce the design complexity and allow for better aliasing. Additionally, FPGA designs are capable of larger throughput, but are often hindered due to the significant number of memory operations that originate from the source binaries. It would be of great advantage to optimize or further remove extraneous memory operations in order to allow more parallelism and throughput in the hardware implementations. Scheduling plays a particularly important role in high-level synthesis. Our new balanced scheduling and operation chaining methods are quite effective in increasing the overall frequency of the design. However, the current scheduling routines do not consider power or thermal effects for VLSI circuits. This is a crucial area of research that needs to be evaluated and integrated into the FREEDOM compiler when generating FPGA designs. Software pipelining is another important scheduling optimization that needs to be addressed which will have a significant impact on throughput performance. The FREEDOM compiler currently assumes a FIFO buffer for communication in a hardware/software co-design. It does not consider other communication methods. The architecture description language can be used as a means of interface co-synthesis for such applications. There is also a need for investigating the implementation of streaming interfaces for hardware designs. References W. Amme, P. Braun, F. Thomasset, and E. Zehendner, Data Dependence Analysis of Assembly Code, in International Journal of Parallel Programming, vol. 28, issue 5, 2000. V. Bala, E. Duesterwald, and S. Banerjia, Dynamo: A Transparent Dynamic Optimization System, in Proceedings for Conference on Programming Language Design and Implementation (PLDI), pp 1-12, June 2000. P. Banerjee, M. Haldar, A. Nayak, V. Kim, V. Saxena, S. Parkes, D. Bagchi, S. Pal, N. Tripathi, D. Zaretsky, R. Anderson, and J. R. Uribe, Overview of a Compiler for Synthesizing MATLAB Programs onto FPGAs, in IEEE Transaction on VLSI Systems, vol. 12, no. 3, pp 312-324, March 2004. U. Banerjee, Dependence Analysis for Supercomputers. Kluwer Academic Publishers, Norwell, MA, 1988. O. Bringmann, C. Menn, and W. Rosenstiel, Target Architecture Oriented High-Level Synthesis for Multi-FPGA Based Emulation, in Proceedings of the Conference on Design, Automation and Test in Europe, pp 326-332, Paris, France, 2000. T. Callahan, P. Chong, A. DeHon, J. Wawrzynek, Fast Module Mapping and Placement for Datapaths in FPGAs, in Proceedings of the 1999 ACM/SIGDA Seventh International Symposium on Field Programmable Gate Arrays, pp 123-132, Monterey, CA, 1998. D. Chen, J. Cong, and Y. Fan, Low-power high-level synthesis for FPGA architectures, in Proceedings of the 2003 International Symposium on Low Power Electronics and Design, pp 134-139, Seoul, Korea, 2003. A. Chowdhary, S. Kale, P. Saripella, N. Sehgal, and R. Gupta, A General Approach for Regularity Extraction in Datapath Circuits, in Proceedings of the 1998 IEEE/ACM International Conference on Computer-Aided Design, pp 332-339, San Jose, CA, Nov. 1998. K.-S. Chung, T. Kim, and C. I. Liu, Behavioral-Level Partitioning for Low Power design in Control-Dominated Applications, in Proceedings of the 10th Great Lakes Symposium on VLSI, pp 156-161, Chicago, Illinois, 2000. C. Cifuentes and K. Gough, A Methodology for Decomposition, in Proceedings for XIX Conferencia Latinoamericana de Informatica, pp 257-266, Buenos Aires, Argentina, 1993. C. Cifuentas and V. Malhotra, Binary Translation: Static, Dynamic, Retargetable? in Proceedings for the International Conference On Software Maintenance (ICSM), pp 340-349, Monterey, CA, 1996. C. Cifuentes, D. Simon, and A. Fraboulet, Assembly to High-Level Language Translation, in Proceedings of the International Conference on Software Maintenance (ICSM), pp 228-237, Washington, DC, 1998. C. Cifuentes and D. Simon, Procedure Abstraction Recovery from Binary Code, in Proceedings of the Conference on Software Maintenance and Reengineering, pp 55-64, 2000. K. Cooper, T. Harvey, and T. Waterman, Building a Control-Flow Graph from Scheduled Assembly Code, Technical Report 02-399, Department of Computer Science, Rice University, Houston, TX, 2002. G. De Micheli, D. C. Ku, F. Mailhot, and T. Truong, The Olympus Synthesis System for Digital Design, in IEEE Design and Test Magazine, pp 3753, October 1990. G. De Micheli, Synthesis and Optimization of Digital Circuits. McGraw Hill, 1994. G. De Micheli and R. K. Gupta, Hardware/Software Co-Design, in Proceedings of the IEEE, vol. 85, no. 3, pp 349365, Mar. 1997. B. Decker and D. Kstner, Reconstructing Control Flow from Predicated Assembly Code, in Proceedings of the 7th International Workshop on Software and Compilers for Embedded Systems, pp 81-100, Vienna, Austria, 2003. J. Dehnert, B. Grant, J. Banning, R. Johnson, T. Kistler, A. Klaiber, and J. Mattson, Dynamic translation: The Transmeta Code Morphing"! Software: using speculation, recovery, and adaptive retranslation to address real-life challenges, in Proceedings of the International Symposium on Code Generation and Optimization (CGO), pp 15-24, March 2003. W. E. Dougherty and D. E. Thomas, Unifying behavioral synthesis and physical design, in Proceedings of the 37th Conference on Design Automation, pp 756-761, Los Angeles, CA, 2000. C. Ebeling and O. Zajicek, Validating VLSI Circuit Layout by Wirelist Comparison, in Proceedings of the IEEE International Conference on Computer Aided Design, pp 172-173, 1983. R. Ernst, Codesign of Embedded Systems: Status and Trends, in IEEE Design & Test of Computers, vol. 12, pp 4554, Apr. 1998. K. Feske, S. Mulka, M. Koegst, and G. Elst, Technology-Driven FSM Partitioning for Synthesis of Large Sequential Circuits Targeting Lookup-Table Based FPGAs, in Proceedings of the 7th International Workshop on Field-Programmable Logic and Applications, pp 235-244, 1997. Z. Gu, J. Wang, R. Dick, and H. Zhou, Incremental exploration of the combined physical and behavioral design space, in Proceedings of the 42nd Annual Conference on Design Automation, pp 208-213, San Diego, California, 2005. Y. Guo, G. Smit, H. Broersma, and P. Heysters, A Graph Covering Algorithm for a Coarse Grain Reconfigurable System, in Proceedings of the 2003 ACM SIGPLAN Conference on Language, Compiler, and Tool for Embedded Systems, pp 199-208, San Diego, CA, June 2003. R. Gupta and G. De Micheli, Hardware-Software Co-Synthesis for Digital Systems, in IEEE Design & Test of Computers, vol. 10, pp. 2941, Sept. 1993. M. Gschwind, E. Altman, S. Sathaye, P. Ledak, and D. Appenzeller, Dynamic and Transparent Binary Translation, in IEEE Computer Magazine, vol. 33, no. 3, pp 54-59, March 2000. M. Haldar, A. Nayak, A. Choudhary, and P. Banerjee, A System for Synthesizing Optimized FPGA Hardware from MATLAB, in Proceedings of the International Conference on Computer Aided Design (ICCAD), pp 314-319, San Jose, CA, Nov. 2001. E. Hwang, F. Vahid, and Y.-C. Hsu, FSMD Functional Partitioning for Low Power, in Proceedings of the Conference on Design, Automation and Test in Europe, pp 22-28, Munich, Germany, 1999. T. Jiang, X. Tang, and P. Banerjee, Macro-models for high level area and power estimation on FPGAs, in Proceedings of the 14th ACM Great Lakes symposium on VLSI, pp 162-165, Boston, MA, Apr. 2004. F. Johannes, Partitioning of VLSI Circuits and Systems, in Proceedings of the 33rd Annual Conference on Design Automation, pp 83-87, Las Vegas, NV, 1996. A. Jones, D. Bagchi, S. Pal, X. Tang, A. Choudhary, and P. Banerjee, PACT HDL: a C compiler targeting ASICs and FPGAs with power and performance optimizations, in Proceedings of the International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, pp 188-197, Grenoble, France, Oct. 2002. D. Kstner and S. Wilhelm, Generic Control Flow Reconstruction from Assembly Code, in Proceedings of the Joint Conference on Languages, Compilers and Tools for Embedded Systems (LCTES), vol. 37, issue 7, pp 46-55, Berlin, Germany, June 2002. R. Kastner, S. Memik, E. Bozorgzadeh, M. Sarrafzadeh, Instruction Generation for Hybrid Reconfigurable Systems, in ACM Transactions on Design Automation of Electronic Systems (TODAES), vol. 7, issue 4, pp 605-627, Oct. 2002. D. Kerns and S. Eggers, Balanced Scheduling: Instruction Scheduling when Memory Latency is Uncertain, in ACM SIGPLAN Notices, vol. 39, issue 4, pp 515-527, Apr. 2004. C. Kruegel, W. Robertson, F. Valeur, and G. Vigna, Static Disassembly of Obfuscated Binaries, in Proceedings of USENIX Security 2004, pp 255-270, San Diego, CA, 2004. G. Lakshminarayana and N. Jha, Synthesis of Power-Optimized Circuits from Hierarchal Behavioral Descriptions, in Proceedings of the 35th Annual Conference on Design Automation, pp 439-444, San Francisco, CA, 1998. B. Levine and H. Schmidt, Efficient Application Representation for HASTE: Hybrid Architectures with a Single Executable, in Proceedings of the 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, pp 101-107, Napa, CA, 2003. S. O. Memik, G. Memik, R. Jafari, E. Kursun, Global Resource Sharing for Synthesis of Control Data Flow Graphs on FPGAs, in Proceedings of the 40th Conference on Design Automation, pp 604-609, Anaheim, CA, 2003. Y. Li, T. Callahan, E. Darnell, R. Harr, U. Kurkure, and J. Stockwood, Hardware-Software Co-Design of Embedded Reconfigurable Architectures, in Proceedings of the 37th Conference on Design Automation, pp 507-512, Los Angeles, CA, 2000. G. Mittal. A Compiler Infrastructure for Compiling Assembly and Binary Programs onto FPGAS. Ph.D. Dissertation, Northwestern University, Evanston, IL, Aug. 2004. G. Mittal, D. Zaretsky, X. Tang, and P. Banerjee, Automatic Translation of Software Binaries onto FPGAs, in Proceedings of the 41st Annual Conference on Design Automation, pp 389-394, San Diego, CA, 2004. G. Mittal, D. Zaretsky, G. Memik, and P. Banerjee, Automatic Extraction of Function Bodies from Software Binaries, in Proceedings for the IEEE/ACM Asia and South Pacific Design Automation Conference (ASPDAC), Beijing, China, 2005. S. Muchnick, Advanced Compiler Design Implementation. Morgan Kaufmann Publishers, San Francisco, CA, 1997. R. Mukherjee, S. O. Memik, and G. Memik, Temperature-aware resource allocation and binding in high-level synthesis, in Proceedings of the 42nd Annual Conference on Design Automation, pp 196-201, San Diego, CA, 2005. E. Musoll and J. Cortadella, High-level Synthesis Techniques for Reducing the Activity of Functional Units, in Proceedings of the International Symposium on Low Power Design, pp 99-104, Dana Point, CA, 1995. A. Nayak, M. Haldar, A. Choudhary, and P. Banerjee, Accurate Area and Delay Estimators for FPGAs, in Proceedings of the Conference on Design, Automation and Test in Europe, pp 862-869, Mar. 2002. M. Nemani and F. Najm, Delay Estimation of VLSI Circuits from a High-Level View, in Proceedings of the 35th Annual Design Automation Conference, pp 591-594, San Francisco, CA, June 1998. M. Nourani and C. Papachristou, False Path Exclusion in Delay Analysis of RTL-Based Datapath-Controller Designs, in Proceedings of the Conference on European Design Automation, pp 336-341, Geneva, Switzerland, Sept. 1996. P. Paulin and J. Knight, Force-Directed Scheduling for the Behavioral Synthesis of ASICs, in IEEE Transactions on Computer-Aided Design, vol. 8, no. 6, pp 661-679, June 1989. P. Paulin and J. Knight, Scheduling and Binding Algorithms for High-Level Synthesis, in Proceedings of the Design and Automation Conference, pp 1-6, Las Vegas, NV, June 1989. S. Peng, D. Fang, J. Teifel, and R. Manohar, Automated synthesis for asynchronous FPGAs, in Proceedings of the 2005 ACM/SIGDA 13th International Symposium on Field-Programmable Gate Arrays, pp 163-173, Monterey, CA, 2005. M. Poletto and V. Sarkar, Linear Scan Register Allocation, in ACM Transactions on Programming Languages and Systems, vol. 21, no. 5, pp. 895-913, Sept. 1999. N. Ramsey and M. Fernandez, New Jersey Machine-Code Toolkit, in Proceedings of the 1995 USENIX Technical Conference, pp 289-302, New Orleans, LA, 1995. N. Ramsey and M. Fernandez, Specifying Representations of Machine Instructions, in ACM Transactions on Programming Languages and Systems (TOPLAS), vol. 19, issue 3, pp 492-524, New York, NY, 1997. D. Rao and F. Kurdahi, Partitioning by Regularity Extraction, in Proceedings of the Design and Automation Conference, pp 235-238, Anaheim, CA, July 1992. A. Srinivasan, G. Huber, and D. LaPotin, Accurate Area and Delay Estimations from RTL Descriptions, in IEEE Transactions on VLSI Systems, vol. 6, no. 1, pp 168-180, March 1998. A. Stammermann, D. Helms, M. Schulte, A. Schulz, and W. Nebel, Binding, Allocation and Floorplanning in Low Power High-level Synthesis, in Proceedings of the 2003 IEEE/ACM International Conference on Computer-Aided Design, pp 544-550, 2003. G. Stitt and F. Vahid, Dynamic Hardware/Software Partitioning: A First Approach, in Proceedings of the Design Automation Conference, pp 250-255, Anaheim, CA, 2003. G. Stitt and F. Vahid, Hardware/Software Partitioning of Software Binaries, in Proceedings of the International Conference of Computer Aided Design (ICCAD), pp 164-170, Santa Clara, CA, 2002. F. Vahid, T. Le, and Y.-C. Hsu, A Comparison of Functional and Structural Partitioning, in Proceedings of the 9th International Symposium on System Synthesis, pp 121-126, 1996. F. Vahid, T. Le, and Y.-C. Hsu, Functional Partitioning Improvements Over Structural Partitioning for Packaging Constraints and Synthesis: Tool Performance, in ACM Transactions on Design Automation of Electronic Systems, vol. 3, issue 2, pp 181-208, April 1998. K. S. Vallerio and N. K. Jha, Task Graph Extraction for Embedded System Synthesis, in Proceedings of the International Conference on VLSI Design, pp 480-486, Jan. 2003. G. Venkataraman, S. Reddy, and I. Pomeranz, GALLOP: Genetic Algorithm Based Low Power FSM Synthesis by Simultaneous Partitioning and State Assignment, in Proceedings of the 16th International Conference on VLSI Design, pp 533-538, Jan. 2003. W. Verhaegh, P. Lippens, E. Aarts, J. Korst, A. Werf, and J. Meerbergen, Efficiency Improvements for Force-Directed Scheduling, in Proceedings of the 1992 IEEE/ACM International Conference on Computer-Aided Design, pp 286-291, Nov. 1992. T. Villa, T. Kam, R. Brayton, and A. Sangiovanni-Vincentelli, Explicit and Implicit Algorithms for Binate Covering Problems, in IEEE Transactions on Computer-Aided Design, vol. 16, pp 677-691, July 1997. W. Wolf, A. Takach, C.-Y. Huang, R. Manno, and E. Wu, The Princeton University Behavioral Synthesis System, in Proceedings of the 29th ACM/IEEE Conference on Design Automation, pp 182-187, Anaheim, CA, 1992. W. H. Wolf, An architectural Co-Synthesis Algorithm for Distributed, Embedded Computing Systems, in IEEE Transactions on VLSI Systems, vol. 5, pp 218229, June 1997. Y. Xie and W. Wolf, Co-Synthesis with Custom ASICs, in Proceedings of the IEEE/ACM Asia and South Pacific Design Automation Conference, pp 129-134, Yokohama, Japan, 2000. Y. Xie and W. Wolf, Allocation and Scheduling of Conditional Task Graph in Hardware/Software Co-Synthesis, in Proceedings of the Conference on Design, Automation and Test in Europe, pp 620625, Mar. 2001. M. Xu and F. Kurdahi, Area and Timing Estimation for Lookup Table Based FPGAs, in Proceedings of the 1996 European conference on Design and Test, pp 151-157, Mar. 1996. Z. Ye, A. Moshovos, S. Hauck, and P. Banerjee, CHIMAERA: A High-Performance Architecture with a Tightly-Coupled Reconfigurable Functional Unit, in Proceedings of the 27th International Symposium on Computer Architecture, pp 225-235, Vancouver, Canada, 2000. D. Zaretsky, G. Mittal, R. Dick, and P. Banerjee, Dynamic Template Generation for Resource Sharing in Control and Data Flow Graphs, in Proceedings of the International Conference on VLSI Design, Hyderabad, India, Jan. 2006. D. Zaretsky, G. Mittal, R. Dick, and P. Banerjee, Generation of Control and Data Flow Graphs from Scheduled and Pipelined Assembly Code, in Proceedings of the 18th International Workshop on Languages and Compilers for Parallel Computing, Hawthorne, NY, Oct. 2005. D. Zaretsky, G. Mittal, X. Tang, and P. Banerjee, Overview of the FREEDOM Compiler for Mapping DSP Software to FPGAs, in Proceedings of the 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, pp 37-46, Napa, CA, 2004. D. Zaretsky, G. Mittal, X. Tang, and P. Banerjee, Evaluation of scheduling and allocation algorithms while mapping assembly code onto FPGAs, in Proceedings of the 14th ACM Great Lakes symposium on VLSI, pp 397400, Boston, MA, 2004. Y. Zibin, J. Gil, and J. Considine, Efficient Algorithms for Isomorphisms of Simple Types, in Proceedings of the 30th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp 160-171, New Orleans, LA, Jan. 2003. Appendix A MST Grammar Design <= Design Design_Name { Symbol_Table {Procedure} [{Function}] [{Library}] } Symbol_Table <= {Symbol_Declaration} Symbol_Declaration <= register Register_Name [Precision] (signed | unsigned) [virtual] Procedure <= Procedure Procedure_Name { {Instruction} } Function <= Function Function_Name { {Instruction} } Library <= Library Library_Name {} Instruction <= Reference_Line Timestep PC [Label:] [Predicate] Operator [SRC1_Operand,] [SRC2_Operand,] [DST_Operand] Predicate <= [[!]Operand] Operator <= (Logical_Operator | Arithmetic_Operator | Branch_Operator | Assignment_Operator | Compare_Operator | General_Operator) (Delay, Sign) Logical_Operator <= AND | NAND | NOR | NOT | OR | SLL | SRA | SRL | XNOR | XOR Arithmetic_Operator <= ADD | DIV | MULT | SUB | NEG Branch_Operator <= BEQ | BGEQ | BGT | BLEQ | BLT | BNEQ | CALL | GOTO | JMP Assignment_Operator <= LD | MOVE | ST | UNION Compare_Operator <= CMPEQ | CMPNE | CMPGT | CMPGE | CMPLT | CMPLE General_Operator <= NOP Operand <= (Immediate | Register | Memory | Label) Immediate <= value (Sign Precision) Register <= Register_Name [BitRange] Memory <= *[Address_Operand [+ Offset_Operand]] [BitRange] Label <= Label_Name Name <= string BitRange <= [(integer | integer:integer)] Timestep <= double Delay <= integer Reference_Line <= integer PC <= value Precision <= integer value <= hexadecimal Sign <= u | s Appendix B HDL Grammar design <= {entity} entity <= entity entity_name() port_symbol_table global_symbol_table {component} {process} end entity component <= component component_name() component_symbol_table {component_instance} end component component_instance <= component_name : instance_name ( {port_connection} ) port_connection <= port_symbol <= expression process <= process process_name ({symbol_name[,]}) [local_symbol_table] {statement} end process comment <= // comment_string statement <= assignment_statement | if_statement | switch_statement | case_statement | set_statement | read_statement | write_statement | report_statement | for_loop | while_loop | fsm | state assignment_statement <= variable (<=|:=) expression if_statement <= if ( expression ) {statement} [ else {statement} ] end switch_statement <= switch ( expression ) {case_statement} end switch case_statement <= (case expression | default) : {statement} end case set_statement <= variable (<=|:=) expression ? expression : expression read_statement <= variable (<=|:=) memory write_statement <= memory (<=|:=) expression report_statement <= report( report_string {, expression} ) null_statement <= NULL for_loop <= for ( statement; expression; assignment_statement ) {statement} end while_loop <= while ( expression ) {statement} end fsm <= fsm ( control_var_name ) {state} end fsm state <= state state_id : {statement} end state state_id <= integer | idle | init | done | reset | default operator <= binary_operator | unary_operator binary_operator <= logical_operator | shift_operator | arithmetic_operator | relational_operator logical_operator <= and | or | xor | nand | nor | xnor | & shift_operator <= SLL | SRL | SRA arithmetic_operator <= + | - | * | \ | % relational_operator <= == | != | < | <= | > | >= unary_operator <= - | ~ expression <= binary_expression | unary_expression | function_call | primary | (expression) binary_expression <= expression binary_operator expression unary_expression <= unary_operator expression function_call <= [$]function_name({expression[,]}) primary <= variable | memory | number | z name <= {[A-Za-z0-9_]} variable <= symbol_name [range] memory <= symbol_name [expression] [range] number <= precision[sign]binary_value | precision[sign]octal_value | precision[sign]decimal_value | precision[sign]hexidecimal_value binary_value <= b{0-1} octal_value <= o{0-7} decimal_value <= d[+|-]{0-9} hexadecimal_value <= h{0-9a-fA-F} z <= precision[sign][b|d|o|h]{z|Z|x|X} precision <= integer sign <= s | u | signed | unsigned range <= [integer] | [integer:integer] symbol_table <= {symbol_declaration} symbol_declaration <= variable_declaration | array_declaration | port_declaration variable_declaration <= symbol_type sign value_type [register] [sensitive] range symbol_name array_declaration <= variable_declaration range port_declaration <= io_type array_declaration symbol_type <= signal | variable | constant value_type <= integer | decimal | binary | octal | hexadecimal io_type <= input | output | inout Appendix C Verilog Simulation Testbench `timescale 1 ps / 1 ps module testbench(); parameter clock_high = 50000, clock_low = 50000; reg [0:0] clock; reg [0:0] reset; wire [0:0] done; reg [31:0] tb_data_out; wire [0:0] ACK; wire [31:0] Errors; wire [0:0] EOF; reg [0:0] EOS = 0; reg [0:0] Action = 0; wire [31:0] mem_d; wire [31:0] mem_q; wire [9:0] mem_addr; wire mem_we; integer i, j; // main procedure module main main_func ( .clock( clock ), .reset( reset ), .done( done ), .mem_d(mem_d), .mem_addr(mem_addr), .mem_we(mem_we), .mem_q(mem_q) ); // memory module RAM_1024x32 RAM_1024x32_instance_0 ( .clock(clock), .d(mem_d), .addr(mem_addr), .we(mem_we), .q(mem_q) ); // file I/O module file_out file_outdata ( .reset( reset ), .action( Action ), .eos( EOS ), .data( tb_data_out ), .errors( Errors ), .acknowledge( ACK ), .eof( EOF ) ); // clock process always begin : clock_process clock = #clock_low 1'b1; clock = #clock_high 1'b0; end // reset process always begin : reset_process $write( "@ %0t: beginning simulation...\n", $time ); reset = 1'b1; @(posedge clock); @(negedge clock); reset = 1'b0; @(posedge done); @(posedge clock); @(negedge clock); wait( 0 ); end // interrupt process always @(posedge done) begin @(posedge clock); @(negedge clock); @(posedge clock); $write( "@ %0t: simulation completed.\n", $time ); $write( "Total simulation cycle count: %0d\n\n", $time/(clock_high+clock_low) ); // write memory data to file for ( j=0; j<1024; j=j+1 ) begin Action <= 1; tb_data_out = RAM_1024x32_instance_0.mem[j]; @(posedge ACK) @(posedge clock); Action <= 0; @(negedge ACK); @(negedge clock); end EOS <= 1; $stop; end // memory initialization initial begin for ( i=0; i<1024; i=i+1 ) begin RAM_1024x32_instance_0.mem[i] = 0; end $readmemh("mem.txt", RAM_1024x32_instance_0.mem ); end endmodule module file_out( reset, action, acknowledge, eof, eos, errors, data ); parameter filename = "output_tb.txt"; parameter precision = 32; parameter resolution = 0; input reset; input action; input eos; input signed [precision+resolution-1:0] data; output [31:0] errors; output reg acknowledge = 0; output reg eof = 1; integer lineno; integer final_errors = 0; integer writer_errors = 0; assign errors = final_errors + writer_errors; integer f, v, r; reg open_file = 0; reg [1024*8:1] fn; always @(posedge reset) begin $fclose( f ); acknowledge <= 0; @(negedge reset); f = $fopen( filename, "w" ); if ( f == 0 ) begin $write( "ERROR: failed to open output file: %0s\n", fn ); $stop; end end always @(posedge eos) begin $fclose( f ); end always @( posedge action ) begin if ( reset == 0 && eos == 0 ) begin $fwrite( f, "%0x\n", data ); end acknowledge <= 1; @(negedge action); acknowledge <= 0; end endmodule PAGE x  PAGE 136  PAGE ix  PAGE 166  PAGE 141 z8IJ=?Q,-VWXYZvwxyžŶžݥžŝžݏj>*B*UphjwUj>*B*UphaJj}U jUj>*B*UphCJmHnHu0J j0JU;CJ OJQJ^J;CJ$CJ$CJ CJ<8:[z{|}~2347& !$a$78JKLMNabpqrstuvwxyz{|}~$a$#[$\$$a$=>?QRS/ 0 A B C D XMN $a$+,-GHIJKLMNOklmn|}~,-.HIJKLMN 5\aJj_U0JaJ j>*B*UphjeUj>*B*UphjkUj>*B*UphaJ j0JUjqU jU0J:NOPlmnors!"#$%&'()EFGHKLmnoj>*B*UphjMUj>*B*UphjSUj>*B*UphjYU jUaJj>*B*Uph0J j0JU<'H!{d&Nv7HQT     %&'ABCEFGHIJfghitvwj5 >*B*Uphj Uj; >*B*Uph0JaJ j >*B*UphjA Uj >*B*Uph j0JUjG U jUaJ0J: !"#?@ABEFXYZtuvxyz{|}  *+0JaJ j#>*B*UphjUj)>*B*Uphj Uj/ >*B*Uphj U jUaJ0J j0JU<+,-ABC]^_abcdef !#$%&'(DEFGLMbcd~j>*B*UphjUj>*B*UphjUj>*B*UphaJjU jU0J j0JUj>*B*Uph<~  +,-GHIKLMNOPlmnotujUj|>*B*UphjUaJj>*B*UphjUj>*B*Uph0J j0JU jUj U> %&'(-.STUopqstuvwxjd>*B*UphjUaJjj>*B*UphjUjp>*B*UphjU jU j0JUjv>*B*Uph0J<012456789UVWX]^mno%&'ABCEFGjUjR>*B*UphjUaJjX>*B*UphjUj^>*B*Uph j0JUjU jU0J?GHIJfghino !"#&'./0JKLNOPQRSopqj: >*B*UphjUj@>*B*UphjUjF>*B*UphjU jUjL>*B*Uph0J j0JUaJ*B*Uphj."Uj!>*B*UphaJj4!U jUj >*B*Uph0J0JaJ j0JU: !"#$%ABCDIJdef9:j&>*B*Uphj&Uj%>*B*Uphj%Uj$>*B*Uphj"$U jUaJ0J j0JUj#>*B*Uph<#\3 x!!*"""N##!$$$@%%%b&&'''B(( :;UVWYZ[\]^z{|}   , - . 0 1 2 3 4 5 Q R S T W X l m n j)Uj)>*B*Uphj)UaJj(>*B*Uphj (Uj'>*B*Uph0J j0JUj'U jU? ! ! !)!*!+!,!U!V!W!q!r!s!u!v!w!x!y!z!!!!!!!!!!!!!!!!!ji-Uj,>*B*Uphjo,Uj+>*B*Uph0JaJ ju+>*B*Uphj*U jUaJ j0JUj{*>*B*Uph0J:!!!!!!!!!"" "#"$"%"'"(")"*"+","H"I"J"K"P"Q"e"f"g""""""""""""""""""""""""""""####j0>*B*UphjW0UaJj/>*B*Uphj]/Uj.>*B*Uphjc.U jUj->*B*Uph0J j0JU<## #+#,#-#G#H#I#K#L#M#N#O#P#l#m#n#o#t#u#####################$$$$$$ $!$"$#$?$@$A$B$G$H$i$j$k$$$$$$j?4Uj3>*B*UphjE3Uj2>*B*UphjK2Uj1>*B*Uph j0JUjQ1U jU0J@$$$$$$$$$$$$$$$$$$$$$$$%%%% % %%%%9%:%;%=%>%?%@%A%B%^%_%`%a%f%g%{%|%}%%%%%%%%%%%%%j7>*B*Uphj-7Uj6>*B*Uphj36Uj5>*B*Uphj95U jUj4>*B*Uph0J j0JU=%%%%%%%%%%%%%%%%&&&& &!&?&@&A&[&\&]&_&`&a&b&c&d&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''j;Uj:>*B*Uphj:Uj9>*B*Uphj!9Uj8>*B*Uphj'8U jU0J j0JU@''''''6'7'8'9'?'@'c'd'e''''''''''''''''''''''''''''(((( ( (( (!(;(<(=(?(@(A(B(C(D(`(a(b(߫j>>*B*Uphj>Uj=>*B*Uphj =Uj<>*B*Uphj<Uj;>*B*Uph0J j0JU jU>b(c(i(j((((((((((((((((((((((((((((((())))#)$)7)8)9)S)T)U)W)X)Y)Z)[)\)x)y)z){)~)))))))jAUaJjnA>*B*Uphj@Ujt@>*B*Uphj?Ujz?>*B*Uphj>U jU0J j0JU>((Z))***/+++F,,,t--*...D///e00'1w12q22<3 )))))))))))))))))))*******#*$*%*&*1*3*4*P*Q*R*S*]*^*_*y*z*{*}*~***************jD>*B*Uphj\DUjC>*B*Uph0JaJ jbC>*B*UphjBUjhB>*B*Uph0JaJ j0JU jU:*************** + ++(+)+*+,+-+.+/+0+1+M+N+O+P+S+T+e+f+g++++++++++++++++++++++++++++jDHUjG>*B*UphjJGUjF>*B*UphjPFUjE>*B*Uph0JaJ j0JU jUjVEU>++,,,,,#,$,%,?,@,A,C,D,E,F,G,H,d,e,f,g,j,k,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----jK>*B*Uphj2KUjJ>*B*Uphj8JUaJjI>*B*Uphj>IU jU j0JUjH>*B*Uph0J:-- -!-=->-?-@-P-Q-R-l-m-n-q-r-s-t-u-v-------------------------...".#.$.'.(.).*.+.,.H.I.J.jO>*B*UphjNUj N>*B*UphjMUj&M>*B*UphaJjLU jUj,L>*B*Uph0J j0JU0JaJ :J.K.P.Q.g.h.i............................//// // /!/"//A/B/C/D/E/F/b/c/d/e/j/k/|/}/~/////jRUjR>*B*UphjQUjQ>*B*UphjPUjP>*B*UphjOU jU0J j0JU@///////////////////////00000$0%0A0B0C0]0^0_0b0c0d0e0f0g0000000000000000000000߫jU>*B*UphjsUUjT>*B*UphjyTUjS>*B*UphjSUjS>*B*Uph0J j0JU jU>00001111 1!1$1%1&1'1(1)1E1F1G1H1K1L1S1T1U1o1p1q1t1u1v1w1x1y111111111111111222222222:2;2jXUjaX>*B*Uph0JaJ jW>*B*UphjgWUjV>*B*UphjmVU jUaJ0J j0JU:;2<2=2@2A2M2N2O2i2j2k2n2o2p2q2r2s222222222222222222222222233343536393:3;3<3=3>3Z3[3\3]3b3c333jI\>*B*Uphj[UjO[>*B*UphjZUjUZ>*B*UphjYU jUaJ0J j0JUj[Y>*B*Uph<3333333333333333333344444 4 4 4 4(4)4*4+4.4/4647484R4S4T4W4X4Y4Z4[4\4x4y4z4{444444444j_>*B*Uph0JaJ j7_>*B*Uphj^UaJj=^>*B*Uphj]UjC]>*B*Uph0J j0JUj\U jU:<33 4Z44G555Q667c77889{99::;;;;J<<@== n!  444444444444445555#5$5%5?5@5A5D5E5F5G5H5I5e5f5g5h5m5n5t5u5v5555555555555555555555555jcUjb>*B*Uphj%bUja>*B*Uphj+aUj`>*B*Uph0JaJ j0JUj1`U jU>5555666666-6.6/6I6J6K6N6O6P6Q6R6S6o6p6q6r6w6x6666666666666666666666667777777$7%7&7'7jf>*B*Uphj fUje>*B*UphjeUjd>*B*UphjdU jUjc>*B*Uph0J j0JU='7,7-7?7@7A7[7\7]7`7a7b7c7d7e77777777777777777777777777778 8 8 888888.8/80818=8?8@8\8]80JaJ jxi>*B*UphjhUj~h>*B*UphjhUaJjg>*B*Uph j0JUjgU jU0J;]8^8_8z8{8|888888888888888888888888899999 9!9%9&9W9X9Y9s9t9u9x9y9z9{9|9}99999999999jl>*B*UphjflUjk>*B*UphjlkUjj>*B*UphaJjrjU jU0J j0JUji>*B*Uph<9999999999999999::::::: :!:=:>:?:@:L:N:O:k:l:m:n:y:z:{:::::::::::::::::::jNp>*B*UphjoUjTo>*B*Uph0JaJ jn>*B*UphjZnUjm>*B*Uph0JaJ j0JU jUj`mU8::::::;;;;;;;;;9;:;;;<;H;J;K;g;h;i;j;;;;;;;;;;;;;;;;;;;;; mHnHu0JmHnHuj0JUmHnHu5\j5U\jrUjBr>*B*Uph0JaJ jq>*B*UphaJjHqU jU0J j0JUjp>*B*Uph-;;;'<(<)<C<D<E<G<H<I<J<K<L<h<i<j<k<<<<<<<<<<<<<<<<<===9=:=;===>=ϵ߯ׯכύ߯ׯykjuUmHnHu&j0u>*B*UmHnHphujtUmHnHu&j6t>*B*UmHnHphu mHnHujsUmHnHujUmHnHumHnHu0JmHnHuj0JUmHnHu&j*B*UmHnHphu*>=?=@=A=B=^=_=`=a=================>>>3>4>5>7>8>9>:>;><>X>Y>Z>[>>>>>ɽɯɽɽɍɽyɽ&jx>*B*UmHnHphujwUmHnHu&j$w>*B*UmHnHphujvUmHnHujUmHnHumHnHu&j*v>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHu,=:>>G??]@@oA'BB}CClDENEEF GGGqHHIJJKxKL n! >>>>>>>>>>>>>$?%?&?@?A?B?D?E?F?G?H?I?e?f?g?h???????????????ïޡÍjzUmHnHu&jz>*B*UmHnHphujyUmHnHu&jy>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHumHnHujUmHnHujxUmHnHu*???9@:@;@U@V@W@Z@[@\@]@^@_@{@|@}@~@@@@@@@@@@@@@AAAAKALAMAgAhAiAlAmAϵ߯ׯכύ߯ׯykj}}UmHnHu&j}>*B*UmHnHphuj|UmHnHu&j|>*B*UmHnHphu mHnHuj{UmHnHujUmHnHumHnHu0JmHnHuj0JUmHnHu&j {>*B*UmHnHphu*mAnAoApAqAAAAABBBB B!B$B%B&B'B(B)BEBFBGBHBBBBBBBBBBBBBBBBBYCZC[CuCɽɯɽɽɍɽyɽ&j>*B*UmHnHphujqUmHnHu&j~>*B*UmHnHphujw~UmHnHujUmHnHumHnHu&j}>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHu,uCvCwCzC{C|C}C~CCCCCCCCCCCCCCCCCCCCCCHDIDJDdDeDfDiDjDkDlDmDnDDDïޡÍj_UmHnHu&j>*B*UmHnHphujeUmHnHu&j>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHumHnHujUmHnHujkUmHnHu*DDDEEE4E5E6E9E:E;EENEOEfEgEhEiEEEEEEEEEEEEEEEEEFFFFrFsFϵ߯ׯ׍߯ׯk&jЄ>*B*UmHnHphujSUmHnHu&jփ>*B*UmHnHphu jU5 j5U mHnHujYUmHnHujUmHnHumHnHu0JmHnHuj0JUmHnHu&j܂>*B*UmHnHphu*sFtFFFFFFFFFFFFFFFFFGGG G G G G GG*G+G,G-GfGgGhGGGGGGGGGGGG®Œ~jAUmHnHu&jĆ>*B*UmHnHphujGUmHnHu&jʅ>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHujMUmHnHumHnHujUmHnHu,GGGGGGGGGGGGGGHHHHHNHOHPHjHkHlHnHoHpHqHrHsHHHHHHHHHHHHHϵ߯ׯכύ߯ׯykj/UmHnHu&j>*B*UmHnHphuj5UmHnHu&j>*B*UmHnHphu mHnHuj;UmHnHujUmHnHumHnHu0JmHnHuj0JUmHnHu&j>*B*UmHnHphu*HHHHHIIIIqIrIsIIIIIIIIIIIIIIIIIII J J J JJJJJJ.J/J0J1JWJɽɯɽɽɂɽn&j>*B*UmHnHphuj#UmHnHu0J6]mHnHu&j>*B*UmHnHphuj)UmHnHujUmHnHumHnHu&j>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHu+WJbJlJmJnJJJJJJJJJJJJJJJJJJJJJJJKKKKK K!KUKVKWKqKrKsKuKvKwKxKyKzKؽ죽ؽ쁽sؽjUmHnHu&j>*B*UmHnHphujUmHnHu&j>*B*UmHnHphu mHnHuj0JUmHnHujUmHnHujUmHnHumHnHu0JmHnHu0J6]mHnHu-zKKKKKKKKKKKKKKKKLLLLL L!L`LaLbL|L}L~LLLLLLLLLLLLLLL񽱽񽱽m񽱽&j>*B*UmHnHphujUmHnHu&j>*B*UmHnHphuj UmHnHujUmHnHumHnHu0J6]mHnHuj0JUmHnHu&j>*B*UmHnHphu0JmHnHu mHnHu*LLMMNNOO+PP9QQ)RR'SS TtTTLUU.VVWWXXX\YY n! LLMMMMMMM#M$M%M&MYMbMmMnMoMMMMMMMMMMMMMMMMMMMMMMMNNNNN NïäޖÂätjUmHnHu&jv>*B*UmHnHphujUmHnHu0J6]mHnHu&j|>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHumHnHujUmHnHujUmHnHu- N!N"N^N_N`NzN{N|N~NNNNNNNNNNNNNNNNNNOOOOO O!O"OoOpOqOOOOOOϵ߯ׯכύ߯ׯykjUmHnHu&jd>*B*UmHnHphujUmHnHu&jj>*B*UmHnHphu mHnHujUmHnHujUmHnHumHnHu0JmHnHuj0JUmHnHu&jp>*B*UmHnHphu*OOOOOOOOOOOP P P$P%P&P(P)P*P+P,P-PIPJPKPLPPPPPPPPPPPPPPPPPP徲徲n&jR>*B*UmHnHphuj՘UmHnHu&jX>*B*UmHnHphujۗUmHnHujUmHnHumHnHu0J6]mHnHu&j^>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHu+PPQQQ2Q3Q4Q6Q7Q8Q9Q:Q;QWQXQYQZQQQQQQQQQQQQQQQQQRRR"R#R$R&R'R(R)R*R+RGRHRjÛUmHnHu&jF>*B*UmHnHphujɚUmHnHu&jL>*B*UmHnHphu mHnHujϙUmHnHujUmHnHumHnHu0JmHnHuj0JUmHnHu/HRIRJRRRRRRRRRRRRRRRRRSSS S!S"S$S%S&S'S(S)SESFSGSHS~SSSSSSSSϵ߯ׯכύ߯ׯykjUmHnHu&j4>*B*UmHnHphujUmHnHu&j:>*B*UmHnHphu mHnHujUmHnHujUmHnHumHnHu0JmHnHuj0JUmHnHu&j@>*B*UmHnHphu*SSSSSSSSSSSSTTTT T T T T T)T*T+T,TQTRTSTmTnToTqTrTsTtTuTvTTTTTTTTTɽɯɽɽɍɽyɽ&j">*B*UmHnHphujUmHnHu&j(>*B*UmHnHphujUmHnHujUmHnHumHnHu&j.>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHu,TTTTTTTTTTUUU)U*U+UEUFUGUIUJUKULUMUNUjUkUlUmUUUUUUUUUUUUUUUïޡÍjUmHnHu&j>*B*UmHnHphujUmHnHu&j>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHumHnHujUmHnHujUmHnHu*UUU V V V'V(V)V+V,V-V.V/V0VLVMVNVOVtVuVvVVVVVVVVVVVVVVVVVWWWWWϵ߯ׯכύ߯ׯykjUmHnHu&j>*B*UmHnHphujUmHnHu&j >*B*UmHnHphu mHnHujUmHnHujUmHnHumHnHu0JmHnHuj0JUmHnHu&j>*B*UmHnHphu*WWWWW3W4W5W6W]W^W_WyWzW{W}W~WWWWWWWWWWWWWWWXXXXXX"X#X$X%X]X^X_XyXɽɯɽɽɍɽyɽ&j>*B*UmHnHphujuUmHnHu&j>*B*UmHnHphuj{UmHnHujUmHnHumHnHu&j>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHu,yXzX{X}X~XXXXXXXXXXXXXXXXXXXXX Y YYY9Y:Y;YUYVYWYYYZY[Y\Y]Y^YzY{YïޡÍjcUmHnHu&j>*B*UmHnHphujiUmHnHu&j>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHumHnHujUmHnHujoUmHnHu*{Y|Y}YYYYYYYYYYYYYYYYYZZZ5Z6Z7Z9Z:Z;ZZZZ[Z\Z]ZZZZZZZZZϵ߯ׯכύ߯ׯykjQUmHnHu&jԭ>*B*UmHnHphujWUmHnHu&jڬ>*B*UmHnHphu mHnHuj]UmHnHujUmHnHumHnHu0JmHnHuj0JUmHnHu&j>*B*UmHnHphu*Y[Z[[[\[][[[[[[[[[[[[[[[[[[[[\ɽɯɽɽɍɽyɽ&j°>*B*UmHnHphujEUmHnHu&jȯ>*B*UmHnHphujKUmHnHujUmHnHumHnHu&jή>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHu,\\\\\\\\\6\7\8\9\_\`\a\{\|\}\\\\\\\\\\\\\\\\\\\\\\\]]ïޡÍj3UmHnHu&j>*B*UmHnHphuj9UmHnHu&j>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHumHnHujUmHnHuj?UmHnHu*]]]B]C]D]^]_]`]c]d]e]f]g]h]]]]]]]]]]]]]]]]]]]]]*^+^,^F^G^H^K^L^ϵ߯ׯכύ߯ׯykj!UmHnHu&j>*B*UmHnHphuj'UmHnHu&j>*B*UmHnHphu mHnHuj-UmHnHujUmHnHumHnHu0JmHnHuj0JUmHnHu&j>*B*UmHnHphu*L^M^N^O^P^l^m^n^o^^^^^^^^^^^^^^^^^___0_1_2_5_6_7_8_9_:_V_W_X_Y_____ɽɯɽɽɍɽyɽ&j>*B*UmHnHphujUmHnHu&j>*B*UmHnHphujUmHnHujUmHnHumHnHu&j>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHu,_____________`` `#`$`%`(`)`*`+`,`-`I`J`K`L`z`{`|````````````ïޡÍjUmHnHu&j>*B*UmHnHphuj UmHnHu&j>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHumHnHujUmHnHujUmHnHu*````aaaaa a!a"a#a$a%aAaBaCaDaaaaaaaaaaaaaaaaabbb2b3b4b7b8bϵ߯ׯכύ߯ׯykjUmHnHu&jt>*B*UmHnHphujUmHnHu&jz>*B*UmHnHphu mHnHujUmHnHujUmHnHumHnHu0JmHnHuj0JUmHnHu&j>*B*UmHnHphu*8b9b:b;bc?c@cAcBcCc_c`cacbcccccɽɯɽɽɍɽyɽ&jb>*B*UmHnHphujUmHnHu&jh>*B*UmHnHphujUmHnHujUmHnHumHnHu&jn>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHu,ccccccccccccc3d4d5dOdPdQdTdUdVdWdXdYdudvdwdxdddddddddddddddïޡÍjUmHnHu&jV>*B*UmHnHphujUmHnHu&j\>*B*UmHnHphu0JmHnHu mHnHuj0JUmHnHumHnHujUmHnHujUmHnHu*ddd3e4e5eOePeQeTeUeVeWeXeYeuevewexeeeeeeeeeeeeeffffIfJfKfefffgfjfkfϵ߯ׯכύ߯ׯykjUmHnHu&jD>*B*UmHnHphujUmHnHu&jJ>*B*UmHnHphu mHnHujUmHnHujUmHnHumHnHu0JmHnHuj0JUmHnHu&jP>*B*UmHnHphu*kflfmfnf{ooooooooossOvPvfvgvhvovpvqvrvsvxxxx(x)x*x+x,x-xHxIxJxKxSxx9|:|B|C|R|S|T|U|V|W|r|s|t|u|~~~~~~~  *+9;QR5\j'UjU jU j8UjUj>U6] jU mHnHuj0JUmHnHuHpfqf~ffhlmsstxxxxxx8|9|;|||)*XkmӄԄ`$a$Rcdghqr #$%,-./0kltuxy؈وڈۈ݈ +,BCDKLMNORj:U j -Uj,U jUj!U mHnHujU jU5\NԄ .QRT͒ȕ1Mb~$If`$a$$`a$RS[\klmnop|}۔ݔӖԖՖ֖ %&'+,ijҜӜԜݜޜkl!"#,-jIUjmIUjHUjsHUjGUCJOJQJ^JjyGU mHnHu jU j;UH~#$%;/\$$IfTl^0064 la$If-}~ FG`abklٟڟ۟L`btzGwxy{|12KLMPQҧէjMUjUMUjLU6]j[LUjKUjaKUjJUjgJU jUHɢO G/01GH|}$a$Zrstlmvw34589MNghimn֯ׯLMfghlm !$%߱j7RUjQUj=QUjPUjCPUjOUjIOUjNUjONU jU6]Dзѷҷַط̸͸BC\]^bcNOhijmn jWUjVUjVU6]jUUj%UUjTUj+TUjSUj1SU jUjRUAüļżɼʼؾپھ޾ !,-FGHLM!"#'( j[Uj~[Uj[UjZUjZUjYUj YUjXUjXUjWU jUC&'@ABFGcd}~ DE^_`dfMNghimnlj``U6]j_Ujf_U mHnHuj^Ujl^Uj]Ujr]Uj\Ujx\U jUBlV}=}~Eop./0123MNOP{ WXYj 6H*]5\jhU] jU] j66j5hU] mHnHu jU j`U6]L{ $$Ifa$$If$$IfTlֈ8p 88 <064 la"'+05$If5:>?BGJPT$IfTUVlFDBD<B`$$IfTlֈ8p 88064 la ~Yhqr $%&+,8ACLNTV]ci^_uvw~6j)jU 5CJ\CJjiU mHnHuj/iU jU6]Onop7hij/01\$$IfTl4T064 la$If1Of;Zp.\$$IfTl |064 la$If./0189HIJKLMhijk  6jU jUjUjU6]5\ j#kU 5CJ\ mHnHu jUjjUI./1 _`u&'I{$a$ EF\]mnxy-./6789:hs48 ',]^tuv}~5\CJOJQJ^JjbUjaU 6]o(6]6jaUo(j`U mHnHu jU jUG/5Qiv1LMVo$If {{ $$Ifa$o$$IfTl^0X 064 lal$If$If "#234567RSTUzL M \ ] ^ _ ` a | } ~        ! " # $     U _    %&'(z01GHXYcd""""""""jJU jcUjbU6] mHnHu jU5\ 56\]RFL 9 \   $Ifo$$IfTl^0X 064 lal    # 2 V    ) 7 C D E    Z$$IflX X 0X 64 lal$If ]^k^_{y@AMfgo789:yz   ! $If`$a$! W     "!H!m!!!!!$"K"""""$If""B#C#*--. 1337::::;=$a$\$$IfTl<064 la"####-#6#9$B$O$P$f$g$h$o$p$q$r$s$$$<%?%@%%%((C+D+]+^+_+c+d+-------.......3/4/M/N/O/S/T////////00/0001040500jUj8UjUj>UjUjDUCJCJjǞU6] mHnHu jUF00111 1 1 1h11&2'2@2A2B2F2G233333333o7p777777777777777777777::::::::::::::::0=1=J=K=jU jUj&U6] mHnHujUj,UjOJQJUjOJQJUOJQJj2U jUBK=L=P=Q= ? ? ?!?"?)?*?+?,?-?BBBBB&B'B(B)B*B&C'C@CACBCFCGC9D:DIDJDKDLDMDNDiDjDkDlDDDZF[FjFkFlFmFnFoFFFFFFULYLBMCM\M]M^MbMcMO O.O/OEOFOGONOOOPOQOjUjU6]5CJj UjU mHnHujU jUM=?nCoCpCCCCCD0D1D2DDDDDD\$$IfTl^H064 la$IfDEUEEEF6FQFRFSFFFF|HMMM`\$$IfTlTX  064 la$IfQOROOOOOQQR R(R/R?RGRRRTT'V*VVVVVWWWWWW W!WtW}WZZ Z ZZZZZ Z!ZZ?Z[[3]4]]]]]][^\^_^`^a^b^d^e^h^i^j^m^r^s^t^u^v^w^^^^^ ____gahaaH* j 6H*] jU mHnHujU6] jUUMQSV{YZZZZZ\aaaabAbrbbbc"cgcccc(dFd$If$a$aaaaaeeeffffff f!f"f$fYfbfofpffffffffffggg&g'g(g/g0g1g2g3ggggh\h`hohshuhyhhhhhhhhhhhi ipisi7k9klknkokpkqkuklloooojU jH*j=UjU6]5 mHnHu jUjCUOFdddd'e\eeeeenfofjkklp`\$$IfTl`!f!064 la $Ifooooooo1t2tAtBtCtDtEtFtatbtctdtftttttttttttttuuuuuuuuuuuwwwwyy||||}1}~~ !"#>?@Aj1U5\jUj7U6]\ mHnHu jUSppp.prppppAq[qqqqrXrrrrrsGswsss(t)t$If)t*tttt} }1}\}}}}}~?~~~~$If\$$IfTl`X  064 la~~%dCtBkׁu\$$IfTl"  064 la$Ifuv.^† 5\$$IfTlx4064 la$If`؅مڅ߅Ɇʆنچۆ܆݆ކщ҉Ӊىډۉ܉݉'(789:;<VWXY܍ݍ&'JKop˽OJQJ^JmHsH OJQJ^J5OJQJ\^JmHsH5OJQJ\^J 6]o(6]j+U\ mHnHu5\jU jUC5 !Ǎ܍ $$Ifa$ ܍ݍ93** $$Ifa$$If$$IfTlr\ TF 204 lal HB$If$$IfTlr\ TF  04 lal $$Ifa$&',39<JHB$If$$IfTlr\ TF  04 lal $$Ifa$JKPX^aopQKBBBBQ $$Ifa$$If$$IfTlr\ TF  04 lalpu|B$$IfTlr\ TF  04 lal $$Ifa$$IfǎЎHB$If$$IfTlr\ TF  04 lal $$Ifa$Ў׎ێ HB$If$$IfTlr\ TF  04 lal $$Ifa$  !"*HF@>`$$IfTlr\ TF  04 lal $$Ifa$    ڔ!"#'(ϕ+YZbcrstuvwݖY—×ėȗɗʗ QVgh~ԷjpUjU jUjU6]j%Uo( mHnHujU jUOJQJ^JmHsHH*FGHIstYZhWXY[ȖɖݖfgiܙݙCD|$`a$$a$&/Zcghpq/0IJKOPQ9:xě֛כ [\Üܜߜ(DWXde|"0156<A[6OJQJ]^J 6]o(o(j$U jU6] jU mHnHuS|}+,?()Liȧɧ˧01Snp!>$a$[+68DITYdܣ?Iy~٤ڤ    8Dbmɧʧҧӧ  "$6DFxz|jPU 6]o(jU jU mHnHujUjU jU6]NаҰ԰ܰް'(ABCGHݴ*+DEFJK"$ϹйѹչֹtuκϺкѺҺӺ0@|}~ j>U mHnHujUjDUjUjJUjU jU6] 6]o(J0 JKM<=\ $a$`~-.uv)*+23456z|ýĽŽƽǽȽ%wx123:;<=jOUj U jU mHnHuj"Uo(jU jU6] jN=>Կտֿ׿ Z[\]^_op/0wx$%;<=DEFGHKLTUdefghi12K jUjUo(j#U j6] mHnHu jU jUOKLMQR  !()*+,  #$%&'(CDEFopj2U OJQJ^J j*Uj+*Uo(6] j!U mHnHuj!U jUj UJ   pqBR5vBCEVW`$a$!"$%ABRa5X34JKLSTUVW*C _ljpBUjAUo( j:Uj8:U OJQJ^J mHnHu jU jY3U6]N<=NOSl  &@CDLM\]^_`a|}/0FGHOPQSTWX`apqrstu2I_",1<,-CDj|]Uj\U jyNUjMU jBU6] jU mHnHuQWYj~u_`$a$DELMNPQ0134fg"@AWXY_`abcef|}~*6fgvwxyz{jgUjfUj fU6]jeU j]U mHnHu jUP[\EFxy;<z{56yz:;|}@A*R OJQJaJOJQJ^JaJ5OJQJ\aJ5OJQJ\^JaJ mHnHu jUQ $$Ifa$$If $$IfT4ֈ ,lX `'' '''' <d 2  22  22  22  22  22  24 4a  '-38=BGLQV[\`Ffj $$Ifa$Ffg $$Ifa$$If`flqv{ Ff9p$IfFfzm $$Ifa$ !%*.37<@EFLPVZ_Ffu$IfFfr $$Ifa$_chkpsxyFf5{$IfFfvx $$Ifa$ "',16;<BHNTY_djoFf$IfFf} $$Ifa$ouz{|} $$Ifa$$IfFfr $$Ifa$ $$IfT4ֈ xX `''X'''' <d 2  22  22  22  22  22  24a %',.356?EKQW]ciotyz~Ffb $$Ifa$Ff1 $$Ifa$$If~  FfΎ$IfFf $$Ifa$ "(.4:;BHNTZ`flrw|}Ff:$IfFf $$Ifa$ #)Ff$IfFf $$Ifa$)/5:@AKPV\bhntzFf$IfFf\ $$Ifa$*46:@HR $$Ifa$$IfFfȡ $$Ifa$ RS$$IfT4ֈ xX `''X'''' <d 2  22  22  22  22  22  24aRSTwx01efZ[fk      $%VWpqrvxjUjBUjUjHUjU jU6]o( OJQJaJ5OJQJ\^JaJOJQJ^JaJ5OJQJ\aJ@STY[`bginpuwxFf $$Ifa$Ff~ $$Ifa$$If  %*015:@Ff$IfFfe $$Ifa$@DIMRV[`efmrx}Ff$IfFfѯ $$Ifa$ %*049>DFf$IfFf= $$Ifa$DIOTZ[ejpty~Ff_$IfFf $$Ifa$  ~g"h"|"~''Ff $$Ifa$NOhijno?@YZ[_`_fgh!";<=ABb c | } ~   =&>&T&U&V&]&j$UjUj*UjUj0UjUj6UaJjU B*aJph jUj<UA]&^&_&`&a&''''''''''''''(((((((((()))))*****a*b*s*t*+++,\-]-l-m-n-o-p-q----------.....//?0@0t0w000112222jP U5\6]j P UjO U jU jU mHnHuR'''')+++,*,],,,,,-9-S-T-$If$a$T-U---2444445L5e555556$If\$$IfTlB 064 la2^3c3{3|3332474T4W4X4Y4444445::;:J:K:L:M:N:O:j:k:l:m:::::::::::<<'=/=4=<=z==w>>??????iCjCCCCCCCCCHHHHHHHHHHHHHHJJJ jQ UjQ UjQ U mHnHu jU5\ 6H*]6]S6)6]666667A7Z77777)8H8s8888909T99999:1:2:$If2:3:::O@P@b@ANCIE8GHHHHHIVJ$a$\$$IfTl:P064 laJJJJJM'MNNNNNNNNNNOO'O(O>O?O@OGOHOIOJOKOOOOO*S+S:S;SS?SZS[S\S]SSSSSSSSSSSSSSSSSTTTTTUUWWWWWWWWWWW j6 Uj6 U j Uj6 U mHnHuj U6] jUj< UNVJL[Q\Q]QyQQQQ R&R0R1RPRoRRRRS!S"S$If"S#SSSSSSSWWWXXwY[[,[`$a$\$$IfTl 064 laWWWWXX4X5X6X=X>X?X@XAX#Y+Y\\]]]]] ]!]"]]]]]h__e`~`xaaaacccccccc5c6c7c8cNd\deeZfhfgg{hhZjhjjklllllllllllllllllj^ Uj^ U5\j^ U6]j] U mHnHu jUP,[\f_g_h____`8`V`~````a6aZaaaab)bZbzbbbbb$IfbbWcXc,egggmmanbnnn $$7$8$H$Ifa$ $$7$8$H$Ifa$\$$IfTlXP064 la lllmmmmmmmmmmmmmmmmmmnnnnnn"n#n$n%nannnnnnnnnnnnnn(o-onotoooopEpJpppppqqZq_qqqqq+rַַַַɰɫɫɫɫɫɫɫɫɫɫɫOJQJ OJQJ^J"5B*H*OJQJ\^JaJphB*OJQJ^JaJph5B*OJQJ\^JaJph 6H*] 6H*]6] jU mHnHuCnnnnnnnnnnnnnn|||||||||||wFf{_ $$7$8$H$Ifa$u$$IfT4Fdy!  !    4 a nnnnnno ooo!o(o)o-o3o9o?oEoKoQoXo`ogonooo$Ffc Ffa $$Ifa$#$$If[$\$a$ $7$8$H$Ifootozooooooooooooooooooooooop pFfg Ffe $$Ifa$ $7$8$H$If pppp#p)p0p7p>pEpFpJpPpVp\pbphpnpup}ppppppppFfk $7$8$H$IfFfi $$Ifa$ppppppppppppppppqqqqqq q&q,q2q8qFfo $7$8$H$IfFfm $$Ifa$8q>qEqLqSqZq[q_qeqkqqqwq}qqqqqqqqqqqqqqqFfs $7$8$H$IfFfq $$Ifa$qqqqqqqqqr rrrr$r+r,r0r6r $$7$8$H$Ifa${{{{{||||| |'|/|6|=|>|C|I|O|U|[|a|g|n|v|}|Ff) $7$8$H$IfFf0 $$7$8$H$Ifa$}|||||1~$%&+09 $$Ifa$Ff" $$7$8$H$Ifa$ SZÀĀŀƀǀȀ$9:j|Ă΂ *DR\jvȃЃ "(,26?JOUZ`eo{þþþþþþþOJQJ5B*OJQJ\^JphB*OJQJ^Jph OJQJ^J :OJQJ5OJQJ\ mHnHu jU6]K9:DKV*>TZDTKKKKKK $$Ifa$$If$$IfT4,r'9+ pp 2!4 aETh $$Ifa$hj$$IfTlִ'9q Q+ 88888 P!    4 aEj|Ă $$H$Ifa$ #$If[$\$ĂƂ΂؂82'' $$H$Ifa$$If$$IfTcִ'9q Q+ 88888  !    4 aE  $$H$Ifa$*8D82'' $$H$Ifa$$If$$IfTQִ'9q Q+ 88888  !    4 aEDR\jv $$H$Ifa$82'' $$H$Ifa$$If$$IfTִ'9q Q+ 88888  !    4 aEȃЃ $$H$Ifa$Ѓ҃82'' $$H$Ifa$$If$$IfTִ'9q Q+ 88888  !    4 aE  $$H$Ifa$82'' $$H$Ifa$$If$$IfT,ִ'9q Q+ 88888  !    4 aE"(,26 $$H$Ifa$67?DJ82'' $$H$Ifa$$If$$IfTlִ'9q Q+ 88888  !    4 aEJOUZ`e $$H$Ifa$efou{82'' $$H$Ifa$$If$$IfTZִ'9q Q+ 88888  !    4 aE{ $$H$Ifa$Ƅ̈́ل߄./01nj|†̆(@NXfp~‡ʇڇ %)/3<FKQ :OJQJ5OJQJ\ mHnHu jUOJQJ5B*OJQJ\^JphB*OJQJ^JphO82'' $$H$Ifa$$If$$IfTHִ'9q Q+ 88888  !    4 aEƄ $$H$Ifa$ƄDŽ̈́ӄل82'' $$H$Ifa$$If$$IfT6ִ'9q Q+ 88888  !    4 aEل߄ $$H$Ifa$n8664$$IfT~ִ'9q Q+ 88888  !    4 aEnopuzQDK$If$$IfT4,r'9+ pp 2!4 aE $$Ifa$*>Th $$Ifa$hj$$IfTlִ'9q Q+ 88888 P!    4 aEj|† $$H$Ifa$$If†Ć̆ֆ82'' $$H$Ifa$$If$$IfTcִ'9q Q+ 88888  !    4 aE $$H$Ifa$(6@82'' $$H$Ifa$$If$$IfTQִ'9q Q+ 88888  !    4 aE@NXfp~ $$H$Ifa$~82'' $$H$Ifa$$If$$IfTִ'9q Q+ 88888  !    4 aE‡ʇ $$H$Ifa$ʇ̇ڇ82'' $$H$Ifa$$If$$IfTִ'9q Q+ 88888  !    4 aE  $$H$Ifa$  82'' $$H$Ifa$$If$$IfT,ִ'9q Q+ 88888  !    4 aE%)/3 $$H$Ifa$34<AF82'' $$H$Ifa$$If$$IfTlִ'9q Q+ 88888  !    4 aEFKQV\a $$H$Ifa$QV\akv|Lj҈؈݈  01289:;<v{}MUW`bhnv|~ڐܐސZZ5OJQJ\6]j U mHnHuj U jUOJQJB*OJQJ^Jph5B*OJQJ\^JphIabkqv82'' $$H$Ifa$$If$$IfTZִ'9q Q+ 88888  !    4 aEv| $$H$Ifa$82'' $$H$Ifa$$If$$IfTHִ'9q Q+ 88888  !    4 aE $$H$Ifa$Lj͈҈82'' $$H$Ifa$$If$$IfT6ִ'9q Q+ 88888  !    4 aE҈؈݈ $$H$Ifa$np866666$$IfT~ִ'9q Q+ 88888  !    4 aEpZ\fA$$IfT4u\S N  \  (0!4 a# $$Ifa$Α,BXZlv’ʒ̒ԒޒFf $$Ifa$$IfFf $$Ifa$Z’ʒ(2bpܓ "*.7;KOX\ei}ʔДܔ /5AGSYZbcrstuvwϕƖЖ *6JTjtʗؗ mHnHu jU5OJQJ\OJQJ\(24HVbp~ȓГܓFf $IfFf $$Ifa$  "%*.17;<BEKORX\_eijrFf_ Ff9 $IfFf $$Ifa$rw}ĔʔД֔ܔFf $IfFf $$Ifa$ #)/5;AGMSYZ[\ϕЕՕ $$Ifa$`Ff $IfFf $$Ifa$(6LLCCCCCC $$Ifa$$$IfT4u\r`8  M  (0"4 aLbpƖЖږ  *6@JT^jFf $$Ifa$$IfFf $$Ifa$jtvʗؗ"(,-48Ff Ff $IfFf $$Ifa$(,>BJNVZjnw{טݘ#(38JP[alrs£ã  *+Dj U6]j U mHnHu jU j UOJQJ5OJQJ\P8>BEJNQVZ[adjnqw{~FfO $IfFf. $$Ifa$˜˘јטݘ #(-38Ff $IfFfp $$Ifa$89?EJPV[aglrstu}$a$Ff $$Ifa$$IfFf ʱtuwQRSo$If$a$DEFJKѲҲеѵhstj Uj UmHsHj UmHsHj UmHsHj UmHsHj UmHsHj UmHsHjUmHsHmHsH jUj U:RSlmnrsOPijkpquv~ 4;hij 18]6j U jq Uj Ujw U6]j Uj} U jU mHnHuK>AMW:MSUop %,-<=>?@A\]^_,06=hm8<Zcnoj U6]mHsHmHsH5\mHsH5\6] mHnHu jUj] UN#$%-./b`\$$IfTl064 la$If/b/012WX`apqrstu789:abxyzj0 Uj%0 U j U6]5\ mHnHujW U jUR)OlVWY$a$`\$$IfTl:P064 la$If +>dz`a\$$IfTl0 T064 la$If#(y&'()*AT#pq@AXgsv    j2 Uj2 Uj1 U5\aJ mHnHuj1 U jU6]Q)DWX>],Qp$Ifbcw$9O$If$a$\$$IfTlT064 la5678 %&ap !:LS;<RSTjK Uj K U6]mH sH mH sH 5\jJ U6]jJ U mHnHu jUKO~2Sk\$$IfTl 064 la$IfT[\]_`456=>?@A|$%)3r~'<AOdelm|}~5OJQJ\^J5\jZ UjaZ U jL U6]jL U jU mHnHuNCD_(@fIo  ;$If$a$;cdeHOP $$Ifa$\$$IfTl4064 la$IfOPRvw{|abxyzz}~VWfghijk  ! 0 1 2 3 4 ļijB*OJQJph5OJQJ\5B*OJQJ\phjU\ Uj[ Uj[[ UaJ 6H*]6] mHnHu jUF '0 $$Ifa$ 01<*$$If$$IfT֞Z t" F"4 ax<>DMOU^`foqw $$Ifa$$IfFf\ $$Ifa$Ffa $IfFf_ $$Ifa$   "$&(*,.0245<?AtFff $IfFf@d $$Ifa$ACFHKMPRUWZ[acegikmoqsuwyz|Ffk $IfFfh $$Ifa$$IfFfhm $$Ifa$      Ffq $$Ifa$$IfFfo                      $$Ifa$$IfFfFt $$Ifa$4 5 O P Q R     8 9 = y z        ? @ F          T U [               2 y         &-ENjt`az{js UOJQJ OJQJ^JB*OJQJph5OJQJ\5B*OJQJ\ph mHnHu jUM   *$$If$$IfT֞ t" Ft"4 a        $ ( . 2 8 9 = A G K Q U [ _ e i o s y $IfFfv $$Ifa$y z                          Ff${ $$Ifa$$IfFfx           ! % + / 5 9 ? @ F J P T Z ^ d h n  Ff $IfFfn} $$Ifa$n r x |                        FfL $IfFf $$Ifa$          " & , 0 6 : @ D J N T U [ _ e i o  Ff $IfFf $$Ifa$o s y }       2 3 = > E F M N U V ] ^ g o x y Fft $$Ifa$Ff* $$Ifa$y         $$Ifa$$If   %$If$$IfT4֞p x   0"4 a        $$Ifa$   %$If$$IfT4:֞p x   0"4 a        $$Ifa$   %t$If$$IfT4"֞p x   0"4 a       $$Ifa$ %$If$$IfT4"֞p x   0"4 a !& $$Ifa$&'-%|$If$$IfT4"֞p x   0"4 a-159=AE $$Ifa$EFN%$If$$IfT4"֞p x   0"4 aNRV[`ej $$Ifa$jkt%$If$$IfT4"֞p x   0"4 atx| $$Ifa$%$If$$IfT4:֞p x   0"4 a $$Ifa$%$If$$IfT4:֞p x   0"4 a $$Ifa$%#`$$IfT4:֞p x   0"4 a/#:&;&Q&))B),222 282$If{|./HIJNO~:;TUVZ[01267!!/!0!1!5!6!"""""""i$j$$$$$$$$$jU Ujؓ Uj[ Ujޒ Uja Uj Ujg Uj Ujm Uj U jUC$$$$$$$$$$$$$%% % %%x&&(()))))z+{++++++,,,,,,,,,,,,/-0-I-J------..+.,.E.F.G.L.M.R.S.l.j= Uj U mHnHujC UjƖ UjI U6]j̕ UjO UjҔ U jUBl.m.n.s.t../+/,/B/C/D/K/L/M/N/O/0010G0H0I0P0Q0R0S0T0m002 222223 3 3 3 3 3(3)3*3+3c33l4n4u4v444444444444 5<6>6E6F6U6V6W6X6Y6Z6u6v6w6x66666j1 U5\j U mHnHuj7 U6] jUj UP82`2222222b3c3d3333 44+4l4`\$$IfTlx064 la$Ifl4m4n4444 5+5W55556+6<6=6 $If^\$$IfTlx&064 la$If=6>666;<>>>4?J?AAAB0BPB$If$a$\$$IfTlT064 la66666667 7 7!7:7;7<7@7A7]7^7w7x7y77777777777777E8I888888888888999999999 9:,:0:1:G:H:I:P:Q:R:S:T:::];`;a;b;j Uj Uj% U 6H*]j Uj+ Uj U6] mHnHu jUJb;;;;;>>>>>>>>>>>>>>J?K?a?b?c?j?k?l?m?n?????@'@n@o@x@|@AAABBBBBBBBBBBBBBB3C4CJCKCLCSCTCUCVCWCoCwCC DDD&D'D(D/D0D1D2D3Dj] Uj U5\jc U mHnHu jU j U 6H*]6]PPB|BBBBB/C0CMENEEEEFF\$$IfTlP064 la$If3D_DpD$F%F4F5F6F7F8F9FTFUFVFWFKKKKKKKKKKKKhQiQQQQQQQQQS SASISNSXSbSgSSSTTTTUU UUUUUUUU.U/U0U1U2U3UMUNUOUPUcUuUVVVVVVVVVVWWW j U5\jW Uj U mHnHu jU6]UFFFFFFFGFGsGGGG+HYHHHH$If]$$IfTl4)$064 laHHHI?IwIIIIIIII"JPJ~JJJ K9KhKKKK$IfKKLLLNNNNNNPPQUUcU$a$\$$IfTl 064 la<cUhUtUuUwUUz,t$If|$$IfTl0dT|( 064 la $$Ifa$UUUUUUUUUUUUUUU(z$z\zXz $If $$Ifa$v$$IfTl0dT|(  064 laUUUUUUUV V V*V+V.V2V3Vzlzz z $$Ifa$v$$IfTl0dT|(  064 la$If3V6V_V`VcVyVzV}VVVVVVVVzhzzPzPv$$IfTl0dT|(  064 la$If $$Ifa$VVVVVVVlClFlLlQlSlYl^l_ldlglmlrlul{lllllllٸp$IfFf Ffk $$Ifa$ $$Ifa$ $If^Ff lllllllllllllllllllllllmm m Ff $If^Ffg $$Ifa$ $$Ifa$ mmmm m&m,m-m?mEmKmRmVm\mamcmimompmumxm~mmmmm ٸFf $If^Ffc $$Ifa$ $$Ifa$mmmmmmmmmmmmmmmmmmmmmmmmmd $If^Ff $IfFf_ $$Ifa$ $$Ifa$mmmnapbpcpppsstvwUz{{{}̀̀ $$Ifa$$If`Ff[ $$Ifa$}}}~~~~~ӀԀƁǁˁ́Ձց܁݁ ȿ5OJQJ\^JOJPJQJ^JOJPJQJ^JaJOJQJ^JaJ5OJQJ\aJ5OJPJQJ\^JaJ5OJQJ\^JaJ mHnHu jUjV U<F8@$If$$IfT4\v !`''' 'X  ( "2  22  22  22  24a $$Ifa$ǁ́ց݁  %*056:@FKFfM $$Ifa$$IfFf $$Ifa$   $%)*/04569:?@EFJKOPTUYZ^_cdhinostułƂǂʂ˂΂ςԂՂ؂OJPJQJ^JaJ OJQJaJ OJQJ^J5OJQJ\^JOJPJQJ^JOJQJ^JaJ5OJPJQJ\^JKKPUZ_diotuƂǂ˂ςՂقHFf3 $IfFf@ $$Ifa$؂قۂ܂߂ "#&'+,12567<=@AFGJKMNRSXY\]_`dejknopwx}~OJPJQJ^JaJ OJQJaJ OJQJ^J5OJQJ\^JOJPJQJ^JOJQJ^JaJ5OJPJQJ\^JKق܂#',267=AGKFf $IfFf& $$Ifa$KNSY]`ekopx~ƃ̃҃,Ff $IfFf $$Ifa$Ńƃ˃̃у҃؃ك܃݃  !"&'+,1267;<ABFGHMNTUZ[`OJPJQJ^JaJ OJQJaJ OJQJ^J5OJQJ\^JOJPJQJ^JOJQJ^JaJ5OJPJQJ\^JK҃ك݃ "',27<BGHNU[a Ff $IfFf $$Ifa$`afgklpqwx}~plVvӎˏ]=91fΓ ڔY_h^9p6lƞS66ˡ΢JaJ6] OJQJaJ OJQJ^J5OJQJ\^JOJPJQJ^JOJQJ^JaJ5OJPJQJ\^JLaglqx~=   & F`Ff $$Ifa$9Ǖr4՗'Jɝڞ X zPF)ҨUy% )Ѩ5X,Ѫ.ʫk!`SxO!_/Hٲx{Eo%i >mƸxXĺe3u+f#ؾ6B*\]aJphB*\aJph 6]aJaJ6B*]aJph B*aJph6]aJ 6]aJMҨ{SL"k֯HI)ɶc*Ƹynֻ<0``'H9w%mWdX?GRhnov{| 34;=EHOPQ`ijtyz?DKLOT[\5\CJ0 6]aJaJ 6]aJaJaJ06]X0!ivt`EFGR^RS & Flm5601_`:;vw\_cz{|}'(34JMPTWZ]`cehknqtw"%),/HJMQTVY^ty|)9:EGOXYZ5\6]bZaikIKNQS^j!.78FX13KRS_`abmnoqs56XZ[]{6CJOJQJ]^J5CJOJQJ\^JCJOJQJ^JCJ05\6]T*+@AQRS^j}~   & F !Io?@s$Db!556jk@A 78y  ;dh &(*6>\^_anp{| DIv #%1;RVY]`dglowUX[]`cfjmpswz{6CJOJQJ]^J5CJOJQJ\^JCJOJQJ^JX;<wx@A}~:\{./0=>JKMO>?fg  ()012345679:6]6CJOJQJ]^JCJOJQJ^J5CJOJQJ\^JVOPfz+S}BC:;<=>?@abeghpqzq8?AJLVdknux~Ҿ0JmHnHu0J j0JUCJ0aJ6CJOJQJ]^JaJ5CJOJQJ\^JaJCJOJQJ^JaJ5CJOJQJ\^JCJOJQJ^JDCXY{|"KN()UV & F6OPi:Sl2GGby#39:Pjo !"6Vuu  8Pd{/G 3I$+,HYJKy56Oq !:;YopXiszz{-7>Vo&$h]ha$h]h&`#$%h]h & Fh]h&h]h&%0J0JmHnHu j0JU      & F> 00PpePpe&P1h/R / =!"#$%P> 00PpePpe&P1h/R / =!"#$%P> 00PpePpe&P1h/R / =!"#$%P> 00PpePpe&P1h/R / =!"#$%P> 00PpePpe&P1h/R / =!"#$%P> 00PpePpe&P1h/R / =!"#$%P> 00PpePpe&P1h/R / =!"#$%PB 00PP&P1hP/R / =!"#$%P; 0PpePpe&P1h/R / =!"#$%P; 0PpePpe&P1h/R / =!"#$%P; 0PpePpe&P1h/R / =!"#$%P; 0PpePpe&P1h/R / =!"#$%P; 0PpePpe&P1h/R / =!"#$%P; 0PpePpe&P1h/R / =!"#$%P; 0PpePpe&P1h/R / =!"#$%P; 0PpePpe&P1h/R / =!"#$%P; 0PpePpe&P1h/R / =!"#$%P; 0PpePpe&P1h/R / =!"#$%P; 0PpePpe&P1h/R / =!"#$%P; 0PpePpe&P1h/R / =!"#$%P; 0PpePpe&P1h/R / =!"#$%P}DyK _Toc120528442}DyK _Toc120528442}DyK _Toc120528443}DyK _Toc120528443}DyK _Toc120528444}DyK _Toc120528444}DyK _Toc120528445}DyK _Toc120528445}DyK _Toc120528446}DyK _Toc120528446}DyK _Toc120528447}DyK _Toc120528447}DyK _Toc120528449}DyK _Toc120528449}DyK _Toc120528450}DyK _Toc120528450}DyK _Toc120528451}DyK _Toc120528451}DyK _Toc120528452}DyK _Toc120528452}DyK _Toc120528453}DyK _Toc120528453}DyK _Toc120528454}DyK _Toc120528455}DyK _Toc120528455}DyK _Toc120528456}DyK _Toc120528456}DyK _Toc120528457}DyK _Toc120528457}DyK _Toc120528458}DyK _Toc120528458}DyK _Toc120528459}DyK _Toc120528460}DyK _Toc120528460}DyK _Toc120528461}DyK _Toc120528461}DyK _Toc120528462}DyK _Toc120528462}DyK _Toc120528463}DyK _Toc120528463}DyK _Toc120528464}DyK _Toc120528464}DyK _Toc120528465}DyK _Toc120528465}DyK _Toc120528466}DyK _Toc120528466}DyK _Toc120528467}DyK _Toc120528467}DyK _Toc120528468}DyK _Toc120528468}DyK _Toc120528469}DyK _Toc120528469}DyK _Toc120528470}DyK _Toc120528470}DyK _Toc120528471}DyK _Toc120528471}DyK _Toc120528472}DyK _Toc120528472}DyK _Toc120528473}DyK _Toc120528473}DyK _Toc120528474}DyK _Toc120528474}DyK _Toc120528475}DyK _Toc120528475}DyK _Toc120528476}DyK _Toc120528476}DyK _Toc120528477}DyK _Toc120528478}DyK _Toc120528478}DyK _Toc120528479}DyK _Toc120528479}DyK _Toc120528480}DyK _Toc120528480}DyK _Toc120528481}DyK _Toc120528481}DyK _Toc120528482}DyK _Toc120528482}DyK _Toc120528483}DyK _Toc120528483}DyK _Toc120528484}DyK _Toc120528484}DyK _Toc120528485}DyK _Toc120528485}DyK _Toc120528486}DyK _Toc120528486}DyK _Toc120528487}DyK _Toc120528487}DyK _Toc120528488}DyK _Toc120528488}DyK _Toc120528489}DyK _Toc120528490}DyK _Toc120528490}DyK _Toc120528491}DyK _Toc120528491}DyK _Toc120528492}DyK _Toc120528492}DyK _Toc120528493}DyK _Toc120528493}DyK _Toc120528494}DyK _Toc120528494}DyK _Toc120528495}DyK _Toc120528495}DyK _Toc120528496}DyK _Toc120528496}DyK _Toc120528497}DyK _Toc120528497}DyK _Toc120528498}DyK _Toc120528498}DyK _Toc120528499}DyK _Toc120528499}DyK _Toc120528500}DyK _Toc120528500}DyK _Toc120528501}DyK _Toc120528501}DyK _Toc120528502}DyK _Toc120528502}DyK _Toc120528503}DyK _Toc120528503}DyK _Toc120528504}DyK _Toc120528504}DyK _Toc120528505}DyK _Toc120528505}DyK _Toc120528506}DyK _Toc120528506}DyK _Toc120528507}DyK _Toc120528507}DyK _Toc120528508}DyK _Toc120528508}DyK _Toc120528509}DyK _Toc120528509}DyK _Toc120528510}DyK _Toc120528510}DyK _Toc120528511}DyK _Toc120528511}DyK _Toc120528512}DyK _Toc120528512}DyK _Toc120528513}DyK _Toc120528513}DyK _Toc120528514}DyK _Toc120528515}DyK _Toc120528515}DyK _Toc120528516}DyK _Toc120528516}DyK _Toc120528517}DyK _Toc120528517}DyK _Toc120528518}DyK _Toc120528518}DyK _Toc120528519}DyK _Toc120528519}DyK _Toc120528520}DyK _Toc120528520}DyK _Toc120528521}DyK _Toc120528521}DyK _Toc120528522}DyK _Toc120528522}DyK _Toc120528523}DyK _Toc120528524}DyK _Toc120528524}DyK _Toc120528525}DyK _Toc120528525}DyK _Toc120528526}DyK _Toc120528526}DyK _Toc120528527}DyK _Toc120528527}DyK _Toc120528528}DyK _Toc120528528}DyK _Toc120528529}DyK _Toc120528529}DyK _Toc120528530}DyK _Toc120528530}DyK _Toc120528531}DyK _Toc120528531}DyK _Toc120528532}DyK _Toc120528532}DyK _Toc120528533}DyK _Toc120528533}DyK _Toc120528534}DyK _Toc120528534}DyK _Toc120528535}DyK _Toc120528535}DyK _Toc120528536}DyK _Toc120528537}DyK _Toc120528537}DyK _Toc120528538}DyK _Toc120528538}DyK _Toc120528539}DyK _Toc120528539}DyK _Toc120528540}DyK _Toc120528540}DyK _Toc120528541}DyK _Toc120528541}DyK _Toc120528542}DyK _Toc120528542}DyK _Toc120528543}DyK _Toc120528543}DyK _Toc120528544}DyK _Toc120528545}DyK _Toc120528545}DyK _Toc120528546}DyK _Toc120528546}DyK _Toc120528547}DyK _Toc120528547}DyK _Toc120528548}DyK _Toc120528548}DyK _Toc120528549}DyK _Toc120528549}DyK _Toc120528550}DyK _Toc120528550}DyK _Toc120528551}DyK _Toc120528551}DyK _Toc120528552}DyK _Toc120528552}DyK _Toc120528553}DyK _Toc120528553}DyK _Toc120528554}DyK _Toc120528554}DyK _Toc120528555}DyK _Toc120528556}DyK _Toc120528556}DyK _Toc120528557}DyK _Toc120528557}DyK _Toc120528558}DyK _Toc120528558}DyK _Toc120528559}DyK _Toc120528559}DyK _Toc120528560}DyK _Toc120528560}DyK _Toc120528561}DyK _Toc120528562}DyK _Toc120528562}DyK _Toc120528563}DyK _Toc120528564}DyK _Toc120528564}DyK _Toc120528565}DyK _Toc120528566}DyK _Toc120528566}DyK _Toc120528567}DyK _Toc120528567}DyK _Toc120528568}DyK _Toc120528568}DyK _Toc120528569}DyK _Toc120528569}DyK _Toc120528570}DyK _Toc120528570}DyK _Toc120528571}DyK _Toc120528571}DyK _Toc120528572}DyK _Toc120528572}DyK _Toc120528573}DyK _Toc120528573}DyK _Toc120528574}DyK _Toc120528574}DyK _Toc120528575}DyK _Toc120528575}DyK _Toc120528576}DyK _Toc120528576}DyK _Toc120528577}DyK _Toc120528577}DyK _Toc120528578}DyK _Toc120528578}DyK _Toc120528579}DyK _Toc120528579}DyK _Toc120528580}DyK _Toc120528580}DyK _Toc120528581}DyK _Toc120528581}DyK _Toc120528582}DyK _Toc120528582}DyK _Toc120528583}DyK _Toc120528583}DyK _Toc120528584}DyK _Toc120528584}DyK _Toc120528585}DyK _Toc120528585}DyK _Toc120528586}DyK _Toc120528586}DyK _Toc120528587}DyK _Toc120528587}DyK _Toc120528588}DyK _Toc120528588}DyK _Toc120528589}DyK _Toc120528589}DyK _Toc120528590}DyK _Toc120528590}DyK _Toc120528591}DyK _Toc120528591}DyK _Toc120528592}DyK _Toc120528592}DyK _Toc120528593}DyK _Toc120528593}DyK _Toc120528594}DyK _Toc120528594}DyK _Toc120528595}DyK _Toc120528595}DyK _Toc120528596}DyK _Toc120528596}DyK _Toc120528597}DyK _Toc120528597}DyK _Toc120528598}DyK _Toc120528598}DyK _Toc120528599}DyK _Toc120528599}DyK _Toc120528600}DyK _Toc120528600}DyK _Toc120528601}DyK _Toc120528601}DyK _Toc120528602}DyK _Toc120528602}DyK _Toc120528603}DyK _Toc120528603}DyK _Toc120528604}DyK _Toc120528604}DyK _Toc120528605}DyK _Toc120528605}DyK _Toc120528606}DyK _Toc120528606}DyK _Toc120528607}DyK _Toc120528607}DyK _Toc120528608}DyK _Toc120528608}DyK _Toc120528609}DyK _Toc120528609}DyK _Toc120528610}DyK _Toc120528610}DyK _Toc120528611}DyK _Toc120528611}DyK _Toc120528612}DyK _Toc120528612}DyK _Toc120528613}DyK _Toc120528613}DyK _Toc120528614}DyK _Toc120528614}DyK _Toc120528615}DyK _Toc120528615}DyK _Toc120528616}DyK _Toc120528616}DyK _Toc120528617}DyK _Toc120528617}DyK _Toc120528618}DyK _Toc120528618}DyK _Toc120528619}DyK _Toc120528619}DyK _Toc120528620}DyK _Toc120528620}DyK _Toc120528621}DyK _Toc120528621}DyK _Toc120528622}DyK _Toc120528622}DyK _Toc120528623}DyK _Toc120528623}DyK _Toc120528624}DyK _Toc120528624}DyK _Toc120528625}DyK _Toc120528625}DyK _Toc120528626}DyK _Toc120528626}DyK _Toc120528627}DyK _Toc120528627}DyK _Toc120528628}DyK _Toc120528628}DyK _Toc120528629}DyK _Toc120528629}DyK _Toc120528630}DyK _Toc120528630}DyK _Toc120528631}DyK _Toc120528631}DyK _Toc120528632}DyK _Toc120528632}DyK _Toc120528633}DyK _Toc120528633}DyK _Toc120528634}DyK _Toc120528634}DyK _Toc120528635}DyK _Toc120528635}DyK _Toc120528636}DyK _Toc120528636}DyK _Toc120528637}DyK _Toc120528637}DyK _Toc120528638}DyK _Toc120528638}DyK _Toc120528639}DyK _Toc120528639}DyK _Toc120528640}DyK _Toc120528640}DyK _Toc120528641}DyK _Toc120528641}DyK _Toc120528642}DyK _Toc120528642}DyK _Toc120528643}DyK _Toc120528643}DyK _Toc120528644}DyK _Toc120528644}DyK _Toc120528645}DyK _Toc120528645}DyK _Toc120528646}DyK _Toc120528646}DyK _Toc120528647}DyK _Toc120528647}DyK _Toc120528648}DyK _Toc120528648}DyK _Toc120528649}DyK _Toc120528649}DyK _Toc120528650}DyK _Toc120528650}DyK _Toc120528651}DyK _Toc120528651}DyK _Ref113716656}DyK _Ref112753181Ddb  0A?""/2IS&fڇ  |5@=2IS&fڇ5N)MDѾxXUO4j4c4c䪉{WX,ED{{ؽػƹs%(X>Ŝٳ[kY`p4P;0AJYh)`f O G+1`Ho_h0`h1e`XCzCE__?PyFui OW{S\οF Y/m7>9?Wp~]ŵr?PovC¿z&D"H$D"H$D"H$D"H$D"Q ÇӥKgHҟ"H!u\//_?/p޽~\/ݻ"HZn][:zhrG^RҥySNɧ DXB`mرcڬY3dшD"?*:: >:E7l۳yk׮K$t[_ Hx͚5l^߾}%Kȇ(ҲB7ZmY,\P>SH0 Atq>#D8!CfϞ-H$JzaHorAuנApsΕ]$&ݻw/***22{|r}[li8qy#RdȐCiwieeիWe˖ɕ R/͞mllu &'N5lp֭;v쐫B$ MZŊ矙Iɓ''"Hxnw3}!h"Hxnʙ3gL;v?AO>>DsSԃ"EdJжmۤOD"tuef_oРA\VZ%}"&ӧO9rƦXb-DsѣGnګW/33XH$<7io˖-0`O})坜@&::3"Hxn~:0_ԆڷnݒDsUf_l_B/_Dsu8qDsU݋PppttH$rk?ŋi"Hx韔-[$٘C$>?~yg}fO6M:S$R.^2͛7I/Ds\$"Hx. 8b Es܄0rȨ:u\ "Hx2Oqqq+潜4i\"Hxr4zhW&Ν;s///]u\$|8mǎ7o I$< ߬۷/Ŷp...6mkI$< _^z;wL}.QHx.XOrE 4H"Ṯ x{{o۶ʹzrΜ9A2E$< ϩe˖h+Es|ڵ}1nnnCJ$<eo߾[nz>>>ǎKK$<M8p]vرcϜ9#WHx.JkZj׮]ܹs׿_`ׯ_r7nbٲe0;,,F___O8N:| |ȑB\x.<7u]Q"\x.<7Q;v ٔ)S,"UL#=zLNv:t}FKӓFiK;x0nR-'MTxqW`ɠѣGөӇp'''U8`8 MT'N֭ے%K/%&&H7MW4o8k, H!:Bz# kDGG8oDuٳeK MQ׮]˒%QH> .͛uy{{J2.YƦM*˗sПkצqڵ8`q޼y4jJϟ?O#n=k*Uh߼y21114Z[[+ɓ'i-_<;wT^zSLcǎxQ/WO?ѮVW=KXsJIO<ɐ!l3*JiwߥKuֳgOEIЂ ,,,`D@RR#/?߸qO:UTiӦ <<<[PHVzgϪVV%<K| +Vl֬Y\3xC024۷ժ-N8QP!xkstt4 e޽i:u ?|pŊ|>}B [laƍٳݻO8ƾ}&/҅]۷oU3H>- a *S̳ׯW@wK|7| ~6Ip_ H"4ˤKNډZ';}tׯwSzzɣw :<>>˖-mdתU0Ҕ."\x 4|\~JWsṩ@G~ υsS@OOOtHx.<F'O]Ds<tҸYDۼyyRx[`yLLw}<q"ׯ E/Ee}SLuoܸ5&AParJNb^F ̞=󨨨@-UtcCH>temm=e=cӧCHx.WѣG;v4itGƍ3%Ds\w͛7{衦׊>֯_!895J'OSَD>\Q)Acƌ~?/!rg?CfUÇ EsO-},m߾ cwϏÀפ˗(CCCy ʸfv׮]S}occCg4;Vhٳ2^xƪU_!Y޽[iN.Y޽{+shU~-[]0?x`o޼y4oR4hWۤIڏ=4Κ5KxotG͛7'MOI1icZkq?98k׎իW;::.K٫Wg jj 5mTmiӦEq#G bI5]|;vr6mڰҥK5jv۰aCBnaÆ1 D-^Օh{M6-k֬+WT'kmm¶{GQΞ=VF 7;v ΋%,Xмys---ΝK{ǎ:D޽{֭|iy1D 111Q&ߛxn>%4=:?oI}T_gSPh\2!^3ANΝ;շ23gWo:t蠏PiP<<<>p4HW?S 6VA\x.s v1syڵkreK HW;6C ݽ{Wx.<V^W,/9GydPO \x*rJ\`1116l=kmcn ZݸqCx.<zגGy1{yNç g:_1)<|sW|gsbRxI9+ EFµݩS'5Ut[\h Vԃ|ɓG9ح[ ذcǎ0WB͛7Y?y1%ǰ0@~gΜ,y*U@s4rԨQ,  ܹsifO>1}!!! LkC@QjӦgI fIF)F[hH!&gᨨ(ei UTdԩsi0a^xMf=nVFAW}qg.wHx." ̢D*$$ܼKA1>3|rW^-wHx.R^Onmm_IoFieeթo!9? 'OrM2ym8oN͛*>g_~4s'NH>zӦM4I^Jcv2qSNM wF%g̙hga\cT###U;wqȐ!saǏ(Qŋ^T5j}=xBw͚5---&tׯdÇ=rvv1""7W*aaa0VZ*?{ %*}.-W=믿|/kժǷz1b[Ф"Ext=zkPF[\z…-TB]›6m:{lsۅD QP*001tnst÷ SɅs(whHHHr%6EM8#܆6_հ4 [H|JC_msyGDDDLL̅ Y1 #W,sAAx.<#WWW\³~_p^oN$OZCYP\x.z[EGG/Sݻu%.(TP| Ÿ;c υԪ޽{GEE9r$M}qRK~ yMǑ[nm<1%ڵKv$Ǐϛ7\8$$$vznꅋfP ? իWOiw_8mΜ96664իW/_7Tܸq# [XX"m}}}n6'N(]4K?UZ\m۶0...Ydy+ܹs[l,a#+xK*ESPSLaf͚鞂F<9E]ѣSPǏgI5Z:D~kԓŋǘQ`() Ӹ00`.`=OQMxs R(Xz@PO$<%n:f3MFiRFY$ֿ JFGv74n_ɪ}"(u…eLbF^@#Go)m]5 ]wE^.5!'<+Jt7k׮V+ɢ#F,sS"kP!,"}r%6[>Fl*oذAx.Rf͚\r{E!&oYS$3԰4_zըyއ%WԨQ Юw> Ǐ~";=x֭WŲe˺T;xx Zt28pF}J;w>`WX{qܸqx ===(9shw۵k'NTF8\ ah?s2Μ9F}ȹm6L/^Q-iד/4n޼Yx.JvXpJ믠V--,,{k׮;. ?W-[vڊ{ZYˋ]|Y)OgϞV|޼y,ȓ]o紿+A ~֐z-TYԯ8ӧu~WoN8a+:\8w}|Ex.<b fgc6 V.Yrʕҍ υsYFgΊ4)۟?ojiL>K.%x̙3sAsDE}g?}СC9ڮ];ty>i$pBn[|s slRxgȐ!)qQǏgkF81nbRn}b*:Ү\hzѢE4(#XԩE1)Ͽ5"ƍ1ʚ5nɛ7W5ㅵJ"rLΎƥK֪UKsr-X YXXCg Y^ :~z widqO;z 6/_/\1Tɔ)z?JK*PW/`eeչ>߂HSG O 1\x.<-1qpp7GJ$yC6S F׽s\x xڶwn GC@Kly~FiN υD|د)/KzCk,/o < υ G7!f)B_Q.< υ:v`0,gee\y"8_ш眯<|ŗysWL 9_1)<|RZg)ώ~&""E<>>lٲFhԨQƌu,ܯ_?JΫPB:%E 4ІV00_(Yr̘1pvo888t,;KYʅs ]Qqqq@ PKΝ;1::ZCc׮]\JаaC5 $k ) F}XR%jԩsI ̙3uˁXy*T@Jd  %U_~ϐ,% %˵}Xa,z}sDɢf͚u Yʛtyh"Ox.<X?R>'Uf)O$<ݸqڦ{Bz YCF KY E)<$|<"zdR.wHx.JQWTμC*͟g);aTR.wHx.JQW|}R7|i*K}7Z%k0)4o^ߟO>>|Xh?2]aÆ魥szzEZ 3%K(+hԷ5<{,Fsh7 [K8zhe?hTR);;;Nիq…4FDD$B8sOW70D 1AL/C VT|Ϗ;֭[%K.Zx''EFFvޝ[ĺw:tHF[޳g-֭dI͛_|ĉU®joUVURZe, 7w=KQ^pgggzhwqqiX"ԁhJ,Y.q 4L5xҤIYfS׎5*((5kxAш7n\#ƣ?ߗat4֭[dԽ{Di@/G|F9R@ӥK]b_B8rH[¯ AQjҥKoٲEccc3~x+` Y7o5[rέ/;[.p e"p{nc8(!Ky4\$JSO&s:,9-ʴIRL$ υ)籱.e<6Csppׯ"\xby,[&]I>|D"<|ҤI~_;1tΉސ$Z"\xnB<|||t| qdCg4E"9t-')iҤݻ$oժ'Nș %Jػw/ ׯ_*G:ϣXrƌ0ٳz4},\HC^fMG.]>3aaannn,9eʔ;¸m۶:uиŋEyVƲpϞ=YyppuJ ω/ ύXe˖̙3_>yDg/7n;;;++!%*A 7j?A;v,Kh]ܹΒ۷WݻwXP!c9}) KFA$E"=z[>}z?A<>hV_c݂_YҨfȨNZRZjޤT˚_ sH>x.JDs\$ EsH$< E"\$<"H$J<߻wKlnܸAQ`4gϦ8P;wQ} !00vPqÆ ʸuVN4ю^RӧӨgشi3fPW;d/]-۷oWu8k,H$B!3gy.]н:Ϲ꓅q\@SU]֭? E"чyޒ*qQ8p8|gBT$Jʕ+Ϙ1#C Iy׮]ӧOa"yڤ07 s:cƌI9`Zxn&LyrϞ=/_>KD/_\BWoݺ<X]vҥKKf+Vjo޼ٶm[6,,%'V0~Æ 4/^\_<[lllX844ݻ0Ǝ;*\cܱn:ŋ)›7oFVۦM#""XСC&jժ !0}st 0u$AGQT1K\ N8p.=>>^ѕ¯,yy Y9 odaxM x/N٨N2XXI#N\/qsHxax.J Es\$< EsṐJ$< υ"\$<"Hx.J33իW˒ۼy\x.??}| I[O*UjǎWkkɓ'󵧧׳eaa/1~}zYr38t-)uÆ <__p!{^ޟjݺ k۴i#<s\x. υ"Hx.< E"\x.< υs\$< Es<1<777ޙN*\pRx>cƌܹs';A\r%ݻw/穉3g!%BMJK^uv,iZ*H߷o,+QFhkk |׮] 6d3g޺u gϞ4+P3\wΛ7%֭ڶsz߹sƣGv֍F\r߿۷oƲ$jSvڴ\kSstKw;vLxnBǷU$JϏsְ,A:^oڴh L#pF//~_n 5o4" f=,fR8퀳2ݻ3g1FV%xT[RV]\lɓ'YҨfH$z<| E"Hx."H$"Hx.DwӧcO;wz%K~eeܾ};*K4_^o߾MN-Zv}-[xQe<~87nTƛ7oҨSϧ]0?F}Nڵk4.\Pvܹsj%aO8q۶msH^y~ܹPuڕع{.0Ncƍ.]/*U6ٷo+ 1ݻϟYfƌ-,,TV^ݦMjԨf<ܹG, I;xyQx.+z'~׳fj޼׬UC9ynݺp4|ݭ[7װH$< E"\x.sH$ υ"Hx.<Ds\$ ֭[gΜy)S&)<;wȑ#)Yzu~ϥN\onÈw۴Y=zÖ-GF>mǭZ oevofk}Ȑݺ8\^?٧QYǣU%(ގJP*Dp8 f^F/ignnFK(ֱm#GkzUXأ-EE=k|1YZ zݡf4nyh$h`<׮]׬Yaz7Zoڴi$g ֭ꅪVUnTejUJʨW6U6um~CWm66($4`zD!Cd̘Q,< ?"q?J?YnTj̙~Aqhr^B!P[vޭڌ Q-یpj3 J*A6+f]ڬB ?#< oٳg9r>L>9sCH`v^QQWUHQɬYP/)pXE`BRW%'z@ZTf̘jQѣGq N` {G(+pa>Ͱf:#/P0ps[+<綶wP "oاO'N888={v'O$4d/8M8,uƑ#Gw-芷={ZSNqπ$;zh?vXh5j  -xݿZT}AQf1hN922A 'B8MOOOԩSsM4 9qÇь3#Ԇ:Q3_P\Ws}f ( V\`DLQmoW^8)S_A*"^z 6Z* `ի}DN . ߑ;wnϟ$+3V(W]FP?P OK.j8wQ8ʕ+u|| p8ܘd/|Dҥu A`/̰suЯsB 7ŋKbpC_BBB~=zԩS )oܜ%sHx>x޽#` FӦMC|7o^`_~pU__3g΀D:fA)XC0 `2|y5kVĴ8b8XرctoQ'jƟ`D,Q -h\LwA_9|ST)85kn$W%bc υ D۷KqʕCO%)&M`c߿q/Bz@<c=z矃8h | X~ʉ(U%JO:ɢ#&ϔ)7oބo1x٩ */6mjffIw_)qBԄ 1W耻ɓ'_pO>9r{A] 2@%ɧ @(/^RJ-sN㷐r„ 5 tL#p)LD8 *1cFɒ%}:@Wq; bo N/h?:pX贊+"!۷oS$Lk_n υF^쟔>}Dq|iuqWWWĽ\ヨ\b ]v9%((ȑ#cժU s*@.][n͚5ßPZjLb3}l;| WQY0GeFYe)W߇ⵞY]mBgVWBRnY]gVW28CeVWnHeVWG#~[?4fy⹚lj"3"r"Ϙ1Y9?4#$&$ j~;Sc1KY]<9y0Nr=ꜯ9K* jSz4&+&:P{[(3bWHW[{Я|E9[cذa'j=z"f)?s̔)Sз\!8&oTr=:!Ir  \e)W뉈q}=ʬ5tCj 9۪ى C'b"fVtC zfu\/\ms\33#FBxxZ \*-z0W>zTxefzSet@-cǎŁ/^冈tz E]: \2ѢZ\4冈tz U&s_}UD 2G%;+U=:} -`089r7a @h|\  Ufu`.D> nGwS ;='蒏yw/^7nد_?dC?!gwB ͛7$Auƺ-Z@Z*Y$a|̅r%4H`˖-HS0:NuL|̬#Gݻ3_. O?iލd:p! sg`ǏQ# B y? 0|vyU޽{9ax]͟?=i~3y9*U_za? G 3\F Q9oES ʕ+saiiYۗ !~h Gbt۶mωÉ~iepD?S#c ҥKD]xnB́ϟFlTiD|$p@:"s)-ꫯ\XX˗Pz*"͉7ۼ\׮]===u n Cp5J ~^^^`/;99q?h`LJCʕ+קO w80M6uر~xwހ3gp njc"~ШQp7 "lF8 GXAaԩSUӦM/_ֽ{Ur?h>4h~bU3zN]N<1K!zbsKƤۅIṭ]NDYbBMk2.Y$pHPGD*B+F|۲eK`V*~d΄UhѢj&$gD̚[^=9Q4:*p1p.UPB Y)j|ڵq ٪U+[[[ s" yVa`؛\8ǁ`Adၪi5j@$i3-ZsPExϙ'_smh U߇"$xq 848ʉ6jH-5U? p@Zķe˖E,)uVĩjڴiùR .89A~70"bGK8Y7Zn޼ C-8e]AR_?W*Ѐ?i? h0ڃ({&Mb8>/"anG?: 1P&+LH$.rs[+<7!#Y642m۶*k8xIW@f͚֩S-3PYZZ"U 3FeBڵkWfBH`כF5 7 'OV@eHHʚ+CeZpa.][iU04 U/z|E͵bبL_w8#~yscxdhܸ1gŊo/g)pvAϬeV0aYԳ=o[` 1|ނwIݺug)]DLخ6תU ݥ#ԮExa,ٟ(\}Hk\} ȍ3\} eVJeVǡ2"ՙWϬdFNzrꁹʬܹ̑ˮ3-3TfuT2^>Tx!y΍n7nMj"y2U,>eԳs"K<**0 RΉj"3+ j"}r=*k.33K)'T^z #ƕwPUfuWdIfPnHW$eo1OdɂHxn.&33p0"NFO|\t@Kx|Ydɕ ܿ2eF}'sy|XDrў`=_.K*_.Pr9<"U\d/b`Dʗ >>ٳg (зo_\ʕ1f]vV"666*Uҟ/ 2ʬp8(C:vXF6mڨ)VCߜ+NoKʝ;'9e˖RJ۶m~s[Y&7'<g̙3WԻwof<Ǎl[ ~@%0ƕ >{#GQ=tPlZjjV@UAL# * "Tvpp{FR}?h+V477 Tj?h… ]v{qP~ɫ_˕+רQ#2}?hvF zUI9;;ӦM8Qw(07n܏?HD9[ "p\(>Ifx 1H& wܹ3KPў͛#G=\hz70nIy֝KcȆ @x.n888p *F!n!*VEbnDg8 8 i0qaƹѭRQ)EGB)Jgc3G_sw}{uw]Ri6mɋT1%&*ÁPƷC A@ݻwf͚0Pmnٲٳ6'&&bJv9``L .44TK^2 @T%89**jo\6|4h;W=xӡPД Yp!!gBc """ʚj׮ u QY߫8+UWYQrEZHZe8p 4gBBRUFr ڵS+kX #6]N :͜ ,Vv2<ƍ+ ڦ5N$ݻ7Ȥ0M6Mi 0XgxE/y+f߰NCE,1ٿ8/wor}e^_M#)rFxtaΑះ<ӧ2Dy衇pnqݪU+ ("vyʕZtQd-4 $@6g2UK=JoʻuU`8|}غuz쩯3b(SŴ6buC̙ӿigAz)KfͰSNt!S-0a;U;k֬A%%r<3hd3~h|rرc7xcF=Slm1UeC?/υt7 }w<9R3xxx~A<5tgVlx΄qӧssp8/S&gpU%s^<Ǎw)W܅Nqر|[,7-4 ˛[8qu[r"g{{hes~{'g`שּׁ?իyg?ΗQeʄFKd;!x)Qą\IQ:pȓ 4ׄmgC@8ߛ1KPA?kyPߝ MfuޡCz`dddZP& 0]ӠJo˧>@O팅~'cbPs>\湢!Io9rC\~ZWĿo Z+K۪T,8f'BnݺAcm`+*Y(VVM\؈ 2sW3p @ЕBt{qիTeκ^fxNaԨQ׏?X[jU05g]H͘z8lus缢x n] ˎߜAp07"c3"EO?WN:uWj`…\%.l\2_xΨ .eU.YfCyY%G0,d)$ǥ4OYM>. ;lBz%q),_anyaÆYPرcsF{/~ֹ_QA_ ƒ%KPkE-Y?.#k׮`VAyk˳y&<<^6vX|HA @H}崕a2dõJ`uF,""Bٽ/@~7N:= %exC\A.]0 d戁P&j*JRTܹsuרQjJ' + Mcfh3g*fKaio r)5f.c399bӇU0j3ϟ<^98[!!!u {3^9z+Isr%<0 h ]ݻwW,'_UB-C= TT؅C (D`ȀRv !4i -ƁVA qŊ2%%*UcRR8v[O;uDTްaC,i2}sj32x>r)n`vji31Pj3̊wsS Jj3 5q;y 93("49=笙y…?yy$&L|\N.R7\keڵk7n *!88& g̘ 87wJ{ u?Y_[u[)tjsCl` VY\q7o۵kxTNJ/j㯒3_&|y?R-VZm螌.^p5ydj/LP ,ӧs<n9r 4=a,/?~g힇6}=(ol+·ʕ+g\K3bbbWb/PŔhsWT\)Qz[^q$!zEmڴZmAhQkf^,5m-#&nڭWTO`{hӝ7kpg-xxs<7Jb+ʒ%K9`;_ZxBYVxC+U)?o셉WrEe v?_ʵv?,+&ޟSPpWx8;luWg4mWnp-&2Y3 ϛ6mQs-tyq|\Wk+ju/^<^yjjjqsFJ! kN.!|6_y.*w-YǕG֭x~gopCCOؠ'jJQ?Za ]JE㰫N:fjڴ)S)w-22R <9SNǏoӦ"d/pU&S"j֬9w܆ N6M`TR׮]#K1lذ.]0#{>sΟ?^z3f̠Z-Z;wL|Ji6FաCE*A~EJJJڵeߪUתUkٲTj߾ѣ"y={1bDpp0]5ߞM8 ㏶m?[_/\=OϺD#Z!@۶lر 4mI5,2QY0^yl= q@@,S*sRO>T( *9sɋVThԨɓa5oIe~AWY *Fл6P=UڜHv6-Z`P&Md2 h=h cF`(3`,Hjj*%eB |ۤIL =!<_xo'<߮j`\_焄0Fy%^<~b[9A͸q|99s[xQ=yr&46s)K u@zf2|o߾III"(~A+*?,LUaVCb>W^|UKe̊ x0'ѡ1|f j3.1Vj!-4{ %2dLi9 &Rf'Ƌx \P0NPo6c)0L<)Xl0{$Ӻ/htC%i&;I"ΒI{NW_}50$F13}<|!~YfqF>;v Z>*SJCvڙ ׭[Oqi|. fx*C,8dX1UE xU.v ][.MNN /2ܹ*W~iUۥKF4%lK.U 2N{eQ9u*AAAJլY3Q7Пfcn:5~~R.\{M{yPqIWёp ǎ;>S&9SKWL"N:ń—MJ^!es_ͯGǯ0ydss=<5ia˹sw(X s"E5vѽy"͆|y<5Jr.bg~ sM7qj~ߒwm[ |ïl)Yd\_=ޣKt :B 1"@ݻX/aɷDs%E7o_y\usK 4k,Vݪ-<<+`>}(ba#`-╏ hシ=z`c#|\b8qѤ޽{ޮ]tp9Y&~W>%J`|եKw{3EO7frt.7|3] w3Tsy(c[oePLN/Π̉J_~71͟r}=A *TT+xRWC=Im?O>Mg˿!S qEEE]s5w7 cǎg]pY8_ۆyx ;{Ivp4BJ.Oȓ2o%!\R.x(P_}gZs9<+ır'ć"Æ 3u+ IvKll,?x|`u~n?hsy~O :V>93ʕ+3j׮ͰGFF1Lqzo ß+Lö.QXϳnۑ< ;eRs"qR.H]^Yʵ_Eo EQ9":[&>>e$Z¸axpN4D]Z B\SeVT"+RC(rFf %U(+RjH%EH>9PfuM2c)E 85Z &LVlF(kkY c@zL̿ϳ2<2(72W[%=z+HvŊB0.vi/pC%-Q.QU$OM&EshK!<6^jfXo6F(݊ڬPb,*[2CBs)fJKal.i3ǝ?yVxfsgKs'y`؃>ؽ{weR*ѦMFu6A߿d.`5`I& :TYM:544Ԁ-Z67hE[~|+,,,111""bܸq&k&%%WYe˖7iD]-[䠔|&%''4(>>^U3Rp#<ILjsfVZePӧ/!!AdR(r LE СCs,x^Vp'N.Vr?Wp™S 7s+/<2@Rϰas DGG;;q$l޼W^Jro?zH>}:Ufĉq݁Cqu[.4i裏n߾CpR?2~xڌK=aƍ]zکSL?#z8wso 4ji3g׵kL5k&Mj+6hӦM۰aiKB0UZW_I6{p{bjՔU^bJzHZ33a„֭[fsX(mWY&P5̛֢7oʕf"$88جW䠘dnWj+ӅK|D0%`_[F zE'NM<T&DWZUD t .4Dx㸯&M6`V˹m=xA&6D bŊv<Ѱa@ʡx &(((hРA&A{Nx @wi*NOԼy#Gj zΝL<ţ6DuѲ󔔔 *DפI/3ԡC=/rTT≜8qC<7C _3U~;tPb+W.jC@G|\&MZ3gR>.y1b"11oq15ZFS>.N:|\8T[b#zv>.lu=0P>MBrPv* @U.'Nr&_n=*U/ĉ,Y2""+_.FA }wLw}8|[nElM"EDGGCc>`e傽ԣnvj׮ o ˥J/hѢ+_.+Η/]fM|\^N|\|k֬QJ}0Ryj\\'N~w^YxN/ؚ,pPP@uUC(ςCyRJ<+Ҽ`@ҝQSI,`gA;wja5ڵBHoذ!իsRn? 'N~sxk9;~)Wr6RH;v=;:4i2)+'?YY]iaiӪL20@D]ߜT1Y3 oC`>h}9۶LYgCL]!LT!R.Yʽ2Sɬ΁2(^Y2Cvfu#Y3+Wfueв3<3&:ά_;Ic.Y$xx<'xrD8vrJ;kYʵLLL6EdV7x7L/;KևܹA+ڬuie2Rj.Lf] Cm֥ำgxx<'xޱWvrCc;CAZ |d2zU.]\jMͼͦ|mRxx)fsĤ]Ns .^|m|k΋'vr) ؼyFC </mO8z蔔g5jԢEj7nعsgj9zn6l`|ȑ49ϟ?l0O>d׮]HߥKz9q6ϧM6~s8;;q<-VZ.~ hmذ6mreoڀ˾ߒH-[G}iӦ`Unݕ+Wb>Zn㏛-'[e7nѢE^-|߾߂SvS-5[GlD9ɓ'fk`2^[(Ӷm[ڼb ~K޽Lb>sLLHHͱ~~ :ud-By|組O&yʹZJьknS&<<\{=gPwٲez {]V]9anS{zZfM6cVK>#y(>vRp:ʚK<j?WS<VاNTf]x=uY8gΜZji"~o pSző#GA^cǎrhWXXYWͲ@ObŊ@O>4hzŸ8 $njg17l0m4^q#^qҥ*Uzc^qԨQ|ݬWܹ3ga+fkS$HJJʹI&Z5Ѧf"*^i =! ѽ xbW$ ^܉y͛*СCM<}M<' 6DZ2Á$V<hYf)ϜIֺ 5Dx&ⱛeC Q<]wEOybxx"&|[hG<>|x-DD+h߾}C(;`5/ZH[Ջy:wDNs&_JL?ͻ[oMII1ڇNq͚5VNp}MA61Onȃwx[YRxx۷oL?5cǎ\|o]<ɓ'c#LX?Y` ʿGVuҥx2LSNtt[n ɱ4q]jԨaqA0' oq/_~Ĉ&ar*׎;8ڵksSj'Ǐ \+?** J/[ ܳ8Y{C7^Yt*yܸqUhQqa,+WZl3}YBVtR.2-q(QI֌\W%00y ]>.s'9s>|xbfϞ?'$$,Xpĉʗ[z`9͛7u;pSD|ŋC0D s]U<0ۤIx \1""dɒ}_ʗ<#G`L&rA(*b,S̒%KəA.\8|*Tݻ7^=ݺu!hIL]\s'9sgO# u{W؛~U tPkd=FR66R`#` .[F-bтpbV<2b#ō7sgѺukF.uVJ#Ӧu؈L|GYf wڵ܉y\Xe ;~s8l2@'5 \قGjqjժ%P}ʬBDm<~sǏG,XIO>٠A,ѣZNU7EO]~sNk?h8١C6SH4N]wtڵ9 -GMƍjulD%4~;0anqj ׯ6G^,d PW^!MG#\Aʕ+c#J.mayMdz֭Ox> Rߋ+-'AWU< LJLL *R>fq;ܹs›,4/WdV+Y]Ya/5~^Yʩ19ANsܸq)~ɬ{.\qFU`>e^+VsjG+:;NU]jCB8D.r8ʡi͠14ѼV7mz;^FQNJ͚TET{={9Ds8>4fD-Z͚}K9IQ+,mi SLI̷h35I6s,q˔9x~ XbU8Aʕ+<ߵ+m"׳:_„k'> S<乓KHϝ8܉'k3ɓ'\t]x͚5s\׿%o}=Q8qBe˖ծ^Z#G+"]r޽R F! z+WرcF/Jgܽ{/Q~wR>#v˗/7^}Ν;ܲe'Nr篿zÆ o$}цf6((PB}Yp֭[EӪQFQ~R1b֭%Kݻ L7p_HkE2e FиVZʕ;w sO>ׯ cg.]nݺ4؋D=zmϝ8q[qo)bk&MC֭ۊ+7n܄ xgP٬Y3SɡCn֌mXwGٚYfEDDHSO޼s7x]mٲe N( l>}1z7r-a~+U{t'M4fGߵkWs'YfĞ!:q۷2&Nϝo-{졏-_iӦGJuxxx$[_=K[J.'[w:~sss'' ߲qB˽ޛkm(VDf8wE… ۷ooo@Z*xwxxxw/^|Qy%GZafK@5N/-pI)3Nnj+ٹs :tSQ%z.kƓ5Jfq%*cǎ7o}v ܌>&ݜ~ϝsq<Ĥk׮H%x)BBBvɉUF.gV|~kwa:L)Opmc ˜!E$ٳ'11QѣGo۶܍>'{0:\Q /֜,,ĉRoRzmgIiԤ<~QR~F믿Ji$+=/Jio{)1R.FW`,H8;td>**L;G?Mv g_R{/ޣq[@3vN@Jy Hi4C\BsVkvaCG\ڙEt6m9GN.n /!R1(7o,%߾Zoo96jHJ;QallqqqFOKh5ʣGjͦSo)-zK9i$\~-[ocJy 7@Vap!)SrժURkξ+7l_[fy8>fsf[dsss'=0dʕ' BG=d/bӦM]tэuo>L_y)u(P%{v |G}A@]:|zE^{M`e9sH9ydtNgŊ jS~7|(L30UVetg.\P'N(s(%'աCswΝ\d[O6wU6m(-\dsxbXxxxxIVZmܸK:}<ϴ4E1e-utwyGJvZSfܸq&L:V鍊npbŊvB*=ȑ#߿8& Mf;7-ӧ/RƍM̳U7l0m2 sݻ~y zo[ݹ6ϝ8;s|ٲeQChdȐEKdd0o5 6ԨQË;wR<LB!EpuR6"ATc3tPSmDDYr?i$s<&*ɧiVm)t*vxgR111^{G:;lxJzS+0z%\曑'xk_{~5;嗐d,H/{MZMv8bT5NNN5Ǐ7;{7N+KavШlP {s\Woѳ37Q?O,|\Ç:uϛ7 #//|\ ý{|O?(P}b^{ e*<[úp9H2V/`ڴ2oq<,yOkpeY9 z${zB͉yN󜟯nly_9wdD8;;;(Ϸm68M乡zhU/W/Yy^QU֯_xx~I70ig̘!>|d3^pW*l?&1BTnJ2ٌSRRT͍5%\x1=_JjV|х6Ͽ JIMM~Ĉ6mt^zزƍQKfc6)7ջ B%yNyוIؾqQ)M9?3[xWa;87[JiGϸZdd Ih,M Ƃ*.=7J~/쵭&@%ͦ_={va,6=~>r|>rgL*=N|}p^4UV1_xsN&$2v[ӧO211QLPWJLQ޽{YF1^D9sL)'MdPatl,CԬYSz;2""BE%Vʾ}}\]mժU߳gQ_JY̒%KRڵKJ\+VކXhhvLejjCͮuÇ'%)i+>3+U/w^s'yأ6lQ_^+K8$T٣%fȑ ,P &(棏>%%S~m˖-rMBl믿۷v.]*1c )Sfݻ[nN5Uۥo۶Y{ѣG?]n``Z~`L+/000&ƍ?3eof5svR./\˨Ix1~*zԑ#GfyΪ=;JMJ܉㹏=y}>vshMfLdo[P+̀222(tJiwiRy{7՚YnoJio[JmݺUJ{ѣGd.lG* 0@z{9sHixZz<`ľRqFi K ws<2VM߼Gz3{ /^|o߾kݻRDEE1ФiW=>CsNM%͛?߿Wfԛ3J*E#3$Ӷ_S}3 kdD\~$O=@6߿;? Ԅ[$d~饗7nv-lՎ%2x iL|qeϠq/KG<{?0*vh(O0ygRink֬)YEĉ3+<߻wo޽s:ud*;w3>5fÑ{,|;>^ Os_evM>]'NX))hZBHYf͘1CJzO<J\ N_AzfVl?ǏWə3gr\K3ϯ:9s1c6o,=cFys c{&_3 ٓ-9gRlU:xxx+`AV'i J崅ثvzw߅x!44TͯL6MJC͠|*ɕ`_z 8ЁU_Rӫ@8l oIbӰ!Nw^Q&zHX};yh2$[zT֭5yQK=ImbxLE?dDeǎ# 8еk׬|ΝʕsJY{/'3l3 1sL_L Ol߾}U6tQǏWP0 CKLǏ"eRR8*U9֤aÆ*o߾UxUΛoc=׌3ѬY3)?,Y߲eks ŋGμvƋg$-'<]Ç~ ?B)S(E4J'% %K8χx3m5W%:u wk"ث2cJuCϰt)TkW8IF7ƍTwݺu*iߏK7umwx $00PB&_Rg}&i۶8)ׯ_ok׮~Jo>)j[l)0#&&Fʧ~(y)y:x1}6:L*^蝖v!zc{ϝ\9< Vvm/ڵty砢R I߿gϞv 4M%-Z$inݤ_1;mݺTR .d/Mbb9sTxܸqk̩֬Jx`.`Nڿ?폛8J}OבyO=f D֭[woN-vDCڹqҤI{󕈈YfϚe׮]+V2soHL"$gihSv-;aRP~A++c'G=rT= ng^{WxH]MMxq5 _§I> *(`R.QV=RJ3gـ~+%B伤2eQ>}:o9uO6MJ{h#`NsN)uLfMPT#ĎڱcgPHWO4Iz\jvzKJ{|wRz\znW,էN:zBX")Q]njc?1}vCfNݽSļGzIgRbwɢEӞtTܐ!G_ZLI5UKt`oѢEꫴ,}ছnrMjYػkuI;w'w8q"N;GI4lW^qDϨ^tݻwLD?sCBBE{&z>={vepqޯsW ϵ^1+}:-=W'Ԓe*l/n|Æ Æ SI:!CI !spzu]g|̘1 ,Pa~q*IKKtRa']xc_~e%K=zիQ\IIBWZ5 ;=m˖-*LӀArĈڤ)-=x9\׍]~&'71J/_LK,; Ѽ4/Bʚ5kzM6&*,K@v4lUXDh)s v4:jV] å407H^N<`T9?n5asnTym繓|.FzgɷTٓ-is+Sڬ~b;vv=zjժs܆;w:;q<5 *4nUy~G=A[l9.ݻw_jQF%''K9w\0h0#G鿥dɒ_5z&۶ms&Qll5\cҥJbYTZ5Ϋ9sTڱrJ,%sFg .}Q%ժUZ}]d sA¤|Md̢\lY*ܴiS܉yU{Ʈt<o5o޼PYF7-Q)z>6=[S-B'x *xkU >MvK tǏWkqW^-믿^n00WL l RᄄS-m۶5f\q[no;;q<WgĢx*e9=?~8]@rI)m{5b85zt2]vժf}hJ5s:Tk+?vSoff+^u2Pᬤwjߥq񲞨9)[<_}Nϝ8_zWَNs=%s|6$J}Oyۙ/\ݦM읞F_~믿.=zT^z7ن.{ѢER>SFKiӦ٭o߾v"##7iTb7K/$o/^랖^z{#)|?v4$^K$>7nrWϑ~{ڵGHOꪫ9;;xAUZgC]. .>>*倀\r999#6 Cn1BL,׮]'OYf4D$_~Jzxx9tP}RT1TPdm&V9E'z0qLf4@x)Tfv>Aʕv֬Yq"8q%o7IDɻ llMaLbgZ<ڸjmJL l.VUS \Ê+~yx}~7 *fK,344Tsʔ)PML{{{}? `A|}2uppT 4%1͛7Ŕԕ0|ܹs9yNxmٲ _{y%эa Kև WjY>1bÇDž9tBp**7u*Y4 'x^Zի+8D-hƝ;wJx𡪨 lݺ9Z.2)ȶ|x!=Y\+8C :qt[)-E%kg\+_}]]]%rȐ!V)sر#yNI;Pb]> nh.,tbo^8vd?QѢE%z٪U 1{ꥪIgNDZ&*gFz6yN[/^ܴiS.QGr`/@ѱ+0d@ІT]:t m׮>|X" *drɒ%i!F Vqٶm[=ѣ|I`@S{V.ULR"$9K > N8n`rߕ篮<uwKsٳstk4DUMӡ7i N$hsdmdF1_M9Mdߔ[dȭZYd2ٽQ'Q")ɥ+cH=e&F&mBgΜ`=eSo$)keD6]}zh[Dh^'j+O,ȑCB h\[ЉTTILr~--[W s<ߪU+-Du,AS tR;8$v[dlA*~]1տz~c^ppbbpL \h2=zgb_u:uJLO)S3͛'Pu{Qɓ' s玘zPK9yQ֜%CW7>l _|5kTݷo$h,Ҏpݍ``@R\G<~x*&$үUV޼yUDCPekU)pݻ-MุU'cJd޽e^d@;w4퐐]?i$'_Dˣo]Qo߾RTT!&,z Ġ7hse1v"dd: A dFL%>yM.{"/8@$<̒%{RJ 9Ƈ...2Mp*O?ի1cFJ"S"Ϗ= >(<')>((}F"ƾ@+N SzDFѢEq|͛gΜlٲ("ϩ>-V D/_>EoYzԨQTRᩋBS9yN9yN9yNyNyN9yN9yN9yN9ESI ;w90ޠAOM2/{3gθ|ƍ+V'LPhYf%)0oڵs( /^ĴR{ٳM'Zre=$xj6mܹs^^^ VZJX͙3G_}]vKqqPtU:ݻ7sL;wLS A%IԮ8q]yDD^Jd߾}׭[mA?r޼y,$~ٲe ")`o~FmݺU ,Ѓ/5S,j_9VDgΜH}GJ_FBnqDS_DgJ$u!@X|qj&ɓBS&bϟoyN[ES9yE9ETjy֬YWRZj"s*ƍU@&P9ūc> ϟ?ܨw*ڵkb ݿ_Lϟйsļw2|O3TFB8Ȍ2\"~g NGLu{q7%1 LE)ڏ#xk.\PӧO}z}Rɒ%2g̘aaa!M~ ˚5^oii& >> E/_Ε+le>Fj;?(<')<'ss<(<'ss<(<')"Ç7n8<=ztޛoߖ=׮]k׮yNQT:tQ... vqЈ#Ԅ]@~XIŋyѣGq\1pXlS:88Hȑ#e2+It!=YdFMx>yd=ӧOGR:99mܸ1ڸJvذasQoI&dјBS<9T&8,fHH ~cs}|qpY|D9rDL___=ɓ'ࡾ4qD g/YDLtH^LdCOM Tfppz޽bN>]OΝ;LĆ9yNQ9jDSyNEyNQyNEyNQ9ESES9EQ9ESES9EQ9yNQyNEyNQyNE9ˁs<(y'Wǹ-˓Մd0E~:T YNɳrHW],JW!2SU}[P/]YcmbM?~+? _sNS_{yIɧˆ>xa >m+XO xšI2jg|wDMkx-? 51c7CW#YdgfxL/c?T}?$ۤ{:SŌ`g#@UkU+&Q2&P?HL6"_aύrxS𾡱Fv:UY?0VŌ8~!M>i}o:x f:vW^Lku-Iل!03Ȃ:<u/3φiҩ<^V=Y i MN88prW9?$-94'i^ش^r~L2<<Nj[I?S},hvCˏaa7zwӘOA_/Xӿf|Q~ U1^(biO٧E^Ggoh,o,lZgNڊ8 }>oq}doM,1MMXلÙ'gkFNj[i$o:xn,(u-xI QH_Z? Q?WcƒۤgW]V_Ǵ{KbVڸ1Q1 TǦ"+ɥ~J¬f/K#\S#068gH>u,ɹ5xg[y\Njs/{DL>/]v96L+ssQ~ӗLjVW "4R8d<Ǵ((((((((((*ɓ'iӦM)˗gyRE}H:u*_)'2VϞ=K <|E6m߿(J@mܸT֭{|}ȑ0IX&E)Wǎ:TaPE\;wN۷|!3 EQy խ[PΝ;,ƍ l_k׮p("S0\ӧUdd$ (fڵ{)+iӦ9;;jQ9qmڴI_>O2]yN}l?~tGMe;yN:Q)#D=Qt1b5=Yu%➬ /^, [,Tŋ?~< AS)666rppPŋŬ]2^)V|ߣG„Jq<{n߾}x=}9gΜ͛\xoUbnݺZj[lYf+Wٯ_?ooo1]\\8|uԑA#Gfͪ }x+)4jhݺu0{' X nڴ]۷0G7-[,L Fc{]]]߿/Δ)S#a8pFb7ݻ7yB,CC >|_s˧^fɒƍxW_=̖,Y"]\9rH\7.Z_~19`={v)R)'&\tb6lС&WǫVUJ}Pܹdq 8yhW]vՑ;~x5B[ti(+S2gl-<, ѣGh?yjժ>]؀s<->o[:FQ9y:x~v}lMiŨD E穆gϞ3f̸qH<'.EQ9yNP,TڵkL8qLNp=zm۶&[n&ɢW`ŮLYF"===pҥIKt=yruY 4JGG|F(sb6jH׮]*sÆ ʴC-yʼt钘h ZիW۶m0`ǏWf``]LE:yڵkO?BQɡ2ր+Fy+\ox-*ρ$w| K(!&zivbh 3g<|Xw^4{`\vM"ϟٳɝ`Ŕb6m|v;&$X;dRLD!zĔmT޽{5ݼyEAQyJׯ6X(>~x9e_^nݺ)͛|?[ZZ3fSLQfhhzR+WĬQ'$ K{*UL˗ٯ_?e^xQ̟~I?ߦM0?b1ַh"1*F*f d7O8L1ϟO¨oС'" 5#FSI}k߻ǏmڴYкu(`wm7o2V5Rmmݺdɒjfܸq<<<$Ym̓9::VTi\tUVbŊ_~EdyŋQ3F=vX >|mٲe_gΑ#ǚ5kZXXIpN8m\GSo}.\4hPZd!(<<D.YI&h"88X=zT׭[ܹs)1YIC-6<0b޺'&[Rz\j;wnLq ժUeHo zJ^&s뷈ڵk_иYI(VO/a?`iGA_Ziҷ]&s,?#yN^6l1bD+G(jm/s@\m0k >yNU֭C*G%9cNC1t 9yNJY,00p,/Y fVt<6Xi~m<'S=zꅺHo]2fNDg4$̣~\W ~8\W|oܯ9e":ZGرc͚U%OD4T>(o y*v}Q6l߾=L~;blFEEIe֬YucǎH[P_R"mVzuu9^C929a F388Z̙3gS Zb[XXٳG.O|||tppP].%KǎkڴD[v׫Wol#><^j{|bZcԺvݪ|(I iҤ1÷>///\^Y/UrVZ\?ir=9 K$&K"%O@]vՃUZdԩ#s/wh6$UTQ|AmO%S(RJ,ӓ'O+r6|m~m2Cva^Ay*֭[UBNz9˗hB\^ X><ŋ۷w,WPPPLໃx]m(Q.ZҐ"?Z=~xժU&+0Sqw*UݳLk%<}ʕ")A3GyyyPza$ 9cV5Ƚn:></s̱Yqƙw)-f$!}[D&XйK֯_?뷈/ިQ st.`;yNQ\JcA3GQ*`4Y<'s*"ZWB-5}t\6V Ɉ1)141%"s2J94h{Ӄvر%JUJWi<&yNU;~x*$I-kqSc:j3.s˖-S.ϟ={Ň6m$8QhhSN.\<[}A5JV?F^#t@ry1ԬY3>[[[1(Gvp[pՓk׮͛ׄ-[$Yf^"m1]\\n#o:#""*T .]*T~Νj.dɢXC$M66n$?y̙ ˖-o>4h6Øpy>e47o9ԨQCLt7ŊS~mttk=#z9^`MIYB=z4/}F7US ɓ3! 3ŋTSٳ<J5kNNNzT\pA"e˦rʉd'HdƍBLurJ,)ԳgOuM!6mDѣb(P$K.kF$LŬݨQR)iTDy´>TGFFЫ;b$XkeK"MR~mɰD:zHOŋM/G@&+6IoGԽ{F/_aÆclw%70a=K7ods*tu\zzz*U ]8/4 Mca^^[ES ;vL4&e蒃&N*<5Luoլeۚ&߬Q9|JMfohܸq]|q$yKF\biin#>2l}9ku֭[n+DcǎU'GoCo_wիW%۸g>&,m޼ }ǟ%Kzje߿_̩S*b:88&JMӧO+s…bٳGӧ+Çw?^Sܹsʼr劘jU|}?Sm۶T繯q1$;Ol@Ӣoirl>}ۇiпܹs-WZ5b9;< AGqqqsС3gT<0`@ڴimmmϧLKȑ#(Uf͚}7otss!C2HGdV<߷o*Æ ]]d=<RJϞ=Y2Çr`~<'ϩsY|E>Okz78/4tpYT)"AJ;O|/͛7E5ڵKŋ_rE#eA:o߾ݹsg =zTL4ILsss.Rޱc ӕ-[Vׯ_ܲeKJY<*UTn1{&UlfoR,:n@LXL}R ĉ&)={V.׃1xi3gZu) %zʀjl2&zʨ'b*刈4O:%}Dϓ'ϫy(Yb)ԬY35,G׀Kh*j -]vubbL5kV=?\߭}3f}͛7WTI_|Y6.ǥJLw_50_R/e%5PW=; yG"] $GlD)^?19yN>VVVm ['G6nDoO]b|oIS9y x>~7cpK~ zoYi]<|m9yNq迒* -fyuC"sM W)Ϧ('s<'Q(NC?Kw\_ yNQ~E s_U s_1.<s_1ao&%=_R EMyk\D GFF~w&D9H+)#sŜ:u*m\sڵ/1cFD%xj) t^ŋỳ"jР6 m5uO6 DN4 ݻ~4VVVGL/W)J9IN)F&&ƺjqZ)” ފ#fnL2\zWаaC9 0b'Ojժ&֩S̙3cmm- y 2Dw>,Rʕ7eҥKׯ+ V)ooJE9k uLf8YcV)Wis(*AԸqnbߺĬRnrB9x^"f򑣜S*l}yN%ݾ}²I"!VUʽ&NūQ9jTG^i*R*l}yN%gzUʧ1#Y"ϩdU ]I*SOV)g>oٲ()Bcm۶DرcsܰaGs+fǎ<[|54i˗/WիԷ5p႘&[YYo$%oXB̉'*bIΝ;5f1׭[̥Kq6n *~TT[l٦O2`cc-T{í]zj(CJ$ +ڸ"z1}||U׃A⇆>,$[:zKLS1cF9F60a#ׯlٲÇ:uj/jr3Y<ӦM+ľvFƍS/i=.[WR>FR;䪭+T}viKoҤIoQʟ?>nݺ-bZW)łuEQ9yLxi@EYo\_VVVf(|XB E_ر ]"۶m̽{Yxq EsmTRcǎS]$)"_+ӧŋGF=~XMȑ[nAAAv)}B4~pB.]xuˬO qeIdQٳGnݺ˗')0߷D8zTӧϘ1c߰~ȑ#K\dʔ /믿F[To߷PE9E9yNQyNE9yNQyND݋8͛Ɂϟ? o +.<Ov!><qѢEߛ-p?{lرyJԈ#ҤI @ZjɁs͐!C|xޭ[tŅ9xGH6>< {Θ1c|x&S(ϫW>⠶m&?z?yQ}UHB^vr_@߹syId-nݺR޳g ϯ^ZB ^zJ6**u:ϑDW,7otMd}sRǏ}} ׸ظqsʕ+%Jm۶!FmժI#G$S(G'dsݻ/^`Q'NӧO/;SV4WSV| F"K.߫ڔU!%X0ye=) Si׃2΂<')J"sCfe^vML}/$hƌwinT>}fwlݺu``g$9s_mmm%`y)1͐ƍgʔcǎ*/ԩO9VZ9E9yNS9yNS9E9yNQ9yNyN9yN9yNyhg~ܹsϟ<-#{yjy̙?8I,V> _qF S>xHY_ ڸ:D"H|Yz0drzT[֮]+Jd{3gHI9EQs*<(")")(")")ӹso;yAAAzſv2w%Z<ڸ6mRݻwT7BBB7ؾ}'NPSܲe2T/^,c8pIcǎGNK.ծ];cƌ͚5SyXn]V$x̙(}OLWWWu'eʖ-?~ggg9sHdӦMCk׮m޼fRH9rdʔ)($ZvYu*f-;!PV-ucXXXϞ=%](ҥK.\&yNQTc/ĉy4iJPΜ9^֭[<޽s8(<')<'ss<(<'ss<(<')"-[fΜyWX1></!C|gyz2dϚ5 %ISx@bŊ<D8|"y?<DHO?yDE%*CBcU3țw8x4n@̴i)9W֯Sw%Ufʧ,P`3eZlf,!\ e-] N?pҝ $2cEofv[?|;+"E))fKM2'K5; nJ"LR0r(򜢨1Ŋаav|Cnnڴ6h)</aW]!}xK֛ƍ{вZo刺/I&ݢ/qv!;F1dDVad)Dp:8w--d&C#"3x£XHɳ$gIVwIu*hKQ-RHD/ ̙3ɓ;zX]W𨨫(UHۑ)S@AAAI^GR] -ARsEHĉ8 K!Q:2: #Up1E᠈gT!)̥4hyNSybS(yxxoeKVVV.\9s3gCIa/8M>,uqw[o4hի[Ν;7k,-|${'NLP uj0a`mmmnkkk$d8xi) 2,'OS@!̑ND5i:88 8{, ŋ3fs`8ݘ1cL4 WH i"e!)t%3g ss/o޼{QMH|7>H%HW^Æ kԨ.Ȇa05k:t/wϟv횿KRJ 6 ߹s_~)dݥK~I#dXX1-Z ^~?p84L^*T޽{^dX;v[.NG5`/^ԩS\_z] 7rHR\^^^~mϞ=ԩ S`߶m[333HZNy<)` FgvȐ! QoݺfϞƍ...ϟ{1V@0c hR.À9e>Bx#GiquwwtJ5M4AH4ER[+t1 ān߾nAرc룊+@_6k !p"BDv܉ ?N"E`E{P8_Q8%LrG#@wPv-[Zp\]RP#<a7ݽ{Uc(ڴi_#hZ"??Ç&YUW~^b?dP@"2H$ C 0C04 "CI>@EXëTT TQP".:CB{_ry<{ksnaԩqƍr\!rjk۷``qX𢢢G;vl=Hg._f͚&L` t]/IF/:sf) p^N1O,)7z(]t1!!n|[l7UTa_b;j׮ قƵGdddPPɰa9;CVZ ^/7#X[?@6mtС)ST^Bʕ+^P 0}pcǎV6-QnذK6J\,?`s:=x+޲eK-0 E΅Vnzz:C8X uYGg 1X-ÐuܹO>B6"j I&ըQC &Ls}ٲezPߤI$7 ;cq? >T{q_??]v#@qqWZۜ%>_>6B_~ܹ?c,bcc{Q= +M `J): ɓ'c^y:5< 0ի|h۶>(xAA`?͡ dddp]W~sE ԭ[7=OIŸ#IǎˊFCcP '1 d`P ہAZ=(DDD :T9(Y[PEpgΜ/zӊxΜ9 ݥK hX c8ڍQYG4lؐ>o۶SNƍ~Ⱦ}<r@OЭ8 |og`/XnsR 7Cx>l0=?gMqr[&9Hʹº={W:{ei&??ϵnZ\d}D'>xxS-;w~ªd'&~]\M@ @XS pP#dzWჂ9$LHH?~"AȊTx /=((HOoM6իO$eӇU x֤tDk Y: gn"F! t͑aaax0ay:STT}8Y*^-*,!yyy|xާ{RA{ﵨ|ЇWK`IpEYo 6l>-Ň&&&**?siii Ae(ζy V)P]z5"###99Y8{ȪUj裏mjL^*>}:pV]waL ׫0(fqll/_N#S:R`Qb z9 6__t:th```暳_<2|R-Udt*zb,W)?+e*^e*^euJWYJ)u+N.u룬n=oy>eʔ:d% W^ə˪Tryoq<>G|%ꬩ ^rѫRN^euRUV7RnC۫nI(f)*> Õ%0eu3Cnǽu<.-naa+/+~E~E)"jTʷl"rI%qFmRUV<f/ts0.*+JY]]b!]5[RY4 x+[B.ݐn=d~E9cj,X"F/oqI7o ^rC8Jx"b9Od*^euARU K<|!J x"SVW̩̐%P) ݉JaDRfHݗe ^euU8:t)?C{-Z" /Z^Z*mrP?DŽt(xL07!*ޟ?S)*`{,CH0 f#[Yڵk9kfHH0 Jh=W}iftY -Ux s믿>·cǎt`ٲex?ϥǥz8Dž cNNZx_|rJj pMY͉x`@2A)A;gΜ?|ɒ%_}߅ 걆d14';v{ASR~J=.N8K!3ep0 PSe q{̙yzn7 5\,y*"'Mn֚5k2T=g_K/VvmnҤrqA=}27 [F'֯_%FEEnzСM6cuLeA~)nn)%%EOu#o$|hiѢ`~:\i![XB:mӦ -HRHK4h K˕znj#\ hٲe\\MGDDlddd۶m^%sf͚UR^\v„ x>8zssx|xPŚ_Qf-`4hPr> )~Ȑ!gW^}~1`YIի7j(9z3}ϵov,!;v,dT#MzJWN:i{|ӦMS$1峠3ZYΝ; ڵÈ| ϙ2 xdW^yeJ|*+W|W0Nmw<@ G}4k,f"^O$$ܔ<㙛R.=on~ܹsi֞|s6σ06œΘ1[8Y;R>3g^=E8qA\=i۶)Ss OSRRR޽xbY;[IɢOTs~ӕ6NchէNZr>h{AGFF>X1c+Ϟ=f+TW:''GYGh .sH:ŐER0mw,C0q-8ނJѮB v`v_ o kW!sӦMm'$3$jn^FqhIʶqѮB| h'vb)sG\vB$''sk# .sz[\s"j̧ONSܴS3/sc &('&&BZ6mKh_Ϟ=%J=XK8-3gpVC)6(l+FoNZ(**XvBr'; s|Φ?gpj\u!Cㅄ tbOnKR`#FF dNE22Rti8`cbb B!2PD])-ɲx 8Rj=#p5PLnݺq:S`\8^z=qN/m˗/WSN M،?nƜy%s#""C5A6Chܹ-LA-,xxa-׿ꫯvs ot" bzGN܇0qD)y8Jf9dӧO%B<>#9b#hG 6xao^^fƌ^r-|oE+0))TPP0zhW,^eu sLW٥ SRR=oq!Gܫ._}l}-WGYs[UVnxPY sۯ(bU)~E+<u !Q*ڈnn$Gۯ(aTs.rۯ~dxe)F:~ESV~E)LJW̐W~E7_kGO Od* T,J$m-G\*{㉼*ŕ}Tʋ+Jyqeureuٶs'2`)Z&Odi2\Y7= m,$-ǫ/rBNzp!_.YnԛB^<^9B\,j''0qR|tLk Pؔ*r-j›ς|,zXd, k"p@qRNmRRRRHHH\\R$$$+yM:1cFڵ0Ij>iӦMrrrΝl ֭7x~/˓ 7.]g۱ ={2+w&}]V< 7vXƒvBZ\braGv.]k8ǀ8mعs'~Nv2hw4i|aci mW!ݾ}oO{_L=.ҮB Oߴ]v ۂ{PH1q *aY-}zS%lǺɮaz 9l0|~aaa'>x~΅E\-nҤ xTԩSA !%''j"7ob.ٸq#CH>;vA{E4iŇw}#QcqPPX_[Yf;g*qg"P^46E%rC1Wh0aĈKtTӿzQ>Y7)((XchŒxxnu13ݧ+_ ǰ/0y2D .ӧ2 5Jq0)CCCE2F=M[**_7 a~;СxWiDD7])| &C?h̑ǏW*'aY@ƀQڳrkg.c@=A}ڵXj̻v*E#M5.a0@&;aZ`d 0XYYYEE:'Oƺ|| )VsrWڴiVrk}dϩtGqFE7NY~=-}P׽{(1117o6j1D0[8ip ,Cfi',,L&xBBؗB#1K,Q cC\rC :TgĐ-Rf1z -]tȑ y%ݻc/B,߾X̜9]xѣ8_3eU#G\{Yb+ws)]s<qޠ?pdi3~nK׮]/[pu[ʒ/  HM=gso=һ|ذag곺^fYyxls sErjժu<( "}hΝ6!v׿^1*>CI|}6p0; :`f?]v>f}(̄[n4}m_ _)}؋o{JXqL^l/Ư6eu-±mڴ,[А }hiz1l.8Z+;Vn~ayO|(0ڙ e}W<#Ġ:H.-c+z\-rh?q+7FEEtW}ѷnM*8_Dh؛+JY+-["KYfkۯg{nlqJSS^\;USWtK6m6BGy7,Y׷zKݢE 0=ܯH˘F8luKLX0|L ?7a1O+8/@~F*srrcOX:Y7|sW#5zj7 Tp9Ps-𼠠ϳ[#ORn֤b7 ([<U"euwD }Yms #[om޼y.,֭ I&LKJ*D>hyNa*F] 62J8_|`:T$XKppynCÂ9RRJ4xĹNi\> xsʗ܏ݯ_ s3gW$x~WT)G^+W _P<49c ϓ0`@y7W>9 .s;XvV΍,Oes-bLy>tPf |Cw_wu8\~3x>j(.b>quɛG~zan޼ӽ{FEENKKڵ74sXBשS't``̙3{葒ҧO!CxA9{|гfjڴ)z|As:NMX%&&zA6`1\l^^^ |Ar-|Н;w;vlhh(VۛzذagBz9 {*/fx^F {6q<(zWvBgkLۯ;wM7x)دHdَU< {KšLVdO0S c GK'ax/ {cA٤IⴷpΜ9YJ|Ӭ"8E˖-x48=fE U<"##cpQp+ E*vmɱsC8XQ?bg=կ_?.sa#sMMM}w,R%<֎MnٳsBQQa}:>[ff&BW`JW2H`Ϲƺ!x">iK5}x^χ 9*M>RR)R97Ll`V&;!! !رc~K/8Ɋ4b$S 3 Aa!%x}I+IQ˖-sߺukq*ob8X3t S-Z$-̖ aaa3ÌSn ~s+5ǫ4fAA>|8+03\yby? (^p+||apF8+##?p5x`f9 DW [TTgK.v[K v1_U67329EHHF@M8%K^I5S+/#mw4KYF'22hg)}s32y>V(vf3rCͪϬ#0+wsɓ%fKp _ٚ=83`cKޝ.3rN ϫVSر3TTfΜyz\\<TuV(:]J)TpnjpB)Jzp^B7ug!m[,2/8ټy3K0C׏f \oL(o3러MƏGXGHfYMg쎞&իWܹsi0AͮZ w|;w`,=zO\Ky90+7O>)gY1;ϟ8-y)'*- G --kȔ{ <Ƿg |Oyy%ڵk>j*oZxxB*+xɡx7{aW4̽|Jk'_x!^*+%(8%;#/dX7oa\)087+J3Sϻuf(rJrz\ZUYf\+j](x:3SjRreJ-ze U?*S~U9W\|6yiԺ%`ϞGsK.\7x^?75 xuןKȧxav s.TI^~/dEs sI&]ڵ3K硡GCh&jgsxw*LRᳫл ڮ;!mW͈h;m'*4euU(cqD]\mDK㷔e#`>^eu:qⳎK oqF\s˱cǘ[V1)L<11zSts ӦMV^,Y}qTw-۵kWTT$HgffsE*1cy׭EYV!Waj_w߅!ZaE. VO[Q[ѥKsjn#RSRRc#]@7 }ˣ{ ;U|Ϟ=1(s1%ͩGYynj5 b T4+ %AnHH[ɔ~~%Z;gG9WmxkɭZH?c>h#s{fƌ\ҥK.|^hvذa|5e!e\tD »KYH {2OMY$''s tTRRH}R`0y)ظq#PTyY>> ųЀa@e~E"Βɞ_\?R‹ffT˘S~*o?cjvРAhd[N-`ȸ~*W*ӆjzGEEI{L%5o0g~3bn:5~~~2Y𛀘5'ClgGz~~59ro~w}ao,-"$3O\=XӾk8 JدCˑ=U0`dmگ)MMJe`SÁ*<3)edh :0Jد8rH ; U>N70XG`/vpR>K-= Q zp+Xh;YWd==n|)((s)H^5 _yHf)ɓ'?U \[jE9s_nW4~%4t@۷@tN,tOԼyB^8tR>x""eiW<d(ъ'/Vʁpexzpz\WO=.シq >\ŌFnG シC ac#z\bz\zRRR썋qKqs,k׮UV- ?z\ bqVz\|>0 x9/_=C w3U}(sFLi͚5\7' o?`c9-z~|͟R+URԅ=W)\_sz?pq<2v%\% 5a„+ǤI@_ʀNp,ϊ}~Y|/ sy5\f:` xB ~C)%\Bݮ[ʍYCJ*+┪5.ߜ7x?-Z4UJk,= 8ʅ.YYY|9Accc)y|.㹟<;2p&UNxJyL3|Ǐ d8#߁ ӟ;̐ö.Q ~LQ*妬R^\YGJ)WVQ)QV XV 1ŕՕC[8)otæ|Ȑx1 4+VTqKx %Z"-Q*f/IPT) (*S[& Rg @m}:(x,!Y,JRfVhabB}HggλrA9-8瑑cwu%*nݺFu^о}]F5gΜ'J5Kplv zܹsg͆oذd似cΘ1Th6??ĈR7ng".^zqRQ >E F=k,QW}fr!gԭ2{Xs>˻!”\ɐ4f~ es.xޮ]4W\9Rz\y֭[6"[v5::.]FipdS3f +**P`5kᝏs^%^~c>OOOǦ&Tm8ekvY3&pNjr9`՘ҥKMfb#h#4ۻwoo YIII4 NJsεf-Zla~ Qu5K瑑'X+ .O./Y$33S۴i~x}Q\q/Fo9`|‰8 g#(ƪq{F/_\-ޒy.!_پ}y.Hڙtaaa3Ӿ}{PZ}(K qÇ>sC]qŕRW1cF>}l,0a+@U_s@+.X`۶mr׭[Wqh_'+޽;--ͻ_e˖a@+ULW?~<홙9sfxx8}V W:@i~ŶmUۯGe7oXۯI1%-ŲWlժՊ+l"­c=GF-0WtWJOA-Z(D׭[wO7jD`V۹!C2hLmD iӦxɓ'+Sd`DQQQGx" sB?-ڊ' 4*O'ѣԩS=&&&998)͚5Cvdɒ&Mx㉀?07eESӈ'rWJ?nܸN:Y?9ޯ?䓉'ro޼- ؐ '%%[]vuNoz͛'{qw@`"O:B "??_\{5jxe˖AZcvaznc눂7lo-I-Vc" x %0`qawWJDž *7|۫V Lk…zZ"=;Yq۾}w|i1cnFל9shVz\K.'ҁ?-_s~tdw{XЬqn:%%Ez\4=.u%x Vu4aa5z\|uYGH[n5Thq+s2dHf|rK\zu;v^.FAؿ6m4޸qcqʔ)7plM/뮛4i4F*du׾}{xqK%룗[Z5N꣗K bKmG/ۋ)=ݲe$aI-[tzJ)Y'^^[<U:Qo> t`k,pTT@u˕Ρ$ A7@7ny~d^0 Y`2q1@z"q)ZJ;gA111>,6xY[̽,J|;..YZjE|J))O9؛S<ߜh}T[YL\>**9sHYͱ!\8zbOEpqqiʫRNJPV|s OkSo9O[XS* ݛoS`>he(Z`|ڈb"նIZ>h)҈Z(9TsyF!%hz-(|zR<~-!E{rlX>h%ːR.KO|O6^b,x+]..CC{rf⭞(}J|JRn*ŕ}T}}Tʋ+ۮBe*>RnJ>qQV]Syqeu8YRXElr+Q۩S/-R& ;Hmthi &+-AS5^TRԏWYBPM5WjR51[ /vE(RIk¶5I[ bBe㤬oE*Y$y0IK[ .]W(Ç<=CT-+EL\H(Ӡ)s"euEQ)* yeg֫.-eu)hyMgƔչ^eu~{M(nWYx_tҗ)V[!dB޸[a7,[yu`IJثŠZjhH2e]o>۬5֬Ykx%َ/% olgxxy|Փ&M{RSSׯˣ>J*Ζ Alׯ3f>}džz٘d/Mf͚ &xݱcGLLO_=!!a۶m^O:yyN繄+WN<۷<22РAկ<6Z ,[,##~RPPݻ7>o>["""9>oڀ%//f{N[xnݺy͛7c>y{ނ={y k׮={6ly  >oFtCi󖔔g[=zΝKa=oqg|pL>}M[͛gx_h͎?>77>gee-8P6p@{F_༶"\}ݧgڃhfwwQzu7nܨ Jw֭l=0SC9>m۶0P}Ƭm{J{>\,\Ts0އb5C;vއj*oذFV̚5uC]q+Mշ~{ќZ*;nclm,X` YGhu5k#G$iiW*l"n"g@~~>}!!!گ5QRۯi+la7znWHAn+s'n=z*,M6≀?\U<ǀh'ݻ ZD4O/^x"^]<+sף{7V?5jXd*"w'xZ [) T?*]8ox4D?}͛+]Y58p@sFXXkhh(* h+V'lٲuݺu#dߡCI&)?<<c)']qsjذazzqq<,/~^}U}\z\4>|e8zhVV?O`5kV ƍ1 Ҟ Wg:t(nTt,}.\lY\{ٜoNKK;]>pf.n6ɑ)i,6|\%>yA]\> sWK7c j7˚||s8qF@'O6 \قGe8]vq !9߿ձڈ%ɡF*X"`|;w{R)?\^%s*9uu]q\dttO>h {rQF>۷oDEE*ujv*FX 9c#jժ5i$ou3g#nX5)))] xߋ,CaÆ^kA+M G'ta~ͱu0a|AcYpA O%A;x^J-d(dxhRVFJ 5_ڤ*5#w8oh׮""}A߶k߷nvl[_آ_}oRӦ;|׾QQ:v<зW^qT_}"##xL̿h*.h6>4NI95t.1׻n> ]|ut:ti]hfo}h-Nrj:@7 ]caaɞ=?ݻB9EqGX̅gNg|>ӂLt3Ϝ^իWo+~[n|Ϟkָ+FaW.,/"]@W.xx+8;Z/ۼy9b<*ko**?SU{fVF_]o]qŕڵk[g}]raÆ㏪ܱcȑ#O+W~TKYYY"naa*'Md4QQQUT1bǏZjxx8^M6M-10N[oUPP^xA0_v*mfͦ]s5}Tyatڵ[-[慹۷oW?z![nPP?E^^|]qŕ~#=O>|ېy 6mR3fΜ>%%Pٽ{wk5j(އMz>;##CfcǎU~+ovU_{fׯoЦp\0aÇСC7p`0F_|5k{nȠA9sNM}\\+SOQ+DW])sΗ*A~/+Z8xxxJ͟޽{c?'XxXG8;;rAw}O_Onݺ?sANo߾￯[p}: s},7*])b[nX$)x)\Bnn.#+j:ujRTT$rhr˙;w͛xZgggyO>쒼RΕ(xyE/|.%ڵ+9s&W^:x~);j„ ۅٳ'---##c͚5? 8WGu;vPF-hcwU3x>ǎS7 Љ U=*_;!O_?wVۯf%_ *>])O7i҄FƏo0o~h^zI"o'׬Y~Ɯ֭[WT)44:#""t>EU?{5jr-^}^zGή^zÆ mxС 1cƼ'NODʕ+j ,YM.;˧>|q)'xG~ ￿+O&_eر/~ 3L#4e<:xՖ c<Ǿ^I_x*=vZU&%%m۶ÇWw U?K.^߿ܹ:2##S駟YF#Fؾ}裏rϽ<Mٔ:؂aOP)S29wW_}فۓFQIqO2&ud7O 9q2e*z-E?Vw[_~Jo^>{=?~{i>Y /uI귨p!!.&L뮻N&_`0|f͚޽iU29s}Jy*JO+D Ԭw-|f.Y<4+Y:r,XssssWm /6(fRezzU>Sd{Vx9vE^¬,Ufgg[c=JfU~g֬%եV7 4ټyƍ3'xbРAzPm6nJ``^SeBB@Fxe(ixΝ;9 ZkaÆz1U+Z[t*ΝkHr6mĤfq:СCºhѢÜyzj<{l!J.*::ڞd֓صkpHzc\~ky8뮳cU} W^yE@o֭v̌3fΜsg~3 4mtϞ=R>x>uT>wy8cʕ+{_MV ϧOk֬>|*}ٮ]%U&vPMssss3&Ν;_>}avsssWUaXX|͛7RM?yqFYÈ=g8p|x-ܹy;9TqҮΞ?6 Z1z_O>dǎxdRE\/U+I%xhL8њ;vm3gs<:ׅʽxʥs\ Vvv~V)NclWsܕr>X ai6࿟{_`r>W])#رclڪ)xOjx}t\qsWۈz<5o?c>W.I)ՌfgfMk4F_<մxOf xvܕK[lPpDDUt;wnTDN{o>Ȝ̦١D(Bظq#Ǐw^YYYȽժv 6(")5k[`[la;7o&U޽bzm۷og0]o fR=G9`F<>s-u }777Ӽ*ybb=o'|ݺ_~ BR,}L`>_|9l)d┾BQ}p逸RrJZVtoKQaD^G["VQqd"<<%\ڒ?327FAдHx.< ˚|:OzcD>ADs\x^}HZj+VhB;pB9իWbYZV0oh/syq%aFNNMYۦgΜwȘ ~76i$I!ИΝ;`T( 24gӓ>LT.4{AHi)|NܹstR}.H}mscf9ϭHO.>pc@ˣ~o7nHLLĊ t0s R9xKIxBƘ\fUyrTDDDsuqd8o7y^'ZM)64ѿSm`o߾a/"%GJ+G]reFs,O3=P m讔>(m(h:\HԵ.~YRs\rsԯ4u[<4-o]x.WHzw4deE;]tiGSIII43gTÐgy>ۛUK]}6mɶk׎'9n8w14GiZUVu5>266ɓK+GfggϙְgdS=ju)'rɓ'"y͛7{zz~nӦM8433VB OlMYz5@q޼y/}~1>С;:tԄ?tvv3g?`>c FY#>c'''~}ݻWM;v,0`___5ŋ!!!L2+jrXϼs/5oݺ5/\$*&vFYKwyB Es9  %%%:6ߘJPN0\F=cu9m?Ƚ4(P4'ML~|gi1iJ*{[lUۛ4!gTX 3ƏO_7&&*|"~i,ͅ]>x+W[RuՖﯲwBBBdd6͛73.hũ|\zug]jiU|u_1==}ԩDݡ|j/^DF`0 p ͈0dA :o͍5 M#/_n}7n8ׯGW֬Y3i]kqHO+KUV T[S|A>k׮EPEVgϞnݺY _2V-<W%S FW+ǴhVɆ\x.<u&g`,.1 υ$KϒɓG. PܹsIx  sYOkˆ`coO^nxLb[' +p~F|;&xӈ y=<-ZYfdf@@MDFFuvv6|„ $kdȥj?\kX3gLF&$$\@`S#ޣto۶-44QQQx_Vj^^^4Qa+!׫WO9r{LL SRR,wСBxN̺[s|#@E7cKOzgɴ\x.<X #7fNNN9@9n!2X]v1󮮮c5jՇ.\HS.*_Hy6κ H\JsĈ$UB]`,/Pq`5憎n]Jul}U\xn Cf|ջ߂ g9o<.Z*У L7npppgqfTuuU4M և!4[aT0]ᨮ]OOOCBBLnܸX47[?.<UsSNNNu?ƪ*7ZQf׮]o޶W 9)}"Ṩ(4anCFT0X _LoOhKJHx.V9ҥK\66FTGYQlgߪvu 5)}"ṨZ?|T?mF .پ}eZ* 3gMS'''Ӝ:u2={ԏW^[Ftܲe ̀e9s;H_0DsӦM|iR}g4d{M_1}t۶mSoI3""稬cmg QTJ.ޭȇzekw osQ9R:uƵ~CMw-ȑ#=ƍSAN81`LsV"{aÆDDdڬY+WO'222&&!!!III9+]ӿwqqA|ӧYGi+W^^^8%"|rԩSpAƷb VTg8ś7>6]x.[ oy/{hث?~o9zhVh=CR-x "fQ߂fjB3 tU֭?򥚡V* ڡ>iu)\]][ڿHArjF["\偠ٯv\)nx..>ǹɤ8EB4ڶm[/**&}e[*yy5|]zU .n cdddǥ3GM}鳢9BS/(4QBgϦv2i+s/#'̓ȺHJ%P5oCM0A5EIA2sNmt=Y.pSXzuӦMQl:T=1˧EaSRG< 5҅*s/WcG֥ԧYZjU ^DK_ǎ~2Wuƍ={RLu]\Z5U-ܹ[Lw5kpm)d^x_x.<N4ĺܜJ@YH@eǏO9= υjs*++mwT#}du)cǎ-]kD+<WmsbIx%9+69^y%9+V  k]Ƽwf]J} אp¾ppp ϫ ρ-[>3֯_3!!oG >Sڷoo#۷8l~k ͩSr&m>jƪs~Eߥ˳oXgTfv^oveݞs&5B#Gռ &(믿3Ϙ&6LS@:M}6+ }iuD/MœfeFӧ)N:1Xbp ȴUmCjVI YhjA\TU y%XۨT_bʲe_~]ڒʕ+讖.\xK999ڵmِ!< M=XݺuC*z?o߾k6%&&?>e˖/RRR@={-_Νh5j֬|Æ C a$jt*-<^, V:tHv$$$4ѧڵ+oxhтO?tw~a"۷G: sz~ر4{=qffͫ(?#3_TC"yɅ%JV N=zkSRRoZhU[ ]s|}w*Y4l٢")V9~6?#A]*Y}K:ϑ#CCCyh0_fϞ=o_9E@7<<<E˟:Z!nݚ aHx^*xacc󸏌9yò.}/^̶ \:=P/}Si/\Lc2W`Lٴz8E$ô˗c`ފ)Mt+\"y'!=zaoo/O$< oI@G;i\$Or9uرbx.xbPtt4M}{>U?33@9Zx1M}O۷\bEu9t~kڀ} + ;;;=gṨԩSڵKNN=yU6\ˋߒwO~Iݻ2O>Hҥu]k׮U|rO6{-XfXXx`ѣ;vh Va믿RNHHhԨQxx_2ϟ?7U>>>H~~~J,UL-ZD344T_k׮%Ru["yY2hTh3 \g4O9ݠA=q||R(}ᇓcxTW6cMʴMhZb[^j>Yl{BDFz MՠЇKS^zU%fAFom6wVѣGi+M5~}}2-[hSPhꍽ/0u%4gee υWZZ 'FW#F:|eZpS#s"##|5{lfBPYYf(q**"r|#XEP=.]<=ޗ.qe$[*:88) Ǐɢ xqڵu~:ZE}yW^yS<ə7o#гV)7vww υPkDp h,OW[SzXPn'< +Ppuu1 g_67amir υjs?ׯ ֖+2s\x^s<|2StHm߾}%9X:o޼bGp[nDiѢUvPz]VJ ׯ!75s˽U߼^roΝ+ qs?.}I vl^hjW@:#%/>J633Soo4 Muh0@-tЙ5s=d6.]M3""ByБ#GA_Y=''e˖sڷ[s;l nuGӴGz%7?ϗ"it'Q")0}aVSǡi:`l }W SW]AS׸c\E2RÆ )[32z:GWJHx.htrr򉮵`َriQ>)}sk׎_"Hx^v~Ljew\LX`L4X_UJNyFFWT,ijILK%Kקcl޼kÑ#GhrN*''G-ZTM~m?yAjaR=ٹsYRi~LOOsΩJd_i<|2SSSinܸQx駟L6V}Tw0iϏ=V39sfbb6rI-تQ?zh۷+έZR<Ռ/^̚bٲeA`9x޾}>}4?裈u$΀Jiz}y۶mx:B!:,, ={VUH'&&F,WoݺyZZ@!ձ/)l[Qό)J\x^x6f~ hئ[[ϋq̺x+WԪUm \g4Xl{<~Y _aÆ _ָ>R-D:vHuAF,B 2D5p>?tPyzQ= W# gR;8u۶m o hDWW*_-[wEƉ2M׮]S4>2$4^ӧi-_> 6W *[i~/i_|^`\x.=5' >8z4Qݨ P |xyy1xҥ̂4Q$~xU*QԹB_5Cms^'ꈨ(FN4;BRRvrrƪ۞`~˖-z)MtP'O̽.]f(8US o߾7K υ~<11^76e^ کbO>z#j?7ы(}jZ53}WVQ0QbĈ6hݺas- ###3-u{S\t'Jx~'ɓ,2g̘E3P飏L=GUt1ǎCf`0lAD388XE+%::Z9Z {UBoeoBsݺu2Ç<f$*'N哒BK.܀fCy/*8F8udΝ;iݫ͛7r+}GQt]MHy=ڵkiGڃ2X_huNN~wHOɗ2ޚi#$z͌ !$jg: __ӏ[F7ir".l Es>\$<K'9J$<I%"Q")}"Hx.'OrHx^ y~a)x_U ,7*x_4Mni">?SL[~%v-< E,}sOV}:4ի;w6 SNj:s,Mx5k|r:U||<#]]]?n)|>4rȻ'PgdXXhŇGS)|"ӹD...ڵ r(}~ Uj@SO=e)|?UjsΝ6mZ Ou:dHx.< υs\x.< Es\$< υs\x.< υs\x.*M>qƷs`o߾ٟoѢEIx}=穩:t( cbb~ 4)}> s iٳMOOO7n$&&'JIIbҥKA<ʊf$Xk. Z~"${1fY񦨪t[Æ KJJ4dYcccծsgΜKFN<>v^f #FlذwѬY3Hx.*ҷsNpUwU6+yf=SS8-[0X+R6mEW_1Rڵk/#!L?bH}jŶ~bHu!@)e||5/LiS7n4m$< ERDs\x.OJ(\x.'9JrHx.MUVjv ?*po1l0ܹ^5h@? 1b4k֬`K!QFzU /"Hx.<Ds\$ υsH$< E"\x.<DsH$'N8;; .lڴm<77.u3ty~QF E"Q )22Ķ ͞=&P&9slyO??d裏<߽{JOC'Ođ*刈W^9sp2{gTrϠǏ`T?,,+WfffZl[ dSSS-T3g\~&|cccUhL;E"Q#s;Lpfrr ~/(-BO:;;wdϧ~JsŊzC}!hٲe go۶& e%OM'*s˖-4?Ok׮S|2* S-bpY\x. EUFsHx.D"Hx."H$"\$<Ds\$ EsH$< E"\x."H$"Hx.D"\΃H$< E"\$<Ds\$ EsA)*ݻ E* .<+weD"H$D"H$D"H$D"H$D"H$D"H$D"H$U+o]xGގjO2ϫmxoH#-hS@4wk,ãi?GF1ƚ?O>x16<5>FsgiF0^Y߳ύ[7y-<:yki>CR<,]x(33vއv>OHq|ǵ>Uk孟x 8;>CkWkLQv!ȶc=pz Fխ&+I=4 ]4øےB9`e\[UyS^?o h_ڐצq-ר<עe*P;T6~@?mbp.ZWk2_*Qx`:s?@#k+֎hg~y$L7!jeo\1x[@0Ͽ/~?>gZ{Lzae۱.n;ֶ):Q\J^}TZjߎo(n3;+jS[>w?xƣ.۵U9a:>2*!=|?}üF^:SE<Dd[b  0A?""íyXN~ a5@=íyXN~pl9Hyx xـ q!`-jU[F6AveE?mZZZJ/GZjZcjז* j RmW̹pg&,e̜;7ߜsf>alHotiD2~kxe 1O1a$Mt2pr;/,/dUIzggCO()*+: !]h9d{iS_dC˫>&a,+q.#q?d'yP&u[sO[DH.56_%ۋF(8G_#e*SDX/fG GAzSr'- o;vsbyC3e2 oF""wz;>yjQT+N?|/,_ލt:B__(uO#={l õ_Ȫ:|ˆVNֻSp 5ѶYrOșn'J[7Zۯ'D^# _To2pAK,c2^Fg,iFm4Z&Pڽ{uR˝mX(-?ѝE4y͔Ci/\3P>NK.3Q͹su#{r쩚iu;'^f˚'w!I4l:y:>w?+ Gul^6J|Zz1XH0k{iHOWAHo:mV~V~'ê8 !5;?a_s| ~-2f+Iwަh4aCǓ5nH5⨃QIu!iaEκM櫨|7w:hr>q> bO*D“80v_f8 N v;[~^e6$ϐѾ䞋X7jiQH;Om!-5ȭƴmـlXUv]{Bˬ[e-o=߁KL[1,nm>N ({lѰ.zBGnRElܖNKڥzvkq?_?60a>n|<ꪞc\`ζbnOîMy~(;ovmȥOUov 8 g}z; A8C˓+ ޳> Nb).>I P P}3k#1U^&nx/WHxFxȐH '^|#0]7s {7=ފUO㾩ɃZwơOsGORWrٮth $eՃKFP:Hp؀K1D׫m}Lykmrt~O)9w눻Nv[G>\GR{M fkU=mL9uim|dNw7#mӗx'|Bɐx"^ȧm ⮑'"!ޛ>wPo.=by^֥J$3 79tH9Ots3Vl:J(}n'S5Hʖs/eneR۲s+jn!&c+GK3[Җu>g=Uҫ{$ψW9uZ fzRM~l2Kw]Y!ҟ7o3:6)xК^`ʿk^x֭le;Ҝ>>&ںhcC󜡮+QXlc2I_[ F3("D->c(w5vg²Oǘcjy16NIoB6{Jjcv"3SZs)^vnE?mZ+xdyGtpdw`$L&~N-uNPӯx(sN|e}|')c-2W[lJ} H=^E*\ ir4FPCA>@6LXEԛ?\(eO1lA)0o]&{"_?v^gr n5uJOm^m-/79\c85.QO},,{SvuUšQm9A[k6Gb*GQsH"~'d|}s,\~K1?&H^{DZ]>+=\(zhrȐC8izŻZfq2F#΅>njU:=tȵe/zDO䫧ɗ-r7UxY+MxvWKT˱Yu좧ecSgc=jm giK}}a29X%{6ix۪\4RiHWjZli՟[&:z~[DG7ҍW`Wކ-SG+;-&_[z!iށ-<:&:y_[yx~[z:z--]-<[Z雍j̏|~  7j^Cz7^ޱclPtTPtTߞzmQ:O~"&C{H壾0EX5go>o[g>u>l4g~7Z_JAKc}Kj/U2Sv1gAW9ڵ/ưfkH6"PꚏCݦq|3|'3:G<R;^ZۗS׫szzҏ=R^GFoo7M6Nȓ]7[gG|e%uڡ@vV9tsd}N)ԺJ,XjZ_ Yh#<K?{u_3 vLύ*98"CPyu12|zW:mlڟEч5LgK%5}}~woze}~GnG6c}~}]trIׅUN>|ooQfn5^Νc;m=rWg{LjgOtўԳAWxbxoN_2U̒ED~Oљm/-ޖ3rzyJ^%fo;Xm; ,4P솽&adFx^2Ɇ\Xx^3)"(X1 P'&e ]Uު\FXCQdR+$]8/1H2~(GyB l~ߢ?n}$J(  PG:w* JX9FZHMoRpZQO5df.䉣dCdO}({F?mK6I2~(R"02Ņ 3Ɇ\X("(X1 (P%·j:] dRe"b_ M\a 'BdREP̱bFQ#4HJTC-NϙA..Aσ"(*(C1pLc2C\-B6 B(PjZwi&Ѣ a8 &e ^?%3? aD (#EcQP YeP %ZD:_NyKtyG)o\,\(2z3v@}-e>́`&LLIH3&a9EL ⦓`$Q3:9(/%Mxˈtr]Ng9-'_gͣ.}gHoK90[sPȄlȇbP#MfSs`HTTA%bȇliҾm3Qd&WlOoCJlg_ ]I9o'jX_3)\(wnn^h0ǰCު_렭Lnݺ;i>}9&vB?< Ȃ"WMA>rsQBԈ?oibȂ49z ՋQdkfOm8Oi a(dA6O.a/ #|rsQC)c7c7c7)*a$Ԑg .6),pQzEd҇<(P ղ?vNb4NPu^uY됭eq߮CܧF#S-F*r(|ȆtbȂSeTDaq_,M)e*RJJeKϔr?)[%Ct:WJ\ML r5Pl)u:[L-nNá`Lk9>ao둵I6[[|k8HNy#~ȻeH a1n,%^HHȧv>l6m04'0,ل!9PP#d\GAڊr(B1m1K1^Ҿlהʹ>z6&PYJ14575K5J5?ۜ[Mjjj-&Őib%5&ĎʆaQʆ FiGCd_xsݾk |DO3e |t<_6N/6[5K1nO*^koʧ̿J,6\V6mr+~߶qpm_߻ dj._ 4JJ |{23]ՐѶXBDܡ">,!KK6⿦.Y:N,gN:Գ$-NI௥~$rf}kiskom~ؼs7Sa뿥%o~X࿥com .6.Ҷz/7s]MMEY]v7+ҜqK|HY%֑k3Ҷ]wwiϱ ƧKsK&rf[y_.SK} _N[]ߟV0阶v̲d0K?L|ô:ikcCocNL{LO&'k#/G? f٧ZL_0&ooC׷Z~A |&؅:ф4V4ayii4?M&O Ӝ)i⽦+ާ?Modi4?M&O td4nǡ}>c 9F8V:zk}DyK _Ref113729513}DyK _Ref113729534}DyK _Ref112658989}DyK _Ref112170702Dd-%>  # A"b\d8d8 5n0d8dPNG  IHDR~`sRGB pHYsttfxIDATx^yյ>%wf` F nVm4H2)ЄD@d t"Ql^Q{ME;\ZU]ugy}y "[k#D4 @8 D H=*>;NnC5i;tk^[fTG ,7M7(ȑH=QufBq WĭigsZ:R#ˡO>14?r1;tXKfi:MȒ'շw9H'#p:,] 6fIxJ[OtAVi՜n]Xb.-9m=6$ʷd #dxNFM D3sn9 ~ LthKNРUUZ+>.EF.pqX8F`SOmݺq6>4+GS٬'N7 - t ؇p*R;ܒkÆ SХ `WxR>ƿx{KݻU\p@I' XH=)U+V.X-[رk~};=񶰨piڴۛ75^}5v?H=a};0΄MMMMmq>]޼y׮]qӤIgN:h@OacG8zVfܾ/G#<8hpjN ErwՋj[iSb~ā ROTG\#G`9O<>sZw>(8Ҭ^Ud1 R#n=?y`%l7菛=z|/<2&exΝ?Z! !9H=iڵ{tTga ڈ5עK}o-Yֳ?^pMeu(q-a#a @ܑ#M֞$w6b!H_ R ԜE&WѵǠaJI@1Y|$-F8AZH_EGZ ?JHǏ j=}@ 5 [\\^}kH=q\M=@f@T.3kG{R@.zR(tMLT04 ,-$ ,'fKIs~Ruԓ6D@ H=Z iCԓ6D@ H=Z iCԓ6ǣ@x4t9f$@$QM}mDїS5H=%h* E ]lc'n|^kH=Z'A:yQ'aAwB#e&mi8,H= %MrJ:^ҘB˰!|N rt|?"Iɴ@C[z>I1j=vH'c_s*YzIMRhT S'if H*!&zcΜkV?nܐM횀)&{M_F˗;vl…+VsJۻw)vW ^@Pfuv팵sڣ,R?hBD^.&)E?n`ѣ*/#%1)ffP^&MUsۋ8RԓB7tjˣӦPϮFʢK}o-Y >|6&㊘ FO0W2uÇ(64ǫpz hDAv*p$h-|H= %Cv&v "tb64zUz–`D;NYQ'\:c5/2c ^龇q&j=a vh¥?ڲ4.RuZcȘ!d2Q Y T &HQ398H=k :El"'HtYv>P>6zb#7S 7[H=)]&i*`E W[b3xAz/b?;u?cY)Fԓbg:!>%\+fW/" _`LT!.!x^HR 6ktX֭[Jh ^VH@F\L -#./Ba}AӧIx^D#\z#2""N3:s++A@q%+ M1h.ˎHz-aRO '=8!9a>tPi鲥KOGQ%A-24hFXPAROnqsA1RmRX99ƣ7H=qXI^|̶4jzXŶm994! Er#)z0/[+\lق¢l:q29sL ~7mo{;%AɔyʢuiyrnݻgzqG$I6;6b2" ׬ E.Wp,+ 6oބCiqq&h/"60\/+#0w_ 7[yj#H޻|s~MgUqc VH=qW>gs[GE)\< :lآ}?Uz*nymO[ms%%b_ rq=Tsx?ϳ/IۉWEGݾupClY3ew`k|uTg?ԧMo߾CbCi$hlMж3}WK<@.X_A[\'-;&cw \dqv@؂,~CxOv' F~=_ңY3fZ6 {PڍER,d1iv4Gu4~7q>w ȣ NW_c -bdxTJC\UUOU;㦾] )pse6c3L! yA^l=vvX_vĝxJ{ncG]7̸|]7ۯ\ ɤ?YVf_yemߟlJ|׏YuhuQq5'\.@YLC|epZH=Y1XX%tZa J>OI=19cPgbJ#X9HV'R;f9{Ltıxd`uucM2wKx]Rut5TJwڹSΖ %D4^ԣPv}E7f @ 4֛o1۲iĂ} @[O؃"I+ -8ؙUt e/C[OأhN[w}Wb"'\1 8|z>0@WR{A/#[B\p`t߿ a_>1fWH=q]Amfps?ǍtiH`xI4S؍GFĉxz 3yŪ*aG\OL3s" R@P%-Yܮ];˭7,bv%8pd/[?Ixl\p؏8k̕UtӮ}}vn%9C4خ],\(U}.G(/}Q'BhfdW/4h+ \ Bm֭b\k*t%[H֡C<1ȑ#Pv0S=g«{A4׽ZP@s dNunRO`\[[j%۷OHjK;0}HSmm-^a.b>Dg,Dr袋)aEeeu a]It++_y'R:$ʕ+fY{9cwn|(_d)sƭTQΣӦb= oͮ7IcOmuU5 F#Q,c5@+\a !h:|M>}5W;v +=H%8ZrؗG"__Zp./BQy,+K~CKo:LgqOzcǜD@s2.hfR&`3ҋl%ʅ c{ʱf!'#yk4\, Λ3QG֬}9[zlrTTI=ag]E@pV,W̮,\`ö yWڐb|5/F8IzN^aAʮt+o {pmAK4A\ ^gՇ;v\z%Au͟DuU-PwҥxN#GÆR=flqEF(J^ljH=ag]F0P%h 7޺ gWn^]*\ggU 6xr/ƚ`gS~Z7mm۶MG (G;0Qז3#f@7Ӏ350J AǠNŐkL ŖB%Z+\Ex.N-F4*"{`h$XHEPQEe+ͩTzn)t ]21=܅P%cF?bJ2?cZ ԉX 4M6}{&X 1ҢhwY3v_/MAF_Ncs KIj aLK#w/ P7/~ztU|c_ӂy22%r$H=Ma\YbeXh O anz<" %1SOÓ~~ 9l0Cy*X~`]F[2M9E>F@P\XhUZhT"i4dA@1¤d@ 6)QYVd:xLzF<@T-GEDv,ٜe7d2ߟPZPKPc 3:vJJn| M6iٲ%TXMo zUJFfb KDF3MoXlHj3 }ƗAoS33z|DZ"fͰq ip¥(}n#f (R(]#f- Y;S -Tȫձ'nXGɿkql(Z[sG_RODZ=|48(P8l rX[5'/DKsn q_U6/P06`AGipzj! x NlSAK7WbN9qDgyzKحzmݑ >!Hq䑸 ;TTgyq_Or _OZ=xMl2yQ]nx}=mFqeTUPz3n\^~Apԓs K8HWV"6 7I+DA=Zq1 Ʌ',`}!ʯ" Q'\#NZ=ǩ1okn/U+VB?5vzvZOrPaRW8]W=&_-V'>\O 6y7jԈn;+PxQ8bȱȲ GM0 D.EJ#9rN0Ao,"%BM2իOD`e΋ 3G J (M<dLyxJ޵*k (ߴDUX# h\~9~rpM\ ,' Bv_6N*p/\3 H6`;(;ؕc :ue,F>7P ]v=8!,;?8 pg}йsg}0ѣGZ'?*Ex2hpMC(EE# 6:{ f;c-ȋ}.(SE!qDi0ZݺY}#kJ+iz6.'ؕDDB".S1і`l[RhJuLWca't#eo@!f[t+EOygcD>/ąU6- S1D9α\/ޟG m7u}Pm9O ܔ, [PM60R쟎wh=,wd:&#GUBÆZOhPH#v)&:X15QsWɼדcxV; u58!kpG9F9fm.+>tXgz*XFz\L~#@Q#.ķxg 'rעHݻѢlD`zgGP9J؀"$Lw'41VDpXz4Jbqӫ;gf6 }}0G-7o*,l8K(XQӦf[o_O?8vv7wrtu 2K|mn_ggm03g帞;g#샗d^*:y$x_WP XlФٴeKM795kKE۶}|;ipLkAX"U;"zTĩ)#)!DTP "jZNstmڶ=]v5WO_l Z 5@Y(/ԭ{yX#%TIԩNA_͒ ;| ɸeK ĹtntR):(Qxle_ pI=P;|Da'm۶9*)w)Z&Y lUa}RѺkolv ӻ^\!Vm"dD #Ψ$`[2Lk8U+^x|45LBU/V~hnXƂ]vbW.5Z3w),C 7pYzSX]|zÇ={^";x}a- 7Vacv ia]~xY3Sr_IZ1-5p6B(D}Mل+.b;I'IT}t•HScgן q0ةȘ>{&6&\#P{ Dh go/aSNb/vwr)4Z&HE3i|5 ZBaA 5NR(씀]WOI#: (R ܂fXw#rםZ3 /s_Of@)6E9pBL)j<)B-]+l}="|f\Jqe$I8 + FO E# w Xq@c;vKao]~%3 B3j?m֬键["<^ə\0@qX2Âs&Fön).!9h-[Bӧʙ:}ˊffXRO33@wƅNܹJt9Pʠ'ca/NJaЌ¤֓+7m陓`q?~YOf%#@'Ѡʩ~rrV䰭5W?{k|/sGF ٣ȝ~Qy\\[nj=j=םKq.;B:V1p0ϏI'?FKAIHcաĪlcH=!c_pJ:Ԍ|]BH="-- t4[ &9%w]\6t%lٜZ>'I6M,zhH^QZOHү-FVFǾJnk"rٯ"I|m~7#2 G3I}qrS.wk SAff73@;v pj?y򋚚ppGă">zB[\H©/Ym jѸKC>׭%$F{\Hc`f~vs*t| eEԓ\f)`A\Ç?'?P .x!WQ(ڸQ;lp; ڸ#A@q'ccO=۴Y[i˖³)0vJg8ӷ/}2Zde$`Ќ^9>sd(&# {v矯وZtCF'Z+6"@bO=G>q?1/뮻b&#@GG"}3LL<"ne˿p^8 Pܖ$Oj=. $w`zH_iד>ɲD@k8 [<=s=l] 8r8FsB8 D pq d@`Æ zĉ+; ,ڷvlǎ^zI;K4[MIȳuǍO͚5@ٺue ωQAqWbÂѣnjYp-پ /\b%ŧe˖wӪuӧ'v,,G?,_P&ND3w|e%:΢K{9sFF8j_)r֓z~pCݻwO}駃JK-]x贩!%HA'1-3hG'\aSa͛9rJ~gyavg٪!@ꉝiOzodMQFt袋7۶m%R}" e Gb$8+a<^d)ֳٲE J슆<06ϛ3 aEmH:.hiq%z%I6G)ldDD'\veyU1Ȏ'.1p'`$Éɉ]H="ALG\!@1Öt>ڽ ̄xp%M`إ |v;" =֦PUX< .#Y46MG5 O>({Ѡ@˔O/Gp(Lxw޽{]JWh;k ROfc ~ o暵/c4{p 0xW#pL?t쯃z^΢EPOӦM޼ ~!Y}7Dr0N.]|=6*@:|xrT @ D́z͢mbb)&\}T.QW\Q2p ]+\>¨mQ.m_r7 .t?KP ljU@lf` >hpdStC܃_D)lݦZdCZYlZ%S#R/1+*+]bծ];f' %(̰$!jK :5iD Rez7]c/W7\Z \fթSGg65&(GmuuuH.eu&ea=Z@< @3KU0u^g6;bV I>EKǏ\aYy8£PҖ= ϢnLO~u{0Ϯˎ3G-[>4i ;]tپJ;Js4R{,Vyfߞ^q /A30ڑ/SϜ'|w۶w}W Q'O4z(#ٱG~ݫɨ3"&\Pv V)MܼyS0`۶s\:;MHHǡ(S.nl6.cJgz"!OsL l~_8yqҀL !ljpT5'\V89z ePƍeUUih[ǏMzH?ڹoL|~{K^y- Pg׮]Pv@@/YI1\\R'`6cpnMe5'Xrz@.+_x~E_(X1^PV­fXyS2رcsZu555 5ʋ@#*|}=Ek_z k[ƖaI 5 Z:G7*B}4F`W"^D=.vf슞5c&'::b"=fzrS[.5r,F1Yxgww3kh-3m,0%]끘3`2j@^E=:l9s13͛6/xz){ 3h MdvWJq1 ]wc4t, 0! Ȼ|)i #Ç2zQ>H$p•A٦`&\(:L"$'p*lPSpJ=Mz4GL65WAC3 T-cZ)@Xl iijLD# a.hPq9r!N\5K" 7^AasF*ٔ)3uU{a+(qB6n{ .͇' #9ctbv9O=` [$Ngx"вeK?tH:1-]ΰOEq/nҊ{Ҕsĉ]٭9sp9sN&d/tHXeD5UU&a hDVu1H3WTzM4|b~gΪVmA˖.T vaڅOuƣN<ɪ;=Up* &\p^Hz7k̟Q״dٍdhǫU b'!hsZn'\MɈ=~ֲ ]_i)pdI'Y   @a@O+.uC,$N|qE?JϏO0W[pO %GsiD pInM*#S 9'NLQ ,(OLJ!ඏ"gH=qNbǽ2*4649?"DwvNU[x mtjtfˇSA8Z] }qz%m< Z2̜o==T$fil0{iMZDjej8z}>%z:hMFZ/3iHi};3_M>b؀o ;ɤ9eٔ%8'e!l$fXyf΄M b_Skefg`a+01݃KOp嗧՜tG7Qc "Nr2QIϱ#vcUiڎ p6'\~̅s?dYD'\fH2Gwnpn̕lH=wI )\>SL<#ROAN2?,_~ر /jjjԸ$MjiIGqa09q oO=!^ Tq/ޞ:ujdYqtۦ?i_2a6tE$bAǺXmp8 ͚1SĀnڵo߷o; nPPvveGfQ0Zkw+\ڱ"{DC h; C)&y/Q.}#FHw֬}cNu/=zpتQO'\!F*8c'@s^F:xpRi n({(>wk7zgت  gNE|~G֭]w)\dْ%F>cqA~;R92aDh^zL0 5yf>amfi⇻룯R$'~@s=(I袋7+*+{J=R]24ivG*{ԣ)T}UY 0~0tםjKU'e7ui]/<[W|bC03Kw]!ȷ|}6?X0QP͜[\H,ʘX}Ykag2"@b@xZG;?;~v&\` }Cǎ c^q8ChV^ӟ \O K/tU xoz9ѰDGp}:iT޽7:ֶ(6G- y{ pB#gY_[par\􅪱|:K!t7Y~; i* nS ^ymF!|}S(͐ͽ{nպx"orA3\mhsʼnVcn:|Pü-t4*;3z:% l7hpCE`@8 U0,>3#Av_پ<,u7h9Ѧm[!8v7fNjN:گ)@FҮl[P6V lzk.FeL?b{qp.6.@寿ZcsWI II C3AH[OC94 G\cSvad5_pkAvA3ЕzhL'rɶc(IAA\d5bk3`N$s09gϞ=7c!#!&w+  b!@9GXN ( I#j u$BXG/" Mm^NfǏ\s6ͺdD#El᲎$&ir&Pv4[=D# W=ٹ ؂$0Y; "%8X/fƲdGaFq]z%ċc_vk?m֬ɹW P:hI =f V/Biٲ%8U`7ӌI[B8[MKəw\ zi빣4XJ>E-'[ΌO}駃JKMΥpxJ1&4#Z?R0R퇍Q2Υ/PFUkT\GJ  3CG |yj=x!Ia<^d)-[8t";3LHxCǎjp,6Πj0߶{\ҟt]^yjwbA lds]*9L|`zW_^sM՗_2K.Tҋ*+>fl1=a2"`E 1K9c?O&#D@+H=ZnKh $[응t+"hR $,鄅tz[ CTpR5H=%(D c֐ld#@I|5Sґi*NW""t 6f[6"tlsn]Xec"Cb3zB9UzmH=aKC}ד/۷CSZn &Smڶ=꿼y]wn5k_E!@q[sAg;ae:#sAKcPsn({н#F=Qxݻg@M7RpƧ#G@sx|,4|}Pp׽ZPP b5۵kg(מ#y]ZJEaC&MRc.wG|ӣG ̿pw Ĥ g]\&M26P'Bt-N,,`ؿvE6V-]2ox[]Uhb~Ob\>Y [>t8R7G1$nБ&PL W B$P`6T_Ev߃fP hS Xo>wr,%33de4xcZO@cZO@X}[rG\ ,Ȃ9(F膼mG; !,2H=ZD'Gͧ72  ] "PA fVbBl%$@`76G'`*JTSD2EFHNBꉍCGسg˟[k6p!OQmݺ5ZX~ C? _:|j7"(_6a%}u]Bx _bf'pRO3aC)6mM`^}PىѲt [,.f2ܡsx{`xE6lDٹsIA.{_g~sW@2 ڬ4=:%hݱc$ Pl.xE;k?] Gj=~#W"@ Ԇv[cǎK/$&`3Fԣxl6"|*ѬY3_;Vs73SB"cPi鲥K('NzJA3r Ľ(8 1_޼#GGgCv5=e5AZO؂V9 6%~Qr’66@فf >\2z2γP \X˖,e $"<4a/̕Gxqv=8ZQh!zK0$1=}Erd(XrbYFJ qBHL3s "` EʪUN4o3̖޸sKN֏"zyPa*7 KO"awLp$IJ# aVU{dž De, zbQ"pnpe(&D2>EhVȎHNrG5tY4SdC(<ę8;}ɘ.1h!hcǍB[NvuC *]M?%%oQrpvhR_%47qңB =ӦO="(+p 1IJn[h/]C"֢Nˡ)bL3yT^-9;H5HɱB:$GdrnU'nQ[LdL[#8zi:ލO 4ueriNl"w/ oՍ BoZ gzB>:%о9bjjޥQ0NI-,c9_,MuA'Zt  [X(A彩Jnl_ZӭKkN'_~M26;cc Jjժ0A78`I˥H5c!pI^!1'uz޽H[=>r53N S0c,qpjbOkֈVG+q4Ie.qG).3..G@$~>#]gc MBAbBj٫!D.t6j# B{`AHÇ0J IG@.!ޥ -$e]eJ7Pk·c^ߒ%ih׃N5#`Y|'XCٺi:Y9&<^,ƎE!FP!"zB*Rl3j@kF@(e rj<qat-Q2p 7Ǯ1;V ͛$%5c&*5GN(UE[bA&PLٖrk@&J\ )bv*[a"jŲ0mgF+: rG*a {8Z#?,DZ='2;MϲC].YĶ >[7 fpJ@n\H>5Iw?8ZGNsDžoǾ@If[O6s{Y;jh1cHgXXႷ3g#Ðvzlm ;[-1NW]u5=n..>6kmzΛ{cEyLJTg_qͷ욻6 :F@i#Î1QB\loYD7|#g++ }OpG=&\t_Z,r9sg.KE/%KZI,);m1X 4k`ݼa qsle1@RF%Р=6w5 S,}n9wammueRK>gDzEG3:^T[hi sRʱ.Xzp>u`~> (80:5_W7:!PR>}nf?Q~j3?я2&3PrA :?YJ`_/Ҍuu_A Wf+~N.voӔ`"G(>2v7;/N7&M` <\pْeeiT&wL͊T= MZlXd|0kND X{Žvm$6.u6 n^8pe F?oBh@7D&, $#јe,va,HLr45/@#]ɓ'`c};v7DlV@`6?Ãx!Y6m<;Ubr#͊T^Y;a8`:\8@Ai +!z"fSTQ5%FeJ[oaj[O.]M'HLdE4yR{)GNa{FT`kTf*;K\139V o_}!I_}^n S2ӏ'qcg۬T_Ud"AUV/sgjU)v#T3r B3WFcCڮ] *& ,lWocT}11TƦnfVAw ށ 3{aU+W&mْ wlA AH 2`~dxزeK,a!L.*zf9UC!ZaeX2ENZsDhC D:$D1@@z"U"@p8Is"@6?". ԖIꉥflzPxj$ROMb?s*"x(X\ њGxLD:Roe҄dƷsc!x8-[ ~xF{J/cxqľ뮕1wE)$xGY އ&81CwI&2>&Y-JLph:8iF[LAi:bGM$.jl֭% ڷ!|ѧlT3!oq4;RbU[[W\Ȉ}Z]}7m=;D/ pD&ܶmGROh ^8+V3g=f^Ʒ~ڌrc,:eK̩ͯ}̠gs}E._Q JOMJ ֧N;& r9pw۷}j߻h9ĦpeS:p*].BQy,+__Ac"l N"A ie*١}'M}tUw/`{Fԣ|պ!C=2yl=+W0nodސz"iګNzS\gסIlCTzBއz_qxw;zƛo bc'b>?[Va  H=SFnrUoM Kx]" "-55a}t铄'~vGbpǎ 7nؐ5l}6~FփÃc<<7ˆ ^WW'XiӶx~k׮NG"qW?~;7mnݤ;x{䡤\:LU^3vx8]:x6$ԜGvjNy& >RO\G჎cuWJ7 >7-%)u8X=1ȑ#p/j.Ondڕ#%U l[H=n:]WTV‹]:p<"j'~-E_GU`0ޱs'UROQ[udpjҴ "tc1ɪ^UB~^~mW4XBTm2cP>2 :“TkM%6 ns%؄׷dPn\WM"پaRw}_|Xw=I=6;&N:>}D&x^s#i xMmgk'$[g{z^сw39q<W4W=T :IxV ;Qmni!CtA89U8v\՗W]j$ffi׿n\QvAxL Ɉ@waylwe$#p,REGCxCǎid5d3 syw`!=0@`[v}'pMpRv : bw xB˟۷jBZ~ԩS_}e?{РK.NTe͏; P[Ielr E.$L>zlb@16BEs./VW ,7x{% Ð1/؄E@'fH:!njRff@Ecrf'-M]nmTFy s>Q|m;wTlZ:l8k1}"w2XH@tEb8L ׇ ?4;+oJ& D Bz.Xf1ezdk5UK2=7B%j6W(l&oQ[`$ Izjf[$&%,#@6:8.F;D=/&a6~Ok$ ~2<eLI92|L}Yfْ%j'\*2>BRϝwQgnr%, ;$T|.Зz*e;pv s/V$$DyG:C&vH I<h[=~ C}] ^ft]xAU㝼Hw fELҼ ;J)#᱉Y0B㤤fF8 {`$i߇D8SVp= }._da!]<#1=6%qcť2l=XYqi6(@ p Z><:MjqR$&ROE{`ԡNPGԢm'Z=^AmfPā ICJ$u7-aFJ$~剱G9O<>s^ݻ YՂ%f e'4Aez¢[CBkR*"U۷nmժ~߾}B P[Ʒ)1{+Ş@rH]tQ3%ѣJ]It+w p=lhԤ6K_Xv*Wyfi޽񭺟6|ْHΖ-ȅd(iSPfWTjy'񶺪j(w6U#m֗_qEL{fs+lEMoӧzfcǎaz6}Wd,ѢU`G&Ou[r˦e4& E3,( 0إ~9 jĔ {v; 1yh: xq)1}~bam-MBbRO=uO-c) ̳ę^ugڟ֒z*"fdqe+ Y`vXCT0'N25ֽΪ;v\z%QAfmkcB8zI=ag]F0P%h vK~4q.[-aƯ->F̀O\0pŎg !4#l1_.I-i>1 nB(.k FfWAZO0f/SXd918d?-=fI*4X~Җ-] GS$ a&'ي(^wh-֓E[OK}F@< *ʰ@A|ZBLwlǯrPEl||zb);#fXRH< Fc۶m*OT#zo_!T7)=%z'k#fSO3@ k $kٲ9sJ-z–/G(bI G}waT}[1cuHI(3 ĉ!FHcCRO &#@ꉿ A2<Ōe@al\p R_H&lzk 1}]df:sݻP %( 1HXp5z1pѺX_bDfB;8Kb:=fŭ}qK}I3~)9KDA@΃p`S cL}4Z?R6o믗^?~n`ƃ} bs},4xP񎡳zY@`vvJ+믿F ֣v8 @q$5yQFttEiޑG Tar^E%c}vE)\!Ho`DN|v1zNl7\$\ "=pE/ -d7~317OZL걇S՜1֨RFHmSH:)=Gwc|zp7^aѣGuCe#vor;z젤W9kΙW&djFpM*ROlD rxW ^}_jt;%b;%AI4`q1+9K !5k w3vAg3S@Qn3V%M[.~54#7zB>UX1x:nemK-R % 3g"8<}H=vH'5<F7|^#}|4Ǹ~.D V͛cWd eD-pE.|{[QYj s3KZa]>A圲1t01"4Y'L2RƏr,رcjSyn!yvI=ډ$κA!јNj#:7~dY4qˬZYQ $@nˑL0CT=~q= pf"9y1DU1AzR*zuNZ8pk܀_0jӶc6P0w`uf"!%.'@Y thXϺ9tԜAU8)ތfJ7&AJȑ#Pv`= ,գ,AVPP 0 ̘f{@'Xd Xx.&ɮκGL̿pw Ĥ g]\&M:̘H=@m1u#g̛$-Y >|^cxRT\v &=<:R= ޑkG H2(Ny=3$_ :Rb{S.w X5X%IA%$K@{s.Nl~7MH=6-YjGYOLPf# A33,Ro܂Q'\f@ 㻂CGԣlk9ȩ"x+¿cԣP$F'ԓQQ_"zcǜ ِ/0ƮROD)"MZx|mW8Y(ehG;A5dROM h*6$ROM h*6+ oz"`FH: AIdc/j:Fz\L~#@Q#.ķxg 'rעHq sNբl7H=cnW8%uژIGH=:J%mrJ:\DUNe$N4Vl)>'RXy'pEwa86N ؄׷d@iNJ0#pe^&#DOH=~ɲ@t)L f*S[nՀVxN'y2 G'N?nXpOh 6_6l8o,,F!^IrR:.ػwV[_pRvuc'stȪ+,\O˖-wqCڵog]߾}Ǐڞx[XT 4m͛]tQ>}r׫vn\'bөlu3a⺺:3FSSSӦm[ܣ˛7ڵ+n4iҠߩS4B>oDP?P6sXM>tv9E7=#Tj?mݦM.*&!@ k}j:rC|<{Ϝݻ pW!Y@ꂮԽ{wkGpRO\$[;a8n7+*+{ bZƤLܹ'zekMB(ԓ9zٮ]GMz`]Q!Xsp-Zd'񶺪zђj=dXV7"à [ {Y;.RO2Tv"Qv'=사$MQX4?9( V|㜔饖z l2JA31;I٘תz2PQW"߄3<&#נv I A'M I)1h6!ߠdANpJ@Ngz ,T۠S!fK''r״Qz<‛e_Xzw5 'h;-'KddWT(b`qswN|DE% wDAdg.&D "`E@6\2>$z.4f!D+z"IEcthJ*2SZO;KB)z%D pqxxp9W Jqej=8[N2# RaR֭[qڽy?R/Gg8IF걃yg˖,}vs8~eժ/)SU$1m=Jc@T8xO> #N=X'O~-[,+#Ҡڵ'٧DY[N_#km]rSvё&zH=1 d̼N_ѩS׬}RC]2iۛ7K=t۷ﲥKUvUT W$ÆI6(AO_[\\ Ș[+,hENN_1;HRKC@DfpKĴxr ytKriպv^9fADbp)r]d=e+^xAj:|Vn(ifRrњիtYΝhUpM,f`*>|0ivSde2*^<4eXfffRQ4iD B9ኗZ"$D HNaz”"a#n-,VzBU`jߕ4&ZJ' 8##GljJJ[%&l=s׽M4mҵk{G@#8oذaՊH'njV z)WRogWT¼.Uکza8"W"yxov8}tyԼyWn7j~V\yw?dTiDeD!崛L9&w {h&˿Ǝ7 S௉zTX"&#yHU.Tdz"׽:s ̉\A:u4<>d(f@|Z QԤ:$loDk=F=EԜZֹQQEZTF'D4h1b]hMM n7m@FQQLwp5NXNj / ;n,Bb"Zq 6.8U&!V>(fX&mԲ? @ * 4=zT8ȡvN3scb{*ӨQ#=EK;N+;=eQ s<~zr/kU ;ܘxE d[lX^:zQǩz8ʇ+Vȉ+{s&bGIxI6/yqy׶mۆ Uu7)[hV4lX,p7pUe1_LTi@Lq*t'p=ti6깱+vx]8"Ec$#)LOE ǩ%)AºGޟ6}RB W(0 ΄K+8uZVBdc@Z E' RV`c@Z E' RV`c@Z WZ$~GpP-R,7(Y~ӎs•$/D 6P뉍P"$H=I&Bb'6bC@ $I  ؈ %IBԓ$i/D 6zb#*6$ D7lIENDB`}DyK _Ref112231895 Dd >  # A"" L??)dP~w M-5@= L??)dP~wx,ے@R> x]{p?K P+BCkF3pFZ>hh!XBԡ-0@Q b"ŔAqQ;4%@QԎsfܽwˆɝ=|}vZ zA϶bd*{c1>kq;q{a'di2/@Yc7' WA vԥFYv}w$.:u]o횰sCt]V;%cEMkϷz&Cjxk{a~:>S9Z(lW ߽肾ĵ+fל[_P ;܊rOކ!V}ˮwI!Oس壅[x_m&޶}.ԟ^m.L5ނ-UMݚx }eSM~\WpR{ dCKpŬ>BBކ ƚƈ ˖Y)l:})a(جF||?MlhYJ\̚G8bc{eb~u#eȃd?U,fcjEinϠ#dH\lvc58_k'~]<jDqO*82n*~L_2~n6ā(s:tx?\v/g5ʶ5Bs1߁y%E+̏LJTu옏sqN̈ysh#gU 4g&r3 5.3Ecы8 RMwnR;`Tf_$-Il^=Z]tŦ:&YϻeS ũ"8SqhSqeS7 lT*WQD3+ۭj F=BSaďIs0/ViL8͋4N H͋Kc ўCpǿǽfthW[\p:"<y [ 0Z/mb=,6//f|D|]cdßk /P4ċ #nr`7ɕܲ"1qe1ܲS/QymHgc-~P}?[̰gV;P7Q4u21oAvA9rޫx)ǣ*'/qūϼ}&.%g^Ni`z03ϼA*Q5E{0S}szrUD&"2TFƩ6:Չ2iVpbʭ(sfވQnb4 N>F>65FvC}Vׯn/pe7Z`٭{l7[LbaMI!{h=V$t4aХB()ԩRfǐ3:~WƋ8ꯈMM3P{&B=Vn &0:5,Ӵt#7kNCxtz>cm:! <+bguڙ ~ -9Q'*Xl)M'+֑>M:Qo҇7SNb4{5[^ /|iDoO!i6'-~vuRo{{wny*&Ƚ<՞{S]&Ϸ2ݿKu%G'Cއ\t<;8ĵ E gJa 'Ø O Q=8a1<4^y 1*v־9^1 c6 G0Nq ðd6v  bGL&[Nu`_r=_F|w&>aiiCP>mPp׆~okZG|[ƿ o kڎ~kZG\:u_ׯ?\;kq5rKzͫa^B?ү ;m5>pvvp\|a>=!8jOJ{gH/4(8/t|\rJ4|cXq璛ꙛ=guj;3]mL}DyK _Ref112430237` DdI7)>  # A"" qa)p[- ];5@= qa)p[-lp4[;fp x]l]U?]M-6WVAch:ڲl`SvVnn,ƭNB"# -mQEDƸ䟈&J#޽޽v[9}wyT !: C$>'*h)d"Gܛ'ąx sE*ts/gttLsYQG5MYݥ\Uqg[|s*&H/O.#]q/Oy_*3߼w[umit!yvs M*zh1(U|OœuFUO|qbj>d -Xi~(|Y#ovęTSfԁTXԑqW_;![Ymld.åG~`E'ϺQ2.nmb:B[VwXm'nHv  m}2I[)ں|*t`,ՙcp_/o _TYuRHm9vȧMmr!>a])꺅EeY֢щngl`c ##n:mG-pθ};Np:n3n/d0nMd 4~ø!Q 7g0V_)/(b#EM_-KsiDZX /^iHgNcY3 BG}72o¾?,}/}W6Y+wy>Y]vھeKQJى4}4vwqrCþ+q_wiߴ4)ָҀHS܆wly?JlHM<$xOCdXW<~Ϣʰ [vw7Cm+3 vxyB}կ|Wz47,|LC>tǜӯ8uKK!x`L1ɕd[|7bߧG[xf 0ۋ_E*V13+s!Îua{Y l~H1}s܊Qg(}br(~"x19rd̝^] 9EryXbfZ n8;3QAdx ,x,P{{:4Oy$3VSOmzZQCOAbYJ+Tk*CRY1l&Ua*C/QV } _:fw.PR|LpqY!G+U{l7X?UR LCVߡ+pF fbzJ>dFC":t4Skcź{l^STgǯ{cyn@EW0sO%0E}_|D:kVoAyړ'Z{x}:%POiOa @NCa܋rBCKPя]i٬FdyBȾg:DiVn6 ϔm *m Y)ejVC*L[ _gploOԟ ̮R3*^gv>Z}fgǝ3J}fufgv3dgv鰢P:F|*]>Cc ǹ;8w 2H0JORWQTemO2';V>KH/Yĩs|(dM29 7q[xэ~'G7>J8dc>W{SL~WwDq㇯YNÎeW_:^,Q~,A,A]7~K8dc~K]L.^.·z϶>S?h;e)nSq[u?>e7iAO7iq>e'xB'Ld.7*}?ܨL}pJeJMwTbtܩ8ωʝ~o:.U{'<ƭb*} ܪn\(põ \8q*pT͍M{.DǝVRq^+f]+fY+j_ၿॏ[a/w˯nT\(Ɯ.WXxk+A]Amōze+_Q؊W&}esvS\NqcW`ŽchMg*@ k}DyK _Ref112174690}DyK _Ref119824751}DyK _Ref112740478}DyK _Ref119916356}DyK _Ref119916368}DyK _Ref119916371}DyK _Ref119916375}DyK _Ref119916379}DyK _Ref119916382}DyK _Ref119916385}DyK _Ref113281960}DyK _Ref113706694}DyK _Ref112530209}DyK _Ref113640894}DyK _Ref113706878}DyK _Ref113707673}DyK _Ref113727058}DyK _Ref113707707}DyK _Ref113707758}DyK _Ref113706970}DyK _Ref113727135}DyK _Ref113707000}DyK _Ref113707105}DyK _Ref113707042}DyK _Ref113707063}DyK _Ref113727211}DyK _Ref112430457}DyK _Ref112430458}DyK _Ref112430574}DyK _Ref112527324}DyK _Ref112521788}DyK _Ref113727288}DyK _Ref113726081}DyK _Ref112430648}DyK _Ref113706878}DyK _Ref113716656}DyK _Ref113716552}DyK _Ref113717041}DyK _Ref113717900}DyK _Ref113719408}DyK _Ref113714017}DyK _Ref113718920}DyK _Ref113713650}DyK _Ref113717355}DyK _Ref112430596}DyK _Ref113727440}DyK _Ref113729513}DyK _Ref113729534}DyK _Ref112597039}DyK _Ref112595225}DyK _Ref112595229}DyK _Ref112598615XDdi >   # A"2ɈU@8| !a5`!ɈU@8|@1L%0hx[]lU>nwRJI ?hLn"&e;-2M4`|!O&TH4`0_/{tw-ά833w{wιe!y@6JkK fP>JA_>g[EkdgQam\&D-2HdJ?p ypeP~̊1h2'=X߽O .SG!:b\?Х 4+#Ա] 8I}T26b¸kk!͹{ %h\]BuyD#VcZz 9Ws &*u lJB'(v\T\H*VQLGNe'ܠUI-MQ'zϗՉz"nLDM̶J)֧4e=-Éy6Wml-ͱG$T!E')JQ-њƐU55JL021~*sigL%Kē*u˜8_8ܭzx1x5ղ/x#bLqn }2F1#Mx*x1_cqM,H_u8je mԻIчb[z-Q&ža؝ ܚC |W Q[meԑ܆i{M@lQz|g:s1Eh"܃x)x)wd܂v`dJ㶙3\bZ-2v[D,R*3KW ]}+|ƶ+iy)0/QJHIR\/qIñb=&Vv~1˖$G[iԜ欢{:0f!wf_a,)%`>":wQQYX~;4xY>F&_0m_U_%4|f^^`lam[9s&5cᒝq|Ю3.ΨS9HOjH>3 yK$Z%4E>..nNCނm #F 9XΎOh""getk N|Yivtp}. +zbx_8?y(4y(*:KTiP\D^J*Meu#x܃J׬+ϻp˕Ւp'~Է%iKɿ%\lԒx. m~|ҹ{Yj1 NVnRBp3p?nF  # A""R4c6i7.4 gk5@=&4c6i7!JqX3xxTֿC&`(lx (MB !|ޑ."Pz@HHzwYfbL&}9sf}΄wY{4>>>}@w(OTZ||rJOjf|ǧ@z䅣f~gk|gYuu_>?}?ۗ߇ԭCUTJm*"?k}w}+>b{䳽cg"B!B!Bu˺Bq'ȣBI-ZBoR׿c޽{vW_o>Bqm۶mӦM֭,X `?~BH &u?Ç~tҿ!1w\eĈCG4MI-OY^`A&Bw}fA!)s8Bo.]z!$E/C7k,86!=zTRr#!$k6/^ܻwoB\,@ZIO{[ $/4\&BR=aܹ:ub ?u0,0&*c%ކ矨,ZoO^?Ū$?!$U9cB$_=zȲŜĨŒeʳ_IlNm٫ԄM!tlBR #n, BLL ~5m  NtlB&:6!Ī >U!q1j5CITTƷAʄб !MH Aio۷/|ɴC={H o&m" Ǐ8q'ٽ{w&}-b?MaV[B]bhhӧ˖-!CMuƌs=yd{͗۸ ,nB؄BǎUw" -Z`O?r&M)Svڵjyw˗/_BY# ʕT,5j,YrРA%KGeBSeޜm ZH5ߤ+xb9e˖-\PNJ* ($~_~7oB{F/eG$ص#m-B{~4tq=:~{+W CB8ڏ $F؄B~ڱas5ǧ]v;w/Ýӛ6m*g{Ν{رaaaxIKi Yf+֭[F|}};uԾ}{8#Bfڴi /|'4_@xih[]0ԥKvء4y:8nql݈c۶mNѵA%m:6!бD?ݾ}>} 2dΜ9]ȜS/v[9rIDe;vƁ{:C7+O?$b,F7ȩ>|X?,' s'N1bkZnݸq%Kik$6iS0aÆ?NVvcfBUsN``` K \;e%tlBcyl<ĚW_}AAA #?SUƣH;߹s… W^yeʔ)XCEu*s˗/.\{k֬;w I0@ R5˗/~7CBBЀQQQ+)/k=m>{l%(q-c%/^N:u̯ .d}/^kP#=#Z,(!Hek153gNi(^r\'4Zt~r΍nKL3_k׮z:UF?|$^o[޴iS`` ؄M!tlĨϞ=۱cGRDcfV6Fei 5jd= A"::ZcӧO1bVI؈̞={J7F=_A8qޞj cBHjvl؃2e_Xj Y ùt#"0-[|X@7:Sm~zڴi{mٓ#nk\HHҴiܲYRJ.:"R ~teu] #\E#Gi&~f#"jB cBH*wlHTHc[L={l߾}\bxee@›!s8pJ>#T Ê&3;<.^kTM-rW^+":eQϟ?#GSZ)\;w-z3f̟?ᅲk1{3gSCTO#L>9:!tlBIDUYgsEݩ`l O4i*$ v*]X1HmFVR]A?~l:f+1o޼1cu$2Ujժ}-[ÇiFu_ KOpq+B؄B6)WݻC턆 կ_O>W^߾}eUV+Vl@ |j iN9vTTꮸFoīY4h駟~ m۶s*Uɥ8~z{=z-C5Qa^n|3WX"б ! D4W;Z@H4aڴimڴʕ+WZ҆x֭[Q;uͶl̙3>|زh&F̕+WխXU)Y#qR %Yl<^zÆ  aZP.~Ǝ+]*Ӓ|5ܜF؄pl<飦eѼyH e,|ڵӗL~͵k֨Qr93~Rti9lI1cƣGwƝnܸ1؄M!tl1`ɹTT ) kUoX߿Gcɓ 䁖 }%ɓ&M]vLLLqiҤŋ~%J 1&ɔO>dÆ xxb'jrM!tl;b+""N:u3+\tf͚cb3-^8ꊸK.V;'""B:ej7б ! z㏲ݻwPN)-#᳝;w8FaBBB-v\ܠCDBuG.̛7u }M^z饕+WZޚDW_} BؠaÆeS;e %KdS[nlޖt0R,t";}.d`zJ8.QQQZZuQg u>~300=ǝ6}ť֭[PPy]Wɪ):h֭[gϞ՞:6!f#G9s|m:ƞ[x&{2HYEh۶ƍ=HtRΝ!Q gO퉘40S|[ =AW>ԶX-jӱK*% б !$:6\Ν;ZB5k=}Szj?zjPr^xzyq͐!NU;͚>g[m__Ç[Fw֔Nx? ƍtlbز_+VZx͚5e&_"'BYC 쿿#an&a 'F+44GW*222Ǐ}Ix qNzW{Khd*СC8pe"Ϝ :2] .-#GBRck:OϞ=1fekP3?ˎ*f>,,Xk<8h9*Loaʭe'yjǙ3UbeAT… zj8Su" ߿߲MiN:6!fVus }!=$1j2ztnǏ޻w/iT>9ri+ ?L0~}+|UXL|8{z±`^}=0#tlBI-DGGT^テz^UD83go wyL*mfu޽m۶7n\ĉ;w 94r䈜s=9sfC i{c@ g: ON ~D&OPEwy>xб !! Bשl}YfYf}s/<*T@DEɑ#G1]t5Y^(0ӌmW㜚PZPBP2e˖5iӦ͐!,16̖-[lUnόCJS>B؞"8Е17M윐wy/waF~d`}jSgSϘ1#6mڄ{qbf"jV>$ -ַo_Hg޽lB&: ҬPw9s^~="""]tq}j}[dÇeu֖WT'! 4,֦<'O,^8B&:78L{l&Nh1Nh/*TH[`iyc M!tl/< YC͒% ?/[[vTcYemҧO#G cB{~2e6l VX! R`A5lݺUW_M.,)SmB؄BBƍf͊pٳ]x-{U(QD9e8q.;C B&:Wsk$v-Ӗg=jR$skΝA=Npp4~̙B`n I&lB&:h$s:tHt^]dʔ 1o!b=22RKLTHKc/]d+YB^%̚5kȑ{F1~xSoN"IUZ ӧTplB؄Bә:uj߾}aÆ3HGbӱ cB;3m4:6MBtl:6:6!бtlB&M!tlBǦcB&:6[/J^ްaرc٪M!tl8v^&N˭ݽ{w:92UR ]/ O|Ν/U B؉ʧ~cǎnAF@D"}:wTT}%KƎヂ0'Nܰa[б !իe j΃h},##'LK/M:UYʕ+ݻW:t7ߔ5ǎ66={HSXQ=pQ???9k>m7n/^ӚNg\bő#G^ήYf-EocwhG:6.֊{M6wg,ZI0" B؉HEЋ/DVqlsBǏGDDԬYI&6WkԨmqlˈ"%&SLOk:=u֍1B8 geplQmUrݱj}[[nCmY _~@@@vܱcۓб !|lt7o;w;Ͳq 'f۶mf:})S`PuףGK=2ќRJ.\5L?c9렠 ˘,~„ |2*c%kYб cBHjpls.u|@~r<"1o͛7僁OFDDlڴ !-/ck]3Xϡ3 k^7V^vm}Q.]б cBks`cl0NPGjIYC kd `?F \Z'h.decdd$횎MBRcc~F eâ܎&c ͥŮM-F@N ؔy2cB&+űiZ0[YS&"̋A{8ҧ5g- ?h7Zl:6!tlBIWkԨq!ilأfe[Q"HpW%cGg F9~kmC=0dw4g̘1px>ҭcMBRc9sFuDVԥ$Dmӱ cB} 1c̙caj͎gd-kf&tlB؄BvݱZǏ[jqFZ/""" r̙tlB؄BvcVXQ'I[RUƩeɒ j:6!tlBc˱-{8KF{?z(U3˞̙iE:6!бٱgΜÇ/]4="Cf;$-{j/ ;MB86&[Cr<0o#FݳgnݺKkN۴iӾ}:jժ0!f~|::Ih|1cpycB&:vNA#""`={\le/4Φhx9bHTE3g=M4` hM&M!tёZ7O[l (bO>e9c;>{4 Q s玹ӞqO>SN:6!б֭[/YIJ*صYy{y]h6RGT#YHxuϞ={ncB&:3ЦM˗˂ԃz`bةܹ3V\j1sYF$ ZI=!c:6BNb =q#HxFhZ>>2dH&M֬Ys=c#mڴR/˂ *acBc/^ʕ+|'7pKmt:`eu5jȲ< v4>$G;vSlYK"MWAgPza'ԩSؠ90VS֊!tlBc'D}U]N wch8˗UH̨CS=+M~Ǎ'qF=f $e֦t]pW^ѧr"]/'%& z!BCC^ڰaܹsGtwTtiT|dY!5dб !j"*px,jժa5m`[xRtȖ#""\z۷>}Z_R1(8Yg<%ׯ_G<,,LXE/i-~SH__lٯjy.%!tlBIc3˃To3fv5k֬sέZ/y:t 'պuk,7iҤiӦ-Znݺ :tȑhBj|N^ti:uoܸW5Aޣ&7ߌ=Z_|E۶m۷o'sk޼ڵkϞ=eQF!CL8qذaRuE3foG^5KH֋9f4Dߌ,`Vѝ֭[e˖vDÈ:6!<֨2%&&t]~L:uРA=zpV3V\٧OqlTَ44h|B'8x/ oF*Ug!=m4gw* %~>vX95kǣWO1Bz4 .;]BZQmZGy?fÍ5C)s$n֯_?$$lB&:vA4š&qʕ+VVM[$C=D4iscёfX4nܸdɒ-Z~128xY>|p%w6k֬B lK)8Z6f׼kpС~iŋ/[޽{uyľ^:q„ Uˁf&kJ??F:`ڵkr?C=B}tcBHplhIƚN:ujݪ:*z/iLr>s̾}l#qo㐴0*/]Ϸmv׮]iҤ :z#G~J)``kkB;T۾}ɓ'FMw$%88w̘12:<|$7ȏ#ex[¼jM!ٱ5g-O5u0֑vYT"$=VixܻB hРA@gtrFlzbqlsxTT;|p9u2xmӟ5p~;6<|?;NI~׮]ұ Bؖ1 :٢@h;={꺘aFeeխ=fJйs *XF]ZQgAǦMnݺղݒI&Hvmuk={vq#tlBc<)Ǐo۶:LpLͺSm :uJ\i&]x&=,ctR+uuZoCњ6mv󥈊tcOsZ_hѢŋxMc:6!бA֬YU\Ì߻wuMEDDǎS3Owq_#Gܼy{Bmr :6!r%ݻ+zUbEYphի]T/3իo6kצMvݦ{9Vtҥ)> ƭ(O&M7H}?_[T/,١YRg?x`^dluLC={lժUN-Z^۷iFnџ~E6t`>6cB[bY}D%|k׮ҧK"00 orjnz|3 ;vB+vvʘ8g޽ltwstcB;N.`v;wI]ql bÔfWc ™pڹsg-cțl:qeYc Fҩ+zx$tl?ەj=|)iٲeڃs1y$б !]fMU1 Ӓo:w}0S3ئ%:d4&g ck q},_pܹs.z 0w܅ GEE9E)oV.֡CЭx葳sa9Xٶm[JW?c:6!б'4"L:UH5kV̙Ϝ9!]ݺur#ޫȢEZjeXgrk$ZNP3d̮enE߬T(5lPw}DNo]}eJ 3r:6!б>zs=e<2dHrݻAj˖2n8Ug'm_v\oF]7گ9 _tؗɂ͛뜌16mC/:k|]]dI+g%tl:6!$C\WJ*uGf(00 `j]$Tub-0a _w"DA>Qqz\z5((]vlB&:vn ";w"=+s} O%GӫW/9 i}Ug{wѱ!t9ٯm۶xZةe<5ׯ_o߾}֭Tș+b!.y9(ߣ]vҥo߾iis@Dڇ "-lReOB؄Bǎ؝YK4[N0]vβOa浺kӜ 4j(Lfq&YؼyɓQ`ة[2[oܸq׮]3nIAOI?|FK) Xpŋ7o޼N:r;q@5jhڴiÆ }||ϟ?{ls2}M!t8uLQixի;vS]Ri#>~Y~K/$R Ă[vi*P5gzRJwKڲNZJ.}I<ū8_3o K XɜҥKK,ٴiӖ-[*UH۾f_7ʖ-[j"ET\7ߔ-/{-o۶mݺuw%O &!tlBclj  fT]-[6 AiN:#-吐P8DW\ײOeٳgN*a|]ojHyݻwG8Ѩ>Yr{gF=oܹswޕ׏;&+UJ9,{v7&Pz $M!ű c7nܸ1cF]2V3ծ]َ_0cov)C!L<2d$yp j6/[J#NmS_~ҥK=i*ׅб !'[B6!~[L… Kwuvm۶3k 27LqE+{ZA )'B>}t71wSِbŊ9x;S˘&Ii_ :Sy:P^=uu$!tlBI(3!_|ٲe+Zh9,YrС#G޽[8};vLYFsԩO>$W\ŋ8PR[5=ݍk,XP矯U֥Kd<(gza4d6dٳ)i_]6'N1#+7m$%KE!B ^[{6[IQO 7i$bNC\=Yf!/c=Nu .$=<ϟ_0б ! $ԜdC τ[* cVk@KB$Φ9-'NnB``e}iXpyB9>tk*p :LPPPk֬)\F ; S#… cw%б !MMب 3{Xu\l14lFAdv͞=[Sk"Ff)x ҝ:6!б tcG8Cƙɳgg1dRȞ=ɓntlQH0:ѩAEe]._z2g:6!бS5qğuZrٲl%D,ȅF|ɓl׭[x+WZEpHϜ9sڰZ晿@7믿&M!tԆ)&L9gΜSW MAi۶,ytJxA=֭[H ޶m.**M؄B&3  H6xQѢEnXy֭[kwFmG?F`v79P!$! ̣[N_= cB;5$ʜ=P ۼs믿Nvj޽ 4rÁ,_vj]—g =((,TYm<ԻwbAV➑e$ tlBc4W6Zo߾I&m@U>2I+eX4G;Ziއ %pJ)sz kto<&tlBc'_͋+t׃؂f;vz?](3;e/! }С .:uʕ+;wɓ'9)k=Φ mcܸq:ѩ}Oc8~82ɱ]vJyѣܺuKŔb!M!tdč7ի$.{H e˖1c.eF˯N胖k:Q?… WۿxYd/={dMǎeSӀTÈ;rؾr :Q f͚UVʣۧ~oWXq̙Z:6!б}٦MT) הl,|bږ36ҵIъ첰u:u3RK+Wu>wAY/ ֪3fׯLׯoEW./YΓ' bJ=@؄BN.WĜСCݻw?Lr=yݺ͛7o^< ̿ 5u&JI *Қ6MUF}lm͛#%pBZXXW_}sΚ]paS-tŋ~߾}se޽{xO>y%tlBc' 058rG=rH:O9錬w^``E=z)Ui"رc̘19? RY\vk׮+WGyZv7n8K '%+44Tgiy-v=͜9s֬Y--V6a„[_7xmT/v,ˑ̙3G._9sfЧOiӊydǏWб !,.);v=y3ͦh,-{=HbŰoB )ݿ_,Yܹs1Zd.ӦM7nkHH^wi4U"(i"kҤIer|wr_r#F*U*}A=@B^N $]ZY;۷} ?-[dɒeƍl޼c˔&M^2hašU\Ћ3 9SEn""ӨQ#TAJddbWxc5kʙ?~rVP'tlBc' mL;A ,,Llz &:>NjڵK,rɒ%7UZ)kZ@ƈ_~ym JㄆjF$Sp 8}J2hM!t-iZO/DTTTݺu^j{|r^"Sn3g)xLҜZɯcB;e;6244a@X|eǟ=dɒGv+r<̙zz9qo8B>[~=/cB;5e/_ҥɓ'-{lҦ)R*<v5jСg+; 21:6!бSc?UՌ-c[%K4sAb=Ye1{CcZs{U_cB;E6Cׯ7j… *H$o޲#6'*Pٽ{ G؄BNو>|P/,[4YcL*t6u~^8`%_ ?Cܼy3B67?q.B.{EIJͦ'0Yqƛoc m=:j1;/PJ;#bWmŊ-Z dxYIulel_$ɯu3y%?t{SH[IާvY6zK}8TTٙ2e2mVzL^k)ioީS'>_ $:6qS/בK,WV'm(aY$bFtFf:|]zRJyիWG;S=1=** LnݺEW0MWﬥ`-[F4RHul̫[dr$XC)rcbb®~"c'w\-Om-ժUsaRaHßray%xps#Gˏ=rzJB_`Hްaիג\͛7[βg%d˞^2)F"tlol7k| |]_jw?^\Fݻw[#3C3eРAe/;>Tk>sL̙۴iS~$'g%ajM"F*ΆW'Q5k?Scce޳gOϞ=za_tRn99/9)-p8/P'[l'$/UCx-RzMotU yN=맡Q7o:ȑ#b=~0^zWF^fiŊۇ6ZƗ*T/aOAuAdО[+EJ!WjZ>*UT%ɖʕ+52^VڡC,{ꬷdDDm۶/NWJ+=#oO\ ͎߹+BRc+gΜ?;urYu<Ifܹs 8uԯ$Ovܹ~ ZOVĥc{֫Wo֭=UGhhbͩz=!C%s)WYɊa1BN)F_8&&7Rvl,?^$w ұ=*j;+3m4+E[nYX1L]=UtѫWI&%3ʞ=;n9 c'6d6oqҥK$w=z7o^:7*ꓣak 0a0W1GR<]7,[Dֱ>5̏`/~>}_~|{פ焎厭3ߟȩ؄MT!ѽ{+V@Ss?(@!-[;H{$9R@ZD$QIJ.d9KFBD$dP$H<[{UT?8=3tO43kusgﵞ ;6b^1-ZDow/_^{(FS8ƦF,刑al#Fi4]QF7KGΔ`Pf34Щ(}QvG4&8vm62"˗/)d0 8*UpN^6oxSE fk!M+lyR y#Fѫ1ȑP#ءLzَ7O&hiqvر}!a;`ܯ_>}^֥KW8$kvcf)M6md;XٳgǯجfccK6!#MYttF.D kS*8hk׮+C:k!wYD9ίݚ^qȑ#QgtV-9oY g\ՉRFPDzX@ yf &MԪUkڴi㧹s&ԩS?wܹz: _@ 9jME/Mۅ !ab7=Ǝw'`^zN"Ѹ.Tx*у+i;p&"txBJZ{4Sc Y6g a\`a&HxbR]ڇKe`RZ4{qdF)cs.$Ǯ޽{ +W\cǎM6[nʕA>]pgƍ7oҥK J.]\9m<#[H9͎mk2f :jDmJflDɐ!S>${nuïj'LوZSȑG`W:\0vRcl07t^,"dKK` Zn{ v튵I)jF5ƖYڼysǻ3.oU*$U^2;BD22;ݼy# tE[7Ӽ+֌;G6oܰaC`Kfx,Wä)]1&@0'ݻXZ`A^ztݻwkx38JJ4:i `;*5p .HkӧO+gbŊ-[D4R vTA㎞TL JrJԯ_?etE5>}kѝdEd˖M? cyu 7ͶdSp?Лw.;6]^J)s #s1syw.[Ik}qЉ6I(;;{짟~?~?uTG:0rPV.pѢE۩S'~p!^.GhfA_?쳥KM9Ƚ O:DW#G*P֭[( Tɹq[͐}C~v)m8qÇ cG~78mhߋ,9s:0vؠ(ѕ.tuH |x̙_OpfH)LCT UXqƍgΜ]یغt4sz1\GG  S766Vد ,)%NdϞ='N~[+CWGE (l]HB/M͜99HoFΝ)5.ᅆtAe2E ƎR\\mڴٶmM;&w, }j2ΛfuV8y]5o5md;[|gٳgG> "`!C͛ɦ(oB0˒\l@! qM>=k֬L1B?5XեK A87Σ]UW%a{8VZ5b6/7;Z!3'u129˗W<E5f ]jܹ9q.m!0Շ}c:U?֯_kUڣf'? `(~x-1DS%)*\u˘=Ζ-[bbbn?+_}x0vRcl]d4h 뢍,*걱=$EΝ;O4 3݉Uhܸ1 -.MEMgEMђI&7mD ]ذaMb~SRy{~@p!޳g&Ν;oe"pYi/%,4F#cNIƷeEܺuK`!HxϜ9Sŋ,X0a„k׮'NL2EÜ9sf͚%zѢE_|ݽ{w"V\dɒɓ'㉇knrk+M&8#l42p@y_l0Cx cGe&KlO2|ig,DV4^Ff6ݻw#Nqu7LOŐ)uu$Q`d_tabvڢ ֩S^z~ZL͚5wHkW4a;W0{lYK.ՠFT%f{,5\J"gli`c.WK~饗Pݥ8kKN$\#hem+邃19t ί3rѠ)l!?S֬YaF4-ڵkhjrFc^WϞ=eWTI\믗-[VtFZZ5ܼCSժU^}r!_)Ŋ /  $-Zme՗)S_֫WO9رc:uH_}UiL{i FJS忎g|\ y-#]ܹSJ;i$4rOAr2;vwĈs С\Ao߾}B !ʗ/_FlFt/تF!'y|4l0aXGNrǓ\V,pf&e֭β.`ɑ_GG9F3|C`iB4 #V%"ΜFcQdfvS_kpܸq?޶m[xA&.]"_^$ $vr.PA0X`l{3ʕg ;GU&3OvF0؜aR yW~L\;v쐹${w3f:uJ,(W_^4G\vcǎI/{!ǤVLi p]vu`3f̚5y#21 TgdXp̖ė/SNȝd@Ä@_ Jk%ba4qp&u4Ҟnݺbd;16'6Y3<(V0͝;U95j~ cy姼Ľx2Or}ѣ<&h }"Ep,x^DFx?:*# c;fF5iDeƍCiBs̑o+yF9vbOe˖yF \6|Yfbp!~/,^>Y p<2dF h5h2i/#G(Pz1$C$ܼyBuLC7fa 00|k9@P$k*U $g2 /"cCEF?ʕk)SX?"%betCs$d&T;tl2'ONт猅L=`U5LxRʂE4ǎ++5k7oε G~+T bΣ"IŽ {fiӦh߳gO1aÆ؉Tck^ s1N޸q_9p{N`fطLԒ󎣪Z޽y'N8*g ޤF犨M* IGY,\;111Y=͐Dn M]v8).qsd*)aɓ'ر#% nm̘1Q BM&q{Bvʲڷo_K.>~(w^fڵ-QayqٳgO&3$FOsm:^g?4i)Ga/rF vƎ MC.9sD%BxptZjKXRDЗ[dDՙFW7nr&qݰI&ckn7o^ak8~? e+RJq|jƎ _|MN8e`סCQDL8̫#^NŽɆX]G]`ANlIu@۷o_ W%uܹ؂уA_hz#Ij֬vZ9s&B;IO?$ N L/L&ϐ!C7ndJB,Aș3g1^@W>7mTX1`9f͚#G9)jEyqDxu@;Ox7ǧȩ_ehe!PٳgS1xONf{8s}QǛpJcI dt} :TCh72Ne ܟ4 ٱ Һu;b]ܻwsδ(ŽbURk-\{ݺu7s /V7A@/cB&L|Mk+PD~lQa:!.Z`Eҧ3KhV\؎Ob9YtiNH\*'!&0ρ۶mzj`lٲU4/[W_M6nݺ"jn+WV#(x̘1H,|,8^rE$ZRľo">CKF>%/=Ti~3_-ԆÇ6 G_¢el5jPSDvO'OWXH(oISys0vdblGU H]`㉦ϒ% 3\pAE(y`'}E&NHht$¢V{0 {̕+cA%`!r# cGf .o޼ݺu.]:Z2%B&jJNIG!9k5SG͚5gDpedk׮i+Yɒ%;{hС2dIK|a`0z/F7lP.Z-DTUy.+a쐓 i#1T[\1cs׫W42ڵaQ[tڵkdarALD \:S@x ?ȑC֬, *Ͳ(0L(~]PԾ}{ .d?qh/̞=;-~7T/q@=edrM*)x84O0vF:t B~JHoP`L|Sh;063 ,*ݽ[xvE+N7nD ={[NUVwM=*۶m D?~v:w駟/22{Dȭy\C=b V8E ڏOx@Ad,Cc;r06/j}'؈tpOT9uTիWE#5 A(A*Uڹs' }/(wRz'8$!? ͞=[&SF#csE/U9 @'&R\O0}C˗/4l&՚,2r>/_>EH5GZRxbᏝ\!"[>y(Id /j! [թSE5Ѓ7o V 4Wa3֥šHfϞ=aCF ck\zuaPܐbv5`?|i'$M!Ɇ"640vIN WzQƾ}kID?_vݿrլY/h)n'odC޽qAhCBhTR hxɃ9!qp"/B :*"N4<~8hРӧ# )"вDsx}6k >)Ya5Z5MËJX-IA7fc&A&nݺ/Bwbȑ" Mf/_<~gRIHJ;EYx?LN:uj$Exϟ??/ćիW 2D] r28ʣ? HxBZ,X*0v`l]^jybPysw6GӓBe0vJ^9:"p-6$K ~]xX"^֐!C*Jg B bC2=iU=cZEs\:EYp swW^…CrC݂7#F`\s1J~[g䴗>.]ATi`2nܸqJZjR4@Z1ZCE1uh.QldN o7#(nݻw(H|t orUUH\ r6:,V₀rI7޳gOO>|P.;ro n!nʜ9slc;xV)kJzk.g0(<|9rdڵ3fW\#5܄D Y75Կj١8 S06еgNi;>,QHXd;hP<1xM.HR޽+l׮]/L?^rzpv5.R 5hqO?ƥXь֗1R8c G5ᾙxxY:E$+%KH6nx*w-?ai.ׯ#=>hsǙIcLq]ZKp_Φ%J@n*3)g!u|ҳG&y7!'2VZx y{P- .+NЮPZ@&9] qjb71,7eDЭ[F>蚹pFLcv`剬3gϞE||+^>.ڵkQQi5 ~ c'?ͽKYzWp Xj"YAkjA_kLLyj;1vrCN0 ܽ{M" PU}x8xir`6C֦MgϿ272dȐ7o^0$/K!y暟syiӴ^ dhˢU ^¶V}ҥ/3g+9)nݺu>}k8mlE}8a?KxGFpBte˖!iy۶m6lرcǙ3g3 aQ]j[ʅ?\s޼y3fhԨQͧL|Kԩ#}ĉYhN޽[$Z,YK.Df6066T $?z wF9'z+N}|HňBf;fa-O~qƮJRB۲e˩So=650s5Wp֭+VmE_0QؤI h Yj :y*)RDVJty*U|NZҦM&M 2ȱ$ʕ+ryG'N}Mau}<yf͚U0i޻w0G^|YdtD3f.O^(aRyH˧o={s玞͛7*X9(Z|^32M7 gO.]:v(E"0vT`lY׷e@/י?~\#|iZ9dHVZ%;+>͉벫|8lq=s #4=:t :{8!vڕ\:$.)W\"}?ϡ~JFl޼y5%.-h7YE!cB9&Z᎒4tTp*:6֗Whi;w@ r}rasn.;w&eϞ c,c{܆v0%ɓ'L~X?SHO^KH#cG#/^<2͑L.ˉ)S^xTRgΜ9x 2*D>tӧ?Y=~v [P6:*hӦMHiw}wC,P#i?W69IaJH ̩#MIQz>-6k6-6l̜9("3d SWs:g\+GR<c,0g` U0v20_Y)˗O& `vΜ9?~@e˖wͮdu6HBr'j:"͍(t~I7: N1;"6z-,Q +V^믿^noZ _傕+WڵkTRL *DA#^8MQ!-I$E֬Y#[!9^! 6z_edƏ_dIoQjU7F$Ԡ݄IVǙrqaepYK탯.-s .]iӦNp4J?k]ll,5TBhE:N7'\ ̬c ,>cdJ02\r'O4>c;al&u<{)<!0:cƌp+"Yda,16+1y &ԥKb9$l Bi~Js؉[a_PNoѢEϞ=[nݱc?UV|+&_6mș]iwuʪӾ׌@B]СCݻKڵk޼|j֭7kL>eo^?vXw4Iu&kȦtVm/I00j06G)&&n!ׯ_<׻t7mJy#KI|Cpp YC êadur<.;wʕy,G6WRa*Ub5[䄱f58@~prF/Y# !W[8 c'Zd{6AO4!+2`kFNlGxvPBQ8&Nbp+}ckNm۶Dj[cS3VJ…,X tHF3nܿ+K#Zdrh[F ckСCǏO 8@&Zdd\u4 cH)QFNr,=f(Y?^CzV0vcl-U$ (:OW_=rHNo#A(bI/N& t@T7c[FFFK{}7߈ pF11 mP"E "-uaH6L3gy.$q$&&fԨQxFI? uڴiQD>7nxcВS c%WID,D^7LjgΜ޽kf;16  .(7T6hXG'OvT:um#g>ܥK'م\62j"d|ePr!̯uLv4hΜ9aL$tʕ^{-]Y:U߾},YB< 6 cYZa;wQFsѮ]ݻifZ622z"8,AK11eY̡w^z*.|KƎ|M߭k׮ϟIt8c ru_5m;xBb( ;ktc8pԩS f?bŊLfaX('vYwe}@(9|Hc `vΜ9i"g;*06/\9l :U*H c6mdd Mr0}=zpEc2ViK5k "g;Z06qs,=x02fj0al##2&&nݺ8F G-aZX_?25`;0vZvxsϞ=K5%eHQ/js.O_hh)- 0m0Q$ftF_T()8:ȧ<|05W Nb0/ab3/% H1& a)06q0alFF)VΌO?t ҎM Hc_58Aт'OgΜ ~믿mJ'֮]u-[lڴСC}ݎ;_DI>GȩTH"G9Ǝ:uͬA׮]С\Y|޼yTD믿SOeϞM6}Qʕ $2رcN86#KK/_a;16kӀDlҤIe@d"5׻tYu@[j۶Ԭ?0vJc?䥆 c=D;v7n߲|Sf9rH#;wG‚yfQ1^n c1c#7 ^**0~7oh\,>5{+VWuȑݻ߻wYG"<7~x03m($"V4ޮ|\v)S˗W|q۷'M-D@#Abl>aVÞ,'7n|Ň_jժ%KϺu Qw}7W\qCx? ~|؆O"*TryǛ(;N W Ы*e/*T(K,@zwb(A; *+YMы=ׯwE0>*THռys}`-%Gp˯("c46m(yr #v|rʩSl>|p;G\Զmh؎]D[ cG/&TQg̘-[[ݻwe-_gΜ0a@' eI>S26_؆+p!hΓ'tpe kFA>r f͚h"mL6TC6 cG%QWYuԡ :t@I˧ p.g(~.]H@ ci!A{..f+ ϟnݺ+W<3{&=w\R EJz' {xƎ^ zWzS۶m{̙3GUVݲe 6l$N?alFFɞ8}ڵ7|Ç.3/1 ?ӽ{w"A6mx-rѣ{gث; 0*U_ a2L#hڵk#iXJOФo0Q$"Lhׯ_ ʔ)$`f[nΜ9k֬Y|9->2µ08VxHbF9ы$8#32cxz. ?YdI4YalFFFI #K'#˗!aZ>?.!AyY]$Zr5aN#۶mkڴ); a"c3c3o'b>M($b&yfGyXʖ-4m0Q4bs./wBҿGrlݺuʕ-<-[4jԈ cƎywg4M#4Ç}06o!n"=8Oԉ"'3Dx pQMc?)]0al##"(E 6oܸHB⻨㳁GW'NՀX 52ߒY:tPgqAV'&ԛS.K Id. tȰng49?//G؆=1ܞ={W+q&΍Ɏ̞=. f52M2?w:w\iuS M:UЋB7m;0_|s1=_k3(_|gΜq c6mddCL , i~0{ܸq xe'/'ì}9s?G餤놱 c62J?XF&aj֬*8u~{֭sq3u' YdJ,yAcF | c6md`6$%K>3ǻ{ku9&&h;#aB}4AIU!p͛/d; c6mdl6hoK. o#f;1v^~G q8]־}C90vbl^Hs&!ںxFs%ɕ#6m(%PF֯_c_I8^v횣rƎ(EƊv_.;7m0QJ^zĠ油=<҉0vbl.dRZ#TP\Mqc'K0alFFɞf͚5rH섡 >ӉۈƎ@ YJP90_~eASqXal؆=-Ywj"@󤍌aؤۯX"b+-VZ!6E3m0Q7nիѣG%bh;]xXmd cG 2SSTLԓ'Ok׮Cz+[|I0alFF JN>]Z5,@D;>|*1&B_s6i[&R86cFEZ믿.^B 7_G 9 4m0Q60 {1}.!b?c#f;0p"5V~+TM-" *t$)؆ c%'#>|0cƌjt4χ'OC4 7m4rw7x/d1m0Q2c5rK& \ؖJD=9и o#c;0'O -m59޼y|@#{de0al#dj… *UO>ARF ԩS;˶ aH,"uֆ F 0/й0al؆"ʩR>PV%<~V_m]~}n sWx[@) 9rI68RLEgGt/|y<_ c6Z y,\"g2qKqjp!_&/d` J񇆢1i%,Ɔ20Ç;uta-Vp@VȘܮW:h:TΎ;f1̏DoV=;.7ɾ;ޭ+v6)c ɸt^x͛~l@xDjde%)g ?IǾqSQȁK5ŜpƆaFZ8vL c~ᆋ8pD͛Uf`6 9Aʁ gC9`\rk0\xq]F ]+ ~MJY%燪"J,;6T<ɰR:@uXŘ"QcQJ\2%yR}F:Y,:BhaÆ͛7_iᱡ~gy0v`lL@P,7n 24hЪU6m4o޼~M4Yflٚ5kְaC9߸qv5 'iiFNPDׯرcqФ%2wN>-uСQFGuӥKWF{OFE2]v]v}y/ 81v0F+"c!/(,QDx06+Cx`[(7"rB:pc_R{ڹ ;ǻ'"cb~P]A0*SˋU/_>u7mڴaÆnƍC111[l5k|r~umݺzŋX 1 xxRt ccci$ӧܹs3 pӧOXULbŊ HzIa۶m8#yf\ ,(TRJ*Y%a8*S,Ƅ9H="(RJcc1t[4xI`ƅ4c0B s]\3M6"I (,K?U0v1.Q@ p‰';Ϟ={qiا~*Y"kR [h Ν;;wni@=zҥK>7]zU+0pI܃`x$u8SuL BF;[l Iǻ9ebk룏>ڵk>Ӳe˿h|dV.]چ0؎w38sŊOy?[{i 6gΜEI1&qŋF… Kۊ++.]ё|g_k˖-}LNX-3%詰P̙ #iJ5`;)H{7m4ռysǓx_8Iq0"teV\rE&L,YQҥAԩsȁ%bhffe;w޲116&D՛ׯ_ݪU+_\A5|br/|Zx|ӧASLa"=HzV mVjq"jV2B5~lW. f|0v|tΜ9'NLf%_|Ήֿ csR:>Ϯ]&ѬSVX1clٲʕK#!"m01Eg:VE}2%dz.]ZV"+sI={Yʁ cǎaŗPO!u%؆ÉEp5fܾ}D^sN|$" c21O6lX| 1N"v:'2pvǏcR&Ce -[N+sUƍܹI\ekR,Җp66:Qjժ ܿqYf—GicҎ̈́Վ7ݨر#`GƒN:ջwo2Ρj;GO<n||n2: ?6ݨ,X@T-Z۶m7[\<6m[nǎG_pZl);JM1B_O &L6K. 6޽{|Xݐ^7|Kj]c_pW^ l;l-E:t֭f͚G]ð _Xݕ84$يwd͛7kNu [i޹s5zWû26m;^[ڵKL~ ċscܰY߷o_CGqjce406cxɥǎ+JVI 3*:T'>|yԠ)c0acljE:o$tft^aVbKJ:ٓn//gΜ)RYn cNd#[~ԩ=zHݻG&¼ m28bd䉲Ϝ9V`Ǝ.щY$4n8YׯkRp0‹%Cdw.]d;Y0alaڄ2bY E뺆gm¶s]|Xbp=FXBlVph1_}T 4m0vDH9KQt͛ UsGbD?GVMvܼ۷U7xgQ9+x?;6mo%|KF-ҀͮJ%מ={rQĤWf0op"K2Q%̾,.WiX:u\f`D>} Oaqy|ka9؆ c9I2f(qy]YeY 9d_&[TnoÓ(Ҋ3E*U 1Σyܹc\L!VώG'Xal#mep!ePZK;69ȑ4!.lp ;b#G"RFl؆ cC;vK5dЭ62Zǟ߿ʌj*/5Hzu|:q>Ế>miӦʒc&a^6`iӦ%nҒۀ֐PإMB՚!.w8j+0k.!:عs R18훫Mœ3= M}!~?a ԉ0(1ɃBܱcm} &k›Mt cھ} F.¹fhf͚ΣLbC] } =\(NLXZ#sx$ΟǏC5%0Cnbl1qIN~FxgϦ qr)%h3PHq)Iׯ_H BHh\׍3PL7lذu=GR0"P]jkAj;P.;wUsnq֗18^d"u7'Y~ zAs_l2J^ץKY$<Y3iBfQY XƇ}a-'P<9H-U߿W_٢0'ݽ{x\2tBǒy`Cʕ+.\8};S95-H)8~X6l~?@#Y(7q&c0מr@Zfʔvalu04CuIoQ9+o?~ 5rY& cJȎ;⋎7⃠{b_CoBw˘1c~hHQx͛۷?~8u"0 ,j]&9d\G}mv-FZY] DLwd4M[\ܣg;ۃ߾}{̘1" cImڴN? yˇeƢɓGA ə]:tH͚5p—/_fLI @F Pl'Q&ҥ(ؔS=zal1.o߾`B_~e̘1PڵK=:umyԎ#15|̊ijP r%aaM6E[]miHYgV,[@VP޼yDpdɒZj/rڴiK*3r*U*99r:ujhѢaҥ{9[ƌP|psCW\Ff5+7kQ9 c}^x駟ر#W}\r]HyGeʔ U^K/$W޽a:uc! PIP- BCb.?>Qw06ANc\ &4π4^xfLL̴i7nLMVdʔ)m۶E$N)~416p4i҈(c#G5j?lҤ,XpNȯʕ+w w5jqnӧG@؉~ k…y.^(CxI޽{+Dۂ YN:UbŲe9d;{, AJ+c˲m߾= 麙?|?OV@0 ds?L4I%ń|߾}#FHmp%6m`#~%KPQÉu27n8p$g.۷o _+7al0v$*Ҁu׮]ٳgW&͛7K.dY'o6k֬THe)A&gD!HzHϞ= /ZaÆ"[}0\&NW$n+d7d'MZY|y* ]F{Żxb|]r%GK_fZbTP=ɯ9sd$/Έ/s)>|ΝbŊ)g y-ZgN8˗{W+WֈalYaYrTb aǦ-hf Aڎ'+~1#G /(С4|qO m?S̙7oث޽+< o! C6gڴi5i;[&mKpq ^ Koe˖qɁPr2 Du2e c͘BڵTԆGPK,y̙1p{{S9"zZȞ;wNN6 :|~"Znoy :r\C˝;7gݑZn]ǛC0@D:tH;}4_܆ nm(cl]8Pccd/lرՁHP:c adLnӦͶmZYcQH3&LxE_ϟ߸qc۶m[j%a@h"seLjԨߊЋCٱ؂ {ѣG tCǓ|+Rɓ'UT.o)cƌ+Ebe?8NAx䏮Y؉3 0&uV|JRٲeƩ[[#cC(I8 J?C4ifΜYM`z#d70_xw}Aҥs]>%DZrXY`~wM4qM5˕N8-[*U4k f%FEse܄U1Y"afҥK8)S%Kr9ܹggeΜ9o0 4n(R $_YFo$x֭[үիW ?~<+LL֠:Qx)fvH^clܙ;*QaӦM-[~i"G\\`ӧOK+hQ9KiH[4 J,k;Pb ('x7snrʖBAx:[P`CE#PO t _~J"0)r/;sRۺugΝ;SUR-^`_`E,ϙ3GTpŊsȡGoY̟bŊ!l\lYN7dȡ~~Ço.ďL50S^=u{*UСC`e<'d 3VcFitꔄs&Mxjbܙ3g^&B hk׮ /Nd%%<'RJɓY+a *TG18Xի[>IlԎ[.Ytd5W{EO\b̧NuEI`\"'_W57q Ǝ[v"EhF5uR˗/;u 5jڼWoxvabbbԹsg,%`b2D{] ,r F[4͓b 1?[Æ  }6e۽2QV$H-TbQSvm{FaXv0P9BblPA6gĆGIUeg"E*VP$yUݓ'O2I T]95|:K&Qva2. <Ε+X?y=2d2E>gݺu+8rBa3HAVNqLz. UƳ&-<2 MZ@ 9vJ߽{٣>赖WF&aY6 IeU- cU ЌcǎZ68իWO>h{jđزc3_fg:2\W/K*Da:WcK$Q" b|d$O2Æ 3U!Q.{6GFO&M֬YMuIpuC^pBнMrpAF,i +qt <:G6HXmUB>)aTn10͛Y܌O/:ClѰ$>?6mk`ƽ#anݺ9sz~Fqeиu RxI.[16]:SCbcfx?-1<c9RЀd$-$uy1:r` -=6ǩ ScLtg.!O=`c[~m\ 52%egZڥ ɋR s"\ϐ! lz rO!=w޽r m-EuskDގݻwo^q^N߳bl]VFd2aq4BkY;!ِ`-C&󫯾qްaC#K"jȱ&qRqbB+F$֯_?cYm1v06cE׻3eʔ.]:AHLk@EK:Ҍu?rj9#Ad]I:TF%-ƶblL{!L0Z- B.sO"_߿ٳO۔G|=׿| jPBk'&6(A_^bŻwRs3LW MPqa1a:~Ha??ɝL \iE|r۷;-*#iȊA UFZOyAtqwʕO/_ޡgY 1[m1 ^}&Mp:L֩Sx‰K-Ǻ\>}z- qԅ`S6D$bd9|pL.\T Wѣm۶}WxLblÉ t3#@Y4q}s%:W0K.~o08pĉ2et WD#?稃@ZB2tyر3g_~rΝeQAkYm1v1.`<Z\X[lYt) zO6mڰaʕ+vK/UTI_WK(%AYd\:SiҤIiҤAؤ1wTҠڨ:`KccĨ#}9r˽{ 9:D[1csʔ)_D_ի4_3Z fd2dpC 2Dw@# 6L.;m4/+Rnԩ9sƍ\-?޽;9>CPP6H[Rj?|ƌ-[|ww719AS]7'{)y믿nԨQÆ El޼٪KsAsEҊ B,X ZI&‚{ (b?YVmեot+\ݻצMVZM0A쫯x/X-ƎBX,8?1112?.](P`ѢE/A>x?x̙Fv% Q;@d ߺuKyyStO4؃O:`5/׍+RsCF0n1vPGK"`$F2I‚K| ;_xqj:G\uܹZS>H叝(ޯkBZ?6g>+-Y ;œ ,Y O>?y9rȜ9sbDPgǏ;wQUR̶W&M20Y|믿mFդlcĸnT!b 16f{\^M-ƶ;RA ٵk?b_+V A&+W;%r&M6,UQqcf>}z9r_M’[j1J[r)ʔ)/Mƌϟ?o\= a' -$F=-b1ҥK;wN6SO^A/b̙E6ީ@tS:Kʓ'-ZϞŠZ+! ֭3$d]wH`)蚥;fɌal3; ;;YbPF>9 .T\9)XdXUYB$@e1V6+|24"B3qT;$͢@޽{L7hÆ;ц4ixlr} -%(u;`PV:m8!3+O4㧠Y @mT@lC H… *t b4l?z>((g._HKSfT]$.]ٳ.]޽{ab1v*!CGE7n\=jԨ<]$6^B&L3g y), Vna! $Ƕ˖- mZm1v`f&1qާׯ1bE3f>I}:{r}7oN=tCA 4ݣS2.o柳g6l k׎/޹sOd1ء5oblYT)Ic{vMٱcG۶mɓ')iE_nVhʐ];&]!:yp߽{Yfbœ88(|zj^Ƕ<6mZLLl1-5̬ V[^MAÞkSp[nWt_+"a1v,A@ի۴iCd(`@M4ٲequƄZ0={P `bŊת+ʬD~>}jy,IرÇi؜G-) 6L!9%c{x@0]!pcI= s͛h"+l/\Шu`TS^8eU)E2eZ"S;b$m ;vblC-Ν;׸|9WC={vblvAj߾=JP1b@#0l=+WСAQD 5b0?i"E ~H\` ؎r9ɓO^~J*FOIy: q}Mۄ>wzf͚e\B%-($(O="hA/b$SE~嗮]"O %vublHW={6!<ÙO<.o&c[m1v4HGժUK.I;x!CtQ֏e#}-_cbb1Hc{yݻ6m,Ym1 3HD|v fP]Mg&]bXWlg IcN,ƶbe;W\22M_yZLW\2)|֭[ܹӨNƖSc+q"~яlG;"~lu޽{7n̑Ik,ƶ;(~$x1ѺulTՐ:tvH< NA+,ƶb L>I)%ƕN| &̛7%0vbԽ{wݏƏnA5C_9өC(G$pA_lcK[m1$z ᆱU_)&֕Qc>}9,p@Dڵo|W68o+&oٲQ -1C !tFQ#XF. ʶbŊqO>acٿxb$5c[ )=T2D_LKc[Mzqaf]|IL-Z̚5+}О&ycbssvc[m1v49>/^,_Gc_rer dɒƍ:TbE9&y 25#c샄èS2bDFzŚ+j9Q [s>5ڬ^3ablT2kwBjPvaWa 64!66v߾}HXY>q/c[m1v%&V>}jժs eV\y%KɓܻwHI>?C[233RNQOPZ@?5>h{[ jk:w}yW# 'Nnc/܀ƑDU(f FTal7|sԩ 5emڴYv-H{[m1рp{ΝC^xe06|!@~(:&&s_ 0Ç;w$8\r_< c=BG'0Jz,ہرqNl&_yFl16ha4t,Y20qyw?ިQ# Dc[,x[n0`qNq_@ 4IB쮵m۶5ktܹbŊcǎE$vrؐQ̅+biMQo逾ax.N0 āWzǖ2c{#@Wʊ/ }6 XшIźI`l]WѨݩ16Pgؤի%-!݊uGOFI(-ƶےcӺؖBNm}!̖76,|(ٙP `6sw}Ǫbھly"P˗eÇ,ƶa skc[m1I5kּtg[m)t['l͚5#&DJOroc[ FgϞZUu!URtܹM'ՆfYm1XŋZ6ԓbl-ƶc ۩c}s۷ױFUL1Y$҆ ]]ZKp"+0GBO>KIo>FXֲblJ fl1c[rJ1X"uBƌ0&`l?_; 2,.XbȐ!h",Ym12bl-iT## HIj۩SF؂l@_وAdJ˗/NAYc[pFudqc[m1%}j_+W.*׿e|Q`Cff'_:qOjnj1IJtFfJ!s`z[?c[\dB,/>&DMdΜٸ<61"[[X|atY?܃B90Μ9SfMZYm1z`j0/Ν;mڴuԿoۜG-ƶ;0  ;si:.ɥHK l2ZD0vjH{޼y'Nm@qQh$>˗/CBiT`1 ,)޿{G̑-ƶbpbl@K]1d]X,K>|XrecĘXc4`l2Eϙ3f?}ƢDo߾7o8bMMk Q>k,ƶ;ecl0@5vدbM\*o߾;Z*|G`3n\z0raTn1 R޼y>|hTx51#c[m1vD0c-tƭ_~k֬! `k)ͻm۶6mO==~;EW3d"ڙ-w7kKwKIm%5`lTyoꃌ tckr"O?gx.TD?X:K&qn+Vn!t U ؁!x"E c;(Y C3Ν;g#1={޽ۨO.7(MWv5.Wɍk{♄>ZJ=ij ™Pb>wIdKӦM rF߼|<˅)̳k\ 5g 4xr 1p#V00;,,t2_HaU(E۷o$0JT ÇB%^ձ Ç;"C(B/VlѨQ/s 0b씁u*JKzǏ;l!;[j,ֵ7)ܹs{Bp;B-PWjŊ O<6t8 CM"ׯmy Plhb߾}Ƶ:cTA$؝;w6Qd(j  DG׾i‷zk޽)=t&, $[CkM%KoҤIŊիWlYAY3gΘ1l)SJ*˗+WeThѣGWtWQ^>"Rʱ u%J#שSGPYf[[Z VPRJr5l1v"q!b_yӆڏm\GZ:pDy|D|"QI=a*f,3D5:?)<SxqCvH{\kӧOO%LܤFN! 4QٲeK>k&׮];ٳgO>/ƙ3gdCv;wN>98SL9rș3gܹ_.FP\"+g98ݺu͞={  ,{Iy4yFy^zҥdN:%;EIFRJ!u?blÿ,U ¦-dw=ب\rbt%0ۢE ;d>4+UM"Ew.]t۶mgdɒz6blāŨU~l3cƌ9i$@;9{b(*XKq>v;<,TF٥KJ0$N V{93 }TP7ַo Bllذ'z*G{vթOc'yϝ;76Ymu[ԍE\|Df)"jqԩ>]_~ə3g f*'}j}h4k]Ο?a|ɝ $B{ĕ9sf9IVDh*ڹsoof7*rΜ9#H+7%r xQٳgo޼6mZՅ }v?F2e3SCά@"ڃ[e@)Ƒlf"&Mr :CbPcl8`{Q>}z˖-2И̸.Å/Z~s紋i 8GBŋ;t蠁kPR_L+Wܽ{WDzٯblWzK[t򑣬ؑHpĬ޺uĉeTXj߾}2ewc0 C(H5K߿n:AMիW뭷a,ڶZje˖/xSss,RGEmTMt¶@DG>ή]DPĈ=~8Cc:;?ᣃCVXѢE.]|K,A IE,,[L&ȇMk 5~=9c~8@duֳg2}cc랃F%U3gd3#w:p#hUyӧa?xi]O77oرcAim 9f,:tĉM"爻n1vjؘ};;xBd˗o9RFx o d=Zj:u/M!v+܏LSo޼3\:7 8DDŽ r2Μt&FxݙЬ8]uH0d^׍^z ְMְ~O܁?x@LB 9ֳgOq8c^ZFIL9s<mFC t}7Nf@V¨/!\ӹrʠAET@SVqZ4 KdR<&T!:U3f#ӝtqQ)l۶MҍeS[mRAynݺzUUsf͚ңܮ$ąݤ9ҥK+V .\p5֯_8yG :; u`ٱ4tP@_,u`DPQ22Æ !T8ǒeX_l "6m>c W/߾}X9lYijk8-/Ar3j2nA(>p@͚5.ǫ t D- EA#~iŊ/^l⇎[:1\ժUPre&89w,ϏM `uֽq a(}}4!h֩St}fCAFy'7o,7Dv3cƌ2C95+`uY±_1AZ@CqA(t}BuA$f"xzyFG8=bm-!'5- .k Ly-1.n\wrv8Bp'ڲe mcT-XXG9w_ʫ/_>C blo.*HdCZ]\8~?1J*~u+_ܹSTK/M&&ɜƽ{'?Ǐ'̘1#Lz yLB_ fݹD1dȐ 6+S B 90{2 S $%rx;v5jZWI`1oF^mPmB۞={#,Ǝ"m{wYܾ}ƍVӸr zc{u2ڂ*5~7oTF2mͷ/fX<-cb<\b"';wܒ@=;=ϟ={v36)i,4ydy *޽;%'V[B4=⎲"k?^GΨNgcc9-[]]6S$ƦYL'N>ڱ`sX.\s޺uKO1ﱇFDhMũG\rPɒ%;c㱓f$cHgG<ƗzǞ2r$?|Lb+WsdZ_{[t a+={|M)jǔ|LL;0Y:p{.XbŌ3,@oڴ)]tW\qr#z`FgoK}ҤIi7nܐ`#q(mogAAxBz!UX]fɲǏc  eVE! %Dp͛Ȇ"%[WA4q5nGX iO#EE{)mh3 ܹÇCzQ[ȑ#weT̽Vq\ *Z,-tڵѣG>}:t0@E-&79b6j Q#&<+S5 CQIBb}Å >}z@blo< ("g\I&qdw,D y(t37K.V"96kZ2V-vqZsHh[8 {qPݻ׭[רpt EU(\y/GYtsNfs^vqL2eڴi'N"(Blݺ5@^xA=|*w4iɓ85lܕ+W"| ؾ};~d9#o QK8pG'B[xxyB@=ft4;\° ttH5qNS V|9rܺuK) N%@!CԬYz|068IO?Tcc0ŝ.]K.B#Ps4  +AV)c&}׻v튯Xv\| ^s߿ tG#dBi}۶m۴iΚ5;>oș[nݻwo4hкubbbƎޣ59(MtĊ0OXK^n$M*~!*GCӧ3-݋i.`+b .}+.^XJZW{vֱb<6nտ52s~~@=1 Id:|'fGF>Xf/yÙ.mT\QGLㅻDi-Q Ko9h{"&;rڹ:իFSVUR%H{]^!"8s9L5W_u]֠tNٲe}6}/_ީSG;vL$[RÇo9`O M66mW䑽gzˡ x#GX,2e\ǽ!xA),TGSblFE- q#F,mJ@qialaʕ+˗eM?ůx4֭{޽ĩ6Ctދ>Gr3( M4\57;hEsQAĐ"!o:'|,sfb2j.`_i'̙SqqTS!Yd ea>/hZ Uyw׷eVطnݪV6>̘͛7HFȪPBll,fO۾}ǏkyKs]dP"aL㰻&xh/Y16\+DeK6IWʻF+@w)ԥVXKߌ^.Ta.]ʕ+S#<ƃ`QA~ "`.8燺%ZX9x sJ |2^P=\A~ۛ5kVd/B/^\>} ,\GVTҥK!CDBkb\+ի_VgV5k޼yp@| 2萮)[l.SLgP(Z #hwS $I ex;w^:Zz3(jotv駟nFCc䋱eATBA@nݺݻ7Xӓ֭Vzĺ28(҈DyXP֬Y=JCߗ~>3NIUVuoc"Px5;wneˎ5 իW:3g-Z0SM!| xK/&Mp WmZ|ZJTqe4j>[g K.H XhѢ?C`6{ e|/1&FB㺎=e|ߣG08mo;t@AtR&~git4H59l0GAaӦM+-Pj=*.3!gȑ#U, .wh46n(P_pl%. E R]l|tEA1BkUޏ^Lt)-X?̒{sR ;^z/ό| nodσȓ&jɩc9sF]t. ܽÚʕkKA||@`AMoSp<7bbbDi$/!'gߞY-v4?ES˗BQW^=p㘸$Yռ;w䍠ĉ"yٲe R޽尚5kBծ]N6zAd4i2cƊ&Y؁'e:C gIެ9}`KaW<}8–ׯn^LcǎR,c1ۏ b))iGq6mP{߿}ilO6>33f ~/nںkvP\KYfyHaŊcG9 T]CtҸJ!ܹs}tmڴIj#E޻nXDg1sg(`iω&:テIB׊ ckBq$RZ+.XKgeN+W+BOP.Z۷dXIٳg7CeC)G2&JD/~I2NRe`a=%9saQAZ8Pc-p('l+rXu ߂UnjYyD|';wv횞.]5j/ qUpȑ#`O&XKYd =߾4iҘ Qjʕ+Ghzy% .Gk׮]X%\T߾};U6iD# ioU9* x5yTmbC;ǗA#G( 3^qDU4)(bla’%KWߘ/kȐ! 4AԫW,wZ6։$T />}p&fr\=zTOn.J$W^]jc3N!{>SaƍM}`++'AEɿu3d *6'޽{W 9P'd VYW[x̪OʎԡC3Y1‡H,91#ج9@kgϖҥ&ٰac'+Zdɴi4:5/^%q(/Խa5B'^N7 |Pڵk?sE7o %,_|9(>p:pZL׊dSˍ;}HG*[f.+V0`_St6y]kN,x2eKϚ5ٳg06QIiӦݱc' 9s9r<|%G+)l=C|Ǔ'O6KXիS={Xb̺.p m7taĉ0C:u$#kձ", 2J],,hd;'+a:i->E%(1 %#ߦM|76Au0~$zl}@06E;K x׮]7$ܲeKxKDP7v.Y$7 ~,'hS^L "`l={!^bl0M0TFgϞ꫘H5QH9@M4iPֽP-l/EKw"`1bD>ŊkN0+AcXx&*r!ڇ{UA4ʐ!X +5)W 1cDSdŠ-ܱc/266i >h{e0 1>9W^ۤRJO<,C XmHsaT1dSreAk*UJ0v:uE8+LN5h!:]$Ӎ+6u1:W^A3JD $7)S&:Đۢ+02C=UTFr<vB&&R}0SpNn57%ɓ~gy?өS?#އQQW'[lASBVԌ {^ϳ{9sܹsX^vݻ7&r,cƌHr5N51W/ڵkr [m+bTeS8WŘ|p b8!__ڶmۼy8|}@z4cW d 2X,˕gOHQZ>Pyڴi'l㪖G_ܿF5K6m()]EM2~Ç҂qŊL!U DIh)CzEA [¡yzi sa߾}zv7 lZa-[Vl2kiZ֭ׯ_/ @<.-Nu }bի0 O AL5^|=?qĐ!C4il1[, Wp W3 #"7x~1,/^6O8(A~N>|:Im1I[g3_|MuРADkb = XVɛ_q6cSY?v /}ƌdX?~|НaZ 0N P P"c{Y}v&>zh̙iӦEK^6qL2!a-M"x)g:ѣԨQ-Z kaرrS~lz|4x`) bl5h<"Eb:K^J~l^C. .tprbK }ݺu襎&bo8}:G[\Kr! %LbCA#PWו+W*U*cƌ+Wر#rX@"ГKFhѢ3g~Т PLG'&Pt|aٱ^z"Yl tIwqdpF!@;$T .0ǧ-<66M6; \;@ f@[]<@o_B )lnH.Sbt6L5jx-6n"&L4Q3.cU|yhb:W^yE .^[oE[^,tҽGs(k[rY4 6+>ǎ7n,u-o<4('όIrקA'j|#pΞ=j&~[%'Ur  DD@D Y"~M+b!:I0y24 ;U酕,ǥeO2ew5}BRrxRJKOd'9VL!L*U\t)(Н/fV0>׮]۳gOZX,cӰ s._Z4AI\$\thz3* O2q!fuVc1XMЋ,8,eKK )L+SL<p,Ljigt($nL IN<{bMc9̒% x;XbŠqX𰞅- ԃQQ./2bUgb/K{u߸V oıӅa9+"V~hJ`*ubŊ͞=[s~w?5K`^ o =Q.0t r,VYJ#$AC.̈́YtWG'Ê~Kse˖͚5evƊzrLt&G!%>{uΝbӧOq]d[$+Qʳ7n\P!`<,Z(w%n1c<G \NMDb vM6uT0lhXrH^>lBֽE\5azb̉|>C-u qFf-s,׬Y& c3k֬-[6&+O]l҃9k֬(_|uٲ/PÆY+dsI%ɫUPa'NYbE d݃FۘB,RH CƠ2((HX=;v S3|ҤIr^;eclMy"K>=&c'9>&~Q*THd/b"E /u@ɏMщ޽[D fm wΝu֍3_e=|e렕_3gN3x6_0GfT"\|bt .2>} 6c,/ŖLac01C\td?$Xt$_*=JW,Y-­,+38_^{M8^L׳"QEY{yԉ}@qjp?-63h׮Ng,.7dܺ1$|F-_!48 4ip;֣u f-!Q JOΜ9#]N5efViպky ^zjڵ ,ܨTPtF_.Hˉ'bAbtDb|w3'N1cFT`tx8;^qϰa+|!֥Dp/V㲾qٽ{ӧ)&~NTI;/_@&fo9d;w܂('i1=]t) ֍AyUcmUVnt %K9RW Og…fn5L XNw࢟y II^ʌQcի˽ʕKjt mtLA' WƍiiO>aO"#D9&iecJ9<9/z]d"3:-uܠ]}8iA:#Hv-,(alcR/^wޑO׮] +#0eCum%xlժU6m dmF=ƒqrʉҥ˺u DkImqщk֬Zjj~ fMcG)SRrEa`?F!X퇹 El5j"b؂e]QVS";w#wsΰ=*@$N4Ia̘1l򍋤,G7P͝]ÇcܹsQ,BٜGy;|roٳgϘ1"2d0~xݝN:U~ةS'TٸK+a ڵŃmL\cNJ(k&5 mRkҿѣGW U!hq`C0gVUA F^PbHalwýl5k/_ӧ o|'CCr *^=7Mu!>|X8S|7nȐ!@ Gΰc FckCL@^PpN2%)8Vd DO6M`6=2L XퟹgT8JNAv6nXFL2A`ӞjiwҥM 2k֬0O|9VuLFavڽ[-&s"S8Rp~&Mt}>) c= X϶jժroi۷7A͠9r̙ڵǏjvwk#Ovhma={ _ppZ"VO>,v̍5b4͉t{GѠCG,[L`[-ZG&ZS&D(Ƙ3gܹs[nݾ}{ m۶ݻw84h Z/U2@z4τl mFnCQ}W ,*7/vA-|7egײ222>=zG/_L#9cllAHJӧf_j1b:[)@D)Rzٴ+A.Ikֿ_|΢lZKHrÇ#[T)WzS?秾xb%jժ%ݺu0>E M˘/6mZ駟(=j̠͛7%?Ów|H~P#sDjO.]o]Z1#ew|' &̠AⰈw=K%+g)l0 ,9ǃ>ʖ,Y2G)s裏1+uRmm8=z~`VbŊE 0i~; /`ŋN !7h@즘xl#k׮tpB}McSן$ڱcHϟΖ-4f뮻ܡI&ǎfc#MeH*pu"lR0)SPƌx˗ɓ.]Owc&`[RJm@aH \ͦއMcNl,q֢"sA$lB tLx3y<6Nm9*f9К(N.ScCӱG5]51!UVz*m#6SN9W&!sp(gΜqpPD,YK-ôǏK˗/{իxbgϞ~]lL ~'99²&ѧQAKQA+VR5f:AkIN9^eU4/ܕj!ʕ+'Y`6J(Тo3Łoɓ,p~_.NڳxSiz-\~ب!ױ8)?8E6X^@)~޿̌屔p [bLmb3fGFl餘3i|ʏ` Bu%y6ojB:~@ 1t$hBrsn*Mvĉ֭[rQ/)K"ի1}Qj~::*DrGuY"'}7c N~_3}̢d\ŋ7n,\k/^?f~z]hN˭[bUvw>;v 4j ׾kFcaCvqJ.ʹ qN=9bco>ƎCa:uL2ʬ~ N8zh=NwƏ@BaaÆ7'v9!1%Kt"F {imٲeȐ!uqn8?LTrL zE3Q`Kfˊ! 4;>Ѧ"$Ϟ= ={v,'Lw}W^='r6r_}xcS=YfE6m6 k.ٳgsP jd0";wo߾{rhX.#p1r)R3mo>1iu&d;q|I>]va!c&_rQnDѡ$t4#npX9$zK.2KRbn/6iѣ).~Iy1i ?~L~;s!f>+Do6LY޽%R+pcl64q}oclٲFM6M,[uʔ)s樽Ν ceɒPB<)~LJڠFu`QCy(Q"ӞyTq@-x>:thc쌍Lu;P|/_^4~C;!.rE'ONRr\k׮]/J49(PvBclvo߾LCv;ecoׇˤ8`vkt&^I*UYsܕc[kǤ0Js挓8G\U?|xu,J*+W[]cgl-0"kz:7Wr˄97Wٰ*ZJ;D8;SjA䷬*/~\g\` )R)Ԙ,1vlځ ,(,M*$*/Y;wGR+\?vZ레,Y4Rjh .;w..*W}vaHƊ$4WR1UZu׮]Q#^XСömΝ;~^syqf͚&5ZBMŖ 8lزS6wHM~q挤^a{;IMw`[W)%cg**u{&BH6vF|P۶mK=+W.Nx$$e)EVNw`us3ƍ7K.M=yDMJȁRBF]Ŗ5~}Ymcko~NrDnذ\͠2zEXF܆ަMHݻso"ћCa_+&7,[8jI/9@Tl@zHp9^TI6q˰>Nk#늛ya0@:"cxѧO@ʕ+eWD2ſ׫Wy+#t:8V /EQYisՁ$(ŢE6hϿ+!qrVXUԪU;cРA#2X͂ښ5k5j$~pcߒu0-fQMeL0aFcLTvA l8@|IdΝ;vߦONS8*zWfhȑ#G%53qXϞ%/Z(͛AVh$o߾3fpY]*:{>?'eB~i@>}z„ X?i|.DC~…[1vܲcb^zM6}7^|Zjic}vկ_CSN5`.X~X# h=x`*U.]]v2޼ys%4f?fϞ:xq=W_}8x>c^3g |ʔ)POxk.c-\wUmʆuc(L46jÇO4ɥ• >$ wmʼn-@M `Q9UXk`TqJ d}=zRi [l5h2:ޥrJkVXv  .L͛xmfVZ CE[i&Y}׭[b !C||2e?ޱct:wL .t5.tc̘1K:t-[Nڳgݻwdz1v Fg!x R[X ٳƎ'?f~衇N<$p'N+WoFVZ}!ڵŜ?#[$xyx=?~7\7o^Ueٰ" U1v_| DL"$+Wd˖mŇƷd\F֭[kԨ͛ s\R@X{D5g믩:tbR&MЕcLH}QRiڮ_VjUftd "NORkӦƍ?~ѣy}…]! Q\w!h/BrnKW/uhذaÇ!164c/]zjiۗ,YԩSx{Y|;XL3g-[`[` =kӦM3&u5)SnϟO?clcޗEMQܮ]y9ZP"7HcYN:5J|y!/u_: :Z]wyNLCDԕ*U`Ucg`W_A@n߾}ȑ&݉wqΜ9˗4i瞳. &.Y˖-sL@:9t`B*C,E_߿`ʕ+W|clccyB;bȐ!<G5a'#yTLS'5:4"A,W"^{5@к_iZ0o @C֮]J*u)UT߾}{aN dOi9W kM>pu#]:t(g:is3I,1zz+Evmyʕ9sj&4 PVƎ+{'J~lblM:q:ԥKY@zIPQ#!ߵkWuT!2XF` `b<5!"_|#C,X~ *;;Оk֬X|9ܹot~wW<6B>K2-&>Rb-$92dȐ~A }=oܸ?f_W }vmҥN1}',/ų@cO̥Z{+6lR64T H^{S1U<|;p@ݴiPdE&Mv3w뫄Dha!xkט]իcE|clc 7{c = w`HIsR?)uXSTVF |L)B/l2:g/v9??sŊC`3 ޡnݺϚ(SRuQ>igO6YK$+U5zF5k:]YmKs{ ?NmȮ){qJp|믿Y)dc+`3|m݆ٳ̙0&ϟxLډF[c{ayu`p;Od+Y$jظ .ƆҦ#,pEKۊa*yM qÝZyu7&)6p': gV|yna0(|?-W a:ibd@Y9=T@!9ϱ~ԄҦ@ cGp|clcªu+[= $EM#oYLp][~:dgO۸_u,ﲃlضfgI1h[ɒ%#z^lYcҦ:  %~m5maiɧW%vIY<cN.>1_~ee x4^~'p9$ƍ'L0yiӦ ͝;~駫VڰaØ1c \]_9sǏ_bs̙3'Nk׮^pұFsD˗׏NX45GA>2駟`1xfy;[A\Lq0SN9r$h4x`%KG5\pF}׃| 5ihQJ$5'9ol{-_1KV([nN8*Nlطzkʕed,@3\Y -I'tbo ,k&sKlٲUT)~r9 /07cN*cg]cď-75O-5 Wh&=zH*RbȐ!&n:6"#yA}W݆x1bx9s&R䆫,l2n3BOG;vG9`m{饗t[0 Nغ?0UTqL-[%V2M[j;v,IRJ/^q +_Ri:8'Np!G2)HkPpaD}PXB-[墂x!6$~p ̲m۶M69ɑ6>1val}NJqhg϶k&U{0H=9y-o޼۲fJp0`~@''Cd 駟p9rрs̪jQFrLKyNW ޶oNW?g9J9-[6g~UfMMqk..z4‡#G ؏?xٝG%>*LPjw.bˋg*3n yW.!~l)6ztT>N;Sl3g*0䫯:06m|rǜ+LM#(FGVd612gΜ P10j|oԨöS{ܛ׮]7n*w}ʕsn~~;N3'ݏxlSN֭c*weغ_1ד&M={p]@]| W6Z2elH b :,K]OI*[ c׭[7ޜ*6>S\05XQit1v&.r1|NqS. Xe"SjҞ={Vl)j& & ?z(?>{t;ɮHI)RDNl=+V-F+g}ƐÇ$||tJQzE͘1&c=!>z0~뭷0<_|zf͚A֞J#CKA`U);oUv{:Z9& n֬Y-w??dR1>δ-x<O:o߾i-,3rrkO-☄7n1bā,Xm6:/b5Jm˝8fc(N:Ν >u 9rիWG_pIv* @ ml m*,+W >U!W6xlEpw>#ǏꫯJ(Qt[nٲQFx I*WlY>%K޽|Xl:ux:ʕ+s̩uUSZIk>u3ѕ;Ο??@áǖPswbgl>I^}cLn5kV'6˲'Umj;Jbjܸq͛7/_H7l؀I i[fR$ەЀb 3Gڵ>lʕݗڣnݺ_XզM 裏*UTz#Gڕw6l:$Ee(Ν;/X@dfr$9*Ff:,!pPw5>Fclcgx1vpmhk׮w^'Vii7+;;?]!b_u?+WR[<_5dȑ#BQvqvǎ˗/C/"#By . 0`߾}MH:7xSkO~WY='Sf.#q EjsGc> ťΔ FŋL6mbp K~pT&M8,kbi4W@֭YjIY$!t+իW8clҺ~??gcY<)ntzgGc>1vldCF1rPPO%J Bp};!w9YN f/_)3a05W\ɟ?|9o~1C.r1L1ސ%.]jUÆ #<וsL2;͛YZ7 }>^'9 ֡+zٟ'xӢTBr7>y$rc_~yř7-Pkd?H72o+Vh9%Z1clc;ƍ`/5M}Y3ϋuuQ~*e; }u[b_~N:Vs垥 =\$,\zthԨڵkm**iӦ+W eb9]O <}9Ν;k˚Lt[e}ڵVZɸclco)ԯ_ |-T6hР?I3F8'6̉*3i[cRJ;v1"0XTbsDkkQD`i~L1clc;ZҥY /`m˖oDz6%/Olٜd7~*n$ ؊QQIYE'xN9Ga\weܸq D+Bu[x=zpbx~󛏱}chijժٳ1q ٪RbEv-<Γ' 4i˲s2Z|jo PB/_V{4c3 W;'sΌa?LP4jF2d]6>|clc'D[rѣ믿Y ((lBd.\8zWռCeCτr<ǚ"NQ$ݻYA^!V|v Bt;̬M9W^t"Jcl>1vz5[PEcVqDǏ-ZIvX]~=0svsPRuM6u7\ZSx%$Mhi:nܸ{I>B,f7o|ɒ%Ny}7>N߆1vft[F}cLhM!QMm>2*x)[36t֭[n9#<'˨tҎaq9se[5v\.\ĉNy]JXFo1hJJ}7'g(dɒݻ;ƙ{ Ip0ƹs碥R]9РT` u^}7m۶uLhc*Ǖr"E-3%_3gZ߾}ԅ^64l 2g|stalUulQ--qNa낶}7S__|ߞ1cş }nٝ;wv'{ mڴI&W\qLixKV`+T@t19> <~Dx cJ(+/vEX@Wy}SNugNsC3#F8҅+o~[&A>1lq\ܹ|ɖsɨU %8 vI}]b ka q]tHZ;Ht޽+U]3?@Cc `~[@ QJ(ߏcl1njZΝ{NtT6][-ZiHPZm۶qr[ȫ+3;j(H"q9liӦڵk$Dj{%˺uիd`lO?U e(0}A~le$W6'k>δǎs=:Ƅ_p~OT0ׯ;Ig<LC~L'wٳg{o>Y" &s-aV/;.G vR-5[J" HzϞ=+V~0} />Mqj2B`P[ϟ9:eEc֎+zorWP᧟~%݇84lرcgΜ ӇC 5k]يYj՛odtp:zQ`ltI& -o">D7n܈O!\rYf_C{6-C߾}Ǐ D,S*$ʑ6Aǡ 0` WZo3 0[V--f > ckY7< z~7_-rمclcz<JP:^}Մv ̙S"nԩSgժU2C;Eqݰa׋ IJ.OL>7G&7^zfcNѝF3SO=clcۅ6]5ԴŊ;u~.ԏgϞ^۶mh dfQ\{=m4':b/%XdɛoɁc6t.8×ׂݍ_xjժ/_vnc~le>1UX:ոk׮VZ9W{E9M۵G: ƌ3w6] 9r0ȁLS )\r4 ]6V?7[qA3f֭'~/L\|]zuӦM]1|clcgr-H;wn'^@kYƹ9_/UCv}NN cyw@ l+gY}]'9H.\'kP^Ux'LгgO'8$LgLFӧρmo>139V%JN\M3:ƍ;wf5Y 4TN+u蘊*Aם=Y՞jT?!`o߾Gkco>1Wqs?1v4iLl <1NBt]rXbN"k*kES$5k5jͅ@EN31ragu͛sݓ1„l]'Nt҅U~󛏱c#}0m^W1t' nOEI=z|gS *EFאsss̰ݘZz^mڴF窟PH0p *w(n('JK շ+Vt.&49zapI؊?NA"t$ y$*3K.Сoe/y 8!(h͗`I^'! F- -\vcv5[fCC|f s0oN؃~16jO7[.cP_&c[k%uӋ>.Z^^t3Vyw60OЁ1][Z)kUJ*6;!V201nƎevʕLjȞM6$F=ܚ5k\] n#R nzҥ)|2^Kj\DԘ4nrڱKb$CB>#ܹaÆ)!{=z2Hs—ZWx? GK^pa6m4p[铱e˖5k̥13+H@5Gӝ +ڸqcj\1>|%P޽{14gJN]#D be8 KZ `Y2W\5>q7ϟϑ#,/UvN5H6t+PSLhP:I gIٳc60L|HU۔)RK},$\ qb Eޒ>Z%1CVţ}*@R[!$>/yШ7nݺ@ܿѣG[lQCɓ'_RÐ1pz2Ǝҥ˯Cc۶w#]]֩OE\CX#G0Gyʟ?ų%xlٲ =sWxϞ=\'4paFKw ӆkO`@*`СzЧw%{ 9F൫QH8q◤ qun:55?Sϝ;۷ӦMà .5ZgMj%Kp%o޼.H'O0 }!=8j1Ɂ.@5@M708Ɇbt˗H5jp `ذaďypN^9r$<쎂 K?AWsULR_S[y2ӑxEtgA}=,oНB逸0E!?p R26?l.G֥@5E7֗_~` 148(NBc*/N:K#W؜ӧ;X-࿏L8 ҷioyV+W.QgL^0=?5`X&%B.ViXIE\r6b/ _>0LT݆;cMέ   8PP45a5h[(zhW_ozZ8^?cbD9i0w\QFuԩYfR̙qZn 'R &[j 'zZ>гgOj[/[o%1]v+n؊?1Z nڴi> DQXpy@h>5k֐!1R1Ye`[aM`Dau10޵$Ē:86 DoU wk׮1 wSLH;6v=rE&]bEފ+\_X Ÿ㏷m&$xal{jԨQЕNEjכFh̰.bǤf?+LIj9s //+m̿$N; f,5o޼SNX~#GQ IS~qi 裏߬Y3qtShI& 9bĈaÆiu&6z,4hРC_G ۹9xw3PXbٌ9MSBLtSNի%XL0~MDwBt땺%/[l٪U-ZL8qС'O:EGoP$5AD뎳S-! 0nݺqIŧ%K5/]#`|D&:Ro?r<󉥨؛#ƶ2Pԇ5kV['5 Sh0ְa:ckٳg!o˭u/.\ڶm;dPUG-)ok׮>6Yth"4m~m*/0I -/;3~vڹ@>߻woh>}Bl{Ŝ"s&GgB&'}y1֯_k1~ʔ).XC]~3- ˗1pHw'qRWXBJA!fc<Hd0K/ume kPhD^@6m6ĉ;wŁ0ssP_2[A}P@+َE.hMmձ\6v0%+SRF.6뙳aUesź!B1M4 #ZǏ[::i)O;[l܎`ە4IpBsWV&C 8WnSްhņhwv\ʮ7[82 ꛍ^Xt)xԩg+#bKxY'WeСO>O8K jU:Pװa/SA\SD@R:7'[v}{3f4k쩧rn $.?rƍc}'|[WZBfB 6l@Ї5j7.P R8td9/]3_͜9ӕ"8k8Kk׮(. н;5mɓ')S袾:7)~߾}˖-1aQ)gr?V\wS{j';B>D.fm 5?+pŁ+'Bs \K3 ^jUCp_ͅ%?ZBpRd[ّ֣;ic%f<-cR.g}v۶m ል3yΝq>W"٨l"+YN)O><1#M7o~QL{x\c/Gw{͐߿yfL./)Vj%@`S{_}Պ+Rt`7AQ78bfXme h?I%e˖~";v,LN$Q&:X=;1cƬ_>fwt.š6ۦMs̩ڃ HfN8QHx?2 *$&}o)^xE}Ww}w:R_ڶm[ʕ.S$?px tѢE{K1aB`2֭[1C q]^̠&w 'liʬa}}RR%=*ϖGe57o.*YYD 9uF)fy)0rwAkBsJTRNr6[=\QC;6-u۷Cat)m#>OoIH'5eL}{ e@ 9}Æ LP z$؜ꫯ䤣'Xa}$N;ĉӧ Eѱ?ÉƖ`CeseZ$bjNlC0ݻX6F'G3ur(f0\KJ3K^xΟ?#ȠMKM'WP9s GFP?xb,v͞O,+Ǒ ~… 3ùwhX(f}]c9LVbVa}.v<NDN,e ^5jr"%WL@Ǹ:;|$o޼7vx9KNR%X}cl'bE)1%elyaXlY'NYvڬY܃61 p5"L݇cG]XZj9&I'bY8gΜLQٳPBƞ耥)STb{6bO/6G}aÆN@(c;q1谲N6όZ %;!@N@b v#N:եKfxa~j19â56]\0vXF?<klĉ)R? No/WN ^FФ$̄J1=AWm;cfO{ǏS.C$ϿoÇoI2j n ,il&(h+!6z]vݷo{j1vT06;,YT&Vrwyz &CRE )U+Z }_=Z`ƍ 9 =[ck׮=5jČ)vRe4QhmR~D%)RU1`浘0adJ2zky̘1zJX(xN;%&'0Uڰ8q"|K5k*l3>~QNRy0 :8T2B#Ν?qwٳ3-&{dɒYcEHlٲTr54|/]D#1ǐq!BoF `0 mJh(A… o߾=1 RgN) y1E="mkҨQy~ *œ)Rjg?~GTX:#z;7k,)U*3)nF=d]z6֭7n9zm=z(Kkܸ1dLG{UU#yA'OS֨QC\h>/s!Cx*r`mBanpfk|zNR!Mx/К^S0CQc;I1d1[;?Z`=`z)Kgp!c-YE(Ì6n8,-H 1dE͚5-gMg |WFmW,3;Zm̘1~VǻmqZTFӲe˪2Jzg>T ʑ#?СC xzRܰW;{2KIFPU~w܁f͚=tUktRム_|:[.]d\(E%c0aBj8rʱXҝwީ|r<_Ṍ{)Pk|:w\$K,?<'O<{zUJr䶠d=^ziղ"UDxnmrY(zAZO}YTt7'pϞ=UV:f{gy˪l8hm_o6#89sf&MRJ{=>$I֭16W[.rѪ"t޼y>1W;W\Ԓj?9X\g˖-gΜPXB+G*ŋORJeϞ=87n6Ռ֯_Ѷ թS'*&Xl8Z*Tyz wA͟??,Ljq/e?0XxqwuZ-cnٞ~iFrbJmKۀWx vR d,HZK^  @B ݻw…xRJǎMM ,~|>f1Qyk׮g%>U)|)3 aڔ ܎\a0k y:Eh?A}#y1]:- ܅;cKEtF,bJ )Էԣ 6lH#5FrC:I.2 QT "ֻAZ\9'wϜ9oTb+Yda&C{dɒPзo_D߾dĈm.'NGeܡo+m߾ȑ#7*E1Bc'sU U=20f̘%J03s(EPĕ5j2guE%ԂVJDLh\W1 q۶mO5@kH{ &04WZ;.\0. $Il7f/W|MFeG7&g,V3?CNM* o^/;QnyatND8\F==Wr.~wVX!xb!R_gB9rȃ!Gq%+m gذa^<6c۳ŽNr"Yf͚Nr9'O*͙5k09$2?u XntOxkk׮}hBAה/_RJ 91؞ܧ|w *''hv[ly.]_̟?ر> (TU m 吥jyիW@%]sـh"b}J{|c|'V5p)3B`So~Y %5Д3f̠d2 'i0_| 0˷vd}ghIOkJ.^8. ~q3}Z<󌖺 H`bp#GEkk,@2;vlȐ!oٞ9s& ^ab`F$Ȫ) _MJ =׃kF="E?^~lg#njA֭[.\8gޢE P.+YԏJ\_~ Rh`ԘP 3,,RcGx\P7Bc$41{ĄQ3ƶ Ȏ=R!\Ӈf+C=d,JOɓaB2`mPh>N}M:&E8 l2Vnc)M\yg}m۶yxXh 5kOkZI˛l۶e˖ud Cº-V{mc„qz1։GI2)SCl 1yU+8ШQW_}Ť֮];i@G@\|˿ɓrID7nĉw^~rK-Q. ~9UVu z&\SaҤI:rr C_`@-YD,onݺ)S+t8D335޿;\Xo!9ءԀ=˵b+t ckiӦ鼌}0b=`bH{_'~Jf^uj R Em>kEh,Ű䘨-Q׭[*_x9j@-dG,HNv20i֭<*yomҤ ټys $ nݚ.p m39[.6gm-16;I{ྦྷz$. 趰SnEWd˖M=k%A⿻vׯ_B ޒed15- >~vQǖkhѢ(ڊ0 ([X uٲeQ˗6lI`f_s%_ssPZj QJĆ(hܸ-,!1u6E֍7{ 7oֶ<&(bV4=:vu,X$NJ,Ɩyq yIwn.svĉG}GTN. ~eeTVhׯ}~'pX 3K ͋iy5;lp㖤i&;js΅ŕЕ-VVm]t戗Q-ZtP( 43 J"tyd+]W "kT xZÌAuĜ N9/<ҨOQbEY|mذA[rО$͝;w:&}Aчeҫ{a݆Z~-dYbE-={0u[,JT.;Ffx KL1WB+WבNhР (V/C&0RbtTn@919 6"ȽɂAخzki"84~xǎlaٲe5/m^q')믿駟={6%Lpy?K,$vm+r\O.X8[ND4$+-XcG%g2\]%K/0o=S_ɱ#mܡ扫#>06"67o bZǎ‰'0":44@errVNR~3:l"7|$].RObŊƍkY N:b'f4aIB ]pA1\wa_~#%T&#.`֮]H"ݛpo߾^z9dΜ9C?xOWΟ??QgVH|1{JDiXnҤ @*Ȍs qi4ֵ.T7Ԁf:yEJdFx+blay:t(Cqb9Kur=zY97,{Aq tL>O.n;HVh [ԔUK?ks߂4 cYޏcwJ?FoC~p~xɒ%V(9%(KQ Q:9\Օ_iln7PbVF`Y^zyswq=YA0Ɍ6NS-p1˲p}O"qhcܹOp=xz a.mF Z! G .\ e))y4]c/$pȼT6ZLPpw}|NY2.5k0yw}Ρ I+Eh:b_xqr.Bǹ2YPX9r,X![l|c>[c0VʕyϣT{5FٴKS-%4؇H=`ܲKkgҨLV Ac9I *԰aCfSdֵkWCG QWa3s*Q'U)*FvA~樫TB2DEh9yׯWB~/GL[m#Pspq3L1vʕ+VKZܹ3ylҥK5Ң 2')v޽]t9w\ji=mc>@jf7"w6%u55+ f?n-AڴiӘ"{@MPm޳ ܨݢhg~lV[+$h3ȦvXlٲO?{!#8ϟ:+=v޳gO؉ԤI (VڹTG͓'sz^ H"PI-dZ$ t6Fm݆ZLK.aq0IX>}xnqĉC[*eJX6mqrt"桇b 'o߾yW<) 7cǎhUTO $ V^71: q5nnSI\5ܶjՊ]/2P0>ٜQ T13&ݻd͛?hHd_*])Ŵpϻ~cGpZ9%KH2ƤǎcJ#~Q)֪#HI筲zu֥ON{k%|,P~}\//"Ou$-6Ƶ-TW"ċc~=_oҤI6mw|"XE`"#7Jt݋E)B-6bŊN,mWZ5z _LnLr&s>s.i3O<9rOBΝ3' 7nMOr)tIP$%q-\L|\,t}ܹsT,M;dJ~I.s'Ӛ1w[Rq8F@M{03*uС5m4B ]9K1hp,OX!ZJekT#͕7~ID%V7QHF #tcYW:֧OOb2~Y|^U&,*k8Z 1L(خG'&L W^=ߣGʕ+Nr"ƅU2R)clc;|ˊ&VlVyfhT7l[ICRw6KVd*V`TUIn݊L:v㨩J**)".UTDy`ӽ֩S2VdIWDTx}JԘ2jrJQOnޒ!x \5Gہ*CnRӨxI{W >N 혲&C a9 0 kEIk Zd.mۀNj֖w+Qď? Y>LjѲdI>Q[\ǻY:uBUիWY#-Rs:tQ>~]oO=TշojYE,ǮЅu駟 (vQd޽xk|l qPw\%z: `Xi+ҜFͅq J{ebHhcI"2r3fLRт |k'9`Fgs p*y/-r/[lV;CQ9r-In.pСƍ+ՉcJzLЋ/.S&Ϥ&sJ) ̞=IB9 +^x^fΜ)]O&WL\oR4rӧOWM6bp$-u). :(>hnhsu>>ٳ'61ssa96|MbiN؎紙}v[ n*U*qKWD[niJtIϥB]߹sgB\to% v ѣ*ˏ-sb۰aCr:v]T:I٠9/BxlΘT}$T<658nw>P<.ium΍7J8Qɣxz޽UDSC׾}scT9dE24V8"[!o^܊:B"B(G" IPN)t;ie(9N;5kטo{罷m9x~\kלk9Ykע%jf]F+\HpGq_Y}1V:h>(ùxaQIG}yEjj/Z'$k~.׳gOMR%CkWѷf+lO2R7ߌic;.}GN:3<a۩S't`kX7 tg%FOlr&DV\wr8/fzﶆuM6*'Oy'9!O5Jk6m0U׮]5%D3W_}աCHZ毴(4`6;>JNޮ];ђ-!N`< _y[o裏*Rq([nĈ8F`+oumʔ)L2%[_Ǿ&qj ٳ0?9G_n:?q#GH'oL|gWDܗVĉf3';е{l2}>x_駁x8@m۶ǏWX!a*T+E/4cꁖ׾}{vԡ/c@H0w;r3K~Ħ?c@ 7pCHG^vWFkgɒ%*|YQOem@͹sbjР'dH ڽjժW^q"eYBLxn,hѢ>}lْv'DyIXbry1k׮-B4 icUV˗/ߵkWqGǖ  ;wDn@:th(|͚53fXbByr?Eu-逸C٢{b[ CG fO`<(Smc8pS<4>L:tȌ)z`4V"ήxqlZC<쭽{ٳ/@˗-[ OBÆ +VXѢE1ƷlPڝ?CD_4k:!Hڈ~>LH*T(ÇGnڴΪVF*]63۷o%JyF9sh޺u+]b2$'=1:kV0+5y-\p ( ز@m1_e͝ }L}^Rw޽o>{,UFDcycm6 hDc?ztkf7PݡSW\YA۟% 9To9sjv!ƸZMa{dO?4}tJ* Onذaez%3Kb/7{yԠ ?(/6̓'C=T"EІ ,b%M2tM69zRAF!r$"Z*͛2<{b'x1c`RcnPG"\DV裱KVl`OCv~!lUl4-.[Xvd*C__(o<d-g͚Ōq~ӘƎkka]KʕZnؘ`EʤvHK(P^ 4RJ8СUI&ٳg_/ŷLt ЅHKo,]]w]jU +u%j߶m[V$_|~{z+)"^~EhPi$}~&MArnJիGP;̳ ƶ6SL4iR gal"i7av*ķR J~ƧvdAT0[}"%K$m4bĈЛY6dtcu5l-M6'W8[GyeA)p^l _ (ṵէHHt"`3꜊-;Ӥz(Q"N.\Ar K.Ƥ) 5QFt4ȌB%<$|.ngPB i66~!~04.W$d&Z$ޓCj͛r|)m&k4׫gĝ1BE V ˊ!!)i*8%ZmC/B%47egI+;6.؝6"I@jW&Kn"%dVG Xe#Gњ !(W>DYC[kԩFcj2K]B35K&@*4/j8[U̗)Jl]D[}X)T$}`"m>~0>ǵc5M9D0i$zm9N Ld"tTdf-(g78B\0ը2X5hkL;WӋ-Sd4"˚eWˤH:{\&iڮ"QiMXZX6T*Wh. nj3R)AKFeGRN5M>|K.(dbŊ)moܷo_`RXEɎ}۟eA« .|Wppg2cg?}iKeA׍uܗʖ\R~`J ꪫIܗ̀!62:LMF+RS2hO0>qE7SGf߿쯒I搥(s-Ǝ cI2ح"kn Zpk m7Ѷ)Sk'4.B܏Nk8n6mŋ0={vB T U'TkM#eߓeMaS@[VDvfcc TS%;}t\Cm,ءЩq,8p r!xY20>,6DX9.V򇮼+6:QΆqE2Æ ch/,[LW) ּ XJ\2oxw (PfM 8H) /L0i֭[|J*U3fL6̞&v_ PG 3z֋-Gb%>|ըQAdW$kԩSDh-Zܐc)ҝwYL˙;wn=+-3_p7T!+VN/6;"f'L6>7~^~U$CI,$#dZ/mIy0{͚5Z¯M wt6-Z|B f-Buɚ5k.N72+@lTJO?UӧO+'we`ʭP .+Jؤ7xtyEPnF/4bwӦMBLaUްaCb|UThѢb&m5kRa΂칵1S,1C>}1c0(7Kz뭁g.,BՂd7P~LFߙw2S}06)rW^A@dCe8eǬg}52EF7n8+ydj2* ;[ǎr)G&oСC8>r /rǎt.Z(-ժUcL\ 9x&O:7A:cKiӆ.YdbPEKKs<^v-tԯ__P8իG3͟("Jhԗ.Sݻl6;6]>sVάf͚O6Ycl''''K ▽%ߺu+MyIsi.`K.CD>Jg7l-bk "Ō9c^Zd=X`Lm cVZ)0H6QBrcܩS'Y0XcՐ 6\C6pcl'''F 2w_{K֮]{ʔ)/5kW_}(Y-6~ Fms,4XAL4Қ5k}ݙ3gVZu?9m4_IsȡC^>RJ-zWlrAe.Ydu͛- .f*/AM={e6l8~{|򉭬yL;z30ʗ/ i:vrrrʶelҤfv6N׭[7x̛QJV{IժUmC y湭֝:ubΝ,\WTV Yؔ05b N vy[o5SmkcWR%S]!r!7_;ˈ5Q1SvZ^dRv P:~ yc;v1S ĄAme;6+xqԠc;v1ĖdKԖ쀱3l1{c;v1cl''''Çn#9c:+V[TA؎c;v)S qFbB׎!vڞ={ `gjb؎c;v)2(FΝׯ_/u̙ q[cB34+db c;v1r`&M>$ ~cS}|%z뭧zvhT1cl؎c;996bNgO^\ƖM޿W_}j4;v1clNNNN"x ;:<;" :Ο?pM?c;v1cl'''Dѱcxаax?);315b-y睧~Uc21cl؎K=zXz5O|"K/4,64rQO6mܸqq# ocl؎c;vQl^{cfQj1.G1-6' 'ؗf>cª#)mR&a c;v1S&nCo^xL"؎c;v)7(0!$Ͷ]ty&Hy1613? [V6mڵwϞ=;f̘ *TwU~bdnZ {DEW_7oJKꫯGg?=筲cl؎c;v䔓xUQ!|hlalZ:Ym&WjhTg֬Yu]'_)&)>i/n߾}ڴixO>?{l` .ܰaðaBڴc;v1cl''@DD􎠗$Ӄ$v ;H駟`ɞ$w3gN:uN$5/\78%=z={ۮ]Ї۷o28q"8_C؎c;v)Lj\pH(X"f);-{͚5Z*VyFYnĬy+6[_pa:v숿,_ _?6hw=>cl؎c;vrr%$C1η7cl؎c;vcH8';vl6)UZ#N4޺Ҹqm۶T͒e1cl؎c;99  h1c̞=;8_c9uϞ= ]&q؎c;v)Ǐ7n\)Xf۱ Q,Çs=vu\ӈcl؎c;v.Q>~t:uj`rdqc;v1cl''C@tfi+|2hӇF )cl؎c;vaRiJ%%?TM3$8C]؎c;v)]Խ{ɻ0;,164gϞ-[ldV¬o ؎c;v"%f!#{9^C7o޼j…Uq1cl؎.vz m?M6%؎c;vb;̷0?O> 1?Zcl؎c;vExԩ4bgq쀱EkӦM>cl؎c;v䔓A 1G'1cl؎c;vrrrʀt}Wx>{޽C'1cl؎c;99]tD8-~(wb~{ůZ؎c;vpbDK'N>Am+f׮]-[dp۱c;v1SZd%uHdĈ!<_JR8Ap1cl؎ hdUVu5HJ_ߓ'O8clVv{^ ̙3lc;v1cl'''DmXmܸql=~x`l :z=͓'ٳ GScl؎c;vcz4bXR[_!;v-[WQF={HH/*eD7i PFh;S-|Yy,;qziNUR%i elo5fgvP]p4Eu,TZJc<"EZ;5T-9ee}wކ Z% $2p0rg1j`lm~7 Z n#%j#I06cȦ.]D^Ejǖcbqk1`yzX_E"l MFĨ`|fÆ zBv79J//"Z%e˖?bmSX8*1<\lQf 8da9@S^z|HjfASGuwiW_}5;,|+0>(7tUHT4dݥmd[maNj9K.[l ̚o9A(ڱ[1lA忨Ppp.QձJ2_|?[_~]7r ;K^{/-Nscjڴ)SӲ (mGUTP!4 4dKdO>jqB,PR0dmC]facΧ}u]u' 9aS+m6m|a~06L\q3s??t..Bc;99iNe w?޽{8;wn 8+=.lݺ5S|W֭WZB۾lwرgVjg7|G}w^\-1.*H!z!O}35d/gTue mԨ*۶m 31~D 4 f nڴA-݌qO?5qnݺmB q", sVQpw聡avؗ\rIj_prըQK/-QDM]vY޼y%pW_yٿرTX1hߥJʓ'~Qǧfp Idy7o|^EǷr˵^zծ]7D/BN^q3fX|e˖,YlF8ş>} @B0.Z$zPuZۛ5kVNvbݺu8ꪫ6m /6C;g b"ZJ^ {vܹVZvu]*^w 8zW}ʕ5k.E7,^D0a*غu-[7tSǎes0"}X6mhp…*\0ZVbڷoլYf>}4iC@0{gWXtR@: ^8gΜ@p `%jޭ[72Zသa"%5e`lq&K/뎱r6 Oa͙3g̘1\rwѷo_̼#G{ K.VϠ롂ER_hlXөSPTq>ĉk߁'x wHY>֔r0e4pQڮ]{:tQpc2*Thʔ)5Ɔ3:cW e~7o~{j? SN?0s֬Yh[C[ ~atO{[1 ZbEڃ`xĂLM6m[<0ydgG`ր ](ݨ2DWcRgt؁ Bxy0 mI;aǎ y)`lm %Cn۶m{衇裏.[,?rHLd3uT :dcEu2q Ç`pBWÆ Cc8q3;A{ њl EE4܆跻B,ZS?}G>rHZCFs0>zŔ6f=f.9o:vr=ch FٗZl 48ԄC: gφvԴvڐ),BR/'V ˗7jhʔ)Ӳotˌ`c @ (^fX*zm;v[ol Ek}'3g|WѶm{irTa_7|~7lE}7j3>+7ǏKJΝ;t蠂 h{'laުU ڮZ+f͚~h3h |96Ćg7nOσfڴiof޽[hIv4s؎c;9]\$lIt'I>6mGedu,` 駟2plZ┕/"ƶؒW }JPfX%ݻwرhѢִHv茶b48yd4_~ bt؏?x;w L :&[ qKuօjo[>/4ȖxXK- (x&~Gl߾= smG]HÇ|F83l Vڷo_lɼaqF̛osZ6r1cl',5k;>XPr6@4\u)ʗ/OϜ9# ,qrdm|tR E1ˀO(Q _~&h6͚5S2jpeo tk1cl'Ad҈!|uGTK՚0 #TŜ?N:߿f(A/u{\Aڶm86h"rR -ܓWsN̛ArzD$_T" b4NhV] ΡC 0-p\ Ɉj8qA*RwDa6)Rsu oLI}E8,=m۶ƍ6ii:_w_~c)_|H>f}qWǯ{翠׃ O= q#Ǘ6qI] FM E,Dm v@j*0΍m-ZH @m ZBwC]= ˆZWmJ5R~nBA~1v{u; Rfo Jr[0믏[xϟ]I#N>xʕ+&,VBUukqJ;$FUVYfDF B( ^Dsg}&ŲKۖ_/S{N|[qmKKr(R_^zŊ!v/^^z:~#riO?tZ_~/_`Aڻw,@&-`˻y(lܡ ~"%- ɇ5CT<dV{CFQ5 : Sdˬv |KV֮n`#Z2_1S.$ڡC[v IxmM| $!)暁16I`G4j{ll(/ի C(9h,~ړBB6dJAbh߾}CqU6wZF/VڨH)"hulҤߞaX;659Jb[|`6cod }8QcWKڤڡk-.Ίe+:c* O66cl'\E7n|Giq^@̄ɗEzᇹ3%#M=2 ù,]aȈ'O4FMΚ_~eLa]UQ^bŽ{^l%vѧOzYkj4G -_W.Nqo߆]vG)"E pBѣG+!D*{+Z Tt>ӡCK<0IJu'*VV٣\r ʾ-7$jwh"cW?Iȑe, 2H5P^h-ҹs;}Ow޵koQ!??~g*3); gϞ~^{HtLP)SD4d> [gΜж9>Nbʩ\zlEM)CɈT>{E 7f cKӧO8i$v]Y/)m2O:ټDc e߿?yM۴1vO>]_ȿҐь֘.g=Üi%[~nArB;: ]mQb( 20nkd VWZ٫Dֈ!6e3׈>S\*x%K\rٲe/2o>.W iu j_ݤI k S VW) ׯDU\ L8Z34T-[(:S&QbŊ Fg)EO!0٣0z csr1!qq ]I~ K.q mOx]3!B:zѕW^. &aaΚ]\rч9iF>8Mj"z ?$+<xZdRe V{A]R^Yw`R݅_!/RN;R2;NjX%kcjxA!mQ2; ay(;߶aÆ~A:Wzcl'\EǎQFl '-##^bEB z G"ɴW|*UR:2/Y>HJرc8gcnc'!5x[Y\9M,z}!Sl1-H" JEM0R sUyժU*sL`fl޼GInVARF6m}meʔ5kVPVZ]1w҅eZLd?PD>4,g2z-dݺu<=~xG){ァ};vq\N24uT"̽{֭[)Zׯ9ƊIv{ w"QǻwczΝ;^(¼KSQdIW^ye.qܸqczzM̓>ԮiN(:ut7k׏Zc^=ztŊ-p4a-z8 1 8|ioX]]( ~NJr{za8h;S|R! <øriӹsgn1eT5d\!rVe)+g.ݻ70q:mVȜbi֭ ]1&_? f´\رņ"˸}K/QRkR8$jڴ)0,\V6=ܓ%@6,_|0 @|… 9rr ']e+&n7 fSCzwޝ1תUAR8b`ތ5G@{Zz`WZlh~x9}hV%Cްa:ϢExJϙ8ۼ2iҤnZFH_&'~_85b7eH{&J8邫2&jc'ۊUfdɒ\QARі-[6k֌qfPMLmG۷/AܫSnccϞ=H蜡'܎͒v-Z([,=T~ɒ%x~; N%.W_}5A06./ii /3+zNb9͌T<>}mZ$`2K&^vx*T>M`TGpfNI}RA_REn:f:`gBر_`A5k`lc>K]l5 Txq|eժUflقTI1د_?L"oAl޼9䶸K@,b lG!ӯ_yEy!(ZsO^0)0Wh>HLbeȻ3Zdq^lځw3f̠,E0;X b.6+9p p8n׮Cҝh=cIB۶mKǡӧWZ5> %mnix<}4G2"0gvR"iҎa5CH2LG8_h7b{l\ۑ&N؉أG& }*1_kK W|r`ƍsѣvw 0Byv٠ANm(/ ѹ'O2T` x,ʆGq6PJD@dlInb.[n~6f̘={ ԁ-ZXbY;Q;^z.!hݨݝwYhQ.UpۥKk>}|P*cxo]vSHXtSNm۶ D5M Ĉ֊x36z=wIY_9/n:,:t eشi}ş08 }aʗ/"10xnI勗:7c7|6 :c*cl'\K+Wޖ8F+۱cǺu+ѝs7/XPB6lB+D6zF[bCS׫W/'3@vјzq{쩍Q:YPbln@u|?t֍!02vcpvDyJ`6OJQp8j.DĶ` s6'|N3FDN7(P t ݜF6kڴi֭.i;ɓ'1qNr7Dg8p Q܄ *I`(QJD6mZju骫B4iK/"4_*U(_~ƍ1w^Z5feo5p=\s ͛0arC)^ %!1x Ξ^ (]ꫯ(!>rHjֹsgxpB<L"XoڍvlY(S`K &qM,Uh`(l"^ҌeI.IUV~޽k֬qrtԩp&e3ؤrJNw!Clܸ1:^nZ sE27C[fNt1 uӄ hmh EDFlAii16,V1lVxv٥US27+_uh%+HSO=&2c=!4&6ϣU/~恱2unQ7f9LndSOIx`UÝQ#{$-ѯ @dc\ۑ05v|(rиg)Mږ$nDr9}Z=pע Ϙ!o_~f͂DxI+۷ᙬXj88y~i ѣʆ 9Űvfm[n _ ӷoܧr'P!hFb`( Ӂ*N|r";"رo#v>.=:K@yÆ 7on41N#su 1Ɔw)S/"-ZFUu)"=}&IEyv4E0A._A Jo ۅE=v~^V-vMjd>v*cl'\H0Sz+#e%dԊ>KEXL{[D9$N MeȐ!^B}GѣGteJa4E2Y 3Uν{eU%Kcv#ѣ+ }Ϟ=e8iT#bqL aYY}CX.ŭĶVH> u,K-I8Ɩ%Nԭqzm=شiT 'Nne<[nPD5 ;=s0e;h5)+1S.$zכoنwAlL(]vRED$}elBYfw ʶ:ȉ'P*0T&>T-j_v0ryྼLp"v(}^JT\!0ٳRfؗ3vְrJիE TrFH5)AB\;̹2T~{1cl'0).HWXfM&ҟ<4$?qƕ.]n2FOݻ (uy%Bg߾}Lo yh6o *g޵a1^/3sr1 ߞa;\m^Xj޽U[lT)MS}/S Fb s [ 2̩Aý4ha1cl'Kicx m0J)f3f-cl)d1ǏhC% lh-[Z)XOAj$E]"o?Ge\wy'[}G!F+ˋ/Y<u衇tE;ϻ1clNNIX HcO>X~,#:3F%K !"V&$̎~ݺu9Զm^z)GXF%)rEp*Ǘ_~ݴi)S7XFBq tod_ZѣGsSPvlsY3:"Ǝa)äNN2h˖-&M.ʟ? 2vq;M"P2A!4'On HСC b53sQeL^!/-}6jZh_ޏc+^ozD Yh?VRJ, KRjmq%f޹뮻Pk;w2Kz1c,~t}(Qk  BSXA2xkÆ hɒ%k׮ g{b쐾3gb/\mN\;a nժ:2(܏8U; a퇱ÜW^KU6vz +V +l u06Y ?pk kk3f wXr1Sn.RѺuYZQ~%I{nL6͑UA M2}]SQ8zqQuūʓ)kbSc4B -[6-e@ s.]&0CFTa'$舅OK`rL2xUǎeg0/Zh"E>sSl/H2v ո~z??o-NISTtFGc9}b"uҤI/R9vr D!9+Ÿ^?L/m}:DCiJ_fِXɬE FXX2Df< @$F$D %¶_HCcWYh?ŜwЉP6VMw[k4 $ꅨ[ 3y@m_ui߾=2~7poObϺs~sӴ s(x\oР;x$CӉ LesVJ hs\mYWAZ]TЕtuJ,? ܎䔻a2qjAt+VX@ڵk/^PBϓ'ϥ^ZL|`ժUz|b^(\ae$)&_۲e `ԷhѢ+WF5QG\R {i/_\rh*Z 9s\OJoXFuD>۶m ֭[dɒ M *++W,du/y1v|AC^Qj8F14ZjmR-Xv C)cPmK(ۓݨ5:B}]I \ŋ6̵1^H]v.Rq-[-J.z-ڎY+NJ;wn۶m8ᔅ{͛7Ansq;Sn&YZ}Sr@X+СC'NLFh!Ma3e6.T@]1}ki\ q_aS{I^ⴳx~aa\;-*>|xO8̕svKvEb|„ 60W'aKjj^+oꫯ&$jذUԬYu֩SAи׬Y)גA\jH؀Kxʼn;tbX)C9BMqp"F+Btjrµi.PUN;6km>"6PHj5Kkplq_E@R*P'͞⾀+q_ ,~h]ۭ o GGhu8\L Rsv[1 )ŅBNNckn(d6"m BAOHhنWeh'I*6VBBYGao[g= EQ LP8ۡZ[UKAނd.,ƶW &[l E q_QJlXvyyJ }yY5 XFB9H?̥KaE.i:vrrrrVX_'On1cl'NNNNNc;9vrrrrrr1cl'bυz Ld$J-P.cc y{(ۯ\NNc;9vr> cL-3-L6w/ }$GU։c999vrr邓 (M 6L ݩlEU,]Aq^V^AK!ac;9ƾؕ}:/#.nP6<]`(6a6 -'5\KoY*1vVPpM\UE:Cs&8_c;9]$ #IږCKx̙3VX-4`[c_DA$iX%SB<zt H1$CP>DAw}716 ^uÇ ދΌ.;vrI۶m2sL>7onmp9/,XXk׮ZjƅkFW~>\GF@Hʗ/]N9 c}L=zV:gի֭ bURСĊ~X~+bܹTJ.Ϳ/Zq.]c;9$О4i1vڻw;u&,\<\rrsĉ_S}5IV!˗/WޠA?~vsr͢WnyI4{l<}GqjI7n8"%܂dӭ 3<#vH"͛7 Hr-9r$m.r6>x 1&;w_ULuB(ّ@oպ#Guָ|c(nW]u+—:( ]lًqc;9~Gth=ܳ>۷onݺACŸ sO?=jԨ bz+ZZ)'Κ5 }&ZMRva6*;vx@Z'عcK ڷoOx6SN…yg{y&/KcH-MR?~:ij ꬶv̘1((ر؋/6իonii!.--]I&xy?w>62 ܶm7)50Bk.;o\ w=q[ntb)1f/DCssݻw/_Lӷ5lpCyL?Ƥ8koٲ%D!k8 . diӦʸtII | &ax|x?P :49RK׷|'৐_ı#y@^^^aa!7M`]}Ν؄oz_bD"l7oHrHh+++s)79vPc|97o3GL0R6d-"j[[[drϞ=EMUW/++af=#G`;ܾ}1}t D,ҥPCjj+ښ+;~F4 TѣGDk|)ِ3 zk„ a4#@;6`"kgp .d|VUUq !Xc̙3Fp(Uuuuv(CK"q!bAOݾ}%cJn>266)F~r<n?+Ñ i@@8*^~ҥK;v,γgڌQÓʕ+3gܻw,3gϞ-++_OiѢEO!ׂő%ګ  |E!/N&lJ ީ, ЕD650GM~rFI%mf ؑ3—<ӂK\=3͛se4 D[[:>8dرe9UBKahb]5O B!dCC\pՌ[?>w8sc QDx1߇f֠njtQs#{م:F )4$]fɢrl\b#>KSb`_^I~7"؂ 87 yݥ?t-g!mOFD 90 h9(?NDT߿gt$ 2eǏcg[Zέȴ>)_0[N_ϱ'SAFcƱ?g}~,~% |g}H  3R}DyK _Ref112607340}DyK _Ref112659842 Dd& >  # A "" Ŏ D%\ E5@= Ŏ D%\?` x]p޻?g"$:G3RKFIHS- D 3,9'=jA0 h32,0-*ӡN[K!1`l-V,v^6&wy;}{e %n{_C1^|ݶDd:w|7%AGygo? 81(LB[JvuG1OUV7Dm6xSEYu">eUz<:vJ!0fiG~Z7eZ~̟ֈ}s##\ n/?+zD-jJT4Qf,[mj-p 1(;b(AJ٭:2,E^zl+(/f٬dӹ#^fiP1 $mp[rsq)p&ͬ(Cy iVJ ܞ? >1GVyn ݋x݋#~^ p{߇~ӓ#D?Oc\4Kܨ.ǝ: d(Pt ܖ|){t Xv{/cϠ= 71ceQlL3)w &t7k9|dC;Sey ӽo7{FiR`8k27Mao"uϫozQΈ&|j=r(^ m0 ^m"`gSy r$|zS<^Ҧk DY&^=+Αa=nHQ:3mެc5J((E0m5n >6C 5l8ch7jiQRFYOK ԡ܁n> L:Cx%/P: VB#<5Q_#yF$}_tk'G؉|*`Poګ 1k$^@Sv7Zй7.hτbNTmdw|>4wZ ۙ6N&Db|i1pW2ӯc s;vo6eyFNDmht>Q>3;\vhl<{|rNE+M} /~l(׫d6‹:M©Lb#S>>R5 IǾ`iUSiix /uzm5(wܾ@>PաbEM}\%lS&2a>}9kl2k?'IWܤ;EΨsU+TcBg(iҲJLS:l"`kq;16x ?֚(Y庰X3ƧtQG373F"^@5yBL~ [ VktsON6ck{@5xxm [_88aF8ƾc>;6Xmz_[W>Km=l}S闊U[ڲ5['N [#Z3:z]g7cI[󚅭3̙L_;׽mmg^u&~J^a3̋?xqgvpwgFki7./t[olk֓88=pY7.88v3h7uƶ3ɸƄ|{xyqN8i^qx w5.s5sSrk4#y>\3'󣩸f^k7\3'ySSr͜k5nNfNqs5s[*׸99-׌g̗wq`l𬝵rmCr$Lr$,Gvna %:1|kBl 6ւ;$|^~Z |V>C+u|6=ܲZ_e^柎e!^柎_b~~,(op~78J?ǝm:M!\SL7Ƙ k``݁5uk%3Ӿ'84tox:/7ύ}Y]5G+ Ao@y?oB凢iw;;7I~*}Q>'$ @KVc[&&1|Ű&ԫ~B埊>x`lp7%ƍAT߄oBUƶm=oB w_XsA c[љdKiZ6߄{sVscL~ÁHN_{DyK  _Ref64831367Dd,c<v  C RA:..\..\..\..\Desktop\main.pctbڱ8 ]LD toSW A5n8 ]LD toSWPNG  IHDRd<ILFpgAMAu cHRMz&u0`:pQ< pHYs  IDATx^w=WYHI/ M@D HQA@)RQ)(u,3Ȁ":CK: -IH4{oWܶ{޻w={γy||˷|??}~|۷}_=**v0~w| ۿۿ%oow}wqjw+*A`({WK p}WIX)P)P)ǷBooNo|wwE:D*vOjr"8Mb^W 2@$\:HH]^ \9_~LJV!(UK.>?|GvX;K}kwS`jP&y13 *׻\sF]׶'Ntep3ΐH ޚq|}MGLnVKF C7nIR R]Pݡ"8E dF\?# K]+ qpf,r˟~鞈>,a]B%%p@@+ڼGpО"6ʚE7@Г2Rˎ%Mnr.R@:D0Mh|Rma؄F3wɢQ&+7S ˯ ԃg<8J%8b4G)e _e>)lK:*w3sP@>22n@$r$$q7N_xQlgKM!r; }UttOn|8lo,' kט{9W.upeƳYtI|:19zNڼN(ЙCTdqFdF&8RIO5ss%-hTtzMVd S4pTᢺ 8*x+~n3t),Hj @ҦOPbIU^sqb@4D=nPsj3q&CY#@5A EF? p"cKHIk`&(qb<;ePBO9Hr DKps ~_c߅H_|ŶV}ŧ:w-\@;JZ^  ]+b0"5FHFNWshmKS"<7l 7S%&|M#;eƗջA(~|?p 4oIb)$_jys ̈́(pQARņ:qj =@{EDSNe!f]-`3Ffp8I)h4}NJp^WyAqae^|&d|,Є Ju#DTvWojh4qF4}JQu=4 f$e(~'"RRaq:įATz( ~_:*ߨQZ@k]bб _)[lc-8u9Pc`]!V=2]sKcHQ89u"?NK/5f Ղ iC )4򑨟8-jNb(l;3"!34bڤth$Tbiïh#YDEeG!"G19U2ΐ7ܽcӅD1k#`Üb]/`s9裏fTt|Wbu:eƎ2 5jIX :@ha<@k+@gjN 2бJ?sƄH.YpfcxĎ;{lOU=,m!4ÍL+=Հm"vQ!3;@iXsb=@gj<1ՙ^= ֶ‰_Ö8+suXT;ݶ߷k@Us RV頉`^D3RcV=KHQ~>MPӧzm\@C.#\n[w*BaK=Q_!&X]1=vYxEFpxi<^-s{/r505G7d -@$Цf(,E5Fh(WoѫJMM 8ȡ߄'Qvqh`ݴDwhF;vyH1+ lڋZhi?Ѯ ]ʱP\u:!ShٙF^,ߝY%5Ku}-euR3Rfy@3xa%8S%WXշM~1TGk1:y ,a$A]_<Iy/]HoWolm} 63bYDW]p;01ƨA&"=i:GV|Lo֞:(#s70wkPјn141.QjS|ڪ267Ui`"|q&I: IxPsj0-8ԧ>00qQG~;c7u^ J.k-P`rujr`KAE<,ZRl\ pbUnf2_=6uNL`yV >):P__~llϊͫp|B Rץf9O [wݢ+'ms|w%/y yIOzx|I'1̊{(#|;osXE/z\/b!,ք+h(c` L Uu]7wb1T4=ғ^ BХ*>u 'P|gy{܃x+: 2_KiJZ~(%Hl+HL,01Y1>.3p{(cbp׾N{^K_ҳ: .ހ>?|WI)(jBx0f\8E̚9܎AsFb9<Ưyb Jlw]8a3sc[\*7 @@z%EpISz.YŢ –S!ҧQk5Q1X d2-ڻaj l]pWzNp=ucùN=b<~92'͡Üѳi# (b]F.,egM<§>ְ>  mgxfujg6~QŋgYieDBiPs A%< Akz7.+4򦽢+vm~N-,ҳW lFy晆!~[ܢCgWi&)0,feEt"dӵsN6O4J2buj̖ ÉMy6 &4,MS˯H`fթs27H[Y *Z1[j6 Z9j9U؞+La6))*#5,κ̾I])TQ'hL^zn&:St'C= LVK_5k%@ &BNSUQM=d9]hbLTBrfǥỀ$&Ou4 GTUͦƂvyӛޔ/86a)4ƒv5*!uP͖tPt'߂_UȺDjHxgTLWEV%jG%3j0F(O,2CbX򨜆VnHɐ 19e9n3D2'ћ:+t9:SVsC@> 'J .m*0$͐ l 6 3KeT@)$4 H*٤la)g{dcmL8|aEԬ,CMJRH1T ,jLH&4.szQEF=(#pIILHN@ ^S s.pv.)◪)kYCnB*4 ]!U9$ :\:8 : .]ӚmuEqzehozimyCQ 7 ++E5hFxLmL;K'J}wVa? EZGyPJFtV҈I·a{VsMR):d(\xB AE|7=L'dEI#B7-F.4 )ZބHvZwVyTdz"u6iДagʋ}JF]ֳ"xCЁb=!V0:P"O;lb>4e?#)k?_>YaT '^ 1Qs)J_ލl\]8MV dF#%1& QC"t:×QLD+2Oe9wm nD UbYtN )[F$|=0iI{Sqk;nBCn֌= S35 Y`1z`Bpyёͯ3$e ? BpD,HG>}8vx V|q@4b3n<&?wBkDy_Ӊ$yMRbYMU-B8C'z/#$W=41 pcr 0 l0$NWfG.F`,tZv1@@L閞Q zMpq4m $ZpІmjm)fUQ)!UQh/c![o$PJH/-g|J pE׌pu)AV!@\sh_eP\ڎR3EBc#ET 7gHqMzr-eJD]#m"xb.!rpcH!xe|Pж_8Cphu9-8Q܈ $"cF A nO,\5o[!7+.C[͉r{_bVF'˷詥fmj9*A"*dw`cW !!\1\#CѢĵ$YIqۨ!Mɡ۹1/BoǪM6Y.zkig*xkfi"\GRP HpC;N&t+1}ނ F*_^q-dcT^!n` )5p Ǫ_8Մ,xS;ORq8DycZ/Vb V7QPC+ 硤F" "އû\WoSb6'e\ 2 PC Aå8gˀf QWΊT]8:R\!opPe$s()HUm=$4JI}h}E) 53j(.'A˥8 4q7 yj}$ ۖxp=&.BBE6K*VĽ͹Ms(iJF-6 &Yðc: 8)(ƹF 4f j.2(ߏg4)$1kKE첸l1 dptE 3RW1ph8v6'Yk2OiU|0(ʹ܂|ATy4=DXf 2$u8;4-:*ɜu_)0h lV9R4`1^Av#e^t཭RV^) , 9sE:ao}Eh(0N)kO4hDvǫ$`4+Qi:[fֻs[{Gkc@^Kۏ@,9b_R`[ҭ=@Pٍ@!p[n %`":P [~T:Tc:(0f!f pՉkwlaqRM1I-,`-h۩ϟ!ɂGcHQ;$FkJ$"$8%ik.t-ףR`y Y a͘y=90U'AIY@ 󞺆G@څe(0fL/PݼkVξe52w b.#g/IMc3Of,@`yn;cC/YyD6%;[߸> ,[Kv쯱>Rf0!B027mvmX(0fbAq뽾}c.2jR(htI׬US+}3G {Gp;f|N4$6ܔbj( [B>Iy}GH%DXdp+|2KJ=P!{ @3,1ܒ:{@km)0fB:0671X$9J1\Aør[k ,OuOFx-! :erKdmqzT ,O10* Z.NV%]~KiЀW+)mA >9,lC*-G}S K7Aw?> ‘8 L`Bvql)v;!?6\>Y)YݭRQM5]Qm/a R`ՐX1Gܬ 6$ :/&.v<6lXE@&Lca}uaF?E#MD^ Y(?_]K%tj;S )`Q.E 0̅yLIS#Ӽ] X+ `!kM8AbBVBtJ"o֣R`u "X #YX. X2N֭ԀpAx'{&`o1ʗ"X?X+#vg .G. 2QV:`]EHwRNm1pUgDv,.(܍j"C?P fn=~*8HT<4sh"n&'ܲEIu~ޖt%uAzϟlmLY893rLל+K &!j&Ţ#?Cm]H֫o7LYW)5s"Dʓh%2[ne ]TCM`W n'0 L u؁_W e¡4{BaBЁ שs)vmo?PnEP?ʹ'NԄ3i0A x5DW ]YF Gp@u1 `GGCt<`ӛ t@2pɢ tq1nv|3#l~tj̗X-Fh0TSKV 4@}bFpu°~n L/4Z•S>Z9E:¬jK݄!Yc^KV @}D3ѷC%Vj(#`rPdg4`S ,jc o މG0ܑ PC\5_ßdH~]q#x%{EeU}ź)P>F\!L:#QIܑsw/zJmZeRVtQXElD mn2N pLKVhИ k-P) ) pqWtD6Rur]A V @UCQPǹL)㢋.{U@6nQ0ޓn=L}@UC|S Vۜs3/P&1 /)*IMf}R`DOk@x5D ^wAцbJGpA9Mr^A6^ :7mc<v,`{_ _k%`\ U FKB!Wsn 4k֡ >,C f)T$2-G)`n]  X]\ ^σfv'4j1S"50<2s"ԣR`E'?+\<d6 فH65 nD 竭}•fp@T٫nG}nR`s/iR"`E&vISY`NBS :9*Mvs^or55 &{jzQH pR4E?jJrE9|{ \kC<>Y$_CyB/JjH1/.J RL'@V#'a+eఴ<3+H444e&:B)FP^Jn)PՐ}tSQ:TCre7eC0417 @ dVʋot` Qy R. E4 GZ)Pjʢ+IF,2sr49XI vfAR͎iZJR` 6dP7Vs_4n4Hс H&MƂ/c$udL=!8ĕlײZ7(fHFYFw$^JN(08 F^օ`$Pqu a0z>|Nv0523pK*9.○LӲ98rr _saiv/]&=A@CYUGEj_)ЈWC~}TM Y&\Rp0>d<5R(S#8b腠v 9+4|bO EB8P$y9,pF*o1nQp, .KE L2.>Zmp5tЁKMQ-A&b+4ON69Q֕0k l0( q '&α0$ AJ* 6jkH>ʲ}B \3$ $ b"Y>.~ѡHn脒(OuA(M+w(L15oZxg)GC\C4Hg!KasjϪRp@H + 'B\DRxpp"Mwyw!2ѫF, pXl*la M};w# q|8nnGQ0='D1@7G|39 z2ez(JQ)Ѐ0ՊqX B{ NysXxaƃ e鴏^K}.r}Vye-PpR+Lv*Me+P'|ᇿor~=yk^qꩧx9x;J0S(Kf` ID_ndGNہ;9,>K2S&<DekVâI8 _P(qG 6MIЄt7_7=/yKn|s9+ ۯ2V@"DiOȴ߀Kjڼ<-BTC$`rAJxP}~ոW"=7ғ5<я6OGD:8;h+eC) H<|׻;HށE"aaHY~'9y __G}G?Q/}iO{xs5#j`{îPQce5,I߳:fwO?t/:v0@4~ Z8&#)^ "~sC:(Y6b͡@#X͔nPs0y晷-q`8Ї #<>cs!P9֐Iޞ4E$g?TEISMozի ^}⵹(|.Aֲ_h4h h&>s@8vJCJ0%P-;X8`~a$&X|{~rO ?H't2t(?Oƿ(Q^5 oQկ~5/= 寲=z3A-oyѯگQ [/|!_:|GSFVWe@fAWb #w:p*b !d;C)zV^Xn? #8=XM$A+< ֚JS,Nʣ+g`fd P!v#LɽRuyFQeC[,k%c9 r E.0bJooI2\ŖAp$>&y8SpNЁ:( ?1P'ҍF^ g8vXFÀ ͫx83:K)Мx≰:!¶-qq)7WYF -\X 5z bU{)_T HS9zՕĵpϒU8kcm\ʄ?-!`$\<>7p~.}^>"m\䢋.kN>@pbw]䱏}]H@,^-/yE  r/\JeJY X l)C&j ݢ^$S}x3^X&aYҨ_ ̉Pgz0>szn#cĺ KL,`-/@akĄHTO|- p.pU:I@IE=-fuViiɐ܅"5+(iSCKȢyBGaX]@)LBZ#ЋWDGm)^qQ)0SNEY>[ÕW!-'0p-YAmqSuҚ5:,J.d5LŁ '&0Rƌ~%\Ћ/}vl4B4j+62qecԣRiF2#buy@%L#+SAx4.embїw3{8۶ &®uy8LG`ӝqbTRDR$08"vzu()0U.~1K-QNԣ*7>s- `uE}Odܓ@OO-"klC2)=}TCJ" 28ߪ@6GHb>F樤B05aEkG"2Ln5̜HIڍ[bh1ÈR< a*DCc@>!,5 #8!*)jn] xȵ*4w9ʈf9|ca`cy`WLp")%d =H2N(#k]AgE B_[ qBMNVMFs^Ŋ^}`"@+Jd%ʀM-3"܍iwS1pB)}@F5RhjN(0U)X88d y>Z¹@E'b%UP@$l/B$ sn_}`l)Q&D"AA#P ֲ#?t!e4a*gY.KuۨS#);EHpA`WA5!K-P\(L;+`8?'s+ShI]mʒl,:J\>9oL@ fA:`up !mZ~-Gh1fe  l$-P %(̉AX"snz>YK5N`Yq\4d_)rTEVcn\ˁ7w.FѱJbHdMO-$kXTC B;~Nht5w|s8ߺ*3{e0~*'˓^Ei*{4UrY< o'ԌG{HSH^iYq^ ̩/RKSmcqrq0 8!+([Dpŗ"؋ X=a%1>E5 JXE#ԩ"Fdʛ:pKoiԠ~+焷,lf^y ~ }hP/9Y6K #̱ *rn>NXI9-69k:E ,*g8d(5–q iklfSNwbJ6\Ic#>8 L1,B0pXB[N.勈AVHT(%aN_2Dlt@ p++GI9fuF1y?Xd&n^%R*сjB)8!KΨxʐbQ,eа@RЯcPC$޸ }(p#ŲSPpPKHbjP4,$T2jI ]#X>v{ T5d1MeI@w,A`1S5T;]2'|]G LJӬEIMC]h ^s\,XK ,C; kLra0dHArK lu5p.&)gp+,%ibAC02J$} u)P -GVۿ#,t c 8kϐ/ _bے^R!?;}1Bf㥙i$QGh jVd%F,ŘW doS`RPI݄P. l7#ت~Ͽ{#~T}F-+c %R"p.o-? Tooz=})3 PSwa-f2KWҞk;\.JBX='i8Ee#⺤EKkۧ@UC D\zr73bqQrpoM(}YT>0Qfϖ3Wo`tQX Tɸꏤ*a͡7Od$ڈZd^,svNO6.fEn>bpaq}LVՐb#( r~] $Do(6.U `@FP_~`Ro_e:Ym4`S;A 941*_hX#.ϟzhhw^9btQu ldک@[$jX@^3ĹpSc7b< eEzC[!^` &7vWTGMH o,~pE)rq_w_8efd2W7 6,XTJlqYިt* @v3~pߴ,AitAF.֭1$МUX|Ԁtc)G|}#Փh~n^$`Q)vk,a@@}dFCB(6R:C7iW[}`(G?j$Rt -3Ԇͧ@}A MAD_cTF@K׫t|c5)+Ju/95gb4QKnX*X^̍]sI.TCbF@3ǰؠv TG%C*&e82!Vp1& TL=x;v &o8 Kt;dcG0^I wK5XPWh\N͘e z0 g ZHbaU M ?s(`7: X]"3U MybSDTLhI_ db CMɦGh RmF+ek$гҭ'la3āxE''w07o$E M 8,})&OLt0NJ;۩k$( a[iL}(Pbm4>ꏩf /pSj_dJPIK.׼u[#$65ĽlwZ`|08W0js( 8]gz,}MfD VUw8  dhC,PbWsBo"8! E]upX'%_] 6; cndBwͩ΅cZ qiγg x^w!={[`aM$iYMOHOä!b寻%Wχkڒ  P4,窐̇51UpK *P HS$cA &V."jg2A c0+9LP dTX8d(]qQG_N$tF ;*Y}( ;0ݸQ>g~ 7 HaPLJ\qNߪl*Y\M=c+%515 e)s4s#Ap]("'| kR` Nqi .b!)хUl^8j<zjn&Xݷi!={[`a-o7+0p"Pp ]!Z SㅚH߅m] `'D2c#@ }bJ]p 5 KO3pQ/'v,Dj0,ׄ DdtZW3^0Vs}d|ͻS|!p!vBY %tM:"ݕ I7zC]+i Jp%z̡&ItU(EP&81Y'}+5±] = s!U`8@`=b7*ݐ {,`z8Ϲb$z<`=s+c}/ENAYw6`au{]~7a<. )@Xw9$MHB @"2H\vkY_"\ܡai BIi\ $ܵe&N:A7xޚEOV֘d Mq,2d6tK⭭g\84bm'c[ϴ m<xiN dՙ\7kǴ387B3\ll-(odfOLD֠b:{ˏqbO!&&zdMM|F o+),t0L{8?H29v~=ⱾqT8tFq՗ p2}Y+qՁ8fv_ǙfTVwsX ~O4!  Vi !HjyiQe'#f=c˿_}]$%JJRo"70pH`/ӱ(4fԠqƈ% bE MO8Q@v藒xX7xi֠NjI7!c=}$.z\z饞(&XF@WZ=Qewyʧjp0`t׾9̙JX f )s735=P+pv:]uq}3^#I~!)5ދҙ=pQJOiaj k/R* &GNJh߮ {jg`XYFeZ <(,Ս /n<Y1] w%(6 .e1#2S0-形GKrQImn\|Y|([ ΜW{+>~?gǍ\ù+P$;:mNb%.8Z@ Co &md ih^`ǑJWrbPEOgsS/ąz \Rb\ɺơlk,[a`arЉ\[G*~ ԿRfB(`B'}ܷe~5{YV}!) GFD7Z,)EuCMB{>é`M^ 8L  F骒1#>8K3LPpF}Ajs3FSKRrh d,FG\E^y@Ҿe y$_;nZ3+Xa.яæһ~!FsH讇9aXݷ!;*z"UE\uW $; B]\oHAl LX.(@ ! BmY͘ة18 ׮dB.0mN>]Hjsx 4"B\Z*dRNNpjc[ۅqNp01\Ǹ L"*qӨk- RsZUkONCW>T+d^;;6 'X6à+1{&)qk+Dt1mJN%:DZ 5ߒbqm/:f1UWEp,j߱IĶvW2{ERq0wV.æcw 2 F3@׻I}qlϘf+S)B\WW_6*w:sUa= R @ %P#>޷CqHB60%ԪV.I۔,|{Ge<-da~u YpImLwdv`נ('3_GE؀Th-(qW0jygY"/W-5:Ԥva6~,fUbd|R 9d R033ZR{ºtAWZ;9jyHKA.YG i036Hם4J Ģ;Q wEM9-ܑq7f> ]Fw._(O q`F2%rP0c70ºZ~O3Pi2CVstCf6zldO{ .6%` Y bYD2oZLrv|3o|=yDrc8l:zt@|uh,Oso $ww]@hK;4A݌ Z|G6<QbshD;rQWyoJ(iI uC N}{9%2V= v*,C%0:ñh^KVd1 Cģ%Zu:7KGKdҗ9:򔧠´'!#HnwW;cyֳŕSO=OG?я&7zށ o9ȹ Gt4cLexDE-VGu,uGW iV_6 Ƿ3?#OޡG:osۈG- u`1)Y-8GXq6d7zk^' ^? my?qO$M׽K_ҫ^*L+s'>ۏ2a !0P"S@27ic3GcmꃐqشILtw՗Z& g?U$[%\X"xgFtf @K;(|PUˀ+ y%(d~ C^"q2nqe`!ܶvjVvpPxZnktC#IoVb-sS:9]'C\1D6)+A Y8k+\,xVrJַ䗝p-u;S-*dŕ:D&ᒤXpuiaaD>^a<y>h.j_XX[MF w;u,47CֿF ں_O>wN QgMJh cmRx0m3Ϥw1C].ę یtx2t;zV?@VLq Y&4tN;VWK\eQ]UA͉lJ*4_K 4аTv݌miSr@ O2|%`đGA-0Qz=i!Dy}>& 8ȫ$.\}N3dzRBp!4s]S># @WC2%E%ziWth*[+iAc_n_>M9묳'嶷-'iȉ4wqd~nEE@nԶqhAEC/Y?_Y9:c/o-:BV@wӝB&^`erC xb*fd w8XS-,YZ(`63p)tI眩Qp2 a@!p|'9'O_WyP5~75gSQ#2| ZǡQsF'(볟,W<'< DH¯dr.H,ЮCu2vW'a)q* = ,Rg,+pc96Ԧt`$57^`A@et#OO~.&m&U 5^, Q|+UķuCd0-ZhMF,]&ՃjR! 5qeleUB#),pFvC0PON^FtLmy^6Cjni? gF`@ A}ڄMDxZ GS2cփ{ՐmfRwua\/5D IX%9 α0aH]5>4є̯'_JKtR(9 > Ht0BIC'8\A|_֥+w^R0X(~xN>};tҗf=r؄NMM$~ øvX G6C.ᡯS'jj?]|mÂ>XSu Fd-Ȕ T]+A<˫C_`'0CF .I4i`X_XvU&RofP/e;_Qoq:uv̊=OyA~%axIKal#Yl ̕ 'o`{ eJ1YM{&Amm|;gq8U !0a,#?w#1`TC~3O6Fʅޚ}hv[yi*‘&WOkP >LPx,+ { C~S]z8*Y,2p7`";l12s"s9MDRc@+\076m+ul18@]>͆Q:!nP+\PbB ga/ŬU0vpN>!L5,u騼ޥ΍|E39`]VNl8F`611tI~Ub_]nWH5=R]u=W;E'Qt9Ui\BqUPWI=߫bM_y]QC [~Y s84)Xb2Ӳ4Y?e:&*QFb_'LWmYƭJd6+`r.ג -~#H =4LS%>!0chJF>"S&i6ѩ \:ʻV˜ NDblikpmNt\.;FfLvNPWb.!8:1ߩmP5/(9Xtmh*Tmszo)U6L];I%fKTwPLg]󆩫kv~  IT \M$`1f` +wuZg0t}4A(>Ks7+XmrYK)eYrY0=OȮ~mkr3nme[{ӭx s_zOo=t%y߅spDzЩ >Ti,9@+ D2I1x԰>W_!dch0DfayxivIqP\PǶ ,8!+X Es H>\o]2q\; },-mbGf߰{J[Cd5X SI38e>I(oE/lT؉ cm1q;X[l[ 'ID`L}D+f\"{{ U'g\< #Y8Cגs!]bj,IZl) j"50gKrd*ɜVz*Yӌah(( .T7)ΈMzLQIp4hy Gi0Uq1"Џ [&5ׯ dch)Euw<}cfE&E6NSL&w;*X KA,n)J_!# Okt>d}7X>1 RqJPCtWUp%>~԰hЭ`18^:J&8G,G>O*p! =!j",fh+y,@`sNȎOVNCh\R=kg?˘[FLD8 .GDF@΂}6 1ty4U`yLNR RĢ1n HTUm`^R-0YR7暵ΌIS(W!U5dR+X..2xb@@77En6QSUC6AU(w19#k8֍-V) V!Eސ~mq\V2 qEĪnf#cVbG9f6 ^sVBhnN8"P(v t~2\c׹u43B 0eY5pA7=E`¡tH ۻ>CijWۡ60]S@bBRpN/[Vh>;bz ]|1t{48f8tL0ͦ#ES뢀V0;?s kdE!T'0`Ӷ,5k-(@ ?q0gu#ٗE!]Y ( P5,7 fg Y -, 43XALEŰ0,F)cȴlīEOO`1xM@ 3Dzz4q'*YF_{0PLkh=Q%q|Ǒx ݾ#[lq0c+h$`Y#,hE u)eph 4 $-umHk7D)!r~4 ~k\D2Sb.uK6[z6DХevt*#Q2߲!P`Kf L'A0߀2z,Z>! oҴ l)0 a*QcLaݳYbì1{y!QR\0ѦYq9;iA'f-÷rfW'd3WҞ_Z V%\La, RʼnQ&vq;&>vuZՐ (: "`H,8b-R«I :F$K.ė,&,WaŇ2Wۮf)\$tDKdnuN_|J5Z1i@6ĀyB P>%\P·WCmfX H=ZI CWD1ĝZE GB|P*r> FxW\ hIUH͵OVq(SN]vb31vYݮwA:؀,h=ʪ5kzvpVtW c{9l ov|_Z(>:P<7_6݀X''d !c"BiOaA l("bMbXZz!VZ ^ todxOC|Ǥ{s1c&5`݉= lD$Ÿ046щ*XµI <hMUX0 K3 H`0P?ީDk_LpS!Bi [ O~jKN6{Wi ?|` HPs _xUQ:Hq]O{Rs 5RʼnRwS)kV5pvGZS {:GL72'H0IA&,jZ}!#K.|o ;?XS֭#4?.ʑ5 q|DM>S ,FDYr_eex oq >aZނ1vh hPkQ1[E]t衇+> \!ݯ`15*_p7 vA tЊ\"oc<5q`Rr: m*̘Ǹ@`(7VG@ ʠF'(TH l @ t)AVh%͢ՉJ^~BFM^c#D>rC(G\aucR/&5a'2iCSADW@F@ P)=,+7 d1Aw:uSZaIf@=ryp#"賀x5OzP?'VB4r0\4 PvVbplk f+K o}DBAi2MQՐ&  Wh4=˘1p( ev!wp*I &z8wI4~U~zC-9`oY 2FSpHXe Ll.QO%6x\cDRKG̚횯V$zU iA?2+¥ٮbsnx,rxVW+ 1qI^'M5v;:ݸ!t.ʈtsItxPt|{UCF75Ao>kE!GLxqexΨY>Q^4qx ڮ ? 6{j FU,VJUԪ?qh)>u{/?~vc̈́)q,_rXSXpy,o=YĵAg d]1N]±_}QbI=Md.VҟjXI`4+`NeYVJ?裏u2).Y aR/T(P N?<)ÁN:kKZ5 h=YV xGr^XZ.4Lt:8qHͨ]퇩^n4JG'@n"ˤ`HVko s!Ǫ3*p\}EAy:9PHodo~o|C+)׽Dxb@T*ouկvq hp%WhGq?ŴΆmc3z4 22][`>?(s3 ưJ;ck W&\x[}}s\\L88sԋ1,P6'gSF`zm!Ϣj]Me#ƏoQRorĤ02 a{G?39W#8.w˥^ X.)׻βSӟ!y[ނpudFQzb3y!}z9mE71~闢Eou[2>`@/eQ 6EsahpFSoo3szා|# #x_z0{~;s ճ.BjMnȃ zD˰ e/{tI9΢ַ2'p| hQA˫b_a o9LlmAOYrjl OE/'޻eIy8|M.Jozӛrߞ,:`VIg?OCPjկ~/2*W:v㼘FrÈ+vG~G&ȕCrcԘfW sؓg-C f7`Fdb,rƀDLDIRX9#&3s(\gWK*'7b+(`ODj@PrAYrKGF,sl71 '`!Fubyf6YqZh0*aM \CwF>~+Llg 5lUii PxOf"/dqM3M3w~~:~LNVEvp-IběFj̊YOmz-ƅ!{|v^Ó۝|g}ի^{# <\Aa><|e~"fN0">Wt[4m69DXX#87I K&Ɯxa@5ہů'o~# ҁ|;|S"IV|/}Vg>㎃@t+1|G9̏FOE|rQz>nl~*` _ WzbԯuiJU 0Գ?byM%[< 5s]?[XE{Av bǢ]WFhO|N6ց߳z֘HcM54SNAAQ*.k =`_bt,W2\/nwTLkC=}5ZRףeP9ODdkO^F^d/3~rhFt7ZOzV_ wF y{zaa-TpdŸja D8*YTr ý3o3э23sxg)!qm`DN63s8oJqZ&\Ify7RyYf`@m!(OۏA(&hR G(tUiJX6a4d BX3) Z7.2(a3a<^&|ĚX#XFFNEzU@Y7+Ku/79TeEӄf[e*XTvuÞ]i\v|׹5VjPG:4kHPJCV4SLKlقǹ"QWE[Y9(oyʌ5 DdSz4j՝L7kOLG&nd!TE֛p;펑 )NJn~.sN)q73aorX`F4<6 (T9%+_al*mI+@Xa_ Ћ 8"ė%3n`lT Y t)ԙH)@aT%:(ﭒ7q¶AM\Oe,NE(S"Pȫ?e.XlBQ)ߌhSɻRF1kL\ujmQPJ8*Xl#y 9[2ǘmoV?U)EnO0mOFNE.lQ&)jЭ`ͩ`Qý{22 x)B.\ݑx;{$me`EHLe5kILJa˕(lsDx\B CI:>=,N`!b뛄[ Pْ p\fia$ԊXr#DkFjʀ.LJ@a:@Bǥ@½a}-V"ZC,r>{`l){"Ũp˝Q:npjU^(gqKǭءxPOo5t!k N>"FA0p=d 9A=ۚЄ 'Z7#I(t X]0U!T#Urkޕz ãw SP2eȃJK. 4U&l_ zM_j䗻Y4}Q4X-?IMpFs]cMWc b uq"\>Z^"8p•kM [;@S5Tɢ܀OaF}( p "8$(,Mz0EXBaɄ % k/f-/͢?-Zavc e QZb1P s)EçR-d贿D~nJgk0NP;Xo?Ȑ0O, ja>#,VQwa-4&cFTv[$n / hb-.vsJ.4fH+cU^ԇg 2Ћq}hyOP'b 03Y*k,jbxM+wZت`%WOWB.bh~G.{DAƬ, nuS3i ()ˉЮpvc閙NMx-4UX~[I&X„њ*\G%eₛ; m:+X4ب'']Ԅ ; a@h7JexBlTYW 6a|@5$& ۭ@a0RFv ;Q%HK-#y l~.+EDIkWn @'-5L~욣bLW{ze&':2i݃ź)P"k%. .ʤ[S1D ȍjNRM]bλt|"V֝e>bdc;\[u cQq} :oPbx߬E]ƃ<5@ȇbbpx1bR P;#,mHO%B(M#24`i!a[כ79ִ+X!_~9 d󻘥VL뎊 U{^I?:aكjn~Dp9I)mF>K]D|4`>†@P@dpg 1‹]~$IR*Xj0(>C{* vC-~Z֏A75?Z3+X k))RYPTڣB47%E@P,8;#Dg2:Dv0lz%}wPk=k֤݃I՟W5WV]6 cňJV%a*d I}'^P)1pRH~(shUX~WXV}/JQ Y9| AI!kWS?`aI:vPk=Қt}tn熝u̧C%MmfR/U5dmG.Տz aF9#)}jDUC5Vk c#?F Z+!̎F P@~ FcQ; #iSlJ& % 28At5Eíu`#\0va{n_vƈ/˚-8egJZji.2e4864nNOHegu19%&jjZ8$s^p;dP R !a)872X%<6 cxꦧX7pucJBΒJ&wApSތ {S\*2 Z=!]M;p8:Kԕ/pSՐ_ ) X=oR<()Pb<ڕ~to*Y,D$׾ZΓxSxqDU[%+FhDC=I…N &q_#~2gKbzT5dc@)}3 Jk$K`eq!AfEkAQL̐.yK~'Z)2f**X,K) Po>TM :q&m9=}s~ bsa }HdbIK X}p<&9!a[w=`-kMä҄a!b.z,9&T b7lz2q_ׂ^m-#U[L*L{D#Q*ޥ,vk׾Π$ BT4sr%*X. 0WO=]nl5oĵu- Y1lԔ=ELO(P߬o0lW8V}y;Ivx:šfhw#08q-6!!CZk`,%2]Ӌ]mA(`:o±,vs/؅`D).%p,ސ_9vo!`_#Z k')ק&؀tp_>Ympp5:YpEY jHW1 X{>B5Y8 F)T@@0!H2hp %ectdedVnr|0Q.s)p~c+u{]PU2W Dv9±4HL\r fX޾eX$X Sw6D%&Xc=bp]v`1 <^1="_ܳ ?;(  b !)-p*X"?_veJ q[BT \5wc3Ic#H 5g0o^u"Y }_%Wn) ,36@~60hS7 p`%m/ny! RŨ>=cEPHy]}K~\: 8֪d$Uk^P {}8'·reiD&+Ek%ƒMad2v +  8@ɓ[!TȺlXpzt"8 d(5(U-r1%<+"L'_/S-JV=Qc״zKrh>dСT#2 _J<f (-{u :nUbP.3%'i-8̡QrW^qj=OӚR-B&$?c]u2_Ζ.dcW~lkʈ/ENa^ýp^B>DO,.*}>JOpJ*| )#~RmdQbˡ=EMyf]x^OgY~8^VBmIf *xtmɒ("J1)@ (DBmXY&UpDi]ˈ4{CJ'*Ŗ kIbNJ* ̱Lw|'2Q~`3efzYQH2.}gy·/k8~>^ar (/U lQ@"?i T .ir{)zl)4I4Fr`7QD`)F_@ `zuZs@( C\yy=ɚ(P FpGLM81{Q-WSÿ8mMXZŽXAU9.p+ISms'CC}M#}D&175,VE՟]QLdH2q׀""N?-´6%yS)5PdӉjju"^r=>ݵW= r]R_-^(ISio>M-p_W\Qb,?q@*X4ݗ=蠃#^~P+t9kdc Xo¯:DhrcܠI r~b0;tDx=2*A׿i4-iK;$aTT纇R1z2>dȸ8qڤF͑͟Z!C9S'Yi5C(ƓQ7ꑒmD| َ'Us.gʗ&ӭEI*g ,L1*z[#S ,Sx|uF۱EgrR71]65Zh6<%d  /P+lߎ@Rh"hDLfА\w@eސ٦*5R!:*Z8C 0".)Z N/>. R`dA ^D lm:GCr@dK: N*1@B)fJ&{oя yRt(?le˽1aqL=ǒ:YeJ!{iI2)K!F5\!ıU Y!VJ{Diab,  5⴮>h"8!Z7z®Н4UJL=ʲ 57$0laȕ#c9)cB#[:֤U5O߲Lz"Wo 3[fmiOȠg)tQ- 8$p }D ]k}u{sLѠ;ιR:p@Y]]ߨ=G 6c-3:[ۍ_Ex1 {L-p9 `@_AA CkB~a-i}xXM'^1sGÿR9ܢ\$$D2v-.iGB]fs+9(ǴA)jЇƂĀ^A 4҂U|# Gm GR6+1d_2M F9Hi`n _~c%Uۯ Bj8lʽ$ 4*0(0s`xJ&KVr#_h:PдBX.zeMṭy1\Tpqr:+[)-^*XtHULE80 2a& FQGGIhNfx˜ba45C.\.圈/n#Em"4n`1]u]bHt֟ 7,~VX}0/[C(av>< Df1 -+Ka pw>p< xCthhv &ԋ.yu@ {# þk;uX*ee*XL¥+p|31"vZ`qA݇wƃ0ØHOSb3]*â󽤍OIK<8cXqHO?,L{[iO{g>j}iЊx}{yq{Gw7 Sů꯲O佇vG=  ,,ɟ ū_j|G}|?묳`l4xRKp_ b%|L<ގ2*~4g*sq>w9?R ٞ)N`e5| eU,DeKWQ5ێ9gR(gBdNuYv(-U57YDV{T9 q]|qaGrѧ\6lAtI}_=yO Nsʨ]8IW*hN37uFD NfXp` d˿^sspvZUJ+5LJ> 4Щ0Ct4-#-@Qį;  2X#|SO=?OAÛJb V!~Ue'JNE >uI)QEbf*vʶyɇ9wEPZ`y $Mc jO sVs!%+Yն). f2gKA{ @sB_M|+az/]@#Pwz$E0Ķ\͊W"֬ ôi֦g,E5p. 螤:fN=ce*I.L)ܦt 0-\Cz3i(McӝHO/wm gmJWsX'uM^dKHojR for7@\K<_=2vsg!S{셛Yeȫhw}@Er0aZWd3p1?*:n[l'@dܨ&&60'cȭ4ŝy%bhr9IVo]Μ$:S#VY, ^/amR"e„iWl2;kb=_"@6v`_H0$dd9/©kOq!u)&_ՐMRt3,FG .2UN0Cw4,8UMOʴsB _=SW (CJ)4QQ\ɞU iFk(@02\]p!4FA\M h J9-fC=Ԑ/:גej&6_syaO2Umљ:8 V XHd[D&,68iғ->UmeUU(UxaD _RMlr˗-xЌcW(LA K}#,mR2b3x 3Ld}( uK1b.H,ZQL!>Bf$'ƿn__9/(/_`/s̤QR⣑W͜5Y-1g4g%+.DvI}&@IMn*hh8^D'd%SF@ pB$~;w ]>Ȯ?5>W;Ω]y 30颴{pjLыlraW65 [RR"DCD5lb[X"Z@j&J 7 θ{eO: !58Ni"l2 (NRPKcgӼݗ]Wo=8nJɉ7uwR|u$G'G/]xgl~8/H(+9N+-]f*QkHI9%G9+{a1"ɨ!MQ5+'3F@8#JbWo[(B2s#qDL+$4$>*#OD57ecu{bܹss؋|'i٨6w٩.Y)-]8},ok|s&qاO'y61zqrճ+=J{]'pt"J ؔ|řIMzi,~p7D^4Wzsgfࡸrq XTv7Nf&+إ ہWN/ND >(@KHIUJz}0  Jp( n4Dl"@/қ__JR煓ظ&%%*_*'6%BDrqҢ;}|x%5kF֏jVSWZb7GHJz~ͨ~뫏˥_ЉM3R\Z\|W>?Og)WѺC&djF) @LA\(G|G?ΓNU~$y~?.qiItMhT2ˌ]8=FQ|rub##:#c3sgG)w/hNFJJ"eJ&Y4*J&w<'IOdģJ@@")@ZP8m@ de'GQ+%iކo}c35.ͪ}V92 2sT@ R͏P'z ;1GhF1e1L)Bf2M Ւj>~qdI_$V:c;9ݓrtG)/3gc%MyҸ<8,QE_eOBD&!$@ Mp bD"IW.rAڏ8;AaG̓6$''b$ZyCn6z}X/]E:}ŷ9B|bGr2|Bx|lҳO-'f=ܟ I3O~tzǧF~7#$ %5eZTz33"g *iK_gT\=!%ސ-Y[h"YWKܑ5Jv84˒_r_/.iBVxG_jo+ (wc}s/$C@ 4}J4=o PtO>xlZu_I|MO(PN&mLpdz~-ZRYӫK{fq|MaD .(bN׷*X2v䟗H1Y?G!߯\m$buk8'uBJ9,I[!: Ppew/EJqI 5dd*UVB@=jBGy|V|v8}]As;?䦞-Jڕj-ZZ-I)B~llB>QK?;N)Bt?e_2΢Td–F⼿g_4)iة=7R[~iwu_?E'k>0$cK~i_sU4~嵂59Oq.M0@!XPUR4C&u>-wVTR?>Sg"Y ,nΠR?%ߟGw49'5]*p*s};kyDX<>PA@?$*9C}Y$^I:%SIF\jejc''W0L١6=]S:ѡFeޕO`;l:rw5WEbcӤ0rԐP_ rI.{]c︰?ܲ_7g3}Fe D+kKlQug4l 2) /ٿyee’"bJ|ssdͿ\fjFSj>{ϥ t WӒ]Ÿnjoӵi`P.(F[L( @ \ُlы=Aj:+[*Z{Y4 z㰝4F{Ztw?zta!:ƆRngqIm>VVTzB69.""M,ZQRw C֤7KDˈ%Mq_kߗv<)Py&Ccl o* T钡?wj(Ĝk=YqnY?:OPTjVUܿ2 3j@`" L8@8avMD^MTėuRnZ!8Xђd$Bz|K_[JRR"j)>1?hx?lO}߿HI<ȩ1~H)i\@QXt*%:RnG{+5iwXx^E|lxl<+ȁw䟌Zыo)qu%m]#*65qƠtF-L Y= D!{G|3 S#cD̯5z)uvQDt>{霽^D>?p߲ڍyă[.[T.Hmx /cRPRrpTR2FQ]D9<.^EV)Qyjej).i||o^046㭵6>z']*JgfrY)oxTܗrrV>תak>UYi;oLܚ{-iA:ťxEϬj^$Zy{qjlBn%706i"~v3z]SG菟{/_&R(fenZ~0->6 arR1vAT}FsX){S.ZjZuC[-븘^Uui誆ƻM2Q(zO`c␕8,DL)eE7*奈~tϰ$*G{ }״%%'v%%}֔ Z* T,b?LJ$g C?}cԓs7V5DWs}wi,"6KI39Q{!޲ǽmLK/(m/k+Ӎȇi/vwV-oXϻ6:'O >WThd_dyÚw JJUF7D|CL/{4v``;,$ dj!r:]m{d|~ŏXwb×!i :WKHz$8/AϹ0Yc=e3z|]qD0;; G|%i9rڪ@ջv"`3+k{$ݬx[ޡv襟>Ng.du>F%))ig AitADr."-g ^Q)R^jb))r8 /ﲻF9+jYZ3u&$iHr>ImY-NL\^(25կP 6Hi2v<>Ļ=ΩLFe"?qdhJUd9k88ūA}<6mx9ߔ|k2ЭBYr6Fϭy\ZUzQM&;gl$[R/?H[Ƶ\qwt|?[+ɭ?:z($od|k{:&b=?IJ)ծT+_|hDJaɁJV[EZ{xKF륃?vB{'?xkb_ YiM\JjJ"vL6%[?t}YdVBLvUrSTZ5`sgܒh_0SJJγتGk`K,ե-ZA?b+F+Zsό}-\~Ól(R>i#Ԯ^ٌy5nػi]pY-ߨW_(H5Pfg>+h6x{ٰffW5s} {󥕼N#sͩC4ce iU)3j錛+̸@?<}aɼ 6cZ<67;6.=і8g}_|+ȭIT pA¢ggDG 7ХUO1AI_7櫓X}%%ggB7I+,‚RJ~>^qCT:'b?9Z~9EF7֑jťD*f-l=Jp/>5ʭ AnCJ:FxHkO|]2qï?p8 |J|oaKcIJ1엕r. J)o#B"?a\Жᬣx hw@|["YP7VJJ݋dFwO)%`f.9#3a}_@ PDwFtz3"ɝG4D**/0$I9/)yGcgşt3g_٫;Ξ[R1;2mz3޸ҳ?ֶbq,xI `|[;ѳ''']✒R"Vzi ŽUb$.e%_b⭔Nx҂_)7 } @xi[|'^>EʉsɘS/ h^䁙dщX|B3RKUn")i}1~f|KY^DęB;nOҖRRfIRaH@?D'rlpYÓC#|H%=J{R,^@%BhJIɡM)J=@@oΉ ^yy8iKzA(7[DC-8F1ReON,[4߲'_/>K6ޱM+'5:[WJ)4T,*ii<6N{^ݻwO#Ձ.`gq[RI\QΦSu81DQ-O֥Eb0 /E@y$v[ǿҔ>菝ݿogMšj'c+Sm'(?Y$趤ץZ0vBt>)jŬ?ѕ8m*st!(x!/_M ("9覴GIlI,J"H)%%3MH).MNr9(ç݂t7$jKҖԤty>cOHb9Ɇb\L80 d` nfC@C7" &'nN8MZd~@OCBp*#%oS@hL'J:5/LEYiŁ_N1ׁ@𭞲FW'YMͬyo~9D@ p@`ڌ,_QJ)]x I%so^}{ɕ~yޔ4WR @ X d,6IRfR&4 7<]~T$$/J3gNEꫯ o%  @EK},J*%um%;y+{+ I%}QM6-Y5S"=vrK^Dv WGb7X%_<`J 9zFf (LҢ) -imGoLS!^W+r7Mqˊs--QNH6f'wI' !)饾fV 8K(@$A@Γ/L;%z(Jw+~y|СO%zgĨ?-J_D:n>a{L]]xkma} SBe:PuXXo6ּ5+s9涺BָN!ۓ1s>X*ЁnĜX1j3f;@ <{>}(G)i4w{noݞ  |ԡ[v)I͂L%ֵi inݴ\K9ikoH?.m\*JGh_Jss*b{{ų駞$tr"~1:]~ZMFDJYuݿZrќVll7Du6NlqUVUUt .DDa ўSKĴҸxOu`{r%@I+zg#Ƕ2:(.Q~?fQN7j$~jNٔxl"WpYKoøqRA̩duUFs 1-O׆=Աޥ1T6jon+szD;yCG\n示P@.vZhޢdvYinJeB e $](F`ttֿ3>@tѢENcѢG}LBI/fO??:qF,VZY%7ϚlV[Rnh,)ԘIy\\M,h8&\[Wjn'j^UDlíޝP^!3i% X DMNԤS↕k,wr9,G (PJj>HBI_&zʞ=Z:s ]&C%eMZ%!O3R-q\OT~)TjSHzNB8 b"/ՙCMXOOڔfa%BTo@t/4Z!SNTJz;yt& %C 61Κ<{O.xe;y٬JfxM<-KrH4 Ȍu\z;Ɏ{թu׭:y)'SRYׄݪNQmZV{sL|C R_d9Hi8"()--WB6E*#RaEH OAMWUjW3i~[MikNzv^], *r?hyqܾMI'N[n+ͽ9Z /0L  @{=Heg8Pď-~jEIZ_iun~G8S?q%5eZ޹"Us{Tֶ s63B#//4rqq#BS 1{B 4yDޒ^܄/BC͉tҫULpOnBF1fA@  $tk6ӿtܽ}1W-ez),*rM X @ +(_-u5%=yo[qA @!?s^gb<%?h'RܿogH*Q^=wܠykі4hU@ ` @#%%e|PiU#ͧFI3*xU._W@IAe@ o8~lW(Ĩqtt hYYvUtrbٯZIBRI.MRR @P!0ms}jc^=EeCR[[(ikfA.}u@ @ ~d =.RR~'U@ @ nv/JJSE@ O&ة'@`"Ga.4.׏*%M<6~8@ 0%b@ 3^±AU;]F@ Ņ@)j#{z aA@)(锝z  aA4,3~ @`"J_v #JQ8])y@ɥaGd擯i&bj$lFɶ=fx\-D e6I,FtZ3ҁV l 2zobJ-#`gP(\*p. =V|+Jr&)3I<ؒO\zmCNَU"7P%]⣔}IY-p[ G[*7*LqyfjNj7[ν_Iw~Mw|ߥ[EtbukIz*@#=V|1SH/H:E`Ľ-VW"s|R"[^ k91 e][%RK"PuU\)"tsInkh$%'-cS3ljWJQJO_t} 4{f O2CI1zM+5(&>Ԑ!Tqф5#*Šre'lGC5$ϧV%[1dOVP࿬m8GF"$7UMs.0ua :j%*U.j5Rn@PRz-p S[-MB.teS%?dz DJX%QmOm@RmOLn1D: gdT&MiN-&e*U;ҤIcR )wqVZ8k>^P4 HPRzC˗E|Ե>z,UȰl˔}gI~v6KMd槥NVa^pS&J QC0JjRgkTol+ɨڊKؐd`2t(HI?*R)"RU/r @ %oV%ͥ ӆ5M%C͈}[$/[DjRFFJ[LxH7)/)RC*_j%m8w(PYO,\&*eU ҞYK+a(5\$ RѴ  2@f(̣ % 6TJD$ H.I*M ~R MVjPC $TeR*|츎>Z壪|4OzW.(wʑ<7_rGO*IFz E)0*MaNQ 2@f('w5(@kdFꌍA,"t0h:*EIzdH| "FRRE)N䠒IN<7QG-$')'M{CvQbL!(M G ÔTv(#RRGCFmUI|KMIZ6lMY\'e7)i:`C5旈J& 'R> ;MZ1R|40XBeQq* YKIGUPj ϲjEd&tA'J켍JlPq[E~D)RVJ72"i-kO#O ԊT{#fj_6.ԍ:6䧇nk#bĵPgx5PCkQ*!?l"3@ pJf`iKIbHU*v2K>$*2sE24+YMQg@HIIe(( m/utFR?Cv ꧡdP2ބEo %@8!)i:P{{gN-'5-dD䣆ې%MGk/70IJ01jC)ə SSٻuC6bԚ5o FD gBǻ]Gʦ=͜ib@"aW>7㊙sW/>?|7?A586\=CtG듋ʨ!)bJZo Wi6> tjU,{;K=YtVlwfX.o.l#@# =G,t~"kϳa6x2Ô0 g&Ƞ`5 J(Ğ$R) V9l8hڶ [?Tb@#J{"(ZGvj10 @%2 @ u @,#EIHI)DMrQ=@ @ EI)ơF&q:j)`t\#+!Z؅K S=EI W[yN:ݺuW59e永7{-[~oڱae"r{ }5tQLbÐY@@  ?{R =/& u|"+%顸WeEBI$hS0]*5e@5dRR -}5n0TdJFl精`践B_~}ƧAI_3L $%0O LJy.MzPqHj?[ &J7ɒd@r蛆}}şlZO=-c4"1pgv;~ZoHkbl4@KxLO9ى4J㑸,5=_Q1ogy=lI0hRG &GĖpUmU-Ji*]~9+yqWU͖ө9s4 `3C\vS[}N_j6rͷے}EQ?'A PwԬIƄ)G5&-?^yB mE#t?<(b>%%#SJl PXpѿJKqiThqrXl7tﭟ+F PO9LjG@*cX4nDWzNK%RJYee׼}ּivAF<6Z:}ڼɋWz_Ϊz_AOP1D SP)0)Q_/yoݧծd%){+t>*߾_\Ob?{W/\yB9FH(i/W   ;}腋WRz*/+Y8{,-8%}ѧ6z[՝x͒EE3ā>g҅˯J8ѠE14 DI_\RRBT֍NQY7-3pΤ\P =~&POrHq~2r8U864E))ي-փ\͚^ xX B9`Vcit,Wsg,;ct̛=}NŴ#/qJ:xտ9*q|x #q:F.2:^h0A!"LPÿֿ4))U{WP|T^K'kOv߶?( ߾F᫛kזbqq C{Ui}wRb;`Cڎ!C.[W4z@ g.9d|&p dbGaP>UzYisj_j1#Ouhx7%, 6%)% ~~ti2Y)ifZvۧ>ںTN?滃[]j{?5c)|!};-oO О$ͳcq JE5hhrÎlC]T(U6v5t><]Ե574u x"f:d̡㭵]2:zzFW2ۚR)ihg݀3jOu5}@tHbڡD;6EYYHy,QRG}=ӵBoMk?Q᤽]m&JvO3` b|/{W42k?]G6ؓ?wwiT +.Y#ԷuUu~f2Brju>U{֫mk eZ?۶k&VWԮk6<34`.sHZd9E{B7 FG+l^^fݝ|+G۫sRֻRϕ%]1z}r8TO>y@ء~=~x4 &n8y%fQsXG&־KORXìZP?Hݼe n7mO:#,[oI.nmu9V@'[Q)};tJicS>,BSR-$uJD1ohX.[7S^7{+s$X'i"5:fx~c‹?7|sgq,yooZYw/t~Ev ~3o֒ڊ|7֐ ᾇv3qJP~i? mU-M;{I?̬2~ong4# |.zpF"vٹ)BD2 ]bp&Iݝϕӧ:~/"O~c_|Nz[%˯kk̵n_zR&=@4V?9GG?|L=?,=b޵q:dvwٲ9v_5y`_K<~8,|{O7?̇(/m,!Oǻ"Kj)0%2R^@TvZywcTSJxi`szuR7znTjA^ً/^Gqy1~~͗uWC~uݍ?'/@96Y[m/7|=6~R]C'Kfj_[k|TҲVTE,K=jZ0~ia[;.֡jM-d3dJ-} RAߙ+|iRRy5ò3";Q&}\^R>*Y_:gDg^[5_5Wt8<%Oqûo/jXγ'3'-Z]Tx]m\2zV}c$XznWn>}&݇WJҹlXQؓZu\mO 8iBq;BH4(SF3djsnH4RCn$zgRKHT_9Yj1d#" Hc39ZӺOvsӯz3߼oԉö&#^}{zc/\lz|SL&5ҺYJihc㣣~_׿wR6 F\k,ޞ>ZW>̍7}0I?CA2OeL (03-X fOv-SL(ޣ:"'sT\qV-/w.y#kϳav)6rrR[oQ)i1u %@I]'=@oN:dOgD-(~f/h .I >;E}q_lr*@ @jLQ))EwЎ@@ @tBI~L!{х~@ LQ&LA7ԔG**f؆ 0R  ҽ釿`43T(bQq+hɱ((ʢQƏGbc},xgp"PU!!@jVU-Z }@#JoGQB׀z/()@""J2;62=%]0,[O{QC iJ+u UE  2n"mlk. \H1.5W? *7̣EmrϮgH>AR _ Iq.[WM0(CѮH 2>˨H-/#_^Nm'nov-Ա=\P{ioKcd )/<1??2@Bf PH,k F>ܰqgGл%tCN/oxfN=M(R}[sd̡)|:;uI?>^e)SjrkEQDԬ+"hinۚr9b%V\i񶪲@m哒(2 7U6I q!p*K=jU,@m&(匴u:;OR:twV\Ty[}{+(VTaKIb 0 a^L HI IZXe.ɫ,L<[x*dNqQX&;vܳYdXr4Y½B>wo,A`ω:uIIhC9݌5v0P{V^W]2z5cG!-)IILJId~ă&jV#8ն 9$0RnaBTZ?wZ2P. /wIBLf1ژ4^d,_aڄ/y_Ab,hVZYUtNVe Hb<$3@&FmrL8@}Ԧn}Ё2T7.[Wilժp  "]d"1DY:/20?ڰ-KFػbu<5J%%%`4^o*Ei;QVce,R^7HR3d,;t!)̒AX) (Z!7jJYF0$F_K}JrV)_?(lvk~=z絴0'Ssetwt!}nW&t R|Yz4>*_ʒu{-ī$`Wc{A W܋F'ۛH:|>PeRrrVS4:\+dNL4& N3>G>i%WaqM'9qW%- }kӁuoB ǜ}oZVY|` 99/ΗK,c <B,B<IOqaJFϞ=yNKC''d(%U ?y8h9\NP͞쳵uW;kڤ|wٿX'l)7ɑ6=1d@ D'"lS$AF}ɗ_>Ο RiQ-"_w[6U_fdNj9!x2L6*51cOj_R+Pd\nRtI8Q)Af VPt (<9 "%%k+;Mc'~7xR3(%>Qo|d ,pBbiۭ`'(94##SӖ鱹M&k.6 T붤>&u(Rgxb6 X o@ A(iqzcCs}t̢Ɋ R ߵxb)cj)[fJuK>0ERdZ[L|ƭn8!'@ mCQ2D? l(z㻪y"$kDN @p#I)i #DsP3 @ }p# @>)#zW U Ō@↢h,|n(>7r{J1%TRe"HI0/c˖y @q|+fV]w*35 MGZm*ox5ouxguriph٨sePoe5Cn SwaP>)#mb!CdQWJ@HIsr^ʳQǷy(XCDz-īnjF^uLgM۵L2eգ؄v֣UP@i) aA)rxEc6v4WU`\~uV70o(l:)%SVH=ْa9d4.[:O@hGuJo(QeU5*."8,! ^&MEh{lLk@R.6?20ԱuMZ̰EXwr{vC$u*w5(AD#en(z"|*5ƾfK|y;%K&K//mu:P N*reMQ ("&[^zX׽ /+K'WY"5 %ZWLa 6kS}G-]#u(HˡMMaMq+]r&QR_9:SV7Ɏ!Ox론oXA݆)1T[}ӭ\n-l_ts˟g1 !T@@,NsO2 bOpoKsO_EaUCDxJ[?ȐCYhHUHF֓lEݰSH$ábdd7u 5}8vL]SR(N1Ì*dP$PPҟOt{"y߆er%%~0Vi7m<=yiE{Zj"u7o\\H.6$nm\҉q1rLq5O95`+4B %v3!Ta"r#ݳ~[qgi%Wf.w'KUyUR sʧJi=&~o'7%s@0Ro߿Քkq!ޒ"}MØQtVNyS<(ꊒӧGN9wnW/\H.^cltK]5+w@{V\RVT̪M̙_<>>*;-}c>Yyv%կ1CT|mWlY:.hH 0T4j/VEZ,K=j-6יQf z%L5O:m3ik34~>Lx;J987%Iv`%Okx՟SThjrGcpŐkykׯ'osf't?}L:޿zI>̍7}0x$NK@=f }!V8*n˦k%%M/)% )sv.! xϞ9QZ;*zқ7<8)35_&Ӝܑf-`&{dSiy<M HN4\yK=S=BAIqzcCs}t̢>)#[%i-`ߚOR]L56TVjjW=3b.c fsCa2 PPU{#l0Ÿ SPPҌZ{N3*@ EBI rLz2j@ @!)ib   @`>lHIi$2p)@ @!P<Կ~k*9C@ Pd%)%%:z5љ"T 8Nk{} ڎb#.ΫbWiȂ=SxLm>⒦p"e,u%#%|ԃ;*nQ{E1n|= w(iJ,s@>alh&t(RP<5;:j$p)CKn4*M@%"i˝>ݛ:IQ7r]CyZy&&m j`8Sna g } Y2S4>*ё>ƿҳlI5o'N{{&W)w}3E rJRO* 鳶\ s<92ȑU*23I \A)Ȼl8zYTaO]SL/g|b _#o !V8S1jn}_FDzѫFcM6qh>qR=雐yn=En@Sh4zS>v╗^:<91.A>P]O4Ԥ-ɢ:M̉lRzm&́NfX%%GZO:fni'&ϑqRq1kP%rO)ȒOIOp 86D(bnO\tHL[Ezpnm*?58?!R=TkSHF*\5FH (5w mn*9u Q&>liٸq++;«Fn7f33^hnWΆ]G<72\ erPΓo0\"l>S{Nj)GE¥Mc .?MD:#aW>7y>͛ 5myͷEgG[o!$RQxOUIz?ɆfUբ **fhɵR飕OfO|ƛ>h?Baäj]M"9fSMlWgN+/qɬZ?XQugNDο޹捬=FNO–tKG ˮGdnP@"D@J]DuDv%e۷6U( X^ؔT>RZHXUFx=xWWW!4c$Sݴ\U6) Ewaec%pˆ*߉*Yd9"@`*! )[O%1 )2Vv$m+%t>i/~Tkgfl6m^V^oIBp:mܡ%-E~$ rѮ 5]6WϵΆvx4zI9{ ˝Rv-eet6 ʧ @J3*B@SOQ))mC6ǣj8j|mGGtΖ,uSbhaMZ+=e=Jz-FSǼCy/.owX8WQe[$qjP Ν~{]6W]Umkknh  =ҦoMM1L\lUNQj=N1Sq{W0i2?{R3=T R;knG j,hҜEvhtb?s{Ajw]q=%pa JjIgY=:>mn3 m`{]R]=5 "\Fz? (.1%he4UnۯqRѢ 5摒!5 k|dE Lq:651ustSW!:5k^RCUU81@x(iPЉq1r~f,ԭJԞ[cDU_BQYַҾv+4wwR+v)XIIoɢ #j<^,2fHP߰snV#?~H$*Kӣ]MjHh'ψyC`zzN3o%&CGh~ P<4D**f1syʉU "42@bgɝ$h͂R:jJQ&e;-,IW=ݻɣ>$fSU ]NgX'M@{`+2tgs!IY?7 N @4NΟӽHIY޵:1fT  ڣKUWUAy2Uי 8vC$Is6zv=Tnly""/d]\#d1n޽ m'Qܛ܌3)[WuS8e!s@PҠR$=6xw' +?}RҜLwf4R9" D=iZ%e;rf~ʪ+9'l6reGt%ZM-}e-N5߷iSyw%ȏ_&uԪ唬j`i,=UX\vݺ衽-}J'裂is!@ףH68ϲߣ]*)"HPZi\(): j9r= y!dz$CIIIo|Wc\R:2{:URE`nq{\#BնS!r벥X][Yy=W g<nS;xTW^qUpS4 J;#zXuBt5Yڿ A@ ®|nsW/9?|7?Aԉö[PwgS7Ni_ T_Sy?оahvq 9Ex(i eF0NE>`힭;1 +~>m>:6X\ @ % $YnQ÷>YѢ)6q6oXS}SeZy ed^iEP-3.Ϋq*xU)a]#uzTyDB{~è! 1# }L,i;-շξJgw Y9tr }%N{zhIEmuno~`Xfڸڽ!@exUMlhovFڲ@hJ93c&ބHk0?-M^QS׵ B|tY@J.l72K^֢D5&] j/4΍ZZU+K}JQW%߈k fK?M+[&ꞮFy6:w_.ʫ6QfvӗIA} 3T.E6[=ab[g?-S5C!%ф &+m"V{p,w%ȏ_>U ϲU)N/dLs\A)M>L<ʆP\nvpyL4'qI0MduYh TaI~27E}_~Xz⡤arMzi{D;XܝLfM|x9_WyV !(2Z0jH1Ja3?iHe%3C(2n==uG RV}J3(wPH0KIC]:^Z!uIqԶ=dHiݾZMŵl҆X/VV^U#d MwuPdwYܛhC4ve"Y l߹L<.ALSB:AY啭8M6]QQqI-EpJvsY߳ګ2@]܌+f]oS'xѧ6z[tr#?z A"))Xi,zyw{jVU-ZbmP\k,ޞ>Z<>̍7}0ï a% :c8UtNu<3M\KJǒR"tp׍=s$:wUE֞g#Sl$yW4@@R N Fx([Rm'@ ]UN`-!w P<ԧ֞d@ (NJ>J }}}ƿt&'>am2 ;85O(ٜ82F@.(iQ)%뭩536)QMqnnvZإnkϿ% @#m1Kj;E',r @ 혯־d~ă{WmJLoDz[m;jM) 3;5bd@ @"Pؔ/y_AJڌ ^'+pRHS MSVOQoDFSy   (MI ht2N^=IVImT#*}h+=ddZkv'-:]npv-1TZ$ Z*O@ Ptbb\1y\8wz'p&VJ$@u- JH-fvON33֚ m5RX}۴]r#33ZSK{y7` Tڻl8/EWzV @o6h tJҿH_5<%%iEŬt̜9{r&g,`Ky;qK}"BS#J#)O(+T|7)%S7w?6>"mdv!=II.'hBˆ|Ӏ3}QÆttbglͷ-xfJA:tqmibY-aWjq]ZE9?EŢ5fR.'s{6p᫲)i4={SO;K/ 8K|_yqocs9iwގH2i:ٝss\jۄ(iHi "}ϲw,ܰq.R P(s\C- GOˆr;=k-#u!R&X6R}nR$s0^]e.~rx+[( ~9u!RJAD{zq5DKoxʛ`3wSgOgNpې wcT+=񾻩?J?њQ&KW%JG]eQl!k& YKZ$3UV^eIQsLEG!dNj1)dmk L2(tz<۩l^ostB5។=.RUxBcйdU\9ۙ?vS4Yq=MPR4tqIOp 86D,bn/Yɉ$;rWV&.0"-'  i2Y(fgM]班_ұEĔ0|\J*+D:=j$`sb(DpY)Tz\Z}*}GT]"Ibށn|T:651ąĊ} Xf7jH}$`:OQkݜ7o[ !f V_\|54fwkRꝼ:)Vf5NzsdP_~E=ʍB%g38 *mVY6ݽi7[+V̟$ f,S}>/V*!XzIdHLRNVUwP桎NNB_)ɷW r.̐ [HS'^Sp[CqvHe =qDL]SRTp/<]܅MIo|Wc\R:ڼdgT<8w$9ݻץ=OkA'a$f0WPLuR#.>*VV:{?{2EpɆEd4Wٲ*n*Kr"cɟRC&%]MIU,qYP '-[e FWiݛ*23I<`.7wp^ %4{R,Ib+$4)֎UA[b@.D|SPeSmራQqe:OQkHON)Jg\CIq^( %J+\UЌd`@R4fEeykR24CzL/+*T/~ԉ< C^=jYۥ/eF]Y9IƘS|ȕ2CIS\0eQXX\X޴w797ip+;2T4j/ ~{9oWV ~au e0Y!;isC[͵3t6+6>"'^;d[{ziS'FLS- H1:e)i5!ŽiF*AtC|4V4TD7 VV«F(+n7l6e&S_hn7,lإr&bLEJbpb:HbBnXgzsCSǛ-L9*iO¥2q`+? I)*rS[3]4aW>7ʙޱoS'@yѧ6zE:}zm75vF.$o}ǁM…=|xOͪE TT̰oђkGVk$7L7Bak ?4R.!XCW9}lF$KJ4^RJu,RJ\7?{DiIt$=FNOҿţOF %_@ P`pw4DYԮJKeT7%M$4j!JukݷSy,N;9~L#@LmSƢ/eJ3&wzh84TW<4S4hA*x}hn񻪷ȩebޠ[ Dx(iΠ4OD򌤧.OT~WF; ka ZE[@ @"P<4ӘҠMD嗇T8Bs-[Z,$,5Ptz&܃Z֣S+ Zyn>ű5Ɠb$`ZDZ !@x(iPa~ЂېO Һ}GWrB%Jj}58cw[à=*%C w;u7 euLl@ P<4Ӏ3hRRiKAt@-ާv=$nP2t#ւ~t(}\V*@ G %Ti DWu@)i*qfhB'j)"z)PϤsR+#M,U>kE6 @@JV;/TiHW~{`5 pk hI{޲7).MV!gC{C}U6]6Wͯ/MA#(z|3o ;5jyBfx(iRRS))۴̅IfO7U-uMuʋ)϶WV̫rG`U޹[|?m0m ֻl('|fáL:h%q LOngBiҰ% ;}Un(vߊnѰs!ʍlc ~9=* B⡤iJIC6Yܙ‘o:ebrS.Mժ-)hhc7knJuym+Um_[ҬeR2tq]YW߰c/yVICݐeCyLO )btHr2k>\\m箟zۇޜskOwf,2n+ADAzXq^F+U>4n&z;@\'pN 4md FJꨵ'g;Mdy@ۍiɐdk|2oKSuFءg?rLz(4`T_nm⡤9F5_3Lv}~7۸cTОQj%+')`&_,$zw߬2d(+p+\;֊LEVٯz'*4Jqӌɟu:ۀrU7S3Kr % { wذrıeW^搟<$AxT]6Wey3 m~ zWn^LAMju@{dm'BG7!sw=묳 #_+ ,݆TH A?;t`ҵ5 ŋՌ4Fh^鼬.ΫrOo C%-w瀌WWP߿?i)<&߼~H7%=u鶭oER?=sSQ<4R\RPБ#@߰9)֘ӵ[$-2*,K=jU=0)YUVx{aEf|si`,3t o,vjS։p#&UVDo_^T998IߩM)W<47toKϊH@CM”ԍJ͵D"m)<|4d%h(gs!PՇVV^U.cnR#ls>mhhTsˆR\̈&!%խ)ºoEoPߩ v0'?JYЦ1Rf唝9(g0(1ƶy%j\ks(ٷ)b<6-h6 <;)촛ȶ$iK{Snf -}@2N7-_{`Md*ĺ߹Bk~wBl SV$U yXlҴc/E--y U7Huh"sց@!-INB\tu c[Τ:x"\JJIM&SDFJFJꨵ'GA Hm'-QJoSXr0y^B *onZ{"zUQk)FS&oF3hrV m\Oi۳֯vtQtϪgv뚾Q]6W6+dpf-ML…I1t~g18'sg5b MFݞC0n_rk\4uIL>DS4&rT.RR#*އSfp?rEfR ]5Kz晴ܵ΢TGGh{CnߐCﲡJfnHp$ v&khHr%~%=ߘ\ocQJ)roI?Ws Wo<.cbvW#kRv {/W @:_ύph|6b<\'Rp(]K%͍4Ч] nVI~҃;rRr$:UUpVeT2̫,5{Ԝ| Zu&ږakr0Oh"LlKnM?d N;x3Qn $v)Nyxn$k]AD_b⡤9 2ON?!ebGFB%dk*üʊ0 }U[Hn|3ک'~zȵQ~eծu,3r~9=7҃]C^.쨔HaˊBJR@@@{RGeQH BRloE)yN WʐP869YDxB-adExl+ N3f YHgŖTT;\X鼬.ΫB<*c&?RRGQ4r_:c:T9dG<&KfEFpb(Ŗov-;pxi:]lZa#cu[FuWK5fHqݯ5>JY",yԜz`Bh:m9L{a廢ZYfF8Cox__oMM/MLB{45N`ݧ~"~/`2":AD4dXo<4{#?=Mv&hk5f}ܭoҤ_aճyWbW(j[,DlSx(iIy-VsK͵VV6ROḷ,}oMDFȕgFl`RRKvyfts@wjg.9jLY %y#MD@LVx"L#f\Q1wgyDN8lG|mcnH?}:q7+!!cJUJ+o{6ܐ*$gOI'&Eȅs{dszz .T]KlIngmWě\7כ"v%-m(YtY ō@SRVT̪M̙_<>>*LJz6Qω(R)ǺHK5TH .i! :wK'(/%M6A@W^U%]pˆ* EKijjC7@`݄)0n() ޖ4S@ Eն ]ڡbن@{y Unl% AoP*nDվwB{RJ`;o_]A&?44,<@ PR }Vn]5Kj)A,Tt5sdK/x]6W)D3 R>C)áYr(4?S/m'CQ:(:Ӯf֍Ϊ)[Sf֬m!l$S RАQ@J3:/H@ر}!mB)SĤS8b30ךwH՛! Qܱ[Ȓ:%"A貱x`5٨u~,|2p)(F n)&UlEͭ9Wmc%9NQ)"[BPztN.a%!wwV⵭ X$a4K>:6GTrOYGR}DJ3 Uo:-0Zn6e[t{ 9T6-?jamClSx(W+ 3'٭l"|WFQԸC,gpn Ju=JZ mp! o+Z@B!7XyE g~뙭ݐ>gqK3Lԭyzh*=p ZUFr)¡&(dGlLC-ꕕX e #}(@C{gkJ}QyUfڕ] j/4NկѪ'/p=RW: vj3!;@ lINnʯPs-(lsIH3;c  H PR͖TJU1ΐsDx|Ӓh]KǨdAr^H@ @%M^fx*טQ׉1Ӆ e$OTUSIT8PSKu@jK:5U66t y@ @III7䔉?B<%X?ͳP*Z[Ւ tox<;  @ 4at]qoDwprUtxa@@ 4A(iI}  @ _Ӗ4`Vܥi!fNniwp^5K/ &|?Kp<'D SF4-i@F^gW_{vq>Vo.vQh ˢwP^oCڃLʐSXiG*!A> !ȉI) >d|دY)~ 7! $Ӄk{j{[X⤛l>jN9y\">Yl!U% P"r`w,qd\]R{w 2'95too_ɻl(okMI Κ2,K2بv?RivSj(loӸI@SnᕣyȨ(eBbf!tkN9#Ț1?ǽcج +ա/YБ~k@٪'5DBbd t U{ԜJdh_3[2X ~nޝ\mΡF&.6׷m18#N`e8DDY'_HCqW{},T޺&j~JgP`toK4=S:I|j!phcU`h@&vҤMge0ʆm$OoW8EO1ZD-I*}Ƥ]A$mw+)܋MM̶9K[b<2Yuę}It[ϺԛAɬ#J@J6DR=YK jYMQ)3&!O|b֨]%CW+JQ%WY_@fOi,fR3U)B4$+#"Jzi!!aU ȭpeOng/WtK9[DgD7q8LVӔpNssmJla}M*,1 55s-_JͪAo_)֜9+mIl4"mr "œ\Uٔ"jS!L&.$5ut 1SRhTiD|vs<7"&1ÉranRLm+UM{Hu.AEf/1V1gYQsi)[tyF ' tfv/|fMsD2LN09)x)5k5{?2:8#MRJV)}*ҩi{HD ®|nsW/9?|7?A>N{ѧ6z襳tlblIi[=YnYgNW$ j%%Ԓ R/ȷc`K|󑵛.^c ɧ Q=5yfk֌&}[s@Z=|xOͪE TT̰5hɵRkxԥtI?6Q HV˦k6%%'KI)?XnủҒWIY{]fCOaHI5)wWmIQuH-߈J;Rkrai}6E=ӹ*Ū#*ݷ޲P]V&f)'j2R<׀ʼnޕr '/LWsqDQ 44f–T8 @n51Q6%/wn>\~ RMC)jmZ aC 9'mSh9@ \W2۳՜~ "JA0T%b.:SrjJQ٨k1f.rud1ru6|,Z/_{`Mwc]k\!g5# SEh @% 0OdKŖ4@Ț)`K)$Q@ؒ=Qu9N"g z@Fea%#th@ |#J*d@  @F7TD@UɻmMy U ONM,9(v6r:さa]Rvwӊ"0(i1F @6D;ٯ_ϮgH`xvr D ˆP TFA#쫒p8-G2J3Ergt}_)n@I{~1p r`w,q⚻ W}oرֲtC Xz U0tHWhsоم{(94V$7Xa*yB阶a()-кaPV@*֭jUVk׫,m#QszcT-2=$XzUDxP.k{]%@@E`굺Ԋ@+X$"Q:Ci,SUHGj=ݴտ 1]EUG Rz5`dOQwu% %U98&aګb# T%M56Q}-yt#Β{Ӿ=j[: \GIcOj5ACiٸ$/ne`wL&x@`Tȹi5d*XU!^ }עѳCBDaKbP!®|n3^|~7o~[n?uⰭˏ<[otη~1s@{CUU.aCeђkG+; ]b`K P.Y7@08sXytD.),RJ ?%y3'JKs_E\zF֞gldR˜~Z%gi `H@pˆȝ r=Mά'?2T%>&q>K=5? ,#.֚{M&Skm]/`@I xA`z*A}޻e й/ eCyU7׶4wwv R~6 ϴjκ~S`u͡/fp%jXhl!J-dQ/p_e7\YhHZ%KUu~&R7EL<ʫ,9W} 8ԱuȒ5X_qVKꔈo  y@I3)j8t`[5I  A͌J_ٸշ:8D:=jU+}6o3 wY.Mlvk6׷mO C$I*Hg$:%hX:5ąR}DJ3 Ui֛ÉZ܄FRYt@eA)}կM@{p5; LT#Q|PEtN=~LtHcLT:Ip粘JDVޢR.Rzxtp *iYm`{jY{Ԝ"lɫOf|IBַuv r qbp?r7#%e9y Jܷ\-/C}öy&oŽ} c _礱'벹^tnee?wUD$iW(@KEVEJ1՚ED--fUբ **f]Zcηgn9^&jjŇ Z# H 3MȲ%%ؠH)crh%ѹw.y#kϳli62 )iJB@ C4sX& @%M 6@ 5 @(iJ@ @%  @ %@IS @ 2(iDM@ )!Jl(R@@PbC{NFrʤjwp^5K$׼jRKrhJ=E! @A JZӄN8rn{vn#Yq6tGD4hEa*h_gà/m=ictټẤLb%m)smo.u B(i&])ZVnt%iw'(kͩ:wһl(]k[{;;utvcOtZ wDDYsam /I%M 2 0ty]ҝ';JBVhtղWYQsf#3r@%-IC C҇]F84:vݑ`${BWٸշ*Kӣ]vc{[>:*T+BU^c@-E;X!)1=JFY).7a/ (*}Ne 5p)t5#6w>@ |н⚿\Ϟ}MR J+&E$w.{So T?Yߋ`1 *Su1BDrE}$s6zvj*iI v]s 38kaA8Q@()'uSeUu@y݉j4f^ἚtfUI @PҐN 5u,vB"z$r8h|T[ֶ["uz5`*:տޖjK8|.!x} @A"JZӆNr&J2ݵ`Z\s׎p߶o=dHi|4muFMݬiJ4wG^-qYS.{S)E"4 L3Z2l)YOm@Dؕ͸bՋO|NȣOmKg|뷟z {CUU.a%KVwէ>sM jjjB+t   gN+/#/)ѾKJ_9, Ξ9QZ;*zқ7<8̆f#ÐN! @ \k> @Κ̜5b3f1mifM/+&H8<JIG@ .h?}~(9JG?zO\|gt#i F&FJ9Fo@ ~Nc f̟[>?̟h^9?X8w: NWϛ=}NŴ#/qJz4S @PMX4F1'#tLDNyFd8y=q)iL= @ 0>E#8DM0:.ND>+!Z؅KaB  D'''X\>3DUcqMziS)i/  (iO!P0=̭C;~h3ytey**SE6&dc^g3#ջl7RgàoOuXi!I&?)T`3EiЯHKaݾ*{n8g]Fmx~ugrfgcb@ bs(- Eض}Di(#_~0AFK4s+7yW+`N罫QA[7twP^ǻ+k[{;% #F@L}J438ԗo<^_߮}qNc]F)ȺD~+sdtF@0-Z :S +55u7QUƳ.K b,ޯX}Խ-)F?sBC `חoJ(dYD`mLFG#jTU8U *]s\i"%;X]W6l67c\f?Xwr~OܥT:I|t2ƯzSPM2z4%x_ܷT$]6/'(W|43,]_G<(0bOXː };UUw::Y{$9_QN(@:2b dO.o&j 1=Թޖj2s|nܤ^NmdTٹ)Bgbsi=s+N|gAI}l@ {:~Qް$k#{PJiOjL0vΥ*pIYg+}:IlN3Z7*Ls+xoۮkKG i6f~.7R N3feYH{[R!PLRnn|9I4-n7>0ks() ܬ˴PRAI3675=~R|s~%Wfs5eyPRR‰Œ9 )F7OVH!B7zL?Ku;ԗS=nn&JGT%  fꃻuC{[NMbz5aLZwԶ%Hѳ,^sʣ?-6׊k35 h-ݶ6kMg;iEmY2{Tw4JY%0'>z[Ȃ"3x!!!s6IY칑 C#Fj !3?T-9j_c3M\OXt"C$b8#69?A([o#f\1s|'nS'r?SomY:gvC^Fyw{jVU-Zb%KVwէ>sMJr-4y`+Luv9lyo 摩&3-X~;?/EJMzNKICt岲k^[ݾCk4{Ko0z CJZDkC@ PpHc&V\锸h ~˯smsnxl3Ϣgs8}Xs(i - NhΒaF*GS~5W=)qUŝz}_%~_t8>ȡͻǨ/%λ"OX@7bN{PtPE"2%m{JJS̛85R@ ǎ˧1@7(hLI׎8Ǣ)+ *(…_2bGoyyՕӆ^zecLݼ@S YeTe1;,=uV]QBv;~Ϣ,YdΚ(7ݜRtCC JPtI6>?ALT+x12ŏRܿx)2~*zl,-*=`<}zlȜo,5Td%MMw‰tqpoJU-NH>J|TXD'㓑hZD(%*E ,N_eq[!ģcెA$m~*sj^&O _U)%s,44J8 JM0:.N~pY)qKÑT\K۝ GΗXQ6Y}lրD$-JM J TQg"кc{ю @8>϶=UJ/nx 5=mb 4yGQ?c;?]}>4eb{HDY$-J?Grr2\]J ;g1 O,xDJJqA@HIt5Gzy % I.\SGJ"l͙(yd!7Ld4:%\ {v{'~kns"=k2Z@+o;>)9/~sӁbø2횾hz%4ΣGFr{zT. \ӗ嚟OV XZBFe0?x_ε4)@)3=,G{4hGf1{# @R`D|Zyz $V7(i^žti¼9zk4nW *N(zA$RBPĖ)Ӆ :77$OH{߁NL  Q`/j#X[iuYᶘspZnT[:; \_bmGz}) J-G#tHղR~4o˦Eq\|fqjQAn{T" Pp\Jvh'D#IMGd2Y4KF"@q[(mvҭЍJi2_ P!őqr<­_^Foo651uNK ;klI=t5(i6PEEq10 @"njy4/ 4/P#@MLwrNJ#"6GnQ.ckTq=b\ Oy Ҕ߼~Bh|RtbL%:htbxItxʫS(r}PS ls|~*OeQ=`bi8+'3{*K5Dؕ͸bՋO|N{ѧ6z襳tlltu "u~;SjGբ%KVwէ>ßyH'}XJ`ʢ@?97EJ/LM|5iʧ͜;*zқ7<8̆f#à頊E eJz?F/\4jT(D:򲒅oxҒtrl<6xbo/  PD\>+р>xttY!4PLFI'k  @4.e (iz@+PcELRVS, @n^-)Ǖ@ ! ߼a64@I5@ |7n3f`> ))@yy̙3WUs̞V^)i : Ŋ@ىK#'X(+--V>bڴRPbh   )K7TtD"h OÚ`K@ _HI] (iE@ H5@ g@I<h @k @ y<@ ()@ @ޔy 'hG@ 0Hҷ_7Q@x YEB1R^{gyT@ jj>t%8̆f#v=/@ WszIIaQ=Q3@ !ؒdOX@ yFAqO?̟h^9?X8w: NWϛ=}NŴ#/qJz6㔔7~.9@ OǢc,E~L$?t1e,"o%%[ @oK$ |@ 㓱X42ALTKDdLXEX R.\ `Jc*@1<>&egq:pH\%r1Uj X[z}+%6<RUZ:""u#ձJٔ՚`@2%%ѓNېml{ƍ+Q4P&$i-D|@ 0*D6Ovm[,1ir;4/z5:꾣~7ھ$^Ҏp  ?}`j@ڇƝKڅ$ @uG?VI඄ww覄~|K?'[R;[N$~ @>8qԽ{\pN8vc;vHϕ$N|K|LBd_1!@F'W|YW7n4$|y۴W _m˖P~3~KRO?r_/ @#J@6tDܠ{y$[wzŒfJ|@ !!ajjʖfCY;>IT3׍y`MmJHұ-T *$騶vC !$" @`T IG  $4% @JI:- @`l IǦ) @UHQm9 @cCI:6MIE @@ja7 @J6Ʀ6T @` R0B.U @ HҖ̙չZ@  @$-=27Rg/6*Jnf7 @n}GgV1s%C $%ꍺSH+)05NJWD^\t+2Έ}knN&ڣΈ5n.TO[۳TB/+8M bNH~0 a"IZXO(ⴺ'RsZTt2¾-r1W6Հ{qIe]$m1QOksaTiCR۪WXN12fy >HҨjW֗5!Zuy]Nuelٔ?ldKԟ7WTc9ɩWX^xGYqbf(56B !%I*VIYUl Y.@ 'I*DoiOϧrɗB.eD]E0+KKuWx|ך-gk=h(  ~HR5{ztF-?1eHKD?W* D+$l)7k$ )wQ(M]5#DtԺCL @蝀i<W~ϽcrR~7yJTo|t{7e" n!Q0qƛ\ڧ- @3׮~|GJ?yAQ>͚ѓ%oo[vnWw{sҳ6U@hNsq{o{m(@ 0F@zcjHMKFc( 8ֵCë=̇ @ @x@wR;@ 0#H@ƛtۗA  $FD@ 0ݾ $4&B &$v @` IG0 7$x/ @L4 I:̍m @`" I'$ @fHanl @AI:L%!@0@s` @H҉hf* @t[ @D@ND3SI@ 0:@&t"JB fau':p1uj)vܘK)IZ)frvAԶ>}2l!@@;#%IUf+ٍZc= @؞J5]Nm:M/vdɔM. @c}񒊲43F\ @` CV^ɥʚ;sbCTJEZ>S̓:T2֜ɕJ׹9LWܜoTvy#'_TBw^ xTͲ]3MPhk]WhY#1 !IZY+*ZȮoTEt1{P7VEm򰱹.oՋn.Fܔn*Wꂤ-KTayǍ+yeT궲mm_۬-+LvhD/̳R̍ꌯ;$ riv^% 8>HvDDyZMP91}]fIlȟU6}2>R"fVc˞R{U}Q+39E嶿+/sIE׋vJFigΥԯ&Êmgaz .j_ub@ @$iz>_\1_Z-fE/{F)]M8S^сzq]mM:Uwe 0A 04 I&Q~2s.n5sirs9qfcv4giOES9?JAŅuwm?ptIYλ^*~d6{ґve&,gi+z=jύ ~HRk^̌t|F/ӋgS&5tdsGEhCUIHSYM(IPJF*ߒwyU8#[0I`ysE` 7pQ0 eLˊSA@ 8L=t\r~?POyɝJt)uS/ѹn[(~3*31fx]5½cC 8]}։{Bf;y!wvzعG_{=W~Gi]7n|fTY_ތ2A[?4aM @%7-ʾ_4zS7E:$ @`d TjkQ؈_ᷰ& 9 @G0PI:z L< SSSJ9NfÔP;QoHPSJk0LY2 I -B P @#%I=h B  JR{{u T0l@ IR9Us}y;=p֨h.U-g[6r(Sv6$M @`X $PDpsMҴ}7b @3C$Imv6lo?k5>~>pe?KZJ7CL*ڔt @D"Ij;5y#S6__h]Սɴ!=ie]gzm.8WXH։YT &0D4-#*^zIKjՐJAՍUԠ!b=DٖSwhjomDj@ КH8=/!7eQ)뽕W.]S`K9 @(>-U> 3KS-5}SVG Z]YZ_kK_ @L`7y M'g=T_Fr4Ѩ w^F5(NTnǨ;#@T7n1V8y=U.,Np @C$I%LھiڮSrvR[6?pAɡ= XxUi^EAs L"!:C L\$_S8)I@0PFP`ZAV0 S}a6jѐ:vUtm^ $ @&tZB #$& @ 0i  qj 8G]`P I3 @IMIn=`s R3Maf (C1kԤYϙǶӄI[O~vH^  kvLjo߹^R1TO5TApbl%ʜiagMVs4rr6F(Ҡ|L coIJ3 i-3ea6C]_ο:*,3,'u9[s, 3೿y|b})Q(݁ H^* oU9 =]Rj9].//RK6lX*W38Fj%%1^94WRv[諺]ϔz8ARTΫ|hʣRX]t//jtB9tY.,^Q_CuiUke)Z))K]h GdjyW(X㵁GZQ6?pQeOjՕUca1`ײ O/ݿWDF݉m}T%>*p4= @1a&6Dt61[%6A7wLT̈́(0 wtOyY[k݆'%)cԫel3S'Z} ¨=s?Ru}nI2umM *s{C~zaӳ6ԊkַT05,tp-MIYՕs)%Ñ_h+q%8.BXb(#2sa3Ŭ ",f<,J'Py%:gS[M׈L%jȽ\U^Ò f*T3IJP#Ok5}S!DFQ6K=S"i4d$RTFuEt6pCY97/.V՟TwBlZ`ݗI9W0NϞ.gQ:ЦlW0mN!FZڣxݣVnqp]y}ݴy</}W;P :MIDATdq(#p름R3 h]J)_G9 f(ZR_MFF'$X_P/;n/jJ~Ev`,L`6m•t]Z5a@+b`^%Ц< WLM9(^R[@'.\M1Ѿal6|J*?oIfXXZ)+uD|R›[ckeaX2~},)v "8z0f8L[#?X}>e$S:c0 @ ?kΖN&Iݯr^ԣÕܚL iUW@͕Z>N*<njos"pmm^.řZPڏ|^f.YpV:Ŋ'u}ϭ|uQ k|tU3nrb?I8v }QF՟Og()8X|ך"}='fXIR.8WP}-^1khXO<=O R(wǗRr|x΢.K"7b>/@Ij0̑9d(e;TeW(7g͖s*@OL` mnE5xZ1NVSYk0Cܨ"h7 VBA՜8=zmqP^ EWmJjƙB+Ű(@%5?>DN}z#We1o5#ӧ= P秲yc@яy"2%6Tki}Mo9)*ߐ[va[Od;l,k9!HqɰUnLsqW[VzSک򡵒V;GDUC^-5})Ct]Ãl oD}RB&ص#|*u_D]WJlݟOqd#ma%uxwæa?i<_ZcwvzعG_{=W~GJa)ӜnܼbTo껧@CK7 4zj{)M_jK͡Ko(]ў]G!@jh[w#R{$ ' K!#Yyφv365X:ql kMpkewxݝ tEoNx%t @WH^  @GH @W#%I:DW$aI6 '0Rt[ B $IWS-]MtjC3vgݯsŘJ\@ P}1Y90tY-dj9?$:`Rw@Ƅ@_$bS]Y5Ӌ J59Z };[9Y9H$'(!Ie-/,g7<"z&fhY4Z3J܌# | (ag쁌hN I'/IZyE'tϦrT|̕B(Fvg#gk76_V6 F&S.o}=)-g|Qat:DՕs©i;Iƍꌧ Qk%Tk1ܱ" +`cgvs&ODWD @>I#\|Mf\G2xR /] F͗ɧ:U"Eg_K+kޕ+KXmScjWyCԔrfNfÔP;QoH0juca2;Iy{D=8ԄD}lmtģZS98RGc߮?.pUxz>_&8,,+>CkM.Œ(mrfZݣ,C sf%}2Ѣ 5F#w9 swgrVL@;eUXѩʊhC?CQ*GzdzI#ʊ!yFV{MB7Ö_S< @#E4~CG?+^?^*crR~7yJT͗Oy+3EZV5 @#EՏO[?u➃a֍_)fMT}NM j2/ww~^}gmKќu}g{I:ǵA@ `"dIXޗVײL!@@< Iu}ײbA I0d @ 0(HA@ HR @)Ivlz4A֤x@ 0FJ$PC['[A{5|V @hKo92:(*7l28n[LՉmӋ70:=̪äD @$Ijix/{j@ 0!I+Re͝){y*W|yPݣ k{&WҎM wƧ+։9e[ʹ](5&`aw>}^Y~nwڍްuY (a% @$IUѦ2\ͅU2* c72]l84m|J\ /.T[ ;n\5z] In+닞%*ݲdq&ӳg=?`eREer͓1| ŪRԅ=/ɺ*R<ፆ5.JJ@7:^N`** aJo6F0_W$i; DyZMU9(v [?.ܦgSF⴨qgJ"%E6..-Uq_tں/j-7?K'2RuNJE~JSToue5Uup.lt*gZEr,CPػꥸ& @AJKԬ#n %rףR𝧻]!"K…@+"]]vʾ* q%Ij4ɥ?wYK떛seo9qƸYSQTϠRhJ_3º;iNl\}Q!3N9$Fe*%Cof#uC[pfbCD @`dCZs8e";\d#5j~4^q#~k8YbOUjS!Ί}WǮTmڣ&X@G5틗TpdFQ=6T-.r 7=+(}z;QMr&QEˣw;+q ]&#>+srҗUM9lL3I,Il.)<4-öeu +HRG@6y#oO'SG䏧~:<־/J9{jɐcT_W;-T "m=xA1%T7eWuecʋ9cTlv{b-öe.&@n}t\r@)7(j)vܘE.hWh;BE| l:nȲ,ZEǎmc󃩞Jwt Zs+gPRP(xv]OueXXL/.i |fJRy՝-,y3E#+jF]~;0$0Cnl"du7Wl̥DOjYn1F2ԙjٓnb"B@b(IaRI̩A4Q+KboN`ۊȦ;ԧ[2~"˲~Z2T:ˎ*#5cԂ _PwXQ62ʻlֽ+dh>o+9F~5_l4lVviRoYfKܶ4RRu%n{cE*)_T^ɥ.ʓų)+Οq\3=aeufԳ-=-F.{=;lK.zuU 3"Hwpa2/5 WG\VV'0@Ij]V?+1g#~DSOr9]ʚF2\(^r⅖JÇ:CjOKM+*}^)zR:VU'|CuipUF;5#ߊ2A%?<]064zf,qj2wNVӖ봲pucFUU7fX6ŽDۮ'%^,%!|Nٞcm0AuXܜ'Mnujrꮲ: KHwMkL*E+T12HR520̮D5=OF*=i5(6]@,P5[ycչ.%35p?/wW M49$<4O>R/TDk(l}NOw9MM].e-] Ot`(@KAreo,E)?OR5C9qf~Oϧr~z(eb\V}$u8`Oo4gy'ouΎ1U;wyko~g?/=h",Ess׍ }_{jcB6(O, @=IV8k{3goIMlmwI!@I-D+n8XAH@ L`X$)-@ 0T  $鰴v@ %$ i.?z8 {Gb@@NPcǪjCbC$@F})Ca6L =i_7)kN~IRM[Y(Ķ Rd]#$ݿIɁ>pT7eN;Yl:ۆ?n-# @E/TlmFKjכ5hr(W7Ecz:_U-HL띵=<߹|7VmU{܁'~?u9B6u*?q܆KԺ?+r3'1DwC,hgT^HR75PGjJFIsʈ'fS.jJETc:q&?eOr6na|qM(4J~zH6ʪrjO;FWkO hP26 @svg=r1(tRP{3ZZ؎(%Ti^YW/Rk6d@;۾,'CI @@$m ^jd.d1 R8&tJu 2G }[^fcjV:rɞZX_[Z_8e#TWzw鵬QE,'.A-˙iڪ {e[  4vꋗT~e7T<6)ꉵJBQB2{R"#wJrq->yk/,iX.LjgV*,5}j( |=TƦ/ zZ7eU0SFZMT4ވ֎  ?xCu_wN?~}ɝJt)uS^~s?=m`JR5 0A]}['9hfݨK5Ӭoީ)gg&NFݯyܫoMDX47'K:A ղ279锤@ `@&6ղ*\`X##@@&֒ڒphU@% 0.Ғ ,$6C q!$ @?CZY/k%z " +%7f՞HҐSy~zD\G:kb6+ @KI:mT3*ԶOOlӨT 0&%I}cʉI+$baȩVʱEyN}jj/$9R'Jr'K+(suTBeQT8 $N/TԞuDs-9~wˉB\f7-Ԗ:a  L~H+}r}Y9yTj`^֜ʍX2wݱG3JjD\I;]2d,TbVO/M^ri5uvq}c;) &^RX@K"Ϥ/9력m+SS@$n!52F6Vgl١FexX.gddU62~z2yky,iͤt,thyZ&PVF>`SUEEƋ1aDkZmz)`ڂ35kfat{E @@RL=t'~9 >&w*wәMG:)F=JanLV[8jm 0]}~tуP9MT|CFWG;ra~;G_{=W~G i]7n\1>zO틗tN*_]YˍX^o6? @5$ib=S-k-L @`L IkXmQ3~ dd@SH1mX@"PiO$KJrYꆚiʣ7f$5?.@ "!ajjʖfCY;A7N5Yd TGRKJ׃ @"0ի7~q/nK[ܾ#a-}H)XY L͍o|Pc}➧8;}  ѿca}I?tؓ/i|jĄ @@@%m?nlmmyѵCGo<2}U4/!I';QG@ rfNM9geN퓼a{j]uϽbڧ%)4i @$$M&YA tCI 5@ $HI L @j @H4Ad@ $i7H@ $i0  @Hn @ AHa @@7P#  @@ $+@ n IF@ 0!=vU8zuG%8qԽ{\! 'TO8~=w9e'̙5(:} *qnڙĆ @ ;;;FVLSvBm[vj0}d{+yꗗ$\\Ho4Χj=x!W9O2eY7 ˊkSx}"d@ 8vNܩ5$uZζ!y iƔRv|K"IEͬ.Ɩ+7 @CD@;; *SBްOzW p;JƼ!I+Z Rw:#9j;#xPQS8knů^wc#4u&W*fªniea87 "Xw\tS2m>Ct#hFH*T.O4@ 5ܟUXOUzqqZe9Pʃ*My7Qn463¦p/.@}I[dS\X-Y77݌Ė`_媸ZN/zKb҈zU > A(Ǹ I|􎞎$*PPjc\ $K@ytd6{=S FŦ9o|>Вj&U4m۩ $ @@yo@lU)_RQjmc>Ty5ӻK[Dni%E][-*#G}Z:|zTd; JG3ȷ!y{%*<ӋgS&k櫣~#j]/{yme'^QEg^FQ _ J>: ZVT^TJN]=Hz_k~s/|z1S)|ȿ_~$$X) LfKR٣J6]RP{;9wp-cj@ CA J'/I-YN%@%hlm*UZw @@R,ֽ6"M?Ϣ+} @fڭ>gۂJʓL2y*X {x՞Ge[=4cD @I-YP)RGYPh7J~zW:3MvħKI @ BYY.Bumll 6$ dѨk4  @I^*{.哗&gђ`7 2|˛r(G @H\f"d=V+uTi6VU Ld{^o}1;??+zۘ2  @Iդ>[<%1=6UM/*R{IwRkBM @ ^VHm'S֎"ona5v պ @CtVӣjk%'4m=YavVpvɲtg-o @$RYw,yIA[8i@ ")AuV}Sw!mjSh  @ )FZu-1;M$uϯϸo:Zvo/sEjbć @#͒ [[ w$lI4vmZm;v:x @ Y#?{GóZ[Hk_{رN  L8Qf:r_wN?~7>&w*wәM {鯾'7n\vӎ썿ȑuWsp'GQ}@ 1E/;.RK ܫoMi]7n\1>q㳄%i/F @`$3T @wn.9@ L /o @ Y%/7Qvd 7@ %^B{;#" @h/I- @ DIJ @c9@ 0ʿ/ePE@ '޷@ '$@!@@}` @pH T =$޷@#M?xsx@{LGq+P< 0 sԫtϛ Q'`@=@ !qA@o#5 0 $w@=@ I'0RR0Vd:Hҡk F_ueB% U~Mה;j5nbA $U&@=A/iٰr1۪K%G3^"Iԡִ$5utk #P٬t_as>O8d>57QW bvyO$/:uiMl6^E@ yH䙒# 0Qvj;[\5.X.e#b_frMΕ]8@lѣT<1 $ II^Á~&'SD[U2l l  '^k I:UHpŽ:UyzX'G+BcH t *A$聢&i&*7vG Kw-O/K}*ET<o" P ww! @؁;^7 َtWJ574_>US955s[vvɕ 趛$BM4~CG=+n_hT@~yRf\:vniGY@ Qèw^9Gvu}g 5(@{ʨ{ I}h\R{>  |cR@`6EAN A=#) @QA{awC@}Ǡ@ tthM!w@CB l(sI0 @&\Rz @pV9dk=[wΡ3!@ q& 埩p3Gxwρ[[8yv |,ID9AdrFM:f"gK=E= %FL,$WCʒ%$cH2$<Ʃ.B#$%?D3I⣗HU c+gO4u+g!HU13<$5.5<%K ȗf"_mvٔd7$K@0=!|AtrHӗH'Im}rQ2naƗIz@ tKqsIENDB`}DyK _Ref113209857}DyK _Ref112691252}DyK _Ref112528393}DyK _Ref119837232}DyK _Ref112430458}DyK _Ref112691779}DyK _Ref113727585}DyK _Ref120514319}DyK _Ref112691852}DyK _Ref112528393}DyK _Ref112528393}DyK _Ref112692038}DyK _Ref112691252 Dd'@>  # A " "]  @&W@Nav9 5@=1 @&W@NavpP]5~bx[{lU> -,M_nA_sxnC"xW~HqM1ʟ;f!m/}Ձ] ̺lpo! QEjDԡbX. ~1Yt׊D)a!|X(CXΓN^j_e<;aYɨDX_Jsż"l--!^8y~Kq5~~6j5w:90~m!< +>m4"]_f9(e6!~ /iW@A+!m?\?oRG/C"mS`"s5\y:TG~>[q0[Nrz2eyK.ƵHݕ1k|$ZiFT:iMnhc? aV_EqkՂڿZ^|> G[~(Cx?~"9uD CCօn `oJuzH2dm]cv l "I*BS]I~w|oeg׏7r1l(ǰ[O$v~,IqMkB^C!հR'^#XOڸLN;K=z\E6Bh:l zZ ΄Hs4cS 7FZ=4?7< oh~;/%Vx;!UPeKP۴~R9,jBC"6͸]_؜iͪ]n6Do^z SMm7zr\7ݬqN2nuq;θ x &kS}θ}ᖧ;dބt=D;EFSOk.2MӅکK[Oz݉tJԟ^!ߟ؎Og.bs۟V &qu՗Kg ~,>X.q=QF#7D?!ʥ6\^dtBccV;㷿!sMoo/a-)*)6^Tj2۷[rq6TLOZuf`ր_oj(g5֤nWUjRi=z{1zzYYczrC_>}ŸH~#7Ԧpc>p1Q}!*͸ <~kQ+dZ4Tpv*Z-ϴQ.|ja%-{LW̴c&E>\ևpY.e}>\ևpY.e}F\>]֧tY.5*uvxԇ[~@&>`˽ ^YOd}҇)313GsfGf^[43Q9g և֧m8Z7sz>ofp>p#q%#7<rr|I2ϱS8="E}DyK _Ref112598615}DyK _Ref112692526}DyK _Ref112692570}DyK _Ref112431309}DyK _Ref112431309}DyK _Ref112691252}DyK _Ref112692798FDda'">  # A " ""w{&Bs A5@="w{&BslIaǜTVx}pϞM4(vA XVo H3 MPڦ !1mIPֱo? `VZ:@:N<9fﹹ{{ sؽ=YKBM q`\ %/"CF7dLPD Ac"Xh}YW++P coUEU5O|G"X&ֈL}-bA} r,Kϱ5Ы[2as83"y1(l\̌glc̳iM}o{x\/IR)cyIZ0lgQ>fQZVX%zi<r_x:t~Y_h<1=K)8qͭqi͘g&c8^&728qyR 6<;i f<ۈ'jR4xZ84SMg_SMyƩ!XCh]4N iyƉj4.f4N c'jm4NiFy6kx0YO<u3"mT3d3sfjyΜ93K| < ٰVϭX{ Q*X^% ,+_9앋2J#p*Ch(9fl>tR}Ȳ^&C'i0~TlGKa9d/C&/YA`dppkIڡ. > v#;Bk50*⿓$coItqcy^࿙pROwC6fapR C`L $ښ.A2~gZ?L4?'i`[XٔFg!|aPkuib72ccX^$3^>x9Ι=/}U6ڭBv$?KN#k z\kޢs= wq,>˦{|up_y&hʂ]yv);Oqdɓ S~pO?^>8 gb.~al~8gO֪C_-`j{vڮ 8 &.į.حTK_dtYСO,NݶZIR>?SYU◲J.Nkq]Z4@yj>ЫԵt7Nҗq-kLC?/0]v~?wbUh B-ReUz!L,G5rz^~ixD˭w0=\H| 'tʫ1s_Sg iٚb-}-Z.b}NZ[urE'-y'TvO\+O\[ึh][tYǘijIs13uij1N5pmuĵEG_1[n1[>%h?\t>קcB> c9ɧ/O/J-P+E5ZiF-Dmh]FjH 0Bs'j]FjH0>ȳIs13uij1NyZó'TԐiam'jF>-tn1[n1On ڧcp}:קc@>Ott[- ?g ~x)KNz{ѷ)y%|ZZg}!\syfY8+af<9/ϻS.F<#g1٬YŒg=lg83SW<'Ksy'O>]/?[n1[n8tKc^k@|> 5!}><Ч3Z*Nq_}zV:HZKn|k%̢2ڨKL>;X :BH^c#ȳ1Ljgg 3ij1Th;jNx26ItiM>NcYA> |:tTVjdJeVllQ#cmʧuF[n1[n1ӯ[>\=Op}:F/1!}>yg¾sѐ&!/DkUB%ށ߸)lĨE(˰] ۨx'V ?Djoy*;컷ϳ##_9 _kG/96;2m4~ [pmAgAFR#cs sX%ρo?Y/z#8+a+ ~ r\)[3֫8np ۫ {DUǞ#[L `i`ECa8),抛@nI#x..|]28FvY?/c pKVrvne=e73\m)neGv)dv~+%?R ?p`cl]f B\!]<pJ$UzR5T.JE Ae!d3-Qτl*Nf(7X{lI=~a~<챙pRO?wC\ۤ=WO5We zC3)۟Lj&7yŋļI~2΀o!\cwݖ0b~5?Cwa̯c|1od|/b?OE {Zj^1w}=?O30/?4oc~=ļ+b~egywSqk* )z}Elؼ3j'OfLCc's]ck ^ف흧᳠6P>\ߗm)Xmx'ry7|T:g.|ˈ'rDN 5!}ω1ȟy )C͡TωyNdyN$Dp~bT理ܶ[IR?SYU◲J.Nkq]Z$o#'O~T}t+3sOwْ/ϯ|dtp 9":<%M#myvR}?FrK7?o9IV?bt-FbtŨ[ep?\Fp._791/=bǗ58JfD]}DyK _Ref112431309}DyK _Ref112693089}DyK _Ref112691252}DyK _Ref112693320}DyK _Ref112693398}DyK _Ref112528393}DyK _Ref112694452}DyK _Ref112654392}DyK _Ref112694808}DyK _Ref113020396}DyK _Ref112431309}DyK _Ref112431309DdD%p">  # A " "BY|rpM`h c5@=Y|rpM`ho\lUx\ pUݛ( "тRTE~VUb@`EkUE[m)?2*E(ZEjJTDE#(bǟV߹{彗d ̜{{ٳ{b:`?$ڞo*_.Ĩ!B5R)yHB8ߢ$1GOKk9_]:ȩ:eu 54M\>O r=Zws0Z$<}~O9ֽ["Xת1?%ӂz1PP}X?G$3&r!tvJb(֡+fZɈC j}4i[;)GKrʺ5tʼmp=0)[unrl`}൥KDڈ,G@ŧ;r< ~JLq}RGfK۵m"4kLXoLx. "̿^N~JsGbykLTwXY6Vǻ"Ž%!ϺGqa W&'倹)Nĸ7IMT<O6*z \tô V0$Aa !ɼJ{yu"0X9RjQh'zjw5[ޤ1*|{~MLSϲ=Rž:T=њCɎފC~2ݨyxG%ڻ˪݈/wh4ݺ7Zt?e|)$cy"*anOd4:R\Vui&5vt=~.5ݖKn>Y4*B> ʣ[ݾ4NT[UZt??2ݮ+^t+.|VSLE.~{XB^8pWf-ILJ<)`P |߃-CQɮUCif=qvߟw*`0."@ޛ7SdҸo/Z+;$YFen>.܊/R4]kϜr s!? _j/[3Ư/auкv\xb@R,3H5VVy與I^SN+#PQPjz}qpmh^'U>JZg @\ˉ@JZr^#qp~ѽꗅb3a|O͑[V^ VV Ik+)S_d7,]@x6ɞ#> x=$;AdxG)F[Tz{mm*WsOk ŃF^O9ߥ{et 2Ot+W+bOUi>}3sy0‘q&$Qotޟ ,e\#?_Ak\jAf*ʿ:#ڿKWGr1jWIW/GTo&6$OpH.P~1[(f$ U+h}o^U.3z" ԉՇ?wr֓!iyH'?'Zzk ?Jh/eMUVSp ~x _pq)Ui,t:a{p-MBA(n8VS#z(;]L[Q<&t;Xֳ&_C1ю ؞d(4&tKhVrGq/f7}Ƴ(m:hXzK>lΘ $}Ji:zf򤼬(x2~pmOKo/7 ?F9cuJ/@cmo636b%{Syc}ɏ}[Ev/њH9Lā9cL7W'k+MK3*N 癩NLl2wNKDa&9WDB}< 嬷4/'_I!~o21+!ɹAgD %DcAlCk4Nڇ~LC>!C'ɇ~|g54X$ІC ˇ>@z>RЏɖЅ0COɜ86sa1}3s'$rWu7+eX{ӔΕj={%8)eerSoVz/SbjOt Ќb=uyM$a>xWnm$)F01,sU,r¨PTG0/< 7E{5msl&$ O0NB(k8m#WolSZ z^0* ϗWX?'sd+@v<ʼn.~捏=^/p{ml>7;оSIS/Kuֺ^ 5tD16͹Γ&>DD_|bCN:eN4!cR|Btk&ϫB^̋j@ /U'UD\yhg/7FD]sؑjj`Wbp ж?M,?|Rȏ ]\WCq#xϻ)~yJ~_\~nAyJ%ݘG^n>$ p.=hx[j!8BQǙ!B?~Lw'dyѸf-ޚS^[2~ϭT#si>d\~ e1, ̑k+F9m]WWδ|:s\u2lΙYlphEk;:uԩ37[}֙槭c};qk7̙e.vnع֧>eq[S[֯tuth`e"8gv=fcGw i⑶j6>jtB[/Kmz!~jS3TsUzrmU[U- s5S;7h[ب)n-nC:}DyK _Ref112431309}DyK _Ref1127537597 DdS$**b  0A?" " }ljkd>M] 15@=U }ljkd>MyhZ)# x]}lEك|ZW> ʇ(@SPJ#" ASbh1"* " $I4FE '$*Q1uݼvy]w.{{3ݙ7XYcℎ{c1Mcogx6Xy7yƵ۳-v8Gzi%RG9 :!X)Roqɱ܎ }'뾧HE$8SztO' "Do NJRt}T% O\ l ݊$rg9|Lԃd>djĐSC~bN_{J =B߁htA6.օ.襤߻#!m.o9`c 1?Cv +}Nm9ɤyKu8&nc-dg.奟+ }X.âw{9{PH#ҤҏɺUZaX.r2[uY"ޢ|O4zAHL> vܮG_<*vn @ZBJ Y7I^O`;ìTpkSkx<r%)uqaɓ2%d'{2P}_tMMjTZcG}qQg'df:lnj.<&=ħ~ ~ ~ojaEՖ{O}JQ63*޻quGs5́kcB/B;G{7s~-2l<4F-'˅'˧}~`/-c2F ,A^6b/gk(Hh'^`/uCrmvrk1܎n[pk@eօW-.K^}5J$r>xԲˎ,1Vi!bY2enm=oŭU ,36nx+n[q+wtiM&*Q;FéFJ>m8^ʧ՝ʧ5=GO;ͧձ^qͧ-h>n^aN>.nAiu-4nͧ7|ZӸ4V7|0N>$V7|ZӸ+ִL~eʧ =w|Z]v˧ 7|ZO.ӪȔgc|c6Q4ǠxT$> Zy389}}3q*2| 2t^_Zl)u)^:ŨsNT)W{S4'NQ7O8:Ejua঳NnA)N4n-f~it)kbIg~]nMg_]Z.S?M mٲ#;#;Qtƾ OW1c﷢"c¬"cʘr9}xxyx^-Qı*6)[bIQ3ب=Ϥb3y0> Ӎڰ M G 6k4Zelra1ڋџS͟݋Lן ` ڛ4{to 8zUfGݽtq W*2N3ɨq/K}DyK _Ref112431309}DyK _Ref113014824}DyK _Ref1130144948 DdKL>  # A"" jC2J & 5@=z jC2J &ew$|+4?H x lUwb)EvG ƻHxXEMQD7*J.k# ! >GJLW !D(mШ1Qߝongν̽w[:|9sgw9o#؁#GRJ,OQgRU/@)R)u(2P?bEG}C U'`Q8pÆp2U Յ 3׶ ÏCR3akf.xy/R*[~-^o,9O+^ km紶gۮS\Cao˅^:e55;sn>m2YRW6i(2l?؏06^"vj;ẖi?>d?{H5bCծ>KOÖR5˂6b];9 *BяV깕\]cRɿ.5¶tWummV?k'?X[:5lAM]nES\vWkw՝'~x;A꼬#'lĬ[o{>:ɈfBM'58&m_qM<_s+]Vk;Zs[vq Hacc>aafuՏO?Mlfz,a},sz%Χ]6+|mD.~D9@;۴G6 LӦM jAr kv6-܇+,羉gdŷwbFT zNe7sNI(FYos\?9Fy|7xp_CfisI+ /yp"4_ג)ܷmhQ0ܯq?6m ""K?r;ׇ6/-bK(|_7׆W6Wqp]>p@ܷ Z/dr?{ moMQdrЃ|uy~pMO&~@O$n: taO>ߺ':ɛ+mP@>S&sW, pZU7zeB؏(y`)LFzۡLf6PfTsf0l~Wuty"i<;)yv.Ty}Qʌ͖y1ct2y;zn&Y9 >{*{s=4eF<cv.sEb.x]jn 8nB/ #j}Ѱe!{g?Xd曅VG?7C`۹IڹXWЃy~n|e/\|3Fo1?h,*a54oT曄"fao$|}A&a-|3sWW6W1%gc~9X̯*["fF B7}u =Ex2Nwr?<"Kbw<e~'X b+imJ<٧b񒿎,_%X|OO{96b?~X_uެ[h;x-W®#'́ŨQ#SN^7iuñ5)Zk?힄i6C١'ڠmshw бAо6h9 бmh5Yڏcv ڲ3@*RĊ|D~q3H7K .i{16WoHַ8~^2vc~ ?VOX gfhc cSz̮ 1nЖ:D;%-m(CHhCV mC;K%@VmC;O m5tl5 (w}w6>(Ca>y?ʒq ("GD9(ǣ0QGߐD9 rtNȜ9QNH C#{(g$vrH{zS qݛ/Tr^\P}DyK _Ref112431309}DyK _Ref113014953}DyK _Ref112431309}DyK _Ref112431309}DyK _Ref112431309}DyK _Ref112431309}DyK _Ref112753823g Dd1i>  # A""#jDN7 5@=#jDN7@gx; wx\klU>3}PJB[d1 %dy&XBAR V0<˫Q&R6>J(MS$hJFAAЈHEHUsn]nLtʝ;s=|`qnn[̘;\ C[e4@J$lU9W(hl 鳆+2#c  0F`<5{:VApUz1M׎(1eɥ6 B}Xi|E}cenƿn(?' tҗѯ8CU?0R,a\c c-)2Pk7K4 '-'~BF!^Po#ؿEMǛa֫42B*FXڴ[_a鹛r'>AN8XAN;0n:lFa5@!eb{O%":3=xcꛭ0|8%}} -e?&];>{ }7)~Gx}x!.m 9>}`,u.o๛7COf,tՏa,Lܣ˗3[ƗW/k3z|)ɵ%ɱ'_|)||YO\sY5ug%ӗi~r$<<}x q^ ~cß՗P%ۏZ>DM[k+%A۱cEx>n}yD$zz.d(55y-yQ̵^GzdD/9d=2tdDG:/r{\`֒µY;:y#Itduȗ/+HI-e$Ǟk;|aՑ# $:2̬ψ2IfO#j #Ax h~ol1òQog6v~`>qi]k!kfcF h7jkAƈ~3Cs1q|Ҝ> }~i¿#+.[yIEIyцQ<0EXֹk;1Q(EO($(ZVĬ|BkK|Ӿ={i|G]>ל/]|G_rsm//G|ᣐ`w"6m (BkK׾^L2B(a> QƋ8/Ë#R P>QԜM{"5D]̆}j-bpjtDlhrKh7z;VX,sso=斝c1(1S /]/\uL̄ʗKʔB(:z&= ʛ' v ʛǽ M̵+o&7AYKބj(bΚPxI-e"Ǟk;|n&(oByj/W}ۛ0k;|YS ʛ- 6-y>BĦY; \[$=1vxFy7o{*}ۛyQ̵^<_y7G lk vtZMy-=1vM=ʫ`ϫ Ε71Ph^@1}DyK _Ref112431309}DyK _Ref1127764983Dd:f>  # A""IUUKMj9} 5@=uIUUKMj9(F x<E CxZmlSU~\)_\dE9@uC0 v1$LÇ1cq~#4DĠ  @r6ɻs{=}a`bX nOPVl쀁QSs`ݯ\|KKyg c16B70:v=Gr,[}xYh0_oD;"Bo75) b}xi~V7nڬfn*ZG魣yT8d<Ta.ЬWOU6|qsp~%-ǣ>z ͊uF.*O<0 ʉs\C?]v*tR*؁~^&B 2gv ^rxUycE0&caZ<9\PGBk0:6+$wF؞Լ- +~ XiI;GqbyuB1G =kuORVz(ՆUX獸G')nQpUPg/&5GK{?Uq=q|3kcЭEK۰}0e.!5UQzaljB$x͟] R(}¼qN?uCs9)PxHf˶,={U zlȈA1>ܚx'ޓ!CyM7C+?ؕU~p3flCz[ nG>?Ȑ!fsĻX??H0kJGx'.`6-CNIMecS^CC O1B+1V^&P:˵}DyK _Ref112431309}DyK _Ref112777403WDdD>  # A""w Hb`%W 5@=w Hb`%WxFxhL8E gxZmlEٽ~JbZ s-4ƒE,ʇjE>"W (H#&DDDH@?4HACE䏤sN.ӲKf7ӛݙy}塄zGG9Dnc"D>֫>?>*z42CLhЖF+2 cPȆ!=R|u02U0OPe=4++=f΃<S@|)tLr%~rGo>s >Xmh½%5yv`gI A97%Z6?x`_)D=/5/0\̎ >:#OB۲u,=7@q/0'9b;tJR"/j(Ie(N-z6F jؒðE!*C ic8)~V~GÏB000W9g ּ[LV;JC{xH.-+=Kq+́+T7ƶ8 1H{1|݉mPa|-6m+zwWvN]s]eXe5P_ {4p=E 7 2y,E >ӫ?ǂkNJ6:+Y{YYg.y[k-#uOb%vD#|;P=O4jX7 ʎW#?;Wf%L=spBp;pâ3"h.sz ܜV}#7 b}11 1皕\'xr Tz];#'R1v~K7s}O}ZI5[;O$$ęr쉹Ù]듰䓠'wr}'(7~wI> |&s\k+O~$OBkK9cO̵mv}Ob$9$Osk;8p}֒5[;z2$OBkK9cO̵άS> k| }ƈAx2 bCV}DyK _Ref112431309}DyK _Ref112778115iDd Rwb  0A?""[YXvX3 a5@=[YXvX3`Fy!>UxZklU>3}JԢGHP0H(%[@Qp׸$kj#4&1fQ61-E`0Ɗ4xιvٝi.$wv޹of>1 nW<]؄bE o2J] xù )1eXbIJ#cv5LX~ Vͪ~|9]{:hٸ?67l;MPYE_2hlQ[V..*_<|Wy Tu0t*,Of ʟ6u9}7]UڮT,eL^;ֲnLlDXA\ӈJ;50g l]*M (sM}wҙX+0oJbc }'H0µ88Vًsގa[R|/O?(Wϻ≭ۚT|sE_c̑JbOXBZ x,:w<8nWfy6v_7a'Bexܨz\m|Ľݍkzv'ܧ+~݃5|U4z+ a򭀋͵NWthb+i Gq% faQyP'gaV X;Jwb/;PNޮ0a1c7]ps/wsʹlٸvQ}MkVs:f+pݻ&Ʈ#:̰v3eq3t|kz9+׌xxH:/F>#7Pnr|" 7쵏w+:7v(C_KOndqoč{3Z(ɵ)ntq쉹6 ׸\cn$X'э$1n{_=o ?=o5~{ulҍNsNY7rc&F1V='ȸfkz 3Y*ɣw\vhJҐu <`'!%XMuB+DZѐ{:ՐICJ4d85ȓēARkS<ͱ' OF>WCVhpRV @/ѐ]IikȮ$4dwx 5t uزˢu-vl!D]jlǎ5d{5d=agDCvJYCs͸MkS( 7^>j76dx9.^LFlwy30-@Z/ђΗ|FcВMkI fMi)\_%/WK֓,ђ]i%EN|f^KJrm/s9\[O iI5:k=bf#sNL }%Wӱ}\Mx eJ#PDz0Wtl}/b>5Vj=Z7k;@ʈZdiN1x#soD!F1V3x#F!sjECvqc!ɵ),K93B:q{#"7>F( 7q7bT̚Ғ1kEKqFQo$צcO̵>F;^ s^Dޅ{ڈ>qB{0SDmi?}DyK _Ref112431309}DyK _Ref112778308Dd (]b  0A?""(O י=/{ !5@=(O י=/{hJx!>E xZklTE>s}PZ(,2RhyGVRRڊ*M TnF4hK #H$>@à#hH5*4Xtϔݽt{3{̽gݏ@Cvݣ3 {"jK)8z ]xZڨx8ɼE,' SV`XH'?fRx'a}.h>fS퓴AjXV< O2_ |)|6S!t |篻!7!\фh~c8M?ݖ 52HאjDn?.2y8iK? x,Ф̛FV+0Ys.o1Z5ک[lwe4jR#G;y Nyq`4mqqy szaAl4~ @TjV7y.Σӕ<\ͷ=0Kƌ.Z 1-'7ni<֏+t㘷M-"<[>_vwyUXj㵦/Z pc4Z>ۏCHGgZczata},Hy7p8YSn9}פ8Zkz]k0_ks&]C_N# \|[= 5.;'yÍFuK&ljm~!.)=s@˙ʵ#a0"qhCiyv3|rff>~ʝkʙ|-S)gzXRs;:9yw>r#OS̓{2moXr&xU%1Z_4Xxzx)`Z}~7^5L!9ge^𲎅0덗Yl%[^SΜfQ"֦r=9VF;AXzcuʙ҇:*L39ǜOX1"̊a1"z{w{nݻ嘹1-9f[sK3 ̔cm34d>fkF5``nEE6q׳QmM\}>qbW}GzE\]ǐĴ䫂k WՋ\-ƹ\}'dcmj'ʾ}Ӟ}:ǚXs=œ؄Sq>Wpq0zOsl/38Qȁ5O"os/:/4yjsx=eu>q^>^BS1;Xs\S.> pQ\,;d.n$>^J֯;v_9SNq~,oK8j#-%WXw1# wsWL޿טoxov8ZWkS@k+9l/-%WHrr*Me$AKz Kx鞢L֥RuMkB{4Z%,8-EO\g~5\,c7}dWD:$8Xf $4' ~k|?-هC F,Ҽu1CU݉. }̽"ʱw1>fH15"V=vs1T)' ^~𡣏q1Ɏ%|njp}̃3X[+'}q11Q}S$&}+\] S}"֦Dɱ8~cF>fE9Vpq1>F⽊5fN\H^cxkEMݼW%ޛ0cc G/cN/ӟ~^g>&UQLiT;Ts}DyK _Ref1130112344Ddv@}>  # A""L`LO~ *5@=vL`LO7u;Š DxYklTE>s-),4@[!d*"呲AҤ⊅ll "Pb0Hc5$ZQˤ?0i'siVw3wqϝͷݽ9x1clлHx8`}k;*>b;k5v ֙hhfD{E8 yh5c|N*@Pt:%8֍_^0%Fuf#Y۝Nh_yFUGᙍ~AM˘ 7 ՛셃 mC{c=QD(?yO/p<@1Z/ wAlOº6rm 6`?.-~~]آw`[=枊-#t}98ϦW'w~ODZ;?t .;=n~?5nsߥ/[ cbh|4A}lS)~wBueXa=^6b o \6&a- ;`+_}~MV<(sz:wUQjLw1t.IQ|jlp?$XGv8iS+cEFCnyuhުPg-3(T~Nϓ l64 [M|*c03|4y:cβk3QXg201ӻcM:c9]?_G;u3UW/3ȼHS8Ʃ0.q0/)ΊhxENSrBsʀĝ[6=t*ͱTi0!6 qb|?S?h⽂į:k ;(^SSx/!?gi7s3ynle0kXO8S9e" ӜC$ 9}X -w/SNŒw ,oNYsJ"q)xNS 9ee2/gyќS+ lqgشqsN)0yNY)4T*ˋcFxhx$9e)} f*!Loc3XG3SXG3K3؈+&fƋf)`c]{? m&550]SɺzB;5\m֠ڗ|?UƟ+\m_Vk^&hy=4fzi|?&$;z4T'dMF:չ>:9+: l8TMI*SMˍNU2S%NuDǞhtRJT1ѩ،Y /^ԩQR:"^D`Ou4ؾ.S%uTQ*ԣSug{[RT:\TpkpunHTI*&:c.[26`٘ԩQR:"^\`Ou4XPԩTR:" ':QѩGRLHG:Hii39|X}DyK _Ref113011256Dd RO>  # A""M#W?{) 35@=!#W?{(2v!> x[]LU>w@UqAHJ 4Ֆn6`4qHLPMm hAc`$F_4<@cPJi93ge\veI;sw4v?X0sVYj9ʰ ^=Tc!eX|2(VubmLs2Ѳp0CUUo0S'X:|: 0݈VmUgT?  }Yxnf7fjuoXa=3> O3?ьnWp ;ջ9>OSF<ߦqqQ귁2~ω}9 E 1Wֆ&ʃ4jSG^Gޓ8Dy\a\F 7 gPX'O_# A-шo.u}ƭ>Z 9bH2nH{Q]{JUSXVE>v *}+g@Os['=kL{^¾xԪx𪎧Lв^'4F a./5=] L}TNSkB1٘fK4"F?nč:47cx?AN~E櫓jxVT} mr&O[@ ub'¨m/Z1}\O4yopW)y`Mw&ܐ68s.b}v:w<8ޫm7}R-7^7&s}eT_?b̸b22fcMy _Gu$v f'khsbX` F0X'_2_6K|yd?<—;k`.|be—eΗr῱ȗ c=ٗlc$0.L|I{3;l3ۄ3IZb:.8ӻ9XC(gr¿~11k}15$3ΙٜyE,OΤyqiL'c抈zi8spfUc8K2kn8̙Ϭ}f>s9X\L gz$vỴ&Lrg2f>sL9L3kM13gߴpfٙ9|_A+ṖpF O ?b?tsPg0ڻ)(hنط"X 'iL˅OZNHQ۱:1!9<GjZHR93E3ag9d`,^g@b:/MI{|gwSooRN߫TnN+\'#6I>Կ&Inj&%:&7I>Կ*ֿۓ ׿8oN;TWMӥ6V%W39np?4[w$}DyK _Ref113018701>Dduv(V>  # A""l-Fዠ6lM :5@=l-Fዠ6lMX25uAŠ Nx[]L\E>^vZV4_X)0 V-K&nbci jx%h҇>`BbADVFb;e,`m;g|qL@rkaa@8 KOC>L*~Z\P5X&ܓPe[\ Gi1z{ԍAJ6ʣ5UchfqՆ](ۃm& Ov*:`QZ曖3< v+Iy 1Nٱtf,P=a:HhJɼv`Q9y'I\Fm1md2uȃ*y?Fܓ#Jꘄt4win0\*c(_^w W ?uy젰`6QwplDo5R8ҍeGiMY#>Ha4Vڎubym.x9/_|Zq,SU߰M o¬cbbeTi(;QRV֟QN_1[['0߂4CT7q"n&D)8 m,}3}E$:枞5J*0]AnoHvqfE0==b~<;~+ڛpCBC a}5Μox9ҽ'a-pCRcy*5_ 357aEa~+:0saf#5r[Gn֏hH0CT f:r5(0p(Lr_}񟎌9G0xZy`y *+fC 3 n}q'ȝ4/wTNL>7&$7lߝ8$_ e%wi[;Ioww 3sZ)uLǞhxp' 8ԕ3Čc,DIx3cyl|Mk"5[-FQ;pMY|Ff j_s'ȗ5/E[×5k>p(jfˢY$ˌl|M̭k$fl#5%<?ݗX__3}M;{w[ĝ{Npg75stu%琯Ik3-;In{VEb^vw_czqNj(%L'Oa=>3X̂fW̻\tw=gk^L0=&wi)"ޓ'x&fA~\A/Uԉ]O/ so#fZ Em;.qxVϷOY({+:v\  # A""} p8:9-C%t 2=Y 1C5@=Q p8:9-C%t 2=p!K? x\lU?GAR6׮l͑d,PQ̰F\N~hae *(!B"&a4l\A 6ٌfeOfYW!=pynr޹s~?s;c!TB|)./?bk\-+aBg3ga\߁O&=<ꂢ_jvʬY;gGQfA\ՃWsCP|E4PUV*__-b qͣPZOcwLJ^+xl%ud[j%_aJ΃c[)1:pn%e&',OE^ynkжGEտ>m/8ώq;ǥj3?4mqȤ\AuwA7iMPhg?6kW 1;r=SqcBܘ!b6zQKr(3O&1'ekٞlT}źz߈ þUⴍMlgZRx<.'*9"Ь F)3RC{<wGx FwYK]a,ˏ̀ 9Dcn7}b)J8;+>x2I1S +ؗO(fQ\ƚc堍ΣMq&3}+57}5PX gvaH3Vv\]-֊il7Zޞ2}Ҋ>>8S?ۯ|~yWd g~i+؎vsؾ}6L53S}Z!yX,cwyOۑodx{ l_r^傷w|bt{2OkWo$޾UU(]l?`y{9JW/1v{"y{9JGe^v&03a| S;0s3cyuN"7~b^( ɞtNYb#-j0,R ^#*CN(:ߧ3ԯe )a_Z#pkjfZp m;cd9=?ib$5<jxڐ qZ#s(>'{Jk$LFB IT} Z#!> L~yzNK旟礗5BS}w.5Z#!Z#!5vJlW}w5㠑'>Or95ƴHFkO=~OgFH aFBk$خGk$hvl_ {$ Z#!> Lyz/S星2FBH5_{e쩾> Z#Ak$w] 9Obk?>H Z#x;_xJۏ5B5FBnk$tb ɊbU5H"F_8oAj~yZ#! =aAΛ76~vJqj$8{5i& a0 ScT=i&K![@ }DyK _Ref113022468Dd*>  # A"" :6QG#.& N5@= :6QG#.&MejbD x\p?@B&R$FOB!j:2%e2`#X0R A N͌J) %5h)% Sd 5BR#Ԅ~=s\{ݻ}of]v}wB@9~Q8!0٫}!}DHiBI*Bzҍ\}ag)%OzN $JSg)3\:#P@z9v 8PN|([]OAyYdNCuQC$=ș߇]%+%w읿Gbg.YHP/z&>KW=Y^vM1/<{g{@ǾWWүNjAY MչHpߤrV&ߟvo_Op_| ~Ehh ?%=jTQv ccO~5 Ku(؊U}dJ^Ŷo :rx;lI/3|_,k%z AߏR;US ǩ]+}2}=L{r8Brq_\LX:pRx\,\IIs1xÌ'9s8\D=EOxvpbQ[ f"ƨ[%--$nFh-:Y܂/n xO̗n4\qmRsq*t\Z36cLĜ.œkkߟBkx<8r+s0!d ?ȯ㕴/_d; .Oa.(;p5.FyupS"OCz#qUp޿5\8}o~‹鵼܊I}]G.~%&ݗw*koL1ƅ^o3woj@5a+Nbei6w5!_I }7J}薺ƅ&m>_R//xV8XS5kd kvyra6]&y\Xm> .fb7~VhNGN4|PKM ?΃_^as1ȹB֑/m|.V01fvy_QrA.La.^G\ոh^3["b{\.Y"ί N.n7 Od>ncdwƓws;dĭ؇p{ׇ f}PTMa9n3}A_nw27PZw͇6n v>nm"p _nm&pڿ@C"fRpx?رbx^/7@_ʐǾ.O}7l}Ȋ *4+Ǿt +6Ȫka:ރs:^Iܪl6.A(oB|ͣm!]\h8;P7qu;^4|R>S{Jq#E1=":t9[ѸKP#d}C91mElnE߽X-R5٬nu\,+"AʹBI6iVp;ĚsE2~U܆>0jׄiI kXG:SB[Bm.;@W@sI 3-HLKMqpK^AuxE{ g^LL"p L^61&pLL*A"0*H(]WD]`c]/WDe2$6od16b<:pM^*\M}37:׆@kCw<00WyoQ{CGS yqĻ&MKG]/]M8tS+|m"dDID}DyK _Ref112431309}DyK _Ref113012754Dd!>   # A""|XO/u =^5@=|XO/uB RU2x\}lE7[>RJ^`KHMp(6&X[0TMcM4i(jP D1!!D+1&Q^z^{ys3) ! >)ć.ĶBdTz"E :' 1 Bo#1ex%{E3Թp? 2Ddl;m/ lK=f;\DhI=].R40d; ՖuOҞ+;ՐFkY"iu iLM#~JxwT150Uz1tĮ_ #sf͉KO7yAy]4w3wMLz^*hiP~ձ}~)h߭FHA5nҠTkód=֒X r6s͹ʌĵkη!9_u`;A$(Jīz>܆%̛LNt'Gp/#U6 xGd ʢ~ʆy 4YQpg܂>q[ʸ-2nOhQlO#i>1SlSsĩq`b&*6ە4 .wP|zOXK`]&`V6K;%VA/%VPp#*NyG+e}NѺL]N~+Q,jsV }.B^s$Up{rrrqFtb9kRV?w4[qiy^q ptQq-p RAYTsfg ܘI7#`,isc,̍.hE!r̵1.3RĘyQ\+ʘKs||A!kCv_(e&r"+^+ ݲH&sZm5$c2n 0n!7H88hUO[yX}Z>N~B00o,~z4uЦ#f΅Vq& 淓Ǘk.=3.b~Wj.1۫5S74fzL/atL'LMX3=glY?ڱfƚ=rSt{.-_p,x;eٱXG,ͩ9=>AItptrFF;]=fsb3i~/)΅.w#q)Wi~[ǁjV{N~14~0~ 1'z9`wH=wnpL=t7>&=vs!{Dړw>߳G ~b]cՒ L3C2pc2!p;?g bx?sX &axQp̂wapcip\H3n}L3nLDlAos?=)\6Q :}DyK _Ref113727792}DyK _Ref113100210}DyK _Ref119830042}DyK _Ref1198300468$$IfT4  ,Pl<X ''''''''''' nd ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4 4a$$IfT  ,Pl<X '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4 4a$$IfT  ,Pl<X '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4 4a$$IfT  ,Pl<X '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4 4a$$IfT  ,Pl<X '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4 4a$$IfT  ,Pl<X '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4 4a$$IfT  ,Pl<X '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4 4a$$IfT  ,Pl<X '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4 4a$$IfT  ,Pl<X '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4 4a$$IfT  ,Pl<X '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4 4a$$IfT  ,Pl<X '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4 4a/$$IfT4  xHX ''''''''''' nd ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a/$$IfT4  xHX ''''''''''' nd ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a$$IfT  xHX '''''''''''  d ,,,,2  22  22  22  22  22  22  22  22  2 2  2 2  2 4a}DyK _Ref113716656}DyK _Ref113731042}DyK _Ref113107251}DyK _Ref113727934}DyK _Ref113107251}DyK _Ref113107317}DyK _Ref113107387}DyK _Ref113107526}DyK _Ref113107545}DyK _Ref113107567}DyK _Ref113728014}DyK _Ref113728053}DyK _Ref113107630}DyK _Ref113108432Dd-> ! # A""[A :՛9<7 5@=/A :՛9<oqD6xSNc= Wl ^lzkV0(]{rN7" w0O&g`0<&A=Nm ]8Lol?9"{w0#_uZo͌-gL f[Dn?ὥjb`Nku[pXܿO_\ns_ 1 _fڙL%ߛ: b~{{;^@p[!{|' ӜV ,WM}Zno, zǶ?۷ͣ6?_8?s~9# u/#0,7ֺ/|a{oPG>.3/0 n|; veǟ=+L:KsO6'q:h=)ߣ>.?߷2S`%11R+}9ji8xyNR~_|1-8>t\ΰ?к8.K'q bZkd&R|n9ˮlA:qѺQ&ߗv9gcg.Ac_,dK|],h<,jqǶ?s-ox5ÂAoϮQ>F?X乧:y%KNpvb[ƺYwؿqY8&Q Ouޑ[U:yΐUYp!Xi붿8==ָ'̣Tm?:ĴOu{(<lj;u?n{;nwnlo Je}i;*v TcrwR e~+1i+?_u,n .4?#uZ^ =V/f6n#yaZ<dV4sES]!-&u23Hfmvߑԉ&9TfwwR'.3dWP}HL/,2%ԋN\dPQ? YJ2˫a CQN\dVUcQ?IL^2pԇ?ԉˬ)uULg\R'.d6V P?\I̦ʌDR0UR'.dWQ_FNZsUeEp-o$u2Ifo-迃ԉ L܍]nOeA*)Kpy'ԉ)Tԟ/R'.sdNVQ ԉ˜*T-;[ԉ˜# UC?SR'.sd.S/P|1N\]2W̷EN\j\23Xeṋ* ,iI풹Gef@}z0g&u2Ia Yl蟝ԉ<*Tf.s>R'.d^T^п0yY2oL{>_ԉĒy[eB}I#u2J# W!u2HKɣy u2%ʬ`MCe~̯*>ѿO63M߂ԉL#*[пI2 D}0:q[evC} {:qy% A}0YH2~ CPR'xnR}iB{;]4n]P?\t ۸zOL/lG0ϒCp}C!7(=ܹaGeJP9{=<:}w'#{9Fܨ?:Ȩs2)Y `5}j;g&^jߌWoS{^:3up^_}4o:8^gr?k:x%s+[ 2wL`ȠuCnә٬(˃mͩu|079`gwL꺍19'əqyNM xL˚;;ST_D~nfI#!6U@?BBsW~?749G.U5_D~nf=>7"!ZsC [vϭl Bv$$z?]s~?74;߅D~nf {vϭ C_"![$$iϗ#p 8$E_?ˌY+ ).YUf{Էۣ'R&.JfN]߃-*7{_ e2 Hʴ^mߟ̒*s)YZ2+GѤL\fET8ԏǡ$R&._2kɨ'tR&.dSP?HDe.Dp!/!e2IfK 2H֒AeD} R&.du_ CML\fw V[Q܊;I>WeAnp e2C%s)9W2#T#?3R&.sd.W/Q|ILU2Ww COL\.UW?c,e27J6 n`*OGe̽*@wBe#*>33)yL2OܨFL\Yɼ2 ,EH+ySeEL\&;*4Kѿ<)yO2̊+UR&.dRANeH{Y 5Z_(TfcR&.cL+cP\f37?B2JfFߞ,@#w%e2Kfߛ'Ufԇ}FeLo~`('eҙR3e_*//ŦEODRA|})/dRR _K <K×x%&ڗ KEK1|)/%$KL/ėޗbR _JIh_*//,1ѾT_*z_K1|)'Yb} T×bRODRA|})/dRR _K <K×x%&ڗ KEK1|)/%$KL/ėޗbR _JIh_*//,1ѾT_*z_K1|)'Yb} T×bRODRA|})/dRR _K <K×x%&ڗ KEK1|)/%$KL/ėޗbR _JIh_*//,1ѾT_*z_K1|)'Yb} T×bRODRA|})/dRR _K <K×x%&ڗ KEK1|)/%$KL/ėޗbR _JIh_*//,1ѾT_*z_K1|)'Yb} T×bRODRA|})/dRR _K <K×x%&ڗ KEK1|)/%$KBRA})/dRR _K <K×x%&ڗ KEK1|)/%$KL/ėޗbR _/Ig^V͌v%Sm2-mǏMev@}{w&92dRA O#.3dz`_$92 JzqE%A`JreL?9?ˬ$qx#92IfM9)?ˬ-Ulg|#.d6U_FR#.dRQ \+H62W~% אq$\uzLre [m迋$܋=^?HreLYeAa 92HHy-T%_/5#.sdNU7Q#.sdQwPHyHe>F#1?'92H]eBK!925\2ߣ?qdnPP$UfjԧSz#.sdSQfD$G\<2!?'y\2Ϩ< AO#.d^VQ_,$G\U*(}_4%,`@reޗ'*+П#92Ifʬz 92_KY_$2q{L2[q$3l`@refL NDre̼*껃=?/T>}I"2>HKP?f~?'\0s5enlPnnsrz&:;OѝS,!iR_0ۜelk)mߣˡY{^̔3o|?GS}umRkXdƞˢ^f,WP|]:Y~9Nm}\}}l0olk zA'RKof9Xr Hv{XvX*$iZ({Y"{Y.{b$m9ߑa>ʹ^s-mdojᩬۇ־7jVΞ`Vƺ=%u>"0_asf[0Yߧng[3evώ1e3}?n?dW[#]˺-}l:kpGeV['wWyTlk#unmω?z΃˂n;d[8?s#1+p6CSlk[g{fZ{#vf^̟ʺ=iin7KyS]ߎζ{u[HoKd[`og(ogoMef¸u]_ٛR}OaQfor,}mlToodZ]?Vq[U}:u;)ۺ׾|okd|lkg>ƺcܾwrx{{*3/&+4슗fm~6w]8kBsȶgr8(d[L /sGy.K{~\vz.{e?x.'s5x.{"&ehyL[ϫ%gΫ]Mg^E{3^XL[]R^nIgB#nU|],5wkt|ige:}Z݃NX9ۚ;Nk1=Ҵ^˞nkl+eeFOe.͎l:ͶNT{'d0f5gJu~δ٭z&֬2ky]r!\AuɒUe?-i]dQP̀I%̆`6N_,Tf.s> dɼ2P za dɼ2}P q dɼ2K$X ˑ%K# W! K̗*G=@_,TfMk d2룾X%g[~l&`SoAğ(*[пi]dB` w! K*nߋ4.Y2 !/%K`?He*SF`PFaA\fYɬ2G~8ǒq%_eN@xpqHf-9S?4S29 AA\_Le.B}#I̿%ʴ~9hG( .dvTQ \kIΒ]en@zpo! 2{Jf进4%3TeC^p" 2H2xOqC%s<@ẻ*2/:i&T&FM- .sdUwQIXe>Ac 2J2Q FA\ UԿ? .sdnT[# =AknA\fܡ2Ӡ>53q$s̄`&Fec*@\A\ <2>/ٙ֗f7RU|})2-zDDRU|})2Y Ӓh_/ռ/Efz0g&ѾT_y_̬`6N"}*T9\蟏DDRU|})2=A//L"}*Tޠ'ѾT_y_̒`)/G"}*T@?B"}*TȣRRdkKUȬGF$"ڗK5Kl-HD/Uŗjޗ"% ۑh_/ռ/Ef0h_/ռ/Ef {h_/ռ/Ef0RRd@KU ?DDRU|})2G#,RRd'8RRdNLKUȜ A$"ڗK5K.BHKU\?DDRU|})2W-RRd7KUnG$"ڗK5K܇HD/Uŗjޗ"xOh_/ռ/Ei _ ѾT_y_KeN"}*T7AHD/Uŗjޗ"xh_/ռ/Ec ѾT_y_W`4%ѾT_y_B"}*Ttah_/ռ/Efj0 g ѾT_y_̌`&F"}*T@\$"ڗK5K̋HD:˗~5uCSFuֵ.9S1-1BuɒMeB ӑ %K^ ;g!K#*>?]dVQ ̍I%,z/!K̛*>/ K;*4Kѿ<]d>VQVDBuɒJeѿ:]dWP_uI%l`oL*_%ٱPlJ w]dfTQ lI%̎;WR!ḍ2{ %KfA!` %KfQ~`("2Kf^N*eJ*sGYE2̉NDɤB\fdVP?H:PeEp./$2Ifs迌Tl!mTz;JR!.dvR:W:#2Hf迕T%܁C*eJ_eG>p?&2Jy GcT&UYԟϢER!.sdNRWP7Hpɜ2 1H69S2{ CGB\\2 _ qG1TˌLCe~D#%2J&1*p11S q[$sL4`Zw'2wKICy\efGs q'%̇`>O*3})_z+e_*/y_j$Kh_*/y_j—xI/ėڼ/5KMR<$ڗJKmޗ&|diK%6KMRO4R&| _'YDRI|RԄ/u,M}$} _j—:I&ѾT_jԄ/5K$Kh_*/y_j—xI/ėڼ/5KMR<$ڗJKmޗ&|diK%6KMRO4[(_*/y_j—xI/ėڼ/5KMR<$ڗJKmޗ&|diK%6KMRO4R&| _'YDRI|RԄ/u,M}$} _j—:I&ѾT_jԄ/5K$Kh_*/y_j—xI/ėڼ/5KMR<$ڗJKmޗ&|diK%6KMRO4R&| _'YDRI|RԄ/u,M}$} _j—:I&ѾT_jԄ/5K$Kh_*/y_j—xI/ėڼ/5KMR<$ڗJKmޗ&|diK%6KMRO4R&| _'YDRI|RԄ/u,M}$} _j—:I&ѾT_jԄ/5K$Kh_*/y_j—xI/ėڼ/5KMR<$ڗJKmޗ&|diK%6KMRO4R&| _/i%G.3 ǗɴfI؞qs\2Ll֒'~dnWQ LI9.OefD;7=I9.yYeD} {=)dƐ{Kss8x8]a) 53guYϙ>%}>.l;^<4heKfC7Z{͓3PcrfN^!!өٯڴO*ה7Wl_sEv93*Pהӯ\:yݬ+Y˵8ds݇[\sxxs|ls nfgonv_+9ǪۨNI!粟qL%jԤ۸߃Rq5'YjizNp_u;zW~NSc3]e9ws;C4~+x}=Fv̄Ί0|bf&3Lo_զu}8Al}a"]n`BWgsisD^6wYh8d0w:6}Ϯ߯ɾOeZ{?+guMgZ:DKqnRɾʎNvaDܟMq~=S:,3o욜2wLݭ53}BLd;LAdu56xgMu׾'wCu׿-ש}?:sJv6Dϥ45>ڟؙ8>1i,3nwչLl79vɸs5gľ?83qs'9f9M c;'@L9.Om~7ۜD8;̔s\1k37br g91ǝ?Mfoߣg7wkR"'͛fzo5'=F>Ns_2'Ĝk5'LpwR>G3n#Lkf,: Ke쾾}?#s99uuqn1~ z>rss;3{&Y8cחvmi3 n$A`챷?s9X#0^o h8GΟOuweZrw)_rsδ6³2׍cL3Gf~Yciϓn߷\_}F)ƙygm>kĪ̹?mR/us< ^-eΌ}M}mTTm3Ժ̜`]7mtR&939kgt{=3sf~?ОN*/_R]7^L=X7&73n5uA5CenDp#o% qLAe@vp! q*s?0idQP/ q$,B`a% 2K2XKq$,`9He>g* +Uߟ4|!UfпiV2?: H/ɨ}пi&1lߚ4 YTf;ԷۡG .3dP]PI\_eB}O! 2$ʔP/q>YBeDp +A\f),2~(8 Gq~YUeEp,O$ 2yɬ2Q4 .dU3Q?sIXe.@|p/& 2J?*3KHWIV^eF~:i(]UZԯעF .dV[P܂;HɴݨFA\f?2 xqdQ'Q/@"}*TK"}*T_DDRU|})2˂п"RRdV?RRd-KU HD/Uŗjޗ"/7#ѾT_y_̿ߚDDRU|})2ۂп#RRdvwKU B>$"ڗK5K)h_/ռ/Ep +$"ڗK5K9HD/Uŗjޗ"s 8'h_/ռ/EfHD/Uŗjޗ"s8璈h_/ռ/E|p/&ѾT_y_̥`$$"ڗK5KBDDRU|})2׀k#RRdnKUF$"ڗK5KyPQ_,HG\eVE}*W#2_JY`uM*e*.uѿ!U2Y q"WA6B\dfUQlHL(9UfWwR!.3dzިFT, *ӆz R!.W2KAB!B\fiɬ2~8G q%SP?HLɬ2'>IZYOeBLp#2Hf 迄Tl&-U2G_#2[KfQJ7H̎2ס~-7 q%3XenEp+$2Hf_=T *08HPy 'STHgR,ԑ/ŗJޗӢ O$DRQ|})/%&<ɒKE})/%&<ɒKE$KB/ŗJޗR_j“, ѾT_*y_JK | O$DRQ|})/%&<ɒKEkh_*//%Ԅ'Y}(TRdIRR_JKMx%!ڗK%K |)/5Ih_*//%Ԅ'Y}(TRdIRR_JKMx%!ڗK%K |)/5Ih_*//%Ԅ'Y}(TRdIRR_JKMx%!ڗK%K |)/5Ih_*//%Ԅ'Y}(TRdIRR_JKMx%!ڗK%K |)/5Ih_*//%%KE$KB/ŗJޗR_j“, ѾT_*y_JK | O$DRQ|})/%&<ɒKEJ$DRQ|})/%&<ɒKE$KB/ŗJޗR_j“, ѾT_*y_JK | O$DRQ|})/%&<ɒKE$KB/ŗJޗR_j“, ѾT_*y_JK | O$DRQ|})/%&<ɒKE$KB/ŗJޗR_j“, ѾT_*y_JK | Ͽ$!K o%;̵ﱹט|E $O\fdRQ ܌I`ɔT.w>'.dTQ>sīk/޴|l5SŽi6#R~ d-Ni=?XN)/c߯-hqy!h"9Z匠NyN0viZqL^ q\jrM6'qU i'qQSz<3i~cd=gES0;ku\#hZz^ V4Sܵ乧þ/pd܋eb[ƺٹ/sq˧n~*ng*{,ʺǪۂ w,a~-0}R]9Sy/3Ԡ5[>&,f$߀SY.Z^Bq0,u/h:s9Emm>a FnuGyg~(<l Nuϰi]7~?F4MW@9tp0v&58&;S]n;N9%uYJmLpZ*fIAkư? / ͏Hcݦ3'u9 AkL7Y,uUQ `&, \й3h}&|Nyxk 7_398x88$%Hs%A3u;BD{ U3u;R~Ssm [l7n'mdXZsp;#u/?j݆cNź#<RoSZ gSX[S]7g/Of=sD.hͥL.4IEeC}[w$ugHf.ߝԉi Uf/{R'~dQEPBPR'~dPQ? ?@2˫a CQNLɬ2Ǣ~ 8':3 $ G}HYWeD p&%ugHfc还ԉi H/#_%ugHf{`?dvUkQ\I[enAfp ugHMeF.p7'ugH yCԉi UIԟOYR'.sdSPWH 9Ye^G5:R'.sdRPo=R'.sd.TQ|OIELe@sǐ:qv\2ߢ ?:q%scA2L7Գ%u2K 蟙ԉ'Uf6gvR'.dRP̅H3yQezB¤N\eɼ2}P qR'.KmY %R_ԉ˼+T+~_ԉ|"/U&z?ԉˌw*&k5ѿA2GFN\>TflfS7 R'.3dVo BvN\f&Ʉ*3@BezHfn A`7Ee*3`KN\f!,2/CIL9/#ɰ4%#`K{h[0n>sDg9 i#:q/S:¾oϡ{7ݝ%/M}fɋ~f :3K Z:iS߹e|r|fs1goo Z+Kf'7>k:x%s+[ 2w,ۏuN>GjVz}sT:t[;&g~rn)}N*Lg%&?~{nzfO|& k?ahyH/Jw%l*ﻼ t1,kfezo'}ɵMk칆}On7/39o;yʾޯZ1R>o_0綋W~nhZDfk.UmvߑD~nfg w'![}HH~nU"(( mܪ @WHH~nV~nh(.Uc?D~nfHH~nBC?#e2Kr/T%s|;De꒹^e~E+3R&.sdnSPBtL\ܫ2QtG,L\~<2!:3s2q$̍\`nOeK*_˼"7U/}@_/Aeɼ2KX˓2q$ʬz?"W%e2J+zGL\fdWP_uȈMe6@}}7&e2ƴ2SPlf?[HfZ̨2[ۓ2q?RQvDL\fṿ2{2q$H’2CQ EL:ӗ_jKشHIh_*//,1ѾT_*z_K1|)'Yb} T×bRODRA|})/dRR _K <K×x%&ڗ KEK1|)/%$KL/ėޗbR _JIh_*//,1ѾT_*z_K1|)'Yb} T×bRODRA|})/𥄟| T×bRODRA|})/dRR _K <K×x%&ڗ KEK1|)/%$KL/ėޗbR _JIh_*//,1ѾT_*z_K1|)'Yb} T×bRODRA|})/dRR _K <K×x%&ڗ KEK1|)/%$KL/ėޗbR _JIh_*//,1ѾT_*z_K1|)'Yb} T×bRODRA|})/dRR _K <K×x%&ڗ KEK1|)/%$KL/ėޗbR _JIh_*//,1ѾT_*z_K1|)'Yʗ EK1|)/%$KL/ėޗbR _JIh_*//,1ѾT_*z_K1|)'Yb} T×bIL:˗b?kp|s/.؞v3j\E>-?V2ov@$GZ̥2P B$GZR HrϨL6/ 9gJf)9?䈟Q+~*sꇃ# ?V2y9FrϨ̚*s 'S?V2٨F$GZl2#P@$GZl2~W3j%3PeBJp!9gJf7这䈟Q+!*s귂?V2̽E$GZɔU #~FdTQ `FJrẹ*sq%̃`$92IeYMre^L2,%ILS22/ A $G\}|2+"X 9#.dFj #.d~PQ_ HO ̆o6D&$G\ƞ#f3Өo6G$G\f:3"]fԷ۠#.3dzNvB #.3dU=P$G\f~,2KreL`@r$ _wgg|?>1W]Nqq+0'uLyzܺgw/ߙ_g3__:1C]L'o~s׼Ӯy]Nv;w5ki׼Ӊ]Ov?5kiӮO]PvC횇5kj<Ԯy]P'ޟvG횏5k>j|Ԯ]QN?i>^+-̙DΙyf OLu^a33v֦;'׍SwːlkE֌4K)/mNT϶Ь=&ݹq́\hJ/C?YLSqy ;8)mϭœP1+&6לsnbf]sn1@#*`@tUt Uc5- Wq߳;p~}z?{.w}te>'J^6L4~]f}v[<9S{Z̯Z _o3\}~^KeK3<^%>eeN%fyzǿdy>~ΙW{_ܒ9IM2YykXߩu_db6/tχ :x3bjGʺ]4G?fnܶ%YPtm}o_Mۇfgu[e'e?l|?y.f7?>u͇߯4vI~sj/ɺKI#q3c{enzwnýy"ɺj]yv>Y_,/麕v_{#m -q;,yTs7Ǟt Mg7eu5kup/=6K u[>Y%~m}}9o6}"uӹCGvy=_.:Ss2#3g u]΄گdQ>kz&[sSy.zvAy.R=]p<]>ksWcyLK(gg4u?kLJպ}nuyȌ{ѻMxcr3~;tg:cqW!-=u0i?w4z| _;+0|];e'fZS{-{I_N0Mޓ7:nõSd'0k'k'h7wL?^=^dܾa"aP-q{%tA]?3,Uf6g.Y2#Uf^,1* ߝDa̛*(=E"0K=Y_DaG*"+߇Da*:꫁ѿ,oT: HDf2=̒MeB}K#q{ZƾߒfvD}#w%qC*;껁ѿ7,Tf? Y2 ̡E$"ndScP?,*sǃ HYV2+騟NG?4dPsP? HDL_ɬ2\$"if}l2W~9א$_HV2;̭nE$"if2Cn7$I3{IfD$(TQ4sdUa?)4S̉*,πgH9Y2ʌF}WHD̙9WeƢ*7HDXeơwID̥Re>@}?$I3WKz'HQ2̗Dx4sd**3oO"f*?+H$*%j=M]5u!I3C%3\efB}F0g#I3OJf̉`NK"f̋*tE$"ieɌQEP_,$"Y||ίdKjo RR`|3h_/U/fV0"ѾT_:_ <`^w#ѾT_:_ `Aw'ѾT_:_ LO({h_/U/f)4#ѾT_:_ `E!ѾT_:_ j`uE}"Tuu@h_/U/f#17'ѾT_:_ ̖`+oG}"TuߕDRE||)0ѿ7 RR` KE$ ڗ*KUK9 RR`'KNG?K A$ ڗ*KUK.BK\@5$ ڗ*KUK7h_/U/p+$ѾT_:_ oH}"TuDRE||)0G( RR` RR`ϢK RR`^c RR`. RR`CK| >AH@/UėΗI@/UėΗ-I@/UėΗ# h_/U/w4ujh_/U/fF0g#ѾT_:_ `NK}"TutE$ ڗ*KUKY,$ KNKgfKWۻW=^hja<GY2 w3GY2ϨfG$$ndF| C$$nd^UP_,$$ndRP_,%IHeɼ2Q_F$$nd>VP_UIHe|2k:Xk=ʒVeEE$$nd~TMPl-HHe2[ۓ=ʾ5'gvB}GBe̡2{;=ʒ Tf`GY2 a CQ$$ndWcQ?2 ۣ,eTDO'T4dVVAHHLɬ2~8$\Eb_FBf6̦*s%W+- I\2ۨ\IHvYenCVp"!I3JfO7PA$$ifo2~?x$s F0#%s G}IHLI2'ԟ#?$͜"3TEG?$y*ck$\ KTmǁ I T&F#4sdnPOQ|IHM]eBK!!I3wJ2Q&43P2OgFBf1]BRhL3 $$iQ<23>$̅`.GBf^K* "!I3HU";{t/KfK%h'Y}$TvR3<ɒK%Ih_*//% O$DRI||)/%fx%!ڗJKeK |)/5Ó, ѾT_*;_JK |dIRR_JK$KB/ėΗR_j'Y}$TvR3<ɒK%Ih_*//% O$DRI||)/%fx%|$TvR3<ɒK%Ih_*//% O$DRI||)/%fx%!ڗJKeK |)/5Ó, ѾT_*;_JK |dIRR_JK$KB/ėΗR_j'Y}$TvR3<ɒK%Ih_*//% O$DRI||)/%fx%!ڗJKeK |)/5Ó, ѾT_*;_JK |dIRR_JK$KB/ėΗR_j'Y}$TvR3<ɒK%Ih_*//% O$DRI||)/%fx%!ڗJKeK |)/5Ó, ѾT_*;_JK |dIRR_JK$KB/ėΗR_j'Y}$TvR3<ɒK%Ih_*//% O$DRI||)/%fx%!ڗJKeK |)/$|ɾ籎7 6G¾66zo)7E2TfFg3VR ndU9ṔyH.2 q3\$3VeF}!0{q3\$3NeG}18"fHY`@ p'*2+ѿ)7E2_̚D:@ LPP_H.Ie6E})$fHƾǖfA}k w fL*3;ѿ)7E2s̞D@ tUPCH.YDeG0p8&fHf 9cq?"eU$O'4R ifyɬ2g36)4dy CR ifmɬ2~1I3Jf3 +U迎HB2۪ _n@-@EenG6p;&f"TzT)4dT@I%s A}0I$ST'P@3@LY2'sϡ)4sdTPWI$sʼkuE $\(KU}R i2\2 1H1)4sdnTP|/H%s|WkK $%{Tf$H $+A* ?_;)4dץuYכHyL2O, fA@Ӓy^eF}.07R ifd^VQG¤@ɌUw=ߓH40|*Y:Ɍ!; Q_8x8ð7j:h9痷vns9g3̳>ۼ}v_uvݫcSm$ujݮ/4`nW]CR㪯W7lj-ýϙc~\9=kv!gX=tũ3CfsmUGL=̄m`gg&? 7xא7#Z8ڰ?ON0f}x\]׍S=s~-^+zLuO֩_'[']^tu^O_}o|^5^ІwgNs~lβN5b5cpZ%uf31س;: 7vM.o3vK::kl\;::'s Zy޷-NNvGOd?SrvZ~odM3ݧg1N3^{+]f]W7~ӟw~[{vgg;=[>?ۭYSߔl}ojzZ:;ult#ױcYz= ul,Fֱ^zw=ulױ޳]F hd[;; uzױѳYz=Kul,Fֱ^zw=[zh많:{.~zS^>쁶<gL{~[1?ug]9d:=}vA[Z; k,n,F ^z6w=۠ulY=lg4Om9=}}}}}}}}Y>hğzBЙBhԟr6B{)?!?!?!?!?!?!?!?Ј?z)?+!?+!?+!?+!?+!?+!?+!?+3О= ,{B{# m+Y Yqz4zB#Z;{!uzױѳYbz=ul,cߩ yӖ`񘝟оuv;u ;N1sbǶ̜3'Z۟l7nоuvhߺg=oڷnY[l[~VDۯ}X/:VCll{=iӺ=L_{Oxtu~ _ejg$ؙ.-ϐxdD#jvfD[]\\gD$vFf3"lψhvg4? іe3r]g-|].ߙ|Ж'uãr-xvg>[.3=c1lYv_z[b'LOᰪv|ޤL;`u7_`ݾ7enַ̆>jjG x/3Yv{L>aoy^/L#yśr._fg31hČ2ƛɺ 4|t.Offgnx9޷ߥ1y=ѻPW&6Q`r9[-s)`zݎ6>𔹭iɺkw ;3y?07˛"r[ݛrtfw3yR-M}t͕=<%|SosYw6LyBvn5X ͢syG}izfz+xM4ɺmݴ7,ug* m׺}kEhubq'Yg&6ׇ_g{f¦^siZ.֫n̄= neySSlu{[.lޛkzgo(Ωһ]on}ޟWcnOLa붛Qԏczdn;~uӻ܃u{uk=s%^@g ڙ>?,s>_ۛ̃7ID~\2o>HD~\21Ae>E)?'q%s|+C"K2Q&_2OgF"Kf/2AM3yBefF}&03g'q%̅`.G"K%zW y]eHDyGez$"i]$*˂пHP2LW}пHdVP B$"ifd&6@&$"i{2[_%33C}[w"I3]䜍YTfWw43dVQ ID̼_eB@p#I3 JHK"f̒*SBJ?D$,-UO?$I3+JfU%I3Kfm还D$$ @R0W%\_O"f*s7HQ2Q;Q܉ H]2@HO2̃0H9T2G̣8H9F2ey 'SA"fN̩*σ"H9]2g+ ^AzK,,h/UėΗSyDRE||)0DRE||)0p?M}"Tug$ѾT_:_ h"ǐh_/U/f,x oh_/U/fxh_/U/#K|>E$ ڗ*KUK|oH@/UėΗ3LD$ ڗ*KUK H@/UėΗ( H@/UėΗ3h_/U/fN0#ѾT_:_ LW h_/U/fh_/U/f I@/UėΗ,X+h_/U/fkh_/U//X 뒀h_/U/f}7!ѾT_:_ f`soM}"Tumv߉DRE||)0]ѿ RR`{KBa$ ڗ*KUK9cI@/UėΗS%H}"Tu)I@/UėΗs&sI@/UėΗs>h_/U/R0Wh_/U/jp 'ѾT_:_ ̍&F}"Tu;诐h_/U/0h_/U/fxI@/UėΗ3<$ ڗ*KUKy<$ ڗ*KUKyI@/UėΗ2xcH@:ʗ/{F{f+y‘ M3$$ndP!C8 $CS !q$s|WkKB!ID0 ?yH23yH2•BygIH<$<2>3syHy^eF}.077I2/wa7I2Ww=п8 IyS2P%QD2$$i=4/G$$i#SeVEXk%oY_$|#TfC7S4d2[9ې$31G};=w&!I339_PO43dQ}PHH|Y@eF p0'!I3 I(GBfR*SF?$ *s*꧀S IYI2Yg<4dQ Q\KHH̺He.C} WM$\5Z@Bf*s37; II2] B$!}U^{%s&1ѾT_*9_K1|)'Yb}(Tr×bRODRQ||)/dRR _K <KE×x%&ڗK%K1|)/%$KL/ŗJΗbR _JIh_*//,1ѾT_*9_K1|)'Yb}(Tr×bRODRQ||)/dRR _K <KE×x%&ڗK%K1|)/%$KL/ŗJΗbR _JIh_*//,1ѾT_*9_KA$&ڗK%K1|)/%$KL/ŗJΗbR _JIh_*//,1ѾT_*9_K1|)'Yb}(Tr×b^h_*//,1ѾT_*9_K1|)'Yb}(Tr×bRODRQ||)/dRR _K <KE×x%&ڗK%K1|)/%$KL/ŗJΗbR _JIh_*//,1ѾT_*9_K1|)'Yb}(Tr×bRODRQ||)/%9p̔gؽ0Y0xgV}rbNyvY*#~Ygl-mv=3;bLjS;zXws}S_Lioot*ޅw_\7{=nu>\Jo4IJmfXK۽n-=e36dg|ڙk`;\휱3q-gk^sYGsNH6g`fy;=[>#3ۭޙnll fnf}S37=љ άױc38Yfrfw:63uwFgFֱYc3;]Fgv6zY:6:óulmgXLzױљck3>^zg|ֻld[:;ultg{خS3@fc&)fhLP;[8sLж<3B=-  Ѻ+g6cgqYe3Fڻ8zk3G^zgֻmd:G>4A g3H |miԖ|&i>4I$g3IL:jz)Q(g3J|Fi>3(mԟ2=,g3K|fi>4YYg6OmaZ?3L |i>4a0gv43Mo[m Ԭ;޽,@m\k3Q^zgֻDmd[:;#ultFj[ױrf~23oTӎ|jϵ3uk8G}sI~}DyK _Ref113108432}DyK _Ref113109337}DyK _Ref113109379}DyK _Ref113108432}DyK _Ref113109786=TDd$';> " # A""S"n>bS CR 5@=S"n>blD[a{FMSx(M H( X1@JQ"M^5(+zD/JSTBfC/6WHYIIT:9oˆ?ynyə3iF:( 40n62K0JM[`iS02ߤQOdƗYb% m̯bE<n翧~o~. 14krcgcvy/`KSΫʯ}6M~Z:O.灷J  ~&\υs ~ͥSYU}ƿj3}O{~[IWox*;h"y6٭7~ѿY?+gmfy?g=w ''p9c61s?w]>9m^Hx2ɵeb?#Xye֣mHs^%0 sEs~k6N-4զ9u^Ҹ|պm['n-x}SJwqݶb}{\nMOw}5z#!ívAo+u{kH͇Np1HaڡMGƘN['ߓ y^q >UbP,hc:0gB;SQ8f#.!Sy 7[B;SS8_!1!s;u `? G0$dYB !<2ėeSN}@#+ !<4jWSNsE+_AByi- Smيۈ !"NwvΏ?@d9!pv3\8"~|Tdν±D<("E_ 0; \Ks_ 8;seyȿ 3s!ȿ 3s U%ȿ 3Y¹r"2aM\xpv汳P8!^\DY*?⍁7vpnD9- B;J8 ܂vD5|%U܎NDuNWĻAdF~D vv'  B;'aÐ? (ý62 cτNvTw;3y38Nv* g.#o.'Y '|otj&ň`yL6; G8N=v|Y4bp@s}tB8_#_} 6tZV8y@FL=;  슓tfp y{@,Nӓ38' Eq2!߁ej2وAa"Dh~vNQE_yDžE$","3)+!B;ϰ3U8!^ \D΋LN5/Ր_y9¹+ȯC<\'BvpGwY.&@7'Bvgc܌Mf&BvAV!v>ggp@]Q8tC~/"Dh[v2@ Bvggp"~7Dnvg;dj_oe?//d9Շ}xfrhb%یrf,޷o!?LٷXo3`-o3}xfZ !"@Ⱦ(m}#+!6ܷmU`5 یrf,޷k5 df6c̀l@&"@Ⱦ(m}k ؊mD}Qی6{!6ܷm} !6ܷm BmFo3 Xo3}x&6 `M!6ܷmBmFo3 XŁ^"@Ⱦ(m}4(rD}Qی6/"یrf,޷.U_o3}xf @D}Qی6V-PBmFo3 XuA=_OٷXo3`5߄o3}xf4CD}Qی6VK m!6ܷmv= یrf,޷:FٷXo3`=߇o3}xf#  df6c̀5 A"@hg;? g4hVvp_0=n6>N![ͼ8k\ΦsܠH=eNn^?N=0ιWYMmݘ{Xr]3l-ei6Nfu>onQ{KxR=r>t1U:Y{h&grswj,gswټ߹zb4kd;;<Ǚw3~Af|ިyyĬk0r:~Ƕgyѩ`v/˪my^a04s[77pә{9UoYҺպ-q׷y}h:}uZYGz+Zu0hUպü$=>G,#:7[G$W궘aϛ<&Dn2lܺj[ZnfK¬ernj`uɬinַZcdM}_߬C9#: Fck+u 8Eٻ; ony})fXs_Mw֟6Jڞmw> ^֋uɥm5m[{gZ7uc0-ݹky"Dhg;KF1!B;P8o#"OV5!B;R8!^ #"oΠ !B;,^ߗv @?ADNv g(CP$BvG1Kdp!~?x8";v&">LDd"Dh;ń3gO%BD"m[ٟktnCS_8k_ KO6o3jgk:C )lD|؈̈́mrnN[A~By*]SNo~ByI!C?F )gpN ~@IO6o֎e-XV*@ )F(bmrN =K~ByyR8e/"<'dgS "+~ByH;U":'d©x PimrNk:ȿSG|'d%ix#M ?!<|(7͑߂ix+m ?!ۼ}|d܆x{m>GN;.N )gpz!B~_O6O9ۅ3`~By+C?S~A|4mr gqSIG0~ByQmv&">LDdO6O9ń3gO%[m^kv+bq/NJm\cm~1V5XjΈ匇 83}M{Y^dS[7a;3l}nw6\.k3\G{47̅9v,xٷts;Ѷklg_HҘl^IWq|[Qvkg2~ )Zε>2.m;n楍kxOsNLYVj9c%k;fw%jطq;gطsCc|v}+j;c."yNkHj ܕkH?l9-yq,g3/z iU휫Mf^[x>dT[R\.X&Uf-W6vc-ݮ630>}]wrZneqk_n>j5iWsn=y;U/'n[y;U`;Mtnط3~G7v{Jmfobe}cnݹ' lenvZ =gnD㵛nP?76&$o1K7v|\ v_^iWr9sʼ|_6Z7U/u{jcW5.̳_3.oXI h^kZcg&d_#'ly_نis|5Q]C'he};a-q*+/vjל$n_Yε6Zutg=gKz ĸgj:ַjp]IS==ۨh/qnOX{je:~Ǹ^%«܏h9cߎ=`4.m/Hm4=gԾ|>0o^Ǧ\v"LϛD8o#)&P8o#&T8oZ#-&R8!^ #&F8] ;&,^ߗlDysv g(CP$D9;3` a"~ޜc`&D9;'3Gx?Nys}ig:&"2&)&)? *&ap^BEa"~Mv g⯂ȟC6٩,"&dpˆaMd]Mjlͻ`:'w-rhh}ONg@|;؁݄NWvz g{>Dfp @Gh'!cF cgp gDa7"|va~D(syD8/#$#(;SR4'|vd\xyp+>B;ϲp.F2>B;yU8!^\+.ZZȿy©.>B; yW8 >B;Ky_87 ܀pZ"DΧ|.v߁ A'I|ηxww>B;^8 !nGhg;;3A`0>B;{I8 F!^Ghg?;Gsc}9o 1Gh$;\v@q'>B;}T9yi?Gcp^@|*x/>B;9_8 >Y߇Jy 95I}عT8!>"Ymw.Bu=nϿC)s'%Ӊnٍ`7򣄗Nv'?! %ӏ9ap /o ~Ci+vFY,"vc!ᜃxp=?pJ"~.(2<%? h:n9AVtNDٷمN {!6[81ģ D}I!C?FDٷa9qp'!6sp,;v1bZf"BȾM< ˆ_oS9 P!6p"^E~y"BȾM<+W_oS9ӄS**Bm*gpj"^D~!dߦrNk:ȿoS9 Sz>}D}Y"ƈ7ߔoAc7͑߂oS9 5@k%"|fh6۫w$"T7xg݉!6Y8 z!/!dߦr g""T^ E|D}/1c?oS9DŽ38?LDٷ#`<'"T:vD'ȟLDٷb™3` Bm*p^BEBm*pf *9D}ʩ,"!dߦr '|FDH5O5V>a.mx$vt(gm6Vx6 <huFgm 2JyFvjQi/hb*4ӪuuXi\ӠV߁}7^gu6=NNVO=7Td{m7U?MǣUibZXѩj[^#i1aߤ7qcs5;Hh8fz6Sat7ud1z鼴W< ?b7qn|󕳜kc9|bmzbMkϚ ħwƎWP|"M] g)}5R">@su\#u^* 說c:6%%{XSGQsljQTHծ46]De>>pKz ϠMUhuLZӍmh>orUܒM9$in׊8 +%7M5O]gu)fK]G0,dyZf3T+2@ݤ5hxϠm|*-l-[.[E-o9P-1_[XvixMp-, rte` KtzG@1]?M\}WY>J9'ϯz] ߤ}nϬ? 2UGn>g"kcd:/ױ:ju>ϬuT+l8cUj :, /uUs&W0~dwZS_3ׯg]q=,gw.R꾟/tM u;QTsv5Oox[foxon/ gl_ɹޗBNC%^ZYjٴ-^ǦlCLw!sfe.6s~u=0n\_HkE "YQPWi尼,7Xd8LBُ[ays٩{Ϋ2{˲*sJkuUOMf5grǁj>pzRt=kvNx2r_l^\vj|<1VYͲNy4p.5\]sDufF2>Þ:ÝD ZjV5ZÈ}#5.d֍?YrݪGp gm㰉$6Z4>RޛtC>{YלJf󱎺V_em|6 \/Lωm|'څ\6څ׼/ۅf څm/OyB25յq\Xj7{{u{G+}T ù&$ އMu+g2.4R /5kW6WZu0|8:V׈ۊ[c+uS`5ߋV7ϕ캽[$VtnsnDꘋq rWߋCym޻K]QV]Ϗ%TlgȟKxTbpBMÄΥ"E_Lx\N,C|)X٩/V %!ӀY*_B;v g-_ڹـz& ; g+[Vo#7 "~3v.Ny D\!wD4v{/!#"ߧ'_Edg!+"NSvn_D*A[ "~Mv:;3wAdΝ]#2tg.x D-È Ahg;Å+'7LE+q /Hd΃)xaPʼn B;pE8 B;3I8!^ B;yN8"^\ B;SyY8 ^\ˈ B;ٙ% .G~-"vUW!.Ahg; suoHdy#Ahg9; Fěߒ 1;s -oGdYW¹]DdYztE DlNo{Gd`gpґ? }P0 "YmދR.2kJ>~)ޣ0L(쨶vf *f9q2 T\_G\0/NdzTN? ގ`'M8y8Nmvq2z#o%X'iNS|4cpFlbp6!-68N{v: g#o'NwA|7XL';}3?!gp(NӟA9'd:C) yd:+? ygD<,""; NjxIE~Y"Dhg;SA9W$Bvagp.BUٙ.j_ !&"*;ss%W+_yy¹5ȯOgm\xp=!B;ﲳ\8M&oN¹oM5i o#B|:܁xp!B;egp!~'^Dηdw>@|. Dn0Cćwj'վ~>Y^Iu(m}ˡ5o3}xfz0 df6c̀,Bb"@Ⱦ(m}k)X!6ܷm $یrf,޷Vo3}xf ED}Qی6z!6ܷm-`+BmFo3 X;N!یrf,޷(&یrf,޷?JٷXo3`#w"@Ⱦ(m},i6&یrf,޷ B/JٷXo3`{!6ܷmҠ BmFo3 X ȿo3}xfTA~5"@Ⱦ(m}2PWBmFo3 X@m_CٷXo3`= df6c̀4B~"@Ⱦ(m} 7BmFo3 X-A+!یrf,޷ځȿo3}xf:# df6c̀D~"@Ⱦ(m}D}Qی6`0#},ш$m^9yO\i??N_nɘo997Lt٦n.DrKytsbn4_1em209§Rsb7Ԝ_(9i}\cݜ[s\$::&:8:uq^dD9ycNsݮcsc^$祎9QvQNy:4g:&:g9:ur^fD9ycNsݮcsc^4祎9qvqNy㜗:4:&:9:us^hD9ymgjNuLtNtu1ss9ҩ9ҩ9ҩ9ҩ9ҩ9鼶3}:m`jtjtjtjtjtjtL DC60smSsSsSsSsSsSs9yi7s;:v35:5:5:5:5:5:?X \s&V}n0B3NލPnu)^3u6c5,swq/*Y^k9ˮ4es~-ucCK훻s;,gCx^.Sx,e._o׎j˙wټ߹z5 nw>\7_tk,gP7<>2ә̥˥K.jN LKe~ |uY]p佦37ޑcݾם3h_qЬ} N 3s.sԼj~~s#{8&^e2z fw*kNu2릾oV|zLĕx jw]sWv׷Pu39Ư;uu%v|mJö];oEݺa}^ԭ=ֳXzX\Ø09KZXa1 !f>M!B;׳W5i΍YZ!B;7sp6"lDf"Dh ; G2jDt.w]KtcpbGA > !#Bv3L8'?N $"3{cY!8Y ;0@a#BvbQ@J "OvNYˀ/O<γ©xPٙ&WU_;3S&ӈ!:u-"; Sz>}D"v1@c7%Bvp# 4G~ "Dhg; 5@k%BvVpnCA~G"Dhg-; Aw'Bv6Y8 z!/"x0PćID/1c?91C~0!B;9)?#q"DhGw}LD|DN!v g π)ȟJdD}:QSy~!`}J )/5k%'d`!lsp6"lDfO6O9 '  ?!NsěoA ~XFhm>ƴvnCA~GO6o#i Aw'lY8 z!/'dx0?!<PćI )gp >AXO6O9DŽ38?L )p# ?!<6O;&"2'db™3` ~L?HcN1jw܌Ys1l$1mRc ARcܿ?HcNg_;1sn1t?HNcܾlcl^eJNcNUǿb4.:fb8./ui̝cc]:./ui uLt ^u<ݯ&1yn11y1cRǜD:F//ui̞cc]:f//ui uLt _u<'1}ߏ!1}1cRǜ]D%ZǼKsv}8/_tLyfL`I L L L L L ̏1yms3FtdKR0p}_,u n;yܸnodT[R8Ko<*IY˾պ e?NYx_as 3nw+sXrQOk1TkmTկ4~ҕExڷzt%s8ݬͶud_ߖglksm9hvnxX2EhXκ^B}Е-un5Cܬ0>^W,u/xu`5ﵟvn{uKSé|_6Z7Ux ɿ6:vU۩bg ׌. lg\:Vd<څWlww ϴHnBlY}~j6L{+Rc+V82±bW?^v0>MrݾAX"LϙsL8CD3gp#lj0?gn}Lg"DO&D9;ń3gO%„v<K^Bt"LNy@U0s0/7;3\#DTN 0kVy_9yLgnn߰Y ,o;NOC|/؇?B3D8 ~ aa1Y=/#;8@q$|vegpJ#^ FΓ<# /.@~%GhYv^ňW#RGhg; 2īː#3ׅS 4P W>B;o3_8uE~Ghg; !>Ghg ; ě#!;NK[ȿυ;>B;__tB#; oV8=z .Ghg3; }A?Mlggp#> FpGhg/;? g#(KgpC|,>B;M8@a?FdG?@$GhG9G8O#><b O/ eGh; ħW?)N%ἆ$|v*spB!/$|DڼOI5 M<-c=̝N'v g7?ȏ^B;=#N?v 'v3B8!+ NP8g!n_ڹsE9^B;`)$^B;OpG

+^B;Op*!~!* K8"~ 5/Wؙ-+\ڄk% \zNEiu^B;ﰳL8 f{MnB~+KhvV Vo"=%;kAw&v܉xWp'{^B;v .{ߟ¹tp7^B;?pćMx A܋=^Ox fpD !v~eGi1!%-c7LBI0 ^B;E9ğ!EKh\veħ*%s;3 `_'v.dpD &^B;SC8 _"]K$S뭺d۷=Y[s;!dߦr g;.%"TNoBm*']8?!!dߦr  $"T=±ňiߚ!6p #^F~1"BȾM<*{@ ""TΓ)xP!6p*"^TD~e"BȾMLNUīȯNDٷ©x PiD}yC8u Z"BȾM,N}Bm*gp#4F~S"BȾyv# 4G~ "BȾM|*ֈߖoAorߑoS9 Aw'"TfB'D}.?oS9{3!`(GBm*gp >AX"BȾM80!dߦrN g<⏀oS9M;&"2!dߦr g π)ȟJDٷRy KȟNDٷ™`Bm*p":yD}ʩ.0AoLzNڮyLwmkrڮyN_=yORrMޜE9_#72_#5/*:-9l>n.E^%lSrƦ%~ܗ?:ӹS:wꘚoNSܩcj>;uLsz15ϝ:Τ彎~~~~~~r{iSSSSSS/45?05?05?05?05?05?ٍS~A2}/ ۨ'W FFvF?n1̨d(<1@#73u~k6N-2FvjQi/hb*4Ӫ{ J[F:ȿwwzE5 ڋha(z}KGĴSն:9Fb~^7lƋ? 8j/?Er/M3cF:/U4~((ȏy>as|TSۥs| <ڛ5?{5O/ğEs%9;'R85kt-oM1|j4&Cw +SHJc1O~EEEQQ#Ut=:o(Q2Cm>tp^崆%:#յWey2yVkŷV7բ~uV-kpK6uR盼^c\+V㴷ׂrX7oxl,umX;,jlimuΘvU}2sl>vjTF7gSiO꼈-sXXdȻ<(Y}"ꯎElq,b7v[|,Zbi¶5`чOq~mMs$_LR}u\c]srj\s+וs\,s[zsetw,w}ֹLg:^vVKsLg;>w{jQK=핳*yM<7g/ۼl9uVg:6q1YY5^y]y?_{f]g|IٝT=YˢIZ/ LD?%k~D}DyK _Ref113107630}DyK _Ref113110153}DyK _Ref113110171_Dd/3> # # A""͍O8`!7xg 5@=O8`!7xg80EvȲ%oxol[c9&mҐGQ ($}vՖR¯j*Ӌ$HAtz_*nn9%p1jߤf={|>̹g~kobE_x7dË?{~bfo?^wRqٷ7/xm??D}#7) Ox?(/?Ocz?l~沏f^^z͋φco_[p\+_X@SM hjܮe^Ln{;,ݪ96.mM ZSD@SfHUFHYuf MQjknwNCGɷptiglpp[(45zgSs2tM,;8hlNCϴFMVaZeg^.5O9o&>]Mo?k55hj4u V?yHv/+܇v,_Eek@S*9}ӹ!-9}ꑩ_'&O]}+kjh Mwmȯb{F2~@SsYuIҬtMAt ,Hjjo:r,6a޸*FKw؄;nrʴS_xfL%^y>2pmS,^'O24#L)6@|;aWdׇ4uiQ3NX:5b+/]XߛiVz|z{yv[.Ez}l XtЊBMs*Fkw]P)Ƈ W̿4OstM}Hxfzk,yj/DG;}shmu>abbծRtuyOmŽ7{~(x͢G@9ছ:nD]nWtj'+gíok |zs/rAOvJ+NUM޼qUwu=uzgei ۰8V|{mq9~A-M]\f>yq1Xv8y4 GhnVGN;z<贓|d3w͋P\:>5q]բi2p\/lOoz+6֛z}SǰCn6|qufsiW=~׎}M} z?_E5ktM]v)?rn"u[wsEzz̿ݜҵ!:rW[O]=Fz7z#Aڡugk Ϯ>o_\\֫_S7u~ߡwS lð(衝O^oWOtҥ3”_Su=]sǛ:g٬ghOޯ?bw3z45h-5yauWݶ/k`34}G>IۉNpuU};~;SPSG޾·wo~i@S?0IWMS,t&!`oo=jh;GCƂNA=rMn=~MRNQO{uG}ti&}{pzy'ṬO<_S~.멧y.}uMci{`~^QS6B>^=,ve_ M=y2FhMNvki~KoR{w_ZSXOؖ\{flj멹ϝnhjڗx;C>ʪȻ=>uq}v6azG7:It3¦QdvpY[lC\K qwGotwIۧFV;999ij@S]6+vӋ\Ceʇ}5vrrrCh~%1 NNN@ Ekf囹g 2p C ԚIS yԚIShj Ec[Skj''''M CiM45P454%j'''M CiM45P45⫓k5Kh?#prrrԀkvs?`F PzZS[Hf EVS[*VOkjKe@SÌhjjKe@SþCiM45C(Ԛ@Shjw(Z=550c(ZShjM E5f EcRSkjM a^y)4 EM4 55@ShjM hjKe@SZShjM hjM 4555@SM Mm @Shj@SkjMm hj@Skj45MDP{ԚM hj@Skj4545@Ss\0xΪ 4v9r?5W[.fhjM6u_y /ۡ+wFSkj45桚yn3ͪԚM y̦NQ. u /55@SM]\o^tRMm"ǯmb7aw+MGnxQF^,[MjxWMϢzugQTϨkfMjG\n4O=:=tԚM}Zб":=M'9zѰ#޿N՘}鯃FSss3/6.fmm=uzge#3/MjŇM PE荬Ûz$TMlu:GphjnQ;z<贓|ܹ_K[ǧhKߡҌj>ZSM hc-S;P_G~ 0뜴 櫻hj@SkjM=QVLd^h\C/FSZSh;ڶy;XZnꑃtkj4555 [2/(؅|44Jt)Xu-yyXM hjM Ìci]~i<6u ävVSM4FJ0kh Ӱ~wW' m^=FSZShꛓVί}Οl=u ՋfM4}۫G99JSuiu~fuS X6M hjM oNя{~.j7Dt<3?zMI+ kMT>n45@S6x7M UcԚ@Ss 1w Z 0ԁ]y/W㐧ީy/5T_#n4u4alV9ܫ&w"ϳlv榞jZS?NXaw˹XX.gf3趿0̻K}GNxv2M7uigMvr9c6W8K{*`߼qu摳 W[`CSM C+6*=6њWL8یO]C>AfS]a14&C+AkNs45pN|1|5̄؇~7uGgn?_0enCp޸nhSؿw9`gEPv]omlWcd7^ a<3Ws7Vǝ=e 7o ,a \GF^hKtXz?^zNƔ^0ph=Hl<_Mה\GquܦN74PӃ(-mMoȾw~"}mY(1N3 8ivzyΦߋji{GQEWSSWjƷ?_ϸ(~ߟwޗsγ/uz̊@}Գ?a}t&JPS#S9@S_͍s@eb'Q"WSӄWՑ3t#%N>@oOזMo:{37ş>GՑS~CcpCa h?jS_/ǭ=ͼ7ϨwXKtM} Mm RqZ4_tϵswg}>m})w\>\;>qR6yymvx[tgSw~S{<ocE8@Skjڷӧ~zlGG:7uřȭΦw_zwrܦ>R@Se(P4Op~]W>q.;w3kcZ=s(RtMo_[~4>[͓!>q.Wmo~ힴgn_4?OSOko6[ \J=o)W7>[SxS:-ZSt2xQ GSϿ:cm~YJ6gVA}t%z7㪽 ׷">~}}JsfaP}b?{sŇ|(x pM:oLW(j{i<~|}Zh4uqdxA'Y-CY,u[iNS6y?oZ&ϯY˨zhj#'{uL5uuyU]X^ձ4hc7u秙|lV[^s0l躶QΛ zbZ>O׌1=7To{izDͻ}zQ}j{<9crS}/q=uZ#M]ܰm~>W0|*M]eihIVÏ_ys0۬h$Gn2/Kq֝_?ڂkwm>n9_a'-ooB6I߬Gy߹Tdu^v&hJ΍͟}GwwX4~xSYfdv0\?\qh5bZg}] :șCcryx]zM}o߷m]!⓬.uMRct7-ʨ>ʈ}'ṬO<zIIM}h6uϐFPO<,G~wwd|sgO`Nm<o'aM}CT4M>bծ]7)OG~w͞WW(bZU=S˴kImﯩG1ڡ}*JS_ﻲiO\G~Wοn3rmkՊm72O7w{}Rq싩اEq-hꡑSSVLˤWS=xn;z|tȁw'Eok}kT;l J>jS|lF5ljgz>0EW6U4ԏԚ>[? :O?ku46eھ>nw37{7I9f&Ky?ijKw;5Ԙhҏ sCm0-ÛMݽft;GS[[_bv5_x7h>o6t~?SH>ۗ5qSoxN~9GS[ԏ9TUnԧk}gzG^_ ҼF9zSf/&8h_ TdzSOMmNS?Pz&M}a{%pc%Kg7uEOGtNo)ӣ/JS?Nx76@$YÛt[؇4Pu n"\4,Ο1kjM}٦.64* M}b *}US_GX`~M=rmM}o+|>}BJ>QS*֍Ώ)[JlSe#Vof{jGS_9M}幷ױ.qgK7 -ܭ)M=qz44 z|*MބkU"WS_GX7Ty!^׽53oNdm4SGSq/Ywx_ M鋆}IM}a[EE`Sѕ~s^8^'v1{]Sk+##{ϾTSﳘjSyÕ'6hԷ8 z|*q5C9a`)@X/VOCZScESkjyyO%4hj,hjM;#nUqϣ5f jM}C#o1ZS55JQ;>yCGG\v:um||~; O۝M=ƫ/ԚG~LGYS 6u͑]r82.͉}}$odkjM}G_3}Y= >xSUi"ZRǛOW8ES[/K|銗BSkjM# ?3fߑ >xSZx4m:.*XM_VZSkjakj3+hRO%.V!N7OG)ф}꫗_YSkjM# ?Cxw 6u~uNWԚZSÏM}m/6S M]4uoM]zZSkjaџ>Gj?KqE2|*lMݏӼXImJSkjM# ?zMm TBS*,>SKM#V~4I:_"3m:6u{Pvl]o؝M޿mw>q_4K/5>?OPVSTPS ڭۣ:_A7qzS:lԚG~i}}̱JhޛmxWk)2mǟB7mԚG~𩄦.S2I4> VPkj>ԚFwZ=~h~ԾM/ͯ9[Wlŧt~RzgAhj,}S /e$Ro1U#hj|*w\QZS31"porZ]s:hj[SS bVkj,qSЫ/Tq㑌itm‹+kj|*VS_kϯ_CѝxKר_^gXRhjM}G}sA/3Zv,V)'^9{mƧa(ZPk|}X޾{ZSu|wo}ʇJI[UtSwiJph*|c=jt;=WS4O9OԖ^ԷԚ M=!^ݡپM=eS 54u\.Y>+/Ǧ']?T=j,`ESykjMmfվ>XApC jpie?f1?O^^0HS~54>B>iΦ~'ř͓Qwx;(_S[z9VS\Pk뎽wvvhoP4Jy,k,xVԳ_Gn"CݷC)Wz$ퟶ-42cf>FhSv;#=_Ap+C opUӤ#k4(_mc}/`FSǎUoSYr{FZS_яU4Mm EMބo?çlӬm-y53vܷ+bwxv55M&R2}[9 z755T⦇le[ v=>iVS.;xlMm(}A4E};+KWw=}~kj|*yhܞ]zkcn1J{505u:'~9vMYqN-F?z54ųWKKk|uGVX_i;vx];S^ɽ^ M}Ҧ~II;wn-|/~V?G߼45> 7u񩫿n_暺jL=^>9)og4z;=m_=E:ٔGS렩oKjW^$PM} fYH;+hc;t,,_7=m}ASߜkxh$knGoXfLkKGVFV=KKS__M}:-ެڜMi\?o5x͉wBp(Za5Φsxcw4uP嫭߿ߎ_QWۊc~qݧ/ymm݁ԥTykѦ6zOU#~aqΆe\mƽ/|M]sdgQ#7M?wM} M]A*u}VGsph_KG^Tcm?PǼn_V%k/i܎snuOs@W;mM}W{6nͯuhhnSzrE:vq6CtѬל}`m(Za?#G 5uZOoSrc髒_sƝΡhkjj#ֻMw'쨭.R5IMW\=s_yޫs@W;Ԛ|jSzXCMvV.]<zjM} VEV\{W%w]s-o]; $pCG6V/lo߾:VlY}CNS^~L痶!Qv; $pCWXkkx%aQ#U>®Ӫ.. w5t|>jC>hj P|aOJnWlܶټWhuUe6zbsqK|XZڋX 4<%Y6x~4u~/=SŗOhj $7jH 6{xXm~ds 4rNJS{_%M-}]NI:?:StÇZ:SSkj $C!}t멗aj!7u-`# ?zM SIShY3Uzt_I tW:oߛS ϤiV_Y# ?zM S3˨nm9GS4x\%84$ wr{f ,ċ;ϧ0]s|zn/&Ah# ?zM pJx)55^y[ijiUv`#ٻ~>$eop|zShUJeGZXGɞipUFSg}S tԩe\\\yS_u_.~@S_y I.Ez}qn[]Q-WE  veirmiѝ.9=W]7ϗ۽/>tگ5ZShjS}';ݲx߸L״tm^_ƳwJ[_O}7|8iS&M4 5:o߸Lq> ;޸Z}p5y䦖՚MFqɹvX?]Upk |zs/rA&~2ֳ}iɛ7n_,ma׾xՊ=>=>~xv(l>=}n߾S8}qfûq|wPܿԚZS߭o\n77ɋzC𾎓O7._,ڽ|']S?;7yw:v2tqXyWae+Cxզ\mN55Ḵ㺪E멮Ȯg|oHGl;X@-wl[{;_/MS/m{|of,J\SkjMM]lYK\|v'j}XtI6~ |%:"`c3mJ6EkjM55S^G=CS? jM}?<㕌bS.;xlM54uCXghmݾJUW[Ss㹿8MYX5ԀOzܦ.xW AS*"og4Ϳ5 ͺ@9Goxͦi8Nd:A} HTA} M}ăl2MԀN] MXn.ҵzٮzoXIzmк3_5g̷?t#/.{̦^t~}Q1ѡUXZfhj@SlbI1lݿzxd׾2Q>'e{lKVϬ S~Mѿft;_0Y6x{ H#Kq TڙkyLX O?"GzꌮkMͽ55[MbMQnۗ5H5}ut>IۉNpuU}ws Z5%x+.[Zԗ} PZsl/ߞ5ZZٝ?h:\BS{kj࡚q^i㗎$,Zs{:w8*.krL4VѣM],?7t&E)7{tYo߷O }i ˄~hjM}%],-w=;ϥN}i}~L4MscԎXZ<o]W8֔;/֠=;W.?xS[Sk+|ÏM S:ǃ^O>>ꁹnGO]?txݺ{eئm]# ?z45O%6/Gك75>ǬԇA-u{H1ߘEŰ/7H#^2vhUrv˶YٿGyPsxnso \Pzڂ2M_Ӛz]ȱ֯wKWzPK/fހhH[0TfqHS~Iι^kmуgAͺͽ $p%Ci f7lnn\S/[t'#u`zbm X kF3Ke7.Bl*U5un{Cyl'Z_EzQfހPzڂ2c5uW:;knG\<\9v^]}bm X E؂2c5uMwm 7m,jgV}c=nso \p(Z=mRmοk|UߧN;mڜb>A-u{HCѸ`f7R2UM }3XjŬ@VO9]SG{Yo{MޮFwdӓ/V~PK/fހP4\Ԙ'G|*Ci45>>`P4JԘ9G|*Ci45>>`P48Ï^ST}hj|G|*hLEÏ^STCMy<,_SM `m hjMveM  fʘcԀ3Ke|mN˗OUߗf|N:o*{7ϯYlWut@S@SsbmnkpvпjzynK ]4nU u{@Ss=BvY]H k6upjW)V4~rszʸNk~KUY]P)>_g?}g{k_џt_]GᚿOO:3 ̽M `+vk?ۼx;^o3Snc翇Kq&Lhjkn~c fl(Ͼd,o~fJScm_|9>u45m5#?@S =cɛ@O9999-8\l,<f~k.ae3͗Ҙ¼h!_v]:R9y''}ij@S隺yn3ͪԚZS;999ijMc6uti9jhʚZS_Ijj'''Y=2p..7~uzԷNYS;996pΦ.xv-vFxԏ^'''z@SÉ:^7rߓ=?|%/ƒoN/[L<}+?pyv>\gŸ >,^D _no~o' =~C?z_^_?x_//s_ߍ|磿|ߞh3Me=K/=??v8_[[^oo|y;mo?o|~M/^}?7?[??:~m//~?گͿ?y5\g?}vDK?_?y5+ ˾_|S>z~??|ߑ??y-|{//_y8Rwǿg$X?Z5l1~cm= ϷfӴȦݗVφ??t7=OC~os_}3mq\6?];φcn~x.}Mo_(z/hj@S457jٮp.vXqUsmV]v4Mm ^5*>ASMM͐v3<&.9PK0zצNc򍏒oS8=qfL;Qz45hj4Φd隺YwqrٜilM M]´8_E<"M]DkZ'r8$M|):*+Vkjh~^V^jSY{>VSWJSFSUssCZr#SۿNL}WEZuPyƿ9>v^YSFSUX{SN ;hzjhz_i3zԩ {oM5u?Nb=sS'!+M M{bSM=r,37u:XaM6u7p)M=#-~7 6ux{?CMQy~kjhPCpM] um}w M )ݭjS[SFSM໷w턵3R}=wݴ}ijh#+/y|:MyO;ZO| or~)?>jSWwS&2TS摛zg[5'jvU3\sM 45hjM  E@чb45$aPpP48M CQ hj=452 W@Sh5ᐡhfE+M E0{(Za hj E#ph51 i@SEP4M VXC 45\d(Za hj Eph51 {@SErv "w[Eڥquґ]Ԝ}_N #>ͽ 捫ӍeuEYuVhY3UuX~?qmx~'npCSV<M]mpijg٬0v&HM} üqU wpiÙ! xbJ| 5ǧ9dڧYNpeh5[iGSl${5'fuvƧɞipUFSg}S ti=ujbW(_8m7 Ӭ;/;>7u춺]΋x&莡1qUзl;Ri:额ߑ 1egGIRU0IY^_ƳwJi7ԧ}4Ū]z8j}ڄo\>uQEˏ 遼sM7u܈:.9Wݮ?N:VHS[L_sSq_G):ru(]ӛ^aS+mMW\@9 M/w{i?+{S6'US4uqٔ]v:awá334!m axC(_gEij)[kZp믺m_gh WK|!fY7tmwwߡT}!<}zAS~a5BXY<~MBs{:w8*.zLM ;:W{֏额3M)5^OsYxMP]4qSO\!כDi;罞{m1jO}{ʝMJY,V*]M zdl㭩њ>~ߤ|bjAy:-߹z5*Ss); ;/v񩇤}U]=w;z|Sm+6not45gvM=;0 $X>M ԇ :OMvrrrԀl#>V׹ZSj''''M 1Օ kjM䤩45MKb45+MS?l'''M dA5*k5ƶNNNN@SIӚZS;999ijMhHkijKNNN@SӚZS;999ijMh$kS7W''''M 1VOk,G䤩!< `MmQ~2ph45ƭT45;Ԗ45CpԖ45}ӚZShjM 3Q55԰PzZSkjM aP485VOkjM 45Ƥ@SüRhjM 45ZShjM @Skj45MԖ454ԚM hj@Skj4545@SRԀԀhj@SZS4564555ԀhjM hj45^\5avUir~k.7-l7].ͮm ^CWVhjMC5u?K9fr?U_55@SM8]m^\YSkj45摛4޼꥚ZS45E_ۮnVZS45񢼑9#XZS45CyvSOChjM͝5uZSkjKe@SlCm52M Ss,ߏԖ45FSOwȚZS[*M=5T45g}eM-hjM^_XZkjM MSWSkjKe(m2hjM 9U _,'/luXw۬t@451_z 4hjM汴A99ߪ[v699"IS`]qGSkj457mM !h McqN6}'z^ŝ;L՜9>=ZSԠ!fӜ{euf›+Oho=^vޞ`g/ܴK|C.>5<{* S6WVJSNaXti=u6C-4柫u ~DM_X:P_+.|(MƦnˑrh_M .ڹ.N{yج;/wMEYh٘jwhM*tOS9M[Ut}:OO:hj45I1Ұ/Dz<{tN_ZSDub0晙nR XC|xSEjϢ)MQ55Վ~(xi{6uz55:'pcE}uzʥ:NLusaG1_Mlg\_l]zFfm_Պ=>=ZSA<Y;7HU:tᬩܢvxi'c ,s՛7Oԗ6޿C9}՞}7Z6@S_vt;`S`JS9iSw/WwԀZS{ȼXO^"M4wmn;wƱN#hj@SkjM}'d.V_Q Eih6+_IS^Z&45Ԛ@S߇ҺxSI>MӐx'mI֭FSZSh;ЍM+`^Ի0a/;N@"{M47'-*/_]PM?zo5R͚M hjM /WSsr=QSN[xam55Ԛ@Sߜn M]njSWyxpeM4Ԁhj@SZS45Ԛ@Shj@SkjMmhj@Skj45MhjTx7ZShjN`M hjdy @S"fvXa 45T.M hj45+ kԀකkhjfW֠;kjhj\J45p7M=e Mq+ kԀ@SsHH45`5hjfhj55 VXM Dhj@S[*\M ZSU z1`O?HV=}g~Vx7y3&M|hjd5V.lxmn45@S}<55c&@V#4 `-u<^@owC!OgS^@SkFƻ x^uYf&:Uqv3KYKWMDg??ЫFS^~M|hxig٬Rks!WMLt?yEgM=04~ &@Ssױ\,5[=BS~5́3؋ fmaw3c?gS_UjenpUϚp&vslꉯ90p/|Uǽy#gߛmVlU{m5!0p{Cs黆8|}WSW##bhLV?PV5CלxhjXM-caSj 癱od!;2*`ʇq5?@˧sΊ W*#Snyf_pO12o\Շ_Y<r3~~.^)s^ a-N[o{ .yz)yMnhQ•[v/pޚ}&FEڲPdcSfpM]}5=0+q{@m4*7ÍoqQ$?/-go_-K[i5^O}竩gM\+>+}S1砶u#.(ǁq.my.85%S =;~I9cU?n8F٦6*xPCc]ǩ*ɕp8u1dr2(>jbSbm6cMe|j O Qupjo1'':vngtꢊyS+:DS۩CZj[!HC g(t.CD\e,GTSbüޣ|+[Ssr!Nڞy{XXOWWu>~!pbǮ|,N}.r%N]Zj*>jY<RlV6jhuc!^.Ǥ;߬-}N}b}s~vyN}PG|S'cj4 yVh=TThu$U=ZSOʩYSwU,jX̢[/Uka>l8TX5N=Q9ЧѠP7VݩqCqԏ$^nH@ Sݩ.kd 'Z- GϩE&k:r$1A8Jw40b_N}^_\?GsҾ8ɩr%Nݽo.>i$Zz${{.Jُ_ndm0?{S9hN})J8N2b) 3Dea2N[Hv;urE"]F9u;썓ɩM.W8u|Oy,pֺH"wiRxzزT+*f<24wu߃rq (:Ss"CqsIrSԛ~l2ͶaheaGƟױ1]oB.*pꡘSI+ƿ2iT>si}cݔSDRߟSz;n}P̩~;pxN}Vx,ԜZGw9F$DKeaΩ'UO4ԏjpjN}I2 N}TZZ- =Ƭ,$BvٳT85Bo6iC}34FOCޓCN7îNț:U]7S+qGv3+z+j!N=E s3\|SW;_g;uySNtEr)MN}g=oV',1Upkx:o NJS!>z8~̨U 8V},lZ;d|QHs 4+F9SGg/.XY8uFY Qtw!7֏N}7S:ԜZAsiʩ7b1֦VAw .vczpjNͩ) U= ȕpK;u{~[.שE.`i֕L37[9Wc^]Y8f}{"㾑1SN}7bAĩ  NK}UN=,,2.,2/NbW j1^Qw.jo՚#zpjNͩ U= ȕp 9uuNN ԓŠs@tƑ{I:oN^ɞ5>{'ϩ:pj=^rNUVSO? ac[9uEV۽6&>zIi@R_raz"(Or)8umu~|ħ+GiN Nͩq{]JԜSSCSsjJN}!?o8^nBnSsjYѻ?|?dZBN=0')PoXté]kN ȕ0먨Nݽrn'VSc_M8@L-*SvScea3rTO}S28SGRU< 0ͨ(s9S;{;bn]Rͩ9ERճ7\]0ntЃ $d kNͩ:uQO둣9ul-U.^ܐqNS_8UՕ޼W*y;n.: 0ౝSũU/ znS ߿fpS~?VAԗ㠶iniKP &šSO!$}AZ6ANUm.> 2 >@GT|hϩ/m6qef:5.OЩꩋ*ӡɳ&5(HyF,Mqk:nސq[jN=%β8u>X틞Cw,:S_Ω@dz,g3`<73ƫs.zͩz7tթi,N;)mt2?:) :qu!.6K+95ӝ{€2x=B\=*\PM$9xgY\ԩS>]/Ssj3ru>#{\&9vaWS,\ NM9585;p؈:^*\o .Ljn~=#)N}^.dd6煉sjNͩ95N8Z{[wogνSqWiﳞPs9>|DH*>yu1Fܯˎ&,SsjNͩp|@hWp}vS+> mN~q,op^nsjNͩ95N5Oz^.>HI=5VO=*BopͿ9,%hNeݩIHr /PO [W{Soh-8u1liܰN=e< Qv>` 0,|moȩgMU߹Fq.|ԩxésUSsjpj:y*8bn.Ե:VO]r;1/:ۂiR6ne1p?(['/.S+݇Pĩ=So_+?~j=u@2:xPjsiIpN[$uoLAڗ׽L}~S{-.ndؖ><}M2ﺞl]~Vu\t/ 5J* &ܞ7|ˈ{ÇB~ǪSWg&tלSK95NݷݪU6bnDCHS oY8/idvw ޥiASQrjXnWZԷ}ˈU`m-9:u :xzlh;?iZ)RoN ࡜q¡0eQYK(ZĞ}m=TG?b~ɡԜXУsv.)qԗM{inRxN} 7|ˈvfc}{xRI 0ߨxipjܽS'GΝqȩ}W)\N. 3mP"}ZO"zP fvN HkeUN\sqcj:uRsA*]}In7`^QQ4tcSG[ mA{-8l.t$ŵE7~!٬ vI^$Ro $\HΩ!8ȩF) :**?Sil 7J:qRO?]-@L<*ԐnQ0c[QS=dH^ߩWvcu!>'UztK(S6t./mQߩvSiPUre{Z_߳T /zP &UO+)I7v~Mky9Q17{g:I^$Ro $(`T&8ũ߹5s]CniNuJ%Ro $Di32ƉNkn9uڢ;hԝ:Г*HH)DE1YLLqS d3XfS/vGۮ7U~9H竡Y{Ri[ @yTT=`T&8S~qSr8:wͶktm.NW$h:3TE-@<* fJeҍs9u8v~GÍ6lUoɳfճJ/n7QQRϭ'O?u9wqEHlGTE-@0* fJe8SJbx9O1D+tvA~^sTE-@**场1vNUWvۛ*wtSCX}I^$Ro $ N i[o˲f]QWOz2LǩSswt. w2 HpjP*4:8l\VR +ڜzTiǷ?}?}ާ~kӧZol6o|ӷ{C[~c^~=ie85(aq`~{Wowv__|V~=/כ~6ԜbX85pjکnjNͩ-VbSrSsje9NmX85pjp1m<ԹAkͩ8b8f7X>7[/Tfkǩ- N Lܩ̩q E}NmX(0ScN78Pfu#858PƜ#hDƩ1}\ZAqĘxISjN NY;u_g85Lvձ NSSc.iւ];9.G!+($mO#90Ev#pEWB`^ [N CXdAFR]{%5]_֤%"hwCsQh^7<}`Ew`%HGީʨaċ&kN[Kl=ԟ:j!85p AfU뚫{VWOTث׃MFQVhr۩` fQi:m\6 j[nGvԗta9\ZSgQvý7Y;!SNu]tΩP桁bEv!k.&]/ܽݷtN]SW8`ei}is=85p ]ra#~':u:u?5Fh)ΥS'ٵNͳZVOݽa۶E5w1V4X^V[9*?O S $ # A""f&hb& B& 6 5@=:&hb& T nz1&xϫ4YZxߪnŵ•KG (pw.n\fCz! R4 2&*n|]H b+2ܛfddDFf|qɈ'ɓ'UU?-FU}l#kUSoT/YU-?u[{dtcEbߍ>"?k}?_б1Slz~ngjf7uyWO?b~Zz?Ez>1 u~?S_,ol[O]lgm;WMۿ~o>hѵ͞Gkz{4ֿYV (JFbۘ~7_Z~mgV/_V1b~lbZf~kl}^V`uǑ,EHc5{ƶ9ۜvl?cߘVUi"y\H5[žm6^#|ƾ1fUrY#U2Ҋ}"y䵺of3ľ9x|WHkiŴeeneUQYcXiDYVyki5E7MN<|\(,([k>QU"򈴢|(&棌(jvyDe]or9"\(,; (klD&UwGyW71eGWYrUa.{{eEQY>Q)t*H/<2nb>=rf79ɜL%.xu.wyEyUum5v<"Y:wGyW779k,_#X\(,7:sY|lo5\e_7ϫ"x{.[ke?3/ʓ?l~:ƾ&Ϝg7E^kzq:/NloyF~Q~1g~ʛ*0i6^ӆn"38ŻdgTf,}8 \Թq (п0 #!23QpjRxC@?9LdimXqnwtWnoÝW XK_ TH'rb!(CrI z4s8:H.c$Xud''Q˸؜e\vε'O2.;gO2樌eQQ2(iQ8 pGp((Q8 8 pG(Q`bneZwt罐(نKE;*;JR0G7GRxGI ]pGR`hI[07X.aO pߖũV( z\>VTpV\8X,HllLR`8XJu[<(>)Ikx*ѻ(^[S(>ک)I"T( qAӻ}MI 辧 @Ay5e)PMOCS9t!9rp{(ѭjASHGמj)MBt)PZzKSTG4dOi { M?A6}h ;s@6XNO$q@Nw<A=x )4!J+;s-ZNא,T8qs\2yFGx9>8,l=4ѽ<N^ҵ<tsO!͖>)O}4Gp)0@+<r8My hux QE)0G>tӭ=ïzxG>@m)Ms;84GϞzꈥOєhɧ׾?%?x ^&v˻;=O3GLy #GX)O8Qӝ-^Skz)QѢ5P25)8Z<GהN7Se<]ӽ)O5)8Z]tJS5cqiGÚaM] #45j)M1IG4MG|ڐ0I螦؏SptM)w2cvAvkm)t>}MyRow=]#t<Gy LэC6My i<GKmהE}ePBL]tVRL]t"\bL)8ZG7w2hNhv}'#Sp0S[d)8Z<G˿)8Z~X)8:YZx b+Or<]XEjzCEh8zptpO7)YWyv{Fԭ1GEtޘtt O>c7ttCxZ4=$.M諭uQCq9z|0Πy"tI 2LI;yp詰Z^S\ ڌ&龯NLYTu݃t2BG5т=GL(K[Uz.=Y((,-M5z͖&JDZK> #T_@Lӑ(&钣@ٞp'꒣@-2u(0wwG%Ga5}:PQ\=]rZW:PQ\.9 2MQGӅitj(Pd=]#r^2nG1mO#>ut4jZk*GmDQ9 ݦ<(x4)SbO{rQ`])m}hmI6.)!rZSMI5SG4/GPzP%=IW^ h}@bmF[sIstR$)G%]rJ9 EReKQlIKU~nݎ^[(#y0q69݁ uMzl`b:On8hRE.F_1G!>!pٝk?jrG;=\('i6(&,pnxń%5ߜ*{pw//%ևzf.Ga$m@w,SDbzz7PېQ8IGsIN-s EJ7QJiW6ߦ1Ӂ8 ^jOۥcH9nѦG;Ɛ (0mOꙞ4w8樺-?{(p8qqюIa(8Q`ʦQQ`V׶AwR(QFh8q((Q8 8 \{P?p(Gq8$@q&(; @>)H.!~}@IaP\}R@;_靘>QU|06o>1}o~F~eA}m۟ 1=?/阾ڶ7u?Nwb_mn3_KgSez^+ӳezV+wcXgezQgg:NӟFߏ?/8bGbwۅ<_zqzquyߟburϭl[w|~rݧv[ֶ3z?Mo\}~=~j~a1}?MLfc;zZf?ky< 4W|Lk=4׾j[{itv_֫co<=jDZbk$v82fGyQ&'!e΢\|1ƑO;k\EygQywuQyy5E>n.MN.ZUGgQYy卝"H7ʻy(&(jv]7\rGgQY7WEYgFYc#ҜGygQywusɻU?ery(<59&_SN>QUy*Ҋ7Ef\Q,/<|<#loyF~_59|&n9iX3x}ogL!H<,̥wv,,}';t45ca=6{Qಎ΍kn9 TI}mP}[8WOm-9i(p{:hѽ&v4Uݎe{(p&aHGmo' nOa;Ut&a$4ЧN;kzC=wcs2u3U~4O<>51Gw ]8m|a&:A,rQw|4?)UUx\<o%F*LjZukJÝ4ja&4Cd0}p}zrP_]^B:n40@ DIvKR@$Л @Erx$9'O2'c>9XGe,s?92q9;21Ge,c:21GL/Q8 GpG(QQ8 pGp(Ss(ӺKG(&v>@96\(Q(Q9.08*;JRpG;*CKڇr |lX-ol<G/Sp2q[y >`Sp?$My <7h-_{O  )OѲ5)8ZTtQis©8 T}OCGGqtt`Mcg2[<-r:MG1ZO'bcEiNW?<xRT.t"vG(ӫ(Z<]U[XQPj-}ǽ.u36#?(t91x:eK9G<]Gmh-/GQvH@SQ/-(^ k:9K923P=ymIx:PQL1ZQLYu`.B)G1fQwWni(k4qW"Zad=bž G1!Ot=+8Qnq%G4;".9 cuqRJ5=钣КR=0uQ O7?i:.N#P%G=E((&b.p8i{;pQ+MբXS9 nk%Q46)GӠ-LArS'=x_JiC+oK(tL !Mu@rhJڭrh>o|9 ҃-Ls蔴 iEߎxQ{oP+'xzojQPz9Zy!pt?~ӄࠤ4pt@GֿtGS0x(}]9Z(J瀚zW(HzYO@{z˲v˫sl5657(HzQGk{-Ti GA:Zk}NNt$t̥ztQB(}-G8Tq$-3r$-^WIGIG}pG֟hWo3ښ/ H:×&I9 (钣PQ`,r([ReKz^ tvvrh5 G1IӇ!ΰ׵t$=G_uk>ocsӑ\}ut!G(ʕtyU6ֶ!8 i.q^Q{>8'G1=ItG1aIst`#(&,iL=Pp{$m~)y> c60t9%i@^侀-Zcid%ӓs%݆4I8 KeOWvj(PL(5p(Rҽ9eUJOOg6%QV{ .}C2p$v6U8 p'6dHGm{rVǧqm;6Gm GTO6h/v N +GQttW6G ]E(Gr(0zGKʼnGpG(QQ{'=pu` G9 Q$s4@qT OAp IJt꣕(jL􉪚o/?﮷y+ގ~7+?m۾SK/31}!g:/|vyϮ!6xg۴yn3_K;VgV;.t6?^qx1}# =oF = 9? ~7^qlvIf7Zo?3T}DyK _Ref113110239}DyK _Ref113110432}DyK _Ref119311970}DyK _Ref119774539o$$IfT T$ dy! n!,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 ao$$IfT T$ dy! n!,,,,4 a$$IfT> T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a$$IfT T$ dy!  !,,,,4 a}DyK _Ref113111698}DyK _Ref113110791}DyK _Ref119480687}DyK _Ref119313494$$IfT S Y )1NS_X d0!((((4 a#$$$IfTl S Y )1NS_X  0!((((4 a#$$$IfTc S Y )1NS_X  0!((((4 a#$$$IfTc S Y )1NS_X  0!((((4 a#$$$IfTc S Y )1NS_X  0!((((4 a#$$$IfTc S Y )1NS_X  0!((((4 a#$$$IfTZ S Y )1NS_X  0!((((4 a#$$$IfTZ S Y )1NS_X  0!((((4 a#$$$IfTQ S Y )1NS_X  0!((((4 a#$$$IfTQ S Y )1NS_X  0!((((4 a#$$$IfTH S Y )1NS_X  0!((((4 a#$$IfT r ` 8 d0"((((4 a$$IfTl r ` 8  0"((((4 a$$IfTc r ` 8  0"((((4 a$$IfTc r ` 8  0"((((4 a$$IfTc r ` 8  0"((((4 a$$IfTc r ` 8  0"((((4 a$$IfTZ r ` 8  0"((((4 a$$IfTZ r ` 8  0"((((4 a$$IfTQ r ` 8  0"((((4 a$$IfTQ r ` 8  0"((((4 a$$IfTH r ` 8  0"((((4 aDd0z % 0A?S""0[Mb5 8 5@=0[Mb5X ۅxK{x] Tѯ?`A#H#qDX( hOYq5"D0ADP$FPnQ\r(,xQyff~3I~U%73sn`wP֖k !(\D']*;\.!&iIrI9}AKeV˓T  6%$5kޔԂekMҘ>꾇H#bj:+HjDYzu{|C$֊dY+pMWˊ{~?4vpN1L]$ah)IXH7zq^J1 q^e8˪:OR?#$Sfb|#D_xov |= }E#C1Cu.0j$7|GryL1]~|Zgݘ=c`:Tjjs`?wIIډ9ǘQ%O|Fr2[`?ݸL~:Kj( } '"^$FEKjb yI9&] wR5~O50*L6듨T'Ϣ/ҿQߙ'ۇP}S#u7)81 `Lw}i8A*a'Y}6 [0D>6?tx#R|6\BOH㘚d;@ҥC|2  3*f -3+:_o'7q[Lf+/̬E2zR5 ܭ1|&4s^}6\{|?]/O~؁]yl_oO0^kz~bk^ {m$.^k|eG^m m Rzn d7Ss-\ёwk=r,pݶϭСdK:וlIz.ۨXKz_Hc%I3:QdZvYSyiX6#S-c6]Ʋ(Zq>X(ݓ-uEl;gF,wU< [Kt]D,g{gXH` '!Xxc.m9M%03'k QX-NJLүX*cl+#b%6Rm63qظֳ-TYUqƭĭ:Jt H ={:%s[ Y΅6j:69*c6q7eLk.Ԙ #]m7yh|ks&9Q:*`}c!7.xkD_$6+_{F iF+ 1d3[ ]1,m'צ/";9(n4nOnyI6n_9mup;,Pytqc[j8s1 N9ƜKCPc?D8! [";0 v 7p]|rozB |CWBikG:B_|C|G2 7sV江 9.{vB9k.W!Qe(?G|Nu_/`UVE\ax.]見=ru=wd;X(>2yTӷ{+h[ <,qߪov:l@A.. 1){GF#3 hdzgg P6mZKGo%c?^ r>O(=ȸk\VӷN8dtmSIm"e@  ~CV^uG d-:4'(<:Kbp]EX+ؾ9 ы#>G>[/%GQmV:v38!hq>C\;uFL߄ _V _{t 3 רzO?wAU#kkޡZ-G0CAksa0,QmIm-߁.WpLr R_px(ngtY'_&8h~k_k,ߏb p.>ӍG#<9%Ã.{FME]3w]7ǿ:Sl1_}o\l?U}ol.6a>1".R?^]c!jJO) =\j7Uh*>U$T#/.?KUKPTΒXt6qB+2TQLDwȔoXUobچ MS?U^UaHm3^57[HɦI1u B1N*.%acݒ$-凓י5a޷ )_Fw2%n6R'Ç8S*k+}(AumhȸTM5oFEfK~ ( ŭTc(][&߄S0fi}T?o[]r7TkyиK܁[!ܦj9p;Bx!ܾ'[~_@u!oM_RY~TQqLI{},i"}yR*mY*/\mHoZ[(CT{ytj=/lˈW*߷.>3]r(.uY;g g*ܸRɰ+e./{mƭL(x&ivn#fdBpNQ*TY) RZ7 ՅnFp{ͤtT+:A#pi{qKd\) YϣY~RiR[Ro.%ύ,g?vav$ܮK.>(~opmAg;8+p&|ocIu[[Kهt#55dڧp32zΟO'Z_{z VQqA𿇊;R9n}.f>߷çȸj\Wvۉox>7wj/gۭs#[~9=1,FUGT~kdy8y{>]=:T{v}`_#qkpv\VML*nn no /DpTáaBʺ> | <_'o \~TxDvˡp5tE,hoP3{?N{k*,&7&pcy񝊝_ù8C<LjXeN";==S~WM7N@]LTv6רL_Ʋh%s/F=r<;y/~sٔ=]Td5~\TVؽH~ [Kڏ_K<עuT|הܟ$?j#MT91H㷯I<(5Y(Y1Lm4y61Nyf숍jG# 6fc΋Zg}F?>lc=s5+bmߴ:7jaJ^jfacsIc6kybm[ջ1` 6FmXh?9]fn} 5@=u>h?9]fn=q;H$Cx[ilUE>9}>N6*YOԨSh^r82@ r Rԧ.hrQHHziw5Eʴ#딫isK86O@y0t.''Mzޤ4|ёI{.>H X"_#AR蹏f+ yCn!oUJ^>j_S'>upc}!J|)Ua0ΐ\%[h1&UoWș=?i̧+Csqř=%~`44e<468>Rt֟@=(e(DSh͠tzz`k/Ԩ֨ 4Ϙ!eq폺*ּv:!Qb Ö_ƛ(55_2P9_3֏/bύfo?4m2M7$vs>d!d"ccׂGqk~~sOky.nغ9/涼Cݾv6RY0 DQW<<cדGr/۫]E}y?2n*N)]?ƸëS2v$=VpޡT65A8`Nkf{]bn .^][N4nsC%UA?kܙFkhSΝK9s'Ox`9*q蓖.֡cA~W=~s=XB|2`Myfk9e)B;s@-Rokƹ DsgQd%v(Fez<܎ʛVq(:#?׶vsɹ6IN+b\9^)'vwD۪]} Ŵn_θp[ &OD^~ds'Ɂ~@Qgdo9Sg=ЏrXYqTf=BG%:䁟E瀮BvaN2P9 nwIKgn/gYS-~Z%+9~~^~e: f)CDZ 3Dhz6C3'GQ/jʕIHV1nܐX7pn8Y`iOlvKn`7pc9ܰ6 +x O\^رgmK\Β1rG$Ϛ/ҳVyuSÊۻ:\,WrX+\͸ʽD8U2#mVo~3x}?jG?7jG?WZHer=\j皟[#~x˽N):~ߕ9 wbqM-o6}G.0}DyK _Ref113174653}DyK _Ref113174354}DyK _Ref113174740}DyK _Ref113127746QDd8,S  z ' 0A!?S" "U=4[4}rhɦ_  5@=WU=4[4}rhɦ]Dm@F%x] ŕ:Cf@! e/<#(^1 ـJPIP ,@>EX d](D3"{έs;ur _MGUU:))o#!_.Da]υ8+Dq9BǝK!;V9FJ60݊:^u: p;S LXh默t]Ga;|9BLNlW_i6]^8Gxί7`>JF7ʯGϛWn|/_\3KTUBe9J)Qޜ zVm[ɵv >~?9uOtR8tn2h U]iEb9 SFV/{o#>0pRKkD>Nq*1A}BR[Q[kTcbLh_G}}ct~}0D;qf7zxpuonŢB=ojVhmTɟ}5x_I{GxQMj< ]T㾆x̨FKy8R"e.ks.QF >'U}QGJ,p8?KHr=XxE Ψ0']zO|ǽ;Qye$޷i9Q!&*FFRT h#TN7mW<scjކLd*Wzm7ɎH` }0L^ʫxʀn:?`sq[0LN@Gɼ>¨%THP~؋M}{l"|^Ĵ@VlK6!x`L/`ZPDuFXF+id# _Bo`Ţt6yj?}Hc#GT,OG%IWj%p#61X<%r zF}f.i}AB%Rq;r!3fOg{'\;Dro(|2Cm؇ SChJ-]5wkMm{5SF*^[X:dw0w+Ē|0mfOs%=t;x Az#ŘZ'0=rlTAo/XF"Mvuˢ=~m׍%o;eg'z.ucs~N3Fw'?Msm}r3BuH/Ծ$sԑ+Em:]Zg++h S;+9/f2o/x5|qX>jKZlWdYm ~NlUzhEc [QLsӡ}3 |ƣzGM qH|pkgP_xj{A򾪞QsɆ$d([q{n[1oOYRǑ$ '.QfjJ_zuO_Y7B7۱2L=X~[s\(KK}?a)>Gc)>|o6ZE~2`*M8 Ĉэ!l0 < dC]a\4lmTDEJ.Wz.+7+7Xqޯ1+f3о\yB=iW~Bi[%#$ϵ2Uϵ86#%j;Rzn{Jԟf_9%z)u ,~گ%nx9TNT.v[nՈ&(el'Kst!?Wsy\[1g:/l#? |=S{#Ǽ+5E{.r;qͩ_jx[-.~|uĸMQ8 wgܾT|6 Pz^V%Tȁ۱U4݅ f'趣+W3نGi mFܞKģLU:iχ@W>opyzxPiܼ4VUz\5n(=N<#~G9r<Ʊ~)d=G܏d;S,_{>A͓nsg+nkLȇ}\d=6I0s`9tl"ܿ_'=:ׁ_L"|% AcX^G/IXi_щʩܧGo@r p^^cIv ?Q1hFQ=B+9`;e0TqAG8kqjˣ;2cTҝ"Yya iNx?XNc>/aSvҺRбwf6utin5LsE5)n;)~ZD+t+V{ nAہϕ렎|~hSq0:o0 n]@Ƕ .z7a c̣]S܎FPGM4|OU#[QJUlT~weffffFկc^S15%%A1fJװ 9⿪Ja\6k6r_& <[Q gFg&_ _+]⿺]M㿚ڮ_SF5-1Қ,gmՍ5:0I/uk6]W׺4nBll*S>Pe[(V( nmt|:SLdCyA|"y|"i5"SmE68\h72іodc5#SmG. LH,?)^ +n|%oW#A%8Lq/CR#Y~Sx9wrMNߖd#GOq4?hJ1CI\oʗJEfSŐR-*~L꾤9ߍ;U*6Jc^UFoF&\ +ҖcMXkXRJKLaIaY6&CY7*VZj$lkEW|S ˃[2or[1`nkY;LjnH3)ɧ0l{ "'4];wٵS[5tnS&vݦٮm[ݮq3]7۵`vwy-Zu{6]J˵M@ݮq3]7۵kwg"evi{]D7ӵMq]]fv)nkwvwvݦٮ[K=}pJD.5ɥ3s;]}C.ߛ( %1%΃lA|Kq4-h[1GS_)tM}O/*<Mn)coF\h2W9bJEd}YHo9зem}[6r$GS_).|_q4}h18f/ԣuKsޚ )lCtJ1'=i;:O"Y+nmةܧ× 8@e^tp yo}{ި=B@%/{:e0Tq2#@|-@myrλ<-R.dX`3؇0u\%Lq:ϗnim&農L݆6Npθ=ih;ōt2ŚZyAVr^Ӈlpk:6A;rԑpOu1n]Azrv@/Y C ׉ N#`alt͏~cQS0тlGmStmk;ڌlI8ڒ8ڒ68ٖq4-Mq-m?ٚq45Mq5mp =]hj{hk{ L. mXoAtL?t8y7~MXz,'mx\׵X,s߬_j'{;ùo~O`8O'"4!3n18PmSɸm(w ^'x\4b;:=pw&5m[g"OT2 ^3 Npa#\h#Lq68 8 SmuzŭO[zOec깍5(0K.su*YKtL(.&Qj]ȇkañeZp$nQjxS !sp$|I:!Ḋynp,rc5.^LkdvMقˡ}DyK _Ref113127746}DyK _Ref113175090}DyK _Ref113175123}DyK _Ref113170790}DyK _Ref113175209yDd7 b ( 0A"?"!"8er 2 5@=8er8?J q ex] |U՟3YBXC"$ K@@b(K](HXbŖMVDdC"RY@ETv0 ϽwIbx}1}a}ws̜H)$(tZuT6FkzR>ugL~S^ݖ]B7U|*"4,JI?И*uۻ'IJЭjwA[]MPP3H5;X}l8ÇHW!")<#-sp |v<<ce7EЏCFRtrO՟;*A @_v#}K_0So~) _9ǎ3_\h!Aȉ2a`ܺYOƭ-7/[O8%[3#TQ5*n#"ҷra߀&fOj4s#@8p{J **n#aܦn@T恞VaL>Jwϐ9\mx vΫ5n qv-*n yHwV]졆iDVA[mPP2֔=6Z&nDHg"a*yEӆ5WM5"FTCpCj*}rWq m/: J܎,=t7=@'=|V `uASzzWpk+mSs7p3ͅu:SxX-إu:EXhzt5֫-#N/˾ 2J骈^ n_UPoTzeȸ9yq a 9:xmRxKV0_)kvӬOġ#h8;u\ yl9GD9>q'h UzLW?H#>Sň!8u)_=1^oK*&$N55xN_Ny}ICbiMɾ Q[ӊT I|k3~KF禿j6cwo\;n0_`CqFO"G%e~W͝fce ;^/(E9ډ\wLilJvd Ut3b-dkrNα-Ɗ>Cix..5c9x9N'= 4v+9yWpz 4Zei0g9X%Nyi뿛 xhA=>!%io{&ݸPaNr.<];.0% 4AU~w|WfTv';%AG1z\=[+.!bq?nԗU. ni<>cV* TYǺ[ mSsm޵Ex ۱,ì3I}EݮK[<D][ qk뼥Jnzf^ Nn~taPl@7F7=r?FQEJj[)͠j>B<mh#%P:soL\g}je b3gEi mHwP<(>Rvr]r=T 'C~fs Ά|AE *N'AE${)sJ; ^'ё*UQ2.b2mARxd)D>Q$袔u3Ye]ݧN>@:3g϶`>$oKS]eS3]2uP 3aEls(nrrVl†5bAZ/ ^Z@d"ϋuS!QSȸkYDhH A (4-"V I߿9Xoӷ4N ȁ ͶaqNC,lȊ&@Lg'@9ܿ4>1)ri$RtPRc_zpKC!ߞy '^Lii'ZeqYkn'qGh+֮z.c-y|ARWf|_ +eK~=pA[R-݅<+ZBO4>i }Үu([ORijS\66v[dN3]ҫ/z &K5ݪ9mS@ijA;i+?V’ϰɹ_-5}{#u/vI%]Ylje'JmRh#h][wf\Cni3hzdvxyF٧};o~($sx 7ȟ9pG#QH;֠uvGJ}ceߓP${2xf"r$4g!,`7X ˼! IRY ܗbVbVa e72k1ީT/*}vsk)e2ity5tܠtt.z>iIoj: svֳHGJI-K*x2G+*3]ν BA=X a-w 5]` {o.lyTe̫R\ ] R E5!kAW#4? TjH[I2K_ 5ɔLo&Ԕ&A6Nߥ7&E1&@֍Cȼa;BRgh4zBSZQ= f6zVm_ 7/ ;GcR<CO@!{JrI?$uߣ'ou |f B? Es_}oG>l{^'0򶑱ln.We+17L;̝Xpmb}LŽ\ԧ5B<x k@AN=0X6!fr77DHg@̠42o3,M45ւYc>/ğ&e Y~e+/y>VZ,;4]n CwNc*؊~Vy%Wmm}!1wѯτc(catFp`t .igP:.sQnEA+ש^8?$/,{4MFYaEs]WKc ڇgv)q wKSt(~;{vRUFFNR{5Mdb.G?g3$oQ{(Fb_?8'S LKb/VaVoD. kj}3h2U+T͖ue휑co-jysTi=\\b5t7{d ݧbpӐ UO = | $UfQ{Dg@$=8m)uˬuE4\f/<{yvcv<6,;v>B[QGhg{Cۙ/UKC׃4 Mu3Kl#=ڶZ3ZVPcZ=`Ufܻ1vB""T6XM߬]Y_]<Бo(u>%"yEeaU˙\羢K) 0-l|v޿ ̉Ћ鼽&_yU7$tI2_b %twF;F9t0c}sm}L;w;vCw&^TbZyoL>Ace }OB1: F e9 ri&z_n Mt,.gn'T֦ cr9g+NhXs|G>ĶhΟNطͫۃ*6S#90bHn?ؘR69u`cPk?ؘT=v)&U;umƦ ǜbT1`q 7F5sYu`cV1ܘpp)ma pcX1Vq 65XÍi ǜb\1`q 75syu`c^1ܘpp)m pc`1Xq 6&6XÍ ǜbd1`q 7F6su`cf1ܘ@qt+6Oq̶q^gtq;p:٩Et~t섢=tΏZYtaOGO(:?j}~d <>?|(4GX#|B7Q:) ]D(xh9 hA hI hQ =r@xv@xv@xv`dN<Gi5:̠}DyK _Ref113175245}DyK _Ref113174562}DyK _Ref113174354}DyK _Ref113175399}DyK _Ref113127746 Dd#b ) 0A#?"""+  )<n- L 5@= )<n-d$;X`? x] Vc Mv %reE؅%!@fÙDLDD6H%\ R jX-\JJIo=/淚~{n]QO@>Q"s_k}-B ~׽fYv1.e^Q :!jLDADKg{S\C?="P@ H #^=:ThGTJ7.H}ֳޡ{h9q=?kun86KvGX9u۶}} (iѦ$u$>cNh\GOqD8O][øWE,ϮǒLo\ v\ٸ[_Fӻ[ }$j?^6_ ,x&̇g< A6y4d.\ fo[S gs}yajȵ-ܚכ'z "ӹ6`!+l@DG 6-;qmϡGNj΅Q>'v*7./~Ӊ{5P#juV$ nJvue %>*Oŵމ·#hh m1q:#=>5cfdS'ѴuzT,$\RL'WruCrSҟ:$=E,H)Irׯ/9P䀐ѱ@r/}&lD;@O<HOc‡E`uEboJ_F·`36f&t|a;@9ʆ`?6x:{iZjb3EMEWͿ$~nŤJ26'F`)wU6o~rw/ ^ɤt9\O~FFL<ˤRὰaΟxqB7#g&r$䝍!&>❧R6Lv5!L}*W>&4&L֏}#>hv5<.}A֕u2xv'=p:VW]ů2ۼ6l>מl>ۼځkvl>;kJ>:6l>ۼ6cB}BoԌJh}fpplߏd~|zfѾ#~G՚?w e/r-_e-}^tg WwҏkƖ`38Z߰QShO:A#ޛL}DyK _Ref113127746}DyK _Ref113175473}DyK _Ref113184778}DyK _Ref113184894}DyK _Ref119920364$$IfT"" Z lX t" ւ"44444 axH$$IfT:" Z lX t"  "44444 axH$$IfT:" Z lX t"  "44444 axH$$IfT"" Z lX t"  "44444 axH$$IfT"" Z lX t"  "44444 axH$$IfT"" Z lX t"  "44444 axH$$IfT"" Z lX t"  "44444 axH$$IfT"" Z lX t"  "44444 axH$$IfT:" Z lX t"  "44444 axH$$IfT:" Z lX t"  "44444 axH$$IfT:" Z lX t"  "44444 axH$$IfT:"  t"  t"44444 aH$$IfT:"  t"  t"44444 aH$$IfT""  t"  t"44444 aH$$IfT""  t"  t"44444 aH$$IfT""  t"  t"44444 aH$$IfT""  t"  t"44444 aH$$IfT""  t"  t"44444 aH$$IfT:"  t"  t"44444 aH$$IfT:"  t"  t"44444 aH$$IfT:"  t"  t"44444 a$$IfT4֞p x  F0"4 a}DyK _Ref113736078}DyK _Ref113736060}DyK _Ref113736116}DyK _Ref113736127}DyK _Ref113734356}DyK _Ref113736069}DyK _Ref113736141}DyK _Ref113736046}DyK _Ref112598615}DyK _Ref113727211}DyK _Ref112430457}DyK _Ref112430458}DyK _Ref112430596}DyK _Ref113727440}DyK _Ref113788426}DyK _Ref113788426}DyK _Ref113789521}DyK _Ref119916368}DyK _Ref113789947}DyK _Ref113789945}DyK _Ref113790340}DyK _Ref113790864}DyK _Ref113789521}DyK _Ref119837232}DyK _Ref119916368}DyK _Ref112431309}DyK _Ref112431309}DyK _Ref113790340}DyK _Ref113790864{Dd$>jlV * # A$S"#"{=,:6+oz 5@=z=,:6+o@C[ 9zx yWFMLNq1866me-!,b0m0K3icǠXq%b$hly.6B`Fi{ttH3#>3gΜZz~e:uU˯9 ck\}E%0\KM͏ occi[ʲ?7u:4DAM zB6ΡE}_'4^άCfxuev{1U3|`s ;S|og;o'J&FthG#/q^zOOτ  U%xIgߓ#ȣowUy#Vhݶ ;o/낓dW~2?)}*=;K<^J7-yϰAAы ',^BqR6s rKx /!K% @  ^ Kx /!% @  x ^ K%x A|RCSAPZa~[!x ^E7q% [ZKҌnJKK\&}䈗 Af+x /8\C g^/!K#@x Kx K^BK^ ^  @ A%A%/!%pv@%*x3KT>tx8 DƃXb"8OtDdXv)ƏCKTƼ?D|Z⻈AcݵX,/!%r/5v=[mOꕦvr^jl۱sZ?m$/!%r/;sʳ^Uktl;Ei>xnNq^ 7Ǻ}ѾF!(Kё58tP@ }4CP u é+/!%%"UJK ihlgxHwN%tQ%'WIx)85A2/!%­FIHi4/!%ż4>N.ShCk1Kmk4[i)ez^` 2K[lr54?~Ho4;^B Kx5Zq."d^3iZQh$2ՆL%@b1jqsmaP[34Q+OFr=7TD /!%G@Ky!p QDDӌ^hQXUSNv%Q HcU;266CsجeD|6ZCpXj4C^B KK4jwKSW( ^B Kxi4!5A3 é@7R0%qj "d=_h^ b$%T|^ E`$A4vb^'q2VtfzθavRƚZ뙧n^[5ۣb55nMb/!%/'(9!p858Rp^"6c]x /bD,LLx|$/!%½4qxrP|b"V^<A9d4Kx p/E7'S t8c%@_ZՒoiSGp:</!%eĦ;\b0Fү7}m`@7[ަ~BW-] ȱZyAx /!n⥶!B;^; YkwQH/QƱn::./!K%y J.^*R(2}N/A @֭k8%^BXʱ1 3^қ?~/̗ W (p- +I:_^R,N/!K%X`>fj>& iC|^*,,`{q xGFxLxG"aH#0A]w,RRvKS|YeK%/ /Y,5>Amn6 fpGmZR+چ*2u4('|GKԒB1OG bMKe_|R~q%/9Pi6?C^u  ф@w"1!gz+wR"2ȁ/{;_N^ ^ RYK}^ETX)~*96yI6y 3#e+;IH@ʹP&%qi6ޏt/kq_ 8x K%ȣ$Z+dE^i'Լ^i/ɷ~O2w4nLMrވ2$\/ej68 E6٥aFSȭ|hBiKJ.+MY"I9{YÜخ?%K KrӞl"K^*w2Kr.pcL^@~y))rCֻXlJOS HyO*txəd9/dS/ǁ Tq~cR"P(ۇLh[!E|QguÇ}2 e_@x /_*>m}x}>+R G9]Rvv ܢ’\Kx Ky2=NG f:,I ~ 7!*+ Kxəx0KL^L?+/EhL I37`=+*_ܷQF L9$*+/_B>_w ǺkY5ñX(1^*iN/!\n[˷=W!ȁ^nj{mέj䶑XTP0p/_B Kܵ_ݭ:ێue%:lq -o!J&1'+=/q@CX.e 2Y /хJqkmhy-U_D4!~4#xBr)ּ@A= :yIԟ ]ʃ KcSSIx Ջ9kvwȋ4McvQaa{wE$qm3ۮ" s|EɭR쎂ɷ}^#KakщcTHc%=llml-eml_/YDK%٘EKH1Kx Qt+hK9 A''p( ^7T Gu2N7]t>y2)rɩh,AS 8^B K޵^u0N/h%iGIW-9v -N:u-OT xT%KvsDt*/W1:Wiw/9'6Vw49D6:~mC४ x %3^1i`1ST5祷M]LZ⻈Acݵͽ$RើEהf^/_}Wʼ ⌗HlXʘeS*#0;ÁKj"dz뵣vEo RAxs!xy7MJKt,}׫](y%Ke/ L#M^ҷ9>_Ɩ8:9 _Jx)YG#~u?* XUw~4U׏ ^\)+^dd2;{;_ʘD{~A%Kf-qy%+6]M'_a׷,/U^RN qi6ޏӻZxS9^Sǧ#d+e]x嫴Kt/e%^s q/UdL9{gٮK^^ikj_ԥK/_rnV(/sKg7x K/祼Kr!/5{S|ZR_Ɣ^ _/_ "r_*(/i_ %5wj,8dJdz|fCV)y_ A +Wk^  ^ RK|Ztbiag~_yF,V/*_3'2"\ ^i A3a ^B K^*0p/_^/A%K%Dy$XH/_*heC&%/!%KU(ǹɈu|u|4 xx%jvdh7 6V^$R"YÒXӒyD&^/!Kּ$wK2CښG|L^KK-Ӌ[%KUOoW%eg8E`f>1/+cm yH {ص]//|D;aK>-)r RD"M^A\Ez]Y1^9ͤWpgۀ,mU^T$=29ns/)Of(u6]~RK󗔰Ki%F>l'8u+h%gQ4^MLʍ" |$yIyY#%/ˎ*Yp3f4P}4\PğC_R<J!2;[+py ([􎥔H# $%3^π`V*k^ҧ6AK3Isқ9br4hű$_+Tܘ%D%xRWh䥩驓'g4==j7%K4%4(KWWe,6-f@ސ /Ud9/_B^d7fl"=ؼeq{84 Q=x /U/e%^ӋtɅ1%x /U4/9xHL{;JS6ؓ-/lKfٟ@@z^B K^rh/>CKz2KmKl(]e/_B  KU4rp/_®Vt%/Aj%K Y}xp[/A*%K.l_rC^ K%g{þ6%CɂjOEeK^8 ^KKZ!!K*_ E@0?234|g_$Kihto4̷ޢNUC %뮻ǐ- R$W#KTV򒬃%#nc}K萢x\ AKKxzHՔn XQ5{r{a]'{'%:R4P+]4~\VR5Kx:2Db$9g_V)KFϧ%~r񋀳Kx RxIX74fÉ/iw I[#&aD= ܒsexIIp0:x驓'g4==9==KrLf>~TGy"Y%q%_U2K MMRcl~K%8$Ӌ~>_?t=kr/&af(l%HTk-*u58k\/UqyI3I>-34\d~糙(Oqˊak@--vWKyyWX)@RzG|r+ƴfV nd^$Kk'Gpq԰nT,ҐeTI")_x AM(t6yIyT2l |{1[最.[r -:v/7 HA#m6I&0}u Y/=ʺB^/AKI gZXOQg8hWToc' c][)E_u%KK%T=~u;Tt^ RI% x /!K ͨAH%/^ˊqYW/A%K* {>6}ӏ0L~$~K^/__yn2%Q Er?!b: "m{"wIt팗1} =0NOecX T,p?/_*YlW%e g8EJf>ag} /e%vC1;ksEXyJ5P@ί= x %Izdr_|߀+9^T^R."ԭBP WQ+-/+ʼ$g1dvvdwʡ^dZr%1ZƼgUkfqFK\/)aE7x?N-q^G/2 Z^䥉'Hn2f>=N̊N6 P%q j )|vZfA%xʨ3/%KmB)yA>/Nd/0ӂdݧ%\|Uԯ"Wa.%KE,"Bny%/_o^6xX35(b"7/_2)cW/A%K%Jv^ bx /_Ӣ˲Ux /Ax|%>z*K/ T~f!` ^B K%Ta ^Tm ^/A%KjMK-5[/Ax)Ѳ7=h*oYu;/Ax /Ubi~av?Ec;|%oK9vӭ{A_L14K%y$KܸKnu6$i/"xIʤTg쌔miƉ/A%Kx%d^ޣWl}#Х1vZ*Yӫf#V*_OLb\H8rώ$0IL%a8}t{}0%!ReK%*)lu*(%Z+.8ӧѮmǠi ^T^:yrFӓ $g1T8^8 [q ^K/呗K+˫EXfϳ|_Kh/A_iIRxI8@9 Y> l%K g/'P|^K_=pѷ|h5 /_KKI[r^Mex /!/_ y..rg/uf|),C|vEd%TbH&Ѩ%Wse?< x /_ʻ$_x[f E{/2Py}>+-Ǡ*/_*+)cW/AxB% Nh]E %gXZu_~FnKx ʟN$_2im=L Y sW)7'%*/gZ@Kx%et3/!%4K/!K%ЌMW^ RK%pMwC ^/A% 45?ž'v~|׋v6t`֤`C-:9Gp`G;IzK^B K.Bh8< ~&/~~E0J]ʡ{?kDZ^KKR&&q/_Kx\98/_XKP&xI9"~˘חmwgQF)v9!VVMr%Tq,eNX+/_O:Y22]&B/'&H1Db$9g_G&q%eHG;$Ymњ\&vL_3LԞJ_05/)Kb<3Yajd ^qjzzMOONO'&l$#ya'Au!#T`x /U\ʄ5, cSϲsIk}^sMΘ^ɘqvxI ?&ɸ?F )fF/e<msh/AR]JĬɒƯc^% PVO%7K_2O [^ʶf>Y/A2IK\2%AOH:%cI}X</0rI/(/y&&~Пx /.e[$|/hHo%fANex-O^rxEY䘿T^R'PJ^* o^ /JER s' ^r)cW*ϓ V /Ɇb7iEv\8K"A>&udLw˕,?x /Ax@a%\*it#^ ^ zmB\%^*GZ$/2m&K%T5t((꿧@-Kx RŝκnK%@\/i~av?Ec;|YiK CZ G05]z:{&C=J/Ɍ8psE1=RΌ|;^/A𗲏l~j?(`hΞ}Gl\6x(H!XP.̤mҶ$oy^\K.⥲2x TVR$Wj>$~(ZKjGa6 %WI| !|x /_JSKٴ<6UƤ3[ ɂW"1/ LR/)E+ A%K /)$Fl/r񗦦N $fdKE;$xKŐK%ByIH_//e5?i~\F^{˒YAЏnKޏKlf'K%^dEz^ҷ8Ix)SYKf d%jy.K%)/r%9/J_⮎YMz^¯-Z%K]EX{ H7CJ459ICcqDy]"%*xeK/a]%x N2 -ݥҿv?x /_r2֭[א)p@Kx /o7^tQ@<&f^K/elptbKyI9OD$/i4!wy촻Kx RD{/_R<1 V(*΃Kx Rl/_XoyIqq |>/c^K%|*ml &l}#б}E~Tg^>Eq%g 8x /_*7KQ]Y]$xp^Th^ fx /T^R)Byu=qQsJx?Nokq+5# Kx Rq1lB#KʭGt^Rx bKakKx././MON//)DY%k9/U /UO@DO^KUK$>fKr!/;S|ZR_Ɣg/%1 x _K़c'7FӓLT^Mk/e \K%dn47v^* ^/A%Ky_a!^/!%/UdKIy,wP0p68/_/A%Ke/9./!%/_*vK^/_*Zh^ e񷈓 /^j?^4lu5d W^/}O]"鱝 O>ͷ%ƬznMfML}1yf2| [NxTD5^K𗪳 ( /^:xk-_m>g{þ6V/1υw+^v\= x TFG`dghPgϾ#KfK# dw$oY^//Eql>$|/)c1}r% x /ٿdݑQٽF36WW.;0A}Zr= Ǽ"ջK َ1 GuD^* ŸppW_K0 /a/ټdQL^hPŐpfSAA$WOS5[Q7] T)4Eɓ3OL-/ѡˏi8 bV8[^O x /_Wv%#d_XQnȳH)/$z[) |ew_ ]I&쳳m VTDcެ2FKwjp^$P_9OS[%q<'/+Ù$#~ N^O5hEyZ*g1~ɵY"LE ^r/e r?6h^ TS/A%K9/iщZZ}ER B^/!%/!im=Y$*)E6Zt^Z /Aॹv?y7%LkXBx /Ud~Kx /_BKfԥ@.#Bx /_RyY7 •|vޝ?r8g7X7 ~x TDhk~=OIlxٗ 4 ՈN4x^Jb?Rٻ1ӺI5 x}Z~QՂ*_Bʙu6n}zL%K}U3x /Kht4GF{uk?R^M1P00m3耗vzP^".b&n^˘0=8/ .=+()(|uU8pᵌbDa66y0CT˛+ؔ&=֝O [ǔ33in/#VRRenUTǕ#Hm_//)Тh6_v|^ƼlDP'!xVJ% .7q" ";M >G&3*ermbڰ61,0ɐ>} Nנ?L hg-~"Re;ax KŘkq:e}$M62>YfUD9^OLb\H8rTq%eD;$wӚRF Q$n Ȧ}%JmfhI5 }# <+%)c/Zॊ%2iv)LxasaևY†3^2Jn0tKKSt<9D /Y'/ >B8$N:Ǽ7 %[_$Cc{5JyM41ICcҶ#/rKJ_fk)uIJ8%WUv5, cw)0ca{[1~ّ\N̬TqȬiL0bxf573)4tFT/Z4bM2k_R 짐>)^XfJT7vb{*ĬɄS, :2򒡷cဗ,np/9pY%'*hs ^ r$(0/Q |Z@lF/)zPѻCg7P:̌, K'N/K\xqb__KY<΃ʇD~%}%9/drӔ=i;#!*= ^ lG[kOk㮽ʜ#}=}d.(K-w۰j?y~v% cbadK^0_'lX(SMU Ϗ/'/aL$EK%pt/Y{b*2\KcGY$ Y{qJ~<7U{KK}3 ~]FҐ>0amH~\~;>ryɢ?%_-Y*#RJ[^MA'|9=/q {W:/ea+ɜM(PhN«^n^诲I~_cܺSDAhvT:txǹU;~yIlE,Eݼ|ǼI^>?P3 pP`*'7/9[y|’?$8_yM]KνM_=L7VoAX݌G_ȣK^&Z@Bot7~Kj6;}{w]K_}|oxȼ0ȩαi-S{qTmUv!/)!)/)sQxI7_f^r/gfǿrLQ^B!/MiSdvxItk^/9h+b>۬=N( /x {sz52߀3d~xId+L婬V~Vߔ^/e5VJJojqIFyw(qѤ4F^@ KlfwdKC3!b@YU(g^:t"@ <^zwmm+YKI)C;Ar|un1K^/A<XgnÒ#$K2WרK%x x)r)`-x @ ed_/!ʐ JT|^KॢA%*[^ U3/!%/7K۬a.^KE祼/!K^rl6 K Dhk~=OIlxٗ̆HAt'ӣ*EaE!ظ2ӼwLOxIť22<B| "Dw%/䂪u6Dy^t`h mׁ{2h_gGyGr%<>Wr֙m=(vW AK vst7%mN,U=t-,jsx)`hΞ}G%ÁD Kx~o`RAPCdd4rJm#(m[Ax޶Y*pd2t]dmjoM]V/mlF}LًLAyߟ %YrB͜hi^qsPyH<|$dDZħiŅ 'mh*f̙&Zٔ]ET/߿p$3s'kgWZBy+-- 9ePQg [^O%8TqGly)>1Aq%#>k^R %ёc">ƯiIe_5)Mo9EYKL^&Wu22564޶lhJi쬙BrKK^N.r?rúY栊;bKSS'Ohzzrzz<1a8#)iKּ}$I1_8$F)#RZ%8Q"I>Mo8$L&^PCAP.J9KObK~l%-u杗/xIOMyIF"C[1p,ޏ㞒Dy78ϧMieSR-ޏ,U:/Y4u {Gd5~KfRI"J~1Jz?$\YVӝzPũ_t%ikkJSzU/<U@ҶVӶن3hW7|uo(&* /\۵OCI xA($0e%&{8K%%90 /Y9Ap*e<ޞ%;Ḩɭc>-i3x lS A% *k]x)+ݳ^TdVݱ*z QAK% H+/!% @ % RUKAx=/AA%72hivϭ58ts"$% -/ .`hkpPw/x Ah$2UCcc=#GK% 䘗(![E;2z^ Kt*^ EHĭ FF;K% (Dw !SZ[ѥ6ZOZiçM(Գtl`;o~ǰF+*Z=J%k ʰ6eoHo4;^rK^ yfAUX,Fx tM}=|VZ[L0/f8ANh|\"*O۽C{eX4!S0to䌗HN M.9T2T4{H@E*qBf/6)\ :͗ ٲ-$1vjy:}OSSnJ2xyڌ±8'f"Oڍx/&xmkء7+ߐ2*a;hok5m<9vGsfm|όXj_ x)/4"}E":u,t#"7uN(:y3;) whrp/Tĭ"D+ e[|[e;ز-neqy)2qmjX]}SͦmuD&/&x1pl2?\-l ﬣ;cNXڨ0[Vsm]CcCy)t5^;7rM3ht⶷qM7Nm&9MA10A)Bɛ?pKOE6,-㥆O^P^"bll˶tpg02VB}l ׉Ym HZlf͑]u4<@eK2qڈjhoKM|%-(tʧ 2AnIT;so}Ծy|6|񯖥6o~{.i~%mϴd;}mG~EEb3^bvb$,e[:D-xx2V"fʹ↛4HDg=ozdbgo2=9*Ǣa4g7Ŝ]ZFF E4t R{U^7NK"^2%\ /?#\w_8㡿i]+H\ݽ^{W٥}3}W TidI6iW IF?ZWbf[rubv*M1 xhRa HEy}&i챹QCEp䈗nH!%dfi͂pB.]䢎%+:b%79<^';?kHK|HuFdsԟ}~hŽ}}=柗P*_-m4ӳdFv$vY^*/:/d+Rq^-&L\3ms$ޏ{E2t٫4Aw|؇/ZvKߑ4,_ܿ'2pލ^7W qT$d:{8yipi~,xiٖ8AYt /%wxp==P\k)iֿ^krp:fg=}⁛?gg/>EdXLө2WΔy3 E\3@%?0Ntb" |uE|gɵ@jgq>n nO`4Ţf>G|-ǁ  p ^*2 K xw^s#R'ΦW^߶h궅d(|;~x8)NN^lteFiU5lqRK[hXOEA~=Tߑ/Oq(0Njِ{(5ΟjN+?snvLv*9F}O=)Ӆޮ'u._+%1' lEׁ\ޟ=<\~ү.Ǿ2HnY#ߝKߊqh=7ϳjy̛n\9i](v,jn;gr\R3oE;zHG漴rM2,}`/,cb?W.g;@y3n.q:>;r顛*ѭ壋[vStzŤr;$o&w{}uFK7sS^N&#ԝrr3 ^R!݅J|Ǔr=r ݳk$Q/A;H|U5@BmRzvO\,!+H=+Szʾ]ϵT\KTm/u]:ĎoaߞsM ta /E#_JT29mfQt ZMwv-OͩLwdn  _Ѱ^m yI (OmI6Cm~wQ{~L&B};;銺˾ѷQic/}{_Y%^/=W%dċf\嗝ϞXXLlܢ/FN)[ !%AȻgVcpK}^2%L%ʊƼNm!v:tMOJC[4򒰆mRh^_FY<1 ^K/-;OZ_JVlwǔ9wG/WtUsi;?4x 1mIk^"95\:WR~c!ShW'M 8&t}X~yh2"}q^2kR ѷ{UJn|ҿC7UiC/]-y KPA,CPx)C3$.%7Axjn%^=^*C%%KAn奕h?yt:6<<ٯ>sCmRBC+[}]^T*^<,;| |̇%K|H)y 2?CQKaQӪt+kKoH |^zKRɂx˚5/T%e R?7z˄ KxCZ#W%$aKr2$x_Kxzxj=#cwo rdztkk?"]kn }n-ORcພ6Oy)qץ_<Im'Ò3^j4%R\#7/ iD] KP9K7=t[5yOE n硛$}埆n~J_5PM9˛ORm{Mor9/A圿d%:#HK/eM.PxH,>#/A%J ,|ϖw~6BRJ=DDO ^ҪG|qbxb}KPE/% .&:4rEJ|%GcyiS=_BTFRޏtt9{sdKwN ;nd\AAeT/;Qoy3 ]hC_o{}i8&ɰI)4xf[O AO_MI%O vJ|pyMԤ1 ^ʖC%%R4qF;O'i+f򉙙zoKBTV:fM~_4qAk}sKsWS2!ыi+% ^h4Hۈ{w<{_J?䆿S3gBAE]F4ͯB4SȯB' _}~NKxI%L$BA$`z?Mѽx*N8]|n~}DsE@ րF  k A:AAx AAx)$i K%C?H4AA%x  x  x "_ÏA%x5Y~ /2V1Jr%sC#o߭"⮭NXRh?ſ KUKG])ͱVsgyƥk;a >_'j1{kv{a1;<:laG5YB^* UBx /^ʣߒv9KJRogY7q`.ɼǧ5e5ߝ{w~o|yV:SAÌMʐWc TB^2gKL eVd^r|f0ߛf'{0A8r%C.Riv%d_>(ik. yy9MM%/J/AHndK1/].1/<-gm+Dʹ 9}EiiVX!Ri]5=Ns_aK\F=KK)7d5/O.8dKz({V4)8; X2VyIt~UfK-%K^rd*/%lLv~,&3^瑗#hHG2AK /f܌8{s"Ɋ3RK%/x t KFL⌗p'xJArA8Hu/)^ˁh4s0CNwjiA글%LYUU)oƁ T*^QGIqf%%kG.w0;dz%@7yNuO>P2DEJ7'lDclUӹ,] [i;+4?T2;)JW)nRY8tvm3f\y99ޒ{{瞗{ӗ[`̊դ<יFRh%K1}g.V&/#d6J=O L֗ReI^>,Ԛ&d9>Y /VgRKߛ/^#Tm(2(pJ_jܙKP&|iK37uxR}eJKY뇅.KoC"xadjtZc)bL3#TV0-@Jy| Kq|K0/}|Q1t뫪Q28KgWRV%Rѷ_2'Hl8SYSDlY*}]iGLdؗ,L-sKUERʠP/eҟfK)! f_ D25i5+_J6WK 2m4q9 b KgP4K.ޢK|5bK MJ'vC:ɜxPLZUR>͒E5})VZUҼ6s m2pnBlieԉFqϹA=Ң+?{_Y\tPk_R89Է1CsG7FC:M)Ut|%Z<6xo*Agk=UjzcLf*})aM>MaRyv!{0$M0})ET~-!—l๘eF%yM[:tGjIg^ \,ZjQk벆RtK [B/]Y1<И$]R)aՇfK~SG'tW?/ V//ze#pe|)aMQdaJEY5Ka--ٶ_ 2F%kQ%CosK2r\)JuKUa&UKՔ4ʭ+AIidmK%ŗӗ]~3|},NX٭^^@==%[H<bc~i (RX!Gh 4 liϰ%en KevU78&'gKViu'tNW]uSNsdJk՞kK {8w ai1/9އg:ۺ湘<a}ɺ>YGщ['vfj+f>Udϱ7 ]ݐx׹`8ėH<\Z~5k }o~tX[B ce{DgR PxKT-{1ġyAsCx\4Rc4I(}2-(Y3p(vDRMzPKjډ&dKϫ ԰ȡsw8Il j`R4d)ͪǷQU=_|ijz)o/|| _| _%O;nrN:Woqd wfAM3?uƗ&}~mawKq O'm#+fߐ5l)wUdI.}]yutR^ty[ \+`nؾE9lAj޺5{ u]$dm$YN٢RE2O'=쐲5yuq#nVv|M\թO]n,4|J|ra>cLٗWW9 $qGWg2k)^~,HZڧ{fsCRTj߳C`.t}IG*/VΎss8-E5F'ݓשLxG5;',[&*#&-[c[Nz5p|X>G/dp.SKI i. 芞_\Kyd"-;%uE!pãKeC'NDˣ~?*PʬŐ ;_MrNGѧJw2|?I? Ӳdڈ9Yho֑΀Fʂ.)S=YRt$;y䎂Y?,5*ȲԯqG`G.=]xS> Ν /NcNtuG:7ڣDE{Kyk*ߗ0_Ӳ/m_[{{JqG.G{%[cT9_zT_:pWX}# \ܮ|)bØIouprHMU%Sʤ2&etN)RR'-T4|—=;З̹Fז/5mWFElfIz}}ѦcMjT`sڎA>v,d_wuٮg%=b`\PUҤ{>]e2KF}u?ܕ%9ZUNKn*W)[6u$9]򌟑 S/,VAKW/Ѽ_—_—L__YZKG8ӗP&Ǿlݜܹ{sښڗ;'qng^ν.wq};$f9 +%ϗ))Y2Mi&af?*Iؐ]H[0O_Y3'/ $ӑln2q/ξߔo C%1skHBZ)?o.m )7\N3,. + # A%"$"Ds\ۜ65A,ˁlC  5@=Cs\ۜ65A,ˁlZUCx} NU<\."ԭ$ J6%1d(Q *RLz1C”QLĔP)z_#^WE.[fc-?lyuR'{{WűwDVO}nɲz!>{G}iNaogc,ڙ2Vp|#|lɺR2/Hj'Kjw6r _4fxӸxW@v/A?Qq2UFw*$ݷ$ۖw B@u@GO-)?-1kɸ測!DAcOp@1Ivl&+3DYi#f f;AQt3]x~֓es+:w4W:NzK:J:rp$WG iKH:C}:ױ&RC}>?\#\@ID֨B84}/&JOA+"(m!_OOt+ls{9\)ӣ'B`j%@ "i>3B8ZsP!eُK{Mmǻ4ɋW= ,t1Y)xO4xyݢvM&|QOvIiu&H>zC.[Zt@9-چZeRO➴yմK3P3Wg?++5h7w2֝8nt|J/\nVо#<8Ma9nC n4uͺJ}5AlfDgaəRۀDnb$V1Iu#w~c#b9̄˛CJyaxɽlg[37` `w9ZT*t:B>Wt8<>%Pz E*צ1P^gB5^ (UWqͺ ,!qp_]~8y hOf4pjuRha7CH8;WJGsOOu}뿤s+d\*όmOO!lfO$½<[|f矶KEa3uΩLA{UzčbYi&A88qr+? _hsUtܨ`^\G5n2G}*{ ~㾊Ə7>C?[kW{?q4?ܸEiT3;3p)Ft}A>zQq i:OqS1\nqhOII@C\N0>4cgĬ\cW1f+ZC~oo1Ϥ^dYv AVPF1K%rs{ۺ&^qo'fMT## rf)6?6s3ﱦx㏼7 :GCOo}CG_$Ps~ ǹA:#N>>tth/X'Xר/E Ȇy)NP;NyMq-WTt'f'Sք_?}ĺzJ(By=5Qڷ;QUCY>s&>eLgHY8Y}~mA!,^mBʼnxV%亜 : ăWFd'p8q~cG뚋;6>-ǽWgh[g[2xRt[@9T(F'+>!6\tƗ'V|x„aܛ+ "qN61E-J_l15%b^4xkMVs M_C˸mFٺBNežzݓٓS'U.:ShԵP}d %Dbp'LLV+P,1i!,s1lξ9>-(fpScT/Xg}2YϚ1: eD \vN=Nt7wMzFoф^^&4Ϯ\{/5Rdũ bY=PAlCxVD;+/=oсQau'Sw280l, 9_>h_XI̗xFv.:^a˙]DW^t0d- ۰ԟ "ؾ8@'U1YGFio>OEeD[NW<Aw=r9I-t~yxo_rCT 5IPQ6@qߌtlۍ rЄO`* (Ͻ-5:.h%sga:zL}&oֲa}V&GQqRX9wg!qƧ w47p]w@Fxό!-7y[JF3Cl._ sײw/f{޽MW{&s!% A{@/{"#yTsgQ?؏.}О;q5M2ϟcԇq%W@A7 u锈GӺJb"=@M}iЛ|"9gABN1%*Mev Li׸^?35}?Orsf|,X+h&(Z3 Wl![ e[Unǩ+7Cyܤ*Xen"ZOUlU!ḑkN}|矲=5yQc2ȧ炝&G[$9aE4] YG8sGj7NO0͐ZYZ[4i&{=֙ h{cfSi&>Cku!D"feQ|&?kgvZW맳; )gYW+e%r9>W^.% ?Z֕RlYd!5ל{fx~l"YX=AzG nu%к=hJH)kJǺrϺRs]k^W<:i]ir]9ZWcm+TOܶ[Wj39̓fg)Kv`~oȺ2W)BG-7}c:] nbNߴږJxޕKN:JXMC:;N[AxǖsĐs;u=CN%dOUP=S _O^^:[()x~ nQE6FݪPn  lHQf"B@MB[.,]`g}mg/H^PV\ eTO@ݱF+k H)'Lg_h#RӐO6ل* 3p?\Bg0} A`Z_tAd3=b|$JNmNS<''_t"砭3~'1oٍrM2N/p7œπk\g JَݧdđkHQXFs[_ѥx٥)KGe[%|m3Bdεo\GGΖP G:GU5\xS8~܇?c_|#g͔f?{'slAmc]n'm ( ߅Gv](7/.u'o3qLDDQw+q4}a|R;MLUEQl;y^땎^/1kda6;:rŝFq't.l-3e,Cքw4=\3bP.[~1Cǃv,ev+W0zFo6 (7ܘGrU9^_GDtCvZ(w}@Z( uJ0' xвý>܁+b5Z(śY5&6ПO8(=PFڿjqc)5jT-dvX-(V=kbk:O"\g j?ch6Ǥ:rqmB|&h&g(&{QUhCCmEU1xRI@gZIqo47>eg?:v{0>l%~^B82}Oe;~"ugm~Fh\?y^/A ɏL^&g\w8S˷||2StF{g> 8waD*M:ޅ$P+}?Pø~kRWԆ[qX,6&ԑLX >l<9lz+>V&1?ZH^ɣ{K|uc Ϭf>eq\kiC=Hou:ep nH>6>V}+s)ykY>Nn{2vfT-MA8Vo U,vqLS?>M-J.B)&U^mS.{I˵5*FyOv}OՀ:+e[cl Hg'OavE$.LǤl}㆜/M~/+S {KҹE(wH3}vUymp\lgr\W&9-\\}sȍDtnE[W_i\ ;٘rv>:VaItHO}k)y^h}O<%4yS"8~Sb|F r;W8EQ:$aںn ܓ5Qznƌ*GIQ5W{p=;^sB畤4u|U{x4&ׄi'*ˎEuMt'\H %(_ Ltn[㾻y7!Δ})ʽa,7P,7/f *}P,{ozsNrò*"M%ʫFE9h:$- 9eHK W)-;vt'"9=gZ^9Kg(LJ*ٿoVJozz/igfs~>i*Ny,دC/+R/{)0+TnV6*[꽁_=x~/羬xu7 $Oc/Sc^cS(wʎ:=N)=gw:@yQZ߱㯮R[FZZ^5ʼNʥG5;$^ufnz4'j1<NW+ LS#Uu^84DcXyRzxjUy5ۄEL0 X.. b CGqf.R%UT:Vk9O>R;d K'QE$Mٛϙ3e2Dc)3]&"|#qь@.[,9^1 4v49\}=dҢ'&٢c ěƍ;辦nו\s٩cs>n: -,>ee?[|Y.bOX.rcUr]8wƵu=N:]/l~N특DҁfGJ<,Ky9eoqLoY  ^76gIQlM-MN9kne.Au t'b>B<,s16:pcۏ*xXg?Nof/:ӁQS6ǔݾWzռ;c|o2#B}* Cqn+~]CF[,]4v @QeoOgkӿGH7CU60c77"s)(%~(~(~^S?ˆ~^χ?}}<'F/\϶(cu;|.;g$ˀ{~!Q2**%dJs,,q111ݥ8<&N;L4y.S=nhw?X|LaA8L9ʲ]K'L d~_|g-ް! l@'ᯧ'&'k$'jhfrʵLSm&tl߳n( utJ'p U tg+{>T6$Ų?M~QǼ++Pɦv`n(wl(qnAqn~Ա?_cwٳ!FY)H0K`C"U uкTcVA(lH7KSY?Q͎z!:'B1Loy(Wɀi6=Fsxj̜u"6*Gu6.R݌sr ѯ\7clL:},Lʏ69RO^4O[lIG`%特)3ܠr\$g-x\$7;㝴(-*Z̓W\|&1.>[v&u)NUfql5#JaH(ҘD%iOHjC}R]z^aiZg# (Wqq,XCO݃YUsEiQځ~9k^oo-x~-)DW3!+6N3혔!p2UT^'k.㶖4O{bqFҙƬ;Po3(s֓QryvM&|QOIu%;c坳5mOUqbT~kGǎ=/yϏ=̏cTgw3(Vae! r䡴r+El,;l ˉrTȈ;lkֽNVIe3P;,8c{&NeUR[gnbΝɱCGr -&,7ȕ2xl\3ݒ7`1=9ZT*t;B>Wv8<>q+=1,}.'Hi24+ާk/~5J@۫_89ɿ䐸,<BPU'w̡L0w~V*/i\vp1‹; pR\}-zoLr<3k.3ξ0c9]W2Gs!_&s4GuJ~?lL-v1d[oC9vH,pl;|˝r/)_遱K\U(v*ؿ:WQ̾vQ^jװq_%X)e/A4EyhkMd~-wp_KGOѥ3΁(aŊKuNR~f(qy>Rn.bj_O9ESy/]Ey9h.Ks]b~uCcuԏ {X~5O曫@ç8!F')V5326S^_>Q_5-> 󲦏x2U9_1!5US*|)k/ Km>f;O=}Ih!}zA=G5QگٴgS骡A$~SQ6= -,`tx~AqH?En9̤>TdW(gݒsD<>7 :'%ăWF|n6>OCs͆do.pި,3nm{oQQ MtQ!5bރS/QdMlmק)Ɖ ø7WL1DcМ9Ih[(,uh`b׸dek5M:[56} -S<Qe}нW1޹"oS˪ޙb)YX1|Z?>L#P1kEN+/{nZ64~6g?ܱ8Vz.+nNVIֿ@#uuAz]MBA&XThM?q]z>Ϯ\{/5Rd bY}PAlxVD+_O>oсQau9S3稈FLAxy6YR9%+ݽWg@.h/:syBsmvlm*Y<ڐGg.F:(.dun=뉮 7ξ C7|O5|sJlY]Gw;J|mKG)ftm泋Nwu0k~)҃RSG9,k0ϵ?s`{.C~`,dzt9A{ͨA<_~fp_wUZ>5Wb|+qqsstbo a-]OET|g#HMN e?^U.WnęusQǫxA,|srOs߀>x:}O]GtFY\ *Y.?z$fSg^0.襆᠗!'x˨qIq7q\CLRc3gw<7O{EeD[NDe? 6`&T|~5ɔZh->fJkQ*e ۿ">R.kIjy}瀨޸'c}~╟~8e}1>N2q}$8|>3ߣtz.?p$^D7˸*=U*? ~k9 ;DI  M ʯ2[幺![%-$u5Lgz@$=X'Gyް{r#רy6rl|6k9#J'n8~+BU2㱕Lʗ\Ld'L(BK`-) S*IV'.[$wNG#mp Η'zI0b.],tZׂ]C #jTd+qTpDr>\(JwfF4}S+L䅲-*7cQWtrO N\{ UL~Rہr7$15+;ŴؠXlzbV\Ӯ qV5/ \7<~vBYqO c 8y7M E4] *\lٛpxh紂~ ÿ}GM|ZXkx&Mξф[qoTg:} 9z^Ӭ{G*w+5޸Qm%/+)> I3K)_D;>V4Cjlk7u->?ﱦXgN338: P9A3ǤL|B3D*|4L~43'Og{w:7di Zd`}ߔ8E\0Nh]g[gLep/?!_oWE D{z"g 7{Lu{L4S֙*u u:=ּxu:rZgcm3TO [gj39̓fg)Ks{vt~o:3[)NG8}e^>c)Qێ:xl[dJF+m)'ut 1}.J!G>dc,c¤s"8|`ߣ .I=&Vrl p{L *<9>ߣ{G9m8qKɒ{De\8el}rk]>MᎻ9Nm(l;׸CIOOjRW$Gwz^ 6h:_FyYN`+6hQ#`ߍ|YRYDm*"k+:vw~ <ltbҹ.>@ڠ93p[sEP^<'Dh nCr;Qn[@O.ݥ>Byv;~Qe"Z_ ڍj[|pᚫwyUGpx0Ľt^UF\Ze^8h܎{S'MY.kSQ,ռ&5W78UgSa6քD=\3bPHr.:lmkf);Ж^dK 7zypP@t}u^"[C߆%5ZHʣ+jˆ3M/p\Kh5u,SskZbW<>-3t~4><ݐ|8r_FCK2CZ ?ڒmEޏ֢cGpzWa&fj`y^Ob<m8O061Y1 ec=?])]~VOIc1I>P3F_TOif&^$!i&_~|Fpogdx{3DŞ~iiIi4f3o{" LY˟dhs~:Ky)8wkuaAz\@ 5h}]cs]qƌlQo(q(yɤ-5^?j ܚ{^ӑc蚿pk?ZXVy5{dw9G*ٻO?~MyOv{,pF1,|Ɇ,:||Ȗ;յNwƽaKV0fECO-Jw+^۷g P0)ߨ23 }1chlxg>srIjSmR6UYؼʿ\[hdGqu_ R5˖t-)~{ɥ;ןg:oh?;=YCx?)v,-ilN~ҹ*)wH_3Dx siS%_ٟ#bIt.ǹ<9r9=WuG7΢4TYlK9_yGx rH9ҁk|3 {NjO3Ml >;'aQb`6 (wm<[3tƁp>>EcFT }6IK!xUG3>/R79ψ'98SC>=hXodl´e3H{“Xh$ZX킔cd,:+-Lt7߄8*ʇlA14 (W/7\Wys@ji͹Vj Hǫ71d(eW#)\s , # A&"%"WR[\d.Rc~&: :a 5@=WR[\d.Rc~&: >`x}U003"@4 RD,Q O Xb V4Ec747XbAbEI4os̛7oc=gs^g}iqzcfFw_fd*#~?#IM2~8ddt8_y~v~c?~g~[_3+Ŀ#qIF;X;⌌{xWexsW"g3kemqPJ6淅?ʢu }4'uÿǿixŹYuU}ke$#&+C=F[q~ġ ߣ\?sgQGE_x4kpXɯlI7{-c^7v46)wߠ|͆ xop8Gm6p[ɯzsp8#@|ׯq/$q8Hn8e)/6mi˖-?̬e8p$ۅl޼YvZ{SLp$ 6m-[q`$/`99p$$$7nܶmbaL ~믿vp8#P֭[wy'? Cdp~˖-<N=9jTaWAe- |?HEE8˂u^P8p8u/8efƍOS &+W&|-ȿJq8Gh'#8\͛E$]>A.++_I|iTYti`~PӺhPo\p8u/)4r)[ejNᇠ- $p8_xR <׎F( q$ZJN zp8_zƍA tS\[q66999"r Vk}u8#N}K8ts&MU楑ϕWxz%ڨzի|['(:,leRHN> 6alݺFf csp8$/Ie&(81 b';U 8lݶFxҥ'q_TEҀd̶RJS b_q<`>\7,eذa8)yI™)hU^xZVV&2xg#=pRuquy +^GO{?3>=./8(3fhڴi4=Co 0=SXXkh ]/v y뭷?8Crmf /",v!O<뮻p Ȇ ֬Yç3ٳ̙3҅8G#/eeeڵ˵٤MCu]EEE~aPM&S(E.e˖#Ş| ӢE Z4/@J/c=&MT)M9˝w٭[7v$/6LС:b_G `pPtƍH_>p[#9rdUng 늡|O=rp8|g} ;vlIII9RVV6uTX FaRro3je.Liz֮]Dp6l4i;1+!#=Yjn{嗓+Ɂ.bguVfz-/ aFbcm۶… KKKuv 'X /eB/|K^^/gA,۷_dɂ v:qD+^z %9sӘɓq[t|w„ ŋt2~ĝ={68ڀmݠ16!`qԩ-QBO.{駟 ,@3<3++_TL*\o#Fm4#G08ޙN "w}8a13ܹsi~iO0>gϞi$Ciٲ%j3o~W^yꩧ-$ 3KGWH-{駟s @nY3۷wp8_j*$++KVXotb,LNK۾9)J sh)WƷm۶%a Lzdjt/=u3 uWܴp8z n" 2mڴ) Yb#`{IO,H@ah8ȍBAk~QQѦMx+i\=qÆ ͚5$8ڀxwa%0g6 e[d L:$gK}vm7Hre$A'q1΀Ҙ0h- @%Oq% 2p8=.Bh7|ʾ}Zݻw1c. bK䅵KQkfՕ֭[𱤤D3gxə$^K.m_}UުSN˸֜}̝;뭝8ZbӦM .,((_”tws= >SN9&3ڵ+[#dϟߢE>_p \+o.]8)֙gWXw{o͛ץKcrٳg.XWsh`|S:q8F_8ûwNO|]w%:3 /Eb{tqC߿?珞|Ieʔ)|#<Їscƌ uE cٓYf#rwˁE@Dx}Ü8GP/[[n7|3Ova=zx7>^zq4:3"~zC tH6]vH`y`0\-N}|x≁x4_}aa!²fXfjڴi]ty駭OWKP1i2y!1P)SׯcǎUpۼysd<4A_q_9u^|ahTviҥylKSh,3䃿|+rL}]bEw㙄݁^*{UVBȑ#7A_ bdjp/wx~E7j,nZSP %F#c!END}rt|K'O_K!Slc58-S'mlbv~+E[C)w?B/bm@@ַĺh[ڵkD& T,NHCx &CqƐ\w撄E#d44PF@:q8/5%#:E^ +B`T2דܴB8+Vg̘Ag֬Y;0>|߯'wy8ypO弼<ݻ7CxI>_򗙙t L7O6 Vz.(cΐae_y啶mt'|zs12E.o:N8q8F_pٳq-[ 4999O<>N2Vo߾8q, pf޼y 9>nݚWvnCa{'Ι3O8vi͚5= #6}'!G)..F_{5~D!_|/B [XYXc\ӹskZ}Y^lٲ")));wnP& n7`LǣG.**n0.X-^}o]d1h{キ8q8F_蓧9ŕ1cpL޼ys-gIN>䟔͘1cȑx536wÆ Ǐ!g}0.++o~n6f?>Fקz A, gſ[aCݹ69r7PgyF&YfkmZc₫sI֭I&ѮA 88Iȓ:#R‰>wΓ0?j \|a ^:=~p8 P*{m;uꄻ=cZ4.))H?.]- * W^$PK(!f2$zU›dee1MF=zϧÅi!޽{k\ Xr_`=\G도gXkB/wql(p4B8:8) ށ3& [ŷK.U_dy%G$)`h#Z(~gggsVrZm͚5vBGU8or&#Bagظ Yd~}XZZڦMK(y/dv)w џ+t9%F> ڥe˖2D&up8֣>=8oi(0!>vޝW FG2b v)-Z1ZJW4,-J˒$Z%_[ntosP8!o!.?s|l޼9̞=aq9sA_ w;3.bb@1Ο?_G}4?^veW_}5[M[L/h z&\O=S[^^L>;Ss4J\9p?,-+s=W&PWtIؕPAEK&Mocn~~>'/2 ?m4H7ߊk8CJDڵclKYY)][+OsOVsId /~ w}?>?lӦ'|Z&(RB 8JޫWC3dxKKK;u4du q)oյkW|,..U 㠃T{9\ЧO׿k9ofggK :O>rZir0y 7@ҥ H QG"6gOmugшm p8Ra5Ⱥ2vX j\P P|ۯ_?dy睹"F7mv 02.ZV o|MNJ550Gvi'9JV^ hddɒ &zǁ@" +֔dfϞ=qD 07o= ~a馛.D4 ;oJ4Sms1 /PfOOqy~~W^y2PEr8q8F eee0{rPnAoBT6 %SZZHSF00pȹګ/ajJm(q]<x.D;0//Nv`lI +$(<5x8p4q6 *tztիWVꪫl.@:i = S3,S)Q/4 Aw oˀZq3<^0O+Zj[{'%a#!kc0 /ِh+&sp8ݿ^b(6drC")|n]Rؐ"#ڮZp[ZpFbJv#ْ¬YFYVs$klE2·v nq &cof {H7Dr! ~Z hwϵ4aqAJ*gĆ tB;nܸQ1e!13˰Lԋ+P|뜚@Y{KL&n|p8gh``BCCkNJ!yL@ˌ'\,C- 6?n{Re s0NQQ:Lc7SkP-2GE 襪% *L;K=tX嫓T?Ҥضj œ 9WTTd{h ]V>7h 1:v(;Oӄ aIGz¼̡1dؼyۚ`ҥ`nnB ]ph^7IuRx»$WoВJ- *{p8ip..)) miغuk믿NPWD0V&ذaŅHȝB|Vp84 8;kn%&Y²j*mHT-,Irq…$r8zWNkF+--5ok jueggˢ/85 (n#Ͽp8_!bM4i9J-?J Ҳvˏnok"O[3 #G_Bp8_ Hrf*% *]-uHꇮp8$/СիU mP\ƚ5kxtR-))a{W{Gl%m{p8$ A"I}UdRPPrePG9`ӦMK|@hEGDrNg@!vtuF1z< }p|(**ꫯ_ Km` 䙓Z )eeeߔ#0QpL ԿˑJ(+V0.HJVVA*S/0@l}>p8$`֭[.[ne`+H[7;范I8_M: Er+H4il:% u d\%ugxэn+GR$C2D uaP\'\ZhhyH'9:/!G=+o]jUP[$5 $@a: o:D%6Ză7S""!퐟_-Fʙp8IJ6+/r$Eb j(GZR&@rh~ȯpY8K Y7b8R̲2kܹ֬'IѾs6mA5]Z YYYJD[\vԞp84, Q8CRIlժC`hRjA\l>LDFZp8_dffbpQcK MLtHJ dgg⠸ؓ 8i Y$. rʁp'%) {br % fj SC] !'NIyִR6 9,9hoVp8_(,O;ob=񭗽IcGe,;_j][fr(:>f˗/o"ƒt3Op8IHAу`HA<8$æM`E_p+S(Kl%6*EP;q8/\xa=.^ iӦ/K`˖-9;C9q8/Tm۶x5IC0G+WdP 9 ap8Ij1j }.͛7g>WF_`Сիզ9q8/IFlݺ5+++d_)ȍ%z8 8q8/I6&k B~;wf^[Mֽ͛Y#.ϗ5-$s- ^f~2|.]Xz+d$p8?ɡxsRF}G=ШQvzUKy܍eee3@`lql,Yr]wnΓnZ#+xs[A1BJ]'NسgO[Vׯ9K|cװTZ sĔ ,`.6K &j7ujp*h|j6ʕ+CfnZ6p834dq.VF0%fcEYVVGs]+L>(',*Lp~w堠P90Mj F.R'Kaa!ЧF">.- 'Fpv)0SHBUyFd<J&?#fIcffp80[Yu6^3jժbD8bg蓒%p8_ ,J8,XUgDSeiHp3#p:ŋa4h *t»RC†\_sp8_R!~ ̌<#kܹ֬2dLz!] _KbI#*HVCF=b\m9wK0 <2ψ} .0iHpP.0w8(.q[|- tl۶ m۶p8I}mTqC;^<`,p %`Wx—d]p8_R(YPҴiS~U2tQ 1%Mp4Orƒw -bsp8II@'t`n8_nT}9$ |ph"X3fd1Dy~ iO#&h61ZD6kp8 *6!"Y~t|W(7QHˊ+y 3J>Up+Y&ȼ닏KJ%~s"oTk6CFRkqwZ p8/_lbC]`@[bh">D^qhڵ8 M*BcT۸pX|922339D1Q!/fTa&M,PX#ݖeeeTpLPGHaa!) (d%Q򶰂K ɿ028I@B_9JpR `M$0;P I D֮]KC]~9ˌ[5L+Jo 2/)-mC}Q( ;|b'[lk o"]tFa#S$^%jSKW^YfM Xr<AfffVV/yg6mZXXcwA6mC }FrA=mѢ?[PPEEEUr@bj֭}ڶmr]"^eMOX| Px{۳[NllrV>11-Q/=I}7(sH\HC4ř͛7k&= _.KMA4AFNx(.4 vc^OM #6}!-[L x%w#]Je-G?Wʬ0+\|j_pFK{o\z#*!"p/Ʒ+WԆ\6qs% whN .GJœ;45qLFmm$a;*ŜF^t C|jO:hqCߥ)UK+L&&ŷhbN !./J-9W+Z;mp4M` "R 6KI.W𣲡)Z`> KuԪH`Сk֬mZ"] Q|lVӦ/"KcWjɹZbq{ ED^ze;J[f?;v|饗=yUACsY؂5lTS}&wҥ˽+_ %@kΞ=;_bvX#^OP(3_iӦ5kO>IoLjSOѡ̥y=z̘1#iI^I%)~UP8%hZ|͛/  n2 ywʌ.'Csok_H-M,훰+W1ՂҾL mڴYpae jG65B6S~P|Š۵k_'Y?_~\p^9ӭ߻ᄏO>WjɹZԞLjaybGq mZ.2/&;D/]Qh?IdYQlfVV&P\\|'kS^BBFJ:#Gr_y Ame+'tRƣOկ~5bE8V:kiƌ[$[{%+F!w3$C,(,,otRstɒ%'ԩ5\#㓗״iS@?233.\a9IRU?4il͛7oժu֬_K.I~H&Bo / Lرcꫯf;Yf'x^o,ɓt}94+? 5׿Ez}hPPL?B`BK̜q'5j]wϖ/_)ꋡ̝;o}FOR ~֬Yrq{޸qeg+q=TW9K` :u]rx_z;v$ń{q=T߄CE{wYha:_1al};IRU?ѐ@z֤M?i$.~)K׌3=\X -Z`-Z 4+ ѬY3=3x`@wAAMm&Qaތvj *ذڣG;>O݌'_b'G}4R3wǓ M?ir. _ڵkguE:ƣOlVuAوsǒ%KVZJ۵kW;X^)'F /?+`w b/ ~ʘS6Lmڴ]YVGVzRqtVD08;ɪ~8''G_v-UƣO4RAAшJlRg ps'@os#%gkP 6ؽYɓ'իWWl21b$sC AO~]Q^]x1^[)jԼpQ!p,&rҭXӦ4}Rh#GJ i₼<5:~F>|W9_)?(̙3kfb!8a eG&^zi(RƆ|:D_~'U'E:U?yWnݺA._\%%%97sJ~Ҩ6; ^}U^FI\2Δ)SRN_4*--E]?j:)|Ν;h>J3I>»2uTȥim矏`~<]_"yǯ8v>SNѶY'DhYqQ4ۦMN;M=S&E2ԪtЁJ5;;b_TNnݺ;6mI'q:ar'|)8,M?L-[lQ@{TsZY6@\yAy1c֮]rQFA .R HpB!oEBUUzw@fCܹsNN˚5k4xemvm8IRU?i׮}Ə߲e9s攕G+CQM?i<@){`ZwM7Qx]v9sg}{ˍaULnRNٺu]0 4(**B p" ^zyM,+yۃtd]tyG;sܸq:ub{ +%/୴/U wiiӦ۫u֠gqπ׀̛oɝң4}b3=;УGGymwC3t lTGϞ=g̘llrn(9w:̭m}u8T@T\CO9sb 9.KEfPֳH2 v3"z.ӫm5iʖg+JH؛!T%JއrR{{l}Bx\!_BA?T\l}D$р&Bf$T*)jD-j[X);!7uQJvy4:$%^cDH==7DBwH(䷷,GP&yǁkpsF/xtZYْHY,4_IA_0vJmQ F 1j8i)6{PO B&qL_v1rt"pW%W? ձCfV)lۍM֬Y8mcUSʎeQJZ! D^&$z*{  GT yn+MZ􀸧< Wzoy&H壢hg;ەp!}#ϋ}b.}&maQǬJ[n*|XHJ/$0;@*/SѤ,_<~wvuFVZ`;T?!ۥ6 3ˬ !jbUۊ[Y\EBeQqYQm #Ϗ!s;pݻ7nD Ң?ۑ:wm7fh=z4хH(QlQGիW/袋ARn-(ڶmˢJ}~Ȇ{OX +yTB\!+WUQx,;D׫W}b 3!Q*,] 4%^;edTL܁FN:"vlMԡݾݲ3oEE $TTSܴ}OS hKVz V[eD4!QQBc{;D5Rq.Ebڄa QȹB?#4F YɛIsg6<.',fZgEGKen&ќ̓*a Ko&FxS Z34x{QiNKC<%뢕59Q"5nzP9g}W{wqN4}ԸA}=餓Ν"-\{9X6\[X p*C~01cr2oڱK}Ui]/0  ]ldSD)tKm9|+gAՍ5d+Bnbv-8TQ?ϺI!sQox{5xCN[ۈ}<ַ2_fa'+Q돜tEoD!͠k(E|.;mhҭ> ۵}Dvj%-%wBbohu RH2z$"EF/Ul\IoVK< şE80k64C'Yi14E@?ghVQRO^`u(w;fJe籭BLţV%i;!^/*0۸ uzlmKҞP[Fr%[{99p>)b9"`-5īWÖ\7ds*}_CuW;jՔ!M/ddSI[q 9h0}bVDjsKoIvP]hD?W8>bCPuNzʀg6JH=@AN2DVV-[=zQQu7xSOav;w:,c5;gϞ/Mqy8m0IQp0/䧋K(6~(kI8]wu]^U{E|MEKOӳ>+P|nΕT*=-9qkE!_܅-[őQK(r`ſ)"@Kx_qg̙C0?R<`10e())8( .@?<>y$+ʉ^ nfS=n@ayP} 'dB$^wэ)^{ u14hH/+PTZRW q .сf2-.ah QLfVsCk^9 S-MBJ~PN,ɓ)pm93gDѸ|9CwW^81\`H+ V2w 55⿬:6>xÆ K>o/ R巨)$Fk* h莞ËB@) ;!cEg¡*z;E uā:z :xNb Z Ƃ - eLMH=ۧhlh0Y%Ip Zb'Kз2аKur;xi)sBGWbK.bPPA[H9JN3b' tf`T`Ga$1nZD"V@െtI 0_i;8N ըfo߾9f0;hA0(pM0>^\>^@q0zhw(Lo6cVYYHh}* / z:e]ƲcG4$ T=ўH|TN }҄D*NmaS:N;d;Z'윿a$S Q{Jh/ F*o.GJwyE]DS@>fʔ)reЧys=fk~xW`Z beքd91`;v,98Y`s)V8?m4^!eq2kcrVpf M$AD3Δw:{FbȑR^KvC\f`A vA0s5Gm*܁PU 54Eq W @)? xIمE;~'B\ &40CA#ӯ+y[ƱoM͈: tzjl^ZjoW0FS( af誔k%Ȓusk|fF+"9C^"l2U_4}Ygap饗jt,T(-]KקOft$t|(3{2ct @C|5 '^!.8o}VmfC 6J 'ԗ׀`Ѓ; 0'1G\nq4OJ0FAVdh&]ંEulpN3|,}1FGu%|UJxA$]N%3n*K]]Px+VZ֐څͭhNl:jF21^+MHvɮckrnG Ҡ~u@aP;vlNԑ5/tvm*$!R\ % iC@&?<4ľKyDG,ѦΈ#pdveQð0|gܸq8g&7{we.U%!8db`-.g154]h/l;TCAl, ,JrT B;O >촐6C= S]Tϟ`䇼O]$ .%zʅe(- Q+/87$|jՊ,Zf|_haxYbjVc3pc4PCC&Q$[Ip7̶{wQqf̘1ئώc:|o+W#ZmlZ%A0`WdCqUt#\Yvv)X=*h.2/z/_%;a$9:afGE -=Dخ]}O>!|UZZJ݉5zh>>}hP'^UPE҂\Aee _v R^XJs"TB ޜvJNuؑ'wuW|1_r&CAx'vAr4b^xŤج Z Zw'~mm(y -|PP9JF3zn5|wѼys##Y8{)@p*C;3jԨoM( zHӟ;`lO_.xeyhE 3z^E&=K/Gk&G _0WPr2]@wϣ`0ɐ^17ʓ+vϚ5 ޽{ȻBDG}(:,6%[o£yXdAu+ܰ(TtHT=4~3t!h&.gs ?f|W\qY_<  +Q+3XT(;*E^jףǢ?p egEb+i-8(*Z ??0W3`Z C*=yd ZYfPN+ߎ7@UjgP oQAyBw;w.ň=C!qyd7J!ל-E>3gμ zlʁƠ64.`]va^{E5rG2tO*.lI>l2 dFC!gϡ9С *U!F{,gAV/&S Og}6}|0)xA/(: /2zbkO*%3)9!C åQAR{Kxz:Pי'?G|7_ajT&x t)Lšњ- Rq_BzaøQΚ`(x0.AN÷!Cp)Sp{UZ.u/|qiKiH9d"# v' 3T8в{DG tsŘ]|M7ĊʡZ ocLۖnz(g*C%4zOHiu(6; /$"ݫ]Cu<ܜ #F"S#W5NLPr܄8M-"ZymfG؍_*ق:75ntSap$i0 ? f9(N LeQ{)]U0NڴiMwX;`ϙ3 .\3a64!Sub?G|.@j/3t/`Pj~I;Z+#)/MhcСCxYf&I-/*M}e0:ꫯ7oꂍc |dԼ@UB̯ 7 C 9CmdJ L=Z4RjVšU0/!bJ~Zvin}hbKE5Y)"8zBc-]/ۚP0Xouu"Ts=^%' ,MՑBEю1dB#! .g'y+R\&_ jԭBI(UPi)ݷ%vVn{곡a m#oVJAo(\U[_C"8!Ƣ];N'X+W*3Gv0w+(;W2cm`]$~jCRVcxZI.:T*g@Gf Y+03r(ImP~/:@}9rjNX(5GvɕЏJu X5Y!-a(!2ffJ :i .mplOaTqiϓ]xq U2KXbIMVˆ&O돿jܸDnj(BEC;dDT"*O I\ CGZpvR26ٍܐ26jjg-3 T%Wj(?G-q0 o2D .OZxEJyr9B6 mOʐI`x| &[|eaI[*?j [אND=7.$PﯝN~\K1<K1B\S,‫G+C\PR cD;T;t*R2EƆLbHBZC^dP?G(bؼ OQ(`eR[/PP!M2f"(F3wqÄ' t>C\O] yn$@y4OQ*yEz:˓XDY7Jq0I`ff&8k'G[ɴ""&ȑ8>"n0  GY}6Qz6mj ̀-9E Havf8,b`<ڐ^}6--b6+S q+Ds6"fWFimS8Bt})F´4݊+GK2ySv0F\B]5b[@Z[q.IMQaaahN>tnn7ċm(4PI1tx]AZ!IBrhhbU[ 37G #2}yt(. zyU.Qsݲd/ZJ5iΝ;u1jg%nlK>,G7T401B@ǖn>:RKҸ<]oLnɛ`){kO"(*i1 Vqu cKKAU$zN Z,<⤫?מD&).h$3UD`"_b/< 7MԳggg+sӅxA8 Ė҈faiخuߤ%~.,m;։F'fhWH}_^M$j)&p;AĶ˅]Z#WUא%w='''}m6R#PtvT[fffJC3+ bhXlLMch/9˔K+; Ea" 9vqi}5Y$mcj9l~s/8BA ƅ>cybv.Jr`Z_#EҚ? LJla8b!J_Dzw<.% `4JRTT$=߱SVO;CUO2h=Y'/$D-..VeBZEL3dJ٨w4m2)0bL#Y(1='9aGT0v~-E$St -9'+H_5/LjgيfB}\SiKG|p6b[Vrq%Ut"CJ_zqdak"U$)SU &Sm;q-GOO֭%jв\bŊ b.ꁼ!''srkKC2LI|Z)`f߬[3t\|D4f!F9"  ;IhM/z==h{tҥKC)LQEnZXXXPP},C$A(BJJJdQeXb[:"4c/yj 0Egc(N- ;$=4hisyyha2@*l*BtZ~}nn/mxR&[&VUG]Gkۥ^wAC3mxbDťKCW& "Xe1 *2qG+لac\6yais#;Gc4<ymXWЎ%T8W0э!NkUBBE/6nۚe\Ce`uxtV8'}aA>4^aݬW B!9N'X$B?%k2TJʴ>K4b͠Ǒ@sd4vC?i|#CGs<\rM:)KәE5">6q+Z38q[y6rёt;ݯ?@p6m9٤=$z;/ ]_ӤbLrJKVHP]|._Иzu _Rr;^\ZZE^KӦM׮] KNmЧ Ԁ$9귍je.+_`s tJRضq8#I(xڃg5< v?,[n:gF"#7dNI='PK3/Ҝ$/xF B#LS;5hf t2K@hw2t?Z.,]-ҸSqE'EV\^Gn8%E\ydR|]x9Bۍ5~It(ej;}^#Q|tqo|hXG{ a0t3q]K~F&+ ClA"}sMߗ#) #Yc/5>3(@(NYrчVd56julڱ[+T-**&B^|@BKTB[Q"! ĭ| A MIJ!Ҕ*$4qر:7tާ{2ucg]??)f?s+YT1KnWGe\pJl_yi%Rdb2㜦ƉtA* Osf۷O=b,ScF//ս/gns>yʥ/r\{{;RP3-ߍN>9M ph֛g8!`YBi 8jķƗ0h1|˭޺ay'nᆥKرCm#_L%7Q_))I8=%{3^N}ytQJz\\J:28l(x }6m;άx0D/2JV\(rUI:炩TN.?H)7][^|G?$vm C W~6(d浤ܽ4z<]c_ztv|*M _z.`Ie8qq4nOb= G PnTM\nkk×-Q2/&uQ$9=XVI=t곪L%駅*BU1/ѥ6*ն~ m~`\Ex6Je Hr+A⭡fN=*E8%RE+]sR^]cb2 EC16P(5E{\*iRZǙ_GG71Yfr( c.jGҨS &2/ J`܃Tj<7y-O(,@s'*w|w}7*)]q(V~S0 L({8!;::OOktK1-!A.)QZFǂsn+ IC̟|]ޫߨȺpmPq򎣊̝8^>; ʴkx3~ 9~ׯ`C7tki=Ts"f7f?3aFIcA{Ԥ^<>c%Q+3;JGI)G21ӧj)df|P^x= }fK+P]bl۶m-,H91@bo~]MJ)"Jn S*pU Oő&><;̻ʬG'ji͜UԌ4 [ٚ17'F`k:s܄CS[Ⅴv4.b sAτp,>L|):lWww(By]YdDD(BRQ_GCcQ|YR1W2ACB'yG~/~_n1=itRC8%K#zTt?wy'SՑ}ph3kϿ/;0qq ,YD Q/bR/T#?AǛxtXnnnf^^iUA&O?ytxZr%~zŊQmYX5RfGyRaa(Y& ;ݻw?-[Ci(,.ފB-P59"|+EV>FV6(a֭мMh~;wL .OA~1.^uxxXs7tuuIȤ $r [g$uԞcd°---1bhr q/bz姏I/)Y|+//Q=0Oݡꒊ\Ff*/[ӧc:LtW ,`/M,s?!_0M W x 8نl^J?N5SE-PiwuTIN.>jm{rʙ9 BhՄTeH ~13,(®3xJ"&Vтi W:/1SF''G23#]^d68OONNb.4Z-0:7*5%IġdjQjo~1f~},0nco]ԇj]'Iȗ'g̒%ʫN!b,}Z}V|>5FhJ (Xicb ~(] EGR>qJˠL(h$r{գKKRa0ftljj?x`\)^ss3]K5/n!v0T.K17bXp2>)}zeqqZV~*aKW9Ϩ1ᰊ3 bY&.l_L=`_&)Ւ/kfL_@JS=zXL9.xx4b- P.))WwŘ DZg NE!SwH,mj *,K=6N]JyS0!5q^[1/>R__yqg׮^qNm/%WK N2D/Fy" Ptb}%츗y}zXe``@%Iz|`t XfϞ=ܬ_je1GB=/O<?=hiiaP/"u_RYp%q)L|Ō(\xD<@hlO3/LJJe*ՔC!UJH>>csL~(&PЋ/VcaͯJVY)hnnNJGXsƍ]>(} KRWnkkCO?oT` A 4;sɦ#R8 NY͒ v+Zfzk_*3rdp(= "mυl^ %:h*F:þ܍cjDy\&Jy#ѻΕgP'y4̱;=[8owz(4$f%r>МXSۢҼX/&z ͵nWMSPǥJD)l әo&<8-êޱ9~T)KjUK`_11a(ˎ?=}tng^22Vt'!ˆޤ8S'j&Ox}+.<'t$k) Iȗc,a֛RhA42 ."Oq=-3gNspPzW* B{{;a<8J5TSJ 9u~a=U>IuL·2"!tvvb3s1/lhù8vKJ,G=M(%1„ F; +aHS.\$4 s҃utсjEEX3Ü/0Jn.[_4Ѷ&ӆDDtFc7sX4W.㒅a^LJiJRUI+$JIO=/ϗ D0%p>dHs1/xR.zX J=- ---\v=ůbiyӜN7Td /;w)?Ē`)?Se,tJʽ2QR> W[K4cf*J;(g-hq \&%`2m&RSK*I6IyRڷi وI\!P)wvf|4&qZ?/N°٤Zb_Ȟb)5ז)DE!_D؇&RF w"#I~OjgMNʕIE'E)|.Ř*A.Jgѻ# aX'y UI.bTEMa3r>cb⸒̑Le&LJ%,--AY4\@ߝ'1|˗/UIxF<=t*xZ{13OtR B.cA=cbL"FSR=J2-c:h`Gw|I_ sNX~s͙dŊ7oa6Y-/JP/|~pDG`eS8Q#z~1ƔMH9#J|mW8i(#.y 6s}x NFOJz)lj* JBYv1[pSW8ːiB!*7MNQdH_c_1x:3TɘL2SO0L%WwE(̜rM7a^xm@#FUbxkٲeTvQZK/$ g8]FE>cj`xK*VBW\FcZ<æ"|y3H)RduwErq^ME>i)fW&TDMŘ0P(0 җA9^Vie9gy}{_2(p&Z1*mJ #)ruscbbLCIonnf6Va08A_,Efd#Y>kM_1,DN:FI1/`[` t *v[[kH&aPF bΨUwy׻ޅ;|0lPE>c'xppoLE&5+~@rr5SDyS*gɨ<$ر͛7(UhѢSv܉)<)qWI1/Ƙ a0 &,y^]?88xȑ4)pϡGeM?T("=C8]vIרBmzYд)c13XEIIx;uPdžCkr+"{կ~u뭷ox[z=$!x7 =/L-BXcP%Q;&QmGoc|v^rsٲe pժU_~9kjZm;73w)57cbF#)*VM9l2\#DNB?5<  aoCj]r%~6?OLGcǎ̶cbitw*^0[cba$#L%kv1/ZX[ P.Ycb1foq"NNB^c_1/ctt{Źa"TN>~1cRS)uәlb1fIJdYcbEǎaX 68sL,ɏ(V8$ݡĴ$L-|b cӧ@wo~b͋/km7zl~J&$VbWjc_1/܀!~.|;߹k.ܹs't^xȑ#\s… +;!3RE% E?OkK/7o%r1 سg\veIi /,H8`m۶믿>)sq,iv~1= M1ٳg9B_z߰akY"'> ?Gilii+ݬ߈ 8󶷽 +nݚ@q>PPܹs@`7s<ׯ^z޼y?OpZIH4#I/Xc_G rtlxss3ՇT7NZg>YF$)VnmmU |(7\8$‱>,vcp ߊxz{nKxK 7/Xc2f2W]u3$Dp^ϳ>K1_R_rM/b lRVH\j yjIK>9,G)KR**. TL\Q'Q&Lѷ6Dc1/ƘlpN) ==܃Fx{KpC)lٲ[nٴi<#o%%߅~h.#)M^r%6>`~oA@vR{)  r /5͚@DZ`v~1SkS1nEG>/~w{׷_oy[֭[Rz[oίضm%ݫJG|5@߿+>h\GG~>c EŴ2×˖- b h\g$ / UR.Ycb~ 2###;v)fɜ9s_qn zɒ%_WP:8<,La#m*#t2?3ϬZ eҥM6p ׽uƔtvvBHЧ/} ߿zj[jkk{crEc.>^!ԧ~13Ĺs| Zf w^`r @;;e%}+;)?VbF .l`\Hg>7os='E-o|\XrjRvnb8Xfb1flʕ+ r@SŦg7XÈk!F7.RR?hb1f y b$ `1>` Y&:'旓'voH+ q H>c!0LZcb t"0D5ךj-%ǡ1/ƘJ:hW_1U͛ccbhX\r50yYɓl~1\GFF͙jIeٳgXc&0`N[[[YT\Fˍn1/Ƙ-\CxR1z͒XXcbpp{2*V4Kn33Y]UE*3[c1Xc1Xc1Xc1c1/c1/c~~1c1&;w_Y<0) z%R[/2.Q~P =(,=?W)W>?;88e|'XGFFnqjo񛹟CCC>Xc1Xc1Xc1c1c1c1//c~1c~1c1c_1c_1cbb1c1c1XXc1c1c1c1/c1/c1/xΟ?ZӧOs?:::={^8q"~:'OjMrB`'=Α˗_~Dž~1_R2h0Μ9;wNل*A˰?z oaŐ%|U`JcQW71cL`߶+U/|Jͬ1cj4Iwww>?t<2%r9:x1c2()Ǐc15{1ƍ*# ]gg1Ƙr΋L$~9qDR#3<<1S+4ęfa֬Y2kWJ++?q3w;-VWgW5.m{W)Vk]W糳 B}DyK _Ref113278776NDd J> - # A'"&"AN=Y#L])&1h7N  5@=N=Y#L])&1h72/Mx]xUUN2 )BXEPPPeF":7(3(*8FmJ.UDFi"EP,}??sjޛ/7>{Z.zvkХc\\|߳N1=Z&.zb\\g}7ꫯBNNL:./@`߾}}o~{ȥ@rr$󯜜"R˜r8// ?sڵk{%WP P*\rp: qXiNNa~b"ڙEa:$pr`tucPFgH:eqh/c^Ra_Z*g=f BKU^j1X[ &h,ñGpi~(u,;vRr8&ISAE2{1HOOe}5>>^%믥;c9PHNNͼ_6++ 7.eɁuc;Qj1RRU(K>k߾U*-[moEX1\0"o]jaÆ/w5z*U|*\c1\t$ZiF\N:?0 W {yO=TNNΪUHm)3v >{ -P/Anh]ǰchfƋ/NJJd ^z_ذ "۶m:t˖ Dx&:E h P>#G}O }bFK,ٴiS vjyo"Y\;K 'Zn4-ZěoV2e~<"q]wͣF6lؐئMΚ4c81,MX2!˙3g2ԩSqٽ{w~ܩ^UNrEy`1.M* H9%HpCwލ;iii;ENGJ&شlDrNU))v~2r)k׮O=T9"5ap `*x;v,6hŋ/f͚i>:t-eغÎk`\ 8̼k!fϟ! YM #TX0`/_\ o)v 麦,Iu-;;ƍܧO^>#*T1c/oߞѫW/kÎ"P ,^1c$w=''gʔ)Vͽ+;v%VXa`hw ;@\.}g|!C@2׬YܨQV:s̐ s=ѭ5ktZg _p¨+c`8T5x$(w ;1}*㷀X͖֖p ;#WB҄vp ;!tm۶11>ǰc8rz޽18.7 t ǰc8Z/)0K" (;%Pd +Zjve1n'v *6K;̡~q RdRݱ̓i8U׀лk.JN2txT`jz'K~XMߺu+5t#QײBp^Z5)G}Ԯ];ԩ?O>'%%8p8_`釶.dra wǰcDWF{@&yfYp[l!& H@qڴis!h?|zƌ5kܹsyg&'Lr1\u{ngHHnÝu~Hy͚5ӲeN?%i\2OH@{Îbkiv;ߴ4MƩPnԄ E B ѐLvǰcX1C@Ho\.ko2V'1hQv ihm!Oz 6mڔ:R<ŋ7N+Wv c]S$j<\m-M7݄;\AwQ1!xkvl Lv ;-+:-77L6b.dDÇ3&TW_}Zǐ!C i+U4`;wN4l>!'5kDd-apq5^5cq9n8P޲E0&`|r !'NCw L0\uUB[7o^^=Îkl\_*G fơf*ꡥae\׵}+Ī J3P# @5yF5vXZdÎbk-ҲH;y;#SΐgVZuu kGF~J'xg֭ :t%[ׁ |g U͟ ! @@H3sU/ZQp4*f z`+I1~W G^p$!ʈ* +Ol5ab\ 06턢b_=b+x%!$" U\lٔb"Σ(_<\ĥF[z*6%9Uf;b!"͛7gffҽ&zL=rfc8H =oV_$ Qsy1\0앎 Nd!zymśc8I>>>گʦs>;# ~VP!\͂NvbŊr +%E;tSBB¦M%pT9NNN毴eMwv9#P눮Pc#R[1..ҁ2^*;6c8mP:5q4c8u }N'm~VEX.kX@W3|TRLoyXZ-[pL;%>-c8BHv1)8,r#Mgc8up- 51i~ Z~5|<-GN%|ΎMSNሲn ;[Îa'ǰc1v ;Îa'ǰc1v ; lwpr G9qB'ݻ7p֌c81lw, c80l;gтڵk)S&11NOO4i1-^zuVV(]{Fp`4s;NM<ӕ+Wv6:WpԨQ-ZhQ$y 7pi1uc>jԨc paÎ;;dȐ5k8ѥK`-]4%%wCpa:& u-4ȶtapbX^S!4a c-r ;K*!-\eCK?P@+Îᒬ\Iڍ7uYBi^^;wDYs9gѢE< h)c80,ZY:~xt/28 -"pJÇoذԩS aQ ŋ9 @)0a瞫TҶm !ÎSe{׷kv׮]V֜{5 qߖz3ÎP׃ "7oNWiiicǎS/!!a˖-v bI k;HLL0a/͛׸qc@c䔔n :oӧOG~1FWņc`8X;v'nݚǧ'Onٲ5kG}bŊJaՈu5;%aШ3 v؁ߑ#G^r%d͛HJJ Ҭ[Hc)E]Ծ}P4š˓g 8K_BCMNNZ㬬?Oр.ʵPLe1psvM6Pݻw8#*,UO6TRwa&꽜ހ>c$85~Ŋxtw9<7n8?.s ;(ڵfo:i$ܨQ#>M<2dn.YD Z 1.{Y{7B HII! ݻ1aU?w܆ 6 K^s5,[}`_@:N:}c1|t\*)S>,cƌiҤIJ OnCD9277w„ Qv Ƕ.=ٓ}Xn޼uּ|ۥKիW9%LZa&@5Q/֭[31>*$5 Ghp ]JE7d ۶mxށu>ña[+s{HD &ۈ1|$ɦpS$&t-읫KB+9LG2SR bX9?}l7}hW ym 2_^S\xb9/3Ç)Y\fw}[EZ!FVĤ*5h1& *Hͮ#5I[ +ȳRPčBSX:抉;ȔZD`ɢ{+)1|"1 te`|]_ -Nݤ$g-E~S;G8TXL(gwڵk\ m3ItvwVἼYQrS"OwQFI&6֭K$sO6 B.]ڸqP9 w*V `ߨQ#R?6oތHe˖ΝK4Κ5 y&C\ٳtv:qD?S7l5jPYX^wE_n޼9|10W^yg1\,6EZV18J} L$A_4L:#͢,[,3O֯J z@#*~!(++ VY%H9*XԡCAW"MwS<3h s4:AG !K /|&nі-cp1|uK(&(zA !ɤT8W-~qg ۷oOQyZA>}jܐ\&.ϟ(=M zxt+ݺu2ԬJP 2DOgN3 ;s=W11VZEu9\\rDVV\vK.$77FԩCI Y. o׮]ÇiT\̶Q (BסowȑPvTXXA cjܣV$ ,W\ҡ-0hlo&;-, i2'q$SAʄ%6=X({z'x)iY(6gT_G)"&\&2a1|X`y X|=Ç`LZB?/Xfm۶ѯf͚9s C5E^<=z4}_;wSO+t(HYI0Fo6bIy .] d><.1 u _,=s[Q(4Ch.]~0Ί+=˗C"I5;g۠I[Lc# ŵL>[.Pla4w2/2AI~!ÿ4c!38爒i3k֬>}EG?餓tmƍ4h\-AOݏ(0ą(I^N:u]: RG ;{n tIEew|D)p"(갊J,T G33px,Ƽ\恹%LR4u jD+&&WÖ&p8qj`ZIn/3H>CO?Һ ;DN -q l:|&GKoA@fO+YO·%0 K;EvT%Jb(2]1U29!񹴴41gptȑV'qxh;OΩ$ QD)_!1p9 Ԕ41iQ;/A;nMl`s'pHЏ apr GSnU?ⓓuGf~$0.ʹsN'LHH:u^9#ݥs)K99#&eX3÷,vr G Q6&0'S1~ (Z6A1NOO׆6c82IB$&&r 1Qd׫# 94t`a abٝ]$-ᾔœScBD/%vڕ*XRDڳ`PX9-Uy_8Ñi1%<1vr ;Naǰc1vr ;NaǰcXdAWv8T[N@pr G8]@<'9c@F3Qazlw Gjz'p`Esr G8p([Z5EӦMlt G q=n={~ S UÑaܤIŠ+T;jҩ$_X#%%_|jժ2ehu[%y(c1t kE-[?<0ܵk׀9#ä[ożyԩS\ A\;#j1;s G.܊2@-;'paޞ={&$$k_1cP#^x!ۻwoev:bz뭹>}lٲ*ڔ4 Ue-hvc81lO_$T%K|v#f<iAX KOT-OB1_76uvK89Îaǰc1v ;Îaǰc1vr ;Naǰc1v ;Îaǰc1v9Îaǰc1v ;Îaǰc1vr ;Naǰc澣Jfv'n<Oo ,eoUTr_SAQRQRbUYdr 󁕾gVrтa刂p{sүbʔ)2III:cȊXKJdž>ߌ )D%v+Wwޭ=c]kF19-:('0l"~~J7nV7&7P˱ՠ%) ;m۶I?\bd:IBywըQPIFVRjٲ%/ rؖxec ÄqBB1J&M8lذ9TZ=f5jԘ?>YZ](^8bo %ҖTq׭[W^{GS?*^?S֯*IŌbL1i}{ןqĭ<lۛ5kv5XKc8` B8p wޙQ|&M}|?I3qc8IB->(89~xOKK!o喤_M82GpazJt)޽;//lР0j*J*To Ү];myh!6&&&J>@7n(sȌNvv65@,yBBghu]WB dV)S;T0'['2;)A)Jw(4;u zE=:wnݺ{|e8))|d!sss{m`(Î -RPq-ZOKNN'||G}m֬+5k:GZ+s1bG.ӺukuիSO5lW^ C?Sʎap`H˙WZվ}{nʟMB"2.Y|Иt Nቐ_wӦM 퐷z \J0 #e Uo+MneZ 6)[4G蓷 J*[5qI_q &)HG9 ةn$??>xW:bIj7 1 ѐUJ{);wd8f'T0]Щ\w< gd$.T3*֔u 6. xj@)wU4}={$m{Tdox+PRCZteV $1Z (~6Z,a[ gT^PJde˖P-G'8E6ɧ<#W4(@E7ofĞzMBWGXN@2ຄ>"YVd2_ W0h{%H -ҷ*lPvq~`vY-(nJXIٰ=P|[%uˀEbgFۧLnQb j‡i>*xЍNr_Tjk׮MOOGլ_ohVJuWCDµ8Gׇ,"jv|֖'U|WF@̴'ث HT1 W<wJ_NBԄ ![@dE"@f&#8Pp!P1,U\=Ok8l`3&ث~/)Y*(\ Yj "[b~gJ\??i j`8S)[ׄbm۶c|\ `5PB)(֫W*/>>^{^[uܤ-H/Wgb mهw у7oamoq&0lٲ9G={{O͚5M:U_>IӉ322 OW\wnF(7SNZl9yd‚0ym t:t@<̕+WR1b>tg/_U>3nҹsg.\E'LSRR^u D?FN%gyO>$c۬ٳgk8vڍ7İnݺթSP5իWGdU4FM6௹D^z5D{:hA(oL3pb(=eĉx/h|O<8'XD.GItE6Ra,U z^)!{]wBR~׮]~G $.o6V(AӦMPՊÝҶm[ Mڊ%/EkZ_&f\uv@5Zhy!iM eXC㩧"s2?")=@UVwy)riXb_}C|cE?+/(ER tUܹ333ZjEWic= -8`*> Oț+VT8џzQY|L_GaE&BYQPD@2}7 K.^ 2=o0=mU.5 vJHP69> Ce)Hd)=?7oF}&xQ}b`%K}!UIQ!BVR,uƦ$Ci"5saO8dD)vhAfM4i"F<˺D> [nn,;w.c# )׭[&n&srw"? m|JD4LZ}i^x̝iR{gQÏ~2Yzd䞢~w&7ĦD"*oÝSO=܃j24h C" =l{P Pԣ]"@m My\аN7Ġ4Xx1_ܸqcZT,+pY}YfAdO8hٲ%Qkٝ:uB ǏQk֬A~ z˗/ /2 6p"Fۍ؀+x b@;%"[=`jժSN%Ӑ dZ=EjH L] ÇGFdr!Ԥ@WG3T@Q0UХK4aHd_t9[|IW]uBt5j텉d'۵k.eN<]h hh`3zϡ;v, @a):)dv?t @87p f(,:th3g%d>/@2O,X@UD`C Dj eH`]hѢN:-uNH-Hl* ]H>Z3w]`_qXIh 9>OL>n8跱!P#En1aM60\-d=mݺ5@ j^6mvPB?)\1sԑx j1|9JOiO§ykå/"tjG#jKl 5p ,}NPu7v e`vn JG-@G 8C86a..Fa]=*ݻw{N={H18|9C`8Kks9IH3 TSO=uݺu ֐LK!湤.@HvM8N5j9)4\ft6rȚ5kN1|5anAo&qYzuNch-{r"1xH>İ 7d5s1.1.TAU'!9Uضm34jO{;7T iii\ v --['?YoB8ʕ+Xv-zrD(tU$@<89c *RG !\|_Ɵ}l901> &wYn7nu[Vhk!Q-b P^Q.y _)` 'NDxҥ]d 7PlO?z2$ݻ pBv i+nٳg׮]'Dx̙mrVzUWmڴBgVVּyB't|01>*aÆvڅ PЏ rXS11i8>*p @h۶m 3$EB`|/p޽{Ք mƦiepT%ʕ+8lG.*kS$`XO^rK_}DS} rpAijY$ka*><Kbsشp``L2v|+۵1 q:G]1+/7Z~')C΂Fn1}*>DF;yBLo,U:J|v "g"k[NܖŴ~z%b`ǎ"ۘ:}d֎b۬YX97XѸGڵyS\*KK.3QqR(j`YidUsbK,k"nz @N:=L!)))55e%aرcO?t\vܙ7n+2RuYu7n{hy)Ps9Ӑ:{#ׯgO}#F(eNUE L`aę1c89uT塇Bx ʨ3gCw}yQga^}`f"wAՀ'.^Osrr|Mܽ{w\Bl"|Ya1cŹs⣐F͚5E1GΞ0as!W-ZE&f͚ .W_}LFyvd4lb 7&:m4` Z O2T?5`Hg}h$o6mʩˈ2yGժUC3l} c >>M.!o"Tn?ҫW/ '3׮]v,ͰV*u]J룐*W|'\nRW\WCo3B= 7@ `?v#@Tݺu?S.|n֬-[Vަ% O{Ooft:hb(@iL/|jII;\h~&ȍ55D;chw`.xJk #0ȴ_r%(40j֭`Rx$TN:$|ZSH*UIj$ YU4xXV-6V(޽{O?2, ]vm|ZZt&OPb>1Y14"\6nVGoSץ! xx15㏣+P*8qPQVX"z@ݡ\ J$CCչ!N`"O !)"J ?e&"S!C`,Q0_dRs?0=h p5( & 'ҧF{gdy>i0'/zom#{phVBk{| ~G-jKuG׊ҧAl۶Mpcȑ(gC#ٱcG &33̶ 5FchӁE QL3ΰ]$s7G)B-hh41<={6y#0gAǡmY њhΠ"˚՚5k`ba֯_sA$QzpBR'Y_0X$GHP,a.C: .DM4@cD C}&).ꫯ|FbJ-ftO%ZܦM]C>-2›n ৣiBHhb.=XYy^LH##?heGp ֞hȀ{ h_(mJ]y 7m*+N<۴iDܣ ɲNnj9a)<:֭}zp/2z>o'9v,YSH6ȡQP zkŠ?DhJ@@-%ꪫ@+`½ދEx[o=!T=\@ +>[n ܆]/X 0:t둦(/YI/ h0H.8 jl+;&TiX%! 9 ! J \_Wf8c۴BT&퐺p{݅XWd%jc0qhS%ܦH{IJe˖EjgNғ% h f,5!0 $;wMu&0ĖO5ڳb y2EVrY0[.rLD5Ck4P"yY@ԎjhOC,ȧc|lQwItv20NB~wSd&,7,c=9ckYT[`XI_ntq=Ze˖=L9̧'n(AqKq9NEաۅSzeL& TdwHW>|]vu }Nsr*v %lˣ.LNNN.2n\jϜr*{݅>)21vrr ;99Îa'ǰc1A\qimݔ\N,vQ5;  8mX!v{`r 'K-8ֵ40k;Lb8d /jG@޸0Іظc#/40pLw L @;ݵ . # A("'"RyevyR WP 5@=Ryevyil@)?*Rx} Tձ8}apEp_bT'EsAMwcPKL Q//1ƅf%O><%(&"*ه`PQG̗L3ttߩn>}YSUNrrr]WN{U99K诜WN޳9Gڕ~V3/'| ]}!d5ǿ (W帾: /O7ېgǿ";do+rr&yo|{uobukz~Nwʝ;i~bw5- tvYU軒;_׃vkPض66 c,n+yuhx[Q ?5*Kr=̿E23O3xeW'ߘ}wrǾy 5eqY䓦J @~a]]>s''e >ȀNN'+2@H?"hbࢾޓNNm۶ ,Xx‡[$p899E ߿N~M6pfG+V&?# S''ȑV.`/S(++KKШ3)2.J8W1vk_R/нE+۷#:v"Ӻ[Zus%I7J^{N|FgJ v JRʩj]Cwr|p-As€ Me9Y4@'=LJ6m۶I3v= ]+ՑvKN4teq擴ny' ͥiO 9u Q4p nۼy;>8PZZ.ݱ?//Alˎ,%%h{bHQr֦P,o@(žZ_f=cZMM ^fze۷Ǝハ{um۶\r̘1ɥƵkת㨣"&pϾQZ| b޼y]teVH+ &xnݺ͘1|㞱ˆ8{uuur2pm(#<~Z W}U| |>|8C?0khА jCUUe]&+#h\Ň;׌C[!Cr-*IjԄw5&ハ{:̚5Kn /JիaGt .ϝ;777w„ C$ce@<?_z+틛o||/N=Th}ģハ{CEE]_|1>K:>JED;cEF"";+*w{),$MycX%]AC_VVVZZo!zp;ݰa>>scM|`hĺuq\l}ŇI&A͛Ǐݺuǵk;NWg͚;vh!zotK.O+V+Wu]׳gOJOhハ{N2diӦ͘1 P`С~z`,]p|p|*>Qk֬ 1uT??䓫W8p\4lя~曪ق|sݻ7iDw+RAyxY+O|3 kŊ#Fz/lbc.^q_I"zQQYpCUV ygxh@*ډ) 5mޮmb A)ڲm7o*T,q:8>g2>HJ ڋi&I|֤q>q|qdNo=J^GZv^ LJlLJw{6)Ϗ?4v|p|p|jA纖u@&0%`䤎P}CVノh|C X+âJUIr9tM|t4lܸQ"!(bn:>8>8>d#>tԉVVVi\xÆ 3gNАAia|obWtbV^M{f@qqqaa!.f̘`b† ?/^^|E~btr x n۶/ǝ={2v>h[>ա1gt(**>ƪ*01N0 ʆG&|.dW)@)͛7K7><Վn_Ix{Aak.c[U-0j䲲-[(aرtR>sw\v-d(SPP`.//WzC6CϞ=i_{?p>} 0:tpEn6xg %?X3@?8q… ~i8p YYYٱcGΝ;iҤCk@ Alyg9`e 0?12|ҥ 4 /eqx yts FnL[8bM'>?hnQms13z֤p>q|qo1A5?%kJ aL$555veUNNB}+mHTߖ-njϸ՚ m'LJI>NڈhY(~(]=hCCur|pjy΋͛7Sos%\R M&z 6hrr|Rېl]]]&Czqr|hZM6񸊶/h `<P E`2CTxUQQQr$֕ck6:9>[ 4q%nSү***lr n#aR!ARAP$uX x/C"헊NNnF kkktJESV@C_SS|Ni * Y~i(S]am#x_p|pJ=q^lriĝP t_HO{ok'yR6=)ą*fg[$4)i86b D`=_,bR[]]s }I7,\^[¥ {tNzjкs< r,Ȳc}s' b@:EIG: *j2@*;E($zd#h_'07T T2>S*s7>u\3rybaX%E"Dx|S1=kp'[; %tnS +z@pbM2Cزea@Ot|pJI k 7tf䑩Wixd]%%Q'@< 8v:A|:}j|TsmxEz#2c&;۽Oj#GSaXMQ}@|NEzCc!" ^J;V{<6_eSTpr|pj%ad@|VV NNIj|$AmAߦ"C;G U~~~*6a%E|`[q'֐Kv gS"H>8%KQ]`@m@40"Rw`W1 Psz[=>Qd&u]U|GLJMS!J %BRҹEk7+!OE6]DWct$>@9'㣤2si@&tACf͚}$FAzS8>x7B/.|T]@!s;ӈw ]ö@t !F p**(IK$3_٥qÆ At+T׸!)~ć@r/ Ϟt. VLK: 9NÃGhMC)D+Wf(k&`w`*Oz\t…1E;>Dbh0HjP[k4.gwZۤe=ㄔ!{EFtY "A32#][YY[^|HA_1C 5a!Hd "95{񡩸dnn.G<:>8>D8%htlQd2Ƴ}SIPGN"sr|RiS!ۼQ<`hlDisy* JSJnAOJsؤN͡:ԁuo(bs%=yfd (WVʉCJWvvQ| [SU`6h0}n &2!ۍ mܸL<+XnyUr1B:s|jpi'&fQLWHg Ȟ9;@%Nr89>dH~r*,@nECVgr2Ţ"q> tC޺!ϰqڈ$NAq:q!2| ˘|ΏP\tha;!{ ,G: tSG'Qq)Bu؛Ixj4.`[UUU]]A\r|vAљR)<0DMER:9>d#IeKE (]LJgCzٶ]j}- D3]AA;ٮ($\<_C&^QQ96y]%C FW-v4f:j1єD _C&``0t2pӦM݈{/!sdck% Şpr|p N{Dtn߾(Q]]욗"2xIZO|LLd˗/7L3b2Ej.L=$W3q9K.uTk#crڐJJJȨ˜'$#fLX `|b~tlHђ eЅ~:9>;` >rk2\ ,v`*ĝmˢ\`Iٹ~-g:JhHU \|`j Q"0b)Ȑ W9QsGdףiv ^0ڮ%_0*O;n a&r )8 1) bQ/:tEiii~~~Nr  t?77U>}7@b3-6oތt֍MuYm0*_NjPa:p砣BI~aa!d8&ѾP lusB(B4sP41{r1 nnMee=7=t4RFPRFװCiqD7NLЖ|W^4>kߥ(VhcQQm:;X\\l) ԡUD v֭رN\6;W?gϞK,,|hs"Ch_dx c7!4bAeɊ;I͇:OQ QDS0&cf8:>̟ 7ߌN:W1񢤤f0,^Xsi}{@Gހjw/_)EW\qE^^+b-hh `š.ʕ LUm=&M_be|Wnn J1g|uwᤓNp뵵l;Pܬߦlٲ?^kYAC . cMU.0 8" )//W:H&QGVA 8ծ# .++\cʹ3^=d‚M{yB+wJ$E$]LVO`+**'H9L/D|'7$@iwQ (e*_]'1pJ@d`* y/h1Xh8Gfœzj|5rHYQSԮk0Hpsf;K_C{?\Ν;ܓP_?dL]:[n /\"m$ _tMpx2?Z˂,WGE֮]wCuB-0!;tIL<ŋ/aƍyG i*++@Bׯߥ^j=Qv~uVǃgW6ŊmE8 Eŋ-#F[6,9ԧO@ 0وv\lٲ*'?ɇ1W `:x&APZgI!Y<0uT܁"1eʔs9RSBvagV,7պG f̘qbq/>CʲJs= 7o^8>$gÇG{aGl +.] 拐#+Jە 5×_~SNj0o-[oqr LJTNJ:dmUF(vrNjĉJDic.Z*n8LJd A PHtrNˍ@6\"Wg~\\ A92(f6R65ꏟ5TLv Sj*bӱ ᪿTg2b$`Ha5"`;7SAcKQdQpQ9B2f==tCYV J,J, ?W^4ʪvi%fAyy9jZ =ZTl'&k5mkC9ϒӫub+jƂJ)4Yغ~3d}:Zw}Q {{Hɴ1uz^3=F/0Iք)<`9')v,nPA dZ11Idێ ܧ'xgy GXJ+,ǏG+yl4d #.b|L,gJ`W'd1RR)" ?b7`]5ㅛxQS N[|ee>շZ+!{{A`Bb8ʔzd ,!lXNt\oRVc@Z q/u!/4(iѹ-l,8=G"~o<[~DKcM]Hv!ٗ_g LfNO U h i^r= |÷P3kފh ;MDG'j Nv5,eO>1ި e:wN<֯rN~W6Pۅ+Yu}T;I-pghv҅\d2{)rqS_n+at2(!v83!WAÞ(L#s3gczgrpoq7g}&Qڣ>ڧO!'x+O?9s9r$У:j?<}=X_z衇1 Okŋ'xB5?xsϝ>}z~XyCz G}mr޽;ubٳg_{x ؿ?ѢEEL9DYrر#сmڵ+ga{ȟt-:?]~@QꩧBDzSNE7b~9)݄Aײep5jʕ+1_|m/'Gիܹsoqdz̘1䱿@IчF/wqO>$_ 0|{ф~> %B)s 6*ߣG"|@'O֩׿~{͚5:t) -'N@p}~@O>ccP;wݸ||뭷iՀs=ϛ75Yz5aHQ~1&L`BZp(<\fbwx ċПwר~ray7zcPB ܦbxm@S6)E1 Bu?)w}7Y e?#Q1d >?a b7)h+39>K4nN|ԓe?n8ͨKpDEVȏ p5j3rׂ_u1aÆŨ:r "lu4cpnJ WiL2/</jԓ 6'0k0?7B55ۆUcC/׾5b7YRd@pfQuQƅD%@\p̡uzXr(&D@@AP4r2B:-骪* d-fO*9: n}s\dҢ8Lxu](*  @)CZu4ٙ9 hu%&ǒ.׾h)@p! Y)/ z+HFUېc lGtvqV(H46qڴi!;PE?H?!epNrC>Ƒp`ABpl=%P>87(C:+Y`ORy@έVy|rqS$|7;t2VwML&qN:$‘U'N*tAУOU)Z1-+Ę + 5}K0A"{R4v T'BRBQ8 }?yрm>'(F &h͔)S `4km0|\"o@?Dy| u* Tt'k_rN'wIm;!Qg6<ӮzR ?a) YE'|SO `-ٳ',#C91Y9C|/Bƈ(JXr!dȮVo[!t7 23P.bv$st4_׏jfszz̙3: ӟDe&7FAC0j6+PFy!Z]eHEwtr[2:T:#b zꫯjGc"YYz5"wu{S?CzP#DAڝ!MFKQ<9 <›oΝ;ojРAu`n_򗀯[oՆL0*ʣ]}%wbKR:]l9 .Џ !D1pO>ˢ.ݘg!h&35j;>^veA#`ɊHhc2Ġz|Ee2U"mPs `h!hRvq>|%ݛ˻t,S0bD[aqč;0X 3=KxjbuxlÏ4:a *σ`N̈!f[ gu֔)S6/ܢ+Oy!U'ׂu!^R1Qi]Tqm>B4x' ]Wvp: hDhz(Y߿u2"Zߴ~"7 Ľx5ly;iL'm*Iv=AX@*uhYHY'SaJrU뒀+wp@ 6H( .b`ݼH懑k:ZUy!@|1DK(ɍ!{5B9 `;ClHꉏ4H $4p."(S@a6onF)0DbA] xx/\¼CvyV#}Zf_m+$eu  o"M ^1|@ɣ&\4M-ҁMcҨ;}t?? vMf"%0tj~&%W:蠃hw}x A_rȽMb.M4^[8noeMo֦fQRʖ`jk(l%k釒rho ` ~@\2\ ՖlҰP2vj->IA);%HNc^ 6HSzLhN8챿Vew$ʿ M;E2:$t,(fR*>BvY=DFA|4-QglE`OǘH$FracҤI 뚰BC욝 G|f}%74[t|dɿG4x-) bKΕZǴi0i[gd"Փ6=jx00nNKCɻU!hHku.4!drRM N)LO{5WCSm`ў3O&5 D`eFWFF 8L6U Tu!LaZ`N`4!li*}MNbsm¶WoIg~?]7Kp-2Lj)mզ ?4Te3CBعC85!AtϿ운lfhPFڹvۋM]ɻW`Q6#E(!6ݞby{aIe+ń6Z) 5)L%amX SD(Ɣ*̠k@ { Dcr=h) 6o.]ZmPw[fE VWCB59)ARæ1)*u@`v]3bT*hjy( Zc6Z[8 AC.d0]`pب75Z|(NӦm'oPZY_WJC[0?[+**FlO uJ.)R|*LJthbrkSSY*Y( kK{ږV3:mNRMBI1bl,!m-39m{bS*H^]oڐB u J]$7ON޽;vԉNM;߮;BGy<_Cg1^KPLJy1_L[)WQQA(`ʗ< [n.6``?hvECEZ,//AB)V2Slii)O ҉/kVNLJ^--6ݻ9$LPv>4 =ݡI˅c}GsxzjʘCt-Kx}agpp~b;^#+nFB:31 G(:5ړM{vKɎb_PIRz1y^:Cs|pJD6nh]%XQsЁt|$1I#?77ב!޾]ʬ;=.!ev)'<:u5 :!AU!b ETz?*AXAP& q!:>`2$c nM_q|0f;$smP_SH>iYN';XyV\/y5#E^P gt$3D2=V`cUZלJ|]]s !kh34GА]ѳ嫤9 2I(T1(@ݞ{N8%8Ї;wvvr|AGX65 9GP=W?ծ Ta6-Q퍘 QVV&Xh@D(; J;(:Kskhu%3sJJJ .<}$|~ClD"A+(99>85lHОGQGiO!cZ__:3~J:9>85Vk׮͢k mOv!D,`I9@39iAN{?94ݻgE⚊wr|p#Rj+g1-؉99>84ob \`ѐkq[wr|pj%ymEt)HyFҞѶCKb7"RM-8/v_***XU7hAh+RJ TO-;/M b<)=2Xڌ1LJ(QH3z6Z:N陗輌Bz!)dC Α NCUɋr^\u) sx֭[sDʌ}h5<$8I)6ƮryBj4mK\U5jsC5Q1OR" >nX X{A;NB`Bek;uCۉ?L' z|-[0IXҖꊴTIEb32vCȞcSd4'2oVdnM4< (hLJlKm90*=PWWWQQaacw(E2p?C5BI=/ ~,))I *Dqq1.x Gz89>dٰmVjt\RMz{"4VJF\%!b &ur|Fk8iI1 ds#'2n[VVl E؀SǤy9Y(D?/"?.w('$yժU_u~N8aѢEP Nc,%df:>8Eu{嗻v:~g3g[B^*)o6믷\TWW{"8e˖}rzB4RJvo~sĈ Hйs.(^mH~mLJԑE&LP[~۷W_򂔉'a/^,LYgNŻ 80c q3ĝ7 P%x |;i$HzハK[(8ׯ¨zxYHdž PcEsڄaRy%1hzj|,--Ux;={K:,RGZ-ko?/B1uwڒc;>8>8>@NB.xg<`4@JJJvp|p|p|H5i (8#?TOGl2Uqyf6l,tNָَvms m{_|/2e, wܡvi 昂cᦛnM( vGp7ҥK2SV3G_.V_z׮]-[nIJUc,|y9fq|p|p|Hgc?>g??^xGy> h`w?ի)ny@?e &(48sy4hs=GgUA,ȡѬ]`V\9zh^kK8e ?+(=Dej CD;>8>8>A!ڜmFFbLouK Iu:)Y P*E->Bҵubƍ\ȦPm%{Qq?Zǥ5D=u 8سz Hjjj8>8>8e?sxL S/b|5zE1d`WTHx|}@ /xkT%K':t~q}sÆ T9-X#0#&=AԎ>.'>39 'TZcA`y䑷~;W=l2e'*/#hj~MHlNXC=\!yuXn]~h4h_?_m;m_e^QTTP~,ķKz<->P|Mv!{oCY=;l魷ފ'tʗpCGnLjo׻˯xoee8>8>gaɒ%]t 1Mρ\4+~>}z!&& @kzjT2sL}РAx;ZSOnF駟j~k4oAj n *--O^xLJvL!;o޼c9 o{챠!=(G1d)`!o"{N.p ͈ :CQg<;>8>C|,@"X~9lN Y< FP&9eCNx5k@Y%W_}U^ywޡOcM2wN>dA?@6WZ5`aÆ]vٲeCoaV 6̘1<_"/F?0[ ^}Y|}ׯ_?p/GxDXyy+V8/\-~\]hC{𺪪*]ٓq7(/۷/څiPK^C^`e]Z%K L <묳xi4-Z4~xd͚5cƌb9sa,ϧQw_6mDnP6)… E,SO=2ӧOFvniOpA@ e"m())]65حFN;3>< $o0ڥ -@YS4S[ʀ<x ̄cZ:u*obKQTCdXC2р@'ģY<߆^3tT*LJvECt]$?~Lj(V)ڏ>)B[sΙ4i Z |BM.`#Xe?׉j#1(8ʋ!)ay7!SM6{ϋWQV, j%8\!X˔Dd oΝ{mC_9>8>gb7T퍛5T㛓v!y{N$#|=ގl Ia?PdQqr|pڣܼyMh{[Ȋ?e^|V\v/X;>85 8)C,obUW"r!< ~SPOӕ Lc֭9 S2^TTċ=zo||w99Eo.w$7mďP  vw! ''_'i'''''''1'' x "00002  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 4a$$IfTi  v>  vw!''_'i'''''''1''   "00002  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 4a$$IfTE  v>  vw!''_'i'''''''1''   "00002  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 4a$$IfT  v>  vw!''_'i'''''''1''   "00002  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 4a$$IfT  v>  vw!''_'i'''''''1''   "00002  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 4a$$IfT{  v>  vw!''_'i'''''''1''   "00002  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 4a$$IfT8  v>  vw!''_'i'''''''1''   "00002  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 4a$$IfT`  v>  vw!''_'i'''''''1''   "00002  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 4a$$IfT8  v>  vw!''_'i'''''''1''   "00002  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 4a$$IfT  v>  vw!''_'i'''''''1''   "00002  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 4a$$IfT<  v>  vw!''_'i'''''''1''   "00002  22  22  22  22  22  22  22  22  2 2  2 2  2 2  2 4a* i8@8 NormalCJ_HaJmH sH tH Z@Z Heading 1.$$ & F&d @&P a$5CJ Z@Z Heading 2,$ & F @0d@&^`0 5CJ \R@!R Heading 3& & F |@&^`|CJ\@1@ Heading 4 & F<@&\aJLL Heading 5 & F<@&56CJ\]aJFF Heading 6 & F<@&5CJ\aJ88 Heading 7 & F<@&>> Heading 8 & F<@&6]L L Heading 9 & F<@&CJOJQJ^JaJ<A@< Default Paragraph Font:B@: Body Text$d`a$BOB Chapter Title $ a$ 5CJ4\,O, CodeCJOJQJ^J&)@!& Page Number:"@: Caption$xxa$ 5\aJROBR Reference- & F #d^#`4U@Q4 HyperlinkCJH*OJQJS*(>b( Title$a$CJ(D#@D Table of Figures ^` && TOC 4 ^D@DTOC 1 ! `5\aJ4mHnHu:@:TOC 2  ! aJ mHnHuB@BTOC 3 ! ^aJmHnHu&& TOC 5 ^&& TOC 6 ^&& TOC 7 ^&& TOC 8 ^&& TOC 9 ^>V@> FollowedHyperlink >*B* phJJ Abstract"$7$8$`a$5CJ\aJ6O26 xl22#dd[$\$ OJQJ^JDBD References$$ & F7$8$a$CJaJ6@R6 Header%$ !a$6 @b6 Footer&$ !a$BrB Table Title'$7$8$a$ :CJaJ&& Nromal($a$TOC1) U            q0 7>Apb09H/>^CzUL @L L L M @M M M N AN ~N N N 5O rO O O )P fP P P !z!z!z!z!z!z!z!z! z! z! z! z! z!z z z !z!z!z!z z z!z!z z z! z! z z!z!z!z!z!z z z!z!z!z!z z!z!z!z!z!z!z! z!!z!"z!#z!$z %z!&z!'z!(z!)z!*z +z ,z -z .z /z 0z!1z!2z 3z 4z 5z!6z 7z 8z!9z!:z!;z!<z!=z!>z!?z!@z Az!Bz Cz Dz Ez Fz Gz Hz Iz Jz Kz Lz Mz Nz Oz!Pz!Qz!Rz!Sz!Tz Uz Vz Wz Xz Yz Zz [z \z!]z!^z!_z!`z!az!bz!cz!dz ez!fz!gz!hz!iz!jz!kz!lz mz!nz oz pz qz!rz!sz!tz!uz!vz!wz!xz!yz!zz!{z!|z!}z!~z z z z z!z!z!z!z z!z!z!z!z!z!z!z!z!z!z!z z z!z!z!z!z!z!z z z!z!z!z!z!z!z!z!z z zq0 &\#D+c37?>AIS#]pbfXmwsvzk(Jg0(V<K'  A9#v)/57>|DKRV\dkEryX"HYɣ gm # S  M!_'@-39%@BINQWj^ydmu{o/.E֫бD=:! -%%-,r/5T<>]BGhJYNQT=\^8bhmtCz!d(VX +U_e\ q aK4 k!"3#$`%&'(4)*+,&-"./0 12 3456 78 9:;<=>?@ABCDEFGHIJKLMNOPQR:SLTUVWXYZ[\]g^_`adbcdefghgijklmnodpqqrsutusvmwxyCz{| }~K.N& rr$} 51-#:[z{|}~23478JKLMNabpqrstuvwxyz{|}~=>?QRS/0ABCD     X M N'H!{d&Nv7HQT#\3x*N! @!!!b""###B$$$Z%%&&&/'''F(((t))****D+++e,,'-w-.q..>}??l@ANAAB CCCqDDEFFGxGHHIIJJKK+LL9MM)NN'OO PtPPLQQ.RRSSTTT\UU?BGJPTUVlnop7hij/01Of;Zp./1 _`u&'I{/5Qiv1LMVoFL9\#2V)7CDE   ] ^ k ^ _ { y@AMfgo789:yz!W"Hm$KBC&))* -//3666679;n?o?p?????@0@1@2@@@@@@AUAAAB6BQBRBSBBBB|DIIIMOR{UVVVVVX]]]]^A^r^^^_"_g____(`F````'a\aaaaanbobfgghlll.lrllllAm[mmmmnXnrnnnoGowooo(p)p*ppppy y1y\yyyyyz?zzzzz%{d{{{|C|t|||}B}k}}}~~u~v~~.^‚ 5 !lj܉݉ &',39<JKPX^aopu|NJЊ׊ۊ  !"*FGHIstYZhWXY[ȒɒݒfgiܕݕCD|}+,?()Liȣɣˣ01SifgxKL];<Q)*,QRT/02XY}  MNe>?AF(4$,678?AHJQSZ\cefou{  $%)-37<@EINRWX_cimrv{ "(-38>CDNTZ`ejoty~0:<@FNXYZ_afhmotv{}~ !&+17<ABFLRX^djpv|$).4:?DENSY_ekqw}  r|~ !&,289CHNSX]chmrxy} $%-28=BGMRX]cdmrx| !"#$%-"#h !  2 3 *" $!$"$L$r$$$$%F%_%%%%%%%8+=->-?-@-A-c-----...L.q..../0/]/////0C0q00001<1\1x11112F2d2y2z2{2228889;=?@@@=A>ANABdDIIIIIJ.JTJnJxJyJJJJK+K_KiKjKkKKKKK6L7LOOOdPePQWSXStSFUWWWWX.XcXXXXXYEYaY~YYYY'ZKZqZZZZ#[D[E[F[[[t]___4f5ffffggggggggg!g$g'g*g+g/g5g;gAgGgMgSgZgbgigpgqgug{gggggggggggggggggggggghh hhhh$h*h1h8h?hFhGhMhShYh_hehkhqhxhhhhhhhhhhhhhhhhhhhhhhhhi iiiii$i*i0i6iqDqJqPqVq\qcqjqqqxqyq~qqqqqqqqqqqqqqqqqqqqqqrr rrrr"r(r.r5r=rDrKrLrRrXr^rdrjrprvr}rrrrrrrrrrrrrrrrrrrrrrss sss#s$s*s0s6s|H|S|]|h|r|s|||||||||||||||||||||||||||||}} }}}}}#}$}+}.}3}7}<}@}E}I}J}P}S}Y}]}c}g}m}q}r}z}}}}}}}}}}}}}}}}}}}}}}}}}}}~ ~~~~!~&~,~-~.~/~uv %07BMT_jkty†dž̆҆׆؆ "&,039=@FJKRV\`chlouyzҡЇՇۇ !+06;@EJOUZ[agmsy !*+5<GRYdovĉʼnɉΉӉىމ #*16=>BFLPSY]`fjkrv|ŠƊNJϊԊڊߊ !&,27=>HMRW\afkqvw}Ѝ-./0ABĕŕǕ#$ךDERի֫[  ٸ=abcԹklmž&?g̿456 &Gi|+<=>TUg#N|8jRS:<"#$ObwAp?@]%8Lf~*[ 0G^y2)41234;<CDKLST]enoz|  !#&(+,69<>ACFHKMPRUVZ\^`bdfhjlnprsz} !#&),-368;=@CFILORUVWX '01:>DHNRX\bflpvw{ !'*039:AEKOUY_cimsw}~#'-17;AEKLVZ`djntx~pq{|  $%)-159=ABIMQUZ_dekosw{  ( TUm*+8> xy\]>"?"@"^"v"""" #-#.#/#####$4$I$S$i$$$$$%%%&%J%i%%%&&N&i&z&{&|&&&-,Q,...r//222D2n2222233m3n35555!6Y6Z6[66666(7V7777 8;8i8888$9(9)9O9}99999/:5:9:::`::::;H;w;;;;;;T<U<]<>>>>>>,A-ALAUEVEEEEEEEEEEEEEEEEEEEEFFFF+F,F.FFFGFIFhFiFlFpFqFtFFFFFFFFFFFFF G GGGGGGzG{GGhJyJLLLMMMNNNQOROaOYPZPlPQQQBRCRVRRRRUVVVV W W!W*W6WBWLWXWdWnW{WWWWWWWWWWWWWWWWWWWWWWWWWW XXXX X&X+X-X3X9X:XHXKXQXVXYX_XdXfXkXpXqXXXXXXXXXXXXXXXXXXXXXXXXY YYYYY Y&Y,Y-Y5Y;YAYGYJYPYUYWY^YdYeYjYmYsYxY{YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZ ZZZZ!Z"Z3Z9Z?ZFZKZQZWZYZ_ZdZeZvZzZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[ [[[[!['[-[.[<[B[H[O[T[Z[`[b[h[n[o[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\ \\\\%\+\0\6\<\=\E\^^^^^7b8bQbDdehiii^koooooooooooop pppp$p)p3p4p=pCpIpNpSpXp]pbpgplprpwpxp|pppppppppppppppppppppppqq q qqqqq"q(q,q/q3q9q=q>qEqJqPqTqWq\qaqeqiqnqtqxqyqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrr$r+r1r6rA0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A0>A( 0880XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS0XS 00_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_#0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_#0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_ 0000`0 00/0/0/0/0/0/0/0/0/0/0/ 0//0E0E0E 0//0֫0֫( 0֫֫0000000000000000000( 0֫֫000000000000000000000( 0֫֫00000000000000000000( 0֫֫0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U( 0֫֫0000000000000000000000( 0֫֫0@0@0@0@0@( 0֫֫000000000000000000000000000000 0//0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0//0 `0  00000000 00+0+0+0+0+ 00y0y( 0yy0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]0]( 0yy0-,0-,0-,0-,( 0yy0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/0r/ 00U<0U<`0U< 00>0>0>0> 0>>0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A0-A( 0-A-A0{G( 0-A-A0hJ0hJ0hJ0hJ0hJ( 0-A-A0M0M0M0M0M( 0-A-A0RO0RO( 0-A-A0ZP0ZP0ZP0ZP0ZP( 0-A-A0CR0CR 0>>0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R 0>>0=\`0=\ 0 0^0^0^0^ 0^^08b08b08b08b08b 0^^0i00i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i 0^^0r0r0r0r`0r0r0r 0r 0r 0r 0r 0r 0r 0r 0r 0r 0 r 0 r 0 r 0 r 0 r 0r 0r 0r 0r 0r 0r 0r 0r 0r 0r 0r 0r 0r 0r 0r 0r 0r 0r 0 r 0!r 0"r 0#r 0$r 0%r 0&r 0'r 0(r 0)r 0*r 0+r 0,r 0-r 0.r 0/r 00r 01r 02r 03r 04r 05r 06r 07r 08r 09r 0:r 0;r 0<r 0=r 0>r 0?r 0@r 0Ar 0Br 0Cr 0Dr 0Er 0Fr 0Gr 0Hr 0Ir 0Jr 0Kr 0Lr0r`0r000000000000000000000000000000000000000000000000000000000000`00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000`0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000%00000&00%00&00%000000%0000&000%%%%%'''))688::::::::::::HVXZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ]N+~Gq: !#$%'b()*+-J./0;2345'7]89:;>=>?mAuCDsFGHWJzKL NOPHRSTUWyX{YZ\]L^_`8bcdkfRR-l "0K=QOao[~=KDR]&2JWl+rSQZDT4 {$l.6b;3DWa} ؂`\Z: !"#$&'()*+,-/012345679:;<=>?@BCDEFGHIJKMNOPQRSTUVWYZ[\]^_`abdfhjklmntwy|$)*+-0358B_`aefhqs7(<3=LYpfԄ~5T1.  ! "=DMFdp)t~u5܍JpЎ *| W`_o~ )RS@D'T-62:VJ"S,[bnnoo pp8qqirss+ttu.vvPwwqxyy(zzU{{}|9ThjĂDЃ6Je{Ƅلnhj†@~ʇ 3Fav҈prLj88O;0<A   y  n  o y        &-ENjt82l4=6PBFHKcUUU3VVK\frhdi/jj?kk"ll mmmKقK҃aҨ0 5;CGuz%.8ALXcegiopqrsuvxz{}~      !"#%&'(,./124679:;<=>?@ACDEFGHIJKLMNOPQRSTUVWXYZ[\]^bcdgijklmnoprtuvwxyz{|}~, V X x  , H J K M m } -IKLNn"$%'Gn &BEFHhtu!AYuxy{  ,B^abd #$&Fc,HKLNn'Tpstv1457Wn&BEFHh"/KNOQq}~ 2NQRTt !#Ce:VYZ\|-013Sm  +Vruvx$'(*Jf,HKLNn   ! A j !!:!=!>!@!`!|!!!!!!!!!!!"@"\"_"`"b"""""""""####8#d###########$ $<$?$@$B$b$$$$$$$$$$$$%8%T%W%X%Z%z%%%%%%%%%&&&%&1&2&R&^&z&}&~&&&&&&&&& ')','-'/'O'f'''''''''''($(@(C(D(F(f(((((((((((()))?)Q)m)q)r)t))))))))*#*'*(***J*h***********+!+=+A+B+D+d+}+++++++++++,B,^,b,c,e,,,,,,,,- -$-%-'-G-T-p-t-u-w------....<.N.j.n.o.q......../5/9/:/4^4{44444444445 5X5t5x5y5{5555555556666?6L6M6m6z66666666667777;7H7I7i7777777777(8D8G8H8J8j88888889:9=9>9@9`9999999:4:7:8:::Z:::::::%;A;D;E;G;g;;;;;;;:<V<Z<[<]<}<<<<<<=L=h=l=m=o==> >$>%>'>G>>>>>>>Z?v?z?{?}????????I@e@i@j@l@@A5A9A:A_?_A_a_______4`P`T`U`W`w```````4aPaTaUaWawaaaaaabJbfbjbkbmbkkkOrgrrrt(t*t,tHtJtBxRxTxVxrxtxzzzz{ {{{{ $/tx؄ڄ+CN[kmo|ӒՒ &+iӘݘk",} Fakڛx{1LPslv48Mhm֫Lgl $߭ѳֳ׳̴B]bNimĸɸٺ޺ߺ ,GL"' &AFc~ D_deMhmo.02MOq %+^v8HJLhjEmx.9]u"246RTL\^`|~#    % ' 0XcO g r C'^'c')))***3+N+S++++,0,4,,- -&.A.F.///o33333366666609K9P9 ;!;,;>>)>&?A?F?9@I@K@M@i@k@ZBjBlBnBBBBI]IbI.KFKQKRS S VVV VVg]]]aabbb!bobbbc'c2ckkk1pApCpEpapcppppqqq~~ ~"~>~@~ف߁ɂقۂ݂҅܅'79;VX "'brtvÓȓgp/JO٠ ң JeiorAYd68E`eZr}  +-ڶ߶bzE`el̻λyؽ3CEGcePhs[kmo9IKMil 9<{)5w&AFtHXZ\x{!#%@BD_dL g l          .INi  !1!^npr  l       3 8    xTotSns  %*+FK8SY4>iin   6#F#H#J#f#h#$$$$$$&&&&&&','7'^'y'~''''((!((()8)P)[)n***////6/8////333383:3q333M4e4p4b6r6t6v666;;;;<<AAA.EFEQE\ElEnEpEEEG.G0G2GNGPGKKKLLLLLLNNNNNNNOOQQQQQQQRRU6U@UVVVVVVkkk&l>lIlo%o(o*oEoGoU TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TXX%TX%TX%TX%TXX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TXX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TXX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TXX%TX%TX%TX%TX%TX%TX%TX%TXX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TXX%TX%TX%TX%TX%TX%TX%TXX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TXX%TX%TX%TX%TX%TXX%TXX%TXX%T̕ TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%T̕ TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%TX%T̕      T  T    4TTTTTTTTTTTT                  4  T                    T    TT  TTT  TT  TT  TT  TT  T  T  T  TT  T  TT  444                                    T                    T                    TT    T  T  T  T     ")03:AEHOS]!T!!!T!P"$hb& B&b$@;]!:"$ 9 Zfz "$jC2J & "$x= f_뇞[%"$=,:6+oz"$E+y[Mv\l"$#W?{)"$p8:9-C%t 2=Y "$թ-n @6 "$:6QG#.& "$Y|rpM`h@0(  B S  ?U  _Ref112430455 _Toc119862795 _Toc120296349 _Toc120528442 _Toc119862796 _Toc120296350 _Toc120528443 _Toc119862797 _Toc120296351 _Toc120528444 _Hlt122777776 _Hlt122777777 _Hlt122778855 _Hlt122778856 _Hlt122778912 _Toc119862798 _Toc120296352 _Toc120528445 _Toc119862799 _Toc119862800 _Toc120296353 _Toc120528446 _Toc112530601 _Toc120528447 _Toc120296355 _Toc120346182 _Toc120515960 _Toc120524008 _Toc120528448 _Toc112530602 _Toc120528449 _Ref112753181 _Toc120528584 _Ref112658982 _Ref112658989 _Toc120528585 _Toc112530603 _Toc120528450 _Ref112170702 _Toc120528586 _Ref112231886 _Ref112231895 _Toc120528587 _Toc112530604 _Toc120528451 _Ref112430234 _Ref112430237 _Toc120528588 _Toc112530605 _Toc120528452 _Ref112174690 _Toc120528589 _Toc112530606 _Toc120528453 _Toc112530607 _Ref112740478 _Toc120528454 _Toc120296362 _Toc120528455 _Toc120528456 _Toc120528457 _Hlt112430688 _Hlt113726593 _Toc120528458 _Hlt113720302 _Toc112530608 _Ref119916356 _Toc120528459 _Toc120528460 _Ref112597033 _Ref112597039 _Toc120528590 _Toc120528461 _Toc120528462 _Ref112601905 _Toc120528567 _Toc120528463 _Ref112654392 _Toc120528464 _Ref112602204 _Ref112602209 _Toc120528591 _Toc120528465 _Ref112607299 _Toc120528592 _Toc64969387 _Ref112607340 _Toc120528593 _Toc64969343 _Toc120528466 _Toc64969344 _Toc120528467 _Ref112659842 _Toc120528594 _Toc64969345 _Toc120528468 _Toc64969388 _Ref64831367 _Toc120528595 _Toc120528469 _Toc64969347 _Toc120528470 _Toc64969348 _Toc120528471 _Toc64969389 _Ref112663929 _Toc120528596 _Toc64969390 _Ref112663968 _Toc120528597 _Toc120528472 _Ref113206926 _Ref119828008 _Toc120528598 _Toc120528473 _Toc120528474 _Toc120528475 _Toc120528476 _Toc112530609 _Ref119916368 _Toc120528477 _Toc120528478 _Ref112691247 _Ref112691252 _Toc120528599 _Toc120528479 _Toc120528480 _Ref112692038 _Toc120528600 _Ref112692526 _Toc120528601 _Ref112692570 _Toc120528602 _Ref113014953 _Toc120528481 _Toc120528482 _Ref112692798 _Toc120528603 _Toc120528483 OLE_LINK2 _Ref112693086 _Ref112693089 _Toc120528604 _Toc120528484 _Ref112693320 _Toc120528605 _Toc120528485 _Ref112693398 _Toc120528606 _Toc120528486 _Ref112694452 _Toc120528607 _Toc120528487 _Ref112694805 _Ref112694808 _Toc120528568 OLE_LINK1 _Toc120528488 _Toc112530610 _Ref119916371 _Toc120528489 _Toc120528490 _Toc120528491 _Toc64969391 _Ref112753634 _Ref113020396 _Toc120528608 _Toc64969350 _Ref113789947 _Toc120528492 _Ref64869268 _Toc64969392 _Ref112744056 _Ref112753759 _Toc120528609 _Toc64969351 _Ref113789945 _Toc120528493 _Toc120528494 _Toc64969352 _Ref113788426 _Toc120528495 _Ref113014494 _Toc120528610 _Toc64969353 _Ref113014795 _Ref113014799 _Ref113014824 _Toc120528496 _Hlt113014962 _Hlt113014963 _Toc64969354 _Toc120528497 _Toc64969355 _Toc120528498 _Toc64969393 _Ref112753823 _Toc120528611 _Toc64969357 _Toc120528499 _Hlt112777377 _Hlt112777378 _Toc64969394 _Ref112776498 _Toc120528612 _Toc64969358 _Toc120528500 _Ref112777403 _Toc120528613 _Toc64969359 _Toc120528501 _Ref112778111 _Ref112778115 _Toc120528614 _Toc64969360 _Toc120528502 _Ref112778308 _Toc120528615 _Toc64969361 _Toc120528503 _Toc64969395 _Ref113011234 _Toc120528616 _Toc64969362 _Toc120528504 _Toc64969396 _Ref113011256 _Toc120528617 _Toc64969356 _Toc120528505 _Ref113018701 _Toc120528618 _Toc120528506 _Ref113021326 _Toc120528619 _Toc64969363 _Toc120528507 _Ref113022468 _Toc120528620 _Toc64969364 _Toc120528508 _Toc120528509 _Toc64969365 _Toc120528510 _Toc64969397 _Ref113012754 _Toc120528621 _Toc64969366 _Toc120528511 _Toc120528512 _Ref113100210 _Ref119830035 _Toc120528569 _Ref113100289 _Ref119830042 _Toc120528570 _Ref113100292 _Ref119830046 _Toc120528571 _Toc120528513 _Toc112530611 _Ref119916375 _Toc120528514 _Toc120528515 _Toc120528516 _Toc120528517 _Ref113108424 _Ref113108432 _Toc120528622 _Ref113109337 _Toc120528623 _Ref113109379 _Toc120528624 _Toc120528518 _Ref113109786 _Toc120528625 _Toc120528519 _Ref113110153 _Toc120528626 _Ref113110171 _Toc120528627 _Ref113110239 _Toc120528628 _Toc120528520 _Ref113110432 _Toc120528629 _Toc120528521 _Ref119311970 _Toc120528572 _Ref119311986 _Ref119774539 _Toc120528573 _Ref113111698 _Toc120528574 _Ref113110791 _Toc120528575 _Ref113110809 _Ref119480674 _Ref119480687 _Toc120528576 _Ref119313494 _Toc120528577 _Toc120528522 _Toc112530612 _Toc112530613 _Ref119916379 _Toc120528523 _Toc120528524 _Toc120528630 _Toc120528525 _Toc120528526 _Toc120528527 _Ref113174354 _Toc120528631 _Ref113174653 _Toc120528632 _Toc120528528 _Ref113174740 _Toc120528633 _Ref113127742 _Ref113127746 _Toc120528634 _Toc120528529 _Ref113175090 _Toc120528635 _Toc120528530 _Ref113175123 _Toc120528636 _Ref113175209 _Toc120528637 _Toc120528531 _Ref113175245 _Toc120528638 _Ref113174562 _Toc120528532 _Ref113175399 _Toc120528639 _Toc120528533 _Ref113175473 _Toc120528640 _Toc120528534 _Ref113184778 _Toc120528578 _Ref113184894 _Toc120528579 _Ref113185213 _Ref119920360 _Ref119920364 _Toc120528580 _Toc120528535 _Ref112740137 _Ref119916382 _Toc120528536 _Toc120528537 _Toc120528538 _Toc120528539 _Toc120528540 _Ref113789521 _Ref120293798 _Toc120528641 _Ref113790331 _Ref113790340 _Toc120528642 _Ref113790864 _Toc120528643 _Toc120528541 _Toc120528644 _Toc120528542 _Ref113793099 _Toc120528645 _Ref113793621 _Toc120528646 _Ref113793957 _Toc120528647 _Toc120528543 _Ref119916385 _Toc120528544 _Toc120528545 _Toc120528546 _Ref113268718 _Toc120528581 _Ref113271615 _Ref113271618 _Toc120528648 _Toc120528547 _Toc120528548 _Ref113278529 _Toc120528649 _Toc120528549 _Ref113278776 _Toc120528650 _Toc120528550 _Toc120528551 _Ref113278995 _Toc120528651 _Toc120528552 _Toc120528553 _Ref113281003 _Toc120528582 _Toc120528554 _Toc112530615 _Ref113281960 _Toc120528555 _Toc120528556 _Toc120528557 _Toc120528558 _Toc64969407 _Ref113856691 _Ref113856694 _Toc120528583 OLE_LINK5 OLE_LINK6 _Hlk113857194 _Toc120528559 _Toc120528560 _Ref112691839 _Ref120514319 _Ref112521788 _Ref113640894 _Ref112691852 _Ref113170860 _Ref113707707 _Ref113728157 _Ref112430510 _Ref113170884 _Ref113707000 _Ref113728175 _Ref113734356 _Ref113727211 _Ref112430457 _Ref112430458 _Ref113736046 _Ref112528393 _Ref112691815 _Ref113106759 _Ref113706878 _Ref113716656 _Ref113716552 _Ref113727585 _Ref64802317 _Ref112527324 _Ref112522197 _Ref113174437 _Ref113707673 _Ref113728278 _Ref113171043 _Ref113707688 _Ref113717041 _Ref113736060 _Ref113727058 _Ref113728235 _Ref113714017 _Ref113727288 _Ref112530209 _Ref113736069 _Ref112530230 _Ref113107630 _Ref113736078 _Ref113727135 _Ref112691779 _Ref113170959 _Ref113107387 _Ref112430574 _Ref112430630 _Ref113707042 _Ref113726081 _Ref113170828 _Ref113717355 _Ref119824751 _Ref113729513 _Ref112598615 _Ref112431309 _Ref113107613 _Ref113707063 _Ref113706970 _Ref113728053 _Ref113107526 _Ref113107545 _Ref113107251 _Ref113107317 _Ref113026061 _Ref113707758 _Ref113727792 _Ref112595225 _Ref112595229 _Ref113170919 _Ref113107567 _Ref112430593 _Ref113707105 _Ref113727440 _Ref112430596 _Ref113736116 _Ref113736127 _Ref113107294 _Ref113717900 _Ref113736141 _Ref113727934 _Ref113170790 _Ref113706694 _Ref113107595 _Ref113718920 _Ref113713650 _Ref113719408 _Ref113728014 _Ref112430648 _Ref119860899 _Ref119837232 _Ref113729534 _Ref113731042 _Ref113728312 _Toc112530616 _Ref112600986 _Toc120528561 _Toc120528562 _Toc112530617 _Ref112665764 _Toc120528563 _Toc120528564 _Ref113209857 _Toc120528565 _Toc120528566/00   $$5777=A=A>A>Apbpbqbqbqbqbqboott;x;x;x*}*}mm TTT%% 0001Vjjj111``'EEE   ^ _ Ag999:)/662@2@SBSBBBIVVV]aaag*p*pp~~v~‚‚ !!!["HHHIZYY[[ɒɒɒgggiiݕݕݕ,)))ˣˣ11111JJggZZLL<<,,TTT222YNAAA   % %%{2{28@@>AkKkKKKOOXSF[F[_5f5fmmmxx{{vvvv////0ǕE֫cc66>>U<<@@XX  +y]/#/#/#$$$|&|&-,.r/33[6[6;;U<>>>-AVEVEGGG{GhJLLMNNROZPQQCRRVV=\^^^^8bioooo4p4p4prCzNzOzz{|F}F}1~%%%ρ{? vvviÇŇ!!!؉ L8XkdSěĞG(ڡk lV˩ӪӪ~rc1X'ұֲ´V @ @ @ @@ #!"$%&')(*+,.-/0123456879:;<=@>@?@@ACBDFEGHIJKLMNPOQRSTVUWXYZ[\]^_a`bcdefgihjlkmnopqrstuvxwy{z|}~@@@@      !"#$%&'(*)+,-./0213456789:;<=>@?ABCDEFGHIJKLMNOPQRSTUVWXY[Z\]v_^`abcdefhgijklmnopqrstuxwyz{|~}̛̜@@@@, , , %%5777MAMAMAMApbpb}b}b}b}b}bppKttuxxxW}W}Ҁۄ --̎̎֒::Ȟ׳001E Pzkktt%%H).U( ( \ j z Ln99:xAA*/66l@@BBBBI?VVV"bmbmbghdpppA~t~~4Y )HHIrgǒǒܒܒܒەەە>KKK/RRRRRjj9eeww~~.JJ\\:PPϻfm=W|| d|'  /CCq,!  1 1 %%228A\\710oo' S7i###$#%#%&&P,q//;3l366<S<\<>>>>KAEEQGyGyGGxJLMMOPO`OkPRARURRVVD\^^^^PbiHoooorrrrMzzz{|E}/~$$΁zz=uhhÇÇ !։ VKK7Wj cQÛÞF'١j  kUUʩҪ}qbb0W&˱˱ղ#V   % & + 1 4  " # * 3 9 EJfkՆن zms'0lslnAEƫ˫ի̭׭ʮٮޮOSĴ3:BFض %SX]bWY ~ ,z$V[ek ;C_d-69 B !!**+&+++ , ,3366K KtS}SYY`ZbZb^e^Ybbbbcggkkpp y)yNy[yyyyyz z*z7zlzyzzzzzzzzz{{4{5{R{S{w{z{{{{{{{{{ ||&|)|5|B|^|_|c|p||||||||||||}}}!}.}u}}}}}}}}!+7OQ[a݉ '+KOptƊ9:x}~֗ח[\ߘ$%&DJKLTU[`abklyzȸɸDEgh: @     }u\a$$7$++C-V-------6.=.@.G.b.m........./////%/O/W/k/p/w////////0000#0*070@0R0Y0_0i0000000011%111;1J1T1j1s111111111112 282@2R2W2Z2_2BBnJwJ0K4K_KhK7LRSa)ɻDMo{Ѿ  -1PTvzms    &;EM 01AB_` *3(67PVez"/<BSY|  wz_ d   @L?H9X  B"U"g"p"y"""""""""########$$$$n$$$$*%?%L%M%k%l%%%%%%%%%&&&&P&Q&k&l&)&)S*h*X0c02.262A2_2j22222HWJWjWlWWWW X:XGXqXXXXXX-Y4YeYiYYYYY"Z2ZeZuZZZZZ.[;[o[[[[[\xp{pRzVzeznzwzzz{{{{!{{{{{{{{|| ||"|H|M|}}I}R}W}[}d}n}A~F~K~P~U~^~#dlҁہ$/0?CN~BK^g |$ovȇχ 5>ۉ"(15! $,ƎώڎOUZ_dmEJeku}17@Eϖזږߛ$,1:? Ǟ̞ўמܞJQYe+1ݡnu}orz (/ɦŧY^fk Ωө٪u}psx=CUZ[^*,4;ܱĶ˷ "%7DQ#7E׹ 3DTWgxݺ!scprz¼̼޼/=ѽܽ zӾ%@OTcgrÿտ$3GWcs +3CM]`x .<J$4ANbpz#&)9HK\d~ !/EXn!@Nhy"/?CQ^kr"-^j(9Jry{  "6O`z   4<LPWXikv138:dn~FIad!*{38BFGO\bnsRUjq-4IPahy%/6 9BLTruwzAD%DPS`#(8;SY8V oot,ttt;xVxyymҀل Toݑ*02;p}Ԓʹ2NzY_(.jAK_e-9KS&,1LiFL%F  9=z} MRY\rt6SFKOR"BEeh )0;>_b,/7:E`}  & \ BHdl U]erA$M$]$s$x$$$7%:%Y%\%`%f%%%%%%%++,,1-3-V-]-d-h-------]._...>/@/w////70A0_0j000*1,1W1Y1111111 22'2)2{222277@@AAkqNJΊ>Aw|Ǖ"ɡ֡+Ǧئɧاͩ?г JXGPxzڸ <>`c~*o|ƾ; ',HO6Qn+5>Yv+Q<Wt !&<PZck@Bop>W`?Ce{Texq0  ,2VYsy-2Xr14wz:@~LO%(BHejt w K   NY  U"X"^"d"v"""""""" #)#/#J#g###### $$<$?$[$^$$$$$$#%?%D%L%R%k&t&|&&&&B'D'6(8((()')_*i*++++&,(,./11.212D2J2v2y2223393l3555556!686[6v6666667*727X7`777777788=8E8k8s8888888$9'9D9G9Q9Y999999999::1:4:5:8:U:X:;;;;;;<S<<<WAAVEpEEEG2GOGyG}JJLLLMNNOPOQQRARVVVV:X=XqXtXeZuZZZ.[;[o[[o*oFoo4p7pxp{ppp q q>qDqyq~qqqqrCrFrrrvvQS .0FHŷպMdmrƽ ,5DKWZclʾTXÿȿ&/WYsy +.CH]`pux<@$*bfz}MR~!&EOnx@EYc/4^fDJw "9D\] OTz~ <@kq%.<BT]di~/3FIad 7=NTejz~!02AFX[km$6BQUjo{TYjq $*IPahy49TW/6EH`diltz479BEK "5:IN{ /5fmBDaf%'SYux8V:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::David C. ZaretskyC:\Documents and Settings\David C. Zaretsky\Application Data\Microsoft\Word\AutoRecovery save of David Zaretsky - PhD Dissertation.asdDavid C. ZaretskyC:\Documents and Settings\David C. Zaretsky\My Documents\Northwestern University\Research\docs\PhD docs\Dissertation\David Zaretsky - PhD Dissertation - two sided.docDavid C. ZaretskyC:\Documents and Settings\David C. Zaretsky\My Documents\Northwestern University\Research\docs\PhD docs\Dissertation\David Zaretsky - PhD Dissertation - two sided.docDavid C. ZaretskyC:\Documents and Settings\David C. Zaretsky\My Documents\Northwestern University\Research\docs\PhD docs\Dissertation\David Zaretsky - PhD Dissertation - two sided.docDavid C. ZaretskyC:\Documents and Settings\David C. Zaretsky\My Documents\Northwestern University\Research\docs\PhD docs\Dissertation\David Zaretsky - PhD Dissertation - two sided.docDavid C. ZaretskyC:\Documents and Settings\David C. Zaretsky\My Documents\Northwestern University\Research\docs\PhD docs\Dissertation\David Zaretsky - PhD Dissertation - two sided.docDavid C. ZaretskyC:\Documents and Settings\David C. Zaretsky\My Documents\Northwestern University\Research\docs\PhD docs\Dissertation\David Zaretsky - PhD Dissertation - two sided.docDavid C. ZaretskyC:\Documents and Settings\David C. Zaretsky\My Documents\Northwestern University\Research\docs\PhD docs\Dissertation\David Zaretsky - PhD Dissertation - two sided.docDavid C. ZaretskyC:\Documents and Settings\David C. Zaretsky\My Documents\Northwestern University\Research\docs\PhD docs\Dissertation\David Zaretsky - PhD Dissertation - two sided.docDavid C. ZaretskyC:\Documents and Settings\David C. Zaretsky\My Documents\Northwestern University\Research\docs\PhD docs\Dissertation\David Zaretsky - PhD Dissertation - two sided.doc|66(}0~NhIPayړm5"% 1ZDW.BwiN"'O;"vTV c`}8hz2Z&FLs=e&(=6 (@u7G dwGQ-\7 v"rI^(V,Dp+'d!f@. )N|4)-64Pd-;>$8BF5'0'?1;BUX#y*'4&xa9@SWIN'Z'Hy  L .` !dDm 'Q N4 hC5 2_ 8Di-c ",|p ~ziv ~$n T0 diz 'wH1'^&(h6@|tB^ s%7'=XXl$plRP6PpK(D>L'0BT4Y_Π 9\#&PF :pV|G*Z^=Liv)ttBvRr{`f _C #W'?>LL @ܗֳV%'rNר~_ %xwָYr8 mh(DS<Ven|sf   vٶ *{*sz.b@Ek`3?R?V5 ,4Q.f=Gcwy\"' Xޘ`7:mONry '< } MI H, 'n| d*i{E! z5!_)W!C"8nL"̃>K#+-n#pmh$Blc~o$j6L'% `)%'NM&'3i&Fp0'|)tNM''X'WM('6Z('1U(:J|u)k<\*){E:)~_.8)rO)'fg*'R*ğ *rp*膤WO{, ,VEn,-Q-tK-.( b-'M#- [;-Jc~-hj~-v_-'; -T1KGo-GhoK.6sX.0#sv}.'l.flcN:/D4x>~/y#/l/Hd9/t!} 0`L8^-0\|mE[0zYm'g0% 0'12\ (2 30 ==23l63xS23*\ 4f(4K7Z|8 8Lkb9Ȓq9Fixo:P;d}:]:Ž:g#;x!';'Mkp;N|4#Q; }&?;h^8=8EBw= ,=G-x=FpS$>tU>3;?-:j?fkA?"İ`C@V/@V @l}:i A:'pAzpH=_.AN\|]ARX6%AhzAtjDBhVB';C(NC/KRCepw4E890)pE|Z0&FLkFe`F'lF2/3GȎHb G<]THN?k|HTT,G IHpIPv t>Kv$tПxFv F*wJwj,w ~Ux8F$2xĮx4Uo\oyVa~y@X;z6[z2S-Pz w!z'5<{x48wk{V/ ){[|f|T }}ߜ(z+~<3~'Ul~41LT90Iɠ:&/^`.^`.88^8`.^`. ^`OJQJo( ^`OJQJo( 88^8`OJQJo( ^`OJQJo(hh^h`. hh^h`OJQJo(@.@.@)@0^`0)@P0^P`0()@ 0^ `0()@ 0^ `0()@0^`0()@0^`0()*^`OJQJ^`OJQJop^p`OJQJ@ ^@ `OJQJ^`OJQJo^`OJQJ^`OJQJ^`OJQJoP^P`OJQJ^`^`^`^`^`^`^`^`^` ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........88^8`OJ PJQJ ^Jo(-^`OJQJ^Jo(hHo  ^ `OJQJo(hH  ^ `OJQJo(hHxx^x`OJQJ^Jo(hHoHH^H`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`o(.^`. L ^ `L.\ \ ^\ `.,,^,`.L^`L.^`.^`.lLl^l`L.P^`Po([]^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. hh^h`CJ QJo(- 88^8`OJQJo(o ^`OJQJo(   ^ `OJQJo(   ^ `OJQJo(o xx^x`OJQJo( HH^H`OJQJo( ^`OJQJo(o ^`OJQJo(^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.ww^w`o(II^I`o(.t0t^t`0o(..F0F^F`0o(... ^`o( .... RR^R`o( ..... $ $ ^$ `o( ...... ^ `^ ^^ ``o(....... 0 `0 ^0 ``o(........ ^`OJQJo(hH.^`56CJ OJQJo(hH..^`56CJOJQJo(hH...^`56CJOJQJo(hH... Pp^P`o(hH ..... H X ^H `Xo(hH ...... @  ^@ `o(hH.......  8 8^8 `8o(hH........  x`^x``o(hH.........hhh^h`.h88^8`.hL^`L.h  ^ `.h  ^ `.hxLx^x`L.hHH^H`.h^`.hL^`L.h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(h 88^8`OJQJo(h ^`OJQJo(oh   ^ `OJQJo(h   ^ `OJQJo(h xx^x`OJQJo(oh HH^H`OJQJo(h ^`OJQJo(h ^`OJQJo(oh ^`OJQJo(hhh^h`.h88^8`.hL^`L.h  ^ `.h  ^ `.hxLx^x`L.hHH^H`.h^`.hL^`L.h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(^`o(.^`. L ^ `L.\ \ ^\ `.,,^,`.L^`L.^`.^`.lLl^l`L.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.88^8`o()^`. L ^ `L.  ^ `.xx^x`.HLH^H`L.^`.^`.L^`L.hh^h`o(.hh^h`o(..0^`0o(...0^`0o(.... 88^8`o( ..... 88^8`o( ...... 88^8`o(....... `^``o(........ `^``o(......... ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`.^`o(.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. h^h`OJQJo(.4^`56CJ OJQJo(G@CJ OJQJsH tH _H..$^`3*G\CJOJ)QJ)sHtH_H ...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.^`5o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(h^h`OJQJo(hH.h^h`56CJ OJQJo(hH..^`56CJOJQJo(hH...h^h`56CJOJQJo(hH....  ^`o(hH .....  X@ ^ `Xo(hH ......  ^ `o(hH.......  8x^`8o(hH........  `H^``o(hH......... ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L. ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(......... ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........hh^h`.P^`P..^`...x^`x....  ^` .....  X@ ^ `X ......  ^ `....... 8x^`8........ `H^``.........h 22^2`OJQJo(h ^`OJQJo(oh ^`OJQJo(h   ^ `OJQJo(h r r ^r `OJQJo(oh BB^B`OJQJo(h ^`OJQJo(h ^`OJQJo(oh ^`OJQJo(@h ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.hh^h`OJPJQJ^Jo(- 88^8`OJQJo(o ^`OJQJo(   ^ `OJQJo(   ^ `OJQJo(o xx^x`OJQJo( HH^H`OJQJo( ^`OJQJo(o ^`OJQJo(hhh^h`o([]h ^`OJQJo(oh   ^ `OJQJo(h   ^ `OJQJo(h xx^x`OJQJo(oh HH^H`OJQJo(h ^`OJQJo(h ^`OJQJo(oh ^`OJQJo(^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo( ^`o(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.hhh^h`.h88^8`.hL^`L.h  ^ `.h  ^ `.hxLx^x`L.hHH^H`.h^`.hL^`L.^`o(()^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L. ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(......... ^`OJQJo(hH.^`56CJ OJQJo(hH..^`56CJOJQJo(hH...^`56CJOJQJo(hH... Pp^P`o(hH ..... H X ^H `Xo(hH ...... @  ^@ `o(hH.......  8 8^8 `8o(hH........  x`^x``o(hH.........^`o(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.^`o(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH. ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.P^`P56OJQJo(. ^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.L^`L.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.@^`. ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. ?^`?o(0^`0o(.88^8`o(..`^``o(... `^``o( .... ^`o( ..... pp^p`o( ......  ( ^ `(o(....... @ @ ^@ `o(........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o(() tt^t`hH. DLD^D`LhH.   ^ `hH.   ^ `hH. L^`LhH. ^`hH. TT^T`hH. $L$^$`LhH.^`o(()^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h 88^8`OJQJo(h ^`OJQJo(oh   ^ `OJQJo(h   ^ `OJQJo(h xx^x`OJQJo(oh HH^H`OJQJo(h ^`OJQJo(h ^`OJQJo(oh ^`OJQJo(hh^h`o(.P^`Po(..^`o(...x^`xo(....  ^`o( .....  X@ ^ `Xo( ......  ^ `o(....... 8x^`8o(........ `H^``o(.........0^`0o(()h ^`OJQJo(PLP^P`L.  ^ `.^`.!L!^!`L.$$^$`.`'`'^`'`.0*L0*^0*`L.h hh^h`OJQJo(h 88^8`OJQJo(oh ^`OJQJo(h   ^ `OJQJo(h   ^ `OJQJo(oh xx^x`OJQJo(h HH^H`OJQJo(h ^`OJQJo(oh ^`OJQJo(^`o(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(^`o(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`o(.^`. L ^ `L.\ \ ^\ `.,,^,`.L^`L.^`.^`.lLl^l`L.hhh^h`.hP^`P..h^`...hx^`x.... h ^` ..... h X@ ^ `X ...... h ^ `....... h8x^`8........ h`H^``.........@h ^`CJOJQJ.h ^`OJQJo(h pp^p`OJQJo(oh @ @ ^@ `OJQJo(h ^`OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h PP^P`OJQJo(oh   ^ `OJQJo(L^`L.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.@^`.hh^h`o(.hh^h`o(..0^`0o(...0^`0o(.... 88^8`o( ..... 88^8`o( ...... 88^8`o(....... `^``o(........ `^``o(.........h ^`OJQJo(h   ^ `OJQJo(oh   ^ `OJQJo(h xx^x`OJQJo(h HH^H`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh ^`OJQJo(@ ^ `^``o(`^``o(. 0 ^ `0o(..0^`0o(... ^`o( .... ^`o( ..... <`<^<``o( ...... V"`V"^V"``o(....... ''^'`o(........ ^`56CJ0OJQJo( Chapter ^`o(^`o(^`o(^`o(^`o(^`o(^`o(^`o(hh^h`o(.hh^h`o(..0^`0o(...0^`0o(.... 88^8`o( ..... 88^8`o( ...... `^``o(....... `^``o(........ ^`o(.........^`o(^`o(.0^`0o(..0^`0o(... 0^`0o( .... 88^8`o( ..... 88^8`o( ...... `^``o(....... `^``o(........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h 88^8`OJQJo(h^`.h L ^ `L.h  ^ `.hxx^x`.hHLH^H`L.h^`.h^`.hL^`L. ^`5CJo(^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. P^`P56CJ0OJQJo( Chapter @@^@`56CJ OJQJo(.0^`056CJOJQJo(..``^``56CJOJQJo(... ^`o( .... ^`o( ..... ^`o( ...... `^``o(....... 00^0`o(........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. ^`56CJ0OJQJo( Chapter ^`o(^`o(^`o(^`o(^`o(^`o(^`o(^`o(hhh^h`.h88^8`.hL^`L.h  ^ `.h  ^ `.hxLx^x`L.hHH^H`.h^`.hL^`L. ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(......... ?^`?o(0^`0o(.88^8`o(..`^``o(... `^``o( .... ^`o( ..... pp^p`o( ......  ( ^ `(o(....... @ @ ^@ `o(........>^`>o(L^`L.L^`L.  ^ `.  ^ `.xLx^x`L.HH^H`.^`.L^`L.h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(L^`L.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........h hh^h`OJQJo(h88^8`.hL^`L.h  ^ `.h  ^ `.hxLx^x`L.hHH^H`.h^`.hL^`L. hh^h`OJQJo(.P8^`Po(1..^`o(...x^`xo(....  ^`o( .....  X@ ^ `Xo( ......  ^ `o(....... 8x^`8o(........ `H^``o(.........^`OJQJo(hH.^`56CJ OJQJo(hH..^`56CJOJQJo(hH...^`56CJOJQJo(hH... Pp^P`o(hH ..... H X ^H `Xo(hH ...... @  ^@ `o(hH.......  8 8^8 `8o(hH........  x`^x``o(hH.........  ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. ^`o( Chapter ^`o(^`o(^`o(^`o(^`o(^`o(^`o(^`o(h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(h88^8`.h^`.h L ^ `L.h  ^ `.hxx^x`.hHLH^H`L.h^`.h^`.hL^`L.h hh^h`OJQJo(h 88^8`OJQJo(oh ^`OJQJo(h   ^ `OJQJo(h   ^ `OJQJo(oh xx^x`OJQJo(h HH^H`OJQJo(h ^`OJQJo(oh ^`OJQJo( ^`o(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.hh^h`o(.H\H^H`\()\^`\\^`\.4\4^4`\() \ ^ `\| \| ^| `\. \ ^ `\()\^`\^`o(() ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.hh^h`) ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(......... ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`CJOJQJo(^`CJOJQJo(pp^p`CJOJQJo(@ @ ^@ `CJOJQJo(^`CJOJQJo(^`CJOJQJo(^`CJOJQJo(^`CJOJQJo(PP^P`CJOJQJo(hh^h`o([]^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(......... hh^h`OJQJo(.P^`Po(..^`o(...x^`xo(....  ^`o( .....  X@ ^ `Xo( ......  ^ `o(....... 8x^`8o(........ `H^``o(......... ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(......... ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`OJ PJQJ ^Jo(-^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hH hh^h`OJQJo(.P8^`Po(..^`o(...x^`xo(....  ^`o( .....  X@ ^ `Xo( ......  ^ `o(....... 8x^`8o(........ `H^``o(.........^`CJOJQJo(^`CJOJQJo(opp^p`CJOJQJo(@ @ ^@ `CJOJQJo(^`CJOJQJo(^`CJOJQJo(^`CJOJQJo(^`CJOJQJo(PP^P`CJOJQJo( ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(......... ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h ^`OJQJo(h pp^p`OJQJo(oh @ @ ^@ `OJQJo(h ^`OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h PP^P`OJQJo(oh   ^ `OJQJo( ?^`?o(0^`0o(.88^8`o(..`^``o(... `^``o( .... ^`o( ..... pp^p`o( ......  ( ^ `(o(....... @ @ ^@ `o(........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.hh^h`o(.P^`Po(..^`o(...x^`xo(....  ^`o( .....  X@ ^ `Xo( ......  ^ `o(....... 8x^`8o(........ `H^``o(......... ^`OJQJo( ^`OJQJo(o pp^p`OJQJo( @ @ ^@ `OJQJo( ^`OJQJo(o ^`OJQJo( ^`OJQJo( ^`OJQJo(o PP^P`OJQJo(^`OJQJo(hH.^`56CJ OJQJo(hH..^`56CJOJQJo(hH...^`56CJOJQJo(hH... Pp^P`o(hH ..... H X ^H `Xo(hH ...... @  ^@ `o(hH.......  8 8^8 `8o(hH........  x`^x``o(hH.........hh^h`.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.hh^h`o(.88^8`o(L^`L.  ^ `.  ^ `.xLx^x`L.HH^H`.^`.L^`L.hh^h`o(.H\H^H`\()\^`\\^`\.4\4^4`\() \ ^ `\| \| ^| `\. \ ^ `\()\^`\ ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`o(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH. ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`o(.^`. L ^ `L.\ \ ^\ `.,,^,`.L^`L.^`.^`.lLl^l`L.^`OJPJQJ^Jo(- ^`OJQJo(o pp^p`OJQJo( @ @ ^@ `OJQJo( ^`OJQJo(o ^`OJQJo( ^`OJQJo( ^`OJQJo(o PP^P`OJQJo( ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(h^h`OJQJo(hH.h^h`56CJ OJQJo(hH..^`56CJOJQJo(hH...h^h`56CJOJQJo(hH....  ^`o(hH .....  X@ ^ `Xo(hH ......  ^ `o(hH.......  8x^`8o(hH........  `H^``o(hH.........@hh^h`.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.hh^h`o(.P^`Po(..^`o(...x^`xo(....  ^`o( .....  X@ ^ `Xo( ......  ^ `o(....... 8x^`8o(........ `H^``o(.........hh^h`CJ OJQJ^Jo(- ^`OJQJo(o pp^p`OJQJo( @ @ ^@ `OJQJo( ^`OJQJo(o ^`OJQJo( ^`OJQJo( ^`OJQJo(o PP^P`OJQJo(^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o()^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. hh^h`OJQJo(v@@^@`.0^`0..``^``... ^` .... ^` ..... ^` ...... `^``....... 00^0`........ ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(   ^ `OJQJo( P^`POJQJo(..^`o(...xx^x`xo(... p ^p`o( ..... h X ^h `Xo( ...... `  ^` `o(....... X80^X`8o(........ `^``o(.........h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(hhh^h`.h88^8`.h^`.h  ^ `.h  ^ `.hxLx^x`L.hHH^H`.h^`.hL^`L.h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo( hh^h`OJQJo(P8^`Po(..^`o(...x ^`xo(....  ^`o( .....  X^ `Xo( ......  ^ `o(....... 8^`8o(........ `^``o(.........L^`L.^`.TLT^T`L.$ $ ^$ `.  ^ `.L^`L.^`.dd^d`.4L4^4`L.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. \ ^ `\o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. ^`o(. ^`hH. L^`LhH. pp^p`hH. @ @ ^@ `hH. L^`LhH. ^`hH. ^`hH. L^`LhH.^`.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o(()^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o() ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h 88^8`OJQJo(h ^`OJQJo(oh   ^ `OJQJo(h   ^ `OJQJo(h xx^x`OJQJo(oh HH^H`OJQJo(h ^`OJQJo(h ^`OJQJo(oh ^`OJQJo(^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h^`.hpp^p`.h@ L@ ^@ `L.h^`.h^`.hL^`L.h^`.hPP^P`.h L ^ `L.h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.hh^h`[]hh^h`[]h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo( ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(......... ^`OJQJo(.4^`56CJ OJQJo(G@CJ OJQJsH tH _H..$^`3*G\CJOJ)QJ)sHtH_H ...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(......... ^`o(.hhhhhhhhh^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hHh ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo( ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.hh^h`o()88^8`.L^`L.  ^ `.  ^ `.xLx^x`L.HH^H`.^`.L^`L.h hh^h`OJQJo(h 88^8`OJQJo(oh ^`OJQJo(h   ^ `OJQJo(h   ^ `OJQJo(oh xx^x`OJQJo(h HH^H`OJQJo(h ^`OJQJo(oh ^`OJQJo(h^`.h^`.hL^`L.h  ^ `.hSS^S`.h#L#^#`L.h^`.h^`.hL^`L.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o(^`o(.0^`0o(..0^`0o(... 0^`0o( .... 88^8`o( ..... 88^8`o( ...... `^``o(....... `^``o(........h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`CJOJQJo(^`CJOJQJo(pp^p`CJOJQJo(@ @ ^@ `CJOJQJo(^`CJOJQJo(^`CJOJQJo(^`CJOJQJo(^`CJOJQJo(PP^P`CJOJQJo( $$^$`o(.$$^$`o(..88^8`o(...`^``o(.... ^`o( ..... ^`o( ...... pp^p`o(.......  ( ^ `(o(........ @ @ ^@ `o(.........h^`OJQJo(hHhuu^u`OJQJ^Jo(hHohE E ^E `OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHhUU^U`OJQJ^Jo(hHoh%%^%`OJQJo(hH hh^h`o(.hh^h`o(..h^h`o(...h^h`o(....  ^`o( .....  X@ ^ `Xo( ......  ^ `o(....... 8x^`8o(........ `H^``o(.........hxx^x`.hHH^H`.hL^`L.h^`.h^`.hL^`L.hX X ^X `.h(#(#^(#`.h%L%^%`L. ^`o(.0^`0o(.^`o(..p`p^p``o(...  ` ^ ``o( ....   ^ `o( ..... xx^x`o( ...... H(H^H`(o(....... ^`o(........h^`.8^`.^`.p ^p`)@  ^@ `()x^`()H^`()^`()^`()^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo( ?^`?o(0^`0o(.88^8`o(..`^``o(... `^``o( .... ^`o( ..... pp^p`o( ......  ( ^ `(o(....... @ @ ^@ `o(........h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.hh^h`CJ OJQJ^Jo(- 88^8`OJQJo(o ^`OJQJo(   ^ `OJQJo(   ^ `OJQJo(o xx^x`OJQJo( HH^H`OJQJo( ^`OJQJo(o ^`OJQJo( ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. hh^h`OJQJo( P8^`POJQJo(..^`...x ^`x....  ^` .....  X@ ^ `X ......  ^ `....... 8x^`8........ `H^``.........L^`Lo(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`CJOJQJo(^`CJOJQJo(opp^p`CJOJQJo(@ @ ^@ `CJOJQJo(^`CJOJQJo(^`CJOJQJo(^`CJOJQJo(^`CJOJQJo(PP^P`CJOJQJo(^`OJ PJQJ ^Jo(-^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hHhh^h`o([]^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. $$^$`o(.$$^$`o(..88^8`o(...`^``o(.... ^`o( ..... ^`o( ...... pp^p`o(.......  ( ^ `(o(........ @ @ ^@ `o(.........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h^`.h pp^p`OJQJo(oh @ @ ^@ `OJQJo(h ^`OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h PP^P`OJQJo(oh   ^ `OJQJo(hP^`P56CJ OJQJo(.h@@^@`56CJOJQJo(..h0^`056CJOJQJo(...h`8^``o(... h^`o( .... h^`o( ..... h^`o( ...... h`^``o(....... h00^0`o(........h^`OJQJo(hH ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.^`OJ PJQJ ^Jo(-^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hHhh^h`o(^`o(.0^`0o(..^`o(... xx^x`o( .... p`p^p``o( .....  ` ^ ``o( ......   ^ `o(.......   ^ `o(........@hh ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. h^h`OJQJo(.h^h`56CJ OJQJo(..^`56CJOJQJo(...h^h`56CJOJQJo(...  ^`o( .....  X@ ^ `Xo( ......  ^ `o(....... 8x^`8o(........ `H^``o(.........||^|`o(0^`0o(.0^`0o(..88^8`o(... `^``o( .... ^`o( ..... ^`o( ...... pp^p`o(.......  ( ^ `(o(........@hh^h`.^`o(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. h^h`OJQJo(.1P8^`Po(2..^`o(...x^`xo(....  ^`o( .....  X@ ^ `Xo( ......  ^ `o(....... 8x^`8o(........ `H^``o(.........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.P^`P@@^@`.0^`0..``^``... ^` .... ^` ..... ^` ...... `^``....... 00^0`........ ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.hh^h`o(.P^`Po(..^`o(...x^`xo(....  ^`o( .....  X@ ^ `Xo( ......  ^ `o(....... 8x^`8o(........ `H^``o(.........h hh^h`OJQJo(h88^8`.hL^`L.h  ^ `.h  ^ `.hxLx^x`L.hHH^H`.h^`.hL^`L. hh^h`OJQJo(^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.@hh^h`.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. ^`5CJo(^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.@h^`.h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo( ^`o( Chapter ^`o(^`o(^`o(^`o(^`o(^`o(^`o(^`o(^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`. ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.p hh^h`OJQJo(p P8^`POJQJo(..p^`o(...px^`xo(... p ^`o( ..... p X@ ^ `Xo( ...... p ^ `o(....... p8x^`8o(........ p`H^``o(.........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. hh^h`OJQJo(P8^`Po(..^`o(...x ^`xo(....  ^`o( .....  X^ `Xo( ......  ^ `o(....... 8^`8o(........ `^``o(.........88^8`o(.hhhhhhhh^`CJOJQJo(^`CJOJQJo(opp^p`CJOJQJo(@ @ ^@ `CJOJQJo(^`CJOJQJo(^`CJOJQJo(^`CJOJQJo(^`CJOJQJo(PP^P`CJOJQJo(hhh^h`CJOJQJo(qh 88^8`OJQJo(oh ^`OJQJo(h   ^ `OJQJo(h   ^ `OJQJo(oh xx^x`OJQJo(h HH^H`OJQJo(h ^`OJQJo(oh ^`OJQJo(h^`.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. ^`OJQJo("  ^`OJQJo(  pp^p`OJQJo("  @ @ ^@ `OJQJo("  ^`OJQJo("  ^`OJQJo("  ^`OJQJo("  ^`OJQJo("  PP^P`OJQJo(" @ ^ h 88^8`OJQJo(h ^`OJQJo(oh   ^ `OJQJo(h   ^ `OJQJo(h xx^x`OJQJo(oh HH^H`OJQJo(h ^`OJQJo(h ^`OJQJo(oh ^`OJQJo(^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH. h^h`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(......... ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(......... ^`56CJ0OJQJo( Chapter ^`o(^`o(^`o(^`o(^`o(^`o(^`o(^`o(^`o(() ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.^`OJPJQJ^Jo(-^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hH@h ^`CJOJQJ.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.^`OJQJo(hH.^`56CJ OJQJo(hH..^`56CJOJQJo(hH...^`56CJOJQJo(hH... Pp^P`o(hH ..... H X ^H `Xo(hH ...... @  ^@ `o(hH.......  8 8^8 `8o(hH........  x`^x``o(hH.........h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(^`OJQJo(hH2.^`56CJ OJQJo(hH2..^`56CJOJQJo(hH2...^`56CJOJQJo(hH2... Pp^P`o(hH ..... H X ^H `Xo(hH ...... @  ^@ `o(hH.......  8 8^8 `8o(hH........  x`^x``o(hH......... ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`o(.hhhhhhhhh^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.hhh^h`.h88^8`.hL^`L.h  ^ `.h  ^ `.hxLx^x`L.hHH^H`.h^`.hL^`L.h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(^`OJQJo(hH.^`56CJ OJQJo(hH..^`56CJOJQJo(hH...^`56CJOJQJo(hH... Pp^P`o(hH ..... H X ^H `Xo(hH ...... @  ^@ `o(hH.......  8 8^8 `8o(hH........  x`^x``o(hH......... ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........hh^h`o(.hh^h`o(..0^`0o(...0^`0o(.... 88^8`o( ..... 88^8`o( ...... 88^8`o(....... `^``o(........ `^``o(......... hh^h`OJQJo(P8^`Po(1..^`o(...x^`xo(....  ^`o( .....  X@ ^ `Xo( ......  ^ `o(....... 8x^`8o(........ `H^``o(.........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h 88^8`OJQJo(h ^`OJQJo(oh   ^ `OJQJo(h   ^ `OJQJo(h xx^x`OJQJo(oh HH^H`OJQJo(h ^`OJQJo(h ^`OJQJo(oh ^`OJQJo(h hh^h`OJQJo(h 88^8`OJQJo(oh ^`OJQJo(h   ^ `OJQJo(h   ^ `OJQJo(oh xx^x`OJQJo(h HH^H`OJQJo(h ^`OJQJo(oh ^`OJQJo(^`CJOJQJo(^`CJOJQJo(opp^p`CJOJQJo(@ @ ^@ `CJOJQJo(^`CJOJQJo(^`CJOJQJo(^`CJOJQJo(^`CJOJQJo(PP^P`CJOJQJo(hh^h`CJOJQJo(n ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(......... ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`OJQJo(hH.^`56CJ OJQJo(hH..^`56CJOJQJo(hH...^`56CJOJQJo(hH... Pp^P`o(hH ..... H X ^H `Xo(hH ...... @  ^@ `o(hH.......  8 8^8 `8o(hH........  x`^x``o(hH.........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.hh^h`o(^`o(.0^`0o(..808^8`0o(... ^`o( .... ^`o( ..... ^`o( ...... `^``o(....... ` `` ^` ``o(........@h ^`CJOJQJ. hh^h`5CJo(88^8`.L^`L.  ^ `.  ^ `.xLx^x`L.HH^H`.^`.L^`L.hhh^h`.h88^8`.hL^`L.h  ^ `.h  ^ `.hxLx^x`L.hHH^H`.h^`.hL^`L.hh^h`o(.hh^h`o(..0^`0o(...0^`0o(.... 88^8`o( ..... 88^8`o( ...... `^``o(....... `^``o(........ ^`o(.........@hh88^8`.h^`.h L ^ `L.h  ^ `.hxx^x`.hHLH^H`L.h^`.h^`.hL^`L.hhh^h`.h88^8`.hL^`L.h  ^ `.h  ^ `.hxLx^x`L.hHH^H`.h^`.hL^`L.h ^`OJQJo(h pp^p`OJQJo(oh @ @ ^@ `OJQJo(h ^`OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h PP^P`OJQJo(oh   ^ `OJQJo(^`.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.hh^h`o(hh^h`o(.0^`0o(..0^`0o(... 0^`0o( .... 88^8`o( ..... 88^8`o( ...... `^``o(....... `^``o(........^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L. ^`OJQJo(.^`56CJ OJQJo(..^`56CJOJQJo(...^`56CJOJQJo(... Pp^P`o( ..... H X ^H `Xo( ...... @  ^@ `o(....... 8 8^8 `8o(........ x`^x``o(.........^`o(() tt^t`hH. DLD^D`LhH.   ^ `hH.   ^ `hH. L^`LhH. ^`hH. TT^T`hH. $L$^$`LhH. hh^h`OJQJo(1 P8^`POJQJo(1..^`o(...x^`xo(....  ^`o( .....  X@ ^ `Xo( ......  ^ `o(....... 8x^`8o(........ `H^``o(......... <^`=_5<{>={zY6vUl~f(4\ 4K70B,4Q\mWz2G I (2~_x]AYNCP@B @BABB;B;B:BP?B?B~/TrN7 K.U#oK7RXh6@~Ux6Z(kf*hRXO{,*wn| X=e^ggmdDm +Z%7z #WCVO< XWM(p+ #[!V5!';ry M'V%$h:j?`)%nD1v}.'Y{uVVBWIN<3~O)ZzAQ`0tJw4it DB!} 0"p}8"+{`NM&"fg*N">LO;*w!z1mYy~<XU]:Lp8B2L *0'RqE\Ui{E! !@5mh$9\C-hW_- b- MEaR*Ek-}Auwk{mE[0)qelX6LL#E?;}aKU. )_KvVb Gd-; v[0I}{Kg*2%sq3i&8SXOD0'sq<<#6*fqkFJwzwq 3{[|d!L $p6[zG  v%Aa9@q}gB @ ^`OJQJo(-xB r@ ^`OJQJo(B r@ ^`OJQJo(-@B @hh^h`.B @hh^h`. @ RX @CJOJQJo(nDSX ^`CJOJQJo( WW8Num147R                         >                                                     w        P;                                   ~                 vH                          .        4        (                 |THǜz2f'仆GX&Z(z          @        *Q        ^        h                                            Ғn                          F΀                                                                                        |        N!                 U4                                                                      >{        ،        .9                PAX@lbȖHjN^B0Hzl>ul                          >r        ^([yB5T.lF{8T.޿Iv        22                                                      t       ҈        |z                          F         u                                                                       ]No        dH        "        M                 v                                   ^4p                                                              NS%Dl,DX :j                                                     䙆                                   J        >̤ s@rɈh4Jj ؠ H                                             rLV        u        pA        w`e        ֭xl~$^g;)}b56R4„L        l                                   t~                                                     "        ,v        hA                          &^z                          ,Д@        ĒR?,㚼NSz4J4XhQ         '|PcWJ!#VР^f~tDdr         ϊ                         Є                 DV]4X lfL$֛bN"p4RV:F-         :0                 MRb        ap                                   T                                            3                 m89t_4Һu(vo?1@2@@@RBSBX]aaobgll)p*pppy~~‚ !lj܉݉ &',39<JKPX^aopu|NJЊ׊ۊ  $,678?AHJQSZ\cefou{  $%)-37<@EINRWX_cimrv{ "(-38>CDNTZ`ejoty~0:<@FNXYZ_afhmotv{}~ !&+17<ABFLRX^djpv|$).4:?DENSY_ekqw}  r|~ !&,289CHNSX]chmrxy} $%-28=BGMRX]cdmrx| !"*"M"!$%%8+=-@-z2{2IIjKkKtSWWE[F[[t]5ffffggggggggg!g$g'g*g+g/g5g;gAgGgMgSgZgbgigpgqgug{gggggggggggggggggggggghh hhhh$h*h1h8h?hFhGhMhShYh_hehkhqhxhhhhhhhhhhhhhhhhhhhhhhhhi iiiii$i*i0i6iqDqJqPqVq\qcqjqqqxqyq~qqqqqqqqqqqqqqqqqqqqqqrr rrrr"r(r.r5r=rDrKrLrRrXr^rdrjrprvr}rrrrrrrrrrrrrrrrrrrrrrss sss#s$s*s0s6s|H|S|]|h|r|s|||||||||||||||||||||||||||||}} }}}}}#}$}+}.}3}7}<}@}E}I}J}P}S}Y}]}c}g}m}q}r}z}}}}}}}}}}}}}}}}}}}}}}}}}}}~ ~~~~!~&~,~-~v %07BMT_jkty†dž̆҆׆؆ "&,039=@FJKRV\`chlouyzҡЇՇۇ !+06;@EJOUZ[agmsy !*+5<GRYdovĉʼnɉΉӉىމ #*16=>BFLPSY]`fjkrv|ŠƊNJϊԊڊߊ !&,27=>HMRW\afkqvw}bckl56=>T"#13;CKS]noz  !#&(+,69<>ACFHKMPRUVZ\^`bdfhjlnprsz} !#&),-368;=@CFILORUVX 01:>DHNRX\bflpvw{ !'*039:AEKOUY_cimsw}~#'-17;AEKLVZ`djntx~p{  $%)-159=ABIMQUZ_dekosw{  >"?".#/###$$$%%%{&|&//233m3k55Z6[66;;VEEEEEEEEEEEEEEEEEEEEFFFF+F,F.FFFGFIFhFiFlFpFqFtFFFFFFFFFFFFF G GGGGVVV W W!W*W6WBWLWXWdWnW{WWWWWWWWWWWWWWWWWWWWWWWWWW XXXX X&X+X-X3X9X:XHXKXQXVXYX_XdXfXkXpXqXXXXXXXXXXXXXXXXXXXXXXXXY YYYYY Y&Y,Y-Y5Y;YAYGYJYPYUYWY^YdYeYjYmYsYxY{YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZ ZZZZ!Z"Z3Z9Z?ZFZKZQZWZYZ_ZdZeZvZzZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[ [[[[!['[-[.[<[B[H[O[T[Z[`[b[h[n[o[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\ \\\\%\+\0\6\<\=\ooooooooooop pppp$p)p3p4p=pCpIpNpSpXp]pbpgplprpwpxp|pppppppppppppppppppppppqq q qqqqq"q(q,q/q3q9q=q>qEqJqPqTqWq\qaqeqiqnqtqxqyqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrr$r+r1r6r|>}>>>>>>>>>BWBXBBU@\@d@@@(@0@@@h@8@Unknown Gz Times New Roman5Symbol3& z Arial?5 z Courier New3Times;WingdingsA& Arial NarrowW& ??Arial Unicode MSTahoma?& Arial BlackgNew Times RomanTimes New RomanA"GenevaArialWTms RmnTimes New Roman#qh,&&&w / / >0dnn^kV 2qlC:\Documents and Settings\David C. Zaretsky\Application Data\Microsoft\Templates\NU_Disseration_Template.dotNORTHWESTERN UNIVERSITYDavid C. ZaretskyDavid C. ZaretskyOh+'0$ @L h t  NORTHWESTERN UNIVERSITYORTDavid C. ZaretskyRSaviaviNU_Disseration_Template.dotDavid C. Zaretskypl790Microsoft Word 9.0l@@(@{@pp/՜.+,D՜.+,T px   \R n NORTHWESTERN UNIVERSITY Title B 8@ _PID_HLINKSAA5_Toc1205286515_Toc1205286505_Toc1205286495_Toc1205286485_Toc1205286475_Toc1205286465_Toc1205286455_Toc1205286445_Toc1205286435_Toc1205286425_Toc1205286415_Toc1205286405|_Toc1205286395v_Toc1205286385p_Toc1205286375j_Toc1205286365d_Toc1205286355^_Toc1205286345X_Toc1205286335R_Toc1205286325L_Toc1205286315F_Toc1205286305@_Toc1205286295:_Toc12052862854_Toc1205286275._Toc1205286265(_Toc1205286255"_Toc1205286245_Toc1205286235_Toc1205286225_Toc1205286215 _Toc1205286205_Toc1205286195_Toc1205286185_Toc1205286175_Toc1205286165_Toc1205286155_Toc1205286145_Toc1205286135_Toc1205286125_Toc1205286115_Toc1205286105_Toc1205286095_Toc1205286085_Toc1205286075_Toc1205286065_Toc1205286055_Toc1205286045_Toc1205286035_Toc1205286025_Toc1205286015_Toc1205286006_Toc1205285996_Toc1205285986_Toc1205285976z_Toc1205285966t_Toc1205285956n_Toc1205285946h_Toc1205285936b_Toc1205285926\_Toc1205285916V_Toc1205285906P_Toc1205285896J_Toc1205285886D_Toc1205285876>_Toc12052858668_Toc12052858562_Toc1205285846)_Toc1205285836#_Toc1205285826_Toc1205285816_Toc1205285806_Toc1205285796 _Toc1205285786_Toc1205285776_Toc1205285766_Toc1205285756_Toc1205285746_Toc1205285736_Toc1205285726_Toc1205285716_Toc1205285706_Toc1205285696_Toc1205285686_Toc1205285676_Toc1205285666_Toc1205285656_Toc1205285646_Toc1205285636_Toc1205285626_Toc1205285616_Toc1205285606_Toc1205285596_Toc1205285586_Toc1205285576_Toc1205285566_Toc1205285556_Toc1205285546~_Toc1205285536x_Toc1205285526r_Toc1205285516l_Toc1205285506f_Toc1205285496`_Toc1205285486Z_Toc1205285476T_Toc1205285466N_Toc1205285456K_Toc1205285446E_Toc1205285436?_Toc12052854269_Toc12052854163_Toc1205285406-_Toc1205285396'_Toc1205285386!_Toc1205285376_Toc1205285366_Toc1205285356_Toc1205285346 _Toc1205285336_Toc1205285326_Toc1205285316_Toc1205285306_Toc1205285296_Toc1205285286_Toc1205285276_Toc1205285266_Toc1205285256_Toc1205285246_Toc1205285236_Toc1205285226_Toc1205285216_Toc1205285206_Toc1205285196_Toc1205285186_Toc1205285176_Toc1205285166_Toc1205285156_Toc1205285146_Toc1205285136_Toc1205285126_Toc1205285116_Toc1205285106_Toc1205285096|_Toc1205285086v_Toc1205285076p_Toc1205285066j_Toc1205285056d_Toc1205285046^_Toc1205285036X_Toc1205285026R_Toc1205285016L_Toc1205285007F_Toc1205284997@_Toc1205284987:_Toc12052849774_Toc1205284967._Toc1205284957(_Toc1205284947"_Toc1205284937_Toc1205284927_Toc1205284917_Toc1205284907 _Toc1205284897_Toc1205284887_Toc1205284877_Toc1205284867_Toc1205284857_Toc1205284847_Toc1205284837_Toc1205284827_Toc1205284817_Toc1205284807_Toc1205284797_Toc1205284787_Toc1205284777_Toc1205284767_Toc1205284757_Toc1205284747_Toc1205284737_Toc1205284727_Toc1205284717_Toc1205284707_Toc1205284697_Toc1205284687_Toc1205284677_Toc1205284667_Toc1205284657z_Toc1205284647t_Toc1205284637n_Toc1205284627h_Toc1205284617b_Toc1205284607__Toc1205284597Y_Toc1205284587S_Toc1205284577M_Toc1205284567G_Toc1205284557D_Toc1205284547>_Toc12052845378_Toc12052845272_Toc1205284517,_Toc1205284507&_Toc1205284497 _Toc1205284477_Toc1205284467_Toc1205284457_Toc1205284447_Toc1205284437_Toc120528442Z6..\..\..\..\Desktop\main.pct  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789ZRoot Entry F Q\Data  1Table JWordDocumentQ SummaryInformation(DocumentSummaryInformation8`CCompObjjObjectPool Q Q  FMicrosoft Word Document MSWordDocWord.Document.89q