[adegenet-commits] r895 - in pkg: inst/doc man
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Tue May 31 15:07:26 CEST 2011
Author: jombart
Date: 2011-05-31 15:07:26 +0200 (Tue, 31 May 2011)
New Revision: 895
Modified:
pkg/inst/doc/adegenet-genomics.Rnw
pkg/inst/doc/adegenet-genomics.pdf
pkg/inst/doc/adegenet-genomics.tex
pkg/man/genlight.Rd
Log:
Moving forward...
Modified: pkg/inst/doc/adegenet-genomics.Rnw
===================================================================
--- pkg/inst/doc/adegenet-genomics.Rnw 2011-05-31 10:57:11 UTC (rev 894)
+++ pkg/inst/doc/adegenet-genomics.Rnw 2011-05-31 13:07:26 UTC (rev 895)
@@ -9,7 +9,7 @@
\usepackage[utf8]{inputenc} % for UTF-8/single quotes from sQuote()
\newcommand{\code}[1]{{{\tt #1}}}
-\title{Analysing genomic-wide SNP data using adegenet}
+\title{Analysing genomic-wide SNP data using \textit{adegenet} \Sexpr{packageDescription("adegenet", fields = "Version")}}
\author{Thibaut Jombart}
\date{\today}
@@ -39,7 +39,8 @@
\begin{abstract}
Genome-wide SNP data can quickly be challenging to analyse using standard
- computer. \textit{adegenet} implements representation of these data with unprecedented efficiency
+ computer. The package \textit{adegenet} \cite{tjart05} for the R software \cite{np145}
+ implements representation of these data with unprecedented efficiency
using the classes \texttt{SNPbin} and \texttt{genlight}, which can require up to 60 times less RAM than usual
representation using allele frequencies.
This vignette introduces these classes and illustrates how these objects can be handled and
@@ -107,13 +108,13 @@
@
The slots respectively contain:
-\begin{description}
+\begin{itemize}
\item \texttt{snp}: SNP data with specific internal coding.
\item \texttt{n.loc}: the number of SNPs stored in the object.
\item \texttt{NA.posi}: position of the missing data (NAs).
\item \texttt{label}: an optional label for the individual.
\item \texttt{ploidy}: the ploidy level of the genome.
-\end{description}
+\end{itemize}
New objects are created using \texttt{new}, with these slots as arguments.
If no argument is provided, an empty object is created:
@@ -165,15 +166,15 @@
@
The advantage of this storage is therefore being extremely compact, and allowing to analyse big
datasets using standard computers.
-Obviously, usual computations demand data to be at one moment coded as numeric values (as opposed to bits).
-However in most cases, we can proceed by only converting one or two genomes back to numeric values
-at a time, therefore keeping RAM requirements low, albeit at a possible increase in computational time.
-This however is minimized by two ways: i) conversion routines are optimized for speed using C code
-ii) smaller objects are handled, therefore decreasing the possibly high computational time taken by memory allocation.
+%% Obviously, usual computations demand data to be at one moment coded as numeric values (as opposed to bits).
+%% However in most cases, we can proceed by only converting one or two genomes back to numeric values
+%% at a time, therefore keeping RAM requirements low, albeit at a possible increase in computational time.
+%% This however is minimized by two ways: i) conversion routines are optimized for speed using C code
+%% ii) smaller objects are handled, therefore decreasing the possibly high computational time taken by memory allocation.
\\
-While \texttt{SNPbin} objects are the very mean by which we store data efficiently, in practice one
-wishes to analyze several genomes at a time.
+While \texttt{SNPbin} objects are the very mean by which we store data efficiently, in practice
+we need to analyze several genomes at a time.
This is made possible by the class \texttt{genlight}, which relies on \texttt{SNPbin} but allows for
storing data from several genomes at a time.
@@ -190,8 +191,8 @@
getClassDef("genlight")
@
As it can be seen, these objects allow for storing more information in addition to vectors of SNP frequencies.
-More precisely, their content is:
-\begin{description}
+More precisely, their content is (see \texttt{?genlight} for more details):
+\begin{itemize}
\item \texttt{gen}: SNP data for different individuals, each stored as a \texttt{SNPbin}; loci
have to be identical across all individuals.
\item \texttt{n.loc}: the number of SNPs stored in the object.
@@ -204,9 +205,9 @@
\item \texttt{pop}: (optional) a factor grouping individuals into 'populations'.
\item \texttt{other}: (optional) a list containing any supplementary information to be stored with
the data.
-\end{description}
+\end{itemize}
-\noindent Like \texttt{SNbin} object, \texttt{genlight} object are created using the constructor \texttt{new},
+\noindent Like \texttt{SNPbin} object, \texttt{genlight} object are created using the constructor \texttt{new},
providing content for the slots above as arguments.
When none is provided, an empty object is created:
<<>>=
@@ -214,15 +215,73 @@
@
The most important information to provide is obviously the genotypes (argument \texttt{gen}); these
can be provided as:
-\begin{description}
-\item
-\end{description}
+\begin{itemize}
+\item a \texttt{list} of integer vectors representing the number of second allele at each locus.
+\item a \texttt{matrix} / \texttt{data.frame} of integers, with individuals in rows and SNPs in columns.
+\item a list of \texttt{SNPbin} objects.
+\end{itemize}
+Ploidy has to be consistent across loci for a given individual, but individuals do not have to have
+the same ploidy, so that it is possible to have hapoid,
+diploid, and tetraploid individuals in the same dataset; for instance:
+<<>>=
+x <- new("genlight", list(indiv1=c(1,1,0,1,1,0), indiv2=c(2,1,1,0,0,0), toto=c(2,2,0,0,4,4)))
+x
+ploidy(x)
+@
+As for \texttt{SNPbin}, \texttt{genlight} objects can be converted back to integers vectors, stored
+as matrices or lists:
+<<>>=
+as.list(x)
+as.matrix(x)
+@
+\noindent In practice, \texttt{genlight} objects can be handled as if they were matrices of integers
+as the one above returned by \texttt{as.matrix}.
+However, they offer the advantage of efficient storage of the information; for instance, we can
+simulate 50 individuals typed for 1,00,000 SNPs each (including occasional NAs):
+<<>>=
+dat <- lapply(1:50, function(i) sample(c(0,1,NA), 1e6, prob=c(.5, .499, .001), replace=TRUE))
+names(dat) <- paste("indiv", 1:length(dat))
+print(object.size(dat),unit="auto")
+x <- new("genlight", dat)
+print(object.size(x),unit="auto")
+object.size(dat)/object.size(x)
+@
+here again, the storage if the data is much more efficient in \texttt{genlight} than using integers: converted data occupy
+\Sexpr{round(object.size(dat)/object.size(x))} times less memory than the original data.
+\\
+The advantage of this storage is therefore being extremely compact, and allowing to analyse very large
+datasets using standard computers.
+Obviously, usual computations demand data to be at one moment coded as numeric values (as opposed to bits).
+However, most usual computations can be achieved by only converting one or two genomes back to numeric values
+at a time, therefore keeping RAM requirements low, albeit at a possible cost of increased computational time.
+This however is minimized by three ways:
+\begin{enumerate}
+\item conversion routines are optimized for speed using C code.
+\item using parallel computation where multicore architectures are available.
+\item handling smaller objects, thereby decreasing the possibly high computational time taken by memory allocation.
+\end{enumerate}
+
+While this makes implementing methods more complicated.
+In practice, routines are implemented so as to minimize
+the amount of data converted back to integers, use C code where possible, and use multiple cores
+if the package \textit{multicore} is installed an multiple cores are available.
+Fortunately, these underlying technical issues are oblivious to the user, and one merely needs to
+know how to manipulate \texttt{genlight} objects using a few key functions to be able to analyze data.
+
+<<echo=FALSE>>=
+rm(dat)
+@
+
+
+
+
+
%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%
\section{In practice}
@@ -233,9 +292,59 @@
\subsection{Using accessors}
%%%%%%%%%%%%%%%%
+In the following, we demonstrate how to manipulate and analyse \texttt{genlight} objects.
+The phylosophy underlying formal (S4) classes in general, and \texttt{genlight} objects in
+particular, is that internal representation of the information can be complex as long as accessing
+this information is simple.
+This is made possible by decoupling storage and accession: the user is not meant to access the
+content of the object directly, but has to use \texttt{accessors} to retrieve or modify information.
+\\
+Available accessors are documented in \code{?genlight}.
+Most of them are identical to accessors for \texttt{genind} and \texttt{genpop} objects, such as:
+\begin{itemize}
+ \item \texttt{nInd}: returns the number of individuals in the object.
+ \item \texttt{nLoc}: returns the number of loci (SNPs).
+ \item \texttt{indNames}$^*$: returns/sets labels for individuals.
+ \item \texttt{locNames}$^*$: returns/sets labels for loci (SNPs).
+ \item \texttt{alleles}$^*$: returns/sets alleles.
+ \item \texttt{ploidy}$^*$: returns/sets ploidy of the individuals.
+ \item \texttt{pop}$^*$: returns/sets a factor grouping individuals.
+ \item \texttt{other}$^*$: returns/sets misc information stored as a list.
+\end{itemize}
+where $^*$ indicates that a replacement method is available using \texttt{<-'}; for instance:
+<<>>=
+dat <- lapply(1:3, function(i) sample(0:2, 10, replace=TRUE))
+dat
+x <- new("genlight", dat)
+x
+indNames(x)
+indNames(x) <- paste("individual", 1:3)
+indNames(x)
+locNames(x)
+locNames(x) <- paste("SNP",1:nLoc(x),sep=".")
+as.matrix(x)
+@
+\noindent
+In addition, some specific accessors are available for \texttt{genlight} objects:
+\begin{itemize}
+ \item \texttt{NA.posi}: returns the position of missing values in each individual.
+ \item \texttt{chromosome}$^*$: returns/sets the chromosome of each SNP.
+ \item \texttt{chr}$^*$: same as \texttt{chromosome} --- used as a shortcut.
+ \item \texttt{position}$^*$: returns/sets the position of each SNP.
+\end{itemize}
+
+
+
+
%%%%%%%%%%%%%%%%
+\subsection{Subsetting the data}
+%%%%%%%%%%%%%%%%
+
+
+
+%%%%%%%%%%%%%%%%
\subsection{Data conversions}
%%%%%%%%%%%%%%%%
@@ -258,5 +367,18 @@
+\begin{thebibliography}{9}
+\bibitem{tjart05}
+ Jombart, T. (2008) adegenet: a R package for the multivariate
+ analysis of genetic markers. \textit{Bioinformatics} 24: 1403-1405.
+
+\bibitem{np145}
+ R Development Core Team (2011). R: A language and environment for
+ statistical computing. R Foundation for Statistical Computing,
+ Vienna, Austria. ISBN 3-900051-07-0.
+
+\end{thebibliography}
+
+
\end{document}
Modified: pkg/inst/doc/adegenet-genomics.pdf
===================================================================
--- pkg/inst/doc/adegenet-genomics.pdf 2011-05-31 10:57:11 UTC (rev 894)
+++ pkg/inst/doc/adegenet-genomics.pdf 2011-05-31 13:07:26 UTC (rev 895)
@@ -57,277 +57,536 @@
37 0 obj
<< /S /GoTo /D [38 0 R /Fit ] >>
endobj
-49 0 obj <<
-/Length 1647
+40 0 obj <<
+/Length 982
/Filter /FlateDecode
>>
stream
-xÚÕXKoÛF¾ûWðH!Ã}ðê4A$0õô@S´¤V$]QàSÿzæµ$%1pà¸$ísvæofgy+/òÞ^Eüþ¶¸zùÆÄJCbë-î<äa/Qqhrí-ÞgÞÌ_Àgû _|68²&üUmì·õ¾KUþR¶ìî&vâüw÷"ªýì¯Å»oTî)æq¬Q)«ÃF
Y®X§Å
ÁçVÂö WÇþ»¶é¬Ù¹ºxÎþÕ´õIÃ<Ò^
6Íùÿx&4ñFÃ_"! ,g¾9ÕYÂq ± Mó÷*õÀ;î~Ám¤èCÆ[í)ñjçÆ ,ó¯[²ÄeUßêpÿßFÞnåqãã[p²M½<ÌP $F «R¥fAXíï¬ÝCDPËýCá:Þç@'Q®Yç3ûS2>Eó)×Z°wUÇdÚGáwØ4Ô¼öÿF0K±h|¨Óô»¾|ìsk@b¨8ãÅ9fA-û«>ÀçF¶q `Ú¸M¯fµÆïö!âX ¯cÀ.´Ðí6¿նâUÅSQx§ÚAh?öC4ýüþ9SB%ÊîF'¼Ä6Ô&°ØúQ°Wèkf+`ãØâöt«Â4±?:ä²÷(ü^:²³Ïw|`lü?á|ºòõäQÔÏâ:Hó0Ñú4ºMÝlhú®( ²ºé<³O.q¸áè
-T¤ÿçÀvƹ(K¸#W] (ólh>«k~|ÉSr¡
-cø ½§ ,Û/¯HiÄr×I¼´Í%ù¯ç³iÈËâ¥4î-ç붦 ¦-!ñgçM©
-
-%þÅxkß\Ï¡¥ÎõÍTökñÍø¶AN¯ÚqÑ ézTpd(N¹®ÍSÀïi}8¢ }ëkß\Okè§ÙsYdI63p3é¤/ÂÜÙXhG{Cet¹øÉ")~ÞsQøQ¹»d§ AWýeV5ff³Â髨¢kº£í
-aõ2¨|ÀGÞTÿ vϵ\v,ûªCÔtsÊäqãÊr&>´ÑiLÎ*HPÜnEUpAY.ÎAU¹ßáÕ{{fªP ç¾ö 1GÃH%«Ýë¢1úg£¼«$z;9FJ·¦ØÝ2Ëð!ÂÓÔ$TÐúº;±T¢ÔP\Å%ÆèRâYbªpÞÙÜ·®¸=(Å¿N¡¿·ã;:¦f½Hô¾§O»íxüó<M` *~ÚR¸]
-E×ñbqÂZæ1Er65 "âôÚ`+ÜB&øHl¶£ÊNh)¿*v0('|¢Em#ÇÉ
-¾wbjjÉN8éNÙ7ÇUoe ïK
-,Ô<
-y§:C5ÁGÍ6Bò#wÛ[ü
-?1qx6äeo໤x7-ëB4ÚsA<Ô¨¸/2£aK²>"ÜÝÅ0é«aU»tûéfì²-§Ö,v/wr+¨kÜ÷2³äò¦«õxÕëð0üºó÷.Ç[´ëSÆF®ªÝν§
-ÑÅuDTåìNS±»-ÏNøF×
-øêR)Ü2ª»yñßo/#G¿|÷äa¬ÔS^ÚmzÈýCç(Ê8
-AsxUüWNã0MÓ©@ç'O0¦
»MØÀ;J"r#Ó.»-7çÁOm1¯%^b rÆÉO=þÌ<ë¸îd#PsÈØ.+Âà^$)]Q;L ¡D³ïm¨ ñ¸múÇé°ui¬gÏNcvàDLL ~¥¥rc¸j¶»«>=Í^ðîȯZIÙx<¾g{tkW<P
-ëù&ÀÂýSf8û®]ëQÝý^üreÑpCâWÑ¿Õgzøú7øøÇËñÛ§h\C1~Vëá¿&Ñ<ÖÕqãE¿/®¾×9Í
+xÚ
VÉãF½÷Wè(£êZTZ =&h$¾%9häòxän8_n%ÉÝrÅ*²Xäã#el|zÐÿóþiõðøä\b*e/Õ&1Ωª¬Òxå¬ÖÉéÇSfÒÃ~xö¸³Ír[5ð2iÀõù~òWàY£Ìjþâ¯Ï|d-þÆ×·>ÛxvrÆì¯ÕÇ'Ó$ƨÆ{KáÚJUUÀ
+ªn»ÚÉíßä^åÎúôiëIÓ'ª?N¹Ê³¯-^ù 3`úe«A6ôÀÑw°>>:©US©jê2ÉWu)®?btôØc]ã/¿ðcUí¼*MÍÞ>Mçrø}] _ØÑçþ¦
-Ò'ÖýÄ ¶Iÿá²æ'z$í.ãCØ
+öRL<6Rd$¶¢iÑþ:Ìñ]n
ɸÚ8xk¨wé£Üxü¨kpR7#Að}*:\Ð+f_¥®µ &¯D·ynÃ)2íx×(7Ûïéx ¥}ÄR @úÊ>
+*[ ±9#Òu7l>"!¢Ñè¹<ôf0éÞßAEF]{g)åDÖäU,"k´
÷ÚDÃÅuv4,ª8HÖw:Æ8gí3«²ÚFÐf
+rg²ÿ;P[Ͳ4\ë÷FùÆEKb}ÿ[Gëí= (ô¥þÀ0ÛÆ(WØ78Ç"Ïmáé\Þ?.bØãÐ+
+ò;6vÚ j#%P~Ú8D*ìá7qZ|íwË¥XØ1wÚKHÜwOßf?÷÷AêtÓJvbÑhPY^?¦ <°õK¬OòqöÃ$Àøú3Mµ´nÇ8QLzjØëfþ-,g¶LÞ)tÊÝô±Âp/×á¼m7Þ8ys_¦SŦ×vIBÅ°ÝîÍÔ: tËõl6}oÿ®Eå^#+ÿÌ·è ³ÎµTþ>¸w ÀÁvFö:o¦¯ðKæ«)®NÂA
+¦ÑâéFÛÒÅí"?£¬)Üû_v5ìª9°W)Ã>6 :¬¯l4J*xØ\¸%pûo²|=i>¾ £p8s¿ºB¨_R\ZhÐLf`¬â!¢RLÝ
¢M
Ý,ùÓ uóé|ªáßHSÚf\Q¨B
Ó^ù²äoÿxü²zøuPÝ
endstream
endobj
38 0 obj <<
/Type /Page
-/Contents 49 0 R
-/Resources 48 0 R
+/Contents 40 0 R
+/Resources 39 0 R
/MediaBox [0 0 612 792]
-/Parent 59 0 R
-/Annots [ 39 0 R 40 0 R 41 0 R 42 0 R 43 0 R 44 0 R 45 0 R 46 0 R 47 0 R ]
+/Parent 50 0 R
>> endobj
+41 0 obj <<
+/D [38 0 R /XYZ 132.768 705.06 null]
+>> endobj
+42 0 obj <<
+/D [38 0 R /XYZ 133.768 667.198 null]
+>> endobj
39 0 obj <<
+/Font << /F33 43 0 R /F19 44 0 R /F40 45 0 R /F45 46 0 R /F50 47 0 R /F52 48 0 R /F8 49 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+62 0 obj <<
+/Length 637
+/Filter /FlateDecode
+>>
+stream
+xÚÕÁrÓ0ïy
+å\I+Ë·ÒSá`\×IâLláíÙìÇɤáÐíµ¼þWúvW¬bÝOd÷|½ÜÜ%)±-S1¤±-ÙÕâo˽ÕD_ï&
+
$ÛU,îQÑæbgµ%AÉV±SiRp:áoQCóvju$@òG´~àU´ËÄûy²¡tÃû(Y¢C*òïMÙ`Ls"¼ù5VóïhE·¢Ã ¤éÙ 7wÙÁ:¡3
ÓH:n:FaE¿#wà¬5ÎÕ wû^ïñû )¾ì#ACÿÓ«H¼i !q̫׸.ZÒmâÕª#UI¯õ8Z¬K5QÔ¹KDÊ+¸ÇÑ$U=ð~ôD¶Eb°8Ó¶=/®(×UƾáÕ¡
í`}éÔ2i·$¾í^:ÇÊ?0Éâ<ôS·<¹@ý¨¯Eêb«õ°»aßݾÙh黼ð$rÜÒ.3<ûûîê¡»ø§?Õ8çEá7>U#ÒVÁÕh^55Ïw9ÄìRëÈá¡iÃ[*h*í< ,êM¤3þJXî®_êͧ{¹<¯:ó]¿±ÍWaÕk¿'dZS¹q¾N79m¿¨p~ðÃe"é|MÑRÇóÍTö²êÍÔÛjªèyû&Î7Tt{*4²òTÂ/~8l¹àÍ!ð÷ß'Úv@{ÈõƦóÙ)¸`å?WÏþ«ÂsËhÅCÖ\ç7Éo[àO
+endstream
+endobj
+61 0 obj <<
+/Type /Page
+/Contents 62 0 R
+/Resources 60 0 R
+/MediaBox [0 0 612 792]
+/Parent 50 0 R
+/Annots [ 51 0 R 52 0 R 53 0 R 54 0 R 55 0 R 56 0 R 57 0 R 58 0 R 59 0 R ]
+>> endobj
+51 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.772 497.323 212.801 506.19]
+/Rect [132.772 634.321 212.801 643.188]
/A << /S /GoTo /D (section.1) >>
>> endobj
-40 0 obj <<
+52 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.772 473.473 237.867 484.272]
+/Rect [132.772 610.471 237.867 621.27]
/A << /S /GoTo /D (section.2) >>
>> endobj
-41 0 obj <<
+53 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 461.518 321.094 472.357]
+/Rect [147.716 598.516 321.094 609.355]
/A << /S /GoTo /D (subsection.2.1) >>
>> endobj
-42 0 obj <<
+54 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 449.284 342.813 460.402]
+/Rect [147.716 586.281 342.813 597.4]
/A << /S /GoTo /D (subsection.2.2) >>
>> endobj
-43 0 obj <<
+55 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.772 427.645 203.925 438.444]
+/Rect [132.772 564.643 203.925 575.442]
/A << /S /GoTo /D (section.3) >>
>> endobj
-44 0 obj <<
+56 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 415.69 239.511 426.339]
+/Rect [147.716 552.687 239.511 563.337]
/A << /S /GoTo /D (subsection.3.1) >>
>> endobj
-45 0 obj <<
+57 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 405.667 246.455 414.384]
+/Rect [147.716 542.665 246.455 551.382]
/A << /S /GoTo /D (subsection.3.2) >>
>> endobj
-46 0 obj <<
+58 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 391.221 338.09 403.082]
+/Rect [147.716 528.219 338.09 540.08]
/A << /S /GoTo /D (subsection.3.3) >>
>> endobj
-47 0 obj <<
+59 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 379.266 420.061 391.127]
+/Rect [147.716 516.264 420.061 528.124]
/A << /S /GoTo /D (subsection.3.4) >>
>> endobj
-50 0 obj <<
-/D [38 0 R /XYZ 132.768 705.06 null]
+63 0 obj <<
+/D [61 0 R /XYZ 132.768 705.06 null]
>> endobj
-51 0 obj <<
-/D [38 0 R /XYZ 133.768 667.198 null]
+65 0 obj <<
+/D [61 0 R /XYZ 133.768 647.382 null]
>> endobj
-55 0 obj <<
-/D [38 0 R /XYZ 133.768 510.385 null]
+60 0 obj <<
+/Font << /F59 64 0 R /F64 66 0 R /F8 49 0 R /F69 67 0 R >>
+/ProcSet [ /PDF /Text ]
>> endobj
+70 0 obj <<
+/Length 2655
+/Filter /FlateDecode
+>>
+stream
+xÚÉrãÆõ>_ÁÒ ¬Ûh ËLØqj<IÍ('ÛHyHBHËJ~>om $4Éä ±×¯ß¾4âÅv/¾{Ëïïß|ó/ÖÔeÉâþaaÓÔäY±È|nÔ/î7#»\Yøèû¥ËÔF'tírÆÑæ\ãì±¥½ïÿúÍ·Å¢4ed/^¬k¸`L? KòhÓ ãråó,êaÜüþqõX#Blq;§ëp£^ÂÁn´{D´E ¦gGB
+ Ï|èP}^&£Ýº=< k-o:vP$¶6=ÑÇ^9äÇZSzLU×Lz^ï
T³\å±îwÎÙ2êÏpÁ*|âýê¤H5Øórû ¿I¤"<þ#y×¼»q
C=pÛ^®
ñíª½roANRæ!I¹?ôs6!U!hÛñY@ÆÕqwá*¶¿ Ás»Çá·° 6
úÔ tÍé"Ô§`>í¾ç%Òϯ¤i² @C°ð¸!T=i§ nÙ.ÈRp(ª³ëíyErf1óB
ÒE¶=ñÚ¨E
+À)ÙgWÕª`<Z¾alg¼çQÄI÷øHØUǧ¤p´hÄvVÇéz2ÉFß¡ÀîÊû<Yð>%55âÍ¢fûtêOµkü~Á%f@F"oبÚ
+Û±ØãLTÇÞ;&øÛ#gghÉ6V¾2æ}%Á/Øø9Êhý ò2ú)ö1L?}ø;.ÂÌòú³êkÇت Rúð´ÙUO²³áÒiMÜ÷r¾ 4¼7é»èÖMu!p jØ5^°!ÎAØMMiùèý3BµCêÌzõ
+t¾=ïΨVw"øUã)¬¬Ù#OY Ñý5]¤ç·²r¤4ÞZ`¨ü`àe¿V}_gÔ4IôÐ-ÚøY£Ãþ¤6$0oò<óö´²['ÆÀ$ Då£lkÛ<RRÅ(äbpKx-[:ã3§ìlÅa£8±%»Cû»
³¬Ó,ð®ç]Z.Ì!lkhÅ`Vúê RJ3ò
ÓÅhjÁW²lpp@Í÷£@ÆfÁ»f#$0
bSª³è{Áø6½ú¤nÐæ&Ì!Ì)87ÏÉÈ_BdoZ¤8úòv.¢´¤8ëbìÓªaw0ÔÕQÏpf¢ÉÈ07¼"&ãÇ«)ÈYËÍ© *96s-îKafþ"
ÞÏ^ÜmÎ ¾4õ×]ô`Ràz%ÁSÝ3Ê¡¶ë^xá§ØzÜþMDJ¦[ÜÏd¦m-A#OÛU§á5'À6]ð!®ðü~Z%PÓÌHêÄVÝ©.¡84ÞótÞëϪ5R},ÔɤÔ"d¼=¨Rܺ¨×Zèz#m¨ZH8 ʳÞùðÓ¥ÇüWpÎÏåvç²d«Áö;Êqa7ªÒq®â¤Ð¶¢½©*ö'ç5ñ³DÁ+7{u6çieñº²ÀP°¶9#rg8O{'@&¦HSFH×t¤D2â%Í]ÔR¡§!ð%"ãS?\@ôéÕXÒzb Ö2`>LcÙ|X)«Rê3Äû"À¿©!ª¢A~à_6^µ\är×9Ávê*WAc\9¥0i¡Iè!p]gIç+¯-ðP¨.Ô[l1jC
+¶µN&iedy$Ý!07DÅRìÙËÝÏ;ÉÌÔ,à
+hl9±)r¦$2ÅGñ1ÔÖÚúØCÌ¥ôOµgj ¥ú¨Mcý²,£ÒAqÚ÷"
+Ú-´Ð#jÀSË¿µ<"íÂ)×ZlW!Ø!ÅâäØJ㸲³
+ýÏ-ïÏÀp¬ðk .eõ$´>Ý¥1Ð
ÜIì'T`ª5Àðãd(ź×Ä W@à§NöH¸C
+rRd`»Ç½E «
+µrÅ¿y¯o
+Z°¢h[kg$ó
ëjE"WjN<O)D"ãµß§6XQ~¥ã¯ôؤ~»HègÅ´JÔyG¬RË!ÔU!VÆò¼D7}ÇyÔwõÍðÜñÊ^ûÜí¹ÚÊëQ ÝËYX¯52ÞZ93ôÚBVj_Ì&
+.®Ã; öp¸BeöF¶{11?h¬B§ñ²U}Û^´ÚØ´§ÜLzº¦ËÄÕò&p[³|"lM¦ã§¼ß^óIùÐI9MïL½:èYÚ3RÚ¥¨Ú!GàÚUL'¯T<Þ
+/ÍlÓþ¹,KB£7W; & Å[²OµYÞäÞÎÆfö²æ¥¢Å
½ú ðÁälÅØäI1×Ò²yÃÔdy½]Ú!ÏæP?ÁâïQÏ)s&ðd&Nò¯UÒøí.¡ù¨ðÇÙ=oÜ,±>DìîÅXk ~ÍB 4Ô0°vðÝ¥ÝVmiMÚ¶¬hÌù¨Ï§zf
+(CÃvÕ£6hè8B,8_yÒÃ-âùHñt+ÐôÒ6c:>6Iø{|û
ïÐ#ÅÑ¢Ì;áIÁiLR(2gEÖ¬Ó§ñÐúÉëk¹1Ú*0¿PÕÚÆÉ×ô>ðpª£Òëͬ~ÏáÃ3l\}½Ð×f ¾6ÇNºfce3g<Êïפ&ø«rªíÐâÁO&
üõv0°ÐGûNÊo\ÝG)ùÆðå$¯À´§02ѯxDÍfFûáawYÒÅÈ ñ{Xåö$éç¤ðörÜ\kÙäMßUßÄÆ£ÏÄn»ãß½ùÇÜ9¶Ô?ZoÊ2çÛ~åkÒC÷"«Èýõ³ÀøI©§(|ºãBÙüSóÀÌÆ7Üþp£ çÈ)FÊuS¯ëMâßu§R¤
+óæô³Hß
+ñ#Åú³Fòü*gl)ò{F¯
+ûÂéºZló¼zePd>:: ÖØÄÿ¾3O-;d\ܹ/²^CÛÇÍø£bnⲸ`ÎÚæü!
+Lo!<5[ù06^#f;f¾Þ!ÕÝß:¤êïßd
+õE]L½5¤}K)wÒ®£ öԶƻQqëð+4 ûºs¥õvBÊÂzg\U
+ÄȢɤ?ß¿ùqb
+endstream
+endobj
+69 0 obj <<
+/Type /Page
+/Contents 70 0 R
+/Resources 68 0 R
+/MediaBox [0 0 612 792]
+/Parent 50 0 R
+>> endobj
+71 0 obj <<
+/D [69 0 R /XYZ 132.768 705.06 null]
+>> endobj
2 0 obj <<
-/D [38 0 R /XYZ 133.768 365.269 null]
+/D [69 0 R /XYZ 133.768 667.198 null]
>> endobj
-48 0 obj <<
-/Font << /F35 52 0 R /F19 53 0 R /F42 54 0 R /F47 56 0 R /F8 57 0 R /F54 58 0 R >>
+6 0 obj <<
+/D [69 0 R /XYZ 133.768 439.267 null]
+>> endobj
+10 0 obj <<
+/D [69 0 R /XYZ 133.768 410.631 null]
+>> endobj
+68 0 obj <<
+/Font << /F59 64 0 R /F8 49 0 R /F69 67 0 R /F79 72 0 R /F80 73 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-62 0 obj <<
-/Length 494
+76 0 obj <<
+/Length 1655
/Filter /FlateDecode
>>
stream
-xÚ
TKÓ0¾÷Wøèìõ;1·ÒeP%º'ØCi(jª Hü{fÆN7 ²ìØñø{ÌØV¬c½]©ü}½[Ý=8ôÖÃv{¦e¨Xð¥4Ö³ÝWöBhm<ß¡Õ#tØÚ±¶t|ñ_
-ÿÍ4O»÷FËè=Ñ(&U©SXPË0«dÐ%DSÜGû°Eütý-\duU#'.¨Z×fÉûô «C[mrÐá°G§Ä3Jé W%aÏBµù¿êC&}nIwQjÚ½RäòýsÆ?Vóh`Bó1;ìfT¬+ãsEeY°ÿ|.͵~G)&®óLÞAÓ¾PQ¥3Lª)b9þ6}tRÓÒBYa`íÃd{Ü6Õ ¢Høþ:¼ýÿÌ-ÀlÛ^HPCùª tCÙ:ÃDñ¡o ~JKë¾ÎGÿÑbÊÍgå̶x5Ö0Ñÿ4âf#hHÁdÔ³`ÓÊû%2e:ZÂc¿-P8.º¤£Me6§ÐVF«6îkøï×f6r})î*e&¤G¢%lN)éB_å7»ÕooÝ
+xÚÍX[oÛ6~ï¯0
+%%ÚuX¬CökÞÖ=(²º-ÏæßïÜ(QJ¥k;ì!1ERçú}Ò³«ýòLùýéâÙ·®ªp±]¬f&ÉUÎ\©8IgËÙQ77Ñþvó?/~}ñ6·§Ê9²hãËùÂÚ$zwv>_$I-á¥òÿásÝ®a|ý»Ý|»¨©
+çßkc+^ZÓqá»õ^/^Zx1#ák¿R¨×=Û&-DÕ
)Tç¬0¾®à¯¿¹oaìÑñÄBÔëCÍê¢ØààÚóZ»â_ô?Ð( Ý£íKdis(¼yi}D?TòÞÓ̽GæÁÛoÄäÚ¬ï8Údbößò+¬ÌºÝM
+µßà®®[K ¯ØÔeïuªáéìMG)'(lH°(J¬æñ,·¬M»óf¡w¶>ãH¬DV¦Ví>°â¸ 7øNß/Ý.HÓ5åîQIüXºîHÈ ´nÄ_7Âì¸ ¨ÉÔÈ+ܲm7µ·Tsi&F²¾
ãSIb}¤R¿æBÀùrÏ"mDÜôHÉQ/yú-H²vWV+í¼¹[1ãöêÄç1ì_²mt\ofç"
Zw¬1iE
_äôv§æ\ètÅ·-»ÇdÎOa`T:ÖB$lð0ÐçP'ÑÚSÈ!*7>î'¼\JñÕN\qw8YEnøå½ä¼T)úRÏö~ü;æg®g*2mÐÌpJ'bÆpRÂ!ªo¥3â]@?§º'¾æð ?fX?¶ÊXËâ_¿¯ùwuT5eÇN¢YĵóKPwÐõ l¦t!U¤å
+óNµKb\*eörÍ1d,ã+Êç%¿töÆïËU\_b^nW,ø;ò-
øxÅSLåÈ[ãL^xecaèS°;N§KIñ^AHN´Í®wÜ7ÔóýÊsUAã~°5îKXaIò% "ë8YXÝÜÓ³ó(ñe®cpÑ(?<P6¯¤u¦L«ñfZîIç'WìòMÚøNFfË=ä2pv
w}%
oñø1gÔAó§y;I¬ßXµÚF®Ü bÛâÝzàÂ+Aäù÷oÝ
+×üsûî¬D³*s±øPòùÂ;iàå¨ëx+cMtO´²W ><V}Na± Ïk8&ûex:2¡Å4ÄG¢c2¾°ÇÉkþ¹@Öh$Ѳ¨:0ÌK½Ö_ù ¶ß¾K6î)Á²ï
wÂòÜ륰i¿99¨ëÍ©
¶0W}àÿ}áµåÅ} G*eÄ#IG<òaòûÅVÏM4¢ÞQqç¨õ ¿idÞÈs,Ïí§¡ß©æÙiB½:M\é7 ®ìK+?J\qÈ[Ù#
·ä©g-
+¬ÕÑ
+)K÷ýüqÊ2ZefJYºq!£9,Y«6Vv7£6&©»_rËußúô×,M¸Ll¾jõ䪴ÆÝ(b^,,ÝHCH«
+èaFA=µÏ'nåTZÜ~ãÝ"·ý¥0·#EûÀ
+x$8}í9ZÑ´È¢ßcã©©[-\x1¡ò(c '=|
+St«oäÒµ¢ ²¤Øþ
Õ7¡k¡]ÝØWV1¶¡^T-YßþTíû{ÿÌÜ»ËUX£%ýjr×#7ùë{¹¥öê³;gÈ~)ÄØÿÄO÷õ æË?ae#O¨qòh)GGÉWc¼%å_3TÅ7eä?a.0¾u²Î<òõWï¾iêò q¦§×àn8CôåáN¾JTF¶ CäRÜH¸f\þºîlyèèF·®ãÈ< dÇ>ü¼×p@þªØIªèÇ®o(Q³+T&âB幤}ôô/ý
+A[&
endstream
endobj
-61 0 obj <<
+75 0 obj <<
/Type /Page
-/Contents 62 0 R
-/Resources 60 0 R
+/Contents 76 0 R
+/Resources 74 0 R
/MediaBox [0 0 612 792]
-/Parent 59 0 R
+/Parent 50 0 R
>> endobj
-63 0 obj <<
-/D [61 0 R /XYZ 132.768 705.06 null]
+77 0 obj <<
+/D [75 0 R /XYZ 132.768 705.06 null]
>> endobj
-6 0 obj <<
-/D [61 0 R /XYZ 133.768 667.198 null]
+74 0 obj <<
+/Font << /F69 67 0 R /F8 49 0 R /F80 73 0 R >>
+/ProcSet [ /PDF /Text ]
>> endobj
-10 0 obj <<
-/D [61 0 R /XYZ 133.768 644.599 null]
+80 0 obj <<
+/Length 1619
+/Filter /FlateDecode
+>>
+stream
+xÚ¥XKÛ6¾çW{Ñ5CêAJAÒCÛ¤EA8è!Ù,kmµ¶XÚf7¿¾ó¢(Å^$`!âc8oæájÙ¿ãf¦}ûõ¯ô¾gðþÒ8v`?û6ÿ´|ôøE®gNNÙòzfD9ÏlæTd³åzö.z÷nn"su5¿Zþ«Né"!CWóEHç~I)ÜhqüÅÅiAY¡
+[Ô
+ÅFFÖ½çiÔ{X}Ï?êüÜáàå|$I´ö#%GÅíºìà£gw=qTA»=Ìcý7ó¨ÆÉ$vÍã+Táø¿ÜÑÐæð³Z+}yÔ×ÐÚî í> ígUðYdó(Fð¾Þ RÇ÷:Óи
·Øî>´É`=¿¾4¿ ´ÑSî `/Òt¶H3ÇÕrëMGûC
+[?YÚk~ã .o:þ¦yàgXP³Â¸aøX8+4{i#$ïµ±UCJ.yÌ0Qv¸É¾jÔÒ8RnjE.½ð§6à¡Y6ñбK^\b«BùvLiO¼BüÚO¡½àfWîáãÃiýã÷ÒGÿ=ÇJϱ¦Ù%+F]Ïóåë·ÐùÜ{j«ØG¶(A4x¬7k1Lþ©Ñ°½¢ûäõXN(Mv¦èmzÞì÷] 7}¿sm°ObXµDÁòþµ¸Çà$È)N'§»eåiñõG<Ì´Þ¼|¿+:üÅå±ÉF÷`ÝÖÒÑÍ¡á]q·òÊZktT#E«·ùcõõL¼Â×FknW-Eç92µÌÈ6ÚË"ØFo ýòUÇT=Ñ: Z>~a1åF%Y
+Zv$IäxÙøLIª¬Kü" c¥ îçO¶Ååj±åÊ?GÜÜ×ÞeAS[/È(Ä1p»Ý. Ú4¶b¿/½9ÀfÐ
+4Ô¾kn¡b:¬¥îøÔ|ábýÖ"0AL¸qä¦i>ë)ëäï'üÆOs§Üy[üÑ
+4ý4âÄõ9qZAY·§B
+Z?ÌO6÷8µ1±¯·»óÜÏ|]Ó9Í"(¾?y³t
+÷¦B{ì0´')k
qJ ù½9~ùÚoEp»i궢mM^e"¤@Äìh5ÄVR/öwóíQ¦Úh4*þ&ÙüæÉ,1&"ÜðúVäÑ} ÄQªÞö¨F°µ.ùaaÅë|qhÎØ£zÖÓÔ».Md>Tvµ(Øq7¦·ÎL
+EÀªÑ5wíÌÉ,¸×¾Ä@µÿÛÛâ\ìÊ|º¬¸ ñXiªè4úmhR¹ã¬Bjd-üXá¨|ÜúÃÎtúÔ[ÏÙLh%eJDíè@LàrC0NÀ×yZòpYÉfM%gAhj·´\C#ìð|©ä"!á!'ZChߺ=÷ãyt<ð
+¹4v
+±ô&%¼Ñ¦åºöúC°GmG5Ãjì³Ë¡W¨ A»Úãvg(KUlcï_1rõFÓzO
+\#zÉ1ì!
ÆÉ(Ñä÷·çK Ìâ{È!+0Òæ³øï¸÷«v3*õ3é¬åµpQ»Ü®SéxJ3äÛ±KÀÚKÀ7¹¾
ÈÐ(ÏaÉxÆ©Ê
¨c¬vcç&ó¬qÞÜ^Nz
+Ôhà ° øjIIêHé 0,Vêx=rðXÔï(ÑÉ
+úá°÷ïî£
+sìCõ ÷'JøìvÝп²úTñÈ)OÅZàÌü[]>S&qÓr.i1ÔR;®_ߤÜ]ô²ë$úÜ;òÑ>ÈóÑæÌ¥²c¡'7è04Þï¯àµû$Çÿ)YûÛvudAÒ ÿAbùþÝÿʱ%~¡nZì·Áîªsö¶P ¸ 8°Êµ8V6Yø|ùèGð|±
+endstream
+endobj
+79 0 obj <<
+/Type /Page
+/Contents 80 0 R
+/Resources 78 0 R
+/MediaBox [0 0 612 792]
+/Parent 50 0 R
>> endobj
+81 0 obj <<
+/D [79 0 R /XYZ 132.768 705.06 null]
+>> endobj
14 0 obj <<
-/D [61 0 R /XYZ 133.768 624.69 null]
+/D [79 0 R /XYZ 133.768 198.947 null]
>> endobj
+78 0 obj <<
+/Font << /F80 73 0 R /F8 49 0 R /F69 67 0 R /F59 64 0 R /F79 72 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+84 0 obj <<
+/Length 2121
+/Filter /FlateDecode
+>>
+stream
+xÚÍXKoÛF¾çW¾"Ë7¸E[4
+7 b=$9Ð"-1DU¤ãêßw^»\R=)îrwvæ÷zÅļ~æ_øs£x²Ã±¼¿ýì×g¯Ro¸Yâ©ÉÍÝDÄé$×¢ÉM1ùèü¶*'oé,
+<çlQn`¼ªð\¶g<ûqÃpþçs¢Äuå¦g{öyúùæà`¦BWe1Ó¿FúuÛÀóEï{Âßß uù¨¦¡çàù³ÐgãÒÎùtæ+?t*l
+ùÏkäêFÞ\dÛ|TëHµÒG'®eɳY$Èû[!@G¶,ân:SQ8sÄ%ßÁóíî
+<?\]Ñß/ñ¤ÝÑix¾ùpÏ«1:@(8f¹Cî×5rWX3?BgKãªEÎj *HTâlQÀ§=éÆ£©zK@¦jÌîIP³w9
+ÙÖ!¯jÓòìäÊÖMûO0ãº@m`ÊX3ì$s³ØÑbU_¹J×_Pµp Û|÷ÀHâ<hJ²Ix<ÇÔAHþFVÔ°>/¸d«so
+xò$ê,ªXð5M
+yãN/[ç¸Ãh,¸xi^ Ú*áAió É#ñR:¶ÄómJ¢iNþRßñï5"ýßïHí çßð¸×ÀÌñ¤uBçO¢SòÞCËpUì§iH&^i
°Ä
+àÛg¨Ky£ùªáßO^ä¥Å»xgý,v?¡IØ WEBnDÌ- *"aÊLè¡fôâ W+T:FY±U[eßÐÍR_êø=àMEn+-8r®IAaàd9,C÷B¤þä©Éò[ÞY <d>ßdu:&#nPUaìàÎ %SmDðÈ<7L1ÓMâ»flþßÁÿ9"s ÜÀ7^"ùLÜ
+=\è0ñ
+Y,¶utz¾ëù}¥¢¯Ç´6`
+fhÎÐ
+
+f;Ì°!pVma!~¯Ø=N0mü+}C»u,A@òcWy¾m xqGB!3k|Áwü~ÑhÚ
+n`±M|,&®ðݳc"6¥câý¢9?Áø'(yYñAîI|S¾,Vè¯÷Ŭ4WqÔ0»Èiò
+£=y;µþÏä] ¹ÿNÂ\y5âí±
ß/ɵ$WÙɦmû¨\4Ó¨¨£Z<βç÷s¿8çwa¨Da.3y_àÖs)dÇâbnÍFArÄi
+(½ 0¶l×òÛXãòßÈw}/´ñU¾ºx|u.´|Ì+ø#%ÎôßÜ(RÒø".
+pÃQ%Þkâºáª4ñum¯KiµùnÒ| %Ùh'ûÛ,~ n¯ÂOY¡æèûØMwKÌ×Í ¤ëµSã7áÚRAE6C;=Pgz`£>ÉÏYÆ´¯ëð¸*£ÿ8<rXÅÇôRá0.§æ=Yîy 6í)uÚiQ¬Çº×áÒÐýV»ÖÂÖïñ²Í^%uÍsçb\Hñ~¥Ã3
F~~¢¯°=#¨Å\w§T+Ðh!bÆBPëbcSÆcíÇ¡irFöl$ã
#·:Q¬KN¾Û3=Êô×ö=$¡ða
+H+&J iôÒCeb»¶ºÐªÈ])[¡dö>ÂWHà+¹cU6$5,²/°ýÈhj¹ÐùbÚÂç#gå
+,¬Tpä¼Y¤bNÄx9¤8K &1ãûÆêqô.¶äv'®®êP¦nèq#â<<å×Ï%ñ(W·VpØÕÜ_ZI1Uµ¹!®ÆB«jÁ÷o¿Ø¯TrµÝôÐ|ÃÅÅýÚ:êÔYÁè/×o09ªêÙOÑA½,´aoriÊ5û1»?Ö$pln$ÎYÉxtÏxWx#©ßß¿^G"±%ñð_$¬ÜFJTéG¹ñëOhÒý ôëG®(>ãò(\òA×!ßmÎW¹ô8» ©Å²å°íðÞÌ
+¤
+ûm)m·òbxÎ-<)ZÕÏ;¯f/¾äôF¼$ ¹ly®%-ì(i«LøxDÄñuÄî»óP×ø¦ õyµç´Éã:°+RRMÏðÄáDÏÚèFþÐáCðw¯'ü]jö½B®¾ÏÍ¥ÜêÝ,ô}HºÇÈñ¢É,ÊÀF±ì^%;5ñÛ¤ÆñàÙ!ìJS,ü(ëåÓ6}áÀÒüxU¥·;ÝkuñÅ$^ØkWë0¤5÷û$Æ\¤@ÃvÁÃaOGDò?v
/ÎZ×A÷Çq*ã¼am?hæ¦]}²µ5¢ÿv®ªë\/¢ZXTséõ
+kþHÿþÂÔxIO@"_õ*³ÜÔÃ"¼é>È·5/ÜoôvPFÌ|7
+Uϼ^I"^oSÑØÔÅvÕ'ÅþHi ß{źqx´ °:é¨_°áTDÕ¸·ä÷gÿ¸h!
+endstream
+endobj
+83 0 obj <<
+/Type /Page
+/Contents 84 0 R
+/Resources 82 0 R
+/MediaBox [0 0 612 792]
+/Parent 50 0 R
+>> endobj
+85 0 obj <<
+/D [83 0 R /XYZ 132.768 705.06 null]
+>> endobj
+82 0 obj <<
+/Font << /F80 73 0 R /F8 49 0 R /F69 67 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+88 0 obj <<
+/Length 1761
+/Filter /FlateDecode
+>>
+stream
+xÚXIoÛF¾ûWB
+4îi Ò´j{r| %Zf*H9V}ß6\d9ÄÙÞ|ó·H{KO{ï´´¿ÿy¹Êxç×2ë%qªl{çïÂ?¿ª+ø.à·f67þMÑp§
¹»Ö¿&ñKÌq~ÝÀ·ÂëÀfУ}Å|À¬&õçÏ\ãÌÁ
+ZV÷PÂÊ*êgعÇÃp°
OS¤Êý«-q@´c!÷Nª-7Áåù_ÞÌD*"hÊcQÂBø4W#Z`Y¸¼Óto
+YOy=£õ¡EÅ·2¸DÄÓ.È"b?Ný¦î¡ ³åq%RjEÜj±F짯w?dÈ_Ç?M
+ÓðAJ¾Ý)iLuUEYlwül×ÉHËvÏØ5È~ͤ»aQpØ©V|¼í¯¼ÛÝ"BB¾¢ÁÞé^¡ GZÅ H¡½
+<×ÿð_öR§Úàó@9ce"ç`ÆÀFû¯g<DèòË'ë ô%WÕYo'¬L$[ÉZ¤c%/0äWM¿ÇLy^ï5Â7àÚǸvh¾LÙ<e©^â+cÿ+çê~Iwçi¿åruGrtÐزÉ8BHºÂcªtíi×y5ÍÆC#º>ÑÀYn·ÊtÄ ''AÇâÇH´²*~F8»$/CVZÞ´LqÛ3Êòp5Þ½Ýnn@£ë'¼ûî_±ÙñðãéYçrÆ8sO¼-b7m¸ìI«yÏ%ªöÍú¾·%Y»àAñ J|%Väsy$7âXt
+Ý7ú
,B{n«ÜûzÉã?¿±MxXÞÌ%QY<¶êÀÃìðp'Æ÷d°±JÃGt-ò¶*ö7ø$L!ÄÝZT5ÊÀΡuaWh²õmÌêØÏY¢¬IÂ%¼ÿm3rD°ùø÷$l²Ðµ ùG ;
ßxnö~´kxRhThC·iz 6QÆB at wSBåJPâLÛÇèQ¬tjÜæâzù`ÞòÝCæìH©ß
~·P¯¼+,=f Hò/NtiDïðaÉíYþTKJQoÎÍMUYË(5LPrvÑpĸuc'"b)+.`8UFóìP©ØF£«¯¸QË®zÏ»Û'öb8;¦ô¢Çßù }xÒÅòHç^È×Ï°#8ã}ß<u¨¿ÞD&¸±o;=12ß
+ºÏ÷>ð¼0Eß#2\àmµÌíÅ4ìzQ/'mK¾àòoÖØh¯
+QEOÌ?Ö÷ Î
+¹ÝÛæ`ô¨=×R8¬{Jö HÆ_s±zì]ÿÄ: á±)W Yò±QqdÔ-F*ì}ê!·¬Ìá©/ ¸qYçb%®I
+Ù_s·Ëqw<þµWò\PaXA©¢:@(ÙH]Ç*7FÜ£(¡P»Ôõºï,H=¬dBh6¥¨{»
+¤ÚP¿Á³Ò
+D,tÂ=°A¢ò,r *Eõÿ Þ¾Pdàø°áô²¬ä\Dû¤MÌnYWa¿XÜqÂÅR¦A±`RÈV230%à%hjXâË;>Sh"lê!=;κ¨T
+°1i_Æ輫yÊjBwYî¡c£"
+Ã"V«¢íÔ³À+£÷êâ½*¯EIwTÎäJÍ7¬¹ÌTkôgZk^¤çLy9 TѼ$ÑÉ7Ç£·®8Ä,b3ÿI뮳M<}ÛHõðìh¨(
+GAJJ꿾x+*cïV;)m ¿íªë-ñÞVèúÖ®¼sY3è/ùíy\uRWÓõ
ÑéÛq=KåKTQ2íSå
+9¢½âT<*ïqyGQß|P)ÍøPÊÝ|
+A¼rþ&ÿy·_¦
+*7}Eu:¼-è÷¨ö<B[N&|àðjE^{I¯ ÉRßæôE7²¯ÓÐÏL*ºLÿ¹£¹èκjG »[
+rÎâÂc·ùï«ç¥0?á=~âl×òÕà<¸Ø[<¿ªc¦téàÂöþÏLrÙ1eNY&II*õîüè
+ÿËÑ
+endstream
+endobj
+87 0 obj <<
+/Type /Page
+/Contents 88 0 R
+/Resources 86 0 R
+/MediaBox [0 0 612 792]
+/Parent 90 0 R
+>> endobj
+89 0 obj <<
+/D [87 0 R /XYZ 132.768 705.06 null]
+>> endobj
+86 0 obj <<
+/Font << /F8 49 0 R /F80 73 0 R /F69 67 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+93 0 obj <<
+/Length 1867
+/Filter /FlateDecode
+>>
+stream
+xÚXIÛ6¾çWø(±F$µöP`:iº EÀEi²¬±XkÉIf~}ß*Q3¤èÁE>>¾å{-¢E&éâ²Ãßÿô*Zà7¾¿±ß¸ë:õÖ¯nÞæÑ",2õýÂ8fi¾H,´.Y¬·Á÷ËUâLÐ.M°ùXóêÃ^Güø+J¢m Fæí@ÏîðÏ©¾2µYþ½þõ²Ãpe³0²
H
+ìSÏ8rø¸yÏEÜ< u79T\aÚ5D¶&,LÎl÷(ÜËU¦A¹+ðußk) á~$@Åqª½;JÜpÏÃ~ Lmt%oCç¥Í+{l=!ج&4â e?vBoÞ¦
§Í²0,(Hí&8¢³à·UzÞî%Nas¬IçNY¬ua¥»%+¹ùï+;ÄäwdÖî;ðLUyð´@d[Þ»E;±ð»]ëªÂCθãçSïöâyMÍVÅ5Ô±îä£Á6©lU/RïZN¼}ÔõåT¦:³eHk&809 aõà} DêÏË$Å#Å,(hïùMRÐå:t ë=Ñ ÉÌ QoàTýULLÔd§#X"N
+ðDsƪ^1nQDê»U1_óò((jQ/ß1<Z~'" ìjýÀHP^pnyïj¸ã_[£ÐQѹV(étíÕ@H.W) ïwL[=@MKYR@Òë9?Éa°²E®&»Òù
+¾öÄÒZaKV&xmyi+Y¤å¡¸?è[Íã¦mü ' d{lkÒfK9BëÚ¨òÊ-´Â Du¯+3êbj&`¤&A{>m''á¤Ä)'ôbcJçdjå&øñzô>,Aµ Nl`cö«ÀÀ3³ÈUaèâ`°~DXÝΩ¹DXÐñÄ ÙÔ¤OÐâÚyáw/æd ÚÕ'¡¤$ÚP!á'Ýd]F9Ìs®x.£Æ['ôf¢1Nzù»Öð
jâÚÙ/òþö7&¡Mÿ Ht©é(YbéÆð'Dj/õLWÒÛRvsÎã¶ÓßHn©y¹RàVLøVQ+ì¸xÌxùe!Ð³é µ1ð^+zP-çLÏpL¶¤åÒ
+EÌðñ¨%
+6¸÷a<q²X3â]2UI¿cY<Í @[ÑÌSÔ<o'¹N¾´WÏõ¨dyeiÏJÔ壪ÁÐa²ª1ú®ö½v^´ Ù¿d¬'ÂGSÝì¬nÏXµ~Ç£óè6Ö ?I_8jñv`È¥çØÓe:bÌ+ÚÐPÁ¼j8ÌØÜÉá{æå}A{V7«ý~¨tG/PM'N°$Ài}7$$ø'VZN!4ÉöiU¯JZm-jGKÏBWÒ(-jíöÜ Ù0³öÿG'ÛÈ>ixR¥'_RÝm/òéu*ÔCzGp߶Â×Má÷§¶aâ"¶fR½PF¿L¤gÅ¢!^wRk³ãÁc:týc¡Í:^o¥:u1üV=) {¹uqd!ÉÜI¶ªdVÙ}âíPO[íÕqZkX
+ØÃ8qr(=p&vC-v£ þ¬Î¹vϸ{:~^% ÒvÆÁ/§¹ü¼þ D®àCe½öÈ$PAcv©b¡a WµN¤L¹Ãw?NÍU
hOcÈý
+åfmòp
+y½ãLmù&eâiË"3zqÖ;²eÇèr&WÓ®;Þ1Éá´ðÅ¿/ãÄl1¯G®Äòyͬê^u:G®ÇEÇ_|¿q¶Úÿjç 6¦ß]-7\ç]q8´Q¦WÜFùQòb±ÐÁ³¹ÃÎ^« @¢{Ûz´4®¦å橺Z½ÿsUѲzó6)ð>
+-EqWEF0»Wd°@ù¤Ñ, Î@¨²
+êÙêÿ%xÿ7C2!^qðhªÎY̪ ÐJï9\8lºÌy<¬ðxCÌ¢jI:Á±ÑÍOÅ3'ÌÞQ/}¢ÿMÎTRé]Ë!½ÿ°N5Ðóêí©«>t^æ{Ñ»;xÜêÿV³ºÄªË¡Ó[)⧳wL'Kþ0xª79°wÔåpöD¶ÂÔd$
+A>^ïÞ,·ïþîÙpS¨l]p(óÈ';~\¿ú¾Lê®
+endstream
+endobj
+92 0 obj <<
+/Type /Page
+/Contents 93 0 R
+/Resources 91 0 R
+/MediaBox [0 0 612 792]
+/Parent 90 0 R
+>> endobj
+94 0 obj <<
+/D [92 0 R /XYZ 132.768 705.06 null]
+>> endobj
+95 0 obj <<
+/D [92 0 R /XYZ 133.768 482.824 null]
+>> endobj
+96 0 obj <<
+/D [92 0 R /XYZ 133.768 462.899 null]
+>> endobj
+97 0 obj <<
+/D [92 0 R /XYZ 133.768 442.974 null]
+>> endobj
18 0 obj <<
-/D [61 0 R /XYZ 133.768 603.982 null]
+/D [92 0 R /XYZ 133.768 332.339 null]
>> endobj
22 0 obj <<
-/D [61 0 R /XYZ 133.768 576.067 null]
+/D [92 0 R /XYZ 133.768 303.703 null]
>> endobj
26 0 obj <<
-/D [61 0 R /XYZ 133.768 556.157 null]
+/D [92 0 R /XYZ 133.768 283.793 null]
>> endobj
30 0 obj <<
-/D [61 0 R /XYZ 133.768 538.103 null]
+/D [92 0 R /XYZ 133.768 265.739 null]
>> endobj
34 0 obj <<
-/D [61 0 R /XYZ 133.768 514.741 null]
+/D [92 0 R /XYZ 133.768 242.377 null]
>> endobj
-60 0 obj <<
-/Font << /F42 54 0 R /F60 64 0 R /F8 57 0 R >>
+91 0 obj <<
+/Font << /F80 73 0 R /F8 49 0 R /F69 67 0 R /F83 98 0 R /F59 64 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-65 0 obj
+99 0 obj
[TRUNCATED]
To get the complete diff run:
svnlook diff /svnroot/adegenet -r 895
More information about the adegenet-commits
mailing list