diff --git a/resumes/xavier_dubuc/src/cours.tex b/resumes/xavier_dubuc/src/cours.tex
index e75f341..ea491f7 100644
--- a/resumes/xavier_dubuc/src/cours.tex
+++ b/resumes/xavier_dubuc/src/cours.tex
@@ -1,4 +1,4 @@
-\documentclass{article}
+\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{amsfonts}
@@ -8,8 +8,7 @@
\usepackage{mathenv}
\usepackage{multirow}
\usepackage{pdfpages}
-\usepackage{vmargin}
-\setmarginsrb{2.5cm}{2.5cm}{2.5cm}{2.9cm}{0cm}{0cm}{0cm}{0cm}
+\usepackage[top = 2cm, left = 2.7cm, right = 2.7cm ]{geometry}
\usepackage[utf8]{inputenc}
@@ -135,47 +134,51 @@
%%%%%%%%%%%%%%%%%%%%%%%% DEBUT DU DOCUMENT %%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{sffamily}
-\title{\includegraphics[scale=0.48]{approx.pdf} $ $\\
-\hbox{\raisebox{0.4em}{\vrule depth 2pt height 0.4pt width \textwidth}} $ $ \\ $ $ \\
+\title{\includegraphics[scale=0.4]{approx.pdf} $ $\\
+\hbox{\raisebox{0.4em}{\vrule depth 2pt height 0.2pt width \textwidth}} $ $ \\
\begin{Huge}\maintitlecolor{Algorithmes d'approximation}\end{Huge} \\
$ $ \\
-\begin{LARGE}\textit{Cours}\end{LARGE}}
-\author{\textit{Xavier Dubuc} \\(\url{xavier.dubuc@umons.ac.be}) \\$ $ \\$ $\\$ $\\
-\hbox{\raisebox{0.4em}{\vrule depth 1pt height 0.4pt width 5cm}} \\ $ $\\$ $ \\$ $\\
+\begin{LARGE}Cours\end{LARGE}}
+\author{\textit{Xavier Dubuc} \\(\url{xavier.dubuc@umons.ac.be}) \\$ $\\$ $\\
+\hbox{\raisebox{0.4em}{\vrule depth 0.5pt height 0.2pt width 5cm}} \\$ $ \\$ $\\
\includegraphics[scale=0.3]{UMONS.pdf}$\qquad \qquad$
-\includegraphics[scale=0.1]{faculte.pdf}}
-%\date{}
-\end{sffamily}
-
-\begin{document}\begin{sffamily}
+\includegraphics[scale=0.075]{faculte.pdf}}
+\date{}
+\begin{document}
\maketitle
-
+\begin{center}
+ \date{\centering\normalsize{Dernière mise à jour : \today}}
+\end{center}
+\thispagestyle{empty}
\newpage
\textbf{Contributeurs:}
\renewcommand{\labelitemi}{$\bullet$}
\begin{itemize}
-\item 2016
-\begin{itemize}
-\item Benoit Debled
-\item Julien Delplanque (\url{julien.delplanque@student.umons.ac.be})
-\item Anthony Rouneau
-\end{itemize}
+ \item 2016
+ \begin{itemize}
+ \item Benoit Debled
+ \item Julien Delplanque (\url{julien.delplanque@student.umons.ac.be})
+ \item Anthony Rouneau
+ \end{itemize}
+ \item 2017
+ \begin{itemize}
+ \item Florent Delgrange
+ \end{itemize}
\end{itemize}
\newpage
-\hbox{\raisebox{0.4em}{\vrule depth 1.5pt height 0.4pt width 10cm}}
+%\hbox{\raisebox{0.4em}{\vrule depth 1.5pt height 0.4pt width 10cm}}
\tableofcontents
-$ $\\ \hbox{\raisebox{0.4em}{\vrule depth 1.5pt height 0.4pt width 10cm}}
-
+%$ $\\ \hbox{\raisebox{0.4em}{\vrule depth 1.5pt height 0.4pt width 10cm}}
\newpage
+
\section{Introduction}
\subsection*{Introduction au cours}
@@ -225,15 +228,14 @@ \subsection{Introduction à la matière}
\end{center}\end{quote}
$\longrightarrow$ Il faut en effet sacrifier un des 3 critères, c'est-à-dire
-que si P $\neq$ NP, on ne peut pas avoir simultanément
-\indent $ $ un algorithme qui :
+que si $P \neq NP$, on ne peut pas avoir simultanément un algorithme qui :
\begin{enumerate}
\item trouve la solution optimale;
\item travaille en temps polynomial;
-\item fonctionne pour tout instance du problème (toute entrée possible). \\
+\item fonctionne pour toute instance du problème (toute entrée possible). \\
\end{enumerate}
-\noindent On a donc 3 choix :
+\noindent Au moins un de ces 3 points doit être relaxé :
\begin{itemize}
\item \textbf{Laisser tomber $3$}\\
$\rightarrow$ Ce n'est pas toujours applicable en pratique car ça donne pas une
@@ -254,19 +256,21 @@ \subsection{Introduction à la matière}
\subsection{Objectifs du cours}
\begin{enumerate}
-\item Savoir que faire pour résoudre un problème NP-difficile.
-\item Découvrir et revoir des problèmes ``paradigmatiques'' \textit{(problèmes
-classiques, exemplaires, simplifiés, comme le voyageur de commerce par exemple;
-qui ont beaucoup d'applications}).
-\item Tous les problèmes intraitables ne sont pas les mêmes. Les problèmes
-\textit{NP-complet} sont identiques d'un point de vue ``résolution exacte'' mais
-peuvent être très différents d'un point de vue approximabilité
-\textit{(certains algorithmes peuvent donner une très bonne approximation,
-d'autres une moins bonne et d'autres encore, aucune)}. L'objectif consistera à
-savoir différencier ces algorithmes.
-\item Apprendre des techniques de conception et d'analyse d'algorithmes
-d'approximation. ($\leadsto$ avoir une ``boite à outils'', où les outils sont
-des algorithmes et heuristiques applicables à un grand nombre de problèmes).
+ \item Savoir que faire pour résoudre un problème NP-difficile.
+ \item Découvrir et revoir des problèmes ``paradigmatiques'' \textit{(problèmes
+ classiques, exemplaires, simplifiés, comme le voyageur de commerce par exemple;
+ qui ont beaucoup d'applications}).
+ \item Tous les problèmes intraitables ne sont pas les mêmes. Les problèmes
+ \textit{NP-complet} sont identiques d'un point de vue ``résolution exacte'' mais
+ peuvent être très différents d'un point de vue approximabilité
+ \textit{(certains algorithmes peuvent donner une très bonne approximation,
+ d'autres une moins bonne et d'autres encore, aucune)}. L'objectif consistera à
+ savoir différencier ces algorithmes.
+ \item Apprendre des techniques de conception et d'analyse d'algorithmes
+ d'approximation. ($\leadsto$ avoir une ``boite à outils'', où les outils sont
+ des algorithmes et heuristiques applicables à un grand nombre de problèmes).
+ \item \^Etre capable de relier des nouveaux problèmes à des problèmes
+ connus.
\end{enumerate}
\subsection{Problèmes d'optimisation}
@@ -280,17 +284,18 @@ \subsection{Problèmes d'optimisation}
Un problème d'optimisation $P$ est spécifié par $(I_P, SOL_P, m_P, goal_P)$ tels
que:
\begin{itemize}
- \item \term{$I_P$} est un ensemble d'instances de $P$.\\
- $\rightarrow$ e.g. pour la coloration de graphe, tous les couples
+ \item \term{$I_P$} est un ensemble d'instances de $P$, i.e., les données
+ numériques prises en entrée de $P$. \\
+ $\rightarrow$ e.g., pour la coloration de graphe, tous les couples
(graphe,entier).
\item \term{$SOL_P$} est une fonction qui associe à chaque instance
- $x \in I_P$ un ensemble de solutions réalisables de $x$ ($SOL_P(x)$).\\
- $\rightarrow$ e.g. pour la coloration de graphe, ensemble des colorations
+ $x \in I_P$ un ensemble de solutions réalisables de $x$, i.e., $SOL_P(x)$.\\
+ $\rightarrow$ e.g., pour la coloration de graphe, ensemble des colorations
légales possibles.
\item \term{$m_P$} est une fonction de mesure ou fonction objectif définie
- pour les paires $(x,y)$ tq $x \in I_p$ et $y \in SOL_P(x)$. Pour toute paire
+ pour les paires $(x,y)$ tq $x \in I_P$ et $y \in SOL_P(x)$. Pour toute paire
$(x,y)$, $m_P(x,y)$ donne une valeur non-négative.
- \item \term{$goal_P \in {MIN,MAX}$} spécifiant si $P$ est une problème de
+ \item \term{$goal_P \in \{ MIN,MAX \}$} spécifiant si $P$ est une problème de
minimisation ou de maximisation.
\end{itemize}
$\leadsto$ Quand le contexte est clair, on peut laisser tomber le $_P$ dans les
@@ -310,7 +315,7 @@ \subsection{Problèmes d'optimisation}
\begin{exemple}
Graphe étoile à $n$ sommets, $S_n$.\\
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.5]{g1.pdf}
\caption{$S_n\ (n=5)$, exemple pour VC}
@@ -320,10 +325,9 @@ \subsection{Problèmes d'optimisation}
\end{center}
\end{figure}
\end{exemple}
-\newpage
\begin{exemple}
Graphe complet à $n$ sommets, $K_n$.\\
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.5]{g2.pdf}
\caption{$K_n\ (n=4)$, exemple pour VC}
@@ -340,7 +344,7 @@ \subsection{Problèmes d'optimisation}
\begin{exemple}
Chemin à $n$ sommets, $P_n$.\\
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.5]{pn.pdf}
\caption{$P_n\ (n=5)$, exemple pour VC}
@@ -353,7 +357,7 @@ \subsection{Problèmes d'optimisation}
\begin{exemple}
Cycle à $n$ sommets, $C_n$.\\
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.5]{cn.pdf}
\caption{$C_n\ (n=5)$, exemple pour VC}
@@ -364,11 +368,10 @@ \subsection{Problèmes d'optimisation}
\end{figure}
\end{exemple}
-\newpage
\begin{exemple}
Graphe biparti complet à $n+m$ sommets, $K_{n,m}$.\\
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.5]{knm.pdf}
\caption{$K_{n,m}\ (n=5,\ m=3)$, exemple pour VC}
@@ -456,17 +459,17 @@ \subsubsection*{Rappels}
\subsection*{Définitions}
\begin{itemize}
\item Un problème de décision $A$ se \textbf{réduit polynomialement} en $B$,
-noté $A\propto B$, s'il existe un algorithme polynomial permettant de
+noté $A\preceq B$, s'il existe un algorithme polynomial permettant de
transformer toute instance de $A$ en une instance de $B$ correspondante.
\item Un problème de décision $B$ est dit \textbf{$\mathcal{NP}$-complet} si
-$B \in \mathcal{NP}$ et $\forall$ problème $A\ \mathcal{NP}$-complet, il existe
-une réduction polynomiale $A\propto B$.
-\item Une \textbf{preuve par réduction} que $A$ est $\mathcal{NP}$-complet se
+$B \in \mathcal{NP}$ et pour tout problème $A\ \mathcal{NP}$-complet, il existe
+une réduction polynomiale $A\preceq B$.
+\item Une \textbf{preuve par réduction} que $B$ est $\mathcal{NP}$-complet se
fait en 2 étapes :
\begin{enumerate}
-\item Prouver que $A$ est dans $\mathcal{NP}$ \textit{(il faut donc prouver que
+\item Prouver que $B$ est dans $\mathcal{NP}$ \textit{(il faut donc prouver que
la vérification est polynomiale)};
-\item $\exists$ un problème $B$ tel que $B\propto A$ pour un problème $B$ connu
+\item Il existe un problème $A$ tel que $A\preceq B$ pour un problème $A$ connu
comme étant $\mathcal{NP}$-complet.
\end{enumerate}
\item Soit un problème de décision ou d'optimisation $A$. On dit qu'un
@@ -585,7 +588,6 @@ \subsubsection{Définitions}
\end{itemize}
\end{enumerate}
\end{itemize}
-\vspace{25em}
\begin{flushright}
$\hookrightarrow$ \begin{large}Voir exercices dans l'annexe~\ref{exochap1}.
\end{large}
@@ -606,22 +608,24 @@ \section{Set Cover et survol des techniques}
\item un poids non-négatif $w_j \geq 0$ pour chaque sous-ensemble $S_j$.
\end{itemize}
\item[*]\textbf{\underline{Solution}} : Une collection $I$ de sous-ensembles qui
-couvrent $E$. \\ C'est-à-dire $I\subseteq \{1,2,\ldots,n\}$ telle que
+couvrent $E$. \\ C'est-à-dire $I\subseteq \{1,2,\ldots,m\}$ telle que
$\bigcup\limits_{j\in I}{S_j} = E$.
\item[*]\textbf{\underline{Mesure}} : $\sum\limits_{j\in I} w_j$
\end{itemize}
\end{pblm}
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.5]{inst_sc.pdf}
\caption{Exemple d'instance de \titre{SC}}
+ \label{scex}
\end{center}
\end{figure}
-$I_{OPT} = \{S_3,S_4,S_5\}$. \\
-\indent Et si $w_j = 1, \forall j$ \textit{(version non-pondérée du problème)},
-alors $I_{OPT} = \{S_1,S_2\}$.
+Soit $C \in I_{SC}$, une instance de SC où $E = \{1, 2, 3, 4, 5, 6\}$ et $\sigma = \{S_1, S_2, S_3, S_4, S_5\} \subseteq \mathcal{P}(E)$ (c.f. figure \ref{scex}).\\
+$Sol^*_{SC}(C) = \{3,4,5\}$, i.e., la couverture minimale est $\{S_3, S_4, S_5 \}$.\\
+Si $w_j = 1 \; \forall j$ \textit{(version non-pondérée du problème)},
+alors $Sol^*_{SC}(C) = \{1,2\}$.
\subsection{Programmation linéaire et Set Cover}
@@ -639,7 +643,7 @@ \subsection{Programmation linéaire et Set Cover}
\end{de}
\begin{propriete}
-Un \textbf{\titre{PL}} où toutes les variables sont continues peut être résolus
+Un \textbf{\titre{PL}} où toutes les variables sont continues peut être résolu
en temps polynomial (non pas via le simplexe mais via la méthode des points
intérieurs ou via l'algorithme ellipsoïdale par exemple (il en existe
d'autres)).\\
@@ -650,15 +654,15 @@ \subsection{Programmation linéaire et Set Cover}
\begin{propriete}
Tout \textbf{\titre{IP}} peut être \textbf{relaxé}. \\
-Par exemple : $x_j \in \{0,1\} \Rightarrow_{\text{relaxation}} x_j \geq 0$\\
+Par exemple : \(x_j \in \{0,1\} \Rightarrow_{\text{relaxation}} x_j \geq 0\)\\
(le $x_j \leq 1$ n'est pas utile car dès que c'est plus $0$, on sait qu'elle
n'est plus à la valeur booléenne $0$).
\end{propriete}
-$ $\\$ $\\$ $\\$ $\\$ $\\$ $\\
+%$ $\\$ $\\$ $\\$ $\\$ $\\$ $\\
Grâce à cette idée de relaxation on peut dégager un algorithme qui semble être
un algorithme d'approximation pour résoudre un problème \textbf{IP(*)} :
-\begin{algorithm}[h!]
+\begin{algorithm}[H]
\caption{RelaxationApprox}
\begin{algorithmic}[1]
\STATE Résoudre le problème relaxé (\textbf{LP(**)})
@@ -685,7 +689,12 @@ \subsection{Programmation linéaire et Set Cover}
\item $Z^*_{LP}$ est la solution optimale pour le \textbf{LP}
\item $Z^*_{IP}$ est la solution optimale pour le \textbf{IP}
\end{itemize}
-alors on a $\boxed{Z^*_{LP} \leq Z^*_{IP} = OPT}$.
+alors on a $\boxed{Z^*_{LP} \leq Z^*_{IP} = OPT}$. \\
+
+Le problème relaxé \textbf{LP({**})} s'exprime donc de la façon suivante :
+
+ \[ \min \; \sum_{j=1}^m w_jx_j \]
+ \[ \textbf{s.l.c.} \sum_{j:e_i \in S_j} x_j \geq 1 \quad \forall i \in \{1, \dots, n \}\]
\begin{exemple}$ $\\
$\max\ x_1+x_2$ \\
@@ -693,7 +702,7 @@ \subsection{Programmation linéaire et Set Cover}
\indent $\qquad 2x_1 + 5x_2 \leq 10\ (2)$ \\
\indent $\qquad\ x_1, x_2 \in \N$
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\setlength{\unitlength}{1.0cm}
\begin{picture}(6,5)(0,0)
@@ -746,13 +755,12 @@ \subsection{Programmation linéaire et Set Cover}
\subsubsection*{Solution pour l'arrondi \titre{SC}}
-Posons $f$ comme le nombre maximum de sous-ensembles dans lesquels n'importe
-quel élément apparaît,
-$$f = \max_{i=1,\ldots,n}{(f_i)}\text{ où }f_i = \left| \{j : e_i \in S_j \}
-\right|$$
+Posons $f$ comme le nombre maximum de sous-ensembles dans lesquels un même élément apparaît,
+$$f = \max_{i=1,\ldots,n}{(f_i)} \; \text{ où } \underbrace{f_i = \left| \{j : e_i \in S_j \}
+\right|}_{\text{nombre de fois qu'un élément $e_i$ \\ apparait dans un sous-ensemble sélectionné}}$$
Soit $x^* = (x_1^*, x_2^*, .. x_n^*)$ la solution optimale du \textbf{LP},
-on va arrondir en incluant $S_j$ dans la solution si et seulement si
+on va arrondir (valeur entière suéprieure) en incluant $S_j$ dans la solution $Z^*_{IP}$ si et seulement si
$x_j^* \geq \frac{1}{f}$.
\begin{thm}
@@ -763,9 +771,7 @@ \subsubsection*{Solution pour l'arrondi \titre{SC}}
\titre{VC}.
\end{corollaire}
-\vspace{5em}
-
-\begin{algorithm}[h!]
+\begin{algorithm}[H]
\caption{Det\_Rounding\_SC}
\begin{algorithmic}[1]
\STATE Résoudre le \textbf{LP} pour \textbf{\titre{SC}}
@@ -784,7 +790,8 @@ \subsubsection*{Solution pour l'arrondi \titre{SC}}
On va montrer que tout $e_i$ est couvert.\\
Comme $x^*$ \textit{(la solution optimale du \textbf{LP})} est une solution
réalisable, on a :
-$$\sum_{j : e_i\in S_j} (x^*_j) \geq 1\text{ pour un certain } e_i.$$
+$$\sum_{j : e_i\in S_j} (x^*_j) \geq 1 \; \; \forall i \in \{1, \dots, n \} \;
+\text{où} \; e_i \in E$$
\begin{center}\textit{(une contrainte pour un élément donné)}\end{center}
Par définition, $f_i \leq f$, on a donc au maximum $f$ termes dans la somme. \\
Donc, il y a au moins un terme $x^*_j$ qui doit être $\geq \frac{1}{f}$ car si
@@ -805,14 +812,14 @@ \subsubsection*{Solution pour l'arrondi \titre{SC}}
Par construction, $1 \leq f*x^*_j,\ \forall j \in I$. \textbf{(**)}\\
Ensuite,
\begin{eqnarray}
-\sum_{j\in I} (w_j) & \leq & \sum_{j=1}^m (w_j.1) \\
- & \leq & \sum_{j=1}^m w_j . f . x^*_j
+\sum_{j\in I} (w_j)% & \leq & \sum_{j=1}^m (w_j.1) \\
+ & \leq & \sum_{j \in I} w_j . f . x^*_j
\text{ (par \textbf{(**)})} \\
+ & \leq & \sum_{j = 1}^m w_j . f . x^*_j \\
& = & f \sum_{j=1}^m w_j . x^*_j \\
- & = & \text{($f$ * valeur de la fonction objective pour
- la solution optimale du LP)} \\
- & = & f * Z_{LP}^* \\
- & \leq & f*OPT
+ % & = & \text{($f \times$ valeur de la fonction objective pour la solution optimale du LP)} \\
+ & = & f \cdot \underbrace{Z_{LP}^*}_{\leq OPT} \\
+ & \leq & f \cdot OPT
\end{eqnarray}
\cqfd
\end{proof}
@@ -827,7 +834,7 @@ \subsubsection*{Solution pour l'arrondi \titre{SC}}
$\alpha = \frac{\sum_{j\in I}(w_j)}{Z^*_{LP}}$, de la preuve précédente on a que
$\sum_{j\in I}(w_j) \leq f.Z^*_{LP}$ et donc $\alpha \leq f$ (dans certain cas,
$\alpha$ peut être beaucoup plus petit que $f$). On a également
-$\frac{APP}{OPT}\leq \alpha$, ce qui fait d'$\alpha$ un meilleur facteur
+$\frac{APP}{OPT}\leq \alpha$, avec $APP = \sum_{j \in I} w_j$ et $OPT \geq Z^*_{LP}$, ce qui fait d'$\alpha$ un meilleur facteur
d'approximation que $f$ bien qu'il ne soit calculable qu'à partir de la solution
obtenue via la résolution du problème relaxé ($Z^*_{LP}$).
@@ -836,12 +843,28 @@ \subsubsection*{Solution pour l'arrondi \titre{SC}}
\begin{exemple}[Voir feuilles des résultats obtenus avec CPLEX]$ $\\
\textbf{\titre{SC}} : $\alpha = \frac{9}{9} = 1$ \\
\textbf{\titre{VC}} : $APP = 5$, $Z^*_{LP} = 2.5 \Rightarrow \alpha = 2$. \\
-\begin{multicols}{2}
-\includegraphics[scale=1]{vcSol.pdf}
-$ $\\$ $\\$ $\\$ $\\
-$OPT = 3$\\
-$5 \leq 2*3=6$
-\end{multicols}
+\begin{figure}[H]
+ \begin{minipage}{0.5\linewidth}
+ \centering
+ \includegraphics[scale=1]{vcSol.pdf}
+ \end{minipage}
+ \begin{minipage}{0.5\linewidth}
+ \centering
+ \begin{flalign*}
+ OPT &= 3\\
+ 5 \leq 2*3&=6
+ \end{flalign*}
+ \end{minipage}
+\end{figure}
+%\begin{multicols}{2}
+%\begin{figure}[H]
+% \includegraphics[scale=1]{vcSol.pdf}
+%\end{figure}
+%\begin{flalign*}
+%OPT &= 3\\
+%5 \leq 2*3&=6
+%\end{flalign*}
+%\end{multicols}
\end{exemple}
\begin{corollaire}
@@ -873,24 +896,26 @@ \subsection{Primal $\leftrightarrow$ Dual}
pour couvrir les éléments d'un ensemble $S_j$ soit supérieur au poids de cet
ensemble. Le problème \textbf{dual} est défini comme suit :\\
-$\max\ \sum_{i=1}^n y_i$ \\
+$\max\ \sum_{i=1}^n y_i \quad $ {\small (on sélectionne $e_i$ dans l'ensemble $s_j$, avec
+ $y_i$, le ``poids" de $e_i$)}\\
\indent s.l.c.
\begin{itemize}
-\item $\sum_{i:e_i \in S_j}(y_i) \leq w_j\, (\forall j \in \{1,\ldots ,m\})$ \\
+\item $\sum_{i:e_i \in S_j}(y_i) \leq \underline{w_j}\, (\forall j \in \{1,\ldots ,m\}) \quad $ {\small (il ne faut pas dépasser la capacité de $S_j$)}\\
\item $\qquad\ y_i \geq 0\, (\forall i \in \{1,\ldots ,n\})$
\end{itemize}
\subsubsection{Remarques et propriétés du dual}
\begin{rems}
+$ $
\begin{itemize}
-\item On appelle le \textbf{\titre{LP}} ``original'' le
-\textbf{problème primal}.
-\item Le \textbf{dual} du \textbf{dual} est le \textbf{primal}.
-\item A chaque variable du \textbf{dual} correspond une contrainte du
-\textbf{primal}.
-\item A chaque variable du \textbf{primal} correspond une contrainte du
-\textbf{dual}.
+ \item On appelle le \textbf{\titre{LP}} ``original'' le
+ \textbf{problème primal}.
+ \item Le \textbf{dual} du \textbf{dual} est le \textbf{primal}.
+ \item A chaque variable du \textbf{dual} correspond une contrainte du
+ \textbf{primal}.
+ \item A chaque variable du \textbf{primal} correspond une contrainte du
+ \textbf{dual}.
\end{itemize}
\end{rems}
@@ -915,7 +940,7 @@ \subsubsection{Remarques et propriétés du dual}
$$ \sum_{i=1}^n y^*_i = \sum_{j=1}^m x^*_j.w_j$$
\end{exemple}
-\begin{algorithm}[h!]
+\begin{algorithm}[H]
\caption{Dual\_Rounding\_SC}
\begin{algorithmic}[1]
\STATE Résoudre le \textbf{dual} pour \textbf{\titre{SC}}
@@ -982,17 +1007,29 @@ \subsubsection{Remarques et propriétés du dual}
\begin{thm} L'algorithme \textbf{Dual\_Rounding\_SC} est un algorithme
d'approximation de facteur $f$.
-\begin{proof}\textit{(idée)}
-\noindent \begin{itemize}
-\item[*] Quand on choisit un ensemble $S_j$ dans la couverture, on ``paye'' en
-facturant $y^*_i$ \\ à chacun de ses éléments $i$.
-\item[*] Chaque élément est facturé au plus une fois pour chaque ensemble qui
-le contient \\ \textit{(et donc au plus $f$ fois, par définition de $f$)}.
-\item[*] Le coût total est au plus $f$ fois le cout de la solution optimale,
-c'est-à-dire \textit{(dualité forte)}:
-$$\text{COUT\_TOTAL} = f.\sum_{i=1}^n(y^*_i) = f.Z^*_{LP} \leq f.OPT$$
-\end{itemize}
+\begin{proof}%\textit{(idée)}
+%\noindent \begin{itemize}
+%\item[*] Quand on choisit un ensemble $S_j$ dans la couverture, on ``paye'' en
+%facturant $y^*_i$ \\ à chacun de ses éléments $i$.
+%\item[*] Chaque élément est facturé au plus une fois pour chaque ensemble qui
+%le contient \\ \textit{(et donc au plus $f$ fois, par définition de $f$)}.
+%\item[*] Le coût total est au plus $f$ fois le cout de la solution optimale,
+%c'est-à-dire \textit{(dualité forte)}:
+%$$\text{COUT\_TOTAL} = f.\sum_{i=1}^n(y^*_i) = f.Z^*_{LP} \leq f.OPT$$
+%\end{itemize}
+Comme $j \in I'$ uniquement si $w_j = \sum_{i:e_i \in S_j} y_i^*$, on a
+\begin{flalign*}
+ APP
+ &= \sum_{j \in I'} w_j = \sum_{j \in I'} \sum_{i: e_i \in S_j} y_i^* \\
+ &= \sum^n_{i=1} \underbrace{|\{j \in I' \; : \; e_i \in S_j \} | \cdot y_i^*}_{\text{nombre de fois qu'un élément $e_i$ apparait dans un sous-ensemble sélectionné}} \\
+ & \leq \sum_{i=1}^n \underbrace{f_i \cdot y_i^*}_{\text{nombre de fois que $e_i$ apparait dans tous les sous-ensembles}}\\
+ & \leq f \cdot \sum_{i=1}^n y_i^* \\
+ & = f \cdot Z^*_{LP} \\
+ & \leq f \cdot \underbrace{OPT}_{Z^*_{IP}}
+\end{flalign*}
+\cqfd
\end{proof}
+\textit{Note} : $f$ est un facteur serré.
\end{thm}
\subsection{La méthode primale-duale}
@@ -1002,7 +1039,7 @@ \subsection{La méthode primale-duale}
\indent $\Rightarrow$ On va utiliser la preuve du lemme de la section 2.2
\textit{(dual rounding)} pour en tirer un algorithme.
-\begin{algorithm}[h!]
+\begin{algorithm}[H]
\caption{Primal\_Dual\_SC}
\begin{algorithmic}[1]
\STATE $\forall i,\ y_i \leftarrow 0$
@@ -1083,14 +1120,16 @@ \subsection{La méthode primale-duale}
\subsection{Algorithme d'approximation glouton}
-\begin{algorithm}[h!]
+\begin{algorithm}[H]
\caption{Greedy\_SC}
\begin{algorithmic}[1]
\STATE $i\leftarrow \{\}$
-\STATE $\forall j,\ \hat{S}_j \leftarrow S_j$ \textit{// Cette variable
+\STATE $\forall j,\ \hat{S}_j \leftarrow S_j$ \textit{\scriptsize // Cette variable
représente les éléments non-couverts de $S_j$}
\WHILE{$I$ n'est pas une couverture}
\STATE $l\leftarrow arg\min_{j:\hat{S}_j \neq \{\}} \dfrac{w_j}{|\hat{S}_j|}$
+\textit{ \scriptsize // On choisi l'ensemble qui couvre le plus de sommets par rapport à son
+poids.}
\STATE $I \leftarrow I\cup \{l\}$
\STATE $\forall j,\ \hat{S}_j \leftarrow \hat{S}_j \setminus S_l$
\ENDWHILE
@@ -1146,11 +1185,9 @@ \subsection{Algorithme d'approximation glouton}
\end{tabular}
\end{center}
\end{interlude}
-
-\newpage
-
+$ $ \\
\begin{thm}L'algorithme \textbf{Greedy\_SC} est un algorithme
-d'$H_n$-approximation où $n$ est le nombre d'éléments à couvrir.
+d'$H_n$-approximation où $n$ est le nombre d'éléments à couvrir, i.e., $|E|$.
\begin{proof}$ $\\
\begin{itemize}
\item L'algorithme est \textbf{polynomial} car $O(m)$ itérations (à chaque
@@ -1175,11 +1212,11 @@ \subsection{Algorithme d'approximation glouton}
$1$, $\ldots$, $k-1$),
\item[$\blacktriangle$] $\hat{S}_j$ comme l'ensemble des éléments non
couverts dans $S_j$ au début de l'itération $k$,
- $$\hat{S}_j = S_j - \bigcup_{p\in I_k}{S_p}$$
+ $$\hat{S}_j = S_j \setminus \bigcup_{p\in I_k}{S_p}$$
\end{itemize}
\item On suppose que (on le prouvera par après), pour l'ensemble $S_j$ choisi à
l'itération $k$ :
-$$ w_j \leq \frac{(n_k - n_{k+1})}{n_k}OPT = \frac{|\hat{S}_j|}{n_k}OPT\
+$$ w_j \leq \overbrace{\frac{(n_k - n_{k+1})}{n_k}}^{\text{\scriptsize éléments ajoutés à la couverture à l'étape $k$}} OPT = \frac{|\hat{S}_j|}{n_k}OPT\
\text{\textbf{(1)}}$$
\item Sous l'hypothèse que \textbf{(1)} est vraie, on a :
$$ \begin{eqnarray}
@@ -1187,10 +1224,10 @@ \subsection{Algorithme d'approximation glouton}
& = & OPT \sum_{k=1}^l \frac{(n_k -n_{k+1})}{n_k}\\
& = & OPT \sum_{k=1}^l \left(\frac{1}{n_k} + \frac{1}{n_k} + \ldots +
\frac{1}{n_k}\right) \text{ (car $n_k > n_{k+1}$)}\\
- & \leq & OPT \sum_{k=1}^l \left(\frac{1}{n_k} + \frac{1}{(n_k-1)} +\ldots +
+ & \leq & OPT \sum_{k=1}^{l} \left(\frac{1}{n_k} + \frac{1}{(n_k-1)} +\ldots +
\frac{1}{(n_{k+1}+1)}\right)\\
- & = & OPT \sum_{i=1}^l \frac{1}{i} \\
- & = & OPT.H_l
+ & = & OPT \sum_{i=1}^n \frac{1}{i} \\
+ & = & OPT.H_n
\end{eqnarray}$$ $$\Rightarrow \frac{APP}{OPT} \leq H_n$$
\begin{exemple}($n_k=6$ et $n_{k+1}=2$) \\
$\frac{n_k - n_{k+1}}{n_k}=\frac{6-2} 6 \leq \frac 1 6 +\frac 1 6 +\frac 1 6 +
@@ -1202,9 +1239,10 @@ \subsection{Algorithme d'approximation glouton}
Il ne reste donc qu'à prouver l'inégalité \textbf{(1)}. \\
-\newpage
+
\begin{proof}[$w_j \leq \frac{(n_k - n_{k+1})}{n_k}OPT$]$ $\\
+Dans le meilleur des cas, $\hat{S_j}$ couvre tous les éléments restants.
A l'itération $k$, on a
$$ \min_{j:\hat{S}_j \neq \{\}} \left(\frac{w_j}{|\hat{S}_j|}\right) \leq
\frac{OPT}{n_k}\qquad \text{\textbf{(2)}}$$
@@ -1254,13 +1292,12 @@ \subsection{Conclusion du chapitre}
$\alpha < 2$, alors $\mathcal{P} = \mathcal{NP}$.
\end{thm}
-\vspace{22em}
\begin{flushright}
$\hookrightarrow$
\begin{large}Voir exercices dans l'annexe~\ref{exochap2}.\end{large}
\end{flushright}
-\newpage
+
\section{Algorithmes gloutons et de recherche locale}
@@ -1280,7 +1317,7 @@ \section{Algorithmes gloutons et de recherche locale}
\begin{exemple}[Chapitre 2] \textbf{Greedy\_SC} est un algorithme où le choix
local consiste à prendre le sous-ensemble avec le meilleur ratio
-$\dfrac{poids}{\#\text{éléments que l'on couverait en prenant le sous-ensemble}
+$\scriptsize \dfrac{poids}{\#\text{éléments que l'on couverait en prenant le sous-ensemble}
}$.
\end{exemple}
@@ -1329,7 +1366,7 @@ \subsection*{Comparaison}
\end{itemize}
\end{enumerate}
-\newpage
+
\subsection{Ordonnancement de tâches sur une seule machine}
@@ -1354,7 +1391,7 @@ \subsection{Ordonnancement de tâches sur une seule machine}
Quel ordonnancement est optimal ? ($ABC$, $ACB$, $BAC$, $BCA$, $CAB$ ou $CBA$ ?)
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.2]{ordo.pdf}
\caption{Ordonnancement optimal \textit{(Job $1 = A$, Job $2 = B$,
@@ -1415,7 +1452,7 @@ \subsection{Ordonnancement de tâches sur une seule machine}
\end{itemize}
\end{pblm}
-\newpage
+
\noindent Pour simplifier, pour tout $j$, on émet les hypothèses suivantes :
\begin{enumerate}
@@ -1449,14 +1486,15 @@ \subsection{Ordonnancement de tâches sur une seule machine}
$\rightarrow$ on commence par celle la plus en retard dans le cas où il y a des
deadlines négatives.
-\begin{algorithm}[h!]
+\begin{algorithm}[H]
\caption{EDD\_SSM}
\begin{algorithmic}[1]
\STATE $t\leftarrow 0$
\STATE $todo \leftarrow \{1,2,\ldots,n\}$
\WHILE{$todo$ n'est pas vide}
\IF{au moins une tâche est disponible ($r_j \leq t$ ?)}
-\STATE $j\leftarrow arg\min_j{d_j}$
+\STATE $j\leftarrow arg\min_j{d_j}$ \textit{// on prend la tâche avec la deadline
+ la plus proche}
\STATE $t\leftarrow t+p_j$ \textit{// le temps d'exécution est ajouté au temps
courant}
\STATE $c_j \leftarrow t$ \textit{// le temps à laquelle la tâche est terminée
@@ -1479,7 +1517,7 @@ \subsection{Ordonnancement de tâches sur une seule machine}
\item $d(S) = \max_{j\in S} d_j$ \textit{(la deadline la + éloignée)}
\item $L^*_{MAX} = OPT$.
\end{itemize}
-\newpage
+
\begin{lemme} Pour tout sous-ensemble de tâches $S$,
$$ L^*_{MAX} \geq r(S) + p(S) - d(S) $$
\begin{proof}
@@ -1487,7 +1525,7 @@ \subsection{Ordonnancement de tâches sur une seule machine}
simplement comme un ordonnancement pour $S$.
\begin{exemple} (exemple précédent)
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.2]{ordo.pdf}
\caption{Ordonnancement optimal \textit{(Job $1 = A$, Job $2 = B$,
@@ -1496,7 +1534,7 @@ \subsection{Ordonnancement de tâches sur une seule machine}
\end{figure}
Si on prend $S = \{A,C\}$ :
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.2]{ordoPart.pdf}
\caption{Ordonnancement optimal concentré sur $S$ \textit{(Job $1 = A$,
@@ -1505,6 +1543,10 @@ \subsection{Ordonnancement de tâches sur une seule machine}
\end{figure}
\end{exemple}
Soit $j$ la dernière tâche traitée dans $S$ :
+ \begin{figure}[H]
+ \centering
+ \includegraphics{ordo.eps}
+ \end{figure}
\begin{itemize}
\item[\textbf{(1)}] aucune tâche ne peut être exécutée avant $r(S)$,
\item[\textbf{(2)}] au total on a besoin de minimum $p(s)$ unité de temps.
@@ -1530,25 +1572,25 @@ \subsection{Ordonnancement de tâches sur une seule machine}
plus tôt tel que la machine est utilisée sans interruption pour toute la
période $[t,c_j[$, c'est-à-dire la situation suivante :
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.25]{ssm.pdf}
\caption{Exemple général}
\end{center}
\end{figure}
-\newpage
-\noindent Sur l'intervalle $[t,c_j[$ et $S$ on sait :
+
+\noindent Sur l'intervalle $[t,c_j[$ et $S = \{j' \; | \; c_{j'} \in [t, c_j[ \} \cup \{j\}$, i.e., l'ensemble des tâches traitées dans $[t, c_j[$ on sait :
\begin{itemize}
\item[$\bigstar$] $r(S) = t$, en effet, juste avant $t$ il y a un repos
(par définition), donc aucune tâche de $S$ n'était disponible avant $t$ (et donc
-tous les $r_j$ de $S$ sont $\geq t$ (au moins une est égale à $t$, par
+tous les $r_j$ de $S$ sont $\geq t$, sauf au moins une qui est égale à $t$, par
définition de $t$ toujours).
\item[$\bigstar$] $p(S) = c_j - t$ (vu qu'il n'y a pas de pause par
construction) $= c_j - r(S)$
$$\Longrightarrow c_j = r(S)+p(S) \qquad\qquad \text{\textbf{(2)}}$$
\end{itemize}
Comme $d(S) < 0$ \textit{(par les hypothèses faites précédemment)}, par le
-lemme, on a $$L^*_{MAX} \geq r(S) + p(S) - d(S) \geq r(S)+p(S) = c_j\
+lemme, on a $$L^*_{MAX} \geq r(S) + p(S) - \underbrace{d(S)}_{<0} \geq r(S)+p(S) = c_j\
\text{\textit{par (2)}}\qquad\qquad \text{\textbf{(3)}}$$
Si on applique à nouveau le lemme avec $S = \{j\}$, on a :
@@ -1596,11 +1638,11 @@ \subsection{Le problème ``$k$-\textit{centre}''}
\textit{(inégalité triangulaire)}
\end{itemize}
-\newpage
+
\begin{exemple}$ $\\
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[width=0.6\textwidth]{inst_kcentre.pdf}
\caption{Exemple de solution optimale d'une instance avec $k=3$}
@@ -1620,7 +1662,7 @@ \subsection{Le problème ``$k$-\textit{centre}''}
nous introduisons une notation : soit $S$ l'ensembles des centres, on note
$d(i,S) = \min_{j\in S}(d_{ij})$, on a donc : $$rayon = \max_{i\in V} d(i,S)$$
-\begin{algorithm}[h!]
+\begin{algorithm}[H]
\caption{Greedy\_k\_center}
\begin{algorithmic}[1]
\STATE Choisir $i\in V$ au hasard.
@@ -1629,6 +1671,7 @@ \subsection{Le problème ``$k$-\textit{centre}''}
\STATE $j\leftarrow arg\max_{j\in V}d(j,S)$
\STATE $S\leftarrow S \cup \{j\}$
\ENDWHILE
+\STATE Calcule et retourne le rayon
\end{algorithmic}
\end{algorithm}
@@ -1660,7 +1703,7 @@ \subsection{Le problème ``$k$-\textit{centre}''}
\indent (et en fait $2$ est le facteur d'approximation).
\end{exemple}
-\newpage
+
\begin{thm} \textbf{Greedy\_$k$\_center} est un algorithme de $2$-approximation
pour le problème \textbf{$k$-center}.
@@ -1723,11 +1766,11 @@ \subsection{Le problème ``$k$-\textit{centre}''}
\end{itemize}
\end{pblm}
-\newpage
+
\begin{exemple}$ $\\
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.5]{inst_ds.pdf}
\caption{Exemple d'instance du \textbf{\titre{DS}}}
@@ -1765,7 +1808,7 @@ \subsection{Le problème ``$k$-\textit{centre}''}
\end{proof}
\end{thm}
-\newpage
+
\subsection{Ordonnancement de tâches sur des machines identiques parallèles}
@@ -1796,7 +1839,7 @@ \subsection{Ordonnancement de tâches sur des machines identiques parallèles}
\subsubsection{Approche par la recherche locale}
\begin{exemple}[$m=5$ et $n=10$]$ $\\
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.5]{spm1.pdf}
\caption{Exemple de solution d'une instance du \textbf{\titre{SPM}}}
@@ -1808,7 +1851,7 @@ \subsubsection{Approche par la recherche locale}
simplifier en déplaçant la tâche vers une machine permettant de diminuer $C_{MAX}$. Imaginons que cette tâche est la tâche $l$, on va la
déplacer vers une machine qui se termine avant $c_l-p_l$. Appliquons l'algorithme (une seule itération) :
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.5]{spm2.pdf}
\caption{Exemple de solution d'une instance du \textbf{\titre{SPM}}}
@@ -1818,7 +1861,7 @@ \subsubsection{Approche par la recherche locale}
$\Longrightarrow$ \textbf{Optimum local.}
\end{exemple}
-\newpage
+
Notons $c^*_{MAX}$ la longueur d'un schedule optimal, on peut alors dire que ce schedule prendra au moins le temps d'exécution de la plus
longue des tâches soumises :
@@ -1834,11 +1877,13 @@ \subsubsection{Approche par la recherche locale}
\begin{proof}$ $\\
\begin{enumerate}
\item \textbf{L'algorithme s'exécute-t-il en temps polynomial ?}\\ (Voir preuve plus formelle dans livre de référence, chapitre 2) \\
-$\hookrightarrow$ Intuitivement : l'algorithme est polynomial car le nombre d'itérations est borné par une fonction polynomiale.
-
-\begin{figure}[h!]
+$\hookrightarrow$ Intuitivement : l'algorithme est polynomial car le nombre d'itérations est borné par une fonction polynomiale en $m$ et $n$.
+\'A chaque itération, soit $C_{max}$ \textbf{diminue strictement}, soit il
+\textbf{reste égal}, i.e., il y avait au moins une autre machine qui se terminait en
+$C_{max}$, il y en a maintenant une de moins.
+\begin{figure}[H]
\begin{center}
- \includegraphics[scale=0.5]{spm3.pdf}
+ \includegraphics[scale=0.42]{spm3.pdf}
\caption{Exemple où 2 machines atteignent $c_{MAX}$}
\end{center}
\end{figure}
@@ -1850,20 +1895,20 @@ \subsubsection{Approche par la recherche locale}
Soit une solution produite par \textbf{LocalSearch\_SPM}, soit $l$ la tâche se terminant en dernière, càd que $c_l = c_{MAX}$. On est
donc dans un cas comme suit (l'algorithme est terminé) :
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.45]{spm4.pdf}
\caption{Exemple de solution donnée par l'algorithme}
\end{center}
\end{figure}
-\newpage
+
Par le fait que l'algorithme est terminé, \textbf{toutes les machines sont au travail entre le temps $0$ et le début de la tâche $l$},
c'est-à-dire jusqu'en $S_l = c_l-p_l$.
\begin{itemize}
\item Le temps pris dans la \textit{(partie 1)} est égal à $p_l$ et par \textbf{(1)} ce temps est $\leq c^*_{MAX}$.
-\item Le temps pris dans la \textit{(partie 2)} est égale à $m.S_l$ car toutes les machines sont au travail. Et on sait que $m.S_l \leq
+\item Le temps total pour réaliser le travail de la \textit{(partie 2)} est égal à $m \cdot S_l$ car toutes les machines sont au travail. Et on sait que $m \cdot S_l \leq
P$ \textit{(plus petit que le travail total)} et donc $$S_l \leq \frac{P}{m} \leq c^*_{MAX} \qquad\qquad \text{\textit{(par
\textbf{(2)})}}$$
\end{itemize}
@@ -1885,7 +1930,7 @@ \subsubsection{Approche gloutone}
Si on les place selon l'ordre dans lequel les tâches sont données \textit{(``ListScheduling'')}, on obtient :
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.3]{spm5.pdf}
\caption{Résultat du ListScheduling}
@@ -1895,7 +1940,7 @@ \subsubsection{Approche gloutone}
On remarque rapidement que cela dépend de l'ordre dans lequel on donne les tâches. \\ Par exemple, l'ordre $3$, $1$, $2$ donne la solution
optimale :
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.3]{spm6.pdf}
\caption{Résultat du ListScheduling avec l'ordre $3$, $1$, $2$}
@@ -1904,7 +1949,7 @@ \subsubsection{Approche gloutone}
\end{exemple}
-\begin{algorithm}[h!]
+\begin{algorithm}[H]
\caption{ListScheduling}
\begin{algorithmic}[1]
\STATE $todo$ $\leftarrow$ liste des tâches (liste = séquence ordonnée)
@@ -1918,13 +1963,13 @@ \subsubsection{Approche gloutone}
pour la liste et appliquer \textbf{ListScheduling} pour chacune de ces permutations et prendre celle qui donne la valeur la plus petite. Le
problème est que cet algorithme a une complexité factorielle (si liste de $n$ éléments, $n!$ permutations).
-\newpage
+
\begin{thm} L'algorithme \textbf{ListScheduling} est un algorithme de $2$-approximation pour \textbf{\titre{SPM}}.
\begin{proof}$ $\\
Soit une solution donnée par l'algorithme \textbf{ListScheduling}, notons $l$ la tâche qui termine ce scheduling, càd $$c_l = c_{MAX}$$
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.45]{spm4.pdf}
\caption{Exemple de solution donné par l'algorithme}
@@ -1963,7 +2008,7 @@ \subsubsection{Approche gloutone}
\begin{exemple} Appliquons l'algorithme \textbf{LPT} sur l'exemple précédent.\\
$\Rightarrow p_1 = 4$, $p_2 = 3$, $p_3 = 2$ (on a retrié)
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.3]{spm6.pdf}
\caption{Solution donnée par l'algorithme}
@@ -1976,21 +2021,29 @@ \subsubsection{Approche gloutone}
calcule un schedule optimal.
\end{lemme}
-\newpage
+
\begin{thm} L'algorithme \textbf{LPT} est un algorithme de $\frac 4 3$-approximation pour \textbf{\titre{SPM}}.
\begin{proof}[par contradiction]$ $\\
-Supposons que le théorème est faux, c'est-à-dire qu'il existe une instance $p_1\geq p_2\geq \ldots \geq p_n$ qui est un contre exemple. \\
+Supposons que le théorème est faux, c'est-à-dire qu'il existe une instance $p_1\geq p_2\geq \ldots \geq p_n$ qui est un contre exemple, i.e., $C_{MAX} > \frac{4}{3} C^*_{MAX}$. \\
Soit un shedule obtenu par l'application de \textbf{LPT} sur cette instance, on peut supposer que la dernière tâche de la liste, $p_n$, est
également la tâche $l$ qui termine le schedule.
\begin{itemize}
\item[$\hookrightarrow$] Si on ne pouvait supposer cela, alors il existe un autre contre-exemple plus petit (= moins de tâches) qui
respecte cette hypothèse. En effet, soit $l$ la dernière tâche du schedule, il suffit alors d'ignorer toutes les tâches $l+1$, $l+2$,
$\ldots$ (on ne modifie pas la valeur de $c_{MAX}$ vu que c'est $l$ qui cause sa valeur).\\
+On différencie deux cas :
+\begin{itemize}
+ \item $C_{MAX}$ reste le même.
+ \item La valeur optimale de la nouvelle instance, i.e., OPT2 ne peut pas être
+ plus grande que la valeur optimale sur l'instance originale (OPT1). \\
+ $\implies OPT2 \leq OPT1$. Donc, on a $\frac{4}{3} < \frac{C_{MAX}}{OPT1} \leq
+ \frac{C_{MAX}}{OPT2}$
+\end{itemize}
$\rightarrow l$ est maintenant la tâche la plus petite. \\
\textit{(ceci est vrai car $n>m$)}
\begin{exemple}$ $
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.3]{spm8.pdf}
\caption{Situation considérée}
@@ -2003,7 +2056,7 @@ \subsubsection{Approche gloutone}
\begin{enumerate}
\item[a)] si $p_n \leq \frac{C^*_{max}}{3}$
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.45]{spm7.pdf}
\caption{Situation considérée}
@@ -2012,8 +2065,8 @@ \subsubsection{Approche gloutone}
Et donc on a :
\begin{eqnarray}
\nonumber c_{MAX} & = & S_n + p_n \\
-\nonumber &\leq & c^*{MAX} + p_n \\
-\nonumber & < & c^*{MAX} + \frac{c^*{MAX}}{3} = \frac{4}{3}c^*{MAX}
+\nonumber &\leq & c^*_{MAX} + p_n \\
+\nonumber & < & c^*_{MAX} + \frac{c^*_{MAX}}{3} = \frac{4}{3}c^*_{MAX}
\end{eqnarray}
\item[b)] si $p_n > \frac{c^*_{MAX}}{3}$, par le lemme précédent, \textbf{LPT} donne la solution optimale.
\end{enumerate}
@@ -2021,7 +2074,7 @@ \subsubsection{Approche gloutone}
\end{proof}
\end{thm}
-\newpage
+
\subsection{Traveling Saleman Problem (TSP)}
@@ -2042,7 +2095,7 @@ \subsection{Traveling Saleman Problem (TSP)}
\end{rem}
\begin{exemple}$ $\\
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.65]{TSPex1.pdf}
\caption{Exemple d'instance de \textbf{\titre{TSP}} sour forme de graphe pondéré}
@@ -2068,14 +2121,14 @@ \subsection{Traveling Saleman Problem (TSP)}
\end{pblm}
\begin{exemple} Existe-t-il un cycle hamiltonien dans un cube ? \\
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.3]{cube.pdf}
\caption{Cube}
\end{center}
\end{figure}
$\Longrightarrow$ oui, voir figure~\ref{chcube}.
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.3]{cubehc.pdf}
\caption{Chemin hamiltonien dans un cube}
@@ -2096,7 +2149,8 @@ \subsection{Traveling Saleman Problem (TSP)}
\end{itemize}
La valeur optimale du \textbf{\titre{TSP}} sur cette instance devrait être égal à $n$, cela signifiant qu'il existe un cycle hamiltonien.
Sinon la solution optimale du \textbf{\titre{TSP}} $\geq (n-1)+(n+2) = 2n+1$ vu qu'il faut au moins sélectionner une arête qui n'existait
-pas dans l'instance du cycle. \\
+pas dans l'instance du cycle. En effet, si $TSP < 2n+1$, alors on a affaire à un
+chemin Hamiltonien. \\
Cette remarque nous dit qu'avec un algorithme de $2$-approximation pour le \textbf{\titre{TSP}}, on pourrait résoudre un problème
\textbf{NP-complet} ! Ce facteur $2$ vient du cout que l'on a placé pour les arêtes inexistantes. On peut donc le faire croître
@@ -2134,7 +2188,7 @@ \subsection{Traveling Saleman Problem (TSP)}
Nous allons construire la solution $S$ en ajoutant à chaque itération la ville la plus proche de l'ensemble des villes déja construite.\\
Voici cet algorithme, il est polynomial.
-\begin{algorithm}[h!]
+\begin{algorithm}[H]
\caption{NearestAddition}
\begin{algorithmic}[1]
\STATE $i,j \leftarrow arg\min_{i,j\in S} C_{ij}$
@@ -2143,13 +2197,13 @@ \subsection{Traveling Saleman Problem (TSP)}
\WHILE{$reste \neq \emptyset$}
\STATE $i,j \leftarrow arg\min_{i\not\in reste,j\in reste} C_{ij}$
\STATE insérer $j$ dans $tour$ après $i$
-\STATE $reste\leftarrow reste\{j\}$
+\STATE $reste\leftarrow reste\setminus\{j\}$
\ENDWHILE
\end{algorithmic}
\end{algorithm}
\begin{exemple}Les villes de Belgique\\
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.5]{belgique.pdf}$ $\\$ $\\
\begin{tabular}{r|c|c|c|c|c|c|}
@@ -2179,7 +2233,7 @@ \subsection{Traveling Saleman Problem (TSP)}
La valeur de la solution est : \textbf{867}. \\
\textit{(La valeur optimale est de \textbf{757}, en prenant $S^* = [Anvers,Bruxelles,Liege,Arlon,Charleroi,Mons,Ostende]$)}
\end{exemple}
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.5]{belgiqueNA.pdf}
\includegraphics[scale=0.5]{belgiqueOPT.pdf}
@@ -2193,7 +2247,7 @@ \subsection{Traveling Saleman Problem (TSP)}
l'algorithme de \textbf{Prim} est un algorithme exact polynomial permettant de le résoudre.
\begin{exemple}$ $
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.5]{spanningtree.pdf}
\caption{Graphe et arbre couvrant}
@@ -2210,7 +2264,7 @@ \subsection{Traveling Saleman Problem (TSP)}
\end{itemize}
\end{pblm}
-\begin{algorithm}[h!]
+\begin{algorithm}[H]
\caption{Prim (pour \titre{MST})}
\begin{algorithmic}[1]
\STATE $S\leftarrow\{v\}$ où $v$ est un noeud arbitraire.
@@ -2225,18 +2279,20 @@ \subsection{Traveling Saleman Problem (TSP)}
\begin{exemple}
Appliquons l'algorithme de \textbf{Prim} sur l'algorithme de la Belgique.
-Il va sélectionner les arêtes :
-$$\text{(Ostende,BXL), (Anvers,BXL), (BXL,Charleroi), (Charleroi,Mons), (Charleroi,Liège), (Liège,Arlon)}$$
+Il va sélectionner les arêtes :\\
+\begin{center}
+(Ostende,BXL), (Anvers,BXL), (BXL,Charleroi), (Charleroi,Mons), (Charleroi,Liège), (Liège,Arlon)
+\end{center}
soit exactement les mêmes que \textbf{NearestAddition}.
\end{exemple}
\begin{lemme}\label{optgeqmst}
Pour toute instance du \textbf{\titre{TSP}} métrique, $OPT \geq \titre{\mathbf{MST}}$.
\begin{proof}
-Soit $n\geq 2$, une instance de TSP métrique et son tour optimal :
-\begin{figure}[h!]
+Soit $n\geq 2$, une instance de TSP métrique et son tour optimal, avec $w = OPT - 1 \text{arête}$ :
+\begin{figure}[H]
\begin{center}
- \includegraphics[scale=0.42]{optTSP.pdf}
+ \includegraphics[scale=0.6]{optTSP.eps}
\caption{Instance \textbf{\titre{TSP}} métrique et son tour optimal}
\end{center}
\end{figure}
@@ -2261,11 +2317,23 @@ \subsection{Traveling Saleman Problem (TSP)}
$\hookrightarrow$ Quel est le coût maximimal du tour construit par \textbf{NearestAdd} ?
\begin{itemize}
\item[$\rightarrow$] le premier tour sur $i_2$ et $j_2$ = $2C_{i_2j_2}$ (aller-retour).
-\item[$\rightarrow$] Soit une itération où $j$ est inséré entre $i$ et $k$. La différence de coût est donnée par :
+\begin{figure}[H]
+ \centering
+ \includegraphics{neartestAdd1}
+\end{figure}
+\item[$\rightarrow$] Soit une itération où $j$ est inséré entre $i$ et $k$. La différence de coût, qui correspond à la valeur à ajouter au coût courrant, est donnée par :
$$C_{ij}+C_{jk}-C_{ik}\quad (\star )$$
+\begin{figure}[H]
+ \centering
+ \includegraphics{neartestAdd2}
+\end{figure}
\begin{center}\textit{(ajout des 2 nouvelles arêtes, suppression de l'ancienne)}\end{center}
Par l'inégalité triangulaire, on sait que $C_{jk}\leq C_{ji} + C_{ik}$ et donc que
$$C_{jk}-C_{ik} \leq C_{ij}\quad (\star\star )$$
+\begin{figure}[H]
+ \centering
+ \includegraphics{neartestAdd3}
+\end{figure}
Le coût supplémentaire de cette itération est alors : $C_{ij}+C_{jk}-C_{ik}$ qui est borné par $2C_{ij}$ par $(\star\star )$. \\
\end{itemize}
@@ -2284,14 +2352,14 @@ \subsection{Traveling Saleman Problem (TSP)}
arêtes (ici $2$) entre $2$ sommets.
\begin{exemple}$ $\\
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.45]{multig.pdf}
\caption{Exemple de multigraphe}
\end{center}
\end{figure}
-\noindent Ce multigraphe est \textbf{Eulérien}, c'est-à-dire qu'il existe une chemin empruntant chaque arête 1 et une seule fois.\\
+\noindent Ce multigraphe est \textbf{Eulérien}, c'est-à-dire qu'il existe un chemin empruntant chaque arête 1 et une seule fois.\\
Essayons de trouver un tour sur ce graphe (en rouge) :
\begin{itemize}
\item on part de $1$ et on va en $2$, de $2$ à $3$, de $3$ à $4$,
@@ -2300,11 +2368,11 @@ \subsection{Traveling Saleman Problem (TSP)}
\end{itemize}
\end{exemple}
-\newpage
+
Revenons sur la théorie des \textit{cycles Eulériens}, via le problème de \textbf{Konïgsberg}.
\begin{exemple}$ $ \\
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.4]{konigsberg.pdf}$\qquad\qquad$
\includegraphics[scale=0.5]{konig.pdf}
@@ -2321,7 +2389,7 @@ \subsection{Traveling Saleman Problem (TSP)}
Un graphe est \textbf{eulérien} si et seulement si tous les sommets du graphes ont un degré pair et que le graphe est connexe.
\end{de}
-\noindent Le problème Eulérien $\in \mathcal{P}$, on peut donc l'utiliser pour approximer \textbf{\titre{TSP}}.\\
+Le problème Eulérien $\in \mathcal{P}$, on peut donc l'utiliser pour approximer \textbf{\titre{TSP}}.\\
Pour trouver un ``bon'' tour pour le \textbf{\titre{TSP}} nous allons :
\begin{enumerate}
\item[a)] calculer un \textbf{\titre{MST}},
@@ -2343,7 +2411,7 @@ \subsection{Traveling Saleman Problem (TSP)}
\cqfd
\end{thm}
-\begin{algorithm}[h!]
+\begin{algorithm}[H]
\caption{Double Tree}
\begin{algorithmic}[1]
\STATE $MST\leftarrow PRIM(G)$
@@ -2361,7 +2429,7 @@ \subsection{Traveling Saleman Problem (TSP)}
On obtient donc l'arbre couvrant avec les arêtes données par $F$. $\Rightarrow$ 3 raccourcis apparaissent :
$$Arlon-Mons\qquad Mons-Ostende\qquad Ostende-Anvers$$
On obtient le tour $Anvers-Bruxelles-Charleroi-Liege-Arlon-Mons-Ostende = 801km$.
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.28]{belgiqueDT.pdf}
\includegraphics[scale=0.5]{belgiqueOPT.pdf}
@@ -2406,7 +2474,7 @@ \subsection{Traveling Saleman Problem (TSP)}
\item $4$ sommets de degrés impairs et la somme de leur degré $\rightarrow 1+3+1+1 = 6$, c'est pair.
\item $O = {2,3,4,7}$ et $|O| = 2*k$ (par 5)) pour un entier $k$ non négatif (ici $k=2$).
\end{itemize}
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.5]{degre.pdf}
\caption{Graphe G}
@@ -2415,7 +2483,7 @@ \subsection{Traveling Saleman Problem (TSP)}
\end{figure}
\end{exemple}
-\newpage
+
Supposons qu'on groupe les sommets de degrés impairs par paires (ce qui est possible car $|0| = 2k$) : $(i_1,i_2)$, $(i_3,i_4)$ ...
$(i_{2k-1},i_{2k})$. On obtient ainsi un \textbf{perfect matching}, c'est-à-dire un ensemble d'arêtes non incidentes entre elles qui
@@ -2430,7 +2498,7 @@ \subsection{Traveling Saleman Problem (TSP)}
$\rightsquigarrow$ Il existe un algorithme polynomial pour résoudre ce problème, l'algorithme d'\textbf{Edmonds} en $O(n^4)$.\\
\textit{(voire $O(n^3)$ avec des SDD particulières)}
-\begin{algorithm}[h!]
+\begin{algorithm}[H]
\caption{Christophides (informel)}
\begin{algorithmic}[1]
\STATE $MST\leftarrow PRIM(G)$
@@ -2447,7 +2515,7 @@ \subsection{Traveling Saleman Problem (TSP)}
\end{rem}
\begin{exemple} Appliquons \textbf{Christophides} sur l'exemple de la Belgique. \\
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.28]{belgiqueCHRIS.pdf}
\includegraphics[scale=0.5]{belgiqueOPT.pdf}
@@ -2470,7 +2538,7 @@ \subsection{Traveling Saleman Problem (TSP)}
villes, il suffit de prendre des shortcuts sur ce tour optimal pour obtenir un tel tour. Et via les arguments déjà cités (inégalité
triangulaire), le tour ainsi créé est $\leq OPT$.
\item[b)]$ $
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.5]{pmO.pdf}
\caption{Exemple de tour sur $6$ villes $\in O$}
@@ -2489,7 +2557,7 @@ \subsection{Traveling Saleman Problem (TSP)}
Ce facteur d'approximation est serré, nous allons le montrer sur l'exemple suivant.
\begin{exemple}$ $\\
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.5]{factserre.pdf}
\caption{Exemple serré pour le facteur d'approximation}
@@ -2497,11 +2565,11 @@ \subsection{Traveling Saleman Problem (TSP)}
\end{figure}
Si le tour ne prend que les arêtes vertes, on obtient la solution optimale dont le coût est :
-$$(n-1) + 4(1+\epsilon) + (n-2) = 2n - 1 + 4\epsilon$$
+$$(n-1) + 4(1+\epsilon) + (n-2) = 2n + 1 + 4\epsilon$$
-Seulement, si l'arbre couvrant donné par l'algorithme est toutes les arêtes rouges (+ les 2 arêtes vertes extérieures), il n'y a que $2$
+Si l'arbre couvrant donné par l'algorithme est toutes les arêtes rouges (+ les 2 arêtes vertes extérieures), il n'y a que $2$
sommets de degrés impairs : $a_1$ et $a_{n+1}$. Le \textbf{perfect matching} va donc devoir les relier, on obtient alors une solution dont
-la valeur est : $$ 2(1+\epsilon) + 2(n-1) + n = 3n+2\epsilon $$
+la valeur est : $$ \underbrace{2(1+\epsilon) + 2(n-1)}_{MST} + \underbrace{n}_{PM} = 3n+2\epsilon $$
Le ratio est donc : $$\dfrac{3n+2\epsilon}{2n+4\epsilon-1} \to_{n\to\infty} \dfrac{3}{2}$$
\end{exemple}
@@ -2513,12 +2581,11 @@ \subsection{Traveling Saleman Problem (TSP)}
pour le \textbf{\titre{TSP}} métrique.
\end{thm}
-\vspace{47em}
\begin{flushright}
$\hookrightarrow$ \begin{large}Voir exercices dans l'annexe~\ref{exoChap3}.\end{large}
\end{flushright}
-\newpage
+
\section{Programmation dynamique et arrondissement (rounding) de données}
@@ -2573,7 +2640,7 @@ \subsection{Le problème du sac à dos (knapsack problem)}
cet ordre dans le sac. Nous allons envisager plusieurs ordres et montrer qu'à chaque ordre il existe une instance où on peut faire aussi
mauvais que possible. \\
-\begin{algorithm}[h!]
+\begin{algorithm}[H]
\caption{GloutonKPGeneral}
\begin{algorithmic}[1]
\STATE Trier les objets selon une certaine règle.
@@ -2602,7 +2669,7 @@ \subsection{Le problème du sac à dos (knapsack problem)}
l'objet $i$ dans le sac ?".
\end{itemize}
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.5]{arbredec1.pdf}
\caption{Arbre de décision type}
@@ -2623,7 +2690,7 @@ \subsection{Le problème du sac à dos (knapsack problem)}
\end{itemize}
\end{rems}
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.4]{arbredec2.pdf}
\caption{Arbre de décision relatif à l'exemple}
@@ -2638,23 +2705,42 @@ \subsection{Le problème du sac à dos (knapsack problem)}
\begin{itemize}
\item[si] $taille(P) = taille(Q)$
\begin{itemize}
- \item[si] $profit(P) \geq profit(Q)$ alors calculer $P$
- \item[sinon] calculer $Q$
+ \item[si] $profit(P) \geq profit(Q)$
+ \begin{itemize}
+ \item[alors] calculer $P$
+ \end{itemize}
+ \item[sinon] $ $
+ \begin{itemize}
+ \item[calculer] $Q$
+ \end{itemize}
\end{itemize}
\item[sinon si] $profit(P) = profit(Q)$
\begin{itemize}
- \item[si] $taille(P) > taille (Q)$ alors calculer $Q$
- \item[sinon] calculer $P$ \\
+ \item[si] $taille(P) > taille (Q)$
+ \begin{itemize}
+ \item[alors] calculer $Q$
+ \end{itemize}
+ \item[sinon]$ $
+ \begin{itemize}
+ \item[calculer] $P$
+ \end{itemize}
\end{itemize}
\end{itemize}
+\textbf{Intuitivement} :
+\begin{itemize}
+ \item[Si] la taille est égale, alors prendre le sous-problème qui offre le
+ meilleur profit.
+ \item[Sinon], si le profit est égal, alors prendre le sous-problème le plus léger.
+\end{itemize}
+
\noindent Pour \textbf{\titre{KP}} :
\begin{itemize}
\item la notion de sous-problème est simple et naturelle,
\item il y a beaucoup de redondance dans la recherche exhaustive, d'où l'interêt d'avoir des données entières.
\end{itemize}
-\newpage
+
\subsubsection{Programmation dynamique pour \titre{KP} (1ère version)}
\begin{itemize}
@@ -2676,7 +2762,7 @@ \subsubsection{Programmation dynamique pour \titre{KP} (1ère version)}
\nonumber & = & \infty \text{ sinon}
\end{eqnarray}
-\newpage
+
Le tableau $A$ est donc de la forme :
\begin{center}\begin{tabular}{c|cccccc}
@@ -2734,7 +2820,7 @@ \subsubsection{Programmation dynamique pour \titre{KP} (1ère version)}
\subsubsection{Variation du programme dynamique}
Nous allons utiliser un tableau de listes de paires : \\
-$A(j)$ pour $j = 1,...,n$ contient une liste de paires $(t,w)$ où une paire signifie qu'il existe un sous ensemble $S\subseteq I$ utilisant
+$A(j)$ pour $j = 1,...,n$ contient une liste de paires $(t,w)$ où une paire signifie qu'il existe un sous ensemble $S\subseteq \{1, \dots, j\} \subseteq I$ en considérant
les $j$ premiers objets avec une \textbf{taille} $t$ et un \textbf{profit} $w$. \\
En d'autres mots si $(t,w)$ est dans la liste $A(j)$, alors il existe $S\subseteq \{1,2,...,j\}$ tel que $\sum_{j\in S} s_i = t \leq B$ et
$\sum_{i\in S} v_i = w$.
@@ -2750,19 +2836,16 @@ \subsubsection{Variation du programme dynamique}
\nonumber t_1 & < & t_2 < \ldots < t_k \\
\nonumber w_1 & < & w_2 < \ldots < w_k
\end{eqnarray}
-$ $\\
-$ $\\
-$ $\\
\noindent Comme pour tout $i$, $v_i$ et $s_i$ sont des entiers :
\begin{enumerate}
\item[a)] dans chaque liste, il y a au plus $B+1$ paires ($+1$ car il y a la taille $0$)
\item[b)] dans chaque liste, il y a au plus $V+1$ paires ($+1$ car il y a le profit $0$)
\item[c)] pour tout sous-ensemble $S\subseteq \{1,...,j\}$ réalisable (i.e $\sum_{i\in S}(s_i) \leq B$), la liste $A(j)$ contient une paire
-$(t,w)$ qui donne la paire ($\sum_{i\in S}(s_i)$,$\sum_{i\in S}(v_i)$).
+$(t,w)$ qui domine la paire ($\sum_{i\in S}(s_i)$,$\sum_{i\in S}(v_i)$).
\end{enumerate}
-\begin{algorithm}[h!]
+\begin{algorithm}[H]
\caption{DynProg\_KP}
\begin{algorithmic}[1]
\STATE $A(1)\leftarrow \{(0,0),(s_1,v_1)\}$
@@ -2810,7 +2893,7 @@ \subsubsection{Variation du programme dynamique}
de schéma d'approximation complet (\textbf{FPAS}).
\end{de}
-\begin{algorithm}[h!]
+\begin{algorithm}[H]
\caption{FPAS\_KP}
\begin{algorithmic}[1]
\REQUIRE $\epsilon > 0$
@@ -2864,14 +2947,22 @@ \subsubsection{Variation du programme dynamique}
\item[b)]Le facteur d'approximation est de $1-\epsilon$, c'est-à-dire $APP \geq (1-\epsilon) OPT$.\\
Soit $S$ l'ensemble des objets utilisés dans la solution approchée (c'est-à-dire celui retourné par \textbf{FPAS\_KP}).\\
-Soit $O$ l'ensemble optimal d'objets, on sait déjà que $M\leq OPT$, de plus, $\mu v'_i \leq_{(2)} v_i \leq_{(3)} \mu (v'_i+1)$\\
+Soit $O$ l'ensemble optimal d'objets, on sait déjà que $M\leq OPT$, de plus, on a que :
+\begin{flalign*}
+ \notag v'_i &= \lfloor \frac{v_i}{\mu} \rfloor \\
+ \tag{2} \text{donc, } v'_i &\leq \frac{v_i}{\mu} \\
+ \tag{3} \text{et } v'_{i} + 1 &\geq \frac{v_i}{\mu}
+\end{flalign*}
+Donc, $\mu v'_i \leq_{(2)} v_i \leq_{(3)} \mu (v'_i+1)$.\\
$\Longrightarrow$ par \textbf{(3)}, $\mu v_i' \geq v_i-\mu$ \textbf{(4)}\\
Dès lors,
\begin{eqnarray}
\nonumber APP & = & \sum_{i\in S} v_i \\
\nonumber & \geq & \sum_{i\in S}\mu v_i' \text{ (par \textbf{(2)})}\\
-\nonumber & \geq & \sum_{i\in O}\mu v_i' \text{ (parce que $S$ est optimal sur les $v_i'$ et $O$ reste réalisable sur les $v_i'$ et vu que
-\nonumber c'est une maximisation,}\\ \nonumber & & \text{la valeur de $S$ est la plus grande et donc plus grande que celle de $O$ en
+\nonumber & \geq & \sum_{i\in O}\mu v_i' \text{ (parce que $S$ est optimal sur les $v_i'$ et $O$ reste réalisable sur les }\\
+\nonumber & & \quad \quad \text{ $v_i'$ et vu que c'est une maximisation, la valeur de $S$ est la plus }\\
+\nonumber & & \quad \quad \text{ grande et donc plus grande que celle de $O$ en
+%\nonumber c'est une maximisation,}\\ \nonumber & & \text{la valeur de $S$ est la plus grande et donc plus grande que celle de $O$ en
particulier)} \\
\nonumber & \geq & \sum_{i\in O} (v_i-\mu) \text{ par \textbf{(4)}}\\
\nonumber & = & \sum_{i\in O} (v_i) - |O|\mu \\
@@ -2891,7 +2982,7 @@ \subsubsection{Variation du programme dynamique}
$\hookrightarrow$ \begin{large}Voir exercices dans l'annexe~\ref{exoChap4}.\end{large}
\end{flushright}
-\newpage
+
\appendix
@@ -2903,7 +2994,7 @@ \subsubsection*{Donner un algo/une heuristique qui va donner une solution approc
\begin{itemize}
\item[]
-\begin{algorithm}[h!]
+\begin{algorithm}[H]
\caption{MonAlgorithme}
\begin{algorithmic}[1]
\STATE sommetsPris $\rightarrow 0$
@@ -2913,7 +3004,7 @@ \subsubsection*{Donner un algo/une heuristique qui va donner une solution approc
\end{algorithmic}
\end{algorithm}
\item[]
-\begin{algorithm}[h!]
+\begin{algorithm}[H]
\caption{AlgorithmeMélot}
\begin{algorithmic}[1]
\STATE Trouver un sommet $v$ de degré maximum
@@ -2925,7 +3016,7 @@ \subsubsection*{Donner un algo/une heuristique qui va donner une solution approc
\subsubsection*{Essayer l'algo sur l'exemple et trouver un facteur d'approx}
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[width=\textwidth]{exo_1_5.pdf}
\caption{Exemple pour le Vertex Cover}
@@ -2959,7 +3050,7 @@ \subsubsection*{Cet algorithme possède-t-il un facteur d'approximation $\alpha$
Peut-être, mais on a pas prouvé que c'était le cas ni que c'était pas le cas, on a juste vu que dans ce cas là on avait un ratio de
l'ordre de $\log{k}$.
-\newpage
+
\section{Annexe B : Exercices chapitre 2}\label{exochap2}
@@ -2968,7 +3059,7 @@ \subsection*{Montrer par un exemple que \titre{VC} est un cas particulier de \ti
\begin{itemize}
\item Instance de $VC$ : $G=(V,F) \rightarrow F$ qui doit être couvert.
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[width=0.15\textwidth]{annexBEx.pdf}
\caption{$OPT = C = \{1,3,4\}$}
@@ -3020,7 +3111,7 @@ \subsubsection*{Écrire un problème \textbf{\titre{SC}} sous la forme d'un \tex
\subsubsection*{Formuler l'\titre{IP} de l'exemple ci-dessous}
-\begin{figure}[h!]
+\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.4]{ens_1.pdf}
\caption{Exemple d'instance de \titre{SC}}
@@ -3045,9 +3136,9 @@ \subsubsection*{Formuler l'\titre{IP} du Vertex Cover}
\indent $\text{\textbf{s.l.c} } x_u + x_v \geq 1,\ \forall (u,v) \in E$\\
\indent $\qquad x_v \in \{0,1\},\ \forall v\in V$
-\begin{center}\includepdf[pages={1-10},offset=60 0]{exoChap2.pdf}\end{center}
+\begin{center}\includepdf[pages={1-10}]{exoChap2.pdf}\end{center}
+
-\newpage
\section{Annexe C : Exercices chapitre 3}\label{exoChap3}
@@ -3060,12 +3151,12 @@ \subsubsection*{Appliquer \textbf{EDD\_SSM} à l'instance suivante}
\end{enumerate}
L'algorithme donne la solution optimale \textit{(ordonnancement \textbf{ABC} mais c'est un coup de chance)}.
-\newpage
+
\section{Annexe D : Exercices chapitre 4}\label{exoChap4}
(cf pdf inclus à la page suivante)
-\begin{center}\includepdf[pages={1-10},offset=60 0]{exoChap4.pdf}\end{center}
+\begin{center}\includepdf[pages={1-10}]{exoChap4.pdf}\end{center}
-\end{sffamily}\end{document}
+\end{document}
diff --git a/resumes/xavier_dubuc/src/dots/neartestAdd1.ipe b/resumes/xavier_dubuc/src/dots/neartestAdd1.ipe
new file mode 100644
index 0000000..dff9b3e
--- /dev/null
+++ b/resumes/xavier_dubuc/src/dots/neartestAdd1.ipe
@@ -0,0 +1,272 @@
+
+
+
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+0.6 0 0 0.6 0 0 e
+0.4 0 0 0.4 0 0 e
+
+
+
+
+0.6 0 0 0.6 0 0 e
+
+
+
+
+
+0.5 0 0 0.5 0 0 e
+
+
+0.6 0 0 0.6 0 0 e
+0.4 0 0 0.4 0 0 e
+
+
+
+
+
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+-0.4 -0.4 m
+0.4 -0.4 l
+0.4 0.4 l
+-0.4 0.4 l
+h
+
+
+
+
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+
+
+
+
+
+-0.5 -0.5 m
+0.5 -0.5 l
+0.5 0.5 l
+-0.5 0.5 l
+h
+
+
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+-0.4 -0.4 m
+0.4 -0.4 l
+0.4 0.4 l
+-0.4 0.4 l
+h
+
+
+
+
+
+
+-0.43 -0.57 m
+0.57 0.43 l
+0.43 0.57 l
+-0.57 -0.43 l
+h
+
+
+-0.43 0.57 m
+0.57 -0.43 l
+0.43 -0.57 l
+-0.57 0.43 l
+h
+
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+-1 0.333 m
+0 0 l
+-1 -0.333 l
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+-1 0 m
+-2 0.333 l
+-2 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+-1 0 m
+-2 0.333 l
+-2 -0.333 l
+h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+128 768 m
+192 800
+256 768 c
+
+
+256 768 m
+192 736
+128 768 c
+
+i_2
+j_2
+
+
diff --git a/resumes/xavier_dubuc/src/dots/neartestAdd2.ipe b/resumes/xavier_dubuc/src/dots/neartestAdd2.ipe
new file mode 100644
index 0000000..343b9f8
--- /dev/null
+++ b/resumes/xavier_dubuc/src/dots/neartestAdd2.ipe
@@ -0,0 +1,297 @@
+
+
+
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+0.6 0 0 0.6 0 0 e
+0.4 0 0 0.4 0 0 e
+
+
+
+
+0.6 0 0 0.6 0 0 e
+
+
+
+
+
+0.5 0 0 0.5 0 0 e
+
+
+0.6 0 0 0.6 0 0 e
+0.4 0 0 0.4 0 0 e
+
+
+
+
+
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+-0.4 -0.4 m
+0.4 -0.4 l
+0.4 0.4 l
+-0.4 0.4 l
+h
+
+
+
+
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+
+
+
+
+
+-0.5 -0.5 m
+0.5 -0.5 l
+0.5 0.5 l
+-0.5 0.5 l
+h
+
+
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+-0.4 -0.4 m
+0.4 -0.4 l
+0.4 0.4 l
+-0.4 0.4 l
+h
+
+
+
+
+
+
+-0.43 -0.57 m
+0.57 0.43 l
+0.43 0.57 l
+-0.57 -0.43 l
+h
+
+
+-0.43 0.57 m
+0.57 -0.43 l
+0.43 -0.57 l
+-0.57 0.43 l
+h
+
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+-1 0.333 m
+0 0 l
+-1 -0.333 l
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+-1 0 m
+-2 0.333 l
+-2 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+-1 0 m
+-2 0.333 l
+-2 -0.333 l
+h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+128 384 m
+256 384 l
+
+
+128 384 m
+144 432
+192 448 c
+
+
+192 448 m
+240 432
+256 384 c
+
+i
+k
+j
+
+256 384 m
+256 368
+240 368
+240 352
+224 352
+224 336
+208 336
+192 328
+176 336
+160 336
+160 352
+144 352
+144 368
+128 368
+128 384 c
+
+supprimer $(i, k)$
+ajouter $(i, j)$ et $(j, k)$
+
+
diff --git a/resumes/xavier_dubuc/src/dots/neartestAdd3.ipe b/resumes/xavier_dubuc/src/dots/neartestAdd3.ipe
new file mode 100644
index 0000000..968a146
--- /dev/null
+++ b/resumes/xavier_dubuc/src/dots/neartestAdd3.ipe
@@ -0,0 +1,278 @@
+
+
+
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+0.6 0 0 0.6 0 0 e
+0.4 0 0 0.4 0 0 e
+
+
+
+
+0.6 0 0 0.6 0 0 e
+
+
+
+
+
+0.5 0 0 0.5 0 0 e
+
+
+0.6 0 0 0.6 0 0 e
+0.4 0 0 0.4 0 0 e
+
+
+
+
+
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+-0.4 -0.4 m
+0.4 -0.4 l
+0.4 0.4 l
+-0.4 0.4 l
+h
+
+
+
+
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+
+
+
+
+
+-0.5 -0.5 m
+0.5 -0.5 l
+0.5 0.5 l
+-0.5 0.5 l
+h
+
+
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+-0.4 -0.4 m
+0.4 -0.4 l
+0.4 0.4 l
+-0.4 0.4 l
+h
+
+
+
+
+
+
+-0.43 -0.57 m
+0.57 0.43 l
+0.43 0.57 l
+-0.57 -0.43 l
+h
+
+
+-0.43 0.57 m
+0.57 -0.43 l
+0.43 -0.57 l
+-0.57 0.43 l
+h
+
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+-1 0.333 m
+0 0 l
+-1 -0.333 l
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+-1 0 m
+-2 0.333 l
+-2 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+-1 0 m
+-2 0.333 l
+-2 -0.333 l
+h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+192 768 m
+256 704 l
+
+
+192 768 m
+144 752
+128 704 c
+
+
+128 704 m
+192 688
+256 704 c
+
+j
+k
+i
+
+
diff --git a/resumes/xavier_dubuc/src/dots/optTSP.ipe b/resumes/xavier_dubuc/src/dots/optTSP.ipe
new file mode 100644
index 0000000..dffe084
--- /dev/null
+++ b/resumes/xavier_dubuc/src/dots/optTSP.ipe
@@ -0,0 +1,351 @@
+
+
+
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+0.6 0 0 0.6 0 0 e
+0.4 0 0 0.4 0 0 e
+
+
+
+
+0.6 0 0 0.6 0 0 e
+
+
+
+
+
+0.5 0 0 0.5 0 0 e
+
+
+0.6 0 0 0.6 0 0 e
+0.4 0 0 0.4 0 0 e
+
+
+
+
+
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+-0.4 -0.4 m
+0.4 -0.4 l
+0.4 0.4 l
+-0.4 0.4 l
+h
+
+
+
+
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+
+
+
+
+
+-0.5 -0.5 m
+0.5 -0.5 l
+0.5 0.5 l
+-0.5 0.5 l
+h
+
+
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+-0.4 -0.4 m
+0.4 -0.4 l
+0.4 0.4 l
+-0.4 0.4 l
+h
+
+
+
+
+
+
+-0.43 -0.57 m
+0.57 0.43 l
+0.43 0.57 l
+-0.57 -0.43 l
+h
+
+
+-0.43 0.57 m
+0.57 -0.43 l
+0.43 -0.57 l
+-0.57 0.43 l
+h
+
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+-1 0.333 m
+0 0 l
+-1 -0.333 l
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+-1 0 m
+-2 0.333 l
+-2 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+-1 0 m
+-2 0.333 l
+-2 -0.333 l
+h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+16 0 0 16 80 784 e
+
+
+16 0 0 16 48 720 e
+
+
+16 0 0 16 80 656 e
+
+
+16 0 0 16 112 720 e
+
+
+16 0 0 16 80 784 e
+
+
+16 0 0 16 48 720 e
+
+
+16 0 0 16 80 656 e
+
+
+16 0 0 16 112 720 e
+
+
+16 0 0 16 80 784 e
+
+
+16 0 0 16 48 720 e
+
+
+16 0 0 16 80 656 e
+
+
+16 0 0 16 112 720 e
+
+a
+b
+c
+d
+a
+b
+c
+d
+a
+b
+c
+d
+
+55.7613 733.991 m
+70.5568 771.084 l
+
+
+91.4922 772.868 m
+101.625 732.18 l
+
+
+57.636 707.227 m
+68.502 667.126 l
+
+
+101.289 708.114 m
+91.6098 667.01 l
+
+
+215.99 706.138 m
+229.509 668.08 l
+
+
+249.814 668.637 m
+260.909 708.468 l
+
+
+218.394 732.164 m
+229.233 772.165 l
+
+
+379.003 731.616 m
+388.754 772.619 l
+
+
+383.997 719.702 m
+416.003 719.714 l
+
+
+377.591 707.193 m
+388.511 667.136 l
+
+OPT
+w
+MST
+\geq
+\geq
+
+
diff --git a/resumes/xavier_dubuc/src/dots/ordo.ipe b/resumes/xavier_dubuc/src/dots/ordo.ipe
new file mode 100644
index 0000000..36ecbaa
--- /dev/null
+++ b/resumes/xavier_dubuc/src/dots/ordo.ipe
@@ -0,0 +1,337 @@
+
+
+
+
+\usepackage{amsmath}
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+0.6 0 0 0.6 0 0 e
+0.4 0 0 0.4 0 0 e
+
+
+
+
+0.6 0 0 0.6 0 0 e
+
+
+
+
+
+0.5 0 0 0.5 0 0 e
+
+
+0.6 0 0 0.6 0 0 e
+0.4 0 0 0.4 0 0 e
+
+
+
+
+
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+-0.4 -0.4 m
+0.4 -0.4 l
+0.4 0.4 l
+-0.4 0.4 l
+h
+
+
+
+
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+
+
+
+
+
+-0.5 -0.5 m
+0.5 -0.5 l
+0.5 0.5 l
+-0.5 0.5 l
+h
+
+
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+-0.4 -0.4 m
+0.4 -0.4 l
+0.4 0.4 l
+-0.4 0.4 l
+h
+
+
+
+
+
+
+-0.43 -0.57 m
+0.57 0.43 l
+0.43 0.57 l
+-0.57 -0.43 l
+h
+
+
+-0.43 0.57 m
+0.57 -0.43 l
+0.43 -0.57 l
+-0.57 0.43 l
+h
+
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+
+
+
+
+-1 0.333 m
+0 0 l
+-1 -0.333 l
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+-1 0 m
+-2 0.333 l
+-2 -0.333 l
+h
+
+
+
+
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+-1 0 m
+-2 0.333 l
+-2 -0.333 l
+h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+64 752 m
+64 720 l
+192 720 l
+192 752 l
+h
+
+
+64 704 m
+64 672 l
+192 672 l
+192 704 l
+h
+
+
+64 784 m
+64 640 l
+
+
+224 784 m
+224 640 l
+224 640 l
+224 640 l
+
+
+192 704 m
+192 672 l
+272 672 l
+272 704 l
+h
+
+
+224 704 m
+224 672 l
+272 672 l
+272 704 l
+h
+
+
+256 784 m
+256.1 655.224 l
+256 656 l
+256 656 l
+
+
+240 752 m
+240 720 l
+320 720 l
+320 752 l
+h
+
+d_j
+d_s
+j
+j
+\underbrace{ }_{\text{$ $}}
+r(S) + p(S) - d(S)
+r(S)
+avec ``trous"
+sans ``trous"
+retard minimum
+
+224 752 m
+224 720 l
+240 720 l
+240 752 l
+h
+
+
+352 816 m
+352 800 l
+384 800 l
+384 816 l
+h
+
+= retard de $j$
+L_j = c_j - d_j
+
+
diff --git a/resumes/xavier_dubuc/src/pdf/neartestAdd1-eps-converted-to.pdf b/resumes/xavier_dubuc/src/pdf/neartestAdd1-eps-converted-to.pdf
new file mode 100644
index 0000000..ba8cc55
Binary files /dev/null and b/resumes/xavier_dubuc/src/pdf/neartestAdd1-eps-converted-to.pdf differ
diff --git a/resumes/xavier_dubuc/src/pdf/neartestAdd1.eps b/resumes/xavier_dubuc/src/pdf/neartestAdd1.eps
new file mode 100644
index 0000000..da10ab3
--- /dev/null
+++ b/resumes/xavier_dubuc/src/pdf/neartestAdd1.eps
@@ -0,0 +1,517 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.4 (http://cairographics.org)
+%%CreationDate: Fri Jun 2 11:36:39 2017
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 0 1 154 34
+%%EndComments
+%%BeginProlog
+save
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%BeginSetup
+%%BeginResource: font CMMI10
+%!PS-AdobeFont-1.0: CMMI10 003.002
+%%Title: CMMI10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (), with Reserved Font Name CMMI10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /f-0-0 def
+/FontBBox {-32 -250 1048 750 }readonly def
+/PaintType 0 def
+/FontInfo 10 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI10.) readonly def
+/FullName (CMMI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/ascent 750 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 105 /i put
+dup 106 /j put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b0027b6f3b53cc32be64063d04d328b49c17a62c396cfc8
+17b9fcb732c3b0aeb6264b2a70f62fbfc397eea8d069af80a71b775145f9842057f969d124e630
+1a760710a5c51e8981851fbcf7f1cd1f2ab78db91af2a6f264e41cc2cdecf450a3a33c89fa447b
+8bad4068cb8d7d37adaa4caab8f72cc26b024348ef8708a0ab6ee56d73f035ac9b506c91fcafc2
+40791cc10b1b0ca42c87a24a69e83f61a20432744f7d79437b93825d955cee80718831f56e0254
+0ae4b3a70b9dda35ca4fbcabfbc50a4cafca7423203cf03b8e9eafb091f06b2741ada33c61933f
+ab98ef2fd54411c6564b030947ac99cf02f4194b6e0af84cefdc23c1b2886506402a156f0946dd
+e0f96a087eea2ac27fe5bdf35b5340fc78f4deda8c9d11d98c0f5e55a92c96eda070164da36646
+45cf37d0d548891f41c633b2cf39f3681ca5b295c862e21d4e3d461f0604fc3557ead3f103b7cd
+e8788062ee55dd643ebf68f02de9509a711b769bbaa2f977c0c79c626050e6cc409496ca36999e
+1ff008ca97815500e97752078d0286a73dfc1d55e84337b5eccb366bbff2cba70847a15deffc9a
+b9465907d667d2583fc8cc9a1b753fb839c71d02786b206edb49d1f1e1222f15e35c63c1308f9b
+5a012747cde52cb2b9eb0c6805b3b05040b32dbc7e380ce5ed54283fdc2eb2b9eb0c6805a609d5
+bc292019eb65c765ddae5d9f5a6193a059c6d7674fd34664fff5fc0442f1fab44943e0f74ea3c6
+00960734464cdc627ab1f56d3b620c7d61e434c0469999ad8a683b008d4318a044a01a6ee5c4de
+a893d727949247b65a100468185591755ad88509374ea309c172fa8fae1f28ce2d6b478e29984e
+142bd328cb3db08eb3c0798faa3c961089be48cd68ef446a7e7486cdf303862f2c49a504f01157
+77979c3cdf97f2fda864e361612983097ae515ccdd43cc4e7c2832837b2730cedbc00213c1640c
+bd6db49d0d729017e5a45b2eb6c10992f4274c8fa188470c82b5623f4607dff4afd5892cb6cd5d
+85a03022b4d80fc1c3e271c4a3d53241988b6c9c1dcef7a0f9f19281c2a01c858d43fcd28c360e
+5aab9ba5d4dea4db85e3a26cc0e8d7defad8c9976dd7d45d9879880dec2766c6d613450cdb6c87
+a690dca9298b59923709795bce1cb2a7f1e3c7888ad49ad9f12090fc5371ea8016b7c0da013dcb
+ae8ee5985b69391d249998fdba8da313ec5788b0abdeefaa9239c4edcbb4b311939899a0646a40
+31ef6d0f32a9642bb52ea218982daa9fb54679a769dd0ce17187f09b1dec550179a9f8ba81883a
+fe662ef681b2811e81e3e459cbc8e5a6ed948602df36cb16ac7dc8197ef5d0123780e1f4e614fd
+8d60f5f6c69ad7377806b6f64aeaa409fbb41dd3ccead8d56e06ee86cac471c474e1e1b727a0b0
+18c82b41297c09366a3f891de3b9807b62b6b3823d7636f6df7ba6884d206dd39e8c56bc07e542
+8d35af43481b160d66572f2eeea2971e9a4744fd79897ba8f917018578e438f98aedcb8a073cf6
+79cd7e52f77385a5b336fa80be78fff9705ef282270f7b516eb7d163181c4cffed31a5553007ec
+327cef977efeded1342c72944f456f78d41d031fa614a8eb118a653e1a77fbff5c0e58f38d44a7
+9124a9328900d44e67cf410869f1c45f1012079ab637f81356d9cf0e9b3dfa9e84fe0f296b85ca
+ef4ed92097e52b9e71c17c6f8f7637f23fb60abe23521a3907d3442ef45562aee24aecab21b42b
+9b24e22a0e58b33aad59fd9ceb08743b270c653b372650e67ab556369259ec5356c846ffe63e57
+a421bd03c0e25a4c2a2abe0cc24d234b41fd269deeb6af086c4f12794dcd5e2485a4831d60ce1c
+6305e0ce6b18fba63a71c3c1a88b4aa621cf9c1a2c5c235d433725d14acd1d0a7fe0c8dbd88a46
+ca104f08806a8b0fc6a315fe9e4ab19ffd534cd281ddfe35664c24b7a6e4b9c1d6faab46c4b81a
+dadfd591a3cae35e7684a2ee95ab6881a9ca351704023561d3d9b4214137112bd8b64d9085474e
+e78cb85ae23d179c21f8efe8baf050d88ecf0f422bf0c15f102b5ec92484ae51d50e5705fb8b28
+e62db9f8c32d691cf9cb209a50494acd6e55990d15c6a130ca5a094503712a5db0655f4383cbe5
+785702c3b95e6acff0d6d1bb86c5562b71d366c068e0df346ea2fdce1d673a78d04a3dc88377ff
+ae336a2ab2cde346d17e7962de2438f4b5e608cc9707f2d560dbb9c4786970d8df05b47c81eed8
+f26573b38e1dca64f4b772f49554f24bf63e95b6b2b952f2807f3b35ce45c689a9fc7bc36e6413
+619bcf52bb1cd0c752640dd4dc6104390a7546dbeceb7a2ef1a04bbdd5ed4b730fbc610bc590ee
+309c3c49b5e3c9be27369fbfb0526ebcab6bde96c9ffb87eb7bc4361381e0f4472f87b4c17fe35
+cb93ea3fd8ec25f49c92476875986527b7dc4093ac056e5821c44d7fd4e2cc32423ea320d5f6c9
+38e04ccc1c259fc57282a2a876ae3062aeebd3efcf06b72d8bc51eeaa8cabaff8961327318f53e
+8e0136d64c169cb4190942dcc3d7af79ee0575101ea563a9fe85dbc6f3611a926f77f33af26690
+9cf5647f64a55b285cf54b5b334d0d0011dba80af1eb7c37b0410072d90429b7db7db6ada180d3
+202c6ad7057c7b5fd5f59578a17ce04b12d8b8de2c55fef874bfea8d9825b5ee233a8ad91cd8c9
+56234b1dd4407eea57d4bf78b89f124d0637e3a9a7223b6c73fd93a687528e38c608f62298a60f
+08c11b62a9fa39068feeb9b5646e84d422aa835556761d1459386adeba9fed5b74e2d78f695c49
+f9d829dd85b9641fab34cbaa49e3f306ebb3687b1bb5c764495943074e2dab0c4513bd1d14ea2f
+5fc1069df238f0b38cfdcc7ab9e945374cb6f45c740dc95f8e6c82fc3247e14bf27443e4c0ecc1
+09873c1e51f325d8d52338d5cbc8982fff68fb5fb92f11783bd6cf9b2307a2802eb9e68321a10d
+4431ec6a9e4b6d5ae394f2ec0e8b53385143802f018edb580ebfa5d0406bbaf8dc681185582862
+2626125e293c47204bf307b1bcd649ebf20be0ae42b0364b37300da60de0649e2150e70614d024
+a3d2f75bd9a886f78c71b59b6754a0bf7aa2f76f920ab9c0f1cd1bd531dd25e6c2a3e3bc8da49b
+1c1ef82b4737cb81b0510d551f844adfc80a55301c8310f9d103c489c90a44f84f47b6f1b8d474
+366071ca1522215ace0d842767ab2c961d1c9b32bb886714945aafccfe513743f5f5c44dc1cfec
+eca538472511896c85b2c9126173c12d4b2b36c4b62cae0e746c0211eefb8a8fccb473bc50fb48
+a3c3e6946016908e5f4f4914fdfeedf1186f12a39f13131629ab408fb2e0dd186c257ca3dac07b
+e9a7528c725db8a93d52ae0c10e4d290aef73c7fb2ca6bf922423eb71a8c59526e3d73e057d627
+9630dde8906b795562f4396c0869a20694370f2696b00fe2f96369b26d56b34a0fe7ad376519d1
+b8a50598b2d5a60004a3b7c89218aa9ffc1e5e74ecc4885c517c0627b58b60b136f651c1d48f38
+8fb9351fc5c46dd3c4bbcb7dcfd01e6ddd4063bff55a34d64c55599a82417717eb593ed428b677
+50972bba8252c31507bdd7435abe4b4edbe81b312cc5f91a1f9237ee9c278d11b51833f65260e3
+bd0410699d0a0b8c613152578fac985028eec5f10e8b9bfd680cb0bb53b8e93ad0fa3a749cc223
+bd356319fb1b6c6ec397d22248f0891ec1b60e84e89886212fe1b41d5c2b6345d4ba2340306efc
+811586e06ab7ee765e93c50b873fd48870769d1d218a10952a9856b4b51445fb82a7928dce5fe1
+805b19b99d5378cc9271c4722e47a09a9278ff244bb280cca6a828cd0901ae75f5ba1f87e73253
+984d7ae66515141e34d90e770992a0736e3d042b304271e207db1f282b2dff4388e48eaad733aa
+746fda33c9d9c7c9fdc090b4b2876fe4645c0bb822ce40d581c7625f9ec0de5dc6a0669412e971
+2507139fc3652c35523afaff01d3bd63a1e2c8a53b9ee0543fc505902e8fe0c23f72d824e951c4
+0a6483cd8a12a5b29f7c799309d17386917861acc27c200aaa34cb2a104dba07eb4ddf5e4099e3
+57d625394728dc83e1d722f3cc1ae7598f169e9c9a2c1e7250715dae8660ae119d8e29323faea6
+13c0d31c0c1d4005f2bfcc2d7913f8a0e18d1da390e2f1d3e28d6eddd09c93d019d608911baf7b
+ce79557b1397975e38e906b695b6ae1c22af047dbc1d7d08744f182b2263e14a75b843ddd8f990
+078410973d7cff56e897245a224a1ddbfaed2d848ded109648d42da10219fa6358bce77565464a
+e52af167fabc06c11e6726fc233d0144d35ab68c7269ed2778017ab4ac15639d2588952fa22550
+e273df724abf514d1f0364a1e2a7d9cdb4e356494de3af6125d3cc6d2ddba01ab92d36216a0505
+b4c0fbe46ad4674d8bb51e7520fb4403bbae43bd6a69e475eff0ed4f71d865f6d3bf6e3ed57508
+07de076c0b1f59083d488ad5fefe10d1cb93a0f4f110e45a80bbb00bf408c96bc6347922332f32
+20cf474b66fe1904fab3e58c9ed0b4cc7215665ea72ea2f7212e7927877fe71070d4ebfbe97a37
+5a8784640dec93f6d6eedb7224873e8fbef31c40622d385f6ee43cc6c5720d3df72065155d58eb
+d21f2c93f323e9e0cdc35ac43330f9ccbcebd9415173e5304db65d3dcc4a8158b8a838ce7e0bcc
+4f4bffeb9333eb9a28cdab15cf3256ae784884eb1fec9b65328a0a26d0c8edfd3213384b367fab
+9829a4a1823e223a3fab405e51593700fadd42352144f1b648bf7bdd217172ca43066e2632ddf3
+77a535b0d855ae8120a97e0c907967c36e88b9da5596676c9bc1fe9449bdae8ed6ed101ca70798
+afb9b9ee1b357fbd0846af20d3f4e64ad7793501a0f52ca0710d5588c8a7900f9f58164d8e5174
+a413764ed0b2630585c09c66a62e3ac562e06f2572fba273f8f2f62b50f2fb21040d12f607db04
+0076159fa283a42c653614cac50f6d929c6d69b7ba331f2bae21b1e25c2937b5404f6ff789b73d
+b70cd06e32f5658dc2ccd53d40acea5b19e4019263058c333d81e6f99741a86d21bda9c6a6680b
+35fdc036ae2379b16e7549afa7ede71c3e23df721ea9f4580d8c516832677fde26b79ce1a92246
+7086e293b003c9f725663ff089da8855c5fd232612fc0434c25b759debaa039a658a8f291261a1
+1e58460247bd0a03d3cbaa7b005d605030d42daeb1914ec78ffa012e5a416ba91a877872a48936
+2909cb20cc859f032e305be4e1e2510803c3f475ceda2c3dc8ef409faf1e260240d9eeaeae853d
+f289471f6206a91d7e7a24b3568ecfff34269dc13fb9cc71850093db85bea6c890ed3ba5f8220b
+7516353a9b9a7ae11bb69b37827e6036602b536a8142d4524afe7b951125c1243d3c8845a38afb
+7bba584219487cd88b302487e502d5911d79eab6cc2070ab47d5bd927b0a835cdcf0362c8bc0db
+3b45ad85aa6434de49b32bbb5bd180ab18c98b8e9538089552b3600a532fd24769c35281f3d605
+85e75988a305f1278f6f2a5ee0405d0f30b6770af0364f4d982c07d607ffa4d55cb773d92f9b0e
+163934e801ccd9a23b47930a57cae509c9e021d67c3e08ba173f8274b6b1fc1a53305dc998c657
+6ef045e84fc0bb391e971d75d69cf507daf86967bfca7f098be6f9f19ae1b72c433826094601fc
+acae2fdfe2773bdffc19616ad0e1da13b6575b5e949bee16f4198ce82df7bdb5a0e5411acca8d7
+4cfa1f7fb2f0b696de35d3810e090f2bb036bf80aa77d8e71140005a3014d736d4338ead5b3ce7
+760b0008c418c80508c44b9e5e8b58b6b770cfbd7aff85631cca1eacb7836580f3d889d9055ff8
+08f29cef9ebff7ff904f89d6655dd9a7097e2a27c19a0c47e710fe7143a2ee1e642da6af560630
+5c2abca4db9ae966057c124757b094b5b1226702b1a7fa4f082f8f1bbf841abbc29f760ed72e04
+746ec76895d4d5d78d2e09b73e0b6cad2cbf7b2583c1b6aed6b208dd582795177df4976908582a
+253ce329af84db80d2ddb23c02c659f99c0bd70849b40c4bee2c41c3118e5444cbe7de1e57da26
+8c9c6e0da8f2fc33d7193f0f4ecb83dfbb9bec8d0098c10134fc5c2700a90a9f0707ad75762fb0
+63f620b691c478ff88f78b486e7fa772c06e3f86b94555d981ed92fdf2ab8df1b9c1f9aca18009
+8d876e0b5a1f44d53a4341ad0c3c0837b8a595932efbeceba6bdeffbee967e474e173f99907168
+9c1a7e23255d793557a022726053b5bdbc9c333926d714ff8d6261e492df9c905dd66dd1b7e17e
+714a44c1e073deadf6a250b765872bf96e047b297580c27ad1714d8a2ce93346d0a972cba8bae0
+26bc1646f8fed5c9a3366e73a2a65fe7fbed4a8447ba4cef3f25e20eec13f5448dab2b1768be14
+a2f1fe90117079de58883a86e7759a3f8723901e70ed76dfdab6db2a2597f3cded02e1418e33ef
+2fc5eb86072ba97db0b4a87bf21354eb8fa680bd07fbafcf8cb2fa44a9bad1ec8d5692b12a0390
+e550e272449546a95aea075538359df87234050bf5b6fa86634e628dce90f5947772b834d3dcb5
+bbfef9f5faccac5ea302813fa76a0c7e8d4a6904110e7d164fdda1f2f9e867052945e5697f3e7b
+3f3e44a159fdbb940d942c43520b6760dad2d26e5568604eaf88278a7842315d062bc8b723d19b
+35d5913264c3313d68f88a1f063d0c1b5d51296c7c2878c5a016c6adb672f6148ea484b4356477
+94900efc313ca6fb90d3165695c194440f715875b1817b511a9255d75a7ec5343baf3115503e2b
+7b7550688caa306b175b35f1a17d821f4168e5f8caa50058e5700eca8751c8446a91c1ef58e6d8
+de3dc3d7f89facf39e5063c470f80c7d740fc48d67a51eb34adb4bf49f04166e3c8cc5edba3268
+4d760cf5de8e3b15fb7c922bb6866719f75f5e4b35fe0bcfc50117e820a707a9d45377bcbb9b50
+57c58d4d9ed248becb7d749ceaa982166f4e8fb3617654d46da66f2766ffd0404adc348bbe5cb7
+8623985f7bfe0b05c802f028d9f4a944f3077e85eb1e953656f07be40f600f17273a582064e98c
+77b6ed4f49b086e2e83e8e7dbe8cd9da174b49171822ca13ecd8ed6cadad41e56bae142c7ea81c
+e7041b17ce25ecc4e7b836a6d2831da602b8e74347810ee746cff2019ac296c137e34d2078d6cd
+89d12714fa8056c200294b7d43a678eec4b09c0dfbebc9899763b21f281a278d4a67701db89d78
+6acabde84a78a9647f68ca1f1d96237ba5496e840c270c2dc9320668eb83864c340dc520d9de1f
+6c6035efd0273406a14dba72d0d484cf006f559c114020aca0bc9e1822efdfec07866913956d0b
+f90c5b0f96b6c17799153e59603fb415cbac3aad5512eda753de8ea7b4ffe9135a8c70416899f5
+b6d1765b03acac1f8f970bf2d937ae6bcb694dbd3df0db2b53fcfdb8eedfbc7bb80246f7173b31
+93c0fd9bb5c1f2c3b3a9aa1b4ea166322660dd848c4922fa4fee272ba1ae64beeeb19cc875b268
+712aff8d4f245c2f081ede4e619321f341b217198e7a7b6b39b5a13807cb970ad03277fdbdbf29
+235c600e20ccd4d4153a4601248829f857509717222c2c9535e05debdede4dade6ddcb343c2e71
+5573b2182af3875528120b42dfda773ced4e091f4e99fc1c8f33832569adb8233c781b31ff3786
+8723d053307300f1e113e908473fbe39ed75a931c290e7efaf4c89d4cd22f63852ec30831d61d1
+de3815a6d18fbcd15f28eea75ae50bd0b237e8cb0870cac5ddc13da58dbd060d3193fc92e6c4ce
+f3bcfd81ce6b3679bfc5855796cdfa8a26d63a659a2ff7a1a7e318a7f76ff80e846a2d647d38e8
+27ffaf54bd5a9221eeb416a475eabf4ef0409b1ca55a851c245bf7207aacdc37e6632eded54b40
+f95493b63f24daa8dbd8e81d9d7beadd4c1cbe4f6f264415c8973a8225cbd20f29027dea8af734
+45f2b3d12f115c30ed09f289b1a0960cd0c51b7c55e3ed89e370a6a0a699963470f1b0af793af5
+ac7fb715f0c8d4f478d007cef09c0f7d604cb840fed753fdd26c83fc50615b4ee4ca5383c6eb89
+cf5b4a7f5506e6a03c7a805cc63b8c77227f04241a0ffd8b3bef7d5bc4085be9ee0a5d2720cf16
+94b5298f0580aeb19a63d672cdc77f8c635a3b3026b79a4dead059cd8b203c680a4313e7446ddc
+e7d5c0b0471340bb2b21c51cb14aedd48200b8db4745bf6861a8afeb3f74d99866d8d5b92dea9a
+9d565da3b3ed4f83d5fc3db4598f8b89dbd1df998c0e7c6166809af3f6ff2cfac3626f572df758
+ab83039fe25dea0efae72d8df2c90d9ee6bcf44fef9e7652caecc79d637be3d0d98bed6b458966
+e389aa3cf65347325d42d1ac4c7d1ea9f59e91a18afc7dd47bfc768f052721728afe069ac3600b
+038bc11b30a7bc95118d63a315160a7942069f19eaaeb344b330b65cf0770964b719803156f950
+868eb78d4a0438b5946c3ac20a42970449cb2b657af562c40fc10c5a10a92f3e5186af7cd7851b
+31dfb2b792266a246c22d0275ed99865fd32628836034ede3d5fbb750e3030143063a5b24f41bb
+0e0c61c5a2fc436e6aa22c315f74f1a4b74d8bbc659adbbbeb9a300eda300aeba4504bc03bad51
+3fd0265a79f907ba13490d5b2b7678d5a53584322f49202da9d4d8a5bade29d9a277d3d580e602
+7a4bb28081bc63c7e85ac2747494ed2a26224622a895ca79f43d7f279bcef0f02112226693ed9d
+242dac10b22a57875d67daf868f5f342ea32c8970ac4e56c93218166a760063fdb37b543dfc556
+f1e539b9ec64afa3f2fe622c1d6dd9e4e7c50fb91f0250
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+
+%%EndResource
+%%BeginResource: font CMR7
+%!PS-AdobeFont-1.0: CMR7 003.002
+%%Title: CMR7
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (), with Reserved Font Name CMR7.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /f-1-0 def
+/FontBBox {-27 -250 1122 750 }readonly def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR7.) readonly def
+/FullName (CMR7) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 50 /two put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b0027b78229ecae63571dca5d489f77bdeee69161ac65b8
+1a171acfec6a38e69dd162ea7d456fbeadb28c016db3bfa3a91b731dd3d89e31936de5e0ebbee4
+d9bf15a1d35b3bfa43ade27c55337a53e8117722f41ae71510be6095ec8fcc4480cf4d4b3c8a65
+dec16f24a875f2c200388e757c8d066a3bd39db828e62e2d3d19908b221b8f5b58f7a6a2ebb901
+d705aee915d9f92114c59f6a9124885e77bd754ad8dacd1e7fa44ef6a4733c0ef482d5f4f7788b
+0d58fe7cceea728243b0a6d07c975363fe2f68dc10b074265887a0fc21340f56f39f120ee55250
+8e298a788ce801177e19a376794686e84610dae79706c4403e70daff0206fa975187e5a396384f
+0737e50b76abf5edb14b3060d7f53b7cfddfe49b75c6dff02ad1293bb8ff494018ad774ba7a7dc
+e1ba6f02b468a1b2a3e4e18e7771d797c2e4ca9ddc34061c54b2b2d164da7ec923ddf81d85d323
+9b066896d85b0bb67db8d71ca7d331e1b23af9f683c1436aee05570c1a7068d43b86239b3d64f9
+c541d8a810500014b4ab130e93e9661576ade6006680a3608552c7bc09af195c022d8f7f12b008
+292036785f53a56509e793c70b125a7a10cad6f0d082c65743efd4f32f21e5d544adbf0be627d3
+5b1b93a14c80df0a4be0a1b654a877e5b8d7a2d86a7f75990b6a981812b08e9cf6d9df240631e4
+9ca0584bd57115a4a23d2940327ebed6299995397808bacd2566154a0a1cbd25372ebf67cc513a
+413cff5f44ac11fdf9dd4c55f0e93c91293fdb3644e3defa308dceba74384c628b51053adb3777
+ec6c08f2016b383beba5e9a097a32cb46fafcb544b68e558617c6046504861f33572a5beafeb41
+99f4c805dd2554d818702a10ea5381c0f854bb6daf4348c689c16092cb0e6a20c7832469c98315
+a26e8c7f31583db863c8f43c7b51b197bfdf4624d1051e08a0dce2e8003cc8741b73677cb94ad0
+6194c473a61900f0067f7147ba1dcbbbbdc54e7e1bb3f8dae973e48374dd794bdf85dc4b67d024
+87bb9452c35fa1a54119bd316606ad39bb1abd0fe379884eccdc929c06cf1308945304c3d9be5e
+83ce75f1f22bcba2c43281abd11393ce33fc4f08213b6c534eefff62fad7c51d42542335727056
+0eb4d239a99148ad18c11422aeed639cda0d7d3b32b98b1bd0e315b4b0bb69ffbfac125dc4e878
+00053f63d3c7f9e31dbb1244c43a5e266d3f77726fe49f53ff79f683ff30978019cb1f13992bb2
+15a8f67722b1c17ac3c973b097153f3f1ff46ff65e8e6750f326afc4c3408d56bd80c2be341243
+814e3b51e576fb1d3d5a16a438005ec9daf6c841dea703938403c80237ab8514d4e11839d7f4d6
+13dadec3aeabb0d2a7eb9bb841bf4255642abd2cbc61e9df4e6b8985cdb4f722dfaa67e775bc81
+67d5506c6d8a7d8c5db3b4b6f02e977cf02ecb5ba18526a666640b6377e3f88cdfac08204c2975
+3c6a799e86d8fefe2e962220736dfff77f2c88029606468483d77a27e70b8683ed95b2b6e14775
+72331a6030294c172bbe68b2c78e7837d6f9b18ba86d037028a819709a03a1ade46fd4c912d4b8
+587f0356bb53a42992c03158a36ba4b9456ac0b439fc5d05fa4ffd91d230ac57dd35797b5591d0
+cfbebed15809d5f654f3517f6f6427885669d0fa5ef9691ee2048cbeca73e2f48a59e54c609959
+4827ccc991023091dadb2662a6aefec4401536876f576daf1f1857bd5ba15b24b8cef3a0e7c06a
+1fef4d9db5f8c271f24d0ecaf5a88c326071ff1ebd4cf11628456620ad608dc4379c18c6a6b4f9
+a7f905dd95ce541ef16fcb0a26b7567eb48a154e681c948f4c2999cfbe5ecd92d9b5f4b56228f7
+4ba739552958ff3fe3684393ca3c1c66ebf0c93a01858c6415bbf52d5345c03cb0405b86983b16
+8403f60760959d07d556f96658cd17e3e4bd1570281b32c3ce90baa23a13127a483c39a63b8b72
+1a953cbb13e0348f217a384ec17e41654f38c4750c5c20bfa9c984bb5c105bfa1d89b7f06140c3
+0b13f053bd72a2920680c1d007fae4c6466df7c2771321f8c22aa375e561807daa4297ea66e91f
+3398dec44330942be8db61e198d816361b2c208384db56724dbb12281ffa1b26ac1c5a6e86bf24
+0e2ecbb55d83e21e8922b2b68cecb597cfe206232b325b8a00724b8897f0717b273637a0585978
+d91e095655ad507b914134de042d6f8f18a93be428983172e921d628ebfd54318f9694e5f6dc5f
+3730a98e83cc7a1caf271e8d6526c739ea996b1fb3742ab2962c42277d52dff387c4a6b90bdfb9
+ed5ae7d1fdf4839952ed7bda493f7058dfadf674fdad1608fd57864bab0fcbf5a0d64fea1281f6
+50e1adb75b5da7169e258483109a8c343de9dd470962609c52cc1bdba22d998c2214749807a3f4
+8f713c84d61d030726d042a9c831b1ae232ebaaa301348542c76c54b4b446d055335453c74a1c3
+fa54f8f2a1152d322ad869ec20510fb81f744807b2e38d26c288a618c6d1a70bf44dc5127170e0
+384327dfc0b56cf424371bd119cbe04360d6c9325abd67cbe3c5a26468483a678caa81840c7f60
+f28f2cec9b83e65bea05899b96b3c4f251ec2b0106e77fefc28c2111d5719982378ed6bc8485f5
+2791cf0050d6fad3e14809900473c9b4e8fde806416543ccd0c9aaf05a279b70f9fadd47341801
+7ce35d3324fae6658134c77cbfdd21b9808b93470474858f7ef2a0ed218d8321230eea9e537c7f
+a9dda0c53819dd47367e42cfb2cfcec0e8979c22506a4d505f6c0cb2bdd6903146a7442594549c
+ea033224cb46df42e7b4fb0fa13a774bc554d7c3b68fc3dc99b225dd5a36ec3174a42ba2d15c7e
+d8dc6599ac6ade3394600b2c41269eb464c4e05ced20db740b1ae7d865e728cdf40f2061ef9b85
+162d62301db6c94ce584fdf18746434f167bb78eef6be2ed49064575b13ec2e19a8d602f688748
+fc5df6835a5f3266b981f24ef03c4aca0ea5f526ecc2f4d8c2f6105017f67c1b393c2dc6fb7e63
+a68c91a482a2dd4d7c6f58263b73cb50e0581c886a574cdb31975427584e18e50d37f45319c000
+88d105a1ed7f5f2d5c287ceeb74051c3161e0ae68500abec4d907e6ee19be9476519189176af93
+026f82ad87427151edb4f3226db949a45f398b7a62b8f32bf77eb87ffb33b64a22a32bb4c6b60b
+5a56cbaea0b08965c52c25ed0833abc52b4587459dc7b0e1ee7153f15d9e2c4d369a05abef2e6a
+feeb8c9d31a3b033a662eaec78eaefbbce357f7cc31e2b9974719e970a9b549bd12ac7266c4546
+167e4ac4169532770137e533106a1ba4f4f3f578a03b0c5de2841496b614f6ade8e39f8e8bbcf0
+ca1e301364552fa4a6896072768b1c7de9bacc21fa88aa8ebe56ede420dd5c44b54d0d78c85aa3
+9989e150ec34e89fd362af149f340e1ee379a4d7949d587c51645c3302ef2524d23794e8f021ff
+5caecb6540465fd71da7e25e8659bdb8c6e2febe3f128c945eadb46976bcaf202dbafc1ee9f643
+9ac3ad2fb2333211a06e87428076facb226db6ccb64eb60b4fc528e4531f0b0b86c3e890d7f386
+a1db6e72a7f362d4521426b8d8c399035f76ea0eac84132c9094064533d519a991a54db6e9ab61
+437d1db428d705b7dac182f167a64bb5fb94dbb581b91d9d751883e8e425910b4bce508b14a6f4
+1fc16fe4917dc4ab7d8a4f9cf29cd51cd2ecffd55cd6f3df503372f891be5c7106e5d5bff968e4
+776b750f91e5b88b7e1d0b3c597d2a94ad89538391da210d3c3db26f8657c3751e95fb0d6e9911
+9d581e16b53149aaec51aacf45458495dd7d8f2d3add67e521b97fc914d01efc7916f2c78a8150
+37b5ac4fbf8e511182d18f3bd967ab2de2b302a629f5b3ac5d84ccad8c36398ba5230fcdd1cce8
+3e52746722b8e7fcb614925f15f1c68ebaa9efe9da6bc307cf339baa9c8837daba76c8f64c69e3
+568de91f5b8bffe27bd8ee6316c015a1da7209614528ba692c3a0f44d16327f282d34e21eb53b1
+afcc0a8a3f3175e42cfbaf685a93f0584c6b52d9af562d3993e063499dad4ce315379a7a3aa807
+81def910335e1d0c1e1ca9e14580401fa21780cde5ab174b9934dd409ae9aef0594783a32dce83
+27460a05c88e1ae04384a0d4911b5dfc40e150293bbd4991a6b79c1327bf5f02f6823a3847d9c4
+5d13983fe7d193fe295747a08ff970e85c7ae9e3c851d8027f2574ac6020a06f50b47292082608
+95da8425a2ed1655eb7b31912918ee8b1ab297179278539ecac32632f7853b83d14d10edc97e93
+909da4868869d7b0e947c3470fd69b5460e30217c10cb55c460c801082820dafadb3d7bcda6f2c
+b87bcf8eea71b3b73afbfb8600ecb4bfe0d658c1abfb521ae0804cdca8f43fecf9905a77fcfd2f
+61e96f3092c947c390a83bc1c5f36d22b5fd549de540865e77fd4e23c981fcc606037a84511e02
+93c6eb04aa91e7295206c8d773c4ac4a241cda1dcce1e372b72766fa7e0c4d026c1af9a6404332
+0dd8536de5c8f397aa31439961fa1deafc076614b3b92cbef8655deb6cd47748c0914fff013ac0
+88a388cb719e013cb7346a904631e58f906251dd61e07d817e172879bdbfe9ef245d28acf9f017
+e3bfcd2e110dbadc02568f30e31a150ae5abaecdd756c70a9ac72bf56e54d10b5433076fe8cae8
+e8c5871b7a90f3b65e82e2655aaf6aa6270c5a8abf68d02be079da9061d37f57f401c544b7f43f
+a0d2f42bcaa5177464d16970a3cad42f0dad07d86580c01618776d11d2e86b0051ebc75b69ddd2
+54050f40cb7f63b1240020c2cd68ea04d3043142cba72e182b6365b8d7cfbdec4d96fa10b5d3d3
+6dd3c49eab2001353c2574d0f608df80437002c26bfd5b5eeb6d3d2b30ee592046b254c3593e90
+96e9488bcaaa916b71900e00fb83b041e287b6e9b74f3f0de16a08d5b60b3ae766946194991309
+98af74bd8a53cb4432d3073c0065abfea0dc688019a33dacc2e6333ce0b479ec0ffcfd24990a3c
+c682ef878d455d805724e0213726c099ab174c9640f7b64d6f4247fe665652131e9babd8f1daa4
+676e66fdc24d6b4c485b4edcea174a854b4061f2122db55d98ec279ffb5cdeb8f5eedf25ff1b23
+3aaf14b34e418f7ae40c71191bf35aa1057a4a448f419225df16c68f6e9e912c91563b18b98d83
+52e78e8d382b61139f6debf7bcfe5e19ea7c6f029258556a5f0ce687b0b4c13700fb8056bf9d05
+952de15e341c2e5cc35558dac81e472ec5cecb7d218ced5a658f9dda3e36c9d8e6ee28b48c16a0
+608c86cfb2bda589e128e9f4776f4128fcd785ef81ebb678efabbc85979e79f35d796d6b924220
+6898e23b32809415e181d1771290c679a0e31628f3e10e09140daea1f7ccdbd87c8bfacd1097ba
+2194d9759796a3b9a0b8a2b938cd1500a8b719db204f9ce5201c319adb541d77d0f74e12209731
+a2eef25ef407643d418faf5448a7b891a295902b99d7950ac84bb12e42ddd996515c0d16e543b6
+5d3dcc601c7ec18d7b603feb8b975d4143d4579069ab86a6e4393786c07e9974cd3d5568c9c849
+48bd659cd2b91c2e026924487674ac4fab16848c2549c5cd4030ac7a790af2919dab1c78ddd772
+c70dde28251a9696aa2a6bbffdf9e30518495788c60ed9a28248b2baed87e2624ffcc770b6dccb
+d101a447e95ed86581ac352ffb853332134a69ca5c0276ba3af752312e59b61b1abfda9b5aa219
+f8fc46dde55c9f596c37f97cea70cba7b2275dbb259f41a299a8bbdbc85cfbd7ab9b32d98dada7
+edcf145d7972d9cc7c6a9074786c0d1bfd1c6cfa7341ad3307ac6284680573f3dfc5d1fabb94ca
+1618d8cf9ef72f0a0d00f38391f7c26e19fb06847d2e712eab385ebc0a4c31556b10e491e71bf2
+b3c70bd47351fc152b31b3a8582c999b0737d7e6db7bb175bd52013aac30719210db84573d7233
+38cf32388fa4c6929532d29f8a15145b97d40b6a5886a4379a43dc11981356a0e07765072d0820
+6e14db68501469a363e36966a9c7ca592d8f643a001900449cd0adbb7112bc8abc0de50f1b012f
+3787de9bec01ef8da09d0caddab75246ab49aaa56f8648a1f8dd1f609e91b86198dedfd24dccc8
+661064d0bf68f9bda35746db4f602f04ef5b0217afbeede6755e0630c36a9eeb772969e25da52e
+8755c7bb71888874e5e0cdde8f339638d943738178c43818552372287aaa0460f7034e61f13860
+a544a234b1f12add841f7f961b4984142fe996925cef18e1ce3c74d1cbeb0edee72d52412a5040
+ea0ef581a887657d817945b4e703ad7b28f1fe2eaddb1bdecf0a12b3f4633f45369a3a55ba0f5d
+89b454d933abd4531a34a8cc8af1c4511d0b2f2a0ba4adb9b1853320a7c239270223e8e25eaaa6
+b4b97829833e04c4f96c6426cf48e7e9ccfcc573bd2efc8be07afe79ee8c20126f86807f266107
+81c66c0f355c0272fbbe849db7b20997c75d34b8e9b2f08d8f662042a2f69742da07ec93c3fd7a
+0ff5372cd321960ad41a5e95507deef883279ab8643817c26ed0819d354d9c1a43466a9a43ccf8
+26752fe74606107c98c5c5ac29ce19edbf18d539692ae505bf8d017550d4a80df1830485cd16bd
+7a3ae945b983cadaae1e2e5b068cbc1ac55e7d83e5575b8edd8d902a857c8ba035972b824c3fd4
+8f0d0894f61939a1883bc76927fae38f263223a26e3e750e865ff07b76eeae83619c65d39d4b59
+8081c0e1935fa65ba5954cfe99269c163e0f29504665c4aa5a52a94b4cdc9dad6892b8daffdee5
+d66b22b6fbb0776acd384ed33f3e77dc629e8f213843fde48bcfa2aaabad92935972afc54416df
+ec545166bb0866a06db4ce2ac9e4cdf824eb31e3ede92d45f8e084291d764821838efb19b8a997
+4e13d88c3de3b81f47082de466570554f0169c9bfdc018e79ecfb9f0b0bc32f7dcdd8f2a066f6c
+f59be2bbe6ec5aa94e2b21c8cd7e68222d1ef0fe1b6d395ed4049c503496f40f236b4b93a0e21e
+2520680553859ca466c2cc99515580b2f9797c69ef0cbc2f43234080d70d2329aec93c25f3777f
+8cbe8b299a3ce8d7769917cbcbd973748f13ef97dfe2c3e8743e1d8836c28ad2ee6d3dcc145251
+96eab6e439af7a4e35ba1b814da1047176e07fd8c1e7324b9b86d9305cc755768dcee6b8c58394
+4b9a1b7f9350aa1a6a2e57ea6280fbc0a9b19a31c50c23341c30dd0b05b989f09b8eb2d864aeb9
+1d441094bfa0554aad3ba8d5285809b63bfccff0e800ccf2c5247495091b79e30f83852eb7707d
+482cc9853a0fd037ea49eef23d11d6062b771326d785c414fb336cf13b097ee43e966142ce8bdc
+ad41a1ac7796514dbf700f48d5a3afef282ae4fc818abc0ac30a48cefb60385d9f6b6a7863e775
+1526439eee428dde65cb98e5153a7834c07c48c90272db1d92d200e5679ba966bececb4b773a43
+f93578db144bd8d4aa5e0d3b3a2b825ef680287f8713a93e3620bc63d42648de02469b13fb26b0
+641dde1743df42419c92101ba58eae5c49aa339a914a27acb704a8bb822e0bca27ca11e67f4bf0
+8d980d22c23f5e9852e2d5743a103f250de7ff3da117c59f63c197871ed781bd3214050594e514
+a0ed9547ec6cf8b1438391f0ad9baa9498860f4880e2f16c582c274d18ee6bee848ec731ced5a0
+58aca6a9a1f3664f30a710c0e8481c6da98ab3effbd2ce70e6c6848c9765d39aa8913540378a65
+675b3d7b5e89a0b2d9df600b499a6ae01486ab6875db2ba1593dda8843bb204052ef7b957ecc41
+062b382744979f0ff1256c838e93bbdd17f0ad907a3b62b5fff4541039d55286919768aefdeed6
+51a3e5db9e603cd08e094f4e4f63124f7c133e259fdd48c661bc11d959929aa7b88d7f19b4904f
+b3ce49f48c270a1adf85a246b207246a7dc70c99b7db7a7f4daca8c27f54d9d00aedb5c7df36c9
+bdf01077572bff7414170fdc92ff8f7970ce5eef54a2aa6dacf72875a14b29d78a261d590f50b9
+4eb38efe5ce0e77ab149905b11ba173ce62e6fa074c23c52908c76364ca39d7c5fa400fd5f096f
+e012d47912d89a2812baa355be421889d348c5c821c0d1a69b3daefe1c9f7df994271b1f39bbe8
+4412fc37fb445778de3c688e08fd4578232e8350ba2fe919670b46af9260d5b5259193104a275f
+604642499ae31a4041f54bf49d40f12b7d47fc23ed33490935b9714978d372ac8ed5fa754b68c4
+aaeddf59b04da44700ef9dd33271591f90596869a7149779ee08091d98e6d188a34eaca459c004
+92654fcca751562d70f8f7996c001f9b2a90894ba0667bcaca28513a883b9f90b7d4a9f1119ffb
+babb2bc9e8ebde094a833b2d43fcd6f26b4c7e5400851d88484ced5646a82dd57a6e192ce7e721
+b65b9cd6897b96ccb99825f372ea3e8109af873d
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+
+%%EndResource
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 1 154 34
+%%EndPageSetup
+q 0 1 154 33 rectclip q
+0 g
+143.32 17.301 m 143.32 19.699 139.719 19.699 139.719 17.301 c 139.719 14.898
+ 143.32 14.898 143.32 17.301 c h
+143.32 17.301 m f*
+15.32 17.301 m 15.32 19.699 11.719 19.699 11.719 17.301 c 11.719 14.898
+ 15.32 14.898 15.32 17.301 c h
+15.32 17.301 m f*
+0.4 w
+0 J
+1 j
+[] 0.0 d
+10 M 13.52 17.301 m 56.188 38.633 98.852 38.633 141.52 17.301 c S
+141.52 17.301 m 136.301 22.516 l 134.215 18.344 l h
+141.52 17.301 m f*
+141.52 17.301 m 136.301 22.516 l 134.215 18.344 l h
+141.52 17.301 m S
+141.52 17.301 m 98.852 -4.035 56.188 -4.035 13.52 17.301 c S
+13.52 17.301 m 18.738 12.086 l 20.824 16.254 l h
+13.52 17.301 m f*
+13.52 17.301 m 18.738 12.086 l 20.824 16.254 l h
+13.52 17.301 m S
+BT
+9.9626 0 0 9.9626 0 17.304 Tm
+/f-0-0 1 Tf
+(i)Tj
+6.9738 0 0 6.9738 3.432 15.81 Tm
+/f-1-0 1 Tf
+(2)Tj
+9.9626 0 0 9.9626 145.734084 17.307 Tm
+/f-0-0 1 Tf
+(j)Tj
+6.9738 0 0 6.9738 149.837084 15.813 Tm
+/f-1-0 1 Tf
+(2)Tj
+ET
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/resumes/xavier_dubuc/src/pdf/neartestAdd2-eps-converted-to.pdf b/resumes/xavier_dubuc/src/pdf/neartestAdd2-eps-converted-to.pdf
new file mode 100644
index 0000000..53bacde
Binary files /dev/null and b/resumes/xavier_dubuc/src/pdf/neartestAdd2-eps-converted-to.pdf differ
diff --git a/resumes/xavier_dubuc/src/pdf/neartestAdd2.eps b/resumes/xavier_dubuc/src/pdf/neartestAdd2.eps
new file mode 100644
index 0000000..9d0a627
--- /dev/null
+++ b/resumes/xavier_dubuc/src/pdf/neartestAdd2.eps
@@ -0,0 +1,839 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.4 (http://cairographics.org)
+%%CreationDate: Fri Jun 2 11:44:00 2017
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 0 0 146 134
+%%EndComments
+%%BeginProlog
+save
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%BeginSetup
+%%BeginResource: font CMMI10
+%!PS-AdobeFont-1.0: CMMI10 003.002
+%%Title: CMMI10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (), with Reserved Font Name CMMI10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /f-0-0 def
+/FontBBox {-32 -250 1048 750 }readonly def
+/PaintType 0 def
+/FontInfo 10 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI10.) readonly def
+/FullName (CMMI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/ascent 750 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b0027b6f3b53cc32be64063d04d328b49c17a62c396cfc8
+17b9fcb732c3b0aeb6264b2a70f62fbfc397eea8d069af80a71b775145f9842057f969d124e630
+1a760710a5c51e8981851fbcf7f1cd1f2ab78db91af2a6f264e41cc2cdecf450a3a33c89fa447b
+8bad4068cb8d7d37adaa4caab8f72cc26b024348ef8708a0ab6ee56d73f035ac9b506c91fcafc2
+40791cc10b1b0ca42c87a24a69e83f61a20432744f7d79437b93825d955cee80718831f56e0254
+0ae4b3a70b9dda35ca4fbcabfbc50a4cafca7423203cf03b8e9eafb091f06b2741ada33c61933f
+ab98ef2fd54411c6564b030947ac99cf02f4194b6e0af84cefdc23c1b2886506402a156f0946dd
+e0f96a087eea2ac27fe5bdf35b5340fc78f4deda8c9d11d98c0f5e55a92c96eda070164da36646
+45cf37d0d548891f41c633b2cf39f3681ca5b295c862e21d4e3d461f0604fc3557ead3f103b7cd
+e8788062ee55dd643ebf68f02de9509a711b769bbaa2f977c0c79c626050e6cc409496ca36999e
+1ff008ca97815500e97752078d0286a73dfc1d55e84337b5eccb366bbff2cba70847a15deffc9a
+b9465907d667d2583fc8cc9a1b753fb839c71d02786b206edb49d1f1e1222f15e35c63c1308f9b
+5a012747cde52cb2b9eb0c6805b3b05040b32dbc7e380ce5ed54283fdc2eb2b9eb0c6805a609d5
+bc292019eb65c765ddae5d9f5a6193a059c6d7674fd34664fff5fc0442f1fab44943e0f74ea3c6
+00960734464cdc627ab1f56d3b620c7d61e434c0469999ad8a683b008d4318a044a01a6ee5c4de
+a893d727949247b65a100468185591755ad88509374ea309c172fa8fae1f28ce2d6b478e29984e
+142bd328cb3db08eb3c0798faa3c961089be48cd68ef446a7e7486cdf303862f2c49a504f01157
+77979c3cdf97f2fda864e361612983097ae515ccdd43cc4e7c2832837b2730cedbc00213c1640c
+bd6db49d0d729017e5a45b2eb6c10992f4274c8fa188470c82b5623f4607dff4afd5892cb6cd5d
+85a03022b4d80fc1c3e271c4a3d53241988b6c9c1dcef7a0f9f19281c2a01c858d43fcd28c360e
+5aab9ba5d4dea4db85e3a26cc0e8d7defad8c9976dd7d45d9879880dec2766c6d613450cdb6c87
+a690dca9298b59923709795bce1cb2a7f1e3c7888ad49ad9f12090fc5371ea8016b7c0da013dcb
+ae8ee5985b69391d249998fdba8da313ec5788b0abdeefaa9239c4edcbb4b311939899a0646a40
+31ef6d0f32a9642bb52ea218982daa9fb54679a769dd0ce17187f09b1dec550179a9f8ba81883a
+fe662ef681b2811e81e3e459cbc8e5a6ed948602df36cb16ac7dc8197ef5d0123780e1f4e614fd
+8d60f5f6c69ad7377806b6f64aeaa409fbb41dd3ccead8d56e06ee86cac471c474e1e1b727a0b0
+18c82b41297c09366a3f891de3b9807b62b6b3823d7636f6df7ba6884d206dd39e8c56bc07e542
+8d35af43481b160d66572f2eeea2971e9a4744fd79897ba8f917018578e438f98aedcb8a073cf6
+79cd7e52f77385a5b336fa80be78fff9705ef282270f7b516eb7d163181c4cffed31a5553007ec
+327cef977efeded1342c72944f456f78d41d031fa614a8eb118a653e1a77fbff5c0e58f38d44a7
+9124a9328900d44e67cf410869f1c45f1012079ab637f81356d9cf0e9b3dfa9e84fe0f296b85ca
+ef4ed92097e52b9e71c17c6f8f7637f23fb60abe23521a3907d3442ef45562aee24aecab21b42b
+9b24e22a0e58b33aad59fd9ceb08743b270c653b372650e67ab556369259ec5356c846ffe63e57
+a421bd03c0e25a4c2a2abe0cc24d234b41fd269deeb6af086c4f12794dcd5e2485a4831d60ce1c
+6305e0ce6b18fba63a71c3c1a88b4aa621cf9c1a2c5c235d433725d14acd1d0a7fe0c8dbd88a46
+ca104f08806a8b0fc6a315fe9e4ab19ffd534cd281ddfe35664c24b7a6e4b9c1d6faab46c4b81a
+dadfd591a3cae35e7684a2ee95ab6881a9ca351704023561d3d9b4214137112bd8b64d9085474e
+e78cb85ae23d179c21f8efe8baf050d88ecf0f422bf0c15f102b5ec92484ae51d50e5705fb8b28
+e62db9f8c32d691cf9cb209a50494acd6e55990d15c6a130ca5a094503712a5db0655f4383cbe5
+785702c3b95e6acff0d6d1bb86c5562b71d366c068e0df346ea2fdce1d673a78d04a3dc88377ff
+ae336a2ab2cde346d17e7962de2438f4b5e608cc9707f2d560dbb9c4786970d8df05b47c81eed8
+f26573b38e1dca64f4b772f49554f24bf63e95b6b2b952f2807f3b35ce45c689a9fc7bc36e6413
+619bcf52bb1cd0c752640dd4dc6104390a7546dbeceb7a2ef1a04bbdd5ed4b730fbc610bc590ee
+309c3c49b5e3c9be27369fbfb0526ebcab6bde96c9ffb87eb7bc4361381e0f4472f87b4c17fe35
+cb93ea3fd8ec25f49c92476875986527b7dc4093ac056e5821c44d7fd4e2cc32423ea320d5f6c9
+38e04ccc1c259fc57282a2a876ae3062aeebd3efcf06b72d8bc51eeaa8cabaff8961327318f53e
+8e0136d64c169cb4190942dcc3d7af79ee0575101ea563a9fe85dbc6f3611a926f77f33af26690
+9cf5647f64a55b285cf54b5b334d0d0011dba80af1eb7c37b0410072d90429b7db7db6ada180d3
+202c6ad7057c7b5fd5f59578a17ce04b12d8b8de2c55fef874bfea8d9825b5ee233a8ad91cd8c9
+56234b1dd4407eea57d4bf78b89f124d0637e3a9a7223b6c73fd93a687528e38c608f62298a60f
+08c11b62a9fa39068feeb9b5646e84d422aa835556761d1459386adeba9fed5b74e2d78f695c49
+f9d829dd85b9641fab34cbaa49e3f306ebb3687b1bb5c764495943074e2dab0c4513bd1d14ea2f
+5fc1069df238f0b38cfdcc7ab9e945374cb6f45c740dc95f8e6c82fc3247e14bf27443e4c0ecc1
+09873c1e51f325d8d52338d5cbc8982fff68fb5fb92f11783bd6cf9b2307a2802eb9e68321a10d
+4431ec6a9e4b6d5ae394f2ec0e8b53385143802f018edb580ebfa5d0406bbaf8dc681185582862
+2626125e293c47204bf307b1bcd649ebf20be0ae42b0364b37300da60de0649e2150e70614d024
+a3d2f75bd9a886f78c71b59b6754a0bf7aa2f76f920ab9c0f1cd1bd531dd25e6c2a3e3bc8da49b
+1c1ef82b4737cb81b0510d551f844adfc80a55301c8310f9d103c489c90a44f84f47b6f1b8d474
+366071ca1522215ace0d842767ab2c961d1c9b32bb886714945aafccfe513743f5f5c44dc1cfec
+eca538472511896c85b2c9126173c12d4b2b36c4b62cae0e746c0211eefb8a8fccb473bc50fb48
+a3c3e6946016908e5f4f4914fdfeedf1186f12a39f13131629ab408fb2e0dd186c257ca3dac07b
+e9a7528c725db8a93d52ae0c10e4d290aef73c7fb2ca6bf922423eb71a8c59526e3d73e057d627
+9630dde8906b795562f4396c0869a20694370f2696b00fe2f96369b26d56b34a0fe7ad376519d1
+b8a50598b2d5a60004a3b7c89218aa9ffc1e5e74ecc4885c517c0627b58b60b136f651c1d48f38
+8fb9351fc5c46dd3c4bbcb7dcfd01e6ddd4063bff55a34d64c55599a82417717eb593ed428b677
+50972bba8252c31507bdd7435abe4b4edbe81b312cc5f91a1f9237ee9c278d11b51833f65260e3
+bd0410699d0a0b8c613152578fac985028eec5f10e8b9bfd680cb0bb53b8e93ad0fa3a749cc223
+bd356319fb1b6c6ec397d22248f0891ec1b60e84e89886212fe1b41d5c2b6345d4ba2340306efc
+811586e06ab7ee765e93c50b873fd48870769d1d218a10952a9856b4b51445fb82a7928dce5fe1
+805b19b99d5378cc9271c4722e47a09a9278ff244bb280cca6a828cd0901ae75f5ba1f87e73253
+984d7ae66515141e34d90e770992a0736e3d042b304271e207db1f282b2dff4388e48eaad733aa
+746fda33c9d9c7c9fdc090b4b2876fe4645c0bb822ce40d581c7625f9ec0de5dc6a0669412e971
+2507139fc3652c35523afaff01d3bd63a1e2c8a53b9ee0543fc505902e8fe0c23f72d824e951c4
+0a6483cd8a12a5b29f7c799309d17386917861acc27c200aaa34cb2a104dba07eb4ddf5e4099e3
+57d625394728dc83e1d722f3cc1ae7598f169e9c9a2c1e7250715dae8660ae119d8e29323faea6
+13c0d31c0c1d4005f2bfcc2d7913f8a0e18d1da390e2f1d3e28d6eddd09c93d019d608911baf7b
+ce79557b1397975e38e906b695b6ae1c22af047dbc1d7d08744f182b2263e14a75b843ddd8f990
+078410973d7cff56e897245a224a1ddbfaed2d848ded109648d42da10219fa6358bce77565464a
+e52af167fabc06c11e6726fc233d0144d35ab68c7269ed2778017ab4ac15639d2588952fa22550
+e273df724abf514d1f0364a1e2a7d9cdb4e356494de3af6125d3cc6d2ddba01ab92d36216a0505
+b4c0fbe46ad4674d8bb51e7520fb4403bbae43bd6a69e475eff0ed4f71d865f6d3bf6e3ed57508
+07de076c0b1f59083d488ad5fefe10d1cb93a0f4f110e45a80bbb00bf408c96bc6347922332f32
+20cf474b66fe1904fab3e58c9ed0b4cc7215665ea72ea2f7212e7927877fe71070d4ebfbe97a37
+5a8784640dec93f6d6eedb7224873e8fbef31c40622d385f6ee43cc6c5720d3df72065155d58eb
+d21f2c93f323e9e0cdc35ac43330f9ccbcebd9415173e5304db65d3dcc4a8158b8a838ce7e0bcc
+4f4bffeb9333eb9a28cdab15cf3256ae784884eb1fec9b65328a0a26d0c8edfd3213384b367fab
+9829a4a1823e223a3fab405e51593700fadd42352144f1b648bf7bdd217172ca43066e2632ddf3
+77a535b0d855ae8120a97e0c907967c36e88b9da5596676c9bc1fe9449bdae8ed6ed101ca70798
+afb9b9ee1b357fbd0846af20d3f4e64ad7793501a0f52ca0710d5588c8a7900f9f58164d8e5174
+a413764ed0b2630585c09c66a62e3ac562e06f2572fba273f8f2f62b50f2fb21040d12f607db04
+0076159fa283a42c653614cac50f6d929c6d69b7ba331f2bae21b1e25c2937b5404f6ff789b73d
+b70cd06e32f5658dc2ccd53d40acea5b19e4019263058c333d81e6f99741a86d21bda9c6a6680b
+35fdc036ae2379b16e7549afa7ede71c3e23df721ea9f4580d8c516832677fde26b79ce1a92246
+7086e293b003c9f725663ff089da8855c5fd232612fc0434c25b759debaa039a658a8f291261a1
+1e58460247bd0a03d3cbaa7b005d605030d42daeb1914ec78ffa012e5a416ba91a877872a48936
+2909cb20cc859f032e305be4e1e2510803c3f475ceda2c3dc8ef409faf1e260240d9eeaeae853d
+f289471f6206a91d7e7a24b3568ecfff34269dc13fb9cc71850093db85bea6c890ed3ba5f8220b
+7516353a9b9a7ae11bb69b37827e6036602b536a8142d4524afe7b951125c1243d3c8845a38afb
+7bba584219487cd88b302487e502d5911d79eab6cc2070ab47d5bd927b0a835cdcf0362c8bc0db
+3b45ad85aa6434de49b32bbb5bd180ab18c98b8e9538089552b3600a532fd24769c35281f3d605
+85e75988a305f1278f6f2a5ee0405d0f30b6770af0364f4d982c07d607ffa4d55cb773d92f9b0e
+163934e801ccd9a23b47930a57cae509c9e021d67c3e08ba173f8274b6b1fc1a53305dc998c657
+6ef045e84fc0bb391e971d75d69cf507daf86967bfca7f098be6f9f19ae1b72c433826094601fc
+acae2fdfe2773bdffc19616ad0e1da13b6575b5e949bee16f4198ce82df7bdb5a0e5411acca8d7
+4cfa1f7fb2f0b696de35d3810e090f2bb036bf80aa77d8e71140005a3014d736d4338ead5b3ce7
+760b0008c418c80508c44b9e5e8b58b6b770cfbd7aff85631cca1eacb7836580f3d889d9055ff8
+08f29cef9ebff7ff904f89d6655dd9a7097e2a27c19a0c47e710fe7143a2ee1e642da6af560630
+5c2abca4db9ae966057c124757b094b5b1226702b1a7fa4f082f8f1bbf841abbc29f760ed72e04
+746ec76895d4d5d78d2e09b73e0b6cad2cbf7b2583c1b6aed6b208dd582795177df4976908582a
+253ce329af84db80d2ddb23c02c659f99c0bd70849b40c4bee2c41c3118e5444cbe7de1e57da26
+8c9c6e0da8f2fc33d7193f0f4ecb83dfbb9bec8d0098c10134fc5c2700a90a9f0707ad75762fb0
+63f620b691c478ff88f78b486e7fa772c06e3f86b94555d981ed92fdf2ab8df1b9c1f9aca18009
+8d876e0b5a1f44d53a4341ad0c3c0837b8a595932efbeceba6bdeffbee967e474e173f99907168
+9c1a7e23255d793557a022726053b5bdbc9c333926d714ff8d6261e492df9c905dd66dd1b7e17e
+714a44c1e073deadf6a250b765872bf96e047b297580c27ad1714d8a2ce93346d0a972cba8bae0
+26bc1646f8fed5c9a3366e73a2a65fe7fbed4a8447ba4cef3f25e20eec13f5448dab2b1768be14
+a2f1fe90117079de58883a86e7759a3f8723901e70ed76dfdab6db2a2597f3cded02e1418e33ef
+2fc5eb86072ba97db0b4a87bf21354eb8fa680bd07fbafcf8cb2fa44a9bad1ec8d5692b12a0390
+e550e272449546a95aea075538359df87234050bf5b6fa86634e628dce90f5947772b834d3dcb5
+bbfef9f5faccac5ea302813fa76a0c7e8d4a6904110e7d164fdda1f2f9e867052945e5697f3e7b
+3f3e44a159fdbb940d942c43520b6760dad2d26e5568604eaf88278a7842315d062bc8b723d19b
+35d5913264c3313d68f88a1f063d0c1b5d51296c7c2878c5a016c6adb672f6148ea484b4356477
+94900efc313ca6fb90d3165695c194440f715875b1817b511a9255d75a7ec5343baf3115503e2b
+7b7550688caa306b175b35f1a17d821f4168e5f8caa50058e5700eca8751c8446a91c1ef58e6d8
+de3dc3d7f89facf39e5063c470f80c7d740fc48d67a51eb34adb4bf49f04166e3c8cc5edba3268
+4d760cf5de8e3b15fb7c922bb6866719f75f5e4b35fe0bcfc50117e820a707a9d45377bcbb9b50
+57c58d4d9ed248becb7d749ceaa982166f4e8fb3617654d46da66f2766ffd0404adc348bbe5cb7
+8623985f7bfe0b05c802f028d9f4a944f3077e85eb1e953656f07be40f600f17273a582064e98c
+77b6ed4f49b086e2e83e8e7dbe8cd9da174b49171822ca13ecd8ed6cadad41e56bae142c7ea81c
+e7041b17ce25ecc4e7b836a6d2831da602b8e74347810ee746cff2019ac296c137e34d2078d6cd
+89d12714fa8056c200294b7d43a678eec4b09c0dfbebc9899763b21f281a278d4a67701db89d78
+6acabde84a78a9647f68ca1f1d96237ba5496e840c270c2dc9320668eb83864c340dc520d9de1f
+6c6035efd0273406a14dba72d0d484cf006f559c114020aca0bc9e1822efdfec07866913956d0b
+f90c5b0f96b6c17799153e59603fb415cbac3aad5512eda753de8ea7b4ffe9135a8c70416899f5
+b6d1765b03acac1f8f970bf2d937ae6bcb694dbd3df0db2b53fcfdb8eedfbc7bb80246f7173b31
+93c0fd9bb5c1f2c3b3a9aa1b4ea166322660dd848c4922fa4fee272ba1ae64beeeb19cc875b268
+712aff8d4f245c2f081ede4e619321f341b217198e7a7b6b39b5a13807cb970ad03277fdbdbf29
+235c600e20ccd4d4153a4601248829f857509717222c2c9535e05debdede4dade6ddcb343c2e71
+5573b2182af3875528120b42dfda773ced4e091f4e99fc1c8f33832569adb8233c781b31ff3786
+8723d053307300f1e113e908473fbe39ed75a931c290e7efaf4c89d4cd22f63852ec30831d61d1
+de3815a6d18fbcd15f28eea75ae50bd0b237e8cb0870cac5ddc13da58dbd060d3193fc92e6c4ce
+f3bcfd81ce6b3679bfc5855796cdfa8a26d63a659a2ff7a1a7e318a7f76ff80e846a2d647d38e8
+27ffaf54bd5a9221eeb416a475eabf4ef0409b1ca55a851c245bf7207aacdc37e6632eded54b40
+f95493b63f24daa8dbd8e81d9d7beadd4c1cbe4f6f264415c8973a8225cbd20f29027dea8af734
+45f2b3d12f115c30ed09f289b1a0960cd0c51b7c55e3ed89e370a6a0a699963470f1b0af793af5
+ac7fb715f0c8d4f478d007cef09c0f7d604cb840fed753fdd26c83fc50615b4ee4ca5383c6eb89
+cf5b4a7f5506e6a03c7a805cc63b8c77227f04241a0ffd8b3bef7d5bc4085be9ee0a5d2720cf16
+94b5298f0580aeb19a63d672cdc77f8c635a3b3026b79a4dead059cd8b203c680a4313e7446ddc
+e7d5c0b0471340bb2b21c51cb14aedd48200b8db4745bf6861a8afeb3f74d99866d8d5b92dea9a
+9d565da3b3ed4f83d5fc3db4598f8b89dbd1df998c0e7c6166809af3f6ff2cfac3626f572df0f3
+f651f7b5c02375c3f791cd365878e61859a3b2000425a695d4fda30485c8416e81d6363227491f
+1fc422489db2578606220481175fbff11fbaba6b3ff3ec8cfff18bdd362b9aaea4b45b6675ff2c
+447b0c3200f0db86bd22b5ee5b86013f1081f4c5cde1dd27de0f880fb7bdc7e0e825aeffc89a5b
+77d2c3c67e71d8be2b651c695669038519887dcffac745b63d1363b754df94766a4b9450077017
+173f2806bca05781a2f7b81043c28ec2e8d43f15908ecfaee4a8e017b0a5fef15c6f3f5bdd783c
+6ed1751262fd794597b6fe1a34efc893b9f4230eff01e972da15b44577f8aea623d4d950a9b10a
+a615125993befd21a8330e1ca13b30d8032c4a3b4d97bb4d6b6c092293228a7d2d40769412e84a
+2086eb4e9d7af9ce918802c89919a99c2ebdf696c4c97e3746321c221647e0fd3b2a28c16c0a44
+1f3ff52008a899e0268e136d944e5367fb3fa96f6e005ab918fea074a511f32d92245c3c1f56a6
+a376602e5665e59ab321e9e34da0f7ca81a483ea38baa5147d43c656020ec028c78c0990279422
+4192c2aefb2830317eb4bc13fbca3d45186b59fb77a3314e3cc255111da27e45baae009cccbc7b
+c33127645868c3d22f34cceb3438c1e4c44e4192bb0e336bac4b7c2f96206e50251b04ad2c6a69
+86a8979a82e660d0b19755631c546968acbb8e7ca59d8ccda1e6e9adf52010657916e5bd469e43
+9fec1875b93c0d4f986929c2ad20f180c6edbee6f629a5c0b8bb6f16885d450430c521badbcf14
+d24e6914d6782eeea7947114cd5469ce40ba669051d5ea6d8f1c15ed27cf089551bb52854792cc
+9952957203d5d2387d875466c70e7d3e3849a9321ce159a55c70aacf5e1272ad8b2518d7693285
+93bc6d58e2bf87220a79139d6ee0d5d91727bba5c3
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+
+%%EndResource
+%%BeginResource: font CMR8
+%!PS-AdobeFont-1.0: CMR8 003.002
+%%Title: CMR8
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (), with Reserved Font Name CMR8.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /f-1-0 def
+/FontBBox {-36 -250 1070 750 }readonly def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR8.) readonly def
+/FullName (CMR8) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 97 /a put
+dup 101 /e put
+dup 105 /i put
+dup 106 /j put
+dup 109 /m put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b0027b78229ecae63571dca5d489f77bdeee69161ac65b8
+1a171acfec6a38e69dd162ea7d456fbeadb28c016db3bfa3a91b731dd3d89e31936de5e0ebbee4
+d9bf15a1d35b3bfa43ade27c55337a53e8117722f41ae71510be6095ec8fcc4480cf4d4b3c8a65
+dec16f24a875f2c200388e757c8d066a3bd39db828e62e2d3d19908b221b8f5b58f7a6a2ebb901
+d705aee915d9f92114c59f6a9124885e77bd754ad8dacd1e7fa44ef6a4733c0ef482d5f4f7788b
+0d58fe7cceea728243b0a6d07c975363fe2f68dc117f6b531cf8863b555c1b4de3e609559e7374
+28935b9f1aebda05547f1fc8269db5c0d587495f4aa4038c8a18bf9918a87134333ad8ceba20e2
+89a9872fe8ee6380f82830b9b0c9dda5290b15ed7f145f09e548f3b79b67ee7f63dcbd70e98442
+69e4e45853fbfd72aa29255a49f6566d486afaad673272db23bf83b4afc5fc99d11ee04c29ca43
+39303953a9a5db7d327fb3d88914c921e5eaf63eee206955908ac5bf6c9c9ae291c2e200fa194d
+2177ed040ab385ce574786a2b025ae14a507098fa274206bacfb4a0a7257d5998ee8f0fdca79cb
+61dd1fc59dadd11e16bf02ecdfd706cda1e72054d4eb55af7ba9f19955886bc0bd6e0e3fe3769c
+94af3581dfb2bcd67fe2892af07e858a01280194d8dd7332b3d0a585c87fab056c2eaa9b5ad48d
+1c9f00cef8ef0d1408dbe1c03d04b231d7b8d5d998fe0cd7ee19828ef2f988ebf6ddbfee00f04a
+4a1f4e1a55d64f1b1581b7facfec949c2f0672990c0e5c9e726d4772e11aee7fe806e4d7a5df5c
+0ab78a3837daa4fa3edf154aa3682d0930c12e33ea9105692d68fe1b1b5dee9a4a0a47c24d921d
+577452d862794e465656e23e048fd8c837c5fd4311873c689c67a6ab7297ba4902d86ffddf2ada
+0a790ce0e3819196bff040001ba5fe0ca05be5b40e6b47e7059db5d9e8ec0edc24e52c8c1d0cda
+abcf5e19c81af33dae16ea9f0a3304eafa312e46a5152e902d840122dbc55f9041a02e27a2bac6
+cb2aa33ed5a1cbbe7b8b50d9cbe981b27c0ff4f019ac9834bff36f5d9684f72c1bc8c4a37f553c
+86fdf83097bf3eee7995fc4edc01fcc3d18137c403a476d50d04f4f533564d422fcb018115aaa0
+8ea4d7fe409b9fc04c7cedde45a7d94e726cfb67f92d8fd54fb2ad8e2ea062a769b949533ed7bc
+d9c5729b2b1717bd4589838438b7100a7aabbf9ce97fb13e2af58d4c59e646eea4e26c16d7bd2a
+2a147b0888e300fda5a32c69e1eea05adbabb3721dae1db6b3bde66fe3de9b5941699bc3e11d89
+2447649dbf6f230d707d1a9ef233b9e1b8ac569ce4ba264829cbbf878bf334483b06734de9974e
+07d120288ef2010e5905b81599f6b498eda277dc75b8949ac551efda7e9a63a10700336b8c0c39
+234d3f955f3cc07e2d03d633152b43191b6e5705342c24654451748f5cff447c8a5868f1e40511
+7832d7ca299746b724058eba562ccf43cc783bffd214eaba13b4b39cf459a3c3d8c42383df77b3
+182efd03524a4044c9bcf9ac7538999cc2172388f3fbcec07f484dbc6f850121c3723cd1042748
+2853e02ec096c357cb0ac32b168955a061b317e3d4ac9d2bc444ff9638e2eb51d41c7ee6a7fce4
+b1dbd403caaad3e133f518a44562d6482ba05cb321e262d9dec2ed080f172f3e429c11e24d79e1
+77afb6aadc979fd218c9438643c7d9a332551892000e37ff9930902741965aaba0ee2a0de78d87
+3099a87972cc6f4b9555ccc7c08a098d518499956768e2cf642a5094c1767fd551676bda8d1e34
+911e66e0e08aaf99977dc6c49cc4c4598fb386701c2dd8f953c877a5efaca3cf349fa665c9db36
+cf8f8f0fbfcf44c6d79c4508125effec06ebd778f8f3b83427c6acd05b8ff95f663c2666abbd4c
+5a18dad249c0d60fa557057445076fef63ffcda9a65a11a2ed2bf57eff461fef6675c73b19743d
+bf03205fe74e6488ff7850fac30ff044e67904d3a89eca3b48353f6f3cb1ce6eff2ada9e3b1278
+779f886a0b1074de5cbeda7292f0bb6da69f37cd882063eae80d54d9f1637c4f3cae407fddd9ac
+c517e27d7d344c63f03d3e51f8a30a6d9017c0827c1fe26f8bab90f5ea82945ffe5d03f7f7991c
+bc78b40006017bf651d63f455a718b09065fb63b407970f94f0644c889578fa494b5d56fab777e
+4a0f2069edbd2e146877555001496d9071585e0b43c3298d047fa7d446aee8b593bf90166fe8ae
+c963479b62af30359608645773d610df6b4b70c39b861edc8d5ccfe9235e4de9e6182eec37f1a1
+f4f500647267c83f658b694909f4d3ea8e8120cfb8581f936ef4e88eaed47d943756add25e499c
+569258aeab56fb5e6673f20c88dd569f42839f63c80640defe4ef239937cc0614ea4f32db35a67
+3fdae65d8062820c181bd7ec8ea31ca1881e2c3d2929a75df677b13fbef61263b727b6c90ffc7b
+0bebb25b39ecdd6f9090684891dc2ca40c44e5782753bc2cec340bbae1e7be9ba67faf67b6a92e
+35627dcac91ac3baea9935e309c535dcbe5bcbddfde4880086dcf18817be38230261aab2cd9ddc
+12df8493130d439161b18b19a22bb461a759c59502f13084c0104ab5602fd6989015457aad4b68
+d77da6c49351a441155b6d752cb306cc9e8c20d4f05efefbd46804218816d4dfb8fbe5aa42266d
+2e446765da81b76ba3c54c77ef8a8d22208980f2178f449c7ece206c6f03b220e6cc0950df506c
+16fe0907b28172343003af7a28acb949b87492408ca962e344e5cf6ac5fff25af4372c346d211e
+0897c68a0cad100cf58c69f7bf2fd689a8d73b6c06d0ceb4c8020e1cc77516a9f461a9b3591c3f
+17d023c93e362f5ee7bb47c15cfe1642a8ae5b9239793669a0ff102cc98e7405d3303ae7831277
+b713ad228fb51e76efe065eeb352db6ab478c0d4546c5c7683ed27693b4fa12c19d65cd6d03996
+5696cf0261d1af786d0361adf6cfc13592d3a4b75c4a872bd5dc1d8251f9c4f2dc06b1bcb306b0
+55b21e43117bf739e3b27852fd6fccd5da4c28d12983609f970b0fe2d797f3c67bab419f7fc22a
+228a69ac48f308af8b593c0373943e9eae34250269e7ea8024acffb4469089c0dc61165df88367
+fe9c1d687608ea35380a07ba7510c4284088351e6c4e3babf0e3753b17b7259ce82a6d467ec0ce
+5265c8aaeaab8ed7bd5f7244b879aa92d4c34ab0925add59adc06883cdeca4b6a7b0133705f87e
+4a8d35f679eb49ec9ee449cf390bb55fd276b65ccd6c58d64ddce154b657e2e49e33b3ee39e324
+51e481b3edf099bac609118e334b4c4c8118318552d4bae6f95f2b80a39b64e65e26e55b001cd2
+cdae29f1e61cd591dfe69368d6dca2c80cbf7bef82738adf8ff57e7ab6e46b9410ed4a26d29952
+69aa7d6e4d8a62c0ee0c5db32e865c103cc2a722276f66ddfd7428957116a6f1704aaef630d191
+a21cd150a4a768699fc814534bf6155e8ac1c4dea90a249da7c6775591f03697d1735556057baa
+8ed91ad2cf033a462c30b1ac17affa27ce9aae2f40d7b69347d231789228f1ea7c4cbbe15c67ff
+22aea6259a7b39fd4e561948d469d75c1320589721117ca1357f218ec31b7c48cbef335bcbdec9
+898208f793a88e4f1d602b2157bcbc0bb881b12c7e05946b806d3a549c391676ec7cfe3a72909d
+fdce6a6c8fa1fafea01482276bdab1b6f18b221e0fb5a574e536737af74756074ba6cfde4c887d
+41e27595a1f6d0cb570746830fb796f17958aa842e4eca9544177eefbbb96d136bb52f8c26fed3
+c282b04c91f83a839f330f61aa38c5511f0cf2182616f81fc9fe611b0366fa6321bfe2b596116e
+ad4be3466e77ba8b5f161c8886dcbfa044169cad909359cbbdbdbc6925130867e4465c66c1feab
+69e9357c774ca905b6c960023390bdd3ec43d263fddc723e83cf6b82c2ae53e0b888860f8095f5
+0567ae2656ce8a5cbfb7ae20fac4af89aa3a631fb16f3cc40df8593c7e0c8855c8c3c4294d9dab
+c7eba031216854766a63271276ddb48b57148a2358aa52c11b024ab61b78c8fb048380b1b3e366
+4f0c8d7de71940a31901c59952e0a61b19800265c7d397b36a56b4dda897693927e3164f0ddeeb
+9d4d99ef5d3a64e5ac036027bcedab4ab5b55dc77b741ce3ae1a0b2d3846ecd0118e0a9086c3a9
+a3aeeac45a9a85510cb14b853e627a26cb7ea88861423ac3dbf4c44a69db440b2ee6ec08216b90
+baed629d6cc0c82159e9e303d3294e8d6316241a37b345ef1f6e8ad6148ffc0a52230b77d51c2f
+70b53c0736aec966517d48d8a003b67e33abe7865d439164a8de566965423f0d32da87bda71bd2
+7c4c1d5de732cf120bd47a404ededc0daaa140342efeede8d12b80d58a07ce0776cd65e66dc35f
+1ee1cef41fe124f1e0f3e7d7e4fd189c104742a5fba1d3e3c4e290858bfda2a0f42c416243e661
+385d5262743bf2abda75562fd29350837f1a7bcd4fd2edf49d2c57d7aeb27c9319f6862a807548
+1110a5a04e138b21e0aeabb6b37109777bc51bc9a5b40a1c1721aafb55fbbf68aff87d15577a0d
+5a2f29f08fb9fc016b5be9c79d7f92e5f33664d2dd75ef6bb6e20e9d395e1f8f09a56464c0fc6a
+d7cad673c1b67fd71097564857e22997c3b3901992ec1e8032b7c3b31455b2bd6a65033b9ad3f3
+173774c7f84fa29698429ed453881bdb979532be16e52ca98041dac65a48497d0c8982c2c4a20e
+9cb929a5afc2063b8a299e895558f8b066c4fc6fe710d94fe152bab6603478276db3c3faef4cb7
+ad95a9d27d8a28442eeaaa2163febd2a3cd33caf1297141186c1432fd9fb1dd28b021e5a4e495d
+9243f1b22c0b5a2ae445e6cdd2da6de7f7168df1e076424b12abe960d6acdfc3fc208e01720cda
+8ed97f07d83e0989241e4a93abdf915a594c0677451f20da2eeb68dcfc2fee8a368e36fd9a6474
+47329b4f55571a6d7e2f38e115bee6e6770548df76322cd98205a0d6c6e3aee59d63dfeeeb90b4
+b2e8769cdda8d372c679942cabd2358a503300aca110e9e3a4e2460866b98b71bb8976489c9513
+b239d325e3d347459e4d0886f760ce803d8ab5a9d3af1e6558db1a180d0d50ac3eb5a16dc24d73
+e3defeb6313ef4d18171e36c1e374dd2ff0ce0bc3fd96934af7cc9a32b4304c4730e531fe82e9d
+927b6718422ae333ba929d3700fcbecd15ab9939e7d74962a55722c782839f7110463766608b9c
+63d47eb69c29c39b861e884f4d3b896c2bbcc2c48a9ccafaca174a671b0c9dc0e13ae6d8a98185
+c145262177f0e84f3c931832ccce69062c37d42a0e7e69e8341e14e61e156a54b2202472082f7c
+ba4765ae741e927951b0fbde29ce1a6a7a74820e4d7c4d9d0f7c31872bba532fc0568b39fe70fe
+4c258f1647cf6d27e2e3df09b02ed2c308483fc34c7c74da9aea6334e0c664eef00f9546825e02
+a927f8bf51d8a53bb6bbe4b4839207dd211594b9ad631da27596c3690a526dd7f20ab8a01fdb26
+6796645e0d66dd3240249ef4755a01763999ac72bb0c9ee00866637938c48c4a87d2f74d314d78
+2d92ddc115c255e3ae862c5a5701292fd2fb3d04523d6e2f3547923bb117718dfb6e6520f0d0b5
+450c695b8c9242cc8671b7284cb2fd6c8771563eb75ecc40d438749ea97eb24fb6de2fe119ef13
+7e26c13fee380d70ffdfa6ca49f7b7b4deb5b6eabcd202c5883de7803426ee5ed10e6944b3078f
+b81535ee808be6cebd3232e648093bf10185e103119ecfa4efe0e5d57cc964d823841461b85303
+811d476c5712fcad0848814ae2871353f7c1c2aa9e4019c41786bcb3bcea5ecfc2f7fb0b65d56d
+6a805a47b0765436d8af34eb309262ce0f1ab7e70b845448824612be74c861571b4698e3a551b9
+477ad37b7e34b741bd66eeb9847e48fb9565865d99f05942920949ccbdebcd041d3fe4d6b6b274
+1610776db3299f80a40c9df06435fca0832c352ec42e20be44c04a6cc55225cc4987d80c0714a6
+954d0b429385fd579de0da050bb2802af53cb7c0945eb09125292f262a9738a93a443f4f14ad7e
+7db572f77d2ef4c34b000a0972d3c919214dc23ec0e037c369b37a69e0834d56193bdb48fff249
+2c3f679e14aa8aba88fefad7b187886cb8cccc4aa26a749ad2abcae3b242b55a6de304ffb0cc29
+015dc7eedfb7b1868cec65ed39744af40426fbdb5a03b2deccee6a6fecc32810cccf28467a3ad0
+37b13cd84da0448b5806394b051fff82fc4c16e441305493b4bd961775d282317ecf53bedc051e
+ca05d8df37cb67673476a90ff9defc7fb436c2299492c1e11ae8de4e6e6dbe4dc772e4f8584061
+6eafec144f177f3f4a8ac3229349215fc96106c49fe73d86528424e29cd1184e889aca85df2714
+137ffea7cab765de59f80118ab67155647e741e0f036f32fa7f66fc072b9672d87a79ba86e02d0
+b603f83860442a43681c28c52aed0945a4d51e856726f31f89f7bb117d530df54ed91f1a661f8d
+a9f5116540c13df626e57ee968c62fa14659f7656dd8ccdc7919a466148c89e31df28d134d3689
+8da121fb1a9c7d74f62610a1cc7a69cfed312c7cdd2db3b9d4eb4a350e2fb8267107b3cb8754e1
+40332040c4aa8e9831a996da00f28fe2c9c3c8c90ffe6e7b7268cf00cdbb96e37b8f4e4be843bc
+ae26bf7279bb3494cc5b27b84fc69fef8663f5e04f363cc095c38da375ef7bef6a6a68f05a43a0
+8299732719be5466e4bc7999bc75f985e527de0d72e74367db2ad13a8ce616d5c6b6195ac0701c
+9dcae9e647f2e8c006613a6c0820c20516dd261a245f8f6959749a360fd629439f33c4fda0e62f
+c5f2e2e1a65e521c4f4f7e49a9a4dc28ec26040c76f15e038306872d50f119ac3fe0bd5eed7db1
+6bf9349bdb2f5f6a25279c1b2378031521ca3ba634245333c50570bf96c4d827863672c65a8caa
+c4cb410ee6218e6dbf0d5b05f705dbf61b9b956ac962ff1a4f4211b74a5a79487b90f80a6c5cc4
+47a083e89b157ada16742daff10bd4f94be6669c08349ae46e2a6b0286e49b1b63133e2684c4c6
+02b867c7a41ae51e0456b26f11c89c83577836d1ef766d4bcbeec46d0ba8dff9616ecc47367eaa
+310af757b1360f0d6742da289d9d44490b29b7c81f586b5e363045919c20dd6bd9893be504b8ca
+60b2cb11bf485ec057cd62d9e15579f6787689504d07bede8db4e5d89728f404fcf69ce9113606
+1271ffbd11bc3556a2f34c8ee777b7542aa631f889441fb756125347b2965c25956095819f64f7
+8cfb1a23e8218047d6ea80ad6b646abd23c355b7b68a41d0e30d6d6ecd3034f7a3145c57e241f7
+d9d24d886815ce4dc36008867f1a49c3b037ca92ac8030c79eb06eee835962a60fb879a45c44e3
+acdf0a76f4dca4804a82d80b3a632a06a9563d3c8fa9d22ed88d4caa625b928382ef80b2c5b961
+2ef1f59ad450c2c39a9bf86b36fe6b8e7ace91b0dd68672aea565c403a0a6b04154b53a6c43cde
+adddc4ec4590845a07e39ac2a02a32b5e1443ad707e6d8c53b63d172b8245047a3d42ee3b44bbb
+af17c2a1b53a9637ac984432721a60a374afdf3fbea5656971e4c413b8690de415936d1d2cea70
+b89a2d14cfd6cd38c65f7d414fd6c86f155aa2504dd6897734edfa910b3c3e1b7dd16360106234
+737d6b6123d70a14e5508a65b86237ea7a0f82839cd877527e8735888252397437930db0c4a505
+b27005fec65487bcf5594d4e92b173c5e7f67c842cf9703063e52ab27732e2fc8082435ac6da32
+ee587b50c0135d21b99b986527ea3dace7d44011d364ab14fd8c58966200df382790b2c7bdf2a9
+d564ccd225e366abf4922c8c2697a487f188ead266eedf278f26b5d50f9c8bbd4245bbb7b23666
+45da9d3c7ddc42e3039e13dd8dee22b0f0964d1fff7a9807c9716b0ae4d7eba4461b4c981b692a
+cae9c6921ff496d4b7b97f7cfd4893e36ce80e3caa0ac2628860391acc350be3cb1ac94df91c71
+e3e577c8249a51747938b01df70cb23174d8f83fccf03b4d76340f9382bef95116c555b64580bf
+dd56843333157bbe315b18312c8be915286f9480e466137bf871d34f8b14d534e4d5c455bc1063
+db3004bfd2d009e27d2751eb859f7b28e3e97be4404bd561b325485eddc1d1ddd601d189c6e4ea
+afe3af55c9245ab80a5c66aef0fe13ee39afed71ec7ee5c44390c4fa677c23e223147d53152bdb
+c1955a08b2c69ee26fd7e216bbebbce40e2c111902a3805b0df2bd92b8688c2bae8f1f4b4d1fc1
+0fecad52a56f1bfd455a46c192708343bbea600a94158a82f330982ab57eaacd9d813d3db32764
+674ed58f7bad803b2c1fddc9df20e8d9aa955082a5c61efd30ba3f02cc3fc9f9867b541c99be47
+cef4ff7d8e932df7a6206c4a3a93cd7a4685c405f6dcbc920786e86eb71eb0c7dcc0a15f1de139
+2de6e1f3b8886671e1b108a6d6400676c64660ded9126c384e41a83fd158f2b53f0c364e5755ee
+d7cc91ea8ba3d80181e2c2b8c538a8948e11f71619cfccd828d7ab603a605a70490d540c5899a2
+e1f097e449423dc9c493df1f2c8fc46458f7b7aebbb2da8a5cef2843fed7746ea53b09e2a20c59
+97a2df6cd21dbc876138d516969015bd6e63dc90e9f8a7e689667c8f8a94447d5861fd03ea7410
+03b4ee3555cbaa15a12cb0cde9c919428f68ade6a55284ad768eafdf1c73917f80a0ffb7e23656
+f1cb6f50f999d04064e54e89c04361ed5219665834559731f1b848f01e4ab55fd7ad1672b08ca0
+35304c4edc98bcec68f7a134397df8c83795e49d1752747a0de8b9b6dd9d4b81df25ec39928dc5
+4a80775e35cd083bfff7c0035d5cdd22b0ea4d21660db81a75affc1f36f98289c8efc15d5d7ba5
+444e07f2658ed7ca6714161d740fed41d483ab2bc101d7816c9f19e2c846061d7f0d152b537950
+354b62d31911829eaf06009d5d542fc85a1f88015dd67f6d4c8ea654170d7f795bf9a3ff780b61
+f83ccb96b013de9d7d63b7ac669535d3197fabb717f466305c324634f5e3c587b20d1a37e43779
+e764c22a5b23500778a59dc2c810b0d57f8f63224fda1e2b53750e987d2317a78d30ec1afb55dd
+00692e00c95d719b05c5b2103b4246a3a49a485a7290b4f7cab2808e3d5c8aae77270b23d18db8
+8771ee7f74ad7827021bd7e0d44eb01b62a23151071fafacc4279cd191fc014cb54df46fb29c8a
+faf86c84159749413b2e3fcda4128661092771c0b08038fcf22d8406f0133da80ce6e5807f98fc
+44f08a31c475d0844623c7153859f6a734a93fd64195b16e5368f5db0fa7eb94cee118000279ac
+e72a25c7aba323d2a4142f0068d48c44d22c07db6001a46a76355e73ce263b6793a58c6a6fac4e
+91991cea2c4d45e5410dda078e73285be49ae49ff3c21a61a3bc38559988f9916a5b0e1a7b8573
+2d54ec4ebda5112ae6c209bc3ccaaa9b5ac31b47aab7f9403feb7a65bd52528be5519b00c426a5
+e13f73f95245490c6cb082aae7bfdc3af0840a3f7c118bac4b9c1e5eaeb161e44a76c90a8178f7
+abcbc533082e5423100455051c45a40e55a0e253dab45e439da0e36b3ea3bdf09f6c4a07239e34
+bf4d04ed2acbff146f33d22449f6e2c2137f68b14508bd3a6e4b8ddbc77c6e99b87924e812c188
+1de11134cfe70c8c4ca17001de299223ddbb91eee3ea42cdd37ca0d38335bcf2a3ba19973242f6
+f93cbbf74f8b438a03c0e68b2a4115d252ac672574168746a4586170614154223a3d4b07b85c10
+bb5ed87d36400460e6465d6030ea9f2c6a585a59a9b470a6bf311baa9bfc4ae00834682904b8e5
+03d5cad4131a4f67203dc5b9170c6746ed779d062e26edd0e10d22868d652cba1dd2390a2345ca
+3416720de873cd62736aa6f95bf141740ef3e03784e790d93126fe74090c264a634c3e4b9a39b1
+e4f2046a080f4717ea3fedacc0b69752bcc52c889bba2e86ac1cadda8df81c5d7fb039ad739d41
+1a18ed3608b3b8abe0cc33f071b0d9201763f50c3bf46bb695747c21e57e970fba52ae3f89b536
+81df2203fe7a5ee14dca9311869404d1735a3e85ec809dadd22f01e5794d4d8ce1e04ab40bfe9d
+ad0d60e2043b9a69971648ad19deb0e02d5470ebf973334ec7ad0f22f63183f9b034bfb738e196
+4e7ead9a87abc83d742e7c807bd596f34e6c4fa44a1a5781d8fe54065b0a7786ff941ca2394130
+563fae81c3f7622e6c0f2321c83384609f95b38ac58398c5a88e5a53794cbf2fe3a69cde34ffa7
+57d121c007b922bb420aa2bb4514fb04f5f7cf46e26373fa3dc8f7d64a6c733a0d9b26c312bf6e
+1e78a7cc631d21300ed4ab7c0a301c481c8046393456555f98caed6f9ac2ab5818c9b1cc41405b
+2a180f79eb96573d16f841298641a7d2186d27ea7fffa56167a519cda25f00e979f1c5d88b64a8
+a2d035a55358edabe18029ca71f380dc9c41affee0cc521f370552f2156c3b648d70c7f3396c13
+ce25c02e366ee9de7917e1a7ed0977491a06467f453c2a48e4bc55f9b63c7fe3c2bc6a9e45e5f7
+ff57b2003ebcd6473d6da174e5d7301692e11ae124dd9d3e8b21e8271c5a813bd6f7842cd09837
+c4b767ca37c2d0e2f563629cf06fee11535f0b07c4b464dfcb5f09419f785931143255baefd798
+3e8b82530b4e0125441d38b88f098ada7419653d46bb86a949a238ed3dbe2b34148712f795bd8b
+cf679664be53dfcfe05d81af30a87a40c4efaeb3034a4c2fd9ddd4270c46659de8d9ef8929fba4
+32579b47b8f62927762e46a1d048103acf6194af036eb309bbe921ab338358c68d1cf7ae5de8bb
+cd23cbd8678555c91c899076dd0745f2356ac747234a9250ed173801ef468d28d99c4bf851531a
+4d08d3cc710cc01e234e0cf81d6403af4baa57be9c1fea25ab97d79a1b469cd97b46f085023611
+8357426a2ce1633d0009666f7b316d514489a2db25b154095126658a58665dcf3d2b7186d9cbb1
+c1ece7aa622c29c2e996f250d58ec906245f0bc7329e264b075f0b2b431258d44f36e30135ec7f
+8d0032786fd2568e2e7fa4eb1787
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+
+%%EndResource
+%%BeginResource: font CMMI8
+%!PS-AdobeFont-1.0: CMMI8 003.002
+%%Title: CMMI8
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (), with Reserved Font Name CMMI8.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /f-2-0 def
+/FontBBox {-24 -250 1110 750 }readonly def
+/PaintType 0 def
+/FontInfo 10 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI8.) readonly def
+/FullName (CMMI8) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/ascent 750 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 59 /semicolon put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b0027b6f3b53cc32be64063d04d328b49c17a62c396cfc8
+17b9fcb732c3b0aeb6264b2a70f62fbfc397eea8d069af80a71b775145f9842057f969d124e630
+1a760710a5c51e8981851fbcf7f1cd1f2ab78db91af2a6f264e41cc2cdecf450a3a33c89fa447b
+8bad4068cb8d7d37adaa4caab8f72cc26b024348ef8708a0ab6ee56d73f035ac9b506c91fcafc2
+40791cc10b1b0ca42c87a24a69e83f61a20432744f7d79437b93825d955cee80718831f56e0254
+0ae4b3a70b9dda35ca4fbcabfbc50a4cafca7423203f1b2a15e6749603d63b0cbb201e4b9fb558
+f646912754942767968fa898008988333600e410be1426b8ddfe0381a0146558732991b59cf9b5
+09e40f34e7e8d364bb603b7dd9700f676b448ee17493e9b60a5deba1b074e355a6b5b981bc22d1
+b3e913e89c2f921b17b998c8777c766f504f7f79abd76571a2ff82e80534b9acc217fbcc3ac428
+97b29fff832ec6360d179b65c8f3ce1127ee4334d4bc62b88ba72d80cbdffc19b74f81b50446ce
+e243d68488db7888e90bf192713b06c627ffd1d1df53de9982da5f2cd29fcc44a882ac39232429
+61908bfc9119dd4087740e2eeccbf6b9fb4b7e7bc880a7b78a5158b70bedc67acce43dca8e2377
+e6c8bf19b448d2573d4e3b2abd795f216668cbd472c84bf2a0a16bee0a5d03a5b7c3f815412bda
+f2d30962f81a030a18eb33488d36b34b55d6938b6e0e32a99be0dae3fe2ede1dad84bbba59f1fe
+d19497b451e6daf304bae623f379ed42481ea85f1b6cebf43d05de9e488a38a6c24ebd157e83c0
+66b45aedf6f2b0af66bca3b91b576c8a6afbe0e07331b3ab000d7700c8ac5b94cc8de627cb8b7b
+028105502c93befc548885d380fdcf39bd531778d29fd3fe27f4738f0d74f889299b0d68638adf
+a5d6e6406ba9d26da7dcd79ade2820164e8e24174df80f1074769738681138e226a1ffa5f07538
+0883b8edc9aa1537034328d91f79ea6237fd9339fc172146511826c6c650ca7c62ea5206c08a42
+3f3a6a6873b504e75a87279d0acde761f5eef09c325b93ab9f0fe4fb2e9369c8b63755a32f5403
+29fa0959a48e01f645df4cbbde7fb6d5dcb6f8403db96f92efe618353382b03db684c31a1b1be7
+3d5bf3fa317958dae1d8214704678fb241d15fa1b0db8350bd567341ec18864e1f1657fb5c1918
+8b016a9c79bca25d2f6b4d778b886c44e9555ad597de0c169ba728bd39c3130dac392f19172ae7
+e169f2d6178e61d941c26c297c86bdaddac055b6d670056f74f4324c1bf6cf0a0eef0932e57fbd
+764579c480b92cea1bb419f5ede8b2cd134972840153b7164e9e9bcb17d5d9b1229ec69407d6c6
+11bb856f1ef4a2a92fe14ad8ab71f09a92c75d0d47e4cd3b2183b799ff2fbd467c401e67c4d9af
+b3ad8ae9477d8394e2fb962c5675619119204222e88612e0077415e120665c6056e129a98b1333
+98df0e9717e08969f1e5ea88e2479b3819174bf5b77119ef6fafbc23ccc991023091dadb369fdd
+a9072525a31deb49926a88bb21c7ff8e4ab6fb7a25ae11bd6d260daffca964d001f3930d5086b4
+82d28fef1aae9a1a14119ef4c9397b35aa8d0fb73f5a42ba94b355f41227e0b8ad5c42e8ce5062
+34233127966976a32279c5f6a2630d13ad9c68127d14a9d0569a82a6bbbd234fed056e733f3c7c
+613be01b21ec1b1f6aa91bc226855b4c6ab30d781a79a70021d67d3051c5efb69f82c651a86490
+c85e832c66c620e925986ea64e296c5dbc97a35fd8db616fd51343e1c2b24f520a1d4ca1ac5348
+4596a30e670751303800b6f63ab61ec9a9c49499696d1c350d867c25ffb3c464651f9f233df886
+9bfc44ed9dbe8e60e4cb6c9d8afeb602b79bf76c5d17b78fcee53d821ece0553842b8b987eb02d
+0c47ed55715d96371c5ae3cd61fd2e0b809c36450216ec69ce1f65af98e0c505a0c2ddd86e4ff1
+3f323e233ea6a2a0686623fd8aba2074b95d72fb1cb130ca7f3021022dfed0a91e23f028562f21
+33b48fb660a2db04bee0275b1e04b6ecc1cedb300bfae537deff7808eef27b55a1ab21cdbd123b
+9b2654a976f07259dd86711c7ddd67a5ac179e32da38d3cb6f749eade5e81869f4a7ff100429ed
+70e3920338004cdc393d9c0408353c58acea2f74a243bb780f6f44dea75286c7d01cf7ca45e58a
+2761cf992ebf06b9615f39c1778b78f5a936db519c6c5b4acbed0fa713877f62e06adf06da6ea4
+da5feab1e1ce901bc30b4613d931a5852a03594c9c89be6930606f7962e0ee9c4e5aac6cacf786
+76e662ee1617cfccc1a5fbd21480336d23abea78ee4554a61ada796f8ee6f7ec342e11056ac651
+b471c9d05cf288211e89307a98caea410a6e562d3479b27187c3b2d5a593ef64a79bc8384e535a
+44f2909b78eb108ca83829fa45e30aa7c9d7869f941d985ea58c6636970c6a2df774166ba6ed12
+8071d921254378cb677aa18e10f9426c3e4bfc8ed21db9363570bb0d24c9fae5c946f13598dba9
+6797d3b5c678bc7ec7482465bc7a82555ca2bbc7998bba7cb4d0073e13ecdf3def2938ed5dfee4
+dd98c328002b84068be7dcda22944d76dcc81ead2e09ea87ee824b590eb435eb158348aff95dd4
+d8fb02356f3171539f48a60100f14c95a4ca6cd95b59aa04c178e72db020fda38441eea4197d1c
+3831c4a3e501d8b3ff4ea5ec47a6ad5070844da4d2d74223bc492fa5ae4a4b0799578594c9ea67
+e1e54498aa5cd6aba34ad3417f04f5d8d664a7eb39d41e2d17643caebbccd9c38cc5c9541641a0
+9335efbce0d276a54253efd68141807a66f1dfeb4bea5889ffa34d20bd52012206a9f8d3e0f6af
+c03fdbbdf3e51506ec6336e249cefb571ab84cbdf8e471e3795c04e38a5306ba6d450d72e50910
+d1ac385bb06ccd4b8e433a325a4b7facc976bb31fcaa1e62db2c4fe06ddde7367930e336b49f47
+dad91c87359a35d80ca2e117e86b52e41e9278046ed923454989e48610acb3b1663f1971175265
+9a9d7bfa561c7ace0771794fc778675f83c5edcb132af124c7e6540a140be0a268836c73a3c746
+dc964e482e63c56c0d396515283970fbff182f9f684fe2655fd8f5d057d22246ddc3fd11b77552
+db4d90adbab77bbb1fb1592129de0aecf822d7d36e52bcdabbd560b403a5c56c5e1be789c3ac04
+9318c7fac5e5861e42fd66c3c0f46361078d7e036281682bce9bbf77983c93ecbbeba9b359769c
+a44287fca1b98f4eec4935cc93b08aaaddf355c99816453587310f08c50b9ba3d1075388a1f3ae
+d2ae32befadf0285da90436d1d7ea85d7b9b6df2ac4b778cfadff66eee54d1a1c5dee3cca7eff5
+7a7c2931933ceed90ca26daab45e4388ec4dc366b9e88518d6cf094861d2a59282044cc06e63ef
+b390a6df4ba5eac7ce39e1ee033d84099f5be96612789af3eded07266ef10a0fc23ea1ea97040b
+6baa63138b1aa9cb8f5ded781260962d7618edb200c3ed976033e8967a8cc676e9c11f74be3434
+3a7ece7ee97e8f76f7e95517a6d6163527406ef5a669535cb2bf4031f29046bb2d0fffb47a576f
+5eab1d00a582965c56f28c00b3bb7be2cc8d8391f789070d775eb775437f0cd53da840bb357510
+4b63e4b0bf14e3f14b320edef65fd4caf58596da491bbcf3153ded3b718f833d106432df8db8b8
+e6b34d5308c9010a5dd07e0e53260bb84bab3ea748e8d72f75901604f80f4416920d69b4b983dc
+db72c5e9928f01a4a85954fd74578ae336c782cdf81d1eb7ebcebfbae7ed8ab4862584397928f5
+02d65139ccd582cf0723c5262ee54b9d2b8c39614652a8a90e1c3b657d26b99da298fe4b9a7e98
+848f619c9bb4ff9fd215b72f99506f06355b33268937d80afd9f9acd8172cdc51fcd3a759aca0f
+7d4ebb07840840ee42c2d5b8b2572c6db3a7657b75f2f0b9730a20112745703e2d0fe709436ca6
+a5f36f59e64d9e37c0a23d6d289e1ac1da273872f5fc5c3da2b127f078a4d7ab3fd7e124455817
+ddc796d54ef26a1fbfd539d3a21b86dd4477da49213259abb3ff241424f2be5f89151e02ff87e0
+bee26e85c0e518d8be7cc9214b8e9a9ea1dbb49c6c212ccf0890c0f23e9858947ee344062ebd9c
+574979087439975ead4e85cd7bfad3c91cf1eff577843af1427d06cb2f3bb519ed1591974218c4
+3f0d2038665f9e2e3960b7fe68cd3cb2db6b36c7997c6b21ec11cf1de049541001fff26d14c255
+e3ae862c5a5701292fd2fb3d04523d6e2f3547923bb117718dfb6e6520f0d0b5450c695b8c9242
+cc8671b7284cb2e1e9eb097a3db1b4d5e8eeb93b4dc7e38c0a1047466554ddcbaf079b92ea494f
+6fa75a84c5aafe280284d0823d7c22249a21044bb0e64062074ecd17b62e03edf4945a294bfefb
+51f5fd870d9d7230fc91b83c1d85a886cddf326fc90e04362145d6e8630c50594484fb829da18f
+5c078f2ee67d2f2b08dff39ae2e8c9741fa989ae494c7166f122d2c5f71b97c973b7ce8500e9f8
+7ed59c30f2e99cc4d34713dab680598f41955fbdc26a14cf1e73d6bd6b9aac8d3bb998f2d0d647
+356cd236dead6561389ed3a6746221b0cf15d6648412b35a6b546a0ef5bbb34aa376d9baf025bf
+c650c1b74333ce85413d0ebb2f4d082a26a5bc3c0a25d2b12cb159f140e00e262f1cfeccb2c802
+ff94cd34da0ce9b4b3830fb1da85b9b670d5169928990a2e9cc869891ca2ffad9774e6b9254964
+4daa5fe00ca5be4f5ff91a0b6d2fd8f96121d766391ec4ed3e73dadd476b7dae1a50afcd98db7e
+27e44d30416088d9bc07d4661d9ecec0806830abf14ce55aa3ca2df66e8e748b8ed46466f1eeb0
+72ac0674fe6fed231e0dda59ed7c42bc05ef00e176050ac4834d893de42474ea20db1e25059e84
+bd137ef65a02cc295b0ffde4cde958790fe88bdf2519abae7f8cc3e6386ed35e04a14f1e386192
+2645e3a3f43b48a5aa1999a5efe192515fcc625c829ff5a7b337aa422f5e920545f9bb269c869a
+821d6c4c26dd2ae746ef0f0b4c1e7e9871adb5270e1ca9be28225f7a0370d4c52422e25263ee10
+1c4ec1c7811b05ad42f364844a56bb91ee72fc8ed53cc6954d2bd6f945d739be4c61e36143ce89
+0fc0cbf2f610018d678ecf7ceab18ff5a0e48f76fde2463d40a99380d679b3b76d39c664f4992d
+23e5988b0d1af33dfb04894016e852efd1effe586153c0f31adbdbde3f73fb49c5ee64d0d02e15
+04248fafac3d903fd44679bb09c30288139b41b1e90a10139ca3172677250b16535a1f3e5e4b6f
+4264de58896e66051fc677030a121c5a285c47b6129cb5a3998830ce070d212f093fc1b44089f6
+03a21f45f60960f134a47226874c737ef6c085634b0a4a66139420501351f737a73f39d960ec38
+420be46e5b09d298e7c16b8e32f01507d40141fc52da1de718d634ad9c8b00e46eeef843567593
+24d2b9a3473c5da38de9e30182b87f91b6a7f7bacf29a93b44c879ccdedb063f9d2e51e0f1fc9f
+018fe12433d85af24b55de3a61c4d0a2da4fde933f5f6fdf17e9fa9932bfc46e2d71f6585eef5b
+2e4e89e797a24b799d7f064dd1a817a53677fc9eb8cc3e7f93fe50e8d50e3191052943fd6c98b5
+73bdd1f6d70349e1f8011599e3f8fdf1d6e80a710e51e434e85801617c6fd8accf1b77b4bfccdd
+35cb4c0367f4eb4d8d9de8284d5eb4f43e2f8320c2c5a9ae90ecba7e65d377e91db69fef270692
+35366ad3e126c3a73ce97f4c90ba00d206fa012c327fd69ee59af4470a315b1799cdc0539bf90e
+512c8fc3befe4d1b01d969ea9e3fef976cd6e0fa4c9ecec955b265cfd58ab8e5f7371e479279ee
+14b689269205c5b506940606cf3e24a1e7eff3ca96ed30ad6de243de57690c3d69a401ab3315fa
+49e4bf4acd4dd1ca39272533e82efdd508e51c2cd286ccc5de1202c7c7f654521750632eb637f9
+18667e2233a43df75239ebf28f3129eb5dee2fc5bfc331ff709b0fe9b327cbbce98bca2c861c65
+47e504071218cebe6eb5f9baba4f2e11bcc6fb553a544a567b459e06375102c69f8018dfba6a22
+7cfb13e2d74e6a521e01b74f2963e9a0a1c9fd87a88ee6356e3bfabf55babc751d2bf85e6712e8
+ef57914920775906662e4ba68ffa21ad422d34e1557843ca0568b431101a1194f8ab1ef25e886b
+fcdfc10f4a5ebd9530816548bc298eae4a0b6b52b8b59c644c409b4191b6f4203f52314f2675f0
+2aeb65a72c66e92a2ac703e15d8d381522c0ac30c165b822a9b8d18caecc094ede020756018dcf
+51d0701b507519c4270b70d8ce94b436f640c15872f9b5b77892aa3d110e4d6a658f0815c61a51
+27ba25815378683f46e69e54a391a8675977e7df9c2d4e6fa9919f029e50cc2f266b31ee9f9f24
+452d5838905f330cb7e416b8af836c5ac26ab8be2ecc6ea4bdaa08c30995709e225c21d35db636
+9167602cbfa8db2697635925969002cd1bee745da2e56c17ef3f0c05e3847147f86963c37a221c
+8827195a8a3d38993e4939ac915bfd9a212f5ff3f826f742b952018986f9fbddb69c3ac65a845f
+7f33c55d4be60a1817ebbca7e1538e8087e1bd5c083a320d52953be65f31e8339c612a510b59ce
+48d2ef7061560c4ad258e7dc59694493e3ac878246f37d6de89253ebc8830c6b209e818213c4ac
+4cf1f391ad91d57be76fb0e2924a1407e4a949c905e44f54eaed6419f13d59942c8079336a172d
+4758beb5d3e786fb933cbe4fd2eb53e4e1dac34e821eb30fd44bc6cb4298242c38f848fc23aedc
+973352be6f32e31e25f18301370f8936810b0566b664b042c7ae0d78acf0a87e5bf6f9b66e3581
+68b2cea30dcd940074f3adb793cdb136161fe2522905e87b8e463f95d4dab7e14a3df7bcce8141
+c5a08fcfa2bce9f2d1b05a7642e75877eb840149aab007cd239ae47ad115929427717f219b0a89
+07f0ec79ade1b901daee87a2f839361dab43dfff69650f601b24061a9353cfd619ff9626f63275
+fd09a5b13bb48b3379ec4d147c41197e8387fc04da7be409524cef74ea91dc066808a7fd0ef395
+7a44e2503eda67b1c61827479486134e922e560a673bf314d601c66003cd0755569085afc84283
+89a140eb976ccfb8f29e27587e46c413abe2efb51af5913f53eeb74063162e0ba1e24cedca3203
+77d3e11bd374f0b44e132a5c35835b6e2cd32948ef9dc7931d104c1385709da882ded6458319f2
+1c2329938396bc074106cb9cfb9e0a915f8dbc8435f386917ac87a2ba45d857ec30eca66fb4044
+f5439ecdd556b82a0e43418d179ad883c85ac276e1190cec242e3e1d86e725adc39e46bb6c47fe
+9e17e29f8ea81e870302a00d91434f3b7a05f243176e6ef1082541a1b9052191ee5c2b8e94a2e0
+2db65fc769653ca8d1c07a13cb853544aec7fc35c5218de3128aa31952dce19c55c23fd69bcea2
+c661f57b11b8f9e86bfa718d15213346e78c701a5e51923d6d937e62fde3669b214d240538f069
+a100a542720a8631de88116de775f7acc2a49ea6c02a24408271a846990669f2af60afab4c16f9
+7f4e88e917f0ffdce68f22998ac0af2a60a73258c3a4bbc42a2f918123128195196d0e150d79ac
+3cf4628503d1f3fc528265ed8324e56849a47b3b07c29940b91bc270071e221d355ea51e9942d3
+bd7f99816304fffc8f5b036c953b38759341ed5d7b9c8e6b70c409dd8362fd291201cc385e4a98
+d73e8518a4c0e54415256382032fbd2fcb6e403d34b85ed4053a8cb619bdd4de001f4c3007b1f3
+17579651e6d6662189cc2d95ab85d7473f65c5d7b4ac63b0fe928f3400035d5a9d443d0df3532b
+99f3ac26cb25ea3cd64c341159061e02efbc7c033c05cd919bbd827a6abad7e9f6da288a5ca0d7
+41e384b269d97dad55fc6bcf596a5c512b11255c388674fc4022c57cb4689fc0ff8b4365c8cd11
+c377c294dcac8c7bf8d4e45e633d5573badf96251f60394c911e30a21a1e2090106825e363007f
+b213a9ddcf2d7fa77ae29f556e6bae07dec4257e7a99ea0b4a4ae8f1acecd133f454c2f504ea4e
+8456ade4c5a312666bbf8bbfbd7aff5e52151c417348a9f4305de84ef28e07bbd4689a059fa9d9
+4d2af1883872c216288de853c248dcd85b122e775e2611b3beb2179b66a0daa43722ae49963797
+eaf24f909e4fac448a19dbc21ee5a59436feb52c60487ae7dd3e07b9d432b68f396dc38935cabf
+a6357269002a26b241af82f137894f2b9b40c68d34d2425bc5904b334f0a98cec7b922ee5b3ff6
+2a0b04e82d8b2b3129a2d94c7258d26c4f9866acefbc82f45dd5bbdbbe987f6c8e35c2492920c4
+654d654d39d47512061184dbe126dce173da613908c205196742c6eeb591d3bd306bd6d940222b
+0723fa7509f4107ad17457528c96736f87b29dcb7db8e8338ca4a48de333c7fad37dbc511b9ce7
+102f8ad1c2293b79e613402cb85386f51d0d4fe7bc4f5b60542f1872c8d64f82b4c1bd3efff46d
+38b3c0b5caa1a1de5e801c342ae24794a47561ebeb6306d082fbb2b3163a7d70420e8d5ca65037
+cd017f6af8e8d7bcd12a65140f64f98cb091b751a5fb02aa1fc72349fa5cf2369e0d87616c79be
+63d7e3df02701ba1310b0f9427caf076d292b96245c9d9641e8aab802b454ffdbe0852405a0b93
+b8b2f815b8a5281cce8369e5e7b24c989f65786176f3ef8723655e6676464ffa3ff5de75b47346
+11f9016979dee94075a8c8d53faa74e20d86c4e179aafc8d8679eb778b568b1c45b8890bc02c83
+7345b5b19b844dcd3441cf513fe9fd73435cd31987fee0a4281a6a501336e204ee168bd37b871c
+b269011ece361226afbefd809cbcdb5948cb4ffe375c1c80c2b6cc313cbf4ad2a34b457621b6dc
+3d8d629e9ec27eb5d06e13a01ceda6ea53a401108cb6a53d534d6c17b7b09583a6e64beb558b89
+97a78b5623ac23ed5eda3ee830fe66a28cf47a7768287564ecf2b0059da8d71976a6cf4635f2b9
+5885e41e1b9b6b824ddba6c828356b27badd9c14ece37f3ede3e147d7511a58a96aac3f757fde5
+7607dabe33b995aad2ccf3c9e94fea87b1c849588b018464e3edbfecd36c00c329aa64a9da0edb
+7836120e0a93bb63fd8596da7f1618fa3e66621a21589313920af03ddf9e7bef6f1208eca8010e
+1e8c50c8483c76364f889f96da79158ebe121e40a9b4ae92b19486a0fd29d85d57f8a5ccf145f3
+5ed4e2a1f09fdeec4ca1e14e186ee4940fb3d7902926435b9dcec34aaf5d5c143a1f3cfe4cace0
+a9744be6d4d91303b34626c5d91008d5ed732deb91dc005c08568c990539
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+
+%%EndResource
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 0 146 134
+%%EndPageSetup
+q 0 0 146 134 rectclip q
+0 g
+9.801 54.422 m 9.801 56.82 6.199 56.82 6.199 54.422 c 6.199 52.023 9.801
+ 52.023 9.801 54.422 c h
+9.801 54.422 m f*
+137.801 54.422 m 137.801 56.82 134.199 56.82 134.199 54.422 c 134.199 52.023
+ 137.801 52.023 137.801 54.422 c h
+137.801 54.422 m f*
+73.801 118.422 m 73.801 120.82 70.199 120.82 70.199 118.422 c 70.199 116.023
+ 73.801 116.023 73.801 118.422 c h
+73.801 118.422 m f*
+0.4 w
+0 J
+1 j
+[ 4 4] 0 d
+10 M 8 54.422 m 136 54.422 l S
+136 54.422 m 129 56.754 l 129 52.09 l h
+136 54.422 m f*
+[] 0.0 d
+136 54.422 m 129 56.754 l 129 52.09 l h
+136 54.422 m S
+8 54.422 m 18.668 86.422 40 107.754 72 118.422 c S
+72 118.422 m 64.621 118.418 l 66.098 113.996 l h
+72 118.422 m f*
+72 118.422 m 64.621 118.418 l 66.098 113.996 l h
+72 118.422 m S
+72 118.422 m 104 107.754 125.332 86.422 136 54.422 c S
+136 54.422 m 135.996 61.801 l 131.574 60.324 l h
+136 54.422 m f*
+136 54.422 m 135.996 61.801 l 131.574 60.324 l h
+136 54.422 m S
+BT
+9.9626 0 0 9.9626 0 54.422 Tm
+/f-0-0 1 Tf
+(i)Tj
+14.052557 0 Td
+(k)Tj
+-6.825527 7.227732 Td
+(j)Tj
+ET
+136 54.422 m 136 38.422 128 38.422 124 35.754 c 120 33.09 120 27.754 117.332
+ 25.09 c 114.668 22.422 109.332 22.422 106.668 19.754 c 104 17.09 104 11.754
+ 101.332 9.09 c 98.668 6.422 93.332 6.422 88 5.09 c 82.668 3.754 77.332
+1.09 72 1.09 c 66.668 1.09 61.332 3.754 56 5.09 c 50.668 6.422 45.332 6.422
+ 42.668 9.09 c 40 11.754 40 17.09 37.332 19.754 c 34.668 22.422 29.332 22.422
+ 26.668 25.09 c 24 27.754 24 33.09 20 35.754 c 16 38.422 8 38.422 8 54.422
+ c S
+8 54.422 m 5.668 47.422 l 10.332 47.422 l h
+8 54.422 m f*
+8 54.422 m 5.668 47.422 l 10.332 47.422 l h
+8 54.422 m S
+BT
+7.9701 0 0 7.9701 44 42.425 Tm
+/f-1-0 1 Tf
+[(supprimer)-354(\()]TJ
+/f-2-0 1 Tf
+[()-3(i;)-177(k)]TJ
+/f-1-0 1 Tf
+[()-28(\))]TJ
+-1.338916 -1.505627 Td
+[(a)-59(jouter)-354(\()]TJ
+/f-2-0 1 Tf
+[()-3(i;)-177(j)]TJ
+/f-1-0 1 Tf
+[()-59(\))-354(et)-354(\()]TJ
+/f-2-0 1 Tf
+[(j;)-177(k)]TJ
+/f-1-0 1 Tf
+[()-28(\))]TJ
+ET
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/resumes/xavier_dubuc/src/pdf/neartestAdd3-eps-converted-to.pdf b/resumes/xavier_dubuc/src/pdf/neartestAdd3-eps-converted-to.pdf
new file mode 100644
index 0000000..03975ec
Binary files /dev/null and b/resumes/xavier_dubuc/src/pdf/neartestAdd3-eps-converted-to.pdf differ
diff --git a/resumes/xavier_dubuc/src/pdf/neartestAdd3.eps b/resumes/xavier_dubuc/src/pdf/neartestAdd3.eps
new file mode 100644
index 0000000..c87f25b
--- /dev/null
+++ b/resumes/xavier_dubuc/src/pdf/neartestAdd3.eps
@@ -0,0 +1,328 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.4 (http://cairographics.org)
+%%CreationDate: Fri Jun 2 11:50:29 2017
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 0 0 146 88
+%%EndComments
+%%BeginProlog
+save
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%BeginSetup
+%%BeginResource: font CMMI10
+%!PS-AdobeFont-1.0: CMMI10 003.002
+%%Title: CMMI10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (), with Reserved Font Name CMMI10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /f-0-0 def
+/FontBBox {-32 -250 1048 750 }readonly def
+/PaintType 0 def
+/FontInfo 10 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI10.) readonly def
+/FullName (CMMI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/ascent 750 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b0027b6f3b53cc32be64063d04d328b49c17a62c396cfc8
+17b9fcb732c3b0aeb6264b2a70f62fbfc397eea8d069af80a71b775145f9842057f969d124e630
+1a760710a5c51e8981851fbcf7f1cd1f2ab78db91af2a6f264e41cc2cdecf450a3a33c89fa447b
+8bad4068cb8d7d37adaa4caab8f72cc26b024348ef8708a0ab6ee56d73f035ac9b506c91fcafc2
+40791cc10b1b0ca42c87a24a69e83f61a20432744f7d79437b93825d955cee80718831f56e0254
+0ae4b3a70b9dda35ca4fbcabfbc50a4cafca7423203cf03b8e9eafb091f06b2741ada33c61933f
+ab98ef2fd54411c6564b030947ac99cf02f4194b6e0af84cefdc23c1b2886506402a156f0946dd
+e0f96a087eea2ac27fe5bdf35b5340fc78f4deda8c9d11d98c0f5e55a92c96eda070164da36646
+45cf37d0d548891f41c633b2cf39f3681ca5b295c862e21d4e3d461f0604fc3557ead3f103b7cd
+e8788062ee55dd643ebf68f02de9509a711b769bbaa2f977c0c79c626050e6cc409496ca36999e
+1ff008ca97815500e97752078d0286a73dfc1d55e84337b5eccb366bbff2cba70847a15deffc9a
+b9465907d667d2583fc8cc9a1b753fb839c71d02786b206edb49d1f1e1222f15e35c63c1308f9b
+5a012747cde52cb2b9eb0c6805b3b05040b32dbc7e380ce5ed54283fdc2eb2b9eb0c6805a609d5
+bc292019eb65c765ddae5d9f5a6193a059c6d7674fd34664fff5fc0442f1fab44943e0f74ea3c6
+00960734464cdc627ab1f56d3b620c7d61e434c0469999ad8a683b008d4318a044a01a6ee5c4de
+a893d727949247b65a100468185591755ad88509374ea309c172fa8fae1f28ce2d6b478e29984e
+142bd328cb3db08eb3c0798faa3c961089be48cd68ef446a7e7486cdf303862f2c49a504f01157
+77979c3cdf97f2fda864e361612983097ae515ccdd43cc4e7c2832837b2730cedbc00213c1640c
+bd6db49d0d729017e5a45b2eb6c10992f4274c8fa188470c82b5623f4607dff4afd5892cb6cd5d
+85a03022b4d80fc1c3e271c4a3d53241988b6c9c1dcef7a0f9f19281c2a01c858d43fcd28c360e
+5aab9ba5d4dea4db85e3a26cc0e8d7defad8c9976dd7d45d9879880dec2766c6d613450cdb6c87
+a690dca9298b59923709795bce1cb2a7f1e3c7888ad49ad9f12090fc5371ea8016b7c0da013dcb
+ae8ee5985b69391d249998fdba8da313ec5788b0abdeefaa9239c4edcbb4b311939899a0646a40
+31ef6d0f32a9642bb52ea218982daa9fb54679a769dd0ce17187f09b1dec550179a9f8ba81883a
+fe662ef681b2811e81e3e459cbc8e5a6ed948602df36cb16ac7dc8197ef5d0123780e1f4e614fd
+8d60f5f6c69ad7377806b6f64aeaa409fbb41dd3ccead8d56e06ee86cac471c474e1e1b727a0b0
+18c82b41297c09366a3f891de3b9807b62b6b3823d7636f6df7ba6884d206dd39e8c56bc07e542
+8d35af43481b160d66572f2eeea2971e9a4744fd79897ba8f917018578e438f98aedcb8a073cf6
+79cd7e52f77385a5b336fa80be78fff9705ef282270f7b516eb7d163181c4cffed31a5553007ec
+327cef977efeded1342c72944f456f78d41d031fa614a8eb118a653e1a77fbff5c0e58f38d44a7
+9124a9328900d44e67cf410869f1c45f1012079ab637f81356d9cf0e9b3dfa9e84fe0f296b85ca
+ef4ed92097e52b9e71c17c6f8f7637f23fb60abe23521a3907d3442ef45562aee24aecab21b42b
+9b24e22a0e58b33aad59fd9ceb08743b270c653b372650e67ab556369259ec5356c846ffe63e57
+a421bd03c0e25a4c2a2abe0cc24d234b41fd269deeb6af086c4f12794dcd5e2485a4831d60ce1c
+6305e0ce6b18fba63a71c3c1a88b4aa621cf9c1a2c5c235d433725d14acd1d0a7fe0c8dbd88a46
+ca104f08806a8b0fc6a315fe9e4ab19ffd534cd281ddfe35664c24b7a6e4b9c1d6faab46c4b81a
+dadfd591a3cae35e7684a2ee95ab6881a9ca351704023561d3d9b4214137112bd8b64d9085474e
+e78cb85ae23d179c21f8efe8baf050d88ecf0f422bf0c15f102b5ec92484ae51d50e5705fb8b28
+e62db9f8c32d691cf9cb209a50494acd6e55990d15c6a130ca5a094503712a5db0655f4383cbe5
+785702c3b95e6acff0d6d1bb86c5562b71d366c068e0df346ea2fdce1d673a78d04a3dc88377ff
+ae336a2ab2cde346d17e7962de2438f4b5e608cc9707f2d560dbb9c4786970d8df05b47c81eed8
+f26573b38e1dca64f4b772f49554f24bf63e95b6b2b952f2807f3b35ce45c689a9fc7bc36e6413
+619bcf52bb1cd0c752640dd4dc6104390a7546dbeceb7a2ef1a04bbdd5ed4b730fbc610bc590ee
+309c3c49b5e3c9be27369fbfb0526ebcab6bde96c9ffb87eb7bc4361381e0f4472f87b4c17fe35
+cb93ea3fd8ec25f49c92476875986527b7dc4093ac056e5821c44d7fd4e2cc32423ea320d5f6c9
+38e04ccc1c259fc57282a2a876ae3062aeebd3efcf06b72d8bc51eeaa8cabaff8961327318f53e
+8e0136d64c169cb4190942dcc3d7af79ee0575101ea563a9fe85dbc6f3611a926f77f33af26690
+9cf5647f64a55b285cf54b5b334d0d0011dba80af1eb7c37b0410072d90429b7db7db6ada180d3
+202c6ad7057c7b5fd5f59578a17ce04b12d8b8de2c55fef874bfea8d9825b5ee233a8ad91cd8c9
+56234b1dd4407eea57d4bf78b89f124d0637e3a9a7223b6c73fd93a687528e38c608f62298a60f
+08c11b62a9fa39068feeb9b5646e84d422aa835556761d1459386adeba9fed5b74e2d78f695c49
+f9d829dd85b9641fab34cbaa49e3f306ebb3687b1bb5c764495943074e2dab0c4513bd1d14ea2f
+5fc1069df238f0b38cfdcc7ab9e945374cb6f45c740dc95f8e6c82fc3247e14bf27443e4c0ecc1
+09873c1e51f325d8d52338d5cbc8982fff68fb5fb92f11783bd6cf9b2307a2802eb9e68321a10d
+4431ec6a9e4b6d5ae394f2ec0e8b53385143802f018edb580ebfa5d0406bbaf8dc681185582862
+2626125e293c47204bf307b1bcd649ebf20be0ae42b0364b37300da60de0649e2150e70614d024
+a3d2f75bd9a886f78c71b59b6754a0bf7aa2f76f920ab9c0f1cd1bd531dd25e6c2a3e3bc8da49b
+1c1ef82b4737cb81b0510d551f844adfc80a55301c8310f9d103c489c90a44f84f47b6f1b8d474
+366071ca1522215ace0d842767ab2c961d1c9b32bb886714945aafccfe513743f5f5c44dc1cfec
+eca538472511896c85b2c9126173c12d4b2b36c4b62cae0e746c0211eefb8a8fccb473bc50fb48
+a3c3e6946016908e5f4f4914fdfeedf1186f12a39f13131629ab408fb2e0dd186c257ca3dac07b
+e9a7528c725db8a93d52ae0c10e4d290aef73c7fb2ca6bf922423eb71a8c59526e3d73e057d627
+9630dde8906b795562f4396c0869a20694370f2696b00fe2f96369b26d56b34a0fe7ad376519d1
+b8a50598b2d5a60004a3b7c89218aa9ffc1e5e74ecc4885c517c0627b58b60b136f651c1d48f38
+8fb9351fc5c46dd3c4bbcb7dcfd01e6ddd4063bff55a34d64c55599a82417717eb593ed428b677
+50972bba8252c31507bdd7435abe4b4edbe81b312cc5f91a1f9237ee9c278d11b51833f65260e3
+bd0410699d0a0b8c613152578fac985028eec5f10e8b9bfd680cb0bb53b8e93ad0fa3a749cc223
+bd356319fb1b6c6ec397d22248f0891ec1b60e84e89886212fe1b41d5c2b6345d4ba2340306efc
+811586e06ab7ee765e93c50b873fd48870769d1d218a10952a9856b4b51445fb82a7928dce5fe1
+805b19b99d5378cc9271c4722e47a09a9278ff244bb280cca6a828cd0901ae75f5ba1f87e73253
+984d7ae66515141e34d90e770992a0736e3d042b304271e207db1f282b2dff4388e48eaad733aa
+746fda33c9d9c7c9fdc090b4b2876fe4645c0bb822ce40d581c7625f9ec0de5dc6a0669412e971
+2507139fc3652c35523afaff01d3bd63a1e2c8a53b9ee0543fc505902e8fe0c23f72d824e951c4
+0a6483cd8a12a5b29f7c799309d17386917861acc27c200aaa34cb2a104dba07eb4ddf5e4099e3
+57d625394728dc83e1d722f3cc1ae7598f169e9c9a2c1e7250715dae8660ae119d8e29323faea6
+13c0d31c0c1d4005f2bfcc2d7913f8a0e18d1da390e2f1d3e28d6eddd09c93d019d608911baf7b
+ce79557b1397975e38e906b695b6ae1c22af047dbc1d7d08744f182b2263e14a75b843ddd8f990
+078410973d7cff56e897245a224a1ddbfaed2d848ded109648d42da10219fa6358bce77565464a
+e52af167fabc06c11e6726fc233d0144d35ab68c7269ed2778017ab4ac15639d2588952fa22550
+e273df724abf514d1f0364a1e2a7d9cdb4e356494de3af6125d3cc6d2ddba01ab92d36216a0505
+b4c0fbe46ad4674d8bb51e7520fb4403bbae43bd6a69e475eff0ed4f71d865f6d3bf6e3ed57508
+07de076c0b1f59083d488ad5fefe10d1cb93a0f4f110e45a80bbb00bf408c96bc6347922332f32
+20cf474b66fe1904fab3e58c9ed0b4cc7215665ea72ea2f7212e7927877fe71070d4ebfbe97a37
+5a8784640dec93f6d6eedb7224873e8fbef31c40622d385f6ee43cc6c5720d3df72065155d58eb
+d21f2c93f323e9e0cdc35ac43330f9ccbcebd9415173e5304db65d3dcc4a8158b8a838ce7e0bcc
+4f4bffeb9333eb9a28cdab15cf3256ae784884eb1fec9b65328a0a26d0c8edfd3213384b367fab
+9829a4a1823e223a3fab405e51593700fadd42352144f1b648bf7bdd217172ca43066e2632ddf3
+77a535b0d855ae8120a97e0c907967c36e88b9da5596676c9bc1fe9449bdae8ed6ed101ca70798
+afb9b9ee1b357fbd0846af20d3f4e64ad7793501a0f52ca0710d5588c8a7900f9f58164d8e5174
+a413764ed0b2630585c09c66a62e3ac562e06f2572fba273f8f2f62b50f2fb21040d12f607db04
+0076159fa283a42c653614cac50f6d929c6d69b7ba331f2bae21b1e25c2937b5404f6ff789b73d
+b70cd06e32f5658dc2ccd53d40acea5b19e4019263058c333d81e6f99741a86d21bda9c6a6680b
+35fdc036ae2379b16e7549afa7ede71c3e23df721ea9f4580d8c516832677fde26b79ce1a92246
+7086e293b003c9f725663ff089da8855c5fd232612fc0434c25b759debaa039a658a8f291261a1
+1e58460247bd0a03d3cbaa7b005d605030d42daeb1914ec78ffa012e5a416ba91a877872a48936
+2909cb20cc859f032e305be4e1e2510803c3f475ceda2c3dc8ef409faf1e260240d9eeaeae853d
+f289471f6206a91d7e7a24b3568ecfff34269dc13fb9cc71850093db85bea6c890ed3ba5f8220b
+7516353a9b9a7ae11bb69b37827e6036602b536a8142d4524afe7b951125c1243d3c8845a38afb
+7bba584219487cd88b302487e502d5911d79eab6cc2070ab47d5bd927b0a835cdcf0362c8bc0db
+3b45ad85aa6434de49b32bbb5bd180ab18c98b8e9538089552b3600a532fd24769c35281f3d605
+85e75988a305f1278f6f2a5ee0405d0f30b6770af0364f4d982c07d607ffa4d55cb773d92f9b0e
+163934e801ccd9a23b47930a57cae509c9e021d67c3e08ba173f8274b6b1fc1a53305dc998c657
+6ef045e84fc0bb391e971d75d69cf507daf86967bfca7f098be6f9f19ae1b72c433826094601fc
+acae2fdfe2773bdffc19616ad0e1da13b6575b5e949bee16f4198ce82df7bdb5a0e5411acca8d7
+4cfa1f7fb2f0b696de35d3810e090f2bb036bf80aa77d8e71140005a3014d736d4338ead5b3ce7
+760b0008c418c80508c44b9e5e8b58b6b770cfbd7aff85631cca1eacb7836580f3d889d9055ff8
+08f29cef9ebff7ff904f89d6655dd9a7097e2a27c19a0c47e710fe7143a2ee1e642da6af560630
+5c2abca4db9ae966057c124757b094b5b1226702b1a7fa4f082f8f1bbf841abbc29f760ed72e04
+746ec76895d4d5d78d2e09b73e0b6cad2cbf7b2583c1b6aed6b208dd582795177df4976908582a
+253ce329af84db80d2ddb23c02c659f99c0bd70849b40c4bee2c41c3118e5444cbe7de1e57da26
+8c9c6e0da8f2fc33d7193f0f4ecb83dfbb9bec8d0098c10134fc5c2700a90a9f0707ad75762fb0
+63f620b691c478ff88f78b486e7fa772c06e3f86b94555d981ed92fdf2ab8df1b9c1f9aca18009
+8d876e0b5a1f44d53a4341ad0c3c0837b8a595932efbeceba6bdeffbee967e474e173f99907168
+9c1a7e23255d793557a022726053b5bdbc9c333926d714ff8d6261e492df9c905dd66dd1b7e17e
+714a44c1e073deadf6a250b765872bf96e047b297580c27ad1714d8a2ce93346d0a972cba8bae0
+26bc1646f8fed5c9a3366e73a2a65fe7fbed4a8447ba4cef3f25e20eec13f5448dab2b1768be14
+a2f1fe90117079de58883a86e7759a3f8723901e70ed76dfdab6db2a2597f3cded02e1418e33ef
+2fc5eb86072ba97db0b4a87bf21354eb8fa680bd07fbafcf8cb2fa44a9bad1ec8d5692b12a0390
+e550e272449546a95aea075538359df87234050bf5b6fa86634e628dce90f5947772b834d3dcb5
+bbfef9f5faccac5ea302813fa76a0c7e8d4a6904110e7d164fdda1f2f9e867052945e5697f3e7b
+3f3e44a159fdbb940d942c43520b6760dad2d26e5568604eaf88278a7842315d062bc8b723d19b
+35d5913264c3313d68f88a1f063d0c1b5d51296c7c2878c5a016c6adb672f6148ea484b4356477
+94900efc313ca6fb90d3165695c194440f715875b1817b511a9255d75a7ec5343baf3115503e2b
+7b7550688caa306b175b35f1a17d821f4168e5f8caa50058e5700eca8751c8446a91c1ef58e6d8
+de3dc3d7f89facf39e5063c470f80c7d740fc48d67a51eb34adb4bf49f04166e3c8cc5edba3268
+4d760cf5de8e3b15fb7c922bb6866719f75f5e4b35fe0bcfc50117e820a707a9d45377bcbb9b50
+57c58d4d9ed248becb7d749ceaa982166f4e8fb3617654d46da66f2766ffd0404adc348bbe5cb7
+8623985f7bfe0b05c802f028d9f4a944f3077e85eb1e953656f07be40f600f17273a582064e98c
+77b6ed4f49b086e2e83e8e7dbe8cd9da174b49171822ca13ecd8ed6cadad41e56bae142c7ea81c
+e7041b17ce25ecc4e7b836a6d2831da602b8e74347810ee746cff2019ac296c137e34d2078d6cd
+89d12714fa8056c200294b7d43a678eec4b09c0dfbebc9899763b21f281a278d4a67701db89d78
+6acabde84a78a9647f68ca1f1d96237ba5496e840c270c2dc9320668eb83864c340dc520d9de1f
+6c6035efd0273406a14dba72d0d484cf006f559c114020aca0bc9e1822efdfec07866913956d0b
+f90c5b0f96b6c17799153e59603fb415cbac3aad5512eda753de8ea7b4ffe9135a8c70416899f5
+b6d1765b03acac1f8f970bf2d937ae6bcb694dbd3df0db2b53fcfdb8eedfbc7bb80246f7173b31
+93c0fd9bb5c1f2c3b3a9aa1b4ea166322660dd848c4922fa4fee272ba1ae64beeeb19cc875b268
+712aff8d4f245c2f081ede4e619321f341b217198e7a7b6b39b5a13807cb970ad03277fdbdbf29
+235c600e20ccd4d4153a4601248829f857509717222c2c9535e05debdede4dade6ddcb343c2e71
+5573b2182af3875528120b42dfda773ced4e091f4e99fc1c8f33832569adb8233c781b31ff3786
+8723d053307300f1e113e908473fbe39ed75a931c290e7efaf4c89d4cd22f63852ec30831d61d1
+de3815a6d18fbcd15f28eea75ae50bd0b237e8cb0870cac5ddc13da58dbd060d3193fc92e6c4ce
+f3bcfd81ce6b3679bfc5855796cdfa8a26d63a659a2ff7a1a7e318a7f76ff80e846a2d647d38e8
+27ffaf54bd5a9221eeb416a475eabf4ef0409b1ca55a851c245bf7207aacdc37e6632eded54b40
+f95493b63f24daa8dbd8e81d9d7beadd4c1cbe4f6f264415c8973a8225cbd20f29027dea8af734
+45f2b3d12f115c30ed09f289b1a0960cd0c51b7c55e3ed89e370a6a0a699963470f1b0af793af5
+ac7fb715f0c8d4f478d007cef09c0f7d604cb840fed753fdd26c83fc50615b4ee4ca5383c6eb89
+cf5b4a7f5506e6a03c7a805cc63b8c77227f04241a0ffd8b3bef7d5bc4085be9ee0a5d2720cf16
+94b5298f0580aeb19a63d672cdc77f8c635a3b3026b79a4dead059cd8b203c680a4313e7446ddc
+e7d5c0b0471340bb2b21c51cb14aedd48200b8db4745bf6861a8afeb3f74d99866d8d5b92dea9a
+9d565da3b3ed4f83d5fc3db4598f8b89dbd1df998c0e7c6166809af3f6ff2cfac3626f572df0f3
+f651f7b5c02375c3f791cd365878e61859a3b2000425a695d4fda30485c8416e81d6363227491f
+1fc422489db2578606220481175fbff11fbaba6b3ff3ec8cfff18bdd362b9aaea4b45b6675ff2c
+447b0c3200f0db86bd22b5ee5b86013f1081f4c5cde1dd27de0f880fb7bdc7e0e825aeffc89a5b
+77d2c3c67e71d8be2b651c695669038519887dcffac745b63d1363b754df94766a4b9450077017
+173f2806bca05781a2f7b81043c28ec2e8d43f15908ecfaee4a8e017b0a5fef15c6f3f5bdd783c
+6ed1751262fd794597b6fe1a34efc893b9f4230eff01e972da15b44577f8aea623d4d950a9b10a
+a615125993befd21a8330e1ca13b30d8032c4a3b4d97bb4d6b6c092293228a7d2d40769412e84a
+2086eb4e9d7af9ce918802c89919a99c2ebdf696c4c97e3746321c221647e0fd3b2a28c16c0a44
+1f3ff52008a899e0268e136d944e5367fb3fa96f6e005ab918fea074a511f32d92245c3c1f56a6
+a376602e5665e59ab321e9e34da0f7ca81a483ea38baa5147d43c656020ec028c78c0990279422
+4192c2aefb2830317eb4bc13fbca3d45186b59fb77a3314e3cc255111da27e45baae009cccbc7b
+c33127645868c3d22f34cceb3438c1e4c44e4192bb0e336bac4b7c2f96206e50251b04ad2c6a69
+86a8979a82e660d0b19755631c546968acbb8e7ca59d8ccda1e6e9adf52010657916e5bd469e43
+9fec1875b93c0d4f986929c2ad20f180c6edbee6f629a5c0b8bb6f16885d450430c521badbcf14
+d24e6914d6782eeea7947114cd5469ce40ba669051d5ea6d8f1c15ed27cf089551bb52854792cc
+9952957203d5d2387d875466c70e7d3e3849a9321ce159a55c70aacf5e1272ad8b2518d7693285
+93bc6d58e2bf87220a79139d6ee0d5d91727bba5c3
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+
+%%EndResource
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 0 146 88
+%%EndPageSetup
+q 0 0 146 88 rectclip q
+0 g
+73.574 72.719 m 73.574 75.117 69.973 75.117 69.973 72.719 c 69.973 70.316
+ 73.574 70.316 73.574 72.719 c h
+73.574 72.719 m f*
+9.574 8.719 m 9.574 11.117 5.973 11.117 5.973 8.719 c 5.973 6.316 9.574
+ 6.316 9.574 8.719 c h
+9.574 8.719 m f*
+137.574 8.719 m 137.574 11.117 133.973 11.117 133.973 8.719 c 133.973 6.316
+ 137.574 6.316 137.574 8.719 c h
+137.574 8.719 m f*
+0.4 w
+0 J
+1 j
+[] 0.0 d
+10 M 71.773 72.719 m 135.773 8.719 l S
+135.773 8.719 m 132.473 15.316 l 129.176 12.02 l h
+135.773 8.719 m f*
+135.773 8.719 m 132.473 15.316 l 129.176 12.02 l h
+135.773 8.719 m S
+71.773 72.719 m 39.773 62.051 18.441 40.719 7.773 8.719 c S
+7.773 8.719 m 12.199 14.621 l 7.777 16.098 l h
+7.773 8.719 m f*
+7.773 8.719 m 12.199 14.621 l 7.777 16.098 l h
+7.773 8.719 m S
+7.773 8.719 m 50.441 -1.949 93.109 -1.949 135.773 8.719 c S
+135.773 8.719 m 128.418 9.281 l 129.551 4.758 l h
+135.773 8.719 m f*
+135.773 8.719 m 128.418 9.281 l 129.551 4.758 l h
+135.773 8.719 m S
+BT
+9.9626 0 0 9.9626 69.52846 80.429 Tm
+/f-0-0 1 Tf
+(j)Tj
+7.1479 -7.469723 Td
+(k)Tj
+-14.126848 -0.0341695 Td
+(i)Tj
+ET
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/resumes/xavier_dubuc/src/pdf/optTSP-eps-converted-to.pdf b/resumes/xavier_dubuc/src/pdf/optTSP-eps-converted-to.pdf
new file mode 100644
index 0000000..b395f72
Binary files /dev/null and b/resumes/xavier_dubuc/src/pdf/optTSP-eps-converted-to.pdf differ
diff --git a/resumes/xavier_dubuc/src/pdf/optTSP.eps b/resumes/xavier_dubuc/src/pdf/optTSP.eps
new file mode 100644
index 0000000..71b5720
--- /dev/null
+++ b/resumes/xavier_dubuc/src/pdf/optTSP.eps
@@ -0,0 +1,642 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.4 (http://cairographics.org)
+%%CreationDate: Thu Jun 1 15:21:48 2017
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 0 1 417 188
+%%EndComments
+%%BeginProlog
+save
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%BeginSetup
+%%BeginResource: font CMMI12
+%!PS-AdobeFont-1.0: CMMI12 003.002
+%%Title: CMMI12
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (), with Reserved Font Name CMMI12.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /f-0-0 def
+/FontBBox {-31 -250 1026 750 }readonly def
+/PaintType 0 def
+/FontInfo 10 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI12.) readonly def
+/FullName (CMMI12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/ascent 750 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 77 /M put
+dup 79 /O put
+dup 80 /P put
+dup 83 /S put
+dup 84 /T put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 119 /w put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b0027b6f3b53cc32be64063d04d328b49c17a62c396cfc8
+17b9fcb732c3b0aeb6264b2a70f62fbfc397eea8d069af80a71b775145f9842057f969d124e630
+1a760710a5c51e8981851fbcf7f1cd1f2ab78db91af2a6f264e41cc2cdecf450a3a33c89fa447b
+8bad4068cb8d7d37adaa4caab8f72cc26b024348ef8708a0ab6ee56d73f035ac9b506c91fcafc2
+40791cc10b1b0ca42c87a24a69e83f61a20432744f7d79437b93825d955cee80718831f56e0254
+0ae4b3a70b9dda35ca4fbcabfbc50a4cafca7423203f1b2a15e6749603d63b0cbb201e4b9fb558
+f646912754942767968fa898008988333600e410be1426b8ddfe0381a0146558732991b59cf9b5
+09e40f34e7e8d364bb603b7dd9700f676b448ee17493e9b60a5deba1b074e355a6b5b981bc22d1
+b3e913e89c2f921b17b998c8777c766f504f7f79abd76571a2ff82e80534b9ad8c6659828649ef
+3adacb33ba7f372b681014042876c3654cce44965da20b5ea176d47fba7b0dd44cfb4eb1a1426a
+7a6b713e5db62a5c9a717c5e02b1ba2194c105f7ce16478e0dcd07aa1c28feaf90ab5265db6b3c
+0cf5f9bb39bb3f4c59120767ae40641452e2f86af2d110c3771ddd570697abc1148adf8c48b968
+cac8a587dcbb63b109a56aad615e839b646d12dbc5d4fa7f78b33812974a8c462859538fc08a2a
+517904809055cb5f1068ad101708ea1a4144f274d0241ed8ec585fff5504a1b57c7d728390a608
+21d1d51ef8f0470decc7d97c0204a4809dc697a85643b352914dc7a75b12bed89e4c0faf6c800f
+2a32fab0be8e61c0679f25d41fdb28d107065a73e3beebb69b2b6aac80ee7ce255fede4b5444de
+e8a3ff85f814becb6fc7510a1e9917bcf39022d7a1bf0e2df564e45a310b730027a8581ebc0371
+244f81863c691deb381feb75f29b7f9ffb014e2f92e8823a972be7418c2cfce60bc87280a1a534
+2362b389b56f51e396c76494d0cb31f6177445b1d01d0544d76bd37e89fefc79df633cc24272f7
+d67278ba0b08cba0406701af54d14da8fac6b86eb05b74d0d2c9ca96daa38cb49c3f68f4998ab8
+629ce1fe2ad91d0224800a64c6a5608a242050850c859b893a81102282a0f1a9032a27f85dc40c
+dd6819c988b3a915b22be78d3c595d11d726feea7222070ead4be4841d9e7ec440379ee3462d94
+7e64082b30fecf39088073f7aa2a69631fce17bf3548029f4d57e455f4977a2d00a50f38fa1f75
+18fd84adea6c2ec0a9bc3d58ec121cb67ded8ad52ab162fe25e200083d5ea5a6cfdab5558b5c2d
+4fdfd2bad0886c7921a812b86d083ae924c64aef8b9952459832feeca0491ceb3504dfc9762ea1
+2b8bbb2614614373b0ac10b2f43931d2e84d6246bfede031d07e27f2aa258aa90149bdc82337b3
+d27431a3b96c5f82bbda3cbeb744e8249f22ec63772f5b283f83724f570e0100bf0afd9e5ce250
+478a86030b4e37acd7f30ae063cd93df731b47ab6ee5c96317635726d9858f1c20ed4032aa94db
+796df1facbd884af0dca21f1444c20f3a8b7fd2472f0d78091c87038f7a509a51c88a123220ebc
+b89249a4e96e6ea7623bff5f4b41c700d5662aa262d04148cf55484dd32727ce4f2244e21a2b42
+e2fd671e7ad26d77ff9aeb3031fb98d6431f668fdce4bc7cf71e487de361bb55f63a7e6a7f7c18
+b8447b2dd1695683c6dbdfc02880c439696f899a350794b5d1d2b725b53b6f65ac55e139107815
+9299b23bf61b2d4da384f3747802fd7c9dd678b29b3686661abf4d999866f3f17afceefda58236
+15197bbc76c4c7542fe78528fd45ad956c9d1d15a92056e5f4a37354ab702c22781062d746f28d
+033e5065f9c46e644ce59a7a366dbf689c533a9d8f7db6f21de01784dfa43c7d8c0bbbcb9712b8
+8415e531277454cce32e92ba36f70dcce72033b32f6d8c8bc13cd5b3e3ddb9df7c6ad41dbaf7fe
+db5ec4a3efe119699277d96a80ac2547e512c2658313aec0f94cf4ba3dd0c6fbefb7899d4874fc
+6a714f405f943ac03ac206d4550ab65d48799abe1fae5eec610c3f9f607eff612abc23a3c94b84
+2b85396e7c5d21fc4c1a2a86b585513c2a892325464ee9693941690f3267299e0548c4b354a984
+b326664184e6d0ea66404468db0d898e6054555bc00296cc7182f11e29783a4c69b66dca12a97c
+a37f218dc02b52971807c8ecd629870142bd15fd4852ae10ac977781701a39473c548006324889
+5c21d12c19ffa887812bfec54b40bd8c4f29eb36431e2c6482490937dfdb4e2deef3df842241a0
+76198ea01653d3720641feadec4df1f7ea63d2e19081f54728a5f4fed9bcf94f447bf9de0ca752
+1f2ec96f2d1280f700a5fcc1386c1c29af267df423c6ca73c13e0b5abe16a276407e8da057debe
+e2bd6f7f9cb247704ca13bb659936dfd4a9461f61d53fd4844e1548b1345360c75d75a7e8c0b12
+d73ec77007e74ce95026c969d3ccae02cb6de4a06da08837f0bb7367a5f0ba075807e0584e5665
+13b9ef72f64439d29045320eda26c4a2c7efb40a2ed596ccbfebf38c7c0d31c233f21b94eeb095
+564cfdd235795751109bf9a19f9d8e2d6c054c00d1a0f5217b32dfed2938df70e6d7f773648eb1
+61fe0609a4fa8410f558bf3e8630fc5059dfca81241efbd5d82aa40c052d7052b29c84037fd889
+8e9248ef9065808b00fb6f8529da8531bc85fed9780a9670cfa6ffe1804198c76a0a8e757c6687
+db3a6178d73ec34b28c275d220e5ae4f18a22d29be7412535b2eea51959661c8b662d929f7b751
+eabc5c5c07c77c9a03164e20a41f406c825bfc5d11ec549cad81bf7234c4fdfcbc4862c669b0b5
+4359cda3beffa57675714a90fab971d05238ef23dd46a041a1ce144d1267a707bbfdb27cce87ff
+78c11bbb9feedf08caa51a85646dd2f81fb6800683b115e77778f580d572338e5c3f4672f824cf
+178e01979ff9d2351a37d1b4a9e137e724c11cb893db16c413a6d44ebca7bef6e77e4dd476d62b
+9f8351ef92a280998d09f405d4a1eb12272c285b9581cecd3e8c55dd138ed4afd57ea44ca722c6
+2ba10686f262b7dade5c89202cdedd48affecaad5bbbbee8ab87f08cd895348a8505bde159d1a5
+7843985e34bcd49363e376782c96474a89949a3ea5e15cd3cfd950886958bdca9463fd353a2e0f
+d2161daf70c52113253a4bd6417587a785bb2fcbef7893e07871c65970d7444a988de568435d18
+e4768c9a1b30685ac7d8d80c0d73e1489aab61ee4e0121e796b6a87bcfb00dd825a73d1776a8a9
+f213859491a058d99c9c70740b624c9d84712a011e9359fcb2f776c1d26c28ff5674e178d82f74
+f63a52ac3c512edde9888e8da18d05f0d944dd460aa85491da9fb6bbf9432dcea652caba63694e
+badc75aa64e5720b5d1526e0a8b69aea0c0bc7b214c24a2750e342810ace935446a60851d2b7fa
+68cf6ca94b06538c06abc143b3b2a0713a0a82033939786563065d52d37b7a43b10387ba3f794f
+ba53d62ee62be0542360fc6069aba6bd0fd0d6391c392a52ee8c03616e32a5310ed156a9f0fedc
+8cc461eb9c155be6b2a3da01898d30cff70c4fceb5398a5ea60986b0527ab5a8a0b60d4c80ae5a
+ad3be6dd951fe6bb04997156afb9967706057deb8bd4e4365f16e211cc9c1dcb2e181b36afe6ea
+69ecbef1670fb9a077d6a2b998eb9f745f4fb60b2819254dc1013b0f31cc95eeac7ed9cf52aff0
+5ce0b4c5ad3234bf4de92474d895b1100eb46a236c4605a9dd433821ff759542c4b2349916cc38
+8d61bdc0fc8849ac4047ce46d33ddbe1e5014f99443a4273ae6fada82e1a28cf002905d9554626
+e910a630e5dcc96bb98cdde6ada26313991e9b38ffb4c3d5778d9e9e9e0bee4cb556b5ec99bcea
+3c438c38ff7e6787c971efac3ce41a46da5a077e14c3e9b90dc42ba4a4ab61286a84450357b29a
+b51ff8c52c0fb00504e76eef8da4db3c9643c56f0cb6456b6ce62221824b578c13a054a0b2e340
+2dbf3c2488a61346b16d348f3de6a76630e7cd118102451c5b784508fbc238a8edabeb5e7c419e
+2a204bec81ebb678efabbc858b25242949e1af67ef96a3441dda3e720b9a63cab550f56ddc9543
+5dd6957b01464c4053625d266b3dc8a5de62da0e88b07d23ffe2bcd6139e2af33834fcb971e2d9
+0c12ce0859b584bd1b3fbb755a5b9e79b7c90478458d13b54bd3d2517a43c096e35337168924e4
+a0d131e6a7175c3cc5c601e173296a99e0cf1d9e4cd7ac8cc63e40666f0fde713a02273d77a610
+82fbd1a2cfcfac84091b580544d023b85b93c9526bc18b85615d0e4da274bed4536661646d279e
+3aeeaf9b7a144394d6ce81174c5f8dd7500c3ac83df85075413be3a679e075149985d5c67fd4de
+71652b1458629892f167391bd15550fa0b283f781b332e85650bc7aeb33fbb44dcb5e27425699e
+57e4e62cec3f0df551356ab50860d73f67cbbe4ecb3b6333100305187ff292bbcfd344ac6cfa71
+c685042f25bdd689c69b960f09f67ff899e37e45b4e6f91d704a74a301061e3892aac8395f1548
+437606a323b15a908c297f8f8b2f50ea19f289989bab469d0556c85d027aca09a8b6346f6268e6
+ecad86bdb2958c42554a40562e7e7da799e8cce777d2e4739fb415d48a99bfbd6dde0405d236c1
+e08ed650da051bfc96d3a7cae1741c67cf8d483be8d070697f62621e322dc66eaef9b82e7e21ac
+31768213b33efbfa4561b09fd72a69f05c1f80cb7b395568055895491b1355019557a56a138ff1
+0adc7e761baf205f9e691354bb33fb1d34de0366ec41524c405f80b1c804dac9916f65f0e64734
+aa83d67c42c55ffe962bc765db1758e22d0cd47c6b48460bba8cf8429af027635a3e7601c9de3c
+93e5793248b29cbec377d08ccb66c62311eb4423a232fe03fa0c2b1dec3d815fbf02e374c0d3e0
+64535dff4d9427e1b103496ad5e13832909d3e6c63265cd2b68ab2a94901a3a7367679cf6c888f
+1fd558cbc74c06ed79723b1b50155c87de4df79e5f47779a8f161825790dfc2526377a652e36b4
+5666307483488442e48223e2c3d41424c7608166c29d0e8d4ab6c956445a9d025f99dbcf9d6a74
+61a7366b8b689cfc80dbbe84142bb2de635c7d23e2bb54c165ffefdf4c2af1e45286580d589095
+8168325f4136b7af0bf24b7d5f26dafbe8906ecc59735c0f1963ec46015e034553748c2edbb056
+679270975f1dd3db6ed780a9c36bfe22ea7785abbffef2c9f9db0c4533a7fb239c2db3876ffe3d
+0853fd15e4db66cfd2a7127f05ffbf49dbe0ed1c22395722c93241a77a902b3814c4827f9de5c8
+0cdb9dbe16788c2c557c5d3760b95aab89a6beb453639121a3615a31f8d1062e7b8a6ee300a325
+bb12fd5702ddd1bf684ec7b7c1241ff1aa85406f5f71d472f9d265a060a7532c0aedaf871e6bf4
+ba55f57d6963bfb9a8813ca63c76c6da52a40ef3b381efd39b8cc6c83836fa175adaa5886b303c
+d7727f420d9792e79c676732ce7da08711b4241e3a9d85ec5a3871250cce2a92bf386870182349
+61c2cf041cfb2f5a021ea7625d653ea2db52f70213f159880e13e21347e4e8eca409341be8d34e
+d72ee6d0bd2b6375ce4241c43fb48a4d09681028aef325f9f3d86a40b5adb0874153a8581a4195
+f1b37d3e108af270650d97637cb2ba1ec4099e99c7d1d677067e0bf9a012de956e44f4532ce46c
+dcb4e1b7cfc5b888d5e4857bc6c13b2777192ccef00728228fae2c0f74310586fa647d70b19c97
+cbfc380eef64a35ffc3b2ff36264bc12487df0fce647d5f73481362242a7acd1961425007c1282
+0a69efdcff450bb6ddaa47c91fd1fe235dd38baba5b483357f42f53cba715197183b5c341ebf5c
+fce7caf37258bafd818d1bca6e1eceda106594b0ea77254768141a6c6b9122ca43ec05d56e95ea
+f27d62da06d02ba5aabb63079711276bb949ed46103b7c307f0e8624baa956a0f7c1923ce63399
+d2127e55b4d4701b6eda197a5e1d961a233a3972340515c51ad4ab4a5eb9e54f5beaf1c8488642
+576a5b210b2049edf5627a5bde7db4f4289277978c34c4b01aff01886e8a1d5f9deb7e65aa0a40
+affec140c9ab8dc52953ba306ce7e0cda085206ef772e0008b828b937ce6d3b23953e8991e95bf
+616951654fb11c173da91d6a01c56afc521033bbc22ff41b909e73ebac3e179e2598dfc0190c53
+1be6545571eaad5d9b06e92a32370f32789aa74521de4a220a071de0603804eb0f04c041e3124d
+dff23237743e036703511f0aef342dc6dc7d37e759356de5bb668e0ddb129c48ddb46939280522
+9d5e6efb3373fb4bd4ad00d0739fa2a57f44dbbfd9a0a18f3321131e5183989c563188795d69fd
+1875a4ab8fd2b074801aed4de0852f6b8e1c36fd9924b7af71f24001c62aea1c0b53fb915ca4a2
+be82e56cc44c75d8036d23033491e84bf073751a1901f92c73b0e0f8bd90ad19a8ec2d876efa72
+c6c3115f1e68eb35dcf9c1ec47bfcc4f0109e763d3fd182bdd6e96de80e03b7d4b4a48cb4a674e
+033ea94541ccf0d550e53cde5887235f3b26b49dbd089de70860a13c76e6c22033b7907f02ef8a
+a427a89403b8d5cedb943c6299406fd8e5b048d4686ae13ea29b9c828cc5c886cf62452725a95d
+829741ac7ce98ffb6b35698f14290822efbb07743401b014816098365b2b872184343f48d5b374
+61ac738fa5a8a628f9df3d74f3a9d4cf588e12fcbf749b99005591d32c3399b70e91f039194e4f
+9fe996b243adc35ea3e5bc22daecaa1b06cb859a185793d8f6aced1c0b657ffdc88e73fb583f96
+61b9944365289ad1c71a1beb7bcb6155ac7ff703b86d056b608eb384b1b7127d252c1e7486a86e
+5cf76f45abbe373a41f5c59ddcfcc90d8d82c7dc1e262b7731162cd03f40f60e29178a2f7a5825
+5512f23939dd3ccf2b483f1cf076d0dd225f5efecea9a7db9fea78cf9533ad3fe7a1073c933333
+678cf133e6ea750a27fe8b0ac821c2f524c42b55d2bbce8dae8cefbe2795bc5a9592ca602c13ec
+5e647384de5c5e6cb7cde1f4d25a34cbec9df65b7b5684008a3f825c95e1fe222364f2424cb097
+add091dddd793ddcfea2ff97399cb3d20de7e9778de33e6f05b335b1ae243e9985b1f7c5eee3e6
+bc93eb51093fe6e74b6e3ce45d8885a1e3d14df0dbe8caa0169acb7571ce59ec2f69b2af2356a3
+bf88088ad2c7cc5ad773c148503c2f2a05c5b926a84b6f21c10ca128ec7890a0393b0ebcf82c2c
+de5afcb03b2c04b8b1d0f2ed7704a27edc5f42809e0fe52cc0a7f8452e19d0c5fa09dfafdddfcd
+bb8a6a679686f8beccf2e21e41e8b1ba6ac2ec95ff0b34181003cf2fb2e22430b1e4e9988d4d02
+fc8c8fdf66cc0080f2578ac1ee31ca698f9ba73fd2f337cb3ae203d6d3a9f74146d9305d44ea8d
+7f043270ef76b87f2c97e3b35ee06ef0d185ad8427a62da33d26cd5eac5748ce6897ba7d62fc5f
+8ff85d5038e0066fd2c2fb92340254445c3bbb41ba9dce959be5e80a5b00d53d574807b0ab2440
+5a0aa1a7f87dde936d2a1b98e6dc49218c2edf11217c96a05bab19995a0089885273bf22ed12cc
+95da4afeb838c54afc853c0a83d7fabbf8d261756a8063d89869a803556184c1adcd28a22e6d82
+f627c6fcd8a19bab5c24f1e89f1e5755e2c3c0f5ff79d1dce4f63ff232d534203c778afd540f11
+48f4b6dde072c7797a18e5a1d51149070e6715fdd2ccb5555dcfcd5656db626f23018ac697b3a4
+276b0a7469a63149e37b6ec033ddef914fcb562e6e77e9d7771807e5433b84649aa3b3318814ca
+54d0583baad353a1b43218e0b87df40b308151875c28c7326a30509486f9cec4a303aff74fb5b0
+5c531cbdb1ee3459f58a323471237cac9475422ca7af7010a1cb8c9d152d6c0dc98feb55ac014d
+4fb55480aeb7d57d3b759d01ddbe90c7ac58cf9cbc52b6b5abda37f91a81af022fb84c17059030
+556bb6c02a43b80a127e623f3ea21c82eedcea0d07d9a5074559544330668c1a7c11e38c34694a
+3d9909f5ce6d50afe89dc1966924c0fabd33553fa7965699dff68cee2c53509019da683ead1342
+0a57e20e92f072a98ae31b66d8c1d7e8da2c8628d2082867b423c50f79d9e8fe28207547267ffd
+6d66a33415a9b4017d9a660e62245c8b01c55bc0a124b0b3210c740ca99e2d1a1d9994ef14eee9
+bf2b469ecf94ccf1a96c133ac3db55a9e5883980aa09ee459261c04a98e2f9dfac80ecc060d921
+83c853e1ece7258752d915419c540e5fd5922f512cf66e68c85eb829b9ad298197843799e9259e
+3b208f2bb83c7a9d39e23f648bc93d35dc3b39904ac4a1a00a50dccdbe8721aac2f00df496a528
+a9541b21392e2785e8b3dca51468890697805230e18b743852ab3e9229941472bb589ccd129019
+12a5a494912ee40d550f969416d2ad80523e4deb4ca4d121867c05243f1570f23f6b23d6f1a5dc
+bc17b40e84b5f4cfdc313a519a12b99b8913ef39b67d367f53db8790493d8e41e675de23299a9f
+dd759e9eeba511bcbe921b6481c73033a9ef1e6f21e26cbb08b067d852ed057701634f1dfa561c
+aa81f9d15bce8df0a90c0615586744103bcbe012fd1b859c318f9441ce40347be44e456a092350
+30f491a6ae67d0b71b6c5e9c8953fbdc592f4fced9a172e6abc63ef95d25ab6e82e0fe6a668adb
+fd617b2a1be539e508da42db2e0a03058228671e741fb01852e6071feda785e128e98b92ed49d8
+2ab9f2e4ed7cc449b584c409ed1bc0d01fa2de88712afb66b81bba87da295701a03c7fcc6223b1
+0bf291a869887294660185941919d9831a5014c0643f6895aabc1e4caab8bef520448135287e4c
+4ca6b30dc4a8b12e82681a920c9d65edb3d31e5edc76ae832992c3d07b82acf522b6da0ea34722
+67a821434c0165c6690184c0258cde6b1dd24aa25ce80f7d0bafafdf5d853dd1afb2e84338fe8a
+355518c904e87438740ee82f36921c887000d33a34f96bbc5624bfa70e973b879f6b4bab69fdbf
+5481a4124ec2ae4589e8b0d70934e821f221adca581fa45bec34110d0de66538c71187b3cc1e69
+626815db2c768335c1f8e97fb86e52ee9f517505f10186b3339c24ce1fff4358d875c09fed6556
+61b72d2a46dd208774a713437e8f665ff4db9fc8b52a4ae2eeeeb96871845bf5a8339b2c1ad3ef
+cb16258199e38c2d29a5126a82981934058b7afda25eed3b3050aea58cfb84ecf754cfe108ca7e
+53720507f3431879ebd91ca85a09c20e24a07e5789b966ed4c38031c3ac97fe1dc9a45857afc40
+09e80381ddffce058d8198a6fe468009fa553f12672f3dec157c876e823f5ccf6680d62f057001
+49823ea61aff7757417ad98095ce3fc5bb6ada64c46245ca6d151bf68b93c6cddfe0102fcb2b3e
+763c2331e9f207f44bf90493a3965c142fb74af6f4ca6aa8a4b8382bf3bd38928f83ca0f40e9cd
+0ca05a597ffb275f67a042751166941fd87bd2c2045fa928911dbcfb58d065a2cede823dc32543
+d13bb3f9443558ee8b81ddcefccd5bd0b876b16ce6a9d564f67cf13ed6603d73c38b2f442ce1c1
+38c6dcc972b61a4c0731769ee6c6184d5d4e39550035bc13a5940927df70ee659891ac3a554e8a
+7882dc26fb86bf48cd0ccc8810c3b86b517775f3611533e5990fbc8630ac3a1d54a3485079877d
+844888119465de73809ce40a4df0d74671196fba1065dc5612fce451253639c11d1219520d0254
+b0be044e591bbaec666f92eed5cded01c065810ecd2f9b64f89060d014e251302965ba566aed84
+6d84b1ee5bc3c88c4ad80aab804f82dd9286e96f00ad7a2c4043b5253c889d9a6dcff0d5a0f743
+29ce4bb08aabf884f481a5aa5c74ad5d0bc42b8c02a1f0afad9c4dc82e967e6ca91bb12a103b4e
+18fd8d28edc0e19c0e472bce7ad5b568c146c4d60350746ca3b21b026e9ef2ffeb99c31fc17375
+733e64247a22badfa877a1df3c64898ade00df2b8152cf8e96808ca630f67f9b4fabddd3a2142b
+50bf2d1a83717996529bfa621d1e943264284030721c4e0b85e41b3b69390fe39535fa56cf8c05
+3a99ace0912c5897c83774027bd86e3ed8c7a25c2715b2b07ca5e61375540f4192e0ecfad0e044
+840cbc93b4688cbd0490cb7cf55186cfb32b81d8bf59d92c04261b986fdd6c766e30f1167a794d
+566e91eb988028a0d297b833e200c509c44690e65daf58d43b4f5bc186b27843c84561bcaed8ca
+1c8982f699ac405aea3757e7540208837937ee6e9ef3ff52b369240b0406e6df6d109fbf32b036
+56438220fa78b7efee9fe73738e0655f0ca91cb4d8c4d0509ad0cd36bae28b2bbf45ce8710d436
+5bde1a0c2703f3b0abbd480e2efd1c1aade898f50d47c41006106507c8e49e12a0a8c7863e5e82
+b21c0e976ee4b823b66124203536cbbcca96391b80893fc248319d4f95e5f3947fcd9f9b059836
+28427b3500f5ae753cc4482ba881923001dae65a4fa79e1dfce803bc75cbf7c65a15e1cda2cac0
+8c296a49ddfa9152e9831c1643b8a55628b2449abc288cc37231400ba71e7aca3c3cf400c84f44
+5de290bf80bd1c71c7f361b78c37941659bee51bc8c4a2797e56e621ee399d2fa4b7f5017c5cc2
+a253c56ec5d100ddab9470b9216078df9730150d6e6a6993e5e9ed2a93c7ae2af1621058bc3841
+1f481e30bdcd5a7ac792867378d37335eda5b16b94e5524b33227acf381881d226e26e4781778e
+9e2a98a7a9369a9b55cd001034ff8e31703728113d3b1a8cff235d28ad2ee1052fa4162502049f
+c6e750da2b0736bef42781012774eee7ad20b56c9df39e82ed0aea8768041cab805145524a73fa
+c5eca5af79399f5566bcf37550b7fbd3cf27d1ce256a7ceca22d415f8c81f0402053072f2bbfaf
+e11ddeeff17d7180bf1ea73501ab5c21850bea60d371e6b32b04fc02d43c6a05d610bd5726c085
+a5130144273949ec5a2f531406ffcaddf31787e4293336f4ea70adc31005a1df7e5a5209d27668
+032446318db978733eb1aeca9eeeda4e5058b83d38b6e2e4d5ee2c9dc34371cd55debd6071dafd
+24b74cd9d2a3525a498078c3e7cec0a5cb9ecbf9b210f09917151a4a518f59c74effd0f5e6f953
+7fb4c5ec37189ad3fe35778ceea7e93c7ed5a6170ec79f96367e066ce3e99ea651b9c91d8d4261
+d6649b6479ab7273f4f46a0377b21b9830c24753f02ce6c44f0c291f93a303b14e916932397e29
+7200142cce21f53137b815aad818ef6d440e5679f0d39c48854d269b359174d92775284fd95f83
+c320d71d6a9ab5352e59fd6e673cd187ef932eb3e9fd1193be860fbcef98f1440f
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+
+%%EndResource
+%%BeginResource: font CMSY10
+%!PS-AdobeFont-1.0: CMSY10 003.002
+%%Title: CMSY10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (), with Reserved Font Name CMSY10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /f-1-1 def
+/FontBBox {-29 -960 1116 775 }readonly def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY10.) readonly def
+/FullName (CMSY10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 1 /greaterequal put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b002413b5a82674703cf7ce9c37d14eda0d728563f1ba99
+58598f07f0713415830399237f6ec1d586178eac242c1895ab21e11663399e818fa37b5c425347
+37f913454b78ce7ff1acd6cdeead11fb4ae6b3f8a0068fde82834b462c67f14c6179b4b4bb9681
+626bd7a886d765604d09e3e127dcc90912095752d78fbb2a5901ecd2dd2395e369cf847b8205e6
+4dcbf75e7fb129b6ee831842f9dbaf1ef8ee75a08e605386c7d3a3aeba2f59347b83c9b8fa11a1
+c12997ca63c53b00fd0b0b6070a4dc7928bec2ad267c002eca80966b746765e2c0c369ef38c5f0
+4438bb5ad9bc40530ac9c40ec2d3f4ce5f31c558f5b77314dfdf8527a02fa92582d051afd7fb9e
+fb7c952c3496a31f3ebcb5e15925fdb77cdd9f3239d37ca751d55b1166e641e858c6089d9e6baa
+9966c9c8c96cdaf01821483b83590d30bb6d5e2b99d9cace7e18af12e9f1f78eb2477e5e386841
+d57c0d9bf03e1d299178267e93d4174d08ac361c5847b9e6af009efb72cd9a7ff4717f330ba422
+c571d25283248b42e845f69a1c061b641d4d81b95a5bd0f5659b4e8c6eb525c4c84a37340987c5
+bc6bac971074df1e4c21acd41191d7610eb5c2081219d919bbaaead4a504b0b3b53411ad3a5ae8
+217faa80b81381748df4cffda026b6801fea76a727b4b7291fb0196421c67cb4f7ecb760cec053
+983ef6524a1ac654f4a045f29a00877b07ae45f6b842fc2df2dc6ec23f8180f1da035dec8d29d1
+4c4cec402199ade9a4f00a0902d5cb61a01d6f1e7f490facd41a8301f74599858a1f6af89afc1e
+ef008aaefdfdfef8e4318939f31e3087dd752c7867939dcc1db5eb56ffc6c2c3d837e68843391e
+9a1357e6c13fab3dc5de6a370bde7ba65231ad6715db5e7497165def93b409211325fb26e60296
+02226ca45ffa6e5f8e2641e2b8a144065173a9956b8a8324880a8befbbe2c4b0d20aed981d75b6
+006e2eaf80c972a66f7713c83c65f66de15df8cb3183f60eddd35731e4033a5aa2981d037e3e36
+65d2c7db8b2cf0115f658cd933261f0502602239b6c5e3c4d4a7773831b661483e38fdd40afefe
+787abd757aec2a236c95c685cd155ec9d72a42a9ea134d1363bfd231cdeaca87d1ccf0f162b739
+2c2bc97b8765f6ae4e5ccf6dffb7e5ff3ec5305a8c5341d441990fe20ad311566578f254ef9ffb
+268e00b26f767dfd60ee59e821885a7ec6f2c971326f067d859ad23f5752044f46b54259521bb8
+e671730cd74dc29ebeaf41e2fc6a415a6d79b385959ae4648fc351fca7333d140ad9a898efeae0
+e8edecaa5e9b76d29a3ae98d49dccdc7dd06447edfbaf5a6f38ca99acf4b0a932948dbe3fd948a
+b9e410c6aecec9ba9c4d9bbb1047122539a94983419dee5f141cf27a6a2760d31653927d0220b4
+e2cc440e5555ca9a21bacc3569982b513803c10e22ab8f6875f35b8291dbc4bf9d8f79ed45c8f1
+3906ed2082bf5dae095f1c9298715bfaed7c577acdc0d6a9f589d171fd7a283f377177c60b313d
+34187d5b4380028841d107620b892a2b34a98bbf25c8444c7eab48bad2f883d385251c8eb71fca
+21554c9cf6cb3c7bdf10ceb0348033a802e8894e8d737da6dddd57c7ba8f697f497da31bf13ed5
+ed203587257ef50e680fbb873eef35ced216621b1f4f506782bb42dc9828476612fc32a4b1d6a1
+547f61c6b9258e943090e281efd76e15ab6dba413e3ebf984544d59e3f6223ff87b2b26afdb1a0
+faa21361ef248689c721e2fa9d5f20f428a0153f71d5517e00e22d3b0b2bb15814d411a8d6aeef
+b18640a87ead4a3041844042ac5adaf93f8075fc9cd599cfc0467725f6c14b43dd5ffc1b0f6c9d
+0cdd84e58ae4fcd198e58ae6aecb482ddea6b0a209108992606235f07cb7d3f7f0ec31654c4c19
+ed32e9e1aa618a8015299f98c99f25a81a751ceae2f181c0858943dd674da8430da475b5c9849c
+3818357033347bf3126d6afb4a02a1efb8a9b0a2ccc1c04f295e4a4fc641344aea4fe44e20dfd9
+61a40d44a5de60d2165714f04a910e1b27b26bc5665f3ab5a5966e807da10cfbd63a8e85c7ce6d
+aa19b7249cb426e1936d1d114a097a461d53a37ab0432c2423c5de6c0939899f3576106b6b32a2
+6e52c54b0948700bec034a55c4d65e131f4bdb33eb107bb7b1c78759fb04a7ba030eee5455f06b
+8175885cbfbff196bc90fdf72289ab2437b7311848ed198c2995cd6f82a23557eda64e49169e64
+8f48b089fea579608970bbfce38840b035b4fd645cc52dd6ce2a2b9c6c474fd073c2ad1ec75f64
+37d69e09d4c5b08f83d87f83895bc4c26243d54f92d95db57fe52fdd02748bd44dc417879c1976
+eed767538e2d9c46c4e1ed5d261e0133614f1c5ed7995bf8ec717718235a0954fdafba845ff9db
+c440431e5888a1240c24a6d2897da181cd5f93d49a6ad3c07193d0c3baf731aad9b310bfd477f1
+9a692e49657535ee11e7fb6e372d69f93f0560ca4f50d2caea8d1881dcb6626d0d5bea918e350e
+6f675a6c4279fc89225d9738c8792eb6221b6622c9e2f1d3eb8b83f2604e153e387da5e82ee2d2
+9f86f780048ed2e146882e479e2c68db2f788dcb07c708720b98b4855d7fa178ad1e0122ddce2c
+2ac5d69dbdadfb43fd6a01e50a199086cb618efbf9d83edbf78fb50f642590a8c71e19278e3213
+a3d301397820b319e83cee89c9fc5171a4971a5d950b242c716b81dba17592e2b0e9ec8cbb9fb9
+a501013952c33fee8010bd69a271c8790c26486a87b2fb7b2374e393d07b045b6d2ef8fbe9a08f
+ee0c3a4d43ba4183411b4fa7861e26c404c1c95b28e2b51da93ccc20919912a133b61cf65e4c33
+4f78f24707ed08d8a6f3d4c5c9c2484188eaeb07c3a57b37afc84bed975d216bc1cecead576371
+06bdb6d6c00c261816ea0dea601e37d35ab03f621d0312594b4f63902999d093c093785c51230e
+1d2b590cbda040308109fed700bcaf80a738e59ed740734a266a5c203bf7bf90fe06430a488343
+a1413a3e3629e0a2734dafeae2e782d8b9adaa0171dab586367b7c0e07a5c42fad28174dc318c2
+ff74d46d479cd90840abc2b008290e30040ffdc2c50d839f6048003d752173879b234c7dcccd36
+4ddcf5af058a653eb0c2e10936226327530a79522eeab228d77b277ffce0e12d2b1ddeb2efe21b
+3bc35dfea8e2658f5f82aecaa737b9a30d6d9a930ed05f6fe39593351eeb37099a49985b501973
+4f11e3efe47b45623d6d8feb5c8bf55e01775b341ef32f402b38a61b398b3e3fdb04cabdf630a8
+b9dee97e2db46eb4630e07f5583d2a7ef69bec877b07e18a889050d9ae75ea5f7f68d829ff0d96
+8e99e3619edd05b8a23f1afec2cca115557ffc0577abf8d080eb5498aad1e6cdb9ddf82637c51f
+78d2e7d552f2f1b68d7ec1c333dd544465b7f9cfc4642b4ce4edea2a3ecafa10c4994f9b60234c
+854582c6beed25c3eba39e1e79d1ab411297334199f98bd9e07a41aaeea04cb8aad62101cb70f8
+b5f48779f914fc6fa3f840ce5e741ac4b913f0abffc726cce2144f7f6c4e38abb6a893b77cab74
+044d06c577fe2ea491f1ad1cc249b0aef7e91d8bc289b97dd4bd5f7abed8d4fadb9ae9bf2a44ac
+5f2853b389ffe95a6799d5b8ed4e73e9507432f758de906cf9140e18bca035164435045ab3c2cb
+31c252ac4c9ec90203c939d9d6c6e7f9d14e3ef37348f00905af5380e0b8cea678c4c47fbe9284
+390559e15a5bd0a4ec0d7fe9258da994baefd7fabb7935475cca76173910ed94703e5d32139b23
+eb6b4aaa1b972bb52bc3c156838da106fc3d18f7101d51acdf1c0cf7dc1ec14771ad8e0d15f8ab
+de8541f50f5c1b3c23eb9f8fa6ca92dc4751eabd3035e3b59140a4f3ef4aa53f1ff9c2872bce1c
+a38099fae2f8563b522bc717f24f0a1309f414346be8c6e90f0c427e30c66b50bec309d92db6de
+dde365264f069f6edfd63d2fb1d3f794bb63c1347ddcc283a53c405972be1b6644188d5a71e747
+08e348699963f7cacedd537416a9f3e10b33fefc00914efb8d7c5da8f19da6e79d85ac2476a21a
+b6439593e1d20cdaa4dff0873a6abfe48e21625f048e6b093b6b58ffb1cab49fcf94254747daba
+079551acd3416ff11fd1330063d5bfb924ba02e1a8c6e3008f1a3dff1898de839e6b97f42ee7bf
+c47e07a7c47345335e8836f6ac3e95b4d3eee4b755ab17ee8ccc6336aa9c404336f12a20c538bd
+3715537a18cea99a6246a2f13c93f30f8080dc66e3b2038cd4c9bf0d6bfa0dedaaf2c17fc8373e
+d7999be26de4fb74dbf9a718806de106fe4300b239bd86617b2314ba01f1b8d956341a28893527
+ebe424ae5b9b1ee4ff5a3dbc94b9747830382fa96ab31e4d21ae01f2e3bdbc868176d9e28c084e
+7652972bfe753414b020ed2c4ca233f6ae2c83c468d63ca4d8c21de882ba290aa0a58130386af6
+92c92c62c94c6da5daef8ef5e7f863bb5a311bd29be0c6a63f02eb2e711f129091fc4bfc0a4a56
+a164571c6a2c2f2edb7cc7eebc93bfbae8bdc5bdca5c0451d34226de28c2984e92b63a77616b9c
+0175e920d4b9996d0b2bb8261aa07f8f76b236729e3495f2bd40b1610f777ac67e5714bd22ba68
+90d365675abfe3055a1a2f192d1c3b39ab27833b8dc2ecd8f8ae8a7308b8e35b725bac5ea044d1
+9224dd0606d668f0c05f7424096027b7b4b718969b9700a669775ef04851e76c5959a463d32456
+1582e3d654d9e7bb2fe647646b9e32bd3402eb2c3c37a623bb0175d2b6bb50961712ddc56cfe9f
+8dadfcc87adc682f70b70808e26c2585426e69e2cb813245c5580f3d0704ca852aabf1d231d8f7
+ae91f26d8648c2644174d40410040f6e4a53cf2c854a1b3633c9e3c3d779fb51d4088c2611bcb3
+516959993b4ef00feb20f05c224a75dafe55174439dce89213b7bf41bd4b806952628d7743f7ab
+ef193348c006cd5ae3f457c84244e205a085502520e9e49e384f9cd086ba7706f4760f4e333c26
+78dfda2e9973e3bab5d1fcb31d73ece1112dede1a01e65e97584a7f7441451f2860e015e98313f
+ea79d5d2b79d56af2df070df527b4bf1d6ed47fd0033f957c0a3e7e4db3adc77a83429c452f7f1
+ee7ebf508b6a82ed5069265cd3dfcbc8d509fe7740ed722a82dfdc0babeacaf6d02f41ab2b0f28
+df67503195800fe743984509008820e9be9a5c6730ac917fad1e9e52518944efbb664070b7cee5
+b4a571bebf9f87488b728a60e601992cb4066cf3da3cba485f4f455cfb02eb28ed3dd289b72199
+518b1514d561f1ce23c4a736345d86e08e5cce1e62bd7c6aea36ab0dda6cfc79233c88ef5056f7
+3a9f485bce79a3dacb54941c322be5fd3ae7bf683a47fc08f34a6763843dc1d29f922051bac176
+1b314a4fd0bd5932d98faad6a7dfb2b99d3caff88fd7e5827771aff27c826f2ef81ab07737aca7
+734f33486c879b66c82146998fbb656d588485d6648646cca16549d146a5aebc34816bbcff79c5
+8db9b92557a09b8b9914b9a4c58e4c9eb7f083cd5e1bd8437ef561fe3d07a502c741d424cf2f11
+353d7f303fb8b78fed9c9a4b05a00126fbdd87d3443d2dbd90b18a6494bf38c8d5d6665c7eff56
+4c06878968c8b2856343668a123e41c66e5acacce149f5986319393d1d2d1da343f4b5d57149d0
+52fa1aa1082e14035154fd511e50fd483be17505ec9d4ffd6e520e6245924a168fca790a640c8a
+54bc6fc5ff0846119ef4d49f409fb0ed103cb3f94689843713a1c8cf9e4694dda7ecceab785461
+291990984eed9c0f1ccd96dae92d76cbb30aee441b8cc6f0145bd9bc425eebcbd624723dc05006
+c13900efd7937b732dfe71b75d588bcdd18f889eccbd7be48fe2760b975d3fe8cc10b217fe13b0
+79e56ab1fee024326c791f0c12873349355bc9592b81e677a7efce37218e33509cbc8873ea46c0
+e73cf435229e93e7236c4d0ef8aef87249b1cc836bdd5e9a08cd6a56d692156b00041fc677534c
+5ab8ab9dba648408dddd71d78310d4609bc45873fc563ba85be8d491d90290cefca96ccc24ce80
+462a418c7e9aa423d92e6d41077dfcb76b54928fa6edf6cb3cfe0efe5022c6d122576ff3f82d80
+65d952fc81c7ca98f71ef57b11b12e8df2e255c987b469fd936ec5e289d13604e2106dfabd13eb
+55bafbd7e4ada7c2dd0db0a96f961ae28b3f92330230b12703aa6a548077f8e12b0ea0016074bc
+4ff072a715c23f2884d1fa1254a0888bc886c3f37c55337a53e827c05ba8f8878761b12a136a31
+e20203eb926563c442a488da4f486ce8cbe59eeb4a7bc54841be391297e2c788bfe9afdc8130b1
+21959898690b0ab32286b2044258c361109a80571b0af852afe350b9b0b9b15c45c45b2c2e87f4
+2ad31870563e06e94a14af0bca7ea17a2355a703b71cc9035ee1dfb8b2700de03dff038fbafbf8
+d57135ff4b5bc66a35e1ae4092546ed5ad09ea2e0311b894bab5cd5f9a7dde0fbb6dba7b128f01
+674c24c78891fd459355d6d4b0a354bc4ecc26a7b148e595b773aebb6eb2728c0e601e375ec631
+97d364f2571321b60b6200e6827aac93e614dd827a19387bf3a8857fd7876a9a7d5c7a8baabb9d
+552a8bce4790f04402e2fb450f59d173942b29ccaa681d61b8939e51bb4b8145de386943e1961c
+341a53a670c67b9fbddf1c504b3e54266310dce9fa420ad143bdc654940610d98702091743cc9a
+bbed7d6079381be4ff8a1c9f1b01e745f33479074bb32eaa0f475d3de6402f25736aa8594f3ef4
+6c72e685dc4b9e5c19b3578ba4c9979213a2c8713b1ba07a33b789dda22815bef26f75afddadf0
+8c8340e8c0a9aae9ff45f0b2d6fcdef12765e9764ba4b2b177c70a17ad2408bb70cb40fd93e41d
+40fbe0780ae9e7c12c12863672ea5028941853a5bd3423a630a32dcd3863fa3c11b51b7d43ec32
+8141073ad7d3ba1cedd905178743aeb89f9e5da7a83315eaaaac1ce1887071917c0f25b58a51e2
+6764b985d2a4f2bca30f09ee6e81ea7d294e3d57f5522946117858f8a8ff1e6028fa8d462b5b4e
+c2b4f2f14ef5f8b90394e9163a8a791552435fd9860dd0b040e147dfa02f45750dc99a618c82c6
+34d82a07420deb6bda90681e9ca80f1eb9ae44a443842ca4b7334f101019de241ffda7865dec84
+663e1935654ad9a5ba348b9959a671f893e5844c87c0abe5aae1e8846cdad77099381a06274eda
+3addb68fce9274ab41e0dbc39f5973c63512c60606045843dff155b8f50c8db017bd06bea58219
+56a1bcd7f172053e8f73db2beba52d41d59596bac3c6b1a283f625b1a425e2456fac1908ab2761
+cd0c51c6b0ab6ea432b38d3248bcc8b5c7eea41397f9caf5a1abdc5cbfa504fe98f9bd21aaa95f
+378c25f90d289be77f5eb301bffa7c5649d9ab7e9c7bea674e0cb1acb6a976c112c7529aa35395
+8fa6b5d7e73c53291b5991e3ee226bcf80b7a96cb375ae3c5619999e19159f01eeff944113caed
+2400bb71e3d15b16ac4f76ff5afa801ff6536faefec5ead54dd81ce8216b23f88058b3eb15cc82
+7921f713d4e017188cee0286a83fff1743cd7d1113b86da4c22989bdb574d3bee750f4106004dd
+283d2cb6c05fd1e609d2428304fa35d7cac07ea884bac8462da0093f31acc11c86c842faf7c40a
+f45da3ea26f51fc4bbea9c9aae9a17f28132a3eee2bbb32a0cc72b6a0174c7b3f8235f2bdd6ea3
+35d899f3c7d62584012a46c14b9f5522ed20df77c7bf3559b9c7715bbc43c03ec8e16cb6432927
+00967231596a899dc476d374448477fa618d960f7c9d6736c988bc07e2bd06e8149d4db727b438
+6ae9c11ae1018628f7d7395d31e7ac565b46507d5e40bc59bc8de159ff4c20cb134af4a841ea02
+0aa3a8a2057b200a1f3193bfd4d3a408fd3a8f9fc9756be545371a03dab4a16b54198c54c902a1
+ec331edb22828091f08a979a57646a32c4451fd9a7c90bbb6b0b27e52444ae54d5c6ff28cf92d6
+1a04201664d2d13d777721723d48eb70473182818afcffaace818bfcd1f37d15b6c6036b78f502
+a3145264fd0161dc0324b6be00b45affca8482a6d3f65d7a167721ad3e6de3b1dbecd4681d7ac6
+d9868b0ca7fe1141f8bd8ec3deb09eacedbbe1ac12e78561df7663e4ff2934af711a618ce9e06d
+b8411b402159de7cb82386512db6771e6cf003f7cdbc88b31a0febbd75ef4b781603ba1b658d44
+0a4e9d2484a09483442e8044f997e79b90e92e0363f0b5a77374dc8f3e44a53820af513677dbc2
+cb83529cf1606b7c87847524f64ef9f5a6862a2c588246bcc4fdec7c561e4de24fc85cd70052e0
+ef30d4ff91b689ffc2d754444430a1c50230d76560e9660e0dcee55fff627f9c2bac1ddaa0e93e
+1da7fe9dbb6f51de9632649e36b982f292e5eb72e175a8c70b25dd16c661e1920fe5c8e5a12601
+f1eb5dbc82dbb4e73423e89ff51ee1e8af58a9d7fd10c4e51b3e2d788819e0077a013d2670dd99
+4d5900b936dea7f69369055a3a00cf308e13152fce
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+
+%%EndResource
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 1 417 188
+%%EndPageSetup
+q 0 1 417 187 rectclip q
+0 g
+0.4 w
+0 J
+1 j
+[] 0.0 d
+10 M 64.699 171.301 m 64.699 180.137 57.535 187.301 48.699 187.301 c 39.863
+187.301 32.699 180.137 32.699 171.301 c 32.699 162.465 39.863 155.301 48.699
+ 155.301 c 57.535 155.301 64.699 162.465 64.699 171.301 c h
+64.699 171.301 m S
+32.699 107.301 m 32.699 116.137 25.535 123.301 16.699 123.301 c 7.863 123.301
+ 0.699 116.137 0.699 107.301 c 0.699 98.465 7.863 91.301 16.699 91.301 c
+ 25.535 91.301 32.699 98.465 32.699 107.301 c h
+32.699 107.301 m S
+64.699 43.301 m 64.699 52.137 57.535 59.301 48.699 59.301 c 39.863 59.301
+ 32.699 52.137 32.699 43.301 c 32.699 34.465 39.863 27.301 48.699 27.301
+ c 57.535 27.301 64.699 34.465 64.699 43.301 c h
+64.699 43.301 m S
+96.699 107.301 m 96.699 116.137 89.535 123.301 80.699 123.301 c 71.863
+123.301 64.699 116.137 64.699 107.301 c 64.699 98.465 71.863 91.301 80.699
+ 91.301 c 89.535 91.301 96.699 98.465 96.699 107.301 c h
+96.699 107.301 m S
+224.699 171.301 m 224.699 180.137 217.535 187.301 208.699 187.301 c 199.863
+ 187.301 192.699 180.137 192.699 171.301 c 192.699 162.465 199.863 155.301
+ 208.699 155.301 c 217.535 155.301 224.699 162.465 224.699 171.301 c h
+224.699 171.301 m S
+192.699 107.301 m 192.699 116.137 185.535 123.301 176.699 123.301 c 167.863
+ 123.301 160.699 116.137 160.699 107.301 c 160.699 98.465 167.863 91.301
+ 176.699 91.301 c 185.535 91.301 192.699 98.465 192.699 107.301 c h
+192.699 107.301 m S
+224.699 43.301 m 224.699 52.137 217.535 59.301 208.699 59.301 c 199.863
+ 59.301 192.699 52.137 192.699 43.301 c 192.699 34.465 199.863 27.301 208.699
+ 27.301 c 217.535 27.301 224.699 34.465 224.699 43.301 c h
+224.699 43.301 m S
+256.699 107.301 m 256.699 116.137 249.535 123.301 240.699 123.301 c 231.863
+ 123.301 224.699 116.137 224.699 107.301 c 224.699 98.465 231.863 91.301
+ 240.699 91.301 c 249.535 91.301 256.699 98.465 256.699 107.301 c h
+256.699 107.301 m S
+384.699 171.301 m 384.699 180.137 377.535 187.301 368.699 187.301 c 359.863
+ 187.301 352.699 180.137 352.699 171.301 c 352.699 162.465 359.863 155.301
+ 368.699 155.301 c 377.535 155.301 384.699 162.465 384.699 171.301 c h
+384.699 171.301 m S
+352.699 107.301 m 352.699 116.137 345.535 123.301 336.699 123.301 c 327.863
+ 123.301 320.699 116.137 320.699 107.301 c 320.699 98.465 327.863 91.301
+ 336.699 91.301 c 345.535 91.301 352.699 98.465 352.699 107.301 c h
+352.699 107.301 m S
+384.699 43.301 m 384.699 52.137 377.535 59.301 368.699 59.301 c 359.863
+ 59.301 352.699 52.137 352.699 43.301 c 352.699 34.465 359.863 27.301 368.699
+ 27.301 c 377.535 27.301 384.699 34.465 384.699 43.301 c h
+384.699 43.301 m S
+416.699 107.301 m 416.699 116.137 409.535 123.301 400.699 123.301 c 391.863
+ 123.301 384.699 116.137 384.699 107.301 c 384.699 98.465 391.863 91.301
+ 400.699 91.301 c 409.535 91.301 416.699 98.465 416.699 107.301 c h
+416.699 107.301 m S
+BT
+17.2154 0 0 17.2154 43.736191 167.51782 Tm
+/f-0-0 1 Tf
+(a)Tj
+-1.759204 -3.819011 Td
+(b)Tj
+1.806519 -3.565078 Td
+(c)Tj
+1.848101 3.563301 Td
+(d)Tj
+7.417266 3.854014 Td
+(a)Tj
+-1.759205 -3.819011 Td
+(b)Tj
+1.806515 -3.565075 Td
+(c)Tj
+1.848128 3.563315 Td
+(d)Tj
+7.407577 3.812124 Td
+(a)Tj
+-1.759205 -3.819011 Td
+(b)Tj
+1.806515 -3.565075 Td
+(c)Tj
+1.848128 3.563315 Td
+(d)Tj
+ET
+24.461 121.293 m 39.258 158.383 l S
+60.191 160.168 m 70.324 119.48 l S
+26.336 94.527 m 37.203 54.426 l S
+69.988 95.414 m 60.309 54.309 l S
+184.691 93.438 m 198.207 55.379 l S
+218.516 55.938 m 229.609 95.77 l S
+187.094 119.465 m 197.934 159.465 l S
+347.703 118.914 m 357.453 159.918 l S
+352.695 107.004 m 384.703 107.012 l S
+346.289 94.492 m 357.211 54.438 l S
+BT
+17.2154 0 0 17.2154 29.088202 5.837914 Tm
+/f-0-0 1 Tf
+[(O)-27(P)-136(T)]TJ
+9.824397 0.0508625 Td
+(w)Tj
+8.705002 -0.29171 Td
+[(M)-104(S)-59(T)]TJ
+/f-1-1 1 Tf
+-13.219781 5.989265 Td
+<01>Tj
+9.36061 -0.0213612 Td
+<01>Tj
+ET
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/resumes/xavier_dubuc/src/pdf/ordo-eps-converted-to.pdf b/resumes/xavier_dubuc/src/pdf/ordo-eps-converted-to.pdf
new file mode 100644
index 0000000..fdb8a16
Binary files /dev/null and b/resumes/xavier_dubuc/src/pdf/ordo-eps-converted-to.pdf differ
diff --git a/resumes/xavier_dubuc/src/pdf/ordo.eps b/resumes/xavier_dubuc/src/pdf/ordo.eps
new file mode 100644
index 0000000..e7fe1cd
--- /dev/null
+++ b/resumes/xavier_dubuc/src/pdf/ordo.eps
@@ -0,0 +1,1976 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.4 (http://cairographics.org)
+%%CreationDate: Fri Jun 2 11:27:06 2017
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 3
+%%BoundingBox: 0 1 395 190
+%%EndComments
+%%BeginProlog
+save
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%BeginSetup
+%%BeginResource: font CMMI12
+%!PS-AdobeFont-1.0: CMMI12 003.002
+%%Title: CMMI12
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (), with Reserved Font Name CMMI12.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /f-0-0 def
+/FontBBox {-31 -250 1026 750 }readonly def
+/PaintType 0 def
+/FontInfo 10 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI12.) readonly def
+/FullName (CMMI12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/ascent 750 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 83 /S put
+dup 100 /d put
+dup 106 /j put
+dup 114 /r put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b0027b6f3b53cc32be64063d04d328b49c17a62c396cfc8
+17b9fcb732c3b0aeb6264b2a70f62fbfc397eea8d069af80a71b775145f9842057f969d124e630
+1a760710a5c51e8981851fbcf7f1cd1f2ab78db91af2a6f264e41cc2cdecf450a3a33c89fa447b
+8bad4068cb8d7d37adaa4caab8f72cc26b024348ef8708a0ab6ee56d73f035ac9b506c91fcafc2
+40791cc10b1b0ca42c87a24a69e83f61a20432744f7d79437b93825d955cee80718831f56e0254
+0ae4b3a70b9dda35ca4fbcabfbc50a4cafca7423203f1b2a15e6749603d63b0cbb201e4b9fb558
+f646912754942767968fa898008988333600e410be1426b8ddfe0381a0146558732991b59cf9b5
+09e40f34e7e8d364bb603b7dd9700f676b448ee17493e9b60a5deba1b074e355a6b5b981bc22d1
+b3e913e89c2f921b17b998c8777c766f504f7f79abd76571a2ff82e80534b9ad8c6659828649ef
+3adacb33ba7f372b681014042876c3654cce44965da20b5ea176d47fba7b0dd44cfb4eb1a1426a
+7a6b713e5db62a5c9a717c5e02b1ba2194c105f7ce16478e0dcd07aa1c28feaf90ab5265db6b3c
+0cf5f9bb39bb3f4c59120767ae40641452e2f86af2d110c3771ddd570697abc1148adf8c48b968
+cac8a587dcbb63b109a56aad615e839b646d12dbc5d4fa7f78b33812974a8c462859538fc08a2a
+517904809055cb5f1068ad101708ea1a4144f274d0241ed8ec585fff5504a1b57c7d728390a608
+21d1d51ef8f0470decc7d97c0204a4809dc697a85643b352914dc7a75b12bed89e4c0faf6c800f
+2a32fab0be8e61c0679f25d41fdb28d107065a73e3beebb69b2b6aac80ee7ce255fede4b5444de
+e8a3ff85f814becb6fc7510a1e9917bcf39022d7a1bf0e2df564e45a310b730027a8581ebc0371
+244f81863c691deb381feb75f29b7f9ffb014e2f92e8823a972be7418c2cfce60bc87280a1a534
+2362b389b56f51e396c76494d0cb31f6177445b1d01d0544d76bd37e89fefc79df633cc24272f7
+d67278ba0b08cba0406701af54d14da8fac6b86eb05b74d0d2c9ca96daa38cb49c3f68f4998ab8
+629ce1fe2ad91d0224800a64c6a5608a242050850c859b893a81102282a0f1a9032a27f85dc40c
+dd6819c988b3a915b22be78d3c595d11d726feea7222070ead4be4841d9e7ec440379ee3462d94
+7e64082b30fecf39088073f7aa2a69631fce17bf3548029f4d57e455f4977a2d00a50f38fa1f75
+18fd84adea6c2ec0a9bc3d58ec121cb67ded8ad52ab162fe25e200083d5ea5a6cfdab5558b5c2d
+4fdfd2bad0886c7921a812b86d083ae924c64aef8b9952459832feeca0491ceb3504dfc9762ea1
+2b8bbb2614614373b0ac10b2f43931d2e84d6246bfede031d07e27f2aa258aa90149bdc82337b3
+d27431a3b96c5f82bbda3cbeb744e8249f22ec63772f5b283f83724f570e0100bf0afd9e5ce250
+478a86030b4e37acd7f30ae063cd93df731b47ab6ee5c96317635726d9858f1c20ed4032aa94db
+796df1facbd884af0dca21f1444c20f3a8b7fd2472f0d78091c87038f7a509a51c88a123220ebc
+b89249a4e96e6ea7623bff5f4b41c700d5662aa262d04148cf55484dd32727ce4f2244e21a2b42
+e2fd671e7ad26d77ff9aeb3031fb98d6431f668fdce4bc7cf71e487de361bb55f63a7e6a7f7c18
+b8447b2dd1695683c6dbdfc02880c439696f899a350794b5d1d2b725b53b6f65ac55e139107815
+9299b23bf61b2d4da384f3747802fd7c9dd678b29b3686661abf4d999866f3f17afceefda58236
+15197bbc76c4c7542fe78528fd45ad956c9d1d15a92056e5f4a37354ab702c22781062d746f28d
+033e5065f9c46e644ce59a7a366dbf689c533a9d8f7db6f21de01784dfa43c7d8c0bbbcb9712b8
+8415e531277454cce32e92ba36f70dcce72033b32f6d8c8bc13cd5b3e3ddb9df7c6ad41dbaf7fe
+db5ec4a3efe119699277d96a80ac2547e512c2658313aec0f94cf4ba3dd0c6fbefb7899d4874fc
+6a714f405f943ac03ac206d4550ab65d48799abe1fae5eec610c3f9f607eff612abc23a3c94b84
+2b85396e7c5d21fc4c1a2a86b585513c2a892325464ee9693941690f3267299e0548c4b354a984
+b326664184e6d0ea66404468db0d898e6054555bc00296cc7182f11e29783a4c69b66dca12a97c
+a37f218dc02b52971807c8ecd629870142bd15fd4852ae10ac977781701a39473c548006324889
+5c21d12c19ffa887812bfec54b40bd8c4f29eb36431e2c6482490937dfdb4e2deef3df842241a0
+76198ea01653d3720641feadec4df1f7ea63d2e19081f54728a5f4fed9bcf94f447bf9de0ca752
+1f2ec96f2d1280f700a5fcc1386c1c29af267df423c6ca73c13e0b5abe16a276407e8da057debe
+e2bd6f7f9cb247704ca13bb659936dfd4a9461f61d53fd4844e1548b1345360c75d75a7e8c0b12
+d73ec77007e74ce95026c969d3ccae02cb6de4a06da08837f0bb7367a5f0ba075807e0584e5665
+13b9ef72f64439d29045320eda26c4a2c7efb40a2ed596ccbfebf38c7c0d31c233f21b94eeb095
+564cfdd235795751109bf9a19f9d8e2d6c054c00d1a0f5217b32dfed2938df70e6d7f773648eb1
+61fe0609a4fa8410f558bf3e8630fc5059dfca81241efbd5d82aa40c052d7052b29c84037fd889
+8e9248ef9065808b00fb6f8529da8531bc85fed9780a9670cfa6ffe1804198c76a0a8e757c6687
+db3a6178d73ec34b28c275d220e5ae4f18a22d29be7412535b2eea51959661c8b662d929f7b751
+eabc5c5c07c77c9a03164e20a41f406c825bfc5d11ec549cad81bf7234c4fdfcbc4862c669b0b5
+4359cda3beffa57675714a90fab971d05238ef23dd46a041a1ce144d1267a707bbfdb27cce87ff
+78c11bbb9feedf08caa51a85646dd2f81fb6800683b115e77778f580d572338e5c3f4672f824cf
+178e01979ff9d2351a37d1b4a9e137e724c11cb893db16c413a6d44ebca7bef6e77e4dd476d62b
+9f8351ef92a280998d09f405d4a1eb12272c285b9581cecd3e8c55dd138ed4afd57ea44ca722c6
+2ba10686f262b7dade5c89202cdedd48affecaad5bbbbee8ab87f08cd895348a8505bde159d1a5
+7843985e34bcd49363e376782c96474a89949a3ea5e15cd3cfd950886958bdca9463fd353a2e0f
+d2161daf70c52113253a4bd6417587a785bb2fcbef7893e07871c65970d7444a988de568435d18
+e4768c9a1b30685ac7d8d80c0d73e1489aab61ee4e0121e796b6a87bcfb00dd825a73d1776a8a9
+f213859491a058d99c9c70740b624c9d84712a011e9359fcb2f776c1d26c28ff5674e178d82f74
+f63a52ac3c512edde9888e8da18d05f0d944dd460aa85491da9fb6bbf9432dcea652caba63694e
+badc75aa64e5720b5d1526e0a8b69aea0c0bc7b214c24a2750e342810ace935446a60851d2b7fa
+68cf6ca94b06538c06abc143b3b2a0713a0a82033939786563065d52d37b7a43b10387ba3f794f
+ba53d62ee62be0542360fc6069aba6bd0fd0d6391c392a52ee8c03616e32a5310ed156a9f0fedc
+8cc461eb9c155be6b2a3da01898d30cff70c4fceb5398a5ea60986b0527ab5a8a0b60d4c80ae5a
+ad3be6dd951fe6bb04997156afb9967706057deb8bd4e4365f16e211cc9c1dcb2e181b36afe6ea
+69ecbef1670fb9a077d6a2b998eb9f745f4fb60b2819254dc1013b0f31cc95eeac7ed9cf52aff0
+5ce0b4c5ad3234bf4de92474d895b1100eb46a236c4605a9dd433821ff759542c4b2349916cc38
+8d61bdc0fc8849ac4047ce46d33ddbe1e5014f99443a4273ae6fada82e1a28cf002905d9554626
+e910a630e5dcc96bb98cdde6ada26313991e9b38ffb4c3d5778d9e9e9e0bee4cb556b5ec99bcea
+3c438c38ff7e6787c971efac3ce41a46da5a077e14c3e9b90dc42ba4a4ab61286a84450357b29a
+b51ff8c52c0fb00504e76eef8da4db3c9643c56f0cb6456b6ce62221824b578c13a054a0b2e340
+2dbf3c2488a61346b16d348f3de6a76630e7cd118102451c5b784508fbc238a8edabeb5e7c419e
+2a204bec81ebb678efabbc858b25242949e1af67ef96a3441dda3e720b9a63cab550f56ddc9543
+5dd6957b01464c4053625d266b3dc8a5de62da0e88b07d23ffe2bcd6139e2af33834fcb971e2d9
+0c12ce0859b584bd1b3fbb755a5b9e79b7c90478458d13b54bd3d2517a43c096e35337168924e4
+a0d131e6a7175c3cc5c601e173296a99e0cf1d9e4cd7ac8cc63e40666f0fde713a02273d77a610
+82fbd1a2cfcfac84091b580544d023b85b93c9526bc18b85615d0e4da274bed4536661646d279e
+3aeeaf9b7a144394d6ce81174c5f8dd7500c3ac83df85075413be3a679e075149985d5c67fd4de
+71652b1458629892f167391bd15550fa0b283f781b332e85650bc7aeb33fbb44dcb5e27425699e
+57e4e62cec3f0df551356ab50860d73f67cbbe4ecb3b6333100305187ff292bbcfd344ac6cfa71
+c685042f25bdd689c69b960f09f67ff899e37e45b4e6f91d704a74a301061e3892aac8395f1548
+437606a323b15a908c297f8f8b2f50ea19f289989bab469d0556c85d027aca09a8b6346f6268e6
+ecad86bdb2958c42554a40562e7e7da799e8cce777d2e4739fb415d48a99bfbd6dde0405d236c1
+e08ed650da051bfc96d3a7cae1741c67cf8d483be8d070697f62621e322dc66eaef9b82e7e21ac
+31768213b33efbfa4561b09fd72a69f05c1f80cb7b395568055895491b1355019557a56a138ff1
+0adc7e761baf205f9e691354bb33fb1d34de0366ec41524c405f80b1c804dac9916f65f0e64734
+aa83d67c42c55ffe962bc765db1758e22d0cd47c6b48460bba8cf8429af027635a3e7601c9de3c
+93e5793248b29cbec377d08ccb66c62311eb4423a232fe03fa0c2b1dec3d815fbf02e374c0d3e0
+64535dff4d9427e1b103496ad5e13832909d3e6c63265cd2b68ab2a94901a3a7367679cf6c888f
+1fd558cbc74c06ed79723b1b50155c87de4df79e5f47779a8f161825790dfc2526377a652e36b4
+5666307483488442e48223e2c3d41424c7608166c29d0e8d4ab6c956445a9d025f99dbcf9d6a74
+61a7366b8b689cfc80dbbe84142bb2de635c7d23e2bb54c165ffefdf4c2af1e45286580d589095
+8168325f4136b7af0bf24b7d5f26dafbe8906ecc59735c0f1963ec46015e034553748c2edbb056
+679270975f1dd3db6ed780a9c36bfe22ea7785abbffef2c9f9db0c4533a7fb239c2db3876ffe3d
+0853fd15e4db66cfd2a7127f05ffbf49dbe0ed1c22395722c93241a77a902b3814c4827f9de5c8
+0cdb9dbe16788c2c557c5d3760b95aab89a6beb453639121a3615a31f8d1062e7b8a6ee300a325
+bb12fd5702ddd1bf684ec7b7c1241ff1aa85406f5f71d472f9d265a060a7532c0aedaf871e6bf4
+ba55f57d6963bfb9a8813ca63c76c6da52a40ef3b381efd39b8cc6c83836fa175adaa5886b303c
+d7727f420d9792e79c676732ce7da08711b4241e3a9d85ec5a3871250cce2a92bf386870182349
+61c2cf041cfb2f5a021ea7625d653ea2db52f70213f159880e13e21347e4e8eca409341be8d34e
+d72ee6d0bd2b6375ce4241c43fb48a4d09681028aef325f9f3d86a40b5adb0874153a8581a4195
+f1b37d3e108af270650d97637cb2ba1ec4099e99c7d1d677067e0bf9a012de956e44f4532ce46c
+dcb4e1b7cfc5b888d5e4857bc6c13b2777192ccef00728228fae2c0f74310586fa647d70b19c97
+cbfc380eef64a35ffc3b2ff36264bc12487df0fce647d5f73481362242a7acd1961425007c1282
+0a69efdcff450bb6ddaa47c91fd1fe235dd38baba5b483357f42f53cba715197183b5c341ebf5c
+fce7caf37258bafd818d1bca6e1eceda106594b0ea77254768141a6c6b9122ca43ec05d56e95ea
+f27d62da06d02ba5aabb63079711276bb949ed46103b7c307f0e8624baa956a0f7c1923ce63399
+d2127e55b4d4701b6eda197a5e1d961a233a3972340515c51ad4ab4a5eb9e54f5beaf1c8488642
+576a5b210b2049edf5627a5bde7db4f4289277978c34c4b01aff01886e8a1d5f9deb7e65aa0a40
+affec140c9ab8dc52953ba306ce7e0cda085206ef772e0008b828b937ce6d3b23953e8991e95bf
+616951654fb11c173da91d6a01c56afc521033bbc22ff41b909e73ebac3e179e2598dfc0190c53
+1be6545571eaad5d9b06e92a32370f32789aa74521de4a220a071de0603804eb0f04c041e3124d
+dff23237743e036703511f0aef342dc6dc7d37e759356de5bb668e0ddb129c48ddb46939280522
+9d5e6efb3373fb4bd4ad00d0739fa2a57f44dbbfd9a0a18f3321131e5183989c563188795d69fd
+1875a4ab8fd2b074801aed4de0852f6b8e1c36fd9924b7af71f24001c62aea1c0b53fb915ca4a2
+be82e56cc44c75d8036d23033491e84bf073751a1901f92c73b0e0f8bd90ad19a8ec2d876efa72
+c6c3115f1e68eb35dcf9c1ec47bfcc4f0109e763d3fd182bdd6e96de80e03b7d4b4a48cb4a674e
+033ea94541ccf0d550e53cde5887235f3b26b49dbd089de70860a13c76e6c22033b7907f02ef8a
+a427a89403b8d5cedb943c6299406fd8e5b048d4686ae13ea29b9c828cc5c886cf62452725a95d
+829741ac7ce98ffb6b35698f14290822efbb07743401b014816098365b2b872184343f48d5b374
+61ac738fa5a8a628f9df3d74f3a9d4cf588e12fcbf749b99005591d32c3399b70e91f039194e4f
+9fe996b243adc35ea3e5bc22daecaa1b06cb859a185793d8f6aced1c0b657ffdc88e73fb583f96
+61b9944365289ad1c71a1beb7bcb6155ac7ff703b86d056b608eb384b1b7127d252c1e7486a86e
+5cf76f45abbe373a41f5c59ddcfcc90d8d82c7dc1e262b7731162cd03f40f60e29178a2f7a5825
+5512f23939dd3ccf2b483f1cf076d0dd225f5efecea9a7db9fea78cf9533ad3fe7a1073c933333
+678cf133e6ea750a27fe8b0ac821c2f524c42b55d2bbce8dae8cefbe2795bc5a9592ca602c13ec
+5e647384de5c5e6cb7cde1f4d25a34cbec9df65b7b5684008a3f825c95e1fe222364f2424cb097
+add091dddd793ddcfea2ff97399cb3d20de7e9778de33e6f05b335b1ae243e9985b1f7c5eee3e6
+bc93eb51093fe6e74b6e3ce45d8885a1e3d14df0dbe8caa0169acb7571ce59ec2f69b2af2356a3
+bf88088ad2c7cc5ad773c148503c2f2a05c5b926a84b6f21c10ca128ec7890a0393b0ebcf82c2c
+de5afcb03b2c04b8b1d0f2ed7704a27edc5f42809e0fe52cc0a7f8452e19d0c5fa09dfafdddfcd
+bb8a6a679686f8beccf2e21e41e8b1ba6ac2ec95ff0b34181003cf2fb2e22430b1e4e9988d4d02
+fc8c8fdf66cc0080f2578ac1ee31ca698f9ba73fd2f337cb3ae203d6d3a9f74146d9305d44ea8d
+7f043270ef76b87f2c97e3b35ee06ef0d185ad8427a62da33d26cd5eac5748ce6897ba7d62fc5f
+8ff85d5038e0066fd2c2fb92340254445c3bbb41ba9dce959be5e80a5b00d53d574807b0ab2440
+5a0aa1a7f87dde936d2a1b98e6dc49218c2edf11217c96a05bab19995a0089885273bf22ed12cc
+95da4afeb838c54afc853c0a83d7fabbf8d261756a8063d89869a803556184c1adcd28a22e6d82
+f627c6fcd8a19bab5c24f1e89f1e5755e2c3c0f5ff79d1dce4f63ff232d534203c778afd540f11
+48f4b6dde072c7797a18e5a1d51149070e6715fdd2ccb5555dcfcd5656db626f23018ac697b3a4
+276b0a7469a63149e37b6ec033ddef914fcb562e6e77e9d7771807e5433b84649aa3b3318814ca
+54d0583baad353a1b43218e0b87df40b308151875c28c7326a30509486f9cec4a303aff74fb5b0
+5c531cbdb1ee3459f58a323471237cac9475422ca7af7010a1cb8c9d152d6c0dc98feb55ac014d
+4fb55480aeb7d57d3b759d01ddbe90c7ac58cf9cbc52b6b5abda37f91a81af022fb84c17059030
+556bb6c02a43b80a127e623f3ea21c82eedcea0d07d9a5074559544330668c1a7c11e38c34694a
+3d9909f5ce6d50afef7e3ba32dea9691547d4e09d961cfa9ef6e76c023ee2b0d5728d47cb48692
+de7ff19e831961aecf14f84fd9d243ed19312e207a4ed5ab8bdc4b14a1317355e22aef0ac19c15
+27155fc7f5c67030bff3e64094e92cbff4efb16b2113dd3f9c05ec9165b1137e27ac4cc4677d73
+c8e7843665de34de7f29b481bae14b8135e36445a7185da04659ece22a20c39e3f9a4889150837
+f8f2764a51914c0f0582b7a11d78303746b7c4f2b27a3378d5436998604cfbca3dcb1ee1342588
+e5bb5ef977576b958780a86e895fc4187cba9e09c0da90e752d852f78b6f2c46b77a7de603fa06
+b9bc4e724cbe39581e586daf7fa32b08299f3a6b26f9904b560cd30ffe17b434dab20804982f2b
+1dbc82f49a147b5fa859c2488bde3a9cdba1a9c574b458eb0f239982c27386a9a4c2fda824f4a4
+cd0a57a159eeb23506d5f056c62458b13f40addf3912f6369eb312e663332e59078b1f2efe4bb3
+ce7e497013dd3054b41fd0ebdb196069d49568481e4b3656eabebc97e6c0eb89cd2566c302bc81
+b5ea39255c0bf70a81f22f903448b0563e8297ac3864ed29c27e28ce49a94fee83501e12949563
+9186203daf3df0249711719b8071e55ecd1fcb4adbc57be325af3cf228e9443a535154a18bf029
+2cd25eae2284173b4b40a20b9cd79444a9f110dd2afb520bff51037e111979f212294e51b82606
+e62c51b9fc9ef3475690af27caf06e19056160df2a8425f0e11b53e2319e5ee90150aaa5227af9
+f02dd1f74749adbbaf9dc8da234b1b79df56fe4971d78918112b1a26d30dd779c4a05d0eb4e6f1
+8b81af49943f6fcec6b5b01019b5b0d6338fed10e1f7d8a5f5d3512f8c826630ba0ab1b3d7653e
+d90bca20e6a1b316959a22f2c3b337ef4c7a34a65ec020549376bce99708e6aea2023edb50b7b1
+6710efa9fcfb2b33ae94e49dbd019f27ad68b055da87657fd58c2eeef4124342175f831afba92f
+691923e6768cc9ed94979a28fe22790f536c070118d4fa1cd5bdbff524d35ecc9a8923e69253d4
+1e128842a7a45e9c75036691eab759d3d11e90235ce6d7a52d03f2188ad6479b5b386099934134
+c481fbe559723405370500acffa926b3323fcbbac0237a294937d82a7ba66fa0e5195622175137
+9998e9a52c72c51ae3ad9fa1f1211b4f250dd2bfd68d0e71e411be34c11c30747fb9f685eacd82
+8e60fee25968283e6432d044d2ee49184a8fe5d0af56cc3a705e065d3b247584c96143a4d92d9f
+ab5a7ad6be6794c8b7ea2cc79fe065714d9270bf8e985db9d9f30440d8f6fb08a5a1fb5b85a845
+73a2fb648d0b3e943860da590bef702ebbfa63dee4cc11826497297854a43de09585652c15329b
+32854deeeb84a7477bee6137b3d25f0007e6b49c82b456937bcfdfdb823afef338c365fdb9673f
+fb417c6186fc2dfaf4585262acaa58ca40ffd49e0d17ef4808ecc3ff0d2be2825bb1be52934f33
+a7b4a58bdad008340376da53bec2464aaa895d7f0440eef3b3584a40e6066e3c1328d1d3
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+
+%%EndResource
+%%BeginResource: font CMMI10
+%!PS-AdobeFont-1.0: CMMI10 003.002
+%%Title: CMMI10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (), with Reserved Font Name CMMI10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /f-1-0 def
+/FontBBox {-32 -250 1048 750 }readonly def
+/PaintType 0 def
+/FontInfo 10 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI10.) readonly def
+/FullName (CMMI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/ascent 750 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 76 /L put
+dup 83 /S put
+dup 99 /c put
+dup 100 /d put
+dup 106 /j put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b0027b6f3b53cc32be64063d04d328b49c17a62c396cfc8
+17b9fcb732c3b0aeb6264b2a70f62fbfc397eea8d069af80a71b775145f9842057f969d124e630
+1a760710a5c51e8981851fbcf7f1cd1f2ab78db91af2a6f264e41cc2cdecf450a3a33c89fa447b
+8bad4068cb8d7d37adaa4caab8f72cc26b024348ef8708a0ab6ee56d73f035ac9b506c91fcafc2
+40791cc10b1b0ca42c87a24a69e83f61a20432744f7d79437b93825d955cee80718831f56e0254
+0ae4b3a70b9dda35ca4fbcabfbc50a4cafca7423203cf03b8e9eafb091f06b2741ada33c61933f
+ab98ef2fd54411c6564b030947ac99cf02f4194b6e0af84cefdc23c1b2886506402a156f0946dd
+e0f96a087eea2ac27fe5bdf35b5340fc78f4deda8c9d11d98c0f5e55a92c96eda070164da36646
+45cf37d0d548891f41c633b2cf39f3681ca5b295c862e21d4e3d461f0604fc3557ead3f103b7cd
+e8788062ee55dd643ebf68f02de9509a711b769bbaa2f977c0c79c626050e6cc409496ca36999e
+1ff008ca97815500e97752078d0286a73dfc1d55e84337b5eccb366bbff2cba70847a15deffc9a
+b9465907d667d2583fc8cc9a1b753fb839c71d02786b206edb49d1f1e1222f15e35c63c1308f9b
+5a012747cde52cb2b9eb0c6805b3b05040b32dbc7e380ce5ed54283fdc2eb2b9eb0c6805a609d5
+bc292019eb65c765ddae5d9f5a6193a059c6d7674fd34664fff5fc0442f1fab44943e0f74ea3c6
+00960734464cdc627ab1f56d3b620c7d61e434c0469999ad8a683b008d4318a044a01a6ee5c4de
+a893d727949247b65a100468185591755ad88509374ea309c172fa8fae1f28ce2d6b478e29984e
+142bd328cb3db08eb3c0798faa3c961089be48cd68ef446a7e7486cdf303862f2c49a504f01157
+77979c3cdf97f2fda864e361612983097ae515ccdd43cc4e7c2832837b2730cedbc00213c1640c
+bd6db49d0d729017e5a45b2eb6c10992f4274c8fa188470c82b5623f4607dff4afd5892cb6cd5d
+85a03022b4d80fc1c3e271c4a3d53241988b6c9c1dcef7a0f9f19281c2a01c858d43fcd28c360e
+5aab9ba5d4dea4db85e3a26cc0e8d7defad8c9976dd7d45d9879880dec2766c6d613450cdb6c87
+a690dca9298b59923709795bce1cb2a7f1e3c7888ad49ad9f12090fc5371ea8016b7c0da013dcb
+ae8ee5985b69391d249998fdba8da313ec5788b0abdeefaa9239c4edcbb4b311939899a0646a40
+31ef6d0f32a9642bb52ea218982daa9fb54679a769dd0ce17187f09b1dec550179a9f8ba81883a
+fe662ef681b2811e81e3e459cbc8e5a6ed948602df36cb16ac7dc8197ef5d0123780e1f4e614fd
+8d60f5f6c69ad7377806b6f64aeaa409fbb41dd3ccead8d56e06ee86cac471c474e1e1b727a0b0
+18c82b41297c09366a3f891de3b9807b62b6b3823d7636f6df7ba6884d206dd39e8c56bc07e542
+8d35af43481b160d66572f2eeea2971e9a4744fd79897ba8f917018578e438f98aedcb8a073cf6
+79cd7e52f77385a5b336fa80be78fff9705ef282270f7b516eb7d163181c4cffed31a5553007ec
+327cef977efeded1342c72944f456f78d41d031fa614a8eb118a653e1a77fbff5c0e58f38d44a7
+9124a9328900d44e67cf410869f1c45f1012079ab637f81356d9cf0e9b3dfa9e84fe0f296b85ca
+ef4ed92097e52b9e71c17c6f8f7637f23fb60abe23521a3907d3442ef45562aee24aecab21b42b
+9b24e22a0e58b33aad59fd9ceb08743b270c653b372650e67ab556369259ec5356c846ffe63e57
+a421bd03c0e25a4c2a2abe0cc24d234b41fd269deeb6af086c4f12794dcd5e2485a4831d60ce1c
+6305e0ce6b18fba63a71c3c1a88b4aa621cf9c1a2c5c235d433725d14acd1d0a7fe0c8dbd88a46
+ca104f08806a8b0fc6a315fe9e4ab19ffd534cd281ddfe35664c24b7a6e4b9c1d6faab46c4b81a
+dadfd591a3cae35e7684a2ee95ab6881a9ca351704023561d3d9b4214137112bd8b64d9085474e
+e78cb85ae23d179c21f8efe8baf050d88ecf0f422bf0c15f102b5ec92484ae51d50e5705fb8b28
+e62db9f8c32d691cf9cb209a50494acd6e55990d15c6a130ca5a094503712a5db0655f4383cbe5
+785702c3b95e6acff0d6d1bb86c5562b71d366c068e0df346ea2fdce1d673a78d04a3dc88377ff
+ae336a2ab2cde346d17e7962de2438f4b5e608cc9707f2d560dbb9c4786970d8df05b47c81eed8
+f26573b38e1dca64f4b772f49554f24bf63e95b6b2b952f2807f3b35ce45c689a9fc7bc36e6413
+619bcf52bb1cd0c752640dd4dc6104390a7546dbeceb7a2ef1a04bbdd5ed4b730fbc610bc590ee
+309c3c49b5e3c9be27369fbfb0526ebcab6bde96c9ffb87eb7bc4361381e0f4472f87b4c17fe35
+cb93ea3fd8ec25f49c92476875986527b7dc4093ac056e5821c44d7fd4e2cc32423ea320d5f6c9
+38e04ccc1c259fc57282a2a876ae3062aeebd3efcf06b72d8bc51eeaa8cabaff8961327318f53e
+8e0136d64c169cb4190942dcc3d7af79ee0575101ea563a9fe85dbc6f3611a926f77f33af26690
+9cf5647f64a55b285cf54b5b334d0d0011dba80af1eb7c37b0410072d90429b7db7db6ada180d3
+202c6ad7057c7b5fd5f59578a17ce04b12d8b8de2c55fef874bfea8d9825b5ee233a8ad91cd8c9
+56234b1dd4407eea57d4bf78b89f124d0637e3a9a7223b6c73fd93a687528e38c608f62298a60f
+08c11b62a9fa39068feeb9b5646e84d422aa835556761d1459386adeba9fed5b74e2d78f695c49
+f9d829dd85b9641fab34cbaa49e3f306ebb3687b1bb5c764495943074e2dab0c4513bd1d14ea2f
+5fc1069df238f0b38cfdcc7ab9e945374cb6f45c740dc95f8e6c82fc3247e14bf27443e4c0ecc1
+09873c1e51f325d8d52338d5cbc8982fff68fb5fb92f11783bd6cf9b2307a2802eb9e68321a10d
+4431ec6a9e4b6d5ae394f2ec0e8b53385143802f018edb580ebfa5d0406bbaf8dc681185582862
+2626125e293c47204bf307b1bcd649ebf20be0ae42b0364b37300da60de0649e2150e70614d024
+a3d2f75bd9a886f78c71b59b6754a0bf7aa2f76f920ab9c0f1cd1bd531dd25e6c2a3e3bc8da49b
+1c1ef82b4737cb81b0510d551f844adfc80a55301c8310f9d103c489c90a44f84f47b6f1b8d474
+366071ca1522215ace0d842767ab2c961d1c9b32bb886714945aafccfe513743f5f5c44dc1cfec
+eca538472511896c85b2c9126173c12d4b2b36c4b62cae0e746c0211eefb8a8fccb473bc50fb48
+a3c3e6946016908e5f4f4914fdfeedf1186f12a39f13131629ab408fb2e0dd186c257ca3dac07b
+e9a7528c725db8a93d52ae0c10e4d290aef73c7fb2ca6bf922423eb71a8c59526e3d73e057d627
+9630dde8906b795562f4396c0869a20694370f2696b00fe2f96369b26d56b34a0fe7ad376519d1
+b8a50598b2d5a60004a3b7c89218aa9ffc1e5e74ecc4885c517c0627b58b60b136f651c1d48f38
+8fb9351fc5c46dd3c4bbcb7dcfd01e6ddd4063bff55a34d64c55599a82417717eb593ed428b677
+50972bba8252c31507bdd7435abe4b4edbe81b312cc5f91a1f9237ee9c278d11b51833f65260e3
+bd0410699d0a0b8c613152578fac985028eec5f10e8b9bfd680cb0bb53b8e93ad0fa3a749cc223
+bd356319fb1b6c6ec397d22248f0891ec1b60e84e89886212fe1b41d5c2b6345d4ba2340306efc
+811586e06ab7ee765e93c50b873fd48870769d1d218a10952a9856b4b51445fb82a7928dce5fe1
+805b19b99d5378cc9271c4722e47a09a9278ff244bb280cca6a828cd0901ae75f5ba1f87e73253
+984d7ae66515141e34d90e770992a0736e3d042b304271e207db1f282b2dff4388e48eaad733aa
+746fda33c9d9c7c9fdc090b4b2876fe4645c0bb822ce40d581c7625f9ec0de5dc6a0669412e971
+2507139fc3652c35523afaff01d3bd63a1e2c8a53b9ee0543fc505902e8fe0c23f72d824e951c4
+0a6483cd8a12a5b29f7c799309d17386917861acc27c200aaa34cb2a104dba07eb4ddf5e4099e3
+57d625394728dc83e1d722f3cc1ae7598f169e9c9a2c1e7250715dae8660ae119d8e29323faea6
+13c0d31c0c1d4005f2bfcc2d7913f8a0e18d1da390e2f1d3e28d6eddd09c93d019d608911baf7b
+ce79557b1397975e38e906b695b6ae1c22af047dbc1d7d08744f182b2263e14a75b843ddd8f990
+078410973d7cff56e897245a224a1ddbfaed2d848ded109648d42da10219fa6358bce77565464a
+e52af167fabc06c11e6726fc233d0144d35ab68c7269ed2778017ab4ac15639d2588952fa22550
+e273df724abf514d1f0364a1e2a7d9cdb4e356494de3af6125d3cc6d2ddba01ab92d36216a0505
+b4c0fbe46ad4674d8bb51e7520fb4403bbae43bd6a69e475eff0ed4f71d865f6d3bf6e3ed57508
+07de076c0b1f59083d488ad5fefe10d1cb93a0f4f110e45a80bbb00bf408c96bc6347922332f32
+20cf474b66fe1904fab3e58c9ed0b4cc7215665ea72ea2f7212e7927877fe71070d4ebfbe97a37
+5a8784640dec93f6d6eedb7224873e8fbef31c40622d385f6ee43cc6c5720d3df72065155d58eb
+d21f2c93f323e9e0cdc35ac43330f9ccbcebd9415173e5304db65d3dcc4a8158b8a838ce7e0bcc
+4f4bffeb9333eb9a28cdab15cf3256ae784884eb1fec9b65328a0a26d0c8edfd3213384b367fab
+9829a4a1823e223a3fab405e51593700fadd42352144f1b648bf7bdd217172ca43066e2632ddf3
+77a535b0d855ae8120a97e0c907967c36e88b9da5596676c9bc1fe9449bdae8ed6ed101ca70798
+afb9b9ee1b357fbd0846af20d3f4e64ad7793501a0f52ca0710d5588c8a7900f9f58164d8e5174
+a413764ed0b2630585c09c66a62e3ac562e06f2572fba273f8f2f62b50f2fb21040d12f607db04
+0076159fa283a42c653614cac50f6d929c6d69b7ba331f2bae21b1e25c2937b5404f6ff789b73d
+b70cd06e32f5658dc2ccd53d40acea5b19e4019263058c333d81e6f99741a86d21bda9c6a6680b
+35fdc036ae2379b16e7549afa7ede71c3e23df721ea9f4580d8c516832677fde26b79ce1a92246
+7086e293b003c9f725663ff089da8855c5fd232612fc0434c25b759debaa039a658a8f291261a1
+1e58460247bd0a03d3cbaa7b005d605030d42daeb1914ec78ffa012e5a416ba91a877872a48936
+2909cb20cc859f032e305be4e1e2510803c3f475ceda2c3dc8ef409faf1e260240d9eeaeae853d
+f289471f6206a91d7e7a24b3568ecfff34269dc13fb9cc71850093db85bea6c890ed3ba5f8220b
+7516353a9b9a7ae11bb69b37827e6036602b536a8142d4524afe7b951125c1243d3c8845a38afb
+7bba584219487cd88b302487e502d5911d79eab6cc2070ab47d5bd927b0a835cdcf0362c8bc0db
+3b45ad85aa6434de49b32bbb5bd180ab18c98b8e9538089552b3600a532fd24769c35281f3d605
+85e75988a305f1278f6f2a5ee0405d0f30b6770af0364f4d982c07d607ffa4d55cb773d92f9b0e
+163934e801ccd9a23b47930a57cae509c9e021d67c3e08ba173f8274b6b1fc1a53305dc998c657
+6ef045e84fc0bb391e971d75d69cf507daf86967bfca7f098be6f9f19ae1b72c433826094601fc
+acae2fdfe2773bdffc19616ad0e1da13b6575b5e949bee16f4198ce82df7bdb5a0e5411acca8d7
+4cfa1f7fb2f0b696de35d3810e090f2bb036bf80aa77d8e71140005a3014d736d4338ead5b3ce7
+760b0008c418c80508c44b9e5e8b58b6b770cfbd7aff85631cca1eacb7836580f3d889d9055ff8
+08f29cef9ebff7ff904f89d6655dd9a7097e2a27c19a0c47e710fe7143a2ee1e642da6af560630
+5c2abca4db9ae966057c124757b094b5b1226702b1a7fa4f082f8f1bbf841abbc29f760ed72e04
+746ec76895d4d5d78d2e09b73e0b6cad2cbf7b2583c1b6aed6b208dd582795177df4976908582a
+253ce329af84db80d2ddb23c02c659f99c0bd70849b40c4bee2c41c3118e5444cbe7de1e57da26
+8c9c6e0da8f2fc33d7193f0f4ecb83dfbb9bec8d0098c10134fc5c2700a90a9f0707ad75762fb0
+63f620b691c478ff88f78b486e7fa772c06e3f86b94555d981ed92fdf2ab8df1b9c1f9aca18009
+8d876e0b5a1f44d53a4341ad0c3c0837b8a595932efbeceba6bdeffbee967e474e173f99907168
+9c1a7e23255d793557a022726053b5bdbc9c333926d714ff8d6261e492df9c905dd66dd1b7e17e
+714a44c1e073deadf6a250b765872bf96e047b297580c27ad1714d8a2ce93346d0a972cba8bae0
+26bc1646f8fed5c9a3366e73a2a65fe7fbed4a8447ba4cef3f25e20eec13f5448dab2b1768be14
+a2f1fe90117079de58883a86e7759a3f8723901e70ed76dfdab6db2a2597f3cded02e1418e33ef
+2fc5eb86072ba97db0b4a87bf21354eb8fa680bd07fbafcf8cb2fa44a9bad1ec8d5692b12a0390
+e550e272449546a95aea075538359df87234050bf5b6fa86634e628dce90f5947772b834d3dcb5
+bbfef9f5faccac5ea302813fa76a0c7e8d4a6904110e7d164fdda1f2f9e867052945e5697f3e7b
+3f3e44a159fdbb940d942c43520b6760dad2d26e5568604eaf88278a7842315d062bc8b723d19b
+35d5913264c3313d68f88a1f063d0c1b5d51296c7c2878c5a016c6adb672f6148ea484b4356477
+94900efc313ca6fb90d3165695c194440f715875b1817b511a9255d75a7ec5343baf3115503e2b
+7b7550688caa306b175b35f1a17d821f4168e5f8caa50058e5700eca8751c8446a91c1ef58e6d8
+de3dc3d7f89facf39e5063c470f80c7d740fc48d67a51eb34adb4bf49f04166e3c8cc5edba3268
+4d760cf5de8e3b15fb7c922bb6866719f75f5e4b35fe0bcfc50117e820a707a9d45377bcbb9b50
+57c58d4d9ed248becb7d749ceaa982166f4e8fb3617654d46da66f2766ffd0404adc348bbe5cb7
+8623985f7bfe0b05c802f028d9f4a944f3077e85eb1e953656f07be40f600f17273a582064e98c
+77b6ed4f49b086e2e83e8e7dbe8cd9da174b49171822ca13ecd8ed6cadad41e56bae142c7ea81c
+e7041b17ce25ecc4e7b836a6d2831da602b8e74347810ee746cff2019ac296c137e34d2078d6cd
+89d12714fa8056c200294b7d43a678eec4b09c0dfbebc9899763b21f281a278d4a67701db89d78
+6acabde84a78a9647f68ca1f1d96237ba5496e840c270c2dc9320668eb83864c340dc520d9de1f
+6c6035efd0273406a14dba72d0d484cf006f559c114020aca0bc9e1822efdfec07866913956d0b
+f90c5b0f96b6c17799153e59603fb415cbac3aad5512eda753de8ea7b4ffe9135a8c70416899f5
+b6d1765b03acac1f8f970bf2d937ae6bcb694dbd3df0db2b53fcfdb8eedfbc7bb80246f7173b31
+93c0fd9bb5c1f2c3b3a9aa1b4ea166322660dd848c4922fa4fee272ba1ae64beeeb19cc875b268
+712aff8d4f245c2f081ede4e619321f341b217198e7a7b6b39b5a13807cb970ad03277fdbdbf29
+235c600e20ccd4d4153a4601248829f857509717222c2c9535e05debdede4dade6ddcb343c2e71
+5573b2182af3875528120b42dfda773ced4e091f4e99fc1c8f33832569adb8233c781b31ff3786
+8723d053307300f1e113e908473fbe39ed75a931c290e7efaf4c89d4cd22f63852ec30831d61d1
+de3815a6d18fbcd15f28eea75ae50bd0b237e8cb0870cac5ddc13da58dbd060d3193fc92e6c4ce
+f3bcfd81ce6b3679bfc5855796cdfa8a26d63a659a2ff7a1a7e318a7f76ff80e846a2d647d38e8
+27ffaf54bd5a9221eeb416a475eabf4ef0409b1ca55a851c245bf7207aa39b1e66969e7e4f9c51
+abd885e5fddffe5c9fd3ceb862c7259fa7694a0d3f23e9058558fae0ce786342875ff63284186c
+c6ba6a41900cff49c4d62cc812b1a69012527605f1def0cca48faba1248d67d87edf3d43f47c6f
+522c225b67573891636abde25d6552d7189d4afc07668883e67bd4eaa01b45103ce971961454c6
+7df0da607576110f2c8da07b9ac70dc2e64f1324fb778327278589b2ba951a6a1633cc42f2a3ec
+0778dd01e8538903ea7822e1b941ee27e6f017440c4f830a69957b04b076a5aafa9a268e06df56
+76d9ac5de75886a24e264a167ee413a32316082ca3775b0c254683cc91a76cc845366e63142b2d
+cc67b7930fc77dd8bb422b458b46fef78302ffc130db27879af2a0cfafcfea9815f6f105778659
+581ae13ce68793502d4ce92eaf54f2f04fc25b626fa1eef3ddee5e8a990acd6f855c6489b5c25a
+b7dd3295da54c95159d9f2b14acc4c9089dde2987b1c5303e06c0e93f86bd57451fc805aefd8d0
+5f341235ac9320875393a4258f17966b61e16fe7b6fabaf954a6d323763ae6579a3b1d7b9da2ad
+e5c69e115f2ae6dacb6a328c6fd935b6315a18ec533e9461754bf0ee0b4ac145327aa58eadcbaa
+51d9d56bf45d781e69c6ff888604425991ca2e2fc9cc3e7ce5c4058b6c70b52ff3657b2298ba39
+7a28a16a343214082264608659a3d54d5ba18ae8644f8b23fb19533fd1b02be69647ac6fb6f18b
+df7e1f9a11c0acd36b1c935956b58498d9b2092146c40e5a5535494a80098541134307f59da408
+bd8d2cf5122b8e008f4a2654d16a96006a6265c29d357036547a35925e541596f65a50239a8dd4
+e4ec9a18b16d7597366f45e3f8713416279120e6e60804140cb840f865cb3488e0ee5e0a0f458e
+abe7093bf4ef051f0a7146b11bb44eae1e494846ed190f10b0db89e45883d8631a12f3bd70641a
+723b52879eda52e6b30facc5e77ffe7d71ac0669134a0f6fd7942235c5925489a7aa9ac8b6930a
+5ad766f5c4e739ca0940be93c596f5d740f02a73709dd2fc2ffe0495487f44c9ccc01bb5ee0505
+2d0a9b0c3db6d8b8350bf4ffa7f8980afa5747216ef69ec0b98ed1b79c02db77f5454767331a84
+51f66a6612008b9cc649eee882422211deae767f039f8954f817a2bdc64996054ee4fd9e87756b
+3b7f8b11763804c850df0e5de35d64bdbb89fd722af048ca1ef41ad36b3ab523b4092916e75880
+3e26cbb6d3a1bb8bc21f25f210e3e54e02644c8c708c1a9850b2cdb968fec8931896b021fc2d23
+cbaf94bbd3e24fc187d1c332d229f2aa98941f64e584df42645ddb53288aef8a4c911eaf3821f5
+41a8751b3bd84a19ff72bbfb4c493cdcabe6cd66040a1b486857311d4d79d35753a5300d8ff9b2
+bd9e96dbcc474f559fa28d1c9c52dbfe0f9087536a86d63436b4117694575fa78233d2087b1251
+04822848c4267bceab9b77cb5964c40d0a51dfc4e5b1d0c7e22f197b6d3359e9289ef5251fbb44
+477d26af904540d3435ddee248eb3d0c487f7003b3f23f1323538c0d542f9dabd796e09c47833e
+6dec697fad5190402f0be66b3b47ce965d5cff946ecc5f5b4f8fe4cefeb2a991dd8f74a0178641
+9dd52da70012c08491d67b2b91ada3d1a288adbb86c5fefef18075629c29e372e799598201440e
+1132cf296b055401f22f8a434b4b55b588796f412088f221706148e70dff282ff142cbaa7e23f8
+2ea90f114acd00f504ff8c05a8fd606f343804e958c5f7971832bf0217f3f9b0596330e51aa3c0
+8a983f42ee7050295bcc6ad171e16abb6c2550e62331cf885145b872b81cd0cd58f2c70ac6a732
+66a4f6f825519da97d6f93dda6d7eaff7632e04c593fef7f4030da12b65804066cff8c561668f8
+ac6cfa47276727bd12a7ac5b51c0d7d7503366478071a4b01cb82e4dce3693d26858fe527cae59
+b8c381aed432101ba73ce558696a6bb0b117684642a9e732e366a5b4a8e4070183d853b12e1578
+dc8f8e781ed33c540056c5c0f9c8286bd39f9b965dc2c3a15e2f739d73d493bd81539ca0a6ec78
+32ecd1f72917bbda572f6c45c5679e18df3c8fd8dac651bfd33c3e3da798475232df911d47c327
+a74322d813784799852decaa0bccd20a5541fba1219d4b8beaaa5d4e20d0f209c84140c9c0df28
+cde89d224384f9f96342acebf36e7e610b8b5085966aa17e6261bf46fd1cd6640cc7e3bc14d30b
+2b9fd5cef3830954df283844dad7a19a987ef9edf13ff9c4dfa41004909c892454c45691469d8c
+d6b63def1938d9cd9e638fbb64eb1d3aa97818389631f9720704c5b92751c2375ea679812a74d3
+32211728a4a37fc682976377ca9be125425e815f63072810d00979799913a88f16929cea3a1684
+f18d58c4e429d422fe8104428798469057bf5ddd93bcb64859f92dd7c5f6c4af3285287c2be285
+94ef64873a60cb4197174b023c9e4cbba0d66b2875a3cb2796586159483fb395b45f3711b7093a
+fdceeab27dad762f620608edf89c9ec05cd5fc05261ca81201ad690e69ae96bb24ccb5de495977
+1492d7bc981ca09f2c6bb52a67ee3a7e062a1da41bea2c0f34179773c9ffa82f384d6ab1f65f09
+65728f7016809a2a0163934013bfb676a8e10b06
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+
+%%EndResource
+%%BeginResource: font CMEX10
+%!PS-AdobeFont-1.0: CMEX10 003.002
+%%Title: CMEX10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (), with Reserved Font Name CMEX10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /f-2-0 def
+/FontBBox {-24 -2960 1454 772 }readonly def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMEX10.) readonly def
+/FullName (CMEX10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 122 /z put
+dup 123 /braceleft put
+dup 124 /bar put
+dup 125 /braceright put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b0027b78229ecae63571dca5d489f77bdeee69161ac65b8
+1a171acfec6a38e69dd162ea7d456fbeadb28c016db3bfa3a91b731dd3d89e31936de5e0ebbee4
+d9bf15a1d35b3bfa43ade27c55337a53e8117722f41ae71510be6095ec8fcc4480cf4d4b3c8a65
+dec16f24a875f2c200388e757c8d066a3bd39db828e62e2d3d19908b221b8f5b58f7a6a2ebb901
+d705aee915d9f92114c59f6a9124885e77bd754ad8dacd1e7fa44ef6a4733c0ef482d5f4f7788b
+0d58fe7cceea728243b0a6d07c975363fe2f68dc10b0745b0864ed2645357de0f884e6c560db5b
+90bc479fb276c0e67c6aca496775a4f0a75faf28917167800890ef3c86ede7a7414bcd45e936cf
+947b2e825295f827128a2fff2b753d5e3652c8b4795554cae61967ebdbbe371300075727bb795a
+e304f5c14abcb350397652b5d0ea3d4d73b833a8032462e681e43cd3d78a43fa952ed710c6e663
+8885baad7de969273ee06f07b72b04ed08c21158b78de6e78e991bd249b33ef76a88735e8f7686
+ce0700b3747281e15759556ff9048a9b1a08d068b8f996d45086c1d4e3f34ff73383b31c8e1f28
+4cf111f5679604167bb9b16b1da2216bb4453aced50f10101b1f921e9a4a7ee1c8dbaad3e5178d
+22f3ec573f7084b7b8d1e6119e9ae49d3102e0a2de3b052767d8576e55a556c85d0301a1f0054a
+5190fa7b20803c143cfc85b17db4fffbcbfaa340dae90bccac08b034c8f413b6b58684df5ec36b
+4e9035e56d518021144eac7d803e9e47047ae3a81875badc350ce68592fca852ed1d9f043b69fc
+ae99cca661e5732c959c074d97acb34eb41f4b13fd5f39ad1afdd086098ea63b4e8cd38d0c435e
+21ea5b145036590eeda3ea7eebf57c62574eaa09fc25266a430e676cbc64322e6f17d5c59462f5
+448c9ddb5286fa0a6a46767bde7a302121bf36fa6d9ddab70e226c4a2704164bfd970a71b6d2e5
+35d7052d8abc13a5dbb526763ca517567d5fedb1c5f52334bc83f4b4e62f8d18301b5238ff2886
+f34ee94a2fc0efaafad2d25f49c12ae1d7600637eb753ba2078375cb1ca94528f0675312aac27a
+b367062f14ce2f579a94d1d54087989b8f789d4c69ae1ae7377a264138f86c8c5cfc2268e39722
+fd215b1e40f213e1c28f2b31ec529fddd314d1b8fc50c92cf13fa32c0a1383101e1c975a8ba0b2
+72e541dddf541ca9f272fdd9e268cab4d0667a82f41a648a292fce8a2c8ed4b7a425e24f685dd9
+c5d65dcaf54702101e86a91376554664d6ab8b8165bee10c7e9b7eaaf0ed50ec2106c51dd5adf8
+dfb0cec463b0ed5545c32f4b73dbea1c47818d8ede2f04fe8c0f22851083d5cc349070c1b4a011
+9d3f74865259f5e8a4e2fef199f23bcc1519ad05fc975f5494c2092e9d0fbe2fa9cf57b7c1b187
+c01f31f7062fe0e714529d5252e440a65df4508685f75d19495b53fe58f50f114ef557cfbb95f1
+6a621ac66f918696b0f48e01abc6f267199993d68dd76f27a219240ef14d3f18f2cde95e243cc1
+6625b8ee05681c866e67f2e414eb287dfff772b01053b1cab975931a185894d5676d0fbdd4c20d
+46ddc16561e06fcac7cd47bfedf2f27e806ee261d40ba7c460ae004fa6cb1b0c40475c28cd4c40
+e05c5b606d6346173050a75d36b3e1e46f7dcc01304bae188ae682fce0d38d507ed0832e8cf399
+14914cd8ac4126418a9612bd1b856f86c7ac3a14a35b38f197ce4a47e53cdbea38a4a848c692bb
+65c02a53233a78d50667314e7d0d8e43c2e1fdb5530d4b28e7bb19ca6f9c5fc3d117bc5e3ffe33
+a5b7a69f7f7159ca667d96b5d03e4c5e59ae171c9fb2f20cde1d442961efb6027577efc06bbc97
+b9b8ffa97ec03364355cc803fd2376db0fab381d301d05232429cbe3ce117e0ff99e47d628d116
+4437884ad964ac2de777531709f1d6c49f79b9073457fd046c5c76322afd16c1cb7f534fab4cea
+1cc11ae5cf20fa53dbf43bd274a6d42fb09d671da621ebe514910177affae8b6087a84c09f8227
+a5eb5a16985b5991f07b7bc632137f3c96446ecbb9ee31bcad2e6a293c4134ad506a465abcb72c
+0bbfe9b198d79d225e6a83d937920036d23adf8f062b751a148dd5c8cb11b254da5a636fdfe339
+c8b8c6b67635198fae9a4e9e894ca1fab597af5ca4db9a4bf3b44426a935bd0ccf8a0c54d6698e
+bdafece8ca77f06114deadfc32d9c085ff3685c1e1d710236e291233140b298e1ac763505d146a
+50c4cf0158702d7d136f3c03a7d60b789214257699255dc5b2885b496d844e016ac8d652f20791
+0deb6f43e3aee8f34924933accf93466d54f3c556e22e7e2027754015e1d0c8dfb194fa0c58ef6
+6c54d92739fe1e609b63c5f9303c66959b42f1c0e1717af82e7a269b49244182bab1c3dd615da1
+ff36f70ad9d5dd9d4700e98682f4c4d9e57b459edcdb653b8a3c1982b083bc84c55568dde68de4
+83fb1db089ebc9935815fdd7d035704986c98fcd3642367a59a8b1337dca37900cac287d01de1a
+bd824a83c1c55846539077aa2fe74d4ceda53593b4a8e9586da0d258de260b4054400b8694051d
+0c3152f286798c7fcaed046432748f127248e76d7f357aba6ad7a6003dead5806753585f363246
+aec4fe0c7c481c7040453f8906a90edfe154d59ccd52573a3b064b4087c4a1c78267a96180302a
+fab60a365f3b5d40ab976133c374385160c53d58cd419e913cf3ceda1414e2c99028dd92cd3003
+078a32982de4113d03914f8a09c1a4ec66dfea0ae82a6887c2c50b40dbb6ca2ea81fb10d944d45
+88b21cf5cb3ffab12d79091f21e179319d53f8ee0994425cb70a283f85576a0c65cfb6e3e1f2a4
+b9312fec1a38e9165731f68c2bc3a1d3148b1bf93ee623f5542b4844e9d3a53fd8ad8e72c0336a
+8cf7f490ada44965a38c2608cb025e010b2ab9f9a3a69c57c888ab06e25ab6994241693fcc2df8
+f6e2b43ada28546b3255fe623b39aed18982a1dde8346ee0996687e411c4ece195fac4ca8cee12
+34f1f1f3f35e7503f5cd84e6d420c1bb99c9ad4cf643d6420418495e293973f3fb4d2d4a51d2e2
+94c46182c8b52da287ea04930d703fcf5d3958f5b217d6873081335d649a5e45339c5d26f46dfa
+f7737db5ab34db069227f5e73acd5538bf373008b7d8727569052bf63e646ad463404ca2de2c38
+57a9fa62e5485f0635e9c6fb9dde883e8e784d4b75d957c386848a83f95f2f2aea19bd80be1bd1
+22b03e27943e283355b49c847f16961047d2cfa65817e99121c57b9f32de192cb5eeddee4656b1
+7b370b496fd52dd90d8500b87251fde226d7230693236d8c1d054427e58c755e57e7808ed1ae6e
+5bce4a3c691d333d192741416d86b3b716c3a7bc9e52c3ac7bdd1ac67fb18fd57fead473a4cfa1
+3248e6f166f1b78d43a0e1457801c70973f5b2fbd65c482ec76148a8bc2f4a379542c3883b9dfd
+bd0728d0e3e541c1b743be8918c231d3093c4564c40153f3ff72ff24ca36481082e970b1736ed8
+664a543347fd3ea27e4f7f3fd34d1e1f97f8a21201bc6b1fe84a5a484e330307e08e0f480e3d00
+7f43e598c6ae726dd10284a294bc548775af2e1574fb86ec4b4636b87f1d6db2a4b856db018d56
+d9644c08ae8be05fcea3809e917a5953942afcbf410ce9a52ebb4b956a0a6600982547ff0597e5
+e92d05f1edb70bc78ca32ec76438a996d71f5daa012c51b95fab452486a790361c0d43641b7eb3
+b73e79e53fc56ff6ca4b361e80a18fa4a1fac5f65326aa382867e0e4999791f58d5e2c82e1bf2c
+57b4da85afaa7819505834e31db2f4938053d47d0a4b98b7d64ef0aebdf9d561d4cf409b77be9b
+c6a2343d18ecc7756c78132682158b123d3552d9d5ddb77042c8abc6cb4386683e9aa2ea98d873
+fe1147c89f2ec672e47dad71a3c886ec9619ba2f178c0db8af7cf15c160436e19b654c390e9cc8
+d354aeb3bc6972cbb53423c7081d2e276f69e28ca78c9e33d7451d0c9a0faaef172736e6e7c8fd
+6066ee8e402e4e892a2a4fdb92846f86a59c84de87e9645bbf04108ec0d07925ed47ad7e55344f
+2a5d80a8387a9570115e93d4d98889d46d33e5f382046e57a022723ddea1232f8e5a1f2504f2eb
+79f712986ea426174d4163a68b805cfe9aed4abc997fde625d1b559cdc904adaef2ce75347fff7
+88aa5cc14deba6ec1aa0d412403eb26defd2db74b2f39ea174796f9a64f615518882e36344e55c
+a89d0da75b39042edcb2dd9e68ac54d4c027fa8c674abd1a664c5e5642d0bfd516165d4a3d46c6
+f91f7d9393ff91b85d9b9ac3ea53335a647299f11bf73c66ac2a30717a41c456a8f3293dc3e6ea
+13ab8ab869bd376a9afd5d28000252b8ef76ba80d802c0534d1926b50021e7070155dd152d2967
+715da0caf19ef202fcfffcf748be11dc56704bcf843ca76847213ccf6021d8407081e62f545573
+4651eaff0c361f29a367aa63c34543a9753990fe009fea05fb25bfa664f10fab43bba46345b859
+7009f87c37e3095e1f299e8796eda183a34fc709e3e5d801a1773ad905d4064b347bcfba53e7fc
+05e137c3ddd6cec6b14a255e83cf1c0b3fb76ad8a7841fa20144f48fc192c3fd8eb1b330c72f16
+22a79887517b96a00108add788036f92ab82a8daea71b81633419ec77a37dbb520f21375793221
+d62a7d844944e2fbd9019cad883e3dccc5a7efee0f81826162073232f312b5b348f4b8bb303745
+b5b9763ce2a755b71e32151eccc2b5ac278c9bbf41ba1dec03a5edaa25b472c359569212ce744b
+4ee297423bd68ac82cdbe4e907c5c8d8181742fe42882442d54f21213dee1d3036da54d0a149d3
+147a7f6d4b5719beb7aef5777029307831f13139f51332e59e2d67acb6e5e09b4d741325a9daf9
+80a33143a0ed4da984fad60b2db8d2dbbcd2273f00b2be5031b290af60b8b96f474f6d4cc34c4e
+e339eaece8004320d8cbc189a9ba8d0e100759cebf6d36fc929dc076467ad29790e7f93f5c99ef
+406ef93a5480e8227bb42e68727ca15061d8dd3400512519296237713ddd127b39011dff58d9ed
+772f3390299ec9325c249a6b838d690a7a1ace4bd79d0159ac78f0c295e58922e5291f4fe6791e
+7e7bbd7ed8e49034c70ebe43b66e02e61c59a3ab540427332cda3673fdd7a4b0a372b6032c19bc
+f058df4eea3458ec71442ee1ed1c2222a4f92640067ea249e9732ae776036404ee5aa1b6b2d924
+12a6fefacb64fdc2e5abf623d7c2f7e786402772154e3b7df0496d799fda9192981ddaee995357
+0fcac4f8090bf52dd470a88a540f212129a4fd9da3d493740b013ff10b0524ed7a7dca667bb125
+dc050e65cf2a0eb06c2f92722e3a3a6824d7b40c6a8b76e8bd87f3dfecf4d5d55c7ae598f70c5c
+c509cd1fc9f968f841e3f6222b4dbaf20422654c483b8961c28ec6ada75d8e1d3002ccbfa2c4e2
+ec499b493d7759e6b4ad3c5451db5a580e03ba6bdb6843e9c916d29b3bdb14f5e91d186d8847be
+18d2cfa658283992633330d2c003e5323db743f8986733458f95c4ee627f462597a88934797a80
+e68ab9b48c2705f76370af955fcc77b6034e78c098cd1eab548ba92ec278d44ec952f89d0e6ebb
+1227e38696afeb27e2f3fd724956f24e198f1212324c029a48807f6fc1dab83ba87d2c79490c3c
+3ec287e7a80fb9fc1fcb5cf122aea90dc6f5e4dae6350c1ca830823c500a08a2c741a499ef0bdf
+a7c57a4918534f8abe0d8b4382c9fff2bda6e5016659acc32ca65f3032a751a5312e51914173c9
+f62d1971aedb6a535d152697f47449260be4c105166850e659014895ae8b330f224273a22fb0c1
+5c56ea03b611d107be469e76af9d86f7de46525cf4fd87aac139f72d2ad0e6d8c211047a6539ac
+5e6a198717425c681307d7fe795f983ba3025d77c8e28f9531783d05220e0831b6ad9770a71854
+6ec066b7eed90bd694a04fbcea38e4b3b23fba342d7d5629df943b151f92af1a0bb98eb5fcb794
+8db45bb53118c2b7d356daf0f99a33c26454d81b112cf073f920199e47b6c6bc30c9c789c958e1
+9e831b78fe03d1751ccab864f03ebd34f90d639f67d09de99c2147013909e3b6aa7d600c853318
+79a29705c4a6637a3e7491c754363053c8c7dcdccd5b299ca30c7b7692800c52f145c7ecfc38a4
+da32ffca53c65f1b695b9172b530c9faf9f81e5b5be40beac6a823cccafd0f0f8b534f960fcb47
+ab234e52325d928b6825fef496682e81b61180182e2a0e96bb81c436c3cc7021bbb9a769307ae9
+aa89e28f4b430223e05a38eb87783e396e6d162835876e3e9386bcd12183e9fe7cfe757df1508f
+5f41141c6fc70b19feb96861b5462c1df6171277f7eda3317d14c0ab75c0949bcd276741c7a349
+d590e7a569d428efcf78ca4cd3dde1b784e5b6eb7010bf2defe16902aea01735da331cd4c229a9
+6e0cced34079d071a53172f1a18e9aff3fd6fa5805872cd798a7832c974577f664f01d30896098
+f4bd65df8f1ecd8f8e1166bbc6e20e24301aebe55a1aa14dd5a5da8aeca1e0f40c6f39c2572ca1
+50c2c4f6f5651ace4c626d5acf279eca54544a6773daf8f76d2d46e1daf432e5c1399c7482bcea
+3ccc67ad742771f6d8a00e86665a9f0cd75f61ddf9e8b3688863119916a0ef97c0ea3b13f55e4a
+5da911018d3588070e90827772b7e0843d9b9bf9542ec5f18ee51c51e0b8fe58d7c35ab36f1353
+dedf2c6f55a69268ddcdb8fb0a40887ff4825d2828e9f8d3828118efd3c1b9d5d5079cc1cb9e66
+b3618d67a9dbabd0454407b6de4e0aadfde0ed86296358298018681c7a937b46011f1de6e4676f
+21b787f107adf90539fc3f8e72f3ab96e14feda66f3ffc83e16c83e6901ff74940b6278892ddf1
+9abe2bbac212c7a26d3e8b538c61682f6972654d0daa6adb1682086279ace1b9612e415e642d44
+2b477599a277517b9785289c3764b116ed1b10f823d49008398af3b84f44f2ef2f7301d9c2ff4d
+aa5dd7eff7faf562acb6c713eae12d85a8e76eb10ad54a6a9a3b0484ca917e4d1d6afe9df4701a
+0b99950113c0fbda0d03f8fcd006bc45a5569b835ca17523e401214149e7015d558639bdd613bf
+685ee028fc246ecac642d5d1bae7fff05875c76840f70b6a0d50a81bd7f230e01c1342241d4064
+ee05a50c6aff48af4fbdfc7dd9f619182b66bf9a36495800c66d32907ac7bc720bfa66c88dab4c
+8dac12aab1dca186fa29b3577630c95f44bf40867f60b9fe323f8718549904ee2e7a44b8ac2ae2
+374c1a424b5472c32d14519e71d6b518d6310ddcb84680a0a6b490b4854b762b7858111ed2e015
+075b2afe929240b60a99010c3bdcc3c984415cf22a9d8c3dd11face3ce54325292e8a7a1fa102d
+8a76eea7fec3fd3a8f0e6d82b4628bb29d0febf0f91446abc665bdec469a56b3211ac8411de7d8
+b5f1f33721441bd5e514291deb7387c39aa3e892bd776f028b885151cdf3a2933663c62982e2d8
+76b899791a1296416ed7b3444a2e12ae432ae4be16b337c3e110c96b099fd4368d9078fd9742c7
+6a12d7e5ddd0c24374dcaf0c4f0bb1d1560d2825bfe552678b0dbea2a25f6a726a31455598b3d4
+877219cf6777ab067a5c6f782e4c8fd112aa8e99894b441453f705dfa7418f1ac37e61c46c41d1
+7e5defc7a6c3334fc890c3b0868722fbeec31912cccd057c97a1168c304a84405c9eee74d7edd0
+3fa64c7f7240829b71c7a733ac660eafc2f51cdb12770ba5d45513c3af6edc6d91ee6374eab986
+47b4c192212565e7bb223ab1a8ed2f31684afb2fe807af4bf5a695ecd041586c95e959f4d0f8e2
+b4e70acd844e3367de4d32e56d0c67af5629a1bdf78789380dc127c1a50c509e582df0dc455ad6
+5db39de25d1fd010c32ca846335fdee421e2a0cceb2afaaf89922b3e226e6adaca39820123474b
+e8a196ac89067c7d0b1cf701152bf622e16540e5d06095d57f9fea04d55d9740a6dbabc66d4562
+8bdc9e135a0d603a6117a7d89730d2a5da9be63505fc3a1965e1876b223b74d59c79447aedf5c5
+b090ea530952054f76adc3dbff1de41925296af57f2c42001a8b994c6bb4a281e512ae9d0d1adb
+40721bcb583e8755f86eecd5fcd7a1aef9be05ca38748d9c62fb7a7d077c86f3cc4137d6899bdc
+47203807baa8c7fcf2c1df9dd8707a4932cfd40aed353ffc3ea5c9ffe1c13d5be374dc04c1a214
+59b440140439d05226d9047d50146b00f891ce0d692fcf766989298a8ffa05b2f687a81f0240a1
+230f2538c5fcd2f3cdbe120306e5daa720ac29de39d7ad62b0dcf13431d6b04d84ec272a8581c1
+21e91683624279ea17652b5034705ffc0391f100c845405b163c8940978b94389c87ddedce10d4
+65c53ffca50ec4551950b632951879a4f6d284ee707077305af19dae33ee82b68f73fb0ceff9ee
+ef0c829b16f10e7643b29e58c9b866564f0ad51ddbaf1cb6b016d4f77f984b6ce46f42cae07a9e
+3f47df688383684544b3dd9f16b635c3aad5d6b18290ea1a74044f7a20bad6d89b0a0a8a1b87b8
+08c5b5a94ba1aec8268a0073f740962d2876aaa35745f31ab371aade432bf46f8456404a38dedd
+0d57cfe7be02eaea6adfe3feda8df97ed9320a8a14fdb55d2d218540895430a8137cb088c62ad5
+8bb8c2e9f790b7930b41066e63aa2d8264f59b
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+
+%%EndResource
+%%BeginResource: font CMR10
+%!PS-AdobeFont-1.0: CMR10 003.002
+%%Title: CMR10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (), with Reserved Font Name CMR10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /f-3-0 def
+/FontBBox {-40 -250 1009 750 }readonly def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR10.) readonly def
+/FullName (CMR10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 34 /quotedbl put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 43 /plus put
+dup 61 /equal put
+dup 92 /backslash put
+dup 97 /a put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 105 /i put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b0027b78229ecae63571dca5d489f77bdeee69161ac65b8
+1a171acfec6a38e69dd162ea7d456fbeadb28c016db3bfa3a91b731dd3d89e31936de5e0ebbee4
+d9bf15a1d35b3bfa43ade27c55337a53e8117722f41ae71510be6095ec8fcc4480cf4d4b3c8a65
+dec16f24a875f2c200388e757c8d066a3bd39db828e62e2d3d19908b221b8f5b58f7a6a2ebb901
+d705aee915d9f92114c59f6a9124885e77bd754ad8dacd1e7fa44ef6a4733c0ef482d5f4f7788b
+0d58fe7cceea728243b0a6d07c975363fe2f68dc120d39bc1437b4ac6e91b4f1adcd675ae140b6
+f59a96ca858bbd5c861ee4d4da5cd8c0810bbf81fb77d72f04692826e26e06411cd5bf235072b9
+a22bff0b022257caea6b35a80f6584f84fb25d2b12b487b122a82e32ffef3260f9ade779b4795d
+3c56adfeb29c4e258b2d9f9a28e54efd9bb6a98778a6cc09348657ae5c4f1cbd6a6657b6960225
+2e89f0dc72dc41fa2151c8680593116af44bb56979d80ae7eb28ed92dd5211a953ef3956453d15
+90fb10f8f053d924da5eedf7ba9ae7eef8e88adc91b40f9aa66111521e97affc76678b95a94c1b
+10498274d41eb5dce6c800cfc2b1daaded801c27fd5b57ddf20a4e7acceb6ec82bdcc67f5ec5b6
+9221de716f66d38f37d936a4379b1ef049d22ff23aeaea253f840f67cde55a9c0449f09f5c0144
+ebd1be42eb4dc7654dea77f4821c36b37e6367f23bfd70288ebc289858ae641a75597dc3453bed
+fea0eb27f30b6dfd61e07ec4ab199fea4c2f59d6f6b04bf3f8356318f0ed8e1e663838237ef143
+fee4ccc3540ea39b05197d2d9c149a2a71569b89e3526966b4860666d7394635cec4328c5e453a
+59e314fb4aee07dd60c6ce98b1c7e0fa4983414f17c728d92a27a7c1402b6bc51e3a9474e312be
+1e6d5b802895af8e46ae6dfe64ff5e41bc52a3648091f713c7f4021c9ee000cbfd06faae97bae0
+55c337de33c9cd0c6f45c4918db239e6e63d795f44b9d097118d083b6d6ebe2062308845affa58
+d04bfccbfa3d1f3b4d086f1e362357eda652158996fb06cf39ebc15946fd58e6040e2150803bb9
+d9156133cec43034651f6a759639393fe2cc6d608730180c4ff6fe77346eda3b4b747bdddcd33a
+9c81236a22c18964c1a3dc6b47a384cf48f9dcda4481ac84ee0234b1825028609526349bd3bebd
+3275055bdb3d52e2595512a9d803f68a9237ef9f933f367f4cf21bc4aa61ae6222051ca394db85
+b9bcd0c78e7cff1b38db843b76e9eb828fdefef5790cd372d971e5bb8ab00df0cc66afb0fc526d
+9e6a4d1bceaf99078466dbcc1d96c22b022ee2b84ec839a896acfbc1baf7cbdbc883b8dcd3368d
+579e95d20124d58a0d8e896eaa9ca2dcd4d3f084aa237af69c9a958ae0129ed065740b556cbbd6
+7695d32b1ac85b0f26bb974bd8468f058a619486ce6fc45b074a6541d409eb725ff3af49d5ae3b
+d896d1d6bd78746535a61e265056b9dca3c637dbf690b539ec8fe181acf0ec5edced82868355e0
+8d64edd445413bf367c817170006d3dcc6a9a7288531311a44035d457837b97044fb3beda4503e
+e5820e5532bb9304e8c83201f9c46a1d6739b2da74d046a75a60ca064cafe82168bd87e88005cf
+a68f9db5faf2f75f0d7bfdba7ccedf205bb6c7361a62e619af888a9e753f1522d7094e5a9bc206
+cbce76f0b6a1d85a2b93789aa0cb3105e43acaf226d61764d6962dbb1ecb372fc27ab8e79763d8
+3df97805bc70614355bdc853942f8f4d271b54b3c475b27d7f5985dd84b14c22480a6b156b9a81
+2adc8ec155bf922fba301815ac958e68109c186984b28592719e1579e7510fc5b0429b577f83b8
+aa4e11a93291dcd14a1ff76cc5e54de58ae4b399f086c0c8283d938d5f4254f37e43aac99f49cf
+259036817690e55f09e8c20ee7e627cd38a0ca9d7a574a816238478497dffedb41bc0a56b7eba0
+9b58a4d8d5711b931598873b73f54a94cb7db62a78b590a189c0b83d7bcc665ae203d5669c721b
+b4c34ba9b85388afde9502da1ad77994941dfb0c8d9673fe3801ed7b646a3f7b86c87e2a5234b0
+2507e05189732e574b7f2294b59c2945666bca518a71b9b5c34f823217326b827cb5c75195caf9
+b93dfff259bf3e0ca4b2c6bee5860851ea5ecef377689a76b98c4e81e8f17067f47439f0fc5194
+d5a0a1959d1e71c88eed68a2b915e56b38c00507921917cb41bcdfcbb6e041d80b1e06a41e974c
+ae2bed5381d03bb4e1f2117d109277de28efe7bebcca40d687561b073614d885440c9130c12643
+1c95e73f4c7a9d2c9ea5a86e1f9ace968bd2db67c0900ecf65dfe8eddd61a11c285867c06a4557
+ed0ad36fce2e0192435bece4fd8d7cfc355c6c019ca83dc0c9290e10d0f166ff639ee6fdef87ad
+b19fdf0215f52da1ed5eb65876fb24c0ded82ec96814c0f8afbc1db375051bdabae230a873df8b
+5b55e6c006e6f7b6334287820ba8f20d65b01155c9032d6393ea04d967e4106ee05423610be003
+033e86cc7f177df3e49dc911d5cad22495e430ee44d9fa74960ce44ff6867327dd3985c0f7f456
+b049bbe721f07a2eb9149a44f06086ff1391a6e2bd4a5278ff89beed802bab6f81a8d4c25f1759
+7beafb760a318ea610b5f145274a2b3aa611858529712d404991ea274f2270452da3b68d891699
+43ba7686e3019263133290796975cb035b2e6169b8621e7136990ab699d1c89fa0e94551191523
+fd1a69cda50cf8aded596f56dfa218cccc84acda3226a0451e87ff0e44fe54f52b37a59220fb13
+5473a469ea525805de37d223c18319139185b97fc2ea83356ef7799081d1e2a97d89f977de1458
+9ca8446cd692fdf2419459618475c952f389db09c0749798af8397ac3e11d4e7302e39ac34ca03
+df273851301a1ae9b226e84fe2e0b65131299516bd64aa90efe39f280591af10c90b652ae14e80
+cc1201b4109629558e83b83483d4dd57e0857ae0dfcd5a64b5cc36c1f28ddc752ac1d1bcfde5f5
+b1511a3e6b30d835186f38e35215a328d396db7c634aad187428b23f68d013bd6b8ac2d7ff93a1
+d399c360245641c2200021b9f8dd69304f74616ea2dda34144fc11ec42b09af21134c2c7fbf153
+4abd44083021d4ba466e732a1fab596e9f6afd4874ceefad852697601ad8f15aa5d59e20c11e25
+b8fcf60d6138d6e72a8f4cf154c97bf5990595c479ba3a2f96dd65396d54a42b209ca55d3eb21c
+be6c44f0780d2c43fcddddea5a65ee645aacbef909a155b55247a4dbd5d59e7d0fc8c20a219344
+312a1d86cb69662d2c7cf928f6d817ba34ff554890aef5afe8b01db6537b9725b88cff02db92e7
+87b593a6491f930eda75143528147e0341763f3f8b9794a0dee7a4889530c765a8e665f58c9334
+0c99a098250ef663f3158ea3e6dccfef4212909a5c5c23e2d61189d23d69e8bc366c947019c230
+5017afc9d36c6e8c560efaa4093c944a4457698c5f5de74374ffdd24cb5e6d24a04b531793be80
+2d5ae400e2b068a62252c678f4547fba7c677e634cc76a0373124d65ce68dd5d085841569a2f8e
+9c9b71ed1b3794e6f899d6f3cf7b6eee7f33a285abc190b8f17454b084c8a83a7c64cb899733eb
+e3ea8d710bf15470c8699b265b4d3714870776f16ae4a5402c0a40070a16114298a51c1646f6cd
+e88114626af0e4cae0ff7384d863891521eac6f31a5cd295cc0c0e7d59de52de04bf5238156f4c
+e33cd4897cc482ae5ad1826628529ce5a6a5e6a55aca0b20b657cdf5e57c5a73f96f93622c6cf5
+00bcd7e6922bc3ca96bba05fea0b0ff7ddcac109be83fa8934851e9be9bd3109192202eab1c77b
+0c86d1ff97e3b8732fdbb9eecd2a547e3a1cc4402d8f1d213c98890afb12ce908ea3cec9d2e7b5
+bce47c25c32ef337c45f3ee522f5cc76d1505ded96156f80bf6c8e2cf5c3f28898c2f7cedcad10
+f6dc5c45ff4979906b2fd4db0d9435bd85ff5b78e78e441d140ab53db156f4c6402f716ed7ab7c
+5617ae1d1a22bfa5bbc89dddcf9f14feb699d206e1345b793185d2907babe65547a9a17f8b0ce7
+18d98db6039357616cc44be309ec11368ac4d965927773cdaf50ed2d48e692b2a3b31521bad488
+bf684f01e3506733b27eddbb5d0d6d3d8e65a5e1bc745e1eec0547984018419179b38d42e30997
+94341d97885f230300ec6fa06b18c17a1fa77dc186886492d150df1440db4efae287f2f2a4ecbc
+f0683eedea3f78b1b68fc1911cbf2625185f73c141dbc9674e7affff580b4a0296073f5b6505e4
+d63a4a736bc3b794809e801860ce4691a57eb02c0947efc1de4bed3962346769c613f240db1574
+368b28f186b608bb99da33ae1b3c266e49d58ae67a462fcf2e6bfed1ac1ffcc24c9752ea793f60
+923f7579d2b8ef9860975e6a80d5f9637d594a9567f8a2d1e15ccb1edd3d502972c969ee42f57d
+74500d30170904a463d659af0d96ee6fed9f4c7fa0c7800ebb2ed3b78c3f095d18068f96573a03
+3ef343c07bca94dd9897af2830b6a40086c1e8945b26f8baedb8c0af3371060ce18cf8d8693738
+c15c2eb95a4f7f7a37e82abff54ce8d19524e45379c92bee3ae74131231fb175d96fbe54274a88
+135fc74d9f429b9794912a8d157c0ce5045f3b16a4bc78811f1007c96eaef9bbd706533a7ad804
+11e4a3adb0bdbc27a94632d00a5a561df53e0c63a0c17d9df09ada247b420b524135e9e7c34699
+8993f716f41a8601099fb2cbad6f760245a1b52e1f8c45fb5379021a64ee55e368f1e2d704bc41
+76d8e1a1f034a631aa520c6039639207386175c7913af1aeeb95f1c6f995387a454c25e6f78af6
+0ec1d34e0fa0bb4bb8b9417b5d8c59d31bbd89cebd28c490d8436128eaa23c69816af90a4622b8
+2a030514aa5eb2865f5fc5247dbfef5be641da1448376de08544b9902118a5259175d547a87932
+6510c732848d4e5d6d4569021cffaf8be720fc9b73df8a0b8be87eb08c3a2cdeb28d6acc63694c
+a9cbd263838f26a9f538d85fa00cb23f053094977019ff9a935d627668bf9e94eac831d09da176
+27b4a4f4b6a790273ec536a5d8f66f478bbacaf17382f7a3e9257e554ed267eb03cd70b80359ae
+7667c44c0c9411a2ee41a9b0a6a12418a37e6e814069df72d0534d6bd5631f158a3fed39fe33e4
+d97f5b8d0133f8d67b92c72466cb2b82def502a67fa8a37ea4473056da8b1a1c589960957b0e1f
+e2316dabbb150f8f8be2c4da45e4014cdbb22df11a9fa8b85278ac7f0a6f75996a7eba0e524eda
+ab6ca54ec3b3dade7c9edd4ac5eba9087cfd542cdccdb9410202ea1c5dfd4abfc5c0e1c0ec8224
+6a93f453389bdef4fe8a94f9aa5b492ae04400c73f55f67ad0b02f092d87e10bc9f14ad36c3e8c
+c6519bd9ac63f795a51f61a9877cc56e8d87e1078a1562332869ec5d52bc95be2923ce6e9ab07c
+7b9ce0382a5afc60a44693aa58cfd33baa0415f5c8afc239125af4452c3a0010fef23c70df02d5
+d1fee6d23fcbd6b59137ef773e877df1e42eccd49373383b53556929650002a51973c5cb12eb66
+96f8d09086c7a0818b7372d1d17fea577704df4eaa121e0271b9459d57e1fd89a3db3d4c75c620
+79c3cadf03ef97d04c5a4cc5e608ef1599afb139ad7fe73fda41b81dc0cd9fbf93834f9ba7fb12
+38e895e9da72f1bbb8ff581c45a14a39981170d15d4e04022a9aa5a2aef9f6d38d68df4bff98a3
+71296a4e9ebdd2feb5bb616bde6c9a4647901613239b815ded225e3408799fa2f73d7be239cf11
+494c456dcdb4d618d21d19d81879bfacb55ef117fdfdd0d5f66bc97fbd7c6aeffc84d196359698
+e9f36512d6cc42775d1adabf6c99b4f4a232579106d27801f76a71f0770168e40a85403af26be1
+4ba533ec0551c3b18ea8ee97c57f9faeb4192419978ee50242ad61347104fab8f4260f518922ae
+10276c55fd46ea3d4f6471207910d77c8db13e391124b50453b60fbb4e4f15855fa03ac4c3a5e0
+f6cdb7995b1118bc4c9bd2f869682bfb9be20d917cf997d4c2000abd5e11e2dbd79c9c8b7685a1
+7943a2de2ac4cc60a50cafb37baf863aa8b8350d7dbb1b52c2d3652745ce06b1193d2785073f5c
+668c4a117d268d839d41e497165a50d08c3292fbd174411692a3b744da54986d1ef767d6bea6a5
+f437e5fb61f7581c72fa8df1f51909443be412c321c9e1fd626b345b705dc4a8017eb0d8cb61cf
+e5f3f80f796bba6fc7502bb925a33915953141c4444698a18663eeb95e492f20542eef84b047ac
+52a439bc794ccd488ee9b25bc467ed09a418256bc0c14a808f007231fbf97efc1881425ddb64fd
+6c170debd330257427c9d8b53dbde875aec06196cb8f0d33bf10b681605a02e750feadb3196bb3
+ec2c251e5f549c2fb6c91fb32c1bba3c9af6ce30cb6b71cc2ba681231b1b521619b863addda93f
+bae29f8c7a439415d22bb35f59608609cd13d22612cbc6aeb6601b37a6c9f09eb1eb8f60f12134
+956e456db374fdd7a93302dc2fa405641d09fe7c28314b08e4fc9de9294b2caacb8f8673647ea3
+2571bd33996045e3a3a6ebd1315c3c0c91fce65dbba1d1dc730bfbf02a1d5b16c74a8e5841450a
+24fb0d87108469267cd21aea77cdd8b317629be24dca7fbaabd757acf62f5733cde3c4f6d138ac
+ee93de18cb485c9178214351fa3f0a44ed41a3f7de68816b7fef6c2869af4f677f3f358533afb7
+d4f090c65f0358bb63e52d2c4878d2ea0620d1fddce9b8bc22e99bcb711de2d4086cc2950ed2fc
+50508e3aa0c15b109a3221caa9cbd6be368bc6b7a7033656d9ffc85f729d4bff1c18b00e78b5eb
+5c9cf181906885c45e315b2aba41d3cdf32f0cf301dd4eb4bf9b28c0a4d429fc84aa97633a6bba
+6ab0f43f61d0f6fa9a35256ef7bcd8fb934fa1c035a8ae3b600920b608ebb40850e4c7e3564572
+675ccc7002cc2029bb963d87385c2aaedd472a224f92187298652ba268336df3bc28b33441c1a8
+985bfe71eb30e33ee83f738123d76f94308a1a2f2f549d40b7ff6d97ed87b1989dc12aad21ba8b
+c42b2c361c50e44b74ec9db17061db171b932c910397d42c1d6a305299545952ff8ab117bff8e2
+bc2e52e7ffdf6cb64d61aef2e79481ce9a1915b207c58c4dda3d71172cd99883a27078693831a0
+7ac70c67e1eecc1dd5b3dbd0f7b445a167e77f54ecd3f88a4622771c55c53c9cb58631b60374fc
+4e6ff1ff4a26dabbc2ae562a124333c2822e4b52598cf5b4d5292df4b06800d9689c04ecd895d1
+7847d93faa68b508e524b39321aff9e749343638acab6cc92af4b447b87c3798277b3e83341988
+8cda9aeeb978ffbdda27b6628fff08a55fc41f646741d092148a2e149cb295f283b9c3a6ee040a
+ecf8a895dde8dd46908ff65a57f7cabe8dd42fbd82206e77cc64aba562e6d21726a63f5a75c4f7
+fce6a8bcd6523bc18679cf3730bcf4f1ecf3cd00d8bf63af271164211a34e3beb928abe1a06def
+8b2de826c893604c5f375c7c254c4a2a797fc1ef11b38ce154a5b337c453a307e501929d361a66
+aa0ec59243a64f8cdc31f57ec829093184386859fe4b6792265a6b32d03cf1c81e583addc7bada
+c25c98fd44a3796e33e53e9b2019d0d8c6ba3685019e67d931b5a817b2ce47a88be668bd45dac0
+5199d05b5f02de05455bf2cdd48f2b93b50edea9a5e0c871f8ac1665fedcd0bab330ee628e3df4
+514d679aa059ab3c1da74e2590354028facc543cfdbba7f90010a2aa33b7329faaa0df1c555e03
+b71f153a5cae8a5f9738bc5c53da38544cc23c785088062e05e3896956986b6210d343068b5106
+361486b7545b0547ca15f44369b663cfbb015bf312eaed766c1afb8a49609dccf84429ad244ba9
+bda8e7c8486ecfde9f4ecd69fd346986678026968855b8820383b0dc16ef600eb513433961d693
+0545f8cf0eb3b959d906c0b5b648e6ac3b2e33afbc0288b81ee909c1c6481a612e81e11ca79532
+197ad099d11a2258bb34cde121ecf57d0aa46a40f6d4ac2b193fef9ba956056a095b4d29114fdd
+32ad4f1cb42968d0b36a8a923f226cb5ec7bf52767cd6e0d0d777cfec28d25f35000bb2c95ba00
+8be2e90e627777bb77aacf3eed7db4186dd84da4e877e89d0e4d6770df9f27dff818d78a93933f
+19846559c91a453a8c4b0a60d746170797203c142323df81aad09f4ed3844358980e6edd133dfd
+1f832aa5295ef00bceda71e1d8bf68483c3d21372d3f92d7885472a1f3180ad6cd72091ea4d285
+0e63d13424678aa9b1d3f2e1ea7f42eff3641cd49770a6786cd5b49e9d398bfdb12ea7dae363c0
+8c08213680b8bbe7ee310d3773c00049db35b46b66c43e2ee403e0acd5981de2f6896603072adb
+4614d4fe5a443d6ad495341ac7510f2012c88bbbaa35e3bcaef7633aca680cbb979b0295fbb55c
+31ad539d689e3e71555c10218f8e6ef6b94985459fb6f81f2408c59a4692041f6b56daea3577db
+3bcc35562ef642564febe12e314602e5f4d135b62bc341084e1b1d3819a68d49c81270862b8528
+8e9a6a33b8c0d9f93e4584bbac42c06bd47fabe8fdb480085041734b8a3e87015a048ea8a5bd31
+6963d49785262777b391d311aa75ad3c4c074815e78df8dfdca58726619300cb8a2c847dbd3e2e
+1ab2ea3f9bde1448ecc5aa4d2f0296182e8437e6b65ef6c017952befbfb2a3825821e02989ffc8
+9d61452333a72d7fe6561ca34b5f5bea5d456a0e93d25c50b31650cb2fe423f46e2a0dcf3c08b9
+131f06ae59690c31790c903d2fe2d30282a297beb5e7313b5274f487a92e4ee53bbe2a7b24ab19
+1ed56efb58f8f283fdc2324dd24a7cc42b1fe04034a0a9d593462cf91c9d83bbb3649d4b123671
+bfe5e55235a734fa949289dac647c4a9df6d25ac400cedba3725dc324796292aff3d09d108052f
+232d32eeda3dff2e95336d4ec553e5b7b633842df8287e9ababf6663a688ad6c2dbaee35f374ae
+853cb3e51005e5c46fe1cdb4cde6ceada8fdf7d18eb0312fee98a3df5caf5339f6240bff595e24
+e5946d3fc11af401d01e56b5767e3a182cdef6f5402e4b5def18a4ba9f36151c943e0ebdd58f50
+e65b249b7a07735a36f8b1ca481c0b09bace2f163df25f6f25f3585d54bbf85dc5ed83ab2987c4
+64d5a507a4845ad4fa0805bbeedccfb3709c3df7d589159792875662d674b120d43ab1b2097ded
+7e35bd8b4d1f33ce44733d761c89d51f931274c30c6b87cff87993e5106c10865cb7ae7b3131ee
+d046d0c477b2a9b45ed5d93b8615cda60e6e7598798d55d56bf0888a397e84845327bf1a791bcf
+5b8aa1fae26e1ef0efb27394c3e277015d5a83737e50a35b56034d35d4efc713ebb34299f3daba
+41d619b42d017a5a32fcfb655c048f531aaafc7abc06dc04ed26cc237d3dca55c256a3e3385a73
+37e91c213ad689c7561d0e2ceca7f65ea9f64f21b2a0585671ffe69381fba050ab4a4fc2b7a465
+9ef349b6de3f180387e2694ca97578bd962350a728bc003faa80c03045a2dbda2116f1934fb394
+a6c7ed604993c2d9c37e5e6b078f74bf6c0b4cd7e33073971740f4f879cfe170feb0b0b59ff872
+a82ec705585c9add43547da7b8bb3f6165335c2ed2033c3730414b6bcc73a6e1647e53fecb62b4
+f3fdf2abc1353694f12b6dd814af67e73bcb71a3ce556933dc24a59fe28b4c215985b32d92397d
+5006cbf888d0e5dfc565cf8858ade1970110df2b322a2042fd0db5aae6fb5c3cc70ce4daee9941
+d44d8db984dbbc6adddee9cd6aafeeb79acd820cd00d1912dc389fdc5574ccb2ac0f47148d62c6
+f5a4cf72d34197a027307ed6b830f1ca7247439c0c7f7e3c49e77239011a2a41b517afc04b3b98
+632b30883d76ab7ec4c049e507937f2ee82090e0eab5e07c797dcae9bf6512bb308f437ce9af1c
+c5082a2d80725a30004bdd514403dc7fae53694375ee9266c8ad29212db65561f7656b11d3ec16
+97596c1341f3129144eb56af0fea6f7664923cf9279322dc6f8e8689aee7c2412a9c148c20e739
+b429249bc22b3d382f20d0efae1e40bd985400386722ebf59a267f82735f7e2f535fecb8e1fde8
+b0e6c52094b6bdd45c4cbbc14d9a4b76ee74bb39735340d977734be9df96beee6101bced44740f
+2bd44233989f3ef695ac6d594f62bdda76f4acac9e7f7500d1600385a6bc089ff3ac6cfe308faa
+2f2f700046ee8b895c72ab77051ef3ab01bf5177281d6b0afda3541ac4bb3539b386b22d6032bf
+0e621accadf75905ae3bb5efab2d0d1a3b08b42a94163a666eecfa0d21ec6e1ac3e750529c410f
+c9f3ac5638f87727c4cf78d5c5390dd3ab614e121d9c6895ad724e4324f5524cfbe4662fde3fc3
+7fba7c2be98ab300a9e3995158cdf8f0f7a4c670e5cf92518a67dae550f452bc0c28be99a65980
+4f6e7c8340bdc528fffd46ee990a7434f5792be05468bae5b615e904219926db80790b2b1e1168
+126720697ef5dca146f3c9994931347da6eb4a8412a63f83f8015d26518f63510436c19c14bbb2
+82365413bd76bbba35bb5c0a75e22a821d5cf36e1c971abeb7074c4d8ce7d44eecd4ae25c63d7a
+de163f7fb0af63e3c8b0b45e6dcd9884fd4c2e4bd1cad82c01b8cafdeb2ad15a966cc552de18a5
+68a4160914966756f07e75d1e03a98e9639b44604febc59b5514fc4904c70934e3ffc03dbd92ba
+7327086e7c8b54f5300891b974e6d10265b9af769076aaf2ed9332a35c3be70d6d8dbdf04dd2f0
+6570c474b0b4b20ecfa02e60e489adbdfdf6e1d2a41e04b3e5083ebdebacb0b548a3999656a9ff
+befd9c21cdeb0dc86f09270ec0bd7910bb289745eea8ab90921e8b849b1d09df98d3114f762d8b
+6232de44dd46c6a0869243e6f6fae8531c74225ce660588c3fd44a4aa9ae8549316e6abaae200c
+11818d3575fb130fc9cc32c9373932a48cd97de0f966ce82aabc5a5117ee56c89a1fa350462403
+9f57e7f9cd867b4d2d8f0dd78f4eeff277d6b39716429a38b777f303d7314192015ad1e8442ffe
+2f67e1e7d476553465eeb8227e20692f0110ea9c070a23c087924cff683e33616185199ab6c0a0
+3c90721a341fb9ee44a77c6cda0e33b089304fc40e70d1c21e744d855cdf37117533ac09bb56e5
+a94c7c573f0711ef2bedeabf5645dcc7e9b65bd6c33b18c633975b688bb45264831b376d5a6d92
+90feaf248daddaf505f870c2f8248c6b80475ba44d261314f83e900b4bf335d426aeb3be57ae1f
+77d7096eab784b2f8e495a9a1573cbe6151d27cc00fdf0e2b7ba522842aa5fd8263e309e9532d0
+5179b9bb3e05163ea4f8979a0380331891edde26af57f35179ae1937483e132a2765708d25d15c
+ba5ac46e14dbd481fce426f5d49e6130d0671e325688a793e60295d3dfdd7ddfa9b07452c483ba
+f52458bc58ff3963662656ede0dcc6b7ce0158e5085b30d58aa993adb08948d7ba4eb653508cf6
+55c63b61f36525a52cef251e7c879f269a29654027dd8ef182a451313fff02bf35c4490efce94e
+7ecbadc2b285c8149849e073f4b49e63ed842c142d60ef41be2a037a6dd0cab00e80f2776fe581
+463f7d0de8ac6c2bd95f34163d354526ae130269972223b58a493cb440ac011944484c420211b5
+acc1c2b821e8c6879cdbbbec2d4a461f3faed8d4c8f6705768298e449a4f4ec63861f85529b4c9
+d9299368ae44cc19079ff2538b82ddcd8f07e7646f05ccbd35a7700ed50f9acb26dd0cf8560a15
+48abaa4a48844e101a67e6ea82d49856d221ab6e3900565950cfb76ce6a40417073363606c8f17
+7b986571529e0e1972ebf2ab1760caaa5a14c9ec0a58601ce9384edb64f64e9b01f2d409170b6f
+38ea4ec52b19a1bf20b372eee3248e3975945015f04fcdd29a48ed3a8a1bc5af2b63eb3a09b35c
+9ce11f832949cd64fee8c1e0026a204e69c116eb75b152d32ee133772bf1d7fd2e50806f5517fa
+25fdf50bd548bd5835cf9594ba6316514793c89d924bc65029d709d7c30428c077fab1446e1896
+a5666c04248b76a7561120ee2fbacd7afb539dcd47da726974a56e2c146ab3149d0c1a324a1809
+17053922426e415acd6ed120e35a5f0f81b80c9d0ca52fdbe072dfa3d4b1f425e335a8791ab3b3
+f94868c65709ec330b18a4337303ce51d2edd4ba67a7d57fde7dee4cf0e99db0dca863bc236229
+f6d12081e1ac8bbdba5a1e91dec872d6f1f45611bf639aff4c33487917e6cb09dae642179bf767
+431abe3dee30b0e03b41eb3d9701876eddd953b63f9669c891b3f60938b639750ff981f565d43d
+492b957217b178f2d016c4b9ce2384937ce334de8835b7561f28758d17badf89e4a1ed5e741c53
+a47881f3c2c6333de9ea65dfd5115973b4cfa800518f807552c4052ac34addfaef3d69f35b215f
+f2c929296ba9b6fea48246e10532d6f2a352e8cd287c206abfd5a1704e5bed4cac463d3cb4d3aa
+37deed1dad1c213a203d97027851d813c8de2d74fec70365fe619b96a61d68594f1fc860d90942
+7736dca1f88d8212aa614e240e4db5e524ce9a6a2fdaa318db86416ecb831c61c182ec82aba2ab
+3b16c67ddf7163f202ee605d6caf942bf085dd29757123f127a8b154b8c295ef987088f97da081
+0f6172da6c034e3f3de785da05161f644f1a09c3b881f6ea08f6d0a09b82853e3439116edcba54
+96e345eba7687a6c9189d1328375c24786ad46e5e6326ca35ab9a0daaab222788dfdc245a0d985
+c4e91575b570c02936662e61e97b5a2cda9f99e26f9791cfe5723eb4cdae300589046d29896e8d
+8d33a3de7f5f048ef4fac4da49f9d8b0b3fd738d0a3971f294b815f5e75358a898228d85822fa2
+45c4cd0cd1052ad57f246c9431b7c78725dbb07f838f949d11ead82c14328efb916cf5b9f18e37
+e79fc1ec1c042761bdcdaf1ab47b504908c9013f7ea391c8928ec105b426480efa3c31d397a071
+3012a77b5804276fa4bcd1124322ea74d52e2b5b584078e3ccce2d0f40fcd277f668c6d9927d6f
+909ec84bfc3741ca85186e8956b6cb9488b5dec698206e9565eac3fb695864d54bce1a36d8bd2a
+1c48defb4bd679f8f369b94ac15d157ff7a788538702c731d4ab705a55a0a696110ae5cc3fa59c
+40d28bdd14edab42edaf01022fb87aff6336a1d1d71ae39f44e65bfce0d9ef1debb71550c44e5e
+997d9ae4e712bdcd486e5b076d268dd589c7bf7d6ce4b1d2f558a64cd9c5e3661e7abc561b54f7
+708eb7cd45d069eea6dc372b61c778a71fd34c27efddfc7a18d8b2003cfc29bc66d78909a0e1d1
+2e61dc550f29956e8ce6cc8ba3fef61b062896c35b997f9cbb5698bf01cde181796c9416d2a669
+779bd1a7f58aad4f2568c2c42cb71447d4e6e286932c403a02d6cbb65480e19e62ee86c3021b14
+30bae06c7b94c7d2e714ef662e6262c40edc8afc228d988e91af5e686bb6f67d7694901ac6e6fe
+51a58f1495df992bc820ace687790eb79b8cb2
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+
+%%EndResource
+%%BeginResource: font CMSY10
+%!PS-AdobeFont-1.0: CMSY10 003.002
+%%Title: CMSY10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (), with Reserved Font Name CMSY10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /f-4-1 def
+/FontBBox {-29 -960 1116 775 }readonly def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY10.) readonly def
+/FullName (CMSY10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 1 /minus put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b002413b5a82674703cf7ce9c37d14eda0d728563f1ba99
+58598f07f0713415830399237f6ec1d586178eac242c1895ab21e11663399e818fa37b5c425347
+37f913454b78ce7ff1acd6cdeead11fb4ae6b3f8a0068fde82834b462c67f14c6179b4b4bb9681
+626bd7a886d765604d09e3e127dcc90912095752d78fbb2a5901ecd2dd2395e369cf847b8205e6
+4dcbf75e7fb129b6ee831842f9dbaf1ef8ee75a08e605386c7d3a3aeba2f59347b83c9b8fa11a1
+c12997ca63c53b00fd0b0b6070a4dc7928bec2ad267c002eca80966b746765e2c0c369ef38c5f0
+4438bb5ad9bc40530ac9c40ec2d3f4ce5f31c558f5b77314dfdf8527a02fa92582d051afd7fb9e
+fb7c952c3496a31f3ebcb5e15925fdb77cdd9f3239d37ca751d55b1166e641e858c6089d9e6baa
+9966c9c8c96cdaf01821483b83590d30bb6d5e2b99d9cace7e18af12e9f1f78eb2477e5e386841
+d57c0d9bf03e1d299178267e93d4174d08ac361c5847b9e6af009efb72cd9a7ff4717f330ba422
+c571d25283248b42e845f69a1c061b641d4d81b95a5bd0f5659b4e8c6eb525c4c84a37340987c5
+bc6bac971074df1e4c21acd41191d7610eb5c2081219d919bbaaead4a504b0b3b53411ad3a5ae8
+217faa80b81381748df4cffda026b6801fea76a727b4b7291fb0196421c67cb4f7ecb760cec053
+983ef6524a1ac654f4a045f29a00877b07ae45f6b842fc2df2dc6ec23f8180f1da035dec8d29d1
+4c4cec402199ade9a4f00a0902d5cb61a01d6f1e7f490facd41a8301f74599858a1f6af89afc1e
+ef008aaefdfdfef8e4318939f31e3087dd752c7867939dcc1db5eb56ffc6c2c3d837e68843391e
+9a1357e6c13fab3dc5de6a370bde7ba65231ad6715db5e7497165def93b409211325fb26e60296
+02226ca45ffa6e5f8e2641e2b8a144065173a9956b8a8324880a8befbbe2c4b0d20aed981d75b6
+006e2eaf80c972a66f7713c83c65f66de15df8cb3183f60eddd35731e4033a5aa2981d037e3e36
+65d2c7db8b2cf0115f658cd933261f0502602239b6c5e3c4d4a7773831b661483e38fdd40afefe
+787abd757aec2a236c95c685cd155ec9d72a42a9ea134d1363bfd231cdeaca87d1ccf0f162b739
+2c2bc97b8765f6ae4e5ccf6dffb7e5ff3ec5305a8c5341d441990fe20ad311566578f254ef9ffb
+268e00b26f767dfd60ee59e821885a7ec6f2c971326f067d859ad23f5752044f46b54259521bb8
+e671730cd74dc29ebeaf41e2fc6a415a6d79b385959ae4648fc351fca7333d140ad9a898efeae0
+e8edecaa5e9b76d29a3ae98d49dccdc7dd06447edfbaf5a6f38ca99acf4b0a932948dbe3fd948a
+b9e410c6aecec9ba9c4d9bbb1047122539a94983419dee5f141cf27a6a2760d31653927d0220b4
+e2cc440e5555ca9a21bacc3569982b513803c10e22ab8f6875f35b8291dbc4bf9d8f79ed45c8f1
+3906ed2082bf5dae095f1c9298715bfaed7c577acdc0d6a9f589d171fd7a283f377177c60b313d
+34187d5b4380028841d107620b892a2b34a98bbf25c8444c7eab48bad2f883d385251c8eb71fca
+21554c9cf6cb3c7bdf10ceb0348033a802e8894e8d737da6dddd57c7ba8f697f497da31bf13ed5
+ed203587257ef50e680fbb873eef35ced216621b1f4f506782bb42dc9828476612fc32a4b1d6a1
+547f61c6b9258e943090e281efd76e15ab6dba413e3ebf984544d59e3f6223ff87b2b26afdb1a0
+faa21361ef248689c721e2fa9d5f20f428a0153f71d5517e00e22d3b0b2bb15814d411a8d6aeef
+b18640a87ead4a3041844042ac5adaf93f8075fc9cd599cfc0467725f6c14b43dd5ffc1b0f6c9d
+0cdd84e58ae4fcd198e58ae6aecb482ddea6b0a209108992606235f07cb7d3f7f0ec31654c4c19
+ed32e9e1aa618a8015299f98c99f25a81a751ceae2f181c0858943dd674da8430da475b5c9849c
+3818357033347bf3126d6afb4a02a1efb8a9b0a2ccc1c04f295e4a4fc641344aea4fe44e20dfd9
+61a40d44a5de60d2165714f04a910e1b27b26bc5665f3ab5a5966e807da10cfbd63a8e85c7ce6d
+aa19b7249cb426e1936d1d114a097a461d53a37ab0432c2423c5de6c0939899f3576106b6b32a2
+6e52c54b0948700bec034a55c4d65e131f4bdb33eb107bb7b1c78759fb04a7ba030eee5455f06b
+8175885cbfbff196bc90fdf72289ab2437b7311848ed198c2995cd6f82a23557eda64e49169e64
+8f48b089fea579608970bbfce38840b035b4fd645cc52dd6ce2a2b9c6c474fd073c2ad1ec75f64
+37d69e09d4c5b08f83d87f83895bc4c26243d54f92d95db57fe52fdd02748bd44dc417879c1976
+eed767538e2d9c46c4e1ed5d261e0133614f1c5ed7995bf8ec717718235a0954fdafba845ff9db
+c440431e5888a1240c24a6d2897da181cd5f93d49a6ad3c07193d0c3baf731aad9b310bfd477f1
+9a692e49657535ee11e7fb6e372d69f93f0560ca4f50d2caea8d1881dcb6626d0d5bea918e350e
+6f675a6c4279fc89225d9738c8792eb6221b6622c9e2f1d3eb8b83f2604e153e387da5e82ee2d2
+9f86f780048ed2e146882e479e2c68db2f788dcb07c708720b98b4855d7fa178ad1e0122ddce2c
+2ac5d69dbdadfb43fd6a01e50a199086cb618efbf9d83edbf78fb50f642590a8c71e19278e3213
+a3d301397820b319e83cee89c9fc5171a4971a5d950b242c716b81dba17592e2b0e9ec8cbb9fb9
+a501013952c33fee8010bd69a271c8790c26486a87b2fb7b2374e393d07b045b6d2ef8fbe9a08f
+ee0c3a4d43ba4183411b4fa7861e26c404c1c95b28e2b51da93ccc20919912a133b61cf65e4c33
+4f78f24707ed08d8a6f3d4c5c9c2484188eaeb07c3a57b37afc84bed975d216bc1cecead576371
+06bdb6d6c00c261816ea0dea601e37d35ab03f621d0312594b4f63902999d093c093785c51230e
+1d2b590cbda040308109fed700bcaf80a738e59ed740734a266a5c203bf7bf90fe06430a488343
+a1413a3e3629e0a2734dafeae2e782d8b9adaa0171dab586367b7c0e07a5c42fad28174dc318c2
+ff74d46d479cd90840abc2b008290e30040ffdc2c50d839f6048003d752173879b234c7dcccd36
+4ddcf5af058a653eb0c2e10936226327530a79522eeab228d77b277ffce0e12d2b1ddeb2efe21b
+3bc35dfea8e2658f5f82aecaa737b9a30d6d9a930ed05f6fe39593351eeb37099a49985b501973
+4f11e3efe47b45623d6d8feb5c8bf55e01775b341ef32f402b38a61b398b3e3fdb04cabdf630a8
+b9dee97e2db46eb4630e07f5583d2a7ef69bec877b07e18a889050d9ae75ea5f7f68d829ff0d96
+8e99e3619edd05b8a23f1afec2cca115557ffc0577abf8d080eb5498aad1e6cdb9ddf82637c51f
+78d2e7d552f2f1b68d7ec1c333dd544465b7f9cfc4642b4ce4edea2a3ecafa10c4994f9b60234c
+854582c6beed25c3eba39e1e79d1ab411297334199f98bd9e07a41aaeea04cb8aad62101cb70f8
+b5f48779f914fc6fa3f840ce5e741ac4b913f0abffc726cce2144f7f6c4e38abb6a893b77cab74
+044d06c577fe2ea491f1ad1cc249b0aef7e91d8bc289b97dd4bd5f7abed8d4fadb9ae9bf2a44ac
+5f2853b389ffe95a6799d5b8ed4e73e9507432f758de906cf9140e18bca035164435045ab3c2cb
+31c252ac4c9ec90203c939d9d6c6e7f9d14e3ef37348f00905af5380e0b8cea678c4c47fbe9284
+390559e15a5bd0a4ec0d7fe9258da994baefd7fabb7935475cca76173910ed94703e5d32139b23
+eb6b4aaa1b972bb52bc3c156838da106fc3d18f7101d51acdf1c0cf7dc1ec14771ad8e0d15f8ab
+de8541f50f5c1b3c23eb9f8fa6ca92dc4751eabd3035e3b59140a4f3ef4aa53f1ff9c2872bce1c
+a38099fae2f8563b522bc717f24f0a1309f414346be8c6e90f0c427e30c66b50bec309d92db6de
+dde365264f069f6edfd63d2fb1d3f794bb63c1347ddcc283a53c405972be1b6644188d5a71e747
+08e348699963f7cacedd537416a9f3e10b33fefc00914efb8d7c5da8f19da6e79d85ac2476a21a
+b6439593e1d20cdaa4dff0873a6abfe48e21625f048e6b093b6b58ffb1cab49fcf94254747daba
+079551acd3416ff11fd1330063d5bfb924ba02e1a8c6e3008f1a3dff1898de839e6b97f42ee7bf
+c47e07a7c47345335e8836f6ac3e95b4d3eee4b755ab17ee8ccc6336aa9c404336f12a20c538bd
+3715537a18cea99a6246a2f13c93f30f8080dc66e3b2038cd4c9bf0d6bfa0dedaaf2c17fc8373e
+d7999be26de4fb74dbf9a718806de106fe4300b239bd86617b2314ba01f1b8d956341a28893527
+ebe424ae5b9b1ee4ff5a3dbc94b9747830382fa96ab31e4d21ae01f2e3bdbc868176d9e28c084e
+7652972bfe753414b020ed2c4ca233f6ae2c83c468d63ca4d8c21de882ba290aa0a58130386af6
+92c92c62c94c6da5daef8ef5e7f863bb5a311bd29be0c6a63f02eb2e711f129091fc4bfc0a4a56
+a164571c6a2c2f2edb7cc7eebc93bfbae8bdc5bdca5c0451d34226de28c2984e92b63a77616b9c
+0175e920d4b9996d0b2bb8261aa07f8f76b236729e3495f2bd40b1610f777ac67e5714bd22ba68
+90d365675abfe3055a1a2f192d1c3b39ab27833b8dc2ecd8f8ae8a7308b8e35b725bac5ea044d1
+9224dd0606d668f0c05f7424096027b7b4b718969b9700a669775ef04851e76c5959a463d32456
+1582e3d654d9e7bb2fe647646b9e32bd3402eb2c3c37a623bb0175d2b6bb50961712ddc56cfe9f
+8dadfcc87adc682f70b70808e26c2585426e69e2cb813245c5580f3d0704ca852aabf1d231d8f7
+ae91f26d8648c2644174d40410040f6e4a53cf2c854a1b3633c9e3c3d779fb51d4088c2611bcb3
+516959993b4ef00feb20f05c224a75dafe55174439dce89213b7bf41bd4b806952628d7743f7ab
+ef193348c006cd5ae3f457c84244e205a085502520e9e49e384f9cd086ba7706f4760f4e333c26
+78dfda2e9973e3bab5d1fcb31d73ece1112dede1a01e65e97584a7f7441451f2860e015e98313f
+ea79d5d2b79d56af2df070df527b4bf1d6ed47fd0033f957c0a3e7e4db3adc77a83429c452f7f1
+ee7ebf508b6a82ed5069265cd3dfcbc8d509fe7740ed722a82dfdc0babeacaf6d02f41ab2b0f28
+df67503195800fe743984509008820e9be9a5c6730ac917fad1e9e52518944efbb664070b7cee5
+b4a571bebf9f87488b728a60e601992cb4066cf3da3cba485f4f455cfb02eb28ed3dd289b72199
+518b1514d561f1ce23c4a736345d86e08e5cce1e62bd7c6aea36ab0dda6cfc79233c88ef5056f7
+3a9f485bce79a3dacb54941c322be5fd3ae7bf683a47fc08f34a6763843dc1d29f922051bac176
+1b314a4fd0bd5932d98faad6a7dfb2b99d3caff88fd7e5827771aff27c826f2ef81ab07737aca7
+734f33486c879b66c82146998fbb656d588485d6648646cca16549d146a5aebc34816bbcff79c5
+8db9b92557a09b8b9914b9a4c58e4c9eb7f083cd5e1bd8437ef561fe3d07a502c741d424cf2f11
+353d7f303fb8b78fed9c9a4b05a00126fbdd87d3443d2dbd90b18a6494bf38c8d5d6665c7eff56
+4c06878968c8b2856343668a123e41c66e5acacce149f5986319393d1d2d1da343f4b5d57149d0
+52fa1aa1082e14035154fd511e50fd483be17505ec9d4ffd6e520e6245924a168fca790a640c8a
+54bc6fc5ff0846119ef4d49f409fb0ed103cb3f94689843713a1c8cf9e4694dda7ecceab785461
+291990984eed9c0f1ccd96dae92d76cbb30aee441b8cc6f0145bd9bc425eebcbd624723dc05006
+c13900efd7937b732dfe71b75d588bcdd18f889eccbd7be48fe2760b975d3fe8cc10b217fe13b0
+79e56ab1fee024326c791f0c12873349355bc9592b81e677a7efce37218e33509cbc8873ea46c0
+e73cf435229e93e7236c4d0ef8aef87249b1cc836bdd5e9a08cd6a56d692156b00041fc677534c
+5ab8ab9dba648408dddd71d78310d4609bc45873fc563ba85be8d491d90290cefca96ccc24ce80
+462a418c7e9aa423d92e6d41077dfcb76b54928fa6edf6cb3cfe0efe5022c6d122576ff3f82d80
+65d952fc81c7ca98f71ef57b11b12e8df2e255c987b469fd936ec5e289d13604e2106dfabd13eb
+55bafbd7e4ada7c2dd0db0a96f961ae28b3f92330230b12703aa6a548077f8e12b0ea0016074bc
+4ff072a715c23f2884d1fa1254a0888bc886c3f37c55337a53e827c05ba8f8878761b12a136a31
+e20203eb926563c442a488da4f486ce8cbe59eeb4a7bc54841be391297e2c788bfe9afdc8130b1
+21959898690b0ab32286b2044258c361109a80571b0af852afe350b9b0b9b15c45c45b2c2e87f4
+2ad31870563e06e94a14af0bca7ea17a2355a703b71cc9035ee1dfb8b2700de03dff038fbafbf8
+d57135ff4b5bc66a35e1ae4092546ed5ad09ea2e0311b894bab5cd5f9a7dde0fbb6dba7b128f01
+674c24c78891fd459355d6d4b0a354bc4ecc26a7b148e595b773aebb6eb2728c0e601e375ec631
+97d364f2571321b60b6200e6827aac93e614dd827a19387bf3a8857fd7876a9a7d5c7a8baabb9d
+552a8bce4790f04402e2fb450f59d173942b29ccaa681d61b8939e51bb4b8145de386943e1961c
+341a53a670c67b9fbddf1c504b3e54266310dce9fa420ad143bdc654940610d98702091743cc9a
+bbed7d6079381be4ff8a1c9f1b01e745f33479074bb32eaa0f475d3de6402f25736aa8594f3ef4
+6c72e685dc4b9e5c19b3578ba4c9979213a2c8713b1ba07a33b789dda22815bef26f75afddadf0
+8c8340e8c0a9aae9ff45f0b2d6fcdef12765e9764ba4b2b177c70a17ad2408bb70cb40fd93e41d
+40fbe0780ae9e7c12c12863672ea5028941853a5bd3423a630a32dcd3863fa3c11b51b7d43ec32
+8141073ad7d3ba1cedd905178743aeb89f9e5da7a83315eaaaac1ce1887071917c0f25b58a51e2
+6764b985d2a4f2bca30f09ee6e81ea7d294e3d57f5522946117858f8a8ff1e6028fa8d462b5b4e
+c2b4f2f14ef5f8b90394e9163a8a791552435fd9860dd0b040e147dfa02f45750dc99a618c82c6
+34d82a07420deb6bda90681e9ca80f1eb9ae44a443842ca4b7334f101019de241ffda7865dec84
+663e1935654ad9a5ba348b9959a671f893e5844c87c0abe5aae1e8846cdad77099381a06274eda
+3addb68fce9274ab41e0dbc39f5973c63512c60606045843dff155b8f50c8db017bd06bea58219
+56a1bcd7f172053e8f73db2beba52d41d59596bac3c6b1a283f625b1a425e2456fac1908ab2761
+cd0c51c6b0ab6ea432b38d3248bcc8b5c7eea41397f9caf5a1abdc5cbfa504fe98f9bd21aaa95f
+378c25f90d289be77f5eb301bffa7c5649d9ab7e9c7bea674e0cb1acb6a976c112c7529aa35395
+8fa6b5d7e73c53291b5991e3ee226bcf80b7a96cb375ae3c5619999e19159f01eeff944113caed
+2400bb71e3d15b16ac4f76ff5afa801ff6536faefec5ead54dd81ce8216b23f88058b3eb15cc82
+7921f713d4e017188cee0286a83fff1743cd7d1113b86da4c22989bdb574d3bee750f4106004dd
+283d2cb6c05fd1e609d2428304fa35d7cac07ea884bac8462da0093f31acc11c86c842faf7c40a
+f45da3ea26f51fc4bbea9c9aae9a17f28132a3eee2bbb32a0cc72b6a0174c7b3f8235f2bdd6ea3
+35d899f3c7d62584012a46c14b9f5522ed20df77c7bf3559b9c7715bbc43c03ec8e16cb6432927
+00967231596a899dc476d374448477fa618d960f7c9d6736c988bc07e2bd06e8149d4db727b438
+6ae9c11ae1018628f7d7395d31e7ac565b46507d5e40bc59bc8de159ff4c20cb134af4a841ef1c
+4417ea483f1eaec6446c149e9069afc52c182bdcd3601c69eb5f2048fd8841c8f2ad2469815377
+244950b430669f8630fb55701dd29852ecf742b9b00b0d294fe611df899ee8c2cd56660fa3c21d
+89ceafe3e98d5590db24410eb8c957b60ae08da657b5f13c9a4beb44154632c40289b074b5cf73
+66b95d3649dc1b17e04f81b9f8017dffeaef852a501f3f5c46e0bcad3ad3cb31d9b34d7dbbf9d7
+84583f56ac930160ef525bdadad215f53390bf3a8042c2773ce38e1ec3c680bb69b7eec22012a5
+46491a2f740ab40ab48dfcecf2019b5a3b8aff286dda686b7826c7117a11e7e1451ccc1a573bae
+1fdcb9556015babfde21641a44729db8f1c7e0837f78b569a48a1da359c5a1a89f7045324b4aea
+ff46a4b8cc75f633605b8fe3ba5e2d03e001257f3c2f9115adbab4ef0a5dc93a08673809df4c8d
+40b210165b9b1f
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+
+%%EndResource
+%%BeginResource: font CMR12
+%!PS-AdobeFont-1.0: CMR12 003.002
+%%Title: CMR12
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (), with Reserved Font Name CMR12.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /f-5-0 def
+/FontBBox {-34 -251 988 750 }readonly def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR12.) readonly def
+/FullName (CMR12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 40 /parenleft put
+dup 41 /parenright put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b0027b78229ecae63571dca5d489f77bdeee69161ac65b8
+1a171acfec6a38e69dd162ea7d456fbeadb28c016db3bfa3a91b731dd3d89e31936de5e0ebbee4
+d9bf15a1d35b3bfa43ade27c55337a53e8117722f41ae71510be6095ec8fcc4480cf4d4b3c8a65
+dec16f24a875f2c200388e757c8d066a3bd39db828e62e2d3d19908b221b8f5b58f7a6a2ebb901
+d705aee915d9f92114c59f6a9124885e77bd754ad8dacd1e7fa44ef6a4733c0ef482d5f4f7788b
+0d58fe7cceea728243b0a6d07c975363fe2f68dc117f6b531cf8863b555c1b4de3e609559e7374
+28935b9f1aebda05547f1fc8269db5c0d587495f4aa4038c8a18bf9918a87134333ad8ceba20e2
+89a9872fe8ee6380f829eb157aa6c092c58b437ceaf346a90e853ed5a425a9d4f72f4837896f3d
+f4079017f62748c1e76dce301ecc5295ac459b5bc26115c3eef374404820afb526e5a98f7020dc
+981ab8c1ec243305afceec71334a289354d4d078f99107bd038199d533977456bcc9aa7fbed608
+61a5fd052ef6f17ba1271d047c2cd30c7ee21561257ea4f4587ec2cc1650b0a77c13d8aacea78f
+2014db40c24e915361442753b15b95f7f705b2d11468d5e23d7a5450993449212f69f871cc07d3
+92ee7875ed6e33b1a5c806ac02483a794baf281dd6107f12a67f05fcd3154bcefa7d35c267f877
+c748760fed7c546427edaf8a80f61887c6ff58d91023f4aa702ea4e0648c65fac419ecea81597c
+ec5d5876e4af77d15ca0c8d0457626453f81fbf4eee754f64a9f65583f1d66ac0c8a1a07932a8d
+9d68120174c4001322db8edef276419b6d3915a732c1d4f569385655bbdc7794c5c08b707bc7df
+b4ca88f421b8783a2f2312d3929972aa7d83728712cb6a526df891a0264371d2ad02212b2c2b91
+0be1852f5835ddad58199e5c41786e072b2ace2f7c8810eaeacf52e12c84002c1b6de42a6b5d7d
+b8e3937e99ed871d3f84d18f9f66371c908684e32d19462458d8af1e80d7275346ab0acd4f9fa8
+4870c763331b4a981cd7c6eec2e921e0e16f548ec2792240eb634fc11c3cf0e32f28cba7b7ae36
+13651fd46aec92e2b59feb1fc05d3bce5d316867208af61860c3204ac4161c877b48b4bdf6e5af
+a762a3f15cc30f55a9ae065f083638cc2b49eca2000e547e51fc674c58f2616d1b5a5dd325948a
+5b4d42bd32f07d145c38dca480e9ea71460082a6445e080b1fd53c17b4684e9e6242160014d968
+c97b8daabb0c783b5c16062838f3c676ad8917a8317fc47a4362026aac64b393f2e00c6fd0cce5
+5e0fb1b55240c9c10ee0e794a5726a9f06ee4b7710675dae1e558969c52b97d9ee80f86f8aac7c
+e8601e773a98d915f0136d53412bced13664c4aeb0aed4965765c02abef3b417dbf2966b78cd25
+36ba899b5d6385913e73d87f00bc0b20f82bb72b57ade9af21aab0f899fdbf8c4e870b8b81c99e
+1858d07951836fcf58e005c41b7de0d300c21c7f6998105394ba9ef33d0525ba2809354e76d77b
+d9e9448725125b23a287d1492ddabff0f6d04767b5967c627a34c12c0865a97add9c09782cf415
+25122d4509cc9690225db396b2349903ee6e54322f07fca610859dd5c76576070a261360a6efa4
+25482029639d9905e52923d07f43ee718a154c4ef9655863521ff13bc441e71d44d722cf1835bf
+d4f40ecb00e893ac20289bc7bb00097248298dbe4e6a3b85eeb4463377d4c909425fade524784c
+2610dd64dec3efc59499fb8bf5893b7e13990f1f774c98cad0878d7e4012d69a4660da33788b50
+21df0cec3c437e01c1545857beb6f6d4fd4e36cc3ddd0be0c81b59c298f14b45e3a2c41d3bd0dd
+b9cb3c12fd806ffe8dfde7f7c22b47466b9fcaa29d8db255720fdafca4f90dafe62aa417331e1f
+4cf244d419483f71cc2d8fb0662b78d9368169daf70250402963e034352f56a9eb0763284471c0
+bbf488564942bb478aa5324334547a1d654eba363d64bb6aa0e417a76c34e698f38aed69dcbe56
+ff6ee22a6e1e1017d1b42341c28b60448e151176dc8df7a1a0c0416182436bb28829c776a9d741
+400043999ebf7eb881c7462bddf34e282173dde31264219aa4f2d14255b13dc5cf41c021396334
+698e35a8d8700fc512db1e24ea2f5a6c8a66b7c7fcd6cabfa81ac0aca3d1c40d9e05e8d80103f6
+6b6c1db3d53700b30fa2ccdf7caec040f02dfaad01c384322e3ad5756ef497dfb67091f9e807db
+662af20e99cc66bf8f922df85173d22e196041125bdc05094724a7647f3484d0fea60c7514a2af
+90dcd33176e6c3d102dcc6dde11ea1d38e21168398f8a8dfa02fd4af5bc8dc3cfca0af0d5e62ad
+cb1b2a4c84f7d2c23ee3a3fa13850afc442c6765b89af2ce5e0f7db936da005cd96df40368d46d
+129ccd26ba35fc8a535d9313444dccc42667d7d62213e23ce68659c15da2bc995d52a1056af617
+b0ca698b75ce4b10b57f4b1143c4962b6a8fe2218d593b9a97f0c8855287ad239bc2616b9bd731
+2c9d90c9658ce944faac67af0bf943009f5985e2a34281711db3bcf6aaaa1ef9bd63192fbcb608
+58373f567b02eb3e27bcb3cf4905ae732e69531556fea34fd4cc32558b8e5bfda9b7f6bf685b0c
+e033af47cfbb10e93104b3b467148303c8a77366f990edd4947d7fbd3df26527442ad39c805a4e
+89eaa05974bd8c8c28f6fdc836d8801b758d689d58bf33e4a123210fd3f56beca44fac3a574d07
+8e0c65ab4e70bdf24e4267d7dd032899a039a9bc30f4eda27cbafc13593efe916eb927d81cd37c
+2f9490efd8057c7aae2f46939ea21b5dd56fa3147751786967db98c14e5fd3ced7d848f2aaf2ab
+c417619d6daddb97eb866fb368e38b77dad435c9eec76975be002dd7651596792203c0c8cd0c89
+9d44c34c4c555e2ebad5b2f9aaaa7d1581bedc74d1dedb2b301d94e1dcd56d687de57de31c70a4
+6e1534c64e835fe511d291eb609ca810e01124bc525604fe8278e751aa5762d9c36dfff3149110
+735bf1ee88d54e174eedc6b410a34397d3b505bbeb72b21c58830e34bc12f01f07d4e065d12bb1
+6812bea5db62dbc318dad0c9abccbdc389dfc9eb2c73feb871ae2366f35483c28970ab52043505
+d5ce22ba4a252fc6890790177f32f2653de6e7751e4199e9b75b72293dd8af16b1dcc805bfa0f1
+b2419181370d8c0e3d45cb907b8d4c650a941520fe8455aafffaf1313b4fa171d333eb3be5c6e5
+6aadc1cb3025188660aaadfc883478f937db03e28d095300030093db23fb3474d8e7657f510d4c
+4a90d8324d7d25d8ffc49dc490d00abb2fc25bb0fb0577fdce09ee83e6853240c4c9533c273478
+3ed2d67d39d3c223bc9554062eeca0fca9ab22d3f1e5614ba99b186ce20ce05f9ea43f457b20ff
+95a231ad49fad35aef626bc7decfc76b5b5642b823e22010c5adc49a1dea46bd7abab4535a4742
+478114cecd22afc744cd87eca9434b1119de99688f475574af40dbb884834f0b83e03e5890cbab
+f56a064134232b7b7c345c7749ae31cd2cca16c0492e5ea7203414b4d63ce3cc68500034c84691
+a3281640ab545f7dd93d5a20a478a0df7e381ad7c49df9f4b9c4b253d0a58649fade66613674ec
+8c5559da713e05e5258d48c1f3daafc3d032d999f50a45fbc808996df66c09276278d3fa7de088
+ed74eea2b723bf4ea9e31ebbda6b1001b2b1957c89f6401442648f5ae19ac95db78dcb21e753e9
+a5293d86530cfb6b60d65df007218db8c6840a96b9368f95ee7ec7dda53f38584d2cc7880aa05f
+0d90436d7dc64a71fc3e91d44ddbae6772421798498e35c01487dbf7d646571b5f40be098ac1c1
+81f2b9eee54ccfc23f310c1a25ff4a74b3aa8ddc75003f1c0d91a13fdb8b6ecf6df95f96131100
+4f99ae947a8f91242b18b6c862bff1480b3ead583e3435816834bd3da70e400f26ac6bbab94f23
+fd2e9a4d92f78476cbb61c022b3136d0833f5e4b6f4265edb7b8206903a28cd6defa60ec991654
+513f2f529d009ac805ee5aa6ae23263f53ec65f5dd665c4b7ed75d766602d54ce1289c7e450d3b
+011df8026bb25a12547a1e0b96e7d5ec0c3f3d2965a9716c4e60aec08b21f459b3aa5561650723
+e2b7edea32bcacc965d0ac2c8bedc96a657accf538b45032de7e3ae81c8e0c1932e98637d4e36c
+8507cda4dec325f22b69a6ed68926b2050487fc740036d71df2e568799a70e8625b77105c5be2e
+626591011bf3bfd61c0745ca06a263e335e344686e7dd6fe3adb4ee0a7e462f3c00873c3e95d18
+16353ed0ac6b55def410e18c5dcc8a0b80b19ec7f9f4e807c1c7a4b746664e7ab2a488d97fdf51
+cc1ca9bf3f4172203a61ca29e988ed4c93db9c43e6c31aebc64eac9c5f1b5debc04c465a67e654
+6701488ee06e1f3586f626951abe226fe6b2588b40a5fa94a868075815f46a028bd35e204f4117
+534a4c80528f0fd59c38ab9e0da4565561e148b8a3a0fb7bc7b3adc7d4ed9fa0c8930f28cf364c
+2b95410141fa5fb8758386c0f7f2b8f5a5c2354247d3b4bb6bc9961c507212f981c73ddfab7f4c
+163a61217fea7a701377c98581dafd9c50a5801dcf7038f66fb3e980661770306dcc897f485f98
+ea68f033923dcd54e57947dbb1541cdaa4f69be7f537b037f4133e955ddc71a2460da3944a57ba
+7b820ba2a3e542a1ec866fe612619e87dc85e9927eb201d8a82812ff9a2d8b7a4fcbba3d9ee4a5
+c4aad2dda9e43aa7165bcd430507d7421d48825f920f275db237db28a5d73ad3d649cb35106487
+e24cda63321076e54a2ebb3f45f5495d4f44f3a98fceaaa92a7f8a453d6e85df0fde064999a44a
+b376bf7710ac356e68099b83a099f4d9be6cd9937caa4790a61e9c21500d704b90f2a990465cba
+4bce808f9f4d96e7538796db2edb7149872d1b05721d068fa21de3ced2bc84f1e094398c45f879
+9475848dc83fe042dd823d370fa145e57e6441299a322951cbbf0603261d22a319927fe7d08b29
+5fd4fde5598c8744a2c722a7584d372dc9610bcf1a066a95683e9938a96b4e35b7923091d1232b
+501537a307f6e9b340473b8b0aec1d6643e88e7175a24ee91a4cb1799ca4d676708929bb2ce2db
+5d23b6b60c1c39a9fd17b34ce0074ef6822e3d7a5d1322e7b552073dd8acc14b2d8281836e6547
+4f2d6d6b2df400836e1c0169f399691f1143d2e8670c9568217d0088172c01cd01d5055579a90e
+f5ad2b39836c3ee6df7e41e69d2ab3724d31091117c088dc224b8e0d998cd57b3f4f2f64de7082
+e65a6bc8ae23051fb005c4be9677691bf6e5326d4e003a13d819c5974b27ee14f5e764f70248de
+8a5600dbf1ab65844735b554c2010034a47f5eb3d056332f4993ff74aa2dcbcab4cf3c77ae12d1
+2b3e070becd1095284b260edf10098ecc89343cff1e39379ae8919d031a715cdeb06163ebc5ec9
+9e041390280fd7ffed992f825357344c3c08da05fa77d2dd10b22cb171e450d1d27e9aa9df3588
+f736023a0f02514fcf56a1d2ac1cde9dee0adf5ad28a2ef88cdbd93f0af8c2be1257606f74d52a
+a30649030ce369c3c9882f5c0900b6cd122880949b40ebd35a8c3346fb52ed1d631c33a0ea39b5
+d83f67094780690f378da8b3571062a81311a84d7460ac3b6c3324fa781b3c8ee90a518c03ff3b
+ce7bb2ca7f83e2e7996a3c905eb5f43684dc6d948af9d91cad4ce62620693030a7b3f762f46e53
+23c62a7f2f5553fd1e264758b2e0e5015f72f82781a6012a64a332244d3d46c7fb34bb18189a76
+f8b1281ff0ed52a474d24858e92f7c2d55f3853272ada03bcc358b1a24a162d432f1309817a81e
+3cd40690c5ecf87ad3dbbad52bea5223695dc31de9046e797267f0c501ab05ae71bf1e2949dedf
+72069e8250e5ae5ce169c940a45a64f92a6b27fa249a55033cd0860d313a5b09b2b865504edd21
+a319d27145de315b2490cde9b8fded0aa532d8e18c568731a2a04c27e7e17dc75778907a39dfa9
+e9e21bd8239505220ab6c475b701a1c03038f90276747ccc6f227bc5a93fb4dab5e8541fbb40a5
+e543c2035212d79303a229cc9bf24974fef439d3d22ad845c3abeba616d92a906779c8553e4fcd
+76d1e576b4e6a999ee10e4ebd040d6b403307127281acfd5fc14d4093b8c71b24bffdae83fd7c3
+602bba702056370ca079cfacac3392e473a49bdfeed1ba96b889009b57d873ceb885e5a2cbff35
+0f5da8f3d7c2293999a6e4732757bff49a00295b7affe4cc97ba9645d4ea632b837c211bbedcd1
+1aa7c0f16280ec15a2d45f8cc511c9d4792cde12e5da87a29bfea6207e05e548d2e86685cd131e
+b4ba901d9065a6c65bf0b48cab2b69e1489f57d3acc19a6cc5b0b51e8b21547561c9ae67d4b8e0
+d2cae71b47a779d3d2714d551fa41465b07d2236868c4ad567f9de8d05b1c77a186870cf28f0e6
+2c988d91fb2b8035ac9dd11cd7d1424429797a8610ed8a1b2927075a0ec5f8189e0585dd1679d6
+cf70dc470ae0e42535371074c89d036f46c0e9c2cadf7686453d2971f9a35ade71248ded2657e6
+b3bfbd91671de1dcc5df2d3ab3260738c7e8720071fee9d38922b24e992619f713e242293127e9
+59ea22026a3ad173c1cb6682cb0a06096aff3962ba86c2bae58449516051af86cdb96dc2e03c41
+add78427c63bcaaeb838f32f0280de641cab306ba29eaf70edaac026e6b1a1c17540ebd90bddcb
+22a6c4bdbd3e970f58f9112f3903daa4a5f317f9739cd13264109012bf294035a585851ed0a566
+8b08d669c6ef77107364df58b27bd30ca8f007b508bb0bff754b4850a84d176f8c94158c016bcb
+cffd7443cf732a9108b1e0cf6df60b2f93b9853d589cb9d3ac6cc8fea189a27fe69a01c70f41dd
+adf8d7d56a4eea86153445d84fddafa86715d79d324051f8b20034b0678680b3325d2301453588
+466a6fab4f70363e994ac288699d47b86f25e2480c88bb0b504df797b40256a5a03ed5864916b0
+ca56d02e932333586ea06280bb9311cde3dc9c2f9995abf9f5e6a16a08d7c6aaa522a8f0b2fb7e
+f5f3ea0a7ede30d3914bfddb8f62ca24ae61902510f51661a248e143e56dd01fc0be1f1dbc46a0
+3807a1dc2b08b03ad953b3072eeea00528d23e93939c774560152b3a4450aea0d6708cebc12ac5
+936742ac6aa39c77b24a04adb11721ddae50946141b1c94198d5d9c27a12f1cbc69ab60464732e
+8138197f397e052268e008d74ab25d068760e9485118ffba286462790239fb5723cd9029fc0bc2
+9ddd4a52c7437d10f58120c3d4191d788c6875ca0a1070d38661945401876b58b0992af2965e29
+a303d347bce0cc0720fe49c0e941f2cb7e43af91fd23efd60ad8daee4fad8fdb6064f3ad3ec904
+23bbfd43d81aeecfde8140a336b9eec24de53e0811be7596d4d60639dfdc8248a394bc93c5f36f
+e0dc00ffc568fe9106ad6dbcc15f3ff5e42b87ed8fd719a8a5cb927ae45d2d73ed71c410a07d8e
+9bf75170fa83a323a67bad8be075ec1ecb34f31fc148fc13368e1ece8ef3ef19fb8e16d059a406
+36b1b26108b91f5a3fc04136ccff24791a8b98d5883a74a93e35197c85a6260c6ad871518d10d3
+94e67425fa0fb1454552d623b6a6a9b66ef4998ab25c1d2a6d585ced5f6e74e2cca8d64344cf0e
+90cca8aa3c1cbb6e299dee9ae36226057ea402a8ff424bb8ba476d9ee2065cd6998e632b3631ef
+c05027b11286cf245803e79183fe37b5b4f44c52adc6c91a9534d2b29036762142d5ea000b2101
+4f4480de8a759164b576dc5d84b337483286ec37aa4563ea5ad6f28e5227e8ec3af16038be841e
+d480c93506ef722cc0ca328f53216029679ef111d61aa81cea4dfb1c7c768210dbde0f2cfb8676
+25af4e39ba672c3e6a26b4f1870f5ffa5b7481050ed96f9f8e9e96d2750021aa644b7ada83d69a
+b6f539560f9e0d88c5b7fe71975e7513d0156a88b5ebe3eba0c7901a3629ef0173fd836b9ff6b2
+e8075c18d03bf682e8861e19efc7bd9aab7e169496c67453927ac68a26307faeae0bcc07c1cc06
+f962fcb07e1fb15c80a2764ebbd6a24656b9f86d0c26674a1177e69ad3fc0b1e54aeea652f0879
+b86426f79454d33970cdcdfd02e4e6613ce052d94c5460ce2bdc154b8707db3597988c5bca9f0e
+d678456a33b9088bfcffcbf3701ecb74272f484c14a1eaecd5d86f493fd05e3b00c6343c0a721c
+f485539582a17bac36021de845f037f64aef753393bd679fab19ce1f3e25475da11f225f1da4c1
+3dc2d974d3948549355b2caf34f63762dba81528dece6ec126bb704a353b1f68261f5b522e918a
+57b0743ac94bb4f0dfcc837b5980b818f756149cf3153f8f3a1d9dc3a5f536705915c1b55bfa8e
+b95e8d5bf527b22cc5a7b6f446bca4152ca5756ddf92ed92fe3faa4d03ec13b47fd9ff1559ae4f
+162dba6957542b270883484f283190ddab09c484aa0bdcf4fd689b0f83625f5b08b2a72e6160b6
+bc3aa2afa6b6c24497becec62fe40ab5fceb6eaf23cd351f5bc43c767193b2fe332af23549ae33
+225ad7a7245828e0
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+
+%%EndResource
+%%BeginResource: font CMMI7
+%!PS-AdobeFont-1.0: CMMI7 003.002
+%%Title: CMMI7
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (), with Reserved Font Name CMMI7.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /f-6-0 def
+/FontBBox {-1 -250 1171 750 }readonly def
+/PaintType 0 def
+/FontInfo 10 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI7.) readonly def
+/FullName (CMMI7) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/ascent 750 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 106 /j put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b0027b6f3b53cc32be64063d04d328b49c17a62c396cfc8
+17b9fcb732c3b0aeb6264b2a70f62fbfc397eea8d069af80a71b775145f9842057f969d124e630
+1a760710a5c51e8981851fbcf7f1cd1f2ab78db91af2a6f264e41cc2cdecf450a3a33c89fa447b
+8bad4068cb8d7d37adaa4caab8f72cc26b024348ef8708a0ab6ee56d73f035ac9b506c91fcafc2
+40791cc10b1b0ca42c87a24a69e83f61a20432744f7d79437b93825d955cee80718831f56e0254
+0ae4b3a70b9dda35ca4fbcabfbc50a4cafca7423203e4c32daabc53c5c9176259f5577f448eb04
+19fb1f995e26b695448ae1b5b4698f36e180b5f489925f090c8c7a950833922d9cc464857975f9
+f32ab824eff4584575cb2826051232924d9d3e7d73ab1273b03ec3d7c9eea9c8a55c4b66336e32
+d80401bed0debc4f965d6c4aa76d4db6713674f559788557528b2ee7e9d12075bbf0dfd327b427
+c101a932de4f1af17b4a7afd4bfd1beb04a9e165fcf9eedf112b614313b4f4c46fd95582aab8b3
+3b74fe33bcc6ce01ae4606b8199fe9e9dea40c8015c3bede3f77f31b2adf122ab542d86836f94c
+683abb9ae9991ce6f9e36cf35acdefdc4618476fa5d49f444c55d10e052d62602419dad387d129
+66efaa68a6528aca9fbc2fc910db86d1482d0f54a60c409b0f340e130508c53b822d1b76997e86
+71be9537e48c1e20e3d017f40b7409141c88513ea8734a87c69af3f669e1a52367e9fa052cb5fd
+31c984f11cc12432b596d9b851b87a83e10c2e201f0a98f929fe90b413b810ebd4b6be0e3354fa
+249805f489868081c5d5be0739aaa4adeb88cf98457912778ef57b46563c1154c684f5b8b3ba96
+efba33ebd798baf4af3ea237690644943774eea53399c49c0a2ae78004a98b9fa3149e5f27392b
+79b585e22946ee5853d5b6863d344ed72fbab2da595b54177a867a163d0f4fff1831c3d589a918
+47b2d7da4e7c1de71b807c6cbb21a7216097213a1b417d50ba3ea708bbf8197adaace2cf367f56
+34cd5be3224deaf75386e9c177f6894354a0f56d0bb788834eb4e9c12c9912f12321e17e70ae1d
+eb9ebcae20462aa03fc8f6e4967a7143ab30c947146588722758be697bd10ef2d9d0a7f1682c89
+57b68f995027f1f0aa914a71f3c80d3a9cfa6e1678b4cb851b1543c3b681551c51c324b5e98004
+5ca101e13d69768ed2249ff39e8fdcf0f33c7d3dc9a9d13d24a98d1e4d79b73c34b15986ffc4ee
+b66f9001888c4f7e4c43da890b62bc085171800787200358a12bfeaabbd8d18213fe827e2aa58d
+1dedc5c11201b4a1473055bdf6f7afcb5d88895db6feaeedc0b352fcf1bcdc3cfec9297c347d5b
+a699075f075d57d8fcf2bdb673b5980e89d31e497e38287c2dce8af698c74db56c87f8d5b5366d
+2f92bf11cfdd814c1f90aa167d55274974bb5462c699505ea4a3c3f655e4010900cb5b7c4b9015
+cbcbb0426692a68dcaac3a9c935a2ab5b09b2afd24c05873a6a994ab78e1729b07e2fb31f1c32c
+13e2ca8b46d24924f79a421f09594eb51dc155b86954b27ef402e2c2b398e876f20060416c4342
+38e69201f4c996fdf829926c5b66eb5beadfcde7654e95c827c7bc0bc07eaaaf3c991751ec1568
+e5ac5462b00c4caba3d09818dbad987d072147d3b7cdedd924472dde17d7fca3fc451f4e2a1176
+7370a463d6733e2c22bf29c23540e797ddcd09996b170945a2ee198991b487af6790303b808d92
+b6ff7d79f94890e1b8eed22410c62f0b7c9558543074a2b0b17c398ad692a845181dab820b2a6c
+10818b77fe742ad060e7adaaca5613903f560a5adc9d3f91666dcad54958f402f7e9315d9c6866
+03779b4bac622c66f1b55ba1f089e7a5250bf1af9d97928aed8d255d9d777d6c6522bfa89a509a
+b3d62a94db8a5e683838f03d035b233c9bc54f45d36679103ea250971d8a0fb7caac1eee9f998a
+00d699503e1901f85467652a3f600ce79152fd73cb9c8b9cd2cfa4ecf1ff0cc0b6ce2d74d2050c
+3a882090cd3cd026abda7e9a0fee819d2e72415ee599f884e09a98f4d61312f2a18eb40871ddd7
+2495c517fc56a41aee6a6b63f27524c185a086140cc6aefb66a85851e1ae975472741e15d5f0a8
+9abd0055f02438574d3c265ef08ff95a0a0c242539d3a4f823bfba37f19115609137e8d41e9771
+d0d159f9fa9d8bea4ad12329fc048f9b878f80e09e6f0a602ee1898d518ed8d3f5a61bf6bdc840
+653d9f3422896e05281332ec9a07760ef4f75e925b32630dfda0683a4ae6cb13611c17cac78c03
+94493e7c2abeb5d3cb24ff28bdcd4fb511220525474acd62afa3e66498d3e51be4c9cdd9e68250
+2f0dd62d89bc601e717ccc7d1471d3a12fbdc14507963a5c0cc980b67f5e0acbf1b752c52f3ca0
+7470e3453e44a12a0b40fbfe8da181de74d45521d9ba48731a2b4e885d5c01b324307b78904d87
+7e227117afda55e2eb038758fbeb8e20088ce203da1c6a14c700859b9cb0a3034fa87d82309a5d
+3ff801773900a0072c385b4963a806bd3e1992e3e7dea99be56bb415cbad4280c85d0dc38ca0da
+440e9fb1d2fb817f10a0d57c2e452ae4b17b8566ba07eee03cbff9549218909e8b63923e9219c4
+ee2a8f50d914a0a4b960f4a685781966f7eb77dac76f0963eef5b519761014af532fe5e565ec00
+e4f97d80b9257e554f9c7638eb3bb17c2f4b74f9b0cb11f6c03396771158833b27f3bf417c725e
+e606ef74f8095596f4a73cf0d219e4312a52d9c06c6ae8ec0f40d726e9ecedf7409128752f75e6
+931129f4dbbde68fd333c9f64565891425fa5d47d07dbe759289617d864d10acac1b5035cadb2c
+3ddefa26fdd9dfeb3d2fdf2b3a4aae6dbc9d9ff26ab4eba2138fc1df4c2f32d32d1cf3377b65e0
+e7c06cb3101e9c2d151a6bc9b456a93341ebb19b4769cd684fc4c34e4c6da53523799961a47a95
+8422545d5c67c6edd4ed12d5c61dfe7b9e42836988de2e59ed363060482accc2a6a60a12c99902
+0d981869a21e1a490f6783a1777d0678debf8ffb6b32f34128b2d3aad6a335fddaac7103c46933
+a0e2dbfd880a775363803f6fcc8c96f66901fd4ea8402ab70fc1c142b89a6068e3d29f523994cd
+819265669f862e19760bb245546871387529a04f3cd3d3ec00d322926d44205a40a9d57548cf19
+e0dc3cb2586a72a5e6858677bd742e8c1887baa42b8ae6b1f437ae8f300de1f4d8d1281185134c
+beefbcc4c896702098c97beb961f1cb5e1441d3a4ecd4c490880dc19fb0df736069ec3a72bd077
+93b9b4495c6a55c9692a0b21a720e7ccbba8650f3808b72283c45dfd7811f4d4e794d455a8451e
+bdfe9fe294d14e2353ea9c00230c5285e9be7f32849decbff16451e79e052ccbf956383ad904c0
+9bd34a1c61423400d7cb02e88d2a908fdec9edfa90c981bd5b540233f737634906c7079e7748d3
+7e00cd7944c912311371d4189fda2b4f48645fb7914a7bc2563df97a7e431e52dbf105c33dbe79
+4bfb3efb203752d30889ce61e1362d030c23a32102faf1246a2ea80449b6a3c280835552118b20
+24a36dfe7e793ed933a675c1dfafe1de9e29d3aefb9d03195e45380ef9abf17fb624651ce0dfe3
+4b72c45d688e631b355b3fbb5c50811128a7480c0686f17e651b9ff6b869e342d882b1f216fc13
+590cb94534aa78687ce45e6d78e79ec0d5ba5496333b0c522afefb1b5dd43e468148ef57aaee3c
+00ab23ab9b0d0c5da336bb363d432360f899f9dd433f84e80987c60c8091a67c4fca76db876bff
+181bb618327e68c061308cefa0a3e5a794924428796f0163e4370ec3cdab1ad1e1e9041d4cca8c
+e250f79f5e48ce29605c0f37c011de30599b77345accf491538336847d17d71d7d25be9a514bcb
+b427a4911f963cb38eb317e183294002f8c15313e89f584a9e8a0ad7f9693f14e29b49eca94b67
+8ae0fdb4cc64ffbaebe2aef08f7d8d044a81d98056cb92b8c58e455e878493dd97eaab2b7f12f3
+36578cbd077d4943e10468a24678002c651f408e40dd6b27c32015757b4243215809df1a223cfb
+6fcecca001031d668ab13dc924a14998cf2a56f06870f724921f5ebc92ef3611cc1672298fd561
+22a71c59d995987d736ec5a23f04e066ceff6a0dfdf2e39451d8643b426463d2ec42002828ad8d
+230238c46ff88e1abdc857e3d836418b59cc21e9353c43e98f755f1208871d13e3bd1fc78c0d69
+0d32951099cc3cef99d26166c3f46a5f14b8c9cea1d798e5437c34ad87f4ea4ee8a8c832adbb78
+52b95dac37b3d133be93caf47b6b23fed161719a0444f1d7f7487b101a90a5acce95a06e8e8978
+8ba4f034561eb96018c32a35c34054e2746cafebfa807a77ab4b3ab095fb1e21de1c5f71c91d15
+393d7804e19f69d62fee85f48769cce52811bc991bccaa8a14caced77742c70a9ac72bbee8402e
+ff12977aee4baeb2fc4415976ba7f82d9f00037c860a6c4e30b9eaf8a41b5af69d9bedda873c02
+2e46c8e3a9d66af691a39bf46911f16918d7628ff152a81faedddad44d648ddc176f656d215f39
+9c8c4958dde6c82ab15faa3988d9314d5fb7e4d2bb074e9ad8d64327ffc3c6e011bf1fa2fc7ac9
+0aeb9eaa2379b6584dcce684e0aa4be43a45d52fbd9e53920feeb0d6853dc2570d806cd85f1200
+bbad372aab1bf230c5564e79c73b032deb1c22f93b43c35d9540bde9751b88e1bec3f0e1d1ffa7
+02b8e98ef393729439e8e27b4abe89baddff4c24ee142223466c27f3b93f001334e262b3fe6936
+49ae6267977e48c8edb4c5ca6a6fa9c6b194aadaf1b7a8f90ae088a10986718b8cd7e36ebbe518
+94e43b2d82449e8cf3079bf3f819dff89421281e3f54526f0d67f6ed9554074e053579bda748de
+df79471f3dc8fc2b3e83c91c77f0628cebd119820345375d442e38cbdc2106735bc44f8fe699c0
+2c8dddfe10ad9e44e3f3d1f01bf547396d95108a7338177400a1f5473cb7af7ac4576c67cd57c3
+a7e74e1fb22cd9076dff26e73c9e6f3c6b7205e4b4fdabf8ae25ab2aef0a35df4cf8d9eb5b2202
+770f8ac2fb3c40161ba70b4e25fce3fc0b3592b7cf3df1ced24dd84348fb5b81e8fc47b477e9df
+9bd2b8f3a7354086ea146ccb66173d88a2bbffea215532d111fcd25e8af065e3cb03f527c0e46c
+34de39e0f23946dd366e7c8f0bca6816e9e2ad2ffc4a8c31d68a57158d67525410d1ac390b88ab
+48efe2f1c35a2fb30924dbb72379dd1ce2bf19c33e47bbf31c852dd2e7397895fcead90e7272cf
+cedc70bd1808be257d7fd10282ebe9e5cebe3a9ac2a11695ee0639cea8085e02d1792db3643b56
+20c6b695d459f746d38af29611e0610ca79f9dd210714bcc89b4ce4528206e4180751bb47d22c7
+8282d128e1630201979413c3c4657eb33aa9773fac04fea7f8cfa3c89308fe3c07c9c06ed77e75
+da768d2d838ed2a4bc6193595c75a80d39be25eae60260dbac7d2ef6389c00d5ab594cd59604d3
+878cf6eb6a06dbcddc24ad287d087f661a846a667d49d1a7dc1a0064cd3d4ee6dc6c38117a0859
+006780828a819a2b1c1a70d520240e2fa252458696fbeacd3bd354caa3f8375bc24929ffc6694c
+4b5f9c52e41c21cc1ee94e9b9855a9d5e125f11c75cd996fd31d50c0d8971222a6a2e67dedb190
+28969044b666572da630cc3676d5ce3f79b2f993ad5a90f59a4c884c5ee8d0feebfe5ad93232f6
+87d6b1536fa58be36acec7135452b34dad37224763b48be692ad3dec8708af788500cb89dbe073
+75d66b4fefde33451365fb85d8f4c3410aa458bba8637b6679f356087219dd76567ed3289601d5
+768ba93d4fc46708b36040a353d580c635b78114e03ef8825972e607deede379f4086c75d7e380
+9af3df3d28d10bdf8e89a187a175f0ddc8b552cead06afae309dfe2d1f50a7ebc526dde3abc0f9
+2ebdc6618374e63f0eb99ba419a9b8d7fc64b9859a1a37c006e0449aa8db8b89730348c71c7e00
+bbb2a5d61e7614bfcc44fa74b79dd789d9faa0f0c3797eeac73df6c79992db6925277bd3579f68
+a30edeccdc6f2f9fc811b600fc65856a5ec970e9c94f43b439eefa923cbe7b85e1400375502c75
+738f14d53d9a1b182c007cb2ecb23db28e5fa8e1cee1871accd1e8a1c576c4ef224fd77bd8bf71
+f04dbf0e9481b5c7f1b97a57d42edfc9335204fbaec1d459142b9a652ada01e8d0501066695526
+ee3687249a003d48d3bc42a59602128a203845bdd5359aae213be3c7a0b34f5bee840624e44b0a
+e9b6a36e63e049c048a7e2d7e1e9b0c4323963e288f07b161ea8527b7c0997e89917643c5e9b74
+a68853db9a1815f49167c3b04b2a85ebb8e9f91148025651ce03ee31870dd62aae83715b2ea525
+f4b8821506d5e1dae2727f2e3554a9dfae92ff30b1a1d96785355e338d9878f75c601979758161
+53ec1a941f674b24d80bb6f8404807d77614171ed0aaed43a14c54cf81acd74dfb40b2e2a4555e
+7f17dfd5d18bfc73a9143396203bf756e4f88808d0bcf2027504927a38ab6b63e82c2e5208387d
+04ea01ecf8c190e40d05ca1e91138e332a743500b69912906c0a13beaaafa801a8a17931c47ed7
+66d49eb017b5467ec5823c68d135cee848b830c0c4e6b96d4560e5e1242dbe87f60310aa906622
+7fc10eb1f35c344fd7e8b954cffbcfc7c9b1ff5eef179e29d7ee3f3bf63834d5c19bad23aaa4cf
+a660091594d228a347767af9e57b0c2c521e1fe18bcb271e899d2534f5b62de75800c9e1074666
+a85fda8f762f38c8445f259070a6d6b6b2209b77166ac471118bd2c39d228007d270fd622dfbea
+29cdfa2d330c8fcc4c72eaa5771056069c831ea95b52172a4b8d136f790f27266b67a859ad2eb5
+cf5a20b6a39274baf31e02e1c487f59ea0ad622dd509438c43a4e110173268195db4b49c02fd6d
+98730be322f0d727d42252c37a1b907453b9d7e789f0e1499f3edfc44554b541383ff294df1058
+a9164ed1c453cda563dea3c3fe95a66eb02f80ea4b7e28af9238176e2beadf60addda4869909be
+700f2eb0d73de20b65c2e0cd2715350c4cac15aceec0a0861028c4a0f5e6b18ee47be415d88bab
+fa7f7e9c6274b1a72353b128545c8955b6a61fab002b95cf69949c3beb283a30ac348e5b25476c
+ce03aca0cc4a062d66bb985378da7fa79fda0d46eeeb6b792df37d9cb9e10d51bfa3c9570e33e6
+8326824e6c180c152b82545b2465aa21ce44006a5e5d986a4ad27d9eee3f9171e12294a0cfa034
+343a7ece3617291cef7c8d1591109503311c24170544c96f0bbc68dee4ae9c92ce237f94228d24
+ed46e254967016d46398f3dd645a352754015f757c913b5790e2c601f75dbd80c78f6adcd07107
+08ee348d11a4b2742e40327ebecafa44d67969eacae402b808b40f482d7b8d14c29159f0646e3e
+1100cba1674478062c89801edc767a5da780f8b6a9eb941f550400895f82f1a1bd6e0769f17bca
+2e7997d3a9d2a27997671791b780055211094c20f718245d5752e8364e924303f18abc6e27b983
+b2003fba4de22c818526665c3cbcc4dc65b35d61c57f851fed9b4aa7f5bc44458369cc0ead6ed6
+d1c0999e42b7f730083986f42915df5ca58b9d9a78ae9b70eb8454c834922374f26faffc48a938
+450406ceb976e87ae3d00bcf496450a4701c7784474d381791dc54ee5073a287b4d31616a822e1
+25aca839f59427abbdcdc3fe8226c3366ca1f303e16ba85a3f265b7e835828914ba5fcaf6cc00f
+92bc86cbeb0e86503d533ce6dc487443f08102feecd01ee1425bef03bfff4152b42db3bc1334ea
+5e1d534487cbc1f5abfd954c88c94cf3ebdcb6168565d4b026c0afd5f3eebc6f06e7855b4c847f
+33e892d235e0b4b5fb1029c16fe8a1ed66ab8c00527ff9505c34982759c289c8fac60d941c2768
+d80733e4d665d512cfc9ae765b71717c6343b51553790303bc2b3446b562b2f74ce4b59f9895ec
+df597bae4d4700a54726d906483c64557b68891869c430249969238fc881601b9eecd1efe20d24
+97cca6e07e9aa46418c80f124dfa19f7973699586bbf68f033cf74e938d44472c1f018037234bc
+232c3e946b04bb1563eace5a74d6e6a1be3160ea9de28c5539ee636b445f72fb984be468fb5fd8
+310bb23c9ee4af2a2772ca94d2c67ead2dcda3eb1f775f6d4c47e2cdc078c464adef2cacf0d4d4
+8e9bdc06f2e7e7d3518b6dced753791fd3a326f5e013e6ae855149891dc94108f141cca631e893
+b9c09076a79a4c45ed502bf1306e375f3c7de57f0facb154c2be909edd99b3754574be6acc8473
+718102ef503e8abb939add13541f9cda7eee8029e5173ddf24d7e506789963db7a2070661a39c6
+1edace8737a1a45644427176d70de3838bc864bb2dcf80a8554c3ddb5b83ef2509f9172307836a
+84595bb2a7d32fb35c410c087a8c83ee17749c8c105c5b80d6bebd1bb4126803519a9a
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+
+%%EndResource
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 1 395 190
+%%EndPageSetup
+q 0 1 395 189 rectclip q
+0 g
+0.4 w
+0 J
+1 j
+[] 0.0 d
+10 M 8 131.242 128 -32 re S
+8 83.242 128 -32 re S
+8 163.242 m 8 19.242 l S
+1 0 0 rg
+168 163.242 m 168 19.242 l S
+0 g
+136 83.242 80 -32 re S
+/CairoPattern {
+/CairoImageData [
+(Gb"0G0b"+*&AUR/:TkH?`<6SpGNmtag%2R54?e0E!!'/_.5idX~>)
+] def
+/CairoImageDataIndex 0 def
+/DeviceRGB setcolorspace
+5 dict dup begin
+ /ImageType 3 def
+ /InterleaveType 2 def
+ /DataDict 8 dict def
+ DataDict begin
+ /ImageType 1 def
+ /Width 32 def
+ /Height 32 def
+ /Interpolate true def
+ /BitsPerComponent 8 def
+ /Decode [ 0 1 0 1 0 1 ] def
+ /DataSource {
+ CairoImageData CairoImageDataIndex get
+ /CairoImageDataIndex CairoImageDataIndex 1 add def
+ CairoImageDataIndex CairoImageData length 1 sub gt
+ { /CairoImageDataIndex 0 def } if
+ } /ASCII85Decode filter /FlateDecode filter def
+ /ImageMatrix [ 1 0 0 -1 0 32 ] def
+ end
+ /MaskDict 8 dict def
+ MaskDict begin
+ /ImageType 1 def
+ /Width 32 def
+ /Height 32 def
+ /Interpolate true def
+ /BitsPerComponent 1 def
+ /Decode [ 1 0 ] def
+ /ImageMatrix [ 1 0 0 -1 0 32 ] def
+ end
+end
+image
+} bind def
+<< /PatternType 1
+ /PaintType 1
+ /TilingType 1
+ /XStep 32 /YStep 32
+ /BBox [0 0 32 32]
+ /PaintProc { pop CairoPattern }
+>>
+[ 0.5 -0.866025 -0.108253 -0.0625 -52.535898 -618.756 ]
+makepattern setpattern
+168 83.242 48 -32 re f*
+0 g
+[ 4 4] 0 d
+168 83.242 48 -32 re S
+[] 0.0 d
+200 163.242 m 200.102 34.469 l 200 35.242 l S
+/CairoPattern {
+/CairoImageData [
+(Gb"0G0b"+*&AUR/:TkH?`<6SpGNmtag%2R54?e0E!!'/_.5idX~>)
+] def
+/CairoImageDataIndex 0 def
+/DeviceRGB setcolorspace
+5 dict dup begin
+ /ImageType 3 def
+ /InterleaveType 2 def
+ /DataDict 8 dict def
+ DataDict begin
+ /ImageType 1 def
+ /Width 32 def
+ /Height 32 def
+ /Interpolate true def
+ /BitsPerComponent 8 def
+ /Decode [ 0 1 0 1 0 1 ] def
+ /DataSource {
+ CairoImageData CairoImageDataIndex get
+ /CairoImageDataIndex CairoImageDataIndex 1 add def
+ CairoImageDataIndex CairoImageData length 1 sub gt
+ { /CairoImageDataIndex 0 def } if
+ } /ASCII85Decode filter /FlateDecode filter def
+ /ImageMatrix [ 1 0 0 -1 0 32 ] def
+ end
+ /MaskDict 8 dict def
+ MaskDict begin
+ /ImageType 1 def
+ /Width 32 def
+ /Height 32 def
+ /Interpolate true def
+ /BitsPerComponent 1 def
+ /Decode [ 1 0 ] def
+ /ImageMatrix [ 1 0 0 -1 0 32 ] def
+ end
+end
+image
+} bind def
+<< /PatternType 1
+ /PaintType 1
+ /TilingType 1
+ /XStep 32 /YStep 32
+ /BBox [0 0 32 32]
+ /PaintProc { pop CairoPattern }
+>>
+[ 0.5 -0.866025 -0.108253 -0.0625 -52.535898 -618.756 ]
+makepattern setpattern
+184 131.242 80 -32 re f*
+0 g
+184 131.242 80 -32 re S
+1 0 0 rg
+BT
+14.3462 0 0 14.3462 160 179.243 Tm
+/f-0-0 1 Tf
+(d)Tj
+9.9626 0 0 9.9626 167.299 177.091 Tm
+/f-1-0 1 Tf
+(j)Tj
+ET
+0 g
+BT
+14.3462 0 0 14.3462 192 179.246 Tm
+/f-0-0 1 Tf
+(d)Tj
+9.9626 0 0 9.9626 199.299 177.094 Tm
+/f-1-0 1 Tf
+(s)Tj
+14.3462 0 0 14.3462 184 67.244 Tm
+/f-0-0 1 Tf
+(j)Tj
+2.230556 3.345834 Td
+(j)Tj
+9.9626 0 0 9.9626 199.661354 30.667221 Tm
+/f-2-0 1 Tf
+(|{z})Tj
+/f-1-0 1 Tf
+-0.0986685 -2.652763 Td
+(r)Tj
+/f-3-0 1 Tf
+[()-28(\()]TJ
+/f-1-0 1 Tf
+(S)Tj
+/f-3-0 1 Tf
+[()-59(\))-222(+)]TJ
+/f-1-0 1 Tf
+[()-224(p)]TJ
+/f-3-0 1 Tf
+(\()Tj
+/f-1-0 1 Tf
+[(S)]TJ
+/f-3-0 1 Tf
+[()-59(\))]TJ
+/f-4-1 1 Tf
+[<>-223<01>]TJ
+/f-1-0 1 Tf
+[()-223(d)]TJ
+/f-3-0 1 Tf
+(\()Tj
+/f-1-0 1 Tf
+[(S)]TJ
+/f-3-0 1 Tf
+[()-59(\))]TJ
+14.3462 0 0 14.3462 0 179.241 Tm
+/f-0-0 1 Tf
+(r)Tj
+/f-5-0 1 Tf
+[()-28(\()]TJ
+/f-0-0 1 Tf
+(S)Tj
+/f-5-0 1 Tf
+[()-59(\))]TJ
+9.9626 0 0 9.9626 301.709379 113.999295 Tm
+/f-3-0 1 Tf
+[(a)28(v)28(ec)-334(\\trous")]TJ
+-0.0602814 -4.675596 Td
+[(sans)-333(\\trous")]TJ
+-10.179474 -5.125227 Td
+[(retard)-333(minim)28(um)]TJ
+ET
+/CairoPattern {
+/CairoImageData [
+(Gb"0G0b"+*&AUR/:TkH?`<6SpGNmtag%2R54?e0E!!'/_.5idX~>)
+] def
+/CairoImageDataIndex 0 def
+/DeviceRGB setcolorspace
+5 dict dup begin
+ /ImageType 3 def
+ /InterleaveType 2 def
+ /DataDict 8 dict def
+ DataDict begin
+ /ImageType 1 def
+ /Width 32 def
+ /Height 32 def
+ /Interpolate true def
+ /BitsPerComponent 8 def
+ /Decode [ 0 1 0 1 0 1 ] def
+ /DataSource {
+ CairoImageData CairoImageDataIndex get
+ /CairoImageDataIndex CairoImageDataIndex 1 add def
+ CairoImageDataIndex CairoImageData length 1 sub gt
+ { /CairoImageDataIndex 0 def } if
+ } /ASCII85Decode filter /FlateDecode filter def
+ /ImageMatrix [ 1 0 0 -1 0 32 ] def
+ end
+ /MaskDict 8 dict def
+ MaskDict begin
+ /ImageType 1 def
+ /Width 32 def
+ /Height 32 def
+ /Interpolate true def
+ /BitsPerComponent 1 def
+ /Decode [ 1 0 ] def
+ /ImageMatrix [ 1 0 0 -1 0 32 ] def
+ end
+end
+image
+} bind def
+<< /PatternType 1
+ /PaintType 1
+ /TilingType 1
+ /XStep 32 /YStep 32
+ /BBox [0 0 32 32]
+ /PaintProc { pop CairoPattern }
+>>
+[ 0.5 -0.866025 -0.108253 -0.0625 -52.535898 -618.756 ]
+makepattern setpattern
+168 131.242 16 -32 re f*
+/CairoPattern {
+/CairoImageData [
+(Gb"0G0b"+*&AUR/:TkH?`<6SpGNmtag%2R54?e0E!!'/_.5idX~>)
+] def
+/CairoImageDataIndex 0 def
+/DeviceRGB setcolorspace
+5 dict dup begin
+ /ImageType 3 def
+ /InterleaveType 2 def
+ /DataDict 8 dict def
+ DataDict begin
+ /ImageType 1 def
+ /Width 32 def
+ /Height 32 def
+ /Interpolate true def
+ /BitsPerComponent 8 def
+ /Decode [ 0 1 0 1 0 1 ] def
+ /DataSource {
+ CairoImageData CairoImageDataIndex get
+ /CairoImageDataIndex CairoImageDataIndex 1 add def
+ CairoImageDataIndex CairoImageData length 1 sub gt
+ { /CairoImageDataIndex 0 def } if
+ } /ASCII85Decode filter /FlateDecode filter def
+ /ImageMatrix [ 1 0 0 -1 0 32 ] def
+ end
+ /MaskDict 8 dict def
+ MaskDict begin
+ /ImageType 1 def
+ /Width 32 def
+ /Height 32 def
+ /Interpolate true def
+ /BitsPerComponent 1 def
+ /Decode [ 1 0 ] def
+ /ImageMatrix [ 1 0 0 -1 0 32 ] def
+ end
+end
+image
+} bind def
+<< /PatternType 1
+ /PaintType 1
+ /TilingType 1
+ /XStep 32 /YStep 32
+ /BBox [0 0 32 32]
+ /PaintProc { pop CairoPattern }
+>>
+[ 0.5 -0.866025 -0.108253 -0.0625 -52.535898 -618.756 ]
+makepattern setpattern
+300.582 189.215 32 -16 re f*
+0 g
+BT
+9.9626 0 0 9.9626 335.891897 178.528786 Tm
+/f-3-0 1 Tf
+[(=)-333(retard)-334(de)]TJ
+/f-1-0 1 Tf
+[()-338(j)]TJ
+-3.47362 -7.552062 Td
+(L)Tj
+6.9738 0 0 6.9738 308.065608 101.79661 Tm
+/f-6-0 1 Tf
+(j)Tj
+9.9626 0 0 9.9626 315.030608 103.29061 Tm
+/f-3-0 1 Tf
+(=)Tj
+/f-1-0 1 Tf
+[()-279(c)]TJ
+6.9738 0 0 6.9738 329.858608 101.79661 Tm
+/f-6-0 1 Tf
+(j)Tj
+9.9626 0 0 9.9626 336.269608 103.29061 Tm
+/f-4-1 1 Tf
+<01>Tj
+/f-1-0 1 Tf
+[()-223(d)]TJ
+6.9738 0 0 6.9738 351.417608 101.79661 Tm
+/f-6-0 1 Tf
+(j)Tj
+ET
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/resumes/xavier_dubuc/src/pdf/spm3.pdf b/resumes/xavier_dubuc/src/pdf/spm3.pdf
index 1cb3f25..109ff53 100644
Binary files a/resumes/xavier_dubuc/src/pdf/spm3.pdf and b/resumes/xavier_dubuc/src/pdf/spm3.pdf differ