diff --git a/README.md b/README.md index e275134..3b491f7 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,12 @@ # BUT2FI_R4.B.10 -Cryptographie - Outils et algorithmes \ No newline at end of file +Cryptographie - Outils et algorithmes + +[Cours crypto](cours/crypto.pdf) + +#### Semaine 1 +- cm : [Chiffrements par bloc, algorithmes à clefs symétriques](cours/crypto.pdf). +- tp : [lfsr, tea, hachages](td_tp/tp1) + + + diff --git a/td_tp/tp1/README.md b/td_tp/tp1/README.md new file mode 100644 index 0000000..0931fc3 --- /dev/null +++ b/td_tp/tp1/README.md @@ -0,0 +1,193 @@ +# TP1 +- Registre à décalage à rétroaction linéaire (lfsr), +- Chiffrement par bloc symmétrique (TEA), fonction de hachage. + +## EX1 +Le but est d'implanter un registre à décalage linéaire, sur un octet. + + +À chaque étape, le registre (un octet) $(b_7,b_6,b_5,b_4,b_3,b_2,b_1,b_0)$ est décalé à gauche, et +le bit $b_0$ est remplacé par un bit, calculé par une fonction linéaire $f$. + + + +Vous disposez d'un [fichier](src/ex1/file.crypt) crypté avec un lfsr, en faisant +un XOR de chacun des octets avec les valeurs successives du registre. L'état +initial du registre était `0xa7`, et la fonction utilisée + + +\[ + f(b_7,b_6,b_5,b_4,b_3,b_2,b_1,b_0) = b_7\oplus b_6\oplus b_5\oplus b_4\oplus b_3\oplus b_1 +\] + +Retrouver le fichier initial. + +Vous pouvez utiliser la fonction interne `__builtin_parity` de `gcc`. + +## Ex2 + +Tiny Encryption Algorithm est un algorithme de chiffrement symétrique par +bloc. les algorithmes de chiffrement sysmétrique par bloc crypte/decrypte des +**blocs** entiers, en utilisant la même clé secrète (symétrique). TEA est un +exemple simple de tels algorithmes (DES, AES, Blowfish) facile à implanter. La +plupart de ces algorithmes utilise ce que l\'on appelle un réseau de Feistel. + +##### Réseau de Feistel + +Désignons par $K$ la clé (un mot binaire). On décompose le bloc à +crypter en 2 moitiés $(L_0,R_0)$ On lui applique une +transformation de la forme : + +\[ +(L_0,R_0) \rightarrow (L_1,R_1) + \, où \, +\left\{\begin{matrix} L_1 & = & R_0 \\ +R_1 & = & L_0 + f(R_0,K) +\end{matrix}\right. +\] + + +- La loi $+$ doit simplement être "réversible" (une loi de + groupe). Dans la pratique, il s'agit souvent d'un xor, mais pour + TEA, il s\'agit de l'addition binaire. +- La fonction $f$ n'a pas besoin d'être inversible pour que la + transformation précédente soit réversible. + + Pourquoi ? Comment fait-on ? +- Le chiffrement consiste alors à itérer la transformation (appelée + round) un certain nombre de fois. + +<div align="center"> +<img src="./img/feistel.png"> +</div> + +##### XTEA + +XTEA (cf cours) crypte des blocs de 8 octets, en utilisant une clé de 16 octets. + +Un cycle (2 rounds, itéré 32 fois) de XTEA est donné par le réseau +suivant : +<div align="center"> + +<img src="./img/xtea.png"> +</div> + +En vert, il s'agit de l'addition binaire sur 32 bits, en rouge le xor. + +- la clé est décomposée 4 sous-clés $K[0],K[1],K[2],K[3]$. +- chaque round utilise un multiple de $\delta = ( \sqrt{5} - 1 ) * 2^{31}$ pour rendre les rounds non symétriques. + +Voici un exemple de code correspondant : +```c +void encrypt(uint32_t v[2], uint32_t const key[4]) +{ + unsigned int i; + uint32_t v0=v[0], v1=v[1], sum=0, delta=0x9E3779B9; + for (i=0; i < 32; i++) { + v0 += (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + key[sum & 3]); + sum += delta; + v1 += (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + key[(sum>>11) & 3]); + } + v[0]=v0; v[1]=v1; +} +``` + + +##### Padding (bourrage) + +Lorsque l'on cherche à crypter un fichier, sa taille n'est pas +toujours un multiple de la longueur des blocs chiffrés par +l'algortihme. Il existe différentes techniques dites de padding. Nous +utiliserons celle-ci : + +- Si le dernier bloc à chiffer du fichier n'est pas entier, on écrit + dans son dernier octet le nombre d'octets manquants. Les octets + précédents peuvent être zéroifiés, ou remplis aléatoirement. +- Si le dernier bloc est entier, on rajoute tout un bloc pour qu'il + n'y est pas d'ambiguité. + +Voici un exemple avec des blocs de taille 8 octets. Le fichier en entrée +est +``` +ascii : hello word! +hex : 68 65 6c 6c 6f 20 77 6f 72 6c 64 21 +``` + +Le dernier bloc est +``` +ascii : ord! +hex : 72 6c 64 21 00 00 00 04 +``` + +On ajoute des zéros (ou des octets aléatoires), et le dernier est le +nombre d'octets ajoutés (ici, 4). Si le dernier bloc est complet, on +rajoute tout un bloc. + +``` +hex : 00 00 00 00 00 00 00 00 08 +``` + +##### Votre travail + +1. Ecrire une fonction qui decrypte un bloc. +2. Ecrire une commande **xtea** qui permet de (dé)chiffrer un fichier. + + ```bash + xtea -e|-d filekey file1 file2 + ``` + + - `filekey` est le fichier ou est stocké la clé. Vous pouvez en + générer en utilisant le pseudo fichier `/dev/urandom`, et la + commande `dd`. + - l'option `-e` crypte. `file1` est alors le fichier à crypter, + `file2` le fichier crypté. + - l'option `-d` decrypte. `file1` est alors le fichier crypté, `file2` + le fichier decrypté. +3. Testez avec cette [clé](./src/ex2/key1.k), et ce [fichier + crypté](./src/ex2/fichier.crypt) sur une architecture little-endian. + +4. Écrire une version de tea en mode CBC : + + ```bash + xtea_cbc -e|-d iv filekey file1 file2 + ``` + + `iv` est le vecteur d'initialisation (8 octets) donné sur la ligne de commande. + + **Rappel** : en mode CBC, le bloc à chiffrer subit un XOR avec le chiffré du bloc précédent. Le vecteur d'initialisation sert + pour le premier bloc. + +### Ex3: une fonction de hachage cryptographique avec XTEA + +Une fonction de hachage cryptographique permet de "résumer" un +fichier, message en calculant une empreinte. Une telle fonction, +mathématiquement, peut-être formalisée par + +\[ + \begin{matrix} +\{0,1\}^{*} & \rightarrow & \{0,1\}^n \\ +m &\rightarrow & f(m) \end{matrix} + +\] + +$n$ est la taille de l'empreinte. Elle vaut 128 par exemple pour MD5 et SHA-1. + +Grâce à XTEA, on va construire une telle fonction pour avec $n=64$. + +Voici le principe. + +- Le message ou fichier est décomposé en bloc de 24 octets (on bourrera + le dernier bloc suivant le pricincipe déjà vu en ajoutant des octets + avec la valeur du nombre d'octets ajoutés). +- Chaque bloc est vu comme un bloc suivi d'une clé de XTEA $x,k$ + (bloc $x$ de 8 octets, clé $k$ de 16 octets). On calcule + $hash = xtea(x,k) \oplus x$. +- On combine le hash du bloc courant avec le hash du bloc précédent à + l'aide d'un xor. Le hash finale est l'empreinte. + +##### Votre travail + +1. Implantez le fonction prédente. Testez-là. Vérifiez que pour un message +"assez proche", l'empreinte est "vraiment" différente. + + diff --git a/td_tp/tp1/aide.md b/td_tp/tp1/aide.md new file mode 100644 index 0000000..422bef6 --- /dev/null +++ b/td_tp/tp1/aide.md @@ -0,0 +1,41 @@ +### Setting a bit + +Use the bitwise OR operator (|) to set a bit. + +`number |= 1 << x;` + +That will set bit x. + +### Clearing a bit + +Use the bitwise AND operator (&) to clear a bit. + +`number &= ~(1 << x);` + +That will clear bit x. You must invert the bit string with the bitwise NOT operator (~), then AND it. + +### Toggling a bit + +The XOR operator (^) can be used to toggle a bit. + +`number ^= 1 << x;` + +That will toggle bit x. + +### Checking a bit + +You didn't ask for this but I might as well add it. + +To check a bit, shift the number x to the right, then bitwise AND it: + +`bit = (number >> x) & 1;` + +That will put the value of bit x into the variable bit. + +### Changing the nth bit to x + +Setting the nth bit to either 1 or 0 can be achieved with the following: + +`number ^= (-x ^ number) & (1 << n);` + +Bit n will be set if x is 1, and cleared if x is 0. diff --git a/td_tp/tp1/img/TEA.png b/td_tp/tp1/img/TEA.png new file mode 100644 index 0000000..e6e7f45 Binary files /dev/null and b/td_tp/tp1/img/TEA.png differ diff --git a/td_tp/tp1/img/feistel.png b/td_tp/tp1/img/feistel.png new file mode 100644 index 0000000..dbf149e Binary files /dev/null and b/td_tp/tp1/img/feistel.png differ diff --git a/td_tp/tp1/img/feistel.svg b/td_tp/tp1/img/feistel.svg new file mode 100644 index 0000000..ef5585a --- /dev/null +++ b/td_tp/tp1/img/feistel.svg @@ -0,0 +1,1263 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="511.00058" + height="747.27222" + id="svg4858" + version="1.1" + inkscape:version="0.92.2 (5c3e80d, 2017-08-06)" + sodipodi:docname="Feistel_cipher_diagram_en.svg"> + <defs + id="defs4860"> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 526.18109 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="744.09448 : 526.18109 : 1" + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" + id="perspective4866" /> + <inkscape:perspective + id="perspective4658" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" /> + <inkscape:perspective + id="perspective3451" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" /> + <inkscape:perspective + id="perspective3665" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" /> + <inkscape:perspective + id="perspective3113" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_z="1 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.7" + inkscape:cx="154.15178" + inkscape:cy="579.59726" + inkscape:document-units="px" + inkscape:current-layer="g3425" + showgrid="false" + inkscape:window-width="1920" + inkscape:window-height="1017" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" + units="px" + fit-margin-top="30" + fit-margin-left="30" + fit-margin-right="30" + fit-margin-bottom="30" + showguides="true" + inkscape:guide-bbox="true" /> + <metadata + id="metadata4863"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-84.49941,-127.00082)"> + <g + id="g3192"> + <path + id="rect3353" + d="m 467.89516,223.45458 98.58178,0 0,31.3149 -98.58178,0 0,-31.3149 z" + style="opacity:0.8;fill:#9adeef;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.14444602;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" /> + <path + id="rect3351" + d="m 369.62894,223.59529 98.58178,0 0,31.31489 -98.58178,0 0,-31.3149 z" + style="opacity:0.8;fill:#9adeef;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.14444602;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" /> + <path + id="rect5025" + d="m 366.73879,780.56685 98.58178,0 0,31.31489 -98.58178,0 0,-31.31489 z" + style="opacity:0.8;fill:#9adeef;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.14444602;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" /> + <path + id="rect5027" + d="m 465.00501,780.42617 98.58178,0 0,31.31489 -98.58178,0 0,-31.31489 z" + style="opacity:0.8;fill:#9adeef;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.14444602;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" /> + <g + transform="translate(0.6584252,0.54840496)" + id="g3679"> + <g + id="g4376" + style="font-size:21.99795723px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + transform="matrix(1.1108282,0,0,0.90022921,66.086471,696.58734)"> + <path + id="path4378" + d="m 315.21211,117.19834 c 0,-1.8618 0.19155,-3.36019 0.57466,-4.49519 0.3831,-1.13497 0.95238,-2.01038 1.70784,-2.62622 0.75546,-0.61581 1.70606,-0.92373 2.85179,-0.92374 0.84497,1e-5 1.58611,0.17008 2.22343,0.5102 0.6373,0.34016 1.16362,0.83067 1.57895,1.47155 0.41532,0.6409 0.74113,1.42143 0.97745,2.34158 0.2363,0.92017 0.35445,2.16077 0.35446,3.72182 -10e-6,1.84749 -0.18977,3.33872 -0.56928,4.4737 -0.37954,1.13499 -0.94703,2.01219 -1.70248,2.63159 -0.75547,0.61941 -1.70965,0.92912 -2.86253,0.92912 -1.51809,0 -2.71036,-0.54422 -3.57682,-1.63266 -1.03831,-1.31043 -1.55747,-3.44434 -1.55747,-6.40175 z m 1.98712,0 c 0,2.58505 0.30254,4.30543 0.90763,5.16114 0.60509,0.85572 1.3516,1.28357 2.23954,1.28357 0.88793,0 1.63444,-0.42964 2.23954,-1.28894 0.60508,-0.85929 0.90762,-2.57788 0.90763,-5.15577 -10e-6,-2.5922 -0.30255,-4.31437 -0.90763,-5.16651 -0.6051,-0.85213 -1.35877,-1.27819 -2.26102,-1.27821 -0.88795,2e-5 -1.59686,0.37596 -2.12676,1.12783 -0.66595,0.95956 -0.99893,2.73185 -0.99893,5.31689 z" /> + </g> + <g + transform="matrix(0.86341582,0,0,0.8758089,336.71859,696.2302)" + style="font-size:31.551651px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + id="g4400"> + <path + d="m 75.396304,123.46504 0,-22.58531 2.98878,0 0,19.92006 11.123189,0 0,2.66525 z" + id="path4402" /> + </g> + </g> + <g + transform="translate(-1.5304092,0.28843293)" + id="g3673"> + <g + id="g4380" + style="font-size:21.99795723px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + transform="matrix(1.1108282,0,0,0.90022921,73.586471,696.58734)"> + <path + id="path4382" + d="m 403.97993,116.63788 c 0,-1.86179 0.19155,-3.36019 0.57466,-4.49519 0.3831,-1.13497 0.95238,-2.01037 1.70785,-2.62622 0.75546,-0.61581 1.70605,-0.92372 2.85178,-0.92374 0.84497,2e-5 1.58611,0.17009 2.22343,0.51021 0.6373,0.34015 1.16362,0.83066 1.57895,1.47154 0.41532,0.6409 0.74114,1.42143 0.97745,2.34158 0.2363,0.92017 0.35445,2.16078 0.35446,3.72182 -1e-5,1.84749 -0.18977,3.33873 -0.56928,4.47371 -0.37953,1.13499 -0.94703,2.01218 -1.70248,2.63159 -0.75547,0.61941 -1.70965,0.92911 -2.86253,0.92911 -1.51809,0 -2.71036,-0.54422 -3.57681,-1.63266 -1.03832,-1.31042 -1.55748,-3.44434 -1.55748,-6.40175 z m 1.98712,0 c 0,2.58505 0.30254,4.30543 0.90763,5.16114 0.60509,0.85572 1.3516,1.28358 2.23954,1.28358 0.88793,0 1.63445,-0.42965 2.23954,-1.28895 0.60508,-0.85929 0.90762,-2.57788 0.90763,-5.15577 -1e-5,-2.59219 -0.30255,-4.31436 -0.90763,-5.16651 -0.60509,-0.85212 -1.35877,-1.27819 -2.26102,-1.2782 -0.88794,1e-5 -1.59686,0.37595 -2.12676,1.12782 -0.66595,0.95956 -0.99893,2.73186 -0.99893,5.31689 z" /> + </g> + <g + transform="matrix(0.80371569,0,0,0.89618702,375.34455,696.58734)" + style="font-size:30.83420563px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + id="g4404"> + <path + d="m 161.24905,120.09464 0,-22.071748 9.78625,0 c 1.96727,2.2e-5 3.46281,0.198256 4.48662,0.594703 1.02377,0.396489 1.8418,1.096582 2.45409,2.100275 0.61224,1.00374 0.91838,2.11285 0.9184,3.32733 -2e-5,1.56581 -0.5069,2.8857 -1.52063,3.95966 -1.01378,1.07399 -2.57957,1.75652 -4.6974,2.04759 0.77284,0.37138 1.36002,0.73774 1.76152,1.09907 0.85314,0.78291 1.66114,1.76153 2.42398,2.93587 l 3.83922,6.00725 -3.67361,0 -2.92082,-4.59201 c -0.85317,-1.3249 -1.55577,-2.33865 -2.1078,-3.04126 -0.55206,-0.70259 -1.04639,-1.19442 -1.483,-1.47546 -0.43662,-0.28104 -0.88077,-0.47676 -1.33243,-0.58718 -0.33124,-0.0703 -0.87324,-0.10538 -1.62602,-0.10539 l -3.38755,0 0,9.8013 z m 2.92082,-12.33067 6.27825,0 c 1.33494,1e-5 2.3788,-0.138 3.1316,-0.41403 0.75278,-0.27601 1.32489,-0.71765 1.71636,-1.32491 0.39143,-0.60723 0.58716,-1.26718 0.58717,-1.97983 -1e-5,-1.04385 -0.37892,-1.90203 -1.13671,-2.57454 -0.75782,-0.67247 -1.95475,-1.00871 -3.5908,-1.00873 l -6.98587,0 z" + id="path4406" /> + </g> + </g> + <rect + transform="matrix(0,1,-1,0,0,0)" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="rect3391" + width="1.641498" + height="31.346453" + x="735.32294" + y="-526.31238" /> + <path + id="path3395" + d="m 456.66983,716.02508 35.03073,0 0,33.13585 -35.03073,0 0,-33.13585 z" + style="opacity:0.8;fill:#fbdf6f;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.24551916;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" /> + <path + d="m 465.67952,742.24591 0,-19.3808 17.03569,0 0,2.28709 -13.694,0 0,6.00196 11.8509,0 0,2.2871 -11.8509,0 0,8.80465 z" + id="path3397" + style="font-size:25.3545723px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" /> + <path + transform="matrix(1.0482573,0,0,7.8451715,70.188293,-1657.2328)" + d="m 416.18283,296.47977 a 29.7995,2.5253813 0 0 1 -29.7995,2.52538 29.7995,2.5253813 0 0 1 -29.7995,-2.52538 29.7995,2.5253813 0 0 1 29.7995,-2.52538 29.7995,2.5253813 0 0 1 29.7995,2.52538 z" + sodipodi:ry="2.5253813" + sodipodi:rx="29.7995" + sodipodi:cy="296.47977" + sodipodi:cx="386.38333" + id="path3399" + style="opacity:0.8;fill:#d6b8d4;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.46709937;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + sodipodi:type="arc" /> + <rect + y="688.43646" + x="473.8447" + height="25.703959" + width="1.641498" + id="rect3401" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + transform="matrix(1.6147072,0,0,1.9710774,-689.79597,-743.88903)" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="true" + sodipodi:arg2="2.6179939" + sodipodi:arg1="1.5707963" + sodipodi:r2="1.8940361" + sodipodi:r1="3.7880721" + sodipodi:cy="736.90625" + sodipodi:cx="720.9964" + sodipodi:sides="3" + id="path3403" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="star" /> + <rect + transform="matrix(0,1,-1,0,0,0)" + y="-456.2363" + x="735.32294" + height="28.734417" + width="1.641498" + id="rect3405" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + sodipodi:type="star" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3409" + sodipodi:sides="3" + sodipodi:cx="720.9964" + sodipodi:cy="736.90625" + sodipodi:r1="3.7880721" + sodipodi:r2="1.8940361" + sodipodi:arg1="1.5707963" + sodipodi:arg2="2.6179939" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + transform="matrix(0,1.6147072,-1.9710774,0,1952.161,-428.00694)" /> + <path + transform="matrix(0,1.6147072,-1.9710774,0,1885.5539,-428.18551)" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="true" + sodipodi:arg2="2.6179939" + sodipodi:arg1="1.5707963" + sodipodi:r2="1.8940361" + sodipodi:r1="3.7880721" + sodipodi:cy="736.90625" + sodipodi:cx="720.9964" + sodipodi:sides="3" + id="path3411" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="star" /> + <path + d="m 411.87905,403.82925 -0.39362,78.98287 6.48024,-0.002 -7.44856,19.25852 -7.63129,-19.09043 6.35563,-0.002 0.39525,-79.30923 2.24235,0.16244 z" + style="color:#000000;fill:#006400;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:2;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + id="path4174" /> + <path + id="rect4182" + d="m 524.26968,401.75034 2.23382,0 0,144.11281 -2.23382,0 0,-144.11281 z" + style="fill:#960000;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + id="rect4184" + d="m 410.47411,523.905 2.23383,0 0,22.46262 -2.23383,0 0,-22.46262 z" + style="fill:#006400;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + id="rect4186" + d="m 526.13741,543.79605 1.20089,2.77874 -114.98634,19.85592 -1.2009,-2.77875 114.98635,-19.85591 z" + style="fill:#960000;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + id="rect4188" + d="m 412.35194,543.79608 -1.20089,2.77875 114.98634,19.85592 1.20089,-2.77876 -114.98634,-19.85591 z" + style="fill:#006400;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + d="m 422.56445,350.63182 a 12.541885,11.365661 0 0 1 -25.08377,0 12.541885,11.365661 0 1 1 25.08377,0 z" + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.63063848;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path21148" /> + <path + d="m 397.50897,350.23551 24.98596,0" + style="color:#000000;fill:#00aa00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.72372663;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + id="path21152" /> + <path + d="m 409.87446,339.26073 0,22.64269" + style="color:#000000;fill:#00aa00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.72372663;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + id="path21154" /> + <path + id="path3363" + style="color:#000000;fill:#960000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:2;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + d="m 410.14018,254.86817 0.35887,68.04232 6.48,-0.0434 -7.26481,16.63818 -7.8129,-16.39637 6.35538,-0.0426 -0.36036,-68.32349 2.24382,0.12552 z" /> + <path + id="rect4139" + d="m 523.6633,254.82719 2.23384,0 0,129.48242 -2.23384,0 0,-129.48242 z" + style="fill:#006400;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + id="rect4141" + d="m 408.75083,361.84698 2.23383,0 0,22.46262 -2.23383,0 0,-22.46262 z" + style="fill:#960000;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + id="rect4143" + d="m 524.41415,381.73802 1.20088,2.77874 -114.98635,19.85591 -1.20089,-2.77875 114.98636,-19.8559 z" + style="fill:#006400;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + id="rect4145" + d="m 410.62868,381.73803 -1.20089,2.77875 114.98635,19.8559 1.20089,-2.77874 -114.98635,-19.85591 z" + style="fill:#960000;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + id="path3370" + style="color:#000000;fill:#960000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:2;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + d="m 414.37816,633.05399 -0.39363,73.71264 6.48024,-0.002 -7.44856,17.97347 -7.63129,-17.81661 6.35563,-0.002 0.39525,-74.01721 2.24236,0.1516 z" /> + <path + style="fill:#006400;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 525.75863,624.925 2.23382,0 0,144.11281 -2.23382,0 0,-144.11281 z" + id="path3378" /> + <path + style="fill:#960000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 411.96306,747.07967 2.23383,0 0,22.46261 -2.23383,0 0,-22.46261 z" + id="path3380" /> + <path + style="fill:#960000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 412.00686,624.74829 2.33659,0 0,22.46261 -2.33659,0 0,-22.46261 z" + id="path3386" /> + <path + sodipodi:type="star" + style="fill:#960000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path4280" + sodipodi:sides="3" + sodipodi:cx="-90.408653" + sodipodi:cy="622.98077" + sodipodi:r1="20.824827" + sodipodi:r2="10.412414" + sodipodi:arg1="0.68231655" + sodipodi:arg2="1.7295141" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + d="M -74.246213,636.11276 -109.8625,630.41187 -87.117243,602.4177 Z" + transform="matrix(0.23480596,0.29304936,-0.26075641,0.25287278,597.13002,640.47123)" + inkscape:transform-center-y="5.6382567" + inkscape:transform-center-x="1.4829107" /> + <path + inkscape:transform-center-x="1.4800605" + inkscape:transform-center-y="5.653207" + transform="matrix(0.23208351,0.29485857,-0.26308899,0.25084287,711.6404,641.91984)" + d="M -74.246213,636.11276 -109.8625,630.41187 -87.117243,602.4177 Z" + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="true" + sodipodi:arg2="1.7295141" + sodipodi:arg1="0.68231655" + sodipodi:r2="10.412414" + sodipodi:r1="20.824827" + sodipodi:cy="622.98077" + sodipodi:cx="-90.408653" + sodipodi:sides="3" + id="path4183" + style="fill:#006400;fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="star" /> + <path + d="m 423.57461,512.76131 a 12.541885,11.365661 0 0 1 -25.08377,0 12.541885,11.365661 0 1 1 25.08377,0 z" + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.63063848;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path3280" /> + <path + d="m 398.51913,512.365 24.98596,0" + style="color:#000000;fill:#00aa00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.72372663;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + id="path3282" /> + <path + d="m 410.88462,501.39022 0,22.64269" + style="color:#000000;fill:#00aa00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.72372663;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + id="path3284" /> + <path + id="path3296" + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.63063848;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 425.25572,736.2378 a 12.541885,11.365661 0 0 1 -25.08377,0 12.541885,11.365661 0 1 1 25.08377,0 z" /> + <path + id="path3298" + style="color:#000000;fill:#00aa00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.72372663;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + d="m 400.20024,735.84149 24.98596,0" /> + <path + id="path3300" + style="color:#000000;fill:#00aa00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.72372663;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + d="m 412.56573,724.86671 0,22.64269" /> + <rect + transform="matrix(0,1,-1,0,0,0)" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="rect3334" + width="1.641498" + height="31.346453" + x="349.97592" + y="-523.71826" /> + <path + id="path3338" + d="m 454.07575,330.67802 35.03073,0 0,33.13585 -35.03073,0 0,-33.13585 z" + style="opacity:0.8;fill:#fbdf6f;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.24551916;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" /> + <path + d="m 463.08544,356.89885 0,-19.3808 17.03569,0 0,2.28709 -13.694,0 0,6.00196 11.8509,0 0,2.2871 -11.8509,0 0,8.80465 z" + id="path3340" + style="font-size:25.3545723px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" /> + <path + transform="matrix(1.0482573,0,0,7.8451715,67.594212,-2042.5799)" + d="m 416.18283,296.47977 a 29.7995,2.5253813 0 0 1 -29.7995,2.52538 29.7995,2.5253813 0 0 1 -29.7995,-2.52538 29.7995,2.5253813 0 0 1 29.7995,-2.52538 29.7995,2.5253813 0 0 1 29.7995,2.52538 z" + sodipodi:ry="2.5253813" + sodipodi:rx="29.7995" + sodipodi:cy="296.47977" + sodipodi:cx="386.38333" + id="path3342" + style="opacity:0.8;fill:#d6b8d4;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.46709937;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + sodipodi:type="arc" /> + <rect + y="303.08945" + x="471.25061" + height="25.703959" + width="1.641498" + id="rect3344" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + transform="matrix(1.6147072,0,0,1.9710774,-692.39005,-1129.2361)" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="true" + sodipodi:arg2="2.6179939" + sodipodi:arg1="1.5707963" + sodipodi:r2="1.8940361" + sodipodi:r1="3.7880721" + sodipodi:cy="736.90625" + sodipodi:cx="720.9964" + sodipodi:sides="3" + id="path3346" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="star" /> + <rect + transform="matrix(0,1,-1,0,0,0)" + y="-453.64221" + x="349.97592" + height="28.734417" + width="1.641498" + id="rect3348" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + sodipodi:type="star" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3350" + sodipodi:sides="3" + sodipodi:cx="720.9964" + sodipodi:cy="736.90625" + sodipodi:r1="3.7880721" + sodipodi:r2="1.8940361" + sodipodi:arg1="1.5707963" + sodipodi:arg2="2.6179939" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + transform="matrix(0,1.6147072,-1.9710774,0,1949.5669,-813.354)" /> + <path + transform="matrix(0,1.6147072,-1.9710774,0,1882.9598,-813.53257)" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="true" + sodipodi:arg2="2.6179939" + sodipodi:arg1="1.5707963" + sodipodi:r2="1.8940361" + sodipodi:r1="3.7880721" + sodipodi:cy="736.90625" + sodipodi:cx="720.9964" + sodipodi:sides="3" + id="path3352" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="star" /> + <path + style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + d="m 459.71509,290.94284 0,-18.36812 2.46136,0 0,9.10888 9.23644,-9.10888 3.33679,0 -7.80276,7.44248 8.14532,10.92564 -3.24798,0 -6.62283,-9.29683 -3.04498,2.93189 0,6.36494 z" + id="path4824" /> + <path + style="font-size:17.27940941px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + d="m 475.59443,297.1154 0,-8.29513 1.70905,0 0,1.17944 c 0.82288,-0.91127 2.01147,-1.3669 3.56581,-1.3669 0.67516,0 1.29584,0.0898 1.86201,0.26947 0.56616,0.17966 0.98991,0.41529 1.27125,0.70689 0.28131,0.2916 0.47824,0.63788 0.59078,1.03884 0.0703,0.26036 0.10553,0.716 0.10553,1.3669 l 0,5.10049 -1.89894,0 0,-5.04582 c -10e-6,-0.57278 -0.0739,-1.00108 -0.22155,-1.28488 -0.1477,-0.28379 -0.40969,-0.51031 -0.78595,-0.67955 -0.37628,-0.16923 -0.81761,-0.25384 -1.32399,-0.25385 -0.80882,1e-5 -1.50686,0.19007 -2.09411,0.5702 -0.58728,0.38012 -0.88091,1.10133 -0.88091,2.1636 l 0,4.5303 z" + id="path4828" /> + <rect + y="-524.2074" + x="511.68082" + height="31.346453" + width="1.641498" + id="rect3356" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="matrix(0,1,-1,0,0,0)" /> + <path + style="opacity:0.8;fill:#fbdf6f;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.24551916;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" + d="m 454.56489,492.38292 35.03073,0 0,33.13585 -35.03073,0 0,-33.13585 z" + id="path3360" /> + <path + style="font-size:25.3545723px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + id="path3362" + d="m 463.57458,518.60375 0,-19.3808 17.03569,0 0,2.28709 -13.694,0 0,6.00196 11.8509,0 0,2.2871 -11.8509,0 0,8.80465 z" /> + <path + sodipodi:type="arc" + style="opacity:0.8;fill:#d6b8d4;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.46709937;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="path3364" + sodipodi:cx="386.38333" + sodipodi:cy="296.47977" + sodipodi:rx="29.7995" + sodipodi:ry="2.5253813" + d="m 416.18283,296.47977 a 29.7995,2.5253813 0 0 1 -29.7995,2.52538 29.7995,2.5253813 0 0 1 -29.7995,-2.52538 29.7995,2.5253813 0 0 1 29.7995,-2.52538 29.7995,2.5253813 0 0 1 29.7995,2.52538 z" + transform="matrix(1.0482573,0,0,7.8451715,68.083352,-1880.8749)" /> + <rect + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="rect3366" + width="1.641498" + height="25.703959" + x="471.73978" + y="464.79434" /> + <path + sodipodi:type="star" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3368" + sodipodi:sides="3" + sodipodi:cx="720.9964" + sodipodi:cy="736.90625" + sodipodi:r1="3.7880721" + sodipodi:r2="1.8940361" + sodipodi:arg1="1.5707963" + sodipodi:arg2="2.6179939" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + transform="matrix(1.6147072,0,0,1.9710774,-691.90091,-967.53119)" /> + <rect + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="rect3370" + width="1.641498" + height="28.734417" + x="511.68082" + y="-454.13138" + transform="matrix(0,1,-1,0,0,0)" /> + <path + transform="matrix(0,1.6147072,-1.9710774,0,1950.056,-651.6491)" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="true" + sodipodi:arg2="2.6179939" + sodipodi:arg1="1.5707963" + sodipodi:r2="1.8940361" + sodipodi:r1="3.7880721" + sodipodi:cy="736.90625" + sodipodi:cx="720.9964" + sodipodi:sides="3" + id="path3372" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="star" /> + <path + sodipodi:type="star" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3374" + sodipodi:sides="3" + sodipodi:cx="720.9964" + sodipodi:cy="736.90625" + sodipodi:r1="3.7880721" + sodipodi:r2="1.8940361" + sodipodi:arg1="1.5707963" + sodipodi:arg2="2.6179939" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + transform="matrix(0,1.6147072,-1.9710774,0,1883.4489,-651.82767)" /> + <path + id="path4840" + d="m 455.79552,452.32647 0,-18.36811 2.46136,0 0,9.10888 9.23643,-9.10888 3.33679,0 -7.80275,7.44247 8.14532,10.92564 -3.24798,0 -6.62283,-9.29683 -3.04498,2.93189 0,6.36494 z" + style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" /> + <path + d="m 472.36544,457.18034 0,-7.12868 1.47254,0 0,1.01358 c 0.709,-0.78311 1.73312,-1.17469 3.07235,-1.17469 0.58175,0 1.11652,0.0773 1.60435,0.23158 0.48782,0.15441 0.85292,0.3569 1.09532,0.60749 0.24238,0.2506 0.41206,0.54818 0.50903,0.89277 0.0607,0.22375 0.0909,0.61531 0.0909,1.17469 l 0,4.38326 -1.63616,0 0,-4.33626 c -3e-5,-0.49226 -0.0636,-0.86034 -0.19089,-1.10423 -0.12726,-0.24389 -0.35299,-0.43855 -0.67719,-0.58399 -0.32421,-0.14544 -0.70447,-0.21814 -1.14077,-0.21816 -0.69688,2e-5 -1.29834,0.16335 -1.80434,0.49002 -0.506,0.32668 -0.75899,0.94648 -0.75899,1.85936 l 0,3.89326 z" + style="font-size:14.67699623px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + id="path4871" /> + <path + d="m 482.09152,454.22685 0,-1.21497 5.02666,0 0,1.21497 z" + style="font-size:14.67699623px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + id="path4873" /> + <path + d="m 492.05817,458.07229 -1.45077,0 0,-6.72626 c -0.34926,0.24239 -0.80734,0.48478 -1.37422,0.72714 -0.56687,0.2424 -1.07599,0.4242 -1.52734,0.5454 l 0,-1.0204 c 0.81137,-0.27756 1.52063,-0.61377 2.12781,-1.00862 0.60717,-0.39488 1.03702,-0.77799 1.28958,-1.14939 l 0.93494,0 z" + style="font-size:14.67699623px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + id="path4875" /> + <path + style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + id="path5866" + d="m 460.71918,674.5479 0,-18.36811 2.46136,0 0,9.10888 9.23644,-9.10888 3.33678,0 -7.80275,7.44247 8.14531,10.92564 -3.24798,0 -6.62282,-9.29683 -3.04498,2.93189 0,6.36494 z" /> + <path + style="font-size:17.27940941px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + id="path5868" + d="m 477.60371,676.08231 c 0,-1.35387 0.18813,-2.44348 0.5644,-3.26884 0.37628,-0.82533 0.93541,-1.46192 1.67741,-1.90975 0.74199,-0.44781 1.67563,-0.67173 2.80095,-0.67174 0.8299,10e-6 1.55783,0.12368 2.18379,0.37102 0.62593,0.24735 1.14287,0.60405 1.5508,1.07009 0.40791,0.46606 0.72792,1.03364 0.96003,1.70276 0.23208,0.66914 0.34812,1.57129 0.34813,2.70646 -10e-6,1.34348 -0.18638,2.42788 -0.55913,3.25322 -0.37276,0.82536 -0.93015,1.46323 -1.67213,1.91366 -0.742,0.45042 -1.67917,0.67564 -2.81149,0.67564 -1.49104,0 -2.66206,-0.39575 -3.51306,-1.18725 -1.0198,-0.95292 -1.5297,-2.50468 -1.5297,-4.65527 z m 1.95169,0 c 0,1.87982 0.29715,3.13085 0.89145,3.75312 0.5943,0.62226 1.32751,0.93339 2.19962,0.93339 0.8721,0 1.6053,-0.31243 2.1996,-0.9373 0.59429,-0.62486 0.89145,-1.8746 0.89146,-3.74921 -10e-6,-1.88501 -0.29717,-3.13734 -0.89146,-3.75702 -0.5943,-0.61965 -1.33454,-0.92948 -2.22071,-0.92949 -0.87211,10e-6 -1.56838,0.27339 -2.08884,0.82014 -0.65409,0.69778 -0.98112,1.98657 -0.98112,3.86637 z" /> + <g + transform="translate(104.74746,-0.75761436)" + id="g3184"> + <path + style="font-size:31.551651px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + id="path3778" + d="m 391.4598,246.68343 0,-19.78041 2.58056,0 0,17.44616 9.60394,0 0,2.33425 z" /> + <path + style="font-size:21.99795723px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + id="path3775" + d="m 407.46032,251.04809 0,-10.26905 1.93292,0 0,1.4601 c 0.93067,-1.12809 2.27496,-1.69215 4.03289,-1.69216 0.76362,1e-5 1.46559,0.11121 2.10593,0.3336 0.64032,0.22241 1.11957,0.5141 1.43776,0.87508 0.31816,0.36101 0.54089,0.78969 0.66817,1.28605 0.0795,0.32233 0.11931,0.88639 0.11932,1.69217 l 0,6.31421 -2.1477,0 0,-6.24652 c 0,-0.70909 -0.0835,-1.2393 -0.25056,-1.59064 -0.16705,-0.35131 -0.46335,-0.63173 -0.8889,-0.84125 -0.42557,-0.2095 -0.92471,-0.31425 -1.49742,-0.31426 -0.91476,1e-5 -1.70424,0.2353 -2.36843,0.70588 -0.66419,0.47059 -0.99629,1.36341 -0.99629,2.67846 l 0,5.60833 z" /> + <g + id="g3781" + transform="matrix(0.56188869,0,0,0.47966204,91.101776,141.83027)"> + <g + id="text3772" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"> + <path + id="path3777" + d="m 592.38104,224.61954 0,-7.06641 -7.01367,0 0,-2.95312 7.01367,0 0,-7.01368 2.98828,0 0,7.01368 7.01368,0 0,2.95312 -7.01368,0 0,7.06641 z" /> + <path + id="path3779" + d="m 617.79901,228.78555 -3.16406,0 0,-20.16211 c -0.76173,0.72659 -1.76075,1.45315 -2.99707,2.17969 -1.23634,0.72658 -2.34669,1.2715 -3.33106,1.63477 l 0,-3.0586 c 1.76953,-0.83201 3.3164,-1.83982 4.64063,-3.02343 1.32421,-1.18357 2.26171,-2.33201 2.8125,-3.44532 l 2.03906,0 z" /> + </g> + </g> + </g> + <g + transform="translate(-104.43334,0.42096948)" + id="g3177"> + <path + style="font-size:30.83420563px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + id="path3772" + d="m 497.80008,246.71462 0,-19.78042 7.86536,0 c 1.58113,2e-5 2.78312,0.17768 3.60597,0.53297 0.82282,0.35533 1.48028,0.98274 1.97239,1.88224 0.49207,0.89954 0.73812,1.89351 0.73813,2.98191 -10e-6,1.40326 -0.4074,2.58612 -1.22215,3.54859 -0.81479,0.9625 -2.07324,1.57417 -3.77537,1.83503 0.62114,0.33282 1.09307,0.66115 1.41576,0.98497 0.68568,0.70163 1.33508,1.57866 1.94819,2.63109 l 3.08564,5.38362 -2.95254,0 -2.34751,-4.1153 c -0.6857,-1.18736 -1.25039,-2.09587 -1.69407,-2.72554 -0.4437,-0.62965 -0.841,-1.07042 -1.19191,-1.32229 -0.35092,-0.25186 -0.70789,-0.42726 -1.07089,-0.52622 -0.26623,-0.063 -0.70184,-0.0944 -1.30686,-0.0944 l -2.72263,0 0,8.7838 z m 2.34751,-11.05059 5.04593,0 c 1.07291,1e-5 1.91188,-0.12367 2.51691,-0.37105 0.60503,-0.24735 1.06484,-0.64315 1.37947,-1.18736 0.3146,-0.5442 0.47191,-1.13563 0.47192,-1.7743 -1e-5,-0.93549 -0.30455,-1.70458 -0.91359,-2.30727 -0.60908,-0.60266 -1.57107,-0.90399 -2.88599,-0.90401 l -5.61465,0 z" /> + <path + style="font-size:21.99795723px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + id="path3769" + d="m 516.42329,251.07926 0,-10.26904 1.93293,0 0,1.4601 c 0.93066,-1.12811 2.27496,-1.69216 4.03289,-1.69217 0.76361,1e-5 1.46559,0.11121 2.10593,0.3336 0.64031,0.22241 1.11957,0.51411 1.43775,0.87509 0.31817,0.361 0.5409,0.78969 0.66818,1.28605 0.0795,0.32233 0.1193,0.88637 0.11931,1.69217 l 0,6.3142 -2.14769,0 0,-6.24652 c -10e-6,-0.70909 -0.0835,-1.2393 -0.25057,-1.59063 -0.16704,-0.35133 -0.46334,-0.63174 -0.8889,-0.84126 -0.42557,-0.20949 -0.92471,-0.31424 -1.49742,-0.31425 -0.91476,1e-5 -1.70423,0.23529 -2.36842,0.70587 -0.6642,0.47059 -0.99629,1.36341 -0.99629,2.67846 l 0,5.60833 z" /> + <g + id="g3796" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + transform="matrix(0.56188869,0,0,0.47966204,199.31606,142.18741)"> + <path + id="path3798" + d="m 592.38104,224.61954 0,-7.06641 -7.01367,0 0,-2.95312 7.01367,0 0,-7.01368 2.98828,0 0,7.01368 7.01368,0 0,2.95312 -7.01368,0 0,7.06641 z" /> + <path + id="path3800" + d="m 617.79901,228.78555 -3.16406,0 0,-20.16211 c -0.76173,0.72659 -1.76075,1.45315 -2.99707,2.17969 -1.23634,0.72658 -2.34669,1.2715 -3.33106,1.63477 l 0,-3.0586 c 1.76953,-0.83201 3.3164,-1.83982 4.64063,-3.02343 1.32421,-1.18357 2.26171,-2.33201 2.8125,-3.44532 l 2.03906,0 z" /> + </g> + </g> + </g> + <g + id="g3425"> + <path + id="rect4329" + d="m 117.07669,224.61714 98.58178,0 0,31.31489 -98.58178,0 0,-31.3149 z" + style="opacity:0.8;fill:#9adeef;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.14444602;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" /> + <path + id="rect4331" + d="m 215.3429,224.47644 98.58178,0 0,31.3149 -98.58178,0 0,-31.3149 z" + style="opacity:0.8;fill:#9adeef;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.14444602;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" /> + <path + d="m 162.75488,246.32886 c 0,-1.67605 0.21278,-3.02494 0.63835,-4.0467 0.42556,-1.02174 1.05793,-1.80981 1.89712,-2.3642 0.83918,-0.55437 1.89514,-0.83157 3.16784,-0.83158 0.93862,1e-5 1.7619,0.15311 2.46985,0.4593 0.70793,0.30622 1.29259,0.74779 1.75395,1.32473 0.46134,0.57696 0.82326,1.27961 1.08577,2.10796 0.26249,0.82836 0.39374,1.94519 0.39375,3.35049 -1e-5,1.66316 -0.2108,3.00561 -0.63237,4.02735 -0.42161,1.02176 -1.05199,1.81144 -1.89117,2.36904 -0.83919,0.55761 -1.89912,0.83642 -3.17978,0.83642 -1.68633,0 -3.01074,-0.48992 -3.97323,-1.46977 -1.15338,-1.17969 -1.73008,-3.10069 -1.73008,-5.76304 z m 2.20735,0 c 0,2.32714 0.33607,3.87587 1.00822,4.64621 0.67215,0.77034 1.5014,1.15551 2.48774,1.15551 0.98634,0 1.81559,-0.38678 2.48775,-1.16035 0.67214,-0.77355 1.00821,-2.32068 1.00822,-4.64137 -1e-5,-2.33358 -0.33608,-3.88392 -1.00822,-4.65104 -0.67216,-0.76712 -1.50936,-1.15067 -2.51161,-1.15069 -0.98636,2e-5 -1.77383,0.33845 -2.36246,1.01531 -0.73976,0.86382 -1.10964,2.45929 -1.10964,4.78642 z" + id="path3787" + style="font-size:21.99795723px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" /> + <path + d="m 268.86068,245.82432 c 0,-1.67604 0.21278,-3.02494 0.63835,-4.0467 0.42556,-1.02174 1.05793,-1.8098 1.89712,-2.3642 0.83919,-0.55437 1.89513,-0.83156 3.16784,-0.83158 0.93862,2e-5 1.7619,0.15312 2.46985,0.4593 0.70793,0.30622 1.29258,0.74779 1.75394,1.32473 0.46135,0.57695 0.82328,1.27961 1.08578,2.10796 0.26249,0.82836 0.39374,1.94519 0.39375,3.35049 -1e-5,1.66316 -0.21081,3.00562 -0.63238,4.02736 -0.42159,1.02175 -1.05198,1.81142 -1.89116,2.36904 -0.8392,0.55761 -1.89913,0.83641 -3.17978,0.83641 -1.68633,0 -3.01074,-0.48993 -3.97322,-1.46977 -1.15339,-1.17968 -1.73009,-3.1007 -1.73009,-5.76304 z m 2.20735,0 c 0,2.32713 0.33607,3.87587 1.00822,4.64621 0.67215,0.77034 1.50139,1.15551 2.48774,1.15551 0.98634,0 1.8156,-0.38678 2.48775,-1.16035 0.67214,-0.77356 1.00821,-2.32068 1.00822,-4.64137 -10e-6,-2.33357 -0.33608,-3.88392 -1.00822,-4.65105 -0.67215,-0.7671 -1.50936,-1.15066 -2.51161,-1.15067 -0.98635,10e-6 -1.77384,0.33844 -2.36246,1.0153 -0.73976,0.86382 -1.10964,2.4593 -1.10964,4.78642 z" + id="path3781" + style="font-size:21.99795723px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" /> + <path + id="path4350" + d="m 148.33886,248.59812 0,-19.78041 2.58056,0 0,17.44616 9.60394,0 0,2.33425 z" + style="font-size:31.551651px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" /> + <path + id="path4354" + d="m 251.46485,248.45075 0,-19.78042 7.86536,0 c 1.58113,2e-5 2.78312,0.17768 3.60597,0.53297 0.82282,0.35533 1.48028,0.98274 1.97239,1.88224 0.49207,0.89954 0.73812,1.89351 0.73813,2.98191 -1e-5,1.40326 -0.4074,2.58612 -1.22215,3.54859 -0.81479,0.9625 -2.07324,1.57417 -3.77537,1.83503 0.62114,0.33282 1.09307,0.66115 1.41576,0.98497 0.68568,0.70163 1.33508,1.57866 1.94819,2.63109 l 3.08564,5.38362 -2.95254,0 -2.34751,-4.1153 c -0.6857,-1.18736 -1.25039,-2.09587 -1.69407,-2.72554 -0.4437,-0.62965 -0.841,-1.07042 -1.19191,-1.32229 -0.35092,-0.25186 -0.70789,-0.42726 -1.07089,-0.52622 -0.26623,-0.063 -0.70184,-0.0944 -1.30686,-0.0944 l -2.72263,0 0,8.7838 z m 2.34751,-11.05059 5.04593,0 c 1.07291,1e-5 1.91188,-0.12367 2.51691,-0.37105 0.60503,-0.24735 1.06484,-0.64315 1.37947,-1.18736 0.3146,-0.5442 0.47191,-1.13563 0.47192,-1.7743 -10e-6,-0.93549 -0.30455,-1.70458 -0.91359,-2.30727 -0.60908,-0.60266 -1.57107,-0.90399 -2.88599,-0.90401 l -5.61465,0 z" + style="font-size:30.83420563px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" /> + <path + id="rect5029" + d="m 114.18655,782.59886 98.58178,0 0,31.31489 -98.58178,0 0,-31.31489 z" + style="opacity:0.8;fill:#9adeef;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.14444602;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" /> + <path + id="rect5031" + d="m 212.45276,782.45818 98.58178,0 0,31.31489 -98.58178,0 0,-31.31489 z" + style="opacity:0.8;fill:#9adeef;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.14444602;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" /> + <rect + y="-275.98514" + x="735.68121" + height="31.346453" + width="1.641498" + id="rect3458" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="matrix(0,1,-1,0,0,0)" /> + <path + style="opacity:0.8;fill:#fbdf6f;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.24551916;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" + d="m 206.34264,716.3834 35.03073,0 0,33.13585 -35.03073,0 0,-33.13585 z" + id="path3462" /> + <path + style="font-size:25.3545723px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + id="path3464" + d="m 215.35233,742.60423 0,-19.3808 17.03569,0 0,2.28709 -13.694,0 0,6.00196 11.8509,0 0,2.2871 -11.8509,0 0,8.80465 z" /> + <ellipse + style="opacity:0.8;fill:#d6b8d4;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.46709937;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="path3466" + transform="matrix(1.0482573,0,0,7.8451715,-180.1389,-1656.8745)" + sodipodi:type="arc" + sodipodi:ry="2.5253813" + sodipodi:rx="29.7995" + sodipodi:cy="296.47977" + sodipodi:cx="386.38333" /> + <rect + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="rect3468" + width="1.641498" + height="25.703959" + x="223.51752" + y="688.79474" /> + <path + sodipodi:type="star" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3470" + sodipodi:sides="3" + sodipodi:cx="720.9964" + sodipodi:cy="736.90625" + sodipodi:r1="3.7880721" + sodipodi:r2="1.8940361" + sodipodi:arg1="1.5707963" + sodipodi:arg2="2.6179939" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + transform="matrix(1.6147072,0,0,1.9710774,-940.12316,-743.53071)" /> + <rect + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="rect3472" + width="1.641498" + height="28.734417" + x="735.68121" + y="-205.90912" + transform="matrix(0,1,-1,0,0,0)" /> + <path + transform="matrix(0,1.6147072,-1.9710774,0,1701.8338,-427.64862)" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="true" + sodipodi:arg2="2.6179939" + sodipodi:arg1="1.5707963" + sodipodi:r2="1.8940361" + sodipodi:r1="3.7880721" + sodipodi:cy="736.90625" + sodipodi:cx="720.9964" + sodipodi:sides="3" + id="path3474" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="star" /> + <path + sodipodi:type="star" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3476" + sodipodi:sides="3" + sodipodi:cx="720.9964" + sodipodi:cy="736.90625" + sodipodi:r1="3.7880721" + sodipodi:r2="1.8940361" + sodipodi:arg1="1.5707963" + sodipodi:arg2="2.6179939" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + transform="matrix(0,1.6147072,-1.9710774,0,1635.2267,-427.82719)" /> + <path + id="path4373" + style="color:#000000;fill:#960000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:2;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + d="m 162.30215,411.23293 -0.39363,73.71264 6.48025,-0.002 -7.44856,17.97347 -7.6313,-17.8166 6.35563,-0.002 0.39525,-74.01722 2.24236,0.1516 z" /> + <path + id="rect4381" + d="m 273.68264,403.10395 2.23382,0 0,144.11281 -2.23382,0 0,-144.11281 z" + style="fill:#006400;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + id="rect4383" + d="m 159.88708,525.25861 2.23382,0 0,22.46262 -2.23382,0 0,-22.46262 z" + style="fill:#960000;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + id="rect4385" + d="m 275.55034,545.14967 1.20089,2.77875 -114.98634,19.85591 -1.20089,-2.77875 114.98634,-19.85591 z" + style="fill:#006400;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + id="rect4387" + d="m 161.7649,545.14968 -1.2009,2.77876 114.98636,19.85591 1.20089,-2.77876 -114.98635,-19.85591 z" + style="fill:#960000;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + id="rect4389" + d="m 159.93085,402.92723 2.23382,0 0,22.46262 -2.23382,0 0,-22.46262 z" + style="fill:#960000;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + d="m 159.55312,256.22178 0.35888,68.04232 6.48001,-0.0434 -7.26483,16.63818 -7.81289,-16.39637 6.35538,-0.0426 -0.36036,-68.32349 2.24381,0.12552 z" + style="color:#000000;fill:#006400;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:2;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + id="path4345" /> + <path + id="rect4353" + d="m 273.07626,256.1808 2.23382,0 0,129.48242 -2.23382,0 0,-129.48242 z" + style="fill:#960000;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + id="rect4355" + d="m 158.16376,363.20059 2.23382,0 0,22.46262 -2.23382,0 0,-22.46262 z" + style="fill:#006400;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + id="rect4357" + d="m 273.82708,383.09164 1.20089,2.77875 -114.98634,19.85591 -1.2009,-2.77876 114.98635,-19.8559 z" + style="fill:#960000;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + id="rect4359" + d="m 160.04161,383.09164 -1.20089,2.77875 114.98633,19.8559 1.20089,-2.77874 -114.98633,-19.85591 z" + style="fill:#006400;fill-opacity:1;fill-rule:nonzero;stroke:none" /> + <path + d="m 163.7911,634.4076 -0.39363,73.71264 6.48025,-0.002 -7.44856,17.97347 -7.6313,-17.81661 6.35563,-0.002 0.39525,-74.01721 2.24236,0.1516 z" + style="color:#000000;fill:#006400;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:2;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + id="path3396" /> + <path + style="fill:#960000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 275.17159,626.27861 2.23382,0 0,144.11281 -2.23382,0 0,-144.11281 z" + id="path3404" /> + <path + style="fill:#006400;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 161.37603,748.43328 2.23382,0 0,22.46261 -2.23382,0 0,-22.46261 z" + id="path3406" /> + <path + style="fill:#006400;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 161.4198,626.1019 2.23382,0 0,22.46261 -2.23382,0 0,-22.46261 z" + id="path3412" /> + <path + inkscape:transform-center-x="1.4829022" + inkscape:transform-center-y="5.6382561" + transform="matrix(0.23480596,0.29304936,-0.26075641,0.25287278,460.0034,642.49482)" + d="M -74.246213,636.11276 -109.8625,630.41187 -87.117243,602.4177 Z" + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="true" + sodipodi:arg2="1.7295141" + sodipodi:arg1="0.68231655" + sodipodi:r2="10.412414" + sodipodi:r1="20.824827" + sodipodi:cy="622.98077" + sodipodi:cx="-90.408653" + sodipodi:sides="3" + id="path4181" + style="fill:#960000;fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="star" /> + <path + sodipodi:type="star" + style="fill:#006400;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path4185" + sodipodi:sides="3" + sodipodi:cx="-90.408653" + sodipodi:cy="622.98077" + sodipodi:r1="20.824827" + sodipodi:r2="10.412414" + sodipodi:arg1="0.68231655" + sodipodi:arg2="1.7295141" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + d="M -74.246213,636.11276 -109.8625,630.41187 -87.117243,602.4177 Z" + transform="matrix(0.23208351,0.29485857,-0.26308899,0.25084287,347.25393,644.37015)" + inkscape:transform-center-y="5.6532107" + inkscape:transform-center-x="1.4800625" /> + <g + id="g3270" + transform="matrix(0.89787906,0,0,1,13.30933,9.020666)"> + <path + d="m 176.74246,342.45969 a 13.968345,11.36566 0 0 1 -27.93669,0 13.968345,11.36566 0 1 1 27.93669,0 z" + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.72087276;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path3272" /> + <path + d="m 148.83727,342.06338 27.82776,0" + style="color:#000000;fill:#00aa00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.81911218;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + id="path3274" /> + <path + d="m 162.60916,331.0886 0,22.64269" + style="color:#000000;fill:#00aa00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.81911218;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + id="path3276" /> + </g> + <g + id="g3286" + transform="matrix(0.89787906,0,0,1,14.82456,171.15014)"> + <path + d="m 176.74246,342.45969 a 13.968345,11.36566 0 0 1 -27.93669,0 13.968345,11.36566 0 1 1 27.93669,0 z" + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.72087276;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path3288" /> + <path + d="m 148.83727,342.06338 27.82776,0" + style="color:#000000;fill:#00aa00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.81911218;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + id="path3290" /> + <path + d="m 162.60916,331.0886 0,22.64269" + style="color:#000000;fill:#00aa00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.81911218;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + id="path3292" /> + </g> + <g + transform="matrix(0.89787906,0,0,1,16.253131,394.3741)" + id="g3302"> + <path + id="path3304" + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.72087276;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 176.74246,342.45969 a 13.968345,11.36566 0 0 1 -27.93669,0 13.968345,11.36566 0 1 1 27.93669,0 z" /> + <path + id="path3306" + style="color:#000000;fill:#00aa00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.81911218;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + d="m 148.83727,342.06338 27.82776,0" /> + <path + id="path3308" + style="color:#000000;fill:#00aa00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.81911218;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" + d="m 162.60916,331.0886 0,22.64269" /> + </g> + <rect + y="-273.25058" + x="350.49268" + height="31.346453" + width="1.641498" + id="rect5775" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="matrix(0,1,-1,0,0,0)" /> + <path + style="opacity:0.8;fill:#fbdf6f;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.24551916;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" + d="m 203.60806,331.1948 35.03073,0 0,33.13585 -35.03073,0 0,-33.13585 z" + id="path5780" /> + <path + style="font-size:25.3545723px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + id="path5782" + d="m 212.61775,357.41563 0,-19.3808 17.03569,0 0,2.28709 -13.694,0 0,6.00196 11.8509,0 0,2.2871 -11.8509,0 0,8.80465 z" /> + <ellipse + style="opacity:0.8;fill:#d6b8d4;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.46709937;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="path5784" + transform="matrix(1.0482573,0,0,7.8451715,-182.87348,-2042.0631)" + sodipodi:type="arc" + sodipodi:ry="2.5253813" + sodipodi:rx="29.7995" + sodipodi:cy="296.47977" + sodipodi:cx="386.38333" /> + <rect + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="rect5786" + width="1.641498" + height="25.703959" + x="220.78293" + y="303.6062" /> + <path + sodipodi:type="star" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path5788" + sodipodi:sides="3" + sodipodi:cx="720.9964" + sodipodi:cy="736.90625" + sodipodi:r1="3.7880721" + sodipodi:r2="1.8940361" + sodipodi:arg1="1.5707963" + sodipodi:arg2="2.6179939" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + transform="matrix(1.6147072,0,0,1.9710774,-942.85774,-1128.7193)" /> + <rect + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="rect5792" + width="1.641498" + height="28.734417" + x="350.49268" + y="-203.17453" + transform="matrix(0,1,-1,0,0,0)" /> + <path + transform="matrix(0,1.6147072,-1.9710774,0,1699.0992,-812.83722)" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="true" + sodipodi:arg2="2.6179939" + sodipodi:arg1="1.5707963" + sodipodi:r2="1.8940361" + sodipodi:r1="3.7880721" + sodipodi:cy="736.90625" + sodipodi:cx="720.9964" + sodipodi:sides="3" + id="path3316" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="star" /> + <path + sodipodi:type="star" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3318" + sodipodi:sides="3" + sodipodi:cx="720.9964" + sodipodi:cy="736.90625" + sodipodi:r1="3.7880721" + sodipodi:r2="1.8940361" + sodipodi:arg1="1.5707963" + sodipodi:arg2="2.6179939" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + transform="matrix(0,1.6147072,-1.9710774,0,1632.4921,-813.01579)" /> + <path + d="m 208.94758,289.19196 0,-18.36811 2.46136,0 0,9.10888 9.23644,-9.10888 3.33678,0 -7.80275,7.44247 8.14531,10.92564 -3.24798,0 -6.62282,-9.29683 -3.04498,2.93189 0,6.36494 z" + id="path4638" + style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" /> + <path + d="m 225.83211,290.72637 c 0,-1.35387 0.18813,-2.44348 0.5644,-3.26884 0.37628,-0.82533 0.93541,-1.46192 1.67741,-1.90975 0.74199,-0.44781 1.67563,-0.67173 2.80095,-0.67174 0.8299,1e-5 1.55783,0.12368 2.18379,0.37102 0.62593,0.24735 1.14287,0.60405 1.5508,1.07009 0.40791,0.46606 0.72792,1.03364 0.96003,1.70276 0.23208,0.66914 0.34812,1.57129 0.34813,2.70646 -1e-5,1.34348 -0.18638,2.42788 -0.55913,3.25322 -0.37276,0.82536 -0.93015,1.46323 -1.67213,1.91366 -0.742,0.45042 -1.67917,0.67564 -2.81149,0.67564 -1.49104,0 -2.66206,-0.39575 -3.51306,-1.18725 -1.0198,-0.95292 -1.5297,-2.50468 -1.5297,-4.65527 z m 1.95169,0 c 0,1.87982 0.29715,3.13085 0.89145,3.75312 0.5943,0.62226 1.32751,0.93339 2.19962,0.93339 0.8721,0 1.6053,-0.31243 2.1996,-0.9373 0.59429,-0.62486 0.89145,-1.8746 0.89146,-3.74921 -10e-6,-1.88501 -0.29717,-3.13734 -0.89146,-3.75702 -0.5943,-0.61965 -1.33454,-0.92948 -2.22071,-0.92949 -0.87211,1e-5 -1.56838,0.27339 -2.08884,0.82014 -0.65409,0.69778 -0.98112,1.98657 -0.98112,3.86637 z" + id="path4635" + style="font-size:17.27940941px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" /> + <rect + y="-273.83487" + x="512.65912" + height="31.346453" + width="1.641498" + id="rect3436" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="matrix(0,1,-1,0,0,0)" /> + <path + style="opacity:0.8;fill:#fbdf6f;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.24551916;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" + d="m 204.19235,493.36122 35.03073,0 0,33.13585 -35.03073,0 0,-33.13585 z" + id="path3440" /> + <path + style="font-size:25.3545723px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + id="path3442" + d="m 213.20204,519.58205 0,-19.3808 17.03569,0 0,2.28709 -13.694,0 0,6.00196 11.8509,0 0,2.2871 -11.8509,0 0,8.80465 z" /> + <ellipse + style="opacity:0.8;fill:#d6b8d4;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.46709937;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="path3444" + transform="matrix(1.0482573,0,0,7.8451715,-182.28919,-1879.8966)" + sodipodi:type="arc" + sodipodi:ry="2.5253813" + sodipodi:rx="29.7995" + sodipodi:cy="296.47977" + sodipodi:cx="386.38333" /> + <rect + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="rect3446" + width="1.641498" + height="25.703959" + x="221.36722" + y="465.77264" /> + <path + sodipodi:type="star" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3448" + sodipodi:sides="3" + sodipodi:cx="720.9964" + sodipodi:cy="736.90625" + sodipodi:r1="3.7880721" + sodipodi:r2="1.8940361" + sodipodi:arg1="1.5707963" + sodipodi:arg2="2.6179939" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + transform="matrix(1.6147072,0,0,1.9710774,-942.27345,-966.55289)" /> + <rect + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="rect3450" + width="1.641498" + height="28.734417" + x="512.65912" + y="-203.75882" + transform="matrix(0,1,-1,0,0,0)" /> + <path + transform="matrix(0,1.6147072,-1.9710774,0,1699.6835,-650.6708)" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="true" + sodipodi:arg2="2.6179939" + sodipodi:arg1="1.5707963" + sodipodi:r2="1.8940361" + sodipodi:r1="3.7880721" + sodipodi:cy="736.90625" + sodipodi:cx="720.9964" + sodipodi:sides="3" + id="path3452" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="star" /> + <path + sodipodi:type="star" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3454" + sodipodi:sides="3" + sodipodi:cx="720.9964" + sodipodi:cy="736.90625" + sodipodi:r1="3.7880721" + sodipodi:r2="1.8940361" + sodipodi:arg1="1.5707963" + sodipodi:arg2="2.6179939" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + d="m 720.9964,740.69432 -3.28057,-5.68211 6.56114,0 z" + transform="matrix(0,1.6147072,-1.9710774,0,1633.0764,-650.84937)" /> + <path + d="m 210.28188,452.82598 0,-18.36811 2.46136,0 0,9.10888 9.23643,-9.10888 3.33679,0 -7.80275,7.44247 8.14532,10.92564 -3.24798,0 -6.62283,-9.29683 -3.04498,2.93189 0,6.36494 z" + id="path4626" + style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" /> + <path + d="m 233.32211,460.96285 -1.89895,0 0,-8.95906 c -0.45716,0.32286 -1.05673,0.64571 -1.79872,0.96855 -0.74199,0.32285 -1.40838,0.565 -1.99918,0.72641 l 0,-1.35909 c 1.06201,-0.3697 1.99038,-0.81752 2.78514,-1.34347 0.79474,-0.52591 1.35738,-1.03622 1.68794,-1.53092 l 1.22377,0 z" + id="path4623" + style="font-size:17.27940941px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" /> + <path + id="path5874" + d="m 212.16049,675.72737 0,-18.36812 2.46136,0 0,9.10888 9.23644,-9.10888 3.33679,0 -7.80276,7.44248 8.14532,10.92564 -3.24798,0 -6.62283,-9.29683 -3.04498,2.93189 0,6.36494 z" + style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" /> + <path + id="path5878" + d="m 228.03983,681.89993 0,-8.29513 1.70905,0 0,1.17944 c 0.82288,-0.91127 2.01147,-1.3669 3.56581,-1.3669 0.67516,0 1.29584,0.0898 1.86201,0.26947 0.56616,0.17966 0.98991,0.41529 1.27125,0.70689 0.28131,0.2916 0.47824,0.63788 0.59078,1.03884 0.0703,0.26036 0.10553,0.716 0.10553,1.3669 l 0,5.10049 -1.89894,0 0,-5.04582 c -1e-5,-0.57278 -0.0739,-1.00108 -0.22155,-1.28488 -0.1477,-0.28379 -0.40969,-0.51031 -0.78595,-0.67955 -0.37628,-0.16923 -0.81761,-0.25384 -1.32399,-0.25385 -0.80882,10e-6 -1.50686,0.19007 -2.09411,0.5702 -0.58728,0.38012 -0.88091,1.10133 -0.88091,2.1636 l 0,4.5303 z" + style="font-size:17.27940941px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" /> + <g + id="g4230" + transform="translate(-156.78572,580.61622)"> + <g + id="g4232" + style="font-size:31.551651px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + transform="matrix(0.86341582,0,0,0.8758089,333.86144,116.864)"> + <path + id="path4234" + d="m 75.396304,123.46504 0,-22.58531 2.98878,0 0,19.92006 11.123189,0 0,2.66525 z" /> + </g> + <g + id="g4236" + style="font-size:21.99795723px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + transform="matrix(1.1108282,0,0,0.90022921,308.94361,116.864)"> + <path + id="path4238" + d="m 95.439342,124.96422 0,-11.40715 1.740072,0 0,1.62192 c 0.837809,-1.25312 2.047982,-1.87969 3.630526,-1.8797 0.68743,1e-5 1.31936,0.12353 1.89582,0.37057 0.57643,0.24706 1.00787,0.57108 1.29431,0.97207 0.28642,0.40102 0.48692,0.87721 0.60151,1.42858 0.0716,0.35805 0.1074,0.98462 0.10741,1.87971 l 0,7.014 -1.93342,0 0,-6.93881 c 0,-0.78768 -0.0752,-1.37665 -0.22556,-1.76693 -0.15039,-0.39025 -0.41712,-0.70174 -0.80022,-0.93448 -0.38311,-0.23272 -0.83245,-0.34908 -1.34802,-0.34909 -0.823495,1e-5 -1.534203,0.26138 -2.132125,0.78411 -0.59793,0.52274 -0.896893,1.51451 -0.896889,2.97531 l 0,6.22989 z" /> + </g> + <g + id="g4240"> + <g + id="g4242" + transform="matrix(0.56188869,0,0,0.47966204,98.601776,120.14262)"> + <g + id="g4244" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"> + <path + id="path4246" + d="m 592.38104,224.61954 0,-7.06641 -7.01367,0 0,-2.95312 7.01367,0 0,-7.01368 2.98828,0 0,7.01368 7.01368,0 0,2.95312 -7.01368,0 0,7.06641 z" /> + <path + id="path4248" + d="m 617.79901,228.78555 -3.16406,0 0,-20.16211 c -0.76173,0.72659 -1.76075,1.45315 -2.99707,2.17969 -1.23634,0.72658 -2.34669,1.2715 -3.33106,1.63477 l 0,-3.0586 c 1.76953,-0.83201 3.3164,-1.83982 4.64063,-3.02343 1.32421,-1.18357 2.26171,-2.33201 2.8125,-3.44532 l 2.03906,0 z" /> + </g> + </g> + </g> + </g> + <g + transform="translate(-104.64286,-14.205215)" + id="g4300"> + <g + id="g4222" + style="font-size:30.83420563px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + transform="matrix(0.80371569,0,0,0.89618702,113.91597,712.22116)"> + <path + id="path4224" + d="m 161.24905,120.09464 0,-22.071748 9.78625,0 c 1.96727,2.2e-5 3.46281,0.198256 4.48662,0.594703 1.02377,0.396489 1.8418,1.096582 2.45409,2.100275 0.61224,1.00374 0.91838,2.11285 0.9184,3.32733 -2e-5,1.56581 -0.5069,2.8857 -1.52063,3.95966 -1.01378,1.07399 -2.57957,1.75652 -4.6974,2.04759 0.77284,0.37138 1.36002,0.73774 1.76152,1.09907 0.85314,0.78291 1.66114,1.76153 2.42398,2.93587 l 3.83922,6.00725 -3.67361,0 -2.92082,-4.59201 c -0.85317,-1.3249 -1.55577,-2.33865 -2.1078,-3.04126 -0.55206,-0.70259 -1.04639,-1.19442 -1.483,-1.47546 -0.43662,-0.28104 -0.88077,-0.47676 -1.33243,-0.58718 -0.33124,-0.0703 -0.87324,-0.10538 -1.62602,-0.10539 l -3.38755,0 0,9.8013 z m 2.92082,-12.33067 6.27825,0 c 1.33494,1e-5 2.3788,-0.138 3.1316,-0.41403 0.75278,-0.27601 1.32489,-0.71765 1.71636,-1.32491 0.39143,-0.60723 0.58716,-1.26718 0.58717,-1.97983 -1e-5,-1.04385 -0.37892,-1.90203 -1.13671,-2.57454 -0.75782,-0.67247 -1.95475,-1.00871 -3.5908,-1.00873 l -6.98587,0 z" /> + </g> + <g + id="g4226" + style="font-size:21.99795723px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + transform="matrix(1.1108282,0,0,0.90022921,57.515036,712.22116)"> + <path + id="path4228" + d="m 184.20719,124.40376 0,-11.40714 1.74008,0 0,1.62192 c 0.83781,-1.25313 2.04798,-1.8797 3.63052,-1.87971 0.68743,1e-5 1.31937,0.12354 1.89582,0.37057 0.57643,0.24706 1.00787,0.57109 1.29431,0.97208 0.28642,0.40101 0.48693,0.87721 0.60151,1.42858 0.0716,0.35805 0.1074,0.98461 0.10741,1.87971 l 0,7.01399 -1.93341,0 0,-6.93881 c -1e-5,-0.78768 -0.0752,-1.37665 -0.22557,-1.76692 -0.15038,-0.39026 -0.41712,-0.70175 -0.80022,-0.93449 -0.38311,-0.23271 -0.83245,-0.34907 -1.34802,-0.34908 -0.82349,10e-6 -1.5342,0.26137 -2.13212,0.7841 -0.59793,0.52275 -0.89689,1.51452 -0.89689,2.97531 l 0,6.22989 z" /> + </g> + <g + transform="translate(-153.57144,595.17858)" + id="g4250"> + <g + transform="matrix(0.56188869,0,0,0.47966204,98.601776,120.14262)" + id="g4252"> + <g + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + id="g4254"> + <path + d="m 592.38104,224.61954 0,-7.06641 -7.01367,0 0,-2.95312 7.01367,0 0,-7.01368 2.98828,0 0,7.01368 7.01368,0 0,2.95312 -7.01368,0 0,7.06641 z" + id="path4256" /> + <path + d="m 617.79901,228.78555 -3.16406,0 0,-20.16211 c -0.76173,0.72659 -1.76075,1.45315 -2.99707,2.17969 -1.23634,0.72658 -2.34669,1.2715 -3.33106,1.63477 l 0,-3.0586 c 1.76953,-0.83201 3.3164,-1.83982 4.64063,-3.02343 1.32421,-1.18357 2.26171,-2.33201 2.8125,-3.44532 l 2.03906,0 z" + id="path4258" /> + </g> + </g> + </g> + </g> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:26.66666603px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" + x="142.96968" + y="184.57129" + id="text260"><tspan + sodipodi:role="line" + id="tspan258" + x="142.96968" + y="184.57129">Chiffrement</tspan></text> + <flowRoot + xml:space="preserve" + id="flowRoot262" + style="fill:black;fill-opacity:1;stroke:none;font-family:sans-serif;font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;letter-spacing:0px;word-spacing:0px"><flowRegion + id="flowRegion264"><rect + id="rect266" + width="20.141588" + height="44.938469" + x="151.42857" + y="27.272217" /></flowRegion><flowPara + id="flowPara268"></flowPara></flowRoot> <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:21.33333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" + x="193.50552" + y="215.00114" + id="text272"><tspan + sodipodi:role="line" + id="tspan270" + x="193.50552" + y="215.00114">Clair</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:21.33333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" + x="427.55157" + y="214.37306" + id="text276"><tspan + sodipodi:role="line" + id="tspan274" + x="427.55157" + y="214.37306">Chiffré</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:26.66666603px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" + x="368.94556" + y="184.53937" + id="text280"><tspan + sodipodi:role="line" + id="tspan278" + x="368.94556" + y="184.53937">Déchiffrement</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:24px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" + x="178.285" + y="837.29608" + id="text284"><tspan + sodipodi:role="line" + id="tspan282" + x="178.285" + y="837.29608" + style="font-size:21.33333333px">Chiffré</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:21.33333333px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;" + x="437.47556" + y="835.28375" + id="text288"><tspan + sodipodi:role="line" + id="tspan286" + x="437.47556" + y="835.28375">Clair</tspan></text> + </g> + <g + id="g4509" + transform="matrix(1.0170787,0,0,1,-508.57422,-286.45517)"> + <path + inkscape:connector-type="polyline" + id="path5267" + d="m 714.48219,859.44811 -1.87204,54.72918" + style="fill:none;stroke:#000000;stroke-width:4.75654125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.7565415, 14.26962449;stroke-dashoffset:0;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:4.75654125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.7565415, 14.26962449;stroke-dashoffset:0;stroke-opacity:1" + d="m 961.7117,858.07029 -1.87204,54.72918" + id="path5779" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" /> + </g> + </g> +</svg> diff --git a/td_tp/tp1/img/xtea.png b/td_tp/tp1/img/xtea.png new file mode 100644 index 0000000..a21a62c Binary files /dev/null and b/td_tp/tp1/img/xtea.png differ diff --git a/td_tp/tp1/src/ex1/file.crypt b/td_tp/tp1/src/ex1/file.crypt new file mode 100644 index 0000000..1f1e6c2 Binary files /dev/null and b/td_tp/tp1/src/ex1/file.crypt differ diff --git a/td_tp/tp1/src/ex1/lfsr.c b/td_tp/tp1/src/ex1/lfsr.c new file mode 100644 index 0000000..ffa713d --- /dev/null +++ b/td_tp/tp1/src/ex1/lfsr.c @@ -0,0 +1,42 @@ +#include <stdio.h> +#include <assert.h> +#include <stdlib.h> +#include <unistd.h> +#include <fcntl.h> + +#define MASK_BIT_7 0x80 +#define MASK_BIT_6 0x40 +#define MASK_BIT_5 0x20 +#define MASK_BIT_4 0x10 +#define MASK_BIT_3 0x08 +#define MASK_BIT_2 0x04 +#define MASK_BIT_1 0x02 +#define MASK_BIT_0 0x01 + + +unsigned char next(unsigned char lfsr) +{ + // TODO +} + +int main(int argc, char *argv[]) +{ + int fd_in,fd_out; + unsigned char w,buf;; + + + assert(argc >= 4); + fd_in = open(argv[1],O_RDONLY); + fd_out = open(argv[2],O_WRONLY|O_TRUNC|O_CREAT,0600); + w = (unsigned char)strtol(argv[3],NULL,0); + + while(1){ + ssize_t nb = read(fd_in,&buf,1); + if (nb <=0) + break; + buf ^= w; + write(fd_out,&buf,1); + w=next(w); + } + return 0; +} diff --git a/td_tp/tp1/src/ex2/key1.k b/td_tp/tp1/src/ex2/key1.k new file mode 100644 index 0000000..7fc6ef4 --- /dev/null +++ b/td_tp/tp1/src/ex2/key1.k @@ -0,0 +1 @@ +�N�{q2�*:����mfU#�`���?&Q3 \ No newline at end of file diff --git a/td_tp/tp1/src/ex2/xtea.c b/td_tp/tp1/src/ex2/xtea.c new file mode 100644 index 0000000..549caf6 --- /dev/null +++ b/td_tp/tp1/src/ex2/xtea.c @@ -0,0 +1,11 @@ +void encrypt(uint32_t v[2], uint32_t const key[4]) +{ + unsigned int i; + uint32_t v0=v[0], v1=v[1], sum=0, delta=0x9E3779B9; + for (i=0; i < 32; i++) { + v0 += (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + key[sum & 3]); + sum += delta; + v1 += (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + key[(sum>>11) & 3]); + } + v[0]=v0; v[1]=v1; +}