summaryrefslogtreecommitdiff
path: root/beta_old1/doc
diff options
context:
space:
mode:
Diffstat (limited to 'beta_old1/doc')
-rw-r--r--beta_old1/doc/READ_ME13
-rw-r--r--beta_old1/doc/READ_ME.dvibin0 -> 16892 bytes
-rw-r--r--beta_old1/doc/READ_ME.html183
-rw-r--r--beta_old1/doc/READ_ME.lyx61
-rw-r--r--beta_old1/doc/READ_ME.lyx~67
-rw-r--r--beta_old1/doc/READ_ME.pdfbin73334 -> 77548 bytes
-rw-r--r--beta_old1/doc/READ_ME.ps2744
-rw-r--r--beta_old1/doc/READ_ME.txt49
8 files changed, 1724 insertions, 1393 deletions
diff --git a/beta_old1/doc/READ_ME b/beta_old1/doc/READ_ME
deleted file mode 100644
index e2d1179..0000000
--- a/beta_old1/doc/READ_ME
+++ /dev/null
@@ -1,13 +0,0 @@
-AWOR - Fichier Lisez-moi destiné à l'installateur.
-
-I- Compatibilité
-Cette application peut-être utilisée sur un serveur fonctionnant avec Apache, MySQL(>=4) et PHP (>=4).
-L'application ne nécessite pas de configuration de php particulière.
-Elle fonctionne quelque soit la valeur du paramètre de configuration register_globals, utilise les sessions via les fonctions introduites en PHP4,
-Les scripts php ne modifient pas structurellement la base de donéne MySQL, il suffit donc d'un compte permettant les instructions SELECT, INSERT, UPDATE, DELETE sur les tables de l'application.
-Pour indiquer à l'application quel compte MySQL utiliser, veuillez vous reporter à la section
-
-Les scripts php n'accèdent pas en écriture au système de fichier, sauf pour l'upload de fichiers.
-TODO : voir pr la config des droits.
-
-II-Installation \ No newline at end of file
diff --git a/beta_old1/doc/READ_ME.dvi b/beta_old1/doc/READ_ME.dvi
new file mode 100644
index 0000000..836714e
--- /dev/null
+++ b/beta_old1/doc/READ_ME.dvi
Binary files differ
diff --git a/beta_old1/doc/READ_ME.html b/beta_old1/doc/READ_ME.html
index 476a176..fd0333a 100644
--- a/beta_old1/doc/READ_ME.html
+++ b/beta_old1/doc/READ_ME.html
@@ -6,9 +6,9 @@
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/mn.html)">
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/mn.html)">
<!-- html -->
-<meta name="src" content="README.tex">
-<meta name="date" content="2007-03-11 15:56:00">
-<link rel="stylesheet" type="text/css" href="README.css">
+<meta name="src" content="READ_ME.tex">
+<meta name="date" content="2007-03-13 12:30:00">
+<link rel="stylesheet" type="text/css" href="READ_ME.css">
</head><body
>
<div class="maketitle">
@@ -18,16 +18,44 @@
<h2 class="titleHead">AWOR - Fichier Lisez-moi de l&#8217;administrateur</h2>
<div class="author" ></div><br />
<div class="date" ><span
-class="cmr-12">11 mars 2007</span></div>
+class="cmr-12">13 mars 2007</span></div>
</div>
+ <h3 class="likesectionHead"><a
+ id="x1-1000"></a>Table des matières</h3>
+ <div class="tableofcontents">
+ <span class="sectionToc">1 <a
+href="#x1-20001" id="QQ2-1-2">Compatibilité</a></span>
+<br /> <span class="sectionToc">2 <a
+href="#x1-50002" id="QQ2-1-5">Sécurité</a></span>
+<br /> <span class="sectionToc">3 <a
+href="#x1-60003" id="QQ2-1-6">Installation</a></span>
+<br /> &#x00A0;<span class="subsectionToc">3.1 <a
+href="#x1-70003.1" id="QQ2-1-7">Dépaquetage des pages PHP</a></span>
+<br /> &#x00A0;<span class="subsectionToc">3.2 <a
+href="#x1-80003.2" id="QQ2-1-8">Paramètres de configuration</a></span>
+<br /> &#x00A0;<span class="subsectionToc">3.3 <a
+href="#x1-90003.3" id="QQ2-1-9">Initialisation de la base</a></span>
+<br /> &#x00A0;<span class="subsectionToc">3.4 <a
+href="#x1-100003.4" id="QQ2-1-10">Configuration par défaut des comptes</a></span>
+<br /> <span class="sectionToc">4 <a
+href="#x1-110004" id="QQ2-1-11">Maintenance</a></span>
+<br /> &#x00A0;<span class="subsectionToc">4.1 <a
+href="#x1-120004.1" id="QQ2-1-12">Visualisation des objets et des fichiers</a></span>
+<br /> &#x00A0;<span class="subsectionToc">4.2 <a
+href="#x1-130004.2" id="QQ2-1-13">Nettoyage de la base</a></span>
+<br /> <span class="sectionToc">5 <a
+href="#x1-140005" id="QQ2-1-14">Authentification dédiée - Personnalisation</a></span>
+ </div>
+<!--l. 31--><p class="indent">
+
<h3 class="sectionHead"><span class="titlemark">1 </span> <a
- id="x1-10001"></a>Compatibilité</h3>
-<!--l. 32--><p class="noindent">Cette application peut-être utilisée sur un serveur fonctionnant avec Apache,
+ id="x1-20001"></a>Compatibilité</h3>
+<!--l. 36--><p class="noindent">Cette application peut-être utilisée sur un serveur fonctionnant avec Apache,
MySQL(<span
class="cmmi-10">&#x003E;</span>=4) et PHP (<span
class="cmmi-10">&#x003E;</span>=4).
-<!--l. 36--><p class="noindent"><span class="paragraphHead"><a
- id="x1-20001"></a><span
+<!--l. 40--><p class="noindent"><span class="paragraphHead"><a
+ id="x1-30001"></a><span
class="cmbx-10">PHP</span></span>
L&#8217;application ne nécessite pas de configuration de PHP particulière. Elle
fonctionne quelque soit la valeur du paramètre de configuration register_globals,
@@ -37,26 +65,25 @@ travaillé à éliminer tous les messages <span
class="lasy-10">&#xFE64;&#xFE64;</span> E_NOTICE <span
class="lasy-10">&#xFE65;&#xFE65;</span> PHP qui surviennent par
exemple lors d&#8217;une comparaison avec une variable non-initialisée.
-<!--l. 46--><p class="indent"> Les scripts PHP n&#8217;accèdent pas en écriture au système de fichier, sauf pour
+<!--l. 50--><p class="indent"> Les scripts PHP n&#8217;accèdent pas en écriture au système de fichier, sauf pour
l&#8217;upload de fichiers. Le dossier <span
class="lasy-10">&#xFE64;&#xFE64;</span> fichiers <span
class="lasy-10">&#xFE65;&#xFE65;</span> doit être accessible en écriture
par les scripts PHP sans quoi la fonctionnalité d&#8217;échange de fichier serait
inutilisable.
-<!--l. 52--><p class="noindent"><span class="paragraphHead"><a
- id="x1-30001"></a><span
+<!--l. 56--><p class="noindent"><span class="paragraphHead"><a
+ id="x1-40001"></a><span
class="cmbx-10">MySQL</span></span>
Les scripts PHP ne modifient pas structurellement la base de donnée
MySQL, il suffit donc d&#8217;un compte permettant les instructions SELECT,
INSERT, UPDATE, DELETE sur les tables de l&#8217;application. Pour indiquer à
l&#8217;application quel compte MySQL utiliser, veuillez vous reporter à la section
<a
-href="#x1-70003.2">3.2<!--tex4ht:ref: sub:Initialisation-de-la-bd --></a>.
-
-<!--l. 61--><p class="noindent">
+href="#x1-90003.3">3.3<!--tex4ht:ref: sub:Initialisation-de-la-bd --></a>.
+<!--l. 65--><p class="noindent">
<h3 class="sectionHead"><span class="titlemark">2 </span> <a
- id="x1-40002"></a>Sécurité</h3>
-<!--l. 63--><p class="noindent">Cette application a été développée en gardant toujours à l&#8217;esprit les problèmes de
+ id="x1-50002"></a>Sécurité</h3>
+<!--l. 67--><p class="noindent">Cette application a été développée en gardant toujours à l&#8217;esprit les problèmes de
sécurités. Nous ne pouvons évidemment pas la garantir failles ni bugs, mais nous
sommes fixé des règles de programmation pour éviter les failles les plus courantes.
Toutes les données issue de l&#8217;utilisateur lors des traitements des pages web sont
@@ -71,18 +98,27 @@ configuration de serveur Web spécifique. Considérez, pour résoudre ce problème,
l&#8217;emploi sur serveur web sécurisé (HTTPS) et l&#8217;utilisation d&#8217;une liaison entre
le serveur web et le serveur d&#8217;authentification au travers d&#8217;un réseau de
confiance.
-<!--l. 82--><p class="noindent">
+
+<!--l. 86--><p class="noindent">
<h3 class="sectionHead"><span class="titlemark">3 </span> <a
- id="x1-50003"></a>Installation</h3>
-<!--l. 87--><p class="noindent">
+ id="x1-60003"></a>Installation</h3>
+<!--l. 89--><p class="noindent">
<h4 class="subsectionHead"><span class="titlemark">3.1 </span> <a
- id="x1-60003.1"></a>Paramètres de configuration</h4>
-<!--l. 89--><p class="noindent">Cette application comporte deux fichiers de configuration qui sont dans le dossier
+ id="x1-70003.1"></a>Dépaquetage des pages PHP</h4>
+<!--l. 91--><p class="noindent">L&#8217;application est livrée dans une archive de type tarball compressée qui contient
+toute l&#8217;arborescence et les fichiers PHP nécessaires. Il suffit de décompresser cette
+archive en conservant l&#8217;arborescence dans un dossier publié par votre serveur Web.
+Les fichiers de configurations sont présent et contiennent des valeurs d&#8217;exemple que
+vous pourrez adapter à votre situation.
+<!--l. 101--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">3.2 </span> <a
+ id="x1-80003.2"></a>Paramètres de configuration</h4>
+<!--l. 103--><p class="noindent">Cette application comporte deux fichiers de configuration qui sont dans le dossier
<span
class="lasy-10">&#xFE64;&#xFE64;</span>include <span
class="lasy-10">&#xFE65;&#xFE65;</span>. Les fichiers existent dans la version distribuée et ont pour but de servir
de modèle.
-<!--l. 93--><p class="indent">
+<!--l. 107--><p class="indent">
<dl class="description"><dt class="description">
<span
class="cmbx-10">connect.inc.php</span><span class="frenchb-nbsp">&nbsp;</span><span
@@ -98,14 +134,13 @@ class="description">ce fichier contient tout le reste de la configuratio
multi-dimentionnel. Ce choix à été fait par commodité, et pour permette
de bien hiérarchiser les information, en revanche, la syntaxe est fourbe...
N&#8217;oubliez pas de virgule<span class="frenchb-thinspace">&nbsp;</span>! Toutes les constantes sont décrites ci-dessous.
- <!--l. 103--><p class="noindent">
+ <!--l. 117--><p class="noindent">
<dl class="description"><dt class="description">
<span
class="cmbx-10">$adminMail</span><span class="frenchb-nbsp">&nbsp;</span><span
class="cmbx-10">:</span> </dt><dd
class="description">adresse e-mail de l&#8217;administrateur. Affichée à l&#8217;utilisateur
lorsque qu&#8217;une erreur interne à l&#8217;application s&#8217;est produite.
-
</dd><dt class="description">
<span
class="cmbx-10">$automatedMail</span><span class="frenchb-nbsp">&nbsp;</span><span
@@ -117,13 +152,14 @@ class="description">adresse e-mail de réponse des courriels envoyés
class="cmbx-10">AUTH</span><span class="frenchb-nbsp">&nbsp;</span><span
class="cmbx-10">:</span> </dt><dd
class="description">Paramètres d&#8217;authentification
- <!--l. 111--><p class="noindent">
+ <!--l. 125--><p class="noindent">
<dl class="description"><dt class="description">
<span
class="cmbx-10">POP</span><span class="frenchb-nbsp">&nbsp;</span><span
class="cmbx-10">:</span> </dt><dd
class="description">Paramètres pour les serveurs mail POP
- <!--l. 114--><p class="noindent">
+ <!--l. 128--><p class="noindent">
+
<dl class="description"><dt class="description">
<span
class="cmbx-10">SERVERS</span><span class="frenchb-nbsp">&nbsp;</span><span
@@ -132,7 +168,7 @@ class="description">Chaque élément de ce tableau à pour clef le nom
de domaine du fournisseur de service de courriel ( partie
suivant le @ dans une adresse e-mail) à pour valeur un
tableau associatif de la forme suivante
- <!--l. 120--><p class="noindent">
+ <!--l. 134--><p class="noindent">
<dl class="description"><dt class="description">
<span
class="cmbx-10">subdomain</span><span class="frenchb-nbsp">&nbsp;</span><span
@@ -173,7 +209,7 @@ class="description">Booléen indiquant si l&#8217;authentification doit
class="cmbx-10">CSS</span><span class="frenchb-nbsp">&nbsp;</span><span
class="cmbx-10">:</span> </dt><dd
class="description">Paramètres des styles de pages
- <!--l. 137--><p class="noindent">
+ <!--l. 151--><p class="noindent">
<dl class="description"><dt class="description">
<span
class="cmbx-10">CHOOSER</span><span
@@ -188,8 +224,7 @@ class="description">Ce tableau associatif contient la liste des
class="cmbx-10">MAIL</span><span class="frenchb-nbsp">&nbsp;</span><span
class="cmbx-10">:</span> </dt><dd
class="description">&#x00A0;
- <!--l. 145--><p class="noindent">
-
+ <!--l. 159--><p class="noindent">
<dl class="description"><dt class="description">
<span
class="cmbx-10">TEMPLATES</span><span class="frenchb-nbsp">&nbsp;</span><span
@@ -197,12 +232,13 @@ class="cmbx-10">:</span> </dt><dd
class="description">Ce tableau contient des tableaux associatifs dont
les clefs seront utilisées dans les passages de paramètres HTML,
et contiennent des sous-tableaux de la forme suivante<span class="frenchb-nbsp">&nbsp;</span>:
- <!--l. 150--><p class="noindent">
+ <!--l. 164--><p class="noindent">
<dl class="description"><dt class="description">
<span
class="cmbx-10">caption</span><span class="frenchb-nbsp">&nbsp;</span><span
class="cmbx-10">:</span> </dt><dd
class="description">Intitulé qui sera affiché à l&#8217;utilisateur
+
</dd><dt class="description">
<span
class="cmbx-10">tpl</span><span
@@ -223,7 +259,7 @@ class="cmbx-10">UPLOAD</span><span class="frenchb-nbsp">&nbsp;</span><span
class="cmbx-10">:</span> </dt><dd
class="description">Paramètres concernant l&#8217;attachement de fichiers aux
réunions
- <!--l. 161--><p class="noindent">
+ <!--l. 175--><p class="noindent">
<dl class="description"><dt class="description">
<span
class="cmbx-10">accepted</span><span
@@ -232,10 +268,10 @@ class="cmbx-10">:</span> </dt><dd
class="description">Tableau des extensions qui sont autorisées.</dd></dl>
</dd></dl>
</dd></dl>
-<!--l. 167--><p class="noindent">
- <h4 class="subsectionHead"><span class="titlemark">3.2 </span> <a
- id="x1-70003.2"></a>Initialisation de la base</h4>
-<!--l. 169--><p class="noindent">Tout les fichiers nécessaires sont rangés dans le dossier <span
+<!--l. 181--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">3.3 </span> <a
+ id="x1-90003.3"></a>Initialisation de la base</h4>
+<!--l. 183--><p class="noindent">Tout les fichiers nécessaires sont rangés dans le dossier <span
class="lasy-10">&#xFE64;&#xFE64;</span> install <span
class="lasy-10">&#xFE65;&#xFE65;</span>. Vous utiliserez
principalement le fichier <span
@@ -251,32 +287,47 @@ class="lasy-10">&#xFE65;&#xFE65;</span> avec votre client SQL favori. Le jeu d&#
<span
class="lasy-10">&#xFE64;&#xFE64;</span> jeu_essai.sql <span
class="lasy-10">&#xFE65;&#xFE65;</span>.
-<!--l. 180--><p class="noindent">
+<!--l. 194--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">3.4 </span> <a
+ id="x1-100003.4"></a>Configuration par défaut des comptes</h4>
+<!--l. 196--><p class="noindent">Dans le fichier de configuration modèle, un super-utilisateur est configuré<span class="frenchb-nbsp">&nbsp;</span>:
+inglebert@iut-blagnac.fr et le jeu d&#8217;essai proposé au paragraphe précédent permet de
+créer des utilisateurs, et en particulier inglebert@iut-blagnac.fr.
+<!--l. 201--><p class="indent"> Par défaut, vous pourrez donc vous connecter en tant qu&#8217;administrateur avec ce
+compte. Le jeu d&#8217;essai met ce compte avec comme mode d&#8217;authentification <span
+class="lasy-10">&#xFE64;&#xFE64;</span> bypass <span
+class="lasy-10">&#xFE65;&#xFE65;</span>,
+ce qui signifie qu&#8217;aucun mot de passe est nécessaire. Pour utiliser un vrai système
+d&#8217;authentification, connectez-vous avec ce compte et allez dans la page <span
+class="lasy-10">&#xFE64;&#xFE64;</span> Mon Profil <span
+class="lasy-10">&#xFE65;&#xFE65;</span>
+pour choisir une autre mode d&#8217;authentification.
+<!--l. 209--><p class="noindent">
<h3 class="sectionHead"><span class="titlemark">4 </span> <a
- id="x1-80004"></a>Maintenance</h3>
+ id="x1-110004"></a>Maintenance</h3>
-<!--l. 183--><p class="noindent">
+<!--l. 212--><p class="noindent">
<h4 class="subsectionHead"><span class="titlemark">4.1 </span> <a
- id="x1-90004.1"></a>Visualisation des objets et des fichiers</h4>
-<!--l. 185--><p class="noindent">Une page d&#8217;administration est prévue à cet effet, et elle n&#8217;est accessible que par un
+ id="x1-120004.1"></a>Visualisation des objets et des fichiers</h4>
+<!--l. 214--><p class="noindent">Une page d&#8217;administration est prévue à cet effet, et elle n&#8217;est accessible que par un
<span
class="lasy-10">&#xFE64;&#xFE64;</span> super-utilisateur <span
class="lasy-10">&#xFE65;&#xFE65;</span>, c&#8217;est à dire un utilisateur consigné dans le fichier de
configuration principal en tant que tel, confère <a
-href="#x1-60003.1">3.1<!--tex4ht:ref: sub:Configuration --></a>.
-<!--l. 191--><p class="noindent">
+href="#x1-80003.2">3.2<!--tex4ht:ref: sub:Configuration --></a>.
+<!--l. 220--><p class="noindent">
<h4 class="subsectionHead"><span class="titlemark">4.2 </span> <a
- id="x1-100004.2"></a>Nettoyage de la base</h4>
-<!--l. 193--><p class="noindent">À partir de la page d&#8217;administration décrite dans le paragraphe précédent, vous
+ id="x1-130004.2"></a>Nettoyage de la base</h4>
+<!--l. 222--><p class="noindent">À partir de la page d&#8217;administration décrite dans le paragraphe précédent, vous
pouvez aussi purger les fichiers attachés et les objets de la base de données devenus
obsolètes. L&#8217;aide contextuelle de cette page vous expliquera comment faire. Il est
vivement conseillé de faire une sauvegarde de la base de données et des fichiers joints
aux réunions avant d&#8217;utiliser cet outil car l&#8217;erreur de manipulation ou de
programmation est toujours possible...
-<!--l. 202--><p class="noindent">
+<!--l. 231--><p class="noindent">
<h3 class="sectionHead"><span class="titlemark">5 </span> <a
- id="x1-110005"></a>Authentification dédiée - Personnalisation</h3>
-<!--l. 204--><p class="noindent">AWOR utilise un système d&#8217;authentification dédiée de sorte qu&#8217;aucun mot de passe
+ id="x1-140005"></a>Authentification dédiée - Personnalisation</h3>
+<!--l. 233--><p class="noindent">AWOR utilise un système d&#8217;authentification dédiée de sorte qu&#8217;aucun mot de passe
ne soit stocké, et que l&#8217;utilisateur n&#8217;ait pas besoin d&#8217;en retenir un nouveau.
Le code d&#8217;authentification à été écrit de manière à être maléable et est
extensible. Le coeur du système d&#8217;authentification se trouve dans le fichier
@@ -284,20 +335,16 @@ extensible. Le coeur du système d&#8217;authentification se trouve dans le fichi
class="lasy-10">&#xFE64;&#xFE64;</span>auth_dialog.php <span
class="lasy-10">&#xFE65;&#xFE65;</span>. Vous y trouverez une section commençant par le commentaire
ci-dessous.
-<!--l. 212--><p class="noindent">
+<!--l. 241--><p class="noindent">
<dl class="list1"><dt class="list">
</dt><dd
class="list">
<span
-class="cmtt-10">/***************************************************************</span>
- <!--l. 215--><p class="noindent"><span
+class="cmtt-10">/***************************************************</span>
+ <!--l. 244--><p class="noindent"><span
class="cmtt-10">**</span><span
class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">Vous</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">pouvez</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">ajouter</span><span
+class="cmtt-10">Ajouter</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">d&#8217;autres</span><span
class="cmtt-10">&#x00A0;</span><span
@@ -310,12 +357,12 @@ class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">!</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">**</span>
- <!--l. 217--><p class="noindent"><span
-class="cmtt-10">***************************************************************/</span></dd></dl>
-<!--l. 220--><p class="noindent">Comme l&#8217;indique ce commentaire, vous pourrez ajouter à cet endroit une portion
+ <!--l. 246--><p class="noindent"><span
+class="cmtt-10">***************************************************/</span></dd></dl>
+<!--l. 249--><p class="noindent">Comme l&#8217;indique ce commentaire, vous pourrez ajouter à cet endroit une portion
de code pour utiliser un autre service d&#8217;authentification. La syntaxe est la
suivante<span class="frenchb-nbsp">&nbsp;</span>:
-<!--l. 224--><p class="noindent">
+<!--l. 253--><p class="noindent">
<dl class="list1"><dt class="list">
</dt><dd
class="list">
@@ -325,7 +372,7 @@ class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#8217;&#x003C;nom</span><span
class="cmtt-10">_auth&#x003E;&#8217;</span><span class="frenchb-nbsp">&nbsp;</span><span
class="cmtt-10">:</span>
- <!--l. 227--><p class="noindent"><span
+ <!--l. 256--><p class="noindent"><span
class="cmtt-10">/*</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">Eventuellement</span><span
@@ -339,14 +386,14 @@ class="cmtt-10">él</span><span
class="cmtt-10">éminaire</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">*/</span>
- <!--l. 230--><p class="noindent"><span
+ <!--l. 259--><p class="noindent"><span
class="cmtt-10">$auth</span><span
class="cmtt-10">_is</span><span
class="cmtt-10">_ok=&#x003C;fonction</span><span
class="cmtt-10">_ou</span><span
class="cmtt-10">_variable</span><span
class="cmtt-10">_authentification&#x003E;;</span>
- <!--l. 232--><p class="noindent"><span
+ <!--l. 261--><p class="noindent"><span
class="cmtt-10">if</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">(</span><span
@@ -359,7 +406,7 @@ class="cmtt-10">_ok</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">)</span>
- <!--l. 234--><p class="noindent"><span
+ <!--l. 263--><p class="noindent"><span
class="cmsy-10">{</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">//</span><span
@@ -385,7 +432,7 @@ class="cmtt-10">à</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">échou</span><span
class="cmtt-10">ée</span>
- <!--l. 236--><p class="noindent"><span
+ <!--l. 265--><p class="noindent"><span
class="cmtt-10">$errmsg=&#x003C;fonction</span><span
class="cmtt-10">_ou</span><span
class="cmtt-10">_chaine</span><span
@@ -394,11 +441,11 @@ class="cmtt-10">_l</span><span
class="cmtt-10">_erreur</span><span
class="cmtt-10">_d</span><span
class="cmtt-10">_authentification&#x003E;;</span>
- <!--l. 238--><p class="noindent"><span
+ <!--l. 267--><p class="noindent"><span
class="cmsy-10">}</span>
- <!--l. 240--><p class="noindent"><span
+ <!--l. 269--><p class="noindent"><span
class="cmtt-10">break;</span></dd></dl>
-<!--l. 242--><p class="noindent">Il vous suffit de remplacer les éléments entre chevrons dans le code ci-dessus et de le
+<!--l. 271--><p class="noindent">Il vous suffit de remplacer les éléments entre chevrons dans le code ci-dessus et de le
coller dans <span
class="lasy-10">&#xFE64;&#xFE64;</span>auth_dialog.inc.php<span
class="lasy-10">&#xFE65;&#xFE65;</span> pour pouvoir utiliser un nouveau mode
diff --git a/beta_old1/doc/READ_ME.lyx b/beta_old1/doc/READ_ME.lyx
index e1efc97..9c5e090 100644
--- a/beta_old1/doc/READ_ME.lyx
+++ b/beta_old1/doc/READ_ME.lyx
@@ -33,6 +33,20 @@
AWOR - Fichier Lisez-moi de l'administrateur
\end_layout
+\begin_layout Standard
+\begin_inset LatexCommand \tableofcontents{}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+\newpage
+
+\end_layout
+
\begin_layout Section
Compatibilité
\end_layout
@@ -126,6 +140,19 @@ Cette application a été développée en gardant toujours à l'esprit les problèmes
Installation
\end_layout
+\begin_layout Subsection
+Dépaquetage des pages PHP
+\end_layout
+
+\begin_layout Standard
+L'application est livrée dans une archive de type tarball compressée qui
+ contient toute l'arborescence et les fichiers PHP nécessaires.
+ Il suffit de décompresser cette archive en conservant l'arborescence dans
+ un dossier publié par votre serveur Web.
+ Les fichiers de configurations sont présent et contiennent des valeurs
+ d'exemple que vous pourrez adapter à votre situation.
+\end_layout
+
\begin_layout Standard
\end_layout
@@ -342,6 +369,40 @@ jeu_essai.sql
.
\end_layout
+\begin_layout Subsection
+Configuration par défaut des comptes
+\end_layout
+
+\begin_layout Standard
+Dans le fichier de configuration modèle, un super-utilisateur est configuré
+ : inglebert@iut-blagnac.fr et le jeu d'essai proposé au paragraphe précédent
+ permet de créer des utilisateurs, et en particulier inglebert@iut-blagnac.fr.
+\end_layout
+
+\begin_layout Standard
+Par défaut, vous pourrez donc vous connecter en tant qu'administrateur avec
+ ce compte.
+ Le jeu d'essai met ce compte avec comme mode d'authentification
+\begin_inset Quotes fld
+\end_inset
+
+bypass
+\begin_inset Quotes frd
+\end_inset
+
+, ce qui signifie qu'aucun mot de passe est nécessaire.
+ Pour utiliser un vrai système d'authentification, connectez-vous avec ce
+ compte et allez dans la page
+\begin_inset Quotes fld
+\end_inset
+
+Mon Profil
+\begin_inset Quotes frd
+\end_inset
+
+ pour choisir une autre mode d'authentification.
+\end_layout
+
\begin_layout Section
Maintenance
\end_layout
diff --git a/beta_old1/doc/READ_ME.lyx~ b/beta_old1/doc/READ_ME.lyx~
index 16db7c9..af8e3a7 100644
--- a/beta_old1/doc/READ_ME.lyx~
+++ b/beta_old1/doc/READ_ME.lyx~
@@ -33,6 +33,20 @@
AWOR - Fichier Lisez-moi de l'administrateur
\end_layout
+\begin_layout Standard
+\begin_inset LatexCommand \tableofcontents{}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+\newpage
+
+\end_layout
+
\begin_layout Section
Compatibilité
\end_layout
@@ -126,6 +140,19 @@ Cette application a été développée en gardant toujours à l'esprit les problèmes
Installation
\end_layout
+\begin_layout Subsection
+Dépaquetage des pages PHP
+\end_layout
+
+\begin_layout Standard
+L'application est livrée dans une archive de type tarball compressée qui
+ contient toute l'arborescence et les fichiers PHP nécessaires.
+ Il suffit de décompresser cette archive en conservant l'arborescence dans
+ un dossier publié par votre serveur Web.
+ Les fichiers de configurations sont présent et contiennent des valeurs
+ d'exemple que vous pourrez adapter à votre situation.
+\end_layout
+
\begin_layout Standard
\end_layout
@@ -342,6 +369,40 @@ jeu_essai.sql
.
\end_layout
+\begin_layout Subsection
+Configuration par défaut des comptes
+\end_layout
+
+\begin_layout Standard
+Dans le fichier de configuration modèle, un super-utilisateur est configuré
+ : inglebert@iut-blagnac.fr et le jeu d'essai proposé au paragraphe précédent
+ permet de créer des utilisateurs, et en particulier inglebert@iut-blagnac.fr.
+\end_layout
+
+\begin_layout Standard
+Par défaut, vous pourrez donc vous connecter en tant qu'administrateur avec
+ ce compte.
+ Le jeu d'essai met ce compte avec comme mode d'authentification
+\begin_inset Quotes fld
+\end_inset
+
+bypass
+\begin_inset Quotes frd
+\end_inset
+
+, ce qui signifie qu'aucun mot de passe est nécessaire.
+ Pour utiliser un vrai système d'authentification, connectez-vous avec ce
+ compte et allez dans la page
+\begin_inset Quotes fld
+\end_inset
+
+Mon Profil
+\begin_inset Quotes frd
+\end_inset
+
+ pour choisir une autre système.
+\end_layout
+
\begin_layout Section
Maintenance
\end_layout
@@ -409,19 +470,19 @@ auth_dialog.php
\begin_layout LyX-Code
\lang english
-/***************************************************************
+/***************************************************
\end_layout
\begin_layout LyX-Code
\lang english
-** Vous pouvez ajouter d'autres mode d'authentification ici ! **
+** Ajouter d'autres mode d'authentification ici ! **
\end_layout
\begin_layout LyX-Code
\lang english
-***************************************************************/
+***************************************************/
\end_layout
\begin_layout Standard
diff --git a/beta_old1/doc/READ_ME.pdf b/beta_old1/doc/READ_ME.pdf
index bb4e4db..7948fe2 100644
--- a/beta_old1/doc/READ_ME.pdf
+++ b/beta_old1/doc/READ_ME.pdf
Binary files differ
diff --git a/beta_old1/doc/READ_ME.ps b/beta_old1/doc/READ_ME.ps
index f8ed24a..9c293fc 100644
--- a/beta_old1/doc/READ_ME.ps
+++ b/beta_old1/doc/READ_ME.ps
@@ -1,17 +1,17 @@
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software
-%%Title: README.dvi
-%%Pages: 4
+%%Title: READ_ME.dvi
+%%Pages: 5
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
-%%DocumentFonts: CMR17 CMR12 CMBX12 CMR10 CMMI10 CMBX10 LASY10 CMTT10
+%%DocumentFonts: CMR17 CMR12 CMBX12 CMBX10 CMR10 CMMI10 LASY10 CMTT10
%%+ CMSY10
%%DocumentPaperSizes: Letter
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
-%DVIPSCommandLine: dvips -t letter -o README.ps README.dvi
+%DVIPSCommandLine: dvips -t letter -o READ_ME.ps READ_ME.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2007.03.11:1556
+%DVIPSSource: TeX output 2007.03.13:1229
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -174,9 +174,9 @@ dup 59 /semicolon put
dup 60 /less put
dup 61 /equal put
dup 62 /greater put
+dup 65 /A put
dup 69 /E put
dup 79 /O put
-dup 86 /V put
dup 97 /a put
dup 98 /b put
dup 99 /c put
@@ -200,7 +200,6 @@ dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 120 /x put
-dup 122 /z put
readonly def
/FontBBox{-4 -235 731 800}readonly def
currentdict end
@@ -254,189 +253,185 @@ E2934111D6B57CFA826DB114947DFA87EDCC6CCB33146C2742E7DF664A3BCDA5
8039D2C3F063EAAAE10516DDF3DBF97B5F87EE9EA959AC738AB6CDEA63DA8862
7F7EA32222690E7EDC6F4B3391E834977D476B19D9C14D92420122A733E735A5
EDED2F02D5A7F3347CB289CA2A440945544A7677C4BD7DA3000FDEA64A4A6E85
-4C1C6C4D16A91AFAB0B84A485CDFC5EDEB03E8E93218694C542734139DE38E11
-766E84C54DE44775FE2122F4869B5EBDD7AB21E471DE8A24D986D02EC56B863E
-CCEB528C545C0D9D3B138CBCEDB7CEC5A1D85F3A8EB65B7F96462F17DE646358
-3865CB5603A80ED1CB1FEF2BFDBBB5CB94E15B0903EC58CC9C8587B105E419E0
-486523D0CAEADCDAB2C4BC47AE55D14489BFE1AA36A5FCFE988D1D4398BD6303
-CADBF9FE64F5FEF8C0B4411289198ADCBCFDE42821865AA21049BA8E846CB7C5
-A60AE13DECEC0897A2F74E130F198AAA04993D5415463CAFEDCA47C6FC753A76
-B972140A3AF187A4BA658EEB077751EB20FE37BD952E7A3661F3F45E6FB25671
-554639A94C3F9F3B4E5C76785373A7CFEED3B6A3F44D98E9FFEF4BD8FA9B05CC
-4ED72D6388EC669D1AB81195022FDFF1F562294FE6AAB80EEF711396337D9DFD
-B24A97E88BC4B1F1D6E143E3820DE208E7DC16D757D36C7F7EE745DCB7E75D9B
-40FF7BC1A92347253C702CB3B177AD3FC273844A6A53D69934C824EF382DAD7F
-7627A918FE6E30505FE0C6641BB383D7C4D48DD560209E72BEA8502E0FA19BEF
-97B7989CB133B933BAF41CA678D19D8E354036604FAC1DA79420D4B4E656D06B
-7860AD8A60A11C29E85A3BED39C4D0C7FF116BD2186EFE54924FA8DF382CE00A
-336D74EED682D5C471B2D4F70D371C35CDE1CAACB731A332C2BB23CFADE102BF
-1EA484E64C7B2D59924E1D7E64A3A4BE9588B64300AAC5BBCB69E6ECB5E6ECC5
-CBD47621953AF08F2203D3069CA085B4EA8EF8223522F87289224C1AAE1176B9
-A8BEC8C453C2DCF385F88B0CA690DCCA7A8DA7DC92D16685E43478FC6CABCDBC
-6607DFC80EDDC91D4D7E13606C80C4FF49C34970E6483993C5D5F60465CF333A
-E1EDB4519FD099232BF13D0EBE839CE810AB85E580DBC0C2C19185790776EDEA
-942DE2CCC1993702C871E9E0231DD1E1386BE725947AD15CBB335C1E30E1AEC1
-02C09DFEA295D50C624A37A81F0C6002FA1D6D817514AB764C8835D816E28268
-49A8DDA1BE92836CB30B06DD60D358EF02DC12B8BACF1186DBF42C061F8BEBDC
-D4C08EE123C2A94B82FBF9896053B89A3B1AFF53F7AD2DBB8ADF42DCB51D9B6D
-5A5532BCFD5C6BCAF1CE50DD65DFDED6357D7E6B1EF7773EF3C53F56ED34AD2C
-0C2599B516127449786FDD74712FA8BD94D12295D434494127D0E26F5C352591
-796035484D0A6DA5211A83FD00D4B8735104482149878A8F1984682BE4B4E84F
-6189A1BF48F41E1D36F6CF56088EE1EF71AE62FE7877487DC24D0E0E6A412FB0
-4E231137873E0908727FCC0FDE2951A44779A412E20D6AE62A6A3FF71587020B
-786366886B6A9C4D266F7A471FD8CC263DCC36E8731BE1990CD9003F2A0FB459
-5CEC683722808363BAD930D2A2736AF1D1DC478F817921D596F2F8B77A845E1B
-C70B5E6ED150640E06628562410088D836D817FCD012359F5B54760ED0CA6ACC
-57F8D5FC28A13ECD31250859DC79884507AE7106A6ACB17694586ABDF5F2E881
-3DF040AA8FE65376FAADDD72B66B87E5DC173979B2029377D82BB3364EE53C0F
-B851F8609DA4F08C51E99AD9D6FEC018883D5472100AA60D8FAA3BD874394080
-439A1170B2F56997ED742B115F2A00A084E13BCC437F33B383C3A957D0E94836
-80DA0E817A579FB2615D3A35D6C615C8FACD4E6A3C3F4A4B86877FF01F596B23
-97286C45A58744EA0920D772C7591966EFAF3150BDA27BDFED893FFBBE1E25BF
-4F24B7CAF576CA719DC1BEA83276C42591D237D88EF92B0FB1E245308DCFBE65
-E525DC42018E19DE6B4099121D2D9F8A8054D277EE93E10F001BE74A5E665AF9
-E6D920A9EC6DFA1C24DCD95FE5883285EEAA44199AA9C7A61E21BB547E6A15C2
-6065CAB4132B201031531AAC77553B37D28E4F2FFA9AFD0F79693541EBAE608D
-72E4189BC22C9ABBA1EAF9F7F74BFD4557A981C9A8661309F1DA5E27C7FA13F1
-7F612A93195933A7AA7209ABA79B2B0E20253385EB95800F3629CAD1DD9D45C3
-2B1A990975F73FBE899C3E9965C40063C03DB3680886B97FB4A152B4BF81F17A
-E74277DC8CE3EF67A238EE399E7DFAB8A86AA4C9F087CDA4D55DF9F693043AD1
-68EEDE07DC51C7EFF41E5618F8CD6F0A8327394A8C1FC86D38BCEDB5EF130D6F
-203E94581CBEFF9A91D0D909E8BA443E17DD8FD09169C82CE111D4BE4C5D8C11
-BEC3221D877C7EBA283815627EDFF83695AFAAB90762E6DEC818D5305BED69C2
-0B8998E7BFFE3B21B4A50243FEB9B950A7F6435BD668764A2DDCF069ED7D7571
-A2E1A37EAA99ACC35B8157E057020BE9F1496337B20BBF77A9B0ABC65FF66C61
-EE059251456730B5DABA6F3B2E5ECC341D41CD38B38C76E246F50A691D5143F9
-2B55EEE2A3DF6E7E34F6378EF9F55F299954E22488168C2F125B0BDE9AB0C9AB
-E31CBB6732ED15844D8451E78BD81C3C8DE629DB6C7DD795AB1E48A36439EE58
-FA9793BC9802946BA90654B076E81F1C7ADB0F3DF78D9D4EACCA41F46AB1B655
-C65B85DEE426B8A97A93A2DE2D49C44705C14C8A4381F2A87055F6F31EA5074D
-0113DAA650A070F765B13180059FFE8157B48C705FF4E03B0371153A13CC95A1
-0ED751849EAFA6101988FAA7E86C488E840B0C939F7DB6656A79E8C31ED95239
-5D989E9DFF213A75A7D9162CC52868D54E1FDFACA503F564145150A00AC1DAF7
-C59C9706130DB9BD59EF3B4519F4A84065B043BEA579FE4AF5CA047EDA3BEBF4
-D61962D24182DA19F3D6DDBFC27252E31D3378CC7267899A82DACC41CA69FF18
-AF631AC3E8BB7404D85D9A703768081C6F148CB1459AFBA0A92A69B0D5C4A09E
-9321F8BD5CD235F1B2F0C98FC9EBDF6474AFB312070DC476011F4C8468E5D2FD
-8AF8FC915D01DA12AB7EC42FF979AEFEAA0B4610F64006E6FB6CC8F822FE165C
-5CD933EAC43457E2C7328FA4597C3BBB42398481DC182E01C84EA8738E192502
-AB36501A70D98F1876844D75EBAB5EA5EB2195EEDA3E10C5C8564E6F4733FC74
-C93047F5734DACA571AD76AFDE5512976EEDE1C895473FE418A0246407F3CFF2
-9EE0A86D106C8218AFA23D72945556702C9E9F107AE01148E80B9587AAC77065
-94ECFF8988BADF5814322DF6511133899687B4C4AE6ABC60F33C7CBA24796193
-EA996A190CBA728CF391EFC4789D502364484812DE5E88DF03DAEA997D6E16AD
-BEE4ADE655A7AA393ECCDCC8B7A1AA282F3128FA5AC613513AD0E648F5400A4F
-045DA5B9E469D0CE693259268E27C5505FD7EDC3CA266C010C04A240FB91C6F3
-EFA4D0AE5C2517976A2BBF9D0AA3A0D4590E582AD55E9768CA5C1DA4EF832E49
-31DC69440446B343B53EA25CA8240A630DE279AFD95499F089F0BBAD893D0DEC
-671807705CAB3EB26E8F202AC371A77E674AA606F6CC4B0A5D6BA25B93CB06C6
-A483E16B1F4FDD6FCB2BDFEB82C360F662BBFEB9F155830026FCB3E5CE1ABA98
-6037E5B6A62DEEDCD4FA42876858FF04589D92DDC785552CC8259F92D9B44A38
-24AE40CDE5A8E037292E6788535E104B4D6A4FB7BD61448CBB24B0CEEBC68A41
-BB1C0846C4D5E80F40FD941F2CC458D1304597E1296C26B2A056911D71AED927
-7970193557FBC86B6C473283B1A3B9309DFF8CC9735763A592220DDC332FDF93
-EDF55510B1BA3DBB9DFE462EB66607AC663A23471BC34C9BB446BF63C8A2FD14
-1F745C75033E4B598E8767316D91F66ADC9EBB00D410D3821E829606BD447E79
-D9D4FC6ABFB72A159BBB9C51671685E92F2ED99041318F1F88C810DB692A589E
-7395DF7E58739B67F45601EA052BED85A675D804FCAB33FC5444BC6587F8A456
-9A9B98EE91D41AC28C9178F4799E005B96C7BD483B16B0F7C21D0D38CF8DEF2A
-BEB5878FE24D1A460ED3CFA752A3775089F7A3144C13769CE6C5D9802ED4E8C7
-79E8694DCADADDCE259521E69C8CE3C708A7EDF968AEEB8D603F724251E0486A
-FE49852A38E46C506FBF8F484E0D3E33F5561E91967C9CA2B9243866A08275C9
-8382EAACCE5F8EA866768E091DFAEC42F3A4C7307D31CE34846A5ADCFE2C7358
-43BBB348165CFB17F821BF0768B2491E0C26FD78899BFC2708078C756920A128
-36E9602AB24BCB3BA61C3A0020CCAE3FF84943E86E85C89B0F8C24356ACA20FB
-A936D2FCB2D922F98B554098C16622A88E02C8933939110830421F3D16D0AB55
-5AD2DB5B22E4C9120523EE24E3DD782B2B1832EB7E08D9161B96681EB6E0CABE
-845421D578B04540B756B69011EC4BB358437D62FE7AE7038AF013655D016336
-E54F6052C923D0B3CFB58C5664A6C770E2611A4ACF3BB9682F565B9FEE5918E0
-02C14A79242CCB46E25C831FF080760B3F2485671F60A78F1500B2BA0685027A
-429DCC57D9E39AFE76F60C0E3C8219F2BC802B003C2C1BD0E1BF9FE9DA811E00
-4EA8ED75D1D67C17AC9DC133559E91D5302AA6B843A7C68529CF25828FF4ED5D
-50E86A01184487BA2F0365E7CC8204EF2ED735676E08282C49F0665786080AD8
-E837F9109F68D43057EA931BC75C1FDBEB26F0659535E405173118D6E81968DE
-56B6C6A5AFC4DE6A7198A23DA05EC21C8DAD0CFABC401FD31091472FB5D3F241
-6F4E9322B01C04EA8DD3DE99B19B5511509B3F1B027A677DB6DD02623B0614C7
-8D7048ED354E6DF42A544FE1098FA7205CC846CDF624AF43236D522CE9765C7E
-B471A5EA2C588768729E438AD0ECB16F1D4658187C97A15BE69631E2BBE68B8D
-05B043ECBE4A1D256F49E196B0081F7BB4650B9D8CCB6ABB5B76C30249B61FB8
-66D6E7F13ED40A1EA95CC8EFE3E73CDA353B71E515A1F6831A97A16F158774CB
-76E6B6C3BFA0D58EE768A9C3E8CEA3629B2895EE546C3D599EED9C7181BB58C8
-CF0560C4B873320526C719DC5E5CB0DA7D34B08D45A0B46689095361D0FDAD53
-503CD09FD15ADF51DEB30AAFD4E9D0E2D3E3A94B5C277215BEA08823041583E4
-6356BB4E9D1C03C1FC58C0EADBAC332531A72E07F2C015F376CFF8C36CC95788
-3122896B1334BEF9A6F535680D97565FC448E5566ACA5D48DAC4A11C7A28D548
-4C68BD482B8D208186D74198799CC6D640507B4B9112EA0767022C36707AB1A4
-4B9B2946E0924DDFB6FBF8A8B7F8EF5FF624C6A3297B1D3210D9F32BD28D9977
-FC83806674FF54EEF1705D03109DAF65ED5A3FF6ACFAB86CF8BABC61F051C383
-BF7ABCE2816A4A1A8C73C8D057F8A373376DAD761DED01FD82562779B5203D9F
-EFCF73F5D66283B56A19F0CAAFB21ACF480AB8257B5910075DCAADF5580992D8
-AE1F3A170947FB00323A0A4D607C2048D0F083D9AA8BB86A695E637DCC9D8DAD
-4E6A243ED811223304269DE54504D2D1B487155140C346CA7AB7C52E16AFE968
-EE576CAD9BB2C55DAD0A50DED6A6B654D5F4770DEDBAA52FBAE3839407A03F36
-E0526861B1AA35A1E88739545E6A2C6BC68DDB90C6918057FDF84D0E1BDBEBE1
-33AB2816CAEC9DE4042CED582E3650D639D1AA11B1FDC62B636E8E605974F5D5
-EA7E83E0BDF5DF6A44FE3BBB3E353FB3278A180A6364D5393F5F539338A3A138
-EE7967068BA1148D9F8B664E7B698913863817E72295990D6EC1090209FE7A3E
-5AB84C05629408226D4D5DC776CCD5D004C37B5FFDBB4535E4108292C7561746
-1D4053122E22F7CF038CFD5D4159B6B1903A50BBB95FAD50BF28CBC08D394289
-2EF2FD65A6237788C168768978B80C3A171EFD28242A90600B0B3CD661424D7B
-7A8013C2E758F437D5E216BAA8448B9BE20E495D295B7DE39BCC0A2D1BF14A8E
-319DC4B2A38E35AF69B82EB0CF189FAB2D391DB39253E5B8412A3AAC20BCD113
-373C9C550B02A642733AD122EF587543E1001A81BD311A3EF0E7225FFBFED342
-B96626DF3A4C08A8D9858EA4A18EC20805FA9927594E81ECC652324674F1B2E8
-FAD79F2108408B111734C6A7414B9EC3A2450146D14B5582D1C67CC7CE7FA085
-AA8E704C1D95EDD45753E9A9E26A5DA8315EA3C453318D242D6EC94721F709F0
-6B8B416731FDEFA6B856CFAD54942440C155F66493F4E2E0B8CFE7212B962BF8
-A2C2FF32082BA82701690DC2F2D1366C55A781455AEE353301458CFB90A5ECB5
-6BAD8F4CBCF39482D7BD07AC030C857D907B0C2676C8EFE41231CC5D6E57E03F
-77F71DC796BBBED55F0791B40FB81156067101D0102DCEF74C07EA6BDDACD90B
-C0D8289ABD58CCB1E86CD0FAD6C640E403881B6A5D6CB6678543ADF8BB5D1836
-5C52348CB645C36ACD07961762809B30582B497C56B0F250D3B49B5D7166ACAF
-7B01742408F8BA160DD9AE78B898EF24FBE6E124327875A853F23506B76E5BAF
-4F10BF4547C8D080CC78317B0599244EDD5654F62F1AC9C7228DE4326B1D2096
-375545F4849975221F7C7E397E826DBB579C385A2E21C372846A1F888280B060
-6F075B355A71D885CAC87EC87A5B0C8CA07C385AA52BBFB9690FC90695411F7E
-61665EC585010BEBA23C4F228BA46E6A063C4E6731CCBE862A7A5676DFA84FBD
-D7D8BE627550BD2D3BFCED3A33A02237B023D3BB06213D5243DAD0EFD8817EBC
-583F78E55A9EB6988B38C2C4A907CBB943DFF097195E25728A90B14A90951D0B
-FEF286550CA025EBB08B7B4873B33A2BDE68BAD37172088440259DDCDF2F4F08
-D5E4C89BDF9DF4A1D526761A0E6BE96B9F047FFDAA6F613EDC6A71015E290152
-CBFF6D04A60E5D2C67124E9277C81491857F4E8A91A8625B2D7F65389884203A
-A00807F0CB153218691E5242A2F1D426C71963CAAE3A8B66A98242CBC87A626B
-4E03360FF12372BEE3A18AF99BBDC5F9E56B318F7A4755465127D2BF12FAF1DF
-2524610CE3B661C7FD02F3F6F1D20A774663AA4202BB7557B3A588A015B8AAED
-18D7F333036044633515FFB6C170774284C41FBB81F92378E28278BFA6A5D462
-54B0184DA71562BF503200AEE12307C094E7ABE4B2B65C326D19AC9D3236D1D8
-575AF37A0895405AC8B69924479A2A9CA875A2A1F2CD60CAFF96801C6920510D
-E383DDE8B8978F439162E2831059FD24787A6FBD67643F518CBC03A4A19C587F
-892A9D779AE3EB49C5F49132082496FE5C51EE023058831DB014F05505A06BDA
-9FADFEF4728C77FB0EB4C53B092B814365B4EEFF64945717CA8F04C951570FDF
-9FFE78705B7D04F95F8B809F47542C5C146102EC25A4F3FE9BEDCC2E6B0D9F0B
-280922957C6FA08C5466426B21A463AC0A58ECF1FDCB614744958F587922D7C0
-FF6C9D064F0249F787B557C839209A1821FFC3C0148DC43A4007B3641CE7A81E
-BD84A3E7F1D833CC34ACAB53947438E6227668009CCECC37851C87CF92CFEF6D
-10538C2DA8332CCEB564A72DE4AC9556C96522BA72CA30E8F262D1FC3986BDF8
-A2271628EA21E84D65A5665481FD4794B87A33993C40CBFA59173640E89C7829
-99AEF9F0B5CEFE69848629192A5C4BFB2FCB328E575C4C523C649A4674F27EE8
-61AE251203A8A04A644F397CAF9D86E6D66C42847876FCDFF1136C5C9C032D13
-9F89B117E43970291073BCC5F53881A0F6584566D76FCEA6A3B11B29D62F2052
-E13F81005D2AFF12F6E4E51A5ADCFFE0ABA23EE2B5C9146EDE5AD5C1A12291BD
-273DCD88A6A1357BC40724B2D0EC5F09430999CE73CA0791142543079AD4A93F
-002F33012BBACAB4012E2A09C4851CD93613D02B3AE740153F8561170E48174C
-7B0B2467A62D0EDB13FD25D3DC9982551898B6165C50C7E305B38A7E7317636A
-DCBB266B44223632EBB9F3641A1CEAC90AEEC7D25B1689261C412D57063C4C0A
-C0085C852F22D60F86B39451B273E6C061389D23B4AE9E33C42B8B054EEA3D43
-409E6B879357996DF95438819CF168ADECA129D4CE1C804865F8E01D7B96CB50
-A48F4831AFB1B732CF04965F2DC5C04C531BB91B94DD37CD95A7D6953E102860
-9C4CC88BB318F9F3C42DFBB44424079639ED3FBB49CEAAE3080E0ADE6D6EDB52
-D8FAB18AD9F9B0303974584AE4DA03B105A5014AA49A54C46C0275B4639AE3D2
-0DF5BD3E1887F53F9452CB57A88800914FEB86C796E45B39CFC734B753C9DBBC
-5CE1FE38012784D2A12BB1427F9AC85954F76BA82D95C6994AE9916F4E27CCE0
-8014E12CD6429E5DD482679048EFFD5E4941BE451461C186FE241E7178F77977
-607237A951B62AB67D310CFC6996F6FF77D7599DC0148847B56CABAA543E452E
-C7A2C7B567C3E9CB86D6E899E9648D9EE3DDDC5C464EF17D286A4BC0C2FC75DF
-
+4C1C6C4D16A91AFAB0B84A485CDFC5EDEB03E8E93218694C5426650444AC9972
+98634CB73BF34252A72F838CFABD9F667EB050C113EB222A745B878098AD2C48
+7C6F0817AD96EDA15FB9061832CD91B4270098246BA8D5ADDA339A49DF0292AB
+6F7FE225D100F67F3DB412F4D95D464E27AEDB8B76FC8A0930E649E3EE380FC7
+6ECC654D9E901DD295F0A23A3CE88018A2ABA18977775D14695AC02F91E46549
+036939DCE6CFC8BB47CB297D9FF205F900A06DC9F65D2851C66443BE520954B9
+1C98471D8D7746AAFEB2A662A79DB89AC3B2DB327183ED0D4D52CEC819A49BB4
+7E7D4D8B871F85AD43A0441CA8EE86C209F3256BCBF4C4DDF209EFD7E70245FA
+E072B99F1F20D4D504AEAB512F477C9B998C466E01238F9E87B3FCC90CE1A90D
+4B1A422BA0C0293FD9F58DD4F18ACEA7029B88EB55A2FED83DEAE9F573E9FFCF
+05102DC9BD02E9F6D150F3E9D1DFBB8962048508B859CD190DA15732F8D210B1
+7665EED21506DBABBD0E2745D84542555C9FF9ECC3A8043E7EABD1ED5AC7B499
+CEFEDC3164C2C92F5D88C67C6545E9482E70E1DC2C32117ABF99FA7726A43956
+6414DA5B78F70D7A26A8937CB80A705C8048DB26F0CEBD5CCCEA416F19699DF4
+6443C056290A555F50D9BA984B4DA2A19B2BA12E39CAA1EB432E4DD6D2AB907B
+3F20B8A3D0FFDFF3258A7AF82A927CD4D54C2F56C1A2DE4C38F1ED186B7F0578
+33B918CB01EE5A839042AB0F740455F1E4DB53A21822CA65333855109335204B
+32B6C05D5BE9D260F4AC010996C7CD7C0FD3E5EEA9A66493ABC66E74CD096FED
+0175311C18C6F3B577E3C58BFB9A09FEF317B94AC7A1226DD67E2A3A3552CAFC
+4314CC03CF0B48320EDF3906F21621B2D7BEE3698299B70EE202F944CE2A903F
+6410E7C05A79809B5C875AAEC9A4205DDFC737B3241CD6FBA5327CBF30007B57
+4BFC1497DA3FDD05D8101438ED5BD186D5D8DABEFEA21EB2F25DCB60E2DA4BD3
+6E782FEECF9B0EBCB42E50FF504E8A40C0BE7C6A43DD5BFF2305518944270A32
+34C2D562F9B1A2ACF8C05E3FE0418FDDB10776C8F96B6DA2B554A966C76847D7
+194CF2085C9D9B729CF9DB043259B64A98F96ACDD926E7A27BD6C0A851B0FC76
+26B7C8BAB18706BBBBEEEEAD8B1475B1011A402EFACFA98B097B26A733529730
+FC03A63DB45273DF559D98450186FC0DE013CCAB58E0BF9B23858BC144AF4AAF
+584657853F1893F49595536AE79FE8576BFE7320100B1B84E4448B0399C4726F
+2783F9DAD23DFD164C8161702A2935C2588CF573F340DFD3DBE1E9B0D813AB8A
+C3B13323271662029F9CCD1FB0C45EF425FD4D993A79874B70E579EC97967FC3
+702A9C2F35B4429B48209F97693806A4D959E7831950E43972E39B38FF86AC27
+10822BAC05F1AE05177DB365E1AB065E26FA661FD8207A8FFA1813532E7EC30B
+D4E53E9A9ABD40680B88AFAF53FC0571E6AE27BC40A0F76388E5D0229E2E1595
+B503B126B7EEDCC999ECD51714D62F551A0B96EDAF1E79CC134782DB35684CAF
+6B740C64F3BD1C89C5AAB48948F52B2FFBC9B1DA9CF690795AB1A3BD7833E4C6
+C0D4086BCD203525410C86C67092B374C9C470E7945A283A16C13CEE9082F647
+3E2DFFFBAB9838FAAAAF0587D48409EB39FC15E666249FFE4A7F800FAE1F4283
+BFB8D88E617E66DB9EB13EA2D41D0BF78158FEB44337804CCB239322ADC61B91
+9419AEC7F3F21374969D91EF2B1A4B13E8588B4987D5C7969C53D292E11C2570
+7B0F5B31E54EA40288EEB3DCA236D122C5D18E8805091C8B443E7DA62C87BD16
+CB4701563393DD13E0C0E7D18B1B37A39837FE150D1A7EDFD2143C33B0EC4428
+2B80952D456CE5183432181468099E9C0B3445AFB24DE79A664BDA3F16B1EE4D
+D1DA546437D8569BD9EA0B561A0E7742A4055B8F921F02CE9A8DBB5442A9997D
+85626AC2847CBCC69FEE0FE0C50CD0063856A60581C78A9C06347A0F2DC39496
+81AD75A6B5E26D74EE09EE581063774F1831C26DDAF910BCAEC550975C0A7AEA
+F9954F1881DB9C496D2197ACAE6A8069ABC257C846BDEEB1D15943FC436B2DEB
+11A1D0982DBE0CFCBAB99F52FE5089AAF2D8E16D43D6D1023D4ED077B8C95BCD
+09C050584B5F1E65473083CD46C10294187FC277D8F655CE5586D6CBD8C2C145
+1F8DC42A4FBF99379C8FB8D8B5BF501BA6C77C4F7983C3F7F7AD4BB5CEB681D7
+A66EF51E3D222DD88437C16EA4CFD8B31C0644E36F0C968C76A7F2FF3C0462E9
+9497A8D6000A16BCD597E3000E9F85E10F0032708DA7B50FCC53D89BEDFDC56B
+7923D6130CF9DB95EF5CB83D01C07EE9B4A5EC5FEC0174DCAA262951747B6669
+D56F651E980237B5C7C558DC0807C3946DC1AA63F0630D5EFB998EDBEAED3900
+5FE4DE1A2AF923B42114D546F936387326B04626B0CD44A0DBFB8B083ED63200
+63AAA6B24E828A62F0E8CC307D1EFB42E738357138AFB63E60752E1ABE891828
+B55B19DC32FFFDA3C41DF9F05DF9239AAAB9F196BA68A763082440804C7B3AB8
+FABCD82C9F552F1AF2CFBFFA1585389CE5A2A5E984CE02F92A91869A5ED0E039
+5B3F9D7E1FC7A070FCC41F92031F5107470AA90D7B535221A748597CC188DFA7
+DA68616806D95752FB176FA137E23517467EAFCAD8FDE4E3733D64E6D9758DAD
+6217A2A3C08DA70DC64383B56260575183A08772A7B5657501ACDE1118C5BF44
+9CEEA3D86F0FD2B43EFA5B8F1F58F99168683B393A3F9E84EDAF1D4E92398812
+1A0D12AE549B3557D0150CD0ADC04DA4C5B2D40E7C64C36A26896D6B8401B48F
+779C3FB593C2A9A983B533A7C99C9E43BAFA1FC9AF5E65516D2DA32924D352E3
+8371D19559A6FF8C311332C473BE41E55113C711C6AEEFAC9AE3A7CF0011F531
+61C693860994A44793336AA158634D9D756B0F98FC5D3E6826C71F2A1C4E1175
+EFD1047D682263F253E64B0E6119C09CD02016FFE5D7D950C26829B6F41B8798
+37A467DBC484991D9B523BA441E405C395E5187B6264D74FE2E3E82910BE26E1
+5EAC9874C77B5EE2D354270ED47A774CA5674E18F25F4BE6755B7430DD7F39DA
+F96CB74DE9C91B00DCAB75876D4586721AAB696EE3290D9F05F39A01695B07E1
+7DBDBD379B9225C291549E5D3C4A3D95B1ED277AF176890E32B2DA66A4DEB9E3
+1DA246BC679C12E6E2ACA3404A185C10F21721E71D84601302776E36F444ECBD
+BDE861941397E6ECCAC4EBE71CC0005266E40AF949FC001CE132B71789E0F037
+FF3B56690BA309F623DEA80351B1E5800D809790EE7C96DE82F264BBE9AEA406
+577009EB689F8F9EC15641629C107D8986323703567B547110A99DAF7F16C623
+4F3029BC7E504B4C37B646F9C49CDDCF2DAAADB748686BD9F6D0B2EDAB2051F4
+DA20EB487266D9C55F9F5767EA899C0BCED7720BAE6362A7AD81F5D45F6A709D
+3A27E50491A46CE17E585FBF9EFC2A27FFB50F00E4B05138C7D4F45A40B39E7C
+2ABB5DC0DDEE77E4BDA3901A67BB93C52241384FCE35EC11F67D6C8677C9F889
+F0FC365893A10E11CEE5CA0155064D8D2E98699961D9B26BE86D4B9A5E2786C1
+3CF260A03857687EA6FBC83DEEF840ABCE7ADBDC897CE6B06F6DE55BF3B8AB6D
+777293FEFC61C6DAD78894C873E162A5510A036FFFD9A10977CD627AC3EA4715
+F25A263E6331EEB9BE68DF97C946840841EF83204D9D313202C4ACA7BAF94050
+3B420EBBE797566277CFD3A7FA1AC6CF81FC24E6F336913F4A183B93BEB308A8
+4AE0CEE98B45B2C2683CC06374113AC12F79F98BD19D67F78E2EA586B518FCC1
+4C8B5ED575DD4631BCEAADABE1E9742A364C0D149AF83FD9AEB49EE0E12B08E2
+C4FC73A08F572AA40B58B5B44151974DAFB1FAA29B4D74038519590ABC83B0A8
+A22BD5BD843FB4310EB1E6552B45A5C64F2046DC330559996E77FEF47B4F2062
+3DA41A9E030757F4957BE97725F1DB6FBD15F144F5EFE357FB74BF758AC56A58
+F0F76D03C776F4CB58D7F549F11374DB4E2DF6A8DCF76F0EB394EB110A0477BC
+65CEDE077AE2D013A8E46CC2E4F0BBBDE546801E24FD5B9A6A4935F4799DD803
+13FAB011EDBD4431C31C86C4D26C0E729A067C2DEC602A5D884F43BD62EBF59C
+F552152162E45D18414D77DB32069C5B3EA64F465D6516335F3D243235FA3524
+E88FA64170BAE32117A35A9C7629DB90066A13160727FCC45C0BC95145AD8913
+075D28ACA02AFBD18B1A659C1DC229D0A6196A308DF639A002EC3A2962B4DCF1
+E9766188B7FA2448F7E3851F896CCE35E5D8644BB33D6F7AA17B3D2E03E2BAC7
+98B122F7370B1322D0A0CA0213CD918EC84EA6FA5BD45EA3B0E1C8EC168D6AA9
+6F6D664531CC8960DB40327B224F12C487FDC6A1E7211D90612B36E02FB7BE85
+36480D2293549DCFD64BEA4DAF4E1281E4FBD4C006C5200BB489246A7EE375B2
+A10826BF9CB311EE708421044375DB5F2165E4E07601BF25A1BD569C31A44CE6
+7E92A0E99939283BD2205B28808FE42C97DDD2C5B6ECD0ABFC114A3244B06213
+21399570C91AD742C71818F58AEF56EC10F0ACC62A20B1F4B9EB01571548218A
+CA7D6F9AD9B97D5D03883B8E1194C5BCAA032BBDA9E71572C157D65AEFE2EAF6
+492E40826F692D743DDC26120F0AA543E72E5BB697EE138CABC3295CB819C08B
+91F4CC16F5D3FEB1E839682CE56588BFFD94869EF54E061340B5E72257C4901D
+BF10C71313A1B9CBC7F7B01C746E9E26E670CC7EC077ECE404425EADC54BCC2A
+5854CEDD7563502EC2FE222F66BA55070448D829E3ABBCD360036C0B615E36DA
+25911D22FEB2BF2C7D948AD56BF70822D30E4A4B1DEDCD6B531D195D6C7BBE0B
+201EC0D8B0D68CA66A79C6968BE0879183BC145413A31466957A467B898778AE
+DB9D8A1DE94A5D3FD3DCDA47E121F82F84BEA873A053AA9FAC7D9433C14BBDAB
+FDDF6B0A4C73259C8CD62527511025A0B09F14B9CBC0F61A2231A002F8A6B63F
+4BB27CC0E6B9CEBDB49561C8BFC5CFEABD91C3BFBA8BF3C0850668A6C55414FD
+E3C4D537DE8DEB01A71592FC464ED5C8F43161AFA5020345C1624580F54DFED8
+00F8BD0C0BD0D33D3EAAD0896415FB3F11B6B79FA68DAA3A7C4CED48F322292C
+F56F1D21FB55A1ED75AC0CE49334CC8476E08E2A7C3A44F09CB8F78ECA27C5FC
+8DE7AFDA8EA8CD255CB0A72130797AC2EF0F0EF4BB9EA369CD72C068EDD01480
+8D8D0B6292FEA04E936758B4852F58FCADD8F9577D77CDCC7DCD3C9F0FF70EAE
+E676F83CFC7E5124D4A3DC3A081A5AA9AE33A2B13B416E5E032719A388955CFC
+2A9BF6F6D8CAF1D17A86E0041ECF792C4AA3D7CC7A962632D7B4C922BD792BE8
+14C684F6ED9948D2E4291036E2C8A413968B23287A0420D9E141952401E4D1D4
+1CDFFBEB8A5FAEDF20F77FC0BCBFBC94AE4CE330E93EF85E70449F662A4C9C93
+415406EA2619735DDFD879E27F9F90A0950B5508F333C7137DB094F9C3E2A648
+AC37B7849B07DCA55D5FF6FB36481FC33D7568469542DECE246F3D48C812BD27
+4910E2B22CADC88C4137A9EE44CAC9ABE9BAD8C73B3C6FCE1D91C6D4AAC76057
+076A88787D0025778E825B17D74D11C8FFEDFFDABB17E2825EC0FB52BDC32F05
+78E1C412CAB1C4D808C5B49D121E5B63914EE3766C2DDB8093EF9DD5269642CD
+E5EE962EE1636E905E62D4D538B595849D14E9EDC126029E2130FC68F1A9EBF2
+F48AC67C7125770DB92090A1E41BC52F6EE7AABD4750767E392C6BA0D751FE90
+AD495954AC54FC1FF8A10F1554DC479404264922F0364071118A9FD48B261653
+65B441634D4CACBC1BCCBD456F9C581EE3437C57039DD63E073E0D2167501081
+485856B43837F64A06A9FB01716D2A175F87E084957416CA9AF22F5B203BFC99
+AAE8C49988502160C91B026E2CD029A8F4B22328FAE0D7D31B11523FC275E7D6
+7DD48755D43734110A4EFFC4423545022E59FE75186D4A7164377C6454F8AA41
+23D5B97851E6FC0921AB5DA9B5F8B2C5835C2B6BCD8A0D02A020D7CCA97FE4C2
+E6DD5823BB7E113D31A8DD39E0BD931C56FB6DD818404B7B65B6056FF4D9754B
+5F70C9A2C6FF8AF493C037DCFEF55E8952E50E2617D9A49C9E7AC63F944C9517
+62A46F6BB0964E04C361A567B8ACBF9CFC369A7080A009EE679C25613953BEDB
+F96973E3A1DD1497C6E376E1029F3FE570E42F977C36C94F5FD338F243C66D22
+F2AF9FAFBB04047A789EC6043C2EB96C21450B11D25A59EDE8825F10AFB2ED99
+55FB7FC704D7B19B43329EE34919221EBB323A3F7AA7EFA10AB170F84BA486A5
+B14A49211F5D83510E318CA55344C80749364D0C523C8B65DE96C6CD673C3D79
+47F428C0C783810BB54CDDC6A4409CC57C9B627E4AF6B44EE83E516AF8FC51DA
+370D4FB0A41B35E868862A183B20114A8D8B577A4E1C274E4CD44875403AB236
+9AA6BBAAC8165DE9EF789151A96E8EADF67AC76E073F9E6BFECCA0BF75A4EDD6
+17D553C3AABCB5C5764405AD3C94D8A54517313C35624CAF96E813947DD0B1E3
+6B76D7F2D089940304D378255DACF0F0CEE0446C7158BCBA554B3B105B3A80E4
+DFDD9A41DA6D6BC69A6BAE21C37C4B25FD255DAB45BA1D5512FAB359C6459E1C
+665A7BF9E073977A0918339C1F8AC3C30D4D74EC97C66DADC47C9012C3781609
+F850CD086B04A1DDD9AA28AED8122A02C24823234FD31F396A192D221E3D378C
+E44B2200B24CEBD1682E9C26D45A9323A37E48EFF65424B85846D64D563A2AD9
+E63292B1485F5ABAE4ADBF54EA065C5048441FF0A0CBB10D480936D364CC5654
+BFFECF0C2A38489557A84C5667C5DCAD5A4E3B85F3AC770D81103ABC1965F3F5
+C9C887FB3D7FEBECF64315D2EC133B7469263ED10BFB9B4950E3AED113DC74EB
+9F381FAD3560B5BFA876AFB34E9BFEE12949063943EEA5F65A4AF4749B0E15E7
+010CAA9C7C6CA9EC2E33D2569D7F62B1FB528C5B5BE1CC6BCF217FA4E1006A0C
+ABE037E82F10FA4734FCF14FB4E03FC40CB23CB5F0A0E9654B10A54A131ABD54
+F610C986E1D94AB28BED44BB9ECCE0AE22EE9380B07B01E785A5292EAF8FFD39
+622A7A8EAB9236422239A0BA57ED81D4E2072A299A8D7CB76848606C90B9C06C
+4E5E54E967A77E2EC1E3694370311320FBBA2B2B9379F3021D5A99EF9A7C419C
+2AADE194C437EDB906B2205F0A412103DC40FBF93579E699A67BDA18858C35A3
+72F73E90D030C6456B59C339069F144783EFCFAB14E7159A8ECB9B0C80999B5B
+32E6F3D330DA167BA5DC3558012C0A32521904EA86E0503773D1DC35D512E77F
+E96C604769A529E4F66CF17B3612A687BEFA09347A37A4B595FCBD63187138C5
+FAE7BA4EFD0F605652D6658D699049DD525D682721775FEE095C45F52E0193B2
+F5DFF39F9F1CED442CE7D351FE3DBEF0019F65343EEBCFC149CC82030D45DB3E
+9FB5F426A5DCCCAF9AB592D7A5A793F99E259E3220A58F9C901E103D7CD721C7
+8333F4519F3926D9056ECDB3E84C6870447ABC0A2BF1A32A5CEEEB042C7553B7
+90A130CE5EE0289EDBBAC28B8F11D3481815AC6EAC746F45F7D72A262448DDFC
+F1F4B5206D5C331AD195E7BA74036C74C5B84576603E380AEC07062FE1063C59
+3942E6D9F19C93F90B1DFA3EE57E4D5D527995EFA611D32EE1E483B81056D3B9
+30F1D2DF8AD13A88431539774BA5B148E4EFBB9F2113C54E2831ABD036663D0B
+6B75B19BB681CEA9C64DF48805EB4AE8D8CF7D102BFABD9D99BA8574FB1000A2
+586F547090315593FC6F3B2775770DBB7882425AC88A106B9B04832A215FD0F8
+874F46559EE9834EEE8CF349C7A2720E27E52C56DFAA696EB697B5C0D105DCF2
+CCA41D62200CEAA609E9412A57E84C43AD67D30CC5AE207552B3A5173A90E50D
+9C7B16886BF6C07B49451530665C8684A9684D17FC0D6434DB503BD770FCFBC8
+06B8AF060E05C9111375699E6D898C00BFC9AE0DE977F13A23763CC5814A1ECB
+9CA65D863E26885FE22EBFC256918090E0D8EB3267B8DDD9F03F1469E97A0DE6
+9A6A296137DBE9E3BA094A4372AA30EE525BA638DB2DE2BC600175CD87B3421C
+2B60FF41FB2D3CCBEB7C1D12D7A618C2781155DE1407F5F5
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -479,17 +474,21 @@ dup 52 /four put
dup 53 /five put
dup 65 /A put
dup 67 /C put
+dup 68 /D put
+dup 72 /H put
dup 73 /I put
dup 77 /M put
dup 78 /N put
dup 80 /P put
dup 83 /S put
+dup 84 /T put
dup 86 /V put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
+dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
@@ -499,6 +498,7 @@ dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
+dup 113 /q put
dup 114 /r put
dup 115 /s put
dup 116 /t put
@@ -532,177 +532,198 @@ E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7B00AD58FAF645
1297991B5D01701E82228D0313FC7C66B263BC79ACDDF9AAC48A3CBF42B96E38
583E1D059953076D68148DC8B6C9527B3A74CE7DEF788A11531F44120BDF0F61
0B2F3ED94EEBCDE4ACD23834C242AA4314B9EF98E4BE72DB76EBDD0A028CEA9D
-B4C38C1F2D24B8FDE686832FE96204552C820E45B6BAF0C3308742AE2915A09B
-A12788A5A1902F494BFA6D3D8E7D3F247857FBDC4540F34844BC65D4B95BA35A
-4F0AFA9C4CE96EE03CCFCF9CA4EBC6C562E1F3E255BC13F242304D2019088305
-B61DBF492E6D6136384D2A6E5DB9977CA255A5144EEDCC88DB8C4F8A962CEBCB
-8820C4B2BA034431339586A00D582DE8E623C227E39AA7455861809AFB5B6725
-214F6A31E583060D29126B4BEB7F3E9DB88F3B7568BCC18761BA1995D31088E7
-6B633C76E872625E262C1B5EC1B86824596D3E7B73D46524F2C64F624B37672F
-B98FE7BF6BA0771A5C45AE6C8B95156132401A6005F05C5AF331FB7FB21649BA
-77D2A2B3D0AB4205C9BB313FD4F95323B347952D94CCF1455BB06C97E45C7A14
-4424312D5A29CFDBF5640BF975F750FD315CAFC2518F8D1B96D06085AEAE3AA5
-A0836EB2981DC185509E92259B803EAE354CEC33CF5EE258D0F22DEA8CFDF2A4
-41435BEC5495D7E9295DCEE136F8A69518F66E7E1220047737F4ECFE88A89D43
-1FD914A871426CE539F372F47A12DAA25B5C8ACB0B1CA9E3E47DB88EEA3AB3F9
-533244271F81F4E45908DE031CB50E876DEE5751471D88CD1117384D518F9A6A
-67C2E9306984D25A0D808FA9E308BE3BE429AE3CF6BBC013C121C9EE4597E836
-9A62BBE57CEE474B996DB26A0A35D7CD339EE00273CF12C6666384DEA793707E
-94DB72AF6A07AB8E0C047618C79180FBFF1A7C7C84EF3D56E8B7D521D2615AC0
-9A558E1746A8A1C375A87CA6F8F529B46CD515341310406DC41929FE41837A8E
-22602E4B7BCF7421AC4D329121FBAB7F802E0D40270AD04120D48986BC2A8FA9
-15FBAC42FB99905C97867957692ED4E90822F6EF13756835F75B37125AFBDDC1
-A8ED6F1710462DCF7D87D6D1F84AD9FCF790BC0E47621CFECD1C91EF82CF4986
-034D260D2ACF63B68925EBE936A9BAB8F4DA734EBBF0ACAAA1B9EC036FF90A6D
-807A3610D99985AD47F2BD5646F00A28351DFFD538228A168732413F4608A1A8
-931CB80EF0302C85F15608C6F40E53CABCEC3B8CA324C8E24765A6990A9BF834
-30D641CF15910972C77FE46E152B3E7B1C9485C7FC675AE7D1D90C49002E2DED
-CB340E0BB0F0184DE82E5956F51A3FF7CA41874340C84D1225D96967AAEE443C
-A34F5BD186ABB1394B72EED0F74366DFFAFFA5F19BE3F94031E9169B3371EF31
-DBE3200B562C3F12BC36E5E9DB16104C392F99BA4650A218F0CFCA1C90121937
-BD17ACDCC2B6C55F2F6F549B9B0DC360DFC3D5F794824B5F26B7F2F6CD718C34
-7F118DE9CAD13828CAB630D352FBB4BCE0C225E1A3D42CBE0DA8518324142F9B
-B0CA9EFECBE9EA815FC28149955306A47042C0AA318519B1EED1C7B01454A6FE
-CD773F7BAF3F51AF9F13B3782818CA3A5C2804DD50614C6EB270F5A5C0DDF367
-C41858958DF6CCCCB7CE8A81CFD93EFC0784BF65FB7D1E55B1526F38C1E9ED39
-CC17F6C201ACB98EC46671087268C47DC7772A439F8D5206E3B0E80935E67976
-5402CBC80E1A5DC8B6A421CE93586B43B5CC29715CD61978F1CF6FE34B0DFE9A
-B51BB37D78EC728B1E3173F530B569D2847ADB7208DAD920A59FD8668E62054E
-393A34FE7E2A06C0566773D831C87344D0A541BBDBDD53006A029C6A4815254E
-F8111D5317278FFACF32C4712B1924241E2BDBBB8EE0F1995DE94D5C4A5856D2
-FF3C00D0DB758842D4A7581B17AC15BD99A7EF1C69E043FE4AED459DF1FC8A76
-EE42FED525A75C0C05C94B72056988BF0652931EBFDFF7538EACB751238BA690
-99D37517F55E7B51A8372AFBEEC7465B40847FC294BCDBACE9A84C9F64F3F304
-79128F04FE2F0C6B45C89322957F508732FECB82A71C5BA228235B321C1C26D2
-098EA9A9E80D69CB5320673B4C42E117904B6BCE2314E2013F0DA105952C4B55
-5E9A559D3B20B2BA8F10C648A921F12BD4D847F2C917980666523A7985BB4076
-1DD934E6D8592E778801CB4FA60633895B0FC107FC84DD7BC14D361EF3D685A3
-BFD5CC49728D51558998A83D8E44E4023F67F22C38AE900A240FA3AECFB61B25
-48F0F63829B80DCE6F2CD8CB511379A51B07D7B4C3DE6645D2AD0087BAAD264F
-C5D813919F643CBA8BBF5B4C1D8E7383C1D8226FDD7470DB44B3DF510E150D50
-F17355FDB0EFED27C75CCCA0AE8D0A551DAE084DF67217BD5ABC1CE98F932C57
-83C9013D5DDAF5D68D1C38B486127790B6A8F2AF539680A96C7EF31656A149D6
-05842DE224F392B0E0E3B7841157BE75C1F35EF3D32F8B8324DDB7D77DFA33FA
-C9F3142382E0049F932CE7C7C601906CE81FBF81973E95BE2B6E26C067661047
-74CF8CEADFBB3BBC1FAD686062A0EBC3676EBE907778F70F9CAC563DD0218CA4
-D26416F847843A394284F6C5810887881B438226E0E60F9A792CF2F8943DAB78
-132321ABE20FFB45DC1632BDF5CF396F3885D512A407F74C8010CDFB0F61FFFD
-24F18110B1B3D99E76065AEE72E1D98A350E5F1C482F102F140FAE73BA1CA62F
-5BAC010827EFF14EC650FC2D4DBCAECCB7E034A7F1015AFD84874A48330110E1
-57CEC833C6502AB566E33EEAB696E669F175EF05D7C405C2E2767B6017BB33AC
-61AD4E0F520FF68B59DBB52201C26989667705F88189969D7903669FC291BFFA
-8D84D0F466538B4F5CD9AF03D028A464C6914F6F7B5C1D4959A91681F7A6EF90
-D8A6AFE10597EF38BA4EB58D0E77DEBD51E823AD0FD477CDBAF3B6499B47391B
-CA8AA2474E50DF4F2D5A5028467B39014A99B772651D8447A7AC2EF09E795C34
-1218701D8596E694B1F46CB61BF48FF611D80FA69F930ACEE5FA73595546EF83
-052FA26CAA646687EF28872EC6A2EAC7BF2359BDB3B6BAD945E4E370021EDACF
-4E746D19650B669899E489798343584B16CF0C8477561B4F5F3B8D4743A88150
-0445F3282C196F965362E9F4E0EE4E7ADC0CF17369560B8E436AEEA7DD429EEC
-ED5230B964B94EBEA505D6F6B7AA52F51CADF6CA6A8AFAD10B85C9D76C2CC4C4
-A844C84C10670C6E4A4D0B70A638936799FFBD9B5888A4E308A0F20027FEB3FB
-7293B0CCE62B601FAB1B0922641F79F615B57F8721D1BAC5C50EB0AE4418DF37
-2AA06A808F0384859E6910113BA86FF93A40388DF2E705A466358E5B08C685F9
-2418A2FE3168219D257D481758181ACDEBF81F74536C2C154112755E38F5D401
-8ED8CF8FEBECEE22B1DD66C5DD28B455294D978BE941534146C470EE5FB45DA1
-64E33C317D0810287C37C72C3E317D2BA1C385EA76ACB98E37913E3D26E7BD54
-0A52424B9B595A9D093EF089BB9726A72DC6E1B8EED84A1BDF9DD0947B2AE2AB
-37794E6CF24A69C0B77251163F3A21C77E9EA774E9E7CA702AE8187B7CFE6D30
-3947050FF3CCCFD25B8BF14748694B20B8536527D1596167F965200AB78F9C09
-1C944D90F2C470AF23AC6BC055FA1348E7AAC9F0B624E3FE53439F2061A367F4
-61029331EDD288320882A76BB5C661945010557C36DBFBF54C1048350C0EA4EE
-B4B8D8EE4CC7B2D06ADEAF453BAAC7D7D2FA41ED42C83D1ADE2DA521BDAAA26F
-2510B7B33804538A29476DAA100888B1638AD23AFABBDAC2BA37E6AF18005C55
-4AA3C6677DF16E98B5850DED745DA7E5E17761F70D82C781D56B218C1AD1510F
-A9E184124A013FB245CAEFB3CA3D57196A0D908E74AC47DA641FE5A6331E4F3F
-6720587E1F9C959E6C1B7A8AED923539A9CEA010CD4559C138373AB1E9C9CA3B
-E5297FA4370B5094AA3CEA1107BAA8577E3591EE397452E4B14F42FF4FFF8A7B
-9018095BDAF9BDD70E85F64C8AF18B03803D09B9FFD8CBE81E4EA0E002B50762
-E79EDD86B0A6F94F6BBE0743BE11ECE0B201DE5D6B8FA55DE07FBB31B6DC2BAD
-35B10D25F3171FB55DEF60146F05ED67DC68E8D330A1813016B6B86356367152
-3ED8700B1850017301F455C98F35DF1B671E298EFF48C41F99ACE3B38610B5FF
-3BF9E565F58E253677CE3548F44E4B172F09091031FDE1F15144DFA5B73D381D
-593CA2F5EAF3865D0441A0834CE4876529E987431B97D8106A7E142539915A97
-E3C4B7FFD8E875412FDEFA2C5DF87992579065382C37979F7EA82E49436E2B67
-ADD4399B151745044E954C65ACD562C2B4B5BFE82346E12FBBD51433B5352C6B
-5DFB7F60DEEBB2ABB4A0F83EA50D7521AEFDE06DBA97949EEFD82783437D8185
-F1BF6DD4B1A304309AEC183B3F489464078F5DCB7E2E10950D9569AD61E48431
-BDCBFA4F5C3E4BEC92B897FC608CF5D0CC9EB4DA20B3955B6515D0FCB5B9A14B
-BBD0BA78933FF2F7CA45742D3E4A737129B07D07BB75E5935D590FC2305D0E24
-56E127D3698E7E5707CF3F889ED2F4FD8B0F4BEE722D5471EF33502933994B0C
-38EF96AF355C867C1134971964287C35D6C6DEC091D41941897805A4BD640DA8
-5A1EE0EBCA306FA06F7DF297F56C5B762D65C64F3E09FFCC7AC6AC1FCC45ABE1
-5696161E1525386190A694FD8FF3A314F15F3EE1204444B405051DEC330F06DA
-B6C430719F9089EDBF3B7B87C9A79ADE69387A210CD2F25DEC73B69E0E98D440
-177BF4C1F7D95C1DAA65C143A3B50F532960A711552B3B3A664E85ED5EE769BE
-E27198F0866B6B97341C3569E9EFB810F3460B10D01CF84798A004F3B169C5FA
-03C5A9AAD13BE27C78FA481A8539822E3B97E1EAFCB098C7C131CCB7E3B8DC7B
-40D0600AFF86D35501AF857C5F2BFFEF9F8CC5E70B478635BA62CF41D7081522
-A1956B8E1AF4CF2CCCB1BADCA9C2B656791198D25C2249BAFEA85D3178F545F7
-5782FE14CE478EEBBEE829A1B73E157A57BAACDA1185E40569B9A5F82C29F998
-4B4FE9E1EDF618A714355CF947298BCD5F4162DDF08905E8A27863D324F7B598
-3DA6C24269C1B9F5E1B1049CC5B86E55C8F7E6A816EC019BFF3B6A4870E5C776
-B26ACE6D4DC00ED3B51486E69457320275E5155B689E951C23A544416546E11C
-580D88B0B8F9CC0B712825CCAD512E24B590DC3A327FC4624637EF4DF869F53A
-D7B781E7D3807966291528E3A447D43A4ACF73F2C475011EC8C43E99677EFABE
-3A902171662C985E3D21175B7A01E0620C76285EA215ABD06DDFA202B4FB56C5
-7CD837A0FCC7BFDBF44435598E69135FAE21889D2351E1BE014BCBCC2A24E50E
-21E1D6B5757A897E4DE82499F0B5073F4F0F0598107F153E50CA26D4445C63E5
-6CDD64EBCA3404CECC59039F2CD88898590ECF67D522000F1690A07A940DB07E
-2EC618050E3B923BEDFFE2761D02B1A047E664D316875D687C0ABCAC419D5492
-6BF9EAE9B9EA86EA63C7C566FA4B34B534F57DF58C2D83E78A1BD15169B15F27
-7C58BE99675311AC1D8930027CC7DDE0D4301A40872C56F2ABD153CB90730190
-8655ADF7ECB69CD863DC5F1B27A9F54A24C478E574CD45C4443957215161CB05
-300F59ADB4760F996FC9C0A62E4E9E58C5AD2FB5622C53F2F9E8285F777F82CB
-916D9CD0CED2A1169D16D06ACA8B1C55208E0204C79A0AE24F6B0CCFF61BFC1E
-783EDFFD4F9DF7330A516FF2D29C05340C6A3379B0A2C649C30DDFA43FCFCCBC
-44F53A5E50B6F4413263987D70008811E2BAECD443C2D05322F7EE9042E96FCD
-F4CF95D4242CB77B053A6AE89C25B4B08C2F9C89A11E887A7019C0454F27E491
-0DA1DB2D069FD3D879D1E6421F3A25912B7690BB66BF72150467399B05AE12AA
-B4828FF7632A49F67C079511711DCF4DCCC3EE292D5EDDDEBE2EC1C1502EF58A
-BEE3A1D443722E5E86930EF72183C9C4B0CAF547FC31209DB9DCEFD48165E7CF
-0E2816DA8D5B35F642805DBC1641BFD6A1E09DE581B6B76994BFB99F1EF25AEC
-1C38E9C80F840503ED1FC4657A8BEDF3BEC6540494FC58B07CD67FD8F4BA8827
-6614F630937C98EAA03A91A98BF5EE4DD7724E6984BF91BA75E54D706134EA71
-398066671600EBAF3DCA89742D0B4C9689B796C0B9884067AF329E44AF3AED93
-3C7B9F59DB76BAC6B4850322D8C159E6AEB1DB9FD3EA7273C6850A33F4FD2782
-86D7EB96B6D3AAF6A9DB4E9DF8331A728AEA9D3B2AF914D2FA3DD6DAA70B741F
-3420D88B36B94B92EA17DB0799A50025188B163FAE205713E738E1B50A33F3E8
-0F232F9E31308C032468024246ED7322E2E44E127479981B71A289E7A1B2110F
-A13E49E97CE3EAF20ABD1797F23D4A6F236EEE5DDF150F9F8B01FA044B8F95B1
-3EA5A8670917D86885E8D4FE191703A715BAA4BDFB42E6FC96F76E11A5DC5103
-1F04FDF57376FB321C08363D23CD59A436159ECCB2D90238D534D94D0AB51538
-A114390A7B0B9219B0A25ACED84E6AF2DD2615E2A227A2AA0C1ADF3892B04FD6
-52A7398644884CD1A0470FE426D477321622AF78F9489A88FBB451F6750B5ADB
-F730B99397666FBFBBB1551653A7DD2726213C063FB229149BEEC49504BBA968
-8FEE705C67AC73DDCA678946A63AF615BA989DCD2D1CEC0B73D93AF362CF3259
-69B6E3F7B77BA7143E529B5A4565A8490497B59286A7F3BD3349AEF709756891
-1F6BA1F9F1E106BB4006E0D6CD39B34C3363B2AE9FB73C47C34B5338770987A0
-55F7145AB5ADB4C4B3E4E73910CB6AD490077E0C4D2B9B9DFDC74949F73FCC33
-4E3FE1ADC9AEC94FA920EE6A879DABBE3550BFD30DE58DF1FA30DAC830056882
-B255051AF1C48F34CFFB643E8D6C1EC37008762C6A193B70EEA3E157F2301148
-D3AF66127B7149BF9B08F45FA0EA52A62CF727076DD48C6022ECBC3DF62B903D
-2CDF07A03190E6A5F22D6775591679A3DF86AAD0D3C847C5B61BCF1DABF43D7F
-F03588B7522B74003A5238D41B64BF814025AF0A23625054E9B3089D4E6154DD
-41BF0C1D68B02302949B41FE36077CAA9B00893767FD86AA96ECFA637E43197D
-FC8745EEED535D6FA2EF28B88183E7F2199ED48A6F61D922FAC699D3A2D7A5D4
-153ED07AF6AE9C8142CE930D8578128953FF64A171701C1CFB85A9407746CF1E
-883752EEE13C4EBC089C9F1101EF883F83038E0E102CA5930DA73319CCE2278E
-7AE0399D0CA7CD2E90DB774ED85CD90E6291E76FACE0348D29E04D9F4F3D010B
-3605BDC8C24EDB205AC2E9B5EDBB05EDA1C1349CFDB709094995F159CE103D6D
-D62440C81EC82860482CF929BF782C689C51EF2A4AB3A9A8F8C5D25B6500C45A
-3F7FDB6A1F654F5E87620B3C5AA54FFB94FED800F40D228ABEB4EC38730E44C6
-E463FEAFD08917CC8DBD5B364B5147D54A2A16C1786CEAE1618FEF9574486DA5
-D2D56D77DA346D7CEB1C219BFA3AAF3BDF6443AA22D0E7C8D307753FDB189AB6
-FBC22A2B3DE149ED2C200BBC62EB7871FAD5D86CE4E82633E588CD6568E686FC
-EDE89B1FD804D16B537BC4D282B0DF790A04047C1480C8E05DFA4BFC3B3859E8
-64910523F14519019999516DE6A9F872C8CA3A340357BE6E87F8889BB1303511
-74F0E0349DB0645E09DFE2AFB71E4C73479B3E7B8A9BE47E0D9F944E613FE840
-34D9D5EE3C64EAD2C233035917F914DD93C94DD4462ADD7D03671C573CB07A5D
-45234780D20EDF94911951355AB2800B42E87C84712311FAEA48DB70202C8AD0
-2A7663903F9830C25009E48B6E558FE68ED56BA54F93570A14C1706A47AE798D
-4613A9CDA2CC28C7631A1DF4F5276CE1B274C9860C6C076298C38C9798D5D35A
-D1A7887B490FDEFA656CF8B6626346173050A75D207DDE3F51C7B8F95639D7EA
-05DFF8
+B4C38C1F2D24B8FDE686832FE96204552C820E45B6BAF0C3308742AE2E064C03
+13C2E5064E4FB036548B136509EAD0CE1430E8DEB4A519BA4D453CF1A9D08C0A
+1370543107E6ACFD6B0EA546D6AE20957BBBD632AEA43F0D35195DD85E1FE38D
+9232D3F01B25A601E60C7C08210899521C600251D5A7DE2EC34DEB235CF6D122
+C41907F1D0A9B6E6AA98A95BA8A978B7D3F0275FA21137935B1BA53E81AF302E
+909F22939F91C57C2348E8E085DF39BFC1EA7921A5EFCE7C6ED845006548ABAC
+3B1C34CEFF31F0CA695352CF3B5E0972F82341178F42A34B85D8F66DFE822759
+EC1CA1BF94BEC645BC4D21B32EB2ED15D19EE2856D554D227313294DB0B2D9A8
+C76A7C0D9591F95741D80B45E803788990332DC2353166D899AB085729208770
+74483B0FA3C2C60B3423B162044839B6FAB217AC35C6387DAECDFBF8A8A737FE
+185F2FB4C1541B89B9FF8B93E6CEF5BB0F9B9952AACE0ED10928DE45435C4B4E
+E447F1AD61592F900C77FB7C72E64A28403AAE2F4520310EEC70C446537DFDEA
+DF4359CA2CE513D87589CC631973179DD6E1AE23E53921FD1A841A90D38F47DC
+30F66556F7BF1E05CE14DED5C7089DA72C40B4C44FAB4605F96FD152371B93BB
+49C5AC1285CECD661945459A5EB53015D07E10BA67911019F8C84A8823A7F4DC
+A995D8B1E661483BF883F7463BD941D5FD7C350291CF305C9B2CC35131C324D8
+CAA9C155DFBC1150D23EA3AFFACA3FAC5D71CC3F076836DF36FA334FD94D06F5
+4AABC54D16F3AA97F6A164A3CEE5F8028F740300097018E3462AB81577E2497F
+3BDDD1A974FE984B721DE8C6FB5D2831876A1C8E1AD143451765E99EAEE82DD9
+67B5489546BA5CEB4CEE8171F3964A746699FA3054F85511B71AFCFB8A6A143A
+A9F126C167EB2C93D0CA1A648DAE70979CFF590AE1417400B66E1FEAF388613F
+9451F520BBBFEEC6E50BBBA0177FD5430AB47BE66761F490537C03FF333C7821
+61AD6FCC384F6A5F4F07B2B1DA50B3EF8FEB9A0C73FBA743BE8695F0331F361F
+F43A511C8FEB2274FF1AB3713A60DED4EB43A25435F5519000D68C78FB844EDF
+952ED6152D650A91A64F870374834119B28233715E228D2E9EFDD1571DEEC597
+8795250D17E2796A3013E9E1BBB5ECFE2CE29F387C860B87DD499BCD15666004
+FD6008BC8D1A8D3F84B2D5F1AF0A1EA4D05385F36AF908DD66227BEF7BFF6BE3
+FAC8FC06C52CC3DDD060A4CEE689E2CB3E47D6C0575B6F3C73EBE28E98191F73
+8C8ADF27453B58DC94CD68437FF99F02A78B6A277304AC26AA9DC21511F7CBC1
+6A6DB6759FA5CFF28F7B1C3569C8284FF42C63C5CF0155AE7F42199E5A3715EA
+BF65A939F173618C61AAEE1C35C4EC4BC15B29EB6A3799A2EC26E4B9D4A24C99
+0531D99928636146EEC0475A746D7079EEF6EA939ADC9AAC19C28116D2BC80ED
+7E2F58792DA34AC8E65083ADA7D70F4D019C1769ED665A42305FD10CD718A27E
+6679D78234729B44D86FBAAABB4F4E5A13189962B37D602AB9DBAC45621B3F6C
+E6CFB15861F3BCA2F089D635C3040B582C0D5D25C361F7841DF3904B5BDFB23D
+E0FEC3D7B55C5FF5CF4E90EE20744CA89D5A8B837F61DC175585F452BCC96A0D
+FAD5B210F6C783C6F986B1B8273DCA5AA059251C37E68A3450DCE010B9348CCE
+916F08B2FF702B996A7B965756A23EEBB57BF02F6D8784186A1009C6FAF71E59
+64F282E70158CD4C9AF483FAC971B3981B3C7CB27F6DD5444D7D451CF8617FC5
+2C3770567A2913E7362BC1B09B1CD05D47D31173195D01BCDB6D2FE2322F8A66
+E54B6C93DE29D1EE67341F40C0EBF6DAC95E0B626A0708B31FF688B35EAFCE3C
+6FDF759FDEEC357DDF44028217547D0271C587B373462AD9069BF54117A17405
+A6B495B9C406B64F6652B7E0E40EB9526DFD4CF86DF6C294439A0F1F7EEFE9DF
+352ED2FC1DBD2280A18BA536AE3091E02192801AF43EB47C1941C4B0609DE405
+163A8840C553CCBD5198EFC7843119AF94C14B24946DC1C0132B33A02D24CB61
+07FC4F69BB1EC6A1EF2C95FAF2BC3FFE6328F7DD5001257181D5692B7A342B60
+733C6AD92B7176EF777EDFBB0116DDB11D6314D92DF13611E2904DE148F8A1B2
+D85D274A7B0100BA1A2F1D18CA404F0268DED666AB2BBA006560209C1593E563
+1EBF2A9A26B2810804806AEDF9CA1C16E468DEA1AADC36BD103B004EB1BA1F8E
+95DCACFAC47162CF34219106CC03D4D36ED72C85AD91971AA16B55F60CE62A37
+320CC49BE3D563BD479994EE19D79EEC05678D93181F4BCA9D5FAD21DDE1F9DB
+AF0329CEED9E6C52DB5B43BBF32D54A8D517CBE7C531C3B7193D5C002B14E8D1
+9663E6ECD455F8F1F3A6EDD072ACA0B3AFD9EB7AD8BBBBDCB92BBBC9FA180941
+0C09795F34B71A0851B3063B5F1520D89EF0C4C8B19DD6B4C84D13AB03D65633
+28B6F1129D38D2F0751591ED06311D473B859DB02A515F431979E2FF958861E3
+22C40B1C707761E6C0DE45311C0EB08C39FD68D07F8D484FF6EEA6FCF937B713
+927AB4DF31A781184F1A05672452CAF150D26D6267369A4F704AA369D6ED09AA
+B0D816A6B8DD82DF713EC1018029873D980DDD4908A943C8BFF6317E05B21DF1
+1967F084B0E38B58B03FF81FBB9918BEBC8BBD6090123216D9EC57FCC13D0848
+08F6F13155012058161FBE407900624CA6A52E4DABD28D10DA950A9F7BF9D3E1
+8DC09F3C2809B037154AAB286036D3496F3A0E09804ABDB0ECC63EB1E8C6CC47
+AB0750EAB7DD4FDB835C13754C5FE781FE2E80A0E59D439A0EB124AF87E12A60
+C761BE135F2AA7700EEC3ACA40CD473EF2C29CFD4FAC16BB8C33AD44821BE014
+0B3DAC12B8D652177DA038C0807D2FB91F7C200FCEAD90C54A6BAF411A3F0D03
+FDDE2CE9CF3FA21B738C217C159DFA68DA642FEE62F81BF4BD6669CD19C64E1C
+A9762DBC3CE34CB63F927B1B97487D91A4734FE956A25FF52E890649681094EA
+33B65342017CA48001BCFB6553E76BF33D486C2F1AC58385E34F5F9CD17CBBA9
+18DCF8A07CE105E3C8E2F68CAD80973CEB6DD6A3FF621A0C497DD4DF5196088E
+733440AC2225592C85419F50B8D9EFBF003CAA40B351ABCC8FDA09C672EBC90D
+5454021DE4E83F88117E12B84F944EE30AF7188428621B9271731346928DD626
+A270543570ECC7381DDB6F141272A319024773908C7ADD9A6A150A419EC46907
+6B9A698E94EC5FBFC60AF0C05F680C9B31A148136496DAE7E06A8D41AE456D48
+2C9A892F0A84D6F5181F097ACE07A931C95003A88774CF0C75E57F3CC7A734E3
+D1D8E68218BB49ECB1228F36C54240F77F68BE47651D92FB90854F7C2B0BC424
+301DCBDABB1C1FF1087A123C085291CFDBE744BB6B9E4F8A820777639487502F
+CE9777BE51B8744B00BDD43C323848D0EDADFE493FA998B9C64B9A386FA56361
+D29C95CF34F98A7B5C5D5EE6677147E2A6065636D4614582EBE08B549C3E7011
+8302A5C55F198F793FEB51260A86FCAEBB4A6F12053A64E91FB8FE2127335043
+F56BC57BD9B7A218ECBC579694F22E154CB708806AC19D8A352F2032F924327C
+E6E85466E9DDE0BA73A253F08CA279D247BE984CAD4F99AC5115E803A5F9A65D
+C978FA3746431F7DE3E7603489A44A582AD05A715AABB7E2F510B7554E487E2F
+039F4757BB77AD428C8541D11AE29287344C04B9382C41CE0E848BEE3557AC54
+05150D36FD87986612C5C7C563124004EA1AD708708FDE5DCAF3E196D6CF668B
+6E97DD480EE5516C7537760D8D63DF777276E73F2703040CE8FCF7AC2946E929
+2F1F8FE8C6423C49CA41B0476ECA2FA84C7CE4B7CD68B4E232FE98DCC13A9749
+5CE172E850958BBEC4B9571950C359EA9BFF6D45E6158F8AC04829E87D485319
+02A6E7F7A25BE0A9C9FE1AD207AD692269B85343AE3A4356B5A3489683573FB2
+C3A09BE61A6922A8525C30B098F5C1A6A6828B7DF472A651DDC28F2CE8418BF5
+FC6EA6EEE84D345ABB8299A1621B19A457847BEE09FC71D9BE3013D8651F4CD7
+39486C39D7B050BAF21A3F7079190885EBF54CC0C60069458115BDF081E18C25
+D9B7267530E5F6D6EB77C81140B5A824BF1B5DFE96521106F3219205A6A446BE
+D03B70C432FF3F25D6C8958989AD94F14FC06880D039EE0BFAB7EF746C48D448
+C7FDC91826DBA6A3756F12B9F7BE5AFAF2541CCC069402766D6D331014119053
+73E4FF09272389AAA61E9E99E2694B09BABB59E0D5A4F8F71B870A1AC9D8BA3B
+170EB81339F3B3EC3C5133AB34B13695F42065E55DF4EDD8312F78A44D088342
+E31A30C6E4719931EBA51F917F60ED594F0F590D4BF6C99A74B0CDD3947C7176
+326FF92DE1351CBB50B88FE3194DB20ABC366AD79480259FB7F6AB11CDA44C5A
+3FBD301396CE1A2C030843D69A9D32A1A008B3B66AE82941E620A9E7B962C7EF
+59E5B3CEA2618E69D265CA5716C0770C081590CFFC044FCF02D37B592FB7F0CF
+3A70884DA16D0DFA619908C729184959F84522BA144543350C44E5673CDC23DF
+3D2704CE4ED07C1E5D810E0B18861A7ABA52634597EBB9492C9C9889F642B835
+9D4789E637CD54B9F91811CF3496B3457368EEE9A9A6DE2008576A1F935F63DC
+2AF34F2859BA1239814B4687E454F4134833EA638EA5A20996991541EDEF8753
+A7EDA763C56C4FD440F3D54B9F57E2CDA2999646BCF2CE002E9DB075F5B45081
+E698CF67A55690310A70F49DDD8A0F0944A48F16AB60C990C346EF863C84441A
+347DC73FBF7F46EB6D6C047B222033E2C47A5105203D702EBC91A344D0FC67A3
+E33EED60E68E8ACE6700F33167F971473B5302C529248F4F9A9AD263AAF1DF32
+38C21AAED0DF94B087128237BD41AB40F3662B541932A2E9E851B2262A6CF354
+4DB8993F250FE4533FC2C8D52CD66CEE480D2136F2F1D6E98E0A85597F84418A
+3748365A6AF37CBC624166F801379AC1C8543E3E741239EA92D4539BC5B31F03
+0BA0887FE98E8116D143C6C17A83B834FBB55E881AAAE75EB3C3C2DDB2D5DB7E
+7AB1C00F8FF392EB7E676B64B9EEFA774F6AF239FF876BE158906764A5AF6480
+B0DF4C5553F8FF1AE094E8C5CB48476EE34B1D3CD20D7F502BC49E03C4FAD6C2
+D4F79A61DA5340F401707AD0005CA2A0022D2AA21F651E9B9EABC388D553A23B
+D7CC2E8F192668C93A134D3EB8686F297290C51C56F192AEB20CBA4B6A05E51B
+74FE6DEF2E6308F2E8CFD0C38B01D362362205824535E826E154DC0D7B6F4ED5
+7FE86772AC3A8B6C69E2D7155F972EE2FD49580EB15337301E04694E34C2A63B
+1C3E3F108B90C7728978E159D5B215E5C0F48EFF93A57BCCFA02737085CA2467
+849195BEC7831A4813EA85E69E6FE5B2D6955876560182899AB2131BBA579D0F
+5A82372E80CADCB4760CA9806A6502DE1726EA06E8D2637499215BCA41A4CBE2
+6957947C43991A4F96026B3D3AC9D7DA0F62E8E7CFB78F3755CD7251E45FD8C2
+DC940C5567A0BBAA40720933E02096CFF49A78096EC19EC8A871C119039B5690
+8028E8DA9683BF7DE0CE57DD65DCDA5AA5F4CEEC77A41EB5E58B44A23B54035B
+FD9CBCB225A01FA468FAC2BC73211D8BA007D4B503C4F9162656E8302396D3D0
+E4A8102DA684FB5987A8D757539ADC071989A25FB66401FA47034C44581DFF55
+4D3DB44CC54B1284491DBD523520ED0E9D0F6D21FAD634A588BDAB15E8B62C34
+36010545D8732BB30511CEA387ABD636516732CAD9B8F5AB971F489FA9501A04
+482E9A241E1F1922093C7001DDB2EFD42A5AA2826DFCE05830EDD3E7BD069885
+53E46E4F9F6EC01AB0A20BBFE033CC8105E6558D4996F13894E3999C25AEBF26
+0A47BCE971583673197E22F249BF7B3EADE4EDDECB5A8ECB86F50D47F78A8592
+9F2C43682A03170D47B91584D0800AADBE346C3D08CCE6FF70ABCE7D646FC56C
+28B95711560A3F4B3803C18C315CBDA5BD44D69F8973F6D6A4F27C174DACAAC7
+BEFE1E513B08116AA34D0C167F2DBC897066A2113241DE5FE997548CE28B7216
+2C6B9896642EAE972A72829FBFF750B6DAF34547BA8A54412C7C53E50EFA2E78
+1C072AAF6B7FDFC2FD19BF07959962C8D09A463B762554843A34EACC39B6E021
+9F5B586B9395074DF8572FEFE494AF7933E125011B9D4265F521D0AA2D37F7A6
+AB040E4C00B86DAD62FA6929320A07D4ABA5691E094680A22E2156337C62E15E
+121BFCAF14427AF48D8CB538436C833CCF2635393E5D2C8CD666D2F188231D93
+F75682D8FF364381AF8CEB55476FAD7D14A1B3A86921A5A850012BBA93218464
+B44A46E74D32EC3ED17B1BE5F41D74E614B41D50E6A8F08D4926823B0C889363
+2BE97270358E195A3E1AE699C7A797B850DACB10AC57BFB41D882298AAAAD47B
+BC676BBF662C072E08C34A9A0344ACD6C36EF6367091DB6E4134201A0D0A7C0A
+7117C901573DD3B4BC619D81CF149FDD408E98E5FA17AC582CE6495EFB58E929
+6B38BA324A22ADD8F039901126DA7C567DCE65530F29379FDE5DAB90B7AF8EAA
+93D2CD1D6B93D8036305FA2A27B34EE19694190FB26C4F0466B705BB6CFDC04A
+58649C536AA431B4D3BE8708C632362B41F8328F465C79EB988C2487FB850B23
+B6CB90FA4AC671378123F1310A3CB8A744F0C52ABB552C29C5EBC855147D6648
+11F7E33DD8D16A0297DD44AA096CB4AF525C159799FA63A6DFCA438217F4AF62
+4C0FAA45A57E4B64186419F0CE002BA8AC5C92920B78213B159BFC9E884D6C8F
+C86A77F1E8041E90D196EA521B6BEAF9F5B24B407E08FAC327EC2BF29C6D553A
+1909847CE6F3B5CE06CEE18D8D5C067DECE9539BB0F4E31429F2E022505DFB8A
+54443690523A0D3501F699529EFC9C7E24BF7A4438D11CF94174EC0973BAC945
+32E3E36F6EE62078A54CD1D170BD414900BB960ABC4AEDD0F7F59F7BFB1685FE
+A8ECCC7C37E078B8BC539B7E936325A14A0EFABFAA5EEF0D45C7FF71B05DC281
+09089CE64CC30754345B006924CA02A837BA1CDBFA960009787D42D1E41BCFB3
+CCEBA95672396D78EC51042E0C4625F6598633F600F261A80235BEB56C58A3EB
+ED205E020B4EA27E94D2A9F8B285858640437FD59ECA9702356554B4AE732682
+5CC791971D3022D6603F1B74130D445B5F3E5506E4A43F32F53AD8CB8B804443
+87417A6AC7BB699DDE7A7A1DFA2718C9E15846F0B2F93E0167E6FAD982A27B7A
+321775ECAC4F754CA1B31B301BC04B9B6ADBC8BEE1B6E9A6E9E8A757409D383B
+16DE94701AA9FB5ABA8F4AAF2E837264C03C404A82C7325EBD039F84BC1D26B1
+B8CE48355D8CB477C3258967584B6F96874145650C67A02CDC9B8E6A650CF202
+BFEA60F42AB20CD4D5186E538496CB286A5B1214C6091D9F3578793B2E92C70E
+5A8AEE69B0E231B4DB103B55A09E9EB23CDB972FC4523CC2E308D5414A41D7AA
+D474204A26058BA8EE73EB67BC853B9054F281E6502C0C7974D2B2B62FCE2783
+AC2333F9F368978F6A176226B8DFC549E39408BCDA00546B8C722A872A055485
+B15A54C4B85DD07CB35B73A2C0E737B5B2A1FF3552E6343155EDBC8A99BE7E68
+F7F1D6D7C6ABAD3362058555D65C4297B5C3A413E2E0CBF52C7AD06D2D09F7EB
+3F168C29D302A80C12733DE283EEC15C1627EDC01E27919E5AE0DD8F3B1BE62A
+6F5D87B84E9FDD5E9FB8CBB4F11EEF7AF43D9FC2BAC32E036692586E597B27D4
+D185FBD9FEA7D046B74AFB4196CF5076780651A505A0B919104CDAE6A1EC9C85
+92BA6F1446FFABC3D296A9DB02827E29B4C92F334DB756EE76360EB21AF99FCB
+A20A4BBDA16D64E16C5169936ADDB2FBADE60B77A2CAF1BEC80B1AABC9955128
+EA4BB285DD06F40ED0D0AA7E78C4939556395ACB463057BFCAEE217F45BEA317
+09568F6AB7745F4843FF77667960C9FB70C93ED996E32863C21AD727953749A8
+CFE1E148260E000C4BD9CFFC417C564DBFFFF052842D55FCA7D7583F26154F68
+608FE787F89AD663E9BC56B2D99F822DA2D7159D9D2EAEB104AD3632EB9372D5
+7B5B52EE3456C394D713CE8576CF00CBFD5CD6E36FCC2D4CAEF4FFA2327786EA
+A52DEFF2282F0910D3DCB80564B33BE82A9CDCF7830F3FCD26DA16434E875B2D
+EBBA68588F1FB3051DF91E2A472B22435F9485E47970F530C09D6F80834EC05F
+919B2BC0AC81354A9714D4E0D86B98C788673E66CF8FDE6E71DB02E84992BBF0
+015B844D82089A445BE246CBC4F594DCCCD9A061F06DF82D6032B6766C3CA618
+737A4B2B77E02B6676EC1FAE5B581EC6041B203EB29E5C283714FAB41CAB5FB2
+F7EE493F5C340E3F9DD75D55206C380E29AEA710700220570409411E26AFEE04
+5AEAF8C66DE51744E4F0E68756813B1D83C784D8C75B66EDA5496C344DBD8458
+CE4C3A4BF330C67D3E07A40610917D7033A9D4A95EE0CBF09D9A7BF34B766886
+2A8AFEC912FB362355DCCC05FE08EB6C777C52714B5E762CAED332D44CBD2398
+CE9501E630E08692B0F80E10A7B9C6210C94DA7D37244823C08D954DEB16922A
+076AB888FBBE54D762AF975A1ADC5BA78AB6403621C368A37E1C3607978BFD0B
+C758ED01EBCB6B64CDC7044981DC7868C9B784A94A6CC8B046A79712773CCE41
+361785FCD1834E16D4FDBC7B2107C298C988C8540398740631EC15CDFA8BFB07
+1013096885A529
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -789,331 +810,6 @@ CABFDC5B460D9CD7C3D0A7422E6268DC3CB573DFF7304841C3557355B620DEA6
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
-%%BeginFont: CMBX10
-%!PS-AdobeFont-1.1: CMBX10 1.00B
-%%CreationDate: 1992 Feb 19 19:54:06
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMBX10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMBX10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 12 /fi put
-dup 36 /dollar put
-dup 46 /period put
-dup 58 /colon put
-dup 65 /A put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 72 /H put
-dup 73 /I put
-dup 76 /L put
-dup 77 /M put
-dup 79 /O put
-dup 80 /P put
-dup 81 /Q put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n 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
-dup 121 /y put
-readonly def
-/FontBBox{-301 -250 1164 946}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
-7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
-77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
-2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91
-FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F
-DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68
-7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4
-9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176
-CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D
-6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6
-E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E
-8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E
-3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99
-EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4
-0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9
-4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209615BC08173FF
-1805BDFCCA4B11F50D6BD483FD8639F9E8D0245B463D65A0F12C26C8A8EE2910
-757696C3F13144D8EA5649816AAD61A949C3A723ABB585990593F20A35CD6B7E
-0FA0AD8551CEE41F61924DC36A464A10A1B14C33FAFB04862E30C66C1BC55665
-6D07D93B8C0D596E109EE2B1AAB479F7FAA35279ADB468A624BE26D527BFF5ED
-E067598E1B8B78188FA4BCFB0B51692D07B0BEBB930C6F0997B437E2C51B876B
-61A563A2673932C2045833FAA35DB22ADE12102335D5DC734AE3AC5EEE6658D7
-92EB62131E1DFBA441F53EFF9021D9D4C491F26BE8F54C61165CAD778CE8695C
-EEAF70E3B20C64D4C2B34A084B5770BAB2A8B7069E84EE1039A2E43E0DECBBEF
-93189055A49EE66B5906996FBA7A2F052D44A9EAAB6DED6ACACBD4742887E4A8
-FA3D14EC60A2413277027F80FC9B4384EE6F9A1528F7E58A9CB23E3EDE43B06F
-E978B03C604B50A5F91C47346DE482B3A922A5D023699143C3BB3C7475E21AAF
-22AD06FB556EA67882BF7E09FD39B4341967F54537ECCBC61816D57CA02D3721
-03FD8A2DEFB6371422CDD07263005CD5709ABE6361D35B0C05E68E1C0C205185
-33DA77B3495C34113FDD00FF97794144F0343368A9170BECE87FD515FED53CDA
-1FAE1447375F693D07ED4187C7F90629FE600B76A496FE37B34D462E79BDFB28
-B4401DD4CF533DE72C290E08134D763B15BB6B2B3B7C1EA96FA423682A006518
-B19A9E449DCE9F35C080A6A41AA59ED6A73BFA521DBAADF012C68280A43BF6D0
-E1D56EA24BEFB30348BE3994AD63F818EC48457C142D79A8E0B2D8D6EC9CE363
-CD98AE70BBAB4919B9E3FD3AD2CF2505562E9266599011ACD271B08EF4CC245B
-70A1C0236E87BF8813ED77E39EBAC800021211373CD1ACCDAF0ADF0456F8154C
-88C8BB1CE471AA743211D39A473077CDD7AB4FFFC5D63A904286C91F41CD1B73
-300A2D57BD822D1438E9C13C2BDE2D7D3C230552B8AB14077C4B93E1596739F6
-484CAA91AE0BA8DB3BCB2AC045DDC37ED4A84360DCF4A788781D875889E8CC7F
-020F5F419E8F5DD79DC04D6E6CB4E71366876EBCC64A3ABDC7D1A287726A74F7
-59F2F692B3FBCBC9354645E04B6ABA1D1823DE92973C7F961425A18051A0C0C2
-C77403BD905A86E2A312F1BF8EE0E06D03632FD5E0247818D5573F2EC7426BCC
-8FB3ECA20BCA3573AEC93796E5100CDEFA0040F776E812B87AAAFC527E95F61E
-7262234242D97A55876D9A11C215FD0D0C1948BA56753A28051AD4903EE13166
-34E9A38524F1A20EB8920CD7E56C7EA017699BE97BAC3B8BB13E562E510D407D
-BAE644AC025A9B1EE04B9F0458912B40D54F7E84B46119AD70E23350C13A50F6
-D110323B8E2494088827CDF940B9A3340076DB808C7271EE371421D4030E63DA
-D2D02E8631CF771F1419BF36A9CBBBDD5685B90E6962680A24293B20347AE197
-C8B0533F16D0CC5D6385CBA38074ADFAD3428690834D631572F7BFF77118548C
-081DACC62F58E2CBE7AC0BE6E08EC0AF56994F988674395494B7CE670CFE23D7
-F4545734DFD39315573A9888A0522A1F918A31C5763521E97396B3FF1862AB6E
-47DFB91F6E49A4F2308C1E7410318F78CF70D54A92B53C0EFB353FA8C5861B6A
-C6DC1E4E4F88B19DF6D6A2C61A43F2299891CFDEFFCE88D878A409AD0AFD1B21
-6DB53F96806A1D2BEB11899420C5D6E99E439CE37E4DE9E2A599557B611D82A3
-45483ED82A0C6EA24E6F69E35B397A2E759F76F8F73527AA263D71FC3D00F0E4
-364DD00275DA95E570FAA8469439A383896CAB73A29DA7965D6810EF2F97B2BD
-F29DD4D36A48E842E5D5150B43A29F4999A5EE9F3B4DEE1849CC23EECB3F91D5
-67DDED516610E42BFD8D227EF20CFAE80523F0BD658F5D3E4E2969B6D071989E
-888E32C06DB2A8D3F92A9C00C7EBE83486CCF417EB1F5A416BECA83BE1F04321
-BABEF6F43CEE6C0068DDD2A2CD576E1693A1EE14BD77F2D383820AA15EA44881
-630870A2977C3C44775E9091C2F90BAA22E29A7270ADEFCE463FA8B935072124
-FFC64528F8BF616BFD50DF9413C593B31B7F5636910F7C70B4C48ED36C17C0B9
-A0B6AE128ACFBF7DC23781BCB90D599170F10BC045416C60D0DB534BFE209981
-BC922AB68E3591F0EFAD6EEB011414E7EBEBC1A6D71231E415E116F0CA1466CD
-D040E31EF2C5FA38EFA99E597A6F542C22DBE0851791DE0B3EDA8D1348A17214
-87B8F1593183F57834BB8A18FB09CFDBCD0A898FD3A735F742B343112D319716
-0FF6EB60212791632F8BCA0858C7E3A55921B8EA31232604BEB6002A51BDF990
-1419D5C994BA50DB2A638F35D92CDA93CD7F9A405216A0EB54950551A2A9938E
-B6EF5BB7AD1A9369C1784563A18FBBA11E6A6BF4626ABBF3A7B172A5DD1600B5
-A92EFF6873ACF25CE5531AC34E74EE5A1EEB4B4939A6F5C1C928A23489F1CD49
-ACF3EDE2939C342C7018F81C04796AF103510C91BD138CBFB37245593D359F10
-7D7A08CB4C4EF6D3364DCB5CBD4E67F922A1C1FECD5A5115F14A8A70F3A08D2D
-99CAB51B532031BA07CC10BCAFF83F102FA24F92DC970A8AB83ABF01F90ADC2B
-6C67F40E135A3AD0E0661518931B4473F3A5D393FD1698BFABA66B0EE81ECE9E
-44267CF05891117ED4C091F63A46837BF99F3CECD196C1952E20928FABE90164
-7E4BEDCBF8CB2C7E6205DD29EDDD74531DD1ECD7EDF10D8A164FB3801526B3E1
-5C19E9A67E46C154CC58CD2EE92E06CB93ED6C42495BC36DB813D4AAEB30AF58
-D61197741E24358A775C6FDF636658E019B879FD9CF2C00963332DC9B2B6DDFC
-CC4F97D5960B58F75492D9BF2FD2F3F7D177CF19D070607813CF6ED9FF33DB42
-96BCC24502B9E858C17BAB99D9C51203AA36C346A968DCA6C8E891206E447358
-ECE715A9BA4D63FEC6F13266F92C1A6E8F3B4E4914E02C67F09C334A2C39DFD4
-5E0EC2D074171EAA6FE216BE2ED18395DA9D3090F421F6E08355ADAC2B6DAAD3
-343FF6263E568BCF2EE6FAA8D0F773071DC3D7C9691972E98DEE3458FA233250
-6DE04405E13C04E6C962DB3552272F1547BFD1FBAFF5160309A53D89E24E4418
-2C3841B0584D28D6559CD44DC5AEBE1D73FAAEDA61910496FB38EF731BDF5841
-C60CBA2F9422B742AAF5DEA61C3EC6F8269DD30D5D4B455616BFA5FFF9B70EB0
-C1C92ECB229358509E236D002AEFA1C29557B79B89ED0368F3A3915BBDDFAA4C
-673BDD8BCD1FC6D7D2F68FA00F48C52D8F49E72D64BF2C63B544A174AD99C542
-C94631A1095F8101878EB5598B120CD4A4ADA0B4FCCE73B65FA94BDE49C6D11A
-10E89D9DA9DA26C4FAB2A66B74B9DDA9DCF1A4C8E58CF651A750F628ACAE3964
-774AFE1CC82686674A73CA529FBF88D463081B1D7DF308B4D0417382D69EFB5F
-B89407992E234CB9633268F3C3AFD53D53AE3FE08DF5C859D276D9FDAEAC7395
-5D0B9371B6EF609AA5D71AAB79279CDC2DD9EE2F48801BCA6CBE3B1ABCF3C997
-3687DB032EF72C32F8E796908B43641B3B0AB18AD16555CB0736D8C755929CE1
-D55586C55F3CC8B2CB9A9938D37FAD90D90E8D59DC9A77DEBD7688F31EC31570
-ADD09AFAAE39FE25410233E77333CE74A2B4DC55C09CB9146EF1A43CEF309619
-60762205D62F44B68CA6CA2DBD8078881E2F50330F9F262C5DA9D0850148DF56
-F5668ED9D5379AE5BF02F1DBA996064B804366F0F7353600142F509477C0B95B
-798C17AF05FB2FC28F00D2C8C616F1B98DCEB8FD44AACB9762BC8ED555447AB0
-3A29D755EA73E269DC600943750E1E75C83FC95F2015EE57FC7A229701E91F13
-BB5CFF46BD5570B3B935731CAB104E12532D6FE82C3F8E79C82D0623AB8BD2A2
-4BC8A76DC133A0646981139C393DFBF1FE8E5E775FFF63508CD6465DB2C30546
-982A36D5DE59BC827233754EB60D23FA34787DB3E2BF4C34E463824ED62137CA
-B49A97DAE0E51537C8C481C063B1DE6147C8179BC5F57A41FDC4F254F2A4525C
-D2CD7C30779054B37FE2FECDE27217EA1F8E652011E32455719187BC6D3F94BF
-53E08A4470BFCD5E90A647412701DAF792A40496EEF7D6432854B1985F7A7A2F
-1EA5DD74CF778374939A2962BF45AC733FC0D69C5EE1DD920BCCB1ACC3BA4C2D
-5BE417F1386D95A1E878F7B905365F8016B86EC36C340899D24D4DBAE6A7B866
-EEB0BF2BD69C0317BD6CA70542E3DF6F1F4B1AD924A68AECD55B77E20FDC3100
-900733D5AED2F0AEB47382B1631E1F53DD4BDCC520FAE30F5DB7C470AAAF50D6
-EB7393EF82522917DD5925B3D0D6038EBDED758DC54C6FBD5C9CF8ECAF2EA45A
-5C87434A564F16FA969C5AB409CAF09DBDAA324D8830CD9823B8D2AEC26AA0BA
-F7D7AEEB9FB9FDCE0DC8B1462F703E54A18BD357A376BBFE57B5AEB78B6EB84E
-EDBCB404144D9B750F8AED7FB59FA3EB1D0BF99713341A9AD822C22DC8981562
-8105155E9814C558B31BD2D3E11A6C4D74D630F8DAE7BDFAC860A561721EFA8B
-8C99B2324DFCB40C24C26DF34070F308F24B4E67715382F1BD32B0B2BD845749
-6D67A5D4BAA65806A87D035E68318D3E81A5A95087C587057B41CED663A9BF0B
-BC37B8708FDAA0AEE135A314CB0E41EFCEC9D6495213958CB8C9EB7C25B1CF64
-C95740AA8306B56D73C3CE2E802DEACA6899BAF436FBBB3FE3933E5290178F13
-0300C2081174570B47DD9E3E96A9D4D04849FAAB51EB2DCAEC70F6AB6E1403F4
-4286A04AD2CB3F588894419B9C377DCF9C80E65C7ABB70B95088A747B68D2FA5
-DCE8E16703C14ED1CFE479B061A3B5307B174A01EC460C9E6D0FF2A4BE291A53
-B08F79E41E70CC397DD35250B49C56C76288C6B71CF4468917A6922C13E2FE10
-3A4489BC2483B10DAC76053EFE6125031A762C89251EA10658A92C0C16847F94
-A3F6A7163BB5CF9C0546F079017245C749B9B8C8F810F4DB7296FD748B88811E
-93FC2A5565FBB48F2C28A8C3DB4FDAF0B0B7A845CBF77092C382E0D0F37DB976
-CE6F4B985C27A2F2AE9F6A81C4FE89537EC000FAEA98BE85261E90E0CE7E292D
-0D163ABF2941A28239E7DE6912BB928E8E31FC16BBFA5D31E8BE7C1E85017C01
-9704AAB90ECFDFDD73B56949C2CE080D6A1320415FCB548B9517C816AEF9396B
-39D931AC3B5771E22DDA4F484814B65FC2956B74214BA806674A7F2CDDE8B7CF
-CEA95B6D7B57DE0E5D0E0B720FE5FEBC04B26985AE0B0DF94ABE40069193895D
-8F401ACE9CE936F4AC53BB5DDD29DF175FB4A20393C943E40F2F7692E92DEB2A
-A1749A8C06E4CA1AAEC04CD64A20AA676C52DB7950DD736421D87B6E15C7F7F9
-CD2E6EF4121148AD105CAC70B1F0E4854DB563E015B01274197C14C910BAEEA5
-A09697E505F45E56726C2C503AAAC0EAE62C10689310E9B06E73A8D9BFE67C0D
-E61559D75A6CBA951046852983C54D38684786BED94307D8386E31FDE2C7C95F
-69449A6A77F90057BE6450F10E23538EA4997075157F1B7CC255E0B28E32E1E7
-D225DCE3CE3B996E7ED8AAACB3AE638F9B21A502F1230E5CC6AA0005FBD926BC
-37634DD38E9F3A01ACC0FEF1A85225C2D9465998CC02C0399BCC4F49F32A0482
-081CF34309F27B7A14685205D8033B4E0E7010C9B861329150A2D743A4BE4583
-733E3D5CE76C82797D98620A5DA2DBAD5252C0B9AE16291D3C6B93F4C24ABD22
-4F57BDF81CAC04F4E20CC7B67A87292FBD821DD372E6DFD12B7EFDC9C1763D1D
-7B98CAAA1BAB4BFFB68E2943A68B03D0CA4A187556E3EB89DFF5FAC9925CAA9E
-2DF3F099B772EC1CFF33A032B9107247BF62EC8724327EFE75CC97F4C08C1EF9
-FD9C199148C520433F107485752FB07C1619C0BEF98AFD9EE3D29F2A1B3F5753
-B90FAD5A155473E7A7BF8FADEB7C80306529BB9D92526B6D878AA280454F6579
-30959BAB8C35EFC33F0E67C7E7C6828E2225F1717A62D16C18F0D3BA52D4D809
-A9F7B7D65F522735CB562DBD9111AEFDE0823503F01259EE4741D6D3AC51E0AE
-F7723EAB411B9E48CFC510D1316247A28E116CF8181C691B9F066EBFFA7B162E
-64D6151BFC74B9B9A0EE89D161B76E876903E58C7C57681ED07FE1835BFF15A6
-260C704239ACC0FAFB0F42FE11E97BE29E743E6DC8800559EDC9887440B25AA2
-399D4C38631B0D5521C5BD060C67A561CB84122BC4353D8E8F788F1CD3E431C2
-71E14C995F5BD51ADB63FEB1F1ED33CE3821DCCEC8E64948DB9AF9E7CB556E37
-AFDE3DF114CF431F75DF3A84FB9D817EA37060F051A4DF349BA10658D840BCE2
-09020B8324419F00303FED63901656AF761805C5632902F78D0CAED5989090AB
-6665BBE4F4FDFBC17F1421D424B306A748C646A37A11B9C27A772B3A385B0174
-BCAFEBFBEB7C86ABBF4C49F09AA878A82DF51178131A0DB7C7ED82DD376CB796
-98DE4116CAC8C622490839FA9C783FC68D1A131B635073ED01C48229A954A6D7
-26B4571B9915DE5D3B04FA025FA591A3A59CF058718D20497C9DCA98E513EAF0
-E4D2AB2DD7146647EDBA8C0376B42513A0A3AA31691EA408B83EB26BE3EAC433
-12BCA857EB94BCE7EBD4853D789E15602FFBB710C72C957FBEB2F744F66AD54E
-6A51BE63315C7B6E36B54DBD88CF60251D31C73EBB69DE180A61116052C4B12F
-6B5E2F45155F46463DB324FE30BC02CEC38EA8207C64852DEF649347211FE3ED
-09DB60C6C2E6F168B9F5C9F4420C6FEFBDC43FB2E479794D5553EA2D557B37AD
-91909C0B86BEDCA02F321D6EADE046834C2EF251A794C429DD02C4777393E7C9
-D9516E1B6CA1694FF3C390AF6280C53D9B03BAA2BEF6B4BAA03DDBF73215A47F
-371982F180409C3B96C4FEE85AF97BC78AC8D2049040D7E74B34DB182BC4BB3B
-8CBAB49F43DF21A55C4CAFB7BC02C858DCDE59B8E081ED3A0232B914FB1B434F
-7DB098CA425029E9169F8CCFD1FD65403BC68CA09C2171C494B65B95FF5DB88B
-C4DC6CE1C39E7286FD2AEEB64427EDCE67628FD124B0322ED931CDC132A4217C
-733A542A0EF05A7D9685AD7E0E0660A43C08EF58CB54143A668A0BC87B774C2A
-D612D29E0C904A9707D6D692178E8064C9CE8868722AB9EA2EA6291F143F2767
-5FFA9347FF969C9266476B79F21FC21CDF91E833BA6514092B78DFA65947B8A0
-5A25BE84B7732136F912EC7329D6A4694450A9796493693B9E9CB85C72616427
-B5A095655418C333BDC00A8C0A0B9E8D9A76076C59139D3E75C6C6AA85280476
-A4D25792320AD2BBADF70A60A220F9F786B53757CF0451F69240B2CD299E66B2
-BA06C58597BD7973C4EDEC64870E8DF1599D0407EB1831C2569ECE659D7880F8
-A55E82383CA333BF0800810E5544E70914F58AEFA80926A6B777836211501B22
-480E5BE73E8D4C3FD8B86B106F9018E9C3C8246FD869D2DA613500CDB24FCF47
-3AA23A4440B4E6E5416A7294B8ADDD4CFA8E10551978FC369FEB60B2CD86D88F
-B9AABB5C64E1149495C2ECDF609A830DF130546476FAD5E5E88374F46B92C9AF
-CAB1115EBA8224F193D66B118DFCAA5F543E1CC7859EFC4DAA0684814ECD89EF
-2C14ED98756A6E03E89E7DCF6D07A4DF1CDF4606ACAC07D9FACD5289E0EA925D
-729D9BE998D4E708D33789A63268DE0B59768A00CE3EA14E5EC46DDD913C1A8E
-A9E9BCE0205B8EF9A761CE3578C8A745BC114BD0EC87A07E882B9BBB27906544
-03214FEC51DF4ACC70F1DE54DE4CF537D00E3C4D7C3F98D397382EEBC3A40428
-DBF36AC39DBAAE6B7FF2B3964B60176F1D469EC7A7B470DC7569E6ABC3D3B844
-358F1389461470C43EF9A07C89A5DA3A51BE944D5C51C4D335417E8F1D335E43
-84F34695C912E5FF7D9465E1087223CDA7D837AC7FB65DA0B76160319F07911B
-57EF0DD8F9E434B604645E18E42C6C4E3BB9CB5BD13E40BB210DE1759594F860
-592F26A1AB9271F9688A95C92D8834BF964EA3AB8339A2A217A334BC0503A63D
-EE898C2BCC6D2E6A38CDA086BF574E95A4FCCA2A435E1BE85D2C915562B479F8
-BB8275A08399EF31C6A7F39745D263A100BB47950B4769D030C14B547FD5DC24
-493E2DC0151E675F6E94D5AF02C091E4586C19103087CE6DCE8FCB5B31BEECC4
-49A9D9855B9EEE2D27AEAA989137F3BDFB29EA61BD654D6C51914EE74A1CA5C5
-E5A9A1F233CBFE0957F4ACD55672D07DECEE7F52DCC0E1624D385519FF20EFE4
-CC2BDF40CBCFFD4A9482CBCD041283016AD3A95AD728DCD1D7B696A92050BDF6
-873CCA452DE82877DCBACF560887623806B838AFE8FE0D6ABF646D5637424126
-FCF9C2852EF6B4F30E3725CA234FC62D325E5889090F6E1C73C0731F955389B1
-9113533BE0819AAB39072DC6C20874232EFAC3CC73154F480CC6F734F499045B
-7333DDA2C655169EA6D076473DC9354651C067D3F7F7CFE8AF1350281A85D0D4
-735BA48507C70818DD7E4358F7CDF64FD6763257900042E150A8396673524C7D
-EB9B5A1763D3A6854C38AC16113BA40E3D449857981D81039A5A8AD7E386229B
-26B94A5945A24B8A3DBACAE1DFB6673137EF9239AABFBA56C6209563C1476F0F
-4A7BD6C225E19D7B302D21E5ED7120FFF4ADFB042504ACAEA618EDE8A6FDE8BC
-2E92D8E792B2DCE59657E03E65A0F04746B73EFFEB2A7FDA06D8AD08E488855F
-1C635F937EFCBE6A9904C9645A5E093EEB86ED4857E12D7F5E00FF2E7EE5DC8C
-80D3F510BADF414E6FC7C27D076F8F9C441C1D0AD179D37D5329F27E898B5512
-D873EFED0C5D61C75C19496D8594E841D5D54104EA2F744A8B3E226951FE99B7
-1A53CE2BB351E6811684A94BDE0934AA259BF230B65A77EF50B90CE8E9845C89
-3BE5D9A6DC85203B3C76EAC4F4ED9F969EFF7DF9985D82BD584A8B20AFB0EC95
-7EA54C3C1EEEAEA845C2F849F81D9ED4651D33FCDBFDFC7C7A83157C7F3F7865
-47B381A2BB91977A08D1995522143D443AF9430A17B0D375BA63CA7CB38E7B17
-761CCC1D56EF50BA4507DD42E21C4E683BBF59A99BA135293FB4A506D55B56FD
-EFE50D3106B07600FFFE53B95E0568279DE9EB6E4BF49D7887D292BB8A74CCA2
-F884E74F81B23255BA33CF5444AE3D00EF734ADD14F7AFD9F25CA2C35A5621CB
-1121F4B1FC731056806A37D49D115D31043DBF96D262E2BE0755071C6834BC75
-086575A8AAB3355E35A49324CC907BC1A57F7C0802499695779447E3F4FD37A8
-C9A83AB61C36D50802548A5B0F1CE0CF99F6DF279DED96D79F1797793F52F265
-97A4BEEA564246DAAC13EEABD348DA6963ADBAB7B11AEAA66BF4C4A672E42C7C
-46D104FCA17BDEF0A804B9CE1E76054228BBC2BD6A6E03E810ADCE686553C452
-74141366ADCED5D920BC6B86225D789AFE810938C5EBAEFD706C2923F16540BA
-0D09CD92FA02DCF62223774692B41DACFD0FA2222A426B4BCD6AF33E7FACFE25
-F669775FA66484D12C964BE8B48711C21FCB5B59172082B025BE518908A4DD72
-AD1B3992CC3303A571FD85F1B13CE256B1A57C9A087B49B0ECD784E0591822A9
-5E4CC856D13B2F94071DB52494C41C43C15F8B16D99A3387F57EE69395A44407
-FEA7EFFE45FC1ECDB3BFDA88D21211769495C64A709EEBEE779D236CB8D6551E
-5E7F438D4564482C1D5F9C36DF4349DFBE95E0082AA6EC100A8C3C189238B2F7
-DD5593A08C9C0CA806D242019023A72CF20318CF171092F27908C13BF8A5A2C6
-40D94284156C20B19F3CC326EACE632621D5DD881AF2D47CE92724D350F0AF8D
-FB59E827633191DAC18BA809DEEB78A0C541C620045D7DE6D556C105B24A4D4F
-165870BD0F3AAEAA78467E81640122592BE598FAA39A64E246357F347B6E2068
-2F29809FF9BD2765965439BF57CB040CC06FFF858E85A893EAF1D64DCD6399C2
-EA596568D197B009996CA4743F0CD9D46E3516966ADD8476BCEB2678AFB03DB2
-8905F1D769976A0A762044F3D95F1B26E2F8C2459CC85D1F1F0E7F0FE46EDE24
-6B176B60589345D8FC6D29AF6D7197938E08FEADCF6ACF287B44364E23CD2D12
-74C209C344ECC847FFEE64B40FB259926CC4F57340EE7F7C5FCEA60BB1E758CD
-65DF473A0BB14B53E61743D3EB4EB8C4F37BA892999F8F56B8E33488057F438E
-A4B585A46A147AE5A37F410EAABA7555D3E9BE148562FF765243FE76559C1D0B
-5DE2CFC71B108B2DD9027D1E369CCB15D908DA552E90BA0639B8F87AD4B5EFE5
-0599493640AF291D4A779F124724530A7A3FF333393C4195B32B5CC3E2B9A8BE
-4E6DDECE14103BBB3F1A8ACCCEA07FFCC30EBA556F9ADD56443DC2D460178A77
-1FFCE92F43A8792A64634ED6C6C726E29083AB5A919A4BCDAFD6CB40ED45B080
-0129F0EC679E1C0769A4D3925CCC1F3CD8CA38D578CB34CD636C0BC6B378BCB5
-8B47F2E20709D1B4A119D064B0477DB95664123C0C8AD271661936026431BC86
-EA7298EA8873FED181F00A4369E798FAEEEE2818B1A8A19665535E338FF2FF69
-268435C505C6A1A60F6F1C13976588499C9AE069FD9D785EFD89CC7E
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
%%BeginFont: CMMI10
%!PS-AdobeFont-1.1: CMMI10 1.100
%%CreationDate: 1996 Jul 23 07:53:57
@@ -1224,6 +920,7 @@ dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
+dup 53 /five put
dup 58 /colon put
dup 61 /equal put
dup 64 /at put
@@ -1313,363 +1010,733 @@ E265322DF0823E9990F966A842ED69BADFAC2CD1754FC84C0FF6750D2373F997
0775F760C4EE10819388782A2CC2E9C000DCBA76E4EFC7B390E50611F3D4F6A9
CE60FC3B742F046E84B4A302F5DB51092CD59F103DEE2910757696C3F131517C
416687E6DF671911BFEFE08D1C5D0B16F9302960E29760EE101C5BDFBA4176A0
-260ED46500FF41D25635F195218A804B2651A54079CF48019C52E1B551EEC3CE
-13B1FE4864981041B247F3F1908DE3728E345F81A6863581C22A349B8AB7B3BD
-BC554FA3598B2B5C7AC6112CF380D176DD6BC6658BB55A615171C47A257EBC1F
-A6B40E10B77C81889061E668BA620C0868AFD6C9916FF4F83185A2B9793C0F5F
-F3E17D3ED954973E9F56DDBF1DE17DD04305A12EA09DCCC0A60A0BCBEF431F94
-4137FD5767DDE33F5A1641C15D5756CC52CA9EDD64727BD3BE976D4963BC8914
-C448D479677BF9AA55FBA3A41F58110C9B8420352BA0B2436A376A27B6027974
-FE6FDBB94FB71BD2E1BBB9D55661B82D646CFEB57B912F0A57F6FB10DEFE768C
-5A7AAAB7D150E334E0251B505F9F5A82ABADF6327A8658074080DEDF1E292A36
-27891B03A0969B23946281FE83B4F4609183F350B8C3E79631499FB05BB37006
-6E9E270B7563D383180E0A1D8485D23C1B0DB41D42CF465441B90C34D846428C
-5D5CA1F39BCD7458C8AF0F1CC7E1EB1D322A72ADCD01ECEF84DEA2278EFDAC11
-A39100F9C88EB358DDA188EE1CA33F521F7AAFFD7E2B2507510DDA91CDCF7E1F
-023C2EB7D3C25C6C9207D0D77244846CD0658DF5373AC68A0B8A89888B75E5E0
-0B01FAB9CC0D5FB3F26BEF1C0B6A40B2B3A7F5E3CA59A6CE6EB31F175724D2E0
-7D69EF2A0BEFE3E68ECCFC2BEFE3CDC2D36D065282D8F478F489C6690EAE6278
-B147AC6F902CD400D1F79C0E8D61ED58957B2F2CB019B0651BCF74F140C38188
-C9A741BD6B3659CA3A921EAE6A1500B64835A7EBFC4F8B1D7979A5013C0A3ED5
-821ABCFEE54487D57FBD698E6E623BB250CF43C301B4F4FD944C03723A5D49BF
-75966554CF683AF12CB764C32F46F603E0C4F46F83F3AD5E1B2A9E8032747535
-3971119EF01BFD1B185C706737255D4E3719E1382E40E90378EB306059166A29
-39FAFB6C30A398C8F9A1FBCEACF4064D4062966C72B3C2A665BA410D7C6C5810
-6F07D90B96ED207BDDE151636732DB403FDE31DDF0D0626B2DB07FCD5BE25598
-22B2D448F0A4B680A50E700B9A05B72AB8207F86A25CF40DB3BB4FD5B2A6A963
-D285BFF60296D237712E51536AD6B5F54E2A68D914ED54E3897BFF6A8B91A96C
-68167CDDE161FA909D6A1974CE568F9062C2F142BFFC9AC6DE1FE0EE7EE535EF
-C38A2930AF1BD3A9AFC0839B59C344918F5C526E7638E08877181532449F8E9C
-E2E3A607C522926CA62EF1CC898583D9781AF9FD951CCFA7410BDE4C7001D53A
-4800D3A1D296CC7B5D8CEF51C870B89526A483638B9B43889800A62D474E10E1
-98EA6B74F316F10B553C2D65D2C8193B9ADC64848B5237A11EA8EEEABB005CDB
-31BB0FA75E296F38EEC76E07A677A5CDF523E2C028B5956F7D682569959FEACF
-2335A745C4C9DD37CEE54C6C609F27CEAA2D648B1A266196984A755D5E26E10A
-BDCD2559A73B0C0CD7FB779889AE33F5A123EBC8A7FE95A3F2FF2237BD2993E7
-9BF498EF402B0AE48D9608C1480176C3454C8BDEB2470B5A0323DB0B84DDBF1F
-B893C4A1A924DD55C69973C1EF3EBC03C9C51D2A2AE58C410BA387DCAAAE745B
-5220C7060B30BD3229ACD296094DB265627B4F4AFEECDB930814BBE7CA1BE5C0
-17DF1057C731AAC5ACFDCAF6DEA1291DF3D44F06FA7A23C7A1254F6F695C52D7
-E0B5B811A9BAC206DAD4E028208486E71BD80A3E0AC6E5BC540977B6DCCB80A7
-984A3395C6ECFD5070DE23607EB6331BC8B675427BFF4D732E756A91809E8F21
-A911399DEE24327E42F298FDC68762CCFD879BFFA9BBB1DD932369A66C1F0198
-9B60DD9221F472CA460FEC66B6A473DB45DD1A6AA4BDBCEF9EBDBD360DD84A56
-31FBFA2BF803C059337F321D5919AF28841FF796105C25B453BDB3B9CF2EC269
-A588699159AE9ED7E29CD0458D7F1612E77F26B19240F365FA3CF830D4868274
-CAE404E49C944DAF661E64370F7D3F99742910D80D7B2975F9973241EC9CD74D
-D0B9191E0A9838D3DD635B8C69EB4BAF18092D0553E9F45F1F91488B4E449737
-58F5DB3DFF20FF80E8D041A7FA1E634F0CCC946B5BFE52CB1A936402D803F13A
-EA31DF116DEB2853AA8791943033104826661A7050683B66E72AFC0338A12D93
-0A0074BB567373234399D3C99311F4EC1236811F6EAFDBCF8FCEDEB70F7D315D
-5B6C254B56D8B294209E1200A76F256148FEFDA0F5A988658DC6C9FD408319AF
-C77B6CF5DA78AB85C34E902DE729B06DD8786F929BF083E5933ED344F2669CF7
-17ADA411F0217701A1BD93FDFDA5C69BB1CF687624168E01134E1851ED698E0A
-467053C3C283E3241D7F0E707D90DD9D54E3C66FFB0E79C48999B1930966D603
-51561F40D29B6E5DDA09F75765DF2B0D953C0AC131D0109A33E31DF9A5B0B873
-4E8752DB4FB7FFC310F7844A2497E417E8D1F1909D6A361F19DDACD28BFF4180
-7D36980562CA659E88423B3734879FFDC728851299C95977199607A1AF16AC63
-D003D13C8D3B889D75D920CF8B8E04F21A1AC402A7936402F9B04B9CD14851A1
-3B9ED3958AF1A5D70D5E308C2E198D925161C9D2FEB0CBB3A0946AD0C1D87096
-438FC24D8C2C40C4977F36C9048B22300C0015B4995DA2ADC97C8E20C960E9D8
-5F388C2625B0211B4E171AD161E510D0231B5FAB5F8D188F8AB71430C946D7CA
-C79211B83B0779594FCC762B026722DEF1A1B4311FA2C643CC1FC9871EDB794E
-8E665FAD639DA045327E32B38235235A4FE93730E7B681E139D40B74AC18B80D
-49DB6CA0A8E52F4181D519E77A178A07FF29BA92A5D0E9AE3BDB75581EF4D3F2
-9CD1B37AA9AFA600434C238C7DA7CB8A183254BC6A1AFC52CE880CFB2F1A1B29
-635DA29819A6FAFFDA3DE2AE553EB01E70AC15A8030B818D7D393E31AE420521
-AE30EDCB66C4BB5DDA715D319C12E26F665FC6F55E76E51E7CD64F1355A261EE
-442A6006B938CE9898D305907240C3B59FE6FADDEDC5CBC2DE6C992BDCD568C3
-1CEF46370B9D17A8598285F88386302C062B0B47C352E9D04E0261ECA86A4D59
-452D3237C64C3D629961467437E9AB1A945F1A8B1B34986004897659D926766A
-F8D2433321C082E4E0A6FC4EC0D7E33B85DD18BC3624FA19189E5846A6C4604D
-CA4BF27338599771F469ADA89E61F28804D6DC4619C59254091BC374F3E078AD
-26BA14C29BEFEBFBB9031D799875374DB8F74CF329476E6F415D73B94D732C3E
-AAB918678EC02CA47DD11B9E1802FEB787D0B321CC006CD27D990C0DC889E3EB
-62CD383471C7D5549B730310A7819BD176691797575D1B38418117459FD11DE6
-3892DDE104B7DA869CF882EE66C26CE74C3A31B221E81FEED91157D11EE9CF05
-97BEDE45592DC77355E0B2D44AF2E7E07B294695303A2502A4E0C81395976037
-B0DF04F5488DF33199303874F62F01EFC12C6360FE2FD26EB062F5D087B32E3E
-877287AE8C5E2F25A53471F2CEE59F1593D73933C13C1EDF4E79369D6469D83A
-6A792E581D20D06D8FEACDEE2782EB331ECCE6C5D643BA3528C1831BC39CCE04
-40924BD7F6F03C48F6A6B8CAC01906C2B020EBA3441F65D9248309A7EBF85DCF
-6ABDFD5134A0B6C2BEC8E9851179DEFBCD1F1B96142BA9FE539C20FB1AAF46B7
-403E6B9928156D5802463B3E9AE55D6DCDFED232FC21A9B38CAF57E481F52CB5
-0284F7DC147313FE4C3F8B4D2C679D1B09F8E21E9CAA5BD118D6E70B7D2B3795
-8CAAF346A46B4532C3C1F7B4A8740A69193174570C138493E205C057E3AF7DCC
-86A40E640E79A86D1E23AF82F55D6CDE762336373A4C269EA5104135430ADAED
-842A1C2ED6307047B537BE46039DEF7CF0EA805B557E73DA6928F94D760A4D47
-E3891CE22DEE0036C651BD271561FE3FC7C3D715C14F3526459B9C54481254FF
-E621291F9F142E3CE0D43A36A5464D6AB248B9E43BAB65E943D5C1E2F8F36D53
-612227D65CDD63AF4C60F01E39E3005A1723405B0E3E5852F24E5B2BE95AA85E
-C92E355186F4196CF84F05592814741BE423F34CBDFB64A741E8F23F9E6AB6D4
-89E0CAF347179B3DC8CB655DDCBFE9546EC62E7009332F56BF5935AB27D4594E
-85371E69437782901D4480CE2451A227DF5174ADB0BE36F3E209A02E32B9A008
-02C2D29553F6CA5783B4C26DBF98B32D59A62320A78169BD4D59B9E5164A933C
-CEA5C6F90E68748C9FD9D8A3F361CD2940EC7AC579FA47153C577221330AA92C
-A11CAE469C804352F61A481E9D310837CBE28ED52360C40C797332D4E8F3698B
-6E0ABFC483ABB844FA9EB69EBA970A30135A852BC2C09A432F152732CC8D8979
-2F514804F9103970D096ED53752DBA15F0C8D49B27A259B6FEE0AF098A4BEDB9
-D5F2EA043F4A3C8B78A64F58EA0FA6CDBA92683DCC4BB0E492E21885F7EF5995
-409CC1F4D762114A078A015312A0D0B1118AD4D0294E78F70A51669CC4663802
-0DD0F83EB9F1439B7BD169AF910558149E179F4119281B6488AC3FDA295BEB04
-D9FE0E7918F39B11D51A0FAD137591B57E17289AD965EF40C6350D53246A2F56
-04740DCB5C609AA0D67693A1B8F5B1A33ADD9591D00810179740F78342C663FB
-75D027DCF5EAD828DD867226E05B52EE436EB7063CD803EBAC7D83F84D4845E1
-284D2FB6BF594C6E4127ABBA5A2E7165A7E677B0E077DCE038CE862437799912
-FB7F5CFAAF0517DF5F48984443C3D568F2C2095A2046B7763CC16931F1C0E97E
-E96BBC9F32EDD56CA92355941F4FF6380F03F382840DB606587F39C8A53643BE
-1693D61D6783A0D7ACF2E96F03D9178263ADA8E0C32E01961A319E96C81451D6
-14762928E3B47B0259049E5A00C582B8E0F4EFAC2BA34494F1BD2EAFB5B0E1F8
-42F062BA35B374B6873481E3C9AE60DDA2A1675A40E783E594D0B2516270BFEE
-D10912B52FAA4BBE90B077E6878A0F11ADAE5F246A847C460DBCDFD52683AB90
-4C3129F23DCE2E64CAB2BE2FBF28DB9E736568D4A809F6FDC4AF772965FF380D
-9973F8B9FA0A6A759F4E2FC5CD06B2430A8E854D3B044178AC5A3F93D2D212CD
-53C7FE0CA19D4A87420E0B4A7F5F99783C2A1404957915B044CAFA04A6AEBA2E
-449A0200DE050029B73691001FA28C48888C0C7D5A4F00A2EE9370818144892B
-A6EA1FE7B0294659784C6101F8A47EAE21B3BEA35EAC76ED117FD039006429F7
-A03AF3B240A50D215FD374FBBE77BA23080228772C2949C9F13F708741EF9F3C
-AF7BC6680BDF553E0E15C223870D021B078BD0CB44E31329997AC8A473DFABC3
-66CBC0AC6DFC0D108F71B5846D16D76C91D2E56005C3CA3E6BF53CC29A5D1439
-30AA6E470E7B106A97BE43146F0A0634D638484CC89228A98A9C03B58116EB85
-C2D1C0B95761EFB4A594CC60BC184209A5F83A713CC2A0FA014341F457E53636
-52CED805B4ADE0A9258F0104115EEFF94D33B4480FE217106E90131AF1BA07F1
-AC80CD4F55D4267FEE393446DF4BF277BC37AABD16CFCC471BA00DB24B27E92B
-1C9687480441D46C4BDC4DEEA8D678DBE0B573D490925818558578D3A831012B
-1993CE36F1457FB418C623221AC45118277BCCFDF7FF0B3905BFE61819CE672B
-C792D34AD29716B217E3F6BDED6EF77AC9DB96453D8DE7A7AE06ACBF3BD2752C
-9A1DE0BF84BD44FB2757F8E00681F546E3FE2B32DF86E17052D3C7C76329284E
-D56F4F8AE46EB1466F4EAF300540F8A013AEDABCB8BD822A2C0E0B95AB1BE8A0
-5A3E833F971763009A60B792E42B40E18A686BD080D939C8FC03990B72AD71F2
-EBC4E9D4D06FC3D49B5B9E74F2DD2A59C244DF087DFBD51C34244A22892D5F52
-5C472583621F8F75A0DE923F2E2260B70043E36AF68A8A847A0A1091AE6AB8F6
-39C743BDCD2BE890D64FD4E106E2D67D5F102AB381829804B03FF121CC6EF02A
-A2B5AC9485D298889701D95ED06B05B91EC99A343B3DB94D10E927CC1F1628B0
-15EFCD5F926AAFFC8E9FE4398B765A4A453B1CB23583D705FEC30A5C6C591BF2
-405B5CA556F1CAAB0ABDA1585510FDDC8F4BFC256EE10AF26BFE8DB5FE6FA800
-171A5BF5CDB87DFF501AA965EAD557F7DE57E8F33B01A58D6DAC6111FAED279D
-DE7E11D29A6CAEE07E60C3A8AB3EAAFAF873B92E69B33E4DE1F03804CE577957
-62B885BABF1D593564914C1AA53F689E5F287A320DBCC2150CE37834849514BE
-E6B38CD33827EC438A2EEC0E977FF07A8CB421CC075F93F542684D448216C261
-F9EF8FE81E4BE0E56B77718EB055B7BDF776815ADCD582904556795B2FAF3FE6
-070004954190BF55D08BCC8466FF30C35C9FE1A612DED643538C22BF2D121F05
-FEDE386E5F554CEA94E6F04C6984A46030EED8198E1BD6655158F4A52B0B7CF6
-0AE52299350AB52268DA0EC274296F8039386DF6413FC06D06144457E6C433EC
-49DF9C5F5A30CCE109718634F2E148450BE0A3535977F3009F6533E268F9084C
-03071DF54E0BCED1A7D4AD5FA2695DC03982BE6064A52A75C17955725D1EDCDE
-4184D8395CFA91FAAAA2458D1B6505C703DE4800128BF9EA91CC214E61867A23
-65202DA3C9A1782FED243AC6995AA76EA7229E27B3B38895BC27A339398244DB
-14D1D69402444608FACF8FC6FE709F2EAF2769B04437A1E6EBDFC6783A44BA05
-F810E179AA3C1D54F208919214424F3F3171AEA189E8B973340E516489F45EBF
-B91D03A510D5022DB0BA8726073C388483D68B466A909FEAEF5DE111F636328F
-3B121A23C6AD7BE58C604970952F2DE35C5B4B8852556C59C8151A4C59029C43
-ECB30141D0748EC3CC3F9F33BAF904A86D20C771C4488149D6DA989C03D9ADE8
-CA5628A984BF2F7B9578A06B177A44D824DFF9DDBB977E6251BC4BBDF2951E21
-7AD34002703BB976C2DD8CDC95FA53D880207F26BCFC82789745DA803DD0242B
-FA369232379C4AB733B2A6F70E3DA29EE22C7BCD56108BEFB0060C6DCB50A16B
-E8694DE9A114BB04A3BB5C004F9BBB01CEA952A672C15C7AAD6E87CC3C454E9D
-06F996DDECC3E125BBA32F39E01609E7CDFD278A27511D6EC225401A6DECF2BA
-5A4DF0487B87A5E6B3A9163B847068679AF34FCC291F14F4245EFCF31DE9C0DC
-7291308253816224FC938D3B5FA077F220616D4574425959CBB4E0A0F1D80EE0
-D2CB9D4841160614AD10A413B4976A4117169E04D32164B3D311D99395706888
-241F80FDBB463C5BB9FDBAB1CA938F98F1B65EFEE23E42504E3629D68F7A6F78
-211CE4A077550AA1254F7841B21790F14B47EC67380AC6E18F5FA87EA47E9C87
-5EEF447A5CBA979D0F1A23595E11AF7494827D028BE9CB68E931E3B02DB8FE21
-F23BC1F084DE604B43A9AAF0F12DA6B945EBEA75341D2393C67FC123CF662DE9
-68A11E61C62A18B947077D68D056833803ADD4BC765C2720060469197C58EED6
-C4DAF07D473376A2135A2A3D2978099297A519F4D2295F21E3CDAFF0117481E8
-1CB03E01D6C932A44A674EFB92707E4791D6A3296AC587737C068821CCF69209
-FACAC062319208BF7FA643966317E102B306947D8068FEF15591B227ACA560E1
-1DA2FB5869305CCCD940FC64D9781F35DF55D1DE305242DFE17E749F0B96FBA7
-A0BCC035B7BDB0991F94F715415B09B3DCB4025892DF625F9388D1F08B1C6920
-4F3F6F2D70DF9C4AE3CB0444667C853C5F120FFFA8A9A659974E92734A463705
-48A7E62BBF70CF0E45280174C1D32CE977EA7B40ECBFD780C063AE67FB6DC1FB
-B0ADC9B29460225A39A7FD5FF12A3154C8EFE20375ED4106C8303303CB9BD9DB
-62367963B5C2B5B21B6ACD9269A5257A398BA07BE63C5D8F0825C3D78A3CDD00
-EE7667D8978F819936E360432C5FC022E99CC2768BB27B6DF31CFE6502CD34F3
-5063946A08F1BA5C2CE8EA9AD55BF49D2D96F41C84DD116099C79EBB3AFF2CF6
-20029DE233BD50EDD5660007B67F45D4363527570EB08146E74256B51513ED0D
-7E5F7C63577E8589956CA7962E7505479D4CC9A05A953F63EC9833D48158489F
-1DED6FE3D107EBAC35490AE9F005EADE97FE49FB07F2DE996C055419454F0D51
-BA55DBA4B6F3EB5490D517AB69A6AA50F2AD90707B5EA4228B74ED72CA7D534F
-B390BC960B0A7C1AF6555FA5BB45AE867464DC13CFB9817DF771BEFD34DA9E2B
-C9D840B40A121AA85F88E2976E120847CC18F6C81F6EC0F0B836294963A26ED3
-E7873D0E643968C30FA6492B6FDFEBC685A0A5F2131920AF6EA2BA9C9B0B2223
-F7C1C61F0D03CB05FBB25B14B6680260A0B9A33FBF7AB00129B0CE4C1544DDC3
-BC14969A0A337839A0F964DE7B6EEF173F5B29EB29733F77466585941A1F5F1D
-3522FECB8BA325F39E0A6538A9CE35E768FFEB7B86EED633328B2F718AE45999
-15DE6E114CBB05C7DEBF42D04A4A3EA5E881EAAB51C41F579821542C867D84C5
-04ACC29A2AE9D72D931B4CD007654CA7D9634ABBF44C0E91F6D1162A876B0AFC
-37A269A209F2A79583B87657BA9273AF35897F0E4297FD568154680AC2280A17
-D3E303FDC5A2BB00EC5FDCBD438723C16E0315FA5AAD2EA9E2EEFA83AEBF4EFD
-88B98616FC613A07B9A40770776A8A21076F95E22DA972178FD3C16F96B38F02
-55799901E67483F02C32895F4DF3523D770F373305B4622A3DA717496EA7E211
-707EABB98B076A465356C52970A113EACA114DA4F8ADE9B8BD6F1F836778A7D4
-CB1710A7B06183C4923ECAFF807F2F1A871F7701F260E1EA5AC5CE1045E53996
-5BC19C646393F1996B21F3674426988FA5BD65FE0984CC303664EF9BB133C186
-EEE4D3C35A938F81501422AE76414552A05E917CB15B7E4F531E33C0CC21234C
-6D6E0038476FA8D50B8033A4816F5F0F0791A6D2392A133E7E58AFD3C054DDDE
-081E1BB0C75B1329FCA4384D1D8C055D909DDFB8D608652A29FD0D7677A419EC
-34D296EEFFF2EBBE660C719AC4DB51BFF57F891D5F8566CBB32C4D1FEF4A4815
-AE11953608B6A6E27F239CFE40F705A3EDF9995A19D211C19974232D5732CC92
-21D3B13A9D9A1B2EE8F1EF939CBD88FE1C89E0F6F74D1EEC5A5627B309149A86
-2847232869871FBAB1F13845694335792D4F297AAF10E4459FA0697057CA9244
-43C9E84B0E40AEC89E4B5391A637E0D83AAD93E44FD388725F5755F0757E1F76
-3F61684632E01A151EEFB5366948D1B540799DEB2A733F2C8B402A691810A071
-E045CEBAADCD48C9D73D87E07643E790DDE1FF3046645EBD2839147784540851
-4BE9DD7A8313920AA09262AE90E598572BC776794BFA3DD1CEF3F8D87D8523BF
-55FB5DA33E2E33DF3828AD100485721AF814EBF0A353A4DEDF3D2C6F56052C1C
-A6884DA940039F2ACEE9F2844D376C53A4BFAC8CABF05D2AD85A8FC3A68CF53C
-B68BDEDA7A0DC381D6162F684D5EAF44C2F52F6813D4F7C1EC873BED0ED0DC5C
-129CBCBE89561F84EF73AFBCBF37A38293332D7A444F34F68815B8E17ACC121B
-38D268216987B994E4C97F79CB025BFFED741F274E9D5DBC4A4BF7B91BBC9505
-8FA085D64E720F752D79684FE7EDB105DAD9D6384497815E0370BDEA559D7395
-E1F3C0E81D488E026AAF841B57E7548F408B851741A3E37DBACC7D509987744C
-E675FD8E781E7FDFC523E48A13C6DF88CC593B9ECC40FF138647E40F220687B3
-59F8E2E0D51A2F30AE2332C2593570A4821D99185B9D23688D94C5AB8396F346
-733B36D6398315CBF044E5005A82815D67B2ACE67419E994B97FBB9CF1C26B07
-EFE03E38B9F5F24AEFEF4A2008418892101FFADA6EF06A100664D8F388B72E8C
-30EE94F9A769D962C76442935FDD6312D001582A21C2DFFF7B8B11D55B28D113
-B98727B1C485DC9959CC5CB0F07A4640D7024EAECF335B22F907FD1E969CEC0A
-785CE260AA8B9D1104CFF3859D9255C00A77995AA8005065B6DA3DABACD56108
-452B517990C8FADDB70B20A136FF47FE428A7D67FF41CBC8425B45A8E30DEBF9
-E64AC7BF133CCE6FC1BC0F6D1FBB0C2515C1DF2D472ACB2A42017BB35FEEC968
-894F1B4166DC8A23E99108664D86D921B30AB994A70AC291F77DEC511B1FBD6B
-45D9CECCDD32000D82FCF1FA75B9578C33F50ED94823C2FBFD33085F971791CA
-40BF66EDDBA24554FE99B2F02249F00B8D6EC74A26CB8557FA663ED522A5A42C
-65DC855C2BBA8BD7B7043E1C9965E04297E9970C76CC0707611FC6ECF103B8C9
-70372BDD73D9135DEAF52E80B5C73A39A6A52698E2359C00A6B600EC5CA1338E
-A8BAF91B6ABF307EBA71A5662503D254D68411F1A96B5E762E6FE75692D21DED
-08118F7F8E2867F818921FE2A10EE3BA25B707086C93C14A752961EFBB2B8C64
-65529E24CB3AAE449F63572A97160B6A942E277BAA82250C4018901FB86FFE98
-CA1BCAE75B306DBE2DE8FD396CF82CADFD2A8EDB9B686207A3FBF4E53BE1B823
-34C4D916ED2BD1073B25A562C705E0027A59D69EC8AC64E68649836BCBC8343E
-DBEF37D4FC202E06A021E2C2550532AF82BCEAABB88A00C53C7F0F9DA6E9381C
-D80F2D57B4B60B4685AD6C0C2A3A9DF2245B296F20730798C32AD4F2A2F7CBDE
-5AC918F90C7EF9C186A34BEA17308DAE2DAF6BA716695AE4C85CC379D696D945
-FA48F2C681F444666A33BDCD48331292F86C8AC1239AC7C9DD282AEEBE502604
-AA5996885D68A4448BF6E926DD5A36C865B456A2226F6F120180C43A28A48F46
-71BEDFE3BC3AB3EDF325B265093996C4D7269A82AA923B1FE8DFB925BB3ED613
-6FDCE863EDAD90B171CEA83A87717143B6CA181EAFE46C4AE9F7BF4E0743E4A8
-0631FFAD194B78B24240A032F3CA5A5472A4E9C6A23E10A3A0565E9B7F8D1A2A
-3148D05335533D156FC52950BD2BC6DA91F2D95E4C440847A6606651EAC4C7C1
-FF63F2D3EEA189085A032D9CF72B3120418DEAAF11F0ECAB64F7784B2AB0913B
-E56383E7B9B70C41BB479BC36CFEC7ADA6CE67F4A28A50DFD0A69F615D5EF2AC
-7D3F5CA3B43F1D4A19216917722E1E53BCA3D4169C390EE8FD55842EA2C639EF
-280F97DDE120895CE226BB9AD12098CE9F70DD3AB52D62F1CB2360D2613E808E
-032B2DD16D8D5A4A0571145BD5E8273A0A35CB32D7B3824A61528C76164BE944
-147073DA37FEBAB102D0F1F2A1669AD9626C6E6396F2574F9E3A2369BF327733
-2FC8D58C7DDD0A7DFC6D125389BE4FADC7886F3F9F01DB3DE5DCB7C07D4B95F6
-0E1E5381AE62A0873CADFF1871D34A79D6DA883D15C2519259AB444703635898
-0738E3EA96E47A0A3C9F18F33A5E6B143FDFD26248F7BE5230FCE42A1BF41B0A
-EECD8FF8E98A4B527F4A2E20608DBA82C75F88E52A50BE6D44AADAD6F1A7C599
-F9E22AE54C45AC17D4A22E88E063268AC226A8C56C8853F5DD421F5705FE0A4D
-38D3160AF85978C947CFE0B73FA8B565F2AE8EA9905F2E1CDB4B6D0E9C11F455
-AE02273309E462F812B56A7273471642408C61E384EBAA0B6F1E1A5EA99890BB
-D96B77166DEA7FCA102D92BBF06306F20C230032E5898245F3FB140C8503CC52
-60F8F349EAF7D25A3DFB85BF940E63AC82702FE8CAE5B89114D2FCC0A4A04E80
-38F34203AC08D96D9C06B656DF48BA3ECAEC92DC77F7291DEA3BBC7A0DEB34A3
-0D950D80EECEBD97B9B03143A3E28FC1A8B0C90CC17680CF74A389CD4959F1C1
-BF4FD5413F53D7B138C998C2EC950C0706943B0D29450D06E0163047098C8A6A
-D7099957C42B4AD136869E6733BF10F713DEA2FB82FB0D1C3EAC501DBA2FA1C1
-16898D977C31C9865EC7F84A32BA2B261E5235F879CBB5C89A003A084E649678
-9D96607335689D31A6A2C584EB4E254E4D1E68D14C2CF64D6EBCD60E00F2BFF8
-78B2BEB54D817225B2C4DEB38EA95C505215400FA3F3C504A5C0A06AA9B1D4DF
-E3DB71D5DCD12F8DEEC8490A6660C8450563B8EB37692B5F2A0C23B0E0D83E93
-BF9AC290C4B5185A8A25AEE6117EF0E73926DFB4910DC288CCDE8C5AEBA9CE59
-9249FC3FADC7E65F0A7403B7D87EA2D1F716E28AB5FE50B309A251CD26D8AE9E
-B88994B4BEE92BC0675D93E1DF95778EC16A7C2044878B7FD9AA12DAB04A36D4
-CA4BB44B3754580F62A6058532B20C71D79BD3E1F26CF72B5D59CF3E09E360B3
-8B734B073D7679ACA54DEB8B3AC4414EE6C4A89221D5CAE95A07933069CF3519
-32BDD4EAD871610DD53821723FF1FF111D8E7FE75BE43966541FD43F12FF6C39
-AE98DC831809DD6F31DF88B35A1771B9B9088E804020F6467C2754A3E107ABE8
-56B23F934D6553A9FACF2DF1842CEA8F2C332D90DF6A4E7BA24000615986547C
-21CCBAFFE73A7A26CA02B6C739003CF2D5215156449BB3B21B220DA460749393
-7E3B1C06A75B065407098BF4A31116C581454D139970E8CD80EE3137CA4DDA9C
-80FAF0408756CD533B6B98A588210D8BB18E65EEEEC24D439CFB70411F0FBCA8
-D2274A3E44E926597DD473AD960B8555F7812FEC429D13AC39BCE9C4971E1760
-3879026CE0EE2E247155CC83981829602F9675887E16AF1BD4E90798CC26B4BF
-01563E938634B3E8E0B4BB573AA0DE6F88D043952B9AAD2D6142A29EC87CA60E
-7D8EE5CBCBCE359CAEF888F4FB74F7D8CF8FB344E9B9AF2A2968B81C23C28343
-7C5CFF58150CE6E192DD86056766677CD72A500995C9D6ECB99A3E007F007D7D
-2F747698989112DECD3E4E065FE363ABE8AC16407D41236D8BE271BF538832E0
-2DB056F0A43882675EAE6748EDCF075F7245B152307E2A545342D0757722482D
-F70EBEBCDDD7B4A55556917E3CEE954FAEC5A1893377B62921F8FEC13FCC5977
-91DE2907BEADC05713BDE68C4FC17ABC5AF421D29CAA33770FB9CB1A41971DA7
-19D3E5CCFF60F2EEBC91F61D42EF19179EAA35CDD768E5B799A9CD35C4A44189
-905DDB9878E31EFBB4AD310B0CD1079FBBF0D1D43DF170EDEA5E7487E9079770
-6F6313314761201D5086B954A4D7C5EFB3C18202D7A2491E1EEED2969204E8CF
-317A9DC45EBAE21444C664A83066D15C09AD161964631E387FDA3BFB75F82D9F
-F83F32438A5E1AE1B93EB82A4AD67271933BD6D82565F46DC7F7E87199A9B777
-C869C3913A82550BBCA535B88E30D6C74392F2614F6B2AFB754E441AE235DD20
-E5C6CB20AA857F29E611DA9AA8F01DD449034750FD287F01E7898BCD8313DE08
-FBA363691CB3779B2FA3833A4290A2B05B11293E7AC6F148419BE63BF1964EE4
-CFAC7C3E782A1F6CFD9D540E6CF732B1423730745C5916742D23A4433B928C07
-3A1C7EB92154520387B59DFE36691F2066FD2114FBE8DA298BBAF1AAEA3671B3
-F018055DF8FB9DAC318EE729A009BE2065CCE3F6E89D3B0C54ABE5CE66E914B2
-01112CC7D23B7D32F42CA430B396B131FF952DB8EA8399974E659422A2B20F8F
-A36FD62FB4A3EF7ED88D3196CD3BC2902E18BC23904DAD080812D22E0182A111
-7C451F2E699AFCFDB3FC5169B450DB272C15F07425BE15096BF2E5F84D5C6594
-A5AE02F2452142FA0E8B10A4D7BA40C7A17DB2E4DEA1E487FE13B3F11A240B08
-25BCFFBE935EECA88585F625B3EF5AC1633F5BCB914809054D2A91D9FF33ADDD
-8C2C1E16A067E9E877BB55FC24A23A4F072994E05D7FABE0C96F540242CA11A8
-F9BF0BA5353711B9AC20E7FB1CC8257DB334E686872CDDBAB3621399D9D80D38
-C9CE4FA35C3DFBD7E35939F8D1E152A17628DAC7D8CE4F0C7FA5F6ED0209585A
-486B55779BAF5D7DA969D64097B70C04E48E88A5B37D9744CAE562E7DB44C7D9
-C18382D2CEB3E18E8D13154687F3C48E264E86E552D8AD9B26E2BA59EAF53CE1
-9DEB35B38B1836A9777973F45940F7451B0140649FFDF7A139B97FE350FD8930
-573A3075C69AA77A3BD6CE95DE87A3E6D25BFD27E8D0E719EE6A1E4E0A2B3F03
-B49DC4B4B118BE0CC01B838F758EB7695C01134216A43A0061D1347D939128C7
-DEFC8E77E12F583082E52259D015B6C484DBF304275769565A4043F57741E8B8
-FB539C1FBE5DA3CBECF75573CA6B1B73FB55C59CA1D1862DA94E78545E7EC442
-3E71BBC472AA58622161266D014AA648FDCA0B2CC820797C972F8C49B9F0D60D
-61011F5EAE816192D1B46525FFD4FEBFCA202A5F299704882D9465DDE13C111D
-BCFB333E9C4342C6853564F5541AD5D032D2F4A6D6799D351EE94A03D59C862C
-0C8F89115B433367BA0496E31763991C388070050195EE5CB8A48DD6A897927A
-EF7DBBE723EC9DF21BE34558B9359D2A157548701DD41F85D50B807CCE212443
-2E1559A35D4F6354D09382342761B912CAB01973A01B27362CC88B0CF8068DB0
-9FB3CB57DE4F41E9FA491D86DB25D4ABFD43FE9257E7987F74EC25D7554C81AD
-2C03240D43BD35485F190BEA535DAB2DFB4C46811C158C55899CD939BD8D86C3
-249793FDB058CB1A08FE4D7EA058E9EFC499C7B6B8200BFDAF348194FE31A7D6
-3A25E37CAA086ACB1274C501ABD2E8413C631F4A4E0E7A89C71F31AA8308316B
-10E95153432034738B17B13628926A5D3EF2E3B0C4E66C907E8EE06FB6026CE1
-D5A6C06724E375C5A9AB0F8FDA51A5DEA40EECF446E96A23AD805C411392AE90
-07415F9CF5164B0D870DA8551BDDFE1C7ACF66DDFCF5CD5C885C608F9AE87ED3
-8376AEE904EEFCC0A11D78E8E0FC77C30AFB4C3F31A37333025F7F0E0A367BA1
-2D286CAFC428E84F63419F780C08264041161AC8709C4771C8C365BADD96BF62
-2AB25A322F48E04970546C6DDFCEDFB42673B6B88FAA60D19CF86F04ED4069DF
-535232AEFB85703EB6AE984FF2F8F1113AE08EA4FFD2681B0F8564C411E6E3E6
-222AB81C89A145142125129CCE9A47CE8F2691E5FCD5C1B1EAC5B7C9F8826ADD
-75A7BCA447BB38E9290426A79A7FB93CFCBC8B1D53A7281260DCF4C90E101D35
-ECA0E5B0DF00268D899419BD8FA490733F80858A7CA2BDFD40128A81B1A35217
-D80AD2D065C75DB7CC3819FA33D5F3FD0D27EAE7B23A1795552FC1162CF981A5
-6D53A285799070AE45EC14BDA455BD987165955451C07A19352631A1908373B4
-8A8BA52F80D4E5F13F93652791F7163C71C59CCA4B62D5224B38B003488513C6
-8C93AE7CE3B4636DDE0D008B3194A9C4AEC78C0800B08E46C1EF0DE9881E6BF1
-415FCECD02C22B1AA4D11B30AA66730E8FA833C4CCE8ED814E077EB71AD4B835
-F6CB797109700852450D7E9FBF3102AA56EF817267EE1AA7EC1A6A573BF08570
-380E2B3921FF9A6BC5AE23362BE1C6ABDF998AFB767AE1CAF9388B88A110C79E
-034A92F696D49BB5EAA1E6B0BCF07EEDC09D8CFB378FEBD7B83232F4F0AAAB40
-89D834886CC59BDE5A205A325FEB86729317D1B50C856302625054DCB22083E2
-C09F24D2703D9B5832B073C3EEDBF800759917E4CB6F53F234C8E180212A1463
-9C64F47805EA79E0563BA9EF48E4B7C73BF0BF4983D8F9B6A71C8E977D57155D
-3A48F9150A7BECEFDA07D7AEC66A5BE014237E91ABAE9DC0DE0C7A967B33AB83
-73223B33F7AF8B139B3AB187D4FBC8A7AD8FC07CD5DEE0A9E528D8B58FBDC618
-57D8076FFFAC60529EB33BD2AC9762834C4172D626325F8D419C0B19B8DE53BC
-C8CE92A58053AFE26ECAA764978E7309727C518917E8321106385E70FF8903E0
-1F760625C26B174A192E2D83C7FEE0ED596E3DD50098A9EAE1C6CDF9522CB6F6
-3F27E9EF5854B2398821E0773F45812E8750DEB95C38A50023B7E9DE639760A6
-1DAB5D3F80AD1A965D3764FD17ADF258C928A2381951B60E1EA76FC8DF583963
-4B0B44E0A310F7D14ADF64A245BC3C2226F2A8C5AE02CBBABB28ADD50265CC61
-0852E653F072F69E0DF0905A8777480B3546C09A95B695BEF79565698E27EFA2
-17B00C30A1E50D8DC3A03077FC7F4B2B390910BC60BCE5C8D25EAF3C61AF2B70
-7EC02EAF0316C0E14D71B67B568D00CA92F6DBBD85ACF8D776B34B516D8A472A
-F193FC6584CDF4466B3A77ECE231E2BBFB333A7F304F075D25B432103264E69F
-83726C57559AD27B77433B4BC55855FD9753889533B79E633842690D020FE86B
-A5929133FBF5A7B87BF1E3F6C4136B8023EDDB373DB2EF080182C8441A993E85
-78E764B96F40DE9A6F87F2FD0607548860F238384B160E4232332E07F52818D7
-43789E4CEBBF087C5ADC9A015B98042B2B2F8F69B5BBC78C95551C185B73C27F
-EF4E6F40506C79E28CDF0C870911FB271CEF1D903D2538B3C29A8C3AAAB19CAA
-
+260ED46500F88BD388506DA361B0E9FD796196E66B332C82CFFEB7974F9E4428
+B82C64ACBDF865B4356C4E2C8E6ED840AD52C326F7D4869F5BFCDA189FE81641
+832D1FDAA78EEEA4F41976945501F32BB383455467D217777DB74219F49EE8C7
+89A9BC7F63500C8A735DF316A6823E6ABD3D815E7369EBCB3C06B404819E48BF
+00F1A4AC2AA9ED69D6A974D6BA21C4923B7B93F52AEB5D7015E7FC8611A4E0F2
+A5242C167F9F3A9DE6EB0786EB41F72EC2051BE8C69BC1B1B47F21FA1BEBF913
+0D7EC2A3169AC17909A5BBAC615E64359C00C372BEFA892491D23712AF8C81CC
+E4FA41958C4AC483487725FEFD17514840A8DAED5656D30F6676EE5B168F047E
+593111CCAD76A790BE700F40845719C742C604416C9BEF74E50B7FB02CE92C8F
+5E0304486FF092FDEBC48FE92F1F52FAE037C4B1732069467138960FC946CEC9
+B00FD964782929B9AD606B2AAEDF7500359B651D48580BD33330FCB2407ABE56
+D006C8BD1BDE90C70ABCC7D3B6186DA6BBED163DF48D7A8B32CA1902B754E7D9
+FC214E64D31D5AD5AE0B3173DF92DCAE433F2CDE165599A1C215236AC9534751
+86BB44083AEADAEA87780CADC3AEBF28597D3577B2DFCC3322B4A0C8FB994DDD
+A42FC7D1E078FC6226E7E00E79197F001EEFE43DACE61835F9F2B68009B65D20
+582467F445293736BE2E3E2C0CF247224ECF9FFD37BCC76EDFD31368D2F26B8B
+5EB0322B44FF635A73A6936F73859582F33AC1160F6616E30499ED3896F2C687
+4D6C2CC91C1BB8DB13F27E1CB8F68A2E38A842C7467137A3435F71A463998130
+CD5836CA448E139EF8FFD2E4F5F8D7C0250D45A42B2419EC7A7B3B0BC09305F7
+CF0967E85B2F51339FAD5776CBFAC932048FDB039C9EF6E90A79019FA9622A92
+3A5E8EF2336DD18F1B504E989A98F4F9501DCF69FCD920AE53740A9F9D70195E
+C25A9858529B445A93E3A2E9C542485F86983F69F2D314B33AAFF216180EADEA
+AADB62FDC1625F363D784CB1E372FE3BBACA8E9942D43400E1CD716E472C288E
+DF4AB8FF861F2635E835B3EB01BA56E16A9A50BFBB44CA544C1F8E8B4937809E
+EFC33FCDBF9B0380605BB91032980A58E8451B04C9C5771E2A2E80F0F0980DD9
+505F6C8B216B39CBA66474ACDA857B80BD701F6AA093E2330D2F7D6CA6A129AD
+911EAD4E5FC1818F6A4EEDAAB5FCB6CFD6582C82A5328A129014399BE8217004
+EF372A4976AB13089DDC03C0061932C2954E3B3365E4FC98747CE4E05779D38D
+BC544D15C2C0ABBAF5D0374F4751EC5A6CD6D7B0A67E51EC762805E5587BF103
+3F9B3443959F5A9C1CD11891DC55FA47FE954C1FEA592BEFC735A2318BEC285D
+14F4C4EBACB91CA7C4C3E0F076C5E0310C357657628032E94584B384B19FE322
+5EDAC73733EC192187F028F3F6D9AB27140D799D45924A38683D5F92C8C6285C
+9DE66A0A9ECBC9F59054D9D03CB913E899CDD5DDD755566EECD5180DB6BA4510
+FC244A395EDB3DC1AA44F88E7AD74983B06C93F19ACA5D48572EE12B23BBB1AD
+6A6FEA136FB1294B0E12F6DF56A9A0276990E3E4E7027D41DE471FFAF8117FE5
+3DD9941E02B6750797BA878A153265967EB0B29244729949C39522311BA05F38
+A0AACC9E8978BAA786C7F85D3C869707364D7FEDC5737126406895456839A067
+CEF34760D0ADB87D95FD034D026683B786E131486360D8FA0E9573C21990A666
+CEA3085429F1D569FEBA7F02CA32B3A8A65885FC25ADFFA3165CB97DF5E00730
+8F32E045C7B2A5F96DC270F846FF246662864F0EC43AAABD94006F5355AB2C1F
+68A8284D6CB8974514BE0DCB823A943D67D4ECA2C3DB223341C9CB09AD81DF89
+1D8158CD2563121708A43560AFA3396D61285D2BD9043CBFABDF2A75B91DAC3B
+FA2276677EE444C08EF8F25EB68F625252C73B6E57B1823F0B7E3B0539DFDE67
+92D7A8B391B01B53497D4A5ADC5DC56D6CE71E37D93D1F246A7544A19B266593
+43898136491179CF62265CEE84A98984C40FE94BADC196EEE5C2988321E8AEB5
+5E6D5AF54AFD6B1147E4950F9D6BF4D732DDFA4EC5867EDE061E3CAF13DF2021
+96D14A9BB98A6EE506D001069DAE8F592CD7B85564B435F0B1084C1CE10D88EC
+88A74BA11029B60A80FF7A0C3D56C1C17707DFC270837C6C6D85DE9D83994D17
+3976A7E98C34A11CEF234FE9EEF6DAD47997596841AC39AE5E18BAB55972A5B7
+0DDB5BCB504035380E2296270A47D69D7A31911CC590F71C776DD313684831F7
+7221CBC90AC921247C320A48A90B387924D9FD599049C421032EC95E9482B010
+944BDE291FE248231FAF0B13E5139646142216E116C57F5F3496D7718651E19C
+57EB0BF3C8F0CE8B4E10D5EE6BF9B36B9DC87420973E17B3A05B82CABD297239
+80D7C6EC0C13AB1B1FA48BC6F119C99C90C725677AE4015900AF6B1F634E461D
+C00C07AA2B22CDA45C159A79DA4168112FAC556353A31259F413649F77B45ED6
+4189237119A17374C20CA37F477EEA80922E6E22E2A575C481A8129AC41F4654
+0AAF818B4CAAE9DA11DCCF531C7C9ED757C33FB40363BDDD80057795E259DC14
+5FA1BB9A5090B21C92782C688D6628BAB06C516EFF0DC3FE6347146667868672
+415B8A6A89172FFF885E5C9A2F01D8BFFD5F057945D2C3D9A6AAD62735739AB6
+A340BBADD7C15833B367957AF8F44DDFD6FB691F0F1E4D85F84D80BF2EB42066
+0B67031382586543D505599808B1D46132BFA5B77FBFE9BC7B689ABB6E899B1A
+00D56C8AA184A7C734911F19DB34E935E2087BBC0D15BB529036BD73C24AF691
+BD3242631C7541421DDF84AC7E9B7349DFFB2DD5AA11C917520DA78470C46542
+1E9E0011C970C7DC4E65861747B9C12B1631B157A0704B91A02DB671EBB5E386
+940A6F5939F20CBF99163DE8BA963BEB22161F612B314CDBB6334213489B96AA
+621444217A5D1435C143479B47FC5FCE3AB0788D729A4A1F029DBC94AF166731
+B20673550A5C9489DE639CDFF1AFEC92CD5BCB00A0406230263BFF12FF2E0157
+C27B3C331D859E29EC39BFBE3076D9B159B269C71C110901CEAFE0B3BD833029
+2A4692ECC37ABC5F3805E7CA3653C677C95E59456724F6562A24624DAB7C57D5
+7A34BE46181B52DE1D01E2A2DA8222E2D31BB40AFB3924D79354973F7A67BF38
+BC4391960D23D0F317FCA92F0191E51ABE703BDF07DCD28E2FB77494F6EA15ED
+38032FAF4E90CB4F75F7BD02E2A8E79530F76B4F0F02CA602F31D7E5031A8953
+C6F3C38D25AD19EE77A0F4D3CDC17BBA141E72DB6EB331A3B0B50A4FFF737D8B
+455F934A56F51A5A4D19ABA0C3CEB3B574AB1A9ED80F40BEA61B2AEFF7EB98CD
+4B6A7F2E414E89EFBA4CF541C1BD3C0697C39C7338B6873D4146013AD76D03B0
+6586C68D4FB8E60B7A4C3A40AA6FC93C39CD37577B72DC97A150674BD92349E3
+30EB87559E38082463B3ED0203AC8873F113BB08F681DEB4870075F46B620343
+6A1953AC9EC496BE435CE6DC593152EEEA6331CB9945AA4FE008937E16A9F570
+3E2A309C5171F683CFE26DF6836EE5FE3A4DD04C4BDB109D56832915B9B32F97
+F3B44A5D327125246A5BEB3FD21BE265ED7B5B1674922F26DE19C9F7F6495444
+9DC6F6D13F371C756A2B862AA499032BDD961BE5B4527B45C3C4D74E23260CC2
+944798F5AD2DA5DF397047D040940B8C916E7F272B21734BE30CB5E59FF211E3
+7EC389FFF7D3EA7358DECFC374280D67495C695C6EACD289C9E7B735D5DCCFF0
+36A614F61465ACD63DA0D2FFDFD4FC801E1C93EE257A04DC26AB406B149815F6
+21870221DF60CA8ADF2311C293B41CCD15E75A0433F057070C25F0D2EF94E4F4
+ECDF23A7D617EF72B213A03730ADBE66A54B1BF76049CBC3A3F035D31BAC2898
+63F269297D946552549A259B9C9601FA72E45AD8F5D0A7FD4DE2D32211C92A41
+7E764DB6EFF62D7CAC71DC4E92BAB291585199A4CD51431DA91429CE4127E30E
+EE8FCF90605AEF343296596357A978DFC772DEC9439BABD866E794CBA07FD9B4
+F64283A6EE91E42266FDFF7CD69847A940FE7C0181F77D55A07A16ECD9AE83ED
+91435DC75F6D7C5AFF4DD7A3C20EE0DA4BA99FE2036A7B7456AF936659D9FED4
+FD1939EE0AD25B550E8A655AFDA23EF4DA39777AC2A04890F29C0BC97DDBAE9D
+D6347B5469A0EA8721773CC685F7066FBC2E8A1574559E8F2955397CE23839A5
+7E99457317916D57AA5B35FECB0706FCE9914535A0F487831925E4AC4335EF33
+66890184550188AE57854F3ADD15A0991E45EDA27974C06E74FE12FA49A5C2A3
+F276B5C2489FB288F49D072C468FCD9037E4D99E1C40F18D80D1E63FDFDC427B
+660E4E36851A5D4A90F0E5F2D5FCBD2EC830242703F36BFFE66D61E50067A882
+A10E0CB20C81B0792A5B8EFE9302969644803E04D7DE8A7C24DDACB4563B604F
+2FAE7D6F5112DF03C1F462E4154EF4BF0D8C09416E3805B036ACA990D432DC7C
+7C8261DC2118E6E9921AADB908048076A12EA72E4A09C1C0916C88BB39677A04
+4563356556730E59164F949D62257E34B3036B22D454A3A61409F21CAC5544B6
+D3A94ED495AF043EED3EA880BFE5382B6C6D0B2A84B07F4DDBFF7B9A9F06A305
+A5227333C1A529E5C968E0E82E02622EED266332A6E033839A194FFB188B1947
+67AF109D37A85041C61A185E5A1023CCCF3D15BED794D8EA7666D35169031B0A
+83A96D05B5E7D059BFB292452EAEE5EA78201B3A698086B3DFDDC56D59C0895C
+7414F9CB0FFF74536B9E2EDDBD8D56357CC66EB7BF793C2CDFCD84B573378D4B
+7D2F6E7E9E4890714FCC9FE519D33171DDC13689CCB9C6E08D6D4ED46EB6794B
+D77251233A6FC717E811D800480690DAA62C8ACC2B5AD4958DDA02408288147C
+19D919C3496BE7B150C321791081AB9EBEFF8FF49D2F51728FB366309CDFD835
+D0EE508C80D162DD9D64028FFBC05E8F98CE0253A8BB2A4C5D3EF860372B08C9
+10D9C2976E41B0DF1BE7A40B82078414AB72F44BE8D34347E10CC21A9A960FDE
+9F8BA277A737A8B18F92D066911803886463A96BECABC509FBED1F053F58DF79
+27CF6A1BB379DF14784B2EC04A4E7D8DF6C3036697CD6285F02F23F61B3EB6C9
+2AEAAE6ECD0DC3FB6BF56ECA9678770446858BE8533EDAFE2D4CCB5FA1DD1B8A
+7C4957E1FDC355445D79897FF7CC04DF352E6D87B8C72AE9635507B10B626EAE
+FE63366EC0F60767E0FC4DD0C209C37E82D0FC40C3B36A2F5FF778176884A376
+5B8EC65A935F3326A9B2C27D8F27EF544D823E864AFE7CC3E399FA2F2E563097
+3D9BBF566FD818EA4305647A74A874712471D15108027C8881D9795177530DB8
+94D463FEAF96809727837C8CD9696E0D2BF53DE8D57A07F6D85A9E750B157CA4
+F4AA6426346ED5B82001E647B58614E1E76D57EAF6455617C43942D4B05DEBE7
+B6C682F9F567ED835EE288D289751F359AF7BE222268A6A3992699DF1C91C0DC
+A04CB2840C4DA5AE2CD0A12EB0CE03735640EAF0AD9228EDD2215831550B6D33
+C4CDE9DC1A15CCFEDBFEF5CDF6114D99E3C558C01FF803B4C21805A4525E18CF
+238164756D0F1BCCE87DD8077C8FA13C6AD8C761B5D76A8295806E530E5BB17C
+8786E0C335371447342AAA37FF1B887958B720AECEF39D3DFB0FBADB7C9131F7
+A960B7BAAC9E37B76A85ADAE8B9261355A27DBAD91E00C301064C9883FD76985
+F58AE44E71A981FF35256D93B68260DCC27BED91A7C28C804784A04EFCC8A934
+A4B30BECBD9AE562F6EB682BE9F98BF17FE8BD62A64053EF0A0F211D4E7C9F8D
+F31E5DF5FED9C2ED9F3B975C8B8026CC85B94EC649D76538B2757E08277600FA
+0EB1607EDCEC8CA2634C58D4DB7F1A1233D3321E19097C8E93295876C0D5EE44
+5EC69BF603205FC7A32EC71382D6BB7D119D593EA158DF5BAD228CDB66C6F6B8
+2FB03F1DDC1B3FE3FC644E7C6072993BF25FD5DE26A114A1E9145D638C8A95C6
+AF48BBEF411D550085F04BAD83701B754C8B7FA377A00A59611D042732997CE2
+913727947DE68DA049D61363519AAE1F608EF8B06DD1E4E5EB9DF23219A98D56
+8D5C93AF071CE20E738255E965D39CC1821CF05928A21D66E662BDB1E6089A8E
+D4F32DAB2AABCAF118C85FF17E8AB3B735E91E90FC07F84842C1467501B623C6
+4297CDC14D3D6F311C1B03C3E89CF6C02126BDEA141075AE10C7A6FE9164837B
+ECDB43216E61AFE41F28D9A2FFF96412AA7DD7D621BB96A834676EE18BD6D6CC
+1279613EDDF8191641AD1E5D65C77530A1C553C54C272FB12D34C6767FB8981F
+C39A3588D4A3BB12CE53AA32B141493F49D23105F94365BEE1F5AE81B91504CE
+5324CD2081E72CCB8FF5D9A0EE95A4A44EB358437D2CFFEDAA7E2022BE555810
+BCB2F1F321D87BF06F840C73FC6FAC2C8116ED530556C0CF5DA5595E10229A58
+C89DC8ED385A0A64FFDB5AECEB502354D9FF152C047371A96C4800CEEBEFF331
+BD0E4F7BFA507C6676B0FC809283DC4F2CD14C6490916D07FB2BD35C784C0AAB
+A786064E65B87DF2F71FEB03ADC4750633F8493E16152BE1A3127F16AFACBA96
+32B71CE871E3C7AC466EE601B4119AF454B7819E06D400A017EBD36DDB4CFE93
+9CFA6D66C95F88AC649D468FF4528652949C049CC93C681D5F4D79501C664FED
+4FF3CCF1033BFD65F94222F45235A0606524CCC728EF38906DDBF57FFAC469E4
+DD554A5407C8169C47E954FBA8EC7CCF65278F833AF690F191608E507417CBC0
+7E938578EAD15C2745526608B71829E327C9A841B9AF6CFC373E070BB6D45E6A
+9CF939CA5B6704D3581DA8D0125B07CFCB1D3C3420242D77B98DD728A263F898
+C89FE77D8D6A60DD6A56486721EFB4C19A44829DF70DAB6EACE3CBE46EE6DA76
+2D6C5C6A8978AB1EDBE79B3654A1F45D1F5D28E7E28D631F1A1ACE0B065C1B6A
+906F3335A11759333FBFB454DC2D4ED0E1E2DC6CD4F2400DC384A059FC3C9E05
+279154B5456FFE9AF248C5B9B3FF3B051DE80C0EF51F70D48A7518D5954F90A7
+18E633478D4AB1758BA882F9027A3AE05A61BFA2FCB1EC5108E416033E78166B
+F5CEB7FA00B24FB99D6A8F4D1554F9B36D2E65B1C13FEDA184C21962C81C9AB8
+53312F75AC7DA7BCDA2749B5C4CC6BB13F259A8148E3DB5F54821C3FC7D201E7
+3C9FDC0D4D174B7BA121E3FA4FCD2F7BF0572C9C02CEC4567F13FC51E191EA2C
+DCEA62F78EBAF4A6253ABE48B0FFACECD1EBD686556D37482A5264E10FC183D4
+318C62D02F83B6365968350625FE1AF810BEFD57A19CCFBFB98BEB52FF1D937C
+821A47DEB8E32047A92D9B687E147BCF7574CA5C6986450213E09152818F5311
+451EFB7C35AE79B8796BB8044839FCB5CFBA818C685DFB969EC60CFEA7D89045
+78FBCB9FB388FCE88F6DDF752DED634A4695B7CFAE70BA244373E63F6BC966A2
+6CFE08A09400E99E5ADAC8E6E11AA2DC438A37CF2D6A76C264B0744734D9A333
+BC478007283D9E995C163066C9AB0AF0DF2E87E44D71FFFF528817E48D75B615
+DAF8B8077A2B89192FE3FE3562D2DB1BC90BF21817153D68F47FF99FC59E888D
+E96F639852110E20E51AA0D38E6B6EF7E52709073A1543EF3F90DB8A3BCAFD25
+94253612B08220345B015060AEDDFA5C04723F2F404D2BC4FC05CB5B050CC48A
+E0103205372BB9C2340EA48EE063E19F3FEDB608A88000CE31BAFE3B46C70E9F
+D12E73A31F2F2C619791EA73EA25416E21832E3013B0D2E41EDB25BECDFD59F1
+C2B25AF3442F6A5932EDEC77444C98802C0CAEF592452EB8AE26CBC4287C4920
+2F2301F3325DC2436C820D00C3AC29A1D7C0E7C8AD36EF205E3E01A61E2EBA56
+9BD79E674AA28AEBE93512EC76BFC9050524FD0170EF7AD9AE841F23054D7D4E
+C201CD6C410DE13B7E6FE62385D647EBF0E725C098215DB60E8B01C8A5199CEA
+BC6BBD05B3438EEF8F078E49758AC7F89C56509ED0873F89A811BEAF4FD29391
+0CC11DE414B07372559A27496C5F6DC4E9C36BF610E62FA696015FA98E8FF19C
+C9CDB89CAFADC73493EE09CA6C1A632D8FA74CCBE0665655592F74B3472A7FA7
+2F577472D31923EF5B522C0CD76B81FCDA5F29659381EB7CB7631643298D2DF2
+F0B4B52E16551CDB0A0C1568ACFD00AAA39AAF18A2ECCE85CD763A5A7D792ABC
+96C3DC5E42103389D88A50B54B300AAC071CEF2D354BC2E0CC6311EAFB22D0A2
+B71D16408EE497CB67C78796D1E9C294B88632957ABADB2B0B2BFCDED25819A5
+93FCB13ACF15BBF42234B27AE9ABC68573CA90DFCBC40F6463BA4C68AEAC13F7
+76093C87BE8778E48C7226B1DAF7412972FA7B5DE9A4312EF26B6453850BD2C3
+F0323DC1C655CEDACCB4E87213F82BEDF619BA12AB5A40129BC9E179579937DB
+DC0C8FAFE50906850AE32D086DCADE33248C3381345A6474EDADFDDE24E0DA67
+05F03E822CDAD8A958ADFA7FC1EFC7D03BD31582FE4EED7A768EF13550937C1C
+3478C937ADB7FD2776D75797B8748C5DA78C097A114ACF556037F86C5382B33E
+8307CFC43B5571B5CD5EA192263B287397EEB9C277B0FCC88E140F58569B3255
+60DE9D1916480549168EE6E23E2DC616602E8F0E14FE938408EAFF0C8DAC948A
+666477512E5375B85B3AB5B5254B948CA04CD71562E5AD6493534C0A47C060D7
+4FC6632A43E59050751751B5FB9EFB71D259A7D4FE08CAB2DE97DF71FBB24156
+4CFF70E87AA9AAB3C5A00198E6B9D12E7BE079B1CBABBD4FBF5A297EE121A18F
+7F154782F76055C3F9742F4C193E0F958D04D1CCC929DE24F56FF2AB17D05DF7
+418F0E0000E5521A9F3E03D6C1E8A1C6BA04AFC719C418C8BF41F2F489EBC2DF
+7AC5C115938B085F94C4A5AAFEC2694F360BC2E509E8967426D8BB92C3B46E81
+5D23FBB6F8654BB103565967C9671B0D0CCC30406E729EAF5447AC65B9BD0AEC
+E68BC9CCC4F58051A993BBBEF40145FC3E85D3AD817AE74C95C2F777F5DA2814
+6CEB79BFD601EBD0A1C72FBB67B73266D6A0ED656F93ED61C44EC7DE891D28A8
+4B25729F58DD478932367018AE6C63FA5C5FC7EB2EA175CDE388750897A798A8
+03A92331596419241961FE5DC38DCEA02AE7962D68C5D6667DA0BFAEF3E816EA
+D3DC17F8B1708D1ED52C3F4A0244C63A3B639C393C735F0FB332AB0B7848D0A0
+C94FF616B38BE032BBD0A450E101E8592C804219F62A5A675365A56265B93881
+D66BFC01FA08FF58C502A7D3CA28BF0DAD846E836A1E520E60C2C1ABABDD2DF0
+6FB012B947E376BB0064CD07691A26CC0F5D1AC3F48FEF04BADC4DA29B4412F5
+5FAD7FE00E477B22FDDE54F922BFC45029EF69BACEE71A9DF13C0508095FE617
+9CCBD486080DD2650490CAD32D201A05E71F43FAC32C97C07A74DE38CC390040
+141F33F809E3407FE2880F0F6763247A3E245527113676B8DA900777A79B21C0
+C891D196420C52833150FC6EFC62387AFB1E402DA2E556AA19359D0BE0A75593
+7C66F47D6DAC7CA25957CDAFD550AD5E2A33F5021F4D81988A2A4D90FA11C9A9
+45E2B57705A81D89F0160705E0FB4CB4EF5793704A3EE8C6491CF3C6F44242EC
+42836E7125E349053B034C181E9AD0C71C56E316133E58EBC1751862B9302994
+351FA8A4FBBD3E681A6D9BD40C0B415B1E6E17917D229ABCA18BB2B0825D8BDF
+C69AB3D2CDF0C9E3FB6500C9D58A6ECD17E882DA0A0B150482D1EB95FD491D59
+7F82C6051BCEE0AC84C2A85AFE67B83D71D2769E8FE0C5ADACB7DB9AE25926E4
+8D80B9A1B949C4443F271983D0DD52EFD327AC4283B7FDB6957BC7EC2D335619
+9A78A6CCD89454970CE1DA66B35AE8573100B338DF0C8C5476A6B78418BF9E20
+8A33D3D7D725BA7A23C1273ED7F731BD7392D8AC0194D67C61B8C334CCFC38B7
+FF9F3118B5C2751EAFF59A191C2E0A8AE8364CC560BE42D88C6F4DDE4B61D02F
+6C10C010B55F27AD5DBFEA393202663EAD9D3DF5825E5CC91C43DA4CF1AEC0C6
+DF07F1642005687C63BAEAB5EE6744CCD0E6FC73C1FC22E0B5888063E3120618
+F788F234AE16821CF04E5791335C82225921712DBE75C540AFC913A501F72E0E
+7BE4ED1B412C91329B707D61F2650EBC2FDD72B3930ED5F1C886737C0D6956C8
+F1C2765A9533919FEBB984527C7821CB5B1297C5963EF29F19F8DDAB7BE15B76
+9FCA6313E60D34D8369880F9526242FC937FE3425324AA3A9714809B142CC61F
+39831558321DE167C4DABD38F10E880FBB15623E8296350C84510473A6008DA4
+24CC989D0ABB7A8DD597ED36A171812D48849BAF64F6F441BAF818933D3F9986
+E8C4EB771A96921349DBE1E92CE009CC5C67D7BF9132D569F645D0ECD44BAEB1
+590FCBCD3706FA20D1872A1ED643503A3966676DD0A816056CFBAF9151B7D841
+335F94557872EC441BA4505C65A7F1477431805C7DFED9CEBDBEC7EE49E87D2E
+1084BD0DA9B891BC23F3840FB44CDAE8E7DFE6C06A92A11FD13FA19C78F38B6D
+605D03A4A6C62EED344B590BBF935F4D51BF641FE8D2D10529D7A7EFEFC2F0B7
+B8D42B6A17A6D3A87AC8AB15BADFD2BF2839AB869D3EA978DEA0044AD7BC0E9B
+B6CC856AD362AEE4673D9C1DA8AEE8F084EBE1857A22EFFCFD8EA111D073C6E6
+CA63E3A78EFA85F24FE4BC1F382A48B8922D09D6231CC3AEB3412E8040ABBE80
+0BC85CEB792A99115DF49286848704B00BB1A8D25148FFDA511FDA7D9B3C527C
+2277FBBB031CEC10E41E416875FCB893C94588B0FC2C2F2C734068F500C5BC78
+485A960F3C7ACF3DB22810D5257CD74EAC2AA6A30E870A38241084DA09FAA76D
+2F00C09474A4B5070ACD2B027A0718F0B8E8BA85089C2D63EF04B6CBA6F22D3C
+BD0701F7E05EDDC1C54220CB8AEECB99581B77062FD897731CD4481FF512C4C1
+23C2F7442A2A6E21EC05B2C9874627A1B4C552286F91D172BC5B47ACDAEDBAE8
+F001525DBD896E2C07E98DE32057A257590868DF95715577B69169DF9637B00E
+A708AD09933515D26944A373FE442F64D488A91AED5C8F8EDD54A554EAD49218
+CB22C6196D32FF0EE679CD0259036452AA245BFF051359A8A2F3A9D06BE188E0
+7421CA5E3D070C565AE3A70AFF0ADC3A517330CFECD29FF5B3940FA54F187639
+D37091DF4BEE09D29F2E52A32AB5AB9AAC098E0BFAB4B7B706726038E1CFE2CD
+D83B1FAEFE1F4234182DBD5BE8E9AC7B2B887E01CD374A825C3D764C3157CD92
+64DA53FB9A596AF2E9C3F3D86A5D73850EBFF025A4D2D1A4BC97407AE88ACEA7
+DE8ABA009D7359F2620B4DFEADA09CB8EB68104E65B22F054EE6FE649F72FAD1
+B2F00BC4435D55EBF44035F5934A35A2A0621A5FB4F93C9615C2421A5AFB510D
+D1260BD366D5CED0073ABA8B7E3D0C59C63F5C48C2E3C77553B91AAFADE691D8
+D8ACE45C20166C35503CF73B48434A90A516B24C9F38700652A96F41E4AE95A0
+2E5D31470F2ECEBC3D75C6AD794F66494ABE216CC25A1E385D5B9398CF4ACF5F
+3705DB2A8FAA799803538AB3F81E1F798EE3EC152DE1CEAE132555D3F55F7F90
+B94FBD0889CA3B0BA1AAC8DD6C3B0CDAD21B799F5478A789F9A74EC7127E4259
+FD98E4EBBE489F471E799ADEEB0613E92EBAE7E0F9E09AC03B342ED5141D5774
+5AC364916D8116EB103E6C9E1819E19832ABD66F6452753F7F6795F274D82D83
+7FE689CF8A181CB425833B97F2DA9764732AA0717F0CE55DE70F938A37689301
+6F1A1586AF803C0AE64645D97B1A9AA141A24A9B997040714330351792616442
+70C8BA50FA4DD5238E2D7D6A16C9B5DE3F8A7FAB2F4E5655DA00481EC4B15B48
+E047AC737F5C380DA17F57A835FFA2D01B8EB20C0F3CCE270E208514915B8058
+CE3C9C8888F53CD8952492A00674F53D94C4B8A68EA98E34D37CE574C3F312D5
+D302E1F5218CC62C9C8D75092D00AE3F603E568E95CE6DD81931B352C8D8BB15
+AC9F11BE312D2729F0BDDBA215A8A0CDFFAE68BDB49F696DA0C3EBBF349B5273
+3D4A7A36CCA0446F7D16A668D51B5165D70625E3E96758387E40A330BF5787DF
+73C781B1F15EF16055DAB842029CE24A9677CC6E981A57A0209DE6EB62328DA5
+A05486E785AB73C5302172A5730586EEA3706801D39C02AF42B3C37F918AF5A1
+EDE8CBB0ACE44EC34B1BACFCFBE962549D05B30B572658B677C4B7D56E5FB7EB
+D2F632888454FDDD3B8A4DD6C226284B56FBFDEEAF915D6BC129939729AA95F1
+B0AAEE02C119EEA3756BB7AB638DC15185D7D1BC5442E4E2037786DFC19E06F9
+5758344DCACFF12EA0D465A4F1AFCBCCA6B22B07A96E5433CC81475570A793E3
+6899A1F9BC3750C9EDA5A5010D7CBA24970D19555A6613E1C0A20B2CA1A2305C
+6C59C11DE0E8DC0F51FE5F58EFF84F2DE7F18ED0EE7EC3C508951BAA11816F45
+53ECCE80B0D09AB23E189B890F3C9A4CEDCB7F0AC07E1B52B2CF8B6ECD6174BF
+D5E66D5EF94326CA6BEBEB2D04A2F5C87A0DF0CDB072318F0329C49E799458DE
+A2B772A5CE622C262F6294A8F691D83A188A377A8D78BAF59F08790BFAE3053B
+85DC75CD7AD0E641F0C41202EA3CB49848C5269DFDDBE3EB5C9764FDCADF7E6A
+2762909FA8C166070F69E0AEBCB03C8F97AE8DE40C7802FBD751A030425BD053
+161DEEB4A6FB85FFB9CE609F06D425C05EBAB2D4820FEBC450A3144341C0F597
+88B4917D4F9FE6D4CAF30D06E1129488AE8EE622325F21789B1CD274094CC311
+19819EAA3DE9703A5002BE9DE1BCA7D769A3069EACAB8261900A2A9E8A9444DA
+D7A922A26CD7BB9CC9942DB574AFF1411F44208538967F4249A3BF4BBFE81B81
+92840607C3F4C8E804FD630403D6C6DE60A3F0D0BEB9635A28BF4BB3A789D090
+E754F4367E29F13DF28304F2178275A71938185F6E680782AFC6BC35C9FD842D
+73EB566DEAF118649070090E43FA7E572036A606FD3FF47578B9594FBFE2C56D
+35AC38CBE303AC04F36D889113D9CD423FDCAE23D8A63AA3C6CC2F6CEAC37032
+B1AA79C500AE5DF39CBC57BB4C8492B1EF276BC4D2864F67CB09C14E6E811F33
+46DD35E4899A072C788BD80D5476648416FE383B9FFA64BD69D5948A5E10C8DB
+6774A701585216700E825306A23996B549A865255DE7A565840CF8F86EA30177
+E1CE3B1866D2F94AC553A0D4DB307A7D633D8CFB67D621294C32E8D4D5F48459
+994EC4BD53794F2FAB1B95431B0F40690CE80ACFBF249249FE6A070914080BB4
+8D56F73210F053B4DFA0403A2A30E4CB0DCD0E721E4143FC1EB918E6B7C2D977
+26D86B1B7F1D652166F169A3B058551A8BBA687A391FCBAEF337B3964CEFA7F1
+0A030C097F440A1D16FC14D9AC1243ABF8FE0C4572C14296FEF8B8EC6E859392
+96EB8291718357C6EC7422D8ADA872CB672AF4637086BBE35951C61789A335FF
+5B904F17DFFE9F4E60523D427DF645C22377E1DE1407A41DA9748FABB258B3A0
+14E168C2A2373900246A6BD88F25D3FDCFD2A91A5197B63C1CF59AC4F26C42CA
+B1958989A1B36641B51A0E91FE03E90BDAF96A7504EE3193728FA8F86B1F0665
+39A56B4283E9C789309ACD9445483EC16BCB5331571D67F2E6135234A855C65D
+2702310B488CA8FDBEE958C382E40B96C543F58E2065D5385558D2DC2AF550A6
+DBC437EBC53BB1B3B8563195B5D1198FD906DAC9D906CBF59B7BBEB92BD29131
+B42F42B6B0B4656E0FD8D18BFE640FB479447BF606F361108FF3C9A9499038EB
+87A370E44E8AA019689A900F20992619915ECE3FB679F5834F1B0EFE293595CA
+0D37BDC0ECFC4D8528D52A14E40F8D3B0FB3AE69ED29FC7EF377F6C48A5E8ED5
+9EAD17923AA47F3A6FD58A19889C31DF0B8FEDEE49EBBE4749746C54362547BD
+678CF0153BBE1A8BABAE7046182A542A9E91572F980E33B2D8AEAF2945E0693B
+870787BF000663167C0084EDF0C35E055F3208A331F34CE8112D63EC8A71D129
+2EA41C7079AA2CE261F2C3E47E051635E5177AEA3626D7A4D7B5E42F66986E4A
+BFB5FCF022A6DAB4DE877AC2DE05D1BAAE32B6D5CE1F24E570D1A123F8D27C53
+7E166783BC7A9437F9C3B6968C5386E9240DCF5EDA0BD2B2D91BCE2DADBE00B7
+20C262DDED733040979E62454C5303F01DF1CA7EDDF9E158E62251914918CD4C
+88CB370FB1F68866CA2370CD9926A54BE41E1363236189AEF679E6560EA9765D
+E5B44C035CF0378A4D684516387CDE0FADC607F86962DB50E2C82126391A8E87
+DB03285E829D39FAC94FFAF70123C3AD7F083D93A066B6E73186EFFF1CB951B7
+E746E52F54B0EB268EF21109CECBDBDCC99C59F5B545A8E93C6CEE6EA416D3D5
+5073DEEC1C4501BA4CCE7AF100C9F0ABFA5563B61F0DF4A1FDD5484B49D13032
+BBA269116BEEF5EC05650610408544C375DB8C4DA370941BF2AAA1ECA9BD4AF9
+783F2B651A22B51DE953BE94FB5A296E6EA54E9FDADC818BE4743EB53913172B
+2C2411BF4D60D5ECFB84906F4ABFDBD4B70327EF53F465BDEC2506FC278CCEC6
+8A89151EE4616DBFAD66CF4422DC9F0E15D9639E54E1B47BE6648059084D58CA
+110F38D77EF76775570E085F2F9496A4F2646EEEC6C269EE35DE9F756117850A
+8E722DA4B8C26B836B428520A904EB109F4EA09F47FF99CA22F86C951D24B873
+83B9403DDB0720DC3FC4BA6C33478C13370509EF5C7CD49C10CD5FFD25043AD8
+1DD09529FF9C91157E9006A017B2DAEE542B39AB665EA760F6D24A9460FC0A6B
+5C3964882F4471BF38E858EBA3BCE70230CEA3B511DADE4E892451711E4C41A9
+679CD4D9067575783774FCD8BF7F20B53D8B19AEFD81F44ACB4704352BF0D25F
+F8B14D5D0477925D6792B93E3395089540C5BD082D7A718304B12AC0B99EF0D4
+4588EDE56AD2CDC1A23AF9D2B50FA87319D0A0610D04B69D9CE7DEEEAB2B7B88
+45097DDC86E8F91875F259B8D033C44D1C966262A5E9A2DF0C9C16858E97D4D9
+3DBC278F765AE2DFF9191DFAD87577F7AE031045AB54BC67FB0C54199738DC50
+D761374A1F6CD36067A595D5D052EE1048CD4F6C3C1A093B04FBA24FBA7144E5
+BCB6438235EFC35F222EDCEFF7940C1F91FBD93525F8B9D3CBC3BA58DCB29043
+E720B4C7300FD78BA24C70BFBDE3398AA91F00BAE8A4C04A04C9ADB9EDAE27EF
+6C6CB5DB6FF0E4FB3127901F0CC575A8D8A492EE03AE4E8ECEA6E55D60563015
+4A157433C362D46B61908BE9445CBC25E50EB1F664072ACC5FD11B24449E6C29
+296E9AE446A63956BEE6A25607E2EBBE7F4F4D4FD4C98FA3A22AC043441F3140
+5ED2C4F32A54F05F1C3CC03B638FE8744F2C053FDDF6F0F87861298971C972D0
+EF6429BD3C44D3606D6A10AEE77E32B88B0648519D6F2FB2380290F7C873451A
+C378B78290346C03047129A7F529018AF6B56057FB08B40B13AF74C7257C15CE
+38810F7D912FBC3AB457B7018C985F31EEB76FDA63B95BBEB1F8950E5BA5926E
+876F0FE954AC8D5A7E5778B3598D4661783645DEE64AD6CE7B7D027D2DC61298
+27C56100FCDBF2ABA512AFA2DB1EAEEC0DC39551C5EF23334FA516B9C10A6FBB
+34A23712A73876EF7C71AF2A581B68F618C32DFF596CE1069B3EC5DA24451225
+A8522AC59A84EDB613A4B00D2AE058FDC9E1AF8DDA2F29C9D4954DD815FB4372
+D7C07781E7AAAEB3DA9FA9CC3721C870076F01787F31B455E68082BCD1F1C3E3
+84126C4B5668492DFCA2531A2DE135C588F328470497CE27EEE7FCC2B74C1BA0
+30EF399E8BA5C616A4D45BEBF2DA0BE55E96936CA2B9BDFA632A9725B3147B59
+C74FDB36D91C92B60DF2F7111CD4C7F59A47E43C0DB5A440C727BFCD133EA099
+7B8A5B801ECD69A1201134DE7C6B6EB80FAE9C8DABFC970F6DC03AED9A383C73
+A463FD3CF42EF5873F9639D55050FEB92D5C74BCB69536D645D763BA62BA4771
+9830AABE85B84CD6ECC2B2CFB4501480B5DF833C836804A0B463F57CE5AC08E2
+15480D47EC254D02391279E72A146A0834988FB0F8EF95573A359A4FD262E44E
+79FA3F29C27CF9934B03881A8561C3943B2928967097613921B68E014BC60C93
+012446D334D3C539383A01371CF0CB6D3FE6E15955ACDA7F74C8E0F1DF3A2FB8
+D741248FCFD64378DF4DC90DE0256840826A6E0892A17E7E90AB1851A26D3D05
+F4C4DDCCC2A0B758B90C236C0BA05FDA098BA199228AFE1DBBCAFA7DA390E07D
+61250CDE484356AF8B6A29E4595A98D0FEC0770B2A4ED9E5566C7FEE4E9409CA
+99DB69F7353F599AA573A251F8BAE3D6A6ECFACF07CADBE1B63A5E55568C903D
+0EF6B59B3484B13321C3ADD862A135F4305F3F2F21D188D7F1CFEDAE964AC4D2
+0250A68B5F36419E41AC852BC8E3FEE7259BDFFE250AA71009240C138C546574
+340F7C6395E904AAB07C05032FCA7BB333A9F95ED35B115E8449C26E8C6D8CA2
+99C1C38D652A5E14BD7E8F4B4F89D0EDEB082BBF8A0058E95934FBFEAF63A99E
+076DF6A6259389002B0F4D44BC0D54FCAF8874606138F4DB1C39DE366938F12B
+0018E1586F0284619962950D8A17343E
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMBX10
+%!PS-AdobeFont-1.1: CMBX10 1.00B
+%%CreationDate: 1992 Feb 19 19:54:06
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMBX10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMBX10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 12 /fi put
+dup 19 /acute put
+dup 36 /dollar put
+dup 45 /hyphen put
+dup 46 /period put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 58 /colon put
+dup 65 /A put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 72 /H put
+dup 73 /I put
+dup 76 /L put
+dup 77 /M put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n 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
+dup 121 /y put
+readonly def
+/FontBBox{-301 -250 1164 946}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
+7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
+77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
+2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91
+FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F
+DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68
+7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4
+9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176
+CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D
+6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6
+E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E
+8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E
+3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99
+EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4
+0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9
+4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209615BC08173FF
+1805BDFCCA4B11F50D6BD483FD8639F9E8D0245B463D65A0F12C26C8A8EE2910
+757696C3F13144D8EA5649816AAD61A949C3A723ABB585990593F20A35CD6B7E
+0FA0AD8551CEE41F61924DC36A464A10A1B14C33FAFB04862E30C66C1BC55665
+6D07D93B8C0D596E109EE2B1AAB479F7FAA35279ADB468A624BE26D527BFF5ED
+E067598E1B8B78188FA4BCFB0B51692D07B0BEBB930C6F0997B437E2C51B876B
+61A563A2673932C2045833FAA35DB22ADE12102335D5DC734AE3AC5EEE6658D7
+92EB62131E1DFBA441F53EFF9021D9D4C491F26BE8F54C61165CAD778CE8695C
+EEAF70E3B20C64D4C2B34A084B5770BAB2A8B7069E84EE1039A2E43E0DECBBEF
+93189055A49EE66B5906996FBA7A2F052D44A9EAAB6DED6ACACBD4742887E4A8
+FA3D14EC60A2413277027F80FC9B4384EE6F9A1528F7E58A9CB23E3EDE43B06F
+E978B03C604B50A5F91C47346DE482B3A922A5D0236FBC7C8B46BB2355A1E805
+C6E30E5B2156F4C26F2C5BEE2DB03051D5824E81313B77E67A9C745F9F696E81
+3BE9158CE6330EFB07FC15E8618153D1E4D5E46141140D9ED2D64A1706E81687
+7BFF07DA3877D7DAEFFD70643D1A32AEE36CC2C0B376F888AF34291450DCA410
+6A49A4D5E8C2D1CF884B6A975FCC00E143C634C2CAAD10F354EA13055C6C7F35
+65B4A26C6C28C08567BF5860D0930D7CCE02B8A16F7DB74AF6D8B7A401DF26D9
+B605F7DA453F60E8E89DF07C2A11C0E1F89B02D061B7C9EE6274B3669D367C6F
+F13C336537B67F235795800CA8EF1EA8591DB59BDAECC087BD360B3B50F5CAEA
+8BD4F3EE074773D8C969DDB7B64C6A7BE3956ADBECF9836714BC6E754FC09E57
+DFDD95F1A01A3106AC80DB85CE663658EE74C714E6297496EC70890CD6EA37F6
+148CE94413F1D6CE5A3592EF3F99297874E13A7829B3C18BA66F9D093C3DAAEA
+AFEB3F714A5449DEB7DE2F19851B4E65DE0679B74D83F1ECA1FEE76D0AA42B5F
+5DF085720F44508D5782551D7A7978F3681929E6EC093D73DDE8DE8A938C149E
+7E436F574115EB02F9CBA61AB32B9F27625CBFF17E3AEDB5195B493A149B1449
+5EEE848F16BB2EA1457FB44A45453D9990FA4F9FB258AB55FBAA37CE0AF7AB18
+8C46E921805055944A406128C21CC380EDD623BC1FC5523E9FE0F860F4D5E543
+1E9615777533FF7F92D1F1233151D7EACC678C1448D79712A58F2ED9C68137DF
+777A3403B563AA12F66BFFC69A9213D8E0990F3D44409A0F041E1F33662D0E2A
+7ED134E654ACEF0B5F8C6FB271BBC84A300794A6EA89E6058A07F4A84C33DAE7
+967153F4C4E65357C34143980E9EF1C04FFDB7A683287B101AC4D7EF91B7D648
+141E4DB0E49806215706B1F4A5174C9EC19AE3C55E3191A9D7EAD3294E77818C
+EC06549E92C90D62BF85EAEAE51E4D7B7D66B4481823B60F897D0DF74FA1B72C
+6FC4C10EEEE3A3B686AEAF763059525C69BDE039B398A8115F5C53217FFA8280
+DD9A35A85E0DF9D40780E0E6D62E9AC1BF6BA810B780AD3D79CFE274CEFE48B0
+40F7B2369A722FFC2D5292C5B5CC8D29CB56B98AB182463EE08956A36219A079
+7E92BC33856ED2F4DD53ED0809CA4F368E41C1210E655BDB2E58BC91D520289A
+07B72F3DA93330C41876A4F13ABD480EDCD34370F71F9BFE330C32D011AD62C7
+16DC3E93BF9AE378B09A0C3AA2A43A1C61B02ACBC9061C116C0AB42EB60BE12F
+F80FC95C5C51CE79794C620B420C9DD83667150F6EAA923D0CB79A60CEC8B9F8
+3E7C0F58421A0C349525E14A369FC591BA86A3748B4618EA8BE788D5227FDA5F
+AB37F8302DFCE43E3800BC945E9A96108301AA65DB2DFE6E371F1D24AA406458
+C3838FBFCF37E7F1B589D820F6D54818D2A0224D8A76A420DA12C56C7856BBC8
+3A3AE827418D1F3561CE924B03E75EC9E1318767385C09EEDD5152CD0932818E
+5B5D087D070E53435F5A3A63FC5C25CF064F69AD37837C7808597FF974708DC1
+7ED44F6CED31A17EE951B7D86A1728BDD8B0D862601489A7140F932EFB90BD98
+4FC42505AE9F6CE40DCD06ACEC02DF178935876CB42DA115A08F9BD7DA700CCE
+3B11AA257116B2E1FCCDCD7D6D692D3912D23DD521AA0CAD0A040ADDF0E27259
+40F6A9FB2F302732594F8ACF5369209B553ED9DDEA20CA52E42FF30569D80212
+01A544C966EF2F1EA5559CF516784B964A5C4668FBDD158DE9FC0E8C8F5A66EA
+1CD364F124CE3569AD8CB4BAC0A9B9758AC7A9ADE015CCF6BEF9ACEF00F0DB2F
+A9A7C2E5FD498FC0033CE4B5764D0B2B6BBA47D9927FB015152AE37802E598F3
+5CA408DBDBEAD7A02FB943460B80F02AF30FE483134DE7A89A70569E590BC20D
+493B2EDDADE1CB532D51C268CAA0F98CAD9DCF4CD3F5FBBBDB16A2D65B415CC0
+59EDF3602478BCC8F7D2313203FBE416AFFB93D61871F5A9F10A6549DCAC851A
+4FFDD7F922D1EE32F6F67E53967D7C12178F5AD3B8B483AF98E6A8959607562F
+22CB9FB8EA545F007C34F3A1C7D3D560545E145A8E57FF58BFB486B844037C09
+1C219D212F4C13A1736AD7D55100BEB709D110C4B95D589B1471CF7E074CB3A4
+72C0E75E5CB831D092D7D872A34E373415A1D7DF6C0B52D9F1535A852874B282
+9BB014AFA74EA7A091E2FB1F3B3EF01D6F86C3F46AA79FA519489CEBB95AB5D8
+BDE011394DDAD57A318199FFF087A8C495D3D93025285FD85947D5297DB85333
+575E25F03FD37F8F85AC0A082B8E62CD160D93840EF8AA09F90D0BAE848C08D6
+DE2FB5F5DE2D6C4462B82C19868CE9E969EA4DFB9EDD2AE3F83EC0F238FBC1F8
+89192A00EA10936B77EC8A9E64109FA7EE534C395D415A106F65E09F512D7A56
+F4FBF94178527775519FC4B96E8EFE5F4F3AF95502B02DE37A065B438653FD0D
+E4EA28180CF2C3C166070F69FFFAE746DD8E57B302DA740B4340222F597ADD7A
+E49E33AD526598C818E5886EE0EA7263871585DCE480770E3D8B4B8B13EEDD0F
+962C92E58088CAAC81A6A9BF7912485EF079D2DAED54A01635A4C16EAFC60FD2
+DE6F2EEB2DA95829A7028DB2F58983F4AFE39B58BE62A2A73B300B6732A981B1
+DEF8B09C43F22767946F11BCF1FCD38E32320B412D0BAF7E679ADAA54B28DE94
+9D78C58B0D4BC1CE211E395CD560A49D0F9A7A4329C9FCAAC6B6B84C46510657
+1ACB0238DFC93E208D389647E379A2636A640C00DD91CF5B4751817DE2958735
+F9E0EE7EF7115008A55EB83DC993CBA141888F4A2C9C51E888EE2F9D605DE520
+0CC0CAC86ED519F766C6A74EBA418A22647CD8D933F3BF23B75C96D445E57402
+BBF9E0302C546C094DD18372E64D85C42E6AC4D4AD13290BE6161314A56144AE
+02DE38A0019173F1AAD039B9B3E7F1E7D123A10677A7B3E38465CC6EC3D64BBC
+145275796055097F7176178F8872C20BB4CA7FF78D90090DBEC1FA708FAB9C8A
+94376FAEEE7FAD0CC8B47D82AC78BFE2C2E2CAAF47D7CBF1912708D4FFBCD602
+09779152E0A031921640B5E13A02857653E84718155DF220E0B92385FEC5B006
+D22F936A6B604B241769E52A7028089163507B81D5B6AF5E55B991789F2FCD0E
+60AA72063105ADCA6746EE997E9417A457EC9C9AFF9D1F82AF16F26051289374
+29340F530E3FEE1A93663D60BE0F64E58A669ADFD3259BC9C4CCE5825EA5C335
+133CC9CB740B6980FE711F77FEAF776CF5ABAFBAE54853F94E8F2356574555F0
+AB8DE9FB57768BB67C13D58DD33E2F176161164A48F628427EFC3B5F0A8F2427
+D58A7E8BFE8C7031EA69317676012924C3AFA986C3062BA67BE5A71359851EC1
+23D529291F51D4B9616C906D9E5EB72406D037B35AB82F5FA32068CE1B0DDB5E
+FA5DED13B4AC002FCAFEBA0DE4F6B9CDD9CA7BDED2B894DF5F381CCDEF003B16
+55B99D680DC6C885B2B33FC8F3BA106B0902EEBBD3237D18FABDE44FF2EB163B
+131578EBC15CE149894C5EE6578DF9D6708839A032490BCECD052E20A7C94367
+DB0F920AE0DD15372FD44423C4600A289060B39BB34FB0EA116788F9EE088D46
+172424C79482F2DD7F66FA5B01C9F5D0BE92456BFB89156BD93AED6EF1D7D891
+949962B3CB8D7D6273BE685CA811CC28B230782EAD939009D7DFC00E9285B108
+CCC7D9D6A43DCE13FF2059CBD423FBF87A40E694AED1CF6E0D9A12972C904EEC
+C425AE9234F026393CF082E3BA95FB9FCEB37C35DA6FE24EF295CCE723C55FC7
+F6F9EC01A8D464A390E891C572293A15D6DCDDB56EE751524F7F19975E9FEC92
+43313C65E41D8561551EDAAC6D5AE5EBFB7DF225A6646B9A185DD7955B87F880
+F919BEC708EE9B5D386D8BD82745AA3F03DACBA1F58A70E4C30096FA18ACB48D
+557FBD3763536FD5C19E75E150DAFBA4BBC3690D677FF20886F8836D53EC801E
+AAE0AABFE8903DFA95AE1E27962CD337BB39A91CC69BCA07C1B0C0A7F93244A0
+63C454846DE0FCD53DF32ECACAAA5589B06D218597CF2076D59B7CA9EB78A67D
+28B42DF3C1E286700D4AFD82A63D9BCEB2CAB1F1602DABAF1684328249F7B787
+1DB3A707CAA7C9EC158CA3574DA91F049A888053D64D393F20C52C30C15B3EFE
+6E87A1351D0839826E0195AD8A334607649AA0A9847EF013757971E9461EB47B
+289F74DFD982DF89019E0265FDD4A10AD14CD3EDD5D6555A9A6338C1CC83EA08
+CE3FDF7393CF854A9788CC31C30FF76918B9D694D00E746276EDA71AA2AF30CB
+82CC3931F250AEE451E196ABA1FAD6F21D2628F7B1D80CC88FAAD65B515C3FEC
+7C55048257F947F1D0F1FAE362D23BC9FA2FEEF3722744FABB62FC4AFBEEAD5A
+CB2E2CE2A38529E30CE60A3A5872C24CCE96A5D55E5094ABA181B7A0F847D72A
+BA111318B5DEF40B30BE6195CE55EF9DA4EF2823A58540951EF7F707DEE0E6C2
+993E63470DC417F365EA6BE16611E03CD04BDFFADEF0BD7F91BE48AD0E0E8B7A
+2A0A6EF99328287344684F5AFC534E01730826B6B80C511ED31F3D3B8D17841B
+468452FBB53F059624C5746659552EA69A4EDAFA627AC8EF574D996A421E4D39
+C62690AEEDF4775F150447EBC3FF6FBFFD853CA384864F2B73302B3CB72F3E2E
+7B7855C7A9B106238946B75C3A5807A597C4FAB43E624093C6AD508D3F105C77
+25D7C76F35DDCB1C01E4212D90A7AEDC5F1F2DE963113967B512D4DF995312F4
+9981987A4CC089BE75D34EE2DEE750C346D8D8ECAB28CC25D871B62AF82D2C1F
+0040F9D102F166E25C649E69F9D7CD31F2FD018956E6038692C57D849887F52A
+F06D991D0A889A07D3793A055A887E8E12C61AC168C80591F6789D8D1D68B395
+27219CC88670B013DCAD7EF948A7C1F7085621A397D35C3AED7C8C3B0D3AE829
+253310A9DDF1ED9F0A724091BA58E7B287BCBBB0542896EE6984BD224F413057
+1CDFF59B22C30E04E8C2F1521C01E3922819AB0D2812545688EFA078F31DD367
+C1F4E7730B4D1B6DD06E13AA4EF98FCC3FE27B38151DFAAB1D0246A90F19A551
+D098EBDBA701C465052C13AAF120CD03A3207383EF6CBF2475FB4DEBB47CE59E
+68E915611C92CB85904EDA1E5B9F221025C6C5156FEABC2D361DDAE74424C730
+9E5BD34D77784928BFB53D163BD1C7DDE31F5A1E391DA1218D99287B95A1732B
+316BF5FD63B237A3B1B7AC39522C41BCC109020DE6A8F683D856EF2E6D2F3158
+8A978267A0DCCDB9E6C4E4A793FBF2FC49647DBD6601FB7F59D77FF18DCEEBC9
+456A9F46AF2C3B5A4FE0ADFE49BD1CC6434B59415E6B783B079C94DB69005148
+1BC9897FE8E1196F41DA53F2261ED3CAB21D0EA3B3E85EE4BDB280F8740D2AC9
+85B0799AB4586E3B8B8D693B5975943D9D217B8B331E9DDEDB482BAA1121174E
+C0F93158A672DA9AFC520CFB4BBF7A8ACA2FAAB5714C7D182D09367304A6E0D7
+BEA0D00E7204FA4AD608B12E0A2C3708DA6E3BE762BF189FDD8781B6E647F8CA
+2E745B58CD65B2DEA153A707697216B6C1E3E44AC6FD29E71901D8E45E92AED3
+259A0434957ADAF00C28C3F1F7E31B25C5E248BE9659F0DC71FBB71057871848
+8872954943AECD35C954CD5C45A3E8AADCD16F28CCC7F06EBE7C54348A2D57A0
+1FEF1F7C6FF89001BFD7E90C17695BFD89EF9E1E4EF27DDCAA3DB1405CAD5D3F
+D93E8C76596EA4B5F3AE567D9EFA1F8A166D0EB66010FE8298DF313D55786E77
+7E249978C56096C200D53A255B0EC5C4BF9B9C1BBF40D114E8742BC16041A5F1
+CAEA142873E106E3972E6DB3044A5A0BD5C5F729991EB7F0CD2615F7526144A0
+CAF82F826610D30824A5A20A9020ECF95742E79F4EAB6DC0DA8B8C0CB0823A46
+14C71EFA8722F7E1B8983DA273F676080C3B37E9EBDCCF0FCCC552C0BC7DAB1C
+CACED3ED8A6E4F579B0CC2D6E83CF63BDF068E3750DCB74EB1B1D09A2D0AC2CE
+E5DE1E51A328687B1D40B7C011A0DF846C330CE4F038727C3BF4DE1CD061B5A7
+E5DE34583149FA8AE50EF5D016F5EF062B32CA4DDB1A33CAA9E8DF666E2475F1
+512A72EE0DF61AD226368A33F85E419E50A8E032293EB3925BAF909A2AE0E647
+81C9A413D670CFFF4F93E3F6F4775CE58E982B945329C30481ADB922C6E17274
+F7636E1789B101662F5689519334046F48BBC27479522BDE80BD9C5EE6D1BE08
+1995B10936BD8AC9D7EA990F51D9A96A1A5D7718B2A64117C88CAEFF73F60112
+993CB70B0FEE7DAAE9F6CFBA9F991DA740C041DCCCC4AE132DED46A45A4552C1
+808CC0FFB9A3AC893EF4EA85DDDA4E7651B617BC79088376B1D15F3F1B9154D2
+3AB2AE51D7E654F95E87070909087AE6B716D37A4ED3D8D359EA9BC211736C08
+6EE76436477578E23BC81CBE87D326D57EE33A172BCA70856877970E80114F30
+8E5F85A908352425B2CCDB5697CFE2EF90465642FF498CCF0FD7A6A77068172D
+9AEFBF70F58A3FB26C0CDB83C83255B6506F3012EA903F8E89B75CBE99BC3713
+E1FD46ABF2850ACA11561F9BBEFD0B851F953DBE273D2736D1F370768C89825B
+2994D3DE37E086813FC462F696902455A1A1A947DFB91629FB1C62531F01A4CC
+2A74FCD447F3EA20EF0418941C251190EBECBC87DDEB852EE693CEEE2B89E2DC
+237416451ECB9291D7F2C0E68F3447B72392438B7C42A1B921A742BCF5DA0B58
+836BED4BF5B234325AA1EB97ED9A8E6CD13ADD33DE2C9283CF46DACEDE73A35A
+1675EEAAC0D8F8FC0CF023581ACB1D0241B477390395DBADAC3C3815CC55B6D1
+DB62D7AD5AE09BA334CCAC1323802CA544A75CE8E324CDA9787255CB60566D6B
+6DC410F02C1357DDF54910FA24E6B8B53E4DDEC2028D357B0A51C0CE6A073EE4
+638C2C756E43D59269E67879CC7848C63ADD63412AB0EB9246DF01C8F85ADB37
+FEF0C7D637D6F40FCD92C4CE62B6F0D62292F84CDE1A70F596142B16F7E76407
+7A6ECA2F8A49CC56ED141963EFC7EFB72C02D04DD52CB6E865E94AA41238C971
+3F76D94EE30ACEED4321E70110E7F3A1595244FE7A9669C948A048D598AC0E65
+F6C7B52A5D7742C1B105F9C86C68E592F65D541CFAD7FA0085DA65F7F9B566B7
+9298CADC6B3921FC9029C5213F8834866A752E938D2DB8FFBB071A3F24CBB7CC
+99F5E3CD857A74D8974A443071B4E4C86CD7E700B6219C2ECF568CEA17A9DF39
+3B4FF618889CD94B59239C3F4F7C7658DE5421DF18CDA1F5854B73782651023A
+5F474AA8D6181E37C60C95F19A6990C4E4432D2336CB8EB361F9E5AAD3B7E2D5
+350959A1F309BF66A1A1569247407D9979F99BC85AFD41D44D8B8982F7071B27
+B31A8FDFA4D4484F6E3EDC218904D7B11D4EF38204AE27DC669F35F7CBCCB01E
+4B79845D084998E34B830F5600AF514E58D154557F13737AF20D5432BDDF5936
+D07F72C83FB5AE846BD8B083E0AAA5FDC73F4EF305ADD1C03CCA924CBB35C252
+352A845DF3D2159EED08E9EAB16647515E5930DAEBEDE91EF946787ACBA4BFA2
+BA898C60FFC0696A9764A51D01E31B6B39F22D289B4DD78D02D85D7FFFB3C3C4
+52CA50C8874F3C5557C22D7EC19236B0C25D89A6A9C64B2ED30932DF1D7D16FB
+278EE0F2F86B4F0130B5FA464C8257465F18F72FF723F67A438014D1823EB70F
+008077C1E6BC7D4E64D257E57A9891E052A5C2E0E8F03AEAE1FDCEE4D340F104
+583391A709680C96EA751B85951C99CBDD2D7CDEEFF6E4D747CE5D0D18599327
+AC37FE3AB145C19B76A511C0B440C98323B4F5941CE43979523DCC9640B346C2
+9C17C7C0D83D8ECE3D08E45267D3B4E2AFD78535ECD8CD65931D8E402A024C76
+6B5FADC434AD3D70E3538008BB3088EA45D7973E559581740258CC81E56F96E4
+E396A070BCD36CCF68623F05A817634D7C20BBD4313E36ADAFA35B412DD114A3
+87D0D92B6FA2EEB56779CF5A8038BBAF6C22A516C5D4CD09BBE9CD6F292C4F30
+0D078EE1EBD47EC7AF11EAEF72555F940B59942CE640BB461D529B3DD7DC59DE
+83B869FD97A69A92D01166B47DAEC3BA68DC8E314D8988F0A313FB0E971E20D1
+5C30A9225E2F537B23FFF0D9CE204B87A96E5B4E502BFBC67DBCA89E8C938F4C
+0F1712B956A6CE28D508359914E634DF70994A9430D90E9358BDE2800A05AD21
+3DA296BEA7E9C501908BD0DEA98436FE603B787FCB265AF2F69D0AF42A3F8D98
+AF22321E0CEEDDFAC5223B86E5E7E04FD4EED7ECE93255C2D546F8B423FF8DE6
+C7A6915AC6357A5FCD42D4262C9B06FAC29BC958CB7000F61B03C3C373295DE1
+92DB914B0FCC9D774E357A8B3AA97594D86484E056BCCE7C875ABDC6E04BFA6C
+F23CD3C39F7A5E652F9E7B1825258B791E840911685C5DB9EE0317229CAB1FAC
+BD966C2C1C947E84B9721A9C098AFE5C67EC3C0CD18E249D172E8F353896D153
+ECC2085BF67478C1A62C186283ECDD8F8ED860D88C72B3D84F116DB67AA63274
+302BBEAF09C4F5D04F2407BF9A43403B97FFB4672569B5E4A018CA9F412A7456
+728F70A0CC6A14E0EF7DA545D530BDB37CE47E65D836E211DFD18A0099356A35
+B68245F0ABB1D3653FCEB198083485B91F33C5C3D2AA2C5B3F07DBE2901FF1B3
+CEB2BEF981FE56D8554758720B4B984A509F8AEF743949ECB64310F87DA5B522
+A5BA72E3A5E1DB9EE74F912F1E70398D7D6699F670B0E1DC4C2F76D7B9D5CFFE
+E70B75564D3E930077DD78FCC47C55FB783B1E48901324CB5CF178B8583CB540
+BF03FC20E649F1C4BE64F1EE83B9722EF6E1447AD95F821378DEBBC0D846BDFB
+4D6F42800C967E6CBF3ACFE43A0A634F2F74DF741419344E838721FE98FF6C04
+79C8D8B5929D6D3F73E856F2085AE5C5CB4B028B091B211BFE3E9629B1C37772
+749960BFC86C941A4B3FFC4552D15B4CF9F2C9D44767CD34D134469FD2BADCC6
+77E651AD7C0E31DBAAA712A08080FE248AC5E592F8049A07FA1114A75C481DE4
+CD775562068C95B2B1D4B3242E5C43C5E5B7D6F5F57E1FF4134F8DB69F825F47
+0548185608CFE84477ABA83256F6B8BBBE668E8C525387D8D2448976E28BA5B1
+342148FFAF5903756F07F8F71DC9F323CB7448ED6C1FBF7CB916BACE2BCF1C71
+2C5DCDF9E344BF509AFAC07A0A48E819708927B36AB4EDA1D85782DF76D20280
+ECFCFC7003E60DE083654CB094F0216D7D8028DEB3C1F622EF341272FAFD9449
+3424D8428F4C8A51353F494C1E14534174F3F901C36E7743FBB03A665732D738
+4F78FB4AEB235F68CFD835818268C099317D49B8F794399CF8265ADF1120CD66
+75B2F9A5BAF86F4087CD1D18B168F3C555FC5C2FF0DC84CC14E6E4D92A366B66
+83C4E672E166ED8CEC9754EFC094AFDD263355A5FC1A81AD06ACA951CFF941C1
+93B4B036933CA8CE859C8073AD96CA9D2B706A0B17368F350F0BB90303766D59
+1D7551ADB6C952F499864B2B48790665243350A1294CA9FAE96DE3B4E160DDFF
+86E47810B8F00E46BA2008532C238525273C1EE87D706901EE95B73A6EF33DAF
+1DB033BAEC49324F2F4A26F510FDDF44F3F1884CD4D56751C144A2106EF7C63A
+C6D5CB11307FAB4C66D83D3E347DB503E3C98A49763B748B8EC5DA1C42167F5F
+D215865D84D7E2B01F94F62400F1FD81EB194CB80A4B33C1A5C5808164D8AAAE
+D261DDBFE916BE95BCE0D1B9936A36CC6E75DB412D4291EEFEB509053453FF14
+8D5F081E5FE7225C94D9627878D66BA4B4965DB12C1EB17ABB0A2D87A948292D
+D051934F33CCC97CC09548282BD24F04E37B724719138C0269DE4EC3E056FA2F
+CBCE254B977F1EA5B6CF56D590F5066911300AE3632E97B4807BD7947530D2D5
+1DE251686C5FEF4A851FE9AEA61BE752E37E5F5501B878BDBE054CA1516D0DB7
+54CEF32EAD3D936315C8702E5048B9109A6036FF5159FA3A0675A469CAA1959B
+A33B6322D0CC76A5B30546D41C3CF17B67B8E7FAD383D16F14620698749EC178
+80048C97D029E229BDF6227E4FC6666606FBF3673FB8205D5DCF3F5A83313227
+D1295134EE8C71E00DEC1487994483E9B81A642C53A8198EF57DDA9274FBCE4C
+6628EEC75C302F7ED41D10CB5F1B2AA4B12A5415E4510D25B1F576CC16C8F9A6
+5ADEE2248A1B46DDB499D779F8A63E09F674E27F74D53AB4642FBE6615094FF7
+B8040EBA84D850675C55AED0C9E1C4153428E1FC7AA8D9335B42BBB41C1C779B
+8717A00E96D2B9B4138DA60D818A8A303367CEEFB73A9DC01E24A7F160CD9AD9
+D375A71CAE6115FF29A61796418CC67255735BA3471D6542ACE20572B5E2C9A7
+494AB3EF0C728D7EFB42FE593A7F39821061B599A0772181D74438C5C7766CBB
+18D035AAA6A54F9922972E44D7AEF4AEC40CB0301FCEE83E1FE18196114EA8A0
+F7C91BC4339F87CD35A68ACDA8FC9F10E1386A040D910BAD5767C8DB06F5CC53
+35FA824C791B0870312C89048EA85093F0BE8FB4FD778BA03C048209D29BB315
+D601635271F36B8D38F83E8069482FDAE6C74249BF1CA70058C2BC8CDFB7C7D0
+9D19E903961561A4DE07D412030BB1748DD16F9DF7EE1CD8673B5DDC9CBB4DDA
+81716505A58E2C6E7EAEB44F7BC67FFA1A8C0583A92AB1710B618FE04312C778
+878DE8282AF5EE543222716741000EFD5267AD23DBB8D17B354AD4255D1625D8
+FE10341752CA2896F2E8A045B179A083595332706A62C34035AAF0D54F529A87
+AC9D67975E894EB72C5F15CAF1EA10B500CA39AFB32E3CF8A3332DBE41B41EBE
+3E0C9D2D68EADEC7F175885AFAF975DF62225114CCC3030D6D93F0C7FBBB2D43
+B4137595D7337DB70A5C763B9CBF597668A5BF3181473785A20D959750642B32
+04709F214C67F2E84943B39CBE069E84EE7514EEA255F5919750DB4A2D497AD5
+BCE3E4836DBF351BCC9AE7B05F8562B3411D3B29B807882AFDD951AB1987C040
+B21B661F8F9F37B724648CCE293CEBC503E812D03B366E18BD8E20F91AD432CC
+3A569F63867572311E492AD3A72B67B9DCE970CC21DF69492F2B60BF59AE176B
+24118C7A1350A243143600FF6E83C7762581746ED1D1FD64BA1A1E8DDB4888AC
+F2A2A33A81730F2E26DFE89631EE000C0D99EE8E8BB0E3A37614A4F8631ED982
+002CCC4DB0A2AAC85688A56D48D701C99321CFC5CE97BD3193A8925F3A4E19E9
+A34E7F53D9535359FCC9599BD30466D5EF6A64DD80F981BE451A3E34EDC1C278
+BB9305EFB756371853152D313CBE01808F60CAF2D894BF5D5905A54DA745D2D4
+29E3876D1E7A187BAE9D6207AA1F70222B7272A863F05EC0D29EA4562B7DEDCF
+66B369DA7FE7C7CF8D433A75D45486F864CC7BD0FBE940FEE9068C9F7B41ABF5
+97BE7ED06EBBE935C5135967A89EB2182457374C83C0D795D50A6ADC0384DB46
+BBADE8D2CE0A37FEB55F28425C25F26049590EECE560D135C8C7F5A4BFFA0AC2
+3ED2FF71A36867C426D8B9C9
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -1703,6 +1770,7 @@ end readonly def
dup 48 /zero put
dup 49 /one put
dup 50 /two put
+dup 51 /three put
dup 55 /seven put
dup 97 /a put
dup 109 /m put
@@ -1736,53 +1804,59 @@ AA078CE16247A1335AD332DAA950D20395A7384C33FF72EAA31A5B89766E635F
0733B90E7835C0AAF32BA04F1566D8161EA89CD4D14DDB953F8B910BFC8A7F03
5020F55EF8FC2640ADADA156F6CF8F2EB6610F7EE8874A26CBE7CD154469B9F4
ED76886B3FB679FFDEB59BB6C55AF7087BA48B75EE2FB374B19BCC421A963E15
-FE05ECAAF9EECDF4B2715010A320102E6F8CCAA342FA11532671C636C0D2E2CE
-D8649DBDBE8A697B6746DC731A91B8D0EB5A738C70E467C0CCE8051B8D0FAEDB
-16A277575E9AF40B3F2CD2E528C6A8121E0BAB76D2AA4844EC6D435C068019EA
-E1A61E204568F5F96B669B9720D2BEAC18810BCB07995F3AAC92FC49E6C8DCC0
-BBEDA5AFB0F58F7A0980130FCC5BF0ABCB5DB7D1CBC26DDD74A856D4E1679719
-5E80E567B56E43FA24494B908C6CFCDACBF7203DF96953E71E66F5EBADEA32D5
-0F35E49CD70429D5843A1158BF4C69057CF8BA43FC73A2A0D7B97F2BCEBA4281
-292DBC362571A6E3026C5D39C67C56F0A996E87929D62C165B0664C052113829
-B903754CC74A4E06A9A2F7E2FCC6F5B4BDE5CC9677B98362D731424E3905B8F1
-203212ED1EF2F5B9304B1C72674DFB75825CD777C265DD47BE521B46B9B08DEB
-E68DA4D3BBD0D36D2558FC85FCCF89CE81E653BB8F1303D626F4DC76E85C1DD5
-C2767CB24E4A1BAAFF97186BCD08B8EB133DEE8EF02A1351DEDEE652E04BC6FC
-25F9C78FDDF0D46D7B8511316619484D90C078BDDBAE75FB1E374AF96F8781C9
-6AB062C3B2F438E82AD90D455163EC1CDB961008DF06F8B7D188AAD13A8EF9A8
-FC4321B04A2EED0E036F81381304E2EBB5C9E5D10A28F73E906A3EED9FCC6634
-143CCA16428FD4CF2FB4A647659FF37B9092894F35239C0F282C9ACB2F1B58B3
-3CE9BCBA609B2738A68CCA19788C8DA40EE9327666BCCC8454148482BEC38ED5
-5F8F493D348FF96EAF8D7B815E24EEDE103D8F5A408D2A763EE6E5A4FCF6FCA3
-EC727794EE07356102A5F285201C085911A3C69164EBF2F9F85333A85BB3AF24
-4D1C505E4566728F218397B6C28C55ED9E89E273868E607A86FA3A1E474138B3
-1C3388B1386EB0C9ED48AF81D6F8C531CE2CFCFB140AACA9A454DF56B4761592
-ED64E92C716195AC083FE20E34D82D2B485A892019C8570574F73FD50E34201E
-4ED48F3115D8A4549081B646F5D5EB199AB0A6DE9A726826DC6DF57E5BD25782
-6AE41F632ABD892A11BEBB2688F4AF13F69E265A9D19A0BB0CD1A551B830AE12
-43CBD3B63E8ECB56D2571377906D8E2FDDBA145F7DC03E1CC886611A004DB730
-9CB365C8094E0A933FD700B24A107097D8F406F69A74BB9350881102A0A8B1E7
-CF2C750F8EBE2B1D5EE1673026CA0AED34122460A745B702D212D659D3254465
-C785A5F7FBFA09D533C4BD330A8A6237133BC72F59FE37FB76990C81C25CD70D
-DAF70C4D170B03DF71D35400338B727EF42D73980E3843809841F4C2FAE102A1
-8ED8E8A1C85638F350FBB1BA1100A102F957172D76C00650CCD42FC0B3750E49
-BE3E46C449043515647BB65C6D3FA952A6BA1721860355E0007283E6A9FDEB10
-F18BFF0F34C0F3941CC3839E598B2D8F2C75CC7784E9FB3C33BE312976CE2BFE
-F30229BEED1571DA9B6C896A02E64BD376FD9CEC8195B6C43A3292F171E9EB99
-39D9208529761E0669C4ECFF19EB710AF73F117F0509AB594083CD61F27EC6DB
-72B5D55F7CB0E389CF6D721649263F1B4160F1C1FCCA8119179518720F5BF614
-01E8A29E5B8131BC4BE6B84488F6A0E96BDFEDE3CF92D65BF31D29AD50132EC0
-5ECB43077F5956A05E78638F84A252DD37B188BC6146EB9EE605C97021E6EAAE
-5243720E4CCBFBD8D5869315A833FF70153C0F037AEE5213EBD9E4FDD02676F8
-1DA373549D550994B47532ACD72CFE200B8849D0E0B645B6EF0F967ADB58D849
-893B39D218E8BA2C6B55351B251733F4E0FEB66FA5937424D1E96CCEBA118D4A
-44D369AD3F534C118E86A203E7E9F78687551E346D290812B0992DBC24D189EE
-2CAB0E1B88A5A4D245EFBA40735B73DF82344481EA20549434C2A560DAE8D06C
-A72E6C05AE5D6791A7370151F9BD37DC2C10EBD1FCA765AB75207C66D0D9480D
-F019351F63440D46F829E0690CC58574ABF7A5A2F05B449067DC15836A5D824D
-DE6EA54E3AE1E8F817ADEC548F52EBFC8B4BB80CACF664B3D4369F76143EC455
-4F12FA19A399EB7175D02168EB8225A66A5A9421CF2C5557946FCFEF43D9E6A7
-B7503A014FC9968054AD95FCE95046C85228
+FE05ECAAF9EECDF4B2715010A320102E6F8CCAA342FA11532671CEB939AD2EEB
+4370BA2C96960CE9E6882316268ABAF1023ED9D2D13969EF9E53F52BC143383C
+AFC14F27A7530C1EF399707711B3AD971D9F57DE244315EED5A16F9CB6AC1524
+65C8C8458FB03FB8619B8A925DCA3AB2518F044DA696A4D6F8DAD182E1C15D7B
+C108C9538896A23A043EE66E18808902D215E82AEBA183D813D46B89A3FC847B
+A7F6E0082DE9AD8C0A83F521219955FE964A660826FE921E1EA12D7B34D65EAB
+B5E40E74A9666CBEBBFCB9A26A0526B72AF9F31F6A04305FA0284816DDEA6D1A
+5786756F613EF9040290DD2D2B27B88ECC0A1FE0DCC2035211919CBCD2DD7A8F
+35EF236D4E0749256874CDF5BA703F0C7B49EC0C9EB5C65AE1E7F7288452C619
+E013FCD5D5D5F8A517DA7305F04B4EE61B12A1A2A26C08A46982A7D1EEA07D01
+809552DB4B07FB6EE5A798324C57FC6C2A7D31D102E1BD5F296E9051464CA3CD
+F37695EB0EB77BB83F258039FCA21B8252F70CE5D3D9D74E452617B055E19B5B
+600B421C921B026BC7356AF63F2690C62B1CD9E479D62EF8F964D9BC29AE1447
+F096FA9ECF5E52F1F7E2FB34B02BDDE6C210D3A43AAADC40636AE8271DF2174A
+A63236C4BEA8FD7A6E841B4AEC2CADAA7FC481A16322BEBF01A31E4CD5A577C7
+EEA43211AC7C2C40A6EEEEE7BEEFA146BC3322E6A9E157641A67823CB2661C97
+07C1DE919CF5D1EB4550B08A8452972330B08C87A6AC91BB519667CF32F2885E
+71D69B398E7C59F815FA730BAFDD7F54260EEE5BBF6219A7A39D65B0624C9555
+CD34EAE5E7E9AA681B06C1EA575A6C41DD490E0FA258A93766707B6C8A35638A
+653E9244B25045CC2381F4998278F9844FF704AC420696AA6E18C8EA78D98163
+52ED5CDADE35979C4CEFDCA0B7C1A26211F04907D036016EE8A1F40BC4143093
+19D3F937DD6D6328882E40141CA000D42EDCD4D47A5516E5FD5205CB31F88D21
+8E855C79000D919BBFDBB843C29FE353B33833A36A6C76581DA65B8037DB5DD5
+1BA21BF81BFABEE02759C35002E9A0DDC78D460989B8948527120ECBCF5881F9
+F035B80F9269B0A846780272A15B14204B8C03A1A135092E31F162EE4BAF20BE
+D3C1EDC193FFDA52128313E51CD76189A911E82207A822DDF92F6E821A75BC5F
+762E99FD94B1148E71E873C01B46C0158170047A0E6BF5962863113893C71AF0
+FA1BB71520E364053B404B3D912E011D226A95C7ACFB4A1E7166F4B9BA67B4F7
+908FFA34D2C2199F7E5309E6DC0C76FC502D88752F6BEA537262DEC294E3CB05
+E511CA14CDF663D8745BF6703AC16FD61B43F7C3C6A903AE586FA783EA4515FD
+B3CC71B68757A66338CD91E4A09DAFEF053737D76A1A9B32BAC308021E7720A7
+8E0A341A4BA2DCAD4E0112DE60DE99539FA7B0EE73CE05BB245A1F5CFE242333
+8BFA62C67C95F0843B7369BD117C489DE934BB69D927069C072920398CC2DAB8
+62101720901D3DA6465303ABB9C19525DBBA151D0F1D8BAF70121CD368934EFB
+A68A210B8FD29391D25ACF6D77969768CF3C008DDDE81E2869083F86463FBE15
+E43370010EF7B374F3CBE74E86E80985B498014ABB6D28188DC087973B2AF56B
+71C3D7A500949D5950E745C3718317BD7E22F54D169EE7C702EA4C37AAFC853B
+2B6575BF17C3B0A910E47AB0F85C0F296B161F77E2D7E7967BE4951510732D40
+96F8C2B6D322DC5709576DC8F2E270822AE3A0C38DC54AE36A1D612D356C1347
+6E4A9C592787048C21E2D833263B65C8E4427B64AADD32C311361B018994ACC2
+ED31DE81A87D2944190F1EC792E28663DBDA732BBB7C1B39E0C9B652BC2519A9
+78AE3F205990732DB91653B03D317CEBACAB797FDFF3F01BB33C5B78B86D8783
+7AFF1ED5B3163983678D361A2B3CBD4CA1EEFDFC587E6FE91F62506F235109B6
+8E51CB8295F64F6C7E69CAE94466DE4B186B50D5551D51316DF9AB44EE853071
+B6FB652DB8B5C09EC2F4FFF2E231955CB58224DD864AB8D71468EEB44D967276
+7F048872912A3B92B0F54D5ABD5AD013B4BF2706D53FE5ADE3882F71C296F3E1
+35F4AF44A0B84D7840BFD29D466FC2D2F4E8C81B2B69C8EE5C2DAD4C1678F026
+144B7FE3A72CFAB5E1950EE2F8EAD198EED539DDCAB4840FB8ADB9ECCF6B31B7
+39B70FEE5F3BA9E758DFD9ECE3A627FB99495BCCEF3475FB360F235ED73DC910
+A787A5C59AE1AB0777ED3D08E5202A63E090D88B13C4752DC4D95113A259787E
+4C42D6C564AC849D5F9780D8EF59CE68268D052563C19581B06F7789AB1DEC3F
+EAC624CF6DDD2A821ED46B01F14A668F7ABE74A5529C94F086DB03C71EF817CA
+AD815C4D3588F99AB3A90B53EC855DDA69D299CA7C6EFCD2
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -1985,29 +2059,30 @@ B9503AD86BFE89B4FF5B6F49618C835B82C0380F
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
-TeXDict begin 40258431 52099146 1000 600 600 (README.dvi)
-@start /Fa 152[42 42 102[{}2 83.022 /CMSY10 rf /Fb 133[44
-1[44 1[44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44
-44 44 44 44 44 44 10[44 6[44 9[44 6[44 44 44 44 44 10[44
-1[44 2[44 44 44 44 2[44 2[44 13[44 44 18[{}42 83.022
-/CMTT10 rf /Fc 134[59 3[62 44 44 46 2[56 62 93 31 1[34
-31 62 56 1[51 62 50 62 54 10[85 5[77 1[88 4[42 20[56
-56 56 56 2[31 27[56 5[62 12[{}29 99.6264 /CMBX12 rf /Fd
-214[28 28 40[{}2 83.022 /LASY10 rf /Fe 134[50 3[53 37
-38 39 1[53 48 53 80 27 2[27 53 48 29 44 53 42 53 46 10[72
-73 66 53 72 72 65 72 1[91 57 2[36 75 2[63 73 69 1[72
-6[27 11[27 9[48 23[53 12[{}39 83.022 /CMBX10 rf /Ff 193[65
-1[65 60[{}2 83.022 /CMMI10 rf /Fg 133[37 44 44 60 44
-46 32 33 33 44 46 42 46 69 23 44 25 23 46 42 25 37 46
-37 46 42 2[42 3[51 2[85 62 62 60 46 61 65 57 65 62 76
-52 2[30 62 2[57 63 60 59 62 65 2[65 2[23 5[42 42 42 42
-1[42 23 28 23 2[32 32 23 5[23 8[37 4[42 42 3[69 1[46
-48 11[{}68 83.022 /CMR10 rf /Fh 138[75 52 53 55 1[75
-67 75 112 37 2[37 75 2[61 75 60 75 65 13[75 2[92 2[128
-3[50 5[97 1[102 11[67 67 67 67 67 3[45 25[67 6[75 12[{}30
-119.552 /CMBX12 rf /Fi 140[38 38 4[81 11[49 41[49 4[49
-49 49 48[{}8 99.6264 /CMR12 rf /Fj 133[58 4[73 51 52
-51 2[66 73 111 36 2[36 73 2[58 73 58 1[66 9[137 4[98
+TeXDict begin 40258431 52099146 1000 600 600 (READ_ME.dvi)
+@start /Fa 152[42 42 102[{}2 83.022 /CMSY10 rf /Fb 135[44
+1[44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44
+44 44 44 44 44 17[44 9[44 3[44 2[44 44 44 44 44 10[44
+1[44 2[44 44 44 44 2[44 2[44 13[44 44 18[{}41 83.022
+/CMTT10 rf /Fc 134[59 3[62 44 44 46 59 62 56 62 93 31
+1[34 31 62 56 34 51 62 50 62 54 10[85 5[77 1[88 4[42
+88 3[86 81 14[56 56 56 56 2[31 26[56 56 5[62 12[{}36
+99.6264 /CMBX12 rf /Fd 214[28 28 40[{}2 83.022 /LASY10
+rf /Fe 193[65 1[65 60[{}2 83.022 /CMMI10 rf /Ff 133[37
+44 44 60 44 46 32 33 33 44 46 42 46 69 23 44 25 23 46
+42 25 37 46 37 46 42 2[42 3[51 2[85 62 62 60 46 61 65
+57 65 62 76 52 2[30 62 2[57 63 60 59 62 65 2[65 2[23
+4[42 42 42 42 42 1[42 23 28 23 2[32 32 23 5[23 8[37 4[42
+42 3[69 1[46 48 11[{}69 83.022 /CMR10 rf /Fg 134[50 3[53
+37 38 39 1[53 48 53 80 27 2[27 53 48 29 44 53 42 53 46
+10[72 73 66 53 72 72 65 72 1[91 57 2[36 75 2[63 73 69
+1[72 6[27 4[48 48 48 48 48 2[27 32 8[48 16[48 6[53 12[{}46
+83.022 /CMBX10 rf /Fh 138[75 52 53 55 1[75 67 75 112
+37 2[37 75 2[61 75 60 75 65 12[94 75 2[92 2[128 3[50
+5[97 1[102 11[67 67 67 67 67 3[45 25[67 67 5[75 12[{}32
+119.552 /CMBX12 rf /Fi 140[38 38 4[81 11[49 41[49 3[49
+49 49 49 48[{}9 99.6264 /CMR12 rf /Fj 133[58 4[73 51
+52 51 2[66 73 111 36 2[36 73 2[58 73 58 1[66 9[137 4[98
2[103 2[83 5[86 4[99 19[43 5[36 39[{}23 143.462 /CMR17
rf end
%%EndProlog
@@ -2022,284 +2097,339 @@ letter
%%Page: 1 1
TeXDict begin 1 0 bop 614 872 a Fj(A)-15 b(W)l(OR)44
b(-)f(Fic)l(hier)i(Lisez-moi)d(de)i(l'administrateur)1665
-1295 y Fi(11)32 b(mars)h(2007)515 1647 y Fh(1)134 b(Compatibilit)m
-(\023)-64 b(e)639 1829 y Fg(Cette)22 b(application)e(p)r(eut-)n(^)-39
+1295 y Fi(13)32 b(mars)h(2007)515 1653 y Fh(T)-11 b(able)45
+b(des)g(mati)m(\022)-64 b(eres)515 1835 y Fg(1)76 b(Compatibilit)n
+(\023)-46 b(e)2117 b(2)515 2018 y(2)76 b(S)n(\023)-46
+b(ecurit)n(\023)g(e)2353 b(2)515 2201 y(3)76 b(Installation)2217
+b(2)639 2300 y Ff(3.1)84 b(D)n(\023)-39 b(epaquetage)26
+b(des)h(pages)g(PHP)20 b(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h
+(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)131 b(2)639 2400
+y(3.2)84 b(P)n(aram)n(\022)-39 b(etres)24 b(de)k(con\014guration)35
+b(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
+f(.)h(.)f(.)h(.)131 b(3)639 2500 y(3.3)84 b(Initialisation)27
+b(de)h(la)f(base)84 b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)
+f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)131 b(4)639
+2599 y(3.4)84 b(Con\014guration)26 b(par)h(d)n(\023)-39
+b(efaut)27 b(des)h(comptes)79 b(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f
+(.)h(.)f(.)h(.)f(.)h(.)131 b(4)515 2782 y Fg(4)76 b(Main)m(tenance)2159
+b(4)639 2881 y Ff(4.1)84 b(Visualisation)27 b(des)g(ob)5
+b(jets)28 b(et)f(des)h(\014c)n(hiers)68 b(.)41 b(.)h(.)g(.)f(.)h(.)f(.)
+h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)131 b(4)639 2981 y(4.2)84
+b(Netto)n(y)n(age)26 b(de)i(la)f(base)50 b(.)42 b(.)f(.)h(.)f(.)h(.)g
+(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)
+h(.)131 b(5)515 3164 y Fg(5)76 b(Authen)m(ti\014cation)33
+b(d)n(\023)-46 b(edi)n(\023)g(ee)30 b(-)i(P)m(ersonnalisation)935
+b(5)1926 5255 y Ff(1)p eop end
+%%Page: 2 2
+TeXDict begin 2 1 bop 515 523 a Fh(1)134 b(Compatibilit)m(\023)-64
+b(e)639 705 y Ff(Cette)22 b(application)e(p)r(eut-)n(^)-39
b(etre)21 b(utilis)n(\023)-39 b(ee)20 b(sur)h(un)g(serv)n(eur)f
-(fonctionnan)n(t)h(a)n(v)n(ec)e(Apac)n(he,)515 1929 y(MySQL\()p
-Ff(>)p Fg(=4\))26 b(et)i(PHP)f(\()p Ff(>)p Fg(=4\).)515
-2144 y Fe(PHP)83 b Fg(L'application)21 b(ne)g(n)n(\023)-39
+(fonctionnan)n(t)h(a)n(v)n(ec)e(Apac)n(he,)515 805 y(MySQL\()p
+Fe(>)p Ff(=4\))26 b(et)i(PHP)f(\()p Fe(>)p Ff(=4\).)515
+1020 y Fg(PHP)83 b Ff(L'application)21 b(ne)g(n)n(\023)-39
b(ecessite)20 b(pas)g(de)i(con\014guration)d(de)j(PHP)e(particuli)n
-(\022)-39 b(ere.)19 b(Elle)515 2243 y(fonctionne)k(quelque)f(soit)h(la)
+(\022)-39 b(ere.)19 b(Elle)515 1120 y(fonctionne)k(quelque)f(soit)h(la)
g(v)-5 b(aleur)22 b(du)h(param)n(\022)-39 b(etre)21 b(de)i
-(con\014guration)e(register)p 3083 2243 25 4 v 28 w(globals,)515
-2343 y(utilise)38 b(les)g(sessions)e(via)h(les)h(fonctions)g(in)n(tro)r
-(duites)f(en)h(PHP4.)f(L'application)g(fonc-)515 2443
+(con\014guration)e(register)p 3083 1120 25 4 v 28 w(globals,)515
+1220 y(utilise)38 b(les)g(sessions)e(via)h(les)h(fonctions)g(in)n(tro)r
+(duites)f(en)h(PHP4.)f(L'application)g(fonc-)515 1319
y(tionne)29 b(quelque)g(soit)g(la)g(v)n(erb)r(osit)n(\023)-39
b(e)27 b(des)i(a\016c)n(hages)f(d'erreur)g(et)h(de)h(w)n(arning)d(PHP)
--7 b(,)29 b(car)515 2542 y(nous)h(a)n(v)n(ons)e(tra)n(v)-5
+-7 b(,)29 b(car)515 1419 y(nous)h(a)n(v)n(ons)e(tra)n(v)-5
b(aill)n(\023)-39 b(e)28 b(\022)-42 b(a)28 b(\023)-39
b(eliminer)29 b(tous)h(les)g(messages)f Fd(\()-17 b(\()22
-b Fg(E)p 2441 2542 V 30 w(NOTICE)g Fd(\))-17 b(\))30
-b Fg(PHP)g(qui)g(sur-)515 2642 y(viennen)n(t)d(par)g(exemple)h(lors)e
+b Ff(E)p 2441 1419 V 30 w(NOTICE)g Fd(\))-17 b(\))30
+b Ff(PHP)g(qui)g(sur-)515 1518 y(viennen)n(t)d(par)g(exemple)h(lors)e
(d'une)i(comparaison)e(a)n(v)n(ec)g(une)i(v)-5 b(ariable)26
-b(non-initialis)n(\023)-39 b(ee.)639 2742 y(Les)28 b(scripts)f(PHP)g
+b(non-initialis)n(\023)-39 b(ee.)639 1618 y(Les)28 b(scripts)f(PHP)g
(n'acc)n(\022)-39 b(eden)n(t)26 b(pas)h(en)f(\023)-39
b(ecriture)26 b(au)i(syst)n(\022)-39 b(eme)26 b(de)i(\014c)n(hier,)f
-(sauf)g(p)r(our)515 2841 y(l'upload)e(de)h(\014c)n(hiers.)f(Le)g
-(dossier)g Fd(\()-17 b(\()20 b Fg(\014c)n(hiers)g Fd(\))-17
-b(\))25 b Fg(doit)e(^)-39 b(etre)25 b(accessible)g(en)e(\023)-39
-b(ecriture)24 b(par)h(les)515 2941 y(scripts)i(PHP)g(sans)g(quoi)g(la)g
+(sauf)g(p)r(our)515 1718 y(l'upload)e(de)h(\014c)n(hiers.)f(Le)g
+(dossier)g Fd(\()-17 b(\()20 b Ff(\014c)n(hiers)g Fd(\))-17
+b(\))25 b Ff(doit)e(^)-39 b(etre)25 b(accessible)g(en)e(\023)-39
+b(ecriture)24 b(par)h(les)515 1817 y(scripts)i(PHP)g(sans)g(quoi)g(la)g
(fonctionnalit)n(\023)-39 b(e)26 b(d')n(\023)-39 b(ec)n(hange)26
-b(de)i(\014c)n(hier)f(serait)f(in)n(utilisable.)515 3156
-y Fe(MySQL)83 b Fg(Les)22 b(scripts)g(PHP)h(ne)f(mo)r(di\014en)n(t)h
+b(de)i(\014c)n(hier)f(serait)f(in)n(utilisable.)515 2033
+y Fg(MySQL)83 b Ff(Les)22 b(scripts)g(PHP)h(ne)f(mo)r(di\014en)n(t)h
(pas)g(structurellemen)n(t)f(la)g(base)g(de)h(donn)n(\023)-39
-b(ee)515 3255 y(MySQL,)33 b(il)h(su\016t)g(donc)g(d'un)g(compte)g(p)r
+b(ee)515 2133 y(MySQL,)33 b(il)h(su\016t)g(donc)g(d'un)g(compte)g(p)r
(ermettan)n(t)g(les)g(instructions)f(SELECT,)g(IN-)515
-3355 y(SER)-7 b(T,)23 b(UPD)n(A)-7 b(TE,)24 b(DELETE)e(sur)h(les)g
+2232 y(SER)-7 b(T,)23 b(UPD)n(A)-7 b(TE,)24 b(DELETE)e(sur)h(les)g
(tables)g(de)h(l'application.)f(P)n(our)f(indiquer)h(\022)-42
-b(a)24 b(l'ap-)515 3455 y(plication)j(quel)h(compte)f(MySQL)g
+b(a)24 b(l'ap-)515 2332 y(plication)j(quel)h(compte)f(MySQL)g
(utiliser,)h(v)n(euillez)f(v)n(ous)g(rep)r(orter)f(\022)-42
-b(a)27 b(la)g(section)h(3.2.)515 3728 y Fh(2)134 b(S)m(\023)-64
-b(ecurit)m(\023)g(e)639 3910 y Fg(Cette)19 b(application)f(a)d(\023)-39
+b(a)27 b(la)g(section)h(3.3.)515 2607 y Fh(2)134 b(S)m(\023)-64
+b(ecurit)m(\023)g(e)639 2788 y Ff(Cette)19 b(application)f(a)d(\023)-39
b(et)n(\023)g(e)17 b(d)n(\023)-39 b(ev)n(elopp)n(\023)g(ee)16
b(en)i(gardan)n(t)f(toujours)h(\022)-42 b(a)18 b(l'esprit)g(les)g
-(probl)n(\022)-39 b(emes)515 4010 y(de)28 b(s)n(\023)-39
+(probl)n(\022)-39 b(emes)515 2888 y(de)28 b(s)n(\023)-39
b(ecurit)n(\023)g(es.)26 b(Nous)i(ne)h(p)r(ouv)n(ons)c(\023)-39
b(evidemmen)n(t)28 b(pas)f(la)h(garan)n(tir)f(failles)h(ni)g(bugs,)g
-(mais)515 4110 y(nous)34 b(sommes)g(\014x)n(\023)-39
+(mais)515 2988 y(nous)34 b(sommes)g(\014x)n(\023)-39
b(e)33 b(des)h(r)n(\022)-39 b(egles)32 b(de)j(programmation)d(p)r(our)g
(\023)-39 b(eviter)33 b(les)h(failles)h(les)f(plus)515
-4209 y(couran)n(tes.)19 b(T)-7 b(outes)21 b(les)f(donn)n(\023)-39
+3087 y(couran)n(tes.)19 b(T)-7 b(outes)21 b(les)f(donn)n(\023)-39
b(ees)20 b(issue)g(de)h(l'utilisateur)g(lors)f(des)h(traitemen)n(ts)f
-(des)h(pages)515 4309 y(w)n(eb)g(son)n(t)h(trait)n(\023)-39
+(des)h(pages)515 3187 y(w)n(eb)g(son)n(t)h(trait)n(\023)-39
b(ees)20 b(p)r(our)f(\023)-39 b(eviter)20 b(des)i(probl)n(\022)-39
b(emes)20 b(d'insertion)h(de)h(co)r(de)g(dans)f(les)h(requetes)515
-4408 y(SQL.)g(L'authen)n(ti\014cation)h(des)g(utilisateurs)f(est)h
+3287 y(SQL.)g(L'authen)n(ti\014cation)h(des)g(utilisateurs)f(est)h
(syst)n(\023)-39 b(ematique,)21 b(v)n(\023)-39 b(eri\014)n(\023)g(ee)20
-b(\022)-42 b(a)23 b(c)n(haque)f(page)515 4508 y(et)k(rep)r(ose)f(sur)g
+b(\022)-42 b(a)23 b(c)n(haque)f(page)515 3386 y(et)k(rep)r(ose)f(sur)g
(le)h(syst)n(\022)-39 b(eme)25 b(des)h(sessions)e(PHP)-7
b(.)26 b(En)f(rev)-5 b(anc)n(he,)25 b(il)h(faut)h(noter)e(que)h(le)g
-(for-)515 4608 y(m)n(ulaire)19 b(d'authen)n(ti\014cation)i(n'est)g(pas)
+(for-)515 3486 y(m)n(ulaire)19 b(d'authen)n(ti\014cation)i(n'est)g(pas)
f(prot)n(\023)-39 b(eg)n(\023)g(e)17 b(con)n(tre)i(l'usurpation)h(de)h
-(mots)f(de)h(passe)515 4707 y(car)27 b(les)i(con)n(train)n(tes)d(donn)n
+(mots)f(de)h(passe)515 3585 y(car)27 b(les)i(con)n(train)n(tes)d(donn)n
(\023)-39 b(ees)27 b(dans)i(le)f(cahier)g(des)g(c)n(harges)f(ne)h(le)h
-(p)r(ermetten)n(t)g(pas,)f(d)r(^)-44 b(u)515 4807 y(moins,)33
+(p)r(ermetten)n(t)g(pas,)f(d)r(^)-44 b(u)515 3685 y(moins,)33
b(il)h(n'est)f(pas)g(p)r(ossible)h(d'utiliser)f(un)h(cryptage)e
(e\016cace)h(\(assym)n(\023)-39 b(etrique\))32 b(sans)515
-4907 y(mo)r(di\014er)22 b(le)g(syst)n(\022)-39 b(eme)21
+3785 y(mo)r(di\014er)22 b(le)g(syst)n(\022)-39 b(eme)21
b(d'authen)n(ti\014cation)i(d)n(\023)-39 b(el)n(\023)g(egu)n(\023)g(ee)
19 b(et)j(sans)g(utiliser)g(une)h(con\014guration)515
-5006 y(de)k(serv)n(eur)e(W)-7 b(eb)28 b(sp)n(\023)-39
+3884 y(de)k(serv)n(eur)e(W)-7 b(eb)28 b(sp)n(\023)-39
b(eci\014que.)26 b(Consid)n(\023)-39 b(erez,)25 b(p)r(our)i(r)n(\023)
--39 b(esoudre)25 b(ce)i(probl)n(\022)-39 b(eme,)25 b(l'emploi)j(sur)
-1926 5255 y(1)p eop end
-%%Page: 2 2
-TeXDict begin 2 1 bop 515 523 a Fg(serv)n(eur)24 b(w)n(eb)h(s)n(\023)
--39 b(ecuris)n(\023)g(e)23 b(\(HTTPS\))k(et)f(l'utilisation)g(d'une)g
-(liaison)f(en)n(tre)g(le)h(serv)n(eur)e(w)n(eb)515 623
-y(et)k(le)f(serv)n(eur)f(d'authen)n(ti\014cation)i(au)f(tra)n(v)n(ers)e
-(d'un)j(r)n(\023)-39 b(eseau)26 b(de)h(con\014ance.)515
-897 y Fh(3)134 b(Installation)515 1096 y Fc(3.1)112 b(P)m(aram)n(\022)
--54 b(etres)38 b(de)g(con\014guration)639 1249 y Fg(Cette)33
+-39 b(esoudre)25 b(ce)i(probl)n(\022)-39 b(eme,)25 b(l'emploi)j(sur)515
+3984 y(serv)n(eur)c(w)n(eb)h(s)n(\023)-39 b(ecuris)n(\023)g(e)23
+b(\(HTTPS\))k(et)f(l'utilisation)g(d'une)g(liaison)f(en)n(tre)g(le)h
+(serv)n(eur)e(w)n(eb)515 4084 y(et)k(le)f(serv)n(eur)f(d'authen)n
+(ti\014cation)i(au)f(tra)n(v)n(ers)e(d'un)j(r)n(\023)-39
+b(eseau)26 b(de)h(con\014ance.)515 4358 y Fh(3)134 b(Installation)515
+4557 y Fc(3.1)112 b(D)n(\023)-54 b(epaquetage)39 b(des)f(pages)g(PHP)
+639 4710 y Ff(L'application)j(est)h(livr)n(\023)-39 b(ee)39
+b(dans)j(une)f(arc)n(hiv)n(e)f(de)i(t)n(yp)r(e)f(tarball)g(compress)n
+(\023)-39 b(ee)39 b(qui)515 4809 y(con)n(tien)n(t)18
+b(toute)g(l'arb)r(orescence)f(et)h(les)h(\014c)n(hiers)e(PHP)h(n)n
+(\023)-39 b(ecessaires.)15 b(Il)k(su\016t)g(de)f(d)n(\023)-39
+b(ecompresser)1926 5255 y(2)p eop end
+%%Page: 3 3
+TeXDict begin 3 2 bop 515 523 a Ff(cette)27 b(arc)n(hiv)n(e)f(en)h
+(conserv)-5 b(an)n(t)26 b(l'arb)r(orescence)f(dans)i(un)g(dossier)f
+(publi)n(\023)-39 b(e)27 b(par)f(v)n(otre)g(ser-)515
+623 y(v)n(eur)f(W)-7 b(eb.)27 b(Les)f(\014c)n(hiers)f(de)i
+(con\014gurations)d(son)n(t)i(pr)n(\023)-39 b(esen)n(t)24
+b(et)j(con)n(tiennen)n(t)f(des)g(v)-5 b(aleurs)515 722
+y(d'exemple)27 b(que)h(v)n(ous)f(p)r(ourrez)f(adapter)h(\022)-42
+b(a)27 b(v)n(otre)f(situation.)515 951 y Fc(3.2)112 b(P)m(aram)n(\022)
+-54 b(etres)38 b(de)g(con\014guration)639 1104 y Ff(Cette)33
b(application)f(comp)r(orte)g(deux)h(\014c)n(hiers)f(de)h
-(con\014guration)e(qui)i(son)n(t)f(dans)g(le)515 1349
-y(dossier)f Fd(\()-17 b(\()24 b Fg(include)f Fd(\))-17
-b(\))p Fg(.)33 b(Les)f(\014c)n(hiers)g(existen)n(t)h(dans)f(la)g(v)n
+(con\014guration)e(qui)i(son)n(t)f(dans)g(le)515 1203
+y(dossier)f Fd(\()-17 b(\()24 b Ff(include)f Fd(\))-17
+b(\))p Ff(.)33 b(Les)f(\014c)n(hiers)g(existen)n(t)h(dans)f(la)g(v)n
(ersion)f(distribu)n(\023)-39 b(ee)32 b(et)h(on)n(t)f(p)r(our)515
-1448 y(but)c(de)g(servir)e(de)i(mo)r(d)n(\022)-39 b(ele.)515
-1591 y Fe(connect.inc.php)31 b(:)41 b Fg(ce)32 b(\014c)n(hier)f(con)n
+1303 y(but)c(de)g(servir)e(de)i(mo)r(d)n(\022)-39 b(ele.)515
+1433 y Fg(connect.inc.php)31 b(:)41 b Ff(ce)32 b(\014c)n(hier)f(con)n
(tien)n(t)g(les)g(co)r(ordonn)n(\023)-39 b(ees)29 b(du)j(serv)n(eur)e
-(MySQL,)h(de)722 1690 y(l'utilisateur)d(SQL)f(et)h(de)g(la)f(base)g
-(que)g(l'application)g(utilisera.)515 1819 y Fe(con\014g.inc.php)k(:)41
-b Fg(ce)35 b(\014c)n(hier)f(con)n(tien)n(t)h(tout)g(le)g(reste)g(de)g
-(la)g(con\014guration)e(de)j(l'ap-)722 1918 y(plication.)k(Le)g(\014c)n
+(MySQL,)h(de)722 1533 y(l'utilisateur)d(SQL)f(et)h(de)g(la)f(base)g
+(que)g(l'application)g(utilisera.)515 1653 y Fg(con\014g.inc.php)k(:)41
+b Ff(ce)35 b(\014c)n(hier)f(con)n(tien)n(t)h(tout)g(le)g(reste)g(de)g
+(la)g(con\014guration)e(de)j(l'ap-)722 1752 y(plication.)k(Le)g(\014c)n
(hier)g(est)g(un)g(script)g(PHP)g(qui)g(initialise)g(un)g(tableau)g(m)n
-(ulti-)722 2018 y(dimen)n(tionnel.)f(Ce)f(c)n(hoix)f(\022)-42
+(ulti-)722 1852 y(dimen)n(tionnel.)f(Ce)f(c)n(hoix)f(\022)-42
b(a)36 b(\023)-39 b(et)n(\023)g(e)37 b(fait)h(par)g(commo)r(dit)n(\023)
--39 b(e,)37 b(et)h(p)r(our)g(p)r(ermette)h(de)722 2117
+-39 b(e,)37 b(et)h(p)r(our)g(p)r(ermette)h(de)722 1951
y(bien)h(hi)n(\023)-39 b(erarc)n(hiser)37 b(les)i(information,)h(en)f
(rev)-5 b(anc)n(he,)39 b(la)h(syn)n(taxe)e(est)i(fourb)r(e.)14
-b(.)g(.)722 2217 y(N'oubliez)28 b(pas)f(de)h(virgule)13
+b(.)g(.)722 2051 y(N'oubliez)28 b(pas)f(de)h(virgule)13
b(!)27 b(T)-7 b(outes)28 b(les)f(constan)n(tes)f(son)n(t)h(d)n(\023)-39
-b(ecrites)27 b(ci-dessous.)722 2374 y Fe($adminMail)k(:)41
-b Fg(adresse)23 b(e-mail)h(de)g(l'administrateur.)g(A\016c)n(h)n(\023)
--39 b(ee)24 b(\022)-42 b(a)24 b(l'utilisateur)905 2473
+b(ecrites)27 b(ci-dessous.)722 2191 y Fg($adminMail)k(:)41
+b Ff(adresse)23 b(e-mail)h(de)g(l'administrateur.)g(A\016c)n(h)n(\023)
+-39 b(ee)24 b(\022)-42 b(a)24 b(l'utilisateur)905 2291
y(lorsque)i(qu'une)i(erreur)e(in)n(terne)i(\022)-42 b(a)27
-b(l'application)g(s'est)g(pro)r(duite.)722 2602 y Fe($automatedMail)k
-(:)41 b Fg(adresse)31 b(e-mail)g(de)h(r)n(\023)-39 b(ep)r(onse)30
+b(l'application)g(s'est)g(pro)r(duite.)722 2411 y Fg($automatedMail)k
+(:)41 b Ff(adresse)31 b(e-mail)g(de)h(r)n(\023)-39 b(ep)r(onse)30
b(des)i(courriels)f(en)n(v)n(o)n(y)n(\023)-39 b(es)29
-b(au-)905 2701 y(tomatiquemen)n(t)e(par)g(l'application.)722
-2830 y Fe(A)m(UTH)33 b(:)41 b Fg(P)n(aram)n(\022)-39
-b(etres)24 b(d'authen)n(ti\014cation)905 2986 y Fe(POP)32
-b(:)41 b Fg(P)n(aram)n(\022)-39 b(etres)24 b(p)r(our)j(les)h(serv)n
-(eurs)d(mail)j(POP)1060 3143 y Fe(SER)-11 b(VERS)31 b(:)41
-b Fg(Chaque)26 b(\023)-39 b(el)n(\023)g(emen)n(t)27 b(de)h(ce)g
+b(au-)905 2510 y(tomatiquemen)n(t)e(par)g(l'application.)722
+2630 y Fg(A)m(UTH)33 b(:)41 b Ff(P)n(aram)n(\022)-39
+b(etres)24 b(d'authen)n(ti\014cation)905 2770 y Fg(POP)32
+b(:)41 b Ff(P)n(aram)n(\022)-39 b(etres)24 b(p)r(our)j(les)h(serv)n
+(eurs)d(mail)j(POP)1060 2911 y Fg(SER)-11 b(VERS)31 b(:)41
+b Ff(Chaque)26 b(\023)-39 b(el)n(\023)g(emen)n(t)27 b(de)h(ce)g
(tableau)g(\022)-42 b(a)28 b(p)r(our)g(clef)h(le)f(nom)1201
-3243 y(de)d(domaine)f(du)h(fournisseur)e(de)i(service)f(de)g(courriel)f
-(\()i(partie)f(sui-)1201 3342 y(v)-5 b(an)n(t)27 b(le)g(@)g(dans)g(une)
+3010 y(de)d(domaine)f(du)h(fournisseur)e(de)i(service)f(de)g(courriel)f
+(\()i(partie)f(sui-)1201 3110 y(v)-5 b(an)n(t)27 b(le)g(@)g(dans)g(une)
g(adresse)f(e-mail\))g(\022)-42 b(a)27 b(p)r(our)g(v)-5
-b(aleur)26 b(un)h(tableau)1201 3442 y(asso)r(ciatif)g(de)h(la)f(forme)g
-(suiv)-5 b(an)n(te)1201 3599 y Fe(sub)s(domain)31 b(:)41
-b Fg(adresse)23 b(complete)i(du)g(serv)n(eur)e(o\013ran)n(t)g(le)i
-(service)1284 3699 y(POP)1201 3827 y Fe(p)s(ort)32 b(:)41
-b Fg(n)n(um)n(\023)-39 b(ero)39 b(de)h(p)r(ort)h(TCP)f(utilis)n(\023)
--39 b(e)39 b(p)r(our)h(se)h(connecter)e(au)1284 3926
-y(service)27 b(POP)1201 4055 y Fe(username)p 1604 4055
-29 4 v 34 w(is)p 1703 4055 V 34 w(full)p 1873 4055 V
-33 w(mail)k(:)41 b Fg(Bo)r(ol)n(\023)-39 b(een)38 b(\(true)j(ou)e
-(false\))h(indican)n(t)1284 4154 y(si)k(le)g(nom)g(d'utilisateur)g
+b(aleur)26 b(un)h(tableau)1201 3210 y(asso)r(ciatif)g(de)h(la)f(forme)g
+(suiv)-5 b(an)n(te)1201 3350 y Fg(sub)s(domain)31 b(:)41
+b Ff(adresse)23 b(complete)i(du)g(serv)n(eur)e(o\013ran)n(t)g(le)i
+(service)1284 3449 y(POP)1201 3569 y Fg(p)s(ort)32 b(:)41
+b Ff(n)n(um)n(\023)-39 b(ero)39 b(de)h(p)r(ort)h(TCP)f(utilis)n(\023)
+-39 b(e)39 b(p)r(our)h(se)h(connecter)e(au)1284 3669
+y(service)27 b(POP)1201 3789 y Fg(username)p 1604 3789
+29 4 v 34 w(is)p 1703 3789 V 34 w(full)p 1873 3789 V
+33 w(mail)k(:)41 b Ff(Bo)r(ol)n(\023)-39 b(een)38 b(\(true)j(ou)e
+(false\))h(indican)n(t)1284 3888 y(si)k(le)g(nom)g(d'utilisateur)g
(\022)-42 b(a)43 b(utiliser)h(p)r(our)f(l'authen)n(ti\014cation)1284
-4254 y(est)28 b(l'adresse)e(e-mail)h(compl)n(\022)-39
+3988 y(est)28 b(l'adresse)e(e-mail)h(compl)n(\022)-39
b(ete.)26 b(C'est)i(utile)g(p)r(our)f(les)g(serv)n(eurs)1284
-4353 y(POP)17 b(g)n(\023)-39 b(eran)n(t)16 b(des)j(adresses)d(email)i
-(sur)g(plusieurs)g(domaines)g(\(comme)1284 4453 y(w)n(anado)r(o)26
+4088 y(POP)17 b(g)n(\023)-39 b(eran)n(t)16 b(des)j(adresses)d(email)i
+(sur)g(plusieurs)g(domaines)g(\(comme)1284 4187 y(w)n(anado)r(o)26
b(/)h(orange)f(au)i(momen)n(t)f(o)r(\022)-44 b(u)27 b(j')n(\023)-39
-b(ecris)27 b(ce)g(do)r(cumen)n(t\))905 4610 y Fe(b)m(ypass)p
-1186 4610 V 35 w(if)p 1277 4610 V 34 w(lo)s(cal)k(:)41
-b Fg(Bo)r(ol)n(\023)-39 b(een)37 b(indiquan)n(t)i(si)g(l'authen)n
-(ti\014cation)g(doit)e(^)-39 b(etre)1060 4710 y(outrepass)n(\023)g(ee)
+b(ecris)27 b(ce)g(do)r(cumen)n(t\))905 4327 y Fg(b)m(ypass)p
+1186 4327 V 35 w(if)p 1277 4327 V 34 w(lo)s(cal)k(:)41
+b Ff(Bo)r(ol)n(\023)-39 b(een)37 b(indiquan)n(t)i(si)g(l'authen)n
+(ti\014cation)g(doit)e(^)-39 b(etre)1060 4427 y(outrepass)n(\023)g(ee)
21 b(si)h(la)h(connexion)f(s'e\013ectue)h(depuis)h(le)f(serv)n(eur)e
-(lui-m)n(^)-39 b(eme.)722 4866 y Fe(CSS)32 b(:)41 b Fg(P)n(aram)n(\022)
--39 b(etres)24 b(des)k(st)n(yles)e(de)i(pages)1926 5255
-y(2)p eop end
-%%Page: 3 3
-TeXDict begin 3 2 bop 905 523 a Fe(CHOOSER)p 1387 523
-29 4 v 33 w(LIST)33 b(:)41 b Fg(Ce)19 b(tableau)g(asso)r(ciatif)g(con)n
-(tien)n(t)g(la)g(liste)g(des)h(st)n(yles)1060 623 y(CSS)29
-b(\022)-42 b(a)28 b(utiliser.)h(Les)f(clefs)h(son)n(t)f(les)g(lib)r
-(ell)n(\023)-39 b(es)28 b(des)g(th)n(\022)-39 b(emes)28
-b(\022)-42 b(a)28 b(a\016c)n(her)g(et)1060 722 y(les)33
-b(v)-5 b(aleurs)33 b(son)n(t)f(les)h(noms)g(des)g(\014c)n(hiers)f(CSS)i
-(corresp)r(ondan)n(ts,)d(sans)1060 822 y(c)n(hemin,)d(ni)g(extension.)
-722 972 y Fe(MAIL)33 b(:)905 1122 y(TEMPLA)-8 b(TES)33
-b(:)41 b Fg(Ce)28 b(tableau)h(con)n(tien)n(t)g(des)f(tableaux)h(asso)r
-(ciatifs)e(don)n(t)1060 1221 y(les)g(clefs)f(seron)n(t)g(utilis)n(\023)
--39 b(ees)26 b(dans)g(les)g(passages)f(de)i(param)n(\022)-39
-b(etres)24 b(HTML,)1060 1321 y(et)k(con)n(tiennen)n(t)f(des)h
-(sous-tableaux)e(de)h(la)h(forme)f(suiv)-5 b(an)n(te)27
-b(:)1060 1471 y Fe(caption)32 b(:)41 b Fg(In)n(titul)n(\023)-39
+(lui-m)n(^)-39 b(eme.)722 4567 y Fg(CSS)32 b(:)41 b Ff(P)n(aram)n(\022)
+-39 b(etres)24 b(des)k(st)n(yles)e(de)i(pages)905 4707
+y Fg(CHOOSER)p 1387 4707 V 33 w(LIST)33 b(:)41 b Ff(Ce)19
+b(tableau)g(asso)r(ciatif)g(con)n(tien)n(t)g(la)g(liste)g(des)h(st)n
+(yles)1060 4807 y(CSS)29 b(\022)-42 b(a)28 b(utiliser.)h(Les)f(clefs)h
+(son)n(t)f(les)g(lib)r(ell)n(\023)-39 b(es)28 b(des)g(th)n(\022)-39
+b(emes)28 b(\022)-42 b(a)28 b(a\016c)n(her)g(et)1060
+4907 y(les)33 b(v)-5 b(aleurs)33 b(son)n(t)f(les)h(noms)g(des)g(\014c)n
+(hiers)f(CSS)i(corresp)r(ondan)n(ts,)d(sans)1060 5006
+y(c)n(hemin,)d(ni)g(extension.)1926 5255 y(3)p eop end
+%%Page: 4 4
+TeXDict begin 4 3 bop 722 523 a Fg(MAIL)33 b(:)905 680
+y(TEMPLA)-8 b(TES)33 b(:)41 b Ff(Ce)28 b(tableau)h(con)n(tien)n(t)g
+(des)f(tableaux)h(asso)r(ciatifs)e(don)n(t)1060 779 y(les)g(clefs)f
+(seron)n(t)g(utilis)n(\023)-39 b(ees)26 b(dans)g(les)g(passages)f(de)i
+(param)n(\022)-39 b(etres)24 b(HTML,)1060 879 y(et)k(con)n(tiennen)n(t)
+f(des)h(sous-tableaux)e(de)h(la)h(forme)f(suiv)-5 b(an)n(te)27
+b(:)1060 1036 y Fg(caption)32 b(:)41 b Ff(In)n(titul)n(\023)-39
b(e)28 b(qui)f(sera)g(a\016c)n(h)n(\023)-39 b(e)26 b(\022)-42
-b(a)27 b(l'utilisateur)1060 1595 y Fe(tpl)p 1183 1595
-V 34 w(\014le)k(:)41 b Fg(Nom)d(du)g(\014c)n(hier)g(\(a)n(v)n(ec)e
-(l'extension)i(PHP\))f(con)n(tenan)n(t)g(le)1201 1695
-y(mo)r(d)n(\022)-39 b(ele.)722 1845 y Fe(SUPER)m(USERS)32
-b(:)41 b Fg(Ce)19 b(tableau)f(con)n(tien)n(t)g(la)g(liste)g(des)h
-(login)e(des)h(sup)r(er-utilisateurs)905 1945 y(\(ceux)28
+b(a)27 b(l'utilisateur)1060 1164 y Fg(tpl)p 1183 1164
+29 4 v 34 w(\014le)k(:)41 b Ff(Nom)d(du)g(\014c)n(hier)g(\(a)n(v)n(ec)e
+(l'extension)i(PHP\))f(con)n(tenan)n(t)g(le)1201 1264
+y(mo)r(d)n(\022)-39 b(ele.)722 1421 y Fg(SUPER)m(USERS)32
+b(:)41 b Ff(Ce)19 b(tableau)f(con)n(tien)n(t)g(la)g(liste)g(des)h
+(login)e(des)h(sup)r(er-utilisateurs)905 1520 y(\(ceux)28
b(qui)f(on)n(t)h(le)f(droit)g(de)h(supprimer)f(des)h(r)n(\023)-39
-b(eunions\))722 2069 y Fe(UPLO)m(AD)34 b(:)41 b Fg(P)n(aram)n(\022)-39
+b(eunions\))722 1648 y Fg(UPLO)m(AD)34 b(:)41 b Ff(P)n(aram)n(\022)-39
b(etres)14 b(concernan)n(t)k(l'attac)n(hemen)n(t)f(de)i(\014c)n(hiers)e
-(aux)h(r)n(\023)-39 b(eunions)905 2219 y Fe(accepted)p
-1272 2219 V 35 w(\014les)31 b(:)41 b Fg(T)-7 b(ableau)27
+(aux)h(r)n(\023)-39 b(eunions)905 1805 y Fg(accepted)p
+1272 1805 V 35 w(\014les)31 b(:)41 b Ff(T)-7 b(ableau)27
b(des)h(extensions)e(qui)i(son)n(t)f(autoris)n(\023)-39
-b(ees.)515 2450 y Fc(3.2)112 b(Initialisation)39 b(de)e(la)h(base)639
-2603 y Fg(T)-7 b(out)28 b(les)g(\014c)n(hiers)f(n)n(\023)-39
+b(ees.)515 2038 y Fc(3.3)112 b(Initialisation)39 b(de)e(la)h(base)639
+2191 y Ff(T)-7 b(out)28 b(les)g(\014c)n(hiers)f(n)n(\023)-39
b(ecessaires)25 b(son)n(t)i(rang)n(\023)-39 b(es)25 b(dans)j(le)g
-(dossier)e Fd(\()-17 b(\()22 b Fg(install)g Fd(\))-17
-b(\))p Fg(.)28 b(V)-7 b(ous)28 b(uti-)515 2703 y(liserez)d
+(dossier)e Fd(\()-17 b(\()22 b Ff(install)g Fd(\))-17
+b(\))p Ff(.)28 b(V)-7 b(ous)28 b(uti-)515 2291 y(liserez)d
(principalemen)n(t)h(le)g(\014c)n(hier)g Fd(\()-17 b(\()21
-b Fg(RAZBase.php)f Fd(\))-17 b(\))p Fg(.)26 b(App)r(el)n(\023)-39
-b(e)26 b(au)g(tra)n(v)n(ers)e(du)j(serv)n(eur)515 2802
+b Ff(RAZBase.php)f Fd(\))-17 b(\))p Ff(.)26 b(App)r(el)n(\023)-39
+b(e)26 b(au)g(tra)n(v)n(ers)e(du)j(serv)n(eur)515 2390
y(w)n(eb,)j(il)g(v)n(ous)f(p)r(ermettra)h(automatiquemen)n(t)f(de)i
-(mettre)f(en)g(place)g(la)g(structure)f(de)h(la)515 2902
+(mettre)f(en)g(place)g(la)g(structure)f(de)h(la)515 2490
y(base)24 b(de)g(donn)n(\023)-39 b(ees,)23 b(et)i(optionnellemen)n(t,)g
(d'ins)n(\023)-39 b(erer)22 b(un)j(jeu)g(d'essai)f(p)r(our)g(tester)g
-(l'appli-)515 3002 y(cation)h(sur)g(v)n(otre)g(serv)n(eur.)f(Si)i(v)n
+(l'appli-)515 2589 y(cation)h(sur)g(v)n(otre)g(serv)n(eur.)f(Si)i(v)n
(ous)f(ne)h(souhaitez)f(pas)g(utiliser)h(de)f(compte)h(SQL)g(a)n(y)n
-(an)n(t)515 3101 y(le)k(droit)g(d'alt)n(\023)-39 b(erer)28
+(an)n(t)515 2689 y(le)k(droit)g(d'alt)n(\023)-39 b(erer)28
b(la)h(structure)h(des)g(tables)g(de)g(v)n(otre)f(base)g(a)n(v)n(ec)g
-(ce)h(script)g(php,)g(v)n(ous)515 3201 y(p)r(ouv)n(ez)24
+(ce)h(script)g(php,)g(v)n(ous)515 2789 y(p)r(ouv)n(ez)24
b(ex)n(\023)-39 b(ecuter)22 b(le)j(script)f Fd(\()-17
-b(\()19 b Fg(base.sql)f Fd(\))-17 b(\))25 b Fg(a)n(v)n(ec)e(v)n(otre)g
+b(\()19 b Ff(base.sql)f Fd(\))-17 b(\))25 b Ff(a)n(v)n(ec)e(v)n(otre)g
(clien)n(t)h(SQL)g(fa)n(v)n(ori.)f(Le)h(jeu)h(d'essai)515
-3300 y(se)i(trouv)n(e)g(dans)g(le)g(\014c)n(hier)g Fd(\()-17
-b(\()22 b Fg(jeu)p 1573 3300 25 4 v 31 w(essai.sql)e
-Fd(\))-17 b(\))p Fg(.)515 3573 y Fh(4)134 b(Main)l(tenance)515
-3772 y Fc(4.1)112 b(Visualisation)39 b(des)f(ob)6 b(jets)38
-b(et)f(des)h(\014c)m(hiers)639 3925 y Fg(Une)28 b(page)e
+2888 y(se)i(trouv)n(e)g(dans)g(le)g(\014c)n(hier)g Fd(\()-17
+b(\()22 b Ff(jeu)p 1573 2888 25 4 v 31 w(essai.sql)e
+Fd(\))-17 b(\))p Ff(.)515 3121 y Fc(3.4)112 b(Con\014guration)39
+b(par)e(d)n(\023)-54 b(efaut)39 b(des)f(comptes)639 3274
+y Ff(Dans)30 b(le)g(\014c)n(hier)f(de)h(con\014guration)f(mo)r(d)n
+(\022)-39 b(ele,)29 b(un)h(sup)r(er-utilisateur)f(est)h(con\014gur)n
+(\023)-39 b(e)28 b(:)515 3374 y(ingleb)r(ert@iut-blagnac.fr)e(et)i(le)g
+(jeu)g(d'essai)f(prop)r(os)n(\023)-39 b(e)25 b(au)j(paragraphe)d(pr)n
+(\023)-39 b(ec)n(\023)g(eden)n(t)25 b(p)r(er-)515 3473
+y(met)j(de)f(cr)n(\023)-39 b(eer)26 b(des)h(utilisateurs,)g(et)h(en)g
+(particulier)f(ingleb)r(ert@iut-blagnac.fr.)639 3573
+y(P)n(ar)19 b(d)n(\023)-39 b(efaut,)21 b(v)n(ous)e(p)r(ourrez)h(donc)g
+(v)n(ous)g(connecter)g(en)h(tan)n(t)g(qu'administrateur)e(a)n(v)n(ec)
+515 3672 y(ce)32 b(compte.)g(Le)g(jeu)g(d'essai)f(met)i(ce)f(compte)g
+(a)n(v)n(ec)e(comme)i(mo)r(de)g(d'authen)n(ti\014cation)515
+3772 y Fd(\()-17 b(\()20 b Ff(b)n(ypass)f Fd(\))-17 b(\))o
+Ff(,)26 b(ce)f(qui)g(signi\014e)g(qu'aucun)g(mot)g(de)g(passe)f(est)i
+(n)n(\023)-39 b(ecessaire.)22 b(P)n(our)i(utiliser)h(un)515
+3872 y(vrai)i(syst)n(\022)-39 b(eme)27 b(d'authen)n(ti\014cation,)h
+(connectez-v)n(ous)f(a)n(v)n(ec)g(ce)h(compte)g(et)h(allez)f(dans)f(la)
+515 3971 y(page)f Fd(\()-17 b(\()22 b Ff(Mon)28 b(Pro\014l)21
+b Fd(\))-17 b(\))27 b Ff(p)r(our)g(c)n(hoisir)g(une)g(autre)g(mo)r(de)h
+(d'authen)n(ti\014cation.)515 4246 y Fh(4)134 b(Main)l(tenance)515
+4444 y Fc(4.1)112 b(Visualisation)39 b(des)f(ob)6 b(jets)38
+b(et)f(des)h(\014c)m(hiers)639 4598 y Ff(Une)28 b(page)e
(d'administration)g(est)h(pr)n(\023)-39 b(evue)26 b(\022)-42
b(a)26 b(cet)h(e\013et,)h(et)f(elle)g(n'est)g(accessible)f(que)515
-4025 y(par)31 b(un)i Fd(\()-17 b(\()23 b Fg(sup)r(er-utilisateur)g
-Fd(\))-17 b(\))o Fg(,)33 b(c'est)f(\022)-42 b(a)32 b(dire)g(un)g
+4697 y(par)31 b(un)i Fd(\()-17 b(\()23 b Ff(sup)r(er-utilisateur)g
+Fd(\))-17 b(\))o Ff(,)33 b(c'est)f(\022)-42 b(a)32 b(dire)g(un)g
(utilisateur)g(consign)n(\023)-39 b(e)31 b(dans)g(le)i(\014c)n(hier)515
-4124 y(de)27 b(con\014guration)f(principal)i(en)f(tan)n(t)h(que)f(tel,)
-h(conf)n(\022)-39 b(ere)26 b(3.1.)515 4355 y Fc(4.2)112
-b(Netto)m(y)m(age)37 b(de)h(la)g(base)650 4487 y Fg(\022)639
-4508 y(A)31 b(partir)f(de)h(la)f(page)f(d'administration)h(d)n(\023)-39
-b(ecrite)30 b(dans)g(le)g(paragraphe)e(pr)n(\023)-39
-b(ec)n(\023)g(eden)n(t,)515 4608 y(v)n(ous)23 b(p)r(ouv)n(ez)h(aussi)f
-(purger)g(les)h(\014c)n(hiers)g(attac)n(h)n(\023)-39
-b(es)22 b(et)i(les)g(ob)5 b(jets)24 b(de)h(la)f(base)f(de)i(donn)n
-(\023)-39 b(ees)515 4707 y(dev)n(en)n(us)31 b(obsol)n(\022)-39
-b(etes.)30 b(L'aide)h(con)n(textuelle)h(de)f(cette)i(page)e(v)n(ous)f
-(expliquera)h(commen)n(t)515 4807 y(faire.)c(Il)g(est)h(viv)n(emen)n(t)
-f(conseill)n(\023)-39 b(e)26 b(de)i(faire)f(une)g(sauv)n(egarde)e(de)j
-(la)f(base)g(de)h(donn)n(\023)-39 b(ees)26 b(et)515 4907
-y(des)g(\014c)n(hiers)f(join)n(ts)i(aux)e(r)n(\023)-39
-b(eunions)25 b(a)n(v)-5 b(an)n(t)25 b(d'utiliser)i(cet)f(outil)g(car)g
-(l'erreur)f(de)h(manipu-)515 5006 y(lation)h(ou)g(de)h(programmation)d
-(est)j(toujours)f(p)r(ossible.)13 b(.)h(.)1926 5255 y(3)p
-eop end
-%%Page: 4 4
-TeXDict begin 4 3 bop 515 523 a Fh(5)134 b(Authen)l(ti\014cation)46
+4797 y(de)27 b(con\014guration)f(principal)i(en)f(tan)n(t)h(que)f(tel,)
+h(conf)n(\022)-39 b(ere)26 b(3.2.)1926 5255 y(4)p eop
+end
+%%Page: 5 5
+TeXDict begin 5 4 bop 515 523 a Fc(4.2)112 b(Netto)m(y)m(age)37
+b(de)h(la)g(base)650 655 y Ff(\022)639 676 y(A)31 b(partir)f(de)h(la)f
+(page)f(d'administration)h(d)n(\023)-39 b(ecrite)30 b(dans)g(le)g
+(paragraphe)e(pr)n(\023)-39 b(ec)n(\023)g(eden)n(t,)515
+776 y(v)n(ous)23 b(p)r(ouv)n(ez)h(aussi)f(purger)g(les)h(\014c)n(hiers)
+g(attac)n(h)n(\023)-39 b(es)22 b(et)i(les)g(ob)5 b(jets)24
+b(de)h(la)f(base)f(de)i(donn)n(\023)-39 b(ees)515 876
+y(dev)n(en)n(us)31 b(obsol)n(\022)-39 b(etes.)30 b(L'aide)h(con)n
+(textuelle)h(de)f(cette)i(page)e(v)n(ous)f(expliquera)h(commen)n(t)515
+975 y(faire.)c(Il)g(est)h(viv)n(emen)n(t)f(conseill)n(\023)-39
+b(e)26 b(de)i(faire)f(une)g(sauv)n(egarde)e(de)j(la)f(base)g(de)h(donn)
+n(\023)-39 b(ees)26 b(et)515 1075 y(des)g(\014c)n(hiers)f(join)n(ts)i
+(aux)e(r)n(\023)-39 b(eunions)25 b(a)n(v)-5 b(an)n(t)25
+b(d'utiliser)i(cet)f(outil)g(car)g(l'erreur)f(de)h(manipu-)515
+1174 y(lation)h(ou)g(de)h(programmation)d(est)j(toujours)f(p)r
+(ossible.)13 b(.)h(.)515 1449 y Fh(5)134 b(Authen)l(ti\014cation)46
b(d)m(\023)-64 b(edi)m(\023)g(ee)46 b(-)f(P)l(ersonnalisation)639
-705 y Fg(A)-9 b(W)n(OR)32 b(utilise)g(un)g(syst)n(\022)-39
+1631 y Ff(A)-9 b(W)n(OR)32 b(utilise)g(un)g(syst)n(\022)-39
b(eme)31 b(d'authen)n(ti\014cation)h(d)n(\023)-39 b(edi)n(\023)g(ee)29
-b(de)j(sorte)f(qu'aucun)h(mot)515 805 y(de)40 b(passe)f(ne)h(soit)f
+b(de)j(sorte)f(qu'aucun)h(mot)515 1730 y(de)40 b(passe)f(ne)h(soit)f
(sto)r(c)n(k)n(\023)-39 b(e,)38 b(et)j(que)e(l'utilisateur)h(n'ait)g
-(pas)g(b)r(esoin)f(d'en)h(retenir)g(un)515 904 y(nouv)n(eau.)32
+(pas)g(b)r(esoin)f(d'en)h(retenir)g(un)515 1830 y(nouv)n(eau.)32
b(Le)i(co)r(de)f(d'authen)n(ti\014cation)h(\022)-42 b(a)30
b(\023)-39 b(et)n(\023)g(e)30 b(\023)-39 b(ecrit)33 b(de)h(mani)n(\022)
-39 b(ere)31 b(\022)-42 b(a)31 b(^)-39 b(etre)33 b(mal)n(\023)-39
-b(eable)32 b(et)515 1004 y(est)e(extensible.)g(Le)h(co)r(eur)e(du)i
+b(eable)32 b(et)515 1930 y(est)e(extensible.)g(Le)h(co)r(eur)e(du)i
(syst)n(\022)-39 b(eme)29 b(d'authen)n(ti\014cation)h(se)g(trouv)n(e)f
-(dans)h(le)h(\014c)n(hier)515 1103 y Fd(\()-17 b(\()22
-b Fg(auth)p 747 1103 25 4 v 29 w(dialog.php)g Fd(\))-17
-b(\))o Fg(.)28 b(V)-7 b(ous)27 b(y)h(trouv)n(erez)e(une)h(section)g
+(dans)h(le)h(\014c)n(hier)515 2029 y Fd(\()-17 b(\()22
+b Ff(auth)p 747 2029 25 4 v 29 w(dialog.php)g Fd(\))-17
+b(\))o Ff(.)28 b(V)-7 b(ous)27 b(y)h(trouv)n(erez)e(une)h(section)g
(commen\030)-37 b(can)n(t)27 b(par)g(le)h(commen-)515
-1203 y(taire)f(ci-dessous.)722 1485 y Fb(/****************)o(**)o(***)o
-(**)o(***)o(**)o(**)o(***)o(**)o(***)o(**)o(**)o(***)o(**)o(***)o(**)o
-(***)o(**)o(**)o(***)o(*)722 1585 y(**)43 b(Vous)f(pouvez)f(ajouter)g
-(d'autres)f(mode)i(d'authentificati)o(on)37 b(ici)42
-b(!)i(**)722 1685 y(*****************)o(**)o(***)o(**)o(***)o(**)o(**)o
-(***)o(**)o(***)o(**)o(**)o(***)o(**)o(***)o(**)o(***)o(**)o(**)o(***)o
-(/)515 1867 y Fg(Comme)30 b(l'indique)g(ce)g(commen)n(taire,)f(v)n(ous)
-g(p)r(ourrez)h(a)5 b(jouter)29 b(\022)-42 b(a)29 b(cet)i(endroit)e(une)
-i(p)r(or-)515 1967 y(tion)d(de)g(co)r(de)f(p)r(our)h(utiliser)f(un)i
-(autre)e(service)g(d'authen)n(ti\014cation.)g(La)h(syn)n(taxe)f(est)g
-(la)515 2066 y(suiv)-5 b(an)n(te)27 b(:)722 2209 y Fb(case)42
-b('<nom)p 1165 2209 27 4 v 30 w(auth>')f(:)722 2309 y(/*)i
+2129 y(taire)f(ci-dessous.)722 2312 y Fb(/****************)o(**)o(***)o
+(**)o(***)o(**)o(**)o(***)o(**)o(***)o(**)o(**)o(***)o(**)o(***)o(*)722
+2411 y(**)43 b(Ajouter)e(d'autres)f(mode)i(d'authentificati)o(on)37
+b(ici)42 b(!)i(**)722 2511 y(*****************)o(**)o(***)o(**)o(***)o
+(**)o(**)o(***)o(**)o(***)o(**)o(**)o(***)o(**)o(***)o(/)515
+2693 y Ff(Comme)30 b(l'indique)g(ce)g(commen)n(taire,)f(v)n(ous)g(p)r
+(ourrez)h(a)5 b(jouter)29 b(\022)-42 b(a)29 b(cet)i(endroit)e(une)i(p)r
+(or-)515 2793 y(tion)d(de)g(co)r(de)f(p)r(our)h(utiliser)f(un)i(autre)e
+(service)g(d'authen)n(ti\014cation.)g(La)h(syn)n(taxe)f(est)g(la)515
+2893 y(suiv)-5 b(an)n(te)27 b(:)722 3035 y Fb(case)42
+b('<nom)p 1165 3035 27 4 v 30 w(auth>')f(:)722 3135 y(/*)i
(Eventuellement)38 b(du)43 b(code)f(pr\023)-44 b(el\023)g(eminaire)38
-b(*/)722 2408 y($auth)p 947 2408 V 30 w(is)p 1065 2408
-V 30 w(ok=<fonction)p 1623 2408 V 27 w(ou)p 1738 2408
-V 30 w(variable)p 2120 2408 V 28 w(authentification>)o(;)722
-2508 y(if)43 b(\()g(!)g($auth)p 1252 2508 V 30 w(is)p
-1370 2508 V 30 w(ok)g(\))722 2607 y Fa(f)g Fb(//)g(On)g(ex\023)-44
+b(*/)722 3235 y($auth)p 947 3235 V 30 w(is)p 1065 3235
+V 30 w(ok=<fonction)p 1623 3235 V 27 w(ou)p 1738 3235
+V 30 w(variable)p 2120 3235 V 28 w(authentification>)o(;)722
+3334 y(if)43 b(\()g(!)g($auth)p 1252 3334 V 30 w(is)p
+1370 3334 V 30 w(ok)g(\))722 3434 y Fa(f)g Fb(//)g(On)g(ex\023)-44
b(ecute)41 b(la)h(ligne)g(ci-dessous)d(que)k(si)f(l'authentificaito)o
(n)c(\022)-44 b(a)43 b(\023)-44 b(echou\023)g(ee)722
-2707 y($errmsg=<fonction)p 1474 2707 V 25 w(ou)p 1588
-2707 V 30 w(chaine)p 1882 2707 V 29 w(explicant)p 2307
-2707 V 28 w(l)p 2379 2707 V 31 w(erreur)p 2674 2707 V
-29 w(d)p 2747 2707 V 31 w(authentificatio)o(n>;)722 2807
-y Fa(g)722 2906 y Fb(break;)515 3049 y Fg(Il)27 b(v)n(ous)f(su\016t)i
+3533 y($errmsg=<fonction)p 1474 3533 V 25 w(ou)p 1588
+3533 V 30 w(chaine)p 1882 3533 V 29 w(explicant)p 2307
+3533 V 28 w(l)p 2379 3533 V 31 w(erreur)p 2674 3533 V
+29 w(d)p 2747 3533 V 31 w(authentificatio)o(n>;)722 3633
+y Fa(g)722 3733 y Fb(break;)515 3875 y Ff(Il)27 b(v)n(ous)f(su\016t)i
(de)f(remplacer)f(les)f(\023)-39 b(el)n(\023)g(emen)n(ts)25
b(en)n(tre)i(c)n(hevrons)e(dans)i(le)g(co)r(de)h(ci-dessus)e(et)515
-3148 y(de)k(le)g(coller)e(dans)i Fd(\()-17 b(\()p Fg(auth)p
-1348 3148 25 4 v 29 w(dialog.inc.php)p Fd(\))g(\))29
-b Fg(p)r(our)h(p)r(ouv)n(oir)e(utiliser)i(un)g(nouv)n(eau)f(mo)r(de)515
-3248 y(d'authen)n(ti\014cation.)i(Reste)h(\022)-42 b(a)31
+3975 y(de)k(le)g(coller)e(dans)i Fd(\()-17 b(\()p Ff(auth)p
+1348 3975 25 4 v 29 w(dialog.inc.php)p Fd(\))g(\))29
+b Ff(p)r(our)h(p)r(ouv)n(oir)e(utiliser)i(un)g(nouv)n(eau)f(mo)r(de)515
+4074 y(d'authen)n(ti\014cation.)i(Reste)h(\022)-42 b(a)31
b(donner)g(\022)-42 b(a)31 b(l'utilisateur)h(la)f(capacit)n(\023)-39
-b(e)30 b(de)i(l'utiliser.)f(V)-7 b(ous)515 3348 y(devrez)32
+b(e)30 b(de)i(l'utiliser.)f(V)-7 b(ous)515 4174 y(devrez)32
b(encore,)h(d'une)g(part,)g(a)5 b(jouter)33 b(dans)g(la)g(base)f(de)i
-(donn)n(\023)-39 b(ees)32 b(le)h Ff(<)p Fg(nom)p 3049
-3348 V 29 w(auth)p Ff(>)g Fg(\022)-42 b(a)515 3447 y(l')n(\023)j(en)n
+(donn)n(\023)-39 b(ees)32 b(le)h Fe(<)p Ff(nom)p 3049
+4174 V 29 w(auth)p Fe(>)g Ff(\022)-42 b(a)515 4274 y(l')n(\023)j(en)n
(um)n(\023)g(eration)20 b(du)j(c)n(hamp)f Fd(\()-17 b(\()p
-Fg(metho)r(deAuth)p Fd(\))g(\))23 b Fg(de)g(la)f(table)h
-Fd(\()-17 b(\()p Fg(P)n(ersonne)p Fd(\))g(\))n Fg(,)22
-b(et)h(d'autre)g(part)515 3547 y(prop)r(oser)c(\022)-42
+Ff(metho)r(deAuth)p Fd(\))g(\))23 b Ff(de)g(la)f(table)h
+Fd(\()-17 b(\()p Ff(P)n(ersonne)p Fd(\))g(\))n Ff(,)22
+b(et)h(d'autre)g(part)515 4373 y(prop)r(oser)c(\022)-42
b(a)20 b(l'utilisateur)h(d'utiliser)f(ce)h(mo)r(de)g(d'authen)n
(ti\014cation)f(en)h(mo)r(di\014an)n(t)g(la)f(page)515
-3647 y Fd(\()-17 b(\()o Fg(pro\014l.php)p Fd(\))g(\))p
-Fg(.)1926 5255 y(4)p eop end
+4473 y Fd(\()-17 b(\()o Ff(pro\014l.php)p Fd(\))g(\))p
+Ff(.)1926 5255 y(5)p eop end
%%Trailer
userdict /end-hook known{end-hook}if
diff --git a/beta_old1/doc/READ_ME.txt b/beta_old1/doc/READ_ME.txt
index b82577d..ce42282 100644
--- a/beta_old1/doc/READ_ME.txt
+++ b/beta_old1/doc/READ_ME.txt
@@ -2,6 +2,25 @@
AWOR - Fichier Lisez-moi de l'administrateur
+Table des Matières
+
+ 1 Compatibilité
+ 2 Sécurité
+ 3 Installation
+ 3.1 Dépaquetage des pages PHP
+ 3.2 Paramètres de configuration
+ 3.3 Initialisation de la base
+ 3.4 Configuration par défaut des comptes
+ 4 Maintenance
+ 4.1 Visualisation des objets et des fichiers
+ 4.2 Nettoyage de la base
+ 5 Authentification dédiée - Personnalisation
+
+
+
+
+
+
1 Compatibilité
Cette application peut-être utilisée sur un serveur
@@ -60,9 +79,19 @@ d'authentification au travers d'un réseau de confiance.
3 Installation
+3.1 Dépaquetage des pages PHP
+
+L'application est livrée dans une archive de type
+tarball compressée qui contient toute l'arborescence et
+les fichiers PHP nécessaires. Il suffit de décompresser
+cette archive en conservant l'arborescence dans un
+dossier publié par votre serveur Web. Les fichiers de
+configurations sont présent et contiennent des valeurs
+d'exemple que vous pourrez adapter à votre situation.
-3.1 <sub:Configuration>Paramètres de configuration
+
+3.2 <sub:Configuration>Paramètres de configuration
Cette application comporte deux fichiers de
configuration qui sont dans le dossier "include". Les
@@ -146,7 +175,7 @@ pour but de servir de modèle.
accepted_files : Tableau des extensions qui sont autorisées.
-3.2 <sub:Initialisation-de-la-bd>Initialisation de la base
+3.3 <sub:Initialisation-de-la-bd>Initialisation de la base
Tout les fichiers nécessaires sont rangés dans le
dossier "install". Vous utiliserez principalement le
@@ -160,6 +189,22 @@ tables de votre base avec ce script php, vous pouvez
exécuter le script "base.sql" avec votre client SQL
favori. Le jeu d'essai se trouve dans le fichier "jeu_essai.sql".
+3.4 Configuration par défaut des comptes
+
+Dans le fichier de configuration modèle, un
+super-utilisateur est configuré :
+inglebert@iut-blagnac.fr et le jeu d'essai proposé au
+paragraphe précédent permet de créer des utilisateurs,
+et en particulier inglebert@iut-blagnac.fr.
+
+Par défaut, vous pourrez donc vous connecter en tant
+qu'administrateur avec ce compte. Le jeu d'essai met ce
+compte avec comme mode d'authentification "bypass", ce
+qui signifie qu'aucun mot de passe est nécessaire. Pour
+utiliser un vrai système d'authentification,
+connectez-vous avec ce compte et allez dans la page "Mon Profil"
+ pour choisir une autre mode d'authentification.
+
4 Maintenance
4.1 Visualisation des objets et des fichiers