[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[paparazzi-commits] [5910] Finished documentation for pprz_algebra.
From: |
Martin Dieblich |
Subject: |
[paparazzi-commits] [5910] Finished documentation for pprz_algebra. |
Date: |
Tue, 21 Sep 2010 15:13:36 +0000 |
Revision: 5910
http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=5910
Author: mdieblich
Date: 2010-09-21 15:13:36 +0000 (Tue, 21 Sep 2010)
Log Message:
-----------
Finished documentation for pprz_algebra. There are still many notes in it,
which can be easily removed in the headfile (command: mynote)
Modified Paths:
--------------
paparazzi3/trunk/doc/pprz_algebra/Makefile
paparazzi3/trunk/doc/pprz_algebra/euler.tex
paparazzi3/trunk/doc/pprz_algebra/introduction.tex
paparazzi3/trunk/doc/pprz_algebra/matrix.tex
paparazzi3/trunk/doc/pprz_algebra/quaternion.tex
paparazzi3/trunk/doc/pprz_algebra/rates.tex
paparazzi3/trunk/doc/pprz_algebra/transformations/euler2matrix.tex
paparazzi3/trunk/doc/pprz_algebra/transformations/euler2quaternion.tex
paparazzi3/trunk/doc/pprz_algebra/transformations/matrix2euler.tex
paparazzi3/trunk/doc/pprz_algebra/transformations/matrix2quaternion.tex
paparazzi3/trunk/doc/pprz_algebra/transformations/quaternion2euler.tex
paparazzi3/trunk/doc/pprz_algebra/vector.tex
Added Paths:
-----------
paparazzi3/trunk/doc/pprz_algebra/headfile.pdf
paparazzi3/trunk/doc/pprz_algebra/transformations/axisangle2quaternion.tex
Modified: paparazzi3/trunk/doc/pprz_algebra/Makefile
===================================================================
--- paparazzi3/trunk/doc/pprz_algebra/Makefile 2010-09-21 14:26:49 UTC (rev
5909)
+++ paparazzi3/trunk/doc/pprz_algebra/Makefile 2010-09-21 15:13:36 UTC (rev
5910)
@@ -1,8 +1,8 @@
-doc_libeknav.pdf: headfile.tex
+doc_pprz_algebra.pdf: headfile.tex
pdflatex $<
bib:
bibtex headfile
clean:
- rm -f *~ *.aux *.bbl *.blg *.log *.out *.toc *.pdf *.dvi *.ps
+ rm -f *~ *.aux *.bbl *.blg *.log *.out *.toc *.dvi *.ps
find . -name '*~' -exec rm -f {} \;
Modified: paparazzi3/trunk/doc/pprz_algebra/euler.tex
===================================================================
--- paparazzi3/trunk/doc/pprz_algebra/euler.tex 2010-09-21 14:26:49 UTC (rev
5909)
+++ paparazzi3/trunk/doc/pprz_algebra/euler.tex 2010-09-21 15:13:36 UTC (rev
5910)
@@ -9,7 +9,8 @@
type & struct \\ \hline
int16\_t & Int16Eulers \\
int32\_t & Int32Eulers \\
-float & FloatEulers
+float & FloatEulers \\
+double & DoubleEulers
\end{tabular}
\textbf{IMPORTANT:}\label{paparazzi euler definition}\\
Because there are many definitions of euler angles (some say 12, wikipedia
says 24, the author tends to believe there are 48) and the choice of
perspective, paparazzi choosed the following convention:
@@ -23,6 +24,7 @@
\eu v = \begin{pmatrix} 0 \\ 0 \\ 0 \end{pmatrix}
\end{equation}
\inHfile{INT\_EULERS\_ZERO(e)}{pprz\_algebra\_int}
+\inHfile{FLOAT\_EULERS\_ZERO(e)}{pprz\_algebra\_float}
\subsubsection*{$\eu a = \transp{(\Roll,\Pitch,\Yaw)}$}
\begin{equation}
@@ -122,6 +124,12 @@
\end{equation}
\inHfile{INT32\_COURSE\_NORMALIZE(a)}{pprz\_algebra\_int}
+\subsubsection*{$\norm{\eu{e}} $ Norm}
+Calculates the 2-norm
+\begin{equation}
+\norm{\norm{\eu{e}}}_2 = \sqrt{\Roll^2+\Pitch^2+\Yaw^2}
+\end{equation}
+\inHfile{FLOAT\_EULERS\_NORM(e)}{pprz\_algebra\_float}
\subsubsection*{$min \leq \eu v \leq max$ Bounding}
Bounds the euler angles so that every angle $\Roll$, $\Pitch$ and $\Yaw$ is
between \textit{min} and \textit{max}.
Added: paparazzi3/trunk/doc/pprz_algebra/headfile.pdf
===================================================================
--- paparazzi3/trunk/doc/pprz_algebra/headfile.pdf
(rev 0)
+++ paparazzi3/trunk/doc/pprz_algebra/headfile.pdf 2010-09-21 15:13:36 UTC
(rev 5910)
@@ -0,0 +1,7675 @@
+%PDF-1.4
+%\xD0\xD4\xC5\xD8
+3 0 obj
+<< /pgfprgb [/Pattern /DeviceRGB] >>
+endobj
+4 0 obj
+<< /S /GoTo /D (section.1) >>
+endobj
+7 0 obj
+(Introduction)
+endobj
+8 0 obj
+<< /S /GoTo /D (section.2) >>
+endobj
+11 0 obj
+(Important definition)
+endobj
+12 0 obj
+<< /S /GoTo /D (section.3) >>
+endobj
+15 0 obj
+(Overview)
+endobj
+16 0 obj
+<< /S /GoTo /D (section.4) >>
+endobj
+19 0 obj
+(Scalar)
+endobj
+20 0 obj
+<< /S /GoTo /D (subsection.4.1) >>
+endobj
+23 0 obj
+(Multiplication and Rightshift)
+endobj
+24 0 obj
+<< /S /GoTo /D (subsection.4.2) >>
+endobj
+27 0 obj
+(x Squareroot)
+endobj
+28 0 obj
+<< /S /GoTo /D (subsection.4.3) >>
+endobj
+31 0 obj
+(atan2\(\) 4-quadrant arctangent)
+endobj
+32 0 obj
+<< /S /GoTo /D (section.5) >>
+endobj
+35 0 obj
+(Vector)
+endobj
+36 0 obj
+<< /S /GoTo /D (subsection.5.1) >>
+endobj
+39 0 obj
+(Definition)
+endobj
+40 0 obj
+<< /S /GoTo /D (subsection.5.2) >>
+endobj
+43 0 obj
+(= Assigning)
+endobj
+44 0 obj
+<< /S /GoTo /D (subsection.5.3) >>
+endobj
+47 0 obj
+(+ Addition)
+endobj
+48 0 obj
+<< /S /GoTo /D (subsection.5.4) >>
+endobj
+51 0 obj
+(- Subtraction)
+endobj
+52 0 obj
+<< /S /GoTo /D (subsection.5.5) >>
+endobj
+55 0 obj
+( Multiplication)
+endobj
+56 0 obj
+<< /S /GoTo /D (subsection.5.6) >>
+endobj
+59 0 obj
+( Division)
+endobj
+60 0 obj
+<< /S /GoTo /D (subsection.5.7) >>
+endobj
+63 0 obj
+(Other)
+endobj
+64 0 obj
+<< /S /GoTo /D (section.6) >>
+endobj
+67 0 obj
+(Matrix 33 / Rotation Matrix)
+endobj
+68 0 obj
+<< /S /GoTo /D (subsection.6.1) >>
+endobj
+71 0 obj
+(Definition)
+endobj
+72 0 obj
+<< /S /GoTo /D (subsection.6.2) >>
+endobj
+75 0 obj
+(= Assigning)
+endobj
+76 0 obj
+<< /S /GoTo /D (subsection.6.3) >>
+endobj
+79 0 obj
+(- Subtraction)
+endobj
+80 0 obj
+<< /S /GoTo /D (subsection.6.4) >>
+endobj
+83 0 obj
+( Multiplication)
+endobj
+84 0 obj
+<< /S /GoTo /D (subsection.6.5) >>
+endobj
+87 0 obj
+(Transformation from a Matrix)
+endobj
+88 0 obj
+<< /S /GoTo /D (subsection.6.6) >>
+endobj
+91 0 obj
+(Tranformation to a Matrix)
+endobj
+92 0 obj
+<< /S /GoTo /D (subsection.6.7) >>
+endobj
+95 0 obj
+(Other)
+endobj
+96 0 obj
+<< /S /GoTo /D (section.7) >>
+endobj
+99 0 obj
+(Euler Angles)
+endobj
+100 0 obj
+<< /S /GoTo /D (subsection.7.1) >>
+endobj
+103 0 obj
+(Definition)
+endobj
+104 0 obj
+<< /S /GoTo /D (subsection.7.2) >>
+endobj
+107 0 obj
+(= Assigning)
+endobj
+108 0 obj
+<< /S /GoTo /D (subsection.7.3) >>
+endobj
+111 0 obj
+(+ Addition)
+endobj
+112 0 obj
+<< /S /GoTo /D (subsection.7.4) >>
+endobj
+115 0 obj
+(- Subtraction)
+endobj
+116 0 obj
+<< /S /GoTo /D (subsection.7.5) >>
+endobj
+119 0 obj
+( Multiplication)
+endobj
+120 0 obj
+<< /S /GoTo /D (subsection.7.6) >>
+endobj
+123 0 obj
+( Division)
+endobj
+124 0 obj
+<< /S /GoTo /D (subsection.7.7) >>
+endobj
+127 0 obj
+(Transformation from euler angles)
+endobj
+128 0 obj
+<< /S /GoTo /D (subsection.7.8) >>
+endobj
+131 0 obj
+(Transformation to euler angles)
+endobj
+132 0 obj
+<< /S /GoTo /D (subsection.7.9) >>
+endobj
+135 0 obj
+(Other)
+endobj
+136 0 obj
+<< /S /GoTo /D (section.8) >>
+endobj
+139 0 obj
+(Rates)
+endobj
+140 0 obj
+<< /S /GoTo /D (subsection.8.1) >>
+endobj
+143 0 obj
+(Definition)
+endobj
+144 0 obj
+<< /S /GoTo /D (subsection.8.2) >>
+endobj
+147 0 obj
+(= Assigning)
+endobj
+148 0 obj
+<< /S /GoTo /D (subsection.8.3) >>
+endobj
+151 0 obj
+(+ Addition)
+endobj
+152 0 obj
+<< /S /GoTo /D (subsection.8.4) >>
+endobj
+155 0 obj
+(- Subtraction)
+endobj
+156 0 obj
+<< /S /GoTo /D (subsection.8.5) >>
+endobj
+159 0 obj
+( Multiplication)
+endobj
+160 0 obj
+<< /S /GoTo /D (subsection.8.6) >>
+endobj
+163 0 obj
+( Division)
+endobj
+164 0 obj
+<< /S /GoTo /D (subsection.8.7) >>
+endobj
+167 0 obj
+(Transformation form rates)
+endobj
+168 0 obj
+<< /S /GoTo /D (subsection.8.8) >>
+endobj
+171 0 obj
+(Transformation to rates)
+endobj
+172 0 obj
+<< /S /GoTo /D (subsection.8.9) >>
+endobj
+175 0 obj
+(Other)
+endobj
+176 0 obj
+<< /S /GoTo /D (section.9) >>
+endobj
+179 0 obj
+(Quaternion)
+endobj
+180 0 obj
+<< /S /GoTo /D (subsection.9.1) >>
+endobj
+183 0 obj
+(Definition)
+endobj
+184 0 obj
+<< /S /GoTo /D (subsection.9.2) >>
+endobj
+187 0 obj
+(= Assigning)
+endobj
+188 0 obj
+<< /S /GoTo /D (subsection.9.3) >>
+endobj
+191 0 obj
+(+ Addition)
+endobj
+192 0 obj
+<< /S /GoTo /D (subsection.9.4) >>
+endobj
+195 0 obj
+(- Subtraction)
+endobj
+196 0 obj
+<< /S /GoTo /D (subsection.9.5) >>
+endobj
+199 0 obj
+( Multiplication)
+endobj
+200 0 obj
+<< /S /GoTo /D (subsection.9.6) >>
+endobj
+203 0 obj
+(* Complementary)
+endobj
+204 0 obj
+<< /S /GoTo /D (subsection.9.7) >>
+endobj
+207 0 obj
+(Transformation from Quaternions)
+endobj
+208 0 obj
+<< /S /GoTo /D (subsection.9.8) >>
+endobj
+211 0 obj
+(Transformation to Quaternions)
+endobj
+212 0 obj
+<< /S /GoTo /D (subsection.9.9) >>
+endobj
+215 0 obj
+(Other)
+endobj
+216 0 obj
+<< /S /GoTo /D (section.10) >>
+endobj
+219 0 obj
+(Optimization)
+endobj
+220 0 obj
+<< /S /GoTo /D [221 0 R /Fit ] >>
+endobj
+226 0 obj <<
+/Length 4315
+/Filter /FlateDecode
+>>
+stream
+x\xDA\xED<]s\xE3ȍ\xEF\xFEL\x9E\xE4\xBA%\xB7?\xD9\xECT\xA5\xEAf\xAE2[\x93J겳\x93\x87\xD4\xEC>p$\xDAb"QJ\xF2\xC4\xF9\xF54\xBA\x9B\xA2e\xD9^\xEFھ\xAD\x9A\xB1\xC8&
+\xA0\xD1 \xBAI\x80%\x97
K\xBE;{\xFB\xF1\xEC\xDBwZ%Ef\xF3\%/\xCB\x93\xF3L\x9E|\$\x9Ff\xFC<\x95J\xCE\xDE7\xBBvs\x9E\x8Ab\xB6\xD8\xCFw\xF5\xA69\xFF\xE9㟡\xAB\xECuU\xBCȤ\x80\xD8\xF7\x90\xB3?}<\xFBrơ\x8D%\xDC!\xD7EƥJ\xE6\xEB\xB3O?\xB1d\xEDN\xF4+\x92\xAFj\x9D(!\xE1w\x95\xFCp\xF6\xFD\xF3\x84\xB2>\xC1\xDC$\x9CgVk(2c\xB9\x8Es\xCEX
Yr"\xF9\x9C\xCF\xD5Eb\x81h\x91co\x96\xA4\x82g\x85\xF0\xEC~\\xD6[`\xD3\xCA\xFD\xAA\xD9nYQÂ\xF8\x9F\xEF\xD7Us\xBB\xD2\xC9\xC1]lZ\xF2\xD0jV\xAE.\xAB\xCFmI\xAD?2\xAEV\x95G\xB8\xB9\x81^\x95We[\xFE\xE7?5\xB5_!\xD5:\x9F\xFD\xB3\x9A\xEFBw\xCD"P\xD6l\x9AKG\xC0>۴\x97\xF0\x8Cg\xE7\xA96\xDF\xEF\x90=䈤Cm\x97\x9B\xFDj\x88\x84\x98}vTtS\xD2O[]Tm\xD5\xCC]\xAB\xF4\x9C@;\x91\xFB\xC6\xCD\xF8\x96n\xBF.\xEB9\x8E\xBE$\xF8\xB2\xF5`\x8B
+\xB9l*?T\xD0,\xEAڴ74\xBC?
\x92\x99\x8C)4g\xC0/2\xF8\xED\xF6\xEB\xB7e\xDD~M\xF5\xED\xBA\xDC-瑫<S:`Ȝ$R\xA5e\xA6\xAC
+\xE4#R$9\x9Bmw-(ƾu\xB7\xDC\xCD6\xEF\x9C
+\xE0\xD5m3\x8E\xCF\x86;>\xA9\x97\xC7\xFA\xF5\\x90-\x80\xDFP\xC3r\x837_=\xF8Ώ\xEDg\xAF\xD7\xE5\xBF\xCEiZb\xBD\xD9\x98\xAA\xD9\xFAF\xD4ކ.\xCB\xD0
F\x84?\xE9Ԝ\xD7\xF3r`R\xCE\xE6@/г\xF3
\xA0\xA6(\xE5\xB5\JE,\x9A\xC0\xA2\xE9X\x84\xBE\xEB\xFAr\xE9z\xD1mT\xBCi\xABžY\x94\xD4'\x9B\xA2\x81\xC4l\xE4\xEC6n\xECk\xAD\xDA-\xA17\x84Zv\xD8\xFE\xD5
\xA0\xF2O\xDE\xFD\xE5\xF1\xFE\xCDy!g\xA9\xA9lt\xF1\xE1Oo\xFEBW\xBB
address@hidden&\x97U텴;I\x9477
jl\xBF\xD0\xA1\xF5H\xF3\xB5\xAA%\x9Bm\xCE\xE1O\xBB+\x9C\x86܄uVwF\xF8\x889\xFB{\xEBy\xB7o\xCA]\xB5B\xD9Ђt\x8F
^\xD0\xCFj\x83c\xC0\xA2vK\xC1\xADYK\xA2yz\xD0-\xF4\xDA\xDBlrF/\xDA
+q\xBDu\x8A\xC6Q
\x8A~qҶ\x9BuECn㒁G\|\x83d|'\x84_\xEEwK7$\x88T{\xE1Ȱ\xA4ҭ\xE0\xE6_\xBEiY\xEEB#\x91\x97\x9E;[\xE3<\xED\x839\xC3G\xEBM[\xA1~\xD0\xF3C\xFE%#]-\xB1\xE7\xCDh\xDC`\xE9\xAEگ\xAA\x96 \xCA\xE6̿\x93\x89\xD3h\xC3q\J|address@hidden
\xA9\xB4\xEE[m\xAF}\xFF\xAD7N\x8Do\xF6\xC5mO\xA5\x84P`\x9CMg\x9C\xB9\xBAܷ\xE7\xDAѭ\x94!G?TC)3\xD9u\xC6
+,\x90w\xB8\x9Eq\xDAh\xA8-\xE8\xF4\xBCr\xF4)address@hidden/
~\x978\xE83ih5\s\xA6\xAD1\xB9\xBF\x83K
address@hidden<\x83\xFE\xFFz\xBEN\x86\xF8#\x9E\x83?9\xA6Z\xEA\x8CsG
/\xBC\xEF\xB5<\x94V<\xE3\xD6k\xF7\x87\xF3&\x96
gh1\xC9좃F\xCD K\xC8\xAB\xC1A\xB3֙\x9Fr]\x85\xB8+\xCA$
\xD2Q\xF2}G\xA9g9\xE5\xFE\xD1\xF7S\xD5^N\xB5\xE46\x83\xF0Eh'\x89u\xEF>Ϭ\x85՛䀺\xC8\xB0v\xC6`y\xA2\xF3,\xB72\x97\xB1a\x9E\x9C)\x9B\xC6d\xDB\xA8\x9B\x95LD4\xB1\xC1Iz\x84\xFB4B\xE9\xC1Hio\xA8HOl\x8C$GT\xA6\xA0\xCF29\x8B\xB8<address@hidden(@\x81\x91\x8A\x96\xC0\x9DQ]\x84\x85\xD0S\xEE|E P~E*6\x9E\xF31\xE0p\xCESOq$x8\xE9H\xACM{\xBF\x8D\x9D\x8A$\xD25\x809\xD78\x99
\xE4X
+\xA7\xC20\x95\x83\xCB\xA3Pa\xBA&\x90/g\xA0\x9CF\xE7E\x90\xB1\xCCJil\x87-\xB6\xF8Y\xE9\xD2&
J'\x86LcF\xE2z\xA0\x91\x85\xE3\x80M҅\xE3m\xCA\xC0,o\xF0\xF0\xA9\xCAl!\xA8
+p(\x9C' address@hidden@ j\xA4\xBE\x85"\xF9\xC1\xD2\xAA\xA2
+\xAE-\xA1\xFA3l \xBA`v\xA8
\xB0<9,4ރ\xD3酝AD[\x82&Ćn\xDE"\xA2\xF4pġ"D\xD2z\x90\x91\x81\xE1\x80I\xAF\xE1\xADz\x90\xEB\xCCB\xF6\xAB
5\xE0\x80]\xCDV!\x80\x8D\xAC\x82\xCC\xC7z0\xEB\x81'\xF9\xD0,\xF4\xF8\xB0\xCEЅ\xA6\xD1c\xDC\xDF9J\xFB=v\x97s
P\xE7\xF8\xA6&\x878\xF7\xEE\xCE;?\x8A\xD158{?\xE7\x99t\x8Ei\xE0\xF6\xD0=
+\x93AdQ\xBBW
R\x82l\xC5*9\xFB\x81\x846M\x88\xC4\xF3)\xF9\xC9\xDD-`\xB4\x85I53%,G]\xA7ߔg\xB0%)address@hidden
e\xBA\x864\xB6\x84N\xE9a\xAF4b\x8EcvDt\xB4͓e\xF26\x99R\xA3\x86\xB8<address@hidden>V\xFC\xCB-\xF2GTHم܂\x81iԹ\xD5\xC7\xE5?{\xA5\xF2\xB7\xAC\xFFc-O\xC02!\xF8\x81i\xB3\x99\xD2n\xD3F7&UύY\x96hW\xF7\xE9]}\x99ѩ\xFF\xC3\xC4ΙChj\xC3Ι\xD1n\x9B\xEE0A\xF9\xC3\xF8
+\x9Bc\xBA\xBB\xC0\x83\x84͚nv\xA1[\xEFp\x97\x80ʵ\xBFtg}P:\xDE\xF3g\xFC7pv]\xDCA\x97\xA2\xD3\xECv\xEB<n\xB7\xA4\x8Bߝ%\x9F\xD0?p\xB3_\xD2\xC9g\xEFL\xE1َ\xD28r\xE3ŭE\xB8\xEC\xF0\xFC\xAD\xDE\xCD\xF18c9\xC42>r\xC7y\x92hk\xCA\xD5\xEA&`\xA68\x95.<V \xFB\x80'.\x9B\xB0\xB7S\x97\xDDҳ;t\x98\xA26<=\x94\xC7\xF8\xB0T\x8B\xA6\xC9
address@hidden
+\xF6\xA5\xF1\xE1P\xAD
+\xF4\x99\xFD\xF3\xF5[fo\x82\x85\xAA\xEB\xE6\x{1D9055}\xE19l\x96z\xA7D\xDAq5\x80a\x85\xED`\x9F`
w!<\xC0\x9C\xCC\xCA\xF4\xB4g\xC7o\x94\xA6\xD92\xB4:\x81\x9D\xE2\xA9\xD8\xE9\xDFqV|\xAC?\xCD
+D\xF52\xB0\x92¶\xC6X7\xBC=\x81\xCE\xCD=2 \x98\x99ȝ\xE1̤(\x88<
address@hidden&\xE1{\xA0\xF9f;\xF1\xC3E?.5\xA4Кތ36\xC1\xACAO`\xB6u3\xF5\xC2\x94O<\x8CS\xFDD\x9C\x82u\xE5\xC0\xCFl\x8A\xA3\xD4\xE0.n\xF4.\xEEg\xE7\xEC
\xE7ppnk\xFA\xFDoW\xC4g\xA6\x898?\x8AI\xBF\xE6R\x88\xCA\xC1\xBB
g\x84\xE1[\xAF\xDC\xE0\xAF\xD0`"\x82\xD9\xEB\xEBf\x91qX\x83\xE0Ɗ\xA2\xF7\xAA\xBC\x86\xDFLL\x8E\xC7v.zdV\x8C\xCD&?\xB0\x9A\xE3+}O;\xC1!\xCA\xC5
+\xC5\xC9nD\xDFÍȃ):nP\xD34\xB8뾱\xB8\xCF\xFA\xF9e<\xE4]\xAC\xA5\xB9ɴ9T:\x9B \xFCtC0\xAB"\xE3}\xD5\x91d\xF8\xB2f\xD0\xF1\x88\xF5,|\xA62:bE\xF1M1\xCFbx\x9Ek\xE3E\xCE\xF8ӛq\xB2\x86e\x86\x9B\xBEA\xDD\xE4J9\x99\x9B\xBC\x87h\xA0\xC8\xF6H\x83\xAA\xDD=c\xF5\x83C\xC0\xE3\xDFCc\x96\x87\xAE\xBA\xA7
v\x8Fs\x9A\xA4\x85\xCA$l\xCE\xEF\x9EH\xD0&\xA5hzթ|H\xE8\xF2\xEC\x98h\xBE\xBC;\xD1r
lL1\xC4Cá\x99\xE8\xED\xEF\xFA.G\xC1\x86\xC5\xE0\xEBvت\x9B\xB0U\xBF׆E\xD2\xFDs5\xD7\xC7\xF6N\x973ZĜ\xD9'[ď\xB2R\xC7\xD6\xD3\xF3\x8B\xF4^\x8E\xEE\xDCqj3e\xEB\xC9\xF1?,\xCC\xFA\xE5\xB5\xE4E\xAE\xD9[,\xFDC\xD7\xF9\xE9p˼\x9C\xB9}~\xFB\x98\xA2\x89\xEE\xF3\xF3\xFF\x9A
+\xE8\xC0h\xFE\xBA}\xC1\xFF\xD7U\x8E\xDFpC\xFCe\x86a\xFDˊ\xC0\xEE\xB3\xE2_P\x94H\xF3<\xB7Q\x9B
+\xF1+#\xBEq\xA2\xFD}V[\xD1߂\xACGY\xBDE\xFE[\x90\xF5K;\x88_\xE3\xC5\xE0\xB7Y\xE2y\xFEf\xEEo\xEFkd.3-\x8A\x93_\xD8\xD8\xE7\xEBh\xEF\xE0\x91\xE5\xC5\xCB\xDBU\xBC\xB4\xB7\xA4\xA7\xFB"address@hidden,\xDE\xEE\x9Dz|\xAF~\xCF\xEFw\x80!\xA3\xC0T\xAB\xD1\xBE
bn\x81\xCE$ 㙽\xF4 o|n\xF5e__\x9Fk=+W\xBD\x94N\x89y\xA0\xC5
\xAFV\xF5<\xA6\xED\xAA\xD9E뾨\x94\xD2e\xC8\xC2ϗ}\xB9\xAB\xDA&\xE6\xF5~\xADwK\xF5 \x94\x80\x89y\xEE\xD4\xEC\x92E}\xAAw/\x87\xFA\xE0UW
+&|\xBB-3a\xF5p\x8AF"