From ab6faec96e0c06da1a3dc2eb8eeb3cdfc1a4528f Mon Sep 17 00:00:00 2001 From: couturie Date: Sat, 1 Dec 2012 09:13:15 +0100 Subject: [PATCH 1/1] ch8 --- BookGPU/BookGPU.tex | 6 + BookGPU/Chapters/chapter14/ch14.tex | 2 - BookGPU/Chapters/chapter8/biblio8.bib | 158 + BookGPU/Chapters/chapter8/ch8.tex | 862 +++ .../figures/Diagram1-eps-converted-to.pdf | Bin 0 -> 34078 bytes .../Chapters/chapter8/figures/Diagram1.eps | 3745 ++++++++++++ .../figures/FlowShop-eps-converted-to.pdf | Bin 0 -> 4796 bytes .../Chapters/chapter8/figures/FlowShop.eps | 205 + .../figures/approach-eps-converted-to.pdf | Bin 0 -> 67917 bytes .../Chapters/chapter8/figures/approach.eps | 5442 +++++++++++++++++ .../johnson_with_lags-eps-converted-to.pdf | Bin 0 -> 7406 bytes .../chapter8/figures/johnson_with_lags.eps | 550 ++ .../parallel_bounding-eps-converted-to.pdf | Bin 0 -> 19745 bytes .../chapter8/figures/parallel_bounding.eps | 1160 ++++ .../parallel_exploration-eps-converted-to.pdf | Bin 0 -> 25854 bytes .../chapter8/figures/parallel_exploration.eps | 1583 +++++ BookGPU/Makefile | 2 +- BookGPU/algorithm.sty | 79 + BookGPU/algorithm2e.sty | 2637 ++++++++ BookGPU/algorithmicx.sty | 786 +++ 20 files changed, 17214 insertions(+), 3 deletions(-) create mode 100644 BookGPU/Chapters/chapter8/biblio8.bib create mode 100644 BookGPU/Chapters/chapter8/ch8.tex create mode 100644 BookGPU/Chapters/chapter8/figures/Diagram1-eps-converted-to.pdf create mode 100644 BookGPU/Chapters/chapter8/figures/Diagram1.eps create mode 100644 BookGPU/Chapters/chapter8/figures/FlowShop-eps-converted-to.pdf create mode 100644 BookGPU/Chapters/chapter8/figures/FlowShop.eps create mode 100644 BookGPU/Chapters/chapter8/figures/approach-eps-converted-to.pdf create mode 100644 BookGPU/Chapters/chapter8/figures/approach.eps create mode 100644 BookGPU/Chapters/chapter8/figures/johnson_with_lags-eps-converted-to.pdf create mode 100644 BookGPU/Chapters/chapter8/figures/johnson_with_lags.eps create mode 100644 BookGPU/Chapters/chapter8/figures/parallel_bounding-eps-converted-to.pdf create mode 100644 BookGPU/Chapters/chapter8/figures/parallel_bounding.eps create mode 100644 BookGPU/Chapters/chapter8/figures/parallel_exploration-eps-converted-to.pdf create mode 100644 BookGPU/Chapters/chapter8/figures/parallel_exploration.eps create mode 100644 BookGPU/algorithm.sty create mode 100644 BookGPU/algorithm2e.sty create mode 100644 BookGPU/algorithmicx.sty diff --git a/BookGPU/BookGPU.tex b/BookGPU/BookGPU.tex index a06c9c9..e2a1c03 100755 --- a/BookGPU/BookGPU.tex +++ b/BookGPU/BookGPU.tex @@ -13,6 +13,11 @@ \usepackage[sectionbib]{bibunits} \usepackage{multicol} \usepackage{cite} +\usepackage{algorithm} +\usepackage{algorithmicx} +\usepackage[lined,boxed,commentsnumbered]{algorithm2e} +\usepackage{epstopdf} + \frenchspacing \tolerance=5000 @@ -106,6 +111,7 @@ \part{This is a Part} \include{Chapters/chapter1/ch1} \include{Chapters/chapter2/ch2} +\include{Chapters/chapter8/ch8} \include{Chapters/chapter11/ch11} \include{Chapters/chapter14/ch14} diff --git a/BookGPU/Chapters/chapter14/ch14.tex b/BookGPU/Chapters/chapter14/ch14.tex index 38f7f6f..916717d 100755 --- a/BookGPU/Chapters/chapter14/ch14.tex +++ b/BookGPU/Chapters/chapter14/ch14.tex @@ -1161,8 +1161,6 @@ dispersions, -% that's all folks -\end{document} diff --git a/BookGPU/Chapters/chapter8/biblio8.bib b/BookGPU/Chapters/chapter8/biblio8.bib new file mode 100644 index 0000000..78424f2 --- /dev/null +++ b/BookGPU/Chapters/chapter8/biblio8.bib @@ -0,0 +1,158 @@ +@ARTICLE{ch8:Allen_1997, + author = "R. Allen and L. Cinque and S. Tanimoto and L. Shapiro and D. Yasuda.", + title = "A parallel algorithm for graph matching and its MasPar implementation", + journal = "IEEE Transactions on Parallel and Distributed Systems", + volume = "8", + year = "1997" + } + +@InProceedings{ch8:Carneiro_2011, + author = {T. Carneiro and A. Einstein Muritibab and M. Negreirosc and G. Augusto Lima de Campos}, + title = {A New Parallel Schema for Branch-and-Bound Algorithms Using GPGPU}, + booktitle = {23rd International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD)}, + year = {2011} +} + +@ARTICLE{ch8:Casadoa_2008, + author = "L.G. Casadoa and J.A. Martíneza and I. Garcíaa and E.M.T. Hendrixb.", + title = "Branch-and-Bound interval global optimization on shared memory multiprocessors", + journal = "Optimization Methods and Software", + volume = "23, No.5", + pages = "689-701", + year = "2008" + } + +@InProceedings{ch8:Fung, + author = {W. Fung and I. Sham and G. Yuan and T. Aamodt}, + title = {Dynamic warp formation and scheduling for efficient gpu control flow}, + booktitle = {{In MICRO '07: Proceedings of the 40th Annual IEEE/ACM International Symposium on Micro-architecture}}, + year = {2007}, + pages = {407-420}, + publisher = {Washington, DC, USA} +} + +@Article{ch8:Garey_1976, + author = {M.R. Garey and D.S. Johnson and R. Sethi}, + title = {{The complexity of flow-shop and job-shop scheduling}}, + journal = {Mathematics of Operations Research}, + year = {1976}, + volume = {1}, + number = {}, + pages = {117--129} +} + +@Article{ch8:Gendron_1994, + author = {B. Gendron and T.G. Crainic}, + title = {Parallel {B}ranch and {B}ound {A}lgorithms: {S}urvey and {S}ynthesis}, + journal = {Operations Research}, + year = {1994}, + volume = {42}, + number = {}, + pages = {1042--1066} +} + +@InProceedings{ch8:Han, + author = {T. Han and T.S. Abdelrahman}, + title = {Reducing branch divergence in GPU programs}, + booktitle = {{In Proceedings of the Fourth Workshop on General Purpose Processing on Graphics Processing Units (GPGPU-4), ACM}}, + year = {2011}, + publisher = {New York, USA} +} + +@Article{ch8:Johnson_1954, + author = {S.M. Johnson}, + title = {{Optimal two and three-stage production schedules with setup times included}}, + journal = {Naval Research Logistis Quarterly}, + year = {1954}, + volume = {1}, + number = {}, + pages = {61--68} +} + +@ARTICLE{ch8:Kurzak_2010, + author = "J. Kurzak and D. A. Bader and J. Dongarra.", + title = "Scientific Computing with Multicore and Accelerators", + journal = "Chapman \& Hall / CRC Press", + year = "2010" + } + +@Article{ch8:Lenstra_1978, + author = {J.K. Lenstra and B.J. Lageweg and A.H.G. Rinnooy Kan}, + title = {{A General bounding scheme for the permutation flow-shop problem}}, + journal = {Operations Research}, + year = {1978}, + volume = {26}, + number = {1}, + pages = {53--67} +} + +@MISC{ch8:MelabHDR_2005, +AUTHOR = "N. Melab", +TITLE = "Contributions \`a la r\'esolution de probl\`emes d'optimisation combinatoire sur grilles de calcul", +HOWPUBLISHED = "LIFL, USTL", +MONTH = "Novembre", +year = "2005", +NOTE = "Th\`ese HDR" +} + +@ARTICLE{ch8:Taillard_1993, + AUTHOR ="E. Taillard", + TITLE ="Benchmarks for basic scheduling problems", + JOURNAL ="Journal of Operational Research", + YEAR ="1993", + VOLUME ="64", + NUMBER ="", + PAGES ="278--285", + MONTH ="", + NOTE ="" +} + +@ARTICLE{ch8:JRJackson_1956, + AUTHOR ="J.R.Jackson", + TITLE ="An Extension of Johnson's results on Job-Lot Scheduling", + JOURNAL ="Naval Research Logistis Quarterly", + YEAR ="1956", + NOTE ="3:3" +} + +@ARTICLE{ch8:LGMitten_1959, + AUTHOR ="L.G.Mitten", + TITLE ="Sequencing n jobs on two machines with arbitrary time lags", + JOURNAL ="Management Science", + YEAR ="1959" +} + +@InProceedings{ch8:Mezmaz_2007, + author = {M. Mezmaz and N. Melab and E-G. Talbi.}, + title = {A grid-enabled branch and bound algorithm for solving challenging combinatorial optimization problems}, + booktitle = {{In Proc. of 21th IEEE Intl. Parallel and Distributed Processing Symp. (IPDPS)}}, + year = {2007}, + month = {March}, + publisher = {Long Beach, California} +} + +@ARTICLE{ch8:Quinn_1990, + author = "M. J. Quinn.", + title = "Analysis and implementation of branch-and-bound algorithms on a hypercube multicomputer", + journal = "IEEE transactions on computers", + volume = "39, No3", + pages = "384-387", + year = "1990" + } + +@InProceedings{ch8:Zhang, + author = {E.Z. Zhang and Y. Jiang and Z. Guo and X. Shen}, + title = {Streamlining GPU applications on the fly: thread divergence elimination through runtime thread-data remapping}, + booktitle = {{In Proceedings of the 24th ACM International Conference on Supercomputing (ICS'10), ACM.}}, + year = {2010}, + pages = {115-126}, + publisher = {New York, NY, USA} +} + +@misc{ch8:cuda, + author = {{NVIDIA Corporation}}, + keywords = {CUDA}, + note = {Version 4.0}, + title = {{NVIDIA CUDA C} Programming Guide}, + year = 2011 +} diff --git a/BookGPU/Chapters/chapter8/ch8.tex b/BookGPU/Chapters/chapter8/ch8.tex new file mode 100644 index 0000000..a4aaac3 --- /dev/null +++ b/BookGPU/Chapters/chapter8/ch8.tex @@ -0,0 +1,862 @@ + +\chapterauthor{Imen Chakroun}{Universit\'e Lille 1 CNRS/LIFL, INRIA Lille Nord Europe, Cit\'e scientifique - 59655, Villeneuve d'Ascq cedex, France\\} +\chapterauthor{Nouredine Melab}{Universit\'e Lille 1 CNRS/LIFL, INRIA Lille Nord Europe, Cit\'e scientifique - 59655, Villeneuve d'Ascq cedex, France\\} + +\chapter{GPU-accelerated Tree-based Exact Optimization Methods} + +\section{Introduction} +\label{ch8:introduction} + +In practice, a wide range of problems can be modeled as NP-hard combinatorial optimization problems (COPs). Those problems consist in choosing the best combination out of a large finite set of possible combinations and are known to be large in size and difficult to solve to optimality. One of the most popular methods for solving exactly a COP (finding a solution having the optimal cost), is the Branch-and-Bound (B\&B) algorithm. This algorithm is based on an implicit enumeration of all the feasible solutions of the tackled problem. Enumerating the solutions of a problem consists in building a dynamically generated search tree whose nodes are subsets of solutions of the considered problem. The construction of such tree and its exploration is performed using four operators: branching, bounding, selection and pruning. Due to the exponentially increasing number of potential solutions, the B\&B algorithm explores only promising nodes of the search tree using an estimated optimal solution called ``lower bound'' of the associated sub-problem. + +\vspace{0.3cm} + +Although this bounding mechanism allows to considerably reduce the exploration time, often only small or moderately-sized instances of COPs can be practically solved. For this reason, over the last decades, parallel computing has been revealed as an attractive way to deal with larger instances of COPs. However, while many contributions have been proposed for parallel B\&B methods using Massively Parallel Processors \cite{ch8:Allen_1997}, Networks or Clusters of Workstations \cite{ch8:Quinn_1990} and SMP machines \cite{ch8:Casadoa_2008}, very few contributions have been proposed for redesigning B\&B algorithms on Graphical Processing Units (GPUs) \cite{ch8:Carneiro_2011}. For years, the use of GPU accelerators was limited to graphics and video applications. Driven by the demand for high-definition 3D graphics on personal computers, GPUs have evolved into a highly parallel, multi-threaded and many-core environment. Their utilization has recently been extended to other application domains such as scientific computing \cite{ch8:Kurzak_2010}. + +\vspace{0.3cm} + +In this work, we rethink the design and implementation of irregular tree-based algorithms such as B\&B algorithm on top of GPUs. During the execution of the B\&B algorithm, the number of new generated nodes and the number of not yet explored but promising nodes are variable and depend on the level of the tree being explored and on the best solution found so far. Therefore, due to such unstructured and unpredictable nature of its search tree, designing efficient B\&B on top of GPUs is not straightforward. We investigate two different approaches for designing GPU-based B\&B starting from the parallel models for B\&B identified in \cite{ch8:MelabHDR_2005}. The first one is based on the ``parallel tree exploration'' paradigm. This approach consists in exploring in parallel different sub-spaces of the tree. The second approach is based on the ``parallel evaluation of bounds'' approach. The two approaches have been applied to the permutation \index{Flowshop Scheduling Problem} (FSP)(see Section~\ref{ch8:BB-FSP}) which is an NP-hard combinatorial optimization problem. The lower bound function used in this work for FSP is the one proposed in~\cite{ch8:Johnson_1954} for two machines and generalized in~\cite{ch8:Lenstra_1978} to more than two machines. + +\vspace{0.3cm} + +When rethinking those two parallel model for GPU's architectures, our main focus was on the lower bound function. Indeed, preliminary experiments we carried out on some Taillard's problem instances \cite{ch8:Taillard_1993} show that computing the lower bounds takes on average between 98\% and 99\% of the total execution time of the B\&B. The GPU-based lower bound's implementation raises mainly two challenges. On the one hand, having in mind that the execution model of GPUs is SIMD, irregular computations (containing loops and conditional instructions) contained in the lower bound function may lead to a very challenging issue: the thread or branch divergence. This problem drops down the performance and arises when threads of a same warp (the smallest executable unit of parallelism on the GPU) execute different data-dependent instructions. On the other hand, the lower bound computation usually uses large in size and frequently accessed data structures. Since GPU is a many-core co-processor device that provides a hierarchy of memories having different sizes and access latencies, the placement and sharing of these data sets become challenging. + +\vspace{0.3cm} + +The scope of this chapter is to design parallel B\&B algorithms on GPU accelerators to allow highly efficient solving of permutation-based COPs. To do so, our contributions consist in: (1) rethinking two approaches for parallel B\&B on top of GPUs, discussing the performances of each and identifying which best suits the GPU accelerators. (2) proposing a new approach for thread/branch divergence reduction through a thorough analysis of the different loops and conditional instructions of the bounding function. (2) defining an optimal mapping of the data structures of the bounding function on the hierarchy of memories provided in the GPU device through a careful analysis of both the data structures (size and access frequency) and the GPU memories (size and access latency). + +\vspace{0.3cm} + +The chapter is organized in seven main sections. Section \ref{ch8:BB} presents the B\&B algorithm. Section \ref{ch8:Parallel-BB} introduces the different models used to parallelize B\&B algorithms. Section \ref{ch8:BB-FSP} briefly describes the Flowshop Scheduling permutation Problem. In Section~\ref{ch8:approach1}, we describe the GPU-accelerated B\&B based on the parallel tree exploration. In Section~\ref{ch8:approach2}, details about the second approach, the GPU-accelerated B\&B based on the parallel evaluation of lower bounds, are given. In Section \ref{ch8:ThreadDivergence}, the thread divergence issue related to the location of nodes in the B\&B tree and to the control flow instructions within the bounding operator is described. In Section \ref{ch8:DataAccessOpt}, the memory access optimization challenge is addressed and an overview of the GPU memory hierarchy and the used memory access pattern is given. In Section~\ref{ch8:Experiments}, we report experimental results showing the performances of each of two studied approaches compared to a sequential CPU-based execution of the B\&B and demonstrating the efficiency of the proposed optimizations. + +\section{\index{Branch-and-Bound} algorithm} +\label{ch8:BB} + +Branch-and-bound algorithms are by far the most widely used methods for exactly solving large scale NP-hard combinatorial optimization problems. Indeed, they allow to find the optimal solution of a problem with proof of optimality. + +\vspace{0.3cm} + +The basic idea of the B\&B algorithm consists in implicitly enumerating all the solutions of the original problem by only examining a subset of feasible solutions and eliminating the others when they are not likely to lead to a feasible or an optimal solution. Enumerating the solutions of a problem consists in building a dynamically generated search tree whose nodes are subsets of solutions of the considered problem. The construction of such tree and its exploration are performed using four operators: branching, bounding, selection and pruning. + +\vspace{0.3cm} + +The algorithm proceeds in several iterations during which the best solution found so far is progressively improved. During the exploration process, the search space is described by a pool of unexplored nodes and the best solution found so far. The generated and not yet examined (pending) nodes are kept into a list initialized with the original problem. At each iteration of the algorithm, the following steps are performed: + +\begin{itemize} + \item The {\it selection operator} chooses one node to process among the pending nodes according to a defined strategy. If the selection is based on the depth of the sub-problem in the B\&B tree, we speak about a depth-first exploration strategy. A selection based on the breadth of the sub-problem is called a breadth-first exploration. A best-first selection strategy could also be used. It is based on the presumed capacity of the node to yield good solutions. + \item The {\it branching operator} subdivides a solution space into two or more disjointed sub-spaces to be investigated in a subsequent iteration. + \item The {\it bounding operator} computes a bound value of the optimal solution of each generated sub-problem. + \item Each sub-problem having a greater bound than the upper-bound, i.e. the cost of the best solution found so far, is eliminated using the {\it pruning operator}. +\end{itemize} + +Algorithm \ref{ch8:algoBB} gives the general template of the Branch-and-Bound method. + +\begin{algorithm}[H] + +\SetAlgoLined + +\vspace{0.2cm} + +Create the initial problem; \\ +Inset the initial problem into the tree; \\ +Set the Upper\_Bound to $\propto$; \\ +Set the Best\_Solution to $\emptyset$; \\ + +\While{ not\_empty\_tree() } +{ + \vspace{0.2cm} + + Sub\_Problem = Take\_sub\_problem(); + + \If{ Is\_leaf ( Sub\_Problem ) } + { + Upper\_Bound = Cost\_Of( Sub\_Problem );\\ + Best\_Solution = Sub\_Problem; + } + \Else + { + Lower\_Bound = compute\_lower\_bound(Sub\_Problem); + + \If{ Lower\_Bound $\leq$ Upper\_Bound } + { + Branch(Sub\_Problem); \\ + Insert child sub problems into the tree; + } + \Else + { + Prune (Sub\_Problem); + } + } +} + +\caption{General template of the Branch-and-Bound Algorithm.} +\label{ch8:algoBB} +\end{algorithm} + +\section{Parallel Branch-and-Bound algorithms} +\label{ch8:Parallel-BB} + +Thanks to the bounding operator, B\&B allows to significantly reduce the computing time needed to explore the whole solution space. However, finding an optimal solution for large instances remains unpractical using a sequential B\&B. Therefore, parallel processing of these algorithms has been widely studied in the literature. In \cite{ch8:MelabHDR_2005}, a taxonomy of the various existing parallel paradigm used to parallelize the B\&B algorithm is presented. + +\vspace{0.2cm} + +This taxonomy based on the classification proposed in \cite{ch8:Gendron_1994} identified several models to accelerate the B\&B search. The first model we consider in this chapter is called ``parallel tree exploration model'' and belongs to the ``Tree-based'' strategies that aim to build and explore the B\&B tree in parallel. The second model called ``parallel evaluation of bounds model'' (evaluation of bounds in parallel) belong to the parallelization approach called ``Node-based''. This strategy aims to accelerate the execution of a particular operation at the node level. + +\vspace{0.2cm} + +\subsection{The parallel tree exploration model} +\label{ch8:para_tree} + +Tree-based strategies consist in building and/or exploring the solution tree in parallel by performing operations on several sub-problems simultaneously. This coarse-grained type of parallelism affects the general structure of the B\&B algorithm and makes it highly irregular.\\ + +The \index{parallel tree exploration} model, illustrated in Figure \ref{ch8:parallel_tree}, consists in visiting in parallel different paths of the same tree. The search tree is explored in parallel by performing the branching, selection, bounding and elimination operators on several sub-problems simultaneously.\\ + +\begin{figure} + \begin{center} +\includegraphics[scale=0.5]{Chapters/chapter8/figures/parallel_exploration.eps}% + +\caption{Illustration of the parallel tree exploration model} +\label{ch8:parallel_tree} + \end{center} +\end{figure} + +\subsection{The parallel evaluation of bounds model} +\label{ch8:Node_parallel} + +Node-based strategies introduce parallelism when performing the operations on a single problem. For instance, they consist in executing the bounding operation in parallel for each sub-problem to accelerate the execution. This type of parallelism has no influence on the general structure of the B\&B algorithm and is particular to the problem being solved.\\ + +The \index{parallel evaluation of bounds} model, as shown in Figure \ref{ch8:bounds_parallel}, allows the parallelization of the bounding of sub-problems generated by the branching operator. This model is used in the case where the bounding operator is performed several times after the branching operator. The model does not change the order and the number of explored sub-problems in the parallel B\&B algorithm compared to the sequential B\&B. + +\begin{figure} + \begin{center} +\includegraphics[scale=0.5]{Chapters/chapter8/figures/parallel_bounding.eps}% + +\caption{Illustration of the parallel evaluation of bounds model} +\label{ch8:bounds_parallel} + \end{center} +\end{figure} + +\section{The Flowshop Scheduling Problem} +\label{ch8:BB-FSP} + +\subsection{Definition of the Flowshop Scheduling Problem} +\label{ch8:LB-FSP} + +As a case study for our GPU-based Branch-and-Bound, we considered the NP-hard and well-known problem in the scheduling theory: the "Permutation Flow-shop Scheduling Problem" (FSP). +In this work, the mono-objective case is considered. The FSP aims to find the optimal schedule of n jobs on m machines so that the overall completion time of all jobs, called {\it makespan}, is minimized. + +\vspace{0.3cm} + +Let us suppose the set of jobs is represented by J = {$j_1$, $j_2$, . . . $j_n$} and the set of machines is represented by M = {$m_1$,$m_2$, . . .$m_m$} organized +in the line. Each job $j_i$ is a sequence of operations ji = { $oi_1$, $oi_2$, . . . $oi_m$ } where oim is the duration required for the job ji on the machine m. +A feasible solution of the flowshop permutation should satisfy these constraints: + +\begin{itemize} + \item A machine can not start processing a job if all the machines, which are located upstream, did not finish their treatment. Thus, the operation $oi_j$ cannot be processed by the machine $m_j$ if it is not completed on $m_j$ - 1. +\item An operation can not be interrupted, and the machines are critical resources, because a machine processes one job at a time. +\item The sequence of jobs should be the same on every machine, e.g. if j3 is treated in position 2 on the first machine, j3 is also executed in position 2 on all machines. +\end{itemize} + +Figure~\ref{flow-shop} illustrates a solution of a flow-shop problem instance defined by 6 jobs and 3 machines. + +\begin{figure}[h!] +\centering +\includegraphics[height=1.7cm,width=6.8cm]{Chapters/chapter8/figures/FlowShop.eps} +\caption{Flow-shop problem instance with 3 jobs and 6 machines.} +\label{flow-shop} +\end{figure} + +\vspace{0.3cm} + +\subsection{\index{Lower Bound} for the Flowshop Scheduling Problem} +\label{ch8:LB-FSP} + +The lower bounding technique provides a lower bound (LB) for each sub-problem generated by the branching operator. The more the bound is accurate, the more it allows to eliminate not promising nodes from the search tree. Therefore, the efficiency of a B\&B algorithm depends strongly on the quality of its lower bound function. In this chapter, we use the lower bound proposed by Lenstra {\it et al.}~\cite{ch8:Lenstra_1978} for FSP, based on the Johnson's algorithm~\cite{ch8:Johnson_1954}. + +\vspace{0.2cm} + +The Johnson's algorithm allows to solve optimally FSP with two machines ($m=2$) using the following transitive rule $\preceq$: + +$$J_i \preceq J_j \Leftrightarrow \min(p_{i,1}\ ;\ p_{j,2}) \leq +\min(p_{i,2}\ ;\ p_{j,1})$$ + +We recall that $p_{k,l}$ designates the processing time of the job $J_k$ on the machine $M_l$. From the above rule, it follows the Johnson's theorem: \\ + +\textbf{Jonhson's theorem} \emph{Given $P$ an FSP with $m=2$, if $J_i\preceq J_j$ there exists an optimal schedule for $P$ in which the job $J_i$ precedes the job $J_j$.}\\ + +According to Johnson's theorem, FSP with $m=2$ is solved with a time complexity of $O(n.log n)$. The optimal solution is obtained by first sorting in increasing order the jobs having a +processing time shorter on the first machine than on the second one~; Second, sorting in decreasing order the jobs having a shorter processing time on the second machine. + +\vspace{0.2cm} + +In~\cite{ch8:JRJackson_1956} and~\cite{ch8:LGMitten_1959}, the Johnson's rule has been extended by Jackson and Mitten with lags which allowed further Lenstra {\it et al.} to propose a lower bound for FSP with $m \geq 3$. A lag~$l_j$ designates the minimum duration between the starting time of the job $J_j$ on the second machine and its finishing time on the first machine. Jackson and Mitten demonstrated that the optimal solution for FSP with $m=2$ can be obtained using the following transitive rule $\preceq$: + +$$J_i \preceq J_j \Leftrightarrow \min(p_{i,1}+l_i\ ;\ l_j+p_{j,2}) +\leq \min(l_i+p_{i,2}\ ;\ p_{j,1}+l_j)$$ + +Based on this rule, Lenstra {\it et al.}~\cite{ch8:Lenstra_1978} have proposed the following lower bound for a sub-problem associated to a partial schedule where a set {\Large $\jmath$} of jobs have to be scheduled on $m$ machines. $P_{Ja}^*(\jmath,M_k,M_l)$ represents the Jackson-Mitten optimal solution for the sub-problem that consists in scheduling the set {\Large $\jmath$} of jobs on the two machines $M_k$ and~$M_l$. The term $r_{i,k} = \sum_{ll} p_{j,k}$ refers to the latency between the finishing time of $J_j$ on $M_l$ and the finishing time of the schedule. + +$$LB(\jmath)=\max\limits_{1 \leq k < l \leq m}\{P_{Ja}^*(\jmath,M_k,M_l)+\min\limits_{(i,j)\in \jmath^2, i \neq +j}(r_{i,k}+q_{j,l}) \}$$ + +According to this $LB$ expression, the lower bound for the scheduling of a subset {\Large $\jmath$} of jobs is calculated by applying the Johnson's rule with lags considering all the couples +$(k,l)$ for $1 \leq k,l \leq m$ and $k y) a = b[1];~~~ \Rightarrow if (x - y \geq 1) a = b[1];}\\\\ + \Rightarrow &\multicolumn{6}{l}{if (x - y - 1 \geq 0)}& a = b[1];~~~~~ (x, y) \in N\\\\ + \Rightarrow &\multicolumn{4}{l}{a = f(x, y) \times b[1] + g(x,y) \times a;}\\\\ + &\multicolumn{6}{l}{\emph{where:}}\\ + &&\multicolumn{6}{l}{ f(x,y)=\left\{ + \begin{array}{lll} + 1 & if &x - y - 1 \geq 0\\ + 0 &if&x - y - 1 < 0\\ + \end{array} + \right.}\\ + &\multicolumn{6}{l}{\emph{and}}\\ + &&\multicolumn{6}{l}{g(x,y)=\left\{ + \begin{array}{llll} + 0 & if &x - y - 1 \geq 0\\ + 1 &if&x - y - 1 < 0 & \\ + \end{array} + \right.}\\\\ +\end{array} +\label{ch8:Eq2} +\end{equation} + +\vspace{0.3cm} + +For instance, the following example extracted from the pseudo-code of the lower bound $LB$ illustrates such scenario. + +\vspace{0.3cm} + +\footnotesize +\begin{tabular}{ll} +\\ +\multicolumn{2}{l}{\textsf{if(RM[1]] $>$ MIN )}\{} \textsf{Best\_idx = Current\_idx;} \textsf{\}}\\\\ +\end{tabular} +\normalsize + +\vspace{0.3cm} + +The same transformations as those applied for the first scenario are applied here using the exponential function. Recall that the exponential is a positive function which is equal to $1$ when applied to $0$. Thus, if $x$ is greater than $y$ then $expf(x-y-1)$ returns a value between $0$ and $1$. If the result is rounded to an integer value $0$ will be obtained. Now, if $x$ is less than $y$ then $expf(x-y-1)$ returns a value greater than $1$ and since the minimum between $1$ and the exponential is get, the returned result would be $1$. Such behavior satisfies exactly our prerequisites. The above ``if" instruction pseudo-code is now equivalent to: + +\vspace{0.3cm} + +\small +\begin{tabular}{l} +\\ +\textsf{int coeff = min(1, \_\_expf(RM[1] - MIN - 1)); }\\ +\textsf{Best\_idx = coeff $\times$ Current\_idx + ( 1 - coeff ) $\times$ Best\_idx ;}\\ +\end{tabular} +\normalsize + +\section{Memory access optimization} +\label{ch8:DataAccessOpt} + +\index{Memory access optimizations} are by far the most studied area for improving GPU-based application performances. Indeed, adjusting the pattern of accesses to the GPU device memory grants programmers to further improve the throughput of many high-performance CUDA applications. The goal of memory access optimizations is generally to use as much fast memory and as little slow-access memory as possible. This section discusses how best to set up data LB items on the various kinds of memory on the device. + +\vspace{0.2cm} + +CUDA enabled devices use several memory spaces, which have different characteristics in term of sizes and access latencies. These memory spaces include global memory, local memory , shared memory, texture memory , and registers. Devices of compute capability 2.0 have also an L1 $/$ L2 cache hierarchy that is used to cache local and global memory accesses. + +\begin{itemize} +\item At the thread-level, each thread has its own allocated registers and a private local memory. CUDA uses this local memory for thread-private variables that do not fit in the threads registers, as well as for stack frames and register spilling. \item At the thread block-level, each thread block has a shared memory visible to all its associated threads. \item At the grid-level, all threads have access to the same global memory. Texture and constant cached memories are two other memories accessible by all threads. +\end{itemize} + +The data access optimization challenge is to find the best mapping of the data structures of the application at hand (different sizes and access frequencies) and the GPU hierarchy of memories (different sizes and access latencies). For instance, of these different memory spaces, global memory is the most plentiful but the one with the highest access latency. On the contrary, shared memory is smaller in size but has much higher bandwidth and lower latency than the global memory. + +\subsection{Complexity analysis of the memory usage of the Lower Bound } +\label{ch8:MemComplex} + +In this section, the characteristics of the data structures used by the lower bound function are studied in terms of sizes and access frequencies. For an efficient implementation of the LB, six data structures are required: the matrix $PTM$ of the processing times of the jobs, the matrix of lags $LM$, the Johnson's matrix $JM$, the matrix $RM$ of the earliest starting times of jobs, the matrix $QM$ of their lowest latency times and the matrix $MM$ containing the couples of machines. The complexities of the different data structures are summarized in Table~\ref{ch8:tabMemComplex} where the columns represent respectively the name of the data structure, its size and the number of times it is accessed. + +\vspace{0.2cm} + +In the $LB$ expression, the computation of the term $P_{Ja}^*(\jmath,M_k,M_l)$ requires the calculation of the lag of each remaining job to be scheduled on the couple $(M_k,M_l)$ of machines using its processing times on these machines (Johnson's rule with lags). Such computation is repeated for each couple $(M_k,M_l)$ of machines with $1 \leq k,l \leq m$ and $kqLM|cZ@J+6u^{yqP^iit#2zV`{e=(0YuFIIf!8SjKmW#A{jIyj6ZY-E z?1|MmKF8dxwDLLA$JeeUVzUWrD*HzcBCXHSS$)mV-ahIo`7^Iw{k?(IYQ+fZ*ma+> zA^-Zff2=9Y;`tnV(sg{i|7Q<6k5oSs)^=0RwL1zxEBj>kkK9W|^R@2181*B!(m&UT z@}>#3tk0BBjndZVJPlY;9qj5>9(mJ+_7Pvtr(@}(eJk$|d<0&@N9ZlQPJuVUUpOo5 z<=;B5GJ5`8JmK}TVqyWoy|B+~>9c)e)MMXF^P{x6K1+)7zGwEy_^jpBsHyFHC%(6$ zb%6Q;jQV^QRJYIPKJzJ^4y?RCun~9#AD}nzZ3;lczj9iC?SB1C@^?qiXWkvJjko!g z;+NLR#MHUlOp~?uC^rS3bAqe+djGsM;QuD=YY%uBz5iz#`gsDm?}NA5;{9R5oq`$U zw(rM=#VHTk*tOc){Ux-v?+~>A{#_nV`7F4VR{l&H`9IXse}7SpwWq!JtBiet@BRF9 zAU!?kXr%JF_7z!LUf@ytUY|Km`S-5|6q*N8_vOC{U$hWq>*M#YfXrv^RgVU+Et^q^ zF0B0fR}8`+F-SG=eHNe+f9uS!r+@R@zVoqrZkvgGHd>c8_6OgHMc+5)uCRYZn_P;0 zLr(B(53b^|tG_pZu4mqWO&I#rnfr%Y`X4ZdNu*`dlC+oM&jIue*t|p913;T?AO3x{ zKYMweC~l^EZ9on{nvl@5e;q}&zN#!zD^Vj=N(j+{m(>MyWd_&`!e`lp-5Z#b3_)~ZW$4Om5MILv z=`Fm@LaNQba$?eM{#P00 zMaZ7PzWLjp@~XRxXMw!S`<60o5Y&LD-{pp6i_ z{E%VV>o~R$qdq6buzMnn)efAU*d(}1@n?{+iFi%gn}o(IxUj~(+42O2wfUgg)M>>m zwg6Ram=AVsL!kSESYKH9oSIWlUbIEvr0w^;>v`bA#Vk(2Qhdbdg$^gcCL@_XN`(NoQ6WIo*)o^He@42 z#W~si?VG6dLPXf*f~%?*9tRGKjT8)M@U~7E`Yty$xd+zoGKSUkg+Y>6OSB*`YauKMoB-MN!+wDpO?# z1Q6pgp&p`I48)?X2V*YW479irLR}c3Z_HiNieaa@x=q5*#sr?-J*x^Ly)mY+oJBVEF_VzFlC zhNH!5Xt~?yBE}E`K||&goodiMJI>+VZ3!<00j+Do%l*wFZRKfVn@f}wr)>9Hcq8n+ zeX5_HX9z+>2KnX(3#X+3`*M#mm*V=lZ$9;z>MwKY7Z2M=q>QMJr<RA)m-Jw2?I`0tsijbn~Xdj^jmZsu9;(aB^*MVH^;8OYtAS!x)^A6bynO=tX z28eI)>cP|Y4rxT__Ze(a~OazcNz`I=3afNW(nl{aC)KF>a){F^$GS`?A+5%3ydpsNjKY_F$tWT4*5oy;DU3 z262!|L8t>2?6e601Zt4}ffF(CR)o<#y9{n;jVNQ{`^qHcvlOl6fYS1-d*E{yd*c#l(n#e?x`zNZeFk#*Y;I;L8 z#YW?H*iyI33Hoo_JuB}IHgT8~X{-jg3m(wjQz;`o5rxFI~n5n~Y8D-{yu$ zL?(H@Q;ywn$lwxvumRlZU_SRQp^L)b6Uh=#W+USRNG4lI3f74u>px0xgBM<;r!$zF~<#;VzC@_*;UF@rFFD(B5;Bq=g4G)N!TlsqUa3E9J+ol%w z_^CT6m9`rW+2v$q61`MP*B7Ztu?p2fw%3J$4+`Hk3a*=yPZ@0R?E1nW6Z`TJE%ZTS zs^|jvA`2TIM3&^I{#=m$h+*82ij%t`Jde8!32PUr`rV_D z-P%SIVL^gww;MSvm>2$bl@}MPkgu>ZzQED1SB;J9t*MX1?HU@?=Jm;OY{=#?@P(}6 zw!BYPnFKnqOsQp0HJN?W{sKh`)w|Hh!jFw79n~R{@N*n8;X~v3#T~HE*dF3$q}4w6 zYL8_0D0A@_^$SsBZypb0vEAhbk(;EER94k1d!piEmnXQHf|n|e$jTQsI0RV1FDiL{ z5V^*E=|mr?+qn;u8wbi#st}ZiVy{`ALWi}Y%t@1IpBj5ryOH8W#mxh@nJBJR+85(& z!sv-EAZB3Doxt>Cu@V+oME<~wjNj6??RMXg( z`_SN&dAq<=vcb`D*UVyIoXr_Ii@(3mb}!q4s%n?_7A{(c#3zD$sShwa2H^l9G1Vd3 z@@!!dcmC#(g{Zyu}T~S-lsp#7`J4_ z27DGO-!m8F>p<{gwbHd1Z-7{ffBhgNX8&XLWVSNeW_3XcU zejqd;6VE>On-UdXOq$;kQN*D{jReLkpzDZm_=oZ){=h&n#MvvK6QzL}T zhFNda#>;XG^Y=J<`%|mqk`F>C8SJT%lbn38DRgZWimd zH(=CLu2RY13x^~r0?C{qJ@F}~~M5RmMT&DQ(9S3bYGbizYAN?Z;hKC~rI)Yvsr$u$} zE?1sj^zo>TOnvxtK|EE6=K`6mc2lsY(XZ|5DdM^=^~)G%(Oq}FVYom^Z6N01Y_ za3U~O*_}FZd4(cB8p({|#ypY1Z>SV{F25z`6QV0fp-;qY&i!@~W@>1WMf@3H1lBTq5 zIT|bN<@(4_<^Yne9B%-GFkL+Wof~zLJ_eFP+&wl%-&CK)*><02)Ub6R;`FmnL@lDY zFXhHOQVw5gASSP)*FEN_9ubj8#!CT!O#vu7cyDenNIU*QQ989!UBiTm({5i7OS1F* zT&@tSo_gQDMVh)(1A@TSR6YtvDIcXz%=ae%d-$xc@2k|Y(F3?lx;w=f zXtYQq(-@r|`792_@_9xLTZd@DR_f}*)-p!ni*JK`*$W;@pcn63Q6Cs2>jCPbM-Dj$ z&cAwxTwggvNBM3!4tGF|0X`qS0sNaiW<15Ubl*4*Ipe|evi9LS)t@TyRPfbuB(X<+m%C8?{-}|bvD~kUO9COfAicp zUW^OJ0M{;bKG6RFx%S0cc>~04Q>RFd-!^sWb&1zaT}C6~y5Z}xQw==cJ;TbPDtHGi zr_7b)>&~fBsy5lK8`=W&`@VtdonP2}6DVN!%{P?LTWb}sU7>fP-(*1Wj7E(?7O$60 z{NG2gB+*!VY5{^S^$W(F4|ms|LuLMQX7NBduPukpHjmQ)o~c^7yMUsY45*$mkFrp)r#YA?;xp7wHvRa{7U*i( zmeBk5CHAp>+XQ@pr`#rr+AFukAyvvQDDWxCz-NzY9I?WitFY%Lh)X1I+V#FUTFN?x zX?SkpeXTN|%%0D?!o%~0B2F;W!_e0hNDDf-O9!zeDx+e>u~a}m+}c>A%_%?j&T0_Q z=A~EFhs#=u-T{}iRM7bG^?5CkEQn#lpPRXqSthpFq&{`sp>wGB%ZRc+H}|VXN!oa< z#|Iz&I=h5tF4ryDLg&wGZ@~7ntB7|cy}1U2PcdI=fvkPcyx#b>*d>OJtP!vWsSxai zo0k{t8TdZ=@FW|F;;iZ+SzL!?m$qsEy>;1iy~5%VnOAbtwD@ex+guEL8z#xlp@&~9 zUnj^Rdq0~!(vspq=sG=Au`oUWkUT!Q+5nw=`4kR;^GQYxTLdSOzD$RR`a+V%`YJmC zjzbh&RX~D@`yqOV*g@mfITp>1u1k3s;?}(+P{s`-y&DON)P6Q`bUQ}YO#r;l0Z)1VfaPu95-wN!Yghe%mN+-psP_0d3uc;?IGcO^4t9Q-6ZstNsdsE_wGl ztFixfer6?_73iFWZnN61bn2Goo^QF>>)DNk4+eaWWE*QW@O;?BfEW7TWMjaSNfvXO zx=GfDo9~vD4pc?BIHL?R9e!YdGt(t&m>(dAABtw)Arc_+oM^5+y4a^Z0fZ_Hf>^a*|3C;bEoF8V;kMelMElWSb`TFY2BBKCrnSvy=b z^uGOKnAX%=!eObFp=H#7ZlNA7dUe^c1sA>Av=Q)@UmIITIc#*4gO7H|L5fw@=TCqO zwY-&gNHEf?X@i}PuWkx85c$>BVq5{3XS>ukYd%)i@m$bW-?z+KG|O?wUU`!s#YS%_ zkCuXmjjr%o;TK|~4-SZp{*Dv0(@CYM6_*ez6pNHgpDd%N3gvRT*Q-K%{E9g6xHBq5 zs~7mwyqwMY)cpDcQ1ST0i%>>=tn-cH?RJXZ9u8zuR}9bE(lnS#vHw*0HYpy6Tpwdq z?JXf7@p7=GQKNhpq#H5iTf#0cBc9YJZ=`Dy$^0>)rcF`Gc}%GEkqT0|kI|zBoS0T< z|E|}Ced}bMcs(ZU@-&jwS$z`(Ub=crs8EIS5bH5vmkrzfG2uY`F=4lHuHlUrX!1Fa z3A@L^2c39L*bx5DUlaD2+x>b_lTm@7f_vIkx>2v;Zv}cy*bAA7tMQsp@#aA;T(1cg zFCOc>CPX=26AnbL32cGV7+(|6#m9L|*dutPf!15X9-(Pd?0lv5dH^fbu>G9S3dO54 zirCqVw+0?adrR0W-FchYTf)IPy(N6dLG9+pc}UpBVqWxoNMM%~uFb9-+F)`L{*b_( z>E|JVJ0o&AwQ6e^PiF*o&wHAl$!bh-E%uNgl>RvH2*mjr?+82+ahchSEl_!b0 zlTwtvQJ40-LTG$$^+uJPdMcD2FHEr1gjL9k=C+b`FtmgjB@JB4hwFY%+4Ob+Fzs

(m1|1rE>HTYUdb(DW+qLPU?LY=Q8klMh#nsXu($M^kGZsgYbp+ zLB8$;uY8z}3 z+8*WMk^?oU%mRwx2Xvv-R7~M`-ItuiTkcVm&lDU0&J1(31}H$!(*;&Yo9Bbz8q#G_ zgN!wP-G$$_FGu%acGc^mSWrVx*Jtcu!(~j2tH)Jn$ut~b1K|4sbNnP08g|@K_K7(F z1nJ=iro$ODY=|y+nNKZ+2Epqd6R|-$!SQJvl2n`Q2BSvpT5WHkOzG@SALR+&i~EE7 zsh&}K`RtDaY@XhLuY-4SR>}wAYw3fGwSL_Vxh2Exsl}}Xi}kgPn8DhpLV>Gp2Hi=h zjkFts2Cx;r4StD(Z-BD#2vPK_sp-awHeSgiJ#Y-K-~G8E(DUVWrj7E+@%t z+UZk%sw@)&a@cpoDeL7Y$ho4Uop(rF+OW;%)4yHXO{RizX~X;L_0q<4lgm=>taNP) zRC;S&+ft#Qy{>VsdArN~7Pk1s(0vj$WPs;oZ1cR;g5NiuoDV!)@-1{2;7AyBruYt! zzF#5-d@9qiUy_SjyG0HgduPhSWjNpmyj_50$A?D1->O*)w>Ow05KpVD&R^v7_sjbg_e; zl=FxkI3^mjiyhx4#`8BO{gf|a91vH%GQ=Gjn>WazZ2r{`5GodTu^ZziW&xJH^(YoA z4RiCwQA1fyIo?=qTBaZKyE>ZeyAFnrI;5TO8ih_9!S#=#S1^|fU_hVN5gXuw)9Mi` zyd3vq08B9P23&Bl4vu8wBXHTrN9f4wb2#Yjvy2+H3Qoy=nGUV@h4kCN7us)&Z#&FU z*(GM&ES4N#X%p|uneclz|7kGUS)J!iu zOnb%kF*rK;7=2o?IS!C?;@`XQ;yoPk#)jbXj}6ezpU>c&P@iMeur-JVY?ZDaY#n0^ zzVJ50mwg~_1YI~81b?7X*wfd;*UdgouP3`a?ak^@pwzvFQp4E$OU3hps1Y7$c5&I# zB*hZ+vcK>I#NL3S0ed5gF5(p_24T-kF-UucifP2lRZKNrt|}e|_&kfZE`A|nj;0v5 zo3+gMW7+OQh8gypw#!AF0$fuR@qUd$JTT{K=$FAAsZFA4!Ux4{~ZJ@R~q9L_h| zd4~iqjQ0|vvfdObyeO8a-=6AYP5Pq(r>a*nJ}NYr;+G?jv`0>FhXC)@TRO8|10n#-%d%ObH zYlYgN!Df1uOKs3#V!l?W4Yut3@TJVu22qX)1VCzoXu#A4(M6~YVi2Y_h(X5szO4Um zZOFCj*b(quN8n+n$%L%TQJdb=W#I;m{W5M~VPSh0&nId6lw)27FnK&0FnK+?2#G!h zVKRRV(m0-&M({)p;pyt(iT3X6S<+j;V^Pm{AJ24r&?ufUB+S?-y?pS?0X9!>z}LaM zI4k9Yh_$pq##+Db29FGEu*=b9|G6N3GqyZrP5cfyINhe@yVn%JSDZGwrO|*Df8ZttbjnL#ul0KVNzRC$cNxkHz0@JEd$%l<-@qt zC?B+PfVk9Xz_`@tA=uOygR!YGM&A#g#i5cu&!}PRU~FnERIsVOlE$TKm5oLHzPB7v z69yQI8USPeIONfSJ#2UsY_~~s!y{cey5)waqjhx2dkXntNV%7KijNBWu;q0%(996) zbb+8X`5J^{k`L17YH3?6Od5SH2RqKS4fi5MQWQ}u4eH2-+B8^< zr?X=XjN!axj0Us3=h|Yr%GS`@v|@@fscjm4dq=2k8cq~>R;g|Ftc<^Oz0HBR;)dUl zGp6E(P0HGeiW~M={VBo5IE<~O;-gVhUQ%%rP} zW5P0`R^T2u&kLN^i;a83Q)9gjB#_o^-187tkNdT_A*P*-+@ZE<@M@qgNopG&lVUz* zb^I_Z#z(2$ubR<$8O=CHYJEN``& z2G{0>2c_{cdv5>5x7O6g#%xIJR!Xb~fSxkr? zK*omgchk(%D7%5t5CvoWi#;k)8c0|yOW0k;z}GglauO7=bkH$Ux6r`*H#iq(v!DeL ztuTrMZDafqG%?LY1s?PG09UYC#pHCA;Z3d&96)dNR)h3p>v5Wo*6>jdcS@pCwm~eN zhfXxeCzk@4o1=h7QKKyLkbShhdm+22?24w5rwM6@JJxU`7-y1EKiN}j>w5Ay5D`eM zTy{q&kx+`P>yTLVnMP3HaP2VyjUnetn82it7M^?c;_KA#tSJ)CFcuB|9?~+7Pko@U z9a?DM+a`(4F7c7?@-)^XAW#?qr{zgr5SW1&3Tto@)2R?5JU7ivOtG2!mghS+URknc zLG{{dN*=;_a_JZKs9!o4c3l#I@-PfcYBKw4aJQ?dCOcY5Vw~?qRjjE~218Kp-Qpf# zVoAfSa)WE2iqs=0o}nE*w=w1Jq}$LN=SYJLB9ED0w*UhH7|qYzon5}Htbt(H~L?{GGc%_tzC^dARawfGVUbS_1}MGcmvR?JX`p1T-l89 z^3WQJm4LUjwNHvJouTHTGs!5@JRqAy5-rCIU9F5B+N)fpYLO}6t~G&arm;g0|d1`oLvitzLyS)QHDgdrWkVu7DtI^9knLypOrxD*6SAKqhAZXVHY~r*U0hNl{ z-3)D!6O~Ux-6nKX7!RQ#VCrH-9$r#SLmjA*`B2>u$dO-U+|pje2e5ou0r|QhF)px3 zDgOlNg**km!mG~T2uzcXb3ztw1zBE#_=Lve}`2U zVDfDwkpfSY$pNM+SD6MMlcE%5ZD|X{eQ}$)X>ywWju+SB_z^y9GpdfT&-()G`K=ld zt^@8(1jfvmH)DNaoR1=yCFsjB3|TP|8KF*tZ2W0R z@)A;L2v}J5U_;cjV(YRcB6yuOqj149kds=xa1o>#zD^||X-kL{E3h4#ze+9fRi4|i zI12b9=57nY8cdMY5Fs|@tK6Cr1|3MH4qq)`=@hj=eW1lWybo}1=oLdpjlv+R4L+j_ zY3O_&D&vbvWyGn`=pNh@H#y;05J&P>*Y(>2I-70)aj(i!3QG=RuH zy6B{T?_J3+hUgN$-aBOo@>Xu%i4`-qjYLBvwpAY-Xt_JW)PgK3`)-1`Hg zh;nUdS4gWkJ~WbO_wnH~dpgGlF(E~`)oqkxW&yF|!xqlzVHfE>J)L=d>PG&uKZ+ zh|>e+Vca!(7pCg;bouC9rw0Zlq|$bJU`3HroSrD2NjSt#Pc&esC%TB!6JxN`6JzwH ze%*}Uwmt1WK8);G&z{22V%D?gFuWNzQXrnLZXaO{Y(L0C7*<93Ow1vMnbCq_Zgdg2 z?SpXa_d)vU@M)a$1HWNi+>QZVi|H+-DcnDOBu5Gx#nVNce3V{3^KgjI)LZbC@IGRx zY!I=QHpp1(*WKU&8VavS=3y~OKtP^q86?IiwrAfVw$oqds~;d`S>DeBp$+gZXAyu* z5onjCFh^VhY9kU;ZWz{MSqGHzD2j6#;F(*Le_sO=peujF_V+0leRo&BPYQP$-7g+a~&B`*07kZYmss~;fRu&=i*BwMkH zVQ{B=#-9rkvtDvG{|O>K?S>2rx(SI!25~SkSpyOe@f^%<^F)3nuI_r6F=9PcjDit~ zxr{jvB7xLpHD5Ip5s)n)yykSm1cO?BFp>rVn}+>+Ut*XBb?v9zvtB9=BxX7x&;9^7 z>+IjWLz*1?02xfX)L=@92%IpgXgoTQt`mJiQ7U*h)l9`)0!8Mk$|r57bHTduI-GlL z^L<>?vhc2GZ?DHLcd=yfTwwc1u}eAy!x`+B@3}1MzGDS*i_zP0-Zv;58q0yC#auaY zfg+I<)SBl4T@W(Q{kaB1@5cQZ<)CZ+(G9`{j8Cpv&_NP^?II^kt{U!AKnbZA_iQ9cOf5W6~~ z1-m-E3%@yS1b%V)0ArnBcS1S&YF7GpQG-7RLgtR?LlH<1X!{Nc!gJbrhxi?qQ<kdC|pLCprz9rn+DNEMxXZ($%O#f3gK@{;uC4S;5?mo8w;cE%9%urWqC zb|)YmX7KU-;8k!sfLVOekZcI_^*tjrY8G<{YUY#l3cd#VJ{BoDh-I`P#4>Au-}Zq= zG9x($FaAd<1`ecALB5YthU0a8h0wWx8pXZ$8L#J5g;14~vtpr;_)wd+AQVdyl){6+(hVEj||$YrQ!pVI7hz)T`Xg2j@WK9l;jJoJ_vbvX3O9VY`Eua=Q}? zDj;&rp$XZnCJxcaGA%qcn(6c&Ljc)yHTcu$#>=DHt=duZVA)^*&hL0=`^g)xSEUBo z5JnJg%=1*#E75E+YVa;sleL?&o@9g%<@ztS%KgcQVc^X2IfC3DG9#x(no?UVK0*k! zllthkctdLONqWb#F|$UAiwCEN$GVd#exDg*UgIT>b5jg>ysFGD+Aav6F9uAI?n-dm zkWT(o>eFtjQ>$eip1YQk4c)bnG2yjCs;$AgJeigeIDCUC>hMn8?K%+U{cTj7>XfDw<1!%OM zQ{Ero^=*w)14-NPH;IM9CEOskrKjj!r4=(>UG$}Ccrc{t-(pnRQ%3Z4vr#cfOcKUt zpfT@|Bz@S|`RWJA!!X5wAT<`u+>)+myg@>Fne_gNB%U4mnS>WSzH`FR3}+g*3}0!6 zmz!iX?v)p@pp6Mtq5|ZJG}R=skm$LbmlW$SzLao`7;9`fu=pEBF!4FU!-H85EIANg z9K7K@G&g>SIF=lUu%t6cTMIOy=4z!2Rp3>Yatd6b0}#Xt!vtuu8brLn6=t|v2YV1i zD?cM}h3VsJzi@>aZZrxa3o^A$&|pKBQ+8xIkeDlsW3Iz?K>{`6s~;eaEKpf>AcY}I zXDYrL$byVGvTAl@p^{P-!9*4$ere-i2eUMcbYV*ebC<@c0pC?2F|Y+`UuJ6;x*!u( zcPrOj@ofIam+!a%e3|ef0y%mH-y8ni5W2^G{X)nsn6cato9lznNgo5TcW~W4dTSqe z?SS=q6Eiy)SR5S}8s0GQS;psuW)1^Xp952Qe?hzP7LfVK8XLuZtdT-qW0cL$?_U#} z(2Kg*^k*X1BjoT$0?vfJ0sR@OrP4bPZvUPYzIi6;Db<%~Gj*OEM%Y8I@W~hE0J|`( zhvb$?D+dlM&6qQ<&@q+C$jev>SVE^$gSja91ufJ@Lw**n1S4DRFYww=*9sUGeK0vx zrsY4MC{B4~y^$WsWJDA+P;^o$6+D}rGXX4hJ3Aa1xUVaZ5|5?@r-Mx6N~=zfFKMT(nxU-dvwrp>eA2BDKicmPvc@X zthuqcv?dhWOLWR(h)^Gh6Ir-C;Uaqj1c{AretfZmMX_#N#yZp$jL;Nq4XI05;fA48;NPk9+OSu>fTcIv{CTt-eo?m_|<*Nesv#+&vnshr~Cv7oQbb~ zfcRQ($dWUUuI>c4wR3atqB#fo&7B^F0q~nUL8&?qN+jqW`+aloC8RC-snN_ahc|aZ zB(-NojPt%rsiV|a(%wi}f zCuDPr@|l=J@R0Zs-;;N^dH{DZv~(H**$;eRLp1gzCJ_wG-cTy?PK`9K&mVdHoc13_ z2n_&-A9tvYFN!gNfcO-x0bc>@;94TF$F_ntxLD!WJ>ao{3S{Q%#yyZuz22q|c{LrC zH^`y8{?!kVV#&Z0Ji_QDTWC?c%X}mvg9&>zC~&ftPec;B7c$bB>7Mqun-JAj8!kGM z?|naVu`}#7vYtWFCc8+>j!#z*^h8t2Ax?O&a8~N_hBRWpF|cY2B_ji>8l5Jpr-hNE{WyJ$Zu?=Q zaICUHdhu+JLng2N(*WbXL=PnU>cPgqdjTKV7@d~+EDkO6c}5LehiJi8>gvPS(gxux z?PGl13z=FYhG@Mc(Ft5Ylqnc_;9L}C7RG!;(Zq<|`D{>O zz{P6^;qc$CJ%*b_%OQ#;xM6URE{bjlBmB51nh>^W9Z@vFik?K*MbQIsQIy|MVwNb% zOpcU)vL!WKbeIcCl&KsgyHXTo%1w%mMi&rpx*f{Sm6*nnTa7ABsEMM?ph-t}7e$%d zk@5{iQKnub;z<-eWfw&cM4~7gAf`zaWlq(VE>Tp;8jFjf2`(x1A`5UbyR>JVH=RRI zjn##U5=B#$v=*XhqGQesQS>00MA7ePXjwE@h@vd=kV_P0k9meDn&3(%Uw0Elxi_u2 zD9WvQF76tWdJ)i=g>_vg5`KCkBvD~?z9dni{UwPqH7&7Pk|<9J$Lx~m%cNxPtFUoR zFO`2Tz(c$5FBw`ELOL*GmzmQ+aw8CX>E#T!bdjN@lB~G2nvhSh9LY1$Pi)>(hlRW| zL9C&~(rgpfhA<&tqC8>%kXljPJuRhDm0v4ytj<%0?Am2}9gu8I%6R%wRPThGlX6#g zlSg=MkquIWd|Is+uAPb_>zbd*&DzHhA2s!fr&-(}BN8<5KJq~?T2?=QPg29aUdiKV4jMm;lqgc6+1%0(04 zMDyGVtPLrAU5y%z0jf!NxWkQ^ddb0zFm>;yfn8Y+4a7ygv?a!}m>QLNS~x@ml1>pR zW=0Z<%z^VFvDBO0M3|0tM`Orwk4vn;%+kwMU58F-)R@`GxN;K1?=D%F$rtajLD7iV zrIO+WCIDtlmYQ4+sMHn1MFdqe{`M%O&gD1qFosO3!;WfiqF8+iUnRAe7X=r+PqPT) zsW5Z`^1#nQw7Ig$s#n}+OuvE(&lL&8wI`Deo-(YP>b*xeb`7glrjc?w$qz&D}BWhS9N z3b;$#B-kfl@J&WBdfTn!;LWg6p`)@KP#Ye-#UXMX{O8f_9X2a!_TKZs>Xbzp$as=b zW9oB+V}>>h#j5ztvPf=>_hxa7Wekd>+DZt3CO|)Lh}_DCA~o)^yxU;H+ma0fUsR96 zl_%U78?@XxYdayaQ7itzy_`|}tpNWZ82-DV67suXt1`BT%lLSh`-h1%8eij!f~Vv3 z4=5?KFcx#TwrVPP2A<+@5MiNFxY@Ly*k8~Dr6F2jQy6+<)!|3Q#ZIKbw9E3S^3N$V zsyq{9of=I%PnYU+m!}-F=wtm`vD3}(3eJ?U&;UQ$m5qL{BKL4 z9)p1s5zwO10cGhVS7h{(Nqs=@)@(a87zPWGB0w;22sL#LPjn9<;C^a(fq?(AVy#MT z(-1qbAU^CPW2m99h_LBNL=&dSu1)F68^X^aZmR+fGzK^14#4V%Lwe{Jq_E9cuSLaA z#a#&75|~>k(C}bpsfO26kdZ21)7CqUfGXp|$GQ(kLT<(&{kTo5Z3 z{OfHCQ0HM-cH*DH=OJpqb0A-eikw$Ks)Z%m<;Iw$)w~G$%F@nM@K1EaTeLf>Rrmy? zXW->dH-oc&l{^BEEu&h?Q@;&yDU6ZKQ(3!3K?SQ+b?z8;8F$k`iOQG>BgzcaOri8b znr|~Fio)`t*QkX+%cbeO#&>XXB^?UX>RGe907e|+BbY>%^3u#SXOcd3(^c5~gLojW zDFY@eOl7lVb-O%tT5=Ynz@WrLE5<@&CtU~t&*7fU=yq8&Kcoz+*YAonq^}uaRnEd_ zU%@yL(-%}5BTx)q8Khx^qbtZR7S-m!$gva`@0kxd#oQ2T!>;w>x$3WwYzNZ68ur?8 zwX?`ZH&`S*TtP&#C1Ms5M8+KEifu$&Q!!=fxyzS#j<@pGfrlzrY>@-?o48vnfpb@b z(<%p2o6^>)0fdc)`avBipk*t%c)M&5D=bEr4G|F-VM+uJ9+N2g;uQypmv|YLC#{pt z`7Co*@Y6m^Hou~Pbh6FYl1+uzydgDx!{$}w{c%C^%Z}o)vAke6TrG%6i^>+%=~eXX zKt>mbaoRB=aYKmtr|T_=3|@9Oq;lf%6@|E0%s@EC=cbGeOzcRnkaE+(r2uL#5W3`C z>$z|pyj)HTNqmRsI!(#U?ohds#_Z&_v{hW zAdH8{Ya_|}G0A0zyh2ylK4m8(H-W>0TtfV!$q6Vec|!+3!r*6Bw41LGi{2{WXK13c zyM?wAOGM-5RosyhmjAhzGtXJ{(nS=jcv|Rk0V$#r6T_2Bzn1-lpmLedT-`f^a~}7U zl}YVmOcMBdzGuOIM@$xN-`gYUjpUZ(N04Iyw^C06MV75Fi!doh1)5Y&)nZ&JU%|Znb>9ED4 zvv2`e=rI*{4af-FJO*;h)`7j76FH{c6%4Aki71e5WQE>@W@m8OdKb5p!4a})$~%YaHr zj)FjPpfvY6;dFRSNcbi2zg6EG>o5Q7_f44DGhqb@dBZD z8WD=`o)-3v8+1Xc*u2abd0&cnM+Wjh8pBjxOdSP`@dDX6LiJO81**v24qeT;O!*0|EBBe`IJVhQ*A6z4S)leUH&n zh^`q6O=P@|vex@|8UFA4q-MP8Q5O8yzx`uP{a*|VMnrI%rQT-HtIi;Z(QadR5S7Su zxYR9@VW-MOz;9pClXK(Tse+OJBMo8P@Rfb`DRtFtqopLAcgPz`W1Hc{2#>WgrTZqN z!ppKzWkQ`TeQO!WtJ2f}4w1vci&N`2;Yv8@fnH%tz$TReq2@{zxR;raaLB>eYa~h> zy9Fuj5Tq=jk6z^lRpD5b&<5-hpa`5rHA-e?Nv2kyC#)n>u>nb4DjSGG;VXz2^HL-V^r_UW zFp;6Jy@GL6*x1lnKPlB|C4FaLg>J)U?4=DM6Ulkw#fsLeAIz0HvKP7Vyo3CAXx|H$ zi6LdEd)J6O;~K34u`>vtQ1N6B>(j-2M-}1=y>HLP7N*Idhx=lKO~@yk4#tFouPo5B zb=L?JVJG*TVdN5!O`#qbYK~tlGhD9lZd-SaPL_afprh*u47!CD-BMg=o|(nBUZroO zr!phdQTv{G1o)C|8s6*NeZ8H;qx1z8--}C|*Ee>QWq4b@vkZyA- zN>MGPZ+d|YK3+IPdSCOurn=^N^u<`7qbt#ODdWizF9uZoqJ|>qN%xE2_4eqxUyMw$ zi*&zOg(T`j-7hhqdWyb5mSodBz6eVBOSgEk)l&ZED7*4E1;mxV^VM&n3X5aBA6T5+ zYZYwQ1xv85Dcm#%2i<|3Z*8%q%hrZ4J=zvSq zG97Sw!A9zU+l^^VEwx@Dl+~`U$bjXScBV*&csnm!3$4fhlkK}7k8OloujL{{_H0CRY`&266p;J=2 ztAH6uCoLsA%S&NZME|J+9@qUq6>yK=ErO*!pV9#HdMU{c@0I}2wY>#Y+|9B$h`R@O zcNiGl2AAM2!DVn6G(aG@ySuwvaM$1#2pTj52qAcIvXk$A_rCk?zO(<`bKd?AFimw; zS9Mi&b;GZ_OUy*D^ksC1%a$def_9*kbaI=_?gflCBDgaD%;_6%%0$sedY~Q>J>|Nl zBdX2`bT#r^W4o!=l5`g4@T&B6(rS`|WW%@+@`ri1`4Z9K*Yr)jcM=<+r@NkIwIGmfK_fn~=YvmTI)NsX-Z?lE za#URlo@AHlYe-Tu1BX>RvU1k|LtqMIi?u1(P=6&dsje#B7 z@)@{{Mhkl0Nn?cmj&?D&rcF;_IqZ8(WhmMKBHTV|t%fd&F5}nnW5nj%LCS(jVYsV| z8#EtLLXG4)Q~0ZL2@o<+He2)s5+V|0af2WOtAA@SUaqZho%KHGgU1jW>ZSIDCv4D{ zJ!z?_N@~X}-xo5VOkbi}%l*=ccbI7O#{T1te>?v6797A%<2UoBXSYio65C>yvx1LR z+S}||%grNrg_$n8{Tk))TSP9to7Dx{m2k4)+mMWe(#lTxl& z+SL`MuI(O_(DXRFt-24|6!`pv;TqkAA7!(|({3+crOYyigX2gl))L4jcZ%Pi;vy;k zCi$gY>5T=#XGN{cCtmc%bb2;er4CPTL@J(Nxmram;8IhNuOTVBzQ8;kmT;_=h)hr_N8zbR4M94K87~`A z5Xos0K*paPno|@Zn;MtPy*{ICp?1>vgVM?_g@tqahsy39{%U{4OLeDhdf(mBfU)zf z*lh`xh{&hKZfX>Gx}3qG+^#RQleN8viXa}M&t#_4bw zZTC-1G=h{|?t9IQ8N&kJA4DO9uu+?m6+7~Gw#pwz!?`Ud{rrxMGES7l5VAW$YLXc7 z)3uXLWDilu(=YTa@yKD$(qKa@D@oIY3~``~lpf$}Pm(T1ov)M-K!WRXjF6&dP8hX` z|B6|faHKA5p5ux&p5b&a$m3g;20U{+iE*Rk>ct5<2Hd9_9b;ZOiK$rlaLETeotCFL zeBUb_>7c`9I5|F_rV{iqIjMT3>o29&(~R);vHPqA27(BwkNdohnRg#W27n7Nta1Zk zBehPUP4f+g7aRP@PO0($HWG3XYsY^Y!!`h{LR1wantfaT#iu=bsE4ev*$=3{jA3cy&SC)1r|z<0dmW} z>m&*$NBk&G7SN;?=y4xshWAZlS|rG#&H}$Fn}1UObme*AL~l@KPNfFOj2)<)*Z)2( zm0qAnde8Pj{w(l~j4;|J5;}GIr(+GHQVa%|OM^k&!(BAStU0Ig5W=(=jKyV9bd&sg zoT4TMMCEz+mC9JDQ4VwD4w&vXD-;bhQ+1#4M22q@)9D$fyFXH~?S-sxC5sV3AC3KY zP27p`({z5gO-)#BtP84d8p=ZjTu+)p8Cek~%eL2z z9{#oy$sFat^26R5DLi}j{pcY|+k|I3mc%SZH!qwfkDnPG?{@;|dsaf|4&67QwgbAy z*Je}1(&yk`G=0tpYINH+jY}!6w7-oK7j6`^cj^aDeS##qqjT}Wx2eJP>UAW{MegKcVuKFX$_b zaEh<3Fp)WNi3Ojq|0e~mL~T~SKG^7R_go11#2Aiio&%vOt3VIY0rvO<+>S!AWaFM! z8V#nErj#gcYMbnRp$xmaq-1>v{`uN`g7Ecg4Bmq^mi3a!%h^r6MDWk~5vX!AUTTT=~4Lb2DQ4{4&|^ z$J{v5PZK{zy=B%&Y(}&6v0KkNYygxqXh$nd$Y1S0O773-rJ)4s4S{@SBGIBv^>7u` zQGAl`Mk6lI!qu7dO{ur6{XB1ncoMWUzcC;aU7ZPPS_c6q8`Sb_BXWfs=Z$WlN8K+;6R88jCPXTGXx%+|-6><3ROaUkqq znspEp1)^JsfX0@8*6gQRV!;-{_>m^Ukc)*P{E+5?6_g{6d1^-OZ)IySy*zU++WhhI zQ~E(SWfd)ztLxC{C2!3(d7__3N$lIDOX}PQa*NA`cC%!gYuskL*rC!D;xczRP{Odt z0&bfTpM>PqaOzU92dBEs8{EQjk>a_d+9~W-fzaW@q~-gCI1b zVEtlsi$;!CrNM2lEX&EEW1J9p3)*i#RNgt_Rf4U1 zt+c15Mc7%=&G{2%oikPrV~C-#{J`ZSy&ex##&@U?yVwW~c$_ceGQ8QZm zqH~7(QqfdAP#Y!QND3RY7?3wZH`k-JVJrl4XkYKJ9ZN^1wb8uaK+m0e7|*#;7(&K# zJ0mS$^a*1BSwwHnyn~*h28ZjBf3S}-q_hibj8i{H7c{|N3A)4;Hq^h^+`QDG(;DK_ z=m2hMb?fIuo6&uxq({@s^htuA!8gLyZ6>P-`EKH2kV&O}!(h+>atnqSbZDZ2(cVrD zr8RMUjF=iCC=vzunwZ;4VgZhj+{o)<_UKrW+2*Lx8x~3nPz{I~x%Nuw(TC;aB3aA@ zCuuN|M@Du>VIVY^(#Ktw444fDd(NS}80dq(wnO=d!?Bdr8n{K}X*F_HQZg-aelj=l zf=0W#syucSr_^EhdEpeKJBO3JuWyG%2z=zNubFKaQ)AQv5)>%V@|iHilmGt57{+Jd$>p zZ;DGCFvGcKpT7-Tlv#wsAS?fVV!TsGR$}&NdaRV-jKWMlk&L!k$fw65q1Tc@oYkqB z1gF{qJk6w`alEHt-na&{KAdDied%D?=kczZ-Q_3NU*;ORaBy^c*zeV5Ev-33Ajx>< zw}Rwa{Dn@gqP`>cK(a!yei>zfPStA>_W?Z^35v`aMY-Smh`^g#bDW>O2pgjVgcBIK z$E21E;A#pAP|zptz#rb_Ci|>!!FwQ_j->aEu#2TY9o{-O6_bGM$@)ndOv}<8hB~=v z(Q8TqYjy4SK5@>qYG99+Xu(!L-I{biTj}Ow&C2f$T;sIwbnXSokK_d8<0ff3kf5(h z4UBQ6){60=_bWaBN<`(0@NvAR)y-aDWxa9XSt2EP==4}3cdpoOAnh<$mXJ$DtL9{p zvbh~pxVAY)do$hwpm-&gr6y#E-;WM=DDC5E>+;%|lB~G+2`8dvDIObuPs>d;pBlX* zGD=6LS&MCXB9?&u1OAsTYl2ePgTt@i<#@pfu98NdBrNYe`}6dS@`cmO?NG*bK6W+; zC`3{c{FsedER-^qLaeGGg>(CUhXReI)kR(oA|99onH$)paA&h2@4~*>FDb34`-lg0 zR0nZQ77-0Af{ZEB+Mg>Fe~fflw6~) z9lF*#;3U7Wfi%ZTXT|+lTbmSM&Dxub4m)fo#ltT$fy$lZL2rxZkt&y;` zc29R^AfMlP+-v7iNIHLY)k)Ofu@8?fME*3JL0-C3x&9+|$O+DQZYq{Ha8?5pd4N+z zQjDm@BSTeW9jTF-J&1hVz1Jdm8LYy?y2_fFJea}afzcFSZWZat&oO)}Hbyk+u~-il z#6dkLzvlWPsBaYN*<7Jff}q}NA5cYK8FHZ+qDg}w+s9Yo$qe4C;!f-2Ce0Mn27N}P z+^Odll)ESH_2d6Ylf2Ul`|7*|c?D(!M_Cp}+5@_0PjG44nuNd+w;0y2{8LDsCC1>& zn*3eYE726Tjc%VKVz@ohFyWlV!Y!P4OzH9F8Froytl^5_j4H!U-47pI4s5~(Bh8z{ zK8a?{A!@wbX1iCbKjUf+(H0+=0tN z{Iyi7G&RFD)p!s>t;yAhc*(HH)tKOmkKqw|af0)-^A+7O5uSd5Fg-1IIys4XWo%ec33dTj|>dx0T6*htw)Nr4E@9|0H2LR?N; zIi`{Q3B@j#Pmpl=gcr`T47M~}lG$IZ{VeVJkPffQm_LTbj@VnKxwl?v_*|I7y(MW` zfolZq$S0J^( z3iMB30b@HqY@5W>Nntc%*W}I=5mWfilTwooi$G2pA|v9A1w|(8K|IoK#O2i643~Tr z9iTLYvB?@XhQ!4Wj9-&1PcYW=$}J`#g0YP$*2S_azWBm)yMy>hHxTonn549eu+2I( z%+NyUZAT*mZ#Q#eIn%-RMTdTR6)90YwuCKHRt~eET00U_a$x(pM$8$8@Nl=YB_%7v zQMSQE@;uAuoU;LbxPn1j$k5C8#yjh)cdzyr| zGk?~H;|Zxj%ccUiN##OYy9jd4W$W@HMbc=WG#ohcdMqn~8%aE2kICt%qO(AkJeMFA z?m5bHr@KNt7b%OKPmZJ`3gJ{VFSxt*P4r9&LuyPtVodc*7E6Ii2R;v{AGoJb;aV@P z*jaO5V1}NzaO9*F%yiKmB;u`Z1vSrY%o+u;aPEMN4C}mBds);;qHjCjBH9ZlTB`tE zq&1yi-`pkIdc>5(yQ3|U<2av3WaCoWgc_Qme8U6#ozHV}*k6x&n(S z^?A*bSu>RgyQwMClGRc-hi_lk8&jFNW@02eDu|BQSb#9ziFC0Lkc(Js&@~x*ABRoO z6`Emd7Hz%u)Q!twXj?~OtYu3Jy?JcN9Z`I>q=xGTu!-r1P=~>?t-|GKd(n6WwTPYUn_7kA zZza-B<`a9`X5f-2ZHN<|ZKTpAuR(Rq13 zggmKZ@?kDkThYG{X~f>~2uikn^~&LzK?&tF+kij(Ew<8ZzE--rsM%{-XDMnt=qD zLwKBQ21M+k3KM}-Q{%qRcdC!$TGmRMLOkb`$A=qqi}U4AbH$S)GE}(dTA={EDnl=f)*!+AED;_Kk8!guc&Wvi5>5G^#itbM&{wY-Y1PEyc{V z-M7U0LL}6pS53LvIDv%2gst)<29~LwH1^t|jQSOb07I(jDH;?kXSp|+4zOc%5{hTT zlLHuJVJqhvzUbTE26HYO^2lW4`hC4R_vk+e;s#)qN@s;xjs@8ud5%Y-A`9CcZ1=k* z8(1uP=RN?FlL%^WjK9!mDc;_Z3uo5&69oK@{u5LLe?M)Uzpi{~V|h+{9CMwd+H7tF+hpT zOTROUU|GK%CWLR?_J_ROx9@(Ud~nHGH0@N2MOH%8?Tpuz_+h3!vZCnfY>SE^#Hp$q zl>c4GrcMIi>7thi{*b~ff)>;+{fc6w=@OTi8p#&ZuKm-V?RXOan*BKhKUN~6v207lVRf}ke z3EsqI3^ZtT9M`{ovxaa=n)6j*j$7$JXa_sf7ZmxLg8dd+9W~&w2eiO4J?8TxoV`PI z&yveSUSUH@jpj<)(JHOl%?KeJl!PqJ7*eN51X%SzNkWcmbJ}VXlUMB7qy*SXgizN* z!{d7uS&?QoDPOOq=7!48P$i$Gh&2KcC*UIE8=oSWbm^njp4vw<-mt8eTJce?wj~w0 zF3x4W50XUlWH1gNTBK1{$=B4F>6?Ee!Md$(uKY>y+>VE)WwBc0TW-#|Okx8%9Fe!3 z^FuP}sYEOp7mAH4pQ{a?l^OTpT7{U1#G17KhWdLm>Q~!x;i(ZC;k&IgS<>eglSr%d zCgqqnTvvQOFR8jXz67+>N98qaMsNjPX;G<)UgUhFrq6GMl%#9aL+lq4H9um$cNz(O zqx^O_76Exb747nNP*T*z*0U%?s#9TEx9VmMoQ>Z&x1e2K1XHHQlBs|a80rcro}w`y zm^4BW*3BcG996;8p}iEtdqefkf=PJ2C&o_cwKnv`oAH4GM~JHg(hO=1CKQVD4r!(q_bo@e()RC_9NRgWz6uCw?fRnv@N4WX)P>a z-uLlPK*#n#a%HnqPuSNNI+@jo$T$Al%G_dUL4K3 zlG~bBC%|E$S|fnh#Y3R~>8XHyaC3oM?^`i%>w@ zDAm!h*qi?&OqMI+ooCA{lorwta~3NMqrLOp9YcY^z^KzCd0x|Cxl|{Y#SZ&e!ZWkg z0Q&ect~V`|vcO0JJE3NKcZyNQz@*^a7Am35Uc97!3Ms^aqp{G+ZSiQ?L3s&D;&Tb` zsJS^-sbhQ zE_aMXR4~2Vesv)NO-0aak;d*AJCz4&Gc^8sZr}UqAsUdH1I_2bhYrF?Ib5YG$uY(L zpNRYXM;JWz<{I93A?MHe3$K$+-ZS3M1t&Hw#WFKe!3&);!pD@%V@VHEM&ynYi-jr= zSjFOmdmU+5c_hpJxZTbXYZ^uh*(ggrDjXq%Enyeyx-Ek+%5o1yB%?Gc>%M0Bc|W=o z!c_Z<044M+tvRjmdNXdv8u6DpElsk&`3SxwLDZIm!OgEznOs=qeBb3v3ju`@?m8VO zlyr(-YB^4-$ruZLZNz(e+>e#T^<0Mm`&fPrFkjO!jz=+(%5 zaxss^&3=tPJc{2ueLW`ypM(fn+j1Y;4 zxA9yU^jlg*1J)4V{TL&^UGPmmVcrsko-DhLWVia+5$VIjZc8xrsl;(H^;_~s@g=;7 zzEp>cLM6#d`tj10F0Hh&Lp{^lX1Lq$6{GO?zYL0YJckwdiLe;ds?*>8 zz2)Gue14u$y7^N`TXS9V$gyp(Pm|)|SP>U7)U-;#LUKXGC5GkEq$8z_M1&cnUu9;g zQIz>H0q$F0$<*THE)G7-v&3xsdpwxsYOKEb$ZYx+-jv<968IjOpbKlj7GlT1z?!H0 zBaD&%<@5vrc#$fFoIjXj6SR~|Q%Upsv_7hvBy{*2Se6IZJHF(%n0B)U(7#wv$H+ zH(fEhFbHB%p%7x)YmjYi?JT&aP62kyn{z2^u({Pira`|pwIwfsQGeX} z2OyWN_UQmj9YJ$3pR*={Fl09sEb1}l2fZ-SU=I2gl`LO7MB|2$t~?Q_eBT*j{r1N& zK5*!&$+DoLd3`|7nZwSN$kRP>3sk(ly0*~NQt3CW}ZZs-bZ=%s`3pqV}TIwAaNWUl4 z8^c)ms+THOGPIQ~_SX-vpL$iXARnp9{2FkU!LgGY<|`3{Yt~rI9y9!0Q;TijLd_J5 zbkQ;&W5|3Oy0OQ@+<-@~1i>_?R}7A9^n-f1Ye)5vA&KS43$1cOK3ZY+Ijzl%Sv}Uh zFb?DwFa>G&HkC->pr%uL{scKsqN#b(TQCc8$y%}uh|-Qzm=YKW!4@Qam$hJ?(|}Kt z7D4l-Fna%5vf03CoxYkRzM4zIf24hB_BI(2+?GMXaHvCv-E@BbYEannlfgKA<=T}}~H8sGz zzE%dklFeSJVPo5N!sse^g5jq10zF`LlsnP+L>N&KjBY%^23MpkZGW6A3)*tuCwJ7- zEZ>7otw(_V&jqJNHAy`PWG1&ot?tG7NtKtiXN%@m@B0%bj{k3^F5Ml?*hX4&?|xRH z9o`nC=dar|5-GaM7aL_ftFZ>Hfj$OC6dgUm+Jc#M_(fVx7&krAZa|!F&&3EdaG{B$ zv&A_?*BW13PR<==U%}cO9}Y$=%e;vZtcA$K?nlA6JVV$6;kew0GSw&P49pnE zM(twTSw|io1}74an@E*UX2E8^yO=yNihekndG*%m;|4}~np`UPMbNP4GV!!x3>j6j zlO*GkM;oarZ@8sA6@jFqUdc8G%8`}F5NjQRX4u9aDZ&LCW!R15*Nx-FQAoX;+fHxv z>MVMOt;Sm}miqxQ)C5vz4rgi6ZW?VN_~3YEo@)lGAvMenH*i}cJ{~^&qXb;Tf*(@^ zr)%YFudJ8Z>nX)!R_x*Qz#UkBcLn>RM2fMSVou1xH#MqP)8~vcFR`b%w_LZHS#3Pkv)?NkP||5(HEJLp@wKxZ5d0kTC{}C z7}fAy5^W$jQP?a4Qm~JHq-lqReNA5BXT6J4U}Gsdu8;Jsh-yXH)%4Opq3`%t%X|ab zAU(S>brRwI`|^VI!xR#0e&oP%bcQUrIy9>n29~zK<2F$Por+S4xQJ<61Jgi3(PvgV z)mUH_3BslTyB>9CAn(Fhf1}#YfrPqD8Qtq*#_`tn%y{dR3Am6qn#`)`C+1-G(9q~g zb0sPc>J^Mdkz5cCA>3IW2t^-;Hn|lOILRFczaW!!XL+C>IaJa4o`b;mH0SfZ#U)3- zQA{0-Zy#CPZ?3>Xng@bD}em*q}lkVcZXy!%F<_#@K5yAgF=Z^tP7%$}o(#H1|+Q69G;NL}c} z9`=|2WQT>nRrsnCcX%w$YUF~IWvtsYEj7Q|-m2(HA`ANAyRxJ9+}SsawQc#W@5M+* zhQ!up-`yrCLM)JH=~+-JBT1f;$6$8QIU*96IS+7O29=a2{4UO=tMDL1y8>^XFkZpG z)F%YdeYlSNEa_$#vnAFV6*m*j4=Irf`vAQ$>xG-V;_RE`vZLTyxRqQ@L5E6SG=GmL8?c2DO!m5g#&EmzF3=*QNu8SAsw3lZ+x{Pqg zZ`e`C1%Y=q9aBA3(K`>Z^z!`JxP=&(Zu^78xfk7R4Xfg?FmFf5tG&t1f+?FYC|-vX zPhsIQs{i!r{=jj#r#yfIIZ`N%Yir~(h+T=x+<1gHqU~|k-lAe}`lJ!k#rmO;4#u*2 zj5{bvipX2Ux+3za7g^Sj^vFEJdnRMKPeZNf? zK?f5_!s%}GT_Ze+O!jx6L`X;&Q%)E>b$l03yE{!4M~`7*!&_@jO?Ci3oQFm9$yut5 zed;Z(m_g_=wZ0A>DZT3h@q8ss;5+$P{Lk&==nBX^+*oZr-g!Yfgsd_oqy+X36hrSm zluS&V!kY%YrY#>H&IE@*Fzharhrf528|*N_J*tITZacDI7*>620sfL)E9ikE+5Fw# z>hL<5emUq-Shm27{ce~${|0x=QFr-v8?o#3-Sdq)3q?>ZlqkQj0*LkAjVE^*O?mP?a|`1oP}E&{~C2!1xXdT<@bPhFpjeiqW*ht}6-t!K1vFcd;# z#8b}q1v*YU`nJFDfBGmgCcygqGSG_hZfnam&+TVN!XukWzsO8G;H}Zu6;%wt8}Iao zs~{yk%ACti=J#VcsaEoHa7tDn772|jRD6SWA6sTIv_Qj^MII|Kikv zFW2r@Ps#@U56IZxVuio9L<%PNMaLqHiQ8;B5A)rJt&ff|sL@%?ekFnFcGqQZ8WS}W zrLDbO*T@b21Onx>;{@$@U4Exq$Iaxf4^HMr6{~!fi~fk*sPhWmD6B49ssq1p>wTQM zIbH4yGJVc?4lGj6`csuR#sCUP>hV4~&=WE~F1V_RA7MCon{eLlpWf7VBW}OHZYZ7w zgON%0%nobTbL$fp#^z9hEqUhEx6p9O&8h(z=NN7TM&WqnchsWi)8H#i3l4x1m~ap0 z+g+)Kw+>OozuIj%co(WWz(RNS<264@M1P?ac%>JgBaJ`nGx`+H4|?1s?dS7X7#9|R zC3R5h!KT`2GrTvs*rL7kWC-QLxE2Dj)5>)k$b8=VN|>~UBNfui8;O7t6Tv4|IK6&c zjfMl5JS^T>bv(kTjY#xSRYibhN2?8_InhIKqN75L+YDNXybE^oLUh_R)rh7X6c?D9 zOTA%R&4dY5HImb}C0^Ze$|q_Wd#Rh{84Zv{)3O#^X~~P#S3l&E5i|_CsO>HG2#~*| z62tvfncHnM`GVUafs|o`rt#%;6y@hHVI%H9v49Gtehs@>kx~w)3Qo_-Dy7~k=?tlZ z*_2x)V?~!$N-Sf=Cjk60r;~MRof7=eiOqWVn90k& zo!3r3{WE$2?hf+_b&ElQ!FxSMIV)X6RlS&-v8BkRF@uvk522r$rx#Z}* ze9{Xal4smXBlQz5$edw@PM=dGc{`!pjyj zaz2&%-3(c(RNB~yR1%NKjdutQu1)idD-@5%TbP;?^kgmYOwh+)y`mL(?dNGycf(l~ z7$NLvC9IX&V;$WJ+rCDv^%D%MNm8{Q&-Uvy9v+iUKE7nEBXzy#^1Wh(NzaI-6P~ct zF87wA)ZP?ws%U>Z>@njaO7&5@x7Le7(<8`H>lIu3G?F3ZA{DVZnn{ zmUHs(!|+}vVen}b?(4I9F9n7@*X9JG)E0og))d?17JS~J&14gsTw&R#e6;g)EF)ai zC`nLGu2N(eCFfKn=MM9by21Jz(H5Bdw-W=>TA+M`+MdI!VzVK-hu&5k5_0NVP=`e* z0WW7qIb;RM=|6KX_^UcMm8R~1FF7pamhkdsRep9|EEnC(eDT}j)H`xH1G-kibo$x^ zY2C5W^zx3)#l8USr(*5AU18kw0RGYGa1VoBEE&^o>)aelIus0MyXo%rA6%e&v(y>w zW!C$ywpLoWSKBA92T?tyOC?AU=RA3BQLT|enJX^tE10>2Xk?24UUNz*QJ?i#5j}mY z!uQ=jj8CR7K-N4^dg80Ye z`j02Ii5y=#0``+fgYz}dL#jV?6`=!AOZ#f`^NPV2xvywD2rwbneFQinW+o$zf|EK? zuRV3GU%H%}_G4`?)JyTDH>%TvRUWem8=P(2`^#0(ENSogIDjagZv^-NXH)CNrPcDp zp;g~j;^1D>=(qHi8BcUrH0~~0NhE}C-jb2p_zH14x)+Yf|3pKuA1qU5lO|bK2k9Ap z?al{z(QsmjF!Yc37j4#uy1%sn7LeuGTwN4bY?8JV3HSiKmI&4EYf9QN4>HASUo&ci^Q>wdC=> zTUdz}^&~Ec|JwJLBDLwteOyHY`g-xI;dFuQMZrS13I|x~`8YY8jU|yyuCs(AQ9hw^ zF2)OgfMc&Ux`5SU6vJ1Xaazk7rX9ZJ6%KophW|Odb62E9YEGiRF-436r?*?}DkJ7+kcVgCpVXjG1W>S<0>LUVg#cHniM}%c& z@`g*d34^ZiB=v@sFnJcI4Yd_fobuO2HXmfB&jDjB9rTD(ikR&fKgb%3c8Eq}Z%oEo za+*^_!eF-+ZorDvXu7b0lJf|vidk_NaNe-vbx)VaA2N3ahCU$@9gCk>|AI2~XNPW5y z7h959_L!wQ#tt=|ox?9g>7k9$4~{X2GQ18?;~YV0RoM(eOgPk^Om4j@Q`+cw^%?ZDaCdtC05$SxE zIDr!-^au2R2=KGX&>eh~yMh$)&!dw80ky96q>SOq!KmMlhGjZCAiIz4UH&l}Gz)wu z?`B>+%eDt*&b|FAy-GHl_Fm?j<%D=e-Q00q8?}41 z+TsCelE1Lx;-{T6nbcBC0M;So4a`bqB2#LiS|91UfpsK#fyv@IL;A>H8z<>_yeP3= z(IAj|(}_kcz!!>wofN$(<&(J!-N0#8n|4ND;54*`s}gb1$|(r&X}G;QAxs1Gji1hq z=CVF>e)(ZGHJ}Q=B!NHVgafN@Y%tl+42!X7l@{}(NXs2jsG2@>W7rL?D>}K1lWskg z#A0!P<+B8CSRw0I+3A{Ta~|#OdJST67$>}nGRI}Rdz~4E=~FyGSxTeo=14PL8|Ew8kDpr>Iz-c2B!u;53yg=jMHDjfk+X(PDjq`dW>QGm_?cB zGjHxO=_Y@KoLH}>;e5HqD^%=R2F&QptoPb4Sxt;%Qb$auNnuQ7-4p4m}p^ZIqwqW|H6j(m3TV zSIk+S=HDmEB-mygyQI*=n;Y+js|mddUM1@jJ{HkArWDrvLv(Whq5$968JmZPibs5+ zKm6Hll${=Y!^Y27uCKpKqMRT!Ktd*lH1o|yu!pqdzXj#vciGT}lH4gkh}n}V2WQWl z#_IQA<9EenEv>XptKr`gD!QiaqG@XzpV-yXN-16`x@xP3t15e`%HB~89w8mGJQ4ONG^P#x#q#L3*GNwEumDwGB>{G5r0t96*orKm1Clv>ieDbwYpgrMB zu4-L~V%RJUHhMhGN`u0jS^@ld4Z6h_=6k6`dRTLaUg^h0h7&73Rb)E49gz5W)L7y& z*?NAip%51Q3Oib^v~^3U?x z&Af`mM|njTwMWWw`5{h5J_M&B@gJCT@#NvJ#jRkLb{}oDM71o<(+O4=^^FcJ(@93d zk2yMsdtx}4Z7gCmm7O)V`$kn(zI{%yP}~^BP&0h1@(51brXs;5umCwbs|vX|Z_W30 z5{SxOUp#zE$Bo%Z&Oz;!HqFf7`9(z>v-O!IHse>lDy$z*|Cz%S`?Ns`^=~C=wK>}D z%1{h+w1a^08D@b_11&@6PHNKq{z%N-$HL^TD1=$ieA3zXa}{8JLrO{NV*7}kHu3P5 zqIfU<#!6bbgqiu|c}`6M94hJ0ubvH!XJ8w(V11o>blrCAT1$E$^J2rSEPu)kl-3V(FEq@5Ih zd8^BO`6j{=^|9+2j`I_jFoB@M4Nds(cXY9+(Q$69T{8}W`&Xh3x`9PG#8?WwTNiM8 z$D#L!mOG!}kFER|7z*A$QM|esT0?Y&_u~CjV5bPH@@hs7`ATqWh8vE;&+a6W$n?2W zKbv|*u(Qn+u??n3iYkCWPLe&}l%PsIhGM_(9)kg*?+QQ|M}$M=H=%{ z`y0snHxQacTiXW$2B@3cfB`CCD?4*37jJ4qE@(BM5HIwb%NPw>=>~T8pyq)BHPHZ? zV0RZ!H%qWPlvdr%#Zn9GVF-Yx=!PQ7dV9!gc|g-|Qw#ou3(da`kaltQfKt0t|H<2} zi3SDzEyADX{*lL<`Y#!%{}RHT8lYrnjD3G(QuxNjEENVNDsizZ-=9CdOpz;QJuXbBeJ<>3(EF*oPn z<_24Fa6umqK67gz7oUKjH6NegKiNV4P0ats4_X0b$OF{_v?L7mUMo*au$vf@yt*>A zyseA7$3OT}3vqJsF#-PW{{NO#P}}^^T7Vk#Z#9TQafDS|tn93PWT3+c1mxldazMYh zxV5>2gt_>Hxw+W5xP`g6L;?SS2{k^HR2rJ>-UIyqhV&~0uVwzf_{sma zX{{{(B{0O(&GD~6VPy#bJA(hn<_@(kH&kLPOJQplHz#wbOPfO=j&_#je>@!kbwwtS zD74bU&chK5`fJEZI(q!0;Ar<}2njoyJKKmcd2?8St<60hJ(xfMTNfuVzz*6xK*|$p zbx(l0r^P>;bO%VexH!nG>-_W66!^~)K-$(E;sJJZ2Uz~2APBIwvw^nY4uD$S20Hw? zIia(_KaA{X2l_|hFL40>B_gzB`N!2<-2Ne@7TEQl;)4Fj^dIDZRsSLX7t#OVLw|vw zp$6(sfPV!t5E}LW((}L9(0@g5=qw?|^!86|hL-;OtPA|F$>E=2hWUSrGAz&;@{cB= zj__yLGRp}68S~uGA6!CQe18phCN3@}C>k^@{2ws1|M(B{|IeQBPk~+BnEx$IK%tVJ z9=1^6AM>;PYXbFl16!kUQFC*l{R!6pc&PdL_;~oJt*QS33naE-ug&%Ae%{HQ=?gwF~th^F!B4uVttWMfreoGD1LJJ}y2% zK|v`wAh#s9kQA?sj3AGcj1Z5sH0b|~Vf<(Db^oj zk+y(&RX?Rt6s%HxcfulquYK?PoIsd+&vMT_=fCHk!>Dlo zKn}_kutuGGvSuqw2q6#=pUCp|hC^|aj!u9?U`7cC>J2nbLU5n~qj7&+O=xhroJG+j zju}~&oQ#c%Ni|5HwBP@9l-KU5h#Pn3T1LMC<*u0xY2y8T29&$R**DG45lz2Q;SwJB z=;gBdhE-Q<9Lom88K3@XK_gRo<-T<~$tmeCzn30OR!CJpq7}Nep|9RdZ_E*X$oGt{K%R07yDN&zpl-Hx&%(s zC|9o7xMJKmmaCmx(rm%lk^;xA^#yU0A1qvMXXoWiExQsENfH50>qBm1x6aJ3bd;u2 zD-ySD)bw1Sn)BEAyfd}+j}u~I9lx+dO-~QHw^raV)Kui&eIB-SVj}l5PUGwO`FFo` zcTqXsxLI;JcM#Pty>XM=gw_#Nr=v>{D1 zxM9IcoFbA*HBJFUg_DF@h0`%Gz#Ife;1(LN2UzGJ6%9}Yp^P3N5=a1X6txZj$Y4J( z1{x`d0jH7$rdrHmmS_em&<5;+tcFn#{Fz=uK`|`GY$as%WuZfzy}4Hi5pTmhkSd5e+OU9~Kw^kOk`%6Dq4+iazZ zS>pGp%&>*%i%~e^7&tO=T5#C3F%fzrPH~ik5i?mG=8scqQg5aS5|S`VtPZhKfJ5~p zMf)XSB*f>zp;*himlqtV*U$-642vgZT>m#876J*85C3+O0=%6+d@*Ac0*S>ECgvuP zK=dXZFu*jyMCsecs^oZ@0T>e#;KJ5GGqUZX)nUWdVHjq_|C?`o0ZIW#Ij8^al-nDHw^1Hvpg1Ykt3o?y}$a0p?+ zDjGLV1*n&>V1=Hdz=o_2Wn2aH0Dl9pyTcP<1+3N2#$hcu2ryy7VM=d-DKn9zPvHUF?d!o~2l%^yF|hW|sGMw6Q&QAl_-^ibKP? zKe(RpnN7ub5&k&m(^wI9-en|pDrU*cd-IFd_{TWhvwxeDL*-Jrztu>3#Lerv82Z-% zoV85qyEEd86|xs$P2CpFe15trs;uVK)r{gw8{X0A6J_Z==U-pFV`dL1-6wHw-zh}b zv5U*1=czJwFIQ$C+PAXrI8W~rZr)Abzm-m|tE;0;XMeQaGJ0}p{@Lf>*7}cGH)aYe zWL9*yEst|EOYu2}B4&K!8FBS))4xJa=$>XpaXq$P#mVf6+bYVjUE>};Jb!+tZOZk{ z9;%weiswElSF=kj($5D?%pZEB@cCQYF4fter#IH-aFI4D zNWRDTy5IKj&2wr(4*u{{L{)jrneUD!KJ;9)aiVJbfHm$Ww`Z5U{}}vI_F}1MaMdNh zm3M3HGLweq-Zws2i~Kt_J1Xc=8Sb22Zg{+q8YuTYeWan`wd<&ca>kkel(juuX9%&iO@9rIjf-g3GsL{mwV(!$ij+w`zWoc`y9rM|?y;g*Lz z4)>n6DJUB{4UmF}2*P-VI#xATsT9?!7%Fcc1b+f}=@AuA< zg~dkuWquVE_3*}Jb>WogqZ=Li1j|pGKXqU=K0kN!ywkv2$~%h&-Z=28_uag`9;JOe z%6|#w_4v!(Wq<$iljjfIP}-+%DqHEapm>Z={iUotpS)WeID?;T=@xYDWcIgf|M1&! zYxzEhJ5RC>It2ev;+t0>cBP>8>JgVkhoi?TZv8Tevv)0-gAVHDow~rh`(n6pkLc$W z&K_>B_G}1kx?aZe+3}3XPfzUHc#~bWValMXTaCv`9(2R-7a@nI>?m~azfCs7dD=pI z-#3=|b=#iY+jOj3>bi?j`ID%Mp7w83pO*K@cUAOKZ@7KO(U}uho;`N8Q~KN}#kFS} zzUyArv|b~3H`@e!J$%m0Q@LsNKc@)%e6zyNvg}WM<9Rq2t{!vr#Z*~-$;#2jU+peE zxvRYMg{s=+QIXw_U-M5zdxxinrA*c2b&J&I9KS{^sj@jI}(oiJ6;JUEbbtG)lvjCIup3OKFJ%Y;Ny|G$FJYLcd-2Fz1}D9 zJm3GMkx94j*8 zjf@>BR3HkoAD*BOo=f7YxnU9Nxk+k?hV3I~dHZ0X2*EiP%*@eRYfcIR8CW*LPZ=6G zf?=>oEk?5u+{=)~XfRPyi;Qg*k%D(-8fHUQ7CK4Bj#7j}G(i}W^fbidO1LNo<&TB5 zB)BV52r>ymxgs`DNourGB`8Un6@rnBoj}uODGaBiq;OOCT!PfWs6--x5gyFraR3L0 znq#6d3&%vcf%UA0=%d=iOcd8@6IV?bVSN;gauK+7q1KC9PnaNPVJx0Vre*BpWW7cz z)Jg^dVl~Hr9ssQ)Dc8)(N`{XMG$Ye11AVR5cLB+2k1fm2hnz%?L-MO0zg8p)$4c~d^R){Cn+Wt zd@c_P$7pqe0iTTpxN>O%S^3-NSR3`5N0lJrkbN-(94@& ztn%=J&maF6}=p#KJPtm&s4br}hox-HwP8UGC(z7*_xPK^-cz}YJaWe=j zb28oirOdHL!51Pygw_+yMi4e&11J9k0(v{!d32uue#(698w22*-8` zajb_&Tc>6raV=MzJO-QAByn~L{X7MAVE>T2_lKum(TO# o2l5bs81YB>z5xPX`9E_^XWDj(#z@*4AOT;*XN?*aFe#ArAD_6JSpWb4 literal 0 HcmV?d00001 diff --git a/BookGPU/Chapters/chapter8/figures/FlowShop.eps b/BookGPU/Chapters/chapter8/figures/FlowShop.eps new file mode 100644 index 0000000..0636453 --- /dev/null +++ b/BookGPU/Chapters/chapter8/figures/FlowShop.eps @@ -0,0 +1,205 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Ex_flow_shop.eps +%%Creator: fig2dev Version 3.2 Patchlevel 1 +%%CreationDate: Tue Jun 12 13:33:45 2001 +%%For: basseur@gueuze (Matthieu.Basseur) +%%Orientation: Portrait +%%BoundingBox: 0 0 460 124 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%Magnification: 1.0000 +%%EndComments +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def +/col1 {0.000 0.000 1.000 srgb} bind def +/col2 {0.000 1.000 0.000 srgb} bind def +/col3 {0.000 1.000 1.000 srgb} bind def +/col4 {1.000 0.000 0.000 srgb} bind def +/col5 {1.000 0.000 1.000 srgb} bind def +/col6 {1.000 1.000 0.000 srgb} bind def +/col7 {1.000 1.000 1.000 srgb} bind def +/col8 {0.000 0.000 0.560 srgb} bind def +/col9 {0.000 0.000 0.690 srgb} bind def +/col10 {0.000 0.000 0.820 srgb} bind def +/col11 {0.530 0.810 1.000 srgb} bind def +/col12 {0.000 0.560 0.000 srgb} bind def +/col13 {0.000 0.690 0.000 srgb} bind def +/col14 {0.000 0.820 0.000 srgb} bind def +/col15 {0.000 0.560 0.560 srgb} bind def +/col16 {0.000 0.690 0.690 srgb} bind def +/col17 {0.000 0.820 0.820 srgb} bind def +/col18 {0.560 0.000 0.000 srgb} bind def +/col19 {0.690 0.000 0.000 srgb} bind def +/col20 {0.820 0.000 0.000 srgb} bind def +/col21 {0.560 0.000 0.560 srgb} bind def +/col22 {0.690 0.000 0.690 srgb} bind def +/col23 {0.820 0.000 0.820 srgb} bind def +/col24 {0.500 0.190 0.000 srgb} bind def +/col25 {0.630 0.250 0.000 srgb} bind def +/col26 {0.750 0.380 0.000 srgb} bind def +/col27 {1.000 0.500 0.500 srgb} bind def +/col28 {1.000 0.630 0.630 srgb} bind def +/col29 {1.000 0.750 0.750 srgb} bind def +/col30 {1.000 0.880 0.880 srgb} bind def +/col31 {1.000 0.840 0.000 srgb} bind def + +end +save +-90.0 258.0 translate +1 -1 scale + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def +%%EndProlog + +$F2psBegin +10 setmiterlimit +n -1000 5287 m -1000 -1000 l 10162 -1000 l 10162 5287 l cp clip + 0.06000 0.06000 sc +% Polyline +7.500 slw +n 2175 2250 m 9150 2250 l 9150 2925 l 2175 2925 l cp gs col7 0.75 shd ef gr gs col0 s gr +% Polyline +n 2175 3600 m 9150 3600 l 9150 4275 l 2175 4275 l cp gs col7 0.75 shd ef gr gs col0 s gr +% Polyline +n 2175 2925 m 9150 2925 l 9150 3600 l 2175 3600 l cp gs col7 0.75 shd ef gr gs col0 s gr +% Polyline +n 3225 2925 m 3675 2925 l 3675 3600 l 3225 3600 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 3225 2250 m 3600 2250 l 3600 2925 l 3225 2925 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 3600 2250 m 4288 2250 l 4288 2925 l 3600 2925 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 4275 2250 m 4875 2250 l 4875 2925 l 4275 2925 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 4875 2250 m 5250 2250 l 5250 2925 l 4875 2925 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 3675 2925 m 4050 2925 l 4050 3600 l 3675 3600 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 5250 2250 m 5850 2250 l 5850 2925 l 5250 2925 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 4875 2925 m 5549 2925 l 5549 3600 l 4875 3600 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 5550 3600 m 6000 3600 l 6000 4275 l 5550 4275 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 3225 2925 m 3675 2925 l 3675 3600 l 3225 3600 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 4275 2925 m 4725 2925 l 4725 3600 l 4275 3600 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 3225 2925 m 3675 2925 l 3675 3600 l 3225 3600 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 2175 2250 m 3225 2250 l 3225 2925 l 2175 2925 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 5550 2925 m 6550 2925 l 6550 3600 l 5550 3600 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 6525 2925 m 6975 2925 l 6975 3600 l 6525 3600 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 3675 3600 m 4675 3600 l 4675 4275 l 3675 4275 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 4650 3600 m 5025 3600 l 5025 4275 l 4650 4275 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 5025 3600 m 5400 3600 l 5400 4275 l 5025 4275 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 6525 3600 m 7175 3600 l 7175 4275 l 6525 4275 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 7125 3600 m 7825 3600 l 7825 4275 l 7125 4275 l cp gs col7 1.00 shd ef gr gs col0 s gr +/Times-Roman ff 270.00 scf sf +1500 4050 m +gs 1 -1 sc (M3) col0 sh gr +/Times-Roman ff 270.00 scf sf +1500 3300 m +gs 1 -1 sc (M2) col0 sh gr +/Times-Roman ff 270.00 scf sf +1500 2625 m +gs 1 -1 sc (M1) col0 sh gr +/Times-Roman ff 270.00 scf sf +2400 2700 m +gs 1 -1 sc ( J2 ) col0 sh gr +/Times-Roman ff 270.00 scf sf +3225 3375 m +gs 1 -1 sc ( J2) col0 sh gr +/Times-Roman ff 270.00 scf sf +3150 2700 m +gs 1 -1 sc ( J4 ) col0 sh gr +/Times-Roman ff 270.00 scf sf +3675 2700 m +gs 1 -1 sc ( J5 ) col0 sh gr +/Times-Roman ff 270.00 scf sf +4275 2700 m +gs 1 -1 sc ( J1 ) col0 sh gr +/Times-Roman ff 270.00 scf sf +5250 2700 m +gs 1 -1 sc ( J3 ) col0 sh gr +/Times-Roman ff 270.00 scf sf +4800 2700 m +gs 1 -1 sc ( J6) col0 sh gr +/Times-Roman ff 270.00 scf sf +4275 3375 m +gs 1 -1 sc ( J5 ) col0 sh gr +/Times-Roman ff 270.00 scf sf +4950 3375 m +gs 1 -1 sc ( J1 ) col0 sh gr +/Times-Roman ff 270.00 scf sf +5550 4050 m +gs 1 -1 sc ( J1 ) col0 sh gr +/Times-Roman ff 270.00 scf sf +3600 3375 m +gs 1 -1 sc ( J4) col0 sh gr +/Times-Roman ff 270.00 scf sf +5850 3375 m +gs 1 -1 sc ( J6 ) col0 sh gr +/Times-Roman ff 270.00 scf sf +6525 3375 m +gs 1 -1 sc ( J3 ) col0 sh gr +/Times-Roman ff 270.00 scf sf +3825 4050 m +gs 1 -1 sc ( J2) col0 sh gr +/Times-Roman ff 270.00 scf sf +4575 4050 m +gs 1 -1 sc ( J4 ) col0 sh gr +/Times-Roman ff 270.00 scf sf +5025 4050 m +gs 1 -1 sc ( J5 ) col0 sh gr +/Times-Roman ff 270.00 scf sf +6600 4050 m +gs 1 -1 sc ( J6 ) col0 sh gr +/Times-Roman ff 270.00 scf sf +7200 4050 m +gs 1 -1 sc ( J3 ) col0 sh gr +$F2psEnd +rs diff --git a/BookGPU/Chapters/chapter8/figures/approach-eps-converted-to.pdf b/BookGPU/Chapters/chapter8/figures/approach-eps-converted-to.pdf new file mode 100644 index 0000000000000000000000000000000000000000..32705096a00a546ca62ae6de7850614332a0a599 GIT binary patch literal 67917 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 literal 0 HcmV?d00001 diff --git a/BookGPU/Chapters/chapter8/figures/approach.eps b/BookGPU/Chapters/chapter8/figures/approach.eps new file mode 100644 index 0000000..ef2eeff --- /dev/null +++ b/BookGPU/Chapters/chapter8/figures/approach.eps @@ -0,0 +1,5442 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: /home/imen/Bureau/Publications/BookGPU/Chapters/chapter8/figures/approach.dia +%%Creator: Dia v0.97.1 +%%CreationDate: Thu Nov 15 15:36:11 2012 +%%For: imen +%%Orientation: Portrait +%%Magnification: 1.0000 +%%BoundingBox: 0 0 1115 707 +%%BeginSetup +%%EndSetup +%%EndComments +%%BeginProlog +[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one +/two /three /four /five /six /seven /eight /nine /colon /semicolon +/less /equal /greater /question /at /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 /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /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 /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright +/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior +/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf +/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde +/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex +/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring +/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def +/cp {closepath} bind def +/c {curveto} bind def +/f {fill} bind def +/a {arc} bind def +/ef {eofill} bind def +/ex {exch} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth pop} bind def +/tr {translate} bind def + +/ellipsedict 8 dict def +ellipsedict /mtrx matrix put +/ellipse +{ ellipsedict begin + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def /savematrix mtrx currentmatrix def + x y tr xrad yrad sc + 0 0 1 startangle endangle arc + savematrix setmatrix + end +} def + +/mergeprocs { +dup length +3 -1 roll +dup +length +dup +5 1 roll +3 -1 roll +add +array cvx +dup +3 -1 roll +0 exch +putinterval +dup +4 2 roll +putinterval +} bind def +/dpi_x 300 def +/dpi_y 300 def +/conicto { + /to_y exch def + /to_x exch def + /conic_cntrl_y exch def + /conic_cntrl_x exch def + currentpoint + /p0_y exch def + /p0_x exch def + /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def + /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def + /p2_x p1_x to_x p0_x sub 1 3 div mul add def + /p2_y p1_y to_y p0_y sub 1 3 div mul add def + p1_x p1_y p2_x p2_y to_x to_y curveto +} bind def +/start_ol { gsave 1.1 dpi_x div dup scale} bind def +/end_ol { closepath fill grestore } bind def +28.346000 -28.346000 scale +10.575000 -28.450000 translate +%%EndProlog + + +0.010000 slw +[] 0 sd +0 slj +1 slc +0.000000 0.000000 0.000000 srgb +n 6.288742 14.159671 m 6.383763 14.157616 l 6.359071 14.174208 6.340393 14.201590 6.333956 14.230634 c 6.320567 14.264968 6.311742 14.302414 6.305305 14.331458 c 6.309234 14.394322 6.330904 14.445882 6.365026 14.479188 c 6.396035 14.517057 6.451736 14.538334 6.535967 14.542293 c 6.611071 14.540026 6.670308 14.516905 6.714403 14.476769 c 6.763062 14.439745 6.780501 14.384770 6.780410 14.321181 c 6.783009 14.292862 6.776480 14.258317 6.763001 14.229061 c 6.746408 14.204369 6.729816 14.179677 6.702434 14.160999 c 6.779200 14.146492 l 6.804195 14.173572 6.822238 14.205940 6.827315 14.232808 c 6.840795 14.262064 6.848049 14.300447 6.847626 14.340281 c 6.838378 14.417561 6.814713 14.481664 6.772069 14.529477 c 6.722473 14.582579 6.644770 14.613165 6.550475 14.619059 c 6.447052 14.618727 6.366145 14.590287 6.312318 14.536853 c 6.251539 14.488708 6.223129 14.422520 6.228539 14.345966 c 6.232800 14.305406 6.240900 14.264122 6.254288 14.229788 c 6.272241 14.198568 6.283242 14.172637 6.288742 14.159671 c 6.288742 14.159671 l s +n 6.556062 13.659934 m 6.825772 13.656668 l 6.824926 13.736336 l 6.555216 13.739601 l 6.526897 13.737002 6.500029 13.742080 6.478450 13.754109 c 6.461434 13.769250 6.450433 13.795182 6.443996 13.824226 c 6.451975 13.866447 6.470744 13.902654 6.495013 13.925896 c 6.510880 13.946750 6.540650 13.957025 6.580483 13.957448 c 6.834840 13.957084 l 6.831092 14.021399 l 6.212006 14.027083 l 6.215753 13.962769 l 6.454756 13.965307 l 6.430487 13.942065 6.413894 13.917373 6.409542 13.894343 c 6.398239 13.876603 6.385484 13.851185 6.379682 13.820479 c 6.381767 13.768404 6.402107 13.728782 6.436138 13.698499 c 6.463217 13.673504 6.504713 13.661687 6.556062 13.659934 c 6.556062 13.659934 l s +n 6.386692 13.520999 m 6.390439 13.456685 l 6.834838 13.452210 l 6.831090 13.516525 l 6.386692 13.520999 l s +n 6.212003 13.522209 m 6.215751 13.457895 l 6.326125 13.452938 l 6.322378 13.517252 l 6.212003 13.522209 l s +n 6.209766 13.300010 m 6.213513 13.235696 l 6.832600 13.230011 l 6.828853 13.294325 l 6.209766 13.300010 l s +n 6.444203 12.794560 m 6.205200 12.792023 l 6.206046 12.712355 l 6.825133 12.706671 l 6.824287 12.786338 l 6.759973 12.782591 l 6.784967 12.809671 6.805398 12.833637 6.820540 12.850653 c 6.832568 12.872232 6.845323 12.897649 6.850400 12.924517 c 6.849040 12.980430 6.830151 13.027729 6.796846 13.061851 c 6.751300 13.094310 6.693725 13.105191 6.627960 13.093767 c 6.557420 13.099147 6.499331 13.086272 6.462822 13.061369 c 6.417185 13.030239 6.393127 12.987081 6.390649 12.931894 c 6.385571 12.905026 6.392009 12.875981 6.406848 12.849325 c 6.414736 12.827957 6.427188 12.809702 6.444203 12.794560 c 6.444203 12.794560 l s +n 6.616354 13.032354 m 6.660752 13.035890 6.702248 13.024072 6.736279 12.993789 c 6.763358 12.968794 6.781311 12.937574 6.783184 12.905417 c 6.783607 12.865583 6.770128 12.836327 6.735069 12.819100 c 6.703123 12.797310 6.660388 12.781533 6.615990 12.777998 c 6.556965 12.781201 6.515469 12.793019 6.496066 12.816563 c 6.471374 12.833155 6.453422 12.864375 6.449160 12.904935 c 6.447287 12.937092 6.457653 12.970911 6.481922 12.994153 c 6.510755 13.020507 6.557329 13.035558 6.616354 13.032354 c 6.616354 13.032354 l s +n 6.397052 12.040196 m 6.461367 12.043943 l 6.458042 12.068424 6.453267 12.085228 6.454718 12.092904 c 6.449217 12.105870 6.445893 12.130351 6.450971 12.157219 c 6.449097 12.189376 6.455625 12.223921 6.468379 12.249338 c 6.472732 12.272368 6.485697 12.277869 6.504889 12.274242 c 6.516404 12.272066 6.531757 12.269164 6.550949 12.265538 c 6.561013 12.255685 6.571288 12.225915 6.582501 12.180067 c 6.576698 12.149360 l 6.590298 12.095110 6.603687 12.060777 6.620702 12.045635 c 6.640105 12.022091 6.666248 12.013175 6.694567 12.015775 c 6.736788 12.007796 6.768009 12.025748 6.798292 12.059779 c 6.823287 12.086858 6.835104 12.128354 6.836857 12.179703 c 6.842660 12.210410 6.840061 12.238729 6.836011 12.259371 c 6.828849 12.284577 6.819298 12.318185 6.807360 12.360195 c 6.727693 12.359349 l 6.743469 12.316614 6.756858 12.282280 6.771697 12.255624 c 6.779585 12.234256 6.778346 12.206662 6.772543 12.175956 c 6.778980 12.146912 6.774628 12.123882 6.760937 12.114543 c 6.749634 12.096802 6.735942 12.087463 6.724428 12.089639 c 6.703785 12.085590 6.688432 12.088491 6.678368 12.098344 c 6.661352 12.113485 6.647238 12.143980 6.631462 12.186716 c 6.621912 12.220324 l 6.622214 12.263996 6.612664 12.297604 6.593261 12.321148 c 6.576245 12.336289 6.549377 12.341367 6.516495 12.335655 c 6.478112 12.342909 6.448342 12.332633 6.431024 12.304103 c 6.404579 12.269346 6.392762 12.227850 6.392459 12.184178 c 6.387382 12.157310 6.389981 12.128991 6.393305 12.104510 c 6.389678 12.085319 6.393728 12.064677 6.397052 12.040196 c 6.397052 12.040196 l s +n 6.658903 11.911203 m 6.389194 11.914468 l 6.390040 11.834801 l 6.659749 11.831536 l 6.704147 11.835072 6.734853 11.829269 6.751869 11.814127 c 6.771272 11.790583 6.781548 11.760813 6.783421 11.728656 c 6.783844 11.688822 6.774203 11.658841 6.750659 11.639438 c 6.720164 11.625324 6.678880 11.617225 6.634482 11.613689 c 6.380126 11.614052 l 6.380972 11.534385 l 6.825370 11.529910 l 6.824524 11.609578 l 6.760210 11.605830 l 6.785204 11.632910 6.805635 11.656877 6.820777 11.673892 c 6.832805 11.695471 6.845560 11.720889 6.850637 11.747757 c 6.849277 11.803669 6.828937 11.843292 6.794181 11.869737 c 6.760150 11.900020 6.714816 11.912563 6.658903 11.911203 c 6.658903 11.911203 l s +n 6.385083 11.724427 m 6.385083 11.724427 l s +n 6.627952 11.074270 m 6.568926 11.077473 6.519754 11.090742 6.492674 11.115736 c 6.467982 11.132329 6.449304 11.159711 6.442867 11.188755 c 6.450846 11.230976 6.469615 11.267183 6.493884 11.290425 c 6.521266 11.309102 6.566389 11.316477 6.625414 11.313273 c 6.669812 11.316809 6.712033 11.308830 6.748240 11.290061 c 6.775320 11.265066 6.784870 11.231458 6.776891 11.189237 c 6.779490 11.160918 6.770574 11.134775 6.747030 11.115372 c 6.715085 11.093582 6.672349 11.077806 6.627952 11.074270 c 6.627952 11.074270 l s +n 6.453627 11.329836 m 6.430808 11.314271 6.415667 11.297255 6.411314 11.274226 c 6.398560 11.248808 6.384355 11.215714 6.378552 11.185008 c 6.380638 11.132933 6.404816 11.092586 6.450362 11.060126 c 6.487505 11.025279 6.542904 11.002883 6.613444 10.997503 c 6.679210 11.008927 6.734911 11.030204 6.769032 11.063510 c 6.813218 11.086962 6.836551 11.126282 6.838304 11.177631 c 6.844107 11.208338 6.839120 11.245059 6.825006 11.275554 c 6.806328 11.302936 6.792426 11.313514 6.769396 11.317866 c 6.833711 11.321613 l 6.829963 11.385928 l 6.210876 11.391612 l 6.214624 11.327298 l 6.453627 11.329836 l s +n 6.768669 10.809153 m 6.992318 10.814593 l 6.988571 10.878907 l 6.384838 10.881690 l 6.388585 10.817376 l 6.452899 10.821123 l 6.430081 10.805558 6.414939 10.788543 6.410587 10.765513 c 6.397833 10.740095 6.383628 10.707001 6.377825 10.676295 c 6.379910 10.624221 6.404088 10.583873 6.449634 10.551413 c 6.486778 10.516566 6.542177 10.494171 6.612717 10.488791 c 6.678482 10.500215 6.734183 10.521491 6.768305 10.554797 c 6.812491 10.578250 6.835823 10.617570 6.837576 10.668919 c 6.843379 10.699625 6.838393 10.736346 6.824279 10.766841 c 6.805601 10.794223 6.791699 10.804801 6.768669 10.809153 c 6.768669 10.809153 l s +n 6.627224 10.565557 m 6.568199 10.568761 6.519026 10.582029 6.491947 10.607023 c 6.467254 10.623616 6.448577 10.650998 6.442139 10.680042 c 6.450118 10.722264 6.468887 10.758471 6.493156 10.781712 c 6.520538 10.800390 6.565661 10.807764 6.624687 10.804560 c 6.669084 10.808096 6.711305 10.800117 6.747512 10.781348 c 6.774592 10.756354 6.784142 10.722746 6.776163 10.680524 c 6.778762 10.652206 6.769847 10.626063 6.746303 10.606660 c 6.714357 10.584869 6.671622 10.569093 6.627224 10.565557 c 6.627224 10.565557 l s +n 6.451688 10.141560 m 6.451688 10.141560 6.453138 10.149237 6.454589 10.156913 c 6.446912 10.158364 6.440687 10.167491 6.442137 10.175168 c 6.450116 10.217389 6.468885 10.253596 6.493154 10.276838 c 6.520536 10.295515 6.557982 10.304340 6.609331 10.302587 c 6.832981 10.308026 l 6.829234 10.372341 l 6.384835 10.376816 l 6.388583 10.312501 l 6.452897 10.316249 l 6.430079 10.300684 6.414937 10.283668 6.410585 10.260639 c 6.397831 10.235221 6.383626 10.202127 6.377823 10.171421 c 6.387887 10.161568 6.390275 10.153166 6.390275 10.153166 c 6.388824 10.145489 6.387373 10.137813 6.387373 10.137813 c 6.451688 10.141560 l s +n 6.446246 9.860336 m 6.446549 9.904008 6.457641 9.941665 6.481910 9.964907 c 6.509292 9.983584 6.554415 9.990959 6.613440 9.987755 c 6.657838 9.991291 6.700059 9.983312 6.736266 9.964543 c 6.763346 9.939549 6.780573 9.904490 6.780270 9.860818 c 6.782869 9.832499 6.768664 9.799405 6.732155 9.774501 c 6.700209 9.752711 6.657474 9.736934 6.613076 9.733398 c 6.554051 9.736602 6.512555 9.748420 6.493152 9.771963 c 6.470636 9.800071 6.452684 9.831291 6.446246 9.860336 c 6.446246 9.860336 l s +n 6.384833 9.871941 m 6.386919 9.819867 6.409646 9.771843 6.453741 9.731707 c 6.490885 9.696859 6.546284 9.674464 6.616824 9.669084 c 6.682589 9.680508 6.738290 9.701785 6.772412 9.735090 c 6.818774 9.770058 6.842832 9.813216 6.844585 9.864565 c 6.846852 9.939669 6.830139 9.998483 6.796833 10.032605 c 6.751287 10.065064 6.693713 10.075945 6.627948 10.064521 c 6.557407 10.069901 6.499319 10.057026 6.462809 10.032123 c 6.417172 10.000993 6.390939 9.946320 6.384833 9.871941 c 6.384833 9.871941 l s +n 6.627491 9.241701 m 6.568465 9.244905 6.519293 9.258173 6.492213 9.283168 c 6.467521 9.299760 6.448843 9.327142 6.442406 9.356187 c 6.450385 9.398408 6.469154 9.434615 6.493423 9.457856 c 6.520805 9.476534 6.565928 9.483908 6.624953 9.480704 c 6.669351 9.484240 6.711572 9.476261 6.747779 9.457493 c 6.774859 9.432498 6.784409 9.398890 6.776430 9.356669 c 6.779029 9.328350 6.770113 9.302207 6.746569 9.282804 c 6.714624 9.261013 6.671888 9.245237 6.627491 9.241701 c 6.627491 9.241701 l s +n 6.453166 9.497267 m 6.430348 9.481703 6.415206 9.464687 6.410854 9.441657 c 6.398099 9.416240 6.383894 9.383146 6.378092 9.352439 c 6.380177 9.300365 6.404355 9.260017 6.449901 9.227558 c 6.487045 9.192710 6.542443 9.170315 6.612983 9.164935 c 6.678749 9.176359 6.734450 9.197636 6.768571 9.230941 c 6.812758 9.254394 6.836090 9.293714 6.837843 9.345063 c 6.843646 9.375769 6.838659 9.412490 6.824545 9.442985 c 6.805868 9.470367 6.791965 9.480945 6.768935 9.485298 c 6.833250 9.489045 l 6.829502 9.553359 l 6.210415 9.559044 l 6.214163 9.494729 l 6.453166 9.497267 l s +n 6.209688 9.050331 m 6.213435 8.986017 l 6.832522 8.980332 l 6.828775 9.044647 l 6.209688 9.050331 l s +n 6.586052 8.454454 m 6.619660 8.464004 l 6.616276 8.782675 l 6.672189 8.784035 6.713685 8.772218 6.736201 8.744110 c 6.761830 8.711439 6.777606 8.668704 6.777303 8.625032 c 6.779902 8.596713 6.774825 8.569845 6.762796 8.548265 c 6.757718 8.521397 6.747352 8.487578 6.730034 8.459047 c 6.794348 8.462795 l 6.819343 8.489874 6.837386 8.522243 6.842464 8.549111 c 6.846816 8.572141 6.844217 8.600460 6.841618 8.628779 c 6.843885 8.703883 6.827172 8.762697 6.793866 8.796819 c 6.749771 8.836955 6.693647 8.855512 6.627882 8.844088 c 6.557342 8.849468 6.498528 8.832755 6.459842 8.796337 c 6.414206 8.765207 6.387972 8.710534 6.381866 8.636155 c 6.383952 8.584081 6.404291 8.544459 6.438322 8.514175 c 6.475466 8.479328 6.527026 8.457658 6.586052 8.454454 c 6.586052 8.454454 l s +n 6.551598 8.524572 m 6.523279 8.521972 6.497136 8.530888 6.477733 8.554432 c 6.460718 8.569574 6.449717 8.595505 6.443279 8.624549 c 6.443582 8.668222 6.454674 8.705879 6.478943 8.729121 c 6.496261 8.757651 6.523643 8.776329 6.551962 8.778928 c 6.551598 8.524572 l s +n 6.479816 7.997484 m 6.447871 7.975693 6.419763 7.953177 6.403896 7.932323 c 6.392593 7.914582 6.386790 7.883876 6.386487 7.840204 c 6.390749 7.799645 6.407975 7.764586 6.430491 7.736478 c 6.457571 7.711484 6.499067 7.699667 6.550416 7.697914 c 6.820125 7.694648 l 6.834633 7.771415 l 6.564923 7.774680 l 6.536604 7.772081 6.509736 7.777158 6.488157 7.789187 c 6.461289 7.794265 6.445724 7.817083 6.450802 7.843951 c 6.451104 7.887623 6.462196 7.925281 6.486465 7.948522 c 6.502332 7.969376 6.532102 7.979652 6.571936 7.980075 c 6.826292 7.979711 l 6.825446 8.059379 l 6.555737 8.062644 l 6.527418 8.060045 6.500550 8.065123 6.478970 8.077151 c 6.459779 8.080778 6.448052 8.102871 6.441615 8.131915 c 6.449594 8.174137 6.468363 8.210344 6.492632 8.233585 c 6.508499 8.254439 6.538269 8.264715 6.578102 8.265138 c 6.832459 8.264774 l 6.828711 8.329088 l 6.384313 8.333563 l 6.388061 8.269249 l 6.452375 8.272996 l 6.428106 8.249755 6.411513 8.225063 6.407161 8.202033 c 6.395858 8.184292 6.383104 8.158875 6.377301 8.128168 c 6.383738 8.099124 6.394014 8.069354 6.408853 8.042697 c 6.428256 8.019154 6.452948 8.002561 6.479816 7.997484 c 6.479816 7.997484 l s +n 6.396247 7.281805 m 6.460561 7.285552 l 6.457237 7.310033 6.452462 7.326837 6.453913 7.334513 c 6.448412 7.347479 6.445088 7.371959 6.450165 7.398828 c 6.448291 7.430985 6.454820 7.465530 6.467574 7.490947 c 6.471926 7.513977 6.484892 7.519478 6.504083 7.515851 c 6.515598 7.513675 6.530952 7.510773 6.550143 7.507146 c 6.560207 7.497294 6.570483 7.467524 6.581696 7.421676 c 6.575893 7.390969 l 6.589493 7.336719 6.602881 7.302386 6.619897 7.287244 c 6.639300 7.263700 6.665443 7.254784 6.693762 7.257383 c 6.735983 7.249404 6.767203 7.267357 6.797487 7.301387 c 6.822481 7.328467 6.834299 7.369963 6.836052 7.421312 c 6.841855 7.452018 6.839256 7.480337 6.835206 7.500980 c 6.828043 7.526186 6.818493 7.559794 6.806555 7.601803 c 6.726887 7.600958 l 6.742663 7.558222 6.756052 7.523889 6.770891 7.497232 c 6.778780 7.475865 6.777540 7.448271 6.771737 7.417565 c 6.778175 7.388520 6.773823 7.365490 6.760132 7.356152 c 6.748828 7.338411 6.735137 7.329072 6.723622 7.331248 c 6.702980 7.327198 6.687627 7.330100 6.677562 7.339952 c 6.660547 7.355094 6.646433 7.385589 6.630657 7.428325 c 6.621106 7.461932 l 6.621409 7.505605 6.611859 7.539213 6.592455 7.562756 c 6.575440 7.577898 6.548572 7.582976 6.515689 7.577264 c 6.477306 7.584517 6.447536 7.574242 6.430219 7.545711 c 6.403773 7.510955 6.391956 7.469459 6.391654 7.425787 c 6.386576 7.398919 6.389175 7.370600 6.392500 7.346119 c 6.388873 7.326928 6.392923 7.306285 6.396247 7.281805 c 6.396247 7.281805 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +n 5.915000 6.605000 m 5.915000 15.150000 l 7.425000 15.150000 l 7.425000 6.605000 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +n -2.010000 6.555000 m -2.010000 15.100000 l -0.500000 15.100000 l -0.500000 6.555000 l cp s +0.010000 slw +[] 0 sd +0 slj +1 slc +n -1.683132 14.772622 m -1.682650 14.438598 l -1.602982 14.439444 l -1.602618 14.693801 l -1.443283 14.695492 l -1.437844 14.471843 l -1.358176 14.472689 l -1.363615 14.696338 l -1.093906 14.693073 l -1.094752 14.772741 l -1.683132 14.772622 l s +n -1.322212 14.116058 m -1.319734 14.171245 -1.311755 14.213466 -1.299000 14.238884 c -1.283133 14.259737 -1.266329 14.264513 -1.247138 14.260886 c -1.214255 14.266598 -1.187387 14.261520 -1.170371 14.246378 c -1.150968 14.222835 -1.139242 14.200742 -1.135918 14.176261 c -1.143171 14.137878 -1.158102 14.100946 -1.186934 14.074591 c -1.218880 14.052801 -1.260890 14.040863 -1.303111 14.048842 c -1.321366 14.036390 l -1.322212 14.116058 l s +n -1.348325 13.977878 m -1.093969 13.977515 l -1.097716 14.041829 l -1.162031 14.038082 l -1.137036 14.065161 -1.116606 14.089128 -1.101464 14.106144 c -1.089435 14.127723 -1.084357 14.154591 -1.086956 14.182910 c -1.088316 14.238822 -1.097141 14.276269 -1.112706 14.299087 c -1.135222 14.327194 -1.172154 14.342125 -1.214376 14.350104 c -1.265724 14.351857 -1.300783 14.334630 -1.318101 14.306100 c -1.344546 14.271343 -1.359265 14.214494 -1.365370 14.140115 c -1.367426 14.045094 l -1.382779 14.047996 l -1.411098 14.045397 -1.437241 14.054313 -1.456644 14.077856 c -1.471483 14.104513 -1.477921 14.133557 -1.472843 14.160426 c -1.476168 14.184906 -1.478767 14.213225 -1.473689 14.240093 c -1.475563 14.272250 -1.466647 14.298393 -1.443828 14.313958 c -1.508143 14.310211 l -1.532412 14.286969 -1.541328 14.260826 -1.538003 14.236346 c -1.543081 14.209478 -1.539757 14.184997 -1.534256 14.172031 c -1.533622 14.112281 -1.514732 14.064982 -1.480702 14.034698 c -1.455073 14.002027 -1.407351 13.981082 -1.348325 13.977878 c -1.348325 13.977878 l s +n -1.649317 13.752507 m -1.536041 13.762903 l -1.534349 13.603568 l -1.472936 13.591962 l -1.474628 13.751298 l -1.235625 13.753835 l -1.202742 13.759547 -1.179712 13.755195 -1.174212 13.742229 c -1.164148 13.732377 -1.156985 13.707171 -1.155111 13.675014 c -1.154265 13.595346 l -1.089951 13.599093 l -1.090797 13.678761 l -1.092157 13.734673 -1.100982 13.772120 -1.116546 13.794938 c -1.141238 13.811531 -1.183460 13.819510 -1.239372 13.818150 c -1.478375 13.815612 l -1.485024 13.864573 l -1.546437 13.876179 l -1.539788 13.827218 l -1.653064 13.816822 l -1.649317 13.752507 l s +n -1.370150 13.147171 m -1.100440 13.143905 l -1.101286 13.223573 l -1.370996 13.226838 l -1.399315 13.224239 -1.426183 13.229317 -1.447762 13.241346 c -1.464777 13.256487 -1.475778 13.282419 -1.482216 13.311463 c -1.474237 13.353684 -1.455468 13.389891 -1.431199 13.413133 c -1.415332 13.433987 -1.385562 13.444262 -1.345728 13.444685 c -1.091372 13.444322 l -1.095119 13.508636 l -1.714206 13.514320 l -1.710459 13.450006 l -1.471456 13.452544 l -1.495725 13.429302 -1.512317 13.404610 -1.516670 13.381580 c -1.527973 13.363840 -1.540727 13.338422 -1.546530 13.307716 c -1.544445 13.255642 -1.524105 13.216019 -1.490074 13.185736 c -1.462995 13.160741 -1.421498 13.148924 -1.370150 13.147171 c -1.370150 13.147171 l s +n -1.340171 12.632655 m -1.306563 12.642205 l -1.309946 12.960876 l -1.254034 12.962236 -1.212538 12.950419 -1.190022 12.922311 c -1.164393 12.889640 -1.148617 12.846905 -1.148919 12.803233 c -1.146320 12.774914 -1.151398 12.748046 -1.163426 12.726466 c -1.168504 12.699598 -1.178871 12.665779 -1.196189 12.637248 c -1.131874 12.640996 l -1.106880 12.668075 -1.088836 12.700444 -1.083759 12.727312 c -1.079407 12.750342 -1.082006 12.778661 -1.084605 12.806980 c -1.082338 12.882084 -1.099051 12.940898 -1.132356 12.975020 c -1.176451 13.015156 -1.232575 13.033713 -1.298341 13.022289 c -1.368881 13.027669 -1.427695 13.010956 -1.466380 12.974538 c -1.512017 12.943408 -1.538251 12.888735 -1.544356 12.814356 c -1.542271 12.762282 -1.521931 12.722660 -1.487900 12.692376 c -1.450756 12.657529 -1.399196 12.635859 -1.340171 12.632655 c -1.340171 12.632655 l s +n -1.374625 12.702772 m -1.402943 12.700173 -1.429086 12.709089 -1.448489 12.732633 c -1.465505 12.747775 -1.476506 12.773706 -1.482943 12.802750 c -1.482641 12.846423 -1.471549 12.884080 -1.447280 12.907322 c -1.429962 12.935852 -1.402580 12.954530 -1.374261 12.957129 c -1.374625 12.702772 l s +n -1.470493 12.279621 m -1.470493 12.279621 -1.469043 12.287298 -1.467592 12.294975 c -1.475269 12.296425 -1.481495 12.305553 -1.480044 12.313229 c -1.472065 12.355451 -1.453296 12.391658 -1.429027 12.414899 c -1.401645 12.433577 -1.364199 12.442402 -1.312850 12.440649 c -1.089200 12.446088 l -1.092947 12.510402 l -1.537346 12.514877 l -1.533598 12.450563 l -1.469284 12.454310 l -1.492102 12.438745 -1.507244 12.421730 -1.511596 12.398700 c -1.524350 12.373283 -1.538555 12.340188 -1.544358 12.309482 c -1.534294 12.299629 -1.531906 12.291227 -1.531906 12.291227 c -1.533357 12.283551 -1.534808 12.275874 -1.534808 12.275874 c -1.470493 12.279621 l s +n -1.528252 11.658449 m -1.463938 11.662197 l -1.467262 11.686677 -1.472037 11.703481 -1.470586 11.711158 c -1.476087 11.724124 -1.479411 11.748604 -1.474334 11.775472 c -1.476208 11.807630 -1.469679 11.842174 -1.456925 11.867592 c -1.452573 11.890622 -1.439607 11.896122 -1.420416 11.892495 c -1.408901 11.890319 -1.393547 11.887418 -1.374356 11.883791 c -1.364292 11.873938 -1.354016 11.844169 -1.342804 11.798320 c -1.348606 11.767614 l -1.335006 11.713364 -1.321618 11.679030 -1.304602 11.663889 c -1.285199 11.640345 -1.259056 11.631429 -1.230738 11.634028 c -1.188516 11.626049 -1.157296 11.644001 -1.127012 11.678032 c -1.102018 11.705112 -1.090200 11.746608 -1.088447 11.797957 c -1.082644 11.828663 -1.085243 11.856982 -1.089293 11.877624 c -1.096456 11.902830 -1.106006 11.936438 -1.117944 11.978448 c -1.197612 11.977602 l -1.181836 11.934867 -1.168447 11.900534 -1.153608 11.873877 c -1.145719 11.852509 -1.146959 11.824916 -1.152762 11.794209 c -1.146324 11.765165 -1.150676 11.742135 -1.164368 11.732796 c -1.175671 11.715056 -1.189362 11.705717 -1.200877 11.707893 c -1.221519 11.703843 -1.236872 11.706745 -1.246937 11.716597 c -1.263952 11.731739 -1.278066 11.762234 -1.293842 11.804969 c -1.303393 11.838577 l -1.303090 11.882249 -1.312641 11.915857 -1.332044 11.939401 c -1.349059 11.954543 -1.375927 11.959620 -1.408810 11.953908 c -1.447193 11.961162 -1.476963 11.950886 -1.494280 11.922356 c -1.520726 11.887600 -1.532543 11.846104 -1.532845 11.802432 c -1.537923 11.775563 -1.535324 11.747244 -1.531999 11.722764 c -1.535626 11.703572 -1.531577 11.682930 -1.528252 11.658449 c -1.528252 11.658449 l s +n -1.267126 11.525619 m -1.536836 11.528884 l -1.535990 11.449216 l -1.266280 11.445951 l -1.221883 11.449487 -1.191176 11.443684 -1.174161 11.428542 c -1.154758 11.404998 -1.144482 11.375229 -1.142609 11.343071 c -1.142186 11.303238 -1.151827 11.273256 -1.175371 11.253853 c -1.205866 11.239739 -1.247150 11.231640 -1.291548 11.228104 c -1.545904 11.228468 l -1.545058 11.148800 l -1.100660 11.144325 l -1.101506 11.223993 l -1.165820 11.220245 l -1.140826 11.247325 -1.120395 11.271292 -1.105253 11.288307 c -1.093224 11.309886 -1.080470 11.335304 -1.075393 11.362172 c -1.076752 11.418084 -1.097092 11.457707 -1.131849 11.484152 c -1.165880 11.514436 -1.211214 11.526978 -1.267126 11.525619 c -1.267126 11.525619 l s +n -1.540947 11.338842 m -1.540947 11.338842 l s +n -1.297353 10.692523 m -1.356378 10.695727 -1.405551 10.708995 -1.432631 10.733990 c -1.457323 10.750582 -1.476000 10.777964 -1.482438 10.807008 c -1.474459 10.849230 -1.455690 10.885437 -1.431421 10.908678 c -1.404039 10.927356 -1.358916 10.934730 -1.299891 10.931526 c -1.255493 10.935062 -1.213272 10.927083 -1.177065 10.908314 c -1.149985 10.883320 -1.140435 10.849712 -1.148414 10.807491 c -1.145815 10.779172 -1.154730 10.753029 -1.178274 10.733626 c -1.210220 10.711835 -1.252955 10.696059 -1.297353 10.692523 c -1.297353 10.692523 l s +n -1.471678 10.948089 m -1.494496 10.932524 -1.509638 10.915509 -1.513990 10.892479 c -1.526744 10.867062 -1.540949 10.833968 -1.546752 10.803261 c -1.544667 10.751187 -1.520489 10.710839 -1.474943 10.678380 c -1.437799 10.643532 -1.382400 10.621137 -1.311860 10.615757 c -1.246095 10.627181 -1.190394 10.648458 -1.156272 10.681763 c -1.112086 10.705216 -1.088754 10.744536 -1.087001 10.795885 c -1.081198 10.826591 -1.086184 10.863312 -1.100298 10.893807 c -1.118976 10.921189 -1.132879 10.931767 -1.155908 10.936119 c -1.091594 10.939867 l -1.095341 11.004181 l -1.714428 11.009866 l -1.710681 10.945551 l -1.471678 10.948089 l s +n -1.156636 10.427407 m -0.932986 10.432846 l -0.936733 10.497161 l -1.540467 10.499944 l -1.536720 10.435629 l -1.472405 10.439376 l -1.495224 10.423812 -1.510365 10.406796 -1.514717 10.383766 c -1.527472 10.358349 -1.541677 10.325255 -1.547480 10.294548 c -1.545394 10.242474 -1.521216 10.202127 -1.475670 10.169667 c -1.438526 10.134820 -1.383128 10.112424 -1.312588 10.107044 c -1.246822 10.118468 -1.191121 10.139745 -1.157000 10.173051 c -1.112814 10.196503 -1.089481 10.235823 -1.087728 10.287172 c -1.081925 10.317879 -1.086912 10.354600 -1.101026 10.385095 c -1.119703 10.412477 -1.133606 10.423055 -1.156636 10.427407 c -1.156636 10.427407 l s +n -1.298080 10.183811 m -1.357106 10.187014 -1.406278 10.200282 -1.433358 10.225277 c -1.458050 10.241869 -1.476728 10.269252 -1.483165 10.298296 c -1.475186 10.340517 -1.456417 10.376724 -1.432148 10.399966 c -1.404766 10.418643 -1.359643 10.426017 -1.300618 10.422814 c -1.256220 10.426349 -1.213999 10.418370 -1.177792 10.399602 c -1.150712 10.374607 -1.141162 10.340999 -1.149141 10.298778 c -1.146542 10.270459 -1.155458 10.244316 -1.179002 10.224913 c -1.210947 10.203123 -1.253683 10.187346 -1.298080 10.183811 c -1.298080 10.183811 l s +n -1.470504 9.755250 m -1.470504 9.755250 -1.469053 9.762926 -1.467602 9.770603 c -1.475279 9.772054 -1.481505 9.781181 -1.480054 9.788858 c -1.472075 9.831079 -1.453307 9.867286 -1.429037 9.890528 c -1.401655 9.909205 -1.364209 9.918030 -1.312860 9.916277 c -1.089211 9.921716 l -1.092958 9.986031 l -1.537356 9.990506 l -1.533609 9.926191 l -1.469294 9.929938 l -1.492113 9.914374 -1.507254 9.897358 -1.511607 9.874328 c -1.524361 9.848911 -1.538566 9.815817 -1.544369 9.785110 c -1.534304 9.775258 -1.531917 9.766856 -1.531917 9.766856 c -1.533368 9.759179 -1.534818 9.751502 -1.534818 9.751502 c -1.470504 9.755250 l s +n -1.479784 9.474751 m -1.479481 9.518423 -1.468389 9.556081 -1.444120 9.579322 c -1.416738 9.598000 -1.371615 9.605374 -1.312590 9.602170 c -1.268192 9.605706 -1.225971 9.597727 -1.189764 9.578958 c -1.162684 9.553964 -1.145457 9.518905 -1.145760 9.475233 c -1.143160 9.446914 -1.157365 9.413820 -1.193875 9.388916 c -1.225821 9.367126 -1.268556 9.351350 -1.312953 9.347814 c -1.371979 9.351018 -1.413475 9.362835 -1.432878 9.386379 c -1.455394 9.414486 -1.473346 9.445706 -1.479784 9.474751 c -1.479784 9.474751 l s +n -1.541196 9.486357 m -1.539111 9.434282 -1.516384 9.386258 -1.472289 9.346122 c -1.435145 9.311275 -1.379746 9.288879 -1.309206 9.283499 c -1.243441 9.294923 -1.187740 9.316200 -1.153618 9.349505 c -1.107256 9.384473 -1.083198 9.427632 -1.081445 9.478980 c -1.079178 9.554084 -1.095891 9.612898 -1.129197 9.647020 c -1.174742 9.679480 -1.232317 9.690360 -1.298082 9.678936 c -1.368623 9.684316 -1.426711 9.671441 -1.463221 9.646538 c -1.508857 9.615408 -1.535091 9.560735 -1.541196 9.486357 c -1.541196 9.486357 l s +n -1.298539 8.856116 m -1.357564 8.859320 -1.406737 8.872588 -1.433817 8.897583 c -1.458509 8.914175 -1.477187 8.941558 -1.483624 8.970602 c -1.475645 9.012823 -1.456876 9.049030 -1.432607 9.072272 c -1.405225 9.090949 -1.360102 9.098323 -1.301077 9.095120 c -1.256679 9.098655 -1.214458 9.090676 -1.178251 9.071908 c -1.151171 9.046913 -1.141621 9.013305 -1.149600 8.971084 c -1.147001 8.942765 -1.155917 8.916622 -1.179460 8.897219 c -1.211406 8.875429 -1.254142 8.859652 -1.298539 8.856116 c -1.298539 8.856116 l s +n -1.472864 9.111682 m -1.495682 9.096118 -1.510824 9.079102 -1.515176 9.056072 c -1.527931 9.030655 -1.542135 8.997561 -1.547938 8.966854 c -1.545853 8.914780 -1.521675 8.874433 -1.476129 8.841973 c -1.438985 8.807126 -1.383587 8.784730 -1.313046 8.779350 c -1.247281 8.790774 -1.191580 8.812051 -1.157458 8.845357 c -1.113272 8.868809 -1.089940 8.908129 -1.088187 8.959478 c -1.082384 8.990185 -1.087371 9.026905 -1.101485 9.057401 c -1.120162 9.084783 -1.134065 9.095361 -1.157095 9.099713 c -1.092780 9.103460 l -1.096528 9.167775 l -1.715614 9.173459 l -1.711867 9.109145 l -1.472864 9.111682 l s +n -1.711778 8.667859 m -1.708031 8.603545 l -1.088944 8.597861 l -1.092691 8.662175 l -1.711778 8.667859 l s +n -1.339253 8.072708 m -1.305645 8.082258 l -1.309028 8.400929 l -1.253116 8.402289 -1.211620 8.390471 -1.189104 8.362364 c -1.163475 8.329693 -1.147699 8.286957 -1.148001 8.243285 c -1.145402 8.214966 -1.150480 8.188098 -1.162508 8.166519 c -1.167586 8.139651 -1.177953 8.105831 -1.195270 8.077301 c -1.130956 8.081048 l -1.105962 8.108128 -1.087918 8.140497 -1.082841 8.167365 c -1.078489 8.190395 -1.081088 8.218714 -1.083687 8.247033 c -1.081420 8.322137 -1.098133 8.380951 -1.131438 8.415072 c -1.175533 8.455209 -1.231657 8.473766 -1.297422 8.462342 c -1.367963 8.467722 -1.426777 8.451009 -1.465462 8.414590 c -1.511099 8.383461 -1.537333 8.328788 -1.543438 8.254409 c -1.541353 8.202335 -1.521013 8.162712 -1.486982 8.132429 c -1.449838 8.097582 -1.398278 8.075912 -1.339253 8.072708 c -1.339253 8.072708 l s +n -1.373706 8.142825 m -1.402025 8.140226 -1.428168 8.149142 -1.447571 8.172686 c -1.464587 8.187827 -1.475588 8.213759 -1.482025 8.242803 c -1.481723 8.286475 -1.470631 8.324133 -1.446362 8.347374 c -1.429044 8.375905 -1.401662 8.394582 -1.373343 8.397181 c -1.373706 8.142825 l s +n -1.441650 7.615012 m -1.473596 7.593221 -1.501703 7.570705 -1.517570 7.549851 c -1.528874 7.532111 -1.534677 7.501404 -1.534979 7.457732 c -1.530718 7.417173 -1.513491 7.382114 -1.490975 7.354007 c -1.463895 7.329012 -1.422399 7.317195 -1.371050 7.315442 c -1.101341 7.312176 l -1.086833 7.388943 l -1.356543 7.392208 l -1.384862 7.389609 -1.411730 7.394686 -1.433309 7.406715 c -1.460177 7.411793 -1.475742 7.434611 -1.470665 7.461479 c -1.470362 7.505152 -1.459270 7.542809 -1.435001 7.566051 c -1.419134 7.586904 -1.389364 7.597180 -1.349530 7.597603 c -1.095174 7.597239 l -1.096020 7.676907 l -1.365730 7.680172 l -1.394048 7.677573 -1.420917 7.682651 -1.442496 7.694680 c -1.461687 7.698306 -1.473414 7.720399 -1.479851 7.749444 c -1.471872 7.791665 -1.453103 7.827872 -1.428834 7.851113 c -1.412967 7.871967 -1.383198 7.882243 -1.343364 7.882666 c -1.089007 7.882302 l -1.092755 7.946617 l -1.537153 7.951091 l -1.533406 7.886777 l -1.469091 7.890524 l -1.493360 7.867283 -1.509953 7.842591 -1.514305 7.819561 c -1.525608 7.801820 -1.538363 7.776403 -1.544166 7.745696 c -1.537728 7.716652 -1.527452 7.686882 -1.512613 7.660226 c -1.493210 7.636682 -1.468518 7.620089 -1.441650 7.615012 c -1.441650 7.615012 l s +n -1.525219 6.899333 m -1.460905 6.903080 l -1.464229 6.927561 -1.469004 6.944365 -1.467554 6.952041 c -1.473054 6.965007 -1.476379 6.989488 -1.471301 7.016356 c -1.473175 7.048513 -1.466646 7.083058 -1.453892 7.108475 c -1.449540 7.131505 -1.436574 7.137006 -1.417383 7.133379 c -1.405868 7.131203 -1.390515 7.128301 -1.371323 7.124674 c -1.361259 7.114822 -1.350983 7.085052 -1.339771 7.039204 c -1.345574 7.008497 l -1.331973 6.954247 -1.318585 6.919914 -1.301569 6.904772 c -1.282166 6.881228 -1.256024 6.872312 -1.227705 6.874911 c -1.185483 6.866932 -1.154263 6.884885 -1.123979 6.918916 c -1.098985 6.945995 -1.087168 6.987491 -1.085414 7.038840 c -1.079611 7.069547 -1.082210 7.097865 -1.086260 7.118508 c -1.093423 7.143714 -1.102973 7.177322 -1.114911 7.219332 c -1.194579 7.218486 l -1.178803 7.175750 -1.165414 7.141417 -1.150575 7.114760 c -1.142687 7.093393 -1.143926 7.065799 -1.149729 7.035093 c -1.143291 7.006048 -1.147644 6.983019 -1.161335 6.973680 c -1.172638 6.955939 -1.186329 6.946600 -1.197844 6.948776 c -1.218486 6.944726 -1.233840 6.947628 -1.243904 6.957481 c -1.260919 6.972622 -1.275033 7.003117 -1.290809 7.045853 c -1.300360 7.079461 l -1.300057 7.123133 -1.309608 7.156741 -1.329011 7.180284 c -1.346026 7.195426 -1.372894 7.200504 -1.405777 7.194792 c -1.444160 7.202045 -1.473930 7.191770 -1.491248 7.163239 c -1.517693 7.128483 -1.529510 7.086987 -1.529813 7.043315 c -1.534890 7.016447 -1.532291 6.988128 -1.528967 6.963647 c -1.532593 6.944456 -1.528544 6.923813 -1.525219 6.899333 c -1.525219 6.899333 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +n -9.725000 6.150000 m -9.725000 25.700474 l -8.375000 25.700474 l -8.375000 6.150000 l cp s +0.010000 slw +[] 0 sd +0 slj +1 slc +n -9.442618 18.966101 m -9.237223 18.959088 l -9.242180 18.848714 l -9.235743 18.819670 -9.244659 18.793527 -9.272041 18.774849 c -9.294859 18.759284 -9.324629 18.749009 -9.357511 18.743297 c -9.384380 18.748374 -9.405233 18.764241 -9.413121 18.785609 c -9.430137 18.800751 -9.441138 18.826682 -9.447575 18.855726 c -9.442618 18.966101 l s +n -9.523132 19.044922 m -9.527243 18.854881 l -9.525158 18.802806 -9.504818 18.763184 -9.470787 18.732901 c -9.445158 18.700229 -9.405113 18.680735 -9.353764 18.678982 c -9.290175 18.678891 -9.242876 18.697781 -9.216431 18.732537 c -9.187598 18.758891 -9.175781 18.800387 -9.177866 18.852461 c -9.172909 18.962835 l -8.933906 18.965373 l -8.934752 19.045041 l -9.523132 19.044922 l s +n -9.318435 18.382102 m -9.318132 18.425774 -9.307040 18.463432 -9.282771 18.486673 c -9.255389 18.505351 -9.210266 18.512725 -9.151241 18.509521 c -9.106843 18.513057 -9.064622 18.505078 -9.028415 18.486310 c -9.001335 18.461315 -8.984108 18.426257 -8.984411 18.382584 c -8.981811 18.354265 -8.996016 18.321171 -9.032526 18.296268 c -9.064472 18.274477 -9.107207 18.258701 -9.151604 18.255165 c -9.210630 18.258369 -9.252126 18.270186 -9.271529 18.293730 c -9.294045 18.321838 -9.311997 18.353058 -9.318435 18.382102 c -9.318435 18.382102 l s +n -9.379848 18.393708 m -9.377762 18.341634 -9.355035 18.293610 -9.310940 18.253473 c -9.273796 18.218626 -9.218397 18.196231 -9.147857 18.190851 c -9.082092 18.202275 -9.026391 18.223551 -8.992269 18.256857 c -8.945907 18.291825 -8.921849 18.334983 -8.920096 18.386332 c -8.917829 18.461436 -8.934542 18.520250 -8.967848 18.554372 c -9.013394 18.586831 -9.070968 18.597712 -9.136733 18.586288 c -9.207274 18.591668 -9.265362 18.578793 -9.301872 18.553889 c -9.347508 18.522760 -9.373742 18.468087 -9.379848 18.393708 c -9.379848 18.393708 l s +n -9.319373 17.893306 m -9.319071 17.936979 -9.307979 17.974636 -9.283710 17.997878 c -9.256328 18.016555 -9.211205 18.023930 -9.152180 18.020726 c -9.107782 18.024262 -9.065561 18.016283 -9.029354 17.997514 c -9.002274 17.972519 -8.985047 17.937461 -8.985349 17.893789 c -8.982750 17.865470 -8.996955 17.832376 -9.033465 17.807472 c -9.065411 17.785681 -9.108146 17.769905 -9.152543 17.766369 c -9.211569 17.769573 -9.253065 17.781391 -9.272468 17.804934 c -9.294984 17.833042 -9.312936 17.864262 -9.319373 17.893306 c -9.319373 17.893306 l s +n -9.380786 17.904912 m -9.378701 17.852838 -9.355974 17.804814 -9.311879 17.764678 c -9.274735 17.729830 -9.219336 17.707435 -9.148796 17.702055 c -9.083031 17.713479 -9.027330 17.734756 -8.993208 17.768061 c -8.946846 17.803029 -8.922788 17.846187 -8.921035 17.897536 c -8.918768 17.972640 -8.935481 18.031454 -8.968787 18.065576 c -9.014332 18.098035 -9.071907 18.108916 -9.137672 18.097492 c -9.208213 18.102872 -9.266301 18.089997 -9.302811 18.065094 c -9.348447 18.033964 -9.374681 17.979291 -9.380786 17.904912 c -9.380786 17.904912 l s +n -9.555930 17.588177 m -9.552182 17.523862 l -8.933096 17.518178 l -8.936843 17.582492 l -9.555930 17.588177 l s +n -9.319075 16.927230 m -9.318773 16.970902 -9.307681 17.008560 -9.283412 17.031801 c -9.256030 17.050479 -9.210907 17.057853 -9.151881 17.054649 c -9.107484 17.058185 -9.065262 17.050206 -9.029055 17.031438 c -9.001976 17.006443 -8.984749 16.971384 -8.985051 16.927712 c -8.982452 16.899393 -8.996657 16.866299 -9.033167 16.841396 c -9.065112 16.819605 -9.107848 16.803829 -9.152245 16.800293 c -9.211271 16.803497 -9.252767 16.815314 -9.272170 16.838858 c -9.294686 16.866965 -9.312638 16.898186 -9.319075 16.927230 c -9.319075 16.927230 l s +n -9.380488 16.938836 m -9.378403 16.886762 -9.355676 16.838737 -9.311580 16.798601 c -9.274437 16.763754 -9.219038 16.741358 -9.148498 16.735978 c -9.082733 16.747402 -9.027032 16.768679 -8.992910 16.801985 c -8.946548 16.836953 -8.922490 16.880111 -8.920737 16.931460 c -8.918470 17.006564 -8.935183 17.065377 -8.968488 17.099499 c -9.014034 17.131959 -9.071609 17.142839 -9.137374 17.131415 c -9.207914 17.136795 -9.266003 17.123921 -9.302512 17.099017 c -9.348149 17.067888 -9.374383 17.013214 -9.380488 16.938836 c -9.380488 16.938836 l s +n -9.550192 16.398450 m -9.488779 16.386844 l -9.489625 16.466512 l -9.492950 16.490993 -9.485485 16.509459 -9.462666 16.525024 c -9.448975 16.534362 -9.432896 16.535299 -9.413705 16.531672 c -9.380097 16.541223 l -9.385054 16.430849 l -9.323641 16.419243 l -9.318684 16.529617 l -8.935699 16.536748 l -8.939446 16.601062 l -9.322431 16.593931 l -9.323277 16.673599 l -9.384690 16.685205 l -9.383844 16.605537 l -9.399198 16.608439 l -9.450546 16.610192 -9.487993 16.601367 -9.515375 16.582689 c -9.538193 16.567124 -9.548560 16.533305 -9.551038 16.478118 c -9.550192 16.398450 l s +n -9.366258 15.815086 m -9.301943 15.818834 l -9.305268 15.843314 -9.310043 15.860118 -9.308592 15.867795 c -9.314093 15.880760 -9.317417 15.905241 -9.312340 15.932109 c -9.314213 15.964266 -9.307685 15.998811 -9.294931 16.024229 c -9.290579 16.047259 -9.277613 16.052759 -9.258421 16.049132 c -9.246906 16.046956 -9.231553 16.044055 -9.212362 16.040428 c -9.202297 16.030575 -9.192022 16.000806 -9.180809 15.954957 c -9.186612 15.924251 l -9.173012 15.870001 -9.159623 15.835667 -9.142608 15.820525 c -9.123205 15.796982 -9.097062 15.788066 -9.068743 15.790665 c -9.026522 15.782686 -8.995301 15.800638 -8.965018 15.834669 c -8.940023 15.861749 -8.928206 15.903245 -8.926453 15.954594 c -8.920650 15.985300 -8.923249 16.013619 -8.927299 16.034261 c -8.934462 16.059467 -8.944012 16.093075 -8.955950 16.135085 c -9.035618 16.134239 l -9.019841 16.091504 -9.006453 16.057171 -8.991613 16.030514 c -8.983725 16.009146 -8.984964 15.981553 -8.990767 15.950846 c -8.984330 15.921802 -8.988682 15.898772 -9.002373 15.889433 c -9.013677 15.871692 -9.027368 15.862354 -9.038883 15.864530 c -9.059525 15.860480 -9.074878 15.863381 -9.084942 15.873234 c -9.101958 15.888376 -9.116072 15.918871 -9.131848 15.961606 c -9.141398 15.995214 l -9.141096 16.038886 -9.150646 16.072494 -9.170049 16.096038 c -9.187065 16.111180 -9.213933 16.116257 -9.246816 16.110545 c -9.285199 16.117799 -9.314968 16.107523 -9.332286 16.078993 c -9.358731 16.044237 -9.370549 16.002741 -9.370851 15.959068 c -9.375929 15.932200 -9.373330 15.903881 -9.370005 15.879401 c -9.373632 15.860209 -9.369582 15.839567 -9.366258 15.815086 c -9.366258 15.815086 l s +n -9.105132 15.682255 m -9.374842 15.685520 l -9.373996 15.605853 l -9.104286 15.602588 l -9.059889 15.606124 -9.029182 15.600321 -9.012167 15.585179 c -8.992764 15.561635 -8.982488 15.531865 -8.980614 15.499708 c -8.980191 15.459874 -8.989833 15.429893 -9.013376 15.410490 c -9.043871 15.396376 -9.085156 15.388277 -9.129554 15.384741 c -9.383910 15.385104 l -9.383064 15.305437 l -8.938666 15.300962 l -8.939512 15.380630 l -9.003826 15.376882 l -8.978832 15.403962 -8.958401 15.427929 -8.943259 15.444944 c -8.931230 15.466523 -8.918476 15.491941 -8.913398 15.518809 c -8.914758 15.574721 -8.935098 15.614344 -8.969854 15.640789 c -9.003885 15.671072 -9.049220 15.683615 -9.105132 15.682255 c -9.105132 15.682255 l s +n -9.378953 15.495479 m -9.378953 15.495479 l s +n -9.136084 14.845322 m -9.195109 14.848525 -9.244282 14.861794 -9.271362 14.886788 c -9.296054 14.903381 -9.314731 14.930763 -9.321169 14.959807 c -9.313190 15.002028 -9.294421 15.038235 -9.270152 15.061477 c -9.242770 15.080154 -9.197647 15.087529 -9.138622 15.084325 c -9.094224 15.087861 -9.052003 15.079882 -9.015796 15.061113 c -8.988716 15.036118 -8.979166 15.002510 -8.987145 14.960289 c -8.984546 14.931970 -8.993462 14.905827 -9.017005 14.886424 c -9.048951 14.864634 -9.091686 14.848858 -9.136084 14.845322 c -9.136084 14.845322 l s +n -9.310409 15.100888 m -9.333227 15.085323 -9.348369 15.068307 -9.352721 15.045278 c -9.365475 15.019860 -9.379680 14.986766 -9.385483 14.956060 c -9.383398 14.903985 -9.359220 14.863638 -9.313674 14.831178 c -9.276530 14.796331 -9.221132 14.773935 -9.150591 14.768555 c -9.084826 14.779979 -9.029125 14.801256 -8.995003 14.834562 c -8.950817 14.858014 -8.927485 14.897334 -8.925732 14.948683 c -8.919929 14.979390 -8.924915 15.016111 -8.939029 15.046606 c -8.957707 15.073988 -8.971610 15.084566 -8.994640 15.088918 c -8.930325 15.092665 l -8.934072 15.156980 l -9.553159 15.162664 l -9.549412 15.098350 l -9.310409 15.100888 l s +n -8.995367 14.580205 m -8.771717 14.585645 l -8.775465 14.649959 l -9.379198 14.652742 l -9.375451 14.588428 l -9.311136 14.592175 l -9.333955 14.576610 -9.349096 14.559595 -9.353449 14.536565 c -9.366203 14.511147 -9.380408 14.478053 -9.386211 14.447347 c -9.384125 14.395273 -9.359947 14.354925 -9.314401 14.322465 c -9.277258 14.287618 -9.221859 14.265223 -9.151319 14.259843 c -9.085554 14.271267 -9.029853 14.292543 -8.995731 14.325849 c -8.951545 14.349302 -8.928212 14.388622 -8.926459 14.439971 c -8.920656 14.470677 -8.925643 14.507398 -8.939757 14.537893 c -8.958435 14.565275 -8.972337 14.575853 -8.995367 14.580205 c -8.995367 14.580205 l s +n -9.136811 14.336609 m -9.195837 14.339813 -9.245009 14.353081 -9.272089 14.378075 c -9.296781 14.394668 -9.315459 14.422050 -9.321896 14.451094 c -9.313917 14.493316 -9.295149 14.529523 -9.270879 14.552764 c -9.243497 14.571442 -9.198375 14.578816 -9.139349 14.575612 c -9.094952 14.579148 -9.052730 14.571169 -9.016523 14.552400 c -8.989443 14.527406 -8.979893 14.493798 -8.987872 14.451576 c -8.985273 14.423258 -8.994189 14.397115 -9.017733 14.377712 c -9.049679 14.355921 -9.092414 14.340145 -9.136811 14.336609 c -9.136811 14.336609 l s +n -9.312348 13.912612 m -9.312348 13.912612 -9.310897 13.920289 -9.309447 13.927965 c -9.317123 13.929416 -9.323349 13.938543 -9.321898 13.946220 c -9.313919 13.988441 -9.295151 14.024648 -9.270882 14.047890 c -9.243499 14.066567 -9.206053 14.075392 -9.154704 14.073639 c -8.931055 14.079078 l -8.934802 14.143393 l -9.379200 14.147868 l -9.375453 14.083553 l -9.311138 14.087301 l -9.333957 14.071736 -9.349098 14.054720 -9.353451 14.031691 c -9.366205 14.006273 -9.380410 13.973179 -9.386213 13.942473 c -9.376149 13.932620 -9.373761 13.924218 -9.373761 13.924218 c -9.375212 13.916541 -9.376662 13.908865 -9.376662 13.908865 c -9.312348 13.912612 l s +n -9.317789 13.631388 m -9.317487 13.675060 -9.306395 13.712717 -9.282126 13.735959 c -9.254744 13.754636 -9.209621 13.762011 -9.150595 13.758807 c -9.106198 13.762343 -9.063976 13.754364 -9.027769 13.735595 c -9.000690 13.710601 -8.983463 13.675542 -8.983765 13.631870 c -8.981166 13.603551 -8.995371 13.570457 -9.031881 13.545553 c -9.063826 13.523763 -9.106562 13.507986 -9.150959 13.504450 c -9.209985 13.507654 -9.251481 13.519472 -9.270884 13.543015 c -9.293400 13.571123 -9.311352 13.602343 -9.317789 13.631388 c -9.317789 13.631388 l s +n -9.379202 13.642993 m -9.377117 13.590919 -9.354390 13.542895 -9.310295 13.502759 c -9.273151 13.467911 -9.217752 13.445516 -9.147212 13.440136 c -9.081447 13.451560 -9.025746 13.472837 -8.991624 13.506142 c -8.945262 13.541110 -8.921204 13.584268 -8.919451 13.635617 c -8.917184 13.710721 -8.933897 13.769535 -8.967202 13.803657 c -9.012748 13.836116 -9.070323 13.846997 -9.136088 13.835573 c -9.206628 13.840953 -9.264717 13.828078 -9.301226 13.803175 c -9.346863 13.772045 -9.373097 13.717372 -9.379202 13.642993 c -9.379202 13.642993 l s +n -9.136545 13.012753 m -9.195570 13.015957 -9.244743 13.029225 -9.271823 13.054220 c -9.296515 13.070812 -9.315192 13.098194 -9.321630 13.127239 c -9.313651 13.169460 -9.294882 13.205667 -9.270613 13.228908 c -9.243231 13.247586 -9.198108 13.254960 -9.139083 13.251756 c -9.094685 13.255292 -9.052464 13.247313 -9.016257 13.228545 c -8.989177 13.203550 -8.979627 13.169942 -8.987606 13.127721 c -8.985007 13.099402 -8.993922 13.073259 -9.017466 13.053856 c -9.049412 13.032065 -9.092147 13.016289 -9.136545 13.012753 c -9.136545 13.012753 l s +n -9.310870 13.268319 m -9.333688 13.252755 -9.348830 13.235739 -9.353182 13.212709 c -9.365936 13.187292 -9.380141 13.154198 -9.385944 13.123491 c -9.383859 13.071417 -9.359681 13.031069 -9.314135 12.998610 c -9.276991 12.963762 -9.221592 12.941367 -9.151052 12.935987 c -9.085287 12.947411 -9.029586 12.968688 -8.995464 13.001993 c -8.951278 13.025446 -8.927946 13.064766 -8.926193 13.116115 c -8.920390 13.146821 -8.925376 13.183542 -8.939490 13.214037 c -8.958168 13.241419 -8.972071 13.251997 -8.995100 13.256350 c -8.930786 13.260097 l -8.934533 13.324411 l -9.553620 13.330096 l -9.549873 13.265781 l -9.310870 13.268319 l s +n -9.554348 12.821383 m -9.550600 12.757069 l -8.931513 12.751384 l -8.935261 12.815699 l -9.554348 12.821383 l s +n -9.177984 12.225506 m -9.144376 12.235056 l -9.147759 12.553727 l -9.091847 12.555087 -9.050351 12.543270 -9.027835 12.515162 c -9.002206 12.482491 -8.986430 12.439756 -8.986732 12.396084 c -8.984133 12.367765 -8.989211 12.340897 -9.001240 12.319317 c -9.006317 12.292449 -9.016684 12.258630 -9.034002 12.230099 c -8.969687 12.233847 l -8.944693 12.260926 -8.926649 12.293295 -8.921572 12.320163 c -8.917220 12.343193 -8.919819 12.371512 -8.922418 12.399831 c -8.920151 12.474935 -8.936864 12.533749 -8.970169 12.567871 c -9.014264 12.608007 -9.070388 12.626564 -9.136154 12.615140 c -9.206694 12.620520 -9.265508 12.603807 -9.304193 12.567389 c -9.349830 12.536259 -9.376064 12.481586 -9.382169 12.407207 c -9.380084 12.355133 -9.359744 12.315511 -9.325713 12.285227 c -9.288569 12.250380 -9.237009 12.228710 -9.177984 12.225506 c -9.177984 12.225506 l s +n -9.212438 12.295624 m -9.240757 12.293024 -9.266899 12.301940 -9.286302 12.325484 c -9.303318 12.340626 -9.314319 12.366557 -9.320756 12.395601 c -9.320454 12.439274 -9.309362 12.476931 -9.285093 12.500173 c -9.267775 12.528703 -9.240393 12.547381 -9.212074 12.549980 c -9.212438 12.295624 l s +n -9.284219 11.768536 m -9.316165 11.746745 -9.344272 11.724229 -9.360140 11.703375 c -9.371443 11.685634 -9.377246 11.654928 -9.377548 11.611256 c -9.373287 11.570697 -9.356060 11.535638 -9.333544 11.507530 c -9.306465 11.482536 -9.264968 11.470719 -9.213620 11.468966 c -8.943910 11.465700 l -8.929403 11.542467 l -9.199112 11.545732 l -9.227431 11.543133 -9.254299 11.548210 -9.275879 11.560239 c -9.302747 11.565317 -9.318312 11.588135 -9.313234 11.615003 c -9.312932 11.658675 -9.301840 11.696333 -9.277570 11.719574 c -9.261703 11.740428 -9.231934 11.750704 -9.192100 11.751127 c -8.937744 11.750763 l -8.938589 11.830431 l -9.208299 11.833696 l -9.236618 11.831097 -9.263486 11.836175 -9.285065 11.848203 c -9.304257 11.851830 -9.315983 11.873923 -9.322421 11.902967 c -9.314441 11.945189 -9.295673 11.981396 -9.271404 12.004637 c -9.255537 12.025491 -9.225767 12.035767 -9.185933 12.036190 c -8.931577 12.035826 l -8.935324 12.100140 l -9.379722 12.104615 l -9.375975 12.040301 l -9.311661 12.044048 l -9.335930 12.020807 -9.352522 11.996115 -9.356874 11.973085 c -9.368178 11.955344 -9.380932 11.929927 -9.386735 11.899220 c -9.380298 11.870176 -9.370022 11.840406 -9.355183 11.813749 c -9.335780 11.790206 -9.311087 11.773613 -9.284219 11.768536 c -9.284219 11.768536 l s +n -9.367789 11.052857 m -9.303474 11.056604 l -9.306799 11.081085 -9.311574 11.097889 -9.310123 11.105565 c -9.315624 11.118531 -9.318948 11.143011 -9.313870 11.169880 c -9.315744 11.202037 -9.309216 11.236582 -9.296462 11.261999 c -9.292109 11.285029 -9.279144 11.290530 -9.259952 11.286903 c -9.248437 11.284727 -9.233084 11.281825 -9.213893 11.278198 c -9.203828 11.268346 -9.193553 11.238576 -9.182340 11.192728 c -9.188143 11.162021 l -9.174543 11.107771 -9.161154 11.073438 -9.144139 11.058296 c -9.124736 11.034752 -9.098593 11.025836 -9.070274 11.028435 c -9.028053 11.020456 -8.996832 11.038409 -8.966549 11.072439 c -8.941554 11.099519 -8.929737 11.141015 -8.927984 11.192364 c -8.922181 11.223070 -8.924780 11.251389 -8.928830 11.272032 c -8.935992 11.297238 -8.945543 11.330846 -8.957481 11.372855 c -9.037148 11.372010 l -9.021372 11.329274 -9.007984 11.294941 -8.993144 11.268284 c -8.985256 11.246917 -8.986495 11.219323 -8.992298 11.188617 c -8.985861 11.159572 -8.990213 11.136542 -9.003904 11.127204 c -9.015208 11.109463 -9.028899 11.100124 -9.040414 11.102300 c -9.061056 11.098250 -9.076409 11.101152 -9.086473 11.111004 c -9.103489 11.126146 -9.117603 11.156641 -9.133379 11.199377 c -9.142929 11.232984 l -9.142627 11.276657 -9.152177 11.310265 -9.171580 11.333808 c -9.188596 11.348950 -9.215464 11.354028 -9.248346 11.348316 c -9.286729 11.355569 -9.316499 11.345294 -9.333817 11.316763 c -9.360262 11.282007 -9.372080 11.240511 -9.372382 11.196839 c -9.377460 11.169971 -9.374860 11.141652 -9.371536 11.117171 c -9.375163 11.097980 -9.371113 11.077337 -9.367789 11.052857 c -9.367789 11.052857 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n -9.150000 5.400000 m -9.113517 6.713384 l s +[] 0 sd +0 slj +0 slc +n -9.103104 7.088240 m -9.366892 6.595374 l -9.113517 6.713384 l -8.867084 6.581491 l ef +n -9.103104 7.088240 m -9.366892 6.595374 l -9.113517 6.713384 l -8.867084 6.581491 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n -9.131350 25.156400 m -9.094867 26.469784 l s +[] 0 sd +0 slj +0 slc +n -9.084454 26.844640 m -9.348242 26.351774 l -9.094867 26.469784 l -8.848434 26.337891 l ef +n -9.084454 26.844640 m -9.348242 26.351774 l -9.094867 26.469784 l -8.848434 26.337891 l cp s +gsave -10.032500 27.355000 translate 0.035278 -0.035278 scale +start_ol +1696 3047 moveto +1042 1280 lineto +2352 1280 lineto +1696 3047 lineto +1424 3520 moveto +1970 3520 lineto +3328 0 lineto +2827 0 lineto +2502 896 lineto +897 896 lineto +572 0 lineto +64 0 lineto +1424 3520 lineto +end_ol grestore +gsave -9.595408 27.355000 translate 0.035278 -0.035278 scale +start_ol +2688 1646 moveto +2688 0 lineto +2240 0 lineto +2240 1632 lineto +2240 2001 2093 2184 conicto +1947 2368 1654 2368 conicto +1302 2368 1099 2146 conicto +896 1925 896 1542 conicto +896 0 lineto +448 0 lineto +448 2688 lineto +896 2688 lineto +896 2304 lineto +1053 2529 1266 2640 conicto +1479 2752 1757 2752 conicto +2217 2752 2452 2471 conicto +2688 2191 2688 1646 conicto +end_ol grestore +gsave -9.190794 27.355000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave -8.988487 27.355000 translate 0.035278 -0.035278 scale +start_ol +1473 2368 moveto +1117 2368 910 2094 conicto +704 1820 704 1344 conicto +704 868 909 594 conicto +1115 320 1473 320 conicto +1827 320 2033 595 conicto +2240 870 2240 1344 conicto +2240 1816 2033 2092 conicto +1827 2368 1473 2368 conicto +1472 2752 moveto +2040 2752 2364 2378 conicto +2688 2005 2688 1344 conicto +2688 685 2364 310 conicto +2040 -64 1472 -64 conicto +902 -64 579 310 conicto +256 685 256 1344 conicto +256 2005 579 2378 conicto +902 2752 1472 2752 conicto +end_ol grestore +gsave -8.596358 27.355000 translate 0.035278 -0.035278 scale +start_ol +896 384 moveto +896 -1024 lineto +448 -1024 lineto +448 2688 lineto +896 2688 lineto +896 2304 lineto +1032 2531 1240 2641 conicto +1448 2752 1737 2752 conicto +2217 2752 2516 2364 conicto +2816 1976 2816 1344 conicto +2816 712 2516 324 conicto +2217 -64 1737 -64 conicto +1448 -64 1240 46 conicto +1032 157 896 384 conicto +2368 1344 moveto +2368 1823 2171 2095 conicto +1975 2368 1632 2368 conicto +1289 2368 1092 2095 conicto +896 1823 896 1344 conicto +896 865 1092 592 conicto +1289 320 1632 320 conicto +1975 320 2171 592 conicto +2368 865 2368 1344 conicto +end_ol grestore +gsave -8.189239 27.355000 translate 0.035278 -0.035278 scale +start_ol +896 3456 moveto +896 2688 lineto +1792 2688 lineto +1792 2368 lineto +896 2368 lineto +896 902 lineto +896 572 984 478 conicto +1073 384 1345 384 conicto +1792 384 lineto +1792 0 lineto +1345 0 lineto +836 0 642 194 conicto +448 389 448 902 conicto +448 2368 lineto +128 2368 lineto +128 2688 lineto +448 2688 lineto +448 3456 lineto +896 3456 lineto +end_ol grestore +gsave -7.939472 27.355000 translate 0.035278 -0.035278 scale +start_ol +448 2688 moveto +896 2688 lineto +896 0 lineto +448 0 lineto +448 2688 lineto +448 3712 moveto +896 3712 lineto +896 3136 lineto +448 3136 lineto +448 3712 lineto +end_ol grestore +gsave -7.762143 27.355000 translate 0.035278 -0.035278 scale +start_ol +2549 2204 moveto +2714 2485 2942 2618 conicto +3171 2752 3482 2752 conicto +3899 2752 4125 2464 conicto +4352 2177 4352 1646 conicto +4352 0 lineto +3904 0 lineto +3904 1632 lineto +3904 2006 3769 2187 conicto +3634 2368 3356 2368 conicto +3017 2368 2820 2146 conicto +2624 1925 2624 1542 conicto +2624 0 lineto +2176 0 lineto +2176 1632 lineto +2176 2008 2041 2188 conicto +1906 2368 1624 2368 conicto +1289 2368 1092 2145 conicto +896 1922 896 1542 conicto +896 0 lineto +448 0 lineto +448 2688 lineto +896 2688 lineto +896 2304 lineto +1046 2534 1255 2643 conicto +1465 2752 1753 2752 conicto +2044 2752 2247 2611 conicto +2451 2471 2549 2204 conicto +end_ol grestore +gsave -7.140232 27.355000 translate 0.035278 -0.035278 scale +start_ol +1622 1344 moveto +1104 1344 904 1225 conicto +704 1106 704 818 conicto +704 589 854 454 conicto +1004 320 1262 320 conicto +1618 320 1833 572 conicto +2048 825 2048 1244 conicto +2048 1344 lineto +1622 1344 lineto +2496 1513 moveto +2496 0 lineto +2048 0 lineto +2048 384 lineto +1900 154 1679 45 conicto +1458 -64 1138 -64 conicto +733 -64 494 162 conicto +256 389 256 769 conicto +256 1213 555 1438 conicto +854 1664 1448 1664 conicto +2048 1664 lineto +2048 1712 lineto +2048 2025 1851 2196 conicto +1655 2368 1300 2368 conicto +1074 2368 860 2320 conicto +646 2272 448 2176 conicto +448 2560 lineto +687 2656 912 2704 conicto +1138 2752 1351 2752 conicto +1927 2752 2211 2444 conicto +2496 2137 2496 1513 conicto +end_ol grestore +gsave -6.748103 27.355000 translate 0.035278 -0.035278 scale +start_ol +448 3712 moveto +896 3712 lineto +896 0 lineto +448 0 lineto +448 3712 lineto +end_ol grestore +gsave -9.603750 28.155000 translate 0.035278 -0.035278 scale +start_ol +2624 3392 moveto +2624 2944 lineto +2352 3073 2111 3136 conicto +1870 3200 1645 3200 conicto +1255 3200 1043 3052 conicto +832 2904 832 2631 conicto +832 2402 969 2285 conicto +1107 2169 1491 2097 conicto +1773 2039 lineto +2308 1937 2562 1678 conicto +2816 1420 2816 986 conicto +2816 469 2468 202 conicto +2121 -64 1450 -64 conicto +1197 -64 911 0 conicto +626 65 320 192 conicto +320 704 lineto +613 513 893 416 conicto +1174 320 1445 320 conicto +1857 320 2080 485 conicto +2304 650 2304 955 conicto +2304 1221 2148 1371 conicto +1992 1522 1636 1597 conicto +1352 1652 lineto +807 1756 563 1978 conicto +320 2201 320 2597 conicto +320 3056 654 3320 conicto +989 3584 1576 3584 conicto +1828 3584 2089 3536 conicto +2351 3488 2624 3392 conicto +end_ol grestore +gsave -9.196631 28.155000 translate 0.035278 -0.035278 scale +start_ol +1473 2368 moveto +1117 2368 910 2094 conicto +704 1820 704 1344 conicto +704 868 909 594 conicto +1115 320 1473 320 conicto +1827 320 2033 595 conicto +2240 870 2240 1344 conicto +2240 1816 2033 2092 conicto +1827 2368 1473 2368 conicto +1472 2752 moveto +2040 2752 2364 2378 conicto +2688 2005 2688 1344 conicto +2688 685 2364 310 conicto +2040 -64 1472 -64 conicto +902 -64 579 310 conicto +256 685 256 1344 conicto +256 2005 579 2378 conicto +902 2752 1472 2752 conicto +end_ol grestore +gsave -8.804502 28.155000 translate 0.035278 -0.035278 scale +start_ol +448 3712 moveto +896 3712 lineto +896 0 lineto +448 0 lineto +448 3712 lineto +end_ol grestore +gsave -8.627173 28.155000 translate 0.035278 -0.035278 scale +start_ol +448 1040 moveto +448 2688 lineto +896 2688 lineto +896 1057 lineto +896 689 1042 504 conicto +1188 320 1481 320 conicto +1832 320 2036 541 conicto +2240 763 2240 1145 conicto +2240 2688 lineto +2688 2688 lineto +2688 0 lineto +2240 0 lineto +2240 384 lineto +2081 157 1870 46 conicto +1660 -64 1382 -64 conicto +923 -64 685 217 conicto +448 499 448 1040 conicto +1554 2752 moveto +1554 2752 lineto +end_ol grestore +gsave -8.222559 28.155000 translate 0.035278 -0.035278 scale +start_ol +896 3456 moveto +896 2688 lineto +1792 2688 lineto +1792 2368 lineto +896 2368 lineto +896 902 lineto +896 572 984 478 conicto +1073 384 1345 384 conicto +1792 384 lineto +1792 0 lineto +1345 0 lineto +836 0 642 194 conicto +448 389 448 902 conicto +448 2368 lineto +128 2368 lineto +128 2688 lineto +448 2688 lineto +448 3456 lineto +896 3456 lineto +end_ol grestore +gsave -7.972792 28.155000 translate 0.035278 -0.035278 scale +start_ol +448 2688 moveto +896 2688 lineto +896 0 lineto +448 0 lineto +448 2688 lineto +448 3712 moveto +896 3712 lineto +896 3136 lineto +448 3136 lineto +448 3712 lineto +end_ol grestore +gsave -7.795463 28.155000 translate 0.035278 -0.035278 scale +start_ol +1473 2368 moveto +1117 2368 910 2094 conicto +704 1820 704 1344 conicto +704 868 909 594 conicto +1115 320 1473 320 conicto +1827 320 2033 595 conicto +2240 870 2240 1344 conicto +2240 1816 2033 2092 conicto +1827 2368 1473 2368 conicto +1472 2752 moveto +2040 2752 2364 2378 conicto +2688 2005 2688 1344 conicto +2688 685 2364 310 conicto +2040 -64 1472 -64 conicto +902 -64 579 310 conicto +256 685 256 1344 conicto +256 2005 579 2378 conicto +902 2752 1472 2752 conicto +end_ol grestore +gsave -7.403334 28.155000 translate 0.035278 -0.035278 scale +start_ol +2688 1646 moveto +2688 0 lineto +2240 0 lineto +2240 1632 lineto +2240 2001 2093 2184 conicto +1947 2368 1654 2368 conicto +1302 2368 1099 2146 conicto +896 1925 896 1542 conicto +896 0 lineto +448 0 lineto +448 2688 lineto +896 2688 lineto +896 2304 lineto +1053 2529 1266 2640 conicto +1479 2752 1757 2752 conicto +2217 2752 2452 2471 conicto +2688 2191 2688 1646 conicto +end_ol grestore +gsave -10.002500 4.450000 translate 0.035278 -0.035278 scale +start_ol +1890 3200 moveto +1375 3200 1071 2813 conicto +768 2426 768 1759 conicto +768 1094 1071 707 conicto +1375 320 1890 320 conicto +2406 320 2707 707 conicto +3008 1094 3008 1759 conicto +3008 2426 2707 2813 conicto +2406 3200 1890 3200 conicto +1890 3584 moveto +2632 3584 3076 3088 conicto +3520 2593 3520 1759 conicto +3520 927 3076 431 conicto +2632 -64 1890 -64 conicto +1146 -64 701 430 conicto +256 925 256 1759 conicto +256 2593 701 3088 conicto +1146 3584 1890 3584 conicto +end_ol grestore +gsave -9.497973 4.450000 translate 0.035278 -0.035278 scale +start_ol +1984 2304 moveto +1912 2337 1828 2352 conicto +1744 2368 1642 2368 conicto +1282 2368 1089 2127 conicto +896 1887 896 1437 conicto +896 0 lineto +448 0 lineto +448 2688 lineto +896 2688 lineto +896 2304 lineto +1030 2531 1245 2641 conicto +1460 2752 1767 2752 conicto +1811 2752 1864 2752 conicto +1917 2752 1982 2752 conicto +1984 2304 lineto +end_ol grestore +gsave -9.235721 4.450000 translate 0.035278 -0.035278 scale +start_ol +448 2688 moveto +896 2688 lineto +896 0 lineto +448 0 lineto +448 2688 lineto +448 3712 moveto +896 3712 lineto +896 3136 lineto +448 3136 lineto +448 3712 lineto +end_ol grestore +gsave -9.058392 4.450000 translate 0.035278 -0.035278 scale +start_ol +2176 1375 moveto +2176 1848 1982 2108 conicto +1789 2368 1439 2368 conicto +1091 2368 897 2108 conicto +704 1848 704 1375 conicto +704 904 897 644 conicto +1091 384 1439 384 conicto +1789 384 1982 644 conicto +2176 904 2176 1375 conicto +2624 347 moveto +2624 -347 2323 -685 conicto +2023 -1024 1404 -1024 conicto +1174 -1024 971 -992 conicto +768 -961 576 -896 conicto +576 -448 lineto +766 -546 951 -593 conicto +1137 -640 1329 -640 conicto +1754 -640 1965 -415 conicto +2176 -190 2176 264 conicto +2176 448 lineto +2042 223 1833 111 conicto +1624 0 1332 0 conicto +848 0 552 376 conicto +256 753 256 1375 conicto +256 1999 552 2375 conicto +848 2752 1332 2752 conicto +1624 2752 1833 2640 conicto +2042 2529 2176 2304 conicto +2176 2688 lineto +2624 2688 lineto +2624 347 lineto +end_ol grestore +gsave -8.651273 4.450000 translate 0.035278 -0.035278 scale +start_ol +448 2688 moveto +896 2688 lineto +896 0 lineto +448 0 lineto +448 2688 lineto +448 3712 moveto +896 3712 lineto +896 3136 lineto +448 3136 lineto +448 3712 lineto +end_ol grestore +gsave -8.473944 4.450000 translate 0.035278 -0.035278 scale +start_ol +2688 1646 moveto +2688 0 lineto +2240 0 lineto +2240 1632 lineto +2240 2001 2093 2184 conicto +1947 2368 1654 2368 conicto +1302 2368 1099 2146 conicto +896 1925 896 1542 conicto +896 0 lineto +448 0 lineto +448 2688 lineto +896 2688 lineto +896 2304 lineto +1053 2529 1266 2640 conicto +1479 2752 1757 2752 conicto +2217 2752 2452 2471 conicto +2688 2191 2688 1646 conicto +end_ol grestore +gsave -8.069330 4.450000 translate 0.035278 -0.035278 scale +start_ol +1622 1344 moveto +1104 1344 904 1225 conicto +704 1106 704 818 conicto +704 589 854 454 conicto +1004 320 1262 320 conicto +1618 320 1833 572 conicto +2048 825 2048 1244 conicto +2048 1344 lineto +1622 1344 lineto +2496 1513 moveto +2496 0 lineto +2048 0 lineto +2048 384 lineto +1900 154 1679 45 conicto +1458 -64 1138 -64 conicto +733 -64 494 162 conicto +256 389 256 769 conicto +256 1213 555 1438 conicto +854 1664 1448 1664 conicto +2048 1664 lineto +2048 1712 lineto +2048 2025 1851 2196 conicto +1655 2368 1300 2368 conicto +1074 2368 860 2320 conicto +646 2272 448 2176 conicto +448 2560 lineto +687 2656 912 2704 conicto +1138 2752 1351 2752 conicto +1927 2752 2211 2444 conicto +2496 2137 2496 1513 conicto +end_ol grestore +gsave -7.677201 4.450000 translate 0.035278 -0.035278 scale +start_ol +448 3712 moveto +896 3712 lineto +896 0 lineto +448 0 lineto +448 3712 lineto +end_ol grestore +gsave -10.058750 5.250000 translate 0.035278 -0.035278 scale +start_ol +960 3136 moveto +960 1792 lineto +1552 1792 lineto +1881 1792 2060 1967 conicto +2240 2142 2240 2465 conicto +2240 2786 2060 2961 conicto +1881 3136 1552 3136 conicto +960 3136 lineto +448 3520 moveto +1552 3520 lineto +2145 3520 2448 3251 conicto +2752 2983 2752 2465 conicto +2752 1943 2448 1675 conicto +2145 1408 1552 1408 conicto +960 1408 lineto +960 0 lineto +448 0 lineto +448 3520 lineto +end_ol grestore +gsave -9.684100 5.250000 translate 0.035278 -0.035278 scale +start_ol +1984 2304 moveto +1912 2337 1828 2352 conicto +1744 2368 1642 2368 conicto +1282 2368 1089 2127 conicto +896 1887 896 1437 conicto +896 0 lineto +448 0 lineto +448 2688 lineto +896 2688 lineto +896 2304 lineto +1030 2531 1245 2641 conicto +1460 2752 1767 2752 conicto +1811 2752 1864 2752 conicto +1917 2752 1982 2752 conicto +1984 2304 lineto +end_ol grestore +gsave -9.436839 5.250000 translate 0.035278 -0.035278 scale +start_ol +1473 2368 moveto +1117 2368 910 2094 conicto +704 1820 704 1344 conicto +704 868 909 594 conicto +1115 320 1473 320 conicto +1827 320 2033 595 conicto +2240 870 2240 1344 conicto +2240 1816 2033 2092 conicto +1827 2368 1473 2368 conicto +1472 2752 moveto +2040 2752 2364 2378 conicto +2688 2005 2688 1344 conicto +2688 685 2364 310 conicto +2040 -64 1472 -64 conicto +902 -64 579 310 conicto +256 685 256 1344 conicto +256 2005 579 2378 conicto +902 2752 1472 2752 conicto +end_ol grestore +gsave -9.044710 5.250000 translate 0.035278 -0.035278 scale +start_ol +2368 1344 moveto +2368 1823 2171 2095 conicto +1975 2368 1632 2368 conicto +1289 2368 1092 2095 conicto +896 1823 896 1344 conicto +896 865 1092 592 conicto +1289 320 1632 320 conicto +1975 320 2171 592 conicto +2368 865 2368 1344 conicto +896 2304 moveto +1032 2531 1240 2641 conicto +1448 2752 1737 2752 conicto +2217 2752 2516 2364 conicto +2816 1976 2816 1344 conicto +2816 712 2516 324 conicto +2217 -64 1737 -64 conicto +1448 -64 1240 46 conicto +1032 157 896 384 conicto +896 0 lineto +448 0 lineto +448 3712 lineto +896 3712 lineto +896 2304 lineto +end_ol grestore +gsave -8.637590 5.250000 translate 0.035278 -0.035278 scale +start_ol +448 3712 moveto +896 3712 lineto +896 0 lineto +448 0 lineto +448 3712 lineto +end_ol grestore +gsave -8.460262 5.250000 translate 0.035278 -0.035278 scale +start_ol +2752 1480 moveto +2752 1280 lineto +704 1280 lineto +733 811 978 565 conicto +1223 320 1660 320 conicto +1914 320 2152 384 conicto +2390 448 2624 576 conicto +2624 192 lineto +2388 67 2140 1 conicto +1893 -64 1639 -64 conicto +1001 -64 628 309 conicto +256 683 256 1320 conicto +256 1979 613 2365 conicto +970 2752 1576 2752 conicto +2120 2752 2436 2410 conicto +2752 2068 2752 1480 conicto +2304 1600 moveto +2299 1950 2099 2159 conicto +1900 2368 1572 2368 conicto +1200 2368 976 2166 conicto +753 1964 719 1597 conicto +2304 1600 lineto +end_ol grestore +gsave -8.065635 5.250000 translate 0.035278 -0.035278 scale +start_ol +2549 2204 moveto +2714 2485 2942 2618 conicto +3171 2752 3482 2752 conicto +3899 2752 4125 2464 conicto +4352 2177 4352 1646 conicto +4352 0 lineto +3904 0 lineto +3904 1632 lineto +3904 2006 3769 2187 conicto +3634 2368 3356 2368 conicto +3017 2368 2820 2146 conicto +2624 1925 2624 1542 conicto +2624 0 lineto +2176 0 lineto +2176 1632 lineto +2176 2008 2041 2188 conicto +1906 2368 1624 2368 conicto +1289 2368 1092 2145 conicto +896 1922 896 1542 conicto +896 0 lineto +448 0 lineto +448 2688 lineto +896 2688 lineto +896 2304 lineto +1046 2534 1255 2643 conicto +1465 2752 1753 2752 conicto +2044 2752 2247 2611 conicto +2451 2471 2549 2204 conicto +end_ol grestore +0.749020 0.749020 0.749020 srgb +n -5.200000 10.975000 2.000000 1.875000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n -5.200000 10.975000 2.000000 1.875000 0 360 ellipse cp s +gsave -6.402500 10.350000 translate 0.035278 -0.035278 scale +start_ol +2240 3008 moveto +2240 2624 lineto +2007 2753 1800 2816 conicto +1594 2880 1401 2880 conicto +1067 2880 885 2741 conicto +704 2603 704 2348 conicto +704 2134 823 2025 conicto +943 1916 1277 1849 conicto +1522 1797 lineto +1988 1706 2210 1477 conicto +2432 1249 2432 865 conicto +2432 408 2129 172 conicto +1826 -64 1241 -64 conicto +1020 -64 771 -15 conicto +523 33 256 128 conicto +256 576 lineto +511 417 755 336 conicto +1000 256 1236 256 conicto +1594 256 1789 402 conicto +1984 549 1984 821 conicto +1984 1059 1848 1192 conicto +1713 1326 1403 1393 conicto +1156 1443 lineto +681 1538 468 1740 conicto +256 1942 256 2303 conicto +256 2720 544 2960 conicto +832 3200 1338 3200 conicto +1555 3200 1780 3152 conicto +2005 3104 2240 3008 conicto +end_ol grestore +gsave -6.045337 10.350000 translate 0.035278 -0.035278 scale +start_ol +2432 1288 moveto +2432 1088 lineto +640 1088 lineto +666 682 886 469 conicto +1107 256 1501 256 conicto +1729 256 1943 304 conicto +2157 352 2368 448 conicto +2368 64 lineto +2158 1 1937 -31 conicto +1716 -64 1489 -64 conicto +920 -64 588 267 conicto +256 598 256 1163 conicto +256 1746 567 2089 conicto +879 2432 1407 2432 conicto +1881 2432 2156 2124 conicto +2432 1817 2432 1288 conicto +2048 1408 moveto +2044 1729 1868 1920 conicto +1693 2112 1404 2112 conicto +1076 2112 879 1927 conicto +683 1742 653 1406 conicto +2048 1408 lineto +end_ol grestore +gsave -5.698163 10.350000 translate 0.035278 -0.035278 scale +start_ol +384 3264 moveto +768 3264 lineto +768 0 lineto +384 0 lineto +384 3264 lineto +end_ol grestore +gsave -5.540810 10.350000 translate 0.035278 -0.035278 scale +start_ol +2432 1288 moveto +2432 1088 lineto +640 1088 lineto +666 682 886 469 conicto +1107 256 1501 256 conicto +1729 256 1943 304 conicto +2157 352 2368 448 conicto +2368 64 lineto +2158 1 1937 -31 conicto +1716 -64 1489 -64 conicto +920 -64 588 267 conicto +256 598 256 1163 conicto +256 1746 567 2089 conicto +879 2432 1407 2432 conicto +1881 2432 2156 2124 conicto +2432 1817 2432 1288 conicto +2048 1408 moveto +2044 1729 1868 1920 conicto +1693 2112 1404 2112 conicto +1076 2112 879 1927 conicto +683 1742 653 1406 conicto +2048 1408 lineto +end_ol grestore +gsave -5.193635 10.350000 translate 0.035278 -0.035278 scale +start_ol +2112 2304 moveto +2112 1920 lineto +1946 2016 1779 2064 conicto +1612 2112 1442 2112 conicto +1061 2112 850 1868 conicto +640 1624 640 1184 conicto +640 744 850 500 conicto +1061 256 1442 256 conicto +1612 256 1779 304 conicto +1946 352 2112 448 conicto +2112 64 lineto +1951 0 1778 -32 conicto +1605 -64 1410 -64 conicto +880 -64 568 273 conicto +256 611 256 1184 conicto +256 1766 571 2099 conicto +887 2432 1435 2432 conicto +1613 2432 1783 2400 conicto +1953 2368 2112 2304 conicto +end_ol grestore +gsave -4.883932 10.350000 translate 0.035278 -0.035278 scale +start_ol +768 3008 moveto +768 2368 lineto +1536 2368 lineto +1536 2048 lineto +768 2048 lineto +768 771 lineto +768 484 844 402 conicto +920 320 1153 320 conicto +1536 320 lineto +1536 0 lineto +1153 0 lineto +716 0 550 166 conicto +384 332 384 771 conicto +384 2048 lineto +128 2048 lineto +128 2368 lineto +384 2368 lineto +384 3008 lineto +768 3008 lineto +end_ol grestore +gsave -4.661641 10.350000 translate 0.035278 -0.035278 scale +start_ol +384 2368 moveto +768 2368 lineto +768 0 lineto +384 0 lineto +384 2368 lineto +384 3264 moveto +768 3264 lineto +768 2752 lineto +384 2752 lineto +384 3264 lineto +end_ol grestore +gsave -4.504288 10.350000 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave -4.159611 10.350000 translate 0.035278 -0.035278 scale +start_ol +2368 1418 moveto +2368 0 lineto +1984 0 lineto +1984 1405 lineto +1984 1760 1851 1936 conicto +1719 2112 1454 2112 conicto +1136 2112 952 1901 conicto +768 1691 768 1328 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +908 2209 1098 2320 conicto +1289 2432 1537 2432 conicto +1947 2432 2157 2174 conicto +2368 1917 2368 1418 conicto +end_ol grestore +gsave -6.315000 11.055556 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave -5.970322 11.055556 translate 0.035278 -0.035278 scale +start_ol +768 320 moveto +768 -896 lineto +384 -896 lineto +384 2368 lineto +768 2368 lineto +768 2048 lineto +891 2243 1078 2337 conicto +1265 2432 1525 2432 conicto +1957 2432 2226 2088 conicto +2496 1744 2496 1184 conicto +2496 624 2226 280 conicto +1957 -64 1525 -64 conicto +1265 -64 1078 30 conicto +891 125 768 320 conicto +2112 1184 moveto +2112 1618 1932 1865 conicto +1753 2112 1440 2112 conicto +1127 2112 947 1865 conicto +768 1618 768 1184 conicto +768 750 947 503 conicto +1127 256 1440 256 conicto +1753 256 1932 503 conicto +2112 750 2112 1184 conicto +end_ol grestore +gsave -5.613160 11.055556 translate 0.035278 -0.035278 scale +start_ol +2432 1288 moveto +2432 1088 lineto +640 1088 lineto +666 682 886 469 conicto +1107 256 1501 256 conicto +1729 256 1943 304 conicto +2157 352 2368 448 conicto +2368 64 lineto +2158 1 1937 -31 conicto +1716 -64 1489 -64 conicto +920 -64 588 267 conicto +256 598 256 1163 conicto +256 1746 567 2089 conicto +879 2432 1407 2432 conicto +1881 2432 2156 2124 conicto +2432 1817 2432 1288 conicto +2048 1408 moveto +2044 1729 1868 1920 conicto +1693 2112 1404 2112 conicto +1076 2112 879 1927 conicto +683 1742 653 1406 conicto +2048 1408 lineto +end_ol grestore +gsave -5.265985 11.055556 translate 0.035278 -0.035278 scale +start_ol +1728 2048 moveto +1665 2081 1590 2096 conicto +1516 2112 1426 2112 conicto +1108 2112 938 1886 conicto +768 1660 768 1237 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +886 2211 1075 2321 conicto +1265 2432 1536 2432 conicto +1575 2432 1622 2432 conicto +1669 2432 1726 2432 conicto +1728 2048 lineto +end_ol grestore +gsave -5.033706 11.055556 translate 0.035278 -0.035278 scale +start_ol +1471 1152 moveto +1002 1152 821 1047 conicto +640 943 640 692 conicto +640 491 775 373 conicto +911 256 1145 256 conicto +1467 256 1661 479 conicto +1856 702 1856 1072 conicto +1856 1152 lineto +1471 1152 lineto +2240 1321 moveto +2240 0 lineto +1856 0 lineto +1856 384 lineto +1724 154 1526 45 conicto +1329 -64 1043 -64 conicto +682 -64 469 137 conicto +256 339 256 677 conicto +256 1071 521 1271 conicto +787 1472 1313 1472 conicto +1856 1472 lineto +1856 1514 lineto +1856 1800 1683 1956 conicto +1510 2112 1198 2112 conicto +999 2112 810 2064 conicto +622 2016 448 1920 conicto +448 2304 lineto +657 2368 854 2400 conicto +1052 2432 1238 2432 conicto +1742 2432 1991 2156 conicto +2240 1881 2240 1321 conicto +end_ol grestore +gsave -4.689028 11.055556 translate 0.035278 -0.035278 scale +start_ol +768 3008 moveto +768 2368 lineto +1536 2368 lineto +1536 2048 lineto +768 2048 lineto +768 771 lineto +768 484 844 402 conicto +920 320 1153 320 conicto +1536 320 lineto +1536 0 lineto +1153 0 lineto +716 0 550 166 conicto +384 332 384 771 conicto +384 2048 lineto +128 2048 lineto +128 2368 lineto +384 2368 lineto +384 3008 lineto +768 3008 lineto +end_ol grestore +gsave -4.466737 11.055556 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave -4.122059 11.055556 translate 0.035278 -0.035278 scale +start_ol +1728 2048 moveto +1665 2081 1590 2096 conicto +1516 2112 1426 2112 conicto +1108 2112 938 1886 conicto +768 1660 768 1237 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +886 2211 1075 2321 conicto +1265 2432 1536 2432 conicto +1575 2432 1622 2432 conicto +1669 2432 1726 2432 conicto +1728 2048 lineto +end_ol grestore +gsave -6.835000 11.761111 translate 0.035278 -0.035278 scale +start_ol +1344 3264 moveto +1052 2780 910 2306 conicto +768 1832 768 1346 conicto +768 860 911 383 conicto +1054 -94 1344 -576 conicto +995 -576 lineto +688 -81 536 397 conicto +384 875 384 1346 conicto +384 1816 535 2291 conicto +686 2767 995 3264 conicto +1344 3264 lineto +end_ol grestore +gsave -6.615206 11.761111 translate 0.035278 -0.035278 scale +start_ol +832 2816 moveto +832 320 lineto +1334 320 lineto +1970 320 2265 621 conicto +2560 922 2560 1571 conicto +2560 2216 2265 2516 conicto +1970 2816 1334 2816 conicto +832 2816 lineto +384 3136 moveto +1270 3136 lineto +2168 3136 2588 2757 conicto +3008 2378 3008 1571 conicto +3008 760 2586 380 conicto +2164 0 1270 0 conicto +384 0 lineto +384 3136 lineto +end_ol grestore +gsave -6.180619 11.761111 translate 0.035278 -0.035278 scale +start_ol +2432 1288 moveto +2432 1088 lineto +640 1088 lineto +666 682 886 469 conicto +1107 256 1501 256 conicto +1729 256 1943 304 conicto +2157 352 2368 448 conicto +2368 64 lineto +2158 1 1937 -31 conicto +1716 -64 1489 -64 conicto +920 -64 588 267 conicto +256 598 256 1163 conicto +256 1746 567 2089 conicto +879 2432 1407 2432 conicto +1881 2432 2156 2124 conicto +2432 1817 2432 1288 conicto +2048 1408 moveto +2044 1729 1868 1920 conicto +1693 2112 1404 2112 conicto +1076 2112 879 1927 conicto +683 1742 653 1406 conicto +2048 1408 lineto +end_ol grestore +gsave -5.833445 11.761111 translate 0.035278 -0.035278 scale +start_ol +768 320 moveto +768 -896 lineto +384 -896 lineto +384 2368 lineto +768 2368 lineto +768 2048 lineto +891 2243 1078 2337 conicto +1265 2432 1525 2432 conicto +1957 2432 2226 2088 conicto +2496 1744 2496 1184 conicto +2496 624 2226 280 conicto +1957 -64 1525 -64 conicto +1265 -64 1078 30 conicto +891 125 768 320 conicto +2112 1184 moveto +2112 1618 1932 1865 conicto +1753 2112 1440 2112 conicto +1127 2112 947 1865 conicto +768 1618 768 1184 conicto +768 750 947 503 conicto +1127 256 1440 256 conicto +1753 256 1932 503 conicto +2112 750 2112 1184 conicto +end_ol grestore +gsave -5.476282 11.761111 translate 0.035278 -0.035278 scale +start_ol +768 3008 moveto +768 2368 lineto +1536 2368 lineto +1536 2048 lineto +768 2048 lineto +768 771 lineto +768 484 844 402 conicto +920 320 1153 320 conicto +1536 320 lineto +1536 0 lineto +1153 0 lineto +716 0 550 166 conicto +384 332 384 771 conicto +384 2048 lineto +128 2048 lineto +128 2368 lineto +384 2368 lineto +384 3008 lineto +768 3008 lineto +end_ol grestore +gsave -5.253991 11.761111 translate 0.035278 -0.035278 scale +start_ol +2368 1418 moveto +2368 0 lineto +1984 0 lineto +1984 1405 lineto +1984 1760 1851 1936 conicto +1719 2112 1454 2112 conicto +1136 2112 952 1901 conicto +768 1691 768 1328 conicto +768 0 lineto +384 0 lineto +384 3264 lineto +768 3264 lineto +768 1984 lineto +908 2209 1098 2320 conicto +1289 2432 1537 2432 conicto +1947 2432 2157 2174 conicto +2368 1917 2368 1418 conicto +end_ol grestore +gsave -4.896828 11.761111 translate 0.035278 -0.035278 scale +start_ol +192 1344 moveto +1344 1344 lineto +1344 1024 lineto +192 1024 lineto +192 1344 lineto +end_ol grestore +gsave -4.694521 11.761111 translate 0.035278 -0.035278 scale +start_ol +2304 2368 moveto +2304 0 lineto +1920 0 lineto +1920 2048 lineto +832 2048 lineto +832 0 lineto +448 0 lineto +448 2048 lineto +64 2048 lineto +64 2368 lineto +448 2368 lineto +448 2528 lineto +448 2904 633 3084 conicto +819 3264 1203 3264 conicto +1600 3264 lineto +1600 2944 lineto +1216 2944 lineto +1000 2944 916 2862 conicto +832 2781 832 2569 conicto +832 2368 lineto +2304 2368 lineto +1920 3264 moveto +2304 3264 lineto +2304 2752 lineto +1920 2752 lineto +1920 3264 lineto +end_ol grestore +gsave -4.339855 11.761111 translate 0.035278 -0.035278 scale +start_ol +1728 2048 moveto +1665 2081 1590 2096 conicto +1516 2112 1426 2112 conicto +1108 2112 938 1886 conicto +768 1660 768 1237 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +886 2211 1075 2321 conicto +1265 2432 1536 2432 conicto +1575 2432 1622 2432 conicto +1669 2432 1726 2432 conicto +1728 2048 lineto +end_ol grestore +gsave -4.107576 11.761111 translate 0.035278 -0.035278 scale +start_ol +1920 2304 moveto +1920 1920 lineto +1756 2016 1580 2064 conicto +1404 2112 1215 2112 conicto +927 2112 783 2019 conicto +640 1926 640 1740 conicto +640 1598 744 1517 conicto +849 1436 1164 1363 conicto +1298 1333 lineto +1705 1245 1876 1085 conicto +2048 926 2048 641 conicto +2048 315 1789 125 conicto +1531 -64 1079 -64 conicto +890 -64 686 -32 conicto +482 0 256 64 conicto +256 448 lineto +471 352 680 304 conicto +889 256 1094 256 conicto +1368 256 1516 347 conicto +1664 439 1664 606 conicto +1664 760 1556 842 conicto +1449 925 1085 1001 conicto +949 1033 lineto +582 1111 419 1272 conicto +256 1434 256 1716 conicto +256 2059 492 2245 conicto +729 2432 1164 2432 conicto +1379 2432 1569 2400 conicto +1760 2368 1920 2304 conicto +end_ol grestore +gsave -3.812855 11.761111 translate 0.035278 -0.035278 scale +start_ol +768 3008 moveto +768 2368 lineto +1536 2368 lineto +1536 2048 lineto +768 2048 lineto +768 771 lineto +768 484 844 402 conicto +920 320 1153 320 conicto +1536 320 lineto +1536 0 lineto +1153 0 lineto +716 0 550 166 conicto +384 332 384 771 conicto +384 2048 lineto +128 2048 lineto +128 2368 lineto +384 2368 lineto +384 3008 lineto +768 3008 lineto +end_ol grestore +gsave -3.590563 11.761111 translate 0.035278 -0.035278 scale +start_ol +320 3264 moveto +669 3264 lineto +976 2767 1128 2291 conicto +1280 1816 1280 1346 conicto +1280 875 1128 397 conicto +976 -81 669 -576 conicto +320 -576 lineto +610 -94 753 383 conicto +896 860 896 1346 conicto +896 1832 753 2306 conicto +610 2780 320 3264 conicto +end_ol grestore +0.749020 0.749020 0.749020 srgb +n 2.690000 10.930000 2.000000 1.875000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 2.690000 10.930000 2.000000 1.875000 0 360 ellipse cp s +gsave 1.258750 10.930000 translate 0.035278 -0.035278 scale +start_ol +832 1536 moveto +832 320 lineto +1498 320 lineto +1843 320 2009 470 conicto +2176 620 2176 929 conicto +2176 1240 2009 1388 conicto +1843 1536 1498 1536 conicto +832 1536 lineto +832 2816 moveto +832 1856 lineto +1446 1856 lineto +1750 1856 1899 1974 conicto +2048 2093 2048 2336 conicto +2048 2577 1899 2696 conicto +1750 2816 1446 2816 conicto +832 2816 lineto +384 3136 moveto +1477 3136 lineto +1966 3136 2231 2938 conicto +2496 2740 2496 2374 conicto +2496 2092 2356 1924 conicto +2217 1757 1947 1716 conicto +2268 1648 2446 1431 conicto +2624 1215 2624 891 conicto +2624 465 2336 232 conicto +2049 0 1518 0 conicto +384 0 lineto +384 3136 lineto +end_ol grestore +gsave 1.645885 10.930000 translate 0.035278 -0.035278 scale +start_ol +1728 2048 moveto +1665 2081 1590 2096 conicto +1516 2112 1426 2112 conicto +1108 2112 938 1886 conicto +768 1660 768 1237 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +886 2211 1075 2321 conicto +1265 2432 1536 2432 conicto +1575 2432 1622 2432 conicto +1669 2432 1726 2432 conicto +1728 2048 lineto +end_ol grestore +gsave 1.878164 10.930000 translate 0.035278 -0.035278 scale +start_ol +1471 1152 moveto +1002 1152 821 1047 conicto +640 943 640 692 conicto +640 491 775 373 conicto +911 256 1145 256 conicto +1467 256 1661 479 conicto +1856 702 1856 1072 conicto +1856 1152 lineto +1471 1152 lineto +2240 1321 moveto +2240 0 lineto +1856 0 lineto +1856 384 lineto +1724 154 1526 45 conicto +1329 -64 1043 -64 conicto +682 -64 469 137 conicto +256 339 256 677 conicto +256 1071 521 1271 conicto +787 1472 1313 1472 conicto +1856 1472 lineto +1856 1514 lineto +1856 1800 1683 1956 conicto +1510 2112 1198 2112 conicto +999 2112 810 2064 conicto +622 2016 448 1920 conicto +448 2304 lineto +657 2368 854 2400 conicto +1052 2432 1238 2432 conicto +1742 2432 1991 2156 conicto +2240 1881 2240 1321 conicto +end_ol grestore +gsave 2.222842 10.930000 translate 0.035278 -0.035278 scale +start_ol +2368 1418 moveto +2368 0 lineto +1984 0 lineto +1984 1405 lineto +1984 1760 1851 1936 conicto +1719 2112 1454 2112 conicto +1136 2112 952 1901 conicto +768 1691 768 1328 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +908 2209 1098 2320 conicto +1289 2432 1537 2432 conicto +1947 2432 2157 2174 conicto +2368 1917 2368 1418 conicto +end_ol grestore +gsave 2.580005 10.930000 translate 0.035278 -0.035278 scale +start_ol +2112 2304 moveto +2112 1920 lineto +1946 2016 1779 2064 conicto +1612 2112 1442 2112 conicto +1061 2112 850 1868 conicto +640 1624 640 1184 conicto +640 744 850 500 conicto +1061 256 1442 256 conicto +1612 256 1779 304 conicto +1946 352 2112 448 conicto +2112 64 lineto +1951 0 1778 -32 conicto +1605 -64 1410 -64 conicto +880 -64 568 273 conicto +256 611 256 1184 conicto +256 1766 571 2099 conicto +887 2432 1435 2432 conicto +1613 2432 1783 2400 conicto +1953 2368 2112 2304 conicto +end_ol grestore +gsave 2.889708 10.930000 translate 0.035278 -0.035278 scale +start_ol +2368 1418 moveto +2368 0 lineto +1984 0 lineto +1984 1405 lineto +1984 1760 1851 1936 conicto +1719 2112 1454 2112 conicto +1136 2112 952 1901 conicto +768 1691 768 1328 conicto +768 0 lineto +384 0 lineto +384 3264 lineto +768 3264 lineto +768 1984 lineto +908 2209 1098 2320 conicto +1289 2432 1537 2432 conicto +1947 2432 2157 2174 conicto +2368 1917 2368 1418 conicto +end_ol grestore +gsave 3.246871 10.930000 translate 0.035278 -0.035278 scale +start_ol +384 2368 moveto +768 2368 lineto +768 0 lineto +384 0 lineto +384 2368 lineto +384 3264 moveto +768 3264 lineto +768 2752 lineto +384 2752 lineto +384 3264 lineto +end_ol grestore +gsave 3.404223 10.930000 translate 0.035278 -0.035278 scale +start_ol +2368 1418 moveto +2368 0 lineto +1984 0 lineto +1984 1405 lineto +1984 1760 1851 1936 conicto +1719 2112 1454 2112 conicto +1136 2112 952 1901 conicto +768 1691 768 1328 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +908 2209 1098 2320 conicto +1289 2432 1537 2432 conicto +1947 2432 2157 2174 conicto +2368 1917 2368 1418 conicto +end_ol grestore +gsave 3.761386 10.930000 translate 0.035278 -0.035278 scale +start_ol +1984 1215 moveto +1984 1642 1807 1877 conicto +1630 2112 1311 2112 conicto +994 2112 817 1877 conicto +640 1642 640 1215 conicto +640 790 817 555 conicto +994 320 1311 320 conicto +1630 320 1807 555 conicto +1984 790 1984 1215 conicto +2368 289 moveto +2368 -311 2096 -603 conicto +1824 -896 1262 -896 conicto +1054 -896 870 -864 conicto +686 -833 512 -768 conicto +512 -384 lineto +687 -482 857 -529 conicto +1028 -576 1205 -576 conicto +1595 -576 1789 -378 conicto +1984 -180 1984 220 conicto +1984 384 lineto +1863 191 1675 95 conicto +1487 0 1225 0 conicto +789 0 522 333 conicto +256 666 256 1215 conicto +256 1766 522 2099 conicto +789 2432 1225 2432 conicto +1487 2432 1675 2336 conicto +1863 2241 1984 2048 conicto +1984 2368 lineto +2368 2368 lineto +2368 289 lineto +end_ol grestore +gsave 1.476250 11.635556 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave 1.820928 11.635556 translate 0.035278 -0.035278 scale +start_ol +768 320 moveto +768 -896 lineto +384 -896 lineto +384 2368 lineto +768 2368 lineto +768 2048 lineto +891 2243 1078 2337 conicto +1265 2432 1525 2432 conicto +1957 2432 2226 2088 conicto +2496 1744 2496 1184 conicto +2496 624 2226 280 conicto +1957 -64 1525 -64 conicto +1265 -64 1078 30 conicto +891 125 768 320 conicto +2112 1184 moveto +2112 1618 1932 1865 conicto +1753 2112 1440 2112 conicto +1127 2112 947 1865 conicto +768 1618 768 1184 conicto +768 750 947 503 conicto +1127 256 1440 256 conicto +1753 256 1932 503 conicto +2112 750 2112 1184 conicto +end_ol grestore +gsave 2.178090 11.635556 translate 0.035278 -0.035278 scale +start_ol +2432 1288 moveto +2432 1088 lineto +640 1088 lineto +666 682 886 469 conicto +1107 256 1501 256 conicto +1729 256 1943 304 conicto +2157 352 2368 448 conicto +2368 64 lineto +2158 1 1937 -31 conicto +1716 -64 1489 -64 conicto +920 -64 588 267 conicto +256 598 256 1163 conicto +256 1746 567 2089 conicto +879 2432 1407 2432 conicto +1881 2432 2156 2124 conicto +2432 1817 2432 1288 conicto +2048 1408 moveto +2044 1729 1868 1920 conicto +1693 2112 1404 2112 conicto +1076 2112 879 1927 conicto +683 1742 653 1406 conicto +2048 1408 lineto +end_ol grestore +gsave 2.525265 11.635556 translate 0.035278 -0.035278 scale +start_ol +1728 2048 moveto +1665 2081 1590 2096 conicto +1516 2112 1426 2112 conicto +1108 2112 938 1886 conicto +768 1660 768 1237 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +886 2211 1075 2321 conicto +1265 2432 1536 2432 conicto +1575 2432 1622 2432 conicto +1669 2432 1726 2432 conicto +1728 2048 lineto +end_ol grestore +gsave 2.757544 11.635556 translate 0.035278 -0.035278 scale +start_ol +1471 1152 moveto +1002 1152 821 1047 conicto +640 943 640 692 conicto +640 491 775 373 conicto +911 256 1145 256 conicto +1467 256 1661 479 conicto +1856 702 1856 1072 conicto +1856 1152 lineto +1471 1152 lineto +2240 1321 moveto +2240 0 lineto +1856 0 lineto +1856 384 lineto +1724 154 1526 45 conicto +1329 -64 1043 -64 conicto +682 -64 469 137 conicto +256 339 256 677 conicto +256 1071 521 1271 conicto +787 1472 1313 1472 conicto +1856 1472 lineto +1856 1514 lineto +1856 1800 1683 1956 conicto +1510 2112 1198 2112 conicto +999 2112 810 2064 conicto +622 2016 448 1920 conicto +448 2304 lineto +657 2368 854 2400 conicto +1052 2432 1238 2432 conicto +1742 2432 1991 2156 conicto +2240 1881 2240 1321 conicto +end_ol grestore +gsave 3.102222 11.635556 translate 0.035278 -0.035278 scale +start_ol +768 3008 moveto +768 2368 lineto +1536 2368 lineto +1536 2048 lineto +768 2048 lineto +768 771 lineto +768 484 844 402 conicto +920 320 1153 320 conicto +1536 320 lineto +1536 0 lineto +1153 0 lineto +716 0 550 166 conicto +384 332 384 771 conicto +384 2048 lineto +128 2048 lineto +128 2368 lineto +384 2368 lineto +384 3008 lineto +768 3008 lineto +end_ol grestore +gsave 3.324513 11.635556 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave 3.669191 11.635556 translate 0.035278 -0.035278 scale +start_ol +1728 2048 moveto +1665 2081 1590 2096 conicto +1516 2112 1426 2112 conicto +1108 2112 938 1886 conicto +768 1660 768 1237 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +886 2211 1075 2321 conicto +1265 2432 1536 2432 conicto +1575 2432 1622 2432 conicto +1669 2432 1726 2432 conicto +1728 2048 lineto +end_ol grestore +0.749020 0.749020 0.749020 srgb +n 6.740000 20.305000 2.000000 1.875000 0 360 ellipse f +0.100000 slw +[0.200000] 0 sd +[0.200000] 0 sd +0.000000 0.000000 0.000000 srgb +n 6.740000 20.305000 2.000000 1.875000 0 360 ellipse cp s +gsave 5.401250 20.305000 translate 0.035278 -0.035278 scale +start_ol +832 1536 moveto +832 320 lineto +1498 320 lineto +1843 320 2009 470 conicto +2176 620 2176 929 conicto +2176 1240 2009 1388 conicto +1843 1536 1498 1536 conicto +832 1536 lineto +832 2816 moveto +832 1856 lineto +1446 1856 lineto +1750 1856 1899 1974 conicto +2048 2093 2048 2336 conicto +2048 2577 1899 2696 conicto +1750 2816 1446 2816 conicto +832 2816 lineto +384 3136 moveto +1477 3136 lineto +1966 3136 2231 2938 conicto +2496 2740 2496 2374 conicto +2496 2092 2356 1924 conicto +2217 1757 1947 1716 conicto +2268 1648 2446 1431 conicto +2624 1215 2624 891 conicto +2624 465 2336 232 conicto +2049 0 1518 0 conicto +384 0 lineto +384 3136 lineto +end_ol grestore +gsave 5.788385 20.305000 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave 6.133063 20.305000 translate 0.035278 -0.035278 scale +start_ol +384 949 moveto +384 2368 lineto +768 2368 lineto +768 964 lineto +768 610 900 433 conicto +1033 256 1297 256 conicto +1615 256 1799 466 conicto +1984 676 1984 1039 conicto +1984 2368 lineto +2368 2368 lineto +2368 0 lineto +1984 0 lineto +1984 384 lineto +1842 157 1654 46 conicto +1466 -64 1218 -64 conicto +808 -64 596 194 conicto +384 452 384 949 conicto +1363 2432 moveto +1363 2432 lineto +end_ol grestore +gsave 6.490225 20.305000 translate 0.035278 -0.035278 scale +start_ol +2368 1418 moveto +2368 0 lineto +1984 0 lineto +1984 1405 lineto +1984 1760 1851 1936 conicto +1719 2112 1454 2112 conicto +1136 2112 952 1901 conicto +768 1691 768 1328 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +908 2209 1098 2320 conicto +1289 2432 1537 2432 conicto +1947 2432 2157 2174 conicto +2368 1917 2368 1418 conicto +end_ol grestore +gsave 6.847388 20.305000 translate 0.035278 -0.035278 scale +start_ol +1984 2048 moveto +1984 3264 lineto +2368 3264 lineto +2368 0 lineto +1984 0 lineto +1984 320 lineto +1861 125 1674 30 conicto +1487 -64 1225 -64 conicto +795 -64 525 280 conicto +256 624 256 1184 conicto +256 1744 525 2088 conicto +795 2432 1225 2432 conicto +1487 2432 1674 2337 conicto +1861 2243 1984 2048 conicto +640 1184 moveto +640 750 819 503 conicto +998 256 1311 256 conicto +1624 256 1804 503 conicto +1984 750 1984 1184 conicto +1984 1618 1804 1865 conicto +1624 2112 1311 2112 conicto +998 2112 819 1865 conicto +640 1618 640 1184 conicto +end_ol grestore +gsave 7.204551 20.305000 translate 0.035278 -0.035278 scale +start_ol +384 2368 moveto +768 2368 lineto +768 0 lineto +384 0 lineto +384 2368 lineto +384 3264 moveto +768 3264 lineto +768 2752 lineto +384 2752 lineto +384 3264 lineto +end_ol grestore +gsave 7.361903 20.305000 translate 0.035278 -0.035278 scale +start_ol +2368 1418 moveto +2368 0 lineto +1984 0 lineto +1984 1405 lineto +1984 1760 1851 1936 conicto +1719 2112 1454 2112 conicto +1136 2112 952 1901 conicto +768 1691 768 1328 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +908 2209 1098 2320 conicto +1289 2432 1537 2432 conicto +1947 2432 2157 2174 conicto +2368 1917 2368 1418 conicto +end_ol grestore +gsave 7.719066 20.305000 translate 0.035278 -0.035278 scale +start_ol +1984 1215 moveto +1984 1642 1807 1877 conicto +1630 2112 1311 2112 conicto +994 2112 817 1877 conicto +640 1642 640 1215 conicto +640 790 817 555 conicto +994 320 1311 320 conicto +1630 320 1807 555 conicto +1984 790 1984 1215 conicto +2368 289 moveto +2368 -311 2096 -603 conicto +1824 -896 1262 -896 conicto +1054 -896 870 -864 conicto +686 -833 512 -768 conicto +512 -384 lineto +687 -482 857 -529 conicto +1028 -576 1205 -576 conicto +1595 -576 1789 -378 conicto +1984 -180 1984 220 conicto +1984 384 lineto +1863 191 1675 95 conicto +1487 0 1225 0 conicto +789 0 522 333 conicto +256 666 256 1215 conicto +256 1766 522 2099 conicto +789 2432 1225 2432 conicto +1487 2432 1675 2336 conicto +1863 2241 1984 2048 conicto +1984 2368 lineto +2368 2368 lineto +2368 289 lineto +end_ol grestore +gsave 5.526250 21.010556 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave 5.870928 21.010556 translate 0.035278 -0.035278 scale +start_ol +768 320 moveto +768 -896 lineto +384 -896 lineto +384 2368 lineto +768 2368 lineto +768 2048 lineto +891 2243 1078 2337 conicto +1265 2432 1525 2432 conicto +1957 2432 2226 2088 conicto +2496 1744 2496 1184 conicto +2496 624 2226 280 conicto +1957 -64 1525 -64 conicto +1265 -64 1078 30 conicto +891 125 768 320 conicto +2112 1184 moveto +2112 1618 1932 1865 conicto +1753 2112 1440 2112 conicto +1127 2112 947 1865 conicto +768 1618 768 1184 conicto +768 750 947 503 conicto +1127 256 1440 256 conicto +1753 256 1932 503 conicto +2112 750 2112 1184 conicto +end_ol grestore +gsave 6.228090 21.010556 translate 0.035278 -0.035278 scale +start_ol +2432 1288 moveto +2432 1088 lineto +640 1088 lineto +666 682 886 469 conicto +1107 256 1501 256 conicto +1729 256 1943 304 conicto +2157 352 2368 448 conicto +2368 64 lineto +2158 1 1937 -31 conicto +1716 -64 1489 -64 conicto +920 -64 588 267 conicto +256 598 256 1163 conicto +256 1746 567 2089 conicto +879 2432 1407 2432 conicto +1881 2432 2156 2124 conicto +2432 1817 2432 1288 conicto +2048 1408 moveto +2044 1729 1868 1920 conicto +1693 2112 1404 2112 conicto +1076 2112 879 1927 conicto +683 1742 653 1406 conicto +2048 1408 lineto +end_ol grestore +gsave 6.575265 21.010556 translate 0.035278 -0.035278 scale +start_ol +1728 2048 moveto +1665 2081 1590 2096 conicto +1516 2112 1426 2112 conicto +1108 2112 938 1886 conicto +768 1660 768 1237 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +886 2211 1075 2321 conicto +1265 2432 1536 2432 conicto +1575 2432 1622 2432 conicto +1669 2432 1726 2432 conicto +1728 2048 lineto +end_ol grestore +gsave 6.807544 21.010556 translate 0.035278 -0.035278 scale +start_ol +1471 1152 moveto +1002 1152 821 1047 conicto +640 943 640 692 conicto +640 491 775 373 conicto +911 256 1145 256 conicto +1467 256 1661 479 conicto +1856 702 1856 1072 conicto +1856 1152 lineto +1471 1152 lineto +2240 1321 moveto +2240 0 lineto +1856 0 lineto +1856 384 lineto +1724 154 1526 45 conicto +1329 -64 1043 -64 conicto +682 -64 469 137 conicto +256 339 256 677 conicto +256 1071 521 1271 conicto +787 1472 1313 1472 conicto +1856 1472 lineto +1856 1514 lineto +1856 1800 1683 1956 conicto +1510 2112 1198 2112 conicto +999 2112 810 2064 conicto +622 2016 448 1920 conicto +448 2304 lineto +657 2368 854 2400 conicto +1052 2432 1238 2432 conicto +1742 2432 1991 2156 conicto +2240 1881 2240 1321 conicto +end_ol grestore +gsave 7.152222 21.010556 translate 0.035278 -0.035278 scale +start_ol +768 3008 moveto +768 2368 lineto +1536 2368 lineto +1536 2048 lineto +768 2048 lineto +768 771 lineto +768 484 844 402 conicto +920 320 1153 320 conicto +1536 320 lineto +1536 0 lineto +1153 0 lineto +716 0 550 166 conicto +384 332 384 771 conicto +384 2048 lineto +128 2048 lineto +128 2368 lineto +384 2368 lineto +384 3008 lineto +768 3008 lineto +end_ol grestore +gsave 7.374513 21.010556 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave 7.719191 21.010556 translate 0.035278 -0.035278 scale +start_ol +1728 2048 moveto +1665 2081 1590 2096 conicto +1516 2112 1426 2112 conicto +1108 2112 938 1886 conicto +768 1660 768 1237 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +886 2211 1075 2321 conicto +1265 2432 1536 2432 conicto +1575 2432 1622 2432 conicto +1669 2432 1726 2432 conicto +1728 2048 lineto +end_ol grestore +gsave 2.550000 15.680000 translate 0.035278 -0.035278 scale +start_ol +2240 3008 moveto +2240 2624 lineto +2007 2753 1800 2816 conicto +1594 2880 1401 2880 conicto +1067 2880 885 2741 conicto +704 2603 704 2348 conicto +704 2134 823 2025 conicto +943 1916 1277 1849 conicto +1522 1797 lineto +1988 1706 2210 1477 conicto +2432 1249 2432 865 conicto +2432 408 2129 172 conicto +1826 -64 1241 -64 conicto +1020 -64 771 -15 conicto +523 33 256 128 conicto +256 576 lineto +511 417 755 336 conicto +1000 256 1236 256 conicto +1594 256 1789 402 conicto +1984 549 1984 821 conicto +1984 1059 1848 1192 conicto +1713 1326 1403 1393 conicto +1156 1443 lineto +681 1538 468 1740 conicto +256 1942 256 2303 conicto +256 2720 544 2960 conicto +832 3200 1338 3200 conicto +1555 3200 1780 3152 conicto +2005 3104 2240 3008 conicto +end_ol grestore +gsave 2.907163 15.680000 translate 0.035278 -0.035278 scale +start_ol +2432 1288 moveto +2432 1088 lineto +640 1088 lineto +666 682 886 469 conicto +1107 256 1501 256 conicto +1729 256 1943 304 conicto +2157 352 2368 448 conicto +2368 64 lineto +2158 1 1937 -31 conicto +1716 -64 1489 -64 conicto +920 -64 588 267 conicto +256 598 256 1163 conicto +256 1746 567 2089 conicto +879 2432 1407 2432 conicto +1881 2432 2156 2124 conicto +2432 1817 2432 1288 conicto +2048 1408 moveto +2044 1729 1868 1920 conicto +1693 2112 1404 2112 conicto +1076 2112 879 1927 conicto +683 1742 653 1406 conicto +2048 1408 lineto +end_ol grestore +gsave 3.254337 15.680000 translate 0.035278 -0.035278 scale +start_ol +640 1184 moveto +640 750 819 503 conicto +998 256 1311 256 conicto +1624 256 1804 503 conicto +1984 750 1984 1184 conicto +1984 1618 1804 1865 conicto +1624 2112 1311 2112 conicto +998 2112 819 1865 conicto +640 1618 640 1184 conicto +1984 320 moveto +1861 125 1674 30 conicto +1487 -64 1225 -64 conicto +795 -64 525 280 conicto +256 624 256 1184 conicto +256 1744 525 2088 conicto +795 2432 1225 2432 conicto +1487 2432 1674 2337 conicto +1861 2243 1984 2048 conicto +1984 2368 lineto +2368 2368 lineto +2368 -896 lineto +1984 -896 lineto +1984 320 lineto +end_ol grestore +gsave 3.611500 15.680000 translate 0.035278 -0.035278 scale +start_ol +384 949 moveto +384 2368 lineto +768 2368 lineto +768 964 lineto +768 610 900 433 conicto +1033 256 1297 256 conicto +1615 256 1799 466 conicto +1984 676 1984 1039 conicto +1984 2368 lineto +2368 2368 lineto +2368 0 lineto +1984 0 lineto +1984 384 lineto +1842 157 1654 46 conicto +1466 -64 1218 -64 conicto +808 -64 596 194 conicto +384 452 384 949 conicto +1363 2432 moveto +1363 2432 lineto +end_ol grestore +gsave 3.968663 15.680000 translate 0.035278 -0.035278 scale +start_ol +2432 1288 moveto +2432 1088 lineto +640 1088 lineto +666 682 886 469 conicto +1107 256 1501 256 conicto +1729 256 1943 304 conicto +2157 352 2368 448 conicto +2368 64 lineto +2158 1 1937 -31 conicto +1716 -64 1489 -64 conicto +920 -64 588 267 conicto +256 598 256 1163 conicto +256 1746 567 2089 conicto +879 2432 1407 2432 conicto +1881 2432 2156 2124 conicto +2432 1817 2432 1288 conicto +2048 1408 moveto +2044 1729 1868 1920 conicto +1693 2112 1404 2112 conicto +1076 2112 879 1927 conicto +683 1742 653 1406 conicto +2048 1408 lineto +end_ol grestore +gsave 4.315837 15.680000 translate 0.035278 -0.035278 scale +start_ol +2368 1418 moveto +2368 0 lineto +1984 0 lineto +1984 1405 lineto +1984 1760 1851 1936 conicto +1719 2112 1454 2112 conicto +1136 2112 952 1901 conicto +768 1691 768 1328 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +908 2209 1098 2320 conicto +1289 2432 1537 2432 conicto +1947 2432 2157 2174 conicto +2368 1917 2368 1418 conicto +end_ol grestore +gsave 4.673000 15.680000 translate 0.035278 -0.035278 scale +start_ol +768 3008 moveto +768 2368 lineto +1536 2368 lineto +1536 2048 lineto +768 2048 lineto +768 771 lineto +768 484 844 402 conicto +920 320 1153 320 conicto +1536 320 lineto +1536 0 lineto +1153 0 lineto +716 0 550 166 conicto +384 332 384 771 conicto +384 2048 lineto +128 2048 lineto +128 2368 lineto +384 2368 lineto +384 3008 lineto +768 3008 lineto +end_ol grestore +gsave 4.895291 15.680000 translate 0.035278 -0.035278 scale +start_ol +384 2368 moveto +768 2368 lineto +768 0 lineto +384 0 lineto +384 2368 lineto +384 3264 moveto +768 3264 lineto +768 2752 lineto +384 2752 lineto +384 3264 lineto +end_ol grestore +gsave 5.052644 15.680000 translate 0.035278 -0.035278 scale +start_ol +1471 1152 moveto +1002 1152 821 1047 conicto +640 943 640 692 conicto +640 491 775 373 conicto +911 256 1145 256 conicto +1467 256 1661 479 conicto +1856 702 1856 1072 conicto +1856 1152 lineto +1471 1152 lineto +2240 1321 moveto +2240 0 lineto +1856 0 lineto +1856 384 lineto +1724 154 1526 45 conicto +1329 -64 1043 -64 conicto +682 -64 469 137 conicto +256 339 256 677 conicto +256 1071 521 1271 conicto +787 1472 1313 1472 conicto +1856 1472 lineto +1856 1514 lineto +1856 1800 1683 1956 conicto +1510 2112 1198 2112 conicto +999 2112 810 2064 conicto +622 2016 448 1920 conicto +448 2304 lineto +657 2368 854 2400 conicto +1052 2432 1238 2432 conicto +1742 2432 1991 2156 conicto +2240 1881 2240 1321 conicto +end_ol grestore +gsave 5.397322 15.680000 translate 0.035278 -0.035278 scale +start_ol +384 3264 moveto +768 3264 lineto +768 0 lineto +384 0 lineto +384 3264 lineto +end_ol grestore +gsave 1.830000 16.385556 translate 0.035278 -0.035278 scale +start_ol +2752 2880 moveto +2752 2432 lineto +2541 2657 2302 2768 conicto +2064 2880 1795 2880 conicto +1266 2880 985 2542 conicto +704 2205 704 1567 conicto +704 931 985 593 conicto +1266 256 1795 256 conicto +2064 256 2302 367 conicto +2541 479 2752 704 conicto +2752 256 lineto +2532 96 2286 16 conicto +2041 -64 1767 -64 conicto +1065 -64 660 373 conicto +256 810 256 1567 conicto +256 2326 660 2763 conicto +1065 3200 1767 3200 conicto +2045 3200 2290 3120 conicto +2536 3040 2752 2880 conicto +end_ol grestore +gsave 2.224626 16.385556 translate 0.035278 -0.035278 scale +start_ol +832 2816 moveto +832 1600 lineto +1365 1600 lineto +1661 1600 1822 1758 conicto +1984 1916 1984 2209 conicto +1984 2500 1822 2658 conicto +1661 2816 1365 2816 conicto +832 2816 lineto +384 3136 moveto +1365 3136 lineto +1892 3136 2162 2900 conicto +2432 2664 2432 2209 conicto +2432 1750 2162 1515 conicto +1892 1280 1365 1280 conicto +832 1280 lineto +832 0 lineto +384 0 lineto +384 3136 lineto +end_ol grestore +gsave 2.564301 16.385556 translate 0.035278 -0.035278 scale +start_ol +448 3136 moveto +896 3136 lineto +896 1212 lineto +896 703 1070 479 conicto +1244 256 1633 256 conicto +2020 256 2194 479 conicto +2368 703 2368 1212 conicto +2368 3136 lineto +2816 3136 lineto +2816 1159 lineto +2816 554 2516 245 conicto +2217 -64 1633 -64 conicto +1047 -64 747 245 conicto +448 554 448 1159 conicto +448 3136 lineto +end_ol grestore +gsave 2.976415 16.385556 translate 0.035278 -0.035278 scale +start_ol +192 1344 moveto +1344 1344 lineto +1344 1024 lineto +192 1024 lineto +192 1344 lineto +end_ol grestore +gsave 3.178722 16.385556 translate 0.035278 -0.035278 scale +start_ol +2112 1184 moveto +2112 1618 1932 1865 conicto +1753 2112 1440 2112 conicto +1127 2112 947 1865 conicto +768 1618 768 1184 conicto +768 750 947 503 conicto +1127 256 1440 256 conicto +1753 256 1932 503 conicto +2112 750 2112 1184 conicto +768 2048 moveto +891 2243 1078 2337 conicto +1265 2432 1525 2432 conicto +1957 2432 2226 2088 conicto +2496 1744 2496 1184 conicto +2496 624 2226 280 conicto +1957 -64 1525 -64 conicto +1265 -64 1078 30 conicto +891 125 768 320 conicto +768 0 lineto +384 0 lineto +384 3264 lineto +768 3264 lineto +768 2048 lineto +end_ol grestore +gsave 3.535885 16.385556 translate 0.035278 -0.035278 scale +start_ol +1471 1152 moveto +1002 1152 821 1047 conicto +640 943 640 692 conicto +640 491 775 373 conicto +911 256 1145 256 conicto +1467 256 1661 479 conicto +1856 702 1856 1072 conicto +1856 1152 lineto +1471 1152 lineto +2240 1321 moveto +2240 0 lineto +1856 0 lineto +1856 384 lineto +1724 154 1526 45 conicto +1329 -64 1043 -64 conicto +682 -64 469 137 conicto +256 339 256 677 conicto +256 1071 521 1271 conicto +787 1472 1313 1472 conicto +1856 1472 lineto +1856 1514 lineto +1856 1800 1683 1956 conicto +1510 2112 1198 2112 conicto +999 2112 810 2064 conicto +622 2016 448 1920 conicto +448 2304 lineto +657 2368 854 2400 conicto +1052 2432 1238 2432 conicto +1742 2432 1991 2156 conicto +2240 1881 2240 1321 conicto +end_ol grestore +gsave 3.880562 16.385556 translate 0.035278 -0.035278 scale +start_ol +1920 2304 moveto +1920 1920 lineto +1756 2016 1580 2064 conicto +1404 2112 1215 2112 conicto +927 2112 783 2019 conicto +640 1926 640 1740 conicto +640 1598 744 1517 conicto +849 1436 1164 1363 conicto +1298 1333 lineto +1705 1245 1876 1085 conicto +2048 926 2048 641 conicto +2048 315 1789 125 conicto +1531 -64 1079 -64 conicto +890 -64 686 -32 conicto +482 0 256 64 conicto +256 448 lineto +471 352 680 304 conicto +889 256 1094 256 conicto +1368 256 1516 347 conicto +1664 439 1664 606 conicto +1664 760 1556 842 conicto +1449 925 1085 1001 conicto +949 1033 lineto +582 1111 419 1272 conicto +256 1434 256 1716 conicto +256 2059 492 2245 conicto +729 2432 1164 2432 conicto +1379 2432 1569 2400 conicto +1760 2368 1920 2304 conicto +end_ol grestore +gsave 4.175283 16.385556 translate 0.035278 -0.035278 scale +start_ol +2432 1288 moveto +2432 1088 lineto +640 1088 lineto +666 682 886 469 conicto +1107 256 1501 256 conicto +1729 256 1943 304 conicto +2157 352 2368 448 conicto +2368 64 lineto +2158 1 1937 -31 conicto +1716 -64 1489 -64 conicto +920 -64 588 267 conicto +256 598 256 1163 conicto +256 1746 567 2089 conicto +879 2432 1407 2432 conicto +1881 2432 2156 2124 conicto +2432 1817 2432 1288 conicto +2048 1408 moveto +2044 1729 1868 1920 conicto +1693 2112 1404 2112 conicto +1076 2112 879 1927 conicto +683 1742 653 1406 conicto +2048 1408 lineto +end_ol grestore +gsave 4.522458 16.385556 translate 0.035278 -0.035278 scale +start_ol +1984 2048 moveto +1984 3264 lineto +2368 3264 lineto +2368 0 lineto +1984 0 lineto +1984 320 lineto +1861 125 1674 30 conicto +1487 -64 1225 -64 conicto +795 -64 525 280 conicto +256 624 256 1184 conicto +256 1744 525 2088 conicto +795 2432 1225 2432 conicto +1487 2432 1674 2337 conicto +1861 2243 1984 2048 conicto +640 1184 moveto +640 750 819 503 conicto +998 256 1311 256 conicto +1624 256 1804 503 conicto +1984 750 1984 1184 conicto +1984 1618 1804 1865 conicto +1624 2112 1311 2112 conicto +998 2112 819 1865 conicto +640 1618 640 1184 conicto +end_ol grestore +gsave 4.879621 16.385556 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 5.059446 16.385556 translate 0.035278 -0.035278 scale +start_ol +832 1536 moveto +832 320 lineto +1498 320 lineto +1843 320 2009 470 conicto +2176 620 2176 929 conicto +2176 1240 2009 1388 conicto +1843 1536 1498 1536 conicto +832 1536 lineto +832 2816 moveto +832 1856 lineto +1446 1856 lineto +1750 1856 1899 1974 conicto +2048 2093 2048 2336 conicto +2048 2577 1899 2696 conicto +1750 2816 1446 2816 conicto +832 2816 lineto +384 3136 moveto +1477 3136 lineto +1966 3136 2231 2938 conicto +2496 2740 2496 2374 conicto +2496 2092 2356 1924 conicto +2217 1757 1947 1716 conicto +2268 1648 2446 1431 conicto +2624 1215 2624 891 conicto +2624 465 2336 232 conicto +2049 0 1518 0 conicto +384 0 lineto +384 3136 lineto +end_ol grestore +gsave 5.446581 16.385556 translate 0.035278 -0.035278 scale +start_ol +1043 1668 moveto +835 1497 737 1327 conicto +640 1158 640 973 conicto +640 665 867 460 conicto +1095 256 1438 256 conicto +1642 256 1820 322 conicto +1998 389 2155 524 conicto +1043 1668 lineto +1339 1915 moveto +2409 808 lineto +2535 996 2605 1210 conicto +2675 1424 2688 1664 conicto +3072 1664 lineto +3047 1386 2939 1114 conicto +2832 842 2639 576 conicto +3200 0 lineto +2684 0 lineto +2391 286 lineto +2171 109 1930 22 conicto +1689 -64 1412 -64 conicto +903 -64 579 224 conicto +256 513 256 963 conicto +256 1232 395 1467 conicto +534 1703 812 1911 conicto +728 2045 684 2177 conicto +640 2310 640 2438 conicto +640 2782 870 2991 conicto +1101 3200 1484 3200 conicto +1656 3200 1827 3168 conicto +1999 3136 2176 3072 conicto +2176 2688 lineto +1993 2782 1827 2831 conicto +1662 2880 1519 2880 conicto +1299 2880 1161 2760 conicto +1024 2640 1024 2450 conicto +1024 2340 1086 2229 conicto +1148 2118 1339 1915 conicto +end_ol grestore +gsave 5.886170 16.385556 translate 0.035278 -0.035278 scale +start_ol +832 1536 moveto +832 320 lineto +1498 320 lineto +1843 320 2009 470 conicto +2176 620 2176 929 conicto +2176 1240 2009 1388 conicto +1843 1536 1498 1536 conicto +832 1536 lineto +832 2816 moveto +832 1856 lineto +1446 1856 lineto +1750 1856 1899 1974 conicto +2048 2093 2048 2336 conicto +2048 2577 1899 2696 conicto +1750 2816 1446 2816 conicto +832 2816 lineto +384 3136 moveto +1477 3136 lineto +1966 3136 2231 2938 conicto +2496 2740 2496 2374 conicto +2496 2092 2356 1924 conicto +2217 1757 1947 1716 conicto +2268 1648 2446 1431 conicto +2624 1215 2624 891 conicto +2624 465 2336 232 conicto +2049 0 1518 0 conicto +384 0 lineto +384 3136 lineto +end_ol grestore +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n -8.325000 11.005000 m -7.586739 11.017053 l s +[] 0 sd +0 slj +0 slc +n -7.211789 11.023175 m -7.715803 11.264979 l -7.586739 11.017053 l -7.707641 10.765046 l ef +n -7.211789 11.023175 m -7.715803 11.264979 l -7.586739 11.017053 l -7.707641 10.765046 l cp s +0.100000 slw +[0.200000] 0 sd +[0.200000] 0 sd +0 slc +n 6.670000 15.150000 m 6.729613 17.943307 l s +[] 0 sd +0 slj +0 slc +n 6.737614 18.318222 m 6.477003 17.823670 l 6.729613 17.943307 l 6.976889 17.813002 l ef +n 6.737614 18.318222 m 6.477003 17.823670 l 6.729613 17.943307 l 6.976889 17.813002 l cp s +0.749020 0.749020 0.749020 srgb +n -5.130000 23.564400 2.000000 1.875000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n -5.130000 23.564400 2.000000 1.875000 0 360 ellipse cp s +gsave -6.205000 23.564400 translate 0.035278 -0.035278 scale +start_ol +832 2816 moveto +832 1600 lineto +1365 1600 lineto +1661 1600 1822 1758 conicto +1984 1916 1984 2209 conicto +1984 2500 1822 2658 conicto +1661 2816 1365 2816 conicto +832 2816 lineto +384 3136 moveto +1365 3136 lineto +1892 3136 2162 2900 conicto +2432 2664 2432 2209 conicto +2432 1750 2162 1515 conicto +1892 1280 1365 1280 conicto +832 1280 lineto +832 0 lineto +384 0 lineto +384 3136 lineto +end_ol grestore +gsave -5.875313 23.564400 translate 0.035278 -0.035278 scale +start_ol +1728 2048 moveto +1665 2081 1590 2096 conicto +1516 2112 1426 2112 conicto +1108 2112 938 1886 conicto +768 1660 768 1237 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +886 2211 1075 2321 conicto +1265 2432 1536 2432 conicto +1575 2432 1622 2432 conicto +1669 2432 1726 2432 conicto +1728 2048 lineto +end_ol grestore +gsave -5.643033 23.564400 translate 0.035278 -0.035278 scale +start_ol +384 949 moveto +384 2368 lineto +768 2368 lineto +768 964 lineto +768 610 900 433 conicto +1033 256 1297 256 conicto +1615 256 1799 466 conicto +1984 676 1984 1039 conicto +1984 2368 lineto +2368 2368 lineto +2368 0 lineto +1984 0 lineto +1984 384 lineto +1842 157 1654 46 conicto +1466 -64 1218 -64 conicto +808 -64 596 194 conicto +384 452 384 949 conicto +1363 2432 moveto +1363 2432 lineto +end_ol grestore +gsave -5.285871 23.564400 translate 0.035278 -0.035278 scale +start_ol +2368 1418 moveto +2368 0 lineto +1984 0 lineto +1984 1405 lineto +1984 1760 1851 1936 conicto +1719 2112 1454 2112 conicto +1136 2112 952 1901 conicto +768 1691 768 1328 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +908 2209 1098 2320 conicto +1289 2432 1537 2432 conicto +1947 2432 2157 2174 conicto +2368 1917 2368 1418 conicto +end_ol grestore +gsave -4.928708 23.564400 translate 0.035278 -0.035278 scale +start_ol +384 2368 moveto +768 2368 lineto +768 0 lineto +384 0 lineto +384 2368 lineto +384 3264 moveto +768 3264 lineto +768 2752 lineto +384 2752 lineto +384 3264 lineto +end_ol grestore +gsave -4.771355 23.564400 translate 0.035278 -0.035278 scale +start_ol +2368 1418 moveto +2368 0 lineto +1984 0 lineto +1984 1405 lineto +1984 1760 1851 1936 conicto +1719 2112 1454 2112 conicto +1136 2112 952 1901 conicto +768 1691 768 1328 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +908 2209 1098 2320 conicto +1289 2432 1537 2432 conicto +1947 2432 2157 2174 conicto +2368 1917 2368 1418 conicto +end_ol grestore +gsave -4.414193 23.564400 translate 0.035278 -0.035278 scale +start_ol +1984 1215 moveto +1984 1642 1807 1877 conicto +1630 2112 1311 2112 conicto +994 2112 817 1877 conicto +640 1642 640 1215 conicto +640 790 817 555 conicto +994 320 1311 320 conicto +1630 320 1807 555 conicto +1984 790 1984 1215 conicto +2368 289 moveto +2368 -311 2096 -603 conicto +1824 -896 1262 -896 conicto +1054 -896 870 -864 conicto +686 -833 512 -768 conicto +512 -384 lineto +687 -482 857 -529 conicto +1028 -576 1205 -576 conicto +1595 -576 1789 -378 conicto +1984 -180 1984 220 conicto +1984 384 lineto +1863 191 1675 95 conicto +1487 0 1225 0 conicto +789 0 522 333 conicto +256 666 256 1215 conicto +256 1766 522 2099 conicto +789 2432 1225 2432 conicto +1487 2432 1675 2336 conicto +1863 2241 1984 2048 conicto +1984 2368 lineto +2368 2368 lineto +2368 289 lineto +end_ol grestore +gsave -6.343750 24.269956 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave -5.999072 24.269956 translate 0.035278 -0.035278 scale +start_ol +768 320 moveto +768 -896 lineto +384 -896 lineto +384 2368 lineto +768 2368 lineto +768 2048 lineto +891 2243 1078 2337 conicto +1265 2432 1525 2432 conicto +1957 2432 2226 2088 conicto +2496 1744 2496 1184 conicto +2496 624 2226 280 conicto +1957 -64 1525 -64 conicto +1265 -64 1078 30 conicto +891 125 768 320 conicto +2112 1184 moveto +2112 1618 1932 1865 conicto +1753 2112 1440 2112 conicto +1127 2112 947 1865 conicto +768 1618 768 1184 conicto +768 750 947 503 conicto +1127 256 1440 256 conicto +1753 256 1932 503 conicto +2112 750 2112 1184 conicto +end_ol grestore +gsave -5.641910 24.269956 translate 0.035278 -0.035278 scale +start_ol +2432 1288 moveto +2432 1088 lineto +640 1088 lineto +666 682 886 469 conicto +1107 256 1501 256 conicto +1729 256 1943 304 conicto +2157 352 2368 448 conicto +2368 64 lineto +2158 1 1937 -31 conicto +1716 -64 1489 -64 conicto +920 -64 588 267 conicto +256 598 256 1163 conicto +256 1746 567 2089 conicto +879 2432 1407 2432 conicto +1881 2432 2156 2124 conicto +2432 1817 2432 1288 conicto +2048 1408 moveto +2044 1729 1868 1920 conicto +1693 2112 1404 2112 conicto +1076 2112 879 1927 conicto +683 1742 653 1406 conicto +2048 1408 lineto +end_ol grestore +gsave -5.294735 24.269956 translate 0.035278 -0.035278 scale +start_ol +1728 2048 moveto +1665 2081 1590 2096 conicto +1516 2112 1426 2112 conicto +1108 2112 938 1886 conicto +768 1660 768 1237 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +886 2211 1075 2321 conicto +1265 2432 1536 2432 conicto +1575 2432 1622 2432 conicto +1669 2432 1726 2432 conicto +1728 2048 lineto +end_ol grestore +gsave -5.062456 24.269956 translate 0.035278 -0.035278 scale +start_ol +1471 1152 moveto +1002 1152 821 1047 conicto +640 943 640 692 conicto +640 491 775 373 conicto +911 256 1145 256 conicto +1467 256 1661 479 conicto +1856 702 1856 1072 conicto +1856 1152 lineto +1471 1152 lineto +2240 1321 moveto +2240 0 lineto +1856 0 lineto +1856 384 lineto +1724 154 1526 45 conicto +1329 -64 1043 -64 conicto +682 -64 469 137 conicto +256 339 256 677 conicto +256 1071 521 1271 conicto +787 1472 1313 1472 conicto +1856 1472 lineto +1856 1514 lineto +1856 1800 1683 1956 conicto +1510 2112 1198 2112 conicto +999 2112 810 2064 conicto +622 2016 448 1920 conicto +448 2304 lineto +657 2368 854 2400 conicto +1052 2432 1238 2432 conicto +1742 2432 1991 2156 conicto +2240 1881 2240 1321 conicto +end_ol grestore +gsave -4.717778 24.269956 translate 0.035278 -0.035278 scale +start_ol +768 3008 moveto +768 2368 lineto +1536 2368 lineto +1536 2048 lineto +768 2048 lineto +768 771 lineto +768 484 844 402 conicto +920 320 1153 320 conicto +1536 320 lineto +1536 0 lineto +1153 0 lineto +716 0 550 166 conicto +384 332 384 771 conicto +384 2048 lineto +128 2048 lineto +128 2368 lineto +384 2368 lineto +384 3008 lineto +768 3008 lineto +end_ol grestore +gsave -4.495487 24.269956 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave -4.150809 24.269956 translate 0.035278 -0.035278 scale +start_ol +1728 2048 moveto +1665 2081 1590 2096 conicto +1516 2112 1426 2112 conicto +1108 2112 938 1886 conicto +768 1660 768 1237 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +886 2211 1075 2321 conicto +1265 2432 1536 2432 conicto +1575 2432 1622 2432 conicto +1669 2432 1726 2432 conicto +1728 2048 lineto +end_ol grestore +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n -7.892470 23.578500 m -7.130000 23.564400 l s +[] 0 sd +0 slj +0 slc +n -8.267406 23.585433 m -7.772113 23.326231 l -7.892470 23.578500 l -7.762869 23.826146 l ef +n -8.267406 23.585433 m -7.772113 23.326231 l -7.892470 23.578500 l -7.762869 23.826146 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n -2.643200 23.562593 m 26.350000 23.455000 l s +[] 0 sd +0 slj +0 slc +n -3.018197 23.563985 m -2.519129 23.312131 l -2.643200 23.562593 l -2.517273 23.812128 l ef +n -3.018197 23.563985 m -2.519129 23.312131 l -2.643200 23.562593 l -2.517273 23.812128 l cp s +0.100000 slw +[0.200000] 0 sd +[0.200000] 0 sd +0 slc +n 6.740000 22.180000 m 6.659470 23.314419 l s +[] 0 sd +0 slj +0 slc +n 6.632917 23.688477 m 6.418949 23.172030 l 6.659470 23.314419 l 6.917694 23.207435 l ef +n 6.632917 23.688477 m 6.418949 23.172030 l 6.659470 23.314419 l 6.917694 23.207435 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 6.200000 16.633300 m 7.200000 17.633300 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 7.140710 16.681500 m 6.100000 17.558300 l s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +n 14.240000 8.975800 m 14.240000 12.570800 l 27.700000 12.570800 l 27.700000 8.975800 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +n 14.340000 18.375800 m 14.340000 21.970800 l 27.800000 21.970800 l 27.800000 18.375800 l cp s +gsave 22.245000 15.525000 translate 0.035278 -0.035278 scale +start_ol +576 576 moveto +1088 576 lineto +1088 0 lineto +576 0 lineto +576 576 lineto +end_ol grestore +gsave 22.447307 15.525000 translate 0.035278 -0.035278 scale +start_ol +576 576 moveto +1088 576 lineto +1088 0 lineto +576 0 lineto +576 576 lineto +end_ol grestore +gsave 22.649614 15.525000 translate 0.035278 -0.035278 scale +start_ol +576 576 moveto +1088 576 lineto +1088 0 lineto +576 0 lineto +576 576 lineto +end_ol grestore +gsave 22.851921 15.525000 translate 0.035278 -0.035278 scale +start_ol +576 576 moveto +1088 576 lineto +1088 0 lineto +576 0 lineto +576 576 lineto +end_ol grestore +gsave 15.107500 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 15.309807 20.555000 translate 0.035278 -0.035278 scale +start_ol +448 3520 moveto +960 3520 lineto +960 384 lineto +2688 384 lineto +2688 0 lineto +448 0 lineto +448 3520 lineto +end_ol grestore +gsave 15.666970 20.555000 translate 0.035278 -0.035278 scale +start_ol +960 1728 moveto +960 384 lineto +1696 384 lineto +2071 384 2251 550 conicto +2432 716 2432 1057 conicto +2432 1401 2251 1564 conicto +2071 1728 1696 1728 conicto +960 1728 lineto +960 3136 moveto +960 2112 lineto +1639 2112 lineto +1975 2112 2139 2238 conicto +2304 2365 2304 2624 conicto +2304 2881 2139 3008 conicto +1975 3136 1639 3136 conicto +960 3136 lineto +448 3520 moveto +1673 3520 lineto +2222 3520 2519 3300 conicto +2816 3080 2816 2674 conicto +2816 2360 2658 2174 conicto +2500 1989 2193 1943 conicto +2549 1866 2746 1621 conicto +2944 1376 2944 1009 conicto +2944 526 2625 263 conicto +2306 0 1718 0 conicto +448 0 lineto +448 3520 lineto +end_ol grestore +gsave 16.106558 20.555000 translate 0.035278 -0.035278 scale +start_ol +1536 3712 moveto +1211 3163 1053 2626 conicto +896 2090 896 1538 conicto +896 987 1055 446 conicto +1214 -94 1536 -640 conicto +1148 -640 lineto +797 -79 622 462 conicto +448 1004 448 1538 conicto +448 2070 621 2609 conicto +794 3149 1148 3712 conicto +1536 3712 lineto +end_ol grestore +gsave 16.356325 20.555000 translate 0.035278 -0.035278 scale +start_ol +448 3520 moveto +1131 3520 lineto +2624 575 lineto +2624 3520 lineto +3136 3520 lineto +3136 0 lineto +2453 0 lineto +960 2945 lineto +960 0 lineto +448 0 lineto +448 3520 lineto +end_ol grestore +gsave 16.835874 20.555000 translate 0.035278 -0.035278 scale +start_ol +640 384 moveto +1408 384 lineto +1408 3136 lineto +576 2944 lineto +576 3328 lineto +1434 3520 lineto +1920 3520 lineto +1920 384 lineto +2688 384 lineto +2688 0 lineto +640 0 lineto +640 384 lineto +end_ol grestore +gsave 17.242993 20.555000 translate 0.035278 -0.035278 scale +start_ol +384 3712 moveto +772 3712 lineto +1123 3149 1297 2609 conicto +1472 2070 1472 1538 conicto +1472 1004 1297 462 conicto +1123 -79 772 -640 conicto +384 -640 lineto +706 -94 865 446 conicto +1024 987 1024 1538 conicto +1024 2090 865 2626 conicto +706 3163 384 3712 conicto +end_ol grestore +gsave 17.492760 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 17.695067 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 17.897374 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 18.099681 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 18.301988 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 18.504295 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 18.706602 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 18.908909 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 19.111216 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 19.313523 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 19.515830 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 19.718137 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 19.920444 20.555000 translate 0.035278 -0.035278 scale +start_ol +448 3520 moveto +960 3520 lineto +960 384 lineto +2688 384 lineto +2688 0 lineto +448 0 lineto +448 3520 lineto +end_ol grestore +gsave 20.277607 20.555000 translate 0.035278 -0.035278 scale +start_ol +960 1728 moveto +960 384 lineto +1696 384 lineto +2071 384 2251 550 conicto +2432 716 2432 1057 conicto +2432 1401 2251 1564 conicto +2071 1728 1696 1728 conicto +960 1728 lineto +960 3136 moveto +960 2112 lineto +1639 2112 lineto +1975 2112 2139 2238 conicto +2304 2365 2304 2624 conicto +2304 2881 2139 3008 conicto +1975 3136 1639 3136 conicto +960 3136 lineto +448 3520 moveto +1673 3520 lineto +2222 3520 2519 3300 conicto +2816 3080 2816 2674 conicto +2816 2360 2658 2174 conicto +2500 1989 2193 1943 conicto +2549 1866 2746 1621 conicto +2944 1376 2944 1009 conicto +2944 526 2625 263 conicto +2306 0 1718 0 conicto +448 0 lineto +448 3520 lineto +end_ol grestore +gsave 20.717196 20.555000 translate 0.035278 -0.035278 scale +start_ol +1536 3712 moveto +1211 3163 1053 2626 conicto +896 2090 896 1538 conicto +896 987 1055 446 conicto +1214 -94 1536 -640 conicto +1148 -640 lineto +797 -79 622 462 conicto +448 1004 448 1538 conicto +448 2070 621 2609 conicto +794 3149 1148 3712 conicto +1536 3712 lineto +end_ol grestore +gsave 20.966963 20.555000 translate 0.035278 -0.035278 scale +start_ol +448 3520 moveto +1131 3520 lineto +2624 575 lineto +2624 3520 lineto +3136 3520 lineto +3136 0 lineto +2453 0 lineto +960 2945 lineto +960 0 lineto +448 0 lineto +448 3520 lineto +end_ol grestore +gsave 21.446512 20.555000 translate 0.035278 -0.035278 scale +start_ol +938 384 moveto +2643 384 lineto +2643 0 lineto +384 0 lineto +384 384 lineto +654 668 1119 1146 conicto +1584 1625 1704 1763 conicto +1931 2023 2021 2203 conicto +2112 2384 2112 2558 conicto +2112 2842 1913 3021 conicto +1715 3200 1397 3200 conicto +1171 3200 920 3104 conicto +669 3009 384 2816 conicto +384 3328 lineto +678 3455 933 3519 conicto +1188 3584 1400 3584 conicto +1959 3584 2291 3309 conicto +2624 3034 2624 2574 conicto +2624 2356 2540 2160 conicto +2457 1965 2237 1700 conicto +2177 1631 1852 1302 conicto +1528 974 938 384 conicto +end_ol grestore +gsave 21.853631 20.555000 translate 0.035278 -0.035278 scale +start_ol +384 3712 moveto +772 3712 lineto +1123 3149 1297 2609 conicto +1472 2070 1472 1538 conicto +1472 1004 1297 462 conicto +1123 -79 772 -640 conicto +384 -640 lineto +706 -94 865 446 conicto +1024 987 1024 1538 conicto +1024 2090 865 2626 conicto +706 3163 384 3712 conicto +end_ol grestore +gsave 22.103398 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 22.305705 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 22.508012 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 22.710319 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 22.912626 20.555000 translate 0.035278 -0.035278 scale +start_ol +576 576 moveto +1088 576 lineto +1088 0 lineto +576 0 lineto +576 576 lineto +end_ol grestore +gsave 23.114933 20.555000 translate 0.035278 -0.035278 scale +start_ol +576 576 moveto +1088 576 lineto +1088 0 lineto +576 0 lineto +576 576 lineto +end_ol grestore +gsave 23.317240 20.555000 translate 0.035278 -0.035278 scale +start_ol +576 576 moveto +1088 576 lineto +1088 0 lineto +576 0 lineto +576 576 lineto +end_ol grestore +gsave 23.519547 20.555000 translate 0.035278 -0.035278 scale +start_ol +576 576 moveto +1088 576 lineto +1088 0 lineto +576 0 lineto +576 576 lineto +end_ol grestore +gsave 23.721854 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 23.924161 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 24.126468 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 24.328775 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 24.531082 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 24.733389 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 24.935696 20.555000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 25.138003 20.555000 translate 0.035278 -0.035278 scale +start_ol +448 3520 moveto +960 3520 lineto +960 384 lineto +2688 384 lineto +2688 0 lineto +448 0 lineto +448 3520 lineto +end_ol grestore +gsave 25.495166 20.555000 translate 0.035278 -0.035278 scale +start_ol +960 1728 moveto +960 384 lineto +1696 384 lineto +2071 384 2251 550 conicto +2432 716 2432 1057 conicto +2432 1401 2251 1564 conicto +2071 1728 1696 1728 conicto +960 1728 lineto +960 3136 moveto +960 2112 lineto +1639 2112 lineto +1975 2112 2139 2238 conicto +2304 2365 2304 2624 conicto +2304 2881 2139 3008 conicto +1975 3136 1639 3136 conicto +960 3136 lineto +448 3520 moveto +1673 3520 lineto +2222 3520 2519 3300 conicto +2816 3080 2816 2674 conicto +2816 2360 2658 2174 conicto +2500 1989 2193 1943 conicto +2549 1866 2746 1621 conicto +2944 1376 2944 1009 conicto +2944 526 2625 263 conicto +2306 0 1718 0 conicto +448 0 lineto +448 3520 lineto +end_ol grestore +gsave 25.934754 20.555000 translate 0.035278 -0.035278 scale +start_ol +1536 3712 moveto +1211 3163 1053 2626 conicto +896 2090 896 1538 conicto +896 987 1055 446 conicto +1214 -94 1536 -640 conicto +1148 -640 lineto +797 -79 622 462 conicto +448 1004 448 1538 conicto +448 2070 621 2609 conicto +794 3149 1148 3712 conicto +1536 3712 lineto +end_ol grestore +gsave 26.184521 20.555000 translate 0.035278 -0.035278 scale +start_ol +448 3520 moveto +1131 3520 lineto +2624 575 lineto +2624 3520 lineto +3136 3520 lineto +3136 0 lineto +2453 0 lineto +960 2945 lineto +960 0 lineto +448 0 lineto +448 3520 lineto +end_ol grestore +gsave 26.664070 20.555000 translate 0.035278 -0.035278 scale +start_ol +2549 2204 moveto +2714 2485 2942 2618 conicto +3171 2752 3482 2752 conicto +3899 2752 4125 2464 conicto +4352 2177 4352 1646 conicto +4352 0 lineto +3904 0 lineto +3904 1632 lineto +3904 2006 3769 2187 conicto +3634 2368 3356 2368 conicto +3017 2368 2820 2146 conicto +2624 1925 2624 1542 conicto +2624 0 lineto +2176 0 lineto +2176 1632 lineto +2176 2008 2041 2188 conicto +1906 2368 1624 2368 conicto +1289 2368 1092 2145 conicto +896 1922 896 1542 conicto +896 0 lineto +448 0 lineto +448 2688 lineto +896 2688 lineto +896 2304 lineto +1046 2534 1255 2643 conicto +1465 2752 1753 2752 conicto +2044 2752 2247 2611 conicto +2451 2471 2549 2204 conicto +end_ol grestore +gsave 27.285981 20.555000 translate 0.035278 -0.035278 scale +start_ol +384 3712 moveto +772 3712 lineto +1123 3149 1297 2609 conicto +1472 2070 1472 1538 conicto +1472 1004 1297 462 conicto +1123 -79 772 -640 conicto +384 -640 lineto +706 -94 865 446 conicto +1024 987 1024 1538 conicto +1024 2090 865 2626 conicto +706 3163 384 3712 conicto +end_ol grestore +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 7.425000 7.950000 m 25.988198 7.901278 l s +[] 0 sd +0 slj +0 slc +n 26.363197 7.900293 m 25.863855 8.151605 l 25.988198 7.901278 l 25.862543 7.651607 l ef +n 26.363197 7.900293 m 25.863855 8.151605 l 25.988198 7.901278 l 25.862543 7.651607 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 16.450000 7.955000 m 16.503885 9.724822 l s +[] 0 sd +0 slj +0 slc +n 16.515298 10.099648 m 16.250197 9.607488 l 16.503885 9.724822 l 16.749965 9.592272 l ef +n 16.515298 10.099648 m 16.250197 9.607488 l 16.503885 9.724822 l 16.749965 9.592272 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 20.501600 8.011500 m 20.555407 9.781321 l s +[] 0 sd +0 slj +0 slc +n 20.566802 10.156148 m 20.301724 9.663976 l 20.555407 9.781321 l 20.801493 9.648782 l ef +n 20.566802 10.156148 m 20.301724 9.663976 l 20.555407 9.781321 l 20.801493 9.648782 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 26.200000 7.905000 m 26.256330 9.881294 l s +[] 0 sd +0 slj +0 slc +n 26.267015 10.256142 m 26.002870 9.763468 l 26.256330 9.881294 l 26.502667 9.749222 l ef +n 26.267015 10.256142 m 26.002870 9.763468 l 26.256330 9.881294 l 26.502667 9.749222 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 16.451600 11.411500 m 16.481499 13.123271 l s +[] 0 sd +0 slj +0 slc +n 16.488047 13.498214 m 16.229354 13.002656 l 16.481499 13.123271 l 16.729277 12.993924 l ef +n 16.488047 13.498214 m 16.229354 13.002656 l 16.481499 13.123271 l 16.729277 12.993924 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 26.203200 11.418000 m 26.257007 13.187821 l s +[] 0 sd +0 slj +0 slc +n 26.268402 13.562648 m 26.003324 13.070476 l 26.257007 13.187821 l 26.503093 13.055282 l ef +n 26.268402 13.562648 m 26.003324 13.070476 l 26.257007 13.187821 l 26.503093 13.055282 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 16.490000 17.360000 m 16.507442 19.072622 l s +[] 0 sd +0 slj +0 slc +n 16.511261 19.447602 m 16.256182 18.950174 l 16.507442 19.072622 l 16.756156 18.945082 l ef +n 16.511261 19.447602 m 16.256182 18.950174 l 16.507442 19.072622 l 16.756156 18.945082 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 20.640000 17.360000 m 20.625148 19.022916 l s +[] 0 sd +0 slj +0 slc +n 20.621799 19.397901 m 20.376274 18.895688 l 20.625148 19.022916 l 20.876254 18.900154 l ef +n 20.621799 19.397901 m 20.376274 18.895688 l 20.625148 19.022916 l 20.876254 18.900154 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 26.230000 17.515000 m 26.280447 19.287094 l s +[] 0 sd +0 slj +0 slc +n 26.291119 19.661942 m 26.026992 19.169258 l 26.280447 19.287094 l 26.526789 19.155030 l ef +n 26.291119 19.661942 m 26.026992 19.169258 l 26.280447 19.287094 l 26.526789 19.155030 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 16.514000 21.165900 m 16.543899 22.877671 l s +[] 0 sd +0 slj +0 slc +n 16.550447 23.252614 m 16.291754 22.757056 l 16.543899 22.877671 l 16.791677 22.748324 l ef +n 16.550447 23.252614 m 16.291754 22.757056 l 16.543899 22.877671 l 16.791677 22.748324 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 20.565600 21.272400 m 20.600286 22.878010 l s +[] 0 sd +0 slj +0 slc +n 20.608385 23.252923 m 20.347645 22.758439 l 20.600286 22.878010 l 20.847528 22.747640 l ef +n 20.608385 23.252923 m 20.347645 22.758439 l 20.600286 22.878010 l 20.847528 22.747640 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 26.265600 21.322400 m 26.319485 23.092122 l s +[] 0 sd +0 slj +0 slc +n 26.330897 23.466948 m 26.065796 22.974788 l 26.319485 23.092122 l 26.565565 22.959572 l ef +n 26.330897 23.466948 m 26.065796 22.974788 l 26.319485 23.092122 l 26.565565 22.959572 l cp s +gsave 14.121250 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 14.323557 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 14.525864 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 14.728171 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 14.930478 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 15.132785 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 15.335092 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 15.537399 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 15.739706 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 15.942013 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 16.144320 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 16.346627 11.023300 translate 0.035278 -0.035278 scale +start_ol +448 3520 moveto +1131 3520 lineto +2624 575 lineto +2624 3520 lineto +3136 3520 lineto +3136 0 lineto +2453 0 lineto +960 2945 lineto +960 0 lineto +448 0 lineto +448 3520 lineto +end_ol grestore +gsave 16.826176 11.023300 translate 0.035278 -0.035278 scale +start_ol +640 384 moveto +1408 384 lineto +1408 3136 lineto +576 2944 lineto +576 3328 lineto +1434 3520 lineto +1920 3520 lineto +1920 384 lineto +2688 384 lineto +2688 0 lineto +640 0 lineto +640 384 lineto +end_ol grestore +gsave 17.233296 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 17.435603 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 17.637910 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 17.840217 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 18.042524 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 18.244831 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 18.447138 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 18.649445 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 18.851752 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 19.054059 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 19.256366 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 19.458673 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 19.660980 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 19.863287 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 20.065594 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 20.267901 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 20.470208 11.023300 translate 0.035278 -0.035278 scale +start_ol +448 3520 moveto +1131 3520 lineto +2624 575 lineto +2624 3520 lineto +3136 3520 lineto +3136 0 lineto +2453 0 lineto +960 2945 lineto +960 0 lineto +448 0 lineto +448 3520 lineto +end_ol grestore +gsave 20.949757 11.023300 translate 0.035278 -0.035278 scale +start_ol +938 384 moveto +2643 384 lineto +2643 0 lineto +384 0 lineto +384 384 lineto +654 668 1119 1146 conicto +1584 1625 1704 1763 conicto +1931 2023 2021 2203 conicto +2112 2384 2112 2558 conicto +2112 2842 1913 3021 conicto +1715 3200 1397 3200 conicto +1171 3200 920 3104 conicto +669 3009 384 2816 conicto +384 3328 lineto +678 3455 933 3519 conicto +1188 3584 1400 3584 conicto +1959 3584 2291 3309 conicto +2624 3034 2624 2574 conicto +2624 2356 2540 2160 conicto +2457 1965 2237 1700 conicto +2177 1631 1852 1302 conicto +1528 974 938 384 conicto +end_ol grestore +gsave 21.356877 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 21.559184 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 21.761491 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 21.963798 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 22.166105 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 22.368412 11.023300 translate 0.035278 -0.035278 scale +start_ol +576 576 moveto +1088 576 lineto +1088 0 lineto +576 0 lineto +576 576 lineto +end_ol grestore +gsave 22.570719 11.023300 translate 0.035278 -0.035278 scale +start_ol +576 576 moveto +1088 576 lineto +1088 0 lineto +576 0 lineto +576 576 lineto +end_ol grestore +gsave 22.773026 11.023300 translate 0.035278 -0.035278 scale +start_ol +576 576 moveto +1088 576 lineto +1088 0 lineto +576 0 lineto +576 576 lineto +end_ol grestore +gsave 22.975333 11.023300 translate 0.035278 -0.035278 scale +start_ol +576 576 moveto +1088 576 lineto +1088 0 lineto +576 0 lineto +576 576 lineto +end_ol grestore +gsave 23.177640 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 23.379947 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 23.582254 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 23.784561 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 23.986868 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 24.189175 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 24.391482 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 24.593789 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 24.796096 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 24.998403 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 25.200710 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 25.403017 11.023300 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 25.605324 11.023300 translate 0.035278 -0.035278 scale +start_ol +448 3520 moveto +1131 3520 lineto +2624 575 lineto +2624 3520 lineto +3136 3520 lineto +3136 0 lineto +2453 0 lineto +960 2945 lineto +960 0 lineto +448 0 lineto +448 3520 lineto +end_ol grestore +gsave 26.084873 11.023300 translate 0.035278 -0.035278 scale +start_ol +2549 2204 moveto +2714 2485 2942 2618 conicto +3171 2752 3482 2752 conicto +3899 2752 4125 2464 conicto +4352 2177 4352 1646 conicto +4352 0 lineto +3904 0 lineto +3904 1632 lineto +3904 2006 3769 2187 conicto +3634 2368 3356 2368 conicto +3017 2368 2820 2146 conicto +2624 1925 2624 1542 conicto +2624 0 lineto +2176 0 lineto +2176 1632 lineto +2176 2008 2041 2188 conicto +1906 2368 1624 2368 conicto +1289 2368 1092 2145 conicto +896 1922 896 1542 conicto +896 0 lineto +448 0 lineto +448 2688 lineto +896 2688 lineto +896 2304 lineto +1046 2534 1255 2643 conicto +1465 2752 1753 2752 conicto +2044 2752 2247 2611 conicto +2451 2471 2549 2204 conicto +end_ol grestore +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +n 13.990000 3.600000 m 13.990000 28.350000 l 28.700000 28.350000 l 28.700000 3.600000 l cp s +gsave 11.450000 5.105000 translate 0.035278 -0.035278 scale +start_ol +4160 4352 moveto +4160 3712 lineto +3837 4002 3471 4145 conicto +3106 4288 2695 4288 conicto +1885 4288 1454 3794 conicto +1024 3300 1024 2366 conicto +1024 1436 1454 942 conicto +1885 448 2695 448 conicto +3106 448 3471 591 conicto +3837 734 4160 1024 conicto +4160 384 lineto +3828 160 3456 48 conicto +3084 -64 2670 -64 conicto +1607 -64 995 587 conicto +384 1239 384 2366 conicto +384 3497 995 4148 conicto +1607 4800 2670 4800 conicto +3091 4800 3462 4688 conicto +3834 4576 4160 4352 conicto +end_ol grestore +gsave 12.039442 5.105000 translate 0.035278 -0.035278 scale +start_ol +1216 4160 moveto +1216 2368 lineto +2015 2368 lineto +2459 2368 2701 2601 conicto +2944 2834 2944 3266 conicto +2944 3694 2701 3927 conicto +2459 4160 2015 4160 conicto +1216 4160 lineto +576 4672 moveto +2015 4672 lineto +2790 4672 3187 4314 conicto +3584 3956 3584 3266 conicto +3584 2569 3187 2212 conicto +2790 1856 2015 1856 conicto +1216 1856 lineto +1216 0 lineto +576 0 lineto +576 4672 lineto +end_ol grestore +gsave 12.548963 5.105000 translate 0.035278 -0.035278 scale +start_ol +576 4672 moveto +1216 4672 lineto +1216 1851 lineto +1216 1104 1488 776 conicto +1760 448 2370 448 conicto +2976 448 3248 776 conicto +3520 1104 3520 1851 conicto +3520 4672 lineto +4160 4672 lineto +4160 1773 lineto +4160 864 3707 400 conicto +3254 -64 2370 -64 conicto +1482 -64 1029 400 conicto +576 864 576 1773 conicto +576 4672 lineto +end_ol grestore +gsave 14.340000 5.055000 translate 0.035278 -0.035278 scale +start_ol +3840 683 moveto +3840 1920 lineto +2816 1920 lineto +2816 2432 lineto +4480 2432 lineto +4480 454 lineto +4112 198 3669 67 conicto +3227 -64 2724 -64 conicto +1625 -64 1004 578 conicto +384 1220 384 2366 conicto +384 3516 1003 4158 conicto +1623 4800 2721 4800 conicto +3179 4800 3591 4686 conicto +4004 4573 4352 4352 conicto +4352 3712 lineto +3998 3998 3599 4143 conicto +3200 4288 2761 4288 conicto +1894 4288 1459 3805 conicto +1024 3322 1024 2366 conicto +1024 1414 1458 931 conicto +1893 448 2759 448 conicto +3097 448 3362 505 conicto +3628 562 3840 683 conicto +end_ol grestore +gsave 14.994381 5.055000 translate 0.035278 -0.035278 scale +start_ol +1216 4160 moveto +1216 2368 lineto +2015 2368 lineto +2459 2368 2701 2601 conicto +2944 2834 2944 3266 conicto +2944 3694 2701 3927 conicto +2459 4160 2015 4160 conicto +1216 4160 lineto +576 4672 moveto +2015 4672 lineto +2790 4672 3187 4314 conicto +3584 3956 3584 3266 conicto +3584 2569 3187 2212 conicto +2790 1856 2015 1856 conicto +1216 1856 lineto +1216 0 lineto +576 0 lineto +576 4672 lineto +end_ol grestore +gsave 15.503902 5.055000 translate 0.035278 -0.035278 scale +start_ol +576 4672 moveto +1216 4672 lineto +1216 1851 lineto +1216 1104 1488 776 conicto +1760 448 2370 448 conicto +2976 448 3248 776 conicto +3520 1104 3520 1851 conicto +3520 4672 lineto +4160 4672 lineto +4160 1773 lineto +4160 864 3707 400 conicto +3254 -64 2370 -64 conicto +1482 -64 1029 400 conicto +576 864 576 1773 conicto +576 4672 lineto +end_ol grestore +0.100000 slw +[] 0 sd +[] 0 sd +0 slj +n -10.525000 3.575000 m -10.525000 28.400000 l 13.650000 28.400000 l 13.650000 3.575000 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n -3.249190 11.051700 m -2.510929 11.063753 l s +[] 0 sd +0 slj +0 slc +n -2.135979 11.069875 m -2.639993 11.311679 l -2.510929 11.063753 l -2.631831 10.811746 l ef +n -2.135979 11.069875 m -2.639993 11.311679 l -2.510929 11.063753 l -2.631831 10.811746 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 4.725810 10.951700 m 5.464071 10.963753 l s +[] 0 sd +0 slj +0 slc +n 5.839021 10.969875 m 5.335007 11.211679 l 5.464071 10.963753 l 5.343169 10.711746 l ef +n 5.839021 10.969875 m 5.335007 11.211679 l 5.464071 10.963753 l 5.343169 10.711746 l cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n -0.500000 10.927500 m 0.203198 10.928977 l s +[] 0 sd +0 slj +0 slc +n 0.578197 10.929765 m 0.077673 11.178714 l 0.203198 10.928977 l 0.078723 10.678715 l ef +n 0.578197 10.929765 m 0.077673 11.178714 l 0.203198 10.928977 l 0.078723 10.678715 l cp s +0.749020 0.749020 0.749020 srgb +n 16.500000 15.525000 2.000000 1.875000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 16.500000 15.525000 2.000000 1.875000 0 360 ellipse cp s +gsave 15.250000 15.475000 translate 0.035278 -0.035278 scale +start_ol +832 1536 moveto +832 320 lineto +1498 320 lineto +1843 320 2009 470 conicto +2176 620 2176 929 conicto +2176 1240 2009 1388 conicto +1843 1536 1498 1536 conicto +832 1536 lineto +832 2816 moveto +832 1856 lineto +1446 1856 lineto +1750 1856 1899 1974 conicto +2048 2093 2048 2336 conicto +2048 2577 1899 2696 conicto +1750 2816 1446 2816 conicto +832 2816 lineto +384 3136 moveto +1477 3136 lineto +1966 3136 2231 2938 conicto +2496 2740 2496 2374 conicto +2496 2092 2356 1924 conicto +2217 1757 1947 1716 conicto +2268 1648 2446 1431 conicto +2624 1215 2624 891 conicto +2624 465 2336 232 conicto +2049 0 1518 0 conicto +384 0 lineto +384 3136 lineto +end_ol grestore +gsave 15.637135 15.475000 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave 15.981813 15.475000 translate 0.035278 -0.035278 scale +start_ol +384 949 moveto +384 2368 lineto +768 2368 lineto +768 964 lineto +768 610 900 433 conicto +1033 256 1297 256 conicto +1615 256 1799 466 conicto +1984 676 1984 1039 conicto +1984 2368 lineto +2368 2368 lineto +2368 0 lineto +1984 0 lineto +1984 384 lineto +1842 157 1654 46 conicto +1466 -64 1218 -64 conicto +808 -64 596 194 conicto +384 452 384 949 conicto +1363 2432 moveto +1363 2432 lineto +end_ol grestore +gsave 16.338975 15.475000 translate 0.035278 -0.035278 scale +start_ol +2368 1418 moveto +2368 0 lineto +1984 0 lineto +1984 1405 lineto +1984 1760 1851 1936 conicto +1719 2112 1454 2112 conicto +1136 2112 952 1901 conicto +768 1691 768 1328 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +908 2209 1098 2320 conicto +1289 2432 1537 2432 conicto +1947 2432 2157 2174 conicto +2368 1917 2368 1418 conicto +end_ol grestore +gsave 16.696138 15.475000 translate 0.035278 -0.035278 scale +start_ol +1984 2048 moveto +1984 3264 lineto +2368 3264 lineto +2368 0 lineto +1984 0 lineto +1984 320 lineto +1861 125 1674 30 conicto +1487 -64 1225 -64 conicto +795 -64 525 280 conicto +256 624 256 1184 conicto +256 1744 525 2088 conicto +795 2432 1225 2432 conicto +1487 2432 1674 2337 conicto +1861 2243 1984 2048 conicto +640 1184 moveto +640 750 819 503 conicto +998 256 1311 256 conicto +1624 256 1804 503 conicto +1984 750 1984 1184 conicto +1984 1618 1804 1865 conicto +1624 2112 1311 2112 conicto +998 2112 819 1865 conicto +640 1618 640 1184 conicto +end_ol grestore +gsave 17.053301 15.475000 translate 0.035278 -0.035278 scale +start_ol +384 2368 moveto +768 2368 lineto +768 0 lineto +384 0 lineto +384 2368 lineto +384 3264 moveto +768 3264 lineto +768 2752 lineto +384 2752 lineto +384 3264 lineto +end_ol grestore +gsave 17.210653 15.475000 translate 0.035278 -0.035278 scale +start_ol +2368 1418 moveto +2368 0 lineto +1984 0 lineto +1984 1405 lineto +1984 1760 1851 1936 conicto +1719 2112 1454 2112 conicto +1136 2112 952 1901 conicto +768 1691 768 1328 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +908 2209 1098 2320 conicto +1289 2432 1537 2432 conicto +1947 2432 2157 2174 conicto +2368 1917 2368 1418 conicto +end_ol grestore +gsave 17.567816 15.475000 translate 0.035278 -0.035278 scale +start_ol +1984 1215 moveto +1984 1642 1807 1877 conicto +1630 2112 1311 2112 conicto +994 2112 817 1877 conicto +640 1642 640 1215 conicto +640 790 817 555 conicto +994 320 1311 320 conicto +1630 320 1807 555 conicto +1984 790 1984 1215 conicto +2368 289 moveto +2368 -311 2096 -603 conicto +1824 -896 1262 -896 conicto +1054 -896 870 -864 conicto +686 -833 512 -768 conicto +512 -384 lineto +687 -482 857 -529 conicto +1028 -576 1205 -576 conicto +1595 -576 1789 -378 conicto +1984 -180 1984 220 conicto +1984 384 lineto +1863 191 1675 95 conicto +1487 0 1225 0 conicto +789 0 522 333 conicto +256 666 256 1215 conicto +256 1766 522 2099 conicto +789 2432 1225 2432 conicto +1487 2432 1675 2336 conicto +1863 2241 1984 2048 conicto +1984 2368 lineto +2368 2368 lineto +2368 289 lineto +end_ol grestore +gsave 17.924979 15.475000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 15.250000 16.180556 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave 15.594678 16.180556 translate 0.035278 -0.035278 scale +start_ol +768 320 moveto +768 -896 lineto +384 -896 lineto +384 2368 lineto +768 2368 lineto +768 2048 lineto +891 2243 1078 2337 conicto +1265 2432 1525 2432 conicto +1957 2432 2226 2088 conicto +2496 1744 2496 1184 conicto +2496 624 2226 280 conicto +1957 -64 1525 -64 conicto +1265 -64 1078 30 conicto +891 125 768 320 conicto +2112 1184 moveto +2112 1618 1932 1865 conicto +1753 2112 1440 2112 conicto +1127 2112 947 1865 conicto +768 1618 768 1184 conicto +768 750 947 503 conicto +1127 256 1440 256 conicto +1753 256 1932 503 conicto +2112 750 2112 1184 conicto +end_ol grestore +gsave 15.951840 16.180556 translate 0.035278 -0.035278 scale +start_ol +2432 1288 moveto +2432 1088 lineto +640 1088 lineto +666 682 886 469 conicto +1107 256 1501 256 conicto +1729 256 1943 304 conicto +2157 352 2368 448 conicto +2368 64 lineto +2158 1 1937 -31 conicto +1716 -64 1489 -64 conicto +920 -64 588 267 conicto +256 598 256 1163 conicto +256 1746 567 2089 conicto +879 2432 1407 2432 conicto +1881 2432 2156 2124 conicto +2432 1817 2432 1288 conicto +2048 1408 moveto +2044 1729 1868 1920 conicto +1693 2112 1404 2112 conicto +1076 2112 879 1927 conicto +683 1742 653 1406 conicto +2048 1408 lineto +end_ol grestore +gsave 16.299015 16.180556 translate 0.035278 -0.035278 scale +start_ol +1728 2048 moveto +1665 2081 1590 2096 conicto +1516 2112 1426 2112 conicto +1108 2112 938 1886 conicto +768 1660 768 1237 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +886 2211 1075 2321 conicto +1265 2432 1536 2432 conicto +1575 2432 1622 2432 conicto +1669 2432 1726 2432 conicto +1728 2048 lineto +end_ol grestore +gsave 16.531294 16.180556 translate 0.035278 -0.035278 scale +start_ol +1471 1152 moveto +1002 1152 821 1047 conicto +640 943 640 692 conicto +640 491 775 373 conicto +911 256 1145 256 conicto +1467 256 1661 479 conicto +1856 702 1856 1072 conicto +1856 1152 lineto +1471 1152 lineto +2240 1321 moveto +2240 0 lineto +1856 0 lineto +1856 384 lineto +1724 154 1526 45 conicto +1329 -64 1043 -64 conicto +682 -64 469 137 conicto +256 339 256 677 conicto +256 1071 521 1271 conicto +787 1472 1313 1472 conicto +1856 1472 lineto +1856 1514 lineto +1856 1800 1683 1956 conicto +1510 2112 1198 2112 conicto +999 2112 810 2064 conicto +622 2016 448 1920 conicto +448 2304 lineto +657 2368 854 2400 conicto +1052 2432 1238 2432 conicto +1742 2432 1991 2156 conicto +2240 1881 2240 1321 conicto +end_ol grestore +gsave 16.875972 16.180556 translate 0.035278 -0.035278 scale +start_ol +768 3008 moveto +768 2368 lineto +1536 2368 lineto +1536 2048 lineto +768 2048 lineto +768 771 lineto +768 484 844 402 conicto +920 320 1153 320 conicto +1536 320 lineto +1536 0 lineto +1153 0 lineto +716 0 550 166 conicto +384 332 384 771 conicto +384 2048 lineto +128 2048 lineto +128 2368 lineto +384 2368 lineto +384 3008 lineto +768 3008 lineto +end_ol grestore +gsave 17.098263 16.180556 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave 17.442941 16.180556 translate 0.035278 -0.035278 scale +start_ol +1728 2048 moveto +1665 2081 1590 2096 conicto +1516 2112 1426 2112 conicto +1108 2112 938 1886 conicto +768 1660 768 1237 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +886 2211 1075 2321 conicto +1265 2432 1536 2432 conicto +1575 2432 1622 2432 conicto +1669 2432 1726 2432 conicto +1728 2048 lineto +end_ol grestore +0.749020 0.749020 0.749020 srgb +n 20.650000 15.525000 2.000000 1.875000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 20.650000 15.525000 2.000000 1.875000 0 360 ellipse cp s +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 20.684000 11.350900 m 20.713899 13.062671 l s +[] 0 sd +0 slj +0 slc +n 20.720447 13.437614 m 20.461754 12.942056 l 20.713899 13.062671 l 20.961677 12.933324 l ef +n 20.720447 13.437614 m 20.461754 12.942056 l 20.713899 13.062671 l 20.961677 12.933324 l cp s +0.749020 0.749020 0.749020 srgb +n 26.150000 15.525000 2.000000 1.875000 0 360 ellipse f +0.100000 slw +[] 0 sd +[] 0 sd +0.000000 0.000000 0.000000 srgb +n 26.150000 15.525000 2.000000 1.875000 0 360 ellipse cp s +gsave 19.400000 15.375000 translate 0.035278 -0.035278 scale +start_ol +832 1536 moveto +832 320 lineto +1498 320 lineto +1843 320 2009 470 conicto +2176 620 2176 929 conicto +2176 1240 2009 1388 conicto +1843 1536 1498 1536 conicto +832 1536 lineto +832 2816 moveto +832 1856 lineto +1446 1856 lineto +1750 1856 1899 1974 conicto +2048 2093 2048 2336 conicto +2048 2577 1899 2696 conicto +1750 2816 1446 2816 conicto +832 2816 lineto +384 3136 moveto +1477 3136 lineto +1966 3136 2231 2938 conicto +2496 2740 2496 2374 conicto +2496 2092 2356 1924 conicto +2217 1757 1947 1716 conicto +2268 1648 2446 1431 conicto +2624 1215 2624 891 conicto +2624 465 2336 232 conicto +2049 0 1518 0 conicto +384 0 lineto +384 3136 lineto +end_ol grestore +gsave 19.787135 15.375000 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave 20.131813 15.375000 translate 0.035278 -0.035278 scale +start_ol +384 949 moveto +384 2368 lineto +768 2368 lineto +768 964 lineto +768 610 900 433 conicto +1033 256 1297 256 conicto +1615 256 1799 466 conicto +1984 676 1984 1039 conicto +1984 2368 lineto +2368 2368 lineto +2368 0 lineto +1984 0 lineto +1984 384 lineto +1842 157 1654 46 conicto +1466 -64 1218 -64 conicto +808 -64 596 194 conicto +384 452 384 949 conicto +1363 2432 moveto +1363 2432 lineto +end_ol grestore +gsave 20.488975 15.375000 translate 0.035278 -0.035278 scale +start_ol +2368 1418 moveto +2368 0 lineto +1984 0 lineto +1984 1405 lineto +1984 1760 1851 1936 conicto +1719 2112 1454 2112 conicto +1136 2112 952 1901 conicto +768 1691 768 1328 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +908 2209 1098 2320 conicto +1289 2432 1537 2432 conicto +1947 2432 2157 2174 conicto +2368 1917 2368 1418 conicto +end_ol grestore +gsave 20.846138 15.375000 translate 0.035278 -0.035278 scale +start_ol +1984 2048 moveto +1984 3264 lineto +2368 3264 lineto +2368 0 lineto +1984 0 lineto +1984 320 lineto +1861 125 1674 30 conicto +1487 -64 1225 -64 conicto +795 -64 525 280 conicto +256 624 256 1184 conicto +256 1744 525 2088 conicto +795 2432 1225 2432 conicto +1487 2432 1674 2337 conicto +1861 2243 1984 2048 conicto +640 1184 moveto +640 750 819 503 conicto +998 256 1311 256 conicto +1624 256 1804 503 conicto +1984 750 1984 1184 conicto +1984 1618 1804 1865 conicto +1624 2112 1311 2112 conicto +998 2112 819 1865 conicto +640 1618 640 1184 conicto +end_ol grestore +gsave 21.203301 15.375000 translate 0.035278 -0.035278 scale +start_ol +384 2368 moveto +768 2368 lineto +768 0 lineto +384 0 lineto +384 2368 lineto +384 3264 moveto +768 3264 lineto +768 2752 lineto +384 2752 lineto +384 3264 lineto +end_ol grestore +gsave 21.360653 15.375000 translate 0.035278 -0.035278 scale +start_ol +2368 1418 moveto +2368 0 lineto +1984 0 lineto +1984 1405 lineto +1984 1760 1851 1936 conicto +1719 2112 1454 2112 conicto +1136 2112 952 1901 conicto +768 1691 768 1328 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +908 2209 1098 2320 conicto +1289 2432 1537 2432 conicto +1947 2432 2157 2174 conicto +2368 1917 2368 1418 conicto +end_ol grestore +gsave 21.717816 15.375000 translate 0.035278 -0.035278 scale +start_ol +1984 1215 moveto +1984 1642 1807 1877 conicto +1630 2112 1311 2112 conicto +994 2112 817 1877 conicto +640 1642 640 1215 conicto +640 790 817 555 conicto +994 320 1311 320 conicto +1630 320 1807 555 conicto +1984 790 1984 1215 conicto +2368 289 moveto +2368 -311 2096 -603 conicto +1824 -896 1262 -896 conicto +1054 -896 870 -864 conicto +686 -833 512 -768 conicto +512 -384 lineto +687 -482 857 -529 conicto +1028 -576 1205 -576 conicto +1595 -576 1789 -378 conicto +1984 -180 1984 220 conicto +1984 384 lineto +1863 191 1675 95 conicto +1487 0 1225 0 conicto +789 0 522 333 conicto +256 666 256 1215 conicto +256 1766 522 2099 conicto +789 2432 1225 2432 conicto +1487 2432 1675 2336 conicto +1863 2241 1984 2048 conicto +1984 2368 lineto +2368 2368 lineto +2368 289 lineto +end_ol grestore +gsave 22.074979 15.375000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 19.400000 16.080556 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave 19.744678 16.080556 translate 0.035278 -0.035278 scale +start_ol +768 320 moveto +768 -896 lineto +384 -896 lineto +384 2368 lineto +768 2368 lineto +768 2048 lineto +891 2243 1078 2337 conicto +1265 2432 1525 2432 conicto +1957 2432 2226 2088 conicto +2496 1744 2496 1184 conicto +2496 624 2226 280 conicto +1957 -64 1525 -64 conicto +1265 -64 1078 30 conicto +891 125 768 320 conicto +2112 1184 moveto +2112 1618 1932 1865 conicto +1753 2112 1440 2112 conicto +1127 2112 947 1865 conicto +768 1618 768 1184 conicto +768 750 947 503 conicto +1127 256 1440 256 conicto +1753 256 1932 503 conicto +2112 750 2112 1184 conicto +end_ol grestore +gsave 20.101840 16.080556 translate 0.035278 -0.035278 scale +start_ol +2432 1288 moveto +2432 1088 lineto +640 1088 lineto +666 682 886 469 conicto +1107 256 1501 256 conicto +1729 256 1943 304 conicto +2157 352 2368 448 conicto +2368 64 lineto +2158 1 1937 -31 conicto +1716 -64 1489 -64 conicto +920 -64 588 267 conicto +256 598 256 1163 conicto +256 1746 567 2089 conicto +879 2432 1407 2432 conicto +1881 2432 2156 2124 conicto +2432 1817 2432 1288 conicto +2048 1408 moveto +2044 1729 1868 1920 conicto +1693 2112 1404 2112 conicto +1076 2112 879 1927 conicto +683 1742 653 1406 conicto +2048 1408 lineto +end_ol grestore +gsave 20.449015 16.080556 translate 0.035278 -0.035278 scale +start_ol +1728 2048 moveto +1665 2081 1590 2096 conicto +1516 2112 1426 2112 conicto +1108 2112 938 1886 conicto +768 1660 768 1237 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +886 2211 1075 2321 conicto +1265 2432 1536 2432 conicto +1575 2432 1622 2432 conicto +1669 2432 1726 2432 conicto +1728 2048 lineto +end_ol grestore +gsave 20.681294 16.080556 translate 0.035278 -0.035278 scale +start_ol +1471 1152 moveto +1002 1152 821 1047 conicto +640 943 640 692 conicto +640 491 775 373 conicto +911 256 1145 256 conicto +1467 256 1661 479 conicto +1856 702 1856 1072 conicto +1856 1152 lineto +1471 1152 lineto +2240 1321 moveto +2240 0 lineto +1856 0 lineto +1856 384 lineto +1724 154 1526 45 conicto +1329 -64 1043 -64 conicto +682 -64 469 137 conicto +256 339 256 677 conicto +256 1071 521 1271 conicto +787 1472 1313 1472 conicto +1856 1472 lineto +1856 1514 lineto +1856 1800 1683 1956 conicto +1510 2112 1198 2112 conicto +999 2112 810 2064 conicto +622 2016 448 1920 conicto +448 2304 lineto +657 2368 854 2400 conicto +1052 2432 1238 2432 conicto +1742 2432 1991 2156 conicto +2240 1881 2240 1321 conicto +end_ol grestore +gsave 21.025972 16.080556 translate 0.035278 -0.035278 scale +start_ol +768 3008 moveto +768 2368 lineto +1536 2368 lineto +1536 2048 lineto +768 2048 lineto +768 771 lineto +768 484 844 402 conicto +920 320 1153 320 conicto +1536 320 lineto +1536 0 lineto +1153 0 lineto +716 0 550 166 conicto +384 332 384 771 conicto +384 2048 lineto +128 2048 lineto +128 2368 lineto +384 2368 lineto +384 3008 lineto +768 3008 lineto +end_ol grestore +gsave 21.248263 16.080556 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave 21.592941 16.080556 translate 0.035278 -0.035278 scale +start_ol +1728 2048 moveto +1665 2081 1590 2096 conicto +1516 2112 1426 2112 conicto +1108 2112 938 1886 conicto +768 1660 768 1237 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +886 2211 1075 2321 conicto +1265 2432 1536 2432 conicto +1575 2432 1622 2432 conicto +1669 2432 1726 2432 conicto +1728 2048 lineto +end_ol grestore +gsave 24.975000 15.375000 translate 0.035278 -0.035278 scale +start_ol +832 1536 moveto +832 320 lineto +1498 320 lineto +1843 320 2009 470 conicto +2176 620 2176 929 conicto +2176 1240 2009 1388 conicto +1843 1536 1498 1536 conicto +832 1536 lineto +832 2816 moveto +832 1856 lineto +1446 1856 lineto +1750 1856 1899 1974 conicto +2048 2093 2048 2336 conicto +2048 2577 1899 2696 conicto +1750 2816 1446 2816 conicto +832 2816 lineto +384 3136 moveto +1477 3136 lineto +1966 3136 2231 2938 conicto +2496 2740 2496 2374 conicto +2496 2092 2356 1924 conicto +2217 1757 1947 1716 conicto +2268 1648 2446 1431 conicto +2624 1215 2624 891 conicto +2624 465 2336 232 conicto +2049 0 1518 0 conicto +384 0 lineto +384 3136 lineto +end_ol grestore +gsave 25.362135 15.375000 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave 25.706813 15.375000 translate 0.035278 -0.035278 scale +start_ol +384 949 moveto +384 2368 lineto +768 2368 lineto +768 964 lineto +768 610 900 433 conicto +1033 256 1297 256 conicto +1615 256 1799 466 conicto +1984 676 1984 1039 conicto +1984 2368 lineto +2368 2368 lineto +2368 0 lineto +1984 0 lineto +1984 384 lineto +1842 157 1654 46 conicto +1466 -64 1218 -64 conicto +808 -64 596 194 conicto +384 452 384 949 conicto +1363 2432 moveto +1363 2432 lineto +end_ol grestore +gsave 26.063975 15.375000 translate 0.035278 -0.035278 scale +start_ol +2368 1418 moveto +2368 0 lineto +1984 0 lineto +1984 1405 lineto +1984 1760 1851 1936 conicto +1719 2112 1454 2112 conicto +1136 2112 952 1901 conicto +768 1691 768 1328 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +908 2209 1098 2320 conicto +1289 2432 1537 2432 conicto +1947 2432 2157 2174 conicto +2368 1917 2368 1418 conicto +end_ol grestore +gsave 26.421138 15.375000 translate 0.035278 -0.035278 scale +start_ol +1984 2048 moveto +1984 3264 lineto +2368 3264 lineto +2368 0 lineto +1984 0 lineto +1984 320 lineto +1861 125 1674 30 conicto +1487 -64 1225 -64 conicto +795 -64 525 280 conicto +256 624 256 1184 conicto +256 1744 525 2088 conicto +795 2432 1225 2432 conicto +1487 2432 1674 2337 conicto +1861 2243 1984 2048 conicto +640 1184 moveto +640 750 819 503 conicto +998 256 1311 256 conicto +1624 256 1804 503 conicto +1984 750 1984 1184 conicto +1984 1618 1804 1865 conicto +1624 2112 1311 2112 conicto +998 2112 819 1865 conicto +640 1618 640 1184 conicto +end_ol grestore +gsave 26.778301 15.375000 translate 0.035278 -0.035278 scale +start_ol +384 2368 moveto +768 2368 lineto +768 0 lineto +384 0 lineto +384 2368 lineto +384 3264 moveto +768 3264 lineto +768 2752 lineto +384 2752 lineto +384 3264 lineto +end_ol grestore +gsave 26.935653 15.375000 translate 0.035278 -0.035278 scale +start_ol +2368 1418 moveto +2368 0 lineto +1984 0 lineto +1984 1405 lineto +1984 1760 1851 1936 conicto +1719 2112 1454 2112 conicto +1136 2112 952 1901 conicto +768 1691 768 1328 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +908 2209 1098 2320 conicto +1289 2432 1537 2432 conicto +1947 2432 2157 2174 conicto +2368 1917 2368 1418 conicto +end_ol grestore +gsave 27.292816 15.375000 translate 0.035278 -0.035278 scale +start_ol +1984 1215 moveto +1984 1642 1807 1877 conicto +1630 2112 1311 2112 conicto +994 2112 817 1877 conicto +640 1642 640 1215 conicto +640 790 817 555 conicto +994 320 1311 320 conicto +1630 320 1807 555 conicto +1984 790 1984 1215 conicto +2368 289 moveto +2368 -311 2096 -603 conicto +1824 -896 1262 -896 conicto +1054 -896 870 -864 conicto +686 -833 512 -768 conicto +512 -384 lineto +687 -482 857 -529 conicto +1028 -576 1205 -576 conicto +1595 -576 1789 -378 conicto +1984 -180 1984 220 conicto +1984 384 lineto +1863 191 1675 95 conicto +1487 0 1225 0 conicto +789 0 522 333 conicto +256 666 256 1215 conicto +256 1766 522 2099 conicto +789 2432 1225 2432 conicto +1487 2432 1675 2336 conicto +1863 2241 1984 2048 conicto +1984 2368 lineto +2368 2368 lineto +2368 289 lineto +end_ol grestore +gsave 27.649979 15.375000 translate 0.035278 -0.035278 scale +start_ol +end_ol grestore +gsave 24.975000 16.080556 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave 25.319678 16.080556 translate 0.035278 -0.035278 scale +start_ol +768 320 moveto +768 -896 lineto +384 -896 lineto +384 2368 lineto +768 2368 lineto +768 2048 lineto +891 2243 1078 2337 conicto +1265 2432 1525 2432 conicto +1957 2432 2226 2088 conicto +2496 1744 2496 1184 conicto +2496 624 2226 280 conicto +1957 -64 1525 -64 conicto +1265 -64 1078 30 conicto +891 125 768 320 conicto +2112 1184 moveto +2112 1618 1932 1865 conicto +1753 2112 1440 2112 conicto +1127 2112 947 1865 conicto +768 1618 768 1184 conicto +768 750 947 503 conicto +1127 256 1440 256 conicto +1753 256 1932 503 conicto +2112 750 2112 1184 conicto +end_ol grestore +gsave 25.676840 16.080556 translate 0.035278 -0.035278 scale +start_ol +2432 1288 moveto +2432 1088 lineto +640 1088 lineto +666 682 886 469 conicto +1107 256 1501 256 conicto +1729 256 1943 304 conicto +2157 352 2368 448 conicto +2368 64 lineto +2158 1 1937 -31 conicto +1716 -64 1489 -64 conicto +920 -64 588 267 conicto +256 598 256 1163 conicto +256 1746 567 2089 conicto +879 2432 1407 2432 conicto +1881 2432 2156 2124 conicto +2432 1817 2432 1288 conicto +2048 1408 moveto +2044 1729 1868 1920 conicto +1693 2112 1404 2112 conicto +1076 2112 879 1927 conicto +683 1742 653 1406 conicto +2048 1408 lineto +end_ol grestore +gsave 26.024015 16.080556 translate 0.035278 -0.035278 scale +start_ol +1728 2048 moveto +1665 2081 1590 2096 conicto +1516 2112 1426 2112 conicto +1108 2112 938 1886 conicto +768 1660 768 1237 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +886 2211 1075 2321 conicto +1265 2432 1536 2432 conicto +1575 2432 1622 2432 conicto +1669 2432 1726 2432 conicto +1728 2048 lineto +end_ol grestore +gsave 26.256294 16.080556 translate 0.035278 -0.035278 scale +start_ol +1471 1152 moveto +1002 1152 821 1047 conicto +640 943 640 692 conicto +640 491 775 373 conicto +911 256 1145 256 conicto +1467 256 1661 479 conicto +1856 702 1856 1072 conicto +1856 1152 lineto +1471 1152 lineto +2240 1321 moveto +2240 0 lineto +1856 0 lineto +1856 384 lineto +1724 154 1526 45 conicto +1329 -64 1043 -64 conicto +682 -64 469 137 conicto +256 339 256 677 conicto +256 1071 521 1271 conicto +787 1472 1313 1472 conicto +1856 1472 lineto +1856 1514 lineto +1856 1800 1683 1956 conicto +1510 2112 1198 2112 conicto +999 2112 810 2064 conicto +622 2016 448 1920 conicto +448 2304 lineto +657 2368 854 2400 conicto +1052 2432 1238 2432 conicto +1742 2432 1991 2156 conicto +2240 1881 2240 1321 conicto +end_ol grestore +gsave 26.600972 16.080556 translate 0.035278 -0.035278 scale +start_ol +768 3008 moveto +768 2368 lineto +1536 2368 lineto +1536 2048 lineto +768 2048 lineto +768 771 lineto +768 484 844 402 conicto +920 320 1153 320 conicto +1536 320 lineto +1536 0 lineto +1153 0 lineto +716 0 550 166 conicto +384 332 384 771 conicto +384 2048 lineto +128 2048 lineto +128 2368 lineto +384 2368 lineto +384 3008 lineto +768 3008 lineto +end_ol grestore +gsave 26.823263 16.080556 translate 0.035278 -0.035278 scale +start_ol +1345 2112 moveto +1019 2112 829 1864 conicto +640 1616 640 1184 conicto +640 752 828 504 conicto +1017 256 1345 256 conicto +1669 256 1858 505 conicto +2048 754 2048 1184 conicto +2048 1611 1858 1861 conicto +1669 2112 1345 2112 conicto +1344 2432 moveto +1852 2432 2142 2101 conicto +2432 1770 2432 1184 conicto +2432 600 2142 268 conicto +1852 -64 1344 -64 conicto +834 -64 545 268 conicto +256 600 256 1184 conicto +256 1770 545 2101 conicto +834 2432 1344 2432 conicto +end_ol grestore +gsave 27.167941 16.080556 translate 0.035278 -0.035278 scale +start_ol +1728 2048 moveto +1665 2081 1590 2096 conicto +1516 2112 1426 2112 conicto +1108 2112 938 1886 conicto +768 1660 768 1237 conicto +768 0 lineto +384 0 lineto +384 2368 lineto +768 2368 lineto +768 1984 lineto +886 2211 1075 2321 conicto +1265 2432 1536 2432 conicto +1575 2432 1622 2432 conicto +1669 2432 1726 2432 conicto +1728 2048 lineto +end_ol grestore +showpage diff --git a/BookGPU/Chapters/chapter8/figures/johnson_with_lags-eps-converted-to.pdf b/BookGPU/Chapters/chapter8/figures/johnson_with_lags-eps-converted-to.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5a2c5084de28006c16640e137eda0ec15dda6e41 GIT binary patch literal 7406 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 + imagemask } bind +] def +/PaintProc { + pop + exec fill +} def +currentdict +end +/P5 exch def + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def + +$F2psBegin +10 setmiterlimit +0 slj 0 slc + 0.06000 0.06000 sc +% +% Fig objects follow +% +% +% here starts figure with depth 50 +/Times-Italic ff 240.00 scf sf +4534 5502 m +gs 1 -1 sc (l = p) col0 sh gr +/Times-Italic ff 195.00 scf sf +4648 5559 m +gs 1 -1 sc (j) col0 sh gr +/Symbol ff 360.00 scf sf +5084 5532 m +gs 1 -1 sc (S) col0 sh gr +/Times-Italic ff 195.00 scf sf +4896 5720 m +gs 1 -1 sc (k < < l) col0 sh gr +/Symbol ff 180.00 scf sf +5195 5685 m +gs 1 -1 sc (m) col0 sh gr +/Times-Italic ff 195.00 scf sf +5639 5592 m +gs 1 -1 sc (j,) col0 sh gr +/Symbol ff 180.00 scf sf +5750 5583 m +gs 1 -1 sc (m) col0 sh gr +% Polyline +7.500 slw +n 2127 4725 m 3077 4725 l 3077 5200 l 2127 5200 l + cp gs col0 s gr +% Polyline + [15 60] 60 sd +n 3077 4250 m 4490 4250 l 4490 4725 l 3077 4725 l + cp gs col0 s gr [] 0 sd +% Polyline + [15 60] 60 sd +n 4490 3775 m 4965 3775 l 4965 4250 l 4490 4250 l + cp gs col0 s gr [] 0 sd +% Polyline + [15 60] 60 sd +n 4965 3313 m 5915 3313 l 5915 3775 l 4965 3775 l + cp gs col0 s gr [] 0 sd +% Polyline +n 7563 2355 m 8975 2355 l 8975 2830 l 7563 2830 l + cp gs col0 s gr +% Polyline + [15 60] 60 sd +n 5909 2830 m 7568 2830 l 7568 3307 l 5909 3307 l + cp gs col0 s gr [] 0 sd +% Polyline +n 1420 2125 m 1420 6136 l + 9216 6136 l gs col0 s gr +% Polyline +n 1420 4966 m + 1182 4966 l gs col0 s gr +% Polyline +n 1408 2602 m + 1170 2602 l gs col0 s gr +% Polyline +n 1409 5909 m + 1171 5909 l gs col0 s gr +% Polyline +45.000 slw + [15 150] 150 sd +n 818 2909 m + 818 4545 l gs col0 s gr [] 0 sd +% Polyline + [15 150] 150 sd +n 830 5193 m + 830 5670 l gs col0 s gr [] 0 sd +% Polyline +7.500 slw + [60] 0 sd +n 3077 4727 m 7568 4727 l 7568 5200 l 3077 5200 l + cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def +15.00 15.00 sc P5 [16 0 0 -16 205.13 315.13] PATmp PATsp ef gr PATusp gs col0 s gr [] 0 sd +/Times-Italic ff 240.00 scf sf +80 2614 m +gs 1 -1 sc (M = M) col0 sh gr +/Times-Italic ff 240.00 scf sf +91 4966 m +gs 1 -1 sc (M = M) col0 sh gr +/Times-Italic ff 240.00 scf sf +739 5943 m +gs 1 -1 sc (M) col0 sh gr +/Times-Italic ff 240.00 scf sf +2125 5432 m +gs 1 -1 sc (p = p) col0 sh gr +/Times-Italic ff 240.00 scf sf +7784 3068 m +gs 1 -1 sc (p = p) col0 sh gr +/Times-Italic ff 195.00 scf sf +261 2773 m +gs 1 -1 sc (2) col0 sh gr +/Times-Italic ff 195.00 scf sf +284 5068 m +gs 1 -1 sc (1) col0 sh gr +/Times-Italic ff 195.00 scf sf +920 6091 m +gs 1 -1 sc (0) col0 sh gr +/Times-Italic ff 195.00 scf sf +2170 5557 m +gs 1 -1 sc (j,1) col0 sh gr +/Times-Italic ff 195.00 scf sf +7841 3182 m +gs 1 -1 sc (j,2) col0 sh gr +/Times-Italic ff 195.00 scf sf +1000 2773 m +gs 1 -1 sc (l) col0 sh gr +/Times-Italic ff 195.00 scf sf +977 5102 m +gs 1 -1 sc (k) col0 sh gr +/Times-Italic ff 195.00 scf sf +2920 5534 m +gs 1 -1 sc (j,k) col0 sh gr +/Times-Italic ff 195.00 scf sf +8614 3205 m +gs 1 -1 sc (j,l) col0 sh gr +% here ends figure; +$F2psEnd +rs +end +showpage diff --git a/BookGPU/Chapters/chapter8/figures/parallel_bounding-eps-converted-to.pdf b/BookGPU/Chapters/chapter8/figures/parallel_bounding-eps-converted-to.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e7dae85a4b21e6496510a4d09b5a217b041291a7 GIT binary patch literal 19745 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 GZoL74<^mxA literal 0 HcmV?d00001 diff --git a/BookGPU/Chapters/chapter8/figures/parallel_bounding.eps b/BookGPU/Chapters/chapter8/figures/parallel_bounding.eps new file mode 100644 index 0000000..3625c89 --- /dev/null +++ b/BookGPU/Chapters/chapter8/figures/parallel_bounding.eps @@ -0,0 +1,1160 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: GIMP PostScript file plugin V 1,17 by Peter Kirchgessner +%%Title: parallel bounding.eps +%%CreationDate: Tue Aug 21 13:36:11 2012 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%Pages: 1 +%%BoundingBox: 14 14 537 268 +%%EndComments +%%BeginProlog +% Use own dictionary to avoid conflicts +10 dict begin +%%EndProlog +%%Page: 1 1 +% Translate for offset +14.173228346456694 14.173228346456694 translate +% Translate to begin of first scanline +0 252.96837895263093 translate +521.93475815523061 -252.96837895263093 scale +% Image geometry +522 253 8 +% Transformation matrix +[ 522 0 0 253 0 0 ] +% Strings to hold RGB-samples per scanline +/rstr 522 string def +/gstr 522 string def +/bstr 522 string def +{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} +{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} +{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} +true 3 +%%BeginData: 58678 ASCII Bytes +colorimage +JcC<$JcC<$p]#a~> +JcC<$JcC<$p]#a~> +JcC<$JcC<$p]#a~> +JcC<$JcC<$p]#a~> +JcC<$JcC<$p]#a~> +JcC<$JcC<$p]#a~> +JcC<$JcC<$p]#a~> +JcC<$JcC<$p]#a~> +JcC<$JcC<$p]#a~> +JcCT,!;? +JcCT,!;? +JcCT,!;? +JcCf2"RX.$F\h]2"EfF#g%L!sJcG`LJ,~> +JcCf2"RX.$F\h]2"EfF#g%L!sJcG`LJ,~> +JcCf2"RX.$F\h]2"EfF#g%L!sJcG`LJ,~> +JcCr6"8:'):](4mFTA-5XTF3!AGcE/A?FmCs+13#~> +JcCr6"8:'):](4mFTA-5XTF3!AGcE/A?FmCs+13#~> +JcCr6"8:'):](4mFTA-5XTF3!AGcE/A?FmCs+13#~> +JcD#8!SN\8!!@AGg%P(<"67=nAGuQ1:V#kDs+LE&~> +JcD#8!SN\8!!@AGg%P(<"67=nAGuQ1:V#kDs+LE&~> +JcD#8!SN\8!!@AGg%P(<"67=nAGuQ1:V#kDs+LE&~> +JcD,;#PQ)3!!"m?cg1T4mC@B=!!/;:JcCK)J,~> +JcD,;#PQ)3!!"m?cg1T4mC@B=!!/;:JcCK)J,~> +JcD,;#PQ)3!!"m?cg1T4mC@B=!!/;:JcCK)J,~> +JcD/<"g'W^!-QWLrs%km:B1B;fn'0Zs*t~> +JcD/<"g'W^!-QWLrs%km:B1B;fn'0Zs*t~> +JcD/<"g'W^!-QWLrs%km:B1B;fn'0Zs*t~> +JcD5>"j]sE!0cg.rrp>:!!&5MJcCW-J,~> +JcD5>"j]sE!0cg.rrp>:!!&5MJcCW-J,~> +JcD5>"j]sE!0cg.rrp>:!!&5MJcCW-J,~> +JcEai!42S'![F]DpAY,*qu?ajeb&kFm<&C/PO70*"N4(927\; +JcEai!,)30!DCu:rrMBnqu?bAoCW%dm<&C/PO70*"N4(927\; +JcEdj!Tba.!!3RTnFlk^Zhse).'!4;rrqe4!!&5Mh#@Mq:B38_JcCZ.J,~> +JcE^h#Nd9.s8Uk*h>[EXo6h$5UAOri#H`pas8JuorV$6o\MX@tg"?<-XT/?3m=G:ss*t~> +JcE^h#H`pas8JuorVlg"ePuT^a8Q#B?HiHLo5CArrrfki!+ad8rrfG(!+bJJs,I&/~> +JcEai#Q&/Xs8VV/UAk/rr2V\$L#r=6#NADJs8U_;g@bIK\MX@tg"?<-XT/?3m=G:ss*t~> +JcE^h!p1a)rr3"PZi9t.QZhuZV>C2k!Nh:ZrrVs?lM1A^p4WJHXk!FSm<&Cd`.@rKs*t~> +JcE^h!Nh:ZrsJNGlMpn^4Knb*^&@s3?HiEK!QSjIrri%L!!'.Orrh_3!&_]Gs,R,0~> +JcEai!rHWSrr3>GD>aG6dm_s][,1f^#NADJs8W(PZhOJ&p4WJHXk!FSm<&Cd`.@rKs*t~> +JcE^h!p1a)rr3"B\GlL/Xc*&U!Nh:ZrrV^5mJ6bbj%fYcj3mr0XT/?pJcCf2J,~> +JcE^h!Nh:Zrs/':mJm4c@EeTJ!FF"LrrKfOq#:KW:B4qcdf0EO!!&^Ds,[21~> +JcEai!rHWSrr35:F8Z( +JcE^h#Nd9.s8/o9jo58]ko%M +JcE^h#H`pas6G)Arr2p!ZU+$VrrufRs8US7Xnhu"feibnp<`gBfeibPp4<7+s*t~> +JcEai#Q&/Xs8LD;XoA>&qeqAir;R#]9Cr2YXY\r3rrh"4!0d-'rrh"4!-S!ds,m>3~> +JcE^h!9X1Z%VYJ6s79Zg3pHDm!7:bJqu?bnrql]t_uKeJc2Rq?A,p06JcCo5J,~> +JcE^h!3Q/!%]'+(s3si+EW4/^1&V&Xr;ZjHf_YUM_uKeJc2Rq?A,p06JcCo5J,~> +JcEai!W-O.!"Us:s8W"iG\=MbMZAn>iZnC%!Gq9%rr^1>!4gAS"SQ@+AG1TSP5g%~> +JcE^h($6b5eK'OoMOse40E:s/h4YrrVJ!W;QYt_uKeUbPq_=FT>tGJcCr6J,~> +JcE^h!Nh:ZrsS+*W;lj)d/.LYSXoc[!FF"LrrUM"iV`]X_uKeUbPq_=FT>tGJcCr6J,~> +JcEai*;aBms8W)B7G\"&=7b9AeQUT)s5H]Cs8VkeAbc3'"2k0>`68/`p2p@Gp4<7-s*t~> +JcE^h!p1a)rr3?#+Qi]^W;lj:1RJ+@!Nh:YrrL/HrVlu +JcE^h!Nh:YrsHeQs8+&#s620iec,RL?HiBJ!JITRrr^1>2:'AD"-W^qp4<7.s*t~> +JcEai!rHWSrr3Q/KrtC!@J^#50idlGs5H]Crr3&h8E0UJ"2k0sccH+gP5o.eJcCu7J,~> +JcE^h&EY57s8W)%3r/f^=7c +JcE^h!Nh:ZrsSFAOoPDoR/ZAP3r/dT!FF"LrrV"6d/O%IcN!su`r?.)!+beSs- +JcEai!rHWSrr3be7F2"p4OF)J-'J9-s5H]Cs8W##:\4Sc"4$rIfuF$oP5o.eJcD#8J,~> +JcEai!42P&%857Os8.KM!-b+:!0Lpk!!d`>s8V+:!5uhU!d+KsJcD#8J,~> +JcEai!,)0/% +JcEdj!Tba-!"C?Vr;Zc/-id&H3<2UHqZ$Xme,K@Lj#$hT`;]m]!/6"(Q2c@~> +JcD\K"84SP`8gmsf`:'orr_t*!24uDQN)I~> +JcD\K"84SP`8gmsf`:'orr_t*!24uDQN)I~> +JcD\K"84SP`8gmsf`:'orr_t*!24uDQN)I~> +JcD\K!d+L,jo5DLP;E.;!]-PDkPkYO2#tsRs-Nb9~> +JcD\K!d+L,jo5DLP;E.;!]-PDkPkYO2#tsRs-Nb9~> +JcD\K!d+L,jo5DLP;E.;!]-PDkPkYO2#tsRs-Nb9~> +JcD_L!j)H5jo5_,1B8h@Jq@kg!&N +JcD_L!j)H5jo5_,1B8h@Jq@kg!&N +JcD_L!j)H5jo5_,1B8h@Jq@kg!&N +JcDbM"5*Z3mH4EN_uKdhr4`BEGQ7`skPkUc!-NkmR/_[~> +JcDbM"5*Z3mH4EN_uKdhr4`BEGQ7`skPkUc!-NkmR/_[~> +JcDbM"5*Z3mH4EN_uKdhr4`BEGQ7`skPkUc!-NkmR/_[~> +JcDbM!`&gBk5PPN1B=HN^B9Z"1\U#3!d+LRJcD/ +JcDbM!`&gBk5PPN1B=HN^B9Z"1\U#3!d+LRJcD/ +JcDbM!`&gBk5PPN1B=HN^B9Z"1\U#3!d+LRJcD/ +JcDeN!j)HVjo5CG!/pTd!dF^IkPkYO2)XcPs-it<~> +JcDeN!j)HVjo5CG!/pTd!dF^IkPkYO2)XcPs-it<~> +JcDeN!j)HVjo5CG!/pTd!dF^IkPkYO2)XcPs-it<~> +JcDhO"76(Gp?)AVp&I2J^B1nF:$2HWXT4Q9s-it<~> +JcDhO"76(Gp?)AVp&I2J^B1nF:$2HWXT4Q9s-it<~> +JcDhO"76(Gp?)AVp&I2J^B1nF:$2HWXT4Q9s-it<~> +JcDhO!g +JcDhO!g +JcDhO!g +JcDkP!ndQLjSo;7!.smY!eLF*k5PM/!-NkmS,\!~> +JcDkP!ndQLjSo;7!.smY!eLF*k5PM/!-NkmS,\!~> +JcDkP!ndQLjSo;7!.smY!eLF*k5PM/!-NkmS,\!~> +JcDkP!d+L]jSo;7!.smY!eLF*jo5C)!82r'SH"*~> +JcDkP!d+L]jSo;7!.smY!eLF*jo5C)!82r'SH"*~> +JcDkP!d+L]jSo;7!.smY!eLF*jo5C)!82r'SH"*~> +JcDnQ!pot`j8T26!-n1O!b;;ujo5D8!-NkmSH"*~> +JcDnQ!pot`j8T26!-n1O!b;;ujo5D8!-NkmSH"*~> +JcDnQ!pot`j8T26!-n1O!b;;ujo5D8!-NkmSH"*~> +JcDnQ!g +JcDnQ!g +JcDnQ!g +JcDqR!qlUiiVrtC!.ss[!dF^Ij8T2!!0`!6Sc=3~> +JcDqR!qlUiiVrtC!.ss[!dF^Ij8T2!!0`!6Sc=3~> +JcDqR!qlUiiVrtC!.ss[!dF^Ij8T2!!0`!6Sc=3~> +JcDqR!kA<5iVs#I0*%43^B9Z"0D=E*s"sfMJcD>AJ,~> +JcDqR!kA<5iVs#I0*%43^B9Z"0D=E*s"sfMJcD>AJ,~> +JcDqR!kA<5iVs#I0*%43^B9Z"0D=E*s"sfMJcD>AJ,~> +JcDqR!b;;uir9&HPPtO_K"1co!P!CR!!/;Wj8T1S!5sHgT)X<~> +JcDqR!b;;uir9&HPPtO_K"1co!P!CR!!/;Wj8T1S!5sHgT)X<~> +JcDqR!b;;uir9&HPPtO_K"1co!P!CR!!/;Wj8T1S!5sHgT)X<~> +JcDtS!pouAj8TkfP5kSYQSSUiDM!IN-ic&l2#oM9p>u;UirFdas.97@~> +JcDtS!pouAj8TkfP5kSYQSSUiDM!IN-ic&l2#oM9p>u;UirFdas.97@~> +JcDtS!pouAj8TkfP5kSYQSSUiDM!IN-ic&l2#oM9p>u;UirFdas.97@~> +JcDtS!kA +JcDtS!kA +JcDtS!kA +JcDtS!b;<)kPkb[XYg)9XnMYl"60Alj88i[p8n;p28n\X!hfV4JcDABJ,~> +JcDtS!b;<)kPkb[XYg)9XnMYl"60Alj88i[p8n;p28n\X!hfV4JcDABJ,~> +JcDtS!b;<)kPkb[XYg)9XnMYl"60Alj88i[p8n;p28n\X!hfV4JcDABJ,~> +JcE"T!qlV)kPk_(:B1BspA+^if`762rrqeR!!#g5l2Lh +JcE"T!qlV)kPk_(:B1BspA+^if`762rrqeR!!#g5l2Lh +JcE"T!qlV)kPk_(:B1BspA+^if`762rrqeR!!#g5l2Lh +JcE"T!m^kKl2Lq*:B1BYmJ$V^f`8/JrrqeR!!#gJlMglB:P&P +JcE"T!m^kKl2Lq*:B1BYmJ$V^f`8/JrrqeR!!#gJlMglB:P&P +JcE"T!m^kKl2Lq*:B1BYmJ$V^f`8/JrrqeR!!#gJlMglB:P&P +JcE"T!hfVIli..A:B1BYmIgJ\_uQq3rrqG*!!%/pm/I-0!:>@;T`9N~> +JcE"T!hfVIli..A:B1BYmIgJ\_uQq3rrqG*!!%/pm/I-0!:>@;T`9N~> +JcE"T!hfVIli..A:B1BYmIgJ\_uQq3rrqG*!!%/pm/I-0!:>@;T`9N~> +JcE"T!d+M:mJd@CFT;Dag%54FXT7&Frrq(u!!%/pmf*?j!719:!:Bd=!4h^'!4i*^!:>@;`rCP~> +JcE"T!d+M:mJd@CFT;Dag%54FXT7&Frrq(u!!%/pmf*?j!719:!:Bd=!4h^'!4i*^!:>@;`rCP~> +JcE"T!d+M:mJd@CFT;Dag%54FXT7&Frrq(u!!%/pmf*?j!719:!:Bd=!4h^'!4i*^!:>@;`rCP~> +JcE"T!rrUjRXo/2'p=[BdPBCEt!<70EPHE0ap4<7i +s*t~> +JcE"T!rrUjRXo/2'p=[BdPBCEt!<70EPHE0ap4<7i +s*t~> +JcE"T!rrUjRXo/2'p=[BdPBCEt!<70EPHE0ap4<7i +s*t~> +JcE%U!pouAqYq)ZKei]/@_)44s6Z!M!)Lr0rrQ^2jR3$O`(p@5PO88I!qt=-qu6lf!--]&PBGFV +">t=q\_2Q6eGk%~> +JcE%U!pouAqYq)ZKei]/@_)44s6Z!M!)Lr0rrQ^2jR3$O`(p@5PO88I!qt=-qu6lf!--]&PBGFV +">t=q\_2Q6eGk%~> +JcE%U!pouAqYq)ZKei]/@_)44s6Z!M!)Lr0rrQ^2jR3$O`(p@5PO88I!qt=-qu6lf!--]&PBGFV +">t=q\_2Q6eGk%~> +JcE%U!ndRUqu7.i!!"EL9)nrddusb3:W2c&!SN2*!!-QTmf*U3:B1BgpAb02@f691PN2\r\V80+ +"([V+j+76`s*t~> +JcE%U!ndRUqu7.i!!"EL9)nrddusb3:W2c&!SN2*!!-QTmf*U3:B1BgpAb02@f691PN2\r\V80+ +"([V+j+76`s*t~> +JcE%U!ndRUqu7.i!!"EL9)nrddusb3:W2c&!SN2*!!-QTmf*U3:B1BgpAb02@f691PN2\r\V80+ +"([V+j+76`s*t~> +JcE%U!kA_DKneS!0cjN%/-e\!&^Zo!!#ZDDEI:e"]'8p +Xf]P@f`:F4rrD*Yf`epgXbCmnnGiW5XkA:*h>`!~> +JcE%U!kA_DKneS!0cjN%/-e\!&^Zo!!#ZDDEI:e"]'8p +Xf]P@f`:F4rrD*Yf`epgXbCmnnGiW5XkA:*h>`!~> +JcE%U!kA_DKneS!0cjN%/-e\!&^Zo!!#ZDDEI:e"]'8p +Xf]P@f`:F4rrD*Yf`epgXbCmnnGiW5XkA:*h>`!~> +JcE%U!j)IUrVlu1!)'j!^B9Z"2>6M="1\C[PPr5uUItTNmJdCaXYg(Y9<.s*!K/B$!!Q/@Xi/o[ +hu +JcE%U!j)IUrVlu1!)'j!^B9Z"2>6M="1\C[PPr5uUItTNmJdCaXYg(Y9<.s*!K/B$!!Q/@Xi/o[ +hu +JcE%U!j)IUrVlu1!)'j!^B9Z"2>6M="1\C[PPr5uUItTNmJdCaXYg(Y9<.s*!K/B$!!Q/@Xi/o[ +hu +JcE%U!g +JcE%U!g +JcE%U!g +JcE%U!HeD@rrU+=DYUsJYlJ8&rrSAaMtt*hWW5c\rr_sN.'`T_#(ci's/c:SbPqXsX`a@ +JcE%U!HeD@rrU+=DYUsJYlJ8&rrSAaMtt*hWW5c\rr_sN.'`T_#(ci's/c:SbPqXsX`a@ +JcE%U!HeD@rrU+=DYUsJYlJ8&rrSAaMtt*hWW5c\rr_sN.'`T_#(ci's/c:SbPqXsX`a@ +JcE%U!HeDArr_tO!2K;'!D +JcE%U!HeDArr_tO!2K;'!D +JcE%U!HeDArr_tO!2K;'!D +JcE%U"Ea_<`.e0jp:gZR!86rC!ndQupV-cn!3P\h!j)HtpV-lB!9:0]fu3mmp +JcE%U"Ea_<`.e0jp:gZR!86rC!ndQupV-cn!3P\h!j)HtpV-lB!9:0]fu3mmp +JcE%U"Ea_<`.e0jp:gZR!86rC!ndQupV-cn!3P\h!j)HtpV-lB!9:0]fu3mmp +JcE%U!+5R&p:gZ\!86rC!ndR*pV-d)!3P\h!d+LQpV-l`!84ISftdUhj.T9E!!.f"JcG3=J,~> +JcE%U!+5R&p:gZ\!86rC!ndR*pV-d)!3P\h!d+LQpV-l`!84ISftdUhj.T9E!!.f"JcG3=J,~> +JcE%U!+5R&p:gZ\!86rC!ndR*pV-d)!3P\h!d+LQpV-l`!84ISftdUhj.T9E!!.f"JcG3=J,~> +JcE.X!pu[Wq#CE"pV-c?!:B@W!ndR*pV-d)!3P\h!HeD9^BK2hfrY8-^&J/oThkLb!`-B#JcG<@ +J,~> +JcE.X!pu[Wq#CE"pV-c?!:B@W!ndR*pV-d)!3P\h!HeD9^BK2hfrY8-^&J/oThkLb!`-B#JcG<@ +J,~> +JcE.X!pu[Wq#CE"pV-c?!:B@W!ndR*pV-d)!3P\h!HeD9^BK2hfrY8-^&J/oThkLb!`-B#JcG<@ +J,~> +JcE4Z!Q9-V!!?bc!0d/l!BW+-rrUjRK(m"]RfKSYrrSkoU\DM,D?/@l!84s`!RHu+!!5$Am=G<0 +s*t~> +JcE4Z!Q9-V!!?bc!0d/l!BW+-rrUjRK(m"]RfKSYrrSkoU\DM,D?/@l!84s`!RHu+!!5$Am=G<0 +s*t~> +JcE4Z!Q9-V!!?bc!0d/l!BW+-rrUjRK(m"]RfKSYrrSkoU\DM,D?/@l!84s`!RHu+!!5$Am=G<0 +s*t~> +JcE=]!pu[=q>^^q\aBFW!*K$2!g +JcE=]!pu[=q>^^q\aBFW!*K$2!g +JcE=]!pu[=q>^^q\aBFW!*K$2!g +JcEC_!SN2'!!>)Q!:Bab!d+L$qS*-B3rmt'rrRj~> +JcEC_!SN2'!!>)Q!:Bab!d+L$qS*-B3rmt'rrRj~> +JcEC_!SN2'!!>)Q!:Bab!d+L$qS*-B3rmt'rrRj~> +JcEIa!Q7e1!!RM`s/c:SrVlu[1B +JcEIa!Q7e1!!RM`s/c:SrVlu[1B +JcEIa!Q7e1!!RM`s/c:SrVlu[1B +JcERd!qr`RqZ$[TU$_jZ!j)IUr;R/C!!$,jUSE&^!!#garrA8^!!,`trP&KFA,p*4m/I4^:&o1A +rP&T;3rkuSs)e=GrrVo4:\t+mFmXb[r;V9~> +JcERd!qr`RqZ$[TU$_jZ!j)IUr;R/C!!$,jUSE&^!!#garrA8^!!,`trP&KFA,p*4m/I4^:&o1A +rP&T;3rkuSs)e=GrrVo4:\t+mFmXb[r;V9~> +JcERd!qr`RqZ$[TU$_jZ!j)IUr;R/C!!$,jUSE&^!!#garrA8^!!,`trP&KFA,p*4m/I4^:&o1A +rP&T;3rkuSs)e=GrrVo4:\t+mFmXb[r;V9~> +JcEXf!pu[=qZ$[n`:j-/!m^kKqu6]W@f-3.&c_pMo)AaaL&1iTDNgQ7-id`MlMh4O1]TU^Ru;.a +!0dE^s#$qY!Q7e2!!/;NJcG`LJ,~> +JcEXf!pu[=qZ$[n`:j-/!m^kKqu6]W@f-3.&c_pMo)AaaL&1iTDNgQ7-id`MlMh4O1]TU^Ru;.a +!0dE^s#$qY!Q7e2!!/;NJcG`LJ,~> +JcEXf!pu[=qZ$[n`:j-/!m^kKqu6]W@f-3.&c_pMo)AaaL&1iTDNgQ7-id`MlMh4O1]TU^Ru;.a +!0dE^s#$qY!Q7e2!!/;NJcG`LJ,~> +JcE^h!UZ*I!!.f,q>UNL!295g"66MI*<#p<2Y-kKp14+%!gBoGqu?bkp?;MWp65CS!DUN2rrE+B +X8`4=:](1o26HS'rrE(L~> +JcE^h!UZ*I!!.f,q>UNL!295g"66MI*<#p<2Y-kKp14+%!gBoGqu?bkp?;MWp65CS!DUN2rrE+B +X8`4=:](1o26HS'rrE(L~> +JcE^h!UZ*I!!.f,q>UNL!295g"66MI*<#p<2Y-kKp14+%!gBoGqu?bkp?;MWp65CS!DUN2rrE+B +X8`4=:](1o26HS'rrE(L~> +JcEdj!UZ*I!!/;NpAY-nFnu% +JcEdj!UZ*I!!/;NpAY-nFnu% +JcEdj!UZ*I!!/;NpAY-nFnu% +JcEjl!UZ*J!!5$[p@S@c:B:7k!TQuQ!!(^ErrM.;r;Zi9rVuis!/9D3!;?Bl#*&?Vs1&-?VuHe. +2>dFTFlS,SJ,~> +JcEjl!UZ*J!!5$[p@S@c:B:7k!TQuQ!!(^ErrM.;r;Zi9rVuis!/9D3!;?Bl#*&?Vs1&-?VuHe. +2>dFTFlS,SJ,~> +JcEjl!UZ*J!!5$[p@S@c:B:7k!TQuQ!!(^ErrM.;r;Zi9rVuis!/9D3!;?Bl#*&?Vs1&-?VuHe. +2>dFTFlS,SJ,~> +JcEpn!VW5a!!5$[p@A4bP5sY@rrB1s!!(^FrrC"9!!+t;rVllYrVuqPiVro(r;[!W`;c#$j/2hW +p9"2l!Nl'Ls*t~> +JcEpn!VW5a!!5$[p@A4bP5sY@rrB1s!!(^FrrC"9!!+t;rVllYrVuqPiVro(r;[!W`;c#$j/2hW +p9"2l!Nl'Ls*t~> +JcEpn!VW5a!!5$[p@A4bP5sY@rrB1s!!(^FrrC"9!!+t;rVllYrVuqPiVro(r;[!W`;c#$j/2hW +p9"2l!Nl'Ls*t~> +JcF!p!qr`Rqu?dUXnM8a!kA +JcF!p!qr`Rqu?dUXnM8a!kA +JcF!p!qr`Rqu?dUXnM8a!kA +JcF$q!Q6kn!!5$[p?qqbirFf5s1(#]!!(^HrrC"9!!-X(r;QcCqu?`jiVrmtq>^Oam@sU]fh_MG +!MT4Cs*t~> +JcF$q!Q6kn!!5$[p?qqbirFf5s1(#]!!(^HrrC"9!!-X(r;QcCqu?`jiVrmtq>^Oam@sU]fh_MG +!MT4Cs*t~> +JcF$q!Q6kn!!5$[p?qqbirFf5s1(#]!!(^HrrC"9!!-X(r;QcCqu?`jiVrmtq>^Oam@sU]fh_MG +!MT4Cs*t~> +JcF*s!SL9H!!5$[p?V_\:GqN^o`,!Fq#:>fr;Zk/pAFpkp,2aJ!6!jr!0d3Y!]@+RU]1AgXo&/" +:YCU)J,~> +JcF*s!SL9H!!5$[p?V_\:GqN^o`,!Fq#:>fr;Zk/pAFpkp,2aJ!6!jr!0d3Y!]@+RU]1AgXo&/" +:YCU)J,~> +JcF*s!SL9H!!5$[p?V_\:GqN^o`,!Fq#:>fr;Zk/pAFpkp,2aJ!6!jr!0d3Y!]@+RU]1AgXo&/" +:YCU)J,~> +JcF0u!UY%,!!/eel2LgK!%[[A!872J!0d?]!Hn,5rr@cM!!$QgrrB1q!!,m6UAk8SFo24?U%XEE +J,~> +JcF0u!UY%,!!/eel2LgK!%[[A!872J!0d?]!Hn,5rr@cM!!$QgrrB1q!!,m6UAk8SFo24?U%XEE +J,~> +JcF0u!UY%,!!/eel2LgK!%[[A!872J!0d?]!Hn,5rr@cM!!$QgrrB1q!!,m6UAk8SFo24?U%XEE +J,~> +JcF7"!VWYm!!/;NkPkV0!$:b4!;?9h!0d?]!0d9Z!71H@!:AeG!6"O1!Hm(irrKYfr;Zk/j,F"g~> +JcF7"!VWYm!!/;NkPkV0!$:b4!;?9h!0d?]!0d9Z!71H@!:AeG!6"O1!Hm(irrKYfr;Zk/j,F"g~> +JcF7"!VWYm!!/;NkPkV0!$:b4!;?9h!0d?]!0d9Z!71H@!:AeG!6"O1!Hm(irrKYfr;Zk/j,F"g~> +JcF:#!RFR>!!.5qjSo<>1T`P.!;c]qPPkI]PPY:[p,2XG!4h+h!86rD!0a/W!UXFr!!+sfNW4M~> +JcF:#!RFR>!!.5qjSo<>1T`P.!;c]qPPkI]PPY:[p,2XG!4h+h!86rD!0a/W!UXFr!!+sfNW4M~> +JcF:#!RFR>!!.5qjSo<>1T`P.!;c]qPPkI]PPY:[p,2XG!4h+h!86rD!0a/W!UXFr!!+sfNW4M~> +JcF@%!UY%-!!,m6ir9.F!6"SppAk*j!0d?]!0d6Y!/:1J!)MVS!:BCY!G(5`rrB2!!!.fIO8j_~> +JcF@%!UY%-!!,m6ir9.F!6"SppAk*j!0d?]!0d6Y!/:1J!)MVS!:BCY!G(5`rrB2!!!.fIO8j_~> +JcF@%!UY%-!!,m6ir9.F!6"SppAk*j!0d?]!0d6Y!/:1J!)MVS!:BCY!G(5`rrB2!!!.fIO8j_~> +JcFC&!Ne6W!!04qiVs,B!-S>Aj?<;=r;Qb\r;Zh]q>UH@p&G*QirAZO!3Mgl!TQuS!!-WjOT0h~> +JcFC&!Ne6W!!04qiVs,B!-S>Aj?<;=r;Qb\r;Zh]q>UH@p&G*QirAZO!3Mgl!TQuS!!-WjOT0h~> +JcFC&!Ne6W!!04qiVs,B!-S>Aj?<;=r;Qb\r;Zh]q>UH@p&G*QirAZO!3Mgl!TQuS!!-WjOT0h~> +JcFI(!TR_g!!.60hZ!Xf!:Bdc!P(Vq!<)ot\buL.PPP4Zp,2OD!28EP!)N@i!G(5[rrMhWr;ZjU +`0((M~> +JcFI(!TR_g!!.60hZ!Xf!:Bdc!P(Vq!<)ot\buL.PPP4Zp,2OD!28EP!)N@i!G(5[rrMhWr;ZjU +`0((M~> +JcFI(!TR_g!!.60hZ!Xf!:Bdc!P(Vq!<)ot\buL.PPP4Zp,2OD!28EP!)N@i!G(5[rrMhWr;ZjU +`0((M~> +JcFO*!VWYn!!,mAh#@Go!0d?\!Q7e4!<2uu`;KZ9PPG.XL%PEG:ZDBSFnbq:PF2@M`;BT8Tp#G+~> +JcFO*!VWYn!!,mAh#@Go!0d?\!Q7e4!<2uu`;KZ9PPG.XL%PEG:ZDBSFnbq:PF2@M`;BT8Tp#G+~> +JcFO*!VWYn!!,mAh#@Go!0d?\!Q7e4!<2uu`;KZ9PPG.XL%PEG:ZDBSFnbq:PF2@M`;BT8Tp#G+~> +JcFR+!SL9H!!/eegA_4M!:B[`#.ZSk2?3]pr;Zh]q#:??o)Jd:j8T+CpAb3RR/[3I:]17oL%^c2 +J,~> +JcFR+!SL9H!!/eegA_4M!:B[`#.ZSk2?3]pr;Zh]q#:??o)Jd:j8T+CpAb3RR/[3I:]17oL%^c2 +J,~> +JcFR+!SL9H!!/eegA_4M!:B[`#.ZSk2?3]pr;Zh]q#:??o)Jd:j8T+CpAb3RR/[3I:]17oL%^c2 +J,~> +JcFU,!3Q/!!G'm9rrU+=PPY:^p8rK;ci!hDPPG.Yp,2FA!0cIC!3Q/!"Kf3728kg\!VU[7!!-Wt +Q2c@~> +JcFU,!3Q/!!G'm9rrU+=PPY:^p8rK;ci!hDPPG.Yp,2FA!0cIC!3Q/!"Kf3728kg\!VU[7!!-Wt +Q2c@~> +JcFU,!3Q/!!G'm9rrU+=PPY:^p8rK;ci!hDPPG.Yp,2FA!0cIC!3Q/!"Kf3728kg\!VU[7!!-Wt +Q2c@~> +JcF[.!TR_g!!'.OrrPsrg%bRJj#-f9!+bg'#34CIXbCU6q#CCPj8T+trW!+4j8].Qj-0KCU&=rl +2<1#&J,~> +JcF[.!TR_g!!'.OrrPsrg%bRJj#-f9!+bg'#34CIXbCU6q#CCPj8T+trW!+4j8].Qj-0KCU&=rl +2<1#&J,~> +JcF[.!TR_g!!'.OrrPsrg%bRJj#-f9!+bg'#34CIXbCU6q#CCPj8T+trW!+4j8].Qj-0KCU&=rl +2<1#&J,~> +JcF^/!4i"-!G(6?rrULHFnu% +JcF^/!4i"-!G(6?rrULHFnu% +JcF^/!4i"-!G(6?rrULHFnu% +JcFd1!VU[6!!'.KrrR +JcFd1!VU[6!!'.KrrR +JcFd1!VU[6!!'.KrrR +JcFg2!SK@/!!,mUd/O48!&a0BrrMh(rVusVj2_0$XT4'2rrM.jr;Zi9RK%d~> +JcFg2!SK@/!!,mUd/O48!&a0BrrMh(rVusVj2_0$XT4'2rrM.jr;Zi9RK%d~> +JcFg2!SK@/!!,mUd/O48!&a0BrrMh(rVusVj2_0$XT4'2rrM.jr;Zi9RK%d~> +JcFj3!29;j!L*6&rrT;&FoD=?PPtO_2<2aW"60A=p4rYKp14+%!3M^iJ,~> +JcFj3!29;j!L*6&rrT;&FoD=?PPtO_2<2aW"60A=p4rYKp14+%!3M^iJ,~> +JcFj3!29;j!L*6&rrT;&FoD=?PPtO_2<2aW"60A=p4rYKp14+%!3M^iJ,~> +JcFp5!VU(&!!+t'bPq`V!3Q;$Xo/5"cc?%fp.k\7L&V2IAGlK.PFMT&~> +JcFp5!VU(&!!+t'bPq`V!3Q;$Xo/5"cc?%fp.k\7L&V2IAGlK.PFMT&~> +JcFp5!VU(&!!+t'bPq`V!3Q;$Xo/5"cc?%fp.k\7L&V2IAGlK.PFMT&~> +JcFs6!SK@/!!-Wtb5VV32#u=Jr;Zi9`r?*o!0`$7!0d?]!0`rQJ,~> +JcFs6!SK@/!!-Wtb5VV32#u=Jr;Zi9`r?*o!0`$7!0d?]!0`rQJ,~> +JcFs6!SK@/!!-Wtb5VV32#u=Jr;Zi9`r?*o!0`$7!0d?]!0`rQJ,~> +JcG!7!3Q/!!3O_6r;Zh]Sc=3~> +JcG!7!3Q/!!3O_6r;Zh]Sc=3~> +JcG!7!3Q/!!3O_6r;Zh]Sc=3~> +JcG'9!VV6G!!+t'dJj6@p@nReVu6SqFiOF`_uM[^JcGcM!0d?]!0a#SJ,~> +JcG'9!VV6G!!+t'dJj6@p@nReVu6SqFiOF`_uM[^JcGcM!0d?]!0a#SJ,~> +JcG'9!VV6G!!+t'dJj6@p@nReVu6SqFiOF`_uM[^JcGcM!0d?]!0a#SJ,~> +JcG*:!TR_h!!-WtdJj +JcG*:!TR_h!!-WtdJj +JcG*:!TR_h!!-WtdJj +JcG-;!SK@/!!&50rrCaN!!)E_rrB2"!!-6raSu@\!!'t%rrMi>Q2^iJr;Zi9T`9N~> +JcG-;!SK@/!!&50rrCaN!!)E_rrB2"!!-6raSu@\!!'t%rrMi>Q2^iJr;Zi9T`9N~> +JcG-;!SK@/!!&50rrCaN!!)E_rrB2"!!-6raSu@\!!'t%rrMi>Q2^iJr;Zi9T`9N~> +JcG0pqAG41G"2k0>`9I:(p1+0AQ2^iJr;Zi9U&TW~> +JcG0pqAG41G"2k0>`9I:(p1+0AQ2^iJr;Zi9U&TW~> +JcG0pqAG41G"2k0>`9I:(p1+0AQ2^iJr;Zi9U&TW~> +JcG3=!0d?]!B&o`rr@3@!!$R+rrMLErW!+qp2p@Gj37N*\GuWJl2LeXAGuQ/`0L?&PPkI]chdYB +\V7*aJ,~> +JcG3=!0d?]!B&o`rr@3@!!$R+rrMLErW!+qp2p@Gj37N*\GuWJl2LeXAGuQ/`0L?&PPkI]chdYB +\V7*aJ,~> +JcG3=!0d?]!B&o`rr@3@!!$R+rrMLErW!+qp2p@Gj37N*\GuWJl2LeXAGuQ/`0L?&PPkI]chdYB +\V7*aJ,~> +JcG9?!VV6G!!-X(ci4!IrVusVmJ?h_AGuQ/AH)T2P5mJncMn!1!&`HnrrMhIr;ZhkQ2^i,rVusV +j8Ju[j(&-IX8d\~> +JcG9?!VV6G!!-X(ci4!IrVusVmJ?h_AGuQ/AH)T2P5mJncMn!1!&`HnrrMhIr;ZhkQ2^i,rVusV +j8Ju[j(&-IX8d\~> +JcG9?!VV6G!!-X(ci4!IrVusVmJ?h_AGuQ/AH)T2P5mJncMn!1!&`HnrrMhIr;ZhkQ2^i,rVusV +j8Ju[j(&-IX8d\~> +JcG<@!VU(&!!/;Wci4!kr;ZiDqYpPtrVusVmJ[%eXT/@'dJj@:A,oEcjo5=Er;Zh]QN%!ZAGuQ3 +2=:GDXo/7#s*t~> +JcG<@!VU(&!!/;Wci4!kr;ZiDqYpPtrVusVmJ[%eXT/@'dJj@:A,oEcjo5=Er;Zh]QN%!ZAGuQ3 +2=:GDXo/7#s*t~> +JcG<@!VU(&!!/;Wci4!kr;ZiDqYpPtrVusVmJ[%eXT/@'dJj@:A,oEcjo5=Er;Zh]QN%!ZAGuQ3 +2=:GDXo/7#s*t~> +JcG?A!TQ'9!!'.HrrMLErVuqlqYpQKr;ZiNqu6fF2#qddeGfZ^2#qdmj8T+Cr;Zh]QN%!ZAGuQ1 +AD:Ym!!)Dfs*t~> +JcG?A!TQ'9!!'.HrrMLErVuqlqYpQKr;ZiNqu6fF2#qddeGfZ^2#qdmj8T+Cr;Zh]QN%!ZAGuQ1 +AD:Ym!!)Dfs*t~> +JcG?A!TQ'9!!'.HrrMLErVuqlqYpQKr;ZiNqu6fF2#qddeGfZ^2#qdmj8T+Cr;Zh]QN%!ZAGuQ1 +AD:Ym!!)Dfs*t~> +JcGBB!TQ'9!!'s_rrMh(rVuq/qYpTi:]:=oU&"]km:62S\b,n'`6\/?rrh_3!!'.ZrrA8]!!.fI +Qi@*H2>7(NfrY4(~> +JcGBB!TQ'9!!'s_rrMh(rVuq/qYpTi:]:=oU&"]km:62S\b,n'`6\/?rrh_3!!'.ZrrA8]!!.fI +Qi@*H2>7(NfrY4(~> +JcGBB!TQ'9!!'s_rrMh(rVuq/qYpTi:]:=oU&"]km:62S\b,n'`6\/?rrh_3!!'.ZrrA8]!!.fI +Qi@*H2>7(NfrY4(~> +JcGEC!Q6kp!!+t1c2Rd-rVusVpA4dhL&M&PAG6$+XT/?3g%PIF!!&_Xrrr+u2#q1IhZ!S>r;Zk/ +p6YdZj7`NRc`I.s~> +JcGEC!Q6kp!!+t1c2Rd-rVusVpA4dhL&M&PAG6$+XT/?3g%PIF!!&_Xrrr+u2#q1IhZ!S>r;Zk/ +p6YdZj7`NRc`I.s~> +JcGEC!Q6kp!!+t1c2Rd-rVusVpA4dhL&M&PAG6$+XT/?3g%PIF!!&_Xrrr+u2#q1IhZ!S>r;Zk/ +p6YdZj7`NRc`I.s~> +JcGHD!6"g9!B&o^rrC"9!!(^KrrCCE!!+tEp&>3_FT;Dag%kXJg&:sOXmH&kp8p1P26GX5!4i%. +!DhaDrrMhepAb2qXT*e~> +JcGHD!6"g9!B&o^rrC"9!!(^KrrCCE!!+tEp&>3_FT;Dag%kXJg&:sOXmH&kp8p1P26GX5!4i%. +!DhaDrrMhepAb2qXT*e~> +JcGHD!6"g9!B&o^rrC"9!!(^KrrCCE!!+tEp&>3_FT;Dag%kXJg&:sOXmH&kp8p1P26GX5!4i%. +!DhaDrrMhepAb2qXT*e~> +JcGKE!6"g9!G(TBrrD*X!!'S+rrMLErVur/o)Am>:B1B;chm_BXo8;#j6lpOmB&5G!0cg'rrC"9 +!!+t;S,WNB:\FbgU$DXXpANYE\c/]2`;SB:s*t~> +JcGKE!6"g9!G(TBrrD*X!!'S+rrMLErVur/o)Am>:B1B;chm_BXo8;#j6lpOmB&5G!0cg'rrC"9 +!!+t;S,WNB:\FbgU$DXXpANYE\c/]2`;SB:s*t~> +JcGKE!6"g9!G(TBrrD*X!!'S+rrMLErVur/o)Am>:B1B;chm_BXo8;#j6lpOmB&5G!0cg'rrC"9 +!!+t;S,WNB:\FbgU$DXXpANYE\c/]2`;SB:s*t~> +JcGNF!4i%.!G(oKrrMLErVuq^q>UG;rVuqPn,EU1A,lU*U#Z.P"(VB32=UVIp;D[a!!/;Nf)Gcs +2>mLT`1Hu0p4`,=!-Ri3"lmq2Klo9B!!Q/@PHEO*g&HR~> +JcGNF!4i%.!G(oKrrMLErVuq^q>UG;rVuqPn,EU1A,lU*U#Z.P"(VB32=UVIp;D[a!!/;Nf)Gcs +2>mLT`1Hu0p4`,=!-Ri3"lmq2Klo9B!!Q/@PHEO*g&HR~> +JcGNF!4i%.!G(oKrrMLErVuq^q>UG;rVuqPn,EU1A,lU*U#Z.P"(VB32=UVIp;D[a!!/;Nf)Gcs +2>mLT`1Hu0p4`,=!-Ri3"lmq2Klo9B!!Q/@PHEO*g&HR~> +JcGQG!0d?]!G(oJrrA8^!!-X(qYpQ+rVusVp?hk\fouC8!`,N2rVuqPoD\mP\V:"_!`,rle,KI/ +2>mLTc_(4FZ''s"#Y5'g"l[Y~> +JcGQG!0d?]!G(oJrrA8^!!-X(qYpQ+rVusVp?hk\fouC8!`,N2rVuqPoD\mP\V:"_!`,rle,KI/ +2>mLTc_(4FZ''s"#Y5'g"l[Y~> +JcGQG!0d?]!G(oJrrA8^!!-X(qYpQ+rVusVp?hk\fouC8!`,N2rVuqPoD\mP\V:"_!`,rle,KI/ +2>mLTc_(4FZ''s"#Y5'g"l[Y~> +JcGTH!0d?]!0bP)"-W^BmJ?h`m5=kC!70s1!qsQdqZ$YN\c1:^rs%lDg!?doFo;:A:QsJXrrqe# +!!$R'Sc8`D:\=_`rrV5kFo;:C:PGq(j88i[mDQ-/\` +JcGTH!0d?]!0bP)"-W^BmJ?h`m5=kC!70s1!qsQdqZ$YN\c1:^rs%lDg!?doFo;:A:QsJXrrqe# +!!$R'Sc8`D:\=_`rrV5kFo;:C:PGq(j88i[mDQ-/\` +JcGTH!0d?]!0bP)"-W^BmJ?h`m5=kC!70s1!qsQdqZ$YN\c1:^rs%lDg!?doFo;:A:QsJXrrqe# +!!$R'Sc8`D:\=_`rrV5kFo;:C:PGq(j88i[mDQ-/\` +JcGWI!0d?]!0bJ'!P-nZrr@cP!!%`8rrVo??17gr:PH@>bPq\g%G@ImDP2arW!"1\b>+aJ,~> +JcGWI!0d?]!0bJ'!P-nZrr@cP!!%`8rrVo??17gr:PH@>bPq\g%G@ImDP2arW!"1\b>+aJ,~> +JcGWI!0d?]!0bJ'!P-nZrr@cP!!%`8rrVo??17gr:PH@>bPq\g%G@ImDP2arW!"1\b>+aJ,~> +JcGZJ!0d?]!0b+r!71WE!B'T3rsL[a!+"9gXf\:>FbTgs!RKH;rrDGRrrMhWp](HWs8U#[rW!"R +\aB(i$cE#FA@^CH\TIlPXn)JnmC?d,!!.f,k5Tr~> +JcGZJ!0d?]!0b+r!71WE!B'T3rsL[a!+"9gXf\:>FbTgs!RKH;rrDGRrrMhWp](HWs8U#[rW!"R +\aB(i$cE#FA@^CH\TIlPXn)JnmC?d,!!.f,k5Tr~> +JcGZJ!0d?]!0b+r!71WE!B'T3rsL[a!+"9gXf\:>FbTgs!RKH;rrDGRrrMhWp](HWs8U#[rW!"R +\aB(i$cE#FA@^CH\TIlPXn)JnmC?d,!!.f,k5Tr~> +JcG]K!0d?]!0b+r!VSDM!!(@+rrD*Y!!&^Ds3(ECfld,k#L^.Y!!#g*mIU>[_uM[@qu6cE2#scJ +rs%km:B1Aj`9@5O~> +JcG]K!0d?]!0b+r!VSDM!!(@+rrD*Y!!&^Ds3(ECfld,k#L^.Y!!#g*mIU>[_uM[@qu6cE2#scJ +rs%km:B1Aj`9@5O~> +JcG]K!0d?]!0b+r!VSDM!!(@+rrD*Y!!&^Ds3(ECfld,k#L^.Y!!#g*mIU>[_uM[@qu6cE2#scJ +rs%km:B1Aj`9@5O~> +JcG`L!0d?]!0b(q!29Al!-R?%!29Al!82r'ao;C[2>dFW+TMM+g%#(Em/T$(q>UQW2#u\)rrp_k +!!#g5lMlA~> +JcG`L!0d?]!0b(q!29Al!-R?%!29Al!82r'ao;C[2>dFW+TMM+g%#(Em/T$(q>UQW2#u\)rrp_k +!!#g5lMlA~> +JcG`L!0d?]!0b(q!29Al!-R?%!29Al!82r'ao;C[2>dFW+TMM+g%#(Em/T$(q>UQW2#u\)rrp_k +!!#g5lMlA~> +JcGcM!6"g9!0b(q!9=%Y!B'9)rrZd3!&]?-a8Z26Xo&/"NpZ<8!g"lkdH!+adL +s*t~> +JcGcM!6"g9!0b(q!9=%Y!B'9)rrZd3!&]?-a8Z26Xo&/"NpZ<8!g"lkdH!+adL +s*t~> +JcGcM!6"g9!0b(q!9=%Y!B'9)rrZd3!&]?-a8Z26Xo&/"NpZ<8!g"lkdH!+adL +s*t~> +Jc>cN`;KZ9PIphpAGuQ/XlKE]mJ[(cPC`bRrrMM(r;ZhOmf*:f:\F_h:B:+Srrq(u!!&_dmf.e~> +Jc>cN`;KZ9PIphpAGuQ/XlKE]mJ[(cPC`bRrrMM(r;ZhOmf*:f:\F_h:B:+Srrq(u!!&_dmf.e~> +Jc>cN`;KZ9PIphpAGuQ/XlKE]mJ[(cPC`bRrrMM(r;ZhOmf*:f:\F_h:B:+Srrq(u!!&_dmf.e~> +Jc>_gr;Zh]]DhlLrVupoir9"hrVur:JcEdj#gY@.>p]OO2=9o5!ndR;p&>)e!86W:"OBjD:YG4: +J,~> +Jc>_gr;Zh]]DhlLrVupoir9"hrVur:JcEdj#gY@.>p]OO2=9o5!ndR;p&>)e!86W:"OBjD:YG4: +J,~> +Jc>_gr;Zh]]DhlLrVupoir9"hrVur:JcEdj#gY@.>p]OO2=9o5!ndR;p&>)e!86W:"OBjD:YG4: +J,~> +K)Yhsr;Zh]]Dhp*2?!RUg#E#3AGuQ/p4<7brs4eg!3Q:3!+5-^rrUjRXnD\qXT7& +K)Yhsr;Zh]]Dhp*2?!RUg#E#3AGuQ/p4<7brs4eg!3Q:3!+5-^rrUjRXnD\qXT7& +K)Yhsr;Zh]]Dhp*2?!RUg#E#3AGuQ/p4<7brs4eg!3Q:3!+5-^rrUjRXnD\qXT7& +KDtu42?!RVAG3Y8!29Al!/9G4!:Bac!/7rrUjRXnD\qXT7&:rrgY* +!0d-Is*t~> +KDtu42?!RVAG3Y8!29Al!/9G4!:Bac!/7rrUjRXnD\qXT7&:rrgY* +!0d-Is*t~> +KDtu42?!RVAG3Y8!29Al!/9G4!:Bac!/7rrUjRXnD\qXT7&:rrgY* +!0d-Is*t~> +K`;)52?!RVAG3Y8!:Bac!B'9(rrh_C!!'s8rr]A'!3N4""SQ@+AG56e!pou1p&>)I!9<2@"QO"m +AG5WpJ,~> +K`;)52?!RVAG3Y8!:Bac!B'9(rrh_C!!'s8rr]A'!3N4""SQ@+AG56e!pou1p&>)I!9<2@"QO"m +AG5WpJ,~> +K`;)52?!RVAG3Y8!:Bac!B'9(rrh_C!!'s8rr]A'!3N4""SQ@+AG56e!pou1p&>)I!9<2@"QO"m +AG5WpJ,~> +L&V2I:]:=pAG44H!9 +L&V2I:]:=pAG44H!9 +L&V2I:]:=pAG44H!9 +LAq;JAGuQ02<2m[!lP)&oD\gDrVuspp4NAGj%oRQ!MT4irr_t*!0cLD!j)HVp\t;K!3P8\"867* +FnG]a~> +LAq;JAGuQ02<2m[!lP)&oD\gDrVuspp4NAGj%oRQ!MT4irr_t*!0cLD!j)HVp\t;K!3P8\"867* +FnG]a~> +LAq;JAGuQ02<2m[!lP)&oD\gDrVuspp4NAGj%oRQ!MT4irr_t*!0cLD!j)HVp\t;K!3P8\"867* +FnG]a~> +LAq7;rVusVj3.H&g&:sOPP"kTFoD@@`.@php7_Ba!Dh%FrrR +LAq7;rVusVj3.H&g&:sOPP"kTFoD@@`.@php7_Ba!Dh%FrrR +LAq7;rVusVj3.H&g&:sOPP"kTFoD@@`.@php7_Ba!Dh%FrrR +L]7@Jr;ZiDbPqV'2?!RUAG,s&ci*nEA:ad[rrLe`qu?b?mBZ`oXT2o*jSo86FoD@AFlWH#!UYU? +!!-W`iVs#R:B8`7s*t~> +L]7@Jr;ZiDbPqV'2?!RUAG,s&ci*nEA:ad[rrLe`qu?b?mBZ`oXT2o*jSo86FoD@AFlWH#!UYU? +!!-W`iVs#R:B8`7s*t~> +L]7@Jr;ZiDbPqV'2?!RUAG,s&ci*nEA:ad[rrLe`qu?b?mBZ`oXT2o*jSo86FoD@AFlWH#!UYU? +!!-W`iVs#R:B8`7s*t~> +M#RInr;Zi9bPqV'2?!RVAG5]r!)NRo!82r'r;Qf"2>dFTXnK1&"60A=mH+?_fl[8pFhqSg!)I`[ +A,lU?_0#_XFkPdS"60A=p@nT;~> +M#RInr;Zi9bPqV'2?!RVAG5]r!)NRo!82r'r;Qf"2>dFTXnK1&"60A=mH+?_fl[8pFhqSg!)I`[ +A,lU?_0#_XFkPdS"60A=p@nT;~> +M#RInr;Zi9bPqV'2?!RVAG5]r!)NRo!82r'r;Qf"2>dFTXnK1&"60A=mH+?_fl[8pFhqSg!)I`[ +A,lU?_0#_XFkPdS"60A=p@nT;~> +M>mS9r;Zh]bPqV'2?!RVAG5]r!6"j:!-NkmqYpT`Fo24?28ls'!d+L]k5PVPP5kSng&D!P`.e-i +!Hl?[rrq(u!!%0%j8T1_!0d0WJ,~> +M>mS9r;Zh]bPqV'2?!RVAG5]r!6"j:!-NkmqYpT`Fo24?28ls'!d+L]k5PVPP5kSng&D!P`.e-i +!Hl?[rrq(u!!%0%j8T1_!0d0WJ,~> +M>mS9r;Zh]bPqV'2?!RVAG5]r!6"j:!-NkmqYpT`Fo24?28ls'!d+L]k5PVPP5kSng&D!P`.e-i +!Hl?[rrq(u!!%0%j8T1_!0d0WJ,~> +MZ3_E2?!RUL!0Jsj#-f9!G(orrr>jo!!(]'s7lTpcVOH=!DhadrrUjRFm&c.m?7MM:W3)/!<@9< +rrp_E!!&5Mjo5GV:B9eWs*t~> +MZ3_E2?!RUL!0Jsj#-f9!G(orrr>jo!!(]'s7lTpcVOH=!DhadrrUjRFm&c.m?7MM:W3)/!<@9< +rrp_E!!&5Mjo5GV:B9eWs*t~> +MZ3_E2?!RUL!0Jsj#-f9!G(orrr>jo!!(]'s7lTpcVOH=!DhadrrUjRFm&c.m?7MM:W3)/!<@9< +rrp_E!!&5Mjo5GV:B9eWs*t~> +MuNhOAGuQ0AG47I!TQ':!!+t;o`"p0rVuq@JcGHD!qr`Rr;ZiN\c2_R!86W:"no%u!)LQ.rrVlo +Fnbn>`(p@5PO7N4!lP)&q#>j~> +MuNhOAGuQ0AG47I!TQ':!!+t;o`"p0rVuq@JcGHD!qr`Rr;ZiN\c2_R!86W:"no%u!)LQ.rrVlo +Fnbn>`(p@5PO7N4!lP)&q#>j~> +MuNhOAGuQ0AG47I!TQ':!!+t;o`"p0rVuq@JcGHD!qr`Rr;ZiN\c2_R!86W:"no%u!)LQ.rrVlo +Fnbn>`(p@5PO7N4!lP)&q#>j~> +MuNd@rVusVmEGS2j#-f9!B&p/rr>jo!!)&1s7H +MuNd@rVusVmEGS2j#-f9!B&p/rr>jo!!)&1s7H +MuNd@rVusVmEGS2j#-f9!B&p/rr>jo!!)&1s7H +N;imrr;ZiNbl7_(2?!RV2<4<.!6"j:!0`!6nc&[DFlU%4!j)I@li..!2#oM9p@\Fef`8/Hrs&2! +2#oM9p?DSYT`E%,s*t~> +N;imrr;ZiNbl7_(2?!RV2<4<.!6"j:!0`!6nc&[DFlU%4!j)I@li..!2#oM9p@\Fef`8/Hrs&2! +2#oM9p?DSYT`E%,s*t~> +N;imrr;ZiNbl7_(2?!RV2<4<.!6"j:!0`!6nc&[DFlU%4!j)I@li..!2#oM9p@\Fef`8/Hrs&2! +2#oM9p?DSYT`E%,s*t~> +NW0"=r;Zi.bl7_(2?!RV2<49-!)NRo!98Y1VZ-^?!;>g["iO1:!0d-JrrT_2\aob(p8p1P27`#P +!oj9Eq>Ys~> +NW0"=r;Zi.bl7_(2?!RV2<49-!)NRo!98Y1VZ-^?!;>g["iO1:!0d-JrrT_2\aob(p8p1P27`#P +!oj9Eq>Ys~> +NW0"=r;Zi.bl7_(2?!RV2<49-!)NRo!98Y1VZ-^?!;>g["iO1:!0d-JrrT_2\aob(p8p1P27`#P +!oj9Eq>Ys~> +NrK.R:]:=oPKa%-j#-f9!B&p.rrC":!!%.ms/#_r!+bm)!qt=#qYp`F:B1BYmIC2XXT7&DrrqeR +!!#g5li-tcAGQ7U~> +NrK.R:]:=oPKa%-j#-f9!B&p.rrC":!!%.ms/#_r!+bm)!qt=#qYp`F:B1BYmIC2XXT7&DrrqeR +!!#g5li-tcAGQ7U~> +NrK.R:]:=oPKa%-j#-f9!B&p.rrC":!!%.ms/#_r!+bm)!qt=#qYp`F:B1BYmIC2XXT7&DrrqeR +!!#g5li-tcAGQ7U~> +NrK*5rVut0p<s8Ubp!!%0/nG`XOJcN@T +n,ERYP5kSY`;BQ:fu24sp\t8:!;ZYF~> +NrK*5rVut0p<s8Ubp!!%0/nG`XOJcN@T +n,ERYP5kSY`;BQ:fu24sp\t8:!;ZYF~> +NrK*5rVut0p<s8Ubp!!%0/nG`XOJcN@T +n,ERYP5kSY`;BQ:fu24sp\t8:!;ZYF~> +O8f3jrVusVj3.H*cN!rUp@8._g&:sOFb0RhrrUjRXo/20p2p?8Ffh?5!!&p>!!%/pnG`O8:](1n +U%[sT$12j8!-Qupp8p.L!!,g4q>UM=!;?9hJ,~> +O8f3jrVusVj3.H*cN!rUp@8._g&:sOFb0RhrrUjRXo/20p2p?8Ffh?5!!&p>!!%/pnG`O8:](1n +U%[sT$12j8!-Qupp8p.L!!,g4q>UM=!;?9hJ,~> +O8f3jrVusVj3.H*cN!rUp@8._g&:sOFb0RhrrUjRXo/20p2p?8Ffh?5!!&p>!!%/pnG`O8:](1n +U%[sT$12j8!-Qupp8p.L!!,g4q>UM=!;?9hJ,~> +OT,=@r;Zi9ao;F\AG5Nm!/:CP!8690!7-5r"5,PqmEGS3f`8/PrrZd3AF9?q"h?Jj!+adOrsFqi +!/7PnTeugGj6lpWfl[8pEDlicDMsE`!!&5ZrrSkog%t`!~> +OT,=@r;Zi9ao;F\AG5Nm!/:CP!8690!7-5r"5,PqmEGS3f`8/PrrZd3AF9?q"h?Jj!+adOrsFqi +!/7PnTeugGj6lpWfl[8pEDlicDMsE`!!&5ZrrSkog%t`!~> +OT,=@r;Zi9ao;F\AG5Nm!/:CP!8690!7-5r"5,PqmEGS3f`8/PrrZd3AF9?q"h?Jj!+adOrsFqi +!/7PnTeugGj6lpWfl[8pEDlicDMsE`!!&5ZrrSkog%t`!~> +OoGIU:]:=oPI:DjmJ[(c:Z)0TcN$bCp4WGGPPtO_Fi;T*!ndRUrVlu%!+bg#rr_:3.IHU("0DQ! +j8Ju\p6,Jep?hk`fl[8pA@VTQ"0+uoPPb@]K`LN:s*t~> +OoGIU:]:=oPI:DjmJ[(c:Z)0TcN$bCp4WGGPPtO_Fi;T*!ndRUrVlu%!+bg#rr_:3.IHU("0DQ! +j8Ju\p6,Jep?hk`fl[8pA@VTQ"0+uoPPb@]K`LN:s*t~> +OoGIU:]:=oPI:DjmJ[(c:Z)0TcN$bCp4WGGPPtO_Fi;T*!ndRUrVlu%!+bg#rr_:3.IHU("0DQ! +j8Ju\p6,Jep?hk`fl[8pA@VTQ"0+uoPPb@]K`LN:s*t~> +OoGE8rVut0p9jo#PPtO^`8CRpL&M&Pj+[L5mJ?kb250'XrrUjRU&G#k2$!%>rrT;&POSSSirCt( +qYpV\!28cZ!j)H&qS*-B3rmt3rrI6Bq>Ys~> +OoGE8rVut0p9jo#PPtO^`8CRpL&M&Pj+[L5mJ?kb250'XrrUjRU&G#k2$!%>rrT;&POSSSirCt( +qYpV\!28cZ!j)H&qS*-B3rmt3rrI6Bq>Ys~> +OoGE8rVut0p9jo#PPtO^`8CRpL&M&Pj+[L5mJ?kb250'XrrUjRU&G#k2$!%>rrT;&POSSSirCt( +qYpV\!28cZ!j)H&qS*-B3rmt3rrI6Bq>Ys~> +P5bO.rVusVj0emip,)gM2;eE6mJ[(cA;'sap8p4K!!6]AmF;.;p&K77rrULHPP>+W2=UVIP5rPs +rr_sP!;>g[!])77q7d!+!-S5>!DbTKs*t~> +P5bO.rVusVj0emip,)gM2;eE6mJ[(cA;'sap8p4K!!6]AmF;.;p&K77rrULHPP>+W2=UVIP5rPs +rr_sP!;>g[!])77q7d!+!-S5>!DbTKs*t~> +P5bO.rVusVj0emip,)gM2;eE6mJ[(cA;'sap8p4K!!6]AmF;.;p&K77rrULHPP>+W2=UVIP5rPs +rr_sP!;>g[!])77q7d!+!-S5>!DbTKs*t~> +PQ([N2?!RU\[;A:\c)R/Xl'-YU&G#l`.@ph`-(kU!enSdf)GbH2?*UWXT7&KrrSAaj73-M!)N@h +!hfV4mf*@7!,hPG!_WOerr3&e!-S,;J,~> +PQ([N2?!RU\[;A:\c)R/Xl'-YU&G#l`.@ph`-(kU!enSdf)GbH2?*UWXT7&KrrSAaj73-M!)N@h +!hfV4mf*@7!,hPG!_WOerr3&e!-S,;J,~> +PQ([N2?!RU\[;A:\c)R/Xl'-YU&G#l`.@ph`-(kU!enSdf)GbH2?*UWXT7&KrrSAaj73-M!)N@h +!hfV4mf*@7!,hPG!_WOerr3&e!-S,;J,~> +PQ(W*rVuqPZi:#$rVurchu8p\t;s!86rC!ndR; +p\tYs~> +PQ(W*rVuqPZi:#$rVurchu8p\t;s!86rC!ndR; +p\tYs~> +PQ(W*rVuqPZi:#$rVurchu8p\t;s!86rC!ndR; +p\tYs~> +PlC`orVusVp9ai"g&:sOPMcB?`;T`:Tn37@rrLH"q>^N6f`)3&!0dH_FTD.0rrT;&g%,.Ef`8/K +rrVloFmf82XT5-j^B/ueg&D!QFTCIts*t~> +PlC`orVusVp9ai"g&:sOPMcB?`;T`:Tn37@rrLH"q>^N6f`)3&!0dH_FTD.0rrT;&g%,.Ef`8/K +rrVloFmf82XT5-j^B/ueg&D!QFTCIts*t~> +PlC`orVusVp9ai"g&:sOPMcB?`;T`:Tn37@rrLH"q>^N6f`)3&!0dH_FTD.0rrT;&g%,.Ef`8/K +rrVloFmf82XT5-j^B/ueg&D!QFTCIts*t~> +Q2^mP2?!RUca3WOL&M&Pg#)f0:]:=om=G<5rrVo4AGlK.p=K?E2$EXQXT7&KrrSAag%,.Ef`8/K +rrVloFmf82XT5-j^B]>jg&M*>!+bm)J,~> +Q2^mP2?!RUca3WOL&M&Pg#)f0:]:=om=G<5rrVo4AGlK.p=K?E2$EXQXT7&KrrSAag%,.Ef`8/K +rrVloFmf82XT5-j^B]>jg&M*>!+bm)J,~> +Q2^mP2?!RUca3WOL&M&Pg#)f0:]:=om=G<5rrVo4AGlK.p=K?E2$EXQXT7&KrrSAag%,.Ef`8/K +rrVloFmf82XT5-j^B]>jg&M*>!+bm)J,~> +Q2^i,rVuqlZi:%!rVupohu<]0rVuqPJcGEC"7 +Q2^i,rVuqlZi:%!rVupohu<]0rVuqPJcGEC"7 +Q2^i,rVuqlZi:%!rVupohu<]0rVuqPJcGEC"7 +QN$rqrVusppUN7!/9qBs#'QN!hfV? +mf*@A!,hPG#!2hbs4IBJp]#a~> +QN$rqrVusppUN7!/9qBs#'QN!hfV? +mf*@A!,hPG#!2hbs4IBJp]#a~> +QN$rqrVusppUN7!/9qBs#'QN!hfV? +mf*@A!,hPG#!2hbs4IBJp]#a~> +Qi@*R2?!RUg!]m'p1+/6p?)AT:]:=op>GrNmJ[(c:P&Q(rr`=4PI]B3rs#S*FoS-8PPY:]p,)j' +nG`QR!4hq*"77s'p?hk]9`VHo^B]r&PQ1>e!71E>J,~> +Qi@*R2?!RUg!]m'p1+/6p?)AT:]:=op>GrNmJ[(c:P&Q(rr`=4PI]B3rs#S*FoS-8PPY:]p,)j' +nG`QR!4hq*"77s'p?hk]9`VHo^B]r&PQ1>e!71E>J,~> +Qi@*R2?!RUg!]m'p1+/6p?)AT:]:=op>GrNmJ[(c:P&Q(rr`=4PI]B3rs#S*FoS-8PPY:]p,)j' +nG`QR!4hq*"77s'p?hk]9`VHo^B]r&PQ1>e!71E>J,~> +Qi@&.rVuqldf0@.2?!RUFm&c)j8K#YPMcB?PPtO^`.@sIrrCaL!!H)OXj?%rrs*'7\b8f!PP4tT +"63/WU$r!`m56c]qu6clA,raurr^1>9=Xl6#HB0Pj8Y;CL%bOs~> +Qi@&.rVuqldf0@.2?!RUFm&c)j8K#YPMcB?PPtO^`.@sIrrCaL!!H)OXj?%rrs*'7\b8f!PP4tT +"63/WU$r!`m56c]qu6clA,raurr^1>9=Xl6#HB0Pj8Y;CL%bOs~> +Qi@&.rVuqldf0@.2?!RUFm&c)j8K#YPMcB?PPtO^`.@sIrrCaL!!H)OXj?%rrs*'7\b8f!PP4tT +"63/WU$r!`m56c]qu6clA,raurr^1>9=Xl6#HB0Pj8Y;CL%bOs~> +R/[0)rVusVp='$A`;BT8\``tmPPtO^cf"g'mJ[(c:P&Q(rrBV&!!H)?TrmAJrsn'H!70\$!&^Ig +\V1"`PO8AP_uM[5rVlueA,p0*rr[rT9<.s*#b*4BXoH<>:\OM^J,~> +R/[0)rVusVp='$A`;BT8\``tmPPtO^cf"g'mJ[(c:P&Q(rrBV&!!H)?TrmAJrsn'H!70\$!&^Ig +\V1"`PO8AP_uM[5rVlueA,p0*rr[rT9<.s*#b*4BXoH<>:\OM^J,~> +R/[0)rVusVp='$A`;BT8\``tmPPtO^cf"g'mJ[(c:P&Q(rrBV&!!H)?TrmAJrsn'H!70\$!&^Ig +\V1"`PO8AP_uM[5rVlueA,p0*rr[rT9<.s*#b*4BXoH<>:\OM^J,~> +RK!<]2?!RUcdVmoPPkI^2:(Fb"#U&Y:Z)0PXo8;#XdT1hrlP0AgQQ1>!!'.nrrp^K2<4Coqu?an +^&6OaXmP]Z$H)oE:SFn5!!$R'lMhCgK`D*GJp9og!29G2!&`g0s*t~> +RK!<]2?!RUcdVmoPPkI^2:(Fb"#U&Y:Z)0PXo8;#XdT1hr5ns?gQQ1>!!'.nrrp^K2<4Coqu?an +^&6OaXmP]Z$H)oE:SFn5!!$R'lMhCgK`D*GJp9og!29G2!&`g0s*t~> +RK!<]2?!RUcdVmoPPkI^2:(Fb"#U&Y:Z)0PXo8;#Xd]7jrqab:!o&oLo)Jcmo`#*@!&`g1PPbC] +:VH\Z!Nkb[rsH[E!)K;jFT;DPp?MYgp4WJH97hC]!!&_m_uM[Tp&BO~> +RK!8NrVuqPeGfRCAGlK/AE2hP!71WE!28?N"njeR!&aJ$s4mVVft!;hp]( +RK!8NrVuqPeGfRCAGlK/AE2hP!71WE!28?N"njeR!&aJ$s4mVVft!;hp]( +RK!8NrVuqPeGfRCAGlK/AE2hP!71WE!28?N"njeR!&aJ$s4mVVft!;hp]( +Rf +Rf +Rf +Rf<@urVur/ec,W[qu?`!jSoAV2#mVehZ!\r:B:*>s3L]Fj73-LXmlAk`5qr]p6,J6cgq*d~> +Rf<@urVur/ec,W[qu?`!jSoAV2#mVehZ!\r:B:*>s3L]Fj73-LXmlAk`5qr]p6,J6cgq*d~> +Rf<@urVur/ec,W[qu?`!jSoAV2#mVehZ!\r:B:*>s3L]Fj73-LXmlAk`5qr]p6,J6cgq*d~> +S,WK!rVuq/f)GdEL&CuP2:(=_!6"j:!4gnb!98Y1gA_0Ojo5P +S,WK!rVuq/f)GdEL&CuP2:(=_!6"j:!4gnb!98Y1^&J;iXck"1:SI]g!6"ih!;=P7"QO"m:ZM!F +J,~> +S,WK!rVuq/f)GdEL&CuP2:(=_!6"j:!4gnb!98Y1^&J;iXck"1:SI]g!6"ih!;=P7"QO"m:ZM!F +J,~> +SGrW`2?!RUg"66)j%oUR!G(TWrrA8^!!)D;s0Ve,rqtgV"RT_"27^O&"K_Y(L%b$9J,~> +SGrW`2?!RUg"66)j%oUR!G(TWrrA8^!!)D;s0Ve+ro3q\m:62S\\S4JXT/?Tp@/*4~> +SGrW`2?!RUg"66)j%oUR!G(TWrrA8^!!)D;s-3Ndm:62S\\S4JXT/?Tp@/*4~> +SGrS_rVuq^fDbj +SGrS_rVuq^fDbj +SGrS_rVuq^fDbj +Sc8]WrVusVmFM:?K`D*1`8LXqci*nE\UjdBrrqG*!!&5MaSuFsFT;DqmHsq(~> +Sc8]WrVusVmFM:?K`D*1`8LXqci*nE\UjdBrrqG*!!&5MaSuFsFT;DqmHsq(~> +Sc8]WrVusVmFM:?K`D*1`8LXqci*nE\UjdBrrqG*!!&5MaSuFsFT;DqmHsq(~> +Sc8\4rVur#ec,aF:LrMCrrA8^!!)&1s,R*_`(p@5PM+1["ke"u!+adKs*t~> +Sc8\4rVur#ec,aF:LrMCrrA8^!!)&1s,R*_`(p@5PM+1["ke"u!+adKs*t~> +Sc8\4rVur#ec,aF:LrMCrrA8^!!)&1s,R*_`(p@5PM+1["ke"u!+adKs*t~> +T)SfDrVupoe,KI9p>5fO2#mVPJcCZ.#/j:;!+a%Adf0OF\PE2*:W2MtJ,~> +T)SfDrVupoe,KI9p>5fO2#mVPJcCZ.#/j:;!+a%Adf0OF\PE2*:W2MtJ,~> +T)SfDrVupoe,KI9p>5fO2#mVPJcCZ.#/j:;!+a%Adf0OF\PE2*:W2MtJ,~> +T)Se$rVur:YQ"U_rVuqlJcCT,#/k$P!&]tdfDbpG`.e0j!Hm)Ys*t~> +T)Se$rVur:YQ"U_rVuqlJcCT,#/k$P!&]tdfDbpG`.e0j!Hm)Ys*t~> +T)Se$rVur:YQ"U_rVuqlJcCT,#/k$P!&]tdfDbpG`.e0j!Hm)Ys*t~> +TDno0rVuq@Y5\L(rVurOV#LGoJcFj3#ih++!!"m1`9lF]!q!OPrW!!qU$^tAJ,~> +TDno0rVuq@Y5\L(rVurOV#LGnJcFj3#ih++!!"m1`9lF]!q!OPrW!!qU$^tAJ,~> +TDno0rVuq@Y5\L(rVurOV>gSqr.4n0rs7YK2#mV6KuEB8rrVSuL&M&R:SI1;s*t~> +VuHg@L!T\s!)NRo!84OT"(VB321bd[rrUN12?!RX:Qr?Bk5PP:\V3iY!!5rij5U)h~> +VuHg@L!T\s!)NRo!84OT"(VB321bd[rrUN12?!RX:Qr?Bk5PP:\V3iY!!5rij5U)h~> +VuHg@L!T\s!)NRo!84OT"(VB321bd[rrUN12?!RX:Qr?Bk5PP:\V3iY!!5rij5U)h~> +VuI!E!!#g*pA`)1!!%/ErrDcl!!%_(s+11Ps5U5(qu?q3Ffhe!g$SM5#34CiXeBl5r;ZpWKt67$ +s*t~> +VuI!E!!#g*pA`)1!!%/ErrDcl!!%_(s+11Ps5U5(qu?q3Ffhe!g$SM5#34CiXeBl5r;ZpWKt67$ +s*t~> +VuI!E!!#g*pA`)1!!%/ErrDcl!!%_(s+11Ps5U5(qu?q3Ffhe!g$SM5#34CiXeBl5r;ZpWKt67$ +s*t~> +VuHb!qu?bX0E(qOmB6Hh`;T`:`.@r>s8;m!ft!;hkl:iDFeQb6g])d~> +VuHb!qu?bX0E(qOmB6Hh`;T`:`.@r>s8;m!ft!;hkl:iDFeQb6g])d~> +VuHb!qu?bX0E(qOmB6Hh`;T`:`.@r>s8;m!ft!;hkl:iDFeQb6g])d~> +VuHb!p](;Xi;WiOmEkk5PPtO^m=G;*rrSm)p>Z)Up=[coXbHIk"d?'jce8$Cs*t~> +VuHb!p](;Xi;WiOmEkk5PPtO^m=G;*rrSm)p>Z)Up=[coXbHIk"d?'jce8$Cs*t~> +VuHb!p](;Xi;WiOmEkk5PPtO^m=G;*rrSm)p>Z)Up=[coXbHIk"d?'jce8$Cs*t~> +VuHb!p](@MXmP0K"5-I-p +VuHb!p](@MXmP0K"5-I-p +VuHb!p](@MXmP0K"5-I-p +VuHb8o`,#Hg#rA9p65IU!27j@!:Bac!28HQ!md)(JcE@^"4$s)j.H@%~> +VuHb8o`,#Hg#rA9p65IU!27j@!:Bac!28HQ!md)(JcE@^"4$s)j.H@%~> +VuHb8o`,#Hg#rA9p65IU!27j@!:Bac!28HQ!md)(JcE@^"4$s)j.H@%~> +VuHbMo)Jcml2Ldp2>dFSmF2(8`;T`:cf>$-:B38SJcEF`"626=`1I!Z~> +VuHbMo)Jcml2Ldp2>dFSmF2(8`;T`:cf>$-:B38SJcEF`"626=`1I!Z~> +VuHbMo)Jcml2Ldp2>dFSmF2(8`;T`:cf>$-:B38SJcEF`"626=`1I!Z~> +VuHbMoDelTlMgnFFo24?FlUpM!0dB^!;>LR!3Q5#!-Nkm^Ae;q2#tRcs*t~> +VuHbMoDelTlMgnFFo24?FlUpM!0dB^!;>LR!3Q5#!-Nkm^Ae;q2#tRcs*t~> +VuHbMoDelTlMgnFFo24?FlUpM!0dB^!;>LR!3Q5#!-Nkm^Ae;q2#tRcs*t~> +VuHbMo`,!1li."ZU&4lk27_*6"&AmsAE +VuHbMo`,!1li."ZU&4lk27_*6"&AmsAE +VuHbMo`,!1li."ZU&4lk27_*6"&AmsAE +VuHbjpAb4Ocg1T3`&7Gm!JU6orrDHc!!&5DrrA8^!!&^Ds1eR9p1+/eS,\!~> +VuHbjpAb4Ocg1T3`&7Gm!JU6orrDHc!!&5DrrA8^!!&^Ds1eR9p1+/eS,\!~> +VuHbjpAb4Ocg1T3`&7Gm!JU6orrDHc!!&5DrrA8^!!&^Ds1eR9p1+/eS,\!~> +VZ6Dk!B&p(rrLe`qu?ang!9Ttci*nE`9%"!g&:sP2>2V$_#FN1A,qg^s*t~> +VZ6Dk!B&p(rrLe`qu?ang!9Ttci*nE`9%"!g&:sP2>2V$_#FN1A,qg^s*t~> +VZ6Dk!B&p(rrLe`qu?ang!9Ttci*nE`9%"!g&:sP2>2V$_#FN1A,qg^s*t~> +VZ6Gl!G(okrrMM@qu?aTXj$eFU&G#lmH+?JAGuQ/\Ujdrrr_t*!0`iNJ,~> +VZ6Gl!G(okrrMM@qu?aTXj$eFU&G#lmH+?JAGuQ/\Ujdrrr_t*!0`iNJ,~> +VZ6Gl!G(okrrMM@qu?aTXj$eFU&G#lmH+?JAGuQ/\Ujdrrr_t*!0`iNJ,~> +VZ6Jm!Hn,&rr?U-!!/;NbPqZe!!"n +VZ6Jm!Hn,&rr?U-!!/;NbPqZe!!"n +VZ6Jm!Hn,&rr?U-!!/;NbPqZe!!"n +_>a]!fu1"pU%rg7PHCstg"H6%!+c!-!0c^J!87>O!G'm*s8DuuFlr])m5=kC!82r'_>aZ3A,p06 +R/_[~> +_>a]!fu1"pU%rg7PHCstg"H6%!+c!-!0c^J!87>O!G'm*s8DuuFlr])m5=kC!82r'_>aZ3A,p06 +R/_[~> +_>a]!fu1"pU%rg7PHCstg"H6%!+c!-!0c^J!87>O!G'm*s8DuuFlr])m5=kC!82r'_>aZ3A,p06 +R/_[~> +a8Z;&`3"/XlMq,HFeQA!s$Zec!4h=n!d.;WaSu8#rVur#k5PF8rVuq^JcERd"SQ@+AG2AiJ,~> +a8Z;&`3"/XlMq,HFeQA!s$Zec!4h=n!d.;WaSu8#rVur#k5PF8rVuq^JcERd"SQ@+AG2AiJ,~> +a8Z;&`3"/XlMq,HFeQA!s$Zec!4h=n!d.;WaSu8#rVur#k5PF8rVuq^JcERd"SQ@+AG2AiJ,~> +bPq\)\V2p>!!G0%PHDCpg%kXQj4W,(XeBl5q#CF,`971#p;d15`;T`:g#rA8g&:sP2>2V$_>aW) +2.ZEHs*t~> +bPq\)\V2p>!!G0%PHDCpg%kXQj4W,(XeBl5q#CF,`971#p;d15`;T`:g#rA8g&:sP2>2V$_>aW) +2.ZEHs*t~> +bPq\)\V2p>!!G0%PHDCpg%kXQj4W,(XeBl5q#CF,`971#p;d15`;T`:g#rA8g&:sP2>2V$_>aW) +2.ZEHs*t~> +cMmslP>D/X">tn8g%P:B!SO1GFTR98p@nRhft!;BrW!$KKuE\errAbl!!)EMrrMghrVur:JcELb +!U]TGs*t~> +cMmslP>D/X">tn8g%P:B!SO1GFTR98p@nRhft!;BrW!$KKuE\errAbl!!)EMrrMghrVur:JcELb +!U]TGs*t~> +cMmslP>D/X">tn8g%P:B!SO1GFTR98p@nRhft!;BrW!$KKuE\errAbl!!)EMrrMghrVur:JcELb +!U]TGs*t~> +dJj:.Tf)fL!en2Pp\t9]Fnu(=28o.e"89Zs2?!RVPL$H4"*FSD2U&G#lFb0RDs3Udr~> +dJj:.Tf)fL!en2Pp\t9]Fnu(=28o.e"89Zs2?!RVPL$H4"*FSD2U&G#lFb0RDs3Udr~> +dJj:.Tf)fL!en2Pp\t9]Fnu(=28o.e"89Zs2?!RVPL$H4"*FSD2U&G#lFb0RDs3Udr~> +e,KWjA,lTePL&n$%-'2FFjKd]s5T:C!0csQ#NMLR!!#fsp9O]#2#mW!kl1Y9r;ZibJcC<$d/SU~> +e,KWjA,lTePL&n$%-'2FFjKd]s5T:C!0csQ#NMLR!!#fsp9O]#2#mW!kl1Y9r;ZibJcC<$d/SU~> +e,KWjA,lTePL&n$%-'2FFjKd]s5T:C!0csQ#NMLR!!#fsp9O]#2#mW!kl1Y9r;ZibJcC<$d/SU~> +f)H!K\PE2*Fi="Frr_sP!3Q+t"626=\aTP&c]\>/250EFrrDcl!!'.brrBV/!!'-Ps+13rs*t~> +f)H!K\PE2*Fi="Frr_sP!3Q+t"626=\aTP&c]\>/250EFrrDcl!!'.brrBV/!!'-Ps+13rs*t~> +f)H!K\PE2*Fi="Frr_sP!3Q+t"626=\aTP&c]\>/250EFrrDcl!!'.brrBV/!!'-Ps+13rs*t~> +fDc#m:B1BYj7*'MP5q +fDc#m:B1BYj7*'MP5q +fDc#m:B1BYj7*'MP5q +g&D6/A,lUnmI1&Wm/TrUp\t;s!28cZ"no&U!&_^)rrBV/!!(^6rrDG;s+13qs*t~> +g&D6/A,lUnmI1&Wm/TrUp\t;s!28cZ"no&U!&_^)rrBV/!!(^6rrDG;s+13qs*t~> +g&D6/A,lUnmI1&Wm/TrUp\t;s!28cZ"no&U!&_^)rrBV/!!(^6rrDG;s+13qs*t~> +g]%HNT`>(8mHsoT_uQM)rrVloAEs0up7VHdFmZd?!29AlJcC<$YlB4~> +g]%HNT`>(8mHsoT_uQM)rrVloAEs0up7VHdFmZd?!29AlJcC<$YlB4~> +g]%HNT`>(8mHsoT_uQM)rrVloAEs0up7VHdFmZd?!29AlJcC<$YlB4~> +h#@N;:B38uli.$g!87&F!Fu2orrh@m!&_^,rr[BD!&]?-JcDtSJ,~> +h#@N;:B38uli.$g!87&F!Fu2orrh@m!&_^,rr[BD!&]?-JcDtSJ,~> +h#@N;:B38uli.$g!87&F!Fu2orrh@m!&_^,rr[BD!&]?-JcDtSJ,~> +h>[Vr!!%`HlMgpf!87&F!HeD)rr]A'!0b(q"&AmsFb0RDs02NR~> +h>[Vr!!%`HlMgpf!87&F!HeD)rr]A'!0b(q"&AmsFb0RDs02NR~> +h>[Vr!!%`HlMgpf!87&F!HeD)rr]A'!0b(q"&AmsFb0RDs02NR~> +hZ!\O!!'t$rrT;&g%G@GA,t`k"QM?>FnWQLrVuqlJcC<$YlB4~> +hZ!\O!!'t$rrT;&g%G@GA,t`k"QM?>FnWQLrVuqlJcC<$YlB4~> +hZ!\O!!'t$rrT;&g%G@GA,t`k"QM?>FnWQLrVuqlJcC<$YlB4~> +hu +hu +hu +i;WnC!)MY;rr_rp2>6eE!j)I)j8T8UFT>tG_>aMgrVurEJcDkP"867*Ko#bZ~> +i;WnC!)MY;rr_rp2>6eE!j)I)j8T8UFT>tG_>aMgrVurEJcDkP"867*Ko#bZ~> +i;WnC!)MY;rr_rp2>6eE!j)I)j8T8UFT>tG_>aMgrVurEJcDkP"867*Ko#bZ~> +iVs"^!)N=LrrSkoPPG.[irCt1iVrt%!-Q-X!4i(/!82r'Y5\Xb2#r@(M#Vu~> +iVs"^!)N=LrrSkoPPG.[irCt1iVrt%!-Q-X!4i(/!82r'Y5\Xb2#r@(M#Vu~> +iVs"^!)N=LrrSkoPPG.[irCt1iVrt%!-Q-X!4i(/!82r'Y5\Xb2#r@(M#Vu~> +ir9,,!&`fsrr^[k!0d9Z"PGL0L%aL*"867*Tu-g0Xo8;#p4<7Irr^1>!25/IJ,~> +ir9,,!&`fsrr^[k!0d9Z"PGL0L%aL*"867*Tu-g0Xo8;#p4<7Irr^1>!25/IJ,~> +ir9,,!&`fsrr^[k!0d9Z"PGL0L%aL*"867*Tu-g0Xo8;#p4<7Irr^1>!25/IJ,~> +j8T5K2#u=jrtF(.!!!u=:W2Z#s3Hl/!%%\'XnLcS"84SPfu*giPPtQ5s0)G)T`>)2L&ZZ~> +j8T5K2#u=jrtF(.!!!u=:W2Z#s3Hl/!%%\'XnLcS"84SPfu*giPPtQ5s0)G)T`>)2L&ZZ~> +j8T5K2#u=jrtF(.!!!u=:W2Z#s3Hl/!%%\'XnLcS"84SPfu*giPPtQ5s0)G)T`>)2L&ZZ~> +j8T17!3PA_#OQX6!-QugPPP7a:XAa:!!#g5ir9,6!)N=,rr[BD!)J1GZ2Xt#FT=;ZK`?Q~> +j8T17!3PA_#OQX6!-QugPPP7a:XAa:!!#g5ir9,6!)N=,rr[BD!)J1GZ2Xt#FT=;ZK`?Q~> +j8T17!3PA_#OQX6!-QugPPP7a:XAa:!!#g5ir9,6!)N=,rr[BD!)J1GZ2Xt#FT=;ZK`?Q~> +jSo;7!)MbW"mqKR!)LQ3rs%kmA,oE!ci*kIm?7MM:W2;n!g +jSo;7!)MbW"mqKR!)LQ3rs%kmA,oE!ci*kIm?7MM:W2;n!g +jSo;7!)MbW"mqKR!)LQ3rs%kmA,oE!ci*kIm?7MM:W2;n!g +jSo:(!86T9"nn,[!)LQ/rrUjRXnhu#m?7MM:YFk0"84T0p;R(2!!%02rrR=#`.@s/rr^1>!0`!6 +J,~> +jSo:(!86T9"nn,[!)LQ/rrUjRXnhu#m?7MM:YFk0"84T0p;R(2!!%02rrR=#`.@s/rr^1>!0`!6 +J,~> +jSo:(!86T9"nn,[!)LQ/rrUjRXnhu#m?7MM:YFk0"84T0p;R(2!!%02rrR=#`.@s/rr^1>!0`!6 +J,~> +jo5DB!-RQ+"no&U!&_=]rrT;&chIGCj)k>%FkPpW!j)I5`W,o;!3Pek!3Q5#!24uDb5VV`MJ,~> +jo5DB!-RQ+"no&U!&_=]rrT;&chIGCj)k>%FkPpW!j)I5`W,o;!3Pek!3Q5#!24uDb5VV`MJ,~> +jo5DB!-RQ+"no&U!&_=]rrT;&chIGCj)k>%FkPpW!j)I5`W,o;!3Pek!3Q5#!24uDb5VV`MJ,~> +jo5CG!6"4'#55/V!&^nPpAY2r!87&F"ke"u!-QuYrrVQf:WED7pAP$lXn)Jlg&1mNc[l,>rrh@m +!)MX+s8W+L~> +jo5CG!6"4'#55/V!&^nPpAY2r!87&F"ke"u!-QuYrrVQf:WED7pAP$lXn)Jlg&1mNc[l,>rrh@m +!)MX+s8W+L~> +jo5CG!6"4'#55/V!&^nPpAY2r!87&F"ke"u!-QuYrrVQf:WED7pAP$lXn)Jlg&1mNc[l,>rrh@m +!)MX+s8W+L~> +jo>?UK_2?!RU +Tn36errh^H!/:,ts8N%K~> +jo>?UK_2?!RU +Tn36errh^H!/:,ts8N%K~> +jo>?UK_2?!RU +Tn36errh^H!/:,ts8N%K~> +k5PMC!/9h?"iO1:!0cg@rrI6BnG`[1:B1BYmHacR\H'1crrCaC!!#gjrrMh(rVuq/JcEjl!L('F +s8;nI~> +k5PMC!/9h?"iO1:!0cg@rrI6BnG`[1:B1BYmHacR\H'1crrCaC!!#gjrrMh(rVuq/JcEjl!L('F +s8;nI~> +k5PMC!/9h?"iO1:!0cg@rrI6BnG`[1:B1BYmHacR\H'1crrCaC!!#gjrrMh(rVuq/JcEjl!L('F +s8;nI~> +k5PM/!3Q(s!71YH!71TC"kdDd!0cg>rrI6Bmf*I/:B1Bgp?hk]f`7_jrr@35!!'t5rrA8^!!+tN +JcC<$_Z,,~> +k5PM/!3Q(s!71YH!71TC"kdDd!0cg>rrI6Bmf*I/:B1Bgp?hk]f`7_jrr@35!!'t5rrA8^!!+tN +JcC<$_Z,,~> +k5PM/!3Q(s!71YH!71TC"kdDd!0cg>rrI6Bmf*I/:B1Bgp?hk]f`7_jrr@35!!'t5rrA8^!!+tN +JcC<$_Z,,~> +k5PLb!878L!RFO=!!l +k5PLb!878L!RFO=!!l +k5PLb!878L!RFO=!!l +k5PLb!87;M%`A>IDO[DjD?'Z:!!%/pnG`OL:\t+mFm\Yt#kkAX!&^nP\Ma6a!295g!<@8drr@37 +!!'t6rrCaN!!'Q\s+13cs*t~> +k5PLb!87;M%`A>IDO[DjD?'Z:!!%/pnG`OL:\t+mFm\Yt#kkAX!&^nP\Ma6a!295g!<@8drr@37 +!!'t6rrCaN!!'Q\s+13cs*t~> +k5PLb!87;M%`A>IDO[DjD?'Z:!!%/pnG`OL:\t+mFm\Yt#kkAX!&^nP\Ma6a!295g!<@8drr@37 +!!'t6rrCaN!!'Q\s+13cs*t~> +k5PLb!87>N"4$rqU\qk0UF-%,cgUlAcN!s!ci<^WA,nLImf*djT`>'F!&^n=s6ZpG!0d9Z!<@8d +rrDH[!!#gkrrM.;rVuq^JcC<$^]/f~> +k5PLb!87>N"4$rqU\qk0UF-%,cgUlAcN!s!ci<^WA,nLImf*djT`>'F!&^n=s6ZpG!0d9Z!<@8d +rrDH[!!#gkrrM.;rVuq^JcC<$^]/f~> +k5PLb!87>N"4$rqU\qk0UF-%,cgUlAcN!s!ci<^WA,nLImf*djT`>'F!&^n=s6ZpG!0d9Z!<@8d +rrDH[!!#gkrrM.;rVuq^JcC<$^]/f~> +k5PLb!87AO"84MNU\__-WW4jKnG`UX2#tSlrrSAaAF0=!m;W+^j8AoZp1+/squ6ZsFj'dbPP5%W +\blC-p14.&!G(nTs+13bs*t~> +k5PLb!87AO"84MNU\__-WW4jKnG`UX2#tSlrrSAaAF0=!m;W+^j8AoZp1+/squ6ZsFj'dbPP5%W +\blC-p14.&!G(nTs+13bs*t~> +k5PLb!87AO"84MNU\__-WW4jKnG`UX2#tSlrrSAaAF0=!m;W+^j8AoZp1+/squ6ZsFj'dbPP5%W +\blC-p14.&!G(nTs+13bs*t~> +k5PLb!71ZE!lP(VpqHlJ!4hV!!gUMM!3PYg"84SPj8/cXp,)j;rVlrm!-QKb!:BO]!B'TJ +rr@3@!!+tNJcC<$^Ai]~> +k5PLb!71ZE!lP(VpqHlJ!4hV!!gUMM!3PYg"84SPj8/cXp,)j;rVlrm!-QKb!:BO]!B'TJ +rr@3@!!+tNJcC<$^Ai]~> +k5PLb!71ZE!lP(VpqHlJ!4hV!!gUMM!3PYg"84SPj8/cXp,)j;rVlrm!-QKb!:BO]!B'TJ +rr@3@!!+tNJcC<$^Ai]~> +k5PM/!3Q8#!egWZpqHm8!-Ri3!pot`q#:E_!)N"^!lP)&q#:E6!29Ak!ndRIb5VI*q#CDsqu6Y[ +r;ZiXJcC<$^&NT~> +k5PM/!3Q8#!egWZpqHm8!-Ri3!pot`q#:E_!)N"^!lP)&q#:E6!29Ak!ndRIb5VI*q#CDsqu6Y[ +r;ZiXJcC<$^&NT~> +k5PM/!3Q8#!egWZpqHm8!-Ri3!pot`q#:E_!)N"^!lP)&q#:E6!29Ak!ndRIb5VI*q#CDsqu6Y[ +r;ZiXJcC<$^&NT~> +k5PMM!-S;@!Ac.t^B$DPnc&[/!3Q"q!egX7mf*?B!9 +k5PMM!-S;@!Ac.t^B$DPnc&[/!3Q"q!egX7mf*?B!9 +k5PMM!-S;@!Ac.t^B$DPnc&[/!3Q"q!egX7mf*?B!9 +jo5N\!;?Hm!*Js0!E]?lrrT;&g%YLJXT7&BrrHX1pAY/9!<)p!A,u>FrrAbi!!'.trr^1>!3LhP +df0F&:J^\8s6fo;~> +jo5N\!;?Hm!*Js0!E]?lrrT;&g%YLJXT7&BrrHX1pAY/9!<)p!A,u>FrrAbi!!'.trr^1>!3LhP +df0F&:J^\8s6fo;~> +jo5N\!;?Hm!*Js0!E]?lrrT;&g%YLJXT7&BrrHX1pAY/9!<)p!A,u>FrrAbi!!'.trr^1>!3LhP +df0F&:J^\8s6fo;~> +jo5Oe!6"p;!)*%#!E]?lrrT;&g%YLJ\H'S9rrE+BpAY/9!<3!"m/V:MrrMgNr;ZjUpA+^hc_5pi +e,KU=K`D+,p4<83s*t~> +jo5Oe!6"p;!)*%#!E]?lrrT;&g%YLJ\H'S9rrE+BpAY/9!<3!"m/V:MrrMgNr;ZjUpA+^hc_5pi +e,KU=K`D+,p4<83s*t~> +jo5Oe!6"p;!)*%#!E]?lrrT;&g%YLJ\H'S9rrE+BpAY/9!<3!"m/V:MrrMgNr;ZjUpA+^hc_5pi +e,KU=K`D+,p4<83s*t~> +jo5PP!)NXp@K?,:! +jo5PP!)NXp@K?,:! +jo5PP!)NXp@K?,:! +jSoFJ!6"o2!0d2m!g +jSoFJ!6"o2!0d2m!g +jSoFJ!6"o2!0d2m!g +jSoGO!&aK1!'Btj!]pD8nc&[X!+bm)!qnK/mJd6u!3Q%r#K-V+s8R3A`81Fqp=\-;pT4P.g"Gci +rrZ$s!'5]2bl7k6FT;Dqm=G<%s*t~> +jSoGO!&aK1!'Btj!]pD8nc&[X!+bm)!qnK/mJd6u!3Q%r#K-V+s8R3A`81Fqp=\-;pT4P.g"Gci +rrZ$s!'5]2bl7k6FT;Dqm=G<%s*t~> +jSoGO!&aK1!'Btj!]pD8nc&[X!+bm)!qnK/mJd6u!3Q%r#K-V+s8R3A`81Fqp=\-;pT4P.g"Gci +rrZ$s!'5]2bl7k6FT;Dqm=G<%s*t~> +j8T=W!/:H,!,hYJ!cA!\n,EH3!71K@!hfUrmJd:^2)Xdtrs/6n!87C_!-R<$"QRG&F_'k>"Z:Fr +\_2!%!.k0qrrr+i!!#gJJcFp5J,~> +j8T=W!/:H,!,hYJ!cA!\n,EH3!71K@!hfUrmJd:^2)Xdtrs/6n!87C_!-R<$"QRG&F_'k>"Z:Fr +\_2!%!.k0qrrr+i!!#gJJcFp5J,~> +j8T=W!/:H,!,hYJ!cA!\n,EH3!71K@!hfUrmJd:^2)Xdtrs/6n!87C_!-R<$"QRG&F_'k>"Z:Fr +\_2!%!.k0qrrr+i!!#gJJcFp5J,~> +j8TDYA,s16@K9N8rkAT@=9)+in,ELM!&`g6rr^1>2>6D:"0DQ6pAFprp6,K1s5O):j6$@Cc`M?e +!<73AXT5p+f`f +j8TDYA,s16@K9N8rkAT@=9)+in,ELM!&`g6rr^1>2>6D:"0DQ6pAFprp6,K1s5O):j6$@Cc`M?e +!<73AXT5p+f`f +j8TDYA,s16@K9N8rkAT@=9)+in,ELM!&`g6rr^1>2>6D:"0DQ6pAFprp6,K1s5O):j6$@Cc`M?e +!<73AXT5p+f`f +ir9MK2#ttr@K6C$=A&Vo@dWR_$cE#FXmQ/gm=bNtj6HXHP5nCsrr38MA,p06m54m^l2LhP\V9t^ +"Ab5lg%P=C#56!/FbQsXp\t?K`1_>P!!6])j+76\rrp>:!!'.pJcFg2J,~> +ir9MK2#ttr@K6C$=A&Vo@dWR_$cE#FXmQ/gm=bNtj6HXHP5nCsrr38MA,p06m54m^l2LhP\V9t^ +"Ab5lg%P=C#56!/FbQsXp\t?K`1_>P!!6])j+76\rrp>:!!'.pJcFg2J,~> +ir9MK2#ttr@K6C$=A&Vo@dWR_$cE#FXmQ/gm=bNtj6HXHP5nCsrr38MA,p06m54m^l2LhP\V9t^ +"Ab5lg%P=C#56!/FbQsXp\t?K`1_>P!!6])j+76\rrp>:!!'.pJcFg2J,~> +iVs,#!&`g:`+8iI!Fj"4rs?V$!!#eP!!#gTkl1XVrVuporW!+Ep@`"sPO&5Mp;CM@!!?#jch@/6 +!VW5`!!,mKo`#!GX^qD2!`,NWJcFC&"&Ao\m=G;ss*t~> +iVs,#!&`g:`+8iI!Fj"4rs?V$!!#eP!!#gTkl1XVrVuporW!+Ep@`"sPO&5Mp;CM@!!?#jch@/6 +!VW5`!!,mKo`#!GX^qD2!`,NWJcFC&"&Ao\m=G;ss*t~> +iVs,#!&`g:`+8iI!Fj"4rs?V$!!#eP!!#gTkl1XVrVuporW!+Ep@`"sPO&5Mp;CM@!!?#jch@/6 +!VW5`!!,mKo`#!GX^qD2!`,NWJcFC&"&Ao\m=G;ss*t~> +i;Wnt!&`*^rs/8.FYus;`:i?n$fdFn!+_;Hs5RViPO/;Sj-)>#!+`Y-p&>HoA,nKhg&LHcFT;E[ +o)Adb`.e0j!Hl>3s4[JRg#IY`i;\<~> +i;Wnt!&`*^rs/8.FYus;`:i?n$fdFn!+_;Hs5RViPO/;Sj-)>#!+`Y-p&>HoA,nKhg&LHcFT;E[ +o)Adb`.e0j!Hl>3s4[JRg#IY`i;\<~> +i;Wnt!&`*^rs/8.FYus;`:i?n$fdFn!+_;Hs5RViPO/;Sj-)>#!+`Y-p&>HoA,nKhg&LHcFT;E[ +o)Adb`.e0j!Hl>3s4[JRg#IY`i;\<~> +huWqu6cE2#ttlrs&2-:B1Aj`.@r>s1//[~> +huWqu6cE2#ttlrs&2-:B1Aj`.@r>s1//[~> +huWqu6cE2#ttlrs&2-:B1Aj`.@r>s1//[~> +hZ!_s2#rj6]`/)E!!&_\rrq(u!!#g5nG`Ql!/:4J"60A=p?qqafnBD+:W.haJcE@^J,~> +hZ!_s2#rj6]`/)E!!&_\rrq(u!!#g5nG`Ql!/:4J"60A=p?qqafnBD+:W.haJcE@^J,~> +hZ!_s2#rj6]`/)E!!&_\rrq(u!!#g5nG`Ql!/:4J"60A=p?qqafnBD+:W.haJcE@^J,~> +h>[W<:B4qc^]+H1K`F!Kn,ERYP5kT*g$eqCp,+`$p\t;s!4hIr"mqKR!+ac6s+13`s*t~> +h>[W<:B4qc^]+H1K`F!Kn,ERYP5kT*g$eqCp,+`$p\t;s!4hIr"mqKR!+ac6s+13`s*t~> +h>[W<:B4qc^]+H1K`F!Kn,ERYP5kT*g$eqCp,+`$p\t;s!4hIr"mqKR!+ac6s+13`s*t~> +h#@QOK`D+Tp;6h4\MX@tj7!!N\MX@_`9mR+cN'[4rrVQfAEs0uj)k>%U%X';JcELbJ,~> +h#@QOK`D+Tp;6h4\MX@tj7!!N\MX@_`9mR+cN'[4rrVQfAEs0uj)k>%U%X';JcELbJ,~> +h#@QOK`D+Tp;6h4\MX@tj7!!N\MX@_`9mR+cN'[4rrVQfAEs0uj)k>%U%X';JcELbJ,~> +gA_<%2#pFj`W$(oFT;EDn,ERbFT;EDp?_e\XT6]?rrHX1kl1e3:B42DJcC<$_#Jo~> +gA_<%2#pFj`W$(oFT;EDn,ERbFT;EDp?_e\XT6]?rrHX1kl1e3:B42DJcC<$_#Jo~> +gA_<%2#pFj`W$(oFT;EDn,ERbFT;EDp?_e\XT6]?rrHX1kl1e3:B42DJcC<$_#Jo~> +g&D6LP5kSY`6&#_fl[8pFlVrj"QM?>AE2tT!j)IUp&>&8!9a@bp6,IV\UjeRrrV5EXb$N!s*t~> +g&D6LP5kSY`6&#_fl[8pFlVrj"QM?>AE2tT!j)IUp&>&8!9a@bp6,IV\UjeRrrV5EXb$N!s*t~> +g&D6LP5kSY`6&#_fl[8pFlVrj"QM?>AE2tT!j)IUp&>&8!9a@bp6,IV\UjeRrrV5EXb$N!s*t~> +fDc'8FT;D;`:hLV"j_;k!)Lr/rr^1>!28WV!j)IUp&>&8!9O4_`&.OYJcGNF"N5E_!)J1Gd/SU~> +fDc'8FT;D;`:hLV"j_;k!)Lr/rr^1>!28WV!j)IUp&>&8!9O4_`&.OYJcGNF"N5E_!)J1Gd/SU~> +fDc'8FT;D;`:hLV"j_;k!)Lr/rr^1>!28WV!j)IUp&>&8!9O4_`&.OYJcGNF"N5E_!)J1Gd/SU~> +ec,j,K`D*1PN1-l#48Ng!!$QJmJd:,!!'t#rrU+=XnMbrp&InLrr_:W!0`!6r;QugXYg(YAAj'! +ci8L~> +ec,j,K`D*1PN1-l#48Ng!!$QJmJd:,!!'t#rrU+=XnMbrp&InLrr_:W!0`!6r;QugXYg(YAAj'! +ci8L~> +ec,j,K`D*1PN1-l#48Ng!!$QJmJd:,!!'t#rrU+=XnMbrp&InLrr_:W!0`!6r;QugXYg(YAAj'! +ci8L~> +e,K[?P;N=?:SHh%rrVSuAGuQ0PM,=&"2k0sg#i;9m/TrUrrU+=U#Z.Tp1+/eJcGcM!Q9]k!!/;D +JcF!pJ,~> +e,K[?P;N=?:SHh%rrVSuAGuQ0PM,=&"2k0sg#i;9m/TrUrrU+=U#Z.Tp1+/eJcGcM!Q9]k!!/;D +JcF!pJ,~> +e,K[?P;N=?:SHh%rrVSuAGuQ0PM,=&"2k0sg#i;9m/TrUrrU+=U#Z.Tp1+/eJcGcM!Q9]k!!/;D +JcF!pJ,~> +d/O-bL&M&S23YuGiVs#Rc_4/6!!6]Ap?V_\_uM[TjSo:F!3Q%r"77rGmGe-Jp1+/eKDu2:TeufM +:V$1Ms3(Fm~> +d/O-bL&M&S23YuGiVs#Rc_4/6!!6]Ap?V_\_uM[TjSo:F!3Q%r"77rGmGe-Jp1+/eKDu2:TeufM +:V$1Ms3(Fm~> +d/O-bL&M&S23YuGiVs#Rc_4/6!!6]Ap?V_\_uM[TjSo:F!3Q%r"77rGmGe-Jp1+/eKDu2:TeufM +:V$1Ms3(Fm~> +cMn"?`.^)J!!H)OXj?D#rri&KXcm;o!!7;RmHOWQj#$hij8T5:*rrkJrr_Xr!/9A2"867*\VL1i +mC?a-!&]tnJcEgkJ,~> +cMn"?`.^)J!!H)OXj?D#rri&KXcm;o!!7;RmHOWQj#$hij8T5:*rrkJrr_Xr!/9A2"867*\VL1i +mC?a-!&]tnJcEgkJ,~> +cMn"?`.^)J!!H)OXj?D#rri&KXcm;o!!7;RmHOWQj#$hij8T5:*rrkJrr_Xr!/9A2"867*\VL1i +mC?a-!&]tnJcEgkJ,~> +b5VRsX`ZN!!!QnUPHCt*q:PqtXf\:>Fo).@FeR.TkPkYX:B8>ors/7]!!!`6FkQco!q!*IrVusp +cf+m+j#$hsM>mSLrW!"B`:ec^`rCP~> +b5VRsX`ZN!!!QnUPHCt*q:PqtXf\:>Fo).@FeR.TkPkYX:B8>ors/7]!!!`6FkQco!q!*IrVusp +cf+m+j#$hsM>mSLrW!"B`:ec^`rCP~> +b5VRsX`ZN!!!QnUPHCt*q:PqtXf\:>Fo).@FeR.TkPkYX:B8>ors/7]!!!`6FkQco!q!*IrVusp +cf+m+j#$hsM>mSLrW!"B`:ec^`rCP~> +`r?2/c`MnDm/R9"FfiUBir9(R!/9P7#PP8W!&^n=AGuQ0EDQQ6#-Hp.!!%/pir9(u!+^oc!gC1^ +JcEXfJ,~> +`r?2/c`MnDm/R9"FfiUBir9(R!/9P7#PP8W!&^n=AGuQ0EDQQ6#-Hp.!!%/pir9(u!+^oc!gC1^ +JcEXfJ,~> +`r?2/c`MnDm/R9"FfiUBir9(R!/9P7#PP8W!&^n=AGuQ0EDQQ6#-Hp.!!%/pir9(u!+^oc!gC1^ +JcEXfJ,~> +^]+Drg"Eq2Xo@#/rr_Wg2>655#55/V!&^nPrr35LP>qT.Fh-o=rrq(u!!%/pj8T17!3LhPJcEgk +J,~> +^]+Drg"Eq2Xo@#/rr_Wg2>655#55/V!&^nPrr35LP>qT.Fh-o=rrq(u!!%/pj8T17!3LhPJcEgk +J,~> +^]+Drg"Eq2Xo@#/rr_Wg2>655#55/V!&^nPrr35LP>qT.Fh-o=rrq(u!!%/pj8T17!3LhPJcEgk +J,~> +MZ3aA!6"(#"iO1:!29,_rrUjRXnhu#fjk'_L$e"%"76(Gp4<6ps2k:k~> +MZ3aA!6"(#"iO1:!29,_rrUjRXnhu#fjk'_L$e"%"76(Gp4<6ps2k:k~> +MZ3aA!6"(#"iO1:!29,_rrUjRXnhu#fjk'_L$e"%"76(Gp4<6ps2k:k~> +MuNkG!)MhY"iO1:!0cgFrrT_2\bH+-`(p@5PO7N4!g +MuNkG!)MhY"iO1:!0cgFrrT_2\bH+-`(p@5PO7N4!g +MuNkG!)MhY"iO1:!0cgFrrT_2\bH+-`(p@5PO7N4!g +MuNj\!6"1&"kdDd!0cgDrrT;&g%G@K`(p@5U%[^M!potuSc8fFX`_1*s0;TS~> +MuNj\!6"1&"kdDd!0cgDrrT;&g%G@K`(p@5U%[^M!potuSc8fFX`_1*s0;TS~> +MuNj\!6"1&"kdDd!0cgDrrT;&g%G@K`(p@5U%[^M!potuSc8fFX`_1*s0;TS~> +MuNih!;>dZ"ke"u!-QuerrSkog%54IXYg)9XnM#Z!b;;uUAk;JX`aRB!0`!6Z2]=~> +MuNih!;>dZ"ke"u!-QuerrSkog%54IXYg)9XnM#Z!b;;uUAk;JX`aRB!0`!6Z2]=~> +MuNih!;>dZ"ke"u!-QuerrSkog%54IXYg)9XnM#Z!b;;uUAk;JX`aRB!0`!6Z2]=~> +N;itH!-R]/"mpF4!-QucrrRs02NR~> +N;itH!-R]/"mpF4!-QucrrRs02NR~> +N;itH!-R]/"mpF4!-QucrrRs02NR~> +N;it4!3Q(s"RXmEg$S_;"mqKR!)Lr1rrI6Bn,ERbXT/>s`9dL,f`5m8mB-Bjfr]s(r;ZpqPJlj> +s/c6N~> +N;it4!3Q(s"RXmEg$S_;"mqKR!)Lr1rrI6Bn,ERbXT/>s`9dL,f`5m8mB-Bjfr]s(r;ZpqPJlj> +s/c6N~> +N;it4!3Q(s"RXmEg$S_;"mqKR!)Lr1rrI6Bn,ERbXT/>s`9dL,f`5m8mB-Bjfr]s(r;ZpqPJlj> +s/c6N~> +N;is]!71QB!TS>#!!m`-s7VWV!)LQ&rrqf#,UC=qn,ERYP5kSY`;KW8g&A)RchIJ +N;is]!71QB!TS>#!!m`-s7VWV!)LQ&rrqf#,UC=qn,ERYP5kSY`;KW8g&A)RchIJ +N;is]!71QB!TS>#!!m`-s7VWV!)LQ&rrqf#,UC=qn,ERYP5kSY`;KW8g&A)RchIJ +N;is]!87;M%`C4):T_10A,lU`2#oMEnG`O_L&1iNU%[sT#jmfU!)M;Jfh_MG!B%F`rrrI1X`[D> +`3B:A_uShKs.fUE~> +N;is]!87;M%`C4):T_10A,lU`2#oMEnG`O_L&1iNU%[sT#jmfU!)M;Jfh_MG!B%F`rrrI1X`[D> +`3B:A_uShKs.fUE~> +N;is]!87;M%`C4):T_10A,lU`2#oMEnG`O_L&1iNU%[sT#jmfU!)M;Jfh_MG!B%F`rrrI1X`[D> +`3B:A_uShKs.fUE~> +N;is]!87>N"60@]\buI2\GuU]XnM8a$fa#C4,]l/Jg^V.p?qqjfl[8p=o\PF`7`J#!!&5ZrrE+B +rr<#lo)AdYg%O%ts4ILmXeGH>s,m>3~> +N;is]!87>N"60@]\buI2\GuU]XnM8a$fa#C4,]l/Jg^V.p?qqjfl[8p=o\PF`7`J#!!&5ZrrE+B +rr<#lo)AdYg%O%ts4ILmXeGH>s,m>3~> +N;is]!87>N"60@]\buI2\GuU]XnM8a$fa#C4,]l/Jg^V.p?qqjfl[8p=o\PF`7`J#!!&5ZrrE+B +rr<#lo)AdYg%O%ts4ILmXeGH>s,m>3~> +N;is]!87>N!b;;LqYpW8!)2k]"85IiDZ%6O\7>S^m/I4AA,n@1r;QlZ2#t2arrE+BmJd0gr;ch> +!29Co!71Vs!;?!`!U\S=XoR:Qfn'0cs*t~> +N;is]!87>N!b;;LqYpW8!)2k]"85IiDZ%6O\7>S^m/I4AA,n@1r;QlZ2#t2arrE+BmJd0gr;ch> +!29Co!71Vs!;?!`!U\S=XoR:Qfn'0cs*t~> +N;is]!87>N!b;;LqYpW8!)2k]"85IiDZ%6O\7>S^m/I4AA,n@1r;QlZ2#t2arrE+BmJd0gr;ch> +!29Co!71Vs!;?!`!U\S=XoR:Qfn'0cs*t~> +N;is]!71ZE!m^jhq#:DZ!6"C,!j)H?q7cu(!6"7(!`&gBqYpZX2)Xe!rrE+BmJd=BX`\bso`,!F +o)A]lq#CXqF`inM\_5Yes,d82~> +N;is]!71ZE!m^jhq#:DZ!6"C,!j)H?q7cu(!6"7(!`&gBqYpZX2)Xe!rrE+BmJd=BX`\bso`,!F +o)A]lq#CXqF`inM\_5Yes,d82~> +N;is]!71ZE!m^jhq#:DZ!6"C,!j)H?q7cu(!6"7(!`&gBqYpZX2)Xe!rrE+BmJd=BX`\bso`,!F +o)A]lq#CXqF`inM\_5Yes,d82~> +N;it*!3Q8#!g +N;it*!3Q8#!g +N;it*!3Q8#!g +N;itH!/:FP!Fu3(rrGnQnc&[:!-n7Q!b;;umf*?P!71H?!qlV)rVlr0!4d[\JcEmmJ,~> +N;itH!/:FP!Fu3(rrGnQnc&[:!-n7Q!b;;umf*?P!71H?!qlV)rVlr0!4d[\JcEmmJ,~> +N;itH!/:FP!Fu3(rrGnQnc&[:!-n7Q!b;;umf*?P!71H?!qlV)rVlr0!4d[\JcEmmJ,~> +MuNuW!;?Hm!-S#8!HeD4rrT;&S+jZ!JcOKlrrI6BpAY/9!<)p!K`LLks+13ms*t~> +MuNuW!;?Hm!-S#8!HeD4rrT;&S+jZ!JcOKlrrI6BpAY/9!<)p!K`LLks+13ms*t~> +MuNuW!;?Hm!-S#8!HeD4rrT;&S+jZ!JcOKlrrI6BpAY/9!<)p!K`LLks+13ms*t~> +MuO!T!6"p;!+bg'!HeD4rrT;&U\DM)RfKSYrrI6BpAY/9!<3!"m/Tq5s+13ls*t~> +MuO!T!6"p;!+bg'!HeD4rrT;&U\DM)RfKSYrrI6BpAY/9!<3!"m/Tq5s+13ls*t~> +MuO!T!6"p;!+bg'!HeD4rrT;&U\DM)RfKSYrrI6BpAY/9!<3!"m/Tq5s+13ls*t~> +MuO"K!)NXpA,u?'s#'?H!j)HtpV-cf!6"=*!HeD9rrI6Brr3&%!4d[\JcEjlJ,~> +MuO"K!)NXpA,u?'s#'?H!j)HtpV-cf!6"=*!HeD9rrI6Brr3&%!4d[\JcEjlJ,~> +MuO"K!)NXpA,u?'s#'?H!j)HtpV-cf!6"=*!HeD9rrI6Brr3&%!4d[\JcEjlJ,~> +MZ3m'!6"o$!71H?!ndR-nc&[$!/pTd!dF^umf*?2!:BO\#>[5Ws7S<-p4<6ps2k:k~> +MZ3m'!6"o$!71H?!ndR-nc&[$!/pTd!dF^umf*?2!:BO\#>[5Ws7S<-p4<6ps2k:k~> +MZ3m'!6"o$!71H?!ndR-nc&[$!/pTd!dF^umf*?2!:BO\#>[5Ws7S<-p4<6ps2k:k~> +MZ3n6!)N=A!-S):!d+L]nc&[N!*K!1!BU;KrrT_2\bQ10f`6a+s-!GbJcC<$aT$b~> +MZ3n6!)N=A!-S):!d+L]nc&[N!*K!1!BU;KrrT_2\bQ10f`6a+s-!GbJcC<$aT$b~> +MZ3n6!)N=A!-S):!d+L]nc&[N!*K!1!BU;KrrT_2\bQ10f`6a+s-!GbJcC<$aT$b~> +M>mdD!29F8!3Q+t!kA;An,EH1!2KA)!fI&BmJd:U!&aKGrs*ZH`;eKj:\KA>JcEgkJ,~> +M>mdD!29F8!3Q+t!kA;An,EH1!2KA)!fI&BmJd:U!&aKGrs*ZH`;eKj:\KA>JcEgkJ,~> +M>mdD!29F8!3Q+t!kA;An,EH1!2KA)!fI&BmJd:U!&aKGrs*ZH`;eKj:\KA>JcEgkJ,~> +M>mkT2#tti2#rj6rr3,pT`?t1n,ELC!%=lE^B:J91[XQ/!hfUJqYpea!-S>82#u<\s+13js*t~> +M>mkT2#tti2#rj6rr3,pT`?t1n,ELC!%=lE^B:J91[XQ/!hfUJqYpea!-S>82#u<\s+13js*t~> +M>mkT2#tti2#rj6rr3,pT`?t1n,ELC!%=lE^B:J91[XQ/!hfUJqYpea!-S>82#u<\s+13js*t~> +M#Rt +M#Rt +M#Rt +L]7Rs!&`g1XYp(X!]?28li.9n!!"EL===/*`9I:3p2p?8:N^1J!)MYKA,q=7s+13hs*t~> +L]7Rs!&`g1XYp(X!]?28li.9n!!"EL===/*`9I:3p2p?8:N^1J!)MYKA,q=7s+13hs*t~> +L]7Rs!&`g1XYp(X!]?28li.9n!!"EL===/*`9I:3p2p?8:N^1J!)MYKA,q=7s+13hs*t~> +LAqOC!&`g:s5VemkPkeIP;<1=9p=u,rrL&\rW!16\b>`-!+beSs+13hs*t~> +LAqOC!&`g:s5VemkPkeIP;<1=9p=u,rrL&\rW!16\b>`-!+beSs+13hs*t~> +LAqOC!&`g:s5VemkPkeIP;<1=9p=u,rrL&\rW!16\b>`-!+beSs+13hs*t~> +L&V7=!&`H?rri%+!+beSs+13gs*t~> +L&V7=!&`H?rri%+!+beSs+13gs*t~> +L&V7=!&`H?rri%+!+beSs+13gs*t~> +K`;.b!!'RArrh"4!-S!ds+13fs*t~> +K`;.b!!'RArrh"4!-S!ds+13fs*t~> +K`;.b!!'RArrh"4!-S!ds+13fs*t~> +KDu)#2#qdm^Ae;;!!&^Ds+13ds*t~> +KDu)#2#qdm^Ae;;!!&^Ds+13ds*t~> +KDu)#2#qdm^Ae;;!!&^Ds+13ds*t~> +K)Yu6A,nKt_>aYkA,nL5JcC<$_#Jo~> +K)Yu6A,nKt_>aYkA,nL5JcC<$_#Jo~> +K)Yu6A,nKt_>aYkA,nL5JcC<$_#Jo~> +Jc>oRXT/?Dfu +Jc>oRXT/?Dfu +Jc>oRXT/?Dfu +JcGcM"lj_*!/9g^rrr+u2#pFuJcC<$^&NT~> +JcGcM"lj_*!/9g^rrr+u2#pFuJcC<$^&NT~> +JcGcM"lj_*!/9g^rrr+u2#pFuJcC<$^&NT~> +JcG]K"iO1:!-Qu>rs%kS2#oM9p4<6ps1JA^~> +JcG]K"iO1:!-Qu>rs%kS2#oM9p4<6ps1JA^~> +JcG]K"iO1:!-Qu>rs%kS2#oM9p4<6ps1JA^~> +JcGWI#/j:;!)L0!df0NtK`D*1XnI>GJcE=]J,~> +JcGWI#/j:;!)L0!df0NtK`D*1XnI>GJcE=]J,~> +JcGWI#/j:;!)L0!df0NtK`D*1XnI>GJcE=]J,~> +JcGQG!RGof!!7kmp=TBMc]^3d!)L0!JcC<$\Gq'~> +JcGQG!RGof!!7kmp=TBMc]^3d!)L0!JcC<$\Gq'~> +JcGQG!RGof!!7kmp=TBMc]^3d!)L0!JcC<$\Gq'~> +JcGKE!q!*crW!"B\`;TI#joQa2#mV6PM(NeJcE.XJ,~> +JcGKE!q!*crW!"B\`;TI#joQa2#mV6PM(NeJcE.XJ,~> +JcGKE!q!*crW!"B\`;TI#joQa2#mV6PM(NeJcE.XJ,~> +JcGBB!ootMr;ZqBXj?D!rri&KXbBRM!!5$Ac[l+Is0DZT~> +JcGBB!ootMr;ZqBXj?D!rri&KXbBRM!!5$Ac[l+Is0DZT~> +JcGBB!ootMr;ZqBXj?D!rri&KXbBRM!!5$Ac[l+Is0DZT~> +JcG9?"7=$j:](1qA9G#Vci2StpAFshg&J/TKm!:n"#YeCj+75]s0)HQ~> +JcG9?"7=$j:](1qA9G#Vci2StpAFshg&J/TKm!:n"#YeCj+75]s0)HQ~> +JcG9?"7=$j:](1qA9G#Vci2StpAFshg&J/TKm!:n"#YeCj+75]s0)HQ~> +JcG-;"SUNNKk0KL"Aa0B`8cFKJcDeNJ,~> +JcG-;"SUNNKk0KL"Aa0B`8cFKJcDeNJ,~> +JcG-;"SUNNKk0KL"Aa0B`8cFKJcDeNJ,~> +%%EndData +showpage +%%Trailer +end +%%EOF diff --git a/BookGPU/Chapters/chapter8/figures/parallel_exploration-eps-converted-to.pdf b/BookGPU/Chapters/chapter8/figures/parallel_exploration-eps-converted-to.pdf new file mode 100644 index 0000000000000000000000000000000000000000..690f727d88ee875bc1d1b24a027bdeeb1ee4787d GIT binary patch literal 25854 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 Qr;j(l2&k!T-exWEU!Fc1?f?J) literal 0 HcmV?d00001 diff --git a/BookGPU/Chapters/chapter8/figures/parallel_exploration.eps b/BookGPU/Chapters/chapter8/figures/parallel_exploration.eps new file mode 100644 index 0000000..560b25e --- /dev/null +++ b/BookGPU/Chapters/chapter8/figures/parallel_exploration.eps @@ -0,0 +1,1583 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: GIMP PostScript file plugin V 1,17 by Peter Kirchgessner +%%Title: parallel_exploration.eps +%%CreationDate: Tue Aug 21 13:36:30 2012 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%Pages: 1 +%%BoundingBox: 14 14 433 353 +%%EndComments +%%BeginProlog +% Use own dictionary to avoid conflicts +10 dict begin +%%EndProlog +%%Page: 1 1 +% Translate for offset +14.173228346456694 14.173228346456694 translate +% Translate to begin of first scanline +0 337.95161059413027 translate +417.94015748031495 -337.95161059413027 scale +% Image geometry +418 338 8 +% Transformation matrix +[ 418 0 0 338 0 0 ] +% Strings to hold RGB-samples per scanline +/rstr 418 string def +/gstr 418 string def +/bstr 418 string def +{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} +{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} +{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} +true 3 +%%BeginData: 81269 ASCII Bytes +colorimage +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$jSo5?rRlc%J,~> +JcC<$jSo5?rRlc%J,~> +JcC<$jSo5?rRlc%J,~> +JcC<$mJd@C`3"`92>."S20F&D\_6\7s*t~> +JcC<$mJd@C`3"`92>."S20F&D\_6\7s*t~> +JcC<$mJd@C`3"`92>."S20F&D\_6\7s*t~> +JcC<$o)B'a`04^3!&\n_Xi14l!:Bdc!;?EF$H0'?F\_u;:PH@>O8j_~> +JcC<$o)B'a`04^3!&\n_Xi14l!:Bdc!;?EF$H0'?F\_u;:PH@>O8j_~> +JcC<$o)B'a`04^3!&\n_Xi14l!:Bdc!;?EF$H0'?F\_u;:PH@>O8j_~> +JcC<$p&>;09Krs&%li.7D\W]eh23YuPPQ-.~> +JcC<$p&>;09Krs&%li.7D\W]eh23YuPPQ-.~> +JcC<$p&>;09Krs&%li.7D\W]eh23YuPPQ-.~> +JcC<$q#:QOP;N>_\`;]L#49?_!!%_kQ2c@~> +JcC<$q#:QOP;N>_\`;]L#49?_!!%_kQ2c@~> +JcC<$q#:QOP;N>_\`;]L#49?_!!%_kQ2c@~> +JcC<$qu6lo\PE39`:i!d#55uh!&^J;R/_[~> +JcC<$qu6lo\PE39`:i!d#55uh!&^J;R/_[~> +JcC<$qu6lo\PE39`:i!d#55uh!&^J;R/_[~> +JcC<$rVm&gP;P4kmFM:@p:3s!PM)E)J,~> +JcC<$rVm&gP;P4kmFM:@p:3s!PM)E)J,~> +JcC<$rVm&gP;P4kmFM:@p:3s!PM)E)J,~> +JcC<$s8N8iP5nCsp +JcC<$s8N8iP5nCsp +JcC<$s8N8iP5nCsp +JcC<$"SSrT:W2Pu"mrj]DQV7Lrrh"t!0d,Js*t~> +JcC<$"SSrT:W2Pu"mrj]DQV7Lrrh"t!0d,Js*t~> +JcC<$"SSrT:W2Pu"mrj]DQV7Lrrh"t!0d,Js*t~> +JcC?%"4'b#Xm,ikScCl`GZXr;g$/M=`(r8$TDsE~> +JcC?%"4'b#Xm,ikScCl`GZXr;g$/M=`(r8$TDsE~> +JcC?%"4'b#Xm,ikScCl`GZXr;g$/M=`(r8$TDsE~> +JcCE'"SRNLL%ad2!adC7rP&H>A,ss?rri%t!+b,`s*t~> +JcCE'"SRNLL%ad2!adC7rP&H>A,ss?rri%t!+b,`s*t~> +JcCE'"SRNLL%ad2!adC7rP&H>A,ss?rri%t!+b,`s*t~> +JcCH("5,OhcfkB1W[XtE^B/:+p?;MYj(($XUAo`~> +JcCH("5,OhcfkB1W[XtE^B/:+p?;MYj(($XUAo`~> +JcCH("5,OhcfkB1W[XtE^B/:+p?;MYj(($XUAo`~> +JcCK)"0DQWp?;MXp+M$n^B1o-T'$%TT`C;MV#Pr~> +JcCK)"0DQWp?;MXp+M$n^B1o-T'$%TT`C;MV#Pr~> +JcCK)"0DQWp?;MXp+M$n^B1o-T'$%TT`C;MV#Pr~> +JcCQ+"87oY\`WnncN(KM^B&RNjo5G/2.ZEWs*t~> +JcCQ+"87oY\`WnncN(KM^B&RNjo5G/2.ZEWs*t~> +JcCQ+"87oY\`WnncN(KM^B&RNjo5G/2.ZEWs*t~> +JcCT,"867_g#`57X]Y>4!M]YUrr_:l2<1S6J,~> +JcCT,"867_g#`57X]Y>4!M]YUrr_:l2<1S6J,~> +JcCT,"867_g#`57X]Y>4!M]YUrr_:l2<1S6J,~> +JcCW-"867_j5g4@X]Y>4!M]YTrr_t*2<1V7J,~> +JcCW-"867_j5g4@X]Y>4!M]YTrr_t*2<1V7J,~> +JcCW-"867_j5g4@X]Y>4!M]YTrr_t*2<1V7J,~> +JcCZ."8689mGn3I`$tGq!K/Ykrr_t*2<1Y8J,~> +JcCZ."8689mGn3I`$tGq!K/Ykrr_t*2<1Y8J,~> +JcCZ."8689mGn3I`$tGq!K/Ykrr_t*2<1Y8J,~> +JcC]/"868$p>Z)Rm/W@F^B$EWiVs#RA2WDHs*t~> +JcC]/"868$p>Z)Rm/W@F^B$EWiVs#RA2WDHs*t~> +JcC]/"868$p>Z)Rm/W@F^B$EWiVs#RA2WDHs*t~> +JcC]/!b=1Ki;Wk>.(K,g!fI'Gi;WoQA5Dp!s*t~> +JcC]/!b=1Ki;Wk>.(K,g!fI'Gi;WoQA5Dp!s*t~> +JcC]/!b=1Ki;Wk>.(K,g!fI'Gi;WoQA5Dp!s*t~> +JcC`0!g>M%i;WrINW;PKr4`>c!(Y`"rrVmiA?,Z[~> +JcC`0!g>M%i;WrINW;PKr4`>c!(Y`"rrVmiA?,Z[~> +JcC`0!g>M%i;WrINW;PKr4`>c!(Y`"rrVmiA?,Z[~> +JcCc1!lP)WiVsMWP5nClDuaF#Jp9BX[WMS(mGS!Gj#*O2s*t~> +JcCc1!lP)WiVsMWP5nClDuaF#Jp9BX[WMS(mGS!Gj#*O2s*t~> +JcCc1!lP)WiVsMWP5nClDuaF#Jp9BX[WMS(mGS!Gj#*O2s*t~> +JcCf2!pqk=ir9/KP5nCsrr3GGJP/"@U$_m[fhVUMp>Q#Q_uS,bs*t~> +JcCf2!pqk=ir9/KP5nCsrr3GGJP/"@U$_m[fhVUMp>Q#Q_uS,bs*t~> +JcCf2!pqk=ir9/KP5nCsrr3GGJP/"@U$_m[fhVUMp>Q#Q_uS,bs*t~> +JcCf2!d.<4jSoAMP5nCsqYpS,U&+ck\MZ7TiVrt52>40PJ,~> +JcCf2!d.<4jSoAMP5nCsqYpS,U&+ck\MZ7TiVrt52>40PJ,~> +JcCf2!d.<4jSoAMP5nCsqYpS,U&+ck\MZ7TiVrt52>40PJ,~> +JcD8?!4hh'!lP)ljo5JNP5nCsq>UN`!71K@"SSMh:YFe.!qnLFXoEn~> +JcD8?!4hh'!lP)ljo5JNP5nCsq>UN`!71K@"SSMh:YFe.!qnLFXoEn~> +JcD8?!4hh'!lP)ljo5JNP5nCsq>UN`!71K@"SSMh:YFe.!qnLFXoEn~> +JcD;@!ndR;q#:Eh23[2&"RVBQ:W3#-!Q6khrrh_C!-R\irrU+=j0&E4~> +JcD;@!ndR;q#:Eh23[2&"RVBQ:W3#-!Q6khrrh_C!-R\irrU+=j0&E4~> +JcD;@!ndR;q#:Eh23[2&"RVBQ:W3#-!Q6khrrh_C!-R\irrU+=j0&E4~> +JcD;@"K_Y(FnY\3!j+?Rkl1e=P5nCsp&G&Go`#'IA,r=sjo5?lFftap~> +JcD;@"K_Y(FnY\3!j+?Rkl1e=P5nCsp&G&Go`#'IA,r=sjo5?lFftap~> +JcD;@"K_Y(FnY\3!j+?Rkl1e=P5nCsp&G&Go`#'IA,r=sjo5?lFftap~> +JcD;@!-S8@!G(6grrVmOXmuGkf`:F;rrh"t!-QudrrE, +JcD;@!-S8@!G(6grrVmOXmuGkf`:F;rrh"t!-QudrrE, +JcD;@!-S8@!G(6grrVmOXmuGkf`:F;rrh"t!-QudrrE, +JcD;@qu?aTj8JuZXYohErrVno0E(qV?J5A3FT?R;oD\s>Mu^0No)AjdXT2/Crr3,p\ZN![n,EE! +PHY":~> +JcD;@qu?aTj8JuZXYohErrVno0E(qV?J5A3FT?R;oD\s>Mu^0No)AjdXT2/Crr3,p\ZN![n,EE! +PHY":~> +JcD;@qu?aTj8JuZXYohErrVno0E(qV?J5A3FT?R;oD\s>Mu^0No)AjdXT2/Crr3,p\ZN![n,EE! +PHY":~> +JcE(V!oqterN5g:!/:ES!2oYn!6"m:!DfE]rs\U.."\_=Wal*5!-Qudrs.R[!-)O,!28r_%.05Y +FlTS(20F$A:XAS2!lP*+YlB4~> +JcE(V!oqterN5g:!/:ES!2oYn!6"m:!DfE]rs\U.."\_=Wal*5!-Qudrs.R[!-)O,!28r_%.05Y +FlTS(20F$A:XAS2!lP*+YlB4~> +JcE(V!oqterN5g:!/:ES!2oYn!6"m:!DfE]rs\U.."\_=Wal*5!-Qudrs.R[!-)O,!28r_%.05Y +FlTS(20F$A:XAS2!lP*+YlB4~> +JcE@^"npW[X`\dO!!#gj!!KG(cN*A)rrRa"Wr0U5GQ>;Frr_:=L$em>!kA;pnG`XEFT;EDrr3)o +K`KHhrrG!fYlB4~> +JcE@^"npW[X`\dO!!#gj!!KG(cN*A)rrRa"Wr0U5GQ>;Frr_:=L$em>!kA;pnG`XEFT;EDrr3)o +K`KHhrrG!fYlB4~> +JcE@^"npW[X`\dO!!#gj!!KG(cN*A)rrRa"Wr0U5GQ>;Frr_:=L$em>!kA;pnG`XEFT;EDrr3)o +K`KHhrrG!fYlB4~> +JcEOc"RXO;FZ&4[!(?S^!gAXTo`#!Q!1Wi"!Ea72rrVmiL&:lOcN);\rrUjR`;BQ9P;W()rrJ +JcEOc"RXO;FZ&4[!(?S^!gAXTo`#!Q!1Wi"!Ea72rrVmiL&:lOcN);\rrUjR`;BQ9P;W()rrJ +JcEOc"RXO;FZ&4[!(?S^!gAXTo`#!Q!1Wi"!Ea72rrVmiL&:lOcN);\rrUjR`;BQ9P;W()rrJ +JcE[g"66qG2=pkMA9E%nXnLHIXnD_q'sdK3!M2s[^B0l)mI^D[_uTN-rrJp,0DO +rrULHmBQ\A~> +JcE[g"66qG2=pkMA9E%nXnLHIXnD_q'sdK3!M2s[^B0l)mI^D[_uTN-rrJp,0DO +rrULHmBQ\A~> +JcE[g"66qG2=pkMA9E%nXnLHIXnD_q'sdK3!M2s[^B0l)mI^D[_uTN-rrJp,0DO +rrULHmBQ\A~> +JcEgk"77(SFd&rRg%Oe4!9<_P!Cl,BrrI"^pqHh0g%>:FKp2?4!oj:Jnc&Uich[SATloo* +!B%g#s*t~> +JcEgk"77(SFd&rRg%Oe4!9<_P!Cl,BrrI"^pqHh0g%>:FKp2?4!oj:Jnc&Uich[SATloo* +!B%g#s*t~> +JcEgk"77(SFd&rRg%Oe4!9<_P!Cl,BrrI"^pqHh0g%>:FKp2?4!oj:Jnc&Uich[SATloo* +!B%g#s*t~> +JcEpn!ootMp](D=Xj?%hrrBV&!!-W4p&>&1K)!(]!87#E!HkO>rrE,Qo)AdE!;?6g!RCc9rrIh; +Z2]=~> +JcEpn!ootMp](D=Xj?%hrrBV&!!-W4p&>&1K)!(]!87#E!HkO>rrE,Qo)AdE!;?6g!RCc9rrIh; +Z2]=~> +JcEpn!ootMp](D=Xj?%hrrBV&!!-W4p&>&1K)!(]!87#E!HkO>rrE,Qo)AdE!;?6g!RCc9rrIh; +Z2]=~> +JcF$q!ooJ?q>^UTKt67%rr@cL!!G05XaPoprrI"hpqHh0g%>:FFfkH=! +JcF$q!ooJ?q>^UTKt67%rr@cL!!G05XaPoprrI"hpqHh0g%>:FFfkH=! +JcF$q!ooJ?q>^UTKt67%rr@cL!!G05XaPoprrI"hpqHh0g%>:FFfkH=! +JcF-t!pu[Wq>^S>\`;KF!&a`U"([V6j8T&ZFfk98!M2s[^B1/1mI^DZFeSX2!pp!@o)AdY!9 +JcF-t!pu[Wq>^S>\`;KF!&a`U"([V6j8T&ZFfk98!M2s[^B1/1mI^DZFeSX2!pp!@o)AdY!9 +JcF-t!pu[Wq>^S>\`;KF!&a`U"([V6j8T&ZFfk98!M2s[^B1/1mI^DZFeSX2!pp!@o)AdY!9 +JcF7"!qsQCqZ$^UPL&sVrrh_3Xj?_;rrE,GoD\mP!2KD*!Ea72rrJfhq>UK+2=UVH:TaHm!G%Da +rrV3\j0J]8~> +JcF7"!qsQCqZ$^UPL&sVrrh_3Xj?_;rrE,GoD\mP!2KD*!Ea72rrJfhq>UK+2=UVH:TaHm!G%Da +rrV3\j0J]8~> +JcF7"!qsQCqZ$^UPL&sVrrh_3Xj?_;rrE,GoD\mP!2KD*!Ea72rrJfhq>UK+2=UVH:TaHm!G%Da +rrV3\j0J]8~> +JcF=$!pu1/qu?dUPL%DO! +JcF=$!pu1/qu?dUPL%DO! +JcF=$!pu1/qu?dUPL%DO! +JcFC&!SMVm!!.elaSu>/!9 +JcFC&!SMVm!!.elaSu>/!9 +JcFC&!SMVm!!.elaSu>/!9 +JcFI(!Q7e3!!5rumDf/,f`:OA!VW,`!!,X:n,EZW!0b+DTf#X+mf*RQA2U(.aHHUfmf*:ffs:X.~> +JcFI(!Q7e3!!5rumDf/,f`:OA!VW,`!!,X:n,EZW!0b+DTf#X+mf*RQA2U(.aHHUfmf*:ffs:X.~> +JcFI(!Q7e3!!5rumDf/,f`:OA!VW,`!!,X:n,EZW!0b+DTf#X+mf*RQA2U(.aHHUfmf*:ffs:X.~> +JcFO*!Q7e3!!.5g_uBbj!:KjhNW:nLm/I:9HN4%/XnM,]#55/n!!$]NmJd2E\[)6c~> +JcFO*!Q7e3!!.5g_uBbj!:KjhNW:nLm/I:9HN4%/XnM,]#55/n!!$]NmJd2E\[)6c~> +JcFO*!Q7e3!!.5g_uBbj!:KjhNW:nLm/I:9HN4%/XnM,]#55/n!!$]NmJd2E\[)6c~> +JcFU,!Q7e3!!/;N_>aPh!:TpkP5rPS!4hLs"lhINVZ;qGrrp=@Ncb??mJd1efs:X.~> +JcFU,!Q7e3!!/;N_>aPh!:TpkP5rPS!4hLs"lhINVZ;qGrrp=@Ncb??mJd1efs:X.~> +JcFU,!Q7e3!!/;N_>aPh!:TpkP5rPS!4hLs"lhINVZ;qGrrp=@Ncb??mJd1efs:X.~> +JcF[.!RFR?!!5$OmD&Z&p&Ne9rs+_f`;fk>!9 +JcF[.!RFR?!!5$OmD&Z&p&Ne9rs+_f`;fk>!9 +JcF[.!RFR?!!5$OmD&Z&p&Ne9rs+_f`;fk>!9 +JcFa0!SMVo!!5$[p:UD+!86rC!gY"2k2'pAY'ofem=6n,EHQ!6"j9"2k1^p@/(_ +!84[XJ,~> +JcFa0!SMVo!!5$[p:UD+!86rC!gY"2k2'pAY'ofem=6n,EHQ!6"j9"2k1^p@/(_ +!84[XJ,~> +JcFa0!SMVo!!5$[p:UD+!86rC!gY"2k2'pAY'ofem=6n,EHQ!6"j9"2k1^p@/(_ +!84[XJ,~> +JcFg2!VV`T!!04q])Mdg`:O!1P5rQ!rrVRFPOe_T_uQ"urr_:WAE37\"87F+`;BQ:j#(B-o)AdE +!:@)lJ,~> +JcFg2!VV`T!!04q])Mdg`:O!1P5rQ!rrVRFPOe_T_uQ"urr_:WAE37\"87F+`;BQ:j#(B-o)AdE +!:@)lJ,~> +JcFg2!VV`T!!04q])Mdg`:O!1P5rQ!rrVRFPOe_T_uQ"urr_:WAE37\"87F+`;BQ:j#(B-o)AdE +!:@)lJ,~> +JcFj3!P()d!!/;N\GlSPXn;VpP5rPtrrULH`:X'2NrZ +JcFj3!P()d!!/;N\GlSPXn;VpP5rPtrrULH`:X'2NrZ +JcFj3!P()d!!/;N\GlSPXn;VpP5rPtrrULH`:X'2NrZ +JcFp5!TR_h!!.6&[f6B%Fnbn=p +JcFp5!TR_h!!.6&[f6B%Fnbn=p +JcFp5!TR_h!!.6&[f6B%Fnbn=p +JcG!7!VW5c!!,m6[/U0F!;QR!\MXA#4TKWbr;R#(2#pWP!-R],rs4egPM,!BFTBAWrs-k-!'aik +27`Yb$2.meXkDaQ:Gq21rs4egPM,!BFTBASrrHZ(Z2]=~> +JcG!7!VW5c!!,m6[/U0F!;QR!\MXA#4TKWbr;R#(2#pWP!-R],rs4egPM,!BFTBAWrs-k-!'aik +27`Yb$2.meXkDaQ:Gq21rs4egPM,!BFTBASrrHZ(Z2]=~> +JcG!7!VW5c!!,m6[/U0F!;QR!\MXA#4TKWbr;R#(2#pWP!-R],rs4egPM,!BFTBAWrs-k-!'aik +27`Yb$2.meXkDaQ:Gq21rs4egPM,!BFTBASrrHZ(Z2]=~> +JcG$8!SL9I!!/eeZi:*o!875K$'P@kpAb0GA2WEHrs=khXnMepfjlu#rr3&%!6"g8!hfVIrVm1t +!28f[s7WPpPPtO]A,u?%rr_t*:\Oef!j)I@r;Qh^!872J!qlW?Z2]=~> +JcG$8!SL9I!!/eeZi:*o!875K$'P@kpAb0GA2WEHrs=khXnMepfjlu#rr3&%!6"g8!hfVIrVm1t +!28f[s7WPpPPtO]A,u?%rr_t*:\Oef!j)I@r;Qh^!872J!qlW?Z2]=~> +JcG$8!SL9I!!/eeZi:*o!875K$'P@kpAb0GA2WEHrs=khXnMepfjlu#rr3&%!6"g8!hfVIrVm1t +!28f[s7WPpPPtO]A,u?%rr_t*:\Oef!j)I@r;Qh^!872J!qlW?Z2]=~> +JcG'9!3Q2"!G(5prrGohqu6`D!6"g8#PM\=s8UCF`;KW?p1._6s7S=PqYpSM:]C@qcN(o\rs-IB +\c;]J!9 +JcG'9!3Q2"!G(5prrGohqu6`D!6"g8#PM\=s8UCF`;KW?p1._6s7S=PqYpSM:]C@qcN(o\rs-IB +\c;]J!9 +JcG'9!3Q2"!G(5prrGohqu6`D!6"g8#PM\=s8UCF`;KW?p1._6s7S=PqYpSM:]C@qcN(o\rs-IB +\c;]J!9 +ZMt*gft"5eU&0!3XTHGomEY_4j(/)g!3NF(!MN +ZMt*gft"5eU&0!3XTHGomEY_4j(/)g!3NF(!MN +ZMt*gft"5eU&0!3XTHGomEY_4j(/)g!3NF(!MN +\Gl^!c`M=crVuporcS.@!29C7!&a`U"D!4gg%Ntr!Q6kp!!-WjXoAIi!71WD!pp!6q>^JK!pp!J +q>USOPQ-i#q#:LT\c;$sj8&]Ym/Yi>!71K@"k`nUs-&03rrG!qqu6`k!5u,AJ,~> +\Gl^!c`M=crVuporcS.@!29C7!&a`U"D!4gg%Ntr!Q6kp!!-WjXoAIi!71WD!pp!6q>^JK!pp!J +q>USOPQ-i#q#:LT\c;$sj8&]Ym/Yi>!71K@"k`nUs-&03rrG!qqu6`k!5u,AJ,~> +\Gl^!c`M=crVuporcS.@!29C7!&a`U"D!4gg%Ntr!Q6kp!!-WjXoAIi!71WD!pp!6q>^JK!pp!J +q>USOPQ-i#q#:LT\c;$sj8&]Ym/Yi>!71K@"k`nUs-&03rrG!qqu6`k!5u,AJ,~> +]`/?4c]_-)!-P!Gg$S>0$00^@P@OXnA>.]1rrMhWr;Zi"WrE*BL&M#Pf`:gI"0H_!!;QQsX`aYd +Xn_o!Ffk\s!;HKrA?Gk3g%kXOirJ->FfkH=!HkOArrK5ZYQ'+~> +]`/?4c]_-)!-P!Gg$S>0$00^@P@OXnA>.]1rrMhWr;Zi"WrE*BL&M#Pf`:gI"0H_!!;QQsX`aYd +Xn_o!Ffk\s!;HKrA?Gk3g%kXOirJ->FfkH=!HkOArrK5ZYQ'+~> +]`/?4c]_-)!-P!Gg$S>0$00^@P@OXnA>.]1rrMhWr;Zi"WrE*BL&M#Pf`:gI"0H_!!;QQsX`aYd +Xn_o!Ffk\s!;HKrA?Gk3g%kXOirJ->FfkH=!HkOArrK5ZYQ'+~> +^]+Q4`.\0kFh-2frs/8NTk"-\PL&+c!TR_i!!+t1WW*% +^]+Q4`.\0kFh-2frs/8NTk"-\PL&+c!TR_i!!+t1WW*% +^]+Q4`.\0kFh-2frs/8NTk"-\PL&+c!TR_i!!+t1WW*% +_>a\bK`Euocee[+p;DXb23[([rrLG'rVutQp8@ok:QteX!ndSIq>UT"FkHcgq>USkFoSR>q>UZd +!87D*!;?3f"?!aiA>/i!"h?Mjs/f)mrrVQfg&1jOXT7als*t~> +_>a\bK`Euocee[+p;DXb23[([rrLG'rVutQp8@ok:QteX!ndSIq>UT"FkHcgq>USkFoSR>q>UZd +!87D*!;?3f"?!aiA>/i!"h?Mjs/f)mrrVQfg&1jOXT7als*t~> +_>a\bK`Euocee[+p;DXb23[([rrLG'rVutQp8@ok:QteX!ndSIq>UT"FkHcgq>USkFoSR>q>UZd +!87D*!;?3f"?!aiA>/i!"h?Mjs/f)mrrVQfg&1jOXT7als*t~> +`;^#7\PE3Z`7Y(np:4]6Fi/\s`;0E::SIgU!71NA#-Bc_ +s7QH2q>UZP!9=*]2>6nH##CH_s6Tg>qYpSu2>mIUp,/PHs*t~> +`;^#7\PE3Z`7Y(np:4]6Fi/\s`;0E::SIgU!71NA#-Bc_ +s7QH2q>UZP!9=*]2>6nH##CH_s6Tg>qYpSu2>mIUp,/PHs*t~> +`;^#7\PE3Z`7Y(np:4]6Fi/\s`;0E::SIgU!71NA#-Bc_ +s7QH2q>UZP!9=*]2>6nH##CH_s6Tg>qYpSu2>mIUp,/PHs*t~> +`r?59XYhu0mF2(D&T#Isj%s8S9?j8AoY +f`8S^rrSB[pA4ghFoVICp,/'2rrSBAmJd+eKf/T%rrUjR\buI/Tf)PHs*t~> +`r?59XYhu0mF2(D&T#Isj%s8S9?j8AoY +f`8S^rrSB[pA4ghFoVICp,/'2rrSBAmJd+eKf/T%rrUjR\buI/Tf)PHs*t~> +`r?59XYhu0mF2(D&T#Isj%s8S9?j8AoY +f`8S^rrSB[pA4ghFoVICp,/'2rrSBAmJd+eKf/T%rrUjR\buI/Tf)PHs*t~> +a8Z:E2)VN0lMgqQg$S&("RVBQ:XAD-!VU('!!-WtUAkMP!4i.0m5:+$rVm,_251'Mm5:+*rrUk2 +U&P&up1-&!s8Vep!0dB]"77sVpAFplP5sYBrs@?YFlWN%m=bPYrVm2tA2V=*s7WPpPPkF^irHWl +s*t~> +a8Z:E2)VN0lMgqQg$S&("RVBQ:XAD-!VU('!!-WtUAkMP!4i.0m5:+$rVm,_251'Mm5:+*rrUk2 +U&P&up1-&!s8Vep!0dB]"77sVpAFplP5sYBrs@?YFlWN%m=bPYrVm2tA2V=*s7WPpPPkF^irHWl +s*t~> +a8Z:E2)VN0lMgqQg$S&("RVBQ:XAD-!VU('!!-WtUAkMP!4i.0m5:+$rVm,_251'Mm5:+*rrUk2 +U&P&up1-&!s8Vep!0dB]"77sVpAFplP5sYBrs@?YFlWN%m=bPYrVm2tA2V=*s7WPpPPkF^irHWl +s*t~> +ao;Ls:Go9Jli.%[X\\or!]@+RlMh"SP5oamn,EF^AGuQ0L%_2>%\YcIs8V+::W1r>P5ob!rr38a +2,D0DfolE"r;R#qP5kSn!&^nUrs@^C:V#03\PG*/r;R#^:B37J!)M;Frs/7]!!$O026HfV!qp/I +XT*e~> +ao;Ls:Go9Jli.%[X\\or!]@+RlMh"SP5oamn,EF^AGuQ0L%_2>%\YcIs8V+::W1r>P5ob!rr38a +2,D0DfolE"r;R#qP5kSn!&^nUrs@^C:V#03\PG*/r;R#^:B37J!)M;Frs/7]!!$O026HfV!qp/I +XT*e~> +ao;Ls:Go9Jli.%[X\\or!]@+RlMh"SP5oamn,EF^AGuQ0L%_2>%\YcIs8V+::W1r>P5ob!rr38a +2,D0DfolE"r;R#qP5kSn!&^nUrs@^C:V#03\PG*/r;R#^:B37J!)M;Frs/7]!!$O026HfV!qp/I +XT*e~> +bPq_=K`HholMh4OA2ULLs5U4=2<3s$"5.2bXmuDlj#-f9!0a#S!qp/8rr32iP;N=?:W3/1#47U3 +!!$QJq>UTbc`Pmoq>U]nTeufM23[G'rr_<"\_6`W"RXO;g%P=C!g>M/XT*e~> +bPq_=K`HholMh4OA2ULLs5U4=2<3s$"5.2bXmuDlj#-f9!0a#S!qp/8rr32iP;N=?:W3/1#47U3 +!!$QJq>UTbc`Pmoq>U]nTeufM23[G'rr_<"\_6`W"RXO;g%P=C!g>M/XT*e~> +bPq_=K`HholMh4OA2ULLs5U4=2<3s$"5.2bXmuDlj#-f9!0a#S!qp/8rr32iP;N=?:W3/1#47U3 +!!$QJq>UTbc`Pmoq>U]nTeufM23[G'rr_<"\_6`W"RXO;g%P=C!g>M/XT*e~> +bl7dk2,Doirr_sjAG5s$"867_p?;MY\M[pXo`"sP2?!RU`16i/j#*%'rrU+=`2iog~> +bl7dk2,Doirr_sjAG5s$"867_p?;MY\M[pXo`"sP2?!RU`16i/j#*%'rrU+=`2iog~> +bl7dk2,Doirr_sjAG5s$"867_p?;MY\M[pXo`"sP2?!RU`16i/j#*%'rrU+=`2iog~> +c2Rm>!/:.1rrT;[pA4djp.pn8rr_Y!28o4g!TQ':!!'s+rrU+=`3B7CirGdQs*t~> +c2Rm>!/:.1rrT;[pA4djp.pn8rr_Y!28o4g!TQ':!!'s+rrU+=`3B7CirGdQs*t~> +c2Rm>!/:.1rrT;[pA4djp.pn8rr_Y!28o4g!TQ':!!'s+rrU+=`3B7CirGdQs*t~> +ci4+@A2V +ci4+@A2V +ci4+@A2V +d/O4.2,E8prrV3\mJ-\_p&Ne-rr^1sAG5p#"lhH?!&`f&rrSAa`3fOHj#(B@WW.J~> +d/O4.2,E8prrV3\mJ-\_p&Ne-rr^1sAG5p#"lhH?!&`f&rrSAa`3fOHj#(B@WW.J~> +d/O4.2,E8prrV3\mJ-\_p&Ne-rr^1sAG5p#"lhH?!&`f&rrSAa`3fOHj#(B@WW.J~> +dJj=/2.ZFBrrLdQpAY-ng#W/8j#(B@rVm&]2#mV6j-9QFP5rP0rr_:=AG2u%J,~> +dJj=/2.ZFBrrLdQpAY-ng#W/8j#(B@rVm&]2#mV6j-9QFP5rP0rr_:=AG2u%J,~> +dJj=/2.ZFBrrLdQpAY-ng#W/8j#(B@rVm&]2#mV6j-9QFP5rP0rr_:=AG2u%J,~> +df0F020JWRrrUjRmJ-\_p&Ne+rsRjtAG6''j#$f:2<0l"!g +df0F020JWRrrUjRmJ-\_p&Ne+rsRjtAG6''j#$f:2<0l"!g +df0F020JWRrrUjRmJ-\_p&Ne+rsRjtAG6''j#$f:2<0l"!g +e,KL023[#!!B%gjrrU+=p>Z)Yp1._-j#$f:2<0eu!hfUf])MlN!/:-Ds*t~> +e,KL023[#!!B%gjrrU+=p>Z)Yp1._-j#$f:2<0eu!hfUf])MlN!/:-Ds*t~> +e,KL023[#!!B%gjrrU+=p>Z)Yp1._-j#$f:2<0eu!hfUf])MlN!/:-Ds*t~> +eGfU12.YYF!g?FRq>UJ+L#Dt9p,-5O!!"n:NrK4"!-S"KrrSAaTqq^=~> +eGfU12.YYF!g?FRq>UJ+L#Dt9p,-5O!!"n:NrK4"!-S"KrrSAaTqq^=~> +eGfU12.YYF!g?FRq>UJ+L#Dt9p,-5O!!"n:NrK4"!-S"KrrSAaTqq^=~> +ec,aF:Ls1Wrr_X6HhR@:!f/,`hu<`3(&e15`/O]uj%hPc_#FMsA2V<#s*t~> +ec,aF:Ls1Wrr_X6HhR@:!f/,`hu<`3(&e15`/O]uj%hPc_#FMsA2V<#s*t~> +ec,aF:Ls1Wrr_X6HhR@:!f/,`hu<`3(&e15`/O]uj%hPc_#FMsA2V<#s*t~> +ec,\n2>6#/#55/V0.Ti:rr3/JA1K6-`8LXqFoD@@`/=Qtp4WL?p;?n4\M[pXUAo`~> +ec,\n2>6#/#55/V0.Ti:rr3/JA1K6-`8LXqFoD@@`/=Qtp4WL?p;?n4\M[pXUAo`~> +ec,\n2>6#/#55/V0.Ti:rr3/JA1K6-`8LXqFoD@@`/=Qtp4WL?p;?n4\M[pXUAo`~> +f)GfR!86B3#PP8W26HT>PPbCbL$eSt!-QuTrrMLErVurOM#RS'2,DQ +f)GfR!86B3#PP8W26HT>PPbCbL$eSt!-QuTrrMLErVurOM#RS'2,DQ +f)GfR!86B3#PP8W26HT>PPbCbL$eSt!-QuTrrMLErVurOM#RS'2,DQ +fDbp4!3P;]"no&U26HTNrri%n!87)ErrhA)!/9h$rrqF?PBB[pM#RVOP5oaYb5VV3P5oacTDsE~> +fDbp4!3P;]"no&U26HTNrri%n!87)ErrhA)!/9h$rrqF?PBB[pM#RVOP5oaYb5VV3P5oacTDsE~> +fDbp4!3P;]"no&U26HTNrri%n!87)ErrhA)!/9h$rrqF?PBB[pM#RVOP5oaYb5VV3P5oacTDsE~> +fDkk]jSoDWXYhuu;WpAaM;Tn`RMfl[:YmEY_7m?7NGc^k)d~> +fDkk]jSoDWXYhuu;WpAaM;Tn`RMfl[:YmEY_7m?7NGc^k)d~> +fDkk]jSoDWXYhuu;WpAaM;Tn`RMfl[:YmEY_7m?7NGc^k)d~> +f`)#`!9<5A"mrEL26HTIrrG!qp\t?+2)W>4rrT_2j+[L9fjk)*g!]m'm?7NG`1-dW~> +f`)#`!9<5A"mrEL26HTIrrG!qp\t?+2)W>4rrT_2j+[L9fjk)*g!]m'm?7NG`1-dW~> +f`)#`!9<5A"mrEL26HTIrrG!qp\t?+2)W>4rrT_2j+[L9fjk)*g!]m'm?7NG`1-dW~> +g&D-I25045"mqKR:V$2nrrULHmIpP_p7VI^g#W/6A9EP)"ke"u:V$2Orrr,7FT>4URK%d~> +g&D-I25045"mqKR:V$2nrrULHmIpP_p7VI^g#W/6A9EP)"ke"u:V$2Orrr,7FT>4URK%d~> +g&D-I25045"mqKR:V$2nrrULHmIpP_p7VI^g#W/6A9EP)"ke"u:V$2Orrr,7FT>4URK%d~> +g&D,U2>6;7"RVBQ:W2o*!MO&qrrh_3!-R\krrUjRfn05.m?9C-KuE]@rrp`42#rinQiDR~> +g&D,U2>6;7"RVBQ:W2o*!MO&qrrh_3!-R\krrUjRfn05.m?9C-KuE]@rrp`42#rinQiDR~> +g&D,U2>6;7"RVBQ:W2o*!MO&qrrh_3!-R\krrUjRfn05.m?9C-KuE]@rrp`42#rinQiDR~> +gA_6J26HHL%)djBFh.5Gs6Z!M:W2i(!Dfifrrh"c!29,Ls8R4ms8W*'c\2?!Ffj?Xrs.SpK`D+, +`:fJrJ,~> +gA_6J26HHL%)djBFh.5Gs6Z!M:W2i(!Dfifrrh"c!29,Ls8R4ms8W*'c\2?!Ffj?Xrs.SpK`D+, +`:fJrJ,~> +gA_6J26HHL%)djBFh.5Gs6Z!M:W2i(!Dfifrrh"c!29,Ls8R4ms8W*'c\2?!Ffj?Xrs.SpK`D+, +`:fJrJ,~> +gA_5m!;?'b%-(+`PHC$+2:I`h:W2l)!SN2+!!.f,nc'$92)VrEs/f&s!&]u6nc&[:!98Y1rVm/L +ThbXgFeQb,mf*URc`M=I!&]tYp6,H+~> +gA_5m!;?'b%-(+`PHC$+2:I`h:W2l)!SN2+!!.f,nc'$92)VrEs/f&s!&]u6nc&[:!98Y1rVm/L +ThbXgFeQb,mf*URc`M=I!&]tYp6,H+~> +gA_5m!;?'b%-(+`PHC$+2:I`h:W2l)!SN2+!!.f,nc'$92)VrEs/f&s!&]u6nc&[:!98Y1rVm/L +ThbXgFeQb,mf*URc`M=I!&]tYp6,H+~> +gA_1aPP"kWm58GArr3,pKb-_lo)B!6!-QW@cZK6+nc'$kXT2$l!28*!\PG*Cnc&VcTn37?rsA)= +Tli3m!&\nArN-*SVu3XuKlp2j!!@A;`8cmXJ,~> +gA_1aPP"kWm58GArr3,pKb-_lo)B!6!-QW@cZK6+nc'$kXT2$l!28*!\PG*Cnc&VcTn37?rsA)= +Tli3m!&\nArN-*SVu3XuKlp2j!!@A;`8cmXJ,~> +gA_1aPP"kWm58GArr3,pKb-_lo)B!6!-QW@cZK6+nc'$kXT2$l!28*!\PG*Cnc&VcTn37?rsA)= +Tli3m!&\nArN-*SVu3XuKlp2j!!@A;`8cmXJ,~> +g]%?8!87#E!d.<4qu6\6AFfa%cN(o]rrT_2cg^r:m6rJarVlunA2X)OrrKYfJcGEC"SUNeXeG]9 +!]DZNrH/7:Xh!-PM>r)~> +g]%?8!87#E!d.<4qu6\6AFfa%cN(o]rrT_2cg^r:m6rJarVlunA2X)OrrKYfJcGEC"SUNeXeG]9 +!]DZNrH/7:Xh!-PM>r)~> +g]%?8!87#E!d.<4qu6\6AFfa%cN(o]rrT_2cg^r:m6rJarVlunA2X)OrrKYfJcGEC"SUNeXeG]9 +!]DZNrH/7:Xh!-PM>r)~> +g]%;V:\=Ygm/YK/rrVQfj7E9O:QtYT!JO>=rrUjRg&(dNp,/uCrrVQfc[l,`rrP%XPC``6s*t~> +g]%;V:\=Ygm/YK/rrVQfj7E9O:QtYT!JO>=rrUjRg&(dNp,/uCrrVQfc[l,`rrP%XPC``6s*t~> +g]%;V:\=Ygm/YK/rrVQfj7E9O:QtYT!JO>=rrUjRg&(dNp,/uCrrVQfc[l,`rrP%XPC``6s*t~> +g]%:bU%J?c`&7>i!G&>)rrULHmJ?ham/YK&rrJ=+q>UK+2=^\IA>+SSmf*:\rVuq^JcC6~> +g]%:bU%J?c`&7>i!G&>)rrULHmJ?ham/YK&rrJ=+q>UK+2=^\IA>+SSmf*:\rVuq^JcC6~> +g]%:bU%J?c`&7>i!G&>)rrULHmJ?ham/YK&rrJ=+q>UK+2=^\IA>+SSmf*:\rVuq^JcC6~> +h#@HL!71<;!NgM>rrJ=;o`"roAGH0*A?GD%!G&>.rrV3\j7<3NTk&`Smf*:?r;Zh]K)^?~> +h#@HL!71<;!NgM>rrJ=;o`"roAGH0*A?GD%!G&>.rrV3\j7<3NTk&`Smf*:?r;Zh]K)^?~> +h#@HL!71<;!NgM>rrJ=;o`"roAGH0*A?GD%!G&>.rrV3\j7<3NTk&`Smf*:?r;Zh]K)^?~> +h#@H/!;?'b!NgM>rrJ=;o`"roFnkt;Ffk36! +h#@H/!;?'b!NgM>rrJ=;o`"roFnkt;Ffk36! +h#@H/!;?'b!NgM>rrJ=;o`"roFnkt;Ffk36! +h#@DW:\4Se`&7>i!G&>)rrK6Eq#:A;XmuDl28o=j!qlWIo)AdY!82r'n,EBOqZ$W7K`?Q~> +h#@DW:\4Se`&7>i!G&>)rrK6Eq#:A;XmuDl28o=j!qlWIo)AdY!82r'n,EBOqZ$W7K`?Q~> +h#@DW:\4Se`&7>i!G&>)rrK6Eq#:A;XmuDl28o=j!qlWIo)AdY!82r'n,EBOqZ$W7K`?Q~> +h#@D=Fn>V7m/YK/rrVQfj7N?P`&7>i!B%gcrrI8+q>UKA!:^!h!5sHgn,EB1q>^N6L&ZZ~> +h#@D=Fn>V7m/YK/rrVQfj7N?P`&7>i!B%gcrrI8+q>UKA!:^!h!5sHgn,EB1q>^N6L&ZZ~> +h#@D=Fn>V7m/YK/rrVQfj7N?P`&7>i!B%gcrrI8+q>UKA!:^!h!5sHgn,EB1q>^N6L&ZZ~> +h#@CtXn)JnKhqF>rrI7QoD\mZ!6"a6!kA=)nc&[/2>6nH!Hj+crrI8EJcG3=p](<4LAuc~> +h#@CtXn)JnKhqF>rrI7QoD\mZ!6"a6!kA=)nc&[/2>6nH!Hj+crrI8EJcG3=p](<4LAuc~> +h#@CtXn)JnKhqF>rrI7QoD\mZ!6"a6!kA=)nc&[/2>6nH!Hj+crrI8EJcG3=p](<4LAuc~> +h#@CtXn)Jom58GArr3)oKf.o]rrSlOj8AoYj#*P"rrVmiFo21?\H(=PrrI8EJcG6>!:BL\!5sZm +J,~> +h#@CtXn)Jom58GArr3)oKf.o]rrSlOj8AoYj#*P"rrVmiFo21?\H(=PrrI8EJcG6>!:BL\!5sZm +J,~> +h#@CtXn)Jom58GArr3)oKf.o]rrSlOj8AoYj#*P"rrVmiFo21?\H(=PrrI8EJcG6>!:BL\!5sZm +J,~> +h#@CN\af\*j%fZ8RuT?`j73-Op1-&!rr3)=2.ZFLrs@^CFlWN%p7VK)n,NEAJcG6>!87&G!98n8 +J,~> +h#@CN\af\*j%fZ8RuT?`j73-Op1-&!rr3)=2.ZFLrs@^CFlWN%p7VK)n,NEAJcG6>!87&G!98n8 +J,~> +h#@CN\af\*j%fZ8RuT?`j73-Op1-&!rr3)=2.ZFLrs@^CFlWN%p7VK)n,NEAJcG6>!87&G!98n8 +J,~> +h#@BTg$eqE]eg*[\b>Ll#kjG^01@MoU%[mR#NK=p2DY=j`:!X+X`]3pnG`Kjp&G+hp5/g"~> +h#@BTg$eqE]eg*[\b>Ll#kjG^01@MoU%[mR#NK=p2DY=j`:!X+X`]3pnG`Kjp&G+hp5/g"~> +h#@BTg$eqE]eg*[\b>Ll#kjG^01@MoU%[mR#NK=p2DY=j`:!X+X`]3pnG`Kjp&G+hp5/g"~> +h#@BTcg^r/%=s*t~> +h#@BTcg^r/%=s*t~> +h#@BTcg^r/%=s*t~> +h#@CcXmuDrp1-&@s.M=1mf*L0!0dGH!4hIr#PO>]`:d_!cgLf6FeOBdnG`K!qu?dtJ,~> +h#@CcXmuDrp1-&@s.M=1mf*L0!0dGH!4hIr#PO>]`:d_!cgLf6FeOBdnG`K!qu?dtJ,~> +h#@CcXmuDrp1-&@s.M=1mf*L0!0dGH!4hIr#PO>]`:d_!cgLf6FeOBdnG`K!qu?dtJ,~> +h#@CtXn)Jop1-&@rr<"/n,EHk!29Dl!kA;pmf*C_A2WEHrrSAaXmc8jFfg5pnGiLg"uVUj9E5(G +K`?Q~> +h#@CtXn)Jop1-&@rr<"/n,EHk!29Dl!kA;pmf*C_A2WEHrrSAaXmc8jFfg5pnGiLg"uVUj9E5(G +K`?Q~> +h#@CtXn)Jop1-&@rr<"/n,EHk!29Dl!kA;pmf*C_A2WEHrrSAaXmc8jFfg5pnGiLg"uVUj9E5(G +K`?Q~> +h#@CtU%A9dp1-&@rVlrd250R?!g +h#@CtU%A9dp1-&@rVlrd250R?!g +h#@CtU%A9dp1-&@rVlrd250R?!g +h#@DWFnG\9p1-&@qu6`9!71<;"87oY`;9K9j#(B@oD\pQ2.Z+Nrr^q3AF8sf! +h#@DWFnG\9p1-&@qu6`9!71<;"87oY`;9K9j#(B@oD\pQ2.Z+Nrr^q3AF8sf! +h#@DWFnG\9p1-&@qu6`9!71<;"87oY`;9K9j#(B@oD\pQ2.Z+Nrr^q3AF8sf! +h#@Dn2>-tOp1-&@q>UM[2>6eE"kg"@*j>;5rr_:l:ZM3L"nolp(dudHrrp5,(mDo3pAY3S!98Y1 +li.(?!!%.ps*t~> +h#@Dn2>-tOp1-&@q>UM[2>6eE"kg"@*j>;5rr_:l:ZM3L"nolp(dudHrrp5,(mDo3pAY3S!98Y1 +li.(?!!%.ps*t~> +h#@Dn2>-tOp1-&@q>UM[2>6eE"kg"@*j>;5rr_:l:ZM3L"nolp(dudHrrp5,(mDo3pAY3S!98Y1 +li.(?!!%.ps*t~> +h#@H9!:BR]"iO^I!)gB(rrp>D!!$97qu6rqFT>s5BE1igqYpc +h#@H9!:BR]"iO^I!)gB(rrp>D!!$97qu6rqFT>s5BE1igqYpc +h#@H9!:BR]"iO^I!)gB(rrp>D!!$97qu6rqFT>s5BE1igqYpc +g]%:3`;9K?p2C"LS""XO?hXL!$2.^+DO[,5!+5I!rr_t*2;/!/"87F+j8Juap4WL1^!XAd!6"j9 +"627mpAY'ofem=6rr3)oA2W'>rr_tK2<4K3!L%YWs69R_!!)_Hs*t~> +g]%:3`;9K?p2C"LS""XO?hXL!$2.^+DO[,5!+5I!rr_t*2;/!/"87F+j8Juap4WL1^!XAd!6"j9 +"627mpAY'ofem=6rr3)oA2W'>rr_tK2<4K3!L%YWs69R_!!)_Hs*t~> +g]%:3`;9K?p2C"LS""XO?hXL!$2.^+DO[,5!+5I!rr_t*2;/!/"87F+j8Juap4WL1^!XAd!6"j9 +"627mpAY'ofem=6rr3)oA2W'>rr_tK2<4K3!L%YWs69R_!!)_Hs*t~> +g].;-qYpV;.'!6\!ieq$rr3%=.'!6\!idYfrr3&%2<4T6!Hh3:rrRm3g&1jOXT6<=rrGo:\aqj27\; +g].;-qYpV;.'!6\!ieq$rr3%=.'!6\!idYfrr3&%2<4T6!Hh3:rrRm3g&1jOXT6<=rrGo:\aqj27\; +g].;-qYpV;.'!6\!ieq$rr3%=.'!6\!idYfrr3&%2<4T6!Hh3:rrRm3g&1jOXT6<=rrGo:\aqj27\; +g]%>n!;??j!ndRKqnE?8!6"oU!35q2#-%[As8OsYqYpff!71]FcN)Yprs#/SpA`G=mJ?h`XYp+X +!B%"UrrVQfchdYCf`:Djs69OcK`D+kL&ZZ~> +g]%>n!;??j!ndRKqnE?8!6"oU!35q2#-%[As8OsYqYpff!71]FcN)Yprs#/SpA`G=mJ?h`XYp+X +!B%"UrrVQfchdYCf`:Djs69OcK`D+kL&ZZ~> +g]%>n!;??j!ndRKqnE?8!6"oU!35q2#-%[As8OsYqYpff!71]FcN)Yprs#/SpA`G=mJ?h`XYp+X +!B%"UrrVQfchdYCf`:Djs69OcK`D+kL&ZZ~> +g]%?K!6"g8!InYU^BAFZs*nq^^BJL^s4IDGq>UV@PQ1Z:PPP4^p,0D\PBH^$#5/&Ms4IDGq>UJ< +U&+ciP@T7Ekl1ae!!'-Ts*t~> +g]%?K!6"g8!InYU^BAFZs*nq^^BJL^s4IDGq>UV@PQ1Z:PPP4^p,0D\PBH^$#5/&Ms4IDGq>UJ< +U&+ciP@T7Ekl1ae!!'-Ts*t~> +g]%?K!6"g8!InYU^BAFZs*nq^^BJL^s4IDGq>UV@PQ1Z:PPP4^p,0D\PBH^$#5/&Ms4IDGq>UJ< +U&+ciP@T7Ekl1ae!!'-Ts*t~> +gA_2-Fo;7?09c4H"JYts!1Wf!"IfDk\PN##"g)qIrrCC?s8RcSs)kI=rrc-.s/fi,rrK6Equ6`k +27\; +gA_2-Fo;7?09c4H"JYts!1Wf!"IfDk\PN##"g)qIrrCC?s8RcSs)kI=rrc-.s/fi,rrK6Equ6`k +27\; +gA_2-Fo;7?09c4H"JYts!1Wf!"IfDk\PN##"g)qIrrCC?s8RcSs)kI=rrc-.s/fi,rrK6Equ6`k +27\; +gA_6-!87>N! +gA_6-!87>N! +gA_6-!87>N! +g&D(KFoD=@!2KA)"KDIq!2KA)"JYtsf`:gI"bi0?rrCaIrrfHHs+Q1&rrr)rg&K@uq#:AKPPb@\ +:QpA0kPkPUrW%ZPJ,~> +g&D(KFoD=@!2KA)"KDIq!2KA)"JYtsf`:gI"bi0?rrCaIrrfHHs+Q1&rrr)rg&K@uq#:AKPPb@\ +:QpA0kPkPUrW%ZPJ,~> +g&D(KFoD=@!2KA)"KDIq!2KA)"JYtsf`:gI"bi0?rrCaIrrfHHs+Q1&rrr)rg&K@uq#:AKPPb@\ +:QpA0kPkPUrW%ZPJ,~> +g&D,l!87AO!D.n=^BB`Rs%&(D^BKNKs7QH2qYpcn28oOp27`M^"_=>,`&78brs$CApAagd`;9K8 +p&N&/rrT;&m=G<"s8E"Ps*t~> +g&D,l!87AO!D.n=^BB`Rs%&(D^BKNKs7QH2qYpcn28oOp27`M^"_=>,`&78brs$CApAagd`;9K8 +p&N&/rrT;&m=G<"s8E"Ps*t~> +g&D,l!87AO!D.n=^BB`Rs%&(D^BKNKs7QH2qYpcn28oOp27`M^"_=>,`&78brs$CApAagd`;9K8 +p&N&/rrT;&m=G<"s8E"Ps*t~> +f`1torr3"j4Sc_p=HEKE48HVq4-0FAP>CoLrs"ZEpAb/V:\k"pf`9_*p,/Q@rrVmiPQ(R`P>CoL +rrSBApAP!mp,/t's5j7_A,lV_LAuc~> +f`1torr3"j4Sc_p=HEKE48HVq4-0FAP>CoLrs"ZEpAb/V:\k"pf`9_*p,/Q@rrVmiPQ(R`P>CoL +rrSBApAP!mp,/t's5j7_A,lV_LAuc~> +f`1torr3"j4Sc_p=HEKE48HVq4-0FAP>CoLrs"ZEpAb/V:\k"pf`9_*p,/Q@rrVmiPQ(R`P>CoL +rrSBApAP!mp,/t's5j7_A,lV_LAuc~> +f`)30!6"p;m4WAS^BTSrj8\KHK)<:gJcP3 +f`)30!6"p;m4WAS^BTSrj8\KHK)<:gJcP3 +f`)30!6"p;m4WAS^BTSrj8\KHK)<:gJcP3 +fDc>S2>7(M_uO\b^V@:1!36%u$,cgg\A,egGQ>\\rs7X\25..S:B8?2rr^1>L$em>"5-I-mJ[%j +_uNT8Xe@UJj8Ao_j%hP+XfYA!`;KW:f`9?Ls5a1^P5kU$LAuc~> +fDc>S2>7(M_uO\b^V@:1!36%u$,cgg\A,egGQ>\\rs7X\25..S:B8?2rr^1>L$em>"5-I-mJ[%j +_uNT8Xe@UJj8Ao_j%hP+XfYA!`;KW:f`9?Ls5a1^P5kU$LAuc~> +fDc>S2>7(M_uO\b^V@:1!36%u$,cgg\A,egGQ>\\rs7X\25..S:B8?2rr^1>L$em>"5-I-mJ[%j +_uNT8Xe@UJj8Ao_j%hP+XfYA!`;KW:f`9?Ls5a1^P5kU$LAuc~> +fDbpG:Nc[:#L>((=BI"*`;KW?`%V0n=9("mqu6]j\c-^PPO85H#h_uRA9CZJFnY_4!UZ*MFTK&H +qYpTi\c-^PPO8;J!qnL*JcFd1"0DP'XbQk+~> +fDbpG:Nc[:#L>((=BI"*`;KW?`%V0n=9("mqu6]j\c-^PPO85H#h_uRA9CZJFnY_4!UZ*MFTK&H +qYpTi\c-^PPO8;J!qnL*JcFd1"0DP'XbQk+~> +fDbpG:Nc[:#L>((=BI"*`;KW?`%V0n=9("mqu6]j\c-^PPO85H#h_uRA9CZJFnY_4!UZ*MFTK&H +qYpTi\c-^PPO8;J!qnL*JcFd1"0DP'XbQk+~> +f)Gg)!3Q8#"nom:Xi0r0rrr,7Xf]P8lMgk1riH1\hu2V$j8T4`!!'-Us*t~> +f)Gg)!3Q8#"nom:Xi0r0rrr,7Xf]P8lMgk1riH1\hu2V$j8T4`!!'-Us*t~> +f)Gg)!3Q8#"nom:Xi0r0rrr,7Xf]P8lMgk1riH1\hu2V$j8T4`!!'-Us*t~> +ec,]]!7.kK!hfVSJcFa0"4$rIFb]pH~> +ec,]]!7.kK!hfVSJcFa0"4$rIFb]pH~> +ec,]]!7.kK!hfVSJcFa0"4$rIFb]pH~> +eGfT62<1tA!lP)WJcF^/"5*YSFb]pH~> +eGfT62<1tA!lP)WJcF^/"5*YSFb]pH~> +eGfT62<1tA!lP)WJcF^/"5*YSFb]pH~> +e,KJ[2<2%C!lP)4JcF[."5*YSFb]pH~> +e,KJ[2<2%C!lP)4JcF[."5*YSFb]pH~> +e,KJ[2<2%C!lP)4JcF[."5*YSFb]pH~> +e,KODA2WDTrrU+=PC`bkrr_rp!&]N2J,~> +e,KODA2WDTrrU+=PC`bkrr_rp!&]N2J,~> +e,KODA2WDTrrU+=PC`bkrr_rp!&]N2J,~> +df0FCA2WDVrrU+=PC`bis8E"Qs*t~> +df0FCA2WDVrrU+=PC`bis8E"Qs*t~> +df0FCA2WDVrrU+=PC`bis8E"Qs*t~> +dJj=BFZ%+JrrT;&PC`bhs8E"Qs*t~> +dJj=BFZ%+JrrT;&PC`bhs8E"Qs*t~> +dJj=BFZ%+JrrT;&PC`bhs8E"Qs*t~> +ci4'1!3Np6"87EK`.@sCs8E"Qs*t~> +ci4'1!3Np6"87EK`.@sCs8E"Qs*t~> +ci4'1!3Np6"87EK`.@sCs8E"Qs*t~> +cMn!W!-S"Mrr_:l2;*Q\gA_7N!!)_Js*t~> +cMn!W!-S"Mrr_:l2;*Q\gA_7N!!)_Js*t~> +cMn!W!-S"Mrr_:l2;*Q\gA_7N!!)_Js*t~> +c2Rn!:GpJ7rr]A'FmXb[g&D.s!!(]-s*t~> +c2Rn!:GpJ7rr]A'FmXb[g&D.s!!(]-s*t~> +c2Rn!:GpJ7rr]A'FmXb[g&D.s!!(]-s*t~> +bl7h>K`Hi#`W$&#A,raLrrDc_f`:E;rr[BD!83/-J,~> +bl7h>K`Hi#`W$&#A,raLrrDc_f`:E;rr[BD!83/-J,~> +bl7h>K`Hi#`W$&#A,raLrrDc_f`:E;rr[BD!83/-J,~> +b5VRi:Go]+rs/7]\b;]sFlUdI#jp +b5VRi:Go]+rs/7]\b;]sFlUdI#jp +b5VRi:Go]+rs/7]\b;]sFlUdI#jp +ao;M;XT2/8cMn+92#nmV28muD"lmq2PBB[O!!P6&PHE0a])MkT!!(]-s*t~> +ao;M;XT2/8cMn+92#nmV28muD"lmq2PBB[O!!P6&PHE0a])MkT!!(]-s*t~> +ao;M;XT2/8cMn+92#nmV28muD"lmq2PBB[O!!P6&PHE0a])MkT!!(]-s*t~> +a8Z;0P5nCsd/O::2?3_Rp=TBJmFeUqAF0?s:[rQ-:[J,b:N`ecj1tZsFT;EpL];l~> +a8Z;0P5nCsd/O::2?3_Rp=TBJmFeUqAF0?s:[rQ-:[J,b:N`ecj1tZsFT;EpL];l~> +a8Z;0P5nCsd/O::2?3_Rp=TBJmFeUqAF0?s:[rQ-:[J,b:N`ecj1tZsFT;EpL];l~> +`W$,/P5nC\mFD4=m?9CZrVur/h>[WOfr]BSoDf.SF`jgg`7`i2l2M%_g"F]RXbCmno)Jl8U!N,F +rr[BD!83/-J,~> +`W$,/P5nC\mFD4=m?9CZrVur/h>[WOfr]BSoDf.SF`jgg`7`i2l2M%_g"F]RXbCmno)Jl8U!N,F +rr[BD!83/-J,~> +`W$,/P5nC\mFD4=m?9CZrVur/h>[WOfr]BSoDf.SF`jgg`7`i2l2M%_g"F]RXbCmno)Jl8U!N,F +rr[BD!83/-J,~> +_uBo-XYg*4`7k5!p;CJA:W2t#!!"nDir9,J`04a*!!Q/@Trm#.ec,g?ft"5-AG-!*:PH@>ao;Hc +!!(]-s*t~> +_uBo-XYg*4`7k5!p;CJA:W2t#!!"nDir9,J`04a*!!Q/@Trm#.ec,g?ft"5-AG-!*:PH@>ao;Hc +!!(]-s*t~> +_uBo-XYg*4`7k5!p;CJA:W2t#!!"nDir9,J`04a*!!Q/@Trm#.ec,g?ft"5-AG-!*:PH@>ao;Hc +!!(]-s*t~> +_#FVWK`Eua`:i0i#48sD!&]tnrr3,p:B1B;k5PPW`04!k!!@A;\_5%'"QRG&FZ&po"#YeCmEPY5 +FT;EpL];l~> +_#FVWK`Eua`:i0i#48sD!&]tnrr3,p:B1B;k5PPW`04!k!!@A;\_5%'"QRG&FZ&po"#YeCmEPY5 +FT;EpL];l~> +_#FVWK`Eua`:i0i#48sD!&]tnrr3,p:B1B;k5PPW`04!k!!@A;\_5%'"QRG&FZ&po"#YeCmEPY5 +FT;EpL];l~> +^AeK4`.^&KA>-s/l2M"K\W]eh23ZA_rrCaO!!'.drrV5SAG?-,A>-s%^&J3%c`M?b!!5ricd;[o +FT;EpL];l~> +^AeK4`.^&KA>-s/l2M"K\W]eh23ZA_rrCaO!!'.drrV5SAG?-,A>-s%^&J3%c`M?b!!5ricd;[o +FT;EpL];l~> +^AeK4`.^&KA>-s/l2M"K\W]eh23ZA_rrCaO!!'.drrV5SAG?-,A>-s%^&J3%c`M?b!!5ricd;[o +FT;EpL];l~> +])MibX`aUC"a-$2ce7@Qs8UaY`3"`(!!"m1\`I4RFfj?'rr^rbKf/Z+ +!enSdeGfVn!!(]-s*t~> +])MibX`aUC"a-$2ce7@Qs8UaY`3"`(!!"m1\`I4RFfj?'rr^rbKf/Z+ +!enSdeGfVn!!(]-s*t~> +])MibX`aUC"a-$2ce7@Qs8UaY`3"`(!!"m1\`I4RFfj?'rr^rbKf/Z+ +!enSdeGfVn!!(]-s*t~> +[f6Kj`3"`9nc/hNFd&rRmIL8\p.kYgAG5Wp!qsQdq#CJ,XkBcT!oph6q#CJ,\aA#K"*FSDfn]TX~> +[f6Kj`3"`9nc/hNFd&rRmIL8\p.kYgAG5Wp!qsQdq#CJ,XkBcT!oph6q#CJ,\aA#K"*FSDfn]TX~> +[f6Kj`3"`9nc/hNFd&rRmIL8\p.kYgAG5Wp!qsQdq#CJ,XkBcT!oph6q#CJ,\aA#K"*FSDfn]TX~> +YQ"UipXoQ?lMgkErVuqlp&>'2L&(cO23YuPV#LMBThkLb!bB7CgA_7t!!(]-s*t~> +YQ"UipXoQ?lMgkErVuqlp&>'2L&(cO23YuPV#LMBThkLb!bB7CgA_7t!!(]-s*t~> +YQ"UipXoQ?lMgkErVuqlp&>'2L&(cO23YuPV#LMBThkLb!bB7CgA_7t!!(]-s*t~> +MuNdZrVurEq>UNLP;W4;!`,NMSc8cO\RbO:!JSJIrr[BD!83/-J,~> +MuNdZrVurEq>UNLP;W4;!`,NMSc8cO\RbO:!JSJIrr[BD!83/-J,~> +MuNdZrVurEq>UNLP;W4;!`,NMSc8cO\RbO:!JSJIrr[BD!83/-J,~> +MZ3g%!!"nDrVlrdX\\fo!`,NMQi@-S\RbR;!]?2%hu +MZ3g%!!"nDrVlrdX\\fo!`,NMQi@-S\RbR;!]?2%hu +MZ3g%!!"nDrVlrdX\\fo!`,NMQi@-S\RbR;!]?2%hu +MZ3tU2#mVes8UE!qZ$[nU#V:8!q!O/qZ$\.`:i3j"*FSDfn]TX~> +MZ3tU2#mVes8UE!qZ$[nU#V:8!q!O/qZ$\.`:i3j"*FSDfn]TX~> +MZ3tU2#mVes8UE!qZ$[nU#V:8!q!O/qZ$\.`:i3j"*FSDfn]TX~> +M>mS/rVut9:](1o23Z^OrrV5S:](1o250EurrZ$s!;;3JJ,~> +M>mS/rVut9:](1o23Z^OrrV5S:](1o250EurrZ$s!;;3JJ,~> +M>mS/rVut9:](1o23Z^OrrV5S:](1o250EurrZ$s!;;3JJ,~> +M#RIDq>^S-`:erc!RHJs!!.5qk5YD\LAuc~> +M#RIDq>^S-`:erc!RHJs!!.5qk5YD\LAuc~> +M#RIDq>^S-`:erc!RHJs!!.5qk5YD\LAuc~> +MZ3_1Fo24@09bFIrrVSi:](1n:W2JsrW%]QJ,~> +MZ3_1Fo24@09bFIrrVSi:](1n:W2JsrW%]QJ,~> +MZ3_1Fo24@09bFIrrVSi:](1n:W2JsrW%]QJ,~> +N;ips:\k%l@.o0OrVlo:Fo24@:Ta?Vs8E"Qs*t~> +N;ips:\k%l@.o0OrVlo:Fo24@:Ta?Vs8E"Qs*t~> +N;ips:\k%l@.o0OrVlo:Fo24@:Ta?Vs8E"Qs*t~> +NrK-u:](1nFi"%W!/6"(qu6]WPPbC^26HT?rr_rp!&]N2J,~> +NrK-u:](1nFi"%W!/6"(qu6]WPPbC^26HT?rr_rp!&]N2J,~> +NrK-u:](1nFi"%W!/6"(qu6]WPPbC^26HT?rr_rp!&]N2J,~> +OT,@":](1qPO8DM\c)R/Tn37?rrVSi2>mLV26HTArr^pS!-O%rJ,~> +OT,@":](1qPO8DM\c)R/Tn37?rrVSi2>mLV26HTArr^pS!-O%rJ,~> +OT,@":](1qPO8DM\c)R/Tn37?rrVSi2>mLV26HTArr^pS!-O%rJ,~> +P5bR$:]17p23[G*rrA8^!!'rgs7uZrp8p4N!!5$[p@A4cf`2"pLAuc~> +P5bR$:]17p23[G*rrA8^!!'rgs7uZrp8p4N!!5$[p@A4cf`2"pLAuc~> +P5bR$:]17p23[G*rrA8^!!'rgs7uZrp8p4N!!5$[p@A4cf`2"pLAuc~> +PlCd;:]17p26HTJrrcj4!&`efs7cNo`)$=3!B%FZrr^RI!-O%rJ,~> +PlCd;:]17p26HTJrrcj4!&`efs7cNo`)$=3!B%FZrr^RI!-O%rJ,~> +PlCd;:]17p26HTJrrcj4!&`efs7cNo`)$=3!B%FZrr^RI!-O%rJ,~> +QN%!=Fo;:A26HTHrrr*R!!"nDJcGHD!Q7e4!!,m6p&>,r!!'-Us*t~> +QN%!=Fo;:A26HTHrrr*R!!"nDJcGHD!Q7e4!!,m6p&>,r!!'-Us*t~> +QN%!=Fo;:A26HTHrrr*R!!"nDJcGHD!Q7e4!!,m6p&>,r!!'-Us*t~> +R/[3SPPbC]PP4YK"lhH?!+beSs7ZHop8p4N!!.5qp\t>t!!'-Us*t~> +R/[3SPPbC]PP4YK"lhH?!+beSs7ZHop8p4N!!.5qp\t>t!!'-Us*t~> +R/[3SPPbC]PP4YK"lhH?!+beSs7ZHop8p4N!!.5qp\t>t!!'-Us*t~> +RfUP\!!'R\rrh`B\ZM(pFT>tO!!$R/FTdo1 +\_6Ais*t~> +RfUP\!!'R\rrh`B\ZM(pFT>tO!!$R/FTdo1 +\_6Ais*t~> +RfUP\!!'R\rrh`B\ZM(pFT>tO!!$R/FTdo1 +\_6Ais*t~> +S,WN8:]17oFlVoi!4i(/!0`!6oD\jYPPkI^26H`T"*FSDg"ZN/mDP]@rW!!qFbTdrrn.:^riH6U +F\hu:"*KgGj3.IQ~> +S,WN8:]17oFlVoi!4i(/!0`!6oD\jYPPkI^26H`T"*FSDg"ZN/mDP]@rW!!qFbTdrrn.:^riH6U +F\hu:"*KgGj3.IQ~> +S,WN8:]17oFlVoi!4i(/!0`!6oD\jYPPkI^26H`T"*FSDg"ZN/mDP]@rW!!qFbTdrrn.:^riH6U +F\hu:"*KgGj3.IQ~> +Sc8`XFo;:@:XAA,!0dB^!24uDo)AaNFo;:@:YG[G"(VB3g#)f9p;E.j!&\o$cf=Hn$00@6FYs.V +PJm1@s*t~> +Sc8`XFo;:@:XAA,!0dB^!24uDo)AaNFo;:@:YG[G"(VB3g#)f9p;E.j!&\o$cf=Hn$00@6FYs.V +PJm1@s*t~> +Sc8`XFo;:@:XAA,!0dB^!24uDo)AaNFo;:@:YG[G"(VB3g#)f9p;E.j!&\o$cf=Hn$00@6FYs.V +PJm1@s*t~> +T)Semr;ZjUXm#cbL&M&P`.@sYrrLGAr;Zk^pAY*k!9*q_p;DXb!/7uDjSoJF\V2m@KuE]5s*t~> +T)Semr;ZjUXm#cbL&M&P`.@sYrrLGAr;Zk^pAY*k!9*q_p;DXb!/7uDjSoJF\V2m@KuE]5s*t~> +T)Semr;ZjUXm#cbL&M&P`.@sYrrLGAr;Zk^pAY*k!9*q_p;DXb!/7uDjSoJF\V2m@KuE]5s*t~> +T`5&G:]17oPP42>!VU('!!'rgs7-*ip9"8n"#\$spAP'Prrq)>2#ridh#@Q(P;N?(g!p%P~> +T`5&G:]17oPP42>!VU('!!'rgs7-*ip9"8n"#\$spAP'Prrq)>2#ridh#@Q(P;N?(g!p%P~> +T`5&G:]17oPP42>!VU('!!'rgs7-*ip9"8n"#\$spAP'Prrq)>2#ridh#@Q(P;N?(g!p%P~> +UAk8fU&=rl:YFh/!VU('!!(>rs7$$hm4Uf)L7~> +UAk8fU&=rl:YFh/!VU('!!(>rs7$$hm4Uf)L7~> +UAk8fU&=rl:YFh/!VU('!!(>rs7$$hm4Uf)L7~> +U]1AJ:]17nXl99`m54kD2<08fn,EF72?!RX.f]Qlr;Qfb\aKJ#`(pAsj3mr1m?7NG`7Y*?~> +U]1AJ:]17nXl99`m54kD2<08fn,EF72?!RX.f]Qlr;Qfb\aKJ#`(pAsj3mr1m?7NG`7Y*?~> +U]1AJ:]17nXl99`m54kD2<08fn,EF72?!RX.f]Qlr;Qfb\aKJ#`(pAsj3mr1m?7NG`7Y*?~> +V>gSiU&=rlFlVBZ"lhH?!&`efs6osgp4`DE!29Ak"867_p@8.cfhVU3mHX]Sj2AL]p?MY\m?7NG +ceADL~> +V>gSiU&=rlFlVBZ"lhH?!&`efs6osgp4`DE!29Ak"867_p@8.cfhVU3mHX]Sj2AL]p?MY\m?7NG +ceADL~> +V>gSiU&=rlFlVBZ"lhH?!&`efs6osgp4`DE!29Ak"867_p@8.cfhVU3mHX]Sj2AL]p?MY\m?7NG +ceADL~> +VZ-\W:]:=p27_NB"lhH?!&`efs6fmffh_SI!@H.lrrZd3!6"L/"RU=3L$e1*#gZ9H!)ERpU%[dO +"RVBQFm[uaJ,~> +VZ-\W:]:=p27_NB"lhH?!&`efs6fmffh_SI!@H.lrrZd3!6"L/"RU=3L$e1*#gZ9H!)ERpU%[dO +"RVBQFm[uaJ,~> +VZ-\W:]:=p27_NB"lhH?!&`efs6fmffh_SI!@H.lrrZd3!6"L/"RU=3L$e1*#gZ9H!)ERpU%[dO +"RVBQFm[uaJ,~> +VuHb!r;Zk@mFqRDj#$f:2<08fmf*=]7/[)eL%^`0!!$R%rr]eh:YG"4$BkIRmJm4[`&2*!l2Lk= +A,rafs*t~> +VuHb!r;Zk@mFqRDj#$f:2<08fmf*=]7/[)eL%^`0!!$R%rr]eh:YG"4$BkIRmJm4[`&2*!l2Lk= +A,rafs*t~> +VuHb!r;Zk@mFqRDj#$f:2<08fmf*=]7/[)eL%^`0!!$R%rr]eh:YG"4$BkIRmJm4[`&2*!l2Lk= +A,rafs*t~> +WW*"dFo;:?Xk3RVj#$f:2<08fmf3.a!+#L&!9 +WW*"dFo;:?Xk3RVj#$f:2<08fmf3.a!+#L&!9 +WW*"dFo;:?Xk3RVj#$f:2<08fmf3.a!+#L&!9 +WrE+G2?!RVAE25?!6"j:!B&ngs7$$mm/R,BK`ES!!!&5Xrr^S):ZL[=!qnLFq>UNV!6"(#"63oL +cf"hR~> +WrE+G2?!RVAE25?!6"j:!B&ngs7$$mm/R,BK`ES!!!&5Xrr^S):ZL[=!qnLFq>UNV!6"(#"63oL +cf"hR~> +WrE+G2?!RVAE25?!6"j:!B&ngs7$$mm/R,BK`ES!!!&5Xrr^S):ZL[=!qnLFq>UNV!6"(#"63oL +cf"hR~> +X8`0nr;Zklp='$A`;T`;2<08fnc&dG!!%0AQMLR^2>6nH"1\Dcp?2GWcN*\6rrJ=;k5PPWP5q<8 +s*t~> +X8`0nr;Zklp='$A`;T`;2<08fnc&dG!!%0AQMLR^2>6nH"1\Dcp?2GWcN*\6rrJ=;k5PPWP5q<8 +s*t~> +X8`0nr;Zklp='$A`;T`;2<08fnc&dG!!%0AQMLR^2>6nH"1\Dcp?2GWcN*\6rrJ=;k5PPWP5q<8 +s*t~> +XoAFqFoD@A2:'YL!6"j:!B&ngs760nXT/?pj#-W4!6"d7!g +XoAFqFoD@A2:'YL!6"j:!B&ngs760nXT/?pj#-W4!6"d7!g +XoAFqFoD@A2:'YL!6"j:!B&ngs760nXT/?pj#-W4!6"d7!g +Y5\O_2?!RVAF7\B"kba5!&`efs7?6nK`D+S2>@.OAGuN1p6.APjSo7_Fnbn:f`:(4"5,PBp>l7(~> +Y5\O_2?!RVAF7\B"kba5!&`efs7?6nK`D+S2>@.OAGuN1p6.APjSo7_Fnbn:f`:(4"5,PBp>l7(~> +Y5\O_2?!RVAF7\B"kba5!&`efs7?6nK`D+S2>@.OAGuN1p6.APjSo7_Fnbn:f`:(4"5,PBp>l7(~> +YQ"U@r;ZhkbPqV'2?!RU`.@s\rrZd3!*/^m#20%Vp1-&@j8T.^AG?*)\PM5b"627Lp>u=)~> +YQ"U@r;ZhkbPqV'2?!RU`.@s\rrZd3!*/^m#20%Vp1-&@j8T.^AG?*)\PM5b"627Lp>u=)~> +YQ"U@r;ZhkbPqV'2?!RU`.@s\rrZd3!*/^m#20%Vp1-&@j8T.^AG?*)\PM5b"627Lp>u=)~> +Yl=]erVusV`6&#[j#-f9!5sHgp&FR_"dAudP;VC[rrULHmJ-\^Fd(ea"627Lp?)C*~> +Yl=]erVusV`6&#[j#-f9!5sHgp&FR_"dAudP;VC[rrULHmJ-\^Fd(ea"627Lp?)C*~> +Yl=]erVusV`6&#[j#-f9!5sHgp&FR_"dAudP;VC[rrULHmJ-\^Fd(ea"627Lp?)C*~> +ZMst!AGuQ0AE1`1!TQ':!!'Q\s7cNuf`2"_p;E.jp](EiP5sY$rrGoUNB!86<1!ol/%k5Tr~> +ZMst!AGuQ0AE1`1!TQ':!!'Q\s7cNuf`2"_p;E.jp](EiP5sY$rrGoUNB!86<1!ol/%k5Tr~> +ZMst!AGuQ0AE1`1!TQ':!!'Q\s7cNuf`2"_p;E.jp](EiP5sY$rrGoUNB!86<1!ol/%k5Tr~> +Zi:'d:]:=pFnWfS!TQuT!!&46s7lTr\GuVnrVlue`.^)H!!7lT`8CRrVZ;qXrr^RoAG4p\!m^kK +kPp&~> +Zi:'d:]:=pFnWfS!TQuT!!&46s7lTr\GuVnrVlue`.^)H!!7lT`8CRrVZ;qXrr^RoAG4p\!m^kK +kPp&~> +Zi:'d:]:=pFnWfS!TQuT!!&46s7lTr\GuVnrVlue`.^)H!!7lT`8CRrVZ;qXrr^RoAG4p\!m^kK +kPp&~> +[/U0[2?!RUTu-g1p14.&!L*5.s8)`tK`D+`q>UNV\V:"_!3P2Z&&_6DEALD/g$R+L!,FGf`8CRr +\H't>s*t~> +[/U0[2?!RUTu-g1p14.&!L*5.s8)`tK`D+`q>UNV\V:"_!3P2Z&&_6DEALD/g$R+L!,FGf`8CRr +\H't>s*t~> +[/U0[2?!RUTu-g1p14.&!L*5.s8)`tK`D+`q>UNV\V:"_!3P2Z&&_6DEALD/g$R+L!,FGf`8CRr +\H't>s*t~> +[Jp6Fr;Zi9_#FH/AGuQ0AG1TSqu6ao!!(^Grr_sH:\NfJ#fKL=PO8D;P;W=>#@u0\p6,Jeg#2l3 +Kf/8^s*t~> +[Jp6Fr;Zi9_#FH/AGuQ0AG1TSqu6ao!!(^Grr_sH:\NfJ#fKL=PO8D;P;W=>#@u0\p6,Jeg#2l3 +Kf/8^s*t~> +[Jp6Fr;Zi9_#FH/AGuQ0AG1TSqu6ao!!(^Grr_sH:\NfJ#fKL=PO8D;P;W=>#@u0\p6,Jeg#2l3 +Kf/8^s*t~> +[f6?0rVusVftICcPPtO_:ZI$+rVllbrW)Wk!eiN*j8T8#:B6UGqu6\)O8Jq[j)k?UmGe-Ip.ohq +s*t~> +[f6?0rVusVftICcPPtO_:ZI$+rVllbrW)Wk!eiN*j8T8#:B6UGqu6\)O8Jq[j)k?UmGe-Ip.ohq +s*t~> +[f6?0rVusVftICcPPtO_:ZI$+rVllbrW)Wk!eiN*j8T8#:B6UGqu6\)O8Jq[j)k?UmGe-Ip.ohq +s*t~> +\,QGlrVuspj1G +\,QGlrVuspj1G +\,QGlrVuspj1G +\GlPmrVut0p::2'`;KZ9\Uje\rr\qp!3Ptp!DeF3rrr,7:B6UGq#:B52>7%P\MZ7_j8T1E2>6A9 +J,~> +\GlPmrVut0p::2'`;KZ9\Uje\rr\qp!3Ptp!DeF3rrr,7:B6UGq#:B52>7%P\MZ7_j8T1E2>6A9 +J,~> +\GlPmrVut0p::2'`;KZ9\Uje\rr\qp!3Ptp!DeF3rrr,7:B6UGq#:B52>7%P\MZ7_j8T1E2>6A9 +J,~> +])Mg)FoD@AFnWrrT;&mHFQRp8p20XmPi^s+U.G"SSMh:YFk0!qnLR +li2J~> +])Mg)FoD@AFnWrrT;&mHFQRp8p20XmPi^s+U.G"SSMh:YFk0!qnLR +li2J~> +])Mg)FoD@AFnWrrT;&mHFQRp8p20XmPi^s+U.G"SSMh:YFk0!qnLR +li2J~> +]Dhp*AGuQ/PI1>jj(/,h!G(nVrrDcl!!)`frrVmOPNi)Np8p20XnMDe! +]Dhp*AGuQ/PI1>jj(/,h!G(nVrrDcl!!)`frrVmOPNi)Np8p20XnMDe! +]Dhp*AGuQ/PI1>jj(/,h!G(nVrrDcl!!)`frrVmOPNi)Np8p20XnMDe! +]`/$+AGuQ/PHt2hp4`JG!B&P`rr^RI!+bj(!lP*+oD]9QK`D*`XnMegXYhu +]`/$+AGuQ/PHt2hp4`JG!B&P`rr^RI!+bj(!lP*+oD]9QK`D*`XnMegXYhu +]`/$+AGuQ/PHt2hp4`JG!B&P`rr^RI!+bj(!lP*+oD]9QK`D*`XnMegXYhu +^&J-,AGuQ/PHXudU&=rk\V:%cP5kTVp\t7iPOne_P5oaDfqC8sRPct)p@S@cp65FT!Hm)crs$D! +26Ho39)S_jO7r,D!MN +^&J-,AGuQ/PHXudU&=rk\V:%cP5kTVp\t7iPOne_P5oaDfqC8sRPct)p@S@cp65FT!Hm)crs$D! +26Ho39)S_jO7r,D!MN +^&J-,AGuQ/PHXudU&=rk\V:%cP5kTVp\t7iPOne_P5oaDfqC8sRPct)p@S@cp65FT!Hm)crs$D! +26Ho39)S_jO7r,D!MN +^Ae6-AGuQ/Trn=qcSb\%!JU6&rrZ$s!87/I!ndS6o`"ud!6"j9"SQ+/VtT`^$0*m=`;fkjFTBAM +rs\V'!'L +^Ae6-AGuQ/Trn=qcSb\%!JU6&rrZ$s!87/I!ndS6o`"ud!6"j9"SQ+/VtT`^$0*m=`;fkjFTBAM +rs\V'!'L +^Ae6-AGuQ/Trn=qcSb\%!JU6&rrZ$s!87/I!ndS6o`"ud!6"j9"SQ+/VtT`^$0*m=`;fkjFTBAM +rs\V'!'L +^]+?.AGuQ/`2in=j(/,h!Dha4rrDHc!;HKoP@X=c!pouuqu6`k23[V2s'u-'r;Qh^2=9o5!n.-a +r4` +^]+?.AGuQ/`2in=j(/,h!Dha4rrDHc!;HKoP@X=c!pouuqu6`k23[V2s'u-'r;Qh^2=9o5!n.-a +r4` +^]+?.AGuQ/`2in=j(/,h!Dha4rrDHc!;HKoP@X=c!pouuqu6`k23[V2s'u-'r;Qh^2=9o5!n.-a +r4` +_#FH/AGuQ/`2Wb;p65FT!4e!e"1\C3L%kTJ:V$,t!MN +_#FH/AGuQ/`2Wb;p65FT!4e!e"1\C3L%kTJ:V$,t!MN +_#FH/AGuQ/`2Wb;p65FT!4e!e"1\C3L%kTJ:V$,t!MN +_>aQ0AGuQ/`2UN`!87#Es+U:K!Q5!.rrVloS,'f" +A<6<]!pp!@mf.e~> +_>aQ0AGuQ/`2UN`!87#Es+U:K!Q5!.rrVloS,'f" +A<6<]!pp!@mf.e~> +_>aQ0AGuQ/`2UN`!87#Es+U:K!Q5!.rrVloS,'f" +A<6<]!pp!@mf.e~> +_>aLXrVuqlV#LJUAGuQ02:%<_!;?Bl!:BR]!P()ZrrI8Eq#:?pg%>:F:V$<$!pp!@o)AdE!4_j> +!J54ZrrHZ4mf.e~> +_>aLXrVuqlV#LJUAGuQ02:%<_!;?Bl!:BR]!P()ZrrI8Eq#:?pg%>:F:V$<$!pp!@o)AdE!4_j> +!J54ZrrHZ4mf.e~> +_>aLXrVuqlV#LJUAGuQ02:%<_!;?Bl!:BR]!P()ZrrI8Eq#:?pg%>:F:V$<$!pp!@o)AdE!4_j> +!J54ZrrHZ4mf.e~> +_Z'V"rVuq^UAk8fPPkI^U%XTJ"4$rI:\XnhL%G +_Z'V"rVuq^UAk8fPPkI^U%XTJ"4$rI:\XnhL%G +_Z'V"rVuq^UAk8fPPkI^U%XTJ"4$rI:\XnhL%G +_uB_#rVuq^TDnr<2?!RV:YCm1"-W]bU%eQfA?GJ'!JQa5rrV3\mI^DZ:V$<$!pp!Jo)AdE!4_j> +!J54ZrrKYfmf.e~> +_uB_#rVuq^TDnr<2?!RV:YCm1"-W]bU%eQfA?GJ'!JQa5rrV3\mI^DZ:V$<$!pp!Jo)AdE!4_j> +!J54ZrrKYfmf.e~> +_uB_#rVuq^TDnr<2?!RV:YCm1"-W]bU%eQfA?GJ'!JQa5rrV3\mI^DZ:V$<$!pp!Jo)AdE!4_j> +!J54ZrrKYfmf.e~> +`;]h>rVuq^Sc8`XFo;:@U%X]M"#U&Yg%YLI!86uD!lP*4qYpS[:\4VdL&(`L`&7)b!qlVXq7cr4 +O7E5Nf`:I?J,~> +`;]h>rVuq^Sc8`XFo;:@U%X]M"#U&Yg%YLI!86uD!lP*4qYpS[:\4VdL&(`L`&7)b!qlVXq7cr4 +O7E5Nf`:I?J,~> +`;]h>rVuq^Sc8`XFo;:@U%X]M"#U&Yg%YLI!86uD!lP*4qYpS[:\4VdL&(`L`&7)b!qlVXq7cr4 +O7E5Nf`:I?J,~> +`W#qVrVuq@Rf@+Pp&Ne;rrVmiL&:lOcN(oTrrU+=j8/cV:Qt;J!J*o? +^B1/1g%#(Dm/Z28s*t~> +`W#qVrVuq@Rf@+Pp&Ne;rrVmiL&:lOcN(oTrrU+=j8/cV:Qt;J!J*o? +^B1/1g%#(Dm/Z28s*t~> +`W#qVrVuq@Rf@+Pp&Ne;rrVmiL&:lOcN(oTrrU+=j8/cV:Qt;J!J*o? +^B1/1g%#(Dm/Z28s*t~> +`r?502#mVep6kp]j(/)g!MT4Rrr\Gb!0d0W!ndSIo)AgP221GsrrT_2PO\\QA,u?$rrSBAmI:,W +m/V&%^B1o-E: +`r?502#mVep6kp]j(/)g!MT4Rrr\Gb!0d0W!ndSIo)AgP221GsrrT_2PO\\QA,u?$rrSBAmI:,W +m/V&%^B1o-E: +`r?502#mVep6kp]j(/)g!MT4Rrr\Gb!0d0W!ndSIo)AgP221GsrrT_2PO\\QA,u?$rrSBAmI:,W +m/V&%^B1o-E: +`W$,Eq3rrK5ZrVusVc^=_72#mX&p\t9I!:^!nj%fY^:c/6HnG`gg:Gp)as3Gff`:!X3_uNo/ +^UTIU?hWsg! +`W$,Eq3rrK5ZrVusVc^=_72#mX&p\t9I!:^!nj%fY^:c/6HnG`gg:Gp)as3Gff`:!X3_uNo/ +^UTIU?hWsg! +`W$,Eq3rrK5ZrVusVc^=_72#mX&p\t9I!:^!nj%fY^:c/6HnG`gg:Gp)as3Gff`:!X3_uNo/ +^UTIU?hWsg! +`W$2:afhh1F`fS +`W$2:afhh1F`fS +`W$2:afhh1F`fS +ao;b%X`ZK$!&\nQXf]P +ao;b%X`ZK$!&\nQXf]P +ao;b%X`ZK$!&\nQXf]P +c2S(:\TIlPAXoAFqL&CuP:X>X4"#U&Ych@A>f`:OA#K-V+s8R4;p@&"d +p1-&@p6,Kpm/I=/!0d-DA2WE8rrE,Qn,In~> +c2S(:\TIlPAXoAFqL&CuP:X>X4"#U&Ych@A>f`:OA#K-V+s8R4;p@&"d +p1-&@p6,Kpm/I=/!0d-DA2WE8rrE,Qn,In~> +c2S(:\TIlPAXoAFqL&CuP:X>X4"#U&Ych@A>f`:OA#K-V+s8R4;p@&"d +p1-&@p6,Kpm/I=/!0d-DA2WE8rrE,Qn,In~> +d/O@;0SXmN:k!SL9I!!.60U&P55!!#gfrrVQfg%,.E_uQ##rrVmOPOSSS +j#(B@rr3%`!3P\h!lP)&rr3)oK`K'\rrVlog$erk~> +d/O@;0SXmN:k!SL9I!!.60U&P55!!#gfrrVQfg%,.E_uQ##rrVmOPOSSS +j#(B@rr3%`!3P\h!lP)&rr3)oK`K'\rrVlog$erk~> +d/O@;0SXmN:k!SL9I!!.60U&P55!!#gfrrVQfg%,.E_uQ##rrVmOPOSSS +j#(B@rr3%`!3P\h!lP)&rr3)oK`K'\rrVlog$erk~> +df0KhFT>42j4sY +df0KhFT>42j4sY +df0KhFT>42j4sY +ec,gHX\Sq\cdr+"folD3XnK"!!UYU>!!5$[p87iimJ[(cj7N?P:Ta9h!lP)&qYpVj2=:&9"2m'\ +pA4dk`&2]2oD\lU!6"^5"2m'-p@J:b_uT6*J,~> +ec,gHX\Sq\cdr+"folD3XnK"!!UYU>!!5$[p87iimJ[(cj7N?P:Ta9h!lP)&qYpVj2=:&9"2m'\ +pA4dk`&2]2oD\lU!6"^5"2m'-p@J:b_uT6*J,~> +ec,gHX\Sq\cdr+"folD3XnK"!!UYU>!!5$[p87iimJ[(cj7N?P:Ta9h!lP)&qYpVj2=:&9"2m'\ +pA4dk`&2]2oD\lU!6"^5"2m'-p@J:b_uT6*J,~> +fDc$JXYhu +fDc$JXYhu +fDc$JXYhu +f`))m2)VN0li..^c`O=fmHX]Sp8p20`391A`)$=3!DgY5rrZ$s!6"L/!Nf/mrrLeqrVuspXo&,! +fld8o!Dfiprs6OC:T^=S2,E90rrM/2r;ZkLj8Ao_p4WL#XeBk;PPb@c_uNT2Viru6j7iQSFeS7' +J,~> +f`))m2)VN0li..^c`O=fmHX]Sp8p20`391A`)$=3!DgY5rrZ$s!6"L/!Nf/mrrLeqrVuspXo&,! +fld8o!Dfiprs6OC:T^=S2,E90rrM/2r;ZkLj8Ao_p4WL#XeBk;PPb@c_uNT2Viru6j7iQSFeS7' +J,~> +f`))m2)VN0li..^c`O=fmHX]Sp8p20`391A`)$=3!DgY5rrZ$s!6"L/!Nf/mrrLeqrVuspXo&,! +fld8o!Dfiprs6OC:T^=S2,E90rrM/2r;ZkLj8Ao_p4WL#XeBk;PPb@c_uNT2Viru6j7iQSFeS7' +J,~> +gA_`84AG6$&#fH^cch?D$!-S8?!lP)@rVlunA2X)Zrs?UD99ZWcP=mRIrVlqQ2;.s.!nfGprVlr; +!3Q5""79VVpA+^ip&NG,s*t~> +gA_`84AG6$&#fH^cch?D$!-S8?!lP)@rVlunA2X)Zrs?UD99ZWcP=mRIrVlqQ2;.s.!nfGprVlr; +!3Q5""79VVpA+^ip&NG,s*t~> +gA_`84AG6$&#fH^cch?D$!-S8?!lP)@rVlunA2X)Zrs?UD99ZWcP=mRIrVlqQ2;.s.!nfGprVlr; +!3Q5""79VVpA+^ip&NG,s*t~> +h#@NNT`B6&l2LjL!3Ptorr^282=9Z."RU=3U%Y_j!VWYn!!,m6Y5\Tf!!&5QrrG!qqu6`X!0d?\ +#NI\8s8UaPPPkFcj#*P1s7S=Dqu6`k:QteX!oj8uqnEAR!9=+ZcN)Yqrs.3Wg&M*G250pI!qoER +q>UN7!;>j\J,~> +h#@NNT`B6&l2LjL!3Ptorr^282=9Z."RU=3U%Y_j!VWYn!!,m6Y5\Tf!!&5QrrG!qqu6`X!0d?\ +#NI\8s8UaPPPkFcj#*P1s7S=Dqu6`k:QteX!oj8uqnEAR!9=+ZcN)Yqrs.3Wg&M*G250pI!qoER +q>UN7!;>j\J,~> +h#@NNT`B6&l2LjL!3Ptorr^282=9Z."RU=3U%Y_j!VWYn!!,m6Y5\Tf!!&5QrrG!qqu6`X!0d?\ +#NI\8s8UaPPPkFcj#*P1s7S=Dqu6`k:QteX!oj8uqnEAR!9=+ZcN)Yqrs.3Wg&M*G250pI!qoER +q>UN7!;>j\J,~> +h>[T;A2Up]rrT;&j88iXp1.^srr]ehAE0ln!UZ*K!!,m6Z2XgtrVurOnc/WCqu?\=qYp`;!:Bf/ +Fo)+B\H)$s`&78brs$CApAb/1=S]]8=Dn0=Kp2?4#'GY"s26egqYpW8!;?9h!L&6)s*t~> +h>[T;A2Up]rrT;&j88iXp1.^srr]ehAE0ln!UZ*K!!,m6Z2XgtrVurOnc/WCqu?\=qYp`;!:Bf/ +Fo)+B\H)$s`&78brs$CApAb/1=S]]8=Dn0=Kp2?4#'GY"s26egqYpW8!;?9h!L&6)s*t~> +h>[T;A2Up]rrT;&j88iXp1.^srr]ehAE0ln!UZ*K!!,m6Z2XgtrVurOnc/WCqu?\=qYp`;!:Bf/ +Fo)+B\H)$s`&78brs$CApAb/1=S]]8=Dn0=Kp2?4#'GY"s26egqYpW8!;?9h!L&6)s*t~> +hZ!\r!-R\mrrVloXnhtum/Y)frr_Y2!5u&?!UZ*K!!5s7p9ai%XT/?3nG`R9!:Bab!pp!6q>URn +XmH,Aq>URnXoF*/q>UZm!87D>!2KA)"eu(brrCC@rrp=@s8Re,q>UNi!878L!qlW4mJh\~> +hZ!\r!-R\mrrVloXnhtum/Y)frr_Y2!5u&?!UZ*K!!5s7p9ai%XT/?3nG`R9!:Bab!pp!6q>URn +XmH,Aq>URnXoF*/q>UZm!87D>!2KA)"eu(brrCC@rrp=@s8Re,q>UNi!878L!qlW4mJh\~> +hZ!\r!-R\mrrVloXnhtum/Y)frr_Y2!5u&?!UZ*K!!5s7p9ai%XT/?3nG`R9!:Bab!pp!6q>URn +XmH,Aq>URnXoF*/q>UZm!87D>!2KA)"eu(brrCC@rrp=@s8Re,q>UNi!878L!qlW4mJh\~> +hu +hu +hu +iVs#RFZ%,!rrK6Ep\t9)2<=c>`&2]2XoAIiTf)`J!L)QSrrg7?!&aK=rrT;[pAY'mf`:gI"0H^J +Fnkt>X`aYdXn_o!:V$M-=SKQ5=KVT'g%kXOf`;'PFfkH=!B%gmrrGoZm/MS~> +iVs#RFZ%,!rrK6Ep\t9)2<=c>`&2]2XoAIiTf)`J!L)QSrrg7?!&aK=rrT;[pAY'mf`:gI"0H^J +Fnkt>X`aYdXn_o!:V$M-=SKQ5=KVT'g%kXOf`;'PFfkH=!B%gmrrGoZm/MS~> +iVs#RFZ%,!rrK6Ep\t9)2<=c>`&2]2XoAIiTf)`J!L)QSrrg7?!&aK=rrT;[pAY'mf`:gI"0H^J +Fnkt>X`aYdXn_o!:V$M-=SKQ5=KVT'g%kXOf`;'PFfkH=!B%gmrrGoZm/MS~> +ir9,SA2WE.rrK6Ep\t9I!9=(]j#(B@XT&@qXYp"V!Hl>mrr[BD!28i\!pouirr3#P!;QQrX`_P^ +q#:JjFoRYJq>UWl!87C_.JLR[.E)6D`;0E:\MaEePD/i4!pp!@r;Qi:!:B.QJ,~> +ir9,SA2WE.rrK6Ep\t9I!9=(]j#(B@XT&@qXYp"V!Hl>mrr[BD!28i\!pouirr3#P!;QQrX`_P^ +q#:JjFoRYJq>UWl!87C_.JLR[.E)6D`;0E:\MaEePD/i4!pp!@r;Qi:!:B.QJ,~> +ir9,SA2WE.rrK6Ep\t9I!9=(]j#(B@XT&@qXYp"V!Hl>mrr[BD!28i\!pouirr3#P!;QQrX`_P^ +q#:JjFoRYJq>UWl!87C_.JLR[.E)6D`;0E:\MaEePD/i4!pp!@r;Qi:!:B.QJ,~> +j8T5TA2WE-rrK64p\t8rAE*Ukj#(B@WrE+<:](1o:Ta$!rrCaO!!)ERrs,5TpAb0[!9dCS:Qt,EJ,~> +j8T5TA2WE-rrK64p\t8rAE*Ukj#(B@WrE+<:](1o:Ta$!rrCaO!!)ERrs,5TpAb0[!9dCS:Qt,EJ,~> +j8T5TA2WE-rrK64p\t8rAE*Ukj#(B@WrE+<:](1o:Ta$!rrCaO!!)ERrs,5TpAb0[!9dCS:Qt,EJ,~> +jSo>UA2WE,rrULHmJ-\^:Qsc;"627Lp8S&mfld/l!JSk9rr[rT!0cdL!qnLRrr3"0L&1fQf`9_* +:QtYT#2'":s8Pl;qu6`X26HlX!D6nu^BS4@s8UaP`;BQ9\H)$rrrGoLqu6`X26HfV!j)Iili2J~> +jSo>UA2WE,rrULHmJ-\^:Qsc;"627Lp8S&mfld/l!JSk9rr[rT!0cdL!qnLRrr3"0L&1fQf`9_* +:QtYT#2'":s8Pl;qu6`X26HlX!D6nu^BS4@s8UaP`;BQ9\H)$rrrGoLqu6`X26HfV!j)Iili2J~> +jSo>UA2WE,rrULHmJ-\^:Qsc;"627Lp8S&mfld/l!JSk9rr[rT!0cdL!qnLRrr3"0L&1fQf`9_* +:QtYT#2'":s8Pl;qu6`X26HlX!D6nu^BS4@s8UaP`;BQ9\H)$rrrGoLqu6`X26HfV!j)Iili2J~> +jSo:(2<3Wp!G$?KrrT_2mGS!Gj#(tWrrVS]2>dFU250'LrrDHc!!(^ +jSo:(2<3Wp!G$?KrrT_2mGS!Gj#(tWrrVS]2>dFU250'LrrDHc!!(^ +jSo:(2<3Wp!G$?KrrT_2mGS!Gj#(tWrrVS]2>dFU250'LrrDHc!!(^ +jo5CU!9<#;"SS8qNqWDN"1\DBp>>lOirGdMrrVo4AGZ?.A@_*Krr\Gb!-RQ+s()-/$)%?mmJm4) +2.ZF[rs=khU$_m[`&2*!rVm/`2)U)]A,pcGr;R)>!+`+E^T(fE_>O<;1\qu6rT2)U)] +A,pcGr;Qe?:[.n0~> +jo5CU!9<#;"SS8qNqWDN"1\DBp>>lOirGdMrrVo4AGZ?.A@_*Krr\Gb!-RQ+s()-/$)%?mmJm4) +2.ZF[rs=khU$_m[`&2*!rVm/`2)U)]A,pcGr;R)>!+`+E^T(fE_>O<;1\qu6rT2)U)] +A,pcGr;Qe?:[.n0~> +jo5CU!9<#;"SS8qNqWDN"1\DBp>>lOirGdMrrVo4AGZ?.A@_*Krr\Gb!-RQ+s()-/$)%?mmJm4) +2.ZF[rs=khU$_m[`&2*!rVm/`2)U)]A,pcGr;R)>!+`+E^T(fE_>O<;1\qu6rT2)U)] +A,pcGr;Qe?:[.n0~> +k5PM$!6!jr&GE4`24?mLUPP4nR"noluFeRLarrLG;r;ZjjchdYFmB)(r\aB4m"noluFeRLcrrT;& +j6?So~> +k5PM$!6!jr&GE4`24?mLUPP4nR"noluFeRLarrLG;r;ZjjchdYFmB)(r\aB4m"noluFeRLcrrT;& +j6?So~> +k5PM$!6!jr&GE4`24?mLUPP4nR"noluFeRLarrLG;r;ZjjchdYFmB)(r\aB4m"noluFeRLcrrT;& +j6?So~> +kPkVN23[&"'_\Xd26HTPp8q*j!&]tns7WQP:X@u!!g>M/UAk8?L&(cNA@_*Rrr\Gb!+b9m!kA +kPkVN23[&"'_\Xd26HTPp8q*j!&]tns7WQP:X@u!!g>M/UAk8?L&(cNA@_*Rrr\Gb!+b9m!kA +kPkVN23[&"'_\Xd26HTPp8q*j!&]tns7WQP:X@u!!g>M/UAk8?L&(cNA@_*Rrr\Gb!+b9m!kA +kPkU+:\NlL"no&U26HTLrrGohqu6fdP5oaYir9)R:N`?1!qsQCq>^S-XlIn1!:Bac!6"%"!g>M% +Yl=db2215nJ,~> +kPkU+:\NlL"no&U26HTLrrGohqu6fdP5oaYir9)R:N`?1!qsQCq>^S-XlIn1!:Bac!6"%"!g>M% +Yl=db2215nJ,~> +kPkU+:\NlL"no&U26HTLrrGohqu6fdP5oaYir9)R:N`?1!qsQCq>^S-XlIn1!:Bac!6"%"!g>M% +Yl=db2215nJ,~> +kl1_&!86K6"no&U26HTKrrVQfj8&]Xfl[:YmGn3Jf`8s^rrVSuAGQ9.:Qs,ufDbr:!!#gVrr_t* +2>4?U"8689p?2I+~> +kl1_&!86K6"no&U26HTKrrVQfj8&]Xfl[:YmGn3Jf`8s^rrVSuAGQ9.:Qs,ufDbr:!!#gVrr_t* +2>4?U"8689p?2I+~> +kl1_&!86K6"no&U26HTKrrVQfj8&]Xfl[:YmGn3Jf`8s^rrVSuAGQ9.:Qs,ufDbr:!!#gVrr_t* +2>4?U"8689p?2I+~> +l2LhY25014"mrEL26HTIrrKYfpAY96:Go9JjSo:T2>3R?!q!O/q#CJ=XkDJ/!:Bac!6!su"8689 +p9ai%p1-&Sk5Tr~> +l2LhY25014"mrEL26HTIrrKYfpAY96:Go9JjSo:T2>3R?!q!O/q#CJ=XkDJ/!:Bac!6!su"8689 +p9ai%p1-&Sk5Tr~> +l2LhY25014"mrEL26HTIrrKYfpAY96:Go9JjSo:T2>3R?!q!O/q#CJ=XkDJ/!:Bac!6!su"8689 +p9ai%p1-&Sk5Tr~> +l2Lge2>686"mqKR:V$2mrrI8+o`##q2,D0PrrVmOXdT1kp;DYBq#CJ=XkDV3"-W]b:[7r^`.bbh +rVlun2.ZEhrr_t*2<3fuJ,~> +l2Lge2>686"mqKR:V$2mrrI8+o`##q2,D0PrrVmOXdT1kp;DYBq#CJ=XkDV3"-W]b:[7r^`.bbh +rVlun2.ZEhrr_t*2<3fuJ,~> +l2Lge2>686"mqKR:V$2mrrI8+o`##q2,D0PrrVmOXdT1kp;DYBq#CJ=XkDV3"-W]b:[7r^`.bbh +rVlun2.ZEhrr_t*2<3fuJ,~> +lMgqZ26H-C"RVBQ:W2o*!qlW?oD\seP5oaYk5PLb2>3@9!mdQNp](D=U!N,frrDHc!!(@1rrCaO +!!m,;j8]/HA5D6qrr_t*2<3ctJ,~> +lMgqZ26H-C"RVBQ:W2o*!qlW?oD\seP5oaYk5PLb2>3@9!mdQNp](D=U!N,frrDHc!!(@1rrCaO +!!m,;j8]/HA5D6qrr_t*2<3ctJ,~> +lMgqZ26H-C"RVBQ:W2o*!qlW?oD\seP5oaYk5PLb2>3@9!mdQNp](D=U!N,frrDHc!!(@1rrCaO +!!m,;j8]/HA5D6qrr_t*2<3ctJ,~> +lMgpf2>6YA%)bpA!&]u-s6Z!M:W2l)"65^JdII5>j)k?UmJ[%eft#GrnG`R`26E)B"7=$j:\Xnm +20H%ImHX]RK`D*qkl:M[##CH/p1-&@])Mlm2.Z+7s*t~> +lMgpf2>6YA%)bpA!&]u-s6Z!M:W2l)"65^JdII5>j)k?UmJ[%eft#GrnG`R`26E)B"7=$j:\Xnm +20H%ImHX]RK`D*qkl:M[##CH/p1-&@])Mlm2.Z+7s*t~> +lMgpf2>6YA%)bpA!&]u-s6Z!M:W2l)"65^JdII5>j)k?UmJ[%eft#GrnG`R`26E)B"7=$j:\Xnm +20H%ImHX]RK`D*qkl:M[##CH/p1-&@])Mlm2.Z+7s*t~> +lMgl\U%J?np2pA!g"Eo31P5['`:O!6j)+hs/c\Ggnc'$N:B7Nj`&.Nj!!%0/nc&Wl237b>mDP2a +p&G5 +lMgl\U%J?np2pA!g"Eo31P5['`:O!6j)+hs/c\Ggnc'$N:B7Nj`&.Nj!!%0/nc&Wl237b>mDP2a +p&G5 +lMgl\U%J?np2pA!g"Eo31P5['`:O!6j)+hs/c\Ggnc'$N:B7Nj`&.Nj!!%0/nc&Wl237b>mDP2a +p&G5 +li.%4!:BFY!eiMlrVlun>nF^?rs@^>9;B8:Z"*jQnG`m,2'DsnmJm4>A2WE +li.%4!:BFY!eiMlrVlun>nF^?rs@^>9;B8:Z"*jQnG`m,2'DsnmJm4>A2WE +li.%4!:BFY!eiMlrVlun>nF^?rs@^>9;B8:Z"*jQnG`m,2'DsnmJm4>A2WE +li.!LFnG\8f`9@qrrVmiPOneUp.8B`^B/9QmI:,Wd/_,_rrVn)AF][#Fd%U\"QRFoFZ&^i!b?Fr +riH0urVurcmJd1Rrn.@`Xa]pC"._;Ffu!akfhXKOhuA3~> +li.!LFnG\8f`9@qrrVmiPOneUp.8B`^B/9QmI:,Wd/_,_rrVn)AF][#Fd%U\"QRFoFZ&^i!b?Fr +riH0urVurcmJd1Rrn.@`Xa]pC"._;Ffu!akfhXKOhuA3~> +li.!LFnG\8f`9@qrrVmiPOneUp.8B`^B/9QmI:,Wd/_,_rrVn)AF][#Fd%U\"QRFoFZ&^i!b?Fr +riH0urVurcmJd1Rrn.@`Xa]pC"._;Ffu!akfhXKOhuA3~> +li-uC`:X'1P@XLh!Q6kerrT_[\GEr@998TBs)n2aC[p4WL1p;[+8p7VJ/mG@kn~> +li-uC`:X'1P@XLh!Q6kerrT_[\GEr@998TBs)n2aC[p4WL1p;[+8p7VJ/mG@kn~> +li-uC`:X'1P@XLh!Q6kerrT_[\GEr@998TBs)n2aC[p4WL1p;[+8p7VJ/mG@kn~> +m/I.?!:BFY!HkO?rrVQfg%>=EDY_$JP5t.Q!pp!6q>UJLPOe_Tm/Ygjs8;m#g!?doF_&i!!L*6U +rr^SC27^g."2m&S`8(BC~> +m/I.?!:BFY!HkO?rrVQfg%>=EDY_$JP5t.Q!pp!6q>UJLPOe_Tm/Ygjs8;m#g!?doF_&i!!L*6U +rr^SC27^g."2m&S`8(BC~> +m/I.?!:BFY!HkO?rrVQfg%>=EDY_$JP5t.Q!pp!6q>UJLPOe_Tm/Ygjs8;m#g!?doF_&i!!L*6U +rr^SC27^g."2m&S`8(BC~> +m/I*g:\4Se!71H?! +m/I*g:\4Se!71H?! +m/I*g:\4Se!71H?! +m/I*/POneT:TaEl!",-^T:\aqimJGT.rr>jm +!!-Wjp\tEaP5nCsp +m/I*/POneT:TaEl!",-^T:\aqimJGT.rr>jm +!!-Wjp\tEaP5nCsp +m/I*/POneT:TaEl!",-^T:\aqimJGT.rr>jm +!!-Wjp\tEaP5nCsp +m/I)^\b#h%Kp2?4!m^l?o`"qFMtt*hWW;GWrrUjRpA+^hX`a16!P)!Ws7-*hg&:sOcf>$*Fo;:? +U%A9fm?9CbU$^G2"mrEL!0cg%s*t~> +m/I)^\b#h%Kp2?4!m^l?o`"qFMtt*hWW;GWrrUjRpA+^hX`a16!P)!Ws7-*hg&:sOcf>$*Fo;:? +U%A9fm?9CbU$^G2"mrEL!0cg%s*t~> +m/I)^\b#h%Kp2?4!m^l?o`"qFMtt*hWW;GWrrUjRpA+^hX`a16!P)!Ws7-*hg&:sOcf>$*Fo;:? +U%A9fm?9CbU$^G2"mrEL!0cg%s*t~> +m/I(dg%54F_uT3$s8R65rrIU[q7crg0_,/Ep&N&,rrHZ(nc&XC!.k1@rri$k!!%0$rrfG(!&`*l +rs&2-:B4qDp>#ZPp;D(R:Ta?@s*t~> +m/I(dg%54F_uT3$s8R65rrIU[q7crg0_,/Ep&N&,rrHZ(nc&XC!.k1@rri$k!!%0$rrfG(!&`*l +rs&2-:B4qDp>#ZPp;D(R:Ta?@s*t~> +m/I(dg%54F_uT3$s8R65rrIU[q7crg0_,/Ep&N&,rrHZ(nc&XC!.k1@rri$k!!%0$rrfG(!&`*l +rs&2-:B4qDp>#ZPp;D(R:Ta?@s*t~> +mJd7J!9D&T!m^l,nc&[N!98Y1oD\rq!!"nDir9,! +!-S#%rs%/?2#q0tj5U(Cj10:423ZA7s*t~> +mJd7J!9D&T!m^l,nc&[N!98Y1oD\rq!!"nDir9,! +!-S#%rs%/?2#q0tj5U(Cj10:423ZA7s*t~> +mJd7J!9D&T!m^l,nc&[N!98Y1oD\rq!!"nDir9,! +!-S#%rs%/?2#q0tj5U(Cj10:423ZA7s*t~> +mJd4?!:g'qj#(B#s8Vep!28r_!cU9,rP&HE9/-)/rrVRFPPkF^j#)PZrrE,QJcGBB!9=%Y!3P5[ +!TUOXbAV4:Qs,Ns*t~> +mJd4?!:g'qj#(B#s8Vep!28r_!cU9,rP&HE9/-)/rrVRFPPkF^j#)PZrrE,QJcGBB!9=%Y!3P5[ +!TUOXbAV4:Qs,Ns*t~> +mJd4?!:g'qj#(B#s8Vep!28r_!cU9,rP&HE9/-)/rrVRFPPkF^j#)PZrrE,QJcGBB!9=%Y!3P5[ +!TUOXbAV4:Qs,Ns*t~> +mJd4?!:^!nj(&-O:]NA`nG`gg?RUN+WfoLuj6lpRcS]7OmFeU!AG5Kl!al0 +`04^3!&\n_Xh"D`!quZfrRhOgXcmlb!!#fY\`:p6J,~> +mJd4?!:^!nj(&-O:]NA`nG`gg?RUN+WfoLuj6lpRcS]7OmFeU!AG5Kl!al0 +`04^3!&\n_Xh"D`!quZfrRhOgXcmlb!!#fY\`:p6J,~> +mJd4?!:^!nj(&-O:]NA`nG`gg?RUN+WfoLuj6lpRcS]7OmFeU!AG5Kl!al0 +`04^3!&\n_Xh"D`!quZfrRhOgXcmlb!!#fY\`:p6J,~> +mJd4?!:KjiY5eQ^p?qq^p8TbE!!//Jm/I+HL&M&Q9Wd^^! +mJd4?!:KjiY5eQ^p?qq^p8TbE!!//Jm/I+HL&M&Q9Wd^^! +mJd4?!:KjiY5eQ^p?qq^p8TbE!!//Jm/I+HL&M&Q9Wd^^! +mJd4?!:Tpk_uR`d!86c>"lj,`>rBRcrrp=@FYchRmJd1efn'1srrh^H!!&^ts8L]bs*t~> +mJd4?!:Tpk_uR`d!86c>"lj,`>rBRcrrp=@FYchRmJd1efn'1srrh^H!!&^ts8L]bs*t~> +mJd4?!:Tpk_uR`d!86c>"lj,`>rBRcrrp=@FYchRmJd1efn'1srrh^H!!&^ts8L]bs*t~> +mJd4?!:^!n_uRaUs+O8Bn,EXQ2.ZF\P5rPfrs-IBPQ1>e2:(^j! +mJd4?!:^!n_uRaUs+O8Bn,EXQ2.ZF\P5rPfrs-IBPQ1>e2:(^j! +mJd4?!:^!n_uRaUs+O8Bn,EXQ2.ZF\P5rPfrs-IBPQ1>e2:(^j! +mJd7J!9 +mJd7J!9 +mJd7J!9 +m/I(dg%54F_uRaRrrUjR\aob%_uQ"urr^1>PP4PH!g +m/I(dg%54F_uRaRrrUjR\aob%_uQ"urr^1>PP4PH!g +m/I(dg%54F_uRaRrrUjR\aob%_uQ"urr^1>PP4PH!g +m/I)^\b,n'_uRaPrrT;[j7N?Q_uQ"srr_:=AG5Zq"86jpch[SCfem=-oD\j%21bf&rrr+,!!#gg +JcFs6J,~> +m/I)^\b,n'_uRaPrrT;[j7N?Q_uQ"srr_:=AG5Zq"86jpch[SCfem=-oD\j%21bf&rrr+,!!#gg +JcFs6J,~> +m/I)^\b,n'_uRaPrrT;[j7N?Q_uQ"srr_:=AG5Zq"86jpch[SCfem=-oD\j%21bf&rrr+,!!#gg +JcFs6J,~> +m/I*/PP5"Yj/2mqq#:CuUTX8jgG^q#:N.A,lUC`;0E;fle)1:Ta?arrJ=+ +JcGNF!29Al!98Y1kPp&~> +m/I*/PP5"Yj/2mqq#:CuUTX8jgG^q#:N.A,lUC`;0E;fle)1:Ta?arrJ=+ +JcGNF!29Al!98Y1kPp&~> +m/I*/PP5"Yj/2mqq#:CuUTX8jgG^q#:N.A,lUC`;0E;fle)1:Ta?arrJ=+ +JcGNF!29Al!98Y1kPp&~> +m/I*gAGH0*cVON?!]?\Fr;QfD:]:=q26HTMrs51r=Hf;#-ns]YrrLe`r;Zk@g&1jVp1-%EccD:M +FnYb5#b_6@^"K):2<4H2!G&<`s7uZpci*nEXb$N7s*t~> +m/I*gAGH0*cVON?!]?\Fr;QfD:]:=q26HTMrs51r=Hf;#-ns]YrrLe`r;Zk@g&1jVp1-%EccD:M +FnYb5#b_6@^"K):2<4H2!G&<`s7uZpci*nEXb$N7s*t~> +m/I*gAGH0*cVON?!]?\Fr;QfD:]:=q26HTMrs51r=Hf;#-ns]YrrLe`r;Zk@g&1jVp1-%EccD:M +FnYb5#b_6@^"K):2<4H2!G&<`s7uZpci*nEXb$N7s*t~> +m/I.?!:BX_$+U&"j8\h`2.ZF[rs=khPO8DDXYjY_rr3&"!0dAr"1UuXmJ[%k_uPMOs8UDf!6"j9 +!b>*erVlrZ222#/!j)I@rVlunA2X)VrrVQffn'2"rrh^H!!%.ms5j92~> +m/I.?!:BX_$+U&"j8\h`2.ZF[rs=khPO8DDXYjY_rr3&"!0dAr"1UuXmJ[%k_uPMOs8UDf!6"j9 +!b>*erVlrZ222#/!j)I@rVlunA2X)VrrVQffn'2"rrh^H!!%.ms5j92~> +m/I.?!:BX_$+U&"j8\h`2.ZF[rs=khPO8DDXYjY_rr3&"!0dAr"1UuXmJ[%k_uPMOs8UDf!6"j9 +!b>*erVlrZ222#/!j)I@rVlunA2X)VrrVQffn'2"rrh^H!!%.ms5j92~> +li-uC`;BQ9cN(o]rs.RAL&_2!!6"g8#NI\8s8VI>K)<:a\3,iOrrULH`;BQ>P5s;9s24otqu6oS +!87DPm/X9crrVmiPPP4Z_uPAgq>US.!!"nDJcFj3J,~> +li-uC`;BQ9cN(o]rs.RAL&_2!!6"g8#NI\8s8VI>K)<:a\3,iOrrULH`;BQ>P5s;9s24otqu6oS +!87DPm/X9crrVmiPPP4Z_uPAgq>US.!!"nDJcFj3J,~> +li-uC`;BQ9cN(o]rs.RAL&_2!!6"g8#NI\8s8VI>K)<:a\3,iOrrULH`;BQ>P5s;9s24otqu6oS +!87DPm/X9crrVmiPPP4Z_uPAgq>US.!!"nDJcFj3J,~> +li7!=qu6[mL&1fQcN*#*:QtYT"iLE.s1'QR^BTl%pAb.gL&(cKFoVIBArs5a31~> +li7!=qu6[mL&1fQcN*#*:QtYT"iLE.s1'QR^BTl%pAb.gL&(cKFoVIBArs5a31~> +li7!=qu6[mL&1fQcN*#*:QtYT"iLE.s1'QR^BTl%pAb.gL&(cKFoVIBArs5a31~> +li.%4!:Bab!oj:@q>URnXlBEAq>URnXoE?Xq7d-D!87D4!:BU^"k`nCrrCaJrrp=us8R5*q>UNi +!878L!pp!6JcGWI!71WE!24uDj8XW~> +li.%4!:Bab!oj:@q>URnXlBEAq>URnXoE?Xq7d-D!87D4!:BU^"k`nCrrCaJrrp=us8R5*q>UNi +!878L!pp!6JcGWI!71WE!24uDj8XW~> +li.%4!:Bab!oj:@q>URnXlBEAq>URnXoE?Xq7d-D!87D4!:BU^"k`nCrrCaJrrp=us8R5*q>UNi +!878L!pp!6JcGWI!71WE!24uDj8XW~> +lMglBXo88#cN*b?"/0kU2>I1SPBHnCK)!(`!6"oJ:\Xkl!86B4mJ6bcf`;'PFfkH=!!+^Z\ir=N~> +lMglBXo88#cN*b?"/0kU2>I1SPBHnCK)!(`!6"oJ:\Xkl!86B4mJ6bcf`;'PFfkH=!!+^Z\ir=N~> +lMglBXo88#cN*b?"/0kU2>I1SPBHnCK)!(`!6"oJ:\Xkl!86B4mJ6bcf`;'PFfkH=!!+^Z\ir=N~> +lMgpf2>7%L!NgM>rr]BGX`aF="KchHDM%Yu"9@-TX`aC<"Ac/e!872J"k`nUs)kI=rrE,Qr;Qil +26DH0r;QroA,lTem=G;ss*t~> +lMgpf2>7%L!NgM>rr]BGX`aF="KchHDM%Yu"9@-TX`aC<"Ac/e!872J"k`nUs)kI=rrE,Qr;Qil +26DH0r;QroA,lTem=G;ss*t~> +lMgpf2>7%L!NgM>rr]BGX`aF="KchHDM%Yu"9@-TX`aC<"Ac/e!872J"k`nUs)kI=rrE,Qr;Qil +26DH0r;QroA,lTem=G;ss*t~> +lMgqZ26HlX!RCc@rr\s;`&7>i"I"Q>O')4m"gJ'fs1(r"rr`>Ts#%ajrroN#s8S::q>UN`!9="W +!j+?RJcGZJ!/:CP!82r'iW"E~> +lMgqZ26HlX!RCc@rr\s;`&7>i"I"Q>O')4m"gJ'fs1(r"rr`>Ts#%ajrroN#s8S::q>UN`!9="W +!j+?RJcGZJ!/:CP!82r'iW"E~> +lMgqZ26HlX!RCc@rr\s;`&7>i"I"Q>O')4m"gJ'fs1(r"rr`>Ts#%ajrroN#s8S::q>UN`!9="W +!j+?RJcGZJ!/:CP!82r'iW"E~> +l2M!j2>7(Mm/Z2Brrc-"irJ-8rrl3/s3C\MqS*5d8H8_M!9 +l2M!j2>7(Mm/Z2Brrc-"irJ-8rrl3/s3C\MqS*5d8H8_M!9 +l2M!j2>7(Mm/Z2Brrc-"irJ-8rrl3/s3C\MqS*5d8H8_M!9 +l2LhY251$L!G$o\rrp=@mJft9qYpc2V$rVll9rVuq^JcFX-J,~> +l2LhY251$L!G$o\rrp=@mJft9qYpc2V$rVll9rVuq^JcFX-J,~> +l2LhY251$L!G$o\rrp=@mJft9qYpc2V$rVll9rVuq^JcFX-J,~> +kl1mu!9=+Zf`8tgrs.RAU&Y/=!6"g8!ol/3rr3)\0MA\M^B0TIJ,TBKf`765rrSAaj8T&bXT5Ks +s8VeV!6"j9"627]mJd+e`&3bVrrV3\\UjeZrrqF?!!$R'JcFX-J,~> +kl1mu!9=+Zf`8tgrs.RAU&Y/=!6"g8!ol/3rr3)\0MA\M^B0TIJ,TBKf`765rrSAaj8T&bXT5Ks +s8VeV!6"j9"627]mJd+e`&3bVrrV3\\UjeZrrqF?!!$R'JcFX-J,~> +kl1mu!9=+Zf`8tgrs.RAU&Y/=!6"g8!ol/3rr3)\0MA\M^B0TIJ,TBKf`765rrSAaj8T&bXT5Ks +s8VeV!6"j9"627]mJd+e`&3bVrrV3\\UjeZrrqF?!!$R'JcFX-J,~> +kPl$7AG6''_uPMOs6ZpGAG6$&$+U%ij8\MK2.ZFZrs.RV!)$EV!1s)f$,cgdci=$kFTBAXrs-(l +20F$A28oCl#NJS[A9CZJU&=olp1/;ss8Ds$m54kD2>2V$hZ&*~> +kPl$7AG6''_uPMOs6ZpGAG6$&$+U%ij8\MK2.ZFZrs.RV!)$EV!1s)f$,cgdci=$kFTBAXrs-(l +20F$A28oCl#NJS[A9CZJU&=olp1/;ss8Ds$m54kD2>2V$hZ&*~> +kPl$7AG6''_uPMOs6ZpGAG6$&$+U%ij8\MK2.ZFZrs.RV!)$EV!1s)f$,cgdci=$kFTBAXrs-(l +20F$A28oCl#NJS[A9CZJU&=olp1/;ss8Ds$m54kD2>2V$hZ&*~> +kPkVN23\%>!RFR@!!+sZqu6]C:]:=p26H]S"OF3P\aB4m!SMVo!!.6&qYp`m`3$/[pA"Xjc`O=[ +mJHnbTf)4gs8N$%p1+.'2<08fh>`!~> +kPkVN23\%>!RFR@!!+sZqu6]C:]:=p26H]S"OF3P\aB4m!SMVo!!.6&qYp`m`3$/[pA"Xjc`O=[ +mJHnbTf)4gs8N$%p1+.'2<08fh>`!~> +kPkVN23\%>!RFR@!!+sZqu6]C:]:=p26H]S"OF3P\aB4m!SMVo!!.6&qYp`m`3$/[pA"Xjc`O=[ +mJHnbTf)4gs8N$%p1+.'2<08fh>`!~> +k5PM$!6"j9!q"[op\t<^g"GTh"8:F$p>>lO_uR`,s8DrtAGuQ/`.@sDs*t~> +k5PM$!6"j9!q"[op\t<^g"GTh"8:F$p>>lO_uR`,s8DrtAGuQ/`.@sDs*t~> +k5PM$!6"j9!q"[op\t<^g"GTh"8:F$p>>lO_uR`,s8DrtAGuQ/`.@sDs*t~> +jo5CG2<1q@!ol/%JcG]K!0dB^!5sHgg])d~> +jo5CG2<1q@!ol/%JcG]K!0dB^!5sHgg])d~> +jo5CG2<1q@!ol/%JcG]K!0dB^!5sHgg])d~> +jSo:(2<2"B!ol.\JcG]K!0dB^!0`!6gAc[~> +jSo:(2<2"B!ol.\JcG]K!0dB^!0`!6gAc[~> +jSo:(2<2"B!ol.\JcG]K!0dB^!0`!6gAc[~> +jSo>UA2WDSrr_:=AG1TSrr2u#rVuq^JcFF'J,~> +jSo>UA2WDSrr_:=AG1TSrr2u#rVuq^JcFF'J,~> +jSo>UA2WDSrr_:=AG1TSrr2u#rVuq^JcFF'J,~> +j8T5TA2WDUrr_:=AG1TSrr2u:rVuq/JcFC&J,~> +j8T5TA2WDUrr_:=AG1TSrr2u:rVuq/JcFC&J,~> +j8T5TA2WDUrr_:=AG1TSrr2u:rVuq/JcFC&J,~> +ir9,SA2WDWrr_:=AG2Ai!9=%2!9 +ir9,SA2WDWrr_:=AG2Ai!9=%2!9 +ir9,SA2WDWrr_:=AG2Ai!9=%2!9 +iVs#RA2V]Err^S)AG2Yq"lmq2Klp2a!!QnUPHE0kq#:?4rVut0p4<7qs*t~> +iVs#RA2V]Err^S)AG2Yq"lmq2Klp2a!!QnUPHE0kq#:?4rVut0p4<7qs*t~> +iVs#RA2V]Err^S)AG2Yq"lmq2Klp2a!!QnUPHE0kq#:?4rVut0p4<7qs*t~> +huhc_5L\!!@A-Xh"Ga!;?Bk!:Bd=s/c +huhc_5L\!!@A-Xh"Ga!;?Bk!:Bd=s/c +huhc_5L\!!@A-Xh"Ga!;?Bk!:Bd=s/c +hZ!\g!-S"Nrr_t;!4ep*#ihUh!!%/DcgC&u#jos3FT;Da\[MJ;!B'S%s4.."~> +hZ!\g!-S"Nrr_t;!4ep*#ihUh!!%/DcgC&u#jos3FT;Da\[MJ;!B'S%s4.."~> +hZ!\g!-S"Nrr_t;!4ep*#ihUh!!%/DcgC&u#jos3FT;Da\[MJ;!B'S%s4.."~> +h>[T;:GpJ8rr^S):ZJ>P#48*[!)K +h>[T;:GpJ8rr^S):ZJ>P#48*[!)K +h>[T;:GpJ8rr^S):ZJ>P#48*[!)K +h#@NNT`B6&`r?2/FTA-/VuHq=FT>42j5'_8`;T`=$NPn6JcF:#J,~> +h#@NNT`B6&`r?2/FTA-/VuHq=FT>42j5'_8`;T`=$NPn6JcF:#J,~> +h#@NNT`B6&`r?2/FTA-/VuHq=FT>42j5'_8`;T`=$NPn6JcF:#J,~> +gA_ +gA_ +gA_ +f`))b2)VN0cMn%@XYhuHVuHn%2)V)pgA_/TrVut0pAY'pm?7NG`.@sAs*t~> +f`))b2)VN0cMn%@XYhuHVuHn%2)V)pgA_/TrVut0pAY'pm?7NG`.@sAs*t~> +f`))b2)VN0cMn%@XYhuHVuHn%2)V)pgA_/TrVut0pAY'pm?7NG`.@sAs*t~> +fDc$JXYhu +fDc$JXYhu +fDc$JXYhu +ec,gHXYg*Bg"-0,folCnXnJ^n"RU=3PO7Z8#gY@.Ffg?T!3Q%r!0dB^!G(p!rrh_3!/:,ts5!^*~> +ec,gHXYg*Bg"-0,folCnXnJ^n"RU=3PO7Z8#gY@.Ffg?T!3Q%r!0dB^!G(p!rrh_3!/:,ts5!^*~> +ec,gHXYg*Bg"-0,folCnXnJ^n"RU=3PO7Z8#gY@.Ffg?T!3Q%r!0dB^!G(p!rrh_3!/:,ts5!^*~> +df0KhA,oE!j4sY-?:GpILs5*d+~> +df0KhA,oE!j4sY-?:GpILs5*d+~> +df0KhA,oE!j4sY-?:GpILs5*d+~> +d/O@ +d/O@ +d/O@ +c2S(0X^hD3A>-s%r;Ql0!!'S&rs7Z'Tk"-'A?Fmfrr^q3:ZLX +c2S(0X^hD3A>-s%r;Ql0!!'S&rs7Z'Tk"-'A?Fmfrr^q3:ZLX +c2S(0X^hD3A>-s%r;Ql0!!'S&rs7Z'Tk"-'A?Fmfrr^q3:ZLX +b5W"Gc`M=I!!#f;PHAs-!%lUsfaQ3/XeBl5!!"m!Xj?^8rr^1>L%a[/! +b5W"Gc`M=I!!#f;PHAs-!%lUsfaQ3/XeBl5!!"m!Xj?^8rr^1>L%a[/! +b5W"Gc`M=I!!#f;PHAs-!%lUsfaQ3/XeBl5!!"m!Xj?^8rr^1>L%a[/! +`W$/0ft"5=F`I0Vs)eHuXh!-PT)SkU!3PA_!oj:Jp\t6og#W/7P5rOPs5X-0~> +`W$/0ft"5=F`I0Vs)eHuXh!-PT)SkU!3PA_!oj:Jp\t6og#W/7P5rOPs5X-0~> +`W$/0ft"5=F`I0Vs)eHuXh!-PT)SkU!3PA_!oj:Jp\t6og#W/7P5rOPs5X-0~> +^Ae2DrVurcPlCfK!6!su!ndSIp\t6og#N)6XT5JSs5a31~> +^Ae2DrVurcPlCfK!6!su!ndSIp\t6og#N)6XT5JSs5a31~> +^Ae2DrVurcPlCfK!6!su!ndSIp\t6og#N)6XT5JSs5a31~> +^&J11!!%_ +^&J11!!%_ +^&J11!!%_ +^&J)crVurOQi@,N!6!jr!Hj+krrK5Zi;Wks!5sHgk5Tr~> +^&J)crVurOQi@,N!6!jr!Hj+krrK5Zi;Wks!5sHgk5Tr~> +^&J)crVurOQi@,N!6!jr!Hj+krrK5Zi;Wks!5sHgk5Tr~> +]`/(V!!#f^rrT_2`8LXsf`8_^rrV4:Xl'-[XT6:js6'E4~> +]`/(V!!#f^rrT_2`8LXsf`8_^rrV4:Xl'-[XT6:js6'E4~> +]`/(V!!#f^rrT_2`8LXsf`8_^rrV4:Xl'-[XT6:js6'E4~> +]`/!!rVur#Rf +]`/!!rVur#Rf +]`/!!rVur#Rf +]Dhl5rVurYSGrZX221#h&b`=a26E>J:SFnmA,q.X!)LqurrQ_,p4<8.s*t~> +]Dhl5rVurYSGrZX221#h&b`=a26E>J:SFnmA,q.X!)LqurrQ_,p4<8.s*t~> +]Dhl5rVurYSGrZX221#h&b`=a26E>J:SFnmA,q.X!)LqurrQ_,p4<8.s*t~> +])MkC!!$Q"rrR==p>c/fp8p20XnMepm@e21D3NZQs6Z!MFlVH\!pqk!JcG!7J,~> +])MkC!!$Q"rrR==p>c/fp8p20XnMepm@e21D3NZQs6Z!MFlVH\!pqk!JcG!7J,~> +])MkC!!$Q"rrR==p>c/fp8p20XnMepm@e21D3NZQs6Z!MFlVH\!pqk!JcG!7J,~> +])Mc`rVur#T)Sl&!9 +])Mc`rVur#T)Sl&!9 +])Mc`rVur#T)Sl&!9 +\c2Z'rVurYT`5)\26H!?"no&U26HTJrrHYoq#:K8:Go9Jj8T17:\KA>li2J~> +\c2Z'rVurYT`5)\26H!?"no&U26HTJrrHYoq#:K8:Go9Jj8T17:\KA>li2J~> +\c2Z'rVurYT`5)\26H!?"no&U26HTJrrHYoq#:K8:Go9Jj8T17:\KA>li2J~> +\Gl\B!!#ggU&P1X:\NuO"no&U26HTIrrVlochIGBp8p2J`8pq"m5;"ss6K]8~> +\Gl\B!!#ggU&P1X:\NuO"no&U26HTIrrVlochIGBp8p2J`8pq"m5;"ss6K]8~> +\Gl\B!!#ggU&P1X:\NuO"no&U26HTIrrVlochIGBp8p2J`8pq"m5;"ss6K]8~> +\GlQhrVuq^UAk;T!6"+$"no&U26HTGrrL%2V$m/MS~> +\GlQhrVuq^UAk;T!6"+$"no&U26HTGrrL%2V$m/MS~> +\GlQhrVuq^UAk;T!6"+$"no&U26HTGrrL%2V$m/MS~> +\,QH=rVur:U]1@K:\"Gdj4W,`rrr+u2)VN0o`+rFo)AjQFT@WmkPkVW26DH0m/MS~> +\,QH=rVur:U]1@K:\"Gdj4W,`rrr+u2)VN0o`+rFo)AjQFT@WmkPkVW26DH0m/MS~> +\,QH=rVur:U]1@K:\"Gdj4W,`rrr+u2)VN0o`+rFo)AjQFT@WmkPkVW26DH0m/MS~> +[f6Ja!!"n:V>gVa!6"L/!RFR@!!kHas6Z!M:Ta?_rrhAa,_b:KrrgYD!3PtorrgZMXh!igrrT;[ +p4<82s*t~> +[f6Ja!!"n:V>gVa!6"L/!RFR@!!kHas6Z!M:Ta?_rrhAa,_b:KrrgYD!3PtorrgZMXh!igrrT;[ +p4<82s*t~> +[f6Ja!!"n:V>gVa!6"L/!RFR@!!kHas6Z!M:Ta?_rrhAa,_b:KrrgYD!3PtorrgZMXh!igrrT;[ +p4<82s*t~> +[f6O):B1Ajp87ijThk:[$^1RSj8\MK2+.F?`:O!7p2p@2BOCg_mIC2aXYhuSfhVTjFYs/mnc&[a +27\; +[f6O):B1Ajp87ijThk:[$^1RSj8\MK2+.F?`:O!7p2p@2BOCg_mIC2aXYhuSfhVTjFYs/mnc&[a +27\; +[f6O):B1Ajp87ijThk:[$^1RSj8\MK2+.F?`:O!7p2p@2BOCg_mIC2aXYhuSfhVTjFYs/mnc&[a +27\; +[Jp6erVuq@VZ-ZSXn;VpcN(o]rrV4-I.I:>p1-&6rr3)RA2X)Nrrr+i!!%`?rr3&1!0csQ!L%&F +s6]i:~> +[Jp6erVuq@VZ-ZSXn;VpcN(o]rrV4-I.I:>p1-&6rr3)RA2X)Nrrr+i!!%`?rr3&1!0csQ!L%&F +s6]i:~> +[Jp6erVuq@VZ-ZSXn;VpcN(o]rrV4-I.I:>p1-&6rr3)RA2X)Nrrr+i!!%`?rr3&1!0csQ!L%&F +s6]i:~> +[/U-ErVuq^W;cqF!:BFY!DepUrrT_2mIU>ZP;Vb*rrVmiL%,*Dp.9H)rrULHcgq);f`:Djs6fo;~> +[/U-ErVuq^W;cqF!:BFY!DepUrrT_2mIU>ZP;Vb*rrVmiL%,*Dp.9H)rrULHcgq);f`:Djs6fo;~> +[/U-ErVuq^W;cqF!:BFY!DepUrrT_2mIU>ZP;Vb*rrVmiL%,*Dp.9H)rrULHcgq);f`:Djs6fo;~> +Zi:#hrVur:WW*!_AG#m'irJKBrrG!fo`#!d!6"a6!ndS@nc&[/2>6nH!L%'arrG!fJcG0 +Zi:#hrVur:WW*!_AG#m'irJKBrrG!fo`#!d!6"a6!ndS@nc&[/2>6nH!L%'arrG!fJcG0 +Zi:#hrVur:WW*!_AG#m'irJKBrrG!fo`#!d!6"a6!ndS@nc&[/2>6nH!L%'arrG!fJcG0 +ZMsoIrVur:WrE)qXn;Vo\PN##s+U+F!Q5!5rrGp+nc&WDPPP4[f`:F1rrJ=+JcG0 +ZMsoIrVur:WrE)qXn;Vo\PN##s+U+F!Q5!5rrGp+nc&WDPPP4[f`:F1rrJ=+JcG0 +ZMsoIrVur:WrE)qXn;Vo\PN##s+U+F!Q5!5rrGp+nc&WDPPP4[f`:F1rrJ=+JcG0 +ZMst!AGuQ/j/i7^m/Yi3rrK6Eq#:AsFnG\7X`aF=!Hk++rrI8Eq#:?pg%,.D_uPAgmf.e~> +ZMst!AGuQ/j/i7^m/Yi3rrK6Eq#:AsFnG\7X`aF=!Hk++rrI8Eq#:?pg%,.D_uPAgmf.e~> +ZMst!AGuQ/j/i7^m/Yi3rrK6Eq#:AsFnG\7X`aF=!Hk++rrI8Eq#:?pg%,.D_uPAgmf.e~> +Z2Y!p2#mV6j/r=^cN*S:!P)#$rrJ=;o`"roFnkt;Kp2',!B%F_rrE,Qo)AdY!98Y1n,In~> +Z2Y!p2#mV6j/r=^cN*S:!P)#$rrJ=;o`"roFnkt;Kp2',!B%F_rrE,Qo)AdY!98Y1n,In~> +Z2Y!p2#mV6j/r=^cN*S:!P)#$rrJ=;o`"roFnkt;Kp2',!B%F_rrE,Qo)AdY!98Y1n,In~> +Yl=me2#mV6j0&C_X^q&'!oj:Jq>UIk\b,n&X\\`l!G&>&rrI89q>UN`!9 +Yl=me2#mV6j0&C_X^q&'!oj:Jq>UIk\b,n&X\\`l!G&>&rrI89q>UN`!9 +Yl=me2#mV6j0&C_X^q&'!oj:Jq>UIk\b,n&X\\`l!G&>&rrI89q>UN`!9 +YQ"dd2#mV6j0/I`PBHHr!DepUrrU+=mI^D[irJ-9rrVQfcgh#9ThkLa!P()WrrI8EJcG3=J,~> +YQ"dd2#mV6j0/I`PBHHr!DepUrrU+=mI^D[irJ-9rrVQfcgh#9ThkLa!P()WrrI8EJcG3=J,~> +YQ"dd2#mV6j0/I`PBHHr!DepUrrU+=mI^D[irJ-9rrVQfcgh#9ThkLa!P()WrrI8EJcG3=J,~> +Y5\LJrVusVj08OaFfk67!m^kbr;QiY250U@s)n2=rrVQf\blC.p,/uArrI8EJcG3=J,~> +Y5\LJrVusVj08OaFfk67!m^kbr;QiY250U@s)n2=rrVQf\blC.p,/uArrI8EJcG3=J,~> +Y5\LJrVusVj08OaFfk67!m^kbr;QiY250U@s)n2=rrVQf\blC.p,/uArrI8EJcG3=J,~> +XoAC>rVusVj0AUbFfk36$'P@QmJlm^2.ZFOrrV3\PPkF^P5rqtrrSko`;T] +XoAC>rVusVj0AUbFfk36$'P@QmJlm^2.ZFOrrV3\PPkF^P5rqtrrSko`;T] +XoAC>rVusVj0AUbFfk36$'P@QmJlm^2.ZFOrrV3\PPkF^P5rqtrrSko`;T] +XT&:=rVusVj0J[cFfk05!RFR@!!+sZn,E[32,Cd*\PE4DmJdHU!-PusTf#X+n,EEjFb0S]s*t~> +XT&:=rVusVj0J[cFfk05!RFR@!!+sZn,E[32,Cd*\PE4DmJdHU!-PusTf#X+n,EEjFb0S]s*t~> +XT&:=rVusVj0J[cFfk05!RFR@!!+sZn,E[32,Cd*\PE4DmJdHU!-PusTf#X+n,EEjFb0S]s*t~> +X8`@A2#mV6ca3WPFfk-4"QM.2/a_s*#47U,!$%$dli.1BFqXjIXnM2_!NgKqs6ou<~> +X8`@A2#mV6ca3WPFfk-4"QM.2/a_s*#47U,!$%$dli.1BFqXjIXnM2_!NgKqs6ou<~> +X8`@A2#mV6ca3WPFfk-4"QM.2/a_s*#47U,!$%$dli.1BFqXjIXnM2_!NgKqs6ou<~> +WrE+[2?!RU`3fOFFfk05"lhJ(p1._$rs&1N26SlJp?V__j#(AQ!0d-ErrK6EJcG3=J,~> +WrE+[2?!RU`3fOFFfk05"lhJ(p1._$rs&1N26SlJp?V__j#(AQ!0d-ErrK6EJcG3=J,~> +WrE+[2?!RU`3fOFFfk05"lhJ(p1._$rs&1N26SlJp?V__j#(AQ!0d-ErrK6EJcG3=J,~> +WW*"Z2?!RUTsan$Ffk36#NI\*s8V+:Xmc8qp1-&@s5RWIj6cjPj#(B@s4K8?mI1&UPD+Sfn,In~> +WW*"Z2?!RUTsan$Ffk36#NI\*s8V+:Xmc8qp1-&@s5RWIj6cjPj#(B@s4K8?mI1&UPD+Sfn,In~> +WW*"Z2?!RUTsan$Ffk36#NI\*s8V+:Xmc8qp1-&@s5RWIj6cjPj#(B@s4K8?mI1&UPD+Sfn,In~> +W;cnYAGuQ0L%`"U!Hk+,rrV4 +W;cnYAGuQ0L%`"U!Hk+,rrV4 +W;cnYAGuQ0L%`"U!Hk+,rrV4 +VuHekAGuQ0AF6o,!NgM9rrV4 +VuHekAGuQ0AF6o,!NgM9rrV4 +VuHekAGuQ0AF6o,!NgM9rrV4 +VZ-\jPPtO_2:&i5!P)"urrV4 +VZ-\jPPtO_2:&i5!P)"urrV4 +VZ-\jPPtO_2:&i5!P)"urrV4 +V#LG*r;Zhk])Mib!;?0e"50@nGkh:@\H%?0q>UKUL&M&Q9We*i"KqfB`9mC#!Q7S/!!.&lqYpTV +Jc5WM8?MUc!ndS@JcG3=J,~> +V#LG*r;Zhk])Mib!;?0e"50@nGkh:@\H%?0q>UKUL&M&Q9We*i"KqfB`9mC#!Q7S/!!.&lqYpTV +Jc5WM8?MUc!ndS@JcG3=J,~> +V#LG*r;Zhk])Mib!;?0e"50@nGkh:@\H%?0q>UKUL&M&Q9We*i"KqfB`9mC#!Q7S/!!.&lqYpTV +Jc5WM8?MUc!ndS@JcG3=J,~> +U]1AJ2?!RVAF7#/! +U]1AJ2?!RVAF7#/! +U]1AJ2?!RVAF7#/! +UAk8]AGuQ028m0-!G%o#rs@]cFm]5/p7VK)rr3;N!/9h?s7VWV`;]c +UAk8]AGuQ028m0-!G%o#rs@]cFm]5/p7VK)rr3;N!/9h?s7VWV`;]c +UAk8]AGuQ028m0-!G%o#rs@]cFm]5/p7VK)rr3;N!/9h?s7VWV`;]c +T`5"cr;ZkPp:gP-X\\io!qnL*qu6l2!9=+Q23[q;#-@mms8R4PqYpf=!:Bgdp,.R$rs/7.FoVL8 +!.t'^!G"h%rrI.BqS*)q!:BX_!qlW4JcG0 +T`5"cr;ZkPp:gP-X\\io!qnL*qu6l2!9=+Q23[q;#-@mms8R4PqYpf=!:Bgdp,.R$rs/7.FoVL8 +!.t'^!G"h%rrI.BqS*)q!:BX_!qlW4JcG0 +T`5"cr;ZkPp:gP-X\\io!qnL*qu6l2!9=+Q23[q;#-@mms8R4PqYpf=!:Bgdp,.R$rs/7.FoVL8 +!.t'^!G"h%rrI.BqS*)q!:BX_!qlW4JcG0 +TDnrF2?!RV2:'&;!oj:@r;Qi/2>6nH"a,P!XYohKrrl2^s7QH=q>UXpU&Y.p2>6nH"k`n/s1'TS +^BU\ +TDnrF2?!RV2:'&;!oj:@r;Qi/2>6nH"a,P!XYohKrrl2^s7QH=q>UXpU&Y.p2>6nH"k`n/s1'TS +^BU\ +TDnrF2?!RV2:'&;!oj:@r;Qi/2>6nH"a,P!XYohKrrl2^s7QH=q>UXpU&Y.p2>6nH"k`n/s1'TS +^BU\ +T)SibL&CuPFm[!E!G%DlrrI89q>UT9!<6T'q>UT92?2>0q#:MkFoVJPU%nWjA<[%SAGEnB.(TB2 +!;O;0G]*BX!Hj*Is6]i:~> +T)SibL&CuPFm[!E!G%DlrrI89q>UT9!<6T'q>UT92?2>0q#:MkFoVJPU%nWjA<[%SAGEnB.(TB2 +!;O;0G]*BX!Hj*Is6]i:~> +T)SibL&CuPFm[!E!G%DlrrI89q>UT9!<6T'q>UT92?2>0q#:MkFoVJPU%nWjA<[%SAGEnB.(TB2 +!;O;0G]*BX!Hj*Is6]i:~> +SGrW92>mLUXnKX3!kC2^rVlluch[SDm/Z/Hg%kXNirJK"!;QQtX`a[D!87/I"KchHDM%Yu"B_f+ +f`:f^!J54drrVQfc[l,`s*t~> +SGrW92>mLUXnKX3!kC2^rVlluch[SDm/Z/Hg%kXNirJK"!;QQtX`a[D!87/I"KchHDM%Yu"B_f+ +f`:f^!J54drrVQfc[l,`s*t~> +SGrW92>mLUXnKX3!kC2^rVlluch[SDm/Z/Hg%kXNirJK"!;QQtX`a[D!87/I"KchHDM%Yu"B_f+ +f`:f^!J54drrVQfc[l,`s*t~> +S,WN_L&CuP:W10N!qnLRrVllug%bRL!8.A*q>UTk!86$*q#:N"FoVIAg%bRMX`aYnDYUsL4K\Y: +!;O;0Jo:Jc!L$<1s6Tc9~> +S,WN_L&CuP:W10N!qnLRrVllug%bRL!8.A*q>UTk!86$*q#:N"FoVIAg%bRMX`aYnDYUsL4K\Y: +!;O;0Jo:Jc!L$<1s6Tc9~> +S,WN_L&CuP:W10N!qnLRrVllug%bRL!8.A*q>UTk!86$*q#:N"FoVIAg%bRMX`aYnDYUsL4K\Y: +!;O;0Jo:Jc!L$<1s6Tc9~> +RK!<@:]17oFkO_5!j+?Rrr3!V\bZ7.irJI(`;0E:f`:a5!9,rrC"4rrf$ +RK!<@:]17oFkO_5!j+?Rrr3!V\bZ7.irJI(`;0E:f`:a5!9,rrC"4rrf$ +RK!<@:]17oFkO_5!j+?Rrr3!V\bZ7.irJI(`;0E:f`:a5!9,rrC"4rrf$ +Qi@)g2>mLUFkOe7!qnLRrr3"QFnu%?X\\tNL&(`PThk^gA;0m[#2'"0s8Re,q#:Ln\c;$sS,0l# +Jk5n@!D78+^B1/1g&1jNKhm:"li2J~> +Qi@)g2>mLUFkOe7!qnLRrr3"QFnu%?X\\tNL&(`PThk^gA;0m[#2'"0s8Re,q#:Ln\c;$sS,0l# +Jk5n@!D78+^B1/1g&1jNKhm:"li2J~> +Qi@)g2>mLUFkOe7!qnLRrr3"QFnu%?X\\tNL&(`PThk^gA;0m[#2'"0s8Re,q#:Ln\c;$sS,0l# +Jk5n@!D78+^B1/1g&1jNKhm:"li2J~> +QN%!QPPbC]L"XNH#H\!ns8UaPg&(dRp,/uP_uSiprs.pKXoJFI!6"g8!qp/Irr3&Q!875K#Isj% +s8S-.Wr0U5RfL"urrULHPPi/s\4gl>rrUjRc[l,^s*t~> +QN%!QPPbC]L"XNH#H\!ns8UaPg&(dRp,/uP_uSiprs.pKXoJFI!6"g8!qp/Irr3&Q!875K#Isj% +s8S-.Wr0U5RfL"urrULHPPi/s\4gl>rrUjRc[l,^s*t~> +QN%!QPPbC]L"XNH#H\!ns8UaPg&(dRp,/uP_uSiprs.pKXoJFI!6"g8!qp/Irr3&Q!875K#Isj% +s8S-.Wr0U5RfL"urrULHPPi/s\4gl>rrUjRc[l,^s*t~> +PlCdOFo24?FkOk9!Ddk;rrRm3j8Ju`p1-tms8R4!j8Ju[p1._-rr3:g!3Ptps3FIupAP!mKf.og +rrU+=XoA>,p0T53^V@:1!0R3Z$'>4>\A,eJ4@o2ErrVmiFb0SXs*t~> +PlCdOFo24?FkOk9!Ddk;rrRm3j8Ju`p1-tms8R4!j8Ju[p1._-rr3:g!3Ptps3FIupAP!mKf.og +rrU+=XoA>,p0T53^V@:1!0R3Z$'>4>\A,eJ4@o2ErrVmiFb0SXs*t~> +PlCdOFo24?FkOk9!Ddk;rrRm3j8Ju`p1-tms8R4!j8Ju[p1._-rr3:g!3Ptps3FIupAP!mKf.og +rrU+=XoA>,p0T53^V@:1!0R3Z$'>4>\A,eJ4@o2ErrVmiFb0SXs*t~> +P5bR9Fo24?AAlXj%bUims8Ve'25/^V\MZ8)rr3;uA2U(6fr[,-j8Ao^\MX@_!!%`Hr;R)sFT@WO +g!=d@U&=oqp5o=T-ibp#qYpf20E=38!.jkArrSlOm=G<&s*t~> +P5bR9Fo24?AAlXj%bUims8Ve'25/^V\MZ8)rr3;uA2U(6fr[,-j8Ao^\MX@_!!%`Hr;R)sFT@WO +g!=d@U&=oqp5o=T-ibp#qYpf20E=38!.jkArrSlOm=G<&s*t~> +P5bR9Fo24?AAlXj%bUims8Ve'25/^V\MZ8)rr3;uA2U(6fr[,-j8Ao^\MX@_!!%`Hr;R)sFT@WO +g!=d@U&=oqp5o=T-ibp#qYpf20E=38!.jkArrSlOm=G<&s*t~> +OT,@7Fo24@250E]rrSkoj8T&_X\Sos23[b2rs#T$!!"mYpA+^jft#Grq#:B5AGuQ0L"Z;%"RXmQ +g%P1?"5162mJHnbcN(M,s69Q6~> +OT,@7Fo24@250E]rrSkoj8T&_X\Sos23[b2rs#T$!!"mYpA+^jft#Grq#:B5AGuQ0L"Z;%"RXmQ +g%P1?"5162mJHnbcN(M,s69Q6~> +OT,@7Fo24@250E]rrSkoj8T&_X\Sos23[b2rs#T$!!"mYpA+^jft#Grq#:B5AGuQ0L"Z;%"RXmQ +g%P1?"5162mJHnbcN(M,s69Q6~> +NrK.?PPY=]Fi="!rrQ_,p94Jtm59TKs60K5~> +NrK.?PPY=]Fi="!rrQ_,p94Jtm59TKs60K5~> +NrK.?PPY=]Fi="!rrQ_,p94Jtm59TKs60K5~> +N;itHXYotU!L(j`rr^TLcgCW0!qnK^Yl=h!A7YCbs60K5~> +N;itHXYotU!L(j`rr^TLcgCW0!qnK^Yl=h!A7YCbs60K5~> +N;itHXYotU!L(j`rr^TLcgCW0!qnK^Yl=h!A7YCbs60K5~> +M>mUpFo).@220!BhZ!T9rW!6^FeQb6s8V+:PHt2jp1-&JJcFp5J,~> +M>mUpFo).@220!BhZ!T9rW!6^FeQb6s8V+:PHt2jp1-&JJcFp5J,~> +M>mUpFo).@220!BhZ!T9rW!6^FeQb6s8V+:PHt2jp1-&JJcFp5J,~> +L]7GCX\\cn!bAFdi;Wd7q#CP?Tq;=K[/U7%FZ&31s5s?3~> +L]7GCX\\cn!bAFdi;Wd7q#CP?Tq;=K[/U7%FZ&31s5s?3~> +L]7GCX\\cn!bAFdi;Wd7q#CP?Tq;=K[/U7%FZ&31s5s?3~> +K`;,6ThkIa"*L`lmH+?JPOnhTA@DL?p1-&@JcFj3J,~> +K`;,6ThkIa"*L`lmH+?JPOnhTA@DL?p1-&@JcFj3J,~> +K`;,6ThkIa"*L`lmH+?JPOnhTA@DL?p1-&@JcFj3J,~> +Jc>f3X^q2,">t>(`7aGU!6"O1"*" +Jc>f3X^q2,">t>(`7aGU!6"O1"*" +Jc>f3X^q2,">t>(`7aGU!6"O1"*" +JcG`L"89Zs:\Fbl20F&DXi14l!:BU^!9=(3!3Gko"dAuH2.ZEmrr_:W2<08fj8XW~> +JcG`L"89Zs:\Fbl20F&DXi14l!:BU^!9=(3!3Gko"dAuH2.ZEmrr_:W2<08fj8XW~> +JcG`L"89Zs:\Fbl20F&DXi14l!:BU^!9=(3!3Gko"dAuH2.ZEmrr_:W2<08fj8XW~> +JcGTH"7=%#FlNH%7/-`^\c2U2j((%#^&J2Q2.ZE3s5O'/~> +JcGTH"7=%#FlNH%7/-`^\c2U2j((%#^&J2Q2.ZE3s5O'/~> +JcGTH"7=%#FlNH%7/-`^\c2U2j((%#^&J2Q2.ZE3s5O'/~> +JcGEC"QRG&F_'_:!)!%e!6"g8"87EKXhar=p6,K?JcF[.J,~> +JcGEC"QRG&F_'_:!)!%e!6"g8"87EKXhar=p6,K?JcF[.J,~> +JcGEC"QRG&F_'_:!)!%e!6"g8"87EKXhar=p6,K?JcF[.J,~> +JcG3="mt!hXf[fdFT>tJ!<%$@Tr7bf!B&R+rr]ehAE1T-"5-I-c[l,Rs*t~> +JcG3="mt!hXf[fdFT>tJ!<%$@Tr7bf!B&R+rr]ehAE1T-"5-I-c[l,Rs*t~> +JcG3="mt!hXf[fdFT>tJ!<%$@Tr7bf!B&R+rr]ehAE1T-"5-I-c[l,Rs*t~> +JcF@%qu?aTj7iQVj)k@(p;d19p6,K1m=G;os*t~> +JcF@%qu?aTj7iQVj)k@(p;d19p6,K1m=G;os*t~> +JcF@%qu?aTj7iQVj)k@(p;d19p6,K1m=G;os*t~> +JcF@%!/:CP!G(6_rr]eh28mZ;"SSrT:X=Ulh#Dm~> +JcF@%!/:CP!G(6_rr]eh28mZ;"SSrT:X=Ulh#Dm~> +JcF@%!/:CP!G(6_rr]eh28mZ;"SSrT:X=Ulh#Dm~> +JcF@%"M"L4AG5To"SSMh:W1NX"N4(nXnI>Gg])d~> +JcF@%"M"L4AG5To"SSMh:W1NX"N4(nXnI>Gg])d~> +JcF@%"M"L4AG5To"SSMh:W1NX"N4(nXnI>Gg])d~> +JcF@%"60B(p@&"bm?7NG`:h[["no&U23[`bs4RF&~> +JcF@%"60B(p@&"bm?7NG`:h[["no&U23[`bs4RF&~> +JcF@%"60B(p@&"bm?7NG`:h[["no&U23[`bs4RF&~> +JcF=$!3PSe"mqL223[(Prrq)>!&^nPJcF@%J,~> +JcF=$!3PSe"mqL223[(Prrq)>!&^nPJcF@%J,~> +JcF=$!3PSe"mqL223[(Prrq)>!&^nPJcF@%J,~> +JcEF`#55T[Z=ThbZ!`.@s +JcEF`#55T[Z=ThbZ!`.@s +JcEF`#55T[Z=ThbZ!`.@s +JcE=]#NMLR!)K<7p>u;ZmDP2a!)K`aJcF0uJ,~> +JcE=]#NMLR!)K<7p>u;ZmDP2a!)K`aJcF0uJ,~> +JcE=]#NMLR!)K<7p>u;ZmDP2a!)K`aJcF0uJ,~> +JcE4Z$0/R=!!$Pn\_6]FrsA)GXbBON!/7uNJcF'rJ,~> +JcE4Z$0/R=!!$Pn\_6]FrsA)GXbBON!/7uNJcF'rJ,~> +JcE4Z$0/R=!!$Pn\_6]FrsA)GXbBON!/7uNJcF'rJ,~> +JcE(V"50f1:]:=qA9F+1XTF3!AGuQ2A +JcE(V"50f1:]:=qA9F+1XTF3!AGuQ2A +JcE(V"50f1:]:=qA9F+1XTF3!AGuQ2A +JcDnQ"QS1;XbHLl"I#sig#IY``rCP~> +JcDnQ"QS1;XbHLl"I#sig#IY``rCP~> +JcDnQ"QS1;XbHLl"I#sig#IY``rCP~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +JcC<$JcFX-J,~> +%%EndData +showpage +%%Trailer +end +%%EOF diff --git a/BookGPU/Makefile b/BookGPU/Makefile index 66929c8..011ff95 100644 --- a/BookGPU/Makefile +++ b/BookGPU/Makefile @@ -7,7 +7,7 @@ all: bibtex bu1 bibtex bu2 bibtex bu3 - bibtex bu4 +# bibtex bu4 makeindex ${BOOK}.idx pdflatex ${BOOK} pdflatex ${BOOK} diff --git a/BookGPU/algorithm.sty b/BookGPU/algorithm.sty new file mode 100644 index 0000000..843e3d5 --- /dev/null +++ b/BookGPU/algorithm.sty @@ -0,0 +1,79 @@ +% ALGORITHM STYLE -- Released 8 April 1996 +% for LaTeX-2e +% Copyright -- 1994 Peter Williams +% E-mail Peter.Williams@dsto.defence.gov.au +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{algorithm} +\typeout{Document Style `algorithm' - floating environment} + +\RequirePackage{float} +\RequirePackage{ifthen} +\newcommand{\ALG@within}{nothing} +\newboolean{ALG@within} +\setboolean{ALG@within}{false} +\newcommand{\ALG@floatstyle}{ruled} +\newcommand{\ALG@name}{Algorithm} +\newcommand{\listalgorithmname}{List of \ALG@name s} + +% Declare Options +% first appearance +\DeclareOption{plain}{ + \renewcommand{\ALG@floatstyle}{plain} +} +\DeclareOption{ruled}{ + \renewcommand{\ALG@floatstyle}{ruled} +} +\DeclareOption{boxed}{ + \renewcommand{\ALG@floatstyle}{boxed} +} +% then numbering convention +\DeclareOption{part}{ + \renewcommand{\ALG@within}{part} + \setboolean{ALG@within}{true} +} +\DeclareOption{chapter}{ + \renewcommand{\ALG@within}{chapter} + \setboolean{ALG@within}{true} +} +\DeclareOption{section}{ + \renewcommand{\ALG@within}{section} + \setboolean{ALG@within}{true} +} +\DeclareOption{subsection}{ + \renewcommand{\ALG@within}{subsection} + \setboolean{ALG@within}{true} +} +\DeclareOption{subsubsection}{ + \renewcommand{\ALG@within}{subsubsection} + \setboolean{ALG@within}{true} +} +\DeclareOption{nothing}{ + \renewcommand{\ALG@within}{nothing} + \setboolean{ALG@within}{true} +} +\DeclareOption*{\edef\ALG@name{\CurrentOption}} + +% ALGORITHM +% +\ProcessOptions +\floatstyle{\ALG@floatstyle} +\ifthenelse{\boolean{ALG@within}}{ + \ifthenelse{\equal{\ALG@within}{part}} + {\newfloat{algorithm}{htbp}{loa}[part]}{} + \ifthenelse{\equal{\ALG@within}{chapter}} + {\newfloat{algorithm}{htbp}{loa}[chapter]}{} + \ifthenelse{\equal{\ALG@within}{section}} + {\newfloat{algorithm}{htbp}{loa}[section]}{} + \ifthenelse{\equal{\ALG@within}{subsection}} + {\newfloat{algorithm}{htbp}{loa}[subsection]}{} + \ifthenelse{\equal{\ALG@within}{subsubsection}} + {\newfloat{algorithm}{htbp}{loa}[subsubsection]}{} + \ifthenelse{\equal{\ALG@within}{nothing}} + {\newfloat{algorithm}{htbp}{loa}}{} +}{ + \newfloat{algorithm}{htbp}{loa} +} +\floatname{algorithm}{\ALG@name} + +\newcommand{\listofalgorithms}{\listof{algorithm}{\listalgorithmname}} + diff --git a/BookGPU/algorithm2e.sty b/BookGPU/algorithm2e.sty new file mode 100644 index 0000000..8c5f4b7 --- /dev/null +++ b/BookGPU/algorithm2e.sty @@ -0,0 +1,2637 @@ +% algorithm2e.sty --- style file for algorithms +% almost everything can be customized by users. See the document for more explanations +%% Copyright 1996-2008 Christophe Fiorio +% +% This program may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.2 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.2 or later is part of all distributions of LaTeX +% version 1999/12/01 or later. +% +% This program consists of the files algorithm2e.sty and algorithm2e.tex and algorithm2e-compatibility.sty +% +% Report bugs and comments to: +% - algorithm2e-announce@lirmm.fr mailing list for announcement about releases^^J% +% - algorithm2e-discussion@lirmm.fr mailing list for discussion about package^^J% +% subscribe by emailing sympa@lirmm.fr with 'subscribe '^^J% +% +% $Id: algorithm2e.sty,v 4.1 2009/12/15 08:54:08 cfiorio Exp $ +% +% PACKAGES REQUIRED: +% +% - float (in contrib/supported/float) +% - ifthen (in base) +% - xspace (in packages/tools) +% - relsize (in contrib/misc/relsize.sty) +% +%%%%%%%%%%%%%%% Release 4.01 +% +% Package options: +% --------------- +% - oldcommands : to use old command names +% - french, english, german, +% portuguese, czech, italiano, +% slovak : for the name of the algorithm and some keyword code +% - onelanguage : to simply switch keyword from one language to another without changing +% keyword commands +% - boxed, boxruled, ruled, tworuled, +% algoruled, plain : layout of the algorithm +% - algo2e : environment is algorithm2e instead of algorithms and \listofalgorithmes +% instead of \listofalgorithms +% - slide : to use when making slides +% - noline,lined,vlined : how block are designed. +% - shortend, longend, noend : short or long end keyword as endif for e.g. +% - linesnumbered : auto numbering of the algorithm's lines +% - linesnumberedhidden : to hide autonumbered lines (show number on a line with \ShowLn +% - commentsnumbered, inoutnumbered : to autonumber comments and inout keywords (by defaut not numbered) +% - rightnl : to have line number on the right instead of on the left as default +% - algonl : line numbers preceded by algo number +% - scright, scleft : right or left justified side comments +% - fillcomment, nofillcomment : end mark of comment is flushed to the right so comments fill the line +% - dotocloa : add an entry in the toc for list of algorithms (require tocbibind package) +% - endfloat : add algoendfloat environment pushing algorithm so written to the end of document +% - resetcount, noresetcount : start value of line numbers. +% - algopart,algochapter,algosection : algo numbering within part, chapter or section +% - titlenumbered,titlenotnumbered : numbering of title set by \Titleofalgo +% - figure : algorithms are figures, numbered as figures, and put in the list of figures. +% - procnumbered : procedure or function are numbered as algorithm +% - nokwfunc : procedure or function name doens't become a command +% - norelsize : don't use relsize package (useful if it breaks the compatibily) +% +% defaults are; english,plain,resetcount,titlenotnumbered +% +%%%%%%%%%%%%%% +% +% Short summary +% ------------- +% +% algorithm is an environment for writing algorithm in LaTeX2e. +% Almost all is customizable. You can add keywords, change style, change the layout, ... +% It provide macros that allow you to create differents sorts of key words, therefore a set of predefined key +% word is gived. +% +% IT should be used as follows +% +% \begin{algorithm} +% ... +% ... +% \end{algorithm} +% +% +% IMPORTANT : each line MUST end with \; +% +% Note that if you define macros outside algorithm environment they +% are avaible in all the document and particulary you can use then +% inside all algorithms without re-define them. +% +% an example: +% +% \begin{algorithm} +% \SetAlgoLined +% \KwIn{this text} +% \KwOut{how to write algorithm with \LaTeX2e } +% +% initialization\; +% \While{not at end of this document}{ +% read current section\; +% \eIf{understand}{ +% go to next section\; +% current section becomes this one\; +% }{ +% go back to the beginning of current section\; +% } +% } +% \caption{How to write algorithm} +% \end{algorithm} +% +% +%%%%%%%%%%%%%% predefined keywords +% +% \KwIn{input} +% \KwOut{output} +% \KwData{input} +% \KwResult{output} +% \KwTo % a simple keyword +% \KwFrom % a simple keyword +% \KwRet{[value]} +% \Return{[value]} +% \Begin{block inside} +% \eIf{condition}{Then Block}{Else block} % in blocks +% \If{condition}{Then block} % in a block +% \uIf{condition}{Then block} % in a block unended +% \lIf{condition}{Else text} % on the same line +% \Else{inside Else} % in a block +% \lElse{Else text} % on the same line +% \uElse{Else text} % in a block unended +% \ElseIf{inside Elseif} % in a block +% \lElseIf{Elseif text} % on the same line +% \uElseIf{Elseif text} % in a block unended +% \Switch{Condition}{Switch block} +% \Case{a case}{case block} % in a block +% \lCase{a case}{case text} % on the same line +% \Other{otherwise block} % in a block +% \lOther{otherwise block} % on the same line +% \For{condition}{text loop} % in a block +% \lFor{condition}{text} % on the same line +% \ForEach{condition}{text loop} % in a block +% \lForEach{condition}{text} % on the same line +% \ForPar{condition}{text loop} % in a block +% \lForPar{condition}{text} % on the same line +% \While{condition}{text loop} % in a block +% \lWhile{condition}{text loop} % on the same line +% \Repeat{End condition}{text loop} % in a block +% \lRepeat{condition}{text} % on the same line +% +%%%%%%%%%%%%%% +% +% History: +% +% - december 14 2009 - revision 4.01 +% * ADD : new command \SetKwHangingKw{Name}{text} (hanging indent with keyword): This creates a +% hanging indent much like \texttt{SetKwInput}, except that it removes the trailing `:' +% and does not reset numbering. +% +% - november 17 2009 - revision 4.00 - +% +% * CHANGE : IMPORTANT : some commands have been renamed to have consistent naming (CamlCase +% syntax) and old commands are no more available. If you doesn't want to change +% your mind or use old latex files, you can use oldcommands option to enable old +% commands back. +% text. Here are these commands: +% - \SetNoLine becomes \SetAlgoNoLine +% - \SetVline becomes \SetAlgoVlined +% - \Setvlineskip becomes \SetVlineSkip +% - \SetLine becomes \SetAlgoLined +% - \dontprintsemicolon becomes \DontPrintSemicolon +% - \printsemicolon becomes \PrintSemicolon +% - \incmargin becomes \IncMargin +% - \decmargin becomes \DecMargin +% - \setnlskip becomes \SetNlSkip +% - \Setnlskip becomes \SetNlSkip +% - \setalcapskip becomes \SetAlCapSkip +% - \setalcaphskip becomes \SetAlCapHSkip +% - \nlSty becomes \NlSty +% - \Setnlsty becomes \SetNlSty +% - \linesnumbered becomes \LinesNumbered +% - \linesnotnumbered becomes \LinesNotNumbered +% - \linesnumberedhidden becomes \LinesNumberedHidden +% - \showln becomes \ShowLn +% - \showlnlabel becomes \ShowLnLabel +% - \nocaptionofalgo becomes \NoCaptionOfAlgo +% - \restorecaptionofalgo becomes \RestoreCaptionOfAlgo +% - \restylealgo becomes \RestyleAlgo +% - gIf macros and so on do no more exist +% * NEW: - Compatibily with other packages improven by changing name of internal +% macros. Algorithm2e can now be used with arabtex for example, if this last is +% loaded after algorithm2e package. +% * ADD: - OPTION endfloat: endfloat packages doesn't allow float environment inside other +% environment. So using it with figure option of algorithm2e makes error. This +% option enables a new environment algoendfloat to be used instead of algorithm +% environment that put algorithm at the end. algoendfloat environment make +% algorithm acting as endfloat figures. This option requires endfloat packages. +% * ADD: - OPTION norelsize: starting from this release (v4.00), algorithm2e package uses +% relsize package in order to get relative size for lines numbers; but it seems +% that some rare classes (such as inform1.cls) are not compatible with relsize; to +% have algorithm2e working, this option makes algorithm2e not to load relsize +% package and go back to previous definition by using \scriptsize font for lines +% numbers. +% * ADD: - OPTION onelanguage: allow, if using standard keywords listed below, to switch +% from one language to another without changing keywords by using appropriate +% language option : +% . KwIn, KwOut, KwData, KwResult +% . KwTo KwFrom +% . KwRet, Return +% . Begin +% . Repeat +% . If, ElseIf, Else +% . Switch, Case, Other +% . For, ForPar, ForEach, ForAll, While +% . +% * ADD: - OPTION rightnl: put lines numbers to the right of the algorithm instead of left. +% * ADD: new commands \setRightLinesNumbers and \setLeftLinesNumbers which sets the lines +% numbers to the right or to the left of the algorithm. +% * ADD: - new kind of keywords : KwArray used to define arrays: +% \SetKwArray{Kw}{array} defines an array keywords Kw called array and printed in +% DataSty style when call with \Kw. It can be used with one argument which +% denotes the element index: \Kw{n} prints array[n] with array in DataSty and n in +% ArgSty. +% * ADD/FIX: rules of ruled, algoruled, tworuled styles used rules of different sizes! This +% is now fixed. Moreover size of the rules is now controlled by a length and so +% can be customized by the user. +% \algoheightrule is the height of the rules and can be changed via \setlength +% \algoheightruledefault is the default height of he rules (0.8pt) +% \algotitleheightrule is the height of the rule that comes just after the +% caption in ruled and algoruled style; it can be changed via \setlength +% \algotitleheightruledefault is the default height of this rules (0.8pt) +% Thanks to Philippe Dumas who reports the bug and make the suggestion. +% * ADD: - \SetAlgoCaptionSeparator which sets the separator between Algorithm 1 and the +% title. By default it's ':' and caption looks like "Algorithm 2: title" but now +% you can change it by using for example \SetAlgoCaptionSeparator{.} which will +% give "Algorithm 3. title" +% * ADD: - \SetAlgoLongEnd and \SetAlgoShortEnd and \SetAlgoNoEnd commands which act as +% corresponding package options +% * ADD: - OPTIONS italiano and slovak as new language (thanks to Roberto Posenato and +% Miroslav Binas) +% * CHANGE: - Fnt and Sty macro to have consistent use and naming (see below) +% * ADD: - \AlCapSty, \AlCapNameSty, \AlCapFnt, \AlCapNameFnt, \ProcSty, \ProcFnt, +% \ProcNameSty, \ProcNameFnt, \ProcArgSty, ProcArgFnt and corresponding "set macro" +% \SetAlCapSty, \SetAlCapNameSty, \SetAlCapFnt, \SetAlCapNameFnt, \SetProcSty, +% \SetProcFnt, \SetProcNameSty, \SetProcNameFnt, \SetProcArgSty, \SetProcArgFnt which +% control the way caption is printed. Sty macro use command taking one parameter as +% argument, Fnt macros use directly command. In Fact caption is printed as follow : +% \AlCapSty{\AlCapFnt Algorithm 1:}\AlCapNameSty{\AlCapNameFnt my algorithm} +% By default, \AlCapSty is textbf and \AlCapFnt is nothing. \AlCapNameSty keep text +% as it is, and \AlCapNameFnt do nothing also. +% You can redefine \AlCapFnt and \AlCapNameFnt by giving macro to \Set commands. For +% example, you can do \SetAlCapFnt{\large} to see Algorithm printed in \large font. +% You can redefine \AlCapSty, \AlCapFnt, \AlCapNameSty and \AlCapNameFnt with the +% corresponding \Set command. For the Sty commands, you have to give in parameter +% name of a macro (whithout \) which takes one argument. For example, +% \SetAlCapFnt{textbf} defines the default behaviour. If you want to do more +% complicated thing, you should define your own macro and give it to \SetAlCapFnt or +% \SetAlCapNameFnt. Here are two examples: +% - \newcommand{\mycapsty}[1]{\tiny #1}\SetAlCapNameSty{mycapsty} +% - \newcommand{\mycapsty}[1]{\textsl{\small #1}}\SetAlCapNameSty{mycapsty} +% Or you can combine the two, for the last example you can also do: +% \SetAlCapNameSty{textsl}\SetAlCapNameFnt{\small} +% Thanks to Jan Stilhammer who gives me the idea of \AlCapNameFnt. +% * CHANGE \AlTitleFnt to match definition of all other Fnt macros and add a \AlTitleSty +% macro (see below) . Now you set \AlTitleFnt by calling \SetAlTitleFnt with +% directly a macro without parameter in argument: +% Example: \SetAlTitleFnt{\small} to set title in small font. +% * ADD: - \AlTitleSty and \SetAlTitleSty commands to set a style for title. These commands +% are defined from a macro taking the text in argument, as \textbf for example. +% To set the TitleSty you have to give name of the macro (without the '\') +% to \SetAlTitleSty. For example \SetAlTitleSty{textbf} to set \textbf style. +% * ADD: - new command \SetAlgorithmName{algorithmname}{list of algorithms name} which +% redefines name of the algorithms and the sentence list of algorithms. Second +% argument is the name that \autoref, from hyperref package, will use. Example: +% \SetAlgorithmName{Protocol}{List of protocols} if you prefer protocol than +% algorithm. +% * ADD: - new \SetAlgoRefName{QXY} which change the default ref (number of the algorithm) by +% the name given in parameter (QXY in the example). +% * ADD: - new command \SetAlgoRefRelativeSize{-2} which sets the output size of refs, defined +% by \SetAlgoRefName, used in list of algorithms. +% * ADD: - two dimensions to control the layout of caption in ruled, algoruled and boxruled +% algorithms: +% - interspacetitleruled (2pt by defaut) which controls the vertical space between +% rules and title in ruled and algoruled algorithms. +% - interspaceboxruled (2\lineskip by default) which controls the vertical space +% between rules and title in boxruled algorithms. +% These two dimensions can be changed by using \setlength command. +% * ADD: - With the fix (see below) of procedure and function environments, a new feature has +% been added: the name of the procedure or function set in caption is automatically +% defined as a KwFunction and so can be used as a macro. For example, if inside a +% procedure environment you set \caption{myproc()}, you can use \myproc macro in you +% main text. Beware that the macro is only defined after the \caption! +% * ADD: - OPTION nokwfunc to unable the new feature described above in function and +% procedure environment. Useful if you use name of procedure or function that cannot +% be a command name as a math display for example. +% * ADD: - \SetAlgoNlRelativeSize{number} command which sets the relative size of line +% numbers. By default, line numbers are two size smaller than algorithm text. Use +% this macro to change this behavior. For example, \SetAlgoNlRelativeSize{0} sets it +% to the same size, \SetAlgoNlRelativeSize{-1} to one size smaller and +% \SetAlgoNlRelativeSize{1} to one size bigger +% * ADD: - \SetAlgoProcName{aname} command which sets the name of Procedure printed by +% procedure environment (the environment prints Procedure by default). Second +% argument is the name that \autoref, from hyperref package, will use. +% * ADD: - \SetAlgoFuncName{aname} command which sets the name of Function printed by +% procedure environment (the environment prints Function by default). Second +% argument is the name that \autoref, from hyperref package, will use. +% * ADD: - \SetAlgoCaptionLayout{style} command which sets style of the caption; style must +% be the name of a macro taking one argument (the text of the caption). Examples +% below show how to use it: +% . \SetAlgoCaptionLayout{centerline} to have centered caption +% . \SetAlgoCaptionLayout{textbf} to have bold caption +% If you want to apply two styles in the same time, such as centered bold, you have +% to define you own macro and then use \SetAlgoCaptionLayout with its name. +% * ADD: - OPTION procnumbered: which makes the procedure and function to be numbered as +% algorithm +% * ADD: - OPTIONS tworuled and boxruled +% these are two new layouts: tworuled acts like ruled but doesn't put a line after +% caption ; boxruled surround algorithm by a box, puts caption above and add a line +% after caption. +% * REMOVE: - SetKwInParam has been deleted since not useful itself because of different +% macros which can do the same in a better and a more consistent way as +% SetKwFunction or SetKw. +% * FIX: - line number is now correctly vertically aligned with math display. +% * FIX: - references with hyperref. No more same identifier or missing name error. BUT now +% you must NOT use naturalnames option of hyperref packages if you do PdfLaTeX +% * FIX: - autoref with hyperref package (thanks to Jörg Sommer who notices the problem). +% * FIX: - titlenumbered was not working! fixed. +% * FIX: - Else(){} acted like uElse. Corrected. +% * FIX: - noend management: when a block was inside another and end of block was following +% each other, a blank line was added: it's now corrected. +% * FIX: - Function and Procedure environment was no more working as defined originally: the +% label was no more name of the procedure, it acts always as if procumbered option +% has been used. +% * FIX: - line numbers had a fixed size which can be bigger than algorithm text accordingly +% to \AlFnt set (see also new command \SetAlgoNlRelativeSize above) +% * FIX: - semicolon in comments when dontprintsemicolon is used. +% * FIX: - listofalgorithms adds a vertical space before first algo of a chapter as for +% listoffigures or listoftables +% * FIX: - listofalgorithms with twocolumns mode and some classes which don't allow onecolumn +% and so don't define \if@restonecol as prescribed in LaTeX (sig-alternate for +% example) +% * FIX: - algorithm2e now works with elsart cls and some more classes. +% * FIX: - blocks defined by SetKwBlock act now as other blocks (if for instance) and don't +% write end in vlined mode, instead they print a small horizontal line as required +% by the option. +% * FIX: - underfull hbox warning at each end of algorithm environment removed. +% +% * INTERNAL CHANGE: - short end keyword are deduce from long end keyword by keeping the +% first one. Allows to avoid double definition. +% * INTERNAL CHANGE: - procedure, function and algorithm are now resolved by the same +% environment to avoid code duplication. +% +% - October 04 2005 - revision 3.9 - +% * ADD: - \setalcaphskip command which sets the horizontal skip before Algorithm: in caption +% when used in ruled algorithm. +% * ADD: - \SetAlgoInsideSkip command which allows to add an extra vertical space before and +% after the core of the algorithm (ie: \SetAlgoInsideSkip{bigskip}) +% * CHANGE: - caption, when used with figure option, is no more controlled by algorithm2e +% package and so follows the exact behaviour of figures. The drawback is that you +% cannot change the typo with AlTitleFnt or CapFnt. The avantage is that if you +% use caption package, it works. +% * FIX: - problem with numbering line and pdflatex +% * FIX: - error when algorithm2e package was used with beamer and listings together +% - February 12 2005 - revision 3.8 - +% * FIX: - extra line with noend option. +% - February 10 2005 - revision 3.7 - +% * ADD: - sidecomment: different macros allowing to put text right after code on the same +% line. They are defined in the same time comment macros are defined with a star +% after the macro name. By default comments are right justified but this can be +% change with appropriate option in the macro. Ex: +% . default: \tcc*{side comment} +% . same as previous: \tcc*[r]{side comment} +% . left justify: \tcc*[l]{side comment} +% . here: \tcc*[h]{side comment} don't put the end of line mark before +% comment (; by default) and don't end the line. +% . flushed: \tcc*[f]{side comment} same as the precedent but right +% justified +% * ADD: - OPTION scright (default): right justified side comments (side comments +% are flushed to the righr) +% * ADD: - OPTION scleft: left justified side comments (side comments are put right after the +% code line) +% * ADD: - \SetSideCommentLeft acts as scleft option +% * ADD: - \SetSideCommentRight acts as scright option +% * ADD: - block like macro side text: all macro defining a block allows now to put text right +% after key words by putting text into (). Done to be used with sidecomment macros, +% but all text can be used. +% Ex: \eIf(\tcc*[f]{then comment}){test}{then text}(else side text){else text} +% * ADD: - OPTION fillcomment (default): end mark of comment is flushed to the right so +% comments fill all the width of text. +% * ADD: - OPTION nofillcomment: end mark of comment is put right after the comment. +% * ADD: - \SetNoFillComment acts as nofillcomment option. +% * ADD: - \SetFillComment acts as fillcomment option. +% * ADD: - OPTION dotocloa: which adds an entry in the toc for the list of algorithms. This +% option load package tocbibind if not already done and so list of figures and list +% of tables are also added in the toc. If you want to control which ones of the lists +% will be added in the toc, please load package tocbibind before package algorithm +% and give it the options you want. +% * FIX: - vertical spacing for uif macro with noend option +% * FIX: - all the compatibility problems between caption and other packages +% * FIX: - typographical differences between list of algorithms and other lists when in +% report or book +% +% - January 24 2005 - revision 3.6 - +% * FIX: - vertical spacing and space characters at the beginning or end of comments. +% line numbers of comments not in the NlSty. +% Thanks to Arnaud Giersch for his comments and suggestions. +% * FIX: - Set*Sty macro: the styles defined was not protected and was modified by surrounding +% context. For example KwTo in a \For{}{} was in bold AND italic instead of just in +% bold. +% * FIX: - line number misplacement after \Indp +% +% - January 21 2005 - revision 3.5 - +% * ADD: - hidden numbering of the lines. Lines are auto-numbered but numbers are shown only +% on lines you specify: +% * linesnumberedhidden option or \LinesNumberedHidden macro activate this +% functionnality. +% * \ShowLn and \ShowLnLabel{lab} macros make the number visible on the +% line. \ShowLnLabel{lab} allows to set a label for this line. +% Thanks to Samson de Jager who makes this suggestion and provides the macros. +% * ADD: - \AlCapFnt and \SetAlCapFnt which allow to have a different font for +% caption. Works like \AlFnt and \SetAlFnt and by default is the same. +% * ADD: - \AlCapSkip skip length. This vertical space is added before caption in plain ou +% boxed mode. It allows to change distance between text and caption. +% * FIX: - caption compatible with IEEEtran class. +% * FIX: - some vertical spacing error with \uIf macros (Thanks to Arnaud Giersch) +% * FIX: - Procedure and Function: lines are also numbered like algorithms +% * FIX: - CommentSty was not used for Comments +% +% - January 10 2005 - revision 3.4 - +% * FIX: - caption compatible with new release of Beamer class. +% +% - June 16 2004 - revision 3.3 - +% * FIX: - Hyperlink references of Hyperref package works now if compiled with pdflatex +% and [naturalnames] option of hyperref package is used. +% * FIX: - algorithm[H] had problem in an list environment - corrected +% * FIX: - interline was not so regular in nested blocks - corrected +% * ADD - \SetVlineSkip macro which sets the vertical skip after the little horizontal +% rule which closes a block in Vlined mode. By default 0.8ex +% +% - June 11 2004 - revision 3.2 - AUTO NUMBERING LINES !!! +% * ADD: auto numbering of the lines (the so asked and so long awaiting feature) +% this feature is managed by 3 options and 3 commands: +% - linesnumbered option: lines of the algo are numbered except for comments and +% input/output (KwInput and KwInOut) +% - commentsnumbered option: makes comments be numbered +% - inoutnumbered option: makes data input/output be numbered +% - \nllabel{lab} labels the line so you can cite with \ref{lab} +% - \LinesNumbered make the following algorithms having auto-numbered lines +% - \linesnotnumbered make the following algorithms having no auto-numbered lines +% * Change: algo2e option renames listofalgorithms in listofalgorithmes +% * FIX: new solution for compatibility with color package, more robust and not tricky. +% Many thanks to David Carlisle for his advices +% +% - June 09 2004 - revision 3.1 - +% * Change: \SetKwSwitch command defines an additionnal macro \uCase and \Case prints end +% * Change: now macros SetKw* do a renewcommand if the keyword is already defined. So you can +% redefine default definition at your own convenience or change your definition +% without introducing a new macro and changing your text. +% * ADD: new macro \SetKwIF which do \SetKwIf and +% \SetKwIfElseIf.The following default definition has been added: +% \SetKwIF{If}{ElseIf}{Else}{if}{then}{else if}{else}{endif} +% and so you get the macros; +% \If \eIf \lIf \uIf \ElseIf \uElseIf \lElseIf \Else \uElse \lElse +% * ADD: new macro \SetAlgoSkip which allow to fix the vertical skip before and after the +% algorithms. Default is smallskip, do \SetAlgoSkip{} if you don't want an extra space +% or \SetAlgoSkip{medskip} or \SetAlgoSkip{bigskip} if you want bigger space. +% * ADD: macro \SetKwIf defines in addition a new macro \uElse (depending on wat name you +% have given in #2 arg). +% * ADD: macro \SetKwIfElseIf defines in addition a new macro \uElse and \ugElseIf (depending +% on what name you have given in #2 and #3 arg). +% * Change: baseline of algorithm is now top, so two algorithms can be put side by side. +% * FIX: Compatibility with color package solved. The problem was due to a redefinition of +% standard macros by color package. This solves compatibility problem with other +% packages as pstcol or colortbl. (notified by Dirk Fressmann, Antti Tarvainen and Koby +% Crammer) +% * Fix: extra little shift to the right with boxed style algorithm removed (notified by +% P. Tanovski) +% * Fix: algoln option was buggy (notified bye Jiaying Shen) +% * Fix: german and portuges option didn't work due to bad typo (notified by Martin Sievers, +% Thorsten Vitt and Jeronimo Pellegrini) +% +% - February 13 2004 - revision 3.0 - +% * Major revision which makes the package independent from float.sty, so now +% - algorithm* works better, in particular can be used in multicols environments +% - (known bug corrected) +% [H] works now for all sort of environment but is handled differently for classic +% environment and star environment (algorithm, figure, procedure and function). For star +% environment, H acts like for classical figure environment, so it doesn't stay here +% absolutely. +% - (known bug corrected) +% you can use now floatflt package with algorithm package and even with figure +% option. Beware that if you want to put an algorithm inside a floatingfigure, it cannot +% be floating, so [H] is required and then figure option should not be used, since +% standard figure[H] are still floating with LaTeX. +% * boxruled: a new style added. Possible now since no style no more defined by the float +% package. +% * nocaptionofalgo: dosen't print Algorithm #: in the caption for algorithm in ruled or +% algoruled style. +% note: this is just documentation of a macro which was already in the package. +% - December 14 2003 - revision 2.52 - +% * output message shorter +% * french keyword macro \PourTous was missing for longend option, it has been added. +% * TitleofAlgo prints Function or Procedure in corresponding environments. +% +% - October 27 2003 - revision 2.51 - Revision submitted to CTAN archive +% * correction of a minor which make caption in procedure +% and function to be blanck with pdfscreen package +% (thanks to Joel Gossens for the notification) +% * add two internal definition to avoid some errors when +% used with Hyperref package (Hyperref package need to +% define new counter macro from existing ones, and +% don't do it for algorithm2e package, so we do it) +% +% - October 17 2003 - revision 2.50 - first revision for CTAN archive +% * add \AlFnt and \SetAlFnt{font} macros: \AlFnt is used at the beginning of the caption and +% the body of algorithm in order to define the fonts used for typesetting algorithms. You +% can use it elsewhere you want to typeset text as algorithm. For example you can do +% \SetAlFnt{\small\sf} to have algorithms typeset in small sf font. Default is nothing so +% algorithm is typeset as the text of the document. +% * add \AlTitleFnt{text} and \SetAlTitleFnt{font} macros: The {Algorithm: } in the caption is +% typeset with \AlTitleFnt{Algorithm:}. You can use it to have text typeset as {Algorithm:} +% of captions. Default is textbf. Default can be redefined by \SetAlTitleFnt{font}, for +% example you can do \SetAlTitleFnt{emph} +% * add CommentSty typo for text comment. +% * add some compatibility with hyperref package (still an error on multiply defined refs but +% pdf correctly generated) +% * flush text to left in order to have correct indentation even with class as amsart which +% center all figures +% * add german, portugues and czech options for title of algorithms and typo. +% * add portuguese translation of predefined keywords * add czech translation of some +% predefined keywords +% +% - December 23 2002 - revision 2.40 +% * add some french keyword missing +% * add function* and procedure* environment like algorithme* environment: print in one column +% even if twocolumn option is specified for the document. +% * add a new macro \SetKwComment to define macro which writes comments in the text. First +% argument is the name of the macro, second is the text put before the comment, third is the +% text put at the end of the comment.Default are \tcc and \tcp +% * add new options to change the way algo are numbered: +% [algopart] algo are numbered within part (counter must exist) +% [algochapter] algo are numbered within chapter +% [algosection] algo are numbered within section +% +% - March 27 2002 - revision 2.39 +% * Gilles Geeraerts: added the \SetKwIfElseIf to manage +% if (c) +% i; +% else if (c) +% i; +% ... +% else +% i; +% end +% * Also added \gIf \gElseIf \gElse. +% +% - January 02 2001 - revision 2.38 +% * bugs related to the caption in procedure and function +% environment are corrected. +% * bug related to option noend (extra vertical space added +% after block command as If or For) is corrected. +% * czech option language added (thanks to Libor Bus: l.bus@sh.cvut.cz). +% +% - October 16 2000 - revision 2.37 +% * option algo2e added: change the name of environment +% algorithm into algorithm2e. So allow to use the package +% with some journal style which already define an algorithm +% environment. +% +% - September 13 2000 - revision 2.36 +% * option slide added: require package color +% * Hack for slide class in order to have correct +% margins +% +% - November 25 1999 - revision 2.35 +% * revision number match RCS number +% * Thanks to David A. Bader, a new option is added: +% noend: no end keywords are printed. +% +% - November 19 1999 - revision 2.32 +% * minor bug on longend option corrected. +% +% - August 26 1999 - revision 2.31 +% * add an option : figure +% this option makes algorithms be figure and so are numbered +% as figures, have Figure as caption and are put in +% the \listoffigures +% +% - January 21 1999 - revision 2.3 beta +% add 2 new environments: procedure and function. +% These environments works like algorithm environment but: +% - the ruled (or algoruled) style is imperative. +% - the caption now writes Procedure name.... +% - the syntax of the \caption command is restricted as +% follow: you MUST put a name followed by 2 braces like +% this ``()''. You can put arguments inside the braces and +% text after. If no argument is given, the braces will be +% removed in the title. +% - label now puts the name (the text before the braces in the +% caption) of the procedure or function as reference (not +% the number like a classic algorithm environment). +% There are also two new styles : ProcNameSty and +% ProcArgSty. These style are by default the same as FuncSty +% and ArgSty but are used in the caption of a procedure or a +% function. +% +% - November 28 1996 - revision 2.22 +% add a new macro \SetKwInParam{arg1}{arg2}{arg3}: +% it defines a macro \arg1{name}{arg} which prints name in keyword +% style followed byt arg surrounded by arg2 and arg3. The main +% application is to a function working as \SetKwInput to be used +% in the head of the algorithm. For example +% \SetKwInParam{Func}{(}{)} allows +% \Func{functionname}{list of arguments} which prints: +% \KwSty{functioname(}list of arguments\KwSty{)} +% +% +% - November 27 1996 - revision 2.21 : +% minor bug in length of InOut boxes fixed. +% add algorithm* environment. +% +% - July 12 1996 - revision 2.2 : \SetArg and \SetKwArg macros removed. +% +% \SetArg has been removed since it never has been +% documented. +% \SetKwArg has been removed since \SetKw can now +% take an argument in order to be consistent with +% \SetKwData and \SetKwFunction macros. +% +% - July 04 1996 - revision 2.1 : still more LaTeX2e! Minor compatibility break +% +% Macros use now \newcommand instead of \def, use of \setlength, +% \newsavebox, ... and other LaTeX2e specific stuff. +% The compatibility break: +% - \SetData becomes \SetKwData to be more consistent. So the old +% \SetKwData becomes \SetKwInput +% - old macros \titleofalgo, \Freetitleofalgo and \freetitleofalgo +% from LaTeX209 version which did print a warning message and call +% \Titleofalgo in version 2.0 are now removed! +% +% - March 13 1996 - revision 2.0: first official major revision. +% +% +%%%%%%%%%%%%%% +% +% Known bugs: +% ----------- +% - no more known bugs... all are corrected! +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% for more complete informations you can see algorithm2e.tex +% +% +%%%%%%%%%%%%%%%%%%%%%%%% Identification Part %%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\NeedsTeXFormat{LaTeX2e}[1994/12/01] +% +\ProvidesPackage{algorithm2e}[2008/00/00 v3.10 algorithms environments] +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%% Initial Code %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\@makeother\*% some package redefined it as a letter (as color.sty) +\def\@firstword#1 #2\@nil{#1}% an useful fonction +% +% definition of commands which can be redefined in options of the package. +% +\newcounter{AlgoLine}% +\setcounter{AlgoLine}{0}% +% +\newcommand{\algocf@algocfref}{\relax}% +\newcommand{\listalgorithmcfname}{}% +\newcommand{\algorithmcfname}{}% +\@ifundefined{algorithmautorefname}{\newcommand{\algorithmautorefname}{algorithm}}{\renewcommand{\algorithmautorefname}{algorithm}}% +\newcommand{\algorithmcflinename}{}% +\newcommand{\algocf@typo}{}% +\newcommand{\@algocf@procname}{}\newcommand{\procedureautorefname}{}% +\newcommand{\SetAlgoProcName}[2]{\renewcommand{\@algocf@procname}{#1}\renewcommand{\procedureautorefname}{#2}}% +\newcommand{\@algocf@funcname}{}\newcommand{\functionautorefname}{}% +\newcommand{\SetAlgoFuncName}[2]{\renewcommand{\@algocf@funcname}{#1}\renewcommand{\functionautorefname}{#2}}% +\newcommand{\@algocf@titleofalgoname}{\algorithmcfname}% +\newcommand{\@algocf@algotitleofalgo}{% + \renewcommand{\@algocf@titleofalgoname}{\algorithmcfname}}% +\newcommand{\@algocf@proctitleofalgo}{% + \renewcommand{\@algocf@titleofalgoname}{\algocf@procname}}% +% +\newcommand{\algocf@style}{plain}% +\newcommand{\@ResetCounterIfNeeded}{}% +\newcommand{\@titleprefix}{}% +% +\newcommand{\algocf@numbering}[1]{\newcommand{\algocf@within}{#1}}% +% +\newcommand{\defaultsmacros@algo}{\algocf@defaults@shortend}% +% +\newcommand{\algocf@list}{loa}% +\newcommand{\algocf@float}{algocf}% +% +\newcommand{\algocf@envname}{algorithm}% +\newcommand{\algocf@listofalgorithms}{listofalgorithms}% +% +% +%% redefine chapter so that it adds a vspace in the loa as the original does for lof and lot +\let\algocf@original@chapter=\chapter% +\def\chapter{\expandafter\addtocontents{loa}{\protect\addvspace{10\p@}}\algocf@original@chapter}% +% +%% if@restonecol is defined in article and book but some other classes don't define it and we need it, so we do +\ifx\if@restonecol\relax\else\newif\if@restonecol\fi% +% +% +%%%%%%%%%%%%%%%%%%%%%% Declaration of Options %%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\RequirePackage{ifthen}% +% +\newboolean{algocf@nokwfunc}\setboolean{algocf@nokwfunc}{false}% +\DeclareOption{nokwfunc}{% + \setboolean{algocf@nokwfunc}{true}% +}% +% +\newboolean{algocf@oldcommands}\setboolean{algocf@oldcommands}{false}% +\DeclareOption{oldcommands}{% + \setboolean{algocf@oldcommands}{true}% +}% +% +\newboolean{algocf@leftlinenumber}\setboolean{algocf@leftlinenumber}{true}% +\newcommand{\setLeftLinesNumbers}{\setboolean{algocf@leftlinenumber}{true}}% +\newcommand{\setRightLinesNumbers}{\setboolean{algocf@leftlinenumber}{false}}% +\DeclareOption{rightnl}{% + \setRightLinesNumbers% +}% +% +\newboolean{algocf@endfloat}\setboolean{algocf@endfloat}{false}% +\DeclareOption{endfloat}{% + \setboolean{algocf@endfloat}{true}% + \newcounter{postalgo}\setcounter{postalgo}{0}% +}% +% +\newboolean{algocf@procnumbered}\setboolean{algocf@procnumbered}{false}% +\DeclareOption{procnumbered}{% + \setboolean{algocf@procnumbered}{true}% +}% +% +\DeclareOption{algo2e}{% + \renewcommand{\algocf@envname}{algorithm2e}% + \renewcommand{\algocf@listofalgorithms}{listofalgorithmes}% +}% +% +\newboolean{algocf@slide}\setboolean{algocf@slide}{false}% +\DeclareOption{slide}{% + \setboolean{algocf@slide}{true}% +}% +% +\DeclareOption{figure}{% +\renewcommand{\algocf@list}{lof}% +\renewcommand{\algocf@float}{figure}% +}% +% +\newboolean{algocf@optonelanguage}\setboolean{algocf@optonelanguage}{false}% +\DeclareOption{onelanguage}{\setboolean{algocf@optonelanguage}{true}}% +% +\newcommand{\algocf@languagechoosen}{english}% +% +\DeclareOption{english}{% +\renewcommand{\listalgorithmcfname}{List of Algorithms}% +\renewcommand{\algorithmcfname}{Algorithm}% +\renewcommand{\algorithmautorefname}{algorithm}% +\renewcommand{\algorithmcflinename}{line}% +\renewcommand{\algocf@typo}{}% +\renewcommand{\@algocf@procname}{Procedure}% +\renewcommand{\@algocf@funcname}{Function}% +\renewcommand{\procedureautorefname}{procedure}% +\renewcommand{\functionautorefname}{function}% +\renewcommand{\algocf@languagechoosen}{english}% +}% +% +\DeclareOption{french}{% +\renewcommand{\listalgorithmcfname}{Liste des Algorithmes}% +\renewcommand{\algorithmcfname}{Algorithme}% +\renewcommand{\algorithmautorefname}{algorithme}% +\renewcommand{\algorithmcflinename}{ligne}% +\renewcommand{\algocf@typo}{\ }% +\renewcommand{\@algocf@procname}{Procédure}% +\renewcommand{\@algocf@funcname}{Fonction}% +\renewcommand{\procedureautorefname}{procédure}% +\renewcommand{\functionautorefname}{fonction}% +\renewcommand{\algocf@languagechoosen}{french}% +}% +% +\DeclareOption{czech}{% +\renewcommand{\listalgorithmcfname}{Seznam algoritm\v{u}}% +\renewcommand{\algorithmcfname}{Algoritmus}% +\renewcommand{\algorithmautorefname}{\algorithmcfname}% +\renewcommand{\algorithmcflinename}{Radek}% +\renewcommand{\algocf@typo}{}% +\renewcommand{\@algocf@procname}{Procedura}% +\renewcommand{\@algocf@funcname}{Funkce}% +\renewcommand{\procedureautorefname}{\@algocf@procname}% +\renewcommand{\functionautorefname}{\@algocf@funcname}% +\renewcommand{\algocf@languagechoosen}{czech}% +}% +% +\DeclareOption{german}{% +\renewcommand{\listalgorithmcfname}{Liste der Algorithmen}% +\renewcommand{\algorithmcfname}{Algorithmus}% +\renewcommand{\algorithmautorefname}{\algorithmcfname}% +\renewcommand{\algorithmcflinename}{Zeile}% +\renewcommand{\algocf@typo}{\ }% +\renewcommand{\@algocf@procname}{Prozedur}% +\renewcommand{\@algocf@funcname}{Funktion}% +\renewcommand{\procedureautorefname}{\@algocf@procname}% +\renewcommand{\functionautorefname}{\@algocf@funcname}% +\renewcommand{\algocf@languagechoosen}{german}% +}% +% +\DeclareOption{portuguese}{% +\renewcommand{\listalgorithmcfname}{Lista de Algoritmos}% +\renewcommand{\algorithmcfname}{Algoritmo}% +\renewcommand{\algorithmautorefname}{algoritmo}% +\renewcommand{\algorithmcflinename}{linha}% +\renewcommand{\algocf@typo}{}% +\renewcommand{\@algocf@procname}{Procedimento}% +\renewcommand{\@algocf@funcname}{Fun\c{c}\~{a}o}% +\renewcommand{\procedureautorefname}{procedimento}% +\renewcommand{\functionautorefname}{fun\c{c}\~{a}o}% +\renewcommand{\algocf@languagechoosen}{portuguese}% +}% +% +\DeclareOption{italiano}{% +\renewcommand{\listalgorithmcfname}{Elenco degli algoritmi}% +\renewcommand{\algorithmcfname}{Algoritmo}% +\renewcommand{\algorithmautorefname}{algoritmo}% +\renewcommand{\algorithmcflinename}{riga}% +\renewcommand{\algocf@typo}{}% +\renewcommand{\@algocf@procname}{Procedura}% +\renewcommand{\@algocf@funcname}{Funzione}% +\renewcommand{\procedureautorefname}{procedura}% +\renewcommand{\functionautorefname}{funzione}% +\renewcommand{\algocf@languagechoosen}{italiano}% +}% +\DeclareOption{slovak}{% +\renewcommand{\listalgorithmcfname}{Zoznam algoritmov}% +\renewcommand{\algorithmcfname}{Algoritmus}% +\renewcommand{\algorithmautorefname}{\algorithmcfname}% +\renewcommand{\algorithmcflinename}{Radek}% +\renewcommand{\algocf@typo}{}% +\renewcommand{\@algocf@procname}{Proced\'{u}ra}% +\renewcommand{\@algocf@funcname}{Funkcia}% +\renewcommand{\procedureautorefname}{\@algocf@procname}% +\renewcommand{\functionautorefname}{\@algocf@funcname}% +\renewcommand{\algocf@languagechoosen}{slovak}% +}% +% +% OPTIONs plain, boxed, ruled, algoruled & boxruled +% +\newcommand{\algocf@style@plain}{\renewcommand{\algocf@style}{plain}}% +\newcommand{\algocf@style@boxed}{\renewcommand{\algocf@style}{boxed}}% +\newcommand{\algocf@style@ruled}{\renewcommand{\algocf@style}{ruled}}% +\newcommand{\algocf@style@algoruled}{\renewcommand{\algocf@style}{algoruled}}% +\newcommand{\algocf@style@boxruled}{\renewcommand{\algocf@style}{boxruled}}% +\newcommand{\algocf@style@tworuled}{\renewcommand{\algocf@style}{tworuled}}% +\newcommand{\RestyleAlgo}[1]{\csname algocf@style@#1\endcsname}% +\DeclareOption{plain}{\algocf@style@plain}% +\DeclareOption{boxed}{\algocf@style@boxed}% +\DeclareOption{ruled}{\algocf@style@ruled}% +\DeclareOption{algoruled}{\algocf@style@algoruled}% +\DeclareOption{boxruled}{\algocf@style@boxruled}% +\DeclareOption{tworuled}{\algocf@style@tworuled}% +% +% OPTIONs algopart,algochapter & algosection +% +\DeclareOption{algopart}{\algocf@numbering{part}}% %algo part numbered +\DeclareOption{algochapter}{\algocf@numbering{chapter}}% %algo chapter numbered +\DeclareOption{algosection}{\algocf@numbering{section}}% %algo section numbered +% +% OPTIONs resetcount & noresetcount +% +\DeclareOption{resetcount}{\renewcommand{\@ResetCounterIfNeeded}{\setcounter{AlgoLine}{0}}}% +\DeclareOption{noresetcount}{\renewcommand{\@ResetCounterIfNeeded}{}}% +% +% OPTION linesnumbered +% +\newboolean{algocf@linesnumbered}\setboolean{algocf@linesnumbered}{false}% +\newcommand{\algocf@linesnumbered}{\relax}% +\DeclareOption{linesnumbered}{% + \setboolean{algocf@linesnumbered}{true}% + \renewcommand{\algocf@linesnumbered}{\everypar={\nl}}% +}% +% +% OPTION linesnumberedhidden +% +\DeclareOption{linesnumberedhidden}{% + \setboolean{algocf@linesnumbered}{true}% + \renewcommand{\algocf@linesnumbered}{\everypar{\stepcounter{AlgoLine}}}% +}% +% +% OPTION commentsnumbered inoutnumbered +% +\newboolean{algocf@commentsnumbered}\setboolean{algocf@commentsnumbered}{false}% +\DeclareOption{commentsnumbered}{\setboolean{algocf@commentsnumbered}{true}}% +\newboolean{algocf@inoutnumbered}\setboolean{algocf@inoutnumbered}{false}% +\DeclareOption{inoutnumbered}{\setboolean{algocf@inoutnumbered}{true}}% +% +% OPTIONs titlenumbered & titlenotnumbered +% +\DeclareOption{titlenumbered}{% + \renewcommand{\@titleprefix}{% + \refstepcounter{\algocf@float}% + \AlTitleSty{\AlTitleFnt\@algocf@titleofalgoname\ \expandafter\csname the\algocf@float\endcsname\algocf@typo: }% + }% +}% +% +\DeclareOption{titlenotnumbered}{\renewcommand{\@titleprefix}{% + \AlTitleSty{\AlTitleFnt\@algocf@titleofalgoname\algocf@typo: }}% +}% +% +% OPTIONs algonl +% line numbered with the counter of the algorithm +% +\DeclareOption{algonl}{\renewcommand{\theAlgoLine}{\expandafter\csname the\algocf@float\endcsname.\arabic{AlgoLine}}}% +% +% OPTIONs lined, vlined & noline +% +\DeclareOption{lined}{\AtBeginDocument{\SetAlgoLined}}% \SetAlgoLined +\DeclareOption{vlined}{\AtBeginDocument{\SetAlgoVlined}}% \SetAlgoVlined +\DeclareOption{noline}{\AtBeginDocument{\SetAlgoNoLine}}%\SetAlgoNoLine (default) +% +% OPTIONs longend, shotend & noend +% +\DeclareOption{longend}{\AtBeginDocument{\SetAlgoLongEnd}}% \SetAlgoLongEnd +\DeclareOption{shortend}{\AtBeginDocument{\SetAlgoShortEnd}}%\SetAlgoShortEnd +\DeclareOption{noend}{\AtBeginDocument{\SetAlgoNoEnd}}% \SetAlgoNoEnd +% +% OPTION dotoc +% +\newboolean{algocf@dotocloa}\setboolean{algocf@dotocloa}{false}% +\DeclareOption{dotocloa}{% + \setboolean{algocf@dotocloa}{true}% +} +% +% OPTION comments +% +\newboolean{algocf@optfillcomment}\setboolean{algocf@optfillcomment}{true}% +\DeclareOption{nofillcomment}{% + \setboolean{algocf@optfillcomment}{false}% +}% +\DeclareOption{fillcomment}{% + \setboolean{algocf@optfillcomment}{true}% +}% +% +% OPTION sidecommments +% +\newboolean{algocf@scleft}\setboolean{algocf@scleft}{false}% +\DeclareOption{scleft}{% + \setboolean{algocf@scleft}{true}% +}% +\DeclareOption{sright}{% default + \setboolean{algocf@scleft}{false}% +}% +% +% OPTION norelsize +% +\newboolean{algocf@norelsize}\setboolean{algocf@norelsize}{false}% +\DeclareOption{norelsize}{% + \setboolean{algocf@norelsize}{true}% +}% +% +% +%%%%%%%%%%%%%%%%%%%%%%% Execution of Options %%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\ExecuteOptions{english,plain,resetcount,titlenotnumbered,lined,shortend}% +% +\ProcessOptions% +% +\@algocf@algotitleofalgo% fix name for \TitleOfAlgo to \algorithmcfname by default +% +%%%%%%%%%%%%%%%%%%%%%%%%%% Package Loading %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% +\RequirePackage{xspace}% +% +\ifthenelse{\boolean{algocf@endfloat}}{% + \RequirePackage{endfloat}% +}{\relax}% +% +\ifthenelse{\boolean{algocf@norelsize}}{% + \newcommand{\relsize}[1]{\scriptsize}% +}{% + \RequirePackage{relsize}% +}% +% +\ifthenelse{\boolean{algocf@slide}}{\RequirePackage{color}}{}% +% + +\AtEndOfPackage{% + \ifthenelse{\boolean{algocf@dotocloa}}{% + \renewcommand{\listofalgorithmes}{\tocfile{\listalgorithmcfname}{loa}}% + }{\relax}% +}% +% +% if loa in toc required, load tocbibind package if not already done. +\ifthenelse{\boolean{algocf@dotocloa}}{% + \ifx\@tocextra\undefined% + \RequirePackage{tocbibind}% + \fi% +}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Main Part %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\newcommand{\algocf@name}{algorithm2e}% +\newcommand{\algocf@date}{december 14 2009}% +\newcommand{\algocf@version}{Release 4.01}% +\newcommand{\algocf@id}{\algocf@version\space -- \algocf@date\space --}% +\typeout{********************************************************^^JPackage `\algocf@name'\space\algocf@id^^J% + - algorithm2e-announce@lirmm.fr mailing list for announcement about releases^^J% + - algorithm2e-discussion@lirmm.fr mailing list for discussion about package^^J% + subscribe by emailing sympa@lirmm.fr with 'subscribe '^^J% + - Author: Christophe Fiorio (fiorio@lirmm.fr)^^J********************************************************}% +%% +%% +%% +%% +%% +%% +%%%% hyperref compatibility tricks: Hyperref package defines H counters from + % standard counters (i.e \theHpage from \thepage) and check some particular + % counters of some packages, unfortunately it doesn't do the same for + % algorithm2e package but act as Hcounter was defined. To avoid errors we + % defined \theHalgocf ourself +%%%% +% +\@ifundefined{theHalgocf}{\def\theHalgocf{\thealgocf}}{}% +\@ifundefined{theHAlgoLine}{\def\theHAlgoLine{\theAlgoLine}}{}% +\@ifundefined{theHalgocfproc}{\def\theHalgocfproc{0}}{}% +\@ifundefined{theHalgocffunc}{\def\theHalgocffunc{0}}{}% +\@ifundefined{toclevel@algocf}{\def\toclevel@algocf{0}}{}% +% +% autoref from hyperref needs an autorefname, so we give it. +\def\AlgoLineautorefname{\algorithmcflinename}% +\def\algocfautorefname{\algorithmautorefname}% +\def\algocfprocautorefname{\procedureautorefname}% +\def\algocffuncautorefname{\functionautorefname}% +%% +%% +%% +\newcommand{\@defaultskiptotal}{0.5em}% +\newskip\skiptotal\skiptotal=0.5em% +\newskip\skiplinenumber\skiplinenumber=\hsize\advance\skiplinenumber by-\skiptotal% +\newskip\skiprule% +\newskip\skiphlne% +\newskip\skiptext% +\newskip\skiplength% +\newskip\algomargin% +\newskip\skipalgocfslide\skipalgocfslide=1em% +\newdimen\algowidth% +\newdimen\inoutsize% +\newdimen\inoutline% +\newdimen\interspacetitleruled\setlength{\interspacetitleruled}{2pt}% +\newdimen\interspacealgoruled\setlength{\interspacealgoruled}{2pt}% +\newdimen\interspacetitleboxruled\setlength{\interspacetitleboxruled}{2\lineskip}% +% +\newcommand{\@algoskip}{\smallskip}% +\newcommand{\SetAlgoSkip}[1]{\renewcommand{\@algoskip}{\csname#1\endcsname}}% +\newcommand{\@algoinsideskip}{\relax}% +\newcommand{\SetAlgoInsideSkip}[1]{\renewcommand{\@algoinsideskip}{\csname#1\endcsname}}% +% +\newsavebox{\algocf@inoutbox}% +\newsavebox{\algocf@inputbox}% +%% +%% +\newcommand{\arg@e}{}% +\newcommand{\arg@space}{\ }% +\newcommand{\BlankLine}{\vskip 1ex}% +%% +\newcommand{\vespace}{1ex}% +\newcommand{\SetInd}[2]{% +\skiprule=#1% +\skiptext=#2% +\skiplength=\skiptext\advance\skiplength by \skiprule\advance\skiplength by 0.4pt}% +\SetInd{0.5em}{1em} +\algomargin=\leftskip\advance\algomargin by \parindent% +\newcommand{\IncMargin}[1]{\advance\algomargin by #1}% +\newcommand{\DecMargin}[1]{\advance\algomargin by -#1}% +\newcommand{\SetNlSkip}[1]{% + \renewcommand{\@defaultskiptotal}{#1}% + \setlength{\skiptotal}{#1}}% +%% +\newskip\AlCapSkip\AlCapSkip=0ex% +\newskip\AlCapHSkip\AlCapSkip=0ex% +\newcommand{\SetAlCapSkip}[1]{\setlength{\AlCapSkip}{#1}}% +\newcommand{\SetAlCapHSkip}[1]{\setlength{\AlCapHSkip}{#1}}% +\SetAlCapHSkip{.5\algomargin}% +%% +%% +\newcommand{\Indentp}[1]{\advance\leftskip by #1}% +\newcommand{\Indp}{\advance\leftskip by 1em}% +\newcommand{\Indpp}{\advance\leftskip by 0.5em}% +\newcommand{\Indm}{\advance\leftskip by -1em}% +\newcommand{\Indmm}{\advance\leftskip by -0.5em}% +%% +%% +%% Line Numbering +%% +%% +% number line style +\newcommand{\algocf@nlrelsize}{-2}\newcommand{\SetAlgoNlRelativeSize}[1]{\renewcommand{\algocf@nlrelsize}{#1}}% +\newcommand{\NlSty}[1]{\textnormal{\textbf{\relsize{\algocf@nlrelsize}#1}}}% default definition +\newcommand{\SetNlSty}[3]{\renewcommand{\NlSty}[1]{\textnormal{\csname#1\endcsname{\relsize{\algocf@nlrelsize}#2##1#3}}}}% +% +% nl definitions +% +\newsavebox{\algocf@nlbox}% +\newcommand{\algocf@printnl}[1]{% + \ifthenelse{\boolean{algocf@leftlinenumber}}{% + \skiplinenumber=\skiptotal\advance\skiplinenumber by\leftskip% + \strut\raisebox{0pt}{\llap{\NlSty{#1}\kern\skiplinenumber}}\ignorespaces% + }{% + \sbox\algocf@nlbox{\NlSty{#1}}% + \skiplinenumber=\hsize\advance\skiplinenumber by-\leftskip\advance\skiplinenumber by-\skiptext% + \advance\skiplinenumber by\algomargin\advance\skiplinenumber by.3em\advance\skiplinenumber by-\wd\algocf@nlbox% + \strut\raisebox{0pt}{\rlap{\kern\skiplinenumber\NlSty{#1\ignorespaces}}}\ignorespaces% + }% +}% +\newcommand{\algocf@nl@sethref}[1]{% + \renewcommand{\theHAlgoLine}{\thealgocfproc.#1}% + \hyper@refstepcounter{AlgoLine}\gdef\@currentlabel{#1}% +}% +\newcommand{\nl}{% + \@ifundefined{hyper@refstepcounter}{% if not hyperref then do a simple refstepcounter + \refstepcounter{AlgoLine}% + }{% else if hyperref, do the anchor so 2 lines in two differents algorithms cannot have the same href + \stepcounter{AlgoLine}\algocf@nl@sethref{\theAlgoLine}% + }% now we can do the line numbering + \algocf@printnl{\theAlgoLine}% +}% +% +\newcommand{\nllabel}[1]{\label{#1}}% +% +\newcommand{\enl}{% + \@ifundefined{hyper@refstepcounte}{% if not hyperref then do a simple refstepcounter + \refstepcounter{AlgoLine}% + }{% else if hyperref, do the anchor so 2 lines in two differents algorithms cannot have the same href + \stepcounter{AlgoLine}\algocf@nl@sethref{\theAlgoLine}% + }% now we can do the line numbering + \skiplinenumber=\hsize\advance\skiplinenumber by-\leftskip% + \strut\raisebox{0pt}{\rlap{\kern\skiplinenumber\strut\NlSty{\theAlgoLine}}}\ignorespaces% +} +%% nlset +\newcommand{\nlset}[1]{% + \@ifundefined{hyper@refstepcounter}{\protected@edef\@currentlabel{#1}}{\algocf@nl@sethref{#1}}\algocf@printnl{#1}% +}% +% +%% lnl definitions +\newcommand{\lnl}[1]{\nl\label{#1}}% +% +%% lnlset +\newcommand{\lnlset}[2]{\nlset{#2}\label{#1}}% +% +% set char put at end of each line +% +\newcommand{\algocf@endline}{\string;} +\newcommand{\SetEndCharOfAlgoLine}[1]{\renewcommand{\algocf@endline}{#1}} +% +% end of line definition +% +\newcommand{\@endalgocfline}{\algocf@endline}% default definition: printsemicolon +\newcommand{\DontPrintSemicolon}{\renewcommand{\@endalgocfline}{\relax}}% +\newcommand{\PrintSemicolon}{\renewcommand{\@endalgocfline}{\algocf@endline}}% +\newcommand{\@endalgoln}{\@endalgocfline\hfill\strut\par}% +% +% line numbering +% +\newcommand{\LinesNumbered}{\setboolean{algocf@linesnumbered}{true}\renewcommand{\algocf@linesnumbered}{\everypar={\nl}}}% +\newcommand{\LinesNotNumbered}{% + \setboolean{algocf@linesnumbered}{false}% + \renewcommand{\algocf@linesnumbered}{\relax}% +}% +% +\newcommand{\LinesNumberedHidden}{% + \setboolean{algocf@linesnumbered}{true}\renewcommand{\algocf@linesnumbered}{\everypar{\stepcounter{AlgoLine}}}}% +\newcommand{\ShowLn}{\nlset{\theAlgoLine}\ignorespaces}% display the line number on this line (without labelling) +\newcommand{\ShowLnLabel}[1]{\lnlset{#1}{\theAlgoLine}\ignorespaces}% display the line number and label this line +% +%% +% +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Styling text commands +% +\newcommand{\AlFnt}{\relax}% default definition +\newcommand{\SetAlFnt}[1]{\renewcommand{\AlFnt}{#1}}% +\newcommand{\AlTitleFnt}{\relax}% default definition +\newcommand{\SetAlTitleFnt}[1]{\renewcommand{\AlTitleFnt}{#1}}% +% +\newcommand{\AlCapFnt}{\relax}% default definition +\newcommand{\SetAlCapFnt}[1]{\renewcommand{\AlCapFnt}{#1}}% +\newcommand{\AlCapNameFnt}{\relax}% default definition +\newcommand{\SetAlCapNameFnt}[1]{\renewcommand{\AlCapNameFnt}{#1}}% +% +\newcommand{\ProcFnt}{\relax}% default definition +\newcommand{\SetProcFnt}[1]{\renewcommand{\ProcFnt}{#1}}% +\newcommand{\ProcNameFnt}{\relax}% default definition +\newcommand{\SetProcNameFnt}[1]{\renewcommand{\ProcNameFnt}{#1}}% +\newcommand{\ProcArgFnt}{\relax}% default definition +\newcommand{\SetProcArgFnt}[1]{\renewcommand{\ProcArgFnt}{#1}}% +% +\newcommand{\AlTitleSty}[1]{\textbf{#1}\unskip}% default definition +\newcommand{\SetAlTitleSty}[1]{\renewcommand{\AlTitleSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\AlCapSty}[1]{\textnormal{\textbf{#1}}\unskip}% default definition +\newcommand{\SetAlCapSty}[1]{\renewcommand{\AlCapSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\AlCapNameSty}[1]{\textnormal{#1}\unskip}% default definition +\newcommand{\SetAlCapNameSty}[1]{\renewcommand{\AlCapNameSty}[1]{\textnormal{\csname #1\endcsname{##1}}\unskip}}% +% +\newcommand{\ProcSty}[1]{\AlCapSty{#1}}% +\newcommand{\SetProcSty}[1]{\renewcommand{\ProcSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\ProcNameSty}[1]{\AlCapNameSty{#1}}% +\newcommand{\SetProcNameSty}[1]{\renewcommand{\ProcNameSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\ProcArgSty}[1]{\AlCapNameSty{#1}}% +\newcommand{\SetProcArgSty}[1]{\renewcommand{\ProcArgSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +% +\newcommand{\KwSty}[1]{\textnormal{\textbf{#1}}\unskip}% default definition +\newcommand{\SetKwSty}[1]{\renewcommand{\KwSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\ArgSty}[1]{\textnormal{\emph{#1}}\unskip}%\SetArgSty{emph} +\newcommand{\SetArgSty}[1]{\renewcommand{\ArgSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\FuncSty}[1]{\textnormal{\texttt{#1}}\unskip}%\SetFuncSty{texttt} +\newcommand{\SetFuncSty}[1]{\renewcommand{\FuncSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\DataSty}[1]{\textnormal{\textsf{#1}}\unskip}%%\SetDataSty{textsf} +\newcommand{\SetDataSty}[1]{\renewcommand{\DataSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\CommentSty}[1]{\textnormal{\texttt{#1}}\unskip}%%\SetDataSty{texttt} +\newcommand{\SetCommentSty}[1]{\renewcommand{\CommentSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\TitleSty}[1]{#1\unskip}%\SetTitleSty{}{} +\newcommand{\SetTitleSty}[2]{\renewcommand{\TitleSty}[1]{% +\csname#1\endcsname{\csname#2\endcsname##1}}\unskip}% +% +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Block basic commands +% +\newcommand{\algocf@push}[1]{\advance\skiptotal by #1\moveright #1}% +\newcommand{\algocf@pop}[1]{\advance\skiptotal by -#1}% +\newcommand{\algocf@addskiptotal}{\advance\skiptotal by 0.4pt\advance\hsize by -0.4pt}% 0.4 pt=width of \vrule +\newcommand{\algocf@subskiptotal}{\advance\skiptotal by -0.4pt\advance\hsize by 0.4pt}% 0.4 pt=width of \vrule +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% group of instructions definition +% +\skiphlne=.8ex% +\newcommand{\SetVlineSkip}[1]{\skiphlne=#1}% +% +%% block with a vertical line end by a little horizontal line +\newcommand{\algocf@Vline}[1]{% no vskip in between boxes but a strut to separate them, + \strut\par\nointerlineskip% then interblock space stay the same whatever is inside it + \algocf@push{\skiprule}% move to the right before the vertical rule + \hbox{\vrule% + \vtop{\algocf@push{\skiptext}%move the right after the rule + \vtop{\algocf@addskiptotal\advance\hsize by -\skiplength #1}\Hlne}}\vskip\skiphlne% inside the block + \algocf@pop{\skiprule}%\algocf@subskiptotal% restore indentation + \nointerlineskip}% no vskip after +% +%% block with a vertical line +\newcommand{\algocf@Vsline}[1]{% no vskip in between boxes but a strut to separate them, + \strut\par\nointerlineskip% then interblock space stay the same whatever is inside it + \algocf@push{\skiprule}% move to the right before the vertical rule + \hbox{\vrule% the vertical rule + \vtop{\algocf@push{\skiptext}%move the right after the rule + \vtop{\algocf@addskiptotal\advance\hsize by -\skiplength #1}}}% inside the block + \algocf@pop{\skiprule}}% restore indentation +% +\newcommand{\algocf@Hlne}{\hrule height 0.4pt depth 0pt width .5em}% +% +%% block without line +\newcommand{\algocf@Noline}[1]{% no vskip in between boxes but a strut to separate them, + \strut\par\nointerlineskip% then interblock space stay the same whatever is inside it + \algocf@push{\skiprule}% + \hbox{% + \vtop{\algocf@push{\skiptext}% + \vtop{\advance\hsize by -\skiplength #1}}}% inside the block + \algocf@pop{\skiprule}% + % \nointerlineskip% no vskip after +}% +% +%% default=NoLine +% +\newcommand{\algocf@group}[1]{\algocf@Noline{##1}}% group: set of instruction depending from another (ex: then part of the If) +\newcommand{\algocf@@block}[2]{\algocf@Noline{##1}\KwSty{##2}\par}% block: group with a end keyword. +\newcommand{\algocf@block}[2]{\algocf@@block{#1}{#2}}% command that will be used and redefined accordingly to noend option +\newcommand{\algocf@setBlock}{% + \ifthenelse{\boolean{algocf@optnoend}}{% if no end option + \renewcommand{\algocf@block}[2]{\algocf@group{##1}}% block will be a group + }{% else + \renewcommand{\algocf@block}[2]{\algocf@@block{##1}{##2}}% block stays a block + }% +}% +% +\newcommand{\Hlne}{}% little hrizontal line ending a block in vline mode +% +\newcommand{\@algocf@endoption}[1]{#1}% +\newboolean{algocf@optnoend}\setboolean{algocf@optnoend}{false}% +% +\newcommand{\SetAlgoLongEnd}{%%%%%%%%%%%%%%%%%%%%%%%%% Long End + \setboolean{algocf@optnoend}{false}% + \renewcommand{\@algocf@endoption}[1]{##1}% + \algocf@setBlock}% +% +\newcommand{\SetAlgoShortEnd}{%%%%%%%%%%%%%%%%%%%%%%%% ShortEnd + \setboolean{algocf@optnoend}{false}% + \renewcommand{\@algocf@endoption}[1]{\@firstword##1 \@nil}% + \algocf@setBlock}% +% +\newcommand{\SetAlgoNoEnd}{%%%%%%%%%%%%%%%%%%%%%%%%%%% NoEnd + \setboolean{algocf@optnoend}{true}% + \renewcommand{\@algocf@endoption}[1]{}% + \algocf@setBlock}% +% +\newcommand{\SetAlgoNoLine}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Noline +\renewcommand{\algocf@@block}[2]{\algocf@Noline{##1}\KwSty{##2}\strut\par}% +\renewcommand{\algocf@group}[1]{\algocf@Noline{##1}}% +\renewcommand{\Hlne}{}}% +% +\newcommand{\SetAlgoVlined}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Vline +\renewcommand{\algocf@@block}[2]{\algocf@Vline{##1}}% +\renewcommand{\algocf@group}[1]{\algocf@Vsline{##1}\ifthenelse{\boolean{algocf@optnoend}}{\relax}{\strut\ignorespaces}}% +\renewcommand{\Hlne}{\algocf@Hlne}}% +% +\newcommand{\SetAlgoLined}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Line +\renewcommand{\algocf@@block}[2]{\strut\algocf@Vsline{##1}\KwSty{##2}\strut\par}% no skip after a block so garantie at least a line +\renewcommand{\algocf@group}[1]{\algocf@Vsline{##1}\ifthenelse{\boolean{algocf@optnoend}}{\relax}{\strut\ignorespaces}}% +\renewcommand{\Hlne}{}}% +% +\newcommand{\SetNothing}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Noline +\renewcommand{\algocf@@block}[2]{\algocf@Noline{##1}\par}% +%\long +\renewcommand{\algocf@group}[1]{\algocf@Noline{##1}}% +\renewcommand{\Hlne}{}}% +% +%% +%% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ``Input :'''s like command +% +%%% +% text staying at the right of the longer keyword of KwInOut commands +% (text of KwInOut commands are all vertically aligned) +% +\newcommand{\algocf@newinout}{\par\parindent=\wd\algocf@inoutbox}% to put right indentation after a \\ in the KwInOut +\newcommand{\SetKwInOut}[2]{% + \sbox\algocf@inoutbox{\KwSty{#2}\algocf@typo:}% + \expandafter\ifx\csname InOutSizeDefined\endcsname\relax% if first time used + \newcommand\InOutSizeDefined{}\setlength{\inoutsize}{\wd\algocf@inoutbox}% + \else% else keep the larger dimension + \ifdim\wd\algocf@inoutbox>\inoutsize\setlength{\inoutsize}{\wd\algocf@inoutbox}\fi% + \fi% the dimension of the box is now defined. + \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% + \expandafter\algocf@mkcmd\csname#1\endcsname[1]{% + \ifthenelse{\boolean{algocf@inoutnumbered}}{\relax}{\everypar={\relax}}% + {\let\\\algocf@newinout\hangindent=\wd\algocf@inoutbox\hangafter=1\parbox[t]{\inoutsize}{\KwSty{#2}\algocf@typo\hfill:}~##1\par}% + \algocf@linesnumbered% reset the numbering of the lines + }}% +% +%% allow to ajust the skip size of InOut +%% +\newcommand{\ResetInOut}[1]{% + \sbox\algocf@inoutbox{\hbox{\KwSty{#1}\algocf@typo:\ }}% + \setlength{\inoutsize}{\wd\algocf@inoutbox}% + }% +% +% +%%% +% text staying at the right of the keyword. +% +\newcommand{\algocf@newinput}{\par\parindent=\wd\algocf@inputbox}% to put right indentation after a \\ in the KwInput +\newcommand{\SetKwInput}[2]{% + \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% + \expandafter\algocf@mkcmd\csname#1\endcsname[1]{% + \sbox\algocf@inputbox{\hbox{\KwSty{#2}\algocf@typo: }}% + \ifthenelse{\boolean{algocf@inoutnumbered}}{\relax}{\everypar={\relax}}% + {\let\\\algocf@newinput\hangindent=\wd\algocf@inputbox\hangafter=1\unhbox\algocf@inputbox##1\par}% + \algocf@linesnumbered% reset the numbering of the lines + }}% +\newcommand{\SetKwData}[2]{% + \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% + \expandafter\algocf@mkcmd\csname @#1\endcsname[1]{\DataSty{#2(}\ArgSty{##1}\DataSty{)}}% + \expandafter\algocf@mkcmd\csname#1\endcsname{% + \@ifnextchar\bgroup{\csname @#1\endcsname}{\DataSty{#2}\xspace}}% + }% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% tallent: +% +% Add following macros: +% \SetKwHangingKw: [kw] ------------ <= hanging determined by [kw] +% ------------ +% Should act like a combination of \SetKwInput and \SetKw. +% Based on \SetKwInput: +% - remove ':' at end of keyword +% - do not reset numbering +% - use separate savebox +\newsavebox{\algocf@hangingbox} +\newcommand{\algocf@newhanging}{\par\parindent=\wd\algocf@hangingbox}% to put right indentation after a \\ in the KwInput +\newcommand{\SetKwHangingKw}[2]{% + \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% + \expandafter\algocf@mkcmd\csname#1\endcsname[1]{% + \sbox\algocf@hangingbox{\hbox{\KwSty{#2}\algocf@typo\ }}% + {\let\\\algocf@newhanging\hangindent=\wd\algocf@hangingbox\hangafter=1\unhbox\algocf@hangingbox##1\;}% + }% +}% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Comments macros +% +%%%% +% comment in the text, first argument is the name of the macro, second is +% the text put before the comment, third is the text put at the end of the +% comment. +% +% first side comment justification +\newcommand{\SetSideCommentLeft}{\setboolean{algocf@scleft}{true}}% +\newcommand{\SetSideCommentRight}{\setboolean{algocf@scleft}{false}}% +\newcommand{\SetNoFillComment}{\setboolean{algocf@optfillcomment}{false}}% +\newcommand{\SetFillComment}{\setboolean{algocf@optfillcomment}{true}}% +% +% next comment and side comment +% +\newcommand{\algocf@endmarkcomment}{\relax}% +\newcommand{\algocf@fillcomment}{% + \ifthenelse{\boolean{algocf@optfillcomment}}{\hfill}{\relax}}% +% +\newcommand{\algocf@startcomment}{% + \hangindent=\wd\algocf@inputbox\hangafter=1\usebox\algocf@inputbox}% +\newcommand{\algocf@endcomment}{\algocf@fillcomment\algocf@endmarkcomment\ignorespaces\par}% +\newcommand{\algocf@endstartcomment}{\algocf@endcomment\algocf@startcomment\ignorespaces}% +% +\newboolean{algocf@sidecomment}% +\newboolean{algocf@altsidecomment}\setboolean{algocf@altsidecomment}{false}% +\newcommand{\algocf@scpar}{\ifthenelse{\boolean{algocf@altsidecomment}}{\relax}{\par}}% +\newcommand{\algocf@sclfill}{\ifthenelse{\boolean{algocf@scleft}}{\algocf@fillcomment}{\relax}}% +\newcommand{\algocf@scrfill}{\ifthenelse{\boolean{algocf@scleft}}{\relax}{\hfill}}% +\newcommand{\algocf@startsidecomment}{\usebox\algocf@inputbox}% +\newcommand{\algocf@endsidecomment}{\algocf@endmarkcomment\algocf@scpar}% +\newcommand{\algocf@endstartsidecomment}{% + \algocf@sclfill\algocf@endsidecomment% + \algocf@scrfill\algocf@startsidecomment\ignorespaces}% +% +\newcommand{\SetKwComment}[3]{% + % newcommand or renewcommand ? + \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% + %%% comment definition + \expandafter\algocf@mkcmd\csname algocf@#1\endcsname[1]{% + \sbox\algocf@inputbox{\CommentSty{\hbox{#2}}}% + \ifthenelse{\boolean{algocf@commentsnumbered}}{\relax}{\everypar={\relax}}% + {\renewcommand{\algocf@endmarkcomment}{#3}% + \let\\\algocf@endstartcomment% + \algocf@startcomment\CommentSty{% + \strut\ignorespaces##1\strut\algocf@fillcomment#3}\par}% + \algocf@linesnumbered% reset the numbering of the lines + }% + %%% side comment definitions + % option or not? + \expandafter\algocf@mkcmd\csname algocf@#1@star\endcsname{% + \@ifnextchar [{\csname algocf@#1@staropt\endcsname}{\csname algocf@#1@sidecomment\endcsname}% + }% + % manage option + \expandafter\def\csname algocf@#1@staropt\endcsname[##1]##2{% + \ifthenelse{\boolean{algocf@scleft}}{\setboolean{algocf@sidecomment}{true}}{\setboolean{algocf@sidecomment}{false}}% + \ifx##1h\setboolean{algocf@altsidecomment}{true}\SetSideCommentLeft\fi% + \ifx##1f\setboolean{algocf@altsidecomment}{true}\SetSideCommentRight\fi% + \ifx##1l\setboolean{algocf@altsidecomment}{false}\SetSideCommentLeft\fi% + \ifx##1r\setboolean{algocf@altsidecomment}{false}\SetSideCommentRight\fi% + \csname algocf@#1@sidecomment\endcsname{##2}% call sidecomment + \ifthenelse{\boolean{algocf@sidecomment}}{\setboolean{algocf@scleft}{true}}{\setboolean{algocf@scleft}{false}}% + \setboolean{algocf@altsidecomment}{false}% + }% + % side comment + \expandafter\algocf@mkcmd\csname algocf@#1@sidecomment\endcsname[1]{% + \sbox\algocf@inputbox{\CommentSty{\hbox{#2}}}% + \ifthenelse{\boolean{algocf@commentsnumbered}}{\relax}{\everypar={\relax}}% + {% + \renewcommand{\algocf@endmarkcomment}{#3}% + \let\\\algocf@endstartsidecomment% + % here is the comment + %\ifthenelse{\boolean{algocf@altsidecomment}}{\relax}{\algocf@endline\ }% + \ifthenelse{\boolean{algocf@altsidecomment}}{\relax}{\@endalgocfline\ }% + \algocf@scrfill\algocf@startsidecomment\CommentSty{% + \strut\ignorespaces##1\strut\algocf@sclfill#3}\algocf@scpar% + }% + \algocf@linesnumbered% reset the numbering of the lines + } + \expandafter\algocf@mkcmd\csname#1\endcsname{\@ifstar{\csname algocf@#1@star\endcsname}{\csname algocf@#1\endcsname}}% +}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Kw +% +\newcommand{\SetKw}[2]{% + \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% + \expandafter\algocf@mkcmd\csname @#1\endcsname[1]{\KwSty{#2} \ArgSty{##1}}% + \expandafter\algocf@mkcmd\csname#1\endcsname{% + \@ifnextchar\bgroup{\csname @#1\endcsname}{\KwSty{#2}\xspace}}% + }% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% KwFunction +% +\newcommand{\SetKwFunction}[2]{% +%%% use of gdef since newcommand doesn't manage to define the macro when SetKwFunction is used in \algocf@caption@proc + \expandafter\gdef\csname @#1\endcsname##1{\FuncSty{#2(}\ArgSty{##1}\FuncSty{)}}% + \expandafter\gdef\csname#1\endcsname{% + \@ifnextchar\bgroup{\csname @#1\endcsname}{\FuncSty{#2}\xspace}}% +}% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% KwTab +% +\newcommand{\SetKwArray}[2]{% +%%% use of gdef since newcommand doesn't manage to define the macro when SetKwFunction is used in \algocf@caption@proc + \expandafter\gdef\csname @#1\endcsname##1{\DataSty{#2[}\ArgSty{##1}\DataSty{]}}% + \expandafter\gdef\csname#1\endcsname{% + \@ifnextchar\bgroup{\csname @#1\endcsname}{\DataSty{#2}\xspace}}% +}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% KwBlock +% +\newcommand{\SetKwBlock}[3]{% +\@ifundefined{algocf@#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#1\endcsname{%Begin + \@ifnextchar({\csname algocf@#1opt\endcsname}{\csname algocf@#1\endcsname}}% +% with side text +\expandafter\def\csname algocf@#1opt\endcsname(##1)##2{% \Begin(){} + \KwSty{#2} ##1\algocf@block{##2}{\@algocf@endoption{#3}}% + \@ifnextchar({\csname algocf@#1end\endcsname}{\par}}% +% without side text at the beginning +\expandafter\algocf@mkcmd\csname algocf@#1\endcsname[1]{% \Begin{} + \KwSty{#2}\algocf@block{##1}{\@algocf@endoption{#3}}\@ifnextchar({\csname algocf@#1end\endcsname}{\par}}% +% side text at the end +\expandafter\def\csname algocf@#1end\endcsname(##1){% \Begin{} + \ ##1\par}% +}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% For Switch +% +\newcommand{\SetKwSwitch}[8]{% #1=\Switch #2=\Case #3=\Other #4=swicth #5=case #6=do #7=otherwise #8=endsw +%%%% Switch +\@ifundefined{algocf@#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#1\endcsname{%Switch + \@ifnextchar({\csname algocf@#1opt\endcsname}{\csname algocf@#1\endcsname}}% +% with side text +\expandafter\def\csname algocf@#1opt\endcsname(##1)##2##3{% \Switch(){}{} + \KwSty{#4} \ArgSty{##2} \KwSty{#5} ##1\algocf@block{##3}{\@algocf@endoption{#8}}}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@#1\endcsname[2]{% \Switch{}{} + \KwSty{#4} \ArgSty{##1} \KwSty{#5}\algocf@block{##2}{\@algocf@endoption{#8}}}% +% side text at the end +\expandafter\def\csname algocf@#1end\endcsname(##1){% \Switch{}{}() +}% +% +%%%% Case +\@ifundefined{algocf@#2}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#2\endcsname{%Case + \@ifnextchar({\csname algocf@#2opt\endcsname}{\csname algocf@#2\endcsname}}% +\expandafter\def\csname u#2\endcsname{%uCase + \@ifnextchar({\csname algocf@u#2opt\endcsname}{\csname algocf@u#2\endcsname}}% +\expandafter\def\csname l#2\endcsname{%lCase + \@ifnextchar({\csname algocf@l#2opt\endcsname}{\csname algocf@l#2\endcsname}}% +% with side text +\expandafter\def\csname algocf@#2opt\endcsname(##1)##2##3{% \Case(){}{} + \KwSty{#6} \ArgSty{##2} ##1\algocf@block{##3}{\@algocf@endoption{#8}}}% +\expandafter\def\csname algocf@u#2opt\endcsname(##1)##2##3{% \uCase(){}{} + \KwSty{#6} \ArgSty{##2} ##1\algocf@group{##3}}% +\expandafter\def\csname algocf@l#2opt\endcsname(##1)##2##3{% \lCase(){}{} + \KwSty{#6} \ArgSty{##2} ##3\algocf@endline\ ##1\par}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@#2\endcsname[2]{% \Case{}{} + \KwSty{#6} \ArgSty{##1}\algocf@block{##2}{\@algocf@endoption{#8}}}% +\expandafter\algocf@mkcmd\csname algocf@u#2\endcsname[2]{% \uCase{}{} + \KwSty{#6} \ArgSty{##1}\algocf@group{##2}}% +\expandafter\algocf@mkcmd\csname algocf@l#2\endcsname[2]{% \lCase{}{} + \KwSty{#6} \ArgSty{##1} ##2}% +%%%% Other +\@ifundefined{algocf@#3}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#3\endcsname{%Other + \@ifnextchar({\csname algocf@#3opt\endcsname}{\csname algocf@#3\endcsname}}% +\expandafter\def\csname l#3\endcsname{%Other + \@ifnextchar({\csname algocf@l#3opt\endcsname}{\csname algocf@l#3\endcsname}}% +% with side text +\expandafter\def\csname algocf@#3opt\endcsname(##1)##2{% \Other(){}{} + \KwSty{#7} ##1\algocf@block{##2}{\@algocf@endoption{#8}}}% +\expandafter\def\csname algocf@l#3opt\endcsname(##1)##2{% \Other(){}{} + \KwSty{#7} ##2\algocf@endline\ ##1\par}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@#3\endcsname[1]{% default + \KwSty{#7}\algocf@block{##1}{\@algocf@endoption{#8}}}% +\expandafter\algocf@mkcmd\csname algocf@l#3\endcsname[1]{% ldefault + \KwSty{#7} ##1}% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% If macros +% +\newcommand{\SetKwIF}[8]{% #1=\If #2=\ElseIf #3=\Else #4=if #5=then #6=elseif si #7=else #8=endif +% +% common text +\@ifundefined{#1@ifthen}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +\expandafter\algocf@mkcmd\csname #1@ifthen\endcsname[1]{% + \KwSty{#4} \ArgSty{##1} \KwSty{#5}}% +\expandafter\algocf@mkcmd\csname #1@endif\endcsname[1]{\algocf@block{##1}{\@algocf@endoption{#8}}}% +\expandafter\algocf@mkcmd\csname #1@noend\endcsname[1]{\algocf@group{##1}}% +\expandafter\algocf@mkcmd\csname #1@else\endcsname[1]{\algocf@group{##1}\KwSty{#7}}% +\@ifundefined{#2@elseif}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +\expandafter\algocf@mkcmd\csname #2@elseif\endcsname[1]{% + \KwSty{#6} \ArgSty{##1} \KwSty{#5}}% +\@ifundefined{#3@else}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +\expandafter\algocf@mkcmd\csname #3@else\endcsname{\KwSty{#7}}% +%%%% If then { } endif +% +\@ifundefined{algocf@#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#1\endcsname{% + \@ifnextchar({\csname algocf@#1opt\endcsname}{\csname algocf@#1\endcsname}}% +% with side text +\expandafter\def\csname algocf@#1opt\endcsname(##1)##2##3{% \If(){}{} + \csname #1@ifthen\endcsname{##2} ##1\csname #1@endif\endcsname{##3}}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@#1\endcsname[2]{% \If{}{} + \csname #1@ifthen\endcsname{##1}\csname #1@endif\endcsname{##2}}% +% +%%%% If then {} else {} endif +% +% side text or not? +\expandafter\def\csname e#1\endcsname{% + \@ifnextchar({\csname algocf@e#1thenopt\endcsname}{\csname algocf@e#1then\endcsname}}% +% with side text after if +\expandafter\def\csname algocf@e#1thenopt\endcsname(##1)##2##3{% \eIf() + \csname #1@ifthen\endcsname{##2} ##1\csname #1@else\endcsname{##3}% + \csname algocf@e#1thenelse\endcsname}% +% without side text after if +\expandafter\def\csname algocf@e#1then\endcsname##1##2{% \eIf() + \csname #1@ifthen\endcsname{##1}\csname #1@else\endcsname{##2}% + \csname algocf@e#1thenelse\endcsname}% +% side text after else or not ? +\expandafter\def\csname algocf@e#1thenelse\endcsname{% + \@ifnextchar({\csname algocf@e#1elseopt\endcsname}{\csname algocf@e#1else\endcsname}}% +% else with a side text +\expandafter\def\csname algocf@e#1elseopt\endcsname(##1)##2{% + ##1\csname #1@endif\endcsname{##2}}% +% else without side text +\expandafter\algocf@mkcmd\csname algocf@e#1else\endcsname[1]{% + \csname #1@endif\endcsname{##1}}% +% +%%%% If then +% +% side text or not? +\expandafter\def\csname l#1\endcsname{% lif + \@ifnextchar({\csname algocf@l#1opt\endcsname}{\csname algocf@l#1\endcsname}}% +\expandafter\def\csname u#1\endcsname{% uif + \@ifnextchar({\csname algocf@u#1opt\endcsname}{\csname algocf@u#1\endcsname}}% +% with side text +\expandafter\def\csname algocf@l#1opt\endcsname(##1)##2##3{% \lIf(){}{} + \csname #1@ifthen\endcsname{##2} ##3\algocf@endline\ ##1\par}% +\expandafter\def\csname algocf@u#1opt\endcsname(##1)##2##3{% \uIf(){}{} + \csname #1@ifthen\endcsname{##2} ##1\csname#1@noend\endcsname{##3}}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@l#1\endcsname[2]{% \lIf{}{} + \csname #1@ifthen\endcsname{##1} ##2}% +\expandafter\algocf@mkcmd\csname algocf@u#1\endcsname[2]{% \uIf{}{} + \csname #1@ifthen\endcsname{##1}\csname#1@noend\endcsname{##2}}% +% +%%%% ElseIf {} endif +% +\@ifundefined{algocf@#2}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#2\endcsname{% ElseIf + \@ifnextchar({\csname algocf@#2opt\endcsname}{\csname algocf@#2\endcsname}}% +% with side text +\expandafter\def\csname algocf@#2opt\endcsname(##1)##2##3{% \ElseIf(){}{} + \csname #2@elseif\endcsname{##2} ##1\csname #1@endif\endcsname{##3}}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@#2\endcsname[2]{% \ElseIf{}{} + \csname #2@elseif\endcsname{##1}\csname #1@endif\endcsname{##2}}% +% +%%%% ElseIf +% +% side text or not? +\expandafter\def\csname l#2\endcsname{% lElseIf + \@ifnextchar({\csname algocf@l#2opt\endcsname}{\csname algocf@l#2\endcsname}}% +\expandafter\def\csname u#2\endcsname{% uElseIf + \@ifnextchar({\csname algocf@u#2opt\endcsname}{\csname algocf@u#2\endcsname}}% +% with side text +\expandafter\def\csname algocf@l#2opt\endcsname(##1)##2##3{% \lElseIf(){}{} + \csname #2@elseif\endcsname{##2} ##3\algocf@endline\ ##1\par}% +\expandafter\def\csname algocf@u#2opt\endcsname(##1)##2##3{% \uElseIf(){}{} + \csname #2@elseif\endcsname{##2} ##1\csname #1@noend\endcsname{##3}}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@l#2\endcsname[2]{% \lElseIf{}{} + \csname #2@elseif\endcsname{##1} ##2}% +\expandafter\algocf@mkcmd\csname algocf@u#2\endcsname[2]{% \uElseIf{}{} + \csname #2@elseif\endcsname{##1}\csname #1@noend\endcsname{##2}}% +% +%%%% Else {} endif +% +\@ifundefined{algocf@#3}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#3\endcsname{% Else + \@ifnextchar({\csname algocf@#3opt\endcsname}{\csname algocf@#3\endcsname}}% +% with side text +\expandafter\def\csname algocf@#3opt\endcsname(##1)##2{% \Else(){} + \csname #3@else\endcsname\ ##1\csname #1@endif\endcsname{##2}}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@#3\endcsname[1]{% \Else{} + \csname #3@else\endcsname\csname #1@endif\endcsname{##1}}% +% +%%%% Else +% +% side text or not? +\expandafter\def\csname l#3\endcsname{% lElse + \@ifnextchar({\csname algocf@l#3opt\endcsname}{\csname algocf@l#3\endcsname}}% +\expandafter\def\csname u#3\endcsname{% uElse + \@ifnextchar({\csname algocf@u#3opt\endcsname}{\csname algocf@u#3\endcsname}}% +% with side text +\expandafter\def\csname algocf@l#3opt\endcsname(##1)##2{% \lElse(){} + \csname #3@else\endcsname\ ##2\algocf@endline\ ##1\par}% +\expandafter\def\csname algocf@u#3opt\endcsname(##1)##2{% \uElse(){} + \csname #3@else\endcsname\ ##1\csname #1@noend\endcsname{##2}}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@l#3\endcsname[1]{% \lElse{} + \csname #3@else\endcsname\ ##1}% +\expandafter\algocf@mkcmd\csname algocf@u#3\endcsname[1]{% \uElse{} + \csname #3@else\endcsname\csname #1@noend\endcsname{##1}}% +}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% For macros +% +\newcommand{\SetKwFor}[4]{% +\@ifundefined{algocf@#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#1\endcsname{%For + \@ifnextchar({\csname algocf@#1opt\endcsname}{\csname algocf@#1\endcsname}}% +\expandafter\def\csname l#1\endcsname{%For + \@ifnextchar({\csname algocf@l#1opt\endcsname}{\csname algocf@l#1\endcsname}}% +% with side text +\expandafter\def\csname algocf@#1opt\endcsname(##1)##2##3{% \For(){}{} + \KwSty{#2} \ArgSty{##2} \KwSty{#3} ##1\algocf@block{##3}{\@algocf@endoption{#4}}}% +\expandafter\def\csname algocf@l#1opt\endcsname(##1)##2##3{% \lFor(){}{} + \KwSty{#2} \ArgSty{##2} \KwSty{#3} ##3\algocf@endline\ ##1\par}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@#1\endcsname[2]{% \For{}{} + \KwSty{#2} \ArgSty{##1} \KwSty{#3}\algocf@block{##2}{\@algocf@endoption{#4}}}% +\expandafter\algocf@mkcmd\csname algocf@l#1\endcsname[2]{% \lFor{}{} + \KwSty{#2} \ArgSty{##1} \KwSty{#3} ##2}% +}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Repeat macros +% +\newcommand{\SetKwRepeat}[3]{% +\@ifundefined{algocf@#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#1\endcsname{% Repeat + \@ifnextchar({\csname algocf@#1opt\endcsname}{\csname algocf@#1\endcsname}}% +\expandafter\def\csname l#1\endcsname{% lRepeat + \@ifnextchar({\csname algocf@l#1opt\endcsname}{\csname algocf@l#1\endcsname}}% +% with side text +\expandafter\def\csname algocf@#1opt\endcsname(##1)##2##3{% \Repeat(){}{} + \KwSty{#2} ##1\algocf@group{##3}\KwSty{#3} \ArgSty{##2}% + \@ifnextchar({\csname algocf@#1optopt\endcsname}{\@endalgoln}% +}% +\expandafter\def\csname algocf@#1optopt\endcsname(##1){% \Repeat(){}{}() + ##1\@endalgoln}% +\expandafter\def\csname algocf@l#1opt\endcsname(##1)##2##3{% \lRepeat(){}{} + \KwSty{#2} ##3 \KwSty{#3} \ArgSty{##2}\algocf@endline\ ##1\par}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@#1\endcsname[2]{% \Repeat{}{} + \KwSty{#2}\algocf@group{##2}\KwSty{#3} \ArgSty{##1}% + \@ifnextchar({\csname algocf@#1optopt\endcsname}{\@endalgoln}% +}% +\expandafter\algocf@mkcmd\csname algocf@l#1\endcsname[2]{% \lRepeat{}{} + \KwSty{#2} ##2 \KwSty{#3} \ArgSty{##1}}% +}% +% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%% Environments definitions %%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%% +%% Caption management +%% +% for the following macros: +% #1 is given by caption and is equal to fnum@algocf +% #2 is the text given in argument by the user in the \caption macro +% +%%%%% text of caption +\newcommand{\algocf@captionlayout}[1]{#1}% +\newcommand{\SetAlgoCaptionLayout}[1]{% + \renewcommand{\algocf@captionlayout}[1]{\csname #1\endcsname{##1}}}% +\newcommand{\algocf@capseparator}{:}% +\newcommand{\SetAlgoCaptionSeparator}[1]{\renewcommand{\algocf@capseparator}{#1}}% +\newcommand{\algocf@captiontext}[2]{% + \algocf@captionlayout{\AlCapSty{\AlCapFnt #1\algocf@typo\algocf@capseparator}\nobreakspace% + \AlCapNameSty{\AlCapNameFnt{}#2}}}% text of caption +% +%%%%% default caption of algorithm: used if no specific style caption is defined +\newcommand{\algocf@makecaption}[2]{% + \addtolength{\hsize}{\algomargin}% + \sbox\@tempboxa{\algocf@captiontext{#1}{#2}}% + \ifdim\wd\@tempboxa >\hsize% % if caption is longer than a line + \hskip .5\algomargin% + \parbox[t]{\hsize}{\algocf@captiontext{#1}{#2}}% then caption is not centered + \else% + \global\@minipagefalse% + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% else caption is centered + \fi% + \addtolength{\hsize}{-\algomargin}% +}% +% +\newsavebox\algocf@capbox% +\newcommand{\algocf@makecaption@plain}[2]{% + \global\sbox\algocf@capbox{\algocf@makecaption{#1}{#2}}}% +\newcommand{\algocf@makecaption@boxed}[2]{% + \addtolength{\hsize}{-\algomargin}% + \global\sbox\algocf@capbox{\algocf@makecaption{#1}{#2}}% + \addtolength{\hsize}{\algomargin}% + }% +% +\newcommand{\algocf@makecaption@tworuled}[2]{\algocf@makecaption@ruled{#1}{#2}}% +\newcommand{\algocf@makecaption@algoruled}[2]{\algocf@makecaption@ruled{#1}{#2}}% +\newcommand{\algocf@makecaption@boxruled}[2]{\algocf@makecaption@ruled{#1}{#2}}% +\newcommand{\algocf@makecaption@ruled}[2]{% + \global\sbox\algocf@capbox{\hskip\AlCapHSkip% .5\algomargin% + \parbox[t]{\hsize}{\algocf@captiontext{#1}{#2}}}% then caption is not centered +}% +% +\newlength{\algoheightruledefault}\setlength{\algoheightruledefault}{0.8pt}% +\newlength{\algoheightrule}\setlength{\algoheightrule}{\algoheightruledefault}% +\newlength{\algotitleheightruledefault}\setlength{\algotitleheightruledefault}{0.8pt}% +\newlength{\algotitleheightrule}\setlength{\algotitleheightrule}{\algotitleheightruledefault}% +\newcommand{\algocf@caption@plain}{\vskip\AlCapSkip\box\algocf@capbox}% +\newcommand{\algocf@caption@boxed}{\vskip\AlCapSkip\box\algocf@capbox}% +\newcommand{\algocf@caption@ruled}{\box\algocf@capbox\kern\interspacetitleruled\hrule height\algotitleheightrule depth0pt\kern\interspacealgoruled}% +\newcommand{\algocf@caption@tworuled}{\box\algocf@capbox\kern\interspacetitleruled}% +\newcommand{\algocf@caption@algoruled}{\algocf@caption@ruled}% +\newcommand{\algocf@caption@boxruled}{% + \addtolength{\hsize}{-0.8pt}% + \hbox to\hsize{% + \vrule%\hskip-0.35pt% + \vbox{% + \hrule\vskip\interspacetitleboxruled% + \hbox to\hsize{\unhbox\algocf@capbox\hfill}\vskip\interspacetitleboxruled% + }% + %\hskip-0.35pt% + \vrule% + }\nointerlineskip% + \addtolength{\hsize}{0.8pt}% +}% +% +% +%%%% set caption for the environment +\newcommand{\algocf@captionref}{% + \renewcommand{\fnum@algocf}[1]{\AlCapSty{\AlCapFnt\algorithmcfname\nobreakspace\algocf@algocfref}}% + \addtocounter{algocf}{-1}% \caption do a refstepcounter, so we restore the precedent value + \let\old@thealgocf=\thealgocf\renewcommand{\thealgocf}{{\relsize{\algocf@refrelsize}\algocf@algocfref}}% + \gdef\@currentlabel{\algocf@algocfref}% let the label use the new ref +}% +% +% Unfortunatly, we also need our own caption to set some specific stuff for special references. But after these +% settings, we call the original caption. +% +\long\def\algocf@caption@algo#1[#2]#3{% + \ifthenelse{\equal{\algocf@algocfref}{\relax}}{}{\algocf@captionref}% + \@ifundefined{hyper@refstepcounter}{\relax}{% if hyper@refstepcounter undefind, no hyperref, else... + \ifthenelse{\equal{\algocf@algocfref}{\relax}}{\renewcommand{\theHalgocf}{\thealgocf}}{% take algocf as Href + \renewcommand{\theHalgocf}{\algocf@algocfref}}%else if SetAlgoRefName done, take this name as ref. + \hyper@refstepcounter{algocf}%set algocf as category of ref + }% + \algocf@latexcaption{#1}[#2]{#3}% call original caption +}% +% +% beamer define is own caption overrinding latex caption! +% as we need it, we have put here the original definition +% to handle manual ref, unfortunately we have to add one line to handle algocf@algocfref +\long\def\algocf@latexcaption#1[#2]#3{% original definition of caption + \par% + \addcontentsline{\csname ext@#1\endcsname}{#1}% + {\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}% + \begingroup% + \@parboxrestore% + \if@minipage% + \@setminipage% + \fi% + \normalsize% + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par% + \endgroup% +}% +% +% \ifx\beamer@makecaption\undefined% +% \else% beamer detected +\ifx\@makecaption\undefined% +\newcommand{\@makecaption}[2]{\relax}% +\fi% +%% + +% +% more and more packages redefine \@caption instead of just \@makecaption which makes algorithm2e +% caption not works since based on standard \@caption. So we force the definition of \@caption to be +% the standard one (the one from LaTeX) inside algorithm environment. +% +% unfortunately, makecaption is called with \ignorespace #3 so +% we can't do the @currentlabel definition inside \algocf@captionproctext +\long\def\algocf@caption@proc#1[#2]#3{% + \ifthenelse{\boolean{algocf@nokwfunc}}{\relax}{% + \SetKwFunction{\algocf@captname#3@}{\algocf@captname#3@}% + }% + % we tell hyperref to use algocfproc as category and to take the appropriate ref. + \ifthenelse{\boolean{algocf@func}}{\def\@proc@func{algocffunc}}{\def\@proc@func{algocfproc}}% + \@ifundefined{hyper@refstepcounter}{\relax}{% if hyper@refstepcounter undefind, no hyperref, else... + \ifthenelse{\boolean{algocf@procnumbered}}{% + \expandafter\def\csname theH\@proc@func\endcsname{\algocf@captname#3@}%if procnumbered, take \thealgocf as ref + }{% + \expandafter\def\csname theH\@proc@func\endcsname{\algocf@captname#3@}%else take procedure or function name + }% + \hyper@refstepcounter{\@proc@func}% + }% + \ifthenelse{\boolean{algocf@procnumbered}}{\relax}{% + \addtocounter{algocf}{-1}% \caption do a refstepcounter, so we restore the precedent value + \gdef\@currentlabel{\algocf@captname#3@}% let the label be the name of the function, not the counter + }% + \ifthenelse{\equal{\algocf@captparam#2@}{\arg@e}}{% if no paramater, we remove the () + \algocf@latexcaption{#1}[\algocf@procname\nobreakspace\algocf@captname#2@]{#3}% + }{% else we give the complete name + \algocf@latexcaption{#1}[\algocf@procname\nobreakspace#2]{#3}% + }% +}% +%% +%%% setcaption +\newcommand{\algocf@setcaption}{% + \ifthenelse{\boolean{algocf@procenvironment}}{% if proc environment, caption text must be changed + \let\algocf@oldcaptiontext=\algocf@captiontext% + \renewcommand{\algocf@captiontext}[2]{% + \algocf@captionproctext{##1}{##2}% + }% + }{}% + \let\algocf@savecaption=\@caption% + \ifthenelse{\boolean{algocf@procenvironment}}{\let\@caption=\algocf@caption@proc}{\let\@caption=\algocf@caption@algo}% + \let\algocf@oldmakecaption=\@makecaption% + \renewcommand{\@makecaption}[2]{% + \expandafter\csname algocf@makecaption@\algocf@style\endcsname{##1}{##2}% + }% +}% +% +%%%%% reset caption +% +% since we have force the LaTeX caption for algorithm environment, we must go back to the caption +% used in the text. +\newcommand{\algocf@resetcaption}{% + \ifthenelse{\boolean{algocf@procenvironment}}{% if proc environment + \let\thealgocf=\old@thealgocf% restore normal counter printing + \let\algocf@captiontext=\algocf@oldcaptiontext% restore normal caption text + }{}% + \let\@caption=\algocf@savecaption% now restore caption outside algo/proc/func environment + \let\@makecaption=\algocf@oldmakecaption% and restore makecaption outside outside algo/proc/func environment + \algocf@resetfnum% +}% +% +%%%%% nocaptionofalgo and restorecaptionofalgo -- +\newcommand{\NoCaptionOfAlgo}{% + \let\@old@algocf@captiontext=\algocf@captiontext% + \renewcommand{\algocf@captiontext}[2]{\AlCapNameSty{\AlCapNameFnt{}##2}}% +}% +\newcommand{\RestoreCaptionOfAlgo}{% + \let\algocf@captiontext=\@old@algocf@captiontext% +}% +% +% ---------------------- algocf environment +% +\newcounter{algocfline}% % new counter to make lines numbers be internally +\setcounter{algocfline}{0}% % different in different algorithms +\newcounter{algocfproc}% counter to count all algo environment (proc, func), just used by hyperref to avoir "same +\setcounter{algocfproc}{0}% identifier" error caused by algocf being set to '-' for procedure or function or not + % changed if no caption is given. +% +\expandafter\ifx\csname algocf@within\endcsname\relax% if \algocf@within doesn't exist +\newcounter{algocf}% % just define a new counter +\renewcommand{\thealgocf}{\@arabic\c@algocf}% and the way it is printed +\else% else +\newcounter{algocf}[\algocf@within]% % counter is numbered within \algocf@within +\renewcommand\thealgocf{\csname the\algocf@within\endcsname.\@arabic\c@algocf}% +\fi% +% +\def\fps@algocf{htbp}% % default +\def\ftype@algocf{10}% % float type +\def\ext@algocf{\algocf@list} % loa by default, lof if figure option used +\newcommand{\fnum@algocf}[1]{\AlCapSty{\AlCapFnt\algorithmcfname\nobreakspace\thealgocf}}% +\newcommand{\algocf@resetfnum}{\renewcommand{\fnum@algocf}[1]{\AlCapSty{\AlCapFnt\algorithmcfname\nobreakspace\thealgocf}}}% +\newenvironment{algocf}% % float environment for algorithms + {\@float{algocf}}% + {\end@float}% +\newenvironment{algocf*}% % float* environment for algorithms + {\@dblfloat{algocf}}% + {\end@dblfloat}% +% +\def\algocf@seclistalgo{}% +\ifx\l@chapter\undefined\let\algocf@seclistalgo=\section\else\let\algocf@seclistalgo=\chapter\fi% +\@ifundefined{if@restonecol}{\newif\if@restonecol}\relax% +\newcommand\listofalgocfs{% + \ifx\algocf@seclistalgo\chapter% + \if@twocolumn\@restonecoltrue\onecolumn\else\@restonecolfalse\fi% + \fi% + \algocf@seclistalgo*{\listalgorithmcfname}% + \@mkboth{\MakeUppercase\listalgorithmcfname}% + {\MakeUppercase\listalgorithmcfname}% + \@starttoc{loa}% + \ifx\algocf@seclistalgo\chapter% + \if@restonecol\twocolumn\fi% + \fi% +} +% +\newcommand*\l@algocf{\@dottedtocline{1}{1em}{2.3em}}% line of the list +% +% ---------------------- algorithm environment +% +%%%%%%% +%% +%% Algorithm environment definition +%% +%%%%%%% +%% +% +\newsavebox\algocf@algoframe% +\def\@algocf@pre@plain{\relax}% action to be done before printing the algo. +\def\@algocf@post@plain{\relax}% action to be done after printing the algo. +\def\@algocf@capt@plain{bottom}% where the caption should be localized. +\def\@algocf@pre@boxed{\noindent\begin{lrbox}{\algocf@algoframe}} +\def\@algocf@post@boxed{\end{lrbox}\framebox[\hsize]{\box\algocf@algoframe}\par}% +\def\@algocf@capt@boxed{under}% +\def\@algocf@pre@ruled{\hrule height\algoheightrule depth0pt\kern\interspacetitleruled}% +\def\@algocf@post@ruled{\kern\interspacealgoruled\hrule height\algoheightrule\relax}% +\def\@algocf@capt@ruled{top}% +\def\@algocf@pre@algoruled{\hrule height\algoheightrule depth0pt\kern\interspacetitleruled}% +\def\@algocf@post@algoruled{\kern\interspacealgoruled\hrule height\algoheightrule \relax}% +\def\@algocf@capt@algoruled{top}% +\def\@algocf@pre@tworuled{\hrule height\algoheightrule depth0pt\kern\interspacetitleruled}% +\def\@algocf@post@tworuled{\kern\interspacealgoruled\hrule height\algoheightrule\relax}% +\def\@algocf@capt@tworuled{top}% +\def\@algocf@pre@boxruled{\noindent\begin{lrbox}{\algocf@algoframe}}% +\def\@algocf@post@boxruled{\end{lrbox}\framebox[\hsize]{\box\algocf@algoframe}\par}% +\def\@algocf@capt@boxruled{above}% +% +\newcommand{\noalgocaption}{\def\@algocf@capt@ruled{none}} +% +%% before algocf or figure environment +\newcommand{\@algocf@init@caption}{% + \ifthenelse{\boolean{algocf@procenvironment}}{% if we are inside a procedure/function environment + \@algocf@proctitleofalgo% set Titleofalgo to Procedure: or Function: + % accordingly to the environment + \let\old@thealgocf=\thealgocf\ifthenelse{\boolean{algocf@procnumbered}}{\relax}{% + \renewcommand{\thealgocf}{-}}% + }{% else inside environment algorithm + \@algocf@algotitleofalgo% fix name for \Titleofalgo to \algorithmcfname + }% + \algocf@setcaption% set caption to our caption style +}% +% +\newcommand{\@algofloatboxreset}{\@setminipage} +\newcommand{\@algocf@init}{% + \refstepcounter{algocfline}% + \stepcounter{algocfproc}%to have a different counter for each environment and being abble to make the difference + %between href of algoline in different algorithms. + \ifthenelse{\boolean{algocf@optnoend}}{% + \renewcommand{\algocf@block}[2]{\algocf@group{##1}}% + }{% + \renewcommand{\algocf@block}[2]{\algocf@@block{##1}{##2}}% + }% +}% +%% after the end of algocf or figure environment +\newcommand{\@algocf@term@caption}{% + \algocf@resetcaption% restore original caption +}% +% +\newcommand{\@algocf@term}{% + \setboolean{algocf@algoH}{false}% no H by default + \ifthenelse{\boolean{algocf@optnoend}}{% + \renewcommand{\algocf@block}[2]{\algocf@@block{##1}{##2}}% + }{% + \renewcommand{\algocf@block}[2]{\algocf@group{##1}}% + }% + \SetAlgoRefName{\relax}% +}% +% +%%%%%%%%%%%%%%%%% +%% makethealgo: macro which print effectively the algo in its box +%% +\newsavebox\algocf@algobox% +\newcommand{\algocf@makethealgo}{% + \vtop{% + % place caption above if needed bye the style + \ifthenelse{\equal{\csname @algocf@capt@\algocf@style\endcsname}{above}}% + {\csname algocf@caption@\algocf@style\endcsname}{}% + % + % precommand according to the style + \csname @algocf@pre@\algocf@style\endcsname% + % place caption at top if needed bye the style + \ifthenelse{\equal{\csname @algocf@capt@\algocf@style\endcsname}{top}}% + {\csname algocf@caption@\algocf@style\endcsname}{}% + % + \box\algocf@algobox% the algo + % place caption at bottom if needed bye the style + \ifthenelse{\equal{\csname @algocf@capt@\algocf@style\endcsname}{bottom}}% + {\csname algocf@caption@\algocf@style\endcsname}{}% + % postcommand according to the style + \csname @algocf@post@\algocf@style\endcsname% + % place caption under if needed bye the style + \ifthenelse{\equal{\csname @algocf@capt@\algocf@style\endcsname}{under}}% + {\csname algocf@caption@\algocf@style\endcsname}{}% + }% +}% +%%%%%%%%%%%%%%%%%%% +% +%% at the beginning of algocf or figure environment +\newcommand{\@algocf@start}{% + \@algoskip% + \begin{lrbox}{\algocf@algobox}% + \setlength{\algowidth}{\hsize}% + \vbox\bgroup% save all the algo in a box + \hbox to\algowidth\bgroup\hbox to \algomargin{\hfill}\vtop\bgroup% + \ifthenelse{\boolean{algocf@slide}}{\parskip 0.5ex\color{black}}{}% + % initialization + \addtolength{\hsize}{-1.5\algomargin}% + \let\@mathsemicolon=\;\def\;{\ifmmode\@mathsemicolon\else\@endalgoln\fi}% + \raggedright\AlFnt{}% + \ifthenelse{\boolean{algocf@slide}}{\IncMargin{\skipalgocfslide}}{}% + \@algoinsideskip% +}% +% +%% at the end of algocf or figure environment +\newcommand{\@algocf@finish}{% + \@algoinsideskip% + \egroup%end of vtop which contain all the text + \hfill\egroup%end of hbox wich contains [margin][vtop] + \ifthenelse{\boolean{algocf@slide}}{\DecMargin{\skipalgocfslide}}{}% + % + \egroup%end of main vbox + \end{lrbox}% + \algocf@makethealgo% print the algo + \@algoskip% + % restore dimension and macros + \setlength{\hsize}{\algowidth}% + \lineskip\normallineskip\setlength{\skiptotal}{\@defaultskiptotal}% + \let\;=\@mathsemicolon% +}% +% +%%%%%%%%%%%%%%%%%%%% +%% basic definition of the environment algorithm +%% +% +\newboolean{algocf@procenvironment}\setboolean{algocf@procenvironment}{false}% +\newboolean{algocf@func}\setboolean{algocf@func}{false}% +\newboolean{algocf@algoH}\setboolean{algocf@algoH}{false}% +\newboolean{algocf@algostar}\setboolean{algocf@algostar}{false}% +% +%%% environment for {algorithm}[H] +\newenvironment{algocf@Here}{\noindent% + \def\@captype{algocf}% if not defined, caption exit with an error + \begin{minipage}{\hsize}% +}{% + \end{minipage}%\par% +}% +%%% real algorithm environment which manages H and * option +% \let\algocf@originalfloatboxreset=\@floatboxreset% +% \let\@floatboxreset=\@algofloatboxreset% +\newenvironment{algocf@algorithm}[1][htbp]{ + \@algocf@init% + \ifthenelse{\equal{\algocf@float}{figure}}{% if option figure set + \ifthenelse{\boolean{algocf@algostar}}{% if algorithm* with figure option + \begin{figure*}[#1]% call figure* + }{% else algorithm environment with figure option + \begin{figure}[#1]% call figure + }% + }{% else normal algorithm environment + \@algocf@init@caption% + \ifthenelse{\equal{#1}{H}}{% if [H] algorithm + \if@twocolumn\@latex@error{[H] in two columns mode is not allowed for algorithms}\fi% TODO: SCREAM if H in two colums! + \setboolean{algocf@algoH}{true}\begin{algocf@Here}% call corresponding environment + }{% else floating algorithm environment + \ifthenelse{\boolean{algocf@algostar}}{% if algorithm* + \begin{algocf*}[#1]% call algocf* + }{% else algorithm environment + \begin{algocf}[#1]% call algcf + }% + }% + }% fin test option figure ou pas + \@algocf@start% + \@ResetCounterIfNeeded% + \algocf@linesnumbered\ignorespaces% +}{% + \@algocf@finish% + \ifthenelse{\equal{\algocf@float}{figure}}{% + \ifthenelse{\boolean{algocf@algostar}}{% if algorithm* with figure option + \end{figure*}% call figure* + }{% else algorithm environment with figure option + \end{figure}% call figure + }% + }{% + \@algocf@term@caption% + \ifthenelse{\boolean{algocf@algoH}}{% if [H] algorithm + \end{algocf@Here}\par% call corresponding environment + }{% else floating algorithm environment + \ifthenelse{\boolean{algocf@algostar}}{% if algorithm* + \end{algocf*}% call algocf* + }{% else algorithm environment + \end{algocf}% call algocf + }% + }% + }% + \@algocf@term\ignorespacesafterend% +}% +% +%%% user algorithm environment +% \newenvironment{\algocf@envname}[1][htbp]{% +% \setboolean{algocf@algostar}{false}% +% \setboolean{algocf@procenvironment}{false}\gdef\algocfautorefname{\algorithmautorefname}% +% \begin{algocf@algorithm}[#1]\ignorespaces% +% }{% +% \end{algocf@algorithm}\ignorespacesafterend% +% }% + +% %%% user algorithm* environment +% \newenvironment{\algocf@envname*}[1][htbp]{% +% \setboolean{algocf@algostar}{true}% +% \setboolean{algocf@procenvironment}{false}\gdef\algocfautorefname{\algorithmautorefname}% +% \begin{algocf@algorithm}[#1]\ignorespaces% +% }{% +% \end{algocf@algorithm}\ignorespacesafterend% +% }% +% +%%%%%%%%%%%%%%%%%%%%%%% +%%% +% +% \expandafter\newcommand\csname\algocf@listofalgorithms\endcsname{% +% \ifthenelse{\equal{\algocf@float}{figure}}{\listoffigures}{\listofalgocfs}% +% }% +%%% +%%% +% +% ---------------------- procedure and function environments +% +% +% -- new style (used in particular in the caption of function and procedure environments) +% +% three macros to extract parts of the caption +\gdef\algocf@captname#1(#2)#3@{#1} % keep characters before the first brace +\gdef\algocf@captparam#1(#2)#3@{#2} % keep character in between the braces +\gdef\algocf@captother#1(#2)#3@{#3} % keep character after the braces +% +%%% Text of caption for Procedure or Function +\newcommand{\algocf@captionproctext}[2]{% + {% + \ProcSty{\ProcFnt\algocf@procname\ifthenelse{\boolean{algocf@procnumbered}}{\nobreakspace\thealgocf\algocf@typo\algocf@capseparator}{\relax}}% + \nobreakspace\ProcNameSty{\ProcNameFnt\algocf@captname #2@}% Name of the procedure in ProcName Style. + \ifthenelse{\equal{\algocf@captparam #2@}{\arg@e}}{}{% if no argument, write nothing + \ProcNameSty{\ProcNameFnt(}\ProcArgSty{\ProcArgFnt\algocf@captparam #2@}\ProcNameSty{\ProcNameFnt)}%else put arguments in ProcArgSty: + }% endif + \algocf@captother #2@% + }% +}% +% +% +% -- procedure and function environments are defined from algocf@algorithm environment +% +\newenvironment{procedure}[1][htbp]{% + \setboolean{algocf@algostar}{false}% + \setboolean{algocf@procenvironment}{true}\setboolean{algocf@func}{false}% + \newcommand{\algocf@procname}{\@algocf@procname}\gdef\algocfprocautorefname{\procedureautorefname}% + \begin{algocf@algorithm}[#1]\ignorespaces% +}{% + \end{algocf@algorithm}\ignorespacesafterend% +}% +\newenvironment{function}[1][htbp]{% + \setboolean{algocf@algostar}{false}% + \setboolean{algocf@procenvironment}{true}\setboolean{algocf@func}{true}% + \newcommand{\algocf@procname}{\@algocf@funcname}\gdef\algocffuncautorefname{\functionautorefname}% + \begin{algocf@algorithm}[#1]\ignorespaces% +}{% + \end{algocf@algorithm}\ignorespacesafterend% +}% +% +\newenvironment{procedure*}[1][htbp]{% + \setboolean{algocf@algostar}{true}% + \setboolean{algocf@procenvironment}{true}\setboolean{algocf@func}{false}% + \newcommand{\algocf@procname}{\@algocf@procname}\gdef\algocfprocautorefname{\procedureautorefname}% + \begin{algocf@algorithm}[#1]\ignorespaces% +}{% + \end{algocf@algorithm}\ignorespacesafterend% +}% +\newenvironment{function*}[1][htbp]{% + \setboolean{algocf@algostar}{true}% + \setboolean{algocf@procenvironment}{true}\setboolean{algocf@func}{true}% + \newcommand{\algocf@procname}{\@algocf@funcname}\gdef\algocffuncautorefname{\functionautorefname}% + \begin{algocf@algorithm}[#1]\ignorespaces% +}{% + \end{algocf@algorithm}\ignorespacesafterend% +}% +% +% +%%%%%%%%%%%%%%%%%%%% +%% definition of algondfloat environment +%% +\ifthenelse{\boolean{algocf@endfloat}}{% if endfloat option then +\newcommand{\algoplace}{% macro which is used to writhe algorithm about there + \begin{center}% + [\algorithmcfname~\thepostfig\ about here.]% + \end{center}% +}% +\newcommand{\algoendfloat}{% use as a \begin{algoendfloat} environment to start scanning of line +% \immediate\openout\@mainfff\jobname.fff% + \efloat@condopen{fff} + \efloat@iwrite{fff}{\string\begin{\algocf@envname}}% + \if@domarkers% + \ifthenelse{\equal{\algocf@list}{lof}}{% + \addtocounter{postfig}{1}% + }{% + \addtocounter{postalgo}{1}% + }% + \algoplace% + \fi% + \bgroup% + \let\do\ef@makeinnocent\dospecials% + \ef@makeinnocent\^^L% and whatever other special cases + \endlinechar`\^^M \catcode`\^^M=12 \ef@xalgocfendfloat}% +}{\relax}%%%% end of endfloat option ifthenelse +%% some macros useful for endfloat option that cannot be defined inside the ifthenelse +%scan algoendfloat algorithm and write the text into .fff file +{\catcode`\^^M=12 \endlinechar=-1 % + \gdef\ef@xalgocfendfloat#1^^M{% scan the lines inside algoendfloat environment being read by latex + \def\test{#1}% test is the line being currently scan by latex + \ifx\test\ef@endalgocftest% if it is \end{algoendfloat} + \def\next{% define next as to not continue the scan and write \end{algorithm} into .fff file + \egroup\end{algoendfloat}% + \efloat@iwrite{fff}{\string\end{\algocf@envname}}% + \efloat@iwrite{fff}{\string\efloatseparator}% + \efloat@iwrite{fff}{ }% + }% + \else% else write the current line being scanned by latex and set next to continue the scan + \efloat@iwrite{fff}{#1}% + \let\next\ef@xalgocfendfloat% + \fi% endif + \next}% next is continue if it was else condition, else it does not continue the scan and write end to file +}% +% test if the scan is finish by looking at the string \end{algoendfloat} +{\escapechar=-1% + \xdef\ef@endalgocftest{\string\\end\string\{algoendfloat\string\}}% +}% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% +\newcommand{\TitleOfAlgo}[1]{\@titleprefix\ + \TitleSty{#1}\par\smallskip}% +% +\newcommand{\SetAlgorithmName}[3]{% + \renewcommand{\listalgorithmcfname}{#3}% + \renewcommand{\algorithmcfname}{#1}% + \renewcommand{\algorithmautorefname}{#2}% +}% +% +\newcommand{\algocf@refrelsize}{-2}\newcommand{\SetAlgoRefRelativeSize}[1]{\renewcommand{\algocf@refrelsize}{#1}}% +\newcommand{\SetAlgoRefName}[1]{% + \renewcommand{\algocf@algocfref}{#1}% +}% +% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% +% ------------------------- Default Definitions +% +%% +%% +% +\SetKwComment{tcc}{/* }{ */}% +\SetKwComment{tcp}{// }{}% +% +%\newcommand{\algocf@defaults@common}{ +% +% +% french keywords +% +%\SetKwInOut{AlgDonnees}{Donn\'ees}\SetKwInOut{AlgRes}{R\'esultat} +\SetKwInput{Donnees}{Donn\'ees}% +\SetKwInput{Res}{R\'esultat}% +\SetKwInput{Entree}{Entr\'ees}% +\SetKwInput{Sortie}{Sorties}% +\SetKw{KwA}{\`a}% +\SetKw{Retour}{retourner}% +\SetKwBlock{Deb}{d\'ebut}{fin}% +\SetKwRepeat{Repeter}{r\'ep\'eter}{jusqu'\`a}% +% +\SetKwIF{Si}{SinonSi}{Sinon}{si}{alors}{sinon si}{sinon}{fin si}% +\SetKwSwitch{Suivant}{Cas}{Autre}{suivant}{faire}{cas o\`u}{autres cas}{fin d'alternative}% +\SetKwFor{Pour}{pour}{faire}{fin pour}% +\SetKwFor{PourPar}{pour}{faire en parallèle}{fin pour}% +\SetKwFor{PourCh}{pour chaque}{faire}{fin pour chaque}% +\SetKwFor{PourTous}{pour tous les}{faire}{fin pour tous}% +\SetKwFor{Tq}{tant que}{faire}{fin tq}% +% +% english keywords +% +\SetKwInput{KwIn}{Input}% +\SetKwInput{KwOut}{Output}% +\SetKwInput{KwData}{Data}% +\SetKwInput{KwResult}{Result}% +\SetKw{KwTo}{to} +\SetKw{KwRet}{return}% +\SetKw{Return}{return}% +\SetKwBlock{Begin}{begin}{end}% +\SetKwRepeat{Repeat}{repeat}{until}% +% +\SetKwIF{If}{ElseIf}{Else}{if}{then}{else if}{else}{end if}% +\SetKwSwitch{Switch}{Case}{Other}{switch}{do}{case}{otherwise}{end switch}% +\SetKwFor{For}{for}{do}{end for}% +\SetKwFor{ForPar}{for}{do in parallel}{end forpar} +\SetKwFor{ForEach}{foreach}{do}{end foreach}% +\SetKwFor{ForAll}{forall the}{do}{end forall}% +\SetKwFor{While}{while}{do}{end while}% +% +% --- German keywords +% +\SetKwInput{Ein}{Eingabe}%KwIn +\SetKwInput{Aus}{Ausgabe}%KwOut +\SetKwInput{Daten}{Daten}%KwData +\SetKwInput{Ergebnis}{Ergebnis}%KwResult +\SetKw{Bis}{bis}%KwTo +\SetKw{KwZurueck}{zur\"uck}%KwRet +\SetKw{Zurueck}{zur\"uck}%Return +\SetKwBlock{Beginn}{Beginn}{Ende}%Begin +\SetKwRepeat{Wiederh}{wiederhole}{bis}%Repeat +% +\SetKwIF{Wenn}{SonstWenn}{Sonst}{wenn}{dann}{sonst wenn}{sonst}{Ende wenn}%gIf +\SetKwSwitch{Unterscheide}{Fall}{Anderes}{unterscheide}{tue}{Fall}{sonst}{Ende Unt.}%Switch +\SetKwFor{Fuer}{f\"ur}{tue}{Ende f\"ur}%For +\SetKwFor{FuerPar}{f\"ur}{tue gleichzeitig}{Ende gleichzeitig}%ForPar +\SetKwFor{FuerJedes}{f\"ur jedes}{tue}{Ende f\"ur}%ForEach +\SetKwFor{FuerAlle}{f\"ur alle}{tue}{Ende f\"ur}%ForAll +\SetKwFor{Solange}{solange}{tue}{Ende solange}%While +% +% --- Czech keywords +% +\SetKwInput{Vst}{Vstup}% +\SetKwInput{Vyst}{V\'{y}stup}% +\SetKwInput{Vysl}{V\'{y}sledek}% +% +% --- Portuguese keywords +% +\SetKwInput{Entrada}{Entrada}% +\SetKwInput{Saida}{Sa\'{i}da}% +\SetKwInput{Dados}{Dados}% +\SetKwInput{Resultado}{Resultado}% +\SetKw{Ate}{at\'{e}} +\SetKw{KwRetorna}{retorna}% +\SetKw{Retorna}{retorna}% +\SetKwBlock{Inicio}{in\'{i}cio}{fim}% +\SetKwRepeat{Repita}{repita}{at\'{e}}% +% +\SetKwIF{Se}{SenaoSe}{Senao}{se}{ent\~{a}o}{sen\~{a}o se}{sen\~{a}o}{fim se}% +\SetKwSwitch{Selec}{Caso}{Outro}{selecione}{fa\c{c}a}{caso}{sen\~{a}o}{fim selec}% +\SetKwFor{Para}{para}{fa\c{c}a}{fim para}% +\SetKwFor{ParaPar}{para}{fa\c{c}a em paralelo}{fim para} +\SetKwFor{ParaCada}{para cada}{fa\c{c}a}{fim para cada}% +\SetKwFor{ParaTodo}{para todo}{fa\c{c}a}{fim para todo}% +\SetKwFor{Enqto}{enquanto}{fa\c{c}a}{fim enqto}% +% +% --- Italian keywords +% +\SetKwInput{KwIng}{Ingresso}% +\SetKwInput{KwUsc}{Uscita}% +\SetKwInput{KwDati}{Dati}% +\SetKwInput{KwRisult}{Risultato}% +\SetKw{KwA}{a}% +\SetKw{KwRitorna}{ritorna}% +\SetKw{Ritorna}{ritorna}% +\SetKwBlock{Inizio}{inizio}{fine}% +\SetKwRepeat{Ripeti}{ripeti}{finché}% +% +\SetKwIF{Sea}{AltSe}{Altrimenti}{se}{allora}{altrimenti se}{allora}{fine se}% +\SetKwSwitch{Switch}{Case}{Other}{switch}{do}{case}{otherwise}{endsw}% +\SetKwFor{Per}{per}{fai}{fine per}% +\SetKwFor{PerPar}{per}{fai in parallelo}{fine per}% +\SetKwFor{PerCiascun}{per ciascun}{fai}{fine per ciascun}% +\SetKwFor{PerTutti}{per tutti i}{fai}{fine per tutti}% +\SetKwFor{Finche}{finché}{fai}{fine finché}% +% +% --- End +%} +% +%\algocf@defaults@common +% +% option onelanguage redefinition +% +\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{french}}{% +\SetKwInput{KwIn}{Entr\'ees}% +\SetKwInput{KwOutSortie}{Sorties}% +\SetKwInput{KwData}{Donn\'ees}% +\SetKwInput{KwResult}{R\'esultat}% +\SetKw{KwTo}{\`a}% +\SetKw{KwRet}{retourner}% +\SetKw{Return}{retourner}% +\SetKwBlock{Begin}{d\'ebut}{fin}% +\SetKwRepeat{Repeat}{r\'ep\'eter}{jusqu'\`a}% +% +\SetKwIF{If}{ElseIf}{Else}{si}{alors}{sinon si}{sinon}{fin si}% +\SetKwSwitch{Switch}{Case}{Other}{suivant}{faire}{cas o\`u}{autres cas}{fin d'alternative}% +\SetKwFor{For}{pour}{faire}{fin pour}% +\SetKwFor{ForPar}{pour}{faire en parallèle}{fin pour}% +\SetKwFor{ForEach}{pour chaque}{faire}{fin pour chaque}% +\SetKwFor{ForAll}{pour tous les}{faire}{fin pour tous}% +\SetKwFor{While}{tant que}{faire}{fin tq}% +}{}% +\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{german}}{% +\SetKwInput{KwIn}{Eingabe}%KwIn +\SetKwInput{KwOut}{Ausgabe}%KwOut +\SetKwInput{KwData}{Daten}%KwData +\SetKwInput{KwResult}{Ergebnis}%KwResult +\SetKw{KwTo}{bis}%KwTo +\SetKw{KwRet}{zur\"uck}%KwRet +\SetKw{Return}{zur\"uck}%Return +\SetKwBlock{Begin}{Beginn}{Ende}%Begin +\SetKwRepeat{Repeat}{wiederhole}{bis}%Repeat +% +\SetKwIF{If}{ElseIf}{Else}{wenn}{dann}{sonst wenn}{sonst}{Ende wenn}%gIf +\SetKwSwitch{Switch}{Case}{Other}{unterscheide}{tue}{Fall}{sonst}{Ende Unt.}%Switch +\SetKwFor{For}{f\"ur}{tue}{Ende f\"ur}%For +\SetKwFor{ForPar}{f\"ur}{tue gleichzeitig}{Ende gleichzeitig}%ForPar +\SetKwFor{ForEach}{f\"ur jedes}{tue}{Ende f\"ur}%ForEach +\SetKwFor{ForAll}{f\"ur alle}{tue}{Ende f\"ur}%ForAll +\SetKwFor{While}{solange}{tue}{Ende solange}%While +}{}% +\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{portugues}}{% +\SetKwInput{KwIn}{Entrada}% +\SetKwInput{KwOut}{Sa\'{i}da}% +\SetKwInput{KwData}{Dados}% +\SetKwInput{KwResult}{Resultado}% +\SetKw{KwTo}{at\'{e}} +\SetKw{KwRet}{retorna}% +\SetKw{Return}{retorna}% +\SetKwBlock{Begin}{in\'{i}cio}{fim}% +\SetKwRepeat{Repeat}{repita}{at\'{e}}% +% +\SetKwIF{If}{ElseIf}{Else}{se}{ent\~{a}o}{sen\~{a}o se}{sen\~{a}o}{fim se}% +\SetKwSwitch{Switch}{Case}{Other}{selecione}{fa\c{c}a}{caso}{sen\~{a}o}{fim selec}% +\SetKwFor{For}{para}{fa\c{c}a}{fim para}% +\SetKwFor{ForPar}{para}{fa\c{c}a em paralelo}{fim para} +\SetKwFor{ForEach}{para cada}{fa\c{c}a}{fim para cada}% +\SetKwFor{ForAll}{para todo}{fa\c{c}a}{fim para todo}% +\SetKwFor{While}{enquanto}{fa\c{c}a}{fim enqto}% +}{}% +\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{italiano}}{% +\SetKwInput{KwIn}{Ingresso}% +\SetKwInput{KwOut}{Uscita}% +\SetKwInput{KwData}{Dati}% +\SetKwInput{KwResult}{Risultato}% +\SetKw{KwTo}{a}% +\SetKw{KwRet}{ritorna}% +\SetKw{Return}{ritorna}% +\SetKwBlock{Begin}{inizio}{fine}% +\SetKwRepeat{Repeat}{ripeti}{finché}% +% +\SetKwIF{If}{ElseIf}{Else}{se}{allora}{altrimenti se}{allora}{fine se}% +\SetKwSwitch{Switch}{Case}{Other}{switch}{do}{case}{otherwise}{endsw}% +\SetKwFor{For}{per}{fai}{fine per}% +\SetKwFor{ForPar}{per}{fai in parallelo}{fine per}% +\SetKwFor{ForEach}{per ciascun}{fai}{fine per ciascun}% +\SetKwFor{ForAll}{per tutti i}{fai}{fine per tutti}% +\SetKwFor{While}{finché}{fai}{fine finché}% +}{}% +% +%%%% old commands compatibility +% +\ifthenelse{\boolean{algocf@oldcommands}}{% +\newcommand{\SetNoLine}{\SetAlgoNoLine}% +\newcommand{\SetVline}{\SetAlgoVlined}% +\newcommand{\SetLine}{\SetAlgoLined}% +% +\newcommand{\dontprintsemicolon}{\DontPrintSemicolon}% +\newcommand{\printsemicolon}{\PrintSemicolon}% +\newcommand{\incmargin}[1]{\IncMargin{#1}}% +\newcommand{\decmargin}[1]{\DecMargin{-#1}}% +\newcommand{\setnlskip}[1]{\SetNlSkip{#1}}% +\newcommand{\Setnlskip}[1]{\SetNlSkip{#1}}% +\newcommand{\setalcapskip}[1]{\SetAlCapSkip{#1}}% +\newcommand{\setalcaphskip}[1]{\SetAlCapHSkip{#1}}% +\newcommand{\nlSty}[1]{\NlSty{#1}}% +\newcommand{\Setnlsty}[3]{\SetNlSty{#1}{#2}{#3}}% +\newcommand{\linesnumbered}{\LinesNumbered}% +\newcommand{\linesnotnumbered}{\LinesNotNumbered}% +\newcommand{\linesnumberedhidden}{\LinesNumberedHidden}% +\newcommand{\showln}{\ShowLn}% +\newcommand{\showlnlabel}[1]{\ShowLnLabel{#1}}% +\newcommand{\nocaptionofalgo}{\NoCaptionOfAlgo}% +\newcommand{\restorecaptionofalgo}{\RestoreCaptionOfAlgo}% +\newcommand{\restylealgo}[1]{\RestyleAlgo{#1}}% +% +\newcommand{\Titleofalgo}[1]{\TitleOfAlgo{#1}}% +\SetKwIF{gSi}{gSinonSi}{gSinon}{si}{alors}{sinon si}{sinon}{fin si}% +\SetKwIF{gIf}{gElsIf}{gElse}{if}{then}{else if}{else}{end if}% +\SetKwIF{gIf}{gElseIf}{gElse}{if}{then}{else if}{else}{end if}% +\SetKwIF{gWenn}{gSonstWenn}{gSonst}{wenn}{dann}{sonst wenn}{sonst}{Ende wenn}%gIf +\SetKwIF{gSe}{gSenaoSe}{gSenao}{se}{ent\~{a}o}{sen\~{a}o se}{sen\~{a}o}{fim se}% +\SetKwIF{gSea}{gAltSe}{gAltrimenti}{se}{allora}{altrimenti se}{allora}{fine se}% +}{% + \relax% +}% +% +% +% +%% +%%% +%%%% END \ No newline at end of file diff --git a/BookGPU/algorithmicx.sty b/BookGPU/algorithmicx.sty new file mode 100644 index 0000000..bfb7dab --- /dev/null +++ b/BookGPU/algorithmicx.sty @@ -0,0 +1,786 @@ +% ALGORITHMIC STYLE -- Released 27 APR 2005 +% for LaTeX version 2e +% +% Copyright Szasz Janos +% E-mail szaszjanos@users.sourceforge.net +% +% +% *** INITIALISING *** +% +% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{algorithmicx}[2005/04/27 v1.2 Algorithmicx] +\RequirePackage{ifthen} +\typeout{Document Style algorithmicx 1.2 - a greatly improved `algorithmic' style} +% +\newcounter{ALG@line} +\newcounter{ALG@rem} +\newcounter{ALG@nested} +\newlength{\ALG@tlm} +\newlength{\ALG@thistlm} +\newcounter{ALG@Lnr}% the number of defined languages +\setcounter{ALG@Lnr}{0} +\newcounter{ALG@blocknr}% the number of defined blocks +\setcounter{ALG@blocknr}{0} +\newcounter{ALG@storecount}% number of stored but not restored algorithmic environments +\setcounter{ALG@storecount}{0} +\newcounter{ALG@tmpcounter}% only to decrement things +\newlength\ALG@tmplength% +%\def\algorithmicnoindent{-\ALG@tlm} +% \def\algbackskipbegin{\hskip\ALG@ctlm} +%\def\algbackskip{\hskip-\ALG@thistlm} +%\def\algbackskipend{\hskip-\ALG@tlm} +\def\ALG@defaultindent{\algorithmicindent} +% +% conditional states +% +\def\ALG@newcondstate#1% + {% + \expandafter\edef\csname ALG@x@#1\endcsname% + {\expandafter\noexpand\csname @@ALG@x@#1\endcsname}% + }% +\ALG@newcondstate{notext}% +\ALG@newcondstate{default}% +% +% +% *** ALGORITHMIC *** +% +% +\newcommand\ALG@beginblock[1]% #1 - indentation + {% + \ALG@thistlm\ALG@tlm% + \addtolength\ALG@tlm{#1}% + \addtocounter{ALG@nested}{1}% + \setlength\ALG@tmplength{#1}% + \expandafter\edef\csname ALG@ind@\theALG@nested\endcsname{\the\ALG@tmplength}% + }% +\newcommand\ALG@endblock% + {% + \addtolength\ALG@tlm{-\csname ALG@ind@\theALG@nested\endcsname}% + \addtocounter{ALG@nested}{-1}% + \ALG@thistlm\ALG@tlm% + }% +% +% algorithmic environment +% +\def\ALG@step% + {% + \addtocounter{ALG@line}{1}% + \addtocounter{ALG@rem}{1}% + \ifthenelse{\equal{\arabic{ALG@rem}}{\ALG@numberfreq}}% + {\setcounter{ALG@rem}{0}\alglinenumber{\arabic{ALG@line}}}% + {}% + }% +\newenvironment{algorithmic}[1][0]% + {% + \edef\ALG@numberfreq{#1}% + \def\@currentlabel{\theALG@line}% + % + \setcounter{ALG@line}{0}% + \setcounter{ALG@rem}{0}% + % + \let\\\algbreak% + % + \expandafter\edef\csname ALG@currentblock@\theALG@nested\endcsname{0}% + \expandafter\let\csname ALG@currentlifetime@\theALG@nested\endcsname\relax% + % + \begin{list}% + {\ALG@step}% + {% + \rightmargin\z@% + \itemsep\z@ \itemindent\z@ \listparindent2em% + \partopsep\z@ \parskip\z@ \parsep\z@% + \labelsep 0.5em \topsep 0.2em%\skip 1.2em + \ifthenelse{\equal{#1}{0}}% + {\labelwidth 0.5em}% + {\labelwidth 1.2em}% + \leftmargin\labelwidth \addtolength{\leftmargin}{\labelsep}% Ok. the perfect leftmargin :-)) + \ALG@tlm\z@% + }% + \setcounter{ALG@nested}{0}% + \ALG@beginalgorithmic% + }% + {% end{algorithmic} + % check if all blocks are closed + \ALG@closeloops% + \expandafter\ifnum\csname ALG@currentblock@\theALG@nested\endcsname=0\relax% + \else% + \PackageError{algorithmicx}{Some blocks are not closed!!!}{}% + \fi% + \ALG@endalgorithmic% + \end{list}% + }% +% +% +% *** Functional core *** +% +% +\def\ALG@makeentity#1% execute the entity (#1) + {% + \def\ALG@thisentity{#1}% + \expandafter\ifx\csname ALG@b@\ALG@L @#1@0\endcsname\relax% + \let\ALG@makenobeginrepeat\ALG@makenobegin\ALG@makenobeginrepeat% this entitie ends or continues blocks + \else% + \let\ALG@makebeginrepeat\ALG@makebegin\ALG@makebeginrepeat% this entitie can open blocks + \fi% + \ALG@entitiecommand% + }% +% +\def\ALG@makebegin% executes an entitie that can open blocks + {% + \expandafter\let\expandafter\ALG@thislifetime\csname ALG@currentlifetime@\theALG@nested\endcsname% + \ifx\ALG@thislifetime\relax% + \let\ALG@makebeginrepeat\ALG@doentity% in infinite block I can open my block + \else% + \ifnum\ALG@thislifetime>0\relax% + \ifnum\ALG@thislifetime>65534\else% + \setcounter{ALG@tmpcounter}{\ALG@thislifetime}% the block has 'space' for another included block + \addtocounter{ALG@tmpcounter}{-1}% + \expandafter\edef\csname ALG@currentlifetime@\theALG@nested\endcsname{\arabic{ALG@tmpcounter}}% + \fi% + \let\ALG@makebeginrepeat\ALG@doentity% + \else% the block needs to be closed + \expandafter\ifx\csname ALG@b@\ALG@L @\ALG@thisentity @\csname ALG@currentblock@\theALG@nested\endcsname\endcsname\relax% + \ALG@closebyforce% I can not close this block, continue after it is closed by force +% \ALG@makebegin% + \else% + % the block would be closed automatically, but this entitie can close it, so let's do it with the entity + \let\ALG@makebeginrepeat\ALG@doentity% + \fi% + \fi% + \fi% + \ALG@makebeginrepeat% + }% +% +\def\ALG@makenobegin% executes an entitie that can not open blocks + {% + \expandafter\ifx\csname ALG@currentlifetime@\theALG@nested\endcsname\relax% + \let\ALG@makenobeginrepeat\ALG@doentity% an infinite block must be broken + \else% + \expandafter\ifx\csname ALG@b@\ALG@L @\ALG@thisentity @\csname ALG@currentblock@\theALG@nested\endcsname\endcsname\relax% + \ALG@closebyforce% the block must be ended by force, + \else% + \let\ALG@makenobeginrepeat\ALG@doentity% I can continue / end this block, let's do it + \fi% + \fi% + \ALG@makenobeginrepeat% + }% +% +\def\ALG@dobegin% + {% + \ALG@beginblock{\csname ALG@i@\ALG@L @\ALG@thisentity @\ALG@thisblock\endcsname}% + \expandafter\edef\csname ALG@currentblock@\theALG@nested\endcsname{\csname ALG@b@\ALG@L @\ALG@thisentity @\ALG@thisblock\endcsname}% + \expandafter\ifx\csname ALG@c@\ALG@L @\ALG@thisentity @\ALG@thisblock\endcsname\relax% + \expandafter\let\csname ALG@currentlifetime@\theALG@nested\endcsname\relax% + \else% + \expandafter\edef\csname ALG@currentlifetime@\theALG@nested\endcsname{\csname ALG@c@\ALG@L @\ALG@thisentity @\ALG@thisblock\endcsname}% + \fi% + }% +% +\def\ALG@doend% + {% + \ALG@endblock% + }% +% +\def\ALG@doentity% the number of the closed block, the entitie + {% + \edef\ALG@thisblock{\csname ALG@currentblock@\theALG@nested\endcsname}% + \expandafter\ifx\csname ALG@b@\ALG@L @\ALG@thisentity @\ALG@thisblock\endcsname\relax% + \def\ALG@thisblock{0}% + \fi% + \ALG@getentitytext% + \ifnum\ALG@thisblock=0\else\ALG@doend\fi% + \ifx\ALG@text\ALG@x@notext% + \item[]\nointerlineskip%\vskip-\prevdepth\nointerlineskip% bug: if there are no text and no lines, then this is wrong + \else% + \item% + \fi% + \noindent\hskip\ALG@tlm% + \expandafter\ifnum0=\csname ALG@b@\ALG@L @\ALG@thisentity @\ALG@thisblock\endcsname\else% + \ALG@dobegin% + \fi% + \def\ALG@entitiecommand{\ALG@displayentity}% + }% +% +\def\ALG@getentitytext% + {% + \expandafter\let\expandafter\ALG@text\csname ALG@t@\ALG@L @\ALG@thisentity @\ALG@thisblock\endcsname% + \ifx\ALG@text\ALG@x@default% + % block specific - default + \expandafter\let\expandafter\ALG@text\csname ALG@t@\ALG@L @\ALG@thisentity\endcsname% + \ifx\ALG@text\ALG@x@default% + % block specific - default, language specific - default + \def\ALG@text{\ALG@deftext{\ALG@thisentity}}% + \fi% + \fi% + }% +% +\def\ALG@deftext{\csname ALG@deftext@\ALG@L\endcsname}% +% +\def\ALG@displayentity% + {% + \ifx\ALG@text\ALG@x@notext% + \let\ALG@text\relax% + \fi + \ALG@text% + }% +% +\def\ALG@closebyforce% + {% + \ALG@endblock% + }% +% +\def\ALG@closeloops% closes all finite blocks + {% + \expandafter\ifx\csname ALG@currentlifetime@\theALG@nested\endcsname\relax% + \else% only if it is finite + \ALG@closebyforce% the block must be ended by force, + \ALG@closeloops% the command still runs + \fi% + }% +% +% +% *** Low level block/entitie defining commands *** +% +% +\def\ALG@bl@{0}% the BIG block +\let\ALG@bl@@\ALG@bl@% the BIG block +% +% Create a block +% +\def\ALG@createblock#1% create the block #1, if it does not exists + {% + \@ifundefined{ALG@bl@\ALG@Ld @#1}% needs to be created? + {% + \addtocounter{ALG@blocknr}{1}% increment the block counter + \expandafter\edef\csname ALG@bl@\ALG@Ld @#1\endcsname{\arabic{ALG@blocknr}}% set the block number + }% + {}% + }% +% +% Get the block number +% +\def\ALG@getblocknumber#1{\csname ALG@bl@\ALG@Ld @#1\endcsname}% +% +% Create an entitie +% +\def\ALG@createentitie#1% create the entitie #1, if it does not exists + {% + \expandafter\ALG@edefcmd\csname #1\endcsname{\noexpand\ALG@makeentity{#1}}% + \@ifundefined{ALG@t@\ALG@Ld @#1}% the entity text is defined in this language? + {% + \expandafter\let\csname ALG@t@\ALG@Ld @#1\endcsname\ALG@x@default% + }% + {}% + }% +% +\def\ALG@createtext#1#2% #1 = closed block; #2 = entitie; creates \ALG@t@#2@#1 + {% + \expandafter\let\csname ALG@t@\ALG@Ld @#2@#1\endcsname\ALG@x@default% + }% +% +% End and Continue block +% +\def\ALG@endandcontinueblock#1#2#3#4#5% #1 = new block; #2 = old block; #3 = entitie; #4 = credits; #5 = indent + {% + \ifthenelse{\equal{#3}{}}{}% execute only if the entity is not empty + {% + \ALG@createentitie{#3}% create the entitie + \ALG@createblock{#2}% create the old block, if needed + \ifthenelse{\equal{#1}{}}% whe need to open a new block? + {\expandafter\edef\csname ALG@b@\ALG@Ld @#3@\ALG@getblocknumber{#2}\endcsname{0}}% no, just close the old one + {% yes, + \ALG@createblock{#1}% create the block + \expandafter\edef\csname ALG@b@\ALG@Ld @#3@\ALG@getblocknumber{#2}\endcsname{\ALG@getblocknumber{#1}}% ending the old block opens a new one + \ifthenelse{\equal{#4}{}}% infinite or finite credits? + {\expandafter\let\csname ALG@c@\ALG@Ld @#3@\ALG@getblocknumber{#2}\endcsname\relax}% infinite credits + {\expandafter\edef\csname ALG@c@\ALG@Ld @#3@\ALG@getblocknumber{#2}\endcsname{#4}}% finite credits + \ifthenelse{\equal{#5}{}}% default or specified indentation + {\expandafter\let\csname ALG@i@\ALG@Ld @#3@\ALG@getblocknumber{#2}\endcsname\ALG@defaultindent}% default indentation + {\expandafter\edef\csname ALG@i@\ALG@Ld @#3@\ALG@getblocknumber{#2}\endcsname{#5}}% indentation is specified + }% + \ALG@createtext{\ALG@getblocknumber{#2}}{#3}% + }% + }% +% +% macros used in declarations +% +\def\ALG@p@endtext@E{\algrenewtext{\ALG@v@end}}% +\def\ALG@p@endtext@xE{\algrenewtext[\ALG@v@newblock]{\ALG@v@end}}% +\def\ALG@p@endtext@nE{\algnotext{\ALG@v@end}}% +\def\ALG@p@endtext@xnE{\algnotext[\ALG@v@newblock]{\ALG@v@end}}% +\def\ALG@p@endtext@{}% +% starttext defines are more compex -- care must be taken for the optional parameters +\def\ALG@p@starttext@S{\ALG@p@s@process{\algrenewtext}}% +\def\ALG@p@starttext@C{\ALG@p@s@process{\algrenewtext}}% +\def\ALG@p@starttext@xC{\ALG@p@s@process{\algrenewtext[\ALG@v@oldblock]}}% +\def\ALG@p@s@process#1% + {% + \ifthenelse{\equal{\ALG@v@start}{}}% + {\ALG@p@endtext}% + {\@ifnextchar{[}{\ALG@p@s@getparamcount{#1}}{\ALG@p@s@simple{#1}}}% + }% +\def\ALG@p@s@getparamcount#1[#2]% + {% + \@ifnextchar{[}{\ALG@p@s@getdefparam{#1}{#2}}{\ALG@p@s@param{#1}{#2}}% + }% +\def\ALG@p@s@getdefparam#1#2[#3]% + {% + \ALG@p@s@defparam{#1}{#2}{#3}% + }% +\def\ALG@p@s@simple#1#2{#1{\ALG@v@start}{#2}\ALG@p@endtext}% +\def\ALG@p@s@param#1#2#3{#1{\ALG@v@start}[#2]{#3}\ALG@p@endtext}% +\def\ALG@p@s@defparam#1#2#3#4{#1{\ALG@v@start}[#2][#3]{#4}\ALG@p@endtext}% +% the rest of the crew +\def\ALG@p@starttext@nS{\algnotext{\ALG@v@start}\ALG@p@endtext}% +\def\ALG@p@starttext@nC{\algnotext{\ALG@v@start}\ALG@p@endtext}% +\def\ALG@p@starttext@xnC{\algnotext[\ALG@v@oldblock]{\ALG@v@start}\ALG@p@endtext}% +\def\ALG@p@starttext@{\ALG@p@endtext}% +\def\ALG@p@indent@def#1{\def\ALG@v@indent{#1}\ALG@p@setup}% +\def\ALG@p@indent@{\def\ALG@v@indent{}\ALG@p@setup}% +\def\ALG@p@credits@def#1{\def\ALG@v@credits{#1}\ALG@p@indent}% +\def\ALG@p@credits@{\ALG@p@indent}% +\def\ALG@p@end@def#1{\def\ALG@v@end{#1}\ALG@p@credits}% +\def\ALG@p@end@{\def\ALG@v@end{}\ALG@p@credits}% +\def\ALG@p@start@def#1{\def\ALG@v@start{#1}\ALG@p@end}% +\def\ALG@p@start@{\def\ALG@v@start{}\ALG@p@end}% +\def\ALG@p@oldblock@def#1{\def\ALG@v@oldblock{#1}\ALG@p@start}% +\def\ALG@p@oldblock@{\def\ALG@v@oldblock{}\ALG@p@start}% +\newcommand\ALG@p@newblock[1][]{\def\ALG@v@newblock{#1}\ALG@p@oldblock}% +\def\ALG@p@setup% + {% + \ifthenelse{\equal{\ALG@v@newblock}{}}% + {% + \ifthenelse{\equal{\ALG@v@start}{}}% + {% + \PackageError{algorithmicx}{Block or starting entitie must be specified!!!}{}% + }% + {% + \let\ALG@v@newblock\ALG@v@start% + }% + }% + {% + }% + \ALG@endandcontinueblock% + {\ALG@v@newblock}{\ALG@v@oldblock}{\ALG@v@start}% + {\ALG@v@credits}{\ALG@v@indent}% + \ALG@endandcontinueblock% + {}{\ALG@v@newblock}{\ALG@v@end}% + {}{}% + \ALG@p@starttext% + }% +% +% param handling +% +\newcommand\ALG@p@def[2][def]% + {% + \expandafter\let\csname ALG@p@#2\expandafter\endcsname\csname ALG@p@#2@#1\endcsname% + }% +\def\ALG@p@undef{\ALG@p@def[]}% +% +\def\ALG@p@ons{\ALG@p@def{start}}% +\def\ALG@p@onS{\ALG@p@def{start}\ALG@p@def[S]{starttext}}% +\def\ALG@p@onc{\ALG@p@def{oldblock}\ALG@p@def{start}}% +\def\ALG@p@onC{\ALG@p@def{oldblock}\ALG@p@def{start}\ALG@p@def[C]{starttext}}% +\def\ALG@p@one{\ALG@p@def{end}}% +\def\ALG@p@onE{\ALG@p@def{end}\ALG@p@def[E]{endtext}}% +\def\ALG@p@onxC{\ALG@p@def{oldblock}\ALG@p@def{start}\ALG@p@def[xC]{starttext}}% +\def\ALG@p@onxE{\ALG@p@def{end}\ALG@p@def[xE]{endtext}}% +\def\ALG@p@onnS{\ALG@p@def{start}\ALG@p@def[nS]{starttext}}% +\def\ALG@p@onnC{\ALG@p@def{oldblock}\ALG@p@def{start}\ALG@p@def[nC]{starttext}}% +\def\ALG@p@onnE{\ALG@p@def{end}\ALG@p@def[nE]{endtext}}% +\def\ALG@p@onxnC{\ALG@p@def{oldblock}\ALG@p@def{start}\ALG@p@def[xnC]{starttext}}% +\def\ALG@p@onxnE{\ALG@p@def{end}\ALG@p@def[xnE]{endtext}}% +\def\ALG@p@onb{\def\ALG@v@credits{}}% +\def\ALG@p@onl{\def\ALG@v@credits{1}}% +\def\ALG@p@onL{\ALG@p@def{credits}}% +\def\ALG@p@oni{\ALG@p@def{indent}}% +% +\def\ALG@p@main#1% + {% + \@ifundefined{ALG@ps@\ALG@p@state @#1}% + {% + \csname ALG@ps@\ALG@p@state @other\endcsname{#1}% + }% + {% + \csname ALG@ps@\ALG@p@state @#1\endcsname% + }% + \ALG@p@rec% + }% +% STATE : <> +\expandafter\def\csname ALG@ps@@]\endcsname{\let\ALG@p@rec\relax}% +\def\ALG@ps@@s{\ALG@p@ons}% +\def\ALG@ps@@S{\ALG@p@onS}% +\def\ALG@ps@@c{\ALG@p@onc}% +\def\ALG@ps@@C{\ALG@p@onC}% +\def\ALG@ps@@e{\ALG@p@one}% +\def\ALG@ps@@E{\ALG@p@onE}% +\def\ALG@ps@@N{\typeout{algdef: 'N' obsoloted, use 'nE'.}\ALG@p@onnE}% +\def\ALG@ps@@b{\ALG@p@onb}% +\def\ALG@ps@@l{\ALG@p@onl}% +\def\ALG@ps@@L{\ALG@p@onL}% +\def\ALG@ps@@i{\ALG@p@oni}% +\def\ALG@ps@@x{\def\ALG@p@state{x}}% +\def\ALG@ps@@n{\def\ALG@p@state{n}}% +\def\ALG@ps@@other#1{\typeout{algdef: Ignoring unknown token #1}}% +% STATE : x +\def\ALG@ps@x@C{\def\ALG@p@state{}\ALG@p@onxC}% +\def\ALG@ps@x@E{\def\ALG@p@state{}\ALG@p@onxE}% +\def\ALG@ps@x@N{\def\ALG@p@state{}\typeout{algdef: 'xN' obsoloted, use 'xnE'.}\ALG@p@onxnE}% +\def\ALG@ps@x@n{\def\ALG@p@state{xn}}% +\def\ALG@ps@x@other#1% + {% + \typeout{algdef: Ignoring 'x' before '#1'.}% + \def\ALG@p@state{}% + \def\ALG@p@rec{\let\ALG@p@rec\ALG@p@main\ALG@p@rec#1}% + }% +% STATE : n +\def\ALG@ps@n@S{\def\ALG@p@state{}\ALG@p@onnS}% +\def\ALG@ps@n@C{\def\ALG@p@state{}\ALG@p@onnC}% +\def\ALG@ps@n@E{\def\ALG@p@state{}\ALG@p@onnE}% +\def\ALG@ps@n@x{\def\ALG@p@state{nx}}% +\def\ALG@ps@n@other#1% + {% + \typeout{algdef: Ignoring 'n' before '#1'.}% + \def\ALG@p@state{}% + \def\ALG@p@rec{\let\ALG@p@rec\ALG@p@main\ALG@p@rec#1}% + }% +% STATE : xn +\def\ALG@ps@xn@C{\def\ALG@p@state{}\ALG@p@onxnC}% +\def\ALG@ps@xn@E{\def\ALG@p@state{}\ALG@p@onxnE}% +\def\ALG@ps@xn@x{\typeout{algdef: Ignoring 'x' after 'xn'.}}% +\def\ALG@ps@xn@n{\typeout{algdef: Ignoring 'n' after 'xn'.}}% +\def\ALG@ps@xn@other#1% + {% + \typeout{algdef: Ignoring 'xn' before '#1'.}% + \def\ALG@p@state{}% + \def\ALG@p@rec{\let\ALG@p@rec\ALG@p@main\ALG@p@rec#1}% + }% +% STATE : nx +\def\ALG@ps@nx@C{\def\ALG@p@state{}\ALG@p@onxnC}% +\def\ALG@ps@nx@E{\def\ALG@p@state{}\ALG@p@onxnE}% +\def\ALG@ps@nx@x{\typeout{algdef: Ignoring 'x' after 'nx'.}}% +\def\ALG@ps@nx@n{\typeout{algdef: Ignoring 'n' after 'nx'.}}% +\def\ALG@ps@nx@other#1% + {% + \typeout{algdef: Ignoring 'nx' before '#1'.}% + \def\ALG@p@state{}% + \def\ALG@p@rec{\let\ALG@p@rec\ALG@p@main\ALG@p@rec#1}% + }% +% +% +% *** User level block/entitie commands *** +% +% +% +% algdef{switches}... -- the king of all definitions in the algorithmicx package +% +\newcommand\algdef[1]% + {% + \ALG@p@undef{oldblock}% + \ALG@p@undef{start}% + \ALG@p@undef{end}% + \def\ALG@v@credits{}% + \ALG@p@undef{credits}% + \ALG@p@undef{indent}% + \ALG@p@undef{starttext}% + \ALG@p@undef{endtext}% + \def\ALG@p@state{}% + \let\ALG@p@rec\ALG@p@main% + \ALG@p@rec#1]% + \ALG@p@newblock% + }% +% +% a lot of other macros are provided for convenience +% +\def\algblock{\algdef{se}}% +\def\algcblock{\algdef{ce}}% +\def\algloop{\algdef{sl}}% +\def\algcloop{\algdef{cl}}% +\def\algsetblock{\algdef{seLi}}% +\def\algsetcblock{\algdef{ceLi}}% +\def\algblockx{\algdef{SxE}}% +\def\algblockdefx{\algdef{SE}}% +\def\algcblockx{\algdef{CxE}}% +\def\algcblockdefx{\algdef{CE}}% +\def\algsetblockx{\algdef{SxELi}}% +\def\algsetblockdefx{\algdef{SELi}}% +\def\algsetcblockx{\algdef{CxELi}}% +\def\algsetcblockdefx{\algdef{CELi}}% +\def\algloopdefx{\algdef{Sl}}% +\def\algcloopx{\algdef{xCl}}% +\def\algcloopdefx{\algdef{Cl}}% +% algloopx is not correct, use algloopdefx +% +% Text output commands +% +\newcommand\algrenewtext[2][]% [block]{entity} + {% + \ifthenelse{\equal{#2}{}}{}% + {% + \ifthenelse{\equal{#1}{}}% + {% + \expandafter\let\csname ALG@t@\ALG@Ld @#2\endcsname\relax% + \expandafter\newcommand\csname ALG@t@\ALG@Ld @#2\endcsname% + }% + {% + \expandafter\let\csname ALG@t@\ALG@Ld @#2@\ALG@getblocknumber{#1}\endcsname\relax% + \expandafter\newcommand\csname ALG@t@\ALG@Ld @#2@\ALG@getblocknumber{#1}\endcsname% + }% + }% + }% +% +\def\ALG@letentitytext#1#2% [block]{entity} + {% + \ifthenelse{\equal{#2}{}}{}% + {% + \ifthenelse{\equal{#1}{}}% + {% + \expandafter\let\csname ALG@t@\ALG@Ld @#2\endcsname% + }% + {% + \expandafter\let\csname ALG@t@\ALG@Ld @#2@\ALG@getblocknumber{#1}\endcsname% + }% + }% + }% +% +\newcommand\algnotext[2][]% [block]{entity} + {% + \ALG@letentitytext{#1}{#2}\ALG@x@notext% + }% +% +\newcommand\algdefaulttext[2][]% [block]{entity} + {% + \ALG@letentitytext{#1}{#2}\ALG@x@default% + }% +% +\def\ALG@notext*{\algnotext}% +\def\algtext{\@ifnextchar{*}{\ALG@notext}{\algrenewtext}}% +% +% +% *** LANGUAGE SWITCHING *** +% +% +% +\newcommand\algnewlanguage[1]% + {% + \@ifundefined{ALG@L@#1}% needs to be created? + {}% + {% + \PackageError{algorithmicx}{Language '#1' already defined!}{}% + }% + \addtocounter{ALG@Lnr}{1}% increment the language counter + \expandafter\edef\csname ALG@L@#1\endcsname{\arabic{ALG@Lnr}}% set the language number + \edef\ALG@Ld{\csname ALG@L@#1\endcsname}% + \expandafter\let\csname ALG@bl@\ALG@Ld @\endcsname\ALG@bl@% the BIG block + \expandafter\let\csname ALG@bl@\ALG@Ld @@\endcsname\ALG@bl@% the BIG block + \algdef{SL}[STATE]{State}{0}{}% + \expandafter\def\csname ALG@deftext@\ALG@Ld\endcsname{\textbf}% + \algnewcommand\algorithmiccomment[1]{\hfill\(\triangleright\) ##1}% + \algnewcommand\algorithmicindent{1.5em}% + \algnewcommand\alglinenumber[1]{\footnotesize ##1:}% + \algnewcommand\ALG@beginalgorithmic\relax% for user overrides + \algnewcommand\ALG@endalgorithmic\relax% for user overrides + }% +% +\newcommand\algsetlanguage[1]% + {% + \@ifundefined{ALG@L@#1}% needs to be created? + {% + \PackageError{algorithmicx}{Language '#1' is not yet defined!}{}% + }{}% + \edef\ALG@L{\csname ALG@L@#1\endcsname}% + }% +% +\newcommand\algdeflanguage[1]% + {% + \@ifundefined{ALG@L@#1}% needs to be created? + {% + \PackageError{algorithmicx}{Language '#1' is not yet defined!}{}% + }{}% + \edef\ALG@Ld{\csname ALG@L@#1\endcsname}% + }% +% +\newcommand\alglanguage[1]% + {% + \algdeflanguage{#1}% + \algsetlanguage{#1}% + }% +% +% +% *** Defining language dependent stuff *** +% +% +\def\ALG@eatoneparam#1{}% +\def\ALG@defbasecmd#1#2% + {% + \edef\ALG@tmp{\expandafter\ALG@eatoneparam\string #2}% + \@ifundefined\ALG@tmp{\edef #2{\noexpand\csname ALG@cmd@\noexpand\ALG@L @\ALG@tmp\endcsname}}{}% + \expandafter#1\csname ALG@cmd@\ALG@Ld @\ALG@tmp\endcsname% + }% +\newcommand\algnewcommand{\ALG@defbasecmd\newcommand}% +\newcommand\algrenewcommand{\ALG@defbasecmd\renewcommand}% +\def\ALG@letcmd{\ALG@defbasecmd\let}% +\def\ALG@defcmd{\ALG@defbasecmd\def}% +\def\ALG@edefcmd{\ALG@defbasecmd\edef}% +% +% +% *** OTHERS *** +% +% +\def\BState{\State \algbackskip}% +\def\Statex{\item[]}% an empty line +\newcommand\algrenewcomment{\algrenewcommand\algorithmiccomment}% +\def\Comment{\algorithmiccomment}% +\def\algref#1#2{\ref{#1}.\ref{#2}}% +\algnewlanguage{default}% +\algsetlanguage{default}% +% +% +% *** Line breaks *** +% +% +\newcommand\algbreak% for multiline parameters !!! needs fix + {% + \item% +% \hskip\ALG@parindent%!!! not yet implemented +% \hskip-\algorithmicindent% + }% +% +\def\ALG@noputindents% + {% + \hskip\ALG@tlm% + }% +% +% +% *** algorithm store / restore *** +% +% +% store +% +\ALG@newcondstate{mustrestore}% +\def\algstore% + {% + \renewcommand\ALG@beginblock% + {% + \PackageError{algorithmicx}{The environment must be closed after store!}{}% + }% + \@ifstar{\ALG@starstore}{\ALG@nostarstore}% + }% +\def\ALG@nostarstore#1% save all infos into #1 and terminate the algorithmic block + {% + \addtocounter{ALG@storecount}{1}% + \expandafter\global\expandafter\let\csname ALG@save@mustrestore@#1\endcsname\ALG@x@mustrestore% + \ALG@starstore{#1}% + }% +\def\ALG@starstore#1% + {% + \@ifundefined{ALG@save@line@#1}{}% + {\PackageError{algorithmicx}{This save name '#1' is already used!}{}}% + \def\ALG@savename{#1}% + \expandafter\xdef\csname ALG@save@totalnr@\ALG@savename\endcsname{\theALG@nested}% + \expandafter\xdef\csname ALG@save@line@\ALG@savename\endcsname{\theALG@line}% + \expandafter\xdef\csname ALG@save@numberfreq@\ALG@savename\endcsname{\ALG@numberfreq}% + \expandafter\xdef\csname ALG@save@rem@\ALG@savename\endcsname{\theALG@rem}% + \let\ALG@storerepeat\ALG@store% + \ALG@storerepeat% + }% +\def\ALG@store% simply terminate all open blocks + {% + \ifnum\theALG@nested=0\let\ALG@storerepeat\relax% + \else% + \expandafter\xdef\csname ALG@save@currentblock@\ALG@savename @\theALG@nested\endcsname% + {\csname ALG@currentblock@\theALG@nested\endcsname}% + \expandafter\ifx\csname ALG@currentlifetime@\theALG@nested\endcsname\relax% + \else% + \expandafter\xdef\csname ALG@save@currentlifetime@\ALG@savename @\theALG@nested\endcsname% + {\csname ALG@currentlifetime@\theALG@nested\endcsname}% + \fi% + \expandafter\xdef\csname ALG@save@ind@\ALG@savename @\theALG@nested\endcsname% + {\csname ALG@ind@\theALG@nested\endcsname}% + \ALG@closebyforce% + \fi% + \ALG@storerepeat% + }% +% +% restore +% +\def\algrestore% + {% + \@ifstar{\ALG@starrestore}{\ALG@nostarrestore}% + }% +\def\ALG@starrestore% + {% + \let\ALG@restorerem\relax% + \let\ALG@restorereprem\relax% + \ALG@restoremain% + }% +\def\ALG@nostarrestore% + {% + \let\ALG@restorerem\ALG@restoreremovesave% + \let\ALG@restorereprem\ALG@restorerepremovesave% + \ALG@restoremain% + }% +\def\ALG@restoreremovesave% + {% + \expandafter\global\expandafter\let\csname ALG@save@totalnr@\ALG@savename\endcsname\relax% + \expandafter\global\expandafter\let\csname ALG@save@line@\ALG@savename\endcsname\relax% + \expandafter\global\expandafter\let\csname ALG@save@rem@\ALG@savename\endcsname\relax% + \expandafter\global\expandafter\let\csname ALG@save@totalnr@\ALG@savename\endcsname\relax% + \expandafter\global\expandafter\let\csname ALG@save@numberfreq@\ALG@savename\endcsname\relax% + }% +\def\ALG@restorerepremovesave% + {% + \expandafter\global\expandafter\let\csname ALG@save@currentblock@\ALG@savename @\theALG@tmpcounter\endcsname\relax% + \expandafter\global\expandafter\let\csname ALG@save@currentlifetime@\ALG@savename @\theALG@tmpcounter\endcsname\relax% + \expandafter\global\expandafter\let\csname ALG@save@currentlifetime@\ALG@savename @\theALG@tmpcounter\endcsname\relax% + \expandafter\global\expandafter\let\csname ALG@save@ind@\ALG@savename @\theALG@tmpcounter\endcsname\relax% + }% +\def\ALG@restoremain#1% restore all infos from #1 in an open algorithmic block + {% + \ifnum\theALG@line=0% + \else\PackageError{algorithmicx}{Restore might be used only at the beginning of the environment!}{}% + \fi% + \def\ALG@savename{#1}% + \expandafter\ifx\csname ALG@save@totalnr@\ALG@savename\endcsname\relax% + \PackageError{algorithmicx}{Save '\ALG@savename'\space not defined!!!}{}% + \fi% + \@ifundefined{ALG@save@mustrestore@\ALG@savename}{}% + {% + \addtocounter{ALG@storecount}{-1}% + \expandafter\global\expandafter\let\csname ALG@save@mustrestore@\ALG@savename\endcsname\relax% + }% + \setcounter{ALG@line}{\csname ALG@save@line@\ALG@savename\endcsname}% + \edef\ALG@numberfreq{\csname ALG@save@numberfreq@\ALG@savename\endcsname}% + \setcounter{ALG@rem}{\csname ALG@save@rem@\ALG@savename\endcsname}% + \setcounter{ALG@tmpcounter}{\csname ALG@save@totalnr@\ALG@savename\endcsname}% + \setcounter{ALG@nested}{0}% + \ALG@restorerem% + \let\ALG@restorerepeat\ALG@restore% + \ALG@restorerepeat% + }% +\def\ALG@restore% + {% + \ifnum\theALG@tmpcounter>0% + \expandafter\edef\csname ALG@currentblock@\theALG@tmpcounter\endcsname% + {\csname ALG@save@currentblock@\ALG@savename @\theALG@tmpcounter\endcsname}% + \expandafter\ifx\csname ALG@save@currentlifetime@\ALG@savename @\theALG@tmpcounter\endcsname\relax% + \expandafter\let\csname ALG@currentlifetime@\theALG@tmpcounter\endcsname\relax% + \else% + \expandafter\edef\csname ALG@currentlifetime@\theALG@tmpcounter\endcsname% + {\csname ALG@save@currentlifetime@\ALG@savename @\theALG@tmpcounter\endcsname}% + \fi% + % + \ALG@beginblock{\csname ALG@save@ind@\ALG@savename @\theALG@tmpcounter\endcsname}% + \ALG@restorereprem% + \addtocounter{ALG@tmpcounter}{-1}% + \else\let\ALG@restorerepeat\relax% + \fi% + \ALG@restorerepeat% + }% +\AtEndDocument% + {% + \ifnum\theALG@storecount>0\relax% + \PackageError{algorithmicx}{Some stored algorithms are not restored!}{}% + \fi% + }% -- 2.39.5