[adegenet-commits] r898 - in pkg: R inst/doc man

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Tue May 31 17:18:36 CEST 2011


Author: jombart
Date: 2011-05-31 17:18:35 +0200 (Tue, 31 May 2011)
New Revision: 898

Modified:
   pkg/R/glHandle.R
   pkg/inst/doc/adegenet-genomics.Rnw
   pkg/inst/doc/adegenet-genomics.pdf
   pkg/inst/doc/adegenet-genomics.tex
   pkg/man/genlight.Rd
Log:
A few fixes. Now up to importing SNP data into R in the genomics vignette.


Modified: pkg/R/glHandle.R
===================================================================
--- pkg/R/glHandle.R	2011-05-31 13:23:17 UTC (rev 897)
+++ pkg/R/glHandle.R	2011-05-31 15:18:35 UTC (rev 898)
@@ -286,10 +286,19 @@
     }
 
     if(multicore){
-        res <- mclapply(levels(fac.block), function(lev) x[,sample(which(fac.block==lev))],
+        if(random){
+            res <- mclapply(levels(fac.block), function(lev) x[,sample(which(fac.block==lev))],
                         mc.cores=n.cores, mc.silent=TRUE, mc.cleanup=TRUE, mc.preschedule=FALSE)
+        } else {
+            res <- mclapply(levels(fac.block), function(lev) x[,which(fac.block==lev)],
+                        mc.cores=n.cores, mc.silent=TRUE, mc.cleanup=TRUE, mc.preschedule=FALSE)
+        }
     } else {
-        res <- lapply(levels(fac.block), function(lev) x[,sample(which(fac.block==lev))])
+         if(random){
+             res <- lapply(levels(fac.block), function(lev) x[,sample(which(fac.block==lev))])
+         } else {
+             res <- lapply(levels(fac.block), function(lev) x[,which(fac.block==lev)])
+         }
     }
 
     ## return result ##

Modified: pkg/inst/doc/adegenet-genomics.Rnw
===================================================================
--- pkg/inst/doc/adegenet-genomics.Rnw	2011-05-31 13:23:17 UTC (rev 897)
+++ pkg/inst/doc/adegenet-genomics.Rnw	2011-05-31 15:18:35 UTC (rev 898)
@@ -284,7 +284,7 @@
 
 %%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%
-\section{In practice}
+\section{Data handling using \texttt{genlight} objects}
 %%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%
 
@@ -305,14 +305,14 @@
 \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.
+  \item \texttt{indNames}$^{\dagger}$: returns/sets labels for individuals.
+  \item \texttt{locNames}$^{\dagger}$: returns/sets labels for loci (SNPs).
+  \item \texttt{alleles}$^{\dagger}$: returns/sets alleles.
+  \item \texttt{ploidy}$^{\dagger}$: returns/sets ploidy of the individuals.
+  \item \texttt{pop}$^{\dagger}$: returns/sets a factor grouping individuals.
+  \item \texttt{other}$^{\dagger}$: returns/sets misc information stored as a list.
 \end{itemize}
-where $^*$ indicates that a replacement method is available using \texttt{<-'}; for instance:
+where $^{\dagger}$ indicates that a replacement method is available using \texttt{<-'}; for instance:
 <<>>=
 dat <- lapply(1:3, function(i) sample(0:2, 10, replace=TRUE))
 dat
@@ -330,42 +330,107 @@
 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.
+  \item \texttt{chromosome}$^{\dagger}$: returns/sets the chromosome of each SNP.
+  \item \texttt{chr}$^{\dagger}$: same as \texttt{chromosome} --- used as a shortcut.
+  \item \texttt{position}$^{\dagger}$: returns/sets the position of each SNP.
 \end{itemize}
 
 
 Accessors are meant to be clever about replacement, meaning that they try hard to prevent
-replacement with inconsistent values. For instance, if we try to set information about the
-chromosomes of the SNPs, the provided factor has to match the number of loci:
+replacement with inconsistent values. For instance, in object \texttt{x}:
 <<>>=
 x
-temp <- try(chr(x) <- rep("chr-1", 7), silent=TRUE)
-temp
+@
+if we try to set information about the chromosomes of the SNPs, the instruction:
+<<eval=FALSE>>=
+chr(x) <- rep("chr-1", 7)
+@
+will generate an error because the provided factor does not match the number of loci (10), while:
+<<>>=
 chr(x) <- rep("chr-1", 10)
 x
 chr(x)
 @
+is a valid replacement.
 
 
 
 
-
 %%%%%%%%%%%%%%%%
 \subsection{Subsetting the data}
 %%%%%%%%%%%%%%%%
+\texttt{genlight} objects are meant to be handled as if they were matrices of allele numbers, as
+returned by \texttt{as.matrix}.
+Therefore, subsetting can be achieved using $[$ \texttt{idx.row , idx.col} $]$ where \texttt{idx.row}
+and \texttt{idx.col} are indices for rows (individuals) and columns (SNPs).
+For instance, using the previous toy dataset, we try a few classical subsetting for matrices:
+<<>>=
+x
+as.matrix(x)
+as.matrix(x[c(1,3),])
+as.matrix(x[, c(TRUE,FALSE)])
+as.matrix(x[1:2, c(1,1,1,2,2,2,3,3,3)])
+@
 
 
+Moreover, one can split data into blocks of SNPs using \texttt{seploc}.
+This can be achieved by specifying either a number of blocks (argument \texttt{n.block}) or the size
+of the blocks (argument \texttt{block.size}). The function also allows for randomizing the
+distribution of the SNPs in the blocks (argument \texttt{random=TRUE}), which is especially useful
+to replace computations that cannot be achieved on the whole dataset with parallelized computations performed on random blocks.
+For instance:
+<<>>=
+x
+as.matrix(x)
+seploc(x, n.block=2)
+lapply(seploc(x, n.block=2),as.matrix)
+@
+splits the data into two blocks of contiguous SNPs, while:
+<<>>=
+lapply(seploc(x, n.block=2, random=TRUE),as.matrix)
+@
+generates blocks of randomly selected SNPs.
 
+
+
 %%%%%%%%%%%%%%%%
 \subsection{Data conversions}
 %%%%%%%%%%%%%%%%
 
 
 
+% % % % % % % % % % % % %
+\subsubsection{The \texttt{.snp} format}
+% % % % % % % % % % % % %
 
+% % % % % % % % % % % % %
+\subsubsection{Importing data from PLINK}
+% % % % % % % % % % % % %
+
+Genome-wide SNP data are most often stored as text files with particular formats, with format of the
+software PLINK being the most popular.
+Data with PLINK format can be read into \texttt{genlight} objects using \texttt{read.PLINK}.
+This function requires the data to be saved in PLINK using the `-recodeA` option (see details
+section in \texttt{?read.PLINK}).
+
+\texttt{read.PLINK} has the advantage of being able to read the data by chunks of a few individuals
+(up to a single one at a time), which minimizes the amount of memory needed to read information
+before its conversion to \texttt{genlight}; however, using more chunks also means more computational
+time, since the procedure has to re-read the same file several time.
+
+% % % % % % % % % % % % %
+\subsubsection{Conversions within R}
+% % % % % % % % % % % % %
+
+
+
 %%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%
+\section{Data analysis using \texttt{genlight} objects}
+%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%
 \subsection{Principal Component Analysis (PCA)}
 %%%%%%%%%%%%%%%%
 

Modified: pkg/inst/doc/adegenet-genomics.pdf
===================================================================
--- pkg/inst/doc/adegenet-genomics.pdf	2011-05-31 13:23:17 UTC (rev 897)
+++ pkg/inst/doc/adegenet-genomics.pdf	2011-05-31 15:18:35 UTC (rev 898)
@@ -28,7 +28,7 @@
 << /S /GoTo /D (section.3) >>
 endobj
 20 0 obj
-(In practice)
+(Data handling using genlight objects)
 endobj
 21 0 obj
 << /S /GoTo /D (subsection.3.1) >>
@@ -40,553 +40,877 @@
 << /S /GoTo /D (subsection.3.2) >>
 endobj
 28 0 obj
-(Data conversions)
+(Subsetting the data)
 endobj
 29 0 obj
 << /S /GoTo /D (subsection.3.3) >>
 endobj
 32 0 obj
-(Principal Component Analysis \(PCA\))
+(Data conversions)
 endobj
 33 0 obj
-<< /S /GoTo /D (subsection.3.4) >>
+<< /S /GoTo /D (subsubsection.3.3.1) >>
 endobj
 36 0 obj
-(Discriminant Analysis of Principal Components \(DAPC\))
+(The .snp format)
 endobj
 37 0 obj
-<< /S /GoTo /D [38 0 R  /Fit ] >>
+<< /S /GoTo /D (subsubsection.3.3.2) >>
 endobj
-40 0 obj <<
-/Length 982       
+40 0 obj
+(Importing data from PLINK)
+endobj
+41 0 obj
+<< /S /GoTo /D (subsubsection.3.3.3) >>
+endobj
+44 0 obj
+(Conversions within R)
+endobj
+45 0 obj
+<< /S /GoTo /D (section.4) >>
+endobj
+48 0 obj
+(Data analysis using genlight objects)
+endobj
+49 0 obj
+<< /S /GoTo /D (subsection.4.1) >>
+endobj
+52 0 obj
+(Principal Component Analysis \(PCA\))
+endobj
+53 0 obj
+<< /S /GoTo /D (subsection.4.2) >>
+endobj
+56 0 obj
+(Discriminant Analysis of Principal Components \(DAPC\))
+endobj
+57 0 obj
+<< /S /GoTo /D [58 0 R  /Fit ] >>
+endobj
+62 0 obj <<
+/Length 1079      
 /Filter /FlateDecode
 >>
 stream
-xÚ…VÉŽãF½÷Wè(£êZTZŽ“ =˜&h$¾%9häò’x™‘än8_n%ÉÝrÅ*²Xäã#el|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·y—nÃ)2íx×(7Ûï‘éx	¥}„Ä‹‘R @ú€Ê>Œ
-*[	±9#Òuž7l>"Œ!¢Ñè¹<ôf0€éÞß‚AEF›]–{g)å“DÖäUˆ,˜"k´…÷ŸÚ”D•ÃÅuv4,ªˆ8HÖw’:Æ8gŒí3«²ÚFÐf
-rg²ÿ;P[Ͳ4\ë÷˜FùÆEKb}ÿ[Gšëí= (ô¥œþÀ0ÛÆ(WØ78ǁ"œÏmáé\Þ?.bØãÐ+
-ò;Š6vÚ– j#%ŽP~Ú8D*ìá7qZ|íwË›¥X—؈1šwŒ”ÚK“HÜwOßf?÷÷AêŠtÓJvbÑhPY^?¦	<°õK¬OòqöÃ$Àøú3M—µ´nÇ8QLzjØëfþ-,g¶LÞ)tÊÝô±­Âp/ׁἂm7Þ8ys_¦SƒÅ¦×vIˆB›Å°ÝîÍÔ:	t˘õl6}oÿ•®Eå^œ#+ÿÌ·è	³ΓµTþ>¸w ÀÁvFö:o¦¯ðKæ«)®NÂAƒ
-¦ÑŽâéFÛÒŘí"‹Ÿ?£¬)Üû™_‡vš5ìª9°—W)Ã>6 :’¬¯l4ŽJ*xØ\¸%p‡ûo™²|=i>¾ £p8s¿ºB¨Š_R\ZhÐLf`„’¬â‰!¢RLÝ…¢MŒ…Ý,ùÓ	uóé|ªáßHSÚ’f\Q¨B…Ó^ù²ä˜oÿxü²zøˆuPÝ
+xÚ…VKsÛ6¾ûWðH΄0pL;µ'™IÇãêææÀHÔ£‘DG¤ìq}÷’’•æ@rìû}X°HÖI‘Üß¿øþ6¿¹½³e¢gÊèªLæ«D»J9ë§+eƒIæËä)ýxÈtZó{ƒWÏgÖYn‹"]7 ã¸Ýoá½ÈáõŠ:Kx5¬óˆ> ¬Ó¥8ëkŸÎ}~†¤Â4)ï•×e’­‚öœS½l²
+ƒš^lÎ6â‚2ÆÀ6I[ƒkeá…ɬoŠDƒÃª2¨Ÿ;£´ñ‚Ífó
+æÏ7Ésí!mS¥ŸÛ}fü°r¤pœH¶?VÙYÉ~¾Ô¨úƆ“ùÀ²)@Öô€é;€nïÊ2ñ*8ÇàX¼Kr[)ïœ`ƒÙaùú#¦±ˆi\ó&¾r­òU U½GÈKxö
+A‰û(KãJxpX¡Yš2]ÔÄZû!Û.2ÒïL Zù–åf=Òê&RlSXKí…jhÖSf$Ö²R£þ[7æ÷žN°E˜Xø€wà­v½D<d#'Ë,¯Ê‚ÊH%€ç9âÞU.*ͼhXõYLñ÷¬ò4Z“ñ¬:ƒ°tjf‘—¨ŠD¶S"ŸádƒšyõŸZœ8"®(<Þß$O—寜àª%z‚¬©€“ÜùӡƪG^qT‰†-þ/¢¹ˆ¨!$×Û;UÍüyÁË=V‹ÞƯ'´òJ{ˆøLq;î'¸HÄB,[&ªQ®(†q7?ÎMùˆêÔ‰X‘Æ'Aœc!ÎÍ’'Ù4KVlþ.´“µ%B¢ôF,ÎwF”›PÕÚ0­´Bí0¯®ã„™n‚4t,
+
+Cwv…Zè×>1Ÿßû‡æèâ1?Yy'î×’òUÎT­G¬?ð¦^c{”LǝÖ–âÇI´ŽR‹•¨RË¢+Æ)¢
+	û¶»2‡ –¹q%ÐX§¿ l‡ºKÂ)‚çû›D²áÒˆý%ßë	¸h]KÕvÍŽ!ÆÉÕ±¡­Æ²2qnh¥-ÆÛDÒ~‰EGí¦§s^Ûá<[ê›KéH¦õýY°•N¶Õѱåš9²'ïÔti£è†.’>ªƒŸMf %ƒ‡é§±Zâi^¹ô´\ôc´Å‡ÞƒÍEÞñ	œVÁ_R;·~4~Kþ•³‹‹Û¹ø(~’›Û›½®í_Ö”ömd°x@¥—Øî#Þ1U©tâžÆvÒ»¢É¯ð‡O?G>7A§¿óg7©×ZÜ×k!aà¯Ípånp²H÷5ÞXc(?sÄku’³t<”(Rk|Aëf×ò±E‡DØWVÙGònÄë'‘„zRœ‹œŒ,ºÊú)¡RÌNÝ8·wþ¶‚3Ž¯ÖR•À–ÜŸó!þùM-þ˜ßü“`
 endstream
 endobj
-38 0 obj <<
+58 0 obj <<
 /Type /Page
-/Contents 40 0 R
-/Resources 39 0 R
+/Contents 62 0 R
+/Resources 61 0 R
 /MediaBox [0 0 612 792]
-/Parent 50 0 R
+/Parent 73 0 R
+/Annots [ 59 0 R 60 0 R ]
 >> endobj
-41 0 obj <<
-/D [38 0 R /XYZ 132.768 705.06 null]
+59 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[0 1 0]
+/Rect [346.812 477.77 353.404 485.537]
+/A << /S /GoTo /D (cite.tjart05) >>
 >> endobj
-42 0 obj <<
-/D [38 0 R /XYZ 133.768 667.198 null]
+60 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[0 1 0]
+/Rect [444.422 477.77 451.014 485.537]
+/A << /S /GoTo /D (cite.np145) >>
 >> 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 >>
+63 0 obj <<
+/D [58 0 R /XYZ 132.768 705.06 null]
+>> endobj
+64 0 obj <<
+/D [58 0 R /XYZ 133.768 667.198 null]
+>> endobj
+61 0 obj <<
+/Font << /F34 65 0 R /F39 66 0 R /F20 67 0 R /F44 68 0 R /F49 69 0 R /F54 70 0 R /F56 71 0 R /F8 72 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-62 0 obj <<
-/Length 637       
+92 0 obj <<
+/Length 912       
 /Filter /FlateDecode
 >>
 stream
-xÚÕ•ÁrÓ0†ïy
-åƒ\I+Ë·Ò˜„Sá`\ׄIâLl˜áíÙ•ìÇɤáÐƒíµ¼þWúvW’¬b’ÝOd÷|½˜ÜÜ%Ž)ƒ±š-ž˜ˆS›1›¤±†„-ÙŸÕ‘â›o˽ÕD_ï&
-…$ÛU,îQÑæbgµ%AÉ„V±SiR‘p:áoQCóv‡ju$@òG´~àU´ËŒÄûy²¡­tšÃ™˜û(Yˆ¢C”*­òïMÙ`˜Ls"¼ù5Vóïh•E·¢Ã ¤éÙ 7wÙÁ:‘¡3†	…ÓH:n:FaE¿#wà¬5ÎÕ Œwûˆ^ïñšû	)¾ì#€ŠACÿÓ«H¼i	!q̫׸.ZÒm‚ŽâÕª#UI¯õš’8Z¬K5QÔ¹KDÊ+¸„ÇÑ$”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þ“JšXîš®_ê͘§{¹<¯:ó]¿‹±ÍWa˜Õk¿'dZS¹–žq¾N79m¿¨p—~ƒðße"é|˜MÑRÇóÍTö²êÍÔÛ’jªèy­û&Î7Tt{*4²òTÂ/~8l¹àÍ!ð­÷ß'Úv@{Èõ–ƦóÙ)¸`å?WÏþ«ÂsËhÅ„CÖ\ç7‹Éo[àO
+xÚÕ—KsÓ0€ïý>Ê«zËæVRÚ)0L§
+§ÂÁ$n&¯‰]˜þ{v%ÙcÇÉ$}PÊÁ±¢(»Ò·O±h±èüˆ…÷ûáÑñ™‘WT*#¢ámÄ¥¤Ö¤‘Ñ–
+©£á8º!ƒeÌÉ"–œTE3*ãïÏG±h=‰üàê%¦QF3#
+dQ"8͸õ¢xœdB“!HµiË8‘ŒŒatϨšze(¼Þgt“Ã2A䝍–Ôk^Ë $Íò>Ë¢5© (ü‡Ò
+ĉä'ŒŠQ8Q[©ÔÖîTz|Ö>'0Ì”ŠÛЁ›  ˜ãߏϬl-öª@Œ[v
+«¾Àsé6ÄÉ´ÐÕ 9•BÖz'JIRVˆ9æ“Î%á\x> [z9œLf…Ÿ™øu9G#ö›YA(Ͳ}/ÍØ,ñ¯MpÃkàõìk'ZsÚ Û´`‹½°'hë f`ãÜ<UºâêpèóXXçÈ(»Bá«ð%,œ8å;l •þKœ»+ûÔ
+Ñ{¨oÄub3j„èF·ôqwŠdªÜ‡‚Í‘6†ø¬ñIŽ÷œS?Ñ·Œ²,}„é:[Tšj›Õÿn…{1Š›ÖÆ -X0=(Ü®µRv}Pú€O8’|-Û‡Ó磑³z鼧§Þpùb~Qo9|É6¿J÷E3ë&MéãØ3¼¾9±,*gå:;6Pqê.ä·qŽßò^·ú­ÁÛ¿r%”œ?…¥,}T:@ŽÜh¹ˆEJ~aÆB¿\—îrÑ÷ÍìÿõÍ­$÷Ö˜P5¶à¬cœ+C†àzý¼¥ôSMÑ .Ó{§]õ+ŒP”gM–ºu¹aîMÕKâm†ý³@'ÖP­ä.Ò"¾˜¯bèΖ$0nû5"\/ç>%\~¾øòisgéë|¶‹ˆD¿ã7mÅïráÜÍ‘øU¨™›¿êõ~æÍxÖ“`mö&ÒÒT§Ý;ÚÒ›¸¾$Ÿ=„†KVñÞÒ˜píºýWkL4”0îlXs¢ŒÓÐñ ÕnN.×µKŒÂ`•Ï|È–s—© nçM…«•ÿõd‘ãjD¥ŸþÆ4Ã+ÌàF¼p<ý'ýÇã"Í´8‰VÑœ¢oŒj`óÚ1r~
+–¾'Á´¿Hwµë_¹õ
+ñÜZ¸»`Oqîär°®4ìù%°ù™ÃåJ	¡Xj”­oÔíņG Ódo€
 endstream
 endobj
-61 0 obj <<
+91 0 obj <<
 /Type /Page
-/Contents 62 0 R
-/Resources 60 0 R
+/Contents 92 0 R
+/Resources 90 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 ]
+/Parent 73 0 R
+/Annots [ 76 0 R 77 0 R 78 0 R 79 0 R 80 0 R 81 0 R 82 0 R 83 0 R 84 0 R 85 0 R 86 0 R 87 0 R 88 0 R 89 0 R ]
 >> endobj
-51 0 obj <<
+76 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [132.772 634.321 212.801 643.188]
 /A << /S /GoTo /D (section.1) >>
 >> endobj
-52 0 obj <<
+77 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [132.772 610.471 237.867 621.27]
 /A << /S /GoTo /D (section.2) >>
 >> endobj
-53 0 obj <<
+78 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [147.716 598.516 321.094 609.355]
 /A << /S /GoTo /D (subsection.2.1) >>
 >> endobj
-54 0 obj <<
+79 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [147.716 586.281 342.813 597.4]
 /A << /S /GoTo /D (subsection.2.2) >>
 >> endobj
-55 0 obj <<
+80 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.772 564.643 203.925 575.442]
+/Rect [132.772 564.364 335.948 575.442]
 /A << /S /GoTo /D (section.3) >>
 >> endobj
-56 0 obj <<
+81 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [147.716 552.687 239.511 563.337]
 /A << /S /GoTo /D (subsection.3.1) >>
 >> endobj
-57 0 obj <<
+82 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 542.665 246.455 551.382]
+/Rect [147.716 540.732 258.37 551.572]
 /A << /S /GoTo /D (subsection.3.2) >>
 >> endobj
-58 0 obj <<
+83 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 528.219 338.09 540.08]
+/Rect [147.716 530.71 246.455 539.427]
 /A << /S /GoTo /D (subsection.3.3) >>
 >> endobj
-59 0 obj <<
+84 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 516.264 420.061 528.124]
-/A << /S /GoTo /D (subsection.3.4) >>
+/Rect [170.63 516.543 278.226 527.661]
+/A << /S /GoTo /D (subsubsection.3.3.1) >>
 >> endobj
-63 0 obj <<
-/D [61 0 R /XYZ 132.768 705.06 null]
+85 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.63 504.867 329.543 515.706]
+/A << /S /GoTo /D (subsubsection.3.3.2) >>
 >> endobj
-65 0 obj <<
-/D [61 0 R /XYZ 133.768 647.382 null]
+86 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.63 494.844 297.962 503.751]
+/A << /S /GoTo /D (subsubsection.3.3.3) >>
 >> endobj
-60 0 obj <<
-/Font << /F59 64 0 R /F64 66 0 R /F8 49 0 R /F69 67 0 R >>
+87 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [132.772 470.715 331.794 481.793]
+/A << /S /GoTo /D (section.4) >>
+>> endobj
+88 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.716 458.481 338.09 470.341]
+/A << /S /GoTo /D (subsection.4.1) >>
+>> endobj
+89 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.716 446.526 420.061 458.386]
+/A << /S /GoTo /D (subsection.4.2) >>
+>> endobj
+93 0 obj <<
+/D [91 0 R /XYZ 132.768 705.06 null]
+>> endobj
+95 0 obj <<
+/D [91 0 R /XYZ 133.768 647.382 null]
+>> endobj
+90 0 obj <<
+/Font << /F63 94 0 R /F68 96 0 R /F8 72 0 R /F73 97 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-70 0 obj <<
-/Length 2655      
+100 0 obj <<
+/Length 2656      
 /Filter /FlateDecode
 >>
 stream
-xڝÉrãÆõ>_ÁÒ	¬Ûh Ë’L”Øqj<IÍ('Û„HyHBHËJ~>om $4Éä ±—ׯ߾4âÅv/¾{Ëïïß|ó­/Ö™ÔeÉâþaaÓÔäY±È|n’Ô/î7‹#»\Y›øèû¥ŽËÔF'tír•ÆÑæ\ãì±¥½ŸïÿúÍ·Å¢4e–dˆ/^¬kŠ¸`L? œKòhÓ Žãråó,êaÜüþqõX#Blq;§ëp£^ÂÁn´{D´E ¦gGB
- Ï|èP}^&œ£Ýº=< k-o:vP$‡¶6Ÿ=щÇ^9äÇZSz‘LU×L‚z„^ï…T³\屋îwŒÎÙ2êÏpÁ*|âýꀤœH5’Øórû ¿I¤"<þ#y×¼»q…C=‘pÛ^®…•ñíª½roANRæ!I¹?ôsœ6!U!hÛñY@ÆÕqƒwá*¶¿ Á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ùèý3’ˆBµŽCêÌzõ
-t¾=ïΨVw"øUã)¬¬Ùš#OY Ñý5]¤ç·œ²r”’¤4ÞZ`”¨ü`àe¿V}_g”Ôš4IôÐ-ÚƒøY£Ãþ¤6$0oò<Ÿóö–´²[Žƒ'ÆÀ“Š$	Då£lkˆÛ<RRŃš(äbpK–x-[:ã3§ìlÅa£8±%»Cû»’…³¬Ó‘,ð®ç]ˆZ”.‰Ì!lkh„Å“`Vúê RJ3ò…”ˆÓ‘Åh”jÁW²lpp@ÍŸ÷£@ÆfÁ»„f#$0’…bSª³è{Áø6½Šú¤nÐæ&Ì!Ì)87ÏÉÈŽ_Bdo­Z¤8úòv.¢´¤8ëbì“Óª–””aw0˜ÔÕQÏpf¢ÉÈ07¼"&ãŒÇ•«)ÈYËÍ© *96s-îK’af™þ"…ÞÏ^Ü‘m΄™	¾4õ×]ô`R—àz%•Á„SÝ3Ê¡¶†ë^xá§ØzÜþMDJ¦[ÜÏ‚–d—¦Žƒm-A#OÛU§á5'À6]ð!®­ðü~Z%PÓÌH€êÄVÝ©.¡8“4ÞótÞëϪ5R}‘,ÔɤÔ"d¼=¨R܇º¨×Z•èz#”‹”‚m¨ZH8 ʳÞùðÓ¥ÇüWpÎÏåvç²™d«Áö;­Êqa7ªÒq®â¤ж¢½©*‘ö'ç5ñ™‡³DƒÁ‡+Š7{u6çie†ñº²–ŒÀP°¶9#rg8O{'@–&¦HSF–H×t¤D2âŽ%Í]ÔR„ƒ¡§!ð“%"ãS?\@ôéÕ‹XÒzb Ö2`>Lc“Ù|’X)«ŽRê3Äû"À¿©!ª¢–Aˆ~à_6^µ\är×9Ávê*WA™c\9¥0i¡•I菊!p]gIç+‹¯-ðP¨.Ô[l1jC
-¶µN&iedyš€$Ý!07DÅ—RìÙËÝÏ;ÉÌÔ,à
-ŸŸhl9±)‹r¦$2ÅGñ1ÔÖÚú؏CÌ¥ôOŽµ–g“j ˆ¥’ú¨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"WjN<O)D"ãµß§6XQ~¥ã¯ôؤ~»HègÅ´JÔyG¬R“Ë‘!ÔU!VÆò¼ƒD7}ÇyÔw›žõÍðÜñÊ^ûÜí¹ÚÊëQ	ÝËYX¯52›ÞZ9˜3ôÚ”BšVjž_Ì&
-.®Ã;	öp¸BeöF¶{11?h¬B§ñ²U}žÛ^´ÚØ´§ÜL†zº¦‚ËÄÕò&p[³|’"lŽM¦ã§¼ß^ó”IùÐI9MïL½:èYÚ3‡RÚ¥¨žÚ!GàÚUL–—'¯T’Ž<Þ
-/ÍlÓ›Ÿþ¹,KB£7W’;	&‚	Å[²OµYÞäÞÎÆfö²æ¥¢šŸÅ‚…½ú ðÁäl†ÅØäI1×Ò†²y†ÃÔd™žy½]†Ú!Ïæ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(2“gEÖ¬Ó§ñÐúÉëk­¹1–Ú*0Ž¿PÕÚÆÉ×ô>ðšpª£Òë€Í”¬~Ïá˜Ã3l\}½Ð×f ž¾6ÇN™ºfce3g’<Êïפ&Šø«rªíÐâÁO&…üõv0‹°ÐGûNÊo\’ÝG)ùÆðå$¯À´§02ѯxDÍfFûáa—wYÒÅÈ Šñ{ŒXå­”ö$Žéç¤ðö‘r•Ü\kÙäšMßUßÄÆ£ÏÄ‹n»ãß½ùÇ‹Ü”9¶ŒÔ?ZoÊ2çÛ~‡åšŽkÒC÷"«Èýõ³ÀøI©žž§(|ºãBÙüSóÀÌÆ7Üþp£ ŠÃ§È˜)FÊu”S¯ëMâßu§R¤
-óæ“ô³Hß
-“ñ#Å—ú³F‚›òü*gl)ò{F¯
-ûÂ释ºZlŒó¼ˆzˆePd>::	Ö–ØÄ‘ÿ¾3O-;‚d\Ü­¹/‹‡²^CÛÇÍø£bnⲸ`‰ÎÚæü!
-LŽo!<5[ù06^#f;f¾Þ!ÕÝß:¤êïßd
-ŠõE]L½5¤}K)wÒ®£	öÔ¶ž†Æ‡»Qqëð+4 û›ºs¥õvBÊÂzg\U
-ÄÈ¢ɤ˜?ß¿ù‡qb
+xڝÉrãÆõ>_ÁÒ	¬a4ºË’L”Øqj<IÍ('Û„HyHBHËJ~>om $4Éä ±—ׯ߾4’Åv‘,¾{“Èïïß|ómfÆÅÖeéâþaa¬ó¬Xd>Së÷›Å‘Y®ŒI}ôýÒDÇ¥5Ñ	]»\Ù$Úœkœ=¶´÷óý_¿ù¶X”q™¥âK«ÔÄER0¦ 
+Î¥y´iÇq¹òyõ0nþ	ÿθz¬!¶¸Óu¸Q/áà7Ú="Ú"PÓ3Ž#¡€g>t¨>/ÓÎÑnÝž  5ŒŽ–·
+;(’CÛ
+›ÏˆžèÄc/ÈòcL\z‘LU×L‚‰z„^ï…Ôx¹ÊÝï3eÔŸà‚U$øÄûÕI9‘j$±çåö~ÓHExüGò®ywã
+*†z"ᶽ\+5âÛU{åÞ6‚œ¤ÌC’
+rèç8%2LJªBж㳀Œ7ªãîÂU$l‚çv
+Âoal
+õ5¨AèšÓE¨OÁ|Ú}ÏK¤Ÿ_IÓd,€†(aáq-B¨zÒNA03ܲ]¥0àÊ‚(‘”ª³ëíyErf1óB… ҝE™¶=ñÚ¨EŠ
+À)ÙgWÕª`<Z­¾alg¼çQÄI÷’øHØUÇ[R8Z4b;«ãt=™ä£ïPM`wå}J†,xoIMÍ…x³¨Ùð.zæSí£_p‰™ ‘È6ê€vÃv,vÀ8SÕ±÷Ž	!þö㈠çÙZ²Õ„¯Œùbße	gEðvd#~Ž2Ú!` ¨¼Œ~J|ÓOþŽ‹03¼þ¬úÚ1¶ƒj‚‡>|¦mvÕ“ìlxtZ÷½œo
+/ÃÍaúîºuFS]ˆšfög¬`æ¥svm\>zÿŒ$¢Pã‚:3^}oÏ»3ê‚Õ]…~Õx
++k¶ƒæÈS–HtMéù-§†ÜŽrCš–±7%*?ØøCÙ¯Uß׌ئ©ºE{ß bÔ‚`ØŸ”Æ„Fàã<Ïç¼½%­¬Æ–ã Á‰1ðä"I
+Qù(Ûâ6‡Tñ &
+¹ÜÀ’%$^ËÀ”.ö™Sv¶â°ÇQœØ’Ý¡ý]ÉÂHÖv$¼ëy¢¥K"sÛañ$˜…•¾:¨”lB¾q:²R-Ø@êJ–
+¨ùó~ÈØ,x—ÐldƒFÒ¢PÌa
+Bu}"2 ߦW‘BŸÔ
+úÁÜ„9„9çæ9ù ÙñË@ˆì­U‹G_ÞÎE”–tg]âƒ}rZՁ’2ì&“º:êÎL4æ†WÄD`œñ¸Ò`õ/9k™¡9@%§Â†`®Å}I2 Ì,3Ñ_¤0ÂûÙ‹;²Í™03Ág­ç¸î¢_¨ “º×+©”&œêžQý°5\÷Â?%Æãöo"ÂP2Ýâ~䀰$;kÛZ‚6Fž¶«NÃ%jN€Û6]ð!®­ðü~Z%PÓÌH€êÄVÝ©.¡8“4ÞótÞëϪ5R}‘,ÔɤÔ"d¼=¨R܇º¨×Z•èz#”‹”‚m¨ZH8 ʳÞùðÓ¥ÇüWpÎÏåvç²™d«Áö;­Êqa7ªÒq®â¤ж¢½©*‘ö'ç5ñ™‡³DƒÁ‡+Š7{u6çie†ñº²–ŒÀP°¶9#rs,žöN€Ì¦qa-#K¥kºR"qÇbsµá`èiüd©ÈøÔ}zdõ"‘´žÆ k$+¸1 MâÌä“ÄJYu”R§˜!Þþ-ÈLeQµBôÿ²ñªå"”»ŽÈ	¶SW¹
+ʜؘSŠØZ™„þ¨×u–t>veñµ…
+Õ…z‹)FmHÁ¶ÖÉä"­Œ,O¤;憨øR*€Ý {¹ûy'™™š\ásâ-gâ"‰Ë¢œ©‰LñÑÁA|µµöƒ>ñãsG)ý“ã@­åÙ¤Z#Àbi†¤>jÓX¿,‡Á¨ôEPöý…HƒöB-ôˆpëÔòo-¡H»pʵÛUÈ"fH±89¶ä§ÒxYWv¶¡ÿ¹å½õ™Ž~­RÒÄYæðQ/ICëÓ]]8ÀÄ~Böy Zs ?Ž)H‡R¬{MzÄ~ê á4¼i‹„;ä¨Ùà!'•A¶{ÜQ ²zÑP+Wü›÷úFY¡ +Š¶`¸µvF"9Z¸®6P$rõ¨æÄó”B$2^û½5)ÄŠò+¥Ç&õÛE"@?+¦U¢Î;Ê`ý“šœX¶ˆ¡®
+±2‘çì ºé;Σ¾Ûô¨o.€çŽWöÚçnÏÕV^Jè^îÈÂz­‘ÙôÖÊÁœ‘ ×Z
+iZ©y~1›4p¸¸ï$ØÃá
+•ÙÙîÅÄü ±
+ÆCÊVõyn{ÑFhcÓœr3êéš
+.GWË›TÀmyÌòI‹°96˜ŽŸò~{ÍS&åC'å4½3õê g-hÏJi—¢º5CŽÀµ«
+˜:-/O^V’Ž<Þ
+/ÍlÓ›ÆÞþ¹,KC£7W’;	&‚	Å[²OµYÞäÞαÉÌeÍKE5?‹{õAá=‚É;Ø‹Iœ§Å\KÊæmœezæõvj‡<›CýD‹¿_F=§Ì™À“ÅIš­’Æ÷hw	ÍG…?~ÜÌîyãf‰õ!bw7X,&Zñk	¤¡†µƒï.í–´jJ' ÍiËŠÆœú|ªçaaÖ€ò$I0Üh÷Q=jƒ¶€Ž#Ä‚ó•'=Ü"žO·M/m3¦ã“8Mƒqÿ£ð³Ø»à!ôˆFq´€(óNx’Gp“ÔÅ#Š,γ‹"kÖém2´~òúZknL¤6†
+LÅ‚ã/Tµ&…qúµFý†|†&œê¨ƒ´Çú`3%«ßs8æðW_/ôµ€§¯Í‰S¦®ÙX™ÌÅ),Mä÷‡kÒ‹8Šø«rªíÐâÁO&…üõvÐ&Å Xè£}'å7.Ƀ|cør’W`ÚÓ™èW<¢f3£ýð°Ë»,ébd Åø=F¬òVJ{ÇôsRxû°\å7×B6¹fÓwÕ7IìÑg’E·]„ñÇïÞ€üý"Ë[FꍏË2çÛ~‡åšŽkÒC÷"«Èýõ³ÀøI©žž§(|ºãBÙüSóÀÌ&7Üþp£ ŠÃ§È„)FÊu”S¯ëãÔ;¾ëN¥HæÍ'ég‘¾&ãGŠ/õg27å)ø9T.6¥ÊOì½
+4ì§*êj±1Îó"ê!–A‘YøèÓI°¶Ô¤Žü÷]üÔ²C!HÆÅÝšûB°x(è5´}ÜŒ?*æqR¬"1ÐY›œ?¤Éñ-dƒ§f+ÆÆkÄlÇÌ×;¤ºû[‡Týãý{‚´ ˆQ_4ÑÅÔ[CÚ7”r'í:š`Omëih|¸·Ÿ±B°a°©;WêPo'¤,Œw±K¡JY";ùóý›ÿ CMaÐ
 endstream
 endobj
-69 0 obj <<
+99 0 obj <<
 /Type /Page
-/Contents 70 0 R
-/Resources 68 0 R
+/Contents 100 0 R
+/Resources 98 0 R
 /MediaBox [0 0 612 792]
-/Parent 50 0 R
+/Parent 73 0 R
 >> endobj
-71 0 obj <<
-/D [69 0 R /XYZ 132.768 705.06 null]
+101 0 obj <<
+/D [99 0 R /XYZ 132.768 705.06 null]
 >> endobj
 2 0 obj <<
-/D [69 0 R /XYZ 133.768 667.198 null]
+/D [99 0 R /XYZ 133.768 667.198 null]
 >> endobj
 6 0 obj <<
-/D [69 0 R /XYZ 133.768 439.267 null]
+/D [99 0 R /XYZ 133.768 439.267 null]
 >> endobj
 10 0 obj <<
-/D [69 0 R /XYZ 133.768 410.631 null]
+/D [99 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 >>
+98 0 obj <<
+/Font << /F63 94 0 R /F8 72 0 R /F73 97 0 R /F84 102 0 R /F85 103 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-76 0 obj <<
-/Length 1655      
+106 0 obj <<
+/Length 1687      
 /Filter /FlateDecode
 >>
 stream
-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»â_ôˆ?’Н( Ý£íKžd“is(¼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µ·T†siœ&F²­¾…ãSIb}¤R¿æBÀùrÏ"mšD˜ÜôHÉQ/yú-H²vWV+í¼¹[1ãöŸ€êÄç1ì_²mt\ofç˜"…Zw¬1iE…_äôv§æ‹\›ètÅ›·-»ÇdÎOa`T‘:ÖB$lð0‘ÐçP'ÑÚSÈ!*7>î'¼\JñÕN\qw8YEnøå½ä¼T)úRÏö—~ü;æg®g™*2mЗÌpJ'bÆpRÂ!ªo¥žŸ3â]@?§º'¾æð ?†ƒfX?¶ÊXËâ_¿¯ùŒwuT5eÇN¢YĵóKPœ‘wÐõ l¦t!U¤å
-„œóN„µKb\*eörÍ1d,ãœ+ˆÊç%¿töÆïËU\ˆ_b^œnW,ø;ò-…øxÅSL™åÈ[ãL^xecaèS°;N§KIñ^AHN´Í®wÜ7Ôóý’ÊsU˜Aã~°5îKŠŒX­aI”Šò‘% "ë8YŽXÝÜÓ³ó(ñe®cpÑ(ž?<P6¯¤u¦L’Œ«ñfŽZî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½‡Ö_ù ¶ß¾K•6î)ÁŸ²—ï’…ŸwžœòžÜ륰i¿­99¨ëÍ©…¶­0•W†}àÿ–‡}áµå›Å}ƒ 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¸L‡l‘¾jõ䪙´Æ‰Ý(b^,,—ÝHCH«
-èaFA‰=µÏš'nåTZÜ~ãÝ"·ý¥0·#EûÀ
-x”$8}í9ZѴȢ߈c㜩©[ƒž-\x1¡ò‹­(c	'=|
-St«oäÒ€µ¢‡Š ²¤Øþ…Õ7¡k—‡¡]ݍ؟WV1¶¡^T-YßþŠ€Tíû{‡ÿÌÜ»ËUX†£%ýjr×#7ùë{¹¥öê³;gÈ—~)ÄØÿÄOƒ÷õ æ˜Ë‡?ae#O¨q‡‡òh•)GGÉWc¼%å_3TÅ7eƒä?aƒ‡.0¾u²Î<òõWトiêòœ	q’¦§×àn8C†ôåáN¾ˆJTF¶ CäRÜH¸f˜\—þºîlyèœèF·ƒ®ãÈ< „dÇ>ü¼×p@þªØIªšèÇ®o(Q³+T‚&âB幤†}ôôŸ/žý
-A[&
+xÚÍXKÛ6¾çW
+ÈÀš!)ê•4ES )ÒÃvÑì­éAkËŽÙr-{7ûï3/J”öÑÝlRô`‹âc8óq曡ôd5Ñ“ßžéÑó—óg/Þfù¤PEjÓÉùrb\®2ã&i’)'“óÅä¯èƒ5zú÷ùïÝ:X‹°e`€&·Smá·Ã/Þ„'*í'¾œÎœ‹£÷§gÓYÛh‹Êþá{]­¡}øȃín:³iTÍ¡û?hãæ<´¦
+máÚj/Û—5ÎX˜‘ð5ö¯ÔØ’PÙ­ÌL¡2›…ù¸‡‚_
+¿~ó›0ØTmG0 ò+Ö™¬9BÇlùžÇš%?6`Tˆù¡AÓ+ø-¸“q¡É¡ðä%Iô	'#š‡û‰S¥Óø	€œÂo”€ÒÒ)Þ öJ\<fGç×´rðhʺÙÁ /AÓ©½ÁYm»?X1‹Ð³>èDÃÛé›–<)1¤Þ}(8ÐL»' PÓî“Ϩ~ [”[V¹ÙyÛ­÷n+"]ËfºÇEÜa!.ñ‰/G
+•ïì» Öä &º¾åøŠí}q±#!½²«D/1VÚÀ7â1«
+½¢ÙTþÌáp²yBö%±¯­®`ÿDÂÅEŸpþüÀ!‡ý%G´ãÈ^ÉɪÏ@h7$s§ؐ8p“«ãÍŸ[˜`²q´]ggëÖ$ÀB­[Ö˜´_Å 6§Õ­šÎrm¢wKž¼m“iØ2ªHRÖB$lp3‘йY+ǵ§3‡c¹ôOôtÂÃ¥qµaß×wP”½ÈX£¼—ìˆ*A,õdéÛ¢cÂÙfªÈ´A,5˜þ‹?ÁN1Qu%¼ðœ¹õ‚òÅsâ‡ÐÓQ.m€ù6l4q1!uX§Œs,þõkñš÷xïð©£y]¶õ"?ž]Yc¬AèAÙLéBbNË
+¤®³V„5¡|*¥÷bÍgÈ(XƇÅÏK^túÆÏË•-Ëc‚È»í’ÿ@hÐPȳ+îâ^ŽxaH¤‚‘QÎJuñì¶IÊîRÒy¯)q‘œ ù#áÕð8¯è›!•çª0ö!¥Øj»"#–ˆê°){¢å-K NÖ±OFd9Òy}C/xÍzÒ#Ç—98Ž‡„Ôp¸%l^I4êL™8FãåµÜ“ÎGv.›æ›´ñ…•ô–{Ü)Í ì9JÞú¡_ÅíûÀ6I
+§˜?í8v~â¼ÙÐ4‚rˆAn³9ÃzäÀ*A¯„üÆãK|'ׁ‘ü¸DÉB"d•0šSYjCñCLθQ=‰,GEeË£Ž3qP§ÑòZ$ÜyçS,(È'6l“ýÇQµ‡2¼N-™Ð âkY{ãk!{ì<ð³â0Y¹£GË¢ù‘i^â=´þ<È‘·pûÍÓO¥Múèªÿ¤/Ú%Aï${²Ëûì^-$KöÛŠƒJ¹ÎœJ¶‘AáÅ‘ƒÇÞ 
+7»8ú%l*÷¨9R¥YFy$6É |fšüq6N+ϧ&¤•ž1ç
+Të^i¤ßÈ»•wÍöSÓOEWóÙi”*:u¸’²§$®üÎÄeü•
+r¤ä-yë²–†¬ÕÒM‚S–îîw§,£áB<NY躶ǃƝ>,^«û:Vf׃::©º'ÁrèJŸîB§‰—i“M ÒG­ÝŸ5'­¡DÊn¾$­d¸l2A:U87dºkìW(¬E³ó¸ç­œB‹ëo¼~ä®»~´îzÖuQ¿ã¸ôÁ'`¨C“"‹þ ks΃œ×¸ 9k‘ö»¸ˆÒQò5‹“»Iä®C˨ÐE_j¹2 9(äyâž,é`ÿÁÕU ÂiǾVÝ
+R?U­¬lM…>¨Z²¾ÝM>`(í»K‡ÿä\ïËexª,l/.Õ¾Ý	¦V”[ª­]6; ½ä©üâþoüR<Œ_ÒoÇ/wAÞWÇøí- PÆ5nþÙ¹ QÎ7:Š¿Y*À+Rþ-ªø®© þORÁm·_7¹ÔÜó%GÃ/‘¾„n*ñR²9uïÀm¿‡4é³Ãµ|V#–˜3¹‚>¤8‘xÍ¥`rUú»ºß²áfÇ;.µ|	£«AÛòÉÜB„d‡ÿäH$Uó|«¸‘«šè綫&ïÊËi¡bü*a•çâîÞÝ=ö€‡MÅ
 endstream
 endobj
-75 0 obj <<
+105 0 obj <<
 /Type /Page
-/Contents 76 0 R
-/Resources 74 0 R
+/Contents 106 0 R
+/Resources 104 0 R
 /MediaBox [0 0 612 792]
-/Parent 50 0 R
+/Parent 73 0 R
 >> endobj
-77 0 obj <<
-/D [75 0 R /XYZ 132.768 705.06 null]
+107 0 obj <<
+/D [105 0 R /XYZ 132.768 705.06 null]
 >> endobj
-74 0 obj <<
-/Font << /F69 67 0 R /F8 49 0 R /F80 73 0 R >>
+104 0 obj <<
+/Font << /F78 108 0 R /F73 97 0 R /F8 72 0 R /F85 103 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-80 0 obj <<
-/Length 1619      
+111 0 obj <<
+/Length 1620      
 /Filter /FlateDecode
 >>
 stream
-xÚ¥XKÛ6¾çW{’Ñ5CêAJAÒCÛ¤EA8è!Ùƒ,kmµ¶XÚf7¿¾ó¢(Å^$›`!‹âc8œoæ›áj•Ù™†¿ãf¦}ûõ¯ô¾gðþÒ8v`?Žû6Œÿ´|ôøE®gNN›Ùòzf’D9›ÏlæTœd³åzö.z÷nn"su5¿Zþ«Né"—!CWóE–˜Hç~‚I•)ÜhqüÅÅiA­Y¡
-[Ô
-–ÅFFÖ½˜çiÔ{X}Ïž?êüÜáàå|‘$I´ö#%—GœÅíºìࣁgw‡=qTA»=Ìcý7ó¨ÆÉ$vÍã+Táø¿ÜÑÐæð³Z+}yÔ×Ðڐî	Ÿí”>ƒ ígUšðYdó”(F‘ð¾Þ RÇ÷:Óи…·™Øî>´ÉŒ`=¿¾4¿ ´Ñ˜Sî‡	`/Òt¶H3•Ç‚ÕrëMžGû’­C
-[‰Ž‚?Y›†Úk~ã .o:þ¦yàgXP³¸aøX8š+4{i#$ïµ±UCJ.yÌ0Q–v¸É¾›jÔÒ8RnjE.½ð§6à¡Y6ñбK^\b«BùvŠLi›O¼Bü›ÚO¡½àfWîáãÃŽ›iýã÷ÒGÿ=ÇJϱ¦Ù%+F]Ïóåë·ÐùÜ{j‘«ØG¶(A€4x¬7k1Lþ©Ñ°½¢ûäõXN(Mv¦èmzÞì÷] 7}¿sm°ObXµDÁòœþµšŠ¸Çà$È)N'§»e垊iñ˜õG<Ì´Þ¼|¿+:üÅ哱ÉFŒ÷`“ÝÖÒÑÍ¡á‚]q·òÊZktT#E«œ·ùcõõL¼—×F‘knW-Eç92µÌÈ6ÚË"ØFo ýòUǁT=Ñ: Z>~a‹1åF%Y
-Z’v$IäxÙøLIª¬Kü" c‘¥ †îçO¶Ååj±åÊ?GÜÜ×Þ‡eAS[/È(Ä1p»ŽÝ”. Ú4¶b¿/½9ÀfЛ
-4Ô¾kn¡b:¬¥îøÔ|ábýÖ"0‚ŽAL¸qä¦i>ë)ëšäï'üÆOˆs§’Üy[’ü‰Ñ
-4ý4âÄõ9qZA‘Y·§B
-•Z?Ì”O6÷8µ1±¯·»óÜÏ™|]Ó9Í"(¾?y³t
-÷¦B{ì0´')k…qJ— œù½9~ùÚoŸEp»i궢mM^“e–"¤@Äìh5ÄVR/öwóíQ¦Úh4*þ&ÙüšæÉ,1&"’Üð‚úVäÑ‚} ÄQªÞö¨F“°µ.ùaƒaÅë|œqhÎØ£zŽÖÓÔ».žMd>ƒTvµ(Øq7¦·Î‡’L
-EÀšªÑ5wí‰ÌÉ,¸×¾Äˆ@‡µÿÛÛš˜â\ìÊ|º¬¸—	ñXiªè4úmhR¹ã¬Bjd-üXá¨|ÜúÃέtúÔ[ÏÙLh%eJ™Díè@Làr•C0NˆÀ×yZòpYÉfM%g‘AhjŸ·´\C#Šìð|’©ä"!á!'ZChߺ“•=÷ãyt<ð
-¹4v
-±ô&’%¼Ñ¦åºöúC°GmG5Ãjìƒ³Ë¡W¨‘	˜A»Ú‘ãvg(KUlcï_1rõ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ûÛvudžAÒ	ÿAbùþ‰ŒÝÿŒÊ±%~¡’€nZì·Á†Œîªsö¶P	¸	8°Êµ8V6Yø|ùèGð|±
+xÚ¥XKÛ6¾çW{’Ñ5CêAJAÒCÛ¤EA8è!Ùƒ,kmµ¶XÚf7¿¾ó¢(Å^$›`!‹âc8œoæ›áj•Ù™†¿ãf¦}ûõ¯ô¾gðþÒ8v`?Žû6Œÿ´|ôøEžÍœ*œ6³åõÌ$‰r6ŸÙÌ©8ÉfËõì]ôîÝÜDæêj~µüV/œÒE.C†®æ‹,1‘Îý“*S¸Ñâø‹‹Ó'ƒZ³B6¶¨,‹*Œ¬{1ÏÓ¨=ö°úž<%~Ô;ø¹ÃÁËù"I’híGJþ.8‹ÛuÙÁGÏî{⨂v{˜Ç.úoçQ“IìšÇW(¨Âñ¹£¡Íágµ,Vúò¨¯¡µ!!Ý>Û=(}ÚϪ4á³þÈæ)QŒ"á}½A¥Žïu¦¡qo3±Ý}h“-Àz:~|i~h£1¦ÜÀ^¤él‘f*«åÖ›<ö%[‡>¶:²6
+µ×üÆA\ÞtüMó>ÀÏ° f!„qÃð±p4WhöÒFHÞkc«†”]*ò˜a¢,'ìp“}7Õ¨#¤q¤ÜÔŠ\záOmÀC³lâ¡c—0¼¸ÄV…òì™Ò6Ÿx…ø7µŸB{ÁÍ®ÜÃLJ7Óú	Æ漏þzŽ•žcM³KVŒºž1æË×o¡ó¹÷0Ô"W±lQ‚ iðX=nÖb˜üS£a{E!öÉë±&œPšìLÑÛô¼Ù3î»@=nú~/æÚ`ŸÄ°j‰‚å9ük5qÁISœNNwËÊ=Óâ1ëx˜h½yù
+~Wtø‹Ë1&c“ïÁ&»¬¥£›CÃ12 »ân7ä•´Öè¨&FŠV9oóÇêë™x;„/1®>"ÖÜ®ZŠÎsdj™‘m´'–'D°Þ@ûå«Ž?©z¢u  ´|üÂ%cʍJ²´$íH<’È?ð²ñ™’TY#‹ ŒE–¸Ÿ?Ù—W¨Å–{(ÿ}ps_{C–M-l½ £[ÄÀí:vSºH€jÓØFˆý¾ôæ ›Ao6Ð PGø®¹M\„Šmèp°–ºCâSó…‹Mô[‹À:1áÆ‘˜¦ùD¬§¬k’¿Ÿðk? ΝJrçmIjð'F7ÐôÓˆ×çÄiyDfÝž
+)Tjý0S>ÙÜãÔÆľÞZìÎs?gòu=Nç4‹ øþäÍÒ)Ü›
+í±ÃО¤t®Æ)]‚>pæ÷æøåkh¿}þÁí¦©Ûjˆ¶5yM–!Xˆy³£Õ[I½ØßIÌ·G™j£Ñ¨ø›dókš'³|ĘˆHrÃê[‘Göu€G©zÛ MÂÖºlä[„
+:„¯óqÆ¡A at l8cê9ZOSïºP<z6‘ùRÙÕ¢`ÇݘÞ:J25kªF×Ü´'2'³à~\cø#N ÖþookbŠs±S(ó
+Lè²â^&Äc¥Y¨¢Ó4ê·¡HåŽ;°
+©‘µðc…£2ðqë#;·ÒéSl<Gd3¡•<:”q(eµ£ 1ËUÁ8!_çiÉÃe%›5•œFe }¨}ÞÒfp
+(²_ÀóI¦’‹„„‡tœh
+¡} |ëNVö܏çÑñÀ7äÒ@Ø)8ÄÒ›H–4òF›–ëÚëÁµÕ«±3Î.‡^¡NDv&`íjGŽÛq ,U±½3l|Å<ÊÕILgè=5prê%oÆ°‡s$£D_wÜßžK..0‹oHî!‡¬8ÀH›Ïâ¿ãÞk®ÚͨÔÌ`|¤³–×ÂEí^r»NU¦ã)Ít’oÇ.k'.ßäø"@£(>“ñŒ=S;•QÇXíÆröt</ÑÊ7ÁðàÍMèõ礧@ž €¯†”¤Ž”ž Ãb¥Ž×#‡EýŽÜ@¨ÛzÿîN1Z¸B9gÁn9TBp¢„ÉnçØ
+ý+{¨/@uœòT¬ÎÌ¿Õå3e7-GèÒHC-µãúõMÊÝ•H/»N¢ßšÉ­¹#íƒ<mÎ\*;zrƒCãýøþ
+^›¸ÏHrüŸ’µ¿mWGæ$ðO$–﯑ÈØýϨ[â*	è¦Å~KlÈøç®:gÿ!a•€›€«\‹ce“…Ï—þBù|”
 endstream
 endobj
-79 0 obj <<
+110 0 obj <<
 /Type /Page
-/Contents 80 0 R
-/Resources 78 0 R
+/Contents 111 0 R
+/Resources 109 0 R
 /MediaBox [0 0 612 792]
-/Parent 50 0 R
+/Parent 73 0 R
 >> endobj
-81 0 obj <<
-/D [79 0 R /XYZ 132.768 705.06 null]
+112 0 obj <<
+/D [110 0 R /XYZ 132.768 705.06 null]
 >> endobj
 14 0 obj <<
-/D [79 0 R /XYZ 133.768 198.947 null]
+/D [110 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 >>
+109 0 obj <<
+/Font << /F85 103 0 R /F8 72 0 R /F73 97 0 R /F63 94 0 R /F84 102 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-84 0 obj <<
-/Length 2121      
+115 0 obj <<
+/Length 2157      
 /Filter /FlateDecode
 >>
 stream
-xÚÍXKoÛF¾çW¾˜"šË7¸E[4
-7	b=$9Ð"-1‘DU¤ãêß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î×5rWƒX3?ŽBgKãªEÎj *HTâlQÀ§Š=éÆ£©zK@¦j—ˆÌîIP³w9
-ÙÖ!‰¯jÓòìäÊÖMûO0ˆ’žãŽº@m`ÊX3˜ì$s³ØÑbU_¹™J™×_PµpŠ Û|÷ÀHâ”<hJ²Ix<ljÔAHþFVÔ°>Šœ/¸Žd«„s„ƒo
-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â»fŸlþßÁÿ­œ9"s ÜÀ7›^"ùLÜ
-=‹\’è0ñ
-Y,™¶utz¾ëù}¥¢¯Ç´6`
-fhÎÐ
-
-f;Š›Ì°‹“!pV‘m„a!~’¯Ø=N0mü+}C»u,Až@òcWy¾m ‰xqGB!3k|Áwüœ~ѐŒh‡Ú
-n`±M|,ž&®ðݳcŒ"6¥câœý¢9?ŒÁ‚ø'(yYñ•AîI|S¾,Vè¯÷Ŭ4W•qÔ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‚¯KiµùnÒ‹| ’%Ùh€'ûÛ,~ ­n¯ÂOY¡‚æèûØ’MwKÌ×Í ¤ë™µ•‘S­ã7áÚRAE6C›;=Pg€z`£>ÉÏYƘ´¯ëð¸*£ÿ8<rXÅÇôRá’0.§æ=Yîy 6Ší)uÚiQ¬‹Çº×áÒÐýV»ÖÂÖïñ²Í^%uÍsçb\Hñ~¥Ã3…F~~¢¯°œ=#¨Å\—ˆw§T+Ðh!bÆBPëbŠcSÆcíÇ¡irˆF‰öl$Šã …#·:Q¬KN¾Û3=Êôœ×Žö=$¡ƒða
-H+&ŠJ i’ôƒÒCeb»¶ŒºÐªÈ])[¡dö’>ÂWHà+—¹cU6$5,²/°ýÈhƒj¹ÐùbÚÂç#g‰å
-–“,¬Tpä¼Y¤bNÄx9¤8K &1ãŠûÆêšq™ô.¶äv'®®êP•¦n虞q#â<<å×Ï%ñ„(W·VpØÕ܏ˆ_ZI1Uµ¹!˜ƒ®ÆB«jÁ÷†o¿Ø¯‘€TrµÝôÐ|ÃÅÅýÚ:€êÔYÁè/×†o09ªêÙšOÑA½,´aoriÊ5û1»?Ö$pln$‘ÎYÉxŠtÏx‰W‘x#©ßß¿^G"±%ñð_‘$¬ÜFJTéG¹ñëOhÒý ôëG®(>ãò(\òA×!ßmÎW¹ô†8» — ‹©Å²å—°íðÞÌ“
-¤
-Ÿûm)m·òbŸxÎ-<)ZÕÏ‘;¯™f/¾ä’ôF¼$	¹ly€Œ®%-ì(i«L‚øxDÄ­ñuÄî»óP×ø¦ ”õ‚šœyµçƒ´Éã:†°+RR•MÏðÄá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´ °:é¨_°áTDÕ¸·ä÷›gÿ¸h!
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/adegenet -r 898


More information about the adegenet-commits mailing list