[Gmm-commits] r39 - in pkg/gmm: . R inst/doc man
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Mon Jun 6 19:20:57 CEST 2011
Author: chaussep
Date: 2011-06-06 19:20:52 +0200 (Mon, 06 Jun 2011)
New Revision: 39
Modified:
pkg/gmm/NEWS
pkg/gmm/R/Methods.gmm.R
pkg/gmm/R/momentEstim.R
pkg/gmm/inst/doc/gmm_with_R.pdf
pkg/gmm/man/gmm.Rd
Log:
gradv is now used to compute the gradiant for optim
Modified: pkg/gmm/NEWS
===================================================================
--- pkg/gmm/NEWS 2011-06-03 15:36:02 UTC (rev 38)
+++ pkg/gmm/NEWS 2011-06-06 17:20:52 UTC (rev 39)
@@ -1,10 +1,13 @@
Changes in version 1.3-7
o Until now there was no way to know whether optim or nlminb has converged in case of nonlinear GMM. The convergence code
- is now printed by print.gmm and pring.summary.gmm
+ is now printed by print.gmm and the message and function evaluation by print.summary.gmm
o For cases in which the weighting matrix is provided, you have the choice of assuming that it is just a fixed matrix
not necessary equal to the inverse of the covariance matrix of the moment conditions (the default) or setting
vcov="TrueFixed" if it is the inverse of the estimated covariance matrix.
+o If gradv is provided, it is not only used to compute the covariance matrix. It is also used to compute the
+ gradiant of the objective function when the method is set to "CG" or "BFGS" in optim. For CUE, it is only used for the
+ first step estimate because the gradiant can hardly be obtained analytically in that case.
Changes in version 1.3-6
Modified: pkg/gmm/R/Methods.gmm.R
===================================================================
--- pkg/gmm/R/Methods.gmm.R 2011-06-03 15:36:02 UTC (rev 38)
+++ pkg/gmm/R/Methods.gmm.R 2011-06-06 17:20:52 UTC (rev 39)
@@ -26,7 +26,7 @@
dimnames(ans$coefficients) <- list(names(z$coefficients),
c("Estimate", "Std. Error", "t value", "Pr(>|t|)"))
ans$stest <- specTest(z)
- ans$convergence <- z$convergence
+ ans$algoInfo <- z$algoInfo
class(ans) <- "summary.gmm"
ans
}
@@ -45,8 +45,20 @@
print.default(format(x$stest$test, digits=digits),
print.gap = 2, quote = FALSE)
cat("\n")
- if(!is.null(x$convergence))
- cat("Convergence code = ", x$convergence,"\n")
+ if(!is.null(x$algoInfo))
+ {
+ cat("#############\n")
+ cat("Information related to the numerical optimization\n")
+ }
+ if(!is.null(x$algoInfo$convergence))
+ cat("Convergence code = ", x$algoInfo$convergence,"\n")
+ if(!is.null(x$algoInfo$counts))
+ {
+ cat("Function eval. = ",x$algoInfo$counts[1],"\n")
+ cat("Gradian eval. = ",x$algoInfo$counts[2],"\n")
+ }
+ if(!is.null(x$algoInfo$message))
+ cat("Message: ",x$algoInfo$message,"\n")
invisible(x)
}
@@ -95,8 +107,8 @@
print.default(format(coef(x), digits=digits),
print.gap = 2, quote = FALSE)
cat("\n")
- if(!is.null(x$convergence))
- cat("Convergence code = ", x$convergence,"\n")
+ if(!is.null(x$algoInfo$convergence))
+ cat("Convergence code = ", x$algoInfo$convergence,"\n")
invisible(x)
}
Modified: pkg/gmm/R/momentEstim.R
===================================================================
--- pkg/gmm/R/momentEstim.R 2011-06-03 15:36:02 UTC (rev 38)
+++ pkg/gmm/R/momentEstim.R 2011-06-06 17:20:52 UTC (rev 39)
@@ -37,7 +37,27 @@
w=diag(q)
if (P$optfct == "optim")
{
- res <- optim(P$t0, .obj1, x = P$x, w = w, gf = P$g, ...)
+ if (P$gradvf)
+ {
+ gradvOptim <- P$gradv
+ gr2 <- function(thet, x, w, gf, INV)
+ {
+ gt <- gf(thet, x)
+ Gbar <- gradvOptim(thet, x)
+ gbar <- as.vector(colMeans(gt))
+ if (INV)
+ obj <- crossprod(Gbar, solve(w, gbar))
+ else
+ obj <- crossprod(Gbar,w)%*%gbar
+ return(obj*2)
+ }
+ argDots <- list(...)
+ allArgOptim <- list(par = P$t0, fn = .obj1, gr = gr2, x = P$x, w = w, gf = P$g, INV = TRUE)
+ allArgOptim <- c(allArgOptim,argDots)
+ res <- do.call(optim,allArgOptim)
+ }
+ else
+ res <- optim(P$t0, .obj1, x = P$x, w = w, gf = P$g, ...)
}
if (P$optfct == "nlminb")
{
@@ -53,8 +73,10 @@
if (q == k2 | P$wmatrix == "ident")
{
z = list(coefficients = res$par, objective = res$value, k=k, k2=k2, n=n, q=q, df=df)
- if (P$optfct != "optimize")
- z$convergence = res$convergence
+ if (P$optfct == "optim")
+ z$algoInfo <- list(convergence = res$convergence, counts = res$counts, message = res$message)
+ else if(P$optfct == "nlminb")
+ z$algoInfo <- list(convergence = res$convergence, counts = res$evaluations, message = res$message)
}
else
{
@@ -76,7 +98,30 @@
}
if (P$optfct == "optim")
- res2 <- optim(res$par, .obj1, x = P$x, w = w, gf = P$g, ...)
+ {
+ argDots <- list(...)
+ if (P$gradvf)
+ {
+ gradvOptim <- P$gradv
+ gr2 <- function(thet, x, w, gf, INV)
+ {
+ gt <- gf(thet, x)
+ Gbar <- gradvOptim(thet, x)
+ gbar <- as.vector(colMeans(gt))
+ if (INV)
+ obj <- crossprod(Gbar, solve(w, gbar))
+ else
+ obj <- crossprod(Gbar,w)%*%gbar
+ return(obj*2)
+ }
+ argDots <- list(...)
+ allArgOptim <- list(par = res$par, fn = .obj1, gr = gr2, x = P$x, w = w, gf = P$g, INV = TRUE)
+ allArgOptim <- c(allArgOptim,argDots)
+ res2 <- do.call(optim,allArgOptim)
+ }
+ else
+ res2 <- optim(res$par, .obj1, x = P$x, w = w, gf = P$g, ...)
+ }
if (P$optfct == "nlminb")
{
@@ -91,10 +136,11 @@
res2$value <- res2$objective
}
- z = list(coefficients = res2$par, objective = res2$value, k=k, k2=k2, n=n, q=q, df=df)
- if (P$optfct != "optimize")
- z$convergence = res2$convergence
-
+ z = list(coefficients = res2$par, objective = res2$value, k=k, k2=k2, n=n, q=q, df=df)
+ if (P$optfct == "optim")
+ z$algoInfo <- list(convergence = res2$convergence, counts = res2$counts, message = res2$message)
+ else if(P$optfct == "nlminb")
+ z$algoInfo <- list(convergence = res2$convergence, counts = res2$evaluations, message = res2$message)
}
if(is.null(names(P$t0)))
@@ -308,7 +354,30 @@
df <- q - k
w=diag(q)
if (P$optfct == "optim")
- res <- optim(P$t0, .obj1, x = P$x, w = w, gf = P$g, ...)
+ {
+ if (P$gradvf)
+ {
+ gradvOptim <- P$gradv
+ gr2 <- function(thet, x, w, gf, INV)
+ {
+ gt <- gf(thet, x)
+ Gbar <- gradvOptim(thet, x)
+ gbar <- as.vector(colMeans(gt))
+ if (INV)
+ obj <- crossprod(Gbar, solve(w, gbar))
+ else
+ obj <- crossprod(Gbar,w)%*%gbar
+ return(obj*2)
+ }
+ argDots <- list(...)
+ allArgOptim <- list(par = P$t0, fn = .obj1, gr = gr2, x = P$x, w = w, gf = P$g, INV = TRUE)
+ allArgOptim <- c(allArgOptim,argDots)
+ res <- do.call(optim,allArgOptim)
+ }
+ else
+ res <- optim(P$t0, .obj1, x = P$x, w = w, gf = P$g, ...)
+ }
+
if (P$optfct == "nlminb")
{
res <- nlminb(P$t0, .obj1, x = P$x, w = w, gf = P$g, ...)
@@ -324,8 +393,10 @@
if (q == k2 | P$wmatrix == "ident")
{
z <- list(coefficients = res$par, objective = res$value, k=k, k2=k2, n=n, q=q, df=df)
- if (P$optfct != "optimize")
- z$convergence = res$convergence
+ if (P$optfct == "optim")
+ z$algoInfo <- list(convergence = res$convergence, counts = res$counts, message = res$message)
+ else if(P$optfct == "nlminb")
+ z$algoInfo <- list(convergence = res$convergence, counts = res$evaluations, message = res$message)
}
else
{
@@ -350,7 +421,31 @@
}
if (P$optfct == "optim")
- res <- optim(tet, .obj1, x = P$x, w = w, gf = P$g, ...)
+ {
+ if (P$gradvf)
+ {
+ gradvOptim <- P$gradv
+ gr2 <- function(thet, x, w, gf, INV)
+ {
+ gt <- gf(thet, x)
+ Gbar <- gradvOptim(thet, x)
+ gbar <- as.vector(colMeans(gt))
+ if (INV)
+ obj <- crossprod(Gbar, solve(w, gbar))
+ else
+ obj <- crossprod(Gbar,w)%*%gbar
+ return(obj*2)
+ }
+ argDots <- list(...)
+ allArgOptim <- list(par = tet, fn = .obj1, gr = gr2, x = P$x, w = w, gf = P$g, INV = TRUE)
+ argDots$gr <- NULL
+ allArgOptim <- c(allArgOptim,argDots)
+ res <- do.call(optim,allArgOptim)
+ }
+ else
+ res <- optim(tet, .obj1, x = P$x, w = w, gf = P$g, ...)
+ }
+
if (P$optfct == "nlminb")
{
res <- nlminb(tet, .obj1, x = P$x, w = w, gf = P$g, ...)
@@ -371,8 +466,11 @@
j <- j+1
}
z = list(coefficients = res$par, objective = res$value,k=k, k2=k2, n=n, q=q, df=df)
- if (P$optfct != "optimize")
- z$convergence = res$convergence
+ if (P$optfct == "optim")
+ z$algoInfo <- list(convergence = res$convergence, counts = res$counts, message = res$message)
+ else if(P$optfct == "nlminb")
+ z$algoInfo <- list(convergence = res$convergence, counts = res$evaluations, message = res$message)
+
}
if(is.null(names(P$t0)))
@@ -491,7 +589,30 @@
df <- q - k
w=diag(q)
if (P$optfct == "optim")
- res <- optim(P$t0, .obj1, x = P$x, w = w, gf = P$g, ...)
+ {
+ if (P$gradvf)
+ {
+ gradvOptim <- P$gradv
+ gr2 <- function(thet, x, w, gf, INV)
+ {
+ gt <- gf(thet, x)
+ Gbar <- gradvOptim(thet, x)
+ gbar <- as.vector(colMeans(gt))
+ if (INV)
+ obj <- crossprod(Gbar, solve(w, gbar))
+ else
+ obj <- crossprod(Gbar,w)%*%gbar
+ return(obj*2)
+ }
+ argDots <- list(...)
+ allArgOptim <- list(par = P$t0, fn = .obj1, gr = gr2, x = P$x, w = w, gf = P$g, INV = TRUE)
+ argDots$gr <- NULL
+ allArgOptim <- c(allArgOptim,argDots)
+ res <- do.call(optim,allArgOptim)
+ }
+ else
+ res <- optim(P$t0, .obj1, x = P$x, w = w, gf = P$g, ...)
+ }
if (P$optfct == "nlminb")
{
res <- nlminb(P$t0, .obj1, x = P$x, w = w, gf = P$g, ...)
@@ -507,16 +628,20 @@
if (q == k2 | P$wmatrix == "ident")
{
z <- list(coefficients = res$par, objective = res$value, k=k, k2=k2, n=n, q=q, df=df)
- if (P$optfct != "optimize")
- z$convergence = res$convergence
+ if (P$optfct == "optim")
+ z$algoInfo <- list(convergence = res$convergence, counts = res$counts, message = res$message)
+ else if(P$optfct == "nlminb")
+ z$algoInfo <- list(convergence = res$convergence, counts = res$evaluations, message = res$message)
}
else
{
if (P$optfct == "optim")
- res2 <- optim(P$t0, .objCue, x = x, P = P, ...)
+ {
+ res2 <- optim(res$par, .objCue, x = x, P = P, ...)
+ }
if (P$optfct == "nlminb")
{
- res2 <- nlminb(P$t0, .objCue, x = x, P = P, ...)
+ res2 <- nlminb(res$par, .objCue, x = x, P = P, ...)
res2$value <- res2$objective
}
if (P$optfct == "optimize")
@@ -526,8 +651,11 @@
res2$value <- res2$objective
}
z = list(coefficients=res2$par,objective=res2$value, k=k, k2=k2, n=n, q=q, df=df)
- if (P$optfct != "optimize")
- z$convergence = res2$convergence
+ if (P$optfct == "optim")
+ z$algoInfo <- list(convergence = res2$convergence, counts = res2$counts, message = res2$message)
+ else if(P$optfct == "nlminb")
+ z$algoInfo <- list(convergence = res2$convergence, counts = res2$evaluations, message = res2$message)
+
}
if(is.null(names(P$t0)))
@@ -854,7 +982,30 @@
}
if (P$optfct == "optim")
- res2 <- optim(P$t0, .obj1, x = P$x, w = w, gf = P$g, INV = FALSE, ...)
+ {
+ if (P$gradvf)
+ {
+ gradvOptim <- P$gradv
+ gr2 <- function(thet, x, w, gf, INV)
+ {
+ gt <- gf(thet, x)
+ Gbar <- gradvOptim(thet, x)
+ gbar <- as.vector(colMeans(gt))
+ if (INV)
+ obj <- crossprod(Gbar, solve(w, gbar))
+ else
+ obj <- crossprod(Gbar,w)%*%gbar
+ return(obj*2)
+ }
+ argDots <- list(...)
+ allArgOptim <- list(par = P$t0, fn = .obj1, gr = gr2, x = P$x, w = w, gf = P$g, INV = FALSE)
+ argDots$gr <- NULL
+ allArgOptim <- c(allArgOptim,argDots)
+ res2 <- do.call(optim,allArgOptim)
+ }
+ else
+ res2 <- optim(P$t0, .obj1, x = P$x, w = w, gf = P$g, INV = FALSE, ...)
+ }
if (P$optfct == "nlminb")
{
@@ -868,9 +1019,12 @@
res2$value <- res2$objective
}
z = list(coefficients = res2$par, objective = res2$value, k=k, k2=k2, n=n, q=q, df=df)
- if (P$optfct != "optimize")
- z$convergence = res2$convergence
+ if (P$optfct == "optim")
+ z$algoInfo <- list(convergence = res2$convergence, counts = res2$counts, message = res2$message)
+ else if(P$optfct == "nlminb")
+ z$algoInfo <- list(convergence = res2$convergence, counts = res2$evaluations, message = res2$message)
+
if(is.null(names(P$t0)))
names(z$coefficients) <- paste("Theta[" ,1:k, "]", sep = "")
else
Modified: pkg/gmm/inst/doc/gmm_with_R.pdf
===================================================================
--- pkg/gmm/inst/doc/gmm_with_R.pdf 2011-06-03 15:36:02 UTC (rev 38)
+++ pkg/gmm/inst/doc/gmm_with_R.pdf 2011-06-06 17:20:52 UTC (rev 39)
@@ -829,22 +829,21 @@
/ProcSet [ /PDF /Text ]
>> endobj
200 0 obj <<
-/Length 1346
+/Length 1284
/Filter /FlateDecode
>>
stream
-xÚÍXKoÛF¾ûWðH"áf\>&ºvESD@M²^V!(;1þ÷ÎÌÎKz-ôR µøç7ß,-M"?Î.ÞÜÔ&QR4²QÉlèÒFÙ¤²hMfËäôS¦Òí
-þq²Ü^ÝÍà¶ë2ݤ_¤6YQétý9ûJG:m)dmÁ$i«PäB²on´¡t^*ÉuYº
-¯²¼¨M`n«
µËr«MúÎýhxòEZ
Ak®°EÓïÖ¥jÈwáëc9¸}~>WVþĺ¦v7(ÔÝ!ÊÓ×LW)å̤tà@È9´èÌ~¾£ÀTúä/QUÇ.ñæ}?q K§·Î1e»wO®)Ä=¾ÅøÓu.IÆÇ1¼wÁvAºû±ê-÷iS°0ûæLúXãÁýü ùP6Iëå]ßÈÈt§/^Ë
Üáã×NjÏþÎéqbê\*_@ÓÙrÿÕ
/-æéí\ñdó=ê±¢lßvë)ªZ{Ij7Áa3±én=TæÇãsÁ²-Óùu¬:ç"%jZUb©{³ÐÛ%ÉX¡.
-a+%¥©`TY!*ÑRo³\h5&¢U)QZ#Ë8Ð\
-
-óRÔÐÜ(aV(m-øËÎCs]ÕX\üÁ £êZI½(/D]ôeB¦¦Ë$ëXWÝ3^}qNn=?uÏÀ> ¤Þp뽤¿]{b»ÝrýÈDëå6ìÞüY«üľ°|3íJ(É5ý% ;nã%ÕÙJxø ÌWùÌ{pï½Ão í²á\ÿÊLùK.xúèÚ}_ó 8LDÚ-9袶KÀ¯,*J`ó,Xò°±i
-³Ì}äºÐdÊ@yñ
-C%¨ØÅï*~®QÉ&+¹êóypeÝðµOÄj at QËl¿ê«Î±Ç©1(ñÌS`!+ßHçÖ#|Î^=Å:вèwî{µØÛn êô~h0'&»}{òèXïXKñ£z¥æô ÙÏ{¸âS5/áÔcfk<äüû®º
-к#¤FÆjLÂ~F-áË Ñã¡ÀK=Ûé-$`¤>Ç3Cç9nÙ9ðõ.PöWÕ»êÝö@Y8?þ13ûÊi[Ü°æµåÍÛ uOWvg&å¨ö×Áyr`¢DF>
-KbòøÚüûW®lEÜ8IæF¾ÞÃúÎÊ¿5Ëc®z~}ü\à¯z¦u>y2ÔTÉ×+§¬×«v¢Wqq5Ë,_Môj^E¬ç°3v< :¨a¹i@euPÙ뤤Ê@·×ë$Yh°Ôɵ"bÉ7G@ÜÏàãäË¢%dÒëí°Éa¥ãa©ÆÙõÎFθ|âwÏ1JÈ©ÇÔ7 at pðbzǺdúì[®¬ê³;>0øÌÖ,Wÿ_fu®gÆ<ÝË?(q¬?9ãzé<ÒUÏ,ë§ñn>²Æá¼f¨+4-Ü÷,\ð½ÒQ`ô?dÝ
-ZÄat"êô<ºZº}·èË»¾WÉ·ô8Ìw
-\Óh¡a¸GÊÇÐ_à°jüæËÑ¿AüïõìâïÖë
+xÚµXMÛ6½ï¯ÐD?EiÓäÐt7h¢)b ¦eíõº°¥
íÝ4Eúß;$ÒÒF{è+YgÞ¼y¤ëo/¾[\¼¸nEÁ(éhÇÅmÁE:¦
+4é*Ëâ·ò}ÅÊÍ
+þìÍXUµ¼|s×?ÀÏáâ]ùrQIÍËUõûâ8øT
+¡%7mL.(ÆðâQZ×R²¢´Mã&<«j©*XîÆc[Õò»pxò*f<× ¢dfóu6vÃÆæ2¸y.oÏ»0«üÉ
+,9 ^ ï]Èâô¹âº´rm,ýÑÆcMѳë·61V~qÆÕCÞLìGLdé|©½Id9îÜ¡âMqgþdò/WÆìpé2!îs`.×.ÛCÁ@VaéaàgðC»|u¬µãô¬?í"ó¾z#Vr#2;«ÆÛÛÇ)cd4:8,OÐél½Zékkpº3ë
+®zû»(>i²²ì:ßkkJt˽¥í7Ãa=[Óýô\é÷G$¢Ám+ÕýÖøX\0»(çéªKÒð°,4wf´ YÐÔeAP2Òí³Î$ѲV/«5¼
+ñÊàVN!¸%GM uCZ $]n"þbðPÇëÖ×\LÒÙ@yKdT©ç´2FÌ7X¶ª ﯾ8ÇÈ[/P'd Ækl½çi7Ñpgå.e7Rã(23°É»5×?iï1´O1ó¾iIçÑø);l㥳"5S!0FÑèN2ï1p×vñ3jåhy³L®®_Lð·¸31ÊÅ#f½ESãíL¥¶8T0/-£(ç°)³ÂÂؽ)ÖÁfäÍS.fhp0|§ñ9³zâò&$çqpu]ã½bi4¢Ü¯BÙ1÷¼6&5^8eʱTûN: ¶â=Fõ%×42Ìܦ¹ÝÈËûØa°Qívã>JåÞÉ ,¼EhukÞøt¦¯¶;=Iv} ËßWëÎ=JædàtÊ9øm¥b}=[·©É¾ªæÛM"&iK?ôåLhâ©Áÿ+=¶'åsÔRäÎÄ>/-tÚ±?&3àý6qöÕêÃö<¹q1°þ§Â´
;ÓµfÂ-
+NÞ${D¶¸ª/ì¹JzxµZäaXZQ±_ù£8pÕLi{ÂÍkd-ö³aéðÆWtþ5YÕË#íÔ ís?BëbòZȨïWv;õbíl½_øT3¿ËÑV¢½ùå8dî(}äT°ó µIBÚÍâhËà'K@¥oï×'rðH]+F,ññ:ѱäh3Z-x?û²-3íëMä¸ÒÁñ>T&èú``"ïñÝSZæåÜMs
+
+¼P¡^!BHS¾Âʲîô¼àmÑ®Í!ü
+¼øo#ûPng_J}þ°³ODO ]F±ãí]<Év¶JN¸7õP÷ûüë_ÙÒÿøëÕââqe;
endstream
endobj
199 0 obj <<
@@ -862,34 +861,27 @@
/ProcSet [ /PDF /Text ]
>> endobj
211 0 obj <<
-/Length 2660
+/Length 2307
/Filter /FlateDecode
>>
stream
-xÚÝkoÛÈñ»ëº}\½ÖÉõ mÎÈ$WÐlgQ(Å ûï×ò%Z±OºíJËÝÙyÏ]E*zyòÝùɳ>Ò*)T¡£óËÈë(Oó¤°it>ÞÅþôÃù c»@:+Ìæ`^êøõëÓµ&.+¸áØÒü\¯øönã
-\×|ÿQ(aåÙÒ.I 2±iâ³iýét×æ®9\S¸Îe\÷*Uð·îLÃfa´êI&¹Î¢Éáß1o þÓV.ñdÄ·ÌÉL¦¯:äW0¼äáå wâòí&-¤
-à9òÀ¤KIUÌd`lÓcl¢Ó\ÇÿµOppÝÀµ%8Ä6)tâ2
-*¶Iê]_>âã¬ÕäUРåXFil`ÀÂÃ
0`X
-%ëZöy®Õµ
;÷ýùtâÒXZ7$Lø¸^ÞLNBáBZX¬*^ÇY©®xbsMÒÑøru#Vá®w;«©hW%ópÍjÁ3@n^³#äØyúÉãbGà2
-ö%ñ½Z·Ë(AS©¾ê%ÊJüÏÌÄjãä"n 4>¢Ëuãe2_®N²²¯b_ z>ã»@%âÖò¤ËXNóË1SáÔ·MW=¥Öägóø{Ö*þÌ°ú7ç1ïÑÄ"Ç~EIJø%â5/¶ìÊ8&Qç<D
eyJLͽàK
-¶yvÔsâü½Ò¢[thèÄ)bÖÚ|Z
-?¯_µ²Ö»bôòfùZnDIâçëÆÅ)9YÏHÓÊi&1Dwh
ÓtY3ðPk0u¯ÖhÓap»Äf's8ëø_â´yéÅäI±) ¿ñ$4U±ªC>
-©q²ü{Lq@Ë
Â
-e¬!KɧAº fòê~ò2m:O¢°`vXè3¸Í¥¨gÍûÅEË^6ËõC6Täi~WOk±ÅJp-GM´jeËÌsþs-PÍI¬³ø[}-éøø´ùèu[~?iQ(ÞGÑRçÍ%<¸×÷°A{ß³¬hpÒJ(ìg8æßìò¿ËûXvÙOÐíÏýÛéh¨¨Õ§-âµh oû¿ößE~'é`%¬_ʵù
ÌW"V½/`~wsZ»deûÖQ
-¼Úu^A»;Jè}ÿª[°MØu£ÖÞ-ºÌ2Tæa{üç¡|}-ÿÍ:OJ]ößäUGáe÷hð<|tX}"Ø·2¶È¦
8\ÈüOvô;ÀÅo;¸^ÊÒë>¯éâmás³f®öæQ_
-øëÐýfvÛ§û¿oóAªAèéÓùøiæ7Ì6?õmþ¸äó_ÏA?xèá®Ùîÿ4;VÙÛuÞîoäá)óa»!¾èxÌ?»:º²y?ϳwürO}¢ó s._ÄÆ~ݦ/sùÖ+²-æPÄíMó.B(~ãX>;;°Î5VL1QiªÏ^ÓåÖÀØÃPêtÕ@Eæ> <G">NÕÓQl>Ñ
-®Åf¾Agt¢¬à3J)f7TA§ ¾ð¸>µiµ6VªÓÊ%¦A_w1ê×Äû¬ä´Wì±»Äjð~Û+Lÿ³ó'(¿t¤JòÜD&Ïj.OÞ}PÑÁ[øè@8Èñ*º~<ùçÌ&&·û 8;è¯e¿Õ~vYâµdybgm¼W&#
ô`µO
-ëâÝ mÄ»õá¼[»Ë{Wï*wÏ!2Þ£qìîuaítdRYüï(wÖ»0éô()WØá·§Þr8¨¦¡\5`#ÏÌ»ã°á30fÞcrþÙç=ÀvówkmO×ÙÎf¤ª8áÜ$¹Ïî³]Ù>swØpºH
-xt
-.df:Äü°°ë®ÞãñoSàÝ»wsFälïPm7y
qº>OìVø(Uʨ=iã´uIÒ.L±'W¶7IqÚ~O¾x4í|qþÁñaìúüOà
-ðÖïÉÇ ÃÖecÊs^ïIG íL
-N3J;Mõlqá@TàMqXÀ¥àxrøµ©îÕ@?Ýè]º!Ðõ@?í&Ðwi{c÷ú1h@£möú£iúøo½Ëÿ°®ØèÇ }WyNïô#Ðn}öÓ4~áºÙǼÿàÐÀtj¤®$
¡ wJLR¥â³P"Y4G¡Áæi{\
-ã[ªo4'*ñP6w¡½ÁJ!¼|q#gÔ°FïÔt@§½Û´6W8@ð%Ñ«pXq!bþ)¼nå¸VæxÎS.o¥$ðõuÓcA§Ñ3î¦Ã½´N´;¨B"ÀMEo¶ô
/+w×Üh 7iÛ øÓÜÚ]ÝÚ^HõªéAåçæè¯Èd#E¢n×çý³^×rè|kQÓ¹{U7g®Æc!ÄùLz°ÔÇï[aoHeÝv/ùoJe§ ¾\ñ±+-Ïåôð¶)BÕbÿWæ)
-È0ó+!Å'ü¸ÛƳjzÖ La¹eeôSítO0¾TFë«(ß¼<ÞMå%}LéÛ[*ß2ËÐ-~wÎ:}ÒPÌ|Ö~U
Â`G ªíãëXÙ`§TyqÓös˵ÔÃÐ÷;(àw®©mÓYÁÐù&REÛ=A¸å`A.û[ç)5À5å Ëyø4a`-ç´±ÂÙ¶qHg¬ßåzÎ;Ò\ãò~
-@×'дkîW"°Ä ÷-\ÏÚþYhò>þ{ÚÇ«KÆÑ8zf`IzfFÜñû&oÉܺºsXߨD
-É¢Øii©{Zh¼R¥ÌÖøêj^oÚ¾,$rÁÁ¿×÷qÿ_ÊÐÀUÖÓz-aýÅMèíWá»ëáÿU×èâfÔÅïÉÃä¤3vkN.tßd;£öË)¦¦9ÝfmGX ëá¯ãÆM~¹ir[qÀ4mzc%kx÷LÛzôÙÈóÎÃËfSù
-âqð"Ô ÍÂF9¼ï(é!U>²ðôÝiÈÁRçU,õ%&´7.F0ÙDgðîн7½¾ÓDçØÛÒD;=庻&Ðæ£â¸ÄeV£Z±Ê´ Ü8°+÷/^
\U®¿°U«ÐI
-!'ÝSSÿùË·
+xÚÝZ[oã¸~ϯ0fû ´co©E§ÀnI±m7ÙÂñ%cllg,{E±ÿ½)ÉÚdì-Ð>Ȧx9çã¹:$ÝøèòìÛë³WoìHpVòR®#+F&7¬Tùèz6zÙó×ßAwEÉ
+eö¹<ÙÕÕùX)MÖð2se
õð¼õ¯K(ïàùäßÿéHqòêà qà2V9³EáyýÆoàql~gÏ[*»ú)ǹTXÜ ¢ºêõùXpm2îØë±P,×¥'ÿúí#2î²fãçÄyÏ<,%[@UÞGúNÎÊO#û7¨útK HÍdNêºþä'*U}Å1Ía^í\¥Ê6߸9øIë%8&@3/Ch3_üL
5Jo¢kÖrÝ*ßÍ ìÊ:ÜU(Fl¸¿"ÀtLNú|æÇÝ8,?û²SLÕâí©óÊCãf@Ö(µu©R2©m0aîLÈA¸¦r
pºb×93*þ:pÈûÕ
+üÈXP`ea|ß?yµóÙso¨*Ñ;"Ô¾þ_å3h³øÚ#QõmÄÎwÃfgø_\´zÌÈ/V¾yÙÄÚÃp¾`¤Î¤a¼´db5°±ÈÈþNm±Gì±£6.Ó
Hý+â¸h$y$(À¥Dƽ $/óL¢·9¯Çõ±Ø'
+ß.h¥~ö×Ýñó±ÎK´Üá< Âz+^9ÓÞÓä&è@à=ØÞXú¯Ø»òbsGÐâ~^IäZ7>ùÑt5À_®|v=ïIÏä>â,Â5c1P_!îͶi¢|O¬zIøÈ=VB{¯uB pÏN×mmeØe¾
+¨«ô3 qõ*åÇ¥ÏüÛz!º¡â0è¡lÌÚUíü°)Æ´Ù2jåC4øxöW/U÷3o"êK7ØdË@ÚXigdVdNW¾|³÷¦ìÊ8Õ¹/Æ(Lc®së°¬[ª98¡î$ÝwÈ?pQ8rËd)Àé!rO'h¡çêm3ת;dÝÀÌc±ÃÜÑ~Di/`B:î5p±Ú.1Lä¹¾9%T~1©|ç¶Ð ê ÐXo@çÉN$÷Þ,²Í>ú¦?b«cçá}E¥Ö^Ò!î¢
+/lùw9ýÁ)ì0`µa¬(ÆK÷cÃfOÕ2ZZªëC ;R|Yt¶~!\6èÖaq\|¼´9ξ+§-ébCÄV½*Z»h÷Úÿé¦SåcXÔØ'Ã6¬TL"{O3|ÙLúc¯v<5âG¢q$OÙËÓMï3I)Ú¸u{{ ý}¢Zà¸!ׯ鰻|Ù
ß
~K]¥»ÑyL_§½Â¤/ÂÍN?Vý_ÒÈï(lú%Õ/£×ùe¨ñ&úà¨:p¼n¢mþ,Ý:xÏSûªn»´Q£ïqGº'²´¥yÙB0`ÿOÅ5àG(ëY´"¬ ì*ÝÈóHàxßÖLX[ßÔD}Oeý-ÉâBäÑoßvh]RÓUJãWÖwuxÉÅÇ·!¥×ÔÚóû2r¿Úߥ|ÿ÷UÞëþ=f~Nf~ÃhóCªôçÿzú¡ÇD·ÍFuÿ§¶¹´²'³vJ¦×³xÒzÞá0öñed1Ó$ÙîI[þóº]ûØëür ;}ÁÔÉB)ýv¿Ëék44ûÚ]½Á:Çå&F¸,W_*aæû :Wðê1Z eEʲ{&T²ÜÔ9¼×Írþ²e¢¦µÜÍ·=ä@8\©=É9÷pCn[JÑä%%~{ì©õ%ê×Lª8å2²8µFƧ(äI
+0m4SB&ÙÈ:þ/®Ï>¹ùó Í1æ[2U£éêìýG>A#XTÙÑv]ÈDiñÑÝèû³ôá9+´"ݽ3vhXÁ$ãóiàÉEKú`V( V2ÿ(\(D JXV*}v%µ<ve-B·±+ÕÅË]Í£'JÁÌQª{.
î(%(93E±o1nVÝéK ÔD~¾RL*åûîÜ*C ëiHTµPV
-7&EÑþâ°Ý~¹ÚÕ\)Å`M}¢ÚTÎÉËSð5[TÛ¤Yi;(4<w$s<
+
+Æ£¨5]H&¥9ÆÙ"w͹8Òça&WÇù,ÄZc°Â$ÇÀÝ"Å)øZäV)cîOÎ%'à-feÞË»å@8o+YQÈ~Þv P<wO¨8~%(ëÿvj0«ì@¼8s«.ú§'àeFÓË;ÏÅ@¬8Bqµ£°ßäG:\'@q
Û Ø&нpôSð
+ó
+.ý¼kGïò¶R
+8ú)xGïã-ýÙ¼{ýøkGñý.ýÌ£w
§Å£wíè=¼û¦vô#;:¡?c[( Ô¹¤«_BIôùá¾<¤«Hg!-²¬ÃÕeòæÊ÷Ó¨³LÛºX£Ã×mâk®ë|sGÇÒÐçíþ+Ýìwt¡?ÁáËÚ¦i
+¥}ÿN[÷tB
+-sw¸3YÝSÚúWêkx=óÕÉù9¼Ómf¦E¨sq/û.3¹Oþn¼äÍm¢ïîé=äë;V7±ª¯8KËõq¥¾FõdÁâ
+þܤ绺A¨m£QWöêú UZýж k at .¿ãÜ]ßµ»Nà
+(²ø
ë?ñSÌ5é¸Þ?jÅæp+ì¾Î<Uõõ²Õã÷Zl<ø
+±ò§úõý¶í¡É °â8
endstream
endobj
210 0 obj <<
@@ -898,163 +890,158 @@
/Resources 209 0 R
/MediaBox [0 0 595.276 841.89]
/Parent 202 0 R
-/Annots [ 203 0 R 204 0 R 205 0 R 206 0 R ]
>> endobj
+212 0 obj <<
+/D [210 0 R /XYZ 80 770.89 null]
+>> endobj
+18 0 obj <<
+/D [210 0 R /XYZ 81 144.792 null]
+>> endobj
+213 0 obj <<
+/D [210 0 R /XYZ 81 144.792 null]
+>> endobj
+209 0 obj <<
+/Font << /F8 99 0 R /F83 137 0 R /F103 138 0 R /F105 195 0 R /F22 140 0 R /F60 96 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+220 0 obj <<
+/Length 3756
+/Filter /FlateDecode
+>>
+stream
+xÚÍ[Y7~_¡ MÔi^}8?$HÈÎ`ó01=F£d$ÕgìÅú·o$lQÙk/ÜW,«¾:È)FQ1úáâË/¿¯ÕHyS4bty3¥ÉaF©òFÑåltým,²åþÛâo>(%³ooÛ=<vÝX6Ùo
Tc]Él>~yùtõiʼ¨
+I½5HrQXFÅh¢L^%lvÐï-üæÛñD6*kïàaçX·ø} ¿×cYgóîrÛ'üËÍh]óíáj¢È~ ²ÛO±iûÌ¢Ù9õ3¡Aàg¿´ëþqàg-»ÿ+"ú0ÅI2Yå %¶<ȽÜæ«lã'M<mø>ç8õÌJbÓî/ð»»/ëiß]fÈ p1*7ºa¹ãÐ%Ïôfÿ¯@ºÎZ¾¬QÚÈÁHp)¬|«2dw·§Eöé-ßxÃoV÷´sn±$iÓíÃÒJþ©i8ÕµèVHçteCr±2Lt]g]ó¤tsÃ}xͲSÃ;þôÃÏpÿsJ.7Ø=©e{d£tö,5$¡!&[mOú¾ãWÓ
+ö:ëø©Þ<`ï}ÛaÇżÛÑPÎ4È5öúæ´òcûoIóIÝtc§Â@ß¿¿ã9£(#ý*.PÇeRÇ
%û#DõïøÙ®4Ý£ôÛ)þк[^`¤¢´n#½È¼vNÊÓ¾Ëý-ÆqKʸÎR¸¾K`[µtNBÃ~t.µ'²)Õ¶*À >TÞiH禪J$ªòÒør),,/=©\býV(àÛ䢪 vû1q ú´ô6ONGçºôRY&¥¢
+Ù
+×_¯Ú
«vûW¬ín®&¡öL5¬Cv~=¬È+Ñôkãä MHÕ»s4 QÕäEb¶U^W~ô%µÈRÂO¸LÉÆ:ö#ð¦P¶f«~ßý
+[Í$ZÒ-fz^±µrÛCÂviÚµ&h¯íÇ 7²$Ø;T"²ÓéæÔì4Î@Ù`ÿízàâMfRƶâxTUg¬W¼4E¸6eãg±Z¥â°¬B;òR'MµV©³{¹.¼YoÏK ¾Ê>ÌæÎgIäÚàù ¿$ä7à:ôØý¶Ëós½·>¸ ï1g«iT^½FÒ¶¨=ô»¢¥Yiµ G½vùÃÂë,eUBʼîå~²Ok£æYp¦s´÷¼T68i¼è©¾ODYeÏ=£»2ì?K@RE¼JÍü o@µHèQ@áaqà´è¢\íX5` Ø}MwgÛ9?
+÷sïÊP9ÚÝ_û°à@«õñ-`ǤûÎ)ÞµCTà&V°C¥8º#üB>h/ø3¨ê¼e¬èaz<é¥ÖO&7B&¨6uäme$bèP絪Ú2FÞGÜ. 7Ðæcø]ö»Qg`àp¡7]XMºKédC0!pÏEãá²(:Ç·½ q,2¯dÕSJ´ô6ùUZ²µN9U²Úªª¢IFcÈPb =±æ=Å®nØTñ¨VgÅ»w7.¼}÷. Eù5Ålû϶×$ÐËo B¯RÎGçE/ÐwOåW>&JÔ@cØ~*«1·ÎôÑ«ò¤v at LW ýQ´£þhÚ!Ôæᶪpªz, Y Ê.Òó£ ör,7
/õo8{ÃÿÞð
+WGk°Ú¢¨í¨åË0T#.q]kgÑuìQøLf¢Là>Lán¸¥0åÞ4Õr-]´÷^² }K±
+\Dþ<ç³ò¦Ì~×flå°Þq7ìfìÌÙÓ0a¸Ì
FÕv8ÙÍÍ©r}¦Õ+r¡ÿMt:ðÚÂÆmÝÒo. 8ʵ
+\U¤;üxo|¿$âdUEÁºe>¥
ÛA<x6Ás²åÜY9EaN¥eU) ¤O©³ÈESr¹¡³ÔFHJ ÉËÄû| |ÉçKI¢7]ÔbP4±l©óRQ*{jÙ§©¯£Ü æreÊ! p=õÙ<);J÷*Õ D+*n2^?ÕWÅy»HúâåÉiC UªjÅ
ç),ó>S)XÚÇ«
+Jä*L[«
+¢®,+4Í©²l
öZßút_f¾BÐã÷4®ßÙ2,Ø Øì¢yXûBeùÊÔÝ´
+\ ©&ñ=Ê5Ö×Ù'Óº{vÎ2ôÙ ¹é2y"$tîv¶T}Ñ3íø=A
+Û íCUï§à÷öÉßSÊ4wÞö(UãoZýiÅ"®E£ðgઠÅý}§¿=ðhÐÕyåÛæGq6¼vü¢eoön!öÆ~çoTWæzþÎyrÍiÒ¡Íßpê립¾³9qg£MKëܤ£²Èr}ÏHûTÖ+´Rn·Å$ÅÕbzH
$¨1ÚF˾s%¦¤<ÿÞÆK§Ü'Ô2ê6àO0®©êy^:Xÿ¯þút°ã}Ì´¾NV`u@håOz.ÌÍ&ÆÊeþxïâ/3p pÒqBäËÈÇνÌ%x¨Ì^LÞ¨¸ ÿ{ÒýýPq½u,ïßU
+-É|=ä½x¿G¢¨XkLµìCJP¡ÃXn×®Ó>è £Ú¦¯Ì ¢~6ß]^¼ºb¤"&1Ò5H2]]\½,F3øø¥VåèHWÄCjr7úåâï¼/xy ºÒ +òxtUçeQbq¨½öã¤È,Öcq4^Äò þ ÂRf'Ó([R@Ä1FÀ«úCÁ 6 at RR¨¨ôöt[R©Jªò`ðSC^Eáú'Fdt~`¨Î*®>6Ú8¥"¯EÊ#;g$LEFZF¦D#¾tY[§3áf`(ø®S%\HUþÖÓ<Ã,%&ÛúJÙ Pûî6¤òÊù¦2>Þ=
($l/¿¢¼oµy)9)ºÎ!!¥>(§Jà M©A*S*å62WÒÄÜ¥¯qêDåÂ\µ×À©mÄùm4|¤5Q/àÁtîåS¨äûÛË® V]óÕgÀj2«©´;äv)ªt\ÌÕéb®àãbn(ìÔÑr
P0I©DbT+éðÃÞíÒãÍb4Äݶç¢ö=¯B2ºF%ö^yL£ß³A:è
«Æ=¦¬¡°(ÞÐ\&£æÍòJc
+ù¤pëw17K{ê$b·¸]@¤
+÷ºjJØ÷¤Xc:wälW ´ñ§Â°ùÖåG{wî¯ë×ãÖ&{62^ÓäÉmOôáÍÖmÑk.§c;{H^ØMn¼%5°ùA¤×SW§¦rÄÚ¶³Ó¡ÇÞ÷îôZßííÆ9ñK6N¿iÌ/ßt6ü0wõ?eXþ>rÂêr°{´[»vfEaU
+ at .teÔßóñÄHK.ÀEÓí©¨I·7vµ¼ºaì;{¥·ó¾àÝÑzúW8#u}óo¸?ࢳ]¿êGý¦¿u¥Öá¯Ü²lS é×|Á~
+ÇbBÚ¹{>Î1`ìdÇòaX¨zìç4íoû1vjn6¤cÃ)<Å>ö÷Ï ëÝ?ËñgðæOðûì,®ûexÝÚ>¯gȲo,¼f$þÌEÄazôóWã
+&¤|:nó Ç»ü¡Hú
+
HÎæÄ}zÐó¢s"¡H÷å§Ø]ôv°¶µ·ÇåUÐEZÊÔÔÊÅù²YÏÙýl@{bÍ{Ës@ôOÛ@ôÞé-©È¿YväT¼ê DïÎ.Ðv3\[&í.p®KË3¦Ú¶NbT/ìYg¢VÆ´/¯óíìúÃVAßt.[ª`ÇÚnWsW*'#{@QØt3ø[TÐB,ËÃÀà°¦2ÅS`'Z*H«áÙËä>mn½õN«à;¾wE}¸|á#ë4Òæyí)ÊRÉ(!Cï'¸
+6ÅÊXtA¿"ÈóøTGSeßãé>Bçx(á´Îã?mõgI
í.0Ê|=6ÿTeïN Æ~@.*Á4ÚÄK³Yu~RxÅ
+ï6¶+w¾ÞáEáì{1»S£·Ü%m¿µöcq¸ù1ØqA(¸Ú3ÑæÈ&¹Jà6Oý_Ç Å/DkB¾QqråT¤ê¶N®Ýß?Øë~xÚ©³:Vòý1|Ç;6ºçyÕ
+~¸Ai£åó> 8¬«¿ÂØдèÁ_X¦·8|Īg]Ï{OW$½e§µÞ{ ûá¯#÷3YØWÉ ¬
Í"ôNîK+»Wváç.üåÌrsw£'sØá:mÛïd䶦øVçE2~C?î÷mÝõ»Ëÿ y=º¹
+endstream
+endobj
+219 0 obj <<
+/Type /Page
+/Contents 220 0 R
+/Resources 218 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 202 0 R
+/Annots [ 203 0 R 204 0 R 205 0 R 206 0 R 207 0 R 208 0 R 214 0 R 215 0 R 216 0 R 217 0 R ]
+>> endobj
203 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[0 1 0]
-/Rect [170.961 135.73 312.668 148.528]
+/Rect [170.961 718.346 312.668 731.143]
/A << /S /GoTo /D (cite.garcia-renault-veredas06) >>
>> endobj
204 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[0 1 0]
-/Rect [318.115 135.73 341.925 148.528]
+/Rect [318.115 718.346 341.925 731.143]
/A << /S /GoTo /D (cite.garcia-renault-veredas06) >>
>> endobj
205 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[0 1 0]
-/Rect [380.083 108.632 485.328 121.43]
+/Rect [380.083 691.247 485.328 704.045]
/A << /S /GoTo /D (cite.carrasco-florens02) >>
>> endobj
206 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[0 1 0]
-/Rect [491.931 108.632 515.742 121.43]
+/Rect [491.931 691.247 515.742 704.045]
/A << /S /GoTo /D (cite.carrasco-florens02) >>
>> endobj
-212 0 obj <<
-/D [210 0 R /XYZ 80 770.89 null]
->> endobj
-18 0 obj <<
-/D [210 0 R /XYZ 81 199.744 null]
->> endobj
-213 0 obj <<
-/D [210 0 R /XYZ 81 199.744 null]
->> endobj
-209 0 obj <<
-/Font << /F8 99 0 R /F83 137 0 R /F105 195 0 R /F103 138 0 R /F22 140 0 R /F60 96 0 R /F23 143 0 R /F24 214 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-223 0 obj <<
-/Length 3368
-/Filter /FlateDecode
->>
-stream
-xÚÍZÝ·¿¿B/¤ÆÚðs?ì:)¢Z´É}8ÅZÒ餳Vò]Ô{çä+Jwvë´0ÎâîÉáp8óÑr$F¼øîòâj=¢hD#G×#UÚ¢vTÙªh´]ÎGWã¿Näxµÿvø·LµVã?Ü´xìºjƯÒS©ñbòúòG4Ó
¨-LI£5Hr!£©1r4Õ¶¨Ë Ú
-;çJFE%?Ð+¡£²1U+ð4 ´ ¤,dU{2,WE]
yÁ5¾®ÚÚ5üòÏìÞm;øo1Ç7b|½Eù3ìþîðÝɺvØ0í+a<bz^Sß÷csSbÇMí{wôñûõBzú¸sopðÅjuËéÔ÷þv´Ã-áæO°3W4ä_¶8>ìIºkVe]¦RÖ4~C`Açc%¤HG¢n¦p?Ådju=¾æ×&ïMYÒÍY®×9«ROsMT5þubËq»Dif<ßN¦ðráo6Û=6ôøýDÕ(z#E{Ë$÷+'Í~ñÂ8{'ï
-ö= Éö×Û5ʾï]ï-+;ôôÝéãÇmqq?!^a±£i£ªÔ©ôg-jÀÃkcåÄ÷¬´ð/vn-3L^aæ¹S%*ê^î×¹óicMæx
-8PM%Æ ç
-p^ºbB
-È4¼è©^L¦²¬ÆÏ?§V¯£ñÄVÉosë1
-m<Á2£G
-
-í´Å
-xG±cI;.QhüÁmSÖ o9ßM¬e5®¼ïÔ^t~ïQ?Úý_³
í#-Þµkoh;&=t^÷¬ ²²
Mª!ñZÃ²Ý CVïiXm]ôË ÏºîLoRºç¹-²)¬4£©2pkæá{GY¢
¨ÚoÅ+!T^)¬Q.2`ÆhÁÑêÁQøÖTUÉ&¶´DIçåV¡t!KÔÂ@)]<G[ãhF8ÂÛÎSèì
-Ñ)DFï°)û$¥7G2VE¥ªR©Ìhp,U8/òMίêÜÁª*Yc2HhȪg¶ÜʨÁë¬'¶Uºå/Ñ°Õcññ#)0³ÖHB§ ;rÌEøìFÍÚ"Yzù
-ìÐÛÿ1
èúñQ[ù"3ÆTËh¬;?nõ÷7þèã)®Ê³Úa`Ϥù¯hGýtí¨ÏkED¤´³fÐí<ç&ôµ#G_@:Ø11êÄmÒ,ñ§**=¾J/Ìj#øåY
-_¶7È·øß{~±'ã ÍlqVÔ
-ÔòÏ.Á£VEƵsÖuGð
-W-°rä>¬p¶Tîª!SÝñ'ßsÏÀÚA²[ {Kp~Dþ<Tàäjrü÷ImhÅVøãí-ÃnÆ=
-ÆÛt½±7g ¥`é9£ÇªWä>ÿp:ðØÒÁ¶nå°ÇÇhç¬cgv?ç¢>¼?x?g#þd°`juäL4ìÙ8(PX ÜÞ¬Á³
g=¹sÜ'+&ÍÄè¨ÄLåÿV&<å §(dSB¹¡4VÆÈJ )ÊØø?õ7ÎÛ#ûCcDlZDS>Ì ×ÒÇ+oªjÕÔ7IlAæ&K7Ô^Y©³Â±x¯r RÑx³XTÜËÏruøåëgÙex®£iÇßæܯ*úHE°´Og´,t¶xfd]=Vhsi@kµoC¸¯Æ!CÐïàÀ8²@òcà ØíW¢¹ßDEùz¼ÐÍÚÈÿ(@HÍ0ïÍ\©}=¾årvd£î=3Å}hB¾AùHÉ<w{:-iLDG´ã÷dSøüÐ ä©.X/â¤Ç#&ïIDܦxiá¼éÍTj©hÐ}×Õu9«XÜ:t°æ¾
-1¸S=>Äqú#C=É¥æKy¶hy)<íøEË<^ãÜñ76ð@s¹ØxÛ½wã6uh»æ7ïhý~cÚ7·.&îÜdøÅÓz?é©iE¹~"Lâñ!
-Y¦Ý¢ÿ6;§ÅôÝ5Æ8¹êy
-RbJ
-òï@Xyå8¡Ná³'gê'Æõoö?5¤0ëe6PU]£¡k¦Ïz.Ë5F
ÖéÃâáÎ ;p pò@!ñeäc×^
-¼
.Û/¶h fF¿dÝøØÏ÷Ð[§òþ%ÑÙ²Ì×CÞë÷+ye@ó1±¦T«²eÁÜ¡üq@XÛAlhÑÊ°ï//Þ^H²r¤E
-IêlÀßÑl}qõZæðñG0F£{"]5ªÉíèç¿q
$I_jðò
-(,pas]Õ³*U¯ý¸(òËÍDì H¬-¿ØÄ?¸J©ñ×Ù¸#c+D N1±ª?×4RS$'
ÒnÇQ¦%«\ÁO
-Ñwº/lFl|R=êüßXúÔlWò~È¢¹ÓðFÒVtJmtJÒ©*SËÊáÙ±p38UðC 8äÆF!÷ÓÆÎæÎ¥ÂpÛ|ÑsÉÚw»]fTFªÿ3 ÷IíÕ¥þmL
-Ä´öM1uÑô<áûRr.1²)
-¨Se«sÜF¤ËHÎQ^§É'-i )ò<Vçë 3äüÙgo£¸&\ ±ìÊc}$?Ì}1»°ºáß«Ù°¦reÐõ/5¬LÊ5ùT®Gði*7
-Pt¥}f¤Ò2S5Z¦ªÄ©ñáàËôøàÂÀÛ¥ò<l?ð.dá5*qpËË,j²ùÄt ô)¦.÷;
-%à"WÑ,ZÕà4 lð8@ÀRÁ! tnCsËùK«qG5@¤ÝH5£
-ö)Ö¾rõA.vCÃ|çRÆV>=Ýw>@:8ioº~?n\´'ñºH£Ò=¥¸©]zöÚÝ{Ä8GF¯ÑX.Çc{Ðð
«rcÔÀlÈÙ_Ï|ò×Ï-WJ÷ï+oúao¶wæüg¨óË$-?,|g濱l"¤!.5Ü#ËAµÚUTÂÒ
-¯ù8ôúíd
-h¶\¦æï)IÍk·[áúiÜ;w¥?ç½ zÆ#<ø»ôôÏxEÎKëMèx8â¢sC¿ígý¶oúÜëpÏWáXv÷)ô%ÿà8³¶gîïs;Ûåá|íVgªú5ÍúæC#Æ-ÍïÀtl¸ÇØÇñþ°f½ðç8þ
-Þüþ¾z×ý¶%¼îÜL÷_×'Ȳï,fD$áÆEÂa~ö§ïÆ)ÌH+¾ùtúX,"&<cìò"é+
-\Í=ôùIBb)2tçX~Ýe®#Ööé´®yZ±¡ÈËás9¹x_6ï9ûS¿ZiOªy?¥ò=ÆÓ.}ðÂ'F˪$²ð¯l8à¤>ÊÑ3TlßI»GÞrnyÎT»ÖKÆÐ=«÷LtÒɪ÷Êûê?Pqdß_µÆ¦»JGõjW¬æ4/|q2zS¾çN®[Ïì¶)ú@eyÜ6ÃPF<vvj0÷¤«áåËl¥¶ko}ÅÉp|ÏmÕ¦äÂU@#UÏì§Ô§(nÈ/²½_à.*?±A)?Åy|§£©Æ?àݾCÆx%á´.ت}@SGÝ>:Kþè¯ìñY¡
±³J°%}H¶f»ý¤ðÞWvkÁÞ<r7*&Üûk£7<$ÕßZ÷QW?
-ú$pu`.êÈ6»Zb!þïR£àL 9¡CËCT¬ÒÑ]ïRõµ7nJ?õû~z*Õ¹O]+¹}ÊD~bͽþyÚj
-X¡´øEÖ§õ?Ìa6½õ«óãWX=»lÂå&Êy+ÇMë¼?@õ³¿IÜ{L-déF\gAX
-%Ü7NtoÝÆGÎ]ù˹ãæö$Glß]t7él»¾9Û2ZZä[U©üc?~tôÐÏÖEãü?G²¾q#ÎOæ:ʽ#ò0oÅ%bÿûýåÅ¿ßÄ`-
-endstream
-endobj
-222 0 obj <<
-/Type /Page
-/Contents 223 0 R
-/Resources 221 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 202 0 R
-/Annots [ 207 0 R 208 0 R 217 0 R 218 0 R 219 0 R 220 0 R ]
->> endobj
207 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[0 1 0]
-/Rect [492.837 718.346 522.996 731.143]
+/Rect [492.837 664.149 522.996 676.947]
/A << /S /GoTo /D (cite.nolan09) >>
>> endobj
208 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[0 1 0]
-/Rect [84.236 704.796 108.047 717.594]
+/Rect [84.236 650.6 108.047 663.398]
/A << /S /GoTo /D (cite.nolan09) >>
>> endobj
-217 0 obj <<
+214 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[0 1 0]
-/Rect [80.004 601.385 110.163 614.286]
+/Rect [80.004 550.644 110.163 563.546]
/A << /S /GoTo /D (cite.nolan09) >>
>> endobj
-218 0 obj <<
+215 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[0 1 0]
-/Rect [116.125 601.385 139.936 614.286]
+/Rect [116.125 550.644 139.936 563.546]
/A << /S /GoTo /D (cite.nolan09) >>
>> endobj
-219 0 obj <<
+216 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[0 1 0]
-/Rect [170.181 560.737 206.711 573.535]
+/Rect [170.181 509.996 206.711 522.794]
/A << /S /GoTo /D (cite.fBasics) >>
>> endobj
-220 0 obj <<
+217 0 obj <<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[0 1 0]
-/Rect [212.814 560.737 236.625 573.535]
+/Rect [212.814 509.996 236.625 522.794]
/A << /S /GoTo /D (cite.fBasics) >>
>> endobj
-224 0 obj <<
-/D [222 0 R /XYZ 80 770.89 null]
+221 0 obj <<
+/D [219 0 R /XYZ 80 770.89 null]
>> endobj
-221 0 obj <<
-/Font << /F83 137 0 R /F8 99 0 R /F22 140 0 R /F25 141 0 R /F34 142 0 R /F80 101 0 R /F20 104 0 R /F23 143 0 R /F28 161 0 R /F24 214 0 R /F103 138 0 R /F105 195 0 R >>
+218 0 obj <<
+/Font << /F83 137 0 R /F8 99 0 R /F22 140 0 R /F23 143 0 R /F24 222 0 R /F25 141 0 R /F34 142 0 R /F80 101 0 R /F20 104 0 R /F28 161 0 R /F103 138 0 R /F105 195 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
229 0 obj <<
-/Length 1763
+/Length 1746
/Filter /FlateDecode
>>
stream
-xÚÕËÛ6ð¾_aô¤E#E¤ÞACM´A1ÐCÓÖm-,;-òñ'EÙÚ4é¡hSäpf8ïa<YNâÉËgÓÇ/Ê£*®ÌdºfRdET%Ùd:üøòék J|(SdNczyi7o.Ã$±A½9ÎZ¿ñ#Þ®a~±âï_õE,¼<~aâP©i¥Fú Î_ÃøFc&8÷Z3aìN at ZZ#®al±=¹MAóþç0¬ÌS þý-£¬´ÐÀkÉ<*Öº+R SS1ß0kIÁR¸ØÊÐõ¹Àn<RI¢LUäñªÃÏðÜKG%ð¥Ü5=d=V¾}¼À²_Ê~êÍsºA<Õs§U ö02WýZg>ᆰoBH,ò"gbÓKÊ4ª%E°îø×ÊÂK[
-ÂÞñ±¨¤íÏ8rÓUÃq¾?öäÐê}nppv$µ0«àÙQ¹(ÛK[gþDÛ4
-v@wtíÍ7Ì,´ïÑæw$L:V<>5QSZ±^ÃFxéwvj:QËÇ8§éͨÙt·&Ìyë%wÇ> xæç&M¢"/5tâ½C°EÜèNæi¡'·ê[+ÀZHfÃÐRRBD&«?eº¼³X>Q ,Ñ{ßs/Ül³Sé/=ºBkéÌÿâ`øóã`óãpó@îÄåg$Æ CñÆ7^Zy®¦a×oeýÀ5èF\ûÏw^4Sd¿k!²¹êóüV©ì÷N )x`!c-×^X9Y ؤÀz% ÊÐÖc<ÑÆUæ¤0gWF¯Á½ð±w»'í67Uð³µ?
ñIòUúªÝd _ÒÂdÁ+Ëâ3¹â|ÜOç|üIJ4Ya¾4I=Ó#9ûk2æÃ1~^T|Múþ'ö³©xKЧô^K/63m·Ì®Ö
>Ä\tËÛëþq%Ke¢47#iÒÌPïÉ¡Ô3CO'ÿC7¼#.ÿä,¥'ñªoõdħh4JüA
-3@í
åÄÑ%JZbã8h¥ÒyÂÈ)6É]-ÛÊ®V$^µÔ¦¬ýÎ`§¨ RÚ÷ütµBtï îJ;m§RYVU¿ ^\iÐîõrHh#w
-U
Ê¥+Zèy0x¬,ß{ØÖÂr?è4ú*N
-q¨âR¿×¢Æ¹fÇZ3[å|N+RÜX)®yî%dÔ½êBT`³'±¤Z3@½é9¤ÓÂ%Ä,É£Øáa¥Uô¶U£ó¦YÌ&M*
-XKÓÅþA(×½Mt¼Ý.øÿ `>c
5ä&=##Ã@ µRZûFF/1¡ò9ë+ë,c$Öv³f«(÷¸õQ(öÄÉJvKu&BÉè7lC'¦¦+ù<s×µÀ
[TRUNCATED]
To get the complete diff run:
svnlook diff /svnroot/gmm -r 39
More information about the Gmm-commits
mailing list