[adegenet-commits] r888 - in pkg: R inst/doc inst/doc/Robjects inst/doc/figs man
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Mon May 30 17:23:47 CEST 2011
Author: jombart
Date: 2011-05-30 17:23:44 +0200 (Mon, 30 May 2011)
New Revision: 888
Added:
pkg/inst/doc/figs/dapc-014.pdf
pkg/inst/doc/figs/dapc-017.pdf
pkg/inst/doc/figs/dapc-022.pdf
pkg/inst/doc/figs/dapc-027.pdf
pkg/inst/doc/figs/dapc-029.pdf
pkg/inst/doc/figs/dapc-031.pdf
pkg/inst/doc/figs/dapc-036.pdf
pkg/inst/doc/figs/dapc-040.pdf
pkg/inst/doc/figs/dapc-042.pdf
pkg/man/dapcGraphics.Rd
Modified:
pkg/R/dapc.R
pkg/inst/doc/Robjects/dapc1.RData
pkg/inst/doc/adegenet-dapc.Rnw
pkg/inst/doc/adegenet-dapc.pdf
pkg/inst/doc/figs/dapc-006.pdf
pkg/inst/doc/figs/dapc-010.pdf
pkg/inst/doc/figs/dapc-011.pdf
pkg/inst/doc/figs/dapc-012.pdf
pkg/inst/doc/figs/dapc-013.pdf
pkg/inst/doc/figs/dapc-015.pdf
pkg/inst/doc/figs/dapc-016.pdf
pkg/inst/doc/figs/dapc-018.pdf
pkg/inst/doc/figs/dapc-019.pdf
pkg/inst/doc/figs/dapc-020.pdf
pkg/inst/doc/figs/dapc-023.pdf
pkg/inst/doc/figs/dapc-024.pdf
pkg/inst/doc/figs/dapc-025.pdf
pkg/inst/doc/figs/dapc-026.pdf
pkg/inst/doc/figs/dapc-028.pdf
pkg/inst/doc/figs/dapc-030.pdf
pkg/inst/doc/figs/dapc-032.pdf
pkg/inst/doc/figs/dapc-037.pdf
pkg/inst/doc/figs/dapc-038.pdf
pkg/inst/doc/figs/dapc-041.pdf
pkg/inst/doc/figs/dapc-043.pdf
pkg/man/H3N2.Rd
pkg/man/dapc.Rd
pkg/man/find.clusters.Rd
Log:
Added >10 new args to scatter.dapc.
Pkg passes check.
Vignette dapc half corrected.
Modified: pkg/R/dapc.R
===================================================================
--- pkg/R/dapc.R 2011-05-29 20:20:56 UTC (rev 887)
+++ pkg/R/dapc.R 2011-05-30 15:23:44 UTC (rev 888)
@@ -116,6 +116,7 @@
res$pca.loadings <- as.matrix(U)
res$pca.cent <- pcaX$cent
res$pca.norm <- pcaX$norm
+ res$pca.eig <- pcaX$eig
}
## optional: get loadings of variables
@@ -348,6 +349,7 @@
res$pca.loadings <- as.matrix(U)
res$pca.cent <- glMean(x,alleleAsUnit=FALSE)
res$pca.norm <- sqrt(glVar(x,alleleAsUnit=FALSE))
+ res$pca.eig <- pcaX$eig
}
## optional: get loadings of variables
@@ -393,7 +395,7 @@
## vectors
TABDIM <- 4
if(!is.null(x$pca.loadings)){
- TABDIM <- TABDIM + 2
+ TABDIM <- TABDIM + 3
}
sumry <- array("", c(TABDIM, 3), list(1:TABDIM, c("vector", "length", "content")))
sumry[1, ] <- c('$eig', length(x$eig), 'eigenvalues')
@@ -403,6 +405,7 @@
if(!is.null(x$pca.loadings)){
sumry[5, ] <- c('$pca.cent', length(x$pca.cent), 'centring vector of PCA')
sumry[6, ] <- c('$pca.norm', length(x$pca.norm), 'scaling vector of PCA')
+ sumry[7, ] <- c('$pca.eig', length(x$pca.eig), 'eigenvalues of PCA')
}
class(sumry) <- "table"
print(sumry)
@@ -479,17 +482,22 @@
##############
## scatter.dapc
##############
-scatter.dapc <- function(x, xax=1, yax=2, grp=NULL, col=rainbow(length(levels(x$grp))), pch=20, posi="bottomleft", bg="grey", ratio=0.3,
- mstree=FALSE, lwd=1, lty=1, segcol="black",
- cstar = 1, cellipse = 1.5, axesell = TRUE, label = levels(x$grp), clabel = 1, xlim = NULL, ylim = NULL,
- grid = TRUE, addaxes = TRUE, origin = c(0,0), include.origin = TRUE, sub = "", csub = 1, possub = "bottomleft",
- posleg="topright", cleg=1, cgrid = 1, pixmap = NULL, contour = NULL, area = NULL, ...){
+scatter.dapc <- function(x, xax=1, yax=2, grp=x$grp, col=rainbow(length(levels(grp))), pch=20, bg="lightgrey", solid=.7,
+ scree.da=TRUE, scree.pca=FALSE, posi.da="bottomright", posi.pca="bottomleft", bg.inset="white",
+ ratio.da=.25, ratio.pca=.25, inset.da=0.02, inset.pca=0.02, inset.solid=.5,
+ onedim.filled=TRUE, mstree=FALSE, lwd=1, lty=1, segcol="black",
+ legend=FALSE, posi.leg="topright", cleg=1, txt.leg=levels(grp),
+ cstar = 1, cellipse = 1.5, axesell = FALSE, label = levels(grp), clabel = 1, xlim = NULL, ylim = NULL,
+ grid = FALSE, addaxes = TRUE, origin = c(0,0), include.origin = TRUE, sub = "", csub = 1, possub = "bottomleft",
+ cgrid = 1, pixmap = NULL, contour = NULL, area = NULL, ...){
if(!require(ade4, quiet=TRUE)) stop("ade4 library is required.")
ONEDIM <- xax==yax | ncol(x$ind.coord)==1
## recycle color and pch
- col <- rep(col, length(levels(x$grp)))
- pch <- rep(pch, length(levels(x$grp)))
+ col <- rep(col, length(levels(grp)))
+ pch <- rep(pch, length(levels(grp)))
+ col <- transp(col, solid)
+ bg.inset <- transp(bg.inset, inset.solid)
## handle grp
if(is.null(grp)){
@@ -501,7 +509,7 @@
opar <- par(mar = par("mar"))
par(mar = c(0.1, 0.1, 0.1, 0.1), bg=bg)
on.exit(par(opar))
- axes <- c(xax,yax)
+ axes <- c(xax,yax)
## basic empty plot
## s.label(x$ind.coord[,axes], clab=0, cpoint=0, grid=FALSE, addaxes = FALSE, cgrid = 1, include.origin = FALSE, ...)
s.class(x$ind.coord[,axes], fac=grp, col=col, cpoint=0, cstar = cstar, cellipse = cellipse, axesell = axesell, label = label,
@@ -524,7 +532,7 @@
## add minimum spanning tree if needed
if(mstree && require(ade4)){
- meanposi <- apply(x$tab,2, tapply, x$grp, mean)
+ meanposi <- apply(x$tab,2, tapply, grp, mean)
D <- dist(meanposi)^2
tre <- mstree(D)
x0 <- x$grp.coord[tre[,1], axes[1]]
@@ -534,10 +542,8 @@
segments(x0, y0, x1, y1, lwd=lwd, lty=lty, col=segcol)
}
- if(ratio>0.001) {
- add.scatter.eig(x$eig, ncol(x$loadings), axes[1], axes[2], posi=posi, ratio=ratio, csub=csub)
- }
} else {
+
## get plotted axis
if(ncol(x$ind.coord)==1) {
pcLab <- 1
@@ -551,12 +557,52 @@
par(bg=bg)
plot(allx, ally, type="n", xlab=paste("Discriminant function", pcLab), ylab="Density")
for(i in 1:length(ldens)){
- lines(ldens[[i]]$x,ldens[[i]]$y, col=col[i], lwd=2) # add lines
+ if(!onedim.filled) {
+ lines(ldens[[i]]$x,ldens[[i]]$y, col=col[i], lwd=2) # add lines
+ } else {
+ polygon(c(ldens[[i]]$x,rev(ldens[[i]]$x)),c(ldens[[i]]$y,rep(0,length(ldens[[i]]$x))), col=col[i], lwd=2, border=col[i]) # add lines
+ }
points(x=x$ind.coord[grp==levels(grp)[i],pcLab], y=rep(0, sum(grp==levels(grp)[i])), pch="|", col=col[i]) # add points for indiv
}
+ }
+
+ ## ADD INSETS ##
+ ## group legend
+ if(legend){
## add a legend
- legend(posleg, lty=1, col=col, legend=levels(grp), cex=cleg)
+ legend(posi.leg, fill=col, legend=txt.leg, cex=cleg, bg=bg.inset)
}
+
+ ## eigenvalues discriminant analysis
+ if(scree.da && ratio.da>.01) {
+ inset <- function(){
+ myCol <- rep("white", length(x$eig))
+ myCol[1:x$n.da] <- "grey"
+ myCol[c(xax, yax)] <- "black"
+ myCol <- transp(myCol, inset.solid)
+ barplot(x$eig, col=myCol, xaxt="n", yaxt="n", ylim=c(0, x$eig[1]*1.1))
+ mtext(side=3, "DA eigenvalues", line=-1.2, adj=.8)
+ box()
+ }
+
+ add.scatter(inset(), posi=posi.da, ratio=ratio.da, bg=bg.inset, inset=inset.da)
+ ##add.scatter.eig(x$eig, ncol(x$loadings), axes[1], axes[2], posi=posi, ratio=ratio, csub=csub) # does not allow for bg
+ }
+
+ ## eigenvalues PCA
+ if(scree.pca && !is.null(x$pca.eig) && ratio.pca>.01) {
+ inset <- function(){
+ temp <- 100* cumsum(x$pca.eig) / sum(x$pca.eig)
+ myCol <- rep(c("black","grey"), c(x$n.pca, length(x$pca.eig)))
+ myCol <- transp(myCol, inset.solid)
+ plot(temp, col=myCol, ylim=c(0,115),
+ type="h", xaxt="n", yaxt="n", xlab="", ylab="", lwd=2)
+ mtext(side=3, "PCA eigenvalues", line=-1.2, adj=.1)
+ }
+ add.scatter(inset(), posi=posi.pca, ratio=ratio.pca, bg=bg.inset, inset=inset.pca)
+ }
+
+
return(invisible(match.call()))
} # end scatter.dapc
@@ -629,7 +675,7 @@
## compoplot
############
compoplot <- function(x, only.grp=NULL, subset=NULL, new.pred=NULL, col=NULL, lab=NULL,
- legend=TRUE, leg.txt=NULL, ncol=4, posi=NULL, cleg=.8, bg=transp("white"), ...){
+ legend=TRUE, txt.leg=NULL, ncol=4, posi=NULL, cleg=.8, bg=transp("white"), ...){
if(!require(ade4, quiet=TRUE)) stop("ade4 library is required.")
if(!inherits(x, "dapc")) stop("x is not a dapc object")
@@ -655,9 +701,9 @@
posi <- list(x=0, y=-.01)
}
- ## leg.txt
- if(is.null(leg.txt)){
- leg.txt <- levels(x$grp)
+ ## txt.leg
+ if(is.null(txt.leg)){
+ txt.leg <- levels(x$grp)
}
## HANDLE DATA FROM PREDICT.DAPC ##
@@ -693,7 +739,7 @@
if(legend){
oxpd <- par("xpd")
par(xpd=TRUE)
- legend(posi, fill=col, leg=leg.txt, cex=cleg, ncol=ncol, bg=bg)
+ legend(posi, fill=col, leg=txt.leg, cex=cleg, ncol=ncol, bg=bg)
on.exit(par(xpd=oxpd))
}
Modified: pkg/inst/doc/Robjects/dapc1.RData
===================================================================
(Binary files differ)
Modified: pkg/inst/doc/adegenet-dapc.Rnw
===================================================================
--- pkg/inst/doc/adegenet-dapc.Rnw 2011-05-29 20:20:56 UTC (rev 887)
+++ pkg/inst/doc/adegenet-dapc.Rnw 2011-05-30 15:23:44 UTC (rev 888)
@@ -364,25 +364,22 @@
different symbols for the groups.
<<fig=TRUE>>=
-scatter(dapc1, posi="bottomright", grid=FALSE, bg="white", pch=17:22)
+scatter(dapc1, posi.da="bottomright", bg="white", pch=17:22)
@
-\noindent This is still not satisfying: we need to define other colors more visible over a white
+\noindent This is still not entirely satisfying: we need to define other colors more visible over a white
background, and we can remove the segments linking the points to their ellipses:
<<fig=TRUE>>=
myCol <- c("darkblue","purple","green","orange","red","blue")
-scatter(dapc1, posi="bottomright", grid=FALSE, bg="white", pch=17:22, cstar=0, axesel=FALSE, lwd=2, col=myCol)
+scatter(dapc1, posi.da="bottomright", bg="white", pch=17:22, cstar=0, col=myCol, scree.pca=TRUE, posi.pca="bottomleft")
@
\noindent Another possibility is remove the labels within the ellipses and add a legend to the
plot. We also use the same symbol for all individuals, but use bigger dots and transparent colours
to have a better feel for the density of individuals on the factorial plane.
-We also add a customized barplot of eigenvalues in inset:
<<fig=TRUE>>=
-scatter(dapc1, ratio=0, grid=FALSE, bg="white", pch=20, cell=0, cstar=0, lwd=2, col=transp(myCol), cex=3, clab=0)
-par(xpd=TRUE)
-legend("topright", pch=20, cex=1, col=transp(myCol), legend=paste("Cluster", 1:6), pt.cex=3, bg=transp("white"))
-add.scatter.eig(dapc1$eig, 5,1,2, posi="bottomright", inset=.03, csub=1)
+scatter(dapc1, scree.da=FALSE, bg="white", pch=20, cell=0, cstar=0, col=transp(myCol),
+ cex=3,clab=0, leg=TRUE, txt.leg=paste("Cluster",1:6))
@
We can also add a minimum spanning tree based on the (squared) distances between populations in the
@@ -390,20 +387,21 @@
This allows one to bear in mind the actual proximities between populations inside the entire space, which are not always
well represented in susbsets of discriminant functions of lesser rank.
We also indicate the centre of each group with crosses.
-Lastly, we remove the DAPC eigenvalues, not very useful in this case, and replace them by a graph of
-PCA eigenvalues retained in dimension-reduction step (retained eigenvalues in black).
-<<>>=
-pca.eig <- dudi.pca(scaleGen(x, scale=FALSE), scannf=FALSE,nf=1)$eig
-temp <- 100*cumsum(pca.eig)/sum(pca.eig)
-@
+Lastly, we remove the DAPC eigenvalues, not very useful in this case, and replace them manually by a graph of
+PCA eigenvalues retained in dimension-reduction step (retained eigenvalues in black, similar to
+using \texttt{scree.pca=TRUE}).
<<fig=TRUE>>=
-scatter(dapc1, ratio=0, grid=FALSE, bg="white", pch=20, cell=0, cstar=0, lwd=2, col=transp(myCol), cex=3, clab=0, mstree=TRUE)
+scatter(dapc1, ratio.pca=0.3, bg="white", pch=20, cell=0, cstar=0, col=transp(myCol),
+ cex=3, clab=0, mstree=TRUE, scree.da=FALSE,
+ posi.pca="bottomright", leg=TRUE, txt.leg=paste("Cluster",1:6))
+
par(xpd=TRUE)
-legend("topright", pch=20, cex=1, col=transp(myCol), legend=paste("Cluster", 1:6), pt.cex=3, bg=transp("white"))
points(dapc1$grp.coord[,1], dapc1$grp.coord[,2], pch=4, cex=3, lwd=8, col="black")
points(dapc1$grp.coord[,1], dapc1$grp.coord[,2], pch=4, cex=3, lwd=2, col=myCol)
myInset <- function(){
+ temp <- dapc1$pca.eig
+ temp <- 100* cumsum(temp)/sum(temp)
plot(temp, col=rep(c("black","lightgrey"), c(dapc1$n.pca,1000)), ylim=c(0,100),
xlab="PCA axis", ylab="Cumulated variance (%)", cex=1, pch=20, type="h", lwd=2)
}
@@ -417,7 +415,7 @@
This is achieved by plotting the densities of individuals on a given discriminant function with
different colors for different groups:
<<fig=TRUE>>=
-scatter(dapc1,1,1, col=myCol, bg="white")
+scatter(dapc1,1,1, col=myCol, bg="white", scree.da=FALSE, legend=TRUE, solid=.4)
@
@@ -449,7 +447,7 @@
second one shows the originality of 2006 strains.
<<fig=TRUE>>=
myPal <- colorRampPalette(c("blue","gold","red"))
-scatter(dapc.flu, col=transp(myPal(6)), ratio=0, cell=0, cex=2, bg="white",cstar=0)
+scatter(dapc.flu, col=transp(myPal(6)), scree.da=FALSE, cell=0, cex=2, bg="white",cstar=0)
@
We can assess which alleles most highlight the originality of 2006 using \texttt{loadingplot}:
@@ -754,16 +752,15 @@
to groups; \texttt{ind.scores} contains the coordinates of the new individuals on the discriminant
functions; \texttt{posterior} contains the posterior membership probabilities.
We can visualize the information by different ways.
-First, we can represent the new individuals using a scatterplot, and see :
+First, we can represent the new individuals using a scatterplot:
<<fig=TRUE>>=
col <- rainbow(length(levels(pop(x))))
col.points <- transp(col[as.integer(pop(x))],.2)
-scatter(dapc4, col=col, bg="white", ratio=0, grid=FALSE, pch="", cstar=0, axesel=FALSE, clab=0, lwd=3, xlim=c(-10,10))
+scatter(dapc4, col=col, bg="white", scree.da=0, grid=FALSE, pch="", cstar=0, clab=0, xlim=c(-10,10), legend=TRUE)
par(xpd=TRUE)
points(dapc4$ind.coord[,1], dapc4$ind.coord[,2], pch=20, col=col.points, cex=5)
col.sup <- col[as.integer(pop(x.sup))]
points(pred.sup$ind.scores[,1], pred.sup$ind.scores[,2], pch=15, col=transp(col.sup,.7), cex=2)
-legend("bottomright", fill=col, leg=levels(pop(x)), ncol=2, cex=.7, bg=transp("white"))
add.scatter.eig(dapc4$eig,15,1,2, posi="topright", inset=.02)
@
Modified: pkg/inst/doc/adegenet-dapc.pdf
===================================================================
--- pkg/inst/doc/adegenet-dapc.pdf 2011-05-29 20:20:56 UTC (rev 887)
+++ pkg/inst/doc/adegenet-dapc.pdf 2011-05-30 15:23:44 UTC (rev 888)
@@ -76,7 +76,7 @@
<< /S /GoTo /D (section.4) >>
endobj
52 0 obj
-(Ensuring stability of DAPC results)
+(On the stability of group membership probabilities)
endobj
53 0 obj
<< /S /GoTo /D (subsection.4.1) >>
@@ -112,20 +112,21 @@
<< /S /GoTo /D [74 0 R /Fit ] >>
endobj
79 0 obj <<
-/Length 1093
+/Length 1101
/Filter /FlateDecode
>>
stream
-xÚ
VKo¤8¾çWpiq°±}Ì&F)µ´ìzºéú±@g¿õ°yt2»ÀàªrÕWßg\$û¤H>ßÿóüsusû¨ËDVBI£Õ.¥¥«+(½JVÛä9½Ëò²épÉàv[×ÀmÝâç"ÝÁøÔ±Éq®ßÕÇG´=fªJ6º[¸½¡5¹ð$ßñðb %FkÎèW}_}I¤tI®¤ðð¤<ï1Ã9Ë¡8èZóÊ=çúwaLYÊáé^%¯u¡`ôÙã
-[ ãðZp´f²Ñ¸+
-Ámh^^ìD ·®íUH(Â
ö¹´¥ÐNòR§
-û^°?Ô
-H*ýr:dÊ3Í D^8i ¡RUóu¦oì¨<þÆ%]àú)·ÞÚÀá
pÖD@váÐCËßŪf±r)pÆÃÀ[9«¤M_êKDzÀ;Ï -ºS¦<Ûlq&8ù1D¼&êhrGq\Ñçs¸Ú·
-0iÒáeZóaÎñh·¦ì F?,áY at sýR´mú«ª|zÒ+W¤O]ÔÌéi¼ZÜS=Û!Ï3#tûutÏßCG¶ß>ß5çÍJeúüX!èz¥J:`B4¶s(e2îJ,¦µ£N,(+¡µö±ê
-õ33Ü}\8m¨
-½÷÷ÅÉT]UÅåòíÇ1â¬N¿ñ×>@¾Ì_É,Xý×¢å{HÈzã":.~¢Æn§)\HÖOYxØÙGÚa¼ÝÛäu$9ÐkPªk~Ð"e±qÏt¢íSÜ`nÚ £Ä×õ¼yhg Sl¶§wrmx³¢(ü3±A&ÑsG15zY£Ô[A°ìÞøýËRPľÐË+~þ°ôíÌÐ+ëeúW%bBªH¡R@Ãnö"æú!þ/~iª (½ØK¥PÎDêïêǰдý°n¶úþ1YüsT1â,q°!ÂÀÔSc{±·¥é}ê¹ôVÈR}ã2ü±sWÙJnâ&=2¡TmâkW·óÆ}°²:blê¡zZoÙO7þÈ=ð@k~
-äîé:ù7´©#Vt4ÁBà!&Ølª¶y¡>\: Ýê¦ÝáxQoYFú´¿Ä=ó
=×=?ã¿£Saëph¢°¨ °G0T6ÿ@è¬Äºiò³ìG²
-¿rrU¤ÒñH¢ÿ\¶ÀÂfüG9·=©a¾£Þ>:8äx«, Ik¡aѼãõ:¸æV7ÿ°ø
+xÚ
VIoÛ:¾çWè(5#nuL¦@Aa ¼\[vz«$§ð¿ïlÔ¥ï "g3ß|3dl<ù|ÿÏ÷ãüêúÞÙDÊhïù:Ñ6(ʤÐ^ÙÊ$óUòÞd3ë´;gð:«ÙÂk±Ãé<]ÃøØ°Èq]ÔÇ=d¦L;º;x]PTxͯyø@6PmO¨Ï.û1ÿè LîѪÒý¼EOö§lf<ÙAÕwnÙ×ÿrße¦ náWó^gò vA
+î È 2W¥Üh«ÅªÎ|nêCÝôÇ¢RÆôÒ*¯<9Ë<Ñà»÷ågÚWª
+!Y§ó¬7<JìðürÜg&ô+
+ 2
+±ÊbçëE/¬hsýÀccM¨¾"Èõ½·IPUQ9ÀÅ\ô*>r¼Cäºf!êÞ³F¶fZ|
«"f°òUê"}ÞR:$]o^A64ÇÌT,³ÂQZð§x
+%öÐâ&q\ÒôIÝe ,ú´{ö¼S;Ê-È;ðÑHA[øæÜj )Êîñà«)«ô\7!OX*/¸N«DlxÛåÛÅÙ²Ò;Ã*lß`ùÜòü£dDC&L¾}¾"j<êôèqa ê §¢q1&1^Hs,LÔ×ɶTÎQ>F½Ä°~eS³§£ÊÜMÁ}?8ÑAp3þÄôãñ$;ïÒo<Û
+äëÁüQÔ¿6µ¯!U@ *Ð7Ù×qó#%v5,áfD²vðòÈÃ-½§Ú[_ýJU0©íOڱ̧ nNXdââÁüX(
+ê¯i?`ÕL£Èl( P
+é¶ãﲯïzè´Sô~&5Õ+ÖpØWÞ
u~§åÈqtÚ~qZì¯DVÕ[|ÏGiëÙÙMP f×É2ÇVÿð¿øÃX>±Zü¸æZiWFö¯Åá´3%ðôûJµtûöz*XìëoäGß#l3¸ôNqi Ókï« |ÑpÏ9ýÚ18¦&qI<Võû·
+~Â[
q¹âoSïú£Õ õÛ(üUmÕ\´ÒlÅä[@Æ¥_
é.ÖçجbGºFãGÁe»Y{ɵØY¬s;è³X.±fhça>ËA±=ÇÖùÄV¾ÿt6Чy*vq¡%·ã ǹ@:a^J¶T¶Ô'.óÕn¾ú|^Ñy× Ç)ê/77ü=ÇcïèûF½O(_Xp«
+ô7s¼¶jÒïï\«ªÂT·Î)çñª¾¢rñ7Öø4¿ú¬\
endstream
endobj
74 0 obj <<
@@ -164,23 +165,24 @@
/D [74 0 R /XYZ 133.768 667.198 null]
>> endobj
78 0 obj <<
-/Font << /F43 82 0 R /F48 83 0 R /F20 84 0 R /F52 85 0 R /F57 86 0 R /F62 87 0 R /F64 88 0 R /F8 89 0 R >>
+/Font << /F43 82 0 R /F48 83 0 R /F20 84 0 R /F53 85 0 R /F58 86 0 R /F63 87 0 R /F65 88 0 R /F8 89 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
114 0 obj <<
-/Length 940
+/Length 960
/Filter /FlateDecode
>>
stream
-xÚíXKoÛ0¾÷Wøhìêéȧ¡ëkÛiRìPìà¦Ij /8Nîפ$ÇI¦I´rplYi}$?aÁ0`Áõ s÷¯ÝÓ+î©Rt2é¤&Hu'RÝûà6<F<DU¿~Gº?N8bA9ìïkØaAd©HQ bÁw¬(ÅÐáw!ªiÓ(,¼§\½ª°ÊP¸ÿÎà6)ËD(·ê4
-pL© æ W§NoRA9gB¿ò
-F*ä#¸õ×Õ
IkÆð¦²l×í+?°µcò§Tÿv§AcoÓ¬ÂÍØ·¶ExÏó~`e#ÂÞÈÙyNTÎíkzSÝq)|X´³bRPiø R7pæÃå¨Û«WEv4nqí@< ÛxÙ¯ó±X
-0z8zÙ¡^DAPêÂA tK)ógÞóÐö6@L}Zà^ZÒª:Té@ý6D'|²ÈóI$Lø#¦uÙ¢uyILÏ8÷àçÝ»ÒE]>BN
-ÕÕ=vÁKaY? âí`·fÞÂwÆñÝaêxÆ»
-¶«É¨ÆÐÈ¡ílI{B"àɽHd*Fú}Ù!DæElûd{Æ<Ùn";TOdç¶ @ÿ#}ÌvöóÜѼGî\3W7L«BëN½;Þëq CSK7ê_»jÔU¼ÇHkËú8ß<y½M)gà¦þKªhÓÅ;{Øy-i@½?Ãrº ö¶yWqó]MÏGñ-.Øù.(ØhM¤ÙÜUïåZ¥SrºÒ0ÍâÀ¦Õl;Î`Ln\-â
ª
-`¹âF5£Yí+U3QþF;öÅNnûz~¢Âìîj¢!õ¾q×[`¡TÌŶ8¹íÖÙíTTöUk¢é~ÎÐjw½'õ¨f¼¯ÅGõà?ôôóÜ©I¬[¾ÜÕI:iêçc*æeÛ©µâ¶iµÀ¾%¬1PzµÕ6ònV[opÇEûãeSOàÙW³/ñÇÿCEâf¸i-)^ö7çJúXnKÉ÷K},Lw\³êi®U¢öĤÊÿ
-Ö\|Ù=ù$
-r&
+xÚíXMoÚ@½çWøhìOU´i{iUõõ`¡ #cÑ_ßÙ]cÀ@*%8íÎxß¼y3óÆó®/=ì_¼ûp«HªXxýÇ¥zqâź ©½þwë_÷gä~7WàwÿÛC̫ƹøy
+{ÜK£41d^(xò1Å0Úÿ
+6_W`BÉü;¸ZÂ1¬ã»ïônC³Tør¯Ï¤å*å
üêØúÀ*8çLHÿgVÃ]ÎgÙNù¶»§~1<©4=tzÂÈ×`lk<æ±Õ==ÐÐÁÛ«°aÅ0æ&¶ïh
8ÏàgQN?Ø8/IÕÂ<¦'ÅÂ÷@D7C
+NS
+DîF6|8]bpp4Öá¨)®àîÛKÜZOØNí§q,BFL¥,gÊ2
+R· JPJéÏm<³¡v¸ªdêÍ÷Ø.PÕ) Jê2=ÿÁ ;ÍfHüÞ¹4m²È¤Ë*"2]ã»?î½}VÙ¬Ë&hÂ3©º9ÇÜbòRdï·¨x>Ø] %ÏÑ»ÄéÝ®aV¸ÆÁÚ5bÔ`ÈF¡ýjE;A"àÈ=*d*tóÒSÌE
l}Ò#sN
ì°ª²KÓP ?§åßu'A`_¡²}øqiÄh1$:7íÁÜö
+e½Ó(`ß©ÓÇ{0qq
+bjMCþ
+H¸ëV_eÁ»´6ª/²ÁÄ7È[I5'5ò·\KEV(^q`ï© Æ- õñ «rIêmê,âäA W[¡(Vâ;(Ø{ì?l)¤ßm E³víTJ*Uä]QãÎseÆá6qd-ü¥mÿçfÄhWÛzöõ¼5k@ÜÆLð§.ò0Ä<e ãÈS7¡ª]UáçäëÎ(3º~ OØjLß¹»)ÎÚá]ZÓ©á~(³¶í83}ªÜÊ^AðvVuÇNè#uJµËåÍb+,9¨eâmrÅIÄd³?ÌlSÕ #Çî}H=[YuZ+þfÛÎÛï&I$ÞìwµIÓÍ}:¥Ñbi
+i>]ÿ@UceR´½[/îñÇýãCåN¶q¶%åËÑéf©¤ÏMì¾´üÈ´Ôç.öpªÉͦ¬y͵à°×b"Jbåþ3kþÔ¿ø}é
endstream
endobj
113 0 obj <<
@@ -279,7 +281,7 @@
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.772 459.039 325.706 469.838]
+/Rect [132.772 459.039 405.356 469.838]
/A << /S /GoTo /D (section.4) >>
>> endobj
107 0 obj <<
@@ -324,38 +326,42 @@
/D [113 0 R /XYZ 133.768 647.382 null]
>> endobj
112 0 obj <<
-/Font << /F80 116 0 R /F70 118 0 R /F8 89 0 R /F87 119 0 R /F11 120 0 R >>
+/Font << /F81 116 0 R /F71 118 0 R /F8 89 0 R /F88 119 0 R /F11 120 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
123 0 obj <<
-/Length 3013
+/Length 3111
/Filter /FlateDecode
>>
stream
-xÚ½ZKsãƾï¯àÍPÅÄbÁ Ø*$%väªØ)Ge§*Î"AYPråõ¯O?ZÉÎyôÌôóë&ûE²øæM"Ï«Û7o¿.
±qf]º¸Ý,LÅ
+./â4Ë·ëÅ¿"s±4&Í£µðrè.YO+üÚvÔ÷ïÛo¢«<'Ébfq)bÆälôC
-Ç-üëZ|Ý52QÅKÌ6eçß´i}¸H¨=-
-÷µ¾µ÷KeÑ=ö·øzVØFkòi4¿¥~øüÈý'mT2{ì<íÍÎ]Tðmx`ýïÄz
hÜk5;!ÐHc×ò?'ÆâëáÀ:9qOÞ$a\ô!<X^$º+!Qßíhg´ì¾;IÏî
-®jé Mµ8&SϪÛ#{ït7³];Ðë6ü¬qþNO×HïÏIÈ$w³\ Vy\æIÇ«yH±pqUd%ÈãÔ9`Bl+¯gúacëªE0f²£s²i¤xn !Ý?Íae9|d")÷£XÎ
W´¿ã$ÏÍcgóîÜIʸJ½,Þ½{7Ç,Iu8-AP)Öøn¢§ú
-èêçøWÁ³z~>!ó9Gð(¢®Ws}¦>Ñz¿oHw~aÚH`¡öÒ;¢Ü¨Ýóu^enãÂرíéY!.礶ڬ¹uËlÒ'a£a诮õ¤¾kðB_2W»òD
-,+ÒÑÒä*÷ÌìRôN§÷¶S"¸«ÝGÙ"û":k8x
-§ñ8<V,/BDPD[u¡Ø_Ó9ÚûXLMÛн;è¨v=3 ;)Âëä£]óª
&õBÔBÖÝwÕbØ»¸Ë¡ç`w´`s¦*`ùUt:Üôc-%K
-zxy£FðE#,hÄ-RD¿þHÊë
-þãEiI+lÂ2lìÓVìx9Õeê$K¬yº1Læ;"bk2zØ¢(WíÆ"lÙ
-«fabæ$v KßåÄàã÷}£B
Öó(+aé¥÷. FúXÙò÷tçS ñNÆöÍV;ÑÙÞPOǪ¬ÇË¥0O YÀ>l)³3ZNÒ»YáQ^|=Jw½f3¸rsPÄ>¨¢uÏlå¹Õe¡r8A"º
-~e|`®,GGÞL1ß$*:pøÖ§.*R%Ñ;òθźå¾@8
-Nô¹ó49Eî"a±FvÉWÁ:xùÝ÷8ôÇcHtF/öÂs
-ÔïX!ªØ ©ó$4££7¹×Ìл\ѺEô>JERáætTR£Øniº¸'Ô¿^vj úÃ#}ðªôÛG.Ï0`9/Ú9nÄÛ9Rè5=<bs²ÓÎy%$ " È&üó¨ lJ*«³¾Õü±WYÓùQÙMAI ½Mö#sñòóõ!Ù1Y ¥dæö(cç¦hÔá«ý"6¹gÈÕ\ÒËûÉã~àüsPÒ8XÏèØfÄE~ö
-¦ ý¬(Ǻ}`AC dd"Ëö>Bgýè½u- ³ì¤
-mi´tü]U,h+y Ò¼îö[Ú nR×%ûqרõBOlÉ^_2³±¬èYüü,øÂkvQdkåWpÙCÏÍáFºKn{ý
-ÚþÿàýYp(ª ®KþrüáÖa©,sPÔ
-Ü»hëPÆÖV³) ,±´N²göå#óîwÝ*| X²B[Á¤eFî1©ìËK(RäÝàôÔîDÞïG®¶CB:)jjÄíÀpÄòr@{ax~:À³ßs °Sô¾ê< ,sP¯oÓº.IÅp´cô¨A`ÿ~ñ3½r/8¾âó;bÜ$ÆÇEã
-·íÛÃÆ`7r @XyÁOf{ÿï -+Q1Ò÷,µq^I¹ 5¢y/v@JüO!&pÍV¡$ÃËMh´Q8]pÜ,§£ìu½¯èÁºçoÝ¢ÕVv iWª/R :ãAUALðLx ªG·_{ÆÐ¥è@jh1gæÂÞ"³±£*ÌëÒFÄeAÎr°¤ÍaϬå+PS¶kl©Áo_¿j=ÇO$¤|£©O[áäÃvØí$í9Tâ¡Ô;T¦¸Ô(
-ÊÆî¨vL #jߦtC>'k@³
¡"úök[«¥I§©
-5¶u,Z³fk3Õé¥R ÔéÿY¤þ,s¹GÏòzä
¸ávR¬ÿ"¶â# s@ÂZÿÀm¡ãåÉÏ3çØãØÙ7Z^n5ËÜ&£RÔPÊùËGªýú »&ܳ!Ìñ½è/'ÏiáÞñyòæs DHv)4uÇ¡>âââØ À_k|È¿éPÑ8ñVR¥ÅC$q^@Äù³JØìÆ0`RfzXbî%Lcï9=váoÕ{£Y0ó5ü@)Ytk(×ðNôläIm[1¼+{7¼¤òB弯¨MF;®c°kÌ©c!yß¼«!ÇC³ò14ªö¢@çP@Ac ïgA@ê}ÿØtþ¾þe5RvûÂg~
-Ëy6ãóÙNhîàóQ×gDb çºâÈâÌ3È8)&1ì±g"·\¯=/ùÙlà Û^³h%<é^Øt;°
-YÍóæ@_§ÖývÝÅeroc°".qjù½÷þw|Ì Kã )
-dqaÝLÙ|¥õõ:¬KÙB0
&ºLQlkøôA¤ðþ.zâ3ÕÌÉFûNÃÛ?ìÒË"énÉgîg±¬Øõªæê7º°~(-³ÊF7xsP¡açõAS~ÛÚ% ë"kBëäc$Å°ÄN
Ì*LѪ|P¦óg EZÁ<<D·;»Ù(É Çí0t9Lþ>FkÒuìðéÂ=âç®ê}ý^Ý\ÇüvÓò(Bõj¨Ã|´ k&ô¾´5¸Vÿ{®àõæß±@Ïç`,@ÕoU+¿Ös9N²"á!ö¾³¡#¾ryá ¸
ò½K,+«ªÀÍjKýoÃ. ö8R±ìLK@yõZßE\øi>ÎÝÇii~Ër¼Â? í57¨0×B¹¶²½^dæ%s Û|RÞ®o¹,BÄèìpIÔE7 ütmÆ˳ iþ*ÄeàF7ô _b f§2 7ܨB<Ð;/êÞ"@T\Ì£¦õüAK
ëû* IÇ>XØuz@6úX?ÑXû½±õ}Ã8s¶¡ÛÔU4]5fx'Ï¢KÁÊcJáUO2{îÃX+¿QÚØT$äõ=M odGûxÝZxc3/{_R~×Ù kEXgs¬/_hô6¸ ÛÑ
-ü@YOÝÕfFÊØïoeåÙ°;à ÎôÔV`ÈF«Ð{þ¬?Ck´ÖÖh]9èðªáî®%VRÌ £FôîÇÊƵevG®Úö(Û"¤îf¶0®!}ÄÒj\eg£1¹}ó?Äî1¯
+xÚ½ZYã¶~÷¯Ð©Ê&äTåav8ªØ[ÎÄNU®î¬D*âhÇ_¾ gìÆ3ÄÙ Ý_P6ÛβÙw_eò}yÿÕ7,ÕLÙÔX§g÷2&-\9syjÏîW³$j¾PJçÉ«¹J¹QÉÎí|a²duYbmßRß?ïÿÌUZå9QÌfmÒR(¥0ÉÙäÇ*{ø×6X<¬eþ¬J+§ÌVej$ÍÕÌu¼ë"YÿmíKÍv¾°Æ$[ìoðõ,±U'+òi¬Ï8OýP}âþoôdØy9x24;wI}Æ"-ºæõ Ê'âK½ÄI;Ú wâZëXKcÛð¿dÊâ«þÀ:9qOÞ=0.º,Ó¸«v%$ê7ÌNÞ@f¬_°OBmuÇS´(næS˲="ßø
+æ¶MO²Ý¥FkþåÎK¥9/\nùNÂÆ°a¼0UüÅ@© 7s£æ!ÅÌ¥UaJ§Ú9ÚÊz±½'Úb
+oþªÖ©ÊÍá¢1¿8B PÙ'@OÀU{ý%NpsssMFe@§ðCw¸¥s¿¯5]¤
ª>!ê#òbb) ¤Ïe½KmãÖ¨Kl,Í ÃZ;Öx¸ªà@K-Pv³:w +
+ÇPáq·'ò%M ãPÇwÔUf(¸RÎëRP-`Ûu¢^ý°ð¥¯n×
+Ü:R_6,r$Øv\À¢2!6¢,!ñzÅûÿÞá?¬\H¶;a0äO-çà»ñSpyl;F:]äUøO&Õý±¯·¨\¥'i=Ftíë0éA îÒÎÀ£-
M¢¥é¬|æ¯á=ñðÃbÊ0±i
+û@ £ÍÃZ¬h3Þ vH4a]'î;¶"ÔXÁäbþw¾Yè08ã
+ÉÛLmʵÛâíåĦ)â
ѹÀïJħ>°\Lù×ek¼_Îåä§yiAXº²|$píÞ.¸.{åJÝÔÌ
+ïà`{æBxs<yåU£æ%ßæj˶lD¶`hèé"*FWÍ8ãPîh4óL¾\ª1S*mÀY·Aé*_ðÂ%,÷£ái+viG7u£áÝZ½\HAiìå«O´²vhëoAÀ8ÉÈö÷3ÜÁÈd¸ûstMØÍU(ò^Îõ*ȧwjð¾°ÿè¹²c+HèÚû¢é¥ÿ»e f¢;бéwv2m´ÝZ;>³Ü[oö+OBqnbFMU$ß »Ø'}Æý¡W^rqܲn¸.+$½à)zSâvtk´Õü!Ùbð¡Wà:q Þ*¡ËÕEn¿ÿ·úÓ\)
¢mÇþúÀ+bñínXÀªT)°Z¥y&Ë=0ijÞâàcp·Kî|SøÞ·c?
+7à!D@-ÖºíàÎÛ}þ|ô?â¼ î{%z¨VD
k⼸íHîàÄÌXæÚ`ѲûXÀòÄÇúûk\w/2!DêZ®Ï_1ÿWø»ðéàkj7:ÚOÌÅÛ¯× T°>ñùú¨ö=(SqrOC±8LE,ªHUòrV÷áýä¸8ÿ󮬧üØ'}÷¢Ò_|C$nßåð²þÖcYd@OEϺp]¢"íd¨t¼>G2I.õÉS»ÀÔD6ͺm<V«.ôDù^ßÁ¿[»í,Ðì[J{Ãï
HÉV~]!ïíÄ;MÒ;y
+Õ»ö¾áÏ_¾
Æ¿z
+§¦M.Èü ¶¸ë :ð+¤ îu¿Æ,¶|h@kËež¶á[b²ejÆ<fçcé±"¸nV¹b°º=ó gUþ¾d£5®~0ðHÂÞñ=hßÆÙ(é}ÞÄ"F$0bä!½ÀmÆöbÒáýA<eC¨
åe3¹þXy^%ßb×-9E.ÑÿýUp
+I@+÷ÛCî-àÎ{ìrRÚnÓo|N¡J0SÍWY©òC0h¾´èßÌeæÐvÃÁÚ®¹o=Aº«<5Æ}tÎÏè,vüj/kï²ëÈQåýUvpJZîhµH;¨Ò1$ÿس± 4/³³í®Ï]iÕçthzÉÀw;Rr AMèx=h8Åûc¹Dº|ȽaXEݱGÓÓÂàÝCñ\^Äû^±äyW
D¾ÈïÅãt±¤QßëÍ
+C$Ccå'ìNK,é(U/ñ¥£àÒ)r ø8;
+-}¤ÆÅ«é¬Hµ¼ñÇ_¥";q 9ñ"°ðT¢ýg f R|àðºáv²û´øY{| Ië¹m$K.÷±¼q®·:ؾ$õ°fÛ¬O^>y
ë °óÞÓ§Úf
+üI)ßÌñ
+g8=à ¶tÉç(LOPD9Ûæè¸Hiß
+8u¨ÀËäƧAÌ@§ÒnZt¨G»á˧9Ü3n at d}³¼GÏ#¾A8ð@vÞ×^
+o±Ð{P©ÅáJëà&¬¸/~%ð² ZóZß^Ën÷ CíÓ:VS¤l3÷LDì ÏqÛ£|Æîè±J3;2'»Àtñ¥«^É$"Ë+¾fèÙö9½;Ä?î(£EI6r(&<PðR$ÄÑ®$O[µ
+[õ¯>YÛìûBzÊÏ¡-ö
+,OCÓåA;S¾
+8I1õï§ø?øζ*Áw#îä:$¯z³À,·§àÙQc§>ý³GÌÕsvèÅ3B_jýéBÏ+íû".qix##ôÕëChXDÿcÐL¸õÉÚ%?ÌtB`7Ë
+uí3}ù0!ÛØg)ÚèlC\C¹S{ÙÍ"ÇÛæWïÙo³c£#Ã9ÌW ³ÊÌ)yZIªu»kû^¼s'/EµQõ;I at QÇ+äßàæ8P.ì¼(Êw j¼|uçãVJMIrQümJtRºáÅ&5ùT¾zºzAo¯¹J嬸£pDwàÑ1ÏÞ¡±8EÌ¿/ú8ªÞµEg($
+H¹ôªáï³eo
+ZÊõÅa_GIu9î×$¯º¡ÄÈ4²ûòõZüµð4ò Ïpìó
+çûùKÏÊp*G»Ñ±·:Jåq>Ln$Di´ßÞ-.vÐ%E#ÏyR3Ò)̧I/L¦Ó
+y )?=ý ´«R]ªÿ
+ì*.Û^qCï@Båä¡=öö|ô7|~óªgo¹¾âW't.A6ü»&SWÊ
+ëiN¬n"¼.C̲UZèÐz'¤Ç[zX6©7=PCHE3úÓ
%M/÷4|åÏ°cü¨`LPþâ6åÑ÷äÞt\á§h+ÔB8eÎÎ:~¨1müKBëªÞXÃ^½]s'ý8Æ1g×ôf¹}RWEú]q¡õj~R=(ا¾®-u=ml*²¤G¯µàX#ÞÇÄ߯ XÅ3(£»5É÷§qÂ^oægÄÚÓ¸_BÔFöË¿Z:rKiýú&uÖ¢)»j7Q 8- XÄ[,[&*Äúfu"ögÿ|dãG±fø+ì³Ì(»ò D³ÄÔâ röñR~¨µ$µ!|»¿CØç "o£Ã ÂgÊUDt+ËYbcþpÿÕ]~
endstream
endobj
122 0 obj <<
@@ -381,100 +387,105 @@
/D [122 0 R /XYZ 133.768 304.216 null]
>> endobj
121 0 obj <<
-/Font << /F80 116 0 R /F8 89 0 R /F11 120 0 R /F7 125 0 R /F70 118 0 R /F93 126 0 R /F48 83 0 R >>
+/Font << /F81 116 0 R /F8 89 0 R /F11 120 0 R /F7 125 0 R /F71 118 0 R /F94 126 0 R /F96 127 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-130 0 obj <<
-/Length 2124
+132 0 obj <<
+/Length 2558
/Filter /FlateDecode
>>
stream
-xÚXIsÛ6¾ûWh¨%ÀÝmÚ´6qm¦ñÍÉ)±Dª¢äDÿ¾o JtÚ´9Xàß[ ²øW¾üÿùöâÛ_ÓI¦²ØÄÛåDJâtG2A4¹-&wÞ;?ò§Ú{ó~Zèé,Ð×0/x¼á} ?;ø+ðÓìJÙ¶ÙÚÙ;p{Ó(ör<RÁ_«USóVüR2®hCNC¯ ùΠñ^7Sxñ§|Ô#É®pkêÞ"ë|±Èãjúþö70ÎLkEbè¨;¤Spkɺã×ùàÇ
-æÓ½rk ë÷°íp«?7h)d_Öü¡
ñá¯cäQñÈ¿çUÜÙð×T¦VåÙ;h'núëðªÐo+^\ sv¥D{´£øx/,Öè
À[ÅÐ=Ñ þ)ó@Ê=¦!úà&4[â ífNÞ$O¡qÛÖ1
-°tiïÈGéÕ'ïCX-w§¡§PQÀ¿?aM
-F èm&¬¶Q°ÙLÁ&ôn9 "'Gí+ÆÓq⪠ÕLæ¦J
-ñdnG¨ôß:Çc>ÂI¸)_ ªÖIú×æ89íi¦¢(iIÊ¥æ¸ÖèügE8oÏõÁtqd *FãKÄ^
-½ï]õÅ.;æ0ÈD¡ hÜ9¹zÙàxÔ#í{{^¤YÎ<'-HÅxã?]ñɼ}p,@;æBÉ22;Æ0®µ[}T«Z2&íûÇO%\绳®QÏâÁ$¦K*& DjÁW9Ìk <HÆÇyÙZ
-¦ÇWÚsô?TAf}]`¶ü&U©îÐVõ¬)S*yD)X3p=ã§Dà([<è(<Ô=µvÎ3ã§Cð<K©È×V°©×¦ÃsÝPVY<lxIjãÒ±p"z$àL¤ }XND*ØUAMÜ(Ý5ľKôt$3¡QNì§|?Bò³öpx Ò¼*¹Ü#«ÿ=Ï+ÁTó¶Û Tqt·\ð)ãþÄw¡¯R8îÎgvõé\Xým1©
-ÿ4²³Xeá)°Ï3á¹£2dÙ ÀëVòÕµ÷¶$ÏeI
-âÎ?
-ÖþgNbÚEÜtnköÿNLè6 -É2ú¬)~
-JβI&Ô¬Á¿er×5wôu4Pa%âvr4o¨7)z½ÁNUM2HqV¦BÂz/ÿ8o'óãrØrVè`;2]³Í>ÒSA-BïCiuCèeþ@-wÉâyëØw
-.
¬ÄõÀsc¹Ê让y9P¯fÖ1}×M²l(2¨Tí,å.¯a:ÝvÃq-ÔWþ#ÑF ÂQY¸fS©}¸ùÙ°"IÉ)~ì½ýý
-úvçà"ïuiÓ$ÝA´\MøP%Ò®;Üï,gõ(LÉ¥3îzoøã¿Dº`r<¬eXÓW:¼AÖÏ¢gZóðmwFö/8øóÕÅäN{ZÖø> ÆyOZûêä>acö7Ö
-]8÷då´ó×53Và_ä²c
-ªa:IT@YÇF@ÎÎt¬p'Qø&¤ÌÉ滣 §«*9S:³T,gÓ¢.x¸ÈI£öhË_§ãÁi'ù8ÚdAÖ`@ØãQCR\!côÞ\b¸µ3ý;Äß{frI:¶ûË!¡'l'W ßRIÑ9%ů")ÂQì¥ç4ð½Ë
C¨4¥á¿-òUзÝÅ% à6·´{®®"öªIãÜ"ðÈ®R=å±¢µY°ý¿wYÆ-&îé(4õð¢Ûeó÷ðÅ7jº7|YÌÄÊÃh4f>±;¾9!0ÀÂ7¹
< );=ü¯@¢±Á5{ô³g@üýL¿ïÔ=ɼ¢"QÕkÑÌ? í hÒôä|öågVt¿XJTÝ c[iñ;Þû9
-àz¤
-s@Ü®eǬ»JÛô6äcuNo#×Óöc#lÅHîyA´õ AÔw%(Ô`MM9µiøâLóÖeµæw2m(³pZ
-öm(DZ.N²û/ºJ*~x~öÝM®ª/(f次öbß@Q>6\»J¾³aG
-?ÆM¦èisèQ B»º9¶wECq¡$PêùÊv/ФÍâù¢ôºYz01ÊF¹ ¨©KïB·ë²åù+)÷vÕg/®Oö3º'
-«ØÒÛGÒ²XwÑPaÝð3k
-HÆ$"G¬G,,µ±[öåfK ¸¬÷½ôÔ¶.\ðµJy%=)¢dÓ[bnqß^uÚZ PGâfLIám·-úÙ1´ÿ±¥÷7¨¦tJ%¤çZ}{=Æ5[Ë¡WøÙ$ºþ
-¸
-7[é6ííëijp at V|g>pM|ÂBÍöÄ»dsHhøPBä%\ð
ãý2*!Ûæ\Ê=|¾¶)©¼öò^hS½Ûã¸-N© ®<³.&Zhr`¼þr{ñ7ì.!¯
+xÚYKºÞûWtÙYÐUnÄs]ïd¸â©ÊÂñ¡éiè´íù÷9/xsx1ÓIGçñð7Ç¿yûÌßîýö/é&S Íæî° ´VI7&NT¨ãÍÝ~óÁû¼·§màå=üÃASow:Mh,Cz¿VO5î¬ðµñöD"WÛñ÷s³
+ïþ+áõg;hÔ/ôv
¾Üî"ß÷r\Òrÿ®v~Ï»k$/Ï8¸ßîBã-sÔxÍ;~Óm?Þýt³Å¢ <bûÐľèê¿üÀÂV g¥ ÅÅ
+O{gqÊgͼIÅùnë#OÈÖ(nH}Ð!ÐÀµ óO3ãI ³:ǵH%\½D6:7Lh'ïÞiÅPÂW>׸³¹"
ämÁé78-LTd*Xn0ònÅøIì]Ú
+ÚÙ[d:UhÛªÁ<î¢WéáתǬc«}Ö1Î$¸(/PÖäñ¨rÏs÷øð(LN+ÍT§À-qy°¶!¢EQ+Ùز ÈïrD¥&¶Ú5öî,[ÂöAèÕH¼wŽ´|ZãG¡ ·¾WãÊyö¨¢`T÷6Bäø±VÄ#¿{÷ÆzÉòÎèmG/
+y
+¿ì.ì¼änFà°¡ÇñW¢Õñ¢±Kp¸Xñ @ÂF$<¯\$FxEhw?v¿Ä3QÄ ã\+1±ÊRcM\N.|0
®íÁ²n#(
ÜÏ'A]ÉÐÛEa È!^Ð8IF[{fµ½ZÿæóÀe1ÅÄøiÉR¬îÎxf>ÐÚìt !Õ©Ê)¾ö$>ð@Üi?ÐÆ>¢pôèÔKý¥2:yC2ìRùT$wc×OÛFNaF»²ÈÙùÊÏ=Såý
+ùP+ä/!´É'ʳÇ$ð4í}å§ÓOVæ$p}Kû±$j¥ø?l¸¯-ÊI~¥Ñ^¥@Àâ6[Êð1.Y28#>æ»ãõìD奥2íZª~2 .®?ýà1iêÌË9öÒj<©9㫺B''É0þ$^1TA%íK¸ 8£lyûÈ
+@ÑÒ-X»¡±Z[dß#»WCf_+ÂKùéö
+ ò_$ðWkQ-fVGDÿùÿ³ObTäG®4-3Ò hÛ IµÂê.ôCEÙTy?Û@a2Uçüs,kïO¿fN Ì ©dâ°xÿÀÕ<ïGò.×âz
+þg¹ÙK<êåWZy>g⢡
+G 00»A²#ï߸
R³¾QYOõêÊ9ÂÍ¢ðHµPÞu+Pg2¤ãP»vZVíf
+Á;Ùï*-*=Þ C(Ç9LR&÷k*QÐtÅʶ&"îZT Jg¬2g
+Y{÷e(Ìàû¿½
+tÏÝk£|tØ(¼I®Ñ¶
+Ú
׶ÆQCO+g-×ñZ$uWD(Ǿè$Æz+{~Õf¨l¢[¿ÚÕ<üòB3Zì(qð·Ï6/9n4A)v-ÍBàÏL:w[áܺX÷ìnpë&æË5HÙÙ&QYâmƽIü<HJî[ì|_8({²¦T©
+!ù»ûÅä¦ý}N"Ý0dùn3ÙMáSoG¥¤ê:àßU2H²-dæÀ.+p#â}@~äS]ÿ|Jé í ¥êKUêïÉ)~«Zf
S¤ú\Æ÷4ð½ç
ì§, ľ¬AüÏH}¥ý`C áåüSÙÒ^Áe©4ÎÜf¸5l94W¹ïÀt/ÞhÃ_÷;~o#»±ÿæd[»½x8Dsïd¨Âp>ZÝPßó}N=IH$¢BÖ
ÂW6ÇïwL ðÜB>j9mþU~ó@¥ ¢DòâaÿO&ÿgó3ðÄ Ò IÑÜÛ,J³ýÙ÷¼³¬;ç¦(=Õ
+æñ"Å'¾ÇfG¦ \\Æ^·¬Ø
+=k¤ÞG¼¨pi×ÝlwoB90¸_\¯©©¬*QoK$°W5)èãTU%òNd3|:S`¡|ͽ³îL.ÒѵàQVÿNw*øâÕâ½.IT1ýkò{0ðïO µ/Îä\íIÞ³bW¿¢Ï׬2,Ìj u¢ ÏC¡
Õ/ª7Ö·Á¤!Pâ'Õxe·®×¨Ò¦øîsµ]5ÅuÓÚAéÊA. jêoîåVÖ
$/+«²ãçKÙrÙòÍcyq3[Ï0.U¬`gÜK8#))v+®î&
+Á¡dMÃdjEÃG¸°fgG/˺õüH·ÕÞ?h³ÏLr¦Ù&+F6À«ÚÄÜU5¨GëâáÚBdámÍjÙ5´ÿýBW
ÈQ·ÄJHÎJ¾»YS%nk.ÖS+ð³JÆÛhóV©8í%å̵°CÐ
+N{iÐPsY°ÄÙ
+6â9ù¯ÜL±¿£]V9=tõÖÞØÎÔ^=§ö!Ô?UãøÓòæë²|@dóêŧëZüqÛ)|>ÎR\ÅÁÐßñ'¿°ò
+4)ðé¶r¯LäÓ\àçé£-¯eéyì§Ë_I%nFn:Þlu5-ÞR\0»RÀf>g£îº¡×©l%×KW
ç
+(ݦÞ?·©¶køÊzõ&UIö#ïþ_%cw+2Çâ
+~k
+Ólþ ÉVØf)XÐVT¤£
+ðË
Yÿ*pÅâÒ2Íä¶ËÕF¯ ö @G#º¬íõÝÙeÛ0ÆGæ¿Ñ¾:Þûñüy'¼Ò}ÆJÇ+ ÒÈQ_Nmv(jçÀvö:@<vDp'6±+65Ì¥^ò~¨üS[½S`?®Ñ¬X'KçòW`ÌÝÀÅ]ºr¬Á7Ì7îqzÙ+#õ°¤ÂCEÊ¥ãcHiK5ÇJCKä,×W~ý
+xä ?~õßL¯@±¾ò
+¸~¤¢É¢?ß=ûËW
endstream
endobj
-129 0 obj <<
+131 0 obj <<
/Type /Page
-/Contents 130 0 R
-/Resources 128 0 R
+/Contents 132 0 R
+/Resources 130 0 R
/MediaBox [0 0 612 792]
/Parent 90 0 R
-/Annots [ 127 0 R ]
+/Annots [ 128 0 R ]
>> endobj
-127 0 obj <<
+128 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[0 1 0]
-/Rect [465.983 490.436 472.957 498.845]
+/Rect [413.607 490.871 420.581 499.28]
/A << /S /GoTo /D (cite.tjart19) >>
>> endobj
-131 0 obj <<
-/D [129 0 R /XYZ 132.768 705.06 null]
+133 0 obj <<
+/D [131 0 R /XYZ 132.768 705.06 null]
>> endobj
18 0 obj <<
-/D [129 0 R /XYZ 133.768 617.47 null]
+/D [131 0 R /XYZ 133.768 617.905 null]
>> endobj
-128 0 obj <<
-/Font << /F8 89 0 R /F80 116 0 R /F87 119 0 R /F11 120 0 R /F93 126 0 R /F98 132 0 R >>
+130 0 obj <<
+/Font << /F8 89 0 R /F81 116 0 R /F88 119 0 R /F11 120 0 R /F94 126 0 R /F99 134 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-137 0 obj <<
-/Length 1134
+138 0 obj <<
+/Length 747
/Filter /FlateDecode
>>
stream
-xÚ}VKÛ6¾ûWè(1E=ÒndÛÉi[è¡íA±e¯±äÚV²äÇw¾R²`caØróæ7Ö´rYtÜúÏßg:ÂëÛüËÙݧ"JUfI-7±VåYe.WuÑrý¿Ìÿ]~!ÁK9LF:¿ø4_¤eWX\¼®ÎtVjú=ËQ·5ÓZDq«]ÓoX±éqoÙXÍ<)â~s(×ÂëÃõú(Uë
-êO|«¥©éæ$×ðk/GÎß·aF ma*O@e«#ýt§Á=ë ·yG:ÈͦÐólÀÄÒj¾Èmÿ5/R+ÙwÊduþÔ*cB^7>9 4Þ*«àì1Åû«:å2é ¸ ½Î½%X|6ÄV°÷¸.¡áô úúí$.1N%ÎLSwö¾õºuÅè?;?zÎÌêX ¥>r>¶v£èªÚË>û,uæ{K)w¦@ÊmÌvóøt Êgq½ºóR5Õå¾KíÇ4µO±Aº²þ6wÔï¡ï°ú'D_g¢
-Q/jN%Ê\(Ñóu
-dyàߣ8¥Gd·ÜpàÄPý£¾ÑY®TE24Béû⻪}£»îéÒWßè.«t1À Y6$÷r3` 'Ð=wÊ"ÊUk
-㬲¶$"SeQ¦_¨~ÖÄ[tÇAè^¹ÙñPÒ¡ÒGÜDýErMÅáµXheæÜcÑDvÝsºþ¶vÝD¦pÊRÜ6EÔ&Z5³ÿ(Ì4ÏÉ}A×ff¸éî>7&úµýAÀZµË7PÙ&zÅJOÒq9µ5ºGVVá%w-8Ä;_Êc!:úU^îU²pU~
-| °ÆíU/ sGL0lyÇ]@ÙU-çõË`0àW¸òU<`:¼½úÖs©qs; ÔÅk«ý¸ÉµZGM¼}|ø@feüáÀ|Ý_K#B«¯àÐû6¯ÆÌU{?Ëøq:ÍG[»Ñ¶¹ÕJp#.
-#Ç â9<mÁ)Q pM%z_y 2É°EÀìºvðPöyh\üÄ×<ئڰ7õJ.¸È4¶ì¶ ®I|w+ø
üy
-#qûwBýØ9Wah'ø÷ îãD3ä«êU]Ò+/ÔWav¿Ö=·ÔI6øQ ¸úÿPaþ£KΦ÷Ô«»/@ùÌ~5²|"ü\¼cA«2©*ÓtªOÞ|ë¤1rhÈVu×qâ\þh`kàVrÝãÀ²ó´~üü ½A7N¼Úßå?P B¯|ÿÃbhiR~ýqJF®G¢MhdèâèÔ01ßO òåhö(x´t)õÿîðE
+xÚmU[o0~ϯð#Hŵ1Æ°ÔfkÕ=eSÞ¶=PIÔ Y[+õÇï\LCº*ýÙÇçöc£ÄZ(q;Sã,m
+@¬Güývv½]Þä¹p2wJe-´1Ò¥H±±b¹?OadÖ¡{Æ Gëm,aÜ
+Gûê ãñ§²êÀk
+\ÈVÂXî<ѳä#N*Hhèð×òë)ðWóåLSðZèÌJ§ÂäVæiÙÌ~C¢s&§#SLÂQÓo\Þ5Z|îfßà7¢Ñj41K,e"y
+ IÆ%RiÇ$-7QF.Nà¬=[øw-Jl°Âr´ßÁP±hô
[TRUNCATED]
To get the complete diff run:
svnlook diff /svnroot/adegenet -r 888
More information about the adegenet-commits
mailing list