From a184567f276a794927d4d085d76e433f55cf449e Mon Sep 17 00:00:00 2001 From: Markus Blatt <mblatt@dune-project.org> Date: Fri, 8 Feb 2013 11:11:58 +0000 Subject: [PATCH] Remove doc/comm as it is now part of dune-common Somehow the deletion of doc/comm got lost while resolving a tree conflict [[Imported from SVN: r1785]] --- doc/comm/.gitignore | 21 - doc/comm/CMakeLists.txt | 13 - doc/comm/Makefile.am | 54 - doc/comm/buildindexset.hh | 55 - doc/comm/communication.bib | 79 - doc/comm/communication.tex | 543 ---- doc/comm/figures/Makefile.am | 5 - doc/comm/figures/darray.eps | 230 -- doc/comm/figures/distarray.eps | 1278 --------- doc/comm/figures/distindex.eps | 4736 -------------------------------- doc/comm/indexset.cc | 55 - doc/comm/poosc08.cc | 92 - doc/comm/poosc08_test.cc | 155 -- doc/comm/reverse.hh | 39 - 14 files changed, 7355 deletions(-) delete mode 100644 doc/comm/.gitignore delete mode 100644 doc/comm/CMakeLists.txt delete mode 100644 doc/comm/Makefile.am delete mode 100644 doc/comm/buildindexset.hh delete mode 100644 doc/comm/communication.bib delete mode 100644 doc/comm/communication.tex delete mode 100644 doc/comm/figures/Makefile.am delete mode 100644 doc/comm/figures/darray.eps delete mode 100644 doc/comm/figures/distarray.eps delete mode 100644 doc/comm/figures/distindex.eps delete mode 100644 doc/comm/indexset.cc delete mode 100644 doc/comm/poosc08.cc delete mode 100644 doc/comm/poosc08_test.cc delete mode 100644 doc/comm/reverse.hh diff --git a/doc/comm/.gitignore b/doc/comm/.gitignore deleted file mode 100644 index ceb1fa1f0..000000000 --- a/doc/comm/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -Makefile -Makefile.in -semantic.cache -auto -indexset -.deps -.libs -*.aux -*.bbl -*.blg -*.log -*.out -*.toc -*.dvi -*.pdf -*.ps -*.rel -Makefile.dist.in -Makefile.dist -poosc08_test -poosc08 diff --git a/doc/comm/CMakeLists.txt b/doc/comm/CMakeLists.txt deleted file mode 100644 index 2565993cc..000000000 --- a/doc/comm/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -add_executable(poosc08 "poosc08.cc") -target_link_libraries(poosc08 "dunecommon") -add_executable(poosc08_test "poosc08_test.cc") -target_link_libraries(poosc08_test "dunecommon") -add_executable(indexset "indexset.cc") -target_link_libraries(indexset "dunecommon") -add_dune_mpi_flags("poosc08;poosc08_test;indexset") -if(LATEX_USABLE) - ADD_LATEX_DOCUMENT(communication.tex FATHER_TARGET doc - BIBFILES communication.bib DEFAULT_SAFEPDF INPUTS poosc08_test.cc - IMAGE_DIRS figures) - create_doc_install(${CMAKE_CURRENT_BINARY_DIR}/communication.pdf ${CMAKE_INSTALL_DOCDIR}/comm communication_safepdf) -endif(LATEX_USABLE) diff --git a/doc/comm/Makefile.am b/doc/comm/Makefile.am deleted file mode 100644 index 309ce9113..000000000 --- a/doc/comm/Makefile.am +++ /dev/null @@ -1,54 +0,0 @@ -# $Id$ - -SUBDIRS = figures - -MPIPROGRAMS = indexset poosc08 poosc08_test - -# programs just to build when "make check" is used -check_PROGRAMS = $(MPIPROGRAMS) -# list of tests to run (indicestest is special case) -TESTS = $(MPIPROGRAMS) - -if BUILD_DOCS - DOCFILES = communication.pdf - EXTRA_DIST = $(DOCFILES) - EXTRAINSTALL = $(DOCFILES) -endif - -# setting like in dune-web -CURDIR=doc/istl/comm -BASEDIR=../../.. - -# install the docs -docdir=$(datadir)/doc/dune-istl/comm - -include $(top_srcdir)/am/latex -include $(top_srcdir)/am/webstuff -include $(top_srcdir)/am/global-rules - -poosc08_SOURCES = poosc08.cc -poosc08_CPPFLAGS = $(AM_CPPFLAGS) \ - $(DUNEMPICPPFLAGS) -poosc08_LDFLAGS = $(AM_LDFLAGS) \ - $(DUNEMPILDFLAGS) -poosc08_LDADD = \ - $(DUNEMPILIBS) \ - $(LDADD) - -poosc08_test_SOURCES = poosc08_test.cc -poosc08_test_CPPFLAGS = $(AM_CPPFLAGS) \ - $(DUNEMPICPPFLAGS) -poosc08_test_LDFLAGS = $(AM_LDFLAGS) \ - $(DUNEMPILDFLAGS) -poosc08_test_LDADD = \ - $(DUNEMPILIBS) \ - $(LDADD) - -indexset_SOURCES = indexset.cc buildindexset.hh reverse.hh -indexset_CPPFLAGS = $(AM_CPPFLAGS) \ - $(DUNEMPICPPFLAGS) -indexset_LDFLAGS = $(AM_LDFLAGS) \ - $(DUNEMPILDFLAGS) -indexset_LDADD = \ - $(DUNEMPILIBS) \ - $(LDADD) diff --git a/doc/comm/buildindexset.hh b/doc/comm/buildindexset.hh deleted file mode 100644 index 941d93ca2..000000000 --- a/doc/comm/buildindexset.hh +++ /dev/null @@ -1,55 +0,0 @@ -// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- -// vi: set et ts=4 sw=2 sts=2: -// $Id$ -#ifndef BUILDINDEXSET_HH -#define BUILDINDEXSET_HH - - -#include <dune/common/parallel/indexset.hh> -#include <dune/common/parallel/plocalindex.hh> - -/** - * @brief Flag for marking the indices. - */ -enum Flag {owner, overlap}; - -// The type of local index we use -typedef Dune::ParallelLocalIndex<Flag> LocalIndex; - -/** - * @brief Add indices to the example index set. - * @param indexSet The index set to build. - */ -template<class C, class TG, int N> -void build(C& comm, Dune::ParallelIndexSet<TG,LocalIndex,N>& indexSet) -{ - - - - - // The rank of our process - int rank=comm.rank(); - - // Indicate that we add or remove indices. - indexSet.beginResize(); - - if(rank==0) { - indexSet.add(0, LocalIndex(0,overlap,true)); - indexSet.add(2, LocalIndex(1,owner,true)); - indexSet.add(6, LocalIndex(2,owner,true)); - indexSet.add(3, LocalIndex(3,owner,true)); - indexSet.add(5, LocalIndex(4,owner,true)); - } - - if(rank==1) { - indexSet.add(0, LocalIndex(0,owner,true)); - indexSet.add(1, LocalIndex(1,owner,true)); - indexSet.add(7, LocalIndex(2,owner,true)); - indexSet.add(5, LocalIndex(3,overlap,true)); - indexSet.add(4, LocalIndex(4,owner,true)); - } - - // Modification is over - indexSet.endResize(); -} -#endif diff --git a/doc/comm/communication.bib b/doc/comm/communication.bib deleted file mode 100644 index 8cd508d4c..000000000 --- a/doc/comm/communication.bib +++ /dev/null @@ -1,79 +0,0 @@ -@InProceedings{ISTL, - author = {Markus Blatt and Peter Bastian}, - title = {The Iterative Solver Template Library}, - booktitle = {Applied Parallel Computing. State of the Art in Scientific Computing}, - editor = {Bo K\r{a}gstr\"om and Erik Elmroth and Jack Dongarra and Jerzy Wa\'sniewski}, - year = 2007, - volume = 4699, - series = {Lecture Notes in Computer Science}, - publisher = {Springer}, - pages = {666--675} -} - -@Article{dune08-1, - author = {Peter Bastian and Markus Blatt and Andreas Dedner and Christian Engwer and Robert Kl\"ofkorn and Mario Ohlberger and Oliver Sander}, - title = { A generic grid interface for parallel and adaptive scientific computing. Part I: abstract framework}, - journal = {Computing}, - year = 2008, - volume = 82, - number = {2--3}, - pages = {103--119} -} -@Article{dune08-2, - author = {Peter Bastian and Markus Blatt and Andreas Dedner and Christian Engwer and Robert Kl\"ofkorn and Ralf Kornhuber and Mario Ohlberger and Oliver Sander}, - title = { A generic grid interface for parallel and adaptive scientific computing. Part II: implementation and test in DUNE}, - journal = {Computing}, - year = 2008, - volume = 82, - number = {2--3} , - pages = {121--138} -} -@Article{ISTLParallel, - author = {Markus Blatt and Peter Bastian}, - title = {On the Generic Parallelisation of Iterative Solvers for - the Finite Element Method}, - journal = {Int. J. Computational Science and - Engineering}, - volume = {4}, - number = {1}, - pages = {56--69}, - year = 2008 -} - -@Misc{DuneWeb, - author = {DUNE}, - howpublished = {\texttt{http://www.dune-project.org/}} -} -@Misc{boost_mpi, - author = {D. Gregor and M. Troyer}, - title = {{B}oost.{M}{P}{I}}, - howpublished = {\texttt{http://www.boost.org/}}, - year = 2006 -} - -@PhdThesis{gerlach02:janus, - author = {Jens Gerlach}, - title = {Domain Engineering and Generic Programming for Parallel Scientific Computing}, - school = {TU Berlin}, - year = {2002} -} - -@InProceedings{giloi95:_promot, - author = {W.K. Giloi and M. Kessler and A. Schramm}, - title = {PROMOTER: A High Level, Object-Parallel Programming Language}, - booktitle = {Proceedings of the International Conference on High Performance Computing}, - year = {1995}, - address = {New Dehli, India}, - month = {December} -} - -@inproceedings{nolte00:_taco, - author = {J\"{o}rg Nolte and Mitsuhisa Sato and Yutaka Ishikawa}, - title = {TACO -- Dynamic Distributed Collections with Templates and Topologies}, - booktitle = {Euro-Par '00: Proceedings from the 6th International Euro-Par Conference on Parallel Processing}, - year = {2000}, - isbn = {3-540-67956-1}, - pages = {1071--1080}, - publisher = {Springer-Verlag}, - address = {London, UK}, - } \ No newline at end of file diff --git a/doc/comm/communication.tex b/doc/comm/communication.tex deleted file mode 100644 index b72887f52..000000000 --- a/doc/comm/communication.tex +++ /dev/null @@ -1,543 +0,0 @@ -\documentclass[11pt]{article} -\usepackage{multicol} -\usepackage{ifthen} -%\usepackage{multitoc} -%\usepackage{german} -%\usepackage{bibgerm} -\usepackage{amsthm} -\usepackage{amsmath} -\usepackage{amsfonts} -\usepackage{color} -\usepackage{hyperref} -\usepackage{psfrag} -\usepackage{subfigure} -\usepackage[dvips]{epsfig} -\usepackage[dvips]{graphicx} -\usepackage[a4paper,body={148mm,240mm,nohead}]{geometry} -\usepackage[ansinew]{inputenc} -\usepackage{listings} -\lstset{language=C++, basicstyle=\ttfamily, - stringstyle=\ttfamily, commentstyle=\it, extendedchars=true} - -\newif\ifpdf -\ifnum\ifx\pdfoutput\undefined0\else\pdfoutput\fi<1 -\pdffalse % we are not running PDFLaTeX -\else -\pdftrue % we are running PDFLaTeX -\fi - -\ifpdf -\usepackage[pdftex]{graphicx} -\else -\usepackage{graphicx} -\fi - -\ifpdf -\DeclareGraphicsExtensions{.pdf, .jpg, .tif} -\else -\DeclareGraphicsExtensions{.eps, .jpg} -\fi - -%\theoremstyle{plain} -\newtheorem{theorem}{Theorem}[section] -\newtheorem{lemma}[theorem]{Lemma} - -\theoremstyle{definition} -\newtheorem{definition}[theorem]{Definition} -\newtheorem{class}[theorem]{Class} -\newtheorem{algorithm}[theorem]{Algorithm} -\theoremstyle{remark} -\newtheorem{remark}[theorem]{Remark} - -\newcommand{\C}{\mathbb{C}} -\newcommand{\R}{\mathbb{R}} -\newcommand{\N}{\mathbb{N}} -\newcommand{\Z}{\mathbb{Z}} -\newcommand{\Q}{\mathbb{Q}} -\newcommand{\K}{\mathbb{K}} -\newcommand{\loc}{\mbox{loc}} - -\title{Communication within the Iterative Solver Template Library (ISTL)\thanks{Part of the - Distributed and Unified Numerics Environment (DUNE) which is - available from the site - \texttt{http://www.dune-project.org/}}} - -\author{% -Markus Blatt\\ -Interdisziplinäres Zentrum für Wissenschaftliches Rechnen,\\ -Universität Heidelberg, Im Neuenheimer Feld 368, D-69120 Heidelberg, \\ -email: \texttt{Markus.Blatt@iwr.uni-heidelberg.de}} - -\date{April 27, 2005} - -\begin{document} - -\maketitle - -\begin{abstract} - This document describes usage and interface of the classes meant for - setting up the communication within a parallel programm using - ISTL. As most of the communication in distributed programm occur in - the same pattern it is often more efficient (and of course more easy - for the programmer) to build the communication pattern once in the - programm and then use multiple times (e.~g. at each iteration step - of an iterative solver). -\end{abstract} - -\begin{multicols}{2} -{\small\tableofcontents} -\end{multicols} - - -\section{Introduction} -\label{sec:introduction} - -When using the data parallel programming model a set of processes -works collectively on the same set of finite data objects. These might -be elements of a finite element grid or vector entries in a linear algebra -computation. Each process works on different partitions of the global -data. Only for this partition it computes updated values. - -In large scale parallel codes it is advisable to store the data -partition in a local data structure directly in the local memory of -the process. Due to data dependencies the process needs to access data -in the partition of other processes, too. This can either be done by -communicating these values on demand between the processes whenever -they are accessed. This results in data structures that are aware of -the data distribution. Or by augmenting the partition of the process such -that it additionally includes the data values that the other values -depend on. Note that now the partitioning is not disjoint any more but -overlapping. Of course the values other processes compute for need to -be updated using communication at so called synchronisation points of -the algorithm - -In the latter case the data structures do not need to know anything -about the data distribution. -This demands more effort from the parallel algorithm designer to make -sure that the data used for computations is valid, i.e. contains an -updated value if another process computes the data for it. Still it allows -for fewer synchronisation points in the algorithms as even in collective -operations all input data may already be updated from other processes -due to a previous operation. Between the necessary synchronisation -points one can take advantage of the fast local memory -access. - -Consider representing a random access container $x$ on a set of -processes ${\cal P}=\{0, \ldots, P-1\}$. It is represented by individual -pieces $x^p$, where $x^p$ is the piece stored on -process $p$ of the $P$ processes participating in the -calculation. Although the global representation of the container is -not available on any process, a process $p$ needs to know how the -entries of its local piece $x^p$ correspond to the entries of the -global container $x$, which would be used in a sequential program. - -\section{Communication Software Components} -\label{sec:comm-softw-comp} - -From an abstract point of view a random access container $x: I -\rightarrow K$ provides a -mapping from an index set $I \subset \N_0$ onto a set of objects -$K$. Note that we do not require $I$ to be consecutive. The piece -$x_p$ of the container $x$ stored on process $p$ is a mapping $x_p:I_p -\rightarrow K$, where $I_p \subset I$. Due to efficiency the entries -of $x_p$ should be stored consecutively in memory. -This means that for the local computation the data must be addressable -by a consecutive index starting from $0$. - -When using adaptive -discretisation methods there might be the need to reorder the indices -after adding and/or deleting some of the discretisation -points. Therefore this index does not need to be persistent -and can easily be changed. We will call this index {\em\index{local index}local index}. - -For the communication phases of our algorithms these locally stored -entries must also be addressable by a global identifier. It is used to -store the received values at and to retrieve the values to be sent from the -correct local position in the consecutive memory chunk. To ease the -addition and removal of discretisation points this global identifier has -to be persistent but does not need to be consecutive. We -will call this global identifier {\em\index{global index}global index}. - -\subsection{ParallelIndexSet} - Let $I \subset \N_0$ be an arbitrary, not necessarily consecutive, - index set identifying all discretisation points of the computation. - Furthermore, let - $$({I}_p)_{p\in {\cal P}}, \quad - \bigcup\limits_{p \in {\cal P}} {I}_p = I$$ be an overlapping decomposition of the global index set - $I$ into the sets of indices ${I}_p$ corresponding to the - global indices of the values stored locally in the chunk of process $p$. - - Then the class - \begin{lstlisting}{} - template<typename TG, typename TL> class ParallelIndexSet; - \end{lstlisting} - realises the one to one mapping - $$ - \gamma_p\::\: {I}_p \longrightarrow {I}^{\loc}_p := [0, n_p) - $$ - of the globally unique index onto the local index. - - The template parameter \lstinline!TG! is the type of the global - index and - \lstinline!TL! is the type of the local index. The only prerequisite - of \lstinline!TG! is that objects of this type are comparable using - the less-than-operator \lstinline!<!. Not that this prerequisite - still allows attaching further - information to the global index or even using this information as - the global index. The type \lstinline!TL! has to - be convertible to \lstinline!std::size_t! as it is used to address array - elements. - - The pairs of global and local indices are - ordered by ascending global index. It is possible to access the pairs via -\lstinline!operator[](TG& global)! in $log(n)$ time, where $n$ is the -number of pairs in the set. In an efficient code it is advisable to -access the index pairs using the provided iterators over the index pairs. - -Due to the ordering, the index set can only be changed, i.e. index pairs -added or deleted, in a special resize phase. By calling the functions -\lstinline!beginResize()! and \lstinline!endResize()! the programmer -indicates that the resize phase starts and ends, respectively. During -the call of \lstinline!endResize()! the deleted indices will be -removed and the added index pairs will be sorted and merged with the existing -ones. - -\subsection{ParallelLocalIndex} -When dealing with overlapping index sets in distributed computing -there often is the need to distinguish different partitions of an index -set.%, e.g. $I_i$ and $\tilde{I}_i\setminus I_i$ as introduced in Section \ref{sec:domain_decomposition}. - -This is accomplished by using the class -\begin{lstlisting}{} - template<typename TA> class ParallelLocalIndex; -\end{lstlisting} -as the type for the local index of class \lstinline!ParallelIndexSet!. -Here the template parameter \lstinline!TA! is the type of the -attributes used, e.g. an enumeration \lstinline!Flags! defined by -\begin{lstlisting} - enum Flags {owner, ghost}; -\end{lstlisting} -where -\lstinline!owner! marks the indices $k \in I_p$ owned by process -$p$ and \lstinline!ghost! the indices $k\not\in I_p$ owned -by other processes. - -As an example let us look at an array distributed between two -processes. In Figure \ref{fig:redistarray} one can see the array -$a$ as it appears in a sequential program. Below there are two -different distributions of that array. The local views $s_0$ and -$s_1$ are the parts process $0$ and $1$ store in the case that $a$ is -divided into two -blocks. The local views $t_0$ and $t_1$ are the parts of $a$ that -process $0$ and $1$ store in the case that $a$ is divided into 4 -blocks and process -$0$ stores the first and third block and process $1$ the second and -fourth block. The decompositions have an overlap of one and the indices have -the attributes \lstinline!owner! and \lstinline!ghost! visualised by -white and shaded cells, respectively. -The index sets $I_s$ and $I_t$ corresponding to the decompositions $s_p$ -and $t_p$, $p \in \{0,1\}$, are shown in Figure \ref{fig:redistindex} as sets of triples -$(g,l,a)$. Here $g$ is the global index, $l$ is the local index and -$a$ is the attribute (either o for \lstinline!owner! or {g} -for \lstinline!ghost!). -\begin{figure}%[b] - \centering - \psfrag{Is}{$I_s$} - \psfrag{It}{$I_t$} - \epsfig{file=figures/distindex.eps,width=.5\textwidth} - \caption{Index sets for array redistribution} - \label{fig:redistindex} -\end{figure} -\begin{figure*}%[b] - \centering - \psfrag{a0:}{$s_0$:} - \psfrag{a1:}{$s_1$:} - \psfrag{b0:}{$t_0$:} - \psfrag{b1:}{$t_1$:} - \epsfig{file=figures/distarray.eps,width=.9\textwidth} - \caption{Redistributed array} - \label{fig:redistarray} -\end{figure*} - -The following code snippet demonstrates how to set up the index set -$I_s$ on process $0$: -\lstinputlisting[linerange={53-57,59-61,67-67}]{poosc08_test.cc} -\subsection{Remote Indices} -\label{sec:remote-indices} - -To set up communication between the processes every process needs to -know which indices are also known to other processes and which -attributes are attached to them on the remote side. -There are scenarios where data is exchanged between different -index sets, e.g. if the data is agglomerated on lesser processes or -redistributed. Therefore communication is allowed to occur between different -decompositions of the same index set. - - -Let $I \subset \N$ be the global index set and -$$ -(I^s_p)_{p\in{\cal P}},\quad \bigcup_{p\in{\cal P}} I^s_p = I,\quad -\text{ and } \quad -(I^t_p)_{p\in{\cal P}}, \quad\bigcup_{p\in{\cal P}} I^t_p = I -$$ be two overlapping -decompositions of the same index set $I$. Then an instance of class -\lstinline!RemoteIndices! on process $p \in {\cal P}$ -stores the sets of triples -\begin{equation} - \label{eq:ri_s_set} - \begin{split} - r_{p \rightarrow q}^{s} = \{ (g,(l,a),b) \,|\, g \in I^s_q \wedge g \in I_p^t, -l=\gamma_p^s(g), a = \alpha_p^s(l), b = -\alpha_q^t(\gamma_q^t(g))\} -\end{split} -\end{equation} -and -\begin{equation} - \label{eq:ri_t_set} - \begin{split} - r_{p \rightarrow q}^{t} = \{ (g,(l,a),b) \,|\, g \in I^s_q \wedge g \in I_p^t, - l=\gamma_p^t(g), a = \alpha_p^t(l), b = - \alpha_p^s(\gamma_p^s(g))\}\,, - \end{split} -\end{equation} -for all $q\in{\cal P}$. -Here $\alpha^s_p$ and $\alpha^t_p$ denote the mapping of local -indices on process $p$ onto attributes for the index set $I^s_p$ and -$I^t_p$ as realised by \lstinline!ParallelLocalIndex!. -Note that the sets $r_{p \rightarrow q}^{s}$ and $r_{p \rightarrow - q}^{t}$ will only be nonempty if the processes $p$ and $q$ manage -overlapping index sets. - -For our example in Figure \ref{fig:redistarray} and Figure -\ref{fig:redistindex} the interface between $I_s$ and $I_t$ on process -$0$ is: -\begin{align*} - r_{0\rightarrow 0}^{s} = \{&(0,(0,o),o), (1,(1,o),o), (2,(2,o),o), - (3,(3,o),g), (5,(5,o),g), (6,(6,g),o)\}\\ - r_{0\rightarrow 0}^{t} = \{&(0,(0,o),o), (1,(1,o),o), (2,(2,o),o), - (3,(3,g),o), (5,(4,g),o), (6,(5,o),g)\}\\ - r_{0\rightarrow 1}^{s} = \{&(2(2,o),g), (3,(3,o),o), (4,(4,o),o), - (5,(5,o),o), (6,(6,g),g)\}\\ - r_{0\rightarrow 1}^{t} = \{&(5,(4,g),g), (6,(5,o),o), (7,(6,o),o), - (8,(7,o),o), (9,(8,g),o)\} -\end{align*} -This information can either be calculated automatically by -communicating all indices in a ring or set up by hand if the user has -this information available. Assuming that \lstinline!sis! is the index set -$I_s$ and \lstinline!tis! the index set $I_t$ set up as described in -the previous subsection and \lstinline!comm! is an MPI communicator -then the simple call -\lstinputlisting[linerange={83-84}]{poosc08_test.cc} -on all processes automatically calculates this information and -stores it in \lstinline!riRedist!. For a -parallel calculation on the local views $s_0$ and $s_1$ calling -\lstinputlisting[linerange={86-87}]{poosc08_test.cc} -on all processes builds the necessary information in \lstinline!riS!. - -\subsection{Communication Interface} -\label{sec:comm-interf} - -With the information provided by class \lstinline!RemoteIndices! the -user can set up arbitrary communication interfaces. These interfaces -are realised in \lstinline!template<typename T> class Interface!, -where the template parameter \lstinline!T! is the custom type of the -\lstinline!ParallelIndexSet! representing the index sets. -Using the attributes attached to the indices by -\lstinline!ParallelLocalIndex! the user can select subsets of the -indices for exchanging data, e.g. send data from indices marked -as \lstinline!owner! to indices marked as \lstinline!ghost!. - -Basically the interface on process $p$ manages two sets for each -process $q$ it shares common indices with: - -$$ -i_{p\rightarrow q}^{s} = \{ l | (g,(l,a),b) \in r_{p\rightarrow q}^{s} | -a \in A_s \wedge b \in A_t\} -$$ -and -$$ -i_{p\rightarrow q}^{t} = \{ l | (g, (l,a), b) \in r_{p\rightarrow q}^{t} | -a \in A_t \wedge b \in A_s\}\,, -$$ -where $A_s$ and $A_t$ are the attributes marking the indices where the -source and target of the communication will be, respectively. - -In our example these sets on process $0$ will be stored for -communication if $A_s=\{o\}$ and $A_t=\{o, g\}$: -\begin{align*} - i_{0\rightarrow 0}^{s} = \{0, 1, 3, 5\}\quad & \quad - i_{0\rightarrow 0}^{t} = \{0, 1, 3, 4\}\\ - i_{0\rightarrow 1}^{s} = \{2, 3, 4, 5\}\quad & \quad - i_{0\rightarrow 1}^{t} = \{5, 6, 7, 8\}\,. -\end{align*} - -The following code snippet would build the interface above in -\lstinline!infRedist! as well as the interface \lstinline!infS! -to communicate between -indices marked as \lstinline!owner! and \lstinline!ghost! on the local -array views $s_0$ and $s_1$: -\lstinputlisting[linerange={89-97}]{poosc08_test.cc} - -\subsection{Communicator} -\label{sec:communicator} - -Using the classes from the previous sections all information about the -communication is available and we are set to communicate data values -of arbitrary -container types. The only prerequisite for the container type is that -its values are addressable via \lstinline!operator[](size_t index)!. -This should be safe to assume. - -An important feature of our communicators is that we are not only able to -send one data item per index, but also different numbers of data -elements (of the same type) for each index. This is -supported in a generic way by the traits class -\lstinline!template<class V> struct CommPolicy! -describing the container type \lstinline!V!. The -\lstinline!typedef IndexedType! is the atomic type to be communicated and -\lstinline!typedef IndexedTypeFlag! is either \lstinline!SizeOne! if -there is only one data item per index or \lstinline!VariableSize! if the -number of data items per index is variable. - -The default implementation works for all -array-like containers which provide only one data item per index. For all -other containers the user has to provide its own custom -specialisation. -%For the vector classes of ISTL (up to two block levels) -%those specialisations are already implemented. - -The class \lstinline!template<class T> class BufferedCommunicator! -performs the -actual communication. The template parameter \lstinline!T! describes -the type of the parallel index set. -It uses the information about the communication interface provided by -an object of class \lstinline!Interface! to set up communication -buffers for a container containing a specific data type. It is also -responsible for gathering the data before and scattering the data -after the communication step. The strict separation of the interface -description from the actual buffering and communication allows for -reusing the interface information with various different container and -data types. - -Before the communication can start one has to call the -\lstinline!build! method with the data source and target containers as -well as the communication interface as arguments. Assuming -\lstinline!s! and \lstinline!t! as arrays $s_i$ and $t_i$, -respectively, then -\lstinputlisting[linerange=103-106]{poosc08_test.cc} -demonstrates how to set up the communicator \lstinline!bCommRedist! for the array -redistribution and \lstinline!bComm! for a parallel calculation on the -local views $s_i$. The -\lstinline!build! function -calculates the size of the messages to send to other processes and -allocates buffers for the send and receive actions. The -representatives \lstinline!s! and \lstinline!t! are -needed to get the number of data values at each index in the case of -variable numbers of data items per index. Note that, due to the generic -programming techniques used, the compiler knows if the number of data -points is constant for each index and will apply a specialised -algorithm for calculating the message size without querying neither -\lstinline!s! nor \lstinline!t!. Clean up of allocated -resources is done either by calling the method \lstinline!free()! or -automatically in the destructor. - -The actual communication takes place if one of the methods -\lstinline!forward! -and \lstinline!backward! is called. In our case in -\lstinline!bCommRedist! the \lstinline!forward! method -sends data from the local views $s_i$ to the local views $t_i$ -according to the interface information and the \lstinline!backward! -method in the opposite direction. - -The following code snippet first redistributes the local views $s_i$ -of the global array to the local views $t_i$ and -performs some calculation on this representation. Afterwards the -result is communicated backwards. -\lstinputlisting[linerange=110-113]{poosc08_test.cc} - -Note that both methods have a different template parameter, either -\lstinline!CopyData! or \lstinline!AddData!. These are policies for -gathering and scattering the data items. The former just copies -the data from and to the location. The latter copies from the source -location but adds the received data items to the target -entries. Assuming our data is stored in simple C-arrays -\lstinline!AddData! could be implemented like this: - -\lstinputlisting[linerange=16-27]{poosc08_test.cc} - -Note that arbitrary -manipulations can be applied to the communicated data in both methods. - -For containers with multiple data items associated with one index -the methods \lstinline!gather! and \lstinline!scatter! must have an additional -integer argument specifying the sub-index. - -\section{Collective Communication} -\label{sec:collective-communication} - -While communicating entries of array-like structures is a prominent -task in scientific computing codes one must not neglect -collective communication operations, like gathering and scattering data - from and to all processes, respectively, or waiting for other processes. An -abstraction for these operations is crucial for decoupling the -communication from the parallel programming paradigm used. - -Therefore we designed -\lstinline!template<class T> class CollectiveCommunication! which provides -information of the underlying parallel programming paradigm as well as -the collective communication operations as known from MPI. See Table -\ref{tab:col-comm} for a list of all functions. - -\begin{table*}%[b] - \centering - \begin{tabular}{p{.5\textwidth}|p{.4\textwidth}} - Function&Description\\\hline\hline - \lstinline!int rank()!&Get the rank of the process\\ - \lstinline!int size()!&Get the number of processes\\ - \lstinline!template<typename T> T sum (T& in)!& Compute global - sum\\ - \lstinline!template<typename T> T prod (T& in)!&Compute global - product\\ - \lstinline!template<typename T> T min (T& in)!&Compute global minimum\\ - \lstinline!template<typename T> T max (T& in)!&Compute global - maximum\\ - \lstinline!void barrier()!& Wait for all processes.\\ - \lstinline!template<typename T> int broadcast (T* inout, int len, int root)! -& Broadcast an array from root to all other processes\\ -\lstinline!template<typename T> int gather (T* in, T* out, int len, int root)!& -Gather arrays at a root process\\ -\lstinline!template<typename BinaryFunction, typename Type> int allreduce(Type* in, Type* out, int len)!& -Combine values from all processes on all processes. Combine function -is given with \lstinline!BinaryFunction! - \end{tabular} - \caption{Collective Communication Functions} - \label{tab:col-comm} -\end{table*} - -Currently there is a default implementation for sequential programs -as well as a specialisation working with MPI. This approach allows for -running parallel programs sequentially without any parallel overhead -simply by choosing the sequential specialisation at compile time. -Note that the interface is far more convenient to use than the C++ -interface of MPI. The latter is a simple wrapper around the C -implementation without taking advantage of the power of generic programming. - - -The collective communication classes were developed before the release -of Boost.MPI \cite{boost_mpi}. In contrast to Boost.MPI it was never -meant as a full generic implementation of all MPI functions. Instead it -is restricted to the most basic subset of collective operations needed -to implement finite element methods and iterative solver using the -previously described components. This lean interface should make it -possible to easily port this approach to -thread based parallelisation as well as other parallelisation -paradigms. This would allow code to easily switch between different paradigms - - -\bibliographystyle{plainnat} -\bibliography{communication} -\end{document} -%%% Local Variables: -%%% mode: latex -%%% TeX-master: t -%%% End: diff --git a/doc/comm/figures/Makefile.am b/doc/comm/figures/Makefile.am deleted file mode 100644 index febc84358..000000000 --- a/doc/comm/figures/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# $Id: $ -EXTRA_DIST=darray.eps distarray.eps distindex.eps - -include $(top_srcdir)/am/webstuff -include $(top_srcdir)/am/global-rules diff --git a/doc/comm/figures/darray.eps b/doc/comm/figures/darray.eps deleted file mode 100644 index 5c167b85b..000000000 --- a/doc/comm/figures/darray.eps +++ /dev/null @@ -1,230 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: ../eps/darray.eps -%%Creator: fig2dev Version 3.2 Patchlevel 1 -%%CreationDate: Thu Mar 4 15:25:17 1999 -%%For: peter@speedo (Peter Bastian) -%%Orientation: Portrait -%%BoundingBox: 0 0 345 260 -%%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 --130.0 296.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 5689 m -1000 -1000 l 8527 -1000 l 8527 5689 l cp clip - 0.06299 0.06299 sc -% Polyline -7.500 slw -n 5265 3105 m 7515 3105 l 7515 3780 l 5265 3780 l cp gs col0 s gr -% Polyline -n 5670 3105 m 5670 3780 l gs col0 s gr -% Polyline -n 6120 3105 m 6120 3780 l gs col0 s gr -% Polyline -n 6570 3105 m 6570 3780 l gs col0 s gr -% Polyline -n 7020 3105 m 7020 3780 l gs col0 s gr -/Times-Roman ff 180.00 scf sf -5400 4050 m -gs 1 -1 sc (0) col0 sh gr -/Times-Roman ff 180.00 scf sf -6300 4050 m -gs 1 -1 sc (2) col0 sh gr -/Times-Roman ff 180.00 scf sf -6750 4050 m -gs 1 -1 sc (3) col0 sh gr -/Times-Roman ff 180.00 scf sf -7245 4050 m -gs 1 -1 sc (4) col0 sh gr -/Times-Roman ff 180.00 scf sf -5850 4050 m -gs 1 -1 sc (1) col0 sh gr -% Polyline -n 2340 3105 m 4590 3105 l 4590 3780 l 2340 3780 l cp gs col0 s gr -% Polyline -n 2745 3105 m 2745 3780 l gs col0 s gr -% Polyline -n 3195 3105 m 3195 3780 l gs col0 s gr -% Polyline -n 3645 3105 m 3645 3780 l gs col0 s gr -% Polyline -n 4095 3105 m 4095 3780 l gs col0 s gr -/Times-Roman ff 180.00 scf sf -2475 4050 m -gs 1 -1 sc (0) col0 sh gr -/Times-Roman ff 180.00 scf sf -3375 4050 m -gs 1 -1 sc (2) col0 sh gr -/Times-Roman ff 180.00 scf sf -3825 4050 m -gs 1 -1 sc (3) col0 sh gr -/Times-Roman ff 180.00 scf sf -4320 4050 m -gs 1 -1 sc (4) col0 sh gr -/Times-Roman ff 180.00 scf sf -2925 4050 m -gs 1 -1 sc (1) col0 sh gr -/Times-Roman ff 180.00 scf sf -2970 4320 m -gs 1 -1 sc (local indices) col0 sh gr -/Times-Roman ff 180.00 scf sf -2475 4635 m -gs 1 -1 sc (local array in processor 0) col0 sh gr -% Polyline -n 3150 1215 m 6750 1215 l 6750 1890 l 3150 1890 l cp gs col0 s gr -% Polyline -n 4950 1215 m 4950 1890 l gs col0 s gr -% Polyline -n 4050 1215 m 4050 1890 l gs col0 s gr -% Polyline -n 3600 1215 m 3600 1890 l gs col0 s gr -% Polyline -n 4500 1215 m 4500 1890 l gs col0 s gr -% Polyline -n 5850 1215 m 5850 1890 l gs col0 s gr -% Polyline -n 5400 1215 m 5400 1890 l gs col0 s gr -% Polyline -n 6300 1215 m 6300 1890 l gs col0 s gr -% Polyline -n 2520 3105 m 3375 1890 l gs col0 s gr -% Polyline -n 2970 3105 m 4230 1890 l gs col0 s gr -% Polyline -n 3375 3105 m 6030 1890 l gs col0 s gr -% Polyline -n 3825 3105 m 4725 1890 l gs col0 s gr -% Polyline -n 5490 3105 m 3465 1890 l gs col0 s gr -% Polyline -n 5850 3105 m 3870 1890 l gs col0 s gr -% Polyline -n 6345 3105 m 6525 1890 l gs col0 s gr -% Polyline -n 6795 3105 m 5625 1890 l gs col0 s gr -% Polyline -n 7290 3105 m 5175 1890 l gs col0 s gr -% Polyline -n 4320 3105 m 5535 1890 l gs col0 s gr -/Times-Roman ff 180.00 scf sf -3285 1035 m -gs 1 -1 sc (0) col0 sh gr -/Times-Roman ff 180.00 scf sf -3735 1035 m -gs 1 -1 sc (1) col0 sh gr -/Times-Roman ff 180.00 scf sf -4230 1035 m -gs 1 -1 sc (2) col0 sh gr -/Times-Roman ff 180.00 scf sf -4680 1035 m -gs 1 -1 sc (3) col0 sh gr -/Times-Roman ff 180.00 scf sf -5085 1035 m -gs 1 -1 sc (4) col0 sh gr -/Times-Roman ff 180.00 scf sf -5535 1035 m -gs 1 -1 sc (5) col0 sh gr -/Times-Roman ff 180.00 scf sf -5985 1035 m -gs 1 -1 sc (6) col0 sh gr -/Times-Roman ff 180.00 scf sf -6435 1035 m -gs 1 -1 sc (7) col0 sh gr -/Times-Roman ff 180.00 scf sf -5940 4320 m -gs 1 -1 sc (local indices) col0 sh gr -/Times-Roman ff 180.00 scf sf -5490 4635 m -gs 1 -1 sc (local array in processor 1) col0 sh gr -/Times-Roman ff 180.00 scf sf -3825 720 m -gs 1 -1 sc (global array with global indices) col0 sh gr -/Times-Italic ff 180.00 scf sf -2880 1665 m -gs 1 -1 sc (a:) col0 sh gr -/Times-Italic ff 180.00 scf sf -2070 3555 m -gs 1 -1 sc (a0:) col0 sh gr -/Times-Italic ff 180.00 scf sf -4995 3555 m -gs 1 -1 sc (a1:) col0 sh gr -$F2psEnd -rs diff --git a/doc/comm/figures/distarray.eps b/doc/comm/figures/distarray.eps deleted file mode 100644 index c64aaf5f9..000000000 --- a/doc/comm/figures/distarray.eps +++ /dev/null @@ -1,1278 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: inkscape 0.44.1 -%%Pages: 1 -%%Orientation: Portrait -%%BoundingBox: -43 616 613 832 -%%HiResBoundingBox: -43.106274 616.19711 612.40005 831.58167 -%%DocumentMedia: plain 596 842 0 () () -%%EndComments -%%Page: 1 1 -0 842 translate -0.8 -0.8 scale -gsave [1 0 0 1 0 0] concat -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -130.75 35.229931 moveto -168.75 35.229931 lineto -168.75 70.229931 lineto -130.75 70.229931 lineto -130.75 35.229931 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -170.25 35.229931 moveto -208.25 35.229931 lineto -208.25 70.229931 lineto -170.25 70.229931 lineto -170.25 35.229931 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -565.25 35.229931 moveto -603.25 35.229931 lineto -603.25 70.229931 lineto -565.25 70.229931 lineto -565.25 35.229931 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -525.75 35.229931 moveto -563.75 35.229931 lineto -563.75 70.229931 lineto -525.75 70.229931 lineto -525.75 35.229931 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -486.25 35.229931 moveto -524.25 35.229931 lineto -524.25 70.229931 lineto -486.25 70.229931 lineto -486.25 35.229931 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -446.75 35.229931 moveto -484.75 35.229931 lineto -484.75 70.229931 lineto -446.75 70.229931 lineto -446.75 35.229931 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -407.25 35.229931 moveto -445.25 35.229931 lineto -445.25 70.229931 lineto -407.25 70.229931 lineto -407.25 35.229931 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -367.75 35.229931 moveto -405.75 35.229931 lineto -405.75 70.229931 lineto -367.75 70.229931 lineto -367.75 35.229931 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -328.25 35.229931 moveto -366.25 35.229931 lineto -366.25 70.229931 lineto -328.25 70.229931 lineto -328.25 35.229931 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -288.75 35.229931 moveto -326.75 35.229931 lineto -326.75 70.229931 lineto -288.75 70.229931 lineto -288.75 35.229931 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -249.25 35.229931 moveto -287.25 35.229931 lineto -287.25 70.229931 lineto -249.25 70.229931 lineto -249.25 35.229931 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -209.75 35.229931 moveto -247.75 35.229931 lineto -247.75 70.229931 lineto -209.75 70.229931 lineto -209.75 35.229931 lineto -closepath -stroke -gsave [1 0 0 1 90.45711 -21.76955] concat -gsave [1 0 0 -1 56 78.362183] concat -gsave -/newlatin1font {findfont dup length dict copy dup /Encoding ISOLatin1Encoding put definefont} def -/(BitstreamVeraSans-Roman-ISOLatin1) /(BitstreamVeraSans-Roman) newlatin1font -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(0) show -grestore -grestore -gsave [1 0 0 -1 95.71582 78.369019] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(1) show -grestore -grestore -gsave [1 0 0 -1 135.17871 78.461304] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(2) show -grestore -grestore -gsave [1 0 0 -1 174.25195 78.362183] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(3) show -grestore -grestore -gsave [1 0 0 -1 213.27051 78.369019] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(4) show -grestore -grestore -gsave [1 0 0 -1 253.06152 78.269897] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(5) show -grestore -grestore -gsave [1 0 0 -1 292.07324 78.362183] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(6) show -grestore -grestore -gsave [1 0 0 -1 331.74121 78.369019] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(7) show -grestore -grestore -gsave [1 0 0 -1 370.85547 78.362183] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(8) show -grestore -grestore -gsave [1 0 0 -1 410.23633 78.362183] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(9) show -grestore -grestore -gsave [1 0 0 -1 440.62109 78.362183] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(10) show -grestore -grestore -gsave [1 0 0 -1 480.33691 78.369019] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(11) show -grestore -grestore -grestore -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -644.59235 134.57874 moveto -682.59235 134.57874 lineto -682.59235 169.57874 lineto -644.59235 169.57874 lineto -644.59235 134.57874 lineto -closepath -stroke -gsave [1 0 0 -1 320.31937 23.521814] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(global array) show -grestore -grestore -gsave [1 0 0 -1 94.752312 53.220303] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(a:) show -grestore -grestore -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -54.781971 134.38783 moveto -92.781971 134.38783 lineto -92.781971 169.38783 lineto -54.781971 169.38783 lineto -54.781971 134.38783 lineto -closepath -stroke -gsave -0.79607844 0.79607844 0.79607844 setrgbcolor -newpath -291.03198 133.63783 moveto -330.53198 133.63783 lineto -330.53198 170.13783 lineto -291.03198 170.13783 lineto -291.03198 133.63783 lineto -closepath -fill -grestore -0 0 0 setrgbcolor -[] 0 setdash -1 setlinewidth -0 setlinejoin -0 setlinecap -newpath -291.03198 133.63783 moveto -330.53198 133.63783 lineto -330.53198 170.13783 lineto -291.03198 170.13783 lineto -291.03198 133.63783 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -252.28197 134.38783 moveto -290.28197 134.38783 lineto -290.28197 169.38783 lineto -252.28197 169.38783 lineto -252.28197 134.38783 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -212.78197 134.38783 moveto -250.78197 134.38783 lineto -250.78197 169.38783 lineto -212.78197 169.38783 lineto -212.78197 134.38783 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -173.28197 134.38783 moveto -211.28197 134.38783 lineto -211.28197 169.38783 lineto -173.28197 169.38783 lineto -173.28197 134.38783 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -133.78197 134.38783 moveto -171.78197 134.38783 lineto -171.78197 169.38783 lineto -133.78197 169.38783 lineto -133.78197 134.38783 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -94.281967 134.38783 moveto -132.28197 134.38783 lineto -132.28197 169.38783 lineto -94.281967 169.38783 lineto -94.281967 134.38783 lineto -closepath -stroke -gsave [1.05799 0 0 1 -76.67982 40.7414] concat -gsave [1 0 0 -1 138.59293 118.27412] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(0) show -grestore -grestore -gsave [1 0 0 -1 176.39273 118.28096] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(1) show -grestore -grestore -gsave [1 0 0 -1 213.93961 118.37325] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(2) show -grestore -grestore -gsave [1 0 0 -1 251.09683 118.27412] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(3) show -grestore -grestore -gsave [1 0 0 -1 288.19937 118.28096] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(4) show -grestore -grestore -gsave [1 0 0 -1 326.07437 118.18184] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(5) show -grestore -grestore -gsave [1 0 0 -1 363.17007 118.27412] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(6) show -grestore -grestore -grestore -gsave -0.79607844 0.79607844 0.79607844 setrgbcolor -newpath -408.72391 134.59494 moveto -446.72391 134.59494 lineto -446.72391 169.59494 lineto -408.72391 169.59494 lineto -408.72391 134.59494 lineto -closepath -fill -grestore -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -408.72391 134.59494 moveto -446.72391 134.59494 lineto -446.72391 169.59494 lineto -408.72391 169.59494 lineto -408.72391 134.59494 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -606.22388 134.59494 moveto -644.22388 134.59494 lineto -644.22388 169.59494 lineto -606.22388 169.59494 lineto -606.22388 134.59494 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -566.72388 134.59494 moveto -604.72388 134.59494 lineto -604.72388 169.59494 lineto -566.72388 169.59494 lineto -566.72388 134.59494 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -527.22388 134.59494 moveto -565.22388 134.59494 lineto -565.22388 169.59494 lineto -527.22388 169.59494 lineto -527.22388 134.59494 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -487.72391 134.59494 moveto -525.72391 134.59494 lineto -525.72391 169.59494 lineto -487.72391 169.59494 lineto -487.72391 134.59494 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -448.22391 134.59494 moveto -486.22391 134.59494 lineto -486.22391 169.59494 lineto -448.22391 169.59494 lineto -448.22391 134.59494 lineto -closepath -stroke -gsave [1 0 0 -1 421.10342 157.16211] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(5) show -grestore -grestore -gsave [1 0 0 -1 461.11514 157.25439] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(6) show -grestore -grestore -gsave [1 0 0 -1 501.78314 157.26123] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(7) show -grestore -grestore -gsave [1 0 0 -1 541.8974 157.25439] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(8) show -grestore -grestore -gsave [1 0 0 -1 582.27826 157.25439] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(9) show -grestore -grestore -gsave [1 0 0 -1 613.66302 157.25439] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(10) show -grestore -grestore -gsave [1 0 0 -1 654.37885 157.26123] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(11) show -grestore -grestore -gsave -0.79607844 0.79607844 0.79607844 setrgbcolor -newpath -292.38773 195.09746 moveto -330.38773 195.09746 lineto -330.38773 230.09746 lineto -292.38773 230.09746 lineto -292.38773 195.09746 lineto -closepath -fill -grestore -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -292.38773 195.09746 moveto -330.38773 195.09746 lineto -330.38773 230.09746 lineto -292.38773 230.09746 lineto -292.38773 195.09746 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -252.88774 195.09746 moveto -290.88774 195.09746 lineto -290.88774 230.09746 lineto -252.88774 230.09746 lineto -252.88774 195.09746 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -213.38774 195.09746 moveto -251.38774 195.09746 lineto -251.38774 230.09746 lineto -213.38774 230.09746 lineto -213.38774 195.09746 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -173.88776 195.09746 moveto -211.88776 195.09746 lineto -211.88776 230.09746 lineto -173.88776 230.09746 lineto -173.88776 195.09746 lineto -closepath -stroke -gsave -0.79607844 0.79607844 0.79607844 setrgbcolor -newpath -134.38776 195.09746 moveto -172.38776 195.09746 lineto -172.38776 230.09746 lineto -134.38776 230.09746 lineto -134.38776 195.09746 lineto -closepath -fill -grestore -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -134.38776 195.09746 moveto -172.38776 195.09746 lineto -172.38776 230.09746 lineto -134.38776 230.09746 lineto -134.38776 195.09746 lineto -closepath -stroke -gsave -0.79607844 0.79607844 0.79607844 setrgbcolor -newpath -94.887749 195.09746 moveto -132.88775 195.09746 lineto -132.88775 230.09746 lineto -94.887749 230.09746 lineto -94.887749 195.09746 lineto -closepath -fill -grestore -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -94.887749 195.09746 moveto -132.88775 195.09746 lineto -132.88775 230.09746 lineto -94.887749 230.09746 lineto -94.887749 195.09746 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -55.387745 195.09746 moveto -93.387745 195.09746 lineto -93.387745 230.09746 lineto -55.387745 230.09746 lineto -55.387745 195.09746 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -15.887744 195.09746 moveto -53.887744 195.09746 lineto -53.887744 230.09746 lineto -15.887744 230.09746 lineto -15.887744 195.09746 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath --23.612255 195.09746 moveto -14.387745 195.09746 lineto -14.387745 230.09746 lineto --23.612255 230.09746 lineto --23.612255 195.09746 lineto -closepath -stroke -gsave [1.065237 0 0 1 -54.35452 -47.7132] concat -gsave [1 0 0 -1 41.012192 264.64523] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(0) show -grestore -grestore -gsave [1 0 0 -1 78.429184 264.65207] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(1) show -grestore -grestore -gsave [1 0 0 -1 115.59325 264.74435] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(2) show -grestore -grestore -gsave [1 0 0 -1 152.36766 264.64523] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(3) show -grestore -grestore -gsave [1 0 0 -1 189.52489 264.55295] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(5) show -grestore -grestore -gsave [1 0 0 -1 226.23778 264.64523] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(6) show -grestore -grestore -gsave [1 0 0 -1 263.60693 264.65207] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(7) show -grestore -grestore -gsave [1 0 0 -1 300.42236 264.64523] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(8) show -grestore -grestore -gsave [1 0 0 -1 337.50439 264.64523] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(9) show -grestore -grestore -grestore -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -726.75006 191.62869 moveto -764.75006 191.62869 lineto -764.75006 226.62869 lineto -726.75006 226.62869 lineto -726.75006 191.62869 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -687.25006 191.62869 moveto -725.25006 191.62869 lineto -725.25006 226.62869 lineto -687.25006 226.62869 lineto -687.25006 191.62869 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -647.75006 191.62869 moveto -685.75006 191.62869 lineto -685.75006 226.62869 lineto -647.75006 226.62869 lineto -647.75006 191.62869 lineto -closepath -stroke -gsave -0.79607844 0.79607844 0.79607844 setrgbcolor -newpath -608.25006 191.62869 moveto -646.25006 191.62869 lineto -646.25006 226.62869 lineto -608.25006 226.62869 lineto -608.25006 191.62869 lineto -closepath -fill -grestore -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -608.25006 191.62869 moveto -646.25006 191.62869 lineto -646.25006 226.62869 lineto -608.25006 226.62869 lineto -608.25006 191.62869 lineto -closepath -stroke -gsave -0.79607844 0.79607844 0.79607844 setrgbcolor -newpath -568.75006 191.62869 moveto -606.75006 191.62869 lineto -606.75006 226.62869 lineto -568.75006 226.62869 lineto -568.75006 191.62869 lineto -closepath -fill -grestore -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -568.75006 191.62869 moveto -606.75006 191.62869 lineto -606.75006 226.62869 lineto -568.75006 226.62869 lineto -568.75006 191.62869 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -529.25006 191.62869 moveto -567.25006 191.62869 lineto -567.25006 226.62869 lineto -529.25006 226.62869 lineto -529.25006 191.62869 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -489.75006 191.62869 moveto -527.75006 191.62869 lineto -527.75006 226.62869 lineto -489.75006 226.62869 lineto -489.75006 191.62869 lineto -closepath -stroke -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -450.25006 191.62869 moveto -488.25006 191.62869 lineto -488.25006 226.62869 lineto -450.25006 226.62869 lineto -450.25006 191.62869 lineto -closepath -stroke -gsave -0.79607844 0.79607844 0.79607844 setrgbcolor -newpath -410.75006 191.62869 moveto -448.75006 191.62869 lineto -448.75006 226.62869 lineto -410.75006 226.62869 lineto -410.75006 191.62869 lineto -closepath -fill -grestore -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -410.75006 191.62869 moveto -448.75006 191.62869 lineto -448.75006 226.62869 lineto -410.75006 226.62869 lineto -410.75006 191.62869 lineto -closepath -stroke -gsave [1 0 0 1 244.4658 -120.5452] concat -gsave [1 0 0 -1 181.01933 335.45502] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(2) show -grestore -grestore -gsave [1 0 0 -1 221.09258 335.3559] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(3) show -grestore -grestore -gsave [1 0 0 -1 261.11115 335.36273] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(4) show -grestore -grestore -gsave [1 0 0 -1 301.90216 335.26361] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(5) show -grestore -grestore -gsave [1 0 0 -1 341.91388 335.3559] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(6) show -grestore -grestore -gsave [1 0 0 -1 382.34259 335.3559] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(8) show -grestore -grestore -gsave [1 0 0 -1 422.72345 335.3559] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(9) show -grestore -grestore -gsave [1 0 0 -1 454.10822 335.3559] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(10) show -grestore -grestore -gsave [1 0 0 -1 494.82404 335.36273] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(11) show -grestore -grestore -grestore -gsave [1 0 0 -1 22.627417 158.24216] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(a0:) show -grestore -grestore -gsave [1 0 0 -1 381.13055 161.07059] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(a1:) show -grestore -grestore -gsave [1 0 0 -1 -55.154327 213.39648] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(b0:) show -grestore -grestore -gsave [1 0 0 -1 381.83765 211.98228] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(b1:) show -grestore -grestore -gsave [1.03432 0 0 0.966819 0 0] concat -gsave [1 0 0 -1 317.21094 112.36991] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -13.535465 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(local views) show -grestore -grestore -grestore -0 0 0 setrgbcolor -[] 0 setdash -1 setlinewidth -0 setlinejoin -0 setlinecap -newpath -370 281.61579 moveto -370 126.86218 lineto -stroke -gsave [1 0 0 -1 143.62598 255.36218] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(P0) show -grestore -grestore -gsave [1 0 0 -1 578.62598 253.86218] concat -gsave -/(BitstreamVeraSans-Roman-ISOLatin1) findfont -14 scalefont -setfont -0 0 0 setrgbcolor -newpath -0 0 moveto -(P1) show -grestore -grestore -grestore -showpage -%%EOF diff --git a/doc/comm/figures/distindex.eps b/doc/comm/figures/distindex.eps deleted file mode 100644 index 1cf2092d1..000000000 --- a/doc/comm/figures/distindex.eps +++ /dev/null @@ -1,4736 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: inkscape 0.44.1 -%%Pages: 1 -%%Orientation: Portrait -%%BoundingBox: -5 414 276 601 -%%HiResBoundingBox: -5.9999911 414 276 600.4 -%%DocumentMedia: plain 596 842 0 () () -%%EndComments -%%Page: 1 1 -0 842 translate -0.8 -0.8 scale -gsave [1 0 0 1 0 0] concat -gsave -0 0 0 setrgbcolor -newpath -11.34082 347.36218 moveto -10.730139 348.41037 10.276689 349.44715 9.9804688 350.47253 curveto -9.6842421 351.49793 9.5361303 352.53699 9.5361328 353.58972 curveto -9.5361303 354.64246 9.6842421 355.68608 9.9804688 356.72058 curveto -10.281247 357.75053 10.734697 358.78731 11.34082 359.83093 curveto -10.24707 359.83093 lineto -9.563474 358.75997 9.0507792 357.70723 8.7089844 356.67273 curveto -8.3717434 355.63823 8.2031238 354.61056 8.203125 353.58972 curveto -8.2031238 352.57345 8.3717434 351.55034 8.7089844 350.52039 curveto -9.0462219 349.49045 9.5589167 348.43771 10.24707 347.36218 curveto -11.34082 347.36218 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -15.155273 356.82312 moveto -19.974609 356.82312 lineto -19.974609 357.98523 lineto -13.494141 357.98523 lineto -13.494141 356.82312 lineto -14.018228 356.2808 14.731443 355.55392 15.633789 354.64246 curveto -16.540686 353.72644 17.110347 353.13628 17.342773 352.87195 curveto -17.784825 352.37521 18.092442 351.95594 18.265625 351.61414 curveto -18.443353 351.26779 18.53222 350.92827 18.532227 350.59558 curveto -18.53222 350.05327 18.340814 349.61121 17.958008 349.26941 curveto -17.579747 348.92762 17.085282 348.75672 16.474609 348.75671 curveto -16.041663 348.75672 15.583656 348.83192 15.100586 348.9823 curveto -14.622068 349.1327 14.109373 349.36056 13.5625 349.66589 curveto -13.5625 348.27136 lineto -14.118488 348.04806 14.638019 347.87945 15.121094 347.7655 curveto -15.604164 347.65158 16.04622 347.59461 16.447266 347.5946 curveto -17.504552 347.59461 18.34765 347.85894 18.976562 348.38757 curveto -19.605462 348.91623 19.919914 349.62261 19.919922 350.50671 curveto -19.919914 350.92599 19.840162 351.32475 19.680664 351.703 curveto -19.525709 352.07671 19.240879 352.51876 18.826172 353.02917 curveto -18.712233 353.16134 18.349929 353.54415 17.739258 354.17761 curveto -17.128576 354.80652 16.267249 355.68836 15.155273 356.82312 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -23.023438 356.2489 moveto -24.46582 356.2489 lineto -24.46582 357.42468 lineto -23.344727 359.61218 lineto -22.462891 359.61218 lineto -23.023438 357.42468 lineto -23.023438 356.2489 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -28.526367 356.82312 moveto -33.345703 356.82312 lineto -33.345703 357.98523 lineto -26.865234 357.98523 lineto -26.865234 356.82312 lineto -27.389321 356.2808 28.102537 355.55392 29.004883 354.64246 curveto -29.91178 353.72644 30.481441 353.13628 30.713867 352.87195 curveto -31.155919 352.37521 31.463536 351.95594 31.636719 351.61414 curveto -31.814447 351.26779 31.903314 350.92827 31.90332 350.59558 curveto -31.903314 350.05327 31.711908 349.61121 31.329102 349.26941 curveto -30.950841 348.92762 30.456376 348.75672 29.845703 348.75671 curveto -29.412757 348.75672 28.954749 348.83192 28.47168 348.9823 curveto -27.993162 349.1327 27.480467 349.36056 26.933594 349.66589 curveto -26.933594 348.27136 lineto -27.489582 348.04806 28.009112 347.87945 28.492188 347.7655 curveto -28.975257 347.65158 29.417314 347.59461 29.818359 347.5946 curveto -30.875646 347.59461 31.718744 347.85894 32.347656 348.38757 curveto -32.976555 348.91623 33.291008 349.62261 33.291016 350.50671 curveto -33.291008 350.92599 33.211256 351.32475 33.051758 351.703 curveto -32.896803 352.07671 32.611972 352.51876 32.197266 353.02917 curveto -32.083327 353.16134 31.721023 353.54415 31.110352 354.17761 curveto -30.49967 354.80652 29.638343 355.68836 28.526367 356.82312 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -36.394531 356.2489 moveto -37.836914 356.2489 lineto -37.836914 357.42468 lineto -36.71582 359.61218 lineto -35.833984 359.61218 lineto -36.394531 357.42468 lineto -36.394531 356.2489 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -43.49707 351.21082 moveto -42.822588 351.21082 42.289385 351.47514 41.897461 352.00378 curveto -41.505532 352.52788 41.309568 353.24793 41.30957 354.16394 curveto -41.309568 355.07996 41.503253 355.80229 41.890625 356.33093 curveto -42.282549 356.85502 42.81803 357.11707 43.49707 357.11707 curveto -44.166987 357.11707 44.697911 356.85274 45.089844 356.3241 curveto -45.481765 355.79545 45.677728 355.0754 45.677734 354.16394 curveto -45.677728 353.25704 45.481765 352.53927 45.089844 352.01062 curveto -44.697911 351.47742 44.166987 351.21082 43.49707 351.21082 curveto -43.49707 350.14441 moveto -44.590815 350.14442 45.449864 350.49989 46.074219 351.21082 curveto -46.69856 351.92176 47.010734 352.90613 47.010742 354.16394 curveto -47.010734 355.4172 46.69856 356.40157 46.074219 357.11707 curveto -45.449864 357.828 44.590815 358.18347 43.49707 358.18347 curveto -42.39876 358.18347 41.537433 357.828 40.913086 357.11707 curveto -40.293293 356.40157 39.983398 355.4172 39.983398 354.16394 curveto -39.983398 352.90613 40.293293 351.92176 40.913086 351.21082 curveto -41.537433 350.49989 42.39876 350.14442 43.49707 350.14441 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -48.890625 347.36218 moveto -49.984375 347.36218 lineto -50.667966 348.43771 51.178382 349.49045 51.515625 350.52039 curveto -51.857418 351.55034 52.028316 352.57345 52.02832 353.58972 curveto -52.028316 354.61056 51.857418 355.63823 51.515625 356.67273 curveto -51.178382 357.70723 50.667966 358.75997 49.984375 359.83093 curveto -48.890625 359.83093 lineto -49.496743 358.78731 49.947914 357.75053 50.244141 356.72058 curveto -50.544919 355.68608 50.69531 354.64246 50.695312 353.58972 curveto -50.69531 352.53699 50.544919 351.49793 50.244141 350.47253 curveto -49.947914 349.44715 49.496743 348.41037 48.890625 347.36218 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -32.34082 327.36218 moveto -31.730139 328.41037 31.276689 329.44715 30.980469 330.47253 curveto -30.684242 331.49793 30.53613 332.53699 30.536133 333.58972 curveto -30.53613 334.64246 30.684242 335.68608 30.980469 336.72058 curveto -31.281247 337.75053 31.734697 338.78731 32.34082 339.83093 curveto -31.24707 339.83093 lineto -30.563474 338.75997 30.050779 337.70723 29.708984 336.67273 curveto -29.371743 335.63823 29.203124 334.61056 29.203125 333.58972 curveto -29.203124 332.57345 29.371743 331.55034 29.708984 330.52039 curveto -30.046222 329.49045 30.558917 328.43771 31.24707 327.36218 curveto -32.34082 327.36218 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -37.918945 328.68835 moveto -37.208004 328.68836 36.672523 329.03927 36.3125 329.74109 curveto -35.957029 330.43836 35.779295 331.48882 35.779297 332.89246 curveto -35.779295 334.29155 35.957029 335.342 36.3125 336.04382 curveto -36.672523 336.74109 37.208004 337.08972 37.918945 337.08972 curveto -38.634435 337.08972 39.169916 336.74109 39.525391 336.04382 curveto -39.88541 335.342 40.065423 334.29155 40.06543 332.89246 curveto -40.065423 331.48882 39.88541 330.43836 39.525391 329.74109 curveto -39.169916 329.03927 38.634435 328.68836 37.918945 328.68835 curveto -37.918945 327.5946 moveto -39.06282 327.59461 39.93554 328.04806 40.537109 328.95496 curveto -41.143221 329.85731 41.446281 331.16981 41.446289 332.89246 curveto -41.446281 334.61056 41.143221 335.92306 40.537109 336.82996 curveto -39.93554 337.7323 39.06282 338.18347 37.918945 338.18347 curveto -36.775062 338.18347 35.900063 337.7323 35.293945 336.82996 curveto -34.692382 335.92306 34.391601 334.61056 34.391602 332.89246 curveto -34.391601 331.16981 34.692382 329.85731 35.293945 328.95496 curveto -35.900063 328.04806 36.775062 327.59461 37.918945 327.5946 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -44.023438 336.2489 moveto -45.46582 336.2489 lineto -45.46582 337.42468 lineto -44.344727 339.61218 lineto -43.462891 339.61218 lineto -44.023438 337.42468 lineto -44.023438 336.2489 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -51.290039 328.68835 moveto -50.579098 328.68836 50.043617 329.03927 49.683594 329.74109 curveto -49.328123 330.43836 49.150388 331.48882 49.150391 332.89246 curveto -49.150388 334.29155 49.328123 335.342 49.683594 336.04382 curveto -50.043617 336.74109 50.579098 337.08972 51.290039 337.08972 curveto -52.005529 337.08972 52.54101 336.74109 52.896484 336.04382 curveto -53.256504 335.342 53.436517 334.29155 53.436523 332.89246 curveto -53.436517 331.48882 53.256504 330.43836 52.896484 329.74109 curveto -52.54101 329.03927 52.005529 328.68836 51.290039 328.68835 curveto -51.290039 327.5946 moveto -52.433914 327.59461 53.306634 328.04806 53.908203 328.95496 curveto -54.514315 329.85731 54.817375 331.16981 54.817383 332.89246 curveto -54.817375 334.61056 54.514315 335.92306 53.908203 336.82996 curveto -53.306634 337.7323 52.433914 338.18347 51.290039 338.18347 curveto -50.146156 338.18347 49.271156 337.7323 48.665039 336.82996 curveto -48.063475 335.92306 47.762694 334.61056 47.762695 332.89246 curveto -47.762694 331.16981 48.063475 329.85731 48.665039 328.95496 curveto -49.271156 328.04806 50.146156 327.59461 51.290039 327.5946 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -57.394531 336.2489 moveto -58.836914 336.2489 lineto -58.836914 337.42468 lineto -57.71582 339.61218 lineto -56.833984 339.61218 lineto -57.394531 337.42468 lineto -57.394531 336.2489 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -64.49707 331.21082 moveto -63.822588 331.21082 63.289385 331.47514 62.897461 332.00378 curveto -62.505532 332.52788 62.309568 333.24793 62.30957 334.16394 curveto -62.309568 335.07996 62.503253 335.80229 62.890625 336.33093 curveto -63.282549 336.85502 63.81803 337.11707 64.49707 337.11707 curveto -65.166987 337.11707 65.697911 336.85274 66.089844 336.3241 curveto -66.481765 335.79545 66.677728 335.0754 66.677734 334.16394 curveto -66.677728 333.25704 66.481765 332.53927 66.089844 332.01062 curveto -65.697911 331.47742 65.166987 331.21082 64.49707 331.21082 curveto -64.49707 330.14441 moveto -65.590815 330.14442 66.449864 330.49989 67.074219 331.21082 curveto -67.69856 331.92176 68.010734 332.90613 68.010742 334.16394 curveto -68.010734 335.4172 67.69856 336.40157 67.074219 337.11707 curveto -66.449864 337.828 65.590815 338.18347 64.49707 338.18347 curveto -63.39876 338.18347 62.537433 337.828 61.913086 337.11707 curveto -61.293293 336.40157 60.983398 335.4172 60.983398 334.16394 curveto -60.983398 332.90613 61.293293 331.92176 61.913086 331.21082 curveto -62.537433 330.49989 63.39876 330.14442 64.49707 330.14441 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -69.890625 327.36218 moveto -70.984375 327.36218 lineto -71.667966 328.43771 72.178382 329.49045 72.515625 330.52039 curveto -72.857418 331.55034 73.028316 332.57345 73.02832 333.58972 curveto -73.028316 334.61056 72.857418 335.63823 72.515625 336.67273 curveto -72.178382 337.70723 71.667966 338.75997 70.984375 339.83093 curveto -69.890625 339.83093 lineto -70.496743 338.78731 70.947914 337.75053 71.244141 336.72058 curveto -71.544919 335.68608 71.69531 334.64246 71.695312 333.58972 curveto -71.69531 332.53699 71.544919 331.49793 71.244141 330.47253 curveto -70.947914 329.44715 70.496743 328.41037 69.890625 327.36218 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -77.683594 328.36218 moveto -77.072913 329.41037 76.619463 330.44715 76.323242 331.47253 curveto -76.027016 332.49793 75.878904 333.53699 75.878906 334.58972 curveto -75.878904 335.64246 76.027016 336.68608 76.323242 337.72058 curveto -76.62402 338.75053 77.07747 339.78731 77.683594 340.83093 curveto -76.589844 340.83093 lineto -75.906247 339.75997 75.393553 338.70723 75.051758 337.67273 curveto -74.714517 336.63823 74.545897 335.61056 74.545898 334.58972 curveto -74.545897 333.57345 74.714517 332.55034 75.051758 331.52039 curveto -75.388995 330.49045 75.90169 329.43771 76.589844 328.36218 curveto -77.683594 328.36218 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -80.547852 337.82312 moveto -82.803711 337.82312 lineto -82.803711 330.03699 lineto -80.349609 330.52917 lineto -80.349609 329.27136 lineto -82.790039 328.77917 lineto -84.170898 328.77917 lineto -84.170898 337.82312 lineto -86.426758 337.82312 lineto -86.426758 338.98523 lineto -80.547852 338.98523 lineto -80.547852 337.82312 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -89.366211 337.2489 moveto -90.808594 337.2489 lineto -90.808594 338.42468 lineto -89.6875 340.61218 lineto -88.805664 340.61218 lineto -89.366211 338.42468 lineto -89.366211 337.2489 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -93.918945 337.82312 moveto -96.174805 337.82312 lineto -96.174805 330.03699 lineto -93.720703 330.52917 lineto -93.720703 329.27136 lineto -96.161133 328.77917 lineto -97.541992 328.77917 lineto -97.541992 337.82312 lineto -99.797852 337.82312 lineto -99.797852 338.98523 lineto -93.918945 338.98523 lineto -93.918945 337.82312 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -102.7373 337.2489 moveto -104.17969 337.2489 lineto -104.17969 338.42468 lineto -103.05859 340.61218 lineto -102.17676 340.61218 lineto -102.7373 338.42468 lineto -102.7373 337.2489 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -109.83984 332.21082 moveto -109.16536 332.21082 108.63216 332.47514 108.24023 333.00378 curveto -107.8483 333.52788 107.65234 334.24793 107.65234 335.16394 curveto -107.65234 336.07996 107.84603 336.80229 108.2334 337.33093 curveto -108.62532 337.85502 109.1608 338.11707 109.83984 338.11707 curveto -110.50976 338.11707 111.04068 337.85274 111.43262 337.3241 curveto -111.82454 336.79545 112.0205 336.0754 112.02051 335.16394 curveto -112.0205 334.25704 111.82454 333.53927 111.43262 333.01062 curveto -111.04068 332.47742 110.50976 332.21082 109.83984 332.21082 curveto -109.83984 331.14441 moveto -110.93359 331.14442 111.79264 331.49989 112.41699 332.21082 curveto -113.04133 332.92176 113.35351 333.90613 113.35352 335.16394 curveto -113.35351 336.4172 113.04133 337.40157 112.41699 338.11707 curveto -111.79264 338.828 110.93359 339.18347 109.83984 339.18347 curveto -108.74153 339.18347 107.88021 338.828 107.25586 338.11707 curveto -106.63607 337.40157 106.32617 336.4172 106.32617 335.16394 curveto -106.32617 333.90613 106.63607 332.92176 107.25586 332.21082 curveto -107.88021 331.49989 108.74153 331.14442 109.83984 331.14441 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -115.2334 328.36218 moveto -116.32715 328.36218 lineto -117.01074 329.43771 117.52116 330.49045 117.8584 331.52039 curveto -118.20019 332.55034 118.37109 333.57345 118.37109 334.58972 curveto -118.37109 335.61056 118.20019 336.63823 117.8584 337.67273 curveto -117.52116 338.70723 117.01074 339.75997 116.32715 340.83093 curveto -115.2334 340.83093 lineto -115.83952 339.78731 116.29069 338.75053 116.58691 337.72058 curveto -116.88769 336.68608 117.03808 335.64246 117.03809 334.58972 curveto -117.03808 333.53699 116.88769 332.49793 116.58691 331.47253 curveto -116.29069 330.44715 115.83952 329.41037 115.2334 328.36218 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -56.84082 347.36218 moveto -56.230139 348.41037 55.776689 349.44715 55.480469 350.47253 curveto -55.184242 351.49793 55.03613 352.53699 55.036133 353.58972 curveto -55.03613 354.64246 55.184242 355.68608 55.480469 356.72058 curveto -55.781247 357.75053 56.234697 358.78731 56.84082 359.83093 curveto -55.74707 359.83093 lineto -55.063474 358.75997 54.550779 357.70723 54.208984 356.67273 curveto -53.871743 355.63823 53.703124 354.61056 53.703125 353.58972 curveto -53.703124 352.57345 53.871743 351.55034 54.208984 350.52039 curveto -54.546222 349.49045 55.058917 348.43771 55.74707 347.36218 curveto -56.84082 347.36218 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -63.649414 352.4823 moveto -64.310215 352.62358 64.825188 352.91753 65.194336 353.36414 curveto -65.568026 353.81075 65.754875 354.36219 65.754883 355.01843 curveto -65.754875 356.0256 65.408521 356.80489 64.71582 357.35632 curveto -64.023106 357.90776 63.038732 358.18347 61.762695 358.18347 curveto -61.334307 358.18347 60.89225 358.14018 60.436523 358.05359 curveto -59.98535 357.97156 59.518228 357.84623 59.035156 357.67761 curveto -59.035156 356.3446 lineto -59.417967 356.56791 59.837238 356.73653 60.292969 356.85046 curveto -60.748695 356.9644 61.224932 357.02136 61.72168 357.02136 curveto -62.58756 357.02136 63.246088 356.85047 63.697266 356.50867 curveto -64.152989 356.16687 64.380853 355.67013 64.380859 355.01843 curveto -64.380853 354.41687 64.168939 353.94747 63.745117 353.61023 curveto -63.325841 353.26844 62.74023 353.09754 61.988281 353.09753 curveto -60.798828 353.09753 lineto -60.798828 351.96277 lineto -62.042969 351.96277 lineto -62.722 351.96277 63.241531 351.82833 63.601562 351.55945 curveto -63.961583 351.28602 64.141595 350.89409 64.141602 350.38367 curveto -64.141595 349.85959 63.954747 349.45855 63.581055 349.18054 curveto -63.211909 348.898 62.680985 348.75672 61.988281 348.75671 curveto -61.610022 348.75672 61.204424 348.79774 60.771484 348.87976 curveto -60.338539 348.9618 59.862303 349.08941 59.342773 349.26257 curveto -59.342773 348.0321 lineto -59.86686 347.88628 60.356768 347.77691 60.8125 347.70398 curveto -61.272783 347.63107 61.705725 347.59461 62.111328 347.5946 curveto -63.1595 347.59461 63.988926 347.83387 64.599609 348.31238 curveto -65.210279 348.78635 65.515617 349.42892 65.515625 350.24011 curveto -65.515617 350.80522 65.353834 351.28374 65.030273 351.67566 curveto -64.706699 352.06303 64.246413 352.33191 63.649414 352.4823 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -68.523438 356.2489 moveto -69.96582 356.2489 lineto -69.96582 357.42468 lineto -68.844727 359.61218 lineto -67.962891 359.61218 lineto -68.523438 357.42468 lineto -68.523438 356.2489 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -77.020508 352.4823 moveto -77.681309 352.62358 78.196282 352.91753 78.56543 353.36414 curveto -78.93912 353.81075 79.125969 354.36219 79.125977 355.01843 curveto -79.125969 356.0256 78.779615 356.80489 78.086914 357.35632 curveto -77.3942 357.90776 76.409826 358.18347 75.133789 358.18347 curveto -74.7054 358.18347 74.263343 358.14018 73.807617 358.05359 curveto -73.356443 357.97156 72.889321 357.84623 72.40625 357.67761 curveto -72.40625 356.3446 lineto -72.789061 356.56791 73.208331 356.73653 73.664062 356.85046 curveto -74.119789 356.9644 74.596025 357.02136 75.092773 357.02136 curveto -75.958654 357.02136 76.617182 356.85047 77.068359 356.50867 curveto -77.524082 356.16687 77.751947 355.67013 77.751953 355.01843 curveto -77.751947 354.41687 77.540033 353.94747 77.116211 353.61023 curveto -76.696935 353.26844 76.111323 353.09754 75.359375 353.09753 curveto -74.169922 353.09753 lineto -74.169922 351.96277 lineto -75.414062 351.96277 lineto -76.093094 351.96277 76.612625 351.82833 76.972656 351.55945 curveto -77.332676 351.28602 77.512689 350.89409 77.512695 350.38367 curveto -77.512689 349.85959 77.32584 349.45855 76.952148 349.18054 curveto -76.583003 348.898 76.052079 348.75672 75.359375 348.75671 curveto -74.981116 348.75672 74.575518 348.79774 74.142578 348.87976 curveto -73.709633 348.9618 73.233397 349.08941 72.713867 349.26257 curveto -72.713867 348.0321 lineto -73.237954 347.88628 73.727862 347.77691 74.183594 347.70398 curveto -74.643877 347.63107 75.076819 347.59461 75.482422 347.5946 curveto -76.530594 347.59461 77.36002 347.83387 77.970703 348.31238 curveto -78.581373 348.78635 78.886711 349.42892 78.886719 350.24011 curveto -78.886711 350.80522 78.724928 351.28374 78.401367 351.67566 curveto -78.077793 352.06303 77.617507 352.33191 77.020508 352.4823 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -81.894531 356.2489 moveto -83.336914 356.2489 lineto -83.336914 357.42468 lineto -82.21582 359.61218 lineto -81.333984 359.61218 lineto -81.894531 357.42468 lineto -81.894531 356.2489 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -88.99707 351.21082 moveto -88.322588 351.21082 87.789385 351.47514 87.397461 352.00378 curveto -87.005532 352.52788 86.809568 353.24793 86.80957 354.16394 curveto -86.809568 355.07996 87.003253 355.80229 87.390625 356.33093 curveto -87.782549 356.85502 88.31803 357.11707 88.99707 357.11707 curveto -89.666987 357.11707 90.197911 356.85274 90.589844 356.3241 curveto -90.981765 355.79545 91.177728 355.0754 91.177734 354.16394 curveto -91.177728 353.25704 90.981765 352.53927 90.589844 352.01062 curveto -90.197911 351.47742 89.666987 351.21082 88.99707 351.21082 curveto -88.99707 350.14441 moveto -90.090815 350.14442 90.949864 350.49989 91.574219 351.21082 curveto -92.19856 351.92176 92.510734 352.90613 92.510742 354.16394 curveto -92.510734 355.4172 92.19856 356.40157 91.574219 357.11707 curveto -90.949864 357.828 90.090815 358.18347 88.99707 358.18347 curveto -87.89876 358.18347 87.037433 357.828 86.413086 357.11707 curveto -85.793293 356.40157 85.483398 355.4172 85.483398 354.16394 curveto -85.483398 352.90613 85.793293 351.92176 86.413086 351.21082 curveto -87.037433 350.49989 87.89876 350.14442 88.99707 350.14441 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -94.390625 347.36218 moveto -95.484375 347.36218 lineto -96.167966 348.43771 96.678382 349.49045 97.015625 350.52039 curveto -97.357418 351.55034 97.528316 352.57345 97.52832 353.58972 curveto -97.528316 354.61056 97.357418 355.63823 97.015625 356.67273 curveto -96.678382 357.70723 96.167966 358.75997 95.484375 359.83093 curveto -94.390625 359.83093 lineto -94.996743 358.78731 95.447914 357.75053 95.744141 356.72058 curveto -96.044919 355.68608 96.19531 354.64246 96.195312 353.58972 curveto -96.19531 352.53699 96.044919 351.49793 95.744141 350.47253 curveto -95.447914 349.44715 94.996743 348.41037 94.390625 347.36218 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -102.34082 348.36218 moveto -101.73014 349.41037 101.27669 350.44715 100.98047 351.47253 curveto -100.68424 352.49793 100.53613 353.53699 100.53613 354.58972 curveto -100.53613 355.64246 100.68424 356.68608 100.98047 357.72058 curveto -101.28125 358.75053 101.7347 359.78731 102.34082 360.83093 curveto -101.24707 360.83093 lineto -100.56347 359.75997 100.05078 358.70723 99.708984 357.67273 curveto -99.371743 356.63823 99.203124 355.61056 99.203125 354.58972 curveto -99.203124 353.57345 99.371743 352.55034 99.708984 351.52039 curveto -100.04622 350.49045 100.55892 349.43771 101.24707 348.36218 curveto -102.34082 348.36218 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -108.75977 349.9823 moveto -105.27344 355.43054 lineto -108.75977 355.43054 lineto -108.75977 349.9823 lineto -108.39746 348.77917 moveto -110.13379 348.77917 lineto -110.13379 355.43054 lineto -111.58984 355.43054 lineto -111.58984 356.57898 lineto -110.13379 356.57898 lineto -110.13379 358.98523 lineto -108.75977 358.98523 lineto -108.75977 356.57898 lineto -104.15234 356.57898 lineto -104.15234 355.24597 lineto -108.39746 348.77917 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -114.02344 357.2489 moveto -115.46582 357.2489 lineto -115.46582 358.42468 lineto -114.34473 360.61218 lineto -113.46289 360.61218 lineto -114.02344 358.42468 lineto -114.02344 357.2489 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -122.13086 349.9823 moveto -118.64453 355.43054 lineto -122.13086 355.43054 lineto -122.13086 349.9823 lineto -121.76855 348.77917 moveto -123.50488 348.77917 lineto -123.50488 355.43054 lineto -124.96094 355.43054 lineto -124.96094 356.57898 lineto -123.50488 356.57898 lineto -123.50488 358.98523 lineto -122.13086 358.98523 lineto -122.13086 356.57898 lineto -117.52344 356.57898 lineto -117.52344 355.24597 lineto -121.76855 348.77917 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -127.39453 357.2489 moveto -128.83691 357.2489 lineto -128.83691 358.42468 lineto -127.71582 360.61218 lineto -126.83398 360.61218 lineto -127.39453 358.42468 lineto -127.39453 357.2489 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -134.49707 352.21082 moveto -133.82259 352.21082 133.28938 352.47514 132.89746 353.00378 curveto -132.50553 353.52788 132.30957 354.24793 132.30957 355.16394 curveto -132.30957 356.07996 132.50325 356.80229 132.89062 357.33093 curveto -133.28255 357.85502 133.81803 358.11707 134.49707 358.11707 curveto -135.16699 358.11707 135.69791 357.85274 136.08984 357.3241 curveto -136.48176 356.79545 136.67773 356.0754 136.67773 355.16394 curveto -136.67773 354.25704 136.48176 353.53927 136.08984 353.01062 curveto -135.69791 352.47742 135.16699 352.21082 134.49707 352.21082 curveto -134.49707 351.14441 moveto -135.59081 351.14442 136.44986 351.49989 137.07422 352.21082 curveto -137.69856 352.92176 138.01073 353.90613 138.01074 355.16394 curveto -138.01073 356.4172 137.69856 357.40157 137.07422 358.11707 curveto -136.44986 358.828 135.59081 359.18347 134.49707 359.18347 curveto -133.39876 359.18347 132.53743 358.828 131.91309 358.11707 curveto -131.29329 357.40157 130.9834 356.4172 130.9834 355.16394 curveto -130.9834 353.90613 131.29329 352.92176 131.91309 352.21082 curveto -132.53743 351.49989 133.39876 351.14442 134.49707 351.14441 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -139.89062 348.36218 moveto -140.98438 348.36218 lineto -141.66797 349.43771 142.17838 350.49045 142.51562 351.52039 curveto -142.85742 352.55034 143.02832 353.57345 143.02832 354.58972 curveto -143.02832 355.61056 142.85742 356.63823 142.51562 357.67273 curveto -142.17838 358.70723 141.66797 359.75997 140.98438 360.83093 curveto -139.89062 360.83093 lineto -140.49674 359.78731 140.94791 358.75053 141.24414 357.72058 curveto -141.54492 356.68608 141.69531 355.64246 141.69531 354.58972 curveto -141.69531 353.53699 141.54492 352.49793 141.24414 351.47253 curveto -140.94791 350.44715 140.49674 349.41037 139.89062 348.36218 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -27.34082 371.86218 moveto -26.730139 372.91037 26.276689 373.94715 25.980469 374.97253 curveto -25.684242 375.99793 25.53613 377.03699 25.536133 378.08972 curveto -25.53613 379.14246 25.684242 380.18608 25.980469 381.22058 curveto -26.281247 382.25053 26.734697 383.28731 27.34082 384.33093 curveto -26.24707 384.33093 lineto -25.563474 383.25997 25.050779 382.20723 24.708984 381.17273 curveto -24.371743 380.13823 24.203124 379.11056 24.203125 378.08972 curveto -24.203124 377.07345 24.371743 376.05034 24.708984 375.02039 curveto -25.046222 373.99045 25.558917 372.93771 26.24707 371.86218 curveto -27.34082 371.86218 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -29.979492 372.27917 moveto -35.400391 372.27917 lineto -35.400391 373.44128 lineto -31.244141 373.44128 lineto -31.244141 375.94324 lineto -31.444658 375.87488 31.645179 375.82475 31.845703 375.79285 curveto -32.04622 375.7564 32.246741 375.73817 32.447266 375.73816 curveto -33.586583 375.73817 34.488926 376.05034 35.154297 376.67468 curveto -35.819654 377.29904 36.152336 378.14441 36.152344 379.21082 curveto -36.152336 380.30912 35.81054 381.16362 35.126953 381.77429 curveto -34.443353 382.38041 33.479487 382.68347 32.235352 382.68347 curveto -31.806963 382.68347 31.369463 382.64701 30.922852 382.5741 curveto -30.480792 382.50118 30.022785 382.39181 29.548828 382.24597 curveto -29.548828 380.85828 lineto -29.958983 381.08159 30.382811 381.24793 30.820312 381.3573 curveto -31.25781 381.46668 31.720374 381.52136 32.208008 381.52136 curveto -32.996415 381.52136 33.620763 381.31401 34.081055 380.89929 curveto -34.541335 380.48458 34.771478 379.92176 34.771484 379.21082 curveto -34.771478 378.49988 34.541335 377.93706 34.081055 377.52234 curveto -33.620763 377.10763 32.996415 376.90027 32.208008 376.90027 curveto -31.838864 376.90027 31.469724 376.94129 31.100586 377.02332 curveto -30.736 377.10535 30.362303 377.23296 29.979492 377.40613 curveto -29.979492 372.27917 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -39.023438 380.7489 moveto -40.46582 380.7489 lineto -40.46582 381.92468 lineto -39.344727 384.11218 lineto -38.462891 384.11218 lineto -39.023438 381.92468 lineto -39.023438 380.7489 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -43.350586 372.27917 moveto -48.771484 372.27917 lineto -48.771484 373.44128 lineto -44.615234 373.44128 lineto -44.615234 375.94324 lineto -44.815752 375.87488 45.016273 375.82475 45.216797 375.79285 curveto -45.417314 375.7564 45.617835 375.73817 45.818359 375.73816 curveto -46.957677 375.73817 47.86002 376.05034 48.525391 376.67468 curveto -49.190748 377.29904 49.52343 378.14441 49.523438 379.21082 curveto -49.52343 380.30912 49.181633 381.16362 48.498047 381.77429 curveto -47.814447 382.38041 46.850581 382.68347 45.606445 382.68347 curveto -45.178057 382.68347 44.740557 382.64701 44.293945 382.5741 curveto -43.851886 382.50118 43.393879 382.39181 42.919922 382.24597 curveto -42.919922 380.85828 lineto -43.330077 381.08159 43.753904 381.24793 44.191406 381.3573 curveto -44.628903 381.46668 45.091468 381.52136 45.579102 381.52136 curveto -46.367508 381.52136 46.991857 381.31401 47.452148 380.89929 curveto -47.912429 380.48458 48.142572 379.92176 48.142578 379.21082 curveto -48.142572 378.49988 47.912429 377.93706 47.452148 377.52234 curveto -46.991857 377.10763 46.367508 376.90027 45.579102 376.90027 curveto -45.209958 376.90027 44.840817 376.94129 44.47168 377.02332 curveto -44.107094 377.10535 43.733397 377.23296 43.350586 377.40613 curveto -43.350586 372.27917 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -52.394531 380.7489 moveto -53.836914 380.7489 lineto -53.836914 381.92468 lineto -52.71582 384.11218 lineto -51.833984 384.11218 lineto -52.394531 381.92468 lineto -52.394531 380.7489 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -59.49707 375.71082 moveto -58.822588 375.71082 58.289385 375.97514 57.897461 376.50378 curveto -57.505532 377.02788 57.309568 377.74793 57.30957 378.66394 curveto -57.309568 379.57996 57.503253 380.30229 57.890625 380.83093 curveto -58.282549 381.35502 58.81803 381.61707 59.49707 381.61707 curveto -60.166987 381.61707 60.697911 381.35274 61.089844 380.8241 curveto -61.481765 380.29545 61.677728 379.5754 61.677734 378.66394 curveto -61.677728 377.75704 61.481765 377.03927 61.089844 376.51062 curveto -60.697911 375.97742 60.166987 375.71082 59.49707 375.71082 curveto -59.49707 374.64441 moveto -60.590815 374.64442 61.449864 374.99989 62.074219 375.71082 curveto -62.69856 376.42176 63.010734 377.40613 63.010742 378.66394 curveto -63.010734 379.9172 62.69856 380.90157 62.074219 381.61707 curveto -61.449864 382.328 60.590815 382.68347 59.49707 382.68347 curveto -58.39876 382.68347 57.537433 382.328 56.913086 381.61707 curveto -56.293293 380.90157 55.983398 379.9172 55.983398 378.66394 curveto -55.983398 377.40613 56.293293 376.42176 56.913086 375.71082 curveto -57.537433 374.99989 58.39876 374.64442 59.49707 374.64441 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -64.890625 371.86218 moveto -65.984375 371.86218 lineto -66.667966 372.93771 67.178382 373.99045 67.515625 375.02039 curveto -67.857418 376.05034 68.028316 377.07345 68.02832 378.08972 curveto -68.028316 379.11056 67.857418 380.13823 67.515625 381.17273 curveto -67.178382 382.20723 66.667966 383.25997 65.984375 384.33093 curveto -64.890625 384.33093 lineto -65.496743 383.28731 65.947914 382.25053 66.244141 381.22058 curveto -66.544919 380.18608 66.69531 379.14246 66.695312 378.08972 curveto -66.69531 377.03699 66.544919 375.99793 66.244141 374.97253 curveto -65.947914 373.94715 65.496743 372.91037 64.890625 371.86218 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -75.84082 370.86218 moveto -75.230139 371.91037 74.776689 372.94715 74.480469 373.97253 curveto -74.184242 374.99793 74.03613 376.03699 74.036133 377.08972 curveto -74.03613 378.14246 74.184242 379.18608 74.480469 380.22058 curveto -74.781247 381.25053 75.234697 382.28731 75.84082 383.33093 curveto -74.74707 383.33093 lineto -74.063474 382.25997 73.550779 381.20723 73.208984 380.17273 curveto -72.871743 379.13823 72.703124 378.11056 72.703125 377.08972 curveto -72.703124 376.07345 72.871743 375.05034 73.208984 374.02039 curveto -73.546222 372.99045 74.058917 371.93771 74.74707 370.86218 curveto -75.84082 370.86218 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -81.589844 375.83191 moveto -80.970048 375.83191 80.477861 376.04383 80.113281 376.46765 curveto -79.753252 376.89148 79.57324 377.47254 79.573242 378.21082 curveto -79.57324 378.94454 79.753252 379.5256 80.113281 379.95398 curveto -80.477861 380.37781 80.970048 380.58972 81.589844 380.58972 curveto -82.20963 380.58972 82.699539 380.37781 83.05957 379.95398 curveto -83.424147 379.5256 83.606439 378.94454 83.606445 378.21082 curveto -83.606439 377.47254 83.424147 376.89148 83.05957 376.46765 curveto -82.699539 376.04383 82.20963 375.83191 81.589844 375.83191 curveto -84.331055 371.50476 moveto -84.331055 372.76257 lineto -83.984694 372.59852 83.633782 372.47319 83.27832 372.3866 curveto -82.927403 372.30002 82.57877 372.25672 82.232422 372.25671 curveto -81.320959 372.25672 80.623694 372.56434 80.140625 373.17957 curveto -79.662107 373.79481 79.388669 374.72449 79.320312 375.96863 curveto -79.58919 375.57215 79.926429 375.26909 80.332031 375.05945 curveto -80.737626 374.84526 81.184241 374.73817 81.671875 374.73816 curveto -82.69726 374.73817 83.506178 375.05034 84.098633 375.67468 curveto -84.69563 376.29448 84.994133 377.13986 84.994141 378.21082 curveto -84.994133 379.25899 84.684237 380.09981 84.064453 380.73328 curveto -83.444655 381.36674 82.619786 381.68347 81.589844 381.68347 curveto -80.409502 381.68347 79.507159 381.2323 78.882812 380.32996 curveto -78.258462 379.42306 77.946288 378.11056 77.946289 376.39246 curveto -77.946288 374.77918 78.3291 373.49403 79.094727 372.53699 curveto -79.860349 371.57541 80.888017 371.09461 82.177734 371.0946 curveto -82.524083 371.09461 82.872715 371.12879 83.223633 371.19714 curveto -83.579095 371.26551 83.948235 371.36805 84.331055 371.50476 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -87.523438 379.7489 moveto -88.96582 379.7489 lineto -88.96582 380.92468 lineto -87.844727 383.11218 lineto -86.962891 383.11218 lineto -87.523438 380.92468 lineto -87.523438 379.7489 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -94.960938 375.83191 moveto -94.341142 375.83191 93.848955 376.04383 93.484375 376.46765 curveto -93.124346 376.89148 92.944333 377.47254 92.944336 378.21082 curveto -92.944333 378.94454 93.124346 379.5256 93.484375 379.95398 curveto -93.848955 380.37781 94.341142 380.58972 94.960938 380.58972 curveto -95.580724 380.58972 96.070632 380.37781 96.430664 379.95398 curveto -96.795241 379.5256 96.977532 378.94454 96.977539 378.21082 curveto -96.977532 377.47254 96.795241 376.89148 96.430664 376.46765 curveto -96.070632 376.04383 95.580724 375.83191 94.960938 375.83191 curveto -97.702148 371.50476 moveto -97.702148 372.76257 lineto -97.355787 372.59852 97.004876 372.47319 96.649414 372.3866 curveto -96.298497 372.30002 95.949864 372.25672 95.603516 372.25671 curveto -94.692053 372.25672 93.994788 372.56434 93.511719 373.17957 curveto -93.0332 373.79481 92.759763 374.72449 92.691406 375.96863 curveto -92.960284 375.57215 93.297523 375.26909 93.703125 375.05945 curveto -94.10872 374.84526 94.555334 374.73817 95.042969 374.73816 curveto -96.068354 374.73817 96.877272 375.05034 97.469727 375.67468 curveto -98.066724 376.29448 98.365226 377.13986 98.365234 378.21082 curveto -98.365226 379.25899 98.055331 380.09981 97.435547 380.73328 curveto -96.815749 381.36674 95.99088 381.68347 94.960938 381.68347 curveto -93.780596 381.68347 92.878253 381.2323 92.253906 380.32996 curveto -91.629556 379.42306 91.317382 378.11056 91.317383 376.39246 curveto -91.317382 374.77918 91.700194 373.49403 92.46582 372.53699 curveto -93.231442 371.57541 94.259111 371.09461 95.548828 371.0946 curveto -95.895177 371.09461 96.243809 371.12879 96.594727 371.19714 curveto -96.950189 371.26551 97.319329 371.36805 97.702148 371.50476 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -100.89453 379.7489 moveto -102.33691 379.7489 lineto -102.33691 380.92468 lineto -101.21582 383.11218 lineto -100.33398 383.11218 lineto -100.89453 380.92468 lineto -100.89453 379.7489 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -110.06836 377.56824 moveto -110.06835 376.65678 109.87923 375.9504 109.50098 375.4491 curveto -109.12727 374.9478 108.60091 374.69715 107.92188 374.69714 curveto -107.24739 374.69715 106.72103 374.9478 106.34277 375.4491 curveto -105.96907 375.9504 105.78222 376.65678 105.78223 377.56824 curveto -105.78222 378.47514 105.96907 379.17924 106.34277 379.68054 curveto -106.72103 380.18185 107.24739 380.4325 107.92188 380.4325 curveto -108.60091 380.4325 109.12727 380.18185 109.50098 379.68054 curveto -109.87923 379.17924 110.06835 378.47514 110.06836 377.56824 curveto -111.32617 380.53503 moveto -111.32616 381.83842 111.03678 382.80684 110.45801 383.44031 curveto -109.87923 384.07833 108.99283 384.39734 107.79883 384.39734 curveto -107.35677 384.39734 106.93978 384.36316 106.54785 384.2948 curveto -106.15592 384.23099 105.77539 384.13073 105.40625 383.99402 curveto -105.40625 382.77039 lineto -105.77539 382.97091 106.13997 383.11902 106.5 383.21472 curveto -106.86002 383.31042 107.22688 383.35827 107.60059 383.35828 curveto -108.42545 383.35827 109.04296 383.1418 109.45312 382.70886 curveto -109.86328 382.28048 110.06835 381.63106 110.06836 380.76062 curveto -110.06836 380.13855 lineto -109.80859 380.58972 109.47591 380.92696 109.07031 381.15027 curveto -108.66471 381.37358 108.17936 381.48523 107.61426 381.48523 curveto -106.67545 381.48523 105.91894 381.12748 105.34473 380.41199 curveto -104.77051 379.69649 104.4834 378.74858 104.4834 377.56824 curveto -104.4834 376.38335 104.77051 375.43315 105.34473 374.71765 curveto -105.91894 374.00216 106.67545 373.64442 107.61426 373.64441 curveto -108.17936 373.64442 108.66471 373.75607 109.07031 373.97937 curveto -109.47591 374.20268 109.80859 374.53992 110.06836 374.99109 curveto -110.06836 373.82898 lineto -111.32617 373.82898 lineto -111.32617 380.53503 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -113.71875 370.86218 moveto -114.8125 370.86218 lineto -115.49609 371.93771 116.00651 372.99045 116.34375 374.02039 curveto -116.68554 375.05034 116.85644 376.07345 116.85645 377.08972 curveto -116.85644 378.11056 116.68554 379.13823 116.34375 380.17273 curveto -116.00651 381.20723 115.49609 382.25997 114.8125 383.33093 curveto -113.71875 383.33093 lineto -114.32487 382.28731 114.77604 381.25053 115.07227 380.22058 curveto -115.37304 379.18608 115.52343 378.14246 115.52344 377.08972 curveto -115.52343 376.03699 115.37304 374.99793 115.07227 373.97253 curveto -114.77604 372.94715 114.32487 371.91037 113.71875 370.86218 curveto -fill -grestore -gsave [1.04082 0 0 0.999696 -220.2817 5.106745] concat -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -349.5 351.36218 moveto -349.5 378.68618 319.484 400.86218 282.5 400.86218 curveto -245.516 400.86218 215.5 378.68618 215.5 351.36218 curveto -215.5 324.03818 245.516 301.86218 282.5 301.86218 curveto -319.484 301.86218 349.5 324.03818 349.5 351.36218 curveto -closepath -stroke -grestore -gsave -0 0 0 setrgbcolor -newpath -66.874023 311.95789 moveto -68.254883 311.95789 lineto -68.254883 322.16394 lineto -66.874023 322.16394 lineto -66.874023 311.95789 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -75.829102 314.73328 moveto -75.829102 315.92273 lineto -75.473627 315.74044 75.104487 315.60373 74.72168 315.51257 curveto -74.338862 315.42143 73.942378 315.37586 73.532227 315.37585 curveto -72.907874 315.37586 72.438474 315.47156 72.124023 315.66296 curveto -71.814125 315.85438 71.659178 316.14149 71.65918 316.52429 curveto -71.659178 316.81596 71.770831 317.04611 71.994141 317.21472 curveto -72.217445 317.37879 72.666338 317.53602 73.34082 317.6864 curveto -73.771484 317.7821 lineto -74.664709 317.97351 75.298171 318.24467 75.671875 318.59558 curveto -76.050124 318.94194 76.239251 319.42729 76.239258 320.05164 curveto -76.239251 320.76257 75.956699 321.3254 75.391602 321.74011 curveto -74.831049 322.15483 74.058589 322.36218 73.074219 322.36218 curveto -72.664059 322.36218 72.235674 322.32117 71.789062 322.23914 curveto -71.347003 322.16166 70.879882 322.04317 70.387695 321.88367 curveto -70.387695 320.58484 lineto -70.852538 320.82638 71.310545 321.00867 71.761719 321.13171 curveto -72.212888 321.2502 72.659502 321.30945 73.101562 321.30945 curveto -73.694006 321.30945 74.149735 321.20919 74.46875 321.00867 curveto -74.787755 320.80359 74.94726 320.51648 74.947266 320.14734 curveto -74.94726 319.80554 74.831049 319.5435 74.598633 319.36121 curveto -74.370763 319.17892 73.867183 319.00346 73.087891 318.83484 curveto -72.650391 318.7323 lineto -71.871092 318.56824 71.308267 318.31759 70.961914 317.98035 curveto -70.615559 317.63855 70.442382 317.17143 70.442383 316.57898 curveto -70.442382 315.85893 70.69759 315.30294 71.208008 314.91101 curveto -71.718422 314.51909 72.443031 314.32313 73.381836 314.32312 curveto -73.846675 314.32313 74.284175 314.35731 74.694336 314.42566 curveto -75.104487 314.49403 75.482742 314.59657 75.829102 314.73328 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -6.3125 439.27167 moveto -5.7018192 440.31985 5.2483691 441.35664 4.9521484 442.38202 curveto -4.6559218 443.40742 4.50781 444.44648 4.5078125 445.49921 curveto -4.50781 446.55194 4.6559218 447.59556 4.9521484 448.63007 curveto -5.2529264 449.66001 5.7063765 450.6968 6.3125 451.74042 curveto -5.21875 451.74042 lineto -4.5351537 450.66945 4.0224589 449.61672 3.6806641 448.58221 curveto -3.3434231 447.54771 3.1748035 446.52004 3.1748047 445.49921 curveto -3.1748035 444.48294 3.3434231 443.45982 3.6806641 442.42987 curveto -4.0179016 441.39993 4.5305964 440.3472 5.21875 439.27167 curveto -6.3125 439.27167 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -11.890625 440.59784 moveto -11.179684 440.59785 10.644203 440.94876 10.28418 441.65057 curveto -9.9287084 442.34785 9.7509743 443.3983 9.7509766 444.80194 curveto -9.7509743 446.20103 9.9287084 447.25149 10.28418 447.95331 curveto -10.644203 448.65057 11.179684 448.99921 11.890625 448.99921 curveto -12.606115 448.99921 13.141596 448.65057 13.49707 447.95331 curveto -13.85709 447.25149 14.037103 446.20103 14.037109 444.80194 curveto -14.037103 443.3983 13.85709 442.34785 13.49707 441.65057 curveto -13.141596 440.94876 12.606115 440.59785 11.890625 440.59784 curveto -11.890625 439.50409 moveto -13.0345 439.5041 13.90722 439.95755 14.508789 440.86444 curveto -15.114901 441.76679 15.417961 443.07929 15.417969 444.80194 curveto -15.417961 446.52004 15.114901 447.83254 14.508789 448.73944 curveto -13.90722 449.64178 13.0345 450.09296 11.890625 450.09296 curveto -10.746741 450.09296 9.8717424 449.64178 9.265625 448.73944 curveto -8.6640613 447.83254 8.3632803 446.52004 8.3632812 444.80194 curveto -8.3632803 443.07929 8.6640613 441.76679 9.265625 440.86444 curveto -9.8717424 439.95755 10.746741 439.5041 11.890625 439.50409 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -17.995117 448.15839 moveto -19.4375 448.15839 lineto -19.4375 449.33417 lineto -18.316406 451.52167 lineto -17.43457 451.52167 lineto -17.995117 449.33417 lineto -17.995117 448.15839 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -25.261719 440.59784 moveto -24.550778 440.59785 24.015296 440.94876 23.655273 441.65057 curveto -23.299802 442.34785 23.122068 443.3983 23.12207 444.80194 curveto -23.122068 446.20103 23.299802 447.25149 23.655273 447.95331 curveto -24.015296 448.65057 24.550778 448.99921 25.261719 448.99921 curveto -25.977208 448.99921 26.51269 448.65057 26.868164 447.95331 curveto -27.228184 447.25149 27.408197 446.20103 27.408203 444.80194 curveto -27.408197 443.3983 27.228184 442.34785 26.868164 441.65057 curveto -26.51269 440.94876 25.977208 440.59785 25.261719 440.59784 curveto -25.261719 439.50409 moveto -26.405593 439.5041 27.278314 439.95755 27.879883 440.86444 curveto -28.485995 441.76679 28.789055 443.07929 28.789062 444.80194 curveto -28.789055 446.52004 28.485995 447.83254 27.879883 448.73944 curveto -27.278314 449.64178 26.405593 450.09296 25.261719 450.09296 curveto -24.117835 450.09296 23.242836 449.64178 22.636719 448.73944 curveto -22.035155 447.83254 21.734374 446.52004 21.734375 444.80194 curveto -21.734374 443.07929 22.035155 441.76679 22.636719 440.86444 curveto -23.242836 439.95755 24.117835 439.5041 25.261719 439.50409 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -31.366211 448.15839 moveto -32.808594 448.15839 lineto -32.808594 449.33417 lineto -31.6875 451.52167 lineto -30.805664 451.52167 lineto -31.366211 449.33417 lineto -31.366211 448.15839 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -38.46875 443.1203 moveto -37.794267 443.12031 37.261065 443.38463 36.869141 443.91327 curveto -36.477211 444.43736 36.281248 445.15741 36.28125 446.07343 curveto -36.281248 446.98944 36.474933 447.71177 36.862305 448.24042 curveto -37.254229 448.76451 37.78971 449.02655 38.46875 449.02655 curveto -39.138667 449.02655 39.669591 448.76223 40.061523 448.23358 curveto -40.453444 447.70494 40.649408 446.98489 40.649414 446.07343 curveto -40.649408 445.16653 40.453444 444.44876 40.061523 443.9201 curveto -39.669591 443.38691 39.138667 443.12031 38.46875 443.1203 curveto -38.46875 442.05389 moveto -39.562495 442.0539 40.421543 442.40937 41.045898 443.1203 curveto -41.67024 443.83124 41.982414 444.81562 41.982422 446.07343 curveto -41.982414 447.32668 41.67024 448.31106 41.045898 449.02655 curveto -40.421543 449.73749 39.562495 450.09296 38.46875 450.09296 curveto -37.37044 450.09296 36.509112 449.73749 35.884766 449.02655 curveto -35.264973 448.31106 34.955077 447.32668 34.955078 446.07343 curveto -34.955077 444.81562 35.264973 443.83124 35.884766 443.1203 curveto -36.509112 442.40937 37.37044 442.0539 38.46875 442.05389 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -43.862305 439.27167 moveto -44.956055 439.27167 lineto -45.639646 440.3472 46.150062 441.39993 46.487305 442.42987 curveto -46.829097 443.45982 46.999996 444.48294 47 445.49921 curveto -46.999996 446.52004 46.829097 447.54771 46.487305 448.58221 curveto -46.150062 449.61672 45.639646 450.66945 44.956055 451.74042 curveto -43.862305 451.74042 lineto -44.468423 450.6968 44.919594 449.66001 45.21582 448.63007 curveto -45.516599 447.59556 45.666989 446.55194 45.666992 445.49921 curveto -45.666989 444.44648 45.516599 443.40742 45.21582 442.38202 curveto -44.919594 441.35664 44.468423 440.31985 43.862305 439.27167 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -51.951172 439.27167 moveto -51.340491 440.31985 50.887041 441.35664 50.59082 442.38202 curveto -50.294594 443.40742 50.146482 444.44648 50.146484 445.49921 curveto -50.146482 446.55194 50.294594 447.59556 50.59082 448.63007 curveto -50.891598 449.66001 51.345048 450.6968 51.951172 451.74042 curveto -50.857422 451.74042 lineto -50.173826 450.66945 49.661131 449.61672 49.319336 448.58221 curveto -48.982095 447.54771 48.813475 446.52004 48.813477 445.49921 curveto -48.813475 444.48294 48.982095 443.45982 49.319336 442.42987 curveto -49.656573 441.39993 50.169268 440.3472 50.857422 439.27167 curveto -51.951172 439.27167 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -54.81543 448.7326 moveto -57.071289 448.7326 lineto -57.071289 440.94647 lineto -54.617188 441.43866 lineto -54.617188 440.18085 lineto -57.057617 439.68866 lineto -58.438477 439.68866 lineto -58.438477 448.7326 lineto -60.694336 448.7326 lineto -60.694336 449.89471 lineto -54.81543 449.89471 lineto -54.81543 448.7326 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -63.633789 448.15839 moveto -65.076172 448.15839 lineto -65.076172 449.33417 lineto -63.955078 451.52167 lineto -63.073242 451.52167 lineto -63.633789 449.33417 lineto -63.633789 448.15839 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -68.186523 448.7326 moveto -70.442383 448.7326 lineto -70.442383 440.94647 lineto -67.988281 441.43866 lineto -67.988281 440.18085 lineto -70.428711 439.68866 lineto -71.80957 439.68866 lineto -71.80957 448.7326 lineto -74.06543 448.7326 lineto -74.06543 449.89471 lineto -68.186523 449.89471 lineto -68.186523 448.7326 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -77.004883 448.15839 moveto -78.447266 448.15839 lineto -78.447266 449.33417 lineto -77.326172 451.52167 lineto -76.444336 451.52167 lineto -77.004883 449.33417 lineto -77.004883 448.15839 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -84.107422 443.1203 moveto -83.432939 443.12031 82.899737 443.38463 82.507812 443.91327 curveto -82.115883 444.43736 81.91992 445.15741 81.919922 446.07343 curveto -81.91992 446.98944 82.113604 447.71177 82.500977 448.24042 curveto -82.892901 448.76451 83.428382 449.02655 84.107422 449.02655 curveto -84.777339 449.02655 85.308263 448.76223 85.700195 448.23358 curveto -86.092116 447.70494 86.288079 446.98489 86.288086 446.07343 curveto -86.288079 445.16653 86.092116 444.44876 85.700195 443.9201 curveto -85.308263 443.38691 84.777339 443.12031 84.107422 443.1203 curveto -84.107422 442.05389 moveto -85.201166 442.0539 86.060215 442.40937 86.68457 443.1203 curveto -87.308912 443.83124 87.621086 444.81562 87.621094 446.07343 curveto -87.621086 447.32668 87.308912 448.31106 86.68457 449.02655 curveto -86.060215 449.73749 85.201166 450.09296 84.107422 450.09296 curveto -83.009111 450.09296 82.147784 449.73749 81.523438 449.02655 curveto -80.903645 448.31106 80.593749 447.32668 80.59375 446.07343 curveto -80.593749 444.81562 80.903645 443.83124 81.523438 443.1203 curveto -82.147784 442.40937 83.009111 442.0539 84.107422 442.05389 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -89.500977 439.27167 moveto -90.594727 439.27167 lineto -91.278317 440.3472 91.788734 441.39993 92.125977 442.42987 curveto -92.467769 443.45982 92.638668 444.48294 92.638672 445.49921 curveto -92.638668 446.52004 92.467769 447.54771 92.125977 448.58221 curveto -91.788734 449.61672 91.278317 450.66945 90.594727 451.74042 curveto -89.500977 451.74042 lineto -90.107095 450.6968 90.558266 449.66001 90.854492 448.63007 curveto -91.155271 447.59556 91.305661 446.55194 91.305664 445.49921 curveto -91.305661 444.44648 91.155271 443.40742 90.854492 442.38202 curveto -90.558266 441.35664 90.107095 440.31985 89.500977 439.27167 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -51.951172 458.80682 moveto -51.340491 459.85501 50.887041 460.89179 50.59082 461.91718 curveto -50.294594 462.94257 50.146482 463.98163 50.146484 465.03436 curveto -50.146482 466.0871 50.294594 467.13072 50.59082 468.16522 curveto -50.891598 469.19517 51.345048 470.23195 51.951172 471.27557 curveto -50.857422 471.27557 lineto -50.173826 470.20461 49.661131 469.15188 49.319336 468.11737 curveto -48.982095 467.08287 48.813475 466.0552 48.813477 465.03436 curveto -48.813475 464.01809 48.982095 462.99498 49.319336 461.96503 curveto -49.656573 460.93509 50.169268 459.88235 50.857422 458.80682 curveto -51.951172 458.80682 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -54.589844 459.22382 moveto -60.010742 459.22382 lineto -60.010742 460.38593 lineto -55.854492 460.38593 lineto -55.854492 462.88788 lineto -56.05501 462.81953 56.255531 462.7694 56.456055 462.73749 curveto -56.656572 462.70104 56.857093 462.68281 57.057617 462.6828 curveto -58.196935 462.68281 59.099278 462.99498 59.764648 463.61932 curveto -60.430006 464.24368 60.762688 465.08905 60.762695 466.15546 curveto -60.762688 467.25377 60.420891 468.10826 59.737305 468.71893 curveto -59.053705 469.32505 58.089839 469.62811 56.845703 469.62811 curveto -56.417314 469.62811 55.979815 469.59165 55.533203 469.51874 curveto -55.091144 469.44582 54.633136 469.33645 54.15918 469.19061 curveto -54.15918 467.80292 lineto -54.569334 468.02623 54.993162 468.19257 55.430664 468.30194 curveto -55.868161 468.41132 56.330726 468.466 56.818359 468.466 curveto -57.606766 468.466 58.231115 468.25865 58.691406 467.84393 curveto -59.151687 467.42922 59.38183 466.8664 59.381836 466.15546 curveto -59.38183 465.44452 59.151687 464.8817 58.691406 464.46698 curveto -58.231115 464.05227 57.606766 463.84492 56.818359 463.84491 curveto -56.449215 463.84492 56.080075 463.88593 55.710938 463.96796 curveto -55.346352 464.04999 54.972654 464.1776 54.589844 464.35077 curveto -54.589844 459.22382 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -63.633789 467.69354 moveto -65.076172 467.69354 lineto -65.076172 468.86932 lineto -63.955078 471.05682 lineto -63.073242 471.05682 lineto -63.633789 468.86932 lineto -63.633789 467.69354 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -71.741211 460.42694 moveto -68.254883 465.87518 lineto -71.741211 465.87518 lineto -71.741211 460.42694 lineto -71.378906 459.22382 moveto -73.115234 459.22382 lineto -73.115234 465.87518 lineto -74.571289 465.87518 lineto -74.571289 467.02362 lineto -73.115234 467.02362 lineto -73.115234 469.42987 lineto -71.741211 469.42987 lineto -71.741211 467.02362 lineto -67.133789 467.02362 lineto -67.133789 465.69061 lineto -71.378906 459.22382 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -77.004883 467.69354 moveto -78.447266 467.69354 lineto -78.447266 468.86932 lineto -77.326172 471.05682 lineto -76.444336 471.05682 lineto -77.004883 468.86932 lineto -77.004883 467.69354 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -86.178711 465.51288 moveto -86.178705 464.60142 85.989577 463.89505 85.611328 463.39374 curveto -85.237625 462.89244 84.711258 462.64179 84.032227 462.64178 curveto -83.357744 462.64179 82.831377 462.89244 82.453125 463.39374 curveto -82.079425 463.89505 81.892576 464.60142 81.892578 465.51288 curveto -81.892576 466.41978 82.079425 467.12388 82.453125 467.62518 curveto -82.831377 468.12649 83.357744 468.37714 84.032227 468.37714 curveto -84.711258 468.37714 85.237625 468.12649 85.611328 467.62518 curveto -85.989577 467.12388 86.178705 466.41978 86.178711 465.51288 curveto -87.436523 468.47968 moveto -87.436516 469.78306 87.147128 470.75148 86.568359 471.38495 curveto -85.989577 472.02297 85.103185 472.34198 83.90918 472.34198 curveto -83.467119 472.34198 83.050127 472.3078 82.658203 472.23944 curveto -82.266274 472.17564 81.88574 472.07538 81.516602 471.93866 curveto -81.516602 470.71503 lineto -81.88574 470.91555 82.250323 471.06366 82.610352 471.15936 curveto -82.970374 471.25506 83.337236 471.30292 83.710938 471.30292 curveto -84.535803 471.30292 85.153315 471.08644 85.563477 470.6535 curveto -85.973627 470.22512 86.178705 469.5757 86.178711 468.70526 curveto -86.178711 468.08319 lineto -85.918939 468.53436 85.586257 468.8716 85.180664 469.09491 curveto -84.77506 469.31822 84.289709 469.42987 83.724609 469.42987 curveto -82.785804 469.42987 82.029295 469.07212 81.455078 468.35663 curveto -80.880858 467.64114 80.593749 466.69322 80.59375 465.51288 curveto -80.593749 464.32799 80.880858 463.37779 81.455078 462.66229 curveto -82.029295 461.94681 82.785804 461.58906 83.724609 461.58905 curveto -84.289709 461.58906 84.77506 461.70071 85.180664 461.92401 curveto -85.586257 462.14733 85.918939 462.48457 86.178711 462.93573 curveto -86.178711 461.77362 lineto -87.436523 461.77362 lineto -87.436523 468.47968 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -89.829102 458.80682 moveto -90.922852 458.80682 lineto -91.606442 459.88235 92.116859 460.93509 92.454102 461.96503 curveto -92.795894 462.99498 92.966793 464.01809 92.966797 465.03436 curveto -92.966793 466.0552 92.795894 467.08287 92.454102 468.11737 curveto -92.116859 469.15188 91.606442 470.20461 90.922852 471.27557 curveto -89.829102 471.27557 lineto -90.43522 470.23195 90.886391 469.19517 91.182617 468.16522 curveto -91.483396 467.13072 91.633786 466.0871 91.633789 465.03436 curveto -91.633786 463.98163 91.483396 462.94257 91.182617 461.91718 curveto -90.886391 460.89179 90.43522 459.85501 89.829102 458.80682 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -97.405273 439.73846 moveto -96.794593 440.78665 96.341143 441.82343 96.044922 442.84882 curveto -95.748695 443.87421 95.600583 444.91327 95.600586 445.966 curveto -95.600583 447.01874 95.748695 448.06236 96.044922 449.09686 curveto -96.3457 450.12681 96.79915 451.16359 97.405273 452.20721 curveto -96.311523 452.20721 lineto -95.627927 451.13625 95.115232 450.08352 94.773438 449.04901 curveto -94.436197 448.01451 94.267577 446.98684 94.267578 445.966 curveto -94.267577 444.94973 94.436197 443.92662 94.773438 442.89667 curveto -95.110675 441.86673 95.62337 440.81399 96.311523 439.73846 curveto -97.405273 439.73846 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -101.21973 449.1994 moveto -106.03906 449.1994 lineto -106.03906 450.36151 lineto -99.558594 450.36151 lineto -99.558594 449.1994 lineto -100.08268 448.65709 100.7959 447.9302 101.69824 447.01874 curveto -102.60514 446.10273 103.1748 445.51256 103.40723 445.24823 curveto -103.84928 444.75149 104.1569 444.33222 104.33008 443.99042 curveto -104.50781 443.64407 104.59667 443.30455 104.59668 442.97186 curveto -104.59667 442.42955 104.40527 441.9875 104.02246 441.64569 curveto -103.6442 441.3039 103.14973 441.133 102.53906 441.133 curveto -102.10612 441.133 101.64811 441.2082 101.16504 441.35858 curveto -100.68652 441.50898 100.17383 441.73685 99.626953 442.04218 curveto -99.626953 440.64764 lineto -100.18294 440.42435 100.70247 440.25573 101.18555 440.14178 curveto -101.66862 440.02786 102.11067 439.9709 102.51172 439.97089 curveto -103.56901 439.9709 104.4121 440.23522 105.04102 440.76385 curveto -105.66991 441.29251 105.98437 441.99889 105.98438 442.883 curveto -105.98437 443.30227 105.90462 443.70104 105.74512 444.07928 curveto -105.59016 444.45299 105.30533 444.89505 104.89062 445.40546 curveto -104.77669 445.53762 104.41438 445.92043 103.80371 446.55389 curveto -103.19303 447.1828 102.3317 448.06464 101.21973 449.1994 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -109.08789 448.62518 moveto -110.53027 448.62518 lineto -110.53027 449.80096 lineto -109.40918 451.98846 lineto -108.52734 451.98846 lineto -109.08789 449.80096 lineto -109.08789 448.62518 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -114.59082 449.1994 moveto -119.41016 449.1994 lineto -119.41016 450.36151 lineto -112.92969 450.36151 lineto -112.92969 449.1994 lineto -113.45377 448.65709 114.16699 447.9302 115.06934 447.01874 curveto -115.97623 446.10273 116.54589 445.51256 116.77832 445.24823 curveto -117.22037 444.75149 117.52799 444.33222 117.70117 443.99042 curveto -117.8789 443.64407 117.96777 443.30455 117.96777 442.97186 curveto -117.96777 442.42955 117.77636 441.9875 117.39355 441.64569 curveto -117.01529 441.3039 116.52083 441.133 115.91016 441.133 curveto -115.47721 441.133 115.0192 441.2082 114.53613 441.35858 curveto -114.05762 441.50898 113.54492 441.73685 112.99805 442.04218 curveto -112.99805 440.64764 lineto -113.55403 440.42435 114.07357 440.25573 114.55664 440.14178 curveto -115.03971 440.02786 115.48177 439.9709 115.88281 439.97089 curveto -116.9401 439.9709 117.7832 440.23522 118.41211 440.76385 curveto -119.04101 441.29251 119.35546 441.99889 119.35547 442.883 curveto -119.35546 443.30227 119.27571 443.70104 119.11621 444.07928 curveto -118.96126 444.45299 118.67643 444.89505 118.26172 445.40546 curveto -118.14778 445.53762 117.78548 445.92043 117.1748 446.55389 curveto -116.56412 447.1828 115.7028 448.06464 114.59082 449.1994 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -122.45898 448.62518 moveto -123.90137 448.62518 lineto -123.90137 449.80096 lineto -122.78027 451.98846 lineto -121.89844 451.98846 lineto -122.45898 449.80096 lineto -122.45898 448.62518 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -129.56152 443.5871 moveto -128.88704 443.5871 128.35384 443.85143 127.96191 444.38007 curveto -127.56998 444.90416 127.37402 445.62421 127.37402 446.54022 curveto -127.37402 447.45624 127.56771 448.17857 127.95508 448.70721 curveto -128.347 449.2313 128.88248 449.49335 129.56152 449.49335 curveto -130.23144 449.49335 130.76236 449.22903 131.1543 448.70038 curveto -131.54622 448.17173 131.74218 447.45168 131.74219 446.54022 curveto -131.74218 445.63333 131.54622 444.91555 131.1543 444.3869 curveto -130.76236 443.85371 130.23144 443.5871 129.56152 443.5871 curveto -129.56152 442.52069 moveto -130.65527 442.5207 131.51432 442.87617 132.13867 443.5871 curveto -132.76301 444.29804 133.07519 445.28241 133.0752 446.54022 curveto -133.07519 447.79348 132.76301 448.77785 132.13867 449.49335 curveto -131.51432 450.20428 130.65527 450.55975 129.56152 450.55975 curveto -128.46321 450.55975 127.60189 450.20428 126.97754 449.49335 curveto -126.35775 448.77785 126.04785 447.79348 126.04785 446.54022 curveto -126.04785 445.28241 126.35775 444.29804 126.97754 443.5871 curveto -127.60189 442.87617 128.46321 442.5207 129.56152 442.52069 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -134.95508 439.73846 moveto -136.04883 439.73846 lineto -136.73242 440.81399 137.24284 441.86673 137.58008 442.89667 curveto -137.92187 443.92662 138.09277 444.94973 138.09277 445.966 curveto -138.09277 446.98684 137.92187 448.01451 137.58008 449.04901 curveto -137.24284 450.08352 136.73242 451.13625 136.04883 452.20721 curveto -134.95508 452.20721 lineto -135.5612 451.16359 136.01237 450.12681 136.30859 449.09686 curveto -136.60937 448.06236 136.75976 447.01874 136.75977 445.966 curveto -136.75976 444.91327 136.60937 443.87421 136.30859 442.84882 curveto -136.01237 441.82343 135.5612 440.78665 134.95508 439.73846 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -5.1376953 458.27362 moveto -4.5270145 459.32181 4.0735644 460.35859 3.7773438 461.38397 curveto -3.4811171 462.40937 3.3330053 463.44843 3.3330078 464.50116 curveto -3.3330053 465.5539 3.4811171 466.59752 3.7773438 467.63202 curveto -4.0781217 468.66197 4.5315718 469.69875 5.1376953 470.74237 curveto -4.0439453 470.74237 lineto -3.360349 469.67141 2.8476542 468.61867 2.5058594 467.58417 curveto -2.1686184 466.54966 1.9999988 465.522 2 464.50116 curveto -1.9999988 463.48489 2.1686184 462.46178 2.5058594 461.43182 curveto -2.8430969 460.40188 3.3557917 459.34915 4.0439453 458.27362 curveto -5.1376953 458.27362 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -11.946289 463.39374 moveto -12.60709 463.53502 13.122063 463.82896 13.491211 464.27557 curveto -13.864901 464.72219 14.05175 465.27362 14.051758 465.92987 curveto -14.05175 466.93703 13.705396 467.71633 13.012695 468.26776 curveto -12.319981 468.81919 11.335607 469.09491 10.05957 469.09491 curveto -9.6311815 469.09491 9.1891247 469.05162 8.7333984 468.96503 curveto -8.2822245 468.883 7.8151026 468.75767 7.3320312 468.58905 curveto -7.3320312 467.25604 lineto -7.7148423 467.47935 8.1341127 467.64797 8.5898438 467.7619 curveto -9.0455701 467.87584 9.5218066 467.9328 10.018555 467.9328 curveto -10.884435 467.9328 11.542963 467.7619 11.994141 467.4201 curveto -12.449864 467.07831 12.677728 466.58157 12.677734 465.92987 curveto -12.677728 465.32831 12.465814 464.85891 12.041992 464.52167 curveto -11.622716 464.17988 11.037105 464.00898 10.285156 464.00897 curveto -9.0957031 464.00897 lineto -9.0957031 462.87421 lineto -10.339844 462.87421 lineto -11.018875 462.87421 11.538406 462.73977 11.898438 462.47089 curveto -12.258458 462.19746 12.43847 461.80553 12.438477 461.2951 curveto -12.43847 460.77102 12.251622 460.36998 11.87793 460.09198 curveto -11.508784 459.80944 10.97786 459.66816 10.285156 459.66815 curveto -9.9068974 459.66816 9.5012988 459.70918 9.0683594 459.7912 curveto -8.6354143 459.87324 8.1591778 460.00084 7.6396484 460.17401 curveto -7.6396484 458.94354 lineto -8.1637351 458.79772 8.6536434 458.68834 9.109375 458.61542 curveto -9.5696582 458.54251 10.0026 458.50605 10.408203 458.50604 curveto -11.456375 458.50605 12.285801 458.74531 12.896484 459.22382 curveto -13.507154 459.69778 13.812492 460.34036 13.8125 461.15155 curveto -13.812492 461.71666 13.650709 462.19518 13.327148 462.5871 curveto -13.003574 462.97447 12.543288 463.24335 11.946289 463.39374 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -16.820312 467.16034 moveto -18.262695 467.16034 lineto -18.262695 468.33612 lineto -17.141602 470.52362 lineto -16.259766 470.52362 lineto -16.820312 468.33612 lineto -16.820312 467.16034 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -25.317383 463.39374 moveto -25.978184 463.53502 26.493157 463.82896 26.862305 464.27557 curveto -27.235995 464.72219 27.422844 465.27362 27.422852 465.92987 curveto -27.422844 466.93703 27.07649 467.71633 26.383789 468.26776 curveto -25.691075 468.81919 24.706701 469.09491 23.430664 469.09491 curveto -23.002275 469.09491 22.560218 469.05162 22.104492 468.96503 curveto -21.653318 468.883 21.186196 468.75767 20.703125 468.58905 curveto -20.703125 467.25604 lineto -21.085936 467.47935 21.505206 467.64797 21.960938 467.7619 curveto -22.416664 467.87584 22.8929 467.9328 23.389648 467.9328 curveto -24.255529 467.9328 24.914057 467.7619 25.365234 467.4201 curveto -25.820957 467.07831 26.048822 466.58157 26.048828 465.92987 curveto -26.048822 465.32831 25.836908 464.85891 25.413086 464.52167 curveto -24.99381 464.17988 24.408198 464.00898 23.65625 464.00897 curveto -22.466797 464.00897 lineto -22.466797 462.87421 lineto -23.710938 462.87421 lineto -24.389969 462.87421 24.9095 462.73977 25.269531 462.47089 curveto -25.629551 462.19746 25.809564 461.80553 25.80957 461.2951 curveto -25.809564 460.77102 25.622715 460.36998 25.249023 460.09198 curveto -24.879878 459.80944 24.348954 459.66816 23.65625 459.66815 curveto -23.277991 459.66816 22.872393 459.70918 22.439453 459.7912 curveto -22.006508 459.87324 21.530272 460.00084 21.010742 460.17401 curveto -21.010742 458.94354 lineto -21.534829 458.79772 22.024737 458.68834 22.480469 458.61542 curveto -22.940752 458.54251 23.373694 458.50605 23.779297 458.50604 curveto -24.827469 458.50605 25.656895 458.74531 26.267578 459.22382 curveto -26.878248 459.69778 27.183586 460.34036 27.183594 461.15155 curveto -27.183586 461.71666 27.021803 462.19518 26.698242 462.5871 curveto -26.374668 462.97447 25.914382 463.24335 25.317383 463.39374 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -30.191406 467.16034 moveto -31.633789 467.16034 lineto -31.633789 468.33612 lineto -30.512695 470.52362 lineto -29.630859 470.52362 lineto -30.191406 468.33612 lineto -30.191406 467.16034 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -39.365234 464.97968 moveto -39.365228 464.06822 39.176101 463.36184 38.797852 462.86053 curveto -38.424148 462.35924 37.897782 462.10859 37.21875 462.10858 curveto -36.544267 462.10859 36.017901 462.35924 35.639648 462.86053 curveto -35.265948 463.36184 35.079099 464.06822 35.079102 464.97968 curveto -35.079099 465.88658 35.265948 466.59068 35.639648 467.09198 curveto -36.017901 467.59328 36.544267 467.84393 37.21875 467.84393 curveto -37.897782 467.84393 38.424148 467.59328 38.797852 467.09198 curveto -39.176101 466.59068 39.365228 465.88658 39.365234 464.97968 curveto -40.623047 467.94647 moveto -40.623039 469.24986 40.333652 470.21828 39.754883 470.85175 curveto -39.176101 471.48976 38.289708 471.80877 37.095703 471.80878 curveto -36.653642 471.80877 36.23665 471.77459 35.844727 471.70624 curveto -35.452797 471.64243 35.072264 471.54217 34.703125 471.40546 curveto -34.703125 470.18182 lineto -35.072264 470.38234 35.436847 470.53045 35.796875 470.62616 curveto -36.156898 470.72186 36.52376 470.76971 36.897461 470.76971 curveto -37.722326 470.76971 38.339838 470.55324 38.75 470.1203 curveto -39.16015 469.69191 39.365228 469.0425 39.365234 468.17206 curveto -39.365234 467.54999 lineto -39.105463 468.00116 38.772781 468.3384 38.367188 468.56171 curveto -37.961584 468.78501 37.476233 468.89667 36.911133 468.89667 curveto -35.972328 468.89667 35.215818 468.53892 34.641602 467.82343 curveto -34.067382 467.10793 33.780273 466.16002 33.780273 464.97968 curveto -33.780273 463.79478 34.067382 462.84459 34.641602 462.12909 curveto -35.215818 461.4136 35.972328 461.05586 36.911133 461.05585 curveto -37.476233 461.05586 37.961584 461.16751 38.367188 461.39081 curveto -38.772781 461.61412 39.105463 461.95136 39.365234 462.40253 curveto -39.365234 461.24042 lineto -40.623047 461.24042 lineto -40.623047 467.94647 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -43.015625 458.27362 moveto -44.109375 458.27362 lineto -44.792966 459.34915 45.303382 460.40188 45.640625 461.43182 curveto -45.982418 462.46178 46.153316 463.48489 46.15332 464.50116 curveto -46.153316 465.522 45.982418 466.54966 45.640625 467.58417 curveto -45.303382 468.61867 44.792966 469.67141 44.109375 470.74237 curveto -43.015625 470.74237 lineto -43.621743 469.69875 44.072914 468.66197 44.369141 467.63202 curveto -44.669919 466.59752 44.82031 465.5539 44.820312 464.50116 curveto -44.82031 463.44843 44.669919 462.40937 44.369141 461.38397 curveto -44.072914 460.35859 43.621743 459.32181 43.015625 458.27362 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -98.233398 458.80682 moveto -97.622718 459.85501 97.169268 460.89179 96.873047 461.91718 curveto -96.57682 462.94257 96.428708 463.98163 96.428711 465.03436 curveto -96.428708 466.0871 96.57682 467.13072 96.873047 468.16522 curveto -97.173825 469.19517 97.627275 470.23195 98.233398 471.27557 curveto -97.139648 471.27557 lineto -96.456052 470.20461 95.943357 469.15188 95.601562 468.11737 curveto -95.264322 467.08287 95.095702 466.0552 95.095703 465.03436 curveto -95.095702 464.01809 95.264322 462.99498 95.601562 461.96503 curveto -95.9388 460.93509 96.451495 459.88235 97.139648 458.80682 curveto -98.233398 458.80682 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -103.98242 463.77655 moveto -103.36263 463.77656 102.87044 463.98847 102.50586 464.41229 curveto -102.14583 464.83613 101.96582 465.41718 101.96582 466.15546 curveto -101.96582 466.88918 102.14583 467.47024 102.50586 467.89862 curveto -102.87044 468.32245 103.36263 468.53436 103.98242 468.53436 curveto -104.60221 468.53436 105.09212 468.32245 105.45215 467.89862 curveto -105.81673 467.47024 105.99902 466.88918 105.99902 466.15546 curveto -105.99902 465.41718 105.81673 464.83613 105.45215 464.41229 curveto -105.09212 463.98847 104.60221 463.77656 103.98242 463.77655 curveto -106.72363 459.4494 moveto -106.72363 460.70721 lineto -106.37727 460.54316 106.02636 460.41784 105.6709 460.33124 curveto -105.31998 460.24466 104.97135 460.20136 104.625 460.20135 curveto -103.71354 460.20136 103.01627 460.50898 102.5332 461.12421 curveto -102.05468 461.73945 101.78125 462.66914 101.71289 463.91327 curveto -101.98177 463.51679 102.31901 463.21373 102.72461 463.00409 curveto -103.1302 462.7899 103.57682 462.68281 104.06445 462.6828 curveto -105.08984 462.68281 105.89876 462.99498 106.49121 463.61932 curveto -107.08821 464.23912 107.38671 465.0845 107.38672 466.15546 curveto -107.38671 467.20364 107.07682 468.04446 106.45703 468.67792 curveto -105.83723 469.31138 105.01236 469.62811 103.98242 469.62811 curveto -102.80208 469.62811 101.89974 469.17694 101.27539 468.2746 curveto -100.65104 467.3677 100.33887 466.0552 100.33887 464.3371 curveto -100.33887 462.72382 100.72168 461.43867 101.4873 460.48163 curveto -102.25293 459.52005 103.2806 459.03926 104.57031 459.03925 curveto -104.91666 459.03926 105.26529 459.07344 105.61621 459.14178 curveto -105.97167 459.21015 106.34081 459.31269 106.72363 459.4494 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -109.91602 467.69354 moveto -111.3584 467.69354 lineto -111.3584 468.86932 lineto -110.2373 471.05682 lineto -109.35547 471.05682 lineto -109.91602 468.86932 lineto -109.91602 467.69354 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -114.24316 459.22382 moveto -119.66406 459.22382 lineto -119.66406 460.38593 lineto -115.50781 460.38593 lineto -115.50781 462.88788 lineto -115.70833 462.81953 115.90885 462.7694 116.10938 462.73749 curveto -116.30989 462.70104 116.51041 462.68281 116.71094 462.6828 curveto -117.85026 462.68281 118.7526 462.99498 119.41797 463.61932 curveto -120.08333 464.24368 120.41601 465.08905 120.41602 466.15546 curveto -120.41601 467.25377 120.07421 468.10826 119.39062 468.71893 curveto -118.70703 469.32505 117.74316 469.62811 116.49902 469.62811 curveto -116.07063 469.62811 115.63314 469.59165 115.18652 469.51874 curveto -114.74446 469.44582 114.28646 469.33645 113.8125 469.19061 curveto -113.8125 467.80292 lineto -114.22265 468.02623 114.64648 468.19257 115.08398 468.30194 curveto -115.52148 468.41132 115.98405 468.466 116.47168 468.466 curveto -117.26009 468.466 117.88443 468.25865 118.34473 467.84393 curveto -118.80501 467.42922 119.03515 466.8664 119.03516 466.15546 curveto -119.03515 465.44452 118.80501 464.8817 118.34473 464.46698 curveto -117.88443 464.05227 117.26009 463.84492 116.47168 463.84491 curveto -116.10254 463.84492 115.7334 463.88593 115.36426 463.96796 curveto -114.99967 464.04999 114.62597 464.1776 114.24316 464.35077 curveto -114.24316 459.22382 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -123.28711 467.69354 moveto -124.72949 467.69354 lineto -124.72949 468.86932 lineto -123.6084 471.05682 lineto -122.72656 471.05682 lineto -123.28711 468.86932 lineto -123.28711 467.69354 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -130.38965 462.65546 moveto -129.71517 462.65546 129.18196 462.91979 128.79004 463.44843 curveto -128.39811 463.97252 128.20215 464.69257 128.20215 465.60858 curveto -128.20215 466.5246 128.39583 467.24693 128.7832 467.77557 curveto -129.17513 468.29966 129.71061 468.56171 130.38965 468.56171 curveto -131.05957 468.56171 131.59049 468.29738 131.98242 467.76874 curveto -132.37434 467.24009 132.57031 466.52004 132.57031 465.60858 curveto -132.57031 464.70169 132.37434 463.98391 131.98242 463.45526 curveto -131.59049 462.92206 131.05957 462.65546 130.38965 462.65546 curveto -130.38965 461.58905 moveto -131.48339 461.58906 132.34244 461.94453 132.9668 462.65546 curveto -133.59114 463.3664 133.90331 464.35077 133.90332 465.60858 curveto -133.90331 466.86184 133.59114 467.84621 132.9668 468.56171 curveto -132.34244 469.27264 131.48339 469.62811 130.38965 469.62811 curveto -129.29134 469.62811 128.43001 469.27264 127.80566 468.56171 curveto -127.18587 467.84621 126.87598 466.86184 126.87598 465.60858 curveto -126.87598 464.35077 127.18587 463.3664 127.80566 462.65546 curveto -128.43001 461.94453 129.29134 461.58906 130.38965 461.58905 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -135.7832 458.80682 moveto -136.87695 458.80682 lineto -137.56054 459.88235 138.07096 460.93509 138.4082 461.96503 curveto -138.75 462.99498 138.92089 464.01809 138.9209 465.03436 curveto -138.92089 466.0552 138.75 467.08287 138.4082 468.11737 curveto -138.07096 469.15188 137.56054 470.20461 136.87695 471.27557 curveto -135.7832 471.27557 lineto -136.38932 470.23195 136.84049 469.19517 137.13672 468.16522 curveto -137.4375 467.13072 137.58789 466.0871 137.58789 465.03436 curveto -137.58789 463.98163 137.4375 462.94257 137.13672 461.91718 curveto -136.84049 460.89179 136.38932 459.85501 135.7832 458.80682 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -4.1689453 477.84198 moveto -3.5582645 478.89017 3.1048144 479.92695 2.8085938 480.95233 curveto -2.5123671 481.97773 2.3642553 483.01679 2.3642578 484.06952 curveto -2.3642553 485.12226 2.5123671 486.16588 2.8085938 487.20038 curveto -3.1093717 488.23033 3.5628218 489.26711 4.1689453 490.31073 curveto -3.0751953 490.31073 lineto -2.391599 489.23977 1.8789042 488.18703 1.5371094 487.15253 curveto -1.1998684 486.11802 1.0312488 485.09036 1.03125 484.06952 curveto -1.0312488 483.05325 1.1998684 482.03014 1.5371094 481.00018 curveto -1.8743469 479.97024 2.3870417 478.91751 3.0751953 477.84198 curveto -4.1689453 477.84198 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -6.4453125 478.25897 moveto -13.007812 478.25897 lineto -13.007812 478.84686 lineto -9.3027344 488.46503 lineto -7.8603516 488.46503 lineto -11.34668 479.42108 lineto -6.4453125 479.42108 lineto -6.4453125 478.25897 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -15.851562 486.7287 moveto -17.293945 486.7287 lineto -17.293945 487.90448 lineto -16.172852 490.09198 lineto -15.291016 490.09198 lineto -15.851562 487.90448 lineto -15.851562 486.7287 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -23.289062 482.81171 moveto -22.669267 482.81171 22.17708 483.02363 21.8125 483.44745 curveto -21.452471 483.87128 21.272458 484.45234 21.272461 485.19061 curveto -21.272458 485.92434 21.452471 486.50539 21.8125 486.93378 curveto -22.17708 487.35761 22.669267 487.56952 23.289062 487.56952 curveto -23.908849 487.56952 24.398757 487.35761 24.758789 486.93378 curveto -25.123366 486.50539 25.305657 485.92434 25.305664 485.19061 curveto -25.305657 484.45234 25.123366 483.87128 24.758789 483.44745 curveto -24.398757 483.02363 23.908849 482.81171 23.289062 482.81171 curveto -26.030273 478.48456 moveto -26.030273 479.74237 lineto -25.683912 479.57832 25.333001 479.45299 24.977539 479.36639 curveto -24.626622 479.27981 24.277989 479.23652 23.931641 479.23651 curveto -23.020178 479.23652 22.322913 479.54414 21.839844 480.15936 curveto -21.361325 480.7746 21.087888 481.70429 21.019531 482.94843 curveto -21.288409 482.55195 21.625648 482.24889 22.03125 482.03925 curveto -22.436845 481.82506 22.883459 481.71796 23.371094 481.71796 curveto -24.396479 481.71796 25.205397 482.03014 25.797852 482.65448 curveto -26.394849 483.27428 26.693351 484.11965 26.693359 485.19061 curveto -26.693351 486.23879 26.383456 487.07961 25.763672 487.71307 curveto -25.143874 488.34654 24.319005 488.66327 23.289062 488.66327 curveto -22.108721 488.66327 21.206378 488.2121 20.582031 487.30975 curveto -19.957681 486.40285 19.645507 485.09036 19.645508 483.37225 curveto -19.645507 481.75898 20.028319 480.47382 20.793945 479.51678 curveto -21.559567 478.55521 22.587236 478.07441 23.876953 478.0744 curveto -24.223302 478.07441 24.571934 478.10859 24.922852 478.17694 curveto -25.278314 478.24531 25.647454 478.34785 26.030273 478.48456 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -29.222656 486.7287 moveto -30.665039 486.7287 lineto -30.665039 487.90448 lineto -29.543945 490.09198 lineto -28.662109 490.09198 lineto -29.222656 487.90448 lineto -29.222656 486.7287 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -36.325195 481.69061 moveto -35.650713 481.69062 35.11751 481.95494 34.725586 482.48358 curveto -34.333657 483.00768 34.137693 483.72773 34.137695 484.64374 curveto -34.137693 485.55976 34.331378 486.28209 34.71875 486.81073 curveto -35.110674 487.33482 35.646155 487.59686 36.325195 487.59686 curveto -36.995112 487.59686 37.526036 487.33254 37.917969 486.80389 curveto -38.30989 486.27525 38.505853 485.5552 38.505859 484.64374 curveto -38.505853 483.73684 38.30989 483.01907 37.917969 482.49042 curveto -37.526036 481.95722 36.995112 481.69062 36.325195 481.69061 curveto -36.325195 480.62421 moveto -37.41894 480.62421 38.277989 480.97968 38.902344 481.69061 curveto -39.526685 482.40156 39.838859 483.38593 39.838867 484.64374 curveto -39.838859 485.897 39.526685 486.88137 38.902344 487.59686 curveto -38.277989 488.3078 37.41894 488.66327 36.325195 488.66327 curveto -35.226885 488.66327 34.365558 488.3078 33.741211 487.59686 curveto -33.121418 486.88137 32.811523 485.897 32.811523 484.64374 curveto -32.811523 483.38593 33.121418 482.40156 33.741211 481.69061 curveto -34.365558 480.97968 35.226885 480.62421 36.325195 480.62421 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -41.71875 477.84198 moveto -42.8125 477.84198 lineto -43.496091 478.91751 44.006507 479.97024 44.34375 481.00018 curveto -44.685543 482.03014 44.856441 483.05325 44.856445 484.06952 curveto -44.856441 485.09036 44.685543 486.11802 44.34375 487.15253 curveto -44.006507 488.18703 43.496091 489.23977 42.8125 490.31073 curveto -41.71875 490.31073 lineto -42.324868 489.26711 42.776039 488.23033 43.072266 487.20038 curveto -43.373044 486.16588 43.523435 485.12226 43.523438 484.06952 curveto -43.523435 483.01679 43.373044 481.97773 43.072266 480.95233 curveto -42.776039 479.92695 42.324868 478.89017 41.71875 477.84198 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -51.951172 478.34198 moveto -51.340491 479.39017 50.887041 480.42695 50.59082 481.45233 curveto -50.294594 482.47773 50.146482 483.51679 50.146484 484.56952 curveto -50.146482 485.62226 50.294594 486.66588 50.59082 487.70038 curveto -50.891598 488.73033 51.345048 489.76711 51.951172 490.81073 curveto -50.857422 490.81073 lineto -50.173826 489.73977 49.661131 488.68703 49.319336 487.65253 curveto -48.982095 486.61802 48.813475 485.59036 48.813477 484.56952 curveto -48.813475 483.55325 48.982095 482.53014 49.319336 481.50018 curveto -49.656573 480.47024 50.169268 479.41751 50.857422 478.34198 curveto -51.951172 478.34198 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -57.529297 484.11835 moveto -56.873043 484.11835 56.355791 484.29381 55.977539 484.64471 curveto -55.603839 484.99563 55.41699 485.4787 55.416992 486.09393 curveto -55.41699 486.70917 55.603839 487.19224 55.977539 487.54315 curveto -56.355791 487.89406 56.873043 488.06952 57.529297 488.06952 curveto -58.185542 488.06952 58.702794 487.89406 59.081055 487.54315 curveto -59.459304 487.18768 59.648431 486.70461 59.648438 486.09393 curveto -59.648431 485.4787 59.459304 484.99563 59.081055 484.64471 curveto -58.707351 484.29381 58.190099 484.11835 57.529297 484.11835 curveto -56.148438 483.53046 moveto -55.555987 483.38463 55.093422 483.10891 54.760742 482.70331 curveto -54.432616 482.29772 54.268553 481.80325 54.268555 481.21991 curveto -54.268553 480.40416 54.557941 479.75931 55.136719 479.28534 curveto -55.720049 478.81139 56.517575 478.57441 57.529297 478.5744 curveto -58.545567 478.57441 59.343093 478.81139 59.921875 479.28534 curveto -60.500644 479.75931 60.790031 480.40416 60.790039 481.21991 curveto -60.790031 481.80325 60.62369 482.29772 60.291016 482.70331 curveto -59.962884 483.10891 59.504876 483.38463 58.916992 483.53046 curveto -59.58235 483.68541 60.099602 483.98847 60.46875 484.43964 curveto -60.84244 484.89081 61.029289 485.44224 61.029297 486.09393 curveto -61.029289 487.08287 60.726229 487.84166 60.120117 488.3703 curveto -59.518548 488.89895 58.654942 489.16327 57.529297 489.16327 curveto -56.403643 489.16327 55.537758 488.89895 54.931641 488.3703 curveto -54.330077 487.84166 54.029296 487.08287 54.029297 486.09393 curveto -54.029296 485.44224 54.216145 484.89081 54.589844 484.43964 curveto -54.96354 483.98847 55.483071 483.68541 56.148438 483.53046 curveto -55.642578 481.34979 moveto -55.642576 481.87845 55.806638 482.29088 56.134766 482.5871 curveto -56.467445 482.88333 56.932288 483.03144 57.529297 483.03143 curveto -58.12174 483.03144 58.584304 482.88333 58.916992 482.5871 curveto -59.254226 482.29088 59.422845 481.87845 59.422852 481.34979 curveto -59.422845 480.82115 59.254226 480.40872 58.916992 480.11249 curveto -58.584304 479.81627 58.12174 479.66816 57.529297 479.66815 curveto -56.932288 479.66816 56.467445 479.81627 56.134766 480.11249 curveto -55.806638 480.40872 55.642576 480.82115 55.642578 481.34979 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -63.633789 487.2287 moveto -65.076172 487.2287 lineto -65.076172 488.40448 lineto -63.955078 490.59198 lineto -63.073242 490.59198 lineto -63.633789 488.40448 lineto -63.633789 487.2287 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -67.598633 478.75897 moveto -74.161133 478.75897 lineto -74.161133 479.34686 lineto -70.456055 488.96503 lineto -69.013672 488.96503 lineto -72.5 479.92108 lineto -67.598633 479.92108 lineto -67.598633 478.75897 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -77.004883 487.2287 moveto -78.447266 487.2287 lineto -78.447266 488.40448 lineto -77.326172 490.59198 lineto -76.444336 490.59198 lineto -77.004883 488.40448 lineto -77.004883 487.2287 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -84.107422 482.19061 moveto -83.432939 482.19062 82.899737 482.45494 82.507812 482.98358 curveto -82.115883 483.50768 81.91992 484.22773 81.919922 485.14374 curveto -81.91992 486.05976 82.113604 486.78209 82.500977 487.31073 curveto -82.892901 487.83482 83.428382 488.09686 84.107422 488.09686 curveto -84.777339 488.09686 85.308263 487.83254 85.700195 487.30389 curveto -86.092116 486.77525 86.288079 486.0552 86.288086 485.14374 curveto -86.288079 484.23684 86.092116 483.51907 85.700195 482.99042 curveto -85.308263 482.45722 84.777339 482.19062 84.107422 482.19061 curveto -84.107422 481.12421 moveto -85.201166 481.12421 86.060215 481.47968 86.68457 482.19061 curveto -87.308912 482.90156 87.621086 483.88593 87.621094 485.14374 curveto -87.621086 486.397 87.308912 487.38137 86.68457 488.09686 curveto -86.060215 488.8078 85.201166 489.16327 84.107422 489.16327 curveto -83.009111 489.16327 82.147784 488.8078 81.523438 488.09686 curveto -80.903645 487.38137 80.593749 486.397 80.59375 485.14374 curveto -80.593749 483.88593 80.903645 482.90156 81.523438 482.19061 curveto -82.147784 481.47968 83.009111 481.12421 84.107422 481.12421 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -89.500977 478.34198 moveto -90.594727 478.34198 lineto -91.278317 479.41751 91.788734 480.47024 92.125977 481.50018 curveto -92.467769 482.53014 92.638668 483.55325 92.638672 484.56952 curveto -92.638668 485.59036 92.467769 486.61802 92.125977 487.65253 curveto -91.788734 488.68703 91.278317 489.73977 90.594727 490.81073 curveto -89.500977 490.81073 lineto -90.107095 489.76711 90.558266 488.73033 90.854492 487.70038 curveto -91.155271 486.66588 91.305661 485.62226 91.305664 484.56952 curveto -91.305661 483.51679 91.155271 482.47773 90.854492 481.45233 curveto -90.558266 480.42695 90.107095 479.39017 89.500977 478.34198 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -96.905273 479.30878 moveto -96.294593 480.35696 95.841143 481.39375 95.544922 482.41913 curveto -95.248695 483.44453 95.100583 484.48359 95.100586 485.53632 curveto -95.100583 486.58905 95.248695 487.63267 95.544922 488.66718 curveto -95.8457 489.69712 96.29915 490.73391 96.905273 491.77753 curveto -95.811523 491.77753 lineto -95.127927 490.70656 94.615232 489.65383 94.273438 488.61932 curveto -93.936197 487.58482 93.767577 486.55715 93.767578 485.53632 curveto -93.767577 484.52005 93.936197 483.49693 94.273438 482.46698 curveto -94.610675 481.43704 95.12337 480.38431 95.811523 479.30878 curveto -96.905273 479.30878 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -99.571289 489.71991 moveto -99.571289 488.4621 lineto -99.917641 488.62616 100.26855 488.75149 100.62402 488.83807 curveto -100.97949 488.92466 101.32812 488.96796 101.66992 488.96796 curveto -102.58138 488.96796 103.27636 488.66262 103.75488 488.05194 curveto -104.23795 487.43671 104.51367 486.50474 104.58203 485.25604 curveto -104.3177 485.64797 103.98274 485.94875 103.57715 486.15839 curveto -103.17154 486.36803 102.72265 486.47284 102.23047 486.47284 curveto -101.20963 486.47284 100.40071 486.16523 99.803711 485.54999 curveto -99.211262 484.9302 98.915038 484.08482 98.915039 483.01385 curveto -98.915038 481.96569 99.224934 481.12487 99.844727 480.49139 curveto -100.46452 479.85794 101.28938 479.54121 102.31934 479.5412 curveto -103.49967 479.54121 104.39973 479.99466 105.01953 480.90155 curveto -105.64387 481.8039 105.95605 483.1164 105.95605 484.83905 curveto -105.95605 486.44778 105.57323 487.73293 104.80762 488.69452 curveto -104.04654 489.65155 103.02115 490.13007 101.73145 490.13007 curveto -101.38509 490.13007 101.03418 490.09589 100.67871 490.02753 curveto -100.32324 489.95917 99.9541 489.85663 99.571289 489.71991 curveto -102.31934 485.39276 moveto -102.93912 485.39277 103.42903 485.18085 103.78906 484.75702 curveto -104.15364 484.3332 104.33593 483.75214 104.33594 483.01385 curveto -104.33593 482.28014 104.15364 481.70136 103.78906 481.27753 curveto -103.42903 480.84915 102.93912 480.63496 102.31934 480.63495 curveto -101.69954 480.63496 101.20735 480.84915 100.84277 481.27753 curveto -100.48274 481.70136 100.30273 482.28014 100.30273 483.01385 curveto -100.30273 483.75214 100.48274 484.3332 100.84277 484.75702 curveto -101.20735 485.18085 101.69954 485.39277 102.31934 485.39276 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -108.58789 488.1955 moveto -110.03027 488.1955 lineto -110.03027 489.37128 lineto -108.90918 491.55878 lineto -108.02734 491.55878 lineto -108.58789 489.37128 lineto -108.58789 488.1955 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -115.85449 485.08514 moveto -115.19824 485.08515 114.68099 485.2606 114.30273 485.61151 curveto -113.92903 485.96243 113.74219 486.4455 113.74219 487.06073 curveto -113.74219 487.67597 113.92903 488.15904 114.30273 488.50995 curveto -114.68099 488.86086 115.19824 489.03632 115.85449 489.03632 curveto -116.51074 489.03632 117.02799 488.86086 117.40625 488.50995 curveto -117.7845 488.15448 117.97363 487.67141 117.97363 487.06073 curveto -117.97363 486.4455 117.7845 485.96243 117.40625 485.61151 curveto -117.03255 485.2606 116.51529 485.08515 115.85449 485.08514 curveto -114.47363 484.49725 moveto -113.88118 484.35143 113.41862 484.07571 113.08594 483.6701 curveto -112.75781 483.26451 112.59375 482.77005 112.59375 482.18671 curveto -112.59375 481.37096 112.88314 480.7261 113.46191 480.25214 curveto -114.04524 479.77819 114.84277 479.54121 115.85449 479.5412 curveto -116.87076 479.54121 117.66829 479.77819 118.24707 480.25214 curveto -118.82584 480.7261 119.11523 481.37096 119.11523 482.18671 curveto -119.11523 482.77005 118.94889 483.26451 118.61621 483.6701 curveto -118.28808 484.07571 117.83007 484.35143 117.24219 484.49725 curveto -117.90755 484.65221 118.4248 484.95527 118.79395 485.40643 curveto -119.16764 485.85761 119.35448 486.40904 119.35449 487.06073 curveto -119.35448 488.04966 119.05142 488.80845 118.44531 489.3371 curveto -117.84374 489.86574 116.98014 490.13007 115.85449 490.13007 curveto -114.72884 490.13007 113.86295 489.86574 113.25684 489.3371 curveto -112.65527 488.80845 112.35449 488.04966 112.35449 487.06073 curveto -112.35449 486.40904 112.54134 485.85761 112.91504 485.40643 curveto -113.28874 484.95527 113.80827 484.65221 114.47363 484.49725 curveto -113.96777 482.31659 moveto -113.96777 482.84524 114.13183 483.25768 114.45996 483.55389 curveto -114.79264 483.85012 115.25748 483.99824 115.85449 483.99823 curveto -116.44694 483.99824 116.9095 483.85012 117.24219 483.55389 curveto -117.57942 483.25768 117.74804 482.84524 117.74805 482.31659 curveto -117.74804 481.78795 117.57942 481.37552 117.24219 481.07928 curveto -116.9095 480.78307 116.44694 480.63496 115.85449 480.63495 curveto -115.25748 480.63496 114.79264 480.78307 114.45996 481.07928 curveto -114.13183 481.37552 113.96777 481.78795 113.96777 482.31659 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -121.95898 488.1955 moveto -123.40137 488.1955 lineto -123.40137 489.37128 lineto -122.28027 491.55878 lineto -121.39844 491.55878 lineto -121.95898 489.37128 lineto -121.95898 488.1955 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -131.13281 486.01483 moveto -131.13281 485.10338 130.94368 484.397 130.56543 483.89569 curveto -130.19173 483.3944 129.66536 483.14374 128.98633 483.14374 curveto -128.31185 483.14374 127.78548 483.3944 127.40723 483.89569 curveto -127.03353 484.397 126.84668 485.10338 126.84668 486.01483 curveto -126.84668 486.92174 127.03353 487.62584 127.40723 488.12714 curveto -127.78548 488.62844 128.31185 488.87909 128.98633 488.87909 curveto -129.66536 488.87909 130.19173 488.62844 130.56543 488.12714 curveto -130.94368 487.62584 131.13281 486.92174 131.13281 486.01483 curveto -132.39062 488.98163 moveto -132.39062 490.28501 132.10123 491.25344 131.52246 491.8869 curveto -130.94368 492.52492 130.05729 492.84393 128.86328 492.84393 curveto -128.42122 492.84393 128.00423 492.80975 127.6123 492.74139 curveto -127.22038 492.67759 126.83984 492.57733 126.4707 492.44061 curveto -126.4707 491.21698 lineto -126.83984 491.4175 127.20442 491.56561 127.56445 491.66132 curveto -127.92448 491.75702 128.29134 491.80487 128.66504 491.80487 curveto -129.4899 491.80487 130.10742 491.5884 130.51758 491.15546 curveto -130.92773 490.72707 131.13281 490.07766 131.13281 489.20721 curveto -131.13281 488.58514 lineto -130.87304 489.03632 130.54036 489.37356 130.13477 489.59686 curveto -129.72916 489.82017 129.24381 489.93182 128.67871 489.93182 curveto -127.73991 489.93182 126.9834 489.57408 126.40918 488.85858 curveto -125.83496 488.14309 125.54785 487.19517 125.54785 486.01483 curveto -125.54785 484.82994 125.83496 483.87975 126.40918 483.16425 curveto -126.9834 482.44876 127.73991 482.09101 128.67871 482.091 curveto -129.24381 482.09101 129.72916 482.20266 130.13477 482.42596 curveto -130.54036 482.64928 130.87304 482.98652 131.13281 483.43768 curveto -131.13281 482.27557 lineto -132.39062 482.27557 lineto -132.39062 488.98163 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -134.7832 479.30878 moveto -135.87695 479.30878 lineto -136.56054 480.38431 137.07096 481.43704 137.4082 482.46698 curveto -137.75 483.49693 137.92089 484.52005 137.9209 485.53632 curveto -137.92089 486.55715 137.75 487.58482 137.4082 488.61932 curveto -137.07096 489.65383 136.56054 490.70656 135.87695 491.77753 curveto -134.7832 491.77753 lineto -135.38932 490.73391 135.84049 489.69712 136.13672 488.66718 curveto -136.4375 487.63267 136.58789 486.58905 136.58789 485.53632 curveto -136.58789 484.48359 136.4375 483.44453 136.13672 482.41913 curveto -135.84049 481.39375 135.38932 480.35696 134.7832 479.30878 curveto -fill -grestore -gsave [1.209899 0 0 0.857509 -38.19343 49.51799] concat -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -154.5 482.61218 moveto -154.5 515.59418 125.716 542.36218 90.25 542.36218 curveto -54.784 542.36218 26 515.59418 26 482.61218 curveto -26 449.63018 54.784 422.86218 90.25 422.86218 curveto -125.716 422.86218 154.5 449.63018 154.5 482.61218 curveto -closepath -stroke -grestore -gsave -0 0 0 setrgbcolor -newpath -67.874023 420.15613 moveto -69.254883 420.15613 lineto -69.254883 430.36218 lineto -67.874023 430.36218 lineto -67.874023 420.15613 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -73.192383 420.5321 moveto -73.192383 422.70593 lineto -75.783203 422.70593 lineto -75.783203 423.68347 lineto -73.192383 423.68347 lineto -73.192383 427.83972 lineto -73.19238 428.46407 73.27669 428.86511 73.445312 429.04285 curveto -73.618487 429.22058 73.967119 429.30945 74.491211 429.30945 curveto -75.783203 429.30945 lineto -75.783203 430.36218 lineto -74.491211 430.36218 lineto -73.520505 430.36218 72.850584 430.18217 72.481445 429.82214 curveto -72.112303 429.45756 71.927733 428.79675 71.927734 427.83972 curveto -71.927734 423.68347 lineto -71.004883 423.68347 lineto -71.004883 422.70593 lineto -71.927734 422.70593 lineto -71.927734 420.5321 lineto -73.192383 420.5321 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -59.254883 524.79089 moveto -59.254883 528.62585 lineto -60.991211 528.62585 lineto -61.633784 528.62586 62.130528 528.45952 62.481445 528.12683 curveto -62.83235 527.79415 63.007806 527.3202 63.007812 526.70496 curveto -63.007806 526.09429 62.83235 525.62261 62.481445 525.28992 curveto -62.130528 524.95724 61.633784 524.7909 60.991211 524.79089 curveto -59.254883 524.79089 lineto -57.874023 523.65613 moveto -60.991211 523.65613 lineto -62.135086 523.65614 62.998691 523.9159 63.582031 524.43542 curveto -64.169914 524.95041 64.463859 525.70692 64.463867 526.70496 curveto -64.463859 527.71212 64.169914 528.47319 63.582031 528.98816 curveto -62.998691 529.50314 62.135086 529.76062 60.991211 529.76062 curveto -59.254883 529.76062 lineto -59.254883 533.86218 lineto -57.874023 533.86218 lineto -57.874023 523.65613 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -69.399414 524.56531 moveto -68.688473 524.56532 68.152992 524.91623 67.792969 525.61804 curveto -67.437498 526.31532 67.259763 527.36577 67.259766 528.76941 curveto -67.259763 530.1685 67.437498 531.21896 67.792969 531.92078 curveto -68.152992 532.61804 68.688473 532.96668 69.399414 532.96667 curveto -70.114904 532.96668 70.650385 532.61804 71.005859 531.92078 curveto -71.365879 531.21896 71.545892 530.1685 71.545898 528.76941 curveto -71.545892 527.36577 71.365879 526.31532 71.005859 525.61804 curveto -70.650385 524.91623 70.114904 524.56532 69.399414 524.56531 curveto -69.399414 523.47156 moveto -70.543289 523.47157 71.416009 523.92502 72.017578 524.83191 curveto -72.62369 525.73426 72.92675 527.04676 72.926758 528.76941 curveto -72.92675 530.48751 72.62369 531.80001 72.017578 532.70691 curveto -71.416009 533.60925 70.543289 534.06042 69.399414 534.06042 curveto -68.255531 534.06042 67.380531 533.60925 66.774414 532.70691 curveto -66.17285 531.80001 65.872069 530.48751 65.87207 528.76941 curveto -65.872069 527.04676 66.17285 525.73426 66.774414 524.83191 curveto -67.380531 523.92502 68.255531 523.47157 69.399414 523.47156 curveto -fill -grestore -gsave [1.063088 0 0 0.999533 -49.82231 5.914079] concat -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -349.5 351.36218 moveto -349.5 378.68618 319.484 400.86218 282.5 400.86218 curveto -245.516 400.86218 215.5 378.68618 215.5 351.36218 curveto -215.5 324.03818 245.516 301.86218 282.5 301.86218 curveto -319.484 301.86218 349.5 324.03818 349.5 351.36218 curveto -closepath -stroke -grestore -gsave -0 0 0 setrgbcolor -newpath -205.85547 329.61218 moveto -205.24479 330.66037 204.79134 331.69715 204.49512 332.72253 curveto -204.19889 333.74793 204.05078 334.78699 204.05078 335.83972 curveto -204.05078 336.89246 204.19889 337.93608 204.49512 338.97058 curveto -204.7959 340.00053 205.24935 341.03731 205.85547 342.08093 curveto -204.76172 342.08093 lineto -204.07812 341.00997 203.56543 339.95723 203.22363 338.92273 curveto -202.88639 337.88823 202.71777 336.86056 202.71777 335.83972 curveto -202.71777 334.82345 202.88639 333.80034 203.22363 332.77039 curveto -203.56087 331.74045 204.07357 330.68771 204.76172 329.61218 curveto -205.85547 329.61218 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -208.49414 330.02917 moveto -213.91504 330.02917 lineto -213.91504 331.19128 lineto -209.75879 331.19128 lineto -209.75879 333.69324 lineto -209.95931 333.62488 210.15983 333.57475 210.36035 333.54285 curveto -210.56087 333.5064 210.76139 333.48817 210.96191 333.48816 curveto -212.10123 333.48817 213.00357 333.80034 213.66895 334.42468 curveto -214.3343 335.04904 214.66698 335.89441 214.66699 336.96082 curveto -214.66698 338.05912 214.32519 338.91362 213.6416 339.52429 curveto -212.958 340.13041 211.99414 340.43347 210.75 340.43347 curveto -210.32161 340.43347 209.88411 340.39701 209.4375 340.3241 curveto -208.99544 340.25118 208.53743 340.14181 208.06348 339.99597 curveto -208.06348 338.60828 lineto -208.47363 338.83159 208.89746 338.99793 209.33496 339.1073 curveto -209.77246 339.21668 210.23502 339.27136 210.72266 339.27136 curveto -211.51106 339.27136 212.13541 339.06401 212.5957 338.64929 curveto -213.05598 338.23458 213.28613 337.67176 213.28613 336.96082 curveto -213.28613 336.24988 213.05598 335.68706 212.5957 335.27234 curveto -212.13541 334.85763 211.51106 334.65027 210.72266 334.65027 curveto -210.35351 334.65027 209.98437 334.69129 209.61523 334.77332 curveto -209.25065 334.85535 208.87695 334.98296 208.49414 335.15613 curveto -208.49414 330.02917 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -217.53809 338.4989 moveto -218.98047 338.4989 lineto -218.98047 339.67468 lineto -217.85938 341.86218 lineto -216.97754 341.86218 lineto -217.53809 339.67468 lineto -217.53809 338.4989 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -224.80469 330.93835 moveto -224.09375 330.93836 223.55827 331.28927 223.19824 331.99109 curveto -222.84277 332.68836 222.66504 333.73882 222.66504 335.14246 curveto -222.66504 336.54155 222.84277 337.592 223.19824 338.29382 curveto -223.55827 338.99109 224.09375 339.33972 224.80469 339.33972 curveto -225.52018 339.33972 226.05566 338.99109 226.41113 338.29382 curveto -226.77115 337.592 226.95117 336.54155 226.95117 335.14246 curveto -226.95117 333.73882 226.77115 332.68836 226.41113 331.99109 curveto -226.05566 331.28927 225.52018 330.93836 224.80469 330.93835 curveto -224.80469 329.8446 moveto -225.94856 329.84461 226.82128 330.29806 227.42285 331.20496 curveto -228.02896 332.10731 228.33202 333.41981 228.33203 335.14246 curveto -228.33202 336.86056 228.02896 338.17306 227.42285 339.07996 curveto -226.82128 339.9823 225.94856 340.43347 224.80469 340.43347 curveto -223.6608 340.43347 222.7858 339.9823 222.17969 339.07996 curveto -221.57812 338.17306 221.27734 336.86056 221.27734 335.14246 curveto -221.27734 333.41981 221.57812 332.10731 222.17969 331.20496 curveto -222.7858 330.29806 223.6608 329.84461 224.80469 329.8446 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -230.90918 338.4989 moveto -232.35156 338.4989 lineto -232.35156 339.67468 lineto -231.23047 341.86218 lineto -230.34863 341.86218 lineto -230.90918 339.67468 lineto -230.90918 338.4989 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -240.08301 336.31824 moveto -240.083 335.40678 239.89387 334.7004 239.51562 334.1991 curveto -239.14192 333.6978 238.61556 333.44715 237.93652 333.44714 curveto -237.26204 333.44715 236.73567 333.6978 236.35742 334.1991 curveto -235.98372 334.7004 235.79687 335.40678 235.79688 336.31824 curveto -235.79687 337.22514 235.98372 337.92924 236.35742 338.43054 curveto -236.73567 338.93185 237.26204 339.1825 237.93652 339.1825 curveto -238.61556 339.1825 239.14192 338.93185 239.51562 338.43054 curveto -239.89387 337.92924 240.083 337.22514 240.08301 336.31824 curveto -241.34082 339.28503 moveto -241.34081 340.58842 241.05142 341.55684 240.47266 342.19031 curveto -239.89387 342.82833 239.00748 343.14734 237.81348 343.14734 curveto -237.37142 343.14734 236.95442 343.11316 236.5625 343.0448 curveto -236.17057 342.98099 235.79004 342.88073 235.4209 342.74402 curveto -235.4209 341.52039 lineto -235.79004 341.72091 236.15462 341.86902 236.51465 341.96472 curveto -236.87467 342.06042 237.24153 342.10827 237.61523 342.10828 curveto -238.4401 342.10827 239.05761 341.8918 239.46777 341.45886 curveto -239.87792 341.03048 240.083 340.38106 240.08301 339.51062 curveto -240.08301 338.88855 lineto -239.82324 339.33972 239.49055 339.67696 239.08496 339.90027 curveto -238.67936 340.12358 238.19401 340.23523 237.62891 340.23523 curveto -236.6901 340.23523 235.93359 339.87748 235.35938 339.16199 curveto -234.78516 338.44649 234.49805 337.49858 234.49805 336.31824 curveto -234.49805 335.13335 234.78516 334.18315 235.35938 333.46765 curveto -235.93359 332.75216 236.6901 332.39442 237.62891 332.39441 curveto -238.19401 332.39442 238.67936 332.50607 239.08496 332.72937 curveto -239.49055 332.95268 239.82324 333.28992 240.08301 333.74109 curveto -240.08301 332.57898 lineto -241.34082 332.57898 lineto -241.34082 339.28503 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -243.7334 329.61218 moveto -244.82715 329.61218 lineto -245.51074 330.68771 246.02116 331.74045 246.3584 332.77039 curveto -246.70019 333.80034 246.87109 334.82345 246.87109 335.83972 curveto -246.87109 336.86056 246.70019 337.88823 246.3584 338.92273 curveto -246.02116 339.95723 245.51074 341.00997 244.82715 342.08093 curveto -243.7334 342.08093 lineto -244.33952 341.03731 244.79069 340.00053 245.08691 338.97058 curveto -245.38769 337.93608 245.53808 336.89246 245.53809 335.83972 curveto -245.53808 334.78699 245.38769 333.74793 245.08691 332.72253 curveto -244.79069 331.69715 244.33952 330.66037 243.7334 329.61218 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -253.34082 328.61218 moveto -252.73014 329.66037 252.27669 330.69715 251.98047 331.72253 curveto -251.68424 332.74793 251.53613 333.78699 251.53613 334.83972 curveto -251.53613 335.89246 251.68424 336.93608 251.98047 337.97058 curveto -252.28125 339.00053 252.7347 340.03731 253.34082 341.08093 curveto -252.24707 341.08093 lineto -251.56347 340.00997 251.05078 338.95723 250.70898 337.92273 curveto -250.37174 336.88823 250.20312 335.86056 250.20312 334.83972 curveto -250.20312 333.82345 250.37174 332.80034 250.70898 331.77039 curveto -251.04622 330.74045 251.55892 329.68771 252.24707 328.61218 curveto -253.34082 328.61218 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -259.08984 333.58191 moveto -258.47005 333.58191 257.97786 333.79383 257.61328 334.21765 curveto -257.25325 334.64148 257.07324 335.22254 257.07324 335.96082 curveto -257.07324 336.69454 257.25325 337.2756 257.61328 337.70398 curveto -257.97786 338.12781 258.47005 338.33972 259.08984 338.33972 curveto -259.70963 338.33972 260.19954 338.12781 260.55957 337.70398 curveto -260.92415 337.2756 261.10644 336.69454 261.10645 335.96082 curveto -261.10644 335.22254 260.92415 334.64148 260.55957 334.21765 curveto -260.19954 333.79383 259.70963 333.58191 259.08984 333.58191 curveto -261.83105 329.25476 moveto -261.83105 330.51257 lineto -261.48469 330.34852 261.13378 330.22319 260.77832 330.1366 curveto -260.4274 330.05002 260.07877 330.00672 259.73242 330.00671 curveto -258.82096 330.00672 258.12369 330.31434 257.64062 330.92957 curveto -257.16211 331.54481 256.88867 332.47449 256.82031 333.71863 curveto -257.08919 333.32215 257.42643 333.01909 257.83203 332.80945 curveto -258.23763 332.59526 258.68424 332.48817 259.17188 332.48816 curveto -260.19726 332.48817 261.00618 332.80034 261.59863 333.42468 curveto -262.19563 334.04448 262.49413 334.88986 262.49414 335.96082 curveto -262.49413 337.00899 262.18424 337.84981 261.56445 338.48328 curveto -260.94465 339.11674 260.11979 339.43347 259.08984 339.43347 curveto -257.9095 339.43347 257.00716 338.9823 256.38281 338.07996 curveto -255.75846 337.17306 255.44629 335.86056 255.44629 334.14246 curveto -255.44629 332.52918 255.8291 331.24403 256.59473 330.28699 curveto -257.36035 329.32541 258.38802 328.84461 259.67773 328.8446 curveto -260.02408 328.84461 260.37272 328.87879 260.72363 328.94714 curveto -261.07909 329.01551 261.44824 329.11805 261.83105 329.25476 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -265.02344 337.4989 moveto -266.46582 337.4989 lineto -266.46582 338.67468 lineto -265.34473 340.86218 lineto -264.46289 340.86218 lineto -265.02344 338.67468 lineto -265.02344 337.4989 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -269.57617 338.07312 moveto -271.83203 338.07312 lineto -271.83203 330.28699 lineto -269.37793 330.77917 lineto -269.37793 329.52136 lineto -271.81836 329.02917 lineto -273.19922 329.02917 lineto -273.19922 338.07312 lineto -275.45508 338.07312 lineto -275.45508 339.23523 lineto -269.57617 339.23523 lineto -269.57617 338.07312 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -278.39453 337.4989 moveto -279.83691 337.4989 lineto -279.83691 338.67468 lineto -278.71582 340.86218 lineto -277.83398 340.86218 lineto -278.39453 338.67468 lineto -278.39453 337.4989 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -285.49707 332.46082 moveto -284.82259 332.46082 284.28938 332.72514 283.89746 333.25378 curveto -283.50553 333.77788 283.30957 334.49793 283.30957 335.41394 curveto -283.30957 336.32996 283.50325 337.05229 283.89062 337.58093 curveto -284.28255 338.10502 284.81803 338.36707 285.49707 338.36707 curveto -286.16699 338.36707 286.69791 338.10274 287.08984 337.5741 curveto -287.48176 337.04545 287.67773 336.3254 287.67773 335.41394 curveto -287.67773 334.50704 287.48176 333.78927 287.08984 333.26062 curveto -286.69791 332.72742 286.16699 332.46082 285.49707 332.46082 curveto -285.49707 331.39441 moveto -286.59081 331.39442 287.44986 331.74989 288.07422 332.46082 curveto -288.69856 333.17176 289.01073 334.15613 289.01074 335.41394 curveto -289.01073 336.6672 288.69856 337.65157 288.07422 338.36707 curveto -287.44986 339.078 286.59081 339.43347 285.49707 339.43347 curveto -284.39876 339.43347 283.53743 339.078 282.91309 338.36707 curveto -282.29329 337.65157 281.9834 336.6672 281.9834 335.41394 curveto -281.9834 334.15613 282.29329 333.17176 282.91309 332.46082 curveto -283.53743 331.74989 284.39876 331.39442 285.49707 331.39441 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -290.89062 328.61218 moveto -291.98438 328.61218 lineto -292.66797 329.68771 293.17838 330.74045 293.51562 331.77039 curveto -293.85742 332.80034 294.02832 333.82345 294.02832 334.83972 curveto -294.02832 335.86056 293.85742 336.88823 293.51562 337.92273 curveto -293.17838 338.95723 292.66797 340.00997 291.98438 341.08093 curveto -290.89062 341.08093 lineto -291.49674 340.03731 291.94791 339.00053 292.24414 337.97058 curveto -292.54492 336.93608 292.69531 335.89246 292.69531 334.83972 curveto -292.69531 333.78699 292.54492 332.74793 292.24414 331.72253 curveto -291.94791 330.69715 291.49674 329.66037 290.89062 328.61218 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -188.1377 350.98914 moveto -187.52701 352.03732 187.07356 353.07411 186.77734 354.09949 curveto -186.48112 355.12488 186.33301 356.16395 186.33301 357.21667 curveto -186.33301 358.26941 186.48112 359.31303 186.77734 360.34753 curveto -187.07812 361.37748 187.53157 362.41427 188.1377 363.45789 curveto -187.04395 363.45789 lineto -186.36035 362.38692 185.84765 361.33419 185.50586 360.29968 curveto -185.16862 359.26518 185 358.23751 185 357.21667 curveto -185 356.2004 185.16862 355.17729 185.50586 354.14734 curveto -185.8431 353.1174 186.35579 352.06467 187.04395 350.98914 curveto -188.1377 350.98914 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -190.41406 351.40613 moveto -196.97656 351.40613 lineto -196.97656 351.99402 lineto -193.27148 361.61218 lineto -191.8291 361.61218 lineto -195.31543 352.56824 lineto -190.41406 352.56824 lineto -190.41406 351.40613 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -199.82031 359.87585 moveto -201.2627 359.87585 lineto -201.2627 361.05164 lineto -200.1416 363.23914 lineto -199.25977 363.23914 lineto -199.82031 361.05164 lineto -199.82031 359.87585 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -205.32324 360.45007 moveto -210.14258 360.45007 lineto -210.14258 361.61218 lineto -203.66211 361.61218 lineto -203.66211 360.45007 lineto -204.1862 359.90776 204.89941 359.18087 205.80176 358.26941 curveto -206.70865 357.3534 207.27832 356.76323 207.51074 356.4989 curveto -207.95279 356.00216 208.26041 355.58289 208.43359 355.24109 curveto -208.61132 354.89474 208.70019 354.55522 208.7002 354.22253 curveto -208.70019 353.68022 208.50878 353.23817 208.12598 352.89636 curveto -207.74772 352.55457 207.25325 352.38368 206.64258 352.38367 curveto -206.20963 352.38368 205.75162 352.45887 205.26855 352.60925 curveto -204.79004 352.75965 204.27734 352.98752 203.73047 353.29285 curveto -203.73047 351.89832 lineto -204.28646 351.67502 204.80599 351.5064 205.28906 351.39246 curveto -205.77213 351.27853 206.21419 351.22157 206.61523 351.22156 curveto -207.67252 351.22157 208.51562 351.48589 209.14453 352.01453 curveto -209.77343 352.54318 210.08788 353.24956 210.08789 354.13367 curveto -210.08788 354.55294 210.00813 354.95171 209.84863 355.32996 curveto -209.69368 355.70366 209.40885 356.14572 208.99414 356.65613 curveto -208.8802 356.78829 208.5179 357.17111 207.90723 357.80457 curveto -207.29654 358.43347 206.43522 359.31531 205.32324 360.45007 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -213.19141 359.87585 moveto -214.63379 359.87585 lineto -214.63379 361.05164 lineto -213.5127 363.23914 lineto -212.63086 363.23914 lineto -213.19141 361.05164 lineto -213.19141 359.87585 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -220.29395 354.83777 moveto -219.61946 354.83778 219.08626 355.1021 218.69434 355.63074 curveto -218.30241 356.15483 218.10644 356.87488 218.10645 357.79089 curveto -218.10644 358.70691 218.30013 359.42924 218.6875 359.95789 curveto -219.07942 360.48198 219.61491 360.74402 220.29395 360.74402 curveto -220.96386 360.74402 221.49479 360.4797 221.88672 359.95105 curveto -222.27864 359.42241 222.4746 358.70235 222.47461 357.79089 curveto -222.4746 356.884 222.27864 356.16622 221.88672 355.63757 curveto -221.49479 355.10438 220.96386 354.83778 220.29395 354.83777 curveto -220.29395 353.77136 moveto -221.38769 353.77137 222.24674 354.12684 222.87109 354.83777 curveto -223.49544 355.54871 223.80761 356.53309 223.80762 357.79089 curveto -223.80761 359.04415 223.49544 360.02853 222.87109 360.74402 curveto -222.24674 361.45496 221.38769 361.81042 220.29395 361.81042 curveto -219.19563 361.81042 218.33431 361.45496 217.70996 360.74402 curveto -217.09017 360.02853 216.78027 359.04415 216.78027 357.79089 curveto -216.78027 356.53309 217.09017 355.54871 217.70996 354.83777 curveto -218.33431 354.12684 219.19563 353.77137 220.29395 353.77136 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -225.6875 350.98914 moveto -226.78125 350.98914 lineto -227.46484 352.06467 227.97526 353.1174 228.3125 354.14734 curveto -228.65429 355.17729 228.82519 356.2004 228.8252 357.21667 curveto -228.82519 358.23751 228.65429 359.26518 228.3125 360.29968 curveto -227.97526 361.33419 227.46484 362.38692 226.78125 363.45789 curveto -225.6875 363.45789 lineto -226.29362 362.41427 226.74479 361.37748 227.04102 360.34753 curveto -227.34179 359.31303 227.49218 358.26941 227.49219 357.21667 curveto -227.49218 356.16395 227.34179 355.12488 227.04102 354.09949 curveto -226.74479 353.07411 226.29362 352.03732 225.6875 350.98914 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -232.84082 350.48914 moveto -232.23014 351.53732 231.77669 352.57411 231.48047 353.59949 curveto -231.18424 354.62488 231.03613 355.66395 231.03613 356.71667 curveto -231.03613 357.76941 231.18424 358.81303 231.48047 359.84753 curveto -231.78125 360.87748 232.2347 361.91427 232.84082 362.95789 curveto -231.74707 362.95789 lineto -231.06347 361.88692 230.55078 360.83419 230.20898 359.79968 curveto -229.87174 358.76518 229.70312 357.73751 229.70312 356.71667 curveto -229.70312 355.7004 229.87174 354.67729 230.20898 353.64734 curveto -230.54622 352.6174 231.05892 351.56467 231.74707 350.48914 curveto -232.84082 350.48914 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -238.41895 356.2655 moveto -237.76269 356.26551 237.24544 356.44096 236.86719 356.79187 curveto -236.49349 357.14279 236.30664 357.62586 236.30664 358.24109 curveto -236.30664 358.85633 236.49349 359.3394 236.86719 359.69031 curveto -237.24544 360.04122 237.76269 360.21668 238.41895 360.21667 curveto -239.07519 360.21668 239.59244 360.04122 239.9707 359.69031 curveto -240.34895 359.33484 240.53808 358.85177 240.53809 358.24109 curveto -240.53808 357.62586 240.34895 357.14279 239.9707 356.79187 curveto -239.597 356.44096 239.07975 356.26551 238.41895 356.2655 curveto -237.03809 355.67761 moveto -236.44564 355.53178 235.98307 355.25607 235.65039 354.85046 curveto -235.32226 354.44487 235.1582 353.95041 235.1582 353.36707 curveto -235.1582 352.55132 235.44759 351.90646 236.02637 351.4325 curveto -236.6097 350.95855 237.40722 350.72157 238.41895 350.72156 curveto -239.43522 350.72157 240.23274 350.95855 240.81152 351.4325 curveto -241.39029 351.90646 241.67968 352.55132 241.67969 353.36707 curveto -241.67968 353.95041 241.51334 354.44487 241.18066 354.85046 curveto -240.85253 355.25607 240.39452 355.53178 239.80664 355.67761 curveto -240.472 355.83257 240.98925 356.13563 241.3584 356.58679 curveto -241.73209 357.03797 241.91894 357.5894 241.91895 358.24109 curveto -241.91894 359.23002 241.61588 359.98881 241.00977 360.51746 curveto -240.4082 361.0461 239.54459 361.31042 238.41895 361.31042 curveto -237.29329 361.31042 236.42741 361.0461 235.82129 360.51746 curveto -235.21973 359.98881 234.91894 359.23002 234.91895 358.24109 curveto -234.91894 357.5894 235.10579 357.03797 235.47949 356.58679 curveto -235.85319 356.13563 236.37272 355.83257 237.03809 355.67761 curveto -236.53223 353.49695 moveto -236.53222 354.0256 236.69629 354.43804 237.02441 354.73425 curveto -237.35709 355.03048 237.82194 355.17859 238.41895 355.17859 curveto -239.01139 355.17859 239.47395 355.03048 239.80664 354.73425 curveto -240.14387 354.43804 240.31249 354.0256 240.3125 353.49695 curveto -240.31249 352.96831 240.14387 352.55588 239.80664 352.25964 curveto -239.47395 351.96343 239.01139 351.81532 238.41895 351.81531 curveto -237.82194 351.81532 237.35709 351.96343 237.02441 352.25964 curveto -236.69629 352.55588 236.53222 352.96831 236.53223 353.49695 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -244.52344 359.37585 moveto -245.96582 359.37585 lineto -245.96582 360.55164 lineto -244.84473 362.73914 lineto -243.96289 362.73914 lineto -244.52344 360.55164 lineto -244.52344 359.37585 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -253.02051 355.60925 moveto -253.68131 355.75053 254.19628 356.04448 254.56543 356.49109 curveto -254.93912 356.93771 255.12597 357.48914 255.12598 358.14539 curveto -255.12597 359.15255 254.77961 359.93185 254.08691 360.48328 curveto -253.3942 361.03471 252.40983 361.31042 251.13379 361.31042 curveto -250.7054 361.31042 250.26334 361.26713 249.80762 361.18054 curveto -249.35644 361.09851 248.88932 360.97319 248.40625 360.80457 curveto -248.40625 359.47156 lineto -248.78906 359.69487 249.20833 359.86349 249.66406 359.97742 curveto -250.11979 360.09135 250.59603 360.14832 251.09277 360.14832 curveto -251.95865 360.14832 252.61718 359.97742 253.06836 359.63562 curveto -253.52408 359.29383 253.75195 358.79708 253.75195 358.14539 curveto -253.75195 357.54383 253.54003 357.07443 253.11621 356.73718 curveto -252.69693 356.39539 252.11132 356.22449 251.35938 356.22449 curveto -250.16992 356.22449 lineto -250.16992 355.08972 lineto -251.41406 355.08972 lineto -252.09309 355.08973 252.61262 354.95529 252.97266 354.6864 curveto -253.33268 354.41297 253.51269 354.02104 253.5127 353.51062 curveto -253.51269 352.98654 253.32584 352.5855 252.95215 352.3075 curveto -252.583 352.02495 252.05208 351.88368 251.35938 351.88367 curveto -250.98112 351.88368 250.57552 351.92469 250.14258 352.00671 curveto -249.70963 352.08875 249.2334 352.21636 248.71387 352.38953 curveto -248.71387 351.15906 lineto -249.23795 351.01323 249.72786 350.90386 250.18359 350.83093 curveto -250.64388 350.75803 251.07682 350.72157 251.48242 350.72156 curveto -252.53059 350.72157 253.36002 350.96083 253.9707 351.43933 curveto -254.58137 351.9133 254.88671 352.55588 254.88672 353.36707 curveto -254.88671 353.93218 254.72493 354.41069 254.40137 354.80261 curveto -254.07779 355.18999 253.61751 355.45887 253.02051 355.60925 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -257.89453 359.37585 moveto -259.33691 359.37585 lineto -259.33691 360.55164 lineto -258.21582 362.73914 lineto -257.33398 362.73914 lineto -257.89453 360.55164 lineto -257.89453 359.37585 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -264.99707 354.33777 moveto -264.32259 354.33778 263.78938 354.6021 263.39746 355.13074 curveto -263.00553 355.65483 262.80957 356.37488 262.80957 357.29089 curveto -262.80957 358.20691 263.00325 358.92924 263.39062 359.45789 curveto -263.78255 359.98198 264.31803 360.24402 264.99707 360.24402 curveto -265.66699 360.24402 266.19791 359.9797 266.58984 359.45105 curveto -266.98176 358.92241 267.17773 358.20235 267.17773 357.29089 curveto -267.17773 356.384 266.98176 355.66622 266.58984 355.13757 curveto -266.19791 354.60438 265.66699 354.33778 264.99707 354.33777 curveto -264.99707 353.27136 moveto -266.09081 353.27137 266.94986 353.62684 267.57422 354.33777 curveto -268.19856 355.04871 268.51073 356.03309 268.51074 357.29089 curveto -268.51073 358.54415 268.19856 359.52853 267.57422 360.24402 curveto -266.94986 360.95496 266.09081 361.31042 264.99707 361.31042 curveto -263.89876 361.31042 263.03743 360.95496 262.41309 360.24402 curveto -261.79329 359.52853 261.4834 358.54415 261.4834 357.29089 curveto -261.4834 356.03309 261.79329 355.04871 262.41309 354.33777 curveto -263.03743 353.62684 263.89876 353.27137 264.99707 353.27136 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -270.39062 350.48914 moveto -271.48438 350.48914 lineto -272.16797 351.56467 272.67838 352.6174 273.01562 353.64734 curveto -273.35742 354.67729 273.52832 355.7004 273.52832 356.71667 curveto -273.52832 357.73751 273.35742 358.76518 273.01562 359.79968 curveto -272.67838 360.83419 272.16797 361.88692 271.48438 362.95789 curveto -270.39062 362.95789 lineto -270.99674 361.91427 271.44791 360.87748 271.74414 359.84753 curveto -272.04492 358.81303 272.19531 357.76941 272.19531 356.71667 curveto -272.19531 355.66395 272.04492 354.62488 271.74414 353.59949 curveto -271.44791 352.57411 270.99674 351.53732 270.39062 350.48914 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -278.84082 350.64343 moveto -278.23014 351.69162 277.77669 352.7284 277.48047 353.75378 curveto -277.18424 354.77918 277.03613 355.81824 277.03613 356.87097 curveto -277.03613 357.92371 277.18424 358.96733 277.48047 360.00183 curveto -277.78125 361.03178 278.2347 362.06856 278.84082 363.11218 curveto -277.74707 363.11218 lineto -277.06347 362.04122 276.55078 360.98848 276.20898 359.95398 curveto -275.87174 358.91948 275.70312 357.89181 275.70312 356.87097 curveto -275.70312 355.8547 275.87174 354.83159 276.20898 353.80164 curveto -276.54622 352.7717 277.05892 351.71896 277.74707 350.64343 curveto -278.84082 350.64343 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -281.50684 361.05457 moveto -281.50684 359.79675 lineto -281.85319 359.96082 282.2041 360.08614 282.55957 360.17273 curveto -282.91504 360.25932 283.26367 360.30261 283.60547 360.30261 curveto -284.51692 360.30261 285.21191 359.99728 285.69043 359.3866 curveto -286.1735 358.77136 286.44921 357.8394 286.51758 356.5907 curveto -286.25325 356.98263 285.91829 357.28341 285.5127 357.49304 curveto -285.10709 357.70268 284.6582 357.8075 284.16602 357.8075 curveto -283.14518 357.8075 282.33626 357.49988 281.73926 356.88464 curveto -281.14681 356.26486 280.85059 355.41948 280.85059 354.34851 curveto -280.85059 353.30034 281.16048 352.45952 281.78027 351.82605 curveto -282.40006 351.1926 283.22493 350.87586 284.25488 350.87585 curveto -285.43522 350.87586 286.33528 351.32931 286.95508 352.23621 curveto -287.57942 353.13856 287.89159 354.45106 287.8916 356.17371 curveto -287.89159 357.78243 287.50878 359.06759 286.74316 360.02917 curveto -285.98209 360.98621 284.9567 361.46472 283.66699 361.46472 curveto -283.32063 361.46472 282.96972 361.43054 282.61426 361.36218 curveto -282.25879 361.29382 281.88965 361.19128 281.50684 361.05457 curveto -284.25488 356.72742 moveto -284.87467 356.72742 285.36458 356.51551 285.72461 356.09167 curveto -286.08919 355.66785 286.27148 355.0868 286.27148 354.34851 curveto -286.27148 353.61479 286.08919 353.03602 285.72461 352.61218 curveto -285.36458 352.18381 284.87467 351.96961 284.25488 351.9696 curveto -283.63509 351.96961 283.1429 352.18381 282.77832 352.61218 curveto -282.41829 353.03602 282.23828 353.61479 282.23828 354.34851 curveto -282.23828 355.0868 282.41829 355.66785 282.77832 356.09167 curveto -283.1429 356.51551 283.63509 356.72742 284.25488 356.72742 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -290.52344 359.53015 moveto -291.96582 359.53015 lineto -291.96582 360.70593 lineto -290.84473 362.89343 lineto -289.96289 362.89343 lineto -290.52344 360.70593 lineto -290.52344 359.53015 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -298.63086 352.26355 moveto -295.14453 357.71179 lineto -298.63086 357.71179 lineto -298.63086 352.26355 lineto -298.26855 351.06042 moveto -300.00488 351.06042 lineto -300.00488 357.71179 lineto -301.46094 357.71179 lineto -301.46094 358.86023 lineto -300.00488 358.86023 lineto -300.00488 361.26648 lineto -298.63086 361.26648 lineto -298.63086 358.86023 lineto -294.02344 358.86023 lineto -294.02344 357.52722 lineto -298.26855 351.06042 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -303.89453 359.53015 moveto -305.33691 359.53015 lineto -305.33691 360.70593 lineto -304.21582 362.89343 lineto -303.33398 362.89343 lineto -303.89453 360.70593 lineto -303.89453 359.53015 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -310.99707 354.49207 moveto -310.32259 354.49207 309.78938 354.75639 309.39746 355.28503 curveto -309.00553 355.80913 308.80957 356.52918 308.80957 357.44519 curveto -308.80957 358.36121 309.00325 359.08354 309.39062 359.61218 curveto -309.78255 360.13627 310.31803 360.39832 310.99707 360.39832 curveto -311.66699 360.39832 312.19791 360.13399 312.58984 359.60535 curveto -312.98176 359.0767 313.17773 358.35665 313.17773 357.44519 curveto -313.17773 356.53829 312.98176 355.82052 312.58984 355.29187 curveto -312.19791 354.75867 311.66699 354.49207 310.99707 354.49207 curveto -310.99707 353.42566 moveto -312.09081 353.42567 312.94986 353.78114 313.57422 354.49207 curveto -314.19856 355.20301 314.51073 356.18738 314.51074 357.44519 curveto -314.51073 358.69845 314.19856 359.68282 313.57422 360.39832 curveto -312.94986 361.10925 312.09081 361.46472 310.99707 361.46472 curveto -309.89876 361.46472 309.03743 361.10925 308.41309 360.39832 curveto -307.79329 359.68282 307.4834 358.69845 307.4834 357.44519 curveto -307.4834 356.18738 307.79329 355.20301 308.41309 354.49207 curveto -309.03743 353.78114 309.89876 353.42567 310.99707 353.42566 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -316.39062 350.64343 moveto -317.48438 350.64343 lineto -318.16797 351.71896 318.67838 352.7717 319.01562 353.80164 curveto -319.35742 354.83159 319.52832 355.8547 319.52832 356.87097 curveto -319.52832 357.89181 319.35742 358.91948 319.01562 359.95398 curveto -318.67838 360.98848 318.16797 362.04122 317.48438 363.11218 curveto -316.39062 363.11218 lineto -316.99674 362.06856 317.44791 361.03178 317.74414 360.00183 curveto -318.04492 358.96733 318.19531 357.92371 318.19531 356.87097 curveto -318.19531 355.81824 318.04492 354.77918 317.74414 353.75378 curveto -317.44791 352.7284 316.99674 351.69162 316.39062 350.64343 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -197.1377 371.14343 moveto -196.52701 372.19162 196.07356 373.2284 195.77734 374.25378 curveto -195.48112 375.27918 195.33301 376.31824 195.33301 377.37097 curveto -195.33301 378.42371 195.48112 379.46733 195.77734 380.50183 curveto -196.07812 381.53178 196.53157 382.56856 197.1377 383.61218 curveto -196.04395 383.61218 lineto -195.36035 382.54122 194.84765 381.48848 194.50586 380.45398 curveto -194.16862 379.41948 194 378.39181 194 377.37097 curveto -194 376.3547 194.16862 375.33159 194.50586 374.30164 curveto -194.8431 373.2717 195.35579 372.21896 196.04395 371.14343 curveto -197.1377 371.14343 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -200.00195 380.60437 moveto -202.25781 380.60437 lineto -202.25781 372.81824 lineto -199.80371 373.31042 lineto -199.80371 372.05261 lineto -202.24414 371.56042 lineto -203.625 371.56042 lineto -203.625 380.60437 lineto -205.88086 380.60437 lineto -205.88086 381.76648 lineto -200.00195 381.76648 lineto -200.00195 380.60437 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -211.62988 372.4696 moveto -210.91894 372.46961 210.38346 372.82052 210.02344 373.52234 curveto -209.66797 374.21961 209.49023 375.27007 209.49023 376.67371 curveto -209.49023 378.0728 209.66797 379.12325 210.02344 379.82507 curveto -210.38346 380.52234 210.91894 380.87097 211.62988 380.87097 curveto -212.34537 380.87097 212.88085 380.52234 213.23633 379.82507 curveto -213.59635 379.12325 213.77636 378.0728 213.77637 376.67371 curveto -213.77636 375.27007 213.59635 374.21961 213.23633 373.52234 curveto -212.88085 372.82052 212.34537 372.46961 211.62988 372.4696 curveto -211.62988 371.37585 moveto -212.77376 371.37586 213.64648 371.82931 214.24805 372.73621 curveto -214.85416 373.63856 215.15722 374.95106 215.15723 376.67371 curveto -215.15722 378.39181 214.85416 379.70431 214.24805 380.61121 curveto -213.64648 381.51355 212.77376 381.96472 211.62988 381.96472 curveto -210.486 381.96472 209.611 381.51355 209.00488 380.61121 curveto -208.40332 379.70431 208.10254 378.39181 208.10254 376.67371 curveto -208.10254 374.95106 208.40332 373.63856 209.00488 372.73621 curveto -209.611 371.82931 210.486 371.37586 211.62988 371.37585 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -217.73438 380.03015 moveto -219.17676 380.03015 lineto -219.17676 381.20593 lineto -218.05566 383.39343 lineto -217.17383 383.39343 lineto -217.73438 381.20593 lineto -217.73438 380.03015 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -222.06152 371.56042 moveto -227.48242 371.56042 lineto -227.48242 372.72253 lineto -223.32617 372.72253 lineto -223.32617 375.22449 lineto -223.52669 375.15613 223.72721 375.106 223.92773 375.0741 curveto -224.12825 375.03765 224.32877 375.01942 224.5293 375.01941 curveto -225.66861 375.01942 226.57096 375.33159 227.23633 375.95593 curveto -227.90169 376.58029 228.23437 377.42566 228.23438 378.49207 curveto -228.23437 379.59037 227.89257 380.44487 227.20898 381.05554 curveto -226.52538 381.66166 225.56152 381.96472 224.31738 381.96472 curveto -223.88899 381.96472 223.45149 381.92826 223.00488 381.85535 curveto -222.56282 381.78243 222.10482 381.67306 221.63086 381.52722 curveto -221.63086 380.13953 lineto -222.04101 380.36284 222.46484 380.52918 222.90234 380.63855 curveto -223.33984 380.74793 223.80241 380.80261 224.29004 380.80261 curveto -225.07845 380.80261 225.70279 380.59526 226.16309 380.18054 curveto -226.62337 379.76583 226.85351 379.20301 226.85352 378.49207 curveto -226.85351 377.78113 226.62337 377.21831 226.16309 376.80359 curveto -225.70279 376.38888 225.07845 376.18152 224.29004 376.18152 curveto -223.9209 376.18152 223.55175 376.22254 223.18262 376.30457 curveto -222.81803 376.3866 222.44433 376.51421 222.06152 376.68738 curveto -222.06152 371.56042 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -231.10547 380.03015 moveto -232.54785 380.03015 lineto -232.54785 381.20593 lineto -231.42676 383.39343 lineto -230.54492 383.39343 lineto -231.10547 381.20593 lineto -231.10547 380.03015 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -238.20801 374.99207 moveto -237.53353 374.99207 237.00032 375.25639 236.6084 375.78503 curveto -236.21647 376.30913 236.02051 377.02918 236.02051 377.94519 curveto -236.02051 378.86121 236.21419 379.58354 236.60156 380.11218 curveto -236.99349 380.63627 237.52897 380.89832 238.20801 380.89832 curveto -238.87792 380.89832 239.40885 380.63399 239.80078 380.10535 curveto -240.1927 379.5767 240.38867 378.85665 240.38867 377.94519 curveto -240.38867 377.03829 240.1927 376.32052 239.80078 375.79187 curveto -239.40885 375.25867 238.87792 374.99207 238.20801 374.99207 curveto -238.20801 373.92566 moveto -239.30175 373.92567 240.1608 374.28114 240.78516 374.99207 curveto -241.4095 375.70301 241.72167 376.68738 241.72168 377.94519 curveto -241.72167 379.19845 241.4095 380.18282 240.78516 380.89832 curveto -240.1608 381.60925 239.30175 381.96472 238.20801 381.96472 curveto -237.1097 381.96472 236.24837 381.60925 235.62402 380.89832 curveto -235.00423 380.18282 234.69434 379.19845 234.69434 377.94519 curveto -234.69434 376.68738 235.00423 375.70301 235.62402 374.99207 curveto -236.24837 374.28114 237.1097 373.92567 238.20801 373.92566 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -243.60156 371.14343 moveto -244.69531 371.14343 lineto -245.3789 372.21896 245.88932 373.2717 246.22656 374.30164 curveto -246.56836 375.33159 246.73925 376.3547 246.73926 377.37097 curveto -246.73925 378.39181 246.56836 379.41948 246.22656 380.45398 curveto -245.88932 381.48848 245.3789 382.54122 244.69531 383.61218 curveto -243.60156 383.61218 lineto -244.20768 382.56856 244.65885 381.53178 244.95508 380.50183 curveto -245.25586 379.46733 245.40625 378.42371 245.40625 377.37097 curveto -245.40625 376.31824 245.25586 375.27918 244.95508 374.25378 curveto -244.65885 373.2284 244.20768 372.19162 243.60156 371.14343 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -252.1377 371.98914 moveto -251.52701 373.03732 251.07356 374.07411 250.77734 375.09949 curveto -250.48112 376.12488 250.33301 377.16395 250.33301 378.21667 curveto -250.33301 379.26941 250.48112 380.31303 250.77734 381.34753 curveto -251.07812 382.37748 251.53157 383.41427 252.1377 384.45789 curveto -251.04395 384.45789 lineto -250.36035 383.38692 249.84765 382.33419 249.50586 381.29968 curveto -249.16862 380.26518 249 379.23751 249 378.21667 curveto -249 377.2004 249.16862 376.17729 249.50586 375.14734 curveto -249.8431 374.1174 250.35579 373.06467 251.04395 371.98914 curveto -252.1377 371.98914 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -255.00195 381.45007 moveto -257.25781 381.45007 lineto -257.25781 373.66394 lineto -254.80371 374.15613 lineto -254.80371 372.89832 lineto -257.24414 372.40613 lineto -258.625 372.40613 lineto -258.625 381.45007 lineto -260.88086 381.45007 lineto -260.88086 382.61218 lineto -255.00195 382.61218 lineto -255.00195 381.45007 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -263.91602 381.45007 moveto -266.17188 381.45007 lineto -266.17188 373.66394 lineto -263.71777 374.15613 lineto -263.71777 372.89832 lineto -266.1582 372.40613 lineto -267.53906 372.40613 lineto -267.53906 381.45007 lineto -269.79492 381.45007 lineto -269.79492 382.61218 lineto -263.91602 382.61218 lineto -263.91602 381.45007 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -272.73438 380.87585 moveto -274.17676 380.87585 lineto -274.17676 382.05164 lineto -273.05566 384.23914 lineto -272.17383 384.23914 lineto -272.73438 382.05164 lineto -272.73438 380.87585 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -280.17188 376.95886 moveto -279.55208 376.95887 279.05989 377.17078 278.69531 377.5946 curveto -278.33528 378.01844 278.15527 378.59949 278.15527 379.33777 curveto -278.15527 380.0715 278.33528 380.65255 278.69531 381.08093 curveto -279.05989 381.50476 279.55208 381.71668 280.17188 381.71667 curveto -280.79166 381.71668 281.28157 381.50476 281.6416 381.08093 curveto -282.00618 380.65255 282.18847 380.0715 282.18848 379.33777 curveto -282.18847 378.59949 282.00618 378.01844 281.6416 377.5946 curveto -281.28157 377.17078 280.79166 376.95887 280.17188 376.95886 curveto -282.91309 372.63171 moveto -282.91309 373.88953 lineto -282.56672 373.72547 282.21581 373.60015 281.86035 373.51355 curveto -281.50943 373.42697 281.1608 373.38368 280.81445 373.38367 curveto -279.90299 373.38368 279.20573 373.69129 278.72266 374.30652 curveto -278.24414 374.92176 277.9707 375.85145 277.90234 377.09558 curveto -278.17122 376.6991 278.50846 376.39604 278.91406 376.1864 curveto -279.31966 375.97222 279.76627 375.86512 280.25391 375.86511 curveto -281.27929 375.86512 282.08821 376.17729 282.68066 376.80164 curveto -283.27766 377.42143 283.57616 378.26681 283.57617 379.33777 curveto -283.57616 380.38595 283.26627 381.22677 282.64648 381.86023 curveto -282.02669 382.49369 281.20182 382.81042 280.17188 382.81042 curveto -278.99153 382.81042 278.08919 382.35925 277.46484 381.45691 curveto -276.84049 380.55001 276.52832 379.23751 276.52832 377.51941 curveto -276.52832 375.90613 276.91113 374.62098 277.67676 373.66394 curveto -278.44238 372.70236 279.47005 372.22157 280.75977 372.22156 curveto -281.10611 372.22157 281.45475 372.25575 281.80566 372.3241 curveto -282.16113 372.39247 282.53027 372.49501 282.91309 372.63171 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -286.10547 380.87585 moveto -287.54785 380.87585 lineto -287.54785 382.05164 lineto -286.42676 384.23914 lineto -285.54492 384.23914 lineto -286.10547 382.05164 lineto -286.10547 380.87585 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -293.20801 375.83777 moveto -292.53353 375.83778 292.00032 376.1021 291.6084 376.63074 curveto -291.21647 377.15483 291.02051 377.87488 291.02051 378.79089 curveto -291.02051 379.70691 291.21419 380.42924 291.60156 380.95789 curveto -291.99349 381.48198 292.52897 381.74402 293.20801 381.74402 curveto -293.87792 381.74402 294.40885 381.4797 294.80078 380.95105 curveto -295.1927 380.42241 295.38867 379.70235 295.38867 378.79089 curveto -295.38867 377.884 295.1927 377.16622 294.80078 376.63757 curveto -294.40885 376.10438 293.87792 375.83778 293.20801 375.83777 curveto -293.20801 374.77136 moveto -294.30175 374.77137 295.1608 375.12684 295.78516 375.83777 curveto -296.4095 376.54871 296.72167 377.53309 296.72168 378.79089 curveto -296.72167 380.04415 296.4095 381.02853 295.78516 381.74402 curveto -295.1608 382.45496 294.30175 382.81042 293.20801 382.81042 curveto -292.1097 382.81042 291.24837 382.45496 290.62402 381.74402 curveto -290.00423 381.02853 289.69434 380.04415 289.69434 378.79089 curveto -289.69434 377.53309 290.00423 376.54871 290.62402 375.83777 curveto -291.24837 375.12684 292.1097 374.77137 293.20801 374.77136 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -298.60156 371.98914 moveto -299.69531 371.98914 lineto -300.3789 373.06467 300.88932 374.1174 301.22656 375.14734 curveto -301.56836 376.17729 301.73925 377.2004 301.73926 378.21667 curveto -301.73925 379.23751 301.56836 380.26518 301.22656 381.29968 curveto -300.88932 382.33419 300.3789 383.38692 299.69531 384.45789 curveto -298.60156 384.45789 lineto -299.20768 383.41427 299.65885 382.37748 299.95508 381.34753 curveto -300.25586 380.31303 300.40625 379.26941 300.40625 378.21667 curveto -300.40625 377.16395 300.25586 376.12488 299.95508 375.09949 curveto -299.65885 374.07411 299.20768 373.03732 298.60156 371.98914 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -238.37402 312.40613 moveto -239.75488 312.40613 lineto -239.75488 322.61218 lineto -238.37402 322.61218 lineto -238.37402 312.40613 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -247.3291 315.18152 moveto -247.3291 316.37097 lineto -246.97363 316.18869 246.60449 316.05197 246.22168 315.96082 curveto -245.83886 315.86968 245.44238 315.8241 245.03223 315.8241 curveto -244.40787 315.8241 243.93847 315.91981 243.62402 316.11121 curveto -243.31413 316.30262 243.15918 316.58973 243.15918 316.97253 curveto -243.15918 317.26421 243.27083 317.49435 243.49414 317.66296 curveto -243.71745 317.82703 244.16634 317.98426 244.84082 318.13464 curveto -245.27148 318.23035 lineto -246.16471 318.42176 246.79817 318.69292 247.17188 319.04382 curveto -247.55012 319.39018 247.73925 319.87553 247.73926 320.49988 curveto -247.73925 321.21082 247.4567 321.77364 246.8916 322.18835 curveto -246.33105 322.60307 245.55859 322.81042 244.57422 322.81042 curveto -244.16406 322.81042 243.73567 322.76941 243.28906 322.68738 curveto -242.847 322.6099 242.37988 322.49141 241.8877 322.33191 curveto -241.8877 321.03308 lineto -242.35254 321.27462 242.81055 321.45691 243.26172 321.57996 curveto -243.71289 321.69845 244.1595 321.75769 244.60156 321.75769 curveto -245.19401 321.75769 245.64974 321.65743 245.96875 321.45691 curveto -246.28776 321.25183 246.44726 320.96472 246.44727 320.59558 curveto -246.44726 320.25379 246.33105 319.99174 246.09863 319.80945 curveto -245.87076 319.62716 245.36718 319.4517 244.58789 319.28308 curveto -244.15039 319.18054 lineto -243.37109 319.01648 242.80827 318.76583 242.46191 318.42859 curveto -242.11556 318.0868 241.94238 317.61967 241.94238 317.02722 curveto -241.94238 316.30718 242.19759 315.75119 242.70801 315.35925 curveto -243.21842 314.96733 243.94303 314.77137 244.88184 314.77136 curveto -245.34668 314.77137 245.78418 314.80555 246.19434 314.8739 curveto -246.60449 314.94227 246.98274 315.04481 247.3291 315.18152 curveto -fill -grestore -gsave [1 0 0 1 3.250285 1] concat -gsave -0 0 0 setrgbcolor -newpath -180.84082 436.23914 moveto -180.23014 437.28732 179.77669 438.32411 179.48047 439.34949 curveto -179.18424 440.37488 179.03613 441.41395 179.03613 442.46667 curveto -179.03613 443.51941 179.18424 444.56303 179.48047 445.59753 curveto -179.78125 446.62748 180.2347 447.66427 180.84082 448.70789 curveto -179.74707 448.70789 lineto -179.06347 447.63692 178.55078 446.58419 178.20898 445.54968 curveto -177.87174 444.51518 177.70312 443.48751 177.70312 442.46667 curveto -177.70312 441.4504 177.87174 440.42729 178.20898 439.39734 curveto -178.54622 438.3674 179.05892 437.31467 179.74707 436.23914 curveto -180.84082 436.23914 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -184.65527 445.70007 moveto -189.47461 445.70007 lineto -189.47461 446.86218 lineto -182.99414 446.86218 lineto -182.99414 445.70007 lineto -183.51823 445.15776 184.23144 444.43087 185.13379 443.51941 curveto -186.04069 442.6034 186.61035 442.01323 186.84277 441.7489 curveto -187.28483 441.25216 187.59244 440.83289 187.76562 440.49109 curveto -187.94335 440.14474 188.03222 439.80522 188.03223 439.47253 curveto -188.03222 438.93022 187.84081 438.48817 187.45801 438.14636 curveto -187.07975 437.80457 186.58528 437.63368 185.97461 437.63367 curveto -185.54166 437.63368 185.08366 437.70887 184.60059 437.85925 curveto -184.12207 438.00965 183.60937 438.23752 183.0625 438.54285 curveto -183.0625 437.14832 lineto -183.61849 436.92502 184.13802 436.7564 184.62109 436.64246 curveto -185.10416 436.52853 185.54622 436.47157 185.94727 436.47156 curveto -187.00455 436.47157 187.84765 436.73589 188.47656 437.26453 curveto -189.10546 437.79318 189.41991 438.49956 189.41992 439.38367 curveto -189.41991 439.80294 189.34016 440.20171 189.18066 440.57996 curveto -189.02571 440.95366 188.74088 441.39572 188.32617 441.90613 curveto -188.21223 442.03829 187.84993 442.42111 187.23926 443.05457 curveto -186.62858 443.68347 185.76725 444.56531 184.65527 445.70007 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -192.52344 445.12585 moveto -193.96582 445.12585 lineto -193.96582 446.30164 lineto -192.84473 448.48914 lineto -191.96289 448.48914 lineto -192.52344 446.30164 lineto -192.52344 445.12585 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -199.79004 437.56531 moveto -199.0791 437.56532 198.54362 437.91623 198.18359 438.61804 curveto -197.82812 439.31532 197.65039 440.36577 197.65039 441.76941 curveto -197.65039 443.1685 197.82812 444.21896 198.18359 444.92078 curveto -198.54362 445.61804 199.0791 445.96668 199.79004 445.96667 curveto -200.50553 445.96668 201.04101 445.61804 201.39648 444.92078 curveto -201.7565 444.21896 201.93652 443.1685 201.93652 441.76941 curveto -201.93652 440.36577 201.7565 439.31532 201.39648 438.61804 curveto -201.04101 437.91623 200.50553 437.56532 199.79004 437.56531 curveto -199.79004 436.47156 moveto -200.93391 436.47157 201.80663 436.92502 202.4082 437.83191 curveto -203.01432 438.73426 203.31737 440.04676 203.31738 441.76941 curveto -203.31737 443.48751 203.01432 444.80001 202.4082 445.70691 curveto -201.80663 446.60925 200.93391 447.06042 199.79004 447.06042 curveto -198.64616 447.06042 197.77116 446.60925 197.16504 445.70691 curveto -196.56348 444.80001 196.26269 443.48751 196.2627 441.76941 curveto -196.26269 440.04676 196.56348 438.73426 197.16504 437.83191 curveto -197.77116 436.92502 198.64616 436.47157 199.79004 436.47156 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -205.89453 445.12585 moveto -207.33691 445.12585 lineto -207.33691 446.30164 lineto -206.21582 448.48914 lineto -205.33398 448.48914 lineto -205.89453 446.30164 lineto -205.89453 445.12585 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -215.06836 442.94519 moveto -215.06835 442.03374 214.87923 441.32736 214.50098 440.82605 curveto -214.12727 440.32475 213.60091 440.0741 212.92188 440.0741 curveto -212.24739 440.0741 211.72103 440.32475 211.34277 440.82605 curveto -210.96907 441.32736 210.78222 442.03374 210.78223 442.94519 curveto -210.78222 443.85209 210.96907 444.5562 211.34277 445.0575 curveto -211.72103 445.5588 212.24739 445.80945 212.92188 445.80945 curveto -213.60091 445.80945 214.12727 445.5588 214.50098 445.0575 curveto -214.87923 444.5562 215.06835 443.85209 215.06836 442.94519 curveto -216.32617 445.91199 moveto -216.32616 447.21537 216.03678 448.1838 215.45801 448.81726 curveto -214.87923 449.45528 213.99283 449.77429 212.79883 449.77429 curveto -212.35677 449.77429 211.93978 449.74011 211.54785 449.67175 curveto -211.15592 449.60795 210.77539 449.50769 210.40625 449.37097 curveto -210.40625 448.14734 lineto -210.77539 448.34786 211.13997 448.49597 211.5 448.59167 curveto -211.86002 448.68738 212.22688 448.73523 212.60059 448.73523 curveto -213.42545 448.73523 214.04296 448.51876 214.45312 448.08582 curveto -214.86328 447.65743 215.06835 447.00802 215.06836 446.13757 curveto -215.06836 445.5155 lineto -214.80859 445.96668 214.47591 446.30391 214.07031 446.52722 curveto -213.66471 446.75053 213.17936 446.86218 212.61426 446.86218 curveto -211.67545 446.86218 210.91894 446.50444 210.34473 445.78894 curveto -209.77051 445.07345 209.4834 444.12553 209.4834 442.94519 curveto -209.4834 441.7603 209.77051 440.81011 210.34473 440.0946 curveto -210.91894 439.37912 211.67545 439.02137 212.61426 439.02136 curveto -213.17936 439.02137 213.66471 439.13302 214.07031 439.35632 curveto -214.47591 439.57964 214.80859 439.91688 215.06836 440.36804 curveto -215.06836 439.20593 lineto -216.32617 439.20593 lineto -216.32617 445.91199 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -218.71875 436.23914 moveto -219.8125 436.23914 lineto -220.49609 437.31467 221.00651 438.3674 221.34375 439.39734 curveto -221.68554 440.42729 221.85644 441.4504 221.85645 442.46667 curveto -221.85644 443.48751 221.68554 444.51518 221.34375 445.54968 curveto -221.00651 446.58419 220.49609 447.63692 219.8125 448.70789 curveto -218.71875 448.70789 lineto -219.32487 447.66427 219.77604 446.62748 220.07227 445.59753 curveto -220.37304 444.56303 220.52343 443.51941 220.52344 442.46667 curveto -220.52343 441.41395 220.37304 440.37488 220.07227 439.34949 curveto -219.77604 438.32411 219.32487 437.28732 218.71875 436.23914 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -228.53711 436.77234 moveto -227.92643 437.82053 227.47298 438.85731 227.17676 439.88269 curveto -226.88053 440.90809 226.73242 441.94715 226.73242 442.99988 curveto -226.73242 444.05262 226.88053 445.09623 227.17676 446.13074 curveto -227.47754 447.16069 227.93099 448.19747 228.53711 449.24109 curveto -227.44336 449.24109 lineto -226.75976 448.17012 226.24707 447.11739 225.90527 446.08289 curveto -225.56803 445.04838 225.39941 444.02071 225.39941 442.99988 curveto -225.39941 441.98361 225.56803 440.9605 225.90527 439.93054 curveto -226.24251 438.9006 226.75521 437.84787 227.44336 436.77234 curveto -228.53711 436.77234 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -235.3457 441.89246 moveto -236.0065 442.03374 236.52148 442.32768 236.89062 442.77429 curveto -237.26432 443.22091 237.45116 443.77234 237.45117 444.42859 curveto -237.45116 445.43575 237.10481 446.21505 236.41211 446.76648 curveto -235.71939 447.31791 234.73502 447.59363 233.45898 447.59363 curveto -233.0306 447.59363 232.58854 447.55033 232.13281 447.46375 curveto -231.68164 447.38171 231.21452 447.25639 230.73145 447.08777 curveto -230.73145 445.75476 lineto -231.11426 445.97807 231.53353 446.14669 231.98926 446.26062 curveto -232.44498 446.37455 232.92122 446.43152 233.41797 446.43152 curveto -234.28385 446.43152 234.94238 446.26062 235.39355 445.91882 curveto -235.84928 445.57703 236.07714 445.08028 236.07715 444.42859 curveto -236.07714 443.82703 235.86523 443.35763 235.44141 443.02039 curveto -235.02213 442.67859 234.43652 442.5077 233.68457 442.50769 curveto -232.49512 442.50769 lineto -232.49512 441.37292 lineto -233.73926 441.37292 lineto -234.41829 441.37293 234.93782 441.23849 235.29785 440.9696 curveto -235.65787 440.69617 235.83788 440.30425 235.83789 439.79382 curveto -235.83788 439.26974 235.65104 438.8687 235.27734 438.5907 curveto -234.9082 438.30816 234.37727 438.16688 233.68457 438.16687 curveto -233.30631 438.16688 232.90071 438.20789 232.46777 438.28992 curveto -232.03483 438.37196 231.55859 438.49956 231.03906 438.67273 curveto -231.03906 437.44226 lineto -231.56315 437.29644 232.05306 437.18706 232.50879 437.11414 curveto -232.96907 437.04123 233.40201 437.00477 233.80762 437.00476 curveto -234.85579 437.00477 235.68522 437.24403 236.2959 437.72253 curveto -236.90657 438.1965 237.21191 438.83908 237.21191 439.65027 curveto -237.21191 440.21538 237.05012 440.6939 236.72656 441.08582 curveto -236.40299 441.47319 235.9427 441.74207 235.3457 441.89246 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -240.21973 445.65906 moveto -241.66211 445.65906 lineto -241.66211 446.83484 lineto -240.54102 449.02234 lineto -239.65918 449.02234 lineto -240.21973 446.83484 lineto -240.21973 445.65906 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -244.77246 446.23328 moveto -247.02832 446.23328 lineto -247.02832 438.44714 lineto -244.57422 438.93933 lineto -244.57422 437.68152 lineto -247.01465 437.18933 lineto -248.39551 437.18933 lineto -248.39551 446.23328 lineto -250.65137 446.23328 lineto -250.65137 447.39539 lineto -244.77246 447.39539 lineto -244.77246 446.23328 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -253.59082 445.65906 moveto -255.0332 445.65906 lineto -255.0332 446.83484 lineto -253.91211 449.02234 lineto -253.03027 449.02234 lineto -253.59082 446.83484 lineto -253.59082 445.65906 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -260.69336 440.62097 moveto -260.01888 440.62098 259.48567 440.8853 259.09375 441.41394 curveto -258.70182 441.93803 258.50586 442.65809 258.50586 443.5741 curveto -258.50586 444.49012 258.69954 445.21245 259.08691 445.74109 curveto -259.47884 446.26518 260.01432 446.52722 260.69336 446.52722 curveto -261.36328 446.52722 261.8942 446.2629 262.28613 445.73425 curveto -262.67805 445.20561 262.87402 444.48556 262.87402 443.5741 curveto -262.87402 442.6672 262.67805 441.94943 262.28613 441.42078 curveto -261.8942 440.88758 261.36328 440.62098 260.69336 440.62097 curveto -260.69336 439.55457 moveto -261.7871 439.55457 262.64615 439.91004 263.27051 440.62097 curveto -263.89485 441.33192 264.20702 442.31629 264.20703 443.5741 curveto -264.20702 444.82735 263.89485 445.81173 263.27051 446.52722 curveto -262.64615 447.23816 261.7871 447.59363 260.69336 447.59363 curveto -259.59505 447.59363 258.73372 447.23816 258.10938 446.52722 curveto -257.48958 445.81173 257.17969 444.82735 257.17969 443.5741 curveto -257.17969 442.31629 257.48958 441.33192 258.10938 440.62097 curveto -258.73372 439.91004 259.59505 439.55457 260.69336 439.55457 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -266.08691 436.77234 moveto -267.18066 436.77234 lineto -267.86425 437.84787 268.37467 438.9006 268.71191 439.93054 curveto -269.05371 440.9605 269.22461 441.98361 269.22461 442.99988 curveto -269.22461 444.02071 269.05371 445.04838 268.71191 446.08289 curveto -268.37467 447.11739 267.86425 448.17012 267.18066 449.24109 curveto -266.08691 449.24109 lineto -266.69303 448.19747 267.1442 447.16069 267.44043 446.13074 curveto -267.74121 445.09623 267.8916 444.05262 267.8916 442.99988 curveto -267.8916 441.94715 267.74121 440.90809 267.44043 439.88269 curveto -267.1442 438.85731 266.69303 437.82053 266.08691 436.77234 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -275.5498 436.77234 moveto -274.93912 437.82053 274.48567 438.85731 274.18945 439.88269 curveto -273.89323 440.90809 273.74511 441.94715 273.74512 442.99988 curveto -273.74511 444.05262 273.89323 445.09623 274.18945 446.13074 curveto -274.49023 447.16069 274.94368 448.19747 275.5498 449.24109 curveto -274.45605 449.24109 lineto -273.77246 448.17012 273.25976 447.11739 272.91797 446.08289 curveto -272.58073 445.04838 272.41211 444.02071 272.41211 442.99988 curveto -272.41211 441.98361 272.58073 440.9605 272.91797 439.93054 curveto -273.25521 438.9006 273.7679 437.84787 274.45605 436.77234 curveto -275.5498 436.77234 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -281.96875 438.39246 moveto -278.48242 443.8407 lineto -281.96875 443.8407 lineto -281.96875 438.39246 lineto -281.60645 437.18933 moveto -283.34277 437.18933 lineto -283.34277 443.8407 lineto -284.79883 443.8407 lineto -284.79883 444.98914 lineto -283.34277 444.98914 lineto -283.34277 447.39539 lineto -281.96875 447.39539 lineto -281.96875 444.98914 lineto -277.36133 444.98914 lineto -277.36133 443.65613 lineto -281.60645 437.18933 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -287.23242 445.65906 moveto -288.6748 445.65906 lineto -288.6748 446.83484 lineto -287.55371 449.02234 lineto -286.67188 449.02234 lineto -287.23242 446.83484 lineto -287.23242 445.65906 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -292.73535 446.23328 moveto -297.55469 446.23328 lineto -297.55469 447.39539 lineto -291.07422 447.39539 lineto -291.07422 446.23328 lineto -291.59831 445.69096 292.31152 444.96407 293.21387 444.05261 curveto -294.12076 443.1366 294.69043 442.54643 294.92285 442.2821 curveto -295.3649 441.78537 295.67252 441.36609 295.8457 441.02429 curveto -296.02343 440.67794 296.1123 440.33843 296.1123 440.00574 curveto -296.1123 439.46343 295.92089 439.02137 295.53809 438.67957 curveto -295.15983 438.33778 294.66536 438.16688 294.05469 438.16687 curveto -293.62174 438.16688 293.16373 438.24207 292.68066 438.39246 curveto -292.20215 438.54286 291.68945 438.77072 291.14258 439.07605 curveto -291.14258 437.68152 lineto -291.69857 437.45822 292.2181 437.2896 292.70117 437.17566 curveto -293.18424 437.06174 293.6263 437.00477 294.02734 437.00476 curveto -295.08463 437.00477 295.92773 437.26909 296.55664 437.79773 curveto -297.18554 438.32638 297.49999 439.03276 297.5 439.91687 curveto -297.49999 440.33615 297.42024 440.73491 297.26074 441.11316 curveto -297.10579 441.48686 296.82096 441.92892 296.40625 442.43933 curveto -296.29231 442.5715 295.93001 442.95431 295.31934 443.58777 curveto -294.70865 444.21668 293.84733 445.09851 292.73535 446.23328 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -300.60352 445.65906 moveto -302.0459 445.65906 lineto -302.0459 446.83484 lineto -300.9248 449.02234 lineto -300.04297 449.02234 lineto -300.60352 446.83484 lineto -300.60352 445.65906 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -307.70605 440.62097 moveto -307.03157 440.62098 306.49837 440.8853 306.10645 441.41394 curveto -305.71452 441.93803 305.51855 442.65809 305.51855 443.5741 curveto -305.51855 444.49012 305.71224 445.21245 306.09961 445.74109 curveto -306.49153 446.26518 307.02701 446.52722 307.70605 446.52722 curveto -308.37597 446.52722 308.9069 446.2629 309.29883 445.73425 curveto -309.69075 445.20561 309.88671 444.48556 309.88672 443.5741 curveto -309.88671 442.6672 309.69075 441.94943 309.29883 441.42078 curveto -308.9069 440.88758 308.37597 440.62098 307.70605 440.62097 curveto -307.70605 439.55457 moveto -308.7998 439.55457 309.65885 439.91004 310.2832 440.62097 curveto -310.90754 441.33192 311.21972 442.31629 311.21973 443.5741 curveto -311.21972 444.82735 310.90754 445.81173 310.2832 446.52722 curveto -309.65885 447.23816 308.7998 447.59363 307.70605 447.59363 curveto -306.60774 447.59363 305.74642 447.23816 305.12207 446.52722 curveto -304.50228 445.81173 304.19238 444.82735 304.19238 443.5741 curveto -304.19238 442.31629 304.50228 441.33192 305.12207 440.62097 curveto -305.74642 439.91004 306.60774 439.55457 307.70605 439.55457 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -313.09961 436.77234 moveto -314.19336 436.77234 lineto -314.87695 437.84787 315.38737 438.9006 315.72461 439.93054 curveto -316.0664 440.9605 316.2373 441.98361 316.2373 442.99988 curveto -316.2373 444.02071 316.0664 445.04838 315.72461 446.08289 curveto -315.38737 447.11739 314.87695 448.17012 314.19336 449.24109 curveto -313.09961 449.24109 lineto -313.70573 448.19747 314.1569 447.16069 314.45312 446.13074 curveto -314.7539 445.09623 314.90429 444.05262 314.9043 442.99988 curveto -314.90429 441.94715 314.7539 440.90809 314.45312 439.88269 curveto -314.1569 438.85731 313.70573 437.82053 313.09961 436.77234 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -181.16895 456.3075 moveto -180.55826 457.35568 180.10481 458.39246 179.80859 459.41785 curveto -179.51237 460.44324 179.36426 461.48231 179.36426 462.53503 curveto -179.36426 463.58777 179.51237 464.63139 179.80859 465.66589 curveto -180.10937 466.69584 180.56282 467.73262 181.16895 468.77625 curveto -180.0752 468.77625 lineto -179.3916 467.70528 178.8789 466.65255 178.53711 465.61804 curveto -178.19987 464.58354 178.03125 463.55587 178.03125 462.53503 curveto -178.03125 461.51876 178.19987 460.49565 178.53711 459.4657 curveto -178.87435 458.43576 179.38704 457.38303 180.0752 456.3075 curveto -181.16895 456.3075 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -183.80762 456.72449 moveto -189.22852 456.72449 lineto -189.22852 457.8866 lineto -185.07227 457.8866 lineto -185.07227 460.38855 lineto -185.27278 460.3202 185.4733 460.27007 185.67383 460.23816 curveto -185.87435 460.20171 186.07487 460.18348 186.27539 460.18347 curveto -187.41471 460.18348 188.31705 460.49565 188.98242 461.12 curveto -189.64778 461.74435 189.98046 462.58973 189.98047 463.65613 curveto -189.98046 464.75444 189.63866 465.60893 188.95508 466.2196 curveto -188.27148 466.82572 187.30761 467.12878 186.06348 467.12878 curveto -185.63509 467.12878 185.19759 467.09233 184.75098 467.01941 curveto -184.30892 466.94649 183.85091 466.83712 183.37695 466.69128 curveto -183.37695 465.30359 lineto -183.78711 465.5269 184.21094 465.69324 184.64844 465.80261 curveto -185.08593 465.91199 185.5485 465.96668 186.03613 465.96667 curveto -186.82454 465.96668 187.44889 465.75932 187.90918 465.3446 curveto -188.36946 464.92989 188.5996 464.36707 188.59961 463.65613 curveto -188.5996 462.94519 188.36946 462.38237 187.90918 461.96765 curveto -187.44889 461.55294 186.82454 461.34559 186.03613 461.34558 curveto -185.66699 461.34559 185.29785 461.3866 184.92871 461.46863 curveto -184.56413 461.55066 184.19043 461.67827 183.80762 461.85144 curveto -183.80762 456.72449 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -192.85156 465.19421 moveto -194.29395 465.19421 lineto -194.29395 466.37 lineto -193.17285 468.5575 lineto -192.29102 468.5575 lineto -192.85156 466.37 lineto -192.85156 465.19421 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -201.34863 461.42761 moveto -202.00943 461.56889 202.52441 461.86284 202.89355 462.30945 curveto -203.26725 462.75607 203.45409 463.3075 203.4541 463.96375 curveto -203.45409 464.97091 203.10774 465.7502 202.41504 466.30164 curveto -201.72232 466.85307 200.73795 467.12878 199.46191 467.12878 curveto -199.03353 467.12878 198.59147 467.08549 198.13574 466.9989 curveto -197.68457 466.91687 197.21745 466.79154 196.73438 466.62292 curveto -196.73438 465.28992 lineto -197.11719 465.51323 197.53646 465.68185 197.99219 465.79578 curveto -198.44791 465.90971 198.92415 465.96668 199.4209 465.96667 curveto -200.28678 465.96668 200.94531 465.79578 201.39648 465.45398 curveto -201.85221 465.11218 202.08007 464.61544 202.08008 463.96375 curveto -202.08007 463.36219 201.86816 462.89279 201.44434 462.55554 curveto -201.02506 462.21375 200.43945 462.04285 199.6875 462.04285 curveto -198.49805 462.04285 lineto -198.49805 460.90808 lineto -199.74219 460.90808 lineto -200.42122 460.90809 200.94075 460.77365 201.30078 460.50476 curveto -201.6608 460.23133 201.84081 459.8394 201.84082 459.32898 curveto -201.84081 458.8049 201.65397 458.40386 201.28027 458.12585 curveto -200.91113 457.84331 200.3802 457.70204 199.6875 457.70203 curveto -199.30924 457.70204 198.90364 457.74305 198.4707 457.82507 curveto -198.03776 457.90711 197.56152 458.03472 197.04199 458.20789 curveto -197.04199 456.97742 lineto -197.56608 456.83159 198.05599 456.72222 198.51172 456.64929 curveto -198.972 456.57639 199.40494 456.53993 199.81055 456.53992 curveto -200.85872 456.53993 201.68815 456.77918 202.29883 457.25769 curveto -202.9095 457.73166 203.21484 458.37424 203.21484 459.18542 curveto -203.21484 459.75054 203.05305 460.22905 202.72949 460.62097 curveto -202.40592 461.00835 201.94563 461.27723 201.34863 461.42761 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -206.22266 465.19421 moveto -207.66504 465.19421 lineto -207.66504 466.37 lineto -206.54395 468.5575 lineto -205.66211 468.5575 lineto -206.22266 466.37 lineto -206.22266 465.19421 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -213.3252 460.15613 moveto -212.65071 460.15613 212.11751 460.42046 211.72559 460.9491 curveto -211.33366 461.47319 211.13769 462.19324 211.1377 463.10925 curveto -211.13769 464.02527 211.33138 464.7476 211.71875 465.27625 curveto -212.11067 465.80033 212.64616 466.06238 213.3252 466.06238 curveto -213.99511 466.06238 214.52604 465.79806 214.91797 465.26941 curveto -215.30989 464.74077 215.50585 464.02071 215.50586 463.10925 curveto -215.50585 462.20236 215.30989 461.48458 214.91797 460.95593 curveto -214.52604 460.42274 213.99511 460.15613 213.3252 460.15613 curveto -213.3252 459.08972 moveto -214.41894 459.08973 215.27799 459.4452 215.90234 460.15613 curveto -216.52669 460.86707 216.83886 461.85145 216.83887 463.10925 curveto -216.83886 464.36251 216.52669 465.34688 215.90234 466.06238 curveto -215.27799 466.77332 214.41894 467.12878 213.3252 467.12878 curveto -212.22688 467.12878 211.36556 466.77332 210.74121 466.06238 curveto -210.12142 465.34688 209.81152 464.36251 209.81152 463.10925 curveto -209.81152 461.85145 210.12142 460.86707 210.74121 460.15613 curveto -211.36556 459.4452 212.22688 459.08973 213.3252 459.08972 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -218.71875 456.3075 moveto -219.8125 456.3075 lineto -220.49609 457.38303 221.00651 458.43576 221.34375 459.4657 curveto -221.68554 460.49565 221.85644 461.51876 221.85645 462.53503 curveto -221.85644 463.55587 221.68554 464.58354 221.34375 465.61804 curveto -221.00651 466.65255 220.49609 467.70528 219.8125 468.77625 curveto -218.71875 468.77625 lineto -219.32487 467.73262 219.77604 466.69584 220.07227 465.66589 curveto -220.37304 464.63139 220.52343 463.58777 220.52344 462.53503 curveto -220.52343 461.48231 220.37304 460.44324 220.07227 459.41785 curveto -219.77604 458.39246 219.32487 457.35568 218.71875 456.3075 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -228.20898 455.77429 moveto -227.5983 456.82248 227.14485 457.85926 226.84863 458.88464 curveto -226.55241 459.91004 226.40429 460.9491 226.4043 462.00183 curveto -226.40429 463.05457 226.55241 464.09819 226.84863 465.13269 curveto -227.14941 466.16264 227.60286 467.19942 228.20898 468.24304 curveto -227.11523 468.24304 lineto -226.43164 467.17208 225.91894 466.11934 225.57715 465.08484 curveto -225.23991 464.05034 225.07129 463.02267 225.07129 462.00183 curveto -225.07129 460.98556 225.23991 459.96245 225.57715 458.9325 curveto -225.91439 457.90256 226.42708 456.84982 227.11523 455.77429 curveto -228.20898 455.77429 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -233.95801 460.74402 moveto -233.33821 460.74402 232.84603 460.95594 232.48145 461.37976 curveto -232.12142 461.80359 231.9414 462.38465 231.94141 463.12292 curveto -231.9414 463.85665 232.12142 464.43771 232.48145 464.86609 curveto -232.84603 465.28992 233.33821 465.50183 233.95801 465.50183 curveto -234.57779 465.50183 235.0677 465.28992 235.42773 464.86609 curveto -235.79231 464.43771 235.9746 463.85665 235.97461 463.12292 curveto -235.9746 462.38465 235.79231 461.80359 235.42773 461.37976 curveto -235.0677 460.95594 234.57779 460.74402 233.95801 460.74402 curveto -236.69922 456.41687 moveto -236.69922 457.67468 lineto -236.35286 457.51063 236.00195 457.3853 235.64648 457.29871 curveto -235.29557 457.21213 234.94693 457.16883 234.60059 457.16882 curveto -233.68912 457.16883 232.99186 457.47645 232.50879 458.09167 curveto -232.03027 458.70692 231.75683 459.6366 231.68848 460.88074 curveto -231.95735 460.48426 232.29459 460.1812 232.7002 459.97156 curveto -233.10579 459.75737 233.5524 459.65028 234.04004 459.65027 curveto -235.06542 459.65028 235.87434 459.96245 236.4668 460.58679 curveto -237.06379 461.20659 237.3623 462.05197 237.3623 463.12292 curveto -237.3623 464.1711 237.0524 465.01192 236.43262 465.64539 curveto -235.81282 466.27885 234.98795 466.59558 233.95801 466.59558 curveto -232.77767 466.59558 231.87532 466.14441 231.25098 465.24207 curveto -230.62663 464.33517 230.31445 463.02267 230.31445 461.30457 curveto -230.31445 459.69129 230.69726 458.40614 231.46289 457.4491 curveto -232.22851 456.48752 233.25618 456.00672 234.5459 456.00671 curveto -234.89225 456.00672 235.24088 456.0409 235.5918 456.10925 curveto -235.94726 456.17762 236.3164 456.28016 236.69922 456.41687 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -239.8916 464.66101 moveto -241.33398 464.66101 lineto -241.33398 465.83679 lineto -240.21289 468.02429 lineto -239.33105 468.02429 lineto -239.8916 465.83679 lineto -239.8916 464.66101 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -247.99902 457.39441 moveto -244.5127 462.84265 lineto -247.99902 462.84265 lineto -247.99902 457.39441 lineto -247.63672 456.19128 moveto -249.37305 456.19128 lineto -249.37305 462.84265 lineto -250.8291 462.84265 lineto -250.8291 463.99109 lineto -249.37305 463.99109 lineto -249.37305 466.39734 lineto -247.99902 466.39734 lineto -247.99902 463.99109 lineto -243.3916 463.99109 lineto -243.3916 462.65808 lineto -247.63672 456.19128 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -253.2627 464.66101 moveto -254.70508 464.66101 lineto -254.70508 465.83679 lineto -253.58398 468.02429 lineto -252.70215 468.02429 lineto -253.2627 465.83679 lineto -253.2627 464.66101 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -262.43652 462.48035 moveto -262.43652 461.56889 262.24739 460.86251 261.86914 460.36121 curveto -261.49544 459.85991 260.96907 459.60926 260.29004 459.60925 curveto -259.61556 459.60926 259.08919 459.85991 258.71094 460.36121 curveto -258.33724 460.86251 258.15039 461.56889 258.15039 462.48035 curveto -258.15039 463.38725 258.33724 464.09135 258.71094 464.59265 curveto -259.08919 465.09395 259.61556 465.34461 260.29004 465.3446 curveto -260.96907 465.34461 261.49544 465.09395 261.86914 464.59265 curveto -262.24739 464.09135 262.43652 463.38725 262.43652 462.48035 curveto -263.69434 465.44714 moveto -263.69433 466.75053 263.40494 467.71895 262.82617 468.35242 curveto -262.24739 468.99044 261.361 469.30945 260.16699 469.30945 curveto -259.72493 469.30945 259.30794 469.27527 258.91602 469.20691 curveto -258.52409 469.1431 258.14355 469.04284 257.77441 468.90613 curveto -257.77441 467.6825 lineto -258.14355 467.88301 258.50814 468.03113 258.86816 468.12683 curveto -259.22819 468.22253 259.59505 468.27038 259.96875 468.27039 curveto -260.79362 468.27038 261.41113 468.05391 261.82129 467.62097 curveto -262.23144 467.19259 262.43652 466.54317 262.43652 465.67273 curveto -262.43652 465.05066 lineto -262.17675 465.50183 261.84407 465.83907 261.43848 466.06238 curveto -261.03287 466.28569 260.54752 466.39734 259.98242 466.39734 curveto -259.04362 466.39734 258.28711 466.03959 257.71289 465.3241 curveto -257.13867 464.6086 256.85156 463.66069 256.85156 462.48035 curveto -256.85156 461.29546 257.13867 460.34526 257.71289 459.62976 curveto -258.28711 458.91427 259.04362 458.55653 259.98242 458.55652 curveto -260.54752 458.55653 261.03287 458.66818 261.43848 458.89148 curveto -261.84407 459.11479 262.17675 459.45203 262.43652 459.9032 curveto -262.43652 458.74109 lineto -263.69434 458.74109 lineto -263.69434 465.44714 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -266.08691 455.77429 moveto -267.18066 455.77429 lineto -267.86425 456.84982 268.37467 457.90256 268.71191 458.9325 curveto -269.05371 459.96245 269.22461 460.98556 269.22461 462.00183 curveto -269.22461 463.02267 269.05371 464.05034 268.71191 465.08484 curveto -268.37467 466.11934 267.86425 467.17208 267.18066 468.24304 curveto -266.08691 468.24304 lineto -266.69303 467.19942 267.1442 466.16264 267.44043 465.13269 curveto -267.74121 464.09819 267.8916 463.05457 267.8916 462.00183 curveto -267.8916 460.9491 267.74121 459.91004 267.44043 458.88464 curveto -267.1442 457.85926 266.69303 456.82248 266.08691 455.77429 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -275.57715 455.77429 moveto -274.96647 456.82248 274.51302 457.85926 274.2168 458.88464 curveto -273.92057 459.91004 273.77246 460.9491 273.77246 462.00183 curveto -273.77246 463.05457 273.92057 464.09819 274.2168 465.13269 curveto -274.51757 466.16264 274.97102 467.19942 275.57715 468.24304 curveto -274.4834 468.24304 lineto -273.7998 467.17208 273.28711 466.11934 272.94531 465.08484 curveto -272.60807 464.05034 272.43945 463.02267 272.43945 462.00183 curveto -272.43945 460.98556 272.60807 459.96245 272.94531 458.9325 curveto -273.28255 457.90256 273.79524 456.84982 274.4834 455.77429 curveto -275.57715 455.77429 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -281.15527 461.55066 moveto -280.49902 461.55066 279.98177 461.72612 279.60352 462.07703 curveto -279.22982 462.42794 279.04297 462.91101 279.04297 463.52625 curveto -279.04297 464.14148 279.22982 464.62455 279.60352 464.97546 curveto -279.98177 465.32638 280.49902 465.50183 281.15527 465.50183 curveto -281.81152 465.50183 282.32877 465.32638 282.70703 464.97546 curveto -283.08528 464.62 283.27441 464.13692 283.27441 463.52625 curveto -283.27441 462.91101 283.08528 462.42794 282.70703 462.07703 curveto -282.33333 461.72612 281.81608 461.55066 281.15527 461.55066 curveto -279.77441 460.96277 moveto -279.18196 460.81694 278.7194 460.54122 278.38672 460.13562 curveto -278.05859 459.73003 277.89453 459.23556 277.89453 458.65222 curveto -277.89453 457.83648 278.18392 457.19162 278.7627 456.71765 curveto -279.34603 456.2437 280.14355 456.00672 281.15527 456.00671 curveto -282.17154 456.00672 282.96907 456.2437 283.54785 456.71765 curveto -284.12662 457.19162 284.41601 457.83648 284.41602 458.65222 curveto -284.41601 459.23556 284.24967 459.73003 283.91699 460.13562 curveto -283.58886 460.54122 283.13085 460.81694 282.54297 460.96277 curveto -283.20833 461.11772 283.72558 461.42078 284.09473 461.87195 curveto -284.46842 462.32312 284.65527 462.87456 284.65527 463.52625 curveto -284.65527 464.51518 284.35221 465.27397 283.74609 465.80261 curveto -283.14452 466.33126 282.28092 466.59558 281.15527 466.59558 curveto -280.02962 466.59558 279.16373 466.33126 278.55762 465.80261 curveto -277.95605 465.27397 277.65527 464.51518 277.65527 463.52625 curveto -277.65527 462.87456 277.84212 462.32312 278.21582 461.87195 curveto -278.58952 461.42078 279.10905 461.11772 279.77441 460.96277 curveto -279.26855 458.7821 moveto -279.26855 459.31076 279.43261 459.72319 279.76074 460.01941 curveto -280.09342 460.31564 280.55826 460.46375 281.15527 460.46375 curveto -281.74772 460.46375 282.21028 460.31564 282.54297 460.01941 curveto -282.8802 459.72319 283.04882 459.31076 283.04883 458.7821 curveto -283.04882 458.25347 282.8802 457.84103 282.54297 457.5448 curveto -282.21028 457.24858 281.74772 457.10047 281.15527 457.10046 curveto -280.55826 457.10047 280.09342 457.24858 279.76074 457.5448 curveto -279.43261 457.84103 279.26855 458.25347 279.26855 458.7821 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -287.25977 464.66101 moveto -288.70215 464.66101 lineto -288.70215 465.83679 lineto -287.58105 468.02429 lineto -286.69922 468.02429 lineto -287.25977 465.83679 lineto -287.25977 464.66101 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -291.58691 456.19128 moveto -297.00781 456.19128 lineto -297.00781 457.35339 lineto -292.85156 457.35339 lineto -292.85156 459.85535 lineto -293.05208 459.78699 293.2526 459.73686 293.45312 459.70496 curveto -293.65364 459.6685 293.85416 459.65028 294.05469 459.65027 curveto -295.19401 459.65028 296.09635 459.96245 296.76172 460.58679 curveto -297.42708 461.21115 297.75976 462.05652 297.75977 463.12292 curveto -297.75976 464.22123 297.41796 465.07573 296.73438 465.6864 curveto -296.05078 466.29252 295.08691 466.59558 293.84277 466.59558 curveto -293.41438 466.59558 292.97689 466.55912 292.53027 466.48621 curveto -292.08821 466.41329 291.63021 466.30391 291.15625 466.15808 curveto -291.15625 464.77039 lineto -291.5664 464.99369 291.99023 465.16004 292.42773 465.26941 curveto -292.86523 465.37879 293.3278 465.43347 293.81543 465.43347 curveto -294.60384 465.43347 295.22818 465.22612 295.68848 464.8114 curveto -296.14876 464.39669 296.3789 463.83386 296.37891 463.12292 curveto -296.3789 462.41199 296.14876 461.84917 295.68848 461.43445 curveto -295.22818 461.01974 294.60384 460.81238 293.81543 460.81238 curveto -293.44629 460.81238 293.07715 460.8534 292.70801 460.93542 curveto -292.34342 461.01746 291.96972 461.14507 291.58691 461.31824 curveto -291.58691 456.19128 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -300.63086 464.66101 moveto -302.07324 464.66101 lineto -302.07324 465.83679 lineto -300.95215 468.02429 lineto -300.07031 468.02429 lineto -300.63086 465.83679 lineto -300.63086 464.66101 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -309.80469 462.48035 moveto -309.80468 461.56889 309.61555 460.86251 309.2373 460.36121 curveto -308.8636 459.85991 308.33723 459.60926 307.6582 459.60925 curveto -306.98372 459.60926 306.45735 459.85991 306.0791 460.36121 curveto -305.7054 460.86251 305.51855 461.56889 305.51855 462.48035 curveto -305.51855 463.38725 305.7054 464.09135 306.0791 464.59265 curveto -306.45735 465.09395 306.98372 465.34461 307.6582 465.3446 curveto -308.33723 465.34461 308.8636 465.09395 309.2373 464.59265 curveto -309.61555 464.09135 309.80468 463.38725 309.80469 462.48035 curveto -311.0625 465.44714 moveto -311.06249 466.75053 310.7731 467.71895 310.19434 468.35242 curveto -309.61555 468.99044 308.72916 469.30945 307.53516 469.30945 curveto -307.0931 469.30945 306.6761 469.27527 306.28418 469.20691 curveto -305.89225 469.1431 305.51172 469.04284 305.14258 468.90613 curveto -305.14258 467.6825 lineto -305.51172 467.88301 305.8763 468.03113 306.23633 468.12683 curveto -306.59635 468.22253 306.96321 468.27038 307.33691 468.27039 curveto -308.16178 468.27038 308.77929 468.05391 309.18945 467.62097 curveto -309.5996 467.19259 309.80468 466.54317 309.80469 465.67273 curveto -309.80469 465.05066 lineto -309.54492 465.50183 309.21223 465.83907 308.80664 466.06238 curveto -308.40104 466.28569 307.91569 466.39734 307.35059 466.39734 curveto -306.41178 466.39734 305.65527 466.03959 305.08105 465.3241 curveto -304.50683 464.6086 304.21973 463.66069 304.21973 462.48035 curveto -304.21973 461.29546 304.50683 460.34526 305.08105 459.62976 curveto -305.65527 458.91427 306.41178 458.55653 307.35059 458.55652 curveto -307.91569 458.55653 308.40104 458.66818 308.80664 458.89148 curveto -309.21223 459.11479 309.54492 459.45203 309.80469 459.9032 curveto -309.80469 458.74109 lineto -311.0625 458.74109 lineto -311.0625 465.44714 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -313.45508 455.77429 moveto -314.54883 455.77429 lineto -315.23242 456.84982 315.74284 457.90256 316.08008 458.9325 curveto -316.42187 459.96245 316.59277 460.98556 316.59277 462.00183 curveto -316.59277 463.02267 316.42187 464.05034 316.08008 465.08484 curveto -315.74284 466.11934 315.23242 467.17208 314.54883 468.24304 curveto -313.45508 468.24304 lineto -314.0612 467.19942 314.51237 466.16264 314.80859 465.13269 curveto -315.10937 464.09819 315.25976 463.05457 315.25977 462.00183 curveto -315.25976 460.9491 315.10937 459.91004 314.80859 458.88464 curveto -314.51237 457.85926 314.0612 456.82248 313.45508 455.77429 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -174.3125 475.84265 moveto -173.70182 476.89084 173.24837 477.92762 172.95215 478.953 curveto -172.65592 479.9784 172.50781 481.01746 172.50781 482.07019 curveto -172.50781 483.12293 172.65592 484.16655 172.95215 485.20105 curveto -173.25293 486.231 173.70638 487.26778 174.3125 488.3114 curveto -173.21875 488.3114 lineto -172.53515 487.24044 172.02246 486.1877 171.68066 485.1532 curveto -171.34342 484.1187 171.1748 483.09103 171.1748 482.07019 curveto -171.1748 481.05392 171.34342 480.03081 171.68066 479.00085 curveto -172.0179 477.97092 172.5306 476.91818 173.21875 475.84265 curveto -174.3125 475.84265 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -176.97852 486.25378 moveto -176.97852 484.99597 lineto -177.32487 485.16004 177.67578 485.28536 178.03125 485.37195 curveto -178.38672 485.45854 178.73535 485.50183 179.07715 485.50183 curveto -179.9886 485.50183 180.68359 485.19649 181.16211 484.58582 curveto -181.64518 483.97058 181.92089 483.03862 181.98926 481.78992 curveto -181.72493 482.18185 181.38997 482.48263 180.98438 482.69226 curveto -180.57877 482.9019 180.12988 483.00672 179.6377 483.00671 curveto -178.61686 483.00672 177.80794 482.6991 177.21094 482.08386 curveto -176.61849 481.46408 176.32226 480.6187 176.32227 479.54773 curveto -176.32226 478.49956 176.63216 477.65874 177.25195 477.02527 curveto -177.87174 476.39182 178.69661 476.07508 179.72656 476.07507 curveto -180.9069 476.07508 181.80696 476.52853 182.42676 477.43542 curveto -183.0511 478.33778 183.36327 479.65028 183.36328 481.37292 curveto -183.36327 482.98165 182.98046 484.26681 182.21484 485.22839 curveto -181.45377 486.18543 180.42838 486.66394 179.13867 486.66394 curveto -178.79231 486.66394 178.4414 486.62976 178.08594 486.5614 curveto -177.73047 486.49304 177.36133 486.3905 176.97852 486.25378 curveto -179.72656 481.92664 moveto -180.34635 481.92664 180.83626 481.71473 181.19629 481.29089 curveto -181.56087 480.86707 181.74316 480.28602 181.74316 479.54773 curveto -181.74316 478.81401 181.56087 478.23524 181.19629 477.8114 curveto -180.83626 477.38303 180.34635 477.16883 179.72656 477.16882 curveto -179.10677 477.16883 178.61458 477.38303 178.25 477.8114 curveto -177.88997 478.23524 177.70996 478.81401 177.70996 479.54773 curveto -177.70996 480.28602 177.88997 480.86707 178.25 481.29089 curveto -178.61458 481.71473 179.10677 481.92664 179.72656 481.92664 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -185.99512 484.72937 moveto -187.4375 484.72937 lineto -187.4375 485.90515 lineto -186.31641 488.09265 lineto -185.43457 488.09265 lineto -185.99512 485.90515 lineto -185.99512 484.72937 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -193.43262 480.81238 moveto -192.81282 480.81238 192.32063 481.0243 191.95605 481.44812 curveto -191.59603 481.87195 191.41601 482.45301 191.41602 483.19128 curveto -191.41601 483.92501 191.59603 484.50606 191.95605 484.93445 curveto -192.32063 485.35828 192.81282 485.57019 193.43262 485.57019 curveto -194.0524 485.57019 194.54231 485.35828 194.90234 484.93445 curveto -195.26692 484.50606 195.44921 483.92501 195.44922 483.19128 curveto -195.44921 482.45301 195.26692 481.87195 194.90234 481.44812 curveto -194.54231 481.0243 194.0524 480.81238 193.43262 480.81238 curveto -196.17383 476.48523 moveto -196.17383 477.74304 lineto -195.82747 477.57899 195.47656 477.45366 195.12109 477.36707 curveto -194.77018 477.28049 194.42154 477.23719 194.0752 477.23718 curveto -193.16373 477.23719 192.46647 477.54481 191.9834 478.16003 curveto -191.50488 478.77528 191.23144 479.70496 191.16309 480.9491 curveto -191.43196 480.55262 191.7692 480.24956 192.1748 480.03992 curveto -192.5804 479.82573 193.02701 479.71863 193.51465 479.71863 curveto -194.54003 479.71863 195.34895 480.03081 195.94141 480.65515 curveto -196.5384 481.27495 196.83691 482.12032 196.83691 483.19128 curveto -196.83691 484.23946 196.52701 485.08028 195.90723 485.71375 curveto -195.28743 486.34721 194.46256 486.66394 193.43262 486.66394 curveto -192.25228 486.66394 191.34993 486.21277 190.72559 485.31042 curveto -190.10124 484.40353 189.78906 483.09103 189.78906 481.37292 curveto -189.78906 479.75965 190.17187 478.4745 190.9375 477.51746 curveto -191.70312 476.55588 192.73079 476.07508 194.02051 476.07507 curveto -194.36686 476.07508 194.71549 476.10926 195.06641 476.17761 curveto -195.42187 476.24598 195.79101 476.34852 196.17383 476.48523 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -199.36621 484.72937 moveto -200.80859 484.72937 lineto -200.80859 485.90515 lineto -199.6875 488.09265 lineto -198.80566 488.09265 lineto -199.36621 485.90515 lineto -199.36621 484.72937 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -206.46875 479.69128 moveto -205.79427 479.69129 205.26106 479.95561 204.86914 480.48425 curveto -204.47721 481.00835 204.28125 481.7284 204.28125 482.64441 curveto -204.28125 483.56043 204.47493 484.28276 204.8623 484.8114 curveto -205.25423 485.33549 205.78971 485.59754 206.46875 485.59753 curveto -207.13867 485.59754 207.66959 485.33321 208.06152 484.80457 curveto -208.45344 484.27592 208.64941 483.55587 208.64941 482.64441 curveto -208.64941 481.73751 208.45344 481.01974 208.06152 480.49109 curveto -207.66959 479.95789 207.13867 479.69129 206.46875 479.69128 curveto -206.46875 478.62488 moveto -207.56249 478.62489 208.42154 478.98035 209.0459 479.69128 curveto -209.67024 480.40223 209.98241 481.3866 209.98242 482.64441 curveto -209.98241 483.89767 209.67024 484.88204 209.0459 485.59753 curveto -208.42154 486.30847 207.56249 486.66394 206.46875 486.66394 curveto -205.37044 486.66394 204.50911 486.30847 203.88477 485.59753 curveto -203.26497 484.88204 202.95508 483.89767 202.95508 482.64441 curveto -202.95508 481.3866 203.26497 480.40223 203.88477 479.69128 curveto -204.50911 478.98035 205.37044 478.62489 206.46875 478.62488 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -211.8623 475.84265 moveto -212.95605 475.84265 lineto -213.63965 476.91818 214.15006 477.97092 214.4873 479.00085 curveto -214.8291 480.03081 215 481.05392 215 482.07019 curveto -215 483.09103 214.8291 484.1187 214.4873 485.1532 curveto -214.15006 486.1877 213.63965 487.24044 212.95605 488.3114 curveto -211.8623 488.3114 lineto -212.46842 487.26778 212.91959 486.231 213.21582 485.20105 curveto -213.5166 484.16655 213.66699 483.12293 213.66699 482.07019 curveto -213.66699 481.01746 213.5166 479.9784 213.21582 478.953 curveto -212.91959 477.92762 212.46842 476.89084 211.8623 475.84265 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -222.12305 476.34265 moveto -221.51237 477.39084 221.05892 478.42762 220.7627 479.453 curveto -220.46647 480.4784 220.31836 481.51746 220.31836 482.57019 curveto -220.31836 483.62293 220.46647 484.66655 220.7627 485.70105 curveto -221.06347 486.731 221.51692 487.76778 222.12305 488.8114 curveto -221.0293 488.8114 lineto -220.3457 487.74044 219.83301 486.6877 219.49121 485.6532 curveto -219.15397 484.6187 218.98535 483.59103 218.98535 482.57019 curveto -218.98535 481.55392 219.15397 480.53081 219.49121 479.50085 curveto -219.82845 478.47092 220.34114 477.41818 221.0293 476.34265 curveto -222.12305 476.34265 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -224.9873 485.80359 moveto -227.24316 485.80359 lineto -227.24316 478.01746 lineto -224.78906 478.50964 lineto -224.78906 477.25183 lineto -227.22949 476.75964 lineto -228.61035 476.75964 lineto -228.61035 485.80359 lineto -230.86621 485.80359 lineto -230.86621 486.9657 lineto -224.9873 486.9657 lineto -224.9873 485.80359 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -236.61523 477.66882 moveto -235.90429 477.66883 235.36881 478.01974 235.00879 478.72156 curveto -234.65332 479.41883 234.47558 480.46929 234.47559 481.87292 curveto -234.47558 483.27202 234.65332 484.32247 235.00879 485.02429 curveto -235.36881 485.72156 235.90429 486.07019 236.61523 486.07019 curveto -237.33072 486.07019 237.86621 485.72156 238.22168 485.02429 curveto -238.5817 484.32247 238.76171 483.27202 238.76172 481.87292 curveto -238.76171 480.46929 238.5817 479.41883 238.22168 478.72156 curveto -237.86621 478.01974 237.33072 477.66883 236.61523 477.66882 curveto -236.61523 476.57507 moveto -237.75911 476.57508 238.63183 477.02853 239.2334 477.93542 curveto -239.83951 478.83778 240.14257 480.15028 240.14258 481.87292 curveto -240.14257 483.59103 239.83951 484.90353 239.2334 485.81042 curveto -238.63183 486.71277 237.75911 487.16394 236.61523 487.16394 curveto -235.47135 487.16394 234.59635 486.71277 233.99023 485.81042 curveto -233.38867 484.90353 233.08789 483.59103 233.08789 481.87292 curveto -233.08789 480.15028 233.38867 478.83778 233.99023 477.93542 curveto -234.59635 477.02853 235.47135 476.57508 236.61523 476.57507 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -242.71973 485.22937 moveto -244.16211 485.22937 lineto -244.16211 486.40515 lineto -243.04102 488.59265 lineto -242.15918 488.59265 lineto -242.71973 486.40515 lineto -242.71973 485.22937 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -246.68457 476.75964 moveto -253.24707 476.75964 lineto -253.24707 477.34753 lineto -249.54199 486.9657 lineto -248.09961 486.9657 lineto -251.58594 477.92175 lineto -246.68457 477.92175 lineto -246.68457 476.75964 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -256.09082 485.22937 moveto -257.5332 485.22937 lineto -257.5332 486.40515 lineto -256.41211 488.59265 lineto -255.53027 488.59265 lineto -256.09082 486.40515 lineto -256.09082 485.22937 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -263.19336 480.19128 moveto -262.51888 480.19129 261.98567 480.45561 261.59375 480.98425 curveto -261.20182 481.50835 261.00586 482.2284 261.00586 483.14441 curveto -261.00586 484.06043 261.19954 484.78276 261.58691 485.3114 curveto -261.97884 485.83549 262.51432 486.09754 263.19336 486.09753 curveto -263.86328 486.09754 264.3942 485.83321 264.78613 485.30457 curveto -265.17805 484.77592 265.37402 484.05587 265.37402 483.14441 curveto -265.37402 482.23751 265.17805 481.51974 264.78613 480.99109 curveto -264.3942 480.45789 263.86328 480.19129 263.19336 480.19128 curveto -263.19336 479.12488 moveto -264.2871 479.12489 265.14615 479.48035 265.77051 480.19128 curveto -266.39485 480.90223 266.70702 481.8866 266.70703 483.14441 curveto -266.70702 484.39767 266.39485 485.38204 265.77051 486.09753 curveto -265.14615 486.80847 264.2871 487.16394 263.19336 487.16394 curveto -262.09505 487.16394 261.23372 486.80847 260.60938 486.09753 curveto -259.98958 485.38204 259.67969 484.39767 259.67969 483.14441 curveto -259.67969 481.8866 259.98958 480.90223 260.60938 480.19128 curveto -261.23372 479.48035 262.09505 479.12489 263.19336 479.12488 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -268.58691 476.34265 moveto -269.68066 476.34265 lineto -270.36425 477.41818 270.87467 478.47092 271.21191 479.50085 curveto -271.55371 480.53081 271.72461 481.55392 271.72461 482.57019 curveto -271.72461 483.59103 271.55371 484.6187 271.21191 485.6532 curveto -270.87467 486.6877 270.36425 487.74044 269.68066 488.8114 curveto -268.58691 488.8114 lineto -269.19303 487.76778 269.6442 486.731 269.94043 485.70105 curveto -270.24121 484.66655 270.3916 483.62293 270.3916 482.57019 curveto -270.3916 481.51746 270.24121 480.4784 269.94043 479.453 curveto -269.6442 478.42762 269.19303 477.39084 268.58691 476.34265 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -276.49121 476.34265 moveto -275.88053 477.39084 275.42708 478.42762 275.13086 479.453 curveto -274.83463 480.4784 274.68652 481.51746 274.68652 482.57019 curveto -274.68652 483.62293 274.83463 484.66655 275.13086 485.70105 curveto -275.43164 486.731 275.88509 487.76778 276.49121 488.8114 curveto -275.39746 488.8114 lineto -274.71386 487.74044 274.20117 486.6877 273.85938 485.6532 curveto -273.52213 484.6187 273.35351 483.59103 273.35352 482.57019 curveto -273.35351 481.55392 273.52213 480.53081 273.85938 479.50085 curveto -274.19661 478.47092 274.70931 477.41818 275.39746 476.34265 curveto -276.49121 476.34265 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -279.35547 485.80359 moveto -281.61133 485.80359 lineto -281.61133 478.01746 lineto -279.15723 478.50964 lineto -279.15723 477.25183 lineto -281.59766 476.75964 lineto -282.97852 476.75964 lineto -282.97852 485.80359 lineto -285.23438 485.80359 lineto -285.23438 486.9657 lineto -279.35547 486.9657 lineto -279.35547 485.80359 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -288.26953 485.80359 moveto -290.52539 485.80359 lineto -290.52539 478.01746 lineto -288.07129 478.50964 lineto -288.07129 477.25183 lineto -290.51172 476.75964 lineto -291.89258 476.75964 lineto -291.89258 485.80359 lineto -294.14844 485.80359 lineto -294.14844 486.9657 lineto -288.26953 486.9657 lineto -288.26953 485.80359 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -297.08789 485.22937 moveto -298.53027 485.22937 lineto -298.53027 486.40515 lineto -297.40918 488.59265 lineto -296.52734 488.59265 lineto -297.08789 486.40515 lineto -297.08789 485.22937 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -304.35449 482.11902 moveto -303.69824 482.11902 303.18099 482.29448 302.80273 482.64539 curveto -302.42903 482.9963 302.24219 483.47937 302.24219 484.0946 curveto -302.24219 484.70984 302.42903 485.19291 302.80273 485.54382 curveto -303.18099 485.89474 303.69824 486.07019 304.35449 486.07019 curveto -305.01074 486.07019 305.52799 485.89474 305.90625 485.54382 curveto -306.2845 485.18836 306.47363 484.70528 306.47363 484.0946 curveto -306.47363 483.47937 306.2845 482.9963 305.90625 482.64539 curveto -305.53255 482.29448 305.01529 482.11902 304.35449 482.11902 curveto -302.97363 481.53113 moveto -302.38118 481.3853 301.91862 481.10958 301.58594 480.70398 curveto -301.25781 480.29839 301.09375 479.80392 301.09375 479.22058 curveto -301.09375 478.40483 301.38314 477.75998 301.96191 477.28601 curveto -302.54524 476.81206 303.34277 476.57508 304.35449 476.57507 curveto -305.37076 476.57508 306.16829 476.81206 306.74707 477.28601 curveto -307.32584 477.75998 307.61523 478.40483 307.61523 479.22058 curveto -307.61523 479.80392 307.44889 480.29839 307.11621 480.70398 curveto -306.78808 481.10958 306.33007 481.3853 305.74219 481.53113 curveto -306.40755 481.68608 306.9248 481.98914 307.29395 482.44031 curveto -307.66764 482.89148 307.85448 483.44292 307.85449 484.0946 curveto -307.85448 485.08354 307.55142 485.84233 306.94531 486.37097 curveto -306.34374 486.89962 305.48014 487.16394 304.35449 487.16394 curveto -303.22884 487.16394 302.36295 486.89962 301.75684 486.37097 curveto -301.15527 485.84233 300.85449 485.08354 300.85449 484.0946 curveto -300.85449 483.44292 301.04134 482.89148 301.41504 482.44031 curveto -301.78874 481.98914 302.30827 481.68608 302.97363 481.53113 curveto -302.46777 479.35046 moveto -302.46777 479.87912 302.63183 480.29155 302.95996 480.58777 curveto -303.29264 480.884 303.75748 481.03211 304.35449 481.0321 curveto -304.94694 481.03211 305.4095 480.884 305.74219 480.58777 curveto -306.07942 480.29155 306.24804 479.87912 306.24805 479.35046 curveto -306.24804 478.82183 306.07942 478.40939 305.74219 478.11316 curveto -305.4095 477.81694 304.94694 477.66883 304.35449 477.66882 curveto -303.75748 477.66883 303.29264 477.81694 302.95996 478.11316 curveto -302.63183 478.40939 302.46777 478.82183 302.46777 479.35046 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -310.45898 485.22937 moveto -311.90137 485.22937 lineto -311.90137 486.40515 lineto -310.78027 488.59265 lineto -309.89844 488.59265 lineto -310.45898 486.40515 lineto -310.45898 485.22937 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -317.56152 480.19128 moveto -316.88704 480.19129 316.35384 480.45561 315.96191 480.98425 curveto -315.56998 481.50835 315.37402 482.2284 315.37402 483.14441 curveto -315.37402 484.06043 315.56771 484.78276 315.95508 485.3114 curveto -316.347 485.83549 316.88248 486.09754 317.56152 486.09753 curveto -318.23144 486.09754 318.76236 485.83321 319.1543 485.30457 curveto -319.54622 484.77592 319.74218 484.05587 319.74219 483.14441 curveto -319.74218 482.23751 319.54622 481.51974 319.1543 480.99109 curveto -318.76236 480.45789 318.23144 480.19129 317.56152 480.19128 curveto -317.56152 479.12488 moveto -318.65527 479.12489 319.51432 479.48035 320.13867 480.19128 curveto -320.76301 480.90223 321.07519 481.8866 321.0752 483.14441 curveto -321.07519 484.39767 320.76301 485.38204 320.13867 486.09753 curveto -319.51432 486.80847 318.65527 487.16394 317.56152 487.16394 curveto -316.46321 487.16394 315.60189 486.80847 314.97754 486.09753 curveto -314.35775 485.38204 314.04785 484.39767 314.04785 483.14441 curveto -314.04785 481.8866 314.35775 480.90223 314.97754 480.19128 curveto -315.60189 479.48035 316.46321 479.12489 317.56152 479.12488 curveto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -322.95508 476.34265 moveto -324.04883 476.34265 lineto -324.73242 477.41818 325.24284 478.47092 325.58008 479.50085 curveto -325.92187 480.53081 326.09277 481.55392 326.09277 482.57019 curveto -326.09277 483.59103 325.92187 484.6187 325.58008 485.6532 curveto -325.24284 486.6877 324.73242 487.74044 324.04883 488.8114 curveto -322.95508 488.8114 lineto -323.5612 487.76778 324.01237 486.731 324.30859 485.70105 curveto -324.60937 484.66655 324.75976 483.62293 324.75977 482.57019 curveto -324.75976 481.51746 324.60937 480.4784 324.30859 479.453 curveto -324.01237 478.42762 323.5612 477.39084 322.95508 476.34265 curveto -fill -grestore -gsave [1.436848 0 0 0.806571 118.9493 72.56034] concat -0 0 0 setrgbcolor -[] 0 setdash -1.5 setlinewidth -0 setlinejoin -0 setlinecap -newpath -154.5 482.61218 moveto -154.5 515.59418 125.716 542.36218 90.25 542.36218 curveto -54.784 542.36218 26 515.59418 26 482.61218 curveto -26 449.63018 54.784 422.86218 90.25 422.86218 curveto -125.716 422.86218 154.5 449.63018 154.5 482.61218 curveto -closepath -stroke -grestore -gsave -0 0 0 setrgbcolor -newpath -244.37402 420.15613 moveto -245.75488 420.15613 lineto -245.75488 430.36218 lineto -244.37402 430.36218 lineto -244.37402 420.15613 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -249.69238 420.5321 moveto -249.69238 422.70593 lineto -252.2832 422.70593 lineto -252.2832 423.68347 lineto -249.69238 423.68347 lineto -249.69238 427.83972 lineto -249.69238 428.46407 249.77669 428.86511 249.94531 429.04285 curveto -250.11849 429.22058 250.46712 429.30945 250.99121 429.30945 curveto -252.2832 429.30945 lineto -252.2832 430.36218 lineto -250.99121 430.36218 lineto -250.0205 430.36218 249.35058 430.18217 248.98145 429.82214 curveto -248.6123 429.45756 248.42773 428.79675 248.42773 427.83972 curveto -248.42773 423.68347 lineto -247.50488 423.68347 lineto -247.50488 422.70593 lineto -248.42773 422.70593 lineto -248.42773 420.5321 lineto -249.69238 420.5321 lineto -fill -grestore -grestore -gsave -0 0 0 setrgbcolor -newpath -250.25488 525.79089 moveto -250.25488 529.62585 lineto -251.99121 529.62585 lineto -252.63378 529.62586 253.13053 529.45952 253.48145 529.12683 curveto -253.83235 528.79415 254.00781 528.3202 254.00781 527.70496 curveto -254.00781 527.09429 253.83235 526.62261 253.48145 526.28992 curveto -253.13053 525.95724 252.63378 525.7909 251.99121 525.79089 curveto -250.25488 525.79089 lineto -248.87402 524.65613 moveto -251.99121 524.65613 lineto -253.13509 524.65614 253.99869 524.9159 254.58203 525.43542 curveto -255.16991 525.95041 255.46386 526.70692 255.46387 527.70496 curveto -255.46386 528.71212 255.16991 529.47319 254.58203 529.98816 curveto -253.99869 530.50314 253.13509 530.76062 251.99121 530.76062 curveto -250.25488 530.76062 lineto -250.25488 534.86218 lineto -248.87402 534.86218 lineto -248.87402 524.65613 lineto -fill -grestore -gsave -0 0 0 setrgbcolor -newpath -257.68555 533.70007 moveto -259.94141 533.70007 lineto -259.94141 525.91394 lineto -257.4873 526.40613 lineto -257.4873 525.14832 lineto -259.92773 524.65613 lineto -261.30859 524.65613 lineto -261.30859 533.70007 lineto -263.56445 533.70007 lineto -263.56445 534.86218 lineto -257.68555 534.86218 lineto -257.68555 533.70007 lineto -fill -grestore -0 0 0 setrgbcolor -[] 0 setdash -1 setlinewidth -0 setlinejoin -0 setlinecap -newpath -155 302.36218 moveto -154.5 534.36218 lineto -stroke -grestore -showpage -%%EOF diff --git a/doc/comm/indexset.cc b/doc/comm/indexset.cc deleted file mode 100644 index adc4fe01b..000000000 --- a/doc/comm/indexset.cc +++ /dev/null @@ -1,55 +0,0 @@ -// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- -// vi: set et ts=4 sw=2 sts=2: -// $Id$ - -#include "config.h" - -#include <dune/common/parallel/indexset.hh> -#include <dune/common/parallel/plocalindex.hh> -#include <dune/common/parallel/mpihelper.hh> -#include <iostream> -#include "buildindexset.hh" -#include "reverse.hh" - -int main(int argc, char **argv) -{ - // This is a parallel programm so we need to - // initialize mpi first. - Dune::MPIHelper& helper = Dune::MPIHelper::instance(argc, argv); - - // The rank of our process - int rank = helper.rank(); - - // The type used as the local index - typedef Dune::ParallelLocalIndex<Flag> LocalIndex; - - // The type used as the global index - typedef int GlobalIndex; - - // The index set we use to identify the local indices with the globally - // unique ones - typedef Dune::ParallelIndexSet<GlobalIndex,LocalIndex,100> ParallelIndexSet; - - // The index set - ParallelIndexSet indexSet; - - build(helper, indexSet); - - // Print the index set - std::cout<<indexSet<<std::endl; - - - reverseLocalIndex(indexSet); - - // Print the index set - if(rank==0) - std::cout<<"Reordered lcoal indices:"<<std::endl; - - // Wait for all processes - helper.getCollectiveCommunication().barrier(); - - std::cout<<indexSet<<std::endl; - // Assign new local indices - - return 0; -} diff --git a/doc/comm/poosc08.cc b/doc/comm/poosc08.cc deleted file mode 100644 index 5f43ffbaa..000000000 --- a/doc/comm/poosc08.cc +++ /dev/null @@ -1,92 +0,0 @@ -// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- -// vi: set et ts=4 sw=2 sts=2: -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif -#include <iostream> -#include <dune/common/exceptions.hh> // We use exceptions -#include <dune/common/parallel/mpihelper.hh> // An initializer of MPI -#include <dune/common/parallel/indexset.hh> -#include <dune/common/parallel/plocalindex.hh> - -enum Flags { owner, ghost }; - -struct Bla -{ - - /** @brief The local index. */ - size_t localIndex_; - - /** @brief An attribute for the index. */ - char attribute_; - - /** @brief True if the index is also known to other processors. */ - bool public_; - - /** - * @brief The state of the index. - * - * Has to be one of LocalIndexState! - * @see LocalIndexState. - */ - char state_; -}; - - -template<typename T1, typename T2> -void buildBlockedIndexSet(T1& indexset, int N, const T2& comm) -{ - int rank=comm.rank(); - int size=comm.size(); - int localsize=N/size; - int bigger=N%size; - int start, end; - if(rank<bigger) { - start=rank*(localsize+1); - end=start+(localsize+1); - }else{ - start=bigger*(localsize+1)+(rank-bigger)*localsize; - end=start+localsize; - } - - indexset.beginResize(); - int index=0; - int gindex=start; - typedef typename T1::LocalIndex LocalIndex; - - std::cout<<sizeof(LocalIndex)<<" "<<sizeof(Bla)<<std::endl; - - if(start>0) - indexset.add(gindex-1,LocalIndex(index++,ghost)); - - for(int i=start; i<end; i++,index++,gindex++) - indexset.add(gindex,LocalIndex(index,owner,true)); - - if(end<N) - indexset.add(gindex,LocalIndex(index,ghost,true)); -} -int main(int argc, char** argv) -{ - int n=100; - try{ - using namespace Dune; - - //Maybe initialize Mpi - MPIHelper& helper = MPIHelper::instance(argc, argv); - std::cout << "Hello World! This is poosc08." << std::endl; - if(Dune::MPIHelper::isFake) - std::cout<< "This is a sequential program." << std::endl; - else{ - typedef ParallelIndexSet<int,ParallelLocalIndex<Flags> > IndexSet; - IndexSet blockedSet; - buildBlockedIndexSet(blockedSet, n, helper.getCollectiveCommunication()); - } - return 0; - } - catch (Dune::Exception &e) { - std::cerr << "Dune reported error: " << e << std::endl; - } - catch (...) { - std::cerr << "Unknown exception thrown!" << std::endl; - } -} diff --git a/doc/comm/poosc08_test.cc b/doc/comm/poosc08_test.cc deleted file mode 100644 index 2bef04175..000000000 --- a/doc/comm/poosc08_test.cc +++ /dev/null @@ -1,155 +0,0 @@ -// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- -// vi: set et ts=4 sw=2 sts=2: -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif -#include <iostream> -#include <dune/common/exceptions.hh> // We use exceptions -#include <dune/common/parallel/mpihelper.hh> // An initializer of MPI -#include <dune/common/parallel/indexset.hh> -#include <dune/common/parallel/remoteindices.hh> -#include <dune/common/parallel/communicator.hh> -#include <dune/common/parallel/plocalindex.hh> -#include <dune/common/parallel/interface.hh> -#include <dune/common/enumset.hh> - -enum Flags { owner, ghost }; - -template<typename T> -struct AddData { - typedef typename T::value_type IndexedType; - - static const IndexedType& gather(const T& v, int i){ - return v[i]; - } - - static void scatter(T& v, const IndexedType& item, int i){ - v[i]+=item; - } -}; - -template<typename T> -struct CopyData { - typedef typename T::value_type IndexedType; - - static const IndexedType& gather(const T& v, int i){ - return v[i]; - } - - static void scatter(T& v, const IndexedType& item, int i){ - v[i]=item; - } -}; - - -template<class T> -void doCalculations(T& t){} - -#if HAVE_MPI -void test() -{ - int rank; - MPI_Comm comm=(MPI_COMM_WORLD); - MPI_Comm_rank(MPI_COMM_WORLD, &rank); - using namespace Dune; - // shortcut for index set type - typedef ParallelLocalIndex<Flags> LocalIndex; - typedef ParallelIndexSet<int, LocalIndex > PIndexSet; - PIndexSet sis; - sis.beginResize(); - if(rank==0) { - - sis.add(11, LocalIndex(0, ghost)); - for(int i=1; i<=6; i++) - sis.add(i-1, LocalIndex(i, owner, i<=1||i>5)); - sis.add(6, LocalIndex(7, ghost)); - }else{ - sis.add(5, LocalIndex(0, ghost)); - for(int i=1; i<=6; i++) - sis.add(5+i, LocalIndex(i, owner, i<=1||i>5)); - sis.add(0,LocalIndex(7, ghost)); - } - sis.endResize(); - - PIndexSet tis; - tis.beginResize(); - int l=0; - for(int i=0; i<2; ++i) - for(int j=0; j<5; ++j) { - int g=rank*3-1+i*6+j; - if(g<0||g>11) - continue; - Flags flag=(j>0&&j<4) ? owner : ghost; - tis.add(g, LocalIndex(l++, flag)); - } - tis.endResize(); - std::cout<<rank<<" isxset: "<<sis<<std::endl; - - RemoteIndices<PIndexSet> riRedist(sis, tis, comm); - riRedist.rebuild<true>(); - - std::vector<int> v; - RemoteIndices<PIndexSet> riS(sis,sis, comm, v, true); - riS.rebuild<false>(); - - std::cout<<std::endl<<"begin"<<rank<<" riS="<<riS<<" end"<<rank<<std::endl<<std::endl; - - Combine<EnumItem<Flags,ghost>,EnumItem<Flags,owner>,Flags> ghostFlags; - EnumItem<Flags,owner> ownerFlags; - Combine<EnumItem<Flags,ghost>, EnumItem<Flags,owner> > allFlags; - - Interface infRedist; - Interface infS; - - infRedist.build(riRedist, ownerFlags, allFlags); - infS.build(riS, ownerFlags, ghostFlags); - - std::cout<<"inf "<<rank<<": "<<infS<<std::endl; - - typedef std::vector<double> Container; - Container s(sis.size(),3), t(tis.size()); - - s[sis.size()-1]=-1; - - BufferedCommunicator bComm; - BufferedCommunicator bCommRedist; - bComm.build(s, s, infS); - //bCommRedist.build(s, t, infRedist); - for(std::size_t i=0; i<sis.size(); i++) - std::cout<<s[i]<<" "; - std::cout<<std::endl; - - bComm.forward<CopyData<Container> >(s,s); - - for(std::size_t i=0; i<sis.size(); i++) - std::cout<<s[i]<<" "; - std::cout<<std::endl; - //bCommRedist.forward<CopyData<Container> >(s,t); - // calculate on the redistributed array - doCalculations(t); - bCommRedist.backward<AddData<Container> >(s,t); -} -#endif // HAVE_MPI - -int main(int argc, char** argv) -{ - try{ - using namespace Dune; -#if HAVE_MPI - //Maybe initialize Mpi - MPIHelper& helper = MPIHelper::instance(argc, argv); - std::cout << "Hello World! This is poosc08. rank=" <<helper.rank()<< std::endl; - test(); - return 0; -#else - std::cout<< "Test poosc08_test disabled because MPI is not available." << std::endl; - return 77; -#endif // HAVE_MPI - } - catch (Dune::Exception &e) { - std::cerr << "Dune reported error: " << e << std::endl; - } - catch (...) { - std::cerr << "Unknown exception thrown!" << std::endl; - } -} diff --git a/doc/comm/reverse.hh b/doc/comm/reverse.hh deleted file mode 100644 index 9f8959648..000000000 --- a/doc/comm/reverse.hh +++ /dev/null @@ -1,39 +0,0 @@ -// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- -// vi: set et ts=4 sw=2 sts=2: -// $Id$ -#ifndef REVERSE_HH -#define REVERSE_HH - -#include "buildindexset.hh" - -/** - * @brief Reverse the local indices of an index set. - * - * Let the index set have N entries than the index 0 will become N-1, - * 1 become N-2, ..., and N-1 will become 0. - * @param indexSet The index set to reverse. - */ -template<typename TG, typename TL, int N> -void reverseLocalIndex(Dune::ParallelIndexSet<TG,TL,N>& indexSet) -{ - // reverse the local indices - typedef typename Dune::ParallelIndexSet<TG,TL,N>::iterator iterator; - - iterator end = indexSet.end(); - size_t maxLocal = 0; - - // find the maximal local index - for(iterator index = indexSet.begin(); index != end; ++index) { - // Get the local index - LocalIndex& local = index->local(); - maxLocal = std::max(maxLocal, local.local()); - } - - for(iterator index = indexSet.begin(); index != end; ++index) { - // Get the local index - LocalIndex& local = index->local(); - local = maxLocal--; - } - -} -#endif -- GitLab