flexmix/0000755000176200001440000000000014760252622011734 5ustar liggesusersflexmix/MD50000644000176200001440000001704314760252622012251 0ustar liggesusers18729aaf42b73f8ccbd8f9c26ded5bd6 *DESCRIPTION c3c7eb6308b8b029dc5ebedd55ed8e6e *NAMESPACE 88a1e6330ac4ebbddc726522a46dfc34 *R/FLXMCdist1.R 0964dce38a7f3b491c9eef5ecedbcd68 *R/allClasses.R ebb73a41e988babd784db3f85a6b966e *R/allGenerics.R b03125231df0214b1395c7ef7f9bf25d *R/boot.R 889f52aae8df7342a12c941702964959 *R/concomitant.R ffe49b2c72bb7df7681bfd5f450468de *R/condlogit.R 3495256b72a55590ac6bd775f3782028 *R/examples.R 3ebb141d9c261a101e884f66f81a9120 *R/factanal.R c4cbbe2b096216ad85ac881bb13713a1 *R/flexmix.R ac7d510575121174e050def18e1d8f68 *R/flexmixFix.R 3eba12e52c7117b1dc31709f780bace7 *R/flxdist.R e46cc7864775903c177d0fbebf62562f *R/flxmcmvpois.R 5c565a257540fde3a2c29cde0181421b *R/flxmcsparse.R 94cecec609f15f14b8eed8002bb5b792 *R/glmFix.R d49134e08be219e48ebaa680b76e647e *R/glmnet.R c5c5f8a325c65778e15792e456459ff2 *R/group.R f929b19e094c157d3556617cafd46a31 *R/infocrit.R 296476baa3f3e730cc906d1d1663c0a0 *R/initFlexmix.R d509a6bcd55ec42162950011f0e3fedb *R/kldiv.R 2ad7b23c815889ec724736b3b5b0f017 *R/lattice.R 49e5b8eef79f6f8884e4e0323329b78f *R/lmer.R 5e9c1a083238f5e9310c257036db61cc *R/lmm.R 223499c1d0b23482e2f62049b4749e25 *R/lmmc.R 5a7ccfa40918a1075c31b79b9b713c64 *R/mgcv.R 2d40a708cbab9a061aa4f2ab7e8c978a *R/models.R e248e582afbd8bebd1dd48d4292d5b73 *R/multcomp.R a1543ac30b4c4faca4ebdd23e5fca5f3 *R/multinom.R 7a1d8c2b82999b1bd1e0419b00117498 *R/plot-FLXboot.R 621a422936c28bdebd8fbbe1d9fe7970 *R/plot-flexmix.R 4a0e5ec24c4b8b048afd7473bbbf0cb4 *R/plot-refit.R 2f3409e7007c2e61fc5ee28aaef440d5 *R/plot.R ce8c2d2018c456648e26145ea1cbc038 *R/rFLXmodel.R 2dce928976d164087b04d9edba0771eb *R/refit.R 89f17e9ffcdd456af71b16580a64ab7c *R/relabel.R 942a774a6195a4cf5da06bfefc18adb6 *R/rflexmix.R aee09f6209b75aaf4f4aaea863fb9352 *R/robust.R 6c4c0f1663db73d9c2a8fd48ab78eb2e *R/stepFlexmix.R 06a4c9417ad23fc25ba52d1be38dee42 *R/utils.R 90d0c43f34243c3adbb022664bd0ddf5 *R/z.R 16c7cb035f39de0d66d086ecdb22fbe5 *R/ziglm.R edb1dac66e4cc84ef6813fe4767c8400 *build/vignette.rds 52f6bcc1bca4a592e3351b49431d9065 *data/BregFix.RData 47aa26e91f34698eeb226da6a4c04e35 *data/Mehta.RData 90b92021bfed03931e116746bd331d76 *data/NPreg.RData 33ab45d7bc0754237ecd01ce0254a604 *data/Nclus.RData cce71227ec0d604bcb2c78fcb6249384 *data/NregFix.RData b30604eae02b77396b87d0defb8d5c98 *data/betablocker.RData 45576be271f3423ba91c02ebfaca00b9 *data/bioChemists.RData 43669f632f40def80fbb61ca25c657fd *data/candy.RData a8bd5b28da6a6a50d872c0ff711d70f5 *data/dmft.RData 6556322b93e01104ed3485ee02993d6d *data/fabricfault.RData ca4de9fc56b9223d9612d44d3df1420e *data/patent.RData f53cbfa94cbb22c8ba6a8c5d54895e88 *data/salmonellaTA98.txt.gz aadfe3a142210960be9cfaa393a420ab *data/seizure.RData 309d62c6fbd66165dda517923e184109 *data/tribolium.RData c444a25f85d0973c69e2063fa5349b7d *data/trypanosome.RData 84ee26fbac9ffa0d64a1ed89ad17f751 *data/whiskey.RData 165509cd86d080d103cd33fb52bef045 *inst/CITATION bf41d9988531311a7ab94b51ca7abc60 *inst/NEWS.Rd 66abb9674dc55bc9dda69ea64ec37fcb *inst/doc/bootstrapping.R e2057aa3aa3ee107d93fbe11a6f356d6 *inst/doc/bootstrapping.Rnw 4e0501e5f3494ae0046349f43538af71 *inst/doc/bootstrapping.pdf 6c97ed30becc0159537caec0aa6f7835 *inst/doc/flexmix-intro.R c5a3e4b887e0caf2b8e1383071e699fd *inst/doc/flexmix-intro.Rnw 86cc4b985390ec32ae3d711a7a691534 *inst/doc/flexmix-intro.pdf be0a42d594f1a80d36f502d9f5504e0f *inst/doc/mixture-regressions.R c6745ee38eba2a694d6df5d497adb7b9 *inst/doc/mixture-regressions.Rnw 4ee2a7790a11e9c273c87448548a2ec6 *inst/doc/mixture-regressions.pdf 6dca73aa5a96343db67a43c9835bb4bf *inst/doc/myConcomitant.R fb9ae81acbfcada421bbd89681834714 *inst/doc/mymclust.R 76f412c774347259ff904027864b759c *inst/doc/regression-examples.R 94b27d5378111289be0df2afaf4bdfab *inst/doc/regression-examples.Rnw f2d8005a6a7bcdf293f249ea23150efa *inst/doc/regression-examples.pdf 76a28867c7670eb60951e3b1d2d77d33 *inst/doc/ziglm.R 1d39a7829ea8ce6aa54c11a0a06780eb *man/AIC-methods.Rd 00c18dd702febe081d951aa73ebb95d0 *man/BIC-methods.Rd cad198606d9e736399f5c5fc540786a1 *man/BregFix.Rd f66f6ead6d7d0350c6a722f53193094e *man/EIC.Rd 85d7f2bae2833443d209050759a2e525 *man/ExLinear.Rd 7ed1926717bdc73c8e6b117c5075eb0e *man/ExNPreg.Rd cf4a61f3fbf44d92894525cbff4ef003 *man/ExNclus.Rd 78e72f66ed96403287e0eb63e33f4ab1 *man/FLXMCdist1.Rd 4c28bd39db43ab9080cbfb2b2d495054 *man/FLXMCfactanal.Rd 692b3facd60fa4125aff97003555a621 *man/FLXMCmvcombi.Rd ba41986c3ff634c81b8f5b44955efe92 *man/FLXMCmvpois.Rd 421d04a7a1c7c967877e1ed3882965f1 *man/FLXMRcondlogit.Rd 4628f562cd45f409dd16ea2cc7d3eca4 *man/FLXMRglmnet.Rd ec245ed6ad4ca2e7d3efee4256b0bdca *man/FLXMRlmer.Rd 9cad098f9190aacb6862d10a2118ffda *man/FLXMRlmmc.Rd 1f2a4972f51646f42278445d3ee41933 *man/FLXMRmgcv.Rd d5fb9e73fdba6d6586e186d93a61a385 *man/FLXMRmultinom.Rd 9a268e3bbf0b5c8ee42fcfaacbdd793e *man/FLXMRrobglm.Rd b2d3a3fdb9370376403175e23e8acea3 *man/FLXMRziglm.Rd 1be70d781f7affbf5b51663f75fa87e0 *man/FLXP-class.Rd e5014d435eb288059e6daa8b9163d8e7 *man/FLXbclust.Rd c87d4220e578ac71869feed74a3d7c47 *man/FLXcomponent-class.Rd 1348b9444773021d770f7463579961ff *man/FLXconcomitant.Rd eff1590dbfbd4e3f1783fe61b20037d6 *man/FLXcontrol-class.Rd f8a1b4148b65b193d78ca1159e888a0d *man/FLXdist-class.Rd 28a563506d19c0836af092f0c3f15775 *man/FLXdist.Rd 47b0ea1622e710755d45534208ad95ea *man/FLXfit.Rd 35115ac86c9cb6a8aa266a755f26cf16 *man/FLXglm.Rd 8403da6e3cb9d44b66a22e98ef944422 *man/FLXglmFix.Rd 24a39ce85331b9ddbb500d499932fee1 *man/FLXmclust.Rd 8a86639f3d09af06293225779bedfd05 *man/FLXmodel-class.Rd afbfbeb61e91eda57fbaa568a39b38e2 *man/FLXnested-class.Rd 0768bed00f7a8554c33329522dfaa169 *man/ICL.Rd 028fc57ce85d724790cc7da759a24dd7 *man/KLdiv.Rd f6736b5d249d5d684f1464180b8a3b59 *man/Lapply-methods.Rd edab8de219b6630db7a71d22366f70d3 *man/Mehta.Rd 8f55051592bec6c88e23c7d81f57d38b *man/NregFix.Rd fb40ad5bde9b66ddc38d3572ff7429cb *man/betablocker.Rd d67b3b5b0eed42a593c0268b9e6aab21 *man/bioChemists.Rd fdb60dd3f31d2281e7fa21e38a3c8b76 *man/boot.Rd b4db12be29b542f9bea083d3bd0c980e *man/candy.Rd 5a69cda63c913ef33f104c6d5adb3729 *man/dmft.Rd 78db5196994b9a665e4c17fb6653c93f *man/fabricfault.Rd cd0b0ac588e0bd163a930ddbd0d8ae4f *man/fitted.Rd b53ba6892c3f8d98ea7ee048c854a47d *man/flexmix-class.Rd 022f7bae58eaccd9203737c47cf2473d *man/flexmix-internal.Rd 57ab6985b4c34528329c50c5bd67b30c *man/flexmix.Rd 06e1f559377487d225abdb6faf160481 *man/flxglht.Rd 83812639242cedc8bf5bc226f2747c88 *man/group.Rd a187b88ae5b3121c29579aceef270951 *man/logLik-methods.Rd 2ac267bede3099e4807c4b3cc4ef2d86 *man/patent.Rd 3aae6929d9c9dbe26b4be487330edada *man/plot-methods.Rd b3773bddc048e6fbe106eed18469702d *man/plotEll.Rd 2195e1c45f80a83a7b3baf8d449e5b05 *man/posterior.Rd f8ae3162f10350e983e30a5926fa6025 *man/refit.Rd d627472edfd9f5b2c3ec8e0f56296ae4 *man/relabel.Rd cf67fee780ab0ea895b55f07989aa76c *man/rflexmix.Rd 2aa3384e40b6d464a252378e17f08b1c *man/salmonellaTA98.Rd 4d165b442083a5ba599fa8e1c5e5f28a *man/seizure.Rd 4d457ddbe589788191b3ee5021e0ac6d *man/stepFlexmix.Rd 168fda1db5cdaf8e9d0a5410c145e825 *man/tribolium.Rd b5fad3c3973f6658af8b3663f20f4ac3 *man/trypanosome.Rd ab4b6ba1cdfc93f1639c53cc091ed513 *man/whiskey.Rd e2057aa3aa3ee107d93fbe11a6f356d6 *vignettes/bootstrapping.Rnw c5a3e4b887e0caf2b8e1383071e699fd *vignettes/flexmix-intro.Rnw b7d9b60485cfd57d1bfc13e98ff25f48 *vignettes/flexmix.bib 0a928bdb28d680f31098902b157e9204 *vignettes/flexmix.png c6745ee38eba2a694d6df5d497adb7b9 *vignettes/mixture-regressions.Rnw 5a4252ff70a91d81feef9be2ff79c5bf *vignettes/mixture.bib 6dca73aa5a96343db67a43c9835bb4bf *vignettes/myConcomitant.R fb9ae81acbfcada421bbd89681834714 *vignettes/mymclust.R 94b27d5378111289be0df2afaf4bdfab *vignettes/regression-examples.Rnw 76a28867c7670eb60951e3b1d2d77d33 *vignettes/ziglm.R flexmix/R/0000755000176200001440000000000014757625373012152 5ustar liggesusersflexmix/R/z.R0000644000176200001440000000063114404637304012530 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: z.R 5079 2016-01-31 12:21:12Z gruen $ # ###********************************************************** ## Backward compatibility ## component model driver FLXglm <- FLXMRglm FLXglmFix <- FLXMRglmfix FLXmclust <- FLXMCmvnorm FLXbclust <- FLXMCmvbinary ## concomitant model driver FLXmultinom <- FLXPmultinom FLXconstant <- FLXPconstant flexmix/R/plot.R0000644000176200001440000000656514404637304013251 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: plot.R 5079 2016-01-31 12:21:12Z gruen $ # ###********************************************************** plotEll <- function(object, data, which=1:2, model = 1, project=NULL, points=TRUE, eqscale=TRUE, col=NULL, number = TRUE, cex=1.5, numcol="black", pch=NULL, ...) { if(is.null(col)) col <- rep(FullColors, length.out = object@k) if (!is.list(data)) { response <- data data <- list() data[[deparse(object@model[[model]]@fullformula[[2]])]] <- response } else { mf <- model.frame(object@model[[model]]@fullformula, data=data, na.action = NULL) response <- as.matrix(model.response(mf)) response <- object@model[[model]]@preproc.y(response) } clustering <- clusters(object, newdata = data) if(!is.null(project)) response <- predict(project, response) type=ifelse(points, "p", "n") if(is.null(pch)){ pch <- (clustering %% 10) pch[pch==0] <- 10 } else if(length(pch)!=nrow(response)){ pch <- rep(pch, length.out = object@k) pch <- pch[clustering] } if(eqscale) plot(response[,which], asp = 1, col=col[clustering], pch=pch, type=type, ...) else plot(response[,which], col=col[clustering], pch=pch, type=type, ...) for(k in seq_along(object@components)){ p = parameters(object, k, model, simplify=FALSE) if(!is.null(project)){ p <- projCentCov(project, p) } lines(ellipse::ellipse(p$cov[which,which], centre=p$center[which], level=0.5), col=col[k], lwd=2) lines(ellipse::ellipse(p$cov[which,which], centre=p$center[which], level=0.95), col=col[k], lty=2) } ## und nochmal fuer die zentren und nummern (damit die immer oben sind) for(k in seq_along(object@components)){ p = parameters(object, k, model, simplify=FALSE) if(!is.null(project)){ p <- projCentCov(project, p) } if(number){ rad <- ceiling(log10(object@k)) + 1.5 points(p$center[which[1]], p$center[which[2]], col=col[k], pch=21, cex=rad*cex, lwd=cex, bg="white") text(p$center[which[1]], p$center[which[2]], k, cex=cex, col=numcol) } else{ points(p$center[which[1]], p$center[which[2]], pch=16, cex=cex, col=col[k]) } } } projCentCov <- function(object, p) UseMethod("projCentCov") projCentCov.default <- function(object, p) stop(paste("Cannot handle projection objects of class", sQuote(class(object)))) projCentCov.prcomp <- function(object, p) { cent <- matrix(p$center, ncol=length(p$center)) cent <- scale(cent, object$center, object$scale) %*% object$rotation cov <- p$cov if(length(object$scale)>1) cov <- cov/outer(object$scale, object$scale, "*") cov <- t(object$rotation) %*% cov %*% object$rotation list(center=cent, cov=cov) } flexmix/R/condlogit.R0000644000176200001440000000553214404637304014246 0ustar liggesuserssetClass("FLXMRcondlogit", representation(strata="ANY", strata_formula="ANY"), contains = "FLXMRglm") FLXMRcondlogit <- function(formula=.~., strata) { z <- new("FLXMRcondlogit", weighted=TRUE, formula=formula, strata_formula=strata, family="multinomial", name=paste("FLXMRcondlogit")) z@defineComponent <- function(para) { predict <- function(x, ...) tcrossprod(x, t(para$coef)) logLik <- function(x, y, strata) { llh_all <- vector("numeric", length = length(y)) eta <- predict(x) llh_all[as.logical(y)] <- eta[as.logical(y)] ((tapply(llh_all, strata, sum) - tapply(exp(eta), strata, function(z) log(sum(z))))/tabulate(strata))[strata] } new("FLXcomponent", parameters=list(coef=para$coef), logLik=logLik, predict=predict, df=para$df) } z@fit <- function(x, y, w, strata){ index <- w > 0 fit <- survival::coxph.fit(x[index,,drop=FALSE], survival::Surv(1-y, y)[index], strata[index], weights=w[index], control = survival::coxph.control(), method = "exact", rownames = seq_len(nrow(y))[index]) coef <- coef(fit) df <- length(coef) z@defineComponent(list(coef = coef, df = df)) } z } setMethod("FLXgetModelmatrix", signature(model="FLXMRcondlogit"), function(model, data, formula, lhs=TRUE, ...) { formula <- RemoveGrouping(formula) if(is.null(model@formula)) model@formula = formula model@fullformula = update(terms(formula, data=data), model@formula) ## Ensure that an intercept is included model@fullformula <- update(model@fullformula, ~ . + 1) if (lhs) { mf <- model.frame(model@fullformula, data=data, na.action = NULL) model@x <- model.matrix(attr(mf, "terms"), data=mf) response <- as.matrix(model.response(mf)) model@y <- model@preproc.y(response) } else { mt1 <- terms(model@fullformula, data=data) mf <- model.frame(delete.response(mt1), data=data, na.action = NULL) mt <- attr(mf, "terms") model@x <- model.matrix(mt, data=mf) } strata <- update(model@strata_formula, ~ . + 0) mf <- model.frame(strata, data=data, na.action=NULL) model@strata <- as.integer(model.matrix(attr(mf, "terms"), data=mf)) ## Omit the intercept for identifiability model@x <- model@x[,attr(model@x, "assign") != 0, drop=FALSE] model@x <- model@preproc.x(model@x) model }) setMethod("FLXmstep", signature(model = "FLXMRcondlogit"), function(model, weights, ...) { apply(weights, 2, function(w) model@fit(model@x, model@y, w, model@strata)) }) setMethod("FLXdeterminePostunscaled", signature(model = "FLXMRcondlogit"), function(model, components, ...) { sapply(components, function(x) x@logLik(model@x, model@y, model@strata)) }) setMethod("existGradient", signature(object = "FLXMRcondlogit"), function(object) FALSE) flexmix/R/lmm.R0000644000176200001440000002413214404637304013046 0ustar liggesuserssetClass("FLXcomponentlmm", representation(random="list"), contains = "FLXcomponent") setClass("FLXMRlmm", representation(family = "character", random = "formula", group = "factor", z = "matrix", which = "ANY"), contains = "FLXMR") setClass("FLXMRlmmfix", contains = "FLXMRlmm") setMethod("allweighted", signature(model = "FLXMRlmm", control = "ANY", weights = "ANY"), function(model, control, weights) { if (!control@classify %in% c("auto", "weighted")) stop("Model class only supports weighted ML estimation.") model@weighted }) FLXMRlmm <- function(formula = . ~ ., random, lm.fit = c("lm.wfit", "smooth.spline"), varFix = c(Random = FALSE, Residual = FALSE), ...) { family <- "gaussian" lm.fit <- match.arg(lm.fit) if (length(varFix) != 2 || is.null(names(varFix)) || any(is.na(pmatch(names(varFix), c("Random", "Residual"))))) stop("varFix has to be a named vector of length two") else names(varFix) <- c("Random", "Residual")[pmatch(names(varFix), c("Random", "Residual"))] random <- if (length(random) == 3) random else formula(paste(".", paste(deparse(random), collapse = ""))) object <- new("FLXMRlmm", formula = formula, random = random, weighted = TRUE, family = family, name = "FLXMRlmm:gaussian") if (any(varFix)) object <- new("FLXMRlmmfix", object) object@preproc.y <- function(x){ if (ncol(x) > 1) stop(paste("y must be univariate")) x } if (lm.fit == "smooth.spline") { object@preproc.x <- function(x){ if (ncol(x) > 1) stop(paste("x must be univariate")) x } } add <- function(x) Reduce("+", x) lmm.wfit <- function(x, y, w, z, which, random) { effect <- lapply(seq_along(which), function(i) z[[which[i]]] %*% random$beta[[i]]) W <- rep(w, sapply(x, nrow)) X <- do.call("rbind", x) Y <- do.call("rbind", y) Effect <- do.call("rbind", effect) fit <- get(lm.fit)(X, Y - Effect, W, ...) XSigmaX <- sapply(seq_along(z), function(i) sum(diag(crossprod(z[[i]]) %*% random$Sigma[[i]]))) wSum <- tapply(w, which, sum) sigma2 <- (sum(W*residuals(fit)^2) + sum(wSum*XSigmaX))/sum(W) wSigma <- add(lapply(seq_along(z), function(i) wSum[i]*random$Sigma[[i]])) bb <- add(lapply(seq_along(which), function(i) tcrossprod(random$beta[[i]])*w[i])) psi <- (wSigma + bb)/sum(w) list(coefficients = if (is(fit, "smooth.spline")) fit$fit else coef(fit), sigma2 = list(Random = psi, Residual = sigma2), df = if (is(fit, "smooth.spline")) fit$df else ncol(x[[1]])) } object@defineComponent <- function(para) { predict <- function(x, ...) { if (is(para$coef, "smooth.spline.fit")) lapply(x, function(X) getS3method("predict", "smooth.spline.fit")(para$coef, X)$y) else lapply(x, function(X) X %*% para$coef) } logLik <- function(x, y, z, which, group, ...) { V <- lapply(z, function(Z) tcrossprod(tcrossprod(Z, para$sigma2$Random), Z) + diag(nrow(Z)) * para$sigma2$Residual) mu <- predict(x, ...) llh <- sapply(seq_along(x), function(i) mvtnorm::dmvnorm(t(y[[i]]), mean = mu[[i]], sigma = V[[which[i]]], log=TRUE)/nrow(V[[which[i]]])) as.vector(ungroupPriors(matrix(llh), group, !duplicated(group))) } new("FLXcomponentlmm", parameters = list(coef = para$coef, sigma2 = para$sigma2), random = list(), logLik = logLik, predict = predict, df = para$df) } determineRandom <- function(mu, y, z, which, sigma2) { Sigma <- lapply(z, function(Z) solve(crossprod(Z) / sigma2$Residual + solve(sigma2$Random))) Sigma_tilde <- lapply(seq_along(z), function(i) (tcrossprod(Sigma[[i]], z[[i]])/sigma2$Residual)) beta <- lapply(seq_along(which), function(i) Sigma_tilde[[which[i]]] %*% (y[[i]] - mu[[i]])) list(beta = beta, Sigma = Sigma) } object@fit <- if (any(varFix)) { function(x, y, w, z, which, random) { fit <- lapply(seq_len(ncol(w)), function(k) lmm.wfit(x, y, w[,k], z, which, random[[k]])) if (varFix["Random"]) { prior_w <- apply(w, 2, weighted.mean, w = sapply(x, length)) Random <- add(lapply(seq_along(fit), function(i) fit[[i]]$sigma2$Random * prior_w[i])) for (i in seq_along(fit)) fit[[i]]$sigma2$Random <- Random } if (varFix["Residual"]) { prior <- colMeans(w) Residual <- sum(sapply(fit, function(x) x$sigma2$Residual) * prior) for (i in seq_along(fit)) fit[[i]]$sigma2$Residual <- Residual } n <- nrow(fit[[1]]$sigma2$Random) lapply(fit, function(Z) { comp <- object@defineComponent(list(coef = coef(Z), sigma2 = Z$sigma2, df = Z$df + n*(n+1)/(2*ifelse(varFix["Random"], ncol(w), 1)) + ifelse(varFix["Residual"], 1/ncol(w), 1))) comp@random <- determineRandom(comp@predict(x), y, z, which, comp@parameters$sigma2) comp }) } } else { function(x, y, w, z, which, random){ fit <- lmm.wfit(x, y, w, z, which, random) n <- nrow(fit$sigma2$Random) comp <- object@defineComponent( list(coef = coef(fit), df = fit$df + n*(n+1)/2 + 1, sigma2 = fit$sigma2)) comp@random <- determineRandom(comp@predict(x), y, z, which, comp@parameters$sigma2) comp } } object } setMethod("FLXmstep", signature(model = "FLXMRlmm"), function(model, weights, components) { weights <- weights[!duplicated(model@group),,drop=FALSE] if (!is(components[[1]], "FLXcomponentlmm")) { random <- list(beta = lapply(model@which, function(i) rep(0, ncol(model@z[[i]]))), Sigma = lapply(model@z, function(x) diag(ncol(x)))) return(sapply(seq_len(ncol(weights)), function(k) model@fit(model@x, model@y, weights[,k], model@z, model@which, random))) }else { return(sapply(seq_len(ncol(weights)), function(k) model@fit(model@x, model@y, weights[,k], model@z, model@which, components[[k]]@random))) } }) setMethod("FLXmstep", signature(model = "FLXMRlmmfix"), function(model, weights, components) { weights <- weights[!duplicated(model@group),,drop=FALSE] if (!is(components[[1]], "FLXcomponentlmm")) { random <- rep(list(list(beta = lapply(model@which, function(i) rep(0, ncol(model@z[[i]]))), Sigma = lapply(model@z, function(x) diag(ncol(x))))), ncol(weights)) return(model@fit(model@x, model@y, weights, model@z, model@which, random)) }else return(model@fit(model@x, model@y, weights, model@z, model@which, lapply(components, function(x) x@random))) }) setMethod("FLXgetModelmatrix", signature(model="FLXMRlmm"), function(model, data, formula, lhs=TRUE, ...) { formula_nogrouping <- RemoveGrouping(formula) if (identical(paste(deparse(formula_nogrouping), collapse = ""), paste(deparse(formula), collapse = ""))) stop("please specify a grouping variable") model <- callNextMethod(model, data, formula, lhs) model@fullformula <- update(model@fullformula, paste(".~. |", .FLXgetGroupingVar(formula))) mt1 <- terms(model@random, data=data) mf <- model.frame(delete.response(mt1), data=data, na.action = NULL) model@z <- model.matrix(attr(mf, "terms"), data) model@group <- grouping <- .FLXgetGrouping(formula, data)$group rownames(model@z) <- rownames(model@x) <- rownames(model@y) <- NULL model@x <- matrix(lapply(unique(grouping), function(g) model@x[grouping == g, , drop = FALSE]), ncol = 1) if (lhs) model@y <- matrix(lapply(unique(grouping), function(g) model@y[grouping == g, , drop = FALSE]), ncol = 1) z <- lapply(unique(grouping), function(g) model@z[grouping == g, , drop = FALSE]) z1 <- unique(z) if (length(z) == length(z1)) { model@which <- seq_along(z) } else { model@which <- sapply(z, function(y) which(sapply(z1, function(x) isTRUE(all.equal(x, y))))) } model@z <- matrix(z1, ncol = 1) model }) setMethod("FLXgetObs", "FLXMRlmm", function(model) sum(sapply(model@x, nrow))) setMethod("FLXdeterminePostunscaled", signature(model = "FLXMRlmm"), function(model, components, ...) { sapply(components, function(x) x@logLik(model@x, model@y, model@z, model@which, model@group)) }) setMethod("predict", signature(object="FLXMRlmm"), function(object, newdata, components, ...) { object <- FLXgetModelmatrix(object, newdata, formula = object@fullformula, lhs = FALSE) lapply(components, function(comp) unlist(comp@predict(object@x, ...))) }) setMethod("rFLXM", signature(model="FLXMRlmm", components="list"), function(model, components, class, group, ...) { class <- class[!duplicated(group)] y <- NULL for (l in seq_along(components)) { yl <- as.matrix(rFLXM(model, components[[l]], ...)) if (is.null(y)) y <- matrix(NA, nrow = length(class), ncol = ncol(yl)) y[class == l,] <- yl[class==l,,drop=FALSE] y <- matrix(y, ncol = ncol(yl)) } y }) setMethod("rFLXM", signature(model = "FLXMRlmm", components = "FLXcomponent"), function(model, components, ...) { sigma2 <- components@parameters$sigma2 V <- lapply(model@z, function(Z) tcrossprod(tcrossprod(Z, sigma2$Random), Z) + diag(nrow(Z)) * sigma2$Residual) mu <- components@predict(model@x) matrix(lapply(seq_along(model@x), function(i) t(mvtnorm::rmvnorm(1, mean = mu[[i]], sigma = V[[model@which[i]]]))), ncol = 1) }) setMethod("FLXgetNewModelmatrix", "FLXMRlmm", function(object, model, indices, groups) { object@y <- model@y[indices,,drop=FALSE] object@x <- model@x[indices,,drop=FALSE] object@which <- model@which[indices] if (length(unique(object@which)) < length(object@z)) { object@z <- model@z[sort(unique(object@which)),,drop=FALSE] object@which <- match(object@which, sort(unique(object@which))) } object }) flexmix/R/mgcv.R0000644000176200001440000001373114404637304013220 0ustar liggesuserssetOldClass("gam.prefit") setClassUnion("listOrgam.prefit", c("list", "gam.prefit")) setClass("FLXMRmgcv", representation(G = "listOrgam.prefit", control = "list"), contains="FLXMRglm") FLXMRmgcv <- function(formula = .~., family = c("gaussian", "binomial", "poisson"), offset = NULL, control = NULL, optimizer = c("outer", "newton"), in.out = NULL, eps = .Machine$double.eps, ...) { if (is.null(control)) control <- mgcv::gam.control() family <- match.arg(family) am <- if (family == "gaussian" && get(family)()$link == "identity") TRUE else FALSE z <- new("FLXMRmgcv", FLXMRglm(formula = formula, family = family, offset = offset), name=paste("FLXMRmgcv", family, sep=":"), control = control) scale <- if (family %in% c("binomial", "poisson")) 1 else -1 gam_fit <- function(G, w) { G$family <- get(family)() G$am <- am G$w <- w G$conv.tol <- control$mgcv.tol G$max.half <- control$mgcv.half zero_weights <- any(w < eps) if (zero_weights) { ok <- w >= eps w <- w[ok] G$X <- G$X[ok,,drop=FALSE] if (is.matrix(G$y)) G$y <- G$y[ok,,drop=FALSE] else G$y <- G$y[ok] G$mf <- G$mf[ok,,drop=FALSE] G$w <- G$w[ok] G$offset <- G$offset[ok] if (G$n.paraPen > 0) { OMIT <- which(colSums(abs(G$X)) == 0) if (length(OMIT) > 0) { Ncol <- ncol(G$X) Assign <- unique(G$assign[OMIT]) G$assign <- G$assign[-OMIT] G$nsdf <- G$nsdf - length(OMIT) G$X <- G$X[,-OMIT,drop=FALSE] G$mf$Grouping <- G$mf$Grouping[,-which(colSums(abs(G$mf$Grouping))==0),drop=FALSE] if (length(G$off) > 1) G$off[2] <- G$off[2] - length(OMIT) for (i in seq_along(G$smooth)) { G$smooth[[i]]$first.para <- G$smooth[[i]]$first.para - length(OMIT) G$smooth[[i]]$last.para <- G$smooth[[i]]$last.para - length(OMIT) } G$S[[1]] <- G$S[[1]][-c(OMIT-sum(G$assign != Assign)), -c(OMIT-sum(G$assign != Assign))] } } } z <- mgcv::gam(G = G, method = "ML", optimizer = optimizer, control = control, scale = scale, in.out = in.out, ...) if (zero_weights) { residuals <- z$residuals z$residuals <- rep(0, length(ok)) z$residuals[ok] <- residuals if (G$n.paraPen > 0 && length(OMIT) > 0) { coefficients <- z$coefficients z$coefficients <- rep(0, Ncol) z$coefficients[-OMIT] <- coefficients } } z } if (family=="gaussian"){ z@fit <- function(x, y, w, G){ gam.fit <- gam_fit(G, w) z@defineComponent(list(coef = gam.fit$coefficients, df = sum(gam.fit$edf)+1, sigma = sqrt(sum(w * gam.fit$residuals^2 / mean(w))/ (nrow(x)-sum(gam.fit$edf))))) } } else if(family %in% c("binomial", "poisson")){ z@fit <- function(x, y, w, G){ gam.fit <- gam_fit(G, w) z@defineComponent( list(coef = gam.fit$coefficients, df = sum(gam.fit$edf))) } } else stop(paste("Unknown family", family)) z } setMethod("FLXmstep", signature(model = "FLXMRmgcv"), function(model, weights, ...) { apply(weights, 2, function(w) model@fit(model@x, model@y, w, model@G)) }) setMethod("FLXgetModelmatrix", signature(model="FLXMRmgcv"), function(model, data, formula, lhs=TRUE, paraPen = list(), ...) { formula <- RemoveGrouping(formula) if (length(grep("\\|", deparse(model@formula)))) stop("no grouping variable allowed in the model") if(is.null(model@formula)) model@formula <- formula model@fullformula <- update(terms(formula, data=data), model@formula) gp <- mgcv::interpret.gam(model@fullformula) if (lhs) { model@terms <- terms(gp$fake.formula, data = data) mf <- model.frame(model@terms, data=data, na.action = NULL, drop.unused.levels = TRUE) response <- as.matrix(model.response(mf, "numeric")) model@y <- model@preproc.y(response) } else { model@terms <- terms(gp$fake.formula, data = data) mf <- model.frame(delete.response(model@terms), data=data, na.action = NULL, drop.unused.levels = TRUE) } model@G <- mgcv::gam(model@fullformula, data = data, fit = FALSE) model@x <- model@G$X model@contrasts <- attr(model@x, "contrasts") model@x <- model@preproc.x(model@x) model@xlevels <- .getXlevels(delete.response(model@terms), mf) model }) setMethod("predict", signature(object="FLXMRmgcv"), function(object, newdata, components, ...) { predict_gam <- function (object, newdata, ...) { nn <- names(newdata) mn <- colnames(object$model) for (i in 1:length(newdata)) if (nn[i] %in% mn && is.factor(object$model[, nn[i]])) { newdata[[i]] <- factor(newdata[[i]], levels = levels(object$model[, nn[i]])) } if (length(newdata) == 1) newdata[[2]] <- newdata[[1]] n.smooth <- length(object$smooth) Terms <- delete.response(object$pterms) X <- matrix(0, nrow(newdata), length(object$coefficients)) Xoff <- matrix(0, nrow(newdata), n.smooth) mf <- model.frame(Terms, newdata, xlev = object$xlevels) if (!is.null(cl <- attr(object$pterms, "dataClasses"))) .checkMFClasses(cl, mf) Xp <- model.matrix(Terms, mf, contrasts = object$contrasts) if (object$nsdf) X[, 1:object$nsdf] <- Xp if (n.smooth) for (k in 1:n.smooth) { Xfrag <- mgcv::PredictMat(object$smooth[[k]], newdata) X[, object$smooth[[k]]$first.para:object$smooth[[k]]$last.para] <- Xfrag Xfrag.off <- attr(Xfrag, "offset") if (!is.null(Xfrag.off)) { Xoff[, k] <- Xfrag.off } } X } object@G$model <- object@G$mf z <- list() for(k in seq_along(components)) { object@G$coefficients <- components[[k]]@parameters$coef X <- predict_gam(object@G, newdata) z[[k]] <- components[[k]]@predict(X, ...) } z }) flexmix/R/initFlexmix.R0000644000176200001440000000355614404637304014570 0ustar liggesuserssetClass("initMethod", representation(step1 = "FLXcontrol", step2 = "FLXcontrol")) initMethod <- function(name = c("tol.em", "cem.em", "sem.em"), step1 = list(tolerance = 10^-2), step2 = list(), control = list(), nrep = 3L) { name <- match.arg(name) z <- new("initMethod", step1 = as(c(step1, control), "FLXcontrol"), step2 = as(c(step2, control), "FLXcontrol")) z@step1@nrep <- as.integer(nrep) z@step2@nrep <- 1L z@step1@classify <- switch(name, cem.em = "CEM", sem.em = "SEM", tol.em = "weighted") z } initFlexmix <- function(..., k, init = list(), control = list(), nrep = 3L, verbose = TRUE, drop = TRUE, unique = FALSE) { MYCALL <- match.call() if (missing(k)) stop("'k' is missing.") if (!missing(control) & is(init, "initMethod")) warning("'control' argument ignored.") init <- do.call("initMethod", c(init, list(control = control, nrep = nrep))) MYCALL1 <- lapply(k, function(K) { MYCALL[["k"]] <- as.numeric(K) MYCALL }) names(MYCALL1) <- paste(k) STEP1 <- stepFlexmix(..., k = k, verbose = verbose, drop = FALSE, unique = FALSE, nrep = init@step1@nrep, control = init@step1) models <- lapply(k, function(K) { if (length(k) > 1 && verbose) cat("* ") new("flexmix", flexmix(..., control = init@step2, cluster = posterior(getModel(STEP1, paste(K)))), k0 = as.integer(K), call = MYCALL1[[paste(K)]]) }) if (length(k) > 1 && verbose) cat("\n") names(models) <- paste(k) if (drop & length(models) == 1) { return(models[[1]]) } else { z <- new("stepFlexmix", models = models, k = as.integer(k), logLiks = STEP1@logLiks, nrep = STEP1@nrep, call = MYCALL) if (unique) z <- unique(z) return(z) } } flexmix/R/factanal.R0000644000176200001440000000345214404637304014034 0ustar liggesuserssetClass("FLXMCfactanal", contains = "FLXMC") ###********************************************************** FLXMCfactanal <- function(formula=.~., factors = 1, ...) { z <- new("FLXMCfactanal", weighted=TRUE, formula=formula, dist = "mvnorm", name="mixtures of factor analyzers") z@fit <- function(x, y, w, ...){ cov.weighted <- cov.wt(y, wt = w)[c("center","cov")] cov <- cov.weighted$cov; center <- cov.weighted$center fa <- factanal(covmat = cov, factors = factors, ...) Sigma <- fa$loadings %*% t(fa$loadings) + diag(fa$uniquenesses) df <- (factors + 2) * ncol(y) predict <- function(x) matrix(center, nrow=nrow(x), ncol=length(center), byrow=TRUE) logLik <- function(x, y){ sds <- sqrt(diag(cov)) mvtnorm::dmvnorm(y, mean = center, sigma = Sigma * (sds %o% sds), log = TRUE) } new("FLXcomponent", parameters=list(mu = center, variance = diag(cov), loadings = fa$loadings, uniquenesses = fa$uniquenesses), df=df, logLik=logLik, predict=predict) } z } ###********************************************************** setMethod("rFLXM", signature(model = "FLXMCfactanal", components = "FLXcomponent"), function(model, components, class, ...) { FUN <- paste("r", model@dist, sep = "") Sigma <- components@parameters$loadings %*% t(components@parameters$loadings) + diag(components@parameters$uniquenesses) sds <- sqrt(components@parameters$variance) args <- list(n = nrow(model@x), mean = components@parameters$mu, sigma = Sigma * (sds %o% sds)) return(do.call(FUN, args)) }) flexmix/R/robust.R0000644000176200001440000000421714404637304013601 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: robust.R 5079 2016-01-31 12:21:12Z gruen $ # ###********************************************************* setClass("FLXMRrobglm", representation(bgw="logical"), prototype(bgw=FALSE), contains = "FLXMRglm") FLXMRrobglm <- function(formula = . ~ ., family=c("gaussian", "poisson"), bgw=FALSE, ...) { family <- match.arg(family) new("FLXMRrobglm", FLXMRglm(formula, family, ...), name = paste("FLXMRrobglm", family, sep=":"), bgw = bgw) } setMethod("FLXgetModelmatrix", signature(model="FLXMRrobglm"), function(model, data, formula, lhs=TRUE, ...) { model <- callNextMethod(model, data, formula, lhs) if (attr(terms(model@fullformula), "intercept")==0) stop("please include an intercept") new("FLXMRrobglm", model) }) setMethod("FLXremoveComponent", signature(model = "FLXMRrobglm"), function(model, nok, ...) { if (1 %in% nok) model <- as(model, "FLXMRglm") model }) setMethod("FLXmstep", signature(model = "FLXMRrobglm"), function(model, weights, ...) { if(model@bgw){ w <- weights[,1] } else{ w <- rep(1, nrow(weights)) } if(model@family=="gaussian") { cwt <- cov.wt(model@y, w) coef <- c(cwt$center, rep(0, ncol(model@x)-1)) names(coef) <- colnames(model@x) comp.1 <- model@defineComponent(list(coef = coef, df = 0, offset = NULL, sigma=sqrt(cwt$cov), family = model@family)) } else if(model@family=="poisson") { cwt <- cov.wt(model@y, w) coef <- c(log(3*cwt$center), rep(0, ncol(model@x)-1)) names(coef) <- colnames(model@x) comp.1 <- model@defineComponent(list(coef = coef, df = 0, offset = NULL, family = model@family)) } else{ stop("Other families not implemented yet!") } c(list(comp.1), FLXmstep(as(model, "FLXMRglm"), weights[, -1, drop=FALSE], ...)) }) flexmix/R/glmnet.R0000644000176200001440000000724114404637304013551 0ustar liggesusers#' @title flexmix model driver for adaptive lasso (elastic-net) with GLMs #' @author F. Mortier (fmortier@cirad.fr) and N. Picard (nicolas.picard@cirad.fr) #' @param formula A symbolic description of the model to be fit. #' The general form is y~x|g where y is the response, x the set of predictors and g an #' optional grouping factor for repeated measurements. #' @param family a description of the error distribution and link function to be used in the model. #' "gausian", "poisson" and "binomial" are allowed. #' @param adaptive boolean indicating if algorithm should perform adaptive lasso or not #' @param select boolean vector indicating which covariates will be included in the selection process. #' Others will be included in the model. #' @details Some care is needed to ensure convergence of the #' algorithm, which is computationally more challenging than a standard EM. #' In the proposed method, not only are cluster allocations identified #' and component parameters estimated as commonly done in mixture models, #' but there is also variable selection via penalized regression using #' $k$-fold cross-validation to choose the penalty parameter. #' For the algorithm to converge, it is necessary that the same cross-validation #' partitioning be used across the EM iterations, i.e., #' the subsamples for cross-validation must be defined at the beginning #' This is accomplished using the {\tt foldid} option #' as an additional parameter to be passed to \code{\link{cv.glmnet}} (see \link{glmnet} package documentation). FLXMRglmnet <- function(formula = .~., family = c("gaussian", "binomial", "poisson"), adaptive = TRUE, select = TRUE, offset = NULL, ...) { family <- match.arg(family) z <- FLXMRglm(formula = formula, family = family) z@preproc.x <- function(x) { if (!isTRUE(all.equal(x[, 1], rep(1, nrow(x)), check.attributes = FALSE))) stop("The model needs to include an intercept in the first column.") x } z@fit <- function(x, y, w) { if (all(!select)) { coef <- if (family == "gaussian") lm.wfit(x, y, w = w)$coef else if (family == "binomial") glm.fit(x, y, family = binomial(), weights = w)$coef else if (family == "poisson") glm.fit(x, y, family=poisson(), weights = w)$coef } else { if (adaptive) { coef <- if (family == "gaussian") lm.wfit(x, y, w = w)$coef[-1] else if(family == "binomial") glm.fit(x, y, family = binomial(), weights = w)$coef[-1] else if (family == "poisson") glm.fit(x, y, family = poisson(), weights = w)$coef[-1] penalty <- mean(w) / abs(coef) } else penalty <- rep(1, ncol(x) - 1) if (any(!select)){ select <- which(!select) penalty[select] <- 0 } m <- glmnet::cv.glmnet(x[, -1, drop = FALSE], y, family = family, weights = w, penalty.factor = penalty, ...) coef <- as.vector(coef(m, s = "lambda.min")) } df <- sum(coef != 0) sigma <- if (family == "gaussian") sqrt(sum(w * (y - x %*% coef)^2/mean(w))/(nrow(x) - df)) else NULL z@defineComponent( list(coef = coef, sigma = sigma, df = df + ifelse(family == "gaussian", 1, 0))) } z } flexmix/R/flxmcmvpois.R0000644000176200001440000000153714404637304014634 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: flxmcmvpois.R 5079 2016-01-31 12:21:12Z gruen $ # FLXMCmvpois <- function(formula=.~.) { z <- new("FLXMC", weighted=TRUE, formula=formula, dist="mvpois", name="model-based Poisson clustering") z@preproc.y <- function(x){ storage.mode(x) <- "integer" x } z@defineComponent <- function(para) { logLik <- function(x, y){ colSums(dpois(t(y), para$lambda, log=TRUE)) } predict <- function(x, ...){ matrix(para$lambda, nrow = nrow(x), ncol=length(para$lambda), byrow=TRUE) } new("FLXcomponent", parameters=list(lambda=para$lambda), df=para$df, logLik=logLik, predict=predict) } z@fit <- function(x, y, w, ...){ z@defineComponent(list(lambda = colSums(w*y)/sum(w), df = ncol(y))) } z } flexmix/R/models.R0000644000176200001440000002641214404637304013547 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: models.R 5079 2016-01-31 12:21:12Z gruen $ # FLXMRglm <- function(formula=.~., family=c("gaussian", "binomial", "poisson", "Gamma"), offset=NULL) { family <- match.arg(family) glmrefit <- function(x, y, w) { fit <- c(glm.fit(x, y, weights=w, offset=offset, family=get(family, mode="function")()), list(call = sys.call(), offset = offset, control = eval(formals(glm.fit)$control), method = "weighted.glm.fit")) fit$df.null <- sum(w) + fit$df.null - fit$df.residual - fit$rank fit$df.residual <- sum(w) - fit$rank fit$x <- x fit } z <- new("FLXMRglm", weighted=TRUE, formula=formula, name=paste("FLXMRglm", family, sep=":"), offset = offset, family=family, refit=glmrefit) z@preproc.y <- function(x){ if (ncol(x) > 1) stop(paste("for the", family, "family y must be univariate")) x } if(family=="gaussian"){ z@defineComponent <- function(para) { predict <- function(x, ...) { dotarg = list(...) if("offset" %in% names(dotarg)) offset <- dotarg$offset p <- x %*% para$coef if (!is.null(offset)) p <- p + offset p } logLik <- function(x, y, ...) dnorm(y, mean=predict(x, ...), sd=para$sigma, log=TRUE) new("FLXcomponent", parameters=list(coef=para$coef, sigma=para$sigma), logLik=logLik, predict=predict, df=para$df) } z@fit <- function(x, y, w, component){ fit <- lm.wfit(x, y, w=w, offset=offset) z@defineComponent(para = list(coef = coef(fit), df = ncol(x)+1, sigma = sqrt(sum(fit$weights * fit$residuals^2 / mean(fit$weights))/ (nrow(x)-fit$rank)))) } } else if(family=="binomial"){ z@preproc.y <- function(x){ if (ncol(x) != 2) stop("for the binomial family, y must be a 2 column matrix\n", "where col 1 is no. successes and col 2 is no. failures") if (any(x < 0)) stop("negative values are not allowed for the binomial family") x } z@defineComponent <- function(para) { predict <- function(x, ...) { dotarg = list(...) if("offset" %in% names(dotarg)) offset <- dotarg$offset p <- x %*% para$coef if (!is.null(offset)) p <- p + offset get(family, mode = "function")()$linkinv(p) } logLik <- function(x, y, ...) dbinom(y[,1], size=rowSums(y), prob=predict(x, ...), log=TRUE) new("FLXcomponent", parameters=list(coef=para$coef), logLik=logLik, predict=predict, df=para$df) } z@fit <- function(x, y, w, component){ fit <- glm.fit(x, y, weights=w, family=binomial(), offset=offset, start=component$coef) z@defineComponent(para = list(coef = coef(fit), df = ncol(x))) } } else if(family=="poisson"){ z@defineComponent <- function(para) { predict <- function(x, ...) { dotarg = list(...) if("offset" %in% names(dotarg)) offset <- dotarg$offset p <- x %*% para$coef if (!is.null(offset)) p <- p + offset get(family, mode = "function")()$linkinv(p) } logLik <- function(x, y, ...) dpois(y, lambda=predict(x, ...), log=TRUE) new("FLXcomponent", parameters=list(coef=para$coef), logLik=logLik, predict=predict, df=para$df) } z@fit <- function(x, y, w, component){ fit <- glm.fit(x, y, weights=w, family=poisson(), offset=offset, start=component$coef) z@defineComponent(para = list(coef = coef(fit), df = ncol(x))) } } else if(family=="Gamma"){ z@defineComponent <- function(para) { predict <- function(x, ...) { dotarg = list(...) if("offset" %in% names(dotarg)) offset <- dotarg$offset p <- x %*% para$coef if (!is.null(offset)) p <- p + offset get(family, mode = "function")()$linkinv(p) } logLik <- function(x, y, ...) dgamma(y, shape = para$shape, scale=predict(x, ...)/para$shape, log=TRUE) new("FLXcomponent", parameters = list(coef = para$coef, shape = para$shape), predict = predict, logLik = logLik, df = para$df) } z@fit <- function(x, y, w, component){ fit <- glm.fit(x, y, weights=w, family=Gamma(), offset=offset, start=component$coef) z@defineComponent(para = list(coef = coef(fit), df = ncol(x)+1, shape = sum(fit$prior.weights)/fit$deviance)) } } else stop(paste("Unknown family", family)) z } ###********************************************************** FLXMCmvnorm <- function(formula=.~., diagonal=TRUE) { z <- new("FLXMC", weighted=TRUE, formula=formula, dist = "mvnorm", name="model-based Gaussian clustering") z@defineComponent <- function(para) { logLik <- function(x, y) mvtnorm::dmvnorm(y, mean=para$center, sigma=para$cov, log=TRUE) predict <- function(x, ...) matrix(para$center, nrow=nrow(x), ncol=length(para$center), byrow=TRUE) new("FLXcomponent", parameters=list(center = para$center, cov = para$cov), df=para$df, logLik=logLik, predict=predict) } z@fit <- function(x, y, w, ...){ para <- cov.wt(y, wt=w)[c("center","cov")] para$df <- (3*ncol(y) + ncol(y)^2)/2 if(diagonal){ para$cov <- diag(diag(para$cov)) para$df <- 2*ncol(y) } z@defineComponent(para) } z } FLXMCnorm1 <- function(formula=.~.) { z <- new("FLXMC", weighted=TRUE, formula=formula, dist = "mvnorm", name="model-based univariate Gaussian clustering") z@defineComponent <- function(para) { logLik <- function(x, y) dnorm(y, mean=para$center, sd=sqrt(para$cov), log=TRUE) predict <- function(x, ...) matrix(para$center, nrow=nrow(x), ncol=1, byrow=TRUE) new("FLXcomponent", parameters=list(mean = as.vector(para$center), sd = as.vector(sqrt(para$cov))), df=para$df, logLik=logLik, predict=predict) } z@fit <- function(x, y, w, ...){ para <- cov.wt(as.matrix(y), wt=w)[c("center","cov")] z@defineComponent(c(para, list(df = 2))) } z } ###********************************************************** FLXMCmvbinary <- function(formula=.~., truncated = FALSE) { if (truncated) return(MCmvbinary_truncated(formula)) else return(MCmvbinary(formula)) } MCmvbinary <- function(formula=.~.) { z <- new("FLXMC", weighted=TRUE, formula=formula, dist = "mvbinary", name="model-based binary clustering") ## make sure that y is binary z@preproc.y <- function(x){ storage.mode(x) <- "logical" storage.mode(x) <- "integer" x } z@defineComponent <- function(para) { predict <- function(x, ...){ matrix(para$center, nrow=nrow(x), ncol=length(para$center), byrow=TRUE) } logLik <- function(x, y){ p <- matrix(para$center, nrow=nrow(x), ncol=length(para$center), byrow=TRUE) rowSums(log(y*p+(1-y)*(1-p))) } new("FLXcomponent", parameters=list(center=para$center), df=para$df, logLik=logLik, predict=predict) } z@fit <- function(x, y, w, ...) z@defineComponent(list(center = colSums(w*y)/sum(w), df = ncol(y))) z } ###********************************************************** binary_truncated <- function(y, w, maxit = 200, epsilon = .Machine$double.eps) { r_k <- colSums(y*w)/sum(w) r_0 <- 0 llh.old <- -Inf for (i in seq_len(maxit)) { p <- r_k/(1+r_0) llh <- sum((r_k*log(p))[r_k > 0])+ sum(((1 - r_k + r_0) * log(1-p))[(1-r_k+r_0) > 0]) if (abs(llh - llh.old)/(abs(llh) + 0.1) < epsilon) break llh.old <- llh prod_p <- prod(1-p) r_0 <- prod_p/(1-prod_p) } p } MCmvbinary_truncated <- function(formula=.~.) { z <- MCmvbinary(formula=formula) z@defineComponent <- function(para) { predict <- function(x, ...) { matrix(para$center, nrow = nrow(x), ncol = length(para$center), byrow = TRUE) } logLik <- function(x, y) { p <- matrix(para$center, nrow = nrow(x), ncol = length(para$center), byrow = TRUE) rowSums(log(y * p + (1 - y) * (1 - p))) - log(1 - prod(1-para$center)) } new("FLXcomponent", parameters = list(center = para$center), df = para$df, logLik = logLik, predict = predict) } z@fit <- function(x, y, w, ...){ z@defineComponent(list(center = binary_truncated(y, w), df = ncol(y))) } z } ###********************************************************** setClass("FLXMCmvcombi", representation(binary = "vector"), contains = "FLXMC") FLXMCmvcombi <- function(formula=.~.) { z <- new("FLXMCmvcombi", weighted=TRUE, formula=formula, dist = "mvcombi", name="model-based binary-Gaussian clustering") z@defineComponent <- function(para) { predict <- function(x, ...){ matrix(para$center, nrow=nrow(x), ncol=length(para$center), byrow=TRUE) } logLik <- function(x, y){ if(any(para$binary)){ p <- matrix(para$center[para$binary], nrow=nrow(x), ncol=sum(para$binary), byrow=TRUE) z <- rowSums(log(y[,para$binary,drop=FALSE]*p + (1-y[,para$binary,drop=FALSE])*(1-p))) } else z <- rep(0, nrow(x)) if(!all(para$binary)){ if(sum(!para$binary)==1) z <- z + dnorm(y[,!para$binary], mean=para$center[!para$binary], sd=sqrt(para$var), log=TRUE) else z <- z + mvtnorm::dmvnorm(y[,!para$binary,drop=FALSE], mean=para$center[!para$binary], sigma=diag(para$var), log=TRUE) } z } new("FLXcomponent", parameters=list(center=para$center, var=para$var), df=para$df, logLik=logLik, predict=predict) } z@fit <- function(x, y, w, binary, ...){ para <- cov.wt(y, wt=w)[c("center","cov")] para <- list(center = para$center, var = diag(para$cov)[!binary], df = ncol(y) + sum(!binary), binary = binary) z@defineComponent(para) } z } setMethod("FLXgetModelmatrix", signature(model="FLXMCmvcombi"), function(model, data, formula, lhs=TRUE, ...) { model <- callNextMethod(model, data, formula, lhs) model@binary <- apply(model@y, 2, function(z) all(unique(z) %in% c(0,1))) model }) setMethod("FLXmstep", signature(model = "FLXMCmvcombi"), function(model, weights, components) { return(sapply(seq_len(ncol(weights)), function(k) model@fit(model@x, model@y, weights[,k], model@binary))) }) flexmix/R/boot.R0000644000176200001440000003401314404637304013223 0ustar liggesuserssetGeneric("boot", function(object, ...) standardGeneric("boot")) setGeneric("LR_test", function(object, ...) standardGeneric("LR_test")) setClass("FLXboot", representation(call="call", object="flexmix", parameters="list", concomitant="list", priors="list", logLik="matrix", k="matrix", converged="matrix", models="list", weights="list")) setMethod("show", "FLXboot", function(object) { cat("\nCall:", deparse(object@call,0.75*getOption("width")), sep="\n") }) generate_weights <- function(object) { if(is.null(object@weights) & is(object@model, "FLXMC")) { X <- do.call("cbind", lapply(object@model, function(z) z@y)) x <- apply(X, 1, paste, collapse = "") x <- as.integer(factor(x, unique(x))) object@weights <- as.vector(table(x)) indices_unique <- !duplicated(x) for (i in seq_along(object@model)) { object@model[[i]]@x <- object@model[[i]]@x[indices_unique,,drop=FALSE] object@model[[i]]@y <- object@model[[i]]@y[indices_unique,,drop=FALSE] } object@concomitant@x <- object@concomitant@x[indices_unique,,drop=FALSE] } object } setGeneric("FLXgetNewModelmatrix", function(object, ...) standardGeneric("FLXgetNewModelmatrix")) setMethod("FLXgetNewModelmatrix", "FLXM", function(object, model, indices, groups) { if (length(groups$group) > 0) { obs_groups <- lapply(groups$group[groups$groupfirst][indices], function(x) which(x == groups$group)) indices_grouped <- unlist(obs_groups) } else { indices_grouped <- indices } object@y <- model@y[indices_grouped,,drop=FALSE] object@x <- model@x[indices_grouped,,drop=FALSE] object }) setMethod("FLXgetNewModelmatrix", "FLXMRglmfix", function(object, model, indices, groups) { if (length(groups$group) > 0) { obs_groups <- lapply(groups$group[groups$groupfirst][indices], function(x) which(x == groups$group)) indices_grouped <- unlist(obs_groups) } else { indices_grouped <- indices } object@y <- do.call("rbind", rep(list(model@y[indices_grouped,,drop=FALSE]), sum(model@nestedformula@k))) object@x <- do.call("rbind", lapply(seq_len(sum(model@nestedformula@k)), function(K) model@x[model@segment[,K],,drop=FALSE][indices_grouped,,drop=FALSE])) N <- nrow(object@x)/sum(model@nestedformula@k) object@segment <- matrix(FALSE, ncol = sum(model@nestedformula@k), nrow = nrow(object@x)) for (m in seq_len(sum(model@nestedformula@k))) object@segment[(m - 1) * N + seq_len(N), m] <- TRUE object }) boot_flexmix <- function(object, R, sim = c("ordinary", "empirical", "parametric"), initialize_solution = FALSE, keep_weights = FALSE, keep_groups = TRUE, verbose = 0, control, k, model = FALSE, ...) { sim <- match.arg(sim) if (missing(R)) stop("R needs to be specified") if (!missing(control)) object@control <- do.call("new", c(list(Class = "FLXcontrol", object@control), control)) if (missing(k)) k <- object@k m <- length(object@model) has_weights <- !keep_weights & !is.null(object@weights) if (has_weights) object <- undo_weights(object) if (!keep_groups & length(object@group)) { object@concomitant@x <- object@concomitant@x[as.integer(object@group),,drop = FALSE] object@group <- factor() } groups <- list() groups$group <- object@group groups$groupfirst <- if (length(groups$group) > 0) groupFirst(groups$group) else rep(TRUE, FLXgetObs(object@model[[1]])) concomitant <- parameters <- priors <- models <- weights <- vector("list", R) logLik <- ks <- converged <- matrix(nrow=R, ncol = length(k), dimnames = list(BS = seq_len(R), k = k)) for (iter in seq_len(R)) { new <- object newgroups <- groups if(verbose && !(iter%%verbose)) cat("* ") if (iter > 1) { if (sim == "parametric") { y <- rflexmix(object, ...)$y for (i in seq_len(m)) new@model[[i]]@y <- matrix(as.vector(t(y[[i]])), nrow = nrow(new@model[[i]]@x), ncol = ncol(y[[i]]), byrow = TRUE) } else { n <- sum(groups$groupfirst) indices <- sample(seq_len(n), n, replace = TRUE) if (length(groups$group) > 0) { obs_groups <- lapply(groups$group[groups$groupfirst][indices], function(x) which(x == groups$group)) newgroups$group <- factor(rep(seq_along(obs_groups), sapply(obs_groups, length))) newgroups$groupfirst <- !duplicated(newgroups$group) } for (i in seq_len(m)) { new@model[[i]] <- FLXgetNewModelmatrix(new@model[[i]], object@model[[i]], indices, groups) } new@concomitant@x <- new@concomitant@x[indices,,drop=FALSE] } } if (has_weights & !length(groups$group) > 0) { new <- generate_weights(new) newgroups$groupfirst <- rep(TRUE, FLXgetObs(new@model[[1]])) } parameters[[iter]] <- concomitant[[iter]] <- priors[[iter]] <- list() NREP <- rep(object@control@nrep, length(k)) if (initialize_solution & object@k %in% k) NREP[k == object@k] <- 1L for (K in seq_along(k)) { fit <- new("flexmix", logLik = -Inf) for (nrep in seq_len(NREP[K])) { if (k[K] != object@k | !initialize_solution) { postunscaled <- initPosteriors(k[K], NULL, FLXgetObs(new@model[[1]]), newgroups) } else { postunscaled <- matrix(0, nrow = FLXgetObs(new@model[[1]]), ncol = k[K]) for (i in seq_len(m)) postunscaled <- postunscaled + FLXdeterminePostunscaled(new@model[[i]], lapply(new@components, function(x) x[[i]])) if(length(newgroups$group)>0) postunscaled <- groupPosteriors(postunscaled, newgroups$group) prior <- evalPrior(new@prior, new@concomitant) postunscaled <- if (is(prior, "matrix")) postunscaled + log(prior) else sweep(postunscaled, 2, log(prior), "+") postunscaled <- exp(postunscaled - log_row_sums(postunscaled)) } x <- try(FLXfit(new@model, new@concomitant, new@control, postunscaled, newgroups, weights = new@weights)) if (!is(x, "try-error")) { if(logLik(x) > logLik(fit)) fit <- x } } if (is.finite(logLik(fit))) { parameters[[iter]][paste(k[K])] <- list(parameters(fit, simplify = FALSE, drop = FALSE)) concomitant[[iter]][paste(k[K])] <- list(parameters(fit, which = "concomitant")) priors[[iter]][[paste(k[K])]] <- prior(fit) logLik[iter, paste(k[K])] <- logLik(fit) ks[iter, paste(k[K])] <- fit@k converged[iter, paste(k[K])] <- fit@converged if (model) { models[[iter]] <- fit@model weights[[iter]] <- fit@weights } } else { parameters[[iter]][[paste(k[K])]] <- concomitant[[iter]][[paste(k[K])]] <- priors[[iter]][[paste(k[K])]] <- NULL } } } if(verbose) cat("\n") new("FLXboot", call = sys.call(-1), object = object, parameters = parameters, concomitant = concomitant, priors = priors, logLik = logLik, k = ks, converged = converged, models = models, weights = weights) } setMethod("boot", signature(object="flexmix"), boot_flexmix) setMethod("LR_test", signature(object="flexmix"), function(object, R, alternative = c("greater", "less"), control, ...) { alternative <- match.arg(alternative) if (missing(control)) control <- object@control if (object@k == 1 & alternative == "less") stop(paste("alternative", alternative, "only possible for a mixture\n", "with at least two components")) k <- object@k + switch(alternative, greater = 0:1, less = 0:-1) names(k) <- k boot <- boot(object, R, sim = "parametric", k = k, initialize_solution = TRUE, control = control, ...) ok <- apply(boot@k, 1, identical, k) lrts <- 2*apply(boot@logLik[ok,order(k)], 1, diff) STATISTIC <- lrts[1] names(STATISTIC) <- "LRTS" PARAMETER <- length(lrts) names(PARAMETER) <- "BS" RETURN <- list(parameter = PARAMETER, p.value = sum(lrts[1] <= lrts)/length(lrts), alternative = alternative, null.value = object@k, method = "Bootstrap likelihood ratio test", data.name = deparse(substitute(object)), bootstrap.results = boot) class(RETURN) <- "htest" RETURN }) setMethod("parameters", "FLXboot", function(object, k, ...) { if (missing(k)) k <- object@object@k Coefs <- lapply(seq_along(object@parameters), function(i) if (is.na(object@k[i])) NULL else do.call("cbind", c(lapply(seq_len(object@k[i]), function(j) unlist(sapply(seq_along(object@object@model), function(m) FLXgetParameters(as(object@object@model[[m]], "FLXMR"), if (is(object@object@model[[m]]@defineComponent, "expression")) list(eval(object@object@model[[m]]@defineComponent, c(object@parameters[[i]][[paste(k)]][[m]][[j]], list(df = object@object@components[[j]][[m]]@df)))) else { list(object@object@model[[m]]@defineComponent( c(object@parameters[[i]][[paste(k)]][[m]][[j]], list(df = object@object@components[[j]][[m]]@df)))) })))), as.list(rep(NA, k - object@k[i]))))) Coefs <- t(do.call("cbind", Coefs)) colnames(Coefs) <- gsub("Comp.1_", "", colnames(Coefs)) Prior <- t(do.call("cbind", lapply(object@concomitant, function(x) do.call("cbind", c(list(x[[paste(k)]]), as.list(rep(NA, k - ifelse(length(x), ncol(x[[paste(k)]]), k)))))))) cbind(Coefs, Prior) }) setMethod("clusters", signature(object = "FLXboot", newdata = "listOrdata.frame"), function(object, newdata, k, ...) { if (missing(k)) k <- object@object@k lapply(seq_len(length(object@priors)), function(i) { new <- object@object new@prior <- object@priors[[i]][[paste(k)]] new@k <- length(new@prior) new@components <- rep(list(vector("list", length(object@object@model))), length(new@prior)) for (m in seq_along(new@model)) { variables <- c("x", "y", "offset", "family") variables <- variables[variables %in% slotNames(new@model[[m]])] for (var in variables) assign(var, slot(new@model[[m]], var)) for (K in seq_len(object@k[i])) { new@components[[K]][[m]] <- if (is(object@object@model[[m]]@defineComponent, "expression")) eval(object@object@model[[m]]@defineComponent, c(object@parameters[[i]][[paste(k)]][[m]][[K]], list(df = object@object@components[[K]][[m]]@df))) else object@object@model[[m]]@defineComponent( c(object@parameters[[i]][[paste(k)]][[m]][[K]], list(df = object@object@components[[K]][[m]]@df))) } } clusters(new, newdata = newdata)}) }) setMethod("posterior", signature(object = "FLXboot", newdata = "listOrdata.frame"), function(object, newdata, k, ...) { if (missing(k)) k <- object@object@k lapply(seq_len(length(object@priors)), function(i) { new <- object@object new@prior <- object@priors[[i]][[paste(k)]] new@k <- length(new@prior) new@components <- rep(list(vector("list", length(object@object@model))), length(new@prior)) for (m in seq_along(new@model)) { variables <- c("x", "y", "offset", "family") variables <- variables[variables %in% slotNames(new@model[[m]])] for (var in variables) assign(var, slot(new@model[[m]], var)) for (K in seq_len(object@k[i])) { new@components[[K]][[m]] <- if (is(object@object@model[[m]]@defineComponent, "expression")) eval(object@object@model[[m]]@defineComponent, c(object@parameters[[i]][[paste(k)]][[m]][[K]], list(df = object@object@components[[K]][[m]]@df))) else object@object@model[[m]]@defineComponent( c(object@parameters[[i]][[paste(k)]][[m]][[K]], list(df = object@object@components[[K]][[m]]@df))) } } posterior(new, newdata = newdata)}) }) setMethod("predict", signature(object = "FLXboot"), function(object, newdata, k, ...) { if (missing(k)) k <- object@object@k lapply(seq_len(length(object@priors)), function(i) { new <- object@object new@components <- vector("list", object@k[i, paste(k)]) new@components <- lapply(new@components, function(x) vector("list", length(new@model))) for (m in seq_along(new@model)) { variables <- c("x", "y", "offset", "family") variables <- variables[variables %in% slotNames(new@model[[m]])] for (var in variables) assign(var, slot(new@model[[m]], var)) for (K in seq_len(object@k[i, paste(k)])) { new@components[[K]][[m]] <- if (is(object@object@model[[m]]@defineComponent, "expression")) eval(object@object@model[[m]]@defineComponent, c(object@parameters[[i]][[paste(k)]][[m]][[K]], list(df = object@object@components[[1]][[m]]@df))) else object@object@model[[m]]@defineComponent( c(object@parameters[[i]][[paste(k)]][[m]][[K]], list(df = object@object@components[[1]][[m]]@df))) } } predict(new, newdata = newdata, ...)}) }) flexmix/R/glmFix.R0000644000176200001440000001622614404637304013514 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: glmFix.R 5156 2019-02-12 08:11:16Z gruen $ # FLXMRglmfix <- function(formula=.~., fixed=~0, varFix = FALSE, nested = NULL, family=c("gaussian", "binomial", "poisson", "Gamma"), offset=NULL) { family <- match.arg(family) nested <- as(nested, "FLXnested") if (length(fixed) == 3) stop("no left hand side allowed for fixed") z <- new("FLXMRglmfix", FLXMRglm(formula, family, offset), fixed=fixed, name=paste("FLXMRglmfix", family, sep=":"), nestedformula=nested, variance = varFix) if(family=="gaussian"){ z@fit <- function(x, y, w, incidence, variance, ...){ fit <- lm.wfit(x, y, w=w, offset=offset) k <- nrow(incidence) n <- nrow(x)/k sigma <- vector(length=k) cumVar <- cumsum(c(0, variance)) for (i in seq_along(variance)) { ind <- cumVar[i]*n + seq_len(n*variance[i]) sigma[cumVar[i] + seq_len(variance[i])] <- sqrt(sum(fit$weights[ind] * fit$residuals[ind]^2 / mean(fit$weights[ind]))/ (length(ind) - sum(incidence[i,]))) } fit <- fit[c("coefficients")] coefs <- coef(fit) names(coefs) <- colnames(incidence) df <- rowSums(incidence/rep(colSums(incidence), each = nrow(incidence))) + rep(1/variance, variance) lapply(seq_len(k), function(K) z@defineComponent( list(coef = coefs[as.logical(incidence[K, ])], sigma = sigma[K], df = df[K]))) } } else if(family=="binomial"){ z@fit <- function(x, y, w, incidence, ...){ fit <- glm.fit(x, y, weights=w, family=binomial(), offset=offset) fit <- fit[c("coefficients","family")] k <- nrow(incidence) coefs <- coef(fit) names(coefs) <- colnames(incidence) df <- rowSums(incidence/rep(colSums(incidence), each = nrow(incidence))) lapply(seq_len(k), function(K) z@defineComponent( list(coef = coefs[as.logical(incidence[K, ])], df = df[K]))) } } else if(family=="poisson"){ z@fit <- function(x, y, w, incidence, ...){ fit <- glm.fit(x, y, weights=w, family=poisson(), offset=offset) fit <- fit[c("coefficients","family")] k <- nrow(incidence) coefs <- coef(fit) names(coefs) <- colnames(incidence) df <- rowSums(incidence/rep(colSums(incidence), each = nrow(incidence))) lapply(seq_len(k), function(K) z@defineComponent( list(coef = coefs[as.logical(incidence[K, ])], df = df[K]))) } } else if(family=="Gamma"){ z@fit <- function(x, y, w, incidence, ...){ fit <- glm.fit(x, y, weights=w, family=Gamma(), offset=offset) shape <- sum(fit$prior.weights)/fit$deviance fit <- fit[c("coefficients","family")] k <- nrow(incidence) coefs <- coef(fit) names(coefs) <- colnames(incidence) df <- rowSums(incidence/rep(colSums(incidence), each = nrow(incidence))) lapply(seq_len(k), function(K) z@defineComponent( list(coef = coefs[as.logical(incidence[K, ])], df = df[K], shape = shape))) } } else stop(paste("Unknown family", family)) z } ###********************************************************** setMethod("refit_mstep", signature(object="FLXMRglmfix", newdata="missing"), function(object, newdata, weights, ...) { warning("Separate regression models are fitted using posterior weights.") lapply(seq_len(ncol(weights)), function(k) { x <- object@x[object@segment[, k], as.logical(object@design[k,]), drop = FALSE] colnames(x) <- colnames(object@design)[as.logical(object@design[k,])] y <- object@y[object@segment[, k],, drop = FALSE] fit <- object@refit(x, y, weights[,k], ...) fit <- c(fit, list(formula = object@fullformula, terms = object@terms, contrasts = object@contrasts, xlevels = object@xlevels)) class(fit) <- c("glm", "lm") fit }) }) ###********************************************************** setMethod("fitted", signature(object="FLXMRglmfix"), function(object, components, ...) { N <- nrow(object@x)/length(components) z <- list() for(n in seq_along(components)){ x <- object@x[(n-1)*N + seq_len(N), as.logical(object@design[n,]), drop=FALSE] z[[n]] <- list(components[[n]]@predict(x)) } z }) ###********************************************************** setMethod("predict", signature(object="FLXMRglmfix"), function(object, newdata, components, ...) { model <- FLXgetModelmatrix(object, newdata, object@fullformula, lhs=FALSE) k <- sum(object@nestedformula@k) N <- nrow(model@x)/k z <- list() for (m in seq_len(k)) { z[[m]] <- components[[m]]@predict(model@x[model@segment[,m], as.logical(model@design[m,]), drop=FALSE], ...) } z }) ###********************************************************** setMethod("FLXgetModelmatrix", signature(model="FLXMRfix"), function(model, data, formula, lhs=TRUE, ...) { formula <- RemoveGrouping(formula) if (length(grep("\\|", deparse(model@formula)))) stop("no grouping variable allowed in the model") if(is.null(model@formula)) model@formula <- formula model@fullformula <- update.formula(formula, model@formula) k <- model@nestedformula mm.all <- modelMatrix(model@fullformula, model@fixed, k@formula, data, lhs, model@xlevels) model@design <- modelDesign(mm.all, k) desNested <- if (sum(sapply(mm.all$nested, ncol))) { rbind(ncol(mm.all$fixed) + seq_len(sum(sapply(mm.all$nested, ncol))), unlist(lapply(seq_along(mm.all$nested), function(i) rep(i, ncol(mm.all$nested[[i]]))))) }else matrix(ncol=0, nrow=2) model@x <- cbind(kronecker(rep(1, sum(k@k)), mm.all$fixed), do.call("cbind", lapply(unique(desNested[2,]), function(i) { kronecker(model@design[,desNested[1, desNested[2, ] == i][1]], mm.all$nested[[i]])})), kronecker(diag(sum(k@k)), mm.all$random)) N <- nrow(model@x)/sum(k@k) model@segment <- matrix(FALSE, ncol = sum(k@k), nrow = nrow(model@x)) for (m in seq_len(sum(k@k))) model@segment[(m - 1) * N + seq_len(N), m] <- TRUE if (lhs) { y <- mm.all$response rownames(y) <- NULL response <- as.matrix(apply(y, 2, rep, sum(k@k))) model@y <- model@preproc.y(response) } model@x <- model@preproc.x(model@x) model@xlevels <- mm.all$xlevels model }) flexmix/R/FLXMCdist1.R0000644000176200001440000002123114404637304014074 0ustar liggesusers## Note that the implementation of the weighted ML estimation is ## influenced and inspired by the function fitdistr from package MASS ## and function fitdist from package fitdistrplus. FLXMCdist1 <- function(formula=.~., dist, ...) { foo <- paste("FLXMC", dist, sep = "") if (!exists(foo)) stop("This distribution has not been implemented yet.") get(foo)(formula, ...) } prepoc.y.pos.1 <- function(x) { if (ncol(x) > 1) stop("for the inverse gaussian family y must be univariate") if (any(x < 0)) stop("values must be >= 0") x } FLXMClnorm <- function(formula=.~., ...) { z <- new("FLXMC", weighted=TRUE, formula=formula, dist = "lnorm", name="model-based log-normal clustering") z@preproc.y <- prepoc.y.pos.1 z@defineComponent <- function(para) { predict <- function(x, ...) matrix(para$meanlog, nrow = nrow(x), ncol = 1, byrow = TRUE) logLik <- function(x, y) dlnorm(y, meanlog = predict(x, ...), sdlog = para$sdlog, log = TRUE) new("FLXcomponent", parameters = list(meanlog = para$meanlog, sdlog = para$sdlog), predict = predict, logLik = logLik, df = para$df) } z@fit <- function(x, y, w, ...) { logy <- log(y); meanw <- mean(w) meanlog <- mean(w * logy) / meanw sdlog <- sqrt(mean(w * (logy - meanlog)^2) / meanw) z@defineComponent(list(meanlog = meanlog, sdlog = sdlog, df = 2)) } z } FLXMCinvGauss <- function(formula=.~., ...) { z <- new("FLXMC", weighted=TRUE, formula=formula, name = "model-based inverse Gaussian clustering", dist = "invGauss") z@preproc.y <- prepoc.y.pos.1 z@defineComponent <- function(para) { predict <- function(x, ...) matrix(para$nu, nrow = nrow(x), ncol = length(para$nu), byrow = TRUE) logLik <- function(x, y, ...) SuppDists::dinvGauss(y, nu = predict(x, ...), lambda = para$lambda, log = TRUE) new("FLXcomponent", parameters = list(nu = para$nu, lambda = para$lambda), predict = predict, logLik = logLik, df = para$df) } z@fit <- function(x, y, w, ...){ nu <- mean(w * y) / mean(w) lambda <- mean(w) / mean(w * (1 / y - 1 / nu)) z@defineComponent(list(nu = nu, lambda = lambda, df = 2)) } z } FLXMCgamma <- function(formula=.~., method = "Nelder-Mead", warn = -1, ...) { z <- new("FLXMC", weighted=TRUE, formula=formula, name = "model-based gamma clustering", dist = "gamma") z@preproc.y <- prepoc.y.pos.1 z@defineComponent <- function(para) { predict <- function(x, ...) matrix(para$shape, nrow = nrow(x), ncol = length(para$shape), byrow = TRUE) logLik <- function(x, y, ...) dgamma(y, shape = predict(x, ...), rate = para$rate, log = TRUE) new("FLXcomponent", parameters = list(shape = para$shape, rate = para$rate), predict = predict, logLik = logLik, df = para$df) } z@fit <- function(x, y, w, component){ if (!length(component)) { sw <- sum(w) mean <- sum(y * w) / sw var <- (sum(y^2 * w) / sw - mean^2) * sw / (sw - 1) start <- c(mean^2/var, mean/var) } else start <- unname(unlist(component)) control <- list(parscale = c(1, start[2])) f <- function(parms) -sum(dgamma(y, shape = parms[1], rate = parms[2], log = TRUE) * w) oop <- options(warn = warn) on.exit(oop) parms <- optim(start, f, method = method, control = control)$par z@defineComponent(list(shape = parms[1], rate = parms[2], df = 2)) } z } FLXMCexp <- function(formula=.~., ...) { z <- new("FLXMC", weighted=TRUE, formula=formula, name = "model-based exponential clustering", dist = "exp") z@preproc.y <- prepoc.y.pos.1 z@defineComponent <- function(para) { predict <- function(x, ...) matrix(para$rate, nrow = nrow(x), ncol = length(para$rate), byrow = TRUE) logLik <- function(x, y, ...) dexp(y, rate = predict(x, ...), log = TRUE) new("FLXcomponent", parameters = list(rate = para$rate), predict = predict, logLik = logLik, df = para$df) } z@fit <- function(x, y, w, component) z@defineComponent(list(rate = mean(w) / mean(w * y), df = 1)) z } FLXMCweibull <- function(formula=.~., method = "Nelder-Mead", warn = -1, ...) { z <- new("FLXMC", weighted=TRUE, formula=formula, name = "model-based Weibull clustering", dist = "weibull") z@preproc.y <- prepoc.y.pos.1 z@defineComponent <- function(para) { predict <- function(x, ...) matrix(para$shape, nrow = nrow(x), ncol = length(para$shape), byrow = TRUE) logLik <- function(x, y, ...) dweibull(y, shape = predict(x, ...), scale = para$scale, log = TRUE) new("FLXcomponent", parameters = list(shape = para$shape, scale = para$scale), predict = predict, logLik = logLik, df = para$df) } z@fit <- function(x, y, w, component){ if (!length(component)) { ly <- log(y) sw <- sum(w) mean <- sum(ly * w) / sw var <- (sum(ly^2 * w) / sw - mean^2) * sw / (sw - 1) shape <- 1.2/sqrt(var) scale <- exp(mean + 0.572/shape) start <- c(shape, scale) } else start <- unname(unlist(component)) f <- function(parms) -sum(dweibull(y, shape = parms[1], scale = parms[2], log = TRUE) * w) oop <- options(warn = warn) on.exit(oop) parms <- optim(start, f, method = method)$par z@defineComponent(list(shape = parms[1], scale = parms[2], df = 2)) } z } FLXMCburr <- function(formula=.~., start = NULL, method = "Nelder-Mead", warn = -1, ...) { z <- new("FLXMC", weighted=TRUE, formula=formula, name = "model-based Burr clustering", dist = "burr") z@preproc.y <- prepoc.y.pos.1 z@defineComponent <- function(para) { predict <- function(x, ...) matrix(para$shape1, nrow = nrow(x), ncol = length(para$shape1), byrow = TRUE) logLik <- function(x, y, ...) actuar::dburr(y, shape1 = predict(x, ...), shape2 = para$shape2, scale = para$scale, log = TRUE) new("FLXcomponent", parameters = list(shape1 = para$shape1, shape2 = para$shape2, scale = para$scale), predict = predict, logLik = logLik, df = para$df) } z@fit <- function(x, y, w, component){ if (!length(component)) { if (is.null(start)) start <- c(1, 1) } else start <- unname(unlist(component[2:3])) f <- function(parms) { shape1 <- sum(w) / sum(w * log(1 + (y/parms[2])^parms[1])) -sum(actuar::dburr(y, shape1 = shape1, shape2 = parms[1], scale = parms[2], log = TRUE) * w) } oop <- options(warn = warn) on.exit(oop) parms <- optim(start, f, method = method)$par z@defineComponent(list(shape1 = sum(w) / sum(w * log(1 + (y/parms[2])^parms[1])), shape2 = parms[1], scale = parms[2], df = 3)) } z } FLXMCinvburr <- function(formula=.~., start = NULL, warn = -1, ...) { z <- new("FLXMC", weighted=TRUE, formula=formula, name = "model-based Inverse Burr clustering", dist = "invburr") z@preproc.y <- prepoc.y.pos.1 z@defineComponent <- function(para) { predict <- function(x, ...) matrix(para$shape1, nrow = nrow(x), ncol = length(para$shape1), byrow = TRUE) logLik <- function(x, y, ...) actuar::dinvburr(y, shape1 = predict(x, ...), shape2 = para$shape2, scale = para$scale, log = TRUE) new("FLXcomponent", parameters = list(shape1 = para$shape1, shape2 = para$shape2, scale = para$scale), predict = predict, logLik = logLik, df = para$df) } z@fit <- function(x, y, w, component){ if (!length(component)) { if (is.null(start)) start <- c(1, 1) } else start <- unname(unlist(component[2:3])) f <- function(parms) { shape1 <- sum(w) / sum(w * log(1 + (parms[2]/y)^parms[1])) -sum(actuar::dinvburr(y, shape1 = shape1, shape2 = parms[1], scale = parms[2], log = TRUE) * w) } oop <- options(warn = warn) on.exit(oop) parms <- optim(start, f, method = "Nelder-Mead")$par z@defineComponent(list(shape1 = sum(w) / sum(w * log(1 + (parms[2]/y)^parms[1])), shape2 = parms[1], scale = parms[2], df = 3)) } z } flexmix/R/refit.R0000644000176200001440000005270514404637304013401 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: refit.R 5079 2016-01-31 12:21:12Z gruen $ # ###********************************************************* setMethod("FLXgetParameters", signature(object="FLXdist"), function(object, model) { if (missing(model)) model <- seq_along(object@model) coefficients <- unlist(lapply(model, function(m) { Model <- unlist(FLXgetParameters(object@model[[m]], lapply(object@components, "[[", m))) names(Model) <- paste("model.", m, "_", names(Model), sep = "") Model })) c(coefficients, FLXgetParameters(object@concomitant)) }) setMethod("FLXgetParameters", signature(object="FLXM"), function(object, components, ...) { lapply(components, function(x) unlist(slot(x, "parameters"))) }) setMethod("FLXgetParameters", signature(object="FLXMC"), function(object, components, ...) { if (object@dist == "mvnorm") { return(lapply(components, function(x) { pars <- x@parameters if (identical(pars$cov, diag(diag(pars$cov)))) return(c(pars$center, diag(pars$cov))) else return(c(pars$center, pars$cov[lower.tri(pars$cov, diag = TRUE)])) })) } else return(lapply(components, function(x) unlist(slot(x, "parameters")))) }) setMethod("FLXgetParameters", signature(object="FLXMRglm"), function(object, components, ...) { parms <- lapply(components, function(x) unlist(slot(x, "parameters"))) Design <- FLXgetDesign(object, components) if (object@family == "gaussian") { parms <- lapply(parms, function(x) { x["sigma"] <- log(x["sigma"]) x }) colnames(Design) <- gsub("sigma$", "log(sigma)", colnames(Design)) } parms_unique <- vector(length = ncol(Design)) names(parms_unique) <- colnames(Design) for (k in seq_along(parms)) parms_unique[as.logical(Design[k,])] <- parms[[k]] parms_unique }) setMethod("FLXgetParameters", signature(object="FLXP"), function(object, ...) { if (length(object@coef) == 1) return(NULL) alpha <- log(object@coef[-1]) - log(object@coef[1]) names(alpha) <- paste("concomitant", paste("Comp", seq_along(object@coef)[-1], "alpha", sep = "."), sep = "_") return(alpha) }) setMethod("FLXgetParameters", signature(object="FLXPmultinom"), function(object, ...) { coefficients <- object@coef[,-1,drop=FALSE] if (ncol(coefficients) > 0) { Names <- paste("Comp", rep(seq_len(ncol(coefficients)+1)[-1], each = nrow(coefficients)), rownames(coefficients), sep = ".") coefficients <- as.vector(coefficients) names(coefficients) <- paste("concomitant", Names, sep = "_") return(coefficients) }else return(NULL) }) setMethod("VarianceCovariance", signature(object="flexmix"), function(object, model = TRUE, gradient, optim_control = list(), ...) { if (object@control@classify != "weighted") stop("Only for weighted ML estimation possible.") if (length(FLXgetParameters(object)) != object@df) stop("not implemented yet for restricted parameters.") if (missing(gradient)) gradient <- FLXgradlogLikfun(object) optim_control$fnscale <- -1 fit <- optim(fn = FLXlogLikfun(object), par = FLXgetParameters(object), gr = gradient, hessian = TRUE, method = "BFGS", control = optim_control, ...) list(coef = fit$par, vcov = -solve(as.matrix(fit$hessian))) }) setMethod("logLikfun_comp", signature(object="flexmix"), function(object) { postunscaled <- matrix(0, nrow = FLXgetObs(object@model[[1]]), ncol = object@k) for (m in seq_along(object@model)) postunscaled <- postunscaled + FLXdeterminePostunscaled(object@model[[m]], lapply(object@components, "[[", m)) if(length(object@group)>0) postunscaled <- groupPosteriors(postunscaled, object@group) postunscaled }) setMethod("FLXlogLikfun", signature(object="flexmix"), function(object, ...) function(parms) { object <- FLXreplaceParameters(object, parms) groupfirst <- if (length(object@group) > 1) groupFirst(object@group) else rep(TRUE, FLXgetObs(object@model[[1]])) logpostunscaled <- logLikfun_comp(object) + log(getPriors(object@concomitant, object@group, groupfirst)) if (is.null(object@weights)) sum(log_row_sums(logpostunscaled[groupfirst,,drop=FALSE])) else sum(log_row_sums(logpostunscaled[groupfirst,,drop=FALSE])*object@weights[groupfirst]) }) setMethod("getPriors", signature(object="FLXP"), function(object, group, groupfirst) { priors <- matrix(apply(object@coef, 2, function(x) object@x %*% x), nrow = nrow(object@x)) ungroupPriors(priors/rowSums(priors), group, groupfirst) }) setMethod("getPriors", signature(object="FLXPmultinom"), function(object, group, groupfirst) { priors <- matrix(apply(object@coef, 2, function(x) exp(object@x %*% x)), nrow = nrow(object@x)) ungroupPriors(priors/rowSums(priors), group, groupfirst) }) setMethod("FLXreplaceParameters", signature(object="FLXdist"), function(object, parms) { comp_names <- names(object@components) components <- list() for (m in seq_along(object@model)) { indices <- grep(paste("^model.", m, sep = ""), names(parms)) components[[m]] <- FLXreplaceParameters(object@model[[m]], lapply(object@components, "[[", m), parms[indices]) } object@components <- lapply(seq_along(object@components), function(k) lapply(components, "[[", k)) names(object@components) <- comp_names if (object@k > 1) { indices <- grep("^concomitant_", names(parms)) object@concomitant <- FLXreplaceParameters(object@concomitant, parms[indices]) } object }) setMethod("FLXreplaceParameters", signature(object="FLXM"), function(object, components, parms) { Design <- FLXgetDesign(object, components) lapply(seq_along(components), function(k) { Parameters <- list() parms_k <- parms[as.logical(Design[k,])] for (i in seq_along(components[[k]]@parameters)) { Parameters[[i]] <- parms_k[seq_along(components[[k]]@parameters[[i]])] attributes(Parameters[[i]]) <- attributes(components[[k]]@parameters[[i]]) parms_k <- parms_k[-seq_along(components[[k]]@parameters[[i]])] } names(Parameters) <- names(components[[k]]@parameters) Parameters$df <- components[[k]]@df variables <- c("x", "y") for (var in variables) assign(var, slot(object, var)) if (is(object@defineComponent, "expression")) eval(object@defineComponent, Parameters) else object@defineComponent(Parameters) }) }) setMethod("FLXreplaceParameters", signature(object="FLXMC"), function(object, components, parms) { Design <- FLXgetDesign(object, components) if (object@dist == "mvnorm") { p <- sqrt(1/4+ncol(Design)/nrow(Design)) - 1/2 diagonal <- get("diagonal", environment(object@fit)) if (diagonal) { cov <- diag(seq_len(p)) parms_comp <- as.vector(sapply(seq_len(nrow(Design)), function(i) c(parms[(i-1) * 2 * p + seq_len(p)], as.vector(diag(diag(parms[(i-1) * 2 * p + p + seq_len(p)])))))) parms <- c(parms_comp, parms[(nrow(Design) * 2 * p + 1):length(parms)]) } else { cov <- matrix(NA, nrow = p, ncol = p) cov[lower.tri(cov, diag = TRUE)] <- seq_len(sum(lower.tri(cov, diag = TRUE))) cov[upper.tri(cov)] <- t(cov)[upper.tri(cov)] parms <- parms[c(as.vector(sapply(seq_len(nrow(Design)), function(i) (i-1)*(max(cov)+p) + c(seq_len(p), as.vector(cov) + p))), (nrow(Design) * (max(cov) + p)+1):length(parms))] } } callNextMethod(object = object, components = components, parms = parms) }) setMethod("FLXreplaceParameters", signature(object="FLXMRglm"), function(object, components, parms) { Design <- FLXgetDesign(object, components) lapply(seq_along(components), function(k) { Parameters <- list() parms_k <- parms[as.logical(Design[k,])] for (i in seq_along(components[[k]]@parameters)) { Parameters[[i]] <- parms_k[seq_along(components[[k]]@parameters[[i]])] attributes(Parameters[[i]]) <- attributes(components[[k]]@parameters[[i]]) parms_k <- parms_k[-seq_along(components[[k]]@parameters[[i]])] } names(Parameters) <- names(components[[k]]@parameters) if (object@family == "gaussian") { Parameters[["sigma"]] <- exp(Parameters[["sigma"]]) } Parameters$df <- components[[k]]@df variables <- c("x", "y", "offset", "family") for (var in variables) { assign(var, slot(object, var)) } if (is(object@defineComponent, "expression")) eval(object@defineComponent, Parameters) else object@defineComponent(Parameters) }) }) setMethod("FLXreplaceParameters", signature(object="FLXP"), function(object, parms) { parms <- exp(c(0, parms)) parms <- parms/sum(parms) attributes(parms) <- attributes(object@coef) object@coef <- parms object }) setMethod("FLXreplaceParameters", signature(object="FLXPmultinom"), function(object, parms) { parms <- cbind(0, matrix(parms, nrow = nrow(object@coef))) attributes(parms) <- attributes(object@coef) object@coef <- parms object }) setMethod("FLXgradlogLikfun", signature(object="flexmix"), function(object, ...) { existFunction <- all(sapply(object@model, existGradient)) if (object@k > 1) existFunction <- c(existFunction, existGradient(object@concomitant)) if (any(!existFunction)) return(NULL) function(parms) { object <- FLXreplaceParameters(object, parms) groupfirst <- if (length(object@group) > 1) groupFirst(object@group) else rep(TRUE, FLXgetObs(object@model[[1]])) logLik_comp <- logLikfun_comp(object) Priors <- getPriors(object@concomitant, object@group, groupfirst) Priors_Lik_comp <- logLik_comp + log(Priors) weights <- exp(Priors_Lik_comp - log_row_sums(Priors_Lik_comp)) if (object@k > 1) { ConcomitantScores <- FLXgradlogLikfun(object@concomitant, Priors[groupfirst,,drop=FALSE], weights[groupfirst,,drop=FALSE]) if (!is.null(object@weights)) ConcomitantScores <- lapply(ConcomitantScores, "*", object@weights[groupfirst]) } else ConcomitantScores <- list() ModelScores <- lapply(seq_along(object@model), function(m) FLXgradlogLikfun(object@model[[m]], lapply(object@components, "[[", m), weights)) ModelScores <- lapply(ModelScores, lapply, groupPosteriors, object@group) if (!is.null(object@weights)) ModelScores <- lapply(ModelScores, lapply, "*", object@weights) colSums(cbind(do.call("cbind", lapply(ModelScores, function(x) do.call("cbind", x)))[groupfirst,,drop=FALSE], do.call("cbind", ConcomitantScores))) } }) setMethod("existGradient", signature(object = "FLXM"), function(object) FALSE) setMethod("existGradient", signature(object = "FLXMRglm"), function(object) { if (object@family == "Gamma") return(FALSE) TRUE }) setMethod("existGradient", signature(object = "FLXMRglmfix"), function(object) FALSE) setMethod("existGradient", signature(object = "FLXP"), function(object) TRUE) setMethod("FLXgradlogLikfun", signature(object="FLXMRglm"), function(object, components, weights, ...) { lapply(seq_along(components), function(k) { res <- if (object@family == "binomial") as.vector(object@y[,1] - rowSums(object@y)*components[[k]]@predict(object@x)) else as.vector(object@y - components[[k]]@predict(object@x)) Scores <- weights[,k] * res * object@x if (object@family == "gaussian") { Scores <- cbind(Scores/components[[k]]@parameters$sigma^2, weights[,k] * (-1 + res^2/components[[k]]@parameters$sigma^2)) } Scores }) }) setMethod("FLXgradlogLikfun", signature(object="FLXP"), function(object, fitted, weights, ...) { Pi <- lapply(seq_len(ncol(fitted))[-1], function(i) - fitted[,i] + weights[,i]) lapply(Pi, function(p) apply(object@x, 2, "*", p)) }) setMethod("refit", signature(object = "flexmix"), function(object, newdata, method = c("optim", "mstep"), ...) { method <- match.arg(method) if (method == "optim") { VarCov <- VarianceCovariance(object, ...) z <- new("FLXRoptim", call=sys.call(-1), k = object@k, coef = VarCov$coef, vcov = VarCov$vcov) z@components <- lapply(seq_along(object@model), function(m) { begin_name <- paste("^model", m, sep = ".") indices <- grep(begin_name, names(z@coef)) refit_optim(object@model[[m]], components = lapply(object@components, "[[", m), coef = z@coef[indices], se = sqrt(diag(z@vcov)[indices])) }) z@concomitant <- if (object@k > 1) { indices <- grep("^concomitant_", names(z@coef)) refit_optim(object@concomitant, coef = z@coef[indices], se = sqrt(diag(z@vcov)[indices])) } else NULL } else { z <- new("FLXRmstep", call=sys.call(-1), k = object@k) z@components <- lapply(object@model, function(x) { x <- refit_mstep(x, weights=object@posterior$scaled) names(x) <- paste("Comp", seq_len(object@k), sep=".") x }) z@concomitant <- if (object@k > 1) refit_mstep(object@concomitant, posterior = object@posterior$scaled, group = object@group, w = object@weights) else NULL } z }) setMethod("refit_optim", signature(object = "FLXM"), function(object, components, coef, se) { Design <- FLXgetDesign(object, components) x <- lapply(seq_len(nrow(Design)), function(k) { rval <- cbind(Estimate = coef[as.logical(Design[k,])], "Std. Error" = se[as.logical(Design[k,])]) pars <- components[[k]]@parameters[[1]] rval <- rval[seq_along(pars),,drop=FALSE] rownames(rval) <- names(pars) zval <- rval[,1]/rval[,2] new("Coefmat", cbind(rval, "z value" = zval, "Pr(>|z|)" = 2 * pnorm(abs(zval), lower.tail = FALSE))) }) names(x) <- paste("Comp", seq_along(x), sep = ".") x }) setMethod("refit_optim", signature(object = "FLXMC"), function(object, components, coef, se) { Design <- FLXgetDesign(object, components) if (object@dist == "mvnorm") { p <- length(grep("Comp.1_center", colnames(Design), fixed = TRUE)) diagonal <- get("diagonal", environment(object@fit)) if (diagonal) { cov <- diag(seq_len(p)) coef_comp <- as.vector(sapply(seq_len(nrow(Design)), function(i) c(coef[(i-1) * 2 * p + seq_len(p)], as.vector(diag(diag(coef[(i-1) * 2 * p + p + seq_len(p)])))))) coef <- c(coef_comp, coef[(nrow(Design) * 2 * p + 1):length(coef)]) se_comp <- as.vector(sapply(seq_len(nrow(Design)), function(i) c(se[(i-1) * 2 * p + seq_len(p)], as.vector(diag(diag(se[(i-1) * 2 * p + p + seq_len(p)])))))) se <- c(se_comp, se[(nrow(Design) * 2 * p + 1):length(se)]) } else { cov <- matrix(NA, nrow = p, ncol = p) cov[lower.tri(cov, diag = TRUE)] <- seq_len(sum(lower.tri(cov, diag = TRUE))) cov[upper.tri(cov)] <- t(cov)[upper.tri(cov)] coef <- coef[c(as.vector(sapply(seq_len(nrow(Design)), function(i) (i-1)*(max(cov)+p) + c(seq_len(p), as.vector(cov) + p))), (nrow(Design) * (max(cov) + p)+1):length(coef))] se <- se[c(as.vector(sapply(seq_len(nrow(Design)), function(i) (i-1)*(max(cov)+p) + c(seq_len(p), as.vector(cov) + p))), (nrow(Design) * (max(cov) + p)+1):length(se))] } } callNextMethod(object = object, components = components, coef = coef, se = se) }) setMethod("refit_optim", signature(object = "FLXP"), function(object, coef, se) { x <- lapply(seq_len(ncol(object@coef))[-1], function(k) { indices <- grep(paste("Comp", k, sep = "."), names(coef)) rval <- cbind(Estimate = coef[indices], "Std. Error" = se[indices]) rval <- rval[seq_len(nrow(object@coef)),,drop=FALSE] rownames(rval) <- rownames(object@coef) zval <- rval[,1]/rval[,2] new("Coefmat", cbind(rval, "z value" = zval, "Pr(>|z|)" = 2 * pnorm(abs(zval), lower.tail = FALSE))) }) names(x) <- paste("Comp", 1 + seq_along(x), sep = ".") x }) setMethod("FLXgetDesign", signature(object = "FLXM"), function(object, components, ...) { parms <- lapply(components, function(x) unlist(slot(x, "parameters"))) nr_parms <- sapply(parms, length) cumSum <- cumsum(c(0, nr_parms)) Design <- t(sapply(seq_len(length(cumSum)-1), function(i) rep(c(0, 1, 0), c(cumSum[i], nr_parms[i], max(cumSum) - cumSum[i] - nr_parms[i])))) colnames(Design) <- paste(rep(paste("Comp", seq_len(nrow(Design)), sep = "."), nr_parms), unlist(lapply(parms, names)), sep = "_") Design }) setMethod("FLXgetDesign", signature(object = "FLXMRglmfix"), function(object, components, ...) { if (length(components) == 1) return(callNextMethod(object, components, ...)) Design <- object@design if (object@family == "gaussian") { cumSum <- cumsum(c(0, object@variance)) variance <- matrix(sapply(seq_len(length(cumSum)-1), function(i) rep(c(0, 1, 0), c(cumSum[i], object@variance[i], length(components) - cumSum[i] - object@variance[i]))), nrow = length(components)) colnames(variance) <- paste("Comp", apply(variance, 2, function(x) which(x == 1)[1]), "sigma", sep= ".") Design <- cbind(Design, variance) } Design }) ###********************************************************* setMethod("refit_mstep", signature(object="FLXM"), function(object, newdata, weights, ...) { lapply(seq_len(ncol(weights)), function(k) object@fit(object@x, object@y, weights[,k], ...)@parameters) }) setMethod("refit_mstep", signature(object="FLXMRglm"), function(object, newdata, weights, ...) { lapply(seq_len(ncol(weights)), function(k) { fit <- object@refit(object@x, object@y, weights[,k], ...) fit <- c(fit, list(formula = object@fullformula, terms = object@terms, contrasts = object@contrasts, xlevels = object@xlevels)) class(fit) <- c("glm", "lm") fit }) }) ###********************************************************** setMethod("fitted", signature(object="flexmix"), function(object, drop=TRUE, aggregate = FALSE, ...) { x<- list() for(m in seq_along(object@model)) { comp <- lapply(object@components, "[[", m) x[[m]] <- fitted(object@model[[m]], comp, ...) } if (aggregate) { group <- group(object) prior_weights <- determinePrior(object@prior, object@concomitant, group)[as.integer(group),] z <- lapply(x, function(z) matrix(rowSums(do.call("cbind", z) * prior_weights), nrow = nrow(z[[1]]))) if(drop && all(lapply(z, ncol)==1)){ z <- sapply(z, unlist) } } else { z <- list() for (k in seq_len(object@k)) { z[[k]] <- do.call("cbind", lapply(x, "[[", k)) } names(z) <- paste("Comp", seq_len(object@k), sep=".") if(drop && all(lapply(z, ncol)==1)){ z <- sapply(z, unlist) } } z }) setMethod("fitted", signature(object="FLXM"), function(object, components, ...) { lapply(components, function(z) z@predict(object@x)) }) setMethod("predict", signature(object="FLXM"), function(object, newdata, components, ...) { object <- FLXgetModelmatrix(object, newdata, formula = object@fullformula, lhs = FALSE) z <- list() for(k in seq_along(components)) z[[k]] <- components[[k]]@predict(object@x, ...) z }) ###********************************************************** setMethod("Lapply", signature(object="FLXRmstep"), function(object, FUN, model = 1, component = TRUE, ...) { X <- object@components[[model]] lapply(X[component], FUN, ...) }) ###********************************************************* setMethod("refit_mstep", signature(object="flexmix", newdata="listOrdata.frame"), function(object, newdata, ...) { z <- new("FLXR", call=sys.call(-1), k = object@k) z@components <- lapply(object@model, function(x) { x <- refit_mstep(x, newdata = newdata, weights=posterior(object, newdata = newdata)) names(x) <- paste("Comp", seq_len(object@k), sep=".") x }) z@concomitant <- if (object@k > 1) refit_mstep(object@concomitant, newdata, object@posterior$scaled, object@group, w = object@weights) else NULL z }) setMethod("refit_mstep", signature(object="FLXMRglm", newdata="listOrdata.frame"), function(object, newdata, weights, ...) { w <- weights lapply(seq_len(ncol(w)), function(k) { newdata$weights <- weights <- w[,k] weighted.glm(formula = object@fullformula, data = newdata, family = object@family, weights = weights, ...) }) }) weighted.glm <- function(weights, ...) { fit <- eval(as.call(c(as.symbol("glm"), c(list(...), list(weights = weights, x = TRUE))))) fit$df.null <- sum(weights) + fit$df.null - fit$df.residual - fit$rank fit$df.residual <- sum(weights) - fit$rank fit$method <- "weighted.glm.fit" fit } weighted.glm.fit <- function(x, y, weights, offset = NULL, family = "gaussian", ...) { if (!is.function(family) & !is(family, "family")) family <- get(family, mode = "function", envir = parent.frame()) fit <- c(glm.fit(x, y, weights = weights, offset=offset, family=family), list(call = sys.call(), offset = offset, control = eval(formals(glm.fit)$control), method = "weighted.glm.fit")) fit$df.null <- sum(weights) + fit$df.null - fit$df.residual - fit$rank fit$df.residual <- sum(weights) - fit$rank fit$x <- x fit } flexmix/R/kldiv.R0000644000176200001440000001006514404637304013372 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: kldiv.R 5079 2016-01-31 12:21:12Z gruen $ # setMethod("KLdiv", "matrix", function(object, eps=10^-4, overlap=TRUE,...) { if(!is.numeric(object)) stop("object must be a numeric matrix\n") z <- matrix(NA, nrow=ncol(object), ncol=ncol(object)) colnames(z) <- rownames(z) <- colnames(object) w <- object < eps if (any(w)) object[w] <- eps object <- sweep(object, 2, colSums(object) , "/") for(k in seq_len(ncol(object)-1)){ for(l in 2:ncol(object)){ ok <- (object[, k] > eps) & (object[, l] > eps) if (!overlap | any(ok)) { z[k,l] <- sum(object[,k] * (log(object[,k]) - log(object[,l]))) z[l,k] <- sum(object[,l] * (log(object[,l]) - log(object[,k]))) } } } diag(z)<-0 z }) setMethod("KLdiv", "flexmix", function(object, method = c("continuous", "discrete"), ...) { method <- match.arg(method) if (method == "discrete") z <- KLdiv(object@posterior$scaled, ...) else { z <- matrix(0, object@k, object@k) for (i in seq_along(object@model)) { comp <- lapply(object@components, "[[", i) z <- z + KLdiv(object@model[[i]], comp) } } z }) setMethod("KLdiv", "FLXMRglm", function(object, components, ...) { z <- matrix(NA, length(components), length(components)) mu <- lapply(components, function(x) x@predict(object@x)) if (object@family == "gaussian") { sigma <- lapply(components, function(x) x@parameters$sigma) for (k in seq_len(ncol(z)-1)) { for (l in seq_len(ncol(z))[-1]) { z[k,l] <- sum(log(sigma[[l]]) - log(sigma[[k]]) + 1/2 * (-1 + ((sigma[[k]]^2 + (mu[[k]] - mu[[l]])^2))/sigma[[l]]^2)) z[l,k] <- sum(log(sigma[[k]]) - log(sigma[[l]]) + 1/2 * (-1 + ((sigma[[l]]^2 + (mu[[l]] - mu[[k]])^2))/sigma[[k]]^2)) } } } else if (object@family == "binomial") { for (k in seq_len(ncol(z)-1)) { for (l in seq_len(ncol(z))[-1]) { z[k,l] <- sum(mu[[k]] * log(mu[[k]]/mu[[l]]) + (1-mu[[k]]) * log((1-mu[[k]])/(1-mu[[l]]))) z[l,k] <- sum(mu[[l]] * log(mu[[l]]/mu[[k]]) + (1-mu[[l]]) * log((1-mu[[l]])/(1-mu[[k]]))) } } } else if (object@family == "poisson") { for (k in seq_len(ncol(z)-1)) { for (l in seq_len(ncol(z))[-1]) { z[k,l] <- sum(mu[[k]] * log(mu[[k]]/mu[[l]]) + mu[[l]] - mu[[k]]) z[l,k] <- sum(mu[[l]] * log(mu[[l]]/mu[[k]]) + mu[[k]] - mu[[l]]) } } } else if (object@family == "gamma") { shape <- lapply(components, function(x) x@parameters$shape) for (k in seq_len(ncol(z)-1)) { for (l in seq_len(ncol(z))[-1]) { X <- mu[[k]]*shape[[l]]/mu[[l]]/shape[[k]] z[k,l] <- sum(log(gamma(shape[[l]])/gamma(shape[[k]])) + shape[[l]] * log(X) - shape[[k]] * (1 - 1/X) + (shape[[k]] - shape[[l]])*digamma(shape[[k]])) z[l,k] <- sum(log(gamma(shape[[k]])/gamma(shape[[l]])) - shape[[k]] * log(X) - shape[[l]] * (1 - X) + (shape[[l]] - shape[[k]])*digamma(shape[[l]])) } } } else stop(paste("Unknown family", object@family)) diag(z) <- 0 z }) setMethod("KLdiv", "FLXMC", function(object, components, ...) { z <- matrix(NA, length(components), length(components)) if (object@dist == "mvnorm") { center <- lapply(components, function(x) x@parameters$center) cov <- lapply(components, function(x) x@parameters$cov) for (k in seq_len(ncol(z)-1)) { for (l in seq_len(ncol(z))[-1]) { z[k,l] <- 1/2 * (log(det(cov[[l]])) - log(det(cov[[k]])) - length(center[[k]]) + sum(diag(solve(cov[[l]]) %*% (cov[[k]] + tcrossprod(center[[k]] - center[[l]]))))) z[l,k] <- 1/2 * (log(det(cov[[k]])) - log(det(cov[[l]])) - length(center[[l]]) + sum(diag(solve(cov[[k]]) %*% (cov[[l]] + tcrossprod(center[[l]] - center[[k]]))))) } } } else stop(paste("Unknown distribution", object@dist)) diag(z) <- 0 z }) ###********************************************************** flexmix/R/infocrit.R0000644000176200001440000000277614404637304014110 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: infocrit.R 5079 2016-01-31 12:21:12Z gruen $ # setMethod("nobs", signature(object="flexmix"), function(object, ...) { if (is.null(object@weights)) nrow(object@posterior$scaled) else sum(object@weights) }) setMethod("logLik", signature(object="flexmix"), function(object, newdata, ...){ if (missing(newdata)) { z <- object@logLik attr(z, "df") <- object@df attr(z, "nobs") <- nobs(object) class(z) <- "logLik" } else { z <- sum(log(rowSums(posterior(object, newdata = newdata, unscaled = TRUE)))) attr(z, "df") <- object@df attr(z, "nobs") <- nrow(newdata) class(z) <- "logLik" } z }) setMethod("ICL", signature(object="flexmix"), function(object, ...){ -2 * clogLik(object) + object@df * log(nobs(object)) }) setMethod("clogLik", signature(object="flexmix"), function(object, ...){ first <- if (length(object@group)) groupFirst(object@group) else TRUE post <- object@posterior$unscaled[first,,drop=FALSE] n <- nrow(post) sum(log(post[seq_len(n) + (clusters(object)[first] - 1)*n])) }) setMethod("EIC", signature(object="flexmix"), function(object, ...) { first <- if (length(object@group)) groupFirst(object@group) else TRUE post <- object@posterior$scaled[first,,drop=FALSE] n <- nrow(post) lpost <- log(post) if (any(is.infinite(lpost))) lpost[is.infinite(lpost)] <- -10^3 1 + sum(post * lpost)/(n * log(object@k)) }) flexmix/R/allClasses.R0000644000176200001440000002277114404637304014356 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: allClasses.R 5185 2020-06-23 13:24:06Z gruen $ # setClass("FLXcontrol", representation(iter.max="numeric", minprior="numeric", tolerance="numeric", verbose="numeric", classify="character", nrep="numeric"), prototype(iter.max=200, minprior=0.05, tolerance=10e-7, verbose=0, classify="auto", nrep=1), validity=function(object) { (object@iter.max > 0) }) setAs("list", "FLXcontrol", function(from, to){ z = list2object(from, to) z@classify = match.arg(z@classify, c("auto", "weighted", "hard", "random", "SEM", "CEM")) z }) setAs("NULL", "FLXcontrol", function(from, to){ new(to) }) ###********************************************************** setClassUnion("expressionOrfunction", c("expression", "function")) setClass("FLXM", representation(fit="function", defineComponent="expressionOrfunction", weighted="logical", name="character", formula="formula", fullformula="formula", x="matrix", y="ANY", terms="ANY", xlevels="ANY", contrasts="ANY", preproc.x="function", preproc.y="function", "VIRTUAL"), prototype(formula=.~., fullformula=.~., preproc.x = function(x) x, preproc.y = function(x) x)) ## model-based clustering setClass("FLXMC", representation(y="matrix", dist="character"), contains = "FLXM") ## regression setClass("FLXMR", representation(y="matrix", offset="ANY"), contains = "FLXM") setMethod("show", "FLXM", function(object){ cat("FlexMix model of type", object@name,"\n\nformula: ") print(object@formula) cat("Weighted likelihood possible:", object@weighted,"\n\n") if(!is.null(object@x) && nrow(object@x)>0){ cat("Regressors:\n") print(summary(object@x)) } if(!is.null(object@y) && nrow(object@y)>0){ cat("Response:\n") print(summary(object@y)) } cat("\n") }) setClass("FLXcomponent", representation(df="numeric", logLik="function", parameters="list", predict="function")) setMethod("show", "FLXcomponent", function(object){ if(length(object@parameters)>0) print(object@parameters) }) ###********************************************************** setClass("FLXP", representation(name="character", formula="formula", x="matrix", fit="function", refit="function", coef="matrix", df="function"), prototype(formula=~1, df = function(x, k, ...) (k-1)*ncol(x))) setMethod("initialize", signature(.Object="FLXP"), function(.Object, ...) { .Object <- callNextMethod(.Object=.Object, ...) if (is.null(formals(.Object@refit))) .Object@refit <- .Object@fit .Object }) setClass("FLXPmultinom", contains="FLXP") setMethod("show", "FLXP", function(object){ cat("FlexMix concomitant model of type", object@name,"\n\nformula: ") print(object@formula) if(!is.null(object@x) && nrow(object@x)>0){ cat("\nRegressors:\n") print(summary(object@x)) } cat("\n") }) ###********************************************************** setClass("FLXdist", representation(model="list", prior="numeric", components="list", concomitant="FLXP", formula="formula", call="call", k="integer"), validity=function(object) { (object@k == length(object@prior)) }, prototype(formula=.~.)) setClass("flexmix", representation(posterior="ANY", weights="ANY", iter="numeric", cluster="integer", logLik="numeric", df="numeric", control="FLXcontrol", group="factor", size="integer", converged="logical", k0="integer"), prototype(group=(factor(integer(0))), formula=.~.), contains="FLXdist") setMethod("show", "flexmix", function(object){ cat("\nCall:", deparse(object@call,0.75*getOption("width")), sep="\n") cat("\nCluster sizes:\n") print(object@size) cat("\n") if(!object@converged) cat("no ") cat("convergence after", object@iter, "iterations\n") }) ###********************************************************** setClass("summary.flexmix", representation(call="call", AIC="numeric", BIC="numeric", logLik="logLik", comptab="ANY")) setMethod("show", "summary.flexmix", function(object){ cat("\nCall:", deparse(object@call,0.75*getOption("width")), sep="\n") cat("\n") print(object@comptab, digits=3) cat("\n") print(object@logLik) cat("AIC:", object@AIC, " BIC:", object@BIC, "\n") cat("\n") }) ###********************************************************** setClass("FLXMRglm", representation(family="character", refit="function"), contains="FLXMR") setClass("FLXR", representation(k="integer", components = "list", concomitant = "ANY", call="call", "VIRTUAL")) setClass("FLXRoptim", representation(coef="vector", vcov="matrix"), contains="FLXR") setClass("FLXRmstep", contains="FLXR") setMethod("show", signature(object = "FLXR"), function(object) { cat("\nCall:", deparse(object@call,0.75*getOption("width")), sep="\n") cat("\nNumber of components:", object@k, "\n\n") }) setMethod("summary", signature(object = "FLXRoptim"), function(object, model = 1, which = c("model", "concomitant"), ...) { which <- match.arg(which) z <- if (which == "model") object@components[[model]] else object@concomitant show(z) invisible(object) }) setMethod("summary", signature(object = "FLXRmstep"), function(object, model = 1, which = c("model", "concomitant"), ...) { which <- match.arg(which) if (which == "model") { z <- object@components[[model]] if (!is.null(z)) lapply(seq_along(z), function(k) { cat(paste("$", names(z)[k], "\n", sep = "")) printCoefmat(coef(summary(z[[k]]))) cat("\n") }) } else { z <- object@concomitant fitted.summary <- summary(z) k <- nrow(coef(fitted.summary)) + 1 coefs <- lapply(2:k, function(n) { coef.p <- fitted.summary$coefficients[n - 1, , drop = FALSE] s.err <- fitted.summary$standard.errors[n - 1, , drop = FALSE] tvalue <- coef.p/s.err pvalue <- 2 * pnorm(-abs(tvalue)) coef.table <- t(rbind(coef.p, s.err, tvalue, pvalue)) dimnames(coef.table) <- list(colnames(coef.p), c("Estimate", "Std. Error", "z value", "Pr(>|z|)")) new("Coefmat", coef.table) }) names(coefs) <- paste("Comp", 2:k, sep = ".") print(coefs) } invisible(object) }) setClass("Coefmat", contains = "matrix") setMethod("show", signature(object="Coefmat"), function(object) { printCoefmat(object, signif.stars = getOption("show.signif.stars")) }) ###********************************************************** setClass("FLXnested", representation(formula = "list", k = "numeric"), validity = function(object) { length(object@formula) == length(object@k) }) setAs("numeric", "FLXnested", function(from, to) { new("FLXnested", formula = rep(list(~0), length(from)), k = from) }) setAs("list", "FLXnested", function(from, to) { z <- list2object(from, to) }) setAs("NULL", "FLXnested", function(from, to) { new(to) }) setMethod("initialize", "FLXnested", function(.Object, formula = list(), k = numeric(0), ...) { if (is(formula, "formula")) formula <- rep(list(formula), length(k)) .Object <- callNextMethod(.Object, formula = formula, k = k, ...) .Object }) ###********************************************************** setClass("FLXMRfix", representation(design = "matrix", nestedformula = "FLXnested", fixed = "formula", segment = "matrix", variance = "vector"), contains="FLXMR") setClass("FLXMRglmfix", contains=c("FLXMRfix", "FLXMRglm")) ###********************************************************** setClassUnion("listOrdata.frame", c("list", "data.frame")) ###********************************************************** flexmix/R/relabel.R0000644000176200001440000000555414404637304013676 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id$ # setGeneric("dorelabel", function(object, perm, ...) standardGeneric("dorelabel")) setMethod("dorelabel", signature(object="flexmix", perm="vector"), function(object, perm, ...) { object <- callNextMethod(object, perm) object@posterior$scaled <- object@posterior$scaled[,perm,drop=FALSE] object@posterior$unscaled <- object@posterior$unscaled[,perm,drop=FALSE] object@cluster <- order(perm)[object@cluster] object@size <- object@size[perm] names(object@size) <- seq_along(perm) object }) setMethod("dorelabel", signature(object="FLXdist", perm="vector"), function(object, perm, ...) { if (length(perm) != object@k) stop("length of order argument does not match number of components") if (any(sort(perm) != seq_len(object@k))) stop("order argument not specified correctly") object@prior <- object@prior[perm] object@components <- object@components[perm] names(object@components) <- sapply(seq_along(object@components), function(k) gsub("[0-9]+", k, names(object@components)[k])) object@concomitant <- dorelabel(object@concomitant, perm, ...) object }) setMethod("dorelabel", signature(object="FLXP", perm="vector"), function(object, perm, ...) { object@coef <- object@coef[,perm,drop=FALSE] colnames(object@coef) <- sapply(seq_len(ncol(object@coef)), function(k) gsub("[0-9]+", k, colnames(object@coef)[k])) object }) setMethod("dorelabel", signature(object="FLXPmultinom", perm="vector"), function(object, perm, ...) { object@coef <- object@coef[,perm,drop=FALSE] object@coef <- sweep(object@coef, 1, object@coef[,1], "-") colnames(object@coef) <- sapply(seq_len(ncol(object@coef)), function(k) gsub("[0-9]+", k, colnames(object@coef)[k])) object }) setMethod("relabel", signature(object="FLXdist", by="character"), function(object, by, which=NULL, ...) { by <- match.arg(by, c("prior", "model", "concomitant")) if(by=="prior"){ perm <- order(prior(object), ...) } else if(by %in% c("model", "concomitant")) { pars <- parameters(object, which = by) index <- grep(which, rownames(pars)) if (length(index) != 1) stop("no suitable ordering variable given in 'which'") perm <- order(pars[index,], ...) } object <- dorelabel(object, perm=perm) object }) setMethod("relabel", signature(object="FLXdist", by="missing"), function(object, by, ...) { object <- relabel(object, by="prior", ...) object }) setMethod("relabel", signature(object="FLXdist", by="integer"), function(object, by, ...) { if(!all(sort(by) == seq_len(object@k))) stop("if integer, ", sQuote("by"), " must be a permutation of the numbers 1 to ", object@k) object <- dorelabel(object, by) object }) flexmix/R/plot-refit.R0000644000176200001440000001125014404637304014343 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: plot-refit.R 5079 2016-01-31 12:21:12Z gruen $ # prepanel.default.coef <- function (x, y, subscripts, groups=NULL, horizontal = TRUE, nlevels, origin = NULL, ...) { if (any(!is.na(x) & !is.na(y))) { if (horizontal) { if (!is.factor(y)) { if (missing(nlevels)) nlevels <- length(unique(y)) y <- factor(y, levels = seq_len(nlevels)) } if (!is.null(groups)) { if (!is.numeric(x)) stop("x must be numeric") x <- rep(x, each = 2) + rep(groups[subscripts], each = 2) *c(-1,1) } list(xlim = if (is.numeric(x)) range(x, origin, finite = TRUE) else levels(x), ylim = levels(y), yat = sort(unique(as.numeric(y))), dx = 1, dy = 1) } else { if (!is.factor(x)) { if (missing(nlevels)) nlevels <- length(unique(x)) x <- factor(x, levels = seq_len(nlevels)) } if (!is.null(groups)) { if (!is.numeric(y)) stop("y must be numeric") y <- rep(as.numeric(y), each = 2) + rep(groups[subscripts], each = 2) *c(-1,1) } list(xlim = levels(x), xat = sort(unique(as.numeric(x))), ylim = if (is.numeric(y)) range(y, origin, finite = TRUE) else levels(y), dx = 1, dy = 1) } } else list(xlim = c(NA, NA), ylim = c(NA, NA), dx = 1, dy = 1) } panel.coef <- function(x, y, subscripts, groups, significant = NULL, horizontal = TRUE, lwd = 2, col, col.line = c("black", "grey"), ...) { col.sig <- rep(col.line[1], length(x)) if (!is.null(significant)) { if (missing(col)) col <- c("grey", "white") col.fill <- rep(col[1], length(x)) col.sig[!significant[subscripts]] <- col.line[2] col.fill[!significant[subscripts]] <- col[2] } else if (missing(col)) col.fill <- "grey" else col.fill <- col panel.barchart(x, y, border = col.sig, col = col.fill, horizontal = horizontal, ...) if (!missing(groups)) { if (horizontal) { z <- x + rep(c(-1,1), each = length(x)) * matrix(rep(groups[subscripts], 2), ncol = 2) for (i in seq_along(x)) { panel.xyplot(z[i,], rep(y[i], 2), type = "l", col = col.sig[i], lwd = lwd) } } else { z <- y + rep(c(-1,1), each = length(y)) * matrix(rep(groups[subscripts], 2), ncol = 2) for (i in seq_along(y)) { panel.xyplot(rep(x[i], 2), z[i,], type = "l", col = col.sig[i], lwd = lwd) } } } } getCoefs <- function(x, alpha = 0.05, components, ...) { names(x) <- sapply(names(x), function(z) strsplit(z, "Comp.")[[1]][2]) x <- x[names(x) %in% components] Comp <- lapply(names(x), function(n) data.frame(Value = x[[n]][,1], SD = x[[n]][,2] * qnorm(1-alpha/2), Variable = rownames(x[[n]]), Component = n, Significance = x[[n]][,4] <= alpha)) do.call("rbind", Comp) } setMethod("plot", signature(x="FLXRoptim", y="missing"), function(x, y, model = 1, which = c("model", "concomitant"), bycluster=TRUE, alpha=0.05, components, labels=NULL, significance = FALSE, xlab = NULL, ylab = NULL, ci = TRUE, scales = list(), as.table = TRUE, horizontal = TRUE, ...) { which <- match.arg(which) if (missing(components)) components <- seq_len(x@k) plot.data <- if (which == "model") getCoefs(x@components[[model]], alpha, components) else getCoefs(x@concomitant, alpha, components) if (!is.null(labels)) plot.data$Variable <- factor(plot.data$Variable, labels = labels) plot.data$Component <- with(plot.data, factor(Component, sort(unique(Component)), labels = paste("Comp.", sort(unique(Component))))) if (bycluster) { formula <- if (horizontal) Variable ~ Value | Component else Value ~ Variable | Component plot.data$Variable <- with(plot.data, factor(Variable, levels = rev(unique(Variable)))) } else { formula <- if (horizontal) Component ~ Value | Variable else Value ~ Component | Variable plot.data$Component <- with(plot.data, factor(Component, levels = rev(levels(Component)))) } groups <- if (ci) plot.data$SD else NULL significant <- if (significance) plot.data$Significance else NULL xyplot(formula, data = plot.data, xlab = xlab, ylab = ylab, origin = 0, horizontal = horizontal, scales = scales, as.table = as.table, significant = significant, groups = groups, prepanel = function(...) prepanel.default.coef(...), panel = function(x, y, subscripts, groups, ...) panel.coef(x, y, subscripts, groups, ...), ...) }) flexmix/R/lmmc.R0000644000176200001440000006522614404661473013226 0ustar liggesuserssetClass("FLXMRlmc", representation(family = "character", group = "factor", censored = "formula", C = "matrix"), contains = "FLXMR") setClass("FLXMRlmcfix", contains = "FLXMRlmc") setClass("FLXMRlmmc", representation(random = "formula", z = "matrix", which = "ANY"), contains = "FLXMRlmc") setClass("FLXMRlmmcfix", contains = "FLXMRlmmc") setMethod("allweighted", signature(model = "FLXMRlmc", control = "ANY", weights = "ANY"), function(model, control, weights) { if (!control@classify %in% c("auto", "weighted")) stop("Model class only supports weighted ML estimation.") model@weighted }) update_Residual <- function(fit, w, z, C, which, random, censored) { index <- lapply(C, function(x) x == 1) W <- rep(w, sapply(which, function(x) nrow(z[[x]]))) ZGammaZ <- sapply(seq_along(which), function(i) sum(diag(crossprod(z[[which[i]]]) %*% random$Gamma[[i]]))) WHICH <- which(sapply(C, sum) > 0) Residual <- if (length(WHICH) > 0) sum(sapply(WHICH, function(i) w[i] * sum(diag(censored$Sigma[[i]]) - 2 * z[[which[i]]][index[[i]],,drop=FALSE] * censored$psi[[i]]))) else 0 (sum(W * residuals(fit)^2) + Residual + sum(w * ZGammaZ))/sum(W) } update_latent <- function(x, y, C, fit) { AnyMissing <- which(sapply(C, sum) > 0) index <- lapply(C, function(x) x == 1) Sig <- lapply(seq_along(x), function(i) fit$sigma2 * diag(nrow = nrow(x[[i]]))) SIGMA <- rep(list(matrix(nrow = 0, ncol = 0)), length(x)) if (length(AnyMissing) > 0) { SIGMA[AnyMissing] <- lapply(AnyMissing, function(i) { S <- Sig[[i]] SIG <- S[index[[i]], index[[i]]] if (sum(!index[[i]]) > 0) SIG <- SIG - S[index[[i]],!index[[i]]] %*% solve(S[!index[[i]],!index[[i]]]) %*% S[!index[[i]],index[[i]]] SIG }) } Sigma <- MU <- rep(list(vector("numeric", length = 0)), length(x)) if (length(AnyMissing) > 0) { MU[AnyMissing] <- lapply(AnyMissing, function(i) { S <- Sig[[i]] Mu <- x[[i]][index[[i]],,drop=FALSE] %*% fit$coef if (sum(!index[[i]]) > 0) Mu <- Mu + S[index[[i]],!index[[i]]] %*% solve(S[!index[[i]],!index[[i]]]) %*% (y[[i]][!index[[i]]] - x[[i]][!index[[i]],,drop=FALSE] %*% fit$coef) Mu }) } moments <- lapply(seq_along(x), function(i) { if (sum(index[[i]]) > 0) moments_truncated(MU[[i]], SIGMA[[i]], y[[i]][C[[i]] == 1]) }) Sigma <- lapply(moments, "[[", "variance") censored <- list(mu = lapply(moments, "[[", "mean"), Sigma = Sigma) list(censored = censored) } update_latent_random <- function(x, y, z, C, which, fit) { index <- lapply(C, function(x) x == 1) AnyMissing <- which(sapply(C, sum) > 0) Residual <- fit$sigma2$Residual Psi <- fit$sigma2$Random EVbeta <- lapply(seq_along(z), function(i) solve(1/Residual * crossprod(z[[i]]) + solve(Psi))) Sig <- lapply(seq_along(z), function(i) z[[i]] %*% Psi %*% t(z[[i]]) + Residual * diag(nrow = nrow(z[[i]]))) SIGMA <- rep(list(matrix(nrow = 0, ncol = 0)), length(x)) if (length(AnyMissing) > 0) { SIGMA[AnyMissing] <- lapply(AnyMissing, function(i) { S <- Sig[[which[i]]] SIG <- S[index[[i]], index[[i]]] if (sum(!index[[i]]) > 0) SIG <- SIG - S[index[[i]],!index[[i]]] %*% solve(S[!index[[i]],!index[[i]]]) %*% S[!index[[i]],index[[i]]] SIG }) } Sigma <- MU <- rep(list(vector("numeric", length = 0)), length(x)) if (length(AnyMissing) > 0) { MU[AnyMissing] <- lapply(AnyMissing, function(i) { S <- Sig[[which[i]]] Mu <- x[[i]][index[[i]],,drop=FALSE] %*% fit$coef if (sum(!index[[i]]) > 0) { Mu <- Mu + S[index[[i]],!index[[i]]] %*% solve(S[!index[[i]],!index[[i]]]) %*% (y[[i]][!index[[i]]] - x[[i]][!index[[i]],,drop=FALSE] %*% fit$coef) } Mu }) } moments <- lapply(seq_along(x), function(i) { if (sum(index[[i]]) > 0) moments_truncated(MU[[i]], SIGMA[[i]], y[[i]][C[[i]] == 1]) }) Sigma <- lapply(moments, "[[", "variance") censored <- list(mu = lapply(moments, "[[", "mean"), Sigma = Sigma, psi = lapply(seq_along(x), function(i) { if (sum(index[[i]]) > 0) return(diag(Sigma[[i]] %*% z[[which[i]]][index[[i]],,drop=FALSE] %*% EVbeta[[which[i]]])/Residual) else return(vector("numeric", length = 0)) })) ybar <- lapply(seq_along(y), function(i) { Y <- y[[i]] Y[index[[i]]] <- censored$mu[[i]] Y }) random <- list(beta = lapply(seq_along(x), function(i) EVbeta[[which[i]]] %*% t(z[[which[i]]]) %*% (ybar[[i]] - x[[i]] %*% fit$coef)/Residual), Gamma = lapply(seq_along(x), function(i) { if (sum(index[[i]]) > 0) { return(EVbeta[[which[i]]] + (EVbeta[[which[i]]] %*% (t(z[[which[i]]][index[[i]],,drop=FALSE]) %*% censored$Sigma[[i]] %*% z[[which[i]]][index[[i]],,drop=FALSE]) %*% t(EVbeta[[which[i]]]))/Residual^2) } else return(EVbeta[[which[i]]]) })) list(random = random, censored = censored) } moments_truncated <- function(mu, Sigma, T, ...) { Sigma <- as.matrix(Sigma) mu <- as.vector(mu) T <- as.vector(T) S <- 1/sqrt(diag(Sigma)) T1 <- S * (T - mu) if (length(mu) == 1) { alpha <- pnorm(T1) dT1 <- dnorm(T1) Ex <- - dT1 / alpha Ex2 <- 1 - T1 * dT1 / alpha } else { R <- S * Sigma * rep(S, each = ncol(Sigma)) diag(R) <- 1L alpha <- mvtnorm::pmvnorm(upper = T1, sigma = R, ...) rq <- lapply(seq_along(T1), function(q) (R - tcrossprod(R[,q]))) R2 <- R^2 Vq <- 1 - R2 Sq <- sqrt(Vq) Rq <- lapply(seq_along(T1), function(q) rq[[q]]/(tcrossprod(Sq[,q]))) Tq <- lapply(seq_along(T1), function(q) (T1 - R[,q] * T1[q])/Sq[,q]) Phiq <- if (length(mu) == 1) 1 else sapply(seq_along(Rq), function(q) mvtnorm::pmvnorm(upper = Tq[[q]][-q], sigma = Rq[[q]][-q,-q], ...)) phi_Phiq <- dnorm(T1) * Phiq Ex <- - (R %*% phi_Phiq)/alpha T2_entries <- lapply(seq_along(T1), function(j) sapply(lapply(seq_along(T1)[seq_len(j)], function(i) R[,i] * T1 * phi_Phiq), function(z) sum(z * R[j,]))) T2 <- diag(length(T1)) T2[upper.tri(T2, diag = TRUE)] <- unlist(T2_entries) T2[lower.tri(T2)] <- t(T2)[lower.tri(T2)] phiqr <- lapply(seq_along(T1), function(q) sapply(seq_along(T1), function(r) { if (r == q) return(0) else return(mvtnorm::dmvnorm(T1[c(q, r)], mean = rep(0, length.out = length(c(q,r))), sigma = R[c(q,r), c(q,r)]))})) if (length(mu) == 2) { Ex2 <- R - T2 / alpha + Reduce("+", lapply(seq_along(Tq), function(q) tcrossprod(R[q,], rowSums(sapply(seq_along(Tq)[-q], function(r) phiqr[[q]][r] * (R[,r] - R[q,r] * R[q,])))))) / alpha } else { betaq <- lapply(seq_along(T1), function(q) sweep(rq[[q]], 2, Vq[,q], "/")) Rqr <- lapply(seq_along(T1), function(q) lapply(seq_along(T1), function(r) if (r == q) return(0) else return((Rq[[q]][-c(q,r),-c(q,r)] - tcrossprod(Rq[[q]][-c(q,r),r]))/tcrossprod(sqrt(1 - Rq[[q]][-c(q,r),r]^2))))) Tqr <- lapply(seq_along(T1), function(q) { lapply(seq_along(T1), function(r) if (r == q) return(0) else return((T1[-c(q,r)] - betaq[[r]][-c(r,q),q] * T1[q] - betaq[[q]][-c(r,q),r] * T1[r])/ (Sq[-c(r,q),q] * sqrt(1 - Rq[[q]][-c(r,q),r]^2))))}) T3 <- Reduce("+", lapply(seq_along(Tq), function(q) tcrossprod(R[q,], rowSums(sapply(seq_along(Tq)[-q], function(r) phiqr[[q]][r] * (R[,r] - R[q,r] * R[q,]) * mvtnorm::pmvnorm(upper = Tqr[[q]][[r]], sigma = Rqr[[q]][[r]], ...)))))) / alpha Ex2 <- R - T2 / alpha + 1/2 * (T3 + t(T3)) } } moments <- list(mean = 1/S * Ex + mu, variance = diag(1/S, nrow = length(T)) %*% (Ex2 - tcrossprod(Ex)) %*% diag(1/S, nrow = length(T))) if (!all(is.finite(unlist(moments))) || any(moments$mean > T) || any(eigen(moments$variance)$values < 0)) { moments <- list(mean = T - abs(diag(Sigma)), variance = Sigma) } moments } FLXMRlmmc <- function(formula = . ~ ., random, censored, varFix, eps = 10^-6, ...) { family <- "gaussian" censored <- if (length(censored) == 3) censored else formula(paste(".", paste(deparse(censored), collapse = ""))) if (missing(random)) { if (missing(varFix)) varFix <- FALSE else if ((length(varFix) > 1) || (is.na(as.logical(varFix)))) stop("varFix has to be a logical vector of length one") object <- new("FLXMRlmc", formula = formula, censored = censored, weighted = TRUE, family = family, name = "FLXMRlmc:gaussian") if (varFix) object <- new("FLXMRlmcfix", object) lmc.wfit <- function(x, y, w, C, censored) { W <- rep(w, sapply(x, nrow)) X <- do.call("rbind", x) AnyMissing <- which(sapply(C, sum) > 0) ybar <- lapply(seq_along(y), function(i) { Y <- y[[i]] Y[C[[i]] == 1] <- censored$mu[[i]] Y }) Y <- do.call("rbind", ybar) fit <- lm.wfit(X, Y, W, ...) fit$sigma2 <- if (length(AnyMissing) > 0) (sum(W * residuals(fit)^2) + sum(sapply(AnyMissing, function(i) w[i] * sum(diag(censored$Sigma[[i]])))))/sum(W) else sum(W * residuals(fit)^2)/sum(W) fit$df <- ncol(X) fit } object@defineComponent <- function(para) { predict <- function(x, ...) lapply(x, function(X) X %*% para$coef) logLik <- function(x, y, C, group, censored, ...) { AnyMissing <- which(sapply(C, sum) > 0) index <- lapply(C, function(x) x == 1) V <- lapply(x, function(X) diag(nrow(X)) * para$sigma2) mu <- predict(x, ...) SIGMA <- rep(list(matrix(nrow = 0, ncol = 0)), length(x)) if (length(AnyMissing) > 0) { SIGMA[AnyMissing] <- lapply(AnyMissing, function(i) { S <- V[[i]] SIG <- S[index[[i]], index[[i]]] if (sum(!index[[i]]) > 0) SIG <- SIG - S[index[[i]],!index[[i]]] %*% solve(S[!index[[i]],!index[[i]]]) %*% S[!index[[i]],index[[i]]] SIG }) } MU <- rep(list(vector("numeric", length = 0)), length(x)) if (length(AnyMissing) > 0) { MU[AnyMissing] <- lapply(AnyMissing, function(i) { S <- V[[i]] Mu <- mu[[i]][index[[i]]] if (sum(!index[[i]]) > 0) Mu <- Mu + S[index[[i]],!index[[i]]] %*% solve(S[!index[[i]],!index[[i]]]) %*% (y[[i]][!index[[i]]] - mu[[i]][!index[[i]]]) Mu }) } llh <- sapply(seq_along(x), function(i) { LLH <- 0 if (sum(index[[i]]) > 0) LLH <- log(mvtnorm::pmvnorm(upper = y[[i]][index[[i]]], mean = as.vector(MU[[i]]), sigma = SIGMA[[i]])) if (sum(!index[[i]]) > 0) LLH <- LLH + mvtnorm::dmvnorm(t(y[[i]][!index[[i]]]), mean = mu[[i]][!index[[i]]], sigma = V[[i]][!index[[i]], !index[[i]], drop = FALSE], log=TRUE) LLH/nrow(V[[i]]) }) as.vector(ungroupPriors(matrix(llh), group, !duplicated(group))) } new("FLXcomponent", parameters = list(coef = para$coef, sigma2 = para$sigma2, censored = para$censored), logLik = logLik, predict = predict, df = para$df) } object@fit <- if (varFix) { function(x, y, w, C, fit) { any_removed <- any(w <= eps) if (any_removed) { ok <- apply(w, 2, function(x) x > eps) W <- lapply(seq_len(ncol(ok)), function(i) w[ok[,i],i]) X <- lapply(seq_len(ncol(ok)), function(i) x[ok[,i],,drop = FALSE]) y <- lapply(seq_len(ncol(ok)), function(i) y[ok[,i]]) C <- lapply(seq_len(ncol(ok)), function(i) C[ok[,i]]) } else { X <- rep(list(x), ncol(w)) y <- rep(list(y), ncol(w)) C <- rep(list(C), ncol(w)) W <- lapply(seq_len(ncol(w)), function(i) w[,i]) } if ("coef" %in% names(fit[[1]])) fit <- lapply(seq_len(ncol(w)), function(k) update_latent(X[[k]], y[[k]], C[[k]], fit[[k]])) else { fit <- lapply(seq_len(ncol(w)), function(k) list(censored = list(mu = lapply(seq_along(y[[k]]), function(i) y[[k]][[i]][C[[k]][[i]] == 1]), Sigma = lapply(C[[k]], function(x) diag(1, nrow = sum(x)) * var(unlist(y[[k]])))))) } fit <- lapply(seq_len(ncol(w)), function(k) c(lmc.wfit(X[[k]], y[[k]], W[[k]], C[[k]], fit[[k]]$censored), censored = list(fit[[k]]$censored))) sigma2 <- sum(sapply(fit, function(x) x$sigma2) * colMeans(w)) for (k in seq_len(ncol(w))) fit[[k]]$sigma2 <- sigma2 lapply(fit, function(Z) object@defineComponent(list(coef = coef(Z), df = Z$df + 1/ncol(w), sigma2 = Z$sigma2, censored = Z$censored))) } } else { function(x, y, w, C, fit){ any_removed <- any(w <= eps) if (any_removed) { ok <- w > eps w <- w[ok] x <- x[ok,,drop = FALSE] y <- y[ok] C <- C[ok] } if ("coef" %in% names(fit)) { fit <- update_latent(x, y, C, fit) } else { fit$censored <- list(mu = lapply(seq_along(y), function(i) y[[i]][C[[i]] == 1]), Sigma = lapply(C, function(x) diag(1, nrow = sum(x)) * var(unlist(y)))) } fit <- c(lmc.wfit(x, y, w, C, fit$censored), censored = list(fit$censored)) object@defineComponent( list(coef = coef(fit), df = fit$df + 1, sigma2 = fit$sigma2, censored = fit$censored)) } } } else { if (missing(varFix)) varFix <- c(Random = FALSE, Residual = FALSE) else if (length(varFix) != 2 || is.null(names(varFix)) || any(is.na(pmatch(names(varFix), c("Random", "Residual"))))) stop("varFix has to be a named vector of length two") else names(varFix) <- c("Random", "Residual")[pmatch(names(varFix), c("Random", "Residual"))] random <- if (length(random) == 3) random else formula(paste(".", paste(deparse(random), collapse = ""))) object <- new("FLXMRlmmc", formula = formula, random = random, censored = censored, weighted = TRUE, family = family, name = "FLXMRlmmc:gaussian") if (any(varFix)) object <- new("FLXMRlmmcfix", object) add <- function(x) Reduce("+", x) lmmc.wfit <- function(x, y, w, z, C, which, random, censored) { effect <- lapply(seq_along(which), function(i) z[[which[i]]] %*% random$beta[[i]]) Effect <- do.call("rbind", effect) W <- rep(w, sapply(x, nrow)) X <- do.call("rbind", x) ybar <- lapply(seq_along(y), function(i) { Y <- y[[i]] Y[C[[i]] == 1] <- censored$mu[[i]] Y }) Y <- do.call("rbind", ybar) fit <- lm.wfit(X, Y - Effect, W, ...) wGamma <- add(lapply(seq_along(which), function(i) w[i] * random$Gamma[[i]])) bb <- add(lapply(seq_along(which), function(i) tcrossprod(random$beta[[i]]) * w[i])) fit$sigma2 <- list(Random = (wGamma + bb)/sum(w)) fit$df <- ncol(X) fit } object@defineComponent <- function(para) { predict <- function(x, ...) lapply(x, function(X) X %*% para$coef) logLik <- function(x, y, z, C, which, group, censored, ...) { AnyMissing <- which(sapply(C, sum) > 0) index <- lapply(C, function(x) x == 1) V <- lapply(z, function(Z) tcrossprod(tcrossprod(Z, para$sigma2$Random), Z) + diag(nrow(Z)) * para$sigma2$Residual) mu <- predict(x, ...) SIGMA <- rep(list(matrix(nrow = 0, ncol = 0)), length(x)) if (length(AnyMissing) > 0) { SIGMA[AnyMissing] <- lapply(AnyMissing, function(i) { S <- V[[which[i]]] SIG <- S[index[[i]], index[[i]]] if (sum(!index[[i]]) > 0) SIG <- SIG - S[index[[i]],!index[[i]]] %*% solve(S[!index[[i]],!index[[i]]]) %*% S[!index[[i]],index[[i]]] SIG }) } MU <- rep(list(vector("numeric", length = 0)), length(x)) if (length(AnyMissing) > 0) { MU[AnyMissing] <- lapply(AnyMissing, function(i) { S <- V[[which[i]]] Mu <- mu[[i]][index[[i]]] if (sum(!index[[i]]) > 0) Mu <- Mu + S[index[[i]],!index[[i]]] %*% solve(S[!index[[i]],!index[[i]]]) %*% (y[[i]][!index[[i]]] - mu[[i]][!index[[i]]]) Mu }) } llh <- sapply(seq_along(x), function(i) { LLH <- 0 if (sum(index[[i]]) > 0) LLH <- log(mvtnorm::pmvnorm(upper = y[[i]][index[[i]]], mean = as.vector(MU[[i]]), sigma = SIGMA[[i]])) if (sum(!index[[i]]) > 0) LLH <- LLH + mvtnorm::dmvnorm(t(y[[i]][!index[[i]]]), mean = mu[[i]][!index[[i]]], sigma = V[[which[i]]][!index[[i]], !index[[i]], drop = FALSE], log=TRUE) LLH/nrow(V[[which[i]]]) }) as.vector(ungroupPriors(matrix(llh), group, !duplicated(group))) } new("FLXcomponent", parameters = list(coef = para$coef, sigma2 = para$sigma2, censored = para$censored, random = para$random), logLik = logLik, predict = predict, df = para$df) } object@fit <- if (any(varFix)) { function(x, y, w, z, C, which, fit) { any_removed <- any(w <= eps) if (any_removed) { ok <- apply(w, 2, function(x) x > eps) W <- lapply(seq_len(ncol(ok)), function(i) w[ok[,i],i]) X <- lapply(seq_len(ncol(ok)), function(i) x[ok[,i],,drop = FALSE]) y <- lapply(seq_len(ncol(ok)), function(i) y[ok[,i]]) C <- lapply(seq_len(ncol(ok)), function(i) C[ok[,i]]) which <- lapply(seq_len(ncol(ok)), function(i) which[ok[,i]]) } else { X <- rep(list(x), ncol(w)) y <- rep(list(y), ncol(w)) C <- rep(list(C), ncol(w)) which <- rep(list(which), ncol(w)) W <- lapply(seq_len(ncol(w)), function(i) w[,i]) } if ("coef" %in% names(fit[[1]])) fit <- lapply(seq_len(ncol(w)), function(k) update_latent_random(X[[k]], y[[k]], z, C[[k]], which[[k]], fit[[k]])) else { fit <- lapply(seq_len(ncol(w)), function(k) list(random = list(beta = lapply(seq_along(W[[k]]), function(i) rep(0, ncol(z[[which[[k]][i]]]))), Gamma = lapply(seq_along(W[[k]]), function(i) diag(ncol(z[[which[[k]][i]]])))), censored = list(mu = lapply(seq_along(y[[k]]), function(i) y[[k]][[i]][C[[k]][[i]] == 1]), Sigma = lapply(C[[k]], function(x) diag(1, nrow = sum(x)) * var(unlist(y[[k]]))), psi = lapply(C[[k]], function(x) rep(0, sum(x)))))) } fit <- lapply(seq_len(ncol(w)), function(k) c(lmmc.wfit(X[[k]], y[[k]], W[[k]], z, C[[k]], which[[k]], fit[[k]]$random, fit[[k]]$censored), random = list(fit[[k]]$random), censored = list(fit[[k]]$censored))) if (varFix["Random"]) { prior_w <- apply(w, 2, weighted.mean, w = sapply(x, length)) Psi <- add(lapply(seq_len(ncol(w)), function(k) fit[[k]]$sigma2$Random * prior_w[k])) for (k in seq_len(ncol(w))) fit[[k]]$sigma2$Random <- Psi } for (k in seq_len(ncol(w))) fit[[k]]$sigma2$Residual <- update_Residual(fit[[k]], W[[k]], z, C[[k]], which[[k]], fit[[k]]$random, fit[[k]]$censored) if (varFix["Residual"]) { prior <- colMeans(w) Residual <- sum(sapply(fit[[k]]$sigma2$Residual, function(x) x) * prior) for (k in seq_len(ncol(w))) fit[[k]]$sigma2$Residual <- Residual } n <- nrow(fit[[1]]$sigma2$Random) lapply(fit, function(Z) object@defineComponent( list(coef = coef(Z), df = Z$df + n*(n+1)/(2*ifelse(varFix["Random"], ncol(w), 1)) + ifelse(varFix["Residual"], 1/ncol(w), 1), sigma2 = Z$sigma2, random = Z$random, censored = Z$censored))) } } else { function(x, y, w, z, C, which, fit){ any_removed <- any(w <= eps) if (any_removed) { ok <- w > eps w <- w[ok] x <- x[ok,,drop = FALSE] y <- y[ok] C <- C[ok] which <- which[ok] } if ("coef" %in% names(fit)) fit <- update_latent_random(x, y, z, C, which, fit) else { fit <- list(random = list(beta = lapply(which, function(i) rep(0, ncol(z[[i]]))), Gamma = lapply(which, function(i) diag(ncol(z[[i]])))), censored = list(mu = lapply(seq_along(y), function(i) y[[i]][C[[i]] == 1]), Sigma = lapply(C, function(x) diag(1, nrow = sum(x)) * var(unlist(y))), psi = lapply(C, function(x) rep(0, sum(x))))) } fit <- c(lmmc.wfit(x, y, w, z, C, which, fit$random, fit$censored), random = list(fit$random), censored = list(fit$censored)) fit$sigma2$Residual <- update_Residual(fit, w, z, C, which, fit$random, fit$censored) n <- nrow(fit$sigma2$Random) object@defineComponent( list(coef = coef(fit), df = fit$df + n*(n+1)/2 + 1, sigma2 = fit$sigma2, random = fit$random, censored = fit$censored)) } } } object } setMethod("FLXmstep", signature(model = "FLXMRlmc"), function(model, weights, components) { weights <- weights[!duplicated(model@group),,drop=FALSE] return(sapply(1:ncol(weights), function(k) model@fit(model@x, model@y, weights[,k], model@C, components[[k]]@parameters))) }) setMethod("FLXmstep", signature(model = "FLXMRlmcfix"), function(model, weights, components) { weights <- weights[!duplicated(model@group),,drop=FALSE] return(model@fit(model@x, model@y, weights, model@C, lapply(components, function(x) x@parameters))) }) setMethod("FLXmstep", signature(model = "FLXMRlmmc"), function(model, weights, components) { weights <- weights[!duplicated(model@group),,drop=FALSE] return(sapply(1:ncol(weights), function(k) model@fit(model@x, model@y, weights[,k], model@z, model@C, model@which, components[[k]]@parameters))) }) setMethod("FLXmstep", signature(model = "FLXMRlmmcfix"), function(model, weights, components) { weights <- weights[!duplicated(model@group),,drop=FALSE] return(model@fit(model@x, model@y, weights, model@z, model@C, model@which, lapply(components, function(x) x@parameters))) }) setMethod("FLXgetModelmatrix", signature(model="FLXMRlmc"), function(model, data, formula, lhs=TRUE, ...) { formula_nogrouping <- RemoveGrouping(formula) if (formula_nogrouping == formula) stop("please specify a grouping variable") model <- callNextMethod(model, data, formula, lhs) model@fullformula <- update(model@fullformula, paste(".~. |", .FLXgetGroupingVar(formula))) mt2 <- terms(model@censored, data=data) mf2 <- model.frame(delete.response(mt2), data=data, na.action = NULL) model@C <- model.matrix(attr(mf2, "terms"), data) model@group <- grouping <- .FLXgetGrouping(formula, data)$group model@x <- matrix(lapply(unique(grouping), function(g) model@x[grouping == g, , drop = FALSE]), ncol = 1) if (lhs) model@y <- matrix(lapply(unique(grouping), function(g) model@y[grouping == g, , drop = FALSE]), ncol = 1) model@C <- matrix(lapply(unique(grouping), function(g) model@C[grouping == g, , drop = FALSE]), ncol = 1) model }) setMethod("FLXgetModelmatrix", signature(model="FLXMRlmmc"), function(model, data, formula, lhs=TRUE, ...) { model <- callNextMethod(model, data, formula, lhs) mt1 <- terms(model@random, data=data) mf1 <- model.frame(delete.response(mt1), data=data, na.action = NULL) model@z <- model.matrix(attr(mf1, "terms"), data) rownames(model@z) <- NULL grouping <- .FLXgetGrouping(formula, data)$group z <- matrix(lapply(unique(grouping), function(g) model@z[grouping == g, , drop = FALSE]), ncol = 1) model@z <- unique(z) model@which <- match(z, model@z) model }) setMethod("FLXgetObs", "FLXMRlmc", function(model) sum(sapply(model@x, nrow))) setMethod("FLXdeterminePostunscaled", signature(model = "FLXMRlmc"), function(model, components, ...) { sapply(components, function(x) x@logLik(model@x, model@y, model@C, model@group, x@parameters$censored)) }) setMethod("FLXdeterminePostunscaled", signature(model = "FLXMRlmmc"), function(model, components, ...) { sapply(components, function(x) x@logLik(model@x, model@y, model@z, model@C, model@which, model@group, x@parameters$censored)) }) setMethod("predict", signature(object="FLXMRlmc"), function(object, newdata, components, ...) { object <- FLXgetModelmatrix(object, newdata, formula = object@fullformula, lhs = FALSE) lapply(components, function(comp) unlist(comp@predict(object@x, ...))) }) setMethod("rFLXM", signature(model = "FLXMRlmc", components = "FLXcomponent"), function(model, components, ...) { stop("This model driver is not implemented yet.") }) flexmix/R/concomitant.R0000644000176200001440000000647414404637304014610 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: concomitant.R 5079 2016-01-31 12:21:12Z gruen $ # FLXPmultinom <- function(formula=~1) { z <- new("FLXPmultinom", name="FLXPmultinom", formula=formula) multinom.fit <- function(x, y, w, ...) { r <- ncol(x) p <- ncol(y) if (p < 2) stop("Multinom requires at least two components.") mask <- c(rep(0, r + 1), rep(c(0, rep(1, r)), p - 1)) nnet.default(x, y, w, mask = mask, size = 0, skip = TRUE, softmax = TRUE, censored = FALSE, rang = 0, trace=FALSE,...) } z@fit <- function(x, y, w, ...) multinom.fit(x, y, w, ...)$fitted.values z@refit <- function(x, y, w, ...) { if (missing(w) || is.null(w)) w <- rep(1, nrow(y)) rownames(y) <- rownames(x) <- NULL fit <- multinom(y ~ 0 + x, weights = w, data = list(y = y, x = x), Hess = TRUE, trace = FALSE) fit$coefnames <- colnames(x) fit$vcoefnames <- fit$coefnames[seq_along(fit$coefnames)] dimnames(fit$Hessian) <- lapply(dim(fit$Hessian) / ncol(x), function(i) paste(rep(seq_len(i) + 1, each = ncol(x)), colnames(x), sep = ":")) fit } z } FLXPconstant <- function() { new("FLXP", name="FLXPconstant", formula = ~1, fit = function(x, y, w, ...){ if (missing(w) || is.null(w)) return(matrix(colMeans(y), ncol=ncol(y), dimnames = list("prior", seq_len(ncol(y))))) else return(matrix(colMeans(w*y)/mean(w), ncol=ncol(y), dimnames = list("prior", seq_len(ncol(y))))) }) } ###********************************************************** setMethod("FLXgetModelmatrix", signature(model="FLXP"), function(model, data, groups, lhs, ...) { mt <- terms(model@formula, data=data) mf <- model.frame(delete.response(mt), data=data, na.action = NULL) X <- model.matrix(mt, data=mf) if (nrow(X)){ if (!checkGroup(X, groups$group)) stop("model variables have to be constant for grouping variable") model@x <- X[groups$groupfirst,,drop=FALSE] } else{ model@x <- matrix(1, nrow=sum(groups$groupfirst)) } model }) checkGroup <- function(x, group) { check <- TRUE for(g in levels(group)){ gok <- group==g if(any(gok)){ check <- all(c(check, apply(x[gok,,drop=FALSE], 2, function(z) length(unique(z)) == 1))) } } check } ###********************************************************** setMethod("refit_mstep", signature(object="FLXP", newdata="missing"), function(object, newdata, posterior, group, ...) NULL) setMethod("refit_mstep", signature(object="FLXPmultinom", newdata="missing"), function(object, newdata, posterior, group, ...) { groupfirst <- if (length(group)) groupFirst(group) else rep(TRUE, nrow(posterior)) object@refit(object@x, posterior[groupfirst,,drop=FALSE], ...) }) ###********************************************************** setMethod("FLXfillConcomitant", signature(concomitant="FLXP"), function(concomitant, posterior, weights) { concomitant@coef <- concomitant@refit(concomitant@x, posterior, weights) concomitant }) setMethod("FLXfillConcomitant", signature(concomitant="FLXPmultinom"), function(concomitant, posterior, weights) { concomitant@coef <- cbind("1" = 0, t(coef(concomitant@refit(concomitant@x, posterior, weights)))) concomitant }) ###********************************************************** flexmix/R/group.R0000644000176200001440000000061514404637304013415 0ustar liggesuserssetMethod("group", signature(object="flexmix"), function(object) { group <- object@group if (!length(group)) group <- group(object@model[[1]]) group }) setMethod("group", signature(object="FLXM"), function(object) { factor(seq_len(nrow(object@x))) }) setMethod("group", signature(object="FLXMRglmfix"), function(object) { factor(seq_len(nrow(object@x)/sum(object@nestedformula@k))) }) flexmix/R/flexmix.R0000644000176200001440000005224414404637304013742 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: flexmix.R 5184 2020-06-20 18:27:29Z gruen $ # log_row_sums <- function(m) { M <- m[cbind(seq_len(nrow(m)), max.col(m, "first"))] M + log(rowSums(exp(m - M))) } ## The following two methods only fill in and rearrange the model argument setMethod("flexmix", signature(formula = "formula", model="missing"), function(formula, data=list(), k=NULL, cluster=NULL, model=NULL, concomitant=NULL, control=NULL, weights=NULL) { mycall = match.call() z <- flexmix(formula=formula, data=data, k=k, cluster=cluster, model=list(FLXMRglm()), concomitant=concomitant, control=control, weights = weights) z@call <- mycall z }) setMethod("flexmix", signature(formula = "formula", model="FLXM"), function(formula, data=list(), k=NULL, cluster=NULL, model=NULL, concomitant=NULL, control=NULL, weights=NULL) { mycall = match.call() z <- flexmix(formula=formula, data=data, k=k, cluster=cluster, model=list(model), concomitant=concomitant, control=control, weights=weights) z@call <- mycall z }) ## This is the real thing setMethod("flexmix", signature(formula = "formula", model="list"), function(formula, data=list(), k=NULL, cluster=NULL, model=NULL, concomitant=NULL, control=NULL, weights=NULL) { mycall = match.call() control = as(control, "FLXcontrol") if (!is(concomitant, "FLXP")) concomitant <- FLXPconstant() groups <- .FLXgetGrouping(formula, data) model <- lapply(model, FLXcheckComponent, k, cluster) k <- unique(unlist(sapply(model, FLXgetK, k))) if (length(k) > 1) stop("number of clusters not specified correctly") model <- lapply(model, FLXgetModelmatrix, data, formula) groups$groupfirst <- if (length(groups$group)) groupFirst(groups$group) else rep(TRUE, FLXgetObs(model[[1]])) if (is(weights, "formula")) { weights <- model.frame(weights, data = data, na.action = NULL)[,1] } ## check if the weights are integer ## if non-integer weights are wanted modifications e.g. ## for classify != weighted and ## plot,flexmix,missing-method are needed if (!is.null(weights) & !identical(weights, as.integer(weights))) stop("only integer weights allowed") ## if weights and grouping is specified the weights within each ## group need to be the same if (!is.null(weights) & length(groups$group)>0) { unequal <- tapply(weights, groups$group, function(x) length(unique(x)) > 1) if (any(unequal)) stop("identical weights within groups needed") } postunscaled <- initPosteriors(k, cluster, FLXgetObs(model[[1]]), groups) if (ncol(postunscaled) == 1L) concomitant <- FLXPconstant() concomitant <- FLXgetModelmatrix(concomitant, data = data, groups = groups) z <- FLXfit(model=model, concomitant=concomitant, control=control, postunscaled=postunscaled, groups=groups, weights = weights) z@formula = formula z@call = mycall z@k0 = as.integer(k) z }) ###********************************************************** setMethod("FLXgetK", signature(model = "FLXM"), function(model, k, ...) k) setMethod("FLXgetObs", signature(model = "FLXM"), function(model) nrow(model@x)) setMethod("FLXcheckComponent", signature(model = "FLXM"), function(model, ...) model) setMethod("FLXremoveComponent", signature(model = "FLXM"), function(model, ...) model) setMethod("FLXmstep", signature(model = "FLXM"), function(model, weights, components, ...) { if ("component" %in% names(formals(model@fit))) sapply(seq_len(ncol(weights)), function(k) model@fit(model@x, model@y, weights[,k], component = components[[k]]@parameters)) else sapply(seq_len(ncol(weights)), function(k) model@fit(model@x, model@y, weights[,k])) }) setMethod("FLXdeterminePostunscaled", signature(model = "FLXM"), function(model, components, ...) { matrix(sapply(components, function(x) x@logLik(model@x, model@y)), nrow = nrow(model@y)) }) ###********************************************************** setMethod("FLXfit", signature(model="list"), function(model, concomitant, control, postunscaled=NULL, groups, weights) { ### initialize k <- ncol(postunscaled) N <- nrow(postunscaled) control <- allweighted(model, control, weights) if(control@verbose>0) cat("Classification:", control@classify, "\n") if (control@classify %in% c("SEM", "random")) iter.rm <- 0 group <- groups$group groupfirst <- groups$groupfirst if(length(group)>0) postunscaled <- groupPosteriors(postunscaled, group) logpostunscaled <- log(postunscaled) postscaled <- exp(logpostunscaled - log_row_sums(logpostunscaled)) llh <- -Inf if (control@classify %in% c("SEM", "random")) llh.max <- -Inf converged <- FALSE components <- rep(list(rep(list(new("FLXcomponent")), k)), length(model)) ### EM for(iter in seq_len(control@iter.max)) { ### M-Step postscaled = .FLXgetOK(postscaled, control, weights) prior <- if (is.null(weights)) ungroupPriors(concomitant@fit(concomitant@x, postscaled[groupfirst,,drop=FALSE]), group, groupfirst) else ungroupPriors(concomitant@fit(concomitant@x, (postscaled/weights)[groupfirst & weights > 0,,drop=FALSE], weights[groupfirst & weights > 0]), group, groupfirst) # Check min.prior nok <- if (nrow(prior) == 1) which(prior < control@minprior) else { if (is.null(weights)) which(colMeans(prior[groupfirst,,drop=FALSE]) < control@minprior) else which(colSums(prior[groupfirst,] * weights[groupfirst])/sum(weights[groupfirst]) < control@minprior) } if(length(nok)) { if(control@verbose>0) cat("*** Removing", length(nok), "component(s) ***\n") prior <- prior[,-nok,drop=FALSE] prior <- prior/rowSums(prior) postscaled <- postscaled[,-nok,drop=FALSE] postscaled[rowSums(postscaled) == 0,] <- if (nrow(prior) > 1) prior[rowSums(postscaled) == 0,] else prior[rep(1, sum(rowSums(postscaled) == 0)),] postscaled <- postscaled/rowSums(postscaled) if (!is.null(weights)) postscaled <- postscaled * weights k <- ncol(prior) if (k == 0) stop("all components removed") if (control@classify=="random") { llh.max <- -Inf iter.rm <- iter } model <- lapply(model, FLXremoveComponent, nok) components <- lapply(components, "[", -nok) } components <- lapply(seq_along(model), function(i) FLXmstep(model[[i]], postscaled, components[[i]])) postunscaled <- matrix(0, nrow = N, ncol = k) for (n in seq_along(model)) postunscaled <- postunscaled + FLXdeterminePostunscaled(model[[n]], components[[n]]) if(length(group)>0) postunscaled <- groupPosteriors(postunscaled, group) ### E-Step ## Code changed thanks to Nicolas Picard ## to avoid problems with small likelihoods postunscaled <- if (nrow(prior) > 1) postunscaled + log(prior) else sweep(postunscaled, 2, log(prior), "+") logpostunscaled <- postunscaled postunscaled <- exp(postunscaled) postscaled <- exp(logpostunscaled - log_row_sums(logpostunscaled)) ##: wenn eine beobachtung in allen Komonenten extrem ## kleine postunscaled-werte hat, ist exp(-postunscaled) ## numerisch Null, und damit postscaled NaN ## log(rowSums(postunscaled)) ist -Inf ## if (any(is.nan(postscaled))) { index <- which(as.logical(rowSums(is.nan(postscaled)))) postscaled[index,] <- if(nrow(prior)==1) rep(prior, each = length(index)) else prior[index,] postunscaled[index,] <- .Machine$double.xmin } ### check convergence llh.old <- llh llh <- if (is.null(weights)) sum(log_row_sums(logpostunscaled[groupfirst,,drop=FALSE])) else sum(log_row_sums(logpostunscaled[groupfirst,,drop=FALSE])*weights[groupfirst]) if(is.na(llh) | is.infinite(llh)) stop(paste(formatC(iter, width=4), "Log-likelihood:", llh)) if (abs(llh-llh.old)/(abs(llh)+0.1) < control@tolerance){ if(control@verbose>0){ printIter(iter, llh) cat("converged\n") } converged <- TRUE break } if (control@classify=="random") { if (llh.max < llh) { components.max <- components prior.max <- prior postscaled.max <- postscaled postunscaled.max <- postunscaled llh.max <- llh } } if(control@verbose && (iter%%control@verbose==0)) printIter(iter, llh) } ### Construct return object if (control@classify=="random") { components <- components.max prior <- prior.max postscaled <- postscaled.max postunscaled <- postunscaled.max llh <- llh.max iter <- control@iter.max - iter.rm } components <- lapply(seq_len(k), function(i) lapply(components, function(x) x[[i]])) names(components) <- paste("Comp", seq_len(k), sep=".") cluster <- max.col(postscaled) size <- if (is.null(weights)) tabulate(cluster, nbins=k) else tabulate(rep(cluster, weights), nbins=k) names(size) <- seq_len(k) concomitant <- FLXfillConcomitant(concomitant, postscaled[groupfirst,,drop=FALSE], weights[groupfirst]) df <- concomitant@df(concomitant@x, k) + sum(sapply(components, sapply, slot, "df")) control@nrep <- 1 prior <- if (is.null(weights)) colMeans(postscaled[groupfirst,,drop=FALSE]) else colSums(postscaled[groupfirst,,drop=FALSE] * weights[groupfirst])/sum(weights[groupfirst]) retval <- new("flexmix", model=model, prior=prior, posterior=list(scaled=postscaled, unscaled=postunscaled), weights = weights, iter=iter, cluster=cluster, size = size, logLik=llh, components=components, concomitant=concomitant, control=control, df=df, group=group, k=as(k, "integer"), converged=converged) retval }) ###********************************************************** .FLXgetOK = function(p, control, weights){ n = ncol(p) N = seq_len(n) if (is.null(weights)) { if (control@classify == "weighted") return(p) else { z = matrix(FALSE, nrow = nrow(p), ncol = n) if(control@classify %in% c("CEM", "hard")) m = max.col(p) else if(control@classify %in% c("SEM", "random")) m = apply(p, 1, function(x) sample(N, size = 1, prob = x)) else stop("Unknown classification method") z[cbind(seq_len(nrow(p)), m)] = TRUE } }else { if(control@classify=="weighted") z <- p * weights else{ z = matrix(FALSE, nrow=nrow(p), ncol=n) if(control@classify %in% c("CEM", "hard")) { m = max.col(p) z[cbind(seq_len(nrow(p)), m)] = TRUE z <- z * weights } else if(control@classify %in% c("SEM", "random")) z = t(sapply(seq_len(nrow(p)), function(i) table(factor(sample(N, size=weights[i], prob=p[i,], replace=TRUE), N)))) else stop("Unknown classification method") } } z } ###********************************************************** RemoveGrouping <- function(formula) { lf <- length(formula) formula1 <- formula if(length(formula[[lf]])>1) { if (deparse(formula[[lf]][[1]]) == "|"){ formula1[[lf]] <- formula[[lf]][[2]] } else if (deparse(formula[[lf]][[1]]) == "("){ form <- formula[[lf]][[2]] if (length(form) == 3 && form[[1]] == "|") formula1[[lf]] <- form[[2]] } } formula1 } .FLXgetGroupingVar <- function(x) { lf <- length(x) while (lf > 1) { x <- x[[lf]] lf <- length(x) } x } .FLXgetGrouping <- function(formula, data) { group <- factor(integer(0)) formula1 <- RemoveGrouping(formula) if (!identical(formula1, formula)) group <- factor(eval(.FLXgetGroupingVar(formula), data)) return(list(group=group, formula=formula1)) } setMethod("FLXgetModelmatrix", signature(model="FLXM"), function(model, data, formula, lhs=TRUE, ...) { formula <- RemoveGrouping(formula) if (length(grep("\\|", deparse(model@formula)))) stop("no grouping variable allowed in the model") if(is.null(model@formula)) model@formula = formula ## model@fullformula = update.formula(formula, model@formula) ## : ist das der richtige weg, wenn ein punkt in beiden ## formeln ist? model@fullformula = update(terms(formula, data=data), model@formula) ## if (lhs) { mf <- if (is.null(model@terms)) model.frame(model@fullformula, data=data, na.action = NULL) else model.frame(model@terms, data=data, na.action = NULL, xlev = model@xlevels) model@terms <- attr(mf, "terms") response <- as.matrix(model.response(mf)) model@y <- model@preproc.y(response) } else { mt1 <- if (is.null(model@terms)) terms(model@fullformula, data=data) else model@terms mf <- model.frame(delete.response(mt1), data=data, na.action = NULL, xlev = model@xlevels) model@terms<- attr(mf, "terms") ## : warum war das da??? ## attr(mt, "intercept") <- attr(mt1, "intercept") ## } X <- model.matrix(model@terms, data=mf) model@contrasts <- attr(X, "contrasts") model@x <- model@preproc.x(X) model@xlevels <- .getXlevels(model@terms, mf) model }) ## groupfirst: for grouped observation we need to be able to use ## the posterior of each group, but for computational simplicity ## post(un)scaled has N rows (with mutiple identical rows for each ## group). postscaled[groupfirst,] extracts posteriors of each ## group ordered as the appear in the data set. groupFirst <- function(x) !duplicated(x) ## if we have a group variable, set the posterior to the product ## of all density values for that group (=sum in logarithm) groupPosteriors <- function(x, group) { if (length(group) > 0) { group <- as.integer(group) x.by.group <- matrix(unname(apply(x, 2, tapply, group, sum)), ncol = ncol(x)) x <- x.by.group[group,, drop = FALSE] } x } ungroupPriors <- function(x, group, groupfirst) { if (!length(group)) group <- seq_along(groupfirst) if (nrow(x) >= length(group[groupfirst])) { x <- x[order(as.integer(group[groupfirst])),,drop=FALSE] x <- x[as.integer(group),,drop=FALSE] } x } setMethod("allweighted", signature(model = "list", control = "ANY", weights = "ANY"), function(model, control, weights) { allweighted <- all(sapply(model, function(x) allweighted(x, control, weights))) if(allweighted){ if(control@classify=="auto") control@classify <- "weighted" } else{ if(control@classify=="auto") control@classify <- "hard" else if (control@classify=="weighted") { warning("only hard classification supported for the modeldrivers") control@classify <- "hard" } if(!is.null(weights)) stop("it is not possible to specify weights for models without weighted ML estimation") } control }) setMethod("allweighted", signature(model = "FLXM", control = "ANY", weights = "ANY"), function(model, control, weights) { model@weighted }) initPosteriors <- function(k, cluster, N, groups) { if(is(cluster, "matrix")){ postunscaled <- cluster if (!is.null(k)) if (k != ncol(postunscaled)) stop("specified k does not match the number of columns of cluster") } else{ if(is.null(cluster)){ if(is.null(k)) stop("either k or cluster must be specified") else cluster <- ungroupPriors(as.matrix(sample(seq_len(k), size = sum(groups$groupfirst), replace=TRUE)), groups$group, groups$groupfirst) } else{ cluster <- as(cluster, "integer") if (!is.null(k)) if (k != max(cluster)) stop("specified k does not match the values in cluster") k <- max(cluster) } postunscaled <- matrix(0.1, nrow=N, ncol=k) for(K in seq_len(k)){ postunscaled[cluster==K, K] <- 0.9 } } postunscaled } ###********************************************************** setMethod("predict", signature(object="FLXdist"), function(object, newdata=list(), aggregate=FALSE, ...){ if (missing(newdata)) return(fitted(object, aggregate=aggregate, drop=FALSE)) x = list() for(m in seq_along(object@model)) { comp <- lapply(object@components, "[[", m) x[[m]] <- predict(object@model[[m]], newdata, comp, ...) } if (aggregate) { prior_weights <- prior(object, newdata) z <- lapply(x, function(z) matrix(rowSums(do.call("cbind", z) * prior_weights), nrow = nrow(z[[1]]))) } else { z <- list() for (k in seq_len(object@k)) { z[[k]] <- do.call("cbind", lapply(x, "[[", k)) } names(z) <- paste("Comp", seq_len(object@k), sep=".") } z }) ###********************************************************** setMethod("parameters", signature(object="FLXdist"), function(object, component=NULL, model=NULL, which = c("model", "concomitant"), simplify=TRUE, drop=TRUE) { which <- match.arg(which) if (is.null(component)) component <- seq_len(object@k) if (is.null(model)) model <- seq_along(object@model) if (which == "model") { if (simplify) { parameters <- sapply(model, function(m) sapply(object@components[component], function(x) unlist(x[[m]]@parameters), simplify=TRUE), simplify = FALSE) } else { parameters <- sapply(model, function(m) sapply(object@components[component], function(x) x[[m]]@parameters, simplify=FALSE), simplify = FALSE) } if (drop) { if (length(component) == 1 && !simplify) parameters <- lapply(parameters, "[[", 1) if (length(model) == 1) parameters <- parameters[[1]] } } else { parameters <- object@concomitant@coef[,component,drop=FALSE] } parameters }) setMethod("prior", signature(object="FLXdist"), function(object, newdata, ...) { if (missing(newdata)) prior <- object@prior else { groups <- .FLXgetGrouping(object@formula, newdata) nobs <- if (is(newdata, "data.frame")) nrow(newdata) else min(sapply(newdata, function(x) { if (is.null(nrow(x))) length(x) else nrow(x) })) group <- if (length(groups$group)) groups$group else factor(seq_len(nobs)) object@concomitant <- FLXgetModelmatrix(object@concomitant, data = newdata, groups = list(group=group, groupfirst = groupFirst(group))) prior <- determinePrior(object@prior, object@concomitant, group)[as.integer(group),] } prior }) setMethod("posterior", signature(object="flexmix", newdata="missing"), function(object, newdata, unscaled = FALSE, ...) { if (unscaled) return(object@posterior$unscaled) else return(object@posterior$scaled) }) setMethod("posterior", signature(object="FLXdist", newdata="listOrdata.frame"), function(object, newdata, unscaled=FALSE,...) { comp <- lapply(object@components, "[[", 1) postunscaled <- posterior(object@model[[1]], newdata, comp, ...) for (m in seq_along(object@model)[-1]) { comp <- lapply(object@components, "[[", m) postunscaled <- postunscaled + posterior(object@model[[m]], newdata, comp, ...) } groups <- .FLXgetGrouping(object@formula, newdata) prior <- prior(object, newdata = newdata) if(length(groups$group)>0) postunscaled <- groupPosteriors(postunscaled, groups$group) postunscaled <- postunscaled + log(prior) if (unscaled) return(exp(postunscaled)) else return(exp(postunscaled - log_row_sums(postunscaled))) }) setMethod("posterior", signature(object="FLXM", newdata="listOrdata.frame"), function(object, newdata, components, ...) { object <- FLXgetModelmatrix(object, newdata, object@fullformula, lhs = TRUE) FLXdeterminePostunscaled(object, components, ...) }) setMethod("clusters", signature(object="flexmix", newdata="missing"), function(object, newdata, ...) { object@cluster }) setMethod("clusters", signature(object="FLXdist", newdata="ANY"), function(object, newdata, ...) { max.col(posterior(object, newdata, ...)) }) ###********************************************************** setMethod("summary", "flexmix", function(object, eps=1e-4, ...){ z <- new("summary.flexmix", call = object@call, AIC = AIC(object), BIC = BIC(object), logLik = logLik(object)) TAB <- data.frame(prior=object@prior, size=object@size) rownames(TAB) <- paste("Comp.", seq_len(nrow(TAB)), sep="") TAB[["post>0"]] <- if (is.null(object@weights)) colSums(object@posterior$scaled > eps) else colSums((object@posterior$scaled > eps) * object@weights) TAB[["ratio"]] <- TAB[["size"]]/TAB[["post>0"]] z@comptab = TAB z }) ###********************************************************** flexmix/R/examples.R0000644000176200001440000000411314404637304014074 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: examples.R 5079 2016-01-31 12:21:12Z gruen $ # ExNPreg = function(n) { if(n %% 2 != 0) stop("n must be even") x <- runif(2*n, 0, 10) mp <- exp(c(2-0.2*x[1:n], 1+0.1*x[(n+1):(2*n)])) mb <- binomial()$linkinv(c(x[1:n]-5, 5-x[(n+1):(2*n)])) data.frame(x=x, yn=c(5*x[1:n], 40-(x[(n+1):(2*n)]-5)^2)+3*rnorm(n), yp=rpois(2*n, mp), yb=rbinom(2*n, size=1, prob=mb), class = rep(1:2, c(n,n)), id1 = factor(rep(1:n, rep(2, n))), id2 = factor(rep(1:(n/2), rep(4, n/2)))) } ExNclus = function(n=100) { if(n %% 2 != 0) stop("n must be even") rbind(mvtnorm::rmvnorm(n, mean=rep(0,2)), mvtnorm::rmvnorm(n, mean=c(8,0), sigma=diag(1:2)), mvtnorm::rmvnorm(1.5*n, mean=c(-2,6), sigma=diag(2:1)), mvtnorm::rmvnorm(2*n, mean=c(4,4), sigma=matrix(c(1,.9,.9,1), 2))) } ExLinear <- function(beta, n, xdist="runif", xdist.args=NULL, family=c("gaussian", "poisson"), sd=1, ...) { family <- match.arg(family) X <- NULL y <- NULL k <- ncol(beta) d <- nrow(beta)-1 n <- rep(n, length.out=k) if(family=="gaussian") sd <- rep(sd, length.out=k) xdist <- rep(xdist, length.out=d) if(is.null(xdist.args)){ xdist.args <- list(list(...)) } if(!is.list(xdist.args[[1]])) xdist.args <- list(xdist.args) xdist.args <- rep(xdist.args, length.out=d) for(i in 1:k) { X1 <- 1 for(j in 1:d){ xdist.args[[j]]$n <- n[i] X1 <- cbind(X1, do.call(xdist[j], xdist.args[[j]])) } X <- rbind(X, X1) xb <- X1 %*% beta[,i,drop=FALSE] if(family=="gaussian") y1 <- xb + rnorm(n[i], sd=sd[i]) else y1 <- rpois(n[i], exp(xb)) y <- c(y, y1) } X <- X[,-1,drop=FALSE] colnames(X) <- paste("x", 1:d, sep="") z <- data.frame(y=y, X) attr(z, "clusters") <- rep(1:k, n) z } flexmix/R/rFLXmodel.R0000644000176200001440000000566714404637304014131 0ustar liggesuserssetMethod("rFLXM", signature(model="FLXM", components="list"), function(model, components, class, ...) { y <- NULL for (l in seq_along(components)) { yl <- as.matrix(rFLXM(model, components[[l]], ...)) if (is.null(y)) y <- matrix(NA, nrow = length(class), ncol = ncol(yl)) y[class == l,] <- yl[class==l,] } y }) setMethod("rFLXM", signature(model = "FLXMRglm", components="FLXcomponent"), function(model, components, ...) { family <- model@family n <- nrow(model@x) if(family == "gaussian") { sigma <- components@parameters$sigma y <- rnorm(n, mean = components@predict(model@x, ...), sd = sigma) } else if (family == "binomial") { dotarg = list(...) if ("size" %in% names(dotarg)) size <- dotarg$size else { if (nrow(model@y)!=n) stop("no y values - specify a size argument") size <- rowSums(model@y) } parms <- components@parameters y <- rbinom(n, prob = components@predict(model@x, ...), size=size) y <- cbind(y, size - y) } else if (family == "poisson") { y <- rpois(n, lambda = components@predict(model@x, ...)) } else if (family == "Gamma") { shape <- components@parameters$shape y <- rgamma(n, shape = shape, scale = components@predict(model@x, ...)/shape) } else stop("family not supported") y }) setMethod("rFLXM", signature(model = "FLXMRglmfix", components="list"), function(model, components, class, ...) { k <- sum(model@nestedformula@k) n <- nrow(model@x)/k y <- matrix(NA, nrow = length(class), ncol = ncol(model@y)) model.sub <- as(model, "FLXMRglm") for (l in seq_len(k)) { rok <- (l-1)*n + seq_len(n) model.sub@x <- model@x[rok, as.logical(model@design[l,]), drop=FALSE] model.sub@y <- model@y[rok,,drop=FALSE] yl <- as.matrix(rFLXM(model.sub, components[[l]], ...)) y[class==l,] <- yl[class==l,] } y }) rmvbinom <- function(n, size, prob) sapply(prob, function(p) rbinom(n, size, p)) rmvbinary <- function(n, center) sapply(center, function(p) rbinom(n, 1, p)) setMethod("rFLXM", signature(model = "FLXMC", components = "FLXcomponent"), function(model, components, class, ...) { rmvnorm <- function(n, center, cov) mvtnorm::rmvnorm(n = n, mean = center, sigma = cov) dots <- list(...) FUN <- paste("r", model@dist, sep = "") args <- c(n = nrow(model@x), dots, components@parameters) return(do.call(FUN, args)) }) flexmix/R/plot-flexmix.R0000644000176200001440000001353014404637304014711 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: plot-flexmix.R 5079 2016-01-31 12:21:12Z gruen $ # determine_y <- function(h, root) { y <- h$counts if (root) y <- sqrt(y) return(y) } panel.rootogram <- function (x, breaks, equal.widths = TRUE, nint = max(round(log2(length(x)) + 1), 3), alpha = plot.polygon$alpha, col = plot.polygon$col, border = plot.polygon$border, lty = plot.polygon$lty, lwd = plot.polygon$lwd, subscripts, groups, mark, root = TRUE, markcol, ...) { x <- as.numeric(x) plot.polygon <- trellis.par.get("plot.polygon") grid.lines(x = c(0.05, 0.95), y = unit(c(0, 0), "native"), gp = gpar(col = border, lty = lty, lwd = lwd, alpha = alpha), default.units = "npc") if (length(x) > 0) { if (is.null(breaks)) { breaks <- if (equal.widths) do.breaks(range(x, finite = TRUE), nint) else quantile(x, 0:nint/nint, na.rm = TRUE) } h <- hist.constructor(x, breaks = breaks, plot = FALSE, ...) y <- determine_y(h, root) if (!is.null(mark)) { h1 <- hist.constructor(x[groups[subscripts] == mark], breaks = h$breaks, plot = FALSE, ...) y1 <- determine_y(h1, root) } nb <- length(breaks) if (length(y) != nb - 1) warning("problem with hist computations") if (nb > 1) { panel.rect(x = breaks[-nb], y = 0, height = y, width = diff(breaks), col = col, alpha = alpha, border = border, lty = lty, lwd = lwd, just = c("left", "bottom")) if (!is.null(mark)) panel.rect(x = breaks[-nb], y = 0, height = y1, width = diff(breaks), col = markcol, alpha = alpha, border = border, lty = lty, lwd = lwd, just = c("left", "bottom")) } } } prepanel.rootogram <- function (x, breaks, equal.widths = TRUE, nint = max(round(log2(length(x)) + 1), 3), root = TRUE, ...) { if (length(x) < 1) list(xlim = NA, ylim = NA, dx = NA, dy = NA) else { if (is.factor(x)) { isFactor <- TRUE xlimits <- levels(x) } else isFactor <- FALSE if (!is.numeric(x)) x <- as.numeric(x) if (is.null(breaks)) { breaks <- if (equal.widths) do.breaks(range(x, finite = TRUE), nint) else quantile(x, 0:nint/nint, na.rm = TRUE) } h <- hist.constructor(x, breaks = breaks, plot = FALSE, ...) y <- determine_y(h, root) list(xlim = if (isFactor) xlimits else range(x, breaks, finite = TRUE), ylim = range(0, y, finite = TRUE), dx = 1, dy = 1) } } setMethod("plot", signature(x="flexmix", y="missing"), function(x, y, mark=NULL, markcol=NULL, col=NULL, eps=1e-4, root=TRUE, ylim=TRUE, main=NULL, xlab = "", ylab = "", as.table = TRUE, endpoints = c(-0.04, 1.04), ...){ k <- length(x@prior) if(is.null(markcol)) markcol <- FullColors[5] if(is.null(col)) col <- LightColors[4] if(is.null(main)){ main <- ifelse(root, "Rootogram of posterior probabilities", "Histogram of posterior probabilities") main <- paste(main, ">", eps) } groupfirst <- if (length(x@group)) !duplicated(x@group) else TRUE if (is.null(x@weights)) z <- data.frame(posterior = as.vector(x@posterior$scaled[groupfirst,,drop=FALSE]), component = factor(rep(seq_len(x@k), each = nrow(x@posterior$scaled[groupfirst,,drop=FALSE])), levels = seq_len(x@k), labels = paste("Comp.", seq_len(x@k))), cluster = rep(as.vector(x@cluster[groupfirst]), k)) else z <- data.frame(posterior = rep(as.vector(x@posterior$scaled[groupfirst,,drop=FALSE]), rep(x@weights[groupfirst], k)), component = factor(rep(seq_len(x@k), each = sum(x@weights[groupfirst])), seq_len(x@k), paste("Comp.", seq_len(x@k))), cluster = rep(rep(as.vector(x@cluster[groupfirst]), x@weights[groupfirst]), k)) panel <- function(x, subscripts, groups, ...) panel.rootogram(x, root = root, mark = mark, col = col, markcol = markcol, subscripts = subscripts, groups = groups, ...) prepanel <- function(x, ...) prepanel.rootogram(x, root = root, ...) z <- subset(z, posterior > eps) cluster <- NULL # make codetools happy if (is.logical(ylim)) { scales <- if (ylim) list() else list(y = list(relation = "free")) hh <- histogram(~ posterior | component, data = z, main = main, ylab = ylab, xlab = xlab, groups = cluster, panel = panel, prepanel = prepanel, scales = scales, as.table = as.table, endpoints = endpoints, ...) } else hh <- histogram(~ posterior | component, data = z, main = main, ylab = ylab, xlab = xlab, groups = cluster, ylim = ylim, panel = panel, prepanel = prepanel, as.table = as.table, endpoints = endpoints, ...) if (root) { hh$yscale.components <- function (lim, packet.number = 0, packet.list = NULL, right = TRUE, ...) { comps <- calculateAxisComponents(lim, packet.list = packet.list, packet.number = packet.number, ...) comps$at <- sqrt(seq(min(comps$at)^2, max(comps$at)^2, length.out = length(comps$at))) comps$labels <- format(comps$at^2, trim = TRUE) list(num.limit = comps$num.limit, left = list(ticks = list(at = comps$at, tck = 1), labels = list(at = comps$at, labels = comps$labels, cex = 1, check.overlap = comps$check.overlap)), right = right) } } hh }) flexmix/R/ziglm.R0000644000176200001440000000405314404637304013403 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: ziglm.R 5079 2016-01-31 12:21:12Z gruen $ # setClass("FLXMRziglm", contains = "FLXMRglm") FLXMRziglm <- function(formula = . ~ ., family = c("binomial", "poisson"), ...) { family <- match.arg(family) new("FLXMRziglm", FLXMRglm(formula, family, ...), name = paste("FLXMRziglm", family, sep=":")) } setMethod("FLXgetModelmatrix", signature(model="FLXMRziglm"), function(model, data, formula, lhs=TRUE, ...) { model <- callNextMethod(model, data, formula, lhs) if (attr(terms(model@fullformula), "intercept") == 0) stop("please include an intercept") model }) setMethod("FLXremoveComponent", signature(model = "FLXMRziglm"), function(model, nok, ...) if (1 %in% nok) as(model, "FLXMRglm") else model) setMethod("FLXmstep", signature(model = "FLXMRziglm"), function(model, weights, components, ...) { coef <- c(-Inf, rep(0, ncol(model@x)-1)) names(coef) <- colnames(model@x) comp.1 <- model@defineComponent( list(coef = coef, df = 0, offset = NULL, family = model@family)) c(list(comp.1), FLXmstep(as(model, "FLXMRglm"), weights[, -1, drop=FALSE], components[-1])) }) setMethod("FLXgetDesign", signature(object = "FLXMRziglm"), function(object, components) rbind(0, FLXgetDesign(as(object, "FLXMRglm"), components[-1]))) setMethod("FLXreplaceParameters", signature(object="FLXMRziglm"), function(object, components, parms) c(components[[1]], FLXreplaceParameters(as(object, "FLXMRglm"), components[-1], parms))) setMethod("FLXgradlogLikfun", signature(object="FLXMRziglm"), function(object, components, weights, ...) FLXgradlogLikfun(as(object, "FLXMRglm"), components[-1], weights[,-1,drop=FALSE])) setMethod("refit_optim", signature(object = "FLXMRziglm"), function(object, components, ...) { x <- refit_optim(as(object, "FLXMRglm"), components[-1], ...) names(x) <- paste("Comp", 1 + seq_along(x), sep = ".") x }) flexmix/R/stepFlexmix.R0000644000176200001440000001351314404637304014572 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: stepFlexmix.R 5079 2016-01-31 12:21:12Z gruen $ # setClass("stepFlexmix", representation(models="list", k="integer", nrep="integer", logLiks="matrix", call="call")) stepFlexmix <- function(..., k=NULL, nrep=3, verbose=TRUE, drop=TRUE, unique=FALSE) { MYCALL <- match.call() MYCALL1 <- MYCALL bestFlexmix <- function(...) { z = new("flexmix", logLik=-Inf) logLiks = rep(NA, length.out = nrep) for(m in seq_len(nrep)){ if(verbose) cat(" *") x = try(flexmix(...)) if (!is(x, "try-error")) { logLiks[m] <- logLik(x) if(logLik(x) > logLik(z)) z = x } } return(list(z = z, logLiks = logLiks)) } z = list() if(is.null(k)){ RET = bestFlexmix(...) z[[1]] <- RET$z logLiks <- as.matrix(RET$logLiks) z[[1]]@call <- MYCALL z[[1]]@control@nrep <- nrep names(z) <- as.character(z[[1]]@k) if(verbose) cat("\n") } else{ k = as.integer(k) logLiks <- matrix(nrow = length(k), ncol = nrep) for(n in seq_along(k)){ ns <- as.character(k[n]) if(verbose) cat(k[n], ":") RET <- bestFlexmix(..., k=k[n]) z[[ns]] = RET$z logLiks[n,] <- RET$logLiks MYCALL1[["k"]] <- as.numeric(k[n]) z[[ns]]@call <- MYCALL1 z[[ns]]@control@nrep <- nrep if(verbose) cat("\n") } } logLiks <- logLiks[is.finite(sapply(z, logLik)),,drop=FALSE] z <- z[is.finite(sapply(z, logLik))] rownames(logLiks) <- names(z) if (!length(z)) stop("no convergence to a suitable mixture") if(drop & (length(z)==1)){ return(z[[1]]) } else{ z <- return(new("stepFlexmix", models=z, k=as.integer(names(z)), nrep=as.integer(nrep), logLiks=logLiks, call=MYCALL)) if(unique) z <- unique(z) return(z) } } ###********************************************************** setMethod("unique", "stepFlexmix", function(x, incomparables=FALSE, ...) { z <- list() K <- sapply(x@models, function(x) x@k) logLiks <- x@logLiks keep <- rep(TRUE, nrow(logLiks)) for(k in sort(unique(K))){ n <- which(k==K) if(length(n)>1){ l <- sapply(x@models[n], logLik) z[as.character(k)] <- x@models[n][which.max(l)] keep[n[-which.max(l)]] <- FALSE } else z[as.character(k)] <- x@models[n] } logLiks <- logLiks[keep,,drop=FALSE] rownames(logLiks) <- names(z) attr(logLiks, "na.action") <- NULL mycall <- x@call mycall["unique"] <- TRUE return(new("stepFlexmix", models=z, k=as.integer(names(z)), nrep=x@nrep, logLiks=logLiks, call=mycall)) }) ###********************************************************** setMethod("show", "stepFlexmix", function(object) { cat("\nCall:", deparse(object@call,0.75*getOption("width")), sep="\n") cat("\n") z <- data.frame(iter = sapply(object@models, function(x) x@iter), converged = sapply(object@models, function(x) x@converged), k = sapply(object@models, function(x) x@k), k0 = sapply(object@models, function(x) x@k0), logLik = sapply(object@models, function(x) logLik(x)), AIC = AIC(object), BIC = BIC(object), ICL = ICL(object)) print(z, na.string="") }) setMethod("nobs", signature(object="stepFlexmix"), function(object, ...) { sapply(object@models, nobs) }) setMethod("logLik", "stepFlexmix", function(object, ..., k = 2) { ll <- lapply(object@models, function(x) logLik(x)) df <- sapply(ll, attr, "df") nobs <- sapply(ll, attr, "nobs") ll <- unlist(ll) attr(ll, "df") <- df attr(ll, "nobs") <- nobs class(ll) <- "logLik" ll }) setMethod("ICL", "stepFlexmix", function(object, ...) { sapply(object@models, function(x) ICL(x, ...)) }) setMethod("EIC", "stepFlexmix", function(object, ...) { sapply(object@models, function(x) EIC(x, ...)) }) ###********************************************************** setMethod("getModel", "stepFlexmix", function(object, which="BIC") { if(which=="AIC") which <- which.min(sapply(object@models, function(x) AIC(x))) if(which=="BIC") which <- which.min(sapply(object@models, function(x) BIC(x))) if(which=="ICL") which <- which.min(sapply(object@models, function(x) ICL(x))) object@models[[which]] } ) ###********************************************************** setMethod("plot", signature(x="stepFlexmix", y="missing"), function(x, y, what=c("AIC", "BIC", "ICL"), xlab=NULL, ylab=NULL, legend="topright", ...) { X <- x@k Y <- NULL for(w in what){ Y <- cbind(Y, do.call(w, list(object=x))) } if(is.null(xlab)) xlab <- "number of components" if(is.null(ylab)){ if(length(what)==1) ylab <- what else ylab <- "" } matplot(X, Y, xlab=xlab, ylab=ylab, type="b", lty=1, pch=seq_along(what), ...) if(legend!=FALSE && length(what)>1) legend(x=legend, legend=what, pch=seq_along(what), col=seq_along(what)) for(n in seq_len(ncol(Y))){ m <- which.min(Y[,n]) points(X[m], Y[m,n], pch=16, cex=1.5, col=n) } }) flexmix/R/plot-FLXboot.R0000644000176200001440000001421014404637304014546 0ustar liggesusersprepanel.parallel.horizontal <- function (x, y, z, horizontal = TRUE, ...) { if (horizontal) list(xlim = extend.limits(c(1, ncol(as.data.frame(z))), prop = 0.03), ylim = c(0, 1), dx = 1, dy = 1) else list(xlim = c(0, 1), ylim = extend.limits(c(1, ncol(as.data.frame(z))), prop = 0.03), dx = 1, dy = 1) } panel.parallel.horizontal <- function (x, y, z, subscripts, groups = NULL, col = superpose.line$col, lwd = superpose.line$lwd, lty = superpose.line$lty, alpha = superpose.line$alpha, common.scale = FALSE, lower = sapply(z, function(x) min(as.numeric(x), na.rm = TRUE)), upper = sapply(z, function(x) max(as.numeric(x), na.rm = TRUE)), horizontal = TRUE, ...) { superpose.line <- trellis.par.get("superpose.line") reference.line <- trellis.par.get("reference.line") n.r <- ncol(z) n.c <- length(subscripts) if (is.null(groups)) { col <- rep(col, length = n.c) lty <- rep(lty, length = n.c) lwd <- rep(lwd, length = n.c) alpha <- rep(alpha, length = n.c) } else { groups <- as.factor(groups)[subscripts] n.g <- nlevels(groups) gnum <- as.numeric(groups) col <- rep(col, length = n.g)[gnum] lty <- rep(lty, length = n.g)[gnum] lwd <- rep(lwd, length = n.g)[gnum] alpha <- rep(alpha, length = n.g)[gnum] } if (is.function(lower)) lower <- sapply(z, lower) if (is.function(upper)) upper <- sapply(z, upper) if (common.scale) { lower <- min(lower) upper <- max(upper) } lower <- rep(lower, length = n.r) upper <- rep(upper, length = n.r) dif <- upper - lower if (n.r > 1) { if (horizontal) panel.segments(y0 = 0, y1 = 1, x0 = seq_len(n.r), x1 = seq_len(n.r), col = reference.line$col, lwd = reference.line$lwd, lty = reference.line$lty) else panel.segments(x0 = 0, x1 = 1, y0 = seq_len(n.r), y1 = seq_len(n.r), col = reference.line$col, lwd = reference.line$lwd, lty = reference.line$lty) }else return(invisible()) for (i in seq_len(n.r - 1)) { x0 <- (as.numeric(z[subscripts, i]) - lower[i])/dif[i] x1 <- (as.numeric(z[subscripts, i + 1]) - lower[i + 1])/dif[i + 1] if (horizontal) panel.segments(y0 = x0, x0 = i, y1 = x1, x1 = i + 1, col = col, lty = lty, lwd = lwd, alpha = alpha, ...) else panel.segments(x0 = x0, y0 = i, x1 = x1, y1 = i + 1, col = col, lty = lty, lwd = lwd, alpha = alpha, ...) } invisible() } confidence.panel.boot <- function(x, y, z, subscripts, lwd = 1, SD = NULL, ..., lower, upper, range = c(0, 1)) { nc <- ncol(z) if (missing(lower)) lower <- sapply(z, function(x) quantile(x, range[1])) if (missing(upper)) upper <- sapply(z, function(x) quantile(x, range[2])) dif <- upper - lower if (!is.null(SD)) { SD <- lapply(SD, function(x) (x - lower)/dif) for (l in seq_along(SD)) { grid.polygon(y = unit(c(SD[[l]][,1], rev(SD[[l]][,3])), "native"), x = unit(c(seq_len(nc),rev(seq_len(nc))), "native"), gp = gpar(fill = rgb(190/225, 190/225, 190/225, 0.5), col = "darkgrey")) } } panel.parallel.horizontal(x, y, z, subscripts, ..., lower = lower, upper = upper) if (!is.null(SD)) { for (l in seq_along(SD)) { llines(y = SD[[l]][,2], x = seq_len(nc), col="white", lwd=lwd, lty = 1) } } } setMethod("plot", signature(x = "FLXboot", y = "missing"), function(x, y, ordering = NULL, range = c(0, 1), ci = FALSE, varnames = colnames(pars), strip_name = NULL, ...) { k <- x@object@k pars <- parameters(x) if (ci) { x_refit <- refit(x@object) sd <- sqrt(diag(x_refit@vcov)) CI <- x_refit@coef + qnorm(0.975) * cbind(-sd, 0, sd) indices_prior <- grep("alpha$", names(x_refit@coef)) if (length(indices_prior)) { z <- mvtnorm::rmvnorm(10000, x_refit@coef[indices_prior,drop=FALSE], x_refit@vcov[indices_prior,indices_prior,drop=FALSE]) Priors <- t(apply(cbind(1, exp(z))/rowSums(cbind(1, exp(z))), 2, quantile, c(0.025, 0.5, 0.975))) indices <- lapply(seq_len(k), function(i) grep(paste("_Comp.", i, sep = ""), names(x_refit@coef[-indices_prior]))) SD <- lapply(seq_len(k), function(i) rbind(CI[indices[[i]], ], prior = Priors[i,])) } else { indices <- lapply(seq_len(k), function(i) grep(paste("_Comp.", i, sep = ""), names(x_refit@coef))) SD <- lapply(seq_len(k), function(i) CI[indices[[i]], ]) mnrow <- max(sapply(SD, nrow)) SD <- lapply(SD, function(x) if (nrow(x) < mnrow) do.call("rbind", c(list(x), as.list(rep(0, mnrow - nrow(x))))) else x) } if (any("gaussian" %in% sapply(x@object@model, function(x) if (is(x, "FLXMRglm")) x@family else ""))) { i <- grep("sigma$", colnames(pars)) pars[,i] <- log(pars[,i]) colnames(pars)[i] <- "log(sigma)" } } else SD <- NULL range_name <- vector(mode = "character", length=2) range_name[1] <- if (range[1] == 0) "Min" else paste(round(range[1]*100), "%", sep = "") range_name[2] <- if (range[2] == 1) "Max" else paste(round(range[2]*100), "%", sep = "") Ordering <- if (is.null(ordering)) NULL else factor(as.vector(apply(matrix(pars[,ordering], nrow = k), 2, function(x) order(order(x))))) if(is.null(strip_name)) formula = ~ pars else { opt.old <- options(useFancyQuotes = FALSE) on.exit(options(opt.old)) formula <- as.formula(paste("~ pars | ", sQuote(strip_name))) } pars <- na.omit(pars) if (!is.null(attr(pars, "na.action"))) Ordering <- Ordering[-attr(na.omit(pars), "na.action")] parallel.plot <- parallelplot(formula, groups = Ordering, default.scales = list(y = list(at = c(0, 1), labels = range_name), x = list(alternating = FALSE, axs = "i", tck = 0, at = seq_len(ncol(pars)))), range = range, panel = confidence.panel.boot, prepanel = prepanel.parallel.horizontal, SD = SD, ...) parallel.plot$x.scales$labels <- varnames parallel.plot }) flexmix/R/flxdist.R0000644000176200001440000000554214404637304013742 0ustar liggesusersFLXdist <- function(formula, k = NULL, model=FLXMRglm(), components, concomitant=FLXPconstant()) { mycall <- match.call() if(is(model, "FLXM")) model <- list(model) if (length(k)==1) prior <- rep(1/k, k) else { prior <- k/sum(k) } concomitant@x <- matrix(c(1, rep(0, ncol(concomitant@coef))[-1]), nrow = 1) prior <- as.vector(evalPrior(prior, concomitant)) lf <- length(formula) formula1 <- formula if(length(formula[[lf]])>1 && deparse(formula[[lf]][[1]]) == "|") formula1[[lf]] <- formula[[lf]][[2]] for(n in seq(along.with=model)) { if(is.null(model[[n]]@formula)) model[[n]]@formula <- formula1 else if(length(model[[n]]@formula) == 3 && model[[n]]@formula[[2]] == ".") model[[n]]@formula <- model[[n]]@formula[-2] model[[n]]@fullformula <- update.formula(formula1, model[[n]]@formula) } if (missing(components)) stop("no parameter values specified") if (length(components) != length(prior)) stop("components not specified correctly") comp <- list() for (k in seq(along.with=prior)) { comp[[k]] <- list() if (length(components[[k]]) != length(model)) stop("components not specified correctly") for (n in seq(along.with=model)) { comp[[k]][[n]] <- FLXcomponent(model[[n]], components[[k]][[n]]) } } new("FLXdist", formula=formula, call=mycall, concomitant=concomitant, prior=prior, k=length(prior), model=model, components=comp) } ###********************************************************** setGeneric("FLXcomponent", function(object, ...) standardGeneric("FLXcomponent")) setMethod("FLXcomponent", signature(object="FLXM"), function(object, components, ...) { components$df <- numeric() if (is(object@defineComponent, "expression")) eval(object@defineComponent, components) else object@defineComponent(components) }) #### setMethod("FLXcomponent", signature(object="FLXMRglm"), function(object, components, ...) { components$df <- numeric() offset <- NULL family <- object@family if (is(object@defineComponent, "expression")) eval(object@defineComponent, components) else object@defineComponent(components) }) ###********************************************************** setMethod("show", "FLXdist", function(object){ cat("\nCall:", deparse(object@call,0.75*getOption("width")), sep="\n") cat("\nPriors:\n") names(object@prior) <- paste("Comp.", seq_along(object@prior), sep="") print(object@prior) cat("\n") }) ###********************************************************** evalPrior <- function(prior, concomitant) prior setGeneric("evalPrior", function(prior, concomitant) standardGeneric("evalPrior")) setMethod("evalPrior", signature(concomitant="FLXPmultinom"), function(prior, concomitant) { exps <- exp(concomitant@x %*% concomitant@coef) exps/rowSums(exps) }) flexmix/R/utils.R0000644000176200001440000000321714404637304013422 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: utils.R 5079 2016-01-31 12:21:12Z gruen $ # list2object = function(from, to){ n = names(from) s = slotNames(to) p = pmatch(n, s) if(any(is.na(p))) stop(paste("\nInvalid slot name(s) for class", to, ":", paste(n[is.na(p)], collapse=" "))) names(from) = s[p] do.call("new", c(from, Class=to)) } printIter = function(iter, logLik, label="Log-likelihood") cat(formatC(iter, width=4), label, ":", formatC(logLik, width=12, format="f"),"\n") ## library(colorspace) ## dput(x[c(1,3,5,7,2,4,6,8)]) ## x = hcl(seq(0, 360*7/8, length.out = 8), c=30) LightColors <- c("#F9C3CD", "#D0D4A8", "#9DDDD5", "#D1CCF5", "#EDCAB2", "#AFDCB8", "#ACD7ED", "#EFC4E8") ## x = hcl(seq(0, 360*7/8, length.out = 8), c=100, l=65) FullColors <- c("#FF648A", "#96A100", "#00BCA3", "#9885FF", "#DC8400", "#00B430", "#00AEEF", "#F45BE1") ###********************************************************** ## similar defaults to silhouette plots in flexclust unipolarCols <- function(n, hue=0, chr=50, lum = c(55, 90)) { lum <- seq(lum[1], lum[2], length=n) hcl(hue, chr, lum) } bipolarCols <- function(n, hue=c(10, 130), ...) { if(n%%2){ # n odd n2 <- (n-1)/2 c1 <- unipolarCols(n2, hue[1]) c2 <- rev(unipolarCols(n2, hue[2])) return(c(c1, "white", c2)) } else{ # n even n2 <- n/2 c1 <- unipolarCols(n2, hue[1]) c2 <- rev(unipolarCols(n2, hue[2])) return(c(c1, c2)) } } ###********************************************************** flexmix/R/allGenerics.R0000644000176200001440000000621014404637304014506 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: allGenerics.R 5079 2016-01-31 12:21:12Z gruen $ # setGeneric("flexmix", function(formula, data=list(), k=NULL, cluster=NULL, model=NULL, concomitant=NULL, control=NULL, weights = NULL) standardGeneric("flexmix")) setGeneric("FLXfit", function(model, concomitant, control, postunscaled=NULL, groups, weights) standardGeneric("FLXfit")) ###********************************************************** setGeneric("FLXgetModelmatrix", function(model, data, ...) standardGeneric("FLXgetModelmatrix")) setGeneric("FLXfillConcomitant", function(concomitant, ...) standardGeneric("FLXfillConcomitant")) ###********************************************************** setGeneric("logLik") setGeneric("clogLik", function(object, ...) standardGeneric("clogLik")) setGeneric("EIC", function(object, ...) standardGeneric("EIC")) ###********************************************************** setGeneric("FLXcheckComponent", function(model, ...) standardGeneric("FLXcheckComponent")) setGeneric("FLXgetK", function(model, ...) standardGeneric("FLXgetK")) setGeneric("FLXgetObs", function(model) standardGeneric("FLXgetObs")) setGeneric("FLXmstep", function(model, ...) standardGeneric("FLXmstep")) setGeneric("FLXremoveComponent", function(model, ...) standardGeneric("FLXremoveComponent")) setGeneric("FLXdeterminePostunscaled", function(model, ...) standardGeneric("FLXdeterminePostunscaled")) setGeneric("FLXgetDesign", function(object, ...) standardGeneric("FLXgetDesign")) setGeneric("FLXreplaceParameters", function(object, ...) standardGeneric("FLXreplaceParameters")) setGeneric("FLXlogLikfun", function(object, ...) standardGeneric("FLXlogLikfun")) setGeneric("FLXgradlogLikfun", function(object, ...) standardGeneric("FLXgradlogLikfun")) setGeneric("VarianceCovariance", function(object, ...) standardGeneric("VarianceCovariance")) setGeneric("FLXgetParameters", function(object, ...) standardGeneric("FLXgetParameters")) setGeneric("logLikfun_comp", function(object, ...) standardGeneric("logLikfun_comp")) setGeneric("getPriors", function(object, ...) standardGeneric("getPriors")) setGeneric("existGradient", function(object, ...) standardGeneric("existGradient")) setGeneric("refit_mstep", function(object, newdata, ...) standardGeneric("refit_mstep")) setGeneric("refit_optim", function(object, ...) standardGeneric("refit_optim")) ###********************************************************** setGeneric("group", function(object, ...) standardGeneric("group")) setGeneric("rflexmix", function(object, newdata, ...) standardGeneric("rflexmix")) setGeneric("rFLXM", function(model, components, ...) standardGeneric("rFLXM")) ## just to make sure that some S3 generics are available in S4 setGeneric("fitted", package = "stats") setGeneric("predict", package = "stats") setGeneric("simulate", package = "stats") setGeneric("summary", package = "base") setGeneric("unique", package = "base") setGeneric("allweighted", function(model, control, weights) standardGeneric("allweighted")) flexmix/R/flexmixFix.R0000644000176200001440000001415214404637304014405 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch and Bettina Gruen # $Id: flexmixFix.R 5079 2016-01-31 12:21:12Z gruen $ # setMethod("FLXcheckComponent", signature(model = "FLXMRfix"), function(model, k, cluster, ...) { if (sum(model@nestedformula@k)) { if (!is.null(k)) { if (k != sum(model@nestedformula@k)) stop("specified k does not match the nestedformula in the model") } else k <- sum(model@nestedformula@k) } else { if (is(cluster, "matrix")) { if (is.null(k)) k <- ncol(cluster) } else if (!is.null(cluster)) { if (is.null(k)) { cluster <- as(cluster, "integer") k <- max(cluster) } } if (is.null(k)) stop("either k, cluster or the nestedformula of the model must be specified") else model@nestedformula <- as(k, "FLXnested") } if (length(model@variance) > 1) { if (sum(model@variance) != k) stop("specified k does not match the specified varFix argument in the model") } else if (model@variance) model@variance <- k else model@variance <- rep(1, k) model }) setMethod("FLXgetObs", signature(model = "FLXMRfix"), function(model) nrow(model@y)/sum(model@nestedformula@k)) setMethod("FLXgetK", signature(model = "FLXMRfix"), function(model, ...) sum(model@nestedformula@k)) setMethod("FLXremoveComponent", signature(model = "FLXMRfix"), function(model, nok, ...) { if (!length(nok)) return(model) K <- model@nestedformula wnok <- sapply(nok, function(i) which(apply(rbind(i > c(0, cumsum(K@k[-length(K@k)])), i <= c(cumsum(K@k))), 2, all))) wnok <- table(wnok) if (length(wnok) > 0) { K@k[as.integer(names(wnok))] <- K@k[as.integer(names(wnok))] - wnok if (any(K@k == 0)) { keep <- K@k != 0 K@k <- K@k[keep] K@formula <- K@formula[keep] } k <- sum(K@k) model@nestedformula <- K } varnok <- sapply(nok, function(i) which(apply(rbind(i > c(0, cumsum(model@variance[-length(model@variance)])), i <= c(cumsum(model@variance))), 2, all))) varnok <- table(varnok) if (length(varnok) > 0) { model@variance[as.integer(names(varnok))] <- model@variance[as.integer(names(varnok))] - varnok if (any(model@variance == 0)) model@variance <- model@variance[model@variance != 0] } rok <- which(!apply(model@segment[,nok,drop=FALSE], 1, function(x) any(x))) model@x <- model@x[rok, which(colSums(model@design[-nok,,drop=FALSE]) > 0), drop=FALSE] model@y <- model@y[rok,, drop=FALSE] model@design <- model@design[-nok,,drop=FALSE] cok <- colSums(model@design) > 0 model@design <- model@design[,cok,drop=FALSE] model@segment <- model@segment[rok,-nok, drop=FALSE] model }) ###********************************************************** setMethod("FLXmstep", signature(model = "FLXMRfix"), function(model, weights, ...) { model@fit(model@x, model@y, as.vector(weights), model@design, model@variance) }) ###********************************************************** setMethod("FLXdeterminePostunscaled", signature(model = "FLXMRfix"), function(model, components, ...) { sapply(seq_along(components), function(m) components[[m]]@logLik(model@x[model@segment[,m], as.logical(model@design[m,]), drop=FALSE], model@y[model@segment[,m],,drop=FALSE])) }) ###********************************************************** modelMatrix <- function(random, fixed, nested, data=list(), lhs, xlevels = NULL) { if (!lhs) random <- random[-2] mf.random <- model.frame(random, data=data, na.action = NULL) response <- if (lhs) as.matrix(model.response(mf.random)) else NULL xlev <- xlevels[names(.getXlevels(terms(mf.random), mf.random))] mm.random <- if (is.null(xlev)) model.matrix(terms(mf.random), data=mf.random) else model.matrix(terms(mf.random), data=data, xlev = xlev) xlevels.random <- .getXlevels(terms(mf.random), mf.random) randomfixed <- if(identical(paste(deparse(fixed), collapse = ""), "~0")) random else update(random, paste("~.+", paste(deparse(fixed[[length(fixed)]]), collapse = ""))) mf.randomfixed <- model.frame(randomfixed, data=data) mm.randomfixed <- model.matrix(terms(mf.randomfixed), data=mf.randomfixed, xlev = xlevels[names(.getXlevels(terms(mf.randomfixed), mf))]) mm.fixed <- mm.randomfixed[,!colnames(mm.randomfixed) %in% colnames(mm.random), drop=FALSE] xlevels.fixed <- .getXlevels(terms(mf.randomfixed), mf.randomfixed) all <- mm.all <- mm.nested <- xlevels.nested <- list() for (l in seq_along(nested)) { all[[l]] <- if (identical(paste(deparse(nested[[l]]), collapse = ""), "~0")) randomfixed else update(randomfixed, paste("~.+", paste(deparse(nested[[l]][[length(nested[[l]])]]), collapse = ""))) mf <- model.frame(all[[l]], data=data) mm.all[[l]] <- model.matrix(terms(mf), data=mf, xlev = xlevels[names(.getXlevels(terms(mf), mf))]) mm.nested[[l]] <- mm.all[[l]][,!colnames(mm.all[[l]]) %in% colnames(mm.randomfixed),drop=FALSE] xlevels.nested[[l]] <- .getXlevels(terms(mf), mf) } return(list(random=mm.random, fixed=mm.fixed, nested=mm.nested, response=response, xlevels=c(xlevels.random, xlevels.fixed, unlist(xlevels.nested)))) } ###********************************************************** modelDesign <- function(mm.all, k) { design <- matrix(1, nrow=sum(k@k), ncol=ncol(mm.all$fixed)) col.names <- colnames(mm.all$fixed) nested <- matrix(0, nrow=sum(k@k), ncol=sum(sapply(mm.all$nested, ncol))) cumK <- c(0, cumsum(k@k)) i <- 0 for (l in seq_along(mm.all$nested)) { if (ncol(mm.all$nested[[l]])) { nested[(cumK[l] + 1):cumK[l+1], i+seq_len(ncol(mm.all$nested[[l]]))] <- 1 i <- i+ncol(mm.all$nested[[l]]) col.names <- c(col.names, colnames(mm.all$nested[[l]])) } } design <- cbind(design, nested) if (ncol(mm.all$random)) design <- cbind(design, kronecker(diag(sum(k@k)), matrix(1, ncol=ncol(mm.all$random)))) colnames(design) <- c(col.names, rep(colnames(mm.all$random), sum(k@k))) design } ###********************************************************** flexmix/R/flxmcsparse.R0000644000176200001440000000225214404637304014607 0ustar liggesuserssetClass("FLXMCsparse", contains = "FLXM") as.data.frame.simple_triplet_matrix <- function(x, ...) { as.data.frame.model.matrix(x, ...) } setMethod("FLXgetModelmatrix", signature(model = "FLXMCsparse"), function(model, data, formula, lhs=TRUE, ...) { formula <- RemoveGrouping(formula) if (length(grep("\\|", deparse(model@formula)))) stop("no grouping variable allowed in the model") if(is.null(model@formula)) model@formula <- formula model@fullformula <- update(terms(formula, data = data), model@formula) fullformula <- terms(model@fullformula, data = data) model@terms <- attr(fullformula, "terms") if (lhs) { env <- environment(fullformula) vars <- attr(fullformula, "variables") varnames <- vapply(vars, function(x) paste(deparse(x, backtick = FALSE), collapse = " "), " ")[-1L] variables <- eval(vars, data, env) resp <- attr(fullformula, "response") response <- variables[[resp]] model@y <- model@preproc.y(response) model@x <- matrix(nrow = nrow(model@y), ncol = 0) } else { model@x <- matrix(nrow = nrow(as.data.frame(data)), ncol = 0) } model }) flexmix/R/lmer.R0000644000176200001440000001506414404637304013224 0ustar liggesuserssigmaMethod <- getExportedValue(if(getRversion() >= "3.3.0") "stats" else "lme4", "sigma") setClass("FLXMRlmer", representation(random = "formula", lmod = "list", control = "ANY", preproc.z = "function"), prototype(preproc.z = function(x, ...) x), contains = "FLXMRglm") defineComponent_lmer <- function(para) { predict <- function(x, ...) x%*%para$coef logLik <- function(x, y, lmod, ...) { z <- as.matrix(lmod$reTrms$Zt) grouping <- lmod$reTrms$flist[[1]] llh <- vector(length=nrow(x)) for (i in seq_len(nlevels(grouping))) { index1 <- which(grouping == levels(grouping)[i]) index2 <- rownames(z) %in% levels(grouping)[i] V <- crossprod(z[index2,index1,drop=FALSE], para$sigma2$Random) %*% z[index2, index1, drop=FALSE] + diag(length(index1)) * para$sigma2$Residual llh[index1] <- mvtnorm::dmvnorm(y[index1,], mean=predict(x[index1,,drop=FALSE], ...), sigma = V, log=TRUE)/length(index1) } llh } new("FLXcomponent", parameters=list(coef=para$coef, sigma2=para$sigma2), logLik=logLik, predict=predict, df=para$df) } FLXMRlmer <- function(formula = . ~ ., random, weighted = TRUE, control = list(), eps = .Machine$double.eps) { random <- if (length(random) == 3) random else formula(paste(".", paste(deparse(random), collapse = ""))) missCtrl <- missing(control) if (missCtrl || !inherits(control, "lmerControl")) { if (!is.list(control)) stop("'control' is not a list; use lmerControl()") control <- do.call(lme4::lmerControl, control) } object <- new("FLXMRlmer", formula = formula, random = random, control = control, family = "gaussian", weighted = weighted, name = "FLXMRlmer:gaussian") if (weighted) object@preproc.z <- function(lmod) { if (length(unique(names(lmod[["reTrms"]][["flist"]]))) != 1) stop("only a single variable for random effects is allowed") for (i in seq_along(lmod[["reTrms"]][["flist"]])) { DIFF <- t(sapply(levels(lmod[["reTrms"]]$flist[[i]]), function(id) { index1 <- which(lmod[["reTrms"]]$flist[[i]] == id) index2 <- rownames(lmod[["reTrms"]]$Zt) == id sort(apply(lmod[["reTrms"]]$Zt[index2, index1, drop=FALSE], 1, paste, collapse = "")) })) if (length(unique(table(lmod[["reTrms"]][["flist"]][[i]]))) != 1 || nrow(unique(DIFF)) != 1) stop("FLXMRlmer does only work correctly if the covariates of the random effects are the same for all observations") } lmod } lmer.wfit <- function(x, y, w, lmod) { zero.weights <- any(w < eps) if (zero.weights) { ok <- w >= eps w <- w[ok] lmod[["fr"]] <- lmod[["fr"]][ok, , drop = FALSE] lmod[["X"]] <- lmod[["X"]][ok, , drop = FALSE] lmod[["reTrms"]][["Zt"]] <- lmod[["reTrms"]][["Zt"]][, ok, drop = FALSE] for (i in seq_along(lmod[["reTrms"]][["flist"]])) { lmod[["reTrms"]][["flist"]][[i]] <- lmod[["reTrms"]][["flist"]][[i]][ok] } } wts <- sqrt(w) lmod$X <- lmod$X * wts lmod$fr[[1]] <- lmod$fr[[1]] * wts devfun <- do.call(lme4::mkLmerDevfun, c(lmod, list(start = NULL, verbose = FALSE, control = control))) opt <- lme4::optimizeLmer(devfun, optimizer = control$optimizer, restart_edge = control$restart_edge, control = control$optCtrl, verbose = FALSE, start = NULL) mer <- lme4::mkMerMod(environment(devfun), opt, lmod$reTrms, fr = lmod$fr) sigma_res <- sigmaMethod(mer) / sqrt(mean(w)) vc <- lme4::VarCorr(mer) n <- c(0, cumsum(sapply(vc, ncol))) Random <- matrix(0, max(n), max(n)) for (i in seq_along(vc)) { index <- (n[i]+1):n[i+1] Random[index, index] <- vc[[i]] } Random <- Random / mean(w) list(coefficients = lme4::fixef(mer), sigma2 = list(Random = Random, Residual = sigma_res^2), df = length(lme4::fixef(mer)) + 1 + length(mer@theta)) } object@defineComponent <- defineComponent_lmer object@fit <- function(x, y, w, lmod){ fit <- lmer.wfit(x, y, w, lmod) object@defineComponent( list(coef = coef(fit), df = fit$df, sigma2 = fit$sigma2)) } object } setMethod("FLXgetModelmatrix", signature(model="FLXMRlmer"), function(model, data, formula, lhs=TRUE, contrasts = NULL, ...) { formula_nogrouping <- RemoveGrouping(formula) if (identical(paste(deparse(formula_nogrouping), collapse = ""), paste(deparse(formula), collapse = ""))) stop("please specify a grouping variable") model <- callNextMethod(model, data, formula, lhs) random_formula <- update(model@random, paste(".~. |", .FLXgetGroupingVar(formula))) fullformula <- model@fullformula if (!lhs) fullformula <- fullformula[c(1,3)] fullformula <- update(fullformula, paste(ifelse(lhs, ".", ""), "~. + ", paste(deparse(random_formula[[3]]), collapse = ""))) model@fullformula <- update(model@fullformula, paste(ifelse(lhs, ".", ""), "~. |", .FLXgetGroupingVar(formula))) model@lmod <- lme4::lFormula(fullformula, data, REML = FALSE, control = model@control) model@lmod <- model@preproc.z(model@lmod) model }) setMethod("FLXmstep", signature(model = "FLXMRlmer"), function(model, weights, ...) { apply(weights, 2, function(w) model@fit(model@x, model@y, w, model@lmod)) }) setMethod("FLXdeterminePostunscaled", signature(model = "FLXMRlmer"), function(model, components, ...) { sapply(components, function(x) x@logLik(model@x, model@y, model@lmod)) }) setMethod("rFLXM", signature(model = "FLXMRlmer", components="FLXcomponent"), function(model, components, ...) { sigma2 <- components@parameters$sigma2 z <- as.matrix(model@lmod$reTrms$Zt) grouping <- model@lmod$reTrms$flist[[1]] y <- matrix(0, nrow=nrow(model@x), ncol = 1) for (i in seq_len(nlevels(grouping))) { index1 <- which(grouping == levels(grouping)[i]) index2 <- rownames(z) %in% levels(grouping)[i] V <- crossprod(z[index2,index1,drop=FALSE], sigma2$Random) %*% z[index2, index1, drop=FALSE] + diag(length(index1)) * sigma2$Residual y[index1, 1] <- mvtnorm::rmvnorm(1, mean=components@predict(model@x[index1,,drop=FALSE], ...), sigma = V) } y }) flexmix/R/rflexmix.R0000644000176200001440000000742114404637304014121 0ustar liggesuserssetMethod("rflexmix", signature(object = "FLXdist", newdata="numeric"), function(object, newdata, ...) { newdata <- data.frame(matrix(nrow = as.integer(newdata), ncol = 0)) rflexmix(object, newdata = newdata, ...) }) setMethod("rflexmix", signature(object = "FLXdist", newdata="listOrdata.frame"), function(object, newdata, ...) { groups <- .FLXgetGrouping(object@formula, newdata) object@model <- lapply(object@model, FLXgetModelmatrix, newdata, object@formula, lhs=FALSE) group <- if (length(groups$group)) groups$group else factor(seq_len(FLXgetObs(object@model[[1]]))) object@concomitant <- FLXgetModelmatrix(object@concomitant, data = newdata, groups = list(group=group, groupfirst = groupFirst(group))) rflexmix(new("flexmix", object, group=group, weights = NULL), ...) }) setMethod("rflexmix", signature(object = "flexmix", newdata="missing"), function(object, newdata, ...) { N <- length(object@model) object <- undo_weights(object) group <- group(object) prior <- determinePrior(object@prior, object@concomitant, group) class <- apply(prior, 1, function(x) rmultinom(1, size = 1, prob = x)) class <- if (is.matrix(class)) t(class) else as.matrix(class) class <- max.col(class)[group] y <- vector("list", N) for (i in seq_len(N)) { comp <- lapply(object@components, function(x) x[[i]]) yi <- rFLXM(object@model[[i]], comp, class, group, ...) form <- object@model[[i]]@fullformula names <- if(length(form) == 3) form[[2]] else paste("y", i, seq_len(ncol(yi)), sep = ".") if (ncol(yi) > 1) { if (inherits(names, "call")) names <- as.character(names[-1]) if (length(names) != ncol(yi)) { if (length(names) == 1) names <- paste(as.character(names)[1], i, seq_len(ncol(yi)), sep = ".") else stop("left hand side not specified correctly") } } else if (inherits(names, "call")) names <- deparse(names) colnames(yi) <- as.character(names) y[[i]] <- yi } list(y = y, group=group, class = class) }) ###********************************************************** determinePrior <- function(prior, concomitant, group) { matrix(prior, nrow = length(unique(group)), ncol = length(prior), byrow=TRUE) } setGeneric("determinePrior", function(prior, concomitant, group) standardGeneric("determinePrior")) setMethod("determinePrior", signature(concomitant="FLXPmultinom"), function(prior, concomitant, group) { exps <- exp(concomitant@x %*% concomitant@coef) exps/rowSums(exps) }) undo_weights <- function(object) { if (!is.null(object@weights)) { for (i in seq_along(object@model)) { object@model[[i]]@x <- apply(object@model[[i]]@x, 2, rep, object@weights) object@model[[i]]@y <- apply(object@model[[i]]@y, 2, rep, object@weights) object@concomitant@x <- apply(object@concomitant@x, 2, rep, object@weights) } if (length(object@group) > 0) object@group <- rep(object@group, object@weights) object@weights <- NULL } object } ###********************************************************** setMethod("simulate", signature("FLXdist"), function(object, nsim, seed = NULL, ...) { if (!exists(".Random.seed", envir = .GlobalEnv, inherits = FALSE)) runif(1) if (is.null(seed)) RNGstate <- get(".Random.seed", envir = .GlobalEnv, inherits = FALSE) else { R.seed <- get(".Random.seed", envir = .GlobalEnv, inherits = FALSE) set.seed(seed) RNGstate <- structure(seed, kind = as.list(RNGkind())) on.exit(assign(".Random.seed", R.seed, envir = .GlobalEnv, inherits = FALSE)) } ans <- lapply(seq_len(nsim), function(i) rflexmix(object, ...)$y) if (all(sapply(ans, ncol) == 1)) ans <- as.data.frame(ans) attr(ans, "seed") <- RNGstate ans }) flexmix/R/lattice.R0000644000176200001440000000746614404637304013721 0ustar liggesusers# # Copyright (C) Deepayan Sarkar # Internal code copied from package lattice for use in flexmix # hist.constructor <- function (x, breaks, include.lowest = TRUE, right = TRUE, ...) { if (is.numeric(breaks) && length(breaks) > 1) hist(as.numeric(x), breaks = breaks, plot = FALSE, include.lowest = include.lowest, right = right) else hist(as.numeric(x), breaks = breaks, right = right, plot = FALSE) } checkArgsAndCall <- function (FUN, args) { if (!("..." %in% names(formals(FUN)))) args <- args[intersect(names(args), names(formals(FUN)))] do.call(FUN, args) } formattedTicksAndLabels <- function (x, at = FALSE, used.at = NULL, labels = FALSE, logsc = FALSE, ..., num.limit = NULL, abbreviate = NULL, minlength = 4, format.posixt = NULL, equispaced.log = TRUE) { rng <- if (length(x) == 2) as.numeric(x) else range(as.numeric(x)) if (is.logical(logsc) && logsc) logsc <- 10 have.log <- !is.logical(logsc) if (have.log) logbase <- if (is.numeric(logsc)) logsc else if (logsc == "e") exp(1) else stop("Invalid value of 'log'") logpaste <- if (have.log) paste(as.character(logsc), "^", sep = "") else "" check.overlap <- if (is.logical(at) && is.logical(labels)) TRUE else FALSE if (is.logical(at)) { at <- if (have.log && !equispaced.log) checkArgsAndCall(axisTicks, list(usr = log10(logbase^rng), log = TRUE, axp = NULL, ...)) else checkArgsAndCall(pretty, list(x = x[is.finite(x)], ...)) } else if (have.log && (length(at) > 0)) { if (is.logical(labels)) labels <- as.character(at) at <- log(at, base = logbase) } if (is.logical(labels)) { if (have.log && !equispaced.log) { labels <- as.character(at) at <- log(at, logbase) } else labels <- paste(logpaste, format(at, trim = TRUE), sep = "") } list(at = at, labels = labels, check.overlap = check.overlap, num.limit = rng) } calculateAxisComponents <- function (x, ..., packet.number, packet.list, abbreviate = NULL, minlength = 4) { if (all(is.na(x))) return(list(at = numeric(0), labels = numeric(0), check.overlap = TRUE, num.limit = c(0, 1))) ans <- formattedTicksAndLabels(x, ...) rng <- range(ans$num.limit) ok <- ans$at >= min(rng) & ans$at <= max(rng) ans$at <- ans$at[ok] ans$labels <- ans$labels[ok] if (is.logical(abbreviate) && abbreviate) ans$labels <- abbreviate(ans$labels, minlength) ans } extend.limits <- function (lim, length = 1, axs = "r", prop = if (axs == "i") 0 else lattice.getOption("axis.padding")$numeric) { if (all(is.na(lim))) NA_real_ else if (is.character(lim)) { c(1, length(lim)) + c(-1, 1) * if (axs == "i") 0.5 else lattice.getOption("axis.padding")$factor } else if (length(lim) == 2) { if (lim[1] > lim[2]) { ccall <- match.call() ccall$lim <- rev(lim) ans <- eval.parent(ccall) return(rev(ans)) } if (!missing(length) && !missing(prop)) stop("'length' and 'prop' cannot both be specified") if (length <= 0) stop("'length' must be positive") if (!missing(length)) { prop <- (as.numeric(length) - as.numeric(diff(lim)))/(2 * as.numeric(diff(lim))) } if (lim[1] == lim[2]) lim + 0.5 * c(-length, length) else { d <- diff(as.numeric(lim)) lim + prop * d * c(-1, 1) } } else { print(lim) stop("improper length of 'lim'") } } flexmix/R/multcomp.R0000644000176200001440000000366114757625043014135 0ustar liggesusers# # Copyright (C) 2004-2016 Friedrich Leisch # $Id: multcomp.R 5298 2025-02-26 14:50:01Z gruen $ # ###********************************************************* setGeneric("flxglht", function(model, linfct, ...) standardGeneric("flxglht")) setMethod("flxglht", signature(model="flexmix", linfct="character"), function(model, linfct, ...) { model <- refit(model) flxglht(model, linfct, ...) }) setMethod("flxglht", signature(model="FLXRoptim", linfct="character"), function(model, linfct, ...) { if (!requireNamespace("multcomp", quietly = TRUE)) { stop("install package multcomp to use this function") } if(length(model@components)>1) stop("Can currently handle only models with one response!\n") type <- match.arg(linfct, c("zero", "tukey")) k <- model@k cf <- model@coef vc <- model@vcov nc <- rownames(model@components[[1]][[1]]) nc <- as.vector(outer(paste("model.1_Comp.", 1:k, "_coef.", sep=""), nc, paste, sep="")) ## FIXME: for zero-inflated models some components are missing nc <- nc[nc %in% names(cf)] cf <- cf[nc] vc <- vc[nc, nc] nc <- sub("model.1_Comp.(.*)_coef.", "C\\1.", nc) names(cf) <- colnames(vc) <- rownames(vc) <- nc if(type=="zero"){ linfct <- diag(length(cf)) rownames(linfct) <- nc } else{ k <- length(cf)/length(rownames(model@components[[1]][[1]])) p <- length(cf) / k tmp <- rep(3, k) Ktmp <- multcomp::contrMat(tmp, "Tukey") linfct <- kronecker(diag(p), Ktmp) colnames(linfct) <- names(cf) rownames(linfct) <- 1:nrow(linfct) for (i in 1:nrow(linfct)) rownames(linfct)[i] <- paste(colnames(linfct)[linfct[i,] == 1], colnames(linfct)[linfct[i,] == -1], sep = "-") } multcomp::glht(multcomp::parm(coef = cf, vcov = vc), linfct = linfct, ...) }) flexmix/R/multinom.R0000644000176200001440000000340114404637304014121 0ustar liggesuserssetClass("FLXMRmultinom", contains = "FLXMRglm") FLXMRmultinom <- function(formula=.~., ...) { z <- new("FLXMRmultinom", weighted=TRUE, formula=formula, family = "multinom", name=paste("FLXMRglm", "multinom", sep=":")) z@preproc.y <- function(x){ x <- as.integer(factor(x)) if (min(x) < 1 | length(unique(x)) != max(x)) stop("x needs to be coercible to an integer vector containing all numbers from 1 to max(x)") y <- matrix(0, nrow = length(x), ncol = max(x)) y[cbind(seq_along(x), x)] <- 1 y } z@defineComponent <- function(para) { predict <- function(x) { p <- tcrossprod(x, para$coef) eta <- cbind(1, exp(p)) eta/rowSums(eta) } logLik <- function(x, y) { log(predict(x))[cbind(seq_len(nrow(y)), max.col(y, "first"))] } new("FLXcomponent", parameters=list(coef=para$coef), logLik=logLik, predict=predict, df=para$df) } z@fit <- function(x, y, w, component){ r <- ncol(x) p <- ncol(y) if (p < 2) stop("Multinom requires at least two components.") mask <- c(rep(0, r + 1), rep(c(0, rep(1, r)), p - 1)) fit <- nnet.default(x, y, w, mask = mask, size = 0, skip = TRUE, softmax = TRUE, censored = FALSE, rang = 0, trace=FALSE, ...) fit$coefnames <- colnames(x) fit$weights <- w fit$vcoefnames <- fit$coefnames[seq_len(ncol(x))] fit$lab <- seq_len(ncol(y)) class(fit) <- c("multinom", "nnet") coef <- coef(fit) z@defineComponent(list(coef = coef, df = length(coef))) } z } setMethod("existGradient", signature(object = "FLXMRmultinom"), function(object) FALSE) flexmix/vignettes/0000755000176200001440000000000014757625373013761 5ustar liggesusersflexmix/vignettes/mymclust.R0000644000176200001440000000205314404637307015746 0ustar liggesusersmymclust <- function (formula = .~., diagonal = TRUE) { retval <- new("FLXMC", weighted = TRUE, formula = formula, dist = "mvnorm", name = "my model-based clustering") retval@defineComponent <- function(para) { logLik <- function(x, y) { mvtnorm::dmvnorm(y, mean = para$center, sigma = para$cov, log = TRUE) } predict <- function(x) { matrix(para$center, nrow = nrow(x), ncol = length(para$center), byrow = TRUE) } new("FLXcomponent", parameters = list(center = para$center, cov = para$cov), df = para$df, logLik = logLik, predict = predict) } retval@fit <- function(x, y, w, ...) { para <- cov.wt(y, wt = w)[c("center", "cov")] df <- (3 * ncol(y) + ncol(y)^2)/2 if (diagonal) { para$cov <- diag(diag(para$cov)) df <- 2 * ncol(y) } retval@defineComponent(c(para, df = df)) } retval } flexmix/vignettes/mixture-regressions.Rnw0000644000176200001440000022017614404637307020504 0ustar liggesusers% % Copyright (C) 2008 Bettina Gruen and Friedrich Leisch % $Id: mixture-regressions.Rnw $ % \documentclass[nojss]{jss} \usepackage{amsfonts} \title{FlexMix Version 2: Finite Mixtures with Concomitant Variables and Varying and Constant Parameters} \Plaintitle{FlexMix Version 2: Finite Mixtures with Concomitant Variables and Varying and Constant Parameters} \Shorttitle{FlexMix Version 2} \author{Bettina Gr{\"u}n\\ Wirtschaftsuniversit{\"a}t Wien \And Friedrich Leisch\\ Universit\"at f\"ur Bodenkultur Wien} \Plainauthor{Bettina Gr{\"u}n, Friedrich Leisch} \Address{ Bettina Gr\"un\\ Institute for Statistics and Mathematics\\ Wirtschaftsuniversit{\"a}t Wien\\ Welthandelsplatz 1\\ 1020 Wien, Austria\\ E-mail: \email{Bettina.Gruen@R-project.org}\\ Friedrich Leisch\\ Institut f\"ur Angewandte Statistik und EDV\\ Universit\"at f\"ur Bodenkultur Wien\\ Peter Jordan Stra\ss{}e 82\\ 1190 Wien, Austria\\ E-mail: \email{Friedrich.Leisch@boku.ac.at} } \Abstract{ This article is a (slightly) modified version of \cite{mixtures:Gruen+Leisch:2008a}, published in the \emph{Journal of Statistical Software}. \pkg{flexmix} provides infrastructure for flexible fitting of finite mixture models in \proglang{R} using the expectation-maximization (EM) algorithm or one of its variants. The functionality of the package was enhanced. Now concomitant variable models as well as varying and constant parameters for the component specific generalized linear regression models can be fitted. The application of the package is demonstrated on several examples, the implementation described and examples given to illustrate how new drivers for the component specific models and the concomitant variable models can be defined. } \Keywords{\proglang{R}, finite mixture models, generalized linear models, concomitant variables} \Plainkeywords{R, finite mixture models, generalized linear models, concomitant variables} \usepackage{amsmath, listings} \def\argmax{\mathop{\rm arg\,max}} %% \usepackage{Sweave} prevent automatic inclusion \SweaveOpts{width=9, height=4.5, eps=FALSE, keep.source=TRUE} <>= options(width=60, prompt = "R> ", continue = "+ ", useFancyQuotes = FALSE) library("graphics") library("stats") library("flexmix") library("lattice") ltheme <- canonical.theme("postscript", FALSE) lattice.options(default.theme=ltheme) data("NPreg", package = "flexmix") data("dmft", package = "flexmix") source("myConcomitant.R") @ %%\VignetteIndexEntry{FlexMix Version 2: Finite Mixtures with Concomitant Variables and Varying and Constant Parameters} %%\VignetteDepends{flexmix} %%\VignetteKeywords{R, finite mixture models, model based clustering, latent class regression} %%\VignettePackage{flexmix} \begin{document} %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \section{Introduction}\label{sec:introduction} Finite mixture models are a popular technique for modelling unobserved heterogeneity or to approximate general distribution functions in a semi-parametric way. They are used in a lot of different areas such as astronomy, biology, economics, marketing or medicine. An overview on mixture models is given in \cite{mixtures:Everitt+Hand:1981}, \cite{mixtures:Titterington+Smith+Makov:1985}, \cite{mixtures:McLachlan+Basford:1988}, \cite{mixtures:Boehning:1999}, \cite{mixtures:McLachlan+Peel:2000} and \cite{mixtures:Fruehwirth-Schnatter:2006}. Version 1 of \proglang{R} package \pkg{flexmix} was introduced in \cite{mixtures:Leisch:2004}. The main design principles of the package are extensibility and fast prototyping for new types of mixture models. It uses \proglang{S}4 classes and methods \citep{mixtures:Chambers:1998} as implemented in the \proglang{R} package \pkg{methods} and exploits advanced features of \proglang{R} such as lexical scoping \citep{mixtures:Gentleman+Ihaka:2000}. The package implements a framework for maximum likelihood estimation with the expectation-maximization (EM) algorithm \citep{mixtures:Dempster+Laird+Rubin:1977}. The main focus is on finite mixtures of regression models and it allows for multiple independent responses and repeated measurements. The EM algorithm can be controlled through arguments such as the maximum number of iterations or a minimum improvement in the likelihood to continue. Newly introduced features in the current package version are concomitant variable models \citep{mixtures:Dayton+Macready:1988} and varying and constant parameters in the component specific regressions. Varying parameters follow a finite mixture, i.e., several groups exist in the population which have different parameters. Constant parameters are fixed for the whole population. This model is similar to mixed-effects models \citep{mixtures:Pinheiro+Bates:2000}. The main difference is that in this application the distribution of the varying parameters is unknown and has to be estimated. Thus the model is actually closer to the varying-coefficients modelling framework \citep{mixtures:Hastie+Tibshirani:1993}, using convex combinations of discrete points as functional form for the varying coefficients. The extension to constant and varying parameters allows for example to fit varying intercept models as given in \cite{mixtures:Follmann+Lambert:1989} and \cite{mixtures:Aitkin:1999}. These models are frequently applied to account for overdispersion in the data where the components follow either a binomial or Poisson distribution. The model was also extended to include nested varying parameters, i.e.~this allows to have groups of components with the same parameters \citep{mixtures:Gruen+Leisch:2006, mixtures:Gruen:2006}. In Section~\ref{sec:model-spec-estim} the extended model class is presented together with the parameter estimation using the EM algorithm. In Section~\ref{sec:using-new-funct} examples are given to demonstrate how the new functionality can be used. An overview on the implementational details is given in Section~\ref{sec:implementation}. The new model drivers are presented and changes made to improve the flexibility of the software and to enable the implementation of the new features are discussed. Examples for writing new drivers for the component specific models and the concomitant variable models are given in Section~\ref{sec:writing-your-own}. This paper gives a short overview on finite mixtures and the package in order to be self-contained. A more detailed introduction to finite mixtures and the package \pkg{flexmix} can be found in \cite{mixtures:Leisch:2004}. All computations and graphics in this paper have been done with \pkg{flexmix} version \Sexpr{packageDescription("flexmix",fields="Version")} and \proglang{R} version \Sexpr{getRversion()} using Sweave \citep{mixtures:Leisch:2002}. The newest release version of \pkg{flexmix} is always available from the Comprehensive \proglang{R} Archive Network at \url{http://CRAN.R-project.org/package=flexmix}. An up-to-date version of this paper is contained in the package as a vignette, giving full access to the \proglang{R} code behind all examples shown below. See \code{help("vignette")} or \cite{mixtures:Leisch:2003} for details on handling package vignettes. %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \section{Model specification and estimation}\label{sec:model-spec-estim} A general model class of finite mixtures of regression models is considered in the following. The mixture is assumed to consist of $K$ components where each component follows a parametric distribution. Each component has a weight assigned which indicates the a-priori probability for an observation to come from this component and the mixture distribution is given by the weighted sum over the $K$ components. If the weights depend on further variables, these are referred to as concomitant variables. In marketing choice behaviour is often modelled in dependence of marketing mix variables such as price, promotion and display. Under the assumption that groups of respondents with different price, promotion and display elasticities exist mixtures of regressions are fitted to model consumer heterogeneity and segment the market. Socio-demographic variables such as age and gender have often been shown to be related to the different market segments even though they generally do not perform well when used to a-priori segment the market. The relationships between the behavioural and the socio-demographic variables is then modelled through concomitant variable models where the group sizes (i.e.~the weights of the mixture) depend on the socio-demographic variables. The model class is given by \begin{align*} h(y|x, w, \psi) &= \sum_{k = 1}^K \pi_k(w, \alpha) f_k(y|x,\theta_{k})\\ &= \sum_{k = 1}^K \pi_k(w, \alpha) \prod_{d=1}^D f_{kd}(y_d|x_d,\theta_{kd}), \end{align*} where $\psi$ denotes the vector of all parameters for the mixture density $h()$ and is given by $(\alpha, (\theta_k)_{k=1,\ldots,K})$. $y$ denotes the response, $x$ the predictor and $w$ the concomitant variables. $f_k$ is the component specific density function. Multivariate variables $y$ are assumed to be dividable into $D$ subsets where the component densities are independent between the subsets, i.e.~the component density $f_k$ is given by a product over $D$ densities which are defined for the subset variables $y_d$ and $x_d$ for $d=1,\ldots,D$. The component specific parameters are given by $\theta_k = (\theta_{kd})_{d=1,\ldots,D}$. Under the assumption that $N$ observations are available the dimensions of the variables are given by $y = (y_d)_{d=1,\ldots,D} \in \mathbb{R}^{N \times \sum_{d=1}^D k_{yd}}$, $x = (x_d)_{d=1,\ldots,D} \in \mathbb{R}^{N \times \sum_{d=1}^D k_{xd}}$ for all $d = 1,\ldots,D$ and $w \in \mathbb{R}^{N \times k_w}$. In this notation $k_{yd}$ denotes the dimension of the $d^{\textrm{th}}$ response, $k_{xd}$ the dimension of the $d^{\textrm{th}}$ predictors and $k_w$ the dimension of the concomitant variables. For mixtures of GLMs each of the $d$ responses will in general be univariate, i.e.~multivariate responses will be conditionally independent given the segment memberships. For the component weights $\pi_k$ it holds $\forall w$ that \begin{equation}\label{eq:prior} \sum_{k=1}^K \pi_k(w,\alpha) = 1 \quad \textrm{and} \quad \pi_k(w, \alpha) > 0, \, \forall k, \end{equation} where $\alpha$ are the parameters of the concomitant variable model. For the moment focus is given to finite mixtures where the component specific densities are from the same parametric family, i.e.~$f_{kd} \equiv f_d$ for notational simplicity. If $f_d$ is from the exponential family of distributions and for each component a generalized linear model is fitted \citep[GLMs;][]{mixtures:McCullagh+Nelder:1989} these models are also called GLIMMIX models \citep{mixtures:Wedel+DeSarbo:1995}. In this case the component specific parameters are given by $\theta_{kd} = (\beta'_{kd}, \phi_{kd})$ where $\beta_{kd}$ are the regression coefficients and $\phi_{kd}$ is the dispersion parameter. The component specific parameters $\theta_{kd}$ are either restricted to be equal over all components, to vary between groups of components or to vary between all components. The varying between groups is referred to as varying parameters with one level of nesting. A disjoint partition $K_c$, $c = 1,\ldots,C$ of the set $\tilde{K} := \{1\ldots,K\}$ is defined for the regression coefficients. $C$ is the number of groups of the regression coefficients at the nesting level. The regression coefficients are accordingly split into three groups: \begin{align*} \beta_{kd} &= (\beta'_{1d}, \beta'_{2,c(k)d}, \beta'_{3,kd})', \end{align*} where $c(k) = \{c = 1,\ldots, C: k \in K_c\}$. Similar a disjoint partition $K_v$, $v = 1,\ldots,V$, of $\tilde{K}$ can be defined for the dispersion parameters if nested varying parameters are present. $V$ denotes the number of groups of the dispersion parameters at the nesting level. This gives: \begin{align*} \phi_{kd} &= \left\{\begin{array}{ll} \phi_{d} & \textrm{for constant parameters}\\ \phi_{kd} & \textrm{for varying parameters}\\ \phi_{v(k)d} & \textrm{for nested varying parameters} \end{array}\right. \end{align*} where $v(k) = \{v = 1,\ldots,V: k \in K_v\}$. The nesting structure of the component specific parameters is also described in \cite{mixtures:Gruen+Leisch:2006}. Different concomitant variable models are possible to determine the component weights \citep{mixtures:Dayton+Macready:1988}. The mapping function only has to fulfill condition \eqref{eq:prior}. In the following a multinomial logit model is assumed for the $\pi_k$ given by \begin{equation*} \pi_k(w,\alpha) = \frac{e^{w'\alpha_k}}{\sum_{u = 1}^K e^{w'\alpha_u}} \quad \forall k, \end{equation*} with $\alpha = (\alpha'_k)'_{k=1,\ldots,K}$ and $\alpha_1 \equiv 0$. %%------------------------------------------------------------------------- \subsection{Parameter estimation}\label{sec:estimation} The EM algorithm \citep{mixtures:Dempster+Laird+Rubin:1977} is the most common method for maximum likelihood estimation of finite mixture models where the number of components $K$ is fixed. The EM algorithm applies a missing data augmentation scheme. It is assumed that a latent variable $z_n \in \{0,1\}^K$ exists for each observation $n$ which indicates the component membership, i.e.~$z_{nk}$ equals 1 if observation $n$ comes from component $k$ and 0 otherwise. Furthermore it holds that $\sum_{k=1}^K z_{nk}=1$ for all $n$. In the EM algorithm these unobserved component memberships $z_{nk}$ of the observations are treated as missing values and the data is augmented by estimates of the component membership, i.e.~the estimated a-posteriori probabilities $\hat{p}_{nk}$. For a sample of $N$ observations $\{(y_1, x_1, w_1), \ldots, (y_N, x_N, w_N)\}$ the EM algorithm is given by: \begin{description} \item[E-step:] Given the current parameter estimates $\psi^{(i)}$ in the $i$-th iteration, replace the missing data $z_{nk}$ by the estimated a-posteriori probabilities \begin{align*} \hat{p}_{nk} & = \frac{\displaystyle \pi_k(w_n, \alpha^{(i)}) f(y_n| x_n, \theta_k^{(i)}) }{\displaystyle \sum_{u = 1}^K \pi_u(w_n, \alpha^{(i)}) f(y_n |x_n, \theta_u^{(i)}) }. \end{align*} \item[M-step:] Given the estimates for the a-posteriori probabilities $\hat{p}_{nk}$ (which are functions of $\psi^{(i)}$), obtain new estimates $\psi^{(i+1)}$ of the parameters by maximizing \begin{align*} Q(\psi^{(i+1)}|\psi^{(i)}) &= Q_1(\theta^{(i+1)} | \psi^{(i)}) + Q_2(\alpha^{(i+1)} | \psi^{(i)}), \end{align*} where \begin{align*} Q_1(\theta^{(i+1)} | \psi^{(i)}) &= \sum_{n = 1}^N \sum_{k = 1}^K \hat{p}_{nk} \log(f(y_n | x_n, \theta_k^{(i+1)})) \end{align*} and \begin{align*} Q_2(\alpha^{(i+1)}| \psi^{(i)}) &= \sum_{n = 1}^N \sum_{k = 1}^K \hat{p}_{nk} \log(\pi_k(w_n, \alpha^{(i+1)})). \end{align*} $Q_1$ and $Q_2$ can be maximized separately. The maximization of $Q_1$ gives new estimates $\theta^{(i+1)}$ and the maximization of $Q_2$ gives $\alpha^{(i+1)}$. $Q_1$ is maximized separately for each $d=1,\ldots,D$ using weighted ML estimation of GLMs and $Q_2$ using weighted ML estimation of multinomial logit models. \end{description} Different variants of the EM algorithm exist such as the stochastic EM \citep[SEM;][]{mixtures:Diebolt+Ip:1996} or the classification EM \citep[CEM;][]{mixtures:Celeux+Govaert:1992}. These two variants are also implemented in package \pkg{flexmix}. For both variants an additional step is made between the expectation and maximization steps. This step uses the estimated a-posteriori probabilities and assigns each observation to only one component, i.e.~classifies it into one component. For SEM this assignment is determined in a stochastic way while it is a deterministic assignment for CEM. For the SEM algorithm the additional step is given by: \begin{description} \item[S-step:] Given the a-posteriori probabilities draw \begin{align*} \hat{z}_n &\sim \textrm{Mult}((\hat{p}_{nk})_{k=1,\ldots,K}, 1) \end{align*} where $\textrm{Mult}(\theta, T)$ denotes the multinomial distribution with success probabilities $\theta$ and number of trials $T$. \end{description} Afterwards, the $\hat{z}_{nk}$ are used instead of the $\hat{p}_{nk}$ in the M-step. For the CEM the additional step is given by: \begin{description} \item[C-step:] Given the a-posteriori probabilities define \begin{align*} \hat{z}_{nk} &= \left\{\begin{array}{ll} 1&\textrm{if } k = \min\{ l : \hat{p}_{nl} \geq \hat{p}_{nk}\, \forall k=1,\ldots,K\}\\ 0&\textrm{otherwise}. \end{array}\right. \end{align*} \end{description} Please note that in this step the observation is assigned to the component with the smallest index if the same maximum a-posteriori probability is observed for several components. Both of these variants have been proposed to improve the performance of the EM algorithm, because the ordinary EM algorithm tends to converge rather slowly and only to a local optimum. The convergence behavior can be expected to be better for the CEM than ordinary EM algorithm, while SEM can escape convergence to a local optimum. However, the CEM algorithm does not give ML estimates because it maximizes the complete likelihood. For SEM good approximations of the ML estimator are obtained if the parameters where the maximum likelihood was encountered are used as estimates. Another possibility for determining parameter estimates from the SEM algorithm could be the mean after discarding a suitable number of burn-ins. An implementational advantage of both variants is that no weighted maximization is necessary in the M-step. It has been shown that the values of the likelihood are monotonically increased during the EM algorithm. On the one hand this ensures the convergence of the EM algorithm if the likelihood is bounded, but on the other hand only the detection of a local maximum can be guaranteed. Therefore, it is recommended to repeat the EM algorithm with different initializations and choose as final solution the one with the maximum likelihood. Different initialization strategies for the EM algorithm have been proposed, as its convergence to the optimal solution depends on the initialization \citep{mixtures:Biernacki+Celeux+Govaert:2003,mixtures:Karlis+Xekalaki:2003}. Proposed strategies are for example to first make several runs of the SEM or CEM algorithm with different random initializations and then start the EM at the best solution encountered. The component specific parameter estimates can be determined separately for each $d=1,\ldots,D$. For simplicity of presentation the following description assumes $D=1$. If all parameter estimates vary between the component distributions they can be determined separately for each component in the M-step. However, if also constant or nested varying parameters are specified, the component specific estimation problems are not independent from each other any more. Parameters have to be estimated which occur in several or all components and hence, the parameters of the different components have to be determined simultaneously for all components. The estimation problem for all component specific parameters is then obtained by replicating the vector of observations $y = (y_n)_{n=1,\ldots,N}$ $K$ times and defining the covariate matrix $X = (X_{\textrm{constant}}, X_{\textrm{nested}}, X_{\textrm{varying}})$ by \begin{align*} &X_{\textrm{constant}} = \mathbf{1}_K \otimes (x'_{1,n})_{n=1,\ldots,N}\\ &X_{\textrm{nested}} = \mathbf{J} \odot (x'_{2,n})_{n=1,\ldots,N}\\ &X_{\textrm{varying}} = \mathbf{I}_K \otimes(x'_{3,n})_{n=1,\ldots,N}, \end{align*} where $\mathbf{1}_K$ is a vector of 1s of length $K$, $\mathbf{J}$ is the incidence matrix for each component $k=1,\ldots,K$ and each nesting group $c \in C$ and hence is of dimension $K \times |C|$, and $\mathbf{I}_K$ is the identity matrix of dimension $K \times K$. $\otimes$ denotes the Kronecker product and $\odot$ the Khatri-Rao product (i.e., the column-wise Kronecker product). $x_{m,n}$ are the covariates of the corresponding coefficients $\beta_{m,.}$ for $m=1,2,3$. Please note that the weights used for the estimation are the a-posteriori probabilities which are stacked for all components, i.e.~a vector of length $N K$ is obtained. Due to the replication of data in the case of constant or nested varying parameters the amount of memory needed for fitting the mixture model to large datasets is substantially increased and it might be easier to fit only varying coefficients to these datasets. To overcome this problem it could be considered to implement special data structures in order to avoid storing the same data multiple times for large datasets. Before each M-step the average component sizes (over the given data points) are checked and components which are smaller than a given (relative) minimum size are omitted in order to avoid too small components where fitting problems might arise. This strategy has already been recommended for the SEM algorithm \citep{mixtures:Celeux+Diebolt:1988} because it allows to determine the suitable number of components in an automatic way given that the a-priori specified number of components is large enough. This recommendation is based on the assumption that the redundent components will be omitted during the estimation process if the algorithm is started with too many components. If omission of small components is not desired the minimum size required can be set to zero. All components will be then retained throughout the EM algorithm and a mixture with the number of components specified in the initialization will be returned. The algorithm is stopped if the relative change in the log-likelihood is smaller than a pre-specified $\epsilon$ or the maximum number of iterations is reached. For model selection different information criteria are available: AIC, BIC and ICL \citep[Integrated Complete Likelihood;][]{mixtures:Biernacki+Celeux+Govaert:2000}. They are of the form twice the negative loglikelihood plus number of parameters times $k$ where $k=2$ for the AIC and $k$ equals the logarithm of the number of observations for the BIC. The ICL is the same as the BIC except that the complete likelihood (where the missing class memberships are replaced by the assignments induced by the maximum a-posteriori probabilities) instead of the likelihood is used. %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \section{Using the new functionality} \label{sec:using-new-funct} In the following model fitting and model selection in \proglang{R} is illustrated on several examples including mixtures of Gaussian, binomial and Poisson regression models, see also \cite{mixtures:Gruen:2006} and \cite{mixtures:Gruen+Leisch:2007a}. More examples for mixtures of GLMs are provided as part of the software package through a collection of artificial and real world datasets, most of which have been previously used in the literature (see references in the online help pages). Each dataset can be loaded to \proglang{R} with \code{data("}\textit{name}\code{")} and the fitting of the proposed models can be replayed using \code{example("}\textit{name}\code{")}. Further details on these examples are given in a user guide which can be accessed using \code{vignette("regression-examples", package="flexmix")} from within \proglang{R}. %%----------------------------------------------------------------------- \subsection{Artificial example}\label{sec:artificial-example} In the following the artificial dataset \code{NPreg} is used which has already been used in \cite{mixtures:Leisch:2004} to illustrate the application of package \pkg{flexmix}. The data comes from two latent classes of size \Sexpr{nrow(NPreg)/2} each and for each of the classes the data is drawn with respect to the following structure: \begin{center} \begin{tabular}{ll} Class~1: & $ \mathit{yn} = 5x+\epsilon$\\ Class~2: & $ \mathit{yn} = 15+10x-x^2+\epsilon$ \end{tabular} \end{center} with $\epsilon\sim N(0,9)$, see the left panel of Figure~\ref{fig:npreg}. The dataset \code{NPreg} also includes a response $\mathit{yp}$ which is given by a generalized linear model following a Poisson distribution and using the logarithm as link function. The parameters of the mean are given for the two classes by: \begin{center} \begin{tabular}{ll} Class~1: & $ \mu_1 = 2 - 0.2x$\\ Class~2: & $ \mu_2 = 1 + 0.1x$. \end{tabular} \end{center} This signifies that given $x$ the response $\mathit{yp}$ in group $k$ follows a Poisson distribution with mean $e^{\mu_k}$, see the right panel of Figure~\ref{fig:npreg}. \setkeys{Gin}{width=\textwidth} \begin{figure} \centering <>= par(mfrow=c(1,2)) plot(yn~x, col=class, pch=class, data=NPreg) plot(yp~x, col=class, pch=class, data=NPreg) @ \caption{Standard regression example (left) and Poisson regression (right).} \label{fig:npreg} \end{figure} This model can be fitted in \proglang{R} using the commands: <<>>= suppressWarnings(RNGversion("3.5.0")) set.seed(1802) library("flexmix") data("NPreg", package = "flexmix") Model_n <- FLXMRglm(yn ~ . + I(x^2)) Model_p <- FLXMRglm(yp ~ ., family = "poisson") m1 <- flexmix(. ~ x, data = NPreg, k = 2, model = list(Model_n, Model_p), control = list(verbose = 10)) @ If the dimensions are independent the component specific model for multivariate observations can be specified as a list of models for each dimension. The estimation can be controlled with the \code{control} argument which is specified with an object of class \code{"FLXcontrol"}. For convenience also a named list can be provided which is used to construct and set the respective slots of the \code{"FLXcontrol"} object. Elements of the control object are \code{classify} to select ordinary EM, CEM or SEM, \code{minprior} for the minimum relative size of components, \code{iter.max} for the maximum number of iterations and \code{verbose} for monitoring. If \code{verbose} is a positive integer the log-likelihood is reported every \code{verbose} iterations and at convergence together with the number of iterations made. The default is to not report any log-likelihood information during the fitting process. The estimated model \code{m1} is of class \code{"flexmix"} and the result of the default plot method for this class is given in Figure~\ref{fig:root1}. This plot method uses package \pkg{lattice} \citep{mixtures:Sarkar:2008} and the usual parameters can be specified to alter the plot, e.g.~the argument \code{layout} determines the arrangement of the panels. The returned object is of class \code{"trellis"} and the plotting can also be influenced by the arguments of its show method. The default plot prints rootograms (i.e., a histogram of the square root of counts) of the a-posteriori probabilities of each observation separately for each component. For each component the observations with a-posteriori probabilities less than a pre-specified $\epsilon$ (default is $10^{-4}$) for this component are omitted in order to avoid that the bar at zero dominates the plot \citep{mixtures:Leisch:2004a}. Please note that the labels of the y-axis report the number of observations in each bar, i.e.~the squared values used for the rootograms. \begin{figure} \centering <>= print(plot(m1)) @ \caption{The plot method for \code{"flexmix"} objects, here obtained by \code{plot(m1)}, shows rootograms of the posterior class probabilities.} \label{fig:root1} \end{figure} More detailed information on the estimated parameters with respect to standard deviations and significance tests can be obtained with function \code{refit()}. This function determines the variance-covariance matrix of the estimated parameters by using the inverted negative Hesse matrix as computed by the general purpose optimizer \code{optim()} on the full likelihood of the model. \code{optim()} is initialized in the solution obtained with the EM algorithm. For mixtures of GLMs we also implemented the gradient, which speeds up convergence and gives more precise estimates of the Hessian. Naturally, function \code{refit()} will also work for models which have been determined by applying some model selection strategy depending on the data (AIC, BIC, \ldots). The same caution is necessary as when using \code{summary()} on standard linear models selected using \code{step()}: The p-values shown are not correct because they have not been adjusted for the fact that the same data are used to select the model and compute the p-values. So use them only in an exploratory manner in this context, see also \cite{mixtures:Harrell:2001} for more details on the general problem. The returned object can be inspected using \code{summary()} with arguments \code{which} to specify if information for the component model or the concomitant variable model should be shown and \code{model} to indicate for which dimension of the component models this should be done. Selecting \code{model=1} gives the parameter estimates for the dimension where the response variable follows a Gaussian distribution. <<>>= m1.refit <- refit(m1) summary(m1.refit, which = "model", model = 1) @ \begin{figure} \centering <>= print(plot(m1.refit, layout = c(1,3), bycluster = FALSE, main = expression(paste(yn *tilde(" ")* x + x^2))), split= c(1,1,2,1), more = TRUE) print(plot(m1.refit, model = 2, main = expression(paste(yp *tilde(" ")* x)), layout = c(1,2), bycluster = FALSE), split = c(2,1,2,1)) @ \caption{The default plot for refitted \code{"flexmix"} objects, here obtained by \code{plot(refit(m1), model = 1)} and \code{plot(refit(m1), model = 2)}, shows the coefficient estimates and their confidence intervals.} \label{fig:refit} \end{figure} The default plot method for the refitted \code{"flexmix"} object depicts the estimated coefficients with corresponding confidence intervals and is given in Figure~\ref{fig:refit}. It can be seen that for the first model the confidence intervals of the coefficients of the intercept and the quadratic term of \code{x} overlap with zero. A model where these coefficients are set to zero can be estimated with the model driver function \code{FLXMRglmfix()} and the following commands for specifying the nesting structure. The argument \code{nested} needs input for the number of components in each group (given by \code{k}) and the formula which determines the model matrix for the nesting (given by \code{formula}). This information can be provided in a named list. For the restricted model the element \code{k} is a vector with two 1s because each of the components has different parameters. The formulas specifying the model matrices of these coefficients are \verb/~ 1 + I(x^2)/ for an intercept and a quadratic term of $x$ for component 1 and \code{~ 0} for no additional coefficients for component 2. The EM algorithm is initialized in the previously fitted model by passing the posterior probabilities in the argument \code{cluster}. <<>>= Model_n2 <- FLXMRglmfix(yn ~ . + 0, nested = list(k = c(1, 1), formula = c(~ 1 + I(x^2), ~ 0))) m2 <- flexmix(. ~ x, data = NPreg, cluster = posterior(m1), model = list(Model_n2, Model_p)) m2 @ Model selection based on the BIC would suggest the smaller model which also corresponds to the true underlying model. <<>>= c(BIC(m1), BIC(m2)) @ %%----------------------------------------------------------------------- \subsection{Beta-blockers dataset} \label{sec:beta-blockers} The dataset is analyzed in \cite{mixtures:Aitkin:1999, mixtures:Aitkin:1999a} using a finite mixture of binomial regression models. Furthermore, it is described in \citet[p.~165]{mixtures:McLachlan+Peel:2000}. The dataset is from a 22-center clinical trial of beta-blockers for reducing mortality after myocardial infarction. A two-level model is assumed to represent the data, where centers are at the upper level and patients at the lower level. The data is illustrated in Figure~\ref{fig:beta}. First, the center information is ignored and a binomial logit regression model with treatment as covariate is fitted using \code{glm}, i.e.~$K=1$ and it is assumed that the different centers are comparable: <<>>= data("betablocker", package = "flexmix") betaGlm <- glm(cbind(Deaths, Total - Deaths) ~ Treatment, family = "binomial", data = betablocker) betaGlm @ The residual deviance suggests that overdispersion is present in the data. In the next step the intercept is allowed to follow a mixture distribution given the centers. This signifies that the component membership is fixed for each center. This grouping is specified in \proglang{R} by adding \code{| Center} to the formula similar to the notation used in \pkg{nlme} \citep{mixtures:Pinheiro+Bates:2000}. Under the assumption of homogeneity within centers identifiability of the model class can be ensured as induced by the sufficient conditions for identifability given in \cite{mixtures:Follmann+Lambert:1991} for binomial logit models with varying intercepts and \cite{mixtures:Gruen+Leisch:2008} for multinomial logit models with varying and constant parameters. In order to determine the suitable number of components, the mixture is fitted with different numbers of components. <<>>= betaMixFix <- stepFlexmix(cbind(Deaths, Total - Deaths) ~ 1 | Center, model = FLXMRglmfix(family = "binomial", fixed = ~ Treatment), k = 2:4, nrep = 5, data = betablocker) @ The returned object is of class \code{"stepFlexmix"} and printing the object gives the information on the number of iterations until termination of the EM algorithm, a logical indicating if the EM algorithm has converged, the log-likelihood and some model information criteria. The plot method compares the fitted models using the different model information criteria. <<>>= betaMixFix @ A specific \code{"flexmix"} model contained in the \code{"stepFlexmix"} object can be selected using \code{getModel()} with argument \code{which} to specify the selection criterion. The best model with respect to the BIC is selected with: <<>>= betaMixFix_3 <- getModel(betaMixFix, which = "BIC") betaMixFix_3 <- relabel(betaMixFix_3, "model", "Intercept") @ The components of the selected model are ordered with respect to the estimated intercept values. In this case a model with three components is selected with respect to the BIC. The fitted values for the model with three components are given in Figure~\ref{fig:beta} separately for each component and the treatment and control groups. The fitted parameters of the component specific models can be accessed with: <<>>= parameters(betaMixFix_3) @ Please note that the coefficients of variable \code{Treatment} are the same for all three components. \begin{figure} \centering <>= library("grid") betablocker$Center <- with(betablocker, factor(Center, levels = Center[order((Deaths/Total)[1:22])])) clusters <- factor(clusters(betaMixFix_3), labels = paste("Cluster", 1:3)) print(dotplot(Deaths/Total ~ Center | clusters, groups = Treatment, as.table = TRUE, data = betablocker, xlab = "Center", layout = c(3, 1), scales = list(x = list(cex = 0.7, tck = c(1, 0))), key = simpleKey(levels(betablocker$Treatment), lines = TRUE, corner = c(1,0)))) betaMixFix.fitted <- fitted(betaMixFix_3) for (i in 1:3) { seekViewport(trellis.vpname("panel", i, 1)) grid.lines(unit(1:22, "native"), unit(betaMixFix.fitted[1:22, i], "native"), gp = gpar(lty = 1)) grid.lines(unit(1:22, "native"), unit(betaMixFix.fitted[23:44, i], "native"), gp = gpar(lty = 2)) } @ \setkeys{Gin}{width=0.8\textwidth} \caption{Relative number of deaths for the treatment and the control group for each center in the beta-blocker dataset. The centers are sorted by the relative number of deaths in the control group. The lines indicate the fitted values for each component of the 3-component mixture model with varying intercept and constant parameters for treatment.} \label{fig:beta} \end{figure} The variable \code{Treatment} can also be included in the varying part of the model. This signifies that a mixture distribution is assumed where for each component different values are allowed for the intercept and the treatment coefficient. This mixture distribution can be specified using function \code{FLXMRglm()}. Again it is assumed that the heterogeneity is only between centers and therefore the aggregated data for each center can be used. <<>>= betaMix <- stepFlexmix(cbind(Deaths, Total - Deaths) ~ Treatment | Center, model = FLXMRglm(family = "binomial"), k = 3, nrep = 5, data = betablocker) betaMix <- relabel(betaMix, "model", "Treatment") parameters(betaMix) c(BIC(betaMixFix_3), BIC(betaMix)) @ The difference between model \code{betaMix} and \code{betaMixFix\_3} is that the treatment coefficients are the same for all three components for \code{betaMixFix\_3} while they have different values for \code{betaMix} which can easily be seen when comparing the fitted component specific parameters. The larger model \code{betaMix} which also allows varying parameters for treatment has a higher BIC and therefore the smaller model \code{betaMixFix\_3} would be preferred. The default plot for \code{"flexmix"} objects gives a rootogram of the posterior probabilities for each component. Argument \code{mark} can be used to inspect with which components the specified component overlaps as all observations are coloured in the different panels which are assigned to this component based on the maximum a-posteriori probabilities. \begin{figure} \centering <>= print(plot(betaMixFix_3, nint = 10, mark = 1, col = "grey", layout = c(3, 1))) @ \caption{Default plot of \code{"flexmix"} objects where the observations assigned to the first component are marked.}\label{fig:default} \end{figure} \begin{figure} \centering <>= print(plot(betaMixFix_3, nint = 10, mark = 2, col = "grey", layout = c(3, 1))) @ \caption{Default plot of \code{"flexmix"} objects where the observations assigned to the third component are marked.}\label{fig:default-2} \end{figure} The rootogram indicates that the components are well separated. In Figure~\ref{fig:default} it can be seen that component 1 is completely separated from the other two components, while Figure~\ref{fig:default-2} shows that component 2 has a slight overlap with both other components. The cluster assignments using the maximum a-posteriori probabilities are obtained with: <<>>= table(clusters(betaMix)) @ The estimated probabilities of death for each component for the treated patients and those in the control group can be obtained with: <<>>= predict(betaMix, newdata = data.frame(Treatment = c("Control", "Treated"))) @ or by obtaining the fitted values for two observations (e.g.~rows 1 and 23) with the desired levels of the predictor \code{Treatment} <<>>= betablocker[c(1, 23), ] fitted(betaMix)[c(1, 23), ] @ A further analysis of the model is possible with function \code{refit()} which returns the estimated coefficients together with the standard deviations, z-values and corresponding p-values. Please note that the p-values are only approximate in the sense that they have not been corrected for the fact that the data has already been used to determine the specific fitted model. <<>>= summary(refit(betaMix)) @ Given the estimated treatment coefficients we now also compare this model to a model where the treatment coefficient is assumed to be the same for components 1 and 2. Such a model is specified using the model driver \code{FLXMRglmfix()}. As the first two components are assumed to have the same coeffcients for treatment and for the third component the coefficient for treatment shall be set to zero the argument \code{nested} has \code{k = c(2,1)} and \code{formula = c(\~{}Treatment, \~{})}. <<>>= ModelNested <- FLXMRglmfix(family = "binomial", nested = list(k = c(2, 1), formula = c(~ Treatment, ~ 0))) betaMixNested <- flexmix(cbind(Deaths, Total - Deaths) ~ 1 | Center, model = ModelNested, k = 3, data = betablocker, cluster = posterior(betaMix)) parameters(betaMixNested) c(BIC(betaMix), BIC(betaMixNested), BIC(betaMixFix_3)) @ The comparison of the BIC values suggests that the nested model with the same treatment effect for two components and no treatment effect for the third component is the best. %%----------------------------------------------------------------------- \subsection[Productivity of Ph.D. students in biochemistry]{Productivity of Ph.D.~students in biochemistry} \label{sec:bioChemists} <>= data("bioChemists", package = "flexmix") @ This dataset is taken from \cite{mixtures:Long:1990}. It contains \Sexpr{nrow(bioChemists)} observations from academics who obtained their Ph.D.~degree in biochemistry in the 1950s and 60s. It includes \Sexpr{sum(bioChemists$fem=="Women")} women and \Sexpr{sum(bioChemists$fem=="Men")} men. The productivity was measured by counting the number of publications in scientific journals during the three years period ending the year after the Ph.D.~was received. In addition data on the productivity and the prestige of the mentor and the Ph.D.~department was collected. Two measures of family characteristics were recorded: marriage status and number of children of age 5 and lower by the year of the Ph.D. First, mixtures with one, two and three components and only varying parameters are fitted, and the model minimizing the BIC is selected. This is based on the assumption that unobserved heterogeneity is present in the data due to latent differences between the students in order to be productive and achieve publications. Starting with the most general model to determine the number of components using information criteria and checking for possible model restrictions after having the number of components fixed is a common strategy in finite mixture modelling \citep[see][]{mixtures:Wang+Puterman+Cockburn:1996}. Function \code{refit()} is used to determine confidence intervals for the parameters in order to choose suitable alternative models. However, it has to be noted that in the course of the procedure these confidence intervals will not be correct any more because the specific fitted models have already been determined using the same data. <<>>= data("bioChemists", package = "flexmix") Model1 <- FLXMRglm(family = "poisson") ff_1 <- stepFlexmix(art ~ ., data = bioChemists, k = 1:3, model = Model1) ff_1 <- getModel(ff_1, "BIC") @ The selected model has \Sexpr{ff_1@k} components. The estimated coefficients of the components are given in Figure~\ref{fig:coefficients-1} together with the corresponding 95\% confidence intervals using the plot method for objects returned by \code{refit()}. The plot shows that the confidence intervals of the parameters for \code{kid5}, \code{mar}, \code{ment} and \code{phd} overlap for the two components. In a next step a mixture with two components is therefore fitted where only a varying intercept and a varying coefficient for \code{fem} is specified and all other coefficients are constant. The EM algorithm is initialized with the fitted mixture model using \code{posterior()}. \begin{figure} \centering <>= print(plot(refit(ff_1), bycluster = FALSE, scales = list(x = list(relation = "free")))) @ \caption{Coefficient estimates and confidence intervals for the model with only varying parameters.}\label{fig:coefficients-1} \end{figure} <<>>= Model2 <- FLXMRglmfix(family = "poisson", fixed = ~ kid5 + mar + ment) ff_2 <- flexmix(art ~ fem + phd, data = bioChemists, cluster = posterior(ff_1), model = Model2) c(BIC(ff_1), BIC(ff_2)) @ If the BIC is used for model comparison the smaller model including only varying coefficients for the intercept and \code{fem} is preferred. The coefficients of the fitted model can be obtained using \code{refit()}: <<>>= summary(refit(ff_2)) @ It can be seen that the coefficient of \code{phd} does for both components not differ significantly from zero and might be omitted. This again improves the BIC. <<>>= Model3 <- FLXMRglmfix(family = "poisson", fixed = ~ kid5 + mar + ment) ff_3 <- flexmix(art ~ fem, data = bioChemists, cluster = posterior(ff_2), model = Model3) c(BIC(ff_2), BIC(ff_3)) @ The coefficients of the restricted model without \code{phd} are given in Figure~\ref{fig:coefficients-2}. \begin{figure}[t] \centering <>= print(plot(refit(ff_3), bycluster = FALSE, scales = list(x = list(relation = "free")))) @ \caption{Coefficient estimates and confidence intervals for the model with varying and constant parameters where the variable \code{phd} is not used in the regression.}\label{fig:coefficients-2} \end{figure} An alternative model would be to assume that gender does not directly influence the number of articles but has an impact on the segment sizes. <<>>= Model4 <- FLXMRglmfix(family = "poisson", fixed = ~ kid5 + mar + ment) ff_4 <- flexmix(art ~ 1, data = bioChemists, cluster = posterior(ff_2), concomitant = FLXPmultinom(~ fem), model = Model4) parameters(ff_4) summary(refit(ff_4), which = "concomitant") BIC(ff_4) @ This suggests that the proportion of women is lower in the second component which is the more productive segment. The alternative modelling strategy where homogeneity is assumed at the beginning and a varying interept is added if overdispersion is observed leads to the following model which is the best with respect to the BIC. <<>>= Model5 <- FLXMRglmfix(family = "poisson", fixed = ~ kid5 + ment + fem) ff_5 <- flexmix(art ~ 1, data = bioChemists, cluster = posterior(ff_2), model = Model5) BIC(ff_5) @ \begin{figure} \centering \setkeys{Gin}{width=0.8\textwidth} <>= pp <- predict(ff_5, newdata = data.frame(kid5 = 0, mar = factor("Married", levels = c("Single", "Married")), fem = c("Men", "Women"), ment = mean(bioChemists$ment))) matplot(0:12, sapply(unlist(pp), function(x) dpois(0:12, x)), type = "b", lty = 1, xlab = "Number of articles", ylab = "Probability") legend("topright", paste("Comp.", rep(1:2, each = 2), ":", c("Men", "Women")), lty = 1, col = 1:4, pch = paste(1:4), bty = "n") @ \caption{The estimated productivity for each compoment for men and women.} \label{fig:estimated} \end{figure} \setkeys{Gin}{width=0.98\textwidth} In Figure~\ref{fig:estimated} the estimated distribution of productivity for model \code{ff\_5} are given separately for men and women as well as for each component where for all other variables the mean values are used for the numeric variables and the most frequent category for the categorical variables. The two components differ in that component 1 contains the students who publish no article or only a single article, while the students in component 2 write on average several articles. With a constant coefficient for gender women publish less articles than men in both components. This example shows that different optimal models are chosen for different modelling procedures. However, the distributions induced by the different variants of the model class may be similar and therefore it is not suprising that they then will have similar BIC values. %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \section{Implementation}\label{sec:implementation} The new features extend the available model class described in \cite{mixtures:Leisch:2004} by providing infrastructure for concomitant variable models and for fitting mixtures of GLMs with varying and constant parameters for the component specific parameters. The implementation of the extensions of the model class made it necessary to define a better class structure for the component specific models and to modify the fit functions \code{flexmix()} and \code{FLXfit()}. An overview on the \proglang{S}4 class structure of the package is given in Figure~\ref{fig:class structure}. There is a class for unfitted finite mixture distributions given by \code{"FLXdist"} which contains a list of \code{"FLXM"} objects which determine the component specific models, a list of \code{"FLXcomponent"} objects which specify functions to determine the component specific log-likelihoods and predictions and which contain the component specific parameters, and an object of class \code{"FLXP"} which specifies the concomitant variable model. Class \code{"flexmix"} extends \code{"FLXdist"}. It represents a fitted finite mixture distribution and it contains the information about the fitting with the EM algorithm in the object of class \code{"FLXcontrol"}. Repeated fitting with the EM algorithm with different number of components is provided by function \code{stepFlexmix()} which returns an object of class \code{"stepFlexmix"}. Objects of class \code{"stepFlexmix"} contain the list of the fitted mixture models for each number of components in the slot \code{"models"}. \setkeys{Gin}{width=.9\textwidth} \begin{figure}[t] \centering \includegraphics{flexmix} \caption{UML class diagram \citep[see][]{mixtures:Fowler:2004} of the \pkg{flexmix} package.} \label{fig:class structure} \end{figure} \setkeys{Gin}{width=\textwidth} For the component specific model a virtual class \code{"FLXM"} is introduced which (currently) has two subclasses: \code{"FLXMC"} for model-based clustering and \code{"FLXMR"} for clusterwise regression, where predictor variables are given. Additional slots have been introduced to allow for data preprocessing and the construction of the components was separated from the fit and is implemented using lexical scoping \citep{mixtures:Gentleman+Ihaka:2000} in the slot \code{defineComponent}. \code{"FLXMC"} has an additional slot \code{dist} to specify the name of the distribution of the variable. In the future functionality shall be provided for sampling from a fitted or unfitted finite mixture. Using this slot observations can be generated by using the function which results from adding an \code{r} at the beginnning of the distribution name. This allows to only implement the (missing) random number generator functions and otherwise use the same method for sampling from mixtures with component specific models of class \code{"FLXMC"}. For \code{flexmix()} and \code{FLXfit()} code blocks which are model dependent have been identified and different methods implemented. Finite mixtures of regressions with varying, nested and constant parameters were a suitable model class for this identification task as they are different from models previously implemented. The main differences are: \begin{itemize} \item The number of components is related to the component specific model and the omission of small components during the EM algorithm impacts on the model. \item The parameters of the component specific models can not be determined separately in the M-step and a joint model matrix is needed. \end{itemize} This makes it also necessary to have different model dependent methods for \code{fitted()} which extracts the fitted values from a \code{"flexmix"} object, \code{predict()} which predicts new values for a \code{"flexmix"} object and \code{refit()} which refits an estimated model to obtain additional information for a \code{"flexmix"} object. %%----------------------------------------------------------------------- \subsection{Component specific models with varying and constant parameters}\label{sec:comp-models-with} A new M-step driver is provided which fits finite mixtures of GLMs with constant and nested varying parameters for the coefficients and the dispersion parameters. The class \code{"FLXMRglmfix"} returned by the driver \code{FLXMRglmfix()} has the following additional slots with respect to \code{"FLXMRglm"}: \begin{description} \item[\code{design}:] An incidence matrix indicating which columns of the model matrix are used for which component, i.e.~$\mathbf{D}=(\mathbf{1}_K,\mathbf{J}, \mathbf{I}_K)$. \item[\code{nestedformula}:] An object of class \code{"FLXnested"} containing the formula for the nested regression coefficients and the number of components in each $K_c$, $c \in C$. \item[\code{fixed}:] The formula for the constant regression coefficients. \item[\code{variance}:] A logical indicating if different variances shall be estimated for the components following a Gaussian distribution or a vector specifying the nested structure for estimating these variances. \end{description} The difference between estimating finite mixtures including only varying parameters using models specified with \code{FLXMRglm()} and those with varying and constant parameters using function \code{FLXMRglmfix()} is hidden from the user, as only the specified model is different. The fitted model is also of class \code{"flexmix"} and can be analyzed using the same functions as for any model fitted using package \pkg{flexmix}. The methods used are the same except if the slot containing the model is accessed and method dispatching is made via the model class. New methods are provided for models of class \code{"FLXMRglmfix"} for functions \code{refit()}, \code{fitted()} and \code{predict()} which can be used for analyzing the fitted model. The implementation allows repeated measurements by specifying a grouping variable in the formula argument of \code{flexmix()}. Furthermore, it has to be noticed that the model matrix is determined by updating the formula of the varying parameters successively with the formula of the constant and then of the nested varying parameters. This ensures that if a mixture distribution is fitted for the intercept, the model matrix of a categorical variable includes only the remaining columns for the constant parameters to have full column rank. However, this updating scheme makes it impossible to estimate a constant intercept while allowing varying parameters for a categorical variable. For this model one big model matrix is constructed where the observations are repeated $K$ times and suitable columns of zero added. The coefficients of all $K$ components are determined simultaneously in the M-step, while if only varying parameters are specified the maximization of the likelihood is made separately for all components. For large datasets the estimation of a combination of constant and varying parameters might therefore be more challenging than only varying parameters. %% ----------------------------------------------------------------------- \subsection{Concomitant variable models}\label{sec:conc-vari-models} For representing concomitant variable models the class \code{"FLXP"} is defined. It specifies how the concomitant variable model is fitted using the concomitant variable model matrix as predictor variables and the current a-posteriori probability estimates as response variables. The object has the following slots: \begin{description} \item[\code{fit}:] A \code{function (x, y, ...)} returning the fitted values for the component weights during the EM algorithm. \item[\code{refit}:] A \code{function (x, y, ...)} used for refitting the model. \item[\code{df}:] A \code{function (x, k, ...)} returning the degrees of freedom used for estimating the concomitant variable model given the model matrix \code{x} and the number of components \code{k}. \item[\code{x}:] A matrix containing the model matrix of the concomitant variables. \item[\code{formula}:] The formula for determining the model matrix \code{x}. \item[\code{name}:] A character string describing the model, which is only used for print output. \end{description} Two constructor functions for concomitant variable models are provided at the moment. \code{FLXPconstant()} is for constant component weights without concomitant variables and for multinomial logit models \code{FLXPmultinom()} can be used. \code{FLXPmultinom()} has its own class \code{"FLXPmultinom"} which extends \code{"FLXP"} and has an additional slot \code{coef} for the fitted coefficients. The multinomial logit models are fitted using package \pkg{nnet} \citep{mixtures:Venables+Ripley:2002}. %%----------------------------------------------------------------------- \subsection{Further changes} The estimation of the model with the EM algorithm was improved by adapting the variants to correspond to the CEM and SEM variants as outlined in the literature. To make this more explicit it is now also possible to use \code{"CEM"} or \code{"SEM"} to specify an EM variant in the \code{classify} argument of the \code{"FLXcontrol"} object. Even though the SEM algorithm can in general not be expected to converge the fitting procedure is also terminated for the SEM algorithm if the change in the relative log-likelhood is smaller than the pre-specified threshold. This is motivated by the fact that for well separated clusters the posteriors might converge to an indicator function with all weight concentrated in one component. The fitted model with the maximum likelihood encountered during the SEM algorithm is returned. For discrete data in general multiple observations with the same values are given in a dataset. A \code{weights} argument was added to the fitting function \code{flexmix()} in order to avoid repeating these observations in the provided dataset. The specification is through a \code{formula} in order to allow selecting a column of the data frame given in the \code{data} argument. The weights argument allows to avoid replicating the same observations and hence enables more efficient memory use in these applications. This possibitliy is especially useful in the context of model-based clustering for mixtures of Poisson distributions or latent class analysis with multivariate binary observations. In order to be able to apply different initialization strategies such as for example first running several different random initializations with CEM and then switching to ordinary EM using the best solution found by CEM for initialization a \code{posterior()} function was implemented. \code{posterior()} also takes a \code{newdata} argument and hence, it is possible to apply subset strategies for large datasets as suggested in \cite{mixtures:Wehrens+Buydens+Fraley:2004}. The returned matrix of the posterior probabilities can be used to specify the \code{cluster} argument for \code{flexmix()} and the posteriors are then used as weights in the first M-step. The default plot methods now use trellis graphics as implemented in package \pkg{lattice} \citep{mixtures:Sarkar:2008}. Users familiar with the syntax of these graphics and with the plotting and printing arguments will find the application intuitive as a lot of plotting arguments are passed to functions from \pkg{lattice} as for example \code{xyplot()} and \code{histogram()}. In fact only new panel, pre-panel and group-panel functions were implemented. The returned object is of class \code{"trellis"} and the show method for this class is used to create the plot. Function \code{refit()} was modified and has now two different estimation methods: \code{"optim"} and \code{"mstep"}. The default method \code{"optim"} determines the variance-covariance matrix of the parameters from the inverse Hessian of the full log-likelihood. The general purpose optimizer \code{optim()} is used to maximize the log-likelihood and initialized in the solution obtained with the EM algorithm. For mixtures of GLMs there are also functions implemented to determine the gradient which can be used to speed up convergence. The second method \code{"mstep"} is only a raw approximation. It performs an M-step where the a-posteriori probabilities are treated as given instead of estimated and returns for the component specific models nearly complete \code{"glm"} objects which can be further analyzed. The advantage of this method is that the return value is basically a list of standard \code{"glm"} objects, such that the regular methods for this class can be used. %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \section{Writing your own drivers}\label{sec:writing-your-own} Two examples are given in the following to demonstrate how new drivers can be provided for concomitant variable models and for component specific models. Easy extensibility is one of the main implementation aims of the package and it can be seen that writing new drivers requires only a few lines of code for providing the constructor functions which include the fit functions. %%----------------------------------------------------------------------- \subsection{Component specific models: Zero-inflated models}\label{sec:component-models} \lstset{frame=trbl,basicstyle=\small\tt,stepnumber=5,numbers=left} In Poisson or binomial regression models it can be often encountered that the observed number of zeros is higher than expected. A mixture with two components where one has mean zero can be used to model such data. These models are also referred to as zero-inflated models \citep[see for example][]{mixtures:Boehning+Dietz+Schlattmann:1999}. A generalization of this model class would be to fit mixtures with more than two components where one component has a mean fixed at zero. So this model class is a special case of a mixture of generalized linear models where (a) the family is restricted to Poisson and binomial and (b) the parameters of one component are fixed. For simplicity the implementation assumes that the component with mean zero is the first component. In addition we assume that the model matrix contains an intercept and to have the first component absorbing the access zeros the coefficient of the intercept is set to $-\infty$ and all other coefficients are set to zero. Hence, to implement this model using package \pkg{flexmix} an appropriate model class is needed with a corresponding convenience function for construction. During the fitting of the EM algorithm using \code{flexmix()} different methods for this model class are needed when determining the model matrix (to check the presence of an intercept), to check the model after a component is removed and for the M-step to account for the fact that the coefficients of the first component are fixed. For all other methods those available for \code{"FLXMRglm"} can be re-used. The code is given in Figure~\ref{fig:ziglm.R}. \begin{figure} \centering \begin{minipage}{0.98\textwidth} \lstinputlisting{ziglm.R} \end{minipage} \caption{Driver for a zero-inflated component specific model.} \label{fig:ziglm.R} \end{figure} The model class \code{"FLXMRziglm"} is defined as extending \code{"FLXMRglm"} in order to be able to inherit methods from this model class. For construction of a \code{"FLXMRziglm"} class the convenicence function \code{FLXMRziglm()} is used which calls \code{FLXMRglm()}. The only differences are that the family is restricted to binomial or Poisson, that a different name is assigned and that an object of the correct class is returned. The presence of the intercept in the model matrix is checked in \code{FLXgetModelmatrix()} after using the method available for \code{"FLXMRglm"} models as indicated by the call to \code{callNextMethod()}. During the EM algorithm \code{FLXremoveComponent()} is called if one component is removed. For this model class it checks if the first component has been removed and if this is the case the model class is changed to \code{"FLXMRglm"}. In the M-step the coefficients of the first component are fixed and not estimated, while for the remaining components the M-step of \code{"FLXMRglm"} objects can be used. During the EM algorithm \code{FLXmstep()} is called to perform the M-step and returns a list of \code{"FLXcomponent"} objects with the fitted parameters. A new method for this function is needed for \code{"FLXMRziglm"} objects in order to account for the fixed coefficients in the first component, i.e.~for the first component the \code{"FLXcomponent"} object is constructed and concatenated with the list of \code{"FLXcomponent"} objects returned by using the \code{FLXmstep()} method for \code{"FLXMRglm"} models for the remaining components. Similar modifications are necessary in order to be able to use \code{refit()} for this model class. The code for implementing the \code{refit()} method using \code{optim()} for \code{"FLXMRziglm"} is not shown, but can be inspected in the source code of the package. \subsubsection{Example: Using the driver} This new M-step driver can be used to estimate a zero-inflated Poisson model to the data given in \cite{mixtures:Boehning+Dietz+Schlattmann:1999}. The dataset \code{dmft} consists of count data from a dental epidemiological study for evaluation of various programs for reducing caries collected among school children from an urban area of Belo Horizonte (Brazil). The variables included are the number of decayed, missing or filled teeth (DMFT index) at the beginning and at the end of the observation period, the gender, the ethnic background and the specific treatment for \Sexpr{nrow(dmft)} children. The model can be fitted with the new driver function using the following commands: <<>>= data("dmft", package = "flexmix") Model <- FLXMRziglm(family = "poisson") Fitted <- flexmix(End ~ log(Begin + 0.5) + Gender + Ethnic + Treatment, model = Model, k = 2 , data = dmft, control = list(minprior = 0.01)) summary(refit(Fitted)) @ Please note that \cite{mixtures:Boehning+Dietz+Schlattmann:1999} added the predictor \code{log(Begin + 0.5)} to serve as an offset in order to be able to analyse the improvement in the DMFT index from the beginning to the end of the study. The linear predictor with the offset subtracted is intended to be an estimate for $\log(\mathbb{E}(\textrm{End})) - \log(\mathbb{E}(\textrm{Begin}))$. This is justified by the fact that for a Poisson distributed variable $Y$ with mean between 1 and 10 it holds that $\mathbb{E}(\log(Y + 0.5))$ is approximately equal to $\log(\mathbb{E}(Y))$. $\log(\textrm{Begin} + 0.5)$ can therefore be seen as an estimate for $\log(\mathbb{E}(\textrm{Begin}))$. The estimated coefficients with corresponding confidence intervals are given in Figure~\ref{fig:dmft}. As the coefficients of the first component are restricted a-priori to minus infinity for the intercept and to zero for the other variables, they are of no interest and only the second component is plotted. The box ratio can be modified as for \code{barchart()} in package \pkg{lattice}. The code to produce this plot is given by: <>= print(plot(refit(Fitted), components = 2, box.ratio = 3)) @ \begin{figure} \centering \setkeys{Gin}{width=0.9\textwidth} <>= <> @ \caption{The estimated coefficients of the zero-inflated model for the \code{dmft} dataset. The first component is not plotted as this component captures the inflated zeros and its coefficients are fixed a-priori.} \label{fig:dmft} \end{figure} %%----------------------------------------------------------------------- \subsection{Concomitant variable models}\label{sec:concomitant-models} If the concomitant variable is a categorical variable, the multinomial logit model is equivalent to a model where the component weights for each level of the concomitant variable are determined by the mean values of the a-posteriori probabilities. The driver which implements this \code{"FLXP"} model is given in Figure~\ref{fig:myConcomitant.R}. A name for the driver has to be specified and a \code{fit()} function. In the \code{fit()} function the mean posterior probability for all observations with the same covariate points is determined, assigned to the corresponding observations and the full new a-posteriori probability matrix returned. By contrast \code{refit()} only returns the new a-posteriori probability matrix for the number of unique covariate points. \lstset{frame=trbl,basicstyle=\small\tt,stepnumber=5,numbers=left} \begin{figure} \centering \begin{minipage}{0.98\textwidth} \lstinputlisting{myConcomitant.R} \end{minipage} \caption{Driver for a concomitant variable model where the component weights are determined by averaging over the a-posteriori probabilities for each level of the concomitant variable.} \label{fig:myConcomitant.R} \end{figure} \subsubsection{Example: Using the driver} If the concomitant variable model returned by \code{myConcomitant()} is used for the artificial example in Section~\ref{sec:using-new-funct} the same fitted model is returned as if a multinomial logit model is specified. An advantage is that in this case no problems occur if the fitted probabilities are close to zero or one. <>= Concomitant <- FLXPmultinom(~ yb) MyConcomitant <- myConcomitant(~ yb) set.seed(1234) m2 <- flexmix(. ~ x, data = NPreg, k = 2, model = list(Model_n, Model_p), concomitant = Concomitant) m3 <- flexmix(. ~ x, data = NPreg, k = 2, model = list(Model_n, Model_p), cluster = posterior(m2), concomitant = MyConcomitant) @ <<>>= summary(m2) summary(m3) @ For comparing the estimated component weights for each value of $\mathit{yb}$ the following function can be used: <<>>= determinePrior <- function(object) { object@concomitant@fit(object@concomitant@x, posterior(object))[!duplicated(object@concomitant@x), ] } @ <<>>= determinePrior(m2) determinePrior(m3) @ Obviously the fitted values of the two models correspond to each other. %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \section{Summary and outlook}\label{sec:summary-outlook} Package \pkg{flexmix} was extended to cover finite mixtures of GLMs with (nested) varying and constant parameters. This allows for example the estimation of varying intercept models. In order to be able to characterize the components given some variables concomitant variable models can be estimated for the component weights. The implementation of these extensions have triggered some modifications in the class structure and in the fit functions \code{flexmix()} and \code{FLXfit()}. For certain steps, as e.g.~the M-step, methods which depend on the component specific models are defined in order to enable the estimation of finite mixtures of GLMs with only varying parameters and those with (nested) varying and constant parameters with the same fit function. The flexibility of this modified implementation is demonstrated by illustrating how a driver for zero-inflated models can be defined. In the future diagnostic tools based on resampling methods shall be implemented as bootstrap results can give valuable insights into the model fit \citep{mixtures:Gruen+Leisch:2004}. A function which conveniently allows to test linear hypotheses about the parameters using the variance-covariance matrix returned by \code{refit()} would be a further valuable diagnostic tool. The implementation of zero-inflated Poisson and binomial regression models are a first step towards relaxing the assumption that all component specific distributions are from the same parametric family. As mixtures with components which follow distributions from different parametric families can be useful for example to model outliers \citep{mixtures:Dasgupta+Raftery:1998,mixtures:Leisch:2008}, it is intended to also make this functionality available in \pkg{flexmix} in the future. %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \section*{Computational details} <>= SI <- sessionInfo() pkgs <- paste(sapply(c(SI$otherPkgs, SI$loadedOnly), function(x) paste("\\\\pkg{", x$Package, "} ", x$Version, sep = "")), collapse = ", ") @ All computations and graphics in this paper have been done using \proglang{R} version \Sexpr{getRversion()} with the packages \Sexpr{pkgs}. %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \section*{Acknowledgments} This research was supported by the the Austrian Science Foundation (FWF) under grants P17382 and T351. Thanks also to Achim Zeileis for helpful discussions on implementation details and an anonymous referee for asking a good question about parameter significance which initiated the new version of function \code{refit()}. %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \bibliography{mixture} %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \end{document} flexmix/vignettes/flexmix.bib0000644000176200001440000002335214404637307016105 0ustar liggesusers@STRING{jcgs = {Journal of Computational and Graphical Statistics} } @STRING{tuwien = {Technische Universit{\"a}t Wien, Vienna, Austria} } @STRING{jasa = {Journal of the American Statistical Association} } @Article{ flexmix:Aitkin:1996, author = {Murray Aitkin}, title = {A General Maximum Likelihood Analysis of Overdispersion in Generalized Linear Models}, journal = {Statistics and Computing}, year = 1996, volume = 6, pages = {251--262} } @Article{ flexmix:Aitkin:1999, author = {Murray Aitkin}, title = {A General Maximum Likelihood Analysis of Variance Components in Generalized Linear Models}, journal = {Biometrics}, year = 1999, volume = 55, pages = {117--128} } @Article{ flexmix:Aitkin:1999a, author = {Murray Aitkin}, title = {Meta-Analysis by Random Effect Modelling in Generalized Linear Models}, journal = {Statistics in Medicine}, year = 1999, volume = 18, number = {17--18}, month = {September}, pages = {2343--2351} } @Manual{ flexmix:Buyske:2003, title = {{R} Package \texttt{mmlcr}: Mixed-Mode Latent Class Regression}, author = {Steve Buyske}, year = 2003, note = {version 1.3.2}, url = {http://www.stat.rutgers.edu/~buyske/software.html} } @Book{ flexmix:Chambers:1998, author = {John M. Chambers}, title = {Programming with Data: A Guide to the {S} Language}, publisher = {Springer Verlag}, year = 1998, address = {Berlin, Germany} } @Article{ flexmix:DeSarbo+Cron:1988, author = {Wayne S. DeSarbo and W. L. Cron}, title = {A Maximum Likelihood Methodology for Clusterwise Linear Regression}, journal = {Journal of Classification}, year = 1988, volume = 5, pages = {249--282} } @Article{ flexmix:Dempster+Laird+Rubin:1977, author = {A.P. Dempster and N.M. Laird and D.B. Rubin}, title = {Maximum Likelihood from Incomplete Data via the {EM}-Alogrithm}, journal = {Journal of the Royal Statistical Society, B}, volume = 39, pages = {1--38}, year = 1977 } @Article{ flexmix:Diebolt+Robert:1994, author = {J. Diebolt and C. P. Robert}, title = {Estimation of Finite Mixture Distributions Through {B}ayesian Sampling}, journal = {Journal of the Royal Statistical Society, Series B}, year = 1994, volume = 56, pages = {363--375} } @Book{ flexmix:Everitt+Hand:1981, author = {Brian S. Everitt and David J. Hand}, title = {Finite Mixture Distributions}, publisher = {Chapman and Hall}, address = {London}, year = 1981 } @Article{ flexmix:Follmann+Lambert:1989, author = {Dean A. Follmann and Diane Lambert}, title = {Generalizing Logistic Regression by Non-Parametric Mixing}, journal = jasa, volume = 84, number = 405, month = {March}, pages = {295--300}, year = 1989 } @Article{ flexmix:Fraley+Raftery:2002, author = {Chris Fraley and Adrian E. Raftery}, title = {Model-Based Clustering, Discriminant Analysis and dDnsity Estimation}, journal = jasa, year = 2002, volume = 97, pages = {611-631} } @TechReport{ flexmix:Fraley+Raftery:2002a, author = {Chris Fraley and Adrian E. Raftery}, title = {{MCLUST}: Software for Model-Based Clustering, Discriminant Analysis and Density Estimation}, institution = {Department of Statistics, University of Washington}, year = 2002, number = 415, address = {Seattle, WA, USA}, url = {http://www.stat.washington.edu/raftery} } @Article{ flexmix:Gentleman+Ihaka:2000, author = {Robert Gentleman and Ross Ihaka}, title = {Lexical Scope and Statistical Computing}, journal = jcgs, year = 2000, volume = 9, number = 3, pages = {491--508}, keywords = {statistical computing, function closure, lexical scope, random number generators} } @InProceedings{ flexmix:Gruen+Leisch:2006, author = {Bettina Gr{\" u}n and Friedrich Leisch}, title = {Fitting Finite Mixtures of Linear Regression Models with Varying \& Fixed Effects in \textsf{R}}, booktitle = {Compstat 2006---Proceedings in Computational Statistics}, pages = {853--860}, editor = {Alfredo Rizzi and Maurizio Vichi}, publisher = {Physica Verlag}, address = {Heidelberg, Germany}, isbn = {3-7908-1708-2}, year = 2006 } @InProceedings{ flexmix:Grun+Leisch:2004, author = {Bettina Gr{\" u}n and Friedrich Leisch}, title = {Bootstrapping Finite Mixture Models}, booktitle = {Compstat 2004---Proceedings in Computational Statistics}, year = 2004, editor = {Jaromir Antoch}, publisher = {Physica Verlag}, address = {Heidelberg, Germany}, isbn = {3-7908-1554-3}, pages = {1115--1122}, pdf = {http://www.stat.uni-muenchen.de/~leisch/papers/Grun+Leisch-2004.pdf} } @MastersThesis{ flexmix:Grun:2002, author = {Bettina Gr{\"u}n}, title = {{I}dentifizierbarkeit von multinomialen {M}ischmodellen}, school = tuwien, year = 2002, note = {Kurt Hornik and Friedrich Leisch, advisors} } @Article{ flexmix:Hennig:2000, author = {Christian Hennig}, title = {Identifiability of Models for Clusterwise Linear Regression}, journal = {Journal of Classification}, volume = 17, pages = {273--296}, year = 2000 } @InProceedings{ flexmix:Leisch:2004, author = {Friedrich Leisch}, title = {Exploring the Structure of Mixture Model Components}, booktitle = {Compstat 2004---Proceedings in Computational Statistics}, year = 2004, editor = {Jaromir Antoch}, publisher = {Physica Verlag}, address = {Heidelberg, Germany}, isbn = {3-7908-1554-3}, pages = {1405--1412}, pdf = {http://www.stat.uni-muenchen.de/~leisch/papers/Leisch-2004.pdf} } @Article{ flexmix:Leisch:2004a, author = {Friedrich Leisch}, title = {{FlexMix}: A General Framework for Finite Mixture Models and Latent Class Regression in {R}}, journal = {Journal of Statistical Software}, year = 2004, volume = 11, number = 8, doi = {10.18637/jss.v011.i08}, } @Book{ flexmix:McLachlan+Peel:2000, author = {Geoffrey McLachlan and David Peel}, title = {Finite Mixture Models}, publisher = {John Wiley and Sons Inc.}, year = 2000 } @Manual{ flexmix:R-Core:2004, title = {R: A Language and Environment for Statistical Computing}, author = {{R Development Core Team}}, organization = {R Foundation for Statistical Computing}, address = {Vienna, Austria}, year = 2004, isbn = {3-900051-07-0}, url = {http://www.R-project.org} } @InProceedings{ flexmix:Tantrum+Murua+Stuetzle:2003, author = {Jeremy Tantrum and Alejandro Murua and Werner Stuetzle}, title = {Assessment and Pruning of Hierarchical Model Based Clustering}, booktitle = {Proceedings of the ninth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining}, pages = {197--205}, year = 2003, publisher = {ACM Press}, address = {New York, NY, USA}, isbn = {1-58113-737-0}, } @Book{ flexmix:Titterington+Smith+Makov:1985, author = {D.M. Titterington and A.F.M. Smith and U.E. Makov}, title = {Statistical Analysis of Finite Mixture Distributions}, publisher = {John Wiley and Sons Inc.}, year = 1985 } @InProceedings{ flexmix:Urbanek+Theus:2003, author = {Simon Urbanek and Martin Theus}, title = {{iPlots}---High Interaction Graphics for {R}}, booktitle = {Proceedings of the 3rd International Workshop on Distributed Statistical Computing, Vienna, Austria}, editor = {Kurt Hornik and Friedrich Leisch and Achim Zeileis}, year = 2003, url = {http://www.ci.tuwien.ac.at/Conferences/DSC-2003/Proceedings/}, note = {{ISSN 1609-395X}} } @Book{ flexmix:Venables+Ripley:2002, title = {Modern Applied Statistics with S}, author = {William N. Venables and Brian D. Ripley}, publisher = {Springer Verlag}, edition = {Fourth}, address = {New York}, year = 2002, isbn = {0-387-95457-0} } @Article{ flexmix:Wang+Cockburn+Puterman:1998, author = {Peiming Wang and Iain M. Cockburn and Martin L. Puterman}, title = {Analysis of Patent Data---{A} Mixed-{P}oisson-Regression-Model Approach}, journal = {Journal of Business \& Economic Statistics}, year = 1998, volume = 16, number = 1, pages = {27--41} } @Article{ flexmix:Wang+Puterman+Cockburn:1996, author = {Peiming Wang and Martin L. Puterman and Iain M. Cockburn and Nhu D. Le}, title = {Mixed {P}oisson Regression Models with Covariate Dependent Rates}, journal = {Biometrics}, year = 1996, volume = 52, pages = {381--400} } @Article{ flexmix:Wang+Puterman:1998, author = {Peiming Wang and Martin L. Puterman}, title = {Mixed Logistic Regression Models}, journal = {Journal of Agricultural, Biological, and Environmental Statistics}, year = 1998, volume = 3, number = 2, pages = {175--200} } @Article{ flexmix:Wedel+DeSarbo:1995, author = {Michel Wedel and Wayne S. DeSarbo}, title = {A Mixture Likelihood Approach for Generalized Linear Models}, journal = {Journal of Classification}, year = 1995, volume = 12, pages = {21--55} } @Book{ flexmix:Wedel+Kamakura:2001, author = {Michel Wedel and Wagner A. Kamakura}, title = {Market Segmentation -- Conceptual and Methodological Foundations}, publisher = {Kluwer Academic Publishers}, year = 2001, address = {Boston, MA, USA}, edition = {2nd} } flexmix/vignettes/regression-examples.Rnw0000644000176200001440000012407214404637307020440 0ustar liggesusers\documentclass[nojss]{jss} \usepackage{amsfonts,bm,amsmath,amssymb} %%\usepackage{Sweave} %% already provided by jss.cls %%%\VignetteIndexEntry{Applications of finite mixtures of regression models} %%\VignetteDepends{flexmix} %%\VignetteKeywords{R, finite mixture model, generalized linear model, latent class regression} %%\VignettePackage{flexmix} \title{Applications of finite mixtures of regression models} <>= library("stats") library("graphics") library("flexmix") @ \author{Bettina Gr{\"u}n\\ Wirtschaftsuniversit{\"a}t Wien \And Friedrich Leisch\\ Universit\"at f\"ur Bodenkultur Wien} \Plainauthor{Bettina Gr{\"u}n, Friedrich Leisch} \Address{ Bettina Gr\"un\\ Institute for Statistics and Mathematics\\ Wirtschaftsuniversit{\"a}t Wien\\ Welthandelsplatz 1\\ 1020 Wien, Austria\\ E-mail: \email{Bettina.Gruen@R-project.org}\\ Friedrich Leisch\\ Institut f\"ur Angewandte Statistik und EDV\\ Universit\"at f\"ur Bodenkultur Wien\\ Peter Jordan Stra\ss{}e 82\\ 1190 Wien, Austria\\ E-mail: \email{Friedrich.Leisch@boku.ac.at} } \Abstract{ Package \pkg{flexmix} provides functionality for fitting finite mixtures of regression models. The available model class includes generalized linear models with varying and fixed effects for the component specific models and multinomial logit models for the concomitant variable models. This model class includes random intercept models where the random part is modelled by a finite mixture instead of a-priori selecting a suitable distribution. The application of the package is illustrated on various datasets which have been previously used in the literature to fit finite mixtures of Gaussian, binomial or Poisson regression models. The \proglang{R} commands are given to fit the proposed models and additional insights are gained by visualizing the data and the fitted models as well as by fitting slightly modified models. } \Keywords{\proglang{R}, finite mixture models, generalized linear models, concomitant variables} \Plainkeywords{R, finite mixture models, generalized linear models, concomitant variables} %%------------------------------------------------------------------------- %%------------------------------------------------------------------------- \begin{document} \SweaveOpts{engine=R, echo=true, height=5, width=8, eps=FALSE, keep.source=TRUE} \setkeys{Gin}{width=0.8\textwidth} <>= options(width=70, prompt = "R> ", continue = "+ ", useFancyQuotes = FALSE) suppressWarnings(RNGversion("3.5.0")) set.seed(1802) library("lattice") ltheme <- canonical.theme("postscript", FALSE) lattice.options(default.theme=ltheme) @ %%------------------------------------------------------------------------- %%------------------------------------------------------------------------- \section{Introduction} Package \pkg{flexmix} provides infrastructure for flexible fitting of finite mixtures models. The design principles of the package allow easy extensibility and rapid prototyping. In addition, the main focus of the available functionality is on fitting finite mixtures of regression models, as other packages in \proglang{R} exist which have specialized functionality for model-based clustering, such as e.g.~\pkg{mclust} \citep{flexmix:Fraley+Raftery:2002a} for finite mixtures of Gaussian distributions. \cite{flexmix:Leisch:2004a} gives a general introduction into the package outlining the main implementational principles and illustrating the use of the package. The paper is also contained as a vignette in the package. An example for fitting mixtures of Gaussian regression models is given in \cite{flexmix:Gruen+Leisch:2006}. This paper focuses on examples of finite mixtures of binomial logit and Poisson regression models. Several datasets which have been previously used in the literature to demonstrate the use of finite mixtures of regression models have been selected to illustrate the application of the package. The model class covered are finite mixtures of generalized linear model with focus on binomial logit and Poisson regressions. The regression coefficients as well as the dispersion parameters of the component specific models are assumed to vary for all components, vary between groups of components, i.e.~to have a nesting, or to be fixed over all components. In addition it is possible to specify concomitant variable models in order to be able to characterize the components. Random intercept models are a special case of finite mixtures with varying and fixed effects as fixed effects are assumed for the coefficients of all covariates and varying effects for the intercept. These models are often used to capture overdispersion in the data which can occur for example if important covariates are omitted in the regression. It is then assumed that the influence of these covariates can be captured by allowing a random distribution for the intercept. This illustration does not only show how the package \pkg{flexmix} can be used for fitting finite mixtures of regression models but also indicates the advantages of using an extension package of an environment for statistical computing and graphics instead of a stand-alone package as available visualization techniques can be used for inspecting the data and the fitted models. In addition users already familiar with \proglang{R} and its formula interface should find the model specification and a lot of commands for exploring the fitted model intuitive. %%------------------------------------------------------------------------- %%------------------------------------------------------------------------- \section{Model specification} Finite mixtures of Gaussian regressions with concomitant variable models are given by: \begin{align*} H(y\,|\,\bm{x}, \bm{w}, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s(\bm{w}, \bm{\alpha}) \textrm{N}(y\,|\, \mu_s(\bm{x}), \sigma^2_s), \end{align*} where $\textrm{N}(\cdot\,|\, \mu_s(\bm{x}), \sigma^2_s)$ is the Gaussian distribution with mean $\mu_s(\bm{x}) = \bm{x}' \bm{\beta}^s$ and variance $\sigma^2_s$. $\Theta$ denotes the vector of all parameters of the mixture distribution and the dependent variables are $y$, the independent $\bm{x}$ and the concomitant $\bm{w}$. Finite mixtures of binomial regressions with concomitant variable models are given by: \begin{align*} H(y\,|\,T, \bm{x}, \bm{w}, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s(\bm{w}, \bm{\alpha}) \textrm{Bi}(y\,|\,T, \theta_s(\bm{x})), \end{align*} where $\textrm{Bi}(\cdot\,|\,T, \theta_s(\bm{x}))$ is the binomial distribution with number of trials equal to $T$ and success probability $\theta_s(\bm{x}) \in (0,1)$ given by $\textrm{logit}(\theta_s(\bm{x})) = \bm{x}' \bm{\beta}^s$. Finite mixtures of Poisson regressions are given by: \begin{align*} H(y \,|\, \bm{x}, \bm{w}, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s(\bm{w}, \bm{\alpha}) \textrm{Poi} (y \,|\, \lambda_s(\bm{x})), \end{align*} where $\textrm{Poi}(\cdot\,|\,\lambda_s(\bm{x}))$ denotes the Poisson distribution and $\log(\lambda_s(\bm{x})) = \bm{x}'\bm{\beta}^s$. For all these mixture distributions the coefficients are split into three different groups depending on if fixed, nested or varying effects are specified: \begin{align*} \bm{\beta}^s &= (\bm{\beta}_1, \bm{\beta}^{c(s)}_{2}, \bm{\beta}^{s}_3) \end{align*} where the first group represents the fixed, the second the nested and the third the varying effects. For the nested effects a partition $\mathcal{C} = \{c_s \,|\, s = 1,\ldots S\}$ of the $S$ components is determined where $c_s = \{s^* = 1,\ldots,S \,|\, c(s^*) = c(s)\}$. A similar splitting is possible for the variance of mixtures of Gaussian regression models. The function for maximum likelihood (ML) estimation with the Expectation-Maximization (EM) algorithm is \code{flexmix()} which is described in detail in \cite{flexmix:Leisch:2004a}. It takes as arguments a specification of the component specific model and of the concomitant variable model. The component specific model with varying, nested and fixed effects can be specified with the M-step driver \code{FLXMRglmfix()} which has arguments \code{formula} for the varying, \code{nested} for the nested and \code{fixed} for the fixed effects. \code{formula} and \code{fixed} take an argument of class \code{"formula"}, whereas \code{nested} expects an object of class \code{"FLXnested"} or a named list specifying the nested structure with a component \code{k} which is a vector of the number of components in each group of the partition and a component \code{formula} which is a vector of formulas for each group of the partition. In addition there is an argument \code{family} which has to be one of \code{gaussian}, \code{binomial}, \code{poisson} or \code{Gamma} and determines the component specific distribution function as well as an \code{offset} argument. The argument \code{varFix} can be used to determine the structure of the dispersion parameters. If only varying effects are specified the M-step driver \code{FLXMRglm()} can be used which only has an argument \code{formula} for the varying effects and also a \code{family} and an \code{offset} argument. This driver has the advantage that in the M-step the weighted ML estimation is made separately for each component which signifies that smaller model matrices are used. If a mixture model with a lot of components $S$ is fitted to a large data set with $N$ observations and the model matrix used in the M-step of \code{FLXMRglm()} has $N$ rows and $K$ columns, the model matrix used in the M-step of \code{FLXMRglmfix()} has $S N$ rows and up to $S K$ columns. In general the concomitant variable model is assumed to be a multinomial logit model, i.e.~: \begin{align*} \pi_s(\bm{w},\bm{\alpha}) &= \frac{e^{\bm{w}'\bm{\alpha}_s}}{\sum_{u = 1}^S e^{\bm{w}'\bm{\alpha}_u}} \quad \forall s, \end{align*} with $\bm{\alpha} = (\bm{\alpha}'_s)_{s=1,\ldots,S}$ and $\bm{\alpha}_1 \equiv \bm{0}$. This model can be fitted in \pkg{flexmix} with \code{FLXPmultinom()} which takes as argument \code{formula} the formula specification of the multinomial logit part. For fitting the function \code{nnet()} is used from package \pkg{MASS} \citep{flexmix:Venables+Ripley:2002} with the independent variables specified by the formula argument and the dependent variables are given by the a-posteriori probability estimates. %%------------------------------------------------------------------------- %%------------------------------------------------------------------------- \section[Using package flexmix]{Using package \pkg{flexmix}} In the following datasets from different areas such as medicine, biology and economics are used. There are three subsections: for finite mixtures of Gaussian regressions, for finite mixtures of binomial regression models and for finite mixtures of Poisson regression models. %%------------------------------------------------------------------------- \subsection{Finite mixtures of Gaussian regressions} This artificial dataset with 200 observations is given in \cite{flexmix:Gruen+Leisch:2006}. The data is generated from a mixture of Gaussian regression models with three components. There is an intercept with varying effects, an independent variable $x1$, which is a numeric variable, with fixed effects and another independent variable $x2$, which is a categorical variable with two levels, with nested effects. The prior probabilities depend on a concomitant variable $w$, which is also a categorical variable with two levels. Fixed effects are also assumed for the variance. The data is illustrated in Figure~\ref{fig:artificialData} and the true underlying model is given by: \begin{align*} H(y\,|\,(x1, x2), w, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s(w, \bm{\alpha}) \textrm{N}(y\,|\, \mu_s, \sigma^2), \end{align*} with $\bm{\beta}^s = (\beta^s_{\textrm{Intercept}}, \beta^{c(s)}_{\textrm{x1}}, \beta_{\textrm{x2}})$. The nesting signifies that $c(1) = c(2)$ and $\beta^{c(3)}_{\textrm{x1}} = 0$. The mixture model is fitted by first loading the package and the dataset and then specifying the component specific model. In a first step a component specific model with only varying effects is specified. Then the fitting function \code{flexmix()} is called repeatedly using \code{stepFlexmix()}. Finally, we order the components such that they are in ascending order with respect to the coefficients of the variable \code{x1}. <>= set.seed(2807) library("flexmix") data("NregFix", package = "flexmix") Model <- FLXMRglm(~ x2 + x1) fittedModel <- stepFlexmix(y ~ 1, model = Model, nrep = 3, k = 3, data = NregFix, concomitant = FLXPmultinom(~ w)) fittedModel <- relabel(fittedModel, "model", "x1") summary(refit(fittedModel)) @ The estimated coefficients indicate that the components differ for the intercept, but that they are not significantly different for the coefficients of $x2$. For $x1$ the coefficient of the first component is not significantly different from zero and the confidence intervals for the other two components overlap. Therefore we fit a modified model, which is equivalent to the true underlying model. The previously fitted model is used for initializing the EM algorithm: <>= Model2 <- FLXMRglmfix(fixed = ~ x2, nested = list(k = c(1, 2), formula = c(~ 0, ~ x1)), varFix = TRUE) fittedModel2 <- flexmix(y ~ 1, model = Model2, cluster = posterior(fittedModel), data = NregFix, concomitant = FLXPmultinom(~ w)) BIC(fittedModel) BIC(fittedModel2) @ The BIC suggests that the restricted model should be preferred. \begin{figure}[tb] \centering \setkeys{Gin}{width=0.95\textwidth} <>= plotNregFix <- NregFix plotNregFix$w <- factor(NregFix$w, levels = 0:1, labels = paste("w =", 0:1)) plotNregFix$x2 <- factor(NregFix$x2, levels = 0:1, labels = paste("x2 =", 0:1)) plotNregFix$class <- factor(NregFix$class, levels = 1:3, labels = paste("Class", 1:3)) print(xyplot(y ~ x1 | x2*w, groups = class, data = plotNregFix, cex = 0.6, auto.key = list(space="right"), layout = c(2,2))) @ \setkeys{Gin}{width=0.8\textwidth} \caption{Sample with 200 observations from the artificial example.} \label{fig:artificialData} \end{figure} <>= summary(refit(fittedModel2)) @ The coefficients are ordered such that the fixed coefficients are first, the nested varying coefficients second and the varying coefficients last. %%------------------------------------------------------------------------- \subsection{Finite mixtures of binomial logit regressions} %%------------------------------------------------------------------------- \subsubsection{Beta blockers} The dataset is analyzed in \cite{flexmix:Aitkin:1999, flexmix:Aitkin:1999a} using a finite mixture of binomial regression models. Furthermore, it is described in \cite{flexmix:McLachlan+Peel:2000} on page 165. The dataset is from a 22-center clinical trial of beta-blockers for reducing mortality after myocardial infarction. A two-level model is assumed to represent the data, where centers are at the upper level and patients at the lower level. The data is illustrated in Figure~\ref{fig:beta} and the model is given by: \begin{align*} H(\textrm{Deaths} \,|\, \textrm{Total}, \textrm{Treatment}, \textrm{Center}, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s \textrm{Bi}( \textrm{Deaths} \,|\, \textrm{Total}, \theta_s). \end{align*} First, the center classification is ignored and a binomial logit regression model with treatment as covariate is fitted using \code{glm}, i.e.~$S=1$: <>= data("betablocker", package = "flexmix") betaGlm <- glm(cbind(Deaths, Total - Deaths) ~ Treatment, family = "binomial", data = betablocker) betaGlm @ In the next step the center classification is included by allowing a random effect for the intercept given the centers, i.e.~the coefficients $\bm{\beta}^s$ are given by $(\beta^s_{\textrm{Intercept|Center}}, \beta_{\textrm{Treatment}})$. This signifies that the component membership is fixed for each center. In order to determine the suitable number of components, the mixture is fitted with different numbers of components and the BIC information criterion is used to select an appropriate model. In this case a model with three components is selected. The fitted values for the model with three components are given in Figure~\ref{fig:beta}. <>= betaMixFix <- stepFlexmix(cbind(Deaths, Total - Deaths) ~ 1 | Center, model = FLXMRglmfix(family = "binomial", fixed = ~ Treatment), k = 2:4, nrep = 3, data = betablocker) betaMixFix @ \begin{figure} \centering <>= library("grid") betaMixFix_3 <- getModel(betaMixFix, "3") betaMixFix_3 <- relabel(betaMixFix_3, "model", "Intercept") betablocker$Center <- with(betablocker, factor(Center, levels = Center[order((Deaths/Total)[1:22])])) clusters <- factor(clusters(betaMixFix_3), labels = paste("Cluster", 1:3)) print(dotplot(Deaths/Total ~ Center | clusters, groups = Treatment, as.table = TRUE, data = betablocker, xlab = "Center", layout = c(3, 1), scales = list(x = list(draw = FALSE)), key = simpleKey(levels(betablocker$Treatment), lines = TRUE, corner = c(1,0)))) betaMixFix.fitted <- fitted(betaMixFix_3) for (i in 1:3) { seekViewport(trellis.vpname("panel", i, 1)) grid.lines(unit(1:22, "native"), unit(betaMixFix.fitted[1:22, i], "native"), gp = gpar(lty = 1)) grid.lines(unit(1:22, "native"), unit(betaMixFix.fitted[23:44, i], "native"), gp = gpar(lty = 2)) } @ \caption{Relative number of deaths for the treatment and the control group for each center in the beta blocker dataset. The centers are sorted by the relative number of deaths in the control group. The lines indicate the fitted values for each component of the 3-component mixture model with random intercept and fixed effect for treatment.} \label{fig:beta} \end{figure} In addition the treatment effect can also be included in the random part of the model. As then all coefficients for the covariates and the intercept follow a mixture distribution the component specific model can be specified using \code{FLXMRglm()}. The coefficients are $\bm{\beta}^s=(\beta^s_{\textrm{Intercept|Center}}, \beta^s_{\textrm{Treatment|Center}})$, i.e.~it is assumed that the heterogeneity is only between centers and therefore the aggregated data for each center can be used. <>= betaMix <- stepFlexmix(cbind(Deaths, Total - Deaths) ~ Treatment | Center, model = FLXMRglm(family = "binomial"), k = 3, nrep = 3, data = betablocker) summary(betaMix) @ The full model with a random effect for treatment has a higher BIC and therefore the smaller would be preferred. The default plot of the returned \code{flexmix} object is a rootogramm of the a-posteriori probabilities where observations with a-posteriori probabilities smaller than \code{eps} are omitted. With argument \code{mark} the component is specified to have those observations marked which are assigned to this component based on the maximum a-posteriori probabilities. This indicates which components overlap. <>= print(plot(betaMixFix_3, mark = 1, col = "grey", markcol = 1)) @ The default plot of the fitted model indicates that the components are well separated. In addition component 1 has a slight overlap with component 2 but none with component 3. The fitted parameters of the component specific models can be accessed with: <>= parameters(betaMix) @ The cluster assignments using the maximum a-posteriori probabilities are obtained with: <>= table(clusters(betaMix)) @ The estimated probabilities for each component for the treated patients and those in the control group can be obtained with: <>= predict(betaMix, newdata = data.frame(Treatment = c("Control", "Treated"))) @ or <>= fitted(betaMix)[c(1, 23), ] @ A further analysis of the model is possible with function \code{refit()} which returns the estimated coefficients together with the standard deviations, z-values and corresponding p-values: <>= summary(refit(getModel(betaMixFix, "3"))) @ The printed coefficients are ordered to have the fixed effects before the varying effects. %%----------------------------------------------------------------------- \subsubsection{Mehta et al. trial} This dataset is similar to the beta blocker dataset and is also analyzed in \cite{flexmix:Aitkin:1999a}. The dataset is visualized in Figure~\ref{fig:mehta}. The observation for the control group in center 15 is slightly conspicuous and might classify as an outlier. The model is given by: \begin{align*} H(\textrm{Response} \,|\, \textrm{Total}, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s \textrm{Bi}( \textrm{Response} \,|\, \textrm{Total}, \theta_s), \end{align*} with $\bm{\beta}^s = (\beta^s_{\textrm{Intercept|Site}}, \beta_{\textrm{Drug}})$. This model is fitted with: <>= data("Mehta", package = "flexmix") mehtaMix <- stepFlexmix(cbind(Response, Total - Response)~ 1 | Site, model = FLXMRglmfix(family = "binomial", fixed = ~ Drug), control = list(minprior = 0.04), nrep = 3, k = 3, data = Mehta) summary(mehtaMix) @ One component only contains the observations for center 15 and in order to be able to fit a mixture with such a small component it is necessary to modify the default argument for \code{minprior} which is 0.05. The fitted values for this model are given separately for each component in Figure~\ref{fig:mehta}. \begin{figure} \centering <>= Mehta$Site <- with(Mehta, factor(Site, levels = Site[order((Response/Total)[1:22])])) clusters <- factor(clusters(mehtaMix), labels = paste("Cluster", 1:3)) print(dotplot(Response/Total ~ Site | clusters, groups = Drug, layout = c(3,1), data = Mehta, xlab = "Site", scales = list(x = list(draw = FALSE)), key = simpleKey(levels(Mehta$Drug), lines = TRUE, corner = c(1,0)))) mehtaMix.fitted <- fitted(mehtaMix) for (i in 1:3) { seekViewport(trellis.vpname("panel", i, 1)) sapply(1:nlevels(Mehta$Drug), function(j) grid.lines(unit(1:22, "native"), unit(mehtaMix.fitted[Mehta$Drug == levels(Mehta$Drug)[j], i], "native"), gp = gpar(lty = j))) } @ \caption{Relative number of responses for the treatment and the control group for each site in the Mehta et al.~trial dataset together with the fitted values. The sites are sorted by the relative number of responses in the control group.} \label{fig:mehta} \end{figure} If also a random effect for the coefficient of $\textrm{Drug}$ is fitted, i.e.~$\bm{\beta}^s = (\beta^s_{\textrm{Intercept|Site}}, \beta^s_{\textrm{Drug|Site}})$, this is estimated by: <>= mehtaMix <- stepFlexmix(cbind(Response, Total - Response) ~ Drug | Site, model = FLXMRglm(family = "binomial"), k = 3, data = Mehta, nrep = 3, control = list(minprior = 0.04)) summary(mehtaMix) @ The BIC is smaller for the larger model and this indicates that the assumption of an equal drug effect for all centers is not confirmed by the data. Given Figure~\ref{fig:mehta} a two-component model with fixed treatment is also fitted to the data where site 15 is omitted: <>= Mehta.sub <- subset(Mehta, Site != 15) mehtaMix <- stepFlexmix(cbind(Response, Total - Response) ~ 1 | Site, model = FLXMRglmfix(family = "binomial", fixed = ~ Drug), data = Mehta.sub, k = 2, nrep = 3) summary(mehtaMix) @ %%----------------------------------------------------------------------- \subsubsection{Tribolium} A finite mixture of binomial regressions is fitted to the Tribolium dataset given in \cite{flexmix:Wang+Puterman:1998}. The data was collected to investigate whether the adult Tribolium species Castaneum has developed an evolutionary advantage to recognize and avoid eggs of its own species while foraging, as beetles of the genus Tribolium are cannibalistic in the sense that adults eat the eggs of their own species as well as those of closely related species. The experiment isolated a number of adult beetles of the same species and presented them with a vial of 150 eggs (50 of each type), the eggs being thoroughly mixed to ensure uniformity throughout the vial. The data gives the consumption data for adult Castaneum species. It reports the number of Castaneum, Confusum and Madens eggs, respectively, that remain uneaten after two day exposure to the adult beetles. Replicates 1, 2, and 3 correspond to different occasions on which the experiment was conducted. The data is visualized in Figure~\ref{fig:tribolium} and the model is given by: \begin{align*} H(\textrm{Remaining} \,|\, \textrm{Total}, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s(\textrm{Replicate}, \bm{\alpha}) \textrm{Bi}( \textrm{Remaining} \,|\, \textrm{Total}, \theta_s), \end{align*} with $\bm{\beta}^s = (\beta^s_{\textrm{Intercept}}, \bm{\beta}_{\textrm{Species}})$. This model is fitted with: <>= data("tribolium", package = "flexmix") TribMix <- stepFlexmix(cbind(Remaining, Total - Remaining) ~ 1, k = 2:3, model = FLXMRglmfix(fixed = ~ Species, family = "binomial"), concomitant = FLXPmultinom(~ Replicate), data = tribolium) @ The model which is selected as the best in \cite{flexmix:Wang+Puterman:1998} can be estimated with: <>= modelWang <- FLXMRglmfix(fixed = ~ I(Species == "Confusum"), family = "binomial") concomitantWang <- FLXPmultinom(~ I(Replicate == 3)) TribMixWang <- stepFlexmix(cbind(Remaining, Total - Remaining) ~ 1, data = tribolium, model = modelWang, concomitant = concomitantWang, k = 2) summary(refit(TribMixWang)) @ \begin{figure} \centering <>= clusters <- factor(clusters(TribMixWang), labels = paste("Cluster", 1:TribMixWang@k)) print(dotplot(Remaining/Total ~ factor(Replicate) | clusters, groups = Species, data = tribolium[rep(1:9, each = 3) + c(0:2)*9,], xlab = "Replicate", auto.key = list(corner = c(1,0)))) @ \caption{Relative number of remaining beetles for the number of replicate. The different panels are according to the cluster assignemnts based on the a-posteriori probabilities of the model suggested in \cite{flexmix:Wang+Puterman:1998}.} \label{fig:tribolium} \end{figure} \cite{flexmix:Wang+Puterman:1998} also considered a model where they omit one conspicuous observation. This model can be estimated with: <>= TribMixWangSub <- stepFlexmix(cbind(Remaining, Total - Remaining) ~ 1, k = 2, data = tribolium[-7,], model = modelWang, concomitant = concomitantWang) @ %%----------------------------------------------------------------------- \subsubsection{Trypanosome} The data is used in \cite{flexmix:Follmann+Lambert:1989}. It is from a dosage-response analysis where the proportion of organisms belonging to different populations shall be assessed. It is assumed that organisms belonging to different populations are indistinguishable other than in terms of their reaction to the stimulus. The experimental technique involved inspection under the microscope of a representative aliquot of a suspension, all organisms appearing within two fields of view being classified either alive or dead. Hence the total numbers of organisms present at each dose and the number showing the quantal response were both random variables. The data is illustrated in Figure~\ref{fig:trypanosome}. The model which is proposed in \cite{flexmix:Follmann+Lambert:1989} is given by: \begin{align*} H(\textrm{Dead} \,|\,\bm{\Theta}) &= \sum_{s = 1}^S \pi_s \textrm{Bi}( \textrm{Dead} \,|\, \theta_s), \end{align*} where $\textrm{Dead} \in \{0,1\}$ and with $\bm{\beta}^s = (\beta^s_{\textrm{Intercept}}, \bm{\beta}_{\textrm{log(Dose)}})$. This model is fitted with: <>= data("trypanosome", package = "flexmix") TrypMix <- stepFlexmix(cbind(Dead, 1-Dead) ~ 1, k = 2, nrep = 3, data = trypanosome, model = FLXMRglmfix(family = "binomial", fixed = ~ log(Dose))) summary(refit(TrypMix)) @ The fitted values are given in Figure~\ref{fig:trypanosome} together with the fitted values of a generalized linear model in order to facilitate comparison of the two models. \begin{figure} \centering <>= tab <- with(trypanosome, table(Dead, Dose)) Tryp.dat <- data.frame(Dead = tab["1",], Alive = tab["0",], Dose = as.numeric(colnames(tab))) plot(Dead/(Dead+Alive) ~ Dose, data = Tryp.dat) Tryp.pred <- predict(glm(cbind(Dead, 1-Dead) ~ log(Dose), family = "binomial", data = trypanosome), newdata=Tryp.dat, type = "response") TrypMix.pred <- predict(TrypMix, newdata = Tryp.dat, aggregate = TRUE)[[1]] lines(Tryp.dat$Dose, Tryp.pred, lty = 2) lines(Tryp.dat$Dose, TrypMix.pred, lty = 3) legend(4.7, 1, c("GLM", "Mixture model"), lty=c(2, 3), xjust=0, yjust=1) @ \caption{Relative number of deaths for each dose level together with the fitted values for the generalized linear model (``GLM'') and the random intercept model (``Mixture model'').} \label{fig:trypanosome} \end{figure} %%------------------------------------------------------------------------- \subsection{Finite mixtures of Poisson regressions} % %%----------------------------------------------------------------------- \subsubsection{Fabric faults} The dataset is analyzed using a finite mixture of Poisson regression models in \cite{flexmix:Aitkin:1996}. Furthermore, it is described in \cite{flexmix:McLachlan+Peel:2000} on page 155. It contains 32 observations on the number of faults in rolls of a textile fabric. A random intercept model is used where a fixed effect is assumed for the logarithm of length: <>= data("fabricfault", package = "flexmix") fabricMix <- stepFlexmix(Faults ~ 1, model = FLXMRglmfix(family="poisson", fixed = ~ log(Length)), data = fabricfault, k = 2, nrep = 3) summary(fabricMix) summary(refit(fabricMix)) Lnew <- seq(0, 1000, by = 50) fabricMix.pred <- predict(fabricMix, newdata = data.frame(Length = Lnew)) @ The intercept of the first component is not significantly different from zero for a signficance level of 0.05. We therefore also fit a modified model where the intercept is a-priori set to zero for the first component. This nested structure is given as part of the model specification with argument \code{nested}. <>= fabricMix2 <- flexmix(Faults ~ 0, data = fabricfault, cluster = posterior(fabricMix), model = FLXMRglmfix(family = "poisson", fixed = ~ log(Length), nested = list(k=c(1,1), formula=list(~0,~1)))) summary(refit(fabricMix2)) fabricMix2.pred <- predict(fabricMix2, newdata = data.frame(Length = Lnew)) @ The data and the fitted values for each of the components for both models are given in Figure~\ref{fig:fabric}. \begin{figure} \centering <>= plot(Faults ~ Length, data = fabricfault) sapply(fabricMix.pred, function(y) lines(Lnew, y, lty = 1)) sapply(fabricMix2.pred, function(y) lines(Lnew, y, lty = 2)) legend(190, 25, paste("Model", 1:2), lty=c(1, 2), xjust=0, yjust=1) @ \caption{Observed values of the fabric faults dataset together with the fitted values for the components of each of the two fitted models.} \label{fig:fabric} \end{figure} %%----------------------------------------------------------------------- \subsubsection{Patent} The patent data given in \cite{flexmix:Wang+Cockburn+Puterman:1998} consist of 70 observations on patent applications, R\&D spending and sales in millions of dollar from pharmaceutical and biomedical companies in 1976 taken from the National Bureau of Economic Research R\&D Masterfile. The observations are displayed in Figure~\ref{fig:patent}. The model which is chosen as the best in \cite{flexmix:Wang+Cockburn+Puterman:1998} is given by: \begin{align*} H(\textrm{Patents} \,|\, \textrm{lgRD}, \textrm{RDS}, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s(\textrm{RDS}, \bm{\alpha}) \textrm{Poi} ( \textrm{Patents} \,|\, \lambda_s), \end{align*} and $\bm{\beta}^s = (\beta^s_{\textrm{Intercept}}, \beta^s_{\textrm{lgRD}})$. The model is fitted with: <>= data("patent", package = "flexmix") ModelPat <- FLXMRglm(family = "poisson") FittedPat <- stepFlexmix(Patents ~ lgRD, k = 3, nrep = 3, model = ModelPat, data = patent, concomitant = FLXPmultinom(~ RDS)) summary(FittedPat) @ The fitted values for the component specific models and the concomitant variable model are given in Figure~\ref{fig:patent}. The plotting symbol of the observations corresponds to the induced clustering given by \code{clusters(FittedPat)}. This model is modified to have fixed effects for the logarithmized R\&D spendings, i.e.~$\bm(\beta)^s = (\beta^s_{\textrm{Intercept}}, \beta_{\textrm{lgRD}})$. The already fitted model is used for initialization, i.e.~the EM algorithm is started with an M-step given the a-posteriori probabilities. <>= ModelFixed <- FLXMRglmfix(family = "poisson", fixed = ~ lgRD) FittedPatFixed <- flexmix(Patents ~ 1, model = ModelFixed, cluster = posterior(FittedPat), concomitant = FLXPmultinom(~ RDS), data = patent) summary(FittedPatFixed) @ The fitted values for the component specific models and the concomitant variable model of this model are also given in Figure~\ref{fig:patent}. \begin{figure} \centering \setkeys{Gin}{width=0.95\textwidth} <>= lgRDv <- seq(-3, 5, by = 0.05) newdata <- data.frame(lgRD = lgRDv) plotData <- function(fitted) { with(patent, data.frame(Patents = c(Patents, unlist(predict(fitted, newdata = newdata))), lgRD = c(lgRD, rep(lgRDv, 3)), class = c(clusters(fitted), rep(1:3, each = nrow(newdata))), type = rep(c("data", "fit"), c(nrow(patent), nrow(newdata)*3)))) } plotPatents <- cbind(plotData(FittedPat), which = "Wang et al.") plotPatentsFixed <- cbind(plotData(FittedPatFixed), which = "Fixed effects") plotP <- rbind(plotPatents, plotPatentsFixed) rds <- seq(0, 3, by = 0.02) x <- model.matrix(FittedPat@concomitant@formula, data = data.frame(RDS = rds)) plotConc <- function(fitted) { E <- exp(x%*%fitted@concomitant@coef) data.frame(Probability = as.vector(E/rowSums(E)), class = rep(1:3, each = nrow(x)), RDS = rep(rds, 3)) } plotConc1 <- cbind(plotConc(FittedPat), which = "Wang et al.") plotConc2 <- cbind(plotConc(FittedPatFixed), which = "Fixed effects") plotC <- rbind(plotConc1, plotConc2) print(xyplot(Patents ~ lgRD | which, data = plotP, groups=class, xlab = "log(R&D)", panel = "panel.superpose", type = plotP$type, panel.groups = function(x, y, type = "p", subscripts, ...) { ind <- plotP$type[subscripts] == "data" panel.xyplot(x[ind], y[ind], ...) panel.xyplot(x[!ind], y[!ind], type = "l", ...) }, scales = list(alternating=FALSE), layout=c(1,2), as.table=TRUE), more=TRUE, position=c(0,0,0.6, 1)) print(xyplot(Probability ~ RDS | which, groups = class, data = plotC, type = "l", scales = list(alternating=FALSE), layout=c(1,2), as.table=TRUE), position=c(0.6, 0.01, 1, 0.99)) @ \caption{Patent data with the fitted values of the component specific models (left) and the concomitant variable model (right) for the model in \citeauthor{flexmix:Wang+Cockburn+Puterman:1998} and with fixed effects for $\log(\textrm{R\&D})$. The plotting symbol for each observation is determined by the component with the maximum a-posteriori probability.} \label{fig:patent} \end{figure} \setkeys{Gin}{width=0.8\textwidth} With respect to the BIC the full model is better than the model with the fixed effects. However, fixed effects have the advantage that the different components differ only in their baseline and the relation between the components in return of investment for each additional unit of R\&D spending is constant. Due to a-priori domain knowledge this model might seem more plausible. The fitted values for the constrained model are also given in Figure~\ref{fig:patent}. %%----------------------------------------------------------------------- \subsubsection{Seizure} The data is used in \cite{flexmix:Wang+Puterman+Cockburn:1996} and is from a clinical trial where the effect of intravenous gamma-globulin on suppression of epileptic seizures is studied. There are daily observations for a period of 140 days on one patient, where the first 27 days are a baseline period without treatment, the remaining 113 days are the treatment period. The model proposed in \cite{flexmix:Wang+Puterman+Cockburn:1996} is given by: \begin{align*} H(\textrm{Seizures} \,|\, (\textrm{Treatment}, \textrm{log(Day)}, \textrm{log(Hours)}), \bm{\Theta}) &= \sum_{s = 1}^S \pi_s \textrm{Poi} ( \textrm{Seizures} \,|\, \lambda_s), \end{align*} where $\bm(\beta)^s = (\beta^s_{\textrm{Intercept}}, \beta^s_{\textrm{Treatment}}, \beta^s_{\textrm{log(Day)}}, \beta^s_{\textrm{Treatment:log(Day)}})$ and $\textrm{log(Hours)}$ is used as offset. This model is fitted with: <>= data("seizure", package = "flexmix") seizMix <- stepFlexmix(Seizures ~ Treatment * log(Day), data = seizure, k = 2, nrep = 3, model = FLXMRglm(family = "poisson", offset = log(seizure$Hours))) summary(seizMix) summary(refit(seizMix)) @ A different model with different contrasts to directly estimate the coefficients for the jump when changing between base and treatment period is given by: <>= seizMix2 <- flexmix(Seizures ~ Treatment * log(Day/27), data = seizure, cluster = posterior(seizMix), model = FLXMRglm(family = "poisson", offset = log(seizure$Hours))) summary(seizMix2) summary(refit(seizMix2)) @ A different model which allows no jump at the change between base and treatment period is fitted with: <>= seizMix3 <- flexmix(Seizures ~ log(Day/27)/Treatment, data = seizure, cluster = posterior(seizMix), model = FLXMRglm(family = "poisson", offset = log(seizure$Hours))) summary(seizMix3) summary(refit(seizMix3)) @ With respect to the BIC criterion the smaller model with no jump is preferred. This is also the more intuitive model from a practitioner's point of view, as it does not seem to be plausible that starting the treatment already gives a significant improvement, but improvement develops over time. The data points together with the fitted values for each component of the two models are given in Figure~\ref{fig:seizure}. It can clearly be seen that the fitted values are nearly equal which also supports the smaller model. \begin{figure} \centering <>= plot(Seizures/Hours~Day, pch = c(1,3)[as.integer(Treatment)], data=seizure) abline(v=27.5, lty=2, col="grey") legend(140, 9, c("Baseline", "Treatment"), pch=c(1, 3), xjust=1, yjust=1) matplot(seizure$Day, fitted(seizMix)/seizure$Hours, type="l", add=TRUE, lty = 1, col = 1) matplot(seizure$Day, fitted(seizMix3)/seizure$Hours, type="l", add=TRUE, lty = 3, col = 1) legend(140, 7, paste("Model", c(1,3)), lty=c(1, 3), xjust=1, yjust=1) @ \caption{Observed values for the seizure dataset together with the fitted values for the components of the two different models.} \label{fig:seizure} \end{figure} %%----------------------------------------------------------------------- \subsubsection{Ames salmonella assay data} The ames salomnella assay dataset was used in \cite{flexmix:Wang+Puterman+Cockburn:1996}. They propose a model given by: \begin{align*} H(\textrm{y} \,|\, \textrm{x}, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s \textrm{Poi} ( \textrm{y} \,|\, \lambda_s), \end{align*} where $\bm{\beta}^s = (\beta^s_{\textrm{Intercept}}, \beta_{\textrm{x}}, \beta_{\textrm{log(x+10)}})$. The model is fitted with: <>= data("salmonellaTA98", package = "flexmix") salmonMix <- stepFlexmix(y ~ 1, data = salmonellaTA98, k = 2, nrep = 3, model = FLXMRglmfix(family = "poisson", fixed = ~ x + log(x + 10))) @ \begin{figure} \centering <>= salmonMix.pr <- predict(salmonMix, newdata=salmonellaTA98) plot(y~x, data=salmonellaTA98, pch=as.character(clusters(salmonMix)), xlab="Dose of quinoline", ylab="Number of revertant colonies of salmonella", ylim=range(c(salmonellaTA98$y, unlist(salmonMix.pr)))) for (i in 1:2) lines(salmonellaTA98$x, salmonMix.pr[[i]], lty=i) @ \caption{Means and classification for assay data according to the estimated posterior probabilities based on the fitted model.} \label{fig:almes} \end{figure} %%----------------------------------------------------------------------- \section{Conclusions and future work} Package \pkg{flexmix} can be used to fit finite mixtures of regressions to datasets used in the literature to illustrate these models. The results can be reproduced and additional insights can be gained using visualization methods available in \proglang{R}. The fitted model is an object in \proglang{R} which can be explored using \code{show()}, \code{summary()} or \code{plot()}, as suitable methods have been implemented for objects of class \code{"flexmix"} which are returned by \code{flexmix()}. In the future it would be desirable to have more diagnostic tools available to analyze the model fit and compare different models. The use of resampling methods would be convenient as they can be applied to all kinds of mixtures models and would therefore suit well the purpose of the package which is flexible modelling of various finite mixture models. Furthermore, an additional visualization method for the fitted coefficients of the mixture would facilitate the comparison of the components. %%----------------------------------------------------------------------- \section*{Computational details} <>= SI <- sessionInfo() pkgs <- paste(sapply(c(SI$otherPkgs, SI$loadedOnly), function(x) paste("\\\\pkg{", x$Package, "} ", x$Version, sep = "")), collapse = ", ") @ All computations and graphics in this paper have been done using \proglang{R} version \Sexpr{getRversion()} with the packages \Sexpr{pkgs}. %%----------------------------------------------------------------------- \section*{Acknowledgments} This research was supported by the the Austrian Science Foundation (FWF) under grant P17382 and the Austrian Academy of Sciences ({\"O}AW) through a DOC-FFORTE scholarship for Bettina Gr{\"u}n. %%----------------------------------------------------------------------- \bibliography{flexmix} \end{document} flexmix/vignettes/flexmix.png0000644000176200001440000022746114404637307016144 0ustar liggesusers‰PNG  IHDRݲêÛsBITÛáOà pHYs   jŒw IDATxœìÝi@WÛ7ðIØqW6w©UqƒZ¨­¨Xµ¨`Å]¬Õ‚€hk«µRën¥7ŠâŠ÷ÝÞÔ­®ÕªuC±*¶¨ˆ²+*BBï‡yïy¦3É0Ùføÿ>M®9sÎ5I€äâÌIuu5‚“Š@…º €8P—‡¹Ø €±¨¬¬ÌÉÉ; 0;;»† Šü ê2ðÿ=~üØÍÍMì,ÀPÃÃÃÅÎþ×1ˆóeÀdŒ?þåË—bgâøòË/ýýýÅÎBÏP—“qüøñ‚‚±³qŒ1BìôuP­Y³fݺu; ÐÞ£G²²²Äθ .ªuïÞýرcbgÚ[¹rå¬Y³Äθ`Ý_q`¾ ˜$[[Û«W¯ŠPbbbBB‚ØYê2`’¤R©‡‡‡ØY€ÙÛÛ‹‚Áá:&q . Ôeĺ €8P—ƒ“Ëåëׯ3fŒØ‰ÔeÀ€ÈŠŒ››ÛÔ©SŸlØ0F0>>þíÛ·*Û_¿~}ìØ±J¥’\½zõ€¸S"UWW_¸p#Ÿ,]ºTå.ö‰  .Ñ®.Ó½{÷ûéÚµ+ÿç̙ÈmÞ¼™Ý277700°¬¬Œœ1cÆÔ©SkL‰rþüyŽd"""ÔÍôÑè¤ô«Wd´˜µ'‘HøôÃ?‡Ñ£G³5j÷Q#GŽdEŸQ¨2ó°°0>)}ñÅYµj»Oíê2Û¶m;uꔺ½¨Ë€(jqEÆx¬[·ÎÅÅ…ܵk×öíÛÕ²mÛ¶Ý»w3‚®®®ëÖ­ãkûöí/_¾änóâÅ Ž¡¹)•Ê={öx{{{yyMŸ>}ïÞ½OŸ>-//—Édùùù×®]Û¼yóĉƒ‚‚.^¼¨Ý@µê2 ëׯkzHÛ¶m7n\c?š^òÞ2“““CÿZ¢T*ÇŽ˨¶téÒeÇŽR©ŠÐ§výúuƌҋ/fΜɑ$ê2 0TdÓ¤I“äädöl”ÈÈÈœœvû'OžDEE1‚‰$99™ý’¡¬¬lëÖ­Üm’’’Ô]ËÉíéÓ§~øaHHÈÕ«Wkl¬P(<èëë«Å@µê2 „—/_fggÓ#‰äÕ«WÕœþþûo>ýtéÒE£düýý}||ÁåË—SëÈ|óÍ7‡¢ïmÞ¼ùÑ£GëׯÏçÔè Å¥K—ØñÙ³g¨;ªqãÆmÛ¶å8=BEFxýúõ‹ŽŽfKKKCCC«««éA¥RZZZÊh<}úô¾}ûò+11‘Ñ'£ÿÄÄD~YÿË… ¼¼¼¸—Ð>P—!ܼy“iß¾}ƒ tï§]»v 6Ô´ö”™{÷î8p€ ˆ7ÆÅÅÑwÙÚÚ9rÄÕÕ•gJŒƒ³/eºxñ"}Eö¿Í½¼¼j8}@EFDË–-óðð`OŸ>ÍøýwæÌF3OOOuK†³eee1n!G—žžÎ®€×èÞ½{C† ©ñ~sÀê2\´Xó TÒqQŽ~´»oÑ!CØßˆ–.]zòäÉÈÈHzP"‘lÛ¶½ü0GJü±™™õQ—©¬¬ £þ}maaÁ^ï1¡¡"CážµG2ĸÖÖÖÛ·o·°°`ÄçÎ{çÎrûöíÛ111Œ–––Û¶m³¶¶æ?VBB‚º]kÖ¬áß©¢¢â“O>yñâ#nff6zôè]»vegg¿yóF&“ܼy399yòäÉöööšTG . »ƒ €ŽØ+°hWzÐW?‰äÛo¿e¯]»¨P(èÁeË–i”RïÞ½éբ˗/ÓŽ‹‹£¾tñõ×_3–&P—CBEÆxxyyÅÆÆ2‚2™lìØ±r¹\.—7Ž}Ë¶ØØXM§Ô¥§§«¼Ü2++ëøñãuEÄš5kØSlºtér÷îÝ´´´Ö­[׫WÏÒÒÒÞÞ¾K—.¡¡¡›6mzþüùÞÿ}M‡«õP—ø?|Š/(Ðh‡=©D»Kuô5ï† ˆÑ£G·nÝš¬¨¨ ?üüóÏgÍš¥EJ~ø!õðíÛ·×®]#·?~¼páBjW›6mbbbØWBi7 €›B¡@EÆØÌž=ÛÏÏÌÈȈ‰‰™;wnFFc—ŸŸ_¿”(ÞÞÞä†R©Ty禵k×R³Ø«n©TVV¶lÙ2FÐËËë÷ßçw84336lØï¿ÿÎg”:u-K-(ÐðW^^~ïÞ=FpàÀNŒ{T«ëG놹¹ù7ß|ÃÑÀßß¿Æå0U¦Ä¨Ë´K™"##é÷=Y·n]^^ã.¶666;v¬1MÍŸ?c#•JSRRØ‹m­ZµŠ±Ð A 4HMMUyW8•èwqJJJ*//§ï-++KNNVÙ˜Ão¿ýVRRBXXXìÝ»·^½z<³s±¾J*T?ºö ¸}ûvUU•F‡4oÞÜÙÙ¹Æ~\\\tY³`Ò¤I .ÌÏÏgïêСþ}ûØK?ðIÉÁÁÁÏÏO*•R7x:wîÜ7ß|³oß¾_~ù…j9räÈ?þxß¾}Œ>;uêD_ž@__§)‰dãÆ£FàN<;v¬.=¼zõJ_ɉ6mÚÄÇÇOš4‰¤~{Э^½š=ËCHHÈÌ™3 ‚())IKKûüóÏ©½©©©ÔmžBBBÆ_cŸ¿þú+#2f̘víÚñÏ P—€:Çp8ÈžQ`c_éS#•ëìêñ"&’µµõøñãüñGö®¤¤¤Æרƒº”7nÜ¥Kjïï¿ÿ^ZZ:}útªY£F~úé'Žôîý÷ß¿zõ*{=£êêê1cÆ,_¾|Þ¼yAAA­Î¦¥¥®-Ôx¾|ºûì³ÏŽ9BÞN   ‰'jÔ­••Õ”)S–,YB>\»v-½.C_ xÊ”)–––|ú¼zõ*#2dȲ\Çu…`—áú&6öʸ5RY—a÷£ã:,7nT¹ëðáÃ|zàX‡¸wïÞTðÅ‹#FŒÈÍÍ¥"K–,iÞ¼9º hüøñ÷îÝ›4i’ʉ`·nÝ>|x×®]÷ïßÿ3 oãÆŽŽŽêö:99©ûeÅ-<<œšwãÆ‹/’Û§OŸÎÌÌ$·ÍÍÍÃÃÃyvXPPÀˆôìÙS‹Ä€‚º Ôr"VIP  ç|™ÜÜÜÁƒ«»&"11‘šáÏ#%Æ3'Nœ ¶}||¨oAúºó7m۶ݲe ª3FÈÎÎnõêÕêöÆÇÇk·îO‹-†J=¤æÈÐ'Ë :ÔÕÕ•g‡äUQtXHG¨Ë@ídT5£J@x …âöíÛŒà£Gª9òéGëºÌëׯüôéSu ^½zµvíZîN¸SêÝ»·Ê_þæææ6l WîÌÏÏþü9co§Nøœ€ÖP1NGŽQ·ëèÑ£ZwImïÛ·/???''çСC*€ð°¾ ˜€þù‡~Û†† ¶lÙ’Ü6òÚ•ûC<ÏÙÙ¹iÓ¦bgP'Ü»wqóé¦M›¶jÕJ¬~‚P(!!!·nÝ¢% ãûg||ü—_~iccÃ?¥&MšP«r6kÖÌÓÓóÎ;Œ£¦OŸÞ¥Kr›}TÇŽ­­­58m‘Õ™¹sç.^¼855•½î YéÒ¥‹×éܹó† téaРA/^¼Ð=csøðámÛ¶©Û›ššúé§Ÿj·’‹¿¿¿‡‡ÇÝ»w ‚Ëå7n,//§,÷ôôìÓ§ÿÞìíí?~LµhÑB‹Ä€„º ˜€ &à.÷À!88xß¾}F^‘aÀ?BABBþ; ŽXDé‡ ˆˆˆÆ-EœãããGŒAlÙ²…ãÞ±5¦ôá‡2ê2-[¶Œ¥bqÀÕ™ ¼÷Þ{ºôPã]Ò4e ‚JJJ¸ۄ……ùùùi÷_¥ÈÈHêcφ är9}—F]9880ê2W¯^E]F¸Ž LÞþýûM«(P×è«ô ¯~–,Y²iÓ&z¤~ýúGýôÓOÙÿ4^µj•B¡Ð:%Æ3A$$$Ô«W£,.¢À•Mâš6mZ^^w›¼¼¼èèhíúŸ0aBÆ ÉíÜÜ\j˜Fñ¹76{•_ú%Q ÔeÀ° W—Ñ¢„±cÇŽ˜˜zÄÌÌl÷îÝdJsæÌa´ôèÑŽ;ø§Ä85ú-™‚ b¬›ƒù2`TPÅÁƒÙ÷o×®]Û¶mÁíÛ·kW©_¿~hh(;Z¿~}º0`#’––öðáC-²ê2`@ÕÕÕ7oÞdµ(=襟sçÎ}öÙgŒ/“k×®8p ¹Ý¿ö} –/_®òû'Ÿ”;vìHnׯ_Ÿq³•ÒÒÒþù‡‘H$^^^|ÏÀ0PRqq1ûÕ‰$))iëÖ­ìYáááá%%%Z ÉèM"‘hqMwß¾}›4iB(Š#F”••i‘X_LÑ€¬¬¬ÄÎÄôêÕ«3gÎPÉõe£_ô—M»•Û@kÿýwff¦ØYÔ9ÿüóãnÓ¶¶¶:tн‚ ÜÝݹ277ýú5¹Œî½{÷† &“Éè fÍšÅXÓaΜ9Ÿ~ú)=’™™yøðaúfÕ¥dkkKUa(ýõ—ºônÞ¼ÉøNÛ¦M›FqŸ€0DY¸ŠŠŠÊÏÏg£££ÉÙvÓ¦McÔsóòò¢¢¢ØókjÔ¡C‡~ýú8q‚ŠôïßÿwÞÑ´ŸzõêÍž=ûÛo¿¥oÞ¼éëë»{÷nŽ«ªªŽ=ºbÅ ,Ê€º ˜ž­[·6oÞ\ì,@L7oÞTùR꣭‘,À¿•Ä7sæL±³¨sØ×étîÜ™¼E´ŽýðÑ¡C²(SPPÀ¾‡KHHȲeˇuèÐáþýûôàÒ¥KÙuÝO ‹Ë€ñCuÆ öïß¿sçNF°}ûöK–,!·—.]úË/¿üý÷ßô;vì1bDPP¦ÃEEEÑë2‹šs‹ŽŽÞ°aCvv6=xëÖ-OOÏaÆõìÙÓÁÁÁ¢´´477÷Ö­[çÏŸ?tèµ® Ðá:&¨…ªÿGìDþÅ8³04Ã-.ÃyMPyyy`` ã+„¯¯oJJ û;¤T*5k#xùòåÓ§Oט’¦§†ÅeÀTàÊ&>$<ÐÛM:•щT*ݺu«­­-ùÐÖÖVåÕLS§N-..Ö4Ã!C†TÓ0–»âÏÆÆæèÑ£7fÄ EZZZHHH›6mêÕ«giiiooïååºyófeÔA]j3c(…C"½.£T*ÇŒsåÊzÜÍÍíСCꮌ7nœ««+#¸téÒSB]j7Tgô+22²  €ŒŽŽöóó£G>øàöm˜òóóµXF<<<<ÈXh´ƒº Ô ÂGPŽ ‰^—ùòË/üðÛ7oöêÕKÄjÔe n1t¹å†çÏŸWÿ[=ôÒýúõ‹g ÛµkÇ=ÜŒ3ؽ1nÕ¤ã©YYYUVV2zprrÒâÉÏꌧ§gzzºðé¹ÂˆˆF¼‚ÉÆÆ†ÝÞÆÆ&))‰½|UDDDQQ‘¡²ä¡eË–çÏŸß±cûNvlfffC‡½pႉ™Ôe ŽÒoõ娃j¬Îüõ×_Ÿþ¹ð‰¹ÈÈHöb+3fÌðõõUwˆŸŸßôéÓÁ‚‚v}G`fff£FúóÏ?oܸñÓO?¿ûî»ÎÎÎÖÖÖVVV]»v8qâæÍ›óòò<ÈqŽuîÇuZµn·pB! Æ{6}}~Ó¥öL|ÄÅÅÅÅÅq4ÐýÔtéÁËËËËËkÆŒ:æPa¾ Ah8á³cjœ;*¡.ð/5”c¸¡: )ÔeTc/÷(vF¦ÕþP—ýCu€ÔeÀPPà†º YyôèQ`` Ø¹Ôe@ÎÎγgÏ; ズ €8P—ê2â@]@¨ËˆÃ\ìÀà$ #R]]­QƒºŒzrðœ€Þ¡.µ»âÀû¸.•‹Ñ£Gïܹ“9r$;Èh°{÷nvWiii<Ç]°_qh .`¼½«ªªÞ¼y#V2 ;¹\Nˆ1Fuƒ[·nÝùóçssséÁ]»vŽ;Vå!Û¶mce\]]×­[g¨, Ï$fåð)ä¡@µØ“'OèO:Õ A±’½»páÂÔ©SÅÎþëË\“&M’““Ù_ø###srrØíŸ>ž,-- =uêý»½R© ---eô0}úô¾}û ‘k]¢—ª ¦ÏˆE&“EDDˆПþ)v ‡º €@–-[vâĉ»wïÒƒ§OŸŽ‹‹›9s&‰‹‹;sæ ãXOOÏ¥K— da I.(Ь²²211Qì,t‚º Ô9b}g¶¶¶Þ¾}»··wee%=>wîܼûî»Aܾ};&&†q ¥¥å¶mÛ¬­­ —[©#vÍ 4`º,,,èëÕ«×¢E ±’Ý•””PmllDLTB]@8^^^±±±ß}÷=(“ÉÆŽ{õêU‚ Æ'“ÉGÅÆÆzyy —e­#â0(ЀÉqvv¦?ôõõ=vì˜XÉ€îV®\9kÖ,êa=DLTB]@P³gÏþïÿ{áÂz0###&&¦ºº:##ƒÑÞÏÏþ§T¥âââM›6=z4++ëåË—vvvíÛ·2dHhh¨Ÿ¬xÞ)©ªªê—_~ùå—_nܸñøñã—/_* kkëF9;;·mÛ¶cÇŽ]»võöövqqáè\Óqµf<‹ò¢@*¡. (©Tš’’Ò¥K—ׯ_Óã«V­b7nРAjjªTÊuß´ÔÔÔéÓ§¿xñ‚Š<{öìÙ³gçÎ[²dI\\\hh¨^2ÿóÏ?Çwÿþ}FüíÛ·oß¾}þüùµkר ¸Õã)ǰQ¹=~üXÜLŒ\³fÍêÕ«'v`ŒvíÚ%—ËÅÎÄA®ÿPË . ´6mÚÄÇÇOš4‰T*•ì–«W¯nݺ5GW«V­úúë¯Õí-))™8qbnn®¶™þŸ¬¬,F-ÉØs9†­U«Vb§`ÔRRRÆ/v`Œ>úè#±SÐ'®ÿÃÔJ’šÃgŸ}ÄÝ&((hâĉ ~ûí·/q"bîܹå¦ÒÂ… ¹(³ÿ~Ó*ÊP—ÇÆÕíurrÚ¸q#ÇáJ¥2<<œ1˦iÓ¦ 999r¹üÉ“'kÖ¬iÚ´©^²=qâ#2|øðk×®•••)ŠçÏŸŸ8qbΜ9nnnìc«ÿ‡cG€Z uqØÙÙ­^½ZÝÞøøxî%{9’••EØØØœ9s&22ÒÕÕÕ¢E‹QQQgΜÑË ¶‹ŠŠ‘-[¶tëÖÍÖÖÖÌÌÌÉÉ©_¿~K–,yðàÁ©S§üýýu .Àú2¢9r䈺]G ÑèØ¨¨¨N:1‚:uŠŠŠúñǵN’Ô´iÓÂÂBzäøñã#FŒ`·ô÷÷¾.¼oß>ÂÔ–˜!pu4Í£G=z$vBC]@‡Þ¶m›º½©©©Ÿ~úé!CÔ5¸té#¬²epp°îu™Þ½{“…JHHH›6mÜÝÝÛ´iãææÖ¥K—ž={Š~êJ(#/ÐàŠ-¶ ÄÆÆŠ€ÐP—:Ǿ—””„……q· óóóS·@ÌóçÏwww•-ÕÅ5òÝwß9r„q?Âìììììlê¡……EŸ>}"""†ªûˆ:2Î1¼÷À¨`}L›6-//»M^^^tt´º½ì»#Õ¯__eKuqtëÖíðáÃÍ›7çhSYYyüøñaÆMœ8Ñx ư¢°1äÆ u¡#Ý»wïÞ½{O›6±+///**ŠÝO¯^½‘¨Q]\GM›6íÙ³gHHÈòåËÏž=ËØ{ûömö!쪓R©4Dn|è½z‚r huáìß¿çÎŒ`ûöí—,YBn/]º´]»vŒ;vì`×V>ùäFdÍš5wïÞe333tJš ‚èß¿ÿ™3gÔímÒ¤ #¢òâ)öÝšrssuNMW:ÖSPŽ] . % ôöEEES§Net"•J·nÝjkkK>´µµUy5ÓÔ©S‹‹‹é‘!C†´oßžyûöí‡~¸nݺgÏžUVVæææ®]»öÃ?|ûö­î'{òäÉ>}útèÐaöìÙû÷ïøðaii©R©|õêÕÙ³g?ýôSF{•+³W¥ùî»ïž{öLìD¨žÕö IDAT´qàÀŸþùÊ•+………–––mÚ´éÝ»÷„ PѨ­P—€ZeÑ¢EdQfüøñ+W®Ô׆öâÅ‹‘#Gž8q‚Š(ŠÌÌÌÌÌÌÄÄDüo_˜LÂú¿P«üúë¯äÆâÅ‹ùeŒá†kr¹|àÀdQ&88øÊ•+2™ìåË—èÖ­›ˆ‰Ô2ÆðóÀ€ù2P«äææ’...âfÂߢE‹._¾LDXXØúõëÉ ¥¥å°aÃgÍš%jv`@˜/µŠ\.'7¤RÓøœóòåKr¡w{{ûU«V1öš™™±ƒPk˜Æç0uoÞ¼‰õôô´²²ªW¯ž¯¯ïž={¸¹~ýúgŸ}Ö¶m[KKË tíÚuáÂ…¯^½b·”Ш Òãì]ìêú'âèÑ£ï¿ÿ¾M£F†úðáCóß¿YYAcÆŒ©W¯÷sBQ(›6mêÛ·¯½½½¥¥¥ƒƒC@@ÀÖ­[«ªªTfž™™ùá‡ÚØØ´nÝzíÚµA$''wìØÑÊÊÊÍÍ-99YÝù8pàƒ>¨_¿¾¥¥¥‡‡Ç‚ Þ¼y£u>ìþõþ|jÚ?Ÿ7÷ÛÃ@xžoHH™aË–-©½¥¥¥-[¶$ã!!!ŒC´x}Gedd 6¬I“&VVVÞÞÞ{÷îÕ:REEE\\œŸŸ_Ó¦M-,,5jÔ½{÷¯¾úêÏ?ÿÔ½½¦?ï„ ïg€ÿS `ô|}}éoÚgÏž‰ˆìÆô·Dpp°áÆÂ¯JaÌŸ?Ÿþ𦤤bƤƒ„„CŒbÒ²²²èOQ@@€¾z~öìY‡ØŸC.\¨î3ɼyóTNxiݺõƒ5ýÌScuý3êA¸¸¸”””°áŸÿèÑ£É]äù|ùøø¨< ??¿/^°3wvv¦7ûâ‹/è%ÉÙ³gÙG-Y²„=D‡‹ùç#Àó©iÿ*ÓfSùBpïÕÿó-((°··'÷~þùçdpÒ¤IdÄÁÁ¡°°P]Ú<__ÆQ¿ÿþ»µµ5÷ó£ÑëUXXøî»ïòæ5mϳE€÷³V¬XAO‰\GŒ ¾l€ @]¨Ëðÿ´zºŒ‘0\]¦oß¾dŸŸ|òÉ;w***222ú÷ïOÿæFoO½X~~~—.]ª¨¨xöìYLL ôôô¬¨¨P7–¦?°|ÚSmš6mº~ýú²²²»wïvìØ‘ .Z´ˆÑ^£ü===É8ûûª:ä!¼}ûvEEÅíÛ· DÙ™OŸ>ýíÛ·ô¥j¢¢¢Þ¾};wî\òáĉÙGI¥Ò€€€ŒŒŒŠŠŠÌÌÌÀÀ@2Þ¯_?íòàùÔ¢ö<_MÛó¤éùÒ§ž¥§§§§§S÷îÝË‘6Ï×—q”§§gûöí8PZZZ^^~ñâÅ   ]òŸ2e ¹ËßßÿêÕ«ååå<ظqc¯^½Ø™hÚ^åYp´1ôûY`¨Ë?|Ç€º 0®.C𦯄ºŒ‘0P]æøñãd‡:u’ËåT¼¼¼üwÞaÿX=~üØÂ‚l_^^Nï*,,Œl¼iÓ&uÃiúsʧ=Õ&22’ îÛ· ¾ÿþûôÆšæß¸qc2øúõk> Sϧ‡‡‡L&£â2™ÌÃÃÜuúôiFæ™™™ÕÕÕýõ#rÿþ}òaçÎÙçëîîNÿ -—Ë;uêDî:uê”ùð|jÚ¿ÊÕ5б=Ú½ÿ©‹•\]]]]]Éí‘#Gr§ÍçõeÕ¬Y3ŽcZäOÝ7-77Wý£}{•g¡®¡ßÏÂC]Àøa}‚çÕæ:Pg¥¥¥‘QQQä6’µµutt4»ýúõë+++ ‚ˆ‰‰a\.1yòdrCåz ®9"‚ú·Áƒèm4Íÿõë×䆭­-Ÿ¨ç3::ÚÒÒ’Š[ZZN›6ÜNMMeE~W§_ÍDFœœœÈ‡Ô}¬è¢££­¬¬¨‡QQQŒ4´Ë‡dˆçSÓþvç»víZ‚ ž>}úôéS‚ ¸Çâóú²}ùå—Í›7×cþ%%%äÏÕX4m¯C¿ŸØP—€ºK/µhjDÞš ˆ>ø€±ë£>b·?yò$¹áïïÏØEý¿úæÍ›zÌ?êš#‚ ìììÈ—/_ÒÛhšµ&“õ‚¸rå ¹Ñ»woÆ.*B=çrEaz里P+ «\•=õ"Rih—Éϧ¦ýë‚úW§¾:$´=_;;»ÄÄDzdýúõÔ)«Ãçõe£®èQI‹ü©ys}ûö4hЊ+Ξ=[QQ¡nMÛkÄÐïg6Ôe Î1P%uÈÿÞѲeKÆ®V­Z±ÛSÿwrr277733333“J¥R©”*"Pÿ0XÆ ©m333rC¡PÐÛhšƒ È·oßòÉãù¤"TF¶æææŒuäö D ‘““£K>$C<Ÿšöol´>ßàààQ£F‘Û£G ªq,>¯/[ûöíõ›?u)«B¡HOOŸ={öG}Ô¸qãO?ý”qq¥ví5bè÷3ê2P‡S7AŒŠ1¼©rƒ c;BЮ멪ªªªªR*•J¥’1+AeA*o1àiþ...äF^^ŸÈ›jœÏ§º[kŠ=ue 5„.ùâùÔ´c£Ëùzyy‘]ºtá3Ÿ×—­~ýú}j‘ÿˆ#ÒÓÓ½½½éA™L¶oß>j $­ÛkÄÐïg6üî€ÚO¬B 4$ê[\yy9c;Bµ·³³ã^$ÏÐikMÓü©;þfffò韚tÀñ|rsæ=uµuI”¡ó1õ÷ƒ¦´>ß«W¯~ÿý÷äö¼yóþüóÏÇâóú²qÿ]Ó.ÿ?þøòåËOŸ>ݵk×_|A­ìûâÅ‹o¿ý–=Цíùòç €„º ÔZÆS1žL .øþûï,X —ËÙ»ärù‚ ¨on‚¡îóäÉÆ®G±Û·mÛ– ˆ’’êצEÓü©e8Μ9ç=5¿æñãÇŒ]T„j£#öÔ‹H½¬†ÎÇÔßšÒî|KKKGŽIÍC‘Ëå#GŽ,--å>ŠÏë«)]^/— 6º~ýºR©üõ×_‡.L’z¤iþÇŸ1cFEEEZZÚâÅ‹küçííMÞîúܹsÔBª¤sçΑô—^gÏže qþüy* aòòý`iiIÖ4år9ý^åiÚžƒ?_ÿ÷ Cc@Ýh@¥àààêZ4ƒÝ8µnÝÚ ?æÔ"ޤ””CŒ²jÕ*ú( †Å\¸p¡{÷îR©ôË/¿$OvÆŒR©´{÷î.\à8±df@@€^ò9qâÙa§När9///§î«BÐ>“Ü»w,b¾óÎ;/_¾dôVRR2nÜ8ŽáØrãÓ^]•q-òÿꫯÈ~¦L™ÂØUUU5sæLzä×_%{xxÈd2*.“ɨ¯‘'NœP—¡Fww÷ŠŠ *.—Ë;uêDî:~ü¸ùpù$33S&“eddôïߟºe ñï¯.Ô îîî{÷î-..®¨¨¸}ûvlll³fÍ­j(º´W×F]\ÓüËÊÊ:wîL2tèÐK—.•••½zõêðáÃ=zô`´W*•Ôó9hР;wîÈd²ÌÌLêîÅ àÈP£ˆT*0`@FF†L&»{÷n`` ïÛ·¯vùó|jÚ?eÊ”)dƒ=z\¾|™^³PIÓ7Oï­[·¨Åz§NJÃÃÃɈµµuFF†º´ù¼¾Zœ¬¦¯—§§ç÷ßêÔ©¼¼¼ÊÊÊW¯^=zÔÍÍì$&&FÇö…ïg¡.`üP—€º €èP—19J¥2))‰^—IJJ¢îŠ¢Žáê2¹¹¹:t`¿µ-ZDmÓÛWUU͘1Cå»ÑÞÞ~ÇŽc©ìPen|úT×"ÿüü|???>ÉTWWõ6Ÿ¢¢"Ž 5Š,\¸=„‡‡G~~¾vùó|jÚ?åÑ£GÔO ƒÊö5v¨þçûæÍê'«K—.åååd¼¼¼œº%SÇŽß¼y£2mž¯¯¦'«õëÅ6hРꤴkÏјŽ~ˆ¡ßÏC]Àø¡.&uÑ¡.cZ.]ºÔ³gO33³¯¿þš<Ù™3gš™™õìÙóÒ¥K®.S]]ýêÕ«ùóç»»»[XXØØØôêÕkÏž=Õœ_]®\¹2iÒ¤víÚÙØØX[[÷èÑcåÊ•¯^½âˆ£CFn|úäKÓü«ªªvíÚ5xð`GGG333[[[ððp•¯š\._¿~}Ÿ>}š6mjnnnggçïï¿iÓ¦ÊÊJî 5ìܹ³W¯^666666ï¾ûî?üPVV¦u>ÜÏ›¾žOíú'ååå}ûí·Ý»woÔ¨‘ºù\u¨5>ç;aÂ2úõëß¿Ÿ¾ëÞ½{Ômƒ&L˜ .mž¯oµæ'ËÿõÊÌÌ\¼xq@@€‹‹‹¥¥¥¥¥¥‹‹ËСCwïÞ­²š¬Q{u?à Œ£x? uã'©Æ¢ `ô&MšD]3 Ož<)**rrrrvv;cáïï¿råJ¸WüU©[·nb§ÀåúõëÔvëÖ­É% dÁ‚±±±ÔÔ””ñãÇë}”¸¸¸™3gR"##õ>Šè¾øâ‹Í›7{zz&%%õìÙ“ü¹¨®®¾rå ¹îï”)S6lØ ò؇R×pìØ1òcBý:ÅÅZ ¯o²råÊY³fQ©ËÜÀHà~L`’’’ÄNÁXdgg“Ó•ß¾}{âĉ¦M›Š‘q¡>_yÆT>›™™)•J±³988Ì›7oîܹô¸··÷µk×–,YRUU%VnÀ€º €)Y²dIee%A¯^½Š‹‹£¯ËtdáÃØª3¦RŽSÇñ›ÁÒÒrÁ‚æ5Šð•ýóÏ?S׬YSRR"b>ƺbi€qB]ÀdP“eHä”ó1!¢TFPŽ#÷!€1C]À40&Ë0eFSÔJPŽþP—0 ŒÉ2$L™Ñš!ª'(Ç@­sí†×À¨ .`TN–!aÊŒŽtÿlŠO· 5ÔeL€ÊÉ2$L™ÑMË+(Ç€îP—0vìÉ2  ?Ä”ýâ.¸ z„º €±cL–éÔ©Ó\]]©¦Ì½ƒr ê2F=YfÞ¼y666ß~û-=ˆ)3…r ê2F=Y&88˜ ˆÉ“'cÊ €©C]Àx©œ,#•J ‚°²²Â”S‡º €ñR7Y†„)3¦u#Å1Y†„)3¦u#Å=Y†„)3&Í\ì@…'ËÈ)3QQQTdÍš5_}õUÓ¦M…ÈÀÄ­Zµ*--Mì,ŒKEE…Ø)Ô-¨Ë#>“eH“'O^¶lÙÓ§Oɇ䔙E‹ ‘%€‰ËÎÎÎÎÎ;‹º«°°pùòåééé=zûö-ä¸-½D"©± Ñôôk“ZöRèu£Ãs² SfÀåçç{{{?yòDìDÄQÇOè°¾ €Ñá?Y†„UfÀä,Z´ˆ¬JŒ?>//¯úô8„äôا¾púÂ0æ'ÀT .`\4š,C™À䤧§“‹/vttäsˆé/Ø´8ýÚ¤6½”ºÃuLÆEÓÉ2$¬2ÀGxxøØ±cÅΨegg÷êÕK€rrrÈ †36uüôô¨¬¬¬]»vbg¢9tèØYè u#¢ÅdV™àÃÖÖÖÖÖVì,ŒÚëׯ…H.—“|~ÅÕ>uüôô¨ºº:??_ì,@4ôi›.|0"ÚM–!a•0r•Aö2%UtB¬ÅPt9}ŽÞ8â×®]>|¸……E«V­¢££¹/q}öìYlll¯^½š6mjnnîììzçÎ-ND÷—’¤P(6oÞܯ_?KKK‡þýûoÙ²¥ªªJe{]N@,¨Ë ­'Ë°Ê €îÄ­ÝèÑ¡C‡zõêµÿþââb…BñäÉ“5kÖøûûËd2•í7mÚäææ¶`Á‚?þøãÅ‹UUUÏŸ?OIIéÖ­ÛêÕ«NžT\\ìçç7eÊ”S§NVVVžêó‰ç(ÍÔí¢âÆ £Ç7oÞLÆûôéÃ8äñãÇÖÖÖA˜™™:uбW©T~÷Ýw:žˆG?~œlãáá!“ɨxEE…‡‡¹‹­§Pë­X±‚þ‹=11QìŒôŒ±2ZçÎÅÎ k„ ôWüüùóbg¤¸Ž À(è>Y†„Uf€ ˆ©S§Ò0€ÜÈÌÌd´\¿~}EEA“'Oö÷÷gì•H$‹/6Xšj¥¥¥‘ÑÑÑ–––TÜÊÊŠšð²}ûvu‡ó?}Ñ¡. >W–¡Ã*3º þs%v"ºêÞ½;ý¡““¹ñâÅ FËcÇŽ‘cÆŒ 1ž®\¹BnôîÝ›±‹ŠW9©ÄÿôD‡º €øô5Y†„)3ФIúCsóÿ¿¤ û~¢ÔÅk:u 1ž¨µÒZ¶lÉØEE¨6lüO@t¨ËˆL“eH˜2üÿ޼yó†ÜhРÁÒÑXYY¹Á^¿“ŠP™³éòg@`ø£ 2ýN–!aÊ @-¦T*õØ[ýúõÉ ÆÚ™âªW¯¹Q^^ÎØEE¨ÌLê2bÒûd¦ÌÔÔÕ7UUUôxqq±Gqss#7îܹ£ÇnuäââBn<~ü˜±‹ŠPmLê2b2Äd¦Ì@GÝÄG.—‹›‰Ö¨ERòòòèñk×®éq”€€rcÇŽšk¸'ÙÛÛ›Ü8wîc¡Ú˜4ÔeDc É2$L™€:ÎÙÙ™ÜÈÈÈà”ä “”f<<<È ê–I¤µk×êq”ððp+++‚ 6mÚtöìYvƒ~øAݱÚ=É|Œ5ŠÜX³f ½è#“ÉÈm£ºðtÿþýùóç‹€qA]@4†›,C”¨Ëú÷ïOnL:õòåË2™LÜ|´DnÌ™3çäÉ“r¹<'''""ââÅ‹z¥U«Vä_…BññÇÏŸ?ÿÞ½{r¹üåË—Ç}úØÙÙ‘Ï@Ÿ>}6lØpñâE{{{=ނРæb'P 0Y†DN™‰ŠŠ¢"kÖ¬ùꫯš6mª÷±øãóé\÷OðŽŽŽK–,Y²d ÿC„ùÚÀ;;»µkײ”Q×GÏ5êèè8oÞ<Ž«–ÔU㓬õ³jaaƳ½.§úuóæÍ… ê¬בéÝ»÷‚ úôé#pb& uA½óÎ;º.‘H¨m OOO3àCÀuLÀ…çUKgÏž5¹¢ŒD+|úáŸÃèÑ£Ù‡5Šû¨‘#G²3f ÷©………ñIé‹/¾àyâê¢XXX4nܸeË–}úô™6mÚÿû_™LÆÿÉ© P—ÕjqEÆx¬[·ÎÅÅ…ܵk×öíÛÕ²mÛ¶Ý»w3‚®®®ëÖ­ãkûöí/_¾änóâÅ Ž¡5¥P(JKKsrrΜ9“0xðàöíÛ§¥¥é«ÿZu`BEF0Mš4INNfÏF‰ŒŒÌÉÉa·òäITT#(‘H’““7nÌ=VYYÙÖ­[¹Û$%%½}û¶¦¬µ÷ôéÓ±cÇ.[¶ÌpC˜Ôeàÿ "#¼~ýúEGG3‚¥¥¥¡¡¡Œ—@©T†††–––2OŸ>½oß¾|ÆJLLT·BÙbb"¿¬usãÆ 2~¨ËA "#ªeË–yxx0‚§OŸŽ‹‹£GâââΜ9Ãhæéé¹téRžeee;vLÝÞôôô¿ÿþ›gWº¨ªª¦düP—¨ëP‘¡Tó`ˆq­­­·oßnaaÁˆÏ;÷Î;äöíÛ·cbb ,--·mÛfmmͬ„„u»Ö¬Yÿu¨'ªªªª´´ôúõëóçÏggxúôiÝǪP—¨»P‘1^^^±±±Œ L&;v¬\.—ËåãÆcßÌ(66ÖËËK£ÒÓÓ³³³Ùñ¬¬¬ãÇkÔ7©TÚ°aî]».X°`ýúõŒ½ÏŸ?×ãX¦ u€º#4{öl???F0###&&fîܹŒ]~~~³fÍâÙ¹··7¹¡T*UÞ¹iíÚµÔ;ÁÇÇGƒ¼yfD …~‡0Q¨ËÔ-¨È-©Tš’’Ò AF|ÕªUŒ…f‚hРAjjªTÊ÷{=ý.NIIIåååô½eeeÉÉÉ*ëûæìì¬ß!L”¹Ø €@nÞ¼¹pც[$¥wïÞ ,0\9æúõë:tÐWoJ¥R_]6mÚÄÇÇOš4‰Ty¦«W¯nݺ5ÿžCBBfΜYXXHDIIIZZÚçŸNíMMM¥nóäàà2~üx-òWgïÞ½Œˆ¯¯¯û7]¨Ë€±+,,\¾|yzzú£GÞ¾}K ´ô¦±‘H$äF9_0¨ 6DDDˆU‘!•——?xðÀ Cèˆú¡SG€ÆÏ>ûìÈ‘#àh4qâDºµ²²š2eÊ’%Kȇk×®¥×eè‹O™2ÅÒÒR£ÎUª®®~ýúõÇ8°råJÆÞ°°0݇¨P—£–ŸŸïííýäɱ0y7oÞT—H$2dˆÀù‡7^¼x1??_å^''§7jÑmxxøòåË«ªª‚¸qãÆÅ‹ßÿ}‚ NŸ>™™I¶177×6q‚àQÛ"bÚ´iì•tê&¬/FmÑ¢EdQfüøñyyyhÁØÑ IDAT½O­AIþGìD îjÞ¼¹Êxuuõˆ#ÂÃÃ?~,pJ ŽÝêÕ«Õí·³³Ó¢Û-Z :”zHÍ‘¡O–:t¨«««ódiio¸!L ê2`ÔÒÓÓÉÅ‹;::Š›ŒðL·Fèûï¿ß¹s§‡‡{—\.ß°aÃ;#êŒñ8r䈺]GÕºÛÈÈHj{ß¾}ùùù999‡RÙ@œ.^¼8oÞ<©)¨Ë€QËÉÉ!7\\\ÄÍÀÔI$’‘#GÞ¾}[ÄêÌû￯П—/_"IcpøðámÛ¶©Û›ššzøðaízö÷÷§^}¹\¾qãÆÄÄDòÊ&‚ <== ºÆP^^ž¿¿ÿéÓ§ 7„ÉA]Œš\.'7øß 8H¥R«3‰ÄL¯ô›A›¤¦ŽÞGd+))©qMܰ°°’’íú§ÏˆÙ°aÃæÍ›Uî2W¯^ùòÏBÂß6}e}ûöùùùÕ«WÏÊÊÊÓÓ366öÍ›7|¬ªªJHHðòò²¶¶nÔ¨Q@@À/¿üÂ>$//oÁ‚ÞÞÞ7677·³³ÜÎÎ΢U«VÑÑÑÜ_xx¾.|N„#1Ž6lš¾Çt9}¨ĭηiÓ¦åååq·ÉËË‹ŽŽÖ®ÿ &4lØÜÎÍÍ%ïœMD£FôòkŸ,`UTTüóÏ?©©©]»ve4(++ d2j¬€ñ ß¬®E‹b§µýÿÒ­[·6èXóçϧÿmJII1èp NVVý…ÐcçT·?üðû‰»»ûóçϹT(ô¥ Õ}˜IMM­_¿¾Ê=ãÆS(¢$VTTäãã£2«÷ß¿¸¸XÝó¶qãF[[[öQñññ5?ïœ^½zÕ®];*ÊÊÊêêêÊÊÊ^½z‘ÁöíÛ¿zõŠ£u¯‚îT>WÏ0w25rðàA Fÿ]ºt©¨¨P™ÿׅωp$ÆÑ†A‹÷˜Ö§&dÅŠô—511Qe³ªª*uÕ’¥¥eXXØ£G´ÈáÙ³gô®|}}u;§yýú5½óÎ;kÚƒ¦?k†î§ººZåí±Ûµk×¶m[vüàÁƒÚ¥4mÚ4vƒèèh-NªÆf2™làÀìfgΜÑôÉ™0a½‡óçÏkÚƒB]À” .BB]¦¦.#•J?þøãŒŒŒŠŠŠÌÌÌO>ù„Œ0€ûÀ¸¸8++«ï¿ÿþÁƒYYYQQQŒ©©©dãzõêýç?ÿÉËË+//§nJÄìÙ³EI, €lþœœ)#•JOž|(pbǧ†ÉdT¼¢¢‚úþsêÔ)F?¶¶¶&sfïU*•ß}÷;+-,_¾œÌA*•þðÃÔÏþŠ+j<–ã#¸ñ…£™º]T|ذaô8µÔBŸ>}‡èòºh÷tñ9J»÷˜§&G£º IïÕÔe42jÔ(vWÓ§O'÷ª¼piôèÑÚ¥Ô¿ú^öß}ž'ųYbb"£»T£ZY—Áú2 ¨èèh+++ê¡……9»„ ˆíÛ·sèããCÍa¡Ð§a'&&’ËÁŒ=ºoß¾ôf¶¶¶3gÎ$¢ªªjË–-'–––F A¯°[YYQÍØC¬_¿¾¢¢‚ ˆÉ“'ûûû3öJ$’Å‹sdÅß7ß|Ó¯_?‚ ”Jå÷߯T* ‚èß¿ÿ×_­—þMÂÔ©Sé @ndff2Z öºhD»÷…ÿéC]€ugD´ÿþ;w2‚íÛ·_²d ¹½téRêúSÊŽ;T^úT#êϜʇzÚ¬Y3z¤ººú?ÿùA5 ¨Ë€ z÷î͈|ðÁ䯕+W87nwÏéééä†Ê5 ©»~ž;wNàĨÃÙCP‘Ë—/3v;vŒÜ3f wÿ:’H$©©©öööTÄÁÁ!%%…ÏB³Ôÿú ™ ºwïNèääDn¼xñ‚ÑR°×E#Ú½Ç(üOêTgt§roŽõ¼‹ŠŠER‚ ¤RéÖ­[©­lmm·nÝÊþýÔM¨Î`ïÞ½»wïfÝÜܨ+˜è–.]êææÆîÚµkß¾}†ÊOO\\\>ýôSF0!!A¡Pˆ’‘À¯`Tyy9#B®ÖAYP‡ª’¨CÝ»ªªªªªJ©T*•JöU6ê>ü.1êpöT„}oo*ÂXÕÒÊË˃ƒƒÉïí¯_¿f§jºÈsôEÈ×…?íÞcAuÆp #""Aò &v±• ›¤¤$vE5""¢¨¨ÈPYêÉôéÓ‘œœã¯(ê2 (ö‡õ'Ož...ºôLþó°I“&5Þø@àĨÃÙCPöÔÿBïܹ£Ëè|L™2åæÍ›ÔÃ7n°—0~ÔÜøªª*z\‹58ùºð§Ý{ @ ¨ÎBdddaa!#8cÆ ___u‡øùù± ìúޱyï½÷|||Á:¾ú/ê2 ¨³gÏ2"çÏŸ'7¼½½ué9 € ˆ/^¨[AF¬Ä¨ÃÙKSöäé±cÇ]F¯Q||}ºÊõJŸ>}:bÄá5j5ý ¹L&£†`ß܇:M›6±kFAüðê¼ÙÛ¹sç¨ûaO™2åàÁƒ“'O&Μ9Sݽ«4EÔ—Cê–I¤µk×êq]^gggr###C)Ú¾Çtij:Ã1éÔe@`÷ïß:tè;wärù_ý5|øðÛ·oѧOj&‚vZµjGį¿þêãã³sçÎÜÜ\…BQRRròäÉððp77·½{÷ ŸØ€È»tß½{7(((33S.—gffݽ{— ˆþýû÷ë×OÝé(Š?þxþüù÷îÝ“Ëå/_¾<~üøàÁƒçÍ›§KVÄÿ Uä‚;>>>äø„„rb…B¡ ÉÍÍÕqÁ‘sæÌ9yò¤\.ÏÉɉˆˆ¸xñ¢GÑåuéß¿?¹1uêÔË—/Óë€:Òî= 5Vg—¯ÉU`¨ùÏA´hÑBìt –£/&׺ukƒŽ5þ|úߦ””ƒêP7&è±sª[ÆËMêØ±ãóçϹä9Pbb¢º…x]]]÷ìÙ#Jbùùùên§Ý³gÏ‚‚unÙ²Eå¢fff«V­â±Æô***¨ [Ÿ>}JíÊÉÉ¡n2åãã#“É´E/xŽR^^îééÉx¢,,,>¬®Žž¹Õîuyôè‘£££Ê·Ê¡¹1:×â=¦õéƒ Y±bý͘˜hÐ᪪ªÔUg(¾¾¾z‘±wçÎõØ9¡ &Ð_ñóçÏ‹‘`¾ jÁ‚iiiï½÷žÍ»ï¾»páÂk×®999é¥ÿðð𬬬ï¿ÿÞÛÛ»Q£FffföööüñƳ²²Ø·ç&1‡?þøcýúõ}úô±³³377·³³ëӧφ .^¼hoo¯îÀI“&eggÇÆÆúùùÙÙÙYXX8993æêÕ«_}õ•.)EEE]¹r… ssóÝ»wÓ…% Xä2º—/_ŽŠŠÒe ÁX[[Ÿ9s&""ÂÕÕ•|†‡~ùòåÀÀ@½¥ÝëÒªU«[·nÍ™3§Gä›S)iýУçΛ¤ZÛe@xVVVÔEã-Z´0òEÔÀÔ™™™Q7—mݺuvv¶áÆZ°`All,õ0%%eüøñ†Ôyøð!u¯‚ ëtè‚Z‚ÄØ>{mbº[¹rå¬Y³¨‡‰‰‰ááá ­T*÷ìÙ³páBòb:Н¯ï… ô5Ê›7o4h@=ìܹó­[·ôÕ9¡ÐÐД”êáùóçýüüDÌG/0_ô sgxB] Õ€¡.D¯Î¸»»‹€q1ÏËË;SÕ¸qcu·ü:²:3räH±0.æÍ›7;Sµÿþ   ±³Se.vP'íÝŽŒ61¨ °¾ €8P—Ç¿®c²¶¶îÖ­›X©¿G={öLì, –øW]ÆÙÙù÷ß+ã÷õ×_¯ZµJì, –ÀuLâÀý˜ 6ÈÊÊêÙ³§ØY€egg‹‚þ¡.ðÿØ»ó¸¨ÊþñÿgmÀ EÅÜEÍ¥ÀDÍ}i5-µLsÉ-Á½Û>&*˜[Y–†k)†hV†ZhÞfiÝj.Yn€Z¦*ŠK˜ì2óûãüîùžûœ™afæÌ ¯ç=Î\ç:×õ>3„ðæ}® àòòò~ýõWµ£J‡ç˜ÔA^@äeÔÁú2—äïïçε£PÇÎ;_ýuA¦M›6wî\µÃQGåÊ•ÕÁÈËÀÙeee½ûî»ß}÷Ý•+WrssÅF½^¯nTŽ¡Ñhărr¿@©h4šjÕª©… t:ÝòåËÅã 6DEEU¯^]Ý`5ò2pj7oÞ KKKS;pÛ·oONNÿùçŸ>ø`ñâÅꆫ±¾ œÚÂ… Ť̈#233õÿ¥v\¥¦ù/µàÚt:Ý‚ ¤-±±±åöy.7@^Ní»ï¾-ZT«V-uƒq<×ÍC°i±ŒH,™Q+”y8µôôtñ nݺêFªSˈ(™q]äeàÔ Å~vPÞ)‹eD”̸.þmŽ ]Yã믿îÒ¥‹¿¿¿O«V­bbb}úlذ¡¸¸Øü[wýúõ˜˜˜N:U«VÍÓÓ³N:#GŽ0`€òZYÿÍ›7W¬XÑè:Çøð¡*ݾ}»cÇŽF£ ¿s玩÷mýúõ~~~Ê«¼¼¼V¬XQòûnÚŠ+Ä¡BCC•g;uê$ž]¹r¥™AL} egô½2ó›¦ÄKvîÜéåå%¿mÛ¶ùùùFóüs±äFÌf¦Œ_cVß>\È{ï½'ýX׬Y£vD(“/¾øBúV¨P¡N:Ò–Ù³g«#JzàPóçÏïß¿ÿ™3gòóó“““Ÿ}öYARSSGeþ•+WîÝ»wîܹ/^ÌÏÏÿã?"##e}FŒñàÁÿ>ú(333//ïÈ‘#áááâÙ9sæ¨ذaÃŽ;&ÂSO=uöìÙüüü³gÏ>õÔS‚ 9rdĈFG^·nÝøñãsss}}}£¢¢RRRòóóïܹ“””Ô¹sç©S§š̼W_}UL÷Ÿ8qBVþüù_~ùEŸW_}µ,³XMú«ÑF½M×Á=zôøñã¯^½šŸŸ¿oß¾š5k ‚púôéõë×+;—ês±äF”÷bÅmZ÷5fÅíP‹²Xæõ×_ŠŠ’¶P2ãò¨—Ì£^å õ2åcêeBBB¤„/,,lÓ¦xêÇ4sa½zõ¾ýö[ÙYi5Ç7ÄJýû÷K»åää4iÒD„ *üùçŸlß¾}†) íùùù!!!â©~øA6ÂÕ«W}}}Ř•gu:ÝÛo¿­ŒªT,Î>}útiû¬Y³ÄöÁƒ›Áð&”1›Ìb¦›©S†ö^xAÚþé§ŸŠí=zô]R–Ïź·Ë’«¬û³âöár¨—q'²booïË—/çççׯ__ÚNɌˡ^8Ô”)S||| /½¼¼ Õ%[¶l1saǎũɓ'Ž×¬Y#.óÊ+¯ôêÕKÚÍÏÏOÌ­oذÁÁmݺÕ0…4Ãîããc覜bíÚµùùù‚ Œ;¶gÏž²³fÑ¢Ef¢²Ä˜1că„„„¢¢"ñ¸¸¸xóæÍ²nï7Þ¾ìׯŸx \\ÓŸ‹¬û3°üö¨EY,3jÔ¨àà`ŸÙ³gKÛ)™q9äeœˆ«»•¼9à6ž|òIYK×®]ŃãÇ›¹pøðáæGþî»ïÄ£lôèÑC<øù矘árå†ñ ©ÿûßâÁ°aÃÌoµ¾}ûŠ;Ogee%%%‰ß}÷Ý7A¨[·nß¾}Í`ø[Ÿ"t˜Ç{Lú2((H<¸w§>+X÷5f`ùíP‹l&oooC:f̘1Ò’6fr9äelÀè‚ù%R;jÔÑ AS-éééf.ìСƒù‘/\¸ <þøãfæ½xñ¢ƒËÈÈ(q CÃce†Ç©lÎÃÃcäÈ‘âñÆѸ¸8ñ`äÈ‘åg_ꀀéKOOOñÀPFdà€ÏÅ Ö}X~ûTaªXF<¦dÆÕ©ÿo- Ê­V+kWëÁ̦Ԃ ˆk‘šñÏ?ÿˆµjÕòôô¬P¡B… <<<<<<4a÷S%ö ,''ÇԆ冖J•*™¿,F-ìÝ»733óöíÛß~û­ØRâ‚ÇîÄò ”c>—Ò²îkÌ ü$àe¦XFDÉŒKã[0p¨¼¼QæŒAxçwÌLjùÊ}þþþ²,Ì!CÌ?ºeÅ,"¶L­ZµÊ†³”ås©S§Žx æ¿lȺ¯1ÎÏÂb%3.м p¨ . 0àܹs………©©©/¾øâÙ³gAèÑ£G‰»2›×°aÃåË— ‚°wïÞŽ;nÛ¶íÚµk>¼{÷îþýû'NœØ´iÓíÛ·;>°~ýú‰»t§¤¤ 8099¹°°099yàÀ)))‚ ôéÓ§wïÞ¦nçáÇýû÷Ÿ?þùóç ÿþûï}ûö=óÌ3óæÍ+KTRcÆŒ1óÒU 8P<˜={öþýû ÓÓÓ'MštäÈÎR–Ï¥OŸ>âÁo¼qìØ1i°Œ¬ûàä,/–Q2ã5jdI¡‡ÌÇwíÚ5~üøÐÐК5kz{{{xxøùùÕ®]û±Ç}zΜ9~øa‰wT­Zµèèè^x!((èÖ­[;wîœ7oÞÝ»w t:Ý„ RRRŒ>ªã5¨dí IDAT¶ºý^½z-^¼ø­·Þ’ÿÆoˆ?–ɼûî»âbretìØ1ót:]|||‰µKF©uSà®RRRÆoóaí1¦M8m`ööðáCÖÏz½¾Ü¾€[²ùæ_pŒRmä4f̘%K–¤§§‹/Å™/^lã(a¥}ŽIY›ð÷ßíùÃ?ôìÙÓè)effüùçŸe½½½>,ë–ŸŸ&íæååUâÂÃZ­öÌ™3²¡Îœ9£\;p×®]æ‡*‘uo… o_ôâ‹/ZíСC- X„^½z:u*77÷äÉ“†í*eºwïþûï¿çææ?~\¹>Q÷îÝ­xsluSæñÊžc*‡”G¸žcr V¯,#Å*3.¤LEÕªU“µìÛ·ÏhÏž={þðÃe™K´eËYKdddxx¸¬ÑÇÇgÑ¢EÒ–¢¢"åµÊ¡Ú´i#klÓ¦Mdd¤¬1))ÉÒˆmÊæ·×¢E ó“¶nÝzÆ F²{÷î¶mÛjµÚ:,]ºTÙ§Y³f{öìi×®V« ]µj•¬Ãùóç-œÎ(›ß8L‹eDcÆŒ‘>—*–ÌØ&>ØZ™ò2O>ù¤¬eÈ!5zæ™g"##W¬XqðàÁœœœ²L!søðaYËË/¿l´g§Nd-%&† daû‘#GÌe'6¿ýJ•*íØ±ÃÌâÍUªTÙ±c‡¿¿¿…Θ1CºKT»ví”}¦M›&ÝWò‰'žuÈÎζp:£l~SàeYYFŠUf\H™ò2o¿ý¶ô© ÑåË—÷ìÙ³jÕªiÓ¦õèÑ#  _¿~»ví*ËDW®\‘µ„……]X·bÅŠ²ž)))æoÙ²¥…í²^”J¬S2¹)ö¸ý-ZlÚ´Éè)F³yóæ&MšXa·nݤ/kÔ¨¡ìÓ½{wéK///iK^^žå3eÛ›ǰI±Œˆ’WQ¦u;tèðÍ7ߌ=úƦúíÛ·oß¾}#GŽŒ‹‹+ËVD‚ X²­’)YYYæ;(s¦ÚËXÐa5;Ý~ÿþýëÕ«—‘‘!k¯[·nÏž=K5‹lo#iíŒAÆ e-ÅÅÅ¥šÅ6¼)(?êÖ­k“çŽÎI¹¶#œŠ­ŠeDbÉ̤I“ -±±±3gά^½zY‚„Í•)/#B¿~ý.]ºôõ×_óÍ7‡¾~ýº©žŸ}öY·nÝF]–é´Z­ÕF˜ïðàÁƒ*Uªm—µíævºýˆˆeþB„ŒŒŒ7Þx#>>ÞòYdk$MÃùùùÉZŒn–TF6¼)(?´Z-ÉkÔbÃb3¹lö¬Õj‡þå—_^»víÎ;Çÿâ‹/fÍš$ëWƹ¬ÎZ"55Õh»rZå­9†=n?>>ÞÔ#?‚ lÞ¼yãÆ6ŸÔÞÜò¦¸1ÛˈXeÆ%Ø /#U­ZµÐÐÐ!C†¼ûî»?ýô“ììÙ³g•—(K*ÌTO(—³½pá‚å»O™>11ÑhûŽ;d-Ê-Ãæ·Ÿšš*­j3jòäÉÒ”­ósË›àÞl^,#b•çW¦¼LŸ>}µålrû)))Êö?þ¸uëÖ-Z´X³fòldddJJJYæµ+·¼)nÏ®Å2"Jfœ™ƒò2}úô9tèP5”§:wîctCeSZ·n}úôéiÓ¦iµZÛÅ(DEEmܸQ¹,Ž( `óæÍS§NµáŒÖ)ãí‹K«ÈÎaĈ¯¿þºáX¹£¹© [Þ·g¿•e¤XeÆ™ýO6¤Q£F—.]²üâk×®8qâôéÓçÏŸ¿|ùò7îÞ½›——§ÓéüüüjԨѴiÓŽ;4¨}ûöæ‡:zôè§Ÿ~úË/¿¤§§?xð@ÿ¿Ï­èMú¨ô!¦ñãÇÛiºÝ»wÿý÷†—•*Uº|ù²©ú8Œ§ÚPÉV–!%%eÚ´iŽ™]\e†’Õ9nÝ_ R®,ãx¬2ã ÈËàhÊbÇcc&g@^‡r†b%3ªc}êÎ;6Yßwîܹ÷ïß½½½—-[fÅ 7oÞdõ_‘—À¡jÔ¨1eÊ”²³dÉC^ÆÓÓÓ&cÂÁÊo^†]±€ºX_@äeÔA^@äeÔA^@äeÔA^@äeÔA^@žÒ—/_öööV+Àù«À}üO^F¯×© @¹ÂsLê / Ï ¨ŒKKKøŒœ–ŸŸŸÚ!\˜çÕ«WÕŽÆi4ñ€Ï·ÄsL.À Œ“"€Û#/ ò2®òÜygD€ò€¼ €:È˸ Šhp3äeœùÊ ò2ê /ãJ(¥À—q.d^(?<ÕànòòòvíÚ¥vîïÑGmÚ´©xìéé¹mÛ6uã)ž~úéÊ•+Ûp@ò2.F£Ñèõzµ£sîÝ»÷Ê+¯¨E¹sàÀµCp©©©¶ÍËð“á!&Êò2ê /ã,,/–¡¬÷Àú2ûª_¿þˆ#ÔŽ°Æ—_~ùçŸÚo|ò2.‰Õ¸àààE‹©`S§NÙ5/ÃsLNG“(‡È˨ƒ¼Œ«¢ÄWG^F}dX(ŸÈ˨ƒ¼Œ £Ð—F^FeäV(·È˨ƒ¼Œk£Ü×E^FMdU(ÏÈ˨ƒ¼ŒË£èE^@äeÔA^ÆåéõzµCÖ / ò2j¢Ô€òÌSíP&dv6‘°ÿ~µ£àï¿ÿ~`` ÚQþäe€püøñÏ>ûLí(8Btt4yªÓh4²–r[vÀsL*+·_y`†Æ*–Œcy ¯¼òŠòò—_~ÙüUC‡U^5lØ0ó·6aÂKB?~¼…7nj"//¯ªU«6hРG“'OÞ³gOAAåol…¼Œ #§ö³zõêºuëÊ¿øâ‹-[¶˜º$!!áË/¿”5Ö«WoõêÕæçÚ²eËßÿm¾Ï½{÷ÌL]Z>ÌÎÎNOO?xð`llì3Ï<Ó¤I“­[·Új|Xˆ¼ FlÚ´IY‘žž®ìŸ––)kÔh4›6mªZµªù¹rrrâââÌ÷Ù¸qcnnnIQ[/##ãÕW_]ºt©ý¦€ë˨O¯×—ª”{{ï½÷žxâ µ£`Ó§O?yò¤ÚQ®ªwïÞS¦LY±b…´1;;{äÈ‘?üðƒôW9N7räÈììlÙS§NíÕ«—%s­Y³fÚ´i¦~=ÔétkÖ¬)eøÖˆŠŠêׯ_ûöí0ò2®‹‡˜öÓªU«®]»ªÛ¨R¥ŠÚ!®méÒ¥ßÿ}JJŠ´ñÀË—/Ÿ9s¦¡eùòå”]ÛªU«%K–X8Ñüñïÿ»ÿþFÏ~÷Ýw—.]*EÜÖ*..^³fÍúõë0žc¸½ì1¯¯¯ï–-[¼¼¼dísæÌ9wîœx|öìÙ¨¨(Yooï„„___ËçŠ5uêã?¶|S oTqqqvvöo¿ý6þ|e„(û\°y§@ñ 8­víÚÅÄÄÈ ^}õÕÂÂÂÂÂÂáÇ+73Љ‰i×®]©&úî»ï._¾¬lÿã?öíÛWª¡Ìóðð¨\¹rûöí£££×®]+;{ãÆ ÎóÈ˸$ò8àHo½õV—.]dgΜ‰ŠŠš3gΙ3gd§ºté2kÖ,  t:Ñ›V­Zeø5°cÇŽ¥ˆÛƒ ’µ<|øÐü%÷îÝ[¶lY×®]kÕªåããS§N®]»¾ûî»7oÞ;”e{rSƒœ8qb̘17Öjµõë×ê©§víÚ%ý5Y¯×ïÙ³gÀ€ 6ôññ©]»ösÏ=·}ûv+bpÖ— 8zôèÝ»wÕŽÂ)èt:Ãq~~þž={T ÆyuèÐAí(àÎ<<<âããÛ¶mûÏ?ÿHÛ?øàeçJ•*mÞ¼ÙÃÃÒJˆÈÈÈ×^{M<Þ¸qã‚ ´Z­álNNΦM›¤;VÚøÍPþá¿N:fúoÛ¶-22òÎ;†–7nܸqãСCK–,Y¶lÙ¸qãlž”^¯Ÿ={ö²eË ¿edddddìÝ»wРA Z­öï¿ÿ5jÔ®]» Weff&%%%%% 8pÛ¶mÞÞÞv Ï:äeœ…å»2•Ãb™7ß|óðáÃjGát²²²žyæµ£p ƒ úúë¯ÕŽnî‘GY±bŘ1c¤Ò?¬\¹288Øò‘‡ 2sæÌ¬¬,AîÞ½»uëÖ×_ÝpvóæÍ†mžjÖ¬9dÈ#FX¿)ÊB’Î;›ê;eÊS¿–fgg?>33Ó†áI½ùæ›Ë—/7z*11qìØ±Ÿ~úiŸ>}~ýõW£}vìØ1cÆ 3‹ø¨‚ç˜.@ùTKÙŸ”)­Ñ£G8Ð|ŸŽ5ªTÃúøøHkLV­Z%=+Í#Œ7Î&åz½þþýû¿ýöÛܹs'Mš$;;a£WýüóÏÓ¦M+±V`Þ¼yeÐ(SIÑÖ­[{ôèa*)#Z³fÍÅ‹mW™—q"å°\ËúõëkÕªeêlPPu;LOœ8±B… âñï¿ÿ~äÈñøÀÉÉÉâ±§§çĉ­ÜÀÃòðð¨R¥Êc=¶páBÙŠÅ“'OV®¤#‚^¯Ÿ0aBqq±´±råÊË—/OKK+((¸zõê|P¹rå²DXF%>á¥Óéâã㌅È˸r7 ¢ÀÀÀ•+Wš:»bÅŠÀÀ@+†­_¿þ€ / 52Òb™Ô«WÏŠÁ-äíí³bÅ £g“’’Ο?/ë¿ÿþéӧׯ_ßÛÛ»Aƒ3fÌØ¿¿]péիשS§rssOž<b´O÷îÝÿý÷ÜÜÜãÇ7oÞ\vÖÙVÉ`}¸žÑ£Gûûû«ÔtûöímÛ¶©Ê©o¿ýÖÔ©¤¤¤!C†X7lDDDbb¢xüõ×_ß¼y³°°Pº~mDD„u#["((())é±Ç3Õá›o¾‘µLœ8144TÖ:qâD3©«² Ù½{· :tXºtéóÏ?/ëÓ¬Y³={öˆ '‡††®ZµªwïÞÒ²ì’êÈË8ËWÿ-Ï-ZT»vmµ£€šN:E^ªøæ›oLݼyóK/½¤LX¢gÏž!!!)))‚ ®_¿>//ÏðÜP«V­zôèa]Ì–ÈÌÌìÙ³çÎ;MÍòË/¿ÈZLe † b§¼ÌŒ3ĤŒ¨]»vÊ>Ó¦M“îfõÄOÈ:Qv<ÇäJxˆ @¹¥/‰b¸{÷®©5q &L˜p÷î]ëÆ—VĬ[·îÓO?5zÊNîß¿ÿÜsÏ™Z÷Ʋ–V­Zíiª½ìºuë&}Y£F eŸîÝ»K_úûû{yyI[òòòìšõÈË`‘É“'—¸ tffæ”)S¬ÿµ×^3¬›{íÚ5qçlAªT©b“½±ÅV~~þ_ýµyóæöíÛË:äää˜JÝ¿_ÖR©R%£=+V¬XöP’-¯#­1hذ¡¬E¶V±³!/ãt(Š'´sçέ[·Ê7nܨQ#Yã–-[¤ëÂX®bÅŠ#GŽT¶9҆ɟGydøðáG}ê©§dg÷ïßÿÓO?)¯Rn´”““ctüØ$N%___éK£Ë€øùùÉZt:â± ò2.Ãò5âÆljG–ºsçŽrjF³qãÆ¸¸8å/8'N´îi¦ˆˆÙhÆN1y{{'$$(·ý^¶l™²s:ud-¦Ð=wîœMÂ+'ÈËP‚ÈÈÈ›7oʧL™òä“O>ùä““'O–ÊÌÌŒŒŒ´b¢æÍ›ËöêÓ§O³fͬÊÕªU‹ŽŽ–5îÙ³G¹ÊLxx¸¬ÅTMЗ_~i£èÊò2ÎÈJcDsçÎŽŽ.,,Tž*,,ŒŽŽž;w®ã£K$&&*÷mÒ¤ÉâÅ‹Åã%K–4nÜXÖáóÏ?ß±c‡ÓÉ:Öåw,7räÈêÕ«K[ôzýG}$ë¦ÜdjåÊ•Êô͉'Ö­[gó Ýy×PâÊRNîúõë111:t8v옴ýرc:tˆ‰‰¹~ýºZ±(W4ö¿}ûöo¼!ÄÃÃ#..ΰ”‰ŸŸŸÑ§™Þxã;wî”6ÂçŸ^ºÏÔsÏ=WÚJE«ÕŽ?^ÖïÞ=iËÓO?ݲeKi˃ºvíºnݺëׯ¥§§/_¾¼wïÞFÿ$SÈËÀ6lØpèÐ!__ßððð3fˆÓ§O÷õõ=tèІ ÔŒŠˆˆ¸uë–¬qÊ”)]ºt‘¶tíÚU¹ ÓÍ›7°¿uÙEDDxzzJ[rrr>ùäi‹F£Y·n]… ¤·nÝš8qbݺu½½½4h0sæLå¶M0¼Œ“R>¹çê:wî|üøñõë×0ÿüóÏׯ_üøñÎ;«ÀV,ù ¤ù¿IšÇò^yååå/¿ü²ù«†ª¼jذa¥»€ÛÙ¾}»rµ”¦M›ž`’Z²dIÓ¦Me_|ñÅ×_m¯øl¤nݺ/½ô’¬166öáÇҖ®]»~ôÑG%þ»üÎ;ïØ8>·F^Ž£Ñh<<þçKÎÃãT?jP¢Õ«W×­[WÖøÅ_lÙ²ÅÔ% ÊŸ¹ëÕ«·zõjÛǘV–Œ${ÈÊÊš4i’¬Q|‚I«Õ*ûkµÚ7Ê~ëaÒ¤I·oß¶W”62uêTYKzzº2£¹eËÙz4UªTùä“OfÍš%k÷ññ±Uœî‡¼ äèÑ£;v7n܈#Ä–áÇ7®cÇŽGU76€; Ø´i“òÚˆˆˆôôteÿ´´4åzŠfÓ¦MU«VµW”W‘••%kœ6mš™’ÿ.]º(·nÝRæwœÍO<ѱcGY£rõ_A^yå•?þøãÝwß ¯Q£†——WPPPçΗ,YráÂ…±cÇ^½zUvIPP½âv}äeàãÇÏËËûå—_–-[&6¾ÿþûGŽÉËË Ÿ0a‚ºÜIïÞ½•Oøggg9R¶é¡N§9rdvv¶¬óÔ©S{õêeß(fél5Ž%Äk¿üòKå©>øÀüŒË—/W^%-Ì,û­Y8Bi':zô¨¬ÿ/¿üb´g@@À¬Y³>|ëÖ­ÂÂÂ7n:tèÿþïÿjÕª%ÂW_}%ë/[0ØÂØÙGEäeà5kÖœ7oÞo¿ý*m ;yòä¼yójÖ¬©Vl·´téÒYã–/_.mY¾|ùÁƒeÝZµjµdÉ»†€‹êիב#GÌt8tèrñAƒÙ3(׿Yr Ì.\hê”··wtt´c8”Z’òõõݲeKXXXQQ‘´}Μ9ýúõkݺµ gÏžŠŠ’]èííàëëë¸Xp?þøã?þøè£¾òÊ+;wnÞ¼y@@ÀÇoß¾}úôéíÛ·'$$K/ ~õÕWÕ Øù‘—î©]»v111o¿ý¶´±  àÕW_=qâ„ Ç/((]Ó®];ÇE € :sæÌ™3g,ééãã³aÃ???{‡äºxŽ *pÂ'úné­·ÞêÒ¥‹¬ñÌ™3QQQsæÌQþ@Ù¥KåJÙÙÙŸ}öÙk¯½Ö¾}ûÀÀ@ooo//¯jÕª‰<\±bÅÅ‹Í\þ×_-]ºôé§ŸnÔ¨‘¿¿… üüüyä‘§žzjñâÅþù§™kMí×sâĉ1cÆ4nÜX«ÕÖ¯_ÿ©§žÚµk—ô_[½^¿gÏž4lØÐÇǧvíÚÏ=÷ÜöíÛ­˜+++ëý÷ßòÉ'ëÖ­ëããS«V­.]º,]ºôÎ;%¾uvºýÌÌÌùó燆†V®\ÙÓÓ³V­ZÏ=÷\bb¢%ñ‚pûöíuëÖ :4$$¤jÕªžžž¾¾¾ 4èׯß{ï½wíÚ5{‡df÷%vhàÒvïÞݳgOµqnÊõoà ÂÃÃ¥Sff¦Ú©I¶Úùõë×ÕŽ*ûý÷ߥ_ƒ R;"÷$Ýâ188Ø®sÍŸ?_ú™ÆÇÇÛu:(Mž]|'í’™ÙŽ_Z²ßˆJü:lB–ÓìÚµ«ÚÁ6,üfåïï?qâĬ¬,µãµ§Ÿ~Zzk©©©¶ŸzàÎyä‘+VÈu:N§“5®\¹288ØÌP.\hß¾ý{ï½—““cE$‡nÛ¶­¸µ‡™nz½þ«¯¾jÛ¶­ùU Þ|óÍwß}Wy;‚ $&&Ž;6//¯OŸ>»ví2zùŽ;f̘aÉD‚ ,Z´hôèÑ÷îÝ3zöîÝ»#FŒP¾Û";Ýþ¼yóÆŽûàÁ£gÍ@?¾}ûö+V¬P>Î&UTTôá‡vêÔ)33ÓÞ!€ó»|ùògŸ}6yòäž={6iÒD¬ ôôô hذa÷îÝ'Ož¼mÛ¶›7o®Y³&00Píx]mÓ<°êe¤lX/sïÞ½>ø wïÞµk×VþqLìÃÿ&f8É›C½ŒcP/S®Ø¯^¦DŽS†›ÓëõúšcàÀæGHOO ²ú¾RRR”e;æU®\Yù¹R êØ±£ù.\PÞ²s‰£&L¸{÷®©³W®\‘µ”¸˜®ÔÕ«We--[¶4ÚSÙž––f~ðnݺI_Ö¨QCÙ§{÷îÒ—þþþ^^^Ò–¼¼<ó³˜ ÏT»ôÁa»ÞþsÏ='kQ>’¦¼;å¦1F¹ÝuJJŠ=B”[äeP^Ü¿_ÖR·n]U"qi¬>ÀMž<¹ÄõÅ233§L™bêlnn®¬¥jÕª– ü%\ùÛ¾©ö÷ä®W¯žô¥r·AA6l(k)..6?¬Q–‡--À±ëí7iÒDÖbôQ~ –ËÊʲGH€r‹¼ Ê eAº0À]íܹS¹:LãÆ5j$kܲeË®]»Œâçç'k)Õs(ÒgˆD<0ÚSÙîïïo~pÙZ¹FÙG¿l¿$ Yv•*U Çv½}åà*T0‰Ñ«,Wâ~ŽÖ…(·ø½nÎP‡l攩º}ûöºuë†RµjUOOO__ß ôë×ï½÷Þ3µkøqã”ÅÒAAA²þiii5kÖTö7nœ©1Üˉ'ƌӸqc­V[¿~ý§žzj×®]Òü”^¯ß³gÏ€6lèããS»víçž{nûöífnÖÔ\6¿)°‰;wîLœ8QÖ¨Ñh6nܧüæ?qâD£O3ËZJÜ|ZJY®’ššj´§r9XÙJ%ê²<ì   ñÞ¾ò@-žj‹?~¼ZµjjG¡å#HNâþýûóæÍ[»v­ìOgÅÅÅééééééûöí‹ŠŠŠŒŒ\´h‘ì¯g±±±§Núõ×_¥7oÞ|饗~úé'oooAòóó ¤¬— ‹5˜^¯Ÿ={ö²eË ÍÈÈÈÈÈØ»wï Aƒ´Zíßÿ=jÔ(é_†333“’’’’’¸mÛ61†R±ëM€"##oÞ¼)kœ2eÊ“O>)ÂäÉ“e›ggffFFF*ëk:uêtîÜ9iKllì3ÏZ­öÌ™3–„-Vhªrû–tûñÇež~úéÂÂB££‰²³³7lØZÚ¹JÕM¹ÂNZZš™¨,$ÛêòåËe(‘©²qÀÕ¥¦¦Úöò2NмŒΗIOO—Vh[¢mÛ¶†ß öïßoô™ó¸¸¸Õ«W+Û+T¨ðã?Z}%n#âááqáÂKÞOe›Ü”yäeƒ¼L¹âüyKHGÈÊʪY³¦¬ƒ‡‡Çþói·ŸþYù4S­Zµnß¾- ©GÊ{õêµcÇŽ7nýóÏ?ÇŠŠK\¥×êt:e6¼zõê±±±ééé………×®][½zuõêÕe}¬x‡í×G„jÕª}üñÇÒ°•éøfÍš«uûv“íc%B«V­Ö®]›’’òàÁƒâââÜÜÜË—/ïÛ·oñâÅ}úô1”‘Ú/$½^¯¬Ù>|øÕ«W¥ï§ÈË@äeà®ÈË”äeÌ(U^Æ@9NYzöîÝ[ÖÇ××wΜ9ÉÉÉùùùÙÙÙ{öìyì±Çd}¦M›¦êÝwßUÎèëëkô1¢÷ßß’€mbΜ9V¿e¿)óÈË8y™rÅýò2C† Qv0ú}xêÔ©ÊžC‡•u»zõª2Ñca0z½þܹs¦6!2¥bÅŠÉÉÉV¼Ãöëc ¨xûv»|ù²ÑÏÙ/$½^?räÈÒ` ò2Py¸+ò2åy3TÏËüüóϲÞÞÞ‡–uËÏÏ “vóòòÊÈÈPÎøâ‹/ZrãÊ_L,B¯^½N:•››{òäÉ£}ºwïþûï¿çææ?~¼yóæÊ³eyËxSæ‘—q ò2力åe¾úê+åÙ¦M›æææ*çÊÍÍmÚ´©²ÿöíÛe=“““-‚U9ÑÏ?ÿ`áå?ÿü³uï°ýú¼óÎ;%FþÑG)‡räí[ÞíìÙ³Ê5‰Kd×:TÚ,A^ª /weó¼ ëþ:©þýû7iÒDí(œÅÞ½{oݺ¥vÿÏ–-[d-‘‘‘ÊTšÏ¢E‹úôéch)**Ú²eˬY³d=ãââ’““•›PHµnÝzÆ F²{÷nA:tè°téÒçŸ^Ö§Y³f{öìW# ]µj•¬È|<%²ùM€…²²²&Mš$kôððˆ‹‹3º;²V«Ý¸qc·nÝd[GOš4©[·nÒ’Šßÿ=&&fíÚµ¹¹¹¥ ¬k×®§OŸž>}º¸~©næ…^øè£œj'&QTTTݺugΜitÄ€€€•+W>ÜèµNxû­[·>}útttôºuëòòòì=%:wîmæ-\…V«}íµ×ÔŽ¢\8|øð¥K—4hн{wµc)ªT©bãm›æì¡sçÎÒ/ZÕëeZ·n-ëpüøq£C=xð@Ö³oß¾F{¦¦¦VªTÉÔÿ§UªTùã?,øÓO?•vHKKSöY½zµùPµZ­oŽ­nÊ<êeƒz™rÅêe¬<5cÆ ó3NŸ>]yÕàÁƒv¾wïÞÆ‡þè£V«V­B… žžžU«VmݺõСC?üðC£Kt\¼xqÑ¢Eýúõkذ¡V«Õh4¾¾¾ 4èÛ·ï;ï¼cþZKÞa{÷¹uëÖ{ï½×µk×Úµk{yyÕ¨Q#<<|É’%ÊEyT¹}Ë»ܽ{Wü@Û¶m[­Z5OOO­V[½zõæÍ›wëÖm̘1K–,IJJRþb~ùå—×_=$$¤R¥JÊõÌß‹QÔËnìÏ?ÿôôôA£Ñœ>}Zíp` ò2pΖ—)íòRõêÕ35¯Ñ}CÄï°ß|óM©nM–ï0ú7À””Ù8^^^æo¼TocoÊ<ò2ŽA^¦\±U^ßóá´ÈËnlÔ¨Q†ÿ»_|ñEµÃ5<äÿÞ(‰µëYYY¦Nõïß¿^½zÊöºuëÊ~œ*‘lñ&åõÅÅÅ¥šÅ6¼)R—.]JHH0¼LLL}zQQ‘™Kîß¿¿qãÆ°°0å©ÜÜÜÁƒçä䘟ÔÂnNÂ-o pF‹eD”̸ò2@©õèÑ£[·nÒ–={ö´oß~ݺu©©©999:.//ïÊ•+ßÿý’%Kúöí[£F×_ýĉÊÑ"""”5#-Z´hÓ¦¬Ñ’ 'á–78 £Å2"Jf\ާÚ.iÓ¦M¡¡¡·oß6´$''Oœ8ÑŠq”+°hµÚ¯¾úÊÓÓóñÇ—Õ’ÄÇÇwïÞ}ôèÑVEí nySP}ö :e±Ldddll¬á¥X2óè£:<4XƒzÀÁÁÁPn5]*)))Êö?þ¸uëÖ-Z´X³fòldddJJJYæµ+·¼)ÀyÈŠeÚµk·råÊ.]ºZ(™q-äe+µnÝúôéÓÓ¦M³nÛlqi•ÜÜ\Yûˆ#^ýuñ²ŠÄÔ…ÎÀ-o pÊb™yóæi4šèèhi#«Ì¸ò2€õªT©òá‡^»vmãÆÃ‡oÛ¶mµjÕ<===<<´ZmõêÕ›7oÞ­[·1cÆ,Y²$))éúõë†k'Mš¤¬Q–“ÄÆÆ†„„Ⱥ¥¤¤8çš,nyS€óP˼ð ‚ ôêÕ‹’Åú2(/,H¾´ÓŒ=º´Ë£]„EÉÏϯĤ- Ø1}lxSdLˈÇÑÑѽ{÷6œb•WA½ .ÀT±Œˆ’E^gg¾XFÄ*3®ˆ¼ ÎÎ|±Œˆ’WD^§fI±Œˆ’—C^§fI±Œˆ’—Ã~L¸!ñh–o0wåÊéËY³f-Y²ÄæQPŹsç¤/ïß¿¯V$¬cy±Œˆ™\ y \½zUú’Íì7F^p9–ˈĒ™C‡‰/Å’™íÛ·Û7JX‹ç˜psçÎŽŽ.,,Tž*,,ŒŽŽž;w®ã£eTÚb«Ì¸ò2¸ƒëׯÇÄÄtèÐáØ±cÒöcÇŽuèÐ!&&æúõëjŬVÚb«Ì¸ò2¸ƒ 6:tÈ××7<<|ÆŒbãôéÓÃÃÃ}}}:´aÃu#¥e]±Œˆ’WÁú2¸‰Î;?~<..nΜ9bË矾~ýúÑ£G{x”ð—˜–-[JVû׿þÕ®];;Æ À/^,]4ªzõê* T¬+–±ÊŒ« /€ûÐh4²Œ‡‡‡%U«Y³¦ôe÷îÝŸ~úi@%6læe´Z­ŠÁ°\YŠeDlÌäxŽ 7qôèÑŽ;Ž7nĈbËðáÃÇ×±cÇ£Gª(­²ˈXeÆ%—ÀŒ?><<}éÒ%µ£ø{÷î-ZT«V-uƒ)‡øgÇ /PßСC‡ªvåÚ”)S>þøcµ£ø×®]êÖ­«n$öÃsLÀŠü¸Ü?èNÍò0Ø2€szðàALLL«V­|||üýý;wîlf»„ÑF¯“Nš””®Õj«T©2`À€?ÿüÓ|ó톖ääänݺiµÚàààU«V ‚°iÓ¦-Zøøø4mÚtÓ¦MÊY~ûí·Ñ£G7jÔÈÛÛ»R¥JíÛ·_°`Áýû÷-¹‹3gμð >>>aaaÛ·o7Ú³´oø‘#G^{í51¤Š+>ýôÓGµäB è81þw†Š¤E ÁÁÁj‡ûšûì¹sçòóóÏœ9Ó§OŸèèh£ý¥?£mÔ«´íŒ3Ö®]›“““’’Ò¢E A®]»¶zõê²K„G}T¼äêÕ«^^^âû™——'„ bçO>ùÄÌ]T¯^ýúõ륽w3}.\¸ ~£ð÷÷¿pá‚ì,õ2΃zÀQ/㨗v±uëVñ 22RL(ˆ|}}§L™¢RPVzå•W Ç;w.^¼Xö‘ëÕ«'üïÓLb‹áçlþTk×®-**!**Jö8ÒØ±cÅÙz12Ó§O¯]»vÙc6X·nN§aÊ”)Ò\›è_ÿú— çÀ]±O6°‹cÇŽ‰]»v•êÞ½»mçÒÛùù¦V­ZŽŃ¿ÿþ»ì#ûûû ‚àçç'kÿ+‚aAßýû÷‹²ÚABBBăS§N™™ëé§Ÿ.{ÀR^xáÛŽ @ùA^pRÖí9¢ÑhìýË X(##Cr䈡Ѱ_x?^¼Á·ß~[YƒsïÞ½#FØd"+BZ¹r¥aYbƒ?üÐÁñàŠÈËnHõßL@„Þ½{÷êÕK„³gÏ4(%%¥°°ðìÙ³Ï?ÿü¥K—ÔŽÎ.úõë'Ì™3çÂ… yyyëׯÿòË/m2xóæÍßzë-A.^¼Ø©S§¯¿þúîÝ»çÎ[°`AÓ¦Ml2‘!=xðàÉ'Ÿüì³Ïnß¾ŸŸêÔ©1cÆÌ˜1ÃÁñàŠØ ØK|||Ïž=/\¸”””””dh_¸paTT”ŠÙIddäÚµkoÞ¼™’’"n­ÑhâããmUɲhÑ¢üüü>ú(55õ¥—^’žªQ£ÆçŸ^–ÁMåôeí²¥… !ݸqcÔ¨QÒ«/^\–x('¨—œ ¥.ÜI:uNœ81þü–-[zyyiµÚN:}õÕWsæÌQ;4» \õ2€{Òh4æwKǨT©Rttttt´¬½ÄïQ¥ú&f§ïx¦†53]‹-¤•A¦ú[×" 5€’…oNYÞÃÒ† ¨—œ‹­~µ )μ €:È˨ƒ¼ àtÊþ1€K / ò2ê`ŸlÀéõzFcõµ¶ åÁW_}uÿþ}µ£@éäååŽ>|¸aÃ|}}É˄ٳg_ºtIí(`½Â±cǪJ§fÍš<Ç ò2€“²îq$bB^@¬/[´h‘Ú!îiÁ‚†—äeçUÚ]™xˆ ¶2{öl«w`ÆÒ¥K¥yžcPyu—œšå&ñ¸ò2ê /ìBc‚ÚqÙ†…·ã*w••õæ›o¶jÕÊßßßUb¶•òv¿gÃ~L€³³dW&b€Ò2|kå[èÍ›7ÃÂÂÒÒÒÔ€òˆzüìÝy\Gþ7ðnE‘(ÊDPhÔâ…FÀ#š5/ûì3jPfÆŒÅÅÅ÷-ÃÌhŒ0_@cqØBß~ûJ|þùçíÛ·7ãkJo%4F˜/ÐðdÄJÐEAA•èØ±£¸‘4C—hÖjjj¨„™>þ÷hÜø'Ë<~ü899yÕªUï¼óN‡ðà=4µµµÛ¶m6l˜³³³•••³³óðá÷oß^WW§î”ªªªU«Vy{{[YYÙÛÛ<øçŸ&z]sDÛK=zÔÚÚšªÁÓÓóÑ£Gº‡§•]àïO—…œrõêÕñãÇ;99YZZº¹¹EDD”••ñDøèÑ£U«V 0 M›6:t˜9sæ7´èO`½•šÞ–ºtš‘zh$´øÆ>è‚ù—s©T*v8`XáááÌß)))zoBø¯ §OŸöë×O寯>{öŒ{JIII÷îݹå¿ûî;uíjñ+Q—ßÃÌTéý IDATÌ£GZYYQù]»v-**Òèt½PÙþ®ñÓà)?ÿü³¥¥%«þž={Êår•áÅÇÇ·hÑ‚’¥¥å?ü iGxã)âÅm©u÷õ. €Ùtnn®qÚ…FÇÝÝy«(•J±#hšZ¶lIÿ 9;;c¾ @SöÊ+¯üóŸÿ\¹råÑ£G‹ŠŠÄ@©S§^¹r…2jÔ¨¬¬,¹\ž••5jÔ(BHZZÚŒ3¸§Ìš5‹šIñæ›o^½zU.—ߺuk̘1ü±c~¢Òº’_ýu„ Ô£C]»vMMMíСƒþbJe_XŸõØÜ¬Y³BBBòòòärù‰'œ !ׯ_çÞ²eKHHHuuµMTTÔÍ›7årù³gÏ’““ ´páBM;Âí‹ÝÔâ¶Ô®ûÐìè4ÈF¤ûÏ/~ðA#˜/Ó¬˜Î|™'NPż½½ /—˽½½©C§NbžröìY*ßÃ㪪ŠÎW(>>>êÚÕñW¢ÀÓYÅ~ýõW3eô¤@ÚõEÈ!:ÿÝwßeæoÛ¶Ê÷÷÷g’——gccC177g½ÑõõõJ¥rÙ²e:vD‹³´¸-ëµê¾`¾ „ù2Æù2U=ö]€f`ïÞ½T"""‚ „X[[ÓƒG{öìaž²{÷n*±páBæÃ/VVV¬ñ&q¥¤¤Œ?žš)ãááqæÌQfʈbþüùÌ—#GޤÙÙÙ¬’qqqr¹œ2gÎÖh!D"‘|þùç S--nK&áÝ€fÈBìþ+==J 2„uˆÎ¡'¡]ºt‰Jøûû³N•J¥¬SÜÜÜô¡vèABÈ®]»„ Ê4%ŽŽŽÌ—ÿ÷§Á—/_²JÞ½{—JôèÑà ¤ÅmÉ$¼ûÐ a\ 1aÎh’ªªª¨„­­-ëSYY)ðj¥S@ÊB–/_Þd&ÂÄ\¯Šýæ2Ÿ½·%“ðî@3„ÿ$À„ØÙÙQ ™LÆ:DçØÛÛkzŠ)èÔ©“¹¹9!äôéÓëÖ­;½Q*•z¬~s_¼x¡Çju¤Åm Ð$I8ÄŽèÿüý÷ß111ÇïСƒÊ M6xŒË€1üôC?à“——Ç:Dç°¢$ÉÍÍUwŠèÜÝÝÓÒÒ–.]J½\¶lµ±w#B?}SWWÇÌöì™[éÚµ+•0©ë£Åm Ðlq¿ú !¤á1L™2…{úäÉ“ùÏ æžÅ\ëJeäsçÎRHHˆÀŽ«kˆfiiÙºuëÎ;ûûû‡‡‡;vL¡P¿8MÒÅ‹_{íµÈÈÈ“'O>~ü¸Ñ]ŒË€1´jÕŠJ<þœ§˜¯¯/•8wîëC—¡ôïߟJœ9sFÝ)¢;s挫«ë§Ÿ~úüƒ¢P(¦M›Ö¸>8Ò‹¤3ó¯^½ªÇVFŒA%öíÛ§é¹ôӾ̧ÆôB‹ÛD´iÓ&îPéxöMÛ½{÷ÁƒY™®®®›6mâokÏž=ÿý7™òòrž¦5U[[[QQQPPššºaÆ·ß~ÛÃÃÞ6®zòäÉØ±cYÿ75.—h¬*++7mÚD?ñ`âºwïN%èí“T¢ÿžËüv­P(6lØ@¥Y;õLŸ>J¬_¿¾ººšÎ¯©©‰Õ9pý k·´´Ü½{7µ"IffæòåËùÏÒâ¯Ä†ãííM%è-“(7nÔc+óæÍ³¶¶&„lݺõìÙ³ÜkÖ¬Qw.½ïxff¦C"ZÝ– "GGÇ;vpy†††pËçç燅…±2%ÉŽ;Z·nÍßVUUUBB™ü‘ùß“ÞN›6í«¯¾2\¦lÆ ú¹)‚zh<¸ëþ ??ø æB•R©TìpÀ°ÂÃÙ¿[RRRôÞÄæÍ›©Ê»wï~ëÖ-uÅ”J%½ÝõèÑ£oܸ¡P(nܸ1jÔ(*søðáJ¥’uÖ[o½E}óÍ7¯^½ªP(rrrÆŒCOÒáþêÓñW¢ÀÓU£G‹$ÉéÓ§uoEG[ùþûï©bÎÎÎÿïÿý?…B‘ŸŸ?þü6mÚhq‘yÑ=666ÑÑÑ·nÝR(ååå¿ÿþûèÑ£yâüàƒ¨ûôésùòe¹\. ÷‚º¯Ým©]÷ ! €0äææ§]htÜÝÝ™· ÷®‚hEH=šF²páBn%þþþ¬~ÕÕÕ :”[rÑ¢E»ÖµkWžkUWWǺ° vJÐ%ã077ÿóÏ?5½JšØcêÓ§+¤3f\}ûö-))ážR\\LÏæ I$’;wªkHeý<áiZžu3S©TÒ—¢S§Nåååê.šºjõK`+2™ÌÇLJÕ_KKË£GjÔ}!nß¾»ó!ÄÜÜü»ï¾SáÇÛ·oßàû"ä}ä¦Åm©u÷õã2 P—‘ÉdÜÿ!ß~û-³ØÚµk¹e|||d2™ð®ýöÛoêÂHNNÖ¨ãZ_CBÈ| éUÒ”À.“ƒƒ+¤üü|•%M'xÖ¸ žcc077ÿõ×_¿ûî»Þ½{«üÊMsvv¾|ùr\\œ¿¿¿“““………“““¿¿ÿ–-[ÒÒÒÚµkÇ=¥}ûöW®\Y¹r¥§§§………Ý›o¾yìØ±iÓ¦Qø[42‰D’жm[BHAAÁ‚ ÄŽH›ÔÔÔ ¸ººRoÊøñã¯\¹2f̽·5{öìÜÜÜU«Vùùù999YZZº¸¸L:5##cñâÅêÎrss»~ýú'Ÿ|Ò§Oj÷+}Ñâ¶Н©†hׯÆfÏž=–––¬üåË—Ó+‹geeEEE± XYYíÞ½ÛÆÆFx[ô#\zy¢–¾PuuuþùçÊ•+¹r×Yk¸ëÖ©[ˆÝ87ž$¦ 4ÈÚÚšµ–aQQý8}ƒè‡lñƒB˜››ÓÛßJ¥RîN7ДDDD0?8¦¤¤PŒ4vOŸ>¥¾0wêÔ)??_ìpÄxúôiúenn®T*/0]÷ïß§_*•J-ַ➢Ý'O}Õóå—_.[¶Œ•ùúë¯gddBúöíË]‘êË/¿üøã…„D333»wïÞ«¯¾ÊÊ¿{÷®§§'Oä* ìûÎ;ßÿ}fŽ]ee¥º¶ôB_ï‹™`H jÕªÕ‹/¨4æË42_}õ÷×=¨sýúu*Ñ»woq#Q,]ºÔÏÏ•™™™µ|ùrî ŒŸŸß’%KVNoĦT*UîÜ´qãFzŒ _¿~Ä-À¸qãX9µµµü§”——¯]»vðàÁíÛ··¶¶îСÃàÁƒ¿þúë'OžPîäÍO]%³gÏvww·µµíÔ©Ó¨Q£~ùå—úÿ}´óرccÇŽuss³¶¶~å•WÆŒsøðaþV  ÁÀ(|𷀋‹KQQ³X~~¾³³3·$½Æ™6tz( ŒnðàÁÌa¬/†ƒõeš#¬/#Љ'R=Ú±c‡Ø±ˆëË€@Z_F»`ôøÕõÁƒÌå<(fffÌ:”–-[òü€pCúé§Ÿèt›6mª««™å+++™KŸìÚµK`§«¨¨`{õÕWy®Ã¾}û¨Gh¹âãã…4-$6n¥R¹téRî'„Œ7ŽºnåååcÇŽU^PPB¡h°u/—˹KBú÷ïO·.“ÉÞxã n___‹ÍS°¾ @óÒàP±ˆ±èQ¯^½¾üòËŒŒŒ/^¼|ùòöíÛ!!!‡"„øøøÐû@sóꫯþðìL¥RI?¯M[¿~½FOùMš4‰^^ª¬¬lï޽̣»ví¢‡Nœ'Mš¤QØ âN$4hºÂ6l˜:uªºý¤+**BBBÖ¬Y£Ïø>ú裯¿þš{Á !‰‰‰sæÌ‘ÉdÇÿå—_Tžž””ij¸˜¾X[[9rÄÉɉ•ùòezo¯ \½z•U ]»vGޱ¶¶Ö¾má#:` 4/ƒ_ 5Ì—iVšÀ|u¿åÜÝÝïÞ½+vtbÂ|H¬ý˜Ö£[çꃂ‚øÃ Ò´kõõõÌÅkz÷îÍ,ÏÜÃnùòåÂ;ÅSL©TVTT\½z5**Š;pþüy•ž={Vë¥Ð…ÇÆS¦A >äeff–““£]+òäI•×*!!Aå£jæææ§OŸVyÙy`¾ @óÒà/±Ð?ÿüséÒ¥ýû÷wtt477wttôóóûöÛo¯_¿îáá!vt ²øøøöíÛ«;êââ¯EµóæÍ£¿Æÿõ×_iiiTúÌ™3ÙÙÙTÚÂÂbÞ¼yZTN£§º›™™988¼ñÆŸ}ö™B¡`– 箤C©¯¯Ÿ;wn]]3³U«V111ùùù …"//ï»ï¾kÕª•.êèÊ•+ü”J%ó©1¢Éh‹F‘~ñÅÜüùóç/Z´ˆ›ÿõ×_ûûûkÔÆe )èÝ»÷W_}uéÒ¥²²²ÚÚÚ²²²óçÏGFFÚÙÙ‰ˆÏÉÉiýúõêŽþðÃÜX„èÔ©sUzÃlæÎÙcÇŽuuuÕ¢r¬¬¬V­ZÅ}V‹’œœ|ûömVù“'O~øá‡:u²²²êܹóâÅ‹Ožw:¸ 4Y?ÿüóÞ½{Y™îîî]ºtaeîÙ³‡¹.Œpööö3gÎäæÏœ9SƒÖÖÖ¯¾úêôéÓ/_¾}úÐ/;f¸…Ó¡ ðòòêÕ«—ØQ[hhhII +3""ÂÏÏ™3xðàˆˆˆ~ø™ùäÉ“ÐÐPî\SºvíÚÚÚZ:§ªªjëÖ­K–,¡s$É–-[üýý™Û•””Ì›7»òìØ±ƒ»¬Œ­­í¡C‡,,,úôéÚ óÓO? :tÖ¬Y:µÚàfò`Lééé:½ÿ+22RëßHffÿS)•Jõø»Lëû””±#½aíçš››+vD`¢XOô(•J-*á~Ñ.í>ùЧ:tˆ{´k×®ÕÕÕܶª««»víÊ-øðaývM` 54yòdVáN:½|ù’U,66Vå.HLkÖ¬i°i!±³ŒF—«Á’ÙÙÙÜm¡!Û¶m£ üôÓOÜ£-Z´ÈÎÎVרJÌ­Êñ˜!O(¬ÁpA€É*--å>]B=ÁdkkË-okkûã?2ÿ"EY°`ÁÓ§O ¥ž,\¸•SPPpäÈVfXXØž={XëÑÐX³l(ÖÖÖúŠÓôQëÅTWW³òg̘ñ¯ý‹Ns§Æ¨;Q8ŒË@ÓZZZÊÊ\´hÑ AƒÔâççÇà())ÑËê!Õ¿ÿ~ýú±2¹«ÿB¦L™r÷îݯ¿þzàÀíÚµ³´´tqq4hЗ_~™““3gΜ¼¼<Ö)...†ŠÛô,X°àæÍ›¬L//¯Í›73s6lØàííÍ*vóæM]n¬/ 2zZ‡ÊYÖÍë:˜Ú´¼_<ôõs¡K=Úí÷ÃS@÷® ¬AÓ†._¾,°¤££ã’%K¸ób(܇¿X  ŒÍ˜e„k°¤Ê•e¸¨§–¶(ÆeLš··÷»ï¾+vИܹsçðáÃbG 2Œ˜0®Y³fàÀê \¸pÞ>œ6nÜ8Ç„`\ÆÄõèÑãóÏ?; hL’’’0.L§OŸ>}úô믿>eÊ”Aƒyzz:::ÖÖÖ>}úôúõë‡Þ½{7sÃ&BˆT*6mšX7+—hú233333…”´¶¶Þ¾}»Ê͉@ï°î/ sOœ¤¤¤ÁƒÛÛÛ[YYy{{úé§•••¬ò999111ãÆëÖ­›½½½¹¹yëÖ­}}}£££‹‹‹…´’™™ùî»ï:::Z[[ûúú²¦ ¯Ÿ®3;;ûÍ7ß´µµ•J¥7n$„ìØ±ÃËËËÚÚºk×®*DÿóÏ?gÍšÕ¥K++«–-[öîÝ{õêÕÏŸ?W6sñ!; ¬_‹ëC‘Ëå111~~~mÚ´±´´tppxã7/^üǨ«ßth±…“ðþjý~4:ŽŽŽ)))bÒlh´É6Zzz:óÝ ;"hd™¿F"##µ®Š¹[¤T*Õc`‚ÂÃÙwNJJŠ^ª¥+ä>²Nñôô|ôè‘Êò\­ZµJNNæoåâÅ‹666<u„×OçwèÐY,$$„ùR"‘œ={–ÙDtt4w§UBˆT*½sçŽÀ`ÔůQýZ\ŸÒÒÒîÝ» ŒDe+W®¤µµµ¿ýöÛÒ¥K‡Úºuë &ܽ{WëÈMVsë/˜&ŒË€ÁÙÚÚ²rè'qèݲ•Jehhhß¾}cccÿøã²²²ÚÚZÖYü32ìííyŽê^?¿/^P‰ººººº:¥RI/Í@—¡qD©ŸÿúB&NœøÛo¿ùúú23 Å‘#GúõëG/©Ód4·þ€i¸ œL&cåÐO‹Ð­_¿~Ó¦M„6mÚÄÆÆÞ»wO¡PPãuuuBZ‘H$•™ššjèvÕ2¢¤ Së/4+—ƒ;{ö,+‡Þùˆ~ŠäþýûT‚»Hð™3gtÁÐõ:”¢T*?®é¹ôQMM!êך••Õ7ß|C¥é'ÎŒ¯U«VT‚^eÙ@öWÈû ÆeÀàbcc ýòåË—6l ÒS§N¥ŽŽŽTâæÍ›Ìs+++W¯^­{ †®?$$„šÖ±lÙ²ŠŠ ÖÑòòò3f¨;—Þ‡;33ÓõëâÁƒT‚žÙÄ%ùC@éÞ½;•¸té’š  é¯÷ @ ‹†‹è&''gìØ±k×®õôô¼ÿþÒ¥K³²²!ǧʼóÎ;[·n%„L›6mÓ¦Mýû÷ùòåùóç?ùä“ÒÒRÝc0týžžžK—.ýꫯîܹ3`À€5kÖøûûÛÙÙݽ{711qýúõÏž=Ûµk—Ês‡NÅ6þü7öìÙÓÚÚZõ Ô½{÷qãÆ :ÔÇǧmÛ¶2™ìܹs~ø!utúôéºT®‹3f\¼x‘òÑG¹¹¹yyyé¥Z­û+äýhNœ8aè§š'öÎüKÇ‘¥§§3ßàà`±#€F&11‘ùk$22RëªÌÌþ;§R*•ê1H0AáááÌ;'%%E/ÕÒªœâííýäɺpii©ÊïÛööö§Nâùè"ðSFõsë’SWW·hÑ"n„víÚíÛ·O]l>¤WœeaÓ®~×§žwÍàÑ£GËd²Ol° íÔÕÕ=šÿâð¯Å)üýø~™Ž€€f¹¹¹bG&ÊÝÝ]à苳³3žcƒ[±bÅþýû `kkkkkÛ½{÷5kÖddd8;;Óeœœœ222V®\Ù£G ©TúÁ\»võ­R;†®Ÿbff¶nݺôôôÙ³g»»»ÛÚÚÚØØôéÓgíÚµ÷ïߟM¿ÌÍÍ•J¥â…¦ËÃÃ^"ŒóeDƒu Éâ®T‡¿Ø¨3uêÔ§OŸŠ@óbooqŸv˼s¿`ëò%|Ê”)ÜGÆ|Ž,88øàÁƒÜªöîÝ+°]¡rv04<Ç@!›6mêØ±#+óÀ{öìQwÊîÝ»¹ƒ2®®®›6mÒ|¦DÂ!vDÆe!ÄÑÑqÇŽÜ!†ÐÐЂ‚nùüüü°°0V¦D"Ù±cGëÖ­ %4-—ø?Æ ‹ˆˆ`eVTTÌœ9“õ<”R©œ9sfEE«ðÂ…  %@£Rÿb`¢0.ð__}õ•··7+óÌ™3111Ìœ˜˜˜ÔÔTV1Ÿ/¿üÒ á@ƒq0Eõ¢]›={öXZZ²ò—/_~ãÆ *••Å*`eeµ{÷nCDMÆeþG¯^½V­ZÅÊT(Ó¦M«©©©©©™>}ºB¡`XµjU¯^½Œ#4Ø'€méҥǎ»pá33333**ª¾¾>33“UÞÏÏoÉ’% V[QQñóÏ?Ÿ:u*++«  àùóçõõõ-[¶tuuõññéß¿ÿ¨Q£ºuë¦îô>¾}ûöꎺ¸¸ÄÇÇó×0kÖ¬ââbVf@@@bbâ£G^¾|YQQqþüùE‹µjÕŠ{úûï¿ÿâÅ fN›6mÖ¯_ŸŸŸ_SSSXX¸aÆ6mÚ0 <þœ¨H ¥R¹sçNf=ËŽ[˜;¿ò£Gò±ãÆ„qµœœœÖ¯_¯îè?üàääÄsú¹sçNž<ÉÊ\µjÕ©S§‚‚‚^yå ‹V­Zùùù­[·îþýûS§Ne–¿þú«ºCÉÉÉüçîÝ»—•3räÈèèh•…œœöìÙÃÌ9pà«LXXX=X™=zô ceúè£Î;3sX;5BþþûÔÊ´iÓÞ~ûmuG Úq!„,gfÌ%ÏLSiiéG}äããcgg×Ü®Fsë/”…بÐà%FPVV6wî\þ2sçÎõóóc-tB{øð!+§_¿~ÂÈËËcå¼öÚk*Króóóóù+3f +‡ûL–L&k DmMŸ>ç¨A;zñäÉ___üÖÐæË¨Î]²—¥¸¸8""BÝÑêêjVNëÖ­…À±··WY’›ßàžÜ¬kkká±é¨wïÞ}ªn+Æ>{öŒç²hÚ}~Ìzrssµ¨ ¤Y|KiD0.#äSŽðz„`Ö r¶Å¢E‹¸m-\¸[’û~åååqzS__ãÆ uß1Ô±··ÏÎÎÖî ,6sæL:"°Z;ÞÄ`\´c„q33³·Þz+33S.—gggÿóŸÿ¤òGŽÉbLLŒµµõŠ+îܹ#—ËïÞ½K==Ê,¼k×.ª°Ý÷ß_\\,“ÉÒÒÒHå/]º”UÿСC©CcÆŒÉÎΖËå™™™#FŒ`ÞùBúÕàˆ‹‹£JÚØØDEEݼyS.—?{ö,99™ŠA÷&t?KS[á)¦îïèèš——'—ËOœ8Aÿº~ýznm¦y‘GŒA5jTVV–\.ÏÊÊ5j•9zôhžš5ê~ƒ0.`ʚŷ”Fã2º|”äÖ#}ú¡C‡¸G»víZ]]Ím«ºººk×®Üò‡f•ÌÎÎæîâÔ`0´sçÎ9:: <ÝÑÑñܹsZ_aÅ.\¸ QGV+bÇ›ŒË€vŒ0.ãííÍüSMMM=¨C§OŸæ9ÑÕÕõ×_ee~;}üø15˜kffvòäIf±ªª*Bˆ¹¹ù½{÷èüãÇS•÷èÑ£¦¦†Î—ÉdžžžB~iüÅ’——gccCpêÔ)ÖQ¥R¹lÙ2›ÐËYšØ O1u‡èüwß}—™¿mÛ6*ßßߟuŠi^ä'NÐw¾B¡ óår¹··7uˆ­Ýã2¦ ëËBHiié‚ X™fff Üm› !¶¶¶?þø#w±Ã <}ú”™ãííý×_-^¼Xåäê <øúõëãÇçˆ]"‘]»vmðàÁZ´¢‘Aƒ­ZµÊЫ˜`Ç@GÖÖÖôKKKKzÑô={öðœØ¯_?zr 9´yófjš)S¦2‹µhÑ"22’RWW·}ûv:ß¾}T",,Œù´ˆMDD„&Ýj@\\œ\.'„Ì™3‡õݘ"‘H>ÿüs=6ה̟?ŸùräÈ‘T‚»â˜i^ä½{÷R‰ˆˆ+++:ßÚÚš¾{yî|á݀Ǝo·Z€æ#44´´´”•¹hÑ¢Aƒ©;ÅÏÏoáÂ…ëÖ­cf–””,X°ààÁƒÌÌV­Z}÷Ýw+V¬HJJ:}útfffaaaEE…D"±··wuuõññéß¿ÿèÑ£U6Ô©S§Ã‡ß½{÷СCçλ}ûvII‰\.·¶¶vvvöòòJ­ BáÙ-›ÒàêÔwrBHûöíɾµ2ÿ¥0‡~ª««ÕE¥òñU­Ñ]£Çz@ îÃÂê˜æE®ªª¢<÷Ï/¼ûÐØá7>ƒL&cåPk‚BX³ XèáuèÜêêêêêê”J¥R©¤Òc«­­åžÂŠ›£ º!zð!ô\<½0Í‹LßÕ<÷˜¦›@“„q0†¼¼•èØ±£.5Sä9::6¸ß}J§NX1Ð>|¨K0*c#„ܸqCÕ6ÿ75»®®Ž™ÿìÙ3=¶b𙾫¹w>£ãMÆeÀΞ=ËÊ9þ<•`®­¦…#FBÊËËïܹ#ðºÅ .°¥¦¦ê aì%½‰OMMC2&zµ—ââbfþÕ«WõØŠi^dúc.8ÍÊÑñ΀¦ã2` ±±± …‚~ùòåË 6Pé)S¦èRó¼yó¨¸.\øòåKn‰'2sè{bcc™§ÈåræúǺ£cÛºu+wdвfÍuçvèÐJdff oQòFjÞÞÞT‚Þ2‰²qãF=¶bü‹,ÄäÉ“©Dll,sÐG¡PÐw¾Im bÁ¸ CNNÎØ±coܸQSSsëÖ­ñãÇgeeBüýýéùÚqss‹‰‰!„?~¼_¿~û÷ï/**ª­­-++;yòä¼yóºvízøðaæ)„¬¬¬ñãÇߺu«¦¦&++ëwÞ¹wïž.Á¨‹­¶¶ö­·ÞZ¹råíÛ·kjjþþûï'N¼ýöÛÑÑÑêÎ>|8•˜?þ•+W˜£ZEPP•øä“ONž‰ Æ”žžÎ|w‚ƒƒÅŽ™ÄÄD毑ÈÈH­«bî"•Jõ$˜ ððpæ“’’¢¯šé:W®\Éýâååõøñcþ6´yófu+»ºº:tˆUþÑ£GžžžÜÂ̹*ãá§2¶íÛ·«ÜæÉÜÜü»ï¾S×£‡R;L lE»ë¦­Èd2Vð–––GUWOÍ"^d•|_ž}¨é=0C³±±IMM]°`«««………““Óøñã¯\¹2f̽·e‚ÙÙÙùòåËqqqþþþNNNÔð÷÷ß²eKZZZ»víôØ4^’zÁ#ÈÈÈ`®¼ÿ~ã€F'))iܸqôËÈÈÈo¿ýV»ªÌÍÍé½l¥Rinn®âSÁ\W%%%eôèÑz©™^è9Äxúôiúenn®T*/ø˜/  ±“SVVöøñcýÖ©÷ @ Æ»Õ:@s€q`›1c†Þë¤7$žcÆeÄqq`}Ó"“ɘ/ïß¿'V0Ð]»vùòùóçbEK—.] $v` ÖÖÖb‡ÿ%©¯¯;ø¯;w¾ÿþûbGMGŸ>}222´;×ÜÜ\©TRi©Tš››«¿¸€<Ç ŒËˆã2âÀº¿¦¥uëÖÌ—R©tÈ!bQ~~~jj*ý²}ûöâÅ À¸ŒiéСóe¿~ývîÜ)V0Ð%%%1Çe¼¼¼Ä‹€ç˜Äqq`\@—ÆeÄqq`\@—ÆeÄqq`\@—ÆeÄqq`\@—ÆeÄqq`\@b"H$T¢¾¾^ÜHt‡û/Ì—æË@0À@0.Óa„šÜÏÐxá9&q`\@—i.$ª)ÌS÷Ä?ÿüsÖ¬Y]ºt±²²jÙ²eïÞ½W¯^ýüùó"„dff¾ûî»ŽŽŽÖÖÖ¾¾¾‡Ö±§ÙÙÙo¾ù¦­­­T*ݸq#!dÇŽ^^^ÖÖÖ]»vݱc󬜜œ˜˜˜qãÆuëÖÍÞÞÞÜܼuëÖ¾¾¾ÑÑÑÅÅŬ&&MšD5ѹsgºw;w¦ò'Mš¤]ðZc^ÉäääÚÚÚ:88Œ;öÞ½{üåù󵻞ÃÝÝÏLiiiï½÷’½½ýèÑ£/_¾,äDƒ¨S’žžÎ|w‚ƒƒõU³Fï¾v7Ott´™™Š‘>©TzçÎþ†.^¼hcc£—›“>½C‡ÌÚBBB˜/%ÉÙ³g…t¹U«VÉÉÉÌ&JJJÚµkGý׿þEeΞ=›Êqvv.--m0<íz×`µÜñ‘Ž;–•• ƒ›¯Ýõ¬7ðýÀ­¶ÁKZWWÎ=ËÌÌì›o¾á?·qILLdv022R몘ï T*Õc@Á|™æ‚ù®kW˜{÷0O‰‰‰Y½zµR©ôóó»té’\.ôèQTT!äáÇAAA …‚§ÅWWפ¤¤ŠŠ ™L–––¤m_ÿÏĉ«««—,YB½Œ «®®^¾|9Õ„„º°ÏŠ+~ÿý÷üü|™LVSSsÿþý5kÖXYY=þ|„ ·nÝ¢ ·k×nÓ¦MTzûöíÇ?~üø?þHålÚ´ÉÉÉIÇ൶xñ⸸¸ªªª›7ozyyBŠŠŠèhu¡Ñõ4ôý ÑýL‰ŽŽŽ%„¸¸¸$$$”””Èd²«W¯N›6é¨t`¸ù2L½ûB çååYZZBzôè!“ɘ‡æÎK¾uëVžÊÛ¶mûèÑ#zÑ`ÀÙÙÙõõõÌñ*'''‡zùúë¯7XÛÚµk©Â³fÍb¢Vruuuuuø–èG®644”Îjjj‚ƒƒ+** ­^Ð1žô¼ ÞTH„Û·o‹ Æe ôEMMº2C‡%„(•ÊãÇ'*ýºÿ>•2dëЙ3gÔ5gΜÜÜ\Bˆƒƒƒƒƒ!äÁƒ|ðÁÂÔ'*`BȳgÏèÌììl½Tn‚÷!ä—_~5€ÿqh½/rff¦º2!!!Ôƒ'Ë–-ãι(//Ÿ1c†¾â‘ü‡¾*$„8::R‰›7o2ó+++W¯^­ò”Í›7Ó;=oÛ¶mÛ¶mTúСCqqq•Ëå×®]›={6ýnÿœ`déééÌw'88X/Õêr3<|ø°}ûö –¯««[´h‘ÊbíÚµÛ·o`ZôExsJKKUnŸlooêÔ)VáÊÊJOOO*§gÏž2™ŒÊ—Édô–L^^^•••úê²êªU—_ZZÊz[%É®]»´¸z*s z?¨¬–‹u–º$É_|Áßbã’˜˜Èì`dd¤ÖU1·÷’J¥z (˜/ pss»~ýúÇüÆo888ÐëŲ˜™™­[·.==}öìÙîîî¶¶¶666}úôY»víýû÷'Ožlä°5âä䔑‘±råÊ=zØØØXXXH¥Ò>øàÚµk¬Â ,ÈÉÉ!„ØÛÛúÈÞÞž¿•ÌÌÌèèè³gÏVWW÷ìÙsÉ’%&LÐ:~BHmmmBBÂþýû333+**Z·nÝ«W¯)S¦¼÷Þ{êž'¡érýùóµ»(þùgllìÙ³g ­­­=<<‚‚‚-ZÔªU«{¡÷÷—’––wáÂ…ÂÂB++«!C†DGG÷ïß¿Áš›V­ZYYY‰€˜ÊËËëêêÄŽšz0%éééÌw'88X÷:éÚ:tèÀ¬<$$„ùR"‘œ={–{–À»….³cÇÖY;v,++SWþ‹/¾à6äééùèÑ#žV.^¼hccÞ¦ñ?}ú´_¿~*Ïòóó+//çïuƒñpOá F tµš^ÿóéîŸúúúèèh333ò¤Ré;wø{¡÷÷·¾¾¾®®.<<œ{–™™Ù7ß|Ãnã’˜˜Èì`dd¤ÖU1ßA©TªÇ Á±~@RRRÄŽ@dݺucþPÔÖÖŠ4MxŽ©™8qbuuõ’%K¨—ñññaaaÕÕÕË—/'„Ô××'$$Ð…™w‰F­,^¼8..®ªªêæÍ›^^^„¢¢¢M›6©+5bĈÌÌL¹\ž=fÌBHNNÎ{ï½ÇÓJHHˆ««kRRREE…L&KKK bÐ4þ©S§^¹r…2jÔ¨¬¬,¹\ž••5zôhBÈ… øƒÑhzý…Óèþ‰‰‰Y½zµR©ôóó»té’\.ôèQTT!äáÇAAA …‚§-½¿¿„èèèØØXBˆ‹‹KBBBII‰L&»zõê´iÓèN›á‡~@/“]__ëÖ-VNNNõòõ×_ç¯AH+¡¡¡tæ‘#G¨Ìª+ÿÚk¯Éår:¿¦¦¦GÔ¡S§N©;«mÛ¶*'Ôhÿ‰'¨ÞÞÞ …‚ÎW(ÞÞÞÔ¡3gÎðÔ,<ýèi}ýÌ×âþÉË˳´´$„ôèÑC&“1ëŸ;w.UxëÖ­<½ÐïûKIMý°³³ËÉÉaÅ|u0_¦YÁ|Ì—ãÀ|™fÄÕÕ•üïÓ(TŽ‹‹ õ²¨¨H÷V¦L™B§ D%îܹ£®|DD„µµ5ýÒÒÒ2,,ŒJïÝ»WÝY~øá+¯¼¢k¬ÿA7Á\OÁÊÊŠþ¢²k×.žô.4½þ ¿âââ^¾|I‰ŠŠb=Ž4gÎ*qøðaž¶ô~=·lÙ¢T* !¬ÏÙ„ÿûßzl @8¬ûÛŒØÙÙBZ´hÁÊ¡þ%„<þ\÷V|||è´““•øûï¿Õ•2d+gðàÁT‚5{ˆ‰zÂH_膸ÁÐ9ÔSNºÇS¯ásašÒôú 'üþ9yò$•`UBÏ?ºvíO[ú} !©©©TâÝwßÕoͺÀ¸L3Bm*daaÁÊ¡7¢æ8船Õ]smm­ºònnn¬œÎ;S‰‚‚ugq7ÒEaa!«in0t#Ä£ M¯¿pÂïŸ{÷îQ j* 5Åü—RVVÆÓ–ޯ烨µæ€‰À¸ è™Ê-xxØÚÚ²rè'_*++Õ¥rm­UUU© †Îá FïñèBÓëo/^¼ <Û‹òêýzÒ!ѳ{Lø_á ™“Éd¬¹\N%˜Ì°H$=Æ@WçCçðè7±P+°èŽºVNNNü«[ñÔ ÷ëÙ²eK*AÁ˜ŒË€ÈòòòX9ùùùT‚ZVÖ:vì¨.:‡.Ó4Ð1§´TTTè¥ò.]ºBÊÊÊLg„ ‰rûömq#`¸ ˆììÙ³¬œóçÏS ___ãÄ@7tîÜ9Ö!:§_¿~Æ Æ8¨Ä³gÏèÌììl½T>tèPBˆR©<~ü¸^*Ô!ä—_~5€ÿqYll¬B¡ _¾|ùrÆ TzêԩƉÞ[:66¶¦¦†Î¯©©Ñ{0’ÿÐKmZ£÷ŠNKK£3y6&×HHHÕÁeË–qçà”——Ϙ1C/ iÒúõëée‰iëÖ­3r<ŒË€ÈrrrÆŽ›••USSsëÖ­ñãÇgeeB‡nœFŒH¹yófPPPvvvMM •¾yó&!däȑÆ 3N0Æ1räH*±|ùòœœ™LðàA½Tîéé¹téRBÈ;w päÈ‘²²2…BqãÆÕ«WwíÚu÷îÝziH‹*++‡ ²sçΧOŸÊåòk׮͞={ñâÅFŽ€‚ý˜@u³9XùüK· ôé§ŸFGGÿþûïÌLooo]ænh¿D"Ù·oßèÑ£ÿøãcÇŽ;vŒY¬_¿~{öìÑ:Ó÷äÉ“›7oR[GK$’Ÿ~úI_3Y>ÿüs¹\þý÷ßߺuk„ ÌCíÚµÛ·oŸ.•kwÒ!=~üøý÷ßgžõÅ_è€Ö0_D¶bÅŠýû÷0ÀÖÖÖÖÖ¶{÷îkÖ¬ÉÈÈpvv6fíÚµKKK‹‹‹ó÷÷oÓ¦………““S@@ÀÖ­[/\¸Ð¶m[ccNNN©©©o¿ývË–-mll˜œœ<}út}Õoff¶nݺôôôÙ³g»»»ÛÚÚÚØØôéÓgíÚµ÷ïߟ½²²’U &&æõ×_×´-‘Häââ2nܸ .Lš4‰uô§Ÿ~Ò´Bà ã2fjÙ²eÞÞެ̌ŒŒ¨¨¨ÈÈÈŒŒ Ö!ooï?üP—…BáêÕ«Y™ùùùºÔ jX™:PN(îÞ½»gÏž/^¼`æoܸ‘[ØÞÞ~Ïž=B¡®ßºµoßž•SVV¦c  æË˜¯×^{í«¯¾beÖÔÔÔÔÔ°27oÞÜ®];Ý[üûï¿Y9ºì· êa\@%A]ŒCHHHPPú2AAA³fÍÒ½­šššèèhVfÛ¶mu¯”¸ €¹Û±cG‹-TuqqÙ±c‡.õWWW?~üøÄ‰¾¾¾‡b>|¸.•€X_t¥ê«Bí  #úŽÅ- õˆ““ÓæÍ›ƒƒƒ•ýꫯœœœ4­“çd‘H4sæLM+ž0_ 8yò¤ªCIII†k7,,¬k×®†«ÀÂa\ÆâèýyøÚÓWµ@ûñÇ÷îÝ«êèž={~üñGC´kˆš€À¸ XŒ!€Fjëb„JKKçÍ›§¾Ì¼yóJKKõØh“&M¾úê«#GŽˆD"=V ,X_À¬-\¸°°°P}™Âˆˆ5sjê$‹\\\z÷îíëë;iÒ$­kž0.`¾Ž?þý÷ß³2;tèP[[û÷ß33÷íÛ7iÒ¤±cÇò¬3Ìžc²¥™JWœQ( ~~~Í›7—H$ÎÎÎþþþ‰‰‰ÕÕÕú ì?þ iß¾½D"±··ã7V¯^ýüùó:;BQTFFƸqãš6m*•J½¼¼>Ì,™››;~üøN:ÙÙÙ‰D¢&MšxyyEGG+ýÊ‘YsRRÒÀmllÆŽ{÷î]5]HMM}ûí·Iìììÿýw}õ×p4í¯ª›DÍ}•••5tèP›víÚmݺ•¢¨]»vuéÒE*•º»»ïÚµ‹ÛŠáîîÝÎs‰%®/€Þ•””„††²2ÁÎ;¹¿ÊBCCõû4\OMƒ1¥¥¥1¯Npp°^ªÕâf(..îׯŸÒbÞÞÞOŸ>­³­:£ŠŽŽ •Œ ¶k×îöíÛê+ÿí·ß¬­­Õᦛ7NJJRU3w¼ÀÕÕµ´´”LuuõÂ… ¹õ …Âõë×륿½ŸÑ´¿ªÂàæÓ9­ZµbV;wî\æK@péÒ%fUƿԿEš^_óqôèQfÀK—.Õº*æi×®ƒ3ĺᓓ“M‘ihú»ÂÐõ¼õÖ[ܪ-ZDŽFDDpN™2Å !YŽN:1ß.…BaꈠaÂÉæÅ@ã2L<ÿó÷÷'Å233e2Yfff`` É3fŒŽõoܸ‘óöö¾råŠL&{ôèQTTÉôôô”Édj*÷ôôìØ±ã±cÇž={VQQ‘ššÄ,ééé¹råʳgÏæççWTTÈåò¿þúkÍš5‰„¢(kkëììl¥5;::ÆÇÇ¿zõ*;;»K—.$ó“O>áIŽº¸¸$&&>yò¤¢¢âúõë3fÌàv_»þò?5¥iU…Áͧs-ZT^^þá‡Ò9áááåååôû6kÖ,ú,Cß|ú¢Ñõ5+—í`\† 8LXÏ‘#G¸õtìØñÕ«W¤À«W¯:tèÀ-sôèQÃuÍr`\Œÿ%›3—III!e<<<*++éüÊÊJrèÂ… Zן——'‹)ŠêÞ½{EEó½ßDBB‚šÊ›5köèÑ#5M¨òÅ_BBB”ÖFgÒ8UOnn.ùÈjkk›››Ë:ÊšO¡uk ?.ó¿ªÂàæÓ9YYYµµµ·nÝbåäææ’—=zô §ù~àó–jt}Í Æe@;—!(}Õ󆢢"gggV¡PøË/¿0‹]¾|™û4S‹-Š‹‹ Ô5Ëq0¬/JÐë FDD &„D"¡ÿpß³gÖõÇÇÇWUUQÅzüdΜ9$ÁZ„eñâÅ-[¶Ô¢é)S¦Ä/¿ü¢¾EQƒ "‰Û·o³Šmß¾½¦¦†¢¨ˆˆÖßmE}ðÁÌ—º÷×pxöW ­[·¦þý4Éqqq!/>|H&¼TÑèúBXXØ“'OX™ÞÞÞÌœÁƒsŸfzüøqXX˜aã=Á¸ (AOÛ2dësõêU­ë?wîIøúú²ÑóqþüóO55ÐOTiŠþô^PP ´€§§'vrr"‰²²2V±‹/’ĸqãêlT—þÒc¨u¶¢žýÕ‚­­-EQ5bå)Š¢ô5áý ŠF×@ï>|ðàAV¦»»ûºu븅?ýôSwwwVæ?ü ô1(07—%!·oßž¢¨ÒÒR}èݱcIüðÃááá:t W/殡¨ÒŠ¢rrrx6\€~øˆ9°õìÙ3½Tn†ïF×@k—±8ô…\.WUÆËË‹$._¾Ì:Dçôë×Oé¹ôz%ôª®\Æ £(ª¦¦æÌ™3|bÖÔ_ýEÜu‹/\¸ —&H(Š:qâφë¯888DII ™••¥—ÊÍðýÑèúh ã2‡Þ·8##CUzï丸8æð\.ß²e IO:Ué¹Ýºu#‰+W®¨ªîܹdZÍŠ+¸s.ž>}:cÆ õ½P¯iÓ¦$‘ÍÌùòåêÕ«u©™FwaóæÍô²µ´/¿üRia-ú+ø½„­5z¯èÔÔT:“ÞO]G†¾t ‰ÏõÐÆe,Έ#Hbþüùiii•••Ü2þþþ~~~EeggeeeÉår’&##GŽ>|¸ÒúéÐï¿ÿ¾ªg@:wî¼lÙ2Š¢nß¾=`À€#GŽ”––VVVÞ¼ysõêÕîîî{÷îÕ¥o¾ù&IL›6íÒ¥K•••/_¾<}ú´··7w%EíÐ]xùòå!C¾ûî»ââb™LöçŸΞ={É’%J ¨¿F0räH’ˆŒŒÌÍÍ­¨¨Ø±cwWí˜áû£ÑõКUÝE a‰ŒŒüñÇ?~œžžÎz‰^P ìß¿?000==ýÔ©S§Nbëׯ߾}ûTÕÿî»ïþøã§Nºyóf×®]¹•k×®•Éd›6mºuëÖĉ™‡š7o¾ÿ~­;HQÔºuë~ùå—œœœììlúŠ¢ìììNœ8A†œtGw¡  `Ö¬Yt¾@ X·nªÂ†è¯„‡‡ÇÇÇ?~ü8;;›l-vïÞ­¯™,}TÍ6b嫺Eù\_€z'++ëêÕ«¦Žt5eÊî.ºPÏh·_HZZóꢕÂÂÂ>ú¨wïÞôz®Ü›A.—ÇÇÇûøø8::ZYY999ùúú&$$TUU©¯¿ªªêË/¿ìÕ«W£FÔßiiii³gÏîСƒµµuŸ>}¾øâ‹çÏŸ«ª™ÿ}ûâÅ‹U«VuïÞÝÚÚÚÊʪ]»vï¾ûîÝ»wUU¢ªæ:[LKK !]hÔ¨‘¿¿ÿ¥K—ÔÖ¨¿uY#Zô÷Ö­[£G¶···¶¶8p`rr²ÒòÚ应ÿîãPz®F××L=z”Ù¯¥K—j]sõvíÚé1H0C .dÞ9ägÀ’ÑÏð …ÂÔéYll,Ïÿ"Àœ˜ú× èJP‹]Íɵk×è5w)Š >pà€ ã€zçØ±cãǧ_.]ºtÆ ÚU%‰èÝÐÛµkwïÞ==Äæ*"""..Ž~™œœhÂxL®sçηoߦ_* æ·Y À—_~‰'s€‚‚SG:Áú2¦qÓÀº¿–n̘1ýû÷7uP·íÛ·ççç›: Ð'ŒËX:ÿððpSGuKNNƸLƒç˜Lã2¦qÓÀ¸ €i`\À4°@CPPPpýÒÓÓ H~mm-ŸÓÓÓÓ™/Ç'â˰hr¹œù²ººZ$™*hÀ0.дjÕJ—Ó_½zÅ|YUU¥[8À Æe‚–-[öfpuu5uDP7ŒË4=2u`@åååyyy]»v5u  gxtÀ|ôÑG-Z´HKK3u, ˜/”··wFFýòèÑ££F2a<&×£G»wïÒ/M²èoqqñ† ¶nÝúòåKã·Æq`æ”J¥666¦ À˜vK2ŒÈXŒË˜ ŒÈXŒË€i’¨­­5m$`npo€eˆ €e¸ €)aDÀ’a\À40"—ó‚Ç—ÀÔ9"ãèèØ«W¯sçÎ9002S®3`iŠ‹‹?úè£×^{íóÏ?W:(Ó¶mÛmÛ¶ 2Äøá€‘a¾ €1Ô9G¦mÛ¶Ë—/Ÿ={¶D"1rl,ôV 4½Lj6PµõæË4|=zô`÷îÝÜ£»wï&G{ôèÁ=úÇ„„„´oß^"‘ØÛÛ¿ñÆ«W¯~þü¹ª¶ÿCQTFFƸqãš6m*•J½¼¼>¬ê¬C‡y{{ÛÚÚJ$U«V½xñ‚[L¡P$$$øùù5oÞ\"‘8;;ûûû'&&VWW+­V&“ÅÆÆz{{;::ŠÅb‡Þ½{/Y²$==]U$šö×p˜ïdRRÒÀmllÆŽ{÷î]õåÕçÓ9YYYC‡µ±±i×®ÝÖ­[)ŠÚµkW—.]¤R©»»û®]»¸­î~(ÃçJMM}ûí·IHvvv¿ÿþ;ŸŒ‰ç™;w†Ö—A¥ÿ}׉O=üc˜2e ÷ô·ÞzKýYÁÁÁܳ¦NÊ¿kR©´E‹={öœ={öÞ½{e2ÿ˜ØjÁœ¤¥¥1¯Npp°îu~þù礶#Fp>œýüóÏY‡¢££…B%#wíÚµ»}û¶Ò¶è2¿ýö›µµµš›Î\½z5·‰Î;?|øY¾¸¸¸_¿~Jïaooï§OŸ²")**êÖ­›F·½ýevDUíÐÕrÇG\]]KKKy†ÁͧsZµjŬvîܹ̗àÒ¥K̪Œs?¨*ÀU]]½páBîYB¡pýúõêÏmØŽ=Ê|C–.]ªuUÌ+Þ®];= FÀóG‰ÆúJNN6hxæ¯S§NÌ …B¡]=EEEË–-³³³SúŸõ¿™ÊÊJ?“víÚ¥[Ÿþ%66–Yy\\œ¦5¨ê‘z|êáCii©««+·†½{÷ª:eÏž=Üò­[·fþ=©i§·nÝZSS£Ñhæx^M/Ÿ.—ˆ2ßÀ‚‚SGºÂy1ĸÌýû÷ɇ+‘HôèÑ#æ¡G‘CB¡ðþýûÌC7–¸·Y IDATn$1x{{_¹rE&“=zô(**ŠdzzzÊd2n[täžžž;vcÆ ½_Žúã2@húÛ ã2,ºËè2"C`\†Ÿ~ú‰;ÅÆÁÁ!??Ÿ[8//ÏÁÁUX œ;wN÷®Mš4Iëñ;3Äóºhzùt¼ÜP‹q™†?æÅã2µµµ>>>¤Â72ó7lØ@ò}||˜ùyyyb±˜¢¨îÝ»WTT0Í›7œ’ÀmˆŽ¼Y³f¬1 U%»víÊüH_YYéááAýôÓO$3%%…äxxx0ÿva¾pá³þ-Z|Ö¼¥´îo­áÇeÂÂÂèÌ#GŽÌò ƒ›OçdeeÕÖÖÞºu‹•“››K^öèуœb„ûO_˜rssÉ­­mnn.ë(æË0`\ÆbiúÛ ã2,ºŒËè>"C`\†§E‹q+ñññaM`©®®6l·ä{ï½§—®QµxñbMƒ7[<¯‹¦—OÓòÀ…q™†ëËX„éÓ§“ÄÞ½{™ùôKº_UUEQTTTëñ“9s愚õb(ŠZ¼xqË–-ùÄ!•Jé—‰„þl°oß>’øþûïéÂÌ'®™…YSRKKKIBéj,,º÷×p¦L™B§ D·oßÖ½æÖ­[Sÿ~š‰ä¸¸¸—>$ cÞ£¿«£]¸p5ö{ñâEV1OOÏO?ýT_‘ÄÅÅåääè«6°—±'N$§ÿûßÿÒó#²³³ÿüóOŠ¢¬­­'NœÈ,îÜ9’ðõõeUEÿŸGÎU…~¨NÜ ézöPSøêÕ«Ì|ú³ºŸŸ_``àúõë/]º¤jI6]úKq*=ª;OOO:íääDeeeº×lkkKQT£FX9ä_Š¢è}y?ðDÿQ5nÜ8ýÖ  ŒÈPü&>¢]kkë}ûö‘é½L‘‘‘7oÞ$éÌÌLúlšD"Ù»w/w<.f EAAÁ±cǸš*Šï¾ûNÛ~XãÜõ Æe,BãÆÇŒCÒô¼:1f̘Æ3ËÓsL\\\¬¬¬D"‘H$ …B¡þÐNOHQªcÇŽ iZ9Ÿ¦U•),,\µjUß¾}7nleeÕ¢E‹1cưVÖSãï¿ÿþì³ÏÛ·ookk+‰5jôÚk¯¬[·NýêƼˆ`¬ê. B@@@³fÍJJJòòò._¾\[[KþÏhÖ¬Y@@«°]YY™““SQQ‘vÍñÿå^QQÁúh]QQA‡A¶¶¶ä™>…i£F5jÔÇûí·óçÏŸ8qâñãÇE=}úô£>:vì]R÷þš'²‹îŒy?ðdooOæzõêk¶€oذaëÖ­J‡c(ŠjÛ¶íòåËgÏž­Çá˜ôôt=~!qãÆ }Ue&„BáîÝ»{öìICÐÛJ2ÙÛÛïÙ³G÷/ÀÚ·oÏÊáó¼ymmíòåË¿øâ ú¯µ|¸dÉ’C‡±¦ŽVTTüóÏ?ÿüóÏ™3g¢¢¢&Nœøå—_*Ýy ô‰ÏS `4Ú‰˜?>©vΜ9ï¼óIÏŸ?Ÿ[²W¯^E …—/_jÔÿûŠ.IöbÊÊÊ"‡ºuëFrºvíªª0ý̰‡‡‡ú+++éw I“&ÌCZ÷×pT½“ªò™8Ñ™Ìg‹ÔÔPgŽîMÏ"!QuõêU*·Ø ´ƒý˜XTíǤ¯½–øàÎÅ0½ìǤ]7õU±sçN>ýMLLÔKHÌ­-‰æÍ›×YÛ’%KÔÄ6uêÔòòò>}ú¨)ÃܲS‹ÈùS_FMlšžÈ§é•+WªobÑ¢Eª®Ñ¯¿þÚ¬Y3ž¡6kÖì·ß~ã’á.b°SÃù2dúôéÛ¶m£þ½u÷!&Š¢† öÇÔÔÔœ9sf„ êÒ¥K¬õó/_¾LôSH^^^äÿ¼Ë—/«*ܯ_?õ I$’õëדw€õÕ–1ûk d¦¤¤ÄÙÙ™dÒ#\:2Ã÷‡„DQÔ‰'XO«”••ÑË6AƒÄZ=¸L2G¦~©s†l­áº 9yò$sf4WPPЬY³to«¦¦&::š•É]‘‹µQË÷ßÿ×_¥§§«)³mÛ6¥»R²4˜øÖ¬Y£¾@\\\xx8wMÃ[·n°¦P©QRRpõêÕ:14ÚE‹`ê!øƒÎ—©­­eÍ´lß¾½Òb999ä—x§NÊÊÊXGKKK§OŸ®ôDþ÷]²k×®2™ŒÎ¯¬¬¤G^Î;G2Ïœ9Cr<<<˜ß>1 ÿôÓOu6JÏ×e}ó¯u5ê²FTU«*¿ÿþ$ÿرct&=?ˆÒm¾ŒîMÏ¢C²³³»sçëhll¬F-60š/–Æpóež0Φz7_¦N<ëÑñ}+**jÑ¢…ª\\\ŠŠŠ4íó¨B¡(,,<~üøÐ¡C¹%—-[VgmzYgä"‘H‹ò/ÿ˜ŽMóÅ­Šûž££ãæÍ›óóóårùƒ¶lÙâèèÈ*Ó¯_?½„T'¥±N˜/ÓðÔ›ÿ-„¡ÇeX3W®\©ªäG}DÊtíÚõðáÃ%%%2™,333&&†ÌTz]s‘Ð%…BáÈ‘#333+++³²²FMò‡N®©©ñóó#ù7oÞ$…éÝ—GŽɪßÓÓsåÊ•çÏŸ/,,¬ªªzþüyRR’»»;)Ïý­­]5ê²FTU«*ŸžÈàáá‘““S^^¾}ûvæŒM55ðÉ1ôý ÅYtH-[¶ÜµkWQQQEEÅÿûß½_Žúã2 —),,TúM²šSø”©/´è~CRïúËóKìV­ZbD†À¸ŒÖ~øáU1üðÆè!‰²³³ùÔæçç÷矖——_¿~5œ6lذÿþ÷¿åååiii;wæ­3r+++žÔ® ÿb:6MQT›6m8ðôéÓ—/_8p iÓ¦¬>>>¬zΞ=Ë*ccc“‘‘Á*–‘‘ÁÝ+ýìÙ³u†d ‹X'ŒË49 PéCLÄÚµke2Ù¦M›nݺ5qâDæ¡æÍ›ïß¿__!ÅÄĬ\¹’õK³sçλwï¦_ ‚ýû÷¦§§Ÿ:uêÔ©SÌÂýúõÛ·o«Ú¬¬¬¬¬,¥3###Y™F믄‡‡ÇÇÇ?~ü8;;›Ìº»wïž1c†^ê7èû£f§æËÚÿH‡TPPÀœŠ,Ö­[§K<`8Ÿ|ò Yu~ÆŒ_|ñ…š/´µFÿê¨5Ø×›Z3B÷Üßdã+++»sçÎÓ§OpA»u릯ڮ]»váÂ}ÕfnNž<©êPRRÒäÉ“ ÔnXX½0¢ÉÉÉR©”¢¨^½z}öÙgo¾ù&«L§NN:EöíÛ·ïÖ­[‡Î,““SgC æ+–¦M›þúë¯ôÐvpppEEù6ŽÆ}C¸ÃsáááÝ»wgevïÞ=<<|Æ Ì̃úûû« Éh,‚‰Ç…àß =_¦¶¶¶oß¾¤ò¾}ûò‰‡ÞøÍÚÚºOŸ>_|ñÅóçÏU•ç_1K8p`À€666b±ØÃÃcÕªU/^¼àž"—Ëããã}||­¬¬œœœ|}}ªªª¸…³²²Ö®]ëïïïêê*‘H$‰««ëرcõ{xxxxx¬X±‚g<„¦ý¥ öU¡ªjÕ4×¥K—¤¤¤:Ëk—Cè~Ðå=Ôâ’»wï6ÐfhÏž=)))†nåþýû$ÁsÒÆÂ»_ß…„„Ìœ9s÷îÝk×®½wïëhyyylll|||hhè‡~X'CéÈþ×(--­óÏÅyóæy{{sWÑZ“&Mbbb.\Ès]ÖÂ4Í›7ç–6ló¥­­­X,®ªª¢s***´‰µ~3f +ÇÉɉ•Ã}C¸c7ªf3q󕎳0á"‚a\”›6mš©CãIKK3¸Œ\.' ËœeáÝoÄbñ;ï¼óöÛoctÆœ-\¸°°°P}™Âˆˆˆ½{÷jÝŠX,vpppqqéÝ»·¯¯ï¤I“ȳ*<µnÝšù’< ÃâææÆÊ©®®Ö4Κšnfyy¹¦õ˜w£%¥o wÔCÕêÝÜüW¯^©¯Üh,þ,0(Íä~½,PFÇ&LµY¬.ÝWS›šüëׯO˜0ÁÉÉI,»¹¹EDD”––ª‰ðÑ£G111 ·jÕjæÌ™7oÞÔ¢#º_JB¡P|óÍ7Çwvv–H$ÎÎÎ#FŒøöÛoU}žÑ¥ûZ £3¹¹¹ß|óÒ'›ÈèLûöí—.]úøñcý¶ê?~üûï¿gevèе')EQûöí«óq'&ÖCr¹¼¨¨(33s×®]o¿ý¶Fƒ2E±V™UúsÁܵP:È¢^UU÷¬¿þúKÓzLŽû‹D"-ÎRµÉ=7ßÖÖV}åF»ˆ` 0.–δc7ztâĉ=z´¤¤D¡PäççÇÅÅùúúVVV*-ŸàîîþñÇÿþûïOŸ>­®®.((ؽ{w¯^½6oÞläà‰’’ooïwß}÷üùóEEEUUUEEEçΛ3gÎ!CÔ²hÚ}]`tÆ •””„††²2ÁÎ;¹?à¡¡¡z¶39¢"V÷É÷†Š;]åÖ­[JKr×ßUº}€`\ ˆù ³ÒL¥«\©:¤u¦ZöB‹îë"$$dîܹyyy2™,%%ÅÙÙ™¢¨7nìØ±ƒ[xûöísçÎ-//·¶¶ŽŠŠÊÎΖÉd%%%IIIƒ Z´h‘¦ÑýRR5uêÔ«W¯R™™)“É233(ŠJMMU¿Ï FÝ× ŒÎ˜•ððpî›1dÈ!C†,\¸u¨°°0<<ÜXÑI“&MX9¬]·ïóðáC=Ö¯ îÖ"[¶lÉÊÊbefeemݺ••i¸ÍÔ¸0.Ð@ÌŸ?ŸùräÈ‘$Áý/“É(Šš3gޝ¯/ë¨@ X»v­ÁÂT‰^$""B"‘ÐùR©”žì°oß>U§óï¾!`tF”®L¤f¡¢ââbÖÕ§(J(&&&Ò |4jÔHéÓLóçÏ/))1\_ŒlðàÁ¬œ’’’I“&ÙÚÚ6iÒdòäÉÜ-ŠtÔªU+VΊ+òóóÍaÖŒ¿¿Ÿ>}˜9åååC‡ݺu냪ªª=z´mÛ¶¡C‡²ÖBöòòò÷÷7n°`Ñ0.–δÏ:éQïÞ½™/]\\HâéÓ§¬’gÏž%‰©S§!0žÒÒÒHbÈ!¬CtyÊI)þÝ7ŒÎ˜DXXØ“'OX™ÞÞÞÌœÁƒGDD°Š=~ü8,,̰ñÑÛo¿mäß ÀÊÙ»w¯›››H$2ùÒ]`×®]¬½–JJJÂÃÃÛ´i#‘H\]],XÀ˜³³³KLL4n¤`é0.Ð@4mÚ”ùÒÊÊŠ$ªªªX%ïܹCÝ»w7B`<=xð€$¸+nÒ9t.þÝ74ŒÎÓáÇ<ÈÊtww§Ÿ`búôÓOÝÝÝY™?üðÑ#G ŸquìØ‘µ8Wtt´[|÷ÝwõX›Þyzzž:uŠõËA¦M›ž:uŠ<8 `4—h øONo kooo°p4öêÕ+’àînKç¨Úæ–Ò¤ûÆÑ#(**Z°`+“<Á¤tïj›;wro• *Jãúì³Ï&Nœ¨ô½½ýÎ;cbbôØÜ AƒbbbÌy?»Áƒ߸qc„ êƒAAAþù'÷Y0C3¯ÿ½@)ý.Ö@Oìñâ…«Õ½€hEEëÃz$ÁüatƠ¸û@¿÷Þ{ƒ RuŠ··7wFÉ“'O¸ã;õ”D"9tèÐÑ£GÿóŸÿ8;; …B[[ÛÞ½{GGGß¹s'$$Dï-FGG§¦¦¾óÎ;öööf8FÓ¦M›Ã‡çææ®]»väÈ‘nnn666ÀÚÚºmÛ¶þþþkÖ¬ÉÉÉ9zô(¶Ç“°2u𬬬 EQÕÕÕ"‘ˆÎ×ïÒ¤îîîüñEQ7oÞ4Ÿ/‡]]]Ÿ?NQT^^ë9z±RWWWD¦32:óöÛoïÞ½{íÚµ÷îÝc £3ñññ¡¡¡~øa‹-L§Fôµ$“.õpŸ`â#66666VMý®6ŧ6}•¡­¹þýûóÜXZMkz™ÜÝÝW¬X¡Ýfs&¹ˆ`90_z¹\nÚH´F¯ƒPXXÈÌ¿~ýº[¡·Ù¿¿¦çîMöòò"‰Ë—/³Ñ9t™úsg€ ã2ÐpÐ;¶fddð?Ë䛆0ÑóDè-“ˆ­[·ê±•ÐÐP©TJQTBBÂ¥K—¸Ö¬Y£ê\íÞd>Þzë-’ˆ‹‹cúTVVnÙ²…¤Íj)íðiӦ͉'ŒÆe á1bIÌŸ?ÿêÕ«•••¦G ô£Ë—/?wîœ\.¿ÿþ‚ RSSõØŠ››yŽC¡PŒ5jÕªU999r¹¼¬¬,%%eôèÑjvl1Ü›}úlܸ1;;»¼¼ÜÔá@C†ÑËqP®ößLŽé}òÉ'ùùùE͘1£°°ïŒåÀ¼!0ŒÎXŒË€%ÒbT…ìAQÔÚµkÉ&F@FgîÞ½ëççgêX@ÿ0.ÀËýû÷IÂÕÕÕ´‘€ …­[·6u —àE.—“„PˆŸÐ|´D=Љ‰0`€£££••U«V­fΜyóæM½Tž››»qãÆ   N:ÙÙÙ‰D¢Æ÷ìÙsáÂ…ªÎ’Éd±±±ÞÞÞŽŽŽb±ØÁÁ¡W¯^‹/NOO××)Zl/¥´¤ªÞxã ’Ï­*!!}ã7Ô7jhÚ]ýëׯO˜0ÁÉÉI,»¹¹EDD”––r‹iwõ©¯áR]]½eË–×_ÝÚÚÚÁÁÁßß?99Y/­ðï>ŸK¯êþ),,üøã½¼¼š4ibeeåää4zôè'Nè«ûРԂ9IKKc^àà`½7±cÇŽFqï±XüÕW_©:‹ÿ £æf+V¬àžRTTÔ­[7nQ-NÑâþWÓn _}õÉéÛ·/·ª£›7oæÓ¢úÀ´¦ÑÕ§?~\,³NéÙ³§L&Su —ª«Ï:Q¡PŒ;VÍû¬K+ü»¯¦ UQ{öì±³³SZxúôé …B÷î×éèÑ£Ìs—.]ªÑé`±.\ȼs’““M€‰uêÔ‰ùC¡êwxýËì`\\œ©#^Èüá-((0uD +Ì—±,Û·oŸ;wnyy¹µµuTTTvv¶L&+))IJJ4hТE‹toÂÓÓsåÊ•gÏžÍÏϯ¨¨¨ªªzðàAbb¢‹‹KmmíºuëvíÚÅ:eÅŠd‚¯¯ozzzEE…L&»}ûöŽ;èá ÝOaÞ÷<û¢ôÖ?mÚ4‰DBQÔµkײ²²˜õäää\¹r…¢(©T:mÚ4ž­ëÖW?$$dîܹyyy2™,%%ÅÙÙ™¢¨7nìØ±ƒUR‹«Ï²yóæ3gά\¹òöíÛ2™ìÎ;áááziE£îó¹ôÜiïÞ½3fÌxùò¥­­í¦M› +**RSSÉÿ{÷ԽûÐøF#¸víš——ý288øÀúª|8EQýû÷'ƒ4—ÇSõðáÃV­Zñ©M‹S˜´èŸS&Ož|èÐ!Š¢/^ÌüjÙ²eëׯ§(jÒ¤IÔo`>>?ÿü3ŸÖÕ\}V[­[·Þ¶mÛþóæÑ¸¸8Ö7ùš¶b„›¿°°ÐÝÝýåË—B¡0%%…¹eFyyyÏž=ïÞ½+‰rss;tè ª ]ºO;vìØøñãé—K—.ݰaÿÓÁbEDDÄÅÅÑ/“““M€ÉuîÜùöíÛôK…B!‰LÞ}ùå—K–,¡_†……½ùæ›&ŒxZ¼xqvv6ý²  ÀÅÅÅ„ñ€è0×ôÏ Ï1-_¾œT;oÞ}Zïñ¤ÅÕ§ƒ9{ö,3ŸÞšÊÙÙ™gUj®>«­ &ð¬S£VŒpóGGG“bÓ¦Mãݶm9º|ùr5MèÒ}žcíà9&K{Ž ê)<ÇÔà9& rö쨥lhIDATY’˜:uªAºwï^TT”···³³³D"! š’g|(Šzþü9«|çÎIbøðáÇ_³fMJJÊË—/Õ4¡Å)FàïïOvÑ.**JJJ"™§OŸ.(( (ÊÕÕÕßß_} ôO¦ÞcÓåê÷îÝ›ù’úô)·°¦WŸeúôé|BÒ´#Üüô¨ÜŒ3¸G}||HâòåËj*áÙ}h0¬LÏ;wH¢{÷î†keË–-ï¿ÿ~ee¥ª555¬œ?þxÒ¤IµµµÕÕÕçÏŸ?þK¯^½êŒG‹VŒpóçææ’DŸ>}¸GÛ¶mKÌ)ñ\|º æËXz:‰½½½š8}úôÂ… +++ÅbqddäÍ›7+**È5È'L˜pæÌ™~ýú13«ªªNž<Ù¿ÿ[·néåã !‰3gΟüí·ß.^¼xüøqòìϳgÏ–/_~üøq½œb;v2dÈåË— Åwß}'•Jɤ’Áƒ»»»›$$œ¯>“µµµ!Z1B÷é&ª««ÕS(jŽÖÙ}}éÑ£Ghh¨©£]ÑßÿAý…q âîîþÇPuóæÍÁƒkt®@Àkë®ôôt’à®âÁg‹««ëäÉ“'Ož¼iÓ¦÷Þ{,•zñâEýžbh!!!d ‘ÄÄD©TJgš0$J·«Ï“ŽWß ­¡û¤‰¦M›–––¢~ýòóócç˜,½èìþýû5=·qãÆ$¡~ÝV™LFôx¹Ñr$ ÙXš¢¨W¯^è™4iyX&777##ƒ¢(;;»É“'›0$J·«Ï“¾®¾!ZÑ¥ûôrÂô~Ojšxúô©úd˜0.cABCCÉGÙ„„„K—.q ¬Y³Fչݺu#‰+W®¨i¢C‡$Aâ¥Ý¹sç믿Ö(Ú¿ÿþ›$Z·nm¸S ÁÖÖ–5 3yòd[[[>ç þGïQérõyÒãÕ×{+ºt¿U«V$AFÙêlbÑ¢EÜ‘)ŠzðàÁ¤I“ÔÔ`xþÒ+**zÿý÷===mmm ÷{R f˜XZ ã2ÄÍÍ-66–¢(…B1jÔ¨U«VåääÈåò²²²”””Ñ£GGGG«:—Þ¾÷ý÷ßÏÉÉ©³ØÜ¹s“““e2YYYÙþýû‡ ¦fQnݺEGGÿüóÏ……… …âÅ‹ÉÉÉ'NdÕ©ã)Æ4{öl5/MB—«Ï“vWß8­èÒý#FÄüùó¯^½ªj(º ²"õ>|¨P(JKKÏ;êîî~øða­;`±?~ܧOŸ7fgg———›:œÿc¶@=S æ$--yu‚ƒƒõÞÄ·ß~kccýD"ÑÆU¥P(FŽYçýSYY©ôAå¦M›^½zUÕYjîÏÀÀ@z·]NQS^Mw”Ö îÍeèܹ3)ïîîÎó-ZÑ”FW_M0Jiwõël‹E—V´»ùÿùçŸ-ZpÏRÚʶmÛT­ÝÛºuëC‡éØ}>Ž=ÊlwéÒ¥z©¼… 2ïœääd#4Êçæ'ef̘QXXh„¨x2ÛÀ4¥Ý¯ ýþâ2O:ubþP( SG æËXœÙ³gß»w/&&ÆÛÛÛÉÉI,»¸¸L:õÚµkK–,Qu–H$:yòäÆßxã ¥Ÿl ‰DræÌ™M›6õîÝ»Q£Fb±¸C‡aaa7nÜðòòRuVVVÖºuëFŽÙºuk‰D"‘H\]]ÇŽ{ðàÁ¤¤$¥Ÿrµ8ÅÈÚ´iC3gÎ4m$LÚ]}ž´»úÆlE»î»¹¹Ý¸qcùòå}úôqpp‰Djš ½sçÎÊ•+½¼¼HáæÍ›5jÇŽwîÜ¡§t§OŸ&‰µkת$5 ³ Ì8è?%M@½Çk“0šk×®1?[8pÀ„ñ€vî߿߮]»šš¡PøÏ?ÿÐc4FpìØ±ñãÇÓ/—.]ºaÃÆõEDDD\\ý299900ÐÐÒ«“¨ùkD*•’U·«««…B3ú>ÉlÓŸ«`™:wîÌ\Ê]¡P¨šÐN=þ3Àl%$$ÔÔÔPåçç‡A]Ð[¡™Û؇Ùõ‹•©u~üñGÓn-Z¨­­-,,$éëׯ㠂‘Ñ[‰˜òòòØØØC‡ݽ{—¢¨7ÞxcñâÅ&LPU^é.?¬L“LîÐ"05³QTbæ_¿~}ݺu—.]zöìY«V­ÆŽûñÇ;::ªŠðÑ£G gΜÉÍÍ}þü¹³³óˆ#>øàz_EþQ˜š2\ …b×®]ÈÈÈ(++kÒ¤IÏž=ßzë­Y³f)~¢K÷ê%#¯gê±ÖýÐÖýž ·îoAAA×®]¹7çêÕ«é4ë>÷¶šù”ÑŽ© ¦ÎSŽ?.‹Yõ÷ìÙS&“) oÇŽ5â†$‹¿úê+M;¢&05eXŠ‹‹ûõë§ôÄ–””¨y[4í¾ÞaÝ_0̼š2eÊ­[·(Š3fLVV–L&ËÈÈð÷÷ÿøãUÂüKEif­‰VB1r`!!!sçÎÍËË“Éd)))ÎÎÎEݸqcÇŽÜÂÛ·oŸ;wnyy¹µµuTTTvv¶L&+))IJJ4hТE‹4í·/ZtsêÔ©d³¼€€€ÌÌL™L–™™@QTjjêŒ3ôÕ}€zLÓ0(Ì—ýÂ|àÉ@óeΜ9C*ìÞ½»\.§ó+**:wîL7§¦>et?E <[QSLÕ!:ܸqÌüo¾ù†äûøø°NÉËË#{ŠD¢óçϳŽÖÔÔ¬X±BÇŽhqVJJ )ãááQYYIçËd2rˆ­Ý7Ì—ãÀú2æE(J¥RSG ‡•~σ)íß¿Ÿ$ÂÃÙϤX[[GDD„……™(®úaþüùÌ—#GŽ$‰¬¬,VÉøøx²¶Ôœ9s|}}YGÁÚµk ¦Jßÿ=IDDDH$:_*•.\¸ônß¾}Ü€ þݨ×ð÷ºyéÝ»7Ö쀃ž:xð`Ö¡¡C‡¨ÑÚ†²ßsïÞ½™/]\\HâéÓ§¬’gÏž%‰©S§!0žè«?dÈÖ!:‡<å¤ÿîÔkX_ åÁƒ$Ѷm[Ö!777£‡SÏ4mÚ”ù’žþVUUÅ*yçÎ’èÞ½»ãIÍÕ§sè2\ü»P¯a\ ¥¼¼œ$lllX‡¸9À"òý;íåË—$aooo°p4öêÕ+’Psõéȹøw ^Ãx`(vvv$QQQÁ:Äͱ(555z¬~Ÿ_¼x¡ÇjudkkKj®>9€Å¸ J›6mH"??ŸuèŸþ1v4¦@?}S]]ÍÌ/))Ñc+îîî$qóæM=V«#WWW’ÈËËc¢sè2 ã2`(^^^$ñ믿²]¼xÑØÑ˜½HJaa!3ÿúõëzlÅßߟ$è °ø£wJ’Ëåz ‰b\ýË—/³Ñ9t‹…q0z{ ¸¸8ær­2™,..Î@ þÇ@õkÄÃÃ$è-“ˆ­[·ê±•ÐÐP©TJQTBBÂ¥K—¸Ö¬Y£êÜV­Z‘DFF†C¢(ê­·Þ"‰¸¸8æ Oeeå–-[HÚ¬60 ŒË€¡øùùùùùQ•™™9a„[·nÉåòÌÌÌ7ß|óîÝ»¦ŽÎ‚‚‚HbùòåçΓËå÷ïß_°`Ajjª[qss‹¥(J¡PŒ5jÕªU999r¹¼¬¬,%%eôèÑÑÑѪÎ1bIÌŸ?ÿêÕ«•••úŠjäÈ‘>>>EeggeeeÉåò¬¬¬   ììlÒôðáÃõÕ@=%¨­­5u `bÌ ,ÉÉÉz©¹  ÀÇÇ'77—•¿fÍš•+W’´š¿Fèi/üÿbÑâ-ðlE&“õéÓ'++‹™)‹9òæ›o*­AMÍêݹsgxx8w‘]‘H´~ýú%K–(0//¯_¿~?æb¶Âsþ+°'OžüñÇÜ’}ûöMNNnÞ¼9+_ëîë]çÎoß¾M¿T("‘È퀥Á|0 –-[¦§§¯Zµªk×®b±ØÆÆfÀ€‡ŠŠŠ2uhÆ`mm}ñâÅ ´nÝÚÊÊÊÉÉi„ W¯^3fŒÞÛš={ö½{÷bbb¼½½œœÄb±‹‹ËÔ©S¯]»¦jP†¢(77·7n,_¾¼OŸ>úzpvvþý÷ßããã}||œœœÈ;àãã³}ûöÔÔTî  €Â|0à|€z óeÀ80_À4¬L˜7nX[[›: S*//7u`0.l+V¬0uÏ1˜ÆeLã2¦ñÿïªz»ËM0CIEND®B`‚flexmix/vignettes/flexmix-intro.Rnw0000644000176200001440000010256514404637307017254 0ustar liggesusers% % Copyright (C) 2004-2005 Friedrich Leisch % $Id: flexmix-intro.Rnw 5187 2020-06-25 17:59:39Z gruen $ % \documentclass[nojss]{jss} \title{FlexMix: A General Framework for Finite Mixture Models and Latent Class Regression in \proglang{R}} \Plaintitle{FlexMix: A General Framework for Finite Mixture Models and Latent Class Regression in R} \Shorttitle{FlexMix: Finite Mixture Models in \proglang{R}} \author{Friedrich Leisch\\Universit\"at f\"ur Bodenkultur Wien} \Plainauthor{Friedrich Leisch} \Address{ Friedrich Leisch\\ Institut f\"ur Angewandte Statistik und EDV\\ Universit\"at f\"ur Bodenkultur Wien\\ Peter Jordan Stra\ss{}e 82\\ 1190 Wien, Austria\\ E-mail: \email{Friedrich.Leisch@boku.ac.at} } \usepackage[utf8]{inputenc} \usepackage{listings} \newcommand{\R}{\proglang{R}} <>= suppressWarnings(RNGversion("3.5.0")) set.seed(1504) options(width=70, prompt = "R> ", continue = "+ ", useFancyQuotes = FALSE) grDevices::ps.options(family="Times") library("graphics") library("flexmix") data("NPreg") @ \Abstract{ This article was originally published as \cite{flexmix:Leisch:2004a} in the \emph{Journal of Statistical Software}. FlexMix implements a general framework for fitting discrete mixtures of regression models in the \R{} statistical computing environment: three variants of the EM algorithm can be used for parameter estimation, regressors and responses may be multivariate with arbitrary dimension, data may be grouped, e.g., to account for multiple observations per individual, the usual formula interface of the \proglang{S} language is used for convenient model specification, and a modular concept of driver functions allows to interface many different types of regression models. Existing drivers implement mixtures of standard linear models, generalized linear models and model-based clustering. FlexMix provides the E-step and all data handling, while the M-step can be supplied by the user to easily define new models. } \Keywords{\proglang{R}, finite mixture models, model based clustering, latent class regression} \Plainkeywords{R, finite mixture models, model based clustering, latent class regression} \Volume{11} \Issue{8} \Month{October} \Year{2004} \Submitdate{2004-04-19} \Acceptdate{2004-10-18} %%\usepackage{Sweave} %% already provided by jss.cls %%\VignetteIndexEntry{FlexMix: A General Framework for Finite Mixture Models and Latent Class Regression in R} %%\VignetteDepends{flexmix} %%\VignetteKeywords{R, finite mixture models, model based clustering, latent class regression} %%\VignettePackage{flexmix} \begin{document} \section{Introduction} \label{sec:introduction} Finite mixture models have been used for more than 100 years, but have seen a real boost in popularity over the last decade due to the tremendous increase in available computing power. The areas of application of mixture models range from biology and medicine to physics, economics and marketing. On the one hand these models can be applied to data where observations originate from various groups and the group affiliations are not known, and on the other hand to provide approximations for multi-modal distributions \citep{flexmix:Everitt+Hand:1981,flexmix:Titterington+Smith+Makov:1985,flexmix:McLachlan+Peel:2000}. In the 1990s finite mixture models have been extended by mixing standard linear regression models as well as generalized linear models \citep{flexmix:Wedel+DeSarbo:1995}. An important area of application of mixture models is market segmentation \citep{flexmix:Wedel+Kamakura:2001}, where finite mixture models replace more traditional cluster analysis and cluster-wise regression techniques as state of the art. Finite mixture models with a fixed number of components are usually estimated with the expectation-maximization (EM) algorithm within a maximum likelihood framework \citep{flexmix:Dempster+Laird+Rubin:1977} and with MCMC sampling \citep{flexmix:Diebolt+Robert:1994} within a Bayesian framework. \newpage The \R{} environment for statistical computing \citep{flexmix:R-Core:2004} features several packages for finite mixture models, including \pkg{mclust} for mixtures of multivariate Gaussian distributions \citep{flexmix:Fraley+Raftery:2002,flexmix:Fraley+Raftery:2002a}, \pkg{fpc} for mixtures of linear regression models \citep{flexmix:Hennig:2000} and \pkg{mmlcr} for mixed-mode latent class regression \citep{flexmix:Buyske:2003}. There are three main reasons why we have chosen to write yet another software package for EM estimation of mixture models: \begin{itemize} \item The existing implementations did not cover all cases we needed for our own research (mainly marketing applications). \item While all \R{} packages mentioned above are open source and hence can be extended by the user by modifying the source code, we wanted an implementation where extensibility is a main design principle to enable rapid prototyping of new mixture models. \item We include a sampling-based variant of the EM-algorithm for models where weighted maximum likelihood estimation is not available. FlexMix has a clean interface between E- and M-step such that variations of both are easy to combine. \end{itemize} This paper is organized as follows: First we introduce the mathematical models for latent class regression in Section~\ref{sec:latent-class-regr} and shortly discuss parameter estimation and identifiability. Section~\ref{sec:using-flexmix} demonstrates how to use FlexMix to fit models with the standard driver for generalized linear models. Finally, Section~\ref{sec:extending-flexmix} shows how to extend FlexMix by writing new drivers using the well-known model-based clustering procedure as an example. \section{Latent class regression} \label{sec:latent-class-regr} Consider finite mixture models with $K$ components of form \begin{equation}\label{eq:1} h(y|x,\psi) = \sum_{k = 1}^K \pi_k f(y|x,\theta_k) \end{equation} \begin{displaymath} \pi_k \geq 0, \quad \sum_{k = 1}^K \pi_k = 1 \end{displaymath} where $y$ is a (possibly multivariate) dependent variable with conditional density $h$, $x$ is a vector of independent variables, $\pi_k$ is the prior probability of component $k$, $\theta_k$ is the component specific parameter vector for the density function $f$, and $\psi=(\pi_1,,\ldots,\pi_K,\theta_1',\ldots,\theta_K')'$ is the vector of all parameters. If $f$ is a univariate normal density with component-specific mean $\beta_k'x$ and variance $\sigma^2_k$, we have $\theta_k = (\beta_k', \sigma_k^2)'$ and Equation~(\ref{eq:1}) describes a mixture of standard linear regression models, also called \emph{latent class regression} or \emph{cluster-wise regression} \citep{flexmix:DeSarbo+Cron:1988}. If $f$ is a member of the exponential family, we get a mixture of generalized linear models \citep{flexmix:Wedel+DeSarbo:1995}, known as \emph{GLIMMIX} models in the marketing literature \citep{flexmix:Wedel+Kamakura:2001}. For multivariate normal $f$ and $x\equiv1$ we get a mixture of Gaussians without a regression part, also known as \emph{model-based clustering}. The posterior probability that observation $(x,y)$ belongs to class $j$ is given by \begin{equation}\label{eq:3} \Prob(j|x, y, \psi) = \frac{\pi_j f(y | x, \theta_j)}{\sum_k \pi_k f(y | x, \theta_k)} \end{equation} The posterior probabilities can be used to segment data by assigning each observation to the class with maximum posterior probability. In the following we will refer to $f(\cdot|\cdot, \theta_k)$ as \emph{mixture components} or \emph{classes}, and the groups in the data induced by these components as \emph{clusters}. \subsection{Parameter estimation} \label{sec:parameter-estimation} The log-likelihood of a sample of $N$ observations $\{(x_1,y_1),\ldots,(x_N,y_N)\}$ is given by \begin{equation}\label{eq:4} \log L = \sum_{n=1}^N \log h(y_n|x_n,\psi) = \sum_{n=1}^N \log\left(\sum_{k = 1}^K \pi_kf(y_n|x_n,\theta_k) \right) \end{equation} and can usually not be maximized directly. The most popular method for maximum likelihood estimation of the parameter vector $\psi$ is the iterative EM algorithm \citep{flexmix:Dempster+Laird+Rubin:1977}: \begin{description} \item[Estimate] the posterior class probabilities for each observation \begin{displaymath} \hat p_{nk} = \Prob(k|x_n, y_n, \hat \psi) \end{displaymath} using Equation~(\ref{eq:3}) and derive the prior class probabilities as \begin{displaymath} \hat\pi_k = \frac1N \sum_{n=1}^N \hat p_{nk} \end{displaymath} \item[Maximize] the log-likelihood for each component separately using the posterior probabilities as weights \begin{equation}\label{eq:2} \max_{\theta_k} \sum_{n=1}^N \hat p_{nk} \log f(y_n | x_n, \theta_k) \end{equation} \end{description} The E- and M-steps are repeated until the likelihood improvement falls under a pre-specified threshold or a maximum number of iterations is reached. The EM algorithm cannot be used for mixture models only, but rather provides a general framework for fitting models on incomplete data. Suppose we augment each observation $(x_n,y_n)$ with an unobserved multinomial variable $z_n = (z_{n1},\ldots,z_{nK})$, where $z_{nk}=1$ if $(x_n,y_n)$ belongs to class $k$ and $z_{nk}=0$ otherwise. The EM algorithm can be shown to maximize the likelihood on the ``complete data'' $(x_n,y_n,z_n)$; the $z_n$ encode the missing class information. If the $z_n$ were known, maximum likelihood estimation of all parameters would be easy, as we could separate the data set into the $K$ classes and estimate the parameters $\theta_k$ for each class independently from the other classes. If the weighted likelihood estimation in Equation~(\ref{eq:2}) is infeasible for analytical, computational, or other reasons, then we have to resort to approximations of the true EM procedure by assigning the observations to disjoint classes and do unweighted estimation within the groups: \begin{displaymath} \max_{\theta_k} \sum_{n: z_{nk=1}} \log f(y_n | x_n, \theta_k) \end{displaymath} This corresponds to allow only 0 and 1 as weights. Possible ways of assigning the data into the $K$ classes are \begin{itemize} \item \textbf{hard} \label{hard} assignment to the class with maximum posterior probability $p_{nk}$, the resulting procedure is called maximizing the \emph{classification likelihood} by \cite{flexmix:Fraley+Raftery:2002}. Another idea is to do \item \textbf{random} assignment to classes with probabilities $p_{nk}$, which is similar to the sampling techniques used in Bayesian estimation (although for the $z_n$ only). \end{itemize} Well known limitations of the EM algorithm include that convergence can be slow and is to a local maximum of the likelihood surface only. There can also be numerical instabilities at the margin of parameter space, and if a component gets to contain only a few observations during the iterations, parameter estimation in the respective component may be problematic. E.g., the likelihood of Gaussians increases without bounds for $\sigma^2\to 0$. As a result, numerous variations of the basic EM algorithm described above exist, most of them exploiting features of special cases for $f$. \subsection{Identifiability} \label{sec:identifiability} An open question is still identifiability of many mixture models. A comprehensive overview of this topic is beyond the scope of this paper, however, users of mixture models should be aware of the problem: \begin{description} \item[Relabelling of components:] Mixture models are only identifiable up to a permutation of the component labels. For EM-based approaches this only affects interpretation of results, but is no problem for parameter estimation itself. \item[Overfitting:] If a component is empty or two or more components have the same parameters, the data generating process can be represented by a smaller model with fewer components. This kind of unidentifiability can be avoided by requiring that the prior weights $\pi_k$ are not equal to zero and that the component specific parameters are different. \item[Generic unidentifiability:] It has been shown that mixtures of univariate normal, gamma, exponential, Cauchy and Poisson distributions are identifiable, while mixtures of discrete or continuous uniform distributions are not identifiable. A special case is the class of mixtures of binomial and multinomial distributions which are only identifiable if the number of components is limited with respect to, e.g., the number of observations per person. See \cite{flexmix:Everitt+Hand:1981}, \cite{flexmix:Titterington+Smith+Makov:1985}, \cite{flexmix:Grun:2002} and references therein for details. \end{description} FlexMix tries to avoid overfitting because of vanishing prior probabilities by automatically removing components where the prior $\pi_k$ falls below a user-specified threshold. Automated diagnostics for generic identifiability are currently under investigation. Relabelling of components is in some cases more of a nuisance than a real problem (``component 2 of the first run may be component 3 in the second run''), more serious are interactions of component relabelling and categorical predictor variables, see \cite{flexmix:Grun+Leisch:2004} for a discussion and how bootstrapping can be used to assess identifiability of mixture models. \pagebreak[4] \section{Using FlexMix} \label{sec:using-flexmix} \SweaveOpts{width=12,height=8,eps=FALSE,keep.source=TRUE} The standard M-step \texttt{FLXMRglm()} of FlexMix is an interface to R's generalized linear modelling facilities (the \texttt{glm()} function). As a simple example we use artificial data with two latent classes of size \Sexpr{nrow(NPreg)/2} each: \begin{center} \begin{tabular}{ll} Class~1: & $ y = 5x+\epsilon$\\ Class~2: & $ y = 15+10x-x^2+\epsilon$\\ \end{tabular} \end{center} with $\epsilon\sim N(0,9)$ and prior class probabilities $\pi_1=\pi_2=0.5$, see the left panel of Figure~\ref{fig:npreg}. We can fit this model in \R{} using the commands <<>>= library("flexmix") data("NPreg") m1 <- flexmix(yn ~ x + I(x^2), data = NPreg, k = 2) m1 @ and get a first look at the estimated parameters of mixture component~1 by <<>>= parameters(m1, component = 1) @ and <<>>= parameters(m1, component = 2) @ for component~2. The paramter estimates of both components are close to the true values. A cross-tabulation of true classes and cluster memberships can be obtained by <<>>= table(NPreg$class, clusters(m1)) @ The summary method <<>>= summary(m1) @ gives the estimated prior probabilities $\hat\pi_k$, the number of observations assigned to the corresponding clusters, the number of observations where $p_{nk}>\delta$ (with a default of $\delta=10^{-4}$), and the ratio of the latter two numbers. For well-seperated components, a large proportion of observations with non-vanishing posteriors $p_{nk}$ should also be assigned to the corresponding cluster, giving a ratio close to 1. For our example data the ratios of both components are approximately 0.7, indicating the overlap of the classes at the cross-section of line and parabola. \begin{figure}[htbp] \centering <>= par(mfrow=c(1,2)) plot(yn~x, col=class, pch=class, data=NPreg) plot(yp~x, col=class, pch=class, data=NPreg) @ \caption{Standard regression example (left) and Poisson regression (right).} \label{fig:npreg} \end{figure} Histograms or rootograms of the posterior class probabilities can be used to visually assess the cluster structure \citep{flexmix:Tantrum+Murua+Stuetzle:2003}, this is now the default plot method for \texttt{"flexmix"} objects \citep{flexmix:Leisch:2004}. Rootograms are very similar to histograms, the only difference is that the height of the bars correspond to square roots of counts rather than the counts themselves, hence low counts are more visible and peaks less emphasized. \begin{figure}[htbp] \centering <>= print(plot(m1)) @ \caption{The plot method for \texttt{"flexmix"} objects, here obtained by \texttt{plot(m1)}, shows rootograms of the posterior class probabilities.} \label{fig:root1} \end{figure} Usually in each component a lot of observations have posteriors close to zero, resulting in a high count for the corresponing bin in the rootogram which obscures the information in the other bins. To avoid this problem, all probabilities with a posterior below a threshold are ignored (we again use $10^{-4}$). A peak at probability 1 indicates that a mixture component is well seperated from the other components, while no peak at 1 and/or significant mass in the middle of the unit interval indicates overlap with other components. In our simple example the components are medium well separated, see Figure~\ref{fig:root1}. Tests for significance of regression coefficients can be obtained by <<>>= rm1 <- refit(m1) summary(rm1) @ Function \texttt{refit()} fits weighted generalized linear models to each component using the standard \R{} function \texttt{glm()} and the posterior probabilities as weights, see \texttt{help("refit")} for details. The data set \texttt{NPreg} also includes a response from a generalized linear model with a Poisson distribution and exponential link function. The two classes of size \Sexpr{nrow(NPreg)/2} each have parameters \begin{center} \begin{tabular}{ll} Class~1: & $ \mu_1 = 2 - 0.2x$\\ Class~2: & $ \mu_2 = 1 + 0.1x$\\ \end{tabular} \end{center} and given $x$ the response $y$ in group $k$ has a Poisson distribution with mean $e^{\mu_k}$, see the right panel of Figure~\ref{fig:npreg}. The model can be estimated using <>= options(width=55) @ <<>>= m2 <- flexmix(yp ~ x, data = NPreg, k = 2, model = FLXMRglm(family = "poisson")) summary(m2) @ <>= options(width=65) @ \begin{figure}[htbp] \centering <>= print(plot(m2)) @ \caption{\texttt{plot(m2)}} \label{fig:root2} \end{figure} Both the summary table and the rootograms in Figure~\ref{fig:root2} clearly show that the clusters of the Poisson response have much more overlap. For our simple low-dimensional example data the overlap of the classes is obvious by looking at scatterplots of the data. For data in higher dimensions this is not an option. The rootograms and summary tables for \texttt{"flexmix"} objects work off the densities or posterior probabilities of the observations and thus do not depend on the dimensionality of the input space. While we use simple 2-dimensional examples to demonstrate the techniques, they can easily be used on high-dimensional data sets or models with complicated covariate structures. \subsection{Multiple independent responses} \label{sec:mult-indep-resp} If the response $y=(y_1,\ldots,y_D)'$ is $D$-dimensional and the $y_d$ are mutually independent the mixture density in Equation~(\ref{eq:1}) can be written as \begin{eqnarray*} h(y|x,\psi) &=& \sum_{k = 1}^K \pi_k f(y|x,\theta_k)\\ &=& \sum_{k = 1}^K \pi_k \prod_{d=1}^D f_d(y|x,\theta_{kd}) \end{eqnarray*} To specify such models in FlexMix we pass it a list of models, where each list element corresponds to one $f_d$, and each can have a different set of dependent and independent variables. To use the Gaussian and Poisson responses of data \texttt{NPreg} simultaneously, we use the model specification \begin{Sinput} > m3 = flexmix(~x, data=NPreg, k=2, + model=list(FLXMRglm(yn~.+I(x^2)), + FLXMRglm(yp~., family="poisson"))) \end{Sinput} <>= m3 <- flexmix(~ x, data = NPreg, k = 2, model=list(FLXMRglm(yn ~ . + I(x^2)), FLXMRglm(yp ~ ., family = "poisson"))) @ Note that now three model formulas are involved: An overall formula as first argument to function \texttt{flexmix()} and one formula per response. The latter ones are interpreted relative to the overall formula such that common predictors have to be specified only once, see \texttt{help("update.formula")} for details on the syntax. The basic principle is that the dots get replaced by the respective terms from the overall formula. The rootograms show that the posteriors of the two-response model are shifted towards 0 and 1 (compared with either of the two univariate models), the clusters are now well-separated. \begin{figure}[htbp] \centering <>= print(plot(m3)) @ \caption{\texttt{plot(m3)}} \label{fig:root3} \end{figure} \subsection{Repeated measurements} \label{sec:repe-meas} If the data are repeated measurements on $M$ individuals, and we have $N_m$ observations from individual $m$, then the log-likelihood in Equation~(\ref{eq:4}) can be written as \begin{displaymath} \log L = \sum_{m=1}^M \sum_{n=1}^{N_m} \log h(y_{mn}|x_{mn},\psi), \qquad \sum_{m=1}^M N_m = N \end{displaymath} and the posterior probability that individual $m$ belongs to class $j$ is given by \begin{displaymath} \Prob(j|m) = \frac{\pi_j \prod_{n=1}^{N_m} f(y_{mn} | x_{mn}, \theta_j)}{\sum_k \pi_k \prod_{n=1}^{N_m} f(y_{mn} | x_{mn}, \theta_k)} \end{displaymath} where $(x_{mn}, y_{mn})$ is the $n$-th observation from individual $m$. As an example, assume that the data in \texttt{NPreg} are not 200 independent observations, but 4 measurements each from 50 persons such that $\forall m: N_m=4$. Column \texttt{id2} of the data frame encodes such a grouping and can easily be used in FlexMix: <<>>= m4 <- flexmix(yn ~ x + I(x^2) | id2, data = NPreg, k = 2) summary(m4) @ Note that convergence of the EM algorithm is much faster with grouping and the two clusters are now perfectly separated. \subsection{Control of the EM algorithm} \label{sec:control-em-algorithm} Details of the EM algorithm can be tuned using the \texttt{control} argument of function \texttt{flexmix()}. E.g., to use a maximum number of 15 iterations, report the log-likelihood at every 3rd step and use hard assignment of observations to clusters (cf. page~\pageref{hard}) the call is <<>>= m5 <- flexmix(yn ~ x + I(x^2), data = NPreg, k = 2, control = list(iter.max = 15, verbose = 3, classify = "hard")) @ Another control parameter (\texttt{minprior}, see below for an example) is the minimum prior probability components are enforced to have, components falling below this threshold (the current default is 0.05) are removed during EM iteration to avoid numerical instabilities for components containing only a few observations. Using a minimum prior of 0 disables component removal. \subsection{Automated model search} In real applications the number of components is unknown and has to be estimated. Tuning the minimum prior parameter allows for simplistic model selection, which works surprisingly well in some situations: <<>>= m6 <- flexmix(yp ~ x + I(x^2), data = NPreg, k = 4, control = list(minprior = 0.2)) m6 @ Although we started with four components, the algorithm converged at the correct two component solution. A better approach is to fit models with an increasing number of components and compare them using AIC or BIC. As the EM algorithm converges only to the next local maximum of the likelihood, it should be run repeatedly using different starting values. The function \texttt{stepFlexmix()} can be used to repeatedly fit models, e.g., <<>>= m7 <- stepFlexmix(yp ~ x + I(x^2), data = NPreg, control = list(verbose = 0), k = 1:5, nrep = 5) @ runs \texttt{flexmix()} 5 times for $k=1,2,\ldots,5$ components, totalling in 25 runs. It returns a list with the best solution found for each number of components, each list element is simply an object of class \texttt{"flexmix"}. To find the best model we can use <<>>= getModel(m7, "BIC") @ and choose the number of components minimizing the BIC. \section{Extending FlexMix} \label{sec:extending-flexmix} One of the main design principles of FlexMix was extensibility, users can provide their own M-step for rapid prototyping of new mixture models. FlexMix was written using S4 classes and methods \citep{flexmix:Chambers:1998} as implemented in \R{} package \pkg{methods}. The central classes for writing M-steps are \texttt{"FLXM"} and \texttt{"FLXcomponent"}. Class \texttt{"FLXM"} specifies how the model is fitted using the following slots: \begin{description} \item[fit:] A \texttt{function(x,y,w)} returning an object of class \texttt{"FLXcomponent"}. \item[defineComponent:] Expression or function constructing the object of class \texttt{"FLXcomponent"}. \item[weighted:] Logical, specifies if the model may be fitted using weighted likelihoods. If \texttt{FALSE}, only hard and random classification are allowed (and hard classification becomes the default). \item[formula:] Formula relative to the overall model formula, default is \verb|.~.| \item[name:] A character string describing the model, this is only used for print output. \end{description} The remaining slots of class \texttt{"FLXM"} are used internally by FlexMix to hold data, etc. and omitted here, because they are not needed to write an M-step driver. The most important slot doing all the work is \texttt{fit} holding a function performing the maximum likelihood estimation described in Equation~(\ref{eq:2}). The \texttt{fit()} function returns an object of class \texttt{"FLXcomponent"} which holds a fitted component using the slots: \begin{description} \item[logLik:] A \texttt{function(x,y)} returning the log-likelihood for observations in matrices \texttt{x} and \texttt{y}. \item[predict:] A \texttt{function(x)} predicting \texttt{y} given \texttt{x}. \item[df:] The degrees of freedom used by the component, i.e., the number of estimated parameters. \item[parameters:] An optional list containing model parameters. \end{description} In a nutshell class \texttt{"FLXM"} describes an \emph{unfitted} model, whereas class \texttt{"FLXcomponent"} holds a \emph{fitted} model. \lstset{frame=trbl,basicstyle=\small\tt,stepnumber=5,numbers=left} \begin{figure}[tb] \centering \begin{minipage}{0.94\textwidth} \lstinputlisting{mymclust.R} \end{minipage} \caption{M-step for model-based clustering: \texttt{mymclust} is a simplified version of the standard FlexMix driver \texttt{FLXmclust}.} \label{fig:mymclust.R} \end{figure} \subsection{Writing an M-step driver} \label{sec:writing-an-m} Figure~\ref{fig:mymclust.R} shows an example driver for model-based clustering. We use function \texttt{dmvnorm()} from package \pkg{mvtnorm} for calculation of multivariate Gaussian densities. In line~5 we create a new \texttt{"FLXMC"} object named \texttt{retval}, which is also the return value of the driver. Class \texttt{"FLXMC"} extends \texttt{"FLXM"} and is used for model-based clustering. It contains an additional slot with the name of the distribution used. All drivers should take a formula as their first argument, this formula is directly passed on to \texttt{retval}. In most cases authors of new FlexMix drivers need not worry about formula parsing etc., this is done by \texttt{flexmix} itself. In addition we have to declare whether the driver can do weighted ML estimation (\texttt{weighted=TRUE}) and give a name to our model. The remainder of the driver creates a \texttt{fit()} function, which takes regressors \texttt{x}, response \texttt{y} and weights \texttt{w}. For multivariate Gaussians the maximum likelihood estimates correspond to mean and covariance matrix, the standard R function \texttt{cov.wt()} returns a list containing estimates of the weighted covariance matrix and the mean for given data. Our simple example performs clustering without a regression part, hence $x$ is ignored. If \texttt{y} has $D$ columns, we estimate $D$ parameters for the mean and $D(D-1)/2$ parameters for the covariance matrix, giving a total of $(3D+D^2)/2$ parameters (line~11). As an additional feature we allow the user to specify whether the covariance matrix is assumed to be diagonal or a full matrix. For \texttt{diagonal=TRUE} we use only the main diagonal of the covariance matrix (line~14) and the number of parameters is reduced to $2D$. In addition to parameter estimates, \texttt{flexmix()} needs a function calculating the log-likelihood of given data $x$ and $y$, which in our example is the log-density of a multivariate Gaussian. In addition we have to provide a function predicting $y$ given $x$, in our example simply the mean of the Gaussian. Finally we create a new \texttt{"FLXcomponent"} as return value of function \texttt{fit()}. Note that our internal functions \texttt{fit()}, \texttt{logLik()} and \texttt{predict()} take only \texttt{x}, \texttt{y} and \texttt{w} as arguments, but none of the model-specific parameters like means and covariances, although they use them of course. \R{} uses \emph{lexical scoping} rules for finding free variables \citep{flexmix:Gentleman+Ihaka:2000}, hence it searches for them first in the environment where a function is defined. E.g., the \texttt{fit()} function uses the variable \texttt{diagonal} in line~24, and finds it in the environment where the function itself was defined, which is the body of function \texttt{mymclust()}. Function \texttt{logLik()} uses the list \texttt{para} in lines~8 and 9, and uses the one found in the body of \texttt{defineComponent()}. Function \texttt{flexmix()} on the other hand never sees the model parameters, all it uses are function calls of form \texttt{fit(x,y,w)} or \texttt{logLik(x,y)}, which are exactly the same for all kinds of mixture models. In fact, it would not be necessary to even store the component parameters in the \texttt{"FLXcomponent"} object, they are there only for convenience such that users can easily extract and use them after \texttt{flexmix()} has finished. Lexical scope allows to write clean interfaces in a very elegant way, the driver abstracts all model details from the FlexMix main engine. \subsection{Example: Using the driver} \label{sec:example:-model-based} \SweaveOpts{width=12,height=6,eps=FALSE} <>= library("flexmix") set.seed(1504) options(width=60) grDevices::ps.options(family="Times") suppressMessages(require("ellipse")) suppressMessages(require("mvtnorm")) source("mymclust.R") @ As a simple example we use the four 2-dimensional Gaussian clusters from data set \texttt{Nclus}. Fitting a wrong model with diagonal covariance matrix is done by <<>>= data("Nclus") m1 <- flexmix(Nclus ~ 1, k = 4, model = mymclust()) summary(m1) @ The result can be seen in the left panel of Figure~\ref{fig:ell}, the result is ``wrong'' because we forced the ellipses to be parallel to the axes. The overlap between three of the four clusters can also be inferred from the low ratio statistics in the summary table (around 0.5 for components 1, 3 and 4), while the much better separated upper left cluster has a much higher ratio of 0.85. Using the correct model with a full covariance matrix can be done by setting \texttt{diagonal=FALSE} in the call to our driver \texttt{mymclust()}: <<>>= m2 <- flexmix(Nclus ~ 1, k = 4, model = mymclust(diagonal = FALSE)) summary(m2) @ \begin{figure}[htbp] \centering <>= par(mfrow=1:2) plotEll(m1, Nclus) plotEll(m2, Nclus) @ \caption{Fitting a mixture model with diagonal covariance matrix (left) and full covariance matrix (right).} \label{fig:ell} \end{figure} \pagebreak[4] \section{Summary and outlook} \label{sec:summary} The primary goal of FlexMix is extensibility, this makes the package ideal for rapid development of new mixture models. There is no intent to replace packages implementing more specialized mixture models like \pkg{mclust} for mixtures of Gaussians, FlexMix should rather be seen as a complement to those. By interfacing R's facilities for generalized linear models, FlexMix allows the user to estimate complex latent class regression models. Using lexical scope to resolve model-specific parameters hides all model details from the programming interface, FlexMix can in principle fit almost arbitrary finite mixture models for which the EM algorithm is applicable. The downside of this is that FlexMix can in principle fit almost arbitrary finite mixture models, even models where no proper theoretical results for model identification etc.\ are available. We are currently working on a toolset for diagnostic checks on mixture models to test necessary identifiability conditions for those cases where results are available. We also want to implement newer variations of the classic EM algorithm, especially for faster convergence. Another plan is to have an interactive version of the rootograms using \texttt{iPlots} \citep{flexmix:Urbanek+Theus:2003} such that the user can explore the relations between mixture components, possibly linked to background variables. Other planned extensions include covariates for the prior probabilities and to allow to mix different distributions for components, e.g., to include a Poisson point process for background noise. \section*{Computational details} <>= SI <- sessionInfo() pkgs <- paste(sapply(c(SI$otherPkgs, SI$loadedOnly), function(x) paste("\\\\pkg{", x$Package, "} ", x$Version, sep = "")), collapse = ", ") @ All computations and graphics in this paper have been done using \proglang{R} version \Sexpr{getRversion()} with the packages \Sexpr{pkgs}. \section*{Acknowledgments} This research was supported by the Austrian Science Foundation (FWF) under grant SFB\#010 (`Adaptive Information Systems and Modeling in Economics and Management Science'). Bettina Gr\"un has modified the original version to include and reflect the changes of the package. \bibliography{flexmix} \end{document} %%% Local Variables: %%% mode: latex %%% TeX-master: t %%% End: flexmix/vignettes/ziglm.R0000644000176200001440000000220514404637307015212 0ustar liggesuserssetClass("FLXMRziglm", contains = "FLXMRglm") FLXMRziglm <- function(formula = . ~ ., family = c("binomial", "poisson"), ...) { family <- match.arg(family) new("FLXMRziglm", FLXMRglm(formula, family, ...), name = paste("FLXMRziglm", family, sep=":")) } setMethod("FLXgetModelmatrix", signature(model="FLXMRziglm"), function(model, data, formula, lhs=TRUE, ...) { model <- callNextMethod(model, data, formula, lhs) if (attr(terms(model@fullformula), "intercept") == 0) stop("please include an intercept") model }) setMethod("FLXremoveComponent", signature(model = "FLXMRziglm"), function(model, nok, ...) { if (1 %in% nok) as(model, "FLXMRglm") else model }) setMethod("FLXmstep", signature(model = "FLXMRziglm"), function(model, weights, components, ...) { coef <- c(-Inf, rep(0, ncol(model@x)-1)) names(coef) <- colnames(model@x) comp.1 <- with(list(coef = coef, df = 0, offset = NULL, family = model@family), eval(model@defineComponent)) c(list(comp.1), FLXmstep(as(model, "FLXMRglm"), weights[, -1, drop=FALSE], components[-1])) }) flexmix/vignettes/bootstrapping.Rnw0000644000176200001440000004660014404637307017337 0ustar liggesusers\documentclass[nojss]{jss} \usepackage{amsfonts,bm,amsmath,amssymb} %%\usepackage{Sweave} %% already provided by jss.cls %%%\VignetteIndexEntry{Finite Mixture Model Diagnostics Using Resampling Methods} %%\VignetteDepends{flexmix} %%\VignetteKeywords{R, finite mixture model, resampling, bootstrap} %%\VignettePackage{flexmix} \title{Finite Mixture Model Diagnostics Using Resampling Methods} <>= options(useFancyQuotes = FALSE) digits <- 3 Colors <- c("#E495A5", "#39BEB1") critical_values <- function(n, p = "0.95") { data("qDiptab", package = "diptest") if (n %in% rownames(qDiptab)) { return(qDiptab[as.character(n), p]) }else { n.approx <- as.numeric(rownames(qDiptab)[which.min(abs(n - as.numeric(rownames(qDiptab))))]) return(sqrt(n.approx)/sqrt(n) * qDiptab[as.character(n.approx), p]) } } library("graphics") library("flexmix") combine <- function(x, sep, width) { cs <- cumsum(nchar(x)) remaining <- if (any(cs[-1] > width)) combine(x[c(FALSE, cs[-1] > width)], sep, width) c(paste(x[c(TRUE, cs[-1] <= width)], collapse= sep), remaining) } prettyPrint <- function(x, sep = " ", linebreak = "\n\t", width = getOption("width")) { x <- strsplit(x, sep)[[1]] paste(combine(x, sep, width), collapse = paste(sep, linebreak, collapse = "")) } @ \author{Bettina Gr{\"u}n\\ Wirtschaftsuniversit{\"a}t Wien \And Friedrich Leisch\\ Universit\"at f\"ur Bodenkultur Wien} \Plainauthor{Bettina Gr{\"u}n, Friedrich Leisch} \Address{ Bettina Gr\"un\\ Institute for Statistics and Mathematics\\ Wirtschaftsuniversit{\"a}t Wien\\ Welthandelsplatz 1\\ 1020 Wien, Austria\\ E-mail: \email{Bettina.Gruen@R-project.org}\\ Friedrich Leisch\\ Institut f\"ur Angewandte Statistik und EDV\\ Universit\"at f\"ur Bodenkultur Wien\\ Peter Jordan Stra\ss{}e 82\\ 1190 Wien, Austria\\ E-mail: \email{Friedrich.Leisch@boku.ac.at} } \Abstract{ This paper illustrates the implementation of resampling methods in \pkg{flexmix} as well as the application of resampling methods for model diagnostics of fitted finite mixture models. Convenience functions to perform these methods are available in package \pkg{flexmix}. The use of the methods is illustrated with an artificial example and the \code{seizure} data set. } \Keywords{\proglang{R}, finite mixture models, resampling, bootstrap} \Plainkeywords{R, finite mixture models, resampling, bootstrap} %%------------------------------------------------------------------------- %%------------------------------------------------------------------------- \begin{document} \SweaveOpts{engine=R, echo=true, height=5, width=8, eps=FALSE, keep.source=TRUE} \setkeys{Gin}{width=0.95\textwidth} \section{Implementation of resampling methods}\label{sec:implementation} The proposed framework for model diagnostics using resampling \citep{mixtures:gruen+leisch:2004} equally allows to investigate model fit for all kinds of mixture models. The procedure is applicable to mixture models with different component specific models and does not impose any limitation such as for example on the dimension of the parameter space of the component specific model. In addition to the fitting step different component specific models only require different random number generators for the parametric bootstrap. The \code{boot()} function in \pkg{flexmix} is a generic \proglang{S4} function with a method for fitted finite mixtures of class \code{"flexmix"} and is applicable to general finite mixture models. The function with arguments and their defaults is given by: <>= cat(prettyPrint(gsub("boot_flexmix", "boot", prompt(flexmix:::boot_flexmix, filename = NA)$usage[[2]]), sep = ", ", linebreak = paste("\n", paste(rep(" ", 2), collapse = ""), sep= ""), width = 70)) @ The interface is similar to the \code{boot()} function in package \pkg{boot} \citep{mixtures:Davison+Hinkley:1997, mixtures:Canty+Ripley:2010}. The \code{object} is a fitted finite mixture of class \code{"flexmix"} and \code{R} denotes the number of resamples. The possible bootstrapping method are \code{"empirical"} (also available as \code{"ordinary"}) and \code{"parametric"}. For the parametric bootstrap sampling from the fitted mixture is performed using \code{rflexmix()}. For mixture models with different component specific models \code{rflexmix()} requires a sampling method for the component specific model. Argument \code{initialize\_solution} allows to select if the EM algorithm is started in the original finite mixture solution or if random initialization is performed. The fitted mixture model might contain weights and group indicators. The weights are case weights and allow to reduce the amount of data if observations are identical. This is useful for example for latent class analysis of multivariate binary data. The argument \code{keep\_weights} allows to indicate if they should be kept for the bootstrapping. Group indicators allow to specify that the component membership is identical over several observations, e.g., for repeated measurements of the same individual. Argument \code{keep\_groups} allows to indicate if the grouping information should also be used in the bootstrapping. \code{verbose} indicates if information on the progress should be printed. The \code{control} argument allows to control the EM algorithm for fitting the model to each of the bootstrap samples. By default the \code{control} argument is extracted from the fitted model provided by \code{object}. \code{k} allows to specify the number of components and by default this is also taken from the fitted model provided. The \code{model} argument determines if also the model and the weights slot for each sample are stored and returned. The returned object is of class \code{"FLXboot"} and otherwise only contains the fitted parameters, the fitted priors, the log likelihoods, the number of components of the fitted mixtures and the information if the EM algorithm has converged. The likelihood ratio test is implemented based on \code{boot()} in function \code{LR\_test()} and returns an object of class \code{"htest"} containing the number of valid bootstrap replicates, the p-value, the double negative log likelihood ratio test statistics for the original data and the bootstrap replicates. The \code{plot} method for \code{"FLXboot"} objects returns a parallel coordinate plot with the fitted parameters separately for each of the components. \section{Artificial data set} In the following a finite mixture model is used as the underlying data generating process which is theoretically not identifiable. We are assuming a finite mixture of linear regression models with two components of equal size where the coverage condition is not fulfilled \citep{mixtures:Hennig:2000}. Hence, intra-component label switching is possible, i.e., there exist two parameterizations implying the same mixture distribution which differ how the components between the covariate points are combined. We assume that one measurement per object and a single categorical regressor with two levels are given. The usual design matrix for a model with intercept uses the two covariate points $\mathbf{x}_1 = (1, 0)'$ and $\mathbf{x}_2 = (1, 1)'$. The mixture distribution is given by \begin{eqnarray*} H(y|\mathbf{x}, \Theta) &=& \frac{1}{2} N(\mu_1, 0.1) + \frac{1}{2} N(\mu_2, 0.1), \end{eqnarray*} where $\mu_k(\mathbf{x}) = \mathbf{x}'\bm{\alpha}_k$ and $N(\mu, \sigma^2)$ is the normal distribution. Now let $\mu_1(\mathbf{x}_1) = 1$, $\mu_2(\mathbf{x}_1) = 2$, $\mu_1(\mathbf{x}_2) = -1$ and $\mu_2(\mathbf{x}_2) = 4$. As Gaussian mixture distributions are generically identifiable the means, variances and component weights are uniquely determined in each covariate point given the mixture distribution. However, as the coverage condition is not fulfilled, the two possible solutions for $\bm{\alpha}$ are: \begin{description} \item[Solution 1:] $\bm{\alpha}_1^{(1)} = (2,\phantom{-}2)'$, $\bm{\alpha}_2^{(1)} = (1,-2)'$, \item[Solution 2:] $\bm{\alpha}_1^{(2)} = (2,-3)'$, $\bm{\alpha}_2^{(2)} = (1,\phantom{-}3)'$. \end{description} We specify this artificial mixture distribution using \code{FLXdist()}. \code{FLXdist()} returns an unfitted finite mixture of class \code{"FLXdist"}. The class of fitted finite mixture models \code{"flexmix"} extends class \code{"FLXdist"}. Each component follows a normal distribution. The parameters specified in a named list therefore consist of the regression coefficients and the standard deviation. Function \code{FLXdist()} has an argument \code{formula} for specifying the regression in each of the components, an argument \code{k} for the component weights and \code{components} for the parameters of each of the components. <<>>= library("flexmix") Component_1 <- list(Model_1 = list(coef = c(1, -2), sigma = sqrt(0.1))) Component_2 <- list(Model_1 = list(coef = c(2, 2), sigma = sqrt(0.1))) ArtEx.mix <- FLXdist(y ~ x, k = rep(0.5, 2), components = list(Component_1, Component_2)) @ We draw a balanced sample with 50 observations in each covariate point from the mixture model using \code{rflexmix()} after defining the data points for the covariates. \code{rflexmix()} can either have an unfitted or a fitted finite mixture as input. For unfitted mixtures data has to be provided using the \code{newdata} argument. For already fitted mixtures data can be optionally provided, otherwise the data used for fitting the mixture is used. <<>>= ArtEx.data <- data.frame(x = rep(0:1, each = 100/2)) suppressWarnings(RNGversion("3.5.0")) set.seed(123) ArtEx.sim <- rflexmix(ArtEx.mix, newdata = ArtEx.data) ArtEx.data$y <- ArtEx.sim$y[[1]] ArtEx.data$class <- ArtEx.sim$class @ In Figure~\ref{fig:art} the sample is plotted together with the two solutions for combining $x_1$ and $x_2$, i.e., this illustrates intra-component label switching. \begin{figure} \centering <>= par(mar = c(5, 4, 2, 0) + 0.1) plot(y ~ x, data = ArtEx.data, pch = with(ArtEx.data, 2*class + x)) pars <- list(matrix(c(1, -2, 2, 2), ncol = 2), matrix(c(1, 3, 2, -3), ncol = 2)) for (i in 1:2) apply(pars[[i]], 2, abline, col = Colors[i]) @ \caption{Balanced sample from the artificial example with the two theoretical solutions.} \label{fig:art} \end{figure} We fit a finite mixture to the sample using \code{stepFlexmix()}. <<>>= set.seed(123) ArtEx.fit <- stepFlexmix(y ~ x, data = ArtEx.data, k = 2, nrep = 5, control = list(iter = 1000, tol = 1e-8, verbose = 0)) @ The fitted mixture can be inspected using \code{summary()} and \code{parameters()}. <<>>= summary(ArtEx.fit) parameters(ArtEx.fit) @ Obviously the fitted mixture parameters correspond to the parameterization we used to specify the mixture distribution. Using standard asymptotic theory to analyze the fitted mixture model gives the following estimates for the standard deviations. <<>>= ArtEx.refit <- refit(ArtEx.fit) summary(ArtEx.refit) @ The fitted mixture can also be analyzed using resampling techniques. For analyzing the stability of the parameter estimates where the possibility of identifiability problems is also taken into account the parametric bootstrap is used with random initialization. Function \code{boot()} can be used for empirical or parametric bootstrap (specified by the argument \code{sim}). The logical argument \code{initialize_solution} specifies if the initialization is in the original solution or random. By default random initialization is made. The number of bootstrap samples is set by the argument \code{R}. Please note that the arguments are chosen to correspond to those for function \code{boot} in package \pkg{boot} \citep{mixtures:Davison+Hinkley:1997}. <>= set.seed(123) ArtEx.bs <- boot(ArtEx.fit, R = 200, sim = "parametric") ArtEx.bs @ <>= if (file.exists("ArtEx.bs.rda")) { load("ArtEx.bs.rda") } else { set.seed(123) ArtEx.bs <- boot(ArtEx.fit, R = 200, sim = "parametric") save(ArtEx.bs, file = "ArtEx.bs.rda") } ArtEx.bs @ Function \code{boot()} returns an object of class \code{"\Sexpr{class(ArtEx.bs)}"}. The default plot compares the bootstrap parameter estimates to the confidence intervals derived using standard asymptotic theory in a parallel coordinate plot (see Figure~\ref{fig:plot.FLXboot-art}). Clearly two groups of parameter estimates can be distinguished which are about of equal size. One subset of the parameter estimates stays within the confidence intervals induced by standard asymptotic theory, while the second group corresponds to the second solution and clusters around these parameter values. \begin{figure}[h!] \centering <>= print(plot(ArtEx.bs, ordering = "coef.x", col = Colors)) @ \caption{Diagnostic plot of the bootstrap results for the artificial example.} \label{fig:plot.FLXboot-art} \end{figure} In the following the DIP-test is applied to check if the parameter estimates follow a unimodal distribution. This is done for the aggregated parameter esimates where unimodality implies that this parameter is not suitable for imposing an ordering constraint which induces a unique labelling. For the separate component analysis which is made after imposing an ordering constraint on the coefficient of $x$ rejection the null hypothesis of unimodality implies that identifiability problems are present, e.g.~due to intra-component label switching. <<>>= require("diptest") parameters <- parameters(ArtEx.bs) Ordering <- factor(as.vector(apply(matrix(parameters[,"coef.x"], nrow = 2), 2, order))) Comp1 <- parameters[Ordering == 1,] Comp2 <- parameters[Ordering == 2,] dip.values.art <- matrix(nrow = ncol(parameters), ncol = 3, dimnames=list(colnames(parameters), c("Aggregated", "Comp 1", "Comp 2"))) dip.values.art[,"Aggregated"] <- apply(parameters, 2, dip) dip.values.art[,"Comp 1"] <- apply(Comp1, 2, dip) dip.values.art[,"Comp 2"] <- apply(Comp2, 2, dip) dip.values.art @ The critical value for column \code{Aggregated} is \Sexpr{round(critical_values(nrow(parameters)), digits = digits)} and for the columns of the separate components \Sexpr{round(critical_values(nrow(Comp1)), digits = digits)}. The component sizes as well as the standard deviations follow a unimodal distribution for the aggregated data as well as for each of the components. The regression coefficients are multimodal for the aggregate data as well as for each of the components. While from the aggregated case it might be concluded that imposing an ordering constraint on the intercept or the coefficient of $x$ is suitable, the component-specific analyses reveal that a unique labelling was not achieved. \section{Seizure} In \cite{mixtures:Wang+Puterman+Cockburn:1996} a Poisson mixture regression is fitted to data from a clinical trial where the effect of intravenous gammaglobulin on suppression of epileptic seizures is investigated. The data used were 140 observations from one treated patient, where treatment started on the $28^\textrm{th}$ day. In the regression model three independent variables were included: treatment, trend and interaction treatment-trend. Treatment is a dummy variable indicating if the treatment period has already started. Furthermore, the number of parental observation hours per day were available and it is assumed that the number of epileptic seizures per observation hour follows a Poisson mixture distribution. The number of epileptic seizures per parental observation hour for each day are plotted in Figure~\ref{fig:seizure}. The fitted mixture distribution consists of two components which can be interpreted as representing 'good' and 'bad' days of the patients. The mixture model can be formulated by \begin{equation*} H(y|\mathbf{x}, \Theta) = \pi_1 P(\lambda_1) + \pi_2 P(\lambda_2), \end{equation*} where $\lambda_k = e^{\mathbf{x}'\bm{\alpha}_k}$ for $k = 1,2$ and $P(\lambda)$ is the Poisson distribution. The data is loaded and the mixture fitted with two components. <<>>= data("seizure", package = "flexmix") model <- FLXMRglm(family = "poisson", offset = log(seizure$Hours)) control <- list(iter = 1000, tol = 1e-10, verbose = 0) set.seed(123) seizMix <- stepFlexmix(Seizures ~ Treatment * log(Day), data = seizure, k = 2, nrep = 5, model = model, control = control) @ The fitted regression lines for each of the two components are shown in Figure~\ref{fig:seizure}. \begin{figure}[h!] \begin{center} <>= par(mar = c(5, 4, 2, 0) + 0.1) plot(Seizures/Hours~Day, data=seizure, pch = as.integer(seizure$Treatment)) abline(v = 27.5, lty = 2, col = "grey") matplot(seizure$Day, fitted(seizMix)/seizure$Hours, type="l", add = TRUE, col = 1, lty = 1, lwd = 2) @ \caption{Seizure data with the fitted values for the \citeauthor{mixtures:Wang+Puterman+Cockburn:1996} model. The plotting character for the observed values in the base period is a circle and for those in the treatment period a triangle.} \label{fig:seizure} \end{center} \end{figure} The parameteric bootstrap with random initialization is used to investigate identifiability problems and parameter stability. The diagnostic plot is given in Figure~\ref{fig:plot.FLXboot-seiz}. The coloring is according to an ordering constraint on the intercept. Clearly the parameter estimates corresponding to the solution where the bad days from the base period are combined with the good days from the treatement period and vice versa for the good days of the base period can be distinguished and indicate the slight identifiability problems of the fitted mixture. <>= set.seed(123) seizMix.bs <- boot(seizMix, R = 200, sim = "parametric") seizMix.bs @ <>= if (file.exists("seizMix.bs.rda")) { load("seizMix.bs.rda") } else { set.seed(123) seizMix.bs <- boot(seizMix, R = 200, sim = "parametric") save(seizMix.bs, file = "seizMix.bs.rda") } seizMix.bs @ \begin{figure}[h!] \centering <>= print(plot(seizMix.bs, ordering = "coef.(Intercept)", col = Colors)) @ \label{fig:plot.FLXboot-seiz} \caption{Diagnostic plot of the bootstrap results for the \code{seizure} data.} \end{figure} <<>>= parameters <- parameters(seizMix.bs) Ordering <- factor(as.vector(apply(matrix(parameters[,"coef.(Intercept)"], nrow = 2), 2, order))) Comp1 <- parameters[Ordering == 1,] Comp2 <- parameters[Ordering == 2,] @ For applying the DIP test also an ordering constraint on the intercept is used. The critical value for column \code{Aggregated} is \Sexpr{round(critical_values(nrow(parameters)), digits = digits)} and for the columns of the separate components \Sexpr{round(critical_values(nrow(Comp1)), digits = digits)}. <<>>= dip.values.art <- matrix(nrow = ncol(parameters), ncol = 3, dimnames = list(colnames(parameters), c("Aggregated", "Comp 1", "Comp 2"))) dip.values.art[,"Aggregated"] <- apply(parameters, 2, dip) dip.values.art[,"Comp 1"] <- apply(Comp1, 2, dip) dip.values.art[,"Comp 2"] <- apply(Comp2, 2, dip) dip.values.art @ For the aggregate results the hypothesis of unimodality cannot be rejected for the trend. For the component-specific analyses unimodality cannot be rejected only for the intercept (where the ordering condition was imposed on) and again the trend. For all other parameter estimates unimodality is rejected which indicates that the ordering constraint was able to impose a unique labelling only for the own parameter and not for the other parameters. This suggests identifiability problems. %%------------------------------------------------------------------------- %%------------------------------------------------------------------------- \bibliography{mixture} \end{document} flexmix/vignettes/.install_extras0000644000176200001440000000004614404637307017003 0ustar liggesusersmyConcomitant.R$ mymclust.R$ ziglm.R$ flexmix/vignettes/myConcomitant.R0000644000176200001440000000130314404637307016712 0ustar liggesusersmyConcomitant <- function(formula = ~ 1) { z <- new("FLXP", name = "myConcomitant", formula = formula) z@fit <- function(x, y, w, ...) { if (missing(w) || is.null(w)) w <- rep(1, length(x)) f <- as.integer(factor(apply(x, 1, paste, collapse = ""))) AVG <- apply(w*y, 2, tapply, f, mean) (AVG/rowSums(AVG))[f,,drop=FALSE] } z@refit <- function(x, y, w, ...) { if (missing(w) || is.null(w)) w <- rep(1, length(x)) f <- as.integer(factor(apply(x, 1, paste, collapse = ""))) AVG <- apply(w*y, 2, tapply, f, mean) (AVG/rowSums(AVG)) } z } flexmix/vignettes/mixture.bib0000644000176200001440000003621114404637307016124 0ustar liggesusers@STRING{csda = {Computational Statistics \& Data Analysis} } @STRING{jasa = {Journal of the American Statistical Association} } @STRING{jcgs = {Journal of Computational and Graphical Statistics} } @STRING{jrssa = {Journal of the Royal Statistical Society A} } @STRING{jrssb = {Journal of the Royal Statistical Society B} } @Article{ mixtures:aitkin:1999, author = {Murray Aitkin}, title = {A General Maximum Likelihood Analysis of Variance Components in Generalized Linear Models}, journal = {Biometrics}, year = 1999, volume = 55, pages = {117--128} } @Article{ mixtures:aitkin:1999a, author = {Murray Aitkin}, title = {Meta-Analysis by Random Effect Modelling in Generalized Linear Models}, journal = {Statistics in Medicine}, year = 1999, volume = 18, number = {17--18}, month = {September}, pages = {2343--2351} } @Article{ mixtures:biernacki+celeux+govaert:2000, author = {Christophe Biernacki and Gilles Celeux and G{\'e}rard Govaert}, title = {Assessing a Mixture Model for Clustering with the Integrated Completed Likelihood}, journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence}, year = 2000, volume = 22, number = 7, pages = {719--725}, month = {July} } @Article{ mixtures:biernacki+celeux+govaert:2003, author = {Christophe Biernacki and Gilles Celeux and G{\'e}rard Govaert}, title = {Choosing Starting Values for the {EM} Algorithm for Getting the Highest Likelihood in Multivariate {G}aussian Mixture Models}, journal = csda, year = 2003, volume = 41, pages = {561--575} } @Article{ mixtures:boehning+dietz+schlattmann:1999, author = {Dankmar B{\"o}hning and Ekkehart Dietz and Peter Schlattmann and Lisette Mendon{\c c}a and Ursula Kirchner}, title = {The Zero-Inflated {P}oisson Model and the Decayed, Missing and Filled Teeth Index in Dental Epidemiology}, journal = jrssa, year = 1999, volume = 162, number = 2, pages = {195--209}, month = {August} } @Book{ mixtures:boehning:1999, author = {Dankmar B{\"o}hning}, title = {Computer Assisted Analysis of Mixtures and Applications: Meta-Analysis, Disease Mapping, and Others}, publisher = {Chapman \& Hall/CRC}, year = 1999, volume = 81, series = {Monographs on Statistics and Applied Probability}, address = {London} } @Manual{ mixtures:canty+ripley:2010, title = {boot: Bootstrap R (S-Plus) Functions}, author = {Angelo Canty and Brian Ripley}, year = 2010, note = {R package version 1.2-43}, url = {http://CRAN.R-project.org/package=boot} } @TechReport{ mixtures:celeux+diebolt:1988, author = {Gilles Celeux and Jean Diebolt}, title = {A Random Imputation Principle: The Stochastic {EM} Algorithm}, institution = {INRIA}, year = 1988, type = {Rapports de Recherche}, number = 901, month = {September} } @Article{ mixtures:celeux+govaert:1992, author = {Gilles Celeux and G{\'e}rard Govaert}, title = {A {C}lassification {EM} Algorithm for Clustering and Two Stochastic Versions}, journal = {Computational Statistics \& Data Analysis}, year = 1992, volume = 14, number = 3, pages = {315--332}, month = {October} } @Book{ mixtures:chambers:1998, author = {John M. Chambers}, title = {Programming with Data}, publisher = {Springer-Verlag}, year = 1998, address = {New York}, isbn = {0-387-98503-4} } @Article{ mixtures:dasgupta+raftery:1998, author = {Abhijit Dasgupta and Adrian E. Raftery}, title = {Detecting Features in Spatial Point Processes with Clutter Via Model-Based Clustering}, journal = jasa, year = 1998, volume = 93, number = 441, pages = {294--302}, month = {March} } @Book{mixtures:davison+hinkley:1997, author = {A. C. Davison and D. V. Hinkley}, title = {Bootstrap Methods and Their Application}, publisher = {Cambridge University Press}, address = {Cambridge, UK}, year = 1997, isbn = {0-521-57391-2 (hardcover), 0-521-57471-4 (paperback)}, series = {Cambridge Series on Statistical and Probabilistic Mathematics}, } @Article{ mixtures:dayton+macready:1988, author = {C. Mitchell Dayton and George B. Macready}, title = {Concomitant-Variable Latent-Class Models}, journal = jasa, year = 1988, volume = 83, number = 401, pages = {173--178}, month = {March} } @Article{ mixtures:dempster+laird+rubin:1977, author = {A. P. Dempster and N. M. Laird and D. B. Rubin}, title = {Maximum Likelihood from Incomplete Data Via the {EM}-Algorithm}, journal = jrssb, volume = 39, pages = {1--38}, year = 1977 } @InCollection{ mixtures:diebolt+ip:1996, author = {Jean Diebolt and Eddie H. S. Ip}, editor = {W. R. Gilks and S. Richardson and D. J. Spiegelhalter}, booktitle = {Markov Chain {M}onte {C}arlo in Practice}, title = {Stochastic {EM}: Method and Application}, publisher = {Chapman and Hall}, year = 1996, pages = {259--273} } @Book{ mixtures:everitt+hand:1981, author = {B. S. Everitt and D. J. Hand}, title = {Finite Mixture Distributions}, publisher = {Chapman and Hall}, address = {London}, year = 1981 } @Article{ mixtures:follmann+lambert:1989, author = {Dean A. Follmann and Diane Lambert}, title = {Generalizing Logistic Regression by Non-Parametric Mixing}, journal = jasa, volume = 84, number = 405, month = {March}, pages = {295--300}, year = 1989 } @Article{ mixtures:follmann+lambert:1991, author = {Dean A. Follmann and Diane Lambert}, title = {Identifiability of Finite Mixtures of Logistic Regression Models}, journal = {Journal of Statistical Planning and Inference}, volume = 27, number = 3, month = {March}, pages = {375--381}, year = 1991 } @Book{ mixtures:fowler:2004, author = {Martin Fowler}, title = {{UML} Distilled: A Brief Guide to the Standard Object Modeling Language}, publisher = {Addison-Wesley Professional}, year = 2004, edition = {3rd} } @Book{ mixtures:fruehwirth-schnatter:2006, author = {Sylvia Fr{\"u}hwirth-Schnatter}, title = {Finite Mixture and Markov Switching Models}, publisher = {Springer-Verlag}, address = {New York}, series = {Springer-Verlag Series in Statistics}, isbn = {0-387-32909-9}, year = 2006 } @Article{ mixtures:gentleman+ihaka:2000, author = {Robert Gentleman and Ross Ihaka}, title = {Lexical Scope and Statistical Computing}, journal = jcgs, year = 2000, volume = 9, number = 3, pages = {491--508} } @InProceedings{ mixtures:gruen+leisch:2004, author = {Bettina Gr{\" u}n and Friedrich Leisch}, title = {Bootstrapping Finite Mixture Models}, booktitle = {COMPSTAT 2004 -- Proceedings in Computational Statistics}, year = 2004, editor = {Jaromir Antoch}, publisher = {Physica Verlag, Heidelberg}, isbn = {3-7908-1554-3}, pages = {1115--1122} } @InProceedings{ mixtures:gruen+leisch:2006, author = {Bettina Gr{\" u}n and Friedrich Leisch}, title = {Fitting Finite Mixtures of Linear Regression Models with Varying \& Fixed Effects in \proglang{R}}, booktitle = {COMPSTAT 2006 -- Proceedings in Computational Statistics}, pages = {853--860}, editor = {Alfredo Rizzi and Maurizio Vichi}, publisher = {Physica Verlag, Heidelberg, Germany}, isbn = {3-7908-1708-2}, year = 2006 } @Article{ mixtures:gruen+leisch:2007a, author = {Bettina Gr{\" u}n and Friedrich Leisch}, title = {Fitting Finite Mixtures of Generalized Linear Regressions in \proglang{R}}, journal = csda, year = 2007, volume = 51, number = 11, month = {July}, pages = {5247--5252} } @Article{ mixtures:gruen+leisch:2008, author = {Bettina Gr\"un and Friedrich Leisch}, title = {Identifiability of Finite Mixtures of Multinomial Logit Models with Varying and Fixed Effects}, journal = {Journal of Classification}, year = 2008, note = {Accepted for publication on 2008-03-28} } @Article{ mixtures:gruen+leisch:2008a, author = {Bettina Gr\"un and Friedrich Leisch}, title = {{F}lex{M}ix Version 2: Finite Mixtures with Concomitant Variables and Varying and Constant Parameters}, journal = {Journal of Statistical Software}, year = 2008, volume = 28, number = 4, pages = {1--35}, doi = {10.18637/jss.v028.i04}, } @Unpublished{mixtures:gruen+leisch:2010, author = {Bettina Gr\"un and Friedrich Leisch}, title = {Finite Mixture Model Diagnostics Using Resampling Methods}, note = {Unpublished manuscript}, year = 2010, } @PhDThesis{ mixtures:gruen:2006, author = {Bettina Gr{\"u}n}, title = {Identification and Estimation of Finite Mixture Models}, school = {Institut f{\"u}r Statistik und Wahrscheinlichkeitstheorie, Technische Universit{\"a}t Wien}, year = 2006, month = {September}, note = {{Friedrich Leisch, advisor}} } @Book{ mixtures:harrell:2001, author = {Frank E. Harrell}, title = {Regression Modeling Strategies}, publisher = {Springer-Verlag}, address = {New York}, year = 2001 } @Article{ mixtures:hastie+tibshirani:1993, author = {Trevor Hastie and Robert Tibshirani}, title = {Varying-Coefficient Models}, journal = jrssb, year = 1993, volume = 55, number = 4, pages = {757--796} } @Article{mixtures:hennig:2000, author = {Christian Hennig}, title = {Identifiability of Models for Clusterwise Linear Regression}, journal = {Journal of Classification}, volume = 17, number = 2, month = {July}, pages = {273--296}, year = 2000 } @Article{ mixtures:karlis+xekalaki:2003, author = {Dimitris Karlis and Evdokia Xekalaki}, title = {Choosing Initial Values for the {EM} Algorithm for Finite Mixtures}, journal = csda, year = 2003, volume = 41, pages = {577--590} } @InProceedings{ mixtures:leisch:2002, author = {Friedrich Leisch}, title = {Sweave: Dynamic Generation of Statistical Reports Using Literate Data Analysis}, booktitle = {COMPSTAT 2002 -- Proceedings in Computational Statistics}, pages = {575--580}, year = 2002, editor = {Wolfgang H{\"a}rdle and Bernd R{\"o}nz}, publisher = {Physica Verlag, Heidelberg}, note = {ISBN 3-7908-1517-9} } @Article{ mixtures:leisch:2003, author = {Friedrich Leisch}, title = {Sweave, Part {II}: Package Vignettes}, journal = {\proglang{R} News}, year = 2003, volume = 3, number = 2, pages = {21--24}, month = {October}, url = {http://CRAN.R-project.org/doc/Rnews/} } @Article{ mixtures:leisch:2004, author = {Friedrich Leisch}, title = {\pkg{FlexMix}: A General Framework for Finite Mixture Models and Latent Class Regression in \proglang{R}}, journal = {Journal of Statistical Software}, year = 2004, volume = 11, number = 8, pages = {1--18}, doi = {10.18637/jss.v011.i08}, } @InProceedings{ mixtures:leisch:2004a, author = {Friedrich Leisch}, title = {Exploring the Structure of Mixture Model Components}, booktitle = {COMPSTAT 2004 -- Proceedings in Computational Statistics}, year = 2004, editor = {Jaromir Antoch}, publisher = {Physica Verlag, Heidelberg}, isbn = {3-7908-1554-3}, pages = {1405--1412} } @InProceedings{ mixtures:leisch:2008, author = {Friedrich Leisch}, title = {Modelling Background Noise in Finite Mixtures of Generalized Linear Regression Models}, booktitle = {COMPSTAT 2008 -- Proceedings in Computational Statistics}, volume = {I}, pages = {385-396}, editor = {Paula Brito}, publisher = {Physica Verlag, Heidelberg, Germany}, isbn = {978-3-7908-2083-6}, year = 2008 } @Article{ mixtures:long:1990, author = {J. Scott Long}, title = {The Origins of Sex Differences in Science}, journal = {Social Forces}, year = 1990, volume = 68, number = 4, pages = {1297--1315}, month = {June} } @Book{ mixtures:mccullagh+nelder:1989, author = {Peter McCullagh and John A. Nelder}, title = {Generalized Linear Models}, edition = {2nd}, publisher = {Chapman and Hall}, year = 1989, location = {London} } @Book{ mixtures:mclachlan+basford:1988, author = {Geoffrey J. McLachlan and Kaye E. Basford}, title = {Mixture Models: Inference and Applications to Clustering}, publisher = {Marcel Dekker}, year = 1988, address = {New York} } @Book{ mixtures:mclachlan+peel:2000, author = {Geoffrey J. McLachlan and David Peel}, title = {Finite Mixture Models}, publisher = {John Wiley \& Sons}, year = 2000 } @Book{ mixtures:pinheiro+bates:2000, author = {Jose C. Pinheiro and Douglas M. Bates}, title = {Mixed-Effects Models in \proglang{S} and \proglang{S-Plus}}, publisher = {Springer-Verlag}, year = 2000, isbn = {0-387-98957-0} } @Book{ mixtures:sarkar:2008, title = {\pkg{lattice}: Multivariate Data Visualization with \proglang{R}}, author = {Deepayan Sarkar}, year = 2008, publisher = {Springer-Verlag}, address = {New York}, isbn = {978-0-387-75968-5} } @Book{ mixtures:titterington+smith+makov:1985, author = {D. M. Titterington and A. F. M. Smith and U. E. Makov}, title = {Statistical Analysis of Finite Mixture Distributions}, publisher = {John Wiley \& Sons}, year = 1985 } @Book{ mixtures:venables+ripley:2002, title = {Modern Applied Statistics with \proglang{S}}, author = {William N. Venables and Brian D. Ripley}, publisher = {Springer-Verlag}, edition = {4th}, address = {New York}, year = 2002, isbn = {0-387-95457-0} } @Article{ mixtures:wang+puterman+cockburn:1996, author = {Peiming Wang and Martin L. Puterman and Iain M. Cockburn and Nhu D. Le}, title = {Mixed {P}oisson Regression Models with Covariate Dependent Rates}, journal = {Biometrics}, year = 1996, volume = 52, pages = {381--400} } @Article{ mixtures:wedel+desarbo:1995, author = {Michel Wedel and Wagner S. DeSarbo}, title = {A Mixture Likelihood Approach for Generalized Linear Models}, journal = {Journal of Classification}, year = 1995, volume = 12, number = 1, month = {March}, pages = {21--55} } @Article{ mixtures:wehrens+buydens+fraley:2004, author = {Ron Wehrens and Lutgarde M.C. Buydens and Chris Fraley and Adrian E. Raftery}, title = {Model-Based Clustering for Image Segmentation and Large Datasets Via Sampling}, journal = {Journal of Classification}, year = 2004, volume = 21, number = 2, pages = {231--253} } flexmix/data/0000755000176200001440000000000014757625374012663 5ustar liggesusersflexmix/data/dmft.RData0000644000176200001440000000741014404637305014516 0ustar liggesusers‹íÚMoׯñ)JJ€ºîWÌsßÈmÑ û¢‹lU›‰Ú2 ¨ úåÓJ6Ïý?<žªA7L4âÌÜç¾þfFÎ_þô½}ýý×Ã0¬†Õzø´ —«Çÿ\ Ã7_=ýòæÃðþýãþæqûÝãþ®?Ÿóé³:þ>È÷úÝ*lÇM˸ckùy)çk™þÝæxÎåÀg%çûqÿ¹>~¯çù÷~gú¹+){-çoBûcýØ¥œ«ç¯†ñ6iÝõ\íï!\§uÔ²´n—ÃiÝ.åÜØWR†Ÿ»’óµ½ÜØ¿úñò¯äw¯—–§y±^ágl«~tËh}ôx\Ë›p\ׇ~â3—ßâsÚ&÷:©½º¶µ½ºæÜ°©g“±û Î'½/Åu­Õzùýbòt-Íg?ïŸÑ½Ãøz{&ôºè5zì*|çsFŸ½tÜý§¿{\ɹ×r®¯éùÎצ·5®›áx¾žãëõJÊÓ÷Œ8æÞžëátÎÝù÷7Ãésœ¾—èsŠúäuóºßH–÷áõpZçxßòsã|Q—t½®×\Ë5k)ã:ô…>#ê½sãýêZúÕûñæøÓ¯ñïý>0Ⱦ·CÇkÚº‘óõr#û:×b_輌–i}ãÚ÷~‹ïoÃÀøéG×H¼x½ß‡p®ö«¿‘ëtìÖáœè‡öµ—çíÐ6jYSÎë|Õ±ÑçúXoußçB|‡÷l¯ûØ?=K×ýõ€nW\“Zn|&Õ5w®ó²½>þ½>[Ç÷Š+9?Ž•Î}¯ðã×ò>x{|{¿ë³ÞãxÄ¿çh_N½‹\{½ôÞ¦sZûéz8m‡Þ[õãí†ñû³¶OÒg\ÏzßNúÜÈy:¦Þ>þ}|ÖÓg6;Þ—¾æ´|>y_êûˆ_¯c<ȹñÙGŸ«â;z\OºÕÍ )ÛËóKÿ6q=|Ygÿè½AÇÆÛÇÅç‰×U½P[Ýf­‹ß߆áK‡ôÙÔÛäã: §÷ÍÔ¹éû¾6Çþ~¢uÒ2|SuÞ ò½·ÓÇEÇOç®!Ïö²âó´>3é<öru­ÆgÌu8׳Ô-ßúÇðòü§:æßëš×ç@5@çY\gêY¼ûó ÷Ž£›¤9qn^ÉïÞ~}›ú;€…Ÿ§ï{Ñ,}¶ö2tl|ÝøÜÒû„>wê½^û ®Íø>çS¬—Z6öé×ëßáÔ­Î3­÷ñçÚß=ôýMßWVáX|Ÿ‰sfìØ*lå3–7W§˜µTæ9õ™ªÛR?MmSõyN]—ÊYê‹súúÜq›ûnéú©þœ+ciþ͵oìÜ¥ñY*kîºsçù\æ\›Î™KS×/ͧsæÿ9e/͉¹þ™:® Ï™Kmzμ9'w®¬sûlª çÎýsçÊÒž¹¶ž»NÎm﫹öNÍ«¥öMµkª¬¹¹rî\Ÿ[SS×ÿ7ó`iNW÷ç¬ÿÇŸ'ÿ?ÖÕûÃ?ïzÜûæxÖ§o8|¸}8þvùyÿäºÍë÷·?ùeý²Û×ï÷~‘Wœ±b\Y­“?ã-5W›¬eŸ³ç–ÂXýâïë™l='–1EÁØy±¬©¬‹‘ë§r§êËžë'm{,3öûØ÷KÓ<Ö)fÅkcÆ\û¦–fÌ™[Ús<­‡/ë>Õ¿ñŸCÇÆ-öAÌ›OK ÍÍñu9ÇîX¿MÕwl.O­ç©rôºx|©]:cý¬mŸšcçOÍÑ©ù1Uç±¾œêŸ8Fq LÝ”¯Kc8ׯSf•3WÖœgSóQûNÇblŒ–ÖÌT­¥¥9¶4¦ç¬×)cÆæÓT_ÎÍÅ©:DÃææÊÜýzn޵y¬m«‘Ÿc}56wæÆplýOõÝÜšûKc97—çê9fÀÔœÓý©ypÎxùX›ÆîwñØÜóÅ”Sc85Žså3?ÇæÏTKLáT=æŽÏÍ3û±gŒ©53U祜±9wNŸÜ~ûÃý퇧ÿQå—§í?ÎÈI]bflexmix/data/BregFix.RData0000644000176200001440000000573514404637305015122 0ustar liggesusers‹•˜ XG€F.QDÄÖA *êÈôôt÷hbG<6&*n@ШD‘x¡‹’M<Ðõ`¿Õ5jâqƒHVÔÅ! ¢ÈaTä¹@¢‹ÉT•S3IßXïU½zÿ«W¯ª½§Îg{ÏïÍ0Œ9c.c~ý1½Ì»ÿ1c{›îÖjrH`дF6 [µèþÙuÿÒµcðhJgkA£^WQã´>R¢Ÿ5Ô±?O}ë¡o•Ô¸^׺è[…ihœ~Ðú°Ö0>ìßÝÐó‡IÌã¨ùœÄ|{j7Ž“^7òï,±>¥³=ëx>µ¿¸ßÃÐçŸ^Ê›T~è88ʵ C=Fù`LÛÑþŒú©8_£:£oí%ü ;–jTëHÍ“¨:¿˜Gå‹~´^”ºNÇÓP—òÿÚü!»‘”N׊C®oQ>é|¡y¨~P½éýí;=î§ïcòAù ë#ÿÖ”´.†êG-Z§TþGR:²s¤t䟚ã“Z/½RçLêþ’Sq*%ìC;Fÿ1ŠƒÞ/j]xéûÙË%úiŠÕº¯­©q¤£ü£¼Óþèý¡ïK䟡âCþÝ){ÄGõMÍÃvÖŒÉÏ÷¢xtÜtÝÒy¦üÓõŠû)އ֥êõ£ìézFöè` ã–â¢Çèw¤tªNp?ý]#õ^ ë“â+”ý{ßÓ´dÇP­#Õ*¨yu€ã¡ê—~Œê½—Ð8U'˜ãBéþ_—?‡\">?ʺP>ÃÏCõƒÎ§Þ¿Ñ¾KÄKû•¼Ÿé÷]ïôy¢ßô{…æRßwtþñºèïê}gTßÔ÷›Wb?é8èóèý’öÙ³†vŒþ=ªÂRoøVÞ†Ê ؆-‚ynÒ¼%ÿœ8y;ÈèÿžN™êSfyÜ; <*ˆ:ÄMž*&¬äFÜŸŠ|‹?Šš¨M‰©ÛNúŸcÜq´ þÒ:«†ÆXîâf•[xTÌæ¯ƒ9íàvú1øbøÎùǰëMQ0Ðô5ý¢wÃ+Þ›7:Æ€2ûàÉá-¹° òÁÓ?ï,wã’S>(_ +}òfMÊi„GN†¿HÛA¶­Í¢/†€KŸœ÷s­;,›`g35æíð›ù¼ÄV\Yå嵡è\ò2Æ_þfôÉhxâí :Uë yÂÂôÕ«Î|õ5x¬ÉRJ XX–Òž¨µ(÷ÞxÜ¡ &Û›|èû°DùοNWŸf¸_Ⱥ@«õŒó¹i÷Áómwl ³a]Ó#aä'N Óíêyð±´Ëµ>ÿŒ\ cÌÜhþ8¶F{6}ù?¨ÛÐÈnÕÑ;üúºNL¶ÌZÉ[¦Ý‚nßî¼E~v³V667~ý¸‡à™M­Ì~hº¾8pþÞx`0ÒGZ“,ý¯DÝǯ|½¤a”g2“¨pÞ•Rö?Öý’|œ½à¸/*V¯tÎ=ÖNþ!>z§Z¶ù O:uä¯:t)ö¯Ëá1ßy§ŸßŒOf‚£ö¾}uèZ¼rjQÿ/@Óû+›ud,ÊèÒnÛ®µôës¢ðƒ}°¶âÒØ³ÿ íÙ‘~—·Æ''³,ÔlPÕ瞃[Ÿ®ÊÞ]¯{;´s-n÷’ß IfÊ',Þýä"ÔmÏžž{â#¸×²·o»ã{Zæyõˆ‡ÓAEjÙ<[ÇÃp놾yñòáÍ-ü§n°~ð¿3Ué ÆÏûX¿üØ6ÓÆûÀJè–ß±;• Šü|¬ZçÃ}þwoä­€Í\ë[5øáБ} Ã.Áî9µü\Òµqê²|˜°ó—C‡ü`‘ë‹Î›Ì\½y}jKÌ-r½?£®lI‰=3J;Îþ=4a¼Ty³'‚F €×ÂïzLˆl…Ã,¾ŠÏ O*÷ÄNŽ ËJí¶ Ï·Ì*}[ JÝ9:ôÅmë:c_|WÌI²»òh*J4 v×<ß×öÚ7Èñh,ÍèZØWp:‡¹£Ä3¼sïç|æ +çÉu"È\ëþxéÛÏ`Ýø5£¿{"Ò?»9Ôs ¬†ÖýwÙ»ÁÊg3gäè´ÌÌMÂÁˆ‡°bÁ˜o#vµÂ»nvŒ¿ fލ‘11 »9u…yô9P7ÿÙü„­Ó@êˆkj­føÎÑ^ëþër禅ŒJvgÙÏÔÀ㧃w?ÚånñÚí{”¦ùjü< NhñêïŽ;©l_r$ù à3øƒš¹v¥ñu0[QçÒ²n ¬H»Ìí¿4¸‡[F;‚öΕq}f؀ʋv7ò¦'ÂÖ±•Û4^_ÂNù­P϶HÐìSå=shîxq˜k58ÿ÷϶3Ë\A£ÃÜÛ5 ¬ê@q: ¦îxc¬ƒ.>x¿øüø´“0÷Ô½°¤ã»à=g·u§ï­ƒÕm®[†/<Ÿýåö yÑ-P5<²ÖeÉAØ”¢ÚýN‰«=bZΆeÅM%Y@Ó„…î©Fƒ†y~ œ%3Ú7ßzWë?”9í·_¨•µt|gùÓ—4¦®àø2ðtÊÐÍî å åÉßÇŽaŸ´Ô;”ç~f‰ž?‡É‹Òœ& ªí³ÝúÇeÝ‚…—‡\¶: Ê3KÛìŽÁŠM‡Ä>ëAé1ß+2ÇÀf>ÔwÒ.3ø(>?¶Wó†‘õe~û{ÄLÿ37ÑÒ}¦ìÌLŒ™ÒÍMø”²§mLõ÷Ä–7Å—òÝÓšï<šýºœHÅKÛüÙ”Ÿž|þ‘|ÿ‘úx©9¦æIÍíiO}™ðeðßÃKW¬_ß-Øë _vZ.Xº6„2µ\¸Ùšëmͼðòƒ·³û‡Ž¡Œ ÖMm²yÝòMm‰L¯Ë^‘i[ÚF&1.Å|Õ^Ê—Œ7Å6cŒcíI¦·›¶3cŒ×c*‡=åˆ^#½V:ÚÎÔÚ{ê“bKí_O¼×9©ý—ºBzÚKzo¤ZSûü Óð¬ DGËBß)‹øµë¥h¼V/™mDB8u„ Ú„¬ W¼ê4yå˜þ*°HP!C‚ <$ˆHРД^XRb‰Å’ K–ÔXâ±$`IÄf°˜Áb‹,f°˜Áb‹,f°˜Áb† 3T˜¡Â f¨0C…*ÌPa† 3T˜Áa‡fp˜Áa‡fp˜Áa‡jÌPc†3Ô˜¡Æ 5f¨1CjÌPcÏ6gS6g«l-Û’­gÙÒPJCi( ¥¡4”†ÒPJÃi8 §á4œ†ÓpNÃi8J£Ò¨4*J£Ò¨4*J£Òhi´4Z-–FK£¥ÑÒhi´4–4–4–4–4–4–4–4–4–4–4z=žFO£§ÑÓèiô4z=‘ÆHc¤1ÒiŒ4F#‘ÆHcMcMcMcMcMcMcMcMcMcÝ7NæósÖ™U¬f-ÖÆº°vÖÁJm¦6S›©ÍÔfj3µ™ÚLm¦6S5Q5Q5Q5Q5Q35S35S35S35S35S+jE­¨µ¢VÔŠZQ+jE­QkÔµF­QkÔµF­QkÔj µ…ÚBm¡¶P[¨-Ôj µN­SëÔ:µN­SëÔ:µN­SÔµAmPÔµAmPÔµ•ÚJm¥¶R[©­ÔVj+µ•–K„%Âa‰°DX",–K„%Âa‰°DX",–K„%Âa‰°DX",–K„%Âa‰°DX",–K„%Âa‰°DX",–K„%Âa‰°DX",–K„%Âa‰°DX",–K„%Âa‰°DX",–K„%Âa‰°DX",–K„%Âa‰°DX",–K„%Âa‰°DX",–K„%Âa‰°DX",–K„%Âa‰±ÄXb,1–KŒ%Æc‰±ÄXb,1–KŒ%Æc‰±ÄXb,1–KŒ%Æc‰±ÄXb,1–KŒ%Æc‰±ÄXb,1–KŒ%Æc‰±ÄXb,1–KŒ%Æc‰±ÄXb,1–KŒ%Æc‰±ÄXb,1–KŒ%Æc‰±ÄXb,1–KŒ%Æc‰±ÄXb,1–KŒ%Æc‰±ÄXb,1–KŒ%Æc‰±ÄXb,1–KŒ%Æc‰±ÄXb,1–––––––––––––––––––––––––––ÔÖ’?¿7úö»Íõþ½ÑÑîºÓW›w›ç¯¯6Û;›~Ûž¿Á뺱­&flexmix/data/whiskey.RData0000644000176200001440000000732514404637305015254 0ustar liggesusers‹í›ÝnãÆ†eÉöÚ›ÝdÑmР(Z%íAƒÕ÷}ú; ° ’4mÑ i‘œŠ­¬…UäTV³Ø³ž÷´—Ò‹è…äzi)›œ—ˈæÔ¼=#j8ïpæã3CŠþìƒ/éþ—÷;N·Ó=Œþö¢ìa7úsÐé<:Ò{/.ç×Ïg/;Þã›bÎÃèÛïo‹Ül›Ã_ÓŸEÛæ°“ø»ÑöFœïÆåR[äÙ9޶߯Ÿ{q¹Iœ?H¥™ÏÝøøMžãÏéréÏoeöõ2ßoòÿÊì¿—©ïx‹7>ït]§©ï6ŸßË|Nê8Jù¤ëL§§[Î{Ó›í'9短7ÉgÛž-s·3»/홣ÃL™ãÌù§òÙ²éíÍœñ?JåïmÉniï?·Œãa*=É“Ôq”9¦—Ú^Ë´mÛØeÛž.“‹“Ìw½T>ÙŽRþ'[<7ÛÜqÌúæõ}ºÍÿ¹c|ÒÛIª?’>KÒ_äóӌ׽-}’íŸì%}t˜)ûFƫ۹{,¶õÓ/sÚ‹Óœ:·ìËÆ_ú»þŽvt~|¥Ó͹=HßQg{»²Ÿ{qßm‹…<^¥û[ÿü*Ç/=iÎ&ék[Æ<;Çw”Ùö9Ýö¤ w±gWl¤½óÚxW}Ûâ±—Ú—oNýÝhn}çßïý·t‡ö½ªžÿ¾÷›n•íÏlù¦‡¯í­;¶|ƒª)¯Ÿ‹ö¿îr»ŽqÑn5e|›ÒΠ jZü7­½uUv^nÊúÙÔ:@×úÄV;v•35~E׋¾ÇOPÐ>J7çÂõ¤GuûÕöý±/ãîK;òä{ûLÉöú#¨ÝjÚ¸7­½»äËýQ]•'w•÷å¼|W˜Ê©­çÕ¹úݳmªúœªíýÙöóÓ¥ìü[4žòî§›öüÂ÷öù¦¦ô—ëvêz^äú<‚¶Ë÷õ¶í¸1½Îp]OÙymW˜~¯K÷úZ÷óï}áZÓÏÓ—öÛŠ;Wï§7mÝÜùöKùºþѽN ñXO®ùàËø•}þ£Û·©Ç»Ò¾>×Õ%Ó×i‡W¥û}éªÏ­M«)ãÞ”vú¦¶ýŸœ­ûNÓ놶ŒG¢¦ðÊ÷~÷½}¦ek¨+Ž|/_Û¥[¾ü”ëþ6ýÿ®Ïo_åj|ªrØUœ4->uÿ>äëùW}OË·ùÞvý¶ãÃô}”îß ŠÆKS®ªßÕ“©ß±Ú6Ö}¨nýEÕ´çÞ¾ú×}^eŠû¦ŽÓ%ßyâº\É÷óö½}ûª¶ŒKÓÎc_Þ¨zæê¹§íû\Ýís}¾Eëõõþ¢¬|éﺪû>ˆ-ÿ}×¾®£‹>+ZOÓÔ4^Vå„íóhëõ’•¯íóµ]An¤‹¾Æ•¯ëmÝ~¦ë÷už¨ºŽ¶½þÖý»©©ø2u}»æƒk×rÅAÝíðå~lßã)+_Ö¾¿ŸaJ¾¯oš÷MÉ×v••/ça{¼mñÒ—þÕ%W×eÝ÷W\É—÷Æt÷Ÿëñ¯[N·tõ¯íyÒ÷ëÈ÷qß%_Û¥[M?]ïGÚ’îþöåù„îãóêñ%îš"_ãC—tÇiÙë¬ióœ/í0-ßž£dëóM¾¶«¨|ç\[øa[º×s¶ï§mÇ¥®ûϼïëþn\¶>׿ƒÔýý[W;tÉ×û£¦pÐßç;ßÔôóòµý®øè‹Úþ|·ûßâÌt;\Å—ëu‚ïÏeëŽ{Û8‘ÈÕsc×ñZV®ý}—/®¯ìú©êz«¬lù”•/ë-[늦̫¾ÄGUÙŠs[ï—èö·UŸ+…~q#_×ù¶Ö“¾Þ_×-Wµž¶Þ×»Û÷E¾Ì£M¹´µ({_áZ¾´#QÝßCuùå•+ZŸ-é꯺¿/øG‰|]÷˜ª¯©ÏqÚ.ßÖ¹¾ÜßVå—ëëÚ·û‰¦ú›VÛÏO—|yßÅ—õ„®ë]׺L·l¯S|›ÿv¿+‹~¿Ë§ªòÚéÛýgÓî÷³ÇWß²õVÏ¢õç•«»¿ìñ¾pÝÔó ]ãä·v]‡¾¥®ä{ûvÉUÿûÒ?¶ãÍÔsE×ýXV®¯wÛãkzÜ«®×«¶§iñf[Mç|iGžLóÀ–\õ¯ëù¬jýºës5¿T­GW¹²¾¦ÇÕÖ8¸–oœ7¥¶ÝçùÒ_ä[?芟ºã¼k½]ôx_æQ[ëWÇÛRÕû,ÝõêöÝÕÝëº×WYߪ׋o|Läzž5}¿¡k¼ªÆ™«urž¿îøu½¯Êźó¿«yÓÔuš7®¶æ§ºí.zšŽ³ªõšâ_Þ÷»Æ¡j=eëoú}`Q5u^Í«O÷®zý˜žÏŠú•õ±U.™Ó×iÝ8(Ú]ózUÎ韺Çíª¯n»óê+{\Ñz‹ÆqÝøªËç]õõÕÕ?A·*;/›JmË×öêŠ{[2Ýo¾ÄKžtŸ¿nnW•îùÕ”lÅ]Ußê¶K×:J÷z¹l{ŠÖß45eþ´UoYÚRÑuuÝúu«îºÁ–o]×­§hýU·µ^3§U}‹§›3Eë÷uP´þºóïëé  2½kzº¯ ýè§Úïm9 ¿äz¾ñ¬W®û}_Æ%ôS9¹Ž»ïAAAAík®‡t¿Ò    Ór͹†Ôf”È5Ú’5C®ã$Ä[PÐåúz éö4¨˜\SHõ¤AA:å:ž÷=Þ÷­\ÅEÛú±ªšr½Ú÷º>®û)¨˜\Ïc¾Ž{ÛΫ©ãé{ûŠÊ·ópÝOMçŒk^úïAAAAAAAúäzÒ†4¤! i›ÒNç°ý9ètFiïbþM”<Œ¶h÷Á÷Qúf¦ÈITd9ýfvåß–ë<ŠËn¾?è'J2œd$É ’Ì0ÉŒ’Ì8ÉLâL·ÿDåú*G*Ç*'*7P¹¡ÊTn¬rʃ”)R¤ZÌ–_Ï/.æç—Éùov-æßÍ’¦õ>yûiœ}üÁìÅtõÎõm+Ïþ0ýj¶ˆ¿úù'W—Ëå|vöÅtñ<2¾=Ÿt‰·2%>›]¼òýƒ÷/çßM¯£ýϦ›}?dž%‹7Ã×:üp5û[Òòß-Ïç³åù,säéêêÅ»ÉÑ7¥ÿÑÙhó°ùU‹óE4,±ÅAÒkÓõôݯWÑñ[Zõú‹ËùõóÙË¿&=ÝÛ<Íî…(kF”õÆ£Ô·ƒÔ–ý¬¶ÛðQerʽ'Ç‹Ùw³E6|žFÝp‘tÓmDC±Xß}ü¿L,==_ߌÑ[ÚÞÍ´)ýYíÛÞ½{Û¸Ÿ$îIkO>¸Š®¡õü<‰¶£øœ?[iì¦ÄaR¢§N8ñ‡Ã?¿ü6‰µ{O¯ÖëÅìâö¸£ä¸ärjÃC[»ìG¬éüð:#cÍ`flexmix/data/seizure.RData0000644000176200001440000000215314404637305015251 0ustar liggesusers‹í–ÛnU†ÇqbÇŽc¨‚ ª *yöž#¥4mÓ6=¥Mâ$Î9£âJHi#9)®x€<£ðtž7Û0Z?éÿðËëA߸÷óÌüN=3•˜JM]1™úÊÔþ’©µ¦fM}J–ÿ™©Ç¦>0Õ2õ…©ÏM]eV™ºnêëùü‡¦fLå—÷}~M³þ}¾­ S5ª wŸóê¦>avŽsVFûúêð­±=Ö+¬WY{Ÿïq f›k™.o}?͹§ ÞãúÇ™™+ÌØšD‹¯JAËÙØëÕÒœ}ÕÙ»]Ÿ*\›±{ðJ¾È*1復Sù>š¨­âz»Ð«¯AMÖ›ž{omµ©æ9¼bµ/X/Ï5yOZ¥:ï<íRÖ(”Ý£íí}Z|/j¥ª—Ö뜿Vº–™Òj…cêçTëdv?V§/˜k®­Æ[ß*øófíº¹ßêö¾)ßWÿfý_ÿõzëc¬vÔÿ±tbVgHóÕ±åc\u«R™x~”؉ ÇÕ^dÏOƽ1+ùïÙÍ?½ákÁC'Ñtý½„^FùlY¸‚^E¿D¯¡_£óhõQ…j4@C4Bc4ASôô:ú-zý½‰.Xýu¤·èoÑߦ¿M‡þý"ý"ý]ú»ô÷èïÑß§¿O¿D¿Dÿ€þýCú‡ôèÑ?¦Lÿ„þ ý2ý2ýSú§ôÏèŸ- vý÷‘®¯¯¯¯’¯’¯’¯’¯‘¯‘¯‘¯‘wÉ»ä]ò.ù:ù:ù:ù:ùùùùù&ù&ù&ù&y¼GÞ#ï‘o‘o‘o‘o‘o“o“o“o“ïïïïï’ï’ï’ï’ï‘ï‘ï‘ï‘ï“ï“ï“ï“’^F9îðåøÃßP;÷ÇH3æ3æ3æ3æ³Ñ|ù±ô*{Ù·¥qK“k£oé'ôKǯ¶itýìôeÿÕ©}Ø-f?—ÎÚÿ4_<óÇV|k”5ÚšÀšÐšÈšØšÄšÔ>sýŽ8_œ§ÅâBq‘¸X\"NJJJJJJJJJJZZZZZZZZZZ0a„#F Œ@0a„Â… #F(ŒP¡0Ba„Â… #F$ŒH‘0"aDˆ„ #F,ŒX±0baĈ… #F,ŒX‰0a$ÂH„‘#F"ŒD‰0a¤ÂH…‘ #F*ŒT©0Ra¤ÂH-£êw:ÎúÎ*gµ³³¡³‘³±³‰³Žæ;šïh¾£ùŽæ;šïh¾£ùŽæ;šïhÊÑ”£)GSަM9šr4åhÊÑ”£iGÓŽ¦M;šv4íhÚÑ´£iGÓŽ6| ˜wõ/ïí/¦Íï³ÓlþÅÀ<½á—SïÍßÒi.õÝflexmix/data/Mehta.RData0000644000176200001440000000067314757625374014644 0ustar liggesusers‹Ý’9OÃ@…×ä nQ@ BxwsP“   µÀ’‰‘cÈ¿Œã™Çb],=í·ãy^Ï\nuû¶­”òUúÊiUÊS¡jѺt‘<±RÁVù†´J:VÕ³L æÉ_j󪜘Wb^á:òxŽÔñÀ‰ûµ³õ½œsùî.é´CÚàµC²¤-~@Úæøç®ñ™mΉ8¶Æû2ïÈáŸêî3KÝç÷œº†ýV«} ßí/HÞbômˆ–Óä=I'Dës×*\&SÆÆy6.ò,­ß]O$ Åâ»"ˉfÎ˜°ªÆ­Ï©I*3ËÑ\áß.-írõr6¹=ÒŠÝÅÕ-¯éð™]¾™ h#`z}ÀPàŒÁNAHƒ È‚z >h‚à¡á¡á¡uuÅ@®øcó¾÷z¿$ÒëƒÍ«dòš'‰ºÉŠ8åM8Êß…¯Ÿ‹¤V±•gÓ·êñüÏBðÐðÐðÐðÐðÐðÐð0ð0ð0ð0ð0ð0ð0ð0ð0ð0ð°ð°ð°ð°ð°ö—jßÇE|òSg«9R³Ogi£Èflexmix/data/betablocker.RData0000644000176200001440000000115114404637305016035 0ustar liggesusers‹Õ”ÏjQÆo&i4%P.\ ¡¹w’¦(t0Q‹¨¨ŒàŸN¦SµfÚÉÝA)ˆÒµn¥ÐGðºp]½ÉùÎÁ̾ 7¿ïÜ?ç;sïyÜíér¯¬”r”“WÓ¦ ŽýË)U)Yžé‡©ßâ`+L”ÊÏOÆm;g[Í;­¦?¯^_¯#¾à xsL|ÞEÿÄ ˆo#^Fܯfòs=]ðÖuƳãÁóàSŒß@\{è€x ô=âÃL}—ßÏÎ÷2ù«™º=÷«¥øGûÌõ?Çøø= މ¼û=âûâîOâñC›¸ƒþ„ÄûòØ_#nbüüø®Áw ññmœœÏ3¬{ÄõþÆ|:Xï>Æ÷??"Ï.ü¿¡®Ô‹çI°þóál]o~c¬ï#‘w³J|‡<{´NaŸ—P7:å¾ð}àûÂçÆ÷¨ òù_ù}à{z ä÷¥ò=o€4  6AÜÿ­^ûý8kÿ&Ùr'Ôœ“i3ŸÄbŽÂhhU3&½§:ñ MâˆÃÕ$ôÓp=³v.ˆü!/ÍanqÃÒØ~^ÕqvúÀßyz§wmæ×CDs«qê³k±Òɇz•¦5lÛ®LÚR¿­ÿ›º†¹ ͰpY4Y´X,²h³X‚p ¢¢´(#ÊÕÕµ(ª-J<´xhñÐâ¡ÅC‹‡-Z<´xhñ0âaÄȇ#F<Œxñ0âaÄÃW<\ñpÅÃué<ó2©¼î§~}#±'K—IÿDàê‰âflexmix/data/candy.RData0000644000176200001440000000037314404637305014663 0ustar liggesusers‹eËnÂ0EÇN @Ë£´,à*ÔtÓUűbkñZÐR5 !~qfFtâkæŽù×ÂÕ5"²d# ±Å˵ªXKK¿_‰¢—¼ˆ¨:t{ ïå]¡”Á¨€ÂÁ÷6@´À3hƒýZÈÞ€$à¼.èqo“s‹DL‰‰ ç3÷—ÚûŸõaù •™_îü6ßßñ4[ÿýûßþ Fn¸òGßßdȼ+¯f¿§~qV‡[L"âD"C‘‘H*2™ˆ|°Øä]-Qsjµ¡ÚH-U«MÔt†Ó.̸®(¥©Bflexmix/data/NregFix.RData0000644000176200001440000001017614404637305015131 0ustar liggesusers‹Øy\Œ[ð©i›"º5Z´i™}&qNq-7KâZnH‘HDBÉ’rI–**‘êf 9oáUZnEšVJÊ´£¼y¯ÎqûTzß?žÏó{ž9s¾çœçœyžgì§.f+.V¤ÑhÒ4iiMJ¦;Êtš¦ÊèÞËÏñtq¶Ö›F£«uÊvoCº·,PÜ$ø‹ú!ô"9¯Ù{ªT ‰ÉìðFõí9ºu·@ù ¶ûÜI Rg㥦<ðax^â‘sàÝLù×÷Ë ¢=œ!šŸ¦U}YÞ(ÛÇ7.Ÿ‡Êf7n}© ššBíL=% #õ>ÉF” 3'ñÐMôvšëÇ”õw@¹ðYÃè‚3¨™¼Î:òwÔ6êñx)W%P³?5Tôe2êç(÷(Ø•’Ê­¬¸¥j]¼AÁÅ $>41(Úæ h:ô{~°D½˜>¦VX‹^Õ_ÞÍÝ6Ô;&m:ÜMGÖ& ó ÍtÍF¡wÿb,«ª£¦>¯n¤xƒÊ«šŸ¼µÜ_²ï`¨UöÒd.ƒÊ1s²PÇhð"7 ¹AÍ5&݇?ÿ‰êu,Ÿ6k)Eßkm“å.F#f¤µÇMB¹ÆÚk˜­|T&Å×¼>Ó´–åF¶çׂςx»µk'ö‹œxEH2uQk›O(Jg¼¹VqóŠZõb 5>eX™|ì@9k´ÌäâæçêÎ3KÑ»%S›7ÕÕ€úÓ£Îî:Œù>.ûkM5ªˆ4Ý(¯T®£  (ðæMÖÉÑíIN”~ÑóA{ì½'þЦ¨9tƒÞ‚ |T²ÊoKi&ÕD~Xg¯ òíè³:ý5Qº¿ÈÏ<2Ò¼ôØ'ê¨Ñ¹fg1¤»åïz­´U¬-;8wx4héºblx¤U%uªš*€¶w«g3TÁ}ÍßJ—-IðÎÄYiút,sò„EÍ(ßÃÞºU¨j#ˆ:÷ÒlÞ´0¶¡¸öyë’g_-+N£'[#ÿCùŒ”ŒÐûkNY1Pùk» ‚Ai×Ã-›¯£ñܳ©3ï Êµ^³o•ù¡ú¦”§§&¡ŠÇg5&6F£ê¶=·gì¶âG3ó¬T¿Ody‚æ=ÚNK?A±Ë–J ª~BÍç²}-ï}åò£¼•èUàSr¶‰oÑX$¾ihr$Ù $¼ðH«üå ÊÙßÞùüõáʸas§£ Ã’œ'Œ6ôåá¶âÍ)[@i‰rQˆa]ÔJŸg müZ‡{ú¨¼šÎà®._¼âqÌv)ÎôZä9ÕëdÉì_³$Zå^¾3Dè=Ðj, ¯‘¹ÛïëPÃÕûU‹#Q÷_žµ·AÍä¸,C»¨â·ê¨é‘Ψ*c~gë§K ~Ò©˜òaµ¨Ò=6zõjkôÙ¿/¹îá¦Ñ’Ç(GlcÊ 8ZŸÂL”æf°sâ4ô–6¡EÚ‚*/É^UWUTµýAvvÐtt®z.ø¼H:àî=kФ²M¼wc*÷žŸ~eŠ%E ¹uúfê2 QõÑLÙÊŸ7–éBU[˜›i—PñdKy¨„ynï…GAEYÉ™¡Áó!mÍÔ‰|öÐ1¶ë¡0Àu•]kE?ÉŠwŽcQKÝéä}TuÇu©•Ÿ¼îˆÚ%¥Š>úÿn|còc¹Ý´FËÿjណ\.‹ê3¹çd½@&Ov²n…’Äg,ót6µö>š‡‹¡ûÏ#vU;Î妄«c€œëÏíÊÏ@•“âY—cm@³ô>ÇCåÑ«MQZÜ5@à¼M;O5ƒ‚õzž¿”NCÏçø§¹ÏQCÅæ ›$®UW×U®f ¦ú¾â´  óÜÎÐf†;xy´0JÃùê ­+i•š²?R…ÇìÐËwìo†É‚fg]ëÏ= ]’Z«j½Š¢X]ÜTÏDåæ3b)ePcýÎ’Yz<ÿµ2°pV8È©ÿã÷SNÕ Ãr]yÃE¤Ô°†Úæì‹¾Ï§!ñâiWî¨ïë^ß;íväÞCu.ê3n$%Lþm¤¸Y%gÆs-By¦º1ÛÍ"‰”A¼Eºåù{ÎͲ=†¨ëùŽrC t!˜¸Ž÷5veŸ¼/ûå§¹/ žŠÔÏjŠo'€Ö:7ºòâ7è {v×<£sèíºëzüÛPG(—;ßGD˜¢¸*¢Eïa›Ll_V-a(UdϸÉ.K@÷ýDåë}äï[ íÛ-gé^ùûÏÚ~T¾/§wÙ¾ìÞmê]×@ßÌçýÕÙ»½ýõu ­/·¿ö÷Õ¦úÔ×µ¨ÿ˵ûÑ8þ¿se0ýÌXþh|û¯µ§WÝÿx“swÙêâ¾¹;©~+ñõ¬”EO`õ*/»ÒÝisOq©o¥äV;­ôòðìN]ß-Ã5õG—e°Ó¢¯Ë<Ø!hjþ/Kw0S¹¿ú~4e;]§–Í@?+ƒ×–Ì`–ï@eû»fýåÁ,ãþÆ`°ûÁÌ™þúùÝöuYÑ¿ÐúYI_?•îù´Ïeùu­IÿýêTeUk1Ï™;AmøœQ­Ô0Åêã!Ñ©”zN í'¿³pÜ 5_ )††'ùÇe¡Ìí‰ËÞ5†f&wKß}™vÓ¤ž4B®À>êmS¨ÔXq-wßj˜PK¢Ù5ÝÆ¹Õê¦è”Ö3¡Æ#ÿT§ϧFwÕ©ÏY >½“®¼JMŽEÇŽ²(Ó‰¹¾±/¡ÖîƒöÓç·cš>å˜l4¢ìr¦&b-îïãÓ° êªt-J߆̠,?™e”•ίAÊv2éW©Êi’‡´£ÞEAÉ“ ù/驳v:Pºü§áyåש±ÖŽ…{/ƒz¬´åìR)Ŧœ»±…Û ¢ÚÏô-Y ó£™AaAÔ·ÏÕnY>’Ó¬¯ ô£ÀGùèK1»^BígïÚlôŒÑs;Ϙ[4c(3z÷/΋§Bz’[ò _eeèÐæNé¼0pï\u¦ˆ^¢r’Òœ½U  Î^ÞÓŒ,[¨ôjÔ†Í-^Ô¸á jźvÐRér íãN¨òÖuÙ½˜Û ëÌŠCËl¡qÍ˰™»‚ œ'Kª› ZÞõøÒd¸g¬´ðÌ{²5´³»¹û“ê-þÕÞòë(û1%m=Ô}f¢ÓwŽÌ{hä Ù!«^ …b5¹~ºP>¬Úä߯) …'_¨m3aŸÚ˜lÈ\ï]Xô,jÞùu7/9JÓÛÔO‡Aå «eÛ?uBîѸ´-k¶CùBÏû7zCÃ!I>§FÊÃ!·ØzûYÀ¡;'ÕÂp-8F"ìŒ7ƒÌ5‡fEÎØL±¬ôïýqÐ4nûëãËtÈ«°î|p#—½a7îQº%nòVPåVÃcq¤ŸªÊÝøjdrœA­Ý¥îuÌ(›qA¹Y“=®¹@Ê|×-ÿËà˜Ù4ãÚ7PsÝ~ë?ý~ƒæ›òžr,m Ü˜Dóü3ƽñè«Ö®ïÞ©|»ñ|{£úG…î"œÖ»|}TûV®‹ÜÊþ[FÊçÛÉï_˾¿Ò{Ýé}ìû*ß“é½rïã¾ÊöuÜWzŸëý @ïèßKõÓ×þúÔó¾lé^õõ~ÎèmöUoï>÷>×W}½ë–îÃé¯_½Ç>À¾¯±ýѵø¾Ü@eú›/}õ¥¯ëÕ×õî¯Ý¹ßÚøÏ׬žÕõuE}ýüëIioNìoIjÛwËíohÿ¨áé±Íìû:³hß=Iþ7à9=Ûx=ß=AØD=McYà„›ËbãÄÁ‰‹'>Nœ„8aƒ 66ØØ`cƒ 66ØØ`cƒ 668Øà`ƒƒ 68Øà`ƒƒ 68Øà`ƒ‹ .6¸Øàbƒ‹ .6¸Øàbƒ‹ .6xØàaƒ‡ 6xØàaƒ‡ 6xØàaƒ >6øØàcƒ >6øØàcƒ >6Ø`C€ 6Ø`C€ 6Ø`Cˆ !6„ØbCˆ !6„ØbCˆ !6DØaC„ 6DØaC„ 6DØõt–…‰,Ù$rHä’È#‘O¢€D!‰DcE4ÑXDcE4ÑXDcE46ÑØDcM46ÑØDcM46ÑØDãC4Ñ8DãC4Ñ8DãC4.ѸDãK4.ѸDãK4.ѸDãG4ÑxDãG4ÑxDãG4>ÑøDãO4>ÑøDãO4>ÑøDM@4ÑDM@4ÑDM@4!Ñ„DMH4!Ñ„DMH4!Ñ„DMD4ÑDDMD4ÑDDü–°¿þ–ôùg•â*'/'³ÕžÝ´¿õ»þ«í5m flexmix/data/fabricfault.RData0000644000176200001440000000054114404637305016044 0ustar liggesusers‹]=NÃ@…'vb#  ‚ttçŽQ *ª´KRRlˆDƒ‰QqZNWî€D ˆ ÞšÝÁrñü>¯gæ÷`§Ç~Ï'"‡—RQÑÁ£@T­Àç#u89éGê|”¹Ëi)ÑTn@·8ßFÇü€—Àð}Î5ü ß®àÏxŸÁ?áë8ÛƒnÀk^å~€¿£.†¿A_àoø+êÁ÷ÿ{§÷†j^{*C%h.#Ïœ¯šzßxÙô­÷þ® åbffÍôèY®9wrWV«Ó!–¦ª¹¬tàþp|”Û·]}Ÿq¾±?R±m´éþ@%ªM03W^™œMÙ¬ºi)ØBh¡i¡e¡m¡c¡kaËþa°)±P(Ôj µ…:B]!É`É`É`É`É`É`É`É`É`É`É%#”ŒPgühý†‚Pßflexmix/data/salmonellaTA98.txt.gz0000644000176200001440000000012214757625374016573 0ustar liggesusers‹-‹ËÀ@ïVa ¢Ù_gI÷A’ËŒäñÛ0<,Ñ8¦ƒÜM¦PRe)Vé^ÌÃ.H3$UüØ»Vª‹ÁI~~½^yflexmix/data/tribolium.RData0000644000176200001440000000055414404637305015574 0ustar liggesusers‹Ý“MOƒ@†‡¥¥B¢6ÑÄ4ñ4²ý ÞLêŃ—ê¡×•.†„¨þûê.쎔XõàI’—}˜Ù—…ùÝ‚: *A‡ˆ›зÅh—yôœÅÑ:0ä¬Ð¾+t&t®t)t¡âòùXè@è´5ÊZ¹Ž4í©Ø¡ª¹R’ó}•+çNTž{{ÕõßFÑ[ÝS£!ÒÙÐål´óWPw^fȨái †­Ân³B×*Ë YPf¹ Í޽íù…ÌŸ%_‘¼·vcÏXQ²”˹ ìͲ4\øl=°%O‹ºÜÔå_nj»)K¸îAG»Íy¢4J_T û”•,þœ]ÅQÀJ®½Ç"^´À<{4—w¿=šFÆ&| S 7 ˆwä!Q¤!ÒiŒ4Aò‘¦HèAу¢EŠ=(zPô þŽ#r–¬dƒ0ýª 6¢Z7Èäflexmix/data/Nclus.RData0000644000176200001440000002062414404637305014652 0ustar liggesusers‹]zy4•oÔö1œsg0ã¡ÈTÆŠzv$•¢TRh ÈŠ"…Ê<$TJƒ” i0Üh@$SÆÌTdž ïù¾÷¿÷gXûÙ÷³®µ÷µï½¯µn«m6Ú$@à&p \¼œW^n΋@á|Žîç½ "•óa7ª¾ŸéÍ çËÈ—m´CÂ|*yü#Ø÷ïÖ³¦/±±0•{%åjè§ãDr.þ±>„ð}ëW"š§äb ®G—Èa?ývÉßmÐâ…±½'#‚°QÊs{IS'Ô­Þ•~º aÓfjGÎîÁZßßw{TŠuœov¢eÕj¢þ“Ø”•“ª{dŸ¸CN}Ò °‘;¹ëË]èÞÓ‹Þ{p?hØŒÍØ¹4_妠þÁol:î–Ìm発!áäˆý¾ü‘ùñ>ª™°X)..=nãe}~4•¢ì6‹}4ò6 «÷ÆKõ£ •W±ÙpêLµ Ö_’u‹úô)ZR\UôÛûF{ß‹Fu¤K+x°ÏMéÒ1vƒ¨ |ºž Q±·ÅBéjq‹è[µKîþ{;Kœx.ˆM^YÊYà2ÃfLN˜â;…z×íÍÄ JÇnxP…gr™ßYA¬^ámNý[ÎâÙ&qé4ú£ñ3þ@6žP×=á-6Ó÷"K»û;63ÈÔݺ6kÁŽšZ›… Šõuf¡ 5ØLcàã ßhšÕ÷ÌÄ>M9´<4xgþd(<’¿Šõð_wÄÃMx5¥/Ç>FóõCU«…Xáì:ÓcïuÐŸÔ šf 2”Öýøƒµä{•j:ú¢‰MT»Ø=Û“V*_*P¯ùbMÖØÛUVMÁ–‚Ë"\Ãæÿ–)|ز‹¾}s»MÈú“âöº’ϵn)Ø]4†U¿p»ôWq ôqΣ F±S܋u¶åDQøp⦵¨ÙFöñxéV´ÐPàCSǪOí•/ínÂÃF»m;бUìEÅC®elºEºqKÓ!Ô²çì¬IwÖÁsëÅÁë¨k¤¨ú{¤&x ½\j…šëuÅ R±¡¹M1yÿb°ß^fK†éÂhæ¿^òß}/Q“ñ£ ÂKhJ½®5C÷7÷9º”Ôº¤%2ö%ä¢ù-\Œ+?ß ÚäZ†»n<°»J8 ÓaWDÊÙ¸"½EËÈ.l+ 0PxÕr{§æ`»Šk]VLõgÆ#BÒ ß=–t¨¡¤¯µ†eLê‚´9?#}9!Ö0éïF`J­N‘~Ѐ5úÜÍmò¢úBÛWAŽ?ƒ[•øØ·jB¯ž‚\uEÂÂöë »v÷õ=Á‰À>S¨ÞÒc’–ÍŸf‚üª®Ik'°¹G¾ÍËõ‚Ü¡9e;¥{ µTÚ}³ÿ7HÉ)OÑH¶Àöqñ°Ÿ%÷sNɧnŽQ~ú }1‚’DZö÷ÍŸ2¬AÞ¶û¬êá>`'o9ÿ« ô­Ä³,@^äÞê€_9È4~áŸËy2­I¢'„{îyÌì7Ò<ÜI“˜vªM}ÚÁ] à´vîx7 ØTÓ?{Ê|AÚèÛuå(ߦîºýd¹¢êù@~úÆqi)µ{fw*Èý°1Z©< ìÑ*ÇÓÉ›@»dOžjÈÔ~R±©÷ÒAæwf‚l È ÖàKe{÷†éfaN>ÈÎî<ÁÁ_8Ó¾þŠ'°÷«¼.]a\{…œ¿8¬¡ñ”‘‚4M+}ËØJSùù@þ ïûç[G@Æ5>YãØ]õcÎþ ÿݶlRVäl½ÔœºC€­x°+µØA:Á!I¥O¤Å‹S°ö¥ß¶w·ìAaÏ¥ÄÚ÷í=ð ›Ã;¶d·À7ë@áQÜt;'Ž?÷Ê. ß…Ó?b¥šö€Tž¼¸%(¼]µ!›Bé-Þô5œü>Jkȳز-qå3#@vGׂ¯HŠîk~›¤rÖ¡*÷½ÄAþzË¢û£E`¯¹¸÷ÔȰ­s›nû¨»ÇýÉ =—#çuºX¯t¯,¢•ÉÆ•«§qZ --X[ 8Õ¸ðxqÁoÏ/¾Ú•‡óß®]ŽlÄñ“Ÿf;£ÐëÒØO.4tFûüéEmìÊŒš5À‰Çœo_ÅêZXÛ²¼qò-“æ0~\¨¸?a߃œ¸ä]ð(-(ÄuÄ`óJ¡õ‹¥¿qŠ·ÿ]Gÿû¨ºïh€gÏq4’¥0Ľ-o4˜#Úâ"ÓÙvOÒÐ4»Ì±Öë%ZQ8sïη»8-áù¹êÄ\œ­õs´àšžM,V/BS½IÖ‰æqÒ™— *€æ3_nUWÿ5æ¬N¤òÅ¡A‚̱T4ä[qð¿í8É@ld-{û!{/¹í}0-ki DZ–ÐnçSš6¸`¶hÚÃÞ´ÕÚ4ç¾ͽylu±Ùõy†*ŸáNì¯Î€æ;Ûm8wÀÓ{¯q7œî/™œxÜç yl9[»„s‰0KM: pÞÂ?F=ƒpQmVêÙ§V8!|Ï/Ä%å W|“Žâ܆—w)hà„ûäbƒ×Üh‚á»'³l-ZÞôY—E¹Õ*6ËTã|‰éÍÎU‚¨Ëiý.M[´My‡Ã\Xó®¥A¹5N÷øæsÍ -MۿΜ´C=7¼«•*ÄJd¢œƒ{зðmà‘޽L•“^khõÌǤÕhƪõqŸί^îo£¢ƒ žbìg_AË•¤æ=hèÖ¾¢œŽ)4f21)(Wˆ&óÞ.ÝÚ»Š•¿¶+vûÍáGAŽÀ%Ý8‘ÿ󆎇h¼óÕ1Ã7hÅJôô%žm¨çv GSelaï\¤ñ4šÓP9ñaJçyÝÛB[o&[d$Omfጪà5ظ€@hËíWùhu{nuD›Zø¾F§¡þ+NY]֘߈æz¶&>ôÂùŒcjüzŸà|¦ïBN×[£vøZy-–VíþŽtŸ{‚p‹^§•…–‡¦þjÙ…VG'O®Ü€Ó|ŒŽ,g+¡ ï•­ÏÉ89"φ`³ððp(=z -ê¿bÝÔA1c%57sX7ÏwÛOY¸ §óÈJcRêfàç2q·ôÈáEsšÊeMß¾ ‘üS)E kÑèN©Ü[Û†p‚Ä‘¿ ß3pá=Ó¾1¶u8]þ/¡‹1èc{»ã˜ N|å–w W§Å…XíP|^p×J]ÀyƲ{>‡&ãe-–I‡pa÷¹ ÝYM8Ñ1ößO^nÙ0™e®+8­Ÿ´7Öa Z¬ÕJ:uŠÓŸª-‘ÐlÍâJÑÎWï‘9úRD¬£¸4Ÿ€ ÉÏVw1 ·‡äo”9 tIÅâê`>;B >/OÕ^ §=ŸÖj%‰xSû=ëî–Ÿ‘Êêz¿]C¦¥ rëÁq…J`”è'ÞîÕÅf½ï>ñ`0%žir{ÆûƒuSB®TÈ¿ÄVˆƒ€OÚ»ò÷Š4¼£¢´-Œ¸¥9`:VÑ¿=> ´›mü'¥€°Æ"/Èú Põ÷o˜vĦ‹ßï Ž˜úLíle$];¬Þ‚¦Ï´Õ|ñ³ÛϤ®ãœeÎç÷ù@&UMû bÔ»½™qg€t»1¥³è%‘IðØø¦¿øHèÞ>/[†ÏnàS³ºö(Dáǹéá r&m÷ry<šÏqÝÖ!‰¦ÄÅ‹ ^F±iy Õ—ªWj@€êñèêÀôÎYË ¢ü÷ó”í @î)”ußTCæÝwåR@}ûl¿ñeàþyT*Ç(eƒg³¼ÏuÁ-œjï ŒÓ1¤–§ÊÀŸÝž¸‹“/;÷Á \@±1®;z 茶Žqåà¹£â  B¯4ŸÆÖ8S­¿Àˆ­ë¨ýƒC= ¸[äcj±§Ž]¿¯ò”Ç­ñ½è§t#Íh=wÉVt¶á2oÊéê¸^ ­ß1 $`è=PË”“Ö€šðè›hà»É‡Eœ€Æ'à\4icµFö= jò$EG[êïûÆD£Kõþ³ý¢ªÎÞUþØ¿øŒ½v£ Eþ ŒÿÖ4Õÿ>ÆíO¨å™½¥ÀLÿ¶¤{õ 0–lþdd¼kÅ–,5ÅnL¬ƒ Ba—c9þzÑ‚+B@ndýJ²~ üÏe(}ÀÔ"‹¯³¤wÏ—ÁKµÏ€ötÿÂ- Ó¶'7fQ€7Ç0=¾Yèt5eöî ”zi4åtIÝméãšP+¬í]M¢jAÍtá6`h*ï³>¬ B_’v«ÅøöPUe \?çHˆáÉà•‰,?•Fþè«aE:¡À<1¡¸-nÐÃäÜ[œƒ)²t‹ËüÐý§MjÖœf ×ü÷ˆz ÷Å+/ÆÁæéöc"À°˜5î¿Â×ýŸ'µul>Aþ {æ+í ¤ ñKWÊ|¥Ü€{­O_YÙQ–½àqz{00Î ítSú‹N«¾§€V—E»•4½Êv¼h·XN¥€Èu§èˆ! Pû]{€iþöjM&ß7:]ò(öN|=± lq¦š'ÕHÖ%åÇE~aÃÝ ÉÖ$û{q¨I-&8D4Û<@ÌúThí). ­Ž;Õv!Ï'í³•Õ <”Wóo(D^ñhåĤj÷}ÜÔãÝ[º'IxÀňƒòZεÌà ÂÇ^´8æt“¯‰î£@k[è; ò$çmz?´Á]VQïÛ@D|ËûÕÎ`,–µDŠqpÄÄéjlÈîÅ‹6 F X¦ºÃýkÀg¨bìtƒS¯™Š¬¿G€‘w—[àìnòg¨Ú€`hª¤_žˆtÆ{ühˆ? ïW"RºgM¢§ßÝsøQà1 ù$Ø?òÆ¿ßÂG øåz·êE^`ü|¦‡Ÿ‘ˆæ‹ZÆŽ l”÷¶£[˜Ý‚wÜT¼@¬Ä´Ó39„zÓiÓ¯‚€SšûèÊ80ÆŽvGmßzÔ1Ï À9b÷Ai0ÿ2—ªƒX ¨'ÑAκqÅÑwoŽ€H´îZ"· 6ßn·4¿üh ßœ¿ÿæõ$»$#`¬\$´áô¿‰šªÃ&¨‘,¾æq>Ö7Y"Ó͇Uxg¶/7haãoaówÞoØBõKü­i6xâØ0š;z«iã6àÕˆr6 %¢_b¹Çè\KÀMM¯w±}€†ÎÞ>Áù~¼ù×tH½½ó£sqÏA49FN ‘}޾Z›¿º2kƒM0^ÚüÌtA-Kÿj`ãn´ÂÀr¹—‰ •ëö|ŠõW±Õý9:ý•G¥Û sOl „Ì”÷>Dí’-Ò©Z·Ñ²²ã~ køoÝA;õX÷ߺW†§am±ÁžX~DàÚlš+h®jh¦cßT3—ê+lv×Mtlà3Ê :°iß½Ô'Pé\›Æz° çÞ®e4:½§z|ùª­î <è€þ†mOMë±Eó¶ô›ÿ‘ÃFŠ7¤XÈv zlT-?2½ÿ‘ìhâƒjì[<˜µØÏjYí]MhZ{~W{1/Ö3vU[qÜ _P4¥œoFs”‚ÔÝå°®sù¹Y-ýªàB-:^çôœG£7ï] GSƒ %ãèí­7¬YSØB×þTÀ»ÑÔ=â{l`úG±X /6h9Y3ŒÍ²~o)<åŽ ÁW2aFûë²E ÕNUüP¹²_ ]©‰Èɽ™†ó~M¯ùô-ˆ¶D¹é¿B­–±zÖ‹_Ɖ¬(m}l¦çü~§Wç±1I Þ‹h:¥ý[eÈ~lâ t"/šl[×>V†ºw~HõZÔǪ¯èýçŽS€¦Ìo©‹Œ²C´sݰßÜv&5Îà¼ÆïêXÏw–¾.?ö¯Ýÿù»¶fÔjX_[ꈥ®<̶j¯FK–±Éb¿V°Ê‚½#^†mhykx-ëM N$OþjMùŠFµæ¾žÄ&ØçÂþUAýÓI”ù“GPã§i;+qžñžÄ½ÆVÎâÅ÷wE£Ï‰‡îþæ*Cã ¶DÁy´œ9Õ1äu-ÖL„kßÃ&÷}:ã0„ý\½ÃÜ„³f ™6`ç]9›Ž-ÅŽ;x2û«ÿÖÚìÀy|Ä.i Q/ëôµ;±ƒh¹ó^ùÞ[¬_ù?õx}'¾y¡móV[&ùo‘Å©ëzÞÃ&z¹—ÚQïÇÎÏ`ïž(,$ßÞ üú½uŽÏ8óK”ìyá7اI®Krê±ñòÀ!E YÜûGç$]Ø›£j« bo—ÖöÞ±ñKîm5~ý »RþÓ–½¶tWÕ}‰­äØ 2 +ª$£]­ × âJôÈ—,`<`J—ꃈG‡øhÎHºDÞӲ݌¡§È ‚ì+]|o‹7zøcß"PµÍÍŽÙ£©îÐ]Ÿ ú£ÈT­c?ˆ”ò²÷Tiw®š© !„izxD˵Vïèé€Hí¿‚´?ÅboþDH}– v¯= ,Í›ãO›”Dq掔À´ª¨’¸ë,׿˜”X`z*˜ãàúcþŽq ˜Ä­”òV >kJ¼ªœ ’ã•ì*EU‰ØÔT b¿«ºN+ìˆÌ©ŠÚ·¡i ˆÇÏç®WñÑk¡1ú-@_s´ácû; k·&ϨƒPMGÍÞÆÿ@¤ý¼åÝ[âOW²JÞ³Ü8ó‚ð°ŠóMËëAVN“ôDoäͳ/±yÙ5›HN•˜.Nѱ…J‹‚Ï ¹ç]’kH*puû|üŒM–\Ò º%kê5ÍÄu½=$Ù! ò»8>n9$º0ÓéØt–lXÒñU_³Ýª×@2«9zó C“ì¼a°¹$ªçý¬{p!FC$<]ÝL @|³_¹§è°ê#b*W€¯õcªu+ˆ^>,ê>ódc²ó5û@FAãBJ¤&ˆ3m^‘ò@´âûÞO*Ë úè‹4µç#H«H_uVAsÜÅE~`í`Œ0K¼@èó ݰBŽÿM^kÆ&q`ùr>í<2Úô3!÷5Aê…]ê)tÄ"ä¢g·ë õË‹ƒËƒY†›…‚TƒÜCwÒ_÷æì>аZïêôð)ìQÖëÂ3³ s@Qïn$˜•EB%µ S«$õï3ÈÜï©¿j2V);ðç8ˆõH|É&‡ON'uv=p;uG70zž¯]Y½ RǺMÌ ƒ”­§‰²¨ He\!8sÞ¢ëÉ£‰Àk;œeÓâÜbn®7Ýš; ã-³Á®± ××b‘X´ $=Ø´]^†Üa¢ªõ8ˆjÎG]¾’‰z¹mãU éWz¥q‰Ò%¥/ÃêTÝžàÕàZ¿]‰â¬øÒôDöGèÖ3êAâ µïð¤g^üðì¸BH=Ñ#{AÔiyûðT1H^vß”Wl¢=¼]þpdDì¨ÄI޾*V75âÔa]sbܘ>H>Ù›rÄÄ·~S©©Ž çÃâËÀo)* Ñ5öZ(ª؇]yê@öÁàræeŽNŒé™ù2ͯk"M‹A4ªÕ³<·d¶+}¶>¡ÒMÙ aOŒA¬Ö;Û啈ჯkA\ëk¹±£H××" +øµó#dP†33ÁÀìÈð<³¯×éÒÀ›-‡A*a@åÄž9`?×5ö°´‘Ç›é<Üï$ïpeÐe™w寕6±¢L% ‡$J ºrÿ6#+Æ!N>².I[5Õ¢LƒBRÖØÃ÷ê8zÒòa[-0x6= 'ùsãµà×kz€K§ð~Ã}/`<ú'^Ø |yr×°msµ¡³€ŸdNÚ‚û}Ú% H: ¸P{Póz§“V À½säÖ2üßÍè‚ಎRîq Ä•Ôeÿ—4W< ?DZ;({XV@Í~ïsµ@Z{ûLË:à6›§Œ ÉÇ3‡4ú¥Þ§§kl¢Ž^ÙÖ¢€º¾¸ökûVìo¤‹ìícwA8Ë=>Jö9ö÷èÆÊ{m 6:všÊ RŠ_4ð𺖾Mî±J¿À|É@ïvXRšïRÛÚ;ÝÏ¢@d(SeÇí Îøph™Ê7bj€ÿø«Âç±+À?òœ¾¢ä|³sŽÞ58~Ú•|˜pè—)t½ªçÀ¯Ñ-Õò3h)ôÁë­Â Q%O|{¼˜ê–BäRÜGN…}iú²`øĪŽïUótÁÉ«ÏøÌ>pâ³ü•攳|*ÐØ×7Úy_Aµœê ¦Pݾü =uú“ààϵÀ+×søsjx~Þ!è”~Á éÛ@*˜Ùî>“Œ¯g7¦ ÜæÕ;¾³tNŸ*ÓU"¸Ôi«Ñï˜J}bš|3aÓ‘ âN ,GˆR“â€eWªŒÕ£z7+£%Ä?4’6ú¿jq¤ÁŸJ ±¼³pjèÅÀàMþ¦‚v‹s8ÔaýÛcœ¾ùùü©¯ŸGðÂ@ì’sÆ Â¹©fÇGsI Šëd÷qt,å\9ýÆ…@æRùÞ²u„_n^z|ûõ祥ìÂã2ª@ ¾óÛ}ì)úÿR¸VÅác2é%#'HãþÄTß§,Eoo`^!uh_jvKý´·Àx‘cù$Û(Üú—ºl€Ï½ G¹ÙÀ;ì&¡‘´™ç3³_-Ž×½k d¹Vûý@+Ö)/9ÏÙO_Ú•Êæ@D&Ü4Â(D5Ô—o±b@ôžðhÂ… ºE%nj¼ÄQ‡Ã§èñœÿ5M±(cɽ%êÎ@õòÑ?1vÉ*Sþ²ë0G¨Ûlf_qZ(}—.Ëå65 Ë ÝØó~ÐõNê¾<43®ù?knÒÅ_t( ¨Ÿd¿,ö¦ˆ—¡SÐ^ w§ß÷ç:Ï‚ˆq;PÊÈZjÒ€rpËß¾ è™,¿ýª-pgïж’7Ê̇¬•¢jàÖKûN výTÖ×àÆ~Moæþ— ¦ ¢v=ý6Ð×SfJæ€Ä°U®ûıi½“zÜ V.·;bÐö{ä jÖ ‡«'è@6·9à/ §‡9}ëÙ{Æ{9uÀ<°F`­u> iô>0…ôÿ¹gp±rK© ˆiÈêS‘*˜ßpôˆiÕì’¶Y{¶­@(—-LqëÓ@Z^|ÆwƒÓ/üÒ‡<\¬€é‘e¿Êt‘JÐG)œ}d^,×òåq ©F u csŽÉx{?'.ƒ-Õž²g€±> «»[ŒÆÞªTç<¢Í·.è9kE Ä/Ú”0ìî­m2ô†Ü ð_ž|·öº6ˆ¨éh²j:¯aÁ­—#À«ÀäK©Ѱ¨¢×+—A´åñôzèº>çMwqtÁj Ù#Ø ÉY‰ÕcÀ´›<ŸÚÏ^L|Ù 4Éë!*-ÿçð ÏI—3“Ðÿ?ŸBàVúß'aåÿ]ÿMÖˉ»"flexmix/data/patent.RData0000644000176200001440000000442714404637305015064 0ustar liggesusers‹•X tåÞ„˜ð$‚ Ñá›’}GìÙÙÙÝ!³3ËìlHâ¡v‘‡ ïDêÁ¢PN…µ 1y…gh©ÊÆ¥ (-¥4ÂûÑ‚ìÉÌŸÍcsîÎÝ™oîwïýï½óïÊ®|KÇüŽ&“)Ù”ÜΤ‰)%?’L¦ÌxN*ž8£Ødj×M½…’‰âFQïf1N§¤(”À8%™Q$™çT[Á»Ý¼À3 碼RÀÏ+Œ@ùeW«‡^pr²"™Ù ÇÉ+µi=ÏJb|w"ð'{‘ò{Ùǰ\PáYFP¼È¶/dÐ ÙofЉâL$ÞÇÉhPÄh}F*¹‚¬Ð,ÄÃëÙ ý~¡ ®ý€‚ŠÀFIÁçazˆñýw2²+‹Í–³µÌH4|>:B)2“lj’u%žcIJ¹x6—èÜÀ˜þ;9Q¸‚¸+Lð›K¹ä 'ÁõrÊ|@‘³¯€“ÑËàYFÆxÍc±Ž°x¢ç¨ ŸÇ+2†Ùª¢à½Œ¢p¾ØÉo†çœS–‚¯Ù/‰®§ZUr ¼À‹jÁS–çD–‹oÂK.®yòãáѨ_IÜIòcý$œh;Ý9$šð2ŸÈ žà9_±•%'Ž*‹Éöâ–)~ýË8?eʃ/ìÄòÀ9¨>‘%gû‘ 1<Ž}³_P÷ññ˜M£²<Ù®ìXLð>^ñæ jĬ!‚äÎÄëMÝÖ¢u¶‡‹±l_àL`w‰Ç÷z~âxõ]­n˜äøñv65þNlÒ~M™ÔŸVÉú9 eÊã(iúµ‡PžFé­W§~n¯?›bj:TLj65¾IçLÒõ^Ï×­(S"0êQ®s©¶¶éÏu‰°iÒ팋ˆÇ¤ûþ(J'=nõ(D”Y(E(ÃP2P8ÝÕ®¶ö9=¦×±4˜ê¸på1Ö ¯Ý®ykÙì³°Gýœ² v®<”²h¦‰î¸ñ“Ÿ]Í;ï]è5qÈɰLÇ¿,í¹™_Qð-–}üyÞ¬ýàë¡£>„M**Ô ÊFægŽ÷„Ý÷Žý£ÇÒ!ðÛ×7­îtî;XÐò·±—¶~?e{/m„OÛç ¬›_ «‹?ºðþ?a‘-åòèÝaß6ç#׿€íßéûÈ¿?ƒ]}JC¯¢ç½¡âšµx­Ÿy^ÎÊCð»[›~¼8m9üj¼ï«[›êa‡~6ø'¼|ÞSñÈ+0K¿^ò­ëD·MƒaÍÝ!S/VO†N¼º¸òÌ_`ù3iÍ÷”¼ûÉ{‡/¼{ßv-úæ Tt¾–µâb ”Wßü÷u‹aF»îj¬Òí½ÉÁÓ¡òííRçÅ>(ѯWlq¼œ±j TªÙ|á l™PøØÖö9°¦qà­;>(S?§ö€%=¿?l¨½´±/¦–Ôßñ›’§`c]Æý9Jµå™ %æsûÌž ¥æ.y)=WêŸTK+aCÁnŒ`/”«Ë3t”-­ß÷déZ(ÖãÞ^˜Éî°SK“ ö¨Ñ BÙM-Prû•]M‡$••T6,;½ï¿…Pá,¼þüËŒº¡3óëýÞ7«L¥kç}ðâØ7;$Ÿ…]¿)êYï‡[šûCiý>zWþl”ƒNÝŒáu¾wÙw¥öÿrj}¨æÞ$¨›ûÜ·Û¶|H§žðç†WÒíM¶é‡N„óXuÕÇ·À¥Æ|Ó™7¦¸&èK'í×®<­%2|°ËþïÊ °Ÿ¸ý}øþVµ @mÉ*5SájùVŸ€;[g§ïzçrø\ýÜú£á;»Ôö‚kùßî§ùÞPty÷ä’ûáYùåæ  #nØN­>òœÔÁµáz­=X:ýÅ%ÿqÌÕª”×Ïš¾üãpFÏßM5šàïáÞÑ»W]¡SG%}4#{ݵæãÏ•#¿׬»ÞùìØª´òºù_7ü'|}¹št×:5¼…tÒÜì îÒ€´¶J–ÝaŽ–`¸ûÒwÇrn>¼öÜKwª’uÿ7æ¾ÄbONM?\׸εZ[= '3úź>U©—/VO:î¤S{jëHwZ„îíxI.¥E–¤°Ü8‘O¹äìCN¾ðÝg Ÿ}÷Õ¾~C¦¬l/ë«_Ï·Ý==”ƒÁZýª®Õ÷øUÕìhø_þ†ÝüƦ1fb&ËKgûÙéÊäì?KÆìlœ·î=úÛw=>}lÌò³[kgûå³óÿ4Ï·çÛóíùöÉlKÏ÷çûóýOnŸ<ߟïûòóýÝWžïu_ýÜ×>ýÒ‚ûúÙ¾Qöf¹¹u¶o—}çl?[W.Ëš²=fèñ£=¦ -}ïé1I×µÔ¡Ó§«ËÕÝW___ºêœW÷Ø:æÝÒé³M—ý‡ê›×Ÿ!?Žy¶ˆýçõe^lͳÎÑëŠ×y±ü,1ÛgÇEó}L½C>\$ûžåòP߯䨨vÌóߘÜ^´mC÷‡Ê,jû¡rcãuÈ7}¾Ãcꊃ>; ùd(Næi½?ßC Y$ž%6‡ú¶Hÿ†rw^\-»‹ÔÿqòcȆC>ìӞ狱¼è‹ã!ŸuÕ;/öÆÄÌÍçÅÒØçcü0Ö'}~ž—{C15¯ÿcîñû<­±öêß¼XcÛ1óÚ?ÆVcòrŒ†ònlûèËÌŸ2׎¿}xüØ<]q6Oš»Ë_=|XNWÿéуæbæ­Õ»Ç奥RríþÁÝÓG'ggl-\û Ô×Ѿ JÂ1I6^c’öYaÌ{cÊ-’@}v×®±CÁ=Æ~C>˜wo¿ÍK¦!›X_ÙyíûõϘXí³S×õPŒw]Ï‹…y×cò|¨ýóú9ä÷yq1‹°l¬iã˜zÆÄòP\Ï{6¯-‹pkè8¯_cl5Ön}ñ=6nÇäË<,šcÏšëcý1Ï}þcÿyñ5}>›órs6 ÅÏ½ÆØ¼ÏcÚ7ÆNÏâç.?|œ>Ž»¡v?‹¿†|>äËgááǵͼ¼ãßElôqãѶͳû<-ÃÏSÚ÷crëY¸ýqãjŒMÆØB÷¯ëºï¼ïÙˆö5KÐÉGfv©ºöõ£‡ï–«K_=899:¼÷´ð²^2KÔÎïë.•ãD»Ê´7]n¹ÕÅåÖ{]ïöÕ»Ôq®]í˜t”ÑÚc´¤¾®ú»êëzoÒó¼kkk-™Ù:Úï.w”Õåºì4Ô^]¦«ÎeõL—koË=×Ke»Ú7fëòM;ÍLÇqHs¢Î»ÙUvYÝ{–>öåÙP\Åp_}›Ž§¶¶Žå.»·õÛy?”sí²ó6OºŽ®{]92okó£+Ÿútºú1”—úyWŒ‰í‹vCùÝõn{ëË×!?è­‹}}þîâ‡ØDÇ‘®Ûtœ·Ë Ù~‘ñ¨¯­cÞÑÏ»òml}uèc ûÊËÖ7†ÎÛÚSš¾ºuù¶f_lvÙgÛtn=K^uÅlwu;»ÊtåM»þ±¬îòK›W]ßÿý×þçüùv9J9Ñ™|÷›»Íqùõ~«õ|ÿ÷¥~ó“Ÿü¨]Oi×þ“ÙöíÿªôçÊìýÚž«ßüKÓî‡Ô+ö\)ïÉóëå}y¯\ï¤ì¬ía~óãóûåùÆSûÖzä½µÙvàÏÒÏ•r,v¬ú”÷–¾÷½æ¸ÿ ¥»òÔÕŸbŸ_?y^Ë/•öHû¥ÝÒ.iO‰“Z¾÷ÿ÷½ïÿ¬mé¯\¯”z«?J\ü¶ø_êÛyÕÏ%~oo—vj¿Êµøñ·%OJì??”öÔò¥œèŠ¿·~üÝoµí"÷ÅK¥퇕RŸ¼'õȱÆ[y.vÕñYí7kÿÚ•‡ŸòžÔ_íVì+Ç¢SóJâ]Êëø7åzëíì¶ÛmT9©©ä¯\K>K;/ÍÆðgÿIѯÜ»–8îI~׸”þIž”þ}Xì~iV§k\?>‘ü-ºÜÃé‡è׸Þªç’ObßµÙ<ïøÔ¾:_«?Ä®’kÅÏÒ¿Ùþíÿºèì(®jþÔx”øRq(~÷7ÅÞ¥¼Ø_ú-וߊ÷bÍÑÑþ’ü¹¦â\úaŠ}Äoåºæ¥¼_8)ý¬œÐã™ÎËj‡â‰GÍ7i·Šû:îŠß·Ô{ÒOÿÚoÚ>E§rA·Cʵ~±+ý«ö/y¯ó¢Ä}Í­/ãúfÏø¶4;ÎW?êcÇr=éñ×Ú,w+OÄŽÊÕnÒ¯¢Sí öJŠý&ÊŸ:¯´Ý7‹…K¥½û¼õÞ¹ÞDú=u~#õJ9±ÇJé§´·´£ö_æuøéæí.{¯©ø‘qS8«çk’¿ò¾žwŠ^™gT]±WåEy^ò°Î$Þ'Š 2_ø@ñó·jÜ?>Qy,q+í—q\gÂÍj÷+RO¹žˆ¿Wd#í(åä¨çÍuœ-G=N_ëæè…x”x|½¤Æ9–¸­q-ñ.õÉüM8%ù"í’zïö?û•÷ªžŒ×Ån•â·R^úaÔ8&ó›Éì|·Æg$Ž>–ú×§¥¼žÿé<Õó•‰â‡ž?Hß席òJòL¯o$Oë|¡´¯ô¿òBt®©õ‹ŒŸÒ¯:/wÔq¸ÌSëzg}ÖŽŒ£Ê>zÜØÖ|/å«K6%Kû$VfóúB>_ï™®ÍÎKëø#|®ó É«Òï:Î weRì©8WLJº.–uD©Gì¤çߪz¾ZóPì¦Æ-â§Œ¯©ø}e· ë~á嵎YWy ãEž‹½$?'ÊOÂuÍ¡Ê5Ïë™VY+Îh¾m)~_X–8Rë›:.¬«y굞XSóg5Ͻ°Þ•ùÞ/§$.©u¦ž¯ûïÿAæWeýþ{µ®ùÕìüëB ïj{æá:O¤_ªù¶pGù¿¶[>‘þ\ÈYÏ(nɸ ç½kŠgr_ÖW’§zý"\ÝPíªãRá^¯ÊøÝc‡º>ù¡¬—K¤º¿R¯^ÿKšr¬Ÿ']ý9˜ž7èqçÂü@}~#z“{Š¿¤=¢_ë•qM}^!þ¬ŸKÈ|FtU~ª<»°NÒ\Ø’qNµSÍ?kœêyŠ|N ~–8ÿ—yÎþï„“j½-ñS?GRŸ£þ®ôkSµ_óìuœ(^é~»]àÿŠÊ÷kªŸuü–Ï”Ý×f×=•{uÞ3’Û}ëáR冚OŠ>’qUâJ­džX×Ý%/©ÆO½.YSë×úyìì|F>wÜÿcY]ž?k|iî _Wçe-ù ó?ç+ªýêsŽ:×ëÝßúù°'¶T^H¹úù¨çëø²¦âWû¹ê+^^›]]ˆõ8.ñ{i–óu.ﯩy ¼'þ”þÔu¢p¼”ÓŸ×qT­g/ÌÇD¯~#ófµ¾–8‘|ÚüTv‘<½>»#>Ôx$q­ù·5ûw v©ñ>wuž²©æ™Ïuž5;¿«õÖùjﶚϫö×~n÷ð <—ù¾\¾óÚüþünQó÷ìO¾#±Rî7Û•§ïÔûͶTÞ¿\Ž­zVK9ù;ùºáïår\/ïêm£´aµœK}Ë­ö4õ¾RÚµ^ž7Ûv¹nÞß2ÿ6+ﯘٿão¶žsñ;Œò;TrO~/Jê¸^Þ¿Q®?Ûº^oé/—{«†ß~ºTêo÷CøI¾¶Õj§Øºí›vßåw¥Ä—[66­~¼løÍ­æùëžm?¶7i‹´yÒjksÜ6üž•”[-umbB®7Š›2;H}ÒþÍ–ÖÃïvÉ&6ß.Ï®–>l·ÚiÌl,].ådÛ)G©Cb 3Ò6©cÝàk±»äЪ!Úù0ié.•²bÿW[íÝ,}mÞùT¹¿ªÞ;ɳ«­öJŽ®´Ú!6Ü2Äâj«Ó*ÓlŸ5øÐ”:¤ÿë†Ø‘œÞ6³>lÎ_jÙR|¼]úÖŽ‰ ±äèÕRן¸`Zv›Rv«ØëjK_ú*ù$m¡<—v|ÕÿÂHÉs±ë5C<¬µŽb7ɉi¹'ý“¶H¼J\­•ç/ÍÒc.æ›Ô'1µ]ú y"¹¿SêÖµmÐ<¿QÊ—ß0?/'\’˜lçqsïr«Ô#ešýµRÇF«Þ C̬´®…×[íY5páSÅÖ²]2ðîÃX!í“x¸RêÝ0øRìÔî‡ôUlþ×¥œØpËÓÂ0iç¤UNò|·ôE¶öo:ʘv½ô©Ù?oˆSîí”6‹-Äfâ[±Ãª›âÃvÞšbƒ&g®âîÅR× .›Ù1h«eG±‡Ä·ðp¹u- Ù,š— ^1øLÆÙþI?$§%W_.çÒa“ø@òKì¿c˜C6Ï^5Ìm$^^)š2Gz½<&‹e~J_o”:Úó•ÏŸÉØ(¶ŸÊoÇnæ>¢!çÍñ…¢%åþªœß(û«-ý—‹®ÛÈ|ðŧïÍü2ÐÆ½ƒÓƒãƒ;‡Çfö½|í‹wî>8º»û¥£GwË?ž²ûæî×wÿîÑÃwT-›§Go>>=xðžªæš»µû•ƒ‡»öÖ­½Ý½[_ðSýÓD>6Ì2Ïéqpr*§÷È郃qñ?Ý“¡hù½wïÉí‡O•À¥ûNœj‰Õ7¦7o½ó \Ìöæôý÷Î{s¹HÝQûý§ÇYë}ûàøæ¹t#ÅãkÿíøÎ±\Ù+sñ¨k?é®ýµ/žœÝ=>|¼{ôp÷øàñé®Û}ÿäñî£û»ÿðî—K¡—ß>|xïðä »{oyâàøp÷Ö[ÍAâ¯ü¼Íó÷ÏjºõÖÃGåÑKÿ/îž4ÕÝ}÷èøÞÉáÃÝ¿Ùåéö™Äî{'‡OÞ‘Ê>S´{çýÝÆ“Nf[¦c÷äÑ¿Þl…Ïù%̓¥=9±râäÄˉ„Ï’´h)ÉI–“i9™ìݪg{õÌÖ3WÏ|= õ,Ö³TÏr=«¶jتa«†­¶jتa«†­¶jت᪆«®j¸ªáª†«®j¸ªáª†«¾jøªá«†¯¾jøªá«†¯¾jøªªF¨¡j„ªªF¨¡j„ªªF¨±jĪ«F¬±jĪ«F¬±jĪ‘ªFª©j¤ª‘ªFª©j¤ª‘ªFª¹j䪑«F®¹j䪑«F®¹jäª1­Óª1­Óª1­Óª1­Óª1­SÑXÞ»u‹Ó=N-§ŽSÏià4rš8Íœ¢¶‡Új{¨í¡¶‡Új{¨í¡¶‡Új5‹šEÍ¢fQ³¨YÔ,j5‹šCÍ¡æPs¨9Ôj5‡šCÍ¡æQó¨yÔzÔüû—MýÂèL‘­ó¯ÿÝ<=¸Ó|oorãi‘‰|§ø|Ûÿ…œ5¯®ýg;š˜c¡Š:þ©ÊóÜCí3ïÊg¿ø8û¥H3pücÏ?/²Ù|ùõæý“ƒ‡¢üµm$Mflexmix/data/NPreg.RData0000644000176200001440000001026014404637305014574 0ustar liggesusers‹íšwTTGÛÀ—. M©Ò–¢(²}—¶Ï²,¢Ø»‚½Pì`°$–ˆFÄnìŠb‰€Æ{‹¢ XP£¨øZA ‘D…ïÎfvæsÌ5yÿxω{ÎïÌ̽3ó{fæ¹w×Ò)ª‡Ð¢‡Ç3äòxÆ\Õ˜«ð x<[s®4i×!epgÔk˜qXsœÛ]·FñxÊ—Šòª~<Æ´*áJ§õÇòPûF¯ ¶\é1»gA6Wºœët;ƒ+½‹×Í@÷ùËCìPÛ®SÚÁÍ\Ù`–ޏÒgD“Ÿ¯¢ñ!—•s¥ëžh“g\éngÌù~-¿¦Dã½ JKQiœU'…<Õ£ælGãO»–=äúݾ¼T\Y“;&OÐ9à.×~«´Añ˜×·©›‚æýÊû ïµ'ׇŽ?Î IäÊF&NÈÑø.Ú8=~s} š7.hçU––54DãšÎm‡æóš0¶ª†+M²Î¦¡}àgIbâ¹ÒªvM.ŠÓÎóìªSܸ² Çvhœ[ÉÞwhþÊ>ó¿=Œîï.ÍÝŽæÕ¤mBý½^—¢¸lû]ìÅç®×uÍDã¼;ö~öÇ«PÑ…+ÖänàöM¹Ý}ÇC4δxu5Z¯ç• –¡óp-C×mgÅ¢óºVݶ7šÇgÛ¤1×>ÝÀu ZÏË#]Ñ:=Êž­@çâxÔò‹& ñÎW5¶Ü9(«BÓá£sÙ]—ˆæ±ozè ŠÓ²üÐþ7˜QœÖQWqíÿóMº6žëa‹Ð¹Ô½+ÜÖóîYßàÍ®qÈçÔpf_´å…EEÈgY`éˆÆ¹7Ÿ=µ–W¤ ¶i·3¥(¯l†i({ÿK÷Ð:]òëç£þU!ÖMÑþDnÉGm·µ³hœ×‹6sæ£|)ouµÍ¶_z¥½žóÔù—Õ¾FùUéš®=¯%vícPž8.@ùíôÆw¼3ê¿Ø«éc´ñØ#ßÚ˜pt~¶ãîAý½æ¤×NCçò?!«¸’WY™ŒòÚÛÁê›´.¯>]FiÛó ølÞ,݇|[-Gûô.Ùå“Ýê c”÷|ÛccÔß®$7ßg3‘Ë/å‹K¡õ[Z–å½ë­´ãÃìÞ¢çÑ¡Í3[Ôï?ª¶hþ·qNyh¿¼_µÏAyíÞ§Ð~xD[•¢Ò%³ú5*Í+Š £qWÌU¨, ¸p_›'I>¡(o]L«—£õÖ‹Ý…âsìxíŸsyM—ShþݹùUhM%¡~Î]WŽC×·¨îpû®|Z±ÐÅa/3é‡òÕ¦üfk”goãKï¢ë/FCã,÷§ü€ÎÍ6¢qšö9h;Ô å§W¶@„ö£A›iRíþ~ý뤻è9¶¾ë‡ÖïùÔi:Gû?ÞLGyÖèäpmšlû]û|8ÌFq[;Ú8Ís4;•Û/åÎçœÐ>•5R¥ÝÇ¨É è=âõÌÔ^Ð2¬÷ ¿Xhpü]Íó‰1  ð{•œY õ乞Y|eÕ²]ÉÛÖ×AÌ£Ø ‹Ïí¿¬×'þ±`æŽÕ.S UñOíÎ 2WV[Ïk†£{Ì› Ñ;·HOœ¶{Móšý² |ûÖÖŒx} "/ÉiÒÌ¢ïMÖx JØßïÈù¢N}'._ç Ã[œM|ÖT¡î·šqûRòèfËGK”5›ünlî™R§¾ãf矣sa÷¤eÐxéúIcy©5ÔÛàÆ]4oþÄuÝ£› 0X2>îX&4_W-Ž]ªìªÝa%'ÁjXÚӌν@2ºì¾ÃЙ`s‡—7=ߢ¶Ø™Ÿœ4¤6ƒÚÆÍ }VE¼é\Q¿^\[z¢¸¸WÛ­ËOw?©;ô`Íޣ鶃_Ðôz>f3 Ò+õä½ lñO®ñïv€¢ûO£c|ýU¯TüxÔ>Z-)ö3µ-z^Y÷¯É_ÿð˜§ëATW¾ƒ‹%·g¡ÇùkÁãûUÇWÖˆ@YÏÂàQD³C¯wµzX¿v;Dx&Ô˹7ä6’°ºÑÝe$T$ChÃË•“#MÁ!½}ÏÖC¶£dÀë¢ý@ÕèàÁ/6€ãŒóµÒ³=ÀyLÀ:+¡5ˆ®ùØÚcñ•k’n‚]hüék9›!Ðmö÷ÅÛ½A½×8Í:t„<úyGåb°ô¿Òcµ´¨úá’ûQ!„DlÝUód1D”Þºp" T+‡Ü,΀ìj³¢Ö ¾=¹ª±:4;öÏ]]¾ š¯±üµn14ëc÷5®ÐÒ?©êĪ6 +ï=áø„¹ÐØ7'íuÖ.=P’ßç7šWÐfsß¾wÃÓ.¶B냱W3ú¦AÌΔ[߉VAäÁw-,RB Äõî•~A ©09v¨&"x«Çž™” 'c{w EŠñMÏöCäS—ágs¾†u[KÓö'ƒæBê€u>' ÊÞ|†Ÿùa¹à›Õ:e´\9-w±ü „¥¶ŸòC/DL||={™#¨âRU[‡~Â…µ×_”®€ÈLƒÌ)·÷€tY‹%›#ãA G ;Žl kYw"Ãý=B{§Cx^“’Ø®ë!ª}ã#&Ss!ü°å‹éoB!ÊêîżvÓ ¤Uô±¦ ¶Ùzul“ ’®ì˜1ù„½Ý‘’yq=(íóîúy5(ìl&k¢AÕ»¿± ˆïú>_»k+¨GËTz~ Q)…Ž=!ôEöð[‡A0mÿ¼fž Ý’päîaP]Kú%·ÒTùfg,Ì^Jë¾ô·a ²ž”Ôåì)­[¾³L`ÂraÙkPû˜ßK2î â9óÖ÷€¶ÝJÏ j‘ÂkÒ‰‹­ ªe¤&êÆðí¾ vÝ ¬éÅ;_Yf€:ýfõJßY 2oý¸K!¨½^}¢¦H‹ªc¹sðézà+ÇÃ\sŒß ¢Ûnj¾ º1„.êÙÍëÁnˆzyà©•I¨ç».yòl,¨{y̘¸´¨ÊøÏÿhS š=cß¾²°õÆe{z®¿âßöØWÜšžºÊ T‰3ûµ(Ø‘¯>Ý-ä¿›{Áö©¥¨Þ{\"ˆÛÄ;[®yêÄØ /Çwá[a™ýŽó'4‡m»ƒjô{‡l_éÛ› ZrTkLƒ¿[»¢¾Ýi§ÅD€Ú%R'‡póYŠG>KþX.Ÿ–ªUò«yíAÕ=ËùYíqˆLŒybs5(ÎqÊ»$‡å›*’o„È€ä3qVæ ÎØÒ·Ãú\žŽ;íº¨¨×uUŸ2‚Hÿ}­ zEBÔ†ƒmº»¢Ö5é·OÂ|øïÉï@Ñéb—yuQ >6~ öì摲÷‰?´¼›áî&²éIAýsï,!²¨÷ºŽêlîý0Ói_w;&NxúìíBúçíw ÷»—ÞLßW>ÃmžžÒöý¶î£›ý ß@5žxtóù2¥®¿ÛGâá1ó93m>‡=Ÿ­žxíõÄ«‹çcûÆÌKî3ó’yô•nzÖ£»ÏÎÏÿ:ññþúCâ`KÝ}&Ž®ëÚì¾ëî³ñ°ñ2ñéÆñ˜¶®ßyÃîã§æñû½ÏéÏæ…®íÆ´õäÏ~Ö£¯Í®›=gf;žÍצL?gæ>‡nºyøzúñ™Ò›¹¯o}[{Ù2žÇôófúáytŸÖË®³‰žyu÷uï)öý¦›‡ÿgùÁ¹é{¾ôÅÞ¾÷¸=ÓÖ·O|f6=ï;þáéùèú³m}¥¾ñŸZê÷±¸>7>}ãõÝÿ§ý?wúúý·öãïz>æûÔx>öù§ùò¹ëü»yó¹yò¹qèë¯oü§öûoŸÃç®[_œŸëÕ7Ïß}^ÿéy|ªïSãÑßçúþéûè¼è¯QÑ÷ˆÁþ§0üÂÿFìs¢»g„1Ƙ`L1f˜zsŒÆSc…±ÆØ`l1v˜˜†{ŒÆã„qƸ`a\1nwŒÆÃÇxa¼1>_LcLŒ¦)¦ÆÓ€ ÄaZ`‚1Œ#ˆ1Œ#ÃÈ1 L&† ÇD`”À¨0‘5& £ÁDcZbb0­0­1±˜6˜¶˜v˜ö˜˜Ž˜N˜Î˜.˜®˜n˜î˜˜ž˜^˜8L<¦7¦¦/¦¦?ff fП¼÷ñ¦Ã§ –Êû3sQtÕ@ «u‘®"ÖU$ºŠTW‘é*r]E+†‚`RšÔD¤&&5 ©IIMFjrR#!q‰CHBâ‡8„Ä!$!q‰CD"⇈8DÄ!"qˆˆCD"⇘8ÄÄ!&1qˆ‰CLb⇘8$Ä!! qHˆCB⇄8$Ä!!)qH‰CJR⇔8¤Ä!%)qH‰CF2⇌8dÄ!#qȈCF2⇜8äÄ!'9qȉCNr⇜8Ä¡ q(ˆCA âP‡‚8Ä¡Ð9ŒÁÁìÅ8¬ªîá7ÀýL‡ô8fd W«ý‹/U}?~ŒŒLLÌê1˜3X0X2Ôg°b°f°a°e°chÀÐÁžÁÁ‘Á‰Á™Á…¡ƒ+ƒƒ;ƒƒ'ŸÁ‹Á›Á‡Á—¡1C?†¦ Íüš3021´`f0ß=V†u¼?s…|i~ùý|¢£7Òý_¾DßçŽè?|°îk¦;áqºÇ µQ¤6×ÈûZû>O$ U!£1O96èÿ«N}IÊQRâÚ—ßvÿ¦ßvºª€V…´*¢U1­JhUJ«2Z•Ó*µ ¨M@mjP›€ÚÔ& 6µ ¨M@mBjR›Ú„Ô&¤6!µ ©MHmBjR›ˆÚDÔ&¢6µ‰¨MDm"jQ›ˆÚDÔ&¦61µ‰©MLmbjS›˜ÚÄÔ&¦61µI¨MBmj“P›„Ú$Ô&¡6 µI¨MBmRj“R›”Ú¤Ô&¥6)µI©MJmRj“R›ŒÚdÔ&£6µÉ¨MFm2j“Q›ŒÚdÔ&§69µÉ©MNmrj“S›œÚäÔ&§69µ)¨MAm jSP›‚ÚÔ¦ 6µ)¨¾K„Áú~ÕX ê?¦ÐîgOûˆWûŽßgðð1flexmix/NAMESPACE0000644000176200001440000001002414757625043013157 0ustar liggesusersimportFrom("graphics", "hist", "lines", "matplot", "plot", "points", "text") importFrom("grid", "gpar", "grid.lines", "grid.polygon", "unit") importFrom("grDevices", "axisTicks", "hcl", "rgb") importFrom("lattice", "barchart", "do.breaks", "histogram", "lattice.getOption", "llines", "panel.abline", "panel.barchart", "panel.rect", "panel.segments", "panel.xyplot", "parallelplot", "trellis.par.get", "xyplot") import("methods") importFrom("modeltools", "clusters", "getModel", "ICL", "KLdiv", "Lapply", "parameters", "posterior", "prior", "refit", "relabel") importFrom("nnet", "multinom", "nnet.default") importFrom("stats", "AIC", "as.formula", "BIC", "binomial", ".checkMFClasses", "coef", "cov.wt", "dbinom", "delete.response", "dexp", "dgamma", "dlnorm", "dnorm", "dpois", "dweibull", "factanal", "Gamma", ".getXlevels", "glm.fit", "lm.wfit", "model.frame", "model.matrix", "model.response", "na.omit", "optim", "pnorm", "poisson", "predict", "printCoefmat", "qnorm", "quantile", "rbinom", "residuals", "rgamma", "rmultinom", "rnorm", "rpois", "runif", "terms", "update", "update.formula", "var", "weighted.mean") importFrom("stats4", "logLik", "nobs", "plot", "summary") importFrom("utils", "getS3method") export( "ExLinear", "ExNPreg", "ExNclus", "FLXdist", "FLXgradlogLikfun", "FLXlogLikfun", "FLXMCdist1", "FLXMCfactanal", "FLXMCmvbinary", "FLXMCmvcombi", "FLXMCmvnorm", "FLXMCmvpois", "FLXMCnorm1", "FLXPmultinom", "FLXPconstant", "FLXfit", "FLXglm", "FLXglmFix", "FLXbclust", "FLXmclust", "FLXconstant", "FLXmultinom", "FLXMRcondlogit", "FLXMRglm", "FLXMRglmfix", "FLXMRglmnet", "FLXMRlmer", "FLXMRlmm", "FLXMRlmmc", "FLXMRmgcv", "FLXMRmultinom", "FLXMRrobglm", "FLXMRziglm", "FLXgetDesign", "FLXgetParameters", "FLXreplaceParameters", "boot", "existGradient", "flexmix", "flxglht", "group", "initFlexmix", "LR_test", "plotEll", "refit_optim", "relabel", "stepFlexmix" ) exportClasses( "FLXcomponent", "FLXP", "FLXPmultinom", "FLXcontrol", "FLXdist", "FLXMRfix", "FLXMRglmfix", "FLXMRglm", "FLXMRlmer", "FLXMRlmm", "FLXMRlmmfix", "FLXMRlmmc", "FLXMRlmc", "FLXMRlmmcfix", "FLXMRlmcfix", "FLXMRmgcv", "FLXMRrobglm", "FLXMRziglm", "FLXM", "FLXMR", "FLXMC", "FLXMCsparse", "FLXnested", "FLXR", "FLXRoptim", "FLXRmstep", "flexmix", "listOrdata.frame", "stepFlexmix", "summary.flexmix" ) exportMethods( "EIC", "FLXcheckComponent", "FLXdeterminePostunscaled", "FLXfit", "FLXgetK", "FLXgetModelmatrix", "FLXgetObs", "FLXmstep", "FLXremoveComponent", "KLdiv", "ICL", "Lapply", "coerce", "clusters", "fitted", "flexmix", "flxglht", "getModel", "initialize", "logLik", "parameters", "plot", "posterior", "predict", "prior", "rFLXM", "refit", "relabel", "rflexmix", "show", "summary", "unique" ) S3method("as.data.frame", "simple_triplet_matrix") flexmix/inst/0000755000176200001440000000000014757625370012723 5ustar liggesusersflexmix/inst/CITATION0000644000176200001440000000276314404661473014061 0ustar liggesuserscitHeader(sprintf("To cite package %s in publications use:", sQuote(meta$Package))) bibentry("Manual", other = unlist(citation(auto = meta), recursive = FALSE)) bibentry(bibtype = "Article", title = "{FlexMix}: A General Framework for Finite Mixture Models and Latent Class Regression in {R}", author = person(given = "Friedrich", family = "Leisch"), journal = "Journal of Statistical Software", year = "2004", volume = "11", number = "8", pages = "1--18", doi = "10.18637/jss.v011.i08" ) bibentry(bibtype = "Article", title = "Fitting Finite Mixtures of Generalized Linear Regressions in {R}", author = c(person(given = "Bettina", family = "Gr\\\"un"), person(given = "Friedrich", family = "Leisch")), journal = "Computational Statistics \\& Data Analysis", year = "2007", volume = "51", number = "11", pages = "5247--5252", doi = "10.1016/j.csda.2006.08.014" ) bibentry(bibtype = "Article", title = "{FlexMix} Version 2: Finite Mixtures with Concomitant Variables and Varying and Constant Parameters", author = c(person(given = "Bettina", family = "Gr\\\"un"), person(given = "Friedrich", family = "Leisch")), journal = "Journal of Statistical Software", year = "2008", volume = "28", number = "4", pages = "1--35", doi = "10.18637/jss.v028.i04" ) flexmix/inst/doc/0000755000176200001440000000000014757625370013470 5ustar liggesusersflexmix/inst/doc/mymclust.R0000644000176200001440000000205314404637307015460 0ustar liggesusersmymclust <- function (formula = .~., diagonal = TRUE) { retval <- new("FLXMC", weighted = TRUE, formula = formula, dist = "mvnorm", name = "my model-based clustering") retval@defineComponent <- function(para) { logLik <- function(x, y) { mvtnorm::dmvnorm(y, mean = para$center, sigma = para$cov, log = TRUE) } predict <- function(x) { matrix(para$center, nrow = nrow(x), ncol = length(para$center), byrow = TRUE) } new("FLXcomponent", parameters = list(center = para$center, cov = para$cov), df = para$df, logLik = logLik, predict = predict) } retval@fit <- function(x, y, w, ...) { para <- cov.wt(y, wt = w)[c("center", "cov")] df <- (3 * ncol(y) + ncol(y)^2)/2 if (diagonal) { para$cov <- diag(diag(para$cov)) df <- 2 * ncol(y) } retval@defineComponent(c(para, df = df)) } retval } flexmix/inst/doc/mixture-regressions.Rnw0000644000176200001440000022017614404637307020216 0ustar liggesusers% % Copyright (C) 2008 Bettina Gruen and Friedrich Leisch % $Id: mixture-regressions.Rnw $ % \documentclass[nojss]{jss} \usepackage{amsfonts} \title{FlexMix Version 2: Finite Mixtures with Concomitant Variables and Varying and Constant Parameters} \Plaintitle{FlexMix Version 2: Finite Mixtures with Concomitant Variables and Varying and Constant Parameters} \Shorttitle{FlexMix Version 2} \author{Bettina Gr{\"u}n\\ Wirtschaftsuniversit{\"a}t Wien \And Friedrich Leisch\\ Universit\"at f\"ur Bodenkultur Wien} \Plainauthor{Bettina Gr{\"u}n, Friedrich Leisch} \Address{ Bettina Gr\"un\\ Institute for Statistics and Mathematics\\ Wirtschaftsuniversit{\"a}t Wien\\ Welthandelsplatz 1\\ 1020 Wien, Austria\\ E-mail: \email{Bettina.Gruen@R-project.org}\\ Friedrich Leisch\\ Institut f\"ur Angewandte Statistik und EDV\\ Universit\"at f\"ur Bodenkultur Wien\\ Peter Jordan Stra\ss{}e 82\\ 1190 Wien, Austria\\ E-mail: \email{Friedrich.Leisch@boku.ac.at} } \Abstract{ This article is a (slightly) modified version of \cite{mixtures:Gruen+Leisch:2008a}, published in the \emph{Journal of Statistical Software}. \pkg{flexmix} provides infrastructure for flexible fitting of finite mixture models in \proglang{R} using the expectation-maximization (EM) algorithm or one of its variants. The functionality of the package was enhanced. Now concomitant variable models as well as varying and constant parameters for the component specific generalized linear regression models can be fitted. The application of the package is demonstrated on several examples, the implementation described and examples given to illustrate how new drivers for the component specific models and the concomitant variable models can be defined. } \Keywords{\proglang{R}, finite mixture models, generalized linear models, concomitant variables} \Plainkeywords{R, finite mixture models, generalized linear models, concomitant variables} \usepackage{amsmath, listings} \def\argmax{\mathop{\rm arg\,max}} %% \usepackage{Sweave} prevent automatic inclusion \SweaveOpts{width=9, height=4.5, eps=FALSE, keep.source=TRUE} <>= options(width=60, prompt = "R> ", continue = "+ ", useFancyQuotes = FALSE) library("graphics") library("stats") library("flexmix") library("lattice") ltheme <- canonical.theme("postscript", FALSE) lattice.options(default.theme=ltheme) data("NPreg", package = "flexmix") data("dmft", package = "flexmix") source("myConcomitant.R") @ %%\VignetteIndexEntry{FlexMix Version 2: Finite Mixtures with Concomitant Variables and Varying and Constant Parameters} %%\VignetteDepends{flexmix} %%\VignetteKeywords{R, finite mixture models, model based clustering, latent class regression} %%\VignettePackage{flexmix} \begin{document} %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \section{Introduction}\label{sec:introduction} Finite mixture models are a popular technique for modelling unobserved heterogeneity or to approximate general distribution functions in a semi-parametric way. They are used in a lot of different areas such as astronomy, biology, economics, marketing or medicine. An overview on mixture models is given in \cite{mixtures:Everitt+Hand:1981}, \cite{mixtures:Titterington+Smith+Makov:1985}, \cite{mixtures:McLachlan+Basford:1988}, \cite{mixtures:Boehning:1999}, \cite{mixtures:McLachlan+Peel:2000} and \cite{mixtures:Fruehwirth-Schnatter:2006}. Version 1 of \proglang{R} package \pkg{flexmix} was introduced in \cite{mixtures:Leisch:2004}. The main design principles of the package are extensibility and fast prototyping for new types of mixture models. It uses \proglang{S}4 classes and methods \citep{mixtures:Chambers:1998} as implemented in the \proglang{R} package \pkg{methods} and exploits advanced features of \proglang{R} such as lexical scoping \citep{mixtures:Gentleman+Ihaka:2000}. The package implements a framework for maximum likelihood estimation with the expectation-maximization (EM) algorithm \citep{mixtures:Dempster+Laird+Rubin:1977}. The main focus is on finite mixtures of regression models and it allows for multiple independent responses and repeated measurements. The EM algorithm can be controlled through arguments such as the maximum number of iterations or a minimum improvement in the likelihood to continue. Newly introduced features in the current package version are concomitant variable models \citep{mixtures:Dayton+Macready:1988} and varying and constant parameters in the component specific regressions. Varying parameters follow a finite mixture, i.e., several groups exist in the population which have different parameters. Constant parameters are fixed for the whole population. This model is similar to mixed-effects models \citep{mixtures:Pinheiro+Bates:2000}. The main difference is that in this application the distribution of the varying parameters is unknown and has to be estimated. Thus the model is actually closer to the varying-coefficients modelling framework \citep{mixtures:Hastie+Tibshirani:1993}, using convex combinations of discrete points as functional form for the varying coefficients. The extension to constant and varying parameters allows for example to fit varying intercept models as given in \cite{mixtures:Follmann+Lambert:1989} and \cite{mixtures:Aitkin:1999}. These models are frequently applied to account for overdispersion in the data where the components follow either a binomial or Poisson distribution. The model was also extended to include nested varying parameters, i.e.~this allows to have groups of components with the same parameters \citep{mixtures:Gruen+Leisch:2006, mixtures:Gruen:2006}. In Section~\ref{sec:model-spec-estim} the extended model class is presented together with the parameter estimation using the EM algorithm. In Section~\ref{sec:using-new-funct} examples are given to demonstrate how the new functionality can be used. An overview on the implementational details is given in Section~\ref{sec:implementation}. The new model drivers are presented and changes made to improve the flexibility of the software and to enable the implementation of the new features are discussed. Examples for writing new drivers for the component specific models and the concomitant variable models are given in Section~\ref{sec:writing-your-own}. This paper gives a short overview on finite mixtures and the package in order to be self-contained. A more detailed introduction to finite mixtures and the package \pkg{flexmix} can be found in \cite{mixtures:Leisch:2004}. All computations and graphics in this paper have been done with \pkg{flexmix} version \Sexpr{packageDescription("flexmix",fields="Version")} and \proglang{R} version \Sexpr{getRversion()} using Sweave \citep{mixtures:Leisch:2002}. The newest release version of \pkg{flexmix} is always available from the Comprehensive \proglang{R} Archive Network at \url{http://CRAN.R-project.org/package=flexmix}. An up-to-date version of this paper is contained in the package as a vignette, giving full access to the \proglang{R} code behind all examples shown below. See \code{help("vignette")} or \cite{mixtures:Leisch:2003} for details on handling package vignettes. %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \section{Model specification and estimation}\label{sec:model-spec-estim} A general model class of finite mixtures of regression models is considered in the following. The mixture is assumed to consist of $K$ components where each component follows a parametric distribution. Each component has a weight assigned which indicates the a-priori probability for an observation to come from this component and the mixture distribution is given by the weighted sum over the $K$ components. If the weights depend on further variables, these are referred to as concomitant variables. In marketing choice behaviour is often modelled in dependence of marketing mix variables such as price, promotion and display. Under the assumption that groups of respondents with different price, promotion and display elasticities exist mixtures of regressions are fitted to model consumer heterogeneity and segment the market. Socio-demographic variables such as age and gender have often been shown to be related to the different market segments even though they generally do not perform well when used to a-priori segment the market. The relationships between the behavioural and the socio-demographic variables is then modelled through concomitant variable models where the group sizes (i.e.~the weights of the mixture) depend on the socio-demographic variables. The model class is given by \begin{align*} h(y|x, w, \psi) &= \sum_{k = 1}^K \pi_k(w, \alpha) f_k(y|x,\theta_{k})\\ &= \sum_{k = 1}^K \pi_k(w, \alpha) \prod_{d=1}^D f_{kd}(y_d|x_d,\theta_{kd}), \end{align*} where $\psi$ denotes the vector of all parameters for the mixture density $h()$ and is given by $(\alpha, (\theta_k)_{k=1,\ldots,K})$. $y$ denotes the response, $x$ the predictor and $w$ the concomitant variables. $f_k$ is the component specific density function. Multivariate variables $y$ are assumed to be dividable into $D$ subsets where the component densities are independent between the subsets, i.e.~the component density $f_k$ is given by a product over $D$ densities which are defined for the subset variables $y_d$ and $x_d$ for $d=1,\ldots,D$. The component specific parameters are given by $\theta_k = (\theta_{kd})_{d=1,\ldots,D}$. Under the assumption that $N$ observations are available the dimensions of the variables are given by $y = (y_d)_{d=1,\ldots,D} \in \mathbb{R}^{N \times \sum_{d=1}^D k_{yd}}$, $x = (x_d)_{d=1,\ldots,D} \in \mathbb{R}^{N \times \sum_{d=1}^D k_{xd}}$ for all $d = 1,\ldots,D$ and $w \in \mathbb{R}^{N \times k_w}$. In this notation $k_{yd}$ denotes the dimension of the $d^{\textrm{th}}$ response, $k_{xd}$ the dimension of the $d^{\textrm{th}}$ predictors and $k_w$ the dimension of the concomitant variables. For mixtures of GLMs each of the $d$ responses will in general be univariate, i.e.~multivariate responses will be conditionally independent given the segment memberships. For the component weights $\pi_k$ it holds $\forall w$ that \begin{equation}\label{eq:prior} \sum_{k=1}^K \pi_k(w,\alpha) = 1 \quad \textrm{and} \quad \pi_k(w, \alpha) > 0, \, \forall k, \end{equation} where $\alpha$ are the parameters of the concomitant variable model. For the moment focus is given to finite mixtures where the component specific densities are from the same parametric family, i.e.~$f_{kd} \equiv f_d$ for notational simplicity. If $f_d$ is from the exponential family of distributions and for each component a generalized linear model is fitted \citep[GLMs;][]{mixtures:McCullagh+Nelder:1989} these models are also called GLIMMIX models \citep{mixtures:Wedel+DeSarbo:1995}. In this case the component specific parameters are given by $\theta_{kd} = (\beta'_{kd}, \phi_{kd})$ where $\beta_{kd}$ are the regression coefficients and $\phi_{kd}$ is the dispersion parameter. The component specific parameters $\theta_{kd}$ are either restricted to be equal over all components, to vary between groups of components or to vary between all components. The varying between groups is referred to as varying parameters with one level of nesting. A disjoint partition $K_c$, $c = 1,\ldots,C$ of the set $\tilde{K} := \{1\ldots,K\}$ is defined for the regression coefficients. $C$ is the number of groups of the regression coefficients at the nesting level. The regression coefficients are accordingly split into three groups: \begin{align*} \beta_{kd} &= (\beta'_{1d}, \beta'_{2,c(k)d}, \beta'_{3,kd})', \end{align*} where $c(k) = \{c = 1,\ldots, C: k \in K_c\}$. Similar a disjoint partition $K_v$, $v = 1,\ldots,V$, of $\tilde{K}$ can be defined for the dispersion parameters if nested varying parameters are present. $V$ denotes the number of groups of the dispersion parameters at the nesting level. This gives: \begin{align*} \phi_{kd} &= \left\{\begin{array}{ll} \phi_{d} & \textrm{for constant parameters}\\ \phi_{kd} & \textrm{for varying parameters}\\ \phi_{v(k)d} & \textrm{for nested varying parameters} \end{array}\right. \end{align*} where $v(k) = \{v = 1,\ldots,V: k \in K_v\}$. The nesting structure of the component specific parameters is also described in \cite{mixtures:Gruen+Leisch:2006}. Different concomitant variable models are possible to determine the component weights \citep{mixtures:Dayton+Macready:1988}. The mapping function only has to fulfill condition \eqref{eq:prior}. In the following a multinomial logit model is assumed for the $\pi_k$ given by \begin{equation*} \pi_k(w,\alpha) = \frac{e^{w'\alpha_k}}{\sum_{u = 1}^K e^{w'\alpha_u}} \quad \forall k, \end{equation*} with $\alpha = (\alpha'_k)'_{k=1,\ldots,K}$ and $\alpha_1 \equiv 0$. %%------------------------------------------------------------------------- \subsection{Parameter estimation}\label{sec:estimation} The EM algorithm \citep{mixtures:Dempster+Laird+Rubin:1977} is the most common method for maximum likelihood estimation of finite mixture models where the number of components $K$ is fixed. The EM algorithm applies a missing data augmentation scheme. It is assumed that a latent variable $z_n \in \{0,1\}^K$ exists for each observation $n$ which indicates the component membership, i.e.~$z_{nk}$ equals 1 if observation $n$ comes from component $k$ and 0 otherwise. Furthermore it holds that $\sum_{k=1}^K z_{nk}=1$ for all $n$. In the EM algorithm these unobserved component memberships $z_{nk}$ of the observations are treated as missing values and the data is augmented by estimates of the component membership, i.e.~the estimated a-posteriori probabilities $\hat{p}_{nk}$. For a sample of $N$ observations $\{(y_1, x_1, w_1), \ldots, (y_N, x_N, w_N)\}$ the EM algorithm is given by: \begin{description} \item[E-step:] Given the current parameter estimates $\psi^{(i)}$ in the $i$-th iteration, replace the missing data $z_{nk}$ by the estimated a-posteriori probabilities \begin{align*} \hat{p}_{nk} & = \frac{\displaystyle \pi_k(w_n, \alpha^{(i)}) f(y_n| x_n, \theta_k^{(i)}) }{\displaystyle \sum_{u = 1}^K \pi_u(w_n, \alpha^{(i)}) f(y_n |x_n, \theta_u^{(i)}) }. \end{align*} \item[M-step:] Given the estimates for the a-posteriori probabilities $\hat{p}_{nk}$ (which are functions of $\psi^{(i)}$), obtain new estimates $\psi^{(i+1)}$ of the parameters by maximizing \begin{align*} Q(\psi^{(i+1)}|\psi^{(i)}) &= Q_1(\theta^{(i+1)} | \psi^{(i)}) + Q_2(\alpha^{(i+1)} | \psi^{(i)}), \end{align*} where \begin{align*} Q_1(\theta^{(i+1)} | \psi^{(i)}) &= \sum_{n = 1}^N \sum_{k = 1}^K \hat{p}_{nk} \log(f(y_n | x_n, \theta_k^{(i+1)})) \end{align*} and \begin{align*} Q_2(\alpha^{(i+1)}| \psi^{(i)}) &= \sum_{n = 1}^N \sum_{k = 1}^K \hat{p}_{nk} \log(\pi_k(w_n, \alpha^{(i+1)})). \end{align*} $Q_1$ and $Q_2$ can be maximized separately. The maximization of $Q_1$ gives new estimates $\theta^{(i+1)}$ and the maximization of $Q_2$ gives $\alpha^{(i+1)}$. $Q_1$ is maximized separately for each $d=1,\ldots,D$ using weighted ML estimation of GLMs and $Q_2$ using weighted ML estimation of multinomial logit models. \end{description} Different variants of the EM algorithm exist such as the stochastic EM \citep[SEM;][]{mixtures:Diebolt+Ip:1996} or the classification EM \citep[CEM;][]{mixtures:Celeux+Govaert:1992}. These two variants are also implemented in package \pkg{flexmix}. For both variants an additional step is made between the expectation and maximization steps. This step uses the estimated a-posteriori probabilities and assigns each observation to only one component, i.e.~classifies it into one component. For SEM this assignment is determined in a stochastic way while it is a deterministic assignment for CEM. For the SEM algorithm the additional step is given by: \begin{description} \item[S-step:] Given the a-posteriori probabilities draw \begin{align*} \hat{z}_n &\sim \textrm{Mult}((\hat{p}_{nk})_{k=1,\ldots,K}, 1) \end{align*} where $\textrm{Mult}(\theta, T)$ denotes the multinomial distribution with success probabilities $\theta$ and number of trials $T$. \end{description} Afterwards, the $\hat{z}_{nk}$ are used instead of the $\hat{p}_{nk}$ in the M-step. For the CEM the additional step is given by: \begin{description} \item[C-step:] Given the a-posteriori probabilities define \begin{align*} \hat{z}_{nk} &= \left\{\begin{array}{ll} 1&\textrm{if } k = \min\{ l : \hat{p}_{nl} \geq \hat{p}_{nk}\, \forall k=1,\ldots,K\}\\ 0&\textrm{otherwise}. \end{array}\right. \end{align*} \end{description} Please note that in this step the observation is assigned to the component with the smallest index if the same maximum a-posteriori probability is observed for several components. Both of these variants have been proposed to improve the performance of the EM algorithm, because the ordinary EM algorithm tends to converge rather slowly and only to a local optimum. The convergence behavior can be expected to be better for the CEM than ordinary EM algorithm, while SEM can escape convergence to a local optimum. However, the CEM algorithm does not give ML estimates because it maximizes the complete likelihood. For SEM good approximations of the ML estimator are obtained if the parameters where the maximum likelihood was encountered are used as estimates. Another possibility for determining parameter estimates from the SEM algorithm could be the mean after discarding a suitable number of burn-ins. An implementational advantage of both variants is that no weighted maximization is necessary in the M-step. It has been shown that the values of the likelihood are monotonically increased during the EM algorithm. On the one hand this ensures the convergence of the EM algorithm if the likelihood is bounded, but on the other hand only the detection of a local maximum can be guaranteed. Therefore, it is recommended to repeat the EM algorithm with different initializations and choose as final solution the one with the maximum likelihood. Different initialization strategies for the EM algorithm have been proposed, as its convergence to the optimal solution depends on the initialization \citep{mixtures:Biernacki+Celeux+Govaert:2003,mixtures:Karlis+Xekalaki:2003}. Proposed strategies are for example to first make several runs of the SEM or CEM algorithm with different random initializations and then start the EM at the best solution encountered. The component specific parameter estimates can be determined separately for each $d=1,\ldots,D$. For simplicity of presentation the following description assumes $D=1$. If all parameter estimates vary between the component distributions they can be determined separately for each component in the M-step. However, if also constant or nested varying parameters are specified, the component specific estimation problems are not independent from each other any more. Parameters have to be estimated which occur in several or all components and hence, the parameters of the different components have to be determined simultaneously for all components. The estimation problem for all component specific parameters is then obtained by replicating the vector of observations $y = (y_n)_{n=1,\ldots,N}$ $K$ times and defining the covariate matrix $X = (X_{\textrm{constant}}, X_{\textrm{nested}}, X_{\textrm{varying}})$ by \begin{align*} &X_{\textrm{constant}} = \mathbf{1}_K \otimes (x'_{1,n})_{n=1,\ldots,N}\\ &X_{\textrm{nested}} = \mathbf{J} \odot (x'_{2,n})_{n=1,\ldots,N}\\ &X_{\textrm{varying}} = \mathbf{I}_K \otimes(x'_{3,n})_{n=1,\ldots,N}, \end{align*} where $\mathbf{1}_K$ is a vector of 1s of length $K$, $\mathbf{J}$ is the incidence matrix for each component $k=1,\ldots,K$ and each nesting group $c \in C$ and hence is of dimension $K \times |C|$, and $\mathbf{I}_K$ is the identity matrix of dimension $K \times K$. $\otimes$ denotes the Kronecker product and $\odot$ the Khatri-Rao product (i.e., the column-wise Kronecker product). $x_{m,n}$ are the covariates of the corresponding coefficients $\beta_{m,.}$ for $m=1,2,3$. Please note that the weights used for the estimation are the a-posteriori probabilities which are stacked for all components, i.e.~a vector of length $N K$ is obtained. Due to the replication of data in the case of constant or nested varying parameters the amount of memory needed for fitting the mixture model to large datasets is substantially increased and it might be easier to fit only varying coefficients to these datasets. To overcome this problem it could be considered to implement special data structures in order to avoid storing the same data multiple times for large datasets. Before each M-step the average component sizes (over the given data points) are checked and components which are smaller than a given (relative) minimum size are omitted in order to avoid too small components where fitting problems might arise. This strategy has already been recommended for the SEM algorithm \citep{mixtures:Celeux+Diebolt:1988} because it allows to determine the suitable number of components in an automatic way given that the a-priori specified number of components is large enough. This recommendation is based on the assumption that the redundent components will be omitted during the estimation process if the algorithm is started with too many components. If omission of small components is not desired the minimum size required can be set to zero. All components will be then retained throughout the EM algorithm and a mixture with the number of components specified in the initialization will be returned. The algorithm is stopped if the relative change in the log-likelihood is smaller than a pre-specified $\epsilon$ or the maximum number of iterations is reached. For model selection different information criteria are available: AIC, BIC and ICL \citep[Integrated Complete Likelihood;][]{mixtures:Biernacki+Celeux+Govaert:2000}. They are of the form twice the negative loglikelihood plus number of parameters times $k$ where $k=2$ for the AIC and $k$ equals the logarithm of the number of observations for the BIC. The ICL is the same as the BIC except that the complete likelihood (where the missing class memberships are replaced by the assignments induced by the maximum a-posteriori probabilities) instead of the likelihood is used. %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \section{Using the new functionality} \label{sec:using-new-funct} In the following model fitting and model selection in \proglang{R} is illustrated on several examples including mixtures of Gaussian, binomial and Poisson regression models, see also \cite{mixtures:Gruen:2006} and \cite{mixtures:Gruen+Leisch:2007a}. More examples for mixtures of GLMs are provided as part of the software package through a collection of artificial and real world datasets, most of which have been previously used in the literature (see references in the online help pages). Each dataset can be loaded to \proglang{R} with \code{data("}\textit{name}\code{")} and the fitting of the proposed models can be replayed using \code{example("}\textit{name}\code{")}. Further details on these examples are given in a user guide which can be accessed using \code{vignette("regression-examples", package="flexmix")} from within \proglang{R}. %%----------------------------------------------------------------------- \subsection{Artificial example}\label{sec:artificial-example} In the following the artificial dataset \code{NPreg} is used which has already been used in \cite{mixtures:Leisch:2004} to illustrate the application of package \pkg{flexmix}. The data comes from two latent classes of size \Sexpr{nrow(NPreg)/2} each and for each of the classes the data is drawn with respect to the following structure: \begin{center} \begin{tabular}{ll} Class~1: & $ \mathit{yn} = 5x+\epsilon$\\ Class~2: & $ \mathit{yn} = 15+10x-x^2+\epsilon$ \end{tabular} \end{center} with $\epsilon\sim N(0,9)$, see the left panel of Figure~\ref{fig:npreg}. The dataset \code{NPreg} also includes a response $\mathit{yp}$ which is given by a generalized linear model following a Poisson distribution and using the logarithm as link function. The parameters of the mean are given for the two classes by: \begin{center} \begin{tabular}{ll} Class~1: & $ \mu_1 = 2 - 0.2x$\\ Class~2: & $ \mu_2 = 1 + 0.1x$. \end{tabular} \end{center} This signifies that given $x$ the response $\mathit{yp}$ in group $k$ follows a Poisson distribution with mean $e^{\mu_k}$, see the right panel of Figure~\ref{fig:npreg}. \setkeys{Gin}{width=\textwidth} \begin{figure} \centering <>= par(mfrow=c(1,2)) plot(yn~x, col=class, pch=class, data=NPreg) plot(yp~x, col=class, pch=class, data=NPreg) @ \caption{Standard regression example (left) and Poisson regression (right).} \label{fig:npreg} \end{figure} This model can be fitted in \proglang{R} using the commands: <<>>= suppressWarnings(RNGversion("3.5.0")) set.seed(1802) library("flexmix") data("NPreg", package = "flexmix") Model_n <- FLXMRglm(yn ~ . + I(x^2)) Model_p <- FLXMRglm(yp ~ ., family = "poisson") m1 <- flexmix(. ~ x, data = NPreg, k = 2, model = list(Model_n, Model_p), control = list(verbose = 10)) @ If the dimensions are independent the component specific model for multivariate observations can be specified as a list of models for each dimension. The estimation can be controlled with the \code{control} argument which is specified with an object of class \code{"FLXcontrol"}. For convenience also a named list can be provided which is used to construct and set the respective slots of the \code{"FLXcontrol"} object. Elements of the control object are \code{classify} to select ordinary EM, CEM or SEM, \code{minprior} for the minimum relative size of components, \code{iter.max} for the maximum number of iterations and \code{verbose} for monitoring. If \code{verbose} is a positive integer the log-likelihood is reported every \code{verbose} iterations and at convergence together with the number of iterations made. The default is to not report any log-likelihood information during the fitting process. The estimated model \code{m1} is of class \code{"flexmix"} and the result of the default plot method for this class is given in Figure~\ref{fig:root1}. This plot method uses package \pkg{lattice} \citep{mixtures:Sarkar:2008} and the usual parameters can be specified to alter the plot, e.g.~the argument \code{layout} determines the arrangement of the panels. The returned object is of class \code{"trellis"} and the plotting can also be influenced by the arguments of its show method. The default plot prints rootograms (i.e., a histogram of the square root of counts) of the a-posteriori probabilities of each observation separately for each component. For each component the observations with a-posteriori probabilities less than a pre-specified $\epsilon$ (default is $10^{-4}$) for this component are omitted in order to avoid that the bar at zero dominates the plot \citep{mixtures:Leisch:2004a}. Please note that the labels of the y-axis report the number of observations in each bar, i.e.~the squared values used for the rootograms. \begin{figure} \centering <>= print(plot(m1)) @ \caption{The plot method for \code{"flexmix"} objects, here obtained by \code{plot(m1)}, shows rootograms of the posterior class probabilities.} \label{fig:root1} \end{figure} More detailed information on the estimated parameters with respect to standard deviations and significance tests can be obtained with function \code{refit()}. This function determines the variance-covariance matrix of the estimated parameters by using the inverted negative Hesse matrix as computed by the general purpose optimizer \code{optim()} on the full likelihood of the model. \code{optim()} is initialized in the solution obtained with the EM algorithm. For mixtures of GLMs we also implemented the gradient, which speeds up convergence and gives more precise estimates of the Hessian. Naturally, function \code{refit()} will also work for models which have been determined by applying some model selection strategy depending on the data (AIC, BIC, \ldots). The same caution is necessary as when using \code{summary()} on standard linear models selected using \code{step()}: The p-values shown are not correct because they have not been adjusted for the fact that the same data are used to select the model and compute the p-values. So use them only in an exploratory manner in this context, see also \cite{mixtures:Harrell:2001} for more details on the general problem. The returned object can be inspected using \code{summary()} with arguments \code{which} to specify if information for the component model or the concomitant variable model should be shown and \code{model} to indicate for which dimension of the component models this should be done. Selecting \code{model=1} gives the parameter estimates for the dimension where the response variable follows a Gaussian distribution. <<>>= m1.refit <- refit(m1) summary(m1.refit, which = "model", model = 1) @ \begin{figure} \centering <>= print(plot(m1.refit, layout = c(1,3), bycluster = FALSE, main = expression(paste(yn *tilde(" ")* x + x^2))), split= c(1,1,2,1), more = TRUE) print(plot(m1.refit, model = 2, main = expression(paste(yp *tilde(" ")* x)), layout = c(1,2), bycluster = FALSE), split = c(2,1,2,1)) @ \caption{The default plot for refitted \code{"flexmix"} objects, here obtained by \code{plot(refit(m1), model = 1)} and \code{plot(refit(m1), model = 2)}, shows the coefficient estimates and their confidence intervals.} \label{fig:refit} \end{figure} The default plot method for the refitted \code{"flexmix"} object depicts the estimated coefficients with corresponding confidence intervals and is given in Figure~\ref{fig:refit}. It can be seen that for the first model the confidence intervals of the coefficients of the intercept and the quadratic term of \code{x} overlap with zero. A model where these coefficients are set to zero can be estimated with the model driver function \code{FLXMRglmfix()} and the following commands for specifying the nesting structure. The argument \code{nested} needs input for the number of components in each group (given by \code{k}) and the formula which determines the model matrix for the nesting (given by \code{formula}). This information can be provided in a named list. For the restricted model the element \code{k} is a vector with two 1s because each of the components has different parameters. The formulas specifying the model matrices of these coefficients are \verb/~ 1 + I(x^2)/ for an intercept and a quadratic term of $x$ for component 1 and \code{~ 0} for no additional coefficients for component 2. The EM algorithm is initialized in the previously fitted model by passing the posterior probabilities in the argument \code{cluster}. <<>>= Model_n2 <- FLXMRglmfix(yn ~ . + 0, nested = list(k = c(1, 1), formula = c(~ 1 + I(x^2), ~ 0))) m2 <- flexmix(. ~ x, data = NPreg, cluster = posterior(m1), model = list(Model_n2, Model_p)) m2 @ Model selection based on the BIC would suggest the smaller model which also corresponds to the true underlying model. <<>>= c(BIC(m1), BIC(m2)) @ %%----------------------------------------------------------------------- \subsection{Beta-blockers dataset} \label{sec:beta-blockers} The dataset is analyzed in \cite{mixtures:Aitkin:1999, mixtures:Aitkin:1999a} using a finite mixture of binomial regression models. Furthermore, it is described in \citet[p.~165]{mixtures:McLachlan+Peel:2000}. The dataset is from a 22-center clinical trial of beta-blockers for reducing mortality after myocardial infarction. A two-level model is assumed to represent the data, where centers are at the upper level and patients at the lower level. The data is illustrated in Figure~\ref{fig:beta}. First, the center information is ignored and a binomial logit regression model with treatment as covariate is fitted using \code{glm}, i.e.~$K=1$ and it is assumed that the different centers are comparable: <<>>= data("betablocker", package = "flexmix") betaGlm <- glm(cbind(Deaths, Total - Deaths) ~ Treatment, family = "binomial", data = betablocker) betaGlm @ The residual deviance suggests that overdispersion is present in the data. In the next step the intercept is allowed to follow a mixture distribution given the centers. This signifies that the component membership is fixed for each center. This grouping is specified in \proglang{R} by adding \code{| Center} to the formula similar to the notation used in \pkg{nlme} \citep{mixtures:Pinheiro+Bates:2000}. Under the assumption of homogeneity within centers identifiability of the model class can be ensured as induced by the sufficient conditions for identifability given in \cite{mixtures:Follmann+Lambert:1991} for binomial logit models with varying intercepts and \cite{mixtures:Gruen+Leisch:2008} for multinomial logit models with varying and constant parameters. In order to determine the suitable number of components, the mixture is fitted with different numbers of components. <<>>= betaMixFix <- stepFlexmix(cbind(Deaths, Total - Deaths) ~ 1 | Center, model = FLXMRglmfix(family = "binomial", fixed = ~ Treatment), k = 2:4, nrep = 5, data = betablocker) @ The returned object is of class \code{"stepFlexmix"} and printing the object gives the information on the number of iterations until termination of the EM algorithm, a logical indicating if the EM algorithm has converged, the log-likelihood and some model information criteria. The plot method compares the fitted models using the different model information criteria. <<>>= betaMixFix @ A specific \code{"flexmix"} model contained in the \code{"stepFlexmix"} object can be selected using \code{getModel()} with argument \code{which} to specify the selection criterion. The best model with respect to the BIC is selected with: <<>>= betaMixFix_3 <- getModel(betaMixFix, which = "BIC") betaMixFix_3 <- relabel(betaMixFix_3, "model", "Intercept") @ The components of the selected model are ordered with respect to the estimated intercept values. In this case a model with three components is selected with respect to the BIC. The fitted values for the model with three components are given in Figure~\ref{fig:beta} separately for each component and the treatment and control groups. The fitted parameters of the component specific models can be accessed with: <<>>= parameters(betaMixFix_3) @ Please note that the coefficients of variable \code{Treatment} are the same for all three components. \begin{figure} \centering <>= library("grid") betablocker$Center <- with(betablocker, factor(Center, levels = Center[order((Deaths/Total)[1:22])])) clusters <- factor(clusters(betaMixFix_3), labels = paste("Cluster", 1:3)) print(dotplot(Deaths/Total ~ Center | clusters, groups = Treatment, as.table = TRUE, data = betablocker, xlab = "Center", layout = c(3, 1), scales = list(x = list(cex = 0.7, tck = c(1, 0))), key = simpleKey(levels(betablocker$Treatment), lines = TRUE, corner = c(1,0)))) betaMixFix.fitted <- fitted(betaMixFix_3) for (i in 1:3) { seekViewport(trellis.vpname("panel", i, 1)) grid.lines(unit(1:22, "native"), unit(betaMixFix.fitted[1:22, i], "native"), gp = gpar(lty = 1)) grid.lines(unit(1:22, "native"), unit(betaMixFix.fitted[23:44, i], "native"), gp = gpar(lty = 2)) } @ \setkeys{Gin}{width=0.8\textwidth} \caption{Relative number of deaths for the treatment and the control group for each center in the beta-blocker dataset. The centers are sorted by the relative number of deaths in the control group. The lines indicate the fitted values for each component of the 3-component mixture model with varying intercept and constant parameters for treatment.} \label{fig:beta} \end{figure} The variable \code{Treatment} can also be included in the varying part of the model. This signifies that a mixture distribution is assumed where for each component different values are allowed for the intercept and the treatment coefficient. This mixture distribution can be specified using function \code{FLXMRglm()}. Again it is assumed that the heterogeneity is only between centers and therefore the aggregated data for each center can be used. <<>>= betaMix <- stepFlexmix(cbind(Deaths, Total - Deaths) ~ Treatment | Center, model = FLXMRglm(family = "binomial"), k = 3, nrep = 5, data = betablocker) betaMix <- relabel(betaMix, "model", "Treatment") parameters(betaMix) c(BIC(betaMixFix_3), BIC(betaMix)) @ The difference between model \code{betaMix} and \code{betaMixFix\_3} is that the treatment coefficients are the same for all three components for \code{betaMixFix\_3} while they have different values for \code{betaMix} which can easily be seen when comparing the fitted component specific parameters. The larger model \code{betaMix} which also allows varying parameters for treatment has a higher BIC and therefore the smaller model \code{betaMixFix\_3} would be preferred. The default plot for \code{"flexmix"} objects gives a rootogram of the posterior probabilities for each component. Argument \code{mark} can be used to inspect with which components the specified component overlaps as all observations are coloured in the different panels which are assigned to this component based on the maximum a-posteriori probabilities. \begin{figure} \centering <>= print(plot(betaMixFix_3, nint = 10, mark = 1, col = "grey", layout = c(3, 1))) @ \caption{Default plot of \code{"flexmix"} objects where the observations assigned to the first component are marked.}\label{fig:default} \end{figure} \begin{figure} \centering <>= print(plot(betaMixFix_3, nint = 10, mark = 2, col = "grey", layout = c(3, 1))) @ \caption{Default plot of \code{"flexmix"} objects where the observations assigned to the third component are marked.}\label{fig:default-2} \end{figure} The rootogram indicates that the components are well separated. In Figure~\ref{fig:default} it can be seen that component 1 is completely separated from the other two components, while Figure~\ref{fig:default-2} shows that component 2 has a slight overlap with both other components. The cluster assignments using the maximum a-posteriori probabilities are obtained with: <<>>= table(clusters(betaMix)) @ The estimated probabilities of death for each component for the treated patients and those in the control group can be obtained with: <<>>= predict(betaMix, newdata = data.frame(Treatment = c("Control", "Treated"))) @ or by obtaining the fitted values for two observations (e.g.~rows 1 and 23) with the desired levels of the predictor \code{Treatment} <<>>= betablocker[c(1, 23), ] fitted(betaMix)[c(1, 23), ] @ A further analysis of the model is possible with function \code{refit()} which returns the estimated coefficients together with the standard deviations, z-values and corresponding p-values. Please note that the p-values are only approximate in the sense that they have not been corrected for the fact that the data has already been used to determine the specific fitted model. <<>>= summary(refit(betaMix)) @ Given the estimated treatment coefficients we now also compare this model to a model where the treatment coefficient is assumed to be the same for components 1 and 2. Such a model is specified using the model driver \code{FLXMRglmfix()}. As the first two components are assumed to have the same coeffcients for treatment and for the third component the coefficient for treatment shall be set to zero the argument \code{nested} has \code{k = c(2,1)} and \code{formula = c(\~{}Treatment, \~{})}. <<>>= ModelNested <- FLXMRglmfix(family = "binomial", nested = list(k = c(2, 1), formula = c(~ Treatment, ~ 0))) betaMixNested <- flexmix(cbind(Deaths, Total - Deaths) ~ 1 | Center, model = ModelNested, k = 3, data = betablocker, cluster = posterior(betaMix)) parameters(betaMixNested) c(BIC(betaMix), BIC(betaMixNested), BIC(betaMixFix_3)) @ The comparison of the BIC values suggests that the nested model with the same treatment effect for two components and no treatment effect for the third component is the best. %%----------------------------------------------------------------------- \subsection[Productivity of Ph.D. students in biochemistry]{Productivity of Ph.D.~students in biochemistry} \label{sec:bioChemists} <>= data("bioChemists", package = "flexmix") @ This dataset is taken from \cite{mixtures:Long:1990}. It contains \Sexpr{nrow(bioChemists)} observations from academics who obtained their Ph.D.~degree in biochemistry in the 1950s and 60s. It includes \Sexpr{sum(bioChemists$fem=="Women")} women and \Sexpr{sum(bioChemists$fem=="Men")} men. The productivity was measured by counting the number of publications in scientific journals during the three years period ending the year after the Ph.D.~was received. In addition data on the productivity and the prestige of the mentor and the Ph.D.~department was collected. Two measures of family characteristics were recorded: marriage status and number of children of age 5 and lower by the year of the Ph.D. First, mixtures with one, two and three components and only varying parameters are fitted, and the model minimizing the BIC is selected. This is based on the assumption that unobserved heterogeneity is present in the data due to latent differences between the students in order to be productive and achieve publications. Starting with the most general model to determine the number of components using information criteria and checking for possible model restrictions after having the number of components fixed is a common strategy in finite mixture modelling \citep[see][]{mixtures:Wang+Puterman+Cockburn:1996}. Function \code{refit()} is used to determine confidence intervals for the parameters in order to choose suitable alternative models. However, it has to be noted that in the course of the procedure these confidence intervals will not be correct any more because the specific fitted models have already been determined using the same data. <<>>= data("bioChemists", package = "flexmix") Model1 <- FLXMRglm(family = "poisson") ff_1 <- stepFlexmix(art ~ ., data = bioChemists, k = 1:3, model = Model1) ff_1 <- getModel(ff_1, "BIC") @ The selected model has \Sexpr{ff_1@k} components. The estimated coefficients of the components are given in Figure~\ref{fig:coefficients-1} together with the corresponding 95\% confidence intervals using the plot method for objects returned by \code{refit()}. The plot shows that the confidence intervals of the parameters for \code{kid5}, \code{mar}, \code{ment} and \code{phd} overlap for the two components. In a next step a mixture with two components is therefore fitted where only a varying intercept and a varying coefficient for \code{fem} is specified and all other coefficients are constant. The EM algorithm is initialized with the fitted mixture model using \code{posterior()}. \begin{figure} \centering <>= print(plot(refit(ff_1), bycluster = FALSE, scales = list(x = list(relation = "free")))) @ \caption{Coefficient estimates and confidence intervals for the model with only varying parameters.}\label{fig:coefficients-1} \end{figure} <<>>= Model2 <- FLXMRglmfix(family = "poisson", fixed = ~ kid5 + mar + ment) ff_2 <- flexmix(art ~ fem + phd, data = bioChemists, cluster = posterior(ff_1), model = Model2) c(BIC(ff_1), BIC(ff_2)) @ If the BIC is used for model comparison the smaller model including only varying coefficients for the intercept and \code{fem} is preferred. The coefficients of the fitted model can be obtained using \code{refit()}: <<>>= summary(refit(ff_2)) @ It can be seen that the coefficient of \code{phd} does for both components not differ significantly from zero and might be omitted. This again improves the BIC. <<>>= Model3 <- FLXMRglmfix(family = "poisson", fixed = ~ kid5 + mar + ment) ff_3 <- flexmix(art ~ fem, data = bioChemists, cluster = posterior(ff_2), model = Model3) c(BIC(ff_2), BIC(ff_3)) @ The coefficients of the restricted model without \code{phd} are given in Figure~\ref{fig:coefficients-2}. \begin{figure}[t] \centering <>= print(plot(refit(ff_3), bycluster = FALSE, scales = list(x = list(relation = "free")))) @ \caption{Coefficient estimates and confidence intervals for the model with varying and constant parameters where the variable \code{phd} is not used in the regression.}\label{fig:coefficients-2} \end{figure} An alternative model would be to assume that gender does not directly influence the number of articles but has an impact on the segment sizes. <<>>= Model4 <- FLXMRglmfix(family = "poisson", fixed = ~ kid5 + mar + ment) ff_4 <- flexmix(art ~ 1, data = bioChemists, cluster = posterior(ff_2), concomitant = FLXPmultinom(~ fem), model = Model4) parameters(ff_4) summary(refit(ff_4), which = "concomitant") BIC(ff_4) @ This suggests that the proportion of women is lower in the second component which is the more productive segment. The alternative modelling strategy where homogeneity is assumed at the beginning and a varying interept is added if overdispersion is observed leads to the following model which is the best with respect to the BIC. <<>>= Model5 <- FLXMRglmfix(family = "poisson", fixed = ~ kid5 + ment + fem) ff_5 <- flexmix(art ~ 1, data = bioChemists, cluster = posterior(ff_2), model = Model5) BIC(ff_5) @ \begin{figure} \centering \setkeys{Gin}{width=0.8\textwidth} <>= pp <- predict(ff_5, newdata = data.frame(kid5 = 0, mar = factor("Married", levels = c("Single", "Married")), fem = c("Men", "Women"), ment = mean(bioChemists$ment))) matplot(0:12, sapply(unlist(pp), function(x) dpois(0:12, x)), type = "b", lty = 1, xlab = "Number of articles", ylab = "Probability") legend("topright", paste("Comp.", rep(1:2, each = 2), ":", c("Men", "Women")), lty = 1, col = 1:4, pch = paste(1:4), bty = "n") @ \caption{The estimated productivity for each compoment for men and women.} \label{fig:estimated} \end{figure} \setkeys{Gin}{width=0.98\textwidth} In Figure~\ref{fig:estimated} the estimated distribution of productivity for model \code{ff\_5} are given separately for men and women as well as for each component where for all other variables the mean values are used for the numeric variables and the most frequent category for the categorical variables. The two components differ in that component 1 contains the students who publish no article or only a single article, while the students in component 2 write on average several articles. With a constant coefficient for gender women publish less articles than men in both components. This example shows that different optimal models are chosen for different modelling procedures. However, the distributions induced by the different variants of the model class may be similar and therefore it is not suprising that they then will have similar BIC values. %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \section{Implementation}\label{sec:implementation} The new features extend the available model class described in \cite{mixtures:Leisch:2004} by providing infrastructure for concomitant variable models and for fitting mixtures of GLMs with varying and constant parameters for the component specific parameters. The implementation of the extensions of the model class made it necessary to define a better class structure for the component specific models and to modify the fit functions \code{flexmix()} and \code{FLXfit()}. An overview on the \proglang{S}4 class structure of the package is given in Figure~\ref{fig:class structure}. There is a class for unfitted finite mixture distributions given by \code{"FLXdist"} which contains a list of \code{"FLXM"} objects which determine the component specific models, a list of \code{"FLXcomponent"} objects which specify functions to determine the component specific log-likelihoods and predictions and which contain the component specific parameters, and an object of class \code{"FLXP"} which specifies the concomitant variable model. Class \code{"flexmix"} extends \code{"FLXdist"}. It represents a fitted finite mixture distribution and it contains the information about the fitting with the EM algorithm in the object of class \code{"FLXcontrol"}. Repeated fitting with the EM algorithm with different number of components is provided by function \code{stepFlexmix()} which returns an object of class \code{"stepFlexmix"}. Objects of class \code{"stepFlexmix"} contain the list of the fitted mixture models for each number of components in the slot \code{"models"}. \setkeys{Gin}{width=.9\textwidth} \begin{figure}[t] \centering \includegraphics{flexmix} \caption{UML class diagram \citep[see][]{mixtures:Fowler:2004} of the \pkg{flexmix} package.} \label{fig:class structure} \end{figure} \setkeys{Gin}{width=\textwidth} For the component specific model a virtual class \code{"FLXM"} is introduced which (currently) has two subclasses: \code{"FLXMC"} for model-based clustering and \code{"FLXMR"} for clusterwise regression, where predictor variables are given. Additional slots have been introduced to allow for data preprocessing and the construction of the components was separated from the fit and is implemented using lexical scoping \citep{mixtures:Gentleman+Ihaka:2000} in the slot \code{defineComponent}. \code{"FLXMC"} has an additional slot \code{dist} to specify the name of the distribution of the variable. In the future functionality shall be provided for sampling from a fitted or unfitted finite mixture. Using this slot observations can be generated by using the function which results from adding an \code{r} at the beginnning of the distribution name. This allows to only implement the (missing) random number generator functions and otherwise use the same method for sampling from mixtures with component specific models of class \code{"FLXMC"}. For \code{flexmix()} and \code{FLXfit()} code blocks which are model dependent have been identified and different methods implemented. Finite mixtures of regressions with varying, nested and constant parameters were a suitable model class for this identification task as they are different from models previously implemented. The main differences are: \begin{itemize} \item The number of components is related to the component specific model and the omission of small components during the EM algorithm impacts on the model. \item The parameters of the component specific models can not be determined separately in the M-step and a joint model matrix is needed. \end{itemize} This makes it also necessary to have different model dependent methods for \code{fitted()} which extracts the fitted values from a \code{"flexmix"} object, \code{predict()} which predicts new values for a \code{"flexmix"} object and \code{refit()} which refits an estimated model to obtain additional information for a \code{"flexmix"} object. %%----------------------------------------------------------------------- \subsection{Component specific models with varying and constant parameters}\label{sec:comp-models-with} A new M-step driver is provided which fits finite mixtures of GLMs with constant and nested varying parameters for the coefficients and the dispersion parameters. The class \code{"FLXMRglmfix"} returned by the driver \code{FLXMRglmfix()} has the following additional slots with respect to \code{"FLXMRglm"}: \begin{description} \item[\code{design}:] An incidence matrix indicating which columns of the model matrix are used for which component, i.e.~$\mathbf{D}=(\mathbf{1}_K,\mathbf{J}, \mathbf{I}_K)$. \item[\code{nestedformula}:] An object of class \code{"FLXnested"} containing the formula for the nested regression coefficients and the number of components in each $K_c$, $c \in C$. \item[\code{fixed}:] The formula for the constant regression coefficients. \item[\code{variance}:] A logical indicating if different variances shall be estimated for the components following a Gaussian distribution or a vector specifying the nested structure for estimating these variances. \end{description} The difference between estimating finite mixtures including only varying parameters using models specified with \code{FLXMRglm()} and those with varying and constant parameters using function \code{FLXMRglmfix()} is hidden from the user, as only the specified model is different. The fitted model is also of class \code{"flexmix"} and can be analyzed using the same functions as for any model fitted using package \pkg{flexmix}. The methods used are the same except if the slot containing the model is accessed and method dispatching is made via the model class. New methods are provided for models of class \code{"FLXMRglmfix"} for functions \code{refit()}, \code{fitted()} and \code{predict()} which can be used for analyzing the fitted model. The implementation allows repeated measurements by specifying a grouping variable in the formula argument of \code{flexmix()}. Furthermore, it has to be noticed that the model matrix is determined by updating the formula of the varying parameters successively with the formula of the constant and then of the nested varying parameters. This ensures that if a mixture distribution is fitted for the intercept, the model matrix of a categorical variable includes only the remaining columns for the constant parameters to have full column rank. However, this updating scheme makes it impossible to estimate a constant intercept while allowing varying parameters for a categorical variable. For this model one big model matrix is constructed where the observations are repeated $K$ times and suitable columns of zero added. The coefficients of all $K$ components are determined simultaneously in the M-step, while if only varying parameters are specified the maximization of the likelihood is made separately for all components. For large datasets the estimation of a combination of constant and varying parameters might therefore be more challenging than only varying parameters. %% ----------------------------------------------------------------------- \subsection{Concomitant variable models}\label{sec:conc-vari-models} For representing concomitant variable models the class \code{"FLXP"} is defined. It specifies how the concomitant variable model is fitted using the concomitant variable model matrix as predictor variables and the current a-posteriori probability estimates as response variables. The object has the following slots: \begin{description} \item[\code{fit}:] A \code{function (x, y, ...)} returning the fitted values for the component weights during the EM algorithm. \item[\code{refit}:] A \code{function (x, y, ...)} used for refitting the model. \item[\code{df}:] A \code{function (x, k, ...)} returning the degrees of freedom used for estimating the concomitant variable model given the model matrix \code{x} and the number of components \code{k}. \item[\code{x}:] A matrix containing the model matrix of the concomitant variables. \item[\code{formula}:] The formula for determining the model matrix \code{x}. \item[\code{name}:] A character string describing the model, which is only used for print output. \end{description} Two constructor functions for concomitant variable models are provided at the moment. \code{FLXPconstant()} is for constant component weights without concomitant variables and for multinomial logit models \code{FLXPmultinom()} can be used. \code{FLXPmultinom()} has its own class \code{"FLXPmultinom"} which extends \code{"FLXP"} and has an additional slot \code{coef} for the fitted coefficients. The multinomial logit models are fitted using package \pkg{nnet} \citep{mixtures:Venables+Ripley:2002}. %%----------------------------------------------------------------------- \subsection{Further changes} The estimation of the model with the EM algorithm was improved by adapting the variants to correspond to the CEM and SEM variants as outlined in the literature. To make this more explicit it is now also possible to use \code{"CEM"} or \code{"SEM"} to specify an EM variant in the \code{classify} argument of the \code{"FLXcontrol"} object. Even though the SEM algorithm can in general not be expected to converge the fitting procedure is also terminated for the SEM algorithm if the change in the relative log-likelhood is smaller than the pre-specified threshold. This is motivated by the fact that for well separated clusters the posteriors might converge to an indicator function with all weight concentrated in one component. The fitted model with the maximum likelihood encountered during the SEM algorithm is returned. For discrete data in general multiple observations with the same values are given in a dataset. A \code{weights} argument was added to the fitting function \code{flexmix()} in order to avoid repeating these observations in the provided dataset. The specification is through a \code{formula} in order to allow selecting a column of the data frame given in the \code{data} argument. The weights argument allows to avoid replicating the same observations and hence enables more efficient memory use in these applications. This possibitliy is especially useful in the context of model-based clustering for mixtures of Poisson distributions or latent class analysis with multivariate binary observations. In order to be able to apply different initialization strategies such as for example first running several different random initializations with CEM and then switching to ordinary EM using the best solution found by CEM for initialization a \code{posterior()} function was implemented. \code{posterior()} also takes a \code{newdata} argument and hence, it is possible to apply subset strategies for large datasets as suggested in \cite{mixtures:Wehrens+Buydens+Fraley:2004}. The returned matrix of the posterior probabilities can be used to specify the \code{cluster} argument for \code{flexmix()} and the posteriors are then used as weights in the first M-step. The default plot methods now use trellis graphics as implemented in package \pkg{lattice} \citep{mixtures:Sarkar:2008}. Users familiar with the syntax of these graphics and with the plotting and printing arguments will find the application intuitive as a lot of plotting arguments are passed to functions from \pkg{lattice} as for example \code{xyplot()} and \code{histogram()}. In fact only new panel, pre-panel and group-panel functions were implemented. The returned object is of class \code{"trellis"} and the show method for this class is used to create the plot. Function \code{refit()} was modified and has now two different estimation methods: \code{"optim"} and \code{"mstep"}. The default method \code{"optim"} determines the variance-covariance matrix of the parameters from the inverse Hessian of the full log-likelihood. The general purpose optimizer \code{optim()} is used to maximize the log-likelihood and initialized in the solution obtained with the EM algorithm. For mixtures of GLMs there are also functions implemented to determine the gradient which can be used to speed up convergence. The second method \code{"mstep"} is only a raw approximation. It performs an M-step where the a-posteriori probabilities are treated as given instead of estimated and returns for the component specific models nearly complete \code{"glm"} objects which can be further analyzed. The advantage of this method is that the return value is basically a list of standard \code{"glm"} objects, such that the regular methods for this class can be used. %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \section{Writing your own drivers}\label{sec:writing-your-own} Two examples are given in the following to demonstrate how new drivers can be provided for concomitant variable models and for component specific models. Easy extensibility is one of the main implementation aims of the package and it can be seen that writing new drivers requires only a few lines of code for providing the constructor functions which include the fit functions. %%----------------------------------------------------------------------- \subsection{Component specific models: Zero-inflated models}\label{sec:component-models} \lstset{frame=trbl,basicstyle=\small\tt,stepnumber=5,numbers=left} In Poisson or binomial regression models it can be often encountered that the observed number of zeros is higher than expected. A mixture with two components where one has mean zero can be used to model such data. These models are also referred to as zero-inflated models \citep[see for example][]{mixtures:Boehning+Dietz+Schlattmann:1999}. A generalization of this model class would be to fit mixtures with more than two components where one component has a mean fixed at zero. So this model class is a special case of a mixture of generalized linear models where (a) the family is restricted to Poisson and binomial and (b) the parameters of one component are fixed. For simplicity the implementation assumes that the component with mean zero is the first component. In addition we assume that the model matrix contains an intercept and to have the first component absorbing the access zeros the coefficient of the intercept is set to $-\infty$ and all other coefficients are set to zero. Hence, to implement this model using package \pkg{flexmix} an appropriate model class is needed with a corresponding convenience function for construction. During the fitting of the EM algorithm using \code{flexmix()} different methods for this model class are needed when determining the model matrix (to check the presence of an intercept), to check the model after a component is removed and for the M-step to account for the fact that the coefficients of the first component are fixed. For all other methods those available for \code{"FLXMRglm"} can be re-used. The code is given in Figure~\ref{fig:ziglm.R}. \begin{figure} \centering \begin{minipage}{0.98\textwidth} \lstinputlisting{ziglm.R} \end{minipage} \caption{Driver for a zero-inflated component specific model.} \label{fig:ziglm.R} \end{figure} The model class \code{"FLXMRziglm"} is defined as extending \code{"FLXMRglm"} in order to be able to inherit methods from this model class. For construction of a \code{"FLXMRziglm"} class the convenicence function \code{FLXMRziglm()} is used which calls \code{FLXMRglm()}. The only differences are that the family is restricted to binomial or Poisson, that a different name is assigned and that an object of the correct class is returned. The presence of the intercept in the model matrix is checked in \code{FLXgetModelmatrix()} after using the method available for \code{"FLXMRglm"} models as indicated by the call to \code{callNextMethod()}. During the EM algorithm \code{FLXremoveComponent()} is called if one component is removed. For this model class it checks if the first component has been removed and if this is the case the model class is changed to \code{"FLXMRglm"}. In the M-step the coefficients of the first component are fixed and not estimated, while for the remaining components the M-step of \code{"FLXMRglm"} objects can be used. During the EM algorithm \code{FLXmstep()} is called to perform the M-step and returns a list of \code{"FLXcomponent"} objects with the fitted parameters. A new method for this function is needed for \code{"FLXMRziglm"} objects in order to account for the fixed coefficients in the first component, i.e.~for the first component the \code{"FLXcomponent"} object is constructed and concatenated with the list of \code{"FLXcomponent"} objects returned by using the \code{FLXmstep()} method for \code{"FLXMRglm"} models for the remaining components. Similar modifications are necessary in order to be able to use \code{refit()} for this model class. The code for implementing the \code{refit()} method using \code{optim()} for \code{"FLXMRziglm"} is not shown, but can be inspected in the source code of the package. \subsubsection{Example: Using the driver} This new M-step driver can be used to estimate a zero-inflated Poisson model to the data given in \cite{mixtures:Boehning+Dietz+Schlattmann:1999}. The dataset \code{dmft} consists of count data from a dental epidemiological study for evaluation of various programs for reducing caries collected among school children from an urban area of Belo Horizonte (Brazil). The variables included are the number of decayed, missing or filled teeth (DMFT index) at the beginning and at the end of the observation period, the gender, the ethnic background and the specific treatment for \Sexpr{nrow(dmft)} children. The model can be fitted with the new driver function using the following commands: <<>>= data("dmft", package = "flexmix") Model <- FLXMRziglm(family = "poisson") Fitted <- flexmix(End ~ log(Begin + 0.5) + Gender + Ethnic + Treatment, model = Model, k = 2 , data = dmft, control = list(minprior = 0.01)) summary(refit(Fitted)) @ Please note that \cite{mixtures:Boehning+Dietz+Schlattmann:1999} added the predictor \code{log(Begin + 0.5)} to serve as an offset in order to be able to analyse the improvement in the DMFT index from the beginning to the end of the study. The linear predictor with the offset subtracted is intended to be an estimate for $\log(\mathbb{E}(\textrm{End})) - \log(\mathbb{E}(\textrm{Begin}))$. This is justified by the fact that for a Poisson distributed variable $Y$ with mean between 1 and 10 it holds that $\mathbb{E}(\log(Y + 0.5))$ is approximately equal to $\log(\mathbb{E}(Y))$. $\log(\textrm{Begin} + 0.5)$ can therefore be seen as an estimate for $\log(\mathbb{E}(\textrm{Begin}))$. The estimated coefficients with corresponding confidence intervals are given in Figure~\ref{fig:dmft}. As the coefficients of the first component are restricted a-priori to minus infinity for the intercept and to zero for the other variables, they are of no interest and only the second component is plotted. The box ratio can be modified as for \code{barchart()} in package \pkg{lattice}. The code to produce this plot is given by: <>= print(plot(refit(Fitted), components = 2, box.ratio = 3)) @ \begin{figure} \centering \setkeys{Gin}{width=0.9\textwidth} <>= <> @ \caption{The estimated coefficients of the zero-inflated model for the \code{dmft} dataset. The first component is not plotted as this component captures the inflated zeros and its coefficients are fixed a-priori.} \label{fig:dmft} \end{figure} %%----------------------------------------------------------------------- \subsection{Concomitant variable models}\label{sec:concomitant-models} If the concomitant variable is a categorical variable, the multinomial logit model is equivalent to a model where the component weights for each level of the concomitant variable are determined by the mean values of the a-posteriori probabilities. The driver which implements this \code{"FLXP"} model is given in Figure~\ref{fig:myConcomitant.R}. A name for the driver has to be specified and a \code{fit()} function. In the \code{fit()} function the mean posterior probability for all observations with the same covariate points is determined, assigned to the corresponding observations and the full new a-posteriori probability matrix returned. By contrast \code{refit()} only returns the new a-posteriori probability matrix for the number of unique covariate points. \lstset{frame=trbl,basicstyle=\small\tt,stepnumber=5,numbers=left} \begin{figure} \centering \begin{minipage}{0.98\textwidth} \lstinputlisting{myConcomitant.R} \end{minipage} \caption{Driver for a concomitant variable model where the component weights are determined by averaging over the a-posteriori probabilities for each level of the concomitant variable.} \label{fig:myConcomitant.R} \end{figure} \subsubsection{Example: Using the driver} If the concomitant variable model returned by \code{myConcomitant()} is used for the artificial example in Section~\ref{sec:using-new-funct} the same fitted model is returned as if a multinomial logit model is specified. An advantage is that in this case no problems occur if the fitted probabilities are close to zero or one. <>= Concomitant <- FLXPmultinom(~ yb) MyConcomitant <- myConcomitant(~ yb) set.seed(1234) m2 <- flexmix(. ~ x, data = NPreg, k = 2, model = list(Model_n, Model_p), concomitant = Concomitant) m3 <- flexmix(. ~ x, data = NPreg, k = 2, model = list(Model_n, Model_p), cluster = posterior(m2), concomitant = MyConcomitant) @ <<>>= summary(m2) summary(m3) @ For comparing the estimated component weights for each value of $\mathit{yb}$ the following function can be used: <<>>= determinePrior <- function(object) { object@concomitant@fit(object@concomitant@x, posterior(object))[!duplicated(object@concomitant@x), ] } @ <<>>= determinePrior(m2) determinePrior(m3) @ Obviously the fitted values of the two models correspond to each other. %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \section{Summary and outlook}\label{sec:summary-outlook} Package \pkg{flexmix} was extended to cover finite mixtures of GLMs with (nested) varying and constant parameters. This allows for example the estimation of varying intercept models. In order to be able to characterize the components given some variables concomitant variable models can be estimated for the component weights. The implementation of these extensions have triggered some modifications in the class structure and in the fit functions \code{flexmix()} and \code{FLXfit()}. For certain steps, as e.g.~the M-step, methods which depend on the component specific models are defined in order to enable the estimation of finite mixtures of GLMs with only varying parameters and those with (nested) varying and constant parameters with the same fit function. The flexibility of this modified implementation is demonstrated by illustrating how a driver for zero-inflated models can be defined. In the future diagnostic tools based on resampling methods shall be implemented as bootstrap results can give valuable insights into the model fit \citep{mixtures:Gruen+Leisch:2004}. A function which conveniently allows to test linear hypotheses about the parameters using the variance-covariance matrix returned by \code{refit()} would be a further valuable diagnostic tool. The implementation of zero-inflated Poisson and binomial regression models are a first step towards relaxing the assumption that all component specific distributions are from the same parametric family. As mixtures with components which follow distributions from different parametric families can be useful for example to model outliers \citep{mixtures:Dasgupta+Raftery:1998,mixtures:Leisch:2008}, it is intended to also make this functionality available in \pkg{flexmix} in the future. %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \section*{Computational details} <>= SI <- sessionInfo() pkgs <- paste(sapply(c(SI$otherPkgs, SI$loadedOnly), function(x) paste("\\\\pkg{", x$Package, "} ", x$Version, sep = "")), collapse = ", ") @ All computations and graphics in this paper have been done using \proglang{R} version \Sexpr{getRversion()} with the packages \Sexpr{pkgs}. %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \section*{Acknowledgments} This research was supported by the the Austrian Science Foundation (FWF) under grants P17382 and T351. Thanks also to Achim Zeileis for helpful discussions on implementation details and an anonymous referee for asking a good question about parameter significance which initiated the new version of function \code{refit()}. %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \bibliography{mixture} %%----------------------------------------------------------------------- %%----------------------------------------------------------------------- \end{document} flexmix/inst/doc/regression-examples.Rnw0000644000176200001440000012407214404637307020152 0ustar liggesusers\documentclass[nojss]{jss} \usepackage{amsfonts,bm,amsmath,amssymb} %%\usepackage{Sweave} %% already provided by jss.cls %%%\VignetteIndexEntry{Applications of finite mixtures of regression models} %%\VignetteDepends{flexmix} %%\VignetteKeywords{R, finite mixture model, generalized linear model, latent class regression} %%\VignettePackage{flexmix} \title{Applications of finite mixtures of regression models} <>= library("stats") library("graphics") library("flexmix") @ \author{Bettina Gr{\"u}n\\ Wirtschaftsuniversit{\"a}t Wien \And Friedrich Leisch\\ Universit\"at f\"ur Bodenkultur Wien} \Plainauthor{Bettina Gr{\"u}n, Friedrich Leisch} \Address{ Bettina Gr\"un\\ Institute for Statistics and Mathematics\\ Wirtschaftsuniversit{\"a}t Wien\\ Welthandelsplatz 1\\ 1020 Wien, Austria\\ E-mail: \email{Bettina.Gruen@R-project.org}\\ Friedrich Leisch\\ Institut f\"ur Angewandte Statistik und EDV\\ Universit\"at f\"ur Bodenkultur Wien\\ Peter Jordan Stra\ss{}e 82\\ 1190 Wien, Austria\\ E-mail: \email{Friedrich.Leisch@boku.ac.at} } \Abstract{ Package \pkg{flexmix} provides functionality for fitting finite mixtures of regression models. The available model class includes generalized linear models with varying and fixed effects for the component specific models and multinomial logit models for the concomitant variable models. This model class includes random intercept models where the random part is modelled by a finite mixture instead of a-priori selecting a suitable distribution. The application of the package is illustrated on various datasets which have been previously used in the literature to fit finite mixtures of Gaussian, binomial or Poisson regression models. The \proglang{R} commands are given to fit the proposed models and additional insights are gained by visualizing the data and the fitted models as well as by fitting slightly modified models. } \Keywords{\proglang{R}, finite mixture models, generalized linear models, concomitant variables} \Plainkeywords{R, finite mixture models, generalized linear models, concomitant variables} %%------------------------------------------------------------------------- %%------------------------------------------------------------------------- \begin{document} \SweaveOpts{engine=R, echo=true, height=5, width=8, eps=FALSE, keep.source=TRUE} \setkeys{Gin}{width=0.8\textwidth} <>= options(width=70, prompt = "R> ", continue = "+ ", useFancyQuotes = FALSE) suppressWarnings(RNGversion("3.5.0")) set.seed(1802) library("lattice") ltheme <- canonical.theme("postscript", FALSE) lattice.options(default.theme=ltheme) @ %%------------------------------------------------------------------------- %%------------------------------------------------------------------------- \section{Introduction} Package \pkg{flexmix} provides infrastructure for flexible fitting of finite mixtures models. The design principles of the package allow easy extensibility and rapid prototyping. In addition, the main focus of the available functionality is on fitting finite mixtures of regression models, as other packages in \proglang{R} exist which have specialized functionality for model-based clustering, such as e.g.~\pkg{mclust} \citep{flexmix:Fraley+Raftery:2002a} for finite mixtures of Gaussian distributions. \cite{flexmix:Leisch:2004a} gives a general introduction into the package outlining the main implementational principles and illustrating the use of the package. The paper is also contained as a vignette in the package. An example for fitting mixtures of Gaussian regression models is given in \cite{flexmix:Gruen+Leisch:2006}. This paper focuses on examples of finite mixtures of binomial logit and Poisson regression models. Several datasets which have been previously used in the literature to demonstrate the use of finite mixtures of regression models have been selected to illustrate the application of the package. The model class covered are finite mixtures of generalized linear model with focus on binomial logit and Poisson regressions. The regression coefficients as well as the dispersion parameters of the component specific models are assumed to vary for all components, vary between groups of components, i.e.~to have a nesting, or to be fixed over all components. In addition it is possible to specify concomitant variable models in order to be able to characterize the components. Random intercept models are a special case of finite mixtures with varying and fixed effects as fixed effects are assumed for the coefficients of all covariates and varying effects for the intercept. These models are often used to capture overdispersion in the data which can occur for example if important covariates are omitted in the regression. It is then assumed that the influence of these covariates can be captured by allowing a random distribution for the intercept. This illustration does not only show how the package \pkg{flexmix} can be used for fitting finite mixtures of regression models but also indicates the advantages of using an extension package of an environment for statistical computing and graphics instead of a stand-alone package as available visualization techniques can be used for inspecting the data and the fitted models. In addition users already familiar with \proglang{R} and its formula interface should find the model specification and a lot of commands for exploring the fitted model intuitive. %%------------------------------------------------------------------------- %%------------------------------------------------------------------------- \section{Model specification} Finite mixtures of Gaussian regressions with concomitant variable models are given by: \begin{align*} H(y\,|\,\bm{x}, \bm{w}, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s(\bm{w}, \bm{\alpha}) \textrm{N}(y\,|\, \mu_s(\bm{x}), \sigma^2_s), \end{align*} where $\textrm{N}(\cdot\,|\, \mu_s(\bm{x}), \sigma^2_s)$ is the Gaussian distribution with mean $\mu_s(\bm{x}) = \bm{x}' \bm{\beta}^s$ and variance $\sigma^2_s$. $\Theta$ denotes the vector of all parameters of the mixture distribution and the dependent variables are $y$, the independent $\bm{x}$ and the concomitant $\bm{w}$. Finite mixtures of binomial regressions with concomitant variable models are given by: \begin{align*} H(y\,|\,T, \bm{x}, \bm{w}, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s(\bm{w}, \bm{\alpha}) \textrm{Bi}(y\,|\,T, \theta_s(\bm{x})), \end{align*} where $\textrm{Bi}(\cdot\,|\,T, \theta_s(\bm{x}))$ is the binomial distribution with number of trials equal to $T$ and success probability $\theta_s(\bm{x}) \in (0,1)$ given by $\textrm{logit}(\theta_s(\bm{x})) = \bm{x}' \bm{\beta}^s$. Finite mixtures of Poisson regressions are given by: \begin{align*} H(y \,|\, \bm{x}, \bm{w}, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s(\bm{w}, \bm{\alpha}) \textrm{Poi} (y \,|\, \lambda_s(\bm{x})), \end{align*} where $\textrm{Poi}(\cdot\,|\,\lambda_s(\bm{x}))$ denotes the Poisson distribution and $\log(\lambda_s(\bm{x})) = \bm{x}'\bm{\beta}^s$. For all these mixture distributions the coefficients are split into three different groups depending on if fixed, nested or varying effects are specified: \begin{align*} \bm{\beta}^s &= (\bm{\beta}_1, \bm{\beta}^{c(s)}_{2}, \bm{\beta}^{s}_3) \end{align*} where the first group represents the fixed, the second the nested and the third the varying effects. For the nested effects a partition $\mathcal{C} = \{c_s \,|\, s = 1,\ldots S\}$ of the $S$ components is determined where $c_s = \{s^* = 1,\ldots,S \,|\, c(s^*) = c(s)\}$. A similar splitting is possible for the variance of mixtures of Gaussian regression models. The function for maximum likelihood (ML) estimation with the Expectation-Maximization (EM) algorithm is \code{flexmix()} which is described in detail in \cite{flexmix:Leisch:2004a}. It takes as arguments a specification of the component specific model and of the concomitant variable model. The component specific model with varying, nested and fixed effects can be specified with the M-step driver \code{FLXMRglmfix()} which has arguments \code{formula} for the varying, \code{nested} for the nested and \code{fixed} for the fixed effects. \code{formula} and \code{fixed} take an argument of class \code{"formula"}, whereas \code{nested} expects an object of class \code{"FLXnested"} or a named list specifying the nested structure with a component \code{k} which is a vector of the number of components in each group of the partition and a component \code{formula} which is a vector of formulas for each group of the partition. In addition there is an argument \code{family} which has to be one of \code{gaussian}, \code{binomial}, \code{poisson} or \code{Gamma} and determines the component specific distribution function as well as an \code{offset} argument. The argument \code{varFix} can be used to determine the structure of the dispersion parameters. If only varying effects are specified the M-step driver \code{FLXMRglm()} can be used which only has an argument \code{formula} for the varying effects and also a \code{family} and an \code{offset} argument. This driver has the advantage that in the M-step the weighted ML estimation is made separately for each component which signifies that smaller model matrices are used. If a mixture model with a lot of components $S$ is fitted to a large data set with $N$ observations and the model matrix used in the M-step of \code{FLXMRglm()} has $N$ rows and $K$ columns, the model matrix used in the M-step of \code{FLXMRglmfix()} has $S N$ rows and up to $S K$ columns. In general the concomitant variable model is assumed to be a multinomial logit model, i.e.~: \begin{align*} \pi_s(\bm{w},\bm{\alpha}) &= \frac{e^{\bm{w}'\bm{\alpha}_s}}{\sum_{u = 1}^S e^{\bm{w}'\bm{\alpha}_u}} \quad \forall s, \end{align*} with $\bm{\alpha} = (\bm{\alpha}'_s)_{s=1,\ldots,S}$ and $\bm{\alpha}_1 \equiv \bm{0}$. This model can be fitted in \pkg{flexmix} with \code{FLXPmultinom()} which takes as argument \code{formula} the formula specification of the multinomial logit part. For fitting the function \code{nnet()} is used from package \pkg{MASS} \citep{flexmix:Venables+Ripley:2002} with the independent variables specified by the formula argument and the dependent variables are given by the a-posteriori probability estimates. %%------------------------------------------------------------------------- %%------------------------------------------------------------------------- \section[Using package flexmix]{Using package \pkg{flexmix}} In the following datasets from different areas such as medicine, biology and economics are used. There are three subsections: for finite mixtures of Gaussian regressions, for finite mixtures of binomial regression models and for finite mixtures of Poisson regression models. %%------------------------------------------------------------------------- \subsection{Finite mixtures of Gaussian regressions} This artificial dataset with 200 observations is given in \cite{flexmix:Gruen+Leisch:2006}. The data is generated from a mixture of Gaussian regression models with three components. There is an intercept with varying effects, an independent variable $x1$, which is a numeric variable, with fixed effects and another independent variable $x2$, which is a categorical variable with two levels, with nested effects. The prior probabilities depend on a concomitant variable $w$, which is also a categorical variable with two levels. Fixed effects are also assumed for the variance. The data is illustrated in Figure~\ref{fig:artificialData} and the true underlying model is given by: \begin{align*} H(y\,|\,(x1, x2), w, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s(w, \bm{\alpha}) \textrm{N}(y\,|\, \mu_s, \sigma^2), \end{align*} with $\bm{\beta}^s = (\beta^s_{\textrm{Intercept}}, \beta^{c(s)}_{\textrm{x1}}, \beta_{\textrm{x2}})$. The nesting signifies that $c(1) = c(2)$ and $\beta^{c(3)}_{\textrm{x1}} = 0$. The mixture model is fitted by first loading the package and the dataset and then specifying the component specific model. In a first step a component specific model with only varying effects is specified. Then the fitting function \code{flexmix()} is called repeatedly using \code{stepFlexmix()}. Finally, we order the components such that they are in ascending order with respect to the coefficients of the variable \code{x1}. <>= set.seed(2807) library("flexmix") data("NregFix", package = "flexmix") Model <- FLXMRglm(~ x2 + x1) fittedModel <- stepFlexmix(y ~ 1, model = Model, nrep = 3, k = 3, data = NregFix, concomitant = FLXPmultinom(~ w)) fittedModel <- relabel(fittedModel, "model", "x1") summary(refit(fittedModel)) @ The estimated coefficients indicate that the components differ for the intercept, but that they are not significantly different for the coefficients of $x2$. For $x1$ the coefficient of the first component is not significantly different from zero and the confidence intervals for the other two components overlap. Therefore we fit a modified model, which is equivalent to the true underlying model. The previously fitted model is used for initializing the EM algorithm: <>= Model2 <- FLXMRglmfix(fixed = ~ x2, nested = list(k = c(1, 2), formula = c(~ 0, ~ x1)), varFix = TRUE) fittedModel2 <- flexmix(y ~ 1, model = Model2, cluster = posterior(fittedModel), data = NregFix, concomitant = FLXPmultinom(~ w)) BIC(fittedModel) BIC(fittedModel2) @ The BIC suggests that the restricted model should be preferred. \begin{figure}[tb] \centering \setkeys{Gin}{width=0.95\textwidth} <>= plotNregFix <- NregFix plotNregFix$w <- factor(NregFix$w, levels = 0:1, labels = paste("w =", 0:1)) plotNregFix$x2 <- factor(NregFix$x2, levels = 0:1, labels = paste("x2 =", 0:1)) plotNregFix$class <- factor(NregFix$class, levels = 1:3, labels = paste("Class", 1:3)) print(xyplot(y ~ x1 | x2*w, groups = class, data = plotNregFix, cex = 0.6, auto.key = list(space="right"), layout = c(2,2))) @ \setkeys{Gin}{width=0.8\textwidth} \caption{Sample with 200 observations from the artificial example.} \label{fig:artificialData} \end{figure} <>= summary(refit(fittedModel2)) @ The coefficients are ordered such that the fixed coefficients are first, the nested varying coefficients second and the varying coefficients last. %%------------------------------------------------------------------------- \subsection{Finite mixtures of binomial logit regressions} %%------------------------------------------------------------------------- \subsubsection{Beta blockers} The dataset is analyzed in \cite{flexmix:Aitkin:1999, flexmix:Aitkin:1999a} using a finite mixture of binomial regression models. Furthermore, it is described in \cite{flexmix:McLachlan+Peel:2000} on page 165. The dataset is from a 22-center clinical trial of beta-blockers for reducing mortality after myocardial infarction. A two-level model is assumed to represent the data, where centers are at the upper level and patients at the lower level. The data is illustrated in Figure~\ref{fig:beta} and the model is given by: \begin{align*} H(\textrm{Deaths} \,|\, \textrm{Total}, \textrm{Treatment}, \textrm{Center}, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s \textrm{Bi}( \textrm{Deaths} \,|\, \textrm{Total}, \theta_s). \end{align*} First, the center classification is ignored and a binomial logit regression model with treatment as covariate is fitted using \code{glm}, i.e.~$S=1$: <>= data("betablocker", package = "flexmix") betaGlm <- glm(cbind(Deaths, Total - Deaths) ~ Treatment, family = "binomial", data = betablocker) betaGlm @ In the next step the center classification is included by allowing a random effect for the intercept given the centers, i.e.~the coefficients $\bm{\beta}^s$ are given by $(\beta^s_{\textrm{Intercept|Center}}, \beta_{\textrm{Treatment}})$. This signifies that the component membership is fixed for each center. In order to determine the suitable number of components, the mixture is fitted with different numbers of components and the BIC information criterion is used to select an appropriate model. In this case a model with three components is selected. The fitted values for the model with three components are given in Figure~\ref{fig:beta}. <>= betaMixFix <- stepFlexmix(cbind(Deaths, Total - Deaths) ~ 1 | Center, model = FLXMRglmfix(family = "binomial", fixed = ~ Treatment), k = 2:4, nrep = 3, data = betablocker) betaMixFix @ \begin{figure} \centering <>= library("grid") betaMixFix_3 <- getModel(betaMixFix, "3") betaMixFix_3 <- relabel(betaMixFix_3, "model", "Intercept") betablocker$Center <- with(betablocker, factor(Center, levels = Center[order((Deaths/Total)[1:22])])) clusters <- factor(clusters(betaMixFix_3), labels = paste("Cluster", 1:3)) print(dotplot(Deaths/Total ~ Center | clusters, groups = Treatment, as.table = TRUE, data = betablocker, xlab = "Center", layout = c(3, 1), scales = list(x = list(draw = FALSE)), key = simpleKey(levels(betablocker$Treatment), lines = TRUE, corner = c(1,0)))) betaMixFix.fitted <- fitted(betaMixFix_3) for (i in 1:3) { seekViewport(trellis.vpname("panel", i, 1)) grid.lines(unit(1:22, "native"), unit(betaMixFix.fitted[1:22, i], "native"), gp = gpar(lty = 1)) grid.lines(unit(1:22, "native"), unit(betaMixFix.fitted[23:44, i], "native"), gp = gpar(lty = 2)) } @ \caption{Relative number of deaths for the treatment and the control group for each center in the beta blocker dataset. The centers are sorted by the relative number of deaths in the control group. The lines indicate the fitted values for each component of the 3-component mixture model with random intercept and fixed effect for treatment.} \label{fig:beta} \end{figure} In addition the treatment effect can also be included in the random part of the model. As then all coefficients for the covariates and the intercept follow a mixture distribution the component specific model can be specified using \code{FLXMRglm()}. The coefficients are $\bm{\beta}^s=(\beta^s_{\textrm{Intercept|Center}}, \beta^s_{\textrm{Treatment|Center}})$, i.e.~it is assumed that the heterogeneity is only between centers and therefore the aggregated data for each center can be used. <>= betaMix <- stepFlexmix(cbind(Deaths, Total - Deaths) ~ Treatment | Center, model = FLXMRglm(family = "binomial"), k = 3, nrep = 3, data = betablocker) summary(betaMix) @ The full model with a random effect for treatment has a higher BIC and therefore the smaller would be preferred. The default plot of the returned \code{flexmix} object is a rootogramm of the a-posteriori probabilities where observations with a-posteriori probabilities smaller than \code{eps} are omitted. With argument \code{mark} the component is specified to have those observations marked which are assigned to this component based on the maximum a-posteriori probabilities. This indicates which components overlap. <>= print(plot(betaMixFix_3, mark = 1, col = "grey", markcol = 1)) @ The default plot of the fitted model indicates that the components are well separated. In addition component 1 has a slight overlap with component 2 but none with component 3. The fitted parameters of the component specific models can be accessed with: <>= parameters(betaMix) @ The cluster assignments using the maximum a-posteriori probabilities are obtained with: <>= table(clusters(betaMix)) @ The estimated probabilities for each component for the treated patients and those in the control group can be obtained with: <>= predict(betaMix, newdata = data.frame(Treatment = c("Control", "Treated"))) @ or <>= fitted(betaMix)[c(1, 23), ] @ A further analysis of the model is possible with function \code{refit()} which returns the estimated coefficients together with the standard deviations, z-values and corresponding p-values: <>= summary(refit(getModel(betaMixFix, "3"))) @ The printed coefficients are ordered to have the fixed effects before the varying effects. %%----------------------------------------------------------------------- \subsubsection{Mehta et al. trial} This dataset is similar to the beta blocker dataset and is also analyzed in \cite{flexmix:Aitkin:1999a}. The dataset is visualized in Figure~\ref{fig:mehta}. The observation for the control group in center 15 is slightly conspicuous and might classify as an outlier. The model is given by: \begin{align*} H(\textrm{Response} \,|\, \textrm{Total}, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s \textrm{Bi}( \textrm{Response} \,|\, \textrm{Total}, \theta_s), \end{align*} with $\bm{\beta}^s = (\beta^s_{\textrm{Intercept|Site}}, \beta_{\textrm{Drug}})$. This model is fitted with: <>= data("Mehta", package = "flexmix") mehtaMix <- stepFlexmix(cbind(Response, Total - Response)~ 1 | Site, model = FLXMRglmfix(family = "binomial", fixed = ~ Drug), control = list(minprior = 0.04), nrep = 3, k = 3, data = Mehta) summary(mehtaMix) @ One component only contains the observations for center 15 and in order to be able to fit a mixture with such a small component it is necessary to modify the default argument for \code{minprior} which is 0.05. The fitted values for this model are given separately for each component in Figure~\ref{fig:mehta}. \begin{figure} \centering <>= Mehta$Site <- with(Mehta, factor(Site, levels = Site[order((Response/Total)[1:22])])) clusters <- factor(clusters(mehtaMix), labels = paste("Cluster", 1:3)) print(dotplot(Response/Total ~ Site | clusters, groups = Drug, layout = c(3,1), data = Mehta, xlab = "Site", scales = list(x = list(draw = FALSE)), key = simpleKey(levels(Mehta$Drug), lines = TRUE, corner = c(1,0)))) mehtaMix.fitted <- fitted(mehtaMix) for (i in 1:3) { seekViewport(trellis.vpname("panel", i, 1)) sapply(1:nlevels(Mehta$Drug), function(j) grid.lines(unit(1:22, "native"), unit(mehtaMix.fitted[Mehta$Drug == levels(Mehta$Drug)[j], i], "native"), gp = gpar(lty = j))) } @ \caption{Relative number of responses for the treatment and the control group for each site in the Mehta et al.~trial dataset together with the fitted values. The sites are sorted by the relative number of responses in the control group.} \label{fig:mehta} \end{figure} If also a random effect for the coefficient of $\textrm{Drug}$ is fitted, i.e.~$\bm{\beta}^s = (\beta^s_{\textrm{Intercept|Site}}, \beta^s_{\textrm{Drug|Site}})$, this is estimated by: <>= mehtaMix <- stepFlexmix(cbind(Response, Total - Response) ~ Drug | Site, model = FLXMRglm(family = "binomial"), k = 3, data = Mehta, nrep = 3, control = list(minprior = 0.04)) summary(mehtaMix) @ The BIC is smaller for the larger model and this indicates that the assumption of an equal drug effect for all centers is not confirmed by the data. Given Figure~\ref{fig:mehta} a two-component model with fixed treatment is also fitted to the data where site 15 is omitted: <>= Mehta.sub <- subset(Mehta, Site != 15) mehtaMix <- stepFlexmix(cbind(Response, Total - Response) ~ 1 | Site, model = FLXMRglmfix(family = "binomial", fixed = ~ Drug), data = Mehta.sub, k = 2, nrep = 3) summary(mehtaMix) @ %%----------------------------------------------------------------------- \subsubsection{Tribolium} A finite mixture of binomial regressions is fitted to the Tribolium dataset given in \cite{flexmix:Wang+Puterman:1998}. The data was collected to investigate whether the adult Tribolium species Castaneum has developed an evolutionary advantage to recognize and avoid eggs of its own species while foraging, as beetles of the genus Tribolium are cannibalistic in the sense that adults eat the eggs of their own species as well as those of closely related species. The experiment isolated a number of adult beetles of the same species and presented them with a vial of 150 eggs (50 of each type), the eggs being thoroughly mixed to ensure uniformity throughout the vial. The data gives the consumption data for adult Castaneum species. It reports the number of Castaneum, Confusum and Madens eggs, respectively, that remain uneaten after two day exposure to the adult beetles. Replicates 1, 2, and 3 correspond to different occasions on which the experiment was conducted. The data is visualized in Figure~\ref{fig:tribolium} and the model is given by: \begin{align*} H(\textrm{Remaining} \,|\, \textrm{Total}, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s(\textrm{Replicate}, \bm{\alpha}) \textrm{Bi}( \textrm{Remaining} \,|\, \textrm{Total}, \theta_s), \end{align*} with $\bm{\beta}^s = (\beta^s_{\textrm{Intercept}}, \bm{\beta}_{\textrm{Species}})$. This model is fitted with: <>= data("tribolium", package = "flexmix") TribMix <- stepFlexmix(cbind(Remaining, Total - Remaining) ~ 1, k = 2:3, model = FLXMRglmfix(fixed = ~ Species, family = "binomial"), concomitant = FLXPmultinom(~ Replicate), data = tribolium) @ The model which is selected as the best in \cite{flexmix:Wang+Puterman:1998} can be estimated with: <>= modelWang <- FLXMRglmfix(fixed = ~ I(Species == "Confusum"), family = "binomial") concomitantWang <- FLXPmultinom(~ I(Replicate == 3)) TribMixWang <- stepFlexmix(cbind(Remaining, Total - Remaining) ~ 1, data = tribolium, model = modelWang, concomitant = concomitantWang, k = 2) summary(refit(TribMixWang)) @ \begin{figure} \centering <>= clusters <- factor(clusters(TribMixWang), labels = paste("Cluster", 1:TribMixWang@k)) print(dotplot(Remaining/Total ~ factor(Replicate) | clusters, groups = Species, data = tribolium[rep(1:9, each = 3) + c(0:2)*9,], xlab = "Replicate", auto.key = list(corner = c(1,0)))) @ \caption{Relative number of remaining beetles for the number of replicate. The different panels are according to the cluster assignemnts based on the a-posteriori probabilities of the model suggested in \cite{flexmix:Wang+Puterman:1998}.} \label{fig:tribolium} \end{figure} \cite{flexmix:Wang+Puterman:1998} also considered a model where they omit one conspicuous observation. This model can be estimated with: <>= TribMixWangSub <- stepFlexmix(cbind(Remaining, Total - Remaining) ~ 1, k = 2, data = tribolium[-7,], model = modelWang, concomitant = concomitantWang) @ %%----------------------------------------------------------------------- \subsubsection{Trypanosome} The data is used in \cite{flexmix:Follmann+Lambert:1989}. It is from a dosage-response analysis where the proportion of organisms belonging to different populations shall be assessed. It is assumed that organisms belonging to different populations are indistinguishable other than in terms of their reaction to the stimulus. The experimental technique involved inspection under the microscope of a representative aliquot of a suspension, all organisms appearing within two fields of view being classified either alive or dead. Hence the total numbers of organisms present at each dose and the number showing the quantal response were both random variables. The data is illustrated in Figure~\ref{fig:trypanosome}. The model which is proposed in \cite{flexmix:Follmann+Lambert:1989} is given by: \begin{align*} H(\textrm{Dead} \,|\,\bm{\Theta}) &= \sum_{s = 1}^S \pi_s \textrm{Bi}( \textrm{Dead} \,|\, \theta_s), \end{align*} where $\textrm{Dead} \in \{0,1\}$ and with $\bm{\beta}^s = (\beta^s_{\textrm{Intercept}}, \bm{\beta}_{\textrm{log(Dose)}})$. This model is fitted with: <>= data("trypanosome", package = "flexmix") TrypMix <- stepFlexmix(cbind(Dead, 1-Dead) ~ 1, k = 2, nrep = 3, data = trypanosome, model = FLXMRglmfix(family = "binomial", fixed = ~ log(Dose))) summary(refit(TrypMix)) @ The fitted values are given in Figure~\ref{fig:trypanosome} together with the fitted values of a generalized linear model in order to facilitate comparison of the two models. \begin{figure} \centering <>= tab <- with(trypanosome, table(Dead, Dose)) Tryp.dat <- data.frame(Dead = tab["1",], Alive = tab["0",], Dose = as.numeric(colnames(tab))) plot(Dead/(Dead+Alive) ~ Dose, data = Tryp.dat) Tryp.pred <- predict(glm(cbind(Dead, 1-Dead) ~ log(Dose), family = "binomial", data = trypanosome), newdata=Tryp.dat, type = "response") TrypMix.pred <- predict(TrypMix, newdata = Tryp.dat, aggregate = TRUE)[[1]] lines(Tryp.dat$Dose, Tryp.pred, lty = 2) lines(Tryp.dat$Dose, TrypMix.pred, lty = 3) legend(4.7, 1, c("GLM", "Mixture model"), lty=c(2, 3), xjust=0, yjust=1) @ \caption{Relative number of deaths for each dose level together with the fitted values for the generalized linear model (``GLM'') and the random intercept model (``Mixture model'').} \label{fig:trypanosome} \end{figure} %%------------------------------------------------------------------------- \subsection{Finite mixtures of Poisson regressions} % %%----------------------------------------------------------------------- \subsubsection{Fabric faults} The dataset is analyzed using a finite mixture of Poisson regression models in \cite{flexmix:Aitkin:1996}. Furthermore, it is described in \cite{flexmix:McLachlan+Peel:2000} on page 155. It contains 32 observations on the number of faults in rolls of a textile fabric. A random intercept model is used where a fixed effect is assumed for the logarithm of length: <>= data("fabricfault", package = "flexmix") fabricMix <- stepFlexmix(Faults ~ 1, model = FLXMRglmfix(family="poisson", fixed = ~ log(Length)), data = fabricfault, k = 2, nrep = 3) summary(fabricMix) summary(refit(fabricMix)) Lnew <- seq(0, 1000, by = 50) fabricMix.pred <- predict(fabricMix, newdata = data.frame(Length = Lnew)) @ The intercept of the first component is not significantly different from zero for a signficance level of 0.05. We therefore also fit a modified model where the intercept is a-priori set to zero for the first component. This nested structure is given as part of the model specification with argument \code{nested}. <>= fabricMix2 <- flexmix(Faults ~ 0, data = fabricfault, cluster = posterior(fabricMix), model = FLXMRglmfix(family = "poisson", fixed = ~ log(Length), nested = list(k=c(1,1), formula=list(~0,~1)))) summary(refit(fabricMix2)) fabricMix2.pred <- predict(fabricMix2, newdata = data.frame(Length = Lnew)) @ The data and the fitted values for each of the components for both models are given in Figure~\ref{fig:fabric}. \begin{figure} \centering <>= plot(Faults ~ Length, data = fabricfault) sapply(fabricMix.pred, function(y) lines(Lnew, y, lty = 1)) sapply(fabricMix2.pred, function(y) lines(Lnew, y, lty = 2)) legend(190, 25, paste("Model", 1:2), lty=c(1, 2), xjust=0, yjust=1) @ \caption{Observed values of the fabric faults dataset together with the fitted values for the components of each of the two fitted models.} \label{fig:fabric} \end{figure} %%----------------------------------------------------------------------- \subsubsection{Patent} The patent data given in \cite{flexmix:Wang+Cockburn+Puterman:1998} consist of 70 observations on patent applications, R\&D spending and sales in millions of dollar from pharmaceutical and biomedical companies in 1976 taken from the National Bureau of Economic Research R\&D Masterfile. The observations are displayed in Figure~\ref{fig:patent}. The model which is chosen as the best in \cite{flexmix:Wang+Cockburn+Puterman:1998} is given by: \begin{align*} H(\textrm{Patents} \,|\, \textrm{lgRD}, \textrm{RDS}, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s(\textrm{RDS}, \bm{\alpha}) \textrm{Poi} ( \textrm{Patents} \,|\, \lambda_s), \end{align*} and $\bm{\beta}^s = (\beta^s_{\textrm{Intercept}}, \beta^s_{\textrm{lgRD}})$. The model is fitted with: <>= data("patent", package = "flexmix") ModelPat <- FLXMRglm(family = "poisson") FittedPat <- stepFlexmix(Patents ~ lgRD, k = 3, nrep = 3, model = ModelPat, data = patent, concomitant = FLXPmultinom(~ RDS)) summary(FittedPat) @ The fitted values for the component specific models and the concomitant variable model are given in Figure~\ref{fig:patent}. The plotting symbol of the observations corresponds to the induced clustering given by \code{clusters(FittedPat)}. This model is modified to have fixed effects for the logarithmized R\&D spendings, i.e.~$\bm(\beta)^s = (\beta^s_{\textrm{Intercept}}, \beta_{\textrm{lgRD}})$. The already fitted model is used for initialization, i.e.~the EM algorithm is started with an M-step given the a-posteriori probabilities. <>= ModelFixed <- FLXMRglmfix(family = "poisson", fixed = ~ lgRD) FittedPatFixed <- flexmix(Patents ~ 1, model = ModelFixed, cluster = posterior(FittedPat), concomitant = FLXPmultinom(~ RDS), data = patent) summary(FittedPatFixed) @ The fitted values for the component specific models and the concomitant variable model of this model are also given in Figure~\ref{fig:patent}. \begin{figure} \centering \setkeys{Gin}{width=0.95\textwidth} <>= lgRDv <- seq(-3, 5, by = 0.05) newdata <- data.frame(lgRD = lgRDv) plotData <- function(fitted) { with(patent, data.frame(Patents = c(Patents, unlist(predict(fitted, newdata = newdata))), lgRD = c(lgRD, rep(lgRDv, 3)), class = c(clusters(fitted), rep(1:3, each = nrow(newdata))), type = rep(c("data", "fit"), c(nrow(patent), nrow(newdata)*3)))) } plotPatents <- cbind(plotData(FittedPat), which = "Wang et al.") plotPatentsFixed <- cbind(plotData(FittedPatFixed), which = "Fixed effects") plotP <- rbind(plotPatents, plotPatentsFixed) rds <- seq(0, 3, by = 0.02) x <- model.matrix(FittedPat@concomitant@formula, data = data.frame(RDS = rds)) plotConc <- function(fitted) { E <- exp(x%*%fitted@concomitant@coef) data.frame(Probability = as.vector(E/rowSums(E)), class = rep(1:3, each = nrow(x)), RDS = rep(rds, 3)) } plotConc1 <- cbind(plotConc(FittedPat), which = "Wang et al.") plotConc2 <- cbind(plotConc(FittedPatFixed), which = "Fixed effects") plotC <- rbind(plotConc1, plotConc2) print(xyplot(Patents ~ lgRD | which, data = plotP, groups=class, xlab = "log(R&D)", panel = "panel.superpose", type = plotP$type, panel.groups = function(x, y, type = "p", subscripts, ...) { ind <- plotP$type[subscripts] == "data" panel.xyplot(x[ind], y[ind], ...) panel.xyplot(x[!ind], y[!ind], type = "l", ...) }, scales = list(alternating=FALSE), layout=c(1,2), as.table=TRUE), more=TRUE, position=c(0,0,0.6, 1)) print(xyplot(Probability ~ RDS | which, groups = class, data = plotC, type = "l", scales = list(alternating=FALSE), layout=c(1,2), as.table=TRUE), position=c(0.6, 0.01, 1, 0.99)) @ \caption{Patent data with the fitted values of the component specific models (left) and the concomitant variable model (right) for the model in \citeauthor{flexmix:Wang+Cockburn+Puterman:1998} and with fixed effects for $\log(\textrm{R\&D})$. The plotting symbol for each observation is determined by the component with the maximum a-posteriori probability.} \label{fig:patent} \end{figure} \setkeys{Gin}{width=0.8\textwidth} With respect to the BIC the full model is better than the model with the fixed effects. However, fixed effects have the advantage that the different components differ only in their baseline and the relation between the components in return of investment for each additional unit of R\&D spending is constant. Due to a-priori domain knowledge this model might seem more plausible. The fitted values for the constrained model are also given in Figure~\ref{fig:patent}. %%----------------------------------------------------------------------- \subsubsection{Seizure} The data is used in \cite{flexmix:Wang+Puterman+Cockburn:1996} and is from a clinical trial where the effect of intravenous gamma-globulin on suppression of epileptic seizures is studied. There are daily observations for a period of 140 days on one patient, where the first 27 days are a baseline period without treatment, the remaining 113 days are the treatment period. The model proposed in \cite{flexmix:Wang+Puterman+Cockburn:1996} is given by: \begin{align*} H(\textrm{Seizures} \,|\, (\textrm{Treatment}, \textrm{log(Day)}, \textrm{log(Hours)}), \bm{\Theta}) &= \sum_{s = 1}^S \pi_s \textrm{Poi} ( \textrm{Seizures} \,|\, \lambda_s), \end{align*} where $\bm(\beta)^s = (\beta^s_{\textrm{Intercept}}, \beta^s_{\textrm{Treatment}}, \beta^s_{\textrm{log(Day)}}, \beta^s_{\textrm{Treatment:log(Day)}})$ and $\textrm{log(Hours)}$ is used as offset. This model is fitted with: <>= data("seizure", package = "flexmix") seizMix <- stepFlexmix(Seizures ~ Treatment * log(Day), data = seizure, k = 2, nrep = 3, model = FLXMRglm(family = "poisson", offset = log(seizure$Hours))) summary(seizMix) summary(refit(seizMix)) @ A different model with different contrasts to directly estimate the coefficients for the jump when changing between base and treatment period is given by: <>= seizMix2 <- flexmix(Seizures ~ Treatment * log(Day/27), data = seizure, cluster = posterior(seizMix), model = FLXMRglm(family = "poisson", offset = log(seizure$Hours))) summary(seizMix2) summary(refit(seizMix2)) @ A different model which allows no jump at the change between base and treatment period is fitted with: <>= seizMix3 <- flexmix(Seizures ~ log(Day/27)/Treatment, data = seizure, cluster = posterior(seizMix), model = FLXMRglm(family = "poisson", offset = log(seizure$Hours))) summary(seizMix3) summary(refit(seizMix3)) @ With respect to the BIC criterion the smaller model with no jump is preferred. This is also the more intuitive model from a practitioner's point of view, as it does not seem to be plausible that starting the treatment already gives a significant improvement, but improvement develops over time. The data points together with the fitted values for each component of the two models are given in Figure~\ref{fig:seizure}. It can clearly be seen that the fitted values are nearly equal which also supports the smaller model. \begin{figure} \centering <>= plot(Seizures/Hours~Day, pch = c(1,3)[as.integer(Treatment)], data=seizure) abline(v=27.5, lty=2, col="grey") legend(140, 9, c("Baseline", "Treatment"), pch=c(1, 3), xjust=1, yjust=1) matplot(seizure$Day, fitted(seizMix)/seizure$Hours, type="l", add=TRUE, lty = 1, col = 1) matplot(seizure$Day, fitted(seizMix3)/seizure$Hours, type="l", add=TRUE, lty = 3, col = 1) legend(140, 7, paste("Model", c(1,3)), lty=c(1, 3), xjust=1, yjust=1) @ \caption{Observed values for the seizure dataset together with the fitted values for the components of the two different models.} \label{fig:seizure} \end{figure} %%----------------------------------------------------------------------- \subsubsection{Ames salmonella assay data} The ames salomnella assay dataset was used in \cite{flexmix:Wang+Puterman+Cockburn:1996}. They propose a model given by: \begin{align*} H(\textrm{y} \,|\, \textrm{x}, \bm{\Theta}) &= \sum_{s = 1}^S \pi_s \textrm{Poi} ( \textrm{y} \,|\, \lambda_s), \end{align*} where $\bm{\beta}^s = (\beta^s_{\textrm{Intercept}}, \beta_{\textrm{x}}, \beta_{\textrm{log(x+10)}})$. The model is fitted with: <>= data("salmonellaTA98", package = "flexmix") salmonMix <- stepFlexmix(y ~ 1, data = salmonellaTA98, k = 2, nrep = 3, model = FLXMRglmfix(family = "poisson", fixed = ~ x + log(x + 10))) @ \begin{figure} \centering <>= salmonMix.pr <- predict(salmonMix, newdata=salmonellaTA98) plot(y~x, data=salmonellaTA98, pch=as.character(clusters(salmonMix)), xlab="Dose of quinoline", ylab="Number of revertant colonies of salmonella", ylim=range(c(salmonellaTA98$y, unlist(salmonMix.pr)))) for (i in 1:2) lines(salmonellaTA98$x, salmonMix.pr[[i]], lty=i) @ \caption{Means and classification for assay data according to the estimated posterior probabilities based on the fitted model.} \label{fig:almes} \end{figure} %%----------------------------------------------------------------------- \section{Conclusions and future work} Package \pkg{flexmix} can be used to fit finite mixtures of regressions to datasets used in the literature to illustrate these models. The results can be reproduced and additional insights can be gained using visualization methods available in \proglang{R}. The fitted model is an object in \proglang{R} which can be explored using \code{show()}, \code{summary()} or \code{plot()}, as suitable methods have been implemented for objects of class \code{"flexmix"} which are returned by \code{flexmix()}. In the future it would be desirable to have more diagnostic tools available to analyze the model fit and compare different models. The use of resampling methods would be convenient as they can be applied to all kinds of mixtures models and would therefore suit well the purpose of the package which is flexible modelling of various finite mixture models. Furthermore, an additional visualization method for the fitted coefficients of the mixture would facilitate the comparison of the components. %%----------------------------------------------------------------------- \section*{Computational details} <>= SI <- sessionInfo() pkgs <- paste(sapply(c(SI$otherPkgs, SI$loadedOnly), function(x) paste("\\\\pkg{", x$Package, "} ", x$Version, sep = "")), collapse = ", ") @ All computations and graphics in this paper have been done using \proglang{R} version \Sexpr{getRversion()} with the packages \Sexpr{pkgs}. %%----------------------------------------------------------------------- \section*{Acknowledgments} This research was supported by the the Austrian Science Foundation (FWF) under grant P17382 and the Austrian Academy of Sciences ({\"O}AW) through a DOC-FFORTE scholarship for Bettina Gr{\"u}n. %%----------------------------------------------------------------------- \bibliography{flexmix} \end{document} flexmix/inst/doc/flexmix-intro.R0000644000176200001440000001333414757625321016420 0ustar liggesusers### R code from vignette source 'flexmix-intro.Rnw' ################################################### ### code chunk number 1: flexmix-intro.Rnw:30-37 ################################################### suppressWarnings(RNGversion("3.5.0")) set.seed(1504) options(width=70, prompt = "R> ", continue = "+ ", useFancyQuotes = FALSE) grDevices::ps.options(family="Times") library("graphics") library("flexmix") data("NPreg") ################################################### ### code chunk number 2: flexmix-intro.Rnw:323-327 ################################################### library("flexmix") data("NPreg") m1 <- flexmix(yn ~ x + I(x^2), data = NPreg, k = 2) m1 ################################################### ### code chunk number 3: flexmix-intro.Rnw:330-331 ################################################### parameters(m1, component = 1) ################################################### ### code chunk number 4: flexmix-intro.Rnw:334-335 ################################################### parameters(m1, component = 2) ################################################### ### code chunk number 5: flexmix-intro.Rnw:340-341 ################################################### table(NPreg$class, clusters(m1)) ################################################### ### code chunk number 6: flexmix-intro.Rnw:344-345 ################################################### summary(m1) ################################################### ### code chunk number 7: flexmix-intro.Rnw:361-364 ################################################### par(mfrow=c(1,2)) plot(yn~x, col=class, pch=class, data=NPreg) plot(yp~x, col=class, pch=class, data=NPreg) ################################################### ### code chunk number 8: flexmix-intro.Rnw:382-383 ################################################### print(plot(m1)) ################################################### ### code chunk number 9: flexmix-intro.Rnw:403-405 ################################################### rm1 <- refit(m1) summary(rm1) ################################################### ### code chunk number 10: flexmix-intro.Rnw:426-427 ################################################### options(width=55) ################################################### ### code chunk number 11: flexmix-intro.Rnw:429-432 ################################################### m2 <- flexmix(yp ~ x, data = NPreg, k = 2, model = FLXMRglm(family = "poisson")) summary(m2) ################################################### ### code chunk number 12: flexmix-intro.Rnw:434-435 ################################################### options(width=65) ################################################### ### code chunk number 13: flexmix-intro.Rnw:439-440 ################################################### print(plot(m2)) ################################################### ### code chunk number 14: flexmix-intro.Rnw:483-486 ################################################### m3 <- flexmix(~ x, data = NPreg, k = 2, model=list(FLXMRglm(yn ~ . + I(x^2)), FLXMRglm(yp ~ ., family = "poisson"))) ################################################### ### code chunk number 15: flexmix-intro.Rnw:501-502 ################################################### print(plot(m3)) ################################################### ### code chunk number 16: flexmix-intro.Rnw:531-533 ################################################### m4 <- flexmix(yn ~ x + I(x^2) | id2, data = NPreg, k = 2) summary(m4) ################################################### ### code chunk number 17: flexmix-intro.Rnw:549-551 ################################################### m5 <- flexmix(yn ~ x + I(x^2), data = NPreg, k = 2, control = list(iter.max = 15, verbose = 3, classify = "hard")) ################################################### ### code chunk number 18: flexmix-intro.Rnw:568-572 ################################################### m6 <- flexmix(yp ~ x + I(x^2), data = NPreg, k = 4, control = list(minprior = 0.2)) m6 ################################################### ### code chunk number 19: flexmix-intro.Rnw:582-585 ################################################### m7 <- stepFlexmix(yp ~ x + I(x^2), data = NPreg, control = list(verbose = 0), k = 1:5, nrep = 5) ################################################### ### code chunk number 20: flexmix-intro.Rnw:591-592 ################################################### getModel(m7, "BIC") ################################################### ### code chunk number 21: flexmix-intro.Rnw:727-734 ################################################### library("flexmix") set.seed(1504) options(width=60) grDevices::ps.options(family="Times") suppressMessages(require("ellipse")) suppressMessages(require("mvtnorm")) source("mymclust.R") ################################################### ### code chunk number 22: flexmix-intro.Rnw:740-743 ################################################### data("Nclus") m1 <- flexmix(Nclus ~ 1, k = 4, model = mymclust()) summary(m1) ################################################### ### code chunk number 23: flexmix-intro.Rnw:754-756 ################################################### m2 <- flexmix(Nclus ~ 1, k = 4, model = mymclust(diagonal = FALSE)) summary(m2) ################################################### ### code chunk number 24: flexmix-intro.Rnw:761-764 ################################################### par(mfrow=1:2) plotEll(m1, Nclus) plotEll(m2, Nclus) ################################################### ### code chunk number 25: flexmix-intro.Rnw:803-807 ################################################### SI <- sessionInfo() pkgs <- paste(sapply(c(SI$otherPkgs, SI$loadedOnly), function(x) paste("\\\\pkg{", x$Package, "} ", x$Version, sep = "")), collapse = ", ") flexmix/inst/doc/mixture-regressions.R0000644000176200001440000003131214757625350017647 0ustar liggesusers### R code from vignette source 'mixture-regressions.Rnw' ################################################### ### code chunk number 1: mixture-regressions.Rnw:62-72 ################################################### options(width=60, prompt = "R> ", continue = "+ ", useFancyQuotes = FALSE) library("graphics") library("stats") library("flexmix") library("lattice") ltheme <- canonical.theme("postscript", FALSE) lattice.options(default.theme=ltheme) data("NPreg", package = "flexmix") data("dmft", package = "flexmix") source("myConcomitant.R") ################################################### ### code chunk number 2: mixture-regressions.Rnw:499-502 ################################################### par(mfrow=c(1,2)) plot(yn~x, col=class, pch=class, data=NPreg) plot(yp~x, col=class, pch=class, data=NPreg) ################################################### ### code chunk number 3: mixture-regressions.Rnw:509-517 ################################################### suppressWarnings(RNGversion("3.5.0")) set.seed(1802) library("flexmix") data("NPreg", package = "flexmix") Model_n <- FLXMRglm(yn ~ . + I(x^2)) Model_p <- FLXMRglm(yp ~ ., family = "poisson") m1 <- flexmix(. ~ x, data = NPreg, k = 2, model = list(Model_n, Model_p), control = list(verbose = 10)) ################################################### ### code chunk number 4: mixture-regressions.Rnw:558-559 ################################################### print(plot(m1)) ################################################### ### code chunk number 5: mixture-regressions.Rnw:598-600 ################################################### m1.refit <- refit(m1) summary(m1.refit, which = "model", model = 1) ################################################### ### code chunk number 6: mixture-regressions.Rnw:605-612 ################################################### print(plot(m1.refit, layout = c(1,3), bycluster = FALSE, main = expression(paste(yn *tilde(" ")* x + x^2))), split= c(1,1,2,1), more = TRUE) print(plot(m1.refit, model = 2, main = expression(paste(yp *tilde(" ")* x)), layout = c(1,2), bycluster = FALSE), split = c(2,1,2,1)) ################################################### ### code chunk number 7: mixture-regressions.Rnw:643-648 ################################################### Model_n2 <- FLXMRglmfix(yn ~ . + 0, nested = list(k = c(1, 1), formula = c(~ 1 + I(x^2), ~ 0))) m2 <- flexmix(. ~ x, data = NPreg, cluster = posterior(m1), model = list(Model_n2, Model_p)) m2 ################################################### ### code chunk number 8: mixture-regressions.Rnw:653-654 ################################################### c(BIC(m1), BIC(m2)) ################################################### ### code chunk number 9: mixture-regressions.Rnw:672-676 ################################################### data("betablocker", package = "flexmix") betaGlm <- glm(cbind(Deaths, Total - Deaths) ~ Treatment, family = "binomial", data = betablocker) betaGlm ################################################### ### code chunk number 10: mixture-regressions.Rnw:693-696 ################################################### betaMixFix <- stepFlexmix(cbind(Deaths, Total - Deaths) ~ 1 | Center, model = FLXMRglmfix(family = "binomial", fixed = ~ Treatment), k = 2:4, nrep = 5, data = betablocker) ################################################### ### code chunk number 11: mixture-regressions.Rnw:705-706 ################################################### betaMixFix ################################################### ### code chunk number 12: mixture-regressions.Rnw:713-715 ################################################### betaMixFix_3 <- getModel(betaMixFix, which = "BIC") betaMixFix_3 <- relabel(betaMixFix_3, "model", "Intercept") ################################################### ### code chunk number 13: mixture-regressions.Rnw:728-729 ################################################### parameters(betaMixFix_3) ################################################### ### code chunk number 14: mixture-regressions.Rnw:737-750 ################################################### library("grid") betablocker$Center <- with(betablocker, factor(Center, levels = Center[order((Deaths/Total)[1:22])])) clusters <- factor(clusters(betaMixFix_3), labels = paste("Cluster", 1:3)) print(dotplot(Deaths/Total ~ Center | clusters, groups = Treatment, as.table = TRUE, data = betablocker, xlab = "Center", layout = c(3, 1), scales = list(x = list(cex = 0.7, tck = c(1, 0))), key = simpleKey(levels(betablocker$Treatment), lines = TRUE, corner = c(1,0)))) betaMixFix.fitted <- fitted(betaMixFix_3) for (i in 1:3) { seekViewport(trellis.vpname("panel", i, 1)) grid.lines(unit(1:22, "native"), unit(betaMixFix.fitted[1:22, i], "native"), gp = gpar(lty = 1)) grid.lines(unit(1:22, "native"), unit(betaMixFix.fitted[23:44, i], "native"), gp = gpar(lty = 2)) } ################################################### ### code chunk number 15: mixture-regressions.Rnw:769-775 ################################################### betaMix <- stepFlexmix(cbind(Deaths, Total - Deaths) ~ Treatment | Center, model = FLXMRglm(family = "binomial"), k = 3, nrep = 5, data = betablocker) betaMix <- relabel(betaMix, "model", "Treatment") parameters(betaMix) c(BIC(betaMixFix_3), BIC(betaMix)) ################################################### ### code chunk number 16: mixture-regressions.Rnw:795-796 ################################################### print(plot(betaMixFix_3, nint = 10, mark = 1, col = "grey", layout = c(3, 1))) ################################################### ### code chunk number 17: mixture-regressions.Rnw:805-806 ################################################### print(plot(betaMixFix_3, nint = 10, mark = 2, col = "grey", layout = c(3, 1))) ################################################### ### code chunk number 18: mixture-regressions.Rnw:820-821 ################################################### table(clusters(betaMix)) ################################################### ### code chunk number 19: mixture-regressions.Rnw:826-828 ################################################### predict(betaMix, newdata = data.frame(Treatment = c("Control", "Treated"))) ################################################### ### code chunk number 20: mixture-regressions.Rnw:834-836 ################################################### betablocker[c(1, 23), ] fitted(betaMix)[c(1, 23), ] ################################################### ### code chunk number 21: mixture-regressions.Rnw:846-847 ################################################### summary(refit(betaMix)) ################################################### ### code chunk number 22: mixture-regressions.Rnw:858-865 ################################################### ModelNested <- FLXMRglmfix(family = "binomial", nested = list(k = c(2, 1), formula = c(~ Treatment, ~ 0))) betaMixNested <- flexmix(cbind(Deaths, Total - Deaths) ~ 1 | Center, model = ModelNested, k = 3, data = betablocker, cluster = posterior(betaMix)) parameters(betaMixNested) c(BIC(betaMix), BIC(betaMixNested), BIC(betaMixFix_3)) ################################################### ### code chunk number 23: mixture-regressions.Rnw:876-877 ################################################### data("bioChemists", package = "flexmix") ################################################### ### code chunk number 24: mixture-regressions.Rnw:908-912 ################################################### data("bioChemists", package = "flexmix") Model1 <- FLXMRglm(family = "poisson") ff_1 <- stepFlexmix(art ~ ., data = bioChemists, k = 1:3, model = Model1) ff_1 <- getModel(ff_1, "BIC") ################################################### ### code chunk number 25: mixture-regressions.Rnw:929-931 ################################################### print(plot(refit(ff_1), bycluster = FALSE, scales = list(x = list(relation = "free")))) ################################################### ### code chunk number 26: mixture-regressions.Rnw:938-942 ################################################### Model2 <- FLXMRglmfix(family = "poisson", fixed = ~ kid5 + mar + ment) ff_2 <- flexmix(art ~ fem + phd, data = bioChemists, cluster = posterior(ff_1), model = Model2) c(BIC(ff_1), BIC(ff_2)) ################################################### ### code chunk number 27: mixture-regressions.Rnw:950-951 ################################################### summary(refit(ff_2)) ################################################### ### code chunk number 28: mixture-regressions.Rnw:958-962 ################################################### Model3 <- FLXMRglmfix(family = "poisson", fixed = ~ kid5 + mar + ment) ff_3 <- flexmix(art ~ fem, data = bioChemists, cluster = posterior(ff_2), model = Model3) c(BIC(ff_2), BIC(ff_3)) ################################################### ### code chunk number 29: mixture-regressions.Rnw:970-971 ################################################### print(plot(refit(ff_3), bycluster = FALSE, scales = list(x = list(relation = "free")))) ################################################### ### code chunk number 30: mixture-regressions.Rnw:981-987 ################################################### Model4 <- FLXMRglmfix(family = "poisson", fixed = ~ kid5 + mar + ment) ff_4 <- flexmix(art ~ 1, data = bioChemists, cluster = posterior(ff_2), concomitant = FLXPmultinom(~ fem), model = Model4) parameters(ff_4) summary(refit(ff_4), which = "concomitant") BIC(ff_4) ################################################### ### code chunk number 31: mixture-regressions.Rnw:996-1000 ################################################### Model5 <- FLXMRglmfix(family = "poisson", fixed = ~ kid5 + ment + fem) ff_5 <- flexmix(art ~ 1, data = bioChemists, cluster = posterior(ff_2), model = Model5) BIC(ff_5) ################################################### ### code chunk number 32: mixture-regressions.Rnw:1006-1013 ################################################### pp <- predict(ff_5, newdata = data.frame(kid5 = 0, mar = factor("Married", levels = c("Single", "Married")), fem = c("Men", "Women"), ment = mean(bioChemists$ment))) matplot(0:12, sapply(unlist(pp), function(x) dpois(0:12, x)), type = "b", lty = 1, xlab = "Number of articles", ylab = "Probability") legend("topright", paste("Comp.", rep(1:2, each = 2), ":", c("Men", "Women")), lty = 1, col = 1:4, pch = paste(1:4), bty = "n") ################################################### ### code chunk number 33: mixture-regressions.Rnw:1362-1367 ################################################### data("dmft", package = "flexmix") Model <- FLXMRziglm(family = "poisson") Fitted <- flexmix(End ~ log(Begin + 0.5) + Gender + Ethnic + Treatment, model = Model, k = 2 , data = dmft, control = list(minprior = 0.01)) summary(refit(Fitted)) ################################################### ### code chunk number 34: refit (eval = FALSE) ################################################### ## print(plot(refit(Fitted), components = 2, box.ratio = 3)) ################################################### ### code chunk number 35: mixture-regressions.Rnw:1396-1397 ################################################### print(plot(refit(Fitted), components = 2, box.ratio = 3)) ################################################### ### code chunk number 36: mixture-regressions.Rnw:1442-1449 ################################################### Concomitant <- FLXPmultinom(~ yb) MyConcomitant <- myConcomitant(~ yb) set.seed(1234) m2 <- flexmix(. ~ x, data = NPreg, k = 2, model = list(Model_n, Model_p), concomitant = Concomitant) m3 <- flexmix(. ~ x, data = NPreg, k = 2, model = list(Model_n, Model_p), cluster = posterior(m2), concomitant = MyConcomitant) ################################################### ### code chunk number 37: mixture-regressions.Rnw:1451-1453 ################################################### summary(m2) summary(m3) ################################################### ### code chunk number 38: mixture-regressions.Rnw:1458-1462 ################################################### determinePrior <- function(object) { object@concomitant@fit(object@concomitant@x, posterior(object))[!duplicated(object@concomitant@x), ] } ################################################### ### code chunk number 39: mixture-regressions.Rnw:1465-1467 ################################################### determinePrior(m2) determinePrior(m3) ################################################### ### code chunk number 40: mixture-regressions.Rnw:1509-1513 ################################################### SI <- sessionInfo() pkgs <- paste(sapply(c(SI$otherPkgs, SI$loadedOnly), function(x) paste("\\\\pkg{", x$Package, "} ", x$Version, sep = "")), collapse = ", ") flexmix/inst/doc/bootstrapping.R0000644000176200001440000001652714757625302016514 0ustar liggesusers### R code from vignette source 'bootstrapping.Rnw' ################################################### ### code chunk number 1: bootstrapping.Rnw:11-34 ################################################### options(useFancyQuotes = FALSE) digits <- 3 Colors <- c("#E495A5", "#39BEB1") critical_values <- function(n, p = "0.95") { data("qDiptab", package = "diptest") if (n %in% rownames(qDiptab)) { return(qDiptab[as.character(n), p]) }else { n.approx <- as.numeric(rownames(qDiptab)[which.min(abs(n - as.numeric(rownames(qDiptab))))]) return(sqrt(n.approx)/sqrt(n) * qDiptab[as.character(n.approx), p]) } } library("graphics") library("flexmix") combine <- function(x, sep, width) { cs <- cumsum(nchar(x)) remaining <- if (any(cs[-1] > width)) combine(x[c(FALSE, cs[-1] > width)], sep, width) c(paste(x[c(TRUE, cs[-1] <= width)], collapse= sep), remaining) } prettyPrint <- function(x, sep = " ", linebreak = "\n\t", width = getOption("width")) { x <- strsplit(x, sep)[[1]] paste(combine(x, sep, width), collapse = paste(sep, linebreak, collapse = "")) } ################################################### ### code chunk number 2: bootstrapping.Rnw:94-99 ################################################### cat(prettyPrint(gsub("boot_flexmix", "boot", prompt(flexmix:::boot_flexmix, filename = NA)$usage[[2]]), sep = ", ", linebreak = paste("\n", paste(rep(" ", 2), collapse = ""), sep= ""), width = 70)) ################################################### ### code chunk number 3: bootstrapping.Rnw:194-199 ################################################### library("flexmix") Component_1 <- list(Model_1 = list(coef = c(1, -2), sigma = sqrt(0.1))) Component_2 <- list(Model_1 = list(coef = c(2, 2), sigma = sqrt(0.1))) ArtEx.mix <- FLXdist(y ~ x, k = rep(0.5, 2), components = list(Component_1, Component_2)) ################################################### ### code chunk number 4: bootstrapping.Rnw:210-216 ################################################### ArtEx.data <- data.frame(x = rep(0:1, each = 100/2)) suppressWarnings(RNGversion("3.5.0")) set.seed(123) ArtEx.sim <- rflexmix(ArtEx.mix, newdata = ArtEx.data) ArtEx.data$y <- ArtEx.sim$y[[1]] ArtEx.data$class <- ArtEx.sim$class ################################################### ### code chunk number 5: bootstrapping.Rnw:225-230 ################################################### par(mar = c(5, 4, 2, 0) + 0.1) plot(y ~ x, data = ArtEx.data, pch = with(ArtEx.data, 2*class + x)) pars <- list(matrix(c(1, -2, 2, 2), ncol = 2), matrix(c(1, 3, 2, -3), ncol = 2)) for (i in 1:2) apply(pars[[i]], 2, abline, col = Colors[i]) ################################################### ### code chunk number 6: bootstrapping.Rnw:238-241 ################################################### set.seed(123) ArtEx.fit <- stepFlexmix(y ~ x, data = ArtEx.data, k = 2, nrep = 5, control = list(iter = 1000, tol = 1e-8, verbose = 0)) ################################################### ### code chunk number 7: bootstrapping.Rnw:246-248 ################################################### summary(ArtEx.fit) parameters(ArtEx.fit) ################################################### ### code chunk number 8: bootstrapping.Rnw:256-258 ################################################### ArtEx.refit <- refit(ArtEx.fit) summary(ArtEx.refit) ################################################### ### code chunk number 9: bootstrapping.Rnw:274-277 (eval = FALSE) ################################################### ## set.seed(123) ## ArtEx.bs <- boot(ArtEx.fit, R = 200, sim = "parametric") ## ArtEx.bs ################################################### ### code chunk number 10: bootstrapping.Rnw:279-287 ################################################### if (file.exists("ArtEx.bs.rda")) { load("ArtEx.bs.rda") } else { set.seed(123) ArtEx.bs <- boot(ArtEx.fit, R = 200, sim = "parametric") save(ArtEx.bs, file = "ArtEx.bs.rda") } ArtEx.bs ################################################### ### code chunk number 11: bootstrapping.Rnw:303-304 ################################################### print(plot(ArtEx.bs, ordering = "coef.x", col = Colors)) ################################################### ### code chunk number 12: bootstrapping.Rnw:321-334 ################################################### require("diptest") parameters <- parameters(ArtEx.bs) Ordering <- factor(as.vector(apply(matrix(parameters[,"coef.x"], nrow = 2), 2, order))) Comp1 <- parameters[Ordering == 1,] Comp2 <- parameters[Ordering == 2,] dip.values.art <- matrix(nrow = ncol(parameters), ncol = 3, dimnames=list(colnames(parameters), c("Aggregated", "Comp 1", "Comp 2"))) dip.values.art[,"Aggregated"] <- apply(parameters, 2, dip) dip.values.art[,"Comp 1"] <- apply(Comp1, 2, dip) dip.values.art[,"Comp 2"] <- apply(Comp2, 2, dip) dip.values.art ################################################### ### code chunk number 13: bootstrapping.Rnw:376-382 ################################################### data("seizure", package = "flexmix") model <- FLXMRglm(family = "poisson", offset = log(seizure$Hours)) control <- list(iter = 1000, tol = 1e-10, verbose = 0) set.seed(123) seizMix <- stepFlexmix(Seizures ~ Treatment * log(Day), data = seizure, k = 2, nrep = 5, model = model, control = control) ################################################### ### code chunk number 14: bootstrapping.Rnw:390-395 ################################################### par(mar = c(5, 4, 2, 0) + 0.1) plot(Seizures/Hours~Day, data=seizure, pch = as.integer(seizure$Treatment)) abline(v = 27.5, lty = 2, col = "grey") matplot(seizure$Day, fitted(seizMix)/seizure$Hours, type="l", add = TRUE, col = 1, lty = 1, lwd = 2) ################################################### ### code chunk number 15: bootstrapping.Rnw:415-418 (eval = FALSE) ################################################### ## set.seed(123) ## seizMix.bs <- boot(seizMix, R = 200, sim = "parametric") ## seizMix.bs ################################################### ### code chunk number 16: bootstrapping.Rnw:420-428 ################################################### if (file.exists("seizMix.bs.rda")) { load("seizMix.bs.rda") } else { set.seed(123) seizMix.bs <- boot(seizMix, R = 200, sim = "parametric") save(seizMix.bs, file = "seizMix.bs.rda") } seizMix.bs ################################################### ### code chunk number 17: bootstrapping.Rnw:433-434 ################################################### print(plot(seizMix.bs, ordering = "coef.(Intercept)", col = Colors)) ################################################### ### code chunk number 18: bootstrapping.Rnw:441-446 ################################################### parameters <- parameters(seizMix.bs) Ordering <- factor(as.vector(apply(matrix(parameters[,"coef.(Intercept)"], nrow = 2), 2, order))) Comp1 <- parameters[Ordering == 1,] Comp2 <- parameters[Ordering == 2,] ################################################### ### code chunk number 19: bootstrapping.Rnw:455-462 ################################################### dip.values.art <- matrix(nrow = ncol(parameters), ncol = 3, dimnames = list(colnames(parameters), c("Aggregated", "Comp 1", "Comp 2"))) dip.values.art[,"Aggregated"] <- apply(parameters, 2, dip) dip.values.art[,"Comp 1"] <- apply(Comp1, 2, dip) dip.values.art[,"Comp 2"] <- apply(Comp2, 2, dip) dip.values.art flexmix/inst/doc/flexmix-intro.Rnw0000644000176200001440000010256514404637307016766 0ustar liggesusers% % Copyright (C) 2004-2005 Friedrich Leisch % $Id: flexmix-intro.Rnw 5187 2020-06-25 17:59:39Z gruen $ % \documentclass[nojss]{jss} \title{FlexMix: A General Framework for Finite Mixture Models and Latent Class Regression in \proglang{R}} \Plaintitle{FlexMix: A General Framework for Finite Mixture Models and Latent Class Regression in R} \Shorttitle{FlexMix: Finite Mixture Models in \proglang{R}} \author{Friedrich Leisch\\Universit\"at f\"ur Bodenkultur Wien} \Plainauthor{Friedrich Leisch} \Address{ Friedrich Leisch\\ Institut f\"ur Angewandte Statistik und EDV\\ Universit\"at f\"ur Bodenkultur Wien\\ Peter Jordan Stra\ss{}e 82\\ 1190 Wien, Austria\\ E-mail: \email{Friedrich.Leisch@boku.ac.at} } \usepackage[utf8]{inputenc} \usepackage{listings} \newcommand{\R}{\proglang{R}} <>= suppressWarnings(RNGversion("3.5.0")) set.seed(1504) options(width=70, prompt = "R> ", continue = "+ ", useFancyQuotes = FALSE) grDevices::ps.options(family="Times") library("graphics") library("flexmix") data("NPreg") @ \Abstract{ This article was originally published as \cite{flexmix:Leisch:2004a} in the \emph{Journal of Statistical Software}. FlexMix implements a general framework for fitting discrete mixtures of regression models in the \R{} statistical computing environment: three variants of the EM algorithm can be used for parameter estimation, regressors and responses may be multivariate with arbitrary dimension, data may be grouped, e.g., to account for multiple observations per individual, the usual formula interface of the \proglang{S} language is used for convenient model specification, and a modular concept of driver functions allows to interface many different types of regression models. Existing drivers implement mixtures of standard linear models, generalized linear models and model-based clustering. FlexMix provides the E-step and all data handling, while the M-step can be supplied by the user to easily define new models. } \Keywords{\proglang{R}, finite mixture models, model based clustering, latent class regression} \Plainkeywords{R, finite mixture models, model based clustering, latent class regression} \Volume{11} \Issue{8} \Month{October} \Year{2004} \Submitdate{2004-04-19} \Acceptdate{2004-10-18} %%\usepackage{Sweave} %% already provided by jss.cls %%\VignetteIndexEntry{FlexMix: A General Framework for Finite Mixture Models and Latent Class Regression in R} %%\VignetteDepends{flexmix} %%\VignetteKeywords{R, finite mixture models, model based clustering, latent class regression} %%\VignettePackage{flexmix} \begin{document} \section{Introduction} \label{sec:introduction} Finite mixture models have been used for more than 100 years, but have seen a real boost in popularity over the last decade due to the tremendous increase in available computing power. The areas of application of mixture models range from biology and medicine to physics, economics and marketing. On the one hand these models can be applied to data where observations originate from various groups and the group affiliations are not known, and on the other hand to provide approximations for multi-modal distributions \citep{flexmix:Everitt+Hand:1981,flexmix:Titterington+Smith+Makov:1985,flexmix:McLachlan+Peel:2000}. In the 1990s finite mixture models have been extended by mixing standard linear regression models as well as generalized linear models \citep{flexmix:Wedel+DeSarbo:1995}. An important area of application of mixture models is market segmentation \citep{flexmix:Wedel+Kamakura:2001}, where finite mixture models replace more traditional cluster analysis and cluster-wise regression techniques as state of the art. Finite mixture models with a fixed number of components are usually estimated with the expectation-maximization (EM) algorithm within a maximum likelihood framework \citep{flexmix:Dempster+Laird+Rubin:1977} and with MCMC sampling \citep{flexmix:Diebolt+Robert:1994} within a Bayesian framework. \newpage The \R{} environment for statistical computing \citep{flexmix:R-Core:2004} features several packages for finite mixture models, including \pkg{mclust} for mixtures of multivariate Gaussian distributions \citep{flexmix:Fraley+Raftery:2002,flexmix:Fraley+Raftery:2002a}, \pkg{fpc} for mixtures of linear regression models \citep{flexmix:Hennig:2000} and \pkg{mmlcr} for mixed-mode latent class regression \citep{flexmix:Buyske:2003}. There are three main reasons why we have chosen to write yet another software package for EM estimation of mixture models: \begin{itemize} \item The existing implementations did not cover all cases we needed for our own research (mainly marketing applications). \item While all \R{} packages mentioned above are open source and hence can be extended by the user by modifying the source code, we wanted an implementation where extensibility is a main design principle to enable rapid prototyping of new mixture models. \item We include a sampling-based variant of the EM-algorithm for models where weighted maximum likelihood estimation is not available. FlexMix has a clean interface between E- and M-step such that variations of both are easy to combine. \end{itemize} This paper is organized as follows: First we introduce the mathematical models for latent class regression in Section~\ref{sec:latent-class-regr} and shortly discuss parameter estimation and identifiability. Section~\ref{sec:using-flexmix} demonstrates how to use FlexMix to fit models with the standard driver for generalized linear models. Finally, Section~\ref{sec:extending-flexmix} shows how to extend FlexMix by writing new drivers using the well-known model-based clustering procedure as an example. \section{Latent class regression} \label{sec:latent-class-regr} Consider finite mixture models with $K$ components of form \begin{equation}\label{eq:1} h(y|x,\psi) = \sum_{k = 1}^K \pi_k f(y|x,\theta_k) \end{equation} \begin{displaymath} \pi_k \geq 0, \quad \sum_{k = 1}^K \pi_k = 1 \end{displaymath} where $y$ is a (possibly multivariate) dependent variable with conditional density $h$, $x$ is a vector of independent variables, $\pi_k$ is the prior probability of component $k$, $\theta_k$ is the component specific parameter vector for the density function $f$, and $\psi=(\pi_1,,\ldots,\pi_K,\theta_1',\ldots,\theta_K')'$ is the vector of all parameters. If $f$ is a univariate normal density with component-specific mean $\beta_k'x$ and variance $\sigma^2_k$, we have $\theta_k = (\beta_k', \sigma_k^2)'$ and Equation~(\ref{eq:1}) describes a mixture of standard linear regression models, also called \emph{latent class regression} or \emph{cluster-wise regression} \citep{flexmix:DeSarbo+Cron:1988}. If $f$ is a member of the exponential family, we get a mixture of generalized linear models \citep{flexmix:Wedel+DeSarbo:1995}, known as \emph{GLIMMIX} models in the marketing literature \citep{flexmix:Wedel+Kamakura:2001}. For multivariate normal $f$ and $x\equiv1$ we get a mixture of Gaussians without a regression part, also known as \emph{model-based clustering}. The posterior probability that observation $(x,y)$ belongs to class $j$ is given by \begin{equation}\label{eq:3} \Prob(j|x, y, \psi) = \frac{\pi_j f(y | x, \theta_j)}{\sum_k \pi_k f(y | x, \theta_k)} \end{equation} The posterior probabilities can be used to segment data by assigning each observation to the class with maximum posterior probability. In the following we will refer to $f(\cdot|\cdot, \theta_k)$ as \emph{mixture components} or \emph{classes}, and the groups in the data induced by these components as \emph{clusters}. \subsection{Parameter estimation} \label{sec:parameter-estimation} The log-likelihood of a sample of $N$ observations $\{(x_1,y_1),\ldots,(x_N,y_N)\}$ is given by \begin{equation}\label{eq:4} \log L = \sum_{n=1}^N \log h(y_n|x_n,\psi) = \sum_{n=1}^N \log\left(\sum_{k = 1}^K \pi_kf(y_n|x_n,\theta_k) \right) \end{equation} and can usually not be maximized directly. The most popular method for maximum likelihood estimation of the parameter vector $\psi$ is the iterative EM algorithm \citep{flexmix:Dempster+Laird+Rubin:1977}: \begin{description} \item[Estimate] the posterior class probabilities for each observation \begin{displaymath} \hat p_{nk} = \Prob(k|x_n, y_n, \hat \psi) \end{displaymath} using Equation~(\ref{eq:3}) and derive the prior class probabilities as \begin{displaymath} \hat\pi_k = \frac1N \sum_{n=1}^N \hat p_{nk} \end{displaymath} \item[Maximize] the log-likelihood for each component separately using the posterior probabilities as weights \begin{equation}\label{eq:2} \max_{\theta_k} \sum_{n=1}^N \hat p_{nk} \log f(y_n | x_n, \theta_k) \end{equation} \end{description} The E- and M-steps are repeated until the likelihood improvement falls under a pre-specified threshold or a maximum number of iterations is reached. The EM algorithm cannot be used for mixture models only, but rather provides a general framework for fitting models on incomplete data. Suppose we augment each observation $(x_n,y_n)$ with an unobserved multinomial variable $z_n = (z_{n1},\ldots,z_{nK})$, where $z_{nk}=1$ if $(x_n,y_n)$ belongs to class $k$ and $z_{nk}=0$ otherwise. The EM algorithm can be shown to maximize the likelihood on the ``complete data'' $(x_n,y_n,z_n)$; the $z_n$ encode the missing class information. If the $z_n$ were known, maximum likelihood estimation of all parameters would be easy, as we could separate the data set into the $K$ classes and estimate the parameters $\theta_k$ for each class independently from the other classes. If the weighted likelihood estimation in Equation~(\ref{eq:2}) is infeasible for analytical, computational, or other reasons, then we have to resort to approximations of the true EM procedure by assigning the observations to disjoint classes and do unweighted estimation within the groups: \begin{displaymath} \max_{\theta_k} \sum_{n: z_{nk=1}} \log f(y_n | x_n, \theta_k) \end{displaymath} This corresponds to allow only 0 and 1 as weights. Possible ways of assigning the data into the $K$ classes are \begin{itemize} \item \textbf{hard} \label{hard} assignment to the class with maximum posterior probability $p_{nk}$, the resulting procedure is called maximizing the \emph{classification likelihood} by \cite{flexmix:Fraley+Raftery:2002}. Another idea is to do \item \textbf{random} assignment to classes with probabilities $p_{nk}$, which is similar to the sampling techniques used in Bayesian estimation (although for the $z_n$ only). \end{itemize} Well known limitations of the EM algorithm include that convergence can be slow and is to a local maximum of the likelihood surface only. There can also be numerical instabilities at the margin of parameter space, and if a component gets to contain only a few observations during the iterations, parameter estimation in the respective component may be problematic. E.g., the likelihood of Gaussians increases without bounds for $\sigma^2\to 0$. As a result, numerous variations of the basic EM algorithm described above exist, most of them exploiting features of special cases for $f$. \subsection{Identifiability} \label{sec:identifiability} An open question is still identifiability of many mixture models. A comprehensive overview of this topic is beyond the scope of this paper, however, users of mixture models should be aware of the problem: \begin{description} \item[Relabelling of components:] Mixture models are only identifiable up to a permutation of the component labels. For EM-based approaches this only affects interpretation of results, but is no problem for parameter estimation itself. \item[Overfitting:] If a component is empty or two or more components have the same parameters, the data generating process can be represented by a smaller model with fewer components. This kind of unidentifiability can be avoided by requiring that the prior weights $\pi_k$ are not equal to zero and that the component specific parameters are different. \item[Generic unidentifiability:] It has been shown that mixtures of univariate normal, gamma, exponential, Cauchy and Poisson distributions are identifiable, while mixtures of discrete or continuous uniform distributions are not identifiable. A special case is the class of mixtures of binomial and multinomial distributions which are only identifiable if the number of components is limited with respect to, e.g., the number of observations per person. See \cite{flexmix:Everitt+Hand:1981}, \cite{flexmix:Titterington+Smith+Makov:1985}, \cite{flexmix:Grun:2002} and references therein for details. \end{description} FlexMix tries to avoid overfitting because of vanishing prior probabilities by automatically removing components where the prior $\pi_k$ falls below a user-specified threshold. Automated diagnostics for generic identifiability are currently under investigation. Relabelling of components is in some cases more of a nuisance than a real problem (``component 2 of the first run may be component 3 in the second run''), more serious are interactions of component relabelling and categorical predictor variables, see \cite{flexmix:Grun+Leisch:2004} for a discussion and how bootstrapping can be used to assess identifiability of mixture models. \pagebreak[4] \section{Using FlexMix} \label{sec:using-flexmix} \SweaveOpts{width=12,height=8,eps=FALSE,keep.source=TRUE} The standard M-step \texttt{FLXMRglm()} of FlexMix is an interface to R's generalized linear modelling facilities (the \texttt{glm()} function). As a simple example we use artificial data with two latent classes of size \Sexpr{nrow(NPreg)/2} each: \begin{center} \begin{tabular}{ll} Class~1: & $ y = 5x+\epsilon$\\ Class~2: & $ y = 15+10x-x^2+\epsilon$\\ \end{tabular} \end{center} with $\epsilon\sim N(0,9)$ and prior class probabilities $\pi_1=\pi_2=0.5$, see the left panel of Figure~\ref{fig:npreg}. We can fit this model in \R{} using the commands <<>>= library("flexmix") data("NPreg") m1 <- flexmix(yn ~ x + I(x^2), data = NPreg, k = 2) m1 @ and get a first look at the estimated parameters of mixture component~1 by <<>>= parameters(m1, component = 1) @ and <<>>= parameters(m1, component = 2) @ for component~2. The paramter estimates of both components are close to the true values. A cross-tabulation of true classes and cluster memberships can be obtained by <<>>= table(NPreg$class, clusters(m1)) @ The summary method <<>>= summary(m1) @ gives the estimated prior probabilities $\hat\pi_k$, the number of observations assigned to the corresponding clusters, the number of observations where $p_{nk}>\delta$ (with a default of $\delta=10^{-4}$), and the ratio of the latter two numbers. For well-seperated components, a large proportion of observations with non-vanishing posteriors $p_{nk}$ should also be assigned to the corresponding cluster, giving a ratio close to 1. For our example data the ratios of both components are approximately 0.7, indicating the overlap of the classes at the cross-section of line and parabola. \begin{figure}[htbp] \centering <>= par(mfrow=c(1,2)) plot(yn~x, col=class, pch=class, data=NPreg) plot(yp~x, col=class, pch=class, data=NPreg) @ \caption{Standard regression example (left) and Poisson regression (right).} \label{fig:npreg} \end{figure} Histograms or rootograms of the posterior class probabilities can be used to visually assess the cluster structure \citep{flexmix:Tantrum+Murua+Stuetzle:2003}, this is now the default plot method for \texttt{"flexmix"} objects \citep{flexmix:Leisch:2004}. Rootograms are very similar to histograms, the only difference is that the height of the bars correspond to square roots of counts rather than the counts themselves, hence low counts are more visible and peaks less emphasized. \begin{figure}[htbp] \centering <>= print(plot(m1)) @ \caption{The plot method for \texttt{"flexmix"} objects, here obtained by \texttt{plot(m1)}, shows rootograms of the posterior class probabilities.} \label{fig:root1} \end{figure} Usually in each component a lot of observations have posteriors close to zero, resulting in a high count for the corresponing bin in the rootogram which obscures the information in the other bins. To avoid this problem, all probabilities with a posterior below a threshold are ignored (we again use $10^{-4}$). A peak at probability 1 indicates that a mixture component is well seperated from the other components, while no peak at 1 and/or significant mass in the middle of the unit interval indicates overlap with other components. In our simple example the components are medium well separated, see Figure~\ref{fig:root1}. Tests for significance of regression coefficients can be obtained by <<>>= rm1 <- refit(m1) summary(rm1) @ Function \texttt{refit()} fits weighted generalized linear models to each component using the standard \R{} function \texttt{glm()} and the posterior probabilities as weights, see \texttt{help("refit")} for details. The data set \texttt{NPreg} also includes a response from a generalized linear model with a Poisson distribution and exponential link function. The two classes of size \Sexpr{nrow(NPreg)/2} each have parameters \begin{center} \begin{tabular}{ll} Class~1: & $ \mu_1 = 2 - 0.2x$\\ Class~2: & $ \mu_2 = 1 + 0.1x$\\ \end{tabular} \end{center} and given $x$ the response $y$ in group $k$ has a Poisson distribution with mean $e^{\mu_k}$, see the right panel of Figure~\ref{fig:npreg}. The model can be estimated using <>= options(width=55) @ <<>>= m2 <- flexmix(yp ~ x, data = NPreg, k = 2, model = FLXMRglm(family = "poisson")) summary(m2) @ <>= options(width=65) @ \begin{figure}[htbp] \centering <>= print(plot(m2)) @ \caption{\texttt{plot(m2)}} \label{fig:root2} \end{figure} Both the summary table and the rootograms in Figure~\ref{fig:root2} clearly show that the clusters of the Poisson response have much more overlap. For our simple low-dimensional example data the overlap of the classes is obvious by looking at scatterplots of the data. For data in higher dimensions this is not an option. The rootograms and summary tables for \texttt{"flexmix"} objects work off the densities or posterior probabilities of the observations and thus do not depend on the dimensionality of the input space. While we use simple 2-dimensional examples to demonstrate the techniques, they can easily be used on high-dimensional data sets or models with complicated covariate structures. \subsection{Multiple independent responses} \label{sec:mult-indep-resp} If the response $y=(y_1,\ldots,y_D)'$ is $D$-dimensional and the $y_d$ are mutually independent the mixture density in Equation~(\ref{eq:1}) can be written as \begin{eqnarray*} h(y|x,\psi) &=& \sum_{k = 1}^K \pi_k f(y|x,\theta_k)\\ &=& \sum_{k = 1}^K \pi_k \prod_{d=1}^D f_d(y|x,\theta_{kd}) \end{eqnarray*} To specify such models in FlexMix we pass it a list of models, where each list element corresponds to one $f_d$, and each can have a different set of dependent and independent variables. To use the Gaussian and Poisson responses of data \texttt{NPreg} simultaneously, we use the model specification \begin{Sinput} > m3 = flexmix(~x, data=NPreg, k=2, + model=list(FLXMRglm(yn~.+I(x^2)), + FLXMRglm(yp~., family="poisson"))) \end{Sinput} <>= m3 <- flexmix(~ x, data = NPreg, k = 2, model=list(FLXMRglm(yn ~ . + I(x^2)), FLXMRglm(yp ~ ., family = "poisson"))) @ Note that now three model formulas are involved: An overall formula as first argument to function \texttt{flexmix()} and one formula per response. The latter ones are interpreted relative to the overall formula such that common predictors have to be specified only once, see \texttt{help("update.formula")} for details on the syntax. The basic principle is that the dots get replaced by the respective terms from the overall formula. The rootograms show that the posteriors of the two-response model are shifted towards 0 and 1 (compared with either of the two univariate models), the clusters are now well-separated. \begin{figure}[htbp] \centering <>= print(plot(m3)) @ \caption{\texttt{plot(m3)}} \label{fig:root3} \end{figure} \subsection{Repeated measurements} \label{sec:repe-meas} If the data are repeated measurements on $M$ individuals, and we have $N_m$ observations from individual $m$, then the log-likelihood in Equation~(\ref{eq:4}) can be written as \begin{displaymath} \log L = \sum_{m=1}^M \sum_{n=1}^{N_m} \log h(y_{mn}|x_{mn},\psi), \qquad \sum_{m=1}^M N_m = N \end{displaymath} and the posterior probability that individual $m$ belongs to class $j$ is given by \begin{displaymath} \Prob(j|m) = \frac{\pi_j \prod_{n=1}^{N_m} f(y_{mn} | x_{mn}, \theta_j)}{\sum_k \pi_k \prod_{n=1}^{N_m} f(y_{mn} | x_{mn}, \theta_k)} \end{displaymath} where $(x_{mn}, y_{mn})$ is the $n$-th observation from individual $m$. As an example, assume that the data in \texttt{NPreg} are not 200 independent observations, but 4 measurements each from 50 persons such that $\forall m: N_m=4$. Column \texttt{id2} of the data frame encodes such a grouping and can easily be used in FlexMix: <<>>= m4 <- flexmix(yn ~ x + I(x^2) | id2, data = NPreg, k = 2) summary(m4) @ Note that convergence of the EM algorithm is much faster with grouping and the two clusters are now perfectly separated. \subsection{Control of the EM algorithm} \label{sec:control-em-algorithm} Details of the EM algorithm can be tuned using the \texttt{control} argument of function \texttt{flexmix()}. E.g., to use a maximum number of 15 iterations, report the log-likelihood at every 3rd step and use hard assignment of observations to clusters (cf. page~\pageref{hard}) the call is <<>>= m5 <- flexmix(yn ~ x + I(x^2), data = NPreg, k = 2, control = list(iter.max = 15, verbose = 3, classify = "hard")) @ Another control parameter (\texttt{minprior}, see below for an example) is the minimum prior probability components are enforced to have, components falling below this threshold (the current default is 0.05) are removed during EM iteration to avoid numerical instabilities for components containing only a few observations. Using a minimum prior of 0 disables component removal. \subsection{Automated model search} In real applications the number of components is unknown and has to be estimated. Tuning the minimum prior parameter allows for simplistic model selection, which works surprisingly well in some situations: <<>>= m6 <- flexmix(yp ~ x + I(x^2), data = NPreg, k = 4, control = list(minprior = 0.2)) m6 @ Although we started with four components, the algorithm converged at the correct two component solution. A better approach is to fit models with an increasing number of components and compare them using AIC or BIC. As the EM algorithm converges only to the next local maximum of the likelihood, it should be run repeatedly using different starting values. The function \texttt{stepFlexmix()} can be used to repeatedly fit models, e.g., <<>>= m7 <- stepFlexmix(yp ~ x + I(x^2), data = NPreg, control = list(verbose = 0), k = 1:5, nrep = 5) @ runs \texttt{flexmix()} 5 times for $k=1,2,\ldots,5$ components, totalling in 25 runs. It returns a list with the best solution found for each number of components, each list element is simply an object of class \texttt{"flexmix"}. To find the best model we can use <<>>= getModel(m7, "BIC") @ and choose the number of components minimizing the BIC. \section{Extending FlexMix} \label{sec:extending-flexmix} One of the main design principles of FlexMix was extensibility, users can provide their own M-step for rapid prototyping of new mixture models. FlexMix was written using S4 classes and methods \citep{flexmix:Chambers:1998} as implemented in \R{} package \pkg{methods}. The central classes for writing M-steps are \texttt{"FLXM"} and \texttt{"FLXcomponent"}. Class \texttt{"FLXM"} specifies how the model is fitted using the following slots: \begin{description} \item[fit:] A \texttt{function(x,y,w)} returning an object of class \texttt{"FLXcomponent"}. \item[defineComponent:] Expression or function constructing the object of class \texttt{"FLXcomponent"}. \item[weighted:] Logical, specifies if the model may be fitted using weighted likelihoods. If \texttt{FALSE}, only hard and random classification are allowed (and hard classification becomes the default). \item[formula:] Formula relative to the overall model formula, default is \verb|.~.| \item[name:] A character string describing the model, this is only used for print output. \end{description} The remaining slots of class \texttt{"FLXM"} are used internally by FlexMix to hold data, etc. and omitted here, because they are not needed to write an M-step driver. The most important slot doing all the work is \texttt{fit} holding a function performing the maximum likelihood estimation described in Equation~(\ref{eq:2}). The \texttt{fit()} function returns an object of class \texttt{"FLXcomponent"} which holds a fitted component using the slots: \begin{description} \item[logLik:] A \texttt{function(x,y)} returning the log-likelihood for observations in matrices \texttt{x} and \texttt{y}. \item[predict:] A \texttt{function(x)} predicting \texttt{y} given \texttt{x}. \item[df:] The degrees of freedom used by the component, i.e., the number of estimated parameters. \item[parameters:] An optional list containing model parameters. \end{description} In a nutshell class \texttt{"FLXM"} describes an \emph{unfitted} model, whereas class \texttt{"FLXcomponent"} holds a \emph{fitted} model. \lstset{frame=trbl,basicstyle=\small\tt,stepnumber=5,numbers=left} \begin{figure}[tb] \centering \begin{minipage}{0.94\textwidth} \lstinputlisting{mymclust.R} \end{minipage} \caption{M-step for model-based clustering: \texttt{mymclust} is a simplified version of the standard FlexMix driver \texttt{FLXmclust}.} \label{fig:mymclust.R} \end{figure} \subsection{Writing an M-step driver} \label{sec:writing-an-m} Figure~\ref{fig:mymclust.R} shows an example driver for model-based clustering. We use function \texttt{dmvnorm()} from package \pkg{mvtnorm} for calculation of multivariate Gaussian densities. In line~5 we create a new \texttt{"FLXMC"} object named \texttt{retval}, which is also the return value of the driver. Class \texttt{"FLXMC"} extends \texttt{"FLXM"} and is used for model-based clustering. It contains an additional slot with the name of the distribution used. All drivers should take a formula as their first argument, this formula is directly passed on to \texttt{retval}. In most cases authors of new FlexMix drivers need not worry about formula parsing etc., this is done by \texttt{flexmix} itself. In addition we have to declare whether the driver can do weighted ML estimation (\texttt{weighted=TRUE}) and give a name to our model. The remainder of the driver creates a \texttt{fit()} function, which takes regressors \texttt{x}, response \texttt{y} and weights \texttt{w}. For multivariate Gaussians the maximum likelihood estimates correspond to mean and covariance matrix, the standard R function \texttt{cov.wt()} returns a list containing estimates of the weighted covariance matrix and the mean for given data. Our simple example performs clustering without a regression part, hence $x$ is ignored. If \texttt{y} has $D$ columns, we estimate $D$ parameters for the mean and $D(D-1)/2$ parameters for the covariance matrix, giving a total of $(3D+D^2)/2$ parameters (line~11). As an additional feature we allow the user to specify whether the covariance matrix is assumed to be diagonal or a full matrix. For \texttt{diagonal=TRUE} we use only the main diagonal of the covariance matrix (line~14) and the number of parameters is reduced to $2D$. In addition to parameter estimates, \texttt{flexmix()} needs a function calculating the log-likelihood of given data $x$ and $y$, which in our example is the log-density of a multivariate Gaussian. In addition we have to provide a function predicting $y$ given $x$, in our example simply the mean of the Gaussian. Finally we create a new \texttt{"FLXcomponent"} as return value of function \texttt{fit()}. Note that our internal functions \texttt{fit()}, \texttt{logLik()} and \texttt{predict()} take only \texttt{x}, \texttt{y} and \texttt{w} as arguments, but none of the model-specific parameters like means and covariances, although they use them of course. \R{} uses \emph{lexical scoping} rules for finding free variables \citep{flexmix:Gentleman+Ihaka:2000}, hence it searches for them first in the environment where a function is defined. E.g., the \texttt{fit()} function uses the variable \texttt{diagonal} in line~24, and finds it in the environment where the function itself was defined, which is the body of function \texttt{mymclust()}. Function \texttt{logLik()} uses the list \texttt{para} in lines~8 and 9, and uses the one found in the body of \texttt{defineComponent()}. Function \texttt{flexmix()} on the other hand never sees the model parameters, all it uses are function calls of form \texttt{fit(x,y,w)} or \texttt{logLik(x,y)}, which are exactly the same for all kinds of mixture models. In fact, it would not be necessary to even store the component parameters in the \texttt{"FLXcomponent"} object, they are there only for convenience such that users can easily extract and use them after \texttt{flexmix()} has finished. Lexical scope allows to write clean interfaces in a very elegant way, the driver abstracts all model details from the FlexMix main engine. \subsection{Example: Using the driver} \label{sec:example:-model-based} \SweaveOpts{width=12,height=6,eps=FALSE} <>= library("flexmix") set.seed(1504) options(width=60) grDevices::ps.options(family="Times") suppressMessages(require("ellipse")) suppressMessages(require("mvtnorm")) source("mymclust.R") @ As a simple example we use the four 2-dimensional Gaussian clusters from data set \texttt{Nclus}. Fitting a wrong model with diagonal covariance matrix is done by <<>>= data("Nclus") m1 <- flexmix(Nclus ~ 1, k = 4, model = mymclust()) summary(m1) @ The result can be seen in the left panel of Figure~\ref{fig:ell}, the result is ``wrong'' because we forced the ellipses to be parallel to the axes. The overlap between three of the four clusters can also be inferred from the low ratio statistics in the summary table (around 0.5 for components 1, 3 and 4), while the much better separated upper left cluster has a much higher ratio of 0.85. Using the correct model with a full covariance matrix can be done by setting \texttt{diagonal=FALSE} in the call to our driver \texttt{mymclust()}: <<>>= m2 <- flexmix(Nclus ~ 1, k = 4, model = mymclust(diagonal = FALSE)) summary(m2) @ \begin{figure}[htbp] \centering <>= par(mfrow=1:2) plotEll(m1, Nclus) plotEll(m2, Nclus) @ \caption{Fitting a mixture model with diagonal covariance matrix (left) and full covariance matrix (right).} \label{fig:ell} \end{figure} \pagebreak[4] \section{Summary and outlook} \label{sec:summary} The primary goal of FlexMix is extensibility, this makes the package ideal for rapid development of new mixture models. There is no intent to replace packages implementing more specialized mixture models like \pkg{mclust} for mixtures of Gaussians, FlexMix should rather be seen as a complement to those. By interfacing R's facilities for generalized linear models, FlexMix allows the user to estimate complex latent class regression models. Using lexical scope to resolve model-specific parameters hides all model details from the programming interface, FlexMix can in principle fit almost arbitrary finite mixture models for which the EM algorithm is applicable. The downside of this is that FlexMix can in principle fit almost arbitrary finite mixture models, even models where no proper theoretical results for model identification etc.\ are available. We are currently working on a toolset for diagnostic checks on mixture models to test necessary identifiability conditions for those cases where results are available. We also want to implement newer variations of the classic EM algorithm, especially for faster convergence. Another plan is to have an interactive version of the rootograms using \texttt{iPlots} \citep{flexmix:Urbanek+Theus:2003} such that the user can explore the relations between mixture components, possibly linked to background variables. Other planned extensions include covariates for the prior probabilities and to allow to mix different distributions for components, e.g., to include a Poisson point process for background noise. \section*{Computational details} <>= SI <- sessionInfo() pkgs <- paste(sapply(c(SI$otherPkgs, SI$loadedOnly), function(x) paste("\\\\pkg{", x$Package, "} ", x$Version, sep = "")), collapse = ", ") @ All computations and graphics in this paper have been done using \proglang{R} version \Sexpr{getRversion()} with the packages \Sexpr{pkgs}. \section*{Acknowledgments} This research was supported by the Austrian Science Foundation (FWF) under grant SFB\#010 (`Adaptive Information Systems and Modeling in Economics and Management Science'). Bettina Gr\"un has modified the original version to include and reflect the changes of the package. \bibliography{flexmix} \end{document} %%% Local Variables: %%% mode: latex %%% TeX-master: t %%% End: flexmix/inst/doc/mixture-regressions.pdf0000644000176200001440000114713514757625373020240 0ustar liggesusers%PDF-1.5 %¿÷¢þ 1 0 obj << /Type /ObjStm /Length 4700 /Filter /FlateDecode /N 83 /First 707 >> stream xœí\YsÛȵ~¿¿oq*5@ïËÔ”+–<¶Ç–—‘¼Å)?Ð$$aL‘{òëóî’à¢-NUnÑ0¶^¾>}vtKd,“ç.Sø_¸Lg\)ž™Œ;æ2› .uæ2!ñÐg’)”FÅPgJ0‘q‘)«ñ\âìPSešk¼×™VÆgÜdÚ+”³™‘ý¸ÌXTâ>3ÞóL°ÌrkÐUf¥G_"³Z+ô™Y«t&TfC9¡þ…Éœ8ÛÌ9ë3 öܰLøÌ[ • %z“ÊÊL¢3fð\zëP0˜WxBã`ÞdҴȤŅÂà¥Ã…6*“·€‰ò •µˆÁC#4,Á1¢K ’BËByÐ-KÆP -K®Q -K ò(´,•Ea´, ‘-K¦Ñ²ôhH€ÂûŒ(«$ÍÑVt­‰Ø–Ê eåq«]XÌZÖ ÏA®:5hYKtŠ0=èÔ emÐ)ÆÈµÃè Íš5 Z6Ì£:Z6¨ Z6ÊÑœá¡EËÆKš=Ì-ñ¥I&¨ 9·ÊcѲ5eÐ2˜eˆµ0?˜[\H Ü¢e§AÌ%¨‹éGyîÍ7ZvŒæˆ]Æâвǀ2‡–½þÿ~ú)+ž—õ`4¨òã¬xù¥œ<ÖÕt’ý3KÏUuö¯.ëq5)癳ñù«ÁYù|:*³âͼ\¼ ç‹PæõŸ_ðþ]Œ§gÙýû¡×—õùt–ýtZžž2Y`F3fU<ŒÇQâàŒáÏqq:ŒÏÅ0=7ñy(úFuîÁ@ ^,7LïñÜÊæÝ} š•éÃA]f÷þ™ÔLÌš–Jÿñ¿0ö—¿¦rÀ{ïhðº|Ÿ}­êóìãšÍÊS¼~Vþùu:Í›ñhÑb4¦3ŸÆ§Ó»QzæÒØuÂß}Çð#þEÛ6=/ýD¤• íZº„òÃËR½ú’é}Ù¹nð«Ôo¯©¼5mû¡Oz/Â*AðÎ.Ò¿šMG—ôüê({|>×óá¬úRC åLå eN.?ýVëì®_Wõ¸\0–ét"«Á ¤6-ácøvô^â?9h™mÓDª-ˆH±z c^‘¨z'QÓd¥z¦§žõqØþò]\Ôf/ÖÁÂnÝÒ%Òô~#ñ‡ÓËIM¦¢xVARÕbÂÿ<)èÂpÄ3%ã[¨®pŠŠE¸TFÇ–„7éßKØ¡pæ,u:ÛT/–—"•©¼Lå¥J˜b·©yïÒSÏ,aÂ9¡á,ÓHxB#ØXKĦ‚²Œú³Q•“É´&‚‰ÔRçͽHç„„'Üi¼œ'§q“µ‰ç„X¤öšö(ž0ò„Ž'è\¤öDj/Ñ‹Ô^¢ w:§ö¤lFy8Ô僒2Ö…Uƒƒé7 “jk¯s4ëÏa6?Ef¨Ð˜”ãr>½œ A#"ÐÏßêÇ'5©ž¦¬x„2r¿¢•šM‡'e¶‹WÈå72g÷ïwé½Fî† xâŽÄñ”X&qTb¤H4$©¡b+*¶¢b+*QÖ&JÚ†ûÞJ”t‰’‰Ó¹K”t©¾K3“L÷2eýÍ)ÉèÌMȨ"6Qq¤*4ÉŒŽÃÔIžÿ-&‘ñ棉«¯6šƒÁ¼ Õ‹g¿>~zôìoGϧƒ ?LÇ#ðàd8U“³,M<¦Ù¼><ÌÈÇ]?,£Ý‚‘¦æhÐf##V‡Ž©{Þ ˆ½¾«Fõ9QÓ@éðË6ÿ$œFˆgµïH%¹\ªé0°Nðeæ M…e-IUPðuÉ…ñ7ÖÐC~3AC8xÂÔôŽˆ¥Ý2V & ¢°ñŒž$|ÂD÷âžpE# ¥Ò[ p ¼jÞ $¡¥³ÊÿÿD— YœI(`ëÉÿò¤¬ÎΛ[°IÁ½âAqP‹GÅãâ—â¨x^¼*Ž‹“âMñ¶xW|(ŧbX §ãé¤eqZœžVEø÷îÆÅ)D­8+Î 8Æç夨ŠÏŸ¸(&Å´˜NÊâK¹šŽŠY1/æÕ·¢.êóYYõ×iqY\ŽªrVΫyñGñµøVü _ŽD†ÿ âÑxpFQE‰ƒF „w°}> èc|û¨—ÄTQ£„G/åFñýÁI5|09ƒëª<¯æss:È/žœÔåÅ[(fÖ•ËŽD¯é‰OO.:b?—g—cÈzGU4誖zµád仺Bï©+”áˆAÒÖþ4Lˆ¦ ‡“+@R„I2+¡Té §OdH¸ÐÖ¾•¶«,®”!¡lâgB„êÃÓ; —IÉ! A×Áq uè>Íʈ<´ c‹œAÑ67&­3\ƒ ¤6šsÈ ¤çapt/"X"A OzOÏ¥8T HóŒÐ™jó{‹ýíÿ¶Ù5ºö ¾u|º¦†ô²Ò½jèç ˆž@=-žuô¢x™TÒ뤔ÞÿŠi°Pƒ è˜ù`2ŠÊjoa<$­5œ^\ ‚î =åd4˜ŸE¶A—•3ïèÓxÞUk¿-Û¤‚^ƒv[ôŸô9!ãò´ŽW³Ð€Ñð%ø{ñûå´.Ñv(ØÜIJAC–UÄ=/ÿ@¿¤1çc¼Coÿ*þUΦKê“hܧ>P,¾EüæÃT¬(ÐèŠuèf½¶¯Õ|»=yÆó²)Õº÷kJöøéááÓ÷0+ÎtáäÁd^µZ] ¿tM×&·q¡k)tZ×µÓ7Į̀y’/Ù«~¥kÔª†3¶ëɵj~.yUAÝ%ijœyѹ5Òg}BÙ£%tPŠZØÞR± eáW!ÀVðÑV× ôín¼íî!„ö9ijë)4²‹¤*‰Q .‘Ûïpw—…¹W #[qè%n0­pp'"Œ¼iöf_»}‹÷‰0 ¶lU¿|pô®+7±¿®;ÐÈZ9ðu5«,*ö ô’M4ä0ÑÃÖtDÂù—Ú…3 m4[ûŸŽX®ÓdÄ2s ·p] q>OPëŽì¨1„¡ÞÆƆ’¨/|ÀêÓ%{0ÇþC``ÚkÂÒ܇q¤{Êü8îB»íh(© %øKËXÒÀ=Qt'½[³e¤ :¶,Ün°e›-Ù`Õní6WU»½n—6xÝÁnl±Lo°RÇ·”–ƒ]‘µækÁBÖ6rýÞÒ¶·Ãýó×Þ5]=„õìwºåš”ùu)skRÆö•²5]½ŸµýgÄríõ¾í«½Yø½I¶Ÿ—®ûü]’½]ʇþéÿA¥qKðÜ÷+ŒÉ­:«6qaTþ5˜ñÛe¿îÑ;Ïu_´gVÙo;Oì˃òzÿÝÉÑË''èüd0™÷òâ6÷ĉµîRž¶åJðòVï$}¤ëO$©B]M£Ag-i ÑL“A[n-2‡"E°Ô£(ÜêLm$Öž“äÜ=1ÊYÊÆ9 7<Þ eSæ±xÿ0¹¥ÏFš\hô4¹©ì€¢ÔâjH¡røZ«\B‘Hïsmɲ¢’£L;AGÕäs2dG×R¥&æ›o1òO_Òç»øRÐÉÞZ¦×¤y¹Rn´’ò¸7bn”qNÙô”L_"UJ1ßaÊÐ_¡ŽµM¤WúBdâD›8Ѧg¢Ó÷¯[ ïu>Œ´šíõ‹wnÔêÉx0©¯¬ß”Z×ovE¿õ§Å[§·…_Ë9§ÝfÖ²¦|“‹joÌA­ÕØ`„c_ÝTSŸÉe ƒK¿nr)µ"¶gøÿw~½fŠ|Ôn.[wÍÔAp¸ÉÕ~ÜÖ•ŽÎ¹Ññ¾ð"ƒ²â„È-NˆÌ<­ÑazÅ´éµxs‡´ìë…¨]n!žoß½yþò9:|>LûàäBåº4®~¤¢ï¾[¥1)•~·XèkÍý‚B}ú¿i©¹¾‹cwë¬Ç*Îþš}¥n>žëµ°žãQKî¼ÛÚÌ®&eηU5¬fÃË‹x]WãQ‰Ë±èüs1¨ç~ÌŠO³Á° Ðp³Ÿtù¹¬q_¬FÆ£é|ÝÈ¿_Æ/rMgÅ-Ü*gëaò¸œÏ{bå=2·_Æ—óE¾vßTmJØNà‰Î‡ÓY¹-Qit­W2¶ñ¥†¯J“µ¢}ÖB Ê`_½&Ùý(qE7;©Ÿ®›m¥Î ßèfŸ  »œâ~üë‡äö\/C!{b"±ºggP´-Û Ú0§ß™ßìÞ/W Hv‡1ë%þK˜»’be R<ÜnBjW9ŸÛ°òÐçôµü»ªåUî•\€ÓðA­Vw®/7naïߤh`n2ÃdÎ06îì ¼®s/îÜäîç\®™\€¥ÃV¯ÿ8É0af“§`ci;Ÿ‚R”LQ°—ÓÖ2å Øo¦£o.9+J+X1AÛ rÚZ à'ÈÛµjºƒƒÆPP°a38Šohƒƒ$Ê•†¢á‰‚Íž”kóôÍ.´i#í|)S-Dß'†[ÝÑ š4\\¼žö$\1q¿±;/—&g–ï$6¦Þ!øšCGùà}¯02÷{êž–Ô‘Ä)±LÑ[ø¾ÕR´±È ú:¼nƒ®Îoô=©$ZjCzSÑjÛ\Ãó–AÂî>Zß N*R=¶gTΔ»¸ã°ç7tÝ<¡½,Í­cî-yÍéN0Ú<<®cÚ@œ¸ÿØ©,‰"®M–Äðæ¶VÂjêM~³T˜Úxm㈕°ÐH´»×挻;w¶‚Spù e,p¤Ašÿ8øø&Ê „à: è òZ,&Ý@»pÅ¿/8åMN›öp˜âÜs'àz¤NhHÛhkáü‘ýG0D{Ç9Ï …Þä»À%ý®Ð8—)i±IÌ1…‘WÁv ?ÚõÈ· !]‡¿†®m–61âÚgiã}°WËm k¡ä¯OÞ>k—¦¼ü4®~¿,¯¿Ìج­.à¶‘iÀ†eƲAäUqýo³,誵ÅÊ ä¸ø™r¦W[`¿%¥o5ãb^\ö¯7â’s¶¾ˆV%ºžGfm#ÐÆYÝ÷»Û½* ½6cNÈIV¼9þe! ño,„G÷ÎëúËüÇ¢M«|:;+8˹3Ò¿ÍçùL¸¼bê¯Á!Ù,мG¹¹œy˜¦sE›fR aè[…ÜóÛÄ÷È×ÑÚ*E O@áðNÂĹ=5Ì^ØýðøÁ‹üø‡/³)ý!0ŠÑtXOʯóâ:tG4ilHå‡?D’è.¡ÛÓ¨|'ì‰ìœi¿î EÂÙß7‚º!ËÀÐUÌ]ƒîBæˆú(yH9š†ìd7ûF$ß z"»€_M‹¸tÁ» ;-!ºbþóÑÛ_ß}x¼²òõj– ¾øªj³k»vlIkÚ6ìO\,Mf‹…ÉleÔ’Mñë›ÉV×+„Û…5¡µ?eXñSw͈ÙnEè®êù¸nš¥ã #²Ê{Z«®°¼x'w^ ªq=ýñ ¬ëj2ÈÏ.ËÉß—”ÃÕY“Ã%Öô9O‹œþv’°&|È ²Ž·#W ù£YUŽfÕð> stream GPL Ghostscript 10.04.0 R, finite mixture models, generalized linear models, concomitant variables 2025-02-26T15:53:45+01:00 2025-02-26T15:53:45+01:00 LaTeX with hyperref FlexMix Version 2: Finite Mixtures with Concomitant Variables and Varying and Constant ParametersBettina Grün, Friedrich Leisch endstream endobj 86 0 obj << /Type /ObjStm /Length 2946 /Filter /FlateDecode /N 83 /First 749 >> stream xœÍ[ko9ý¾¿ÂwµÂåçµ-!$`íÌ, ;,;ˆMR ­ ”4#æßï¹®r½ºª§C©‡«ìs_Ç÷ºœ„1 ŸDLB'+’޼HZQ"É Ü×Ê‘œÐF‘¼Ð.$‘Hh x:5Ú£0h) cq­•Æ- Qän„I ï++¬1üŒÖi~Æ ë#ºR$l|'§¿…Ó£«$œå5pºˆññ¦#€ÏE ¨µ.yô£ðüKk/¼ ÜDÂ;ÃMAxù-7%á# ±Iy–”uÀÀ€’,ƒ7V7Üä¤á&/(Z~‹%¨K£÷ ”i¢¢h“Dp„±¬µª­ÿpbDHZ+¢JÜäD4ޛբú×çíùzS_‰Gò«Ok<óVøæ™7ÿýMÀl$™ Ú|>?ïDõKýe˱”z¹º¬1\ m¿ëíy-žÖ§§J¹¤ÕJÁùT08Ç=âs£mîSjï× ŠF€ºÃCcŸs¦}? å?™{÷ÑÄ*:葼’@4Š|iF$ßÂÈfÐí¾Ò7÷¿Zk*Û #ˆ”ôÑì˜Ê M冦ò{L5+W‹—ZWÈ©oläÉrÕ­lm;›-»a=çŠ­ŽŽ›{Ù}ÓÔcI½"é” Øa(Nqı³µVé *õH:ëÄÞ‚Ù¥Ÿ¢CŒƒÆ©R˜âs³ø²º‹‘Æ`ÍÀm°{˜Äi ú}ïRlš Ü ÜH·&ËýìG;%#Ù¨S/cµ .¿u ÍÛâQsBVÅ¡BÛn§$e$eÇè ÉHiJR\# YŠF,5ŸZ6‚ÌE£½^;&&-3…¡p§mtÕý ÕõA³^¿“—N…ESø]aÝHX7–FÂvýÍ鯮ÚioÕ ÏÏ™“B©uXÝSCG3ûw@ÔRFh?s Öõ •ÐmQ‰7_O%\ÐìfÖ KF8dü ÝX+mr÷ Α—ÞÇ2¥o>¼È.™ÕzÉÛ tjÀØ€ªAÙÌ/0ñý‚³ ·Ä; ZpN™ÆÌßœ7Ö-Õ]ÑIÛ —k®Ò1“þ¨…ªxçñ°›N’Ó¸ìz¼ƒä:àŽxÿEïåoÂh°ñ¾UÎyŸG9çå<Ê9oµu¶Û½4W4Ï%ý 0TÎ1õÅa'OVWu^J¨ž?{ùÏ¿ýý§Ÿ.>®6Z=8ªÏ>Ÿ¯.Eõls|q²Þœå}ͯýð¼õ$¯E@ùÇ—ëOۋ˼ç¤[MêŸêTÈÊÓ8\üºY£çZXíªhðüg}²ýÀkp!ļ”ѬÌ]óš„ Æ_}ú±^Ÿ}(—‰×@þZ½‡‘ëíß²GäÇ:=_] òœ•æž ^¸ª 9@¸åùú¼æ­ùÖ/«õ>½Ø®Î×Ç7gç5öóúê Ë"@á¸ój[|-BÊ8PYgR….{*ŽxŸ‘.[1Žx‘._•ئìh8Ê»qlyï¿øÚ¼ƒà<òbÚÈ[¾¾ç;³T ØdBþÊŽ¯Tï¨äq¼Ý<ãÚàJõn¢äÝKŠ‹w\:-bò0n¸;‹tñûúÍë_ž<íœÓ}Oˆ:;ñÚ"«I«p­óréý:`νìêðènÜë ?ÙjpkäuGIàbŠò.ÞƒžP8FLå(n5ïÛVüú¡ñ±7¿F[êچŕá¥ÂØej tÓ> stream xœÍ[Ûr¹}ÏWà1[)ã JReɶìÄr¼”×ëÝÔ>PÔXš,oáű÷ës3CrÈŠ´¨uжsƒîƒFÊ“Leši£q4Ìz:Zæ­ÁÑ1¥þdž)ë S^Zݦ[‘©¨ðRLK³ ˜Ö·Uè–aÚQeÁ2yÔÓQ£žà™‘TGȘQéõÀŒq*Df21¢dVzIí0kI„¨™ BEÜö,ZæœAÑ1½å™WMÄŒygè™À|°Tˆ,“(h)Y¦ ®Xæt@A³,óT0,H(B£·Áh*8Ô„^²¹ …Œ…¨èV`QfTadQkÜR’ECÝUŠEH†‚f1Ãe ábðô „“’ª&ˤA…NIcè.ú)-z¡t-½CË ú‘h uà6ÞÕèÒ¤k UCû¤~ô @-¤cTŠZhDpƒÞE(` ©ÒÎÑhCg’Þ@:xÔl$•Ò(¢ #¡€#i@id ÈlІ1P³¦0ÎÑ»hÃd$ ú¢LÈè9´a%Z')”MøÀûÊ’Ö5 ŒÕ€‚¶hÃZÔ¥ „ÖEº‹6lf10m؈QÑ–P=½6ÁWã å4éÛ¢ Ϙœ5TB Èm*—ÑáY…&Âþò&žŽÇ“Åœý+›d½4låÑTG[]uôÕ1«Ž!aâ|2^äcÔf²òq™ßý³ÉgÔ/ñsÑqèäÀ:ÞxÛŸáV¶ zù|²œ ò9#Éž^\\-ú‹Çòh€i/˳·³Éà*_ nñöÙ &Þ埨ôoCñË4§ÚosœnõÓTý3UÿLÕ?SõÏTý3UÿL[ÿ²‡÷¯ìŒíèÌ«„?_uJ|øçõ¿óÁ"!‰^¸¯—¶M[õÖV½µ¶¥7ád½q_14gýyž^Ï/Þ¼»zý§×——ýÅÝ«EX ”|ÒËo—Ãþ ·ÇƒÉM1¾M`.QÌæ‹ó;Üz“ Ïòù`VL“Y²æé©×ýú! qµ¼^$H¼õnòø@Å9Qᬔ±”éÇâfqG*õ*ç}R ¬syô1%óÒ”JË$«.ÒSÞ)&þi ŠN‹]SÓ0èÐx6ØRŠPÉŲElúKW鸉––¬!—B}ñ f&õ>* ¥ƒ­Õð"x™îUmTï­e0•ÞµÞ¥a.Á8\2èJœ÷§/óâö®>Åh>þ(ÎÅ3ññF|/Þ‰÷âƒøIô‡Ó»¾¸Î}1ƒÉhÔ7"ùt^ 'c%>ŠÛY³0w¢¿Š¡‰ÑRŒÅTLóY1¹Ó»BLño^ˆÅÕóIüW|_Äoß1A!±ž!/†ýÛ9û¬ÄþXˆt7„˜Äý¥¼ý¢憙 ׯèM”ß ÛòÊÓñí0ǛⲘÏâ„+¦Q›¸Zä£÷äQ6‘·äzžLf7ù¬šœ2Maœ¨ú/Є#n“äûðÓÏ n³È#yÏñr8¤ç^B"š½zÚ)Íœ,Ü<'§Ž2¼°€¿lÌ—×Åø×ZÂdhŽÌ4ƒWæÁÇÁ@¼¸'é—‰l9.Á@lˆžúbÉ$ØZ,½¡.gxN‚æ¹#¼·‹=÷ $ÖInIwÖN|è› wÆ%¸áJ81+'á¬Õ§.´A 9FUe<’pp-à4ÖH¾¹l¸KÌy%›÷\Ò¨#ÜÓä ¯˜ø¡÷jõÀ`QLÆå¥?Þ-Ó? qÞ{ú†÷žLgrê|2»ÓþàW8Å¿~æŸGÅçï’³ìî¬Úé€ÑŽgð`VZî¡d§5ð@V®à|ÿ÷ ·ÌD€B%îÎ%IV.íò?`ZEÍMÖ… ¡ !˜&Ÿ^)×À9ç¾­pÁrZLqð{¬—’© ‡Õ‡‰ÖË­X`V(².c‘ÕeZøVeZèùºŒõMýni1]2Ô-J*+b-+b-Cu,+mPÒPÒ×PÒº+_II/^~ÿìÃ3øöÞdÔw°Ñš¬Ø(T¸ÃFC¥» 6ê÷²ÑP¡• ¤*7Ù¡“ÍÿõßºÔÆ(¿ö·®yûZÝ ±Kç[ŸÞ~s‡9B±›Ì1®˜ã ˜ –#²6`‰`†"ÿϲ?‹O¹¸3$^8ãbœ‹‰˜àï”°2Ì?.ÊÒŒ*Óár–8Ës±(†7øû߉ø-ŸMT‘Zn£Š²¼Gá’n‹(V|gM»Át(GÔªƒ#Š•–,LýŠ/Ÿö.Ï?T õêËèz2œw`Ymc¹ÊQmCYÞe»Ê%w!¹{}]Îd%5ï³Mô9ÿàù°Û5þiN‡óëþL\Ïúƒ ­Ø¯'ìÞ¨B4Ûà§I¹ü~ø}²ò»?oâ^LþÓ÷ŒnçzÈš-‡XÎ`ͽuÖ?ël»žIÆSý5  nÐÛfËÌÎá^F$ „Êé݈Çúec>”§«ùPÆ Ê(Á:@ÐŒ”q€e½ðo.û]7Œq/ÂaQ‹[0ζa¼T¯ùã¡ >ûñýÛg—U{Ï?ƒ'ÍÁÊÛ¸õÛ@n#$q;<:±‹ã6ÐyŸ¹ ‰šìþ½ï§äŽ%V–BámvÓ6̦mZM²“ +ËyVÜޮϮëò¨¸YŸ,¦‹š›å`qŞÃ>Œâ£ÐÎ…(dZÑÅnlÑMÚ A·À¶Áuÿ`0"Ùìíûç?ÿ\““6 ŒŸB’õ…{–±#-å¾ø«ɲªŒenb„vº6ÿï@QŸÊ·—µÛŒ,Wy¬Z²aaé¼–Ä*‹ÿ±’Üù*2ëÕ‘,€l] ƒ–$Ë\ €Žïe·3†[s\°ÛO[qí×nsì™÷-Ž=EŠ íСÆªº—Üê]àö~xõê庼:»Äbï0¸úØ×íZØ¿[P³àv¿î»Q—i½ëó@”6}^:]þsÑÛ²ÕxyðÖ°5d¨^šôþÖxéíñÚÒÛ¾Q"öZ’t‡Z”‹ŸÎ.~ü¾ÉôZ‰—­ àžEíX7‡oí³gxJ£p:ÓÐöÓa×e9òëa.OWüEǧ³b”oNÕ¬Ó»€PŸªÛu»=ê÷ ÊÁsUìWÎ{gOn%¤s©Aހñ4¼¦;­xˆñ¡o›tÚû¶Í¶,í*‡H3€ä›ò»eL“üÞ€è.[h­´{¬8nF°(ª{ 5S\[ñ½ÃõàÅÙÚ”ÛSþ³Þóïkr,Lì®Q§–&Lü=(ÉöuÕµ•MË2Æ7GÒ7LzéÈá¹7ìÁ¹TËÖî°ÇN-eº4~u [eŠKºvÖœÄcž2¥¸¡d¯¸‡"Œt\ûðØQöýÂÑNZ l¨Z¸qJ{ áì®pΡZQïÛÀ*‰Ê£ †;CŠT†p¦Úpc»„³1p¥! „4˜$õÞ‡F‰z~SáªMO/ñtÌ’ Š9=÷ñ´÷hÙ€lLаŠt:žB¸ä:ÀFÒarR¬ÁÈu¥ˆX¹—ÙJ<›e\:û{éά² º \R¾ŠâNÂ; E[`Ñr+”WópÙ´ó¼Ì(®„K 4G ·"mÿ|óúÕßÚØÕ*iƤ-¶p{-Ù‘Ü~oàÈwqvW†«[XxdXú:e mqr·“SÞ¶ß5ÛÚ!­ ]§†$t˜\‡³ñŽÞRê亷g)qï¹x!.Ä+ñZ\Š7â­è‰wâGñAôE>(Šr‡¶,—›«ýôÔ¹¡EÅ_óÅê2ÊÕNWµÃ»‘ ˜®—:ÿ<öGâc¹õ[…ÆÖ9‚w_¦wùXâßi‹`˜Ïçig¸ ›uΪLBŠŸýg9Yä7×Ã@ÚR,ǘ óÁd–¯s wwõ**›¤þ ¼RºM»"-@PÛ@xw~qñ}ZœMÆ“«a¼èŠ ?Q{·º~ëòì î6Hƒò¼ü ,ùž\5+¹§vòHéíä§!'¬’ ZØ ‚M²Gùˆ«äú|ÃÖ̯+1Ʊ*!þI2kcú2~ÊŠ߈UµïÙœy0‡‡ÇäÎuqx«"ü—¦ü. å>êä{Száió1— ¾Õ† Ùàz5}BqzÙÚR³àLµUû×eÊDN(UÊñ C¹mŸ*ºW6>œ¾ª…Y·2'\¾]Ñ›XÞ™’Íi×XqÅòƒýygšFOÎ&ÛÆ\Š'žK-ôËHÍvé]ƒFÚú–2Í!C¹×è¤SX´Ÿ8 öhá ­àô†p.Ã23>ŠpG'7ÐÚ@YàX^ê´±¸u.Y¥ü·ÎjË) »B9iO!ÜÞø®r ç0ŸCè/Ki´&“Ü`ÚXCN×Qš!—þ´éµ-¨ÓÔ|g+<§*å5àC¦Ü•_\}ßV6C®Žò‘kÙ2˜Iú¶ðÙzô•M;y’”Û‡ÇîàÙµé¤h>ãôq¥Óð­ÎÌ‘Óþ7Y ÷ø1Ͻ²Yï$¯d‹XÆ÷{ w) P”¡XÊEVÙø”0®¾­lỦ> ‘””" d°èè”íôîG,|õžÁ³âãÇ|F©‹i ¥K#“Kw¶™´ƒ¥4ÛÌîa~óQqƒ,«“‚­„Y< \b'чme‘bJM¬Äüª¾8Vnôž¨>YW‡Ö[Çio‹õ ÙF°£L™¾F=§é0eª¦œH–>¤Åéê“IPV~ I´úÀR ð(@h},™¢Sx6M¢2òÁÊXËÉ…«Ú?°¡ÿe² endstream endobj 254 0 obj << /Type /ObjStm /Length 2496 /Filter /FlateDecode /N 83 /First 752 >> stream xœÍZÛn#7}߯àã.C‘¬â Ì=Ù'{/™ æA±;amiÖ’Éßç›-µín[öHÑ€٭n’‡U¬:UÅvÞ+£œÊæˆ6*JmR>x´Yń߃QÉà>X•³´NYgÐ1²„Þ.°²Þ:\xeî\À˜ÉÊ£(ƒË£¤œuø²r.áˆ!ØY\X/Ë{ ûHŠL‹‘9ƤÑ+b#/E]ÜheœÜ2FÌŠâd[™"YÅdñ(9Å,‹I¤Ø àH˜"yÅYÖ‹µcÒ+â‚ $á xBW—òž<[I¤–òÉ£W&ŒÌ•Y+«„° øT`ft€xdœ¤BÌòNV!CF‹î„EF§"RÑ'yÄ*F’GªxɳÉD\ Ämy9«$àÉB„UŠ € ª1!YÂ…Ì9¦(R·^¥ÄrTÊIÞ‰*θH*Û$f•ôrFeÌÐböÐ09§ myD*'HÚSÖ™?[#;€ÊÙ>máJÖ†­a •®W,}Éà*@ÜDWr$Âî3 ú""¹‚VˆdŽä)æ°¢;"ÌaE˜á*Û?}óš<ŸÏ«¥ú¹(רã¢ÛÒBµmkkëjK¥ý¨&/óU3Go6ío“£æl6}±ø‚ñ¤·Ï^c‰­Æ¨èñ~z…ŠÛ·›åâúê´Y*Aò£•=Rž½¿Zœž4+ 4yÿêšü£ù²Âß~‹Ëß>72ÔyƒÛ›‹UHwÑDÛÚÚºÚçm=ü‹é²)Ý'?þýíOžÿõÝÑÑtõéä·Ë_Ëðì¸9¿¾˜^©Éëùéâl6?/,ó¼™]-W/?á!§ëfyz5û¼Z\¿UÞz7í½trý˪@ ÍâŸóÆm ‡Š¾…ØBú÷ìlõ©H»éãZÞËS‘„‡Gœ¼œ~þ®™ên1‘,ýÏ“ÏW³Ëæ/j"ämƒ1/¦çx;ø‹¨E-ÒûcûäÍì¢[‚-·«ÄO?L/›ôýjz1;}>?¿hd¶£Ùr q•%89Y5—ÿ*bج±'±ººc‡^æî~±°u[ wØ]¶š‡ÜáõjrÛ˼¾. ÝìWˆ¢»ƒG5ë~â}Õë1|c7‹Íw×B0Ý5,»*ìX\{7 PÚÈ}ôÕ„Õ–këkjk›¬%îÊÔC~е,®Îš«:©)ÐÊmo M¨šùä§ÿQé(ÜÊœ5(ѨùõÅ…¼ûvŒ ;•ì­@ÐršÓYh*°&°ÇÇžå¼›ÍÿÛA+²Ý7¶d4Üu¶âøI'Tð­Û7¶{„…@Hgì»ù¨î¡q‘OÑÉWrš8ï—¿‹Ëf«Áý#ºD<!y„ÚH쬖Ðd®3Ìø Ø8†¬±%èS‚Û=`s6“F:†-;Íp0[gŸÂ¶#7>ê‘Wu|[«'®Ï%¬oÛê‰cõıg1xä´+œÌWÅ/?¼}ÿîèô|¼¸œÎ­yöbqqÖ‹[MÌŸÏ—³Í½&ß `¢»À@J÷0ùžÆÑ>ü'AzwÍš}æ;O@Ôß |ÚÛuàójòýäo“żü<ƒªáOð’Ü äqÂæ‘‘nAÝNÛA#RÞ2ø‘m~oô³/®$}ЙÒÚ€cš9Ö¹tØlQÀÔÙë€ +’ÕV}Pl–å©Û€‹‚£½€bÙ‡K~œóÚ,‘@’tÓ; Š·¦#6ùA± ˜ì\ÄNËn/à¨Ö1az7¦U@Á¡Ü’“k/ìÉi'“½˜¤Ÿ&–Bþ Ñ9x}üb!”Èc¾Ï[¯½|„‚U1ŵ{!ˆÐ„-IcÜ„ïݵ§‹&Á?X´¹=nO“»:Ñ ÎvJöåòÄt··š¼³Õ¤C­æ+©ŒÜÃÕ/œ•ÌD/%F${”K|àŒßm\öxlÈ¢,lk .d$wi/àZŸ-2бoä$—‰ä›=¤tÈ<<-@rÍé ŽBÔ†Ü\6 · pwœgðN”Ï(\DhÇxÇ"êp–N^wåM]¾¿ÂÛòc}×oÍvÅ;îF.ìž– ?9ûÝÖÇt'®qçÕnÕ÷V8Ç샔©Oʈ43ÃO°ËÚû0š{8 ì'´â(\ IQ§-#Íž˜ÜN·¹þ¶":“<.”~â$› HÅ+·ƒ¯U7’µÔ7XKO:þÙrOö}—ú($Â9Èg:c¾;6°|bnNrÙ‹¦ø>§)n{Ò8]6÷œG½šýúkQ‰l~.çB·Nkd–vØu§§Œ,n–¯J‡ÇûR,¼kendstream endobj 338 0 obj << /Filter /FlateDecode /Length 5110 >> stream xœµ\OwÛHr¿ë+dæ=Þæ ôÿî½­73“ÙØûv×ÊäÉ–d 1)z@È’æóæ3ä4‡TUwÝ P¶•çƒH¢Q¨®¿¿ª.ø×US³UƒÿÂß«ýE³Ú^üzÁè×Uøsµ_½º¼øç¿ »b¦æLÉÕåû  [1nj­ÅÊpVseW—û‹ÿ¬~ØÝ<®7MÝH§…Õú¢ÐœW\FÕ’ÕÏk'ëFHWÝôÇõtCw¸ÃE²vÎVüët>«ê‡î®nÂ5ë"e­•ð”'Ã}s +áQÝp»þ¯Ë?_l„­™Rnµ–³°kàùO‡»«Ã¾Ú»µ`uÓX] ÄhÂdÛwí»ÝHUWíÝuØL£³uO)'ÝÝÖSJ–+| ß²åÌðŠÜÀ&9°NŒ2-jËG>=›µ}»¿2¹á]^Qp‡Rµ±ºÖ³«pµh`ßDçÕÍ0tw­çëÇÀmëúßïÖžD¨]ãBM;ÍV&j%÷„þ£ë‡ãÕ.:©eu‹Ü(aXbxO_`ƒÎUÃñ>¹t—|î>­¹†=ÁÝ7Ĉ²Ìj[õÇnøÔ¨xRv9!±´oÎd­„ZeÌþ@*‚»ª¾»¹î»+’¦Û¹öV½¾é‚HIWdL¹êvY,BÖ†i[ˆåß={ÊIki‡ˆpuj‡À«Þ'Bù=¹½Çy{uXoˆ’ãÕu²ú”`ª©ÐwCúm¤*?#Ùï//þ†Ûæ«íñB€¸V(~¼° ”³¦nøj¡8Ÿ¾î.ÞžŒ#R¬À—5×iáÆÕÊò•2ºæNc©þøî8ôíÕ°¾üo/õé¶ SºZÐm-müÐ/½õ)& ˜º©&W_@×´E£¬•Õî&\”ã A7$_ªã®ÛÞ’Ö´ãÝ=ý²—-«öA 7 †‚Óªê¾ñrsŒëQ#x©®Ã­ÒTÞÖ-ð”­è‘Jc˜­Ž>öáreªÃû‰æ¨ ´Õª?¬3iE! ®j4P¥Lm™ö±úÇþ÷„íøh2»K~;à)ß]p}Åxtý‚Õ¯äQ6£sÊ#hMଭËFƒ]ºŒ,ËhÊ_KC‡Ð¹4Y‡’‰€¨>&¼O>¿K>ïºãíç̲Ww— w#8§¼»ñ!/8ÀpŠVˆ\*݇A {¡[ÿ|¸ïïÚš|FcUÕ[R”U;tÇ¡[££4À©B¾ï–ÕÛÃûá!ÝKÛ¯:dÀ×Gn Ê*晩êàò&syH†ËlÇÕ·7{Hûó‹¤É¸»TýLÖ*U}ê®O ‚çíL¾+ïSJ-D¨T³W)ˆ¶`0Üô7H ‚<$Û”À¡¿3Y}{Š“Ç.3˜H õ7cìÁdž,ÚÒR!mBWßdN>}&4åY³ˆrH·ãÙ%}Ì«NÊk©©´VÐKtÃ]ƒ8)(ûï Ú³`Ûœ±¨½”§ã|£^KÏÚ>di@/ÂëË"¹œ?®ã1ù…,s `ÿ‡Ô 6ûö±Ûw¨ 0QVý–™ýàÃyÃ(¦þR}Owj¡aåÊ)ðšÜj·=ô]¶‰=^m碡ààp—o”(‚$‡Å5À7ã͘s”B#ÀÞQVƒ<¬džT/oKªh[ÁZýfîOØPnõ]Æ_»ë†ÑÝž’MŒÌªç57zûë‹Ëʹ ¹,ýC»E[u ØýƒO²ëZ´JÇ;e*M˜>½]Ø—×{™Q8Ò™Š$H­úË$Û ÀSµŠ\8‡“b ¥¦°ô Í€H{Pûh_~”¡#¹wϰéç}4ð•HæaÁL¾zWØtujMO3gÄ5VÏÀý®Ù3Ò8Æí4¢õ¨zÈqKªÇâ'sËì[ô Úz.ã­ÄþÌêèwmJµ„  °ô»ÔšF—ŠôÈÅp–¢‰"Rä˜ñ*Ü ´]°Ö…÷à^¿¥ôfø…¼ï‚¢|à¹Ioiû(+Fº²íóŒ )®'û’„@k]ám$"$@!’‘òBŠ»O…2 Åž¦Kõd%н•d5ÒdŽbB›šÏÇdÍ.¯ bĆÂjj§è³œ[ ’Ön1&ö1É/’¾ÊÀÏÍ32Û.Ñ·åî=3’²@`ŒUÇlÑ'o›ÙJà ¸ðØî?Q%Q:âYl@€'ÁþÐ''ÁVÝ37ï¼DLrèˆPw rñJ9fÔwï|°“lŽ˜%9bèwáNl=˜B‰%<cÅ6Vð¥ßà Iv2âjH¾»Ýý‚é2 ¬ÔŠ&(ú@ N»úC؂ˤäëFiDì¢XUDñþèolš9ô$ŽøÌ®=£e°#!ÀMPÃÊX©Y „ú_8êù§ŠÏÂXH0ÃhyÍ}ÂN|ÌáÔ*œÕ¯ø»XŠûb!î§á3‰ZP­a?“¨é1F~niìÄ}è¥Ø)¨& Nզ߆D14±DelòþÿLp¥š±hre'èÖBõçaô¿A XÝ<…‚Ï  ‡ö?^›fRÕ~¨þ*—.ÑPh;«’`iRN%Þw$™¸Ñ¤Ëèû¾m,|á”:¾¤’"§Ô§{l;Š‹¤!7%ëYû-ïöÉ:ü] ^“õvê~ ŸØôœü™®ÒgäWB1À0™ºAàࢩ7ÚÐÔ‘l@<€Šì}ƒÆÖ`µ²ïϘ9z›¢v 6!ÎØZÍÃøõ¹æ!öxe-Àx²î!w¼±+aD-c+†4WPÁÆŠ­uÈaPýo¨£‹@ùþŠÑb_—iMD7P_,ý‡nfS`ƒ`S|Ѧ¤Ä0¡']AµóŒ®ü „Ÿû‘²ÆÆ¤”†bÌJ:Y—m„è Íž° @»Û™—„^ü¯÷9{Ä›´7M©‡à>ÕÏl,7èm¸›å|§Kï’/Ýh®5ÄÌÞ÷à?´ií-[’ £?l3Â'} XÌý"Ÿ¢† Ð'6ý­è“`ST³â$—°–ó*ÕVï EQò±Û{lÀ4EïJ| Mm-»@Xï™à€W`îÝ ÃðÀ–¸“6Sè}rØp2,LÍk%0í"Yð‚vúù˜IqßmR$\ §1^=BI [m¬á |‹qLX,º5䘱m1WÛS” ÞD"–™HrÓºw¨Xq‚:Æ-ò†"ÿî0Ä/¾¥!9U#¹Rþ!×ÝšZ:ÌèªP6Z(ЪHÓΓðO`ª1ïÕ‚ßüRÇ•@› õüFÀˆ9¸×Ä‹òÄV„óïЬE•Nwض“Äi} BpnžI(C²‹ÇH€Uû¶ÿàQ¯)ýs&H «6ëö…×',gO ´ÒLÔ Öc !Õ´9€ÉO¡-2õ~Œ¤ßê2½ê§.ÕdÖP}¶1p_žè(»ø ž­ï½[Æãi†£‚6DÕ[üŠS”$NÇtxn¿ Ä@û¿OL1”žeâï»aˆ˜*3Úòu`ù¯Å…%¾¿–aðŠXK9þúã¤Eº¶¶BgtèäK“–Hº¦ÖJ嬮¿;ŸW±Is› ?ZŒ&jJUg¥¶òEçÊã«7í‚'bÇñ `ѵ³+î æà/gŒ-Ë肨3,€I^årV_Â˜ÂÆ+ˆú*b¯CãŠ+ž¨UœXØ ;÷\%)Ö½Âlà Œø2Ì n°W7ºL–ê³g¨;[CUñòê·ªAÔ¹ú^ýïm’ѳi“ôËöß`7•/.|<$ÜÂwîœèi\ͤú>„eàwÙw|z}ðèWøŽ¢6ú_ eÀÏyÊÌbóî%JÇjóâ*”Ù]Þ4Í*TÌÔF®¾F‚)4]Êg¬‚H%7MDÜT+s¤LÐæŠ[VC* Skëû=qb†T†„,NöCªþÍÛ¤|»"¤¦„[(½ýŠv<éˆuÂ9a³Á¦&K7ð2a€³hDFÔ®Ï ›<—¬®idÃ ØÆk0;¨öŸIXTç¸ÜOaÆœÄð£ïQÞç¶1k56·Ý³½FøQx•O“øB6Ì>â°]›uãLÖøl6ºq°á[Z.aüŸFY–zQˆ±Ñjc¡Â©¬¥ÓçÎ×RßãÂ/MѸ÷( ŠUlŽe\ÙGA¹a¯ìek:”N¯8@r‹§ºèS¯óNK˜&ã. ¤ge0PœæéC_(ƒÉZ72ß 8‚|7%åsØ sÍÉ£SиFÃĬïA¶n°ºîî‚;]\»mô-óæT7ï…4Ô¥ëv9½0Z Eò½Ûbh°¾1ã”ÎØÓ’û‹öy—¢EZ…>~‘ECìq(z)I'4Ä8Šó(Ø$y ÔšY¥âùUy›¬=áÆŠ†Þp|).yõ”^š·4\z7õS¹o+žìB>„5Çñ{3?U šÀg$2WËi’{rÚ!ä3­jYI: Ÿ°‰B=u]ý4LPL;zŸèù¸`+eæPûpcÜÛ$0.ED öÐ8—K?×âÆ–¥7ƒ]{, ëüXH›æÞëp?ÈuŸR–Ðãð5Ï»6(D[ -/ÐdÁºXAŽˆ‡”wþ?eƒõ{ŸlœŸ( yâ¬íYPÂá‹ÉÙÁÉ5/É8cåÛ±ã4ÀBŒØ=*š™aºhËGU(VùH†ƒ""WÄB–Íl‰1ðM&¡s@cÏdtaõ”Ñ}<‘Ñ5cFßß ·éþq~{~*4ãíÏ6L$Œe]3ôø1Ä»RãäÜ&9Nqån9Oæ×ñà@Wïó>­igAfºFl œ‡÷ù¶fÊ“ª¶`þÏ)ÕʪQyÙ›%y7Ûù(‘Àr£|Ì»Æþ\EQ×ù˜··Ÿê´7ù2þCׯÿsYóqLÁyä‘¡ð±v<‹¡YîE‚+ý”…’m¸â˜/àÎ)5­´årÎ ¶Ðq ã§k¼cu¡]Öü˜–Hˆ8\eýùj ;~Ù†ch=;:µ¢Vfæ]žQM§R‡þÃÔö/s¹'e* ^Çìšé~zô®ûàOu™t»2÷à9˜Qc’fìž‹ x®ØMçÊ¿ÿ6öÚËpêÉÂáµqOŒ ¦“\¾è]:õÒ¿åÁŸF Müà`ôÔA¦Áhº„fœ FGñI¬‰ ~½LÆ…G1ÆWÌøk¼Ýþ ÉB‹‡9á(—Ê¥cqŽŒýní_Q{Ýviß“ZáZ`ŸLÜžà¨R3:3wy°ñ«…†dnÌY Ý@–í”<Ôà«n~ J‚«ó……hm<Ž…ûÈLÐd1³ƒÖp«ó¯[yí‰ìÌ0œ 4Ä_Þèù&ñÉùü…ÂÊgäæù×1㑱K%_³-nñýÀ 5¿pÜ&>gAáÊ[ÝÖ`ôÝíüNÄÝǰڕ=õÀ9ü¾÷åÏG?†Y‰†t•ŸžæÿcÇUåâs7t€Í`+šp¨òóë8 (ÁÜói‚ŒÒi)fÖRD™~i+‚¹!µC lnÊø·ÇÓÆ”¯ ³€8[Ê#íüŒ‚¤‰ÕB­®(ئ'§obs*ày´]œ¹·!sÇ•Wž¡f'ôüÔ.¦IÏÀu •uöèþ b{;Áó¶ßf9­Ì³qlì8m­DjÔÀH"Qp<Þ_ÂüóÊÉKc™2Éøù‚˜tg%Tl¿†i·ð®Š #ÁˆC¯ý¡˜û)ùùS˜cXg㛂"N¶É‘éÝtŽÚ…rÌ}¶î_¨Ú/ÍÉ|`LP'5Y¢”§ gP€IÝL¤ù0l©ëÈ8óÓŒ‚Füq$*Œ,.Z#‚ØØ¼,´˜=6Lû‡F°wù¿d®ý°g~õCQïV„~èBåžö(¾ ö1g×>~RJ“¿–r÷óIötíûR¯Q|Sò| [˜(›a@Œ¼2šúšÑÑ81jŸ¨øqbtœ‹ž.Ðæ QÇ^*´„ÿx&ø³ªæ’$ÂéúFð×zÛ‡ìñ4ŒÆŽªd³¶ý®dõ¦Í (·€¬ò~ 79Þ|Ng†¹ZržsNÐÇ^5?s Ìe<•e¬çKž¼ï´ŒooQe5qpbäϧœGÃmŒûø:ó\£Êá³}]ó&êQJÍJÊ*Ê×2E-‰9o»\¥‘§û&$Ñ‹Š¯g˜¦ˆ(‹H3Ë4>ƒ‡˜A͘R~Æy=(Qí¢ê/ʯ¸0+ƒ™»]½aŒ¦Û”îm\n†ìC©BCö¸HŸäþáôš¼]Çyº¤¨ºË»·áœ†qË¿wî9Ûæxåc.VX•ßûØaOŸvè''¼ Ì.E¯;VÊŒm"߀KóËn¬x} yHéwáÜËø®•$dÿ_*!c‰¸´1Õâ¸iÎRÒ@nnp6y„"Þdp²‰3Èè¥Á`Hª1øßפÈg|Q@êœô×ù?Ýæâø{ƒoxdÆö8Ø%qê¼ íƒ íBôô5ÿaW*˜"òß.þåèendstream endobj 339 0 obj << /Filter /FlateDecode /Length 5746 >> stream xœµ\Ks$¹q¾ó/Hr0tQµc»¶ð¬*;|)V²¬•BZÓ¾ÌøPÃá¥ífs«{†3úí>83T#T³¹¤cÓìF‰D>¾| ~ºljqÙà?ÿÿõö¢¹¼½øéBз—þ¿ëíåo¯.¾ýAã7ußôâòêã…{D\vâ²5mÝ+syµ½¨äêêï0¶Óll'kÑ[õáâmõûÍÍjÝÔéDg»êËŸÇ/«µRªnš®úï î;¥*6hÚ»{?ZËüÏÕd4­ÃBkeêÎZ·ÜÃj-@Ûèj÷°Â)µláOîs'û¾Ú œ¿P­húª^­­°u#Úêê.ú~Ü]_÷}[mwnæN›êC4†¾ ã{¶r»®ÚÛq3LþGøâ°ó?ÂÀíø…Íá&7½†qköË/Ø_×ñ¿Z#Ô‘RcOPJxÀTï*bðwW»p"b.§çІj›Zöíe+eÝØåãmõ×h/ã}ôÇÝ]ã´ <¬†øŒ>xŽ©ê·Ãá~ÀyzY6ÃɦiâúâSô9ž®Ú}ô”ª®0s¨>¯ ¨i#m5L_ÇXÏžÀ®åó¿Ê)Í ]é)ôýð‚cТ˦M -È#ÁäÅЬÚßøÓmž5[éÓ±±;^PmæxÉÕ*Õ-ë9@gËp\˜®Õ`óú”›`PÍTV¡0Á€N‡pÌ=ÀÃ1öxdÚ%´¯˜gá’ûõÙrúµ f=€%纽D³ N›[^{XŒ}úbj‡–Ód¾ýçÑÓÒ­dç4†@k[=.ù4?nòi‘Mm ¶Á Õ¤ø\1 9ìknòóxw 0×|/ø&ãánɽ ï¥p~?6„< ÓŸÕvDüEãÀ¡ÓÑÑ3ºú«“20ø»q¿'îã/6Å›Oê,¢l›6S9¢×¶gÇ‹4öÑyeœ#•.+5lö»°!›ÀŠCr*ÇŸòõü ~.Õ:eñk3&ò8ôSfØg,áv*«\P‚Íáˆ*ñ (Ý9%t£%ãhóð›ý5í¿Áç4¥@ÆšýVgÌs@Zƒs §Y@Bjð4~fùŠUŸYÀDÜNÌØÄ;™Wí\ÒI“YTuZ!ðÖ£¨†È4Õ#ê•[CÒTH!ø‚=ñ“ž±í3³FA± ª5zÍß¼Ðiv¦–ZÚKX¢–­qîÓÿFæ!dÄ!,ÊòI^!rcÇŽ!¤¤¡­îüÃJ`šÔ¾½‰¾©áØcR«}9l½Û–90CWÇûâMHÝÖ¢lˆ'`k°ÝôÛšBAáó¸ÄÕÚØê?—Œö‰ðøp>Äé@Œ±²ÖR 0?÷1c`Ù|o«Ô× |n´[ˆ–f¬âp¡9?p„[äaOÙ~å‹+’Ü[¬¸7ÂSa1u˜Øf7žØî–«ý2Àp5ð½76´¹ù‘ÙS8êg™ÿ”©OÁ4o&Tk8¿ÎŠÆ 3¤ÀÜ_˜Ãùѯ'ÇM߃Éü.úúÏþkŒu6·»‰c–-ø–^*ˆ¨!Ú¯"Îñ|ð+«ˆ´}-@©w^©Õ TD¶4•Œç{› ‘<Á˜gø9 #ˆ­*¥‚ˆzþ9ˆB\_V‘-O)&ª¸#䥅Ýìªý }‹ýs‹®Ö¡Ù5ÄÓÄ^äÊs‡®ìZÈ:ä›åÇÃŒ±*Ð`($¹Aî]ÞÁ¯ŠZ…§}óÃЫV„½ª7÷~)˜‡E8¥ðô9„_.iöèŸ%|â>šB&³ÁŠ­Æ‚²M ¦$ —4oL)V·æ¢X†‘Š»È(ñÛ’»@þx¬$è0¦ï­Thˆ:7˜[/*0‚2/×_ƒB%Ì¥0_BÖ/P`¼oÙtÎÅkÕâÜd¦©^mû§TÆÐœÝ mGp;3á¹$ÙBÌÁÒØÞç ð¬=ÃÝÁcÕÔÝѼZäù?üÔÈ¡F%zŽ÷YŒ’:몕Û!Ù=Ñm}†Âºò*×…É›'ÝrÍ£)K<~¢ú«%6aqìH¦Å«öWÿ8–D>úÓ“¹1lâ„OÀïw±±sS÷­Å:éŽKá¶ @ݺ6 ªˆ,K|?¼O,=Ѫ¥‘ š—ØO™t~.N´Œ:©4f.kÆ ¬<¥rDKªóLÌ3@I]Œ™ü}ñ3›oŒK¡|}ý”ûÔ°ÏÄ£?”‰G@EY ïâûê>µ¢R4ŽUÆR9÷S@c;›Öü"BäGeZ2]/Œ©q"C\Ûûb¢VâžãRε'ÏtÏhI"žä…g"C¼kqŸ‹9Ýv¤ÚæÃZáögC‘qÌõÈ×gg Í!NŽ©šy²4D¼Oˆº¾7ñ$†þ 3Û®¶ÞkˆŒ…¤.¨Ê¼$Îì4gãùÞºžC"Þëú&±¨6ÍB&/~&‰‰¦PrÖŽ»TPLã&ƒYTWm6ذãéàkà¢ýy а›±e%ÍXÇC«±óï c¨\˜iƒO÷«æ6é€òÞŒÇÃmVÌ¢Óáp¥P¶ÈoäÏbP?á(çÚi4¬Áp9~‰œcñMlÄÖ¥. «Ð/± u)J’$=š÷d@Tº›Âòæ„Ê"TNÁÍ t(,k€+‡)ô In­?-ÙçRi*­"þÙ‹Ìëümù"ª­Ä؉Q2§`ã)¬Š§o6„.ãÄ»^¶q¥“œ SÒê¸â>cj¢¤êvò…Ó¼Å8´±º_öé •!rG ”]kDÔÆæGcè{¦G¢ÉÏ«–О {ïY§ùli˜N”ŬPŠähyP¨ÇñˆiªÔè‹Þ8} jM-ý‰^ƒn rx½^r®´Kì´•¬ÕZ6áÔ²`3¥«×ë:º¤€DýP¢ÂwdƒIâwO—<òRM.j²ë+]ëZŸÆ5—Zç<)=€!FbÉ$)îX!œ”T—Thn_§]‚Ìò^båÑžcŸí õ^¾¨Pb ž_˜:/´Àx7/Ó¾A…N„‰!ÞOòÛþYPîñ¸“ö´ègš1Èey`)¨+z7’ yŽ"ÑΊ€h•(¦rõãLÊ@@´Óðu„ˆ$dÆ–pŒ×N¾Õºc­›>qIÔ ypI!>k3ÙmñAP Í ¸Tõ;ndù5ƒB}#OCì}Ø‚”ÇL.i®ÐMÝšþ”òb®¶i ßLNhWÌ`ûHIÛy/€þ ÷1a|l  >idIïîA¿6$Ð'¯³å0,K‚“ƆÃÎËÿÝáðð/ß~û»Þü¥þa=%ˆ:¦Ýßo®õnºýöa¸FTõo+ßkh’eW7³œýÜÐ Ûzì¸ÒµQòZIô¼! ŠI•—â=ü>ìÖ¼¿†ØmjwÛ"µ§L·pfãF²Õy©´¥ 'š:èÊ›Î,ÇüDÑ5˺þ„‚›b²(Yñ‚¨2‹ ˆ U ë:"[•gχŒær³tb~ËÉ/+b¦c*žd¸½s%mÄr’ûÕý‚ ñ„/ *å1IС<@äow\ÈUéµô ×á}á9I"ˆßú!’‘iÜMcØ9¯;M»¸&8û )~¯gþ_˜ª‡Ïš Ø.– ^™07€YÌ·íñ! ;%cR9¸ñ¿XÁêî”ÀÇñ<óÆoœ·+–ˆŸcüD¥×5á…š-’Š×ÊK6•~Õón&xÆêy_(’‹õ@ïÌðû`=¾†mä"S}*ö;ÍÐÇK î.Ç­»`õ‹¼ÃÔ´pû¸®±õ_cüÊFYÈ=ÚhhŸçy’h-q BÔºO¹„®é_Ë' 9ÃAØÔ?zª.ÔíáÎs¬ÌÞoÔ2 Ý }fü¸H"9Ê—j1lx§Ê§ÈˆNi+ïÑéÌÇÁî¨æýÇ'èrFá•Ñ⊤^ÁÂ¥3hUµiÛ%‡K£Ï€g°*´QQ®º1„0¤)c’ ðB?…‹‚[*²8"¹nM=Ä¡*æv˜~L3¡ç!½ÓOוeh]k’þבQ}ãÆcßHÕÇyQ!çóÈn³LžÈÞ½6Dû‹Ì1BKl@Ø–>TguizZöîÆ~V'?O0øb÷Là›ño-À]Y<¦P/S#z4ýÇ?NÉJPŽÒM:fLýÁ[MøXµhl¿¼ò=¥â€†@뎲täº6AÛw4k‘\ºŠŸ]‚Ä©›aNh]u䡺ЉŒQúÅømñ\§Õ|;~©Ï8@Øe÷h 8¢w5t›ý‰›[kô¤>ÁÆu3&Ad¾Ör§±¸-ŸØí3ö~‡yý’õÜ1ÀÍ_5•fG „B‡)…L°î]iu‚/Áâ$‰r”Ý4Ôà‘5Ò6‚r†©4Dâ=DБÆSƒ™| ï®;ðwWì=}p¾PØHD¸÷‹n&q«w^§ÑAæYd`Ò6¡1 ~¶Ìå¡ðÓο÷¥G؈œ/Aàj†¿ó!ïPF2Üë2 =u罞©) eVÚ*둪5”iZ n“˜Éí¡E¼ä¯:K¸_ZÐÞÆ@ßc‡E©×Ðn7QÞ/MÛÐ'í4"Ei›8s½s ù®o“6O^4bsmws†ûÕ¿Hkˆõ2ríé`y–ý÷‡Ñò#óV_SÔHûÇ—mßÍärœô¾´¼_22vË‘Êöx„ãø¦0žúv^Ф–ÃxZ_›Š÷g! ’Ðt¡Î%öæÁíɺ…Ÿ›´]U:­´yèâùM”IXOG•½Üî)“Œ•ú¶\B@ty’#߀‘Ù9Ó;ow2û‹)ÏÛ1ÕSd¥ÙòЦ_}À¿,™0‡(±ÈøÀ5þi¡Ö,Y´-‹cèBFøª¾,X–„òØ]¢=݇×me—žç".^û i{~`˜-\ò‡Âò<ߋҼ±mðoMçKjé]· _,i[cp”ÌÄXoCŠ[¿ ®ö‰VJ6îÍ4… 8Êœc¨Óއ”È7O&òU> stream xœ½[Í#9çÜnˆÃ"EsÁIQþ¶‰EìjÑ,‚Q#¦Õt§3Å$&É|4þr¼÷lWlW%½Ã hSU±ŸŸßçï=»ÿ1k>kñ_üÿzsÑÎVÿ¸àôuÿ»Þ̾¼¼øÙs§àKã[Ïg—·a Ÿ ááøÌjÛx©g—›‹ìËå|Ñ6­vÜLJþnޝÒòÖ³n¾R6-ìëÝ¿³ í•sì)RMÛöÕÜá7l×to²¹»þz.€á-{ðR±gÅ„~Ÿ&ÿåò·°=ÕæÛ^6–{ØâåͳóË¿_,”â³…Ô3¿Â6¿ùõ|!”ƒ½8WòVcï¯ó·‚‰ûŒëCš®Ù!0¤œð "úÁ——q°–¬ ¾ÝÜg£Ö¥è‡IlÝ¿ž \Ëø’¡uŸÉ‚maˆÈ·œq‚² j Ÿ gWì]>¾ µ£å<¼ÛÄû0*²±é÷ûÂV‘´¶Ùêöû0Ë;Å6Å:›°¡ÙËÀ.ðU2 x/lßD¡rÖ™…Ñq°1Öí«ÊÐv¦·î¯F#,«Ì2lH:à˜k¥gs42.­¼˜]>»¸üÉ‹‘vA›$9Øx¿ºË~Û¶uG›7š³Ã>L‚²~Îa^ ø7l<æòeáå)ªÆ+-®£Àï"oàŒµVφmº÷ý†œËÛ½Ém"EÂ]ÜuI†¶?Ä•ƒÇïúí®O ©BÚ»íË<~ä/ýº?”Qa5OT+,--•Ö {Ul{Ÿ¥žØ¢9’­QœÃfÑ“@¯­5y’y€ žTÄ´ƒ~Ÿ"¢-´´?íšyˆYÒ͸j¤2‚B2iÄ(²>‚”læ ÝÂ\Îþ¸'È( xž´('tÖe|áœÝ-ßÑ »Í†¿¹»>ôÛ»ä=—è\¡]ÀBãf*ˆ.Ž„l¸³>pô X¨Ò ÕÈð3Œ+‡ÏÛõz;XÖ»:v(­0¦±M \,÷æT|ZÇ`ügyN *Xb¢ ѪËW»‰lƒçm’r壋y'*M® »/‚Ч N¾Õ(^_ä(c@ª:æ¨ç˜£j pŽŽçÂ`iakè9ë7…sìºCLjˆHÛ¤1ˆiû‰ކH ®VÆßnu™ßw›"–¾Kv zt ·v¶ €é\dþnÁœU虹×äú%K. Ièý!ßü®ˆ˜,åŠ ô¬5ûº+œs߯ñ]öÛJöòÛMr ÄÅȸè»b¿'‘J\r%Šž~¼ÊG«òÆ‚ þñê´‰îÛ\TŠ]FiAôêÖû-)æ7—¸ˆQÏv§‘beƒ)‚¦F´ð&Å)8Ø{\îƒ×ñ¼±ù2YÐ7>’{yVÉ‚®€Œ˜QþP’šÛÆ^²:PSúi1@ô€h0 t¬¢RÉ?^7àÀhAj묲ÓÊ ¨Ú lDwƒÏ%ܶƒÛÿ¥¼ Ö5Âä<~ÍrçÝŠ‚.hÖ~„fÄ])xÉê¼!ÕrÈžøÛ‚›Æ4ûíYD¶*%ÎL˜d©þ(Ræ.~;9ë2`Ùˆëž}»ü@hïs–˜+Ù<áš·ýM–BëDBt% ÛH žœN·;¤ÈÈð¡ð‚YᬦNB)h¤ïºÍ2ŒQk±8 £žÀ1bcmb±ªº%,4¶—|ªéóµ͆Q„žµŸ \B0,“Mì(ˆÛº8ޤìw¾‰1a °¸W¦66ä¿sM¡¡zȃۘMcÊ TÕ)SF¸7λ 6°%bƒõò„9hIJùïbƒ½ž2Þ@1ç“=4s¨ â¬9[`ŒZŸY¸‚„K.nOkçÐõkjmA¼öT|ÒãDS1 ËH؈*8#72†HaÕ¿0E_#/!rÒ³4ÔÓ&n«ìR$®]ä$[å£úJÄ„ãÉÔ  èU¤£äØvCêD"¥êàn+¡«j‹¹/U™9êü“òÕ´ECui¼Œêm¿º[hÍ»%Ô¶TÏ.¢‰ïŸ<Å­r쮹}ñäv½|ðv²‡ïP#÷YÇw·ÝDƽª"ð£míê9á1 ꈛ0{u˜¹4õêŒ8¾Æn¥KÍ:žÚuE~…Pðš0_èÍÇá#Ĩˆ¢™ÞzÛ(ˆßŸRà ƒšá㎆5+A: ¢P² n¥n²‚È=ÝLµÞpj{šä $Ïb›âH.ËåSÖÃlQÆ¿û=ØÌ”&°­jÝ`ÔCIx5å¨Yç 8C'?o)MèÞô±m’RE„1ù.âÎUiæ èÅñr’ï8è&.®G6ü±½ÑH/g \ÖŠxÆ÷¬XúÓWûÖÕØÔŸ¬ÒÇþ&§ûK}õò“pÌ! rÁKòx¡™aU€ž59͉ö+ý¬&ãøÝ*Ö幬Èk}™ R©¨ ÀïF²¼‚Ýúîe,-!YX"ˆÁ‡è¥Â ù‘Í1ž'¾ŒŸËNïY$0Ö/nŸÛir ÖwÝÐXzw—v/B¦o¢®|÷YuPüPœÔâÚ˜¶¶ILã3¿aÂD·gúl ø%Hê—’oç®^öNC|ÎŒ¶ Äl!0§³_‡Óq:5lãŸÇÉϽNžñ!+ÄîÒ îªòµz80úbN‡1˜£uJî.MÂX,FƒŠ¦kŒÆÊ%Œùi¬BJ2ôG|*¦,ÀSšÔדRÿ)p ÏÔY0°xÄ. xñ¤p”iŒ±¢ŽhO ç{ g bf`v¶¥¦ñž¤^#Ù“º° רu^äCϨÄÕ‰ðºÑžŽw[ÕŠª¡1œMÔ¤Çó#‚þþ¤\lãè(Žùá$‡œNd"œÜ.VjºM›¸bíuˆKƒ~>IH5Nêcüt™\zAw˜Œ¤óõ²hÂOc7aŒ¥ÆÆ‡­ÊÔ²Ù&ó²;R$†úš&´¡å‚+Lc_õ«“Ç%x+çz&-8F-€pü#NTðBTT9š‡<_ Ú°z¬Ã=YX(ïðBÛc……h´8tFdë]yê[fÏ7Eþ>ö÷‰”¢ÎBT÷D¾ È6\ù‘0ž—%Ád<\Hœ'êóõ‡Ìï'«Jºk"ûž¬,5i…ç”°1¿Ó³›ì©¤ MaŒ’ù…)ø&Èh»DB³U5¯p vë¸&šß7‘xߺ?é5Ý.óßõ²G] ±pNð€jl¨è2mÊ÷g¦Žþ=8—OôùƒÜ¤ìâ4ãDÍŸm>ÌœÅD‹d %:^oWÝ®ˆÿtÿ‹.7©pü'ÃÍšRô¯S7¼Êùœ¸ý‘¥Ç5vN”´„®âæ®K×ë$¨Îp²»Y=Ò©ñQI m«{ŠÔ‘Ã.“IýE\!&£ö"ŽWcDºU c!¡Ê3Ðc¥C³Às…ðD‡ûüÖ_ w4Pu}VèÇg]°ìÈ·¬˜‚R…`´m‚95FbÞÇàËO@k¤€OÇ‘D Ó•€‚{ìaT@«Æ}9ÒšÄ ºQ ø|’ HÒ_#N‘9vÝ'‹h¼¶1BUQúæýÔ²?ÏËž'Hì2t< Ž¡B·Ú~ˆ$ùã ™”$¢c9 Ùp CXÝx®‚U˸‘Ë.ÆnPƒÙ]ÛÏŽwm³C\šihæøZ7Ý©pU¦ŽzÏ5ä *͹Ýú†ÃfURýè6]‰¨ï’ ų¯N{÷ylœD†7êxÃ0/®N‚ˆÖh1td’®Ê[÷çe¡ðÊÒPE¼ž’…Ã>*¿Ó©yИ tLjŸÊÆt=Æ~p:FzÊÇö…waF™âìfB÷²È·l™J'‘¹3ä>‡NC^÷ƒ8NŠ™Æƒ]ÇyiÉíU‹.tRŒØz¾ÀY ô–\Ë)'JÌ$VŽKÊ}ø§«W!É´ŠªJ¯ íÁ•º dȯSä1 êŠýok¡ Ü=7ðñµ þu¹x5 /ôŠòfØ(& ¾ó…çˆ ÈÔ¥Ë|Ú•'…$\%ªüÉ?#=)ãd )ðNß…hãÚ¡Œ: L–±ãKaÄ4¯›Å›hF\Y‘j­˜öÇF‘,S®R”BCCB¾ L=ÿ%ž=**öoîïñlòOÝ[í¯Øóß}ýv¹ÃÃÊ+ö|³iŸ\Íã‰dõ¡å¡Ù/—7WŒ»VÄñõ uÿr×í€puÔYŒ·B¨Z=•ÊtTzüðÅññ1šßno–ë¿Ý'übqüñ«gþöùj½¹biøä¿Žƒ›ããOß\±÷…|ô”tÂÚ÷®}?½öÓ4˜³ÛnÓãå¯0̸qýI®­cŸ7çgÃÏ9+Q„Wa»á”g`D°÷#7Ôø¦7(è26HiO¾žÔ–ÈHmP:Çg£Ö®’æ²#ó(Ï«ùÓAÕˆÏZO7,®·w‡Ýv=±®ˆÁÂ_Ò•› 1òvÐçèr‰nœ3Ã94a×þ¶¿¦Ó©Ï"{·„œpXÞ5ÄË&eeÉÛ£ÔŸmW‹uÿz¹î_m·7黹àÚ¢€ gôeãÜñæú.þr,endstream endobj 341 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5353 >> stream xœX TW­¶¡«@E¥lh‚V5*jŒ»&jÅ•ˆ¢bâÖ "Ȧ€¸@³Óýh”]ÙdAvË .1‰{ufY4f'1ú ?93¿3Édæ”r ºªÿ¯ûî»÷¾R06=…BÑg×âðP¿°qãGÍY'Ÿ&¹*¤=¤J «ØD¶{ÛB/%ô²9<à¹µŽøm?Lèƒ ú2J…Âw}˜Gø¦˜ˆ  QÚñcÇN5Šþœ¢õÑέç·68<:28Hë¶N;o´×híáÑôdvxx˜Ö} _H€6<@»dýríRŸY‹}´³/\êíóüèßîê—¿†™8=lF¸Ç¦·fFxFÎŽÚ2Wí·ÕAÌZ¯uë¼7.ò ^²,Ô·cÀÀQ£ÇŸ0ñÅ—^f³Ìx3C˜EÌ+Œ;ãà c–0Ù¥Ì2fãË,gf0o2Ì(æ-f&3š™Åx2³™qÌf.3™ÇLd0/1^Ì$æ f2óÊ„1LÆ‘á™þŒšqbœWEOæEŠ*cÃ$0ë­=f÷8§tW&*ÿa3ËæÛÛ/U*ƒês6޳á²íìæÙ]±Ÿ`¡çôž'{ èÓ{eï+Q—úÄõß÷pßoû-쇎f~ßÔ~]ÿÄþ§Õ/ª¿pšìôÈ9Ùù´¦-ÿR.22`űViu´¢½ÅÉ:’%¹íIÅÆÝ‘àÆ”¤’ÞñX“´Œáii©°¸j¿ù]¨†*¸åFÎÊnõž—‘fó®VtÒ`©êk;J§ª5·AÔÂPiäÈeLQ“*´Ã&[‡v[ºt•õˆ5ÂâˆJTàjT8ó9R›“Õ Ùoüß&=<¼§ &ì¡â¿&SmuìûY°N$xêØróGp€]{ðÄ –¿ŽÌ'­—F¾.ªÿ¼„>®xN~Ü¿X°Üª@w샟ãeûôRÃ7“¯‘Þ98¤êÀm8ÁÝŸô ™(t¼¬{ÔÑæ¦“–«pÊ­»ßŠd2~ªžµÎƒØ äy,ǹªK§¾) ·Ô ‚^&¬@à_p}À"¬þÕc¼I®—ž³(b/ÌÇ^J© ÃÕè:æ{2ŽLš8˜8çû£pNúâ{tH¯\õd Q'@»Û'à/%õBYã±b+œƒúMEáû6€/¬f¤‰³bp4Fê1Úªxݤôfe{‚Ï ð]Áõg/Þ|{nöö«!3Í 9\9˜+D cË!c‹0ÍÃç䜊éàBÉhâNˆ?>O܈žÈ¢Ú‹´ˆd™Ý-g ¯w|H«˜‰½œù¾Ò§©Faô]âê½<:x­pŠåÛÈô_*Ø‘ý\ÂVn9ñ.p8ðñ§8T$½œˆ»Çòù:]Ù‰³X¾ÿÉí…G\/÷&ÞzÇ¥¯Žë¬ŽïK—œùÖv{¬Uû©‰ÝVŠâ àÈP•4Dú*;vC–KY"è…Ž •ÄÛ6«øÃ8(û¯§Ðɨ:†tÜOŒƒTHp‰Ê‚2A*QQWϤŒ‘Ú(]† / éÒˆ÷Ô¨'#±ñ:¦tSdŠ —àpJ©"®b·Ã7peàª9ÇÑMŒÚp„ê ø è°oµÉ[@Ô´„Š‹™’Üþˆœ3¯•^—Xu‹ï¯yúí¤ÔWªøkdòRÿ&…­nAn"Îcùá–,œ€vÂNCÒ6ˆáü-Û*+-EMéì(y•jùŸüœÐŒZÊ”a’·: ãm;îÒg¸ï¦SU›Q‡}Œ+qÁê3ì·ÙkfˆÍXã§š‘¸æa Vã`N€Ê{Ioù N¶2É|®Ö\ªQ4\ÅíW•Òó(ªáäfKt±]PæÒÜùy óà$wé.”¢2sV„YHÍ–ÙV åâçl díH6BÂ!5Í”’^¹¸P2ˆÓ ì»å`ŠX•bIÞ àǽ6ô˶… ÉûLéÛ€ÓCZ”HXv+$d™¡pŸ°¿äXài(—3Ø/](Y”QÓä†Ya•)[Ð ÷£ Æ™—Ú¯â6µ•4j!ˆ·Y£C7wô¾6":6$ÞÃð½^×׋|°üXôÁ±Ö?lþ§ÿ¯®|\ÐÚ$ÖŸ‹Ì.r EÔ±ÎæN¹`­èíø*üš±w³3ß&Ùc_u«Ÿ/;74,d!\)°‡XÉôñcMÃW žÆm¤òw‹T¹ÝŽúèÆÑ³7ڛɖM2½t-ÏìY`Y¯$8"J6,o!ž¿rk9ûúê7¦NK­<#ðü–嫟ý4žv%ìqÅ ¸eÒ_V9H“º[c0j”’³“•ØPšÛXÙ ÆaàGa°ÁÌéЦ£ØèØzóh¦Ç¨—ŸǢV¦P/°*¤Ë’»Z¾Ëþð"EŸ­*KIê>ñ"±#¹Du¶g¬ª(ã,Øa°6Ó¯½ÀâÌÇœ­æ”rp)„lsÎ>œ‚?k² ve_€nìZ ½ºs0c,l KÄvn‹Íy›þÆÔxqÙCXl°=gUE½éCè&㉻cw%d$çFBJjœæu²ˆ0X"_eœM¯ †J¿é<‹£:úeÅìJ*—qó!ö)“üjcªjªKJ’Š·å –œ (îjÓú)âZ–Œ'ÖåX䢯ýííæ£ûD~yèþ)´¨J³¡L$¾h§5)&ø-Ëñ¯9øÝn¡«TžÐ\w²ÎbÉTÔ!‡.y{r²?+;Æ:7»èØ’RZ“”£QœøüpìmÛü†PXJ¯àt²8–,¦†6,ngRÒd ÷|m®¦?`¤ß´U¿; Àœ•->@[TW[?ªÂ|…êX ´Òk¸N¾J\ËF .m¡zˆy²“h»œdà¨{d Àßò†•[ýƒ9<É>k&ÿlf‹JŠJ ÷µ,;ch¤þ!<ºƒîÔ?¨¯†Å‘!+VÆÃl8¹³Œ“dÈÉC§Š›]±/~®ì$ßý*ôe;‡åÔF’<·S`ç§¥Äv±ªˆ1ˆ Â( ]²ÿÛ…"Yi‘.Ye¨PvÓ9Șú”ÎpbÓÒ’Mi2w“þX#Ó9’¢NéìÝIç‹,zu¸§Äí K‰sѯöœE­( ™æôš|hà,‘¥¡!‘ú •GýÞ½}úÆÑ}I~™{we_)ʆs½¢¦ŒÙh¯”i¹ó ¿ÝdŠK’¶nš3†ÚÕ»‘ÇΧ£3:g7¦€Éh4‰ii±; ‚ó«ÛVYÚ°çÄmÂf.%ž³¨}²dÀ7cpŽ;ˆ\¥‹Í ƒž‚4ì„ô®ó$×Éê&µ=²’ V  'I‡4$I:”@y¬§ÊD‘º¢‚-&ÓæÔc´)¸(ªÜü÷Nëÿ¸Óú£ØM`„ÈŒ°]¦t(ã¤3é,Vv<ÞmÈŒ/—"ÈÌ݇5í=4é2èª*óC¨£ÇC¨ê¦Í&«dOi#+ A¦ÜLó¤Ï:‰å­Ï†¬f·”¬©ö¤ :hÉàï_B—3'J,GD_–Ÿö؆¯zÃoyìWÒ¿LcXYƒxðìùÌrh‚£1–5r+R±FŸj|Íâ(Ç»¡÷á¾3ÿ7i ž`$o7¥Å& ›çÍÕË9ÄÝ„®gE<­¢‘ •5I7Wýš}ö,¢Ž}É8ícñ|áØ£"q º¨I‚ÊÜ”~¤´¾¤öP™C%ô›²ëúv·-FZhûð.rJéeéguÓ†æ™c‰r=á÷éºäÉd…'¨²’ž?²/ZòÌ&c¦°#>aè¹µµ1ûËê ŽÒB+™Î`RЀ­]ÉO ›²}™¯FfägdŠÐ1²«hfx õôx Õôëݰ_cñ•¯?ûQ$nNsa#[QTá˜2»;“Uµ8þþÍZÜV^çxðöâG8ãQæmgžc¤fiˆº"¦ÖOç¯Ñ ¼#Sá¿.g¹+–¼6+$׿9Hܶ5&*¹®< t;ÇgˆLöŠZüœ÷¥9¸_¾súæ—‹ª#ò…óaDÀHI×eÅ5PµÌN/ÈÛsróY(5âÌß>h «Ë« +v™ÓRèxËé÷nÝ¿oI©@ÖP¯ωŸÍL„kÇõ/¾ÏU"5´>êÀÀED#ð3 D³álÃÅ P ¢JuýƒX_±k²)´^ífä¯ÞûÍo†›¡oÍ •Þwªß³ã?nþÇh3[ËÄYôV‚Ó܃Awˆ—Ða«{¤âåò²Õ´ÕäòþÔ]ÞÃØ“m„Ú¸²Í5AtœCÿ– Žo Ÿ(å÷[u%ªCКٸ‡ë(#¢ŽÅefÛî»Ñ/¢K‹Uq]Ðû+%3Ó䞦OòÞŸ˜4•n“#cTT±z¢òÓ«-ð­ Úk?$b;bþÈeÖåëK7‡”†ì·î*îþÑiS—yøëDJ¢ã(œ1.Û¤ÉlךqGP@ÇCw°s½# FT·zìF·#؃þFý–¤<œ­†·#¾!cª¾¬zï}ø˜»éqˆÄfŠ÷ËoÙ¾¿úPÉñòøº•YBsÓUÈî.x††¦® ö7m6®7Æ™¢M©Æä4H‚Tn[&ìNªÐ¯X n„ÑÏͨ[!Zs B ×Ví/ðIÓüÂÂüÆJ@…€Ú>…àCì· §6n´ümYF;"sÃå×)ŽZƒUjt˜ü¸vEb°NÀçYÞ†I¬«‚W^ÉTÀ9¸Òt°äÔ1:âî†ü8ê<)ñ¹uûª· >®‹aEÞÊ¢$sš9 ¸8ˆß&’£ÔO ûrÍé¹ÙBþÞú£ŸÑ2Á¨W=`0é°`ï¹ ‘×2­{ËD¾•©ß\º1fåÄ'aO×NÃÑmw±¯øtóH,§Ñþ€\<žðH·ŠêµÈ;óOháüÕ¨qƒôŒž/­ªXx/ãý§Ëš[Ž\¢ ²>­"b}êöpØÄm¨ŠªÝo):úîÚ÷‘~dêT²w¤òj¾û;jE§«‡Ã+ƒçGœÎNvZàÈá°Oë©óßÃ+Ä_šÇþÒ(÷ûN!­6Ð=ÝŽóĺöíëØgÐ/âÔ) †'.ÏÔBÃU(ÞÐ-Q†§õʂإ¢ßÑE@g5bKFüÁúõøs!ëØÐîªMØ¡‡PÐgo-1pc¨Ò°woÖ}RTkŒ©âò%ï\³/7_eµGEOÁÞfIx/»êŒôŒŒtszvVÞÍ^½æßL1á¯endstream endobj 342 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 8489 >> stream xœµzw\çöþ¬ ;cWÖ•EÍ,öÞ5–h5vE)öH‘Þ«ÀR–=»Kïua). ˆ`/Ø{b‹±D,Á˜›Xóy¹÷þÞYÐxoîý}¿ï?þ1ìμç9ç<çyÎ  L:QÀlù /ï‰ÆÚ8»y:øóW‡qýÜ€NÜGB'¬ýMÑk Ý„ÐͤvÀ{3nEoTÑ­îE ‚µn~ó}|Ãüw¸ºZNš0aòرäÿ–Ža–óÆY.upòð ðØaéà½Ýré¸ã,Wú„‹;,Gøx[::»9xºXú¸XÚ9¯³´·ýÌÆÖr‘µý*Û‘ãþt®w(вµò^7Ïgý|ß ü>ó_°(pqÐ’à¥!ËB—‡9­ß¾ÒÙÚe•«›Í[w;{Ï5^kG¶µ ó죱’qã'Lœ4yÊÔÞO›>cæ'CöÏ^#ú³5ˆ²¦fPƒ©UÔLjµšú„JÙPÃ([j8eG ì©‘Ôjµ–M­£æQc¨õÔ|j,µZ@£6RŸQã©…Ôj5‘ZL-¡&SK©)Ô2j*µœú˜ZAM£VRÓ©.Ô#êåEu§>§¼©”Õ“êEõ¦Ì(1Õ‡’P}©Êœ’RT?ª?5€Q÷(šÊ¤vP]]);’7Ê„ £Þj:ÍêT$",0fcòÚÔÁô¾h©è"Æô`œ: :oï| Ë¨.%]Wuý¦[J÷µÝõ°êñUÏé=¯÷ÝëPïé½Ëz#3³{âË}–JºH\ûê«2˜ë¥¬tƒôŠED¿ÙýòúOéÿ÷Yn}d÷QËGmlovëÃþM6YVm9Ç2{ ÓÀǃ<ݼqð¯CÆQ uÊ ûrxøðßF¬ÙgähwÖX0 õnsˆ Õ¡¯!Œ¶†È4ùnìÙj*MÈIJ‹€P*"±SÛ÷Ò°uN;íUŒ'ý“ÑJS½Þ__®Ugª5²CÈܨ U'jháe ¾¬']«½{Á}P†‰ ºkÚãŸFk)0p¦¹Î uº†œ¯™‹«¸ê¾z-øƒjƒlix ÏÚÈ÷âÕ06móYÁüB‹¯árSOúzzü.¡·Èa1y 2Õ"þ@‹åpP†–Ó⪟oœ¾|)Ëކőï}ÊÔp«À (kµ¶º÷5„’G§°+º)E¡Íºê=Õ-j …J'ØNZ OzŸJ“”/Ç"<[Š%È>I›É­+دf ´›r8î«•zѧ (¾È-Ç)žŽ"C¼6r'$ÔÖÁ)¨U’'lV‡W@!dh“ӲРä"E“pœ&Q›J ˆ ߯c]£½Å#H@;cO@CWu¨Þ`†dÍèìóy¯ÌÅ[eh™žÌ¸…ÙÏ‹®]†/™'ãà¾l['Ï2ÑÜUÖVF»&É?e<¹"q ²xÚò7î…J–m˜†…,ŠT¢Ýš´Ã,ê%ßy^óñYn–,X;c‹{‹6%¥í–¡r´Š›¼l·XÖƒSÊõÜ ²íjrÈ]‚ú ƒ»ãÞ£°÷Æ’ŸG£Î¨û/˜ž.W°Ú´e«÷zØ[K|ù€ P õp²ì@Å¡Ã%ûàì*ßV¾ Vƒ3ó.Qèácakp«¥Ä@{&9©|Ó`º!?4D®ˆJTÈð \‚— #ñ™ ‹}òAÖ@»’dloOF!ý¤Ëóý þ^Š×¾…BT«½A_7H6C ý©2³^†ìid>¯»p.¹,ê7¦SA†Ö±Áéלï.aëX)É„´(9(bTll9 €Y‰×íAÇÑ ´vÏ$h™€‡Ë4‘ Ì&´%2C@š<1¢ãØõV.µëŽ l§âÉxvBã‰h%šöÉ#ko¼Æ€Æè8 C¤ÞìÍ5”ßl.îÅ"O z‰Mf;l a¯Òâçxß7Ò[emnïÊÝD‹LoŠYtÑhÿ0¨ëÏ/D6½/îþÙ4+'çâ_6²ÔPÌ ZÜçxÕѪãýo]˜ŒMù“8  `÷‚§rgP±Ä_‡e¡cñ ÒÙÓEœ”û--‹|=Í"_!l›HŽƒLõ¢4dºëk4\ÂDhbÑ´J6¼/`a¨µë†_›ÕÀÖ^ªÜ^ÚXͯDáZÐñûWeL…Ù|õ<ÿÕQzÁžf”MÈ•á5’”¸3A´ó„¨JÇKŸä0ƒFᾸ÷óaˆ¹Þ°¿J'ËÞ×ÔÝ—€G˜OP@T¤‡ï&`æ­lA4êz½ùËûSÖðÐUñ<‡ÎÐ4䀴AFëµza«%Ê"8úãqóð\‚£EG—?¥Ÿgy|,Ó£BÑT¹ç(v"ŠïhN‰… »|,cô"dÚvþ>%ïðù’ +H4¼cØ7Wß<6[r×[RíYµmžëâm‘,êij©ìCl*ÒîƒÃ°PT0m•”U+Cãhñˆ—-_¥i@¥a•ªhðc|Jvê õÙÕ, T}žô°"Ü4 Å©å^‹¿ Ö›‹ë¸_¹ãaýù°"±Z[sêû7À·Æ6t§Å6c §F†Té2ß1-Æ}4;¥ŠÄ#Û¡è&B£@o›Y’VÊ’ë4EÜÀ"³ÝGã‘À#æâé¨ õ‘@“×®èl÷êíéé¶Y‹sà,SSÞðuJ™è©aÕ±YÀä@J‘ìGcƒ&$At«LŒ‰MT:W:ÂN’š΋mÝò}*‚dÕ~•Š›‘Œø–.ñAÄü~ëÜœfOs=ó(”U樒c€‰‚ø0–Ò៕¢V± h ‹8T•> }~“Ô…°×aB*(ÒÀ 5òÊÇ-ÂÖ”@ª÷ Cçcp%C§š~ª•»È–ÑØ‹c}–â 5F‚Y¿ûü¯ßNÄËٿàjû“#H ¯ÄãIØ; )x2²¹u¿üÜYNÐ>§,`2 =O†æÑõÉ)WHñßPr=ú$ÅÐò³Ÿ¯‘ ö#ü =B½$güíh+/g—Åðm‹ h°æ'í‘j†—åÈD&ˆá*îù]tíÊ—ÙvyqÑ€ö´ÿ ç¶¾†úS¾ª¸2ºV“u‡-3ˆÜ”Vdt:Ã\pÓ2že´±Jp>¢þú3¿Ó‚¨Fû%”{á6Ô:êxÊC'pÞ‡?ÓN²rÜpÄ€ö<ßi‘¥F-òY\ÚQB´x?þ{›,¤§l\4oZâᬸzD‹Ú{”“dx=& 1§T^¬b'ÒÕÞRÜ€!zÜ×àGÏRvD¯ÍºÇ–ó‘Í"qm‡YÆÈÊé{ÚŽÈ”òY¬ê{äÌõp¯ãÔ„Ä2ƒ¹ñA)äR¸!¤p“¼U0…uª¬@…ؤÄDùPœ.Å&¨Z‘ÉåõPH†#(}ÁIí¥!‚ä$+r<ÑŒ¤©‘š„ ŸÌHÎDæè®4£´`ÿU5ÿHÁ7T‰=2 ÒqÁ³d² ™üHˆe=çlœÎX¢t€ÉàLJ·–~Qn²¶Môøõ¶kXñ ,׳Œxȉì]åµ>Å>2ñ‚ ‘[eb°ºaÝòÓ­ë·³Xu:à{nÝ —ØöÙKò ‚ÂV+a«­1Ô jŒãC­UéÂÀ”5gHG êÄl/*ꡘD:XéÞíÖA~RfTŠ"Ë+-t*NŽAÅ Ùä‰Éo?KPGX>ÙÊld†•¦DjãxD4©)¹?¢ZéO¸.YÎ_²È-Rgôµ´ð˜!§† D4‘.Ü€òŸÑ™UßAN×n‘æ‰âBZ$§ýméÕþ ¹{âÁm¢¡ê]ë¶×¯ÏßÌŒ…›–x‡—W—g'ìÞ¬–UÔͪæè™í“d.ô:ågÊå^swø¯…­ŒX>ó¹ÿ¥«‡ö.bÅóœ’+÷/¹ûµ r\"V™¿cËÇšc§›ÑŒT¡°óù÷ʯ5”µ='{Àè;)ZŒ¬ÒÓ›ŽÍë]?¥øf;HÉ›±¯âRtãÿ±çÓˆAÐ\’›Ñ^Û‰Zàîõ…Û“?¬q`‚Á,›S›‹•\9²x•=„i«p?d%ݵwïѲrCmCÞa^uû%y©üÀ Öh¢ÔäØbË’¤ô¨ˆ~äàQ г¥³Œå…aªäåe«qÉ4¥ †Mj_¾,®ƒZuØú%–H7YCÒ&›«W%¹S¹Æ .‡ï•Ròü¹AÚøœ¼~ «Ú}áæWÃ¥éòœRu±±;}UŒXIf&¥­€zÕ®$‹·¬r¡Ó!—F2~—4# Ñn‡;´ÛÈ—X4{Û¦°]§Û¥›‘ZÚ¾ÓÓµó× o5šZ.IÖÞ[‚=Ýí»lײ€:"×´PÈ GŠ@•_úTz„Z¿2çrG­ 8mJ  á&uŒdTKêñ wÏ(<äC#‰J_@ÊO$žÐ.švÑ{ ÷{v·A$¡tŽý·ÃìŽ ‹oýQ…Š:䔃®ð!踭³¢‡ÄŽü™ ªüpbëbTI ÑðJŠ…H—˜™”L:¯¼ŠþÀGGH@¹nhT›@ê¿*ÈÎgá2°ßI î+´Ðœ®ƒ|¦<4?0$(ÊkK£ë±K gΔ±h7§üÒqu>/ÙGýøA¶ûYQâ­}&ä&£®’ÌPNT$±Þã–F»³fò~4M{ÐØ”qIåZ#sT*¼ Šñ+ ©,/.ØõÅœúOqïñ˜Â½pŸ—#Híö«FÝ2ù¦Ê0¼m*ËJ”W‰b¾þ&üÀ\óE~ªø0ìÓv^н¸3±:%‰ÄÏ~'…”´/lÂË®ÎZÔ™×ëCàp…Œ«UÓHñ÷N)Q)¤~-²@›žœ…T­Ý¥ê¶¢·V§ýÂha>‡:~2𑃞ëC|×YÈ EÖ$Ó±¸KðVÌÓE„ \·Œ,#éåÄA‹o©>•HõÔŸŠêP'¢PD"\ÝÖ=VI`™FÒƒšE¿OÊÓtŠT5?, ´EWÍÅÎ\ÙÛYÉýL‹óß+hìI{×n+·ç=h$–`ñ‹Htùàžj½l i*$10H’‡3âú^[‚¶õ'Å]°×¯Ay Ns¾ê`‰aïî“P; [²ÂÉ©ÂÞ³†*¹•DR´ÏŸÎJÜ™çï×°ÉWÖ6‡Æo¸üØl•:”àý©g•(ŠUyªR¥Z¡L[Ñ¿Á½€NIP«’ܘ¶çÒŒhµ* ˜\H+’qGé 8üš}W`^%hžÑÇ^í¨°8MBl’".‰u2b`=8í ¬ó:W¡–AÕ"J^Ú?'}ÇŒBþï÷Ë(âzDÂ"Ùd!Á1¢T4ò¡~0¯3qÿí²vþ*o®çeâÖ×ÂVgôL‚¶áÑÄ/.Å‹ðX<;u7O@ ÑR4MF[Ø!¹\ˆ?š6~4î÷ ÊEÙhØÍOÐà8ƒ?þÄŽí šò0]'@&WŸ=¢ÖÖž’:—Ýk>ûxÍ@Ó³<ïá;án#‘wF ýÍ‘#´yŸÇF'†E?˜RQ•W\ƾó?{ËÑ%ƒYÍkx¬}l_›‹m5á’#¾Á±øÍŸ-Þ¿ ±h6º!êëW²!}7éÌɬس¨´ÝµˆÐd¸ßN`ÇRdsö`i~)‚ÒèR34ù6¹Ùms1-縒‚èêí![ެËw;8hƒú[¸ðÓ­:g}°,jg˜;¸g޳!Ä:Üc81ó_Ú¡¨ËÏÇïÖD_WÉ®©\ + ©mƒxµGr°ª‰¾*-(®÷iPóݵkwê"êüKeµ{jS o›ËÒ@«’'&È!š ωÎÏ,J+eñLIÀWå±Ó?.:ÐÇ ˜)ðª´B]§—‰/˳ÓK+÷õÃe¨S[W‰ý‚õ#‡-<ÞthoÝ-{Nô™ÀTÙ»šEGo¾²·þb©6 ¶ZG¸2*ô£èí¡} üÛµÚ¿[ªý³Ó£¼>4 &:Ñžj y.jõýF’ YQrˆW±Šnaþ°âŽG~u_vyÃn»¢çew/À]æ,zˆ‡³øó÷ªAìýáUÍÛzHE4O´TÍŽ½®à ‹a)8583âã® §»úß-xP)ÃAÜdÉ€™xKæN¶J![§ÍÔTA10O‘I"JàHη·„g#¼1{ôëLÂlz¼%‰)õ2NH‹Ï`K£+ ÂlºwñwÒÖ@MÒ•…XjÇý(©,÷Úâãï[ê·kOq¥žmÏ q{ŸÐÚY)8}ùóËhùe!—ˆVJàÕ’ÓŠqƒtEÞö“ÄŸ^?yá.úD‡§oIeÕ PduT´ÙhñâUªèxÖÍÆ«Ê±a¡6á´É§7Í»ë+ËJ<}=¼"~W|¥K‰_¦;¸3 ÖÏŸæ='åèvõIåeU­*3”o}ê&£OMSk²ÒXmòî&ÃŽË®-d t¾ÿu’µSðùßpF`œžÿu æ{ä²^ÂÉi<†‡äN_6–ô–Ø©Ë!ÇÍK.Î… ¦<¬ØÇ',ÄoíiŸ3·/^þ–÷idò!ˆˆÒ'ø¯ Fk ‚Z=JoAéza«·NÊo(Ô¸QÊESóv£ÑPå™T’rdH¥ì€ÈA¬“§¨Aû"?¯¡Ô‰=r÷ðó˜$;·09KSAÄùzž{.žúNpòLèÇwÍ›«·¯Ö“èš¹t’xç&,F‹¤*MB*Ñ[É7Îg¦_:Þ¨)á…§·2 |ˆ^^¡‰ä…g‘*SQMôò@ÜCÊÒâš÷•@‹:½ë«×ôåSw6ÚB˜Ehxb(k“UP¥ª"b²56ÈÀ]4n÷Ï3Z^Þ».JÜõݸïhÞwqWmL`1똤ðƽ<ª¨´4×9»F«q¸ë:,`±è_E¤P‹„¿7Ç4‰>”å(Ã¥ÿÂFÞÁsƒ‘ýZ¢¢­jÉå€'·0_?¿ßÚ¼ÜÔÌ,V3ËgåÖM …J‰L|JbJö½{ˆfÿWÌ_çãŠ`§Óuõ±Žc`®,ʯ\„(dŸ¶/¶—¦“]…(È`Þ‡5Ñd„Õ•€úü=PÿA»*A¥NÔXxä:’ Æ ÂÛÁ²ÿ—ë¿üÎÔ›+Áî|2z}÷Õ¡/Yñö ¨€ÊØØÄˆðƒ°ô Þ®°§õYA*¢*bÏâÂÕ4©cD¤?p‰¼I—èÚƒèÊ#xüFˆìš$UeÞÞÞÞeUUeeU|õwtüiÎ\ÈY·zK²b3䑉11Jÿíó¢ ”Š<#6+793SË¢¿ý6/…ˆr‘|9H×*Õ ê›Qz³Û†nIà~Â}·/7ÿ0#߬ažŸã8… ³á˜›<±aÎþ™·BŽÂIøªäÀ÷Õ×RîÂ=fz¶„ ²Eòe;ÇØxmí°Jöƒü<<ƒsp®¦Ÿ,B]ogèa7\ +‘i s`9¿˜#©3\&Låû¥›Ö×àAOTfÕɸ³thÙË&ƒ¿ó)&÷9Qδ妌žÈzðNä ì#?OŒ»Wr§;Ïï …¿üh0;öË‹_à[sñoœ=šG|v‚WüÖ˜ñqKˆn`ðbÑ›×hbÏŸ„WH4ñ>îM­ÆO²=Ú‚šì†ò°r·¸$P)ÙÒ+'ëÎóíþ™3dâ+ðÉúYv+°v—ÊyÀp´ˆÇ®òbÐRÔåÇ‹z÷ŒÄLj{3š#Ëï.yPqö:AèÁäÓ£‡Í±žã® ­2몎m‚¬áèÕœZ`NMŒNZí·Uæµq‡Ò_§ HЇ8U¼ by°DêÄzoÝ6·àœ›¬&Á ƒ½L­o±w€GäÖ ß-AÔãÛob¨¢~.ˆÀÚtƒÞ ¬¶»øm&JÁ¦)üCY¥Õª²úï.З•…ëÝ#Ýâ7ËÄ%Ò©×F!ÄüôŒ<¹G„Æ–ëÐ\ÂdŽÜcÉù€ƒÛÞRYqnf*‘øš4‘‰ñó—¯E·OFžÕ²š¿B]X´¦ïÿäkF$¹A¥ÍßîÓ›5>EVO}žš‹ÛHÍl“ ñ¤°p‘˺!lMœT¯ÚãeŠ:v§lñ,Û©Ëß•Q~ë‘é¸î%Ø#fÁw2ñ)$üþoH*›¨–ÀFXîêe½™ˆþåàu^‘vîC!s·úÕÓüC°ÂÀºÀ:ØÀ7Q;ïT“ZY@Ê6¬U*Á‰"Ü’r‹‘;v$ò^›Ÿq)';-õ.äâ$Â&xÒDÜßË`¨E l9tf²Çi8¥=•~2¹4÷ñ‹¨?²‘fð‹üÆqkO½ ñXÉ1¤<Æ÷Ç, ÔÊ:7†–Dd.Ûw³îè ¸Ê<›tfÂð™VãÂ4[7±YÑuþúðÕÞSma3ð§Å¿ Óï›e Ÿ$`³}£µîu_ºyWâ(`.\i¼qëòÚùlI›Db5w팩ó/6Ÿ­¾üè0‹zή =ì+\WYûìaé%=éøIP"Ü=dãŸI¦ï5™›Ë#`3x^ «ƒcÀsæá’ºŠc{sjˆÚ½£` #f¨läå›û½%yäÓÁó\?=¾kògòo0ÿå—µm]%UI_Ú¿-×­Ø4u–&=ø¥Ùˬâã~/Ô›÷ö«w[Â:Ð!­î‰ÎìôÅ úŸõhæEdC¤Õ‰¦Ö%Ã&&!>^Á®_´Øw|+ôv'B ‚óyÏY0 wÆÝoμ}ëL 2É…ÃÁ'dW\Ž%ÔÂWpÜš¬VIÛìÿ>1–x_~FeÆffj’³ÒYNÛªHÍÐh!Õ¢¹$†^õdÁnƶ¹q#$˜Z;mÈ’4}r%§¤é¸Õ –³nþÞ/xöû/ßþ• ¯+›5D)B³¹øÆÿÂ_ˈÇà…œø¿•~Æ¥¢5n‰‚òufÍ{/¥èÑ£Kì—M­Æþ(¥¦µ¿$9¤õ'È«”2»Q[m[•G¬ãG[}òü_‘~:Ѽ`…•Ý@‡Ôù5“Ø £¶löó{‹)–¿|tnÿî:öšõ¹ˆ#$—Îh“vWÎZæ¾ìaíq½‡šö}qè^ýÕ’š5ÓÖ ­’ˆÊaÉÌ)~¾÷•gÁÀ<ÜW]s[Ö–-Yf³"Þ˜éÏO~½§öä ™nSž×þE>µkë\Ú_ÂÉ pn >º^ƒÁM^ÙŽn"ÈÏ“ÀMÔ KšZô.ÀYæöüÏG|:iÃp÷žíy÷­Æ/kò¤_h³ˆ×,TZp§h$ºŸUÜpÊsò2·•“âØX)¢FœÙDÆHL† uÙGØl0ƒ%KÝc5al–¦(Ê]DnHxh´¿SëÙÇ-·H5ñc}ƒìC7Ûƒg+)¯p ‰ŒQ(XU/¸HÊM®N»yé¢,›g7-“–œ Ÿ>w±.Û²¿¦°¢œ ÿ“¯ý‹y{I¼ÛC/-h podæV hÞ^4õD½s:UÄL\„Å«Øu¸S4=; w?…MÏãž—f“š¬Mã—‘‹:¼8A_€´ÄVÀUa+ÓÚSRë¶ÇvÕVçÄÖ»Î6Ř1˜Y‹©ÿ¨}]þÃ.š6_ÂÐ-Güð.GWI"”!üÆF¡ö¯ˆUFA,D3˜Æ;)ýüAã•£•¡À¾·G@âg»u£~'ÿ„­ßsEÛ•ƒâÚý…Ñý¥šlã´3Œ ¬q(^ÌXÜ™X£ÿK­ÿ_Ø&|°µ¿d{Rl„@PvDaƒûòî€~õ¤þ\YM‚OÛ#HÇÍ/@ÞY©:‘¡Ëµ®l;Ÿnuj /%Ò4í…nÝ(êÿ©†mUendstream endobj 343 0 obj << /Filter /FlateDecode /Length 313 >> stream xœ]’1nÃ0 EwŸB7°lÓRZÒ%C‹¢íY.RÛ!PÖ"V‡® ”µˆÀ6PÀV± °S”@E±°Wt:E( WÜ ¸SÜ ¸WŒF  #aW¢] Z¶!Ú†àLá¹¢ç ¦N$:QĞɽ&;”q,å´”ÃpŽ:Ð!Ñ1Ù1U+;­ìq­*kðyz½z=|ž^¯^‹ñ¼DÝÄóÊu)ºÞç6Mº­k.ßw¬«Jþ{&˼¨Ë@Õ/Q›€endstream endobj 344 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2939 >> stream xœe– PgÇ{„én/Ú‘K{F£x¢xÅÕ$ bŽ ‹2Ü0Š0ƒ3ófD@ûR‘#(FEMbL²Ñ°&–ÉZ$º«.‰Én¹¯õcËmÈQµµ5U=Õ_W}ï½ßûÿß÷É(ÇQ”L&›°n}ˆæ@dü"oÍþ¨á%/ÑS&N%NuöÒþ"Xã`œã¹)ã ]°Ì£'àÚ‰”ƒL¶5:~µ&A›»/&EµØÇg‰··ô\¡Ú­Uù/PEî‰Ó¤'ÇŪ"ã£TA Ö/PkÒ¥ÅXÕlM¼jwtLäþ½*Í^Õæèmª-¡!¡ªÀ [6†ÎYð¿IýþFQ”ÛªÕ IÉ)‘»÷¬õ^´xÉÒe¯/ÿÊ•5šAm¢¼¨Pj3µ…ò§VSoS ¨5ÔRʉr¡8j¥ &S®”åNyPž”»€r¤R¨—²"Ž E‚î:†8^•'ÉŸÐe´þ7“Ê*YÍh§Ñcc*ÇzŽÝŠgœ^9D'P  — îJ—½øóda.CJ^ÈuÍÙpÜ5p$/_KÌC?ºé3 y¾À¦©imí€kpÎà.0°Ê•…Ç/áx9ÖÑ/ù|5Ýn} ÝР߃ÍÀ’¯1_A2h¤±U.Åû£•Ò âKAv ½EÃE‡Ř®¨Í7ÌÊ…ƒ&>ŸxñÁ^ð,oÜú±úzö]x׬H}òÙ§Ÿ}Wv‚§¾õ„³f˜ À6›-ÍJŒcj D›k4æçñïn\éê@p'âMæH‰Ò?ZpÊq2J§W£²¾§H˜€Óì8 d q.Ï‘œDäRšp’+ÇRâ &+ÐÝç ™á¶_›Â_d¸ŠäÉÕÌÍbˆV™×¨t±¢‹A.¬Á`†ó×ÅtŸÏéòĹ??B¥’LšL¦l :¬†«»x]9˜¡†Å†›¦ƒ³¹¢¢³ëòÑz`?¿L\†³ú—y¸6Kœ…Óq™€³¤ü\¹—/öáI…šN%¼f1Y,™¶>ú¥«”žUÓ«r#æò›±çÓ\.ƒfÿJ2žèý¨—ÿG¦Fj评R¿p¡^ÉîU ‡ùIP÷IeS€N‡ÐÉ•›-‹ŽŠ+[Z¶ìyo] r†ë'+-7JInþRn;Ü»Ôû¥¸š¹Ý„NÏ ã`üî¶ô––¶ºN^ÚþF%¥o‹³‹žm.íw0ûŽ+—!.A•ºÓm1§¢Z⎾U¾·8¨ öæc¨¹Û¿¹ˆ7gš ê€m„¢åý‘n1BFŸXst°È ®{jj*;cÚõ_¶ëïfÁFÖo!¤NKìïÎæ * à0°É OQ“¹ÕÅ8QÇs†æªž¸ËP î­¸ÐKB-»üJ߉¯ Mwù'ÒjÇH˜Eœ¨¸¢ÞÆÆ%k6Á­[$s/ U3¦YÛgÏ6°û$.ß’“´ê»Ô;_]¸ÞÏ;‰×ôön8Þv—“8£våÔâ¥FECdñÁf(‡V’é÷?%sBˆÓ‘%á¶Œ“­muïŸÎ¨2XøSGÛÌǽk‹ôUÆ2oHq.™,§›‡µ_ܺޯç9¿ý°ó_|/]{•d'2 î̼…YIÛöØÎ#…‹+.Yù_´­·‹“츩ïWYãÄaI'üªhï'd¦ÿ{ñéÉ<ö0¿ë9J94(0•5UÕ•5,÷iÞ±‹[zâœþ*dPÃæÄ¨øÝ;uqQWsN°XÈœ´õ¶ô‹N@Æ c}5EÂ*NètiÇI€Îè¼]¹ÇbŽVT†­É˜UÀ'®Û‘±M±pVÏ5Àɨ°U åJn³ö1-×ã7:„=º‰çêHà*–¸?™ ðõÓÈKáW·JJÄÉ/³¯œ¾"¶GëziŸ,J|ˆ”@™TÐ.‰ä5»‘|±YפƒTi:$ ›â#šóƒT“IcX’ ñLRKkÖöëÐáÉÞ‡ËÐe`…$†Û¦…ƒf­%Þj2C=+ f›†~sMé%Ç Ê»ÿS,™ÒÀ&ƒñ7GâÚKæ™L9:~Wø¦ž ’Âù«çM:³³.UyqûÙ|”%/‰¹>íDfS"ìdw$®y̯͗Å9y¼©ŠR3gЈ9K,–âc|OÏgÛë»ÀWÜDùOÃÊÞB¡ÿ ¬o8àôW ’s'ñKD½p+]†Ù8Vb&µX%ö3õPš¨3B~.ÿÇlºº–®„>ó‡5ìPQª™óÖçpQú=‡óR¤}Яã´vÁå:òG‘·â ò®\•XIÒŒ5¤ç®=œ¯ÓûÁ! õ,Zè¸Ü}á ˽DúÁ-á©2¯ý…L#ã½×/ÚØ›ÙØÖYérdef!ßÒØ^fv 'ÐoMt`ÀÛ’GIdV6!Ý]Ëpùâ*Z ¯ënCoßœÛñ%Nmïp¹JoT†ãTÀ©®ï'6à; è‹ÚòE]ÿu`¿ö½)ûÖÚ7"ZÚ/4µ»±¥ìˆ™·:¬Ø¿Z×þ)ËD\_Ó+w¦SŽÉ˜z–›¨Ó–B5ϵSçi”Áœmj˜ùZâÖÂÓ;”gJšš ‹å®RâZÃ#c¶-Ü€ žSQØÿìoÊà(Ä÷$âv;¤ËÊ…¹â 椱H“f2efóäç¡wåjì"2â¨fÚ­9ú¿9ú÷I#@#à'ò‘Ê?Æ)8Ãþ'¶¥Kð=¢Ðã!Nwåz%ò;ȼù˜ÌŽ3Ä©ytcN”ÏJ³Åëï(o*6–eLpD§ I ÓG€/„Õ$–äJ^4{t‡”䣅¬úrKá±b¾£çji°aÉþ0‹ŒK^Wt=RÉݰ[Z»<®DœHÎÜšüú½×¥É¸ô‡GèĤ‡ŸàÄåö^œØÜáÒ‹<O•ÔHª¼úÉxž{'B!Ò—­aéºîâÂUûÇÀrTÃYCCʾm`c4Íí7#?™F¦ËHÑ›%ot­á߯’oKU)ÿñ-z(ɋ VymMè¨ÌãµA?T³è|Uè{ ~³†“*MO¢s›Ôƒ-èì ö½pS:Ȭ¢Ã…i…¦c)«¦cH±\ K¿*//´”ýª¤oÑÚÔŒ4mê<⸚x™Í\ƒ£•BÑg|½ÖÞb¡äóºm]¸ßq+- ØØ_0,ì=:d½Ÿà©þ Ò¨ – ÛOݶ·ž‡ìÏ>M”oÎ ¯^w/œ_¾7<V±dËÚãÖsp=›r***91:ðƒtŽšE°„'ST¬Kœ¹|>Ü}öÜÿ÷‡ a9…üñ?Á&ˆ•&¦Ì7Qºù úȾAÌG)ºcl11¶˜în›­›']Žÿ·æ¤+7–஺Ò2ZƒôX~Œãf͸Ñg¬V³ÙRh..>ûѸqõ_K¨ endstream endobj 345 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 7465 >> stream xœ­zxSeÛÿ ¡á€FÀsØ‚ ”!¢¬Ê¦ì²,Ý{¤3iÓ¤I³s'iF“î‘î¦tÑB”!…‚€(T8¿W_}’÷ôûü?i‹òz©Þïÿ¿¸àºMò<÷ý[÷}`C‡,kÌæ-;âcãž_0oCr`Ld°çÅ™®‰,פ!®§ÙLà¿$î/Ɇ‘C›&Íüï±.Îd|Ÿ Ø,–_8Mq€ð!ž#^#ëˆç‰õÄb±‘xØD¼Hl&[ˆ%ÄV"–xœEÄ£‰1ÄXbÁ%Æ2ƒ;–ÛûTëø5Þ\ï2^Ô„5¾›:ñŸ“¾úõµJ¡òh-™¼zÊÐ)ö©ÏNm›Š¦ý2ãqtxÔ¯C¾ÚM€íwº XçݳÝ당yrùi¬UZ*ÀÍÑ9tFðD V(¥Ì¾½^ PGh¥:]©ÑgÙ+kPE9¡^S¤)Jìrëi¥>ÜNÈ1åæÝ@c½‘cg^ò$eH3A˜™ ÆæV#´PФiÒœ Å4³©¸L(mE·¼ðù.%¤×<Ë5îlqÛõ šÆµÉA!m†š’óù³·™ª+ȯ´UY+èÒÓmh(œ#?ÞåØ¿ì€¯PB)NDÖ@8’E±Â`ÉV|f™ Lyz½ÃD_/9á² â¤"P-¢W2§µJ 4<©5£4·ÈRb¡ZÑ &‡¹Ìäàå}Qm~EÇÍ÷€l7ø§n9Ä<&¦%‘š,H%Õ„¿×€f›(|ðSŸy {ÅŽ8Yî Ÿ±ÝËP<>Yß¹&ª~÷SxŸ¼±­—aQL/G$Åå°B‰³Ò5 U‹ifb_«»|3„bžàÄ€Ñb6Úôfú:jðB+9÷Ì/&У~eý:i°´hÈu”{í2#'÷ëm×^`ž`¸ÌTfæôK[>AO .þÖg(Ÿ#\H™í·k¯ÿ~ Cœ7º«»þ ÝÜs¼î'jmß;¤×H¤8Ýóœ,ôì]¶û¤{WŸ­7C6 :›  Í¢6¯ ¸¶½pð˜ &šIa2™¥¿LGòC,uÿ”J©¹†Þˬ`ÆlZ ä’EgÑÔ‹•èù[h}õ«¯:ßòç¦9/$¨¢AC{j7ꋲ©k1{œhîj|ßb»,è÷ß¾ûÂ#ã¨Ìsþ¹‰%ˆñ4Ãéó—ÇÈ5!:^­Â¤²Tc¸×ÐõРÁ?iÆpÏ•x/˜mfKUv!Ý„fZÒ+ƒNáv°ÐchšM3£™õÜÌÄŸ½@n—ݱõFƒ•îBÛ­ ?|x¶Ñ|汸Mô(·œnÆÌúOØîB×F.šöÒ?.Å\~T˜\à íh'ŠD)ôÒ.l‹c|?³ÇÚÀå@Nˆruç4Zô8ßr>úПïé^u¿ \p~êDKœ¬‹îWÙî5¸öLÐ`Ê'gQÛ*b#³HfÔCv ÕxÝå\µˆø ]†<Ž­\“i³Ýh(Φß@||e/7ÔФ*)áZaÊK@¾ÄéA:ëáþc 1DTÆ®åk%š$Z§Òe†Ì´Cv¾>»Ø@•#c•R×ÎI—AšÄ¥ç@ž WgÐÌ„¾Ã,†+‰S z½¥àsï­7ñHŒ‘*'aKE_|X€2û6Û%væžÚhz-|_Šˆ’ž)‰ú_JF¥Öj .£½±q?ž j T!ÕDƒŠ”䫊ùG<¡?ç)t—uzʼˆíös%pºâG¸¢Œ­GÐJwB—¦Èœ\ŒÆ,Ñ2Îj°æeƒ!»€¾„L^Ÿp.çdðÓÕ"|`­B§¬+&M‰‰òt'[oÏÓe‰N“¦¢ÒÖŠ1ïVpzQîƒî çüâˆy-I#Ô$Ó:‘×ïÁÍû ‹É›·Ðü«ÝXPæŸEcßd»žFÏsáîŠâ œxs¸Ž‘eWoU7ËBìT´ZÎ)5§WUåë :²4Çï•Ëâ%Õ.ëÁn2š¿|zÊvÓIuÒí¸ %’¼Ôäøtÿ­çÂßF϶ Qø»Ù^ùXpØéš1¨99(kU›²b"5M€¿1H¹R;ÐVNéòte«Ä ÆPOY¨•ÆÆ„ìÊ rî²+ˆw®-ú±ÿNlzz@Ùx§l/þ4MýêÎæZ:'Én ÌFûq´ÓÛ\n°µ™gÇÆ‡k¸¹ßëxNä'ÀÊq\ƒf— º49•v xå ùPYhBK ý.êöºÃ)²ö|9§ÍÊÎndYºI–(KÅÂ,òZÌI@ˆ[œ5L«N­˜·ïpð©ÿ:9èWÞÎnð\OÁY¶ë܃ïÖéR””x§ps$ P?ðÝ7P›ÁŒ1cäÙå‚XEœ\K­f:Ti Í’ð„ñq±‡€ôÏj?Üsø‹Ê«´µÌ”%dw”3`~3K9À'C~6euV}H»]“$ã‹C蟄UàG¾p.îÌ醺º ªx÷1e 4CYe³¸%÷Â…eb@(ßtmc£/K¸¹rl‹À’]@¡‰®fk½9çðÊlý­Ô@Æ qMû¹ÕP‹µT‹1O3“úÚäQYòõÀKÍ‚4©Ekñp«nƒcšV -XééQ®€Á*-èÉ?‹†ÎvÉ\#¹™Î¸äÄäd‰EaVP Æhâ2Ṵ̀ÝÒîÃçêïVß L…æ‚G¬AÌb/$ôÆG/w¢ÿ®¢F¹)ŽËß¹ÄNÖýÙî!îEÜ¥Q®HÊq¹=Õßä\N`Li„gx®3d_˜·påŸ]•ò6ƒÎ€¡H¶8*«y©šmðʺ3Á½÷¿ºù¥ƒFÃ]1–‹µxvϽ’—ð Ï÷ä½ÓƒÖ|Îvoù‹ËCpôÔô ¿è ×Ü'j;𣝰·ÓGÑËf‡­3ƃš8£f#TÄëR1¥1K÷øÀ»ygªÞu~LYJLZ®}Ì$H>DZ#«’êã;4EPyu' ÂZùçám«{»îê4N“'Ÿï®²]Ž¿úUTù§¢‘*%<] ÍŒ`æ23wúÜlj/;ÑJÛ÷7§6þ;T™uB®ä@±]aP„i „† cÈÀÿ>[`¯ii3ºÚ48îYp\ÏS€`;XsÌÖzS1݈¦#ÇS¦ÞœZlˆÑ¡:‰‡h.51B3U‡‡„ZìSVìK¸W=®Qøºê`¾º±güÞ ‘Šâ¿¸/$H?÷T…ý˜µn@O矪~£ xF¨„Bq° Bq‘øêÉí¹q»¢ö eTÊ…ýÖD ŸÙÍŒOîGè Mtõ§§Ž`*×–$'eîÏ £“ˆ6¦.÷ž’ =¿ÎšS dUªY’˜˜r4¹óøá–º"ªtÇ i?žDJv”…†½‰ø8c̘¡‘©Ñ‘Ôutx0ïxHª‘étj–œ’´äz\çÙî¡HÇÅQK“©ÓTô†dxÂÖCño’«-§Ñlûx¶‘‚Úÿ ^Çh ~LôG¬•ŽXæ¢÷P´7îéF‚ t •ž ýþ,`7?î[×" ÷;¥7þè]Џ`ßmÀû5‹NgE^Ê,[uhÄ-&Ð,zÚiÊ­†B²LdO£Æ™2C”;ýÚ"ßøéË¿¯è$jù°c` ¼ÃvEüÄ5ÉírµN'“S«æ-T§¹;±ãÜéêV§›.w7v`míÐíSBÆžÈ.*¯®p´œhÞô`ršu~ÃgèÉO~(ðÄ©s°3Wþõ2Û} Ï׃¬°8UËCÌÄÃw:Í<ÉI HÓ˜{}½wºÎiZ PÃû³!àɾ\ñÎÐL-O.Õ¥e™5–º#8ñˆÒØ?¢`¢æ*ô™ôƒ¶ ÀæìBÄsÕxë9=}?ÒAQ¼<0YÌv×p7 ¿ÌLé»ôî7cþ¶Ð-˜ûÍܧS_¯Ýrö^ ¼™l—‡¿À“¨©´}"@"‹ '6/3[*ƒJg±–UÖÔ hš÷ùsÇ߃s^‰9Ÿ©¤¢vHT"H™MX•Y˜^Ž…vUÀÒbë°TÓG8uð–ñxɇõp,dgØ‘MS™i3Ÿç/þz€fÈÊÂ,ƒ(*•s -ýzdk9?Ò£Œÿã$RªÜK+YhÖ®Ð;lw­k-ñ-3– d‚“Á̹?MBQJAJjñQ., gx{ldØ ·­rÁÎÑcùhòu4Š>}ÿËwîùÁ _f‚F Å+¹å:ѼʬÄÛè"ö²½îqÜcAåA³™§"T*3Äkƒ§ØŒ”ú"gußðÌ-² e*O)ñ Ò‚:S~”’Ž4›(1Qá,µù§6ÖdÁ®Âx}Ì)² ŠÄ N=Zlm¶ŸnžÊ´y¢X•8 dJ±¬°²²´‘úmœo©B—œ,÷SŸ±Ýq®zîíuý‹§Ó°Qø;×÷Œ—ùtÒ{¡ç8h,šø4œ^TÍAÆìÐC!û„¾Ùc9WQõà‚êSÎõ“ ›<ðXÄ&‡kªGx1ñFlæ"–kcvNZÙýI+3Y§¦Äµü<»1C™aÌ,fÊâ®u7OkËÍ¥S—dîS¦ÆGò‚ãˆ+àÛK­¹e8åe•$¤ÅˆC‚›Ónÿó½+ï•P"ä‡CØÖ˜^»µïÙסáe]tå™ö|¥ 9Kä´FìõGA¸Ó¿p¬ô…ãúˆˆØêÔñˆÁÌ껫Óê¤øG¥9%eyEv#u ­Ü6æ4é Åõ¥õÇ.]ÿ¿n?H R¸Ñ§è”s¬+ ±¾?®Èþ×¢5K$:U¦†Jße!VS]_e¬0VÑÆrS;”ÁÙˆ£{‹ÑÔ¦«wáòÃW¯1c(¦è/°á5."RŽá1ñ7txV¸ô‘¿BÇeTè…ÎÑS¢5bM–x'-=¨ƒ×¶ª'úÒíºŸ­Ô\W”êù»wÇÆíK^äL~—¥Îj°xC=”Ùṳ̂Zƒ~þy,zòl×ãǽnÿ{‡âøsp‡äb}uUÞá¼fº½j«5à‹ðÞ­ ›ÉÌVý(rWÝëªä$iœBHÇ. ›%Uc’òB*‚NÝ?ŒžÍ¦ÆM®vEpË2±ÑÑ1Ñ)…©µõõÎzj`=ât/¨a¡WÑ! äF”Å…ZE[B}¢3Ó8·FhŠÉQ" Òë¡üøýÏïܯY·*A§P§P:±×ﻄS(ø¡]‚J§“fQþ;CÞZ«`Ͱðïa~Ž=çø´YãP¨Oˆ½OeX5Eiv±=ÂÉ+žY¸reÓOå¦j£ç,/{vT­§$~L¨V¡Óà@®4©Í½Áf¥ì¹Uõ¶¼æÝ½§€ÄÜe£ hìïbæúÁSâˆÛ(â‚§ÄI»¸÷\#ôÆìBÈçuÅÛ9kóŒâA®6S•—Z/âÏ©4¤¤ ,ÅæôquÊæñÕÀSA:¤Ùíú&ìsj âÒ#üOŠ›>¹vóf ®-šèžÿ§Åí5bír1NZã~̳ åÖ¡uúl0á2yVTŸ#À9I™¶YçíN¿Bš Æìl0)ƒA¯·Uu¡)5eˆ d§Ô …6 [Ì„¾†¬ˆ,Ù",sË‘\0Õ›sÊóËʪ§Îéì²Äš t Bòþ©ÇQSÜR•Öà¿' 08’Ú±A$ŠHÿ‡k®÷€‘ÿ¡ÕYjr ÔIt¨YÕ› Ûy µFŒÝX3Õš®ÄævÇá;åhÉïã` Áø[äó÷‹SH N!Q™B2.ïh†;eÁ< ýv5|é0Õ›ô®™ÿÙŒ:§ï)y4¤€ŒÇŒ¼½î>‡qüRM}é29x™ãWâW#V7÷(ëþ6:÷^W™WÝi½-`@Ó„k ”Š„cÔ@i3ñYº Y‰úB_ŸA¨WcYo/F߸Þön}«ÑÞl´êí€'*<Œ<apõáîžæ~Äçi··—ôÙwèP,%¿æWâ¾°?*òõÿ¯ÏÖN€!·¬¶ûعk@vÂÞ ¾"N›Eodòþ“7ýEb©îOiïô¯X§ÝªíÏi÷.œºóûSſؽ‡Þă«ƒÁ®€tŠ‘sŠï•~“w ^ ti*eAðàÂÃÈ›ÌHdÈU!Ì>•6Ïkãï Ø‹œ×wVÏÉžpà$€¤ø™ï`»°ñ‹v4ͨ¡. ·¼ÐÁ‡¶¶5—U: ¨ß—¡Ñ^™ŠvÿÌB^ˆÍFÉ]ÜÃâªèàĈ¸èrYYi¡=ÛDe¼²oÓÁàL|GP“£ÂRŒF£ÇÑcžõ}èùže}ŠÌl째³ÙÙd¿È2~Xdµ –h•*¡ç!†Š)´‹S‚uؘ;¸OCVëžËŸí:ŽJ¸ݤúær2d íϺ®¹œØýúÉb£ÄK\‡¨,>:*6*¡8½ªÁy¸nð ^ŠÃí£áð^tù"ÛÅGK¹m÷ZÐBøˆlU¡§îšåŽ/µ~³’1ÀÐh•ûmhÆejÎnÊÁ}{ý€Œ(ýàã›èxã ºùæGmM±›Vù0Msç?<ŠF¶g5J”*¬q Ök)sf¶2ɸ°)[3e¦šË7Ñ64ª­‹¿”™ñÂ’YÛ(~`R ŸÏéÚAç 8ZkŠ›ê j•éUiΔV†u¢ÕöÁ;0«RÑ:g©Óõ€ÕîZÍvÅåsMJ 5¨eTš"±ß=Ô Ò·£×¼û¾‘¬JÒkb• éj*yiuU›$ÎÆ ³§c%ÏÄH“èP92žCïãƒxF8e2_AE1c1#×2äËÌ“ }Ô…&:D¤Ú"±š r­v*Çšc9ÅP ÒóÉÞaÌlµg ©æ¥©l%yör3ÕŒfšuV0cÚ^Î+|Ð…<†|}«ˆ#/#ã ¶+•s»ù?3^[`É+ÿ¢âJçyç‘ÓÇ{À‡Õ¶pò€*H!¶¦U5×´t‡Õú.{~ÇŒ5ôbfd ³|H>0ó< ÒTô,ÅŒcVsìr[æÅÚ;‘ñòTDçdæððòz3IB>8‘{t%ëÛîKo WÎt°]Y(„ õYõ‚j¥%¤!¹ôûãç®À»ä{›Žú0Cž™þLx~¼MB™åz]G0óÊËÂÙàO.¹¾ç>éùTúš;•³N‰ bQP¯ö¦ÈPÁ»róÊû§Dm§Võ=É]¾hùs›ë}çügßwQ¿V™R.Þƒ35ßúÆášŽ«´ìʾÌvu»2¸Õ€æ0O1ãñ §2³ü+™¡hØ…öÖ.'•0%Ñ÷ÐÎÔ„~[0z#-’ÚãÙÆV0‘ùòâ„È´¸ð=ü‹ßÜþè­.ê4%ù@;¹ñ"wMžÇŸ^ ïä·Ô¡‰5ÝT®ãØÕ·à–‹Jã©qÛ"c¢c’ 5 Îzçƒ}€©>9~qô|ô¥c,ûÚ_wÁ‰6Ô·VêND½\¸ÒÑùÍ5'‚'ʲt›(5!=V˜+u計^;t vìú@ÜêC5üÆÚ’òŠòtkFjº8MA;uZƒ1fçšË¿zóènÛ!$—ï`„LÁË3Ñãgk>/o£Œg\§Ú;:[øŽð؈̔(Úøãy´ôÔA{š~5¹öƒÇRº=Å=ag^›<…™ÀŒÅ¦ŸOT¸• Qz¯Y‘ú„‘Ó¾œ‡–!ç»HüÅÜýšÎ ‹”VË([^K×1 ‹ä‰žë‡î~h[ñ¾£ßçÜFÏÞF3o³Ý:ÏÎâPy@``l˜J R„'2O‘Œ˜s­Í)´Zòë뺡j5%RM\Äô¯ªËõ]~¥;™IѳW‹)Át¯ žÇ×,oußÉz‰ŸZÌS&‰ý"à/]ïN'ž«£zÐ /$æ¬c~¯Jß$Mâ©dá[÷‚Ùù妒¨ì?9%zï9Q˵sçÛTåñ‚Ó¶Ó×ÐOÞ l´±¤Ó¯pŠn«¤Å·míö“­8¾WAaZ²J(„Äþ“WT•4Q£R®5v”d(tp#Î>Fº+~äp‡Ïdø×‘¢lóÈ‘ñ™®dëendstream endobj 346 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2148 >> stream xœ}UyPwîffº[DPš33^ÁbT´ÜèZÞ’Å (¢&´ (—àŒ28€ ‡0Ì›[DÄ‹k<[M¥Ü(¸ÑJbYfw= ËcÕJŒZÖ¾ÖUnG6nRù§ÿøu÷÷{ß÷Þû>šRºQ4Mû~¶Ô°>N??a}ʤ‰AK’6¥Å¥»Þ|(ÐÒp7éå/_D¨ÀCÊ#ÃÜöÆÝCÐè…«S š^‘–=ϰ!;=%)9C7yâÄà  ùù‰.>[7w‚.4nMª!Ó˜š¢‹Ó¯Õ…N› [lÈ”Stc z]|Br\Z¢Î¨[–°R¹`i¤.dixTDäŸ&ünmïRå£7lH_hÌ0Åe­ [›œ’¶þƒ)NEPK¨H*ZFEQ+¨¹ÔçÔ|jµ€ZHý• ¥Â¨Å”žRSjYJI%QßÐat»›»[»‚R¬RÜVF+Ï©RTO9ϪÙö*'p­ØæùÊmœƒw‰]¢Áéýœ†ŒU:ë+.Ä]ì5ãe¢˜·2>\¯±>aødvJ`/–ÃZ-¹¸P`ÑÛÞ•ümËW¢ââÙº=EÁr T~éåPyJ–íÝ濫†£BJEƒG? ÈúãÉd ýp:òè¯uâS¥Vä¥ä­MÌH‚DHØk>QнÐ"œ®l­ê<ÒtŽC›¾2µrDÃ*î ²\ÄN‰S»½ûd"+ÐÇ,5 Q®eL\Ž>Qsœå$ \,`T—4X 2¹þï±YÀ6vlëÝŸþÇi‰/Ñ­XþElÚ¡ÃY¬gyŸ–æöæ“_v/"^ZÏWtkKÈKNp Ù‡TzúñÒhI©þ[ÄþèUqÆO7i¬÷þ™þ ;ápZ†ŠS0DF¾¶ Uw!k³>¾5óÐ¡ÖÆnÌÐØëÂoq¯HËRŽD…ˆn¢Bº)-R§ávUÿnáaÿ­ ép<„n8?ÁQ 'wlÚÍÞ-‹Ÿ¥±]`fÅOÖlƽ÷5Óv7Y>Úº‘ÚîÄÚÖÇ­tÛ•'Wj¯(°µj¸Ö’S»®-©<¾B¨Šª‚3\ï÷¶†;e‹Lvm«½xpû ¬I{]³2» Ó\˜«Ù\e¨Hn^púˆ/l¬Ù¦mMí,8•ß]л ¸ˆ˜­1óôâåÍšâVGpFØž¡%4›ùõåv¨©×”•î¬,stŽÁ.Y¯Îﯹô- ¡¶wã¨L,12Óû&2‚xOôãÿƒ·ÑS}Nˆb£¶$ëcàRƒ[qHa¤ÀZ§óa1—Äò-'BÝ0]úáз=.I½z¨Ý&iŒHKvi„ZdÓKôÖtH…X{ŽØòV3@Iqžv 1C‡êk‘!^¢t¨„‹,ŽêPµ±º¤†6CiõŽ:ŽÏýwÔ9vô‚KÒûÃ]’ƶ`“nÂ8…”±O {òìf›à€Zhä0}4ç<ñZGüJ&Åvdhim<ÖšQšÆÒ ûaàzöG‡h“X2ÚBü¢a$÷燩×zvœlÔ˜`ù}Í1fO ìÓ’PdÔSC7éã3Žv¢ú×ì·¿%(ÏÌ3™`…¯Â-Æ> stream xœ];à D{NÁ ÀŸ‘,§qá(Jr ‹Eáa\äöl§H1+ ;ƒÞ²~¸ h#eàÔ "5u€ÕmA`¶Hªšj«âáÊT‹ô„õ£ôïš`v— °gÛ^ËSµ—”Ó°z© Hœtœ‹ÎAõßªÞ “9’—Zqžf²(J¶)õ3˜ÊL'U[€±€°Ìc~·yçs‹&‘/^VEendstream endobj 348 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 440 >> stream xœcd`ab`ddôñ NÌ+64Ð JM/ÍI, ªüfü!ÃôC–¹»ôÇß ¬Ý<ÌÝ<,ëè }üÀÿÝG€™‘1<=ß9¿ ²(3=£DÁÈÀÀXWHZ*$U*8é)x%&gç—gg*$æ¥(xéùê)øå—34òó’R3sÒòÓBR#Bƒ]ƒ‚܃üC‚5õÐã3000303˜€ìg ¹ô} ߦ֫ ʾ_<ñ}ÆaÆ×¿ßºÃüã¯Øï¨ï·>­“³»tqÌÞ¬)ú‹gV÷ç.m™˜¿¢{;DZƒÇŸßß•³AnÖí5!sœº%Ë›hj$ÌLÜœ(¿5n{ý±ÚeS;–ͯZ˜ÕÀáâid8õ’¹\ÕãÛµ§º%¿K<ÿðIž¯tá€9ßÃÎ^Èv‚ë&·KH>çæY=@ÐÛDSyx;ß» endstream endobj 349 0 obj << /Filter /FlateDecode /Length 4215 >> stream xœ½[KsÛF¾ë¤=è”Ô–N©a• cÞ3¹IŠr,'‘g·â=0-!¦D¤c+¿wÞö°Ý=pHÉIm¥*yötýu÷è·ý²àû%þÿ½¸Ù)÷¯v~Ûáôv?þsq³x¾óøÔ)xSøÒóýó·;¡ ßÂÂñ}«má¥Þ?¿Ùù™NGã²(µãÎ8¶\V·#ü)-/=›ŒÆRÊ¢ä‚=«ÿ›|´WαGØHeiØÓ‘ÃnX]eã^&}ëêb$`Â[v&ðR±—Y‡j‘6j;ÿëülO•éö„—…å¶x~¹Ã¤ÿº3VŠï¥.œ1øúçvýÊ ëˆPš>ŠÏ^´kðÖÑYCh¤q“±½co˜€m¿ðÊùÂ;ÏvŸV!^5í9{š}¨–SüċҲ“êÓòC"Ô:“Æ¢B±ùÛøl`¹ÙpYI‡.%;;\u†^TóV‚ÌGcP“’+›ZÖg֮ǰÕd2…9bpבž›SÆï¹,´ò"œÍW#8/“‚€>M¡“—ÖÂÂ/ñ=Ç`O’Ãû";¥‹ôÇr»xÉÒé£ÞøTo¼.¬å<êÍ)ªMWµlQ*\eÖYŒ¸ô°LÎþ6[cØñ-N$wgv–V¤âÊ~T nÊXR·“¸o8ÿ×Ñ(´Ñ©¾³ªe4©Eñfôh7©3ÛתàÜ4;8úîä{ÄX.agç#kaéVƒ”Aâç0 CÉ-i6þ2°T¶Þ{Ð̬=Ò0—ÓœÍGš£h<ˆ¦³œÒ›Òªä鲺½Z4c)Øõ£º¥ÕN'EÔçâªç7ï?,'KÐÔÉ z{Ð1‹ÇW‹eu±õáç®ÐíÎAìšäûDré3X±r%mÞi¹çLÙ¼)5l{eœ×#4í5»[T™ÙAëÉPW¦[êíµ¨˜M®âªÐžÇfaŠªÇøÂ—Ù/`n•‚­H!,«Û±œfÏB#ŒÁO7“[Z±‘ßœDˆ¸]géñY2Ûá«FŠÉq8—(ËÔl™õ¥s ÿankÜBÚ‰!Ü5`$†Ü5¨ýn îb© w éKÀ]K¸«±åìš`\}°‹Ÿ”¿îÒ>à.®LýYÖ(õ…ùQOfè4¬Sªk½q4»ÅqàQO³3íEñâð ‡Û`P…ÿ”ƒ}˜3VBÊE”×½6,´LmÞ9Ò†¯Âgt]ßL–“Õ‡Ba@`ŒÕnÁ  Ü’u6îíQÜ›L›˜Âãb Íû¶ÏA•–Íöß0În¹’°Êîi¨ALx4„h|€p †À{¬YXNF€…##àŽ´šŒÀMÈ ÷„R»Og™^|ýŽ=@…RHZG$ÐÆƒAˆ¯a4 ©Ïnp(ä [í†V)"?{Õ éˆtÎoªeÄ) ;Yb§àl_#d¬­«É/ɳÌ&(Æä6>"¥H„è!,¡øé¡ÎÍn‡E»|+ÂòQ‡x°°Ò SLnrºMç Œ[ªAhˆnÔ>%½^ݫ•­A¾˜¨ƒUUð茬ˆY°0œ1ºœ`l8©óÜôÕ虡YÛ÷lþvù±ƒC:pÉi¿)5—›í ,$6nÐÌ”_™™ VÆ‘XKÆ÷€ÎÓìOÎw~Ø) MaM½! 2}QLÀW¦ô×£ v9¯¾aC `¨TÆ? Röñ¯‹Eñ{ G\• ›‡…lˆÃ:lâ0Ø)ûÀ Ãiþè?%Ç÷[Ü'’QãkÐ[Ü'±%EÈá9Ñ®€¿$æK bx`.»Ç—C.í¶e>ËêË4PL­²šUKÒyÝïšeº •>hh´`3 ‚Û¡Å“ÉÆñ8ÁÖɇr&ÈBÚMÝ@Zó«jÙãþÏ0¶ˆSxÒÊmFj¼¹‹(Їm¬Ç?øõI"/²¥e º\ t8šc: `÷kС@ù(S%KâÉG©Åøò¢òã¬Û°«W .`›¤•t÷bpýÙÎ7o‘2gOAÜ–½MÍë 0d®)±Ou#sòN›Šg¡Ù¼Cœ@KTa•ËÁ-i\JT¡aü|RçZ<›5ôA°§Oš$ˆ–ÉÑûÎÎs·®•íi C¾ µ<òÂUÔÕ„ö:x1PtMiß4=ZˆÉ"!ã?[†˜'ËiÔ]UÓŠ¥ Œ.nñ*к«Î "§Ëcrô%ÖR{•}ûØ$Ÿ8ûgKæõ»†Š-XÇ»§>R/šb€óGá•ô¼Jdq˜iUgV[a'CºvŠŠ(CïeÈyG.|7l«´~ÆGóÍyRþ–”ý=S̪‹Á€­@:‰dà`¤Ō߄bÛ¨;æÒ@AÖ‰…ä”û"È•‚¸æòz@õ5ýÒü.Ð ÇE$2„9-Óo1d¶f_¨ß< ÎæMó‹jº¼‹±Dƒ‡½ÚÊý6¿Jjý*B›•Ìj»g½‰:ðVvç:öí¤žU˜éðed0íãB´ýÌ]¿›Ì&ï0̓ DLt…'Á è,Œò»Gir(ž9ç|±æj|‰ù©ÔÉV!{RvYõ,u·]oÖå"ÐÆ‰ëfgÀt¯su£÷À€Su†Á泫y]enÂbל&P}T¡m8ì”W,""O&ô­† Ê»…µ#ꬴ0a}‘¬ø¿D²æÞ‘¬ºO$K*-™¶¾‚°G­:Ó¡¡›’óc‰z-ÃÄS¦\%¨®¬² td÷,Ï£†reÇ2 ´‘³ßé{):YˆMµÖd ßÜe…Štå4»2÷ÏχÖù$>+ž9°¸R®0‹mÁ±žvX ºÁkÌGÓªÀ?ýؘhÌÃ7`h™'ì&ćãnHsÖ½IŽdr˜¡5•;Ð^rÕX@šñ>R’öù¿ëËä\fÙq_ ÆXNøO˜NOxLnÓå>3A2ÐvS‚=³Q˜¥Æ|%©¥ðTpB-‹¿À”÷šGÞ›¥.ÏRGÊ4í>­òÔÍ4ÊN„ÃÊY¹k6“1ÄzL"gˆyÇ$×SÔá|ŠH1ëdõžveÑ”èìýSÔ1¹Äôó-Iêýœx‰æ àê’œ»Ö„’Е&'­U7Û}U„r„ã3ê­·!ËÜ$Ðä8ä’5·caXû "݈Bª”¤‰5*¤Àº(„p#ø aci†`}9¦ËœÎ’;˸ˆ°WlìjdlxBøVz ?±Ü{7ALM ùëêê6žÈx™‡@ÑÈËUŠHÚ,ß!ÀnŒiR.M^7·=^µâî¯R›™~Ìy@oåUn Û²…)!”mг}` a¹³+²%ˆl‘„=|¦ ˆõÕO_þ%I YH£ö¥u­JJÂ\/—ï›,/@;Œâñã£ÓƒWÅéëW˜PÓì}=ÿuz±,æõÕãËùÅãÓÛéÇÅãd}Ï _@„'©¨49Ðâd˜r•”1V1ÿKö BÆØø8즕ÕO)îÌæõzúÂEêßá|øÞäaß²NYež¥è³Ð?ä-iÝ~÷¥¨V÷ŒvâXàû³¡¸Uæ=Ëo­ÀA¶y.ÔxEÐOå^Êdö">‚o¶×:!‹Óš¼Ä.Ùz Pàaš­1®~F¢­¼cï®êyjªc£A¼ýj^-¦qQ`¸è³è“ð}8Ð4ÛZµ¢ñÈqhªÎ5Á[ 5Å™€û°˜ì.YÖ½Ýßr£d8•p/€°‚.nœ„Ä5„Ib[ÂÙ‘ø¢zÒ8†Bß œî5Ör'i›Èm0•°!“  °‡fz=e\ã8B&Á«{±ºœ'7fâ”EˆH¿9‹6²â‡Ï!MŒÀÎg©ê£7”BÒUŽcjO,eSÚ[—‚I§÷$æ¾á ³´Ã ƒ¢I098t3.&\:øîÏ»—å…ecö:gáF¬Ôh¬PÓ¥e•a Ô‘6U¡€ã‚…k×ã­G’s4ŒÂ³€-hÛšEZJ"Ò€×4ȈX—ž×ݰ†Ê¨½ÌÁðB”[ M2I}˜Ýy)K:9`ÏvK/¾;s@:¹ù“FB9e!À¤ðv¶ ·¯¾§B$¦ŸÅ— q¯2”Ÿ F&5vqD‡_ÄîÎ’’:?T±æÀ ä “ŸMo§u$m‰ýcÚœL¼\….œØ Sé"$}ÐÃuìÊ X´\Õ<ИŒ£¥‹ -)?ìzªe~˲h¤bO3"“÷=œƒÐ ¡&½Æï›ŸOf³¶ü î†#~9Æ›N;£™Tp¨Ï^à¼NoCBQÊPY£ê¾µœV@W¾ûöIìªU8R7x¤ïOµ8ñžöÊ"‘^¹á˜¾¦D;Æw€˜ÀoߢZ„[ã·­ŸMF›Üâb­$€:Iº éØû÷™"­¬–<ë"v†”˜±ääŽÂ=;¼u>Kê1ËiMWã<A‚Ý^õ' @yœm¬:@<^¡ÐaS'“:ûÛ„ÜΚÌÀm^~BÓn‡ºù3›®Å~lFòx"f"V7 zÝÏô‰ªÀ÷HŸBšÁ$yìéÖ‚¡}‡qñÒj9 e!M«[@·C¬­ãßKtuŠ«\=Jˆ–J לּ˜_'u­fë’ýTåwj‹¢únüû¨Ô³åW±“Èï‡ÿz~ì“endstream endobj 350 0 obj << /Filter /FlateDecode /Length 4137 >> stream xœ[Ksܸ¾ëä=è–T锤< ñ {“,[¶#9ޤìV²Î+É×3…CÙV~oªòrÊ!Ý €pHY›Úƒ©!ñ쯿þºýÇ^Yð½ÿ ÿ^,wʽëìpúu/üs±Ü;8ßùéÂ_ W:¾wþqÇ7á{–ï™ÊNV{çË&ÕìüøØªìck ]a“óËŸØ«ÅÕl^ee¹Õ–}=i¾ÎæRÊ¢,-ûafEᬔ,û¨]7«[ü ^jÉÄìïço·&5ÍeUX­ýpÿ¹™aGÊ çØ-=KÃKÇšôëÙ\qèÝ vøŸq>;l²ytÿ ¯ªŠ½Lº-8ggI§3›SIÁn’_u×-ëtðÛ0¸2ìýÌB?ÒIß'ÎH±“liËËäy•¾øwÚ¢]ÙŠ‡nËÒ°?6-ÌPƒùt6Á´ŸÜ ؖÔ,ûKìR²Œ;ç>ÌŠÙ\[0‡ÓìÙùMÞ‡ß4Çþ–÷·š¿Iûmò\wÙ§ÉBÑö`v«´Û›C¿•rÂÛú}b’U³^{ÌÀ„µ`'«Ù¬Qr°ÆåÔá{kX0ïì/Ñ”¬»ÁNXSqlŒß—F²ÃÐQ唵`ùlûÖ8ö0¶žàÎçùf '°„!HÑJnY£ ŸÞ«f±ôíû«4;ŸY£kžž#ü&~/Ù›m¤ùÕå· =ª,ì‡Z Â…ƒ×tuØcô•—Iÿw´­J)nX3i e3£¡ [-V×ä,eeX1ãÒ¡qÙw‘ªŒƒ&Öîïœÿþ'övußÞÒL½`Z«øŒ¶A _ù8ÅÓY…Övœ­h"ª²ÆrÖ7–Žuu׬»æbV%/TÅÎVð õyÑ\uálà¾ßÃ¥ÕcTÆ)*m=e$ˆU•L?Ñ…Öºá®Eø(ïÇ–»žz?0ñaö<ð(x.wÕ®(]A[6ÀÁàQBÊjé[¼ˆ»oðnެûÄH_ÑÅø~ÅŽˆa4¡t@Ÿ?“ :%Àz~UÁWн q‰µK,ýôlŸ¾d§ò\‘Ãqµô}9«Ù›å]2­ûä+4Òê6ÌHà}ò® n6â¼Í]òf‘9ù÷0IØ=Œ[Û|§‘<²hÐ!i$tÁ<ï Ã3â­ D~_”ÎÜã$,€¸¿¸^ÍgÛ,ˆðF›µM—vº$ߘð i ÀšŒÙ ½¾»£g Ô¹j»uÄ®d—äšBåæû+tgØÅÍUKp\§÷%´$s%ÛܳcœáÈçÝé›ý€LnÀ%جįƦPœ"bŸ1¨­<Ãä?Ï`=à¦Àú¡'¡'Övø¹ á#F7çž 'É&R„ öbQoÿ&Ói4ð0¤iDáñtB¿’}‡6Œƒkö1ømœ‡QÓ5¯óèÙÃHìmFhV’BE`Ö/~—`7V›f[°6ø³ ‚G rX?W‚<é?£¢þ‚å† ý·‰ÇkÄ´¥ 9Žk­ [ª×/Rê^-ïî=l"€Øø:FË~âøaÝÕ›û÷´ô±YéúYcܹÂDŒ?‰ÐÕ(Ÿ Ø8ð¹Ìø\òjŸŸ;è²:Mª†ë¥7.¬#PóFÄÞ‚pý9H½G=iÁ¸¶êwþ½tVTFƒ~$Jˆ%b`ôdƯ—Ëæ…8š𗌇Q™(òÐEÖÝgàH ÙH<Ô”^œeZcóA0Uö‘tf~P¯‡Ù€¢LÁüª€èÖMÑ-Ö•ˆn×Ëk¥P![’×JiJH^Ó —éòªEÁ LX£PS–L»%¯©±ÐIcHõ¨)Ñ}Ñø;FÖ^÷ 㼌Öá''i8rx$-ÈÃ蔪…0*‹q @°+áňÛV.º-!ñ¡£¼:@™úâäyøyR_dìœqu}™81&©K³£ƒøœékª­?{±J…õEªpW˦«o{?éq&V°ºmêŸÓªÆUEYvi<¬KÕŸ—•#Oæc9DÔÌzŠÄEY¨"¬¦J$"+‘lœÿe‘ƒ íl ˜ùÓµ³tÓ¤§™^oð]=CBhÑÚ É¹É\#–14XDz¢ZÑÛçá°ýæŸV´2Ó¼>›ùB‹ö Jû4’”a϶«{ùÄJÝŒÔ hL3È%¿ó–»!è}Jsæ«åvRˆ¿öÓRHìf$Ãݼä lñ]\ªF§ T±OãÆIvÔ,>­q#+E%†³Í¼N¿ ÊäõêºM#Çc¹æ:Ë"i”’Ôðá[xŽjþÛòÑÞd˜g ‹,­ZlÑ¥>¥ù0]ø]ÈØãÅKU@b‘{R·ŸVŸ±–$v/njR¿Tä¾Å¡û7u»HëdøÆ“ph@P}Ÿ#ecè »è£äfWã® Æ4R&>%”ÏÐî¶61bÁï3g¢r»ÂÈ"nŽŽ¹i0jÚ*;.ñŽÊ!÷:+2åvÑÀx]/±–”˯Ð0uÑϾ\_mÊääõ@§]¨ Îü1– BÅêõèèJ¸°™ŸLžì§ÒýQYsÛti±ñIóµ»÷I´S¬§`µîÚæç{t¼‰`Ȩ41VJ~cÇý¤«í*Qº­Qd@V{Œº•’ ¬7y4Eˆ1…r| Bú$pµX,³ EÄZGãz ¹Ä–´ÇXÍ0DοRƒJ%vœñalUy{øÃ+i$­Ÿ·|´õ¢ùgV¢&¶8]D-cÓ¯Ò8¼`4±ð"à m/øË%¨l¥}xûÅ»‚´ÍÕG? ¬£û†ÍhTMºÞ¿ Űø@r{YF×úWúù?*Æ“‹.v Ëýd®I†êqTqLý9è¹¾¯¯Ç!!±Ë^¾R¥À$\È,HÈ6ÆérJ«OM—Ÿ×!O…´ï -dæzYãuÜ~ôgQóÜÝóÃØ‡ÈÈ2?Ù]}œòð_€GŽJÄ-eÒþ7™ìMy¿4m–ZÍÏ’ÏÂM ]\´ IC·4Ðu E)Ž­*{=-5Èqµ%©Ò§{ùˆpÐT ¡70‚ç¼Úƒ%¹_ÈpÕçlpsqã±…c¦9…Àq!*L ý!*Cò«Nhb­ü±š˜Ò»6f)¤ÆT¾33¬£¼·[$¥¢Yž©=mVÄò‚šÌ'¿yò$}™lìäÉ÷Ý7U^§Û‰¦”ºO®ž¬¯G«rº3¥! AÜ­ÊXã !J%â(#dÌœ §¼û <ºoñ¦© íd_$aUAÀ$öê4qÐSFÆË’ªßUØÑÒóäËTÅÁ¶-³¥7•¤í†š©mPÇ”Ò8Û~8úBø"ž§Yâ'Òl¨Ó,˜Y+•Ò¬Dïé©fêŒÅaöËʼH˜Ÿi6T³¾Z—•¾aÍÙamà‰Ör| ÂÓç`?a µ¾Þ‡õ„ü„omáýD ½ Vp—}ÈfuZk×á– HåíUŽ¥ò‹Xw„QÓŸú{yÛn=²}‘„ÚüJ\¨t¢Gž':§ÄƒlÛ.Š99yC·Yߺ¹ © ûKZÃh>û1ÐSíºéþÕmö÷Ç|¢y‡ò\ ÚA¥s»´Ù6écýû8ÃU±sMì‰Oãëò5R¼Å™x~ÙØ>¹¶x§.;xîŸ1ý<΢X¾·½ {å×§Ù›D$hõŠ=;ˆGI¯ m=U Ý®y)„‰ô¦’ÖôÌ@Å]Þ6šQÓ;Í7§ªJ>õT5L_ùÂ<.TãÅL¿NíI‘ ¦ÏN°Ñíù3F:É·*eZŸ|ñ§“,)Ž‘Î‰Â:›Eº³óåh/“;¼tëØ\’}ü_¨2vQ¸:ZÒ7¯&]ôU¦«ô‰ŽÍa_A¯CÇÖ_@¡!)2gá¿Ðò[á”hÀðô|ªôiêcµtçO9çÕ.çB„ß°0•=¡ÒtEmp9½o0õ?_ÉYÒNö:'»xY)Ì>WÙ©ƒæØ‹ghrX˺&Ñ'<·Õªarn\i缪ԜÅqS“Þÿ_žïüþûJºa—endstream endobj 351 0 obj << /Filter /FlateDecode /Length 2382 >> stream xœµYKoÜ8¾÷iöÓ,}Z°–V|“9Û dÏ‹dŠ»ckÜZLò{÷g °SERÙ­6‚Á.r°Z"‹dÕ÷}UÅü:.r:.ð_ø{»ã»Ñ¯#êގßÛåxz=úç•À7¹-,_ù)tlèXK[.Ç×Ëájrý 6"lt®$N¹žÞ‘óÅ|’y! 5Êß.«ß&ç…99ì\iôB2ýÝa9ˆ’ºš87œ¬ÜkÅ8#wsn%ç“ÌãDz]ü,Ê;·‚qz/1}í¶ŽS9åjœQžKa™;q‘q£3k¬Ô`ŸÁŒPvœ1–Kªâ#{0•õCY#àU¡È)ÈŠ)Å´>È-Ø~ô‘Ŷpç||üÜFJát ›%ëúÁÇ&ñœIPaŒßéË8Þ ¯L°o«Mæ1£¥U&s85ÊrCd°˜âG2oñºjštÓ­X¹5ît¿0POAlŽðsA|Ûsa‰¡£9>ï†QM.ˇ ƒø Ç›0…eäSk‡‘ŸÎÂT¡¨>R0&>¼£{èØ T%%€›LX p*Å”%«'´/›jƒ£¥†¬?â38Þjr^­*tƒ³‚ âØlk/v"À?cÂäT¢J‡®SX¿®>l¥›!¤)š+&X„4!8yµŽ“Àʧ!Ë)¹©Ò$õ%d(ÐÞ¿·,é:Æå&„Z³\hÐEjÀrëQª…BM‹$äCdm±›s¸Åt¤ÈÍë#üA•äªz˜Óo‡YC¦§øŒ,æ^ŽØÁ<b©Eå$çÔFêåú¸“ÇÇD4|Z+ ¬3­<±[°lÚwì[ÕD²œ q8q¥Y(¬ˆ®¸pÈç.S˜Å»w‚×ÿÎ[ò?©M}’áM’Ì"|¨ƒn9m±lùoŸÛ÷e+Ìv²…È·ë½,DJCR›d.2 .½IáÓÛ>…w㱊€X—`9H&è×7ûBPKŽÂK¨`âêk=§uT½,WaäùË 4@Q“99qµÒ j '`Vxˆù±cÐÚáå/;;‚\Ìó`äõi»Aë”Î*ä@E—KØß¹’,ÁE°ÉÃy¤…L@ÖÕf³nדœ\%¿«_Áú3º ÎKèvÉœ…/œº€$˜ùì´Þ…ÖItˆÃ§‰Ä’”kÒ¥{Ô+tš8ýëØ "y‡÷àÖVܽ‚¼Ò }áôðªLSÈ åÖIÍ_HŒJ·Õå´Z/ç ã·ƒ ZBÙŽ= CxÊy1l‡H6d†¨…èj,G/, ÏDÑ2 €"­ðz$ª=Ûï"Bð Øº ƒð7õ}Ì̲þà#ÁC 5v@äæmxJ8”º|œAÖvÅÝwÇaL‘*vð€®ÈEõà`aw ¢Eu§.X±£%IPéWçäØáB€â§‚·.{JÞwã?F©~]·2äEÂÕ!hÕå¢ú¿H¦µÛ‚*è¢òm—BaTð±@NCõ½Ï›¶të˜'ÍSÌk¡Ë@WÈ\Â×G¯ÖÛ‹(`ÁRºª†Kã5Ì™€CÉ"Nó  …² 0©ˆ/²‡²™kÚ”üvðÓo? êý¤M0€8FŸÉ®Jµ47LîT©HWQõ€˜ôÍ)WNb¯ÜªÒ¥¯éÖE‘afú2@§†üä‹ËÎ9÷½ŸE…¹ž_Ú!”œ¸áÚåÇ«òcÜ¥ ìæhr|æ7•¬/™„#¢pa³.Öž¿ØuFT6-7»YÅ­ 9YÄ9l3Ü„²"ìÊ¿]žµû}¹,“âc r¿gMV¼[î¸ù"5#Mh™Â6Á¦¥À ßc+N.Ê7À8HS×e¦GÇ» gŠ¿Ÿ«2L4;º¸L ÚÔ HOßµÓ“/dçÔÑ“YßA!=ñ¨“…×7FuOIŠ.~š’"ž¦$”CEÐ`×AJJÞS’9J2­œÊ3NŸ1Éû ƒ1¥¨/Ì]xq ­aÆT溰n™ã¿-*·ëçƒËé\Q£ë¼#Ó4,Mâä²ít(yQÿ}ˆ9lµòêm¾ŒA•~³[÷9£°ÜÇè½Ç/6 ºÎr§r·…lÎD÷²lîqY¢=Œ·1}‰…û¾©êfãó™Píõ`ðD¼Õf³ÝóE¸^üä³­V;uü¦jþÓ´Û†¾­Ú©¥wº½ ëì"9V¹_© çbó}Z”Í×°H÷tÒÆO¶Ñ¼}§Ðít_„Ú€@ú‹¿TÆ üìpu«_â,ÚO¶,«Ås7êìzôã¨È¥»Z®ßD5tMYDs,~s×ÑÓ9"ºÌ_ÔÛùꇫì±^ÿ2¿mòu}‡Üð þ™;oÎd®´ÆEÞEi§ÚÑ÷¸5ôÀbШ·U;§®)é½[ô1péýÅz>M±¶3Ô Ã~÷µ’àPÖ-¡¸èY»›1V.†Ö'MgI ð¶o2ws[hÛ‡¶] û,òϳ¶«1)>‰Ÿân LÐ-ï¡ö§]†Žñ …KÜ©w¢`õ×yÓ¶XTOöBý‡‡øT‹f;`DçiØÑÓ7î4ܘT šäWg/µêYªáZk'Duùß.zœÖ !¥ö.ÿwÞ3÷ßPÔñþ˜8ÊÝçs ÕýÖÛ¼¼Í˦ãý£?~} ¤endstream endobj 352 0 obj << /Filter /FlateDecode /Length 4338 >> stream xœ­[Ksܸ¾ë´9ì)I•N)NÊÃ%Þ@rÒjwMY•£Jªbç@Kã1ãyhIú¡üðœrHw ’#ËqÊÏpˆF£Ÿ_wC?ŸW%;¯ð_øÿfVoÏ~>côô<üw³?ÿöúì›çV“ÒUŽ_¿>óKØ9ç¶ä–eJ'ÔùõþìEñífµ®ÊJYfµ-ú¾9¬ð«0¬rE½Z !ÊŠñâiûŸäÿ’rÒÚâ ¾$˪ÒÅ+‹˜.Ú&£{›¬m››¸3Å¿²x–-hºô¥añ?®ÿÇ“Uz<îDi˜ƒ#^ßžB¬®ÿy¶–’¯…*­ÖøøEÑì´Ü¹b—m¶Ï¾V §JÂ!úºoŽ`QºÒiQ4+§s‚]xÜ¥G˩Ɏ]ßÖýD&@ÃÂÙYñjØò*x>6»Ý»„6È´³ ¬LET‰«xñ!“¤I|×±‰.ÞÃÛ9ßíHö5>wJiÐíqxnŠ¥ïç‹ëŒÇ_§Öί¹ÖÜŒç7 ªÕµmÁNÊs„^1Qܤ?ÔQE$É5×À20Ÿ.F»a¢TÒñóëgg׿}öñʉ¯ ZþUòÃaÎŒðb¶º\yS2Q¹HþG`Š+ ¬¸¢“ïÅ•*+Ã@¼ããTÕ}ú¥¥_ÌdÓÔÛÔ¾Ž]~åI+Qô^¢ +^QrD–½JÒ…3yG¾ ƒ Ž÷†…ÝÕÁ‘üšÝÔ"‰f&>Õçº& å*;P«¢K_¯w»ø‹ ý‚¡h6È}Û¿ÿ ß¡ñV8®мõ”œÔ ‘‘‰q«(KûŽ|ÂY&Ü·8,¼ËƒÔÄØ&2|—†"¤(ú&vím íš~¶è¨Àó'ø´Åû©\¨†`Œ Î*XújìN¥e‘©+…IclÛ¾!!iÌȚब7.ÿXäšœ .­ô.é¨àuÁþGò/ r®ï¯Ïþ|æ :oO'¾<3ÄÄ'¤,?ׯ”)íMÓY4G¡Ïoãó‡Ó“ ”À«J¦ü~.£R‰­&åôåª\­-¯( _ŒóÁóó.;Ëøù&·”Ë2#] Ãi¿5™«µ>U~HÃULÖFR²†¢ÌNޫЕޓT\æÑ2 TÍä—Á¨v÷>„ðù£·w€0ð3†LO0EÄû0Ä\MÙJƒÆCTœž§Luh7cö½}~j؉ûæßFæê2„…tù.7h23óZ+E‘F°º­'á3ϱÖ"Ó|7CQh‹{RôP°YSÏm&ËíÁ€Ö«ÙTŒk7iâ ÀC]„,!ÙÍ& Kˆ»ûºo›mŽ9Ç¿˜çÔÞ$'Ãzqñ”ó÷+­ÎÜMšR;c»yÝô/ÁÏ8N=S¶äFøWÁ5¼} •ëwwp¬’BÈXzü…¼Ùè¸~á»$•¶§-®q¸×Ù.]‚=œŠû`ï¥*–áBÈÁ.xöô4XîΚ5s¬”\Bt hü®'`Fhø2€ 4àÐãküŒ*”c¦2~y ÆL06Ò¶ø‰vSŽM× »ú<›…|ZÁs¨”mxÜ7õ.œklËí$×wá„È…ø ¤KÄÁpÚDÆu`L<Í—m×ÇP&d¤&°}¶÷‘s0g>mŠhqQQ€É=qWœ)ÈÅç•DÙ¥®VB5…± ã }ŽÙ3Ru)+é%ø’…§ã>l¥Uq<ìêÓ>9€f»°L –¿™Qo~•‡E @„Ì­ ,k^Í<:„ý,ã’TQ(•ZEzRf™¼=îÃÁ!‡Ìâ6®V 1øbqƒ ÜÇåÔ“lÂ)VàkÉ@õïÓ"¤Þ7…-˜*V5kí|¹w09ë›ÓòdPgç©:Xý¡é1CUÙÿ¨´à¯½ß>â’ ø€ÑF6‹­Çˆ!,$¢ñòKÔGÛX3×#G… 4iÆÀÃ~™Çñ,ŸؤDç|„âã@b®¸XF`dF³¢‚~:/¦ˆ¬Ê±dŽtæ‰+d¿°>fòoãó¼/>Ö³z 9‚tà_óØ Â¿o&ˆk—7 Ú(ÇþO5…Å‚ŠŸ+DZböXý»ºÛ¦\¤ÇìëÀ*dŒYÆ!…¸ây 0o—´÷ãQd_Rg(ôRmSæ‹ß#üù2™X l\ å¤ǃ5SìûAÍôEga*`­ó_®ž)¬é“Ï]ØÙ¦%oÚÈBPª¥™NPg(Nåa=Þ¾boß®bÖðËã»çŒÚ§'!âIœ> UõΑê}<=8ÿ ¡©U<6°sÑìêWSwÓM FÐÉZ¯V”–t\üzó²ÃŠ$(º99);Ïq(-O–·³ÞØè!eûžC#$x'ì½æBaGâ|-Ð@°C‡<\Bzçñ'a9£(1ßnzHç5l#—:Îk&y‰À˜ƒ!!i¢x±‹tØ´@Πqvšz#_–f…Ó­Eí¶­ÓÜ$'&í¼.žÊxËç6gT^|ÆìÌç5q–w›krÊèXûCý· ;Kqª;Mõþp“@?Åž¦}°æ êr™õqU §ƒ•>_2Pˆ¿Ô¼ š%M"¯’"T!KYò X€)ò--ÔrÞJ}ßb–âfÒwÉr¿•BÖÛz;i8,¹¢T¾áN°÷Ý@öïû­–P¥[Yy¿Z²i(‰”qŠÂJ±O‚¤r—w¥ŽÅ}6»]sçékœ†t¹’—v‚Ø^w‚DSV§vb€úãN·Í]¿ÉÈ÷Ëä50X±¼1k¶HÂs‹]ÊÁ×ùMé½€J©ï›¬ÿvRÒšQœ¯õ#ÈOu³Û´‹ô!ê9la[Ö4ìC¦{JêÕ¨ÞƒIåñm4£Í®m|löwX8SŦrR™LRªSõÃ!Šž<°ªýÇý$Zšh<¸ )«¨µÇ÷pHLy³l_LX%cóÈ‘þ”AŸùO-5†ª–*jæ-„¼¦¨[襲µ„ƒ8%ÒÆDžÚÉÜ$ÍY!e ‰ñmÖ’•ïÎ']Aÿ̱ùøy–üäó‹ÇMf³ Mkû9…Óš“ørÚvER¸á¾wyys ™†~šçÃ@¥óÃß~x¹ŠªÐ''ë«6põP±‚Ç÷ݼüS¢f„ÅÜè ­­~8e-ç„e‚U\ƒb£Aàk<šP8KŠÞvØS€ÖÎÐ\ª?Æ_X¢BºÒr†wö‘%Wü=/Nv“Z…^œ×³Îw¸Ovjw©Y¾NpÚ´`&.ô¤‘Af`Àù²×f€…騗⥠6¦KQêAÔóѤ«trdî1³oþX7C®Ô6áÎ4ñp‘ìchöX^Üï©—-%9i³¦²öX*œåj%½ãbÏl¦Hb ˆÖa ñŒ¬Iïµlã[X7 \lÑZ°Ž$#݆7dñó»S¶ÑçD¢Š=8-ò½*þYS¡ÐÒƒÃvMÖë}Ì´Ã Éã?±7õÐ\0óoúfhÇçµ²óvq(9Oö?„]@î³)cÏ÷w^‡ÏÔ/²<<,],¨—†H27a<¥‹uÒ“C±î;}cækò³KΡòCQsìÇèÜð±!€Í†«ðÑñ`ø¯"„uñÕUÞˆ¯×‹æ& 3 ÌÊïóaº€-žƒósÚÛd¹ŸùÐEžâûäy><ÈãSd]ŠÔà¸Ýì¢-·ª`óéĦOÂÑ® ÜFzjÙ“ t‚Äe~2\8ȼư/rüáÍ”ÂÕ²•B¡¢­º#A°ƒpÔÞŒª¬—ƒÒ”`@Û &+‹Ûæ¦9,—î¬%3êSæ¬cÇìIkVC™†vlC›“†¹âkNPÙæ‘Mfrãþv2ðÈúÁ>Yc«ïmƒ7Ü Íò.Ÿ„{€4.ó9oö-ÜãrQ<}.Îö|zô}@]Ik9ç¨KYñ4^HDÏãUU‘·  RN7¹c3»Ú¯3Ö&º&“á>Å&ü¦•·0Üzr+b:Kò´òÂÅøürr%7?à“¡+ˆìâ€çÁ¶àrzøÑcc úÊ·Û¶ èʪ«.‹·1BôZ^%|*öÁj"˜áÆ#ääI¥÷"—=8º¥9•= +õÉÄ•àáP¿|ïec¢ãéliU–×+cü=ÒÖû«Áº¢«o½uá=Hu¾0ò³ìŸRZußoÚÃøâ‘áHq(0 Dwz G¨TÁ"¾¹yƒÃ:%Rt"‡…#ú X˜ÑNy±KòÀmíä‰6¡¬h {|êäü©óeaÆ@–m ¨øYYJ©ÙÿfÂu0 3ô™}V˜!ï|˜!°¨)ÌÐSöp˜¡— …n}ˆb±S‰ôÕåÂddö85ÜiS§¯ÛÙ]|Ï£KAfvMkzkÐÓÕ³Ò”W³XA‡‚rëûäñU<«(.vÛcÛd‹ö#ó“€öX4ÚÏÿâo¢:¾pÝÝŠh¶“_FÓ5%Ž}Œ/FýĆÐ>k3ÿçWY¥oÀB$ÆCh¿ß„ÍɧuÞ\iêH@ËR¡…ŠŸD*Ÿ š¡ä0´¶óYdV2¬ã«ëÐj;_~?šâ»šî(ßz›Ç4¯™ûtjÓtËZõ€]²Çv¥Ù×ʨÓ(º’›§¶”õ¦ÎgýõÈïð##Hâ!=zý’ DëÊ ÈFd¨Mn¥d"SÁ¤¯Ð†%W7Dìù i#P¡~#X 6¶nÞì©·WIë›ÊÎjlYŒ)mÓÅ…:äžðåb%°ôîî²|rCb° £ê~‡•Œ&ã¸Ú`ñB´q¸8ÏsOBðÇú©â“|ö]ÓùÓ£3П@¥¿–¸ªïîšÃuë„oÓ«Ö£¼?õo6í #“PJ‘Z‡ñ1æ½G#>©GîéJ¤¤;–…Ï]´lrCì×|œ¡]Çá0Ûv”ÙÝ”¸UTÄxŸ3dzÊ#Ðô˜'5²¨Ç·¡8̰Hзû{å± ázÊY&! L/ê¿jR‡núûÄŠGW¢”lˆ:XÞÎa¢Æ=EÅp­ù7±s Š?Ô»Ý7—χ[¤—ObkÎϲÉÉi~9ÞøùóÙyf±·endstream endobj 353 0 obj << /Filter /FlateDecode /Length 299 >> stream xœ]’Arƒ0 E÷>…o€%3Œ6é&‹v:m/@ŒÜaòèíû¥$]tñ5<°¤o‰êxz9•ióÕû:§OÙ|žÊ¸Êu¾­IüY¾§âvµ§´=Èbº ‹«Ž¯Ãòõ³ˆÇÉw~.R}Äfo¯v÷¤4r]†$ëP¾Åõ!pŸ3;)ã¿Ou}Ï8çÇÑ:±)D×75›B@t}Äc4Œ†›€"± HŠ(­TÔRqdp¶Èk-·ÕÜnǦ ›€bd0*¶l¶Š{6÷Š6Š°Ð™NmtÂ& (f61 žp9² ’^`Ì© ‚2¤6=Éú’öÍh’­¢Îú9T».ð¹/Ÿnë*e³-ÛuyS‘¿a™Íòûáú˜­endstream endobj 354 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2874 >> stream xœ}V Tçž2Œ»0F2ÅçK«¶Z•§hµØbѺ‚hÝd4¬=,I†Ü¬,$b¢ K@@Üq«Jk[¥ÚåµV­O+µ¯}¼–Cmÿ¡Cß{ÔZ{γçÌ™sòÏÌw¿ïÞï^áîFïå+B“£’ÂdQIé3gLÝ.—E¥¹½Èù¸qnÜ_„À‡ÿ"Áp! wo7b–rx¢Ý£PähB(¬OÌY˜œ’•–°=>]ê7cƬéÓñÝ_º-Kä+]½39s×ÎiTRŒt™ï _éÊäL|˜ œœ$Ý%‹“&ÇIׯ¾% [&]º*|uØßÿî§AŒM JN Þµ$=j÷òè1±ñ ²uƒÓüb1XM„/k‰ÉD8Dl ¦‹_b1L,%–+ˆ¹ÄbAÞ˜ÂÐ ^Ô¹IÝ.3Üg¹[Dä(2ìó°RoPdž,Ò>¤hʰ¿‹Ö‡ZFþ×mªž''r*l^hÔ5|yÓV®y¬Ñ¹ÒÀÐÄ4£°š»&gZS`IÚ·‚ <2fÅÞú?A¡’}e%E™­¼µ8B!À¨dˆÔ#!kt†€ÊO0Mh¹ˆnüqïÍ‹—}>]xQh Ÿ'y­’Ip´ãè Ç8P· u8½P[/×+û!¸×›v˜Þ×|ü/¨ú¡îÆåê¿StãW5_òc}ÝH•Lt€¼ PnŸ5x@¢Ü®VÌj—ëœGÒéˆ=µßRÁèbÅ›ËçòB øIä¤1µèË:A£IúB/Xç­£dümqÁ¢¥þqŒ'¹4e¦–È!A«IÚý{¨÷U„P#9VaçfØœí[ÑÿŸøÀ{ïÁ 2xO9/¾7 4ÐÐ[Mù—‹•ۋ“¶&FlLÚ‘mÝ}2ëxå{¦¶²ŽŠóÎã­'ÏXÃqè×EÖE®QÆR#ÿ+P;Ÿ(Órº{îzÓR.ó›S#±›Cä‘uÈMB‡ðÏÿA ]QŒéõÁZxèC't°ŒÑ)Ê éi ̦6ò•Ô~ßÕó9”tV#/P¥ª“÷æÚ`/ÔW™š17í%—&Ntk2¥§´gvò´ƒ]iGR»7=™â6‰+\4xòi!(ÚHÌ´>Ò‚qiѦÿ:€9÷¡W†„f‰$ª˜ºjS+Cr—üwæÍ¡ìäq´W”FæÍÍÙ1¨WHzRà1d2>Vk8‰^†Ú°~¼‹#M*¡°éê¸çëhË©›§„œ'#®x;­©°*¥9¶|[y¸yYuå;¦Ö–#w¹AáLµŒ*2Tkuúñ–>½E[¦ÀU ¥[ V+ŠT쎆m üHØR¦Œ¯JÞ/oH­W^˳©oä,,~+*:¨¹Ò¥¾£©Ö !4%l–œ—HØlM‰Œ Õî¯Óaf­uíQ'4V@ÐõaÕ'³pt'!w¢<'7 ³*êç$ýqýóz¼éþZ¤›œü(6æ@¼žQÊDÍä× S”ľ)ÙÍ»ócŠ’a¶³Ö3èìtE´\Ц~†Ïgªù—¨< [S«Õ[õã£B=Ñ¢Ó•)|Ô †ÂŠîX¾ µ9âüd`ø•À¯áýø(|!†Ÿ…B]ó)Üq·BÞmÆ?U€®\·§IÊ: Æ+à"¼ä¡°£×2Q±-ÏôBo\3ÛÏÙsp5,@?¡ÑâŠ.,}¶hmÁ‚¸Ø8`B ö¾ÎÒ‰œ4Ä%ÈO ñ‹8&דt²š•Kî[øÆ ~Ôý‚6`>†Ã›/?ì1[¶Õ~}ÊæE§pªqÅEüRQXášT%–kNh-h³¤ì¨©#©}GÇæÚMàó7+–ª-Ùhë>£CW-[´-­gÍÍpÎÆäúQʸõìbvI"3/!a}ÉVŠVÌËûgÚ>ÝðöáúNŠŒf÷EuúXლš[?묘VLË HˆðÙñ­åg*.\¼æ™\ý1ÊÕ¸C.á›W§TsZoº„«Æö)¢W‡C¶nwã h¤ýÐÉÓ Žö¶ã{:µ¸úSKešTH„õº|-v@Zº¯Ô”_šÃæä+•’•}Å•ZÖÄèöX*öi)ºÂèällѦèW§k5í«˜ë¼8t”††2¡kV•f`ÉX•Ì¡kÖ:€ù–uAÌЫªu{ ¶Ö–O?y÷%‰IQ™£QjŠ rS4£‘@_‡4M¥ÌÈÎ$3“ós Paª· DÈ,N#“'Åóžü" ü;b×$1Ô×|T Ö4ŽÛ€‰HÐãtžiÇ{I\@§S]ÔòM»Ýë£ÛhÁíèo¼iŽ[‚†‰u•…ÀB°jVáRëàµcôJšÛsôm¨€÷5Ø[mc‰¥ùªÔ=™ à€ýcEŸ¸jî˜ïã²a7žÈàGgðc¾œŒ(@ÏÁ94\Wéê¼ —£p‚~ \Ý­š[Â_„.©v‘óºâ=î€ÄÔf0_êÀÃb S4…Y|÷à% ?šëRÙXHÇýð´Ý½:ÈJT)Å›'>gCõˆÂäO„òNc=Óõ‰´$ÿ«›>__T Œ å&3z00B¢%§~ü”IÒ_u™d|m,õh6+l çE'º`CqNÙQeÁ·¯Þö¦cÜ }1””Uœfú¸Et­‚ñ÷1°—¥·Å:Â1Ø¡ØË¦dðâ ž¾5‘pÎljV,•Є ‰Ål–¦4?›¢›b7Ê#}"`§#ûP摲®²#¦öªKm'êÇZÎC+ÎÝQž ¥lõDÊD+ ÂÃЧ[øXÅbÊ¥¢’-^7q&ˆoÊi—Ÿ2w›Ú(ÔLÚ@z«åûØ^—Zð‚‰xl¦óÏõ¼Œ]„ËH¨¯£¶"FÌb·˜rÏ~ú¡€÷)‰¡žl,ÌcF~[Z®ýÙÒ2ÂWÉ·SòÔ'¢{Ÿæé•AËŸ,.{Ä[ 0Ï\[âK†´ì(üäu¨{_·úgoÚŽƒY ¬±¬ƒyŠè+ü ø›W \Y¼‘‰àm¿S¨o…ƒ¥5 íu’ë곉iÉê4UJ]j{ƒÁNýö1\¿®´Gw{Óí¨|ì´ýÜDx'{Vjîî@‘&c`ž:c6ýºn`“7½zàæ€TltÊJ·aGbxnàsšÚTu:£)V+Y%_;˜!‘r:uÖÀ»ÀØÂâØ`ˆÞK/¡ï¸òªƒ²XüŰÛÀVc½±¬}ÆÝ‘ìkon¼ª}ªžO9Ñ1aßy!Uï-¼ä…<ïq1¿‹ˆnç§üžHœ;{õ’ `æ‚¡³üUÑß‚¾ ›ëǤñ/çäÎ@Ó€¹§:ÞÏ)¡=6pƒbÃìý) yšZ®N³¤×cÓ¶Ù û)<ö™ÏÑÍf ðŸh©Mˆ¶jÅæËÙG¢!ÒSÔ©êÔª”6Ø{LÕ•¯Ç®\¿¹D©Ñ€º´Ä¨6B|s£y¸&\n‚ôaÞoßzsß›îâÒP¶ÖÂļ­ù¹ÅÅKAŽ7ÎêÑnh í¼åŠžÈºù7ù‘>¼üþ–ëWv7Ú«LGŒŽ> stream xœ]Ô=nQÅñžU̸_¶„^ã4.EI60 ‹Â¸ÈîsÎ!¤Hq‘®mäÿïÍè­_^¿¼.§Û°þ~=Ï?ûm8ž–õœ?¯söýí´¬6Ûápšo7}ÎïÓeµ~ù:]~ý¾ôÐ÷ýÛôÞ×?ÜK?ÚÜ¿4Ÿýã2Íý:-o}µǶ;Ûª/‡ÿ~õ4Þ¿±?>þÔÚ}¶‡¹­vÛmÓŒ#>±zÓ`u®Ñ4XƒëSÓ`}âúÜ4XŸ¹NMƒuâºo¬{®sÓ`Õÿ=4 Ö×Þ4X;×cÓ`…jgàqÆŸX7MƒuÃù&‚‘`Àq°WhL"£È 1‰Œ"˦Áš\«i°WXM^£×`5y^ƒÕä5z V“×è5XM^£×`5y^ƒÕä5z8Ð tà\@'Ðs@Ît8Ð tà\@'Ðs@Ît—È)rôºšÍŽ^W³³ÙÑëjv6zCÍÁæ@`(2 E#¡È`d 0Œ †"ƒ‘ÀPd02ðBO!øg:çà9C‘ÁÈ@`(2‰—(ô"_¤Ä¡¦6y°‰ÞTs²9Ñ›jN6'zSÍÉæDoª9ÙœèM5'›½©æds¢7ÕœlNœq꜓çœxkRoNòÍIhR¢¤(ñRO!ù¸0 LàRÀ$0K“ÀÂ)=”âC)àJÀ"°€+‹À®, ¸°,àJÀ"°€+‹À®, ¸°,àJÀ"°€+‹À®, ¸°,àJ@|òF{\]¼ÜxM>nÅaþ¼^ûrÓ]ª»’Wäiéÿ®ÛËùÂo ˜Õ-0VØendstream endobj 356 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 7011 >> stream xœyXW÷þ,ev,±05³Ø-Æ5@EA±+V•^Vú»Ô¥Þ¥÷Þ;"*–(¶`Y¢IÖúÅ$š1š˜hò%ùŸI.yžÿÝ]`É÷åËóÃu—;s÷ÞsÏyÏ{Þ3ˆ(#J$Þàè(õ—¾;wöV7_×@íÅ©Â8‘0ÞHxË8 ‡ å¿;˜¢áÆh¸É±ñ“wš 6£¡r$lE‹DNÒUÒ#á^žÁVóæÎ?{6y_bu0ÜÊvŽ•ƒë!iX—•«ÿa+‡9Žs¬6JÃÈE/«éR«ƒnž®¾îVRw«ín»¬vl[³u›ÕÚ­›vlÞööœÿ4«LQÔfÿ]¶ÒUGV¯ ´ Zbæ*;¸!ücÄánî›=<·zmóÞî³Ãw§ŸÓÛÖ3öΜµ¶ó—wæF¾+Ÿ§˜µ`á¢÷O\²tòûS–-7^1¢&R›¨%Ô$j35™ÚBM¡¦RÛ¨iÔvj:µƒÚIÍ œ¨]”-µ›ZEͦöP«©9Ô^j õeG­¥Þ¥ÖQöÔ|ÊZ@­§R¨E”#õµ‘ZL ¥&PèeÔpê j5‚ZI¤¬©QÔhjeFí§XÊ™z“r¡8j eNYP–”15–G™Rã)šz‹â©hJB ¡¶XQ&T%ˆÊŒÞ2r6úÔx£q½Ét“úÈè—fvfØ%¬‚ýåÍÎËóæ˜Ú1ߘÏ4?l^e~ÝüµÅ(‹…',WXfYvŒ;öÌ8‡qµãÙñÉo1o¹¾õ˜ŸÁ×ò%’GVV]è Á:'Cë¡ ©Q ÂDõ°é%l2š8T˜˜™‚ä¿!TXÄW¨|‘?ŠDqnøÞJ  F )1 ±(Šñ«C¥üÏtY jjC’ê_La]=ÉÔ# ùúÕ 2ÉÏtij’àå°‹ÃôÇð‰©ngèVoW›ý ísö¬ÛÄ5¢HÞäôO»N/[çì%“ñ¬¦âméÈ@²\*’œÅÝ.†̧‹ÈêÚoJ\` Í6¾¾üâå"é&‡ëæÕkçÍÖÍ“èvj³zpĶàèŽ6ä·¹àhÎÞ”Ć$çƒi<ÊÀ‚M«èbíúäªd-D~¾Õ¨Z²O]SM+ªQsS þV¹U‡Š%Õ4 Ç!Ø—š†Ðled± –\g“!CÝbA(Xòvš²É¯0y é›ó‹n3½‘ªgµÙ·köê< ïsH³÷ÖÒò›Ug.¡næÞÆGؘǡ´B»y-*‘Ô÷*Ž rN*̓鞇’w¡ƒ;èc?ƒŸ Î0šf?ûºÊÑ[R‰Op{o^ÀcB§Y“¯›lµû'¨á3µèªj5Æ‚ør0zÎ+l‚MæLÇ£1ûý,0£ï_‚o—ÍÍq´¶±q|ðâÛ[·îܽé0—' Ĩ…µè¤®“d°Œk B1qÁÈ?…W¾½4è bæ.ü fÀÛßüÖsãÃýK‹$éi‘MˆiC•ˆKP­_xb¬2‘OIB)QÞ û+v!sÄŠ±Ø¯ò c€yÒóLk1TÃ;jøTª3°"N³äZÛGÎûqÂ^çp_/ž}Õ˜Räö<õ6üO<¤;\Oǵ D?|¬ÄnÌÌ5k–{>=Ïß³fׯ]þèþ5Û|?ªD4PFÎW8X°f`Kì_½XRÕ«1ŒÈò`þ¬`!YÙ‚G’hÎ/i0í"bú€¢]¢˜kÎjö‘Sý!¤vp=ârTåå‰BÃx;\!`.>ˆ"ÛŽ¢ªrþE߽ȃ<6ší€”´ …Õz—ØÞœçÅ÷1 ¶©Wág°LЬQkvn‹dP¦Âl kÐ׿ì\!RÆUDŸZ¼k}ø†íüQ1û™nEl¤O‘Å/q÷RÊ y„µœüÝõ—ð¯ * «ELUEI}ßfÞÚ—èg Œ'Ç5¢„®ßàÑ[{Þƒ\9‡.®ÕeV¤Ä ¼a<ý·¾On¥rÄÐ瑱Lm,¸Àhý‚¹JŸÌµþk Ð ¦®¥ùûÇE~é¼*"-¢¹¡@ƒ’ÊÞ¥ÒÉ4ß^âñίÏ’Îø/¢ÐNÆÝÝ{î¾mùùIJ¤üÄhÃ%™!ŽDM¹%ªö¾ÓãrJÁ×¼–Çç%º´ùj8£×@9½”\“–’ð0ƒ3OÑÑØdϾˆYº(˜³¿ø÷ö‚1U*I‹ÈŠ®ûk…&ÆxÉyϦCÅ®ÄÈá“ñ8l7ü‚-aØÕSMÕ’¦÷,×Jë#€OÕ"mÌç3v€W†*=½SC#øTÇ­±ÁˆY.ÕJ ‹\?¢P¹dž~µÄö'Ó3?õ¸wÿËÓ=z¯o×¢Ê ê`ŽÆ昳r!·Y{Tï h]¼ÿÂú^4ÛùîÒhŸe¨µ…‡jñÏÈ¥gj‚îutä5´óì>U%*w.©ÕHŸ  #§ÙÚGó˜@ æqCBÕ«ÀÔ ññn. †ªE5°ûì6’…Éœöð<bˆPEøÁÓ2ÉŒrÐDƒ¿(ðª@•ȲU£üVÃwMºéÚm’þÕ¢Øûì52…)\S 籘Ò•¡rI'½_4M¥“ê¢>ˆîÿ(9ßÅ(Æ„$+a>)ŒI¥à¢i§¾>#™¤ÿë•d“¸'#8]~YžDé¹eêÚ§ª¢ô*FEg:µã!ñe¨µ£ô’ŒªÐcÑTÙ ½;j³ ˆ$t$JHäHtÍLçÁW|gÇWxò)ÈÖ¯2²¦¸!·]Å£•ª"­HUˆró¯K¾«%xM2¹ÍdØ»~nïÎn>dz־UçSk¨"[áåÿæˆÖ=ΰ…Î(~œãÁ£':Ÿ´Ã”Œj"¥|Þ{.“ °Çœýl Ž¢ñ›°h˜nz’.ªïs_ ªP½ÄfêÊŸLëªúÊ8Ö1¢^1œ¤a(žŽGá…¦‡h¶và: Ñ4ùJžÀÈ<ÒTÚ_¿É=í.}ùs_ ¦jáí,‚¹ÿ¨CàðßîÍ¢ÃP(ÉÄŠZþêÎWi A»‡¶*@‘ü %U!APt‰ Ç^d@_{¯ÂÝ0†Óýdeê`æ¢öªÍê`7^÷ì`·9;öá|öŠrOWúZ¦Ò‰åq•Êò9 ´¨ý{Ð7Ó0ÿž‹’²D(ð½¨@†Uúo÷H‘§2(3·PÂZ׆—òìé#á®Gu¾> ùxGØkjÈ =kßÓ@P±à"®Á%DƦ„)ù„(Ù>Ä,ZuûÛó $¥ÆUž@q•g¹¢15•¥÷&!gl½ Ÿ‡7Ì@rôÇÒ>4-QC‰Úìj×®/º`<ù0g«… ‚¦Päà q‹6Ø…Z°ðÛHIRĬÃÎÑqþ þ$ÛbÏ͇‚”¬Øš@¤@Ì6§$l#I·¾W!öÑ¢†ÍÔ:ƒ¤? û‰~ñ•8ÿM¼=#*'¸Ð-S™_ ,@…¨('§(=ëkÈ*¸Ì¨zhízAûhÀºDuj ƒÀ@ÚÁ]3ˆ7\%†[ÐYY¡JG¥–GCŒÇ/hïøxoÉ~ñ@)¬ƒ41¾…;CÃR“Q„¥W*ç…‘tUª@ÅLÒª…ô`ÖŽ2°¶õ7¬=ön)÷p[EuIƒÞ{°A É:*J!ø¬¹6ϰ˜ÇÁÿKgØÃ6Á̽g/í<`7“ŸÉ¿Ñ/OÛíÔqFø °¹úá XyÃï†Yã5™f«Öi®%i¶\3gGQB–`ÁUËšwÄìIõÚϳC©üHÏòýãf¯¶^t Ô»X&aETLd\ˆßXäY˜MHa”3Z3vá¯áMxó×î¯yÖÆ µ‡_ØU•íZõ.bÖÐñ( ŧÉQŠ.b؉11E©Uh,ÊH+ÊÈKO9܉˜ç÷îöHØyÖ¨)®1¢¡² &£P•u¤Z™‡˜Òê‚F ^‡¹­..N;\Ï]æÙ[™WÏœ¹tåÔ¾}¦,·¥¥‚¯-ÉE÷Ó¦ha_Ö}ÚÏñÛ‰cÿ¾……CõŠèaÿ¬^$›}£{«¦‚áï…ò\ 鱈4óKåãSÜ#¤èƒË¡œ¸j>º1¸R‘ϰ¿~Ü^®îûdå#<”ÇkçI’ ”%àýhº&Ô"eØ?ªBQˆëXä€üÊ}Jý""棚Kð<ø7·ÇyË\~xߥٞçg6ï ¦û¯ÍÀëµ-±’Ô•¾Ò<±_äቃmŠ»ñƒPx^/ºØ¹x¢PÅ5„TI¥!!RiUHCCUUÃ@Ÿivé–ƒæœ$·[欯à K9tÓãTtáÁ“G²——--³p-pkC瘋çïÀÐâÙ¾Y|zH~BE¿R¶ÐËùÄ¿xþ`ÛŽgÂXÆÖË­ûÀþqÄGLÙↄÇa Æ:ؼLº'£þïZŸt*µ,µ4µÌ§OÙc ´¯Ê*jÉåOú©#o’ÎÜ}ÚÓWZ Ñzã|X¼^Cüá-˜¸p‚ „,2ÆôΦQr ð<âæKD?ŠN“§ OCÙLCpihpH„?ÏÆ­üuÀ”c0ü&Ͼ©^þ­“ôüù‰æ9ùg,$ê¨Æé ­¡\Ë^…“ØÐ¹Ù j­ˆ^¶økÿ¤ç°a„ÖÂÞm]ÛtZµ/ƾ4~vÂH›¶ RÙsé/³LáW½9¢îìUìÔ>êïö|Iq†áwô˜tÞ: Î Ó=Ð@ 9i©ð°¯{âþ޶²wrÚépéÿñð]“˜|µ¹IgÙ_f½¢ñÈoÞyýú›ç0’‡WMâ¿é$<šú4јþê×D]b!=7hl(Øñ_j³2Ø€'Á†ÏaƒVµ¦÷[;EoF%j“¬À×£vÊV*håU[Ri\û ÁÒ‚=ÐVÙg3»y ;蛌¹·4Ï­5"ËzTŽrÛÁB(³8VÙo¹¾•¿Üô/s¶S(Ô©‰tzžßÁ¨ÃR^~TZæ|Ÿ"(„a¿lJ Cáã|è}p·Ø#´™žêcK‘ÀZ1ÛÙÓq®£º(ÂÇ ±¬Ÿ¾üeÒ?LÑyç+Á_m– â`A3,0g_yÚª¯uβA¬E»à'ñ•N©Râž„›û`OjV\u0Š#]PŠ%]Ð>¼/Ñ‘è2”™Z®¼â$X –¦Ëôj¿åJTôÝÞ Sö3ÏÌT0.—ˆž¼Šôì+•q’ôCÎWp¸*%;°e“ލe¶Ý*,òû´>ÓïpC0lÿ3Ï ;ïYw!&0!,^ž¯ÌL–Àb,*Æ oNsÇÉ™ø¬°ÚF8«ïŠ/ª¡‰¼‰Ît}ÛkˆØ þ‚k¢ØˆdË{ú¸Åxb¢f®"¼ýÓÏÿn8»±Z’œ¦ó¾ÃBlЇÝ^z¿óå)°¹… ¯ÆãIcNêÜZAZ~«g_]m”lƒn©óÖû\o<üêƒO=³e©ÖÿØXØÞ*ÎMQ–®m (êºEAva6*g2Pã!Z•V§ú5Zæ¢Vooä篲O íôGŠÜ¤D–aQárY~B¡R¢Í˜Ú­ŒJ@a–IÈÿ$£î¦¤Ú#Ë8äÝÚŠZsS?N©ãÕ^î·]ë#ÓPb* ËŠµž]¬þ}Iµ@’ja;ûRmÖï“`Ö ÉcO{+ã|$®ûfÅåÁ~ É æ¶Ân $6mž(š˜D 6OOäIF“ðDq4ùÕ³ HHk2‰ŽFžmm¨­€‡I0Q\@~Õå ŒÁ>˜j ¯j9õá.‡‚ý|Ü[³²UiÙ¼Üq_dtRlrx" cäÅ¥-?_#Þ`¿‚àãCWî÷õ}Do?ˆÙfý9 Ï4¶èÅ´æ ž¦ß¡ ¦Þ¡ûM#¢ñ$‡ßû\™‡”É–ø½ež5NG‹-aæ-˜éÐ&¯¹äYji8ÃhcxØÍµûÕù¸úúº7´¯mnÖÚŠß×n‡-þy;÷ß§qeòÒ°¥<*Çÿ´SF¦"o^QQ•]\˜ÅÃãßí²KTåX<¾ $ˆþpƒSÀa“iºç¸Ææ`&¯a,8ðvùžî€‡._îCa:LÕ¼ºïöÛxšÞ›pAûêã^'®1PÇãñéèjf`¡Õ&wlo:U[ܪªeHMGµèdzNÙñ§imˆÉªÈª!ˆ _ƒEQó#$© h7’2’{DzÈw§#&!,!ȯ&5OR— ¢ä´ ^*F~Èù’ÿ©à•çSV3PF¨aD˜‰-ûêÀ\¡”Ö YBtt"ï¶È)F–™šB6 ,K,.ïÈ:~†ï]:WlÐZ¸¨Âî÷•âˆþ¹R<Iý®ÉDíôŒð'ò!Yðíàêúz=™”Çq4;êúÅ—NŸdØu}pó‹±0|ê<]¶d‘{CLieuiCAba\6_üÁ¹æóè³ýó×ìÙb¿]‚ðÆ¸ø„D¤°Ôþ1g3á9Í2ýpüï“H6©bù 6JKébà}1j@g÷ÖmÈðDL¡õ€ò$Rõøâbo“ø*ö9¼Í'eJb°˜¨<%Eçu²eé7ßW|Y,Qe¡ ¨y&&a->Vr¬ø¼ªF¾¾'¤i7aÚìLϦžÂª9D<á/ƒ-‡îì»nßÔu¬á*ºÂÜ·ý‹ñð5{í¼kÚs%ä%§óÍÍw´Ï >½àáì'÷<"ñ LñHÙš$GÈŸÑ&!ÿÍæ½º¸nËÆmæZ‘.@’™™M:a¦FV"÷™÷Ã"kÌ¿~þBÁ¾áJä%‘1 ‰ JÞO© (>7ª ª0¬Ò AÒÈàˆ0¹ g"‹#Kò³2³²ù¦†º’"”G$zataTEèQTJªK+Š«PY_‡H©…·Êîwu“r{õ@[¿Ò­Ê/^J¡ÄÔ¨0,ÃXÄE¡BAÞ¹Êf21å8HÓ¯3P¦#Põ¨Ã¶Í¤!~6Õû¶Y Õ¢§H%Aö…­ÜO+~ÄC=]”!yØ ÊA{«ôÄ‹ËÅá(¸¥,#3/‡¯oé(»F@uÖÖáýÕ›Þ“®ÏùPJœ—“Mœ×\*÷‹;¼ø«5`£_=c½‚£n0é†%D˜ÜYý9$}îD"zNðÐó{°‘“SÄAg¾&|÷è):ŠJb2ÉOqfPYX]mEiS§Ç•„NÆâ7°3ŽÛW<û D?~ÃIϺÐ~ë*‡Ãê0>¶&­1Ý7.üëËËël´ûç… ×HÅÕ\ÕµÆ}Ïðc:¡$Å#Æ …È$®}ú¸¼‡RÛà ^øÂFŒy·•–æ7ò™Ð³ÁV}½¢,-ìЇT5ì'HÕl×@µFûwÎYzœ>p¸nSùEýÙNt•y´è!†‡¿·léÖvÀ³w¬C×o¶;ãÅ| fÏŸþÀ/†“ÜVG[žmµu<Ûu©ëüç¯îu’áœý¶Å<»u±}—F}í£oŸ_ݰQG&_Â9‘ nréç¼r¢ ùǤ»b •<=´0cf™ª”Á‹áÀ?ÏÐdI7´“ðh æáê;æì¯$8·8HÀÆšYØxêbâvúé<0ºt©´ã,‹G-Ÿ>“¨0UhIFff*ejÂ+Ã"ü|ÊV“†Þ‚dÏhØÃ/ÿŒÛ¾cëâ¥;?¹ÿÍ®»§‚Ãï0-‡se«Çê‹Ø —`òß• _7ù»jví&©AtSûxp%‡:¥¯ð”z‹[“.(Jvý¢ÒGÕWÖ´¶ý.šÇ·ëº@_É»‰±QÔú•Èea –ù2X.vÎ:X%¿˜•‘—ƒª™† Ò°8¤ý‹¯­&†w×¶~ÍM¨¶„?.†åŸ Û Ž‚ÍÜÖ¼ÇÐEtþüÉî<Vôšsh—ó¾õ1 ø‹?Ž:íŒv1ÿ·£fâï¸ýZÜ<¤^ÒRÏN>j‡›LŸ¬P¢Hð¨zyLt¥²&vCr7LêµêøMKà&\åîÚ»Çm‹õòÛÎw¿ö€Ù+]ERÊHÍÂu®IŠMIDJKYIdyMvY~õ¿¯ÍÈKËDÙ–—zãî»_ß½Û}³Mûæ Ú¯ßçqùȤÑѲ†3eM……e~„.Z{µW«õgΔ×”qÑñ¥ç·*Ê‰ÉÆ'ÁÞÈ[~va*·¬–DÆ%§Æ)xüŠKˆŠG2KDfæ)á v³(ŠKO%Ü]R^P­¹ÓíGD´Df\›;"_zE+܉hiÕŠ–?è‚V"Zð,“6o­ ùƒŽö&÷ÚµØ+º¨½OÐÄߊ½eÆZ ƒ8œ‘ú§gq†µ.Œ"D>î/DÎÆ¨œµnh"d>NOæäVT!áóqÿÉç:9‡ ãóc³ñp³Pä&«â)‹–‘«D/ŸÄö˜üQêŽ\]’›®Ê-âáÊÍÒ9I{pBVö;8T¬Ì/À£¾Ú–LÐë㠱ߖägg b&'±"ÀÀ8ûàݶÝüeÛÛH-­Ë¬È‘ŒˆÉVåÃòüŒ|Z=T3Œj²]:|Èñ’,•ö'³"#køpŠúÿê-ãvendstream endobj 357 0 obj << /Filter /FlateDecode /Length 584 >> stream xœ]”=nÛ@„{‚7¥}?2`lc7.I.@‘KC…)‚–‹Ü>3#;EŠG`$ïûf…Ý?½<¿,—[·ÿ±]Ç_íÖÍ—eÚÚûõcn¯—ew8vÓe¼}&=Ç·aÝ퟾ ëï?këðƒ6ßó÷á­íÚñ¤÷—ÆëÔÞ×alÛ°¼¶Ýcß×Çy®»¶Lÿ}§ûçùó§ÇCÕô=žˆÇªA<2žªñÄøP5ˆŒçªA<3ŽUƒ82NUƒ81¶ªAlˆˆœ¾ÇE…E…¥T ba´ªA4F¯Dgos!sªq``d!d`d!d`d!¤Ði„4™¨ŒT"•‘Ê@d¢2RˆLTF*‹ªA ƬÄdD©¦bÅMFH  Òi4A!€.H'¤Ðé„t¹¨œTŽ®½Î½Žž\]9»r¦ë@êØéÚëÜëØéÚëÚ;W "þjÓ `ð!Œ F §PWÁ®D!ª U §PWÁ®=…º và 1™¼!æ s ¶PuÁêG:îàqlBFA£@©¡bƒÅäB‚AÁ€\H0( §zNöœK &r)Á¤`B.%˜LÈ¥“‚ ¹”`R0!—L &äR‚IÁ„\J0)˜K &r)Á¤`B.%˜LÈ¥“‚ ¹” ž¼¾®^¼r¾n˜nüض¶Üt/éÞáusYÚ¿«k½®|«Ãìþ¦0 endstream endobj 358 0 obj << /Filter /FlateDecode /Length 21439 >> stream xœ­½[g9ޏÏù²_À æ)Ò˜Œ9ºëøqcÀ¼ tû!;«º2f"*g2²oþôæ7QçQ}s䟢¨#‰")Jú·»ã!ÝøOÿýôüî¸ûñÝ¿½KŒ½Ó>=ßýßß½û»ªÀ<œÇ™î¾ûõ;)’îfºm<œ¥Ý}÷üî~¾ÿvÖvæ‡tv¢ÿîûw¿¸ÿû§Þ8Ž6Óìóþ÷ÿøøû÷J)Ç1ïÿû{">g)÷Ñ×—Ç/?Š~ìå>¿ÿßýçwÿñ»wÿ‚å»_ vNéäi=·‡ƒ$hçx¨å.•£à߯?Üýw?½ké¨yÞýŽÚðŸéÿÿL­þO$ãHuÞõD…òÝóBäc<â6Çù02Á©=´Að<fwø•8Oú‹â<æC.‹ƒÁRpĉ5i̇™W £ Â)Ljã°µâÓ»ÿö.Õ\æ¼Ã‡¤Ï‰–9&Oê—»Té«&À¥ó÷ª5?äæ0U[[~(g èÇC/ƒÁRJ†Ú~Î;ç0¨‰}®:F •Â)LJã°·ƒÛÖæ|(ã®gmSL?Žþ@£Æ@耩OõA'ü¨S½=uð]4zR^¶:PÂ0“0wÆ€FÛD­ ƒ©€ á.¶0¸´-Ë©Ò÷kw½Œcú9`æê¦!p>ñÝhÐGqø•èôW 4By¥+=7î¼4uuùb/0èM£0ÁÞé0—(säú0DM•¿d‚é£tùºy8ÌŸ¿c:-ŠR¹ç`°Ô†I§v©r …ÑS¨C`”0)”Â¥T—vp—•3c`ö^‰;zÌôÅëq@àNá¹’Ž¤g0}ÒšhŽEAók rL.0ÍÊÔïVé …ø Œ&R¸„Êao·*§‚ÞëµMÖ‹ Ñ'>b¦ÿ=$À££öœ1O‡©Vì¡”@ÑHÎ8ÌU €!¨‡©GƒrBë­*F Â(LHã°µ‚ÖiÙjmmèÊç€iíá$9é‡1¥72àAøì0UÛ'aÎ@qÒ¿gà`°Ô†)Ä»Ý-Ô#-‡:F “Â(LJã°·ƒÛVO¶ÄuÌò æ,™¾yÅRCõÌ#¡tn4VŽî0ÕÛh4‘>\4Øj]–:¸„bFªpƒ¾Î8W c<ªFáR*‡K;X…Lú‚‹$M½.+µa¨ó‰š–Õ,Ëfø¶éÄLV«.-$Ç?—„ÙµŠ, „ahöÓêº8vÈÕ*€—u­_vù´ø¥ܪ³LÀ¥s‹Ÿ†–ôAjî¤9Y“èïÖ)…z:Œz{g¾N1*Ëá –:PÂ0ú¸Ý-µ<”ê%L £0)ÃÞã Þ%Ü µË*ĤvÈË#‘Y‡RëCŒï;¦2ÈØ+r 2¸ñ½ƒÁR—Ì Û™rå0f‚mïu(ÌË´Há*¥sØÛÁ=Ö YÆð:;ÏCf›²'499 å”k§‘M½   mLxû½“)p®Ò {ЦUö©¼< å+˜Mg•À(L@ã°7A¬Ò §T†æ|Ö‰-ÓÆº¶’¡WaN=²Ã° `‘¶@A°œƒÁRJ&'(ŠÅ‰ØÒZ‡À(aR…IiövÈZF¦À rÒd?y8:†¾ÙΟÒÑd—ñÒÔ`1 ”4™Á<:ÁR—P ì},MÆYUÈË¥Ê`&£1Ø[!ꃾ&ümñ¥“hEl˜Ý CœV+þ²4õ&Á˜Ýd÷Ö(zaåà –:PB1ƒªŽXrÀ´©« YA‰ ö»ŠèÅ÷FH„fTΤ9Üy•v ­Šˆ,Ì"«0Y£ˆUZXÚpË()¦^E#Ëî¬ÎÀA© Cz¢a5W¹U…À˜Fa2*‡K+d¢‘‘ÓsÁ9x5s ©YŒhòááщÀqB«+ˆ@_ޱý¯v®Ò {¶×ÓÉO„fåiì>”¶*P%T§PÃÞé°ƒÖïÓgGh§¦JfÏÁ£ªãßTs…-g0Ç’Ôò2 Òµ k(a˜9àz:‡A-Ê}Õ¡0J¨N¡Rƒ­Ü®‘xYk'Ùýæ¸wiÐrYÂ3!°ð"¬ U9HHúÜþ;Mûy®Ò {ІļëäE¼bÉyšÒ'G$,QileŽ.ø×`?•(Ú„^ –:¸„b;‰‹ÃAîòuŒ&…Q˜”Æao‡®d•gç¤~¬Ê7LfˆV‘̱ç™Ù¢u&ã_ƒy)˲B*V*^W”ƒÃR‡®eŒ¡ÑTûT!Ì`u(Ìk™Há&¥r¸´Cú~8s´üÕÉݦˆÁC&ç.c¼"|Mcš<|xBã‹N™'N%¦KìA*¦±Û²8T®kÕ!0J˜F¡Bƒ­jVU1y‡´ž¦sP+ñÖú{7ìcx‹³YU°O´(:7ƒ¥6«S¹¯DÂ{¨C`6¬T £0)ÃÞn[&M„5³°ð¼dÉ"ºPƒ39Áš}¿¹`Tš¥R§ »4GK ,¦b°Í»Å†o¡QB…PQËïMP ƒ-£㎠aÃd¿0'&;>%þ7ÌBƒ&Ã~Ü ¤©jÖ:PÂ04zÑtã@K2Gn¬…5Ü)œÂä6{;d=#Ÿcrð8é¶’cjâm¡F\ÁŽ4´ÑáÌ«M—M£À'<ƒ¥”0 õAçES9$¶yW£„Ia&¥qØÛ!Þtåp*U–µßƒ1‹}ìTî˜%«ÔøºcŠqc?CÌŠ, „aJ–€œq ÉÂ9®@v×µ~ûÙä³â{ 4”Ÿ¡ÿ{?L1:&±ö¢¥†m5ú6ðú:g‡90ŸtÛG)`Š ¦AròþŒg3cñä*€þnòYñK $ˆO†xâmÚª‘ÇÀ }3É9¯€³Œî™ëj…±N®`?E•¡s0Xê@ Á´“Æ#yÚÆ¡³a½²: F ‘bQˆ”‹ÃÞiÍ\ŒæŽ«EÇL¶@ÓÄ\Çþ£z­'ù m:Œ¹MõòŽ¥QdŽŒ9‡¥ÝÕ` ¶m¡aŒCçíÞU‡Àœ® R(…K©.íÐ#Ün^¸¥i†ÀÂNCü\ÙÚ õ<£5˜8‡EåPÁâ`°TÁFÅ`˜ñz)ÆÉ³ÄëP˜ƒŒ"…S¨Æ`k„ø0¹óFØ“ÍaÇœGexH Ovd™@î†Âì_4N=p Z{  –:8’¬úâ“ý$å€Í“Pƒ 7ôwÑŠïëIniGU󤬠äþ¼Ñ+4Ôëé0>' ”ÖE= >«spXê€h˜ÁÆ­s@ +—U‡Â¨C¥p “Ò8ìí…šúÛÀ‰h·Í1H¬à¿ÁûW´ÂÜ¡IÂιÁ¼µGƒ'T :ƒ¥ ÞSLï’ä£ Ú”«A`žÊ*ƒQ˜ŒÆ`o…V…×ÐE-+ÁLä2±iÅÞ#âÁ¶UbW^a¶­Çz"ó6Èâ °ÖÁ%3‹ØRÊa|ŽU‡Âl[‰Fár+‡K;Ä!Õ‰Ø#–öƒ·—“‹:¼lròâ^ÙC.o*„3ÉzrK(a°Æ¦¹rળW¡ {í"ƒ¸ŒÊàÒ Qü3f`o%ÞÂUDFÖ’³:'Øäcr„h"ßf8üIÖ‰žüÛ(¬5¨gÌ<\gƒCly £„á*³•ßš ›œàì|dõ0äæuDCIA =·ÎsUa¸4Ö9£Ì(àÎÀÁ`©% W n©qh•3μQ¤0 “Ò8ìíÍ%±:5³E ,;–&C‘̘ÆCìdÕ¬0FHÕX§Qq7Z``pÒ¬GœÀæ ȘàýJ«Baç,ƒ°|Vz‰.ÓŠzðÔØm‘ie²° @_û }”[olKw˜=I´hð7KªR ÍŠ …’\Ž´jP˜}‘Á)LFepi…ØõØ2„gJ¾waÚ1$ÈÀ#»¶fNCö¤šA0»‘ˆV×ÏÈ[¡´ÁŸ (¦‰%é  ûÛª@@Þ˜WŒÀ4{DÇ7Þâm1tn–cè³!JÅ0k〣:°f€jÌ“·”õ7± WAƒ…5“+QÒvçÅéCcZ9w…QB+w Î8ìâKO Ùõ8;G¿žfp*ZÂ>*¦12!`RKaD I×!raÔ@±Ñ•ƒÃR—PLãÛâ@þ(oQZ³Û¦R…I©.í? 1F¬4RÙk1 :;’§†“Ä*9(Ú ÔXsö;if‰WKi…=胨©{9l ÒÚÚÛª@aÞ œBt{$Ï”ª§"ˆþpDÑä*ÑÚŸv%½*(aäO‡?IZ*2’‚æÎÙƒ¥Íe ­ÁeÞ-ä±#Ô!0šE#P­üÖY‰{cÅ“±™ÆÑ1–`],ˆr‘®æH2­›…™Â¼²rº±S © ‘?eà Ô Y_Œiœá°Ô¢î•V!0's«Fa2‡½ê€u^ûàŒ¹ç€!ïû„åŒ2à“!ÜÁ]R˜]°ŠÔšEQ%8è š§·0½Š-iZ—€¤Õ!0»`*…Q˜”Æao‡ì­Ã…Å&õ‰HôóBЈ¡„íªÄ;íœ|›±Å‰cßYæ-PtIAvKºÏlpñn½r@л†:æ½u•Â(THc°5B4=õ3‡Ãi蜘ã˜É9癩ùIÓʰ›e½PX£˜¹/Š’ñ ”ƒÃR÷€bÈYdëÝ8´‚ÚªC`^$T £0)•Ã¥zº`p?ÂïÉIN(†ì­Â;©Çpœx#yªÝa>]Ð0î²iKà`°ÔÁ§ CöröÒØj¨C`ÞV)ŒÂ¤4{;4¥p’w#‡¾k‹``„q· ˜A§±È`Q˜ÓX8¶(Ä’p j ŸÞ-Ìä %gÃ(Ÿ« …9‹E„p “Ú8ì­ÐÝ?Îê‘ ®SvÿC}Oß<'œY±P`x±ÕaVʃմSО9p0XêàÝ?Å û…Æ´Ç™BóþŸJ¡.¥r¸´CFä);¬]e“Ì0ÐÀœ|Á& Ù¢[©§œU˜·¼ØZy®â ]uì…·¼ È<k1­r¥pá”ÃE|Y¤‡¤xcÏ›3ûç|°ÊÎ&»…ˆòa&¿ðLcçŠ.Rû"'ID7K(aì<`‡R9”>ÑF¯Cat—Já&¥r¸´Cº‹º>äuÈP\ɈIÈï„õÝOŽýÓdO<•fut‰S d™žƒÁ£X¶a:ïð.wxWs‚ˆJa&¥qØÛá™´…¿Çг†CN>œœÔC6  GrXi9CÛ(hþçâàp—_ цdNƒ*©_^…ÀšGËB(… ©öVˆþ@Ü¡ŒÂY1ÏS9o†à“XaË1žqpf$‡©ZA¬S”É‚;ƒ¥”0LçÑ9$Öí«Q¤0 “Ò8ìíP°d¶wìíœrŽÇ04UPŠsÝ9—¼a;;c³u8¨ù¾cIÈ_ –*8›E1ƒãŽÎHP•U¡à§w.ƒ˜ŒÆ`o…ÄKë!Cá$ÙØ4Lâ,K‚9˜àÉÙžØBD½Â¼é8e ÕÇSÞ8,uðÁd²\Ù5yæUAžzº@ê—ßT8/¸‹¯»ë‡ìZ³ÕõèQNd޼ u[$IÛ`¶mYžEѺ¨pã`0WÁ»ñŠÀÌbsY@³–P…ÀXU!ŒÂ„4[+4®"Ç'$¶ílÀ*JY6R÷ª†4¦ÓáO¢H(*ïã-KªäŠf|".çh•꘳àT £0)ÃÞu¥,Q²:wÚBt³’N™#ç²pu{qXiΘ7Š11³ƒ¹ ö¦AßJÎPg!¶åU¬Þt=… i¶VH¨û‹Eö¶ªœn4Laö©‘²ã<Œ*]Ðȵ[ Ç=%Ï à~ÎÀÀ`©% ƒÓEHÏ1ðOÒªB@0ŒÀd4{+¤e8RÍÙ È4~ˆÆ©È Is…aNUf&e:ÌÕ‹¢ó©¤ÅÁ`®‚ƒÆŠÈœÌ¼dN^^UŒ&„Q˜Æak…&{ xã I‘\A41%׎Ç_9 £Éùj9ÑC¶¥íw8ý-7Xøsž‡b ç>-™MÚUƒÀ¬rU£P ÁÖ ê$¶Ô°²×"QÁ`õoB‘8,¶tBAWgÙT—Áo¿c4†Ò*{ébšé/¥É›æXµ±W´~§0‰ÃÞÕõY•»ÀÏ“ø¼(iÞãAO¡O9«"a>ˆ¦Ç±Ò´~§8S(mðáN·bàt¤¯+8ÝG[5(Ì¡–À T@g°7A²‚;2ú‘›¶Ê…÷L¼mìÛ#HDÐÌrZAD?ON€²ß±ÇCi‡…=¢N†I¼ãº¬:W ‡:±.¨|V~“_M¨¹6øÅóBÌ„å#óŠ Tb%BŠhå·&ˆÑÛ$ƒ“Á±RÃpŠLÖ.§Œ1k`9ä p¤S`¤³Ê)z£8åd³sPXë@ Ã`« &«r@n"Ò‡­…QB¥p “Û8ìíÈ}çujQsÃ1¹hj“¨< û©O>o0¢êð¾f 8ùlüâ`°ÔÁ%#zÅ84ä•êuüéI±(LJã°·C‚Á4'3ò\h¡–óŽé× ƒáÜ¢!‡LHSV“††Ïè¹wgà`°ÔÁû¬Š!syµÎê‚™éuÌùL*…Q˜”Æao‡;b¼c<í¨•cNDÅÙb'ýsT|Át˜½ªƒãGNQ¦D•ÓZ9fÈd4Ù,çªBauÃÎ(LFã°·Bï8ô¸s–³µ ƒ› ršzd2¡Ã3y©z¤2IFIÎ8ÛT­QØ/‘âw¾¤@1¤ì ¬xé¼í(ÌñÁ)L>ã°·@4#ÌNÞÄiê8;†Ftæs CÞÎ 1ä@µÂP\ç”Ü¥¨JwK|íƒbp_€¯º‹¿€¬IEûÝäã²»ø²ñŒ“Ö|ÊŸu¢ƒC6kRyõš>0Ó¸ÉaÎõ+©þN!IÕ‹ƒÁR/EŒ¡¥hÊž¿p ˜D[sZK±(DÊÅao‡´mNI ÆÑY˜ sV¶ÿûÙ5Í5óõãÐ…G`ØoiÈe6F‘›Þ7$–:ø˜bÈ„@&´ràS¾ÈßÑ: 楼kjµP¸”ÊáÒ=\…­Ô>ä6ç… 7.krHçyËžN†58¦Ãy¸ê˜M/•Â(LJã°·CR,±ßÉ×FšÕaA8)ã³<| `ZlÎä0R.2ç<. Üús kœ¤¡’D²2„Bœ´¡u(Œ*…Q¸ÜÊáÒ=ù<ØcÃyNìX˜Âg(È`nì54ò.*[÷r½—¼óÓÃÏÔ%”V0ë=Ž ÏQ.šä¶=ç,0Q´n£0Ù´ô.¼æMɵ3yœ²„-Ìä›AºGn3îÖĘyHøA`NœJºm£ç©{:ÊÁ`©ãÓ»…éœ6¥Å‘˜s† æ´)Á(LÄ 0î<½8ã½ãö“Sœà ÞQÌó Ý-“4ÔÄ›¦ óôâ”@§€éëâà°Ô¡¶ cÚÐcqÊ¡òžäªC`ž^*…Q˜”ÆaoÚ†/Ñîߘï8¤øOÿ Ç·8Ož.¬6vʦ¨-$8ö»'¹yí¨ó™{új°ps dóðáó.›¿¤ŠŸǯtÌgͤæàO>-«Ÿï¦1¯'|Ã.aÃpc$‰Ôõ¦—há\IµƒùuÂs÷sŒ×)á¶ޝÖÙ8ðÜ¡l¹N=ši˜Ï6ÎO=0ßýˆVŸòíÉ·y’p çX泄%äÊV\)íÄå„,Û(Ú΄ u˜ÏrYGeåÈi‹¼ë5Où@“3[Ñ)¸¶% XV<ØNzë)éÉJ-ñ÷átŒÖ¨±žvêÕIõä«è‹u´UÂvJ£_ö?_r‡øË²ÕÅ÷ºÚ›M‚›†‘ÞÄ…-Œè2¢7iºÊM>E¿ì î= >KHçs Ø…•ýΞäh݉ÓZOØj”Ë ¡£çà{Üx„'=UŽ’aÜ‹Œ‘É1Raå«µØØ•Í:KïU.Óí,iÅM¯#`>‹)RØ«>1žå¢U.—ÁýŸù:d^É}›r5{¨Ø„ã»…TÏ<¯¹¡Î1Ú¾ÉF#ß°È9É"7 œYIBºÎ8æ³ÜtvJlzv6q*žÊH–âÉ$Í™F&G– zÜ’š¥NµiÚ,2‰X ¾}Ã0òI±Í!é=r3cKfüTh$|ÑÞÔ€R {à’>+ÑÔu‚Í›yq., {T¹Ó1Ÿå|gØs@]6ðpÝ-;Dy¦ §\-Œôb‘m5hÝ*IUýP[æ½ôdÒl<È´v}›$–CZ\úÂyhœÁö¤¹*9`ôÉ¡V¾W6ˆ³¬%óDF^Ò0H‡Î”{"pËp¶¡Ã)°Æª îYÃÈ$–›h:n5àTa¾â÷÷Γ¸kS#c§Ëí·Uœz¾Ê–o’¡9Ë6!Æló0¢rÉÑàmÑry]:9xéá£~3`D±æ,QÍÉ*Œk—Hhå,V¬ƒ#ªŽQ•3å‚Ôbªׇ²i3O]´”èïŽCs£ÙÖN§¦¯à5íN‚S„ :Ifà =ÅLâ;áªÑ2ÃwÙPÆ YZÐ&Mzãh’ ÞpQYæAC_­„|˜#«7åP})éX$?4žÈ¸œG›aäÃ$Áâˆ/Hf†…ATc—Ë\F¦ÆÁqx>8 ;])sÎ ß§{ÊCïkœaÌñ½ãIŽ ”i·¯œSîhÑI5XO-ŒŒÖ>%M¨ñ\3dã]Äѹd¯|ûÐÂHIÜâ”X§Œó=”Ž.c|°' ˆ9«Ng©C̃oB£oOâ²”M.®2„ ÙôÂv\î§,"X¶fùôÉÂÈHK|=*«©³J–cgÅEâ?°` šzÌ€ÑA#(rÞ*¢~:—<Ï!¹†Q#‡³U½ aÎ&v–졲…ÓåDŠa\á°E ‡ãU᜺¥4}­ª%`¤$â˜S.×MDX¢˜`ŸP~’s}œx`©Snc…ÌÆÖó*.ë:/s“}CHi,q‚ðÌ Shˆ¾D D* µ†Qõ/K2j­“{—ÐãªýeE6Äg9g7x-$ÿI}>î:øÎý r˜F=Ë)LÈ!C’—rSþŽV>ÂÃÊ–O•é&®VàÄŒÑôþ)¾}¶óE›bÀ‘Šá[ÖKŽF£Ü»ŠX¥¬;¤;,‡®¸Ö‚S £F#ìX4O¹o÷¨Ë—’Ø©CV ÃÈH%³ž‡\ãsu¨RáI|Z#K†°cDÅuNMïîKl‡ó>  Á“ç’9æ³ì[OM à0ó³h´Î‡SÙ ãªÄ5#k4ßµ*7dË»¬Ce*sXhŒ ¹$³ ¢}ÈÕX<›ÜÀØ<ÂŲ¯¡é9ÃÎ[B’ktŠ—Jl¹So:wŒ¬7z(f(ìÑáX¢'ĒĶ«a|¡jÙo§-TyÊÑ·‘d¡Ê¡³£‹yzN?©Kª,ÒÝØ<åÙFJD8"Éj…«å;gÕ¬U,†Ë SM÷€Ï«Ñy=§™vB…=‰ý2jÀˆò(…oÁÏY­NhЦúþ8Ä&tŒTiËø´«e‡ÜãÔ¡2/s8˜*q_Åèú!sà"›®·âK,Iil×Òkê™”`év¹(„ÄødZÆya ìD+P™¬>Æ)RF&I‘]JX$z±Y“Krpv…½bNÑgUg±ÄŸ­!qV”d‘éUŸÀx Ì»¾†ù¼mWKàY"Pêô‰éK*Ž0"lS]wLh ml{4±À2kÐ0:òŠýèrE ÔÕ3P†Üˆ’M¢¸é)ç|ØÛâT¡AåÙÑÈúirǯ I}èR\•í“Õ5PÄgKâižØXx–`毊¦ÄaGNH5Œ*IÖ‚åzj.ËÈ8îÂ=)9ÔŽ‘¯#y¸4õªÐ„°ÄS?õëàh/1Œ,IMú¢ksÆ5xr&TuªE¯ùª9ë±Î©Ë¢œMrþ4%ö©!¤:I¥U2ë‰TØ’|+à<Õ‚DZ2w¬aô£vYÑ9qåYÒðÙ{«_|’ü¢F3¹7§¦\8*‡=hçK›¡%O9VáµÍ ëù&;©lîN6¨›ì‰¨mÈ1êdKV<š™Ä>k²7Îa!¶[`……éÑdyƒ™)§ÀŸ£e'¯_˜âXFZ G5Ï’ 9ÑüªAwƒLV Ä:FTr1ÕÔ¸qKýH #Aæ3`Ä <¦Z‡ä¡r†.‡ã*»0Orï-{©†Q[¢J¨óà Æ¶ÄÉ y#]Oz~$bT ðÒÀ!tYñ†xìÌÊŠ‡Ýmцѩ¥9(MºƒÀ€ÂádYÒù‚#d}Òg9r7F!ž¼É'©lOr}Ñ,ã&ÏÑDz¶Ïù2B'i˜½#ö‰×6‡ÀÂÝ鼕’Nl`ó©,c‹GA4Œt¡Ʀ%²ëå0œ2H“7´à¸¤)n’aPò¿¾û·w3wäB²çSUȶsû#ojeÜBxúƒ\¼¦ó#%†yB³n¨ƒ{áŒŠÓØG¤2L¤Â):œž[T† T´4³ä2L¤Âºt¤He˜HuiQhc ú¹wÕÈV¿›°dk|X-ñsW$‚Ô“ß=¿ûÅýñþCÁìNí>¯?«þ™ïûBÎ÷2nŸå>ë¹4$ g“$ž¤˜Ž˜^oÚ'7TðŽf£:sS·Í¨©È4m„Áíw„òÚF¢˜J.™ D‚Øh´%(´íOìôÁ‡ÄdH^Ç8 C‹‡uGEÏ_÷CB_—qŸýï|_äo8 ÷5àÛk½ñæ“u—9HmŸdò¢Éå yâßL‚™‹Iù— :ì !i ³¬<é÷{<éç_†o– Ò‰)þðH¸Aµèzú½ÃW2kE2myaa&§ATd@ÞàÌçzœ|8ØàOïj’‹ÊœŽçG&‰º CB‘ê)çuñW¢±/ÑÀOT  ¹›Ûd·}10Xª@ Ãt>³º84¾¸Í«L#0ÁÞ nÎpPVv*žFN œ8à•úä•°ðd§ÃT/ìˆé¦H)îƒÁRJ¦³´8tNEXutMeZR(…K©.í@Û*œ›:ÍòÉ+®Õ=W'U(,~-Ã:¬~½0Ý(¦Ü3ï ¶/º0òÍé“U‡õÚ’Â(THc°5‚ûlªWë“ladŠð÷Kk ñ÷…i蓌z€/l\b09m8‚çÈ*Í3h±×¶ê×ßM<-½ËÏ}-×Ó‰®9b²Ý[‰ÕƒÞ IŽwÅVSÓg„ºê9P”"÷Lƒ‡^à²0râbqÀ ‹ê%T%0µüÞn¢RÐ¥zYÕsÀÀ¡®d‘eN\ç» &à2äxŸÀT)ö ø œQPí|&Ó8,u „a侪šñ®÷ª£éYÓ%…Q˜”Æao·s5ÎØ6Ǩdœê‘—äœ ÒcÛ8]¤Šó”7IŒƒÁÞ6ǨdÎA%÷:¼m.…Q˜”Æao·­K&fh›cT2xäçX’ê—[ó¬mðSRè7ºjø:{Û£’9•Üëð¶¹JáR*‡K;¸mØ€ïc[¢ c ì1â’LË«x;a‰ÎS^Y5Š"9ÎÁàµDF—hc K°×`K´‹`K¸J¨KôÞnVªE†°w™côƒ#hWÃTCL´ÕØe¸V±‡.KRY ö.sŒ~pç âux—¹FaR‡½Ü6\2:Z¸ecaäŽŒŠ‹päR(>¹ZO|ßnÙ¨xÚ/lC…ò ÚõŽû1¼´\Ÿ±ØÛK£0ÁÞµ=Ù"¶‡bÔrÀkÂ|_ŽYrN=Úò*ã¢Ð¨°Û/ÛÃ0f{³=¬·=\ ·=TJ·=¶vˆæ?9¹1t™cô“sp~uQE¸šku¶³(òˆW«,Ø{Í1úÕƒöŠ×áýæR(…K©.íµºpÌ&´Í1&Yå’%9.ÏÜÛÖ9†»(GÃWÛ cm3Ö6«ÃÛæR…Iiövð˜l‡& ñι‚³#$PZâ]„žO1ÙùkO‡i¤ W½¶@Qù•×ÅÁà¡/´-L监‡&cËë%L £|K-Ä—Uº 94¿ViÃØÛ›»·5Û~ç¶JO¾ø"¬ÒEŽöû*­pX¥ck¬q°5ØêX«´Ia&¥qØÛ!vp‘‡q‚l3ckëTÑ=£,üÅmdç`𲄠£Æ¬1PS×jpSØDÐßMB3¤·&ˆñ„f´…c¶l>XÙ.[7éAu·†É ¸ £/cØ0f +³…­†e › n-«ŒÆ`o…¬cEòP–éá5p‰ÜL³ñl0=pD)ÓãÔœ~ç`°›ŽãÁˆiá5˜éá"èï&¡–Þ› :G¦±u>4‘|aäñvšåÇ•»¤@lƒ—é0fuçÄôE!§òƒ‡æ{/ 6ÑÇÝâÐ9dÕÑõɹ%…Q˜”Æao‡D>¦ÎWÛ£’a'½Ž%yÇMu)¶¯x]­-x“—_ÍV{Û£’9•Üëð¶¹FaR*‡K;d¢!QnnV¾aT³u»ÇZ5îØ´»çD7â*äèÀµÝÜ…—‘o7Ñ…YðVƒkF—Á(LFc°·Bz-¼ªè=cÏ3µ—Ò)WŠÈ餂³ž|ŽÜŽ/\h «Ç)dÿÏ((5€^|ÏØ*ÝôûAo…I¨ ö&p³pDlë°…‘ï]ph¬®Å«àÐX‹.gÁë{#èÝ“ÎÀ`ûš #ßÛHw¬¬Ã– Fa2ƒ½bRµ.W‹øPtŒŽ¤&ù¿>Òš½ÂåC¡ô+o°‡…Þa‹ŽÑ¡ät¨y>] £0)ÃÞnÎàœ9¶Í16Kæ¹A`po1¶ÉÃ4ãû©F°@ ^ˆaÌ~0æKkË•6ŒÀd4g|o…kË£‚!Q.‡vØŒ+<ÛPƒq…÷QbÓö¦9F%s*¹×áms)ŒâØÛvi‡80¹Ësn…8F\Êš‚‡F´Bˆâ¥¢Ë;ªÎÁ`7C£V„sP+Ãëp;Ä¥0 “Ò8ìíõ8ì†#³ó£†:²¯%GN£óç$7õqu»ÿŒõŠmr-î°ÛùŽQC]Š« ïÜÝÈ÷úÂäÓâ—Hõ#F8ŸÆ¿7?õ¸úcð¥ä±Ç¦L§À F‚«¿aÛŠ[gX«»L£0ÃÞ±¯+ÀÓšû°0¦’õ5E Àtªšs/0 ÍAr <Þ’¬¸Â-+Åtî„U¼ñI„UÀì÷©Faò‡½ܪªG× tŒy‹šEëÞdâÈ¢¿‰ƒ‘=PuZ—·©ó­¸¹’VÁr6M¥p•Ã¥‰“G¡ùIœ$‘8ÃLþþ9äœÌrj\mZzN•ë*ro9U[)ò¡yÙÊÁa©ƒJ8¦k\Í84î‚U‡À»ËžRÃ&¥qØÛ!kv¤·Ð‡c4pƒ^)Dâð¢|ÞBƒþ ‘¬D=D>öȇc4na 4¬á5xàÃe0 “Ñì­gºÕ=,¼0æ ÷,×p¸«,Ù@Á™žeßv:S /x9Ó†Qwب³l5¸3m",g»‡]©½ É—sŒ}ï£ÇÀ(+ê±õWæKðE©{‡¼:Ì0ö½ƒõ‡Õ±zL…P—Q\Z!q|<œƒþX™þõÈâªv¨¸ê©AÔ£ÊIA§¨SžÆ4Ûô^Q‹ƒ(ˆU‡©%…Q˜”Æao‡îQdN\*Ä1¦BŽCßS’ø¡‡¨Bò!oƒ)A>Cé|FÝ! M{-gZÁ/½aU+…‹¦ .ÂË–8Å0Ì.ÇèÜ@ÂesÎøÜ¶l‘üvl‘‘æ–>µ !sà ËÄqæ6±¼vý݄ӻôÆÉš¸a«5_Á熢yÛ°åk"ŽcÅa76c®ÆÁöc­·6L#P­üÖé§‘õ1sœ£~/n•©Ë+Æ­3­n~ó!ùÈî7ëÙ$wœ ^ž³aÔó5ê{î:› F`"JùKdMNúä‚çB8FSž‰ ©üØwŠÉ8…-§ht{2„c4—Á9hªƒ×áÉ.…Q˜”Æao‡Rr%Úš[ޱ¹qèæ£MÒ¿m ã`N/qöñAŒÅÁà5½ £SÄØÒ|‚™ò»K(¥/MSCžƒ 3Ì1:Cp2àînF æ=¼`ä†9†3c¸„×9ìsÌ1:GœƒN!¯Ãç˜K¡.¥r¸´Cô{—¬˜å8;FÝÞcH¹Å™o-GÇj¶Çí\8±a¯VÁµU«õy½¸úÄ^{Í.‚Q˜ˆÆao„liV¾=0ŒEÇèHÂu;GÐóCŽÚ„±ë- Å'»ÂPt؇¢cd0YyiÎßF¢  ¿›|Zxo€ì!ey›oÙPŽQ·­—õ„CŦGÍш‚mÖz £Ë‹ƒÁnD9Fm ç 6’×áF”Ka&¥qØÛ¡Á©Ž0q–Fçn$(%Ì!>æ'Yâ·r–mm’¼&™al’›dZ…Ï1—Áæ˜Éhslo…ôI7vjaÄ *x0¹.‰7£Z 6TÁ‹x}Š&2;ƒÍÔY1†1–VfN-)ŒÂ¤4{;Då·áW¼ªÊ7ŒÎ${ŸaÕ±Í1]ìÂûÏ'ß¶»Šì“Ì1ª±êó§˜W®?šlZt^:kô¸v>Œæ‡b •¯IÓüQ¼ZzÌ0å7¢Á™ä½'cà°'˜:FóC¦z ž`ê2…ɨ .­¬òi“`y8FíL×cµ¤â*Æ .§ŽTõ vÃÃ1j685+¬ ·;\#0ÁÞ ‰þb#¾Å–9ÆÒCíErK-|*,&˜bûŠVCñ»KÁ˜ºòHë•Wj•… gvñe]|émh’cT¦cLy‰K>&_ßštœšelfâ!¹…n&¼ÌDèdÎA%÷:¼m.…Q˜”Æao‡º`I¯sÓÞ0fÚ§S®‹3Û>ó…>Ë´‡;qDã¿Ê )g`°›öŽQÓܘå®5,ËÞD0QËïmMõ<åiQ_Á£ ¶¨Òò½*v°JŽK^!(!”=ò`hè ˜!tùñâºâÃÍ<3 œmVÚŸcŽÑ)âÅu y>ÉL%0á´ü.¼ôÕ¼¦¥;ÆvTå6¤•P\ÓÒqßKȈ«iÏJwxeܧ=+ÝX:ýqMJwlGvîIé—V¨îàj0è£æ8.Ћæ:žo…aº z$‹œ`°ÎX v{Þ1j5Ö½7ç]£0ÁÞ O–-[Ÿ9Æ>ù)¯D{nÃ1%Ápe?𽘋 -žàðJ~0Œ¥.(Ël°Ö! “ÁzÕd´Nß[Á-Õ{ª¬cÔñÅÕ1UÛí©²z°}Q C<8ß»ëìu|ƒ:Æ^‡»Î.…Q˜”Æao‡D€q'îØÒ€ cI¼Cü+É·wI_iÀƒïE[“Ï®/¯4`ÃX¯q°$_«c¥›FaR‡½zš@†ýÊTtŒqhEüA;@÷sŒƒß]3ÅäÔ¯C†ÑCÆ@IX ~HÂDÐßMB-½7AwÒåF¿° atnÍ*¸ÿ¤n›|üäNܨèrÅ•s0x…J £¡Ò›µjðPi‰ÍZZ uk‚hÆC.>]ÍrŒ …U†Í…Ü÷.¡—R •÷샽YŽÁœˆí5X³\ýÝ$ÔÒ{Ôuîû!$E˜9Ôj<ÀÂ^m8¾¢žóQTL«£/ƒÊ0fÏ>¬ñ€‹ºÎላ i ¶FhtÊK n;FmØol\ÜSZ´‚Çú~ƒRH7-»ì5bƒ¹^‡›Á.…Q˜”Æao‡´ —ïo™—ŽQ'qèC æD}(d¹™C_»r Ri30PÐLCˆè¥Õ…tþîdºFa*ƒ½ šÓ‘9ìNWÆÏFÛ1E\Ë´ìî· çÜâõ ®x½"ì\”–¶cSÆ~¬2üè• h ö&h‡i·Žb<„#‘×ÂáÒ[§ngE.ø Q…C G1˩ۦ—×b9*…ÇrTJålíP]?ä´ 'Ë:Fs]›Ü¡ê¹°8‹R£þ(x­!ä;ÜaN¯.سe£É®ÎA“a½O—u)ŒÂ¤4{;$¸ë°ž;åM}:Çž;uÎkîÞm ¹Sd£ÇÜ)WæÃ±åNyqÍŒò ø3ßÛxjÞÚ!©Ñº{Êm†ùl؃ßÄ©ò.CÅMÑ•õ»>‹QqCæÙ†«÷¨˜Ï6Øa¾æ£ÚÉ4ÜŽÍnt’;ÿ9t#‡¦Òz€ò¾ŒÕ‰» ÏX™_SžšØêDŽ?Žt4 ÃñÅüøJ/rzÅS"òæ]Y7«ãðgò®:±¯zÆx"ÕzSçÐǼ$žÛBnUn×’ÈyÆ-2ë Í&ØúB“£ñóPGñ \àÀLÉ¡Ï ®nî7£ Ë ÛkpGNqàMÄQ/£€+à·Ã½äyžç>|äÖ^gÙ;ά÷3vúr,Ä>Ø î½nq°ãÕ›ÉÉ­œ~½5s”,ÿzØÂës›`ò¦Å^'©ò°Uyèå÷áË6™ö[•|󹫒ÔÿÉãÏ—°qTykåQôR÷5Iš^ê¾&É¡—ºo£ Ÿºardy~¢àIF¶Ú)¯M¼ $fÕ¹ÞŸ¨òTC˜#¸ø¡Ä)‚Ç=g¹L‘‚&mc/&#þWÂeœq‚ðC}›ÎIì$Ëån¡CpÁ~Oq ¦zŒ›1pÈqÓ5GpfŽÇIMãf’ 9-ÝŒžy^GO½±Se[×!Ê+yöeg·_¶âùÂ4¶áƒ·AöñƒØÚµJ\E‹ìŽ“Sê‘Tâ)GPLÞ!]Õ°C˜þakÛfV•Qu]FZ‘¼dëÉ‚7ªbG’æ9ù¢³­#¹;8+b}ÔÌ/ÐF50d@ïSgTùT…—Ä -®IZìïmßéN9oƒ;ÝÛj™±ò^‡@­úŒôš”µèc`>) ¼ýF5gÁú{‚Fèð‚ǽù5Âm”Cߕ A®³¹_/C´3ËóM†Qiå ñ<èÝ#~¡ŠMü:oì(új‘ÛçÔt·'ê©GãÂmü*‹K ã“­â†<¼â±K‹—=s‹%É]—W‹¼$nÇ®óZ7øÂ*X×<å†÷epáœQKWƒ kZº a‰Z¤ÀÞŸåÚL<µ1·y™ñÀˈŸO;Þ¨‚£Ë+a%9ÇþeÜ­wý²¬~¶ÞdõsöõsíÍ‚ãbǦŸqjsFõ OS¸mqŸS.årýŒÃøç6«;?{µðÆØ ‘ŠG'Ó¹µRÞ¼|ØRe‰‹{çðÅï<] "ÄPvs™Ü›±…ž~#,^,ÛjÄ¥½qêÓ8<ø&K¨Û41ó¦›ûLã:ð ?2èZïSòå#®Eð,V¿x]rôÉ­u‚ ‚›ûê¥ÞŽ ÞØO›=Íí¹E‹p'æØî•àáí ÎýÝg ú·ß(!<Ú6;?Ë#½Ñ+)òŽÒ¦KÈU”ç–bêÜÃ7¼%~¾á›¢ŽÍé?jÝušcmËȪ;$"Ä·Ž´[?|Ò¼Y`ý\Œ~‘s·}ʃpáÇßÑ5fÂÓj=jL ©M‡Jo¿5&{cu[Æ&ž»®ÖÕk~¥âRCD·í¥;j(¿_ó»¥rLxSåùê §2L "WˆǪP‘OÔâ4æ"2L¤B4ëè‘Ê0‘êҞпî-?¤gŒœÿ½où­‡ÖlßÄ0Øä¤=rC‡)`6ª•ìmTЉTa#[© ³Q­äj£RÌFµò^J1Õº>ܨ³Qi»Uøî˸÷ä×$±“_ÖËç|Xt[‚Y2ºÍ°}a©ßRÏúD ¶™éç”_ëÀ?òü_9`aÈûü·>ú×25-þý×>{¸ÁKyóÀ’°™Õöÿu{ðõ+0dˤý™KÆá ~y¿ñß?þø›÷8BBËÏqÞý¦Ÿû¥Oùި؅™ùþ¿šo Ð÷ü7)Áó¼ÿøõ{ÇþrbVøi¦Ùçý;øòòøå'£-÷Ûo¿ÿøü¯¡‚'‰œ“ZïÉÐ"ýuë—ï•á™ï/" ¾ÍûÿòA·‘Ûý—Ç—¡ž–¸¿¼ÿúøãgauÔüÀ#íïþ‰FXøò¤J`kÝ}€©PÈ7ùî{úæ)½ÿÐ2>l¹ÿ‡/?~xzü—ž?ùò½áëýàW,±+sÿ!ñÊÚÇäJ>$l‘«I㜔=Ù.ÄôþÓ—Ÿ~ûÃ×øÃã:ÓFÿÝ?¼ûîßÿâþÿý5t¾G½ÿö9tß‚?ºõª|¾ÇgýdÐ'Œ_–?Ëbð4xŽFCÁ¹¥ûÇKoà=å’ó ñ'¿ÿW"}{üí{d¹S<~üæ ¯÷_~{NDÆùªì+•"gÒüøíqû/<èx¨Ñ²ªCÈš8ÈšÄ\ÓùÕî{‘IÍëKåûm$}ŠÀö¡6²ï…ÓYHÁ¼(׃¦¸ÖJ]ñôøòM•Dê÷_~­¿”)Ÿá‰Ö_>ÒGOÎuÞ|k©bì>~z¾#£ðþ³Õ•^Ÿ3·£ØçL"Ïï¼Í‘hüòº'ß÷»Ë´¬0`IÿmßååÛã³ôýŽq3ö/úñ')íö+mmVa‡çÎóNþEFyËóþÛ×/OOÛ ûÞêÈ÷¿{¤™%PË7³ÌÛüš≯J·`=R•…Š^SXðüÉÃÂ_ÐHÞ©çë䇨gÃääu¤ûß}–IE]šï?ñd)³ß»äÔE/F>ÿØ\ÖY¢CT~Ùæ}š ñólËën<·ÝFÝݤu_tÒ”Ñîÿyï÷5ɶ®BCƒ:ßVQÚþûÓÇ——W¤‘ªŸõþoþþþ탿y­ðd yoÚï?ÀÓ'—îþïß#c§ÚWHXKíŠu ¦ßò_G*o+öÇ7Ù˜þ •µqÿñéå‹BG‡*Àw€D±ðÇ}~o_kªÂÉ÷:X™!iB'+3&ã>š&_¿pÛh"ßÿöñMõbõÕïâlÑa™i}V’ÌÃRVyD˜›­òSM‡ßÄÕöZ ±åúí þμ¸|Z+,7fÒÉß¾þæö;ûðBñŸ0.ïV üòÃM¤%}€Œj￾GWcî߯&^«ågQ¬j¬ÅKuž´ ½<}ùöb²NÑûö þ,µÔðNJý§ÅÀuã´yá³—´Ë?¿¥öÖÐTj|«S¹ÿCwQ]¶@Y8/ÚJRåÒbÌéòZ‹¥rMçr[ÞlÆË2nS––YVËpÀò$ûGôÓ+k9¬¤'cˆø³_Ÿ_›ËÓè®Ç_ÿáÕUR³åã<Ì©šË<Ø×­ýÃk›H…}ùº­Ö›Öøúk{Õþ^ÿø·«üÿ;îE6Íø÷²ùK¯}ƒ„ÛÇü<üýk_éèFø‹[Û·S‹ñd>Sû‚¤˜ö/ø÷AÐâ"ÒVZ™ößyÝè—5f}ׯúξWE[6ª[c]…nWx3Cní2¼ÔPôƒ‘ù«/4©^ù^²JçEü:ô¸cšFÛÖ‹ß¾|}Œˆ¡ñÂÚ9á”þ¬ˆˆ{ÓWúã"âA`åá ¬MM²ÄÞ¦ÚÃ_^u S‡È&zš°P ÀV²7öïþãM_ñ~Ê+#Õrÿ$^¾XBí²’ëž ˆ“„ÄŸj^|¯­¨S[”xlì“Q§O©Tôë·ëåKÝëÖ¹›/«/©ÀWÇ Ÿú玵s×àåõ& ^`ÛòU³”ÜÇߌf¼î¼Ðâ¥öf¾xK_¼,¨o™\C%âË^æM£‚‡Dœæ‰À·AaýW©…$†ÕB’¨ÖŸ¢ôË>|ÓN¥Ùˆt„Ͼ{MlÒxo–ªóã‘Xu?ŠX¸_‰)Ä.ÿÂî|ññ-]hã;AË|3ßœ˜§=·û?˜'ß÷9'‹Sð£‡ýöœS×~[5÷eÂ\p‰#ŽÍÙ«‹¥y7£ƒ#¯ã>†B¾}Ó’b@ühqŽvõD$œÔòÍpÖöKˆ6Œ·‚ ¥5¶Bpî…5 ñ!cÜMùçß¶¯ÊZ›ãi^h½xy}ùæÃ"§Cé5“Žy”]Ë76}xbàP@»ØÝozÅ{þÙ*ü›_?ýðûçÇß¿jüó wÙÿ›03ZÿÚ´ÇÕWuýr3O8 ?m-¸åÔ8¦öÎDÈAoñužl`KÚèùm…w] ßÕþ”N5œW»q‹4KI¤;x¨Ou iôû“w„þ-÷?šÁ¹F·†"UϘ¯ÚýµŽÍá½Þ?yhw_ßÞÆy}S%'œžwð!GϼG“}‹æç¶…Þà— þùqìih›föÏBJõ•.­üßХ¹….kw­^Ö8‰µ}”8F¥?ÿ壮˜ÆhUw¯Ž­¡HÉJ>ƒÈøöø)ºl?è½la”‡NÊMçè/ïÃ'þ {®æã¡”sÿÒÑoûøõ_>ª1{’sŸc¾æÏ®oŒÛžå=+žöóe‚´·„.ã¸ÍAóâ&–Aö~g¶»E¾Å‰"ð‘û¯§½¿~Ü·y¾±úÇ1Ò[/Zhž·!f¼` Mµ‡þsâm¬²šòÍ··Hn¬Ö,a1Ži¡¦‰6|»±Š¸I·~/ðØË¼ÌŽ¿Å/âì&\ii{“ן~m­™0Í=¡Ñÿ‡/¿ùöê–²NOwMßT÷—/±û÷[ Jû¡Ú?+ÂAæzÕß¿~Ýèn_·Ùº¥#ƒƒ#A¬êq}\&r>zÝG¤„+[ÎõŒ¶ÈÓ Ô!o¶[CuðFàe¥ýö›`A}}s›ï{Pc^ôg± Þ+ä›Öò†fÑÊà3ghtû\iWª#ß¾þðôôøò–1Ò±»ü–1‚z_12!&{‹Û”øvc âtñl7áqHÍ”&c¥"öZ/ÚG¢óbˆ_ƒî nµý_aKø7o}îW<6‹-a˜”ÒÃVa¥ZÍà >ªÒ?+që¯& ˜ýí{6Ý{»7ß…j¹˜‹óâÛÆäé«q7qבØÁ ƒî¸7ZG‚V.‡.ƒ+òÂû0ìTLlifq)D€ƒc¨¯}'ÝEæ/ÙΫx¢¢w-ŸåX±ì<ŽzÕi!±'H`–Ý,ŽyFÞ%û柎–k—Be@Ukh Õ@ç}ˆñ”—½{|øu¶}_~Ú±ˆÃo¹ ¨=ÍËöÖËËMƒ×²ï"šìy—`ãôá%ôû_¶yï¬uAž›%Ævº.Èÿçk 1îl.ž­ðËWT°VÝå[çœ?T²à¿û'lMÄ jÁñ²ƒªHwdyR9îèŒC#(|…Ü4^™ðÿPºÜ]hs$ ª×WÃ郬Ær÷!0·%wYÞ¯ÁQùWËáçÎö×nú¬š%ǬKBÕ—çÇo71o®’|Äìï}ëïêHˆS7¥%}—lå2|y4ö×8ÞG‘ð•-8÷`˜Dµh5&-'5þÏÛžej}î± _v«ÿã·ëäªÓíê$"ݘ‚ÆyÈy¦Í øßâxã]ºJãÌž–‡ú›Ì/šqоçÛR&\ðúñ¯ñÁñÌBMu¯Ù›ªUÿK´‹¶!ø*·à•º£_¾ý "Âö¸ ,ûùJHP9=}üÕRÃ{tôEÙZN8åóMNøðñ÷ì{&?ävs¨£|Ñà9S½Éìg7(êø¹ p8FyüÅ©‡*eßÜ8{žjº8©ÛÓŰq¿ N¿¿5»½/ëTºûÁLýq» k‚´Ù™–ü| g÷`܇”̧è‰Þ¬”E"MoGà|KâíDÅÛ=1ŠwËWló×ÜŠüÂ9àm²½üvÜáããÓM{ù|~m·Ä–ß-iâ\ËßãUÛ™e¸,é’ó¸™*Vqo´ÔCßê‹VÌ,jœ†„Yù”HìÖh4sŽù“Wcå—0—SS°˜=uák ó&¤Iÿsù©¿}ü™¤\øÜêOD3Ó7#¨?nI—Œä áâò{q±uãáú_¾yd~¾d Ò%ÐøˆÇ®h8ýôÖÌð¦øæªFöãˆóêͽÝý+¾ž †çnšZD_øõã·_ÂÚyÍ2"FsEè8F?YÕ¿£æßo$æÑjo?'ð{ÖÿGÑ™R5ÓØ÷e´rhøÛ®W_ ^ùÇ­º8¢ÃªÇLþv»Ö‚endstream endobj 359 0 obj << /Filter /FlateDecode /Length 3941 >> stream xœ­[ëÅÿ¾ÅÊŠ”YË;é÷RŒÀ€ ø¤|ài|·>Ù½=fÖœøÓó!Uýšîy¬ïBÖÍôVwUW×ãWÕÃ/kRÓ5ÁÿÂ߫ʬoV¿¬¨]‡?W‡õó‹Õß~4FjK,]_¼^ù)t͘©™¡k-um¹\_V?UÏw›-©‰4Ô(SNíí_¹¦ÄVÍfË9¯ eÕ‹î¿ÙžHZaLõ ‰DMˆª¾Ú| ªêÚbÝëln×^mHÀ¬®Þx–‹ê»bBÛçDiò¿/¾…í ’oY^kja‹׫Ên.Þ®¾¼XýÊ1 I™¬_ Sˆ% «­»Ýú_ëÛ³ZdĬm-™¶&W#µ¶¶‚¯5c5%A?§ãM×ÖÇ×ë»cÚuí±[ßuFªã«æU»oOí®_¾¦»-܉¶ÃÖ7ýJÂb‚™õ=0úþ½Ù^¬( ¶VV‹ZËõ!hByÍÅz¿z¹¢JªZñœ*ŒTVTEFFr*°ЧΨâHA%­®¹É©ÂHAeñœlNF ¹¨¢µ¶k)©¥A¹(ã5K9‘¢\Ö&#Š7 .# ‘Ôð—fDa  ÒœÖLdDa  281—) Ñ’uîת6D금¨èZJZ+ꌫ"hÒ[8ÃÁ%š$ÌEcgî'²f0Iq?&Â5µSuc*ŽÉÚ‚=»1C’§D“’B¢ô‡l€ÂÊ´°±( dDÁ ¢40E{JDÃ@FÌi JQ°¦( D<úÕ°uÎÀ”÷nˆ¨…€dà…¹S/"üB(¼¨œÌ /H?øü/ƒíûPËaEˆÞìH¦(µ˜„€žû ³VÖºtƒAÞ0ðÏ‚Fº˜gú^¤¢ÆÔT+ðR°9%€éêùjE…2µ*ÎTMàØU4‚œÊ¬lC‚"#ÀýÅ„TEF@á–MØá_&T¤bŒbŸPA¡ŒF*AlÍÆìF4ÑœÆÛ“Õ­ŒTÚÈZª)?&h”ðÀ\³pг8Ã2KØ¢0–FBkR.ƒ´$!ŸÍðq¿¼8¿îä\:DÝ+è¢H‡º”š¶V‚z‡ùâx¸Û(°ZѪ^ÓÜøÿ]ÍËÿrÅ™æµPY¾‰#y¾áÒ€»æ.ŽT–€?Ta$§  Õ@G *ºè†U)¨ •ÈósÉ©>vDÓÆ¨(Š:­ZþЦ W¤~Y iQÍ)C ŽZˆÒ@F”<¥(ê8 QPñ@”2¢ á( D’ Uh%Cd²´‘j@(‘*‡(‰*A”D•a”D•0J¢Ê@J¢J %Qe(%Q%”’¨2˜‚~ɉe5c(q šg:2UIF`Nek…a8kÀ§6vLTÆêdMgs×Z¢fÎ&nø›œ¹HPÀh’OøiM€èx\góc2̳©Vh:›ˆ ®ÿ'$¢žþÈJþŸDtv?˜ˆ P^‘gû“ÑyùCž¾¬]£ìP• ›Ð öWíÍ»¼d†ÚXBÕN”­Ø'›­±ˆrMu‘•ÆU¢áÕ]6¼?žÂÁ¡Èq%TûùôãfËÈZ¨Öa„Áª×9E·ñõ·QÅZ©õ÷“×ûÝûCûþ Vã킊íI‚ºØñ´Ü¨êm¹“¡på_|¯áÔ?Ûl¥€,60Œ0Î`Ìo{Ìývï@½—Õ^næö+ ìS·ëDÇn ­úRó¨Ëxuß;–[AÀå Þm\‚°~~‡Gdðˆ`g¾ÛЇ ®òŸCs‹ªaFKŠu4pšw^ßà Ø¡ÈM»C³ç*×;éû°´Ñ…iu…~›üÅ·;òeúÚí ò’Ñ`îß­.žþTýºµ27]Ûøóê˜(ƒ¯u[üä´G{ÄRœÁ«0Õ¡9uí{x§öƽ ñY”®§È‘iö§–ØåzVªÐTgUМÅ“eU×G4Zì†[0>Ï“Vy è‹öÜMœgåz4I$èÇåå&ºÓØân—\ò¦9µ¿&£M •Õ×¥zúüŸºLŽ>iB¨•4¨mr '|¸Ë3WGiÃ×a-QøpXSMU¤1XŠê¦zqÓ]³÷s Æ.ζÔèa(‚ÛÞBTÇ|XMû[¾tÉg6ê0…QG…¨s¼ƒ5.«… H˜ Ì Aö6¨E²¨‚ÄÕ‰§iˆò~8ßÎ~?ϾýÙi•B\-Þ·Ó4¦ìÄx4<Ä)T£˜ ¼(¦Ó. r‚í 1Š‚‡ÈBÛuf¥Lõ¬9ˆÐC”ÈkÃ¥JlÑ6±'FLU¸ D¹fæ4qãÂåöÖ¯a%ŸÚ"® zêû¾ÛcœÄù£²™c ¾o1¸7Ð×”-X•¬¾Ìú>ÓìoŽ][Ì9Ô›­€ê”PÍ~XÕ?—:œvt©ÿ4†.YHðùÍ`ò›eÁRÁ2øò‹ï¾ïý–{º`?;D¿e ^ ,­Ú"Hì ®‡‘‡Çà0‰|ê4=9–‚Vró›Œvf]nát!Ó Å\N¹Ï—*o>7A=¤eÁiyŽ‹W(}©LwAÌ– ür€›¥p“;_¯F¹#Kmr¢ëÀYðê&f†±üá8Q'‡c7—œ‹ûÜŸe¢Õ m!OÛ'pcKŒP¤æ0î© ½Œ°RDÜr9ǹ,B g `_(€"x”úM0ý x³ßðNÙl‚IBí4•-âF`eT³‡9‹ˆ´Û½nO‹aÕ ïÖî[ŒðXŒ‚M€Cm\YAÁz bh € äØºŸÝêq}ÖR>JûÓ¾žÄø¤û¸Î9/q2¿¬ŸˆæËìÙñ†“{•Pî²7ÝâÂÆ]<.ÊW†‡îÐN±Ap˜ë &W%ô»kî /Íò뇞sÑ+ ÉÆè¿?bãR:Ð’² e#½Â \õ…+ì=úTJŠcsL0U÷§®)•pó!ˆ@é2ÛÎìDçyÄÈÎ{ŒiU ¢Ì$L¤Š&_§95aÄW—Õß¿ù¯¦¥@-UÏÛtµ¤1,[±†??@—x‘°Ëq‰íVÐ ÐÆÖ¾ºŒJókHkà,Q¡Âå•Öç¿”õ|ظ-Ð4Ö¹—Q8j:< ‹I€{èlUð$ô\¨Ý,‹%Îà‘ÚJ=[Pxî7ó/£ oÄžý»Ã˜/EPÑZè%ƒ"½?5K&Ðt×Q> €r„7ݰéªó1ÆkFV}ùKQ]-;þuXAœ/ÅfQ;¡5•,jî´»[R¸<ÇÜ ¶OÀø4s¹jl€EÚÜ Š8o*òì¹…²X êEÀô®X*  i©Ø˜ðsCcbäým„+ »!J>&7¾[p]‰Keã$á0ÜBàžq®xÈiÅ>LùÅâÉ"~=»¸³f·'\`Ì›\Å>œÏ‚Ó:œ`U=€Ä¼DÃDëÄì>…ª ¾.雫„°¸Ú>1O ⛇‡¢-7åC32̃@æîY‰©cEŽmRÌæKÕNÇß»² {[òÆÎëÖÒÜW•é’Às'ñ¢êq }±–D®9A»6¾«ÿu3 „€¾3VåÁ]é+r{ÒW=Xv.hÍ åë2ÙÊ^RaQ5RdB¯v¼ã:Ÿ? ¥"¾©Ï@õ¦Ý÷Ñ΄CîYL=ÐqÚ~3%ï¤íç2-3Ìmaš˜ãD[6Ã÷…A²r‘§Þ÷Ÿò´(‘eyIStSf°âC-:©®U è¾]¢/a?NæNuÅxsVåÚå=×›^VY‡þrs–ÿÇаó¸ô,º¢²ÖÒ<—Š—†¾˜ã iêæËÀ\fJ‚]ÞÆ~ü©Ÿ•AÛšã‘zîß´Wofáölª»]šÃÓ†9TÚw…†ÇÚ †Úæ‰ýC8€‰ù¸ïžB\7ÂŒ a÷_gÁúØ_¬0•#Ž€»0nÙ¤aÂüýß´gïlAJSËLRËzfa!*ì£@bÎLáŽNRÄ@4Jê-)N(ar¡0G»‹¥±—{êÑR—W€E×ýz8„m:V ÖÒía<<Äú •Öüf*Ga×»ýæ¯S¦50~y€€¸]¬ëËX‚~Ï„vYvb[n-=ß‚jûŸŠz(8Œ;»yq¶Œ“¤oø¹g>ŶN&a¦èÎÛ/9ÇÅìPÚ¯p²‡¦~µ¶îWˡἭ µ#[Áµu w—÷m}ªö}¹(ñrP:= Zo£ Ô[ÛgtáFhím¦«<4uñ»ûé”R§…{Øùò{Ø0‡Ž.¸f®y‘-Á›W5A. Îõ£ˆÊ>Îv¬½Ãw„˜É‡NÞ¹‹Àptûó³V¥-ôiŠˆ×èLÍF;G¥uYŽî÷þžBLŸ0øó+³O¿#Õ‹²wíuÿÿ‚ˆ²%Ûö§®}•íä‚lø)ÞúQÃËËSP_º[øñs(¤˜ð7´výòaäÓíðZéî뎙¾]¾PBqÅgø›o6zT^? €.ž8xò,®#Bü£BLo†ã檿à×N5…ð­L­™iÿËdÈQê—§ë:¼Au÷eסGÞ¿ ¼…º¦Q"ÑÕªv—Õç¿ÿö{h›s Èø²úæö´ë®vw'„ùqM*ð»%Á)!~£¨¸Ä•…u•R@È*Ò«êÓAV³Ý–ªaàéÓ§›™«£÷›­âÄÉ KR©Y`µdVdÌ0ðÇ1Cß\VïÿÃp[œJR¡sj©Mbµ'Kiê–‚zÂ'|¢ö?ޱ endstream endobj 360 0 obj << /Filter /FlateDecode /Length 202 >> stream xœ]P1Â0 ÜóŠü n¡d©²ÀÂBÀÒÄAH£´ø=ŽÛ20ÜI—ó)>WÇóéÃ$«[ì'éCtÇaÎe¯EÝHì´*fû6ITÇ‹IÏOBIè}5o¬îû=ðS½„ìàpLÆb6ñ…¢Ð÷Z`t–Z½_'§Ä¢k)X@L²Ñ ’M‘;Í ¹#y°š@,:EŽbWWµšA²åM¶?ËR¥ÞÖFÚ9gŒ߀;–j!âïLiH%% â UTf·endstream endobj 361 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 828 >> stream xœ]RmHSa~ïÝîuÙ2Ó¦“¾®$d„23‚,#Ò4gÚt[‹å–¦kË›ÚfêÌeIÑ[¦4s¥Â¦ ¦ö•þÈhlX;k}EýèÜq‰º#úÓápàžó<‡C 1‰‚˜µ¡@m¨¬IS¤l4ZLUÖ²ð0‰›CpsInž[CÆP …¥",_ ùc thg†h$"]9›Åî©«6•Wìe–*é))B]Á똵©ŒÒ°ÃÌÖÖ˜MŒ¡²”Q¦¤2…l­041Él%c,«0Xv2ìNFS¶™Ñª×«™ÜâZ•zqêÿ¢þõ¡ˆ«ªXmIAHƒ6¡4”Ž–¡…$‚$Fѱ€h&#ÈEd> Gý&š´Èq~ÜŒë“ºÉøØ·\<Ì–uúvŸ?Új¾PÕ®wêNmïèsÝ~ˆ]x{™úïÊ·ö•žÜŒ«1ŸˆY>þÀÙ½¯ßê>ìu\8äkrl²ç¬Âvœõ—:«rå clKb£{° ]ê;{Ù9"‰úMŠ‘ÃÇ%Õõ¶<q¹qŸ9•Iò# kò+òqB6>Úï Ày&ÍOÙ³\ú×8Á‹wÐË’ýSÈmƒ«ã0ê'¸AQ(‹sÈyôDŠ8H)©5 /R E ¹=|;ôÄǺ!ZYç8Å÷бަ"*ÊêáTÝ ótyè‰ÈÓçGŠ5¬tšï˜Ç[…ìh•Jú­µ{öendstream endobj 362 0 obj << /Filter /FlateDecode /Length 194 >> stream xœ]Á †ï<o0æÜŒ‰á¢—4F},Åpƾ½¥Ûàï_âK—$ÄÐÿcBendstream endobj 363 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 854 >> stream xœm‘kLSgÇßÓ˱`åV+Ùv‚Ù°Ìš%×&(`¨U# ZJ…ŽÚã(4@/€{ÚÓP ¨Kµ›7""cqÇËEŒ»d¶}0Y‰Yø´™˜çèk¢§3Yf²/ï‡ç}óûýÿÏË•‚0 ³jguØæÞî8ì,7”Ö6ºœGÛ©›µÒjF*THï(!$ùŸW©A«­êê eÉF{&Ög%Ãìuy+ù#ÞcÎæ–6îƒaCi©|~Ä5z¹Š2®Êfoå=Ç[œÍÝÄU•U—q5¼G:¹ÞÍ5:Zl®CˆÛíØÇYÌŸÖ™9S]­e—ùý²ÿMöÖ¶Ùì§‹ © Û‰‘T‘j²L®FT„'¯˜væ±¢RчS¯˜~ ÍâE4{r°Ù xJÌÕ-á3ÌÐÞQ[Y¿ÅoioqC~Ä g¾ÃÉ<\Á‹jº‚Õ}8‰fùM÷&+e‹BÍyºñl½è¥ä·Ž‡ÿ+Ìþ8:¯‘UO IhL`é4#užÓ gý‘Þ°UN Éitå}¹´ã.̈́πæè.˜ì¼p%›šô$’Ñ‘Èe˜‡D}Iöеƒô½zo‘oóbë/pÄ+—®vø÷<Í{Æ zNC7!«÷m4¶»¡º¾š9ƒ ,»Iå¹yT®.eÎ2X+Ç0[)™0M9åƒ>è†/B=½žÖŸ@3ð_õ^ë¹»>|ct!‰YBâ'Nö|]mšÿ&o¼°M.ņ6Ê£%¿oÅtÀB¸…ªH> stream xœ­\Y$Çq~Ÿ¿`ZèÅ5Æv¹òΤá™K\†ÓŹXd÷ôª«—»ë_ Ÿ­ˆÈÌ꼪§ghìÃVWå_œ9¹zv=à¿ðÿÝîj¸~ºúË£·×á¿»Ýõ¿Þ^ýÓŸ%¾éÝàØõíã•ï®-»6ÊôN¨ëÛÝUÇåÍíOÐØÊ¬±5½VØåöþêºo·7›¡”eVÛîóûéóÍFуíþëÆòÞY!º¬ÑažöÏØ >jÑñ›ÿ½ýcµ¨Mœh#ToµöÓí¦ÏÇ78”0lpÝ! ì ÞÍajƺOÓñGÿËiÞÝ¥­ö»7®{§8üxÆONXË9¬9ƒ¥?ßpÓÂuÇ8f7c78)X¾Ÿ»ôÇôU²¼»ÐÙt»½ïl•îî“Ù@Ûùtvûǰ|Éò ¶ã<‡³:=1.l¯˜ô”é~ûíwÿýþ›ßzæG+a0(ØõØ–f{=¨ë Ó½ Ä%ú9×í퇞 ÅÃHÛ‡Ï@Ÿï»ïoZ³* £\øf|¦C–ÃðÉ4§a½5ƒ ÓÀ¾§ãê, ì4MvrhY@88thñ1ƒæ‚wÛtn n@Ìu?#©œ„&¢ûôc2ÚäÛpgºýÀ:އ‡Ð^ë y!¬ Æ_mÒÙüýsÒaµ³çpͱ¸CAu]º“‘ Fw¿Üà L,g+ÿÁO® að?4ך›î9œ€Ýtn!…SuÇLx²F‹l˜´¸x`XÑ+éxÎUÜ ºl„dp<*;„éï2Ì8´ÖÂ4 ö:î²ÇôŒ"oð|Ž9vfÝhƒ”“¨šÍ¶kÌ-qîµ­ƒ´n¤v0p÷í”RyÂ.Br8· ’~¸ù´1Â|ˆÌ=}±ëýY–9Eià®ã¿d+|z‡­$r}ÆŸù<åÎÃÀ,R¶âiddPYß]ÝþãIâÕ²OQf>Žáˆ…EòtÁRU÷!åùÃXP;g–»IèO^(`Ó?QÉA‚ü$@ÒùcF­ñ‡äçvé".ÆŽªÁІjðCÁ”)Ÿü{ì’1ð4‡±ƒˆf³GRë4 üqœŽc;„…¡6ÉáÅ—ÓbÆÓA¶å7tiÊ/PõxYä.2Çc‡ý.Ø NžŽ½˜lE=k„Þ¨)¤)Ì`sFøeÚÌEš1a\¢Z¾à€ÈNnÁ‰KüZœ‚¶v[œ6M¨T·§h„IÑFÈ`®5t‹G³ŒüÈÕ$=!O_¾–„`¹ *zXнÞpÙ+éú¿¶4”é~ŸÔû8~7nŸö‡)ë³;•ƒÅ˜Q$]äâfEêùœ§œ€ìJõm±ÝDiÜp;ýf±è”–âª×ÅH‡@.‡Ù÷ANõf <—ÖÙ2®j‰J°V—Ip˜àF‚0¿Â 3†@÷r7¬¼\Á>‡eÀi¤‹ÞC{Pî®Ñ¬š¯ÏTœ)aØn»©>“ nïÃ@æìCaE³Û/q…€€ ¹%ÞKn  ×Ñ‹˜¸îýfÎm±ѽg¥3éYšŒáxä'â+¥4èîýä)kxêÞ_ì•yÝÇÃë@‘ *‰°ÊQ }íÿŒ"'wÆÚQd"äwMÓ3Cšk7þ|±·Š€ƒVÁ„gpDÛyO=×f>Þ V~œW“vÂg<ŽKIljØkLG­Ž¡÷ /'nÜžQFot¦=ýcÆ!¨$¢.¨…0Ó{ź¹XƒøJD %£3 *|Ü~¬O~ái?ϲîi `̱y|L‹ÞÂæB¼,„¯š3Xø®KTiPVÀØ?½ 6ž?ŽïÚ±†Ža ÷ÓÝzh‹á^¦a8@—aòab¦Ê|ˆç¶ ŸNm¿E¤è; `#³°S Ú¤Nú©Èt!mªÁ67 xWDkà§œ-OÜ”s2®…“±=¦nÏ áJ¥zml$êááL´Rœƒ;KRH¤…€ªËɘÉÑŽ ´¨‡(ý²ã´[Ü‹¸ßT^¤í­wG<µo²ò-ãšÇû BI VÒ‘Ü!¦±ßdë[Ï0 ,~«D?Sªî“ˆßþ° Aˆhô–¼å€Ö²#H¾À[ªg¶f­Ëñ`±§í5ch˜poNSlþz#€ë†”^ ÊY÷ Y¯‚ùØÓþùáù†~„˜¥QŸ˜ižàÊ„æ ÔýÃÝôš£F’2ܑƆG„y »¿€WÂzøË¡k²¨lG Ÿ@6ÉOaNÐéãó}üÑÝíŸi ÒÁ¼ °G¿J¦Üi•²û@6þñá´m%ƒøÐk‹ÞFüœ#ÔéžkI^ J1EmZ¦#~C3eÍÄöI ¦Ö›Xô A†¬û›˜øe:cÔùÎúœ”S É+¹¦ÝÓ÷Uø—{übø×oH‘ߤ˜¤Àí¾{¿lOêÇ3Ê}§gO*.TQõÌç6/k“ˆ\‹~dWÌ•Y \i¤+pUc,mPW Þš,c¦jÐì-ÝJz/ùj~);òßä®a+˜'¼â¥e0UEDhW²ŽˆP{™µÓ¼fɆ¼«Ì®QÓ3œ€œöé®Òu§³0­Pt d}bòÏOÛÝ#bë?T²nL/•XÌœ<Û3vƒynáÆ3ö ƒbpÙÔqŽX¤lh‡kA€£¦k›ál@çLžÒ“qwkZ¿Øaæ*Íç™ñçv»÷~å» AÀQ Å›âEžÏ·¾Ã¼ÝS°Òhr`>e("@Í—käb"œµ®¼+mÐŽhR€úN»4¡'ÛVÈÞAöM¿… :UœI}hÐyóôôÆ™e.{p¯Ëìëdå-eÑrtlþ;´~´ ôÌ“@+ßâ¿4º,©‘ä€À£Óš“:•š‚K$Ê4N¥“€ù9øæ?†}”´`ê{=·+RƒÔL!Ô/8Ó?Ó¼—;ïÔ`ø´g¯Ù)·@a­Y¶¥ Zù]¨–[5Ö<ä<ÝTÓ ^cY‰çCÉ+ДÄÚßÅt0IŸm9Z‡ ¸¿@e¢ÇúožoÁ¬ËÚp¬šYLÓ¹¡Út¿ïVFU½QƆQY•ók—šh.fAvÚaƒóþ)H™Íàæ]§ ÿ9 ™O+{+í7óÇÖ`º—Všèì­ãx4Úÿ½µz‰ûDsõÅéáòGÒ–+®[Ï%g.­¢©‡ƒiϘ΂ãÏ`ÙÜ?‚«òq;¶ôVª.@9p‘!Ï€{•Ç´>væä@ðüõGm)½!¸ö{mâµ6½°Ö´ëtBäˆÉD KøD3·B›P¦0çv‹žBPÁŸ˜+ÁÁïßÕf ¯ùkêÚùtVÖS˜C4VÂæ{k©Ÿ—ÙóñXj„¥P/ÅcÁð¥Â«0•eÖ²“«̪ô=V_Ðbs®@7ö~ed0®ßæxƒ ³ ­“ë+A|ÌHH•Ô¢ñ¦óìÛFñø)§¬ARÒªÃy®W\á¼µXžæ=çjQ©¥ýLÓªÞ÷(p°-âj÷íUS¿»ª zÿr3†æ]¯z^¥±òxÿ7Ì0°OËaj–…A»Àøðÿ±ªï+é$9…^vUz¡>[_œEzÖb¦(AgEˆSUàŒ·Ô勪r•fJz:˸ÉÍï ¹óåéƹ0¢VŠ5ÙÈOĹÞPÄY©-œ[™ ë±½&‹&=à·Ôoc 3wÚ¥s°´÷Ç\oL¾û*á¬c}­@QQì…uß¾=â*•Y)CgJ§”>Ý¥Àg^ÀÒj¼„ʵ.úq/¥›%,l eh^Ùª¤†ô#nØRAm@Û|˜qûåÿV-ãe޳òïf‹±´ DïÁ™› fè,un ôÉ%µZ~¯U Ì'úŒs¤ˆl‡z­ë…(+PBjR,gsŒÆº˜7Ü@p¾¨ GÅìeë=—>Å¡dWT÷’ÃãÏãSAr}6“sQðc2êZfñÖAØ4VñŠ©ž£1Ó½ž(Î[v‡×VÊ»›'`:MR²y9‚]~+!ÂIøÆ:æáá?Šr“èg-‚â혔ÀçÅúkR^Ý+‹Lðˆ_ŠLÚ†.$0”]zù”–äïÀ`GŸìZÌ“íèíë˜ÑÝÊmä¬ý"wû¸¢àŒí-;Ý(Ë0ââÓ÷iòŒÊ(î-¶–ªUÏ´ŒŠø|ÁÞ\~× š¢‘©‡åNôÙ¢\Ø—J²é+·X:®Üæ wVfUk%8oyŒqM@¤ü’FäKBüaC=Þ9K¤¾PÛ×cN¢©‡“•Plö21 £{2UÜŽ/#XŽ=èÓ_ÿá›|±nÓÔmˆGâÓ>¸2¬{¼ž§9êmc¼_š·›×­¥R;­Fæ…5´wøøÿr£¥Z{#ìúéÝ¥L±î-ÉûJSuÝ–ZåET¨Qûk‹ýðÂEÒs‰E!_~xJã¤y9Z8Û!¤é¹ýãyÁg; ó‹{ÁêejíI鋹¾½±Òfœ΢QÇxØí#Ÿø¯ïâ.¹¿T"È¡­ªšð=Z'tI„JAm‰#Y\ùͦiÝ~¹“ •;c²Š#èç冀ðWÌN·}[7T´3Å{ÃMa¶âYÞÈ~Z÷¬MμW— Ë™,"€Ía¬Yú‹9u ›Þ+vqªÜߣñõôÜœ8æÙ`£¿è"ÖQ¡Nº Dù}°üBýÅïä“Ìñ‚Ô_â¢XüJËSk{+ ‰VÏ«}3Õ©˜U?ÑdøyS6ÏíŸûØ}ÏêœË F›uH¾³4É’JÕùB××üÉ\ óÔwž^E}ôREQ€J¾3u2ä9!М&\™o8‡=Ev\N—GQ‘I4Æö:ö7«` QWSxHÒbit4O‹I²º¦PúÕiJ4o—ìÞ—‰b £4þÏ•”†ËÒŠò¼[‚ä “9Ô«´>»²6ÇÅÕ¨jñ™îà‡BÞÑ¿* ólüþP<†1—Dpõg7pš¿.õÒˆ0Ò”ñY$þïo¯þþý O÷× endstream endobj 365 0 obj << /Filter /FlateDecode /Length 4442 >> stream xœ¥[Kä¶¾Ïo0‚Á^¬¶ñ)Ê·ØX'N¼@l‚³9Èóè•·{z-i_þí9¤ªHJ$EõôìbÓ­æ£XU¬úê¡ß/«’]Vøçþß.ªËÝÅ^º7‡Ëo¯.þò³‘ð¤lª†]^Ý_Ø)ì’sSrÃ.kU—P—W‡‹ëâۻͶ*+e˜Ñ¦Çîaƒ_Eͪ¦h7[!DY1^ü­ÿ_ðƒ¤iLñɲªtñýÆà¦‹¾‹Ö½ æöÝ͆¼©‹×vƒFÈâÇhB7„ƒ¦Éÿ½úOVáñx#Êš5pīۋ‚«ÍÕo[)ÙåV¨Òh¯‹Ñ®" oš¶Š•U]ôn×FÀÎÅ¡Ž}Ùáާ+nÂ9Çý»`Ôá!ØfpÛ0UÜý¼Ôn" Î2ãÒ1ŒíÃ$YI`óhg4 †·¡Üúöàfe4FÌí7HSÚRˆ”ˆb<âg`kcBŽƒ€ªªÖÅ{Ú¶bb"Tqw0;ô] û½#­ápXVÎë‰[vpË 1mxÊ7åf+P£Š¿- ‚, Àöè@ïIW.âÇ=ª¦Rð‹ŽÝ Ô$&J%~yõãÅÕŸ¯ùVFo7[\Rít×>nÇ…N0DŠÂé«L¸у2¾3íš`@õ#D‘0 q¤ÿpX^tGŽfÅqº_ƒ öwnÈ‚DHôÔñÆÃØÚÑï#[?P=EÓˆº(©êT¯Hкª ÷us$*Š‘<¦SÔ²h÷û£eMÝòün@äJžJ~G±¢,߆B›oƒeñ}ëoå2ד³ƒö•ñÝoã•vG´mÁ¹Û½[ºRH°Fij §kSÎsJ«šÀ`¥'Õà Û{¢jĚؤuýP@¸RA‡n×ɪ%ÝÍãCbqñš!ÝÎv}º—ú¬õAïúî£ýŽŽÁÒ)éΜR½>´ªÑÀ1ñ,v9%c•ŠÓLg,.>WÀÙðÄCd={R¬Ôq0XŠx·EËÖ4’ѽ­éf;íTõÉM°v&DÏÛôT‰Ë3&tyRÀg¥œËû'z¼Ô+ný˜-Y9˜oÝ`篂©¥H5Ç`1ÚPnÝs CB»Ø Õå=©xŠW´[¨{÷øÿGxþXzÇyFêܪþ…? #¾ î]%¢O(wzh%ÔT‰„þŠá3“”spË‚— OFm““$0¤¬„8%IÆKÚf‡\'ÄzÏ#âdéÓ\kðºŸècVM=Vy™˜øC·ºK¢´`ªY©ã4ý,Ò?tkÝ+BÙmbŠm UpØÂ3+ôCð®œZ ;ŽÖF6ÅËí0®z"@Ü :È8#Z@ƒë½·Ÿ©cþZ"$y䧉(} 6ܺ•vÂ/'i)ż eÐ}µIoÑ$ˬŒ ¤-@‡öcwèþˆíR{BMhO¬kB-R†[€l |˜°ïÞ2vß…3¼kñŸPIoýêÖsà‚ ÑÓmf'ê´ïcÄw” Mð¢Xr±¸%€£–`¬LQÒ#·.² H´BàÂQ[b_NRžíwÃâÛØŽm|ªqðš¥7“Š8ž(H;OÖ(µéw™åОK>âx°¨„¡‚(RtË#ôPµU B¬‰[ˆÁ„/ÑpºÉ,¢@àÖ=G´ùìï'žxË€¾âÐí^ Z4! )[c(1‹õæÎ1P"|ò€Ý?Ô°S8$à¢Æ%¦;8köä²"rÛä¾Ò%u|çu%­â#œµ(C:–å+©×øšÇÒ¥ssÜCÂч¡“‘› Yr¸ªª(ºùîøps,E`,œ…hºï3&L6Ö㢠yëÃVМãè¾;öŽ­ˆ]K¢˜:’H·ïF›´`ýÉmešn‰vªÜgt1ó§ûÞ¤iâ'3ùh>Æ_~4*BS1 ýZÇ_íÍü¥”dD0;Pá¹b˜@yñ‡bkƒ„ÔBžÂÆ%Q¢jJ˜J/f”¸‚sìãðMÞ„ƒifŠ’MÅ=Èåk4Þ"ŠAë’™)ý&8LÎÃTÅJ;—ðWë â-Anô+Þ¿{¸±Rq›zU||î¿™âÓóù—²,_m6¹}Á­—¬a~ÑX)Æ0ñÜŸJóóõ2%aNN>f q²ö`5ÊvÇ:ê„`& >h “1”5¡‹\,‚¨n” ´Ï&l-Ä¥]aÁSR=.¼8@¬0ª&f„ö,´ò}&ÿºVòEæi¡Éw)^_úŒ«Öa65št(³Ú‹W"ÛË-è@CÒ¹þõØ¢H‘áhZ¨&Ñd²}+š,+.ÑdàÜÓ™=¢È7úEß%&,R8ºßC2;ij›ø à®c¡Ê j sid]¬9!Yj]óX|÷Çþðnßæ„(aŸQžfà{½ È&ཟ/JTigXV¥-¤´fãœ¯ÙØ¯K§o« _æô§”â)Sê%8eŠÎ¹}˜já2Â{˜•ÌÁ=Ž?S|Á¼ÙàÍà&Nµ}ÝÅ‘4QIð‡dÜc‡±ÏÞÅê?‡èBôÝjâ}ºØ”Fíç¦Vl ç ð¹×+‘”Ã’n-¼áÌcœ=ZÔÅœ&<[a²dËÊ‹¥ºØk [u;†ëá„èk0Ql¤¹ÜN±.]ÐA9tqEXåÃÆ#E =UºÈõ'8- èÓØðê†3VQÊTo›ò²ÑÙ0Ñnqªç£J T|ÕªÚg£"UÙ¢%Í”<ÉÙ|)ç÷݉Ò=MÆ*@ëiÌ8­™´ÃÈ{€ íV`®úæø€u¨ñU ÿë¥Iaæâ;ª½d‚©U¶Ïë¬Ö¸K4TÑŒ* yÖz €ޯâTX¨Ó½dœJºˆ§ñm¢U?G³ìµ$Ñó4'Ø-÷–Å?"wò™SlAwÚ gëRi(¡Ã”U ³œû8àŠ©5ËP¤ØwÔng\qÙ«»T'Õ=«^à”¸/s‚²€ÍR°ŒÇƒC€xóí탥 t!AÑDz˲=09Z5,Wñú©´N¹ŽÈŽ&aGjÇÌ •ÏFŸYYÚ Õ€ãI@û³Ðl¥ ©lâhÖ›ëЛaJ&= §LÊÇ ÍŒ ,÷x)Ì”Šñf=Þj(8\ò·¢,4iŽÑëíP]Ü·a;©D%)¼b«Ri*ÞïîsÔ£åQõœñJ‚~¤ïþNâî §Ó§t.ÉãZ²ÒþÞÐ#n›W¼”š%‚¯–ÞÖ–Ô¦6.ú挳q ZKªI¤0^V5åfRSã,[ÖÔÈÊFVÎÔÐ׿ µZ;ß{Wø‚­Œ§YIS$;]”£³@dÕø]+3||Óo.=h®#ef¬¬õ"=Ð …õ±»1›7ãàß+_N(^¨e/®.~º°¯8¨Ë~ýÕ†$ç^môáÊs©JÄ}µáßTÙ7B¤é—ਧ}’gzê“*E¯,üܽ]þÉé£dDXdÂ8¸ÄàÌO=,«8¥œÁ(•®+쵋•⾋-§ì4K¾eö1è¿ø~Ó`œ.æ]?¾¾ë}.šijÈЪxÝ>ìB6€}Ø}W‹^0ŒFDlk£Î$N4ÛOÆÑFgúɵõç¡ÝxpB„uìª*ÓL«Ö®aq÷ËyrT‰ð¹-ûk%©Œb­³´¡"6ëçAoøúDlôèèèâªûä—K^Û¨‘~I<>Å4ö0÷= ¹‚4¾LÀ]V6nCHJƾÚ*’Þ,†Qb¸qk!:Xvjª7ß%u ¿uz÷ü’¿ÁÑF/Ï‹fc‰Á/ol5ŸÆ³ï3®A™PYc{Pq~F¯ìѰû1i>kǨ„ýH-,†J`.:Åv:O0Kß¡Ç:©ØtþP¦q=gÓú¾!,ò{]ƒ“í뢽·éñéóÔâÞ­‰ü-+šššbp€ÁbÞpôSm¼C²G€~Ô·~¿è𵤪¨õ댺¨u÷÷jde{5ÞÆãÆÇ,Æ&kП}÷âe¢Á(á‘Àš\I‰—ŠûêOñì—3VºŽŽ0'+ßnòò¸å<„;Ø}¬l‡,ÂAb´ZÞU‡ŽåÍwBÁîZ¿J¦*Q…E˜¤)óI½DóÝý§ì+ ‚vl#ˆÁYÛïÞú·:Z+ûF,xQïÝg%ödšš£ (ÜÂÿ±?î³’«yYO'»¶Mî°ßÖLÃM˜xÑËJ›À%ó~ãò싲¦ðh=0ß½vƒD&¯mHxÂ2ÒT³êÒ´U…eJ;Zcç?ï"´³j*{ <´íÉ‹ìÄèz”(Í¢#ηÏVt!$½µ&FËŠC%˜"MÉß(ŸÐPr /"}nÌjAëwñÚÔ¤MäÔ™œ>_«±[ìܦÉûš½Ç3u’ZYè£âò´·5ËøË¿ÀúÉ,ζf:÷âí½CÒѽ(px£E"÷μËêùôËlÍ_#^Î3óúè9Õ%½êQãTzÿe%¨AÊÆ0¢J^fòð4\R¯ëì{ì\¬ãŸ=Ø÷S(臊A¬·õo>Té+«û¸“të+Åäê-`¤H‘¡²b­ìˆÃaêŸ ©´g•4®·nÏ4ÐÁʼnÆí$"O¸¥Soœ'eI{›_¡¹Y/#~ì“®^­ðxƒ êr©”Sº,†=Q4B°api ¸íš 7=3áCˆ‰ïá„iߤü³2¹~™»Ã}‘KÞâë'vª~Ê«-þh*mâŽPÓò•¢†-s7öì²_C^vN °Å{DÍ¢¸ï,-%ŠéM†ô½å~3½k¹ È ÛMŒ«o;PLýÓÅÿŒ— endstream endobj 366 0 obj << /Filter /FlateDecode /Length 5786 >> stream xœ¥\KsäFrö™ÁÚ ÆžÐ‹z¢à›dI»¶5Ž]-áÐCAêfk»{Òö?ðÉç£ ¨šMNÌaš@=²²²2¿|þ~ݵâºÃþÿ7»«îúáêïW‚ž^ûÿÞ쮿¼½úãwNÓvèq}ûöŠ»ˆk)]+¸îMßÊ\ßo¾¼ßÜtmgœpÖ5§Óô¸Á?U/º¡77J©¶²ùÓáÿ¢ÜÈ Ú¹æsl¤Û®³Í7‡?„mS2î]Ô÷0½ÙH @}ó#O0(Ý|›t˜Žq£¹óßþ,Owñòä Ú^ °ÄÛ»«Fö›ÛŸ®n´×7Ê´ÎZ|ü}󯛉Séæ/`D§€ôýt¿cæ$}¶G¼™N¾#ù&n0΋€JÐ ƒH‚U¼†>%cÏ´¸&{¾ôHæÚ¿KöæêtŸ k†±À5 Ë"2«šo¡':ZÍéÇtíD·ÑÍ>æù‘§°ÒZÙ7‡÷$®Ï˜u6ÏyêÔÐÄ$ïh×…îSNE´oPº„jäõí·W·ÿô=rÄVa†æ7ߺװ¤d¯û#7C1˜è·¡ßñò¦þK;9 Yì1#Ü÷—f×6íðñ^ƒÒÙ"’-;UÎ ŸÙvsc:`G§›/åÀ¢éã)fJ0­¤×͇éôãBÌ ˜Ù| ŽvÊ4û°â>“™Òi{°ûÇ59÷ûeûæø(Dóáǵö3]°™ù¨ÔÛ¤œç‘Íî>?@¼&7o/½ 96Jál{ ”†7±Ðá³°8+I¤p™N“[<©ø“ý»ó]5løÞÿkøéÄpF+„ö}s| +LEkç*e<°ïZ ˜À6·«ì=†%ñ =¢sᄋǽÿK˜&Uˆo#qLw—•ˆBÍ|‚•,|2´¡4jwnÛneý;lìÑúŸ¢†ÑójAé>±Z^Òëy_Ãü‹¦ Bó6Ú#4+J¤ûÒ=ÂQY&ÜÆ£â@_ß^ýõŠ€¹>¬[þÔ4Ë/t×öÎ]['Z-¥·üÿ«š˜UÀ7ä•UxòðyPN¶ù*µê'ÏûÐÑUÍß#‚5:=’ÛñtÚÑžÄÌSöÍ«UëoP¢þ'9á,PucÚžw=þ}:øÃç"¦rUc¸3"1 Ã&Ú¢çîV¢•J¦{ózƒ'uÐ$í_™P‘˜ÂuòÆíô[ÜrÃ¥É+k¶ÓªöÉÈ¡¥ê ÄgšøðèÃF š^7ãë§eP…Ï~ÄÞϸ›¶¿ú. å ¤Óoë†:¨gP4÷óˆ„IÁ§bЧDOÞU|N11¸±Ú Á`†ˆJKÞÈkTh¿ºÁÁ_›¤ž27C)¨MŒ/ÆÃ˜žÓSò×¹£˜¹äáoSè YÛTÁ?¥õÌ¿hÝ¢2Ð ê4ü@ÛxNo,oÐ`Â’”;Á-Z‡nŽ“GXŒV¶é&O§Ù=üÕ÷q¦,be3­cµÌ¿˜=Ñ[`´h‘w›µ^G?L•š Óú&w†xµ²—+y¨ vQušB¥Rç7è£ * †,Óо :l8n®•gÂm²É‡#òÆSÇ¿ûä¯ C\ÄèÎ.aÅÎ=ÁQø"[‚dN`EŠÿ8.,ãsÈîôª^MÄj•ˆè‰´`@€]7sXâ}vÉq[tФ%¬œÂCš N™R)J@¶á4‡Ó¥…uØj@³Eî˜ÊH4äeé•{¿ “x-ï"ĺڕQ ³#éð—Y“C©x,pxÞ:Áؽ욯b²Sœ |ð3v¥W¦¥aó)óSÉpîL^/®Èе¾ŽÜŸW30·ûÔ¨ƒÂ@KâY;ÝÜèÁ› gãcèºÖÌ y»¥óú½­Ê™5¶U0p8¶‰\ýcáËæ ÍH²[L©Ît^Â<Í›dêR}g×—B ,)Y<6@¯t½aTŽð㊇DT_jŽˆ(Ç“ ¢?zyNÌpêns‘¡ºó‹Op=$ðè©3j-7ÞœA7‡)âD¯ì‰ÈÄãF#j°¡ÇÖd¹›lMRt>¤¤É­ ^wŠÂ¯9¤ÙqУEkËI!¾ôs ¬râˆ4•Ú‰"Õs¡r±ôàÃQ´ðÁ=L" Âu˜õ·&cùâÓ×@AÅŸx½ù<¤©†ˆ/¢©–Ôø‚qü'ùÒgv±&†ó–n‚jÅ  +'¥—Ç]áœ,‰e´sY­,„4øÞ"I]Fî6~!ëN=7¥Ò`ú+Ñ5|°òÕÍñ”m"½Ci dçûoÒ ŠíPVS€jÕu‚Nc,@˜™ š_è JÂ}©ó«LÅI\µF5yHßCu™|€ê‚ ¼ê¨ цíe„6sÎ ç “«½ªIlbÝã°)Ow^ÆBÖCà\Áé¾óÄÏ Á-QI¦8³¶–Ü.´?á1aöeö§È$f ³´Å$ï7¤´Í8mÇ8:»v VûC3`àVô3üá›oÿëÕwÛÝjÁŠVZ9C†¢¸‡V¯ÖJVÈ”énhµÒ™)KÕüMœ]Ë+’ýÓ½°:€Ÿ¸Ö…œJ-3A aƒÜü² jg#pî ¹Cøb†Ïä“ÂB¿™VxŸž—dßõ×pèZ¡)ëÚ ¼0‹°¶dÀ–JÑ€`z“ºÎ·9Œ¥{.-¡ö]æò«âXÕJ”X&›Ö¤²W­…¤’€¢(°JÒg‰&_‚"Ï'åÜ)sˆk2mó1¯S[Æ=ã©Õ-„iûÎ^zÝìp£Ò‚Îý¡\rŽp+\¡¿#iÆ`æ.W(ÔºŸãS–9 M h¥zÌçì¨>.Bü,­s™ž¤ÎB'¥*‡ýnµ¯ð‹ábÇÚ—^U#±Û é„Ç{/öYy ÔQoýoáæš˜H8ŸÎ^|6@P:%ª›=!¦¾RÛˆ,ëe±ª€z.‰%x÷E×Zk¼´8—Ò×'Æc¯;]€pªc±*ÙûwÅaN¢z^¶Š’’œ³½l…3¡2waìš ía¢XíPÝ‹«WÒ-ùX,ãíMŬÈÇÉÖ>n·ue9Ù‹ÓÔÆª×ß·r.?þ¾™ëvTQaÇœ©$sRš«{"3HÏùà{}Tä …ó8(ìç®åo$ qR Tß»DLBN]©%§î­}z[rêµtsˆ¥+ë£ÒŒAžª»I‡W ÷FÛ á|; ÝK®)£p·®ø>Y0†ÉÝ £7ž¤¤†žR„t×"b†SÓÃjUPÄ“2ï Ê¸X²Œì\æ5ÍÞB©Þ4?­•t»ÂØÚ§x$¡Ò$œ´ ³0lu`!+@Æ'zl’èI™J"‘«á¦äKc–ähŒö˘ "'î£yï眦R¨òti*ly*;Ɖ…°8^v‘cž®¶ž–w¹õ¦qý͉g\n å_ÐWGÿðùÑ«ªÑ RÎ>ÁY#£:Ûª€ÝP[?ÜŸ^íïî·LìšÚB¶ çsŽå©èWÖ)Eh‰c•G %ŰÊ\¨”œ }«!2¢ütÀ'ƒ·:;«pguÉœaó¼þiÅYW¥5Â\„‘ÍÐÚÁΖîòÒpÉ ’ª¶‘%C–5Otmj£‹â+Äâ‡PYóë2A¸ˆ¥Ù÷o„^²ÃW€»ÂðºüÇýÇÓ«ûÓû»5DkU(ïúi´ºàÞ§8í«XhyD.µ‹À8ºmÓ|=~…}Í}-çQ]—Ô­šÝ@ØìÃýnÿþþ_ö»_ö÷§õÃÒ·¶×12#’r8 Œ*öËqczËô"žÉ«/h,“Ýmz~õ,ó.&.UÙ!JÊå&uµÛ pN6ïœ,!Ÿ‰a.k³-“ЊCÀ—VLSÅ[gê¶ŠÔ¸TΩ eÁuzJËÂãŸÃoýª,ñµmeˆiÕÍY.ö,e†­T¶¿m|E]_^Ë¡Ê?8Íõ‚²Gߨäì’m»–XŠËŽgÎR, ‡yåü».&öåçáÞTÒ˜]^³ÔwÍšUxqIÚ".T¾qrÒ+3&6« ËͰª'AŸ ¹ÌzÄ~ÒhR84¦;]ÕìM(ás4Qò!Ôq£*}llòØe”¡{¢Þ µ”Ôȇ¹8´€sªañœ²Nçøù©˜ÿAZz`<ÅcSÀo eדNE€Š;˵[þ¨¥;Lníù"Ps¦Fî¶¡k0—f;=Ye®œž}‰eˆá^ZeFã*†úôz??âV@Wr×2«=¡^©¿ ÍS}ñ‚è¬ÕAø£*ô㸇 8›/ô!)„š#Ô“qk¥a¢RHåL‘+´5"eÏ™ü >óØ›t“ž¨CF×S`KƒL¸t }„ŒÃ^èz› @Įڤ V'E2r$Ât?¡{ðG*ÛãR£O.ÄЄÜK-57¯Â‰훸\ó‚ÑR|¦ŠÍø2BåáÅ‹vEއ“¥³F¼QemeÜq=“\Æ•hN€B¾¶ØÏTTŽÑwU4F®$t¦•Fe&Ê›JʸÕ'è4<ÇRZ£Êýª«°Zœí»@G¾4‚Îý©%D\0÷ƒùmÀöçËæEËt9üZdržÙz­f0qýìä¼(é.©ëA­2×ê< Ú{­E*Í.z˜#l«É Ub¶ó-U~P‚qæÚ›¬Tð)·I’[¹G¨ÕeW§ŽÕ,ËßâðØnÚÒEá¾#л"›>+·GßYq:r¨|g–Rž8roÖ!Êz9êñ8~õ#Í©”¾£jäZ=H\­6ÐVìCg™ùVøÐÚ²„(7*é¹ê€Õ=œ®•CÀF‡û·Ój4Wc¶W̩܆U—a0dÁ¥IYÆ©”}pƒæàQª9‹º¨ž¥ø²Â3jmeqDtÏ™ßâ–¦/-Þ•ÜUL²·´¼¡ßô|R‘×:c/Ú´%ÏÐaìÐâÔù«KÕò ÑJ×…¶ÿå4­9$„]’Vr­ƒ¸©Ã¦9gÓz³žõP›òêR¶}®-±Üì¹ÒôCþYÅW%ãó§cæLw–Ce¢1y´DS.á÷Ñã>½8ý5£\ (”A–ÁEðùè.n8$è,Ьü¢`“o$/ÙýÒ±3_vùÍçÙÿø’îáµ1’«­Z0i"˜„¯ñÃGÛûÆÊÓ¬Ûn0i¦5ÞØ|ð•+ª£{ÿ¨Æ»Ãôþ>ˆ^vi¤‹k™}þ\ß0:ç…sS2ëÎÐ&EÅ:Ë5d®qíð>HîR?—Û°Ç0`^7ØqüøláõÔáŽßä©mi8y íÙ«ä_Î: œ;ŽÔ¥7üÆ^l/€F¿’2»Bô÷iùéxk_ì«Ô‡ë©7 UÖ|â×µ¤j`OPÇðÎ\ðu­R3k“YèN/™öû3ÓpTDŸÖ²¼°bY ¶U€:#²›×MTýÒÒj@"@_<.}$늫¥l$§¦od g™²ÖÎáçu.0ù5ñªY4m0Öw»·§êÅpÀµ“Õ"Г‚ŸxôÔÿ-’Á'ïÁ„»?Ž?!‘ ¾1$èJvi|GŸc Ó®žº(ÎDu~Ì,ȉ›‰¯;Vbi»i¿Ý?LYäœ>Jô1ùŽQLë¯ØÈ‘Z+æ;Q‰–}¿1¨Û$^5‰ÝZÿíËðW ø·¦.à.LÉü6»býpwá¥Så5KOÔ!Ó‘9Ô`ªÒ¨Z~‰–˜“4ÂWuÃ'"yH$ËK$U¢§,2ëY³Û—š)KÁù¯ò°Ç)Þš¯Eí±ºfPgj¦m,*©wúè;ÏÅKq-úÀß-á‰e<ÄpnnƒÕQéVŒ4 ¹ˆ”¼ÅV $Òo o÷þ ˆÝŸ÷‡ôsX¾^Ûb4ãÞ¦ñcL_Ƥá´åoø©ŽX‘ë'êèE÷µp“]frDj:R¿ª> stream xœ­ZY$Å~Ÿß€­OÕ6S®¼3‘l ,@ ,ë‡Þ™Þ™‚>†î‚Ýõ¯÷‘YU™UÕ3,k!4½Ù‘‘‘q|qdÿ´jj±jè¿ô÷vÕ¬î¯~º¼ºJn÷«Oo®þô­¦•:4A¬n^]Å-båÅÊWeV7û«J5ë›@ìuAì]m m¹¹»ú¾ú|·]_7uc¼ðÖWoþÖ¾Y_+¥ê¦ñÕ?×^ÖÁ+UD§s{<¾´ª’ëÿÜ|uõÙÍÕ7$™\ÝŸYnÕÔ8F;çkçV*ذ’ƈڬNÛÕ¿V‡+™¬4«×¸ÀWøÿ\ù‹+)Œ¬…^¹ÆèÚ¸Õ>[ ¡–rµ»úîJ5ÞÔNeTãÊH¥Ï9Õ¸2R‰ î¶2ÒªZXP ïu­Â°RPi‹œ*­TVH’&£J+•ƒ1LqbZ)¨‚•uÁ*.ä4V@‘õ+•¢ö>§J+•ö¶v9Q\(h¬…%eN”V *¯l- Vi…¨žrpÜÊÕޙܿ…µ…¢Tµöœüûêf-`Òàà–ÛM·ßº‡µ¤ã«·÷íö°e÷DVÂÕÚi}¾õ´¾ºÁûª=œãÎkî³îÔ/½].¾î…ù’JTt“T•LS‡ô¾®4Q5•ßÄ[péäÝ‚£’AfaÏvñ9„ ÇDâÏãýÇ0)`Ê&ÞS¸ø¦×:Ž/U^¯dóZïþa¼ÿ¹xÞñPª£*¹ØLèo ýMõAN*Õû “«tCBÙXÞP&µbæWQÓ¾3¿ô¤Œ˜FVLÑáçcPÆlk8sÙ®×ì'ìý:7M§}{±S¢œ¶ MfÕ´8•ÍLO먒öÛY1AlŒÏ±b=Ý ~›Xèœ8Á¢¬fÚ‹¸š©™OS\sð)øõñÜ_/2æb½—¸L]§c®ÑB½í®íÊÀ™@] Nm³ N̵/t¢ôçéÌé{g9UÆW‹4ïì–¬vàÄþñ"²í—B'ô[z’Á—Ë«Z˜þ ·úðó¯ÿý÷—*+d9O#ÛTÐ €§Ÿð¹õúŠ*ÏØú Í-ÐBiÐßi¨ˆoi/ºƒ…IѰgxÅo³:½ëC·´¦Ö(0%͸<Ö*¡†ç£w9—ÎÖÊ»œ!€–S‡¨>µ’c†ìÉ*L‘,n˜÷aLoÔÜõ–àëÔ› Ê¹lË(νlEÝå2Õ9…šV“ñYQ§. ¤oî4g³A[›Šƒ%7½hwH«c¥[qÍ·Ü À”p£Þ[óv:w¥‹ÕN×x ë9¨”‚ÿKrLN r†Ãþ¥ r7Lqö¬è¡=¯Ú#°]L',zÑΆPˆ xlúˆ¶ÇÁîKXš8 x}(]÷ó›·ýv™î•2`Ï^±Û4ײ[?¥ÒˆÆcÓ[2M¡Òr`øº…FPªåš8ÀÍÑÌŸ9‰j^É0Î 1){»lw¦Á–š:\Åøîœqì(ý.扺qb…>a/dΜMošXAmÎçö>nBO)ö‘Ã]‡z“c/ÚjâíTêSy"yghjÆÀrnè¨;»¹pÚÂŒe^´ÄÊéFC*#¹s¼X¸¾&šˆ¡±ážKe!”†q}9"cÇþ³!ä¹”}ÛoFþßt'þ ç&c³.‹ÓEÁsËpߪ¹²û´?gZ«¦ÆCâ€Ó&Íægo"Ѓr‚ºÔ›/ƒ=.j5ŒI óîÞ&ãlï–°gâq˼*oò!Ï5=Œ;:PçDç/T±J~=9.”›¥}ù7of##÷~üê½”U;L,Xâ!N/ãoçSópÅÍÅÓ´Y…Ì3î|™+nϫ†2Õ—¥*|p ×á¤åhrÓ¢wíwÓ¡ép¿²»éú Ve'ÐêÎu?‘Å´VúaèñÙ›Íþq·¥7D§×ÿX›†:2]ÛÃ=¹HÃw÷°Mÿ@·{‡ºi{ZžåÑTE…|ª¢)û¨yÑt'óSfÐøÅ©ÊØÄcÂÅ9ì¬ g 5¿#Òu}Ñ.v䈨Òbèïߎ󯋚¢±àFn‡Fáç‹YaIÏ ® ü¼ò¡A®!uvÅ”º¬\7é·sJê‹ÁjädS£p¸ÉØ»p°èê»KJ}¢Ü|ÿžF8¥Ò/{è_Ç_ð¾GK#<¬nmÎožHùú@“X8Lq6»žÕ0ŒòÊ_=Äö¾Q¿c¥—ìÐ ]:dùºð³üФâsô'4¤±"v`9 ×Ù4GŒ(eaÒŽMý4ÉÅQ&}FØ—1·éQãâK ±—aþ$‰äd|æ3bDM_Ó†Ë-ÈdR’’½­Ü.ÄcüGQ_d·xÕ+‰á…¸ôÎÄ—1¢Ó§ýw«÷™C7Ùœ¦UÍd \ü8bw<)Ù¦iÅ¿™¼Hós¼“&¾G3Š žÉ]œÖùïþ‹¤endstream endobj 368 0 obj << /Filter /FlateDecode /Length 2415 >> stream xœ¥XmoãÆþîßꧬZ‹å¾’{h‚4‡\‘âÜ^S¡(` $ÛÌI¦CÒg;EûÛ;3»KîR”ÎmaàŽ"wwÞŸyfžåŸåøçÿ_ïÏòÙÍÙÏgœÞÎüëýì»åÙoTø&³¹å³åõ™ÛÂg%ŸºÈ¬Ô³åþŒI1_þ‹K•,.‹Ìhܲܜ]²7»í|‘g¹.yiJötQ=ÍRÊ,ÏKö·y)2[JÉ’EM[Õw¸ >ÉÄüýò(ÇÄrAÐBê¬4ű׫ÝîjÅe¦•³åÛ³å¯/Ùõnû´¯ž®ØuÝìv«ùB ’-ûu–sÁ²áñßÃãÓyXÌÙfÕ…­V[%ûÓ»f{sîç†}>E«Ä9Y"1[Žeéü´Þ=´Ý¶™Ø'Ø}Ÿªº¹b{q5ïRl_o¶» VIJvUÛ]± üþ» ¹è”ëVÜG§Z¶®ïÖõ¾êVwÝäÙϯ‡Ws:|¡³B«g Qd¹ fÝ£Ú´“µÕ/ÛÁyhÓ7ùà±fÕUµ;IA&@ŒS=_×ûûŒÏ\¨$Ë3 ?reá4Æs8IÀ¿ ã%¦Ð2íòÓ€/;D'‡(î“Pð"ÎB2ÖåûjþÕA–¯øjØÕ7ño«Ùô© 2š—nëª,9—óLé¡ÊÀˆRƒjâÛ\ÍU‘£„ûý¯_ áÜZT*øÆ²ïÒïB™ŒåõMñAجÌûZ{CE '`à¥1ð\°µ«o+¡ÆDaŽ¿T)`Ùª©îè§,xnÙ n±œu·Ñ²-¾/³\õ`ák»j¿êü+mÁ>¶ñGÈ2Èu¸‚rÒ´»ÃOV‚Ó8œˆRˆ‚ÝÍ1¦°  ŠHö8 9—:Å©êæ–>hpP×zý8gב9Î ¸»H7¯Ö(È*ÉÙ­—¤9û4×ËͰÕîa>˜Ô[¯YC žkBnì÷«ÃU€Ÿ ìÆ?ÔÝ5DÅvô‘$*˜ ¸™JE/NȬàž~¼#O˲·JCcÿ¸º‰ ö§¥Ôq^„Võ¥“ À ìœ(þdŽJ›qhéa—²‚&‹a³:vµKž§4÷â†u4ÐGV¹$CYCCNš$ª r˜”àãÙ‡6&u ¯P/:YAbVO]œþ£TóêXáòÍ„ ûÃÛ‹vPî±ênµ¯YI*µ]ò3v¶2:x^Ä_šçZ@žÆtšv'¡Gd+§¾ç’±jVû$žit›R_)IœeãC…®B>и ”ÇB…<†¹>¤{ô¾Lãú´ÚÇáTLëÌ"á{"¥q4‰æº¹Øˆ‹ªg;§ýîÑ«rŽÒ sÍ&ÉÑäS¬t7ØL˜èéß P$¿BõCFÿ0"v£T7›´# ánB昨®ŠÕ×È?D§ìúZIw:À‘¢Û4I7ti]V¿Œ|D§é‰ð‘D15z ÌÍêÃ*óË\€$Œ](Rˆ›ê“K욇áS„Ýw}ä†ò2§r_Å=ì¯HOp§Ó3Ž(-A·|1z<‘¾2܇#¼{Ÿ”eï,†vrØá0Ôká¯(†ÛY`tו²7àú2ß“·Säa,FðŒ~'{óöï45O ‰¯Ü.™ã£«,ôÈ87ÒÑ­zG«²§LþkÜIÛsw±¡ÖÇÉŽP »É|xú|ØdŽ#Y6Ë.'ĸˀ…Ðef̈Qõh@=6™Ç°@3#’0ìÆAub¢8œúÛÀtì g®Ìýs T\¾I´HÓÕï¸[EH<îäÎñ‡I:|rU”$[ÂeµmÇeqB·#«‡øUsŽ(Q3‰7ü=†¡¨ßû!H¨0á{•6oº® Ë/ý9zp~tâp!±ÉÖ›kåМ.8ËÄέÛ`2ð‡HgX÷?mÅÛ)‹I;µ»Ò:h2Úݬ¤wü'g4íLÿo=¦ûx‘Huˆ©ké(úa¾…××”YZx>}7æ”Ðm ²€tb ry¬¬Ÿª¸ ª]ÕÁ)µ`ÏÁ9¾$ðYÈEÕz¼8:‡y šèF-óûåÙ_àï?IqÔíendstream endobj 369 0 obj << /Filter /FlateDecode /Length 162 >> stream xœ]O1ƒ0 Üó ÿ Ub¡K‡VUÛÇAp¢†þ¾$@‡gé|wòYö×Ë•]ùˆ_”À:6‘f¿D$ht,jÆaÚY™8é dÓáý «ìÆïz"ù<©sYÕ[½¡9h¤¨y$ÑVU×ZÛ bó'íÁîΦé T¥TñJŽæÇMÀ%FâTš–&¹€cú=|È)X!¾4§S@endstream endobj 370 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 264 >> stream xœcd`ab`ddòñ ÊÏMÌ34Ð JM/ÍI,‰ªüfü!ÃôC–¹»ûÇÊܬÝ<ÌÝ<,ë¿7 }üÄÿÝ_€™‘1<£Ð9¿ ²(3=£DÁÈÀÀXWHZ*$U*8é)x%&gç—gg*$æ¥(xéùê)øå—34òó’R3sÒòÓBR#Bƒ]ƒ‚܃üC‚5õ0\````ì``(a`bddÑü¾†ï?3çq†Gß·0~ïü¾…ùÇÊïÕ¢·¼ÎØØxyÙØœñºuëÌ™[r|¥ 8Ïùž7mâB¶U\¸å¸XBòy8öôöôööLêíí;ÁÃÃÀ!¤_>endstream endobj 371 0 obj << /Filter /FlateDecode /Length 266 >> stream xœ]‘=nÃ0 FwB7°ü+0¸$K†EÛ (xˆl8ÎÐÛ÷#tèð>øÙ$@“Åñ|:çi³ÅÇ:Ç/Þì8å´ò}~¬‘í…¯S6eeÓ·§iÆ[XLq| Ë÷ÏÂ<îþn\|6m£¯Ê½)ΉïKˆ¼†|e38GÃ8’áœþ}*û½ã2>Kë@ŠsH34-)Î!ÍÐâ±UmE»’çІh#ŠÂN‹;-ö¤@½hO ´==ˆFR Q4‘M¢L ”¡¿'8‡„V¤@+Ñšh-нéeHß‘íD1‘ש²¯×bdur„×Îm|¬+çM/¥—L™ÿŽ¹Ì‹tY`~£:Š?endstream endobj 372 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2357 >> stream xœ¥Vkp×]Y¶X;Ž jQ’îªI1ðóHBÚ¤-¶ñ 8ÅOYX¶dÙÖË/iõÖ§·dÉ/I¶Œll^6`°%-ɤ’’¶I'-“†i:Ó™»îÒ¦k  “iZÚþÙ™½»sïùÎwÎù.KNÂ8Îü­ÙùÒº²úU«—oj*“ˆ+æ3é§8ôÓIôw¸Àì™}vs ¤s!=ùÐÓœY€,óQÅc(÷qŒËálÉÖKej¹XTÓ$\½råsË—³Ï—„åjáº,áæ²ŠZ©²±V,,«¯nÎÊÎæH•ì¢X¸TZ/,¯ª)“T ¥Õª¢‚ ùÂ×òs‹¶,Ëú:¬ûï†-¨—m76)ÊT•U¢q‘¤n-†åbyX&V€bEØvlV‚mÀ6b¯c›°ÍØ,ËÁžÂ²%cÉØ(GœTô7Ÿ{9ycòõ7o-o`Þ‹ónàâÔù©Æ´½iƒh$ƒž (èíJ>3pŽK¿‡žåû)0wØ,­f‚ËVÞª÷F|2öËÑ›ðþfÓ©W²w‹ÞØKX&$‡J¡ tŠ=ªêöl\ï¶úv{ÔCôœŸ<õ*s³¹\ÇL˜ÛÀfA‡¯#í õ¹ˆ Èæ8ƒžø#&¡D“ýS&]³“¤äf ø®uã7h™‹È -Lq­ˆÐ+"úõK\ÚŒŽñ?-½¼qëö-A ˆ ˆÂÜJ2)·Kôƒ± Z¨ô^«;wÀ¹Ö8àž „FP77@ßîB[ÉNù¾š)ÀÍCYh1ɤ2›ø5Ê¥À³ŸƒÓîtøÈ)”ç;páã³ 8®..3ó•edÆWIÁ: âèRŽsf_@6~§,& X,„ÕªWš´…Ì“åùÌ2À™ ^½ÍpÃÕM¾‹¤|Êû…¯Eª6H­z¬F‹®\A»«ËIþ Éí.»\‚¹ÝØ–µYåÔ/þ"ï"²ûzí  ù<”(Ï¡@iª%ÁdÕ ×úÁgÈI ¢ ÀB§   q{;OCJçƒÞ³ ×YÀÊ6ŽyêöUcÔç€@}ï#IWò"`·{z~‡ê¹üàd)ÏøŠÓ§Åî)jÙ5.ÝL/äO¿æ•–V5o¯&¨ó{zdÿ³Z½.â2êv'Ðc¿†a ­Õ¬j9®èÕ÷„†º±:ù^@®¼ó¾’óÁ‡hË).ýZÁ‡O^íÝyD>˜ÀcWnŒÇµ^Bd¶Ö×zÛ"ѾÐèdÅ‘-LzÍâ=Õa…_Gôµ„MÇuûLÓPˆËŸc’D%ÝSZâ¤޳ÈûÕ¾v}¥¹0ç\Í»HxqÏèC¶ö•qT¬ä ´³\ôå=;imV­‰èT.ÛÌÚ©Í;Ò㊺zÈ«h&å×¼¾NVlÐ?ä¡Uv‡= ðzTrª™5a%³*e ï>í7xë™q“:X^J‡ÊÎÞ:–ºÙ²‹ï²Ž²Î…fУsiý(ZÙ¥VÉUM”ÃÄ•9«¡o(e‚LꎶcoÞŒ^ |ƒî.ˆàcGv®3KŒÔœ4ìÎnáÛûü-ÀƒS£\× È#+®YR|ñµ–chí$ú[lΘwO¾u‘KwÞ[“‘P¾¨ª‘Þlêß­÷=”pÀÍ–Ðw©k •@Ølª)qP†ÃÌc–3™«§¶^M!9º(…H¼+Þw0xœ8³®™olÈ]“x±õÃàéJë#c'¦þ¶wµ´´¥ÜáâàûHw5¡äL_GgXÖýX5&BñÚ'Cý¾Dðý}øzäúÛs¢ê‡P[³±] Êû¢š* Ô—HÊe­„vDr°ð%%Œ@9GSÀîèu“Ñk'ON¶ìjÒUè%d9ó’V,/z&huwÜç„ nëÔ4(›e'Ôc㉡c„¯1öÆÛ€ßšF‚É2©»oc©Œ|•]îag‰ž¡ß±{.Ö¶à7Ø[lK¨Em6Êjœ•I÷i t&«Þf&¶1T[Bßó° ÿDÉ7Èr_ø— _ðdYî1¬‹ y½Ì‚å]B¦Q.]ú¾Wï3Zl6JO¯ÿ±tà›¨'¼ÃGÉC¼ƒh ÕG¶=Ë‹™W3gÖÿ=þñ—Ýdòò…ÌZ¨%¬ž»Õ|,*³„3{Â(;L/ sPK '—’èœDÔÔ®ÐX O•–þ]g3™+Nçýü͉I¯—¬e¾¥•T½²– zÛ~ºñ.ª·I)×ÔVm¹þç«—?Š :•_ÊlÑïÍy¹Elí'÷£”Þ#例3'Xuùž7‚Í`¥èÓGwffä¡gæ–²j±”¸ŠÎ8<ö×9³UÇvŽÉ¼}ÃÒn³‚EÐîïèöļ‚uOô ZøŸÆ%zóŽ+Ñ¢/ …Ó§g¾½ð:ºö5  «ò×v¸c݇B§Èóh;B‚é½C•+ö2KMDA"v“‚PiŒƒšüS§o†v yG#¸sêBá-â+ƒÊºzi½¬¿=¼?>´Ÿ`çßÕ_aŠøì“qÚ}…ËÞµžçX 2‰¤Ä¶z-¨(ŸÍK¶E´P”µÃj\ÍüuQ=3oɳ™€ç—Œ}u%<äŸèÅþQï"úülrR`ª©¶‚ˆ¬†*‡ˆ(ìN:/„÷ C‹,V#¹ì6¡¯´ ˜´›>C¢$4¥Æ‰ÏÐß{/óv\{™œç&›Û1ô ¿S&³Œ¬º,æV Õ¾S“+þ/-x¯‘ nÛ­”EË(­™D‡»‰ÐH÷eÖo³ãwãs–7'¦ÙwþV"*Æ+»£» vJD%ÿÏe,Øëx‰I”íðô»‡Ï¢Ô›€OÂŽ%û¿šÜÄô±%˜Xßi}í\ÞNðÒ}ÁAÉh ¤Ÿæ÷·†äµÒ:©ªK942t`ˆø>ó)“_#•È$ͽšÁ¡Ä¾"CÑO¯ïD޾~^> stream xœÝ[mo·þ~¿¡ìÑ–ïË jÀm-¬qÔ€“ªt’®¹Ó):ÉqZ¤¿½3\rgÈ£dií$M¡ÌÍÎ’œ‡óFîwsÑʹÀ¿øÿt3ó‹Ùw3¸óøït3ÿãñìw/ rÚ^ôr~|>‘s/çíÚ^ÛùñfÖ(¿8þ'{“ û®u9>›½n×ËÅh…õÒ;ß¼=Z½]h­[!|ó÷…Wmïµn2¡›Ýj{…Rð£ÓZ|sü×Ùçdz/qdj~±›ixjþ=LáÏ3¯T«ôÜ+adó 1¼mý|=û 88Yº…I€Œ5­ýÈ Ro3³²¹TÉ)%ú¶s¹”]ÛulTÄaÊó„ÑmÊ©dŠF¡R5J=`Æ–P9nÅN´Æu TºÖ«Á”2ZÒqyg¯Œ†Ü-z°š4dß›®¹\Ý7Ÿ¹N²9!î.#¥C#ªæëfqàà­½—ÍGȶ Õ‚°®öÍ‹@Âs®yEÜ#â¾$ò_$°"îq×ÄÝÀÛ ÀÙÛðblÕ|²8è:öÍ)McKc¿"ò¶:ÏU)vƒ^!}ó HmÆÈC’}A^yD/‰{Q]öͰÀ¸’Ñú~½ ­”À¦¤j=ß7iúF¡Ç^®8ŽãS™¦Q¨ÔýŽs\&oäZ Ï<ßKƒ8~a(U6°&Â&ýˆ 06^à‚ªæ÷@â‚[߀MÚ´9'ƒÜ‘AjN«b¨ÉÁ–ði!lx‡¦¹ $¨°Í ‘"ïˆ\y‚pÔæ Ž-‘ÿɸ´;JÙÔt@ÑÄÜì$TáÉfWZ´Î3sl?˜ÖãIŒÇ‰%rCäŠÈ5‘? ‹PìI°T°L¾ßwNÖúGÕlW¥ÓN¬8†X“‰ 7Ä}:K×\“™ÝWDîJ²ÄÊ"ˆLp aò=:˜³ s°~‡†Oø®“‡bCen Ù>ÃÃ(T"äénF­ hìqR!šý£Y6&\J§Ø˜Âû»|L£P>Ênzˆµ¸Ž&`´q•«|«{ ±ÓQìDï9$žFcš€9 áG‰~'qO‰{ Ð}ny-C’†žÖV:…¦CYÈÑ.Þûè˜dxnúâB¸*¤ä"¢c拦ÊÌ7 •}2¤zßvÆ{P ûY®h–´ ßãÀûà“+‰ æ7‡9^P ›k¯6`û,”µÁ#öYm#8ë[Ç6BXºQ¨„áÐ9¡ÃÀÒHßèV´Rç´ªC”³¡”b©ým•¼AYŒŽ]o«À½!. Ÿ;z,¨ˆQ~C±ÿ¡ô",½xNä9i¸«Ê®KÙ2™¹! ,m©+;†Þ{3ÄÒ{ºgC&Á2”«j.Â’=–‹œwIÜëLC:ÍÈ›í£o` «ËăycÁ>’{ÈÌ ¬£P ßÉÉ´4Å@^’éZ× ¸wü\¨‚Ð-‘XHY=˜¨ÈŠm¢ëjOhYm%ír‰®Bñè‘§ÕÎ÷õEψ*?¤-÷j¡éJ…Ÿ<{x0²o-w^ÑöF¡!Ó#&ØÛ5%bîMA ÁÆÆjóñùtì¤Ã!):útk}7 þÇ´¾]u}¥à¥Ùøp,ÙàF‰l¸¬6{ LE|"Ó’dJµ“NÀ ªÑ·®‹sü¥kÛà¶÷jÛÀe%&+R™‹g1à °ˆóY5:±˜u]* Ü«ê‹÷–¢È¯±ÌeQ¦ˆzé\¹Væ†ÚV‡X]ù‡iÜ=µÊÕ°€c¶i† Â÷ É»hr”ÓXG@N.²ÔZF¾œìDzÿ¼ 6.´l¯hÑ·D~ ¯À\ÙÇ"©)u¤öJ¶ìd/Y%³T’)M7µŠÔðÆ\¯"uk vâë³2Å'§óºÃ‹>²šÎÇ­È}¤¤,ÿc:Z^eYFê|Lmivà´¥Zç[vî¶£Of9ËŽ´%pa94\ð½LšßUù€JÕ»*]cÜ]„åšH–y.©8¿ E[¯ZÇ"ø€“#jÊ1f¦ç)Ú"­{Lž¢ ,–4lˆq8ÙG¡rÐ,[ÑÚ@vÄ'ŸÊ4B¥îé¾j×Þ [ZUÏÅñv½;ÄÌÃs¯2èæ·Û‚»·$òúÞ{ÿÇIƇ9¯ëÙ>„¹ÇçJ™Vð½Ñœ!|*1?¹ƒ®qDý¯¢î ^bH-·%‘+ê¾]÷’È["wE|ìˆVÆpw]õÕWU_͸ì¸_¬\è¼gn#…i ÷…RF¡;“³X5ïSïe7 p”lLñý|L$TŽrRÅ>i®±E~Zíé°€Žâ»¶ÒW&t3OÉÙÈF$$^Í_h7³üõ“ÖžŸÓßToà\Óå£àÅãã¢z¡ÝŸ¨Ol]tVã½;v’Ý¥ËÛG•VÓsj5½®„`Ãî™о”ùMF—XU¿1>` ¿bGB9R&\±K Õ‹V7Æ_óýÈ.•lª{·l6Ç~ ¶RO|覆í]½u{ZºË2Ëd—]¾dœ…ê]ýÖífQ»QùHò-Aªf×[«ì*m²af×Q¨´ôä|Lu¯9¢ÒµRXëVK«R>V7»„Ä:¾m^Å|¾° u¡ô=qWÕ¦òeyì1@c]}.ïKמ{”k£ËT±Ò:¥m‰\fU ?³UO}X2%ŠœP†º¥v÷y•,úᑼÍ/6Ç1|Q=c~‘‘4ô=t²ûý ‰:G¡¯OÏ¥úPÄ‚JÐ(퇼èÂHö3:+­âÁi ψ\¹&ò9‘ç”´ž—é]U5üÀÎf‹S+ç8ßÉË [—˜ ôOš7?ÏÊNjº”dŸ¿KöœdÙÕ «ªlÞ¡MíuhY 7)K²{Út ûÌ©1ðÀ1‰²Âeß#$Hf0…JàN ŽÆwTšV¥ïÊœ'Zëqž*¼wÊÇx\ÞMI!¸²µ5Dj~g?­O¶f£P¹ŠOßÚR¶Æ€£Z-ا;?E±=ÔICC¬l“ÑW ’ú>é²6RÜ÷å†cÃXZIJV”À\÷’ÈÛÿ|$¥*¯s²:‡‘;D1ih…;Ë.+Üs*ÑýŒ yHéã(}|Aܯ†c Ž ?'ß,øT *Å®uÜ5DHg0…Jà?æxØvá“%mÈ5ð^œ$î5q·yï'r—U.뇡éðÛ.@ùk:9 òIRùô qCŠMôÞêI㳯0†•Ê/÷’P¾žïq¹WIüJfø²GßÓ-tJŽ'5wO•„Š›ÝuNæß ƒŒkeϾNþ0I¥o‚¹TÉ£ï„3©qÙâ¨Êu|ǪU>Ò7y€%=d®.‚îpuq·À¬uCon–ñl e§ütq` 6oló§›Õ›…ò˜Ž—ßdÇ'$Þæ"MÛ›øöpmI‡AB_ÍõlVWLÁo}r›‰žEÕ:Ü¢ þv[ݵuPŽseÙãWa"º×¸5†±ãÎÀ^‚ép—aßÈ‚7ÍžÊÞ´úÍ"ûEƒ‹$ŽÛái/p”÷¼Ýø¾œý¬»endstream endobj 374 0 obj << /Filter /FlateDecode /Length 3197 >> stream xœ½ZKÇΙ!B@¶©ˆã~? Ç@”HF °å=$Ðæ@-¹«±IÎz8+i #?;§RÕÝ3Ó=µ× 4;Ý]U]õÕsøÃ’lIñ_üÿò° ËëÅ æß.ã—‡å³óÅg¯­„7…£Ž-ϯá[rn nÙÒ(S8¡–ç‡Åòl·ZÓ‚*ˬ¶¤iÊã ÿ†QG6«µ¢ Œ“¯êÿ$ a“rÒZò7É‚RM^¬,>0Mê2£»MÎÖå劃Üò.0pB’—Ùò”nêÿóüop=IÓëq' Ã\ñ|» ܭο[¬¥d˵P…Õ_¿‰áöTrFn=9i¹sä€L(–¼]­¹.œ²’DAœaH rÐ1R]Ågé² e‚_¦‡7+¤i'wž=åêÛDÔ#l§ÔCy:•©Ž¯q UËIÕI$È£DŠý~ ñ°K)Òd ¹½ßÅm ò—W/Î=#’¡`ö®/VQ.wmÂÑæ]¾Ý¯kç Õ,§qY…¿R¶™ ­#›\¶(¿Š bì´Fæ¬g耙»=ˆ7& %_ž¿\œ?yÓ’6ó¤ÜOêmòþ”cèýJ)À`hÓ”Õ~•&7C¥Äe ‘©3õ{Œp egääúž;ÎØ±nÉ‚³5‡dÙ6Ó±\ÛßJFÞ¦äÒ{‚°‚|]ÂO³ŽT·HÖ çàÀÐÌ«™ {à Pøœ¤§¨T)Ø”kj®57¤|´ÊVüiãHSïP£Ül.¿ß`hð/‡ì_íwåÇÇλ€gíõWÕv·÷'Éëþõ‹—õúÇòz¸ W›C¹¿k9óŒÑM‰­:¶Œ†Ô_”€©m{Tg,¢ŒäùqÛÿWO|_]_@5ƒù$²äý2-f+¿âTºòÕî¸ÝÕ=×déyóîˆ!m´ÄÈy½Ãèplžv:S­Æ`§Î!d½Â:Eð Æ§=Ýïû¥D]¼|Ú?¢û{$ÛÑäO{Õ\VǦ®ö“ß—§æªŒã dšöê,¡Æƶ‹UŠˆ>¦6;Ý~ë» _W% 6ìNB-ª3äBIõR"¿ÿsu¸)øê ªX[€S.×#,ÙžŸšò°iv-3I¾m¶E÷çuÝ þ±¿ßûÍþŽ1ªðäëú‚|ùÓ?E™Ö9;D:²» =6»úrwÓøº†)JÀ-™4T+¨¡Z ¦QÁz­Y¡¸a¸A‚Í-ìa\!§T7F©ëQÅ[”FVIÑQvÈ]B IEÏYÐéþî_$*ønÍtçké‡ VŠ’Sª­¥*c¡•V§¯W´W'Z"?øË‡w%Mh£<90ŽÍ/¡°®Ï˜Z)LÊAÀݤ GÇÛ=´ÞHT®Œíd”21h–«ÌH 0”(§sèÝö\ž3ê)sˆÄ(Io~ÈÆ$”y¡!<§”)µV˜1åÍ~]Ä ,¸1FšŽ0¯Ó"%, 05Í 3æÔ„ÈGhª å2TÎ ×’g*·ÂœÒW.’ªÜ 혵ãR—G¬k=ÔŒdŠ¢Dç³Ï4c gù”Ònʬ—ww×åîØ:½ÓÞ)×`êÄLk£3Íè”èÙZîYaÑæ<§“Ÿý:÷lГ'Oru¥v–Þ0óŒ³Eâ³YøEò3Š«#œýó%‚·Ž b®×ë(Þ·åõ±¼*úØr ),–'„¦Ï^sf²©+¤R,¶ågØ•“*§NÅ-¨M¿iHÈÌòûèxV¢x7™¤•¢ÐòA"MK”ñ›©»=zØ$%èñ´P÷RH4I÷X&¤#õ)õÌŠYz¡‘@3 âø(î7@©àÙt}á÷G¢‘d>.ZC¢@é–ë®AÊ_'ÝT7I1ú— zq)tTi=_5~ú kÇ7îùùâ›EÛ©e=?®ËlÇuLKß,!Üè8®ûwÊçžqIœ”©”²”˜uZ]o6ûQ»…¨Ô\ØÂ@@M¤† ‹†ø4mp ½–]I>¡ü`’ `«D®`ŒïhSœ"m¶Ùäa¦]…vDRH:bÜ궨¹IÛØ‰Áh?6Ž—Æ&IÄ%jÉÉÏ,À1½w:xmêM6ölütär<(—y³—§žhP«h÷å ›~þ¢hØ-L Ï1ÌPtÙ}q1ÈþmAJŠ`ÌQÑÍp‘êä]¨dÐÕg±R½eI¬\a X:LJñ ÏÏXH’\´gž£䵓 dfcN‰ni%´JÐïö§‡“Í/ã@•²­mü„Å3cœŽêª¸é7qÇ€P¿#Õ‰å÷넱èlö³:S‘`þò:u¿I¬X'O¢Šœ‡-¤U}ŠLJ¦1 ïRWCìLÚølü—ïfÊ€ÄGóèÇÂÛÇ~Çwñ¥Ç{fèÇÒˆ=pؙÛnAŒ¾@xªò]ÈÑ\ª¼y£¿öòAþ&a( @…`°(‹!Ê¡ßmê†a8)ßú÷ÐÍSŸñG¤*0a*íC -7iŒÊ>\Æ’'‡ŸÐ…Ñ- þ1ekÆ å:<ÅÀê9sò¦½©ÿD5™÷š0À7Ž|Y^¨|à ÉGNŽðˆ-Àð«•ÂŒï£áãÙ´ÏÙGnRí³=Ñ!&•Sèk„ÍœU; 1èç½§ !"`­"ur‹@›¥´0¹EÆaFô.Ž3q¡¼“ÑI’L­…?Ÿ¤‡õ?{Ôœ×3òÛöðë DÎ?0on’Zæ&ý?á8ò1fÒømCÈðÍ)[ø!ýaÁ¿°Iá?bAÒ›è û1ùÏN¹Þ³ì4cJhéT7‚¹/ÜJÓ*fq!øý¹g`Î<õ<8S¸Bs‘¡<?ÁÍ¢Pv‰é 2®z NÂP@’¥ãËQ’á‡$ÃŒTîÙ_Ù7F\òTƒNß™A7 VÈ™;láü­Â{1n]ÙåIK5Ì5“J_s}'ÕƒŒÓ›ú­‡”šEÍ>©ÖHê¯g™×v ºíl±ÁܸØè_k`âÔÐ~ºGþ£÷¾¥–Óå.õ²”>…à”AŠü“}ûµÐ3ÿ.ÛTfk±+ÅöóÙCü‹9 !¬^2¼VuŽÅöRh5׌úAÏÇÆOßÄ žíýñh†ÎÄÏYBv9ÈȨìÞʤëÎ Jéɵٟâ~¬’êÄ×ø#¬ÿ¦²<ê_AUcJw/%~»¾NË :uÁOŸJG ËÜ’A^J…éÿ„Ù—¢ Ǹ)A_!K(µp„ð§8ß‘œú}¹'ûon à}üo‘ÉöDZó÷ÏÂO2Üš06𜡀NÑSŸšxÀ PR"rD j¶ÉbàĨ‰pDZ·ìä06ŸšzÐ囂 >`m ʪ.#Ñ8ÜÂgZ³¼¼öj1¹s¥¿dÊ&ÂM¨^A±wx,´8Ãf!hy< 6uóã€zè€ýRzÉdþÍâ¿hšzendstream endobj 375 0 obj << /Filter /FlateDecode /Length 2770 >> stream xœíZÝÇ ×_!ø%«ÔÚì|¯±‘âR8ñ¡à ŠõtÞF:]$Ïç$ýËûPr>–3«•íSa i ?Mq9òG¹;¿Œ«’+üþž-GÕøbôˈ9î8ü9[ŽŸŒ¾øÁHà”¶²l|2ùGؘsSrÃÆµªK+Ôød9zQ<žM¦UY)ÃŒ6ÅvÛ^Nð¿¢f•-šÉTQVŒO×ÿJ~ðBÊJcŠû($˪ÒÅ“‰A‚ébÝfzÏ“g×íÙ„ƒÜÖÅ+¿€²8Îh7©P÷ðO'íÉ*Ý·¢¬™…-žœ Á&'ÿ}s2úùøb3ýf|{:2œ—\ŒkÁx XCê’óñbôX° ò$þBJ–°xÇqR=Þr¤X­J“Kõy Å+[Ö:—âU]ÖubqR»¼©ÌòÒ¤¦û‡2EQ¦¯…ö‚Fmi5×)fŒ.…áãÖ2Z{È,'S ¡±’·Ž¬˜0ÅQà U¬"—P:îqWÄ]·%î–¸ q/‰ †1`óâK !ÄV™b:A€¸àGïTµ(¹LÜ…®©mî®N(s`º“¿¬pKÈ1(cÞas°³HØâÚ‘Îw—Ä=#rK-qWDÂcL*€´*N OW•rk0޻詊5‘K"¯‰\ Ž®k\Ú„”Æ5þ ¤â@ò‚M¦Úâï¬8xvUñâ×§k«D©mâôààÔé$Ôûœ©¿ëôº*¥®9¨4¥U¥…À2Ð ’¬JUóÚWŠÅ[؃ְµB°±Êm <][p©æÅŒÈô¹u>GÿGܶÂJ#¡ vÚŽ‰ü‘Èg +0„µ{¬R®ÂÞßõ£ °¼Ñg™;¡¾gï ^¦ëÒH\·Æ*îÁ{Iv7D.‰œunL`sÏ{ É$Ão)—«A’ágƒõdIÜ6«‘Û Öž-™ón×L–*AnônæñN¨ƒƒ‚»§”5ówà”ºÂ-3×”»S Q+0\Lu2ÈÖÎH\VºbÉK"/ˆÜù ×ÝqCoönh€B-" ›ÉØ å4ÿAŸ lÉŒkÌ@›§'8ÉÄ6a¾¯Mˆ‰E1C†ßzécÞÊ-‘³ ªÜ5)ó™á½>§X4Dž kEäÚc£Ó&¬£ªJWT$¯ˆ» î-=öŽjz–ž¸€[ƒJÝñ¤ÝˆÉ ‘["Á ¼O35t^sJ‚ €– APSw.a¢Ò` 90›rJØY¿à»c`AÜ„lHàŠ¸"gþèŽ]x¨>÷ÈÇ÷( ˜^‘èÈßqcº4iª§dŽê„ú®;¨Ö¥@¥*¡ãv~zDåéo¸K0&ý§È.¾ýS¸ ˜ì1炸=LTùÏs‡ž •çHÕXa™c°»É*lÜÂqD¦@XÎâXB\S‘. e=o¥Ó^-Q®‡Ì@d•…&—§)¢˜F–„ú±>(² rGW¢ÐóºÐú:Â\›Ò s Ÿ’ÀTÍÖƒ-é ‘Ï[Òevøg¥ñ½F(<‚…?_;¥_€Ã0ª®š%ÀˆÇø9…kMäŠÈ+ŠÜCBçÂì#Bä1qŸ÷zì§ÝÐ@`$u súN¨†ƒnhüø^(×p¿woÛ¢ Pßñp]öÌlê„úVÞùLר €1 (+Ç‚ ÿ©Y2üG}=8 %Çï|°ÁtãVj±S¸ôî쇀XýwfG¶$ðÎÙÁaãM^JB¹äÞì”°ñÙ”¦Ô< ³ i‡¹Ê_>;(˜¥´Ÿf‡ÿ÷ÙA)æÖ Ø2vB}H|ì)…ã°ìÞÔ| þKG%¬-UZ¡2€tB}È<(ˆ¨ý㌊CâÛ4“‚S2GuB}×<(hÕt Ÿfƒ700S¦9˜…¶êûðf rHsÿ†… ¾b. ê>Äü¦‡øåç=‡S%«Ò¤)|œù½êGâàÆÔèZ 7æÒBù,±É­¯3›H(·Rl“´ª¬Ã˶·;6áû÷Z“Mqý̦N¨oå!_g¥©¨ÄnrŸ£jü –¼¤—$–_c’Ë‘“^ ©x •êóèr@&7Ý™ÕwÌ{Òtà&ˆ@(Dx3󤽸Noh@­‘˜ ZÂ,õ îÚAYüyݾžpüÁDîkXQùùW ßTÎ&i8N«µ×„ßXš(â>œÐUUzã$ÿeÙn›K· ð-‹³ Šæë‰RE³n›—ɳ‹Îl(œPðþˆQ:»|’]2Y‹À¸›Wû„¼3¸ÓºíIùÕXßê+¿¶Ò*ßœ× ˜Ô{~Ü—„ºÛW µ‹»×؃a¢Boµ¯»®D±ÝÍM'Uïߤ¿Á )´ŸN>Ql£H-5ŒËpëÇ- ì9,†Âû²3øyÖõ™»¥F\pÙÃEs‘é¾êà¼Zõ%HLJU Ü;~Ç”(šipµ`€µMÜ•¿—´nWë6Zªà N¾Jq“¨]´ÛüîÒÆé°öBÖÎz™ÛÜø[Kœp¼ã˜&ɼv"Øì€ÑmFÿy|VíÙºJ!ˆ¯¿f³›A= H @«“,òZdñ+'þʃF-)$:íš\§¾šL—.ýV—g~Ù-2•›‹¿œ’À“ãŸ-¯Ûörµ<Åû%þYܾ G)‚U éþîvW;À&Õ¾LEH½Íµ'©êß̶åf6;?- “A¾/´äD§+ϳ7ËöÍ)Îwžgýòa´½Ù¬8o¶M4La3wò×gëÙÅýè7]üL?%Rܬ‚€¸Ö˽¥¼–›ªÍÐeê¤']Y×oÛЭâ™Z³z¹ ûi©Óg߆O޽ú<ý°r/”xPÐ]ⱺ0;8¼Vè i˜F¨fRiFûñ¦Oh¨Ð$3«õ€Ý\®¢Ç–õjóÐÅ HlžUŒ¬°G„jД]:ìºHdäD…Ýò/— 5S¸iŒþk™C£"ãÌýæÒ5­–Ò¨œ'OÆh"P²~ÝÛÑOeÆ DlzeœE=>[ÃUÑ(óÙRÇ0Ó–§I°º.,¥ ŸM„…,LöœÉÓh™{n5à}@ƆÁ 7ÂIÝ— J¯ ¼ƒP É;6| A pøaUaG¬ãÓ†2ãwŽ”:DÂÉ¡£&mùYh –øÐ#P Ž¡'Øc'1Ùcg@-Xõ°»Â“P=uøêŠc[ìCiÝ*[­aŒ·£ã7««ÿž´!ƒZD¢uûÎn˜³IÿYZì.FÜÞR€Gô@»`ýô_^ÁIÿE! a §ñp|I‹lzåJÃöjGÊËò 'A©ž!.¦bÐæ”¸-‹ ¹µ"V¸¦ÊüUc =l tÒ”Öö›Ð>ŠýfZ ðóE9Í´E¾Ô0À*"؆§. &í“hˆQ„Ϧ¢D˜4Šà®o$2 ²2lÐ)'ÉæR£FËìp¥€ö ¤4µjt‹Ç†Î°8 ½Èú8Y6´8`vOO ô%ZÒá4(uxt@ Ì+´yq}}ýâ%ûŽ1k éôo‡ 1ão#iR°Î1€Óï|6_…j«¹}È «´¨«ÀšFÄÓ–ÿRVŒ¹÷jDN†GêÖ7©Â«VJæ½t8, i)f·¬¥€[$!U Äžrãû{ôÌÁ¾®ïwn{0Àë¥Cj¥Ó€:±¿¼ºù÷Ûu) gM©úwÉׯÂ×c ›mv´ÒÀSz9ÊËG°] #[Æl 1X¿Oìn@Ïâªeæf-vÒÛ”{ÄS)( ³UjÚòž™–5ðý €ŠÖŠ™ÊÖ‡ÎÛí¢1±¹#Äåä îö‡üríxø ¸gŽñBw¡å¢qDü]xÓÛ´Å6JÈøòcçÑ«á"C¯ëØ`g÷ã¢pSŠºêQêæÖž3ÅT›¸êq˜uóÃ+àæLv½ªûç>âÇ7IQžÅŽct¨1؈@äÝÇ}ºš­{kPv~ nTŒÊZmãš…ŠÃi‘pþ|{Ý.Àt^÷!¼ë0¾åÉêås£åDcœºhÉ)@¦ˆúo½.»ÉÉL³aSމOÄÒðŒnÀùwo‡älh·@&lãŽ1/ÓkJéW]®j¡3ü¹³¹îvð%­»ECÂ1¬@H1øó!¶“™æ,÷±8·ËTÌyºÎ‡Í$ßâui à“Ê–z—í¦Î…|½÷«èvqø–Þ½ 㘲ËÙ3/¥åa¥«å¾ Nßã1H³dÁ.„x·÷H!(˜³:É29 mÙ“ ¿»À@³KC Œé¨ <†½¸á)Œ« Ž”¿àdHû\™J_Á #$*¢ McÞl£ä°â¡L „£%)Ô+Z@`g‘Èô-osSû±Ûíc²ÎÒgAç&Œ 1dÚ³ ºÊ)èªk‚5%›4»Ë· ƒ–À¹tZÀA±"æ£.{7û±¸0h!mO¯³j47ÐO®Ë Yótey®ÖmŒvIø±Ç¶ø±dŽÑN«‰ás‹¡—ÄkfÕ ¸½ vùé\÷‘Ø)×°ËVœš·/¼Gf.Ç#¹k³”r[&;ÎO³ùGŒ‚žhŽ^1Öƒ)XS•´èâ÷Ò¬˜sÀšºÐ0þÅ\ ·CW¨‰Ã4Aã|û]Öj†ÿ•œ¥q€ÙMïÿ¦4®‡™™T§¨! ·m7k¿š°;îÂûØêþ/K ¶×j‘§šGK ºOÚRm89ÉÀ¸…]gõ&Õ™ Ø>u»ì ôïxÖ«ý~ar$¹ ÇÖÛõÆA(”®Ÿ»êkÀTr; \¥Y„pP‘Âg€`¹ïËÒ€ÀZ,p:H¢ý<’$1´¸åyºâih–£3<U>–#нF朕_} ûD1פû‚‰%¾Ý‡O U4n“‘/®Ê8’µÐäØ9RhŽ¥#¨6-aB_;zƒ…J㤾W˜½Syå›ûé$P0a/Ú×Éð¶³¾kš)lµ/¸µ¨¼q껸õü!t4ô‘t²èÜ3=€¬¼|h—ž‹î}vxJ¢Ì 9 ÆÊŠY RçzéŽÈd]dm(‡C6z`ì.¿è—Òåßì¡ù6vˆuYÛû#¾ÿÎ7Älær^W„ì`”ÂÞm|•æäF®ÁÍCŒ/~/m=4¸~í¬À50uÉ<àw}Ò Ú‘z˜^äãÈÀ¿_GTâó)bHsû›)”çèC.Å,wVÊ,- ÔµQ¬ÎRć³ ó˜¿qh–ºAè1Á<¡¤¬çÕ®FHœ@O¨WR!=A§Ö%ÅX)²-fÇßMAðq¶5^î|S¦^6ï%8›a˜«Cº…#œ"»mf‰²êŠnÕí»®yŒ XsIÊÿ”ÜnƒÝˆ1×÷ Ä„|ŽvÁ×#ç´Ø]•´tf_`Ô“p6ÛXqž•g•R}–UÖ»å:µ[«ûP~ ¨e“—’5s%ö6®éOʼn˜¶·w'°åˆÍÿP®~„ÃÄtÌ ½ô{Nwª2óP û© —-wîµ v¦a_s"œ$'?ö+I»œL 33»g„OöÿT´åPþJúï#GvíÜÐâ)b®KvRV}í§òâÂzŸ©ŒÙÓ?•úÂ*mÑeö 'dņ²èþ©Ü=ŠJ›bÿƒý° my(ö&“ÛV¬JÚm‘FqŽ¢»[¢GHÑ•l°)¤è )XVTáªBÒ~\…À†UñúˆàyÓ(—¼lo†bB4ÓõÇ) ”ºðþzTܯÐXºê¯b‰CÿØp"\µÇGá @ævSƽ-–å#>«rê.sc`£·ñvÒ7–ñ'ÖÇ÷aˆº*;Ý «™vq0Ùi_"à‘ûÖ]©3ÖšC.(j§¤)¥šùpZðCK°Tî|ûY•4œÀBä“Ü#nØ»âÛºÙ¿ c)êÓ ªú¢/ëQ§Ë[~’xÇûC0{µtULIʽ†¸‘ñ™rš£KØ×³u$þf˜þbÖSÉú³8F¬*šÀ¼5(Ÿ¬¬(- ×6¦¯¦ÒQC<çk“Å,<k¾.ç0爹|Ì/«hZŸëŒÒsã ̸HúèúÚ(…¯°0O+úáyec§ ±°Úb^!Ö3=•ÆÕ­¡X˜RJ cü¾Á¨ùl 4+È;͹15ßJ 若ëšlÀihDíQ`ª\!„ø1ÀtˆvFÀ´œ£‘ábJÚòo¥a]„¢O•|œÐ)àÐú²ýYY¶Ä!{¬úG6¯R­À’“X4”4NNœÅ ‘3(I§®º)àY¢÷`[†¥uù‘Œ_¯¬Ë@`,~­…­œ§£€•uý=¥4ò ®“;UiúÛ¨¸Ï ¶ŒuÑöÃS¥\õXæD ÂòŠ´³kð꘭àÿþˆœ²Iýù0a“Á:½Œ‘œæ0IJOó¸#& ÞBÛÏS];ºÅY0J ¶&ò4a;b•$ã¤`3ŒÒÀJª¸® Ea¾k> `º¶”]`‚§huÍX¼Vn\ødޤ7»YÈ·‹/"'áy¤s¿ìâ- Χïó>Å{(b†â—ÓÕ2 ‰^`¯8Wó}Ô/iy·@àÌ¡Ål·\r W[JLºøó¹¿ÑЙƜ”úŠÌ¹pHJ(÷HµÄK9ÆÁ#KÊ¿™ˆÆ)W5Ð ¾ “ñÕùн„3¼i Z…«I†œÁ ~ÚÙÏ?ñ2ÃÉ«= Ú˜(†oJƒ£4E„0éæ…ÌcË9âÿY9Ñ œÍÚÀs¸Ïqñã®âOؤø‘^|ö3(y&}Æ\íÃ/§*±¤Vì”øCEÈA¨ì¢â/^ºÀ2äE?±ø/xú/)þ>Ë-éäç„d^”¼TÃÁÈËÞÖ/u¼F}\ÈÇ´€µ0ë¾H¨ï˜Ö¶Óù¹<½8‡¥Mš4qóèÌå]M󾿲ó?ƒk½Íà~ s÷1(¢lˆ°Ä„Þ0ˆ#|xâÜ à­AœÇ²Ì©»xôšr¿ŸÆ@Õ˜¿Zu阓Ä@s?ÑDc˜hÆY}Y>È”d¸¿ƒOÇ)•:üâÏiJu*V·‹äà§ØV›‡2B ›¼øhZΆ?ÛTÅ(rÉløC1ÿ¿âÃS ö™#Æßþ°Ãq™5ôD‘jιÈiAé]¹À,'#†š0 i¨3½Ì"NBÌ)].&úÓ»™j.;ÿ ö\/s®“éëRf9¼_œ =îcÐßÍõ1!½:ÃÇœ3[ɤw0ÑN:¢/ê_гð/¸ŽÙþE±ë_"ÚÌÀ`uÒ¼¬0zæÏsü3d`Ί&æf ¦”Ar0e"fÚ gô}ºÐ»Ë~sõŸÛ!endstream endobj 377 0 obj << /Filter /FlateDecode /Length 4099 >> stream xœ­[K7¾Ï_Ø, äÔZDæ›Ì-É&6v“ ${h{Æ“v¤ÑD­dìÿ¾‡­*’Ý$›Ò<ø`©Õ$‹õøê«"ç·UײU‡ÿÂÿovÝêæâ· FOWá¿7»ÕW—Ÿÿ`%;: cÍë5`v'!E}˜}7ëÞÞ`Ò4 W¨c§„@¯ÎŽvKO5¾¡èÜÃiÙ ƒå!)úp ^àc*Ä7lýx<¤Qõ&–E¼q°§]¢ûCx{ÊFïÓEó_vñ¿¥Ý ËààÇà1fÁuÓ†E¬Ñ2Ò=2ÖÆ8-n÷ô\ê°ÿ8ÝÇ'Éó‰‰x’qCo5€ÒU4 ê_¤@KAÆýîå«1,¯ß9“é®?d¼Ç[•lé»_^\þí§¸oAŒu yGQþµ-i[HIIñnvŸþï;'aM¿Ë03GÐôKõѼàи7˜ 6 ž™€Ä´ßÝyB˜DY+6¼E(é„6©Ôã‡=Ù©üí ‡Or¯¦ÑZä™ó0mÕ÷˜Ó‡R¢4°”u1£Í)瓪vw…—ÎìÊÍ„€éÔëQz?¡ÏÜÕȃOæÑTtƒ8¹‘°­÷Çb­y’qÈö¤0,8­+‘ƒË¸ì”uñ1àÑi°ÓsYÍÏXKj4¿cÍ®/ÆÓ xÄÏ–àï¤#dç¡6BÌL÷ᣥ,½ûzö¼Oæ§·(é‡)tóÚï^³|Íã1óšC\ÞœT¼5mº£ÀÓPâÕÏC„ùûCÔ¦xØKú½Ÿ¼Iýd <¥dO"pÆ•&Š;Æåù»î,ÂǦ<ΑÆPÁ±bS ‚`´Ÿë‘Si`HqéC¬Qì’åQ1dr´Ÿ§Ogù=É·ù·2$_¶:+-°'ß»%Âÿ32ƒ éWªe–ñÈú ¥Åh±k9c&¬óíËÿ¼ާ–‘ª…„W[|cåA«; <´‘Ô‰Ep!bÍ…Äü7Ï Ùw¢ö–ŠË}œA˜âLB•áR iôðoz@ÃXV«I ™jÈCñu`"÷ÕȺñ'ÓÔ‰P°ljª£ª#VrÓ†*EN¬j¥š„¾T£w^†@ÿQÆ›ázË•P7)O#¡óŸ!Š+e~Ë’ÌJÑJG…oú„}?yB¨dô¤þÔ`íÉà¹å‹D›äãI©*SX(+øëY1y­¬™úEÉb£'¤ÚL2g…™_ùÑÀÂ>91x8NÒ»*{¤ß¤NÓý}k¤‡¸Âñ0Óÿ×ó«él òû·¹È/\V—TE`x±€Ÿ²\ ãñÓðüÎÅ8¼O-[ôÞpq-rûí}kûa±#DåmïÈl[cþaŸ¤ÎÚ6@-ãé6^U÷H¨¡LÔEEµÔ@ƒy·2Ÿlób ¹êH{UF¢&¤Pàªît’,èøn(i ®a–päŸ!2Ó­Îóð™„.á‚=‡“Š?¶†û FhNß>êOS{Ad4õÉT¼¯ÕÚ$¦~ûÞß^ßÖÝÖRÅn¢ÛN¦Bø.ácY§-Ovdg ‰×QYPÈL/Œ¡þáãˆVŠ^HrŒ%×JŸ²Ü/—ha"<×¢Ïæ™.ꥅ/’PfIWé¹ÖÏõŤ&4Ä)Ÿ[¢R6ÛýÍf;üJw‚>èQØ}ùeV‚÷^pKFCŸæªT¤g 2kºÐ4}|ç›tJSzŠ’Ü~ALæËoš¥|g". $3 FªÉþUE0<,èœ=›xƒ‹þìF‚á!CN“&[¿ª¥·Š-­ùÎn/üŸk»ðºP•ö ¡¦DUv–ˆÍù¾!-sº^Ìý¥4Ó|}Òœ{2ŒJ¸:‚L2×!Ù:g6W‹ø^øCêlÅÁ˜2Ò5"Ú”DÁ·_Dý¹}*¸ÒÜX ]äg‘g§/{ÏÈÐX#7ö†­h®¨´<Ï q*U'Ð\S«!ÃN¨ê†Ô<™†!¦-Bò‰ þ‰fÕ’ž¢0W~Š#\¥(Ä!ã³÷ó>ê.vq €Î>áûLþ ¤5'–ÑõFvl-!eèFÇ Ÿí-azù&1Ê+ç(ûíÍþ0d!¾ó¿"/¡ôoª ˆŽÒǤ:cA3šrK=~BS\@<L™á­Q*£…·ÇÃ~[#m[ÃMF ªаñÝÂ’AôÇ"·{9!Q?g µ`µ0W|ÞN8XVÚYô5˜Ç?žÌÃsóø_w>j¹d-(:§©Þ%4Rá¼c7ü%/@jˆ€=î0Úê¤ñý{¶8(ÐbH ÊÊÜÒ‡0…ó¶ÅÒ}lýBÅÊ»äàçÞf›,Y%5‡_{Jêy¸–T¾M¸À’‡?Ø=¬&‡Q<^ß}{¾}ˆ÷J„âÓ€ \QX3‡Ø%íÜ V”ˆ¡.‚¹zRH‡zëXÃû‰„­tîj*²”cH'*ªÆ´‘Y‚Z;¼.bš±±=ñîC‰@+Ç +¢ô$wíH¤&·c­P±ÁùÁòä”Ô«]“.´M‚)* Ô²žŠifˆ̲/³J– ¨Sú)Øb5Çσ½u¾jþÆÎ¿ gN˜ÖØ™.ÈtTÐ-O£c?áÐz…LŸÜõ: MÿÚ:Š‹˜Ì.þT  q ¼àQål¼jpDÙ’tµ¼Näõ1¸ÝëìñäˆáÓÝþêz;Vý¨ÒøÇþg,küÏ7­hãšÚ?Ë$îŸrÜDwnž{ÞdèXöÑ×qÀÍû°¦³€÷¾ ÔX¬üžœb÷Û°sûØZ Ì,7õ ¦X¦¤TÕb‰ü~Þ†ýîØK ¬‘­˜Ö)ÜŸËW«î±²(ô…%m¯i——-ñÀý |"93à¿öá'ñÒm÷Q—ó¡ •Üå¢# ú¢t6ÏÁV§Ù´BÎÀ#i¸º~;Ü^ϫLJ ?¦¤ºœr#‘‹™Œ¥#9VLõ‚ttDG6ÐŽŽqz^'¬åüDÂðîIއƒ€Të0aÇ‚[Í5)9šOláH™€Q!ÿÈã¹âÞç$K“1Ì,ñí®½&Жtï–NjôÉÁOìópNCSk[õ©Ý‡]ò×É‘B5/ŠÎÏ{“KÍ)3G"%mqæK†J®cÿfÎs~ÀÇ÷ÛáèɺPÞR`ã_2·"@ؼËjh’ŠÝgõÛppõÚ6NŠÈÙç—q—p©²±”lx(4zÿ{õ’O"^µæaUu²³÷ˆYª'1HIS Ç4;þ Þô>V¤ZÁfÓ±t6}[Ëu?.s’õ(—¹Ô@7Ô•¿‡`à_ãʔìŽY;€»SŸW5ýò._§hÉRYAg¦¹wàÛ@#oN²ã¼žXvÖq§ò?® ¥¬©&éÙ7pß]/P$ßyÔË#NÜøñU7‰¾_Ô?©´Û£Weì*ÓŸÌ@nLòÛ¦?Y*Ôÿ®@Õ. T“€lõÔT:T|RÝtêÜ£ÿ /…Ô²@.Çñzù©ÎÿM&l꺷§wä' -9ZX¨¥9‘+*õüϽûã|ýƒì ス'@Èï¾@Éî2Rtáp'BEƒ¥ Гû1*Ê—=QiY,m?ÄÑÏû“ƒ°õJÖ"8 ‘»a¾QÄ)ßÂqeZ:•NÎxh9æÇœÙŽ.$Ýd?œì&,ìã¨?å7LÅýmÃòŒ—‡;ùŸSË• ó|1=W•³<ëYÊH¾åßr…q³1Ù%¤ —[ÈÖWJ%JzéEe6qôï/þö!Æñendstream endobj 378 0 obj << /Filter /FlateDecode /Length 5436 >> stream xœ­\[säÆu~ç_ˆ’béŘ”gŒ¾ð[ìZ'Ny«b…‰«"åZrIX3 ˜ÉüúœK7Ð7Ì’JÎôõ\¿séýñºÞ‰ëÿsÿÿt¸ª¯ï¯~¼ôíµûß§Ãõn®~÷Æov]݉ë›ÏW/›­RjW×mõß›VîºV©*4NÃñGÁVUró¿7ÿžjë7Ú*³k­åí†Ç ®£[ÙuÕmðyøÄ;t v©úÓq„ j »·Õç`Üú¬QwU¸V4ýÄç«Í®3²zNn18m¿ßóuÝTÏÙÂeâ ÷ÙÀŸ¶«Nn´~s| Ný-õH; ‡ûSôÓ­?R…Oke¼î~id²ùái³…vÆšlFº¹êTuÚm¶ѵ¦ºyHw°HÆê«àëSù¨JT‡#ìŒ|©[ÇÀÂÆŽÄ]§#êËêôM±ÒZÙ  µ3º“×7¹ºùço«Cÿ2 :büE—ß?Ð%…À2°ñð‡¶š>âeéZ¸,Í]¬c,~ÄÚÚT1±ÆŒt¨( ˆ!¹Â…Æ!äà=NÐpÀ&£é¥iªÿ ¾þ@ŸM§AQ>zÕ5 æ÷Çqˆ8, “ Ÿã㞾뫒^eGú/š‚9žy"Ó”‘Þ5)r8k˜"Ê&§¸ÃI…#šÔŸzüAÐj¨5´2اûUþE?ŒýÞÍ­cÙê´˜±? OáŸóIDuü>øar ;Jý´1¨]€3N#…n$ ô;¶Nè/09)wñûôyê~SXm•´ÀÒ7½¦åVý8ŸÈ2üÄ—ÌÍ“Î(GFAdì—u²O1ÏAa r¼ú—ÍoÐÓØÈÓˆÝyšêù¬êib—» ­vRèÙ%õãý—€‡„µ¨t¶¶h˜e‹6f6ãÀÉž(œhª>¼Âª©ºuË CŽü]_Îø^ËÄH:ÅeŽÜã¨Æy«PËùçU1Ë ýƾ4¦¤ßÐvÚQòóþîå0¼|W}·)QÓèµÝLMf/P¨ss2°ù­FOM±\^Ïö·é@‰ÆBUÇÁÓÌt‰Þ>±™U"q¨ý)1qxË- ÛÕ­¼ÞΆ|zȵ·m4H3Ê ²¨Æë"šb%/颈 º%ù\ü *šn‰ßƒ„…v`<²›ÑMõÓp»¦‡·nMP«Kú³5 þ2wǸ9¸ãɹx N7š ÏðÕšXõáyÀŒ’É·h‡/<:§Æ³î–+ô›’0*ÓÁ¹[/ŒÇñðeßÕ| l "ü‚ ’lè]q²~…dD$uÜ‘ñ¿—x®DöÑ_ J EãžW@òôø‘-vìý÷yt3@?û:3t¬&÷b4æ†æb$ËO3´`ãM JfÆ›Îg9ÒJ0¾€­xBѤtv×Ôž‹·x¤ bš.³ÌŽ%¤ WBénrCeÒM܃ÑÎd›¶€¼ý2“3-šNÌÄâ%dÒpÆK(m$ fr?KR¥@Z™÷dðf{'5Û;ú]ÉÌÞHaHÕ/Eu¨"w-t ðôì÷é/Àû?lðM@{Ãíý @@פdÝAݹ³›õñ}xÚ}¤ÐžÐµ‚Øa î{·AìV#±ÿ)¶i©\a(Œ8Í #š‡ÈEÀ¯èƒ:"Á—„„ø=Ü‚\"ÑEgÃ"4‡¡ FçyŒMuôâÝ#E@cL‹ƒä:3ørš†ŽÃi?Ì·1nR ò›ÄãÞS­Îy \­©3º,ƒrðâ.ºœw¦ž* $Óè,RFj§H2^N~UI&”V5.Ätaßzˆ¹!(ÊBˆ K‚zÂȦG&}:E"0¦W¨a\˜ ø ²SÔe·o-ßÔ@Ô Pâ?ˆ22LºkúÅtI¨t#Á÷IEÎmÔIw2þ¼OrÎXƒ9-'ûD ©$°f@º&ÓX^TQ8Y•~ÿ:‘TÔoëã\Xw˜C$¾ Bšqè#™(¤B¦F éQÕ!н„ér&ǂŸõÏ—¥Š¥ ”VžÙ\IÁe¦ƒeM2üý¬ÉwŒ¹1hìÃÃq4©É½‡3³¥ÈLQ"E Äãyu{&¢ñgRAîÉO–U䕆XÚ˜1ü_>Ò4…ª‘¦¯î‡L‘n°ÅòûaÆâÁ¹ç0ýThrŽ£§Iâk^úC•£KꢈlœN kÆú;Ø=àéto#TÊ‹Šj‚=>‘ö›¶G†‰p†S#…VBP£“³”2C]°R%‚˺OgÕUñ ±•œVø<»Ž,$—¥bÐ2Œ2Špâ¸À…]’ããÈU¬%¯oÝx€ß“Hh‰W÷%(TÆ$<\ÝfªƒãkpЄDÀÃlBÖÄ„÷ÑkŸÔø«‹žŽà$Çá8®¥¬Ýk}ÄðödˆÃÁÀ…,QZ Oð!³ËJ1 R3Fyú2½ôV¡xÔ6Š:Þt{m9Lû [P‘¡:õ?pta›DšpLÃé»âiL»Óµ[µz¼{^‹×4ŠtÓ^ˆ×< æ@˱ÉÕ^Pø® ¡ù-2¯¦„ýÀ»q>BP"Þ§L«ÞΑÁâïÜøÆY A”ô®“OÉÅ+oy£BPåÏ!òuîGÆš[èÂÍ$)±8BÎRÁBÎ W¤Ÿ;ˆ=0æÎýÙˆÐÈ™"—¤ åدöóÒ:¾Õ½KÛ¢v±KR WPmdCñFn®þzÅuGs=¾·ÞˆÁˆ”âb³Ý͈ñ7Îû;´DXòa¹ÞHÜlê,XÏq]·tÝ?„×}]Í¿E ÑôŽ„d®F€ŸŽ”àÕ7Ø*S¤88µoúИÅòÞ( ç{éH9©:VßU¨Þ¿Œ=`ˆvp¼pY î2XøÝ+¶¬µ:bøwr-‡kY¶gæŒËéµ4=NäëO¬3ãj!‡­†LÓ¡‡è‹ÖÖRÊã+þM» 0æ>EÆÝÍïD’G”ðöÁR4Œç©…I’²î ª‰¡†Û¬‡æ·n¦áBM€ÐáiâPv_ýì<€±<ó+vr^èÓþ úµÄoÛåõœ YC—íëÌ®]bcKZ:°;ÛÙîE³íâ¦S0FÛ6,ŸZyV|f w'_¦î¸*ÇåÛ Úmýe1š¹Pã…`ñï[º&7#Ày‰¼Â¼Tq]YU·‰w U„¡Ô¶»¶i‘…[&ñMFJøSŸÉï„Û‡FaOЛ|‘¿?žxY„ ò?Ò(Îñ!-eÛ€EàÔ†·±Ó¡™]ìB\ͧ¦úí q_ª¡t l Ù~?¸U1D¹#œ…Dlš–úùT!ˆ?pzÀ¥iØÍvèŸ2½ò¬ÏÄ×ûCr€ŸMLÈžC7~ó‡þ>7 º‰ŒBƒ¥fãUiߟNC„èïŠíA NZt^[w×Õ»F¶à¤êP‡½SØ)Ñ?ôsu©£±¸çØþçb† öÓÚ´*ôŽÂü¯$7Ep®&+Ú·þþ¤ùGLöºˆœo' åƒÎµ ¼ºª6Žô/nBÇþWÒöŒé!IîHß'¬¸»(Tps;Ÿ½£Ü™ß)+àŽÖ¦zœ—N:n YÛ%òÓ˾Ҧ*–¥@>éÄüµžwÖ†Ãòç{Éð/ì£ MfâO4–kL“ùm¬3¯‡0¥ò‚[ì8E·`£ÌópŠ ‡tÀÆ=¡¹(cî ãd7ùš+™8F]f .þVÿî·G>Žþö©í™â¨Ì‹ôÇM!;œ÷2ÿ -\žòåš ÚÑRãñ°)Y»>6MÁØ9AY1vrg”žÑíÙ’·É* šƒKÉÏX§H¨Á_­j/¯OÀ½5 û…G‹õ+Šó¦”ìæ>€‡a:ÁpV3#€Í +c‚,¥ÜñÞÚ'ƒ¸Ç‰!Ç(àmÄ@ªiÕlä»# >{ŠÇ¶:~ÿ[ÌHXêψlK4Êe°sSu®ÅÁ0ŸïÑ%ÉeÜœ€Å’𢄂â]ÑdÜûöŒ¼ø¸-Ü¥*íÝb@Ÿw4Ò–Z“¼² €ælbšQßÞF_ÌС3ÒL‡³Ô9H 1%Š!?˜F—´`ºŸÙÁÈwÍ.CÄó÷µñ1]Üæ5÷Õx&RiM¾=صr3 800pN‰¾ ‰¸ñë’mýØÄo…Ò5Ç.¹¯ñ±Ë·ÅR‰Ž2­â§®/‚ ¾wVš°w6KsáÚ¤}u˜#®@(E©çCa\ +ÐÇyî§TCÏéï&¿|Wmâï‚òàânæDR¨”çûÐçßJü×ä}äx÷yX·Ô²63ÎŽ[5å+–¹‰û7£&±”’ÚåJRlEßë&‚¼›í$PŠDc¹‹ÕõG bÓ£Ÿús+˜¼nÚùzáï*-åWÇ%€é÷eå¬Ûm=s¾>>Á^eÕÔ5ýq^5Ï xÓ¶“>Åÿõ¢ì§â^–Yr+®­»˜ò¶~¬3ŸiÒ?a×\˜{1Éœ… <¤­ß@H Qa=ëՓ'9—CÔ†›åá…T}ð›©næšãiÂúÓŽmÜå2«@ÜÞp¶«ŠX¤—&þ¶ŸÔ…[‰ n Ý*öà–ÂÀ$å!(vZÖ]áI`=ó$Ôš©Âøci–K–Ÿ‡wÕ¿EL›¦r¡5ç¡øÆ²xc^`µ”ÈïyøÁÒþx¿õ/B²ÞBÿ"d‘^ô}µX³ ¤[ŠòÀ¹nÁ~`{ïkµ"¯Ü€s„ŽÜLÔ0ä¹ BÇ™p(Yá ÐWÂÓ+áFåÌè2U¤{äb~SÒ¾NÛ¥a—š$ÙÜB:rIÄãíJøœ%¤§;q©ùÎæuáY ÎjÔ¯Á=w˜B¦Àµ&\jœÈp†áGnÃÜÞ÷@øó—\CWT=8õC.,KÈK›*÷v*²¬[Ï£¤/:SцÀÞ‡àkìÀ7fXH ¹Wó±AšLa«åžºÜàF›ºíÐú_ÿòqrKtg:”i1~éæRåô&MøzÍ)Û_ø´¢òGi»_¥‡€Ó‹~Í%£‹NË]ø°*ÈçbK áÔÓsÑËÉ4S…TºòI{Q='<ÔÙ`'°ƒÑ"†­d˜ÑòÁç¸H…ë½™Ç5ª9{ÏDáŽk`OnAmò¦R ]²«MmáºqNü0†£- ¯à%ÛÜ”Ö-4= Q‰\J ¬Žû!ßW]€Rb§»æ 8¡ÛИk|þÑÉ<B'+ßû1\‡†R1¤¯Iµ{W| ‚ÃÊó˜È#OÚJV?Ÿ–íž6Io•c\ÜÖtNÞ?ºÙ†*QÔ* ,¶Öp½Çî&¡ñZÆ’_Š3(%´ÝYqé5’&©À¸u§W¢ ª€¾qÌ«[ËbÙÁ³¨¹µTEÖÄgiAt …è6Ò$š%¹kʯpî- QI{^RèëýºÚ¥‰iNRsäp¬xœRˆÉïKÊ G¯Ä~Ó”VF‰BôRü}±Â‘t/Q^xyRmæ c!›<©öðżɪdøô¡eÜm³k³î;ö“Û¬>ƒ2û‘u™ßDfïÅ×¼]Ä­bh*ìN.aðý¾»ñ¶sEïÛw%ÕØ‹Ï¥˜QtYõÑ%ó¾ úÁhrY®›ÌW´Ž&°´&µxøÑsXemï늭© ­8òîTP5-›g­Êë9bŠ=Ê9bž“wTQÎÛ®Õ,t]ÓÔß}£Úk¡wJ[I`K ²|[]ïL­sÐàãÝQõ·MÇ ˆ¦†G,T7ÜÄÿºÁÆ aÓñ Þ¶1œØÙ€ì=?úqÕíNYÕìtîÆ‰N$àPºüOªøóH½R9‰ºÙ´ŠSÁKR˜dkÊTGÜ=WJä6dÁå( ¶v‘ƒw†¼‹qÍ$0`fpÑ&ߎþ1fKOÒz¿ 7)®ÑWRYbÕ9âÏ5ïò¦ªŠÅ4ìçÁÓ^(ò9bQA–ù§ð1¤œ– ¹ˆânªKœSøÒCórÞž(ouŠ„|ôƒ›Õrøñ0 )$P,"sA/þÉ:ã-¥1ÓWLJµTLy3|áeMž˜Áï•-ˆ4¬z÷¿y³Üåç½¥§;ÖÊ*É1ƒbñ ›Ãgýôê–É;î—8¡ð02y ‘Á޽.´<];ÿ»AîðÇ@>Ö2 D‰óÐôžsÊrI‘,Ltn-Eâk1¸ß~ ð͵aSØ€ŸsœÎGY#še+Êh4Èä-Ú¼¿-à½Ò a>’Lá!.Äó…, Ÿ»U}صìöL 6b´tR(K 6|°ôȳ٥šBjh<'c¤õc†©•iY³ Æ~pCÒ¨=ÆM_"E‰œîm åp¢GÿK7ùƒ¹_ÜxB.üÇ, A.…ÿ@ˆžëíf'<ÚMú#ù%Æy¼{ÜÐîeïEè”Ô©#„€+¾úäèþ ÿÛ6·wûzÉê÷ß©êîÆãvxüG€·µÍsAº›dîü ä¯WÿŸ åendstream endobj 379 0 obj << /Filter /FlateDecode /Length 386 >> stream xœ]’±NÄ0Dû|Eþà6q¼ m ?8Jq¹(wWð÷Ìl8 бôâÌzÖÞÃãóÓó2_êÃÛvÊåROó2nå|ºn¹ÔCùš—ªiëqΗ_ò5ûµ:<¾ôëç÷ZjüP¦_ûc9¼wqÿÔì¦|ËyísÙúå«T"ö0MV•eü·tw Óí×Áv…¡1`¶]ah‰“í S6­¹°{GTs‰ ¾{o. YˆÅ\Fî¶ÈDa—ÞЛK¤-DD €™%¸Ûs‰`vævDø:÷bÂ×¹·£76æ‰l0ÂÝ鈽¬À;s2¢ xTDP¡Œ¡(£^JYJ£¹€ìWQU½²²²¢ªzeeeEUõÊê•_½e Š €¼ ͉hN½Aeƒ —J‰$^{™ÉÏM<7%s’ÇHŒ‘!yŒÄ ’üQ°rzncÂAâHÞ&°Î×m+ËÅçÖç’ã8/åo´×ÓJW U?ùÙÇÇendstream endobj 380 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5318 >> stream xœX xSeº>¡Ð9 Š¢Ñõœ:Š‚¢8.(";J)……¶¤{Ó†¦IÓfONò%'ûÖ¦KÚÒ%]i)´,²[eQAÄa¼£ã€ ÞqFqþÔ¿sçþ)0£ÎxŸ{ïÓ§}ÒÓ?ý¿å}ßïý" ÆŽ¡Á=+V®L—I–ÉÒó²wÌ™=s]æÎ]yéÅñ?=»W»oLìþ„\œ÷Ý­ÃÉã`bLÛ}Ÿø®Éè/w öIÈx;5A Ø_®1˜,6Whqa‘¢8{§D–ôøìÙsgÎ$?ŸNÚ®HZ4+éåô¹…ò’Üì¤ô‚Œ¤—g­œ•´ªPNf'M+,HÚž)IÏËJ*ÌJz53%iý+/¬{%iéºÕë×¼2}Ö¿ñ‡OÓóŠ$éÛ3eéEÙE%ÙE’l™„ü’I^çÌ¡(ê¡‚”‹‹–”Ê——)v(3Vef­•d¿š›—œ¿`þÝÏÞ2QœÄLžDQ«©§©ùÔCÔZj*µJ¡fP©Tj µ‰zzŒz‘ZJ=N-£^¦ž¤VP+©§¨UÔ­Ô$*H±«6]À '5•”—KcM¸=áÒØì±ŸHüY1ýí¿lüß&ì»eÚ-oO´ßºøÖ_ßæŸT:é£ÛóïÜ±çŽ “u“Ïß™u—N(þñnï=‚{²PÇm“²ÒDb3#ôÝPÕ™„ØÛèA¡Oœ8•‰‘/Íy%h¥Á×ÐämôFØÚ£ýh œ¤ßÚÖ·xNêr™’1ØMƒ4(ËÐ*ʳ+Ö€™Ö|6[ÄÅ„/ÔìºÎ_™SÊi*7°kq9§2ÊÀ$V„tUO›±Ù\M‘OD®ˆ+âlUE~úÐÞ¬œ•©ø®òm¬NfUƒ†ÞÜ%9p­=ìanû{ÂBÑaAT0\P+ hAϼd³ðÊ>,DoŠÞ>ÿtK{KkãžÆ!>hóÔÒþÊüò˜,Èäwm¬¹Áɹ­¬×µ@!Th*õ:</=…6™‚à ×ö;Ä>›Ïa: nû6Ò™bXÉ“·«A®ñApÈ¥ÝåeÑÜŽwb¹ÑdµMâÔäÍå)\¥UPFnÖÛ:xˆ2=ÐË‘Š¸PçSÛ€ÕÙòìÐÕUÕà׈}òåWXï¬}™2Ã,ÖXuVPÒj?84™o‚7¸&»PË’Þ-áo€ž+ô˜ziELHøÜÑìÊ4>«ÓÝj)Uʤf‹U¸A‡!àćÀòAŸ$ÆàÉÜõ´ÄñªŒ¦åГ´&áßÚ8^œ¸øI“¢òU+·ÀJ—éɱKCwqãHTu~”A)Ø•l©Ýh‡¸½]Îú.ô€ÈYkã=^dC{D¡P[[GçÛN±?Þ–šdrz€ÚžI2¹„>5€ÑdÑ[]lÉ‹k_|e…rÐs8‚fŸ¬Góþ„Ƴo\¸vø*Ð_¿þ,¦wpVвZR¤ ØkœÌiäÇ[Ü:ÎjÕh˜žÕ…Ò.áã¼ KIž&½ ™¿¿oð(ûùoßO¢ $ 'GÑŒQ>Äæ½›«D]ÂkëÎ=·qÓÎŒF{l[}Ö(Ôu Evåjàþêá>SÆiÌJY«Ï¶¶‚X­2½Óìinå¡…í€N®hgÔK I‘ýè)w,h‘¼4¢Ñèaô‹'á…Âì6åd½¬òC€ƒ°‡PŠ»¹¹¥¦JÜmu‡îk”¬Y“ƒ¦È$¨HXðÅMT Ä ÑóÐXü(ƒ¯&–‘(Ô^¨ ÖX­¶Úââ@f+Ç©ñ”‘N‘6â_H¸~ýT-‹>JDh#Ú‰ Ù'z„*Ç¿œ‡Çd-|OK¬ mZg”ÝYƒî м]v~ÐMüòÃd,"! ®ÞÁߺçZBL£…ǤՊâé®J§Ñ¯aêåA)ì¤ÓWaŸ"ë:r¢ùbôCÆv†wr{6ÎÌÄSu×+n¯v2­_íkhÚ†Übm‘AÁnÅtel£1u¥|-<‰>:BtbÌ™/þqûYïÐ×gКk ÃKÉýÇ‹ª”ÅÅä~—Ñ«güš&)l‚ì‚éÒi²DBtosQÛÉwÔbûÑBgÄ×.qM…W¥Vèå†3lƯ¤†|‹¤”›I–œŸ—ôx/Üîì=€&±þ6Wê蜞ÔY?¿ùóÞhÐÞjkn±¦Ð $áOP§A&=û-É¥ð8ßÇì^þޱ .ÁþÓ»‡:/·£)pà4aíª›.«ú5 c¶Û*½ª.üsô"+oŽ7jªü´Ý+ºöN¯£÷Ä5¬†vpný®bJ˜—@ƒú¦F,^T€"_f4LÁGE ÷¼ÝvßE7Ôxõv#‹ïâ°g¨ü_#)<‹îäÏX#±Ôí ^W‰¬B¨q»"|Û‡æ éò4ŽŠâˆço³ê4šëêÒ×ÏCc\ä:eâ·ÀL:¼ŠÒ¯#‚ÖÏÐ[Ÿ%Ä 7—Îb6X˜œ¤¥%D3ÊÛ;ÉPñïg;Ñý®Ý Ÿ±¡¾²Ð$/†ºÜ_Öi¯é;²&”½V’,S3ÅçÖû €~pÇ›åáí^;Ûùí¹¦N k»tkó”/eá$¶|¥$}+A¥Á&g¤Zèæ]U~±47í°|ÿ¹îó.ž dug ýÍI$lŠá‹—(œé¿ÒOÀHñ%Ä”±;„ŽØÁMÇ‘¥-7ªtŒÅ¤Ï3+ä D[ðKfÕ¶–8E³¿g0üfç¶z¯ÃG!Äu­¯­ó&!¤†2vÇŠu°™~ütþë½á–¦rƒ:uG²4;³ ´z ¯ì­† „>¯/HH-rhe9å©÷g½ùÍ7Ÿ¢q-„?‚žc¤Ú¨óJ_D°÷½„Ø¢¿ ]F7Ñg‹ÞÈ,œ† zEÑ¡¡½uè|“ž<¾ï8tžÊPQ9¹¤¢¢\eQ‚.©ÑÔ¶67öÚܳߋŸAüÀœS ÿŒüèÛ@üžó)Í[ž DmV©‰7z½v§ËÎÖž²y j ú>•vÃÎmO-.+Ÿó”héK’u$èQØí~ÓÐÕÖÜ àÓ5„Kkʉòüñº³9ŽGZu]aPV¿ ïBBÌtÓDYÍ£|Y±f;ÐEÜîºF»ÛfÑC±KãâfD5CgQ2zb ’&„ª:h7hN¾k=Í[ÈÈoÇà‡g_v¹î°ãÂëIïÊ9]ÐÐPÝîž"ÅIèyáFœbR€E¥o}u{y!Ð+Ž÷nG“Ùèë=}@Ÿ =m4ZŒVS|LÒDX«Õ×Xm2Ý”D¹Žœ#ãÂytlœýÚÊÜùœØ¨±–ÈÈkï⡃í„n®ã:}:›†]k×G Ü6'ïG¢X“Èa‹S‹ì#‹ÜJÞâ?OæIRì˜È×Wý€§[ÜõÎ×ÇáXA "‚ÁwQ¸ã' ùŒî£ö€-Zõ{4±Þ³®?ßæ|Bôþ̽/âü‹Gñ⩯/üò:þ6!^ø ~¶3Û{ÑŒoªv} ¹ ;~ã5œµµWbEQ4õjMDpô3ô6‘œC÷ Ó¶g¯PLËgŒ¥œ¶O¦_¼9hkÙs‰Ï°ŠG•³7€Ø ÅPV3È{»¡ŠnPʤ»2·ì/Ù{¼ïõ=5Lûét«Í=„΋>N¬óZ%ûËDÿ)«ÅÊQºà xkÃUõà 0­Ul5k% ¢e5êÚÝ­‘=q?|7OìË.5¡I‘Xk“™# Ã÷ßí6ðf½Åd´0%KÖKˆ}Q5kßG½ŽA/ZO£'@žŽóp–ã <}=ÔÔéð÷2æ•D+é\xæCtËA´ÜÏð1‰IÁ•xáLS—öâ" “S7n»ÔÀ>; ŸÀ;»ÑÏßGÔů¯ ^úOŸÁSXlyN*«Uk–jò ž¹°¯oO_mɪ8‡žŸöO¡Gw‘}?ØETɹK^ýþ.R½oݧè³;úŸ_±)/-‹¹Œ.ŒòJ¶Ho‘^i¬ ø>¯ðÔ‘‹æQ×"–Õ™¼ÕÕ“©}?òÉõÍClwy:l.Þ=ÑÙ©ŽÖ³ÏŸ½s}& õ2!ÅvAŠþFÔw_|0´o(õ ÖUTËŠŠ¤Ee!ecC[Cã)ý^&Š9«Rndâ 5¼Áöþ%Ð v_³ØS÷Sfç{Ú^j(5kY½t ¦Ë·i¥•9PJoî”$AMõÆ ÏKÛµc¸G0üT¬PØŒÙ6ðâ8¤˜‘#‰%`µÊVã%"«ÅTNÄè4¹}6gµ‹9†Û]ƒ¦Ý›Øf½‘S[¹8­£º,N“âFm?¸š[ìÐÌþÎö¡µÚ,- öÅÝ¿¤Å•`—²¼ž‡j¢Ñ.GÇZDî‡+À{íDmé¯ÌϨÌf)k5[ÈîAyƒ×o÷TÙãÑÓUq~}¸…}oúáMo›¬cKaš~Áb&;3cG¦êϱù¢ÿ‚‚UÞ€‹qzÐJWS'÷ÛrX0sZ‹ÚßW×ôí8ÒÖ\ÝašöûO’JÈ<šNò’Ô ?ekví¡F›ÓYûÏ1ñ½`Êh"ÊUm:}<˜É#§± \¼n¿ä@GS]w˜©Ù½hÌÒõ”µtx±‰¾­‡ÙÿX½V7Ûl©Õ©T2`ðЈjil÷¸pCp0ä¿îúvw;£€2[Üç–Ù•£®1®pÕ'lºbžýÍÈßx¹ƒ ‚¸NOÄ΋]îç{ì›­&Íwc®[ðáIqf_ýŸ™]{¤%ÀÉQf?Ÿ²59‹±¹ÎÂÆâú\g1ÌÔåJ™édzÛ–›Ë˜¤rÍ¿[ƪ«ô™ÿÏÏŠ …ú|¶ÓÚ,«Q—#6ËuÙ`¢ãšÚ=Ì2òÁ£h"€8.ëÒq¢<™Õ•˜5? á…Ÿ/Eë¿ e‘´Õ&%Wh•èüÐÈûœÌb•_®ÔðvÆá Ùƒfµ ˜ëà<ô4¶x·ôîÿ¡m!#küÔ‡1”0ü2™¾Ð;5Α×PHTé&©­Ñé4:§1d`cl!ß“tbWçç‰e21rÜïô8! &é«ûnlzqŸúñÐmä‰yäˆT¤f5¢óàrc=QÚ{ M¨Gãã·ú4†ŠQY~nóúÍŸ¡9³ý ßEq‹:k蹯O¿ÛðÆûL0¹#oè£ÑãÕ,^Ú+œûì³BØÕùgíFTûkì‹ÇjÉJ÷GÀ÷<“kíÊø`{²žÂ¿*EË#è¿"Áäl˜Ë~³òÄ=wŽÕ¡UBg„[¡>m<ªWT)ý>ùòôµµíõÐw~ÇíÀˆjZ‘¢öôšÍ€'Âl|6¾ÏÁ"½ÃL$(Ñ Þæx5‹Âkw¼ 'áÚ#{v÷¼:J/s Õi»6gH2s6—å\¼ýø…j{5ñ¢CÈÔŽ&_FB4ÄÐRQ-õªx%”A¹EiRê2™yzƒÎ 3É=2g ì„t0Y-`"Å+Ù ]MMoÔú*ÝåôOøJ²â)PhÊ7Ð+‘D¨2©¸ â óÀæà½dû BÀâçâ5?‘ò•Æî:%@W%ÄÎÄ~!l,…2_IÜ™°u³$CšFX  xì‹9ôëS¤XôÉÄ\|ëz|kúl½ŠÐÄ@—Uëƒmž–ž{ðð $¡q‰9xšn¼*(òdû¶úU@×Õ×Ô¹Àn ±ïÂYh£îcþ#4JL vCg¼cAá¥(yt°;å4öœs½v-!öÊz›"¿‡ýô‰¢Ð¿~x°|ÃÓ’s_Nª„žž*²9ì.pÒ>ƒÍ¤µZfÏÿÛôç¼™=pNLòØ} %9îðO¬s_ôµÞùRmq¥„Ý„'ƒ”0ãòöÿ4êw‚¥"™ÓÈ畈Üà°q5ñ¡=hº¨®Àµ¿î¬ßïo‹×ú•÷F³Ê•ÇRJÑn¹àÐÙs6!vU á7ÉŸaÖwÉE|ˆŒŸZkå”f†¨&žk"û‡ð}b˜q~!ºÍ ›)RoÖfÆõÖmu:í6žgìvWãõ[Ñ“N4Ý h eh®ð¡‘ÇVó‹»àOb@?FIhzFs1#<áI¯GÕ߼o>™sãÓñ=i|ú_lG#‚þs¨ó\BlSŒžS v*fñ,Ü…3[q§è4õ!3ß/Ä™‰á3uô]h>Ôs‚pôkùºT}JÉ4V—+Ô¤•ÎË\,Yš™º èœÒÖÏû]§v7ö¾Ïâ—åFуQÁK è»>!oõ눚uLž:š®&+ÉCI"¾OyÏÄc.-üöìÙ>?{Û."Å~åG#†na&Œ}µpâøˆÍÎ7T²UÙ&N¤¨ÿ(y:endstream endobj 381 0 obj << /Filter /FlateDecode /Length 5885 >> stream xœÕ<]Çq@O~‰ß¾e.ÐŽûûƒ ÄRl(X¾8¨<¬Žäqå=µ»"©<ä—ç!UÕÝ3Ý==ûqG+0øÀ½™þ¨®ª®ïš¬ç †ÿâÿ×·lqsñç§‹øßõíâ7W¿úÆ)xÒ{æùâêÕE˜ÂB¸^8¾°Úö^êÅÕíÅóî7//—¬gÚqg\·ß¯ß\âŸÒræ»ÕåRJÙ3.ºßmÿ7{i¯œë>ÇAªgÌt¿½tøƒ›n».Ö}‘ÍÝ®¯/@ ¼í^‡ ¼TÝ×Å„õ.4Lþ¯«…ã)–OxÙ[îáˆW/.:yyõýÅR)¾XJÝ;cðéóî*,¢œð¾{¥Ew{w¹Ä}œÒ0/z˜y{ ¯ºÍj·‹ð;'d¹îfýŽ ÷0ùe>åM»}w ä` põÓe8–sÕ¸è-SáŸÁé^ãé~õ çÅPdÕÜD |Û…Aårª Çü×&uo%`"Žù¾µ œO2æÂç݇ǗKn,Úwï“άDGO5ž¿[ÄÃU KÞkÀiZçÛK$àƒwOÒ!€BË‘Eo´]NŒóŽà{šÎ ¾÷F·”½¤s.^Î:Öÿs$§ãÒ¶–‡·ZnÌ=—q‹¿¤-L6VõFpQÐ=á-4!œÒI„WIK@tÿË7ÒqgõbÉ{k×Ŷ%ÊtϹçp³³‘'Ðúù„0øÛuŸ´ ×–óÄK—sëó„€W­ci gâäcyqⱤ4Eþe“÷8‰Iïלk`Liz­E`žî8 øÏÃꊉÈêðÿß:«WÄ@\ZWPãË&5@Z[<Nî?[k„uPàE›R[&dLN€“/ås @@™šhò½¢Ñgc¼ 5 ^T‚áEó*«Þi ÷49w¡…7Éø0Ã{5dkÛú °«3‹G/µEò2ìÇ@í¬ÈQû8 )í ¥º`ð „š‹x%*ˇ„ƒUFvÛÜ4i™ -•4hòƦÀt#îŸÏ›P¹Uy·/l"°›”‚?9ïö¬ô\óîÙJL¨Òš*¬±ýÝ&H ˜Œw¯âoÙ­6›ñùÛܸݮnãrÁÝo\0ôUý6Á«¼Ãyé¹òÝíúÃþÇÜäÞ©ÓP´[ïÉ€t`·ÍCPa½ÕIÑf&ÖªH(qØ`Š­r8^DÔi2o:æm:Bĺm˜·pÀ¥ ªUÙÉÝéRþرàq<žíL+ΰˆÙ–V\NUY¨ÝZW¹\4íÛ\t¢~…°•ôŸ((&G =zü´ j;nQ @ÅæÓ·pk9¸4¥¤¯Ø ØÕà}$ƒaJ(’ `ÌËÕ7ž+‹7‹!¿’Äá =9¼æ$xµSÝ]q­ŠûþyÛïb¶7Ê•Údr4mÕpcæ`{[I€ÚP¬¯ Å‹ô–]]ÅÊ .Áv®a‘À~?#«•GÁ.à è•-uõâv½øð’à Ý>‘J€°Ö°ëÕwÙ&›H]PRÂv»¾‰ÿ¥ä wŒrÁ‹ûyåÑ=gL—ZDš°Þ˜hà¦K swû6 ´øªP«ÉÇ'¤€êÙÇõ™êvq*¦•  ÁÀŰþ”øWkrí:‚PÅNŽ+ 7n+ ÅõcÆtùÔ’ÿÖÅ…é/—V(Âг\¡mök$3Qxÿ2îGŠúíã6»¶NÆ {Dªf]µM{+Øq· †-n«ã`u ¤¾‹s()"Šáb´%˜‹`N«B;%)ˆ¾~·ÎÿŒ§ ài……=àj¬C('qëÖ¹ÁûtF&+ÿË™»+щ' ›}×pÑ&Ú!h‚&3°ÁFÛ+г– Ṫ¯~ºF—òµbÏìÐBÌžÈÌA/A<î×—<œ®b!Œ ÕAa¬gf93iy„p"ëžÊÏðQ¯¤Åذº²— yø&ÒJó2øDöð¼Aö¸Ò~TÛÒ1ð4ÁÃ%&NR¯/œ¸á LIïõT2–ÿBÙ½$YSCƒ_‚Büžñ§Z3(Ï„lhš«ÃÆ.bNñÂØ hsdßý/,q¶%—ý8+’,¢»*zDÀ†å]žE˜bö |‘àêéó¬5 ÔºÔè‰Ô¦7)à¯ü )ÂGáÈRXãÓIÖ!7~W–y•©€»€Ž%fŒ,-ŠçSv׊tØ©²gÈdñh$Ï´Þ¨rO·mp‚¦©gGMjvvLØŠWyºæˆ)D¯…<KÁùiÀH.J`*_º‰dí¤ì†èPå΀ßã¥J û¨aé–v¼½¦ï¹Vƒ ™EtÉŠGÕÓð3Ëf|yÙÊ@I`+;, Õ1M÷õªŽ À xOu J@9o4)e¥v®ó«±þô²xC ÀF3‘(r¦‘¼,^Úaõp»¤é­‘•¥Ô›¤pPlª!†Gò3r^¡ .ùQݹStøÉ+ÿ7°á%Ç A“o,ŒçgñÀà_#bÀýLÐôx¼x1ƒ6 ˆA[%øà.§B‡uÿ>#UjÈíE#Z¦Èª ÷ðæ6gMòG ºZaµoLù^éàß7O¦zëÝ`Lßµ„|8Ö–D»wÀ« *|çà4»ñ`A“Ñi4¨ýQGÎÐzÔBp¤7i¸Q¤TwËLþåm¯ã /ä¶²»rý\ØgM1†´3†Gñ·×j¢iŒ• zig•Ú`‡K¼MÂÍ7‡í& ý×{Lp8½™äê[»¡Á'cÅÂÜ…6xGŽi[‡™œÖuãU qš£8#ê÷ ;\Eý†¬TY!Ñõ€"¬å£´%D~ƒ$ƒ-¸u­„x¬‹To ó*¿k\²b FfŒþ]+uf€µ1˜ühQààÀKk‰° Àžân˜ÄkÖH‘%ãÍ,–z|8ýGš¨²‰²wäD)A,d¯(rœ+’Æ ©$Å0SDè»_¢‰àì îK™Cá9‹éß^ËàŸ·b«¶çÜ À~˜ázg3gr½©Øuá‰l_&É~>Õ5(ãcl:î8Û/ Î [‰XbBÍ7“èÈþ^žÄýëŽp?2ÜYÜ/b~™N?ËòLA'±¼=‰ç™—¶àùîCÓæç¢ç€›‚Ï“ÑÔF¸…GÇXSr®Ýš°Ã€Ë’“tB‘œs æhý_Ç X:蜰½À,žNý¾ÉÌH¦äéÌ oÉ’©|’ð¶à$¢Q•ŠÎÞ¥ÔÐY&è°Ädd X=Ÿ¢0½ònïçƒÑ©dª|…Q2ÏÑ+M' ÙWyФ1œ/Ew·_•!ífîDÁÏT4¦âJ›À8RÚøQê;¦f¤>Üa•bÖyIò1Ú‰Çvà U´ò:¡L^¾™¤e•±'ørñ"aìJI"Åo/–<Ç‚ru³°¥R¸õ¥Ýï¾~¶‹Óy¦Z]_b€ Š “K¨‹Égñ7y3%O’‡ÖŒ•.ðIˆx×,ÈbÜÑx¿¦Ò¢ˆšõ›ð |Ó`ŠVld5ÌŸË!Ž``hê2“©snX‡`47èŽcrÙƒMÏ»¦ÍeáRiOÑ‹!!޲ŔowüweºFêãÝjÌÿâ 3á‡#(aæ£ïô~Lö…²-=à&Ös¼ŒOµ ¹s)… ©*_zÌÆ÷³JhƒÁùSßžœ/ŒáÙ—ã–™‘q(Y]Djh6dÕS’#уƒè)yñ¦>”…ª ‘±A›}qõOÏÇ„8 Š[ =e¼ÀÛ]®ó×osµ*7Àa`õÆå y¼Q3 .QÛ…xJ‘:NÀ݉UàÑbìúæ5½ÀRŠýLÚ;:†ªÑي庪³EthÅ×U£ë}<0Ø­9=ï69Ã$è*£”€Ò2çZŒ³±ÁôžÓkV±vÉÏ?­ª“­×“MàDsïN®@÷,ÆBNª@שӂ®ÝÕÏðó¤N ;Wv÷–„R~^µÀÄ_bðe+ Ôc ÃY§g?éÀ¿ELÍHƒ,²Ü¥¸î¯Û) Þå°¬µŠ†K7x.›Þ¸é1îè½äCpî/ *5?T«Ö—Ödc±*#T¤d¨ 4_ÄÛª¹áôJ¥ÛôÉŒd´)Ë«‚ÈnHrÔøb.sä¤/ÁÕµzå\È? ü•nZ†(UTmíž?Æ.ÿhÛ%q{¬ -€®ÆÞ?mõþÅšÒ ó€(½À0ù2i?DT©ût(uš`L£-€-‡uʆŠG˜¢À9^eu€D´ •™[»¸4s¡‘¶fF¼b“ü‹6Ôs‰¥p4—ÛÙB‹õþe\´óQû?@"”›…妤' —mŸX³O(¸o†œ 8£îrRCØõ®‘+ö{0˜ò˜èöî‹%UMkQA|XÓíèvѨ£›lÃP[T\¬n×`;Ê[Zò”¦”àXFgl׿Â+ãÉâxX“‘¨ã&S:¹"ùû¦¾—¡eêÜ⯙ð¾Øá•€Ef«èÜVäÊb5Ó& [wë˜ÃþÍf]ò[’(ûá~þú¦%y_– Šõê°&çÒõ£&ú˜p­úhY”TEF©]‡ä2ÃCO½VgT¼Š*:ëC¼ RËÓ ÿ5¡Ù†fžü¾^*ÇHøQÁ’¥Zºƒ;¸¹>È…Yå*îÒrzÚƒK+;eÏÅ4Î…Ðë8•œ×‰‹5©§–¨G"‡ÞÌŠ©:ì°þïœ#'•ңƕ·«á´™•º›6ãøàãs@ÂnôS1Îäâ§Y÷û6éТ`&ah)Tÿruñ‡‹ðy½ØÎ¡2vâg¸®|µàlÐWžÚö‹"þ±YݼNpØ k„çÝï‹Ǧ–X`g€º_ËçÇ9÷„³Qº8:aýÑ4Š*HÇIëfíâ².V„¥Ù«Íîn|Uðøj³iÒR äWÏž}õç¸ (îÓ8j«;™¦s7úÈÆN£Ïb±æ£ÿA¦žóº”d/æ„ò½¦jöÄ*aЋøXùËb ½þ]& q'y>—~«0O_)Nöí%*Š(1ÏFðI1ͳ…U]«ÝË ™öÐóû>f¥ä:Ôª1íÒWDr£ö:‚¡ïQüˆhç±Î ÿ°òp¡4©oZòøE–¢Õéx'"fÎN«1¤ü£ Î0+K•ÏU‹èÞj“<å_´Ræ·ÊRí€×Näõ4ØcÃçÀ.µ%OA¯; Cu$˜{TAQ'í?kªcíÖ¹XÊ+1㬙ÖH¬çÈên{9Ǽq!R'Ó€â*ñ†åØa&gë]Ið ¢™¢6©‰ÓÅB4½tån*Ï.$³$CrW‚=ÊjϪ›øYywZÉТDË‚2<'ŽÅèåPüÙLiÂ}gm‰=rªyØóó:³…òLeb&ÑdMÅ%ÏB1ø Qnë{ˆõäÓFp{™â!ÆÎ)Ës w1¸W¢– 0g6Ü· °yïDò9T€=!¶ç•Ën ‚nuI¼õ¼ù´ Sü$¼ð‚¨Y’*LF ( E2†P«—rcÝ!ì—Eû®h2¡1lHþÙe¨ºŠÓšŽÈ9Ñ–ÔjÆÕ$VÞõZZ3é’AWÍ"0j.ý›ÀÀ×™IñT|Ökåf{—GÇÞ†4ÈÈ ˜˜ŽÇúÁFÉ.´ž°äÚ€äúèù©åɃ²bÉ¥O¾ríƒîLß²HÂ=XA‡˜4°àBA¨poZÞ\:(S¥ÁœN*O¦/õ˜)}K]…–¬u*Ï35~#À`ú8­†Ç`VÁ. Š^ÄÉà›}ÓLÜX·Ïdb®Ññ†ôƒ…³X»3µ2ã¤÷(jžfB0d«|lœzÛ*‡ÂI±öYvÞ¥ïþEíOm’äÃ?}¥šû>›p·Î°ÈHû7:ó ŒGë²|ô¤™`ú1Oõj&ï¨ô횉aLâ'"bjôNžQåi;F-ÀOÀTsØô¦]àÇŒu4y`3:\ƒu4‰– Yõ4èˆÏ1£±A¼¼ŒÏ­<ͰǵkÅíz!O°ëKÃÀiº¼B‹XnŸ¹¼_ÌT’›¡‚=âÒx¾Óž%6³KІ²Pêb5V±Ô…Vˆ]QŽl²ÃZ†F9;Îh¸UÒ‰ØÇ%ÔÇw«,ÒÚ§ß³Pž¬ÒÙë.°™XȉÖ!¾YÛ´·U§`¨ÐËÄy9\Y£‡uî³Òcieaêès¯¢È€¯ŠÙ%­¶…j,¬LK„ïãRAÜøfêƒÂFåGBB¢¼*Mˆ¤Áe2‹(Œ+xõÑL|ÇaGÇÑD݇c’Oç5âNvÒk›ªZ…†¾ïÙ°6P™uì¢âN¦Ž;i :åÏm®'&JÔÎ^Ô6¾ ›ág'póZ‹ÿ"!¡«MàVŸj ‘i‹_ü*:=æ¡}|ÝZìR14ƒ å8å:²^Úô ª¯Úí]¸Œâêò”ñ äUìD<yZž‰¼‘Ôò(òˆÄÆr–1ôà|Nø¼éÛ´ x«ú«ÞzT{Ë|dû{ŽÂú^žn)ÿ¸@'ع ób#œð½v•2äP›5ó±çRõ»ž. pZ©5c'ÚìÈÿ?6{ýõk —"YÁ3%dÚÛ«¢JÙã×’¯$šÅy[ؼ;eB‰ÀÄš|•“ç•lZÁ¥uN\r‹Y:[Å.ÿ˜—ß®7˜VÆïI ’XáOì®j;ž±™p]”OÑ\æ*Ç;ó°éyðñs+ïfû½r®8À¹C#í½9÷Os_:aYçç uP@­òì«cx&/Ññ#¥ÀO¯åCŸÎ¹Ü©R¤|ä›È?ºŠ1âCfTíŸê…Õ§_‡ \k&ÉbκQïX¶@`g„v)މíC$)D’÷…¶MYq‰VUÑúU¨ŽÃÊ…F è‘]Ù*ò"MÑEÑ$èEƒ|+蕇u'a¯P-m,ÜSü@#Ù®öwÒÇØÚî&•÷ëOs<4ê‘{öf†CLk,bEãÙ~é˜Xˆ•w‰py„»aï'2Dß+…jžíYŒX\n*;øÃÅÿùèÄCendstream endobj 382 0 obj << /Filter /FlateDecode /Length 273 >> stream xœ]‘=nÃ0 FwŸB7°lÇr \Ò%C‹¢íd‰d}:¿žÓ²™ú£¬á‹73/)¾­÷ØL|YRÕ´&.a{˜Öpõ¹ªOo>ÿd6xÀóîïþÊõçáÐëQ³ kä[ö‹O®ŽÖÒqž©âÿ]5ãþcšOÛR¬E…ޤ@Gщèí+X‹ mH6¢-)ÐV´#Ú‰ö¤@{Q4é´Q':O Ô‹FR Ú3)¶ êR¬E…"Æi”“(HQÄ8rå#@Yt&ŠyÜ Ú(ßsN2IÙÉs&ÜKá´éât1²%ñßnóšå—Õ/Sôendstream endobj 383 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2099 >> stream xœT PSg9ßC%ψ÷%;íX¼(ÈjÅnDE´"rÕ“S• W‡ ò7A¡r¦@B8 È!*Ú+ZÔªL±Ûvu­Zm•v]®²ß£ÏY÷á5ív;³óͼ™ïÿ¾ùßÿwq0>ãp8¢u!ª”¥§ÇÂYB¦"&m¢:‡våг¹ôïxÀ˜ÆÇw À‘ŽüîÙÉ"dtFñSQð4ŒÇálLܱB•ªIKJHÌ.òððZ¸ýzKc5R?wéÚ˜ír•:]ž$QÆI׺ºK׫Ôl1Iê¦RJce‰1Šx©*^&Û$ ]*]¾!t®û¯Þõª€a©T%$)RæÎ÷ð\䵨{Yä»;Ý0,Û€`k±@l=6 sÄœ1FbÓ±Øk˜+¶£°Ì›ÎÎñ1-v‹ó®WÁsåeó>å¯àA­P†c¸7¾oÅG‰U¨Óé)w¾ ;-°k-"ÄA²²î˜aÇ7Bö(‡›`Wt盓ƒÁ¶E«‰Ç89Âü^+Pà—*u[$L©…J# ñõ; …£´'Û}~úÂùªðŠÉÿÙ)­×Úh §í:ÚGËQ²MsŒ™Â8Ïc8Œ3#~49 )ï!’ZZ)†όʌŒRn†hˆjJ=–Öç Â`s뱚ú Žd¶D·DC0Èö&ÖŠB†ŽZë­¬Vòú ØåBâZZC»‰Íqê¨âØŠd´11¦LWwÿ?EYd¶,ÉÎÅt Na-4¨ÕÍî:™NÓÂ9xU²FŠF_ˆájÉÕÄ/#îz×Ç@øíˆu—û—¼ ï€o¹ç!Ÿ#˾P‡AøkSÿß;Fö\¿K«Åà «µïå-I‰„8Ø`ÓÜÕž…Q8`¸r°Mþêt°¦Ám_(øÀº ƒ±œöØ/°(¥~ɣߞa—ãžúª =„7ƒ1ƒ |Ï ä@(ðF¶ÏÇ-Ä“:id25‰¦rt°ì6î6wW¦sŽŽöµæv£endstream endobj 384 0 obj << /Filter /FlateDecode /Length 241 >> stream xœ]‘Anƒ0E÷>…o€=H$4›t“E«ªíŒ=D,b,‡,zûÎ MUuñü‘=Ÿæt~>çe³Í[]ãmv^rªt[ï5’è²dãÁ¦%n?¦Ïx Å4§—P>¿ Yмûk¸RóþÔ9}å÷¡¸&º•©†|!3:‡ã<£¡œþ}òí>1Í¢€dÜqi ¨U#*¬GVïQè½h‡ k'z@ ¬-[ {åCwå`«a¾Œûç†It@…5‰òÖ¨K>¶‘}¥¹GQ6Þk¥¼i½ZŸ´¶dúýe-2eó l{zXendstream endobj 385 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1568 >> stream xœT}P[U@ò ,«Î¤CVx/ÖjQ,Û§í¶UYFKK­ÅÚ*im€Ć„†„À¶¼DHà/HPG¡RûeZ—uÜ~,ºSµ:Ó:ºã¸t;³Ý·{_8ÙíÞºÎtfgvî{ïÜß½çœß¹çwY&3ƒaY6ose¥ÉÑXÕÞTc³´¬X¾l›Øà´˜ìiì!å>VÉÏP T€¡¹²¤7 rT“y<_“s/ùîòÁOÉôÝL6Ëî°ºaðЛ§¦/Ì–ÙšÛíæ†F‡aåòå«–-£ã/ 5í†'‹ ¦Ú½6WË^³Ád­3TW¶Ø\tÓl(´Y 5b£ÉRo°Õžw¶W•o«2<µí™í[«.þQÞ±]k¶×ZÄ&§Åan¶´7ØE“C´‹ûœ& Ì­t²ÖŠ"=!Zfk½Ùjv´·˜›ÌÔ’Ójní-&˼:›ƒa˜Ÿ0õ/7dhu÷¬\‘·6‡a&#³‹ÙÍa{Y`ûØ bÃl„2¹4™L&ó(ó;æïl7ûÏŒHªö¨>ʬË<—µ4k„¼•{Suׇ ùU‚MVn´ Ü|êŒÚÝ.× ÊõðŒ ¹JÛ[•ý‡·‹%–OUJ útï©oC¤~Ú{" CŽsä ¼ g{âŸlz£N&ÚcðLräi |c‡Ç_{íÐá‹áH_8 QNöAçÒ•;Ëzxܤe°ŸÍínnÞìç^y¥W’¢ïÞ ü¹–rø¢žó¹úwšþè›npd!÷&«û€¡Í Qe'Td6éæÖi†aÄå‚67ÿïu7´ŽÂÈ0¿À¡¿U¸ÍRžç°'´úu¸Îêå÷plÇÉ=G6Åö'Ià™ãr÷Éݱ†z ‘CJ² v¥¡ï{ÛƒZ3ülR’eàl±··;ZÊýݽ~?tqž8įöó O(É«ðê“Ãóa®¿¿/.Ì¿@R{D=AŒÕĘGè ËÁ èeoÌãóû½^´í"FÜô^’¼_Øó ¤šÕX-I.èÒ{âÞø@0(Ë<1¦ãR4ýà@L^ð·v\I³3ã Ž«’"M©Ä"Rˆ± ±+°’a!ÙH*I!)"<ÞM\:¬CERwöÝKÇ¿ý%¸Ôüáv[‘B¨šµ ŸéáÊÔ¿á”)u°Þòä UôŽ˜Gꈘ0)…b}!¶êvK×B)”Nl¹†òæ#Â[µø7 yÃR$u– çuô÷@8×ë錆ºe ûR‡0èõ{ýС÷ļr8Q™WΑƒ±p<ƒúTm&-ç|*¡v»î,ç[®N$Hqº³IQÙºPû×n×þAA¹ª>˜>œÊ[0tU}࿺¸6oˆ<Ÿyǽ±Ü›§˜ÚUWZ`ßœV)W\ónp• €škägœòÄ­ói@H=¡$ùD{•äGûÀ5j| —`.nÀud1}5Y½àhî€ç¨¢?ÊÎŒ%¿SÍ•‹Ž¨Ê‰³qÉJ,tvðOÝÛçÙ;±õÌà+Aµ¨ºˆ’M–|O dž„O×õõ޵mþƒé2uÍ}EX¢œ‹––oX³«æÐ{»yÛÔîYÛ±Súê$ ¸X!¤ŒNøTÉb¤÷oÿá/×/^þö7§/N “–éÍ“fnáÑÏÜvfR¹1™.·ït¯wË^)°_êå»—”UoÍPs¢ô“Mï¿4bîÊûmé÷õË¡Ñ!Ü•SçaN7\Úøñ¶_·½ ÜÝøk:½E!¦·U)O¿‹å¼J9Ÿ\­“}±Î¿$ùùÕØ’…ï«×}ÝC˜{^2Ý‘N„ÿõ`¤#äý„ca™D’åE! 4?‹ñU棂ùDɺ-â#<ñ¥ECWtõ ǾKЀ¸žÎD “b ÖÓ¹|œGߢS–©úZëË â”ådâÈ['ø\)žˆ$ï|{LÐ&²y­jÇÏsî Ec¡`¼/ Žçпÿ?'Ûm¶endstream endobj 386 0 obj << /Filter /FlateDecode /Length 279 >> stream xœ]‘1n„0E{ŸÂ7À,`/šfÓl‘(Jr°‡ÅIJEnŸ?CH‘âô°¿{ŠËõåš§Íïë?y³ã”ÓÊù¹F¶ߦlÊ“MSÜ~Mk¼÷‹).¯ýòõ½°Åwëï\|ÔM£ŸÊ=çÄ¥¼öùƦsŽºq$Ã9ý[*Û=1ŒÇÖvª¡$Ó•žç†Zõ¤8wbQl Zפ8‡ ÅJ­«¨P&*Y_‘â*9¯Y/Yß’mEqŒ×£¼å#)Péë)Ð$Š&^yiRœ r…€Û½*4 ¢gR gQüBÐß@•ç;ÞI^RfrŒÀÆçºrÞtp:™Ç”ùo¶Ë¼HÊóö‡1endstream endobj 387 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2793 >> stream xœ­VyPSw!ˆOD[ÛbÉn}/ÚÚj«ö>Ôvv[z!E¹Â}IÈ$Ä$ä>¾IÈIH °Ê!**ž­ÖÕ¥§Úv¦«ãNÛí´Ýv_ð±Ó}Q{¸k»³3;™É¿÷’÷yŸëû¥!ñqF›½!5•Å/[ËgU•¾´8½¸´¶ŠÅ]y4ú{Zô¡¸è:•7–N¬›ItHŠï{h÷>¢m!¸‡(¼‰§Ñ2«„’ì!·¼´ŒÏ|æ©§ž]¼˜ú^Ê,2_[Â\Ç*¬d×ó*Ë™¬ê"æº%©K˜ÙõÔa9s»šYP\ƪ*a²K˜[Š·136¯JßÌ|==-ãÍ —Ü܇¬ªš2‚ ÷W¯¬­«_/m,¯¬Ú¹|Ùìé’†ÌG¶"™È6d²ÉBV"«'‘uÈ$ÙˆÌ@îA\4=òÅœ ¥ÒnÄÕÑÿŸ?›r>Ṅ¯¦v¢/L›1M™hM<›øÕtÒr"<ó‡8e" Eñ-zÿó8=%Nv(LJ©N)Ób¼¥¬¢b@E G `ó;:qÏÞ!b*GßÏì[±,3«¸SŽåõlƒRàòEU¼lY&*·jl.CSЊ9yO ´pk…j¢¯[VB>®Ù¥â‚†Á÷)\^ÓiÅL[Äܸšbò8öš<îc`„ÇF†ÎÚ×^—½…E&²pI¨@‚¦°ÿ¶Ÿ`º°™?ÐK#„£ÿ Ó&´×èŸE_I&ÏÿŽ\ˆ‘ß&% ;¡5¼D½^+ÁÉßMFäÅ:Å«ÀH©‹.hʼn/ˆR¢„È%xøÓ}ÉP!&_|ŽŒÏÛüüz2Pra‚ܨ°‚Íh3Z,z Å1˜öJÌH ¦]ZCÎÄ)"KŸ¸M$‘HÑx…¢Ñ¢±J¥:5G…I¶ Ó åË}¡V{ÄÒ‰w~ëè7Xìa†e·s,hg½E*®•ó”Ø r@-È^±Y }çz¯ùãŽN“¼èX^W΂r®ô¿‡ ^ ÷ê±Ëø|9_R†³æÊó¡]øçÔûN››°–ìaaŒ@`ŸÕÓÖç> M(vJî`§¬¯éQUIþ(4<6‡#²)í ,PïfC%š³–¬$§æ—ÞëºÔqsö˜l–cyÝÿå³ÁÞ¾9Â"ãâYä}š ¨BIÚÕúIJwˆÑ(Åânðzö»Äªqbó×ô Î//¶(¬j¬YÖÅ…,¨f/bg²·W”m4¯œHNhчu@Íðz¤Ð@!06àuF­`±všZš‡$[ö/Ïh ‘D‚¯È"•Þš}£ì&`q‹c¯Ñ`ÇN&\­Öh“|±HlM¡”ö\#R¯yB´ž/ˆËŸÓ£þ;ú¥~MzÆ&@+xþ6K€R6BÌq醂Ð.ÎkÔ­mÝå÷GZOlh)É.®(âcµG3}T¤HÚFr;&¦ÓhvšðÀ»§ôM»´^š£¨ÄËÉ9âŒRV.04À:÷f¤** t×ÖTó‹sqFöïëñbþ¬üƒT¦i§‰Y¡úK2?¾¾ÿ¦Yßú"|õDg$7¹ÁÖ›‘Uóõ ¦SËKÕui¤2E¯Í_ö ±äžŒ\ œü­äþ»ë æ6lƒì›É‰´:0ñfYQñŽŠ‚BN.4@±©¾ëhSÓ0UBW]mYCVö`៿!¦~LÌè¢rE;÷4Å6Ñy½;DºB4P\³þžl—YU*­V¥Æ^^BƃÐŒüðCmß¼…?ì}œp@¬.PKª ­*\æÑ¦3gÖv¦‘óHŒú0{… Ï|òu¬oãæí¿•^¢x˜6ø=ÚõSÑ©¸*L¼EYt«è|¦f“ 'ðèQƒÑäJP]ª©ÒêøØfM­N¦!CìçAPÉUŠ u=–EfÊ[«7ƒœN>Hâ䂇ϧ}xvl´Í‹{WÿIG!…À^[ëí#‹Ë’·¯Î¬«4‡?pdd÷?üCøž3‡zÎ÷šTÃ]¨âà’lÐÉò©Î£¯Ï¸=)n,˜x:Ù¢¶É”-¼Š-‰INÍ8m£BâÒÛñ3:¨1¨A­‘q“ëRHUÔ§ðê€G›ýãPi·u*p3[ÒíœÚ5:†JªªÌ GSÀãø%ðhí·¢àl4*ñRÃN ô¢f“0âÁ¨oŠ!èžüÂ*2èšáCSS+EÖáç!Ǹ uØ,.Ê…´òÑÛ|'_§ýåBø"ˆOö‹ZøœjÞÎÚQ ¸§£ óMÖþ"Vüå…€J¥æÝV¯«ï¾Ò}ÅpvC+ãpaï¶ÇY$Sò³CŸØÝ¨Û¡fËôbÙN¼fuÍZÐÕ¬b¨w©©V@³ö–ýòöÄ[øÇ˜Ï©LÇ<õþh•PƒI²9k²å¨ü»]§9€SïÕÍðñ#ÞmÖ~$âtî?.pjm² %ì Ò‹÷î.ÿþ¯oû¦Ì¼ôtlS:·Q¤ü*úpÊ-÷ ¿á-èÔBŒœ7ùŽf()§5¸Å¾ˆ­ÇÝ„écªóHgÄôÔÉ´¥,úÆPþÉ`·Ï…uô·œ¦"EýÊ<êµ&’†iÃãtÂsµÖ*‘kU€é´j¡¶q×&«Pž2ÐqWkc*J´Š»àºwR©ˆº-u´òð` âoƼaÏ)0Ç\Ù3~{N,‹í_7ð;÷¯—XÅ¿º­N/MÍÅ—×{3!6ж¬PžÞʆ2àÖ5”S»Ø¶ÿÃ.frX:Œ£9|n( †m!@ûÛjsx*~c.¾“LÚ•¦nPîõÿ¶ÍMìÀe­wls´ÇA€ Óˆ´¨4%Ÿå å•Õ³kØ>v‡ÇëÄé©©˜F«ÓQ"*l*«ó“KÄ´_üð:A§ycɶ¿¦’Ç©.Õîîéî‰ùVú$Bn­#X¡èòzZô»_ë­ÖæAë<øïC³ßñæÏ+Fn#V÷R9KV¨SÕóŒIµ ÐìÊη‚¶.K>@¼löÙÂ`f´‹ åŠ ±#ñÉ#”ú1WrÛTT Af²í!¦·]n•DD£ð1;ojºK¿Q»+n›ƒ*ô·ß§O$žNvJAÛ¨Ó*µ˜ˆU®SSE% 1ó¯ß„‰Ù`Cíª&¹D¯©Saìùi¯h©=C×ق눕dBßëÔ¸œKÕêrî‚ ¯~ñ½ÎS—pÿË'Õ^@O„G}8™9’¼rý‹\j"gæv]îmùvä<¾ïø±Žý0ÝE®ž×Ë-›Ð™uíÑŽæf¢¦=!”8>KŒßÂNš4 F§¡Ílq“’ä_ÿ˜Îendstream endobj 388 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1040 >> stream xœu’{L[UÇïéãÞ tè6˼´×èþ3·±‡Z²MaÀÔ±èZZ iéó–Rp ÆxÝsÛòÔ)‚)¡,Ñ-SùÃ-¨³%&,qhâæ ‰aÉŒ‰1Ï-§/lÉâ?'¿ó{~?¿s¡€G‹‹\Ý¡FÎâðZŽ—r³Ë,µ>»Ñ³ÍŸ"#ÓåYt3JÛ¤ªäP¥¸Â(¢ÛЃ­hî ôÓ“D '\m¡.]ûvæö|ÓðXkë86/7÷åìléÜËš¬>‡-4VÛœ~¯ÍÊf¶0§8‡-qú%§•Ít:X“¥Îh¯a5l…¥’5”*+g”•Ž•gåü¯ÐÇ^_}½‘“LÎÒȹŽl˜¢‡ÉqAÛ<˜‰%©Å|i[*QæƒPúWÈQ2-ù75ÛGÁÝlÆG1ÛºJX¥}ï\Ôë­©¾Ø÷qÌ£¥¤ÇeóþuÕõ/x´Í$¶aú >q-‰üo‰„ç"¨FÛ. ­­?µmH|¾WÔ …r2ùVŠ6YQáT%E†ƒýBŸõð™JEÿÊvendstream endobj 389 0 obj << /Filter /FlateDecode /Length 296 >> stream xœ]’Anƒ@ E÷œbnˆÝHÈ›t“E«ªí`0‹ ˆEoßo'颋oéæÛ¦<ž^OyÚBù±ÎéK·0NyXõ:ßÖ¤¡×ó”‹] Ô¶yM—n)Êã[·|ÿ,ðŽw~ï.Z~6±ñG»»)̓^—.éÚå³mUI;ŽRhþ½ŠñîèÇǧñE\U… <ˆ x0ìÅìõN\U… ŒâFÃZ\ÀÚ°°1Ä€„cÈ";Šà#÷’y >r/™—öâî Y\@6D|òÈZ Ä'o¬RqÕpjñÙ[`k=[ Föl1˜Ä$C\Â~ªÍú9T»-ð¹¯nëªyó-ûmySÖ¿a™s¨ø6U–hendstream endobj 390 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2600 >> stream xœ…V TçžÈ H­dA´3ÑbE‹–êë{ÚE¬VE+VÅ¥RYEˆ‰@†Uö„!†}Q 10".ˆ.¨Åzjk_K«µ«=ÚV}ÕçÖ;ö÷÷­mO_ÏéÌ9sÎÿÿóÿ÷~÷~÷~¿„ru¡$‰×¢eš‘ê铗Ůש"“‡&ŸFK„1.ÂÓR ¥÷-÷óÜÀS ž®{Æ 9–{aÜ“¸x%•HV­×ÌÑlÒ'oX¯UN œ6y²ø¡ŒÒ+gOQ.ŒŒNÔ¤¥$nPFªc” §„LQ.Ö¤‰“”þµ2*6>R§ÔÄ)—Ǿ¥\:wY¨rþ²7W, 8ån=S5R­INѦFê£cb×Ço˜øÜ S§ýíUŠz“ZB…RË©Ô*j6F½NÍ¥æQÁÔj!åAyRrŠ¥ž¢G¹SÞ"zÊ•*¢þ%‰pîëò…4ÑÕÅ5ÁõŽÛ:ÙRÙ:ˆÞNß`^f޹G¹w{¸x„¡sø]/ À)PÎt‡¿=âëÍö #ô9pˆGýulÿ8ÿµsRr¸’ë2ö 2~‹[}®¼ Œ'õôÚxƒK –vC ´B40·. Ù¾»Ÿ÷½ûnݺEÑÿé¿¢ì,*·]ë´]ÆC—¥‚7(ÐË)âC|üE¼ˆ×Oñ)TÜû½¸© 7.×DnŠ^«€i×u$0ôÁØ §ÛÚ;ºÃ18˜lo‰4­€hÑŠd‡×#œ Ýr”¢ôòìAoV)<% Wt$:"F„…¦r%weì ÷'÷•ž ÀV8+L£g«öðèOçíH]ßʰLaqn¾ÖWeËj´5Õ·r¢I›/•ë&ì”tôcA¿T`Q¡€^õ?ɰæü­¡•Å ²¬i‚ýL[s×5t5ÏÐlåLùƒ˜z°ìà¯ÒõP™]d€Œ ÎX’—g–eT©«ÖC”ª ·WwªK üþÖârç]È‚ùLLRøóϪ?;žÍ×”˜s€É€üÍ<Ag@nÍ6“iÇvÎl®ª1›E6ÚA¶{ð}^twû´¡<<áÄEirt9¯j?}Ú½ÙÛx½'U+èyª¸Ø`¸TÏ¡':ÉD\D³ñ*YI`TÀ£¡ÙÁ+Ä.#îWô=ëòÁþÓŸŠÇº¾CU¥ N‰Ð!ŒS8éxƒ¢ Ö€ª”I ;Œ:H‡\cQqž˜k³ñ@[a ”ŒÚ¹8'½Î°6C*¼ ‰C;ÞsaÝœDnøX2·ÔB-XÊÍÕø4~äc;¹»¦Óô˜Uí^Œnq~owÈw‰êóƒ"œ¡êŠâ„j9•™‘=UÆÐ? œþZâ‚Mz»cGc‹-³Agæ:wöƒ˜Œ“'cfð*z©!Ø0W=-6})$0ì–ÿôáà¡û›9öµX³=¶{tå7eßñ$ø¨‚m™4#)zUDGïûgÎa ™{²Î!”:ö;%M—pÇ%éï ŰÔCàZµ …Â’‚¢%)ò! ÖÔ‰´+ek75‹ÑXkXºß¢q j ±8•üì³vìÆ¹sIΨÞ²ÕZ­Œ#µN—¦ÍVEŒë¿ÜûSe‡‹„wžê¬tšF‰9¿ð²˜sÜ{eG»¼ã2Æ_žzÕ›„ôTTgƒ¡ ¨$×À¤j^™LÈÔ^ôG¿Oú+Žƒ¾ƒ×äk!‡Ù´#ÍÁ±ìMÛÛÎÌo›LøÉDJ†öŽ?ÊqlzTóºL®CïF80v¨Ec‘ƒ¥b.ŽŠ­f~¾¥nÑl7™ø[ñ­§ã÷®i\%RÝ‹H'yòæx”ô9:œ¼H½Yèë z(ÎLcØ–hMxÊšÑámKéÜ´¯¨Ã;¬¶ÎCŽ£Ð ½)m«˜_GÛqúÃ~c9'}ˆ¶ÌP™½ÅXPhäÖOzÑ ‡µÞ´±gc¼m –5oëå°{d,1ÉŒ ¤&ˆøØ#?Yùùè« Ûd¨üÆÖ èed¬Iû Id+Ÿí:«nÅðÖm­ò¶ä%/]l¼¸{À›L ÕÂxECöîˆô·‹#ùäí1 k€ñŸ=ïÕ5öø¦4^—œŸ)Õ¨jNgØ6­ÊŠŠ ÷s;}Ð ]Ž^ìOìJhà–´‡ÁD`BeªÒ䨶m–Š®ä}E6`n ~øÙÞô])v¾¶ÚÙÔg*6A£¯ÉÞ^ÛPaåÈ›JÄ%e¦é4‰z`XSÓ¸ÞÜi¶×5ò VGu 0?Às:ÝÈ+f†ûsìì‚zú›ê¾ä¯ËZÐ^æ‹ ¦v£Ë/yþURnþŸ¤L MÔs%xUÆâï²þ æ/4å¯E2ÁOtºqPtáJ凓Ñåï"Û–bèÅÂbó>^ h6†<;d÷½ŠB‘m Nc· 5û“P5p: ë±L¸¡p&YÕê$m‚Úš´«ÝfØßņIô©?g¦IÐpVŠg°T×2P‚aß~!F2W,¡b0Vçð¨$£v‘7€L²_¬1o…gg—”@STZPYähE9‡¾¨t`0 §BúR5=¿îÁ¯Ó$‚oô¾E<ߪƒ,ŽÆ^Y-4kµ G½¤—ÎÒVÛ µ<Š#Yè¬Vh®å°ÓµÍ`å±QTÀ]Î÷Ds.J…БÎx:ÀPÝÉ Çè£i½2%ĦÒýðN ó ’Ž3äpñ ²¥—àø~ ‹6|‰7ïþ蔿r-â.޼æÍ¶I8_¡’ÒòWçl.Ì‚ ±zçÉp4¯¯ërÖ׎:sjà|Çà° ˆÇ.!ž¯N ÛWPÛÔ^·—gŽ­†®uðƒ}"éz_ùÇ3³ƒˆy‚'r2Òµälc²¯ÀËùÚ&J9î½½¥`—rkæ°;¦[Mw¼Ù”ŽA øjÁùñÍçàs† Øòù §žQ¾´4(ng†½½±¹µ3±VgâºN\(Ý._~Ü~>ßo®:2+ƒß¨Òo.É/l&«BT¢#²‹G–ŽãÙ~ñJòzÜÊå³Çs{vZ<{bÖ.­5q“&=:àVÊpÔßßäǽB²ô?ºÜLW8Ç +éF(O •Ë‘D»%`Çt1Ø[frÚú•¢ŸÁÍ©¥gª:ù¯èYN±ÈÐ"¸¹=b>у/õHî¯â… °¦@&÷wYfŠÈƒF¨ãï{Éêż“xWkÚК—,3M\³ ­¹Ëêl9ñ; ß|ä) ¬Ä”]CžFÅ\ ø<à†£öÔÖ˜L`fÌÅ–ÜŒÕoååsÄ—(5$ˆ'íUŒcžcÊ«Aì÷©Mœ:ÔT–7Éœç‡q®Ë5žîÓÐc6›¶–Ÿòô¤¨ÿÊžoÿendstream endobj 391 0 obj << /Filter /FlateDecode /Length 170 >> stream xœ]1ƒ E{N±7v i,’É$¹ÂâP b‘ÛPS¤øfÙÿ™·t¯£³ è#zõÂÆ:qõ[TÎÖ‘¦mU:¦êj‘Ðá&ÃûrÍ>ßå‚ôÙ]X}jö’ò× Féf$œ1Áþ[µ{a2G²ëEcÙ ï[QÅXöR?ƒå§Ât"€ÚbD—*x+<Öáï¶àCiAù{æV>endstream endobj 392 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 726 >> stream xœEÐÛKSqðsÜ:ç—‰]࡞À DtZaVJyÉKF-ÎÚÔ¶ÓîšîâeßÍËæugó’2!ãT`T,È —ÜŸ>ôˆÅoãì¡Mƒ^¾—‡ï—ï÷Cò ‚$Iº¶¾ª¶T™.óã9d<7#ž'HÔ'*A– ²äþÄØ üà8¾{·#d$i¾ÖÛgÑwwix®MyAÙž ¥\iEEyW¦TVp•:µ¾»]ÕÃÕªxZ§âS–«ïmïVó–ý‘+žï»TRb2™ŠU:Cq¯¾ëjzKgêæ5\Ú ÖÕ\MoÏÝTéÔÜÁÅ©ú‰V­'"£ºŽ ˆs„,õ !'s3òâ£Ù‰bñ'oˆä®øCÄçÅ=Q†çð³QQíD#¸½ý0‚…°¯ÒV«ÇîdÝsÆÕäA¸‹Ž-Â*¥pÄj¦j¼N¯]H!>I?óiÙä4e±ÅºÏÎVErŒnºm·‚Õ"@˜G¨E˜ñ¯w_†I4ëð;ûG<¬ûñªê~“¶¹¿Pe0CL?Æß1whë¢Y0Î#‰•Þ3‚%^Få´!¢÷’ŒØÉÀ¬9Ãè5ÈÃCp ¤…†.¿iÂNS0¬ÁŠ£ÆKo‘奰gÄuÏãDÙ‰NH£¤hÈßâOßwS.Ë8Ƽ¤p¡dŸ±­vÌÚOùŸŽÃ3@˜¥ÂAÜ~‡OÑhÝ6l¸fZ¶¯cbGøþð„ÒÙ¨”ÉJ±ÿ“®–4B˰«Îiþ‡€#û›BV¬ |PàF¼Ê¬¿ß‚·uo=ÚÜtüÒBÜÐ5监Ԉû™exñåÛ”)1Z³TÆJ¹RŒI½¶Ó(î£S¤‘¦¨˜ÀŽ’S4 A_À‚öðã÷Nx„_Ð4`BªùzRÙl¦¼|)ë0AübùQ÷endstream endobj 393 0 obj << /Filter /FlateDecode /Length 176 >> stream xœ]O»à Ûù þ•ºD,é’¡QÕöC2ôïË£©ª>ÉwöÉ&ÃxM˜Ü¢WHØX§#l~ ð ‹u¨cX[•>¬NµÊ€Èp•áù €³Lã“\ÜOœ×U×LÊkØ‚T¥[õ”ŠÞÀé¿o†Ùü( ë˜È”‰ªÏ™ò|)`”³úíð•Ç%â‘«=Fp©ö¨9K<ëà[5øP\8½ýYY]endstream endobj 394 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 445 >> stream xœcd`ab`dd÷ñõM,É®ÌMÊÏ)¶Ð JM/ÍI,I©üfü!ÃôC–¹»ågÉìÝ<ÌÝ<,ë~x }/üžÉÿ=E€…‘1<·ºÁ9¿ ²(3=£DÁÈÀÀXWHZ*$U*8é)x%&gç—gg*$æ¥(xéùê)øå—34òó’R3sÒòÓBR#Bƒ]ƒ‚܃üC‚5õ°» U´ (37•™É€aà Æ.£Xtæ_ù¾†ï?³UÃ÷òŒ?K¾÷‰.*í®•ûs™­¶´»¤da÷Lù—Ùf.ì^$Q7³Œñ§álÑîI¦ýNÿž.ñHL›Ö;¡{’äŒÆ©uMííMMr¿ÓAð{zô¶Þ–nÉºÆÆº¦þö)MòßÓg€¤:[»[%ë¦6Θ4¡wÚ4¹ïi ƒ~§Ok˜Ø9±[rÆÔ©3€V2*2|_ö£WteþâÜ䯬ú¹ßÂܺ:ÛkºÆ®jš4±¿Ú¹ïÞ?¬z'L˜Ö=M’¯qêæ ?…–oZȶ“k'·s¸>çò¾Þ “{&ö÷Lè™ÆÃÃÀ$mÁaendstream endobj 395 0 obj << /Filter /FlateDecode /Length 201 >> stream xœ]A E÷œ‚@µM6ºq¡1ê( †E)¡íÂÛ;L« ƒùaþˆãùtŽaââ–û€‰û]†q˜³ÞÁ+DVm¸ vZ‰ªíMbâx1éùNÀ±üÂWÓƒ¸×[EWÕb²ƒƒ1 ÙİVJÝz¯D÷÷¤Cç×κÖ$)±²¶ÁcCØvš„Ø!ª&I‰Qi¢*¸×$Ä}Áƒ&!h’ïŸe¨Û9gˆí€2–h!ÂoMiHÅÅQì0tf{endstream endobj 396 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1367 >> stream xœ•”[PSGÇOâQ©U+šT{ÎéL½t, Si«Nk[‹‚RÀ XB$$À\¹@bÈ…/„˜pI‚¹`B‚â }qZu´£ÒñA_ê(êÔ‡ö3ö N§vìC_öawv÷ÿû¾ß.‰C ƪ̬,®T!劅¼“sø21·vne}l #¶6.ö¨’'é³»@"ã×&,[AÊ–“寓ÅË&ƒ‘/V~)©VÖ +RâýÔÔÍÉÉô¸•(U_¤;¹<‘Dq@$$¸UeÄΔ¬b·DAO ‰’*¢”/àŠË I9‘Çç{s·çä;röìÍÎ}7å•Ù^šDdaºLQ§,!È:䄃 …Èv$Ai>$q2râVÆÝd:ã3¬!û—>cþöÑØã(cöÎ#æ“ôØIäf ý“Ú‚=}#A¡Zµ¼Þ8è É¤¢V?õ²ôÃ6Lf£É¤…&›¦ ü€ÆH9)% Èj|c$ *µTÚ¦·ó¿NͧJmL¨£÷4ØH"v‘åŒ@Ë( $‘@.zœKaøÒgqwÒ]$¶: ·N3g?"ßI‚f·Rm1¨L˜*S^X¨Ð<èvÛÚßãíÇ¡¥m(J&³lv?ØÑN} º¾¾QcÀLƒØX'ßÂSË “ŠÇg7êD5%€~?yÇ:OŽ‘qxG¨åxÑIN_áºBŠ-7¶ê铵ٰc÷χzõ;´R¹VØX 67CúÞUÁôå‘‘p;\0Q?öùzÃ'Ü?Ò·ÓÕÔly?–ù+ùÇœý…¤’®•vh%’ªj¥Kç0b!Eg ˆQé·T=µ" ®øÃmCÎ>,ô»{’ÆðA+{£Ü è±"*Ϭ67€Œ h²6íß½_^ èöšáóÇ=çúnà®Ça¢‹ý*ˆ™‰à±y™¶’†àmhâC ºé&ïžï\ܺNUÉ °É]ãä­‘¹œºOtÝ%#ÆÅ‡$õ›yÑÅ 7cUié". üêî>{wÛ!WµGíÞ@íö}°C/t«ºƒU FEaƒ»§'½ädð8u˜6Ä?¹6aáj‰àï¬xèÖåè@ÏxD•  ?(Æ¥)²Tcƒš_!äBH@ꉺZûÁ‰†.…d¿¬4ç¢||j$ÚçÃüÜÓ’)Ú£Å?“¯õÏ1(ÙUé½;> stream xœ]1à EwNÁ iƈ%]2´ªÚ^€1!Co_p’¾¥ÿGÏb¯£w™‹G ðÂÌ­ó&á¶È'œgM˃|8š°èÈÄpÓñý‰ÈKíîïzAñ캎žš½Áà5`Ò~FÖK©zkCoþVí^˜ì‘¼4Š$e™ÅE*ÖPý ÖŸ*Ó‰ÀaK }&p«<Îãï¶bmñ"ö§ZVÄendstream endobj 398 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 381 >> stream xœcd`ab`ddôñ ÊÏMÌ3Ó JM/ÍI, ªüfü!ÃôC–¹»ûç럺¬Ý<ÌÝ<,ë¿ú*ø=€ÿ»3#cxz¾s~AeQfzF‰‚‘±®.´THªTpÒSðJLÎÎ//ÎÎTHÌKQðÒóÕSðË/ f*häç)$¥f$æ¤)ä§)„¤F(„»+¸ù‡kê¡; Æg```2´e`bÙÏ8çû¾ÿLÉR Ý›~ÌßtºœñûÒ‡Ì?zÅ6%°«tÏX#ÿcûÊöî\9OoÕîônŽö¥Ýg»/çøÓËžÕ]§"—Âv¨ÿf÷a ¼Ù}¨ƒï?ór]†ïŒû¿»íg¼õsóÏ×?E—t×Èýõ`«)è.,\Ô=SþgÛÌEÝKåW±,-鮕ûÄV[”[Ö=Kþ§Û¬e@9¾²?œg}ÏŸ:yÛ&®{Ür\,!ù<œ«{z{úzz'õôN>ÎÃÃÀn”¢endstream endobj 399 0 obj << /Filter /FlateDecode /Length 183 >> stream xœ]1à EwNÁ B¢¨U¤ˆ%]:´ªÚ^€€‰ˆ¡·¯q’¾¥ö÷w5\/Wï2¯)èdn7 –°& |„ÉyV7Ü8w¢ªgY5ÜT|"pl»ñ]ÍP=ÛFÐS½ é``‰JCR~Ö !{k%oþ¾Úm`´{ç©‘$!°"‚$!â}Š„ÀŠØIbGæ‡MÙS¹^SŸé,Š]Ò:¿ËcˆeŠ£Øëú] endstream endobj 400 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 885 >> stream xœÐkL[uðÿ¥Þ†=17Î{obÔ²HƒÛåÛ6B¦(t<&È"ôA)wÀmyÅ®/Ún—ž¶Ü¶ki7<†\Ø#̹9$Á/š%f&&.~™1F÷AÿWï,ΘÅOæ$'9'ç$¿s¤ÎCAì}»ºÎÖmä_-+}³ßØÅ™·›/ÊÏòþ<ùy(FùÁU;@£úÒŸöá÷öâ†Ý¸fRD£Õ^a³õrÖŽ~ö`YÙ¡ÒÒ\.gMCì1[e4wÚû:9ÖÈ·±Uºj[cÌ59VkãY“¥ÃØÕÎÚÚÙK{²¾²®ž=^§?y¢¾D÷_Õ¿5BHÍÛMCéQ-ª@ÍhGî¤F·wÞž¼Ûx©p+ïàëÈ+É¥!­_ØTÉð ÅI?Ü0ræí·ÛKjgæ’ó‰YfúÎU¬† ò»©¹ü”Þá¦k܇°Â`¿³Ûav×¾$ˆépXé ÷¦Ö²@Îïu ŽsNæˆrg$: åMœ™›ŒOÅé+ø°(ÅfD‰J áÉÅÌìõûß¹i¨nU \fÆÍ Ã0@¶^´Þüq—ˆtá±µ)ïdñ+Oðú/Ur_.þ]¿¦o6X9žöl´ŒõþWœ£ä?nñwù…¶5ìG@<_XŒÂEæ#Xr“±4LùÀÕ±d,>?:Á\Â/Å?˜3Ý ¸kq £ìVÞ(öô*›€¬õ}Ÿˆ†£‘s×&–¿øö.PדuF»RÀ¿Åʆ¿ßŽÛ¯ø™Ï±=çoýÇoá:9ú^Ê­'¨óÁ¨_ð…B­õ{BÞ8(o27#Ÿ ¸€Ö>fB‚ÏêµkÇ¿Æj¼À/ÓOkzOÏÜ_=ÿñ"Îgⳟ^¼²²¼äÓ¢-âa)F Ù†í{´›ãëÏý,Š‘ép,"B”JùÇ»¼„>¦Üðfý  Z†W—6—Î}Å$fÄ L‘·Ng ºE|òñHf”Nd~Ú2•zú|vWÓSÙsÉÃügŸdgÓiÚ¢”m}ÈS®‘x˜ÉŠc 0AÎ8SCt‘èi Ö7^åîþöïæ˜Â÷%¹"…û"R¾´k½€Þ¥n°ivJÑðèv\ži4ý?V®Dendstream endobj 401 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6560 >> stream xœY `SUÖ~¥äùXé341(Md“M­•­•Ö……–]èJ·¤m’6MÓ4Éi³´é¾ot/eqa‘­(A «¢2.A•qÔûœËÌÿß—†Ú”ßù’´½ï¾wÏ=ç;çûÎ5råææ6q¿bBâÆ¸ð„ÔçæÍÙ•žÌ_™ÆIܸI#¸ÇÝ“q‡÷ÀXw;òÀ¤§‚<¸ÙPÓx´ãÊÝÍ-8.ã•Ä}É{£¢S½æÏ›·`Îò¹ÔkW†—Ï\/¿ðݱ‰²”ؽ^á {¼üæúÏõ H”‘Á½^3¼vED‡ÇEz%FzElñÚ´qÕ†^k6¼¶)pã3sÿOÛ\)ŠZ™°Å'ñ•}+W%¯NY“šæ+•…§ïZ—±Û?sO@Dd`Tô†½1A±qñÁÏx‡Ìš½cNèܰyòçó• ².š²dê²/¼8ƒ¢^£–RORÔSÔzêijµ‘šNQ3¨MÔfj&Lm¡|¨­Ô+Ôjµ’šK…P«¨g©ÕÔê9j-åK- ü¨W©EÔ:ÊŸ  –P£©)Ô j,õ0õ"5Žz‰OyS¨í”µƒb©PêQ*ŒR©”˜r§$ÔãÔÔdjµŠ„…I5ºÅŽ3bˈ«îyx ÎÐÛ¢21“˜,棪F?;úΘÈ1ŸŒ=ùð”‡ûÇm÷·ñªñ?>b˜0ÊCâñk~tô£MÂi©‰›=Ÿò¼-Z(úL®­°m?U}~ð¤ä4Xs^‹À2ÑžÁÛö;n›ã¼qXÇ)mÈ)òÇ“ÉÛù¯#?Æ!Oö"§çmM0©ôLTƒf¡TA]é\ÕqáIZÁ?=^×0 O£iuäWs‡ØÜžÌOa×>I³ HrLkJ2t®‘¾Óð*\-H£Ùz9¤8,læ/þcp…H4m±º¿àÍV iÎØ’ÚP¨Í㮽Üv4ÖN¼}”+BË…¥öÈ^¨ý¨áô©’ eW¶ßÀîÀ`)­tÔ UÀì§—ÞS ö ó°f#‘®õ—_gÂÑ¡f×Nß™ÀEµ™¡"âA@³jþ½Ö?Å4Ãj¨3Áµ„½  £{Юîð#êN#7@‚ïêˬžÈúP³äËüVI^ÙÍâãeWDìÕ»%ž~OrŽú(BÜí6J!îêDg„ûÑÂ4‹I°v YŸ@ªÁƒ4×A´‹Fž$4Èk?ZD–MÇ£Vàñ<ŠfÑ78¥à{š`¤‹e˜qB1Í†Âø”'knµÇçÜã,G„•ýÆZSÃ^GC¾T'Ë^-Âu+iäIkvéä=Ð ¦cmÕ‘±ÖH&Fƒ^®ÙÅ`O‚·0ÒÓì1õf]z~Z7ˆ{ÀTo¬#[6wä—ìæÞ(Ú%ÃÚ;‰wÝ 7™î«ÕÜÉ ©Lèy;R~éÉÎàŽqc„Æ:íëK` ¬Íð]gé±ö3y¾Ìó&>_>wT¤e®ƒ¨Âµ6`wš€]ÀÎø¶êÚ÷èa‰.¥\Ö ÐXeÞï´ †y ‘ö|Öz“Oöw‘Ë–]Ø™øÞ×MtÑìoüÞb†Ei.Y¼ÙY6H9 ¦ šô kM×ê®40ËH:–ýjÀµd-ò°!…ÍKE„ÕÿÀêã̾e¢“oYÑ!SKoÇwðW°Æ’ô™†ÌpÆ.*t¤W ä)uš]õax9D-Í‹’?ûsf¿òxîõ,õæ¼È1ó`;l*;Îèkô¥I0€ùL‘NžŸÜV¨*¨é}#ê´¾Ð|8ú×âã5-°¡7mýv”aßEÜÆq]H#4·¸~Œkh^§ãðÈ Û7Ã2X¨f4½ÍùáçëÄÚwS ˜2dš²[( RШ¤{ãÛ#+Ãì%ñØ7¯»Åh œƒcíM ;2-_'ë‘°Ì€ve+ZÑ4@Nüˆ„8Öh²ß!†p1ÈCh¬1ÕGC h¥ºL•`N*¼ÖS¦f†Ýy©h‰k8Ù@¼„f™Š©ArHG¼D†•K ‘àà¶ÿ&½ ëä³.D]ñU¸ùFeÿ@4ƒxÈ{ 4·Íõd÷q‡) ¥Ï¢NÄ=P¬¢ð^ûÖsŠ%Ù±’`é2w¾…ïgÞ³wb«|Ö)dí#ðFÉ‘VB€±ùõP#¹BWñ[êø£,!5©î\ð ÏbÊQR5,“ºf7¹Î§™í:|p%VK¹Ñ„%ÐÖh«;÷>÷”ÐéJ<Ê­4~_ B×­®>']ˆ¹~߱쭃z×’øVw!oô­¨Ýy¿hþÇè¤Íí¯(ä[âÎ]æž&þM!Ãà‡è þY¡P Ì z:>)0ÐТ=ª=’ûž¡4rHŽ(Ó´šuø Œ1ÐztRp‚®&‡I©äêÐÇÔC;˜p¿(‡›­¶Ö'ß4V50t~p U˜kͬ2èKUqbP¿¨X>à~.Ù<Ø\=^¨„ƒÚ¬1@q¢ÒK»¿ÀOÁNx²}´ñµò&²ý6kQoaqAA]aEA9IËáX\öJ¼J‡E[å³VµZuÊïï’^x¯èTÃzÇU7”´’zG–ijêRó¥ádbæžPÈ•øCt·åõÄí^ô´i° 1¶ ODÛÌäÇL´Í“½2D…í¦§¡Eh2š!8Lxrÿ|üÒ2>oš(ðn‹cåû" ;ùá¾ ÂãÒKì„™3`€³L^µ!s·—$è€vä÷§Ù²øžE'Ë—ö€¸ŒuææžJóòY„ãaãKÞ%ÃÞ!™ôwüÂå:ȶÎT?@¶2”'ÛÝAôôïÆƒ@ °çùÌ䈠H½ÂPd-,'p¤šMŠšd û–×>eä'iÂ÷ï>?Á‡Hd)Er.„ä1K=òG*;ÉÏ4¹ Í­ G¬ÈÑ«d¹Yû¶¿ ‹áµ‹•ß?†B’Y‡À ÖFW+›HÂ6V›Û˜²+OB(`oXŠ')ÈðØOžF€&ÃÛ?«ˆ_jCUd•}@þ5Ëc] ±@B%êt¤«Àé]„J•IÓq¨(#J™ Jà=v,•,yMÉ| ß8èázèEQ,á°ÁÞëXøŒKÐÆ8¨0Ë”ZaÒ˜rK5eP•Å¥& b‘¥þ4©&Ëï% Ú¨úƒÏ~îC6Å[Ü'÷a?Å5šé÷IÙŸÆé4]Jã>¯qM‹fGö%»þêÊKÉô§\¢ €¾{OW]ehq;”-ɶEÍôPÃùÏ£GI™ßÇI1œj]Nzü–êDðß·õ_1è$]OÜlé­EtÈx"à1Ä9Ó¥x<Ãöâq²/¦!¡‰àÂ-"P¶£©B\K·\ùèìE8ï$ç>5ˆ4”¢ÍöLûê¯_´£Ñ_{²»¸ýÜaÉùåÄòå°x‡r¡z³hú0Ųö.ÍšyE=m¡7¹ê€i4»öº @ㆩ#<ŽfŸ.>V~ýCB‹bC¾qOÔAs•¹ÕiÛ:ÒÙÜ=I*êqÎ[Xu'ð~ˆ€1õ¿èÐÕ”xº­ã›`ÒÞ¼Uy‡êÜÍA«gñ!?‚t‚_éï¡cµz³£`fœG/Ÿ;{½t>þ¼Gå;Gìrûf¢ß´Ã;ëíÒwÝã%N$45*;6‘Vv›!x/Ã~¸§T[»C2ž÷V.Öì,‹)MÏ’g¥iãó¢K’‹²—†ªÖèUÊEß G=t¡âKK¯úííûUÑž†ç€YEçBh $î9ê co¹Q&S…¥„a½túÂîÔ’Ûðåe¢Ùùæöü¶ìÖÆ²&SEAÁ¾M TCs©f8» Õ‚Âaì=f=Ͱyä\ÉÉ7OIÎ@÷v²Óã 5aKwN‡é°æ¢75•=u­UV¸B¥FöNÅ"g@ ìæ8rÿ§B(àOÙ“Ôs.TõÓçO‚ø¿=röeãÑBÛ×ÚÍöRdúU\Ï¡¹“?lÈTÈ‹7äª#3!ŠòîÀTÉ{…Å򮆦ôúìÒ˽m¶¢#_ùßÀ£ ÆV /yî2ˆÆ Ot¾;»N×LïO¬•æ§i‰¼§T~ÚøŠX†ýN_Ö,ï–¼=):ÈLG? s·­ŸÌ+Ž;/ÓìWÔmèÌ ÌЫ?y £=ë'OÖÎíTVS‡È@!ä—`òfû<ÙÓÞ\É`¤âhÌ Íh*zHÐ3oU‡™\•๮€bû½{iˆg¿‹~qnÇÏÕÒó·Ñ¤ Œ3¬ŽŠÓ’k’Á†5Sæþ0JCm£+>¿}UÀª©;øY›CElHÌF»J:{»ú:á°áGÍã½>4†y²'¸šÙGVd¬#,6âagVôuwrM ‘;±ÊÄ4†ý¼Ý(ƒ Iì Àëáp‹¢œBÉQ nVzþ‘íhˆ=Ñ_yâØI#”fªüö`¥(}hõ¸öÀ •ýd:ü?ÓùÝä~Á%Rhá9´0-ôd×r¿9äƒ#Ú+èûZ÷î€Ôm&}ãWò`m¢Ø@›ÞW¢m`Ñ6¦‚š”$rÐ,ÇÛþD˜ k ÏTp^ƒ¢À‚ƒ­P+éãˆÂSÜ«3D7‘^Ql%¤Y^g*ºƒ²JódhÎ(Г[ ˆ\o‚Ò´€«±Lé`ûƒ¾&žŽÞÖ¡1q·ö½½ëŠ__ ÙoŽÌ«WX5fš†Ý²ñ"•_æô×ðd/w«6Qñœ(/J§ˆïQl%”˜Ò¼üm|“¡Z ˆÒi6íÃËDÚøÜÐc SÏhŽƒãtéþ‰Ü8'ó@¯:¡7íyô×\õÀ¡¨8r³5ÙÁ‹7©dz†µË R½61?¹Z[I:ˆ×-'®¼·L4o˜°1 |ÒÅ7/º£7£„ˆþý%hcú_/‰ôÙ|xçô¦ãsT™”#BSËà·Ÿ‰ VÓDÔµ·_î;÷~ùguhì‚kxÑ5w©rq^d‹ªšôÑ-Õ¦ÖÂ2}ynQÃÑÓgI öŠªU뽃°ˆT¹yZÒù}º=¦ƒB[ì爕æö”‚H)Àn…E}­h¹ÈÔZüÖö¶°S4©RŽjŸT›_èq}^”6f^$Òì.‰=”›³ÝŸ€W‹´ yQxšÞ%²p5| ?Ôµ}^h)~ÛÜZyKd9`¬-2)Y¥_Ÿ¯m‚3_Ò¬õG8¼6g}NÀÚuóH±ð.Í8f1“nÜÔ¤¨K&ª,Y¡UÌÿz=ÈîÞ&ÍŸ¯jôµ°°*»JNä²F››·71A®$5\cU•å”gÖï…}'OÎLUĤé2ôò29Y¯ŠÈ³{Z[«* ŠÔ¥Ù¥YUÒnB6U-Õ •] Ƨ  lÜã­_ôEôíè3žˆäšQÈ}Ⱦ@ÍcéÊ+&PI¤  ™2|ÿS¤Ê2èu²¼˜bMßy"3i=30%ðÙµ®…ÜŸfýjEÔ¸Éø…!N¦Q7ú»` (6´ˆu HÚ ¬¾ðAa4„jBÓ:ÑÒ ã†'7„áZ‘.#?µ“¤£Ùl-éê|³æ¸]>*?åòe¯=OÔ«qúY‹ÙZd¬3·Éª¤À( V·G¹äò*¾ðLDߪEîßüÄÕÊܸ™Ü¡õôn“šhƒð|õæXœ%ÊÄë’Z ÄÀTl=Ü…^YO•Ÿ%íË¢{e„dïKe’ÒƒRÙÔzu6´ÃæqÅ®±#•=š n¦uå×6¾»ªþ‹ýgNXÏUÜxå:x0f®P.SoèÝz-‰a¯¬úfyËg^_À[ê¿Ý¬ú s6¬ó!qèðMoYû¬§Þ?þ)\‡!ê`f/>$T­~iãr=h lì+µ—Øìï}·á躜G-ùs㲸÷…%Çb‹³ âTùaR&Ò+@ÚJ¼]\cª&¢íüÏ3xùîà&r#ÿœ<¶àwÿ#³p²o„ÆZUqN.A¾"tù–UkŦÆÌ29‰…Î WãÿÁ»E9yŠ\]º>Ë¢²jÐI!*W¬$ëêËLŽÝ_¼AxêçAx*’?ÛÂ?ÒJˆtðT—ƒ§þIxª‹ç©$<›LŠqÙ? ™ÅIÚè^‡|þ‘4·½D 8ìãù¶°<¯T]„O¢Q¶UGˆGÒìüT]zin‰•`_¾ˆ}³5¼}âüÔêì*R*L•VŽB»E%– ²‡üQŠ÷&aaežI^†G|‘‚ĵhdõO64=óMMi±©°² ØP—DZ7,Å¢Ø*Ãc:žÛ¿õˆÏ›€ik]A13NUʽRŠ^(5•Ò¶Ñö1OŒ”8vÔÁ*KÿÏ\g²ŒKQÿ Ó±ñóendstream endobj 402 0 obj << /BitsPerComponent 8 /ColorSpace /DeviceRGB /DecodeParms << /Colors 3 /Columns 826 /Predictor 15 >> /Filter /FlateDecode /Height 427 /Subtype /Image /Width 826 /Length 57847 >> stream xœìw\GÿÇ7Aņ ööØÐXˆ±·DQT¬ˆ½÷ú³E[4ÁÇ{ïŠ1DÅÞˆ »±KP *JÀ‚"òû<÷}œg³{wÇ5¸ïû{íîÍÎÎÎîμ·ÌÌgýõ—Ä0 Ã0 ÃØ*Ÿ±®1 Ã0 ÃØ2¬k ÃX”9‰‰‰ÖNäIpùdÊ”é³Ï>³vBKúÆ0ŒE‰ŽŽÎ“'µSÁ0i•Ë—/W®\ÙÚ©`, ëÃ0å?þÈ;·µSÁ0i•ß~ûíË/¿´Ì¶ºvízýúu~˜§àÝ»w(Q¢„%7ʺÆ0ŒEºæêêêææfíä0LÂtçΛ7oJ–ÕµjÕª]¸pÁ2ÛJ[ܺu«lÙ²–Ü"ëÃ0EèÚÿýßÿýë_ÿ²vr&mðÃ?|óÍ7ëšmÀºÆ0L:‡uaŒÀººUøøñ£e6j³|þùç“&Múþûï%Ö5†aÒ=¬k cV×5ËlÑÆ®M:Ub]c&ÝúÆ0FÀºf °®1 c/°®1Œ˜P×’’’É”)SvîÜ©?$ëšÖ5†aìÖ5†1SéZXXXãÆß¼yóõ×_=zT`Ö5¬k ÃØ ¬k c©×µÁƒ?|øfY׌€ua{uaŒ 5º¶}ûvxÆ7ä Y׌€ua{uaŒÀ8]Û¿¿ŸŸ_xx¸XÒªU«àà`‰uÍ(X׆±XׯRªk/^lܸqLLŒXRµjÕC‡9;;Ó R¬kFÀºÆ0Œ½Àºfrt•䨘3eÊDÓ?~üóÏ? å @RREåèè(ÿ ±šÎ˜1ãçŸ.P¬¡:%Œ¨k8RW¯^­S§Î»wïh r¾bÅŠaaaâ±® ëÃ0öëšieÉ’E®Mr .üøñcšnÕªÕîÝ»1Qºté»w絛^½ºoß¾4}óæÍråʉ¿*W® ÀD"##©¾÷öö abccsæÌ)O˜ÜÏÊ—/¯øvŠI†èÚ‘#Gºvíúüùs±ÄÓÓ3000Ož<ò`&Ô5,7dxƒ¾z*#4Ö5†aìÖ5Óòúõk]º†êöܹs4íêê‰É“'£ÖÑ>GŽoÞ¼‘þ®t}úôY³f &2gÎ @Z^²dÉû÷ï‹uÏœ9S³fM1[§NÓ§O‹Ùo¿ý–ê9Æ8ôëZPPиqãîܹ#–´k×núôé_|ñ…:*Ó>]Ó¯MbElçÎmÚ´Q‡Ä9†3¦{õêE§;ggg1“+W.ùvgÏž=räHE„Ù³g‹‹£éáÇϟ?_ 44YŠó<::šãnw)3gÎôððк;¬k ÃØ ¬k¦åÉ“'EŠ¡é)S¦ÈvD äîîîããC³¢z ‡ºimóæÍ]»v¥éóçÏ£ÒZ»vmïÞ½iÉÅ‹¡¬¨§úé'???š>r䈧§§ü_ŠÍ¨]dþƒ.]Ûµk–ß¼yS,iÛ¶í÷ß_¾|y]QYW×àV­Zi ,âJšF^^^4ýÕW_8q‚¦Å]|»ÅŠ{ðà<*Ü¥Ô¨QCÌBæ tòTuèÐaÛ¶mÉ&[ëØ’}ûöᾪ^½zÖN£Ö5Ó²jÕª~ýúa"W®\òïÊ\¾|™L+C† ‰‰‰º‚}øð!sæÌ4ííí=yòdTØ4»{÷î-Zˆ—.]ªZµ*&èÙ®¸ÐÐPL`ÖÑÑ¿Y³f_PA+ *”º}µkÔºvêÔ)8Gdd¤S·nÝŸþ9Ù|6“®5nÜX 7ÇŽSÓ£k’æ .NBL899½zõ kÍ;W<9óõõýå—_Ø쑘íÔ©²BÌ*t "xðàA𯆠^øMHHˆŠŠ¢‡Ê¬k cF^¼xѦM›Ó§Oã2¦ûÀ¸]Ë—/Ÿµ“ÆüÖ5ÓÒ¤I“C‡IšOÓPê †:†^€:;;ãè‰pÙ²eƒ R,œ>}:¹‚@Ô[¸¾J—. u>Ur~~~ ,ÀÄСC-ZDáß¾}›-[¶”ïó_„®]¹rE\­Zµ„ þùç*T8wîœPmý˜I×ô넺¶sçNñ<VŠ­gÉ’…ÞT¢Üxùò¥:Bºa¿÷óæMŽ9DE ý]×6mÚÔ­[7šnРÁñãÇièÞ½û† ´&uaR.K\Òïß¿×ú/nñË”)sùòe §ŠÑ ëši•V† 2eÊ$÷Ô¯_¿Ÿ~ú‰fÅ—dÿøÇ?þýïë‰0..UhÑ)i^E‰g$‚5jPíX²dÉY³fQ‹%...ô¦µÚ³gÏ/^,i“І¥Œq]ƒpË£âÈîß¿?{öì†GEçL£F>¬?dõêÕÏŸ?/YP×@ëÖ­©g8€SZœ98òçϯŽÙ2cÆ yP¶@Î ,øôéSZ"×5¨-½;–7Ä1Ö5†I¢MPåÊ•QñÄÆÆ¸¢››ÛªU«PY«U#±®™”—/_æÍ›W׿8ÛÅ·Û¥J•ºwyr°~ýzýÑúûû‹ï²‹-*†-’S¼xqÒ¾^½z­\¹Õ* oîܹsæÌyô葤¹NkÖ¬&iÞL³‡Ì'„®AˆåÏG¿þúë-[¶¤è•~ð{ÜÊê w§7݆èZµjÕä–UΜ9#Z®k’foöGŒSKëvCCCqgr÷îÝ.]ºlÚ´I¬¯úî»ï(Œ\ײeËF&ƒ‚‚ †úS¢€ua’‡ëàÁƒ!!!â™qŒ5 Q±+XÖ5råÊ•*UªHšªK]˜ß¸qC|o.ZÉ%[YâAE½‹ê–¾%R " nÑ¢Ž)*Hñ›`6>>žÂ´lÙ2•;kç]ƒ(@MF-ï¥M›6¸štµ Q`ÄͪqM pô½I†éš¢¡@ÕªUé¬Öí¢FxðàÁ!C2gÎüöí[Èk·nÝè¼aäºfàã@­°®Ùü^Àp4¬_¿·D¾¾¾¦Å_éÒ¥{õê•þŽФŒ3Z;Z`]3!Û¶mkß¾=Më)Ìå ô—ù00Åå€ÊOñ)œL<˜¡¿üòËëׯÓww÷‹/¾zõ*W®\´ÚæÙ˜†P75€—L™2åöíÛ"Lçαešþ¨ÈWœ¡ÔúÏhÓëׯ%‹ëš¼SJjtt´bCbvïÞ½Mš4¡ìرcýúõ‹ˆˆ F ¬kLª ¯ ­Š4Ãüùóýüü´><0 æ‹ÙºàC}iíThuÍ„ 0`ÅŠÒ'CÒ w;={ö”4/‰Pí鉰\¹rTý—*UªjÕª[·n•4×J-yCuëÖá&G’}ýýÓO?ýóŸÿ”dOãÄÝ;¬N!0F£«#˜¼k\ooo莞·ää+ 6ÓQ#†ððð ÚW+¨óöíÛ'i*BT™ð°üãô׬Y³F%B6kÖŒêNTçôuZBB=G}ðvéÒ…¾WË—/ß³gÏøkÑT¢¿›ÜK—.ÕªUKþX´Zµj¡¡¡ZÛŠÚrËP >y„âã¶AŒOüøñ ¨#$]»wïÓ’5jœ={VF®k➤H‘"ô¥á°®ÙB׊j°vrl”wïÞ]¹rsæÌAaò×  êׯ/ï_4í‚7ru͵‘žNhQÈçȑŦ³dÉ"o['i†Š¢Æq]»vݼy³¤ù=::šÞtèÐAts%zâ@„Ù³g§µ±ÖÆ)À¿ÿýok%J” ÙJ•*A,$YÝɤ†d¡Bæ£Ìlذ¡x¬ŽÒgÅÄ[i–u 7£G¦é~ýú­X±ÂÙٙړᬣ!7’®IšÎ`Q’æ#víÚI:tM>ØZÓ¦MéE΀–/_®5y¬kö…Ð5õo¿ýÖÚɱQnÞ¼Y¡BLlذ^©ìÙ³wŠ7N}äâhpp0 ¾âÅ‹§>NÛzg]K÷ˆŽjÁÇuÝû}øðî¥ëëLJ¤iÓ¦‰‡sòzH4e4• o©¯ÝeË–¡nÓ3¼0** 8Ê8ÖÆí##0pˆwpðàÁAƒÉǃ”,]º´X±b4k]]«U«VÁ‚åÅÅÅÑÃZT‹ŽŽŽtçœ7o^:`c¢fù \µ®¡Ä ÙéããCŸ²iÕ5éïÃ$ÀeQfâWJdd$ «ÀÝä2ÿAèÊÇ)S¦X;96Ѝ'„®IŸ‡¢fZ°`n¤~yFÝÜÜpͧ²m©-CO5X×Ò=¸ Ä Oz:¡•ò¯&_¾|¨ÈEǤ[·nmù¸@t­ÅÄĸ¸¸Ð’»wïêú°]Ô”<¢ÀáºFàPNž<™ž6;vDóÅ_XW×´Bë"m¢¹+ªe4sR ͪ_¿¾¤M×ôlT¡kþù'Pñ1œ:=jX×ì Ö5CЪkjÄ—°ÉR§N7oÞˆŠ'úÆ0é”ê±}ûöQ£FÉ;FîÔ©Ó–-[$ÛÓ5ù`ŠÙEÿm’æ„- YÅðhZ7Šõ-úÁƒÇŒƒûÿØØXJ<îCJ”(M×®][k„¬köëš!¨kô¼í÷߯Zµ*lL}>#«Q<-]ºÔ¼Éµ%X×&ýaœ®§Nòòò¢~ò&Ñ5Su9žVº.g]³/X× Á@]“óúõkù-×Ó§O3gάç5Pz…uaÒ©Ñ5IóYØõë×kÖ¬)ë3ÕÓ5»‚u;`]3#tMJ;·hf…uaÒ©Ô5Á¯¿þÚ©S§ÈÈHÖ5#`]³/X× Á8]c$Ö5†I˜J׈;wîÞ½{õêÕúƒ±®)`]³/X× uÍhX×&ýaZ]3Ö5¬köëš!°® ëä?X×lÖ5û‚uÍX׌†uaÒ¬k¶ëš}a*]Kö³zý ÿ*ÿþýûÍš5ÃDllì³gÏ$Í(õ¸Œ%McÌÈÈÈ”¥Û0R£kùóçwuu=uê”9fû°®1LúƒuÍ`]³/’Õµ¸¸¸ìÙ³ëZ½dÉ’4-| þ¤u1 X»vmÏž=Å_?–ZóáÃy?„rnß¾]®\9š¦FÞOzŠN¡U«V?~Hž†ëšðNììþýûab¨//¯Ì™3ÙU‹Q×µððð2eÊ`…赜a= øºyó&ÁzèÐ!OOOËl—uMëš}‘¬®½{÷N×x2ÀÍÍíÚµk4-D×48¾¹s玉‰¡Yùh0 xþü9EòôéSÅÀÏrL¨kýû÷_¹r¥¤FšÆÔ…ºvòäÉßÿ†2Ô ©Ûºu뫃 2<©i×µ«W¯V®\ÙÚ©`˜´ÊŽ;Ú¶mk™m ]»qãÆëׯ-³Q›åóÏ?_¶l5§e]³ R¤kÕ«W§ñn¥J•Úºu+M'«k ""ÂÕÕ•¦¿üòKº?óóó[°`-Lö”Z×°¹úõëc븀ÃÃÓßçO˜J×Ο?Ÿ)S&#jýéÓ§7nܘÞä¦Wl\×6z¨†óÅŸµ“Ã0i”½¨5$+飀uÍ.H‘®8 ›]Ó¦MöhzÈ!ð³’%KÒ¬‡‡‡zÌÍ$Í+ËŒ3ªu ¿ñññ´$K–,bE,‡„a×èå#*c ôïû÷fÍI£kqqqþù§"V]KHH7nÜܹsõä‰dΜ9&&ΗþŒÁÆuM >f̘€€k'‡aÒ3gÎ;v,&®]»æææf™²®é‚uÍ.°¼®!’zôˆ¦õè–`¹zÓÍš5 ‘ŒÕµÊ•+cZÏ®¥{ä_ëä?¬¢kŒíÀºfRÙÔ@~È ×5°hÑ¢aƉٖ-[ËÈ[¤:töìÙŽŽŽ»wïnÕª•bëZuM$æôéÓµjÕ’4ÅÊ–-[îÞ½»mÛ6íâÅ‹%̓·„„ƒÚä„®1ÿþ÷¿ÅÓMC`]c˜ôëšÃºf ×5Ñ!…£umøðá .³eË–½uë–<ÀŒ3&L˜€ HÛ›7oÄòÑ£GÏš5K¾u­ºæàà@_Â"p£FòäÉS¤HEŒhj°sçÎ5jôéÓgÿþý’Ž+d]c†uÍÎa]³©üvMþ,Êp]{ñâE¾|ù çÍ›çïï/f}}}·oß.i¾‹ŠŠË/^¼èáá!OV]ÓúQêàÁƒçÏŸ9£ÙÔ· Íš5«££cê?5+X°`\\œÖ··6Â?ÿùÏŸ~úIb]c†uÍîa]³–ojð矺¸¸P¯9Y²dqvvCÈ¿‹jß¾=½µÌ“'ôN¬~þüùêÕ«ËÓ£U×0qâĉQ£F]ºtI¾uÑ{ˆd¢Ž>>ðžzõêéÉFÛ„uaëšÃºfÌ¡kZ¡uóæÍûòåKZòèÑ#ñù‰%|X¬X±ëׯW¨PAk­Í\R.ä 899………åÉ“çùóç8]:”š8mä tšr3V‡uÍÎa]³¬k†`´®QœújØê°®ÉÙ½{÷íÛ·K•*åãã£Ðµ“'Ož?ÞÑÑÑËË háÑ£G±0&&& ‚H%$$|ûí·’æëÌwïÞIšqši®Ç¬Y³öë×gMÈÿÅØ»wU«V·n]Zxâĉ¯¾úêÚµknnnZS¾uëVXcþüùÛµk‡8±döìÙ(Ú´isøðá: Â]»vÕªU«víÚ’¦Õ6Î^}¤5iÒ¤|ùò"¶K—.:u êÔ©#ï•uyëÖ­ããã9R®\¹-ZÈÓpìØ±Ë—/gÉ’ËÅw¨ÁÁÁ¸ÊP mܸñÅ‹]ºtA"%M/<‹/F`ì)’…"÷ŒæôéÓ0ÚL™2aJ—.M çÏŸ4Só¦íÛ·ãã_lTÒ4-‡ûNžIó¤î(Nc¸à®]»P "˜­W¯tW(¢={ö¬xèEº¶pá¡C‡b1 žgϞѱ&]S´vGœ¾1cÆ`ë>‘C©SÉ7víÚU‘¼;wúøø@áX´Dñl©mÓ¦\רñ>Mxx¸ôiÜ—;v´mÛ–ò G“2§+TO>³Ñ°®Ù9¬kV€uÍ Ô5Üm£ŽI¶4DM‰24õ#ZÖ5‚êéwïÞ‘pܾ}»\¹r¤k¥K—¾wïu#izõƒŽ¼zõŠº_–ŒÒ51Þu%M¼téRy`„${£z]kAг®`Á‚Ø:Í"H'tŠt «Ð£ ¤Ÿ“R‡Õ!$:¾Þ·o_óæÍ±#Ð&$8**Šúß¡l„ŽÐˆ#X‹lOúÔ¿% g®R¿¡¿H×äý&bëHƒ|µêVA!†½?mÒCÙ²e‘ bC$7BDBŠòtMŒ×g…mÞ¼¹sçÎÒ']S<ÔÄîÏ;Wq˜è4Ã1…b-\V”aé÷ööÆÁš0aþBá¬H¿Zרïñ#GŽà|“>u0ŽÝ¼uëmg&Â`+bu“Ô³¬kvëš`]3]ºF7¾(4hpæÌ™”F‹b¥¶è¶×–I뺆¬¦< RªkEŠÁŽ(ê`Ò5­Ÿ'BÊEk„®A’èyÕŽ nݺ⭨ ÿþË—/‡={öLkAŠØ*V¬H}ˆHšã w)tmÓ¦M8·i]5jÔ¬Y³þ-Uªvú½Sä½Î¦…ÎÎÎ8.ô}—†œ§¿páàŠ“7UëÖ­\¹2NKñÁœ"Ï…ºµmÛ6((ˆuI=¬kV@èšx·Â¨¡Qú»®-[¶ 0 ™e4b”*øî§Å[#êÚ±cÇjÔ¨#ù¼{÷î–-[Š)ÕµªU«^ºtI”TÑÑÑ8d¤kNNN¨¶QÍëZ×Tºæãã³sçN­¥%½”/鱕/_þÆ4‹ý={vJuíܹsÈOˆï| ¢;  °‡îÝ»Ãá$ݺ†›“|ùò=|øPrCt­_¿~°]Ùk ¹råúðávYë¿Ø5ú´¿E‹8UÄr…®ÑH*pG¤¤C×™ÈRý•G`` Ü®¦È–°°0 _~ù9ƒ0b¹Z׉››n)q­Ñú^>¼c]cÌ뚺ֺuk\Ì|´‚’:+i¾,AŽ!»zöìi¦mmÛ¶Í$—è¡W¯^)]%êÚæÍ›a0¨5½¼¼nÞ¼Ù¨Q£Þ½{£vRªkô’ø@ž¤‡t n@_ëS`ˆ»»»X×TºvàÀ¦M›B&D‹KH½P‹‰‰qqqŸXì5µåľ£F}°áöÓPCtM<¹mܸ+ž={ÖÛÛ[ô¼nÝ:œTò若ê¯Y³WüÉI†!º&tPÜ+88ØÓÓS m¢Ü”N™2%F®‡ ×uÞ¼yccc¿úê«£GŠ]>éÚ¡C‡°!Ì¢4˜:u*V¤‡îZu>’ÃåL­YÁýû÷q¨“ô™l]ë_H î:ĵ®Qc‹=zà(Hš+´xñâÈ:d ÄºÆ˜Ö5+ tÍÚ I3(FmOs jßWNÕ5¢k×®ð¶"EŠP?rŒhŠª111ÎI6lb ]ƒ¨‘Ó BÅ5ƒ*ÑH¸„Z×p"¡ ÇÄܹsáXÏŸ?§›r/]º&i>ÒGõ©Q£ÆÚµkgΜ)þêÒ¥K``àèÑ£ûöí»}ûö &Ð_Ô¶´V­Z«W¯†°Âº¨m£!º†êÕ<ücäÈ‘ÈL¬‹…+VÄîÛ·‰„ #ÍâÑ.]{ñâŽt±eΜy̘1¯^½¢6ŒÉêZ¹råîÝ»‚<Y$¥¼©v¶`Á‚8‚8LP[¨Û¹sçž>}*iÞTnݺ•d‡ ÅÙNºV @(é³gÏ|||êÕ«'F´ÓªkVódåÊ•uêÔÙ°aöˆÂ`ëÈÆ"Ú¥K—Ι3¢Oˆ@ïN:…ÜÈ‘#ÇàÁƒOœ8!®FDD [>ŒïÞ½ ]ù@¹‡+n×¼ysäêëׯ)çY×s¶kÁ4 ëš½aoºk ÿõ×_ýýý?~öìYjH¡k(¦Pí7jÔèСC¨/^ŒšUú40îªU«° ÈP‡ä+ªuíÝ»wâQœbÒß›(tMÒ<8DYBÑsê{Ô訡‘ùH\–GEEùúúÂÛÊ—/¿nÝ:z¿oˆ®A†Z¶lÏ“·×™7o&†>uêT±k-[¶Œ¾ÍR¼NʇÀ>'''„Õº†m‘>|èѣ܅º©!Sªk²B™)S&ˆ25Ïœ?>ÎOOOêU˜NŒÂ… ?~üXú¤kX?Æ™ŒËAþŒVO øržêçç'†d@Hl§ ¬T©RÐ52IÓÌsÚ´ip;¬ªU«Â­EGwz¾ü“4çøqã°!¨$¥D–~~~Ë—/ÿðáCоl9rdãÆ›6mú—EF©²[]ûK÷P`¬kúa]#\\\bbb8¬kvëó¿†ôÄܹs! VLOJe̘Q|s­•ÚµkC˜Îž=kK“§Í>uM¬k†`áÕfá|°®Ù9¬kÌ=”>½½²Ùj>Y\]]©¡ŸX’-[¶ ôîÝÛZ…>ëšÖ5†1Ö5;‡uÍÞ¹téRÕªU%M_ ð6êþ[41K‹¼|ùrß¾}:t€·‘XÖ55¬k c¬kvëš½Ó¼ysȤбdÉ’46¶““Sll,$ÃÚ©Kó°®©a]c#`]³sX×ìšk×®U¬XQÒ´0xöìÙgŸ}6dÈ%K–Hš±Ú´icí¦yX×Ô°®1Œ°®Ù9¬kvøjM\ÿ4¸ ý+F'dŒÆŠº&ºµ5âââ²gÏ.±®1LJ`]³sX×ì—§OŸÒ>®®®ááábù¨Q£æÌ™ƒ‰½{÷6oÞÜjéKXQ× ÚeÊ”±Á <))éÎ;’Qº†Ýyùò%n$I‘"EäÁM3gΜ'OS¦U/ 111?~Dª‰±0‘‘‘ê aÒ¬kvëšýR¡B…›7obB žM“¸ó§TcE]Kéæ,º–?þ¨¨(šVÎŽÓ'³ÉÒ—°Ã>hMŒ…¡”ðÕš¾a]³sX×ì”ØØXgggL¸»»_¼xQñïàÁƒ—.]Љµk×öìÙÓ éK/XE×J–,I£˜Û,ÔeLJu-,,¬fÍšŠ» ÁÕ«Wœœ°ïZ7·aÃÓŽ`ŠÕç“'OĽYquuˆˆÐU\߸qããÇÐt ¤„±VÔ5îýÎ`]³SÊ–-K/¤öïßïå奸7..5Î\¹rÅÄÄX#é«èš#nRªkgÏž­U«–(² ¯Bl×®]­Zµ2"µºèÑ£ÐðÄWትèY¸¢¸VÄÉujúƺO×øÔÒJÖ¬Y_¿~íàà`m±®Ù#?.Z´¨¤{êêÕ«ZômÛ6((óæÍó÷÷·húÒ¬kjŒhêîî~ùòeÅB*»±¢AŒâ|†NAªÔ±É ½wïÞâlwqq10ý¢ÞÂaMJJ’ǹ}ûv__ß„„„Œ3bvá…ǛÊժU£Æ×ŠÝG¡ÊxéҥأbÅŠmÞ¼¹víÚº6÷ôéÓ H¯DÕ…9*øï¿ÿû˜7o^L÷íÛW¾+V¬Ø±cǾ}û‹-J»]-Ú ¬k6HöìÙ_½ze™N¯X×ìTgΜÁÄñãÇ4h +X¦L™m¶aš€uMÑyà¤Å©«ë–žo×ðî=Z·n­þ‹¾Ô„äQ6†Ó½{÷7*³{÷îV­Z‰&Õð!8\×ha¿~ý|||vîÜ)o̓d Üß¶m[³fÍnܸQ½zõ¸¸8Ÿ®iýv wYó5@ÇŽ;sæÌõë×#Ù"1%@ýúõéYûÇé.ޱMlA×p¦U®\™µÁÁÁ7ïß¿g]cÌ.uúÆ%YkÙ²åž={0±`Á‚aÆY(}é Ö55FëÚ¡C‡š4iòîÝ»,Y²¨ÿÕ¯k›6mêÒ¥‹ú¯gÏž+VìÂ… )­ÿ:vì¸uëVEù™¬®¡ª£Ç„ƒÛ¡!C†,Z´³sæÌ5j”ž¶ØdTºŠk­º–?~ìÔáÇi¶xñâ¨Z®_¿.‡ûñÇ1^¦L™“'OÖ©S'E™ÀX[еR¥JýþûïÞ´mR®\¹Û·o³®1f¤iÓ¦4}亹¹éL—hžúùù­\¹RÄìëë»}ûö+W®hí\M«®ÑgÔ3ÜÍ›7!‚¨ì§OŸ.¶Îº–¶0­®;wWIJeË Ïº¦€u1#Ô#nXX*׊ŒŒ,\¸0MóÙ’RX×Ô­kôòòRèšÖ»ŽÐÐÐzõê‰Y¬uäÈqä§±Ñ-C;tèðË/¿¨¯77·7nÐôd z¾]ëҥ˦M›höúõë5jÔÀÞÑìèÑ£gΜ)¢…åÉ“çíÛ·4ûüùó|ùò7. @‘€bÅŠ=xð@L?|ø¦½œ`ë:u’X×Ò&Ñ5œááá8?~ŒÃƒnàŠ¬k X×s»|êYJ´M3Ô³fÍÂÄÖ­[Û·oo–ô¥SX×Ô­kÈCXKÖ¬Yå …ßÈÉœ9³¢ÅŠâÈc@øþý{uødA„?~Ì–-›b9"ŒÇ¯££#~Äæ`EØ–˜Í!‚‰u“’’¿&_N ýø—Jl+ªÏD Š`X.t‘NDˆ½C„rµE¾eÊ”ItY‡Y°LoŸŒq¤^×PÕ­[÷åË—t±®¥Ö5Æ\з̒æÅ¢àNœ$¨Z$M-ˆºÍ\IL°®©1ZׯžI®={¶[·nò…¬k©u1 /^¼ÈŸ?¿IŽõÂ… ‡šúxìÖ55¬k cÆéÚÁƒ±–|`hooï½{÷J¬k©ƒu1 'NTã.'))‰ZŒ–-[¶xñâzB)RdÅŠ¦M^:†uM ëÃAJu-44ÔßßÿÊ•+bIýúõq¿uɽX×Rëc>~üHt𡦅uM ëÃáºvýúõÖ­[ß»wO,qssÛ³gO±bÅhÖºöáÃÑ®EMŽ9òçÏOÓwîÜA‘÷(S¦ŒÖÀbxÜÒ¥KëúIruuÒ¤Pý©Ïýû÷QÇÑ4»+ è+Ï\¹rÁÃtí ÁºÆX\iôôܹsa ÖNNúuM ëÃ!º•©]»vTT”X%úõ×_óåË'f]}°k¥gÏžk×®•G%éîj`À€âŽbÄÀÀ@Ñ¢èGîgÔs<6j»#fcbb`cŠ”¨éÖ­Û† tý+±®1Ö‚uÍL°®©a]c#ЯkW¯^õöö†¬ˆ%îîîAAAE‹UGeãº&}*9iZ²dII3ZZΜ9éÑZÁ‚###Jšçˆ×®]“GÕ¦M›]»v‰Yu 4oÞœ>òÓ ëcX×ÌëšÖ5†1]ºväÈ‘‘#Gb¡Xâéé9{öl=] š[×BBB¨3AñâÅ=<<äQIzuMtê.ɆLD$( iá… ÄæÖõôéÓ ˆY•<1Zumøðáõëׇ†‡‡ûí·”0ý=!°®1ÖuÍL°®©a]c#PëÚáÇÇqa jîîîú£2·®é÷ CtMú4ä.Mûûû+V VJ³0ª©S§ª#tvv†ýøãcÇŽ¥%Û·o÷õõÍ‘#Çëׯi‰V][¿~}÷îÝiúþýûô0O Y×ëÀºf&X×Ô°®Yø)ês‘±„®]»v %6ôâÖ­[â_¨R`` úÃ|­Ð9P­Z5(‘!àèèX¾|yɲº&iÚ¨7—?~1ô­"Â}ûöÑH‰3~3eÊôñãGÔk#FŒ 0Éêô‹d̘1!!AWÚX×ëÀºf&X×Ô°®Y˜›7o¶nÝšª=ëø:uúù矹Ò1¡ky󿥗ƒ ™ãÇË_ÿ%‹ÑÊnˆ®!rõ!–/1\×hà…3ÁÕD#Su„ð³ÄÄÄÍ›7wîÜ9""‚šŽBÑœ)ŒV][¾|yÇŽ“’’°-[¶¤±RêÔ©sòäI]ic]c¬ëš™`]SúfI>|X¬X±fÍšmܸ•“¨´ÌÄâÅ‹G­ønI€qëÖ­\é‡Ð5GGG”Øb¹§§çRd fÕ5­§k 887bvÍš5½zõR„‘GØ®]»;vй7>|øpõêÕÃÂÂD›T©R{¤'a¬kŒu`]3¬kjX×,ÉÉ“'ëÕ«‡<7·¨sæÌ5j”þj…_ȇе˗/?{ö ^"ÌE 5 #Òê‡òF2oÞ<ÑÙ ˆµk×–,þt¶(ï@§qTT”ëVaBB·»k×.ò¼›7oB­RªkóçÏ>|¸ž„±®1ÖuÍL°®©1B×V­ZuåÊ• ,\¸ðÉ“'ðæÍ›ËŒ1ÂÓÓ³Y³fÈ1Äß¡CyÓ¹Õ«W‡‡‡çÉ“§wïÞ...´ðÀû÷ïÇ ¿råJÔ@¾¾¾ò8QX»¹¹ 8pñâÅØ¨··7ÕX’æcämÛ¶ÅÆÆ¢ÂS¬E¬]»öÎ;… :th²E9 áñãÇüøqÖ¬Y˜}ýúõôéÓóåËI©â ¨¨=z´eËœK3f|ÿþ=òþEæwïÞ½R¥J˜F 7qâDì)µÅó÷÷Gà€€Ôå¨ÛZ¶lY£F yÌHêš5k¨{ñ1ø?þˆœ¿pá±cÇ`4ö<2­Aƒ˜7niŠ:«¬[·9–?þnݺÑéAÐQ€š,]ºQ¿~ý .œ¢|H7¨›lܸq̘1OŸ>a{3gÎ,X° þ¨è\jذá‘#G Üz*›ÈO`ÃumÙ²eƒ R,œ2eÊwß}§N›ˆ°B… 8ó3eÊ„ÛÁÁ!>>z§_×:uê„k922¥x6¼oß¾¦M›êJëcX×Ìëš#t …&ì ?ŠWdæÑ£GQ‹ãöWÀrd׆ àpøða*Ù`eË–Eïîî~ëÖ-Ô4¢§o¿ýöûï¿oÑ¢Òƒ2÷àÁƒp‹={öÈã„ÂÌJ”(‘-[6¸ʼn^^^¨/qPBBBð/¢å>¶R¾|y¨aõêÕQîŸ?^×›A90³9sæ`p"s$‘Nyzzôè­1$ÇÀŒ3°õ—/_žÕaØ/ìÈ7hâŸ:uªnݺÈRToVÔXôl/** YqýúuØð={ölÓ¦ &°ºvñâE裢ÒAª ߨQ#l.降Á¦±!‹ãÇ#ð»wï²dÉb`&¤'tuä±|ùrø½|D8ô„ ôi¢e(4Ttx‹S1gΜgΜ¡Yœcp2]îÝ»'<-Á½ÖàÁƒåa’mjàää„ÓLÿÎJ¬kŒµ`]3¬kjŒÖ57ܸíFÆŠvp¤q¨é)£ VXyGÉš5«&H”g;“®µnÝ:((HÒ ¿6bĈsçÎU«VMç•+W¨j¼pႇ‡Çû÷ï¡««kxx8" 8Äâ{šÄÄDÜÓÃí¨¸—4ÊräÈaÈ>"rØL—.]6oÞ¬õE Ò%Zºt©!± Nœ8ñÕW_½yóF1¨N²ºíââË—/T)44 ããã¡JE‹r€|·FÔÿ2º ¥Vü;fÌ; ´]lÙ.šþa!’Ä`ùƒ\Rtâ`?èï&Gsذa”QD×®]qVãÎAUšÐ5zHFÓ—/_F¡!ŠALˆØ´FσíÉ;N3\×è~Œ¦å…ŒÖ5Æ:°®™ Ö55FëZll,î°%I ’WÛ(vÕ]“©`¡xsºuëÖÎ;#ˆ‡tíñãÇôríÝ»wÐ,__ß_~ùEĉYTÄ£Gp,Dœ4ØnñâÅaŠÒ§Å:äéé™ÒlCå”(Q"""Býê§dŠ¢5Z×DÕ€Y! k×®íÝ»7´IWÏ^FèêNX5¼¶‹ƒ2yòd1Â#Ö¬YS-”?_Wë®&š›0\×nHP2Hš‹QþåœÖ5Æ:°®™ Ö55Fëšâkå^½z­Y³FÌúûûÏ›7O¾ÖŽ;Úµk'¾2Æê¸Õ~ðàÌ€lf ˆ³R¥JW®\³â©’€ºP<Ø“>Õ»wïnÕª•Ñoë¦M›öÝwß +5 &ѵL™2‘LŸ>}âĉzj #t ñË{Ò"#”o½~ýúØ 1+Wj»ÂÀ!Þ¡;È.ÜNˆþ/`à 4À¤p«ëšV°ndd¤øBQþt\úôØŒ¦ÅehÈãºéNrœê’¦ Î|EË‚u±¬kf‚uMѺ†<¤b‘Þ9Ž1r@PìŽ=zæÌ™òµ° VTûAûöíq¶“®É=‘4nÜøàÁƒb¢sìØ1ùº8Å‹?yòd:uD0gggì¦Qù5jÔHña„……Õ¬YâÝŸIУkô¬"** Âdˆ®-^¼xèСêQ´FèêBjîGÛE„DsEÖ5º&ؾ}û€èÌ$p÷²|ùrœ`æÐµsçΉ&)©Ô5¸šT<ÿ&èÖ‚¦Åi™"]“·’ W®\Ù·o_­áQ†ìÛ·O!ëcX×Ì뚣u 5Mÿþý%M{ù;G”­êØÈBV¯^Ý»wo±ðøñãÐéSSÜFO›6MÒ4ûoÓ¦ü&[«®Qçm۶ݱc‡ôékè1cÆ`–¾ô¢~ž(¼ºEçÂ… q> 2D¾š7oÞøøø©S§Ž;Vnò+UªT¯^=CrL K×&OžŒLÀ46:iÒ$CtÆç‘·É@õ™-[6í¢E‹† öþý{­=JhÕ5Ø3bßÁYïܹ#¶ÎºF¤T׈ÎpyC„AƒÑ¦Õ59z2'ÛÆ9¥ åáu­«uyj)±®1Ö‚uÍL°®©1Z× (€j&)) våÊ•/^¼(hÕ5IÓH¿~ý†Þ¥K¨¼âBõ é|nÖ¬YP%â—§¢U×$M³»+VÀo UPׯ_c 4ô/½ËÃ_ˆÎ-£`äÑJªÇ8¾=‚"°F¸£ºµVyò¹!ÔJÒ|îîî^¦LäŠlþšpãÆ Êó½{÷"ÿ‘i8Žôî ³¥K—._¾<Œ|Íš5ò1Yׯé㦻É|ºf°®1ÖuÍL°®©IÍ·k5jÔ@~‡ÄkPu j£3f¨×}ñâEÏž=ýõWÔ43gÎlÒ¤ -ß®yzzž?¾]»v«W¯VĉÀØ®:Îàà`øD§eË–6lPü‹â»W¯^ðc]K ¬kŒu`]3¬kjLÒÔ õ¨›0Œ-“z]“4 BCCqA‘¯³® ëcX×ÌëšÖ5†1“èÓ~ïÞ½«W¯¦O0 uMtmäÈ‘Ø cn`4Vš°®™ Ö55FèZ½zõNž>>òÔN:uþüùÑÑјž>}:U±zhÖ¬ÙþýûoܸQ¾|yÌ&$$8::–-[öÖ­[ò`ˆªzõê76$Ç@­ZµÎž=«X(D {·~ýzì¦ß¾}‹¢ãàÁƒ9ÒŒ3(åXˆ¿D ÈŠñãÇ/^¼k¡â˜7oÞàÁƒ%M%’˜˜H«‹­L˜0áûï¿—þþ¡ºZæ yß}÷]TT®”aÆÑi/ÒY±bÅJ•*áè`¶ÿþË—/70Òv®k8ñ2f̈_Ió?&p½ß¿ßÚ鲬kiÖ5[†uMÑC¼)RäÎ;(¦Ë•+z÷î€JÝÃÃ#[¶lðLW©RåæÍ›XÞ»wïµk×®^½{öìiÙ²e—.]È´hˆ÷¬Y³¢ÄGz°úõë×I8DœØ"þÂM|®\¹¾úê+L`9¤ "‚ÌuîÜyË–-?.\¸0­…ø!ˆÐǸ¸¸^½zýòË/ú÷;‚”Ã`H˜Ý½{w«V­Nž<)wGJÄždHŽ ._¾ìîî®~º†_¤¼cÇŽ˜F:³gÏÁ%¦”zZ—š2e Å{;räȪU«¥8”mÚ´ ›Óÿt ²µråJÅ¿‡jÒ¤ ² ™¶sçN¸oëÖ­ƒ‚‚Ä^ã—Ì’>}Û±cGÛ¶mS” é;×µíÛ·ûúúbÂßß?<<œ:‡Ç•ˆk'ÍB¤g]‹‰‰¡KE­µÓ¢÷úTfáv%uj¢b]³eX×Ô­kâ,hÄ‚$ŒàJWßjß¾}b×·o_(-Am‡-ÆÆÆâ¢#] †ÃIš*°R¥Jr/Aœ...ôL•?~ñÌ Q9;;îvíÚ…YØ$*áÇϟ??EyR°`ÁgÏžQ™€´Aà PPIy”Ò~~~³fÍJQÌ'Nœ€h¾yóB&_ž¬®ÅÇÇ;::Ò,’‰i˜Yƒ EÈ(­››3gΨQ£téšÖ¦ÕªUÃ5‚âš:¯êÙ³'„ 鄚àèHšç+}úô,¦(Òv®k¸Þ¿/i®Aœ•+W–4Ýö¢2µ“7æ¦Ñ5K~a€òQOÕUµjÕcÇŽÑ´HRBB¬È‰3˜9rPyÔ®]»mÛ¶¥&*Ö5[†uMѺ&¯æš0+×2‚S¡ÄÈ™3'-9wî\5``ð0Ò5EœuêÔ9yò¤˜E`ÅûDaÉ’%¯^½Z±bE Å à·ÿþfÍš=}ú´@)É ù0f̘ÀÀ@¸‹««ë€–-[–¢ta´®É_›Š ‚Z“Sc„®!þ|ùò=þœfÏçðo½zõÄ<Ìúúú&ûÀ2]bϺFg&:uê„˸´qc"<<—Œ•ÓgLötM¸‘¹iã& E­®«W¯¦H’-ëZê‹Ö5[†uM©t­_¿~+V¬³êØ‚‚‚´¾5ƒÀ´êš‡‡ÇùóçÅ,DGÜþ÷îÝ+UªÔÍ›7Ë•+'‚IŸÊ=\‰¸å‚h8(„===k×®=iÒ¤/^è)åR„!ºFß®¢k?þøãøñãõò©×µU«VáÈÊ·^¿~}ì…˜e]³C]ËŸ?TTêqœÉt«€[&zÀ–'O\/ÖN %Hú&ÿ U ÿ>×–uM¤ õо}ûRëš-ú¦Æh]»sçN™2e0{ãÆ 77·Y³fÁ (€V]»páBµjÕt•H¤kô f=z„LÆü’%KDœj]{úôi¡B… ‰P éÓs)ñŽ>ÃQ£jô¼ˆ€«…††¢*BŸbX£ß`èѵ5kÖôêÕKúôÐÑ] nݺõÆ»víª5m(@FŽ™"]ƒþâ”ˆŽŽ¦]ö÷÷_¾|9½ö’X×dØ­®-X°€.(ooï={öˆå8±éÄ8uêîs¬–>Ka+ºfxa$º¦[¶¬k&„uÍ–a]Sc´®¡Ú†<᪯W¯Þ™3gÞ¾}+¾ûÔªk xñâ¸ö±V‘"E’’’ Y°=é“®•(Q7x$j"€Ûtܬ‹8Õº†ãˆò'>>Þ† zG#œ”,YòþýûçÏŸ÷ðð@R!:tÇ !v»‰‰ùóç>\ Xº³nÝ:CrL KײdÉR½zuü‹â±|ùò†èÈ—/lòêÕ«åÊ•ûøñãÂ… å%Æ–-[:wî 'ëÖ­›:1}úô#*ö}åÊ•ýû÷?|øp£F?~\´hÑÊ•+C|ÅÖY×»Õ5ú²S]Š>|øúðà LuúÆ ]C6yòä­[·¾|ù³(øêÖ­Û®];j¦!Ú).Â!C†,Z´ˆ¦q„»á+W®Hšg`“&MòññÁvÿ—”Ov…” ~Â글Q0[Ï‘#ý›z]Cm7p(¡0[³fÍ€€T7y¢¼–47Óô ß‹/Ò¡C‡¢jß¾½øììÝ»w¸§\ºt)Ö={6JUIóA4êl¥V­Z›7oFÍ¡N[óæÍI¶D3xIóð€šôSéF 孥䰮Ù2¬kjŒÖµï¾ûnêÔ©˜Å¹Š Jþ¢Ô¨Q£ÔŸá#Ûaááá4‹Ë388˜Ú+®ÁèÆEÄôéÓG-S. ‚÷ïß—*U %­Õ±cGêc‚@¡T¡B…Û·oSéäîî.Ê ­¤£ì‚Q¡ÐUcŢїS*¨Y†ºp@Ñ„²…ºE ÅžêÑ5˜Í¢¬C–¢¦¤Y//¯ýû÷ËcF *þÅñB>?xðZ¬N›ØDÆ ‘Ï”äíï¿ÿ.ßkÅ…¨8¶oßž¢LHا®mܸ‘º›Ñú7NE\k’æ;T¦VHŸI^×èÓZ­ÑÅ&Úk(¥'.]\âj`E¸—06a0(C'Nœ¨üèÑ#h¢”j]Û·oŸÖƒ*š>yáBïÅGŒ1oÞâNò‘?~ À´ÜÙÙ®ƒ›Eˆ 5›*P Lñôïߟî8a`ð°ÿ&EvvëÖm̘1Ø„x Bêoj .&$™®………Õ¬Y“Ö«W6‰½†ZÑW®âA—ôé‹ZšFM)n *ôäÉšº¦=gUqŽ ¤i­M »téBÓ… ŽŠŠ¢çmH<ìMѪ_Àºf˰®©ºV§N///CVY¿~=ʸÖ;Cã8räȉ'l¤£ýû÷Ÿ>}E}ŸÇ0rP¡àt=|ø°dOºF}%bBþQ©‚²eËÞ¹sGÒ\A–'i”äu ê ÀDÛ¶mwìØ!–_¿~ÝÍÍíéøvna%<~üX,ÇÙ†$Ù@­"OOÏC‡ÑtDD„h£KýF¦F×°!ê[OÞ€4)) ¦Bb$Ö¤I‘ xÈ'ý]×¶nÝ íC a´54ö·`Á‚C† ¡ó,K–,¢cO]-CE -çÊ•+•*Uҵˬk¶ ëš¡k Ãè*eTšTrRkn­Á¨+DIób”:ÇN¯$¯kÔÑM#ï h•+Wnذ!<ÃÁÁA(‘.]ƒZA°$Ͱ0X…¾N@àµk×Ò£ËZµjážRƒÜ™¨_DšÆ}ð˜1cäº6jÔ(y²ãããEÃ~I›®‰%ÇG=*ž«9’žÿA.éã¢xñâ¨)ÅìÎ;Û´i#f…®!÷âââ2dÈ ß„ðìN… ™£§#wwwñ™­¤y>nÜ8I7¬k¶ ëšÅç¡ Ã¤ý7ðéê7~~~ê§rêÕ«G_7^ºt©J•*JŸÅ1¨©AŸ>}‚ƒƒ½{C8bcc“Õµd?2€aÐÓ;RÞàK¾ü›o¾™>}zj¾]K61ݺu“¿ßœ1cÆ„ h6î(Ét ¢#ovNaaaÕ«W—>u­®H°] uçæ X×lÖ55È Êk'„aÒIII%K–ÔÕMqzB4¿‹ŒŒ,X° ž·nÝ¢Æy¹sç~ñâEzý´1ey\¸pa×®]zH6bĈ9sæü7"ºVºtijæ“QƒróŸ}K §"jÑMÓ4Ú1MSûöÔèš$lT][ |ûöíEû€Ó§O+ÆìSô‘¦_ׄæ‹3I2@×WÈ1ùF1‹ºMÏn²®Ù2¬k Ã0)eݺuÔ)`Ïž=×®]›lxQÞ»wOk3ät@òºÖ©S'ñÐgveÊ”K©w“uÍ–a]c†1XÄ€$M{ÏÀÀ@ÃWDEŒªùþýû˜>xð`ãÆÍ•D+a²1CM”¿ëšu“†`]³eX׆a 'wîÜüñG*#Qþ–`]Kó°®Ù2¬k Ã0²sçN“D%zàO7°®¥yX×lÖ5†aCøë¯¿ÆŽK}­éz i:©èÔ©“®`%K–>|¸‰“hUlH×–,Y‚dà€õîÝ[Þ-£Ö5[†uaÆ´ÐÚ5kž9sÆÚi±6¤kŒq°®Ù2¬k Ã0¦…t­FgÏžµvZ,ëZš‡uÍ–a]c†1-¬k¬kiÖ5[†uaÆ´°®±®¥IX×lÖ5†aÓb׺æèè(YbÒ>>>ÔI/ëš ÂºÆ0 cZìZטtëš ÂºÆ0 cZXט´ ëš ÂºÆ0 cZìT×ÒåÀõroܸQ®\¹ôÝõîÇòfÍjÜê¬kf‚uaÆ´Ø©®Ñpìé˜èèè>ÞÚɱ_Ž=º~ýz‰uMR52“^w95°®™ Ö5†al*‘räÈñêÕ+k§Å®Y¼xñСC%Ö5I¯®åÏŸÿÙ³g–LŒíúf&X׆±X×lÖµÿâääôöí[]ÿfÊ” vbÉôØ>¬kf‚uaÛuÍF`]û 9sæÔÿVþñãÇ… ¶X’lÖ53ÁºÆ0ŒíÀºf#°®ýìjGýaV¬Xѯ_?ˤ'MÀºf&X׆±X×lÖµÿ``/¸éoÇSëš™`]cÆv`]³X×þƒºÒ¬Y3s'&­Àºf&X׆±X×lÖµÿ`ˆ®!ÌŽ;Ú´icô¤ X×ÌëÃ0¶ëšÀºöøe¨°®™ Ö5†alÖ5uí¿$kl¾¾¾¿üò‹e“&`]3¬k îÝ»÷ôéSk§‚I|ùå—° k§"½Áºf P#ýëÚxÿþ}öìÙ“’’ô„yòäI¡B…,–$Û‡uÍL°®)2dÈ’%K¬ & Z¯^=k§"½aˆ®]ºtIWï ¨XÝÝÝÁŠ+æìì¬'iÔ§D‰¹råÒõ/|Iºxñ¢ƒƒƒ|‰"B”„1114;wî¢E‹Ò4n_¿~-‰„9::b‹ùóç×µ›É"tíüùóFÇ£Öµÿ’'Ožèèh]ÿr7¹jX×Ìëš‚áÇ/\¸ÐÚ©`Ò'Ož¬S§ŽµS‘Þ0D×ô?UÎ ‚mܸ±k×®ê÷ï߇ˆPøjÕª;wNüW+S¦ MgË–ºµ—o÷u‹-Ò“°~ýú­X±‚¦½½½CBB´¦ºFû«gt!6wùòåÊ•+ƒX×þ ޽“““žér¯Sëš™`]S tmÙ²e¸­²vr›ãÚµk“'O–X×̃%u ôïßåÊ•4=f̘€€š.Q¢Äƒhé)]º´b»Y²dy÷î<ªS§NÕ­[W̨kDbbb† ôÐ ëš…à!ÞSëš™`]S tGa´rìØ±† J¬kæ!EºvàÀEu‰r¬yóæŠ`ztMÒ<ßŠŠŠ¢ðÑÑÑÎÎÎ\¾|9ý‹Ò€¬ERÕÚò¿@ýúõýõW1«U×ræÌùóÏ?#ÍÏŸ?Ÿ3gÎo¿ýFpR}õÕWºR¨ Ö5K€jÚ´éÁƒÕá†þÅ‹–O’ƒ‹n>à~~~ÖNNúuMе‡ŠOOFpôèÑFI¬kæ!Eº¦_ Ô5_Å‹§é\¹r¡^®^½:Í–(QâÞ½{êa]HÖºÿ>-A08 RñUºV]“×ïòñvìØÑ¶m[yª`AAA/_¾D)Ô±cÇL™2?>K–,økÔ¨QÙ²e“´éÂC³0ñîÝ»üñÑ£G;wîD’7n\¡B±­Û·o,X°S§N¡VX×þÇ7ß|óÃ?¨—#ƒ¬þéLBBÒfS9ÿñãÇéÓ§cÂËË«fÍšÖNÎÿ@Â:tèP±bEk'ÄHX×°®1úa]3+–×50mÚ´ï¾ûN±0C† >|·iΞ=΄‰çÏŸçË—OÒTÜð8l •‚d€®É#Í›7¯ÖY›Ö5c°¼®µiÓ‡ÆF/Caô±±±«W¯X× uuM׿çΣ.È Ñ5éï_:ß¹s§L™2˜À…9wî\Z8oÞ<ÿï cAAAbüÖ5«“¬®òÔ`¨àä#$»ºÛM b Cš9sæØ±c%f½~ý:{öìɦGOù_º‚±®iÁ*O×Ò5õrÖ5C`]c]ÃDæÌ™ß¿¯+˜ºŸ5kV €cñáÇß~û­jÕªô/’¡è‹œ1 TQíÝ»·E‹bI²k±®™Cž®¥{pZâÔêÓ§OÉ’%_¾|¹nݺ={öÐ_òÎ8Ì ëš¬¥kTTi5kÖ5C`]c]Ä££#dKW0uMÒ¯?8swggg†ÝÙ×–™‘/iÚ´©˜šC$â,³´´\¶l™»»{``àäÉ“,X@Ïç [8&)>Ná–-[ž*pppˆŽŽFúèíí}ÿþ}ê°&©ú¬Õ¨QƒÂ!š'2GOåºF†ÇÇÇ#>½®[·î½{÷$ÙI'©&íÏŒ3 n’j¤ø#GŽHÿÔµ;v °ïÞ½CcKÙkРÁíÛ·i-w5ÈW°®åX×4Ppu ÷»¿ÿþ»¤jjÑŠ)2ò³®õêÕKÜÙg³ÂY×X×$Õ;8\ìåÇRFF t.é©kr!`?ä+a!Ë—/WŒ¿CàáèèHaù8R‰‰‰ô­NÏ´´4sss¡k¸u¡ÑÝÄÉ»téÒ)S¦H™Œä$t 6 §{G‹±`ÁJ–, ›\µj•J ˜øbìéÓ§¤nØÍf-Jf&ÉféÁîÐÂP©!‚´öàÁƒ¢ÍùðáÍ2$ôQþ2T˜™xÝ\ªT)ñ~–u-_Áº–O`]Ó@ÁÕ5´Ô—/_–Ô>.ÉϺfDX×X×$ãu5T=@#""$•ÒìpÒ?_AJ²“ëèѣݺuSO$$$¤J•*÷(¶MOO—ëš¼"ÎÍ›75j„$Š…®!ȉتN<ÏCä¹sçŠDžìN<¤åB×zôè!n¨~øá‡H²{¿üòËÂ… µÖâºÖ§OŸýû÷Ó*$NÏÞä6Àº–¯`]Ë'°®i  êÚAy',Iu‘Tsœ }ú¢E‹ÔÓyõê•ø_àlSP‹yuð¿NKKÃù¢]×îÝ»G#‰‰áyÕuMñuÝĉW®\)}|D´øÒ?õùúúÒÇab×B×ä!Ôumݺu¢;Ef(t­oß¾hhUÏž=i. Öµ| ëZ>uMB×ÐÀå“Â"ô´Lw]#裺F?&&F± Ž –_ip÷çççGóæ)))ÖÖÖе6mÚÐ’N:É;ÓuèÐaêÔ©P.yMŠÉw%Mß®É猓T'l+>þÝ»w¸8©–uuM2’®É•ˆDF…”i ¸!×Y±b…{=88X$3]ËÈÈ@3ºxñâ'Ožà't‡®pø¿ªëâ£A§™ÔŠ/>gΜ¢E‹.Z´(<<\RÕ¥#©zlá*BawwwDÀ¥…~ 'ëš:¸ªÑˆPWW×ÇSXcW4»Mš4¡p¥J•ÐF`_ôóÆ™õc]c]“tÖ5CRãì › 1 Ž^ðô¢póæÍbœ‹qãÆQGܱ7Bš-[¶Ä¶¸±¹|ùò²eËð‘T¹‡Nq<==ñ¯ ¹{÷.-9vìX×®]%YÏÐlêî¬Pü½té’XˆI7½¼¼¶lÙB [·n]²dIzž-ÉfÖÒQר*h„dµE‹(>]Ü>}ú466væÌ™¿þú«¤®Ýºu‹^ûJª>+VD{%ÞŸªÃº–£P‹”×¹`>úö™V­Z‰ÇKùø K¤ýÛ5´Yh¹$¾]+q£e¤áÚŤ=’jÚD13®`÷îÝô)±ôO]£Æ=88XŒ%}º ‰®p¸¦¦¦ÒªÌz†.Y²Dtæ—/¤y?4ºƺ&éótMúNkÔ¨Q7n¤%+W®ƒåJ²©ÁíÛ·4h ©ž*ASº†B9::*æàq×ò Ûêƒê,p𤥥á¼À΀v5_[___ùEZ0}]ˇ Î-,,pœK×ÄÃýë_¸Æ‹GÜS¦L¡pÛ}á‘®ýbKлwojµ ¹®EGGÓg=b§íÛ·?sæŒ"'â(Ò2.NòK ¼‡šFX× ³®Í;—ŒÁNnÞ¼™Y´ððp1}¸:piÓ¦áà§µJ•*Ї:8¼Û¶mK}6Ë–-+ïÿìÙ³M›6á Ä­l'¼Dô”$V¬Xqé񴯯Xœ#8/ÄgdNmz=*/BÕªUiÕ$šøçB+€ßྈ¢ ]£3à@×wïÞ¡D¨õ’B¶–.]Šv*¨¨˜×ÙÉUX×-¸¹¹=zôHR}6× 4°òwLÖµ<ÀèºFiÖ¯__ãx³Ò'òóó#!“T_³EGG¿{÷ÎÞÞ^D£a?«kòQà-,,° 333ìEt&ÅÉVµjUõ<³®±®1…Ö5&3¢¢¢Ê—/Ë ÚÕ“'OÒxò±EMÖµ<@G]Ã]5ÍÓüÕW_É__„h\YÅÕOž<ñöö¾uëTÉÎÎÇ1ü¬S§N5kÖÄZÜÔ]öFß>}zðàÁÔåÍÕÕõÂ… ׯ_§neñññbç²eËÒÌ#GŽœ5k-„óYYY!޼môèÑôäÌÚÚ:44H$¹&Ž´7nºaïÈÙdTcQÖ5Ö5¦ºÆdFóæÍ©ÇñÅ‹qíöˆQxLÖµ<@G]+ä°®±®1…Ö5F#OŸ>­Q£†¤z~-©˜¥73ð6šSδa]ËX×tuu)„°®1ó¼=xð@ ]¥JˇM‹-ò29ëZÀº¦ ¬k&©k¢PqqqŠeF’MZ%:?1L`` }Òóå—_¢éŸM‹¯Ù6lèçç—§yÌqX×òÖ5]`]+¸ºÖ¬Y³ºuë®\¹Rã*k¦L™2ô5$ÃÈIKK£©¯Åì« CÓ P«V-±œºи¡Ð5H[že1ça]ËX×tu­Àéîtg̘±aÆ޽{»»»O:uذa¿ÿþ»¥¥¥ˆƒ¦V>&ÃdÆp åu.˜¼'22²B… ’ª_ZDD„b”µðððJ•*!P£FÀÀÀ¼Éb®Àº–°®éëZÓ5Iõ«qãÆUªT±··¿}û6þ‰®®®òbØ$Åü› Cà’DS°0áYDY×òÖ5]`]+ˆº&ɆY¾wï^ݺukG½aƒƒéŽ™aä\½zµ}ûöRæ×f¦P!¦1¨V­ÚÓ§O5Æ pww—2yüf2°®å¬kºÀºVàtíÝ»w-Z´hݺµ¿¿õêÕqœ?þüúõëæææ"÷ e´Ã=C95kÖ¤Wœòaáգʇ……9::æZörÖµ<@èÚŒ3`lbòuF€Û#Ü0Ñw£¬kE×p`?zôˆFfvss[¸páµk×7n,ïɺÆh‡uÄÅÅ•)S—HWWWíß¼Þ¾}›®hUжäVsÖµ<@èZ^g¤`ÀºVPtM0}úôÊ•+:T}ë£Ö5Fƒ‡IY=Z#p£Hcy(zš ¬kyëš^øøøˆâ …S×´ÀºÆh‡u!Ĥ:>0c³eù(®€Âº–¤¤¤tïÞ=¿ÕüÕ«WÓÒÒ:tè‘‘‘×yùLzzúÌ™3©ù.ˆ°®)`]c´ÃºÆíÛ·?wπjÕªU{þü¹¤ºœ5kÖ,gó—ë°®1ÿKKKˆZ~”•a]SÀºÆh‡u=rssC D‰qqq:n¦ÒT'9`]cþ u~^²dÉ”)SLµ#tîú¦€uÑëºuëvüøqIåmôŠSG*W®ŠÀµkך6mšSùË XטÿCîg|HÖ5¬kŒvX×ñÕš¥¥åü¡×lu¯^½1buëÖ½wï^Ne1/`]c¤?ʇZHNN¶±±ÉÃü˜¬k ÆŽ»nÝ:‰uÉÖ5¦eË–W®\É~:5jÔÈ~:ùÖ5æó€´DëÖ­/\¸‡ù1%Œ¢kgΜqppÈÜå6¨‡E‹8p@b]c2u­óîÝ»’%K%©Š+†‡‡%©üë#ÙÙÙ%&&ŠŸ†¹££èšIb˜®A[-,,½ú·mÛ¶qãÆøøøúõëïß¿ßxyÌp2º»»‡uÉÖ5¦0’ÙÛ””kkë\ÎŒéÁº¦@_]{þü9T‡"ê°lÙ²4¢µZ8t‹-úþý{„ÀßF‰^2ãÆ[»v­îíÛ°aömÛ¶xñâ ÀÉ>~ü(¶…6a/ô3$$¤J•*/^¼¨\¹22`aaannŽ“¥cÇŽ§OŸ†S"2¤ «Ž;Ö½{w„“““·lÙ‚]ˆÝaáÌ™3.\WËÈÈ@1‘a,ÄŽà‹7nÜhܸ±<‡¿ÿþûO?ý„ªÀ^Á”ú Ëa]c²„u)tŒ3fýúõWá*BB&;°®)ÐK×RSSa'°´¨¨(I5ÍsçÎ¥¾ U=JLœ8qåÊ•úêÚܹsçÌ™ñêÔ©Óo¿ý=’´êZ5é…,¤mÓ¦M“&MB¶a{–––{{{c« &¬Y³&88Ûʳ­8Ž ü³íì캆 fÏž=8€˜0<äÁÅÅEÇÒ Xט,a]c ø×17ýZ"äf~LÖ5zéüÆÙÙùäÉ“'IõÄ—Þê¢kðª—/_êÞó€t ¦Í¢dgÍš5þ|I«®5hÐàöíÛ%K–|÷î"=zôûï¿OOO;vìÆù\½zõ¸qãÄÏQ£Fi¼Yúûï¿¿üòK…® :tûöí¦úDMë“%¬kL¡CûgìwîÜ¡ƒƒa]S —®ÑWbâÃ/u9ËL×ô…tM¤ƒd§OŸ¾hÑ"I«®Ñ£T©Rqqqˆ³ìÒ¥ t ÷ðáCE®&OžLÛ(ýµk×¢6Ôs¢Q×jÕªõøñãÂÐ\³®1YºÆ.Ê•+­åÀ¥˜ÜÌ’éÁº¦@/]{ò䉫«ëÓ§O«U«FKò\×è[º,u­M›6W®\Ñ’+l»~ýúQ£F©¯Ò¨kÍš5»~ýzah®Yט,a]c ÎÎÎÁÁÁÚãðá‘MX×è¥kQQQ¸©ÚA›è¢kž„„ÝÇ Ñ¢k4i4­ÚºuëðáóԵ]»v <øþýûuêÔ¡å==õÕµíÛ·:ôÈ‘#Ý»w§%8¢äsÇ™ ¬kL–°®1… ]ôÚ¼y3.N¹S…uM¾=C===ýüü A-Z´@ëüäÉ)'»hԵŋϘ1cÍš5P¥ªU«¦¦¦f©kæææˆ}îÜ9ÄÙ¸qãØ±cÙÎL×’’’Š-zóæÍFÉ—c¯^½:{ölÓ¦M‘·V­Zµk×NÇÒ Xט,a]c nnn=Ê2šOÿþýMi¤Ö\†uM¾º†zƒxA•P‡Ç×½g(LHñ±¿vúõë·wï^¹®?~ÕªUôóûï¿?zô( iõêÕ®®®øŸÂƧzõê0H333øãÈ‘#=zô ]ûðá<² ëšÖ5F;¬kL–°®1…‹Úµk?|øP{><² ëšÖ5F;¬kúòÿTäu.r4§¤k 4ðóóËëìä¬k…íïCýýýÝÝÝs-3& ëšÖ5F;¬kú²|ùòyóæ™d¿à²õ÷ß#`ffV¤H‘¼ÎNîÁºV¨iÑ¢ÅÕ«W3[›””Dsþ0ú¦€uÑëš¾,\¸ð—_~Éë\09ëZ¡¦W¯^üñGfÇÙ‡uMë£Ö5}ºæéé™×yar„‡&''³®v2{ʆQ`]SÀºÆh‡uM_„®q£mª¸»»°®v2Óµ””kkë\ÎŒéÁº¦€uÑëš¾]ûøñc¡¢¯ð@Ã8°®v¶lÙâåå¥Xhoo“'ù11X×dG×rÀØÂ6Dm~€uM_X×LÖ5æÿHNNVï\CsìäI~L Ö5zéÚ½{÷êׯ/~±±ªY³æøñ㇠’Y„öíÛŸ;wN±Ç}ûöõíÛ7‡ÚÌ_U¤¦¦"üîÝ»/¿ü2'ö¢ ‘‘‘*Txôèj)÷÷κ¦/¬k&ëó_ÔÏp>*ŒëšÞ®uêÔéôéÓF<,qÌ/X°@Kº3gÎ॓/ñý÷ßÿñÇò8t*pš`ÃI“&-[¶L±°bÅŠáááâg:uîß¿p›6m.^¼èâârãÆ 8_óæÍ‘çcÇŽQLœ¶(;tçðáꢰ5’§Œâ ŽzN¢¢¢Ê•+‡Šuuu•/·³³+^¼8nÛ ‹Õ«Wô葼ÔmÛ¶…oݺÿe]^j„uM_X×LÖ5æ3AAAh÷˜;wîœ9s4Æqtt|ùò%0zÁº¦ÀˆºöðáÃÚµk{{{Ož}ÔsB] º†êš={öÝ»wQvü\½zõ„ n߾ݠAQê7oÞ”.]{733“?Ô Ö5}a]3yXטϤ¦¦Ò(kK—.2eŠÆ8¬kÀº¦ÀˆºöÇôìÙSÞ‰×*gggÜ{P¸S§NP.Z…˜ò <²£kp__ßAƒíرCÇüë‚aº&rHiÒO˜™……ÅÖ­[‡ªewzéš››Û£GÄîÞ¿_¬X±ß~ûí§Ÿ~’Ô$Õ`g•X×ô‡uÍäa]c>#tmÕªUŠÞpÖ5`]S`D]Û»wo¿~ýä—(Ê”)ó×_Q¸{÷îGŽ¡U?þø#ìÄ(ºFaøLш3L]×>Ü£G-»ÓK×ÔO¤°qãÆ#FH¬kyŠ.º–e?•ÂÓ‡ í —S¥J•®]»+Ù+W®<}úôÇ’êz:cÆ ü_èª:jÔ(›ì$κÆ|FèÚêիǧ1ëš°®)0L×:vìxæÌűƒÆÝ¹s‡ÆfKHH(^¼x«V­ 1ø‰°››Ûõë×)rëÖ­/]ºd]ƒzyya×° ¤©kɳ"3]ûæ›opÞIŸ$L]ÃÁ†ËªzÅŠZv§—®uîÜùÔ©SâY¦¿¿?rFmH¬kyŠŽOײÔ5 T­ZõÅ‹|õÕWÑÑÑê1å#«ãÔà (_Û¡C‡³gÏR˜N±J•*‰û ¬UªfòäÉòÃ^ääæÍ›êNOOϱcÇâ€DXK‰2£D‰ñññtëÖíèÑ£¤ NåÊ•CCCåKäú[ªT©ì¤ÏºÆ|Fè®çÎÓxb³®ëšÃt >®I>„‰…ÿý7ÔÁÙÙùùóç8b‘,¿wï^ݺu%Õã4Ønv---qТeÇ¿Àˆ] :TmÜoלœœpiù믿ÌÍͽ½½§Nª‹®—   °°°Š+"åôôôˆˆ\8EÊfffÓ¦MC­ªçäõë×åË— ¤.«})¸dÉäZ€Ýáú!ïÁ*±®åÆÕ5ú.SRµ]8³4FîׯßÞ½{)Œû¨öíÛS˜ ã‡ÿ ôéȤ…h qÚÊû/ƒråÊEEE©ç"èáá‘Y†Ei}1º®Í;wÞ¼y’ª†‹+†¿(#ë“S]“T·æ{೮뚃'¡‚$%%)R$---99™^¿~½Y³f¶¶¶ÄÄD¸Ô¾}ûhWT;6IHH Îä>ÞÊÊJ¤O-ì³gϨû$v°S,ü BRÈÃÞÞ>..ù‘Ÿ/ÆÕµcÇŽuïÞ^¹Ž3féÒ¥:êšô©ó®£r ab-õ½ÀZdéGFFJª«©AѪ÷ïßgddÐ&ôññÁrhþ.\hݺµÆR³®å&¹¯k§½R”>Ëp 1Œî.púPX®k’jjñEðóóóôôÔ˜¡kò1nähùtG F×5Ü¡$Õ)yþüy±\T8uÁÉÎ.Xטϰ®å¬k Ö5Ó“'ORRRp6iÒD,ÇkXX”¢lÙ²ò§G"õèÑ#\6 .#FŒ€l‰£ž§8È‘BóæÍai4¾ \›6mJû‚ω½GGG—)S†zU×®]CÊò겄 Q¼xñ"&&טêÕ«_½zI]Aß¾} [¥hþþþ0NA¾mHH.¸vºººŠ\€‹1t“:r’¤"óËã฻áááQQQH­ .–C­ä1é4U𾰮鋾º¶{÷î~ýú)ÖŠ§A:êš|‚8™87i @ZròäÉN:QX¡kŠÆPñhMÊäéšXˆ“wÔéX<ÀÓ u]Ëæw{Å‹Çí¤z舺¥…ø_6î FXטÏà0ÀòåË—%5]‡²““®‹tÀžïR³ ëš‚ìLñ®ŠCM<–<}ú4çöÈÖ5}ÑW×D^è¨k`öìÙ , 0ÔíîÝ»6lØ–-[D4¡k¥K—Æ ¤ú(nqûlCËnß¾Mñµëš¤£v(©Æ>§RœqãÆíÙ³2giiÙªU+d£B… ´vÔ¨Qëׯ—2yº&*‰ >|ïÞ½IIIUªTYµj¼WÆñãÇã -yûöí?Nw5W®\iÙ²¥zÍ ÞP{Чk¸zâ*âà6 ?Q°=±5_§NõYטУGêF§þt'5Ö5¹¦k’jÎyóæU¬XqÇŽçÎûã?¾ÿþûÝ#“}X×ôE_]Ã9Ø¢E ù*1±îº†Ý•-[."_hccóîÝ;ùgB×àÈÂmÛ¶Åùˆ%C† Á¹Y®\¹Áƒÿúë¯_»®…††BhþþûoIÍ;6l(œ@ËLRøçŸ¦ž7Úu Ç=¶\¼xQ¼ô'jÖ¬ID_½zUQ“DPP³³³ú·kò7¿_}õÕ«W¯PÉÐ8Zâãã£qƉuQ™®i|ÆO×t„uMAnêG\Éž={V£F 6ˆûl&?ú¦/ÙÿvM .-é£k’ê+Ü‰Æ »ˆˆˆ€~Éã]Ãi‚á!ŒhÅŠ£Kð¡Ó§O¯^½šâëøíVݺuKü„ŠMš4ITÈŒ3‚ƒƒ›4iC uÔ5I%Ræææô5'aff†B%&&Ò†’j®9ñ „xúã?Šò4å] –-[¦qdÓ±cÇŠùßÔa]cþ–§kŒÁ°®)ÈM]c "¬kú’‡º`]ïß¿§0´B£èø)t­zõêöööÐÈ“§§gÏž=±<)) v%dE—ž¡$dò%Ôu¡C‡nݺ•bGâ Ku ¹õ÷÷—> ¬M éå»wïJ–,IKΟ?ߦM ÛÙÙÑÜwØäСC"K™õ /såË—‡¿j,)ÁºÆüÖµœ€uMë£Ö5}ÑW×/^L£å ¢ë¢^ºV·n]E×''§ù¹®AS6lØ0zôhìÎÊÊ*22rÊ”)K—.?~¼]ÓøtM1Á®(]XX˜£££úru>;C:ˆŠ¢…iii4Æ›ˆvìØ11Ä®¾º†²”-[–Fó–2ÜDëóX×rÖ5¬kŒvX×ô%¯ºÈ?´‡mˆgl»víêß¿¿ˆ¦Ð5Iæ7æææ 666ÚuM,|ùòe›6mÄpkHDXŽ(|V:I]{£©Ij#ÔHÙÓ5I6±¤z—§ýšËºÆüÖµœ€uMë£Ö5}É]£ID(LC–.]ªDK¢¢¢è5I“®‰QvÅ.tÔ5zGã Ê'þꫯèy•üƒý””[[[ ç]£òÊl×®˜ B#¬kÌ?ºÆ‡„a]SÀºÆh‡uM_rH×*V¬(¦Ü¸¹¹ÑòO»®^½Ú¬Y³ÐÐÐÊ•+Ó’Æ߸qƒÂêºÙªU+KKË={öÐDgzéÍ8"©4Q<Òóòò£‡ ýråÊeddx{{Ïœ9“æ]ÃQ-e´°°ƒ oÛ¶ 'e‚éë*Ç%މ¼ÎHÁàܹs/^¼@¥áÌá^Ÿ:R¥J4LZ"°®)`]c´Ãº¦/9¤kè/^|÷îÝâ >>>–[×âÅ‹§M›&iÒ5uôÒ5š<—Â4+šôiJºÌ²-å]£éÝDlE“Ž=ªY³¦ÆÌ›¾®eùÿc˜lò¯ýë÷ß×uMëZ®«ˆ¤ºŠ‡‡‡ÓLV p7Û²eK+ŸÀº¦/¹¯kæææ¢AKIIf 8ê’’’$ÙìF×5I5:ŽIuCzè¡ š”Š+Ê£íÙ³GÌß0yòdooo)Ou­B… b|šÃ-$$÷ü´º"Þ&+`]c˜ìº¦/¦§k¸\uéÒ7îhRó:/ÿàüùó8ðpË>iÒ$ùGÙrpEÑq¼AÆ qÕ9|ø°ñrúX×ôEG];{ö,4KRy¡MÎíÛ·i1´hÑ"44ö/¦º/@ œ×8œ¨/§ƒƒCÍš5oݺE6ƒ#&3P'((ˆ¦ÝbLZ\Áal’êEY‡4î4mÚº&†}ðà¤ÇÖÖ¶ZµjØ£x‡fgôèÑ’êÕ-½‚´··wss£µ¸c133C"bxˆJ*©\M,uC„\¹r…æÕýꫯ䀈ܼysd#::ÚJß…#ÃbÆ6???z¥‹_ÕªUå3 ‘®¡²/^,F7f˜l‚æ€fÄc]ÓÓÓ54µÅŠ£Ïwò:/¸ví@ºfØ`ר¤téÒŠ±ìëš¾è¨k&ôËÛÛ-3 JòôéÓ)S¦œ>}šÖÒsÁ<Í á"]ûþûïÅG‘ “}þúë/ÜHI¬kú£¯®áU‡»[܃Òdíâ㤤$ÔíÛ·o%Õ8“bâÔ©S*TÀÝ*nî­¬¬<<<è>ûÕ«WØ5ËÆÆ›Ð-²¯¯/ÜÓÓóÞ½{h­­­ïÞ½[®\¹5jPj¸b“)f¶~ùòå³gÏ>|øÐ½{w\'è»l+æY Äw¥J•!P.ÄGd;;;¤I·ÝØv¶ËÖÖÖÅÅEŒ†%jW™é2@©á¦þÌ…‹‹CöœE¿3gÎ@L›6mŠ |øe„ØAªð–†¿0QEûŒ­àppDÝ+<3]Cµ (Hƒ ä3-¢˜ÈsBB"àòœ‹< 9EÍ`Ïȶ¤zb‘’’¢{ftuM_X×333œƒh%èMŽR48©q§G‡kÁ…ua „uÍ` Ó5ú,lA_7ÓPãáÌ™3;v”+-§7 ÿOþ ø‹¦ZÛ§OŸ“'OBMêÖ­ ]{ÿþýùóç{ôè¿ø——ׯ!.ØãEGGCÈ~ýõW1@€Æ—¡pAÄ¡‰«§N 3¦‹ìAÔè³Z²eËìêIÕ ‰â˱U:u´| ®Ž–—¡” B×._¾ÜªU«ú†ÖHßßÈ7á—¡ù Ö5çšYT‚8¡p¦+ŽÞ ëÃëšÁ¦k¢÷Ù¹sçÚ·oäì쬫àmâ§|ð'аìp¦úõëC×Ð>|ø°víÚ4 RhÓ¦ÍáÇь@à 1"eø™ø[£®Ñ(PòÖ[­Zµjüøñâç˜1cÖ­['ÏÏÖ­[‡îêê ½“ /€¨a_êeׂaºVµjÕiÓ¦!ê!±®å7X×LÖ5†1Ö5ƒ1L×D3EÑûÐÅ‹¯_¿^tŒG%{zz ?ÆݻwWŒó íëÙ³'ÜKþïëÚ“'O`KØ R€è éPL Cˆ,iÔ58_@@€¢u•ÏrˆÄáj06y„ôôô=zˆÚ6lèçç—eiG_]ËÈÈ8p :/©zÀÁåÓœ°®å7X×LÖ5†1Ö5ƒÉ¦®={ö¬zõêP«çÏŸ÷îÝ{øðáHM̾,œ†ŸPÅxðèËÙ³géÕ*™v];zôh‰%ðO¬Zµª<)ñá¿F]£q¡´´®Ø®9jÔ(õU8T°Ó%K–À“Ä`Q£¯® Nœ8±|ùrÔgŸ>}öïß/ß„u-_Áºfò°®1Œ°®Œaº&"Oš4iÅŠ¯_¿^´hÒͽÂËR×°ÐÆÆ&99™~0`÷îÝÚu nóòò¢lò/ºH×Μ9Ó¾}{†}¿uë–ç366VÞÍS‹®Éã@I8 – É.R¤ˆÆ‘™2ÃÏÏÏÓÓS|‹¦¾‹ÌtMD¨[·î½{÷äKJ•*…âèž½`]Ó¡k&|5/äP_(Ö5†ÑÖ5ƒ1L×P¾¾¾×®]ƒ5kÖìêÕ«GŽA:uúôiÈÄ?ü•¥®uèÐáܹsh  V0?ŸÄÄDíºvåʕŋϘ1cìØ±¸.>|ø°sçÎØ£˜›/^ƒ…Ô&U¬^½zXX²cÛ°aÔ)SŸ²©ëÚ–-[ }ûöµµµEæ/]ºDWå[éÛÕ^U¦L¸Šf®BRé&þ"ŒQö›7oR¶ñâ Ë8p`‰%†ºÿþ;v 4H$HO(/^¼HSýSnÖ5}ºvêÔ)~ºf’Œ=úÿ†&f]c}a]3Ãt âÒ©S§>Ìœ9sþüùô)LhÀ€ïÞ½kÑ¢®ñˆY»vmDCRëy@¤§§Ã¶mÛ†µÞÞÞøï@†,Ô*44!¤ 7²”7RWB3dÈçϟ׬Y XµjUùuËáXþþþ‹^P¢+VÌ;é{yyawvvvòrÉ{‘‘‘Ó¦M;xð`ZZ²„|*FD3`I5>\›6mpJŸÀh¼¨S÷Û¸¸¸©S§îÝ»799¹J•*M1Ê<‘””4lذ}ûöÑO£_AX×ôEècÚ°®1ŒÞ°®L6¿]ÓÃF”•oeX 9ŠQ²dôr=AÖ5}™7oî ò:LŽÃº–ã¼}ûwÉ™­Åå¼[·nþõ×_-,,p]Ÿ1c†ÆÈ«W¯NMM•T×°I“&É»kÉ×bùäÉ“V}È鋜˜~X>’Bîúf0¹£kLÁ…uM_BBB‚‚‚òÛÝctX×rêË–ÙÚž={:tˆÂò;{‘׬Y#Þž 6lË–-bÕ‚ fÏžMáÁƒoß¾=û97 QŠ˜˜£%Ý¢E‹«W¯"P¡B…W¯^7qÝa]3Ö5F;¬k £ÖµG»®É¿†ÎR×@ëÖ­/]ºDá+W®Ðì„ÑÑÑåÊ•£­ ø´Å¸ˆRÀihBF#ºVÐ1½)ÞãºÆ0a]Ëq了ÚNLL”¯µ°° áÚ%ÝtF ?SSSÍÌ̬¬¬„ @ÝÈ$ò Ö59¬k X×í°®1ŒFX×r…®i‰©‹®IªVŒºÐƒÎ;C–/_N?ÕÇI—T#¹¯X±ÂÏÏ/>>’ã:t¨<ÎŽ;†+¨šÈÉ“'CÅÚ—/_þðÃ’ªJŸ>}3mÚ4Xˆ››Û²eËlmmÅ Œ¯_¿Föh«ºuëÒø¥5Z¹r%õë×777ONNÀÏŸþùöíÛ 1b„ØÊ!{÷CÇŽå#H¬kÖ5F;¬k £ÖµG»®É¿Í×Q×@¯^½JOOO___ÅB(ÔÁƒ K–,IóUKª!zö쉺RÄBmܸ‘ÂÏŸ?¯V­…ׯ_?zôhE]\\¤Oj¢ž[1ž‚( ²hÑ¢d03fÌX¸p!PÀ¥K—*¶µ¶¶†õîÝ›~²®tX×í°®1ŒFX×r¡kº&ºë@ÑŽ_¼xqù’Fݺu‹ÂuëÖuttLNN¾}û¶••Õëׯ±0 ÀÝÝ"8;;׬Y366öÚµk´Dˆ”Ð5EcS?›ïÙ³‡–wéÒ…ÑÕ®]{úôéòV©RåÅ‹†¥-^¼XÞ‹Ù.W®,çñãÇ´äúõëô@‘u­ ÃºÆh‡ua4º–ãhïj`°®]ºtI>|åo¿ýöÓO?É#@ÔÄ›»wïîׯŸX5gΜyóæIªr4‡4.œ¸|ÒÚC‡‰§Y‘‘‘0'ùÓµR¥J¡uqq¡i1°ÄÖÖ6))I½êß®‰UÐøÙ˜1c°Ó›7o¶k×®D‰´ÊÛÛ[ŒB"†í€h†……I¬kÖ5F;¬k £Öµ''t J—.'_¨˜Å¹S§N§OŸ–TÍ‚‚‚4¦cee•––†¬¨N:´0%%FáƒöêÕK®k¾¾¾<éÓä6ZJ¡E×fÍš5þ|±üÞ½{õë×§pBB‚èKŒÌKª‰nÒÓÓ%Öµ‚OþÔ5™[·n:t¨XÒ¥K—“'OæŸæqÙ²eK—.}ûö­bÏÜu…ó§@¥ÏºÆ0a]ËqŒÞÕ@R½v\³fb¡b†ÄªU«Ò GñJTÇ=Šå›6mòòò’ëZ–~©‹®%''Ëû:\»vF$Ñ’ZκVÐ)(ºÖ²eË+W®èÛ|¸Gþé§ŸH†Ê–-%±®|ôÕ5ÔÛúõëûô郻”»wïÚÛÛ÷êÕKaíڵУ‰'^¿~·%•+WnÛ¶­8Ònß¾€ã 768Úå^¼x188w>:tëÚš5khz·ÔÔÔI“&iÌ´ ù—gæÈ‘#‘‘‘[¶lYµjƒØcË–-Ûêe<4P* [mÞ¼YÂéO£ê;vìÅ‹"‡ûöíÃGß}âÞ•ܽ{÷””ØOÑ¢E©)„3=99ÙÃÃC|±|ùrD9r¤¤êŽÊOKKCÝÒZ”‹4ÔÚÚzذaŠq_¾|ùýû÷8æå¥ =uêÔØ±c}}}>|X®\9dLK‘Y×F#¬k9Žº¦ÚvöìÙ , %¢{.c 4 …¸öÐ'k’ªZp ÿòË/¸Œ½}ûvÉ’%aaaÑÑÑX¸sçN1°’2d®7ÔX\áèùœ^º&º¬Ö¯_õêÕhß±„dQ‹Š/í$Õ%ÊÓÓóàÁƒâ…ï¢E‹¨o)ëZAG_]ƒ @:vìxíÚ5Tæ£G¬¬¬p[ZZR:¨ )>>>H·ðê"›sçι¹¹eddàÆCEÒ§wµkׯ± 'صk—еzõêA¶ð_‹W?PCBBªT©‚¤ªU«B†°/DÃrœ5<@âȧ\uíÚU>ÿ/‹/Ö«ÉuqqAY¨çuÆ áaXB‡\›6m`œ"5wwwS„Q^ //¯ýû÷;99ùûû#‘wïÞ‰’·bÅ ¨-nöÐ 8?%•_ÚÙÙÑ·Ð8¤ŸÏæ± ¸£ŸŸ_éҥ߼y#Ï'´Ùûæ›o° õ€t°íZ ?CÁ!²pA,ÇY 'ˬȬk £ÖµLjº†k®=ôSÞ—SR5åh1)|áÂê4ŠË‰ƒƒƒú˜jr×üÍ™3G=c¸‰ŒŒ¤qnõÒµ)S¦À·äI©»¦q@\ÿp-T/¸|vTÖµ‚ŽaºVªT)z¢ ç@xåÊ•bØ:¨.\Hb¡¬@æàO›6m¡‹ôiT¿¸¸8Êõë×›5k&îv¨².] è;ø"Î,Ú/t­\¹r"‚ö—¡4±¯M.ôåRl˜¥®¡­xøð¡¤zN6f̈,Å—/_nÕªÕ¾}ûè)¤º’k¥öyZ±V¡k>|°±±«½|ùRú4<Шƒ9隘¹_¿~h±If…e]c°®å8h%Å[˜lêšü5èÛ·oK–,)€“Añ¥—¤ºÀ ÉÆE ÖâZyÂ¥«fÍšbC$…özÏž=111håÑ”ã'Úz‘ŸÌŒ33ýÚ¹sç/¿üÛ£ŸâfZûÛ^, š9sæÙ³gq9Dézõê5wîܲeËŠ8ÂJå#ýæ>¬kc˜®‰é:p`ÛÚÚÂØÄÑE•z¿œû¨|q“˜˜hgg‡D=ZKJJ¢ÐOž?….ãî‹Í&]£!¤O%d]c°®å*ÙùP7>ò͵l䓲 ëšÁ¦kò>4t["®Ì܂ƛ¨U«­Â¿àÒ¥K4󇃃Ctt´âÆC];xð`Ÿ>}ÒÒÒ詳:9ÔÕÀ0];~ü82#©IâöÆÏÏw;RV6–eu]£w^¼xQ¹reõH×%úžoÓ¦M#GŽd]c}a]c½a]3ÃtmÏž=}ûö¥%Ð5úž~jѵzõêÉ¿jÇ’²eË4Hn6Ò§uѵS§NuîÜYî% òP× ¦?ÖE׊-š””„:¤êè«kaaaNNN·nÝòððqÐöb¿ëà Ö5†ÑÖ5ƒ1L×ÚµkwöìYü„¥)R¤wïÞb®³ÌÜ¢Y³fÉÉÉwïÞKbbbè¿¶zõê &}¡¯-uѵÈÈÈ *´nÝúÂ… ´%—d²C‡ð?o<ƒƒƒŸ={F ¥umàÀ>>>P"jåÊ•+¥‹®Í›7oîܹÈL•*U(©ððpˆÐW×hÀþýûïÚµ ?‘ dfܸq¨g‰uaŒëÃè ëšÁ¦kŸþyøðá8—^½zm¢™¹½¡sssƒ‡ÙÙÙáïŠ+D4úÐ fðüùó!C†$&&’®¥§§Óxýƒ ºxñbRR\[‰Ý­\¹râĉ½zõZ°`´¬_¿~pÅN+W®|úôébÅŠÙÚÚRD·«¯¯oãÆ4hpðàÁéÓ§>|™×E×>|øààà»B X²d = #P!;vìØ°a6eŽŽÆ1l§©Ñ“<”öŒµèC‡ÁÏÚ·oß¶m[DFúômëÃÖ5†ÑÖ5ƒ1L×._¾ À•ÞÝÝay'-‚à%P+úA¼½½Å“øwÀEΜ9Cý`°|óæÍÐÁÀÀ@y/<ýˆˆˆ^»vÍÅÅåĉNNNò˜ð¿¾}ûúûû#Ü´iS‡œÏ“÷ÄÄÄÐØŠ¬k #‡uaô†uÍ`„®1ŒvX×FN¡Ðµ.]ºìÞ½›¯—Œ±ˆ­Zµ* ðññÑ“uMÁ„ Ö¯_ŸÙ #øóÏ?===ó: “_0e]“OÄ09“““Ɖ³¬k Ã0Lö1e] rqqÉë\0¦LåÊ•_¼x¡%ëÃ0 “}LY×BCCiðñ’%KÒ«+†1 ééé<@@Ì¢¬k Ã0Lö1e]KHH(^¼¸¤ÂñÀyÆtxÿþ}±bÅ$Õ`ª;vìГua†É>¦¬kÜ3”É!¸g(Ã0 “›°®1ŒÞ°®1 Ã0¹ ëÃè ëÃ0 “›°®1ŒÞ°®1 Ã0¹ ëÃè ëÃ0 “›°®1ŒÞ°®1 Ã0¹ ëÃè ëÃ0 “›°®1ŒÞ°®1 Ã0¹ ëÃè ëÃ0 “›°®e jæ‹/¾È|1z“ßþ¬k Ã0Lnº¦2ƒÌj&¿©ƒiÓ©S§Ó§Oç·£”ua†ÉMX×4àéé™”” X>f̘õë×›påCfÍšuòäIíÓ¨ç>¬k Ã0Lnº¦S§Nõöö6áct„ua†ÉMX×þÁ_|A›$$$ȯ¯ŽŽŽH-%%%55µD‰Ti›6mêÓ§E˜9sæÎ;‹/¾téÒÎ;‹ ÷ïß?lذÄÄÄñãÇïÞ½áÅ‹kÏ@Ó¦M­­­_¾|ùàÁƒ)S¦ ç>>>­[·ÆÚ .¬[·îîÝ»666…yóæÑV]ºt¹~ýúŸþY§N'Nôïßyسg^Õ%ÇÂÂÂÒÒòáÇ;vľþóŸÿ+VLä°]»vgÏžEóçÏ£6þ÷ÿ×ÍÍ áü±aÆ»víª_¿>ê R}‚‰'îÝ»·téÒ«W¯þî»ïľV­Z…ÚKNN>|ø‘#GPQ¿üò –£ž)j/##C=“cÇŽ=tèþ5ÈŒØKîÀºÆ0 Ãä&¬kÿàÊ•+VVVß~û­ôÏo×üüü` 7nÜ·oßýû÷“’’$Õ•ØÞÞžQ©R¥?Bªüýýa£FZ¿~=mqÁ½[·n*TèѣǿÿýïÇkÉdb oÁ™ d`fff...ãÆÃ~_¿~=`À€R¥JÅÆÆb+x¤­­-œ &&¦L™2EŠyÿþ½"Y)ó¯ñ4f!£ƒ êСÔ{«7n|ãÆ „QQ7oÞD²ááá¨ülÛ¶íìÙ³¿þúëmÛ¶¡ð¹ãÇãQ±bEäjÇŽ¾¾¾ ,˜>}ú¢E‹(AøëŒ3`œ(]ûöí—,YrîÜ9,§]Ì;ªÈ9J KCàßZB…£à:Í(°®1 Ã0¹ ëš2“›)S¦,[¶L±|áÂ…sæÌ0Á$Õ#ŸÍ›7Ã$ÌÍÍ¥Oºq9qâÅ×ÞS«ÜÝÝ¡}P±¸¸8DÞ»woÿþýSSS‘ |ÃÀÀÀš5kІ ‚Ÿ§NÂ^Zyýúõ&MšèR"í5€RÀQ@˜° -ºóôôD„ZµjA1K—.––6qâÄM›6‘ãˆ&«è'éZß¾}Åã@yA<¨È9ülûöíñññ666’êQ¨ŽE3 ¬k Ã0Lnº¦½t »HNN>|ø0-¿wïÞ¯¿þúáÃ+++é“®½|ùò›o¾Ñq×õêÕ»{÷n™2ebcc‘æéÓ§;uê]³´´D„û÷ïGGG§§§C¤Ú¶m;kÖ¬ùóçÓ¶-[¶¼råŠÜ{èÞ§U^TQj-ºöüùsØ "Ô­[õ ŠP¤Hd~çΔ… 6lØ $]ƒ!¾zN4ê,­xñâQQQyÕE—ua†ÉMX×4 —®!²™™YùòåÅ’?¾xñB®kz=Öª_¿þ;w„ëœ9s¦cÇŽÐ5 ‹Ò¥K¿{÷ÎÁÁž´Á!: .¤máCƒ :vìX×®]u/lfÙ>ÕÀîÝ»  ‹®9;; ]³··óæ 9"2l‹ô322"##)Lº–YiÔ5$ˆ ˆˆÈf1 †ua†ÉMX×4 —®•+W;oúQ×úöí‹R@Œ*V¬ˆ˜>|°±±º–––†Ÿ0E˜\zzºî…Í,RæºKûÏþƒ°‡‡²š¥®¡,–––ÂÏ kÐVúPŸ®1 Ã0…Ö5 d¦k£_~ùåíÛ·%K– ·mÛæååµ=çÏŸ?{öl k×µ¯¿þºG«W¯–ï:3]kÑ¢=Ê¢˜½zõ:|ø0é, ñãââ~ûí·Aƒ999…„„Èw„%ˆ©2 ºV´hQGGÇÀÀ@I¥ªQQQYêÚ’%KP!0Zú¼x{{Ã})l€®¡È³fÍŠŽŽÆ.ðóåË—¤°¹ëÃ0 “›°®}ÆÇÇçÒ¥K° ðÞ“‘‘QµjU˜Eˆˆˆ€`!Í:˜™™ÁÒ¾ýö[ÄiܸñíÛ·»víjnnކº|ùrÚD»®a_={ö³ÿþ«W¯*V®\yòäÉâ'jóæÍ¯_¿ÆÕnäááAËOœ8m­¬¬† R¥JÿÖ­[°¨-[¶hÜãO?ýäéé9|øp±—ÿêÕ«Ãf +111°=Hɺuë6lØA ݺuëû÷ï[´hBa_]ºtÞA}¬­­ÿýïS"ðHü[!sb°4ÄÄä$ËJ P4¨'ö…0Ltûöíò"x{{GFFŽ3†æ€Ý¾}ûŽ8oÞy ¹7oÞ,Q¢ö¥è6›Ó°®1 Ã0¹ ëÃè ëÃ0 “›°®1ŒÞ°®1 Ã0¹ ëÃè ëÃ0 “›°®1ŒÞ°®1 Ã0¹ ëÃè ëÃ0 “›°®1ŒÞ°®1 Ã0¹ ëÃè ëÃ0 “›°®1ŒÞ°®1 Ã0¹ ëÃè ëÃ0 “›°®éÇ€¾þúëE‹%5-ˆY rzGùœ­[·úúúîܹ3¯3òX׆a˜Ü„uM?¾øâ‹R¥JÅÆÆ%5-ØÚÚ¦¤¤˜ðGGºvízâĉüV¬ksÿþýààà¼Î£7ýû÷Ïë\0Lá…uMPW¹91ežì1’ßêuÍ`þçþGLnË,LøbÁ0ùÖµÏà‚ '  133ûøñ#¸В(È/·X+ˆƒ˜">"cZEK4®R_›åŽä[! âËóOé#ŽÆmu‡ò€ÔÔ“¢Z;¢"ˆ½c ­¥äf–óÌjI{=ÈÌNI ƒuÍ`X× .&|±`˜üëÚg Å‹ÇVLž<ÙÛÛ 7n|ãÆ ZKÑÊ—/!¶ò÷÷¯S§Î¡C‡zõê…ŸÅŠKHH UÇߺuëêÕ«ÇŸ5ŠÖ6lØðöíÛèÓ§-¡ÿ…\eÿ7N˜0!55á¢E‹^½zµnݺòü/\¸pîܹéééøæèèH«à›7oÞèXu””ëÁƒôèÑãðáÃb•§§§¯¯/Â5ºuë2^©R%¨IPPÔ—ä5kÖ ÂæÍ›Q ,X°y£œ#3/_¾´²²¢-Z4sæÌ€€777ëüüóϨ> ܶmÛsçÎéX4£Àºf0B×îܹS®\¹¼Î“¶¶¶8µÑ*J¬k “§°®}~@rF¢·3fÌ®]»RRRäq¾ùæ؆XBºV¿~}\~nÞ¼ùí·ß2dÛ¶mX5bÄøŠ««+¤®FŸaÅÇÇC ±Òãçç×´iÓ3gÎ)RäáÇîîîâ­_™2ebccåÿüÄB¸Ýþýû‘7D~þü9–––"oø{÷îÝzõê%''›™™ %¢Uºÿ¯)>œ ™ìС¼ *j aEº¶aÆîÝ»;88T¬XKPù()êêâÅ‹mÚ´9þ<þ&%%¹¸¸ØØØ@b(ÁÅ‹Ϙ1öóèÑ#{{{,wvv9éׯßÞ½{9?~üx·nÝ k^^^ÈϺuë :Í(°®ŒÐµÿýßÿýúë¯ó:;LÖ”,YòÝ»wëÃä)¬kŸÁ…¿wïÞrãíí=uêTye¦k·nÝòðð —ÐÐPé“®ÁÃè¹QXX˜““\²d‰ôI×kÔ¨¡žu]5jE\ä e 4ðññ0`€ÈÂX¢žÚÏ?ÿŒ¤V­Z¥Cµý7)éÓûÍíÛ·:TäD‹®Á·jÖ¬‰¨û÷ï‹"Ô®];22ŠC)ÀêÆG¥OºF2§žèéÁƒG) øõë×qqqbI.ÜÆºf0¬kÖ5†É°®}×ûüqïÞ½B×à7$:ò8u-::š®ßˆ`oo#}Ò5ÅæôœIú¤k™Õ¿º®AΠhŠÔæÎ;gÎñsÅŠȰ.•“eUHŸZçÝ»wÃuѵ   gggD¨[·î½{÷PoÞ¼ÉL¤D‚¤k™ÕƒF]C‚ŠWÒ¹ ëšÁ°®8X×&?Àºöcéø)e¢k;v|ûö­ÆÇlèZ‹-îß¿OB²_X`]3ÖµëÃäX×>££®9::†……‰%YêZñâÅCCC‹-Z«V­ñÍ–v]®#_hnn^­Z5ì1>>‘‘A=¶DÞ2Ó5úhÔ5777* !kܸñÿS¡]× VõêÕëÙ³'êE˜7oÞ¡C‡žE±-¤ ê‘B©iÃK—.M˜0å•T.Uª%8gΜùóç+ò†Í]\\2«páÂ…‰'R‚Æz¦¨;¬kúVà`]c˜üëÚQw2±D÷^‡Š˜êß®é²_ÃÐ%÷¥o–äñµTcžä-‡`]3ÖµëÃäX×r]t)ˆ°® ëZƒuaò¬k9뚩ºf0¬kÖ5†É°®å ¸¨£™Ã;÷wÍä(¬k“ßtíÍ›7ß~ûmfk=<|ø`aa‘Y‚±±±C† 9qâýüóÏ?[´h¡o‰ŒëÃäX×FoX× Æäu-..®téÒ§zõê5kÖ}ºråÊû÷ï¯^½ºXÕ¬Y³ëׯc“6mÚܼysõêÕC‡ÅrÜU/^¼øêÕ«ÈFçÎwìØaiiI› K#GŽlРr‚Œ9sÆÜÜ\$:pàÀ{÷îõë×oÛ¶mb9ÒAÊGŽ)_¾œ~.\¸pÆŒú&˜ç°®1L~€uí3¯_¿~ûöíË—/!IgÏž…Ü`¡­­-½ÅÏ÷ïßãòÿâÅ‹aÆõêÕëàÁƒb[º/¦¬[·uü…íÁ¥h-´ÉÏϯ^½zp©ºuëB€h@Nè t ËSRR¼¼¼°;´•ÅŠ“Tí;ò3kÖ,d©wïÞ¸ lÞ¼™RCÊ ÀM9. wîÜ™>}zBB–GFF~óÍ7ÈÆÎ;‘y¬]ºté”)SD&‘¦««ëãÇu¬UR¥É“'#ÿ;vÄÕèèÑ£b•ª@èrû믿"«©©©¨„ZµjAàð™:uê’%KÜÝÝ[µj…\Á•a™pÐöíÛS‚UªT Aö&NœÓ…ªÂe±üáÇ0l˜‘‘¡¨ó7n4mÚõƒ}EDD ¶GÇ¢éëšÁ˜ª®Q—œ³EŠp§„{œÑâÅ(ŽIjX²L0ÿÀºÆ0ùÖ5%ÁÁÁÎÎΡ¡¡•*U ׬Y3~üx___z45vìX¸l 1)‚F]kܸ1®ë¸ZÓÏÚµk'%%‰Ÿ¤kbFBÑÏ­¼]×®];&©Úwl…lHª/‘ãããá@’ê!“µµuÍš5a?´!öByƒVÂ`Ä7Ë0!¸.QbH%Eyu¬ćEQ¯7”ž'|H‹®!Ÿ¸’áßAC½c­££cXXX5 þþþ”‚““Ê‹ÒOÒ5˜¨zN`l꺆RêaÞô3<<\þ¸ÎX°®Œ èšFhÛAƒᾈ–9r¤{÷î’jZR´ôJ´jÕª¢`]cFwX×”hÔ5WW×'Ožˆº‚ý888ˆæXÊD×ÌÍÍëÕ«7bÄZ¾víZˆˆˆCº†ûoù MâîÝ»/^¼ ;õ~ø¡bÅŠÐIÕ¾ ?À=:¤„Rƒ·¡I=|ø0JªH 2T¡B…Ù³gSÌœ?^äÁ€Q0äÊøí·ßÞ¼yS¤¦E×(nÙ²eذaXYY}øðÁÌ̬uëÖ(#EX°`N$HºÑ#QÉѨkH¾~ýz½ ¥/¬kcº†3«]»vô³M›6ø)ÖN:ÕÛÛ›ÂsæÌ™;w®ÄºÆ0Œ>°®)ѨkeÊ”‰•[.À»víêß¿?-ѨkhŽK•*±KÞ¿¡0éšzý×®]VW¹reÈG@@.'‘‘‘”ààÁƒ·oß.ýS×Þ¾}[ºti¤Ö°aCEjؤX±bòn$ňPz7n|ãÆ É ]ÛºuëСC€¤BU€÷ zEú /_¾¤0éZf‡¨F]C‚3gÎÄ . .°®L~Óµ7oÞ´lÙRR5ÚçètrrÓI)À7oŽ3QRö8鎞jã¤ÆýŽ^JÆÓ§OVž€uaò¬kJ4êy‰èÍk5N:Õ±cGŠ q ´Å]»vÝ»w¯ÆiÔµ}ûöAwnݺåááAKàYêJŠ&uãÆâ£fjÀÅÅ êXü,Ñ®kâÅ¥Žº%=zôòåË5îË]C‚½{÷Ö®PÙ‡uÍ`ò›®1YºÆ0ùÖ5%aaa¸ë½pႼ/=½æØ¿Ÿ>}¤Oš‚k¶x,Ô¶m[l_¼xq±Uçί\¹òþý{±äСC½zõ¢°F]Û¶mÛ°aà gô‚rËR× VVVX ¢t MÔwWG$òáñ \,ÇŒ#~Â)Qd^ÇúÑ¢kð§ñãÇ/[¶,66–j&K]kذá³gÏÄ”ØàâÅ‹¢æ еúõëß»wO,„G8°D‰òU?ÿü³“““üy›vßÅÅ…ÞºnÙ²åùóç¢?~DçR[°`~Ât/]ºtáÂúÎ¥èÙ³g½zõH‘"E‡ªõ†ª@1‡ &ïx±bÅŠˆˆyRc¶ Ê–- u¾wï^$ˆr¡¼:–K/X× †u­À‘‡º†“½mÛ¶¹¼S&ÿcÂÞ¢Ö5†ÑÖ5ƒa]+pä¡®]¾|¹U«V¹¼S&ÿcÂÞ¢Ö5†ÑÖ5ƒa]+pä]0`€è}ÅNÌÍÍçÎKcˆš°·huaô†uÍ`X× ùA×vîÜ™C60ˆêÕ«ÓÄ»&ì-Z`]c½a]3Öµë“O`]3Ùb³®19ëš.hœ3c„ «W¯–T§§]^ä‹ÑR¥JÅÅÅI¬kL^úf²Åf]crÖ5à¢>{öìsçÎ…„„H™4©uêÔñ÷÷‡Æ™pËcª°®1y ëšÉ›uÉ!X×4K[½zu¯^½¼½½iT<õ8µjÕ¢1ù˜‡±.éééºÄd]cä°®™l±Yט‚uM;:uÊR״ϘÎääs%g3)ˆZ‹-æÍ›÷ÝwßéŸu‘úf²Åf]crÖ5íhѵ±cÇÒüåË—Ïõ¬1zc”®8þ›6mzûöm a-[¶Ôe+Ö5FëšÉ;ÏumëÖ­'Ož,Adl¢XÒT €ü`•ü£ìŒŒ l…¶²²²2¤^>‘””„<ØÙÙ!€L"ÿ° Z•€+VŒJ=RÅDÁ‘„‹)’’’‚äþÿöÎ<(‹#ýã“UW…Ë"¨%ˆ‘%Þ$JˆˆPJ (Zë¼KD¼Q#Šw0`Šh<’*p誈7–¨¨¨ ŠÑ` A]ŽrY%‰×þ¾5Oٿμ‡ï;ÀËË›þþñÖLÏLOw¿=Oúf!W$üGbâ<‹4dIÈ7èÝwßÕ~Î<äßR縦_×,IFá>óÑ£G§¦¦2XPÚ!C~øá‡ &H5kd tùûÉf¡Â|Q,t-øG7Hò<EK?Y0ÅUv?.ÁhÃ2›ÞXåçç»»»Ó±!ÿTNNާ§§á÷›ƒ®Yl´ÅµÎ;———Óé† """víÚ‚S aÆ®pŒ¯ñôéÓ½zõ¢;a,¸s̘1ä ™ \‹ŽŽFEŽø€×¯_?{ölI¦.'''zÜýüüØØŽk×®yyyBÇß»w/Ÿ;w®_¿~Ø ¤¤¤ÀÀ@~Ø5X7ÃÿPÊúóæÍ[·nN[¶lùàÁºDØD^¡Š (¡c¸ÛÙÙÁvã <<IÇ;v  cÇŽ%.A‚deeuèÐ<|øða‹-Ž92xð`r!}}}ÓÒÒÈE³34>>>,,Œ„k/_¾Äëžó   ML€k1110ÎüUÔ;wî,ŒkÇŽ£j³$רQà•õ<às&tãqí›o¾¡!%»ï¿ÿžùú¶Ö¸Ú±¸#†D’Ë/ÃKº•À5‹¶Š©0"—.]‡(aíá-[¶p(Ò y'½Á5°Å!Cø4§àˇÉÉÉ`£³gÏöíÛ—ÜQœÿOŽÔê µ²²’i÷dee)†[»v­±)C"\#Éô=zÔÏÏOÒ‹ksæÌ5²p ‰ƒfÍš‘Áâ_Áp áïÖ­›fH´ââþ믿šgþ¸¦Z×ê´âZAAÁŠ+@QÌÅÍÍméÒ¥z&0\c=oÕéÓ§ÉúˆkzÌ…¸Mž}踤¤ÄÙÙ{÷î¥!tü1Òóòå˰!ŽŽŽ}ôÝùèÑ#T×a%`–ßž}ûP£Æ+† Æ™‡(DPšHÚpmÿþý°¢dÒ%Ù%y#8¼¢²²ÉK)ƒÊ6݃RŒ,U«V­@«ð3??.îîî¬}‘×ëׯsrr?~Œj?¬7òßÄÀ{Ž÷ôôÌÍÍ-**²±±éÕ«WÆ %¹:&FÀðìû￯ç‘®Yp´UàÚÁƒ‡Š6~üøŠŠ 6 Ÿ2®®´"\;~ü¸¯¯/ï®×üýýwî܉€ñc#¨É¥‘Î;kˆÊ%, qíß¿?¯ÿ/M\CÍràÀÒq 8*Õ…kĵ8¾Àé áÚõëש¦«V\spp(++3Ïü)pMµØ2¹×ꋸ†¯ȲgÏv>ÕM›6 >\¿? ×´–ýšºsçÁ½)qM’‡ÞjN_€+..f§ºpMâ´hìï’‘‘Ú82?‚?òòò@‡`Dö8JI“&iú¦µÍìÒ¥KÄ|š¸¦kãjhÐÚJ•d €*ü­ì©éÓ§ÓÁ„"ŒÊ ^Ý»wG±Ec`$yª5=à(PJ’;¯¹sç~õÕWô¡†Æšâ«/=¸†zP•.-Z´ˆFìIzqð6oÞ\ó]*p-<<é{ͦ;™ŒÅ5$ך5kôÌ_û“épøða0’Àµú#×ðâke—@°{ýúõ3dK1†k*d ®Qƒ 3b’‘¸†o_.ïÒ¸qc”¼ÿºpæfÑ1ìž“““Ä‘o‚À+€B­QPã¸öý÷ß?^?®i†“’c šBâPj3\Óôf­)Ô_À \³Øh«[w-00ðÀ8¸qãFÇŽ™;H9õ¾ÁIz®Åð!Y[[Ã7dwú¼¼¼233Qt <8888))‰q *©+W®ôðð@M®[·n°8` òˆ{0àêÞ½{GŽÉÿ}¨¦\»vÍØ©Zq æF'++ olӦͫW¯ÞŠk'QHKK™!âˆ> ŒV\ÃUòçêÕ«ˆ)»™Üa^a;œÓÓÓ]]].\x¥¹u.cqÍTáªO2×PÆ †CÈËŠ(R«V­ð±hæ|–Áj\cÇŽMHH Óº5¡4Q ÉR{“¦®Áø°{{{TDñ/ЬOCd\Ó”:\ƒPOæÚîÙ³‡õ’x\ëÔ©¥LUU26óÿùóçÔeÉçCØÌ   МInÌ;xðàƒ>ôltttdd$]Ukz—tL5`¸&ÉÝ—ÉÉÉÙÙÙlJ,ký¢±Îä‡ÙàÑ£GÔó+ÉÊ›7o–8\“äµ Ö®] ›™——Ç‚‚ÆÑÑqРAÔ¹„ÌÌo€¡À5‹¶:\CN"JS¤LQQQXXØþýû%yé Øöm #—kŽ]ƒMßµk<ìÞ½;>c|ÒÀ2Ö=Oƒô%yÌÇÆÙ³3gÎÄ'Ak||òÉ'¨Ä°æ%p[xxøîÝ»%yÈB||<”`80ŸáhË–-KJJè~"N˜ I®Ûþà[¯^½BBBf̘Áp 5*¼—á¾d|–tµ  §- ‘bãð"¼XöÁðaÐZš²(ÀÁÃ#GŽà¸f&K¯Žkü e!^ÆâŠ”(c4/á뮨¨ Õ¼Äwë× Ph!›ÚMQBÍJëÈpêÉ“'ÇŒc86+†k°TøÆÉ_"LLá"õmÛ¶ñ´­G/^¤nACpMkƒ:\:€<ð™3ØðË—/ó÷¼uf(*Ïla3fèh()p€ê=UÆ / 9@CÖÝ\'¸ûü"GÖ¤ŠzÊAð½·´jïØ±ƒþ&D¤¬¬Lâpͨe«H²U_µj&Nœˆúš5kVYY©+I®Yl´«¹«AíUÍkUÆÛðûÙš¨K+]O™ÊŽkùùù¬r)„2~åÊ•TA7×%P'v')ò ÊŽ¸VSY ž°"ö­©¦Pì988 ˜DaY}ßTŒï MHHˆŠŠBEŽ]=zôÒ¥K]‡Ze‚™¡zZXµuëÖÍŸ?_áȆµ®)0¤Ò³gϘ˜>MXš3OøÅAØãàÐŒ$OheY½Np-00pß¾}äÈzœlll¨E‰C«u*¼E>a äÎp-((ˆÍ fAb+=Q/Öpò¸f±Ñ®óM¨„,U†ãšBÆÎ e‹ò…"+¢„Ä?ÈpwWÜsõêUZCÇÀÀÓ(…#óïòööfËá(Cmá4tQîÕ«Wqq1 ãýû÷óÝ—™™™Ó§OÏÎÎ~÷ÝwwíÚÀnT¼ÎÕÕõÞ½{’ÜÞCËLP*):Cñ.ðÍ™3gÀ(‹/ŽŒŒd-Ó”2G…aDÙ}Q Š}ûí·t' *WAAA[·n­ªª9rdjj*[GšÐÜš!9yò䀸Fã>Q¶ÓÓÓQö |šŒ;vÇŽÔL²iÓ&„GWdu­»†¸ :”߈ †è[[[kõ§¾àZÛ¶mYŸ/ri~~¾òÉhz\ú£€À7õ!Ju„k´„]å—Æ¤±1Ò›¯‡køûز/×ÔIàšÑ¸¦ZÕÁ5pɉ'4/¹¸¸ðã»OIzqMÿX=IJJúüóÏŽúq–uøŸ¼?ï«W¯h3\j)QDﲤ‹Û·okíp¤e]¸FÍr,…—,YÍNÉgrôúõë ´k×NÏ„=Ëä"W¯^íׯ›õ ß<==/\¸Àvêd2\ÃßÁ¯šœ€¶—?%y<í+H«K’#ûßM†klº<Á /_¾¤ñm¤·â-ꉃ¨¨¨¥K—2÷êàš$Ͻ{öì™$rËÈÈ@â{Ùu×jPׄ„Œ–À5Õ2\«Îð2u¸¦(é”JYð ÛƒX!¸F€Å^GäØDEšÐ†åš»•+|“ô–‘§N "Ô Èù-IÌ×4…¿ ??ŸïËã›]AHH^Fx@€‹Épí›o¾™9s&ïþM„–ŽßŠkø:ŠŠŠxÚGµš¸Æ½SˆnéXàZ JàšÑ¸¦ZæƒkÕQ â-ñ¥g}A¸Ö°aC¶øŽô&»*üñ¸fmmMkqk•[¼CÉÉÉ‹/f$!‰¢££©\¯%\‹‰‰™3gë !íû¬ë*M„ϱ=¬Ë@òÚ:wî Öá·x7רf6l3hö8BHm®¸w²Ç׬Y³~ýúŠŠ ÐOpp0RR“ÿøµâøðÜ»woܸqÌ‘–á½ví[¢–Ï tÀO5ðóócËÛò>?{ölþüù©©©4бQ£F=zô˜¸V­kl™ZpÛ\+..nÕªUlllXX˜Öw©Àµnݺ]½z•-µzäÈ,//¥T›¸FBÊDFFÒª $  `AÈU³¸ÆËd“ÊšüÖPÕøtþÚ[ úÒ:ƒÛ@ \³Øh \ª% \S­ÚÀ5=S KKKù5â~²µ Œ’V\C–°³³W!$µíÛ·‚kÒ¢MSàˆÜ…P±–šj°uëÖ/¾øB3$´|[Ž•D[mÒdxèää?ÙúXµk¤£Gâëà»GÝÝÝi VíášeKàšÅF[àšP-IàšjÕ ®%$$Lœ8Q’—±€#¾±µµ¥•«HgÏžíß¿?P¦aƬ–···!\â%pÍb£]­kd>L‰kׯ__¿~=¬•f…[’÷ýlÒ¤ ?ª×ôÚ·oßðáÃÍ×$™­‘\l’WKàšj \«wª)\#Á”uèÐAѲ¨Kׄx \³Øh×ÆØµš×ô \òÉ'ŸÀ¨ÕaÌ×øškV×TKàZ½SÍâšQ¸&ÄKàšÅF[5®¡NOOïܹsjj*¿³².\+((X¾|ù¡C‡***<==7oÞÌWŸ={6tèÐ3gÎ8::¢¸Z¸p!ÿlddd||üï¿ÿ>xð`”dÎÎÎäîííGèXѪuÉGZW QFØÊËËÉ1??ßÝݽwïÞçÎão]© Î;w.]ºé3a„M›6‘ צL™²}ûvDüìÙ³l tJJʆ .^¼Ø°aÀ€¤ Û]úì³Ï>ŒL¸jÕª¨¨¨÷ß§-[¶D¿þúkØèÛ·o¼h‹/V„?::éöôéÓ+VDDD»®=ãù( Á‹‹‹ýýý“““ùddC°'NœˆWûúú"ðZû ®©–Àµz'kBf"kmu¸¶qãÆ°°0<üzüøqpp0ßH£ ×À“&MòññiÒ¤É?ü°fÍš¯¾úŠäJkÓ¦ °©Ëvº…€h'Nœ@ð:vìxúôé{÷î­\¹’.áí ´S§N?^kð¥ЧW¯^‰‰‰ptrrÂ=´6ü¡å¹—-[ *--mÞ¼9{¼Õºuk¶“j×®ÝÝ»wãââæ#GŽÌš5‹–ù&\sqqÁ«mllú÷ïïææÆúg¼~²AAA………ü$5€¼UVV6}úôï¾ûá\°`¿zõêÑ£GÃÛÜÜÜaÆÚÀX´Z¼jÑ¢ÒdÏž=ðïfeeIòxm¤ÉßeeggK2رÕÃ=<<îܹ³{÷n<\C:<|ø-¼Žÿ1úøãñï#ŽóæÍCx˸¦Z×êÌ×vìØ1vìX¿]ÈÜÔ¡C‡[·nI×,O*p–¬ä»­Pv†² ö8¾}û6`N×<€wÞyo7èòŠ–¸Ô5Õ{{{é˜ ¡X×®] V€tÍš5£U§™háM`ásâ¶mÛš––FÖS’§ªÑ4=Â5¶IÜüù󪈾¤mÔ?NgÏžÍ6à#\›2eʦM›È¥²²’ŸÅFyyyÒèhFáêÕ«l=÷§OŸ‚›áH§×L jâZii)j5éééŠUø“’’–,YòèÑ#|òŠ‘šªuæÌ™3f ‡ >V·µy;;»'OžÔ•­¸&$d¸¦­|akkëááñ믿޿†’¿¡E‹`¸=zü÷¿ÿ½qã†$[±Þ½{gff‚|÷î݃}jPÚæååõéÓÇÕÕµiÓ¦?ÿü3˜£¤¤„­Ö3Á "´·nÝZ¸páªU«èR÷îÝh0”?ýô¸wVVVÒ™táp¼ò?YšqT73tÍš5ž››HQ@  Œ”ôâÐÚÚºI“&]»v}ðàÁÌ™3çÎk®!1½¼¼hNNN¬åË—ãÕ ×p?<Ù±cÂoccƒtDFFF²ÇcbbæÌ™C9‡¿)77—Ü£££Q¨ã)ü¿øÁ‘´¯6]¸fU×(åyæ†víÚ5vìXd­ÀÀ@dBäÌê‡3--Í××ÿï”)S·k{¿#FܹsGñu3éŠ` \2 \Ó®”””ÂÂB‡àà`ÍÕ_>|ááСC@=À\PPP\\€iÑ¢Etéúõë×®]CxL¡"AP‰44nÜ€Ò¹sgviݺuŠ!t @æ' l×®]»‘#G*BXUU\CÆÒŒfëÖ­ÿüç?íííH¹ˆ=}ú4øµK—.ýû÷'GÄÉA…JNNŠ:¼š®1÷îÝ‹7zzzöíÛáÁÁÀé꣊…èH€0¼ åççgeeµsçNP ?Š/ÊÊÊBšX;vì¨xüÂ… ¸á7Y|¢áoÝ"TH·!C†ð|ýõ×øO)¬U×T«6pæÖÔ¬)5jTbb¢ÉÌ#j&¨ê]]í\,pMHÈô§ÀµÞ½{/Y²„ û3|Ÿšš jd+œ Õ µPœK׌—:\|?~üLC«3\Q5jÔhÊ”)eeeÇŽ{úô)NªBÔ.@E«W¯Æ[Ž?ŽšLÕˆP­ºxñâˆ#èλwïfgg³Êƒ¶oß>##§¨œ ÊÄûŒzΕ+Wà¡‹‹ ÃMŠÂÔ©SKKK) ’ÜêLK ¢fH£ ^¼xª£"¨¨ŠdffÂ[Ôaå˜;¬:*¨Àï¿ÿŽŠbÓ¦M}}}U'ˆÀ5!!sПׄ„jI׌• \£µ1[·n]^^²eˆkööö666 ¨—/_º¹¹«pzýúuölAAAÛ¶múé'Cˆ5hÐàßÿþwUUù è)))‘är`&f3Qš5k;ä}øá‡|(..~-‹y ØÁ"ÙÚÚVVV~úé§ÉÉÉZ£oܸA¨6Å#………’-ÒR@1ZAž<|øØŽÆàFDDÄÆÆ¶hÑ¢¨¨¨:{² \2 \R/kÆÊX\KMM `kß>%ŠÎPø¦Õ”tÚ´isçÎwww£Â©uTå[q tE\Ž=:xð`Ü0sæLé-5jM’ä¡lÖŽô¶ÎP­£*===oß¾M«†¾zõªqãÆÓ§OÇ¥7¸Ö¾}û¼¼<éÍPN£˜•—À5!!s%ã \~~¾ùì;.dy²±±ÑºK•.‹k;vsüöÛo´ -aá¸öâÅ ÚMëÄj=R‡kŸ~úiZZ;6mZ||¼$Ï$ø×¿þÅÏkQH®5iÒµ…-[¶Ð)x´¬¬Œ`‘pmûöí&LÀé£GœiOa£$pMHÈdɸ&$$dn2ד"KJJ@<†ãšj©Ã5ÿƒ²ÓÐÐPÂ)ÚDOUàü_¶lÙ—_~I§]ºtÉÍÍ¥{×RRRh` È•™™Ù³gOãSBàšYHàšéd,®5oÞ¼¼¼œ™©›7ovêÔ©®p-999((ˆ9R'£!¸†Ðfgg³Ån4¥×æÎ»nÝ::¥fHkBB–*kBBB¦“±¸TÔªU+œN:uóæÍ†ãÚóçÏsss2Ænd¤×: cƒÀ¨‹Ó\£•ávïÞ=zôhºZQQA‹’Ú·ooµ-Z´nÝúâÅ‹têàà€PѤTkBB–'kBBB¦“±¸öêÕ+kkkWW×ôôôãÇ7àRWS h}i;;»Ÿþyç΋-â·ÖƒkÒ›ÎJÄ}̘1çÏŸ2dïùÊ•+/^ý—¿ü¥iÓ¦xü…,°š••áZUU®zFEE-[¶lÆŒ+V¬ :qâÛmEàšåIàšé¤b!²²2__ßììl??¿mÛ¶µjÕ*++«[·nìÜ£Õ”©Xȃ4`À€“'OjÝöwàÀÿùÏbcc’<®á)¶E/Nù‰Ãà­¤¤¤  â¸-11‘o]“ä‘pË—/§¹À£¿ýío,­xýãÿ¸}û6ƒÏ¾øâ )X099™!)áÚ¾}û%¹%ÏÞÞŒèååeT"® ™ƒ® ™N Aø­Ø„ÌYׄ„ÌAׄ„„L'†kVVVu¡·¨aÆÉÉÉÏŸ?—® Õ©® ™NZ;ø„ê…Da!$T‡ú?j4endstream endobj 403 0 obj << /Filter /FlateDecode /Length 2963 >> stream xœ½ZKÛȾë/$X¾¤•1ý&Ûˆ¬õb;Ø5t`mŽF#3&¥1ɱ=>ì/Ï!UÝM²›¤fmŒø`Šì®®®ÇW¯y·¤ [RüçÿßU º<,Þ-˜}»ôÿíªåÓÍâO¯2 oC [n®n [rž%Hqt\ø¨‚»µÝnNnBaÕyíocjM²ZKÁÏ&¸Ù;z¸è:x}ª+Ÿ‘Ûà}éØW–PsÏ:1’*±»‹¤Ò½‹T|è.“’vœ¡©Nð ºÈ”ŽÄWz:&#UÞ¢ŽƒÑÊNøF’Ó5>ƒþ%Ÿœ?4ך§¤éyañµ<_†‹ø„oâËGÄœ%h±8Îëp3²LG>$% _n^,6|M~]­WÖ1Øðøíðøã–|üß®Vs›‚Ké-öµWº3ÍS a [üC©•Náù†×mt×zNÐÎ1Cãl)4™Eµ+/\¡qŸãXN1Õ²#cߌãÌûâz_SÞYí#êü>oÛŽ[Œæ\Ku/\Ûõ†\Ú # .ø`q< kM36dgSȶÛUJ¼‚®OMAR]X÷9E$„Óexhø£(Aøã4¬ -/Zœå%¯¡8«ˆÓ#›ómÁy";ß&»ò®SÏA•šÆ#IÜ –‰pÉZhž¨T-×`^šÓԹ﫿 `Hë•/OWûòßG>¼ùózx~þâŸ/_Êêºø¸%wÇîƒ GÀÑýã·Ã#½è3rÜîü7Põ“aYY4í–¼ý¶ÛÖQŸdÛÕEo–p§[†\CÒr[æÃ¾'CH¿v|d³aSôaóbxÜŽnWøÏŒ¨ºp ±:#¾ërÿ±BÑ%Ý;†ñŒ®ò6ïîªB)üã§z¸ÔYÄôº‚Ü í£½oIÕ‹«GîcÉU¨{»;”™SIgƒÎÝ«›^3R˜3h0w0A{>y–—åãÕbIöR 4édp• ÿw ‚GÂe| Ä„ èÂ[wD «ÏÆœ5ŧ}óØ©‘%R 3ŠÄ`ÒL¥xe⤿VIʵQnr«Œ´Ä¨- 9ØŽï÷õaÜí;A»î˜"b¸j/sŒ÷Í|Îj×}öú#SÙý"SV^MûËèW”$ØŒ¶aA"Iè1+O\ÚÀï`SÏR xäéÏ:n8ù`A› Ø•EWšá‡ÃÁ§~‚/ÄŽÖ¯ƒ$kzž†ŸTàqjë7aysr%èï~ái[U}ÏèJ_8ã_Â13kNþpÐpœ-ÕqvÐøØ*@Z§3Y*i¦Ùž|Àê<—Gì}õ‰C[ßÎÅPUŸÇ`ïÌõ}­[NŠL—m|n1™x3ÅPŒœÌ˜9؇èVÒ!E=îï]}ÓŽàköË¡8¸G"™ÎàLÌ[=% ƒßŠÛ€ÛzÆS æª ë PéÓ}›¯/KÔÅ«£’ñÉ@ üÖ>a¢»¯1¯A©EÐÆÊ ÈK÷í¼gÓ$ÓƒD6#ÕJ ªMY$i$÷)p· _4vOWùvIy÷)\?öd©1ïåQ¾Œ¼~¿Yü¼p]+µ¬Ïw«FU_×­‚< IÓ®Yõ]Ѿ=sÊ“WxcÒ'[‚™ÛÙViÂyÑ“5y@ú‹if2‰9½ø Œ¶*¨®#_~Ù€3" è,,=*pÆHam–º~„Æz„ùÂ' ®(ël\jiK®ûÇF“µqp½¨´8†åwUØÙ2ÉFeÙa„ÃMT\»,ês¼ö87éEåy xØLej‹Ñ竌Ûr7ºÍL¬CÛêTG/ÿ$`vØ tnÄw¦œs ÄÅ{ ·‰ÂO]\º`ǘֻH [_×ï3šp¡ÁˆX’êÔÏˈ«yFƒÀvÌ+Á¦m.ÛgVä§¾±°?[Ì—«X¿oeR„ø*È"²,!¢Ë)¥ ï8•±¬Ñz4Æ­4*Ð/B¬Ý´Ú®zƒM1ꬱ‡˜fõí½Áâ{uü¨Áe¾‚ËBœJ[Sµ0u•êSe£ªûrm¾ÞÍ„§°”“í8ŸsûÓ8ƒ-‹0òÅ]l ¶ZjµÅ à3‡/øI rÙw?âûBÚªÏÁ]mS:f °ïØÈ811pG±IÔqÄGpŠþ6èˆÅñpŒsnxÒæ%@‡Å-!±5d¿_yذœÈ´§`·xy·â6mN}›ÑŽ3b±ÖÑ &/§Ùk¤”ë ß™×ÓúcX‰&jðHò""µ}ÃÖ1IŽ/$ tœÖq¶ÿÞ±…U\ù8*¨ÿω¸S3gЊY æM3×’pÏPÆæìnÏxu¾{ØÌX¿J¹Íñ,ëӢDz˜b¯XsÈäÀY2jÛºf"×x·ü~f14Û±ŒãíŽàZ!Õ½D´›¿Ø)XX;|8;ši¦Üš¿‰ž]»™ëQØì‘rTÒzí§f¢}á#iWA®¸Q±^òö¾–¹m[B|ÆËŽê²I  Â2† &›’±ÓoÑÛð8ª!„KiíÉC¶†gÞŸ%'…Â@¼è˜†:¨(±]Î4ä*å­ƒ~¥A[M[çNÅ"M©p’qÓ]ת埇qžéõaaRBPâ4ƒDœ%Œ&åCb$ Z‹ˆžíðB©Æì—5ÓIÆ©p¡ëyQ7-ÎÄÝm¨¶)˜Öd.f…–u÷^MmŽRæxêRå¾ ƒK•כݖ’âM•Æí““Ìɾæî¯¨·ÎåО¨Ë¡í%™Ó=`ÚmûŒ”Ú­‹éVÈûû,T[Oú€Ãž×6²*0åj Œ)ζ»4$Š68_>Îw¨–BUÌvÍ„çRج8_(r[…P«'oØ<ªZÚø®ü àÝsµSæa¶cÁäj´›5Êjvtš&,£ý„Áœ¹îR‘D‚è-£á,þáDÊý÷ó ­a2áiÖñX™ŸˆÏv* 8K#³âp‹0™-RlдyÿÍ i÷ˆQ Ñ¢«Õd6EWT’Šm«ûo5³BU?L§éýQ/òâŽfo\ræÏ †d`‰ãÎrl…UÝòÚÏÊÜÏ8’=>ßFƒƒæÚhØvÚ’G—û6¿,O»·ûúQ0‹¹ÉwoóÃ~¶[ÿÈš :‡‡ õÊjØÎiÀ¢·dwY¯¶ä¯û¼}Ó\ ÝïÍ©ÍËáçz á–b“afp´©÷ˆÇv~h•WEy73öâ ˆâh!íQÀÄÙáF µ3c™îæ¿ÝŠtÓ™5£˜^1'•xºœ„Óµ9‰áÕ,1Óô¼œX$§³Sš3rã3r³±úçÅÿ²¾åendstream endobj 404 0 obj << /Filter /FlateDecode /Length 4426 >> stream xœ­[moä8rþî¿p‡ƒ1@õÅI>ìÞ 2Á.0·1’ë Ðøm´Óíö©5o÷á~{ê…”HŠêLJvÚjªX,«žzXýçóz+ÎküÏÿ{³?«ÏÎþ|&èé¹ÿçfþýÕÙ?ý¬ñÉÖÕNœ_ÝŸñ+â¼çi¶N™ó«ýY%ÚÍÕ¯0¸ÕÉà¶ÙZƒ¯\ÝžýR½ÞÝm.ëmmZÑÚ¶úòSÿes©”ÚÖu[ý禕[×*U%ƒ†cxÄQð¥U•ÜüÏÕ¿/”º ]*³m­åé®ÞoPŽn¥s(TY½­­¨nà±SRÀ¤‡ýNæ´1ÊVÝ€ß8Ý4¢ê4­U4íáÞÖ¶baÖVß¿ùÁr¶ú´1–%Aèî#7N·mº¶c/«#R¨]õðÀÃl­¥†a£X fçÝèW•1©¥ªÇôq4û˜üyV+ªýas)ao[cáñÊë;/i±Ÿ{˜œßVkŠÀ|Ý>l‚Qƒ_£´V6°ø·Åhk@g˜¾V®i»…ÚíäùÕgW¿ÿeR£Ñ°¼ß$ÝÄŽÁ¹\umÙaàçÅ˶ú ÿƒA°³ïg­‚œaì%hctuxL·öH‚”SmM¡«.Þ€[?žÓÄ`—Z]&;U¢±]4î¶_›H7å7É_Eko ?sdŒ|ßp´iÒçý–ç%‘? ?,½Îo4I Ë ¡ï8lA¹¦¬8å;–nEîÅ[T{.î‘Ä j¼Ï¨­Ún.M]㡬Þhqó)pü7cÿ‰e ˜XVý¸QS}…q]µ *Øêíûí¶þ«ÚÂAž_?ÞÞ=nPxíö|I5Uÿè?ƒ½ë½uÓ€i:p®÷wû>6|+…>‰oNËLBZU×-E×Û$jtÇÄqGgA/ëß;;xÜ}ØP°Mîè<Ƥk8ìi+þxuö§3N0æ|xnb‘BÃΩs 5f—_ª‡zˆ§y¶|-·-<ŠäW×f¯ê­›­P:‘+œ«#ÉÏi[0²LMq½dz¶Aç­ÞŒa‹óÓÈçÌHÜÆ>6Þ´Á•Æo<Äwñ¿Ûœ²Èeè´úCAV]+pÌ£F)ÌÙrlʯ³~ÝMðW˾Og Ÿß'1€2?Úè’’DÛrê÷ËѲ©un€Ä•!šIÇ9Ïëó ~ð£ Q¿Å/P<Ó^OšCòçÅ( 4‡…àÜ(ßÐqT"Ì\4Þ‘b‰©Ø<²Ò NjêcÐÝ.ò¿-+[a…š¢¦$Çc“Ðó‰î>¦²iµ-X‘s\íZò!œq„–"hnBZ¦ô›%AžYåªNŸ ˜A; ¯µ Yí³h6 ÁJ:W¹±"œzŠao @Æ[þ1ò‹H@žéG^W‹©…„ ‚ p"Žá¨Òw :rØFËB¯ ™5’œ…XL„Vú4¸ò˵Y: Ù Îá±À=¡¥j‹gJgX>l£dÊz»Ä¤ÉI'‘ƒ]3»L! ÉVQ"G¹PG“8Ò“Ïi­EáËþ·+¾‹>„ŽókŒ?FQeˆq`·Ã0Õ@¸nÛUWúø•|Á-¢<Óšôù8l(ú+;“ÈŠ¦nê€_<•Ó@‘¥ÅCïåá&´rÀªÜcHaëQëz†W'ǰtÌý†m»D‡a‚·Ñãx…e~9)Ý´]ùyJ|&ù0b0Wv“øÑ’‡7Õ›ÈDÁ™|Òcº¡ÚÈU®®)eh A°£9 ’KÏQB³ÖψP…ˆG(šljY!8£ ´NJÈT‰ °÷a`ã+kf–Þ„-Š D6ÎU/8¨.ÔY¨9xÆR(ü ï¤ÇÐËí‰D¯¯B™–Ö86*_MHDsµI>HÉÆdåænWpÉB2ø!Íe#¹¹Ú´XM6’2 •<ž,N.,âTr! JǸO¤-T%ñIíöýîk¦V J7t©—e‘|âf1¯¥ðöR&‹^w~Npn®W¿‡au+ù þü@kÅjß Cß=Üy»AÑw»‘ó“•`…c°hó·âRÞïR$©ÁçN¨F—¹“·iÕr㌤šÒÛÖžT黨1Òìñè ~¤2"A´R®µ›Êø1ÌÖè‹ÝfFBlm‹fh¿e¡Ì;•+hr€³âëbÞF¬[~¾i_ÀÊÒNñu?Ç <ùšÂɾÿ2–«z­ˆ°ñä—F,Óœ`‡.ø<ívjˆøÑ’(ªeü1ݘj1‘‰ô¶QÏ£b’@:ñU( úRI(-‘³û^P1Õ9|Í­¢µÕÓ|n x®PÞ˜„ÎÁkB0o llã´1g.ç¯.6…3ç—Ò.[CKZ`/ ŸºùOÀa§øO/ÐWâ]ï÷ý_’ê1G}²€“hfÏ!sTaVŒ¾(~LçNÜàDhͰI#½¤¸ Ó¸V%SÆð»K)ɆЉ–HpMæTÛÒBÀ9»£Ï1¾F“'–&–ì6‰†ŸV.óçËMÀVIÉ?™‹XááóXͲøG:šˆ·µmNóípxXÅÇ)eÀ JXG!gi%óœøÙ©S©pJ-‘á^­zJy˜‹ýÃÒ±†ˆ÷%š$Vax°äx˜¯4vݘ+Ö Á™ÉÅAà@I‘²ÑCÁr^Þ°¬ð¿ã´µ3ºÏ9–™±¼c=ޱ«¦§] }º©§+-F †Pâ£Â÷)…e©†ÔP¤#EV§ÑmŽ …R¹óR"ÎØAføµÀ£Ñ oG¹†$a#±ò'0€’îXwŒÙO+ö.Úû]Šü¥=’ŽÁøÄa@÷¢%“iŸ‘Y} ò—s0)‡Aþ8úÅC{ÈÜd% ÝÎK†y¦4¡N »e 0†¬X¼à Ÿ³Ï)L‚9Oò¥þÿp43ÎÔÌbÊÂümåß_(b¤buŽK¸ÀfIž§÷Uû.ÔÊÈò˜T³¡ÏK‹.Ì\¨a=Âbÿ–®YÏfCäý°TYõq… ®KÍôËáxìN+ž¢ÀYÎ×°'üd‡cøj8ƒ¨ãÐgÇ~Aš5|ùÜÅ·8 êE6 Ç’ÔÌÙ êÊO}É‘#|»ÜÚxfÓlœrF;àP÷ýx 3r¯Oª$„Ai Àˆ ®ðLò“Dq/Œžj·•2GO”0]‘ŸL˜SMYH—´JŠõß&û·Ð ¦œ8yÔé¨Þwi˜&¥P)Äþ–ï H§Z.û1èÐ *އÀ–r] óø°ø–ŠiW‡K:þ é6øu@x#«{Uà` ]âRxàPÝBæq8£aÌôR'ͪ¨býѸ¼’›:ngú'ÏP$Ò.Ûæ qŒFåMäeR…TYªÚVp}¡èäQ ¼Þ{Èâô| ¯€N„óLîð¹ßaoœ3D¦ûʃ°PNœ€Û,8 ¥‹©¨™ËyðÆáÆ EL>m8 CÛ˜µÚ9­¼ò(M/| =z¬¥ÕB,î{Ó‚+æ×«¼Ð¿Á汨|[å-ïVjÌ'³`µ]jݤåë$qÅpkNUàKaˆœ's¥EÆš=abÝM±xšˆE¦ì ƒÔÈçB&þ¥EÎ ….:Ѫ¤½Ìm­Va1?ÿëæÒHvà[xéºzõ®?ü@]kãñÕ~k¸êén>ЕBxð/óÇW÷»»/V_(ñx’Ÿ·w;á_…òÏ—ów¯üïŸ~~Øí¯«{ E߸dª§C<ÃT¹üûûÿá=“H?ŽwO¯YÏk¼á›¤ÿu–¾½ã™c–©èb^ȇ¢eÄw*ˆ„T»ÇŇWä[5\>û­gøÞú¶=Üdœk3í®^}ÿæ‡W“ÅRèºèœÄ„ckj;M;%wÉ_'/fIÞÓïLîôm̶€Æ (ýG—gñç¼Ø¢à/ò§°æ”‚ûýT®Îô?j³à…X—w%ÿ.ÕTÓx‘w$Paœ¢gPËæ¥ÍÇ<ß1-Rz#jš"öc¸o<ø²¡_÷«×†‡lb[w.•…JPQ“ió‚Sa¡¢„ú.’‡åVzÉQ@fQcu0¨@ºâ=ŽYþ€®êMÎÖd' Ùé–ÓQ ‘“¾Ü®çÌ?øÙ)Dÿ²È+ž–ÙÕs”H ±MÀ„»äÒ ÌòÅš=Íz†‹²ÕÒ‚ow঒˶ÅSY©¼O1FÔ"ž’å¦ðËÁ±áࡤ÷ëÔà1¼­3*r,(…Âì–ßGR7n(å8aèºý›x ˜ÀM÷5Ä•´¥OR=kŸÚb¼…Ç´ô •ïçiÙ…òŒÞu M“å¼áÒS_PÏ(ÑPÅtÒS:m.O´?ê-—$n)/‘®«UË.hØÀOÑîFäD)GNôÔ+™–ö¼Ñ[ !Ûïù‡þÖ”¶kàÚùAþGi©œ­6M­ü}7”Ä€ñD+Ÿ!æîq,ªrš¦ îwªQhã„dÖûôþ¶(_€Aúaº ýTî¡vÝs.˜ª¼“§ØÖx§‘|;É玟‰™{f J!!ãMŸh ß¾yôZÉ&X…7_Æ@¦ÙüWma¹Øáä0àV,ãf‘;çN"NmÔ¤®æÞÐUÇÍ륌! m±%(¾AW–&Ä‚ZÏœªb»k´•É_éVÝ!œ.´yM*ýaÅb–e–@¡o¿ Åéf Të‰!m\’"ê ÛÆh(K¢Eßk&ÿF… pï&NŸ~p&…~¿K6»O‚Z„gÑõä·F7ü©¸¦?í÷wûµÓÞØ„cg¨að„ÉÓé9:ác–´‹"ð¶¸'%/«2¯%©•åpjQ`Ši̳ʃð‹G¿X¼æàÎ0rËåïž" 5vQ€ÁøâëçEî'QmõÇèñOa: 8 }²àýLÀõ¾ó¢”r¶Ðù1ï}?öÝ.í+2=º m…HéX¹Jéw* Þ.7n“4suªN§üQyÇ“µ†·~:@xúðÖèÅ`:¾å!-(–îâÏ/A€v^°Fr&[J¬Ñ=ò:3qdè·Ä]ÌD¼sw[ dTL 0™8œœID^6yÐaž’ežã>£¦X£H Œ ËÙâˆhE߯Z-q'kÌ£÷vqO t–Œ·Ù˜ëM4ó¹v/æg656ÎÍ5¶K&¢9+„§ ÃK¡êøOgÿ,pPendstream endobj 405 0 obj << /Filter /FlateDecode /Length 160 >> stream xœ]O»ƒ0 Üóþƒð ]Z¡¶?eÀ‰Bú÷%:t8K结ϲnÛr _ÁXÖV·$˜h¶,Ê ´Åx²> stream xœcd`ab`dd÷ñõM,É®ÌMÊÏ)6Ó JM/ÍI,I©üfü!ÃôC–¹»ûûõ‡Y»y˜»yXÖ}_!ô=Kð{:ÿ÷FÆðÜêçü‚Ê¢ÌôŒ#c]] i©T©à¤§à•˜œ_^œ©˜—¢à¥ç«§à—_ÌTÐÈÏSHJÍHÌISÈOSIP v Vpò ÖÔÃî6TÑ‚¢ÌÜTFÆ.&FFËïkøþ3æîe:ºKtm΢¼¬ê’²¹ßŠÜÛêº;º»%kW7L™2aʤ>¹ïa?Œ&Íê›Ø=]’¯qêæ ?…–oZȶŸk?·s¸>çê ==3zz&L˜Ð?™‡‡é¡pRendstream endobj 407 0 obj << /Filter /FlateDecode /Length 5184 >> stream xœµ\KGr¾o0`˜c­®­|g’Ða%ÑܵDزæFy’HËìfs»["¹¿ÝGDfV嫺gD :¨§;+32ž_<Š»zv=àáÿ?í®†ë»«¿]1úö:üï§Ýõ—·Wüo+á›Þ Ž]ß¾ºò°kÎmÏ-»6ÊôN¨ëÛÝÕóîË—7›¡”eVÛîtšÞÞàŸÂ°ÁuãÍFÑŒwOÿ—üà)'­í>ÇE²ÝýûÅLw‡)Û÷Eòìaúé†Ü™îµ?À Ù}›=0ÓEóÃÿsûp=9¤×ãNô†9¸âí‹«NÝÜþ/rÀ¦K6’Án®7BõVkZù_ɸ¾†ƒÌ@+m¯¹°âzÃz-à~´’ù•ù±¶†Ã–ÉÂçÝè#-w.½´§;'гž3Ⱦ?1|f b~ò u˜Š”yVÃço6\ã'Ù½ “ªÛ¦Ýô÷T … ƒ¬xwÌ~x—jÌa<…½vl?zЬëo6RjøìºÛD¦žÐ2Å[4Œ§ii—¬Û¿ºÀUi=KŸOqé¸P~eÍ]õk}7ýBúéJ.£5°îm~ÇeÍ{\ÃáaY<{šv3ûâv­Knz> õ¢WpC¢þ³–©^’‘䥅?tq%OVŠ,ID…œZ›ñÞZ჻c?Ü´ÆL¯Ô`ÁØ–3+Ó t Kàr^'ß¿ô߆Q®-l|YbgÇð‰fzý -hê&(¿"AÿÐ"È€³uLÞS\à/‰ þqÉ^3Î2q­6Ü(ð@jk.1T—Í Êpÿ”¡Ó1ˆ×‰ûø#Ò!9û#͵æfÅ…Áyƒ åõÇï¶?À÷þT~Ìè‘°ºD…¾)06 èE`³¹31ƒåaɸd#ÕÏ‚-[›²,?¶W±èßßl˜?îl÷?*TDÿ1ùÖ|¼,øú¦E…îíÀãÖ?',ƒÁgÐÆ» ߌwéÓ!¾› ;€{þËË»éC+²K5.à²RJY’Ü“™€}¢C‡ônz‰v©^Ô,Å5ÈÒx1«^´#y7åa­£HD`Ø+òÐ@@|šŽ …»±KôƒÖ éy „Ø ol¤݇wž"n& ™W9E·¢=ñeb%?—ù|îðIÕà_‚_HðCnZÄUÂβÉ{<×å0¨Êa>^òж•âL>ì}Ó‹@=ØÅ¸ ìÂѾ ç0A kmžö?¦úô#>*‹Å…i{Ã03€Pz×Èèf+ÿöêö_—œp–ôÑL Ûí0*Ü¥b¡ÀޤÀÊhÃmXy˜€  ÀËé£Ù0,Œ¤€f” )poûp>¤N™ÅPƃ‹Ê^úð;,¤B»ÀX§”O”®KÀ®',Œ rpÀ"QŸ­îÃaàH²Ã’ê%\jŒ¿Èæä?cq ˜ض\[¯ÜNÃ(áñÇ|7B&õÝf«†5ú+ 3Þ‘ D߇ЀÒÿ>‘Ò“D0¶3ïâ2AæÃPÁD­!»LÌÁa*†˜×ofýóƒ#6¯"íÜ\»éío_„Aá(Ä0ï¹G"2àP ˜Õ?›[`„Ð[‚æÏÎóc ¸ðþ5Ù˜&òDA0.?¤#ézÞ˜À'xpü¯l._9Xþ.K^¦H$#UHø }C§)PÍb~•H‰"%>&¢¶?ô¡D 7,eø¶Â“Tòt ¨¾ DʸäJFBeF̱›µTóÀJõH‡Ê&)uŸ­æÝR¦'áPOÀ¬—¿æz­‚ ÎÇG±ð Š¢8‚Ký~žüÝ£ÄZÕ É1ñžQÊÓHˆ]aG3!küŸÃæZka$¤¾gÃHÂàm=p¼ B¦™Ë õé¼VÄ€sZjH–eo­òEÞ¿6ûCÉØ`æÒ÷ßñ ©Álbå›g5áÁˆ¡¨}¿‘¢ø­56WÒ•ÿج"²^±¥öþ,¯'´/ÈEJù  Äá3mVPm/­š‹8ïZuQ¬Á¹AãåŒÑNù˽iVãà#WË8ËÒX$Íw•=—XÏv}Ó*"É^s¬k†kíçZH‹ÂšÇ=züMK®€ÙÁý²Œ¾ÇÍ›€†€ÓaÇ•J/øsP#ƒF…šëûÕì‰RÎÁ!šû  ‰Q±>ËÖ¶ ”K6«ÉgTëHŠ“·+¦`{¦E¼^ûvÏDÜz5\d¥­²Û÷ES;UbƒÄzú©æRLãÈNÔx$ô8ñëX7£óøQé0¥.#ånéøäÚï'Ê«ð/ì¼å5¦²d¨*¿Õ1ÐÈé!gÈÛ™ V^bdZòÎCþÞv/Cþ86LnÛZf-Äǰ„Ú$ÆTÏ­,ªšz•`Â"¬,¥óñð"ûˆ¤¨‚U ë0›|¤3Â*÷€áÛbµ­ºG\€È’•ÏC±DcE“ŸÉ)™T×Ï0[„GZYDk$}n¥Ûiù£ô ØæØ&9®ÌÜ0[ /V›_Í‚Úx¡I°¤Âij͙ÌsáŽ@wu¼½«)ŠŒqy>j’þƒà£/íCš$*Ja:Ú¡æ3’kj!ÉÀqL×IúœlH"züê~è·¿'z Ù×ßÓôZº×4 µÒƒ»†ðŽOØ Djûp„iÀ ÄY&Àyw.ý"šž¼F+˜ {HÜä½ñjÏa@#À\á‚«]hðÜ’™¹ï9])‚oh_ÌRa{+ìöª†¥nB–”FŽcLè&bkøÕÅþo·m’ {äÝ+0bMkð6ý×Ý·…»Û6s·4„´,ýC[<¼—ò·ñÅëP¿ ðQ6#ζN&¦Ì)ƺœã 9³&£Àíf‡sÿƽ^°±ì¾¹i*@>Wì»»&Áæ$2+o§ ÷°ˆýj˜3kSÀ}ŒtóÄУvV²±8º”€žþ«Õ@¡*ùHMØ\j…åé{MõeR!Ø—uã)üÀ´¿ÛX­êœôµÆFЋ([GKOGæÍy Vµ³ŽÍåwÜKÆ%µƒ“º“†Ïœ^ªÞHš`Tï¤ –êbIÌƒŠ¹KÁ3ö¡"Q*¦Ä-Yê+Bñ4)ÉnÜn³ÍާV±|Êû¾ =/:ã0²X÷ðcü=Ž»ø— ãƒ>/Ðe¶J\ü÷ Ùsbø1¦Y­ì¼†Ä¢isààÇ«TÏ“d>øô ‘ ¼°Ó¹Àg?Y9Â84 *Eû¥ïýëÀö*at¿ò2;ôEÎëŒ!q2EU†sc´½-JÐþÆÔ¾¥ŒŠ ¿¦ :3l¤Ço#奸c§À¾®|„û¶ QÎ?¶}ãs¯ Nʯ¬‰–ämZmÉëÙí»,‘.“† ¢”¶Î/XæÄfÖ,:>ÛµŠ¢MÔAævœQ4–9 µû”«Í'ð$Þ/u™çCŸ¢c1Â㛓b­`Nã}¢ÈÅëz„gqèu’ŸÝÇ­ ó m(ŽsÔ+)„wsoíðL,wºõÓº÷ÛxY0Ýj#4z«n]›¬ûåóè0¸¥ #ߨÎÅ´]ÖïSUÞ,þ¡ƒ—ü ]­Í½,&§4:bëoŽP2ûe¸+Ø/‹8w«ÒÊvŠ'„zPÀJ¿Ñý2‘+Uœºk9'Ð)(Fl;:C•c`1 èÂÏd{Öx€ô-LÚwX9,ý=¨àhΧJhV‹°wåð{cëÊ@Ø'[?sgðY= +€uÆÆYiœFR:3ÎÐüIJ—ÕtjVŽž¨GhõîÎuÊpÉ`B4·åùt¾,éÇÓ¤8gé‹//,ý¬ž.ÎOÐÁ­˜0?&æÙ´N¿<³Noˆô@eŒäSD÷çý<ʲ2Ôâ˜u¥#ÉÔŶx‡Bw¢è[2¾¡ö:àT{Âô¨c<·û£_Žh<ùð½ÂK•5#Ú8$«}'ùÒ4É1næÖœÆù0æÏ ³ Úw¬ãØ l+ËW<âºNG›I]#´Ä¹W}ïøÐvz3£lÑvz]pŬx´ £L*œwÀ¶“¥yîÙKÃñ$<µ>Z: ÿ.‘é| C'÷#Kéx\‰™>p¤ª‘fd¾ÈEÏWþ38Ê‘’I6¨ t¢mÎá¥h «}Ášž^fPý4ž  ý1—‹ôÔ¦É)^KØU²L¬n¾é…îœß»Ævñ{TÆM ÚÒ.Vf¡8/…éèvÒz…£É™}F½ sA¯r‰ í1Š¢ì÷~N3ÐBkbQl]¶Ë1BjuÉàOÅŒ<¸âÁqlo®áB'BÑèàB ºì?ÐÅJA˜óO©šÄªICi~{ÔºwKz²÷ oÌŸ§vr O „Úúí"z¸ÇhP{N&_¡÷R›Mô7 %V7|ÉÔ•N=eáìçai6dsØïÂó¶QpQ(ÿ³X@ùÊÙJ ¡5S±í‹pºÒ%3”U®”´ÇK~—1Ed ئ«‘®©€(ë€ë.^ÉÏJ)?^™µ‰§SV¬È‚HôÙ!Ňè‘{Š)¢•IÏ’–X¶‹.™[êlÕ­í Ú”ôM–ס-™PÖ[ò[©"§¾ç(u8:E2³¾–Sf ¼ð®,ùDÓÔ’;ÊW–k™rØ— ó?7ìLkœïvÑ–¬Èü±8I?€sL‡©Àð_ñÊм}”ï™a`j‹Û¬·:óY¦\‰}bNE6_e>Ø×ói›Ü¥.ç\fÒ,z ¿`mÒùd&>ä²iT­*jÕØs~ží˜‡±Ø|OK8¥;Œ Íú+ÒfRuئïUT=="9ô´iŠ·Á,¿%Á;4m]¾XUÁ;¼à† Þ…«ÈqOÀî»}ެ÷iýy*rª+г—.Â[!H%æ¢p„Ç:Äâ…ó·ÄR?u¨›ó/IŸ¬/¢T‘t–m&#èl ¸Ý¢³a”Võ(„ƒÏÿ29Ò÷ E†¼üAÐÐÖ¯À‡‡ª ™`“Œ+¥Úоõ„~=”…·½÷jj`¿AÞJt›½Mz·rIQP𻕈L¿BŠé!´m¶Y2‰£˜[AuÇ—Ÿ1g°TÊešUJŸw'žc„µœ7 „õXN¦Ó2Kã­Žxùcq" }0‘ÐȤ÷”çzp¸J=«‹t_[— éä3GßsÎÀJE޲™(†gÄÌÉû?‚ôû?W4 ‘[£b©Söãþ6®Îûé{;ÆU[™Ó¿!û'À„%bŒìÇiS'!y×Z'L|+cYÆZ­ m>Ã6; nR1•Ù²†ל}­Z©Tg£k~vµcZÓRžâ#®JùÇä­|èæ‹+?ûÜÅú(cb×mð`&ÿD>>ØN.½zCîU†\'ï@úoÃ7 ¶hݹkp!ý8·”cÅnjZîíœïAñ•Q¡Q”Èâ~ôÞ‹1°Ü©5¼=Y¹-‹c&Ó§áÃÊèøÉ˜¦ÇÔ òn®jÒ":ÝZð`^¾¨K o…–3¿?CM²DVå!a çr&6/fºÃD÷ûȹ² ;êt'Œj¹ ∖ûÊŒñ”ý….U­Ì.eö"¼Â¦¸˜A¡|áœN·¡+rk±|8y6jÓ|$‰èd1X!5¾?µ†4¼Î­Õb”µŠF¹"™QŽËÈ ¹á»äÅÊKe¨Ç/Yâ{qk®ºCáœTÇÂÖÆÕ/Ïåä¢Ö*©× Їa½Ö`&ß.|˜q.]E·ø}âãÈ‚(+“ `c¥``c©\qœUß"bÂZÎÅ8ëˆC9„ â­–AøäŸ«L…‹æ@»ܲsÒ|È|ýNr˜‘ãÍ¿½ðÁ|‚ •S0Ì8Y á'0˜•ˆ@‡ïã|jŽÇ8SUÈd&,S_[ÚLNÐåM©-Vö6Ðz È1ª¸]GÃn↪<ËtúSç¡sób1ƒV½Œ š© 1ÏI ®ìH•YqD?y<£ŽØ2mQ„YÛÓ~>654å¡«5MdNñ˜’<?Œáç<¡ý*38ú97æýhn–oÓ@ƒ8¢4}õ8¥ˆPD5KèÅ3Œu¢°ÆV‚T4ðZ ÆòKú·Ã”Ù”£> 0ˆì:M&õp̱;èZ’‹ú+ÍÒp•Šsp2Ù_(βóiêDú9Øõa/zw¡©R>¨Æç®„¾¡Á]˜úmXðéc:îà$Åÿ!4(ìRºpÙ©:ÅUyÓè‡*a×ÏD¤ÎèÔùpž(¬<^Æg'=¨ˆ?<ȳ.’ƒž =E¢^ÜŠŽ#ëX+®7!›Q_Æß'3"Òk«!,E)ÆoKZ„05!Ð¥çu苯;ý°ÄŠ À^¼!zAcOaªî ÁLÏ›ˆ†žI¨Ñû@)þúЀns¯ú^ÌY§Tx÷S¿¹@Òƒ‹ŸûK-kÃaXÀ—é _ù†Eø”ŽE:4Xm³õ*±‹Òää+œê`–O^‰¥%tv>û.kÕEö=·¡%Qœ¯P!Ú9 u(«pkÂåOU±¬UF…ÄGóíVrÄ;Wɱ)uª5Ê”fl–ÛLê`aÇŠÀDçqßTOè°Ö ¦/³O“Ý·á«|D  µšäÜn™Éwµ½Ý%°ðji}ßA”+–œõZ°é˜µ0<àà‡›ëØKNq0€Æ Ô-—dÓ¢¤³È›ïf|w[%Ýα–1 t‡@[0ŸsÚæ6|ƒCÕƒÍ *æ–ÌjβùÑ®HÓ*3¹Uå×-7Ì¦ä«Ø²+¬#(N¦þ¯ë–Ì?†aAŠ+€& ``hó)t#º|jBs‰v³Åذ«ÑÒ´¼cŽ!,ò_jærT˜gõ9#JC•á­v°ÀÿwÖw]·Œò™€Ï¢†Ý%[u]\ëK5ñœ0E÷Øü¹*# · ‰‘Ô¿}Œt ‰ï”m”ôÁg¥£3´1×ðÇHròÒá:ýxéàŒÝC:àA(åPšÄa®_4lôÏÕ-ïeéf`uºc;–Põ¥a¬¥£•xRUCÓJ‹ŠšYïU7fÙ:]H³ÚÚñKTEMG-oBøÍOb¿RDHíÉçt%à+(¶w¸ý§Ò<6W%!Âa]´iï7cI©¢ «íxø¿¸CþU}‡\ü±ë>Mà® w´§“ ±±…MÔ¹­šÕ. ~ªr}Ê V>Ü!ù Z6GFž“R;gbpP€uN)Î«Æ œd'¢¢<¯*?( êÌj¤Î:¬Ü–î¹æ?Æt,j/$ Zê<‘zØìrÌRus†]ðÜ\¬½(_âó߀À`hkLózÀ &sq'Ï7€Ÿ2ÚE+õeAeEgç‚Ì'~7ÏeÈW†Œ«ÖJÉ~) X›¼Î¥ÎíÕÌžUe±Ïœ5m”äÖ¸K>͉¯ÛXŽ 1e²!Z:n|Ö•dÂà^†¬ËDZVÈépδz‰16d‚µœë(7¿©ikµÖ¿ÓÍV¯­Ž“1lf7Z¨¢ ÜË“§2Çä)ºN®rcÈw}uÚN/[TïëùËSè¿+ÓÛÞ½X“ï/þ´åó¦0¬4<¯·´kÁàçqÖŠ„Ò¹Ùz®É€Å·à#²­ÆÝßûc˜U§»:/ù@B@VE%Îëfh3<Ø‚EPÂÄ*Í pPužQÅþwV>yHÙîã0Òg¸«cÍkê‡É55h¯ß“X`]‡àçº2)a."µaø†-ϪºÃñ‘{lù*Ô[5V’@´UånœÏ{rE‰Ï9ç™gqñÃtñ÷½ë”8žŠZ¹€ÊxÖ㆔)^’,.qwË –ªfo½À:•‡¿ÏËü*å‚ß©¾“ T+fûÛ:·@?]žÜn=­ª©¨—'[‹R£ªK_2Õ‡­¼²]œ<¦•©,ÔÎ5w뽌¥¢óYµK ž×vêÂBà í݈U ü‹µKd&m8˜à1UUõ#ÕŽ”Q|í„Ä”³È”ª»¥1Öv¾§ ©áú_n»ãcèÆªLýWG%pèÙWñ NŽÙÊ$©æfÅ ö'U¨žÁÆòŽ2õ%­P¼0Æý.ª X¿ãXÔ ÇÓ€ý3* ¨íçzaíÓ?†ý0åšETâ´/s¦"„†Qóš5•c!º±a§ß†î…¨Ð—º¢ýc?‡G×NŽO‚Œ@˜¸x2jÕ†UXII\ ~v+4Dž>±@„V>€“åú ú¥ZÏ›js¼÷@û¸g ª‡‡\´Fèá ûÈUø3x̧Ã)óþóUnµ3_ü”'‰¸BQfT«Ï×®Ší!=hóšj&B7ö-s?ÓO}h„egñQ’¸!¨ ×FFˆ¦¦T¢–‡8WIC _‰Ïî\¤½*ŠÄiqGQ$ΜU*riÅæÊèX¦6Î߬‰ ±$°?TN¢h, ž ’¢Il‹jn›<®9©ˆÚv´=¼¹îŠpU¥Î"ùªzß#¼MŽ‹M«¬5ªDÂr’ÎÃðiÊJÒÞ…o ¬# "´ÏV±]y9SÚ÷§ë8 ÞB4s—BŽÇwAé:¤¨JVÄÿ]MÔ :nðÕÑ2õ™d^ŽÖúÒ­e¡J(f\ìnëS’Ã%EœX}CÛШ<)ˆZú>¯Ï¢·²ÈÉöcî`N~(´mT¾È}•AZ40…Ù@Œ‘)!§á¾& Þ•ÚÐïΖ@™íº¢ô÷y:´âEÄ ÝÆ)»ê)µDåß…E®ÍV)à† ] ¾¼²˜1Åšš¸NÙ„3%Æ…rox å]U2rÁ‡V†q®EK­o½Ô+¨9H]§|ñæž;„kËÀœìæÒøý,7¨Òb¨âÄv`ÊRû4 kY›PJ´B4‚óZI@²V§O—OÊtÝb˱'¬Žºg¹5¦Òà +—ä †'OÛ!æOW[ëÃl tj4 ŠÃi³ú´0ÆSB’KìS© €æ8Ìd××ÁZ^¬¶ªTÅ ˜%ÕÏ á‘ìšØ ÆóU•Nꢪr(™D=aÑçpH${ Ç,_#ER3[ašÎdöUE›! ŸÜçY£ï‹HEÝœã³ivçK£“SãøßĺìŽÓ¹Däf&te7+i¾žçP­¤DË+Üýêpch ¬Ïôfj6†YÃD_GÓ£tfzŠo\#J5×ÃÏ^ôúÐSx^ëh¼ù0ãà1Nãë«Ð?X ~æ’ÖM¡ldÙ}ÚŽOüÄÜÙ\_¦'•zÞ‡œ÷ 3ÔEm«ˆKcÙ™¥ˆKSm|ˆ¸4–ù²f<:(YB?véX‚þBôÃýýýiÈ­lë‹:»¢0}HÖ. @aVÂøëÛH@›ˆßPEynSÖÞÆù¬sVóÜäzŒÜ>"Sæí͈ä-?øT@¥t§}¤HVtí¼m 7Jø¿L¸÷ 6 Wr¤÷EÌ*Ľ2ÆZÔÇ]~ÂQ—¸ƒÿe«Â­#Ïsý•¢™Oa¦Ýj»ÐÏœá9Ê<“èÙ÷S$kÈÃc.OÁsÅÒ‰lä8¼Ú’•… 2 m¼åGnÙ»{§êBG`#è¬>kéow  †LGL°â¬Š[k • ßÛ8SvÖÕùô:ïL}wk|ãé,)%›ðÐç`©7+ï (‚E GV*¶ª‚9’üLˆO9kR^“›TSÊ™G7¥WàØ_Á[QOð<Äg°Ü¡ûK„tI÷Õ§œ½N‰M×ñõa§!±nÁPÞ®ÓÈ‘§?EÔH–À³ÔL? ò­íˆùçRŠâêÇÄ‹‚‡]]ñ° 13=GÁäÚ¶Zù¼ǰêu2¾ÑÖÕHoïÁå8î=Î8W.Q)ÀöC|4a¿®”ZˆÄHnЗ8Yí¯™ØÚ×-ãÛ0†X+8½®Š8ôæ›ÛìEº|!ô|ôo°ŠËåþH>vÈ+Q1OÖ½|§’˜r_á@7(•$’œÄÙß#E¨¯'#Á}¢ÉµBÖQ)º ‚ZSm>“;³YB8z¿ÃŸ˜Ýâ~£oñóáÈÏÑ_Ûæß8oЏO‹/tó€Úü'}q$Ë¢•Å)qÑjÛgÃieð~ÇbÈ­Cvô/DëxHRD=‡Cóibg>A sÕþ1óôë4öV”dôó¦äêNMéì"u~ˆ)péÓµ$BpƒGŒ0©ïš?úÍ<µ¾¶é!„@o3hVÌÔ×pþÚ1¢Š.ÇÔ(ìÖ1£Ó ’¤T¤haDNÛþ+æH)Ø™æ$ìÚnwtJqM½.qÿ|Oýº^_ÊCÂS­´o᪻ ~H¬W®v†Ü7Ò‰.H‘ªKDm,)¢0KÚh£,Æù\‘ËùòÖÙö, Û1RÅ<삌*ÀòËÉñ{ˆŽU¨Ü—…—Á¿ GqM&«\bëÒYçŒÚ_ùq2|¬\ž§14ÛŠqZQ„.;Š"Çé˜zºXs  ξ _Ãüɧ ï$×We±¸ŒÌ4¸©2HKJÑ"fç˜Ë3™Ÿ—ö}qÒ•’&ßF5ûãõn?¼Ÿ¯ÒÉÙ!ÓÔÅ£ÇüŽ4ó2eN#ŸxÃ|š”,Þr²Í7”²&¤ÈqéÛ7“í¢l+S\>µ}ßäÛ¨6šÇ ª•÷ÐM'|®Ið‰wAI¤õM˜ÁÇS¶Ÿ6.S8„õ;ž™’ÙÆ.›‘ù>ñ|!×*× ù‹ç_‡9ƒg{ݼ¸YŠÁ2?p]Þ‰[Ù.~ûrz°(:oÀ«vÒ§Ã>/÷åY z‚R(ðíï‡'3òºw&0~bíúfX,—ìùoá†36ós)šBC@¼ëºG%5o™Òùòé&ei´Òk.ó¸Óày_Z÷µU˜_sX4y •øHBÁ`vësVÔË•‚`6.-O Öî¡„öu¹w#™#~Ò»ÉRfS/6Wêæ² àµ%™7˪¾G?ޝÚÀ‘[Ç¥¼±!ãÈìê³».šÃg®r×EµàÛàù±XBü~ã …rz¾yàü6ÍüWõ>Þ‰ï:«¦™œËO°ˆÜ…Ï+‚ ðrl¾º~–HQIl¢<4¶¾TŽó‡ŠË4°Òl>†T¥ÚNZp¦¬SÌä4Fµ´ßïCén’‰]аjD¸¯Ü¤-ý‹¶ÖnéäTµôÐ\ø‚K°ƒŽ'ƒØ»nÅ¡ûÎYõ:mé«'ÖÕ±þýÖìÁ!¶q½feÏè=˜ròˆ¾t5T£…ÖÝ ² ¡Öц6å|eîz"™]"Cý·‹ÿxWHËendstream endobj 409 0 obj << /Filter /FlateDecode /Length 182 >> stream xœ]½ƒ …wž‚7-‹‰a±‹C›¦í \ ƒ@‡¾}áª:œ“|pÎeÃx½Ë”=RÐ/ÈÔ:o¬aKè³ó¤i©q:„® n*¾?h)»ó]-Àž¢íð©Ù›t0°F¥!)?é9—½µ’€7_bo˜ìQyi$Šóâ¤B¢8/^°“¨‚]E%Q?ÇÔ=5ñê-%ðÏÂØ5­óð»<†X»hùÔ\òendstream endobj 410 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 560 >> stream xœU]H“aÇŸÇw¾ïÒ¡åX‚­íI̹ņ&ÝHÌd(~1¿V[Ò>›ÛÚ«M sHñ¬–‚Vz«1_vQ‘u]åU]­«‚óŒw`7EüáÀùsÎÿüFš2„1®îîqË×ýÉ–f»SN„­v3c;)Ðtq§è,§:ê4¯Ù›ðƒ¾jè<ŠŒGÂÉvy|zrìZô&9ÛÜÜj·ózž¦‰ÓAºüÁ¸œº#þdˆt9z¤WNqsŒ4ÉIGý‰‘#d0ì!Cîâr÷ õXÿ#ýíBš‹]-F6tÕ rþÒ  ZÃÜ ëUÂÄ/DVP0XÀÈjÁ"wà‡ÆUÔ˦’Ó¨TP‘µ‹p lP 1³jɨŠg‡ã£^Wë^ªUYÅ/ôûT¾ã•籋:´U8gü_/0ËqEù ¨Hy+½Âe¥¬Ö"¿!ú¤\vnsíÑÜ<ß/sO ôæ3°¶m²¥fìPÆZý.[+ê Š?GCt˜‡xCN•îJS´¾év,»œ0é›èöÊ[³þ»««1“> NŽ´}ó‚u??ü6³©Š}åt÷•Ï) ³P)°9ÎGØ®ô’.N¤Ð{s¦6w½Eµ)ßsñ)}Ÿù¸¢--«fŸ´•ݧy®}ºÅAÓK¬ÿ Œ¾X\• +MšAYwd=›Íd>Ê,,l|Òéú?lîÖendstream endobj 411 0 obj << /Filter /FlateDecode /Length 3766 >> stream xœí[k#Gýîß¡V„”vÀM½%((‘ ÒHfç{¼±½ÙI„øíœ[îªv{<3;ð¡H™™ê[U÷yêÜêÞoÖñ†ÑéçëÍŒ5·³og<Œ6éÇëMó›‹ÙϾT4Òyæysq3‹Sxãxcµí¼ÔÍÅfÖr6¿øÂNUÂÎvFÓ”‹«Ù«öÓõõ|Á:¦wƵ÷_¬îç )eǘkÿ4w¢óNʶÚíWÛ;’ÂC#[1ÿëÅïgŸ\Ìþ}4UαNÈF)ìË|#”¦ÉÍîºùss÷ aÜÛÆwZXïJ˸b¶±ÜwJ(2ïUû=tàZt:4At4Í‚wLX+ÉÄö_ä )LnÊ÷Ñ=‚›rKƒ_6Ñ?íO¢ÌH-§x¥“Ìý c:Ç´%ÕY£˜iðS+‚  Áà'DP4·{¨Å™®yK¡~ó œó»WÞvN7Æ[Óa›M?b×SÍzöÕŒ[DÒÚR*”R‚YŒBi ’†¥P©ö“ Y¥´àUì'Œê”ëG*)«TÒ*K¥’z(üƒsôa;ÇòFù΃ÿÛíæÍ\B9®MÛ51Y#D'¥‘1·G2|ÈS¡èP.ƒ-Â0Þ©Ê”^¨7% – ±üv°]" Y+´Gøå1KñœÿAïNeàÓCà³.oÉ:‹ÅnëT1ÎuðšSºó yÎygvœýf!çé/£Œîp¢ãÆÂÓµJ–¡vÞÍ„`¢ã®´[9Pe7—¨qéËlÐÞS•—.|$"œ(ƒ³îL;ô‚ÉIYлr:*×ÛI×Ó“ß=¼ùçj‘S  ¶B-ÿÒšy$(_¶ŸÝ®w¯¯ß.ç=¼ŒŸ&UJR{‰x«¢$óHU¸\ë”{¹pÓHYÃZ©&Ê¥úÂé—Ê…S¬tΟÇ0 Œì¼'­QHãÀ2{4J‚,¨ÒLºÇWm^ ¨ZÈg{«ªU¼“a¨.3G«q=æUÕê8•âTÑr¥+ç”í0¡t:Uða™ šiZ¯Œß‹dãiwŽ«69齪vjçV­“Iaž¡ªýì²½ÿ›xñ‚Ôº(X©D'Êze¹jmˆÛ”BiäyE–ÎZl°Èº¨±>‘‘©Ñš<À Ž%^‘™A(B‰ºô2ùïR$—A&BOóG9*¥ÁƒKè¯e„G­Æ¯JXNŒ{!IÞ»–ëcºÑ4ƒæÏ^¤g–)ÂYÁU´ðÙã8h”`ŠbhͰ“Aa«P}Óh%œ!Z Dô÷Å`XË»ÒZ.#ærË]'MQ~Fµ~{¬:å˱ϓ‹Þª&×x.TAQ¡‘Ü–£ë Huÿ²5­íy`™èáÒYSO!dçDjáÞP ¼5eçC'áOÙÀ!=ÊñÁTi@ ÐÓZ&@J‰±#Ú!!U¤8])Õ RŠF™.¤†‘BJ1FVRýH!e¤í`N!Õz²€)‰/’^ `¥e?RI¡'£Ò)¤ÒÈÓ¡Mr`#/“Ô«Ñ^Ä^8ƒöÊoQãƒ1ʱÐU–ÆôR½1½Ta epo6窓ÃYéhÙ|ïr&ä†Ü0žN°ãžªnÜöp@Ä€ 0–k/%€E ùX%P„QêòVÌ•&Vº:~ e{žÞ}aU¹ï½Jû¼GÇ®O~0 cLúÇCßù…ž‰ÒcSO +¸Ùÿ§¬Gè?Ô§Æ|êćúÌ#eƒkÊšB*©”[ýÝ,&ƒ× ” ¡Œ]½P?P %è„ò@)”kÊ…ÐÓù¦„:Í\Í®:)ìãˆ_Áðá^>áå'G(4#ãKŒ^ªF/Uãiö(§:Í(è¬S\Ž!UœGTqÜ¢öYSó”'càQ>b‚®D@m’Å4 \éPC›4x舌‘!¦qÄßÀÖj˜PZìå«Ô·(>©êÔ×XGɲŒ€°(ý*r/RÎ'½9Æ¿è¤÷‡¿Së<ý¸µ…C ¨šöö%éßy•1~ÚÛ …b×<ÝÜ|ºº};'UÌ·»kÔ²ÁÆ·òçó…â¨h¦Ú‹¯ ¡ ƒžÙèöªÞNÜ–qåb};´o õö–d¶š¹ÝÑ8:9oƒjÃúR‡Cõ¨Ð‰ê÷g_"ñKOX ½Ko >¼Y_ßoV÷Æ·µÏ4º'+]~I³ý;”¡;δߜ²ûuüC{D¼=ìŠ)ˆ¼Ç”¯OMÙeZE{v-Wwóaµ8Éc„…‘Ñ1µŸ£$Ž”öûù¤Át,m²ø œ}‰=oVø±á—óŸ’é I×S_p¤qBÃÍöêz=_h¡Û_†1%mS{ 3§Kïä­å]ô3!ÁŽÎUæ©*bwº2+TB®ˆA-ÙŠjqåè÷¼6–R/Ú}‘íœBë…lßí!¢á2fÚÃ(ha\‰å¿mL Ïx×UR«*|w1fØe!Á«ÉûÃj³¬ó:è%²c£NWiº’Gº›­vÁ3 !q&°cdTôHÖÒ‚J´Û2jT ãI+cÓµ¥6¯Ë×é ¦-Ò˜µÒ¶­MÚÍC(pxµßÍ)çír½ï&YRŸSéâóY»X,æÍzC>Ÿ]|üªýju{·ºé†¤xtÙÿ<ö´1¯1•a"½p´Uš »Ð2¥IûQzg[m¯;+OYÚ~üñÇùÍe½í8NéÖ©·bdôäJè4ÀËø9•Œ×½JÓ7-ˆä×ѤҴFÈY#õY'M.S;òq>Òï£Ð°YwR¡AéG)tÂA‚~Ul>2ñ£ÉŒŽòiѰäBhKÚ4„)̇mL¼´ /®éFô¨kø“.N:Ù~u¸ê2jêö“ÝŽŽÒ ›? z}·\¿½žüawÙþêŸ?ü3é¢Þ΋¸]ÝÝõ“QØ\$<]'Y /yCežµRQÂðð\ŶÂ9éÂ^TÀ÷ó…‘Œò¯¥WöÂÐ]î «¬KÂSžFð?«U–pí/Äõ‚›¬ 5šk¿€‰þ=ÂBKn S Qntvž ›ÁÎù°H³±‹Hht‚þÈÞVçÿ‡žÿ-èy䧉èfÁû¸rêz& (‘•ÏìÂlÊ74Ã!E»ž÷òømЀ€l*Òq¨©[ÀJxfXÑk}ÔF„˜;¢Ia”îÅÚ tÑ}:?Ü^èNÐmúóÛ ÒžÔiç—]֪⣇}š XN>‰zŸ˜³Œ4»[ñcF¾Î²ÏaÄûÄVÁkéåg}Ò½[AYìªd[ÎínW%ÉþMrèˆÖ–ÎZ•ôõ–†ÞÞŒ~<)6H%•IqŒReóuÜmî*Œ³zĉÁ„é D8™êiÐTÂ}Z’ëövõ]lcŒ«—äÑ&¬î²ûüTóßÏ鯾⑺Ù=õCHéxfßž7#²¿yú‡•( ä”+×{TE?§ÚÏɪ±Ã—½¹¦Mfx u$ªÝWYxì5L•ªFå!Mg*ÁLJûÝ ÄÉn,ä6Ò*˜RÓªŠtÚíiæÂ•È&µ˜N=pã²&ùü¼ù€Ñ´Žy~V?¦Õ£-bzNkÊdiR^‹·7IgØu„ËAgù­vÅ L\ô¸­OÛ2®é¡ÚKÀ=äí&ª—Æ…?±µk¿-ërYÆ|·<A”ð¡JßÝfŠïnc’‚á25}AÔ)‘ï¹ò‡´u zâƒÌôgU€çѵ“‡˜Pu¦ìÖË7±ý÷@ô„Ùô¡24þa”9Ŭm— ŸwÖYê:è®Z¥òø5JÝÐ7ˆ©  øgß:ËCƒ/ß‚”æGeS%AŠp[Š(¦n>ÒªÔ¯-wý=&å“:IyÀÐ6Û¤²«L6)Î#0 K)[ƒaØØèü˜ÝWy¾NAçqXPù¹€¡ T•é«”]|üå{ß/Þ{;$y[B[u¿uXm‹Jœ*%éL.†O?ÿË_Þ®77«ûË6¾É—†õZŒî=‡ë9ÊS-Ž=D+©šo×ëTY`¼ïÆÜD‰˜ü5"n6iG®¬ÈÕ£Eé%t¸|³áø©”&‘@-1ð ©Sµ³ëL.×ù~RÁ©[SÚLËêügÚ]qŽÞ&¯>î»·ó±2 ìÜ%=J8ÂÑå8åFò¨ƒ¡$Ca/w·e{Rw±j Y7ÙOYÞqárCuw½?\_Me‹¤#§O–“©Øä(¦25u-Ò-‡,NïU(ÔZ“ ©„Ú:¾7ãJeœBQ– nÂ(7¾²8ÓÊ<ž±If”´‰šk`Îö¤â­±46žÜac ,MV#Ø[¾žçþéë$¢U{»Û¾­Õ?¹Œ|yªQÉ[  =÷vE ê73^üc²Ñ«züˆ" EïkµQÀüÖ$ ½ãq6 õøh¢q¦l€Û] ÆK“×K’w;ªƒp&pâ|¶Òî4L×GÁn3ñrjxSÕŽ2+(¡ŠÓû[ƒuÖÙ´8„vôï¡‚Í=å.^¹ãDŽ>R€Á‚pj^­”G©¤¤>ŸôÑkÿ.àñy‹XL$Úpú-Â圚áÃjõâu•ZcÅè«\9µUyê”cyþ±˜q˜Ð"UÓnÔ"Ñë%*p·ˆuèÚïVW§à*oåc¹Òê8}—iØé*(ËÍôäv½Ú"”÷D02ÚOÃ?‰ó)þV–@6ÔˆUƒŒnL•ù‡êñU\<ðX’öáÇmDÜt‹RÿC¿Íï23œ~‘‹!úÔ¸ÎÇЫp9Ôæ/³§\QÏ;ûÀQˆ®¡}‰d/8vBÍö]¤f¨‚möoù> <j:Z¢Ôþ:é§ýC°u°álÉšt¼ž‹endstream endobj 412 0 obj << /Filter /FlateDecode /Length 161 >> stream xœ]O1ƒ0 Üó ÿ Uê‚XèÂÐ µý@p”' aèïKtèp'Ùw'Ÿe×ßzv ä=¾(ul"-~H0ÒäXT5‡é˜ 㬃Ý]‡÷'l²ûüÐ3Éç¥ÞWÕBoh )jžH4Jµµ­ 6ÒíᬯmRgÿ©äh.qÞ\c$N¥ii’ 8¦ß3Á‡œ‚ â .iS1endstream endobj 413 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 317 >> stream xœcd`ab`ddôñõÍÏË74Ð JM/ÍI, ªüfü!ÃôC–¹»ûûñŸL¬Ý<ÌÝ<,ë¿oúž$ø=žÿ{Œ #cxz~s~AeQfzF‰‚‘±®.´THªTpÒSðJLÎÎ//ÎÎTHÌKQðÒóÕSðË/ f*häç)$¥f$æ¤)ä§)„¤F(„»+¸ù‡kê¡» Æ/,Í/I-ÎÌKÏIÕ+)6d```Tg`ìb`bdd ø¾†ïÇÂï˾ï*úžûØþ¬¸pÂ÷ã?nŠv.¬œWÒÍÑÆVÒUUÕYÂ!<¡ÛgŠWŸwOq{Ú¦nŽå½ëÈOeVè=ÐwhžÉ=S»'sð5Lûá<í»í´þil'¸.pËq±„äópnœ=±&ÌïŸÈÃÃÀ¹}vÂendstream endobj 414 0 obj << /Filter /FlateDecode /Length 7045 >> stream xœ­]ml·mþ¾¡E1ð§³Evrô.m: 6к ´€ã½ë½ÓîܵgçÆö)QgÎì}±$wÉ¡ø¢C="¥3“7óÖlfüÿ{w¸š7W?^ânøŸ»ÃæÓÛ«ß=p¶e.fsûýUb6Öæ­Íf“BÚ6·‡«o¦Oï¯oæí²É1O§ÓþÍ5’.™¹L»ëçÜv6vúüøêƒ*ŠÏyú ùí<Çé³ëŒ˜8÷ƒÞWjìqwmÁ[Òôº(ÎO_öÏZ¨ þËíŸ!Î\-w˜q”Õ귰ŠC4èy#+ƒI0k3ýÕrAó]Ól‚F0'“©¦f!¼-¾Jâö¡ ˆ×¢`Œ‚"óWI<£…&Ž€A¾ü7䎂VYÐLßá‚.Û蔬€’»†FW8B8ð´"â›hHp^Ù¨4æ°xÁÍKÖ°ˆcà ß"¦X›F•".e…*\‡Ò¶­éskb_ôLwTiŒMÐÕ„B•è¡.ò U¢Ç]EY¨´Â•&!>Š‚1ŠX §Á°CÅJ[ÒÅFÚZdÑ3­€E$6DC£« ,Ëzß%W—¯€W¥°4‰æ7kã€%ÿEãJ¶0“¹ãJ®k½­y¦®4 F¦Ah2¡`%c7c:¬$tUZÁJ“'EÃÅ€*¶5ª@¶CGÚQJ\ÀÙ†*•Ô¨"‚*¢@èjB¡ &°uU(pUR¡JEÁÅ€*1&7…*·ÙvT‰°Ã@ ÙV<Ó Ušc†hhtµ¡P%†Œi×5H*e‚H…)üys‘‡/‚ÀÀÞóLàåîûbqÇXŽë#ƒÀäÄa[ q}X-ñ“Ï_ÒpõéÕÇYX—1` qÛT,ß>ŸîÓzçßbzV†ö#`Ù¦»fè jëì Ä-a‹0ƒ*áh©„ë6k)á RàeZ'áh© †ÖI8ƒT „¦JŠ9ZªÀôŒÞ gÊyá½p””›=mZ]ªq´ž¹ Þ7Î Êè}ãh) KÔê'Ô8ƒ@ËР4Ž–r¶,¼Î -ÛÐ4Ž–Â]Øëvºq´"ÈÐ5Î íUãh©ˆû~B3H¥E÷Ô8Z \†ƒ“ÆQRïZõ+í¹`Ä…zÖžs÷ÐÄ êZµ9Bö™Mœ±®… ¶Ðw0«‹¬$`§Âº¬iºÚÀÂ]0k¢º9ؽl³!4ލ^t ñR4ŒqÜQz¾¸M´…ò¡1îü ¨§‹ÚØ6’ Bß| Ðru OGöMl4,SÀÒ¦ÀB s3Á4š`'šû, †jT€­Ð3áŠIHi+hÆ–+â*t—²¢„F“0¶K@ƒ`¼Ò tª6rÆbµUI¨4ŽD¢yÌTw´ðüo‡œ©{ç@ãÓc‹…5!Q…@€Ð År³IÀ¿¾( BW4‚9Ð9¥MW¦]P&*Ä ‘'YÁE–!!pS-¸yYZ^ÂIš‹'n3:@§Ó˜ù°ÿ… $ X,}Ù„³&’º. •\W dµ€„1»X{sQ&*#Ä ‘EÃE†§-ñ/¿è©5Nž±ñux^ƒ+O;@»ìjB#‹øÚ%À³¬0Y-|e€$Í£!·pbšþJ£¼x â!+C °f bœÃù 8ðØ#^R;:^ºà½’ìÃBƒÙÍ%æ¼Ò tµ#„c=´“›®Á@ú*D¢¼øÀŸ‹‹2| ¢Â",ñˆÁfO°(˜îŒ —g$2Â’B#`•„ÑÇͰoÑ-|Þéj½D—âDCÛ L‰ÈþPœ“±£ûõYÁh1Ñ]BŠƒÛ N ¡ÔDÆ¥S &1ñA@kŸž•>ZȪžÄ+ÃfK4ÿXÃ"ŠÊ†ˆG|e´ƒ¤1Ÿðäi¦Rb¤4¡*[›f "ø+._Rñ‘7‹xJ—¢Y½Y´¿ÍÍâ‹^ãõ –ÃÁ´pô%K¶¾]Ó¤„£¥ðÅ;( g‚b{Φ…£¤<‘éCua 2©Œ¾7Ž–2~P%œA _ʰƒs´^ Íúð½q´`8ðJJ8ƒüÜ Å-åí¼ð^8ƒTJ ï…£¥ðÖx¸iœA Ú‘á‚¡q´¾3z/-…ׯaxB¤ '‡”ÆÑRX\ŽÞ gJ‹«ëÆÑR°ubÆ ûÑè»p~ÝÅ¢K iåbQ½÷Ëwˆ‹›E¹ª»üâ/^ûyºZ¤+BKW‹|­7÷k¿åÍ"(êÕ_×ogÛnC”wñÏÂWš®Þ-Š9Û}ïW^þ ¸¤qµ¶¯d„9Ê‹Dí+"Õ¿“!Rú;Mª})£I©/e4©ö­Œ&¥¾•xë0ÕÓ'Ü4ïçy9§ÕåÚå”ÖBópÐt)íMëYÿÒuŸOžö˜}i}k·sðµ+ØîÐ2àËœ9o$N¡ï`ž2d%Ø„gGMƒÐ™ß¨Uœ#mB¢wr› ¦q{Ñ$šß¬aŒãŽ& Zk£i`ºšÀ€Å­cSñä?uLãv¢Iˆ×¢aˆ‚ÃÚKÈCKçx:òx7„çxgOZRJh0‹å9²Ì2‚ÎXA#«…»«Æ°ôÞY+*›n Òh@\ qQ4ŒAÔ'Å>^‡&lÀ =2á`“޳ƒøoMGœº „ÆùÌŽN¨›¾&e”¡« ÁœH_¶i "n‹¡›`°M‚cõ‘™€{JLغRdƒ™óƒïkbrbï ~×Å+$N¨§Ûô.€ovy¥@èj‚F0_'3›®“2v•Ä⃈¢`ŒbõT¸-E<› W?;'û­íˆb õRmµ3­¥I0^ˆ!SxN¤æª+y-¦ 4 ñQ4ŒQŒ€‚¤§p 1¢äj‹ÙÔäkËÝHz6@`  Ñ tµ¡!ÅGÊ.QàrM>1Qi("!N²‚1ŠQ s«›pãD”î€Q·¦ 0G£ŽŠõw< °Ø²Âüò£Ï]?Ó Oš„¸,Æ< ÉÖï6tN6Øë¶¥Àž+}±3­ð¤I0Z4 B'¾dî¨#çÔ%À„'…YL+@iâ¥hã%`>x(P´ÑÎ!«9xW¢.w&¢4Æ‹¦@èjB!J¨I×5@˜»¢žÈÇâ ŒCøÕÇï¬êÕŸnšÍ¼ á#Ï Ó™x7Pi .ˆDsš5ŒA¬ï–"P½’xkT ø¢mP2­m5¦€I2Ðã Ž¾ÓÐGƒÝ¬âdZÅÙ$ÄCÑ0„p·Þgþ®Z{ ¶lšÏÊy\¯%xX›UÒÎ}ôwKéÝüú­üöÝo´ïþ2|³ÁW¼ Æoý/MÇlýy:`%7?þ²;ížÙeXdLl¯o!5ót»œT7ÌÿÊã AæÙÇç:¸”0íŽM“ŸžŸŽ§ÅÓÔ¹q0š+Ó/â¹=OªMÍ4æ¯!^2«É ©ë9×øt>ëì=2¦®$ ĹYIì~}ò0'èõÙðš4˜1˜&2É ö–ä®H’,|OòšB?(¥ð £Ç9OçG²<¿.4n—LËb?.Ïþ÷þn [4'žŸ‘´Óß+öéüÑ—úí•¿]‡ˆ3§Ýã[õÓFKI«ñç…^˜¸x,õŒ¼3´¤ÑÔ"•Ÿ?Ô 1à”¯? ^íø(ä9„š¨Ò®@#ÊÀbw7ëÖ ß^4Æ9{j`JûŸOç{ Bˆ›J†ç|1U .1G¦Ÿö':Ø ø¸Ëõ—áù?Ȉ‚yáCZ.÷5€¨OP'è‰Uå°²à*ÉgH¯–Õi7<Úêõ»ãî0Ø^Á$•.îqÇáQÐ^†@€VeÁöºþ –ÉN× #›Ð`ÿë`Ū5¶ÝŸv_íþlÿó_r¡‚ñŸnºÄÃýé«§W÷ß*ÙßÉÇ~úéõþ´Ó?óŸ°}òéüäÛë¾ñäüqïwßüÕ‰ eúä€î}¢|úä üÉ­»ûNbÿì—Á Žžs›‘ÛÅæçgjíä¡×}«¯IXAœmD«Ë¯ƒNϬiv´*ýŒ¯Éä³­–dÒô<®‡!a†ì;+R ˽-4®—¬›_ýñ¢ø±&Z©Ç`y‘âøâp_2øÔæ%.Ê„y7~0†#³‹÷‰-”¼‚Û8Kvaá´?ì.ÎÇž÷ª9,«¡XàFXXÉ]H¼#xüñ˜Ïu%š„_J”‘_À¦ FÎË­ý3~è‡ò†”£Šˆ>}zÇ£‹yoD­ò‰ŸQnQ̇<sÉ}Ø~4]’û ‰C‹TÄ}|‚“ÈS‡]ÔZ’lÐ@-“ ï)R†"ïÄᙚjuz¨ºÑå4ògX¨`Ûîþ²t!MñuDõÕcÖÀ|¼9ß9ßžI­´p报â{%ƒ»‚-µ,^" ÉÇšè´)/§ª‘ —ˆ8ªß#_:1¼ "%ú¾Y,ŠEÕ0¢Öã/} Ó<&=̵i޶]ÿ~ÓŒ÷‰I¦y¬É»,Ö­ÏOì ÷phGLx*ÑÅ0cˆÎòú4ý"˜"´Ù™ÔïÅ·r‰v£œ+G&ø9Ôˆãît’øˆ•ûv4ØpùXþ5ôwþôßâÕ‚¡ÓÊ¡vÆž ZƒMhÿ äÝf¥/{fÄËód$Âðá›ëq#þL9ÞO·~B5×Ãßá(ñùtÜë¼ÒƒN{Ü`I»Ë5¹Ö%ÏÏÃIîÙ££!Ð7Ÿ¶öF»* îüh®§CjCçk`êO¥Ïfå”ê½ër, b-³æ1÷wæä²¢§öš}œ£t:o/™ks›ü‘–€‹Úzb'\UOT¹æÍ y7;»\ Mýʆ¶ì—<æm?µï'/ÈON |vÎëÒv‹Åù!¨:+NñevUÆ™}÷ v˜ÙTý§Ç'Ì;àú0ò;†êêKš3­Ž³Z§,®.ú ò岩ŒóeC!,«×Ý›>O€’‘ßU¦2<\Ž•LYí½Ÿ÷úéRzª)üL:(->¤ E;]îDøÐðNôÙ—ÿýÕׇo'(¼Ö6#¼ô·m7‚§V ƒÄç_v¸x,G<<ÌÚÏC}†È‡žþ]àDcB÷„QRÏ7ššä§‹`&«¨ŸEÀ…a€Ü€ý"Öë¹X'ïØ{*Yü¥³Ó»€ä’cu·q«É/Kr]°®âê¥#_Uì¸AËÙÚÖ®¸óÊU5‡5B[kJךlGÓîáa„™‡óÓz%?.èÝ©ý|¬\kÑmI:?oÀ›jØ^÷À>üж߆|`Ó¨“|Ùö¿·úàþy ¶Èendstream endobj 415 0 obj << /Filter /FlateDecode /Length 3376 >> stream xœ­ZÝܶ¿¡A±ðK¹é­*~Sî8váÂ.ãRðõA·»·V¬Ýu$Ù± y:CR"©ó9øÁ:-93ó›¡~Zå]åøÏÿ¿=^ä«ÃÅOÔ¾]ùÿ¶ÇÕ·Wz%ðMVä]]Ý^¸)teèJK\®®Ž„²õÕ0؈d°Ñ™’8åjwñš<«÷ëMžåÒP£ ùø²ú¸Þpγ<7äßkòÂpN’AM[O8 ~Tœ°õ¯þzT¬gÓ+Úˆ"T2ÔGžœ÷··Õ¶ÚŸºö1šÇL¦¸,VÊ3)ŒqV]“ç§nßl÷ïºëõzCs Ú)¹jöew„¹öa¿³ŠC^@Áœ€ Ëh¡éz#µ–lgR ;|#)Œ0é,/zßíÍ~ßÂ&A'ç[|¸|ò ~ÚÃÁûg°êÜ•µŸ˜3°½ÊöYøûŸïëúzýç° ÁÂÜWû¶Ú½‡éhÚ°‚W_¿¶ýÈB‚ªò´ÝƒŠÌ&°Mv &FÜ«‚ð\ff½Ú®‘|óüÉã @‚?ú­Lã‹ñÌ(A{»®Þ¬1„300xA³\‘ÆÇHZ kì(®i^÷Ñ ´‘ ½$“„šÍÙÆ¢÷n~®icÁ‡ƒ¡rÁXеÞ6ØÍîM¤©ìú(9¯aÙ…Ñù°f Œ2€uÝL“f‡" ©¤ZÜ¼àŒ´ö­š¼[opš4bþŒàB¹$UëŸ)Á”&™Ô&Öp8rÅ Òõ“©¡,]Ô°2ñjÙ•‹ŠJXƒSågK½0» §¥=ùØ» 6»í’Ÿ¢% Œ'ËL7 ¡`]Ò®W( XSqÍx¿Ã±ó:/Š ë_÷L!Àj·«eäg«"*³Ãᕊtç~ª&·‘ô³â9ˆqã1~ƒÖ£‹¦À7ïmH0£%%}­s3¬V'›Rµ]SÝ$çÃF™TàÚÎ޳NC…ÁPÁGh'a-£=užîî S Dº²ßÿºi!hŒ@ÏÉþ¼÷¦{m`E[â`©¾Z/hi˜JBÁžC…P$'1bßkšžüó›FO r>¥3Â0·(^p{pbŸ"ÇdÈÑ¡L’'QÑñùMVýÎ âÎöÎÓWјÉü]?¥AÕØ¥¥ºÊ­ÝX¾~ã§AÈÍlZ aÓz“1éð!jºgÖŸ9ÄSs~ý§*ÞÌCØšxÁŸ¾m¼ñË!Ñû€:ÖëÓO§AM&¤qŒ…¼r¤fÄ€à¼1Ýsš+T‘O.å ÄÈÉ(Ý‘Lç}&rÁTÅ‘u˜e7\eÒ‹ú¥ç Œ<Ù#s™Í£þ™"ä'YàŸ‘iM 2‡}ãØñQ Þ÷°.½Èsmu¬ê²ñ€}%ŬİQ1U`2Å4ªrN,Á˜‚ÓDa;Žt;HÍm¤NxXøè7òTÑœÙK8šýv_óôêâû ÇåªùR^,@¯æl%Ë4HŽ_“-EþÈIa¡U3øR“2žb]` ˜)ù¶L¥ƒ¾ Úš`#PÚ•±<Ï£µ}é¢hÎ2P±ƘQåu½ €Hè~HM\K$ª-DB|„†L1sIR¶­KP\k‹c’ƒÍA À)4㬂›Äçã9%g‹$£ê\ÎUxx¢?WIìZ„jXq7LjäbŒ“6£ºY8³r€W‹\ÔËQ¸ØðË8ƒWµ³˜·p–6N‚Gä”qáH<dzÃR“›eF\S“%×°;.ÆÅ€£J¨¬”j%žh8 äÏ$ñ!B"ÞŒòhˆ™6€”êïz™ÉZ/ ª‹j~Ób`™è R)â¹Æ|Ž~uÒ§ìÕ¾—*µó÷‰§ª¹$ ç¤ë¥Ž<{^Z@eƒ>ÂCoª™æz÷^ß]½Õm]öȈ*U=€²? 9 uäŽCõÁQÞé!p6`ù2‚çߪÊû\­$—”žÙ†ìù˜`äH9TÊÎåäS’“#ä6°^”.÷åLL›²n­ê‹ášñb%ÃÊÒ6P"÷PIz°D.…Êä· ¿æ"\E{/G7s‹7)€Æà\ÙšÜϯχªë§)Nˆkp¸–Á©õóá‹ÕnºbP³HåJ¤²ù4e˜&0žV¤³E`‚ìã¨T‹qR~Èhùoêõ¿7ÿKÜ/z üë ®Ú­=±¬Ðqªü !lèJ ‘T?Xô™1ÁT,÷5só S8û”ÑT<Æ2T˜“8JÙø<: ƒŠ>!ÁÝ\L〣>¦­øõÞ1-”´ó]L[iîŒi;ŽÛ„ ¢(`îË)¦íÊSŸéº^wìeS#GGÆ•í–ÏOÞî(Ï.°}×çÊÑÚ¦÷•ÀŠÁ4ƒ½Éõ gx¤£]òWs¬F_³Ž }£ûĆ Î dž\¹aõ0NÁEñîûÂH‹å¼šedF[ŽšnÆÐ]€ý¼ÈP£îB{‰ÄŸöäy´^gï±ÂÞPÊœ/˜«¬µëZ¼ˆ\kÃáË7É®„¤†'Õ!u÷^ã«¿…†÷;+_VŸá FßÔþË&üÞvûwÏêýGØ‘k²½©N»kòݾìÞà6ºò]Ž›ù›p!à†":¹7”üixü%<º^Àå\sÿàÛøˆF»½SIþúÏ^üçå«C}¼EkoK(ë?õf™0Ž“G°‹v.ƒÙ0i¿ Fà ÃmÊõúrhÐEv½ ÆDv±Çâ2ø÷Ôìß…¿¢aò2\rìÊ®œävì¦>oßîðë\ŸetõÀ‚‚Çáñë/zœÙ þ@bQ–x Y_z Ã\­ž–f)ò,ž;ææ|ãjQ. òãÒø¤jëüä‚:zz²ó†ó¹ž¬°½ëö|ì5„û‘ÿÞ‰aKíåÜì)tCÅèšjt§VÙ›X¨s¯–ZÌ}ysßsçIpóô«{Ç_iíÜx}h£Ž3š{z‹ð$%ÇÊÅ–BëÑ™ÆÃÉ…»;£~"‹ÏQU«:45ùgÚ¨lt¿0Áf\¾™ÁfkÐènu–ÿ¦­\Ð×ùÙôÞñàö`”‡ë™p¤÷‡eŠ«ég(î"[b–“'e]?^ÿaŒL‚BIÃã/ÓOsú|Ô“âaìÃñßIAxp,úׄùz¡ê^45þ6 ˆÆZz<ƒÐËDÙ3ß ¥™|ø.É9«Â»ÄaÚö|ú°¼Ý…Oz"’þ6‡@¦yŽ˜ú VŽùØœb¿ú6þãù“‘f9æ Àµ©Ô¨¿$³Âì7X¯~x,ÂA¹qó 54ã<7½†pgJQÝ¿ðFg¢7&Ï`rºg‘cø’5"X#kLÆ éÇÖ° ⤈u«L+;F “Ë…ç½u߸œ‹¼õE÷ø^'IðÉ•VüËÀH€&MŽ~{?—*£<Ü(+äÝY—¹Vî¸Mf/I€Ow帱”$ÁlÉ&mû̧×ÞIºT!TgT±{W!xm¦y¿Ê{ qÏÛiXú¾ Ç7u4³y:É&uòWªaÖGœÝ™rg¿èäÈ h_böÝK„ïklÛÎøGûcÜôþñ}T8 ØG-›C|˜’Ÿª‘:ÎZ£e¦ŠÞóäç7ÕöÍœã™Qç!ös,“ht<8½cƒ’K¹On6žÛ餲¥TúqDÿu­+7Ò}qÔ}!èWþNÚ‘@#5Óï|+fîÈ|ÑÙy€PÉäw|‡Y÷ ßÁ»Ä¡ÑÑf”8Fß4ö^Ÿ­-4,¿Òv‹áS3 «æó˜ä?o²\.xßI­ç.œ K[¥jð8\*~ñ 0¸endstream endobj 416 0 obj << /Filter /FlateDecode /Length 2724 >> stream xœµZmoãÆþ®¿Ð „]¥Ã}_mæÚ®H>ä NAA˲9ÊtH^ÎýíÙr—¢ +Nস»3³3ϼíò§ežÑeŽþÿþ¸È—w‹ŸÔ¾]úûãò›íâ«·ßdE^Ðåövá–Ð¥¡K-uVp¹Ü„ŠõöG˜lD2ÙèLI\²½Y¼#¯ëÃz“g¹4Ô(C¿«×Îy–ç†ükmXVÎI2©íªægÁ â„­ØþøPÃcF›ÀiÃef”rüÞþu½‘L Ur}èKËO2™å”“?oÆÁ®?<€pÇêqGö×ÕýÍŽüýPöﻫ°@’mÓ—µÿ™3²I¹©»õøæãã¶…Ñãá¾ì ùo¥ä Ú+»+Ê3) ¶Ü~»Ø~ùŽüi½ayQdEAŽÍÍÁ±& kyýí¿¿{{Wwä¶Ô»0ëjÜçÊf5¨MÕ`î•ßîĪ1Û‡²-°7?£#* >/7Ã&߯šãCFÁÊÙÝþfà,Tæî·Ô6ÃrFºÅûæp›íÈÄßþðÐ#|9ÖššI“ç9§ã^7,cB«ÂäÉ»‚*Î5c(,ÝA öáp3@<›3aD¡#*yÆÏsš¾ËM.´aÅÅÖÜïÈ7o^ *}]=þ‡{ô;#Å£»õó`ùŽþ0:04 õ‘'*3“žT3'²n߯1¾ Ø[ÁŽKˆ€ |È¾æšæ©~ç£`Á!’† SP­Hòþ>¢´²äzí@CÓ•ýߥɧ53Ä„ô„cs±g7 œíú ˆU¦˜tÙ`ð9›6R} Žy¥i£¼øDK‹f£ÅÜ„ÆÙ©`“øûdV•0qDÁr}箜£Û¨cˆ¢qëLD¾×štåq˜En£9M‹é·ˆpRÖµû^Pj§à±”„™lòøà¶)•$Íý9ü¸}ñ‚ãÆ%êer³A¦Yëçhþç_€Qƒñ?ůê°)S($r~Âi’ÀÅŠO¡HøÙùåƒF›õsoÐvF 2—3¨õBI ØäiXó—ŠqLà‰ç)HÐTV·`Ï(lÂ3©Áǘg¸¨Ô|^w{Z˜ H)z8M£S‰ñ„Â~¤NãLÙÙ:Æ.'Lb.ÈéMôåÙÉT¢ÙI’ŸB32a[9tÊ´Aî`Ëmu1EƒK*òEôºï–7ž%Øþ"oH½œ* d…cç— NÓýíã¥ÕëdÄ®ä[-ÓP• ßv™‹-Þäih9Ée DÕŒÔe{7É`0†¢G„—¦Ë”0ÏH!"’Oâ³ÐŸ ± À£ºa¦ç;«€Àó©ó²ç½Oaù¯@mŸ«Ødwž–‘3ÚÁ˜Ñ’žèv\4 oN“Àñ¢¼‚´ “#ǂҰ‰Dwg=¥õÅ#§ˆ™¤x„ Ê÷djʸ ¹qúì4ÓD`H~¥Éæà[B©OS•}±íö™ˆ ƒÂ¦¨Ô'ÔcŠç§®ÄÐÛú* BOó1b[}Ä®`luðòŠÔÓð t·)$n"÷¾Ê ÀUeZKsÆY –Uçõc²ü-®{¿š¦¨; lÃ|k”#PPœÉ;4ǺÖ+‘¬n]¾šÓ·„Æ^‹!]7>7p£Èçä÷Ñ֩Ж(3:kõ³sïi éœøXÞ”~' }‹˜ò)½é›;ðé°°÷­_£f’αFLßt“PYo‡h” öé>þQÕU_Í ­ærý†BÈs{ˆÜ‚ ê:1™¼G½[ê'9{LVåæþœkG¥[¶Þè§±û[{Ãç8]Z‚N BØ,HÀStjúcÙ~˜Ãr’¹ øH-ÖvS<’š_Bfk¨´¾¸Á9nzßx"`‚8ð™¸0³èóI'äSÕƒÚŸÈKüÒ‚¡ 2Ÿb“a¸SÂÉèPg>³’˜ ?CG!'Ï”I)9ÚÃÂír,¡ÿ)[º¼ iÇ×ÖLLrK]ÆŽ„ 0Ú5/] âú÷ÌIâjÁü.f´ï±Áu—}å%¥B³‘0Ôb¶¿²?ôÔ`u’ Úl¡œ# Ü³0§v2.†Ìø2×60«-©IÎ6^uP„’YpJfÁ‰S° 7Q×Uwg19A‰¯%Üz–+&&9ß6ä6¯Ó—#_=P’ÄÕ.™>äjN†3gqÚÿ…òäX>VG‡FpÔØÎGOÚµrã%…Ò;Šý^û«p._\Ú·É^±³çL Þ²Î(›qce¨Î¶ âF­O4×yêTΜØ>£Fl~ód™Ùs U ­C=–¼©I¤Ÿí©¡bE`Z“®À|cQb;y]Ý͸ºC?çÛÅ÷ wí"—í¥×-B(_^G\){Ôe«[ØkY©ª×“óAZÈ¿­3HtRÈ%xÚé. Õ œŽMn®œt1ý9Dx{€a}zöY†ì’ÿ xõiŠ^ú´›·3„mP¼8]}¼= °(T|±¤mµ„…€™xgkÍgÏ3<9@§«RÝ+<¾^ä§iÓ6}>ìðàpJ}7À À\”Õôù¤Æ-â½×1øº4UµAk<®XÎô%¨P<µéü¶¡ŒNHŸœÙ¬ÿ›V Ö^:Çö®Ôü¢ÖÑn¬éÓ©3¡Ñ—Õu¯™”CÍ8íë3wŽ6swxS|Ø‘}ý±›\Šž¹£“™fªîZÔ^Öa.H) ï(Ћ£¿ –$Í0ÍG)˜Ÿáý/¹ÐÓÂ*1-‘úê8©šPwuÇf èƒKücÞ€ÐuØC`[ˆó§9¥õ^m/×Nµ 6éŠäXÀ-½À§ç+¶µ+(;+ÉûX}ªá(tØÏ ½„IîÏß™yŽÅôŠÑ©R¥‚4I¦®öÍå*ô ²˜9ºöî'M¾SÃ`×6uˆÚ”ܵM|\"3ç3×(–¡œ–eÜkÌ{ñ̉âM t‘ÏÞ¾?´‡›jßGŸK<ýmËýáSøxdòA ³_•d·x‚¾;ýŽFÄ_¥ìwdõª¹G5®¢ï\Vþûƒ†'.ú½3“?øO*þ¸ÀZÆ“û°wWô,36ñ ‚N:ϨÎu!ó¹³dçîÛ [»|¿ø?·å€endstream endobj 417 0 obj << /Filter /FlateDecode /Length 3059 >> stream xœí\ËŽ¹Ýë²(̪¤+|9‹,œd ²ñ¤,Y´í¶[ŽdÙêNf>>‹\VñqHVKmÉ‚Lc0°ëèð—ä)òÀŸ;6ðŽùÿŸov+Ö½_}^ñ íÂovÝ‹ëÕ~²ŠÁ1Ç»ëw«¹ï„°ƒ°¼õ88©»ëÝêçþÅíúŠ L[ní6×þQŽœ¹þf}%¥ýËÃà‡™¤²¶ÿ½'©1Óÿ°¶þ/Üô‡M÷-”=lÞ¬Õ@¸±¿›_à¤êÿZØÜ#)þÇõÔ<ŰyÂÉa䎚xývÕs½¾þ°úËõêõŽ¥~QVÛ©N)*ÃõÓ®;Üvï>íFÁlç-Fg±¹sƒS²3NÒš¹Úïöï7»nÿ®û´¿¸=lö‡îÓa-X¿}óz³ÝPï)!ð>n ]G=,éüû¸ )X–ñsdY†q7¬ˆ,nÇ¡ Í@Á‘4_F¤€,¥©¦Yñ¬Ç2‹;êùÁ2=bb¹‘RÀQãÕ`Ý”W=¥,ó ÍÆ‘;%ù ôŒ >X-gT :p¹!®J“#p¹¸ÔzBuŠËÅ  —jBÜ)/cžiš´@æi®¨³D‘yÀJ°|ªe~„ßCž%!™-“œg@JHf}Ù¸pªŠ4ÔnZ9œ žFf}Å!h¤1=ŒôJzPø`ðÁÆ2–‘åE /Ÿs‡&pAÏFÒø 9è´r=²^¥|Žæ9%$å•pÅœ¢øŠÓÊG-sƒÌ3S6Hz•å4miÑ<Ü®^¬hÜG>[²´ëÁn#KùÅ_5±*–vfçüHùb°~ HUj»º›‚UD fiF0E[¤ ?«ˆ>)½®F H~扲¦4.vÛ¤.‚ÕDŸø~S1X‹4áç`DÄHbdƒ,ʵ‰a*VmN²À¯~óhSÂÆJešI‡6ávMrm—ªTì䊸krp»„4áï–Òw7'ª³ðxð»çÿ­åø…æ#ËõɵžVëW°)Üÿ!½“QÝ¢œ%eªia_xÛôËË'š&îYì7I;Ð6FŸ¸KÚ9IH#H·‹y—üÓ~÷iM_´˜~è8îx_¡ÛŽ4‚¤}K ´MMHÕÑNòX –£MÔ±’YÒ×Ý ìͰ'Q&‘•`št#êõŒdÖ©qjÅŒÐ~vûzÛAÑ; 1TÊ‚˜™$Ë¢˜™ 1»4XB@©…nVB€ºX ɬØÍ™•`…nVB€ºX É,Ÿ¾‚„ó ÕyBMh¯*q™’f¤/Þe¡&´bþõRDß¡¤µe˜µÂÐWî;b4jðÊ5¯s-RŠk_Å£X–ªÇ¸€4Ñç`Ñ" µÄ¶. Mø9ØDØqœU;z‹Ô¥B°šè‡¾“ŠÍniÂÏÁ*"“‚îO H~扲•Ó~Âei.•¤OÒF™—ú>úh~švÊúUô­öœs¿õœÛÕùµ]ª21TÉÛ5I¸]BêàwKéëWJC›ŽÒÒD¿»X­^ð«ábµv:ЙjM85Xû¨Z3œÔšøJjí  m×RM*¬Œd½£Irª(#À"%á'°,E£(‹X –¡žRE¬„Ë11 ˆL(ºÐ ÉÂ"¶'³2¬Ð`%X¡=ÀJ°B{€•`Í R2çËÕ¨$]¨¼æY:Z£Ée5jhZV£S™Bj&D¹«hfü j!´+2'œ2GV>eŽ, dï“xêB­Uj:s‘×$)ýdÿý8ýï¥Év£e¿»9üsrËØ±*úby’ÌS„RîÌ~g Í£AXw©3æ¸#F*G ¶©%•˜µj4!dRäm™1=áÏÁ‚R° $N|FJ0 dNðeáFCPúƒŒì'‰HÁÒŽùÏJ`¤`Y h‘‚E‹è ŠXA–ä¤îGôèD¤` úM¡G'"g»a“ƒ]ôÂè§{a´ý:^ªé”;@$õ•)’X –Ï3 Ìð{È2 $$³BžeR€ò H ɬó¼0ÜÒ"ûmœ0ù²3Vü,LžIу3©vÀÄߊÙÊÿRpÒwj<f€:RÅ ·ü0ÏÃU}®ÝR•ª¼,\ÕCÑiÂÞœP´Ešð…7!\Õgb‹Ô¥*o NÖ"Møì €HáŽʵ©¼õh?ÑÿòœnÏévIºùE>´G£¤‰]|Zž€Ç­¯Í•cEJú|¢ô½Ø±òx  +~S´b|ªcå¢n;ÒˆìXÉJ1('ƒK"“"€¤`’Ȥ)z$)H ‰LŠ’‚C"“"¤ó½*R”Æã·ôª€FJ(©ÐÅÀJ°B+!™;9³2¬ÐËÀJ°B7+!™…7’gIªèUÉ«Oôª,Iªè¨w¦É7 â| XÐÂ=>,_-Rª|+\ãCÉi¢¾\P´Ešð…o:.\ãgb‹Ô¥*ß ×ø¬Ešð…o‚—m‘&|á¨G|ºî)*µ¨Aá¯ìMõ4Ÿ ŒØ”&c“8R•Š#öœ–ÏiyNZ^¤N¯ÎÕ2~±¨:èBcÉ#¢ê1cÉEÝvTTE“EÖ&m=‰”$‹E&EIÁa‘I@R0XdR4,2'<£î Mý?!yÿmɬŒ+4X Vh °¬Ð`%Xsƒ€Ì9ßR²pBõu %yЦ TC‰•Žj Žj+Õ&Õ&V:ªM,8ª¬|TYxT›Xé¨6±à¨ïÏ’ŒÑR’;)ZJ–$c¼°?v,2]Å[Êã ûñs“xu ÷ß¹b HUªºp‡`ázжH¾¸p‡`áþжHUªºp‡`áжH¾¸p‡`óý:”l€&xqá¡Âý7m‘ªTuáþ…‡pÏÙöœm_!Û²½жHþò3¸Ó+sµ„_,OºÐÞqL..Ø;.ê¶£rñ {§ºóh^]²wH¿޽ù~}e´ÿêÔ_äñðÅ™Yðxø¸ˆ©ø¢ÇÃÿô$=Íã!™¼Ôã1UXžòxx–â­«bê-uÊãáù+Ÿ§Ö:ѧ×OðxvZÎPh¹6®Ä7‡·å¿IråŦÍÿ¤ÛãÕê¿õé…endstream endobj 418 0 obj << /Filter /FlateDecode /Length 1751 >> stream xœµXKoÛF¾ë7…¼2B†ûÞ-Šmš-Z M„^,hIvØJ¦CÒ±äÇwöEîR”’ (|°´;ofg¾Õûy‘ãyaþüÿõ~VÌofïgØ®Îý¿õ~þÓröü 3+¹.4ž/¯gNÏžK.sMù|¹Ÿ!,Ë¿AX±DXÉ\p£²ÜÌ.Ð/»í"+ò‚+¬„BT‹ŒRš…B-ɵ¢%BM[Õ·F 6Edq¹üÍø±Ÿ,8ʘÎæÄøCß½¬÷w91ÀÏÁÜ<Ã4çL)»}ñ _š½,ÙÔÄaÅ‹Œž˜ £9¨ç܈Aпϖç€'“cÌ´#Ô”‘ó@èâì+p¸Í1Ž)ÇŠ}“\hÍ}®Ò$*—š X7\EÐÕ6 F0z2 ¯ª¯Æ)„®5êÊêÖœŒ˜U ç¦)A~•ÀÇ£kÖ êÞEº[ëìSô]¦`²óg­)œ7ÚxÏ õaÁ9*w÷V˜kHGZ­u„®#c>[LDƒlHå¨;<„äTZoÓ9hÀ)ƒ¸xîLÕÙ„3I´wg ¬R ùMŒSÔÔ 8v­ EíàmŠÊÛÈýÆ­›x ]-¼è¡‚ìõ{>“N§Ï¤õd9JNÕ¸ï‚Ad, ÇÖ—«€¾)%&ñ69˜´Ë»Ö÷ ¦¨¾v]«Ùá!›fæÝEК[ ºZǧßÁN57.L'yAËf[vûímçø+šÎú27Môæ…is¶]m»òjW¯ÿÙ6ëÂÏü–öú¯]NÑ9VÄ;À¾KPïZ߃…@˺+wö+z X·M´Õ`¬gÁܘ|¨¦]d¤Ð!ªaóÂ,ƒæÒàD/ëÛ®©wÖœ¥:ˆÅÚjRÛÂÙn|¨£tޏ"NãuÍ»YÙt¯I2û²dÊK’iÙ A|€–ÆÓïÔ¥/æLîÔ/ð³ËÁ/\r²š™Žù<;àV{.ð 22I4ILîM~–‡qß…?B|úRs=åY0ÔŒ‰`èÆhc[Äžaœz¹{‚ª4¤ÂtLÙ­‘§Ö›éf«ËåA;[DÀ@ûÚ|†Hù ÖÙ…PÌè;sn`*¢nÛ*fßÝÖ‹IîÏâ`<¡õø ˆÉsûîéº'¹q¥±i¶P¿+œkY$=D¡ÃÔòð.¥,“¢% x9Q\w³_Œ¹Ï‹: u—j1"ò®Ú—Ý1þ´ @ =A 똻ÃáAM&œþmB¿URP·n Ô€6´Ž Eߤ‘ž,Hs]@oø£5ßøaØÆ2“éèf>—Í&¨óãÕ÷¡*Ó"@-°áÔ^»cÑÌ Ð+0?œž0,8ƒ`ti[0lT‚u“VA{çÒNôرتxã&äŒ%÷gæÆ= ºòa aÐͯGý5H”müubˆy£6EG·g“°BÙ¹ ­&F<£ ñ$z Iø®\Ìt!Ü%\6Á’ iâvf2…66´RÆ>’iÃ` ˜Gß<Θ0ÉvЩ>œ©¬ŒBI’¾iƒÔX{"#ôäµ1Jtm›a—aî¦&eª=ö_wÁ‡aÝ––À©dèëƒ%P§@n@JUê¥R=55š‰o&;nÛr=¼7(eöøbù2öÂÃOL”uM{ÌjB]é0M3Ûz,¡ð{ó‘½–±¥§ :»}e¸à9C÷£"‰¹Ú ­ý̬SX zÿÙ{rè¹É ׇêÖeÏ8ŒŽ¯ãc­Ü¬ß±ÚpO¾Ë¢8» NUaWóo;Ø.?1JãN~ò0²ÄYÿ@_¡_Í€¿ÞÞuö #6‚‰‹K 3nçl; ª0=T‡•$'Û ‹©I´=„¹½¼ÀaPÂ¥ƒOM”"&f_Í™–tð"À¥Pô?XHüôP°ÏƒŠüUƒ²,ƒ“3zo«›Ûê:­ëͶýÞj „ž¿!X&/œ3~PBgþ7§¤:x.‰ÐÜ‹VhlÈ=»Nر®¨Ÿmªð¤%à ¸º¾ Ò4¢ÄßqH}ô¦F'-A« ÊOZ!š4cd¦_•#þ_ Îò£€Ð_èH‚ˆùÈ€6àÙ$á8yoÔš„ÁR4óÌý̧Æ?8¦\Æòÿ‹š^-gÂß¿ÃÜœendstream endobj 419 0 obj << /Filter /FlateDecode /Length 1937 >> stream xœíX[Û6~è›ÿÂ…QŽTÞE.²š4)Z$E›ø¡À¸(=ÑÖ—©¤\ùå}è9¤(‘²ì$ú²Xøa4ä¹_>ò)ÍÙ”â¯ý»ÚMèôzòÇ„¹Õiûgµ›ÞO¾zl$¬ä–Z6o&ž…M9797lZ¨"·BMç»É%¹»že4§Ê0£ išr?ÃEÁ¨%ËY&„È)ãä»ê¯hÃ)+!H$sJ5y03øÁ4©ÊDîUÄ[•« ¸-È3¯À I& euÌ¿Î÷$ÝãVä³àâüjBX1›ÿC cšLJ6Í„ÊÖHvIäû}³®Vë›f1+˜¢$ã9—….Ì,cªPÔJÅ ›eŠËÜI2ióBÆ+wðSAˆîuÆô d"WÒòéüád~û’Ì«õ²Ù­÷ûX_µüVð™kn-íuj,š@A™µ BjY¯GçÔªuF•ÓQ¢ÖEcnݾ}»³I½Û¢˜ò‹ $˲Ù-Ç÷¤¼Þ—›¼·fu¸Z×ÿv„ÑW9+’òc¹Tеù¹5–•\[Õ’ Žh(¨È™áçä8U"”ÅR•å*´ü “Æ-Jô6©óL·ZS uVÒÀ¢Q1Hc˜ø ©1¨W–Ÿ4¨7ú½ : ŽŸÒS]‚¤®oÍ<*¤R=}™qÀ=°fš¹–Áæ„­/îv7¹@[@Up;ͺÊGM÷ë¦ÜA‡ô-ÿ¤¹ÊC»(r¿ªv«Âä’×½a/–Ûçëö_ÊÉOÕ‚|ýæõèK48KÕysNâ’eZÈYÆ¥˜3°>„ŒÛ\X`뎇¡VqßÐï"j¨4& ÜWÕNr…ÒFøÆ÷øÌ9 ˆÐñ fœo¬´úÎbý°ý?hüoÆG`ÆpÖè1DÐ\ba9Éß•/Ü´‚sL;ÆX£ ÌIЛ*·J’Æ1ÒÀaD¸NaÒIè;¬é—®Z¦³*ÙÁFŽg¦ý âO Zy¬8YŇYæÌœJ8?K¨Ê©R€úÅÂôAyéV©PÞXTœÄ£ãÁ0À½—­¯L’å¶>´äÌLÛÝăgE"„€B1 ƒo–ìZ „=ž0û·-=@Xã•ãXëB ŸN„Ô¼C„&/Ÿ"hó¢¹Ö¼8µ†™Úâ`y:¡v¢t mœ½«˜"¸oÓ"ú,!*G„ºlöB1¦Î(Hì²®ŸGnîc¼çÑ.”Ž…‘§Þ Í:ß´>w±ò> R/wÕ&.˜ª“xTNÒŠö§RàV¸2õ‚$4qëXA–1kp²ÀñˆRÌÑ<‰Hâ(À]jDhw_A>èçe/:-"¬UÍûàKPÌÏvìR€a—>EêÖIÉÓ\¦©üôØû$œ$™˜]·—9_y×-=*H\¦ºo'ˆÊ¹^ðRÄàRh]1 ²¬P¹(Z}ðð—G¯·»MùjA`Þ\6z¤¿„#3šº+é7.~¾ÙQ½¹u(É8bUÝ´šÍmQÌ·’OÅ,«>ßò¡­àâÛÔ}€Š9… @§ÎüÜÇaž2\ÆÌ¶ë|NŽ»Î;(*ßvŒ»N}–\Ôq¦¥¦ /¼KÜDŽT'Ü­:tcK5†-GGÅ¿ÞyT(Œnì´ÇMîÖežùìiæü·ì¸‰AöÌICrŽÖË*DX‰Í~0uj3~ sñrª •…©~¥݇/èŠâ=N˜OX†v;Y×Êr»õ;Öèå”qµ%¹‘NsäX«Žè_Çî¤ qˆ8†MŒ*öÑõؙ䟟ڢ³ªÇÑP'àM˜¥÷ëo=#8#lÑ 0“4W=.@3éî½±Ÿœ°Ó²xªoGvfD2"¬gÆd«êñ×áÚ,È#¸ÿmôñï.Åw²ž 9 6Ë]¹ý3š8¨Ÿ?-÷‡]¹Ü~~Ñ Ú'‚uOÏȶ¬›E— tÏ%(\‚T]t]õ%Ô;Ü´ñÄ8Ê1Goƒ†¤õOo{>º˜áïø=.ŽÔÓu³|T¾Jb¼q¬6Ûõ«ÆiÁ¸ZoA볺ÓIæ‡f¹í£“õR<%¾-„•·}8Xÿù¦ÿ¼·Æ'‰‹á«à F;̯cŠ£eý¢ÏÀx·ˆ`? ÒÕ²YöŒˆ08O·‡ÕïÁ¢«ísPV¦êæ€[å¡Z„wÉæàfYÁáÔõ"ÍG×$iGºû ÑðOJ¬}‰¾Õa½É_`ó½n;}ÿAMZ úŸŒ(ŠÂÎ2|:vÄ,W0GRc}ç#Sxî^¹8¶nRuÿ¤E<碀Pª3‰`Qx Ñxk"ñÅ‹yÊq㋘ÒLÙq0 É%=Î.ôìÝïïEUÐUžM6BÊ#”Œ·”¯~] . õ%ûµG !un,W½EΘdl´"Y.¹æNöýùägøý 4;Ü‚endstream endobj 420 0 obj << /Filter /FlateDecode /Length 1840 >> stream xœ­YMo7½ë7ŹEÍ.¿É4AƒôàF@I†­8J-Û‘Õùï=ôÍj—Ê^ ¶„ °vö‘;Î{œÙýÚtR5ýþž¯f]s9û:S½µþœ¯šóÙ/F ‹L]RÍüÓl;D5ZG©£j‚ 2×ÌW³âÅ¢=éd碊>ŠÍfyÝÒ¥ ªKâ¬=1ÆÈNiñzý»±¹dc?ÈÊ®óâUé‡òb½¬æ½`c×ËóVÂø¼}@2V¼­,ï8(þkþ˳_žNF•°ÄùÅL¨ÔοÌ~›ÏN ¨›Ë;D)">:Æ i¬ÅX­ sˆæzѼo®gNú`œn¾!Zoðÿ âûz¦Œ‹²óVÉš, £B¶\ÍÞe”3“Ö0Ôh!Ôcû¥Rhàœ·ïWŠX£sx–’6¨í~½¼Yݶð¼SÑ Ùè–BÒ5ÖK㼡ÜèÓ‡DÑâ•j,°2$r5[4Bº]ï´¬0£¡@BÂFkŽÉ–JÑak9([2H«dt T,d|’!pP¶dÐÓ‚«vÎâ)VK¶±=Q²kO€DkltíItV¦¨DG·”²‹ý\x‰ôTüŽÂíSòiL¡Áu¥à°1pR%I?“¥œŒ´sKØ®½“Á*$XŸ´ñ ¶q*&,±ÑÊKL£’q]/f/feÞ =Ø…8`. (5¢”4ˆܲ€EÍs<@N\¬r\wc_´í’D^r¾œƒ‘SáæÏœ‚Tp‘pxR)pù`øéÎëýóP”öQ;É.o«ô J‚zó]Ÿ†È?ñQü~½Y¬Ï·›mV±cDkÚ{ì™OI*ÎÒb)L!J˳°X2Èh,¸Y@ÅR@r„ƒƒ²%ƒž®•Ú#”Μκ=ÑÎ)ä5¨ßÑ:®e¼P5MµÅrLz6M§×>EÓ| ©JpTÅšêv9ŸiêœÆæ›)š’EÃ"¸›dò5MÄJñcMG¸ÂÑhº7œÃü#îPšîç™4ÕOÐÓôƒøÔœ¨>Äbõ¾¥ð&#nV‹ë:¥Ýc¤5Õ¾bÑh)T‹)9([2È*m‘I T,dh3 Ä;xÉ!£áVD"˜VcVœ·6QÜéJW¢+ðG›îÏ뼨žR]ÇÙ@‘pU¨BžÅÉC[‹`“cÏV‹©`Mi…íL¤jgÔ Â;£v´Gt9ÏMÄIœ&Ïsã}6ñµÒISµVLYH|ÌJh¦£øñœ_-«{×- ±&ŠÍ0« õè»Íru¶LÛOnwEɬ¬8ãßë.¶ödÄ9ÿ˜vÃ1?Tøò»úüÆ¿ïUSK§ºsp=±©¯ÿmé£ "rvÕ{JÍQŸØÃnÖƒ§ÉŠÍçÚ‹mh­XQ8©_2vÚÑ«q~+¾-1Ó¸þjÉWßǧß<}Þñâlý½úØyÙ˘B‡öýílþÓqÛß¶êøÙªÚ—Muµ¾“\ÿ¸6õ¼endstream endobj 421 0 obj << /Filter /FlateDecode /Length 2243 >> stream xœíYëܶÿ¾ÿBÚ`0×µ¾A 1lÀE $Î")à ‚õ¾¬vµ{‘öÛú·w†¢DR«»žk Ÿð5œ7œþ2§%›Süþ_×3:ßÏ~™1¿:ÿ­ëù×ËÙç/$®”Ž:6_îfÝ6·ln”)Póe=#œ.–ÿb+3bkJ­pËr3{Iž¶‹‚–TYfµ%oŸWo…¢¤Ô’–—Î A2¢¦­NG¤‚Z¾øiù”£S9E/¨ª´Zwâ^²Ÿ…â¸Z"8Žõ+V(ˆ1,pÌÍ´”Lûf¶|ø’<Û- îhÀÉù5ªç¸5Š¡ª¹hI¾~ö8üÁHÕâOvir³@c„aÔ‘6˜æ˜G6=S²ó4ÒŸäÔ„½Œ“ú$´e¨#ŸÌC‡ž^’uº~ª¯“-«¦jÑ‘^¢2hFÆÏ³Š´õꇩ ›¬éô [¥ÿ‡>èðÃ1!Ê”;¤nIYe[ö½i`Mº~xe¼Y(Ö½«èo®ÉÑÇGsÁ»ý@FÍÈ5Ž’íÓŒªê¾i®57À–[ð&çÖg ¥’Ž÷)rB«@=Õû¹û° ëÊ»TC(¶ L(tp³N$Ë–ë„Ïùh°‹‘Õ1YO9uL•¥‘ª;Žd·­»3›g>g¥€SެÏdT¼ž¦S“ù­3^9iíèôæti ËE¡)%Ëq¢09Nå/Êî¯ðWˆ—°0`‹‡^’Ó.ü—'ÀKväOÉòù<Ò¿Û 7!ï> >lnÏêØ}pJWÝW \¯„aäô*Õb•Š,-G!/0cÜÍ ŸŸÖva¼I’¤­Ò”ÙO*¸NIéB¦4Û]u¾"W‹©|‘Àˈ'_tÌŠ žµ-µP T«¨Ó‹¯"·7u gøªµÛý̯ pJ9ÏDú“Gþò`®d‹3 ×™åÝA“ö\Õ+ a'G’ïÏ›2üåyÒ4xTÇüæä}øÉy³:ÜÀ6F•Çóo›+òÕoï ©¬ÁÇÿ®6jQH¸UćSC‚þæLP/¤B”ÎpÑ•˜’±mAUÔöáÇSPžz¾jšj éÈ”AAÓR3c{~em2ì—xÉ$g½ÅIà^´ŽGµ:‰^Ìö8# (7RPž €íÖ¹¸dK!Œ‰þ]ÊK¾-˜Ž ½u(ëŠ<;ž·Íz{})0Ò–kýÈ9ÞÌÁ`”¡6òEM“JM ÷ã ,ÃCצ…iî9ˆ.§6±U” ÕdžH¤& h­¡r¸~½ñ›hð¡1Ji™ùPRË4‹K æARF2™Ø\Æ´ÀìƒsPœ”ø}µ?V»2úc}ÚlÛ/üBèóœ™ìZ`%x«?ÂB!—9UBªºþæ@K=ј‘ñÇâ>^”èqÈ&9 Y -?H¥i2y·«4XqšäÄ„Ý_£I6Hc™ø ©Q( +oU(*}/…nqÇŸCáð &àƒé+ÆÓ¦žeÁ¡¡mæx±R‡€·éž#Á$ìþ> ß)óÿƒ|/Až¦(o3üxh‡]È6@»Kàöwö Gß;ŠMZ™â¸d)𨫠¹£‰tV*gÁ‹v}(ŽðžaÌ@Y¬|LŒ™ šK—ÄLAŒöJ›ÀúâÑ›˜€å–3–d„’P¦%ÜV@¼”¿l$4 >߯ÇÞçwƒ^Ž àùx~ žœ…ïCœŸ!Q‡`°Æ>X@_c|‡…‘Ÿù¼ê:-í›?\Äv8¥Œ:¿n«uß+/É÷lm¹×@r’õßÙvi›Î»ûrËK¨qƒóO¦ûr-Ü0KK{ÎÛÆmp3d—’7Á^@ÒèÛ¶¼Âàò‹A’§RZås˜ ËvÖm/WÁç^¡ÑÌ瓬¥ԓЫîSU×›wòÖéžUÏÞu÷7§:|\.¤sšæT‡É¢“XÜ2yiNH%A!5·t»¦®ö¯½G„žñqw«œXW“…l2"%nχ#~ã•ådµÇ‘€Ÿ‚¿«lÒê¢"LòÆÿÂC;΋Ξ‰!Nc•ÁifÎù¨™Ï'£iÿn¨ƒHj„"~{úÍ?Ÿ¿Øê]õºûU]á¯#´äË.Ÿ]Ÿª¶=?{+8سÝÄ .¡þOüÙfÝAþÚ`XRÅÛ7]‡*(”z£þ:µi·ûYDMR‹v‡íÛ­Y5ç¨\¢”‰›ÕyÿJlxU¿ÞÖU{nEß­7-”K‘ì˨ùõ ?U§¦Ÿ“<j°Sçk¦£á7Ž<Ä(±{2’ë+L€È>¨e†UqŸá rÍàÃÄ=Îà™ã%´¿÷˜Á/ǃTŸ©Óˆm]~‚?͈ªìÛhNˆ'Ê…9!6a.G¸^rœv|ÚsSe°y9:ôüôý§è^N~õ£m&ŒËNé ý<}+£ûiî­7 …ØþbY5ƒ‰d_½Yø›E_^±^;À²jxaäiµOujRXGõž,gßͺ§'5o>ôÉIâhS‚}ÜA5éü»“EƒÛæ'àJ¥,ã狪B(ê¿P²Î3GK)Z­ÉêpÎïˆcVhTò ¸‰¨‘1ðà¶»ŸO@ˆÕäWÿD¨rJç·‡M¯†ÍK£N `ú©g!ɪmÓˆÔ=™v9ôcmÈ~æô‘&}öÂB .WYƒ¼–ã’®œ¹¼z ±ÆUW×™¼*Èßò³Õ½unʆãN*„› o9ñCÆwð¢šx “þfìÞm„˸×Õ›E$y™jN#ÈX¼Eª ¥9ºô%IÒ´8÷O©œd  †oQ«áØê¡f›{·ßÂÉðö*ÕåË'ÒH6”âÝæ}=Qb)Þ3…¢îýÈçtx=j»ªÃŸèïfÿ¢¢±'endstream endobj 422 0 obj << /Filter /FlateDecode /Length 2411 >> stream xœ­YÛŽ7}×7, cSŽÅð~ vóàÀ6Ø@làžÅBÑH3U&’&Žƒ`¿|rªodk¤¹Ã0F]}HVV«Ø¿‚ËBпö﬉âtôëHÖÒ¢ý3«ŠG£¯ß "Êâh1j†ÈB©ÀU…·žGm‹£jô‰½˜'‚ dpm·åù˜µ—"²éx¢µæB*özýÿìE²Ñ„ÀžÈp!{5ôC:¶.óždc×ål¬ Šž5 DmØ›Á€r“ƒúÁÿ>úæ‘›§¢æ^F˜xt2bJŽ~½<½# *N7`)€££å2Æ`¬R†áYëyñ±8Yî¼¶ªø º~Àÿ_@ðë‘Ô6pá §Mäx[A"1Ì÷’åèCB ²bŽj%„ºnÃdô…çÖŸoX 0ÒZ¬¥¸Ò®Ù°ïVÕŪ ,ã…'0Ïqm#®`d©9‘N«ð’CªöüÅbµA.F¬˜£zI†Š^`ÑÕKJ)ƒ·>C%IBÝε±…ÅÖKmbà=v<‘QH#ƒËŒ'J«ßàΩ™Ä›žw´r·}­†R*X¡¡ŠŒ<\ã ÝK?½y}‹‰ˆ§›¢/rá=Èʽ HìѨ%9;fߟoçëÙüb{<îÍ£ðuúØ6k<!¢^’…š‡;¹Ü“$¡´0¡ÎM=*I2”Böñ1Gõ’ eá5:_1Iêî™OYpÝN€k b¯ØDu?$~gź·ŽÉad+ãæ¹wd&áPd÷#ÚȆÐo'f•בÃwûȶD™:ÙZ»À‘RdC[ÊÃÈ&‡ùQ÷Cü?^dßÈf»@‡{pdß<Ñ=#[,ü›"û[Œ5Î ¬ÄæÕÇ1ñ5[Uóó¡K=˜½kã;í¸ÉãÇ+%Fj@";’Uóè=ô()q`Óa U Ya`PR+?ã* ;ˆ§Õ‡fÊB“üú!1è{§¢C¬LD‘ª×%"gj‰°“bzP›ˆö£R"rÎsT ™µVØ¡µ=*1ס+ÝHæéÎD7OtÏLd¹rÈkŒÿ–'öqJ‹[hš+´w©wiyƒc-ŠkísP+©QmjGõ’„R¢îy2T’d(jW’$ÔÝ“‰„åFY4Uˆe”Ou2i: '²~€ƒ úà*£÷·’wn/Òj½ïãiÐ^tïu°tvPµàí•°îæ Vî¢ì•þþÀ­Î| k>С:oêAÉ›¥\>ÈæN{ÑqôàöâðD÷m/w¦°(F$’nídÕtývº^ã‚cX9?y¤ä†¤*2‹¨^’Å]ÐŽK†ê% ¥% I-¡’$Cd’˜¯˜$‰aÔ[¨b®Æ0!@æéIÖOª=ÿUý¤égÄ]í}Z;#©ªÉ|ºÇôÑу²è¸cI1í&Îì^ÿ¸xóõO9ÐÝ7v‘Cù¨ß检}ÂìvEݼm>¢®ä#-££³?c¼íŠrÆ{T¿wè‘òÑlî4EÎG7OtߦˆîQÑ«fùˆ¡ýÙ>N-r µÛĽWçá•o§2|ÇÔ^â›àxUž^æ7Ísº^&S- ߌ'Æ"&D@|à¸F.”ˆúöÖ9jaûû,*ïÎÇ4ÄèÀ¶4k KÆ`³-«é¶5Wã›9ͯÕOZ1æšå—Þ«ô·Á€ô{pMžßæê,·Š•­æÈkÛÁàõoc‚6×±érÓh„Ób«u+|6Ô¢aV±ŠØôˆXë+ºìæ±ìs¹=K@Ú@Ö_N;Ì]ØCöЖMꔇžÀÑ›ÑѳOØžiK„µÍšúÃÆEþ½c=­{º<­7Ý÷XqvÈÔÆë€r{(ƒØz2Úb±rúsö~™ÏÒ|ènàõÞ"‚Lû¡ãâì„"óÊפiĦhN‚²×سœÃUGö5˜ÍÎW€TÍ4v¦ùRãö9BcÕz0øtø¸Ù”÷æãÆDt®þ„òµ’ª˜@;M½hmÇûoÇ«¨$Òìíêd¾4ôlëNÿœ¤w¯Þüôöýé²Z”¿³Å´*—_:``ÿjJÍž\¬ÊÍfuþäy;U<Æ ÖjÑ*Gÿ/ý¬›³vˆf_u/$na G=÷î÷ì2·i±øIšä-–óß+²fºÞ&å2dgBìdº¦i2 ~.WßÍ«r³Ý+gg{w÷IæAOì^½2J¬ÌþÑnÒÓŠc¯|»A¡Í/ûC¸ÓíÃö„§Íy¹^¯ÖI‘?’"¿M——ó† :„ßûç¶*Mö®v…ÙfÖ ôUÊÕ)ñŠæ(Ø´ÔDs'”OêJ„–&¦ òìÙ³}9a󱾓n¦Æ:©‚L+yD¶’âÊ83X T¶R½›L& uà=ÊÓórÁÓèBqóÍ®^L`à×ï•ôƒ“è]t÷UþisT ÷Õ‚Ò u !‹kÐîDh ‚ºnžáRD¦Ü;(hÊnRÉEÛ«´_£›M«!V&•ök„rÄ¡s¼ƒF{§y;ŽìCJ‹ñƒ %¥o¥Ð‚ý쪙§ÉŸîÍ9œÉ¬qù ”\2endstream endobj 423 0 obj << /Filter /FlateDecode /Length 4130 >> stream xœÅZÛŽÜÆ}ß_~â$¦ï#Ƀ8±a±²ˆÈF0Ò^DgfGž]ö%ßžS}!»IÎj- y¹Íêîêêª:§ŠûsÃ:Þ0ú/ý|¹»`ÍíÅÏ<Œ6éÇË]óÅåÅïž)é<ó¼¹¼¹ˆSxãxcµí¼ÔÍåî¢buù„ª„팦)—WÏÛ¯¶×«5ë˜vÜ×¾Ú¿_­¥”c®ýÇʉÎ;)ÛJèpì÷w$…—F¶bõãå7º¼øŽ4Íí‘ô6FuÂ5Z[ÓIÕϰ¦k¸T¬3¦9\7ß7wº;5ïpˆoðï'ûÏБsìÛÃlÇd³»à^ëΈÆX®;­šíÅß/ã¶scŒuZCJpo;‹)q`¥„RÄZBñÎÐZxðPöÂG…c:Ûh§eljáh!m¥¢‘ e¹éL£óø§p"mhá ã•è8–68¥U’ÌèNÁÖ²&HI§4»¸ %°¨ #¶q-)=KR¦S´£Ô\&)Óq¥ Wƒ kYi;%‡‘ 夣u1¦;oIÊž¤ÂI)fD-¥¸Ó3)áÌDJ1h¯*©‡¼·Ô¸N1ËîË­‚5pÇZu–óàÜ\X†›ÎãfÈqÇÍZá˜B»z˜ä׸f¸]xÃa»ôBwNr¡—¦àˆp°…7¸&/­žê…Í•Ü-i†w̲¼Ós¼] Ž(Et{‚ì;2,¦ó¾ÑáÊt#5\‰éFã(b/ky7†&] öäˆy„.p&4 Ð%§„=*™a 1QÊK¡ad”’qíD!5ŽRˆ¢‰Ô02J)†ìády¾a¤šœ¹´Â(õ n¬%‚Âyrãç-[­•µ¶£l™žt«ÆG3¼wxRŠØ–Ó,˜£¼H²Cj0‡ f1—¤>œ«ÂtòHt!a Ri¤”B•…T©¤`@DD)•F*©¤k!UhÿH›“½×dxŽœ!%ù”AÞÎFï`@!Â`L kþEàQþ"Ë_Ô‚¥Ï‚ØãUÍî!è–%À‘"EÒô¯ov/®Íþ¦ÙV!m1¯ÚSÿr{} êŒ%@²¼1L#ÞÃôöo‡ý‹Í‹~ÛŸî)ÉŒIâ£1Óà"ÀÂqžL¶wÆ)Ý!;LîâÞ¬õ„° “(“}g}H L)$B¤õŒÉ€4‹Cx×1ÙàtðMa2,» W[íû,ËG¸,Ã3,[Ú 0 ½0Çh7=ïG`œÆ8Áeæ‚OÙP†ª€&s`–¨€9CîCÀ<Äßÿ˜§w{øx v²³H¾lÖX‰@æ÷Ĉ8˜vŒ×ÃA^"ö(Ùü ðX¿4ä“{¾4^©àZ˯@ƒ×fªÛŽx2ì ’sú?RŒÐJD¼eȨ"FŽ ·ç<³Yx&جv@G"‡“}ÁfqÞDB…Áâcˆ9Ù,â‹w œ‰†*¯(“Á£)r%àÈF ‚rLX¼ ̘™ÄŒâ××i¯G1 H /㎒ÙÀ¨µ÷ðìLi£ÐQ{J-!¾¸8Ö¤Úù9ÎÊì°£÷1r,Ék«ˆ8¤À°*†ð*ò^KlbØ['’"b2 ª›´TˆNýh‡¸!iòǰC“°ñ9ÍÌ.öãÃÚàÂ\Yñ[$5xApÍáEübc*îSÕãPykþbÍ)2„XzCfßÀ“€¥ÖÈîJñ­Ö”™aø…7ðS”\vidJ½0ŽåN3¾JQÆœ>®¡Ê6‚‰€›tÒ„0#ü“ä¨"§x„ÕØ†'K£Œ<Èèf 2O+x„!P’B8£“ ¸&PP'pÒ”èNœÂ=† å*,Â#TÀ”Š0Ø0ò±\5Âó¨FôÊdp²:¡ >À‰!Ãù89`1„$©¨ls€¥Hñ>+L…h"S* )V®ŠÊäMF RCSŒ•šhC5…&ÓVM–ÒÝšLܱˆ±PÝÆ›^ë'™…èØQ¥OA)'}t65å;/ëQÇ8ãSñè³°½X˜±¦H'ô™¼‡p–/½a ûS,1Ä»0y Çp o(G—vm±ð`»øŠYãµ,¦ÅPC½(é¾%àú?èwšçEVñlœF-éËyid1¯ÉMu51,;K1“ø˜­f¦‘¬é$e ll,˜(˜óКHéè“)Õ°~j§GJµÌ*>aÂéX•>˜P?a…—¢ˆ¼äG¿|AªÈ8Fg"VJ_îw¯WHÕŒÑvú¼yz}bˆzùíÅåo%¿_!ù3nE»ß¥I ’¢XóÌ녅ƪëtl9ˆ2p¤¡¤%˜£#~Õß¾YQ·UZÎ|{¸N Yí[ÿ9u´Q©^¾*„‘[µ^2íÚã©ßmNiIɹö*unµj_—ÛìAh-V¶"ãx©Ê˲ |êßö§µ˜kïiQ€ oo ùý!í…ú»ê o^®h/%yû*jî¥Âò°ä…mÉäA¥%Ù¸œ|Gs™Â„S:õù]§3ã^°Ò殘1˜Äµïâ‰ð4Ûu”ïÂÃqQe·º–ÄWkd!Z’ÏÛg\­µ K“í_ùC{só/õÃ*­Û/– *ÓƒÅ'~ÎÌs]+9¼Ä.M¬=Ф“GÀ™¼oû#åh¦joŠ·· ‚TÀ å ›SZÁëúÅugÊO<(ß™5¸„SüH@+K\ÊMZLfK=7qÑzО1Ón÷ÁY@ŽŠ©õ ÖA¸Ï{:B"ÐùXÍ­|z?õ ½¥ʾ þTψ ƒÑ€ú›BWÅMpÓ žjß•:õ1 6x•÷²éè$îgGVùN‚Zz‘}e·3…]mcB;ÞéËÒ'Ú¥¡Cd+=. Ýîª_ãq5®úþ– Íê]NžCzŒ³nïƒnõMÕÞ6hïÛRh¿Û§Ð2L¡uÄÛ~»Ò†üǶ›ÃýtEi(°-í29Üõ4‰gº8¡ÇÑ7^®qÊë¤Tg(ƒAË«BfÁ5âBWi‚F¸IÏ@³Ê¯£Å·åŠý‘òÕ3rê!é)-+M¡_»Q,ã)âòáí°ûôº£®¢­¿ÕnJe†-D{Úçg3Ïd2¸]…—Û”a õÝü²h%?†„·Ü(ÿP¦#ÅÉ.™cÍð%¤17÷Þ Zù#5µ?etr¨å2"_Ôé.Á¿·Ñv;,Ø.$O~†Ô–Èu ‚øŸî¯®·š~8õûõøî«oÿùôÙívwÓ¿9Øìúí}tíÒ#àg¯÷ýñ¸¿ûìIš‹°Çœë«,-JéÿŒÿî¯tž"Ûßæ‰åî´øâæz—Ê$°Ë3ÇèQ“òD7Ûë÷;:Íæp•+4âùŽ·W›Óf\¦8Á‹~ÿå«ë]Šòd´ÜËí›ãéú0Š3^ïéU¿?’%~X=< ‡Ìû.¸2î"LçŠtCéÔÓ£fÞ¦âmî m³ªh/Ò¶0Ï óõ}ýщ.”ƒËŽýæð7#ú¡ríLå®j”i¨ìLìáûGUkgÖSPC–Ë̓Z1`‚} @’s°¨Ù ÜàЗ鳴N$›ÙtD6ÃóŒ¡~bNÀý¬Ü›y7&IËIrу´í´µñïrbh…¿Þ™øKøxèó_ïlÙ¬@¯Û>"ˆÇS^-c2ä$ŠZÚf3¡ôIˆô\KÔ›JéÐðÒéëÈMq±áüBz;¥„xÁ‰òoî*TNÞø¼ ©*FyÚÀîâ‚^ÎIØÉsä4/‰˜B\Ìï(éø@!¦ªiMðº?V¥ô—8ì)-6òIYsVÓMy´=¡ÕÇž 3XK2ï|{È2ŠXHá¡ß”a²­nõ˜—sÆÔq¶YÒ¾…ª£ zÛTO;Z99ÀSÇì<6übEwÇi:ÖCS_‹+ù9e Æº©= 먮ÏtIò*Ÿ@˜s–K“†CØyó€úèJÍCØY!ð{!©Gøó›G9W^¨òÒiKÑ7X‚tŸ§È´wòëlKÀý²âêC[ô/K×Úlè,é¶i¼¨míÕ:gÖÏ¢´¦©É#†¶ŒBÐM)¶&qc˜bN ÓhÖs–<Æ=ˆ&W8ó«Yo!ì—z ôl&Á:%¤.SŸž;ÂB¸>n<íQ„JV9m*¶~'§d!¨ï=“JøÓ›ÂæUõ.L¢‘ô<™åkÀÅ•(RzpJýñUGÈMJT Ã×jÊ`§¾º[rI߬¨áz‚ٚɫz4>"ÙëbfXK{$©nä IÚÀ)ëBf\cÞ ãJFÎùáÁ[ÏFÚÇFE°ƒ²ÿWâ± Ù$¶}wèO×ñ õÂöy;àæƒÕïæ6Oݨ©ÄÛˆä@³šŠ”°x©“L XP÷ûXÑ0Öá>œÖ_:Àñ´IÍxœ°ŒOM èÙ¤òëÐxÖ—Ý/tš-“å’³VsPN··“©ð€0[ÆÆàCMÑÀ–Ô-&»hAW¨´wÃ1$§ˆ:ÛâR2é›’…xêI{iS(µ -íí£'Gú7Vñû´NÎtBg2‘oË*jÆ,$ôìK’9&ô¢ñÈübã16WEHÕ2ï7»Ò¼!ÌIäU•¥‚Q£$¯ÄôRÛœ…Lö®,xš†gæÙàÁûR#ª“¶Q©Ü1Ÿ¯3ŽY\$ÚDô–!9µ/É)ŒØì8»HRC˹ÇS»ÅÃ%Ç9ÇÓRG“~<™zd3i;ëEÑiÜBs›,1mÓW ­W3g+…e'|¸˜à…‘¡„¦ì_ö÷¡‘ŽTNó¦s9 3žd¨t3Ί³ž©scHÏêÜ ñéϬ(”«÷£ŠÛéWÁ°’¡hÍ.îiÐ…Ô;ź¨ù/rðLZò¢rB½£ˆ!O9¦ Àd¨–òÔ%ž)ábÅòÈÞdXsj†íæxLK!üv›²5LâÚUþ*Ê¡c¿ë·›Cþ.éf•oìSò™'ŒNTw0ëê§øÀÓ-ÐÕhaÔ€¥{ì£L[}L¨‚§?Îb,¬©é,•á¹Eêæ—0Zò>÷Q?\M¾ÁÂïz*p㺲ú”² ®ÀQ¤VŸâ‡(5µ²¥ö\Þ;ÁÛ³µTB‰ô½þ¿{eyEendstream endobj 424 0 obj << /Type /XRef /Length 351 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 425 /ID [<86f4a01b37f590af8c92aa55afc42d25><3f96a15459b3c656d5a4ea98b010ebb1>] >> stream xœí”Ï+DQÅï{ƒùeæ™a¢I™²·°ˆYÍJ6V²°a#VX!ÉB”_{ÖCÊB‰¬,LdÃb²¢„šB)QϜς?â½Y|:wß¹÷žoól£ŸmãÀwc˰|z‚®IÞ*:¸¬é?ýøÓ÷]ÓZ.Tæ^óçî%º¦=¯¹ƒþܽD×ôäôµO÷jî™1Ñ/Ö÷‰¹EÑškoÅfœÐþ‡h'źó ­Ä”td§‹§ÓbtS \‹ÙSüuq(":û¤¥Äª-t} ¦:HÛã„ÚÅùd—cV¾ÂQ2ÅðšßcìžÓ|Óy±a‰õ—Ü´…äœan·Jf§œEC'Õã8“8 ÿ=ÚÐ_ädÐ4Ssˆ~ÿC›¿6¬¦oé‡" ßËInð|fý'_¯x×å]‡ënÓ- Çg8[™ÌnnÁC%4OÃ1:<¢“ ó ”yF endstream endobj startxref 314347 %%EOF flexmix/inst/doc/ziglm.R0000644000176200001440000000220514404637307014724 0ustar liggesuserssetClass("FLXMRziglm", contains = "FLXMRglm") FLXMRziglm <- function(formula = . ~ ., family = c("binomial", "poisson"), ...) { family <- match.arg(family) new("FLXMRziglm", FLXMRglm(formula, family, ...), name = paste("FLXMRziglm", family, sep=":")) } setMethod("FLXgetModelmatrix", signature(model="FLXMRziglm"), function(model, data, formula, lhs=TRUE, ...) { model <- callNextMethod(model, data, formula, lhs) if (attr(terms(model@fullformula), "intercept") == 0) stop("please include an intercept") model }) setMethod("FLXremoveComponent", signature(model = "FLXMRziglm"), function(model, nok, ...) { if (1 %in% nok) as(model, "FLXMRglm") else model }) setMethod("FLXmstep", signature(model = "FLXMRziglm"), function(model, weights, components, ...) { coef <- c(-Inf, rep(0, ncol(model@x)-1)) names(coef) <- colnames(model@x) comp.1 <- with(list(coef = coef, df = 0, offset = NULL, family = model@family), eval(model@defineComponent)) c(list(comp.1), FLXmstep(as(model, "FLXMRglm"), weights[, -1, drop=FALSE], components[-1])) }) flexmix/inst/doc/regression-examples.R0000644000176200001440000004066314757625370017620 0ustar liggesusers### R code from vignette source 'regression-examples.Rnw' ################################################### ### code chunk number 1: regression-examples.Rnw:11-14 ################################################### library("stats") library("graphics") library("flexmix") ################################################### ### code chunk number 2: start ################################################### options(width=70, prompt = "R> ", continue = "+ ", useFancyQuotes = FALSE) suppressWarnings(RNGversion("3.5.0")) set.seed(1802) library("lattice") ltheme <- canonical.theme("postscript", FALSE) lattice.options(default.theme=ltheme) ################################################### ### code chunk number 3: NregFix ################################################### set.seed(2807) library("flexmix") data("NregFix", package = "flexmix") Model <- FLXMRglm(~ x2 + x1) fittedModel <- stepFlexmix(y ~ 1, model = Model, nrep = 3, k = 3, data = NregFix, concomitant = FLXPmultinom(~ w)) fittedModel <- relabel(fittedModel, "model", "x1") summary(refit(fittedModel)) ################################################### ### code chunk number 4: diffModel ################################################### Model2 <- FLXMRglmfix(fixed = ~ x2, nested = list(k = c(1, 2), formula = c(~ 0, ~ x1)), varFix = TRUE) fittedModel2 <- flexmix(y ~ 1, model = Model2, cluster = posterior(fittedModel), data = NregFix, concomitant = FLXPmultinom(~ w)) BIC(fittedModel) BIC(fittedModel2) ################################################### ### code chunk number 5: artificial-example ################################################### plotNregFix <- NregFix plotNregFix$w <- factor(NregFix$w, levels = 0:1, labels = paste("w =", 0:1)) plotNregFix$x2 <- factor(NregFix$x2, levels = 0:1, labels = paste("x2 =", 0:1)) plotNregFix$class <- factor(NregFix$class, levels = 1:3, labels = paste("Class", 1:3)) print(xyplot(y ~ x1 | x2*w, groups = class, data = plotNregFix, cex = 0.6, auto.key = list(space="right"), layout = c(2,2))) ################################################### ### code chunk number 6: refit ################################################### summary(refit(fittedModel2)) ################################################### ### code chunk number 7: beta-glm ################################################### data("betablocker", package = "flexmix") betaGlm <- glm(cbind(Deaths, Total - Deaths) ~ Treatment, family = "binomial", data = betablocker) betaGlm ################################################### ### code chunk number 8: beta-fix ################################################### betaMixFix <- stepFlexmix(cbind(Deaths, Total - Deaths) ~ 1 | Center, model = FLXMRglmfix(family = "binomial", fixed = ~ Treatment), k = 2:4, nrep = 3, data = betablocker) betaMixFix ################################################### ### code chunk number 9: beta-fig ################################################### library("grid") betaMixFix_3 <- getModel(betaMixFix, "3") betaMixFix_3 <- relabel(betaMixFix_3, "model", "Intercept") betablocker$Center <- with(betablocker, factor(Center, levels = Center[order((Deaths/Total)[1:22])])) clusters <- factor(clusters(betaMixFix_3), labels = paste("Cluster", 1:3)) print(dotplot(Deaths/Total ~ Center | clusters, groups = Treatment, as.table = TRUE, data = betablocker, xlab = "Center", layout = c(3, 1), scales = list(x = list(draw = FALSE)), key = simpleKey(levels(betablocker$Treatment), lines = TRUE, corner = c(1,0)))) betaMixFix.fitted <- fitted(betaMixFix_3) for (i in 1:3) { seekViewport(trellis.vpname("panel", i, 1)) grid.lines(unit(1:22, "native"), unit(betaMixFix.fitted[1:22, i], "native"), gp = gpar(lty = 1)) grid.lines(unit(1:22, "native"), unit(betaMixFix.fitted[23:44, i], "native"), gp = gpar(lty = 2)) } ################################################### ### code chunk number 10: beta-full ################################################### betaMix <- stepFlexmix(cbind(Deaths, Total - Deaths) ~ Treatment | Center, model = FLXMRglm(family = "binomial"), k = 3, nrep = 3, data = betablocker) summary(betaMix) ################################################### ### code chunk number 11: default-plot ################################################### print(plot(betaMixFix_3, mark = 1, col = "grey", markcol = 1)) ################################################### ### code chunk number 12: parameters ################################################### parameters(betaMix) ################################################### ### code chunk number 13: cluster ################################################### table(clusters(betaMix)) ################################################### ### code chunk number 14: predict ################################################### predict(betaMix, newdata = data.frame(Treatment = c("Control", "Treated"))) ################################################### ### code chunk number 15: fitted ################################################### fitted(betaMix)[c(1, 23), ] ################################################### ### code chunk number 16: refit ################################################### summary(refit(getModel(betaMixFix, "3"))) ################################################### ### code chunk number 17: mehta-fix ################################################### data("Mehta", package = "flexmix") mehtaMix <- stepFlexmix(cbind(Response, Total - Response)~ 1 | Site, model = FLXMRglmfix(family = "binomial", fixed = ~ Drug), control = list(minprior = 0.04), nrep = 3, k = 3, data = Mehta) summary(mehtaMix) ################################################### ### code chunk number 18: mehta-fig ################################################### Mehta$Site <- with(Mehta, factor(Site, levels = Site[order((Response/Total)[1:22])])) clusters <- factor(clusters(mehtaMix), labels = paste("Cluster", 1:3)) print(dotplot(Response/Total ~ Site | clusters, groups = Drug, layout = c(3,1), data = Mehta, xlab = "Site", scales = list(x = list(draw = FALSE)), key = simpleKey(levels(Mehta$Drug), lines = TRUE, corner = c(1,0)))) mehtaMix.fitted <- fitted(mehtaMix) for (i in 1:3) { seekViewport(trellis.vpname("panel", i, 1)) sapply(1:nlevels(Mehta$Drug), function(j) grid.lines(unit(1:22, "native"), unit(mehtaMix.fitted[Mehta$Drug == levels(Mehta$Drug)[j], i], "native"), gp = gpar(lty = j))) } ################################################### ### code chunk number 19: mehta-full ################################################### mehtaMix <- stepFlexmix(cbind(Response, Total - Response) ~ Drug | Site, model = FLXMRglm(family = "binomial"), k = 3, data = Mehta, nrep = 3, control = list(minprior = 0.04)) summary(mehtaMix) ################################################### ### code chunk number 20: mehta-sub ################################################### Mehta.sub <- subset(Mehta, Site != 15) mehtaMix <- stepFlexmix(cbind(Response, Total - Response) ~ 1 | Site, model = FLXMRglmfix(family = "binomial", fixed = ~ Drug), data = Mehta.sub, k = 2, nrep = 3) summary(mehtaMix) ################################################### ### code chunk number 21: tribolium ################################################### data("tribolium", package = "flexmix") TribMix <- stepFlexmix(cbind(Remaining, Total - Remaining) ~ 1, k = 2:3, model = FLXMRglmfix(fixed = ~ Species, family = "binomial"), concomitant = FLXPmultinom(~ Replicate), data = tribolium) ################################################### ### code chunk number 22: wang-model ################################################### modelWang <- FLXMRglmfix(fixed = ~ I(Species == "Confusum"), family = "binomial") concomitantWang <- FLXPmultinom(~ I(Replicate == 3)) TribMixWang <- stepFlexmix(cbind(Remaining, Total - Remaining) ~ 1, data = tribolium, model = modelWang, concomitant = concomitantWang, k = 2) summary(refit(TribMixWang)) ################################################### ### code chunk number 23: tribolium ################################################### clusters <- factor(clusters(TribMixWang), labels = paste("Cluster", 1:TribMixWang@k)) print(dotplot(Remaining/Total ~ factor(Replicate) | clusters, groups = Species, data = tribolium[rep(1:9, each = 3) + c(0:2)*9,], xlab = "Replicate", auto.key = list(corner = c(1,0)))) ################################################### ### code chunk number 24: subset ################################################### TribMixWangSub <- stepFlexmix(cbind(Remaining, Total - Remaining) ~ 1, k = 2, data = tribolium[-7,], model = modelWang, concomitant = concomitantWang) ################################################### ### code chunk number 25: trypanosome ################################################### data("trypanosome", package = "flexmix") TrypMix <- stepFlexmix(cbind(Dead, 1-Dead) ~ 1, k = 2, nrep = 3, data = trypanosome, model = FLXMRglmfix(family = "binomial", fixed = ~ log(Dose))) summary(refit(TrypMix)) ################################################### ### code chunk number 26: trypanosome ################################################### tab <- with(trypanosome, table(Dead, Dose)) Tryp.dat <- data.frame(Dead = tab["1",], Alive = tab["0",], Dose = as.numeric(colnames(tab))) plot(Dead/(Dead+Alive) ~ Dose, data = Tryp.dat) Tryp.pred <- predict(glm(cbind(Dead, 1-Dead) ~ log(Dose), family = "binomial", data = trypanosome), newdata=Tryp.dat, type = "response") TrypMix.pred <- predict(TrypMix, newdata = Tryp.dat, aggregate = TRUE)[[1]] lines(Tryp.dat$Dose, Tryp.pred, lty = 2) lines(Tryp.dat$Dose, TrypMix.pred, lty = 3) legend(4.7, 1, c("GLM", "Mixture model"), lty=c(2, 3), xjust=0, yjust=1) ################################################### ### code chunk number 27: fabric-fix ################################################### data("fabricfault", package = "flexmix") fabricMix <- stepFlexmix(Faults ~ 1, model = FLXMRglmfix(family="poisson", fixed = ~ log(Length)), data = fabricfault, k = 2, nrep = 3) summary(fabricMix) summary(refit(fabricMix)) Lnew <- seq(0, 1000, by = 50) fabricMix.pred <- predict(fabricMix, newdata = data.frame(Length = Lnew)) ################################################### ### code chunk number 28: fabric-fix-nested ################################################### fabricMix2 <- flexmix(Faults ~ 0, data = fabricfault, cluster = posterior(fabricMix), model = FLXMRglmfix(family = "poisson", fixed = ~ log(Length), nested = list(k=c(1,1), formula=list(~0,~1)))) summary(refit(fabricMix2)) fabricMix2.pred <- predict(fabricMix2, newdata = data.frame(Length = Lnew)) ################################################### ### code chunk number 29: fabric-fig ################################################### plot(Faults ~ Length, data = fabricfault) sapply(fabricMix.pred, function(y) lines(Lnew, y, lty = 1)) sapply(fabricMix2.pred, function(y) lines(Lnew, y, lty = 2)) legend(190, 25, paste("Model", 1:2), lty=c(1, 2), xjust=0, yjust=1) ################################################### ### code chunk number 30: patent ################################################### data("patent", package = "flexmix") ModelPat <- FLXMRglm(family = "poisson") FittedPat <- stepFlexmix(Patents ~ lgRD, k = 3, nrep = 3, model = ModelPat, data = patent, concomitant = FLXPmultinom(~ RDS)) summary(FittedPat) ################################################### ### code chunk number 31: patent-fixed ################################################### ModelFixed <- FLXMRglmfix(family = "poisson", fixed = ~ lgRD) FittedPatFixed <- flexmix(Patents ~ 1, model = ModelFixed, cluster = posterior(FittedPat), concomitant = FLXPmultinom(~ RDS), data = patent) summary(FittedPatFixed) ################################################### ### code chunk number 32: Poisson ################################################### lgRDv <- seq(-3, 5, by = 0.05) newdata <- data.frame(lgRD = lgRDv) plotData <- function(fitted) { with(patent, data.frame(Patents = c(Patents, unlist(predict(fitted, newdata = newdata))), lgRD = c(lgRD, rep(lgRDv, 3)), class = c(clusters(fitted), rep(1:3, each = nrow(newdata))), type = rep(c("data", "fit"), c(nrow(patent), nrow(newdata)*3)))) } plotPatents <- cbind(plotData(FittedPat), which = "Wang et al.") plotPatentsFixed <- cbind(plotData(FittedPatFixed), which = "Fixed effects") plotP <- rbind(plotPatents, plotPatentsFixed) rds <- seq(0, 3, by = 0.02) x <- model.matrix(FittedPat@concomitant@formula, data = data.frame(RDS = rds)) plotConc <- function(fitted) { E <- exp(x%*%fitted@concomitant@coef) data.frame(Probability = as.vector(E/rowSums(E)), class = rep(1:3, each = nrow(x)), RDS = rep(rds, 3)) } plotConc1 <- cbind(plotConc(FittedPat), which = "Wang et al.") plotConc2 <- cbind(plotConc(FittedPatFixed), which = "Fixed effects") plotC <- rbind(plotConc1, plotConc2) print(xyplot(Patents ~ lgRD | which, data = plotP, groups=class, xlab = "log(R&D)", panel = "panel.superpose", type = plotP$type, panel.groups = function(x, y, type = "p", subscripts, ...) { ind <- plotP$type[subscripts] == "data" panel.xyplot(x[ind], y[ind], ...) panel.xyplot(x[!ind], y[!ind], type = "l", ...) }, scales = list(alternating=FALSE), layout=c(1,2), as.table=TRUE), more=TRUE, position=c(0,0,0.6, 1)) print(xyplot(Probability ~ RDS | which, groups = class, data = plotC, type = "l", scales = list(alternating=FALSE), layout=c(1,2), as.table=TRUE), position=c(0.6, 0.01, 1, 0.99)) ################################################### ### code chunk number 33: seizure ################################################### data("seizure", package = "flexmix") seizMix <- stepFlexmix(Seizures ~ Treatment * log(Day), data = seizure, k = 2, nrep = 3, model = FLXMRglm(family = "poisson", offset = log(seizure$Hours))) summary(seizMix) summary(refit(seizMix)) ################################################### ### code chunk number 34: seizure ################################################### seizMix2 <- flexmix(Seizures ~ Treatment * log(Day/27), data = seizure, cluster = posterior(seizMix), model = FLXMRglm(family = "poisson", offset = log(seizure$Hours))) summary(seizMix2) summary(refit(seizMix2)) ################################################### ### code chunk number 35: seizure ################################################### seizMix3 <- flexmix(Seizures ~ log(Day/27)/Treatment, data = seizure, cluster = posterior(seizMix), model = FLXMRglm(family = "poisson", offset = log(seizure$Hours))) summary(seizMix3) summary(refit(seizMix3)) ################################################### ### code chunk number 36: seizure ################################################### plot(Seizures/Hours~Day, pch = c(1,3)[as.integer(Treatment)], data=seizure) abline(v=27.5, lty=2, col="grey") legend(140, 9, c("Baseline", "Treatment"), pch=c(1, 3), xjust=1, yjust=1) matplot(seizure$Day, fitted(seizMix)/seizure$Hours, type="l", add=TRUE, lty = 1, col = 1) matplot(seizure$Day, fitted(seizMix3)/seizure$Hours, type="l", add=TRUE, lty = 3, col = 1) legend(140, 7, paste("Model", c(1,3)), lty=c(1, 3), xjust=1, yjust=1) ################################################### ### code chunk number 37: salmonella ################################################### data("salmonellaTA98", package = "flexmix") salmonMix <- stepFlexmix(y ~ 1, data = salmonellaTA98, k = 2, nrep = 3, model = FLXMRglmfix(family = "poisson", fixed = ~ x + log(x + 10))) ################################################### ### code chunk number 38: salmonella ################################################### salmonMix.pr <- predict(salmonMix, newdata=salmonellaTA98) plot(y~x, data=salmonellaTA98, pch=as.character(clusters(salmonMix)), xlab="Dose of quinoline", ylab="Number of revertant colonies of salmonella", ylim=range(c(salmonellaTA98$y, unlist(salmonMix.pr)))) for (i in 1:2) lines(salmonellaTA98$x, salmonMix.pr[[i]], lty=i) ################################################### ### code chunk number 39: regression-examples.Rnw:923-927 ################################################### SI <- sessionInfo() pkgs <- paste(sapply(c(SI$otherPkgs, SI$loadedOnly), function(x) paste("\\\\pkg{", x$Package, "} ", x$Version, sep = "")), collapse = ", ") flexmix/inst/doc/bootstrapping.Rnw0000644000176200001440000004660014404637307017051 0ustar liggesusers\documentclass[nojss]{jss} \usepackage{amsfonts,bm,amsmath,amssymb} %%\usepackage{Sweave} %% already provided by jss.cls %%%\VignetteIndexEntry{Finite Mixture Model Diagnostics Using Resampling Methods} %%\VignetteDepends{flexmix} %%\VignetteKeywords{R, finite mixture model, resampling, bootstrap} %%\VignettePackage{flexmix} \title{Finite Mixture Model Diagnostics Using Resampling Methods} <>= options(useFancyQuotes = FALSE) digits <- 3 Colors <- c("#E495A5", "#39BEB1") critical_values <- function(n, p = "0.95") { data("qDiptab", package = "diptest") if (n %in% rownames(qDiptab)) { return(qDiptab[as.character(n), p]) }else { n.approx <- as.numeric(rownames(qDiptab)[which.min(abs(n - as.numeric(rownames(qDiptab))))]) return(sqrt(n.approx)/sqrt(n) * qDiptab[as.character(n.approx), p]) } } library("graphics") library("flexmix") combine <- function(x, sep, width) { cs <- cumsum(nchar(x)) remaining <- if (any(cs[-1] > width)) combine(x[c(FALSE, cs[-1] > width)], sep, width) c(paste(x[c(TRUE, cs[-1] <= width)], collapse= sep), remaining) } prettyPrint <- function(x, sep = " ", linebreak = "\n\t", width = getOption("width")) { x <- strsplit(x, sep)[[1]] paste(combine(x, sep, width), collapse = paste(sep, linebreak, collapse = "")) } @ \author{Bettina Gr{\"u}n\\ Wirtschaftsuniversit{\"a}t Wien \And Friedrich Leisch\\ Universit\"at f\"ur Bodenkultur Wien} \Plainauthor{Bettina Gr{\"u}n, Friedrich Leisch} \Address{ Bettina Gr\"un\\ Institute for Statistics and Mathematics\\ Wirtschaftsuniversit{\"a}t Wien\\ Welthandelsplatz 1\\ 1020 Wien, Austria\\ E-mail: \email{Bettina.Gruen@R-project.org}\\ Friedrich Leisch\\ Institut f\"ur Angewandte Statistik und EDV\\ Universit\"at f\"ur Bodenkultur Wien\\ Peter Jordan Stra\ss{}e 82\\ 1190 Wien, Austria\\ E-mail: \email{Friedrich.Leisch@boku.ac.at} } \Abstract{ This paper illustrates the implementation of resampling methods in \pkg{flexmix} as well as the application of resampling methods for model diagnostics of fitted finite mixture models. Convenience functions to perform these methods are available in package \pkg{flexmix}. The use of the methods is illustrated with an artificial example and the \code{seizure} data set. } \Keywords{\proglang{R}, finite mixture models, resampling, bootstrap} \Plainkeywords{R, finite mixture models, resampling, bootstrap} %%------------------------------------------------------------------------- %%------------------------------------------------------------------------- \begin{document} \SweaveOpts{engine=R, echo=true, height=5, width=8, eps=FALSE, keep.source=TRUE} \setkeys{Gin}{width=0.95\textwidth} \section{Implementation of resampling methods}\label{sec:implementation} The proposed framework for model diagnostics using resampling \citep{mixtures:gruen+leisch:2004} equally allows to investigate model fit for all kinds of mixture models. The procedure is applicable to mixture models with different component specific models and does not impose any limitation such as for example on the dimension of the parameter space of the component specific model. In addition to the fitting step different component specific models only require different random number generators for the parametric bootstrap. The \code{boot()} function in \pkg{flexmix} is a generic \proglang{S4} function with a method for fitted finite mixtures of class \code{"flexmix"} and is applicable to general finite mixture models. The function with arguments and their defaults is given by: <>= cat(prettyPrint(gsub("boot_flexmix", "boot", prompt(flexmix:::boot_flexmix, filename = NA)$usage[[2]]), sep = ", ", linebreak = paste("\n", paste(rep(" ", 2), collapse = ""), sep= ""), width = 70)) @ The interface is similar to the \code{boot()} function in package \pkg{boot} \citep{mixtures:Davison+Hinkley:1997, mixtures:Canty+Ripley:2010}. The \code{object} is a fitted finite mixture of class \code{"flexmix"} and \code{R} denotes the number of resamples. The possible bootstrapping method are \code{"empirical"} (also available as \code{"ordinary"}) and \code{"parametric"}. For the parametric bootstrap sampling from the fitted mixture is performed using \code{rflexmix()}. For mixture models with different component specific models \code{rflexmix()} requires a sampling method for the component specific model. Argument \code{initialize\_solution} allows to select if the EM algorithm is started in the original finite mixture solution or if random initialization is performed. The fitted mixture model might contain weights and group indicators. The weights are case weights and allow to reduce the amount of data if observations are identical. This is useful for example for latent class analysis of multivariate binary data. The argument \code{keep\_weights} allows to indicate if they should be kept for the bootstrapping. Group indicators allow to specify that the component membership is identical over several observations, e.g., for repeated measurements of the same individual. Argument \code{keep\_groups} allows to indicate if the grouping information should also be used in the bootstrapping. \code{verbose} indicates if information on the progress should be printed. The \code{control} argument allows to control the EM algorithm for fitting the model to each of the bootstrap samples. By default the \code{control} argument is extracted from the fitted model provided by \code{object}. \code{k} allows to specify the number of components and by default this is also taken from the fitted model provided. The \code{model} argument determines if also the model and the weights slot for each sample are stored and returned. The returned object is of class \code{"FLXboot"} and otherwise only contains the fitted parameters, the fitted priors, the log likelihoods, the number of components of the fitted mixtures and the information if the EM algorithm has converged. The likelihood ratio test is implemented based on \code{boot()} in function \code{LR\_test()} and returns an object of class \code{"htest"} containing the number of valid bootstrap replicates, the p-value, the double negative log likelihood ratio test statistics for the original data and the bootstrap replicates. The \code{plot} method for \code{"FLXboot"} objects returns a parallel coordinate plot with the fitted parameters separately for each of the components. \section{Artificial data set} In the following a finite mixture model is used as the underlying data generating process which is theoretically not identifiable. We are assuming a finite mixture of linear regression models with two components of equal size where the coverage condition is not fulfilled \citep{mixtures:Hennig:2000}. Hence, intra-component label switching is possible, i.e., there exist two parameterizations implying the same mixture distribution which differ how the components between the covariate points are combined. We assume that one measurement per object and a single categorical regressor with two levels are given. The usual design matrix for a model with intercept uses the two covariate points $\mathbf{x}_1 = (1, 0)'$ and $\mathbf{x}_2 = (1, 1)'$. The mixture distribution is given by \begin{eqnarray*} H(y|\mathbf{x}, \Theta) &=& \frac{1}{2} N(\mu_1, 0.1) + \frac{1}{2} N(\mu_2, 0.1), \end{eqnarray*} where $\mu_k(\mathbf{x}) = \mathbf{x}'\bm{\alpha}_k$ and $N(\mu, \sigma^2)$ is the normal distribution. Now let $\mu_1(\mathbf{x}_1) = 1$, $\mu_2(\mathbf{x}_1) = 2$, $\mu_1(\mathbf{x}_2) = -1$ and $\mu_2(\mathbf{x}_2) = 4$. As Gaussian mixture distributions are generically identifiable the means, variances and component weights are uniquely determined in each covariate point given the mixture distribution. However, as the coverage condition is not fulfilled, the two possible solutions for $\bm{\alpha}$ are: \begin{description} \item[Solution 1:] $\bm{\alpha}_1^{(1)} = (2,\phantom{-}2)'$, $\bm{\alpha}_2^{(1)} = (1,-2)'$, \item[Solution 2:] $\bm{\alpha}_1^{(2)} = (2,-3)'$, $\bm{\alpha}_2^{(2)} = (1,\phantom{-}3)'$. \end{description} We specify this artificial mixture distribution using \code{FLXdist()}. \code{FLXdist()} returns an unfitted finite mixture of class \code{"FLXdist"}. The class of fitted finite mixture models \code{"flexmix"} extends class \code{"FLXdist"}. Each component follows a normal distribution. The parameters specified in a named list therefore consist of the regression coefficients and the standard deviation. Function \code{FLXdist()} has an argument \code{formula} for specifying the regression in each of the components, an argument \code{k} for the component weights and \code{components} for the parameters of each of the components. <<>>= library("flexmix") Component_1 <- list(Model_1 = list(coef = c(1, -2), sigma = sqrt(0.1))) Component_2 <- list(Model_1 = list(coef = c(2, 2), sigma = sqrt(0.1))) ArtEx.mix <- FLXdist(y ~ x, k = rep(0.5, 2), components = list(Component_1, Component_2)) @ We draw a balanced sample with 50 observations in each covariate point from the mixture model using \code{rflexmix()} after defining the data points for the covariates. \code{rflexmix()} can either have an unfitted or a fitted finite mixture as input. For unfitted mixtures data has to be provided using the \code{newdata} argument. For already fitted mixtures data can be optionally provided, otherwise the data used for fitting the mixture is used. <<>>= ArtEx.data <- data.frame(x = rep(0:1, each = 100/2)) suppressWarnings(RNGversion("3.5.0")) set.seed(123) ArtEx.sim <- rflexmix(ArtEx.mix, newdata = ArtEx.data) ArtEx.data$y <- ArtEx.sim$y[[1]] ArtEx.data$class <- ArtEx.sim$class @ In Figure~\ref{fig:art} the sample is plotted together with the two solutions for combining $x_1$ and $x_2$, i.e., this illustrates intra-component label switching. \begin{figure} \centering <>= par(mar = c(5, 4, 2, 0) + 0.1) plot(y ~ x, data = ArtEx.data, pch = with(ArtEx.data, 2*class + x)) pars <- list(matrix(c(1, -2, 2, 2), ncol = 2), matrix(c(1, 3, 2, -3), ncol = 2)) for (i in 1:2) apply(pars[[i]], 2, abline, col = Colors[i]) @ \caption{Balanced sample from the artificial example with the two theoretical solutions.} \label{fig:art} \end{figure} We fit a finite mixture to the sample using \code{stepFlexmix()}. <<>>= set.seed(123) ArtEx.fit <- stepFlexmix(y ~ x, data = ArtEx.data, k = 2, nrep = 5, control = list(iter = 1000, tol = 1e-8, verbose = 0)) @ The fitted mixture can be inspected using \code{summary()} and \code{parameters()}. <<>>= summary(ArtEx.fit) parameters(ArtEx.fit) @ Obviously the fitted mixture parameters correspond to the parameterization we used to specify the mixture distribution. Using standard asymptotic theory to analyze the fitted mixture model gives the following estimates for the standard deviations. <<>>= ArtEx.refit <- refit(ArtEx.fit) summary(ArtEx.refit) @ The fitted mixture can also be analyzed using resampling techniques. For analyzing the stability of the parameter estimates where the possibility of identifiability problems is also taken into account the parametric bootstrap is used with random initialization. Function \code{boot()} can be used for empirical or parametric bootstrap (specified by the argument \code{sim}). The logical argument \code{initialize_solution} specifies if the initialization is in the original solution or random. By default random initialization is made. The number of bootstrap samples is set by the argument \code{R}. Please note that the arguments are chosen to correspond to those for function \code{boot} in package \pkg{boot} \citep{mixtures:Davison+Hinkley:1997}. <>= set.seed(123) ArtEx.bs <- boot(ArtEx.fit, R = 200, sim = "parametric") ArtEx.bs @ <>= if (file.exists("ArtEx.bs.rda")) { load("ArtEx.bs.rda") } else { set.seed(123) ArtEx.bs <- boot(ArtEx.fit, R = 200, sim = "parametric") save(ArtEx.bs, file = "ArtEx.bs.rda") } ArtEx.bs @ Function \code{boot()} returns an object of class \code{"\Sexpr{class(ArtEx.bs)}"}. The default plot compares the bootstrap parameter estimates to the confidence intervals derived using standard asymptotic theory in a parallel coordinate plot (see Figure~\ref{fig:plot.FLXboot-art}). Clearly two groups of parameter estimates can be distinguished which are about of equal size. One subset of the parameter estimates stays within the confidence intervals induced by standard asymptotic theory, while the second group corresponds to the second solution and clusters around these parameter values. \begin{figure}[h!] \centering <>= print(plot(ArtEx.bs, ordering = "coef.x", col = Colors)) @ \caption{Diagnostic plot of the bootstrap results for the artificial example.} \label{fig:plot.FLXboot-art} \end{figure} In the following the DIP-test is applied to check if the parameter estimates follow a unimodal distribution. This is done for the aggregated parameter esimates where unimodality implies that this parameter is not suitable for imposing an ordering constraint which induces a unique labelling. For the separate component analysis which is made after imposing an ordering constraint on the coefficient of $x$ rejection the null hypothesis of unimodality implies that identifiability problems are present, e.g.~due to intra-component label switching. <<>>= require("diptest") parameters <- parameters(ArtEx.bs) Ordering <- factor(as.vector(apply(matrix(parameters[,"coef.x"], nrow = 2), 2, order))) Comp1 <- parameters[Ordering == 1,] Comp2 <- parameters[Ordering == 2,] dip.values.art <- matrix(nrow = ncol(parameters), ncol = 3, dimnames=list(colnames(parameters), c("Aggregated", "Comp 1", "Comp 2"))) dip.values.art[,"Aggregated"] <- apply(parameters, 2, dip) dip.values.art[,"Comp 1"] <- apply(Comp1, 2, dip) dip.values.art[,"Comp 2"] <- apply(Comp2, 2, dip) dip.values.art @ The critical value for column \code{Aggregated} is \Sexpr{round(critical_values(nrow(parameters)), digits = digits)} and for the columns of the separate components \Sexpr{round(critical_values(nrow(Comp1)), digits = digits)}. The component sizes as well as the standard deviations follow a unimodal distribution for the aggregated data as well as for each of the components. The regression coefficients are multimodal for the aggregate data as well as for each of the components. While from the aggregated case it might be concluded that imposing an ordering constraint on the intercept or the coefficient of $x$ is suitable, the component-specific analyses reveal that a unique labelling was not achieved. \section{Seizure} In \cite{mixtures:Wang+Puterman+Cockburn:1996} a Poisson mixture regression is fitted to data from a clinical trial where the effect of intravenous gammaglobulin on suppression of epileptic seizures is investigated. The data used were 140 observations from one treated patient, where treatment started on the $28^\textrm{th}$ day. In the regression model three independent variables were included: treatment, trend and interaction treatment-trend. Treatment is a dummy variable indicating if the treatment period has already started. Furthermore, the number of parental observation hours per day were available and it is assumed that the number of epileptic seizures per observation hour follows a Poisson mixture distribution. The number of epileptic seizures per parental observation hour for each day are plotted in Figure~\ref{fig:seizure}. The fitted mixture distribution consists of two components which can be interpreted as representing 'good' and 'bad' days of the patients. The mixture model can be formulated by \begin{equation*} H(y|\mathbf{x}, \Theta) = \pi_1 P(\lambda_1) + \pi_2 P(\lambda_2), \end{equation*} where $\lambda_k = e^{\mathbf{x}'\bm{\alpha}_k}$ for $k = 1,2$ and $P(\lambda)$ is the Poisson distribution. The data is loaded and the mixture fitted with two components. <<>>= data("seizure", package = "flexmix") model <- FLXMRglm(family = "poisson", offset = log(seizure$Hours)) control <- list(iter = 1000, tol = 1e-10, verbose = 0) set.seed(123) seizMix <- stepFlexmix(Seizures ~ Treatment * log(Day), data = seizure, k = 2, nrep = 5, model = model, control = control) @ The fitted regression lines for each of the two components are shown in Figure~\ref{fig:seizure}. \begin{figure}[h!] \begin{center} <>= par(mar = c(5, 4, 2, 0) + 0.1) plot(Seizures/Hours~Day, data=seizure, pch = as.integer(seizure$Treatment)) abline(v = 27.5, lty = 2, col = "grey") matplot(seizure$Day, fitted(seizMix)/seizure$Hours, type="l", add = TRUE, col = 1, lty = 1, lwd = 2) @ \caption{Seizure data with the fitted values for the \citeauthor{mixtures:Wang+Puterman+Cockburn:1996} model. The plotting character for the observed values in the base period is a circle and for those in the treatment period a triangle.} \label{fig:seizure} \end{center} \end{figure} The parameteric bootstrap with random initialization is used to investigate identifiability problems and parameter stability. The diagnostic plot is given in Figure~\ref{fig:plot.FLXboot-seiz}. The coloring is according to an ordering constraint on the intercept. Clearly the parameter estimates corresponding to the solution where the bad days from the base period are combined with the good days from the treatement period and vice versa for the good days of the base period can be distinguished and indicate the slight identifiability problems of the fitted mixture. <>= set.seed(123) seizMix.bs <- boot(seizMix, R = 200, sim = "parametric") seizMix.bs @ <>= if (file.exists("seizMix.bs.rda")) { load("seizMix.bs.rda") } else { set.seed(123) seizMix.bs <- boot(seizMix, R = 200, sim = "parametric") save(seizMix.bs, file = "seizMix.bs.rda") } seizMix.bs @ \begin{figure}[h!] \centering <>= print(plot(seizMix.bs, ordering = "coef.(Intercept)", col = Colors)) @ \label{fig:plot.FLXboot-seiz} \caption{Diagnostic plot of the bootstrap results for the \code{seizure} data.} \end{figure} <<>>= parameters <- parameters(seizMix.bs) Ordering <- factor(as.vector(apply(matrix(parameters[,"coef.(Intercept)"], nrow = 2), 2, order))) Comp1 <- parameters[Ordering == 1,] Comp2 <- parameters[Ordering == 2,] @ For applying the DIP test also an ordering constraint on the intercept is used. The critical value for column \code{Aggregated} is \Sexpr{round(critical_values(nrow(parameters)), digits = digits)} and for the columns of the separate components \Sexpr{round(critical_values(nrow(Comp1)), digits = digits)}. <<>>= dip.values.art <- matrix(nrow = ncol(parameters), ncol = 3, dimnames = list(colnames(parameters), c("Aggregated", "Comp 1", "Comp 2"))) dip.values.art[,"Aggregated"] <- apply(parameters, 2, dip) dip.values.art[,"Comp 1"] <- apply(Comp1, 2, dip) dip.values.art[,"Comp 2"] <- apply(Comp2, 2, dip) dip.values.art @ For the aggregate results the hypothesis of unimodality cannot be rejected for the trend. For the component-specific analyses unimodality cannot be rejected only for the intercept (where the ordering condition was imposed on) and again the trend. For all other parameter estimates unimodality is rejected which indicates that the ordering constraint was able to impose a unique labelling only for the own parameter and not for the other parameters. This suggests identifiability problems. %%------------------------------------------------------------------------- %%------------------------------------------------------------------------- \bibliography{mixture} \end{document} flexmix/inst/doc/myConcomitant.R0000644000176200001440000000130314404637307016424 0ustar liggesusersmyConcomitant <- function(formula = ~ 1) { z <- new("FLXP", name = "myConcomitant", formula = formula) z@fit <- function(x, y, w, ...) { if (missing(w) || is.null(w)) w <- rep(1, length(x)) f <- as.integer(factor(apply(x, 1, paste, collapse = ""))) AVG <- apply(w*y, 2, tapply, f, mean) (AVG/rowSums(AVG))[f,,drop=FALSE] } z@refit <- function(x, y, w, ...) { if (missing(w) || is.null(w)) w <- rep(1, length(x)) f <- as.integer(factor(apply(x, 1, paste, collapse = ""))) AVG <- apply(w*y, 2, tapply, f, mean) (AVG/rowSums(AVG)) } z } flexmix/inst/doc/bootstrapping.pdf0000644000176200001440000036457714757625371017105 0ustar liggesusers%PDF-1.5 %¿÷¢þ 1 0 obj << /Type /ObjStm /Length 3492 /Filter /FlateDecode /N 56 /First 458 >> stream xœí[YsÛ8~ß_·ÉÔT„› §fSåøNlÇ#;‡3•Z¢,NdÑ©I2¿~»B¢H‰¢oíÖÖ£@ îþú,#’pE€M¢ $”˜€Â¥HH‰ˆ*">à’A "ww}H¢˜€»"J2M¸&*dÐ> Z2(7D+†Ò„úˆ"âÐ7 twN" ¢ˆÁ`ÄðÈ¡ˆQ* Bc´&b Ú*%‰Ih€ 0 ÈiGâ8‰4Œ+‰Œ4DJEЉT0®¡ÐÀ$–Àt™VÐ&Ì ~ÂC¨¡3œoh Á‰BkxàðÀ#A”€ f k pºÐ³a@ô,  ÈæÂF s."˜Š ñ¾Å•” ACÏR0XŽ‘$z–ÒX7dЩ¡gÀäá—K gÂidRÄå?~ûÐ󤈇q_û„¾yH¦{ƒ"ͦäà­-;J ò ªæÅ$&9žØòËø.9φ ¡oódQk‹sÛæúûÔïÓ쎼xaGÝ›ãlF~%£cJ0hÆŒr¿ ‚_?ÎT1e FW.eyàÊm{ø>P•w ¿°l7(ë¡ÜH_÷¨š%1Îô .òìàWZÍðAk©Ô/ŒÿÄØO?—í€Þggñuò|M‹1üf³dÕ¯“ï_³Ù0÷óÑbIcTæ•óÓeݰ, ˹ë’þjýÈÍËÒ?pôû¾}[;'îÚæÚ-Æ4ZDÙߨO–wá¾7 Öø¹m9.gÙp>H`=Ž/ÏÈñ8Ë‹|0K üS=m®æ·&ƒ‚<ƒçë´˜$ f·,ˆÚ² jÍ‚Ør/4ÜMØö=ZNÐ „]ÿÓ üô×îÀèDÉ}Ù½ &º&û'‡PNR^Ñ×V.èziÁåàå}/âv7ƒìþ>¶ c Étçc‹@„Fé_I`ÔŽî’(äðv’2>N¦PÒÏ%HM!DY":“dT¸§™ „¯/ôË<+èÉ6ð/®}ssyrŸ:jóä/0O¿m„¾¿èW€¿ïôoúw2ËVP—n >WÌÕ‚KÙ®á`é¬,qp3÷ZQ¾+Pª¥*Y=Akímµ“]”ØÂÉiUùÂ&sÉ9kf¨…±c®Š£àuqÜ ]eQ¨ ²H?”W`erwùêã›ý3õ<›fkMt›äIÕ”<]—<´Kžh“<ë­já½b|ò¿Õ·]»öµ¤b]i³5[y^RÿcTwï¡:ZS#ÔŠF¹Ù–†hi†>Ð4Cù M‹t2Làq>ÿLãé6ž5ìÒ0›€P-ÍÓ—yJfMƒ4Iò|G«Tš¡Šê¢±É'hk&g:Lfù ›%m6GD^ËeÝè¸Zm³«ª®ã²®ãµ­³–ë­Z®ÄB˳Ì® ø­=Ü·/ܽÀ׳ûÁ‡›DËžÜVÎzÙé|2Á¶'@"fø…b¦§ÀWB÷”Äœ+ï…˜ê–aOJ» }?K§Ÿ=É6]ÑÈ](g˜W’¢LCTXMK<”¹ˆ• Äjþ!Øäy»Ê(’–€VtÏàê …*욇x{|õnÿðq¾5:Æõ¼ïVqqX»ª–ˆ³> xTg+*M…­îuÁÖ*[X«ÿ‰Im?¯1¥‘Ú°F™šífI5³xxv|æ wÑ5œ©‡=z c¢Æ(ÜzåõÌ–Üþv ñ­Ó²Îe7dCx€¾‡DŸÆxǬ‰o%«³tãêvdªÙÝ.ùøþúÝõåQ{¢ÏÇ;Ëd~“{õÐ!à­Ü“¼…{f' ¸íZf«ý®Ëø-kü…_ì&-×㤈W}et’7 ÑÃdžWÜÚÎ9“R  Úò©Ù…@mfsWÌf1û÷“£Ãh$Îãbìº_/WÞÇ^Êo –iöÉ’-’…y〕›BÆýÏ7ÈM·«™%^½BYí?´cJ´öY½TTÞ´ØL­Æ|yÔL`Ö#ÆhÅ ØøÐy mñýí0¦÷s‘=¤ÝA-X+’É7øÌÕ…˜oÄURÕ%s‹´tOùŽâyñúäý¡ðêûým6É×Ù/íI]Z­æ¦¨»þئM:[=ÿ°‰6˜Q«pϽ.¸÷0Kï“u.EÓ›FÙ¯küh¸x[–§#?Tgôñôäroou¼õp¡ëüh:²áÞ±ö –lsïžÖý·\bg›†i¡ût:Ïw±L¨ûk,SÃ{ÝÆÿÎöiSµ!qW7ßî]­ ήþ+&"²×ÈÛ³ö¼½ló`5XÇÝüóJr»=¸Àz 7º<¶SaPûruuH£®Ü¹~uñúâ¦nêçKL xÓutv»ç Z}Ò 7(LóTB=ûºàG$>EÓ¤õ™>È‘)ûàÅøh ¯Rú_DîšsªÄ³Iäºóq%]LÚ¾9=TÅQJÓ ÐI1¼wtä@Á[l÷A:%À%dËöðø(E§Ä-ÿB`ÑþQ—¬}¢î0V=QGVÔÙܦ;Û‡9M˜ÇÊ”–‡îÜ)ÙåQ¿§š1àò{„ÞÏ1gORKÍðáŸH•&‰8øDãbNÌfªž¨?X3›ŽpÙ[@º§éwÁ„%P?•pÀÊÛxp}ÿUFáÖendstream endobj 58 0 obj << /Subtype /XML /Type /Metadata /Length 1523 >> stream GPL Ghostscript 10.04.0 R, finite mixture models, resampling, bootstrap 2025-02-26T15:53:44+01:00 2025-02-26T15:53:44+01:00 LaTeX with hyperref Finite Mixture Model Diagnostics Using Resampling MethodsBettina Grün, Friedrich Leisch endstream endobj 59 0 obj << /Type /ObjStm /Length 2413 /Filter /FlateDecode /N 56 /First 455 >> stream xœÍZYsÛF~ß_1Ims_[.W$9²Ÿ%ùLJ4JØP€Š„{ý~@ð4eËë-…Ƙé黿Ä &˜“ÌæSÍ ~Îà?\,óôÎ1)%n=“7.0„b.2%ñÐ ¦Œ4ÌK¦œ‘̃–yÍT´ a˜–RÓ ‹½cÚ(<÷¸b˜¶ë"ÓN ®Q³ ™`,(f„Œ,€9‰ÅÁ0£µaÁ2cæ9bó<3ûA+æGf%dˆW,Ž ±¨˜5àgp5ИÄ+'¬b"*º÷Ðö¤¢(CȬ`ªÀÒi ½ˆc¥Äúp¤)A] UC¹R@e>Ðè"40+ˆ²„ô ª€¾!¦„¡7ì Øf$w_Jˆê¥ùÇýûŒU7eÍ4ãÇÅl^“Q;aüÙˆnLºyýù:güåM=-Ê|ÎÌ1åfÓœ÷~'½ç2Er–7Ó);cüEþ©&'i&½ÍrìæDK·¨§9»?É'!L á®cülºo®9ž\e{¥¹“ô\‰vìÒØ«´Æë4‰fLkœo×µôš¡¥chíƒ)ݲ”ÞfÖ¬Ii6Jùj–ÿÕëuYd™ØíEríU·W™ØnXŠ/[QuÇ~ÏîAYVõ çiCx]ÎÈÐe ¶æLš˜xyžŸ£Ãêf«6ÚLòž pÖËÑJu’Ï«›Ùö§}~ýT?:­GuNÁÒ¼?}Š˜Væj|š“âø«‡Ç›ôs&;gz5ºÈWU¬—t¬„̬v oT«Ú VÛª…TèGøÙÎ+z5ŽæyÃ0ÿýôèñÑû>{~R]ʇùU!Ž“üâf:šAÌr\åENIL “£K¼T1 ödz⺮f”ðúèiæHd%~zó±n„&Ñe§´ý»â¼¾${Yë+ü?üu¼P®KO”í(h24ÚÏÖ±_÷9ë=q>&s!Òà{£ëÇyqqÙÝB5ä?ñ<ç“)/ø¯xÍ?ýÜxC³ðžƒŽ¦£ 8¬FæsIc‡¿âuТ¡w–^ÓIÒŠ…?¾]å_2ñ“z4-Æå¼=/æs¼± *™¯Î¯ÞÂ’fh¹ÑùûV6cõº½>8úõÝ£nslœö[r-½æZrݵškÉ}]KÊeó6Q³éÏ žÐ¯5,J¸ä‰ÂðßÞøÂ/QðT–©„ÉäBÎêÞ9¨žíi‡s¹Æ­<"‰xêÖltIIµE4¿nL{w÷ ®dhèÑóÄ­Qª‘K£Ø[M3]“¬ ÊëšÃÚe‡S‡=à‡üˆóßøSþœ¿ä¯ø ?å¯ù®<æãjZ•üN—ç£ù%ŸðIÁ'È›ü‚_òËÏ×—y oŸÂßKxü5¿¦¤6Í'uÍhO~ÏŠêœÏø1Qÿ]ñþ7ÿÌÿ“Ϫa€(â4…¼cx•^S¡h$Z‰¹#[Ýt÷€ ¶qó…1j=@¿xúâv>•ó¹ž\”óbñ`)@]«Ûy±)@pëR½) ËÁwWC6ÆŽØæ‘ûü6ÉtÍÇ§ÚæcäQä3K¶V½©A0¬&C¼¶(ÄDhÅÒ]né-½Uß{&B ŠÍfî,[ÍÎóY‹)Ç;jndºi‹½Lð¤)öVg^Q/ ˆ]TüÇ`Š€Ç˜V˜h²ˆì‚ 3Ç2dÞ¢ú³‘ŸåŸ— "ºælÌ”[˜ÓQe íÒ"³èˆY ¯ŒÎŒw?–9]&ÑÞtÌY³¨ò¿bºpÎma.ˆ @¶÷™@Ö’.dîxTþÇò&½Ìœ0„lÐÞŠ¹T#™òmÿõ1ñr‚€Ý½Z›ŠNPÛíÆãƒƒ ×-..Ó].2ÐDèÆ¤ÚnÐv·cìfd7FYÕC‹dý8Ÿþ•×Åx´„_ZNw€‘µî$í+!í¶Ô¤Ø–ûoiRš­Cוݦ%ù^¡¨"š¸·u³H¢Î¨õ·‰ñ'1“yã{æ 2¬µþ.˜“Ý͆^Oº˜QKÛdr…Fm›ê\f`z#U&à1Zè, {…ºì¾Á8‘-1¶.·‘ß>?yòºCRá–x†ŽV kXë* /ìB4v¢‰ÛЊA#²ŠT\4C¤’n{¤rÉë!H‘bвõ’,PŠL½YA)n¥lÕâ¾(e[·öÍ1$?¢0[¼4Ò,$|§²€¶ 28–ô6óú{G÷nΔ vÁZ¤"foÅÛÞµlk<êøBl¡øŽ\?Øá~}‰‰¤¢½Ê 5ÄßQ ¡cÚ¯("}Nx{ðöýá᛫éù¾ NV|8êÕ„°ñ˜iÂŽ„@'Ù«aoÌRاÛ>ì‡Ç4»Cž¾ÄfùJÀ SÀoVÑžÑäýÅÖÓ¬›ååÓGï?`Ïç£úòôóÕÇj:wÿZ×X˜Å„u«Ø«ÐœFéOÁ7…>—¬ÅBk£¤ÛÞ(׳â*ßd˜u›h„'­^¶‰[;ø‚~ö4ŽùRø8‹}wxüæa»_¢¾É»ë§_7Œ_ š´Ë2»N\ƒ„V«¤]®’vh™?oY#]ó‰Ì®šg­“ß­®}CgÛ©Í­ð\Œ<§¦ÓD—Y¹ Ï%2/IR¤aK}}È(/xà:ƒÆ`¯‚Ô—ÑkùßÝA±øÐAÆZ|é ÏswÕWÜ…6m€Ö€Ž•@5uÀWm3«¿ zÜwF££°M»£‘Œ…íÉ»û½é=ð…bJtãa«»wX…>¢$ÆnL_š7`“ô¸7€Ûq¤¿Ã~à;¡8­d†Ó!fôIYÕYè;wfüž§`›`ÜfÝφzތ׾éÄã[w¤‚ôœ¾‰¯§{W°•ðvñÐ8eüÍÉ“Þ4㺨Êôè§«Q1­«æu]”£ìÑì&/9¹w=«þ ȪÙÅÏ éíþ%×±d̬‰hº…!¦NÀÓÿ£¡÷M´{2~<+òóY1¾ÌžåÅ||ùËÇêÏ›l4ÎFõ×3nµÏ,}n·Æg"Ùig¿E‡2€$;àÆÃb2Éáä4ß'M¤¦Ýûy_E H$};B‘ÝâŽèkâ]ѹ*Ê›ùfzÿœFØendstream endobj 116 0 obj << /Filter /FlateDecode /Length 4337 >> stream xœ¥[K“ÜÆ‘¾Ï_X9¢ƒ§ê ŒzWyÃÉ–d{僩QìAÜp`fzš0û1@QôïÝŸ¡ÃffU¡«ôL< ¨GV>¿Ì,þ´ª+¾ªñ_ü{·¿ªWÛ«Ÿ®8½]Å?wûÕW7W¿ÃÕŠÛJp­V7Wa _qá+ÇùÊ ^ íV7û«Ù7í¡6ëkiUåg__×Um¬4B°öú¥œàV°áC—z•£¥`Gx_ÃëÚ³ûÍ骆¦AR+-k›íáØ¯qAo¤–lhïú¸ Vìú¤y­¥fía»þß›¿]9QqÇåêhöÜÁyîè7´¬ÕÜÎ6ù’Íþq‡sœ—dn†w‰RcØ}6÷ |ƒ}´È·k¥+aÌêZ‰ ¦û°÷W›ah íÀ¾ üñ°gݯ‡u\Ç€D*à§u„­Œ7|uÍe¥•sa¡ÿi»¡¿[ÃG¯ŒbïèôÒr`[ó@?€ïÞ³¡ÿ}:dÏíÏkað,Šmˆí¸3Žu};üßJ Rp°Sñ9[b騂« D°*ˆýfí¬îÚÍ}×Þ­‘‹xú.©ûnÓFŽ;`hCÙ"Ue¹q¶üÈÓÞÐ ,"ô¹Uœ=dLù5›Þá´}r§•¼`÷ÙèsŒaïs¦ï†ü׸ªz†³_ß\ýíVÛþJ»VÁl¿½r`®,ª²rµ¿ÒBœ~?oÕ~å+o„ÉZX_i'VpàÊ‹F;¼í‡®¹Ö7ÿ \?M»æÚTÒh`º«”«y`úMÐ>Í¥µ£T\ ³Øc8‘ç°æqªì…±#ßÀ6-2DÕµbín÷!›‚t a¬ßJ²>ŒõN³á]6r÷´’µû|×]±Õ¾øu íÐܲ¡Úã!®­;>Ägò* hÊåÛCök›N®';´F]ª-ø5Ç1F³þ45_2h¾à™ d­AÔļg¿Ûü²?;•Ô•³J„a?²fÜ€}„c—ØíÈÄ®%HWk Ò%{æùTGþ}ÆtžT pá$à 5+Ùsö±°“b#—=¹ìÀeXXÙsÙ‘]ÊåL¥Âö]òÑ]zÏÙ>M¶˜Z²,Žçåò¤òeû!q LK¬ŸNœ€m¾Èæ  ñàæGºcd1$ß‚Â/‘vª0äÔå4£ˆƒ`!}wuóŸ?>wÔ µ]_áCûÓ1X¼+ªìĬ2gP¬”Ó]°F ¾X—Rù0;³‘Fò87ê éT!`Zª}8žž£óцOœÏC¶î±Ûã Iº5UõLˆ‰\ÅŸÓ@ˆ¯ðeª44§éh%ìd šåÏkøåLÖ´»ævâÈhž!È„€Z¸Ø;Šè’;ö¾ÙNe?õ#1‘}ÖðÊÚZÆaޏ–NVÆMýDZJ©E!EbCý æÏ ÜS^ÓT{¹}g^”¦oÛñY>Vîq¬Å3³-l鲬9Äg0¦Ú/ÎipÛìâH?Ñ–_ЗJ‚RíÒá”ÀµO‹ÝÇÙðþ¬âE!Ê"xDAQ:ý¦ý7¢ì)z×€ b4Èõ±šD9'ùd ¯"ôº„^ÖTÊz€ÕdjÖüïµÛút@:8ìGðªš@œD´¼„â#+@á‘þ?ʅ͇˜ àw¤ {:[6¢:ù1Ô½&èšf{ ù "?pa™Ã àlq/è-9G‹XÜ}»þuÂsþänéÓÄšƒ-²Í¦Ý†}À5%˜ ñ8 š>fS‚0"Ô5°K0ý|RW•މÆóº•Ò¨@žA‰Ÿ¯ëñÂ_!)Úì7‡€Ùí -…4-rHÃ3oNy˜šäS5ð4Ï¡DÊ¡¬QÞ-‚|€µ<ä ùõÄÓybø3hQŽåÜêŽÑåcvtLzí=9Šª \²îÂËtp.åä…ú’Æ—cFÜ¢̙ㆠKqš×,W×Çxï8¸§Lí!§:Ð[#àq›È¶/RÎ8 „ÿ–´.”ôª{¢tPˆ/i˜ª![Ðz¥„¯ ƒöm÷ka¡á€ ›œ”ûÓûï¢Ë†¤“_á-&‘4ÈH&@!sŠ_J*d•-Ieo×õ”4ô©L8W­‚Ý ÂQ‚Y4»Ý' Œ:Ç_ÇuÀ†}ìãPD)áYa`èÍ´MàJŒÉyÐIPŒ-/X¤w¹ÖÑ®p‹CX_Ï”š†k$X´ö¾Í³ëûR‰ Z\‹«J¿è^á—zWpCŠPÇ“ÕÃâB¥ÑÇEöS¨N¾ÝêÚ®PÒ:å范p3¿1f9AD¶ÅoP”Å܈$Ï~™14 ô|äŒÒOq'8rH²€[§R¸•ÿ(ë“r¥¿€:‡´–,¹vܰäz8GKXH"Ž‹§ ‘¼¯äåàbƒ6ׯ»8ÙòK•ãÄ‚©Ï fh_LŽkz!ËuÒ2µ(J8Çt¬K$F`ŒîseJZBþ êIà‡8ô ã9QJ²oSàĪ‹éÆÒ\ДˆÝ¹3ø³+@ “‡*4Qã'‡ùeÌœCéiçC‚1î|ª$¦ÒSÖ¶ÚýDÈ™µŸNa"ާɳ ç45§8ÉP*i:±B%ʦÝå6<®m²ýù™ýÍËÔ:n]È%r(ÛQ­¹*=ÿ“j- .¤/´l̶…$}ü+²ÙXBVÍ}&ÿBPQ©0¢¬çx;gFuÀ3E ¯¾³æIaq飸Üa}À/ðx…‚áI†( Ë _æbÆ/Aþ$ €©Oº˜@µ*©ÃÈ.f§ý)wém7õ¨@¹/ái_HI8Ôí¤ÿVú¶}ª×ëLosrö¡nòt£@]ÚF±íYË/ n†cׇiK‚ò7×Â`Ùgœv Bžªqj)åð|ŽÄ¨a³'øãi¶0í˜Og8PðJê˜J²Ûãqxáß0ôÂñ”tæÎyÞpI>cw4Z8d(¬uU )ÎvƒM§´ÛïBãŽá@ŠT¹YJŸ¤=æÇP‘š¢Q“ÍÅÂ.’H£Ðè OÛ}Ÿ­¤Ƀ\´ÆBÁ–M8”ÎôDRÎB› 7ø Ëg§–q¬PƤKBSçš”ÆXÑÅ÷€…K¯Y¬šfk7©;¹z MTw šìüƒqè*pk¡/@‰ÝØÞò±ÈBàZ’%Œ¼ ø³kúTa)ZÕ•°«–„ž™@´Ñ塸)b.ÍEìÔ ¦ B´»¦;½ <÷¨)¡89ŠÍ<Ê2 Ï¶æôà*QÛÏŒ|D/¸ÑöèÅ(3ɘã}„Ô2µÊ-A o+W"M·§JJ¸å‚5Ö$Øô–á‘?¯d(½rü £*ˆ5” ÿÜŒ÷9~nûc:¶œ× ‰5Ò°¿uÍ÷»"ÁûÅ jÎ![ú¼²!–]N.û¯ÏçàK!êʪ"ü)ÕÀöìbQ)jgϵ hæ =Ž·.ÚGÒe­1 ìÆ(^xzZP’q‹š×ŸÃîU¥Œ*Oðv¡ÓZr ÓØù¤qI_Ik’q¿hZ>7-ºB’ˆ ã{ÊѨ¥RŽ)íà„KœøMÇR(®¥xi¿gÑ7À3žº]Ï¢5„%ZK0Í&ʘ)`Ÿ0ábO €ˆà('hã~ŽþÌ•ï8*…i‡WTŸ" | í˜ßûg¬Â]¥¹TWî>it”¥?¬µÐ=31SFá5ö‡Y^ùëÛÛiq-Žº4AÍŸ§=XëÉ ž+„³2ÃÌpÀÇÉzÌNpfIîÆT‚Ët+à-kvý1t?ÀÃi»:êżÙA÷jªÄŽ÷Np!=ÙJ³¬ô Éx73Ò7b°E¥·¤”Qç!¶†µñ.ÅKô•-E«É-rÄUVŒþ¤ רF³v¡rD·XëG——Ô:e)òévpØ´¼ŸzgÊ„×eÒa™>̨,ôçZÔàB %Žý"êÜeÊ£Ír_£*Â\uÈÉÏXtYãÞ/î"'=ÐÉÉ—Ý*dÁã%–.ºÕsàŒ”Œû\ä±”Pˆ<œEŸ9³Æ,÷ d|ˆ½<§¶‹uÖ^«… ï!®µÜËAò²è<ñʶRvÚôümepUÇ;S6¸–$iÁ?¥:س‚4¼2îT5» X›µÛ‘X@C-Ãå˜gLަd9ø³>œ–vÞ|¥ çÝÚ`ÊåßÐ͈‡sÏ•ÐS«}RBrÔ–ÐCIôÇVnZ¼ør,^Å//ô¨‹³°º¶ +-¥Ù *Á1Ãä£;]y¬AàÅX*RD ]tµ †¾ë¥˜€ž}Á’¿§Ý í¶Ç®¨þ°}œkG뇦 !ßÇ2$…´¤pgméÚmTâX‹¹ÁÌR?f7ªuðÊÞÆo ·(˜xÇŠ^dAñc©}ˆÏFQÓc1²SÓƒ–®E‰¥¢&uÇ´æ‹"¤ánÿ,ÅXù‰gŠN›a>ƒx"Á¼(©ûùL¶A4-…Ç.3µù…}»}7v£‹\fhÇÌÒš6µA$ñ”2“j`Z3Ö©«XÏëŠÔ¨ÃKHÝ1?Wê#*UJ­veÑûL©- !gÕ±§gFzåä¿{½XÞ5>Òºýáú­ñsŸÚôiUÀ-—¯:+C„~©>¹,§|Œ›r{µÓÖß¹û)Óx‘.OjzÓLKâ¥[ì"ï 3&AÚpuÃQù®óÑ]Ô‚º'†H2P‰7fñ÷ûÂ;vá>³ÃûOã=íPûïã.¦0@Ö>ñßkFnO´;æ¦vó,®M›xŸ)¡<{…ŽŠˆ¡1ý•JŠZvZEÍÛñ8ÏÝÇ ùjÞf ”²]3,níõIDâL5!Þ>!iÄ+hŸz:¸cš,'¤žšohAd˜¬ƒôš®%Zpv 9Hžû– ÙZÚÃOuÍÖrªÂß„Zª©kGU'ZÂÐØÂˆÑ®P¡üø‹¹Àî",ŠæKW…E0UÎÂ?Ù%1JR­<\ÕA×çN*z€Â #«Bl£å<ü×Yr,¯ýãêÿWÒþ!endstream endobj 117 0 obj << /Filter /FlateDecode /Length 5630 >> stream xœÕ<ÛŽ$·uAÇïy±4ô’šd§R¼IzIv 5`y‚XFïÎ쨤îíUWï-_ïsÉj«»g×JìÃVOñrxî7ÖÏ«®«ÿÅÿ_l¯ºÕÃÕÏW‚þºŠÿ½Ø®~{{õ¯ß‰þÒú΋ÕíË«0E¬œXYc[¯Ìêv{ÕÈëÛa¬îò±Ö¶N) ãoﮞ5_¯®»¶3ÊŠÎ7ÃáþúF)ÕvÚ6O‡÷‡7ôÒxí\³§w~7Ow×7ҶЪ¹ËæÃüá„ë]³ Ky/›Öù>»ñ0¼ÈÇŽ8VÂXßüçÈ@zHodó[~\o_gã6óYj'š§lÖᇠ8…ƒSt’b¼þïÛÿ˜!ù&aîF™Öõ}ÀßÖÓNè»79@wCßzÓ7Ï ]¾Í}ø#àð§ki¼øš×ÙR‡8®sÍKã黾Ùíñï¦õΦ£„ñ´.P¤÷Ùfé| &ÆÃ~#,æ¸k¯o´ä Ñ|³ggz¤5Ÿ’cv}ØíǬ·Þlv×ʼKï›Ã.®ì°¯Ã´œ¡ØÂlé¶O‚ù®ùñ& 'õú6SüEBœ•|ýÝ6‚azÓì^͘¼—}|uÖxâ¡Z£½\Ý~{uûÏÏšm:€Õ½j¶4XHÃâÈ{ÆNB`ݪF|Âû¾î2ޏG<()€Q^!f;Ì“hV]oÒ\8Öµ„]¯›· âƒ!yŸÆªfd/ÞÒêí‹ñauà°ç¹Å1Qs¼½~‚] ÐaˆÈÚJø1!ùšíCK†òf»(é@d÷lN¤–…ZØÏ»ˆR#Ž´ ãÆœÑ÷ŒÈÛ É{Ä3…°Òì^¦•ç Fâ@eå{"¿ “DQ D¿ËàíÿÌ\oPJ‘–Þ6_îÞdã¶Œ§¸ÁzM*f<º¾•ʃÐütÿú/ õ¯Ç`=¸ìá ½vÉzpqFl¸ŽXç°KÏærM˜r_7ÃË8¿—slâ`¥‡R7ÍôY྇88ø*Jû~83ì ŒÌP”Š=ZoÆaõFXÙª¬Ã¤AIÎ;k‰§ë!GF¬;„KK„5<#å UO Yu^Õ‡¯3l”ª¾ÊF¶½ˆ>Bóö~ÿ|`VØAë¶wGvx ¥™í§s:Mdg–5Z%hECñð¯JjÜPÕ3öØï¸€ †î8~®¿'¾Þ¶ÒÛÀ& &'Æ~©Ðʺé¸Jwï Ûâ@l·’r½F~‘r/v¯ûݦJ9ÕÂ"GAN$0É–©ï¨A@”шjA:g&úJKP„>˜r„® ·¨Á>OPÁ¨Ž–šÙc\ \Œ¯2ˆžÆ? ”¹‡Ý~`“¶´e!ÑǿɆ3GQϹ† ûf]ï”>íèÆIt®µÆEmx&,3g`ýâ:y9?À …Áo'3BÏpœ™ƒ×¡ƒWJ}p¬vh‹±×ˆyuý:­4÷•¹ü!¯‘Ïäšß~ˆÛˆç}™Ñeý&3æ›Cܬv‰Ñ“l+Q¬¬¾ˆmõÄßÛF68Á¶ñPèGˆÎðC½ù"× ¦!î25ã²ýn›ŽìæLDô2û-‰<ñÖBVdâBðZî8O0.7”¬/×uÁéã’¼ F“£ÝÁÉ`wžO퇪qð¦^ERížÿxÿâP£D_ª×IµaHéy€•é]ò'îæ¬ó«éBÆ©äW‚Ë.ìåãÄv)‚¤»¾ù1³¢Œ©˜f<ÄÉ0a@ÏFÝqÊ´˜”g!·ÉzŠÉÒäemÖãX5cÊSâ/ŠÙg_ûçç»Ý᳚¨QNo'Q+™ ÷U\°%1oöïŒóp$&ñr\mÐã‚h„yî.£ÔJÀšÉà÷t~îrÐâ ÏG¡>„gé, S˜ªy@´Þ¯¹Æ(tfiÀíš§Õî#ð`ÑÁ´«ä:uØWîæN8×bMÔ‹ÜmvèÁ÷HLÙl†Ÿ‚–î ÷f3°4mT.>šY²Žh2S!¸—6Gc\¸qûz€ˆÞ,صG=ÿ8G K¤ ZŠN¯ã¢€æ¾’â$¨ËHhF$IÃ1¦Ì?ˆe¹zÀÏ”n¯+mï.É¿ÐÒ 5‡„" ÍIÆ(2®_eäzšj‚1Mk`£X¦xŒ%1 d`¢Ý1“ö6äî§Ìëþá„Z% ûÖºÎ' o«~ŒøDmâ2ù1¶æñl³ž\6¬® 'BÄm…ý(ç]uµŒnž3„2Õ’F…¼ f®r­îR€€úùûæûëª7d[ Ëd‰¨èõñôqnsVä6g8&³eʘ~ûÝ_÷ã"d8Vdk)1e™Ì^6­Á˜ÒÅ}鎯ñØT´G[kM´µÌ… lÅøû'c•…ýP¥ø˜Esê0êH”úìÄHÕ–j,ú©üx¡Å›¥l òï\Íœ¾ª×͸@—Ÿë$¡ÞÚn3ÜE*æ¹Wm§Ük$ƒž)2 ;EÔª`ÖiØj7¡ÄBšîÍL[ÆEŸÄXN¡o` Ÿ{fè„oCj swó2ÃóB](IÂÕ,š­PKoCø.Õ´8Áˆ G*­¢£¿?”µÛ˜Èð×QG%—­(A„bÕñ#ki„®«øû´bÅȰF;<0†Å ¾DÉʱ¹>¬ã,Q1¥"SÕ]€éN²Ó^ÌQ®ñ£–¶Ó‹ü“„ 7‰ÃÀzQýÑ¡§‘ª)k[­eò³_c$UQ èKç‘Ô¯`UköÒ–F¶¤QUi SÞꜿoó ¥ÂÚ/˜óŒÌãBèò±¶+¥‚'| ¡ˆïœ"ov}\¥ðÕ71m"œ.ôiHI9pvû»%uJ„¦l¡ (è ¿c ÷º 0º½<•º®”YHÑLÉGj‘n)(‰|PÔÊ~/¢åÕXäÀÜŠ·pZM²©]åd î$<’ gbÏ›)ÀJ'/ìS=ûT›z%t«4 3¢Ú¶± …xR¬KŠÞ;4Š_îÃo^ ¤t, ls ýÐÀa¸€íus¨·ºL›H mØá÷XÕ¶šV‘šüb–·Û¥T-–NÞ•œf€ã½N<4É#lêI ;Ô#z§/OïÑ)\l© Í«Ùc¿Žm=ÆçJu#ÀÇÖ™×B+ ÃýæÃ5¶õ~n(h Ð#ENxá hþªH/Óšg¶p‚gåÑ€5×¼ËO>áF6…v˜tB0;hHMAc!/SUä¼ ƒ J%WöÄ,¬™Œl¹!+º\áÈr CÎjëç À 1Ð&€ã‘É1KµN×ü×µ“Q1ÐFÀ`!_‡ÐPïkÙÎÜUœÔŽSº·GŒÒ&­×¸í&„P»Ír†v½O[Ú%SôPD÷cÃJ\T 1šìÌ}o@z–l¥µ, >¬'å¡ãîW.% SÚƒöp!—BÏJóá?ó~™8 ̆ÿ)Xß Uß-gðî#ìfžŽŸßä¦,5Z­ÒÜYïÙbEìQÁƒèPe!Ð…˜I,Ì2,¬¨“sßf3Sx‘zß7DÖ¯n¯þxzSÍjÿØžT Ñ“4j¥Q#€)»Ý‚1ù]aôdá!Ѭod×u94¶n­ô9°SYòFƒÁÆw<š`¤U±·ä©âÍ=¡á׳„‡ ®RCô»¸„›;;áxU—úýiÓæ½ Q®ÔéÅâù!t«š©bg ãUøBdUéç¡ ì1`R§ií,óÖ¬ï£âÊ$ñ°wQÈ­Œ™øØ¨¾>¶Ê«ÒÒ…sô<}R1àSltä¬,•,T'ø&Λ`‰$B>sHè•¢¼ãÕõ!¶Ù:;SD´X5ƒUÛd—²Äh½hÒ&^gº¥äÄ0¢V#<n§É³ ÁkCQ†¥zy3òÖÐMÂŒ) E:‹…;:íÊ‘0s§vû#Ž“wÀ:„\Xï2îÞExÀKãÚöí4¸æz<«ÉHñ¾yfs“Éy âGY©ü*ª'²©ô«”‘˾á8þö³¼ ý­ç:n wmÐTqLhn†9ËÕ¬xàŠÜ¼Ž€,‰cÚ½’®ÃÉÖ-Ñ:­]s;ÒLfRJ´…5¹}žôõ…PÂöÌÿAnx_(4£W°‚íBÏhÛCü…îOÛ+À%ÈD¼;Äœ)Ê÷8¿Ê>k¾@pBÿ=L‹8–Ý­2õ‚ý[miÝ:@}JÏu©–bº PßöÞJ»R”{tadµK½Õªsýê&9«Û³pµDƒø" v–#P.!PI÷qöý”g‹ìAKœE l­GG˜#"bMB6ÓdìLÝÇ¡  |´ƒÆ49”˜®¨²dlâxlÄ‹…ùUTÞÙöا‚#‘™ƒ³O‹Á‘•‰“>°±ÄL…Hˆ‹'€ÔR¤¾­ýŒ«0¯ Uòc\… Të.3žãœÞ;­ÜÅ’õ¬ù{àŒ/$Ù£/EZ¶ ¹Ò¶Ê;Ê?ÅZÀnõ0^!Vï ôúæJZãÁÞ¬Tdwfµ½’â+Ð!é/›«?-hº ÁšX9^aÜÏìcyd ‚F§@­ùCíÐÌOm=ÿ€¨{°JU 7lfñ^)¦#‹U­’Zå—éKv¹òµL«³S|^[øENÝ‚ÏHîo$^…p¦ù¢®„sÊ^"u-ŽäÔUŸ÷}FJej›O %¬ KöÿŸHYïQ¤´}ÿé¤TÝ4dÒà|¤Â™ÀÙ{,‚1X¡›àž‘ò®R¹}îÖ´Œ íÇê\‰^³€^k{oòÞn~^Ó ­ùÀ‰¼òy+J±/•¢“%‘ õ]¹¼pQY¿¼<3¢iõŠ5ghó«82G"ïPÆI‹—J X‡làY¿æ„'¶(oÇ+D”7àÈÑ÷ÿúº"}‚j5ža¯ê*%ácØ«·Ø—[?¸aª VJôä¦ð,#¶žmŽ5ÁÇy)ÇŸmì­èMk Ò2…éÓvÑ駼Я´W×O^j¿© ûeºPl'ýø\±¥+yçüàKrj¤§fß/Ò£Ÿ<âÂCõ­ÕÓõ’'5&a9êÓÁÝ"_Š^_ˆ;¥N¹r¿0îœàÿ w‹ ÿoáî¤R9»¨ñy4àø©Wüïj+;ðb´MšX¸ËdõR#ài­-[×£ÑóÔpêãqJ ˆržOpîoCމ•õyV¦L¥”¿“¢õÍ7ìJÓ8Ø(©1ï¯ëiù)° Í–@ãÊFvQÿh(æWõ'C^!\TÔò!M‡?º^§º~%7ÇÛ^Êo;`Y\cðÖ·VþÎKªåo^ßÑTÌœ7˜vöÕVLyäÂÈÒ«"§¾Øk[¦Ñhì )oµQ×ò':"¦²’Òý±"@×°Û…t>¬´f—Å+éÖ¼+’µ®üüf‰Œ›éC%'²šEÃSí&VÞBe¨õŸzŸñYñæ¼Y'“©`4 ÅûJM„ íÓqE'Ï$i0ʯøeaízúß~Õ½ÐB§+Ï?À}µ›‰²3_íF›p[ýw»)›óÄ<ñ.Ëòý“D@¯ Ô?.Ãø™…]OŠ©^•š¤.B3j ·UÏn#T½þÔ#Òa.s‡Ý¼kF…lÞR‹|ìˆ?Ê>ãœ'É}®}['WB%σž‹ùo¼ë¡tæLÍ9eÇÝæ„>¦û³Æ¾hÓy´—³S¾ùWU{-°§äxÁ’)•Ï“9òEè7ô Ë™ÚØ0õOø±ƒ#æÞ†¢ÙãFQ O7âóY$Ρîã%(¶®“¦µ)¤Ž©ðé$úi ´ÀAù§yú› A©(äÏÍ“Ór99­OIK«a Cä§'§<2|R‹À1³5]Jx²à¬Å|\ýÃ.Vž¾¿ÀÅü‘Xð´DÇU!OëVK'ËÔòaêxþ_ž“çt:fm/ “:K'PzÒÈ¿³ËsÌîåÇ1ûéZ©}A©ÖwAS–- }]GÆ5­èS.†7LHMŸš™¾!¹ÏÄLî÷7ÀÉÅõPꢢ^Ot“£ÍšÆâJÔ> C§Xµ§™ÚLÝ$©#TòRuÑóU¿hçñ–Z¤È×ßþùn8q£ ³Á&IIõË”Ó÷îÂõ¨QlŠ./¿ ŽKmñä‹ ØøKè0ìûM9!+½é¡-´Þ›n‰¿¨IU÷tÇá² u¢CŸ' Ég‡õû*<=߆€t•vŽŽâN?^‰Ò3X £Œ>ÝÊ£O G=ªÇx†&ßc±7¡éåæþ=lUG“nåÄ”Ïøêïù×~Â1æŽn¼}©;0¶üºÓeßÇPôÒ]ûÎÐ'õòKÎ1¬Ã{žÖ¹@º…þêK/ŸàBỆ̕Žw:èƒ7ôÍ/ÜÍ©pUÉÎcŒ˜Z§¥Ô'¤ÖÃÁÝüch´´yTCè˜`Õç¾™!ªñJÃa©:¬mm7ñEj$¦ùů¦®ñÑR¡ÝÁâMv˜ð @/=b7,M÷óO¾fÉö‹]Ä¡$n:»“ÄÔéq#®æíîi­3}oá }*tªÏî¥Å«›YCð?òÏ3Õz !:¦¼ }wÞî6›Ç à/z.5Ö¯÷wG`uÐÛ¡ìn=é¼ú+;ŸÌendstream endobj 118 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3928 >> stream xœ•W XS×¶>!pÎq(1 EÏœªâðÕ¡×ÖG*Š- ‚€Q†0¨d%(8 È$‚ Ç©Eª­÷¶¶j[Ëëkµ¶½zí³´¾Öê:¸yïÞ¥ÖÞöNßNò%''Ùkýë_ÿú·‚qt` EÿÅAËtqÚøñÆÌÒÅFØ/ùËÞ yƒ µë7éR7Åøhã#|Ž ëóª.…^Œñ¡‹÷ ŒÖÆnðÑmðY¹ÒgEÈÜe!>ó–-Y2r쯃zú‰aÿ™ñ³t›ç$&ÎKJ^ M]¼>(="rCTô²˜±q=ƒÆŽŸ0qšÀ0C˜%ÌP&˜YÊø1!Ìpf93‚YÁ¼ÆŒbf1«˜1Ìf,ÆÌe™yÌ|f3‘YÈLb^d‚˜W™/™8¦?ãÆ¨˜Œ·¢3œBÅ82ÙÌ}E¤¢ÃaºC©R¡\ãèìhs$NaNûÙÁ¬ý† ânñSøFç‘Î&—8—›}rúÜpÝÓ·_ß}èý=û¿Ô?­ÿwè|®mýþª\jd@ÂI^›¢ènw—^àHqw?ÃaãžDðJc®!˜{z¶‚Q——· ’OÓ°G-+ÔÀ5¨4ò— ‘ +É/‹ewº{b9û p£aë-]pêá¨6òäÌU“í,:c«S¿n'ºuÔ,%ØÜP‰ \‹ U‘Üå.b)w7ü â0;(zFŒ`BVõ ™¾ÓIý["ù0PÃUZ>†ct=‰!c8Õ5d>ï¸ÔTžøŠ@jþþ𮸶=Ý7mX))ÐûãW8HÙŒAj¸;å*é[„ÃjŽÝ€3üÉŸ“IBÏ4̓ž._¼’Å©×o}+’)ø…znÄlâ,‘X‰ Ø˧¯‘ëêÅ1Ó'Åø&†Ñf­Øï¯2™œFùy›¢]qº*åÔ©Ñ{Ü÷d<™mÊîár°:³œznÑîøjX«Yh 1zJÄ ­ç¹o÷®›%¶a­–µsÝha9Zq(‹¡zÖÒמÁÙ&džÏ×âàÚ÷k'®àÖ+Jy$Šj8»Å–r8¼!¦`Eñ¢’%%p–ÿ”£²`n‚E0gì…}À—C~¥øW…ÛrŒ½MØ•—iÈÍÓ•n(ˆ>ŽŒâ>$×åŠ5¹¶œÝÐ’Ý’ZþåЯ\\Ú¥rŽ˜ÌéÀë!/I$— †ƒ…(="-;ý¯óøÜ>ô²×2i³CÂ0Iv“ÜÞE_<о€ž*¹û ¦«%.Ñ蛀[<5èëÇtëR2b³´° Fºq*ñO€®ðã¡Ou\ê¼W|:ûjkÉKv‘=!ÕO•`©1ž«„üdaÆì³ó«f‚ÙIÆ?²„ãHÚQÆËŸìh6½˜ü>(.QÃQ8Û·'aHŠÛ¨Ð¶aß6U—ì‚ÔÚPnA\|ì¸\)`“È0 Ñr¦a#Fäñ©,\'u¬ï¤?9yá¶NŽm³^šög„g¹]x¸ 4‹²#§²‘À_¸µ’{eí«Ógìª>/¨<ñ[Ne}öÛ,nøåø‡UŸÀuI0OcûÉ“{[c(z*ew‰8Rš;J\”q8héQ^ƒŽ=]ÄQÃ5ZîA]÷ Ñ.RC¾¤ÔÙ\#¶¹YixáöàNÉ'*ÔåÙ°]Xl†R¨ä1–»3ë]âB\r'këÓjj­å'Ê ‡ÓK[Q”¥5rª¸ž#ÈÄuD€|ÊÕOßh;yDT­ÜšÿÚÙò½P!’PtV™œ¶éõpÛé¿ S÷Ý{o,í°÷Æ#I!_s—ærd:jG¯’ýE{¿/‰gŒ è,^®¬<×¹ÙF£8iäìëÔ&±IÆy°â`½ƒ×|ÄaYF•nøŽíà¿ùÆb¥3ÒJÕï)°îï¡*‰·“VÃVY.ÓF®…z“ªï~‘Oe7•j-kÜJ³›¼…×KbIˆqâiTOÄ箟œG‰ãѨ8Aõwº(åhšï¾LÈÚj2íÈ ©›ç£BDÿ©‹fô@‹Æ\0&1//c$ðÚ†ôêòûÏÜ \Á 8—Ê3G݇Ãq|ò…/ÇÑC~pøù>ÝçQ±»ä+w=H §‡lÈÖCÏqObgÓBê)÷ch”—YH6™¶ìJ3¦˜Ò€OÒ°•–ÿ~¬ÍŸ=Öæ$n3!1?~·É ¼|ÞÌauÏÃ=™Y‡Àëï)ÁÚnO³=a¶Ærèº579å>töÈS•òJ|b¶Ó79„¸Àb­Ì•€ ¼Ê² U ÿÏf’NmlÁÝŠ“¨þ6Kêz¸ìLº¿Á+¥Žr¶·yd®°÷Ö;CÊ_=m™SIÏŒ²–K.[g ¤0ñŸH|ÈÐï_D¯ógÊlÍb(§šñÐQUóªveF”7¨ú€½ŠbÝ…‹•Ð 'ÓlëìP,¡€!V|Ùæf¦þwàŽ‡êS9™Öóà6ÈÙjÊËȶ,\ £ù™Ðû‚ˆo±Ty  ºÖй挨m Ù¿”~ð¢q#>?àh}êÁ!qz©I6ki57—7–Õ¯à!Wó*»–‡öö&ÚètÿòJyšüêÖ¨¶9DIxÁo¦æòèw&Ð#d%ÒçGîþ¥¶‹ÉX lËÊN=¿¾>íhEãÁ““@ÖÔã„;õ˜^¯kp«»±ìÎzPpÃCÅ3r›ÿŽ Oy qñÔ°DÑåCGOEv ™.?R7ŋ٠‹‹ÞP«kh²Ö0Ûý7מ¨Ã#IsîºúIŸÛ=?FÐTØGJ <–#3sT‹w‘a÷8j\Š[J!¥VˆÍÊH„-¼jÀ†šÄAuÅv¬òÄùµïø–¼CúŠþ¿ˆò3£H=¹\u)Z$¿-çc&à0ÅM¦ÄÔÕ­ë""6Ɔ‡Ûb››mu­½‚MÉ’/]JQàvtRÊ)Ôä –¯sV#lf."Jû99USÆ‡Ž‚–ý|O5¾fqêý5ºà%ôj—Ð ƒq R¶à&:Ÿóô†àmY; ÓaTãXÚ }PùÅ•vøÖ ]|>"žÄiÔ¢^“¶UÖ5–Ÿn‹-Ý-´œîØ]ü“3fOmv¸F$q$%+›î4¯ty ÷dÏ-Í( Ûñ›8°­Ñí úÒŽp؃¾Íè@ßQY$™r ÎSà wɸš?×üé]øŒïœý‰ãÔài«š·µ/;]™Õ°ºPhk½Àß‚À¸¸]k6…‹[b¶#;L)¦]Æœ<0À.>½€š†³,:ÂаµàKý‚ü†0Q*:Xµ|k¼5\Pfhããµãî­ GÄ©Ÿýåžø´ð´ 2ÿÛ2Çß)Mo3>’Ö¿q ûyʦDŽªÊ|äõ £–dþCJ©2{9•ù3©^Zœ»BÔž\ Ô¦'2ê_0,â?e^OT··:.{›žúfýÞÔ²L~‰¹ÇÝêløüP½1­Fè·cŸ\„ëŽïc%Tô\—ë\­ùæü|³Å¼·°¤ÓÕ•aþ×(Z$endstream endobj 119 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 7569 >> stream xœ­yw\g×ö, ;cWÆ•EÌ,–ÄnÄn£Ø; bW¤Hïˆ,eaÙ³»ô^—ö‚Fc‹‰ã£1¶cÞÄ’˜˜{ÈÍ÷=ï=€Æ'1yžï}¿ßúãqvæ>ç\ç:×uVB™šP‰Ä|ù {_g?›‰ãíÝîÖþîÖkÜÖ[;:,°w°^doç¸Êaô„?ëÕŠ¢–ÙúÍõŸ0?pAÐÂàE!‹C—„- w^¶Óey„ëŠ]ÛWºÙ¹¯òð´ßáàµÆÛÑg­ïºÑmCÆ—O˜h3iò”©¦MŸ1ó½÷ÿ9²ÿ(+Ž¢†QvÔpj5‚ZM½MÙSïPÔHj 5Šr¤FSk©1Ô:j,µžšK£6Pó¨ñÔFj>5ÚD- Þ¥R©E” µ˜ZBM¦–RS¨eÔTj95ZAM§VR3¨žÔ}ê"åKõ¡úRþT?jeN±Ô@JN ¢Â) JAYRƒ)+j•E1Ôª‡¤§¤µœÔ‡2¥"¨’xÉC“-&¤ë¥çLmMÍÞ5»' ‘] =è‹Ì[LjY=—ôüµ×ñÞ {W÷™Õ§¸ïô¾iý”ýŠû÷è¿¥ÿ¹sÌmÌÙöò@ÍÀåƒzJÔj1Éâ¢Ü’²Ìì:¸Ãê=+{++Í“!ˇœyký[Ünî7¥ZùØ:dh¿¡‹‡–[<,}¸ùð€ãÞfP]ßö8àÑ^Ø.iwÄGÐv•®ªÃ>ífŠÄÜäôHˆ:1 »v|¯ˆXïºÛQËøÐ?­1ãé A•]–N¯<Œ,ÌÈZñx]’^ I–¾ÀùÐ †«°<eÊq¨ ™¢[f}ÿi2Ö@/˜ñ*£92¹‚Ü®X°5Bí ž^A Ýà ïÓUèU²æÂæmþ+˜_hö ª2ó¡¯f$lTâRz« “· 32´X‡”h9ÍÖü|í£K³í9õÚ]â»Ï8’w£ËFÔÄ›#å]töñÜgì¡v%Z&‡¯gÞÀÒœÇÅW.ÁÌ×ïÞÁƒ¸ŸrÙM½ÊCÙQN{$«>ä‚}„!26Y>lû/%îîÉ—mœŽ¥~ieuúô#ê/co>®Ÿ¶VYŽïÊ篛9‚Ãd›“Ó딨­¢YÓ§-+û U…0Ñ(©¾‹öÜ• ÞÈKŽŽ|ûàc°ÀòŸÇ¢¨ÏOËÍȃ8†:…nuòÛÛÀ©4àpÐA8 ЧÊV>RºÂÐÊm•Û`5¸1$Þk3¨P¾}Eɳ =ZêX-‡[ÏÄ`Vâõ{Ñ t­Û{IÚ&âwJ”ú(ÐäS†R%Š¥ !]•”1ñÜ[÷†õÇÇ‚%¶ÃSñd¼ »¢iØ­DÓŸ %b”]5Æky4Î(XòQæ/® ‚»l¡ùÈ;æ)6åìÎ]¦ÙÇx„XÕkéj'e‡ç«z™ÙïUý€Î¤S#[ÿ êõó$W΄û,˜nëêVÒÀE•‚JL³OÔ«9auýüdl&žC*Þ.á%ˆ{pìŠ~&m_‡ÚäÈ[!<ûÍ6‘¡‡F¡UÊ‘ƒKwÚyl °_ý0ïtURØGwû™ì\ =1ÿÀªÌ©0KLy¿s/CS!Ù{\‘ åx­¼;áL(í61ºÚåâû$ƒÌ°1xðøÄ\m>PcTâE¯eÀÌÝ–ƒw„hpt”wÀf`æ®lC4êuõî·[¦¬ã«» ãðh: rHÚXÆV*¤íÖ([$ ÂBæâ9¤-»AXò~œí=MYŠ‚dSU>c8”Ð]¹ ‡ª5XÉTÈüQ¨YǹWù)}•Ÿ/d}ÿ)Iâ_õñ‹Ë/X°Ö% ×úÔl›ë±x[‡LÄžU¾©ge†ýpök,ù0Ú69»A‰&Ð쨧-mÿH׃VÏi´á1Èø—î6UäÔr$PÝ91Ð#<:LZwH›kÛ—mAhx…Û(ü*l’wöðŸ+cu†ú[ÐdÕ ßBƒ†á½hÖ~äÖ+‘öýCÖËDLõËMEi2vtW*zËШp(À)«DH©Œúbah±yÝQär4ä¨;u rhõÝ“ãU»=Ã9Ã!{q.œeê+› “T=§‹Ë&R‹•?vvQb2ÄDs𤨏$[µ ì&¥éë¶ØÁ³À¿*TYX­þ<Ša¯“îDμÞÓuÖt3÷wrš\mJ,0Ñ¡Ä z$d§êtÅÅœ^ú¢âƒÎ‡´¥¤;èß~Np!í„t>Šâ…·;›Z›´=%â¾W˜KŸZú¡Aå®\FcSÌÆù/Åë;Y`Cݹ_¿µÁ#K¸¿!ïZÇS£„WâixvÆÎh žŒì¯ß®üx¯27t¿k60™‘¯Ds馔ÔOH % ßPª ô~8ŠçÑòpóŸ¯ &ü ÝGýåg‚Öж¾nî‹áÛBñh8‡‹|>%H¦ék=:‰ ¥Yþ>®‘á~ßÅ4\«¾v‰ëbx´· ü'IœÛñÁô‡"ª„rºAŸ}“+çež[p#Ÿ9ài`|ÊéN”àh|Eÿý=¿Ó‚¬ÞðhûàÔu¿壓8ÿÍ÷t1¡Ê¨âòèïÓòjâ-íœx âÓ)¢Ùxäïm²ž²iÑÜéIGNrlotŸf›»þ÷h&)ñzLDã>:X}¡†³¡IVw yIqCÚ¤èÁ >þ@Ó½!ûK®RŒì×vø 3²JúKCwdÕ\ xê/É™›àËîSË Þå%ÅB”THFà„$ûiC`ŠAáC7j³C`'Ä%'%©ÞÆ lŠjÕ¹`YÙEA™D®:_½¥}RÔ¹>hFŠ´(}b.;3S²º¥È,+Ÿ—µÛJÛ:C %¡†Â1Ô­1ü@ ɉÑq¦bªMÊÑê!Õ²ª JH¤Ã5¾à×h#$gE§ª³}ÓwNʼnŠq¨$1‡¼1åå½$+«ÓÇ!G“ãÌñ¯ŠÔ(C¼˜}ZjÞ¨AñnLQ‰—,sÁ f©úJQtœÏ­'Y"’Á¸‹GÍko"×+×IóD ámò‚èÕAj•WÒ¡Tm¦¡š<·7m(ØÌÌ…›—ø–쪬.*©ÌI¬Û¢SVÕË®æØ™í“”îôzÍÍrß9;‚ÖêÞ{tñòáýGŠ9v®kJ•ó«Òóy_)ñû'ä¬nܼ[7ºÔ?ÝrÍL#)”ö8÷üÚC¬!,Å÷ ŽDß)Ðbd›‘Ñzâ+%Oj¼!€È{ØAPHïצ…@DÆÆÆ'àËø¤]û_¶â<1È-Á¥iq™Ñcé»Âɼ©ïR¢]À¾s`ož#è,XKŽÌ®r„}H Œl{öí;V^É74çÑ1äØÉ¾Ú@ð…µúh96k]šœ9˜<:Q½b–bÖqY¤Êi–ŸŸY¢cØ\RiJ›u",®‚N{Äî)–+6ÛAòfûM«W%‡yR¥ž×UÂ÷yÿœPCBnþ`0ÖÔÿü#ªÜH‚º¸¸ÝZ†Õ™Iª I»'Ùò%«œoA‘{ ¿Kî"=XGºÖè§X6kÛæˆH]¥»ôU'µt|WA7\ÈiÙðX¾R:9¸'Ûùm óqór†uß åÁDS ˆA.4ƒ.» é£ÓåpËÝ*] öàÂôm7#© &udÔ@ðø‰ðe§ðP½EDì|?;±K4í¡÷BÞ÷\/cGi<&‚‹Õv˜Õ]aöúUX‘¬[N9‹îQpâÍ‹ïµþg>âµ»ˆyˆÕ&'Ƽƒµ ,EƤ¬äÒy•Pü>:JÊóDc:$Š U¡kü.Köf"J+âS2ŒPÀTî, öÝÚâqübó™3åš/Ì®¼xBW$ÿ’câ «{ÔØ)ñÖ=’ “Q/yV,h'ª“9¿ KcÜY;ùšŠ¦ßiiͼ¨õ¨WºhԾͅWW–îùlvÓ‡xÀ»˜ÂýñÀ§£v×¢ÞYbSeò/›ÊºåW£Ø¯¤¿Iß0×ð,Y €6!ûwœS`_áLœQC"±Ä³^I! ›Gˆ²«‡õEõ8R¥t4Rÿ“ÔèT‚_Ël0d¤d#m{…®ãšìe£5>#s¡ >…Fq2ˆ‘C…0Ø¡‡TxÙ‘JÇážaN˜!:¦§ ñBïÌìNÒˇ_—©ðT³ YÚOÅÈ„(™ ×vô‰SA2$ZF¥“ò »²ß'åG<:MP-K’Úâˬ›PþrV ?ÓlÁk€Æ>´_öJGñÕÃFc9fŸŒB²K‡öÖV(—¦BrSˆ€dÕ.†mÚä»5t›weð¾ÀfÍh†Fý¹šC¥ü¾ºSP-»ù­Ù»È©"˜NUÑEiÕÂÌj")ºæO î!ò÷sØ ì˜MãBA\ŽV·“äûCŸY>”hóµev2Å‘÷B:5Q§MQ ã:+2ctÚt`ò ½X)£«àÈsîÀ|KÑÜNƒw¹añúĸdu|2ç9Âba¸î iô= —¡Aµ2£JŸ:>&}Ǽ;‚üüËâúBÒbåd)DZ²44ú^Å^`žga«íÊ.þ­lŸQ!ÊD§çÒv7ôH޶á±ÄÔ-Å‹ðx<»u7OD ÑR4MF[¹yr\„ßšþîX<ø”‡rÐ;ŸÝý Ÿ3ÅãÛt{|4å^†Q‚L/?úZŠÚÛûÉÝëÖ.˜¶v(‡é|¾Ä7ÿÆÜ@2÷@ ýÍÑ£ ùÏÅ$EDCR^U“_Rνò?û*ÑEÞ¼þ9<0ÉTf3¾ŠßÄPõÉ{µ–¬bð£¼*¤ÒwG¸P@Yàž½%Õ\WmˆÛ[À£Ùüy½W-ùèÒ§—ÐòKR! ­”ó%w¦—à¼bEþöSÄŸ^=uþz߈glMãtjPgwT´¥Óâ%hµ1 œ§½oKó$BmÒ铇Îh{+@™t"æê®ª„= Õî¥Y^àÅÌß0oºßìÔck¹Õ§4—´ Ú¬xмô©›;}jºNŸÎRêZù—<ÚÈèqû 2QvQðßÁ‰q}tâ×%$5ß#÷ rAEãqbJnf౦·ÆM]–¹\~JIT1•%þþáë>ò?sãÂ¥o9v`û0Ó7¥ˆ(}’ÿ•ah-/i¨@m(£BÚn+¬—ï7H¶‡’1•‡¦æ×¡±P••\š*aRv@Ô0ÎÕGÖlø “Ïsh&8q¥‡AÞ^q“bç¥d뫈¸ _Ï÷ÊÃS_ N‘ Å®yqùÆå&Ý]!ƒÞBÁ­³h‘B«OL#z+åÚ¹¬Œ‹'Zô¥¢ðôÓDƒ?ÑË+ôQ¢ð,Öf© £bˆ^Šû*„š­s_I ÈäU_=§/¾9´Å",wîJÚÉuŠÉ¨ÑÖ1ÙÊ ø#]þyfÛsþÕ¸ë©Á½^;üŒÆÃƼ?n3îYì9aÀ¿Ñê}h<1˜<Ñ¿C²BÎP™°ŸA×é:8Ô9åäÝÖAä)IK#ÓÒµ'û¿âòè±I ´ÇiÃÚ§Ú¾IÚî×y\ŸdW"Ó±L„'µ¥DÅkÔÉj¼¬#L½:¯Ó¡Öœ ¢=4 É™1+Þþ‰¨ÝÐîŽßé;S5¹PúÔÔ<,ÜWä5VÕ|&:T©­ã×x¬ýÔßà.·¨¯m³·¾¶Çþê?Üc{3þ‡„i*=GiÄ'|ßÀ›ýlÁ®ÿMÝ™)ßd­/Ú’Ð?Õ–x+¯ÖÄ“LépQà)B´6%98Ü=g¡²3S‹ÄLõoggœRÈñ0.P`e‡-ž*¨´"` o¼¹õ¤$渣Íí Cœ!6ò@Ÿž’‹f © ô^GZ×EË®« ;9÷ŠÎÈjêTÙ ßP8"ì·ÝáyVŠZA·T¨Ïdf‡úMý$uR’ZÉÅÊ'£Îàɀɻg»“‘×›GÇ1§aÔ)IiY?CìÇÜ d’ƒ¤pïÏ‹D/ÕíñWýIQÏù×ýLÓœ¿ZÐô¤Ä Mõ7+ÖL…Ç òò°²Ÿˆ Ð Ò*¾¨¢ŒC ýéÚëI¾'6?…œi^§Ókýÿmõ©×¼þœ94û ª?¸}¶5Tü‡üþKbÛÄ%1zû2.?ݩ绺\Jcó¸Hm²–4f²6¢D%ÌdlÇÓû/ìiˆ )á\’ÕþÉxUF—•ìùxM‹íÜk=–pXö¯"Rj@Òß›ã&šDNvQâ²áŽNÞÁsÂã Zb”"'üRp³«gD@``a@C~^ZV6§ÿÀ¥ÓfµZ«…$&!5)5çË/-²Ö G Ù•d£")ª!è,.ZM“º!"uAHgn†ÜØ‘JwSÜ ÉƒR´¦U^\îçìçW\SS^^#V;ÔØ®0Jšî¢Œ»Raº.‡Û‰·=¿ØòÃÌg°ƒ¹.¼&΂÷aNŠMóìï]?§à¥¿¯½’z ¾dfäÈ ÷.R-Û=ÎÞw+l‡U?¨ÎÁ#ø.ÁåŒSŨ×Ì ¨ƒËÅ£²`6,wI¤6ü%Ò\_H…éƒxoÚF“ݨÎÒå áV,› Þ⚢„<çd%Ó‘Oš;ƆóÅó×°Ÿ|¾î\’'Ý||-üåGÞüø/O~o-ØßG4—XÃDß§ØÝ ñKȨcðbÙ‹çh"â΂g–Hfs÷Åf¶ïNr8†ÂúœæÊˆJÏødÐj¸²ON5žæÛïÍT²ŸÀû>X³¯Á^ •胖‰¹«¾FLóˆ2ÔóÇ 4቙xñ-h¶î,¿5¼ôNÕÙ«$Cw&4öÙv³½Œ;køcÍñͰ›ã]Îm¦ùt¨MLòê@'¥ï¦š m¼689âµ ZˆeTéPÈ”Ýi\4Yèç´mNáÇžÊúDÞû˜†€¿`ï(§‰ß-AÔ÷Ûoâ:³ŠóB(Ikë5ñW½™r~¤°‰$1-2N#®Îñ¹Žf>¨xŠèEl¹0QSœ$MÜ­š¢Ûÿ|MÏçåX#C¡‡Yg¬ÈäÉØ»hƒYÜ]ðÄ¿:Ìh7?þ4¬mÚS$o³`ö'9ß"G½f>ÃÔ¦m‘žZG³L©º¤.¡Ö õ»úmnš&5AÉö €H´DMxÜÆðÅÄ9˜P®°%}si¼!Iü­‚Ý7*â#•øñyézCZ —]Ðxê+8 [2" ÜõÛ‰õô»`çàíî[Èp³oÝõ1C8Dk0h³­ê +ÊËwUxEy&lQ²¥Š©WÆ SÄüôbIŽ|„û¤ó–ÑÒ|.Âù¹àCÛ^v_I^VQ¥z½ŽôQIÞ ó–¯PÆt‘¹ØˆÙwÿzrhí ÿÉ×:3) +»ûíþ ó–‡Èö¡ÿC ¶ƒ`f›±“~ÀÒEîë7…så4ÿýN”·¨w¹Ý®°Õ§|·±`OfÓ9§£3ð@l…å8— fþwJö4’~ÿ_H¡´ÑÉalØåák·…èÔåà{NqnCs«öÙÂð‚çŠÜa=l‡ è7k VæØF´+ä8I†ûBrnR1$óÂ.D‘ 2/ææ¤§Ý‚\¢›]eØO²ÁV^X o[ÆÂÖÇáPw‚†Ó†Ó§RÊò¼€¬½"SÜ=—2·÷«´/=Ž4ÇÅþø@ ªCn-;K#³–íÿ¼ñØI¸Ì<štfâÈ÷l'Dè·¶læ²cƒ*v­ö›ê£˜¡?-þ™}÷Wn>úIöÛ7Ùyâþ·[ö$í…Bæü'-×®_Z7+íËm笛9uÞ…»gk/Ý?¡~³ªwñ…•–çhxt¯ìbDýIþŸµ’CÝ‘##¦?›´fcÄÖmœËÖg˜ÃàߌF¦ç›[ΖqÞ4޾eõ.GýÞî`FM!œé·}ñ)—ûHNìóä­|÷‘|ÆŽ1Ä·[¨"a ø\Œh„ã ræ‘ÒÆªãûrë‰|¯ÛQ¸•a*Ç;eù–Á/yùwSµÐ÷Ï\o™þ™¿_›%ûeqÖ5É_8¾„kªA\º.[Ÿ‘N$þ¬e¶ ñ¿õóÛˆé*žÒk(œ5¢Tq„ÂçâÛJˆe®>÷F½±¼µ­âàyâênÌûtÔ‡“6‹;`–Ï­—c‘]ÖêC?1dM[¤±NÓHv;»¤ù´Ïäež+'ÅsqÚ LÇfµ’ÞÍÔ¢^±û ‡3X¾ÔË-.D_Áe닳 œ1Fæ…ïÚäÚèqöAÛudÚ¿0¥k–.ÿ_´³È Ü ä.ù¼‹ÖòÊ]UáQ±j5§M%Éy)µéŸ_¼ ÌÁm`ÒSU3fãžvå[ÔUUмð?ùÚ¿ÈͧDmÞà râÈô» ñdîVhî>4õCr»Ÿ“dPÇÚ,Âì*n=6‰ÁR"ùgeã>§±Ù9ÜïÁÒ,`ÒR éâúdQ·{ u” BpYÚδ÷“7xîuXåä–”Èù5:¤33ë0¥üwâÆýßlÏhž()†n;zäЛ·g8¦F© =¦ZTGÜfÄ0˜Æ;ýøNË'Ǫw÷šóAì£:£„9ñŸ´ýÐk:n»fX|—‚³ìTp«ß&Û»îŽàBêK63÷ bî߯ëñÿ*ôð¡v+ùöä¸`‡ÐœÈ¢DÂ^$´g_7}\^Ÿè_Åõ 5 ó ‘_všQÆ÷¼Ò‹ëiºÆ¿w£N/"6]¯7œïÝ›¢þ•ùâ“endstream endobj 120 0 obj << /Filter /FlateDecode /Length 272 >> stream xœ]‘1nÃ0 EwB7°œØR\Ò%C‹¢í™A²9ž^Oy^móQ—ôÅ«æ xL¤&A&'R1óàÔ9ˆs€kPç Ρ#°ÄpAD”}=#«“#> stream xœeT PTWýMÓý¿[èO³:¿[£‚ƒ .c¢YPM¡¸°I´Q0Ph#²4ÈÖ­ —µAhÀEYlå£ãÇdâ¨ct45åV£)'¡2cÝÏ<«œß&˜¤¬_õªþ}¯Þ=çÜsž„rt $ÉÄ•aáiÛâu³ýƒÓ¶&ÚKÓo‰0ÉAøƒ £ßŒ®’“œOLbº”Xâ‚'b¨3%•HÖ%é–¤mÏÝ‘òYr¦fN`à\q] Ùœ« ЄÆ'¤¦é3RS4ñºDMh@X€fUš^,¦h|ÓtšÍIÉñ[·hÒ¶h"“b4Q!ášåá«£ÖDÌø=¦7E)ëÒvddfÅoNH‰Ø:{ΟÞ[HQS¨ÕÔ*‚Ф¢¨h*˜ZB-¥B©yT¥¤XÊò ¼)VdK9R™ÔM‰Ÿ¤Üa–C¡Ã-iœô¾ã ÇfÙ'²<Ù%y°üAWãqÅ+iÒv xœÎ õ’ÑoÜø?Ò¤nTf8T;Á3 ö””æ’Š—?xóM%AÀdkå8®ª.Á “'OÃhTWï;‹dh‘A¦Ëfjå}U߃ àXM ¹ƒ¥*’#G9“)^9>²÷ᵕh/Æ¡Ü툿 ÷Ñÿê÷ñ‹Iç¢Ù;dQ‰LK_5C¢š\]¦¥QY…J“L<šD£äÁ™¿ôX²ƒ8Òñó–L!Ü4l¯¤]ÑŒ®R¡u*ôš5BÞ#ïN#žÄù‘~€>Á‰qmPÍB–°€ÔÃÓðç–®õÄIË8 'óÚ“-) Å+ÉÝ–7°_ ¨ÈC…;ë+¬U磺օ$|º2“CÍÞ" ßÝ× WÔk.¡ÿv?BÎNÝæn}WW·e€¯ÿ¼™2v§ö ÞÝʾXtÃÍæ¢F6½5ùHbWjíG[Ì¡ À3WŸBëí>]d W‘_±ÛL'Ôt¨ïÑ­P—»§ r¹ôÆäÚ`¶‘ î mÛÛvª’ûŒw z· a ³hdMN¿e+âv7í†`2À˜©&:Š˜+a¿…cM‡Z†RÏAxÃÀéjä¹÷)ã¾â1B¯ü åZÇóîìsA‰ÎªóÚzyjFÚZ¸ÖÁa—h(2#´t¹Ïz__ó™¨Ëwä°\ó0ëÆ·§/ßâ~v‚ñ<Ž\”Œù@jwV ýj¢ÉŠ_eŒ ÄDl:xÃg¿Û) 5÷³~8tîqÑ á’±w«¢¯ò0ŽÃD»½´ÂÙNUG!r«* :L¥/ýŠÌ'Š=s7Ysë¶œ<šÓbªäŽÔvWìæ¶5>HB/5s1i kðCçÜë÷øÁ“í»h+Äþ‡–·íƒN5‰EZÅ÷›U¸#&Áz )œÓt¶jŒa¯àÚ‹kí®‘ƒèJgtug· Ï1C…žþÏÈ´àOuú ‡hò†ÕËç<ÝÜÚr ¹•a¿*Ù{&ê±7Îøé ªÕÄÕ ´™ž¨ÛkH…H¼°k?ƒÕôaëp×E`PdBˆ}X¯&‰Ã&(ûÐÐ¥ ]f£‹;ûTØãTM°+·¼¬p7—¾rCN 0D è3t Ð UÖ“©QÍFææ•e{©ó€0µk9ÖB–/&4aˆç³™€ó"c¶· JËÇ?0PùRîìAìwãÚ½L‚íü®ü E•Œõ¸.Œ¨lÉÖ¸¸ää¸8k²ÍfµÚ~‘ÎÀcœM m’kÏñús©p7©¥ ï¶’iÇ<ê"zàKÆväê÷FRȤ®:ÊÆò€+^¢¤¼|—Û¸iíPhÝð$3—øM =kÉRŸYßSŠ’ŒGâÐÛ³÷çL‡XfCú²wƒÈÌ6œQ•€š¬±h„¾ŽF]e¥y/74ôõú§ÆAðÄWQ6ò†¼ðøõ›ÆØiŸÀ!ñ=õ¦Ùë¿ëY;퉯ß)ñ¼‘¿¦—`¾#ŠÝx¢nÑíPŸn(ƒÒbîãð© Œ^Û&o†‹WZ™—MD­¥OU½€3â÷N™û=è‚—qr¯¼Œ\-rU8Uƒœ;Û"4á•VnÒ¯((5Až8e9ßÎvú8Ãþåÿ¼Æï…ô»'“Éÿ°Ùk†ó;»ÚÏž‹oίæº:ûzy0´|Ѳ¤å!KE›“øÂ"(½g.Í– ‹åb{ƒíKœ„S{Ÿ s·^„à•ˆ^qŠ;;,öU!ýáSâ«‹6¥j9ô ìn(ëM:ý_(;h.k(2•Ã:<+ÚAÝš^W\U^a¦ yjršÎ…ÂöÆÊê½f®èBý 0aîÁàCœ2VÖ\ŽW³Ÿ÷VvuzÛŸ‘¿®xÕü»óňÍû÷Tp"¼úlá0ºt‹2G¡‹T¸8ê¡"qòL >5ÕÙÕåueõŒVžLÌ2^^ÿmccueCí}h!~$ÏÍÊÉÎÍò#ŽKˆ7_&äÔ6ó5_sC4 W ›ùº¿Z®Xq~âQß•`e~±¢Jîc w oû› :¾íyCƒ°¦7Zêäüx”¿ÃwŒLsw¼ªª¢¢²ºÂlîùÂɉ¢þîtXendstream endobj 122 0 obj << /Filter /FlateDecode /Length 592 >> stream xœ]”=nÛ@„{‚7¥÷gÂ6vã"Aäµ2T˜d¹Èí33²S¤xF"ñ¾oØõÓËóËrº ë×óü«ß†ãi9\ûûùã:÷aß_OËj³§ùö™ôœß¦Ëjýômºüþsé^èÇ{þ>½õõÏM¤~ÚÜ?šÏ‡þ~™æ~–×¾ÚcÛmÕ—ÃÕxÿbü|u»mšqÄћњññ±i§¦Aœç¦AœMƒx`ìMƒØMƒИ3Žx"nšqÃ@¤Ò¬i¼&f#³EÓ c6 b2VÓ #äL‚FAƒœIÐ(h3  r&A£ AÎ$h4È™‚—‘ÓÈaã2r9l\FN#‡ËÈiä°q96.#§‘ÃÆeä4rظŒœF|—‚SÁÁëbv2;x]ÌNf¯‹ÙÉà 1™€!È d0„ † ƒÀd2Pj¨Ø`±¢U*pò¡Óž~¢˜T9Ér;S{“{;S{“{;S{“{;S{“{ŤÊI–“(&UN²œQŠ*I• JQ%©G:îäqç¾i÷Œh1Õd²ÉD‹©&“M&ZL5™l2!—L J-[,¶ W, äJ‚EÁ‚\I°(X+  r%Á¢`A®$X,È•‹‚¹’`Q° W, lJFE£~IOÞ_—¯^H_÷Ï0\¯}¹éÖÒ­ÄËè´ôÛå|áWfõ¿|3ðendstream endobj 123 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6200 >> stream xœY XTeÛ>Ãræˆ+œŽ,Ú2SÓ4sËÈPQPÐÅe_FÖ†aß_v}ß7 wR —A­FSËÊÊÄ´,µ¯úžS/ßuýïÌC_~]?âŒg{—繟û¾Ÿ£ˆ2УD"‘ñ&GGi°ô…ó½|"=BÕ'g ÓDÂt=áEýt-Ôüá`ˆ&è£ ïN·45^6†’Éà4…Ò‰\}¤k¤£Cý||Ã--\¸xþ|òù–¥g´¥íKýRYX€Ÿ¥GðK‡Ž ,¤2rÒÏrŽ4ØÒÓË×#ÐÛRêméâµÃrÛÖuÎ[-×;oÞ¶eë« þ{Y#ÇEÙÙï°•î\spíºP»°õáö‘2(ÏMÑûc8yyoññuöÛêï°-0èU빯Í_àþúÂ7b-Ž[²tÙ›Ëg¼e5sÅÊUs(jµ™z‹z™ÚBYQ3©w¨W¨YÔVj6åBÍ¡¶QÛ©¹”+µƒ²¥vRk¨ùÔ.j-µ€ÚM­£^§ì¨õÔÔÊžZL9PK¨ÔRjµŒr¤œ(#ê%j<5‘šDM¦¬©)”1eBí¥XêÊ⨩”)eF™Sú”52¤^¤xJB£Ö“lPT%ˆªõ^ÔsÓûDßZÿœ©A¹!m(£i:þY¼OÜÁ3ã–ŒûÄh©QÚøùã“&¬œP7qúĉ¿NÚ5éôä£SæM¹mü¦ñ=“=&'Øõlûä…’¾æöqϦ¾:ÕiªtjñÔK¦Æ¦LÓÍôÍJÌž™»›ß´p±89+y™Ž EA ¨A²ÏZ³ kPG{¨öR¹ÔŒ*$ 4LÀØWFÐl<Œ¬ ‰œg3~%‡šÁÂP¸ä!l7d3ž`ò™1|ϯšÉ´‹„H%¸)M¾WA¬j·&B‘ð6‡T»¯YÕ\­?q 07îb}GÒ õäM¨RÒ2¤88&8Y4†—ïHÞ€^Î3À~.?ÜÀ˜f?ÿ¶ÞÑ_R‡ßãvز„Ç,DO³ß¶Ûº©çOUÂçJÑ4©ôäÀxÁl€ ÌÁƘýñ5нƒ oWÈ-p´¶±q¼ýèûk×n|zÕa!?eD‘Çs„Ï9²g9?ÀzÔ(™g­`ybyc½.ˆêËdu4ÌÁ— ñÆPñè9OW4i¢'—„ÂFfÃ%Ã:Í9õŠ”B‘RtT—È”Q°‚ë C Iá(8“OyÕ*Ì1 —þsáÕï~¼üá^«rInL޼1ݨ®Vq%j ŠNKLIã3ÓQf\¨ëÞÚˆÁÙ¶vÀ|ÃT`î >POˆC•ðº>Ñ¢ø„ ,I–Ì„Xu°&/úù¥ÝnÑ~<û¤-³Üë/jýŸö¤{=Ž'u"D?ý¬Änê¼uëVúÞ?Ãß³&—.ž¿rë¢í]€ïª šì7>à`ÉR˜‹Íyì92z…¤~H¡;"Ãé}°„¥d`<î<™Àgž xLƒa?A,3Œ¼%¸k*ÓTuRµ‡ìêO!«—× z?_)ãíp-D€©ØÉ»£úþÑð5¹'MÁf{!s;…"«£KÖÞ‘zȧ+“ö!Ene‚„fõº ‹;%c¨æ«@_…¾5e raËÑ911«Ð¹& $Árñhèñò»ô(*ßZ¢å{5“ÞÇô¼O|nÞúêø 6ê.jT™@3,°SÙÁS6V(îPoUÁ»Á]Z“ï¿ÈŒÍö½a°uuòÐ þûÅô5.j b–­¹þý™VRRÓêÞCI’lßE#bëªÚn¾ŒÜ°õf<}1žðÃ+`’Ã?W £é-%T*M.ôïëÿ²¦“/S¶AÈ#hŠD¼ wª+€]ª ¿•hLº")dv3‹÷I N &Õ–xz1”f$6†"b¶j"%aÛH¹uòC q€5l¾:ü]ínصƒ‡d‹Kö^Å.yqEáe^ù)É¥)¥¨ ••ç| ¥ç™ì¡Z=„ÖÁ&Þ‡¦D}*è%0öruæÀ ׋áôÕÕfç¢*óÃ(ŠÇhÿädÉ^ñ¨6CŽ_Ã}‘²¬ cîWjxa2]_€jQ3RôŸ¨!=–µãt¬-<‡µÑþmž•ûˆîˆæ½†Y ›‹§<˜û{ÿ±–¶VžuòAŠ£ü0Gãð&Çvou[¾jíæƒ¯_»~µo«‹æú!²ŸHâˆ}I¬¦!i7 ñ]±¹‘ùzD›†¡º£ßǘVAšM桌2ßʬfdÞ^š{D"4‰u C—?» /(M؃ÂaE'gD¥ð;¶%I‘5²~_~³t] êzãÏx*?o6ž,a{ð¤g³€³Óšøµ0ƒÃ5tùÍK^G¤U-žÉŒd ŒIoRýô¾`/|À]~Éß^µw ¿}¶N>ŸáYc¤¨Q'Y³`&)¶I§é;£v>½ø@wmCe«6z°I *Ê$ø¬¹G6°˜Çáÿ˧›#6ÃÌÍmßg7 2~§·Û®áŒèË`sáÃ˰úrÐe“¶‹Q*glP…\LW½sÑ”B ‚×Õ±-aW–ß^ž5¢Jä¾5{§Í_k½l_•E”„Q ò¤ˆ ä[ZOHaŠZŸ`±ô7'x^ømà[žµ±D=Ñïïh‰+ô¨1ëèd‡’sbQ*Š/gØ åYõÈåå”çÊÍ<Þ‡˜‡7?”°‹¬Q{R[Lk]ic^YvÁÁ†”Cˆ©j(m“à XŸsvwwÝæqú<Ï^Ë¿pâĹŽíÙÎ…1çn½oölëã'ª‹;;kù¦Êbt1ƒ`ˆ–WÝ'#ïBûüžœžCõŠhšÿ-³Ö$›|§{•‡ª–ˆðBÍ#®“ôXÄšeñÉ™Þ1RtêüT”ÔÀÇ·…×)Jö·zj”½÷VßÅF<^7¶~H‘Œýµµó¿C<];ê”2ìŸõ‘(ÂÃ9  š€ª VùaÄ\iüèˆ/‚q»ÜÞYȯÿOivðá‰-»G‰éÖSð{jKVIteXšgŒ˜<íÞhêˆú$QSØSIÁ9þ/Á&Mõù~¯þ5eû„2Ïðá!˜8 yÆò±‡¥Õþ()Â"ö«öLŠž ]hzW‚Ä>‘Ãq_e2ˆÖ‹Ù¾ÁÞÓ½ å16×ÈñZ<ØsSBáëaéf-|s¡M²"8+7ç}{<.ßùæÔ‡ÇNžxÇJ½ˆþH_ØþªŠ/ÎÌ­ZßRÔ%³Ò²BTÃä¡¶ý<ž²&§9û#Ôf^Œºüý‘Rp¶}Né¯(Š3Q 2—ÅEÇF•¤–¥H@´S[âSâR‘Ì<åaʧ™!Yö(Ø< ùwu¡®â¶¬2›y¥Ÿwíuy*BLmYu…`,‚=0Kž4qÊï¹ï ðj í*(ÌÎ)äc÷ÈãÓ3¢ÓŒ‰­ˆ©êüåÐÓl¤ñºHð%)éöEñ<¾AÇû"_ßnT*ti7ê3º±>Üàz‚š¼B½ÛC:4ut¨GÁo«GÁfÿ8ŠàýÇl®:¶J‘—Êã¯ÿc—"ÏB(Ù<º"¦¶¾°¢¬€‡¯ÿ°+¬ÌF¨È|ôµi ß#Õ 9pzL±6˜­ykçô 6=0x àÀÛ•pxŽ6Z¹ÒŒ`ÌR=¹uóú«xö0iMRÂ$™ÒÈXNÕ¶P¨¢ÕT•ŸÆ{-sMˆÊ”gEf")ZVQÓ[pä?dµP¬S³¼ÑªÙu}x߇ûcµ¸uû’ÇóÿY-ŽG¾Ýdǥóf=„PU0!è !°—kvÓQR'Ñì”Kgß>~”a]é?uõK ˜0ë6ž„V¼µÌ»5¡ª®¡ªµ4­,©¯8uºãCÄÜý|ïâu»Þ±w‘àì””œš†æê÷Ã<›i–i¾”sv)MN n,#Õ~²„`!l9tcÏ%ûöþw[/ ˜[¶c1ž°n·“¢V=ayꡌ\¾£ã†º½þä}· X߃’€ÐLŸLçôX„‚5“ò§höГ³ÞqÚºiáþU%§C$ùù…Ää3Qµ¡á±‹~z‡0¶é·©Ã!8Àw\el¥t¹»ì'¼¹ÂÊùÔÎ/Bxö†uäÆ-Ös-c0yxÿ'~9åœÝmy¶ËÖñdÿ¹þ3_ܹ°ÛURŽßãìì·.çYçåöý*åÅ+ß?¼°ÉISÅ_Ái‘ ®r¹§ýŠâP NÈu/ÃîfÙ±¹‘­¨ åWgW1x9ìûç;´ykzHzTÐxgí Sö7’œk¤b}ÕkXÖrvúþ"Ð;w®ª÷$Ÿˆ§¬œ3%!ŸìÈʼüüTÅ4F׆„Êb‚ª×’^ÅŒT1ìâW~ιls^nµýã[ßÝèÿôxk¸Œ<Óy 8j­…–¡Á^ÇÒ‚Áßi_2xu_¼ zJ]U¿ùXÍ¡>éüJ Ä]éï+*wýGq ±ˆ-u¥=Ÿ»|Šñ=ƒˆBå¼—ëÅm\lPX¦`E ƒcÅnžõ±g ò¡¦5¬J–䓾wùÅUÀ$ðÞjWÛÑŽš*ù#b˜TsöºÎà8ØÂ9Úþ.:‹Îœ9:pˆUC¦Úá¶gcÁâ⎻¡ê ¾ßs¨&®(¡{3 %…eE¨Æ¼!ªTž”‘•¤àñ]¼?)5.E™#r硸‡½ÌÊ“r³¡UÖ”6h2ïzý.‘­Á„ëöFä¡'´Â›ÈV—Z¶þ¤K»ˆlá× ºýÕ’ö'ïO®õ¨×º¼gXÒÔʉʒK ñ=ð2Sgd'!FEÎY?Ší1ù›¢YLxM|eqnvq9waqfÙê¥Øš²ßÆ¡Š”¼èR<国`ŽÀ==°ø¾²¤0U0Eiµ!Áx6ÃÅxü©7ºwòçmoomDLs~m‘dRB‰°¦V–ä•ÐJ#ÕxÞÈÀE:aܑʂlõO~m^Á„ õ:¼Èendstream endobj 124 0 obj << /Filter /FlateDecode /Length 18079 >> stream xœ}KseÇqæ¾WöB;/^]LWõ~8Â!J–,葨¶¢`³Õ„Ô EÛ¿Ý‹ÉÏ&úy®ús¶>ñõ7¯Nõöõá’é%w!Ø›;ïΡx‡—ýþô¿oۧ}÷øðñù«Ówï?ÁÿzûðŸ_<üûùë§ÏðŠp®0‚Oß¼…‹Þõß”púûq»?ýí›OoÿpþêôËÏoß¼ýîù«Û¿ýlþùͧ÷ã¶2o³§Ÿ~zÿéñé«Û¯noñ«þáõ«ßâ§•›wO°®Õ¸³É7!wöá&ØRað7.ÙrþæñíÍ¿Þ||Ï!Fo~€5þüï ¿xe] gkoBuæìòÍøMtç’÷ß¼õ»ýª”c9Ó‹ú/𚕌åp“áY08"b°DçâMÀáÂ2ˆ¾‘‚5¹ƒr^n‹?ø\­/îÿÿ–ϹÀ¬ÞÜ9ã·û·%Ây½õ*žøßÞ¼Ô8qÑë[k+Ì4àÛûço?>ÿ¿[ëá7ÕžÞ>Á]ɤ3,(¿ëý§w_~v¿ýFwú|‹5þ·žþwô1xýö˜ñ?QÈnï,AÎþôðéq®9l!sŽ‘¬üdϹ²ÕWí«5."«õ[\«±ö¹Ús²7>–3zãL眂s.5 ðx¸0f*<ý7äMÎ{‰\4~C.ò¦€€TrÑø ½¨Âö·ì¢þrQȹžM¡SÔCeõ c™a«›sª7_ÎIÆÀ¿Œ3º\ÎÖõ; hs,x&¹1Â,=û@ïê¾…ÆU>ÂZxzUå{ùêÀ`ÓAG‘ycÏþúÀ®+eHxýµW‚XÃv‹ì•8ˆÂ?©Æí_r•-ñ O½:c°E›1Øõ`w¥Áæ@R¹úJŸ ¿1y_ÎE1ý6gb³hS:Ç«oLÖÂVæòäÏ.ò9 9ž _\4J^1.›àt\䵈ç—ÐHÐçÃoàß«kTAø£”×]êV‹él* bwýÙ¡ú¢KÂÙ%þA cçႝÙGÆlv’Œ+˜€ ðº¸>‡ î⺸–Tù Ä3ßF û vÙÐ(Å_L«a@á+\å×,ïõÑç ²ã˜ì€P$Åþ†•ôžo¶:ÃRv¼T ½ª.çsLl‰À•‹×Õ~LÁp©ƒÜ45[#ƒ»Ás…èÀ#¹> b|й‹b"ˆ0hW&ú_xuÂX­PØ„ÕM_±á{³ÝHu\å+ëÙsõ”ÀIKŠ•ÄOJl`VR!ÕN,¬Qñ+y…#‰¹ÈC™6žM±ã+ÉUþìÙU$Å*ç°Yô¼‚¦íÈU><+É6*üW±½+lïÀÖÖÙx¶×ß`V WÁ0PÅD€bðhæéÚVÝ6‚¸”ëHÜ Ul#ÔÜ‹8Í.2­°)O+¼Sø‚¦søô믬ŸKg£„ùeá™äŸQV5z''¾FͲÐ;I8¥¯Ñ;"´ÌmÈ€Ôk! @ØóÃ\‘…ˆ9©Ö`qÇð×K›–aó /Q(ðŸ1ñ‘ÐÁ£¯A/EZ4» \ÄwJ0|שúÃã5ûT_p[³Æ+7Õ A7]×)YîˆÅ®™»>à§Vq§-çþêW¢ác\ЧâlPÕjõµ]@?:±)ãÁ]„€,pÓfRa²  æ†Žcê§h”t10ƒe4ÁÏ÷VJóÆ•ž>Û[Þ0RÐ;¡æ˜å¹·VJ’hÄk¸d_h ‹ÞUØ&ˆ;HÀ'9ðl¯ÇX §ÇQÁÕÉSÎ×0/|ô´xC“¼°XÝ9c',¢ƒàÉ^Gxa7“…تUàëa.>0PšÐ¥‚C~1jüüXA©pO×M#ˆ Ÿ„ ¦Ý£[¿\6±àtGMð™`Nd² ½$EôåŠg£ÑO!‰I!›i°¹à²úP—Pqh™HšTI€X©pG%ü> PU_ßo ÷ƒH•TÍW‚ ‡©]fÑ º®z0Ìu0hž¤É5€(fެ…ÝÐ37ˆ[-D‡«Â67ESÊE>Þðà;9W Vá³Ü“Eçטg.à+eÍžÌ"„¦€Ò4mà ñðÏ[?“,—–Á†ð4›•(q: â ‡1u¥™1t 9ºª´Èè5ƒD£1ãÁC=’iåzo±=ÛĹ\™ÀXDfÌ!̨Xo4[lZÑ=ÐøE¢ÏW²¦0ìW…pqaZ­bƒÀq$bÀ6ºXÆsµY‡¾šÁ{¹âÎWãÂà›oI„h4¡ƒÉ›{Æ4õ¦Õ¸ÏrnÅÎu#ùºv²<Ï©%D_’À“­ÂÌÛìt$éY 1½.ú_ÉCETk*@ÉJÝç5uäÙXðêòY£ÁŠL¦l‘„XØ\MÀçMÈé8b™ër¾`å*æ/œ5&ÆÉà³0 L³ wÎCTI=P†ÜÑG{r°j jE‘FVìžxøÙMPZðl3Šäuµ :šççñ_Y Q“HJC\Q5@7&­¸±uð—"¡{ž9SràrkàpÕzöL‰bÜ’¹ÆX¦ˆêüW‘ÜŒ e*N£}"mÓV¢qÝË¢4s[á `² Èg‹s¨P™§I@É%U(Ù’Hl`y&¥W¯ôQ¸hbžAW¥-‘¥Iz'4íðˆœÌwÙ¤I¦$«Àà“Bë$̤ð*Ø~ Ë‘p'¿”Ñq"ôsEMm–ÏpŒL&ð°¦Ef$s•dÖ“€ü%)…C‚õ¨×Da6ˆ˜ÈFge=úŠãâÈÝ_W¦¯¸Ô'I$,柅žÃÄ5—g0ø ¤+ ¢g;?{©N<*jº·Á Tç s‡±©HW$` S FU~a¸ån3XÒrÕ 8ÜQà:Yu‡zÈYÖ10b•­Ü/6ëËFø° ï+V\‡ÕdY[ é•ïa¬óVóÊ8z{¯Õ¼@ȯté%Ü(ˆÂc5IK„>y˜‰Ÿª©bS¢@|÷eçU.É«àsŒf¾pöhæ‘WÅä&o¬‰ •ùu3ãÆŠØqüÄc°â]Srà·_dé`!Ž& Fƒ* ð[ ,ó«ªÂQN‹»HSRe×5iʺ·üoÖÃMc$ÁôT^ÛšŠÆc$“u¸ÙŒæ•IÔä`5š•J 3ãÜG‰Ê’(¸“çf±ü_‘ó½Ã”“¶ƒ3eîÚl…f×嫤Ãú¤Až1õ!œ)ëtÁ7ü[¹D— Ý/åKVÑ ãÕŽ‰ï˜­¹À(¢à…ØCš6I ~%·EcoMn³ Ì4¢S¡|0¹<ìhúÂÛ)Vv`/®&” ÂÞ’ùú‚'“E™™ÃB*iq±(]¤ÏËl\š?qçVâ ÈØcµ/Ø80…ÑÂ(·:XÞm)¼$n«¢Qð)ÉJ­j¦¨¬ìwÅË©Œa—™B§Ø"jc?Â.ùÂû RÁ`æ3aTdm4ÎoæA¿[cJI¢@•w”"8¢ŒSoŠR!¤ À–Su\YøpÞvicÑ”ä`ÇUå…Z&Úª1ÃÜ€fX“ÿ‡¹°e ªü%–¦ð½ë” À¹tnxš¸ÚœÅÎ:'%É‚lðZØîÓ(§^ÕŽÙÀ…™ÕY'/E-öKh²ãˆ;ñÒð65y*'£vŒ ¨s˜?á‰ÜjPW©¢àx+NR¥g Ç·úܨ)™½g «¦ _„¶YÓÞˆí0<]í!².×U56¼yQnZTEµ1KìOÑpCËÁÍ k>„G>‹Ep Qä 2€[p/T°qƒ U3_±Êê,‘²²«fAb±e©P¿ÂA€ˆŽ‹Obøø|Q oU–Uf±€DWDðãy¢Í…=C°Fxb–eM`ƒB `+¦hUcÙÖrdgp§9Ëj”l%¡€¦»TXá"2¡¾åˆ¨Å²Ö)¢‹(4¨€ U¤]0OBÂwLÂ'‰ýЧãÖ¨¤³¢DiÛ ¼+ I ŠB&rø'ò¥©¸G@Å$ç¥#¡–:ˆÞe?‰Fþs0{v†\t("5E• ÇÖ /á anH¼®{s’4{(‰èbÆF¨äèjúæhô5JÇŠ"Lê$ü‰MpÜ@×@å_UÁ]ÍN/ðäl;FQ-ƒ•Ú°êš@…×ù‚ä+ÑXŠ'‹.Ó¿ßPE ¨Úʬã5jÑ.@ [¤‰Äì¾Â‡tQÄX[#Ä}ÈŠa¬Ì¬š2¹"‹”’ZÈŠá\õº‹õª6<ò§ÁPË¡òÌ×*IÈJÖu sÈ1q¬ºÓƒÕb‚ï,pPÐ* ë’0Yõ¬IÑݘ¶T–bÂpö™œ`¥K²DºlP¡ƒ%¦¥Ñ`)H-n"Þ{Ãp¥Ö¯´¢Ô ?K ÎA¤Y±õÞ+6H’¢X—%Ͷ`‰œQ$mr+ãg·®86°¨"ð…WEnÅòªÞx, æN7Òª ¢ØËH ⯠u-€XLpʲt”y$i¢¦U2&Ù¯´Eöšš®(‚'aU¥y¢¡”f€1ƒ 6ôs°4Æbx™"‘™WNïˆäŽ?~"’«\+»4|lx60¬6½Œ¿‘(h#D$¯D¶ÅN4_ÙÉ+«õCmN/¯"ÒË~æ3/¬"²««¬ 1оéóý• »‡.º$ž--i0§¿ÄÍq"Òæ~îo̘E¿ýyò wœsèw?ŒÁ#[faNÜ·èLÙÇÕ éÀêÞ6EÌ]hðÛEXÑÑ0yåRW‹]ôý‘8(‹œ¯ËÝ)$²ï aó…Õ¾ÕA‡H§ ”Ú¢ct*™F‡H…5˜ËÖt‹C/™oÄdüõêlˆô{Òž7Þ/êlˆts#áÕau2D:,?ˆn ØE=l½®"›ç¼è|"û¬ €¬¦ ‚;¢“ËÙqq6—.s}"Û@Eù´vªÇ:$‚hB×üë©pbÑè¸Î„È¨Ž¬ úŽ”Ì1€Ôd&lLˆTpŽÄžß™ÉUXWz¹ˆ†&1ѱuåAΕÎQ62ö¾…Æ1B·o Ð Ì…ÐU i"G imLˆTZÁ3ècæª1!2MWDrSÆ^;I”a=è€Î„ÈlS]®$2¶b$W×,R#C¤ÚÐÖNOœ<Ïçì¯[D—+eç‚7.D*Ø?+¤b£BdÒêušºøð7M²±Q!²ª«B위2di´¬ç –5ì2‹ 1O4Ž{|F6[‘ÛÁ$ÞlTˆ ÙPÈð‘JÔ`f ‘íÒz_;"óRŠj\ˆB±)PñÎ…ÈOV%T:"CíHyÎ(´q!RÙ—Eýñz­È\nä r‡42D¶².ÝÈjVøá C$¯Ä£stDUwŠ×9cØü)¶H'CdÐ_”¢Ì¹ˆ0Þ°ó"¤‘!ÒÇãmŠëdˆÌçI3À_ÄŠ Q(IMr¼ó!2 *kãCdÎLZT÷)Ÿ9ôlÍ€óHÔYEZ§`êuíÚùéÜ'«Ê"4>DMœÛùÙþXµÿ’‰ÒeN :DæVì'cðƒ?VgQ.HF•ˆå>—Û ÉüõRv’LYôÈòí¸å1b†¡Ñ!ŠðUQDÓé™§_ÓÕéÈèU¹ËN‡HïLU&k"óu¼¢L ³! KåÐ¥~`%ycY´#Ç©r-D:ãÚÖxÍ€`•#ÐØ™#à'\¸Xæ‰éíT\§é„s€`½?TxÅVàNv¤]°áMÙ4ÆûÙ#Sa“L¦Ô¸àÃ%ΚHz¯9˜{´q!2À¤ªÂŠÆ…ÈD"` ‘=Þ©<Î…Èv_®íÆ…È25V“ì\ˆ ç´«£•æêÔÈcÙ-Sw½rlp!2›àU@KçB¤æÑ¤Å¹”Óé¾"(Q+ja"[ ¨²U"[ž½Ø™¸UFâôžt|®„ÙŠúKë–äcs_7&D–?ð—)yæl%ž°Ø*Lð|;"³³yEoGŒh‘‘ZÌ‹, à¡Hª~fÒVÓUå¸BmÌpˆrhTÈ['B”¡­¦þGd£õ&¡!Ò†¹Îë^h'BdŠ)ªÒ‘‘EÓÿå³hdyÞT…IhLˆt`.®R‰L'îHÁ,ÚÅ 9Ä•²¼¡ª ÍÁ„(kwÕ &D:=Ø~'Õ¶•r ºrF„HQ»èÌ 3ùΩÀéN„ÈfzGÙæä4"D:üW'Ì0ŒÄb‰¤å"ó­ [Ͻ1Ÿ¥‚D(5˜éìøå‰ädSJÀ‘ª ³³"DÊ‹CBÈè Õ·lôú;"Ób^³"M¤É’ƒÒë¯Fe²"›› Â‘:"UûÙ©Òp‘Í´Ó(ôA„ø24¶ÜÞ±¨¦å¼Ä†D>±[Ðu¹=ŠùU¸¨áPß™)Bä–\S,lÅ‚)G)vƒ ‘iosV”:6"D:úâÅ•‘造ÙEÇ܇oÍXüs"sª¸ó ²XÍ3aÈg'‘WtNã'7D¶Ö~PÇ^A߯ìØÌ¾FëT']”¼svΫRâå2›ïdUAwæÅìÛa)¢o4ˆÌ`U]¨Í²×d:XDãiç±7W úC Ï«¾nŠ: ¢@5ž_£Aà‰,Bi4ˆL‹ª—¡HO«,¼\íFƒÈ–cyJ:³Iäòh:œ2ÑhÙ7Õæ.^vðTóBçaW;[MÔÞ> aí,ˆ w[QL¿icAdæ*iöÐ`Ad´¯I`ónjÂ+ÙJó¨lxJ"Ì+á4…‰ƒ‘¥FTE­‘Yd3°³iDã¡ÊT]%Tã@(«"­9ÈH¬¬*4è$ˆlò­&Àê$ˆLzUE6ƒ‘ÞI©9V]D/ÎFU¥Òr†—QnŠèPk×XÙä—’.EcAdö*¬ç®i,ˆä•ÁGU¢± OGÑ÷4XÄ•UUƒ‘ú:Õ¨Z­: "³k+z²‘ª@}—9ñ΂(oM¶¥³ 2üjÕJM n•½©çiD±± ²üNTå> "Óç^·Ã "Ó¢&sÓYYtF…/¿r²RL  $ˆl\FUhZ²,Іu,>l$ˆ°V¹Qª¶ ñNpk'AdøaÐ@Å‘=ž0ß®¬C,¢DÛs¥oQx2N†)ÕŠ_MºÚÖN‚ȬHVðvDº’eÉ CÌVäM嘂¹Þx3Hé\" ùxN6ù¼¹³äšrŠNƒÈïªÁ*: "Û!fE J\ý ÊÐ:]¡ª; "³UÕÑÔiéFJyd–ÈÀ¤J©F•î4ˆ"hS8¦ƒ‘aAÑ;h©¥]­©Åî4ˆlÅã‚ œù¼žÖµ~ýë_Ùh”f啃‘aYBE‘Í~ÑíðÚ9 Ê.ެÔÔ0õ dƆ?†µ³ `– à±û·û+£_T7¸³cÎE²Ëž&’mDˆäÎ`Vœ¬sýðÃv*{gÓˉM"ã‹#!ˆšI|.:y3[£ÎƒHW²vuô¥³ù첃=N—÷7›/×Or¹è·2´3ómTF m¯XÚEÇ.kIÚ#×}"ÂêÐ{…&9Ö„fÆ|ÌÀígFÏí½1!’‹°îr9 õÙÚ:c²Ð:ƒÀ>ªTÀÀ è|yBÜ»œNF=× ©óÕ¨ét!Æu}""[ ¯ÙÚ ‘~"r%¾> ‘ÙÒ-¼Z Ú33û¸üž¡˜chLˆtº/QìÿýD ¢~íØ¢ iLˆäùH~}9wpÈ]ë,RDV¡ÐI–*­Ó ’«6ScF£4£9/NYœªÐ.g*9—13 ãY†;ol,ˆL9•º ÕPس+$ü¿û*º¬Ò9‘ª_»:—ÖAúD Ñ0›û¶± 2©pÑ%‚9ЦrÊ bs¢¸]çÀö“b‰r=SK»MÖÔ‡Õ qõˆ¢ ·¦³ Òçç´ÀÌgzbçEÜwCL+”…dlG´¦Ÿ\;2$2sŸ ˆ;,Hž÷‹úâ'Gn ¶ÚIÇWdð Òç£nºGo{mütñªfWDúáÎ- F‚¡”^a5=]d‘EÀ`½Â×<ˆLZêZsŽ´ñ ÒýíÍä“YÌjãAœ7†êwfÄ)æf£MÃ`Mó‹"]4·B ¸„¼l¸šS߈Y<G ƒÇ¸BÄ.Ë…~dB/å˜ûcçÄ&ÃÏí,*úÍöDˆtÆ’F!"D&unUdI\¿Êç"†‰ “]´!Òç«ñ["}:æÒ4šÎy.<[¤Qu ‘..–höm£Bd“hu@L^¬²¡áFðÎ…È,Õ\4.DæÇCŒÕ¹ÙwÇE‘ f„-M%й™÷V(0WæÎ9ØÒ"-ÃàB¤Ï÷uÖ¦¬œ§*"¬’¦ºs!²á×Em4Ñ­YD š(æ> ßlc¼œ•!Nw>³aùW…Nû ‘¼1!ª@òlæ:?",¼¨;bÆw¶f_5¤ƒ ‘úÅ%­ˆcˆÓ2ŠR§è¸ËÕ\Ä/=Y>m~Qá ‘¹1š…Lˆ,N‰ˆ&ö#s ³Þ¦0¥ñ€6"D¶¯–¤Có•Á‹¨iÒ<ÚyÙöÈ×£!2O0¬šØfh‘£°‘º½6ˆ™–Ѥ1'¬1!2ˆÎÌc"–²S¥ïAO¡]›"⻪¨¥žfOdÍ ×Œ=9¥®1!2ЩhŒw#B:yQY?ïlDˆÂ¹ë–´!R4çÕé]$ÝQ„BÄí2³1ƒ°ŸýPVY2¯‘CkÑ®Îç$³„12©ê¿š¹bÛâåÒ¢ƒˆ‚l°ã•d*R/¬§~÷‚°Š ÌJçì«ߩŽ5î+«ï}/j™Ñ…[”Á’eËdZiEP4Ub’y ,2Ë ¼"g mÐf4g¾¿‘þJÄ‘ xÐêuAl<ˆÌfí‡iõBSã ‡¡!2¡XeAÉ k7ï¹>_‘ºip&ÌulDˆÿím4ˆÅŒe¹"IkÅjƼ %º^èóN„È,sºL!E6iÑ+âFZ‹ÆƒÈdµ¬øQ™^˜¸7‹’m¢w²H§´¹ 7¸ó 2+#³8e?j’÷·VÔuDy%9cƒ‘͘_1yÔ¬p1¡åW ¬ó ÒËaUû2g¬ñ 2ìÃŒRÝø^‰2ç5\±AƒÈb\7D>½•†QT9ÐTO’Á}ŒšDÕ!7¾ jRБ Ö©\ïÎÜ̸åùiD=癬é,ˆb¯ºÝƒ‘iVÝ4tD†ÀÚIÞ²22õ,üé?$¥(´É‚Ò‰x‘ã¶ LÊðZ™Ï]¹UsËsu§<$+L ž¡£Àè: "A,ðÓL…—N¦;Š,Ui4ˆL™äÅácÄϯbÆàO#OB Fñxðv*Ôi™Ûd‡¹%®Žç5™•Uè•ôæ¢al,ˆÌ¹ ‹žË…7‡9I±ƒ‘E¸iABœÏqÂ-_t™å€ø‡\i!ôWzÏ“¸v-dCZ(r²ò"ݵq RÕ[&ã=8™–«ŠtQ§AdV(kÒúƒ‘Ž5TM€ÕiY¬|pD "ÛiFL¹ [<úª±2#é뢀”ÀœV„˜ÔÄD ‘ŠNÈ –2b¼ZPN4N_gBdæ+;"µäíøb±FQØ«tø3\ˆÔ³Ä:Óëz§q!R£‚QžÔÝ ‘ù ËóçGjE™„‡uô-/áé KRˆ«ÀÙb@>9ú*%Ó‹ææœÇÂwà`¡äÞg£BdÑ@Ô„f?ñn»{ÙÔœ/ýhA­\y$ŽGK“²¨$ÁÄÃåUˆÀe ŽF+‹v"Ó£N“_ëDˆ ÙÛû†ˆk`„Áš‡ËM[df‚’‚q*=׉™žó Šg2ÓNjóYvÅÕ”Ø6M*‚º”E¥æÅ¬š,êîE+§ÆƒÈ>Ò [çA¤ ppšÂÉNƒÈPÂR "Û/eqZÄ|ñgQÇeUu\Q(öÞy©fªùèÅx'\Z ¨"\sý<˜]X±1MDƒ‘AI£:"Ó_IUùÝ™éŒÙ8uÚÚ[UzvoÓdž“,z±«S§ ¾Å N643ÊTycB¤’R­ª6ôè^ÕúÊmeB¬¸å$Aß ÷¶lêåN|†Š´@ÖéP¥žÇ©D ‹´ƨªÃ,òu­D],‡ãVfuÙ±L4kî]‡s¾Üð“É7ÊjË`5ä`BdÉ?*X†cY2OOYmLˆt\þ——üc_!Ô {% ǬÓõDÇköpJ¯»ÛNê„büÏ:žÐëÔ˜äýj ƒUrD–µj=üÆ„H-XŒ‡’°Î„HÍ(>^£ñ"‹üVœÆ$T¥œîàJ¡G囨hÊã"Ã^—çšÏ;w‚š¤¹ž›\ˆT¨ƒ®Û¯s!Òm”ö“áÈô’b=™ÂŽAªŠ\UiçBdlQùj ‘…Œå¬Ñ;F¦DQïÄë[¼S!R¿/-ÏÝ$†­ŠâRw™ÁˆAð"+žvÜ™ÅÝ"ã‚{øj4S¿¨´ÖÉ.!ˆ˜VVdà:"5‹ª‘²Q!ÒÄs´4J¥Q!RC€ôúïTˆô+“*üëTˆä°‘Žw£BdZxÁÄêr¬á—`«ý,›¦Q ‘mI+{C"‹¬ª(:z)Óx´žbYYú†ÝÛ×à Bd^w<î¢$K[ñèMOS#Bd"m§ÌÌ…,ƒfŸ $6Sø­ ‘‰tRµ×6&DWVUƨ3!²WªJP:" h•Ùºz¨öººC#{Iª®ò­!2W¿LÌaee¢×å%ýÿÜG‘!2eØb¿e›ÁF«!2ü8®x Z!k)ièÂL¶E¢f²8]§[ãAdxXÑ$$:¢É§Ö$M¶†aâÊ_7G‘šN·³’Ù/b‡cý’&׉™zÍ’þa!Ráå­Š/x—¯Gø³ñ ²ëT;·Ñ 2 ²×c7Øñ𨭮XÞîGSLtuk¢â£—ZšAƒÈPe§Úl^:öÈÒ¢áKh<ˆ"e(ŽW!€vªª²è ÿ¥­¼J‹5&Dï¯iBèLˆôƒÖGÁϤE®¢ô»UצCR”©šÁ„È`¤Ö"ƒ£í‚ÙŠ¨˜Ä; "–Zh ï;"u,Üa—&D´)lÖÒG­Y$¾Ó˜ÙŒ™%¤Á„Hf²Št«3!2Œ!°•΄Ȝ3¡‚¢´1!Šh#H:šF…ÈbÉ¢ðÖ"3¸FÕDåe‰%Òµ©Új"ÓÀn´ø‘ßù– Øé š=Ú­íÒ¸f°Ô óÆ} wjM}löô±Ò25Ý)ÛÒ±û¸Lˆ+×i"CýT²ùJ¬ë^(]‚"}%v†ñùêDˆô¢bVH—ˆpȸÐ{^¹·JÛàÕý•[¤ë¯ìDˆä•ˆb®dg—}Ó9YçêÆ%ÌôwzkÒ>Övx6—¹ÆƒHe uXxû¸z!ÅœCWöÈ~_ÇÆƒHžÍT¦;ksßæã_v‚NT16w좸âÝšÛ¨´ú7²ü@µˆÜ+ÉrøeÆt¢4ýÌ{²q‘£Ý§Âô“ùFoW)Š}YÏ^8«Ðgà˜ûñ´ûUS­—ÍÇî¯7*D2.3ù‚æè£ÔH÷°êÚØçËwêÞ¹×ܲÙuÎÚ0Øý•¨N4š®q!Ò7¢*ñbw',AÖ|d#Cdº5ŒÖ{bzÇð\ɲĀöùž¤˜³_vµCâ3×,âÜlí`Ù©‚-ߦû©‡íކ42Dº ´@ð² ëdˆtA hXûK0pÛ¢¨Ó*6ÝÔÎî0g,»%*¾¶‘!ÒEŠË®'n¿íDvÅ<×:iuú ±Xkµˆ]êkµA†8¯ µ8Í^küº<Ñ‚INfã2Øt]v6DúJTD ‹ÕÙ¥"½º½"S¤i€ZÊBí iŠFít6D6û*½ÓÙÉ+öPMcC¤¯tû‚³'pwÇúU¢g¬KÜÝEíZ3íÔ;ØVx})"5òi¯Æ&A§“ ~Þ’£hß ‘y–yj¥¯Ü‹û‰H‹³ðˆX{îdo¬2R“v6DæuÕeŒ;b⢲åäó"]7ˆK¯ë°Á†H%Ï¢¼.‰ƒ ‘©»h³¥ s,`ÓäIµZ£Æ‡(lî‚!qÊk?²™ùUâbßá‘Ùɲhgï÷ :Df™÷*bÌ9qÑÉË«‰2uè€H«]UuÍýÝ{®ˆ_±fušQIlu|ó•¸Ü"nð‘I«_µÏ R…»ý~. ßß ªã²ÿB+B#†ZWç%30Õò`5˜eí×h t˜HÝ~èø|~±ÜuuxdÍÕùêlˆÌ÷Hš]4Ø©`Úåú¾mdˆTS„ªÜ·¶U±;¯»‘ƒ Q Õ,1Œƒ|%Óã½90«ÙßEªütÞh#BdÌ8¥w ‘…ÅË’i¯Œ5ÑoÃA„H—‹vóåt›°/dÁšBÃõÌ )Vvhò‘.‘0äqm\Jºéâ¤&Î,ˆlR“Ê›ë,ˆlijö¾™µ]4éìøxcAÖ6sc>XLȈ–¾‚£wV…LwDá­ÊK¦|‘Wôfo×›ÞX™²õ ë7X™z2&,ˆtø—eM˜ŸÅÀ6'wÝé,ˆÌb•ùh$ˆÌFš‘i \Â0·©€E: "S¬þ‹tD:x<8Kcû¢ÈOaFL‘£îˆlÃ×%óô«“k›ëª žFšÂåÎËS¬§ÆO<›Ž‰ˆneÎ@±ë­“ Ò¿ø%-Á^­Èïlæ]a÷9$w'4kíýY€Ë&½©KŠpXñdøôBæ8Ê Š¿l‰ ë–mVûô5D椫Ò}ƒ‘{†‘(’|€†iÖ*PDnñ© €Î€HåOŽÒsc@¤+éhÑ6 Dá/Ké§#%¬è—Ç]L¯ª7-aÙ¯Çô²X¬Ÿ32Ó½1 2W—¤ Óàô6 à×i WµFŽ'¢aæý„Ø—2-ЕMY в3 2mFØ9šwœ?Lô™[vÕMWyŽhÛ2V¦µê±c4¾vç@dQrÔ¼²s ²(Ù"o²×ŒÀ£bÒ…‘Yí$Ë7¢p£§ÛNüÆ È½¨Uwê.<‘Aƒ•wDUÉEç@>™"YÜI…xH7D&]UO-µr­7ø¨ê„KI€žu>Šò5“ïDˆ’ðË1+¨¨&ì4ˆt‘Š9–õø ’ÅL7,g,È›ÊÌXæIþˆ.(Ñh¦Å'ÙÊ<ˆô*ØÍ«&Ü9¯ý¬¨9°@šqVÅ?^”´E]’nð 2·H‘à4ˆ4‚·uÙ:CéY`wm’öÁ èm뺾žá4ˆlÓè’ÊÇÒ+<»kqŠÙ¾à‘ÎÛ|]^ "ýJã¯;Áƒ‘~dÞº&NƒõY¤h@úNƒHõw®"õÕY´4%²‘¡û!sj "‹,Âò(Ã]¤ " fÂ~”á ¢ˆ?0ªpØ: " ν|ü`A¤+ë’ ~÷žƒsѰ÷΂Èb'§ £•Å:0Y^f_Z‘#Ó aÙò4q½$ ÔC ëAƒÈç¤Ùh‘!ÎNå“vDºÚÑœ”H4Za(˜Š½ÝhEþeA¶3AèÐ5YúE•Zk4ˆÌ,/\˜i¥]+éPT×hÙ¸Œf\ƒ‘ME‘9¿ÁƒH®Âl¾ULX´"u·¨r‘Q€ï˜E¹®Á:"UøØM!T@çAd&2©*î;"—“]$‘Æà×(²Ø‘Ž«‘˜_Ÿ¯FƒÈ‚Üeç<Š*Âýqðq”-ߣÉaõ™ÆZeQ™ƒ-”A"‘©Ö¤ÉsuD¦ÊÝÞ¦ø6Df’Ê^uDf‰Üê´§ý•Y€Xñ­ K "‹Î’ÌuD¦LŒ §l$ˆL™”¡jɤf©W)¿Ðrºœp’½D›;"CÕœ&¢ë ˆ Å;€Kƒ‘Ž=&U©}§@¤cwmˆ,¶«C–'¨¤7ëÓŸw[ÕXéÖËubË G4Èt5¢,QU;.v{@Ö|úв~/!ä¬*Â9ôV8« [; "[ð|[; "‹UÓ?XY@j`Rï$éj犨ŠÛ8ò¯ÇÀƒ‘9‡fÙïK³4¢ª=MùrgA¤7¢¦ªzµ2ºFb÷ƒ‘}éÌX)àz»Ó’ra²E¸j¨³Íâ3b,L7Œöë³ßX©{•²"Å3X©{…õ¬ §»³ ²(µÌ柅?šس1²÷§³ 2]mTIÒ£Ò“–IÒ΂H_i­&0,ˆô•iyÄÔþ‘‘IdÙ–¹MÏ+1¶‚¹Ïþ•I„[÷óêôÚñÊNƒH}丑M©ž9ô\âŠÀaF)™®l Q?h™c±>•vîIËwÈÖŸpŽ››Bw®©š›aw(\•Ý(akx<†k¼ û[ZÀ‰AYÉvøÎȰ r;ÿ!s ÃLü.¤§ñŠ˜ZᜠþCSસ¹èã×ÜÆlÀªî;ÿ¡ð˵ƒÿP„»È&”ŠëàÔà?‚¨§F±;ƒ¢½¦¿ñ2$z?%šøå޾)«*¼èü‡ 4ËÒþCºÞ¶hB”ÎHW2™CjþØv‡˜ššÏÎÈ8³ŸÅ:q¢r:£þ @dr^Ž•"3JÙK.›j$[Ùà?äNŒŠÛ«ñ ¿IQ52ø™!ˆšbÇÎÈL—nËà?¤ÒŠ¿BZ;ÿ!UÔ ™×+ÿ¡ˆòdðŠÈRnÆH¿ÛlÔ(ÞÐŒd‡ kü‡ ®ôK†Ø W&Ñ„Š•ìü‡tËD§¢ìriç§Ÿ®¿×´3Ó¯ ¬ RáÁ0Ùž¹}ÚHv5Ö Œj´4m¼%!Š­Î"›Š2P¨ß¾úó«j¶ø-„‹H{¹q K½ýÍãÛ›½ùø Ë/#Là¯ìͯà|en~ñÊb’28i+xÌãì RÁ%¸¹¿Äšü¿þÏ›7Ÿ¿~õã/ÁÅÏ7ÕÞ¼þ}z~z~¼ÿ®?)lû Xrz¢c~ÿüÔ/+ùôò‡OýåõðîýQÿöúW0a0dÂÜv|Ÿ‡I{ýÍ«ÓÓÛ‡ÿü^ÿú‡™ÅS6\îþþô yÇýóýù~‡äêâå;lÝ1`9¶k¿:ýІâQ÷!UÃj‹€;-…1ðýªö{˜ªÇo.Þþð‘ ä܃iÐ’NoèUŸ>’ûéÈžàoí¦hO?Üâ’O÷OýõÆŸ>|7W퉭Í7ý^¿¿£=÷«Ûyû=ýø!îßÝ?ŒW»ã¢mwƒ`>sa rI?ä âëñPRúùmAy„‹7™ÀçØrºÿ~üÈ[{Y{d{>êa—OûLÌïï?°a<³ÿzÜ¡EÖÍë_¿zý¿~¿ ^ÉŸ`}¸f+÷„#­aó‰ 8]©‡}“˜¸À½x¾Å))Ÿþc<(œúCkµbý‘ÌûÛ[<ÆÙ\ÅG}ÓãÞ.2o¶7ƒÁ;}‹—àÉð[¾ÈìròÐ{þŽ}_ÿûçñüý’q— òù¶ÿ:”}OwùqOlƒ¬îĆÒä5TÒŽên©†ÏÝ_^dž€åºßÆ JÌ‚DM5ҊŧMpù÷Ma!·]ƒÅÛ“ðG O-—þÏß M`6=½¿ï Ô›ÂÁû÷M€÷ f¤¿ÿýí -õÙo8lEü}p ±ñÑ~€»WÆ‹û¤‰šÜ'í®ŽJë§ÁÐ_£mi׿ ê·op—ǺÜâÛSAU|·ÉÖ^ÀÐq#T~Ûi½ÙŸÎM ;½f;ãi_ý'º~ïÞñßL˜Çm}zøfBD†"&ú1ÎÔs°Ê6ÖóÃßÐ þšJÉ®BD-О™ØŠ<~’²:¿äÃS³Z`éÂÅòûä6SA>ƒCA˵±/·[s(¹øÓÛ¶à¡ûpzûøöã›·Oó7ý¡Ì|Þͧ"›‚÷í©?½oÛ.LÀÇ”í;0´§Ÿ|†?¦M\¾|øîâgìwØÓçøcÞã«“3Ö|u;>ÑEæ&áÆàDvcþõ-6&XÐOÛOÖ¢ô¡KTß½ž>ï¿ß$ ´ÅíÖOؼl¯8Aí'|ùïî~óž¨ÜïŸ6‹˜›Ðþü6ãgÁÔ}ÿñ Zà§Û—¦Ìbâ¼ìǹ Mê—ý“ãÛ¯©fæÿO÷(t­‰Éžþ²í\ÜGB”›õÇI#eÏû³æÉl[¼Ò»Ý¬{ôÏ_þ]£x þ(V顯ùøî¢kÊ=­Ý5µxV1ø·H}Þ÷æš~ûüüÝßýøÇ?ýò'ÿtþò¾çýôÝã§?¾}ó|þôøîÇßÝ¿Áúû¯?^À!¶QÜ\~ýËž1&×Óæ›ï¯‡©…¯ºs1n¹sXIš»óö³ûM@Q$þòð„ó…&¨«~Ò6Ÿó§Ÿ~Ö kÿT“ÿé «OAûü³vw=ýK¿·DˆQòE¡¸Q‡£LT•~“I#ùâíó·p Z2´çOÛo7­sÿñ›ñåôšHзo6õh7õø“[p©Ìæó÷žÛôm¿dxÒæ@¾(½Ø–S,‘^,S‚¡ÀžÿÐ, ¼œj§ÇjÒQ~q^LJ§ß]6õŸh^8v@€Ke÷÷§mé`×@€AŸ÷ ŸÐœ©¢ïß÷Ka'Ýsßùnk#ñòë¡eÛ1÷”t{:&11úâþb|rq ¤é ´5Û¶ÍJLL×f o€Yûgê,?ü¥‰±‹ðÜþ’ê&žx3ˆÈoD 8íçÓÓ&íÛݺl=¨y¿¼ªÓ?ÿŸóK®ó/Gfóó_=™»èì]̾Ú;‡¿›ÚÿêD§{ærŸ¯})¨Í6èÌñÙøêö³ñ\·¿.d{º}Å·1;ܼ õõ š"ã?í}‡øSHUè›_<þù”Y g`~?ÿ¬ýll<ýšyOÌ'ßn—àçø£Ýì'ZCðÍ¢šM×üÕçŸÚÈ+#Ÿ#¦?KÏrLâÏ1€Cï%—®ÌífCÁ—B‡ SÂDõ‹‡þžÈáãø“_´€ ó§‹Þü{Øõ¬Õ_á‡Ó/Ç̤ӯÆw‚JîN|è‹7€asü_˜ž¯¸[È¢Iƒ—T0vjå°û ?%÷üß/~s×Õ¶ÒÔÏï^ßbÑM—ù'·x®@to½Ó¶@-øD+ò£ÉçÓošf¯†z'ovå-ýi‹¥`2>¾ë<>a‹³[TKGüéÃwß?o ü¾ÇÆ8Žß …ø²S‚dkàRŒø¬»î…K ýùÜL |ïÉZd±¦`šªh¾Ý¼ÞˆšèIŽó†Ùâûâå~{ÿî³Üü#ûãC_š1ú¶4ÕQ,‡¡+]öz´¤€]Þ¡7\EjN¨ºòw¹šrgc wÛF©6ÀÐü‹û?u9Ù¾™. ¾?xØ}ÿ¸íd\C æ¤í~$¨³EˆXÛwÁeÖ{j¬`37óew*! t÷ý`×5€²²+Î)eøU»Äæ—@Lë`L¡ŽqéoÛQ'—ý°I§}I…@-x!žÿÚvlfæ!Êbêÿæv;’”Ôgý—àEQo‰ÆÆ{üm÷€¥üâ×ø<BžŸ1¦Sxߨ¤2l{<Bè_~±?'l–sûÜæúÙ`m®wj;Ã4ƒ¿Ûu€Ä¶gúþ=xÚâ‚ío Ôb׿1ÌÝòr÷l^ÒÐL²~x@ˆl[ÁXqš6×Öá/·Ø4aøôáíó#Z DÿJ®úb'l›ÀŸ|±?²ó`þöÕÿþ½~endstream endobj 125 0 obj << /Filter /FlateDecode /Length 327 >> stream xœ]’1nƒ@E{NÁ XÌØÚÆi\$Š’\/»…„q‘ÛçÏ·"Åé3zËNu8¾ó´•ÕÇ:‡¯¸•iÊã¯óm ±<Å󔋺)Ç)lb —a)ªÃÛ°|ÿ,±Ä1Ýù}¸Äê³ÇGõ½)Ìc¼.Cˆëϱèó}J¾ˆyü÷ªÑ{Ç)=>m‚gœC-ú¶ñŒs¨ÀÖ3ÀÖP<Cõ P 1¦å¨–£FÏG`‡©'w6¹ë<ì€R{Æ9Tà‹g€/†Pjˆiú„½Â^(5Ä4dçàÎpïàÞ‚BI1I PRLR¢g€Ñ0yˆ¿Ù+~«Å9T N£<‘Ú‰¾Jg5g…¯ÒYÍYá«tVsV*%Õ$Œ­PíÚž÷c7h»ð¼ú2ÜÖ5æ Ã…°=˜rüÛ©e^¬«DŠ_x¨«endstream endobj 126 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3476 >> stream xœµW TS׺>!äxœP8ä\|^j°ˡ֪Å"ZDëF«RdIÃL@Æ„!ù“0„Hˆ€8!ZÐjµ­Òz½}¶¶Ö«;Üë«.Zï>ÜÍvÔZ{×kßzo­·VÖYÉ9;çüçû¿ïû¿- ÜÝ(@à½v]HrbdR¨,2)cÞÜÙ!1qrYdšëÒ4ÞGÀOtãÿE¨ÁQÿIE0FcÜ;&zþÑ óDùãPÄxJ(lMÌ]‘œ’–Ÿá;îܳg“ãbߨlßÀ9¾k"£÷$g¥ïIðLÚå»fκ9¾ë“³ÈÉ_¿ä$ߨ˜øHY¬or¬ï昷}¥¡o†„ú® Ù Ý:cÎ_ܯÏR哘œ²2-(}U†šx_ö è¾7ë6´ ½%Þ÷uÐu,¨~PÿÅåšeØC_ïóÿ Oðv£Õ2ÑAús¥*nÁðA‰*N£\LºëYõ¹£¼«òœãdû©w­Gá$tÉë#ê# 7©b˜'Á[h–çùv¯;W7\}ë:y˛ϟC2òhvéØüaÛÎ ¹¥_ÂNÆÓ”"vŠZv ̪â«õŽ/yÖw#=mKy7dž¶ × •†\§ô3‚ÂhR0©V̼6! ]´h9DC|CÖ±B+è (]r¤÷Ü¡^øN-Ø‹E®ñ]Ò²!CÀ{=@«‡ÊЀ¸ …`š‡ßæèŽ^´ù9ÐFfú„l,LÚ¾==%xÓ4`¦=EÿDò¤QÌúC¸"ïZéܨ^XàO hϸë¼ýw¼Y_>€÷›ÚREª†Ë#ê‘›„ Æ/þŠ«"¶2¼˜àâC`a< =Ð¥åLQ&ÍÎZ`1w4¡9’Ú. |å`ƒN«“+Ô©šäy68ÍÕæ6úK.Öö8Ð)ÂÚ¥¯ O;ØUväk÷fý¨¡@~‡¸ÉE瞃aMÔ+ÃÖ'xp.<:Œ7  ¸cð ´“&IX-µ›fC”³ÀPcn't•Ü¡ÿ¦=ù¯2vú$: J£óåîž ÌBšp™MOù<†F/Cmh žäÂH—J)m†zþÅzzçô—§…¼'zA\y6­µ°:¥-¦"ªBjYSSõ¾¹Ýyì 7(œ§‘1E€½©Þ8©î¡±N_®$‚RÈSh4Ê"µvwKäö€íÁ…¡ªøêäFyKj³êj¾MóE®bEñÛ‘ÑþÀ,‚” šÛº]Y!€®D›-lj6GWbèõõ‚¬µ¾3²[g4.|\ýgR³p|%w |?• *ä%ƒ±ƒK¼ÙÁ¡Z¤›xœ6^…x#§’‰Úè{`P–ľ%Ù‹Ýñ Eɰ°´ý]Ôû.êCáÎKÀ°Ìßá³y<É×i÷ÕêV㤣¨h¥Î`(Wúh@… †íZ»<µ-üœpx=àMx~Ž$Äá(Äu›OávÓÉ‹•rg´…ü\Y † ÃþC(PRÞUfº.ÀKîRJ;Zš…Šhm–zãªÅÞgÏ%lXŽ¡ñâÊ ¤uloÑfÅòؘXà‚¡öC]rHÐK4¡ ~‰&$kòïðõÓhå’Ûô;øP&÷¢¸kpôšåòSPÚ”ŽÓtÂ!;îÅ?¶í7¡¤¼ò w!Û‰güÂú$”÷ÊÆUÀ-‚²žŠ>ò6çÑíŸÝ6o>—†_.ðÏ›‹fwδt}˜7Oâ2<[ŽÕÞ;móbSxõ€¸ò<©¯(´pSªŠ0c7”uëMN&)?nîJêÜÝV»ò0åjub]N´€µÁÔd¨ç;zg{¯¥ Î@﮼ùŒ*v«öMíªDnIBÂÖ’ «\’ÿ]ÚG>ýpöhsÃDk"{|¬ðѾ}7¼ WÌ*gåù'„ûl‡øöŠw+ß; -1»àç’"ã%rðªæõÃ^ïÍ–ð5»Q 9†½‡&£å’Î#§Î´4uvœÜߣ'BK-•éR!¶ ôd±¾ ¥æ‚Ò\m®¢@¥ ð—¬X\¥7èÍœa]eƒža+M,ÐfÂ;úç‚W¯ëÜÀ}ŽÅ! 4$„ Ù´¡4“°C«–5ÚôMÀ}¯u•iT×ö—ÙÚŸþùât‰YY•«SéŠy)ºÇ«‘ÀØ Gt­¥œÇˆ¼IV?ß!@…¨Ù.!‹8Nž=ñJ`?5ȾUb:lÜ÷W`œ„>±Ú¹Ü.2Œäu~Ó}Є«gR]\u~Ûi÷úÓ-´üVô·Þ,ϯB£Å†ªBÐBh5ZUøœ`E,l¥'šÐ´hàøY¨„u‡ˆ­ŒÒ*K Ô©û³Z  ëL­ Ûý‰%¨k™k&ºa*ÏÄ/|å‡@€>4ÆPåy¥ãéô@ó[øú›ûn ÿ!tµ*^öØ€ïò%æŽ2ËçÀ|¬ :@W˜û‡/Iðxþ‚Ú¦… "Uÿçõµa­DR6åq¶eD  Tô˜š¹¾C¤§Ñ¤w3‹ª€³@Y…Ù‚~+ÑÓ3‡¯=çÇGŒŸ¸ü¸ >†ísr;ï@ïÙP¬Kq² [Ÿy¼KÉüEzùEl­’ÌâgڋòŒŽ˜&))v±Í™Xœ‰Ù›~ˆ†ËÐ{¸µM¹ZÂP6$k³u¥9 {”Ú³]á{šrŽd+¿P~ÌÜY}©£»ÙqÂyÚáh^cxE”j³™g­L´¢@’L|ú…O»XlP»º¨Òo™2 aÄ·ævÊO[úÍ j£m`£µî‡˜û®n1€SH†ÉÀx™2ò€ËHh¬gv"NŒ ‰1͸k? ƒ À>%»\QG5¢÷»k4*½ö÷¿~ýí¾ð¾­×‘èzJôy³înüÞOl¬Sµí‚,WmbØ‘”36Ê(÷™K‚ –1ìdeÉÎÚkf^^únU¼ZVÓ’µ6':BM\!p…âÞfäáƒFrï­¹anW÷†µ0l†¤eÇ&Xï“FRU‰^V–ë0µéËÊ'ÓÖÃwðåÕšÏÍEòÆã‡;MÈ<7ê…¦DYªÐæXµPÖrc#ƒ·`J¬IQíÉJ+T¤$G ¨W öAY#Ãê´¦fs[½½ªº¥å(| 9Ó5ÌéáÑâ"éÒm3`lè­.u¯=‘ѵ'±æguGf A×ÂqhM lo‹SÉ”ÁÊ5ªèÃ1íqçT­p_™Z<—_ VÅ.Á~äYBúª.k4TÛŒœÅpà ¡&Oui@|éI”G‚G^Gúú5÷fíÈ«Ak*ïâ>à…"ö žL°¼ªâí\8¶ý‚¥Ð؇Kë8ÖëÿP\֜ݔ –¬IS§Ô§¶Âa°·”Ù¡"¹ƒÿÐÑóÄŸr‡ú‡|Åd2ŒÖâQÄx¡8LÂ…àéx2v[Jj`Úî@!—yÏç-N»b€‹€_;öÚá±’ üâ}’¦'ºÂÑ£ï:mn0TšžCŸJLΊîAxöÖÄH]¼ßïÍv¢Š Ïè0Èÿ‡ˆìÔ~‹;î.>—KÿiX÷t#8tî÷陣ÿz…%üÿº)lÿ½Máÿ–Ô¿ŽChÄ_½úþM²ƒüÿÊEìˆmü°¸ì`Nc È@ž¦‘kÒê2šI±Ù‰e   ¿yíI×p@&’> Õ6!Ú©[.ç#{.ÈHѤjR«S:`?ì7×T)^Y¿5¬D¥Ó¦´Ä¤1A5|ûE=ÁxÈmüŠ:”d1ÛhǨѓF¹oN3Òª'yÅ`ÐWŒŒCQÿ%]Aåendstream endobj 127 0 obj << /Filter /FlateDecode /Length 163 >> stream xœ]O»ƒ0 Üóþƒ„}Hˆ…. ­ª¶?eÀ‰Bú÷%:t¸“컓ϲí®»ò=¾(ul"M~ŽHÐÓàXT0Ó6ÆQ!Û›ïO X d×ù®G’Ïêx)«j ¡745$j¥šÚÚF›?i ôvsžÎMR gÿ®äh.±ßœc$N¥ii’ 8¦ß3Á‡œ‚â 9SKendstream endobj 128 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 354 >> stream xœcd`ab`ddä÷ñ ÊÏMÌ34ÐuÊÏI ©üfü!ÃôC–¹»ûÇݬÝ<ÌÝ<,¾_úî/øÝ‡ÿ»§3#cxjžs~AeQfzF‰‚‘±®.´THªTpÒSðJLÎÎ//ÎÎTHÌKQðÒóÕSðË/ f*häç)$¥f$æ¤)ä§)„¤F(„»+¸ù‡kê¡: Îc```¬``ˆd`bddiþ¾†ï?S܆î]ß?íb\øã8ó»b»\ØÛ|þÎù]lÆÌ‰“îuKîb×ïPécaŸÙ=½szK{kwg{»¹®„æwvÖÍ»Ø~óvüfJ_bÿnðÛç·øoõªŠôîènÉöç}Ÿ:Xw±WVL˜ØÝÝ;i²ü›ïŒß™~‹±¦Ä°}çécåk˜ö#`Ê÷¸S§±íâúÎÆ-ÇÅ’Ïù¦¯¯§§·¿gÒ¤µÇyx^Š…Ìendstream endobj 129 0 obj << /Filter /FlateDecode /Length 183 >> stream xœ]Mƒ …÷œ‚ؤ51lìÆE›¦íÃB ¨‹Þ¾ã¨]tñ^òÁü¼)šöÚ?óâ‘£}ÁÌ}†).Ùï`ðIÅ{oçÈíh+š›IïOŽà6¾›Ч<—ô$·&{˜’±M€ÕBèÚ9Í ô_§­¡s{¥ºh’舕&!Vˆ¥Ô$!Е&!*~ŒY÷¬‰€Ü.9C˜é,н¦õ~—§˜Ö.Žb_¦7\^endstream endobj 130 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 628 >> stream xœ]]H“qÆÿ¯›Ûëö¶rc†_Û$RÒµô¢ÁPJ±f²i©±™º©ùú•k.?ÒéYk¸d~x3r`E¥HÑUPD]ÔEB¡œ·þÍ /êo¶ÁÙ¨˜|„{1}‚yßfØü±ú=ª}¼jY9µŠI+Ûu© ‹õÍ Ÿ»¿Ú{îbtÏ)05S“w£SÉËKÏŸÂgÕ;ß²Dƒ®œ ùæÜšÛÓ7&ou‹Õà5\ýêÚCà¿>Èß›QXÀTl‹‘iYR¼nÔ{†ÛS$£âŸº~ÆÚZc}z¸<âïgé¨waànÀyTcêÂý‰q¿‚|ph´·»ºª¯ßÀRY 0Xç7V‚i»øPÂFM×´T4‰âXhZU½QTò QH˜ñoL0è¿ZBþ# endstream endobj 131 0 obj << /Filter /FlateDecode /Length 225 >> stream xœ]MnÄ F÷œ‚„ŸTšH‘7ÓÍ,ZUm/@ÀŒX ALfÑÛ×v&]tñ,=À¾á|y½Ô²éᣯñ 7KMïë£GÔ ^KUÖéTâö4©ñšÎo¡}ÿ4Ôtóîïá†Ã§_dÉîMqMxo!bõŠj6æœAaMÿ¶ì³cÉÇQ;~:šÝ cœèéĺ€@ºzÃC•Ô‚@jYéV†Ô±zH=ëéÈJ3½Ìõ<×'H“|ãx/ÿˆ³9¢ÐñÑ;ÖM”€8—Rñ/ã¶6îÒ„ú6¬rýendstream endobj 132 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1344 >> stream xœeS LSg¾—Òö‚«“©·53ŠCº:E%¼(Š(àpñeTÀòPZÈ«pl Žu8]y* ‹‘)¢2çt>8YS|.lçâOâ.²-K–“üÉ9rþïûþï£)s3Цi»Á qÊx…s°**9V™85]ÄÍ¥¹yfÜ|Äjâ¬`eÞ4O˜f‡i¶iƒa³(sš‹ÞŸâ›°/51&*ú€ÌU¡psvæOwYDªÌG. P~¦NÐ$©cdÊøHY€I®øm=Òh=2òŠ}«*¾gâ’yY¯Üpjt—˜sÛy‹Óé 3‡%=“1ÂX¬Z&Ž*ÌòfSbE­†ËÐÆ×hÕ1¦±waY“tX¼Ö$!:ê8 á[®6µt[{M;êÚ§8®‘@SÖ·ª6mMZ醖›/]†~fÔµK±x•·¥ÿnL4mýÿõ9ŸÓ‡$WЬ$¶h§Æ-€Î€>gÑmÐöx9èÁÀ”ò²]ü‰ýfv1Ë$XedæU"ì!6J)>b(‘NM>‰w±ÓHw>íªÅžÚ®§S€G%¸›8áG$€øg²ŒD%ʉý0Ð w±Ì&ÇÈ‚•ÎŽdþ#<Š¥({‰s¤˜ ö“àÂÄÒÓHÖ6`OŒØ:ÙÈùVb|Y±Qd²¼9ƒµ4M°²0ÖÖë—èõ†ëVVõÀ¨endstream endobj 133 0 obj << /Filter /FlateDecode /Length 246 >> stream xœ]‘±ŽÃ @w¾‚?ˆiÒJK»t¸êtw?ÄT %ˆ¦Ãý}m§½á†‡ô‚ml§;žOç’Ý}¶9~ã¢S.SÃûühuÀk.Êlô”ãò29ãÍWÕ?|ýù­¨)ÓêÃîËlwòɬIqžð^}ÄæËÕÀRr ËôïÊôkFH¯P38ú©u@X÷N€>kpiOÚ{'l•nÒHºÝ9€NRt)Ô"0peK-0–ßµTÆJ)Ë]Tf”R#—©#†t/C¾§áyysïEéøh Ë"ë•õñÖrÁ¿?PçÊYšPOÃu{Ñendstream endobj 134 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1977 >> stream xœ•ipçÇw-[Ù I ’]%†”à’£áh›Â6ƒcs8܇lÙX¾$Ù²%X—e­ôhW’uÚ’×—äC¶1C€ÁL±] $aH¦ÌdR& =¿ÀÐWt™¦kètJ™~Ùï>ïóþ÷ÿüïâXf†ãø¢myy ]Y®NQ©*~gõª%Gë*5s¯–§—àé×2Ò¯‹€¯ükÖ£­Y0_ó3G_#&¾‡:_FÆ‘æ%LŒã»«šÌVz£ZÓP£:Z¦“¿»zõ{«V Ï5ò¢ù†lùVEq…Z_[¡’+ª•ò­ÙyÙòÕzaQ%_¡®–•”)*KåêRù®’=ò›vì”oÙ‘_X°ó­ìÿ®ïÙÕJEU‘R¡QÕªŽV)0 [chø°¤ bÝÚW%²%ö¶Û‡ýÛŒ½ƒmÃ`/ba܉î &`™Ø|8C!Z,re.ÏgågiÄr±ç¹åϹÑðÂïD?ÿƒAte¥ñGEqIІR5ļŒÇå%Ñ’ô˜” |²>ă& )þš—°YVèM~8]àˆR1‡ß -`w:è–|ž–òÓâdô²›ÿ÷Vš6ò‹§¤f¥Ãºˆ‹PÕ@¡ï³×œpŽ.ùBB«•H}†ú³Ð´x3Ÿ4Wœy kþ_û¨…ße¬³c&.|)î†9ê²3Xu@;š4Ÿùx»”צ[cN—düb±Þò4/ž«`¡æ"b.n¬XKËl&§¡Õc÷ °0L¥`”†xÀâ2QÛ+qhwyØ ’¦{¥n8Oð«[èyòi#xˆóP„vMI’µ=ÕÕµµÕÕ=µÉdOOR(ÈØçÂøÝõHÁ¥7êñôçÏXظµ¡  ÝçBûF¨ÂØÎÀ w§ÌÓ8Þ'·i*+y€Ï×.s¶í_½d{k‡/%Ûí j­÷t •YÔh¤ÕÎ2 Éÿàñ¯i#ØA¸ƒÆhW(Æ2¤Û¾xeiÎØãpÆÏô$ü‡ÆÔ“0ÝÝ‘¡èhøêg2¶b¾úG»õøTÚ"JŸqJ€u0´Û´u¶Æù#éëÒúéÂð ÚZÀdõ;€éÝò'¾WÊ'ù~£ÑfƒYc‡1ñ>ÙÐØ©7Ïñ«":Y¤.ý@pâ€Ëåvî¼µb,PŸ~eGwÏ‹Ò×Ò+%=õ` ù;â:(ÃʔڃÐF˜C>Æíó’çoM „—Åü‚B~bµµYK+aˆXþÄXˆì8 LøÂ/‘VвÄåü ËÈfÐøTÃÂgïŠÅ½ÀØ:¨ê›ð $`ªýRð"Äâð(¤žü2TsùÿÛ4~â J\û§®’7ˆù•äkøÞ›Ùô-š‡dhʎ¹ÊI e> stream xœ]O1ƒ0 Üó ÿ Ô ±Ð…¡UÕöÁqPœ(„¡¿/ СÃY:ß|–ýpØ%èñE ¬ciñkD‚‘&ÇBÕ`¦ƒ•‰³Bö7ÞŸ@°Èîü®g’OuQe¥özCKÐHQóD¢­ª®µ¶ÄæO:£=œÍæÌ¨«¦.þSÉÑ\â¼ ¸ÆHœJÓÒ$pL¿g‚9Ä)IS"endstream endobj 136 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 290 >> stream xœcd`ab`dd÷ñõM,É®ÌMÊÏ)¶Ð JM/ÍI,I©üfü!ÃôC–¹»ûû²‡Y»y˜»yXÖ}_!ô=Kð{:ÿ÷FÆðÜêçü‚Ê¢ÌôŒ#c]] i©T©à¤§à•˜œ_^œ©˜—¢à¥ç«§à—_ÌTÐÈÏSHJÍHÌISÈOSIP v Vpò ÖÔÃî6TÑ‚¢ÌÜTFÆ.&FFËïkøþ3*2Ý+º2qnrcV}‡Üoá?n]í5ÝÝ’u«š&MìïŸ6Aî»÷«Þ ¦uO“äkœºyÂO¡å›²íäÚÉ-ÇÅ®Ïù¼¯wÂ䞉ý=z¦ñð00Y…nðendstream endobj 137 0 obj << /Filter /FlateDecode /Length 170 >> stream xœ]=à …wNÁ øQ–ˆ%]2¤ªÚ^€1!Coß@šªêð,Ù~ÏúÌÚîÒy—)»¥ÌÔ:oÎaI€tÀÑy"$5ò§«& k{Ÿ¯ˆt5 Ýú«žÝÅñPGb A08G ˜´‘4œ«ÆZEЛ¿•܃ýqI)¤"ÍI«*ÎÏPã»±\*L;…%%ô¹‚W°Âã<~‹!–]EÞ¤äVÀendstream endobj 138 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 324 >> stream xœcd`ab`dd”ðñõM,É®ÌMÊÏ)64Ð JM/ÍI,É©þfü!ÃôC–¹ûwßO¯ŸM¬Ý<ÌÝ<,뾟úž-ø=ÿ{’3#cx^­s~AeQfzF‰‚‘±®.´THªTpÒSðJLÎÎ//ÎÎTHÌKQðÒóÕSðË/ f*häç)$¥f$æ¤)ä§)„¤F(„»+¸ù‡kêápš0CÃ2†XkXt¢¾¯áûÏÌy‚á{ÕfÆŸ^ßûDçWt×ÊýÙÊV[Ñ]^>¯{¦ü­l3çuÏ—çûÏ(zœáweÙ¯šrÆïÜ›™¿ÿÎýeÅ>³{^yywE­Ü?+öÚîŠùó»çÍ”ãkœºyÂO¡å›²mæÚÌ-ÇÅ®Ïù°o┾ީ=ûz—ðð00Ï}Wendstream endobj 139 0 obj << /Filter /FlateDecode /Length 162 >> stream xœ]O1ƒ0 Üó ÿ ¡R«ˆ…. EUÛÇAp¢†þ¾$@‡w’}wòY¶Ý­c—@>¢Ç%°ŽM¤Ù/ ‹êÆaÚ§Â8é d{×áý «ì6÷z"ù¬Îײª¶zCsÐHQóH¢Vª©­m±ù“öÀ`wçeh ”Z9û%Gs‰ã&à#q*MK“\À1ýž >ä¬_^òSÄendstream endobj 140 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 453 >> stream xœcd`ab`ddóñõM,Éð,IÌÉL¶Ð JM/ÍI,ɨüfü!ÃôC–¹»ñÇÊŸ^¬Ý<ÌÝ<,ë8 }OüÇÿ=Z€™‘1<§Ò9¿ ²(3=£DÁÈÀÀXWHZ*$U*8é)x%&gç—gg*$æ¥(xéùê)øå—34òó’R3sÒòÓBR#Bƒ]ƒ‚܃üC‚5õ°º E1›Á‡‰‘‘åö÷5|ÿ™4—ßötÖòï©;Ìý®,:µ¹¯¥¾³µ²]®.¦Ð#¦›£°uá²=Ó',’ïéïŸÝ=­û®Ê܈I®];}Æ¡ƒ;6ìîžÑ=½crchKwtw7G霚…ËV.ܲ¶x}d`x|P\`PQCuË»Ê=½}3J&´O©oÏéè,‘ n/ílìê®”¬Ù=}wwkSGwg[¥Üo¥?gÛkº[º»%«fÖÎ[;yõÌ~¹]߃µž«è’ìnënëlì¨ë¬ínãØžptëÒUófÈ-Þ0ûx÷D¾²?œ§N›ö½`Ûr®ËÜr\,!ù<œK{{{z§÷ÌŸ0qF/·i¿’endstream endobj 141 0 obj << /Filter /FlateDecode /Length 160 >> stream xœ]O1Â0 Üó ÿ ¦ªKY@ø@â8U†:Qšüž&mÎÒùîä³ì¯—+û ò‘¾(ƒólMaNH`hð,ԬǼ±:qÔQÈþ¦ãû ¹•ßõHò©Î§ºRkƒ¥)j¤¤y Ñ6M×:× bû'mãv§éVªþ])ÑRb¿ 8§DœkÓÚ¤ðL¿gbˆ% ÄX·S³endstream endobj 142 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 401 >> stream xœcd`ab`ddññõM,Éð,IÌÉL64ÐuÊÏI‰«üfü!ÃôC–¹»ùgÈÖnæn–õ?ø„¾§~Oäÿ'ÀÀÂÈžUQëœ_PY”™žQ¢`d``¬« $-’*œô¼“³óË‹³3óR¼ô|õüòË‚™ ùy I©‰9i ùi !© ¡Á®AÁ îAþ¡ÁšzX†*”˜S‘ÈÀÀÀÈÍÀØÅÀÄÈȲôû¾ÿL?–24¯ÿ!±žqçwvæŸ!ÇDgÖv7Õµu×µÉÕçettwsu~ç˜/ÿò;ÃÂï¬Ý}3kº›*º:+Úä*}ržîÝÓ~3õköõÇwsðUÍùÑó½h}_Ûz®oÜr\Låõ<œë{{zúú'OX?sR1Ï¢“endstream endobj 143 0 obj << /Filter /FlateDecode /Length 2551 >> stream xœµYÝoÜÆ¿¿!#@öRÃýä®Qˆ8HáH $£ ¥Ó‰ÍN!©XêCÿò>tf?È]rOg7(ô wwv¾3Ãß–eA—%þùÿWûE¹Ü.~[Pûvéÿ]í—¯Ïßü,ðMaJC—ç7 w„.ÓÓtYɪ0\.Ï÷‹ òz³Z—E)5ÕJ“¾oîVø“W´4¤^­9çEIù¡ýO´à6I#´&g¸Ie©ÈەƪHÛ$t¯£³msµbÀ3¹u.È»ä@ÓÅ›†ÃïÏÿâQ‹Ç /*j@Äóëá«ó.ÖBÐåšËB+…o/3Vcȃ%&43A ÷|ån78 }sˆÖÜ¥ŒÇ— U£Â¥oßýýºéúKr¹Âë§JU”œ//·±†»ÕZP *¤¾ÃgQÏíö!Ú¶÷Êq¿[%WIúUŽ9 ÷˜»9´û‡]cLˆBQøº‰.<´ž­Hw¿Z£-§$1ÒUb±øøSâFÛ #'},üÆ¿—’´ ámú³ëÐŽEIže•òS;ŸáÀó­ßÂÉá&<ÊÙíðC1¥X…Z\3ðD¦ÙrMy!…aN+AÈJ( ¶÷ºRØG#Μ8ÜÞwá©50Wàî’vÇ÷™ó "*o` ËÔûù5gYS(sܲ– £fúÀ÷%ˆ™v”YÉ s¬A¿-’Ù_ 9ùh_– ú4º··£ w¸ÝzÿHùzòù%³ðâ‘+àðp·¹JM(Z0nhª /™U ªAýFªä>ŽÕ¶Þ§Ù2ùÕvÖVvˆl¼iíîE7䜡wº°.…N«@¸ì6l¡Ñö*Xið3›mKS–³’L?ï™XIÕ®ð¾¥d’Na°áÝâüë òíj-™´°k>´uûtI^Üì6ûæñ$;$0DËìÈ›`˜Pÿ²däÏk|Ö=v6iþõp½Ù[yH„W‡ÍM8¥ãå«KBÏü øÒš]®¢Ÿ]³Ý×ãÍÃ9JºßZ hz¹Â?+ÇQæÙÿyÜÒR–$b6ý!Æ¿kûï 0P g¶¬zïû÷ÈÔãÀ…Ì2¼ŽØn7÷È6 Ç}`åO ’¬ÐqdFy»òyÉÙ(s¤þAÐòÇ®ú‹Exmlª€/JaÒº£¶9‡B|ô;€‡Ú=#ȇ8ÖwõÑê ¨k<‰p²ÞÇébøŠ|l0¿Ø‹ ÊÒ¯€»â[»æÛßWR¢H€CEBEÅ`càZ[4t°,"j߆-f’Úm6(A@¸J¡Þd¹¦îë 3 Mþ€»‡Æåxd ÷ è*ɨíaDcst±ëšÇ>.n°Ïd”ýÁ± %õM›»yô¡îA†l&W ÒMê˜P)=@Ög·cµÀ‰,Y@“:FÖ  Ci囬q¤œnâ[Ku®LÎ/úu_‡ýâ˜Ý:wÔ6¯ 𽮎^5u¼‡It9xÍPQ‘^Rm¢ªþ'm' ¸ø7áÒ®€ü¢¸šÀnµÍISk øI5¹ݧ¶¤1R‚x®ý²‡CC勜#¹çÆF1 %T6æì5·=ˆ½Ð!‰—8›¹ J#ô”Ô Rd¦±å³Búsu¸ç/"ß>"?‘ HàÖäœßß?m±Âûþ0ÀÔ¥³)ÅšJx‘íÚÿ7™8ÍhÛ‹*‘:dGjëo(õ¬š(e ÝRAõ*}´Üm>^£˜¹NœžÑ¡ÊýÔö É1Œ ²5£åv&£ ¬ýéÄÕf ÷}Æ,Áã{Hð©¹f€c¯˜7ËŽ§*ŸJì#M祇Tò‹ãÊñ&$ßS¸êÖ†ÁPRÆå-®7Ø©]’ÇlUîê×—4ª_7õÕm¦Bå„–å7cý9 ËŒ«îáþ¾ÝtÝ/u{×Üm»Kòóß~ø}Óâà:&8W”/:¹«ÛôE·Ù\CSÃøÉîÊi¢köù:„Ö¡!8 ©$Wà*~®ÁÀõ/Ÿ‚†«äîµ/Ÿ..èû÷'¨\íênèÔJnÓÉ6àGÌ ºÄÉ!yÛlsùfȶߟ/~Z¸±ª\¶ÇÇ©éuaœJ9´a%] XSœã8•PÌÍžìçÓƒd”Ò»˜'˜]½†[Ù…%¥\ B÷–ô"‡LZ® :`â6jd’VTÒbÛ444¨h‘©ô-—P(@òŒf@¿Ù¼;ìŽgèΓˆŸ©ÔºÛdDåî€Ä·S>³ù™S®:¶ç´C'ðèpVˆ%  ëQDcŠ€&‚Œi7Ò ëBkÜm¼81ãJ™a´¨xyŠntÊ ËV@ 'ÿñÆ37(Gô¯&EsS$esqæ¡c‚S.ÙÛê4»Äž]ßÖý¼jsðãÛá ÛÖùa#ö-Ÿ8k´xÅÈ®þà&` ÞÏzCj8®ë‹¥ÖI™˜ú‡ƒ%ª "M~Â`‘›¥Xd¾œLÑ6® ]}ŽdÔ‘úÜ‚*Ç¢Õ3GA97{°êlUú\?Ìʪ¨Xèк~sÿöù&­5"Œ£ ·%Åó5ÕQðÀµOÖèfùnš>| ËO#®™r¥µD£¹T~&Æ¢bâ Œ@dz;ydFv×·‡]†l£´Ù"T'eÄZï¨Ì·mÖ:Úeɇd9ÊhÖ6ñŠ´"c#“/Çǯ?ëñ$–Ÿg«bvª©ÆPÜy.¤’yžëã~Ô™4>Æ“ ¾†f™$ÍÑÖæüüh„Ä>_@¹ßÛ!ü‘ƒlœN}Æ'€èCÔßÛoàwÝÑÉŒŽ’D>æ9tWØ“®Á%9”™E}fèÓÎGÞ@ûörõÕ´?ô, zþ™AzàX*oes!ò@¤D·üªy.‹ŠŠ!yZ,¦!ÄHCD4”Œi(ÃB³YM½Ë8O"_gM½O‚§+#CTíÛQßïš_‹,Q! >ÀU“Ù›rÙ¬!*å#¨]’ë›W•7ËZñ‰.¿ûñÍËÑÊy¬©Fdy®›ª`´3t>?-þ T Ï]endstream endobj 144 0 obj << /Filter /FlateDecode /Length 587 >> stream xœ]”=nÛP„{‚7¥·?`¼Æn\$’\€" ¦Z.rûÌŒì)–ÀØ"ð}ÃÅîŸ^ž_–Ë­ÛÿØ®ã¯vëæË2míýú±­;·×˲;»é2Þ>“žãÛ°îöO߆õ÷ŸµuøA›ïùûðÖö?žúÓáþÒxÚû:Œm–×¶{ìûú8Ïu×–é¿ÅéþÆyþüéñX5}'¢U ¢1>T âã©jOŒCÕ ŒçªA<3ŽUƒ82NUƒ81¶ªAlŒsÕ ‚û±@€Ó÷x"ªñÀÞ"æBæRª±0¿H¡P¡xÕ :cV b2B®H°P°À¦È¨Ð¨¿H¡P¡¿H¡P¡¿H¡PÁh‚4BˆLTF*‘‰ÊHe 2Q©,ª1h‚4BMFHÃ0}ãW0š @¤Òh‚4A¢cSÏÆž-ºšt6éàu1;™¼.f'³ƒ×Åìdvº @¤Ò±®ep.ƒƒÈEå¤r ¸0œÚBÕ« …¨‚T¢U*@¢ RˆBTAª@‹¡&ƒMCAÈ`2h1Ôd°Éoˆ9È(5Tl°Ø~H!¨(5Tl°Ø€MÈ(h”XÞÔ'8!—L &äR‚IÁ„\J0)˜K &r)Á¤`B.%˜LÈ¥“‚ ¹”`R0!—L &V;µÞÉõNà§ðä±øº ¼¼@_§?¶­-7)!^ŸËÒþ]²õºò­³û ÷ÿ2endstream endobj 145 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6780 >> stream xœY \SWö~ˆy}.ãÂk䥱•j«Ö­Ö}m©­ TEEÅ dG¶’p „}ßwŠK—ª­K£¶5®­m.Òê´Sít»¯sÿüï ˆ§3ÕDüÝwß½çžóï|çâB D¹¸¸ŒYíãã¹3:á…™Ó×ïMŒÜ'<™ÈK]ø±ƒø']ãpòïƒ~÷ÁpW>øõ±ÏÖ¹ñÏFõ#ѶQ”«‹K@dò+1û’ãÂö†&xÌš9söôéäß…»’=–ÍððÞ¹;"Fæ±3z‡÷ Ÿkbäd0ÌcrL´Ç®àБ!1!þÁ›<6ø-_ïç±rýÚ ¾~ÏÍø¶9 RµüåèM1¯ì{5vyÜŠø• «½dòI»V'ïöIÙ³&xmÈÞÐõa~þ"£ž›8uÚ¶é3‚žŸù¬ÙisæÎ_0~Ñ3K–¾8™¢ÆSk©…”/õ µŽz–ZOM¤ü¨I”?5™Ú@=Gm¤¦PÔ&jµ™z…šNm¡^¥fPÔrêyj5“ZI­¢¼¨Ù”75‡šK­¦æQ>Ôj5”F-¡†S¡^¤FP#)Oj5šr£Xêq*ˆSc(Ž’P®””QOROQã¨!Ô j0¥w™èroÐ’A‡]Ã\?¼OĉJéÅôõÇTÌæ³!¡CÎ}ièíaŠás†øË3#†Žˆ9sdý¨£>½ht…ÛBö5öÎã'Å‹Äãîå~{š»'9 ù÷ÕO|/Ý.-—~;–;ìž±ecz2ðÉÏŸR?õ叨q÷=6{Ü}zÑÓªñ/‡ñ_L˜6! µàkÀö³ZîÒ†Ö~ÖºòÙ-âÜb}ʬ5&B*„ñUœa¿2'¢A©Á8ø~5§„ÐÒµ™†4]T”óºêÀÜbn•Ã^8ô3‡æÑæ {AºH‰.ª*„9åÐ@æ0x,Ú$Ɔ¢DÐ9›¿Íí7;ò·»³Í|I‹ØÜG6d‚è(µüÇ 7—€dl KLbX{›ÙXº[ºŒV@Y^° ˜·é|Nä<ˆfÓ%Ž=û–kAËEló½²Ï÷—žkLÆÚ`,çöô½ÖèxmzïkŒÃ:^iskC> ‘G¾žÈg5ù1ù¸³—xƒ`k,q“@OAh*JÕÐ¥½»:L S…Õ£t‘µP SñD.M¬"ÿ5·JÌ-qÂvÕšõM…XÇ´(%C§ké›8/Çå¢Dš­V@¼ÃÂzááÏ};Ä“` Ñh#Çê?ÄE¬:'DkCŸØ\x@‘âj4úÅ»x0—É2C5›¡$øQÀ°ÙÔ¬ûMˆ†ÕP­f‚){NDw¢];©Û@‚\‰¾«F,³b »ŒšªXä½\ºä·ò]åØÑª³BóíHù¥;;™?«to,€M°*Ùkµ¥ƒcí­f²¾röÈçZ4ÀM%ÎŒ€]i’‚"vòßÊ®þ"ÕÇËë¡jË̽„ 74Øîg;ò$ÿ¸³wøK¼V\tµçd’û£ÑN³¿ g €½1ê }ý: ¡±ºÖäp­ÞáÚ±=³ŒtŸcÙ¯z\ûK› ¥Ú\ù4Z\þ3]iö*â¢M^EyL ]­ßÁ_Á•kHÉNi…ÞÀع\GÒǃV©×쪂$À‹aïBí^Åó?¥t+fÞHSoÔ†ìŸ [aCaú ÆPa(Œ…t(¦pzEV\ X¡,§¢ëͽ' M€fÁá¿æía&4Û†Þ²¹uÛQ²}qÏ·#ØÜÒãúaΡyƒŽÄƒ×oÝ‹`¢êѤz4ý‡ŸnkÏ&dc*;Å”ÞðaÉ@£’…Eµ„”î<°–Fa¯H¼ú&– apŽ´Ô‘Œœ˜¥—wJY¦ÇÇ ûjZR×Cü=N¼HBa÷µûÛïCsøpä&6V˜ªC!t2}ŠÊÇ7#^ë S=Ãî8ˆÔ"´À9œ¬/^@³LÉÍžÔ 9¤'^"ÃÊ…¢9}HpT¶û½ ëSÏí½ ’kpëÍÒî^¸Élh»Ííï$1ƒˆ9ß‘Ÿîì-ojy@qž©wÞ{ 3ëé0¼]„Civ2Õ¶‹÷>xƒaÇ6%oIÉKNµŒ}›Lpç<ކ9oG³g¨ýH&B¡t0–‘éÎ9ö`z>ý…$vCkÐŒZ4ÃÝÇ—´:  f;ýºÙ›C…½8LľýBê‚ôé°´›ÛÞFµ¸ä‘Ù;°U1õƒxâÍCðfÁ¡&RÈ#²ª¡Bz•.Œi}HÿHMœêÊôéL9\Ѝܰߙ¯ÈsÁ9d¶óðþ~¥½\Æ%Õm¾‰6»òøgD qvRçãëþ躨i@$‡8;¿…>ƒïXª $•±åíÈýkéçã¬Ñq›Ë_QàßP +…–ø7žÔr?F' k9O%0ÇèIø¸(›†ÝaÝ¡ÌóÙ…¡A²^™¨Ó¬ÆOiäL6m@ÇEÇúDdyÚ™jhîæ õàA³ÕÖôÔÁ[Æ’¼&‡Î ¨ÀCr3­)P]`)˯A êæZˆå=îw`á²ÍÝÁW ×NP›5Æ×Q$Wxy÷øØÏBú2]T¥¢Ž¿Ùš×•›Ÿ“S•[’SLˆæc8™þ*^®ÇÜfÅT†U­Pðþ‡´ ÎçheXÏÈò£Ùû¥M„ÁÉ–xÚOb}B–lg2™˜²g;dJ} ´ÃrÀzìvzÖÔWbˆ¨Ü‚Ç -fòc ÚâÎ^í§&wÓÑ\4M$z¤±>†´†ŒÏœÈùþØàØù˜Ä½ïœ=HßÁ“ñTÙJú‚ßÙz Àžù)qÁþ!†Ôl€Bœ¥)ø@’Ç,5ª?]:ʹ hr››¢AK¬È0¨ä™iû¶¾ ó`í¥ÒoóA!)ɬ­Ö…–+ëHÂÖ–››™¢«`;`OXˆÇ¦Î–ãáŸ<‹Üƒw~0–÷"~¡ •‘]Žò—t Öe$T\›#]{ìGï"â@; oç’÷*£UтǎlGEÙm]œÀá~}®†6 Qä"HUî‹áÍ~°Ž€ÏøX.‡6nkÃþ¹i¦„¼`“Æ”Y¨)‚b(Í/,1Y‹,Õ' ›,¾Û³ŽdÀB}Iëò«å?ɉ Î8•\M0‡khôèX]UŽÑX.±t$:xìêLmxæ6NŸ¤'RJÿ Ê¥ñÿácñòl½>E¢ «è’I×ZŒUÆÒ>òº(dœÛûÏö[ó©N¥ìKÞòG¥lžÓ\¶$Ø…ÈzAÓF£dצü*=GÛšvÙ^­Ayða½Â,š/f;ýÔ¾ ^”¾ —K»Ë¾ÿüƒKpø©ýÖ³ŸN!‰â7ü'`ÿ´sÕÓKîÇÚŸÈë5íJã>¬¨zª¾Óோþ§|Œ(‡þñ¾>/´,»$-Pl´ì'Çæê >¼ÿñûèqBóûxY†“A­ÏHŠÚä§ŽOðzÇðƒŽÓÕÄÍ–®JDþ€ÇFœ3I†G2l!ÿb"Kç¾!’k+/Æ•tÃÕ‹ï]‚p&.ó™‡Ý/_†Îˆ¢7MØÈ'v_ ~3¿Q¶ùZ ä!³Ò*ÎðIU¾Aî%›³AVõŽþxÉ×Ö÷ Ï^¬<\{¶½è&\‡vµÅß´5ÝSµ¦lh4a»öûН_´£¡_»³»øFþ]qÁû‹‰sümÊ9êܤ2oÕ4kÚ‰4C³Ô˜H³«N s"4b€¤\†GÐì³ùGŠo|D*¯$;˸§ª ¾ÌÜä Åä÷Ñ˧ß{½ô~Ôûn¥gÙöD6¾e‡3ëì²3ŽNü2ωMµÊÖ  ‚-Ùa ûÑžBeDå6ét˜ï©œ§ÙQ^˜”¦HKÔEiC âòÒnW­4¨”s¿[ƒá󨹒/-]êw¶62ª¼=5/³œÎ„4Ð䦒Øf”¨KŒ5@Ìu¡rL¦KÃzè ¹ Ǥ·áË+DÛ²³|Í-YÍéMµEu¦’œœ}5š(‡ú"ÂX8»’Ž5 (6@ØëI†ýpÔé‚ão¾ [Õ™£‹5A wL‚I°òͼ·Œ¥mUMeV¸J6¥w“º©s{£åHRÇ–ë½ÁjEkþ°B ñgî°Êî}¾ÿ8Hþì Vo7)È{DÛWÙÍö`B$Ý*¾óŽØÜ&\ÜdwzQÙ™êˆüÂ;0Up>7_W›ÙœT^x¥«Ù–w¨ä+Ÿ›x(!µå“ýO)x¡§¼AWP5ÆTʲ5;ISB©¼uQ% û*ª¨^Ñ!=æíg&¡ŸÄ™[ü×ÍæÇ›Whö+ê6tøfö¥Èµ{nÈhO»çÎÚù}êi|?‰ÇÈ‘£EÇÐ&} ¨ÙÉø±©)¹&†ø"61+FS‘ØMÐPÓ“ŽüwûÌo¶Õ£Eâ‚ Ño¨‹CÆæyV,­àvEtæ±?}ô2 ¡=='2;±@[ÕÛ× ®·“Œ‡Ì”´¨Ð΀"R=]aö’ÔyªU^ŸÆ#×}\£öS9Ið€¾Kˆ!¦ÐF†­n4¾‘[‘[ž[ÑÛ'b®·%fXs XKJÚ:£Î(.Wf_ßzÐâ9”“‹]MtAÁHb¹/Ãé:AÚ[§önú2§ÛëIIÐt½<ðnÁÑÒpô€ë˜‡Œ6ÌæÖ€ñòõ8(p ùOù²§ÜÙ“ž|A_#iÌ h©@[¤¹ëË᡾i¥V/'âA}ÐØ+«ÒƦ{颳ÕÚðvhK{ŽÕÜ\ðané°°ªó;ë¹O¼RVÑ£}Ø~Ÿ@TVôÆ>@O£Ñ ß'ˆÐ´—^s©u˜ù×kœ.Ò”ÑAìÕɨî’ʹ´íÒ:òugÍ|q¢¥3ÒÉÛãi–©Cr‹„"浡†tBñx‚ˆÙúiFÁ¾-u¶j¹ï:OlÆk8U¦V§Wê"ëQ¿Ý/ê*ʽ€¶ØÜ>êÎé&-ÄVrÚpÞ‚–‰‹.‡œ]Órîõ®ÓÖw‹¯ù|„®°—¦¯Ð…×(«ûš›rK² ôÆ®ÖËm]„·öfn×EÉB£Cbã { ë²RAÝ ·Ã4k½ We¬ËX³jõL‚uÏÂä#s>ébMu©UqD[Æ¥ê"Rg}½ä?Þ.½ã@‡}-Î-K/S ªÑejÃb¢JB¯«ª(£8¥: öA¤".%!5B¾Ê™‡|hÖ»QDáö"/mã8u ˆz‚ÒjCs 0V`ä õâò×ü@¢ Û5ÛÛÐziP[M/µáJNŸœ•Ð`6[ ÚÛÞª87¡}™Ê[¹xÑÚùD!úä'½g1[óŒUæfy™ ˜TˆPk÷(\Y.dÊh@ô7•ÈUðMŒ?Cì¸ö°{Ç¥õeÉ a•¨OÒìäz\'+‰êEå4ÞW¿Š÷%ãA¥6¼“4R•…ææ¨ y£e—ÏÖVäæK€Ï†¶ÙÜ®Ú5‚& %à›â_ñu¿³Ë«¿h|÷˜õtÉÍWn½÷p˜²D¹H½¾kóõX†½ºD¶Ì7ÍS1åÆlÁ`7øíVÙß™PtPœ±~EÐ2ŽÖe°ámë)ë‰ G?…p,PÀ„ábÕŠ—üçþ ÀïT¡½Àf?ÿ-܆ë3 5úqáÓø â‚#ùi‘ª¬ â © k"Nϯ0•Ñ„vü÷=4‰¼UòcøÁÌ•›ðÙÿJ¤(Ѧ%]ùLô’8ÿXú]ìÑØöpíYG”ù›T™št}š>¡XÖ(äd‘¥«ø“W0S`éêí"!+N¯ÐsX”öÒKi/gŧc Í Æ©\%¸F{Üb*Ê7Õššd„~Õ’¥Ù¦\ðö‹ˆViCC«p¯^o,³ìç[å_]bpòûl}=ÿxþÑ÷ž/`~½ï.Vo Øê¥zEsÒ:·gnr$¯ü[±±R•Ÿ‘‡ ‡.!¯¢¼Ò|c¥ÄT›R¤ ê³jüo¼›ËЦfê“ i•UƒŽã`®X›m%ÜQ]dªu¸"àÒMRUŽðn¤ª„7[ø.­„GUiwT•’ªÒ.T•XGM.KÏJÐ'fhPöâð%ì•®ì“d%”§—Â3å”Zy íæ ,%ä<HÆznç–jMŠ"<è‹x$©DƒËïÙÐ8ôÜ·…ù¦ÜÒœüìªXˆ,ÃÜl•ãa­/4n>´ì¿:`ÀZ%7U!ÿJ!ZZh*¤mCíÞ:Ø?føýe–á¹Êd>œ¢þú3šqendstream endobj 146 0 obj << /Filter /FlateDecode /Length 161 >> stream xœ]O1ƒ0 Üó ÿ ¡] ]Z¡¶Žƒ2àD! ý}I€î$ûîä³ìú[Ï.¢Ç%°ŽM¤Å¯ Fš‹ªã0Saœu²»ëðþ‚Í@vŸz&ù¬.ûªÚCè -A#E͉F©¶±¶ÄæO:£=œõµ-Pjãì?•Í%Λ€kŒÄ©4-MrÇô{&øS°A|/S2endstream endobj 147 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 317 >> stream xœcd`ab`ddôñõÍÏË74Ð JM/ÍI, ªüfü!ÃôC–¹»ûûñŸL¬Ý<ÌÝ<,ë¿oúž$ø=žÿ{Œ #cxz~s~AeQfzF‰‚‘±®.´THªTpÒSðJLÎÎ//ÎÎTHÌKQðÒóÕSðË/ f*häç)$¥f$æ¤)ä§)„¤F(„»+¸ù‡kê¡» Æ/,Í/I-ÎÌKÏIÕ+)6d```Tg`ìb`bdd ø¾†ïÇÂï˾ï*úžûØþ¬¸pÂ÷ã?nŠv.¬œWÒÍÑÆVÒUUÕYÂ!<¡ÛgŠWŸwOq{Ú¦nŽå½ëÈOeVè=ÐwhžÉ=S»'sð5Lûá<í»í´þil'¸.pËq±„äópnœ=±&ÌïŸÈÃÃÀ¹}vÂendstream endobj 148 0 obj << /Filter /FlateDecode /Length 3513 >> stream xœ½ZKǾó7äÀCpÜï‡aˆÙˆ#±´AV´vµ¢±ÔÊ$eK‚|¾~ÍTõpm AÃXM±ªºº_UÏôOk1ʵHÿÕ¿Ï+±¾]ý´’™º®žÖ_^­>}"(cQ®¯^¬Šˆ\¹öÖQÛõÕa5˜ÍÕà5‚òz?­ø¯®Wß_í_mÄ(¬öRÄa¾ÙlµÖ£0~øvÿöü&ÿh£ a8æß ž‡oï7[åG!®‰<8ÒCÁ…ᮨŠQ Ùïné:÷§óþ9å=%^Þ8üóÄLºm¿¨á SÚ^¾»¥Lrø–I_R3°‹€]ÅvqÚüûê›Õã«ÕwÉÓa}{JqÐ&Ž.¬­2nj­=žm\C«áÏãÍú_ëW+;k…]ÿ‚ |ƒÿD¿^IãÂâÚißúõa%­£ô 5j³¾[=%\…F¹Š\á a´zí„1£ÊLÒbkcÀê`‚"5JM(/™z¡Ó¯L½ìŒ(4ÊUä˜Ò¹Ñ;b…“J¦¿³3å%3_¹´µ?ÈQf£0û<¯µLA§sÜþJ£\EŽÚo#J#jEpøë¨…Ûß ê'¬B@ÈÆË¡BmdrR&RÁFéö ?F¾o1jßï;ÓØ¾³Op 7zQ†YÑ(Ì ‰˜nâ+{ïáªrÜ _H–^Ž.²h”—,nð¢vL>³<{…{Qû>{¼[fO¡Q®"Çí÷ºùºy°h-ób£ðT8̪ËÅQö5Xh”«Èq[µ ˆ£ïó¢ÐØŽ²_QÆQ1ïh‹½vÞ©4ÊUä˜w*;§Ø€¬ *WpÆqd@´ƒg±m–(Y5{T©fÕh \…Ɔ¥,×%§hÀÓVt›¾©KÎ,·ˆ‡ç%ƒXô­¡ÐºØú>Æö+®\…ÆF»´S©âžPµÁ2ßg[1Ë1.‰<áÃ¥BÕ¸Ø{Õ´FІˆ"Çu¡ÅÀ¹Â¨l¿b¦Q®"Ǹ FDÇ”³½'*r¹ÎÈü®Åle>‘˜O³·G ŽLè[w¥Ñ¹n0]>+ p_T{¦±!O̵1 ahC|ËÓ4›Á*%•±‰HZlÎ L¤:mÈD'R@½H“ØL„n5qܩӢ\“‹N—I¤ñ¹å¨ü¬ª±ÜmËxDUYƒ&ç‹QY°î2SµF*²˜5η8L&…èÊh=¯§Ð-1©²“p6-ó3I§Óz$&U3IÛôÒ€%ìè|g”@ZQ›j+³“M™ƒ˜ä}(k1‡{àa®£Y£#š* U…o×)k Ý]!°Ý©P[õ¼_t:ϱË3ë¸:‰ˆQEæ#‹è‡C¶g;ÃÑÃHê£ÌAË£\dRzßÂ2©xØNÓ<™0%ºÞ&ÔE`6¡/æ>Ù”9¨MðP‹BA­²°¥¹UEZ'™ƒ–‰ iÊì…ô@òT%QæTÒå(Crɦ—$ŸlÊê§Jà±KÙDÝdÓ|ŽS[P OPrÔK•ƒî¥ëz<Áj ]!p“ÒüÂK.†Ö—fU(C騪BàYàëi”d”[®Jã¤O‹S¥B‡q–©ÂÌ9ÙÞêØçXFy࣡€YYhø„{$€gd‡—…йJ—¸*Žýö|h˜Ò`njà æŒã8çf¸˜J/¤D£¥JæQU89?ãÚá{N*Ù-èÒ1NQ¯,´ø0ì¸Ç®´fR¤¦àýT3……:?ø[\Àlî8’c¶Í³ÿ¤ª°P«”]va,Ð÷Ùõ„ÂÁ€=a‰w©y1§B— "™É2ÁuÇì#4ó8¶(Wº·6ìñ½¡´biŽF"©ªÊBw§É £yX‘‘§°OÇGϦ•ÂBÑøìUßd9΀'Û–^=µÍˆ—€˜w<À>¶ÃS*æW´3dê+L4f1eeZwlý³¶V3訬jï¤g··—¢<õ¨× ë ¢öyñ7XŽS¢öŒSªUN‘7µ3¼h]ŽÞ¼ßD-ë3ÚÉvꚈôSÓ+[´ ˆ­MŸM¸*œ‹ølW L•C~°fk-%Ùd•M^;Úþ* «dULú_Mwiš¡Ã]yî†é©ÙNó´k稰 ãõ‡íÖÝ ­?ØúíY ³>“Ÿ»<­«MÇÍÕЪ=‚œÙˆ_8hñ S@¢C›Ž+ ]t;4t±íD3ÍnõرÈsi»<—‹ýÙòÊšä9†SÓ¥”Š ¾hõÁ ‘¥TaaÕ‡3Û2¥Ðl*éK7š1A”¤ÖÕ¸˜Í´é¢g–ÑS‹èù)zß­~ZE0(äf™^Wb<Ȩæ£ï3^=øÖo€d™JaÇã‰k¢ÈˆÎ\LV“:sMÊÒ|()W£.mÓ7ºâD!\F¹ü+±¾Q(W·#²GÂõ[ߦ½Y§sC~›NïüЂ×ðêè‘»W‡Õ÷¾ÙÑÐ"}0õA¤G ózþX;}¢5@îòb½R0n…‚O/q©X\Z)ŒË§W÷‘rU åL»ò-¶2UãQÉ}’2U ãJLU¥0®ºÂEvøaIAÙ¦èH¥ÌcNt‰ËVn¶JãX'ô€¡`PŽðöüOÕþé=SÍ…`<ø½üƒ-m)¤síÚµÁÉ5@eºãð6Ýq˜·’ÞÙ£‹; ¦Ó.s¼KÙ¤ïþ«Ïø©7‹4!O¾&ÑGFäL²‡@u~uÔ‡?½LP„É/Zø±1Œ|À.Ô™H/ˆz yR˜%1ò·—ÞMzq3"]nðô}ÔM%}‚ILºÑÈYñÕþö ¹&qlwEläg›­Á‘¦_îîvå.† *Æ¡^ôˆè<¡Ý)×õn‡5‹ÛÓ=”0¼ kÞÚ­ÏïrLÆøaw<ïÿ@~b7Mö»»ù® »òö’ ˜ÛŒ~Ùc­"åäƒëž7* ¿l”OK2s° æôÙ°›˜ŽüfJ½SÍ„sîï¨ãÏû{z×å4æªûô Jƒ„r›‚ï¤_oSûtèqùÂÏ›­Uém­^ÃÍùæxz6üéx~üv|±??ÛTmibàhˆ‰.Ì($iÖõçûÃë±€B˳ÊòÛI ½¶µ…ÿùýÍ‹ñÙð×WXóùÍë´ŒI¢H¥QM¤@JCVW.:ã³Æ¤}t}õ·ÕÕ£ªë-ä½·ÎZÊC8V}! Û4ÞFoBÌÒIä´¿=ìÐ;0âA·–˜2¢£Ë)@»µ¡:€WFÛwYýï?lrq)=ü¼¿§Á9ݽƒCT¹{Tƒ_êà¦ÒhvžÏ}M(•òL ‡éÖ\pYƒµÍÔÆ¢£ÜÔ:³Ä:ž’RTz^ ÷Gž§×ùVWÔF,î‹‚œû÷Õ¾°¬¿b[ü(Ûöïéã.§vYÀÄ\Kð#ËMÝ‚Ñs6+¨f¦Ž³™qÚ•Ñ’×;+·}A™òË»K ×ÇÒ$Û¬¾¥Œ¼–]*ÛŸÎÇýDÅÅŠ.?›­Oï9¤¹p.­öuÞñQ§_'>ôDcwzÇpí|Ÿ‘&›ˆ$»€OSzl0xåàÂ.LvlÞ9’‰­¿»{÷ž:´yÈ,—(Þ —« ¬=Ùï/úwblq²-J‡r3È+«K¦€u7srÜîN9êZÓ©] T‹À·ž÷‚ïïîî³¢ S·X\EL ²€, ïœÒZ1Ñ>{Ù‹0vÜ §I’¶@„¥6—K°TàïåF–Wñá»›?ïwÖe8,’æRÊñ-¥áÊÏ·  õZ6ž\u˜c–Oo‡ÝñÝ3ªún5[5ü±6©OV.”¾4¤\ש%=>÷ÅïÍ®§çë±µ%;<>“ÃÛÞ7s€û»»77©{X8Iÿ8>¾øõý¯Õ¢-]­¶¿Eç+:Sç3&w"ëMéDè,‰¹7¥›T.47|>Û¡Fu³•n&›%Z.y6cV”åjòðI¹½Ì‹³#F[YÒÒ™©ÓãG¥KLÇ+‹H½ú’¢ô‰Ô™2è¢=lµ‡ ²r6è¢=Hk§ío*ê칤%±©?Ê?öAsüG¸g|Èœ™åƒ¼sÙ9*ý³Ýkÿ¤%ŸÄ?/Ba²Âm:IióÕö˜0èºá‡J ¨–ì•ÿ‚ðåŠ9 ™* xî…çU¦%.ôàèüqU]ÎÿÒ)ÿ.endstream endobj 149 0 obj << /Filter /FlateDecode /Length 14396 >> stream xœ­}[oeÙqÞ;ÿBŒ€ðÓa ¯û%@زdH°€Hî@?PÝ==Tº›#’#üë]µ.gWÕæY»& „Qw“û².µêòUÕ·ÿ|kÎöÖàÿÆŸï¿Ü˜ÛO7¾±í§·ã÷_nÿéÝÍ?üÎ&øÉ¹šjoß}{Óo±·ÅÞæ˜ÏÕÇÛw_nNéîÝŸàÚ`èµ9Ÿ‹÷®÷áæ§_>~½3g}¶¦ž_?ÞÝ{ïÏ&äÓo|ý¡ý2ÖPÊé¹ý.À¿O¿yº»wùllð§ä~¸ÿQlIåô¹?ªVwúçLJOô=O/¯ïéµ/x­ƒkëé¿°!}š¿q§ß±Ç¿<|ùž\÷y ÕØÓoØ]¯ßÑaÀ, ÌÂ86‹—»÷kX¸éÂÝÏ•»‡á„i ø?ïðwúþùñëë7§ï??Áÿÿãóë/~<ÿñågøûp®%œžž?|„K>m?ùófúû÷O¿=ÿø÷—ëËéýÓçíäÒŸ?}~z~ùæî›»6Ð_¼»ù-ŠD¹ýôS9»änC(îìÃm°¥Âxo]²åüíóÇÛßß~½‰ç£‰·éù5ü÷'·¹±ÞÂM·¡=$ß~¹±.[X˜ËO>ßüÛ¼(åXÎôšñ¼d%»9Üfx ˆ®µF £ÅÁ‚t£üþ¶$øÞ³¥ÜÚâÏfë~úÍÃø»|ÎòöÞ!ö=Á¥¼ó·?žÎßœ~õõõãóû߿ŠÝ[S|—ü?v%†ÓËã§/ðoS„ý„¿ÁêçìOOÏÛbà a¢,S¨¾Â6±ešW]Öi^DÖé·¸JcÍsµçdo}, ¦rëLçœûu.5àžëñB²iã'äE.{Ž™\4B.ò)ÁêÓ'ÍŸ‹`œ¸}tòã'tÿÏÎPf9ÀŸS½ýÝ6Îä“9{O‡<Ã:î,n‰ïƒÍ&7F[ë¹$rct~røÆè=HW¥oLö>½1Ðr°'äÆÄsJý\Æ•þŒŽ« -—"Á¯ÙR„ŠCeÏw Ê,~6öìËáð#ˆo¡µdT‡+æª?{Ç_éáùÇ+†'&±WVw¶^±°ÖÞòµ€u͇baJÄËÈò{D¶b“R›¬†ã¹ù”Rˆ UëÑÀàŸ-×rvÇ/Œ&ŸAÓw.|Bð²t.‘]…> V":yŒRTH˜Kç¹TTVGRáa =D0²å˜ø -s,û°øàKE>Kt^¯4é… Æm}ú)û3<–‰˜Ñ¼,;ÜÉö2Á9·T¸€‚ gw|Âaa=ž¦…#êú£Yz8nµ²YF«Ÿ„Z±r¹Îªƒ.¨˜¥·Ÿ~¼°0'f2R¶vÛ’Å¢¢Ì\báQžA3§Wáá:–k‹Û$tºqüù®‚6åg rvÇ¢XœÜ$þ\ØãaJ rÙ²‚ègð >ÊR%f>øvt+?GF±öàò¦3Óç½B²ƒaùr9«Z.°ÃL2#ú´Šƒ (#îYÀ‰´ ;@Ç[&9°eI±ö¼ÈÂÝ'çº"Z\¢˜$q^ìF[Üåq •ÓñYƒë+w-Mœœ¸<õÌ·d® žx+F÷®üÌrͦbV²Sz„l`yêCb;Ál%®¨Ý9ûÃýöpº#s? Xë¢ð<Šßo”x,Ô. â…ÍAXùË6¡*bZÓŸ­Âp²<“jÐ %)øÐÂÂñØÇÑ•Œpضy±¾jÕ–áK:Mœ˜’Y¹ä€ÿi¬bƒ×¢÷Ú*æA!¦ u€W„Pà°±¶sU¥¯ f'ð³V’êaŒž…°&äxзÒCÌ›^XYR ÙZd03B1¤¦>ÄV6=z¸I¨…S4FÖÌñæ!o¡Ðb-ÀÍ.¯…ÝoRÌü6u®pЦx2×ÏMüHk„Œ¥rñP–Q'È@äNÄßU±b¶ èVº 0m/™é7XgM-˜‡ÌðâÃá&5sm˜‡…–S8p} Â7)å)œë ÐF®½áˆk¼§f`+×Áµœãñá¢åL’„‰E‡+GÃtx–pâASWÔÇq(­Äãt²4g7áV d@as]h+F߇þXö÷𘞈¬â•™Gå`LË4dGf¾ðIºZ«1t¸ìé1DZµ…S9²Qšú>ö,ÀÙã:1#`th+“‡±òWÐèYšb8‚–[Ħ5²ÇÒrmç¶ cµBs#nU;î!6 |Ç}ÞÄj-2?§ í”°ˆg&©j W‡¹ÏÅ;66葳…õU‡žEÇ­ü$iÜWX+å:8Å,AQFîJ´Ó«9J6é^€´<ÞŽ&cvƒI¿ÇlÍᎻœÄ7>L¾-µ81œƒvQax­À^ÑáW¡lVB^9ªÀ ´–"¬µŽbżñœR`AÈvþdQc˜ÿäp¯ƒxëøŒ˜,48Xƒ&oRõò‡A€§‰ÊBðY‚;¥£PùsÓ²bøT3NPduŠð!”øyKf†I˃WzîCaœ)]4pBÆ.ëz×]J!Ëcƒ¦…ëa¦’BøÁEsž@ }á*·åV4n:šqåN–ãØ£ roFêQ8¦ÂáÔ$8PàQb^^,4€™h)qÚ<Š+“CƒÚIqrw‰š„#=KƒØ"NÖ¬|‹BÂ1¢YÁãN L"(ÒdM6¹L›¨X}V>9 ’Tp¼2p ª ;éwEƒÅAV„ ¶èòð¾áK"ü¤ð˜­©P;EbF þó\ZÝ%÷{àäâ,E2G‘$ƒí°ÂÅ…Ÿh²GU ñ˜¶—¡¨Ã\6ÇI”©pʇ Nµ×-Ä_†”˜«=F`#ÇaŠILÈF·Ó¬0!UžÀó£Ð$'kÖ€(.­ã½,«LÖ¦ä6ÏråÇ8 ®™ÎŒ›X¦&$×ðé.”»`ýŽ.4È´RT x :±úªü*ªH#4˜f·aö»]õ—·ûd‚ŸaîæúcUŠH˜Ô þ]žÛÄÛ´Ki´˜–Ÿn½4 n«(Å@7_D$ ×`0ñ¢V×4 [‹¢*²@‹ËÅ\È ðZÁÞZ°U=÷¼¨…¯*×¶Ê¢”è7ünåëX07<ÛjÜ|,šäRαžŽ8I¾ßÙ!xøJCÑž“WFÄ®3Î%¡¼ñ*xñ–"b†ýÙj¨» ä1\¶!IÛZx£˜ã)ýrPd0¢…c”æH%û°ã¢Ä%)x³ûBÕê·Ϋj†.Ç> \Çx¨pÜŠˆÚĽA`bå¬ÒÕA–EèPÐ=æÎSUT#F›ƒˆ3Dî8ÍKü£Ñ)ˆ,ܵ¨(tƒÓPùPင_©¨pu[-¦>>FF&Ýa Y¦ø,X‚("I í9”£ki‚õÒ¶EÑÅÒLQÙ¨°¥r³A3…]Ê +[EˆŒ.¡ 2ÇÍ_Œ»Ì‹Ál ¯ÇI‘‘Ã0µpÁÁ ¯b\Î&YlJ'+´!\nY½ƒw*cîZ*ÀƒÌ)à‹DT‰¥Yb±íd²¼ $'jDº9U€#IcŒB¹g°›¤˜vµüU¨[ðÎãDt‰£…ù@UE]¦¹DålùVrHã9 ìŸøÏËá;YSãì|օˆãP°„Xªv¼G`„‹À¦ê<ÄXDž•ý)¹6®}ª<³¯²t³ðî#µ™‡œ +ø0ˆ<-+g—àE®e(JgSéï֢ɿf'BÊÊD^”@$š«ˆd ÕàfU¢ªHÔd ŒåèôD.»ÄYTX[Eû`Êà_¶žÀÿšÊæKE>IÝã\|kÓI1˜¶,¤F…\…Šº"¾ìdS[ò³û`yhS^Œ3›ç¼TÑVj¯°k‚i±˜¨ü‚àØ+Êt{6žÙ7Ã:rÒvF-’XcUSdeSX´y!®)z­U çoÂnCV¾Æö"­gV¡â£+UãÅ §E)„UÛ$K\¨ä£õjFÞ9ÖÓÆ•ï…Ká÷•ŠØ#ìª*¢¦›­5þT^¸ƒ$$Š`Àb‘/3CÞ# #óç.{]Œkv-äqwb°—sdL“)úç@Tøê¬M’mòuÏhR60aåD" wßóYÁ¬ƒ÷ ̼h:pÚBsÅVj˜wU y«˜Y9X™ç ÉPÖ{€ ãg ô„âAü,»“ƒäˆ«ìùIs:N&ô$(¥i‘òEº:1«óo4»Œ·FTmöÝÀÑÐTøa18÷41ºU¸ÓØó`xÕ‹s*Œc nE ]Ø*°ˆÜº·$–Æoè%×ÒàbhÊÃe¿ ž ¤*]0gQþF]9ø×¢ûÚêéÜÞÇ/ª’6 ºªˆ"F£il *r%<IJ¸÷ޤï\+áe«ép؃µIѱ6½ÁývÀ§ÅÞÁ•cTÝØ]³¤¨P$- öÔp°¯µ%i `Í.û¬JòF\1.ˆ l¦¢ÿ4æ­Œ5 \Ëó£PÓVc!¦oE¿wλ.$tÌ$cˆU”u§X ß–s²+ “m%ª-Ðx储¶«»Ü º‚ÜoÊ>OÏy]æk΢-%EËÜž´¢õP)lQaþì®-Ó9ÉK…D вhÄc9 Ö y黽ÁÕ§ëŽÂÂ!QÙƒ\€}o ŽSzÖwò[FtÞ®×CÍP›Çr¹¢©9ú·ÆÅ‚ÁV uaÔ™^xWĠǾÛ+«›7’“%'„•Ó 4™X¨‘â» ÌØ‹²€×~U¸nJ™'Ø‚¡›±h~$oô=°¼¼ýL¸`“n’.XÊ+…,…ëŽìöJºë˜‹áZêìòÊhíDä‰Xv» ¹Ü4ët“tJ¹,ªµ™ƒàø}Vµúƒo’ÜÙjÀÄ)²æÜoý‘¬OQb7fTRÑè&É¥¬ {X Ægv@`ô×­7YûÂ%?&ç¼Ả0l’5Ú-÷»”ÃÈ—'™â7-³xe5â•Ù.Ë{e  l“T¨_•¤;ªvy¥E>ŒC2Ù&é,AG.J¿‰!ÏV•^5Zä|ç¾m“¬iáÓŠ)Hñ¡Ñb@:ILƒ'v'Ù$S¯KŽS¦Ð S 5ŹoÄô×^X¼‰…«‹?&ü™‹¶æòáO¶I:|ÌZ(Ö5 @ñ2®h/)VrŽvÇåzg±¦µ;)Äšš•KMÀB+ kH&Ä*ßm;¼Umäh½gæÎ,ŠÂˆiN6‘°¼êe%“ôRY„U¿™dîIãËXNä„/3è&Ù)M«vc"ÔQp$* Ķ¥î»nWý¾À‘áGî*µ†ÔA)BÔ“yÃX/E2°Ì5bÌåROTõèz&*Å/Š/¶uU€døNµ®ƒo’¾2æ; Ã帇€øÁ¢ö…(Nßñ¢ŸÒ‚eŒ„r©çŸÈò,Òê$u¾Iêþuž¥ÃWJ¶|ì§Bá«‚‹4(q²‰à&õ¤° Ç0­”°Àý‰ .b±wѱĴ€gƒçìØI|“lƒÊôωäHS;ªBXŸxOF!¬“o’é`¥Þé|“T¯Á‘OQîÑàíÝ®ryAçBܺ1-KþR–Y`±hê3)Y +6 |ûé¼2}Îý¢ öoQ Hœ?ÇM3hê4í¾pR`+íõìß6úN7IŸ^–ü7 Å2`Ë¢òˆøÁÒšbeÛ¢˜Ž8¥£Î~‹ºj÷ÞR§›¤ú«àÅu¶I¸§UC9ß;ïiãàXËÎàN$Qˆ[¦2DÈÆ{Â~ºIúq—6ö»•ž4)›æ U§ëR˜BõaÁÛÆ¶E­MYs@:Ý$u$‘ï8:t“䕉D51ÏUÐI§ØðI7É ªåçOÌ`ø©q«VOŽ$sÙ¯fAìIüŠ [Ž ÷Ê{ÊÂíª.Íl5ËUp˜â‚å›è:'blKuÇšg°MÒMXa¥D gqз¼ÞFA”ÝÕóËJ2Ë*pÊÖž©ñ½m/cÙn„Ahv°M2±®šl“ìð•Ùl“T¥cEã106Ø&©›ˆYyÓ3ª}75ß¾=ÃAÜÎ5I3ªÈ¡sMÒù¤ÙKÈhÜÆîª"˜ùúb+%é 6”BO«ân±q_Ÿ´§\—Ö„¥‡–y2MÒ¥E§‰ÝhÞØD®”³Bn:Ï$,üȰJ/#dç]¥›Šp"ðK7"E0X&iøäÊ¢‚(°Êe·™å¢":Ë$ Ý¢\–¬—ç Ó»U³?—)+¿êc 3yÏX%˜!îd™dbYg B¢/œ)U f_ i¬Rš,“t'ÁY|:„HX·iåî±®‚ÙÇ"6h&éNbé‘@nÍ$]±¨T'©bþÔ¨aÐL2ä`Ù@$,õúÜm)LRhŠÁ2É࣋SLä‹®_ÔWD‚@Ø€±hã&sæh*ø+ò-¦Røñ³aÅÎñ[n¹Ó…øŒ,~žrFT¡v¤‡ÝZÜÅÁ,“T 1]­ÌâðÀ !­c…Òi&ÙéÐ¥7ðz‚b(æù¹z# ’cÔ$;Ë$Ã=ÒŠX¨“xæ Ò{Eji²L2'^I4«í´[ Yй0Áɘy½ÐÄÔQ„-sRšrÜÒ%Œ.±¹h_è) Õ4X&é$ƒÝ玽DI‚èH›pÅ )7þIiÕF^®y%wký’“mvåÙwU¹ èep‹¤zEª‰*!_Stµ(5‰Ì†;}‰0!.Þdzy™áé “T$TeŒ@èÝ ŒbðKÒ)» ˆl'¿$;‹Eêt~Iæ±f…’˜ü’ô•`_4Áôà—Æ6jº$J*,bäNÀä—dÚ¥¬>/A\é$ÝþÞÕvx‚œ¨žÍTuŽGç—¤§[<%vÕù%©…ŒqÑ/JV¬Š«·¯’¸M;×9k«,GzÀ˜*œA.IEÎ:] ™ª°Û­³f‡ì2kÈR¨¯v‚éUºwKŠ;¯¢1¬p‡¸,¿H`CÏÓI E¡î½$ƒyÒ,Œf®4‹ºé‡^ÑX¶»ø!ä"+h:½¤{5IˆN/IG”~@-‹ÍeÕÙ+/Óˆ½ÅjѺ+ÎØ¡×ÈŸ ’,ðêVôjÄ3”763•3êD°YÐFJøWTMŠð°“K²|Œ™ ˜EN¼¶?_¢ý —¤~-,µä’ì•ËoË’µ0­uTfy$­3 Âh"<üÈD ZzÁUJÞ(Ë0­IðvrIª%J, Ñà•uAØOÄ5òð^©Ë)rI•KWe©V£ªü5¹¶HÆ®(‹‰è9¤K.«¶d"cYdÎ eg\Á¨Òl¬ S9AVšb÷™ñwRîÐKuœì’ÌÒDUb`L²XÆk²›ƒ`’¡#QU+1&YŒ7Pk•z~x‘ø`ñ%ím’a’ʘ¹€NC‘}Lˆ÷ƒØ“a’aQÓ`’J@u+î f¶¬ðyí<”dôÂ0Ù/Ø*æÄgÀÀj†vê©’²ë5ÒÍ‹0-£+ž®ýòDÌÝö‰É•yád¬iÙ²ËÜ'žŠGgæú÷­XÔ&Ч‹G¢T)W«ªè$“,RI‹×‘jçe!q‡jÇe–ÇX+£Â4H&it_Âæn¬yl—l‘Í/“d’špcUÞÌ ™¤¨¬Ë»*ÌA2ɰzMÎ{’L²UU˜>H&™ÏãŽÛ·Ç$Õ£Hú¬ªR¶Âæbc²¸0F1yÁ¦³-ëü4!IžX*;9&éû Š7% âÕÅGÛÈâ@lk.Ÿ{#žpâf8 ªPÆ}‚3—™ƒ&ú©ˆ³¤ªÜe:(<02¸¨²AË4¨`g˜d¾²™a™Ÿ¬-ÁRhÞ&8¥0·ƒa’…K^ ‡ó4i(ª@8EÆcU*@wMŠ™|e•)•!t®QU¹0(&Ù+“lPLƒb’iòÕ—‰ æD™ º£šäìNç€TMÕb’.…ÉÊ^ïh>’ÆŸë“,~Šº:ˆN1I)ˆg5©ñ |¼„‘{¨“b’ îÓ4%ŠIºoˆ‡)¬š¤QˆÅ¬˜7ë“TcFòi¦uô8ÜæÜê;FLöEƒ†Û÷¾Ñÿá’Â?™“bsU圲=;ÂÝÆƒa’…ãQKá)»˜A3É0 è>y&éUø¹+U1š¼³d>ŸD“Ìm)*xdMÒW§ñöÑ$S¯FU:ˆ&éú ߆‚ ˉr±è‘·MñÆX8[æ]¢"¼èD“¢ ËOÍ4Üt$íR¸N²Ùaÿÿ« &pd¼¤ÖD“Â{¾þ#¢4‹8£BsÒŒè¼ü°4[ ‘{ÀÒ|ƒ—.|§Ï:?íYd;ŒŽ7¬HÃÉ¢ÐuÅ= Ä|“°ËƒgRàíª BÚšåÝŸ<“Ô;°AS*0x&Yt¬ë-<“ÔßÁÄÂo5<8î 5Y=R¬0’èX.¾WJ<¬, 1ƒ*¡¢N3Iíš×ðsMšI¦O.dÄÆW ¥·úÜ ªH°`?\•íf’í·Sq4žI†i86NžIê_eîo~ˆˆÓŽ3jòL2eŒZ“g’o»—Î3I·È‘¢ýƒŠ^Ü ^ö4k$÷SzM$x2HJvmôDjý¼,ü’¼gÃ:Ãð¯.wfú9ŒÅ+«7’æ|bØBÇî.Wá÷›ÙÝ!‡—¥ÀƒëØãÍ$¹Æ{s8òÁ1IÇ›¿ý6ýØ9&éba«èÕ³±-V_zÛ+ÅU-ÁöÊÎ1I§ˆQݱH ŽI:KP_«"\í …ËUø5ÈÅ×P˜Sœ™¨â:®;æäF+–׋¨Ž þÌGñ3W·=ÞŽïµ±q]oèßÄ¢“LŠ¥XtÄŸxølK+Æ3‘”Fë¶Zœ4‹ïûðv8° öª!H‹í¹ßË+Û§º®ë_³{®b~Îþ:¯ ËG¤Ì{UŽg9I&é,1­xÕؤº“LÒY¦%°Æ ÅÀ‹y˪˜e'™dª¡®>W±mIîãb[yj›dßNb[¹pH¢'÷Fªíˆ “œâˆt’IúJDR#?ƒd’n¸K+ZxÚ³}K>^8fXxæØóÑ¡¾Þ©G`þÐÐ/7–rùfß6üN2I'iÄ'—Â3X&éV¢Ã^Åó;Ë$½ YïÚ¢³LÒ!ó¡â –IúJ\ë!ȶ!ÞŠ­Äþ·cë=Y&©ˆ…´¨1!"6øß6-ì ÍÐJ[„ѱ´½Ò¬ÒñLuÜbDd°ÂR–Iúø>D¥ :üíñÈÀ“¹P’I*›5l›{}ÁÉ$= å"®ÌZ~&‹W)‹A2Ieû5ÅóÉ$½ ÓÇ*eL2 [’BpŒ¡pë4:›aFM±KèŸè'¡rÁD­šâÈòŒD±ôË–ÄÍÿë$“䕨UtÄ„ì8sþ°\AFƒd’.„ó«A0в­}¼¬=ñ‹h½©sÄ¿;äF¿ã&­ØðªðÐ;É$}#~*ùxµÉ$}#vßrLÒeuKîâ=!¬˜c¹ž.%X¨ðؽꕃd’º2øuf®vÇ$]0CŽ·hpLÒ3iEILôô #%FÞN˜cùÊ$}W£Ò|wŽI÷ÄEÃÑÓ‰Ûº„E£Pœl¤å1ˆs+íé% ß›µ“›t²¶¿yt(:eÐoщ+ çM*êèõ~;D[hóF1¹ŽÐ& HM¨…E‰ ÑÇvg$5K«Äqß oMÌ9(&…Fu—) ŠIr†v×a§Mï„*4¶ï,ZÙˆbÎlãaVh”Á1I•D‹rˆÍì“ä•8ïëHö啃cr»±•ût“b’N2¬*¬:5¾x²­«'~¢X̉· ÂÕMö+—ý–{]unz­SL2pÈ+tʤ˜d1笘g‘?dsU1Oô‡ŒÆ Ž×?c¹Ýh„݉"à«°¡3LÒW†¸HmÇÔŽÌùK]7&é¾!íè±z “Ìæ½1‘êÊï£k¯Si“k„ÍÍ‘Tx¬z'˜d`m^ôêl.b#˜¤wÝU¹)ùF0IUÅ…»ƒ`ç† meŽO÷à—¤ëà.˜õ6t7>¬¶É’Y~啸­‰£kk®gpˆ6o„pÌÍ_Remªuv§ÈÂI´»ÓKÒ§w2óÃMlô’t™«[å\6kô’LxÍiô’LçĹ€ì°ó¸ݹc7`ÐKÒHH¡÷½$=d°Z×K€˜IfèX«]ä–IxèzMñªâ\vIúÆX§&!ŠjÓ¼Ïm§e©o"Š\H»ã2Ø%ÙU^áOLvI6®8ý "E¨Y„)¬b·»¤@F®ÝnÙÙ%ðRWmª›ì„$Â[›êT´$f´=Ëìö±yä’Âlgq:¹$uÓp ó"†Ôæ­@ FGI€ÔŶ&q=2qýK:F0"BAê¿Cñj¼ nݪ'`s¶:¹$›d^}f¸ƒØˆÅŠ ŽìGrëhÀŸÁ.ÉÎä¥9— t–[à z!*܉ÅÁÍ?ò&‡]’NÛMêrÒKÒ¥¦c¿$Cö²æàN~IíÙé„“Ea?ÀJ§c{ðKÒ ¡‘Vlä ˜d jY´VéË7bȱæ]5°N5C­¤×¸`ƒ`’*å4Îï$˜¤wú 0’ƒ_Rš´Lç—”1…8DûÜP­¤_b!f”3¯LfL~IúJ„´#øA1Éü_RE¼ v:Å$ÝîêÅ뛫Þ)&©‹‚à±È‘ ŠI¦\ょ”‡ëŽëV?KÑHnÈr &ÞjðäÁ0Éœ¬Á“'Ã$óâÛØ$]”yô1Æ[T¿‘«Šy~ì`˜dZ ì²³ƒb’®… :he©æ)+GÙÀPoì¼n,(ò‹/P‡WÖ¾T,šQäf-ð¶8X4s_‚8T¡¦Ðå\ Á6†E‰o/í±ø­6‘‚ô’låó¢¥—áÆmBs¨Q:ip!’è©hÔœÙÙQ´ÂLQÖ€'NfBP#Šg~IKYMµÔà—d¡TÖ@L~I÷)Táà—¡¦BN~I¡x ä1ø%Y„r¡$ÚE8ý­¤_ƒÏ~I¶Aƒ~If‘Uøüä—d&ù‚Ïo2Š8)a¾GQ*8ø%©@…K§.Óä¢ ¡T°ëyÍ~;øÐ¼L~Iú:ˆPŸLÛtjç—¤:5]šê˜hy=XN š#"˜^h^Ä–Êy”~Ò,*éÁ/I…5,ÛH¶¥/Y*û ÷\'“’(Š&Hë¼jû®+¹½“ W;@vLÒ«¢ÓØ`’Ž ³´ ¼¯ÌÆ‚ëíî›;4eÓƒ]’.)ºÄ` e¾¦VÊÌO1r½/x;4\REh’K2Zñ¾Î,É0訪õÌ’²U8šXR'ÒGÄ’,Lvª¤A,É"sE¢³JRáBIFcÄ:ŽmÂ`•d²eU-OƒU’‰óåë‹ ãÈu©ªâÒÆ*ÉÌ: Ž·Ý﬒T&’#XÖeYy­;‹z±Á*IW‚M´ÝX%©Ø y€âø VI6¬°Õk®“1ÂÍIAb VI – î6Ö4:tI(hV<¬Ìƒ±¢¶´jŠâ«$ó¸ëLÐx^"ö µUM>ƒU’i/«é+¬’ìàVÅÁ¤’Ìœ\B–-¢ï¤’T,ª×â •¤KŒS"Ò¤’LΦ§n’J2I/»‚ìA*)`JMEb§ƒ0¥¦A¬r×0F_ †›í¤’T‚Q…tƒT’Ê´µðwJR™NyEFò%VXiˆmTǾpÂ^ÐßíªN*Éó_Ķ!ð`%ÚƒS’ɪ€apJRiÇÖËö6ËË–vEÐi%Éàñ 8»jM/ÄÄw‚àcÙȦfgN¨d¿ËzMwÕd•¤k£¦¡k°J2I*5–…?EÀÖÅ©6QæA˜¬\É'u–¥¸^vaaÎ_Q`Þ)=2šžôä•dP¬ÝwXÏcM°‘eAÂÁ¼Qž‘ÍvùAWâÿÙG w*ÐùA,É”GQu5bIfŒT>Ê –dÆ(¨ª±$Õ()+: &±$ÕaÖNtfX'–dç-©–K²óæ4;Þ‰%™#£Áß'¯$C£¦³eðJ cUÕ:²µ­EÕ:N!Mé›cAì¼’ÂÊUQŒå…ƒ­HQ 4x%éâ£û¦ y¬¨UvÑjÐÑA+I'Ù;º¸Ué´’ Ÿ³º‚üâ΢*&OSº)êN+ÉŒ–ªënÐJ2£µïº¼’ Äqš<×ä•d(Nšp5 DsÐÁ§‰·2«—ù½É+ImJV¥'±$½Ó„ „:Hvqä³Wd+l®hønkI„¯ƒX’!yFAS3x%W$N8y%™«¼údÒvŠ:­$sΣ´’"àÔØº# ÆU˜¬N+)Б É Ѿէ-eºX¾É€¬(ô´’l`uWè5h%EÜ¥(Ü´’"ðRîZIæn¬’Ì {¡KQ ù-³©áp©\Z[2UË #Ú_¼ŠÄ%dÙ¡w­ÝS’å4 êÖ~_–ÊÜZw>Ô ”8QPµÛ8™è²AÓâ>(%…Ÿ¯“¥¤ðóøu§”r¯éÀœ’BîXƒS’êrüN®bŽS’Ú¾å÷Ì·û:§$5ÊuI"K¼I½„”]AÔ» RIºÝ˜Í9¶jT’ ˜ ªŠÊ/hr‰>‘Uc«eeébpÈk*SÇáäxSr#—J20,Ī ¾ih8!'>ÕÝ𩤸JC 2H%ÅÀGÔ$•¤“̪æûA*I¥Â¤]žaJ2GvIªM¢øÈ èÈ8•÷ooþ|ÓªV’» Èûpwà÷ÑIìóÇÛßß~½ÁÚ©nì_oìí¯á¿?ݘÛ¹±¾¥²æA@Iylˆ áÖ™Úúמ?Ž—Xs‹ÿ¼ÿrûOïnþáw  ÜÀc¶·ï¾…g¶Kn1؆ðúÛu3¸Òï¾ÜüáôËÇO?Üá&|†CyzþxwïaL¬'÷ßïî‘"¨wúçLJO_Ûu0›ZOO/¯ïÇ¥9ž¾'øüôŠ¿@ÓNOßö‹@©^¿#W]Þ“O¼»wèÙÓü |zòééõåõùáûñ¤Ð†w[R9½Ð1~}—•|ú–üâéy¼¼^}÷Ãóëãß‘_½ooI.%—OŸçLÚMÛû|øÂ¦Ì~y¾û÷w¿†]€%&»&µÜÞÃórÉ|÷–ÿ?}zþøéáõã˜zÂ>êrúù<üë/k'Û~ÅO]{Ç}Åfið€ï-¦’@ ¶‡¾úøíù›Ó¯¾¾~|~ÿñû×oîæé„9!üN@4ÛÃàg>Gƒc?sÁÙb{S{>(ÿwÿzóî¿7üWçÜ.…?œ‘?Òû-3àýsydœ|yüôåáîT€9a]]ÅV†@ï5àIx=ÿYÅÞ¤² — ?ñûçGÜÿùDŠ19ñ»S1)Ù7Ö·$‡äÛ°Úã ï¾#e*àû!CX!Ëéù±”íM¦æ2ãé/wༀ/røù! ø°ä†`f¥…Jà»?í¦œ¤ÈýÒ?œ_æl[Ó<Æia䥧ã2P"»ó8Æ¿;9âœW?Is^àÁ-t^§—ñj3t >ÖqÿؾŒ/éÁ¦g÷áæ>.Ìòý_îû9s •ôâœ}?Ža(G”Z®*¾Þ¡JóÕŸPMµùÀ%ˆ…çóÝ=RÅ;1îv] b›Q I„úÊï`oD«jܘ ØÐkÆ }a_Æe¶qŽÑºÓ_ÛÈüñŸ?ÏKøåréûàé¯B6èÚ¯óðáÚ|þòøðúø$6¿¿5ùšâòù ç^‹0úË5Ûüè9¡O|ü2l®3âç½²ú@Îä#˜©Ç?’Ð7´aß{üH1Œhw”+‹]Üô’…pzÀ“I÷ÿS“Ôm¾æ³òëÃx¸qm‡|M ûWMz¾vÿC âˆqÂcß[Ð?¯—EÕëš&Úï˜kjâ4n [€gv´Ù6Rßáu¼¡¦&ãýï{…>ÞÆmùT*|åA§´u·þ¢P¨QÏÆ_^Zš²žÄ—ÔÓËX8Ü·Óo9xÌ:Œ¢7¯OÃñ ëñõáW#žŸÁ65Þ«°;°mî©ü´»wî_¦c±Xîò›ööÈÓ‡ÏãÞàœ2DÜNü¥kèÍ]ös{ðîh4OñÎ↣ˆWõaƧqèú.4 ~üóB©`[ð§Ïã¼{ƒã@õâ¬AÅ»;)x¸;CSƒ j6#]pèÅ=B¨Î§Žð*:ŸÇ7VÝ*¡'¶fÔkÃ-¶¸T5 lù]XßöÎ÷õð`Á£AçìôoÿãXö·â­ûËÝØ˜Îj¿ûWdÝð¶_¼»ùíM@ÎñöùÓODE°OÔÂlJð×Q‘ßßל"ºEŸPÌ1G{ÿ¿v_ÿ;WùÏ_ØÚý®­ŸO¨Ã êžÛûèc° ݽË0ÂQúWºMd~êâ8ÄÚ î!‹súæ„zäÿmÑ~‘Ežka]É“ò#+zï#"mMj‹<æÜ î^S¦”ÏãËKóÑC³Û`s|Ýáa°g&§O‰g±T›…BzC‡&Ò‚¡{¼<mûË;ýÞQ“óùúÚNµCRû¾‡¶Û¬§q¹Ý9h=&ÅÏÃĹªÙ9-®Qé´éãgÔŒØÁT#C í°Š~?¨àçÇþÏØ¬Ö_¿»¦µq™ÚM!î­Aé»á¿\×ç¯ã…µíïXŸÚ‡ôü—»ØDâš ü`CvCnJ;4ÌÇ­4OBz5íðž™ë1—jüsÎD¸™ðþ·xÚÏÐÉ-V[Ȧ¨°é%¿^ij‰ÄÃë—7âØl–„’øª—ׇç=áaµ`LMãá…1ìáËs‡³Ê9¦€óðDO®toµ¤[¤÷1ý’võ-ö7çbÛuðŠ7¼Zü¸OB¬}»ò\‹ÞMëû·;äøF …3v»ú«Ë$Þ@*=z´Q1ôg@H{ éÁ&\º>E¬Æ|frÙF›Az¼†« uqqµ¯ªÅ«áØW€¶ý϶và`‚Qx#,ØëvKMó`Ʋ?˜—ë»ÿŒµ1u«GPB-ƒf>SßëØk –ÓÚÎá4t×Åþg}WPý‰›¤ï…™¦˜ö>þ‚õëÁæ·yCrFÒŒËÕ6P¦Þ‹K¯í/ŠyCÎëéÝ]Á wø IJíRöû8‚  z€ãvH_Ų_.ÑÔßf¬‚’×B4õ“Àrå•]ø©{_¨©[&²ÂqL{Ý,pK^Ÿ¨á³;‰®z,}=jség6@À¤Ïý샆±=:lõ8m ðŸùyø@,Ïß¶×½¥„ù&'”Ú|úeßd‹8ãÅ´ö‰fÓÔþìN´#¾ô˜/O\(FôBk’eæ:3bãïfN÷WVhNªŽtqmƃ'i®ÀÏ·˜á·7ÿ Б üendstream endobj 150 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1065 >> stream xœu’iL\UÇï›í tdÖvæÕ© JšÆ’Z $¤¬Ã„*¯¤,³10CÊ"‹Èz‡¡am‹jšbaÒa‰Tê¢` ¦†ÕD4˜Ú؃-i<\“úÔÄD?ÜûáœÜû?ÿßÿPH"BE…žÌÈuV9N˜*l ñ±¹&˹ò¢*'š¢øÝ"~·n­leK±BŒ’©Ý’s*¨ s0°Ï!1Eå—×';+ë«lk5s(>>16V¸_eŠë™ãqLzQ‰ÝYë²Û˜"G)“—Çd:k…¢9àt0Å&kQ¹™qš™<Ó)ÆhHÉ50i¹YÆlËqÿ9Ú¿Š!¹³º®Ød«ØƒP62¢7P2JEé(9P€àIÍS‡)¯(Ld=7‚WÉw´Îòj5Ș·ƒS {’H¢=xˆD“ýŽ‚Â¬£#š-fq~³­¹Ô\mÁflºváv‹‰oaÏ÷OLO½?…ç°×Ñoï/Ãø´\ùŒjKC­³°¯ÞåÀP«úd,÷€ Sÿ?R»ÀicƒÕQˆ—Gt0 A KwqÙ ír ­žøŠÜ´Z³üíw—tÊg¢à%„9Øä(¾/”K£‰ fàÒÅÞïqGÛ;‹»êñ~O8KâÁ®áæ”—Â’~ÌÉH`‡ —¹-Ýì]4$s/‰>_W&øŠ`é›ÝŸ¸‡ð“ŽpŽv¸Û»›úVA¾F‚¥§YìòHå—=¨ÕÇk|³@­ òýØF J ±îª ´±Ò¦ƒš¤´HYúN/.Õÿñë<=Ï]sÍ:qm¬BŒžhÜZÏ›¦F[™Ë,°´ž‘Ã훹ìÅ>|Ó5d*Ã\âg¸2ágxÒ G}*!­_Öñz˜ú)ŸÚ«u¸í­Î¶óm:WfNM – †E=xd×{Ýã?[ €$Ú„DÂèßCD~ôdLÿ DjI–LmýÌíú~Ô:&ûªõ‚”v›ícŽ]X…xÕ$% 0õu¸Êeð1´úsrÜïmÑïÜIeiPz¤êðoøMí‡VßÖn*)ºe™ã&§g…¬Ä¯ýÿ]áf8û¬ê¡€ìÈÎ Sÿ¸µÊ¥Âúžëk">QPš_©«»ÿšÇŽ“ñ©bG–¼ë±L½AŽýCrGMåU‡Txh¢Aü÷éðh[¢ŽÜHZÁùßÖ_ñm/$q=>!@I€Ä¼O˜c+ŠnéÊkïÀí¸¿ã9ÛçÂML :C¤ú˜ö ²™º£¼­± IW¤F>CK’7dø=|{zÂ7>/ìÑììí¬kè¬Æ-øížšá¦‹þ¯äÊ ƒ|v?Ž Ê¸@x~—.P’çTx==îîwoï¥åa…¡?¢Îendstream endobj 151 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5109 >> stream xœ­X XSgº>1jµŠ©D½çPÛZ¬Ë¸Kg\JqWÄ:ȾÈ=$’åKB’°«ÙQÁÝZw[µ¶¶ÕZ­¶:3¹ÓNû'óóÜÞ?€SÛ§ë{xžrÎùÿï{¿wù9ÔȇÙ°qÓÖÔ䈔ùóæ¬ËˆHJˆò\œášÊqMáún:ÖÿCâ.ò‚±\;²cÚ”=Ñõ H4=Kq9œ8ášTanzB\|†ß‚yóΙCþ.ó‹Ìõ[=×o}DTbjöþÄ¿ˆ”h¿õs7ÍõÛœšM.&øù§¦øEÆÄG$Åú¥ÆúmÙå·c[ÀÖm~[ƒvo›9÷§ËúçgŠ¢^Y•²:u0ýõý™ë³#6DæFmŠŽ Š Ž‹ßš°m{RòÌisøsç-Xôª?EM§‚¨¨`êEj µz™ÚNí vR³¨]Ôjj6µ†ÚM½FÍ¥¨×©yT 5ŸZK­£Rë©EÔ¯©MÔfj4•L£R©ñÔʇâSS)oj)5’jàüžóýˆ·¸¶‘SG>òŠñzÀ3š0êc:Ý;ÆnCùllÍ3Ï<“2nô¸ºñKÇÿíÙ&$L\îãå#ž”=é¿ÿ§ç&?÷êsõ“ã|gú&ùžGÇ}?âË8Ñn§kO6ç¼û®{­_&QˆÊܨfÂÝá]-Íæ)EdÁj¹F *šÜ\B:Zm`ÞDBÖPI4ªÜb&÷5Q:Å Þd34i=Ð÷æ}çHz}¿*G•ÁjD^ž”kKì:$Ê>#Hëš{íAûܳhâ[\× ù|x°ÂYšjŒ3Ãaº¾öÚ¦ÎÂh+“¨” ¡–óê«m‡û#»×aïÈY!¿½*nV0G û a(\þbæÃIsÒGHª%eY©ya›ÏŽ‹^éBãú=ïÞ8H`' É&p¸ÀE®a+M®ŒÉ}#jåV …ÐPi‚JS3û>:áuŸWe®Õr^'ò/))@mž¡0½0‹ð^4^赘—÷˜îðÖàR)± ô`Ô©ÿ<9LB¾ÎÇ#þ«‹g¹®sß­Ñd*ñ¶œ @§ASùлo¢^‘ÔZ/°Ê*²“å)25³÷為H"ÈIMIÞ tXÑ‘ƒ~Þp5×Ê¡š>±Ï>7û+†p¨+/aÌΦ?žÚjU¥í/Š£Ù´€´UB/:—ræt[KK=cßqXQ PÛPá´wÙ.ús92W¿r‰œG_sÝ#Ü ù¥ ½l_œ ˜0Ø£'/÷Ìàà–m¼*°‚]íP™5Jkbz Ö7gåÖ€í ñ ²^F& »m ÙeYª`ømà™¨+¾¼õ…ƒEÞ®$S³ÉÜ‚ Rms•¥=.×ü‹egï_DkþÀuorå·8S2Ò32$&¹QÎÔ§éÉD%NÏ‹Ì IŒü=С¢ÞC¥ÚzëöúÑaé’Á¦È…¤†[qŽC“>ùkaI®Ô9ŒÊ·ÿñ®û1ÀÃ= MdÐTW׸"î8Å“x™ i.~8pÉw›ëœÚ¡†ýÄÏ~ÎÌM°‰·Å„©2©&·È¨2µ´éÁIéñH*hýe*¨0Ö³è×µ§Äã,Éw ›"ȦŸŠ$ÖfñeI›—ÿI˜¡NcOµˆ,)*R­ ‡/t å¤ó¼ë¨¸ëç;¿^únw—¥ÏÔÄvóZàý±êÛ­pLtl÷†éø…8`þ±Åêu82óŸÇË`“Å;Œ–~­·ÝS'Lðpÿ9©ÌF÷ÒòÿÜsŸë>à æ£¥/ýOÄ8 â|<둚†ö X”‰ÌâC|X‡;ç­ÇÜÁ+ž·í.Ó_Žün qìéG_¼÷èná)žV,pzÆ®úŽ+ljæ|Tëà¤ßC—ˆ½Ûåöáެ‹œ™ŽŸK3Yx„×:ˆ²Iµ+ØK¼ÕÞ› #YY‚$$ !G/­h1”×C íȵˆÒÓ³ãÃgu~Ó‹b;L„Q°×]^•e©+x­h±¹Ózºf¨U—‰’‹Åû!›Î´V64Ô´{|BÓ` ìjD—IXyŽ„•W+ÿ^à`<9ýñä_§Ç畳‘Ö ýЇ&¢©CÞìÂ&>dçόٚDÐ1‘w 5 ǘOy7N¦mð̾‡§68\Ó=ÓOÀ;z#q\ëK*ˆX• ŠUA†,EɈ›ÃÉCFâQØ?¿øhà­“‡{m66kIA¨"+5Aµ'Џ $ÐZc¶Õa)+ªNËMGGuæÞûûoP͈PѱÍ+Dw¨?°kAÞµGÙ†3GúÈ–.”.‘±*±×O‡êþ`,m}úXº6>>9‰yõ=åœaÿµFJ¾*-ͯ®-«²ê™ÃhÕp&-íÐêì­5­‡/ßø3éGiT¦ƒ4ú´rNtå"NÛç“}ªÜq_òMj£D¢).P1yÛ’“€NV5µ6êëõ¬¾Îpjálü¡]v4½ãÚx¾ý»ëxƒ«~^>ñ 2©ÿD‡'è³Ý¿„Ž«¨Ò Q¼C§DkĪ"ñ6VºG)†Ú§wÕÅÄË÷Z¾53³]±|P(çîØ‘œšô ¹ËÔbÖ™t“®ª¾ò̵Á}ûíD4éìÑ7'û|ˆîý¸C)ÂY¤C2±¶©±ì`Y'{ýÎr@G6"x3¦!vNžYüƒª•l|8¨jÅû¥)ò6yi¬¿8FI†T]yêÑAôJ ãã×äŠç׿;’“3+³´¶:[™¡C ’ˆç5sÐ×Ð^ävTćòÞ´Ötg~vsŽ!©´X—P‘× ½ôÝÿpÿQsàª4\™ÉhÄ^?ÄÛS(j(K 8]˜dü5î1\w¥+™ß‚µ%` kófÀÂË& ©È ƾÅâЖÚ@_Rz=£Óiµ–Æ£èùæZĺWJ¹\]Dl"‰‘mEñE… · ENžÖÃIöœQ ’5ÖBÈgóy"HÒ© U_\åD7 –ÐW»¯f­Y×U@S'ÞDbCa0«–.Câi¬NoדÞPßë VÜüCœG$›I±ŠUŒ<=/ '"ÿ–>â DÊŠ³!_°³#öXWMSCSÕ^~ôÄ sç_6èîÁƒ-÷SlÝÛR³' tïÞdFv=¤: ‚`÷¾„ßÿ¿r­öÀ‰Ãç®Ý»ò…òu»—ýonúeò¤qœ›õ|’‡ïŸàº&ºBùp¾èrî‰ôwÂω‰OW*JS!{f™y1ž<0 Ëq¸X¬Ñ€Š–—¨ŒV4êc4ýƒF uN´¾£‡ælPbß Ü/Ü90(²/œºÿÃÁá/d Ð[ÄúšH_­rÈc°ŒgXó§²Ëhšá¨ª!}oDyÀSšÓèh¶wÝ£!Ó«¢ñóB&wŽ×úâø%ÞëØ½¿,O“ìŒà&±ÿD°÷Éiÿüš^jf. w¼Ðž'2¼/µ Î æq4þžsBAg9Ÿ"#—pÙ|Ñè€zpÖp™55(%jEqŽç$Ç vmçU“qÔÛ†ã 2;8]a\×1TÍ÷Œ30›—_ÒAŸášÍ«°€u˜=á[òB.J¿ÌwˆjS÷%ïK³ç5¶9¶ Ÿ±e:ܾD–½¯ «—¸.!ZÊï}Ø…ÀÇtO1zó×,߃yAÌî¹áx , “³hÊÛzÑKW™Yëø™{Bw…^óÑÝ[èXûM¶óÖGнÉVàŽðÙÃþ5ó†ÉlÔMÞ¶¬%aö]®Ë†–hÎnÈkÌufö¶ÕV[‡÷€We¡@gÓõ§lÎ×j®+¥œoPÞ)AYÈäÊÓ‰••“ÅÚ#èußA£§÷kUÉŠ´<%_]ÝØ+I±b­y ¤Ù ªCúsèC²JQdåÌ>â׉jRŸà„¤Ä¤ŒÊìæ6g«“ýñÐÏ>ÁEõX΀¹eÇ]Ù}¸hÚy×($GáååZ-Ù¼I©WHñ¨WñôE ×%áíàÁ¥í¡ ko)'©©¤ÄÈŽËt¸ÖXÑ~]¥ƒç}v 3zäöÔ±Þ=‘IòÓ]Ub;–¢þ { endstream endobj 152 0 obj << /Filter /FlateDecode /Length 176 >> stream xœ]O1à Ûy?„V]"–tÉЪjûGÄ@„ ý}á’tè`K¾;[¾¦®ƒw™6ô 2µÎ›KX“:Âä<á-5Nç]!ëYEÒô7ߟ´€Ýô]ÍÐ<ù…ãˆo& ,QiHÊO@:Ædg­$àÍßJl†Ñî—â$Œ&ݹ•Æ )$¢Hi‡¯׊G#ª×”Àgü{ÖzÎÃïÕbuÑò÷¦YKendstream endobj 153 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 507 >> stream xœcd`ab`ddôñ NÌ+64Ð JM/ÍI, ªüfü!ÃôC–¹»ôÇß ¬Ý<ÌÝ<,ëä }üÈÿÝG€™‘1<=ß9¿ ²(3=£DÁÈÀÀXWHZ*$U*8é)x%&gç—gg*$æ¥(xéùê)øå—34òó’R3sÒòÓBR#Bƒ]ƒ‚܃üC‚5õÐã3000›003˜0ˆ‚½ÀÀÂÂp‰‘ëû¾ÿL­W”}¿xâûŒÃŒ¯~¿u‡ùÇ_±ßQßo}ZyîR÷Éw¿ýV–ûÝú×ëá÷‹ßؾü¾ÈZþc‚¨‹wÀo.¹ß*ßg|WaûÎq6ÀEhžvCé…ï«Ï~Ÿv–ñð­ïo1ÿhÿ(Ú}&gwé☽YSôάîÏ]Ú21E÷vŽc?¿¿;+gƒÜ¬Û!kBæ8uKþ–7ÑÔH˜™¸9Q~kÜöúcµʦv,/š_µ0«;Ã3ÄÓ Épê%s¹«Ç!·kOuK~—xþá;“<ß WìOü°)gü¾ÿ óìïö¢'4~ذÿžøÇ†ÕïûÜßö·¾Û³;ýʶÿáw…ï=G8øJþ˜ó=|áì…l'¸nrËq±„äópnžÕ½}@4•‡‡¥:Úendstream endobj 154 0 obj << /Filter /FlateDecode /Length 3767 >> stream xœ¥ZYoäÆ~×o0A/îÙhhöE6 ;@|%pìè!€fp5#-½QKrå·ç!UÕÝd7kìÃRœî®ê:¾ºøî4MøiŠÿÜÿWÇ“ôôæäÝ §·§î¿«ãéw'_ý¦ðMR¤?½¸>±[ø©&†Ÿæ:O ©O/Ž'—ì»Ãf›&©6Üd†õ}u»Á?eÎÓ‚•›­”2I¹`kÿü`éBÃÎq‘JÒ4c?m >ðŒµUtî>ØÛVWˆ"go,B*ö2ÚPuá¢aó«‹Àõx^O2ÉyW¼ØŸ0½¹ø–.Ù*ÅO·R'&ËpÕ%û´Ùê<×l+àèÂèb³åþJ¦ÈM ? •FÁ ‘Jâ ’ì›ñQ$â°åÙøâÅ‹ä‘ËD«Bœ^¼š†eU³ëîìBølÚažúÅš?Ó½#$D:²@…•3Ø!ÖÀËö&”ãqŠ…¤Ái–t+s“páôa븻£p·¡Ä,h‘Ÿn‡¬u1ž ŠÕÍMGí~„œb¸ÝúC8³ržÂý„rÌU·ÎWÿéšú=ÙöÒ…€g• oµƒÒ$ÿ,¥uî*PËTˆÚ¼k˜‡ …Aׯ( u†ë‡Ø°æã´“Â<ϰdÔ2\‚¥W7F7@ Bi È¬æ´H+P£¬²r›"(EÒ×]Â`â×wf†™¸Œ‹ävä>¥%ˆ+ üôŽ`¡ÃK•=+ím¤#]&cÇr•7º BFîmz°Â,1w– ¹ßÆŽ(³ ‰‘<…x’ñ`&±'‚gJ©|âhÕPG„ÈF*zà-¦ÛÛ0`¼¶QrŽ{·ÚÌ30Z V5øªU[Œ™¡ ×2É”G’ß–\3*`.Q –MÍþfÊ‘HËŽeä* tMï9WEì'eï…$æÀêN*Û1K€K£ÓÊ¢P/ Ï"Ó\ŽFÐ;Q# ”­§ ÉPÔ·ðé_Ó…™2æHĦÄÈ£&©P;©hI`¨Yqrw®±ð*&@Mt$$ &uMœQkbË,öºáûy–aßGpÿx–ÁSžÈÔÒ˜r,™$b«7ÄAâ ü&Šæ t°c ™æÛòƉ:UBGšG6‡½¤bHbœ+HÝ#_Ü,ö‘t¢²¡Í²cÈô'¿žØÆ›>m×n“ än…€m³#m»í‡Ò¢ŠÐìCÕ5·®ÿ¥36G+ ÷ß#P|û˽[Jâpt/Çós™Uh‡ìú á«ß2w ÍÆµ¶ ­°ÿâ[ ªOºÃa¿c\HÈ6}KLcC Q/Xû×¶ÿñSòºó7ɾَÏ6aµk®«þÜýRä ]´oƒ†\šK4%Aî$®:»£ó³€;€£‡ø[ì–¸û¿2-¨¶‹3¢°é3&IX:€~)"±bÞÛ¡ã²l"”[¿X½Ó6ͨ‘è(OBÅÝ‘8cü°ÑФ\Ö–íuBmõ"ŸœeVX¦9ÕâÓF%U#PaSÖ@Ñõ«iwÙî½r þt÷‘…ôMOe3Þ)×ë½A¶]ЦÅÐdl}#z ð–ö¢‰)ÔqÞ[»…Ô»xÙe¼R’b…QdoQ݆/ÓÉ(²êâygÔ¼¨º…òØÓ"YÜgö“M€Ë7n‰vX+ Dn%°;įH¶½µ@LϯÝÞ‰\¢QuÂp¬êª¥±†Å(2CµÌ/!vy–4lÏ {DZ‹ônxoÀá fQÌš?Û,,>Í¢TðÍZ.(ã¾Cá¦4Ÿ¡^m š[ì[l Í*b(S,økBL™‡†aó¸c¡1k88®´x84hªQml žlûxì1…¶û~NmAý{wë,î Ð;£lp R"­˜Z'×bñ¨æe÷0 ¬bf{ŽÂJ1qšÚ«@ϳ«Å\‚¦p"y[ŠA`!”(‚íÇ^ÙBl@ p˜B‘­¡äDÿmœ©UºŒMc?ÁD,çŠ,¨Ê³yFÚHû×zb²÷_IŒÍ=§‡ªñe³Z- £s£íÝÄ;ÿ%6r›µ™ƒ?Z-&ÞQ‡ÖÃjÚ7@AŠƒBÁ¨¿$o 1+zÃCPRo–˜\zíþŒŽŽ¡oäott(Èáð¨R×Í0Qû8ŒÒAfõ ~[YÛ Võ¸ÎÎ'°{GÏ\³° '(Óofh 5†›‘b$/تðíì¿u¬" CúÚœ-¸ò¨õ#ó”)zkÅCãÙ¡»NÜ@‚zt³cx¡qLí¥%{?öÛ¢ñ±±Ó(Ô#𪧟á iD)#Ô&U8ÌžùÕøÆÐÔ~4qa;Úà\‡z²ZÐüÐ>«¸­};ñ{­¨¹× ÑkIauKq=8öÍMÜ0¼™ÈuïØ˜¶ÎUàSÅ-é YÄýðX.’¯+­¾0Xk3Ñ—ŸkçvJæÈUÇ%ŠÖY2ù)v†E6 ÷䉙 îÊóêQ¿Ëž ©Œˆ[Ô~‰Sªª/§yÚ¯ò™%à~TÞ{(·gŸ Xêv,K!û‚h±’\Ù¿q°pw©ŠÆ€Ý2‹Ü.Ý…¼æãD˜xˆDâ…ŒÅ)rŽX9²ºjQ«ßÇ,þzH¾Ó±¦¦ª¡ž|°ƒ3£,›fvn†ø=ÿN_ƒãÇC™p¦¦Õû…ÙBW†XÒðK¤‚…á¯Ä|Û”ªÙ7>ˆñ¹£Æ_\*EXÊürĵÙüÌr ç†&:: ÑïA{µD2ûíîP‹æê¬aj®~R•y´Î¬U‰‚ È]—“~Z£ÍZƒ!ÒæŸ¢EÕ‚j”4á@j¶›¨Ìt|–ÿ™Ý§ÅÉ6]þ.kiÐ{´•ƒkPyï%בb¿ß;w›ÓIç A@³_rç«E¤ÏØñ•`¤V¬m¹]F¯Œ?¼ˆTƒõކ‘h_íWkÖA5ï>–œœÔõAb”ø¨õò”f2ÛiïÞWíaÇÎöÕ]èú³G†Unìrh»qFŽ«ÆßwÃà(œ0¹hpè/íþ w³<».¯ú¦ÝA ž|8¸Ç»»ú~˜ )ì§]@ôòüìª9\'ŸÎ^¸ùgú´†f·móqd<œ:í6çã Iœädn·ÁÉï߃ púsE—áíܼî[¿3~þjíXñŽîØ5=‚º“PYº¤lûñcÿ˜¯š&8 †p·WMJßÉЮÃDÍ™<_ê—JÚWÇ[8±û¶†eÇàúsJiA½W`ÈÅb „ýY0k<ûž\Õ3ÇÏmO~gëÚŽÅÖP{51J‘{[yd4ÚÇ£ŸHÓ³KWæ–®½É]²Ïd¶Bòif2¥-ž@[<‰öòäyb¤ÃìáדÿB’×›endstream endobj 155 0 obj << /Filter /FlateDecode /Length 171 >> stream xœ]Aƒ E÷œ‚€¦±. »qaÓ´½Â`X8ÄEo_@í¢‹ÿ“aþ'oX?Ü´‘²Gpê‘‹:Àê¶ €N0[$UMµUñ˜Š«EzÂúQú÷ÇM0û|— °gÕ´å©ÚKÊiX½T$Î@:ÎEgŒ €úoUï…ÉɦEœ''Ýõ"Š8Ožëg0ÿ”™Nª¶c/`™Ç"ünóÎçM"_ŠÌVaendstream endobj 156 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 429 >> stream xœcd`ab`ddôñ ÊÏM̳РJM/ÍI, ªüfü!ÃôC–¹»ñDZŸ^¬Ý<ÌÝ<,ëØ }üÀÿÝG€™‘1<=ß9¿ ²(3=£DÁÈÀÀXWHZ*$U*8é)x%&gç—gg*$æ¥(xéùê)øå—34òó’R3sÒòÓBR#Bƒ]ƒ‚܃üC‚5õÐã3000•d00„2x‚ìg‰~ô} ߯¹Æ «~ð®ùîS.ôézΪã×»W‰ úþõ» èáœPv·œ´Tå¾/ÿ®¹æ·æwvጶ.ƒ$½Ž|vá+O/eûÍù´r§œ0Ó¹ÍǯÉóýgòódè^ó½lûw¦åßS×dmúþèz7Š ¿ÿqLl »w}÷ùï¥ì÷S*ÇgWÊu}É&üý·fkûùÉ-Qòf°ÇÕw{Ëe±oëÛÞ½¬{E÷Öîm0½žì_nï9qbV‚ÜïJ¬*ùÊüpžõ=êälk¸®sËq±„äóp.ï zz'ááa`º¸›endstream endobj 157 0 obj << /Filter /FlateDecode /Length 3353 >> stream xœµZKoäÆrTÎ9ða ØGC³ßl' ¶³±±7:Ðø@iF³´gÄ1Ií®|È/Ï!Uý »IŽ´›µ¡ƒ8d±ºÞUý5Zä]äøçÿßÎòÅîì§3jï.ü¿›Ãâ³Ë³O^ ¼“™ÜÐÅåí™{….+2VÐ…–:3\..gWä³ír•g¹,h¡ ÒuÕÝrMsCÊåŠsžå”‘¿7ÿ8"iDQ $Yž+òbYàU¤©¾›èݦºY2€M^¹ äëä…ª‰ú—¿¿ü¨GU¬3<ÓÔ€Š—›3¢——?œ­„ ‹—Y¡Þ½"õµe"˜ÎiÃRZ(Nš×K)3SJÊ®ªï–+¡­â…I}ïÌ€ - jAŽË ª(ñ\ ΤñlLª|¹'ä” ò(ycoæ°bbƒfëWQßÚBÒ* fДվ¼Žxï½à¤ŒÝ¸ñK FªÎ_lŒ× Dþ-ü  ‡%î£w#?º7„ ]l2b›<èE’3¨¥€àHø£b`”\ƒ!µ,ÄÈ –©oýrd¦cÄ­ÚŸ|ÔAØ 0(Ϥ0lqùõÙåÇWCT¸ü9Ž‘Xâ&ñ3˜0\.‰KI¢ÐQ›RM¢ˆñÙ ôr„•¹iöûÚ …Èj=Ÿ‚c2‡Ëo­+¸á¤®Ú¶_Lhr¨Þv÷(—QBZáq q¾õËi™tÕvMGá}bs䜅¸ÊÀƒ<ÇH'—£ ±¬‰Lïzlâ>Dœ‰¥ « ¿P˜|XlHùõhl(g‘Xˆ2åã­Â¡>—{|Ãúä=£ ÂðÊ9—q6&$èH¢)HћؠtõYpŠ,‘ÄH3Wêr†¥ÎÙA;Í,C-•÷u×KMàZù%yQífì­˜RL£³þvyöÝ™ë”rÑœîi Â4Ó¹Y(#2£)vH±¡x¶ïÏOgT‰˜ß•͆&ÚEPòQ'¬"|ªNc¯ÜÊ.¿ê+¶ÂM5QöºÓìå¼Àx!7q|Õwqè— Í>û‚ä¤ÿG­­vqv‘úàóB*xöÖÈîúrå×±÷Ml=œ) y0MÝL¡mJ+ƒ2\¥uÄ2”ÃÌæ¤@jôæ;‰™ÉÄ;N{hÎAR†NV›$~GUÆIÝ.Év/y¶«Ô:¼ôE2NÂg^"ÃÆ#A2Sa€ÈПÅQn¢ÁÉrc6‘G™®Ñ%š<´ž®],À5ïgÇrëFª¤èuÕ©ª×fK+%®¢ƒ˜—ž0©J6›v=ðÊ¡vCFAÓZ•~ï‡R3 z@ÌN £â6oÓÂ9t­Xš}9283àšßÃÒ º¢HªŠ`‡ùja&Má²ùKË ’›KÿNR‰°h îgã5ÁZ6f+2&`Ìö4ŽD²˜Dfš›Bx’<—„,À!Éy;ªËãEU¦ ˜æ<Ç?yŽ*•«E.Ç߬—hs4©&Ïg a:(û{ÏS,ÀO:÷«2j(ÄLqHgKHç¢9Ëù"&üvNÊ"“´ÐòI s®<ÍïfãŠf^05 ‚ "¼"Ö4ŒÙ©àó±£3©{Â6 }°mÐÜï}ïlö޶AÓœZµß3úðK{8L‘f¸®M7eœ©ßŒªN´Œ«×œ8….,Lªª«*r…ªj]Pn œ7-•‹˜êùœšV¤2x}ëHŒŒV”0ˆ¡n7^v@€Ôudz¤ÖÊ‘Q)!»YVPôÒå^±cÖP)Àfáo=C1TXœSEŽœ#MéHS ûŽ,¥äNÛ+_j`F y¨1¦/³VľßWŒ+°¡/0rïKƒ²¼kÕ aJÇ«‹ÃªõåI…£¥4dË/œt*-Ð.ëò$‹REtVhØbEª6ÀESÀ5`3³ó´U˜§6•¸k‘RÁf׎¥Ã#7¬(ìù(‡ÈsC‚f„dzéJ/tÞA˜êò䌰 ³ þsk„vƒÁÔÜŽ™óó‰“ë£aw†ƒ?\3h.t˜ySu¯ü⸈²µ›¯qò’ø•u×\qƯ¿,W*#n 7`Â59o·ÕÏ÷ÍöüŸÜ}’cyóc¹ÛRŽ).Ïo÷Û·`Œs®Ž)Šþ‡z³ÝÛŸäÏ«Àœ“_ÿû›—»ýaMnËCµðOL²ÈÑÅY/”Aˆà¶Ývž*"ß×»5ñzüáËú¾i×ËH<9#ÜM}×5õ~à‹¸‡H^“ªÛ6á^/Gó<¿‚€Ë›)ÙvE:E^o›ëº·j[s·"A÷¬Ýn7kB÷Ô’êçoª·ó:µÝöøÂ¹nMþålՆǂügxë²Ù–Ýa{× Z}<²õåÃzyÑËðÇåŠJm¸±y|ö<–¼$úqxY‚õ”Ü5Ûã 3NdD4„™õFDeŸDùœ´4<ó†ýä%ãÉ g;²w $ÿt¸üø½.ç0q»Œzj§4‹3¸½N(8¬aZ»ÄÕV}‡ýܾ:Y`\a€Kn§õ¶äê,õûI §këæÀmàÍÔD›³x¬&BÍãJ{ܹ}ôP°I› ³‚(`sü&˜„9ðÊí‹_½’&ÃЍSÎØ‡£WJ r›ðËìñ /¸}² ;ò¹^+ðœBŽpÍò„Otx2¯IëÊa‡  ®HÝÁdP9®Ú_ÈàÔ,÷TÖ!ѤÑUå¾Çs]ôùC ),ÌfOIP*’|;ž‚H]í¯¡{HI‚^Ûè@`$M‹®ÚYH è]œ9\8J…È\œºÉ!Pµ¯ºe…æë1>ȪÇHƒ7¨¸‹ØdÆvy?çntž¹ÇŠí"/'…}•-Åc Ô2R£ƒˆr焤BCÚÕ­Eò-¥äc¨Ù?ÈÝÀgµÉgW½¶¦3ª[ÞÑHëQ¯½þµÓYà˜^,¸Q™ÀsÌMga2ܼDü®¼‘O8­šûºA‘fV…e¼ò#RØ Û™ºLP´”e“¸p„s å^›QÊØŒBÎ^ Ö¿lÆC)Áƒ+ªrN:ð„ J*F¼0V˜j_½¹¥òKóé!'²…8«\’ ìE)†œ,hG{ÈIƒè0òƒ7 ‰]F‘ÏÓ#ª²ÁùÖ¤?{ ¼œ„êT6Î!ÕWÅLËÑ¡t;© ! mÏL“A‹{ÔMŠo·~¿;NËÆiOs£­wÑÓÜ{’7ÁŒÝ®“¶ÞÏœR Þ¼:U=›ˆÅd|°÷I\”Êg*&ø¶ç)‡uÄSMƒ½Ì†ÛÜAfðzÙ†ûjzLèe¯xß &ýiš^Lv}n‚T¸žÚ½œ¾\9®îèÂöÔ†@ŸÝÁ ³;úpaò¤SoÜ‘,âÚ§ , g1šcÍg˜i à·xnйsi®Ç§’i”æú'”»Î‹O7¸ÿ0a㨱ß?«°r‚^W£ôvü!N´ý¦-{&ç­Þ*ãØqÊ;ƒûA3 ‹ÁàCpõßôö6þŒÜ¡ÓE˜µp’ mïoþŽ!: Ÿ¤d-ÚðÉNéÔÚ·µ¥s 鹕 s%“NggV¨E0ËŒw)ð*{ß¡ßiMíÐoåqõqÕCòAU<òáÈx*~$ßœ‹1wþ`—.æÐ†~X‹ ëJÂ2ÞÁY&ãO`š*|Þæ•û¹ñÞbÊñù}ôù²Í «òèü îã(F_ %ƒú! ’¹*!dž§¿îvÍ‘‘ÍÜÉ“Ê3ÅYr𔻯Oa ¦‡ŸãÍÞgf Czù'-ÐêËÇáû胠CGþßX‘«'¹¶'Cº „ÓÙþñïÛá[Ê.Øö•ðœk׌-ŽðÝÙÿúm1endstream endobj 158 0 obj << /Filter /FlateDecode /Length 163 >> stream xœ]O1Â0 Üó ÿ )¤ªKY:€ðÔqª u¢4ø=MÚ20ÜIöÝÉgÙv׎]ùˆ_”À:6‘&?G$èip,ª‡i› 㨃íM‡÷',²ë|×#Égu¼”Uµ†Ðš‚FŠšµRMmm#ˆÍŸ´z»9Oç¦@©…³Wr4—ØoÎ1§Ò´4ÉÓï™àCNÁñ8SJendstream endobj 159 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 368 >> stream xœcd`ab`ddäóñ ÊÏM̳ÐuÊÏI‰¨üfü!ÃôC–¹»ûÇÿ¬Ý<ÌÝ<,¾¿úî#øÝ“ÿ»›3#cxJŽs~AeQfzF‰‚‘±®.´THªTpÒSðJLÎÎ//ÎÎTHÌKQðÒóÕSðË/ f*häç)$¥f$æ¤)ä§)„¤F(„»+¸ù‡k꡸Æa```¬``ˆd`bdd™ñ} ߦ¶†îýß_ìgüñ_l¿+ûo×ï!ß…¿‹Ïž³²{·ä~öÜŽ¸îòî¦îÀîŒ>Žpö©s:Z;ZZºåÍŒ5¾±®ÜÏØQ×Õ]Ù–¿ÈþÝü·ëoùߪ -¾Ý’Uál«úvvÏížØ}²{]Ç~öŠî¶ mýß¾³J|gùÍÇšÎv´oF÷žîY|µ3Lû?wêL¶ý\ßù¸å¸XBòy87õõô÷öMžÜ3ãäl›¤ôendstream endobj 160 0 obj << /Filter /FlateDecode /Length 162 >> stream xœ]O»ƒ0 Üóþƒð˜ ]Z¡¶?eÀ‰Bú÷%:t8K结ϲnÛr _ÁXÖV·$˜h¶,Ê ´Åx²> stream xœcd`ab`dd÷ñõM,É®ÌMÊÏ)6Ó JM/ÍI,I©üfü!ÃôC–¹»ûûõ‡Y»y˜»yXÖ}_!ô=Kð{:ÿ÷FÆðÜêçü‚Ê¢ÌôŒ#c]] i©T©à¤§à•˜œ_^œ©˜—¢à¥ç«§à—_ÌTÐÈÏSHJÍHÌISÈOSIP v Vpò ÖÔÃî6TÑ‚¢ÌÜTFÆ.&FFËïkøþ3æîe:ºKtm΢¼¬ê’²¹ßŠÜÛêº;º»%kW7L™2aʤ>¹ïa?Œ&Íê›Ø=]’¯qêæ ?…–oZȶŸk?·s¸>çê ==3zz&L˜Ð?™‡‡é¡pRendstream endobj 162 0 obj << /Filter /FlateDecode /Length 161 >> stream xœ]O1à Üy…éÐ.Q–tÉЪjûbLăúûB:t¸“컓ϲ®»ò=¾(ul"-~H0ÒäX4'0S 㬃ýM‡÷'l²û|×3ÉgsÙWÍBoh )jžH´Ju­µ 6R Œ¶:ÏcW ÔÆÙ(9šK7׉SiZšäŽé÷Lð!§`ƒø\|SÀendstream endobj 163 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 449 >> stream xœcd`ab`ddóñõM,Éð,IÌÉL6Ó JM/ÍI,ɨüfü!ÃôC–¹»ñÇ»ŸÞ¬Ý<ÌÝ<,ëØ}OüÇÿ=Z€™‘1<§Ò9¿ ²(3=£DÁÈÀÀXWHZ*$U*8é)x%&gç—gg*$æ¥(xéùê)øå—34òó’R3sÒòÓBR#Bƒ]ƒ‚܃üC‚5õ°º E1›Á‡‰‘‘åÚ÷5|ÿ™¦<`h\ý}õË™«ô¼eþñú»Šhw×ÌÊÚÎÖª6¹Æô|ûˆnŽÔîmÓfw÷L˜/ß=aÁô&‹í&É/žµ`öæu{·ïßv¨{F÷ôŽ)-5ùÝeÙK[f.\?{ï¶ìÕQ>Ñɱráq9…iµï~(Hôô÷NìžÐ=»¼«¾ë7K“DUW]Ww1GÍŒîÙ+&u´Ïë®ïîl¯þ­ðç°D{uwKw7GÑü¦YSçöÏ›!7iÆæïV“VŸk»\ÝÐÝÖÝÖÑÐQÓÝÚÝÌáy8õÈ›ußÕ&Ëñ•-øá> stream xœ•|ßoe¹‘Þ»þ†<ƒ<%Óׇ¿ÉE ‰×Iñƒí^,‚i?ÈÝš¶Œ«î¶$ÛÛû°{¾¯ŠEò\iœ6ƒë²Èb±XüXÅÃ?]ï'w½ó¿þïû‡«ýúãÕŸ®œP¯û?ï®ÿûÛ«ŸýÆePNmoîúíWÊ⮫».©œZH×o®¶zóö¨÷µn)§‚Gý·®~Ø~yÿéf?í)··íþùîæMá´Ç²ýêþ_Ÿÿ,?¦kÝå·ˆòö«Ï7o|9í.†íÃÂ,TWsÝÎÚTk~ûÅýíǵŸÏOÏ÷ï׺O¬ëQ·mÿüté£ýâ·ßšº}ø²Ô;¿ä‚¨»Û~uàzþÃ*FQ1ŠÝFñtó»·ÿÅå´*îiî ĉˆÿëÍ›äñÛ—ÛÇwÛÃí£QÂöóùãûw[úžÅˆ±¤-Úß5l~üí¶ýÝÍ,üçÙì¿P.N Óqýöÿ\½ýOÇþÏŸŸßm¿½»ÿ·??Þ=ýì}þóãÓ¿ÿâöë÷½Ê^··Ï·?ÒßÏÖ¿¼ÿƒõZ§Ða»}:Ýz¾ûx‡u®ÿøöñîöùáîÓó»›.Ñ…·¿Ç\ܽÛþ2G¸èf£zHÛùù뫽®úxÿùüjï>>Þ}ýîunŸU&²é€­ÄíÇûçç»ú+lüÝÍϬžhlÑÖó×/w?ÿîüÝ÷CñÉÔŽ©q©p.·Û^ÑooóÏÿØGúú(üæ–‘þ”6uþúZWÐXWÄ?¾½ú5½C½þøDßÃR¾Ž¥¤“×!×|ª°êö×w×ÿrýé*㧘Âõ_áG0Êë?ÂóüÏ+ǶÑPÞÜAº~˜·§S lEZÍΡÜPŽå”ý(¿Gj§æ—«,/-ôrïƒF©û©PÒÞÂzž]h‘õ» ö» mìÇA¼¿ú-Xb;•)W'À4±®¤ËQð žBú“›evZã)…¥FC¹--XY» ‡QöprTDor¹0ûè宺—]Hkà0Ì1\§Ý)W'¤p*^û 匲H™©#+£OtF-Ù5v6Zeí‚Fñà„”£WOµ-}h¹ëN¤°]ÈÞÀq:®†šþ:å8Õ ¥aô‘½Vê¶“N™r{wòe”)'6¢T–#rK VÖ>ÈaVeÞBΰ¬6ûèeÑžJa5†”½…‹qÈØ²'ìÖP¸ÌöÃBIžµ¤_,´Š2û‰­[™ý¦JŸ5r=ù¸´`eíƒF¡3æØ¬WNaíCË]±-5LJká8ÖjK×Ù',Í,c3J&ÂÐ~w‡rQ£EE+±Óêiãökó² ³•µyÖ7 –%„üØãýÒ¼»â¤{«`âÿq:¨ÂÍÿ:Uö®Ö) Ó¢ö • <ÒÔ°ôÛ,£ß²Ú¸U(Ôiž X¹wA£ÀrJzŠImöÐË]sÙ/5LêÞÀÅ(td €´3J²Ìk²íN èý ÚXÓÊ48Öœ5°ŒñïlÁÊÚ9Œ;ÞZˆØÚÒ‡–»öDŠ^cHÙ[¸‡Œ­`±fG}dªøa¡Ôzʽ_:ªŠEJ×WbGÖËì7eîY³Fβ$F VÖ>ÈaXlã´Y p§t}£-wý•´Ô0)­…ã8tl1Óz¡cYÔ ¥ÁnƒöKW•ö]œ_ÁòÏi”Ù/¶Ë–—ÍÖzQ{`ýNÈéÔ8ôÎS:-ík±«Î—ù»ÉgìÇ訰XKèÛ„ ÊP7@öIoËÂS5Ü'g½Vøú”gн’‹ÂZeé‚ FØó‰õ;Ä"Áê=ôrW[­K “Q8ŽA‡…ý—<(üèÃBÁ".Ú)~Ha²iT,}X›•)e»Ÿ5°àæGVÔÈ`B+¸9kÀZ¥ÙE/wÍ…¥Æ±·p1 YÅB­Ô–¼ò°P‚‚½êÊaá f\þF‘ݦ(Ö=*ä(«a4`eo iPpN+Ô…µÐíØº†>d° &£5p…Ž Ë4\¾QÌc³Û´¸üŠ…_Ãêòkibâ£Fm²"F ½<}þ t—m-˜K·>¦Ó7)F “ÛZ8ŽCdž¥ÚÚ ¥c>ö»bŠ¥O'6Qc$-“âJ²2{ £ÈÑ)ŽÀú£Â': 룗»ÚJ]jt)G ÇqèØráþƒ“§³zX(4£¨ýR0ål§Ü¬øþÊï»ãV‚ß§ñ÷,kûd0 (]ÏhdKRìš óg“N¹/å×1a…h ð߇IñìÛú„ázïé· SÿÕË”ÒgÙg…‰²g½Ü» ƒQ0m1_[ŽÒûÙC/›â&eJ­ \Ž‚#C+™V 1vò<,Š• ÝÒ;ùàɱô\×Ëì79±ðQ#ä¥+käèL!Ñh’ÂSŽ>z¹kRŒ]ÊÑÂq:6¬Õ*^ÓQއ…Â@-%Úmô³„¦l>¬—ÙoIbá£FÕ³âhÁÊÚ9Œ²7ÚÑh!6‰Œ>zYô§RŒ&¥µp‡Ž ‹#rg×Õÿ°PôL*ý ž‹Ü«è^¯eôë€ héVÃQw³+šÇxuZì`ßÓÒúžLm)Ûo&Yg¼]Ç콋ôŽÿ>,”¸ÇIwzð ôZÆ‹÷êeÊç£Ø÷¨¢¬‡Ñ‚•µrÅÉ¡f¶œ’êÒ‡–»ÎDŠ^cHÙ[¸‡ŒÍa¥&(*`÷vôö“‚ý;i·ôPË ±Œ•ßf™ÝbŠfF @U.kÀŠÚŒ‚uQánF»8•Ù…–»ör[j˜ŒÖÂq:2˜ŠÈZ¹ž ƒQûÕÃ'ŠXøÙJìà­Í_qŽÞãÂlemžõâ—Ìà‡e‰Œ½y-v½I÷VÁÄ3þãtPX YÌSÆd„ÔDJôIç„]ÑeÈ”Åyõ2{Å™9Í ž¶’ÿ(Jû¨>þ°™ÁÎÀw^Ú×r×ZõK Ð8Œ@E¿tšŽÒNfÊëpºýá®ÎÔíÎmbRþ ŒŒ8CϬ,Lå›Ôóâx¦üQliP”1Éè%ÒÄê=׆xOK"'l)µ…¢œU‘;f‡`œ¶GTÆùí}ýËŽaá Ð$a˜V~àübL;ŽEqê¦"Eî^Þ+£ª0rϬÂ]q\ŸeL‡ž–œ¦T)F[„“qò´P”³Êîˆõ¶3üÎoÃaÇJXJFÀ/ÙÔŒ"Œ‘!6çƒÐ| ˜gX¹d´KLs« E9oá Ó9h—P_! õtfëô(“ ŒŒhpLUâöd„Q¦H!K;´hÂ(ÊYuïÚ³Ì48“4œàTï…3IÜeR„31iâÖaÒ¼1˜e˜±ÈŽr1Lž’8(î´Mf3Á¿0n¿£ï¤œÄ@y¡('Ï”œã,GprÂt#Ïp:)\t¾.åä‰-ƒZS7=æ€Db#*RÎ(óIÎÌ#Ñ‘ÆXã >ºœÙu¡ø‰œMðþ¤(§êsê5D·U¯agb¹^è5Ðûɨl"QjòËÌž!öz1—a‡IUÎ $fádŠŠÅšÙ›p樳káäÚºÊGÎÚº.œ‘—dV 9 —} u‰]hÈÁn"j—ìa R"^ß«àtrÈ¥…¢œMöX‚ìà®aö0Vøä ŒY=ƒ |@Zrvój\äƒ)ÊÉZ©*+N>D+ƒ¢œXݙǙÎ'óðÖG$9ÕkShK˜!–ž}ëH¥S”³Ê¡bÑkA˱­zÍØí z-¼b× ¬„¦pζ«KU]¬ê‰å'^§¤Alߎ OÝOÑ»5“¢œ¼QyØL 4n!g‚âãfRèrÛÊY„PWN½¤qÁY÷¢£šœXò¾8q¢©ñ'Ì*˜ÝºZBÝÎðÁ*V8óê;Ä.þ‡½“ HŒ|^³FP6½iùï.“Ùxi’"@)Y&³búEFζ'Ò0½cL«¡…Šo—¦×`V2¤É™}¯œ­é.}ä„Y…Ã^Û`ŒùÀÙxžñ/8K[|sÜq˜quuÎ û¤ °Õ9GpÖa܃¤ÉÖÐDk‡qçÕÔU±qO܉½6 ­Z.ôŠj^G4«WÜdõиW=9KÑA aéfâ:#q/$u°§rdƒ¶|`ÃI&]*çû| Fa:2ò$sé|Po—5 †Ú„'Ásê;Ïl|W=E9KÒ©ô¼Ö–‰Ã¾(!ž‹©ô<ËÄU¯gÐ++¢Šƒ^=,JF5ÆÉhM]Õ-;ž^ “p{?h‡zÛ…Ñ»ª“{ä$ê_ =òØzÙh='W9›Ü†š>6êœdÖÍ£FÏãL¼ð±¨çuPæµ"ã5mÍG¡u l½V ‘2ª)-L1­ ?A±r®5YŸ°mº¥OÆ„ó%Ôð ˆWWô­)yË1AFQÄ ŸQÏ+tÒè,91e^ Ísû>³q§°Ø(Ê™³ŽixÆkêꓳjâàI2/^¥Õ€x%L"aÀ˜g§*ŽT`Vå`î¼vµÌùÿËc8ªí:¨!,ï51(8…-<ѸKaKÖˆÍ"lK– ìKaaVqE¥‘›|Ø Ï4/¼KûacàµçÆPp¦)/6† ³JkgЦ6†º×>Á«¹óvž;rÒPüP_r°dTƒ“Q›väLEuqàlÌ’³= Ý&ÆÇ«êdV\f¥V¯(Ò(Ê Ã*‡áÀxߟ^è¶1µp˜†þS9pòr]¼àüõÕŸ®šgL#szg 6´í›hÿ¿oôHØ¿cx˜²tÊ™—^ÔšúÔ*µìšÀ¬5)K­l_j ÊR«‡Å–Zƒ2kõ£ë¬4K—³†çïæÿ ÊRëB+«žf­¿õ],öJâú]#Y X€×žZ)ü¸ì‡m¿yЪqóø[Î6®mqü¶¼Ð+ÿNÈßÜ΂ç#mÎBÝØÇ‡,ãó•î=žçiY‹IaYòæug­äàÝÕ8z-£jÍKÐV«Sµ ƒ®i­Õ)k­åš^k•þÛ&‚“ð†³AÀ,‡ F™Ò˜Ï#:¿$ëîn‹“šåO µ²ÕW´ûS}³tf&LŒd¨vì“"Ý/no˜}ªµn_¥ó9–9†çˆ«ƒ|²xüxß/Ь¿þæ™~¸.쎨ø|ý;tõá5ÇE:8É.Çui%=ýpž~èíðþ6a´£ŽI¿G*D<^É8üköÁ>¸È ’ŠÁÚÇ Ž÷£ô’Þõ8¾WãérjJ¿Pέ@ú¶›ØµIvŸ”~‰¹2Ñ%»þ˶IÃýÖ,á ¡ß5-y× à¸¡Éí[ѸÚXœÈ?®ÒË¡Øeº,ÉHRú=´ŒeQHW¸rè¡ãqñ‰iºÑ® ѸE5ãªMj‚K˜¹ï×T/ôi.¿_ïHz‘“½Á[ªšN× x‡OSãýŽÃ¢QrU–ü—£‚,©¿7¶žÉznl¡'Ê% ptË2¨ž\9é¾<’æYjÓ»¤ÑxËYJZàþ’”û£ç5ËØÎÈjbé<²‚ÉÕ¾Z¶/aI¨Ý["/1ýRDÀž “,¤&V{æm&7$£†¢àóÌ”9Í$ŸG §^ß2[Øy²¾e¬$*ÙwËD%æoz HL’ìI’ºè‰#Pö !ŸuÜ–è‘|„×TIOá8Iœgf†iT¦'\WQÓ*=‘â`åEó=A"_:œ—¼L#J”±ç3So¡ç$Q‘öÖÝêÈ@p°I)šYÅiÐQi‡3ÒønOìU>9Ïÿ^ûJ¶À=(NÆÈï K»kßKÖ;(D¥Û°ÇƒWAij ÷®úî‘ìywÆ"Ô‰IÂ$z‘gÍÆôˆ2(r²:Hqb„¯‡h%,)~§ ì‚iMç%`›|×DÅJ¸]cÅI¼ûr‹‚’iÈç•»>jDŸ(bö é{s†Å-4™öÐÔ/ZÌ”Ž,–˜v[ÿ&¥pÿ ßíGX§^ÚÂu8Cö,›…á…Ð:=¼–zJú<âf $Õ°ÅÃ@éw¹,Ε$*íôøUâ‚•mÎâRiw}³x(šµ0Râ}[IqXx(17-ö8Ã>0wñj3œcwf,L#÷oªÔéáPvµÙWÑ›4ç/¥ö¹éPºGïýÝy.@‰jèë" °8Ãîu9[ü ñNµ,g €"¾ë<ü86½!3òÌÝÊ Æù>@ ýØM¿¹KOvœn-¥“[‹bÇßF÷&ƒ²cmk^=ñ8úð*kè·Wóûñêú7©°%&šdWß,íˆËœßúb;) Ïì Yu{°•8]÷ã«Ì¤M-€M¦Q¶¤ié±%F1¯ÀùmưÅÜtٌϜRw‰°ñ¢¯lš°›Gašß¢øÞ°a6^»Ô40[Ü%X·`¶Ðúʘ-è¥ú³Á‹éÁj`68Cu¤³1ªû¨a¶À«¯Òò¼õ;<è˜-ĦÞl`¶c¿®g˜w­è ›aWë 7Ut×6ІiTŽ›“pzŠ:hsü‚«_FTÐ6¶³ÚÆ.3pQ{:7ú_´ÜèôÏ;‚zmsn¼¡€¶#7Y7zßpÜÕƒNZ¿%×ïà•Ò!θ[7͸3‡íIµÓ‘[lCí¹Åf»È¼»FËST¦ÈMÖ¡¶¦S<ׯ]T½£:Ñ›lBuôJíÀq\¸R8g7’aáÞ„"}ÛE„:°º]0ˆÒL‡oBÑùxr”¾G¢?…~mf$ðy ‰Gb>õó»á7¡¥X.=í½ÎÈ‘§½×¹ïجŽå´AÑ;_š«ÆbU@2rРô¤ªå–cUc›Ic&?d‹ÉàXtÑÏ*¤³|Hè§Å™çEûù !D§#/ ÜŽ|ChÚ»fþÎÑ5šƒF#yÿñÏËK_|Òֶ̋ð7oï†ïaûíO=ivÿoZj”M[Š;Çl)•Ã[b·Ï·øª©yûëýóX r†x|ŠÌØÑÉXÈÏχþ?wÝþrÃy8òl·çõ•¶»‹gÕ¤~‹Ûë»gFo/¤Ì#P¬ÏÒ¥ëÇ¿÷9:.Güœ¹©ò&\Ùn¶é›kþðæ}kÕÝ=óÙ9/¨ÝžîÓÍ"íß-f•i<Šù /Ü58é¿ñÂÝéæMä Îmo_̰ž¨ûüü|ùJNƒßÞß°7@’mmèöñVŸÉËØ×¡²n ½ô(£~óùߌ—ᨫãä| -;›oýá®ÓcÙ>ÿ~¡?Ý­vþøÈd;Ð?›˜•ÆÈÓмãA[Zý©w†Å-(k¬/ PŠÛïW=<ÙÅA¥o$¼Uãq6ïí=¿X†l)m÷£ã¸ÝÚŸm;¼?xÿx(ž­»ÜŽfjÍÆübA](Ø:‚ço5–ããaŠùÒÞ*ا¸e{Qáˆû6]ÜÎ'ýú[vÏ÷}:ûχy;½ú¢lÕÀ•/Ÿ!üpÿåôØÁÝÓéöñy¾»÷_ÞÌnÑ鿾Û>=~þ«½·ç×í>½ÿ|~ÇoîžïŸÞÝ|?ë}šïéÁ .·…ï_{"qy«ïÃýÃ'´øôêÓ„çû§çw|«Oª\ön .­½·}÷ß>~|¼ûxû|÷á»ñP_Û¾ûŸ¾LÝü­^þæ¿ãCН¿dxTå߯½ýn615‹øåËùë*û¢·õaE4ý}š¸2d§ýêH^é—•Ýè2ÿD—‡§¿¹oÿ }ûoêûõ÷3/ ·oHá°gðÞð;Ít!¾vÎ ]“ô¸­’§ÍÉé‚êÕFüýç»Oï¶ÿý “øþî˳< ŠôFïj€˜-1ÄTwÎ4¿óõŸ}L³´9ðü¿}œðÑZ€?´ù:Z8Òç8q[=þønûÅíWŠY‚µ¹»œöËQÒVxËüH+©ÁW½´Ž"ÿÃÚ“ù‘¾àôæÒ;W\n4¡¾æ¿Àm“;—ÒÎ&#äl-ÙSdèìUšZÌeˆ¡ð΄vñË›ªÏܲ#F~à¡_ìÉB¼¥]­®˜6ÆŸa¯%nÇßžV8z~~ÒzTÎå^£Í' ¾áÚöuî"ŸnO÷Oxçó½ý·uÇ?¼&ÜA õñÝÛóýó ÷pøß¯Öf:îȇm÷ðvðó”â÷( T,ǃØü©ñü dõ¡.†¾Í+‡ÎYÿóºR_làGðp‰X/ìïhòê1ûyÃûôµ$Ùãåë˜äMY:÷âU8ƒ)Åíó§£5ÍjŠÛó›§Îp.9T:4|¿FÞ³÷(hñ0;·ç¯OwÇŠI5ýmÛàqK€ä¥mtäýÕŠqPF—.C^®¯Ç+'§Cw/a"èçµïó×Þ vÚVÓé/¬†t,åûGƒ!²Eyõ~ZÏó ôë«ÿå'ºhendstream endobj 165 0 obj << /Filter /FlateDecode /Length 813 >> stream xœµUËnÛ0¼ë# ©¢fù™Sbä ФJ{zPmÇVbljD·E¿·Ÿ ]J¢M:NE $ŠäîììÎø!%˜¦Äýúçh‘tš<$´ýšöÑ"ÉÛ ªà 6Äд¸Nº+4Õ4ÍeŽ —i±H%Yq‡ kŽ™ÎÝ•bœ\¡ãê.#˜HžSbPe'Ù€sމÈÑYõîÚMi„Ö¨n÷¬ÑÙ2°*8÷á„[hª•Fó.”1 Vå4̳ll5 Ï6î,ƒ³]6¤©ßaè" ß”‹{·6PޤbB g®»Ï’s8å¯k]·³”£¡¢ršìKñÞÑ-RJ!¢dŽÁ§pÀ%ÖJ9"ÑÁ«yUÚjy·×‘¾Õ¡+*àõ4)^_¡aŒÄF—}(E'õc°r°(ÇRæc¾ë¶…fÀ!ÐÛ·®[¯Û 鮃ïËÚ÷} 2Y¨dÓ!Ãi×!ˆ•aªqAQtVF¤FE.JI‚VvÌ:ÜŸ«Ú6£ ¦É%P  ¡Úfõ„‹n§ú–1%äʧì×MeY[A¦Ñ-–L»Q1r=Š£yTÖVõ›÷(ù¼¹¶æ¥ýÙÉ%¢™ïŸô݃É#~Ró Ò.V8o|ÃrtÐ’¦G!3­«rØö)Ž<ƒEYÍ÷ÚSGErž,[©Ÿ·ÆwYepUÈTq…sbZßNÜD—ø¤^Mîö/÷õòf2²xYO6º„cnŠ(Ì™pIÀ¸Ú^A-uÜÖP¿uÕ õÏzz9E§»U?} (íØ†Á—%æ}*öØz\(TûYäè ²¸¨€ï][¹Ø5i½>×.½C·ÙÀ¡­ZỎF·½uSôTEÝû¸ÇŒ¦èÐ>=ÚËm:eò9 ‡k‹ Y~þ z?Væù¿—ümXÕÜ®v„ÓyÙ¶üôC[  "/°Ñjœ£÷Ëz»D'T¾Õ¢ºü½îGš­RóÏ-à¿ë^re®[ÝƒÇ ¹>€¨fû_—·+\Žpi׺?Oþ ·,endstream endobj 166 0 obj << /Type /XRef /Length 206 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 167 /ID [<6fe42eb8ed3e1566ae11bfad42279d79><9280d1ab5aeef6a46f78eb8d91fd9acd>] >> stream xœcb&F~0ù‰ $À8JRüÏÀ'yÈfs…í›;£aKͰ•û [AkP¨Šy€HÍ Rî ˆdŒ‘B ’y&ˆ”˜ "Ý_H¦ ’ï=X%Dý0ÉVÌÖ‘l³Ál{ ÉÈ!fCL¨³?ƒÉy`ò5X\Ì~ fƒE¸ÁfN‘Ò×&0N»DZ¶ƒH–)–ý 6!Dò3‚E¾€EØA$o2ÂåL§l»Šl>³4ˆT³Ëi¼&Ö endstream endobj startxref 124830 %%EOF flexmix/inst/doc/regression-examples.pdf0000644000176200001440000062203714757625373020174 0ustar liggesusers%PDF-1.5 %¿÷¢þ 1 0 obj << /Type /ObjStm /Length 4422 /Filter /FlateDecode /N 72 /First 605 >> stream xœí\[sÛ8²~?¿o›­­!î95•Z;Nâxì\dg“™­<0ms"‹‘Êeýv E‘”L;JíÖÖ)† €@èþú ‚0" ç1Q$Q1Ñø,ˆ!\&’XµÖ$&Üê˜$D( IŒk 'RkE¸ ŠÅð+‰âòQJã§DY å Ñþ@–– ¤C+ÚB Ñ6QD0b„æDpb |, yk¡IL¢44J,ÇtM¬µPΘ$‚Ä*DÄ$¶1¼'$áqL$ƒž¹’“$†rRÉ\"¡£ û#XfÈÂî2è’ɦ}\'P&Æ‘À¯è!ƒtÅàA$z ÈRP³°±! j–XÂaqB€n.mP³’ÐW…#£, Ô¬ P§ fãð@Í*±Æ F j"jÖ"Ö0bð  !h­¡B Ÿk ¯@Ý•‡ïj½K¸ãPnò!ÝÊ:ï1PµÌRìéQZeäÑÑÏ‚ Í„€9ÒRÙ¿1þÆþò×Pè}tš^dïÉ—¼º&×Яå2»„ì_³o_Šå¬¬û£ÅšFcZýIBÿtÈ›…´8ô]úÛù—¾_Žþ©§¿©Û†ô,ŒŸðc†å\½éz\\ùi‹íËâ7£Ú’!?k=×ô«Ðn柱¼5ëú]›˜/ H«„ñÞ¹kè_/‹ÙjšÁØ?}Jž_eUN—ùm11(s¾úøG6­È#x¾È«yÖ0ÀüÝt^ÂjF reáÝ|ßä ÕUç»YÎ1d‹Ží“ñ¸–ž'ÅjQ!ÎÒ_sàºZL½PZ÷—²à¯öR8æmýë óX†üÄÿ^û_ÿ9‚þÂì„wîß¹o2ÕqßLýµI~=Q¡òÄþMx >ÔHáÁ£Æ‰Å¢¨°‡Â·›x²“PŸo= ­1V×ô¤XTÙ>§ÌÍòô°ø Ua hõ’â(ƒØê>¨1k’•Åj9:ˆ§_«ççò)詈м‰ƒËbzžUP7}}ô :’}E¼|ü¸Ý§^—”Tóï§Ú‘¦ý¡ú <¦^ûNk9@¶Øë`ë¸=Ø:y@WÓ2sŸÓƒ7ÇÇ'¿ÿíôlRܤ .~:,æ3hn1-fùâ pPu˲zr.ÑnqMepÿ §i]ѧr có¼¦Â·ú.ŸU×8”`AÁ·‰ŒÝˆl¿$—~Ì@ý·ï~‰úŠaz‚HÒ-¨ú8ƱUN Á€aç€;>Û`b,}VlôB4ð% èã¡z©”#ß=dŸ°c®TÈ…Æ€”W!ǨìÿÿåÇôC#qå4ZJ·ÇY~u]¿Ÿ!»?¢ô>¡Ïèsú‚žÒ3úšNè[šÒtJ§Å¼XÐÍè%½¼Ì)þ¡¢WôšæôÓº -½¥`¸äÅŒ.iI+Z]/³ŒV_ º¢«Yž-³2/éú”)²>ö“à£ÏæéšuŽ·kùvy…ÚÑûÁç>Ëç™@ð á’^¦7ÙV1|Öa>=X\î†NŸåe Bé¤äRΫìæ²-_-ÉìÉûñû—oŸ½kb?M²«Õd¶%ò5uȃ­ß­˜\hɼ)ó ,n¼ý„£ ŠZs€Ý«ÁIÀ;–²Ã45ø.àç$îÆ4÷%…ÓâXá˜Û—nÕ¬$À ¸¶à\˜< X î æIôTœBGMÀ-t_@-Xž¤§Ù}¯}}0ÿq¨zórD@a„‚úW2Ó¤».á»ðÝÅpƒò1]‚Ý hâ¤IÃÆño¬ó?-λ¬Ý¥4_SøB›æË.¸ÄàѶÀÅ¿vÀåˆ>us sâ@æ%}E_5¨€sN/vþAßÑß|Ò&/½X)ÓŬHÓâæ&u°ä¥ÙÍ,-¯i¶p?U Z埻æ5j]eKÚÙÇy žÖu¶û£A²8šk8Csbž]Vþiéš ÷'ýsUTÔä Ô/¾Œ{óˆ…eöš)ó¯[Qñ3â"ýFÿEÿ•-‹ €ÎÈŸó¹ û‰õD+h ‘Û‘k4JòÝ(y~@.Óy™Õ¥Ö6WF_½~ñòðy‹˜ŽÙh·8X”ù:a¦`>öÐ4ô¶AS <õÑ´x»È§W"D V[=x³ðwóŠMòâªÁ5`9i§¶_Ê‚Ýã¢M¶'†œ––ú×–z}îÅÅ J2ºcÑMæls o44—œ³žš†üXX×`‡M—·LúXö–f?ú>ôZºé±ÚùÅó÷/OëV²›|Xk×ä® õ>3]>l¤Ö®1t4Sì@i»µ®dCSînSŘÛhÐ`ȯûÞ„òNs‚ÖLÖš”¹¿w˜=–<ÌO)y :oLÊÛ`G®7lFž¨­6#æ%|Ðd´]nÜÍc™RÚ1åÑÉÅÓ§O¡ñótQòã.ŒEŸ3ãgÆC.d Cùa¯R™€Q›³©Ú³9iÍP£± ðGÜ™"´O÷ug~’îül¢‘SÇcmú““ÉË×ÏZ¸ä[hM†í{ñý)¨cB-pà;ç@²s¦¯Ø"¸ 4"‹—]âúÃTÔ%õÝ}¨IÎpÁEÜ M®kÏA£ æ½ûÄ·g@X˜2mDøf ˆ¹öÐgÇ'üEêêwO) z*¸<µ­©T˜ÀK‘*ýWü …wÜgP¤£íåº×Ž!Šfè ý5x¹hr¦-sÚ6,oj[²Q–Wm›q«çT©³ð»®kÕ1½Åªƒ±v¹œ7„]ؔيz)ÙÊ»£:}'€)ÑÈL±œeË ÈbŸ¸î_àk  Õñº÷¿ý3Y‹Fqqí.Vó9–=1H7Å/¸µ‘²’H¥€ „I"pcaê#fT4btš/>Õ»ˆb/¼¨½’Þ!Êý†•&­¢ª—­ Õ^3…¨dGn/¿ŸxGiÞ?4Öùòü·ããÆ~;Ÿ§‹jØ”ª¬»bžµþ€ çݦT76±ECܿՋ:×ÇÇ]ÞdÛ’ØnVuƒyÇ÷âû¹?ÞcÈáÔ™˜k\G@á˾¥¹öÈ;QJ³Í ÷™¨¼Àºç‚ß!@£!1Ö²ysþû»×ÇÐàYZ]ûê%Ö2Ò YØ7Á„oßìt²M[ˆUp¢1xiXX«°þïn§ø®K„€ç¶üXúúc–.Ø:djpi!ÞT•Ùéi5!äñÛ¤I³l“¡ÙCƒÙòÒ™,³jÍÓ§7g)½YÕVÈmîÌ+È­®±¬3B6šoahæób!l¾ÃÏ=‡þöíC޾¿8;}w¸;únE—•8¹»àÆùœlwpòîhë}¯v`¾¿VØ}èÚ/íVë«– ¡0*Ð6ßêå¥ Ç‚ÙŸ«t¸;¯Mæ¡Ø*Í£ !üiƒ°Å«¶–x=«n眱\ÊFû“/^¼;8{ÄâüÛÍÇb>ìãÛþJQ¯vÙ](âlwhS&;xõnÃh¼d6ÓmæšvD]ãø´æUìßýøó ý˜.éÇe:Í?º'Ïp óæŸÓy¶˜fc±^°ftµ÷¼Çù÷ó¬b=ž½ƒöϹ¯_½?=}Óôî–†Âò¶•]¶Œ”®ÙVñlk îNܳü÷]h€ ˜rÓm¶Mç·×©7¾Ü/>jë*ëp_=© ÷íâ…±œÇ“±œwôôéÉÅÉö!SÓ;Ժ캔*ÞÍrrËÅ{ÝR¢Tëp)é!št­9{ªÒ-ŒmÈ‹Á쀞—²e*¾{™¦7ç¿]<=ùýbƒÃâ¡pB³[¸žzÝ'ÈžsÂíîÉßåœà–g¼ï7ÉFÝ—Pwb˜J ÚÅ£6ñ`#ÞxÁ (éjdkYÓ‡ð¼¬rõv8¤g÷ÑjiÛrr+òÈvܽ:ysxúµÊe^lÙ‰S/ú¬WNXŸsºÎ@<„Ã!úžeÃ1êÓ¹ ¡Þér3†;Ågyy;O¿­ªìkµ1Šm7*\&—1v·3w½e¯»‡oäü‰ñfÅÙ›WoŸÕˆ2$ã;×ûûs¦ºF±Ùí¿©]«]Ê`én”Ò –ë{@i‹€ÔNôöÐvßghí½eH­¥ycÒ˜!Tï-§mƒÑº|4®¿x~ðìàÕ¦Ý:ì5‘ÍTËþLwíÈ;tzØT¼%æ48—û¹DÜ÷‹2I$‡8&š'QbÜqöˆY9r›ÏâK ~VäQ±¼¢œE<6ÒÒ?Ê2úÌ8r?€v#"éã#‘Mp놴Âuà¿ùyÄߤù¼*~>̪*_¤Ñóå*[ü}òÓí²À“ÈØŸûSÎa˜58„ЉH¸(©î\ÁÈØýRþl™g³e>½ŽN³¼œ^ÿýcñi¥Ó(­N¹dÆuM¹üenKÈw¨Xüd­b5 g‹7Ul_í·³Ã9Ê//³%.¹("¸ª—9*c<޲>ŠÜ”H¥¸Öâ‚ÿÄEÿ÷U+8Ví-dóH ž“ÇkH؉ÛA [®‡ôrî»cÚ:ýâÏ´­ÏÜì‰VÜýr½¿®c0ÙóÄûû"3q㲟ÊÐ.߈ º(e7|¸/Ê=ßî§2ðÛ¿qÁŽ}q®‚À¡b·ßÅ1«ßCèÍ wÒÛÜñ«Ûóãf\4Âñ_Ééœt–¯Ñ¯h¯nã‘üzÕ·Ñ®—·ÝJ°^%'­er¿!\ôa*ÿ @xÓWendstream endobj 74 0 obj << /Subtype /XML /Type /Metadata /Length 1545 >> stream GPL Ghostscript 10.04.0 R, finite mixture models, generalized linear models, concomitant variables 2025-02-26T15:53:47+01:00 2025-02-26T15:53:47+01:00 LaTeX with hyperref Applications of finite mixtures of regression modelsBettina Grün, Friedrich Leisch endstream endobj 75 0 obj << /Type /ObjStm /Length 2201 /Filter /FlateDecode /N 71 /First 610 >> stream xœÍZ]o»}ï¯à(Íá ¿€ À½½M[à¶ œ>´½ÈƒcË…ÑÀ.¥Hÿ}ÏpÉÕ®´R"[Šïƒ±Ü—<<3<3œuŠÆ™”LÈ&eCÅ›T Çd²Ã3\Èd_ðgˆ·lÈëc1$Ñ™ …‚ûh(i¿d¼sÑäl<:˜\Œg*¦8ãEØ2>J6˜Ç§Maã‹àw1LâL †}ÁóhXÐCsíŸ g'¦\‰dÈ9#D˜Õ‘ŸËy4ŠþÄF8b1è/Á¡ F¢.È$crÉHÁàä² °WL`ÂOø 12‘ 1éVDÄ&¤T©0¡0æ¢`"yÌ(ÑgíœLÆÈ”M ^û£þä‰9`d߯˜‹7wŸÖêoÎ\š‹Ÿ¯p“×›¿ýï?+sñ×Ïëw÷«OæõëúæO+tùÅ´>ÿÇ?Õ#…ÄFCÝþøÑ¼7Y}Y«ÿÖNo¯W˜-Å6îÝúãʼº]ÝÞ:'ˆWÎ%ÁŸz*žEm\yxK{¾z½…"ÎPÀï­„²¢,¢xû¸úï¸î9¤› Œ¨0®2—ŽkϸÁŠíª÷´î@÷oyžfÀ9 oÛ¬‚«ä†»®©›hqMyaM! øc£ÛhX“pWüZ; kÔßëú®‡û7Ã)o›b¾"H’ >m™?Ì`—%öãeiŒv4ãìÍaBsš¶ºÚçv@­mIÍ*í÷‘Ư ´÷uÕӱƾ·ÍAyÛš2®$Ï·C –î=ýÔžabÏnÜ-bª=»œ¥è'cÝnÞ¯,5߯>pÛ|£Í÷Dööq&lÔ³žÓhÎEŸWÌãš:æîÛ‡%,e†…¢³1Äm,²ˆe0’ß'$JNÞ6Ž$wwì:8`lpsÕ‹Ñæ¼­½9ËK 1¸ ñu³¶.âfÍ€$fëüÄ‚‹s˹S™(RóÆêIÝ+Ã=¸…†R¶Ô=8‹t|`Û-ºÚ ·]è÷e²enŸ%Lû¨xˆlÇÅ<‹y1:Çf ?qž„†&®ê(uÍ,?Üß?¬?)XÖÔl¸3½W#Þ¯1÷'ãCs×?¯nî®~|ø‚÷ÔËC V“+! ¸—jNt¹úôðùñÉ‰Îø£Õt¯ñáúÝJé¸xûÓ¬K×üèzbóöê_«-ârÞá­&]3Þ -ò68ÍR>Ü$7Íh²@”–¥™æpíšÚ5·ë`9M2w‰Œ§"’ééD–¹Dyvéè6‘|€È¥Ô p#PwÌÕt‡-É$qíJ d¥S‘%þdù9YÑ[ìà]òSÕ‰ºLn'ñ&ÆÄ›jôĶþÑ& Cƒ×ç2q`šHðÈc~>¿ÿ²þûõÕzUÏ1µC£VžA­ÌóìmLi‡Úyþ¼˜•NĹæ×›¬r.Æ“°¾¨ëb™Ân`¨&J-Òé³#½?><Þ¬•®:n½¡á¦­ÐOœ'°MšsS.éÕf™4R¾¯ë‰¬$=Þ£޾Z ÷ì-ðjÿwŸ?¬+¥?ßÝÿ»Ó[·Ö‘àx\â`#í—U(€Å‘-z%¹Òk)Âæ˜_QFV6àÄ[­KœÜ’U¹àt+ûÀ:vŠdµ¼ãa\-Ib½§—…æ}°¥ [Ã&ŦZo:Ü%k-¦N=>Ótç’µ¶ÑÛZZimˆ~Ë:ÐfÓsƒK­Š”é`O_»®Î—½kçh½§2”y7K¶xi,6 G?³aƒã V ]#¸”ïð)ÀQ¿éàhR0B"cI·YpÞÈàîB¶á/~‚–Áf$Ë–³û4ã4“˜ö`tËp!rÐöF@¡&¸äÉPø²à J«™ \aIk¢g· ¢QÝg¿p²1QÇÕ áí(Vø^>{ô9Œ%Y­ìvlˆ”ÁÅã°]j¹›bËÏ.µÔM±ëQu‘8ªÖ²€•ÈÖŽ*›½ÍÆ÷þQÃPo'þ· ÑÚI ‹½ÕôwS0Òß…!z~u©Õåv|Ø/º‡W‡büÊ’6S¥ ZâŸ(HAè(_S¼cœaY6éçl€œª ¬Ð7JÈä ÛÏ_íHá—Ž天pßüC*Ü=ú¨Tø›{³ £Ý³‘!Ë®~hT†qn‰Þ7•9Žaá”h®ÀOò‘àŽÙʧvöIARpÆÀŽGÜL{Å+!I4Ýò¥ª—ÇnnÀI÷Hgo’2sîèNêÜ<;çñSÎyçò ©!*?bý‹Ã‘’+8Až6o;\A<ÂA¤ƒCm“Zúp_×ö½j¾ÉžMÁê|;‹RÄñ†ªU’~dÎØi¥~MF‚zÊ4ù)èô8¥Aé ÕïÓÁNƒ{oõ[ô ÓìÕ•áæÅf(Å.P’•³èÂ@–ývE@ZAÈ—ÕÿB²ŒìO[üÖìà\تšK±ed¦¡ü:°QAägýïDˆ¤Ú’ ü`Z:»8çaE§9^—Íúß0Ç€{bä–0~1> stream xœÍZkSÛHý¾¿¢?îÖê÷«jjª Éì† “IÈÖ|0F€+Æ"–Iö×ï¹-É–åÌ¢L·Ô¯Ó÷Þ>÷v«¥ L0i"“Ñ3iÓÏV2ëèY1RÍ¢·H “UE<è¨A©Óxm=SÂhdS:5ŽÈTt‚)K­œdÊSe§˜VèM1` > Ó-¤³ÌÈÔÊ1£<½ñÌèT90c4UŽÌ…:ÀjVE^1k4`xͬ˜‹7ÌzCE–áúA='y攤¢À†G&2gi¬ ˜ó=É\P¨2àƒf.ª€Œa^zc™§9IÌÄSS<óÊQQ`Þ(‰LdÞb LÞkŒ%„+QIÊ4zÔ,Ìe4,h‰~ð6˜@Úq,8’š‚ƒld ,xKu" Qø‹0”,*ˆEa¶òE ´)c IŒ®„e1DªŒ¾„ô *ÊÐ; $t¤0¶°P·"8ÂK”fá5´Š')‚4ÈAä"B J’HÈGIL  #Kè9Œ)RcÀ4()õß~ú‰ñýѨ˜”ì¿I¹‚$ÝV©ªS]§¦NmJÿ`üE1šä#´V®ªÃò‹Aï ø†þ¨7mdÁÈ BE‹ãÞ XÕ?ÉËb:îç%#$‡è-ÙH*;ýÓ|‚ŽøñËCÆË¿MÐÃÏ?#ûý6§®®rm©gOÎ$µ¤µ¨%*w`eêdQO5¥·ô´Yn[ªI ¹FOückBKJ;<ûåøà?)nz£pO}±B]¾«.e6ª«vn«ÕeÀa&ñE ¢þ³ZÎ~báOEÛyec­9¯©ƒ^®ƒØ†b%ŸÖõê¿j4“œpõ¿zÓŒIi)ĪÐEzkÀ¾þfQ½A©“é×´êš"5-Sôd_sS|Á_ò_ø ?å¿ñ?ïyŸ÷‹a1â9¿â>ä7|Ä ^Œr~Ëo‰ˆ‡ùå¤Ê©G~;œ–| £žðÉŸŸòoü;ÿ_>.Ú6®ìÌȵê8èš v,\u-|­‘mkÜj Í1c-ðªÂ0{ƒ`²vD<×Kð BÖärB¡zã¬(HwM3jÚÂÁë¦-ìD«&™nÚšuÓašnÚ4mP™¦-ÂmÓ´¥]€m .Ñf£z (ÞºöœæÙï,Ðs ;æ\òöõþÑÞ‘£âtØM¤¸'¡`Û²D(N-ŠÛL(fÿcÓD?Qÿuî!¿å–¢ó´]ßÝzâÎÞÅBuõ·Ãü°YWÿ»Äå¢i—C¨Ò"®}~Èë?ä¯ùØ[~ÄåÇ5™½çøGPZ¯ì“Áð"Gv’åg~žˆî|ÜëÎ'‰Îê|Eh ö‹››¿àÅVBL@xþeÚòü[Ø»á—ürð5ç—°ðåÕ8ïa ~ͯ¿ß^ç#ègPè0/ËÄ££ht3™aqQqêþeZLò‹óa¢×2ÿŠËa¯¼&ª½çyM¸ÓÑE>.ûÅ8ç_ùŸÿ.3°Š ǰÀÀàߪØ)•¤Þá`ÛåàÍ‹³MÄ)¶YKÅún*6j™^퟾;ª‡_I ´îÄé:®`Óaª´‰ Üd°dÂè‚ «¶ 'í’d†y6)喻𩟎Ž|WGk…´m¬î6Çê'´”®Ž·Nhÿ'›c‚Ǹ3œ;®%e¿É‡_óÉ ß[Po•/éj®˜m`Ò¶Q6›Ðµ 7€{÷îÛÿj‚©ö*ánñº&—”Úl“aƒMj±.þìD¬ F•ÎTèÏé°P|Ç:WźašßгE™±Õ¯ÉWHè©ÊÑ»ö‰ª?*±U EéT¯åž(F¶éíRt+œDõ¸à$᎛øÜ~"¿CWÔ\E·· ïVaì”t;Ó¦lUôºÉíUÇ€>ÞY—±».ך̶ñëÚ…¹rsVŒájêHÁõ‹ô «´¦ÈLÕQÑdzOØldž6–*úÌhf4©î@¤P¯ŸZH—9x #LFæ¢LÈ¢¢Í Zé"Îlöí`ô¹œÎ•žœu™Òz.ØÌÀçýUàœÌŒŽëÀn.L%> 8½ ÎŘYkÖs> à>e&J; µb‡!tŸ›ö2£³°6ìIè8ùñØdóPc“Ÿ'pØ/fÞ'†R™uëlιˆ=š:THÁÚ©Ìy·ºù6,Ô~è1Û°Wß&¯O'GÓG— ¥//÷ß™ÝáGmúœTûÑÕä{oŠï»îºéÖ§gÏL¿Óm”u¿î“Y¢ôkXÑÇÌÓ—¢€uì™6v;Cì(ûÞZlg,h®u<±|±â¨å b·–¨Ý®±Ö.)}¹|ÌéÇ,èÝ;(† ‘oÝñ‘ïò\ Ô>}‚½o,üDnÒ—ùà)ü͈¿ ìWÀ×6¥Ïêà  Zb 8+-šíÜD±ÈNé»@Á÷þ"¢ @w’G’JdÁméŠZ1W|;8%l-èÚK'>ä ñ}ÜÓ¶¦Ý’^!ƒÝ}e6Oç?`=ˆ²H÷ ìFÓ} ¸ +BdÎngíôp`g'åÝÏ Ô ˆj¥tfTºþ“iO·yÀv[—ü—xÇGÄîØÎDÖ¦W™\«Àê»qF,{«CFwšžzc±\™ÀÞJ„êö®bfÒÑC½>/4r(ÄÀ3lÄåÂí\ײérÓܲµ‹Áf,ܰ[kÙä÷¬Á2 !SJÎÔª±‘ fK®˜_5©¯Ž¨úꈪ¯Ž¨UWGÂîÇÌ]j–GueF>äÞÏSÙ€BäR "ÒÉ^é¶ѳ(o–®·Õà ‚!ï nÎûGô;XþÞdt÷“ü‹B˜ > stream xœ­\Ks#7’¾ë/ØÞà±4Ѫ)¼½Ù3Ïø°ãÑÄì=°%™]3”ØSUêníïÝŸáÃæ(¨"EÛ}ɉ|~™@õ¿7]+6þ‹ï¯ºÍîêßW‚~ÝÄ?w›on¯þøƒÒáZ)ŒÞÜþ|ÅSÄÆ«¶ ~ã¤h¥ñ›ÛÇ«›¯¯»¶S¦ A5ïßïû»íÔžÆëåtŒo?ÇÏZ6_>õÓCüêCóØº¾é:XeT3=óDWLvø ÆÑešü3¬GÑ<à³€kîöÙ¸ÿ¹ýKÜ<6FâÎ`GVz±¹Ñ²µF«Íí=ì雇iꟶHÔ4ßF;!D3üòtéXYº Ît­  Õí=úï~˜Æ»kx´ÕÍ;bF9Ñ…fû3}Ñ^†ÐLãsöè)ûܸ–v³ˆã…·¾Æ~ú¿ 8T “ÎÃJÅãŒÄÚ¶¥Ð-HdS0ûçë (bèî‡þîZÁ½’ÀwoóýCOâ€!¢í„ 0dU,J·NX_‰åÌž ð íÐiNí¸ÍÏ™P~ɦ8B"o߀æ‰RÍ}6ú”`šåBßOù·™ª~E²º½únÛovã•qm>‚c}{åÁ¡¬ òÍã•‘rþ¶¿úûi¯ ›Ð+mîtÒ…Öx¹±Â¶Îôºæë·ã4lï¦ëÛ²ÌÓn„±­²Dî[í;Á"ÿ/²ܲ=Ùæ_Û]Ü›3ÞkÖ 5å[å`sRi¾zø„.»\Täm'yØÍ{–QÒ6ÖóÆ4úûìA’ªÊ5èö`7`IÑ4æ9ûÌ‚·Ê*´;œkág aýÿ8n»ï§yÉ Û´â‚îa õš/³ßÐå³%v‘£N£ò•8–á «0–M9»ÃÊþ8¤!?Àv9`¿Z°,šqä †c•¦ &}sR|û±%ÿ»ñ¾ã;{`}Ürà10”ÜA:_›-EóáÚ¼ÉõûíÛl‰} ø1:W']Åx»’†ìy4xâ]ÁÛvñIG!¿ÏXŽ{¾†¥ÀrÃé}Žq ´£•Mç¥,”RŒÀþ7ÿá!7œûÈ–nö…ê‹AÛ!Ž ç„Pè"J­³ÍÇ~z7/mæK!‡]ši!ÿ}fÐ6ø©X/ ªØø¢øVHzÉXØD >|uû‡þIíØ™€“¸€¾ø’àáñ=2†ààËŠ6(¼€šPx91yt÷1Nµ¢Yá8*¡ÿ²´æ"°B,'©³ ¡ &kñê`061@ù¹ï§BM‡Ç~»´D³?ìú)Rá_l‰•5yCöEy³y¯•ÀOzð8mYÐàH)µKÆ|‚†~áåÊCŽ+{e¬F 67†¬Ã–¡¥Ç0ç1 š U—† »3ˆÔ+!#׿ Ó"ž3’n£z–zJMîN†’<ãM•.1 ^Ú4ß eIMÖ/L„~Wáüö’%ä¬n‡)µGpR_hû:)+›·èNn%`R®Ù¦þ•ŒŠ<èÕ„JXД1bxê$d²R[Û{&u ¥ÝÈÚö¦@'ýaèã’Â7c©˜3!´Žß¼3Á›ÔLŒšÁ|’]îH˜F¹Rº= ºþ-β¼1ß}r8Ý ,ŽôœíÅz¶×tºÎ÷ý>5[®Uªßp8¯²$;¤€Ù"4!åÊú#¼4Ú^j‡±È‘yQ/›~_¸.‚Ù©NÍ4Ö4Ì R4)ˆ4ÜþPPH´u!Ðí´-U:‘!ÐOák}dÒлHk®×˜ÔÆREæ!„'@JËYÌÔi¬ø’iÐÚºþÞWFœÿ¡Úô¼Kw‚\ªxP¸é}Ò?¥Ïa©ÌN‚A0‡R šç,´i(ì‡HΗ yŠC^ÃÎ4ÀīؙÑlŒøY5ßn‹}ûÞÀ8(”å¹.zíœ*)“ç`âÚ¦j |ðÐã¡ÒÛŒ­8 …´wå×äe ¡_˜`Úzï;tô­õ§ç]ÄšMå…cAOšX³ý°R®…ÖIHQ©\«Äã6Ã÷¥—)Õ1NåpLÏš]ªáksç}[2E­U Ñz™Óðw°²–Œ`QZ`t¤ @› çÁú<º³Óqå!e0`$VàòE^Ô›\z ¡Z«CåÌÑâXqc¿{G‚²Fr(ÒpISt:¨l¶Å¤:Çâ0é["äà·—H‚À‡~|.X+«Ÿ:iñòKÙ3'®¥Ç <™Ó„Ê:{±#¤ªÝ¯€Ð´]àiŒKtªùˆµl9rƒh‘\•Üj' j¥Z÷I—ã´IØé´EÌ*r’—ml·iSw!¥S›iZØÿzmÀ1_ؤ”‡¼öb\‹Þ«;mZm¥ˆAä?9ˆ@˜É†ØÖZëa&èʽgÞŒ’¨³V'7A#øcˆ›¥nÈ%`hbNÉx¹ËFß~|“P5 NôË–cæ0ôCñtÆ·bî¬ÐØ’¿†O„ÿbŽÄôä¯Q>yì14 „©ÚC bC“úÁ€½*!/dþn°è»ÁÀÖ!ÖßÏó f¢]QS;˜ ¦õ&µ0Ó׳=L½X£ÀxŠ&¦Ëìü“m‡=h<:XGv„›ïž¨ÙŒe¸ƒ¹*Çç; ·«Íea-½‘ðlE§ÓÏN,CŽNÚèÜéÌ-^µFŠŒõ+nûïgcÆ8ÕGývxø§O,¦R]0bc;Ç>ül?ixîÓÏЕ”®9i‰§ /©kHBб!5N4â¿ùŒñ%®$·ƒh#\„³<Â+á€gÛ*—å$ƒàË«! QcARM^ŽÙUSÒ± ö.Ä¥‘ãÍÜC˜¨tGÍôEXÝCTaÍÑAuê|C{ÑÜáÏ {®Þ²Œ" #BíuWÁGgµHI§àíS?Nq1qì'²SÄ“?(vßÅYJsÆêdlrO ¢fc¯µÐUgµeì{EÅ•K[>šÑ[.œšOú0ä+>é‹:©óKÞ_h7¹ëÛGóºÚò>·âq*æ”Yb÷&U‹¢U€ÐË$4愵¥èÞ@ìdj¶P*4d©÷v7׬1>™Éc²öÏ9À 1¯#ÓB ‰fùSƒvI8‘o•˜Ípæ6Ii½ ç[í6¾Zï-CÂ?_{FìÅ‹í¥>2¤µEÊÁßaÈÛ\ñ•b}†§xdw„¹goÁ¬ò-ƒneP%ã?]'ì½4?âÛGE\÷Ø B"/2·´•?¶ÂØü¨ƻծ̊Ü_®½. ¬t®¼øÍ*öbÚkm`!}_l¦óxTÄÄߨ(hZÝélÍÏc¨@>Zê‘,ØÎÿjŠ‘´5…pЂ4E*Í µˆŠÕ‚ dÆÛ8¢ünÁñÙ<Áƒ:šag<ßÒàKTl¥ë7÷',cƒ™ e R‡ÄÐñ€*…W­;:¯=›-iäÝÂ(ËJ» ¥i=»¾žQÉ1³®é×P9oëñd‡à†¶íPc²ºÉ4m9 ;Ï„?O­@Äðô,o•ÜÇßeÈŽRbò¶ÓBL‘¡…˜„'PYH¿k>7ÃÏGNÍ} ÙNKH—àmpÔ<¬«3¢dBQêD ¡ªþÄö“âçí~Å1F.ðùïÌʶxÄ'­A}s¨ÿvø¥,´âó¹…“S†—sâdf?â” [§TÎågÉœåLAR§ý©‚Ië‚.úÓ5:ˆf{-â kŸñrákñ$ÉÈe„Ae@XxÍ¢ðçáuä,ý‚ ×Ýl]æU—]èø 5q¥×ºçyo '8sË&¥ÂzþëëH¼”æ '¹·y“>·Ðx‚ªÜx#Šî¹âéL¬û=^Ñ»¿k‰ ZìÊùp•ŸwYm‹éK{ë˜v$kÿï§FºÌ[ã½äKॎMA8›£,<ÒSA7yÖ*ïÀ9á’Ê;àI»N× ²ÛYesXŽªzlåfû_á‚•lWô³ê XÒÍÂ~ðÙY×éMҵ˗ °`†èŽW ŽœI¾œ2˜.ºËIu>–J¼4’–ª ‘÷®]”ÆóÛÄýê‰TæSÌáÍ*Z4Ï”½\bÑ,ÃKÛcä:i?ÔW³œ#ûÁë4^Ÿ5 "—Ð1g¹xÑ/Ú ©ÜæosU®ãÑ¿âf|ìä dáöC¬Y’*©¶urÙ+¥ƒ¿Ð=å"röETŽW˜hYc‹Z¹¶&í.‡±ä-®AÏ@nkã·º-Î)µ9£PÏâ)û3è6Á ÐK 7Áaûõo%Áùb<`ß6ê_êá µ‚hUorËUswé á䎀Ä:>¢U@îŸë–èÙ×`“D/ËI¢ó}mœmRç?Ö‘ g@Ü:(üš<_@Ê Øù7^‰É–Í)¥ÑNçw-fLH¿ƒÅ®¤Q|¢m¥ê]ù•ƒNÆ4­(C¥®Ì°=ÑqaÏ]Óýʲúb©…®Ê[ÿQÀ•mPG}uŒdñ^%}6xÍÃUêÛGF;=Š^>›=·U/,"@íê"³ÜP†mÙ(¨ºŒ«¥#¡7oû,Ê@o©Š.]9]§7?O匼f¡ƒn(¼ð¾w”ãÅÕáä”!JCÄ›¨`…ƒÓúø^Ö)Æâ¬ø¢ J]:QºÇ¨q¾^5Æ1DH¿&ÝîÒ ’î“d pÿïo¹ûhì‡ Hdß}lüyC¿”áÝ2ÎÅ^aŦ#©Ëµ)l¼O,èÆ “Hd¶XU…âúȧÊ\e)0>Db.¾‚£^)ùˆ¬ÈøŠ¾r7q½"­ôê&]ÖÖð›üæ£GZÀ”™­nÈÓŒ°8Ê\¸þ—™Ææ@G¶ °©ÒüÜAµˆ Ëmæ’`«±4«°ˆS‹%–zÈaì_>œ+ ñ*JHC ¢ëe™OÅ–]âNÔ‰3¿wA5 e *‚ºÎM-¤9Æ•! RD‹®¯SµqÖ`˜ l|Q,QžÒ˺¢¸ÈDåÓÃEï7âõPÀ:/l£|$¿9{òF·dpE§.†Ÿ0>•­üvòáôÉÿ &œiÖ’Ð¥¹S’bk‹61b/«5‚‹µ„˜2œçøóŠýÓKfu‡2>èüz#’îý°`,Bé9sm+R×2ñ´X‹25­ÔÄlO˜z!üPÛþ޶QÐJK\a_M;Ä%ñÿ±t”Ë’#bó+¯2»rxÒG³Ëô“¨˜¨hÐLµ¹ó2D•"FÌv"¬ #ŠKÊçãŽñN4½ânšï¦H„ÄÀϬãvE ØñÍsœ];ß®R ÅüíêÿŽz­Oendstream endobj 221 0 obj << /Filter /FlateDecode /Length 4986 >> stream xœÝ\ÍÇuG’Û:' `HöØxÚ]ßU2t°;±!±´d£Ýå²¥.53ÉüõyïUUwUuõLDŠBÀggªëã}þÞG×w×]Ë®;üþ¿Ý]u×Wß]1úö:üw»»þÃÍÕo¿¾i]çØõÍó+ÿ»¶ìÚ(Ó:¡®ovW _Ý|c•ËÆv¢•VÁø›»«§Íï_­º¶S°Î5þ³´Ü¹fÛָ߮§eVÛfsì_&C«µ¼uN6Ïñ³hdͧÉtx¼÷ƒ:-›]ÿöø:ùqŸ®tY6q>æ¡x䀛óÒ¢Ù=®ÖÈ`…lî’u²g¶‡ÕÿÜüeBÊu¤ÏZ¨Öjí©t|‘Pfs„¥üÍxþQ:8¢júôð¿N>¿ÎÇãNÀž2jݦ?܇Ք§,च,<Ž?Äm(Ýd,|\q‹›VÍ÷+¥šÍ¾ß'”—èfò7/úÜ5_{Òj6œV–£S‰:Áç»tRÜ™dºyI«›Ív ;†µˆÂ›Œ áQ£ÂžˆÈ&“2þq°Ù÷ýá¸ï¿žp'lÝË>¦Dó|•rO¢ÃD«¤ã×7_\ÝüûÓ©( ?`çpŠN*ÓääÞÃxç¸bÂðñT%­_W·¶S,®{“®Û#òdp»MÏgÝ„3áÅs_5ã÷ ÿéÛwq¼9¼È ^rѼ‰Ú¦€âÙñtÀñE®¿ø=J\*c›[šZÂÇo7~÷º“\Z¯à’¥ εl­Þþ5¿¾ ÖÈÛÉÜ×2˜?ÚÉ©Bàe©¸=ËÑ!ìˆkÍ I=> R_ˆ|ÚÄlfCljàã@¤OqV§¹àSC;Ì‹X‹N¼×k’WkýyælðÀunÞsƒNŃŠg¼Æç·Þ£D1wÒÃxìfV ÃV:áðÿ²¹‰Í´ºp\¥ó¨‰lÑFÈS:˜J ÛƒÃÓQ@µ€=E1Ë'uN%ä²¹”|¤A ¥›—á3õlÒ·ÇLp^&Ò’P䮢 ÔxÔš Z,íy¦HI ñ³P¥W¢3kÞ|ßï3Eße›õã¤$~ °P°ôyb˜HÀñ{¦À!: >mì(ÜÖîÕœhLtžGÎâq@9@¡9 Æ1 OƒÄfÎéEEh”!«‡{q&³C.L›»H67’SO¢£ <ꜘ®7ÛŒ ÷á)iOs”C6‡šÚÐhk%9ydk6ývóu íî½ÓY¶R’n¶ýÿ¦ü]¬’…ó;G’23Fß½žÓüC@¬a l^b °šiMe$/ø•}„¢`æ+?¿t¶)Εü12‰–S×DÐOd<Þ#>wXH‚ÿžW|±F~ zT±ìzè€òg °$ `TkyzÏw8Q#ºýG!#±å!R/tïü8)w6»~Ûoöô# ¼”Á{‹,zqª•:zï/kŽ›1`©vÑq—T§M€YèW 6íÀ}ñ: ¹ÙyDp#=ÿv3 ïƒÙ“U@;?‘7&›Û’ _ˆ^ Õ9>ÊÖˆÃ?RÝöˆ©ÑöŒ}pG"ñÂ=OÑ9 ‘X¬ygZYB„A?˜¤ÉñsýèÓýÝÖlFeÊDFxi¸ ‘Pa†€Jm VRð§’è¯ô»0p†G›:Úí•NL­a ›ZÚíã~¢ë¸>r·TQÂö朊–ñ(¸ y[S„O “ß{­ ƒÕÆPV^ƒ§RsRÉ[ðHÉ’ÿž«¼]­UGâûÄË¥Q<¬ñø‹»{ÜŒQdžÔ° ~i [Œ(á¶ÿôÖs¸FÇÅy*RêS!“ bg©ccº ýÏMOÝD“bIÊ ±jÙ.X¡À Ó,7›¢åL^#‡-ãÎ3ì¿ülP2<”™cŠ]’šg·ÇùIJå’;Ƽ CT:Ä,56NóMbòY¬„¨7 y[[È´Ìu<ú†ßŸåMm× ƒÊ’ÏâægùÇ0¤ ŒOô´y¶ŠUóy >„–À1Óù T´BY~Íx«­#ei¾òóB¨êÐnkR+Ðn`²µQq]HOý=ðÜBœR™~d¢@|Œµ =Îó«d$(Ó'ûœÕ„{Æá^Aœü^æJWÕ NŠÁxmxºhN, ¾G £’ƒ,™‰,1w9ÿNHÁ/j[²-wã`_hä‚ý×ú4ÌòNœ×áLè+Ïä8÷¯hB¹š<èV8¨÷Ï™ok“~’Èæ4=a,žûÖLkÊ}õ&•WÀzD¶ª“äßbλ”0RÓ×kÓrˆˆÌü‰UË8Ò„Ün–n5 Zá—``]0ÔÚ1¨7•Ô­VdÓÁqb ø×UÍà ×Z>‘'u‚„ÿ0’ð›ªáw°3ݹå’ÊE’c;-9˜œ—fÏNbØç¹gY(7’_ D¦––ξ¬u«•êìiÉ‘ 5ÉÉÅç 0”±EžW2R^äsT 0Gr /Nh3J󔃴åÙœ4fªb×µúØš÷(1—ØšàOýo>%s-ëL!…Æ$‰3¦"ÓÕvÇ[ã0!³NGþsE¸ÀªkÇHÇjò^D¢D¥3N[ÏJ=wf±j™,Ù«eË‹ 4Å   \-Óow+Ú“Ÿ‘ì.X–T{Úg×ÃãcU•"°I€+1 °»ŠÍ 9‰eÐSPÊ¢,îp(žþžÇež6Íâà#†Ÿ8F”ÆI%U¸ÂLLæ9¿ý&*¤k‹ì°±d:3Ígã’~V"+¿v©ñ ¥ Š-e¾¼²XÆÌ4¯|~B:9Ï”éÃCF#ÍÕˆ¾n”þ2ПóyÓuõA%­Ú§¹jü2Îr¼V ³d,£ìý†"µJPR"w¶Q‰TnÕêÆCV¥Ã„,—.$y8ël Ö-ª¶Ï( bÕZ|´|ðXÃC ÊBáòÜņ$‰üátÕNw¼‰ÿ¦¶Ù< ²æyŒ^(ÖN?D6"¹Œ©p4*oø¶†ÿ¯y Ae¹˜h»–&&bñ&3ÑYp7"d&„ù©3–Ÿ ¼ŒÆÍjmÉÒK¡U †£ŸId$Ò|;ù| <„°³‰Œ!hœOdh-3 õÞƺžÈ` B, —ÃÀÈù÷£Cö‡¾6 |4Êü4Ú4l·Ð¦!¤ûeMò˜Awîr) ¸tYR£ÚV‚•8—+Ž£hƒ™3ƈ%ÉnAv C¦ÕŒ D%ü}§  ¶ˆCÆ,J;)°øËÒNg“UM¢L±¥A9·¬ýáûNŸ÷öô¼•Cl| 0†÷öÜvä.} Ô'uÑ„” a«} €Sc‹ø{ê¼Áߜȟù.o2HçøX•nT‹zçé{3*Ú ~¤mÁ³F„Û±W¢×.y0/,;‘F…O³Ö¹ýcJõ¬¢ßöGR⼫žQ ·ƒý²â#0|…™½lC̶ÌúÄï;¥Z]žà>cÝEÇGóÞÕýQ¢øƒ?¥õ°PÃfT ‚¢8 E G ¹}|èU³§=:º ë>ÇÒÎ|TŽ>õö* .>“»ÌÕ‰!]s.wQÙùÜU9—»BL”Ž«æu"q²CP¦@4AZ|P&͇ ÊþÛÇ>`æûÃá1J•úa÷ÇcåõR᫼šÖ í øF²4¾f5ß`BíçRy]°ŒPõCW^;1*Ђ€Å-‹Wpå¯ÀÇ%ñŠqÒr]ožˆZ\á• «Tëþ€©Vƒ•ø‰sÍ¿Ty#4™Ã‹æ£Å 5žD)m²UÎò%1ŠÏ$!—Á®æ¸$a“Šñ’K?¾¶9 9†pûÑÛ T¢dç è³ù·Z #´FÇUmbÃ$«zHN™Ѕ’ÍJs¾›Òt”Š ®Ï”H¿¬)æJ FZtCQÐÝ Á|Ç,G2ÏdâêÂ?Wîþ¼A\,@žqŠ2°ļK™Y_YN9k*}iß|íË]Ú7CŸ~k7û¦ ÿM_WgP.îhR®¢©Ë º­ñ-4_S™3Í¿åM°åËûò$µÓ¤ô¸Ñ¯ °·6É·÷ÇqXÚSLí».ßfÄ©¾0§”Eûö'YÅk_nÏbæ\QÝŒøáÿf ȯJ‚9z'ïd!Ï¿ °¨Ž·ºÑ3´ÿQ6K̈núç•Ì:nßfr“Îÿ›&Šl 9Ä?‡À@†vaß…ê‰ï¼ãºy9öQÇíÚâÍON¼M0Y1´Z‹"ƒ3ßj]4?|V/;`;/h?D]­ìÜY›€-UdV ¦i¥€a×Éȧ`Ü;7mS€13¨¸•:rÚYËHËÖl¯K.ˆ>NwGƒn«(]Ó ¢dóÀ¯£w8õ½ã§b´„#ÛÖPûYšªaùˆÚ B&\€µ/du¶alã@É’yûœ¨»QCò|Ø`›(Ée˘X”ï†mRÛŤ”î|N6Uýá~èóæÁFv×Ñ»{oÔµ²Ôßu;|m ”DˆITiR0ÕéYVyU•M^ãy;«µ`±d§è˹‰ó–á±,ÉÓá* eaªóFq|‰ÁºøúFþN~/L¬úû×IîýÒ,œV¿›’•§hSn4µùKÑSdÂðIöWabÛÕÚ*Mio"_‚ÓdÔ¥•˜™ˆ}¯/qR#UràrÆìKÓ‘gÛ„°»¼ççØçH%XÏ,âØŠ¡Bò´ùj2—áǘI¨EQŒâç53NbL/Å·Ÿçzü@éÇäwÙã—­¬[>1ØKꀇñ}Ÿjìе:éþüßp1à2꽋­ÔµFÑÏð£¢ßgÅ·þãW«*GtkÆŽ”‡™ú¡æ°&f'IÄ´g«;Õ—ñÐ9zޝf"F™t½M^¤õ( ,@ùêi—¶U…|e*µ},´Ž’Y¡¥Ö[GzyÌ ø®¯h؈¾0dûfJ’XÎJ©L’]qz Ë[6#¶‹üf’0¦ëŠÔgCÓÉÅšvò)pŒ²ùþ©¾C­S¤éÐŒÞCžÑƒW!ü eøÝ8 ®læI—û'Ff-ÈÊ,Îâ-¡.&ÎRa¦(‰‹!½§nÒSœWFAí.¥ñÔñºc:èŒQŒÂsª6˜•Ï«¶«W|yÐÉæ÷¨®¾¡õÐïú-¾ÀK_€-CÛé Ô!7@ïÖGi¯†öãáÐOšÑp”QÓ3ÂNZQj ÕBž¡ý /vz¥½ ›Ü¾ƒy2i³ªÒ‚R”®Ïo±Ö»ø—¿¬èçã[½âTG^rW –Ö*wÅô┎HojH79K–x‘ #žM.zÀïÁHì6oûÝ*¶æ­ ~펃ˆ|;ô1ägèóëa†4 ~ /fß…Å$Æ›O¾ ¥¤ye‰àúÝ&Ù4ÚÐNéØ RæQüq5&[Þ)ã%9)Ö þóX^•µ~‚dˆ÷*T¯Óª\äð,,-¹Ã<Á“I§<‚Ü><îû ÄîðWM¡N/¶2Yé žU`{¢oÚÒÅ7Ïf‚3DÏj04™Gîý­`e›aKØÃŒPÁª¾Î å!ƒ#˜°#9æe Ê?Œ£d˜_"ƒÙi›~‰“_ñ€tøãÍÕß®üÍjêzéj³@ÈsÍÀFÀÝ7; ÇÙòý!¥HmíK•˜£á*]4x„wp˜ÀÈæå *ÉÌO©X+!ˆÏèólnÂù,ן5xcÆæ[o Ìô2Ⱦ̀3;š8¿’`³xhÅ.³ºá®šÎWŠO%›ðÑ&~ð|f–íü}–ÊÂÞ²ãgY)­8²—áï,=‹å˜c˜¯ÌRñ=+k6hæRšè⛈xjÚêOgµ³ÍYþìåÝs4u3ÔûÓ±6Ø%G6gúÓ3ŸÝk4ž‘U#ÆoÏà”Ô¾)™‡ô7*g¾gžé–ê-~”Ç'Áñ`Ź+)}šgTD¸€g8žE·FëÙŒˆEbsäÜ©/Iá™Äô ¿àélWx¸h•ÉKÓl¹?Öô’ °`~I½$ÏåÓÃZâÓ—âÊZeášCk&VNÄô&F°L >à²×EÚèÕøLÊÇ=ö·þí«.F·LFDÿ§/þþäˇíîù¼7_À³ ü8x°Ô’ŽØ •26Þß²"T((½8Ö±ë tv1qñüq¿{½ÝT šùxmB‰÷}¬òš‘\Ÿ–öÚÆŒ‚ uèË~y»¼áß®þ 嫌endstream endobj 222 0 obj << /Filter /FlateDecode /Length 5825 >> stream xœ½\Í7vrœì%—Áj†/© ÔµÅoÒ†Y Rœµ ¯= shkF£²»§µ]-kô¿ç÷É*’ÅêîYeVO‹äûþàý—UײU‡ÿ…_﮺ÕýÕ_®}» ÿ¼Þ­þpsõûoZ×9¶ºyså_a+ÎmË-[eZ'ÔêfwõªùÃÝõºk;e™Õ¶9û‡küSÖ¹fs½B´ãÍËÃÿ$ü 夵Ís$Û®ÓÍ‹k‹˜n}6ïmòî¡}ÍaÜ™æ­_À Ù|½Ðé ñåÿ¾ù Oè”<îDk˜on¯q}óóÕZJ¶Z ÕZ­ñÛWÍšCZî\³?àª0åÍñmòà¿çð§nR.dŽáO'à+ ÌO%u³yH¦º-÷l2‘¸®Õ¬ãaÏoúÇ»[ÜwIl†«Îúa‘¿© ãn=²y–|ýXÈÿ¬XNÝo³¿^gª1´×UR\ËRö‡Ýûí¦FŒ1uŠEb6)‹Ï°‹³–Yg/bãq…ãæÒ!k&®ƒ ™5›Ãýûd»Œú‡k°³jŽøÅ6Íþÿì„ÈÙ³Ý C•?kÁCfµf¢UÒq¢á³À¨Ïjt(¥‹t€qKZÕ|x»¤—‡L-7õ½HÝJeî@—ë|4-ÓÝÈÇlÇw¸ _Ëæ”²À(¥Zçñ›>+ÐÚŸÂÛV7?/‘fòÞå^¶’xÏ•†‰Ô…¼g¼kWàÏ^|ýgOt•ëZµÆéQ?ÑÀ< ý §ÙuôGôâä"E ­sñìw~¥U³_Ü–·7û8Ö…é€z…ùKM„®5\;E˜YKuh¿gÂggãÞ½æô·íuhè„“k79_¤Ÿ1ï´×Ê™#†ï;Ã4ƒ¤5™·!z™4M0 ]hÇ!pZD<·A· 'E/¿ÜR¶àãTš-TÕÉšVÕi³ë·«±×µ_œÖ&ÅQ›ˆ&îRá`Ü÷T@Æ~܇1°;ô0è=¬ôL×” •Æáé×(°‘1õ”&ƒ\. DÍýæý0ôÀ¯š@*ÎbþöÜÈçÔ­uaÈOýÃ~×o¶Ës=a²wû~öõ}AíB Á *“q®—›Ý®ê ¹”Š/$·k!ù²Û%õ;fÊtØõi…•GoœÍƼUTËçñ¸J'ͧFˆ°]H7/L\ž]gO„êh)±úŸ’/RKÊ< sªÌ‘(­âRg“V^¯Óhå# | +YwÖgÒä!!¡Ër¡í6Ž0a´#ûIk»jnÒ¡‡õèÍ›áî¸Yk1iÉ…¼Ÿ¤2\47e†ÑÁŸæ}㢕2ú¦_7‡ýãùÝgZ¶‰l¯œ;Ú!¨^º½!S½Ûðª2ä³ðs—ׄu[ Ž{×?ÔxbkÎÞ¯è“éN´Z™"™S`¯XgR` V5oBCVR?$·…hVÖäêwBæÃ)pæAq“ µàB¨Î0^KÖ×W7ÿòªù K&È›Q,ûÔJ øÀNÚ¯×:ˆÿ›CYwÀ ‘ï±Ú" Âj¸Ý;¿TüçÜHlù<[ømØ+$Ð¥Lý¦ùf=ä y¶RðþЇô¾,_õ¨­`úÑùCýøÍ÷÷ÛÝÍ×Õ ²k¥æî„0*²|ÛWè-ÏØ¶Ì©tÀs¨pñ^Ì$‘"Mð6Àx«:]Øm#$L£_ñj³ËTÁ—5(ø*ó IœÚ'3hÞZÎ\Þæšzu´ÈBg²WŒVúËuUŸÔ⊋ÙY§ïAÑ6Ûa–¦iÕŸ*ÑòQkNäzÀ=7õy—,‚c¹œ„‹‹‚Oùñ™è3k~aôa¾`Ì¢O•ëRí²bà6!™œ-æœâo™¾ Èɰ—<ó¤8ìd“ÎíEÏ8u_Q5‡oîãxer­ÙPrèòêü l‚Î wZLVÝ ½/çêßÁÌ"W¹þþíÄÎY§¼ùæë0EYÿ Ç~· %1nWúú‘Ø'›Ýæ¶² Í R„’cö´“bGLµ|옵̲ZlPøayTð (& H6U¬å<ôW8ëìÔ!9†…:Vwvë$ ý}j4Ë!d w*ÊÀ|ƒeØm¶ÛY÷…òf·÷Û*½œ•l#‡ È䈇ÉÃù^ ñ’Â$½úT˜Þ¦d2$FÁ¶Ú³‰«‹f×?Î3ZBN”yŠÔT´·çÛc–”n»?ƶ™½)C®ª"x|~–}”Q$6bbW³<=•­–±àû¡æÚkWãAIÚÕ{F §90éx$óõÒmÜ5£¬Ó÷Ä*U³96:óÚmsÜ„×a…!ÏNÃÒýû ×]¦lk­¤}[%MàîÇ ±ÿi®%QcÁb¹]%ï/ðÃZÐà¤é7+M‘ Y9D"²íSTrj ‡‹¢j#sx„Y¬Oì+z>µ¢¹µT)£w¦ÏJÌBMYOâýûïâ;,ö0ƒ&²þ„ÌŽ}åJ*5,ìÂ0vF° '=ìÉÁ9.šC Ñ÷ŸRqÔ&©Z()b"ðÇ¥E­f¨ûíû¤ç°Kמû²]Ö, #a\ìZ¼€¬¸D+æÞÏwá ¡x‘µö±pR®R…IЉ5…ñïØ¨0‹%¾íZ=¶yG…yÓ?.éŒ~9öq­ó¸WàèÖ Øà·×Õƒoú¸ ?TVòØHnÊîÈ©ÐÖ¶fTv"™líõ­±'«˜¯_AÍðK’XÉâ,_EáBx_D…°rØl#j áËò<^UÚH1’õÇMˆS Žù'ñ~“zåm\”‹S$Î…“A²†åüjÁ8ƒI ¹2¡e0&ËIÎ ÊyÒ¬¨ °c”ú2Z•@{¯ÍÅ“ñ0aJ“26*ZÞH«¨:©ÎÜÉNƒ µÓÖ ¤ÙVÞ¸Aíð`.bótq2„ c¡ Â<â\Ú¢ÒKç[˜YËhç§¡\ŽÕQ½ÒiÞxœÂõöL{œÐPîüÁ/ ±â9{šZ;ÉÕ+œfN®gK[MÓ½1SÛ2‚‚cÚG´ i"¤}HŒuÌèfC:Þ‘±„0V¤T­Š;"üŵÅÜÎJü1®F§ŠRíY"Éqìÿ¼¿Fì.ubfPü Íù!pŠI®dïóã冼Žñ¥wÇ%Ëcfl¡PD;«]Ѳ¥$$Y†à=ìwá- P¡§ Ù„jGw4³ê :Ôz zßüë?ÐRƒÝÔ¯€ZND¨BÈ„)Kósµ:,Ë‹fBH¼¥.[2´míqåÿEº`EÑÌÎà“eÑ”µH£”,6?j¾ïßÍßUÆÇø6o8üT1PøTÒ¤c­*§ óu¿€©8Õµ„yðô@dV€vŒN3ú…öN3ëkÇbñ»ør8fýÙ8ö,Ó3ßX½†“áÒ‹Ž“‚Ÿp_£éŸ%Î1OÞzбñðÓ4ù¾tó£zÏU Þ'ÄdébýÝå0ˆ‘³þîHΚ㎓‚(#¾¬ðów3ðÇHK'²cÍyƒazÙ7“$™ Kfx‡0 Ô÷x6g¼ÏÎÎu"¢A §s¡¡²YG|8Hc_tÛýþÐÇÛ"6óy‡¬¯QÛo!úÄ86n¡Ò†çá‰yÿ± —Ët½Î9pÙ0å–élãQ-¦Sþ¨6MË܃ž˜ A´NVad¹|¤E2^ôG ÞÎo›ÄQz·À壪v‘c}‡Ï¯×FJ’wyã —Á>gš#gÀÇq/ÕsÐ<ðޗ>ÙzôÌËM–Çž5<4Å ÷Å„CAèŽÂÒšÉÖš&´ú43«(î%ʦMÝi–Ó2ý-4pìö²bª*‰ž&.¬•‡ÉcoÂá¿Ã"wì`³Ê½6~^ÊþLç1Êî¶Èâ*ùUnG À;—bæÅŠš}ÚC@¢®¾`ÛêeòEªTºJƒlqCá$|õy„O:Ë™ºNg{ yý:õ.)`³ÒZ3ãIõ7µÎ°é £üL‰k°L;¶µÃÝr!Æž«Þ£Æû¢Óõùç@é …á’î^…ºH›I~õ«œ™NöÆ+vq7W…dTk¬.ª÷4œ>fz‰…Hç¯IžÔÒB‰bÃ|¸3„{+Ž~ÂLÅìËÂsZäà_éØÿ»æÑN­ý$ÍÃÉg5Oý~™æINÉÖ Å£ÍKï—dç‘§›ðµ›ä¾{ÈËHL§¼ dĨLÅäœ#$ùÐËÅ};CüÅTÂö`Eywf›©`h,™"îm=–Œ“œü‚<”WO¸°N¯pwkŒ7Sè˜Â#ØÊðÀ©^Ty?ª§›þ<ã)ªüwO†0;;Q!t4d §Ô?pI4þȃ¸6q‹E$ÈâeV=’ åÝ úuªEÝ¥Žª OÁ[ ¹AØ–Ód‰Aнð­ËWZrˆ:ŠÐÅõ7æé<\ÍðÕ‹¨'ÄcgªPä]h:hVca˜Ü† ßêj¿> stream xœ•XX×ÚžeÙ±1.Eâ,(X°€å‰%×ÄÁFD±^¢.ˆi Ò,4—²û±(HQš4‘²ˆ Œ-A¢Æ{5‰úçO4&¹æš'!z¯~‡ÿ¹ÿ Æ$ÞöØgwvfΙï}¿÷}Ï*K F¡P [á½:*Â?rÚô) £ÂåCã$G…ô’…4Z dSOA· ¬•`myò¥‘_Ùà{#0n.Î(ŠõÛ"EíHŒ Ùå4ÝÃcÆ”)ôuŽS@¢Ó©NËü·†EÅÇ„…:ùG:-›ê=Õé¨xz0ÔiBT¤SÀ¶ÿ𠧨 §5Û68­õ]¼Ú×Ékõʵ>¾§þzQÏ>1 3qAä¨E;¢=c¼vÅ.÷OX±Õ;p[OpÈêаµá½/M6}ÆÌ¹ÃŒaV2cÆ…YÅø2ã™5Ìf-³Žqc60 ™Ì"f ó:3•YÌx2^Ì4f ³”™Á,cV0/3ÞÌÌ—L3Œ±axf$£aƒ7Z3Æ’Ic+¶):-¼,.+Ý”–Ó-o©\TzÕ;ê-êûl ûsã 7¨ÌÊÎ*ÁêÖà3ÖnÖ7†LòùÐCó‡ýaØíá[‡g ¿_ê²=±„ý.à-b±È;d~¨`D 5ÿ-™·_¥cß˃@-ùÈSÇV™>ãtô¯ÁCYþ&2Ÿw^=Yóš@j{ }\íeùqß6c•¨@W†_áKÊîXôÖÀw³o!ùèR{ü.œãÌúœÌzçêžôv9ë¤ jœsçþ÷Z2¿Ð,\D d"VáRõOó6j“;š¡s +ø6úÑ,%ÌfíÐXLOaÒ›¥QfEZcZ+¥ZŒÒ £ûC2Ìš9–Ø»SpÎúú!Úĺ@3G4ÄpÐÝsðvy³PyêL™—¡yGiÔÑ`X~òÃLNa’E ‹Ç˜8Œ”Ý®ìNÅMizöÞÔTH1 id2ѬŸË`F™ïû!-aø¡øæ¹KWo?*8·‡ø×“×MiùP\˜ªµÉVAN¬0‘ïù%Õ Àì'S‰+ "8‘>¸=‘Å¡h¥¥ ’u"ºš%NŒj¶yLQÌEk;~¸ôÆhP˜zŸ8úlˆÛ*\`ù.²à‚½‡^€à¶&ötôŸ€ÃÑO¿ÀqZbmK\mX®ÓUž 0åGž?ÙYÒêøÁbOË«¸š"*Ézüø'äìx'é5‰Õt¬?î÷‡POÿ}”;J5ƒÌþ-wnÓyëàTÓ™gâ2–Ÿ`ÎÃ8HØ—¢ß ‰\€ywM¹´M  ^š"ÏR'ÿ)ÐíqF;:ÑR—|4‘˜ªê½OyòÀY§®3¡NúìEâ€uÙïmY¨mÇzõÂý[& k°ǪqÔ,T 2wq´IÈN:$ÃU9UÚ¯ØrÈÛ›n€´½BfVŠ>#+ª$(7¸âÄv mÈÐÖf˜ÓÀ©´SÑàϽêqV”tE éGÙ»‹ƒ¬]Z²  /Î3AÉQáXù™w  .âˆ"t ÕVîš/3ÎO”lDJ7<†Î€öv¼Ô}wkD6Æàa@|Lö:tve!¢¶FÇ'…§úÃj˜pÄûfà™˜?ZÃO¥é|!ÿø¿ÿg ¼öYqg›¶)ìrLpEPP¢EKËÙÞ×o¬ˆ¾ñ6?¢Â¿‡´Ûñ]’×tú¯g—FD†¯„kU6¡‹H\Ðן5Nð›0!‹ÛNõãiP;ßÝõÉ­Ó—n ”Üéæ2½tÏ)ÔY¡Xo=´j%K–7Ï_¸µ}móóægÖ\x{üžåëžÿ6•-òiõ-¸# ÙsÕC¥Y J]”ScÑ^)ÙÙŠÄRêBK‘ 6Œ:ÆC°‰Ó¡eo±Ô±Í¦GÐNÇ#h6 @Iœä&*ºë$WZþHCC$õ]Åæ¿Eß!3U;†&,¶¨.‹êƒìŠÐ6gÿÁ¤i9é1‘™lÿYE,—ÏÚeð¢g…DÐ;]aqJÄúJp(¤(:úË쟒üXù£C%ääæ•QAí±Ï+ÍÉ{èê,Æ|I‰½£Vm¶©£Å KwFj©ÔT¤Á>aE6”@‡á샅ïg_b•1Ë¿1±¶¾®¢¥\_¶»P0çWC9p×Û¶ÍÑneÉt2c Qz ãÓ·ÚOÕò‚@÷7¡C]q*µd=ÒL™•öÇóÙ¿"ÓðÃA¹sWuÊÛ#*¤›¶âb–ÌCrèPx8ÿÐà ²î†HÐA”ÉAÇ–Wdè!#Í`ÐΜ8‡¨Ú.C¬¥gpºYô «©`OÞ§×ÏzÍ·¦:ŠÇq½SBÜÁ<SÞ!í#T¡’8ªüuêjÓ5*3õÐIÏáúè$qÛ͸¶ƒÊÊJéÔ¯”£§|CF üx3! ŒÃóìóbù·v¶´¼´¼ähǺ‹)§¨> Oî¡+ÕÇl l†Õ1Aá~o¦†ßWÉÉBérþÄ…²vG„_*QõÌÙ¨€)»9¬Òø«õž{ha—çDyç ª‰¯!ˆ"iAúï]v¨”E;Ê®YÑBÌ ­”R-uQ ¤î1“3}ÂŽ%îÀ*“Ï\ÉF;´Ë»bÈ£Á`Ôfe%í…hοiwMEËásw ›»–x.¦Ç’—¾sÇñ8­¹< •å¤1?/pü9é1§§ÀVt–ºžˆ$”ƒ4H‹#úÞöD/H£Š£¢JWyM ±FãÎÌDC¼1¸]:u•éûlå³>[ÙÅîÄäD0fC%']Ìf±¦÷éÁ”ÜÔRp(…Ü‚ƒ…XßmaŸ-?°ºÖôšèx µí%+ ™,r re"/“¾z¦Ë‹ÏE6³±å[ês¡¦^{Ó9­»ïáUôK—]‰ qúÉ'á¤3OJµîè !ijS[vkEsyã‰JžB>%ÓFÙÖ´ Ƙ¨z|9¥4Wú?M[pûëD¹p‚ëÝ-ÒóíAµHÿÄ>þ°Ä\h2r…½©i»!ŽÛÚ˜x¬²¹ø4ZÉôyvq vö‘‘Çsè¬ì^'¥j™ü%™#ôNî'µÓ§ÐLÇS¨£·wÆb|•ÅW¾ýò'-q¶] ³ˆ»@´Ø‰Z5ºÃ¯¼E65âô·qwcT“MÃÝÕOpá“Ü»v<ÇHí’‹¦:±Ñ_—'ð6Lu@`þG"¬yuqxA@{¨vwBbUQ]UPÅŽÿ!%&Ý{×êQ>,Á8÷Þ;·ÿ²ª.ºHð«^3 ¶@F¶./¹…*Õ¡ìâÂÃçw^‚b¹?/~úQGdsr¶®¤ú@©)+ƒFç$.îH±cGÊ+²ÍM³ ÀÈ_lé»_çq|=B??¨EÎÞw_œÿMlörb’Íq"ž4c³hÓ‡Ù t®Eg;¾¼ûhJ÷ç$%õIF!ccx\,ýµýÒ;õ·cFÇfó'ð÷hÌ=â-ôªtOÔ|ˆ /[G[M†÷ïðžÄÁì)hL®ÜYJ÷KèèåøŽ w•Ž?}sDK¥©š5Æ™ä Âf¬ÆY9s|ä,8{ ê:¾Bª„{lÇ×`£­è-MbùËäU¹Wž 7èæ8\•ÙËÛo”þ®i mض=0 )¼¥­ÑÜúÌC:p¸ˆKåô£“ÅÛŽ/”>¡°â!%{_NfNÊò †Û£ÍE…ù7dwÙiˆ‡ Ø ¾°K6ä¢ê¬ý™é™ÔaÈ22N%éXÞø[løù¦*º*G¾¢n à3Š-)*>\Y†Cˆ‡=??o?dÁ(>%5žúhßÕÊW¤tÀhïLW@ƒš$õ‹½4欲ûZ·M» ó ŠŽy} ªbkÁÕYu™ÙFˆåzG°dì¸UÄŠ,ÊÄQï Òì'r¦p¢Ý NÔ8Ú–ÓXBß7¡÷=º°¤‘,Tfg;Pf:š]&;?TÉezªh¥Nb+ef·–¥9üwTü˜BP 0­¾ÃZóöç¶…[úÿíøë=®ý xXŽ{Ó+l°çK¯âå0 Ö{Çùq}ûÄÓÿÁ>ñ:*î\xÿdeì¼¾¿#þÅ ÏçÂoѶo•îh‹ Ú.×é“òë„X“òÏ"âHFΈ5Ì¿‰ü`†Ì“z4'ÇEE„ÕG5¬«?!`šíïŽõ«C¨»p­]ÅÏå]R*e¿ò”¦ÒT‘¡âWd—G,)V§ ›!¾^OMŠ?<¨6¦I௛Wµ\Üüî8¢&“CÉí¸_ÿ9Àh¥zp1[“k Ñ’Û¿‡³ 袸‡.JLøDÓ¶½!0p{x@€9¼µÕÜз·šÞG–ñj¼÷¡J)ÅÓ5&ˆD‡ÝÒl¶ÎäS­( Í‰{8²½Ù†ú틃èÜŠô•E’"¢—ÞŠþޏ×þ¥öÏïÁgÜíEï-±œã3wcëžcu'ÊÏV¥6½™'´·]‡\àîƒgDD榰íÎІm†dc¼1ÓžzÈävçÂQá¼-a¬ßfp&LÜÒœ&?­˜_Üõ\[d]€ÀëçûGFú»?Z‹ÃpÎg}¤ý¹¼Ô•åxä ž ¥Tk+º¡ºKt“°5ÆщØ›,®Þ•*ž¤˜+dq~H¥¹ Ê9ˆîºÞÔP#àǪg¸¢Ç3l%î÷à’NË>Ðâ=âÖ·nâ°1Ï8ÚGÓꔇçxº2埕O`jÊÏT}eERøZ­ÿéU@S Q·ÃÛÀÿ–ϽÁÝŽšˆ´½qtGw(¡<…s'¡Øû·›>/m4$Ö C“‹$Ÿ|Ür´ H-Z¡b°`e¹&ÊzP]NvNN¶)ûP^ámkk†ùñ.+endstream endobj 224 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 7873 >> stream xœ­ywXçÚ÷¬ ;cWÆÕEÌ,–Ø5ö5vEAì‚€éUD–²°ìÍ.Mz]XŠ"Ø{ìÆD1–ˆ c^cILÌ3øð½ç{fQcN<9ç{ßïZ.þ˜Ýyîö+÷J(³v”D"±X¼ÄÖÏÇÉwô¨¶®î!ÞNâÕ‚•DèÓNøHê‚õ¯Õ-ߘC')t2«í3ø{ á³îÈÐ-ïFI%’U³ýüÃ7»{[5jìˆäÿdkç0ëY#­:¹xù…ym¶vòÝd½pä’‘ÖKýBÉÅÍÖƒý|­]=œ¼Ý¬ýܬW¸®¶¶·ûÜÖÎzž­ý2»!#ÿr®w(ŠZ:Ów–ßšÙþs>œ4/x~È‚- C¶:/sY²mÓRW·eî¶›í¦l©”5ˆZA ¦ì©!ÔJj(µŠF­¦fQk¨ÙÔj-5‡I­£>§>¡æR£¨yÔhj>µ€K-¤ÆQ‹¨ñÔbjµ„šH-¥&Q¨{ÔʇêLùR](?ª+Õ² )–êAÉ©#TO*”êE)(Kª7eEÑTÅP›©ö’’Ž” )eF…Q¯$±’Gí¼Ú=”úH›Ì–˜5Ÿ`Þ(s•½¦mègÌ2¦´}ÏöI¦vøºcf'e'UçžC»tëâÙEèÚõA· ÝŠ»[Zt°Hd°å=œzœ—Ï?칡gN¯Ž½*¶+nZõžÚû[+ÖªÔêÕe«_úxõiìsá£Y]çFr{•1Ö”5X¿ì»­Ÿ¼ßÒþÃú_Ð{@îáã†)¨ºKK ðh /l•´8õäÃhˆHSUcïsE|vbZ8„ƒF]ZŸ(ÂV»l·×2Þô/zDkÌyzM ±LŸ”‘¤S@½ÌÈŽãI :5$XúØ?çM×ê¯Àn`p´CŽCdÈ Ý4ïòvÃôð‚9¯2X v—‘ëå^l¥PÕ“§WA hw2ÈŽ†ûÀ{×Fä{-‡Y°~£ßæ7š½ŒûªÌ½é+éqk•¸˜vPÁ|òd®Gfâæ«`¿-¦ÙÊ_¯~qñB¦½-‡#Þ»K|ö){òltÉ€êy ¤lB§ŸÎzÑ‹ÝߢD‹äð`òu,ÍzZxù"|Ë<øäîɵ¶ó.•ÝЩܕ­¥´{¢ê3.È[è#cƒ‘壿ÿRânè®|ÑÚ‰XÊá‘VV­K;È¡n2öÆÓš +•¥¸I>gÕäî.[Ÿ˜V­DehÍš=o9_ÙEШŒÂ(ƒ¤¢ íl’ ^ÈSŽz z…;ãîC±wÇò_‡¡ö¨óÏÏËMJ—ƒ;؇8†88ú®àXì pœƒZ¨‡¥ûÊ,Þû`oHÙÆ²°\S[$¼ݽ/mÙÒb-çiïD­?`Z¯ð¦ò¶†ªÔ‘ j%žŒ‹ñt(.tbYlLÞÏñ´»flÜ“Ü[@ 骼䆟(𪷩ÕꯒÇ×ÃU¨Õ0|0ý™&£^‰ìid¾ª;w&¹ ,IÖ¯N¢Bø–¼ä‹—‚ÿNiË!Ï€´H¨£µ\,îo=K€YŠWïBGÑ1´j×9$i…)u É&ôÅJMçCš*!¢b¹53ÝjW–ØÇcñFì‚&àÑh)šø )£lë4¼’Gà ‚%a´xuå5õb» È[ŽØ¡Ï±Ù4'ÇPîÍ>ÅÄÞºš¦vT¶z¼ë3=2ÿ£·¦Ò;è”ðFûï€A}†äÊI=qçÏ'Îtq-jðç"Š! ŠD³=ŽV®&’ û4£µF4̨7J[¬Q¦Æé l†ªÔÙ `YV„Á°Dã.I>:Koú$«³½ÑŒ©ºøl wîHÎ@½ÐMÅŽ’ü½—’ÄGJR!@föÈ,Ä lá-Ù"dö3–5‚«‰B±\ãcÁ•´n-ý "=”­ëéOÖØ­äØ~j˜î§vÀ±¬eµ~E~JvNÈæG% 3¯Ú4ÿríÊõL.)°ì.FXF7äÀ® I >——´Ì”¶Ø™B !¡†ÀH1ÔZ­! |A ‰ñ‘£ðÅ`T•¥¹º¼ŠH¤ý5>àÛhä%fD¦¨3}Ò¶ŽÇñŠá¨(>‹<1ùí½$+# ªÓG K“å…,ð}¬˜]jJÎϨVñ ®KV‰—,³A/f©=ú^Qp„Ï®!Y"ÂŰGy,ªn —Ë×ÈðD ¡Íò/íèåj•gÂþ­§¡êÝë6Õ¯É[Ìä¹ëøm+«((*ËŠ¯Þ¤,¯9œYÌáS›Æ(ÝèÕšÏ5‹}fl\Ž «šò4ðÂ¥{rì,—är§ƒVÅçr¾WâOÊÙ¤á³7;¬u®9r²± MNåÚzxo‘%$õb5B6inv™=„é‚+qo4S±s÷îÃ¥e|mCîÁ$†§}´à+u‘IDÙ²Öʼné‘á½!<:2^½dšbÚÏ1¢ Jµ„ÜÜEI ›M’Gi¶Àú$1ÓW I{Ðæ9–+ÖÛ@âzÛuË—%nòMe:>© žhäù3BôqÙ¹½ÁPY}î›ï)ÒUÙá¤11Ûýµ «!4DéË¡^»3Ñòí žkDg È­‘0Ú‚&¤#šåàÍ2ä9–MÛ¸>,œCWè6ÉbšÖÖtíùÜàÆ5ß‚å[m’$·D_‡-Þ®žöÀ°nà^TGdŠ äLC!$eæÕq2½öCm@©k™³Þœ‰r4'© Ƽa9TKJü¥pËÄåª#ˆ:C**cGµéô.ÈyÂUó2v°Æ}8[m‚ioð‹½öϦ@öF¡8 î‚Apä- ïþ×çµyÛˆ+ˆÖ&ÆG ÄZ–"CBFb2iæ²:(ü§?DÊñ@C[%ŠÀe!+üæ.KöF<”(à“Ó Ç”mÍ  ‰ôqht?r¡áÔ©Rͦ—]8š”'JUÉᑪיTÓªÇRa,ê(ψ u"ç;ra”0+ÇîEãÑÄ;Çw\к×(5jˆd B+ÊŠòw~=½þ3ÜýLán¸ÇóÁˆA½«P§ Ò§Òü[˜´®@¹(ú{éké¨O“hã°_ëYöNÅ4$K<íºÐÐþ°~€¨dÚëQ{Q§€ƒåJ¡6‰FêÿÓ.%2…ô¯e&èÓ“3‘¶¥³"©õªì-EÔé¿6I÷¯ N[1r0 =ˆÚK…‘ ©t î°Å3Dt!^è´#Ó„#Ù±Æák2on”¥þRX‡ÚÒ—ÉpUkç$B¼eD)j’ýA>_ðè$éj‘Hj /õb]…Ò·ô#üJ³yï54ö¦}k7–Ù‹î7Ë1ûl0’]Ü¿«Ê¨\@† ÉÍ UÛ¶~CÈF+ÒÜeA»4§ êtg+÷ó»«O@ 4nç2·‘S…½g‰úT“+K·Az{ n/BâKXï¯lNãWB^L–6i+É÷gÞ•²\(ÒæjK4IZØÊ´þ‹¼çÓ)ñIÚdµ0¼õ©bGT’6 ˜H+T ‡ér8ø’{×`>Åh–ÉùÅ\zÓa±ºø˜Dul"ç1`4DÃpÙ\çs.A-ƒªd=?·JæŽùdùßû·¡D‚wÙ¤…ÊÈRŽ£e©hÈ]ã.`^f`«M¢øj– )k™d•—ãKi‹+z,Gñ0â“âyx‡‰`‰G¡¹h!†Æ"n@Žà&~2 ÷~ˆrPøuÓÔÞ!ôóŽÆÝM7H٥Ǥ¨¥¥«¼Î­zåçVöå0=Õû¾ñ7"û:’ñ¸=b臇íÓçB\.• Lp^hyenQ)÷ÎRì.Cx‹š—p_ÿÙ½ìÅþÞb&¨åÏ?ÄqøÕ_]Ó¿G1h:!êûÊ=י̱ë‰9TÒf9šeh,ô]+ºrì\‚lOï/É+APUbÆ^'_v½K«„0a°,—W†=êÞpR½Óêfþ %ÆÊçMÁƒ9Â;Y2(,ƒ>CW EÀ‰ülÛHx7"É+‹{¿O!ÈfD@’· !¥^)Hiö¶sôå5A6ûøÛék &q—Ö’U¬~–——ùlõ ô/ ع«¨ÂȵՆ¨Ïy4?Ç£)’/.~u-¾(ÐR9¼XpgbîÁ+–än:A,ß•çn¢O x’C*—¤uæχ6˜\SœVÇyØúT:7Œ!Ð&8¶ï¤ã³nú+3ŽF]ÙV·3®Â­8 Ã<™9kfOôžrx%·ü„梶V› š·Öo½Éú¥%é2Ó8}rõq~óE÷fÂío?Cí”mPA>ï¡dJŒË㣿/ ©y‚ÜÖȇ‹)¹±ClkÚ!fü¢ø`Èàr“‹r œ) +òó Xõ…ß©ëç/þÀ±=Zú™}(ED<“ü/Ý‚Vò’Z#JoFéFiËLaµ|«hÆ‘l+!4•ƒÆçV£aPe‘Xœ*fH§l†ˆ~œ‹·¬Aÿ  ¯—Ð@úÄ…î9»D>&ÅÎ)HÎÔ•qA>žë™ƒÇ3o§ˆ„âÔ¼ºtýR=‰®IH'…wƒp=ŽY4O¡Õŧ½•|õlFú…£ºbQxúj"ÁÜa‰.Bž…Ú DBhDTlî‹»(„`š­ùð\Iô¨Ý»¹zI_›”àAKŒvKËbùZÖI[|ßí,ËDAxL[@TP¬F¨Æ‹Z·(° Sç˜L_å)0šÖ–sÉ™1+Þþ¥¨]ÑöÖ׊´­)šlÈ]JJ î)rêÊ+¿MŸt¦ý?m¤Mx¸åÄßà6׈33Þ[Pÿ.¨ ÿCÀ4“ž¥´[„g| _Ë[¼êÅ®~­6eÊ'Ñ[뤶$ô¯´EžÄ«5±$SC[xœ©MNL%¦qçi(3ejž˜©.âíì¤SP Yî†ÏXÙ:TZ=0úÞ|ü:$Çg¹¡õ­- }Œ>:r@—–œ& ) 4¥5µí¢eÛU†„ì„»§öfÔ›TvÜC ‡my½=T‚ÂOKQ#ÒËᦠu^ÌmP×ñ_F£NHPk ±0Lùlð)<0yöt7ByݰEdsFœšñèkĞᎢvYH wÿºë@ô±¨®O¿êGŠ:ÆŸWõ3þÕΣ%.=ê©¿Ùz°æ*¿¿çüÎÚèà"Î9QíáŒgYdaIIÞÎ3+gŽÄWc ‡e‘R=’þ17Ðú@Z¤³—ü ;L¸ƒglAö¯$hAŠ“äƒ\<ÂüòýkssR329ÝT¿¥ŽëÕj­˜¸”„”¬[·ý§°øSXî$¨§ïõß´»:´I :K¯g L?,±ë¯üwÇuÿÓ{æžÂ 9ö“ÑíÇï|˱›v@9TÄÄ$„GC„¥oÏW‹–l‰=…lNK2QUCv,§I!"½AH5@ºÜКB¿ÜW’û¯¤hÅqyeP©¯oP¯oiPeeii¥Ø}!†…AR߄қ¤ÂFtM·ão{|»á§ÉyN`³œGzÍŸŸÂŒäÑ Ó÷N¹zNÀwÅûžT]N¹ ·˜IYrÂóT‹¶·õq€M°Ìö“ê,<†3p.¥Ÿ(D¯ï0B5\ +œaÓa±¸."I­ã/’a÷ÿV*LìÉ{Ñ£5™uJá4] º`nÉ¢±à%®MŠÈ÷+cZs ØDæ¼D1ÿö×ÓFðõvSä¯Ã¥¯ÃÅÈÿ;‚4GÄ9*‡ZÕ~ׯ­Åá‹ö|Swø\b95jД™#Ãtë¹Ì¨º@ã¶å¾ãí`0Ó÷—ù¿!ó'M¿ssÐ/r°Ý´ÎÆw»­Ø°3aä3ç¾l¼zíâªÙ\q«\>sƪÉãgŸo:]uñÞAuV±õ ,µ4£öñÝ’ FxŒFw‹ù/~„º‘ü¿8NuGŽ ˜þzÌŠµa9g‡`'˜Áàî‡ ³s §K8/Göß°|›½n—?·/½2ŸÊ ÷‰Ù4ÿ„ó=$G]ˆ0÷R~òX>ióбÛKÀûBXÐוÙ]C¼Nõæ|†e¨,¯äÅz¿%ä÷†G„.%|Óì¯äÒ†N«Q®ê0oãÊÈ\â(>rDô‰³_GÊp ¼iÎ’™+ú:¥Î®Ãê°!Àì-ÇÝYüüÞ™½ÕuÜe›3á‡à;¸pJwŸt‰fê"O°‡UG½v8¾çë·ê/×4'1­íÐ29{W ¦Œ ð¿­9 {—úÕ®ªskû¹CÅÃU¸ŠBÅèRDi߈‚gØq±³äðê„åÇ›ûÎ~}öWƒ?³v‡»Oó¾ù–úÙEǽégúLbA 4–ÂIÉng5œô»Ècé˜X.FóÙŒã}¢whQÇè=dú3X¾ÐÓ5&X—Æeê 3 ”1„ç„nÛèRç~ú~ó5döÆr ãÚ¤Ïâÿ ˆ¸Ä½Bö¡’oÚi…`'/ÛVî­VsÚDQÑ1˜“\•öÍ…óÊ,q¼ôLZ|r¼jÒtÜÁ¦ÔaoMAy™ˆLÿ“ýÉ<'æà.Ž“­Û–»# /´Ð@³v£Y¨+êžýæ{ôêèÑó0»Œ[ÛEa)qhÓ2qç“Øü,îza0©Éú4qÛ5ïÙ#u” =Ñ­pIÚ´t•×zì²[æèšÏùÖÙ¥ø33«0õoÅÛ¿YvÒ<¾ Ý|èàþ/;qT¥<\*®ÔIå1šHˆ(Óx32§ŸÞiüòpÅVàÞ3ªˆ}\m˜*ù“¶ìOvoÒô‹mÜ–&Áý·r{¬­Ëö0.¸Æ©h 0#p{¢½ÿÅì Ëñþ+ù¦Ä˜ …¬ð‚x÷å/ýâAý™Òšx¿r®KˆA˜|3S 2¾ÃåŽ\³~Ú’tbǦétús:QÔÿ•ݸ´endstream endobj 225 0 obj << /Filter /FlateDecode /Length 246 >> stream xœ]‘1’à E{NÁ ll"\dh’&ÅîììîŠ`†8EnIN¶Øâküøh>’»Ãéx*yÕÝW[â®:å27¼-÷QŸñ’‹2ƒžs\_$5^CUÝá#ÔßGEM0mü®Ø}“‘#³5ÅeÆ[ [(Tû¾÷û”¼Â2ÿ³ŒÝ:Îéuu4^Ô÷T /"G/"­ZÆîÁ‹qò"‰ÐRˆ• ËA@Ÿ ‚” ’ œ ” ’ œëÈqâ:v9N\'.½ÈÉ«¨òÌïáx|^ä{o:Þ[òʶe›¼Ä\ðï‡Ô¥r—&©'…H{,endstream endobj 226 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1886 >> stream xœU”yPwÇ{€énG˜fAì£âðÀh\MÀÉz r(ê@…E.#:8ð`Ðä<”qÂÑÄ[×xT•5ZnÖ"jÖ¸îf“-ëµû³ÊmÜÝT¥~U¿ªßûã½ïû|ßï)(7J¡PŒX¾"Ò¸Ý:czàBã¶ÄÁÐi´Bòw“ƸƒùÍ7JðtO³þÌy5š¼qý\êE¹+k7§.2¦åd$oMÊÒÍœ>=80P¾çêâst ƒtK )FSfJ²Îš¨[´"Ha4ÉÁdÝ$cª.~s’aÛq‹.zs¬.&*,2J¹2fUÔä ßjúõEQ”jAFf–!>aÆÌàYÍþ˜¢> ¢¨h*†ZH-¢SjŠ£|( 5’ÒR¾Ô¹Cʃʢî+²×Ý¢Üî¸ê^ä¡ôpx¼SÖÓÁt/žV½sßœFˆ¢ô¹IñæÎHq C*Þ(ÍÇ à ð5¾={sHéÛŒ²äY÷„»SOã› ®ÀY«¯ÈÀL¨ÊŸÃáJl¤¯“å‡zÚi{ ]ÐO¡ÝÊ’‡¸WC²i¤±U©z§xT;Xþ²ú5R€ª\Ti¹IR„䡹Ó²6,aÝò,• ×O~·G©gnØ!Q 7–èTÛœp ráY¸ˆ¹{ U?Aö©ñm¦––¶Æ^N­†²´¥8¤Ñmjç=,¸§å²¥`Ôi ËÔžt2±%åÀ'U[ìK+Ado¼€úÎÔèý|i^iQ#°Í°¿IxÌÔCEξbÈNäÓ«’$»Ñ&4¤5|!t$9-w9,òa: vŒMïï*à‹ª‹`°™`Ɉ‚ɆÂ:{iä9ëñÚÞ” о­ È"/|LY:ðˆQ&õ/HëE*j¹W’½4õ±LxJ¦q5Üjâ±Ev†`”ž)™¸~Ò$+»Uæò9Aë¾ßqïÛž«ý¼Jºbqlqå) t¨OàLDZËé¥sÍš¦|Èç#J¡ šXLaž-¾M&GÕ¾à¸öì­m_žÊ®µ–ñ'´•öA»!DHf[‰½È–3OE¯œo‹_å¹Ðm°ñ_|Ýpš² wzê´üŒØ„ön¤pfõ9›Ìß-ÿ)eqH>\=è/ èƒ^è£åÒ¤W˜©AßÀÉ„…ëRM™<ö2$ìWƒß¾™šúÚºšz–»½çàW1ÏFãä_ž£ Ÿ‘ ‡èôÄÔøæƒÄK»°XΜhïk¹ ,ª€ ÄúÎ_Æ*èP;Ñл½g ·–{!eàMõ.ØSRœ_ħ/ß ,'ö^‰šöZ«µJà¢sr‹wúýŸÎa¬æ¹F¾€0„%¾?~ˆA8û²vA%ÝQ²ˆ·L ,ÀaîRáH‘è¤~æ(J7ÃÞBþÓÈñ°X“¾®Ë¥¬gßVAÏtÛ^ÃWòy ÝVv0zãUëÕW‘?€¼ Çë×rµR5fhô´ÕT¸l×^³%reÕiÑu¡«ç4Ëýé'·Ä—~ÈŒûK†®˜±ª/¯¹­ãè¹ †š¼r¾¥ÙYév 7·w<9Î7¾¦™˜99òü£G»ÚxÒqv'lðU™+¥Uøyã¡JZŠô0~¨G´ÑsÈi›­´´¬¼Ôn?sÝÓ“¢þ¸Ú¯endstream endobj 227 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2351 >> stream xœ}VkTSW½×$÷ŠP¹„GÑ›XµtjµZìK§«ZDfaQQ[#^Á!$ ˆá!„|I@ÞTD$’øêU»œÖŠÎØ—Ó±3SÛÅŒ¶£ŽµÖéÌwõ°Æ¹‘ZÛÕÎü¹?ÎY÷|gïo{š’¡hš}-a©q]ša¾n]ÎÌӖ겊òÒ |;Oˆ‘´8~Œ8Adùݨ;‰ A€üàxÿž`쇦 \ý(%£éy%1Æü’‚œ¬l“æÙ3¢§M“¾/iÒK4¯N×ħ­Õ-…úMš!C?=aºf‘Ñ"-æhž44éºì´¼L1S³L·R“œ»4I·tqrbÒ¯¦ÿâÝ~²HQ”jžÁ˜_Ph*2§¯MÈÐå$å­›0‹¢§S‰Ô*‰ZF%S˩ԫÔëÔ|j:K- â©YTµˆ2P**Tb‚’S&êSz}rÌ„1§dœÌ"ûD¾R~Añ’b˜ÉfþÀNbÿ¨d•M~ãýôØxoÌ?])ˆ9úNF¨ð; ZjwØ ,Ê‘­?AËî/Ø<JôÿöÏ8UMBB‰fÅò7Róöí/汃åBz»t‹|Û»©ïÑ}C>"Ï»ÁGä0RÃÆ%Š“E¹êÝÄ=«V§þ¦ˆ·ÅpûÈìŸq8¿—z!ÌÂ8éä‹ÛPqŠ7Òû,ûöõuyyé|ûzj‹ÛúnöÑýn]h» ÃT«àL^禮Üþ¬†ôFmsr3œPžýرãrýB³“w”:k:A¹êw©?“ð6•TZ¬Ueü†fc£”1ÑßèYߺYݧ¬|«Â[yv3$(SJSb Âûøš7í®bP“šÐl1Tt48¡µƒ¯¯{³©Þå5†mEAƒ_ôQPGmñâ$ V ˜d þ­ð¥ÆýÿŠªw´ÉlòÆlC œßÁcŽÈXLÒ²öŒ„y¢F™År½¿#= ¡.™ÏºïÃ!~´¯[Üë÷Úw 4×'P6¡ }£:ÉD]=ï*­—ftÔ qá}/¬°Û‹L|~~FÿêíK ‚Œ‹&òĮԞ\µw•»òrÑ®jOùÖÚEÛ_‡tå–¸ÙóIÀ>ÔTñö¨/zà‹ñ÷}±ÉáØ¹‹ß»÷½Ô«<¡üý`@¼âëöuôƒØ-EëH–ûèG 9¹àû¼¼'›—ü ’¥$ûÞñF]ï‹;~ËóWe¬Èç‹/Ïqé!V¦+}}óÿeôÏÇýÏ­‡ïƒÛ¾,Ô¹i)×ðe¤d>©ú0TÚ—ÕØ j¡Âµ¾±Ê$Á±kˆBµDû¹=Š ƒî׸/?XQ$‹ *s“ípt°×½÷¸d%;¤8n¨-Þ(=j*as¹½¬ÞwôF¥ôˆ.A âëøT*¼‚ô§Â+âKl·½Á¸±JËy24¯Ðb5¡ŸÒ².iþàœôêY* …¬ap QZ[ÄÄ&Léjna|üÞ_¾Ìà×ïªs8ë mçÛ(ê¿K÷Æendstream endobj 228 0 obj << /Filter /FlateDecode /Length 163 >> stream xœ]O1ƒ0 Üó ÿ ©R+!º0´ªÚ~ 8Ê€…0ô÷%:t¸“컓ϲë¯=»ò=¾(ul"Í~‰H0ÐèXT5‡iŸ 㤃ÝM‡÷'¬²Û|×Ég}¾”Uµ…КƒFŠšGRmcm+ˆÍŸ´»;Ou[ ÔÊÙ(9šK7—‰SiZšäŽé÷Lð!§`…ø3VS6endstream endobj 229 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 306 >> stream xœcd`ab`ddôñ NÌ+64Ð JM/ÍI, ªüfü!ÃôC–¹»ûÇß^¬Ý<ÌÝ<,뿯ú$øÝŸÿ»3#cxz¾s~AeQfzF‰‚‘±®.´THªTpÒSðJLÎÎ//ÎÎTHÌKQðÒóÕSðË/ f*häç)$¥f$æ¤)ä§)„¤F(„»+¸ù‡kê¡; Æg``` b`0f`bdd ù¾†ï?SëU†eß/žø>ã0ãë‡ßoÝaþñWìwÔ÷[ŸVž»Ô}GòÝoÆG¿•å~·þõzøýâw#¶ï¿/²–ÿ˜ êâð›Kî·Ê÷ßUؾsœ p‘ç+]ø#`Î÷ð…³²àºÉ-ÇÅ’ÏùyVôöÑTù}yÀendstream endobj 230 0 obj << /Filter /FlateDecode /Length 439 >> stream xœ]“½nã0„{=…ÞÀú!wcÀØ&iR\$÷²D*" ŠSÜÛgfœ¤¸b¼Ü$÷ër­Ïûe|-×z^Öi/—Ï},õ¹¼-kÕvõ´Œ×o§u|¶êpÿgØþþÛJ‚2ßüÓð^/ÝÑô©½m/Sù؆±ìÃúVªSÓÄiž£*ëôß_)ÝvœçïÒÖBêš6Euêøj¬°cH°#íìD[B‚-°=¦RMƒ¶ ¶¥íB‚íhSH°œÛç`3-"ôŠÑ3FB›¤V‰­Ú$µJl•ú`{Z´Ij•Ø*¡MR«¤VCH°í9$Ø3-à’3h²ˆ2‰2ffÍÍœ›13knæÜ š,¢L"C^SfcfC¡©ØXl(4›Š‘×”Ù˜Ù×”Ù˜Ù<$X§½ öŽöì‘Çe:2ã‘hLDF"Ãq™ŽÌxd6‡‹ërr°ºx¼V¯“×ß…àDpÄw!8ñ]NG|‚Áß…àDpÄw!8ñ]Xyk®'/0ŸÂÏͯÇÏ}/ëUïEïÏ`YËï“Ú.wÕPõå‰Ý> stream xœ­X xSeº>!6A–@ƒÎ9ˆˆ À°‰ ¢l•MhYj) Ý7Ú¦éž6ÍÖl'ù²§Iº·éJÓ½”Ò²D , Ȉ £îÎ83WGÿÔÃŒ÷O)êøè\îÜûð”çišä|ÿ÷¾ßû½ïÏ!Ap8œñ/oÞ––%\0¨”¤ÿ‹3}p|ŽðýŽ›ÁF}_=c¸0æöG=>]¤ãPð×à K­Iåe$%$fM[8þ¢¹sñÿ˦EçM[=oÚÆ¨˜ä´ÜÌä¤iQÂØiçmž7mKZ.~1iÚ¬4á´è¸Ä¨”øiiñÓvÄ휺=hÛöi붇†lŸ=ï—eýø;AsV W§­e¼”™•³17j“8/fsl\|HBⶤí;RRçÌ7Áä…‹ŸY2“ ¦ÁÄãD1ƒØJÌ$¶O;ˆPâ"ŒxšØI¬&æáÄ.b-1"^"Ö ˆõÄb±‘XL %À‹vy}{r9g⮯à«@Æ8êõTä Ïà1˜% €N­Q°Þy?0òÅH]¢^a0䌱ÐU·ß õ”š™& ­ÅPéRÊHkŒ &ðB‘Õ]T~MDbž‹}. 7S©ƒXîsÇ3tRmÐδisCÍ®EZ>ÇC[Ð\ßÂ¥„Âã›ëáø&žªàú>@ó*PË@_ £T"Ñì­@æJKêœõŽZºêD7zN“ïïðìZ¶;X,£ÔG“š"!r³$©âÙ\³Ò Öb£Ñc¥*®TõYB…„ë$ôJö„^cÐ#P8 ªÜåöJ;u-¶zlÕV ø8Ë÷—Ôö^{ÈC¦½9›#ØÑÒZ–ÄBјpäóV4ÛJáÂû?ò7ö êòr§~Ä\†ÒøðÁú¾5EhlÃÛ·à]òjÈ–C±xn‡*½ Ï€^'¥ÙGîP%iTëpçý,‚2}ÀCÓÑH4ò:Ýæ/yá –G±¼sÈ\Ôn‡ y7ëRè­ìÛü§–?ÎŽ Ø‡y)`¶ÛÌN£¾‚ZÐJÞç¶gÒé±?p~xt¸µhÄä¾ÂõÙ—ÿeÈåÅìÃ,ŸÎΜq~óèaÄÇO}’ êâCdöŒä`áŽ{wï½z¬q›OÒGšº€<Ú‚¿wÄ3‘íœëå §ns®à-FXH08• E!õòªÈË[ËÂAÀF³Él6+g—~7Q( qо#ø]ZT ½“]ÁŽß´ÈgBÓÏÕ¡7ÐúÒgŸõ½ ä·íO/N×&Cûu™åêî±ØW¼hÎ]Ö¿ÉõÙQÿ»à£Á»"’„”üô^wÆ}BuÍòîìU¥¨˜Xƒ “VmÕÚ0Ýéfheð;m˜în%Hw‚Íi³×[Êèv4Óž_Ýáà ÑhšM³ãØõ|yFdÐN ·*?t˜f“ƒ>Œ¶:ZÏ] ½ÎmÉQ"v´p“¿ C#yÖ{Ë‹žõrÎ ¾È\ƒ€ï’ƒ‡.«ÚÊR‰ÙE@²c†îeÔp›wÉ.© *! z#w‚Íe6UXè×?Ô pËA'&GC‰×гŸò9Þ28ZìF?ƒÆóQ—ºV¤—1™´Ak(†”»ÀRb´T˜¨d®×@î$ðò•'³CÕiP¨t4;õNË/YëËäUÑh/ý¥Mf\‰Qª÷ÎôÉõRŒÑì›\ŸÔ7Žß¿Ñµï¥„ðl ¥8[¹ï?Ú&û~‡‰ºˆJæ^Ä¿+4B•4QÁ$ƒ–”‰ë+¼%]þ5žö7ú°õùÛ¼ˆ;æKçÿ숻ïãˆ.08h†tfz,rc>‚„VòVƒ£Ø&K)}Y>à],*åë$¸`½Ú î+¦m¥•ò£c1ZÁ*ð£,30yZ*o­$3ïrßCgï;OÊK™Œ˜É¢ ’€Ÿ€Á-þóë7мKÇðHÏ;…&¼Îõý-àÃíÑEi¶ôµÕ—n4t(c]T²N%%©°å×–×»{ú¢»6°£¢Ÿ{ᢴQCRö*!”L-Ÿ‘½Õz\B·Â! C¥¬8'+-ï–Ó o¡§:ÑØ>ÿ³_Ri…åbΟå"ß°LËÁ§¢òvǬܤêÊìPfo¤ßFÇ>ä•»†{µœ×fYJÀ„PoUf(s°¸Ç²‹–ðòïéo {À ÓI@*o‰éÿÛña¥ ôÞӱߔžâúNß{¶Á­¡¤ÛÅ/'™ %wŸ}u›l¸×fKUš›ªªôÔj¶W›úB™@œ&Lroá¡––Oê.ÑŽjk T’Çöy#ç%²³4wyh*±Po×§t¹˜ôL¥HK§¥¯‚0rñiáÉ­MMµTEh¦: º®Ô[Ñé>ë§¾/r¸Øù%§Ð¨¹>¥o ¿MîfedeÉìj›šªM7'ã}’¶‡µ°#CÇZN7ßn¸JYËl¥÷YJÊ’Ü`ØCο <ƒžïCÿ¨§Æú<Ùž‹_ù¤^Î_sG .âi̪} $Q{aŸÚ¯pC½vóÊÁzã0@èü;‰%ïÄŠWn ÚÑX§ê6L`²ÓÓZWŸ[œÃ„À ëNÆ\øâ³kŸzh4Ê—bo´;zAPŠaöëZqú=œ Ÿúp­ù˜;¸ù71ÉÓó£³Ã’£_2\Ò}°ÈXë:DDÏÛ<Î`O¨að¶±buš!ÓB‘²ô• x»ødýÛÞ÷){¥õ~ÛÎ> é ‚$GR}fsZ/SÍÐVÜt¼4þ€è œ…ƒÝMo5]êBóàùóÕùÕ%®Ïóïùv ÕýŒÚÉê$­÷$—%cýæ²²sØ™Kú‚®µª>z€víêÈiûWưëÄ|Uòæçv¹Gu¦é˜ª8H× ôëÆ&¤., j½7˜KÜÂz6Èñ‹Y'w0¼’‡«J0Êír/;ý5½ŒæÖT^zý ›Àat¡œ´ë¬êœ ²¨Dˆ3ãº52+Š VºÄàÖ‚òò $2öïl_àutÕÑìpœAuT¸Ô&u\4±t D›cï~ðß{,•Ýfè¢@7ƒý‚û½b5änG‘ÍÑl­ ÛÐ DcÃ6Û @õ<9Î Ã’§°ëíí]fè š°ËÜeÖeqÉ/zeï¡KΉ›è^$?¡!ÑR¢gÂc£€Ì¹ûk]=ŽVºý®¤¿áµÃ 0C”Ic”‡›|o-ßêîØ·K¬¤²Ïîrdùd(;%kˆ9`,³Ò ·ú»¹¿2+&S¾«0žÎš/Ù˜³< dB~I“£¨JÉú›,##g_ìÁ¬¾#-MåTÕ¶£Šz ¿>ަVù ÿÄL°Q´ÒÏ¢ 9X¹¦Lü³oÃÿÊGm¦_êÓaµ0&8ÿWaêóÖSqì²Uá@î–vZÁh²i¯ÕÝedµÄ•GM´Êc5Ûú“^ûæÓ¯ÿRGiê¼Þ{×*F}Èõ%~÷ª\*Á TQ«æ.ÔåšÑ{úDÃßëÐíµõbéÕ—F‡k 7Xâ’Ô4Ôz:Fvlºç/gÙðšôÁ_K±ŠsÞaò¾ñýóÜÁ8… ScM¡G|?£Ž(ù4;‰— (òØÏïœ Üî;­÷è1 VðkŽzÒ·t{œ|¯^ Rò mŒ½©Õ ^läÚ†Œf£[m”ÓÛLúz(3Ø,eHàk 4òî|mÊu)ŠÁj·¹|£9øeö±;çAðLÒNº¼ã.Án´QüA"°b4ÿ¶b”Újiô¸ïÒ°YóK4£4j–JnP@,P8¡äˆI­d)`+(+ðŠ¢ð¡ïKKÖçðU)[–ÿš–8 ÆP‘æ”8… Æ Ókî.+$ò åyÞe¤íüuä7*ÞêêtöÚè.^¼i>Ry½.‚ì‹ïÚ4}|&´àÈ’/ïb‰üÇØe°Êáõ ¥_cGH¨%ù;µÐ럊Ê>±Í}¯ÚÃɸ‰Îá¡Þ98‘ß]=;ƒœ¤¦rØüçâf”Òçx«ïŒ’oVFkrª$YX(AlV”6YKj¡Šôä9%¹‰{{r:¾éFñívê bÞç•;‡‰´‚׌–8:\'ÚAà€j}±$U+Í„\2»BYVWWÕFýhË;ëÑyè&ã@'ô5óo®Šp'î#Âý;ùóÛÄzÐïyhzä¿Ð(zQr fÇE$Ɔ‹ƒ1xx—PÃpԻŻr<}“4ý2²Éã›îNÌ­_æ#Žo£¥¯ËÐÊ‘g©„:Jº_Ô‰¿äv$;‹}lÉáu׎÷t»ÝtγòpMNZ’ fO Þõ2H‘«Êá®Æë¡¸°2=/EÓ‘wóïï¼ñN%%AaxmYªÇu¤ ª>L×<Ô‹t¶èYÍH~Éù‡¢{óýG÷õ‰‰©)ÔPï}Ž;ëÎmƒÞ ÀoUTV—»ÌTZ5œÛ‹Ú¦ŠæªæžóWþÇÜþ^:‘íÁ@Ÿð ~ï_â´~2ebù`Âg|»Þ&“´r†Êßžšœd*ÓÐ\o®5×Óæë!¨†S‰wV éí—nÃÈë/^fÇSlùop#`bb’ Óã‘Ùá¿ ¡»~‹QY"xû%k¤L¡t;­Ø£“‚˜œØ½j ùüͦoÔ_<4ºy¡¡©Âð¬u@ÎäáOÙ›&»I`75C%¾‚¹Ã£6зßN@“N~mÊÄwÑÍEH(z#¤’ê‹[Š;è èEç~>ˆàµ¸ºø¹IìlíOK§¨¥þó¡¥£ÍÊTÕb:uiü,iœ© ¶6ºÿ‹ô”…š8­Á—ȯ.ð¤&'§$g—åìonö6Sw/z²½ƒó9h÷%‰Ü† ù°_Ýޜᕛç4Š­)EZSRi~3t“ï¿ûñ‡_4®[•nPë²)ƒ4à§+€~s÷¾Aà¿oÐ ŠBjïöØ7×s±JŽc9øgd˜ç•Ó"ÚÆx4¥º£ÒÀþSžç’º²!œ¿âÉ…+W¶Scm0»ð.p‚F®÷·$ŒÃÙÁÎDcÕÙìF“ÓA¹ÜõÍÎâŽÐ ý@âÙ墩hÂð=x}¬—ƒÖ Žæ–ùRùMhÑV\›?÷Pwœ¼\¼À4y!ìº@­ ûl n0[,`6S&“Ñè¬?Œk¬F| [y5 S«õ…ØìáÚZ˜X¨\„µånBrƒõø 3§ûá$s|(‡V¹”P@ð$bb ͬµ@ ^k˜Khª¯-ÐO ‡Ñaj€r ¿©‘nÆæ_BëCeÈüÀšÌfŒ ñƒseóŽv-Ã$Ñj@ËPêŒü qTþ£õÅŽ¿ƒ76 ¯´Çé¬j¨+¦ÊÛJ.€ÛlÃ6{pèòoð>/ÿnn­Ú‘J©.‡Uî…`ص/éÕÿ׋À£`rWï?Ösú2}°³@¤ê élñÿæC¿­BC‹pe ý–ƒ—‹²ó[¤õÉ1‰ÂäeuU™Ëb¥ ^ß´'FŽ]èHƬ¶W qè!4Úÿqg |Šs Ù¸x¬wóM6›,äíØ0L;=èdzVì¿q@…vð*13ÍnòîãaèÑ.Ê8Ï÷HªÓ’÷¥îK¯È¯oõ¶4 _³e{ñÖu]<Çõ‰ÐR~÷çh!ü‘< E“Yþšå{X^0µk^$»’)ÀÒhê_t£'.ROoàgï ßdrdÕ{ï_CGÚ®Ò×NzZìnOÝ´*ˆmœ3ìž°1—Ëñ=ƒׯâÉ ß(3f›5FLi›©Èhñ“.ð.ëH‡Æ¢Ñ rê…Aj!£õ3/ŸÄ3b)=jk;L±Þª’UÊ PÝXzzÍÐC‚>æ–ßâ¡ÌÊýç9ðG?›û}5ªäûgŠúâ(A1d>¯Ô ®áJ³¯Ø=ÈíA]ø3˚М ßâúÜèÙ3 ÞÄѱë×CÄ:$–GlQ ( P¯7»õ‡nošwûÓs€ø$¹âä vÖ2vïÆ\[dïõƒhLgEa›L£Å“:£ž²É-2“ÂøÇ¶È•ÖÆ‹×PÛ}X´”}bñ³³B¨½¢¨Ì¨° gk‡¹î6™ð^t4V´ã¹uùõyÞlœgÐÈ>´úÞØU9h·ÊëûS.ço5×',á[5˜9:Ð)©v|;f-K>ÏNZ¤cÔLr>HH]æ°•º.ªÈQd?PmŠ3Yñìl?ê9åZge±«ÆFu ™6ƒl h¼X\v…FDÞBÛ<ˆzÇ‹yóÂU®O‹*ø×#ÞYüjt¾0žêC/›]&#V(ÀŠèd*Õ5ú*܆}PjטFgÐké½¹{U±±Na™Æ¬3éð±õFñ"ûz 1(ý]ÅžÀn2ÛíÔñ³¯á`Ú]•ºC8='†Žx.$;ëÍ–*ßÍœÿ±„W’•d…iB’W÷l¸…&á]ñšócÙØÅ}yã@¹ˆÌ¸j ªá}Ël‰ˆÄrVóIí}g¼]'Ž €ZtÎr·6Z-uäÕ·V4v‹ß¼lÁ¶'ÖÐKØ1Ùì""EÀÎõï#4MGOQìDv5?}OTäv Cäçö_ïCb$(ñ@f9]$/ÊÅÞïÕDöÑÜX,#þéÅŽ´ï)=ßyþø©gšðÚÕtÖ‹64O™¸V1˜.ðálö±Ä¾?]ö¢Ø/Vç;%9éù©b·Âc ¿±;uWêú(\ID£¨meMmM¾£ '_š§¦&öŸ`0rŽ©pº£æ³×†:# Š\¾³¥Ï?ц:ÕøqM7ef¼ÂÃ@öêíëyRåÙûhó×gÐÒÏ¡ åW“Û`øü1ó@Å@üÉ—¦=ÆNe'È@\”F›´˜1Àh׬Èù=Ä“:-CÞ·‘ô¯{ûK~‚(.>5·ªAI9‹;÷YV®Ê Çf{|k\(ÓTæáy<5šzðicFyÌØZà]åÛ˜1ñßM•9Zendstream endobj 232 0 obj << /Filter /FlateDecode /Length 3413 >> stream xœ­ZËv·Ýså,”½˜U&GÓj¼ïô¢bÊ–IÚZH^´ÈÙñ<䞦iæCó5Y䀞†3Ô$öÉqÔƒ.…ª[·ªÐüuTW|TÓÿÒ¿ó£ztuô룣ôÏÅ|ôìüèÉ©ö©|íùèüãQœÂGB¸J8>²ÚV^êÑùüè{6OêªÖŽ;ãXß·‹1ý”–מ5㉔²ª¹`¯ºÿd/¢öÊ9ö˜„TU׆=pú¶X÷2›Ûµc „·ì:nà¥b'Å„v• ­'ÿ|þ-Ž'M~<áee¹ÇÏ/˜Ðãó½xö]­ÈmB p*aqáõZÞU•öÜÂßâ?ZöÕ·ÀVkhÌ”r¦]ÌŽÎvHmFdØ–¤„ˆo7R›‘LÊÐ<_k3²‘‚G|%r©ÍH&å%¯D¾ãfd#µ}¢üŒ©ÿýŠWFÊH#õxb¤wX“‰?´Sp¯g*ý•SÌä?\ø¡ @ȯñ‹‚;¸w¶V+`•¬žF àU9}s_J€u3’K™”QçRÃH!% ¹T)¤´€­ ©4RH%]3©LûC,NÖžÙ9 ŽÉ8¯¤QÑäöÚiÁd|V‚ÉÓ¸²Lg2f—…÷ã*®s æ{!GÑá}{±\MGË£_oÚÅrÖ.¦)ÈÓ™(±HK*TÒ'}w3ÿ0íhR7 ¥”b¿…ª¼u–M»ñDÕ¬oýèb9[.Ú銄WÍl¾\Lg³fsÄÿÿ?Ã^rEûid¶s„|_s _óCG+ŠbÁuØ€÷ž¶66’Èa# úTãÁµµ8pd  #¹¬”9päìè,„Â%¹òƹÑÏðüåÆl´Ï-f»¢Í4ý[»CG’Õ´ƒÃ:td0[\h6²6÷t‡¬ÙAgá9‹ðÞžeu4(`¦4¦B„"í¸½ºÉ‹2T_R‘É=ó_#ÊŒ 8f¯SUæ%*3ÖäÅáŠf@ÊÉa\9þ¿LãXé"ŸN#s ôp†—¡ÉR@(AÐñ1"|BŠ@è õU{)"¤ ̸7"¢¸8$ÂîÈS4$â)øîÀ¹B8Ðù@¨?‚n@]!¿<“É Øà9<wVØcyÝkØSƒLÕ¯’Jˆ¬œ,ï£Ú'Ò{µ7áÏâ'Ü/QEÈ´'íÞ5þ@”È=QBo9Z¶ˆÔgír>EîF쀬æ•>|ã’„Ö»VáÀ²Òr øœÛGç€_W–,ïKàK¡Cª}CÚ&àÈ b@…‚i¡lôúf²nÜI×ûEý) všÜŠ¡ ‹Ó—ó4äý2ÿ²ðEÑ~PÝli(îf³Wiº‹Tž‘"þ$*OëéÝP:á•-Nz¹¹`XÌ*#L]íF)u.NЇ¸<ØA“«,µõtkîœb—í]ÍíäñZVÜêƒáÌÝ^8+?¨ ÈîýøqŠhxX í}$ÐÃ%tsR“Û-Zß´³Ù¼(Ã)Y;O]{é5Ö¾TpÒKµ!÷k§¶˜§'Qýb˜¥CÈ8«'KœâØ»¸,bùamƒ3¨ pž,¯‚ŸÒ®Ê±Ób¡«®¬ÃS•+Ê0 '@(WøäM18sÓ5óòk_·ÞhßÇÄ‹Êäj@#ßGĺ2|ðù·Ë›nA‰SÒ§Gô\¡Q ¸¤[•i|A ÅÓ±¦SpdÐ)i§9 m̓‘׸/†ˆ˜GDÎ[­–q Àü¢MäÎφˆMîƶSPõ{¦j-CÐ ¯ɺXÛñJ8½ÅÚk\5.ïb™K°|þ8•¼iòffëénƒ-_¦g-¡™¨k‘:ʹ/^??ùñ,Cðù×›ýòîq™ßÆõ±ÜFçt€UK `MSË¡ïÝÜ kÐ#ñɳ¦¼O¹Ž ØóYÙ@oÝžö8Æ59/èSrÆÞ];/{¼x`¨´y€ŽŸs††ÄËáí;áéº[°…;‹ËÓ¶DelŒ]â—”ã2ñ±]–­ægjÌÚçcJ6tš›ˆ¸^„à!G¨A¢µÂiÈÉfúiý¸ìú(å×;É{`z“züu¸[?Â+¿åjº~¾Å¤É ëcD’–„kr<®9 'Æõ¶‚ý˜›¬ýmÛ[=ôý¬&9‰í9™Ÿ"œFÓxV„òÓ*vËÀûñôdóU¬®tø Ðíÿækwþñˆ¬y%Ç«tÍþë¾ÿôõ“'···Õ N©n›Õ5zBœ¶š^Þ<éšý„4|µèCóîš#ÉØbÏŠ–CÙjéEÉ£Ãͺ&€@rx6€EêI’埙D¡pQ™ä]$Ît…r6Æãvëžèjçì¸xÑöá&§Ûßd>ÚÊìÃ*Ýâ…Þó³&- :¤hˆÖ{‹Ñ­¾hÐǰ۶¿¦Hôá£ÀO![9t$Mw·e…ýôù7,ÇM äãö÷{ס³ËùïËBè"tàÎ Ð0¡°Ý€‚eÁM5¸ièÝNwepK_pü𽆥ÂfÆ ×ªß,ÒŽá¢6> stream xœÕXMsܸ½ÏÉ98§TjN[`Jä߀O+Y²Ë[’Ë+OâJ­r ¥‘Dk>´$e{ó{ó3¶jÓ €`†#+µ§”â@è~ïu7~™––øþ_.'åôfòË„º·Óðïr9=šM¾?ç Þ¶´t:»žø)tjèTK]X.§³å„0•Í>Á`i“Á¥)¬€ñ³«ÉÏäð>+‹RrMKKü³´Â²¨/³j”!UW¯WÑÐ6Ë9g…µ‚¬¯ñ™ƒQJþ ‰‡×ÝÜ*• Ëúk÷}læñJmHÃ阛­)-nÎoHq²\g97.ÈU´N2gÑfÿšý¸ãÊ<¸'ç²0Jy'&3ëö2CóÌjr + xV”¼ÂG[”¥"„•¥¸È ØS)à(Š<{µF,CäëYýõE–‹’áIƒÃÉëd­U‘äCS-pìÕ(XÚÀ*¸LS-“a_2f`¡Éº¹ ¤ä:rʺñvJªÉ«z'fî“–älˆ™ßLӃ؜¡¿Ã2ùÛO€õ«x™«p)ÈiÕù9Š)Å4œÍjfI×OVäå¢j}ì lF(;Í)/¤°Ìë<ñó€ÿ3FŠT¤^„j΋Œrô§$ Ð2††Q…ìióãú¡Ya8òMHÜ!'ï;`KÛ$Ü #…$ï××Ý—ªÉ$…o¡ù(©Àˆ†õÈ'2Oˆ¬ ¥TÉÂJÃ˜Ô Ï(Æ\ƒ „q'³ÉO“Ò§œ6ûuFÛ1áŠ\O5PE2'5Wëú „Hsýý§¶->—”ui6‹ýÏj&Kp¸¤ñ2nï¹`Ò}ÈœŽŽžõr¥ó´ • 8ºÛ¢ê#.j½ÔhòÎA[N¼$?8F“ã`ÙKôëh0ŽºÀÏÈ0/…Ë<­ ¥SÒðˆ„œr/©!WóE"¼£p)%,3¨:PêÏÄd¨Ç~Ïœ|¨ 7íý v¨é™bÈûX2vX$¿‰ß_ÆDö¾ÉI2'Œßì?2ƒNel BoLf-©>Æ1L ëS”]C>¼Å€Rà°•ä¼¾™³9¯›£Éѱ¶ÆúH²½‘T°KÍz'jзB:‹‡w¦%¹¿WÏÊ_…Ñ ØƒV´ý;ò¥înñ‡py?o) ÎdoKQ†¹Ó2œräXg}#·2ÉU"ùi–džvK™ öl“䌛D¿v^ê|™ÊôNÔ}8›EusÐ×ämòíKÿÞ’³!¯y´;翉·yôvCØ2Ïrç}Î7:Í–lû™$V”~ ÀRcñb®6 †{Ñp[v)¼ì³aɈ!ؼû™H³òS-+o΂q«ÀøöŸy»´XzEÃe89;ÅgëvA¨µNïs!ý~ŸÆõDµøµ­Ûþ46”[>oä°ê¶ ü Á~F[r\uÕŸûµ1Âòw±Ôm›à-ÉëÆ<9¯G††š„ÉGj’h#e°÷|³™„C¡s›PÃU Àæñj™©ÒO*ŽÚ:£¨ðc5oÛM‚ø®%ÉÉ¥JQ×K¬Ïý'«È˜Z0(BaÏß,&L_K¨½µ„äý‰_YOUC ÓÏ |âÚœË'ó T/åRY:HîrÀ?w©fxà8PRÇňÜ¢Zsòl@ç n¸å†œ®o|Ýæ h5€îѶÃ-,6e°²•Á¬Âùàpf &G€Ã|ý考ÏàÈCŸR8쬾|ˆ³«*ü·*~™@Ð-†ÕëEääà@Uoj=,ö·¬y ¢š¬Ð‘R98Y}®ýúÐNZ—óU·©ù·ðJ!V¦GÚSŠ_>†WU0ÍK¹Á+‹ðÊ Õò9äû¾4¡¢PüÉ@”Öqÿë¼u®p/͘rïG­›ƒ=Ô) ¥‹ØËH¼‚úÀ wq´Bœn} ñv„ë[ݳ`äíq¿Aëi¡-”¦®«£…·ÉÃy|Ò’í¿A }ž(ý8AüÅ“ûÄý½](\MjÑMLá4ùœòÀušTM] — 0è8qú½¿F§eGÞ½[ó¹OA·àrŸpõÖùV‚ü&¿!)\ôb œ[λ™0a`TÃOnÉž ܾë*ˆ>=þaŠ˜BÇf%vZ×ß’[5ÍA4¤´~ø×Eíî^Œ®¢ EASf§“Ùß@L¯t]R&V}ÃAÉëæ·ñ;#‡‚^ž¼Í7q˜@>ºmvù&.8‚Œ5}‡’Ô°C¾ÕK ¨Üªá–xZu·ûð±¬Ð&c u{ ã¾?ÔM.„IQÅ[íÚ‡_ø/õgu ))‘¶îþÓõÛV°ÒÈõQâNÙ;s#nIÛµHÎWíÃ?§q—L‹ªûwØ4A4 $ÔÆå¦66sq“`BwyèügO´¯îTƒ£O¢mä˪^¼pŸþØm…ø3Ðc+­ÜEÄÑ]¯›‡ùê‡óü¾Yš_vź¹ù7†N¹–÷K¼-ð½6Y{[6Óa$鵑ÓáÊÒ»4½²Ü‰Ç ÖWË:á×o¸”Ç\(ÒôHääp¤-Ü\J†ÛÙxvöd#¬Ýtr+›K V/Éd—C;·'QF;ÆÝ@}- % Š Ç»äïÛ4 yy ñÖÎnù' VzhNŸR-ÆÛ¿‹ÏµH/ÐûȰo(´vÑ…²ã}—ü,â%Rs•*B¸FÚŠLSý>ÃRBÃòÿGv¼³ÀÿHöW@¿+àÙmq:&Ýþðq}÷PT—EÕ dÿiò_JqÇQendstream endobj 234 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3320 >> stream xœµW pg–nÙV»cŒau̦BHÀÅ•°@`±c`°7Æ÷ò‰eãS²­ûI²$Ÿø”Œ|Éò ñ±!HBx¹ƒ—G÷Ÿ_tj&ÊŸ"}woOrÞúÔ´œŒ¤„ÄLÑÒÅ‹—-Z„ï+EÑ9¢ Ñ–¨˜£©ÙÇŽ&‰¢RbE[¶ˆ¶§fã‡I¢ù©)¢è¸Ä(I¼(5^´+n¯H¾1,\´),T¼#|AÀÿîoŸñL`JPjZFð±M™Ò¨ã[cbãâ“$ÉsÄ\"”xžØAì$‰—ˆ]Ä|BLì&‚ˆ}Ä"b±‘&6!Äfb ±ØNÜ"’‰é„?æ†ð y$¯×Mè6è¾Úý+3;¿ŸœK^ö¬ðü/*kŠ`Š~ê+Ó§ÝòÚæU:}—·»÷{3|Ó{¼hŸƒ=”ÍšmrðsÈP(´¨œœÇ8_¨©ÖYò ÔJEweâaúÞÈ|±N%>0"Rcrìƒ,»©™£±Boøù ­Ü"Pë•:5£J‡4À«{ŒÁ) ^EåNJ¢Uè3¾÷ÿ¸½b$ÀÁòr›/šq _~´•íÀ ö@”¶3(üÄm³#£›‘Õ¥4î„ GÆn«ÿ‹¾Æ=/WI>‹¢x?s˜³–DÈ!•‘FäŽq…€Ê˜v´•O·ýTÿÅÅ«þïƒA\˭ưðjŽKbŒÚP¯ÃußEsîJ~ ¾ëG»¯EoNÜ ¾Îñª~løüjõRtÛk¾âfûO¸‘* ÿ$y@®LX6qR¨LPË×uÌõœCÒ™ˆ¿ŒÕþ‘ FÈߨº‚sŠ{#âO‹e€¡Ã[Ñë†rCžSü)faŒÑ ¨ŸÍM_±"b ±1ût‘ôÆÆtLxjøBÛ0|ƒËŽs| §v<–Žó6ŒŽÝö£Eì:v¦ÀÔ‘Þ‰•r0Dـ܄t÷ÜßH…O—G”`Xþ•§±† WÃ`Ýg‘ôÂ@€Jsw3 ÖÞ»4ö)XÀF'•©ÒÕ©õù6¨‡–*s‡‹"ý—h†h‹fÁ˜vlùši»ÒŽDv?z>1Ä”#)bðI¥P´‰X>a}$Æ%–nãgÐ Ìiøº0GBZC!é0ùB0T›»°Z„·É?éhÁk”ìGõü ²`EÞ‘Wp>‘ô ëÞDfÓ¤œ¼Hô2Ô†+¸g]éÒ ¹ÍÐÀ>×ÀC‡Î~qÖ‰f ÊÏg´U¥uÄ•E—‰+·TW¼cîrž¾ È Š–¨%Tq%@µÞÔ`|¶î¾±No‘ãó-äËÔjy±Js¤5òó†ý!EáÊĪÔ&ikz‹òZMýyžl}ÉÞ¨˜5@­€´Kê[ºj]i‚N¡É‘rB¡&W§¨èõM ̬µ¡'j@gä —~Wõ{ŒÙÝgˆ:Pƒ}³ÊÀ Ä?X5æG?¯E*ÙÁÍÐÄÀkhd”~ù äŠø¢7„Ç9nVq*lNÜõ~  ç hê¯ðé5÷U Óœ¨Õ­ÆgûP–jÁ`‘û«A E2ŠîݘÞqa>0ÜvàvrK“¸(|!†[†Â\ó Üjî¿\.uÆTâ¯ÊÁPf¨iCABKo©ép®øšÛÑêlTâ@[³}Ñ\«´Øó°ÑÏÈGP~ =\¼KLÔ~k¨B!zžÄäž'ññšü•DóÕ©ðyˆkËâf|+ëæcèû¸òêdzÊmrÇYzÓ!9ãK‡<¬šAa)?Ç\FˆO÷p ~U} œ¿|Ǧ `V@éPÙŽæ"ºõË¢Ï@§É_Êdp/®É_Œsεö¾—¿Dèª7¶\ªýæ¬Í—NcUc‚ò‹_qxÑÎt%VÆ(Лœè ÐrÆÜ›Òs¤÷`íX kÊ7«’ër›¡¬¦fC8é]Õp†có—RÊø=ššMÉ̪¤¤=ŠÃ-_Uð}Æûþ£p¾¯eˆ¢×Åh£†ü­ðþ‰_Rܲa-_˜¿&)Â?$v•½UþöÅ›h•ÙEÇ W*âd¼‚o¾U¬~BÍêýh[íò3z‡r ÇÛæ¢@aÏ©Ás­Í=Ýý5CzœhéZ‰.’a¡PÝ€5jÍ…ÚñšÅ L,.ÊIFÎS­©žÄZ=—îÒªó»»ïG7Qà͘ïüh–Ý„¦ E bШ5ʈ€Y<ì†Õo6£W[ÑŠ±3ç¡ÞÓµá2¶!Z#OÖªÒk²[¡šêLí=ðaepïZ—%¹qDç“ÅÍúj>¢=#ÈËPñ„|/:ÐÛ6ïR0†|óCl/±röä¯R¾ÏþħkåØZk9“dvÇ5‹qžNÅehA'Èâè/ç#®Âpg{‡|³^GØ@ ÉÑi s)º8·_éG›sOeŸ¶\²œ6÷T]éhq¼é¼]ЗßQ– ZMõ˜šd+ ÂFë?ê>ÉJ‰AåbE©)Ù=o Á>HlÏ둞­5wS¨ƒ´ŒÖº{qw]ÑSÀñæaKÎäž{8ä W‘»±:ŒW„}Á×öNx2Î_ëÚvÉd7„–ÿ¡ÌæÛ9º}´qT6ºùr»ãGï"ؘñsĹ6¢Ý9Ïç<…¯“ôfŸéç$­"ÄÜÉ>ˆÖÿÇÝyEÐu>"œ)$½ø|¢j¾¾x¶#ÔÀ E¡:»P¡Î¬În6¨o,=éj<¸è&öÎ@Sm‚&Y“oÍÈ™ë×÷ŽDŒì¹Žø×ÓF`ÄöpcϱóÆ:eG,dC„r4EO!œñÑF©¬ .\KÑsåŠÃµqÖ¬üücG”‰*‰%®5{knL¤2 õ²ov!o4Çpõgæ.ÕðÁVŠÎ¶Ø Ûý3p£ÐKJó¦}iiSccgêiM|_\«¾aî)î‘6éì1Õ`û6ê(™Z!×Ê4¹•²Z¨«ÅØDq»9B NSÍÎ(’¥¥ÆàŒåË¡öÇÒ&ŠÖiL-æŽ{EUkkÜÜ—Ô™ÔÙ‰i‚bñê} àE.?ËÓ:Ëà@O¿šw™Äöé¯R›ZfRØ¿ôµ×~«¯]âPi¥#ßA÷ùôÝ'åþêDÝoô¶õ?áÆ˜§v¶<Á•Gš’œA¼Ÿ}OaE©ÿêGÛ`0›Ac²ô2ï²î|ún.Þó(S–ìg"8Û¯{º» SÛ©chßAö¾ ´%§9’ #U¡JkHo‡N°·–Ú©_6ç= ÛgÔîAe³£}Àþ7·íO ÍÃ×=PüwAÝäT0~á·Ù;§¿³¾2⟺~kBø9ÿ;sFž?ø"ÕÝ/ñ8ñ¯riÚs;!(=™Û”f¨¥êŒºÌl‰6;V4 žýÔwO aˆë¶ù¶N–ývT…ÏP¾îa=ž ŸÎa¹àF+O§Õ0Z ð¼2•l@üÚ{ß÷½ VDQmf´VžªÍS9YØMÐ\kj¯¸|àL 7koÇ;ΑO-^ïŸ40¸ýÊûtƒ–’ƒ`*TDGpMOîñ‹Ð¹uYHü3m¶¹£ÃzAåÕÜÓxŒ€Ì4uº:½*­×¶su…ìõ¸í{*”:¨µ “ÚUðÝç È“ò–ÚØõu(¥Òl#SǦ=;ÕcWª×«÷ƒ¾Ü`|×Ë‹ þþcØ£endstream endobj 235 0 obj << /Filter /FlateDecode /Length 278 >> stream xœ]‘±n„0 †÷†sµô![w/$©Î†h½²ªþÅ-“E£Ÿ Ùãô­ß~ù+úЙ>”î#¯¶‹"&ДʡÍïñ¹ý4š— yÂAr0í#8|—‹Ø³ÔÆ€p&˜6gÈM`w9M±CŒ§„§‘!4Ćßù¿?u8 xîõ´¸¹Øi^”ÖÄïj`Ðö¬‹ÎÙ’`”õï™·QOš>ƒSÍ×èè;æÖofœý‚/wf1_jòÍÐôŸÏ¢MŸ ®­ÉP¢SŠV]M²®Éo ™éˆ±[ »AV½H¹K¹£¬,¨|Eïd2ÐçmaŽ U>.< ~IÏAkV[h‡%oµ(-UN-hÁN·­vGUe1P+áR¢ß7rÝÆDzý-ÐN—ç=XŠ˜š£a·'î£{~?Ò7T(1Ê-:f/žeØ%ÔÒ·ÊÞM… £ôÁõç­½ð.Œ½qp:ý~?š ¯P<›Ÿçù»FòäixòŒ`¢ ÝM!ý ¾} v±ö °m­‘ Zæ‰???âíeƒî°Ú(¯#`®«q€ŠÞÅì~ ,P[|Ž€‹áœ!4‚¶ªÖj»>Oˆ/£Kßé ;í!³Çú2-M 1ðk±6—+ÊÄ~Ÿþ‘©3ò»¢À~”@ì_düÛÊŒ¢eh¢…¹¨œ`•Tís™ŒÆŒŽaa”æà¤ƒÊ»ÁèJ;ÏhìTðIŒ#SŸ¡·>d,h¾(l‡Éi·8éréUPÅ ýiÎÏEƘ4º×°ó³ ñAt4ÉmêPQ M×ß6zbS‹lsÙŽZ]sn{¸¨ù[°¨&KVõ„ܹ¶M¬ÉR0A}pù£/~÷ú><³Â®+ Ð »Ù„—>‰ä9¬3`²¹\z÷åÑÝÏòœƒsñMxöЉ=¯ê™¿É‡M§ô°\²lùâEë±€C·wùºø)áöºy“¡Â·Íæä;Ÿ¶Û·b 8(«Ïî÷¹Ý-QúØäK›ßnœ ºÍBt{ùÚ}<ÉQ¶±¼œá­ÌÉâµç‹\~Ýü] ¸J~|U€¶MˆRª®êj•ªººK•Juu¥ø 3òÜÞY ¸Ìj5™9ÿ¹5»ìZ÷¬vS!P ÇÁv.z48È$Á¶†y[%¾Îð!ðk%6¥Kf¦óñFå—m÷Ò yA5p2H’ߎ³~§O’0„u¹«ÌDã_ÿÃvàÇiÄ舶±ÚŠ8„–ô+ÆíípFÆ»’¡‡åc0ñþÄPì >Wï£~¢­çÐ×\¬ù:ïÌÈÎ4½v÷œ™™vô¼ÈDZÙömV÷­ºHØÏ_ÁÑÞÞÑqjÎWlÌÎ…>cJË)ú ÚòçÂR|¯ ߃—\Çb³×î§}BxY·—ŸÿâÄæ—‹Þ†IxýÀ‰C¯ ¿Ú2A­ó‰ {êò‹ËJÊó5{Z]xê×qOÜ›`¦‘­Ýù>¡ IC²1® éYh Á©³éL%Ú’Êj³Åd1ÙÔÁZŸ öCX.'ØøôT‡a°»Ûê¦cÍá¦@5ç‘p½·¶f.ÈmU–jj*émzG#ïJ•àö²¡~ÆÄ êŒ8²µY³Ö_Û©&'2&AfÜ%Öéqx›#ÖVK;Þ—9'®ŸÚËÊÖFsÈ ÌïÝkþ€»Å8…{ «š$ºC<Š„ƒ4²¢áÃ÷¿‚Çk%ñº0ôÅ Ãn·Øìy+„D¸>s׉>9&ÈœÍ< êª ¯ë öæ—+÷€ÊZAÐã úécïMñäP“ <{;ž]°Ô¬ç%k¡4qs¬7˜ŽÒ-/ƒ'vü5¤£a9^hÚkAŠ ,¼—O¨ö޶v?x¬-Lõ;ð&$a"p2r‚BBalÒßmYÖ%¿ž"AɳÿÄ¥¥±Fˆàío9¾åg§Ÿþô[¯˜–$à•Ê1͸oÃw‹ _½\¶«xÓv%ÿ“•W4ôNoô·ƒ§™#ç§[ø¹÷ap]eÖŽ/)³]ìG9òÈ9”>'ÈìÎ8Dç´ˆY€¼bíâ|ŠîC¢QTK/Â÷Šp‰0q¶ýòè¯{Ž ¿6Ô1ÿú-yæ]ª…Œ©BdÜSÿó’ÕekJòöU^ŸúýÿÔÁ?2·Öñí‰ÄP'äfMßBÏš¹Mž{3çö°¼ŸÄ[Ü­îÜ\‚ø; ~:endstream endobj 237 0 obj << /Filter /FlateDecode /Length 218 >> stream xœ]±n! †wž‚78ÃIMN:yI— ­¢&/@ÀD á¹ }û“ËÐá³ôð?ŽŸÇœV=œêâÏ´ê˜r¨ôXžÕ“¾Ò-ee¬ɯ/“êﮨáðåÊå·æŠÝ¿Ý†ŸŒ™>ä—@â> stream xœe‘{L“gÆ¿¯-íÇ]ÚU4è×.1Šº":os:tÀP¹xY2 `åÒJ±Rj¥N.•C‹Ð!Š l-’]&C¬‰š±ÄëL4²LçðB¦æ|ø’¹2“%Ër’÷çÉ{Î¦<ЦiñÚ„dÝ6UA¤2"YcЪôêL.Œæ¦ñ¸é| ¶1õØ—>À‡Aç4Ÿ•bÜ‚ÙÁ¸q% é¹Û‹Wé Mú¼œÜ"ù|¥2*"Âû.‘g™äÑ y¼*[£3îÐäÉU[äñŠ…|Îèóäáºy–:W¥Ý*×m•§ª7ÉÓR>MN‘Ç&'¦%¥ÌVüì_!5W]¤¢(ÊO—£­Œœ¿<œGQIT•@ùQ!”˜’P,åKWQþÞ)µ•ÞHÛéQ^>¯‡?oäßDãÉ ÎbvqJÝv¿¹Ïç4˜/Å÷f½&$d¡I‘¾œ‹¾8ú %ìb»r ÍaHÏ(Ø ™q¬ð‚¾®@'œþã½'.|{¬zᜡ5³5ÖƒšñN YNL<ï<êDp–:Åu ¼*™9.m*mßbÌ(ÏR±b>©RÙ aŠ˜˜3jW±lo‰)rA{Xí6&îÒdB6³êy*¡ß˾»{ú6µ±ÚÖÃ:Ð{yʪ55Ånh‡p6µœÑõXšù}hèN×î.½SÖyªóà×ÀHBÍu`«2WV˜¡”Ùu¸ôh}s“%« %…Â*M‰~i‘.˜ðÂy¢º½Ñ%“\57ØmÝaÃ0«H†¼qiÚêͳgÆôýpátW¯½,|ˆX( zKK=¸Çh·ö¬ù×C%]hŸìřἌûK$"3Ì>ZÑÏö²ÏeãM¢t3ıZòm>Þ¿e¿RÄTü¦ÄHãîA>žE›îš10}1xáµ}À”WV–[à@³Iö,ü‰¢²b«~ï-…`aÊk*këû %—Ù>ä5 L$apŒMqÐgî£Ý›u&Þ½Š{¹7¿YrT‰½=K¡‰©XË`eMdÏŠsKo¿ƒ~¸}¬÷ö¡ƒwáfqƒVB¬yMɼämé°’\¦³Ãe¸ ×íýÍèë+œ„ë¦æðúXk'&ƒ›ër_õ.Ux“Ï-šìÖˆ"-‡ºdÜ è8X‹Ø„5Q F+jñöù¾•oåXJ#YVØa†no C‡åŸNwžÞÁ˜W£nñÅWÏ^Á£PÉ. £¥zaŶ²Œ}%eû?0$NøúOT"ëé‡SQyŸO>˜ŸrlM =­¦ÖÜý ÊÂ:¯õw óèÜÒ%2É5X¶ù£Ô’Jò§˜ÍÞcî`8‘0è-ß×CáÔnTtÓcü15¾¶ì„=ìøˆpÏN0›¡QÆ=66C‹Œlx½vü‰°äwDÆLxÿÉø¹7â¤L 6°îj"!(ÖàzÀÀèÓÁr¸¬`cê*måû"c‰$‰ÝDx¥„‹`ù!ø#ññà‡ñõÀÔÖØêdï@ N¸zàé%z\—žN?–b&™‹’xK"È’ET¨ JŒÁxœ‹Q˜ÎΙLìäýÅádúC<ˆõ(Å0%©e“c¤8CŸG<§ôd†ëzòDA·ª Õ:„n¿!ÖOª ðuT[«­Öê:«Õv% €¢þ¶@†4endstream endobj 239 0 obj << /Filter /FlateDecode /Length 211 >> stream xœ]±rà †wž‚7°À=ÛƒOKºdH/×ö0ˆC0Gœ!o_!×:|:>îôÓÎïçœ6Ý]ëê¿hÓ1åPé±>«'½Ð-ee¬Éo¿&Õß]QÝéâÊ÷«æŠ»¸;uŸ=Lreö!¿z空|#5à#*ÊáßÓ´,ñè4¸ˈj6|lX;ÖÞ¢`-LM'Xõ­G€«š‡€qi:¢Àš:X½,v¬ÐvlipÚ?k¥¼É—Hä–4eúûµ²–6¥õŒ¯iÅendstream endobj 240 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1032 >> stream xœu’mL[UÇïm¡½0¬Û’& õöfa›‚ &(Á-‰n e0ß·P)-ôBK7 ½¼´Ð§ô…õ…B(²ÂÀÅ ²šÅâ[|K‰\bXâ‡}p˹å x‘Ì%KLžœÏïœ<ÿßÉCI‚$ÉôsååšÎ–*k[ƒQÏÈÍ®d›»ôÓ.;,SìHN‚[vVÈð:z°.Ñ ¥ßáv Õ~d¤[ªß7žê…Ó«(óΤXûSýåê·K÷€Zšëkº8ÔmçÔ…å‘`ïÏesM!”zVažBoÊa fb³SSWbw¼>·× ~*4}GójKFh\&‡l¸Ôa´ÙÚÛÏ9©ÁAÏû!èRß^7ÃQ ¿'‡ó ûJ{«í§k@…/CH½\ ¶Õ#¦Ú—¢|ܦÜ*’G j±@·þ»HnƒîéiˆF9Œ™…ËDÕ=‡zOÁ'pŸBâ”oàzÍRýBY (žû^ŒßKufF …¢dÔŽòãg~ì¸iÇ©:xŒ%K ‹3Y­\©Óár:aˆ²!xÿåµQ‰’097‰\½úƒ—sEiÊ÷Äbåì™`… åt7ØèíM™­,–(L¨… ÙD¦ÕÛéI"ë¡·7d={,¢6e‘]†ÞIzâÝc&nÛÄ5¢1Ž.îùûçRá®eo Ηa°|³=C §þ½¿ ÔÛ§da¤B©H:ùàB>‰3±ã"tïG…jTðß ç=„Ë,”Æ‘ÓB‚p[*ÜN(C¾^'Ï;éÌ%ã¯e…¨Ã1>°AÏ÷Û¾>5òþuØ×ëé@Æ8xÞò%ޤûÂàדJ¬ÂV!!YÁã¾ÄÁù›3²xj|*­y1-eÆãxFƒn¿gt6- þ$( Ÿendstream endobj 241 0 obj << /Filter /FlateDecode /Length 183 >> stream xœ];à D{NÁ Àv»°hœÆE¢(Éø,…a\äöá§H1+=ØÙ%Ó|™­‰˜Üƒ“OˆX«ln°€ÅXÔ´X¿Tª\¹Gdºrÿz{À©tå_<Úþ\žšj’NÁ湄Àíh¤”Z3Vý}ªAè£S°ªN4,¡dUhö=+¢4Õ„+J8”áǘ¼''>b¹‡6–³JìœÖXø]îÏ.œ„>1¶]–endstream endobj 242 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1056 >> stream xœm“[L›uÆ¿¶€ß6Rl¤“µŸ‰&›ˆÓÄèÍ"Ä d0¡ ¢£@Û¯(ô@[Vz £°¾=ÐR ­t·”S?:ÀÀœZ„1¦!3Î,ñbfɦîFMÜ¿ì‹ÎÎ,&&æMÞ‹çê÷<ïó2° &Æ`0ž;UY)Ö‘ïëÄ*yëk%E¥jUÛýåÔ ŒT!3u„tÝ~b_ Ù,ÈΠmå!m.Rä ¶g±L£^aìµ—©;M¹ŒÔ'JJ^/*Jï·ˆQZLTˆ[•jƒV)'ÄmDEqe1Q¥6¤E9qTÝA´HH±JJ¨¥„P""jïÖˆòšÓµŽÿÚ%±ª“·Htb Ã2 ÆCÙ&Â.`™iwXöÃË|•UŠÙY'{0•* (aè͇è8z‰µŸ@qî•H$­2õ¤5èä]Öš@fÍq•PÝ ìj¼Ìµ3qÑûœ?ûkxËñÏÂwêì”ê¬Ôñ±…'¢›$XÀÂ…N¯úqggUõÛ°;¹6veå7ÞðÄÈ Œãת„/6Ð…†ÞÇòñksäÀý£Ð­³k¬*~Û+æFã4óA×°µÁ»$_×ÿ×!Û¸»r{åÁ—8û1s8ë©›b£ÛˆÍJÝEG9a3ôYÏe€×QRÖÞ¸Ä]˜ %ƒËü8*Œ\ÏÇ;Ó0a–ÙMrÐàúqíb|9v5Y¯ª‘6›,<ÍšàB àt^9£ø—•»wknðDÔ¤4ö ûd|9}Ä\%k—× :0D¨‘èÌâS=3 RÚÑX—$w·—?†x³â-ã6à(ï&ÊYä§ÙSŸ²o gXûÂN¸ú,N°8yÖrלGøÿg„M¡LðâOl]çNžñ½v¡^åú̵S»YŸ¬iJƒ6ÓLúÍ¡™wN¡ÜwVI~T¼*Ý|oic’O›·8`­"5¶Ó]gµ€ Z.í-N#ÖÜ5þÂ77b_ÀO0J3}ÇÜßÐþî:F¿Óª(ô=5C!-•—òü^yÿùüŒÔ/¨ŽãŸñM§3\³]ÖÎ :†µùØúØ<ÿ‘/⎄Ã’}¾{Z¯ ÎúÍVÐ\ºäÏÌ—Íß? ø…¬ ù<þ¯Q  öáfûM؃oû+›Tâ«ðvúþŽí#sSI*›,éž%o…> stream xœ]O»à Ûù þB†&RÄ’.RUm€À1!Cÿ¾<šlÉwgËGÆé:Y1¹'Ÿ±6VØÝ$àVcQð22~Ua¹ È8 ÿz{ÀétÕ7±y°K_FM5I§`÷BBv4PÊ­9«þVm5,ú¼d¼¢í;ŽÖñJY–mÊÉ 4qN;}98W<ay„6–?JÏ\ÏXø½êÏ.œ€>ýÈYQendstream endobj 244 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 593 >> stream xœU]HSqÆÿggé´5S· ªùÏôÂ9µ íJ”ʆš:ÍÄasÓ¥îXJ~áGNE|çõL’"òJ™RP,H¨‹J-ÚÒ]ŸB]¼ÇÞ []Ý<ðü.žŸÀ´&B\Qq¹Ü"y2­éùrsý”¢Ôcõ¸4¾ÞÜzôÚeõy:â±2K2­ T9=mrk×uwCc;ϲZ³ÓÓ#™Ëëºx¾…Û¤+MrG[“›Kžzn³[x‰Ünž*{x³QjvqÙÅ+œ—x¥ýL¹Ÿ+¿PYjO³üê_«ht¶KŒ1Ñšªa,žÅc5˜–]eëB .ÔÍ ê ®…ÇhÄN4Šê}Ü4팡—†ixŒÓR}ÔƒÃ84ŽÝ?Ìdœ5¬CU½–¢Þhûݾ­ÁUø Ï`6¦Wg?‡•{° ;ç/ßrÁ ÈÕö„ÕF7~õtÈvD5úM“£“`ö,Ø^Jh¼¶Ýÿ >V?ÅLÔ 87çóÁ¤.pÓïí–\Ý]f²RF;Eæ(~‘4¡œ×ýµptÓŠ?dØûZÙÀ *xg‚ 똼B%t;˜|8qe7ŒßMXKfÌ Qš #tŠª©OR zq“0 kÍ”|l#Ù5g…ymç#–Yó¿¸ÖF¶álM|°ñä݇…7 K,y ï›,—(ypZgË4a™ÃMÊ’ƒÊBK¨¸£ µtkï(¨P,Fí7Çj+d}Ì¢ßïóOø¦¦–^èõŒý\W œendstream endobj 245 0 obj << /Filter /FlateDecode /Length 196 >> stream xœ]1ƒ0 E÷œ"7 €€( ]ZUm/‚ƒ2D†Þ¾Ž¾åçØ²²®¿öή<{D¯_°rcÝañ[ÔÀ˜¬cyÁG«×ƒ(êY–u7ÞŸÀì|W3dÏâRR)߇´a JCTnÖ ![c$7þ=ÕûÀ`ŽÎRI’HÄA’5bUJ’Y[cZÖ L†°’$ÄŠVŸKÒÉÏy>×[ŒàV2M¦’ëà÷/Á‡4ÅQì -±c«endstream endobj 246 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 968 >> stream xœm]L[eÇßÓÓá*L“ªè<=›[:*Î)óëfhæ*“‚ÃÉÂZ¾Ú8--”ÂÖ/úAû¶´çPZÖñMK;`›¤€“ 'Íæ…#~-Ëv#Á¨ScÞ⹘ݕ11Oò\üÿy’ßóß0 {¢L*•ë•ÇôòfUÝᢊ†¦öfyÛÃf_ú,½‹—~‡\ÕökÛ•; ‡þüße#íc¨>Õì8†h6–Òc›ªI©§¿RT”Ù¯S #uDLIäujÚ S«(yk=%KÅÔû´!ª¨ýt+¥hPÊ›)º‘ªl¨¦ªdïVȨ£åUÇe…âÿEûOÈÒµ×ÉÞ|€Jð!x‚|ðHæ7À¬æµð¦x)”È{€ý*Öxr íýáRC»Öñt zI7 GÙƒõ,\$†‡¾þíÒe‹6Bê]FØFæñÈlh)%‰J¹§åª­°i&'ŒC½_XçìkVxj;Ïк“žn¨ƒGýmWV}ì§0LÌhXs·Â\y<Õð3:²€òɼ¼¦3iQ† gOßAÏ k6»ZiúÈX¡€„Þ6 ^d¢¢è ^&˜(`¦Â+!¢Æ|®Ý¦³“¥Ü¢³³¦ô=Xp²k~éúÜæø5Ñ@´/‡‰«µ3§ö+¸Ýfëêô2}dì§db‘ U¯·éMJ‘|·í4l" ¿Õ^ÿnù«€Ÿ¼P³dœ‡+pâ ?ÿ%ôe7_ÎÀ¢èÖlKÞA]¿àiùŸÂ •u8z{Nò-1LJFHTN|Ÿýk%%J^û|ø2 ÃeO¬Uá45CÑë ¬ú××E˹=™êÀÍ·ŽÞ½?øP‰³t$¶_˜Áä ÝÂÓ·Q—.Ÿ×Ä[gúkÂÅãOµ°²Qø ñã½{¿o¦j8 su@iºÙ°×ÁO®¢S^¿Ö°ÛÝn³…´˜´j‹¹~­ì|5$8—ËesY̪vQB9ݳÑ5góÁiû´ýF7Ÿ×öŽ˜AŸ@À?õk¼Œendstream endobj 247 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 506 >> stream xœcd`ab`dd”òñõM,Ép­(IÍ+ÎÌÏ34Ð JM/ÍI,ɪýfü!ÃôC–¹[æW‡ kv7k7s7Ëú}Bß' ~ïáÿÞ!ÀÀÊÈ^Ð8qžs~AeQfzF‰‚‘±®.´THªTpÒSðJLÎÎ//ÎÎTHÌKQðÒóÕSðË/ f*häç)$¥f$æ¤)ä§)„¤F(„»+¸ù‡kêát!†Dqinnb ™’Y\“X ç—¤V”0000E00v1v3032²t}ÿ¾†ï?ë’B ×ɰ|ÜÍôà¿3¢El)ÊŠî¿ÙsËÚ4 ‡tsüyÏöcâ—“&÷öuOìîîžÐ2õOÚOA‰;ؾKu?«Òy°ùQÕ­È%ÕçãÖZq,aûÍû}-«Ìï$¶’î®®ŽÖ®ŽîŠî†KÿfHü™õçsc}wkw·dÔî¹r2,óØøþ³È÷3ü«9ôKv3ã¯ê¿Í@'9xø™åU·¹ÿVºÀ–íûûŽ“¦]Ð/ÙÝßÕÓ:å÷ÍA?ؾ³u¯j¹øÛh¯é÷:Ö¿Ù ººrä0þéúýýwscWgw;ĶŸÙø§þP™ðC~j_Ûf® Ür\,!ù<œ g÷Nê™ØÓß7iæèÇßendstream endobj 248 0 obj << /Filter /FlateDecode /Length 193 >> stream xœ]±ƒ †wž‚71i51,vqhÓ´}„Ã0 êзïqj‡ß%p¹û)ºþÒ¿ðâž&ó„…;l‚yZ“>Àè+%·Þ,»Q5oYÑ]u|}"p|nó›~Cñõ™ŽÊ­ÉLæ¨ $F`­ªuN1öïê´5 n)kEµQjƒZ•Š+ªTªÌZ)µÊjjiô1$o‘óës³¦a¡Ð*gñ~ÿ§˜»8¾¶(c endstream endobj 249 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 871 >> stream xœ]’mLSgÇŸÛ[o/¥v¶×bxñÞ»93¥"|ØFÜ :'SË”7dYZF)/r*µ©R¥§v$H™+/Nš &’ E‚$fËüâ†ÁmÉöa:cÌs»g +Yü°“œäüÉ?ÿ“ )ˆ¢(Ý!sžtÌRûVj^yʼnKýš¸UN¦ä…¼™ŒvE[Ö†r<úT­:\ø 6o@4E­öJu®úÊ »CLOKËHMÍ·E«KÜcXʪ%gCu¥h©ýD<`2›Ä\É+ÅmR­h-·[jl¢d Ê‹ÅÂü}yùâþ¼ ço7ý?ÕË!Älß•žñÎ6„ÔH8´ñ(©bÇ %²¢q*ƒúQñªÂ…#ÚUêb"®Æ?›œö}Gã{8h€E7fÌX]ú8í'°g}­míÐÑë°HÇÈA & _‘x’RüQs³ßml[°µ§êÖùn'aqçÖ°ÚU— "E¾Ù{h9?!bW}½×ù¶j¤#PÇ[ËŠŒÀV©FàÜaÿêQÙ|#o¯b&‚¿ÂÍXÿ¾—f?ãg+O#úéóâÇ+8aq7"Çû 5ŒÏé-ñœüÔ›n`Éû NÆÚþÐH_â½Ù¹øÅño<$:ž;L4»ÓÒK¿lí¼º.pU·KÀÃ_yðýÐ7À>ùz÷›[öd5Y/=IXÇuyÎ@G}’,0ÿfhüâ¦ñõçE˜†aýKï.—.–—7q| gà—æ·^Z»XÎxæÑ®Ù-bæ‘,Û{øêÀ¥+תûNø3ƒåôÓÃóÞ×÷ÕZN»…c5ŽŽÜö“~¯šÙÓçás~ŠY˜:òšÀÝAD÷ž­¨ {`ÚÎ…#7“=æW×I§ÊŒKfÌàÄ'ŸñÚU:Ó†ðúIœ9IÍEÒÑ., ÐÄÿÇ45€Ã1!!ªcBˆ]v®1Ó䌱Ëk,Ž ]ޱÿ<ÇóØo¼ -øÌh¾@6cC%μðŽÇÉ·&û.ÐÉv¶wu—·xy’DD‰äÑqüArpʶ»zmã ¼7„¥žîA&¢žçÕÊI7X«ÎÎÀ¹îY¡]Û„ƒendstream endobj 250 0 obj << /Filter /FlateDecode /Length 170 >> stream xœ]± †wžâÞ€–Ƥa©KQ_€GÃP ”¾½¬ƒÃOrð—>Œ—ÑÙü=>)±NGZý‘`¢Ù:Ö ÐÓw*'.*0>\Ux½Á^ Sç›Zˆ?Ĺ^µB¯i )*7ë›FöÆHFNÿ=‰ Læhv²Dˆö$Yßí`Žh:Qð£˜7e§Cp‹‘\*âE,ûXG¿¿2{ØyÂV3endstream endobj 251 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 450 >> stream xœcd`ab`dd÷ñõM,É®ÌMÊÏ)¶Ð JM/ÍI,I©üfü!ÃôC–¹»ûGâìÝ<ÌÝ<,ë~¸}¯ü^Êÿ½P€•‘1<·º½Ç9¿ ²(3=£DÁÈÀÀXWHZ*$U*8é)x%&gç—gg*$æ¥(xéùê)øå—34òó’R3sÒòÓBR#Bƒ]ƒ‚܃üC‚5õ°;U4±¸$µ(³8;(VP”™›ÊÀÀÀÄlÀÀØÅØÍÀÌÈÈÒäû¾ÿLÂN ?¿ŠvÏ­ŸØØÿ[õ´Äw•ÓSûgLìž'9±sI†ÜoUYßµ{çt,Ê쮭é«åhdŸõ[ç·èÓº)­Ýí@ÑúꚊ­SÛå¿«øüVñnl¯kí®lí-Z'÷]õ]ÍoÖ6öö–)%‹»—u÷/ìœSû][â;»õÒÊÞîÉÝ’s§Ïž%Ï÷ŸQÁáû²½¢+óç&7fÕwÈýþãÖÕÙ^ÓÝ-Y·ªiÒÄþþiä¾{ÿ°ê0aZ÷4I¾Æ©›'üZ¾i!ÛN®Ür\Ìáú<œËûz'Lî™Øß3¡gžV¸¼endstream endobj 252 0 obj << /Filter /FlateDecode /Length 605 >> stream xœ]”ÍnÚPD÷<…ßÃ÷—Hèn’M­ª¶/`Ì%bƒYôí;3$]t1–l霑}×O/Ï/Ëé6¬\Ïó¯~ާåpíïçë܇}=-«Ív8œæÛgÓu~›.«õÓ·éòûÏ¥¸¡ïýûôÖ×?mõÓæþÐ|>ô÷Ë4÷ë´¼öÕnÛîxl«¾þû«ìþÄþøyëvÛ”qÄÕ›‚ê¬MA}`}l ê#ëÔÔ‰un êÌzh êµ7µ³›‚ ИG\Q7MAݰÐi„4k ª±‚×Äld¶h j°fSP“µš‚Z¬3  r&A£ AÎ$h´}SP÷¬p5ù} ®&_£¯ÁÕäkôuȹ‚9— SÐ!çt :ä\‚NA‡œKÐ)ès :r.A§ CÎ%ètȹ‚9— SÐïRp*8ð] N¾KÁ©À)¼!æ s€7Ädð†˜ƒÌÞs9@¢ RˆBTAªÀÆ¡ƒ;ˆBTAªÄl©é’Ó%RIŒB #‰‘@Ha$1)Œ$Fb¶ÔtÉé³¥¦KN—LA&!€)È$dâ½H½Éw#Á›bN2'FM ›6ŸRH)`ÔÔ°ÉaßAê[H~ …K;w.È•‹‚¹’`Q° W, äJ‚EÁ‚\I°(X+  r%Á¢`A®$X,È•‹‚›’QѨ€_RÀ•Í׉Â3‡§××a5Ì×k_n:ât„ñä:-ýß)x9_øÔ€¬þ>4endstream endobj 253 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6351 >> stream xœY\×öž¥ÌŽØ™Œ€šY4‰[,ÑbT  XAPzYYÊÒ–Þ/¤÷Þ$±5Á²X’Õ¨/&1‰£‰‰&/ÉÿLry¿ßÿî.°›¼¼÷{ˆ»Þ™;÷ž{Îw¾ïœQDP"‘hòfGGi°tñ¢N^>á2õÅYÂ4‘0Ý@xÙ0G 5¿;£q†hœÑ»Ógl7æO†ò‰°ee(¹úH×JGÉü||Ã,—,Z´tÁòù¶¥g”¥íBKƒRyh€Ÿ¥Gð!K‡…Ž -·Hå䢟åi°¥§—¯G ·¥ÔÛÒÅk—åçõNΖœ¶îØæüú¿š52¦(ÊÞ&x—­t÷ÚÃëÖËìB7„m ·{DznŽ:è}h‹—÷6_'?g—€A¯[ÏÝ;ÿ‚…o,Z»diܛ˖¿µbæÛV¯¾³rÕê95“ÚJ½M½Bm£¬¨W©íÔkÔ,Ê™šM¹Ps¨ÔëÔNj.åJí¢l©ÝÔZjµ‡ZG-¤öRë©7(;jµ˜ÚHÙSK)êMjµŒÚL-§©-” 5ƒK­¤ÆS«© ÔDj5™2¥öS,õåNqÔÊŒ2§,(Cj*52¦¦S/S<%¡ÆP$,”G ¢jƒ— Ü >6´6¼`dfTnLËišÎ£‡‰Ÿ0‹™²1KÆœ3ÙiÒ7vüØÞqcÆ]?{|ã‹ ÑN´™d5é½Éû'Ÿ7õ5}Ä®f?ziñKáÜËœ÷dŠ|ʉ)ÏÍæ™m3 1k4{nnc~Èük‹P‹›SWN=6mñ´¬éâéÎÓo¾,~ù4Oó[ùBþ3É èš Ô#å/Ja†\Ô[ŸÁVC!µCeiGâóSsÃQ,Âã…Zó¤cŠì@ŒbP’?Tg®@a(53!55Å1AͨŠÿ™®nDírä#iøÅ–Ó ¯ûÈQ`P#ª–üLW5£v ^»8lNß„Œ5;ÀÒEiúƒ \Tfìi¡¸ë¡ÞbéŸv\¹ÑÍ/2’gU¨â oKÇÈÈrͨ\r¸ëF°”.'««Ÿ”¸Ãzšm{q÷Øù‹åÒ­<–k浨ç-ÐÌ“hvJÓpĶàè Ž6ä_‹ÀÑŒ½#¤BP,FãP Æf\OW¨×'W%¯Ð±2Ø€$ëð¬Õ0˸¶u´Ë´·BÈ­fT!i aǸÊ8œfëbB‰Mä:›ñ j Ea’'°Ó˜ÍxŽÉgRXøðœ_4›i„%¸)M¿UA¬j¯ÆCð‡T{oXÕ\¯?u 0w¶<À†<Ž êÍ›P¥¤eHqXÏ9Y4ÆWïKC/ç`?—Ü`2Í~úu½£¿¤¿Çí9´íM³<Í}Ýnë¦Þ?U Ÿ*E—TФ2| ƒÉ Ÿc#l´pžŒÙïçƒ|ÿ Ly»Bn¡£µã½§ßÞ¸qû“ë‹ø/‹ ’<ž#|Ê‘3ÇðìG’™8AqÞ V$ÖY4Ö뜨¾ÝHÎQGÃ|Åo’‰G¯ÁXº¢I㽉 6Ñ0®×i®©-NP EJÑq\![FÂJ®+%$…¡àL>åu«POÄ,Zö̅׿ùmðê‡û­Ê%¹Ñ91íˆéFuµˆ+QSPTZbJŸ™Ž2ãdþ­ûkw!säØS±Þä¦ópð±zC,SÂJøX‹âS*°$Q2bÕΚ¸äÇ{Ý¢ýxöy[f¹×Ÿ<ÔúìI÷zœLêD ˆ~øX‰Ý”yëÖ¯ò}tŽ¿#fM¯\¾xíîeÛ7u~ ‚jrÞ(ø€ƒ7—Á\lÁcÏ‘Õ+$õCŠp݈,fÀ–‘…ñ˜íx"ÏŠêkø§Ã÷b&„Ab¾„˜±L¹jTçëŸÍg9:%†!f5ºÐ$$X!u=^ñ€EåÛojù^ͤp=ïcŸ;w¿89Èëñ©èø’õ³Úµ”$MºHꟹ »a_pûóÝQ6oRÈt£?SSøâýWâÒÒE nSh†…v*;XhÆÆ Åj+x7x@k`÷'µó£Ù¾ÅVñ+QW' âŸQLÏS…Þéí=ÒÚóû²ëPõ´;te“Ö¯zDì4,o˜@éåÇ1]^5¤À”ÞøØ¨&UE&JQ#ì~» … áU­ ñÝQ[i,Â÷°î·ê9nŒÎUí4ˆñÓR¿ZT‡,jP*é1|gÞ>ê£ôÀy¥¨ö~{ …|á5®=EñXLG…jä·FÒGïÆç³èôæ¸3ñ½Q×2J|Q"Ɉ„ðŒ”ƒ˜O—3Y´+œ7îÓÖ%a(R2òxÙä*Ì Ë=Ž,Ž£ÜâjeÓ£ìòÜz&›ÎwíÁcò’K£«Q)êA¹•yõWaм½n¢$z·•¦ï« †°b¤PI"G”Ë#1?7™‡@ñí_áW¼†lƒêb+Z‹{²yT”]›Sž]†Šó ë$x}ž¸ÍcØ»k?÷ vœåYëÀúsYǦµ1$¥Ò?9RcEŠbزh7”<ÍÑóè{}{ർQ†$%Ìì{.’¯Í°ÇŒýt´~9Hã—`5>N—·Œ„ÿþ¶Hlf­ùɸyDy±†˜µ•ÒqLð< /3>H³M£×aŒ6 (Pò&â‰ÆÒ‘º…ÜSï2œÆw•`¬ù( ˜û‹‚ÿx¨€–£BµMü‘¿?© U½‡Zœ  È#ˆ8¥ Š~±îØËuèëRxëFÂ8zDsp¤r ˜º+…½JÓfØ7>;ØmÆNýO8_‹ýâ¼S£R-²è´š¤º”š…bÞô÷ ï a&þ=/e dì­8æ»ødÆf1(¿¸LÂZ7EUËxöäá訣û^œó’< ¼!ì5n×ãµxÜQAè ¡à "®5¥Æ$fÊSøÔ¸È}6ˆY¾öÖ·çZIJM«{%I²}kˆi¬«j»ó rÃÖ[ñô¥xÜw¯)HŽþX5Œ¦·•P©4½Ô ÿó~˜N¾ÌØ! )ð‚BÜ©Îv™,¼3‘ºtERÈFìfL²-ñìR(Í,Hl”!bœ5ž’°m$Ý:ù!…8@6_í þö4ìGÚÅC²Å%û¯c—¼¸¢°2¯ü”‚äÒ”RT†Ê‹ŠÊs ¾†‚Ò‹LöP­^B[H'>õ‡&D}*è%0ör—u5Š®à 諫ÍÎEUGÃQ$ŸÒþÉÉþ’ýâQEn†1¾û"äY(Ú¯ÕðÂDº¾Õ¢ f$é?VCZŸµãt¬-ü k/¡ýÛ<+ùÍ›Y ›‹'=žû[ÿ‰–¶VžÝâƒÇùaŽÆ á-Žívv[±zÝÖÛƒÏnݸu½ÏÙEó§ýÑO”y¤Œž¡/CÒ,o2â»bs#‹ zú¥V¨ÑÑoz%H³iØ<”Qæ[™ÕŒ,ÚKsI„‚&±dèê?®ÂKJSö°phdQÉ‘)|ø®IRd¬ßyÈÀyº®õ½éG<7O”°=xÂO³€ó³›øu0“Ã5tù+ÞB¤c‘¿ÊŒD &“Þ¬úáCÁ^ø€»úŠygõþ7ù³u*þ˜¥'E:Éš0A/Ù&œ¥ï„ÚùôâCݵ •­Ãš¿Y *Ê$ø¬¹§6±˜Çaÿ©N·Gl&u#0w?%L´ó€Ý<~düF?;i·SÃQWÁæÒ‡WaÍÕ «¦m—#UN*ب ¹œ®Ú~ÙŒD ‚9×Ù±#aO–ß~ž5¡Jb|köO[°Îzù*ÿŠH +¢b’ƒ¦"ßrYqyªº¸³³–oª,Fw3ÆhÙpÖ}<Âñ.ıߺÖ¿¡zÅéÝÿ‡Î][«›’"Î^塪%"ü½Pó”ë$­©ƒ²øäLïh):sñ*JjàãÛÂê% ûëÍžeïÔ‡k`¯ÿßÊ8ÿû¤´lGR†ý£>…{LE(¨& *¨5æ(b®5Þ<&ÁKàŸÜ·í‹øµàÿ Í>9µmï(1Ý}a ~/l‰•DW†¥yæH‘‡gê!Ûàñz(<§-ºØEx¦Pϵ†×K¥ááRi}xkk}½Üšv×ô ÕYHT^7ÌØ@!¬8tÝçD|™çñÃ…«ª­ªÍ=J½ºÑYæ|ß¹Û`R± °€Ï /I­)ØÍµ]EZtP2ïÙ½£Ô0–¡õÊåÏØ*ñac¶¢5õKù›S]l[)Ý“×r÷hI?‘UU•U0Ü``sM‡Q_PÞYÌRÆ\'Î|òhpXZ V{ãÜ ˜¿XOüá/¹s‚ „,G3¦ - Q4ò ñ=ìHŠ `Ÿ›C(<2­aUaáÑÁ<›´æGÔ ¯½ ã®óìKÙ³¿u’–??R=! …4½ÆnšVluBp,†®z¯lô:<¤‘"è%Ažq‡¤|ìQiµ? @AŠÐp†ý¢=SŽ¢¦h ­CïJð€Ø'b˜#i½L‘À1Û7Ø{¶·¡<ÚÇ qä‘ÜûÓ¤ÿ2Em'¼«2„_á ‡`ìþǾïï¼cÝŠYª<9¶$%?C+°¨/#”0ÛKð´E±‰Éi(–I.7µÁ0‡bm·^ íäCtªÿÛ~XOt<ìs®UŠ£3Pb"ïà•àGrŽšKúê™ðúO?ÿ³õtâ–IFŽúøÌ;˰1{Ëênß³`sA ^‡§“òÜŒPø˜@šjËÇ_]j“8C8gåæt`ŸÇÕû_ùðÄéSÛ­Ô@ÔMCaøs¨*¾83[Vµ¡+¤¨+楅e…¨†ÉCmyD̃O÷/]¿g»½‹‡à-IÉ©iHa¡~ùͳùð„f™‘ %(!ç:ìQšžÜ:X6&ªƒÄ„`! l9t{ßûöþw[/¡˜»¶a1·~¯“¢V½ayꑌ\¾£ã¶ºiÿø}· XßÃá’€Y¦O¦Sz,BÁŒ#üš=òüüÆí[œ7/:¸ºälˆ$?¿´Lcd­,,<6`ÉÛ‰˜}ýä©ð W[“š–šÂICb(%ǕƕÉëüÐa$ ‹–LJ£(&¦"¦²¤ ¿ oom®,GGHMS_Wqµ ÖʆªÚжzT=\RSJáeÞ»ý„d’a¯6«àWº+¥È—Ò¡(-+NŽ#ñæIq(“dˆqJù˜rÔ+‚6êѨûÚpcÛËhÁÏÆZßv(a™RôHYOàÄý´úGlâëžîɃ¤è½¤«×¦3®G¡°Îê¼ü#E|KgoõeÍÓ¶ï¬Ûú–tSчRâ¼¢Bâ¼¶°ÊˆØ ¤C+¾ZF0ùùc0Ô–<`0F¤[5½x{Ýgþ™+‰èY!vp@/Ä®®Ñžn|9ÌøîÁ#tU&ä§‘ŸTâÌÐjysSmU{ŸÏsIîLÅã±N#Ûç<ûD?~ãH‘¿ÌÞi­Ã¡>¥œOlÌiDåÌÀÕ÷ÿñÅÅ6êýD— «.iz‰áf I§VF¡dÄø¡ðH‰ÇpAQÓÊCmðf?|aFü»«ªJÚø|è`«¼R[“CvFªö¤ª\TРRÿ‡Ø|-Nï9\±©û¼åtºÄ»i¯«¤¿ÇÙÙ;¯àY§öý*ååkß>¹´y‹&‹¿€³"A"\çrÏúÅ¡Hœë^†Ýͳcs#ZQʯήbð 8ðßghòöôð¨ ñþºÛfì¯$878HņªùØpÖ âvúÑ0¸p¡ª÷4Ÿˆ'­š3%!ŸìˆÊ¼üüTÅ4FÕ†ÈäÑAÕëHdN²g2ìáW}ʹìpZaµó£»ßÜîÿädk˜œ$<Óy¨8rÝT-ù‚½Ž€£g`|ÅèïXùòu0P‚èºú}ÊõIŸã×Z8$îJ_Q¹‹¨z<ŠcHáÙR×XÚó©Ë'Øäߣ)›‘,†÷cƒ¸Mk -À¬ dp¬Ø­À³>ö|AÞ‘"ÔÀ´†VÉ“|Ò÷¯¸¼˜Þ[]+w´£¦Jþ˜&Ôœˆn18¶qNGv¾‹Î£sçŽa`õ‡v¹íÛ”À@°øfÜI7´‹ùߎš¿ãnuzù„Hý¤U¾}|Ü¯ÈØäÔ E ŠÑèbý³ÀHCI¾ßr¨&®(¡{s %…eE¨Æ¢!²4&)#+IÁãø`Rj\2Š´@dæ‘xˆ½ÌË“r³=VÖ”6hpäzëQÉhÁ”ëöFä¡ç´Â›¨d—Z%ÿ K»ˆJâùFÝþjýƒŽ÷'÷zÔÅásº¼G« ‰EeÉ%‰…ø!x™+Š3²“I®’Òã8¶ÇäoBŠÆ˜°šøÊâÜìârÀÁâÙjSlH†ÚïàPEJ^T)žôÕ~°@`„^ Lý¶²¤0U0Eiµ!Áø6ÇÅxì™ÅÝ»ù‹¶÷œÓœ_[$™P"¬-U%y%´ÒD5–71r‘Žs¬² [ý“_›W0nEý?f^æendstream endobj 254 0 obj << /Filter /FlateDecode /Length 15860 >> stream xœµ}]¯e¹qÝûý y¸|[QŸl~o±dÈ‚ 9p¤ @ã‡öѤ“93rOË’ ÿ<©µêƒÜwzÔ‘F‚0ê»ê«Š{s“Å"Yü§Çã–üÏþ}¾?_<üÓC"õÑþy¾?þ蓇ÿü³6…r›ÇLŸüòA‹¤ÇœÏ[>Óãhã6K{üäþð‹§}þêõq;Ú™Î~>½ÿö«W€e¤c>½yõº”r;R~úÉ»ÿ»ý LmÖó|ú!˜êí8úÓ_¿:ñGêOïÞ^ä~¶•}÷öùU òOÿKÌRŸ~z)ðö›) ÿÃ'+Õ+}¯^žå6Ò”*~òÙÃS{õÉÿ~øñ'ÿMÎÌÇ-÷üXGJ·³?ÖtÎ[=sOç­–ÇwŸ?þǯ~ç“L‚ÏÛÈçq^åèòTêc•úæqâQ>ý6A5~}(hÜŽ\å!ÝFW– ã¤çãß<´[míh¿Ñ+ÿAÀORéÇí<[ªãÖÓã](iÞz Ê—?_\yÈÊ;—Q.\efTzã2Ê…KÜÆØ¹ŒráêeÜÒ¹såÂ5Ú¼ISܸŒ®ßõć<ÔR÷žR»µ”¥þù–ØtŸ^—Ãx¾å*/¯ÿu¾•–H“Æ?ÅBüP”™ä×Òb+Šo%Ò·…¨\¾»Ôz¿5˜Ro“Õ3ÂqJKlú ÎràïÉ)W>f»}ã ÊÎUä©•É;OÏåÖóÎä”ë÷|æ-ßÚ!|ÎÛ!ßû‹×ùÕë\¥áÌ)Vþ'>y–ò>ä«râŸ'¨ù¾X>µÕæÿikßjmªµI…F™·q ÿ.?ôm·*-ö¸õYöy]zy\­v|Ù÷Ò¤úò­—>og–¦7ù.~–øˆwŽ)ÝlÝ$8V(á18ƒÃ%H_Væ¦C1J¸ÎáVº„k=žÙ8ÊykR¦Jg×3GPÆíÌY®<Á] à–ø™½ÒŸÞΣËÇ\6 ©%œr”[¥L•P渵¼tF ³"8ÜJ—p­Ç3?é‘‹4Î,½cÑÏÃ(åHè"K‹LÀO$ÒTjüŒ*±‡tA-m ›–0Ê)9T‚ŒŠÒ9,†Q¬·Û%\ëÁ÷†wZ;ºÄ~+è¼¥èÏ ÍXèñ¡5‡òDÑÇö{o·Þ¶âŽU 8%Ï[‡ מó¦A1J¸ Îá&º„k%øÒf*èvŠ´iË÷0ÑÜN<”V¤ É÷™fîx(ŽåqNiþmç(—„ÀTÁF‘FÖYÂ$H£mÓ¡%Ü ç0#]À¥|auv6ñ. ´²ï\måsmGæG§ÕNà)NK`ú$Ö/ðtÖ2Å`?Uÿ`Øt „SdŽÚÀaš¸ï";tF ³"8Ün—p­‡ú]ƒÃ½<ñêèv9A8pð—§!ÍÞÍÉÁß1ú™ló³p™ÔäÅP8¹ ~Öã*\ô+ ñÅ¿ã0À9Â\p±žê¢b²û¤³yß(íÀžÆÑ´Kn˜¤¥!ãÿ£ëwq(RÛŠ;V,`é229L€|VÒA, ŠQÂM0Ž0Ñ$¼¨„ŽÇ¡Ž<ŠÉn1(• çèü( ÚvR½ma«ÚØ9ÄrŽE.Á±ê°º‘’õx\¤ó;ó¦C1ëfV8‡[é®õЙ͡]iƒïB9(ð^0g8NúÝM:Õ"P¦ÿ5 æ™lü.ÊZÚŠ;V, q“£tÅ<.-ñ†ÁnúƒÃìÓâWóõuɼwMèËîAtq0Mü|+‚pøpDÁ¹0‡ßÎIcp䄾68LÖ{áÀÜÇ ìÇ–øÃûÎ0À8Â>¿Z¯Âÿटrß)ôTO:¬s¼iLFÛÀ@´s`>S6 ©ƒ%Œ2*œã%¡ŸÐµt(f‹5+œÃ­t ×zh/ˆ6‹Úf´‰ûF˜Úí ðƒ'ߨë$Ì ñÁË7²~-þö*˜Â9ë4Ê ‡/Ú7ºtƒlT¿›iVøb¹Î^¤»O˜GLsƒ2ºz25hü>Uq9“È%0çú؃CÚAÉK‚cÓÁùŽQNºz!¡ŸÆB‡á燰Â9Ân“ð¢ÚQH‡ß0çÉA±£p ºN|ù2b`Ê.¯]Z> ma|Ê·sL¾¨%Á±ê` §$ ’¸©3žNèPŒn…s„Ý&áZ­[:t¬“¡iìÏ)ø'º%ŒÞønOôYå–B'¼¸íwTgn…«xpJb ÊÀûj!_¸ÝsÃoaª•¼š®^“Œ—ºô<…‘¸  v+f`5Änuî…cax4ãP¯É9FW¯É%8V,ᔄðsHhò0+v†Q¬ްÛ$\ë¡}¡ô%œõÍoñ¾SNX*3ÃúÛ Tðiý1ñ³Žyã@¬½§JX˜:¬Ç&‹*ã1$”qÂÒÐa:ÌŠàp+]µ—îcÈÛÆµû˜ûW÷!oAžåê>ï݇sD÷¡Îs]Jƒ÷°uºB³ºi1×Õ}(Çê.T‹zè%3(ÞiÂ}ß)§úÿ™±CñgÅÛÆÌ¨âc2È©Tb Ú—éÂ[ñÀÉg¢N‘™R#‡ ('úŒ¥A1ç^f‚s¸‰.áZ ­ØAg‹<™áÓ — 6‚Oöaµ 4c™Á5XìØæ|)o™Nâ’àXu°„QdVxÌÇ%AfySA~·Á~w½øµÚ3bûòVGBLù¾SN&dølX‚BlAºÚZÊm,Œ–"3©¹sÔ®‹V.!0u°„Qä-gr˜yÍ¥m:£„[án¥K¸ÖC;|ù^á°I€9é}§ ô 2ÐTÆð°ò _zNò„Ž…Eo’ï$ïòÌÑê]ÂÂÔN/dR¦IfwôM‡bf…q„•&áE=ô½‰÷…f"³÷ŠÌø½J߃žxˆ¿£ß+C ŽŸµß9vŽÉ`Ã’àXu°OP æO‡õ "Í¥Ã0J˜ÁaV†„k=ô½ÍÓÞB½ ]£3‚L‚'ž`ÑHmySJúÄóœôZƒ#Wön.À!€ß òVù’­8fÁiS ˜ÍÂL0ްP\k`ÑšFxî¥ràJ$µ4*l(eakŒ­n˜F•%!°ê°Æ¨”ª%!óµ,ŠŸ–ƱìV /êaAަ=jâtû¾S¸D•N82C—Å*ñÉAß0CMûqã˜p³ú’°°Oòƒ"ï"ÁU7 XC ×u†³"8ÜJ—p­ß[ÁpÇÎkZ÷£îÒ¤³v Çø0Lïaú&Á±ê`w甬ݛKè]»?ס%Ü ãXv«„õ°)ç¡+7K¿:å4J˘¼2 ;Vñ(àôdà0Ç÷ ‚ŸêýW·Í _­gKLâ Lír´ ©_áD„{‡ŠMÑ4}NÁÑô¹†„ÀÉû§ˆÅþÃ%äSûס%Ü ç0#]À¥³¯æIpgî;ådèûŠè×p=‘Û”0ZßÔ'âo"V]*+˜¢Í¿T'«èÂ…/Ö>Lºb:a¦Ü9Ü8—p5ß:ûK¦§'¤ß7J¦.Ýì¡®š iavö ­ÎAŸ…K¬:ØÙ;…–, =ù¥C1;{³Â9Ân•ð¢Ö ‡ÎøäÕ—ªíÐ)O¥hd½qð‘Fr¨ÿ¢–Jƒã\Û9¤Arÿ†KœuUoQð¾Àá¤=Ñ/sŠÙÍ çp+]µ¬ÛÀ\Ï<ÕÍÊ)OHœô<äÉ`øã>„xpMÀ°è™ëÞ‹gÝ$6(”„§Ɖà`¨P~³Á£­øµ€Kº¹cb1þ¾U: †ÉðЃô?\«¬ë·ê¡Ï¶ýŒÔ*«HE“Y± nŒŒZÙ"såœB¶AN»Uw0¸­.àb»vî+VŒ3LµQ&‡öÞ»[ý¼FÁ½õ¼õí÷q—UÚaÖèQô[Ò2 c©×¥+äà¡Úýw7΋_Íç2-—h±ÝJž6Z!lqÒ·k‰ JãT=ÃKáþ„Æ3ÃSš Ó‹pÒ8¤+Á”>$8V(átvôT|2“¸Œ:Ó·1+œÃ­t ×zhèJ>^Õ둸 4 ¦e™naj ‡Á¶,ÿ¦…V’‰CÙ9d¢± 0X=¨Eñ€[È/ ì÷°ØŠ_k ãØÔÅÒ¯„A« À/Á*¯Lz8¯?§ŸG7>©§“ïÇÎ}œ%$,¬:XÂ)I'.onl:c@s+”²ÙM /ë¡^0Ö>,¦ËU¿29*èN“¾¸ŸòÜŽ€Ø'%óö;úﭴìAù ˆ˜Ìß­´| üB¼bpýÎáö¹„k lÃ_Ó' F»ƒrâ©æ›F€ÚàÀ“[ï sÃ_Ó]»Î­-e“8Ùà”^5îgK‡bnø3+œÃ­t ×zè;9ÜH™÷ß(ØpÈ(a8h)£maÎ)Ã0ÎQeHÃ,Ä%Vì œrÐÒ€-‹mÓ¡˜[;Í ç»U‹zè{kç.;u¯‚2±*#;6éq¦Fòrõ@#ùþûÐ8}œý%;¥š÷f ƒ¨¡@!Eß~uÛ¼ðÕzë;† 0vêæ*§ ~ ):GeˆíL税Ùp¦¼8t&½$8V\£uÊ¡íÈ%`ˆ®›Å\¦5+”²Ù}èæªk=P·ßã`ÀÇ6çÇæeS|gçzãKöמqø@F©öøÅ‡tñ—Ÿ|\ÎÃþ3 ib)r—˜z†!?þÅãÚéþÇ{Vßiû‹g5û„÷}ÕwˆùƒŸ”ôåØª‰ ¡4H<©ßü‰ÔwYþó‡r@î¶Ãß Ûÿƒ)ugrÊÎ…O²ìÇ‚²saÿß…É8àº;<˜‚²se,)ìÇYjž™Ûí¶ã,ÁÇY‚k;Î\qœ%¸¶ã,ÁÇY‚k;Î\qœ%¸¶ã,ÁÇY‚k;΂±:ŸþÇ |Fϰ3bQÎŒ>²ÀkJŒÙÑq¬ð«ÊÂÏò"°UgçH¶£[%,¬:XÂ(Þä’€ÍqeÓ¡øùaY¡”e¥JxYg6¾¬Û꘺(·(2Ã'· ¶ËÝ(ò˜O@Ýs«ðµé¦>û]Þ×Z½¸cU€Aᶉ% s!iPŒn‚s„Ñ&áZ‰gýöKÂáF/ƒ ®Xo%ŸŠÂéqJž¬2,Z~KÂo 4š„Àª‚%œr ª°$t®2/ÝÖ¡—ÎáV«€k%X¯2¸2îaêû¢`2%í¶ð¼Ëˆ@uáy˜…açäŠþâ˜CwjºÃß(&j!²S]: £„Ya·I¸Öƒu«Ø `K˜ŒmžZ)ØZlTÜà‚Ý©-½{vŽÓ¶»„ÀIÝ–EÉjiHH /ŠQ­p·Ò%\ëÁºõ™t±»ø¡-Š~žÏ}âäì² TÓ½ËÆÎ‘Ø_‡„…©ƒ%Œ2 þ]°ö•7ŠŸ–ÆVš„õÐND7z3R¨˜¤ÏÂ÷ybÃ(…Òü Ì=âûžÛ¯ØúqÎ(²a ªÌÆ£–õ¾G¯®Iõú¯f”¼ýÁÝ𠓘#dSо4£ ®Ö,Ur«„Ìè*hçŒÛ0_AaŒ#8ÒÔAÍ$V,aDfÈaWk–Å|if…q„•&áE=øÒFç äb+×@‚BùÐÓõCØß<4ìa–ž ŽslÅÏÒÉk‹\¬‚Ä"WiK´a°›òàsMÂÕ|Vé´ýFC¾Ï¬NRPèý ÖJcpÁ«œâÍ…Eï)í;íò=Àc ³PE¦ê9LBåѧ¥C1J¸ÎáVº„k=8­ÒU[ :¸_aQvï5Ó Æ&í»x¿º³… }¥çÌ1Ñ0>l¬v¬Æ&Á±ê@‰ àœþã’ u^:£„[áa·I¸ÖC½+œ*ãîÅC7ín”ï–¾—˧ŽY¾Ó¾°yKçÆvÂE~“°ð¡ÛkEz‹’—«Ðµ†Åð¯Ü çp+M‹z°nI´Ì¡Ûz1 Y„|<lÿ8mñ CbRg[1,:±¶DË9ŠºåZÜA²1*60Gᢻ^C¼a0‚í3ëÕeÄf½Q³ûNaܬ`±F7Í:€ØA†Ë“šîqŽœxø#$>Ü­r Ž7€Ã%h3Z:¢é†ÆVš„õꕬK´“9 î‹ÒÁ,ØÀhpâ‰Í‚}ya4«–í<ƒq ’º PhÈo„̾À‹cÆÓF3!8Âh“p­„öÉ¿ãicYPp*Ž’<`í×2GªžO*¶¾€»g£&;ùl«”JÆ7¿$H3Ì› BöOfƒýF[ñk%X±c0N‚«{'è ŸÀÁQFøÊ!ó‡PTòÐÒö;zÞ¹w¬òYÀ(âüœäPm"æ ‚ß ðßÍ9?7ÌXDck ÛR« HœB5$4ìÿÎK‡a”0+‚í6—J\ÇcÌÒ®Ãñ¹OŒƒBÛ@I¸Åúû>ôž—q·_âŽ%ÿmæ(ºÃ>r¯qØ8Ü<p5_û?t²˜ÒÔ˜z9¥ÙÔ \6MÂØÎݽ £wÒe¶Å¡ËpK‚ãêS¯ ›8¹„ÂEñ¥C1J¸ÎáVº„k=ô£’–ͽ7ÉvÂo”“oÝ ×”ÙbwpèB—b~þLe°8fÑÅ3—Ø6ª/ŠÎùCæÃ½,†õs´S,ÆáVº„k=´{ozŒîIcSt ö‡H‡$EÏs%îhÇR³îqŽ3ßÚV^¡)¿¸0Šc„¨c)0ŒjA0„É&àZ »UëmW¢èž6>>íã¹ç€w,ÌP­Wø;g[gÛ7°Q¸³`IÀœMEÒuôeƒýF[ñk%t^‰Ý*ÜÎRíÄIP4BžØÞÂý1<¸.wÖ\Š1ñÉÙE)NØÖ°°êÀpŠe_£ûK‡bèp+œÃ­t ×zh<‡yV¦c„¸o”\Pª ç öáÜ¢Œ‚õ„aÌÕ«ž£ŽÆñ?T à7v÷àw/.HNí]bpœÃMt ×Jب¬/žomNAدº=`ŠØZc·#QŠ9.Û¡(ç< ¿$8VÖ(%£ù, ] WÑ}Pqì÷0ÚŠ_+¡s/$­:m2Ã7ÌgDJ:ù/c¯è âÉ c‚4-‹€q䣬)ר°êÀèd;ýÐ!H: C‡YfeH¸ÖCG4Ì êÅ£wŠûãM„¿¾xæÑ‹Úv\BŒOáÑo#]r—`»«Þm°ßÃh+~­„:U‡'Gà¢À}§Ð£,Ø2ª èd×™ ÓåÑE à(ºHÛñÄE\zX: .ÝŽ.+œÃ­t ×zh"ó]fÏ+Sw“,JeŽÁS©4.#0¸7ÆŽ%cz´Æ%8V ):…gÛ—„̬&K‡b”p+œ#ì6 ×z°nÈæT°ujf¬ `[»Ø9+7*òÄ´ 4¹é˺Þ¿wÝ‹¥«x ½//, ŠQÂ,p7ØÊ_ì×*á'<ädS Êà©1Á'¿åñB^úÌ:E5 ¥¨Oß8ŠNzC‚cÕÁFiŒµ- g¥–Å(áV8‡[é®õ°Xi³HhÖðFѱ Äyþv4„x ‡…+í:_wl2m›„ÀYc´‹Òøq, z,`éPÌX©Yaa¥IxQíBphÉÒoÖ-(éСiJ ŽÄ>b9Qsa|ÞÃz.çÀ dÞ$8V,¡ädIä°£\òù±C0†¹vÝmÎ8ÌÊp­Ç‡6ïä&àÚ²DpJ¦¿]jöìqð Uƒp sÄï•G§WaÇ*œ‚4à0X†ué‡Fùrsº›äe®FëK“¾šÇ*Só—æi4¡äCfŠÃYJztSñ%ølÙršºǪƒ!'£§†«])M‡b®šÆVš„õø£ìKûèî“—»T¾ç¾´Êùw[ÉDôí}ié·Ýêã¶¿xVßo_ÚÇÄüÁO §%ÿ¤ûÒ>jùÏ=ûí°Ý›÷Eè<²¹§Ãݘ‚²¸<ùíâZ”K³ßnLNØx,ùíÆ”Í*Ût×dÈÚ;å•å·=˲.Že æ{=˜Ê1Óƒ3?Ôâ€Ü—„À§gRÊà&É€à4zV×a˜ÉCÔ ç+M‹zè9v=°Ú›Æaî;Eóá$=ÂÚ›ÆvrÒ#¬Žy*+‚‹CÚ. ³öEÚI•P-Žë0ÌsìjEp¸•.áZ­ÛÁá[Ê ²Â“þ8ý~tëêÛMÒm¨¥‡ìE§^òÆ‘™™I0l:ž6 sd„|k£-†9¨Áv›„k=>xP:cA ïà°9Å¢¤‚yyÆÒsµ·‚.Øô6á6¬v´$V,¡¼•F•€nc©P/ÅlðßÍD/þ¢Ú™$&Iç‹åæÂ2yV§±Y±Üô´%,lç¹Ï£ «˜Iœ-mBPì5»XšÚÒa˜g>‡UÍ8ÜJ—p­‡ú”ŸÚÄ„Kÿ‹2³¥cf¢¯Ž…éJŸ²ÝÚÂô3Íâh§Ní\‚ãÓ–åepá~I°9¡cØ®ëe…s¸•.áZ­:žyÂÖßûN9õ2]í8™ Y^Ž…yš™§CR ×MBàd‰¶‚âMÖ% ¶© d6ô÷0Ñ¿™k%ì€aÎO×èô¢$¦3g’÷©­‹Wà¤k@Ëæ_¶ß;“‚­âŽU3–+ï˜yÒUïáÀ e™ŸÛïf_¿Ö@kÕNñ"]St; ÷œ`“t¦™L%n×§Ó1:u6èØcrn ›ÞÙà”„^=$ !áž×a˜B­ްÛ$\ëaMqèìIwØß7ÊdÊúŒ›ëÇxü:Ö‡O? Ï{çÀ²ø&À ïêÂÐÞ Š¾ã¥@1[¢™`a¢IxQ !`É‚/2én£œÌ;½h|g•gº™õ% ïcÉÚí÷zZӳⓆw ràUrd­8ó^¹ƒ 8ЀøÝì‹â×X–†›ø=´æñR²æð-ºÖ'X3‡]ëslŸ±sèŠä’àXuXȧÛGÁÌa.áà­K‡b ú”ít ×zhS<¹qDžG±3ûA™L°Ä1S{ø®9!ŽÃú÷nçöqñÐÜ93‡„Àªƒ×(ƒû}–Lµó¦C1z|·Â8ÂJ“ð¢víˉ­ITÕMJâÅUò9ãR:õq6&Sé¹0;ö‰‹ضIp¬:8S S¦J@RƳ.†ÙM©ÁaV†„k=,GÆ0OeXæ§Àeú„Z̽:˜û°ê„2Â0çJïÅŒÙF Lá”Csc™ÎÙòÒ`˜ 2Ô„à£Mµê^Uú쬬zWA˜pÑ–U_H£‹†œbe¶UÇàŽ×0ëƒpwyŒâx5-†QÀL³Ð\j Ž?†ù¬½ /1Ø(“9€’n¤Ñ’„ÁoXØg•û@Ò&!pÒØCPзôÐ÷!·ë0l :çÎaV†„k=,£IÁ¹¾D½zÎ(lJ¼nêI‡],ÇÝŽ™Ñ¤`Á?8êÁý!Á±é` §¼8Î%°©Í¥Ã0cFjEp„݇]^w©Ç³.ŸÈo:v³qzT$+ÃVcª-½CKb¤r¯ÜÚ¹8eñÜ$6,ᔄ¯?$ÀÁÀ*®Ã0J˜ÁáV›€K%4ÃdeJ편ê\- cI‚‡Mx9©O£U›7s®FçqÔÅчµ.“8›s”ÁÃvKBça¼¥£Ûq½e…s¸•.áZs‡±G›Ž¥-T7«gM>ØèBÐéÌMàŽés›øâèI¢\‚áêǃåìš|Ð$pw^: [Âös˜Õ.àR Æy!š’x ³ß²&¹hH"Z\.Á°é` £hˆ0$Àì£.†9ÑQ+‚Ãív ×z˜7e Ëz€ú¾QÔSW¦Yðj2ÇÖÑxbÍ1ý) LŽ-åM‚ãÃçNñ)œKð9œë0L‡ª™ÃdfeH¸ÖÃ.¤à|=&¨]zÝ9wF„(•—tiTÅ1³ôñ¨÷âиʒØo9 ÊPKCB×­ì¡£ûVö°Â9ÜJ—p­‡}hU]=]Źo]Ç‘v¨·—sÜèÖæ‡SuÚ9tCÆ’àXu0·­S œÿœK‡a†Îs1#ì6 ×zØ/C˜ó©9ż1¤*Mç{šíœ¹À?ë16ôÎÚ^ÌŸs|ú%¶‹rXBÜa31^ : C‡Ya·I¸Öòws¦HŸD NAh¦1“6Ì0tÈè1-"š,R“‡Êïo Ð40릒…C=ÆÝÞp†ébª αŒV /*ñìûm橆 E×Á±yP'wºŽu«ca:€Õ¦ÆÑ›n˜„Àɺ…  ¦˜]:Wl–ÅtÍ çp+]µº:‰ÎÎ}§p „+çhÅ™K ©ñ|§C¬›On^ óÜ Ï3d“wÍ ¢ ˆÌlÐVýÇö{¬ÿZù«év™M¹µ-¨„l—xJÅ!8û%ž]ýFé¤ÞpcÀÙ»¹ pìá–EÑ€LÐxÍÒàeƒs˜‰^þR…ˆrs:œ³])·(:[E„9£¿+œ­â@a ÈØÌÔÒ~Ï|â³eÄŠMLC€MLCƒb rç#L4 /*aîo²ŽÉºúE™šõ]•@4ë…îÎ ü¬™¸çΑ,‚aŸÖ ovÔ!Þ_?—ÃÖå¶cÙ­^ÔCÃÈ>bþ´Eѧžúa)¾”ÔÏ‚hæîÁ ´ñ;.yk[ñÀþÒœÂë„Àax}P^ £„™fbH¸VB+6ªÍÒ«õóNÇÇÄóça>$m æõžŽ¡wò´upäã0R%86ð$œ‚ËÉ!Ó$ 3CGî: óiæ#‡Ûí®õ°i‹­¸<wß(³ê«Î‡Ža=²¯áyÄö(¾Å8°çw`P5Ðÿ3¡I„­8zí|.†™JTMŽ0Ú$\+¡cãS.¦5½åË)'¯òHÈTm$ì]§ú}ág½ìÜ9à´m ª»±‹]¨‰â½E,¡/ÌX‚™àatŠxÅV V¬Ü8ȇÍÀ@`,^¥Z³Ej¸¶•pUn_Xt"¹Ø¹sôÌ:. àÁµ¼ pÙë1ŠãY#¬à £€™j —ßÍytútÚRtPRÓÏIÏ s½°Tí¿Øsò þxt=Õ¼$8>NÏà`EÐp6ýXL‡a:•ö2ŒcÙ­^ÔÃÂ8¶v§ŸÆ}§Ð½æãêêsøKÈŠ4~Öùsàö²±Iì®S0ÑáÒ§I°ï#tÄ÷V‡Y®õÐý;H-m+—‡^¼”S“í#õ©ž¡Å¨Ÿõ"Ÿ¹ý~Z„Ê‹NÖ´‚‚ýoé1 j‚}i®Á0J˜ Áá&º„k%´Au [Œ%ÙpˆÀͶØÅ!ò´0»¬ªC™s[1w Ž¿oQ²uƒ*ú^Ó¨: 3_²Za·I¸ÖÃvž½lCóq,J¯šG©ÙÙêí1 ûæÚЩý˜R¨§…€€ªáùaKoÅkÕ…zWP«¯ä» ÎF›„k%´5žYƒØ¾8±Q8Ô ÚÚÔ?ã•NºA yÈô°x•qàÊ»|. 'ßyl¬ôlé!tÄâDXf¥KxQ»+Y3?5hÌ‘*û#>½žªYHÔïâõ]jÁa»ÚB‚ïµSÛ¾7,-Ìm߆?\]ï: ó{@6ްÛ$\ëñGMàý"^œ8Cœß7+õwÊùž ¼ûYn¸—úO™Àû»mñ¬°Y3ϯþÏê»ä|ÏÞHK)㚟”ú#)û¸å‘Â{J Â:”ä »7¦ l\–°{ã ÊÆ¥»7&',Oؽ˜eq}ì‘#{Ôr{âØ&#~ú#nj<Å÷‹§×ùÕëL¯n>½Nò7fþGz:^½f!§õg~õŸü­¾ÏÁ½Njyîý¤VpùI­`Z'µ‚'NjÓvR+¸â¤Vpm'µ‚+Nj×vR+¸â¤Vpm'µ~¿‡‹ I r&ž:ٞ幡5Ëψ0'áÿLˆùBTZú6íÛ”ôiùÚ³øáÀï}²Œç…±',3 åäP°÷;gp)5°=üX˜)’yWÝâÌI¾$8VLÜl”Îs%KB·l9®ÃoùYV8‡[é®õ oˆá¯?UnŒ»ïÞˆ•q3$Â>¸T Çà´…‘Šæ`ö«à€P“KX8ÙŠgPŠžû ™Ë_K‡âç‡e…s¸•&áE=4WÅi« “~ã}QºÞÿ(˜!»Ž–Š“Ï§íg2ŒÄ¶çÉ9¦®á„Ǧƒ%z‡<Éaë'¯í †™C­·Û$¼¨‡%8KºI_ü~Mìdõ@ZDI°Í:“­W= ˜IÎ’0ì÷âQ“Xu°„Ròä­”!A^ Ó6¸ÃLè®V‡Yé^ÔCß[:eÔK³ï¥,{Gç{dTË;fJá®õâÐ…à%Á±êà[p ƒ‰!¡ î1 †ŸŠà»MµÏϪié:[”ÎC’õhzÞ )(䉿0ƒ¸5÷_O“Eaƒ*ÌF¨ÙÊVî© É ÁìªÁMóÒWã?œ#gºxç™!üEу ÙüÏuô™·ƒ ÌÛÕöÃL¯ŸÒ&Á±ê°þiÍá–Ä-Š™½É¬pްÛ$\ëa—(Ø:\楂÷2˜º+ª 4c ,šÉo,ÌÔEƒÕÎ1§¹4 ËfÝ–¾$ Oª›ÅÏË çp+]µZ·Þ”†y;«„Áœ„#©Ìªy5Ä=R­Šíò†¹sL; a7KFl„\WáÄ ÌK¼bVÊ p·Å/Ö0ÏH?]yà!åûNÀwPxÁ0 žRf’xn ðSËÌärlÈìÎ( XPE/Bçæ¶U×ÿn ™mÑ,°ßÝ>+~­€åÀÉ\~ÇÙ×Ssh9e$MP¥·k³“š4²iXF1sà豌àÐ ½CB`ÕaÆIi þ, í`â¾Ð¡˜ ùÍ ã+M‹zhB~dýd™aišƒ‚Ä­ÈK®gu; \†^Þå–"×èÎQ‡zÀ.Á±ê` §p+ñ’€ÕÛ¶éPÌŒ@f…s„Ý&áZÍ Y»nPÖíä÷25¯®ôÅŽppÚj7ËÙhNƒýn;7¢x`Ϻ”ÊôK€îX_"ëV˜àn¢K¸VÂnQ˜ú¸ôpé}§h*'\$ ¯€r¥cκü×í `Òë§²qȘÍý­.!p¶@AÑã¥KBá*öÒQì à²Â9ÜJ—p­‡ù\¶Û¡ë&è05‹lÓ݃™Ç Ö32Kì¡§ì÷Ô¸¯…eK]i¸aÒ²ŠÖ©é]vµíÏK¹q„m*àj»VGºi®Ìêë¼oK̆|5:¨’[×ÍêÞ_å¾w`]¥w\›锈ø`YÙBƒb”pœÃMt ×Jص9™Û{Ò«EA“bï8C’C/ÂjU hS¯¶ý>숓—œ¬Å¥ÑC8s. 9S3 œÁ ôâ— èËÊM×Á:'ç÷¢y¹sIº‡yhbnœÆk óY6]¯pŽ–tÄ%¶´ ‹‚{HùôM‚îÿ[:ª¥TXV8‡[é®õк͢_+®[Ó¹ŒSZÕ•sêÀÙyñ,ç…ù¹í„#MÝ—o«–pÊ¡þŸK(\:Z:Š'i +ŒcÙ­^ÔCÛâ° ­èÙ«EéLVxÕ &?ämÑV¦îױ߱bÅW`Å«ädsJÕÔ‡. êµ]® ú½^n€ÿîöyñk 4-éiëC,94Ež÷¬HZtl03±úŸf’Ñ¡NƒsÈóW§B%V(»¢Ì%»ÂìXç@5srXaËn•ð¢:C\ÍçàÃù™áÁ•Šð3Ý0¶Q±ÏnÄ ‘í÷ÙuS±wÜõ~òEh˜`Ya :K6çrªÚ~5»Xn·Ù® ÒE({‹÷¢ï‘ÉþlXƇÉ+yS`´£i«ÒÎ1Wº½¼Áê)7Px-ø*^øÖ–Å–n°l n  ¸VAóYæ¬Ëý°«… w\³ó.±g¿.Ì$šY7³8G=Í«4 ý~¸ HÕ9LBå†é¥£úýpa…s¸•.áZËÅ_tL×â¾SN¸‰Y ×Dù]Û^ñ<ù¥jÛ³ßË´¶fÅû7§&@?‡P_ à¿»}^üZKžµÑò*¸û"tîlàÄÜ^ï`Ài™€š¥}ûužº×à ;nqÍžS¤ÑLr°CfjÜ®ðù!”ûïfš—½˜nYøÛmMèî‹À)Yé=™g14ý02ëdöᦞ…ý~&õ¬¸ÃnÇ£+ÃQž/éDL†lÚíg3ÍŠ^,×^;ÝiÍôäÒN±ÈcÂŒnfM.;5fâg;Iïòï±E?G:ÙEÉšÚ% /ß¹éPŒn…s„Ý&áZ»R èRœIÒŒàN9y‰˜à©ñ©>˜¸üVw÷ÒÏèØ9Ω–¹Ǫƒ%ŒÒy fIèyS ×t…~þæÆyÁ«ùÚöF×5ðæ©—ƒb¾Z‹¦iS¼#ð¸0çá]÷pÇ@x´/ cXuÀC‚¹¡#ưÂ9Ân“p­‡Ö a¾œÃæÃ‹Â½ž‚»NO'Ï»Æ(f¦nÛhïˆRÖMBà߆Sl$ 6„Žn›ä—ÎáVº„k=¬)úx?´ÎÕt±sšÿÀË`|·„bkRyçÀŒs“à8¦ÏAiÌ©¼$èTvéˆésXá}nÅ7ó­´Ä)Gªïe0i‰tD¶Å‰?p;\·-–ŠÙÚKç8ÃÉÊmAÕðünÆï^¼%M©ì ³/4œÃMt ×JèºC9u®yú¹A™ê?ž¸ÑðCýG\nÐæu§†ÈÃ3œ¹ǧ_’»(zÇ­KðÙ§ëXÓS·"8Ân“p­‡Æe’Cî~•좜LÓ¤£Z,-û¤ØBiˆm¿c5unŧˆ¤µ˜3fêi´ì“b£©þ»Ûçů5°+mF0š‡?"¾3ßÇÔYœôáˆë0v ÌüÉÅÖëŒ#kì<$8~¡]P¤ê »„Î{UCE·+íÂûÝMôâ×J˜/Xur:<ö”S#—8ÏÀÇ15²‰ uaóûÎQužç |AÖQ¼kX3t|† ÎF›„k%ìn0 dé˜}ß(£¨֚Ϩè„!©M l 7ec]=0+nPå“] Hgd‹OâbœÀÅ7÷h\¿3¸y^þZä'ëqåÃvâ!ø¾ç‰‡ÊùžWÃ|ëÄßàj˜x¾ïyâá£r¾çå0º·üãç>`8w]ã%ó.ÖJËÿêË7ß|£¶#F'Š?ù©“ó«?ó?‹üÉÊ}k‹¹ŒLÊØú)îûJç´[ðÉÃÎ8.Ã]å·¼ðóC;Ýnj”v$^”éV(á”ÊÍK‚ÖX:??,+œÃ­T /ëñÁ¢ÁdßûVY¬xžuUë¡[]nUUBÔÊ/¬ ¶šòÐH]5ÅÕ¶ÒÏ- ÍRJ/œÃMT /+ñ¡‡ÎÓÐÏöK=±R½UóàÅ¡Ë Å{E•²êAMÁª§ÌÖël¸i ÕïxUrq¸Ágz|a½wõþZ¤- 㖼˹¦Š9ƒˆâ†ˆªÇlþúí¿~%t>Ó1ŸÞ}þêµô‚çSúóW¯+7`å§ŸopVG†.y O_ÿãVæ)Ôf=ϧwÿü ~È9ÓÓ›÷o¿þŠŒ©Ž,Œ*{Χ_îF~}7-³>‰ÆõKX?žÞ¼{ÿö?l?=«Ê§xŸÞ¾ùÒL;’¸{ˆO¿EÝ^£»­5 Ô ?‰šôtã #é‰át=Üל§Ç× #d}ùÅÓÏþòÕkæo9ËÓß}ýÙç_f`ñ Žþô_^¯ßþú§ÿóï~öÅ—÷_¾ýí§OòŸæ|ùé/ìÏTžþ}ýùÛüC/~>}õù7ïW‘¾ùòí7ï?}ú?üíùÓ§äRfyÊŸ¾ú!ë†àò>Ð[~òƒ_<ý§W¯óTÚòð¿~wÿõ—o–ˆ–!íß—IÇWív³Ó§¯ &j÷ÏoÞýõÛß~мO~ößüé+Z3ögùË·ï¥Â×':.Oô—_~þÛ;žæ¿,›6;¢ÞgzºCÌŸ·*øa˜°=‰ç/-ÏüݟᾯOo¿~÷énè¥ÚŸ½yÿÆŸ|ÛUþ×wŸ!äÃ:¿þêùëûÛ÷o¾zÿs3ZÑßËëyÿö«¯ïÛ˨O¿ÁC_¯NÐO¿õLô7õÂ^kèÈ´Ú9Â'Sf¸&áéÖÆY6súðò1…ùwi” Ù56$¦ÊÙ ^û;p¢½B=Å«^½B†rïRÒÓ7¿Þ˜¾øÂ:%é ÚùôÍ{ë{Äk÷>Fß¼÷®£_غÎwŸï½Í7ïß½½t?ï/?fYéÒ&qÐQªØº/ýÚâÿÒ;¿§oö¾ïë½ÿò3«fOÿ(2åq5iŸ›éµ>ýêE¯¿äkW«}óå‡wï^ؽ$|GïøòÝóëûýÍ»ùT4J xÙ ¾£!<ýÇ¿úúþ«[ Ä™z­íÙzÛóþíý ž©«ùùûÏnë3ûñ»w_¿[_ο®¯îŸß|ùk)–®"<ý½|¹ùoÿúofÇë‹6tŒÐö[içÀ¸).•"8ÇÖYÎ#A`•/÷|ÂÔ¿Fß¿Tç[þüuê‹ðƒü`ûT³7ûOŸþæ+éUž?ÿÕ{1+LÍ2­-ÅÈo¶#Ž;ß_±ºÊ¯_¿–gýb8øùÛ/¾zûËÛ6ŒÈ[ûæÏ—IG4vñ>"ÂÁ©Ð?ƒ[þòcïw—铲À2½4d‘—&¹+ÓX î”T°P[/“>lÑEßw›ÔÒ2éÃeävi¿SÒ ‹>(<2ý½žQûnƒÆïñˆnßiÐâùÿzBßñ€2þT¦_ˆ k…IþüàØ±±?íÓØÿÖžmrendstream endobj 255 0 obj << /Filter /FlateDecode /Length 2240 >> stream xœíZÝÛÆ׿Ð<AÑ,Ý#»ßË-â<$µ‹Àq´€Õú$ÙPâ™äÅvø/ïCg?¨Ý•(Ý]ÜMa܃HîìÌììÌìofïõdŽÍŸÿ½ÚÎðüzözFì×¹ÿ¹Úο^Ìþð\høRh¬É|±™¹)dNiYÐ’Ì•P…fb¾ØÎ^ ¯×YŽ ,JRÊ C½ËÌ+SkTe9c¬À„¢?wÿŠ‘м,Ñ…!âÆ=ÍJó@$êê„ï*šÛÕW ¨Vè• G—É„º‰ö“ÿ±ø+,ÉxyT³B K\¬fˆ¨lñO Q‰ rÎÉ&GçDù÷ ô3½-lØÑ’Æ2 £Šâ[¤A("äV”ªI]´¨Å%~m .Îî—P˜úÏ$~wü~Ô„¢ÔÝ Å6:“PäLt:¡(ÆïVHý·Ê] .yu&}'}G߉ޅôNw£èýºQìÝ(YžêFql(¦…¢þB0iD^›?ܦœoœkblÊZëfüü‡—yâ91ˆÙ'üWΚZPô, ø˜ÏA{m[Mã¡V`R‚²Ø €š"gü…ÖeRJÊ„/Ѻü7gš¢äé†Xç| XD3Fa÷L;ǼhÓfêëÐÎçÑU€B {ÃkŠÚxÓcg’±9ʈoE„ñ2ÐW”â`-8Ѷw>JL¶„£a0ô¥Kh7Q´Å“›:i1…i>ƹë)?ÿÝŸ¼út,õèۜ€ãc¬|踖?Dg_5Gņ[lë¦94Ÿ!²C{Bž¦‰¶iªn$“É]ƒ½ªõŠmeÄÊÄE‚¹Ø uzÑdûÀúnöo>¨,endstream endobj 256 0 obj << /Filter /FlateDecode /Length 3854 >> stream xœÅZK·r\äšC`>ÄœDÓi¾I;2KVì@liÐæÐÚ—ÚžÙY÷Œ,­ùå9¤ªHv“Ý=«UÖ@°‡íé.‹UÅz|äÏ‹ºâ‹ÿâÿÓÍQ½¸<úùˆÓÛEüwºY|y|ô×çÚÛÊמ/Ž/ŽÂ¾ÂUÂñ…Õ¶òR/Ž7G/Ù—çËU]ÕÚqgÛïÛ«%þ”–מ5Ë•”²ª¹`ÿèþ“}DÚ+çØ$RU]ödéðֵ߳llמ.H ¼e¯Ã^*ö´Ðîr¢~ð¿Žÿ Ë“&_žð²²ÜÃÏŽ÷ËãÆ*X)Å+©+g ’½d¶›ëJ.WZh½®DÍ—+®-ü挋åJAÏÊ!™ª¼ãH¦ëeƒ×ºÃVµw‹ã§GìÓå§te…ñ:ˆù’­·—‰«cOÛŸªy¦ Dæ.®íÓ¹¥q^)­yâ»âÞVÆj™¸{vÂÎ.òúdIS¬Œ\¬¸¬´ò" ùû7>‹Ô^3Åu%u­IøŠ}Y~—¶rRëå¬-ÀüB’Žÿü’Ó)'€ ØW9ø©8û8s‡ý>ÞK0>x Qy-Ù/KmÀ6Ò²fý&QÐ™8»È&Ûvq6pÝý¬ŽæîÓF³íÕtº@vµ„MTK/Ù>N ²Ã¡¦òªÖ%u1C›¯ú4Ž6‚m¶a´“Å6)­wQ-°‚&Õe=LmÓ2ûÑIJ̫Rˆ\í’ô¨ ÛÃèÎÚø°Î¡YÓ-Qi´`mó ‡ƒÐÇÖýØ4³åaeW¦nY9:¤NnÓt@:õHvÙþB‘Àmaù+¤h0Ö¦g験ö2w–.ƒ3}u|ôÝQˆ¥zÑŽ¡¥c§Ê­…í&FÉÊ)‡1”YÜ–‘íós ums~/Yµ\«¯UÚA!ÒöZÑì:[âz; Û—HÇAe·LêÀ=n6AʰWÁ,†³í:’:˶I¡|âK4-¼Ê^ï¢fƒl8†­Ù·Ñ͸²Â£ ¸aJoëÀ0´Í¥q™”q'i§JWÍÝgåöÛô,ȬX;ådx3Ù F#,;”º(|òš“ÅÊšg¸lŒV!àìÊøÖEqÂÇKÊ·û8æG¥ÁhyäÖ›zË<«U"¦vº~óv»Ø`Ͼmöþ){Œü°v`lV!ÉJÔ¢JÀ M¦µa…E,oѨZ}üâþ¶]ô¢ÂÒ Å¬ÛGX`>¶ˆ•ãü@kŒŒx^"@Ñ‚Šâµ€˜…r¡oŸGJðΜ󻑥k5ò€‚§Z§TéÄû¤¯bò l1ùÁÄÔ+Q •!ÿ7][|Ý´¿æÜ§²J°çzÙÀØÅ¬¥$'ªùÍSŠo5ª‹µ-SA¥dYªFLábªöP%Éè,',8”áMå¬ó±a¿$2'1ì’:lÉ/-¦•·uäèíBb(À¢ ws¼ ƒÀ j»Œò!¹±’¢Ò\õ ÐaºBèB $óŒ@¾ÎèÀÚna÷@þtšÇró*0"ö<=¿Þ'ràV‡)¸aÜçP†rb+ )æãèe0xÅ++eXãúòùã9]q_Y°Í"# …:(aч…êñØ›¡XÄ‚®Yw…÷5gYü¿A:EµËÇè!¹ ªûàY8 ùæ,°òÚß­Š3s¢ Ç:± è»ÉöA 8O6*1åÆh÷m³.·ã8«áÎÖg†Â©*f­ÒÂ) ÅRR|•MúlXU³¾ÜŽ£}ÅõR‚¢OjéGih·oºýdå2TFo‘aÈ'Pv6Wñ Dµg«Q–ºŽßà‘rz „žQ„‰ãgR/6êöU O )¶íçˆC KŒ´uYÑtE¡‘ MÂT¨4 $|0R!Ðnè¡ ¿àðØ Æêòù©5’ìÙöì|ý¤}w~648[ ߟ<ýáÙóËõæ¢}wÂ.šM»¾I-£ƒ0¹dŸ\oÛÝn{õɃÏEb«ÉI2ê§GN{56fdHçæÄì“x.*”H¹¨ëówÈί05A†Ù$ã†NvƒKŸoPÊ ¥ù رöùÅÚb ï‡ vFFÃ…G¯vº½:…Fú‹ýìÔ ïo7oÖPÎn7'Aò°Òç_ ŸI«ÉuÖì›Aû¹P¤÷ky÷f³iº›“‘ºãÀq½E­.TIØï?jÖëÏ ç1ïMr±í`UÍÐ’gÒeæyGi¯Ë“qy†‡ $W(°G”ÁMr¡séíøÆ%“&«Ø :¡Å*`(.L}r†©wí¯çÃâq_ÔvÓalaQA8 t˜,Ñc=<Çz¤É°¡¬ÇÈAã@æm¿ˆ‰(#™Fj`¢E_2)P'%ÍÀDòŒ‰Ê™h«nA¼ø¿ÃNr°jØM„:¹ è”l2”¯Œ²þ èdle¤ö‡A§°ç@'IhÄ{0'$ÂÖø®˜“t‚úó1æD“A6cND¯ÆMð&µ»Òߎ9‘¥±ˆÅHBÄáÂÿV̉ÄÓbè» f¹t¢éNC>‹ï•Ÿf~R¶úÐ)aM¶–ÃúT2„0 Ú¤&/ÖIú®S´ Aýû™d°Ÿ´¸Xß@é}¨MÌCô¿BL\Kð£Ý6U9æN~›*+áYý î‡f Hð…E­îf qÚ‚_À¸Uô%` 8 ƒÀ÷T‘ÂoÂ{»r“%PÕðRS§ùD'}„y·ñ¹æ3¯'D¢J"š¶æDd|Ñ!¼Éà·õ:Êêå7Pä‰-Â.Íá·ÑÙK†ˆu‘ÜÄÄ}HÔAñï,©AŶˆ‡BS®HeÍlѲ³(‘”Œzœf‚R°…z_g„Ý÷õ–€ OoÓ2¥åC#âÜèu‡­˜³wçÐ!ÈC–õcwš49×.ŽmÏ L\&  džÄD|Ó6¹5OGMŠì ä€}s™èíÈ ÆFk«zœü ˜§\V7N(ÓmÍÇû=§!Ñ’W=&T…º°³rÄ]RhÉ»ª¤hŠ~ÈiÚV|Ú®/©^e;½é»þ€Ã¶#Ée1Ù¤#”0ˆ 5ÅqÖ&z=ŠLë„QÊÜÏèõÉåèthÒMÃl§aÈ$÷¬vQbˆdm’zôÒ5öyÀë²EÒé@ŽjÛhw‡gt´4.ËiwûÍŒ†‡ëþ9KÆ2EéLÉ© çÀÞ¿Ž$`Ùb+þÖ£4qÛ¬{GÉAùÜþí>‚O0­Ÿ…8+AKÎ*b¼&£%8ë0Æš@ ™aUã2(°K„„½yö8·ÌyddŽ\Ü’Õ _‰àX.àvÓ ðʧßöðùÛõÌAH˜ÿ²`”ŸÂi‡÷@Þhò)’‡Ò[¶i/_‘0 ®’7w6³Z¥<²ÙvU”5ÅÁL›‡Žu±ÅQí*´È“‹÷õ±~ Ǧë‘í²IÝ 0‰åàL…v›uÍ8òåfìa»»V ï+kÝ\Y›„’ÎT”4½„P2_ß[ß¿¾…V° èáÿýOk±ÎQBüªÐÃÂÏ¥´NjG¤¨`)l„ó_œ·¿¾é–+/‹Î<ÛÏ"´`·³¹—ýAC"É´as€xÖò*L²¹§üçã¾²ˆ%x]))Ãyö÷K¨8úĪÍ[ ŒßfÛ#—¹„²»MqõÆ;ª¨G†¸ŠƒŽ®?å]cáe6–ŽfÆ7+HCº¼™”©èCu# ¨Ô»\7ñ<ê~:—z+Å ¾ÔrGG_2x‹,7ãÉ29™>¤ªÞ÷j_¤÷n» KHþ9*iÊr­-z†fç€$½ïÚ˜Ö¡Ð$g‰Y¾m™¡"Äø"¬£Ä9"ÖS:»ss9a´¾Ͼ( ‡˜XóT& 5nú³_lÖ(†Öf³iV—ëx$ŸŠ¶S9M*Ax¶„#ìrŽ×žËòo·k·=7FåWÖsíúà§=‘Á®Ìãñp-þ:ˆqM¸>°‘dˆÕÇBuz½ððÅÃjî`^K_‘ÒnS'eä¥!hÙ)ŽmóŠ¢ ¸³÷c†û,2œñNk.aŠs×óTzð«6eC~·t¬GÕ,UžqUÇ®¬˜‡ë7™ Ôß µv“î‚ô Ê»ft·ˆ¿G@—øvÚÐe *QÙ)°ŒPV\Ýn?°6Õ“¥áKkpi© ˆ—ËÆ€&bUm©v>p_«dµ)«Â6¿ÄKWÆã\&Inõº]æò‹zSä(hIô J‘|vAÆ©A ¾Pm)õŠÅÌ1ÝØ³ÅR,Ö?À-Ï¢Sëg`GM«(ªnë* Òn- ý*^ ig«¨Ô]† RÇ7I‡3ç¨YMŠÃD:VÜÿ öÊÊ•Bþ&åŒ@I-/øÞ³œÁäFê¤j†.·G¨_Rb¹½“ }Ó«Ôžß|6{gÅ5ÌéJøJBô fø:°«¥VqTqM@ðþæTº¨4½™!:öÅ!WNWW‚›æ]ïdOò—§@àë8 ûqî.Vœ®Öï6»Ft¼t2€º¥ ú³¥ú˜U­òxž)⼟ÏO ¢9™xž°ÇC)vÓŸç8óÊûÁœ¿ÞˆÙnà^è :>ãmunyèZè]À¼H2þnÎ0 më^FôrªŸ8{˜®1ä÷Ú„¬¤¶Ð“ˆÊ¤{m/ây¯\x·LègÁ‘³àÒ„ÀÇ~ö‡ètŽK;Ã>r+k…ÃxeÏïÍYQÂæã¦N+{Èçôƒ2J<…è AÖ?ÎÞÕÜã@NgÆ*ŸtlPIÚ.2—Ќ¦+þÛvÖ–zŽº÷ÁþŸly‡}:½\&Í[ö)mÓñmÌÌaþ0«,i„ó³ÊoyE¤É•u‹#×)?ï÷wGÿTì­…endstream endobj 257 0 obj << /Filter /FlateDecode /Length 2941 >> stream xœíZKoÇr\äšC€‚öÊÜq¿²eÀ/Å dÀì@ÌaL.é‘w9ôÎP"#¿<‡Tõc¦{wHIvNÁgvªë]_WõÌ/sZ±9Å¿øÿt;£ó‹Ù/3æÇ§Ûù§«Ùß*¿TŽ:6_ÏÂ6çÜVܲ¹Q¦rBÍWÛÙsòéz±¤U–YmIß7— ¼†QGêÅRQQÆÉßwÿÉ"夵ä‰dE©&O/˜&»¦à{–­Ý5§ pgÈOA€’<+4]N4,þ×ê`žÐ¹y܉Ê0&®Îf„‹ÅêИÂKÉl…×K¡*«5’>'§›ë®_ïKÅ)ÈãtÉÉU‹švwBºuóú«æædq.äɳ¾úöb³=!çõ¶ÙÜâY97Ò0òàªmº®½|p¼@‹8GEçK&*%ʵççݺO"t®Û¦½Z]ïÖï}Ù^ﺓþyfKU®š/ÁÔÙÀí MñH×¼^'¥”·óc:ŠÙÕ}ÓF’—¡Z*°ù¬Ý^Ul¤¦ ‹/–Œ* e„Q¸áŒ†¦¢HZYk<[o¤µžÍV#GžsäÆGeÐV"l`¬YÎM½ɲ‹lˆF?›‘£ÅÑA"$çÐ`xräú¬ù¹šf*!i˜v4•`ŒUR)–ø.A¿JK7xÀ‘rvþؤ i±îOž~öhŒŠÑ¦âÎ1ïŸ=Ÿ–Ï­©¬££ľ¤Hþö㤄 Ýõv[ïnOÈn}ÞôCj‹!{öí"ïÅ͘´YšÚ˜X_t}³­û”QV’ïú³jÔô‹Ý/eÈë±P^Ö›ëõøäk¨´}ýkòP!.¦ß yz Uyº¾êl ^Vœ°Š)J©iC<Špf·tè<æ*2Êþh¼ä_/™‹óáÇc¢bx‚}Ñ}^ß~À—-‚Ú€YÜ ›r… í´…/M¥µ£DViªA¦S/É<ôhµ[×ýv}ÙÿsÝ¥*±dÉ+õÅè • i¹£°d¦bR²ñ—·±™,—K5ªñ]sqÙœWã¢S€¼îÑ0:]+‹6î)–¢½lO´Ï °üE'òSÜy&9Áî$´|'•¦5*ä½P¥i`'ÖBÝËiO£I6Hc™x'©»2ïà¢êN…Fš·òÐ [b„Ó£1S&a*''žãR@õ „Ù°#x¸ŠhÆ‘ „³Ão gißÿp6 ç€&•u,Ãmx^Ë0Äiûn€v?ŠIi´£DË´ž¨JZ¡¬Y"+fÖKšANœj6ïB3ŠöÎF4ƒ19š‰*¢]”î‹]s“Kßo/þ³?ÀìÿÌöGžܰÕCÆß7=ÌS\âtǡà ó”Ð ‘îj´0°R<8Íoú¸Ü1Ò·x C s}˜À Á€vfW{ÒD´Çh×ôÅ8ÓÇeä-YâÆÁép”²!Ûz †d’lJNHî :$Ì`p­}_{V2É7Q*мŠîV†äcn›ÌæäEöóu6än¯"’0›&«ÉU>ׂÏïÒhé4×€_QóððI2Êj²Ê]ß)†kçA¬Þt)JôЫƒŒ„ýÛE f¨â}¨  Núë,¾Mß¼\ [D8Ñ1z›¹{Ý-$â±`4•Ò8T¶ÛȈ…C©K÷Õ§ÅIèÑ^ÞéÄ£.JcjkFÚh”ásÙ‹ÄjÏ#±äey0ñ O/¼%©ž¼0ò?ó–hEÕzQ0ƒ³RŸle‘Xž‹öá銰«çp_vɃ?v aP…Ë6õuv×5?æÏr )ŠB®±Ú¹ð¦w}½+~.ð!÷z”?üN¡„úbpcÏïc(¨!IƒŒMkBYÕ!“˜ÄˆÝd˜‚Xàœ}? ¦PR®ƒ=/•¿e7EBÕ1ßu¦N³-2°õ  y鯰ÆÊ@wYc†9ÿÇ ׃·ÅÿFlf¿» _¼Ë:ms ºÃ¶­õþ·ÐWE¸8©â0bê sx€1m¯¼Õ&ù%ŠúÖ}ðàðÎZîEؘ.Ö¸9·,N3– þ.8ÔWRšé€ûÌCÜßGÉ ‘"yÞôåæu–V;p†Âjæ2ùÚKƒžINªÚrhw‘‹Ý n:¥`䧸T”™Ûn£W”,;ÄÄ)1/˜OŒàOë¡/ðT¦ËPÇC­½Â+ÈPº‰³ºm€?(»Á²ÔB,´ÖæÕ~ñÎw E€h¼ pSò‹dØ“æ"¯ŸÝ> }±š}3 ‡âj¾»û0¼l†Ãp0xÍ9HÓšáa8±ØkE¶ïÌû“Ÿœßs_ ŒzW<í£•‡°,V{ʶ§ÞáI²g\¹3Xö´ÁÄ{dW&AݧX‰ƒìaso( ¯ Cùš¸‡º¤¼JIa}rçŸ v~ó,ý’KN1Ì×Âyÿ—ãü«|ëJïŒÌß;„&Ê¿æ€0uy+”cd,AŽnwˆG°â`gôïA4'4°m+.+HßÓD §Ð ƆMǺ *ã' œ\¥t°= :~ޤ«7ÛößM@³°©ã¬Å®«oÓ-컓¯Sh¥¥2IÌjßDË“I]b~Ÿ`/QoÚíå!<Â×ɲ  SØ ¸"·ñwÇ÷·‡2³ûD'¯|òªÐ»E®ESt˜°èPKòfç÷£‰€¬³R @‡Ìl¨þïV 9‹<flÛe9ÖÃ$)OC"¾ù‘”{ ÷ÃPZrã7‚”0²bÖäj’’¡Þo5ߨJrWðeô¿O%¥L6¥GOx„cO’ýÞb ómLFËF+ ÁF“¶KɬÂHy08T(@Ã=cŽÇÁœ×1E1Õºú†é2BŽÄÆ>íÔ·b2ÀŽ‘;&«€1d,gõ—ž`›PqQñÖÇ!PÐô–*„uß»ô^dÝ ]ä!`ŒÑÌD’ÓL,4é æ&ra{G'j8îú0R¸&4®ü)’ìd”¡"•žWrãÇîÇéÜ„ÍÁÕ†àžB1^i^{’ï♘;àtx\ ‡’—8@Xm÷b¬,f‚9'_û<ÐO¶Íb*e ÷Õt8¹»;e¸3ïœ3¥Ån£u$ùˤ­B£S¶–ZOØŠÉ1)t> øpò(œ0ÆB­©©¾¡œ{òÝ,úÔì¹’*UÇŸ',wiŒ*Ž)S' 5•”ØÊ,3Êçø!@(›„,?cïQAC kê¦Tp´L{…¬À=0@ß¿œxê‡ Ç`z¯/&A¼Œcvø….–Lãᒽ’B ´;”Y²@9VÝ`4 ªaèŸãwh±æí$! @†¤~Ñ¿­ðÒ … Zò>£Ã›ñ28¢#€U¶~ȉ bÃù/žòIé7›ý-Ì÷ÐH¿]›ˆôЦKßé˜7µë¾é #ñH÷hú3‚%3à#Ê ˜ 6ýóï °‹ý¹¾XO|b#ȃóÍúfÛÜ<ˆ. Н<û¯š›ñkŠ–Ùã~}õ$°:!·#ÿg¯Ü“J–…Îwx¡—éSZ1A~ì³oxøñøîér·¾Jä"'ÇSsôû]êüÇãwDù>é¢s´hüŒ(¼-Ë=8~G4kÖg“_&eþ¸/ßµÙ?¬Ía ‰ø–î›ÙOA}yendstream endobj 258 0 obj << /Filter /FlateDecode /Length 11161 >> stream xœ¥}ÛreÉqÝ{ÿ‚IB/>­píºWéM’-Ù ;lRᇑÀîfH 1Ð’_ï\y«ª`¦iƒ1ØÙ¹³î™+WUýïWÇ9\øŸþ÷ÃÝ›ãêó›Xz¥ÿùpwõ÷ïßüͯS%Éy#\½ÿíy%\õpÕJ;T®Þß½9ÅüöýïH¹ŒMùèç‘IÿýÇ7ßþÇù(©…cœäï2rï§Û›oß᱇^ûéúéæþË¢úøö]JñÝÿ'2N¿XTVõ›§O¢tÔ|º»ùãÓ×å>­%=ªbØ ï:Ÿ/^yDå¤B5îîß¾‹Ô =åÓÇ¥œíÛÇ·ÿöþŸßü×÷o~…þìWŸÑÛ5Äs W¥´r>ÆU=œuvé\êÕç«ÿsõåM>—‘Z¹ú‘ºþŸéÿ¿£Áú§7¡õ\ÂUm-븺[$=ž™išéyç˜è9RK³? 7¨!,iœK_,س”Áo¨¤RµÚÕ´@S!”¥ yÆV Ó°Zš…½Þü ½ë™æÕ+ã»)éG:Ç€rjX;M6z+´Ï}ø3Ê-á<Ê¢QÆ9§Å‚>kü†J: G¼r ­5 “—¡ÏÜR ×°z›…½Ò¶\ÏÔ±…soÜ4t®uBÃC?gkü†J¨¯yÔÔB!¿À£¦eè3w†ÔÂ5¬Þfao‡´-ûHýAìn•ð*§r#u õÜ`…V-f“>£\Z¹4£X bä-¦Æ ¹¼¯Rë‹ ŠÓñ׋8/@ž¹'¤¦`4{¤YTx„ Sçn‘P DÈè#ò@Ç$3reÍŸ©ØA¬¯¡ŸS˜üYÊà7TB $³†Xc)Ü R>ÿ›WN_¼¨>7iп=šã™g¡Kª¬ÓA°&<Ë:1œkôgT0QL†P ö,eð*¡•ÇÕ´ò¹÷¥ yæNÐZ˜†ÕÒ,ìí¶ÅÌXåH·¹i&À”M(6²Ï:hŠSB‹{{F±…\ûª@ä¯ógU<xŒ¬§ïQ á™–å™»@Ë6 «›YØ*/í¡˜ÀcMX+±Ÿw ÄÌÅFöTäLÏ#AQ"ù#J¥P•Ó¢@‹ç’°g)‚ßP !ˆÈo¨…ÜέÏ"ä‘ûAë` VG3°·BZF×¾úy“˜—´Z T»¸Žaõó¨·/£Á'N ú<ý¼KÔK›óâVÆôóV ×°z›…½Ò6)eƒˆ.é\M‚¥’¥êODøáM=ÎKõ…Ò_½,£b>M öÜ4GŸ ©Ül³@ók”¥ yæ~ÐZ˜†ÕÒ,ìí¶Ñb:9Z¤1%´¨©앎ÁÙ=ŽsMþLeÒjïb H*CÓ—ýAlCÛ$äס /WNû§uyæ>âMÁª&¯_ÔÛC‘L†›dQ†Khå“ס:¨*ᆌuIehjŠGÔ1ösÿLnàËÛö,ö¡oªÔA•´÷+§#Ó¾Ör AËèZ…1,Ö³ë1ž .-z)Üj”Ê«„0f§j@GŠxâØþpë$JÙDø/똀àh1‚úQêPÁ¹C‰f=Š Á… Ê›¨˜„ªmv¨Ëé…Ò:Ï¥DIËÐGù÷Ò1% z^D&™†)eÒ©q…‡$ƒX(.-šÅh:¨&ò]‚†Úè2.E"Ë L!›wè`p0Fœ«Ü™ ây°jQOš•kž‘E—°V¦’ÈR•¤xJ:ÇMÕÊL¼-kOf@’áÑJL`TQÉ\BÕ ®EÉšœé¡„<Ñ¢C¨¾£ó8ß¹`P-»ëd¬/¦mcAn–]"ZØŒÈχz7%õp­Œ ºôU¡Þî㢯¨»óØúÊ$k_ ?™ÂäV)”c’/LÍ‹–J:a«ØM+Áq”F‘"qÕ ¹’:%¢•˜ð(uD¤¡wS‚Ý©ÚL‹÷“H–ỡՙ]2‰hQ/£(2Ñ2Iá=ÕJ@á‹­ \›.li³e’Õ–'¥Jv[@“Í%¢Eñ¿A–­ã]B<¸VÒ)tyU¸èÖ¢ØÂéß~…‡Ú%#ûR­Ô÷ȾÐôì*ÀÓ”ˆVbr³¡(r …i󞛣¨+zœG»¶!µ‰h‘ãJag0H‰"iÏÕŠèÍÒhA ú¯@ Á%¢E=!#¿-!Ò$ØV°…XowÑ59 ººD´¨§ŠžÎÂE»¤‘;IÑ´" 4öfu„0ûص‰„µõzKÝJT ÍìæZQ²¦hµÇ^dœÑB¨„Œý-“Phn®Åkeö”Ø„{S‰h!V²cî˜íwS±»Vä™9ç=ú|ìÓ]^ÖYo‚eÒ7Ð`Ó9CFJñ­¸D´G–-ƒu !ˆÃµ˜˜§áéðü°…W\ÂZ=0yX*ù9 *&id½¹Ò3ª{Ç|ƒB DáÆ ‚à °]‡·é– ŽEâ»Nø.Ð|™ð&Y'<6³*-(‰¬Ø©@º©ÑB‚, …º.‘ ?Õ׺ "„]x·u» 2Á‚‡úà]šª^ ³|L k Ù'(`PeM¸¤îµ°1Æ:€£0ó» àHØ—4É:€Ø@К Ü…½mbiV¾L,—, |ËR"÷;Àà£D‡þä~ ÎÒâT@º¶lå—> %0¬©ï†€ÃûjÈ«¡Á$àìõVìÉÒëd="Ì^Ÿ’Ùë ´.£Ç¦S4H<¦D´R¸˜›à)>EIv`?“'2陋.¸D´ oºÓÍèã»EÒ9 W-ŽXäÊ`èt·íS"ZˆšÑvÑ2 `íª…Ôu…‡Ä¢Hà§ØÏ‰D´5±êegónJ°ëšT‰²Æ«¼ÊúJà„Ê”°Ò†Ò1Jh’Ê Ÿhü÷dæ†4%¢Å'Š$|pž’îS9ŠÊu“ È&É|déhÒ% œL Ò —X‡6H检jƒ€S2!`BúŠ”¦Ò¼ \ùŠ8;‘ˆÖˆâ&c ¾[$²dD«¯Î!q†¸ù²Ïyq &X'dõ¬Ê!^&!? V‰hNr¨uM‡Ù%-›—IH£ëf éᥩ7;ü¸¡I‰Ý[†‰“Ã)-DJÈ*Úº›’8mZ½c™­¶on¶Rà=„Å–IV[´lÎqq|œ%¦Õñ‘ñ€ ÎßLÇ—¨R’×€'K²waÑBÄâöU¿.Áæï0­ÌëimßÈÒ–µ})ãÞ>•lí«ä=Îã>zØG i@—,c˜ºdeÓ¹#Od@¼8÷ÒîÜ]²8wì!µé9HNœ+—ˆ‚%´p> K‰*©@O´"/9ˆHCÜ1^s]° bÆÊo Iyð®Å dÈúÁ8ÚÌ”L “rå3>Blp9W .­Áäyû¡ÎÑ%¥Îö Žfb†Ä¹bÝ0Ù?¤ 3LÉÄ ©–§¹­Â‡7w[ˆ—u³e’Õ { ›-ĸpa ñ2l¶L²Ú¢ •77ùbÙ'jA¼¬ëDuÉ2Qɰ8¡iìå\Ñ¢„x‰œ,KÖaÌ?ÍH$)YN †R)Ö¢¬TºAè®»E‚£F®U9©™«‡Ų¯žŠhYÖÕã’eõT ûc3E®Ž Sˆ–›%¬†±´mIs–˜/,!VæÍ”IV[µHRãY"£È%¢Ö>´,¢ºd‰¨XIyk!g‰-lG,íõrÉR¯vIl|9KLû 6D̼¢K–AlÔñŒ#§­¯¶(b2œž¶L²ÚÊ|ˆzm#‚ÝVnœÛ0ºdmcÕ°å¶(Ö ×Ü(p¦Ý–IV[Þ8·™¶ð.luêiî ·å’ÅV?²ä6•C´ð¢KD+ò.{ v‚.̪R–ÜÆ§rÅØöé…4 ·uz¹d™^mÃÈéb؇±#vnëÚ%Ë0öš×‡´†p›{w!vÆ­»L²vuýÑ6[ˆwu·…ã¤ì*Ý–K[ƒþ•œi !/\ØBì ›-“¬¶¨7ybz`äŒqæü¢•›€GŒ.YãÈ[è‚…¼4SbÑBøÜK– 1jâ ÇÛ˜‘4¦‹&vÍôfM²6‘rƒT–jeÎwÂ'G\mÕš’Y-’¥sÜj•‡³Zù ¿Ë꼦dV‹d’-¶ðò…-ϼÙ2Éj+Gán.z°B^v‰hU¾ÀYc“&š„rv­ÈÜ3û™sÆ)-êhð@Îì»daöIw\™9g܇‘ìó‘÷¥.YÚMÏÌKd$qBd¿0Št/1%ÓK, }Ó³ ÏÌIcr‰he>ÔMùsÔÕ%ýhFr’, }cð&‡Îû§+¼É8ÊUW>%Þdl«ƒÎH{¿è¯Î„÷Ú_&Yû« –½fNãÕš¾f¯5„=DK%KK² $µµòüBêÈC$¢‹€ì0ïîI­> c”\Í=tæ ²mšìñ—æ¡§dzh’Îxæ¼G™â>ïcåӨ˼wÉ2ïc kÆCZÈ Ãî¡É~í}ï’¥ïc×øåmä,rBd?ïèrJ–6&êû°µ‘³È²·‘ryé o£K–6&ìbÖ­•7b¶6âúFZ£Ð”,m¤D“™³È-þ“yIý,þOÁŒÿ$;vx™9‡Ü ›Œû2¼œ’ee'œ^«›­Ø^.¶28î±ÚrÉb‹Ï=n¦è¯xa)ò±Å V;ñt'ñQ6(Õ&þM$¢•å\V¥,>‰–I*ÞªuìÐ2#…ì(SôÌ[rÉ2‚YN$-¶8…¼ðÎásóÎ.™¶~…;„±™Kó™’H>ZS~öö`âŒC¯.¨<ך’4·æíŒŸkMÉ¢eÇSË%‹–n=L%L'±\iJ-˃¦–K¦–ÐÙ.Y´.úfí­©õSWh=7̰å-ΘEÀò§•²†÷wo¾;oßeÎÁO¢a©Ÿ²ÿNUþÆ…¢SÇßLöŸ¨Ëß¾KØ$å¡B)ÐÛ~ûÔïœúü3‰]Àä®E sņ›–sÑ®µÑn^[R-“lZJÎ,Z*Ù´æ¥WÓZjÿ-ƒ€x‡‘ÀyÀ*Á…ò‡æ£RÆi¢Sä?Á=žò”Ö)í/tî«z¿±v6E;Hš"ä߯Ð)ò_®ß&l™„ÓŸ¸èÙÜ)áamE{\Ëþ—O7þúðéñoþÛýׇG\ÑæšþêÛ¯GÂ]8׌ÝÂEÿFe}|ɱø ä\bfd.bTÞªÏûZ3J¸O€›`pÈB¸úBÂù#¾Üm·ùÜbE2Û”«Dv"é¹ËàÌw+òQ8íµç€Ùïü¸F“C>nÁž¥ ¼a\ºÁfúŽ<í,Cžñ†ÕÂ4¬–faoÇnÁwÜ^j“P¼ßJ2‰ø*- g¢h™¤:œýK½Pæ£ ÷¢Ï„/yÒüýõã§Û›/Ÿ0]¨’aÐò{ÿ?Þ¼ÿëïNïßjÇèùôðéúéîÓ—§eúûåoŠ{œ±ú•i¬RÞnöÇ yÙqÎëÀÀ÷,ñK®5J(ò»¡ ©HôJ%Ü©Ž]v¤!‹•%Ýn;'áù—Ûuî»8ù~$zó*R}¸SýÆÒàëè=œA…—ó;2¸,ÂïÌû%I ‰_ËÀùÜY¢÷Bf‰\ xf £lUžWDûÌfíÄ6†%²?óøb0$vXØ2(?lËù[¶“ª‡eHô|ç1¢œw›§0c°9Nv=Šc Ë(]›é'“ž—ð3‰ãàäv9a(mo—“ƒ4s‚èÈ À^ÙÉ]ò Ø­¾+=I(ýXÝÑeèæé¸QåpšÃÖuNÌÃjf ì|P¶Hü”Ø ¿œõ ®üÄV“›Ù·~îª4Üê`ž* cy·x"}ˆŽmŠ|Nóv9ŽøÂÌí>è° ÷I¥K ¶aбÛwØ6ZQn°mÔ¡à}ž׳•óDwÑí‚y.\$Ûpè›ûÏP¶¹hmøÑ )HAÛ0Gâ m`þÉK Úpâ\ÓŽÇÙ‚6œˆRø¥  | ¦¶q A@Úðƒ‚ö ´aY Ê0І“ΉÄœ;Ï}eëCl=’¥9bëææa*b~Ëöž)`é,AgŠ×z:´3 ¯Ïlx­“Ï•Ñ6¼†ó¸ÒnÃk=jT3¼†TOµ¹ùâp ÇÝÊ×:&°H®aÉÈè\ëAפÃ50:29 ®á·å¸†ÖôàÙ‚Ö°k)EZ뇋Á5\”’lÁà~¤NV†Áµn™ºÃ5igx ¿Š&ðÖð®kv5¼ÖÈq¦ ¯!‚¼¯á×§x ûY¼g²ì^G¸À¯á¸ ;:lü³‚"QÀÖºÓ¹ÏËv´†$|~S´†ß/Dç›¤Ý—ÂµÖ \ã_0ÜàZëê9®µ~v¸†›2ò–oäµ® 7¼†ßúèj€ 4ÔÐ<´€El°ƒ4ÀÖäþÝØÀ`GyInÍX4ĆãQYfúÞ²(•:é·®[ç“~kY&ÆB¿iéB¿)‹2é7\àÐæô›žÛ_è7ÝRœô›œ\é7;Ç?é7šÂ¬û47r‡£èMÀŸý$‘“xƾµ¨ÍØ·*¾ÀÉ·¢;º“|Ëzyn’oI³F'ßb3´eìa¬.Íè· 'ß'ývTé«I¿zÁqnÛ~ãŸHfôÍ ÁƒN¿áâîäp¯‰Ž¹—ÆW G¨#œwö y-îì[Pæt²o$ÚŠã(àeúœ}Ó}æÉ¾áNœHœ}«ÊyûtfÏ›¨‡N›…}²ðöͺÝé7ùÙÄ•~“I·ÑoY ¥I¿©³Ÿô[>$ïYø·,~iáߺL®I¿%ÅE“~3jrÒoš…-ôÛ€»Üè·"x¥ß”sú­‹GÞè7n“~ë‚Òúm<£ß¢Pt“~«B¤-ôÛäpOóɾ‰Ý¿”} ‚ÓöM©5§ßš†«•~K–«U=×F¿‰•~“²&ýfèÈé·2&¬ì[²m²o*WöMõJ¿1Ù1é·rÁ¿i޵ðoQ°òoÇ3þ->ãß²HŒï<=ãßxEoü›â;çß4¥Úø7áWþ­ x[ø7©áÊ¿• þMÙÆ¿ ôüÛÕù&f%ߤN¾éÁ¦|ð9É· LÖJ¾IÁ+ù¦T›“o‡øÌ|SÄ·oJµù6©¶…|ªmáÞDù7ƒµ+÷¦LÛÂ½Å î­ ½°ozLe#ßD°po‚¯VîM`ÆäÞªB£•{ãY»qoé÷6,FŒwòM£ÅF¾¡ãòM1áB¾… ò-KÓöM/§n웂·…}T¸o<žù&ÌÚB¾)³æä[R¸9Ù7ƒ’+û¦ÔÚ¾)µ6Ù·gäG˜|“]Ù·CÏHû–øç”þ­R[FSοµbXθVu_Ò ¸ÄA%à0|L‚9W4K^¸!ÏBÀ•³0gFÀõn¨Ì¸Ü’3.$5l\Î&'—“VŽ\‚#àŽªt‡ÿž]·Àé \­rŒƒÿêÌ(¸õ87é5£à¨Ó„3èFñRZàÐ-6å«'gûB“‚+NÊg› Ýð›­B·tÚÞ×›ÒLÎÁv=PãàJ‘îdáŠ,……Kº7Y8Mê'  À8 VL®\òpÊ/<\Ô™<œÝs.ô³â=#âäêýFÄe%ø&gÄæ$â‚ö»qø €5#â%Ç'wèFù$ât{i!â šO".šŽqÊït£&%t&µ1èþLjrEÕ5Ÿnî¿ u\ùˆ*ã¨:À¢öõé+:#éØÿˆè£ãs\¿ç¦æF0 k¥6GðÎkÅTÈÅq­þ· $-šë¼¦ •ÿûëmþ‹9|‡bé48ñ`û¥Ž_1 §O¼»ùãÛ—êÀ‰¡}ëÃ:£®¿ÐÜÅ­½ö¯Ìå‹)û¿ËžÛeD¼¹Û&Éfno‹ÀUÊæOÏ×*ÿèÞŒ<€ðj—µGqõw¯!ñm¢;§Õ*`«¸î ôöúññåi‰_Ooê‹NõÛ[FrõÊ< ݽÖëØz¤Èù½¦„\¯< ¸‘ %$Ê=|yÍWyÑ(Zþéåf€ÓjŠ2OÚŠW%Þ¹Úd?Cå]âï%aȱQ¿ÿwr"ØH@Îs‘Üà#GŽ ÕE¼NügPvB27Oj“ÆëG™°4îWpuûÑŠÍûüåBéÏW½ûãÍóõÆ·À0 Д»X?Xk”šÑúÁAëÞN^ßFQåÁJn;ˆ¹¹þ,CGë4Ò¢}|§„¥ŽR쌿¿}T{¥!D•¸f½/Ä[é߬µN\ëëÐüéÏë"öîiÏð®Ùú¶ïóîùÅ2$´Z™¸^áÊG•'Zot8¡*…âõþeäÖd «ÄŸ“_YÒ/&¿ð&úvh6ÎàÃslÌ–ê³+òçXå›Ìܲ|¹x¯ïöïGïÁO«˜þß]`‹B'wua¢i_(¯„ÝáÝk¯‘ëÙ¢ÂÚ­Kÿ¿ä¾—þàäï׳)õM/Cf|3*ö (‚}LjÎõXÖôáöæÓ%,I/ÿ=®ÞÞª-š¿¿Ù3…9Pˆ|W¹Iœ#\¾áÝ(¥s66 ¹–4 `3¯z0§ y9¾\§š~Š|Ûžvñ“– ¦pÇ Ö=Vv¹H¥3g—e³¼~˜4ÞÖ]?æNˆÝ>¦¼~ܾ͊Ë’#üRÙ†” ìu£dX‰Üå‹W0TF@ÏêG>ýòµüãÍ¥«µ¾m„Ÿ­wPù ˜‰2€‹o¸¹¿€ÍLÚñs¬ WêÅéÉÿÔ¾ÕÃòF?ýãÛ¾ƒø‡×óÃ¥* ¨›sÛ‚ ¬fá9¶Ãª¢‰ÊKYxa2âõôVMoqÙàÛÐ2{SyrÆKrߤ>^p_\2ù39&¬¦~ád•Ü8.ÀõÜ´n˜ȵ’§ûÂX= A­ÜI¼×ú9…mµ{iÈ¿%£–ie>w(|Uc#̯?¬ƒzsKÊ“£µøÿÁ¡Ïa§Iÿȃ—4£þy’|Ãô/1òâÄ_TÂÈŸ_¦¥å; ïðéø44‘ù2ÿõ‰çÏG%?~z" ¶0Ô/SÊj‘å˜ÄâßÝšŸ·ä€|ýôŒMM|ð%Äbò»ž>?\¯ÈãÂ!.ÄÙ£µŠSsüÏùr[éFtvßk½ŸíøHÍò·%ž…I›ßHd(är^H=}¥q.÷þ"'›ýEÞlgv¶%áGõGý)¶…?žèiÝ+`éáQœC9ås>GíWš}²¦ƒôÓdsÂÙ¡gdó¶v$´åãÙžÄÉRØ‹m‰"–´w¾Mù‡§/ëÅýÃÝË;íÜrIÚGáœÞ%%]örpœ#õfå|¢HøƒØ¯ Œ÷1~©$Zê‰:CK:Î4¦¯•ÀÈkIo~xú´™zÙ<~Êän¾µwáEû8ô4¬Á¿”½›—¨\ÿ©câËõ]í}wº½~zºÙœì«½‘±SfÕñ]ýó{ºûáæöÓËößò<·Øt®Ï¦rxê¾ÖëNL~7ÁEæ¨:§Ñ§[KmHÎù–“»v#¸íŸ=#PhªÌñ‰ïâË3 .‡ÿÓB‡q*ý“¥àòt>lÔ¾µ¹_¾,SùÓËó ÇLŽlDbûéùP¢Ø>u¯Ÿ¶çüòÜçr_q^~@ëÿ¼’É9endstream endobj 259 0 obj << /Filter /FlateDecode /Length 5044 >> stream xœ¥[Íd·qrœäšC€:įõóã7)[bËJbH‰´Àv}hÍÎŽZšžÏôZRþÛó+’E{{G+ †±ÃêbU±¾XUúëj™Õj¡ÿÕ¯öËêæâ¯*CWõŸ«ýêw—¿zf< sZ’Z]¾º([Ô*ªUpaNÆ­.÷“Šë˯ìÒ€¼Ä9Yà_¾¼x>ýÇýz™g‚ZÒTþvÉÆ8Ýî®ÖZF}œ¶ÇÝáN >®7Æè9%;^ÑßDÕô¯E¢ïŽ×iñvÚï¾;¾?>\KNQ „Gœ›“-$\È›iXo4Ô^ >ÞÛÇõ_.ÿxñ‡Ë‹ÏIŸquóHÚöJÏ^­œ n^ÒJ§¨fe›dfçW׫?­î.ìì’ nõ-TÿGüÿkë?/Œ‚°zå¢w³÷«};³2Ê.³XG 0–i–—W@wqŽ¡ÿîý¬£ØÎëBŸ60ÄùÙÙU'ÊJr(kÚÁ"0F• '¸ºøâÂXüÒÊ…@Ê£SuhÄ•±!o 4–Þ˜¶S›Ôl’ÀHÓ mYäâḣRp0ƒ<ÊšvT!edã)èdvña†½!â'k»,³5+»À T 5ÜIaí¬S[_aüÁØ0vFÓ)ðºòÀŽ!#ÛU£``åh:º&UІÁr3…ñt6í,äYùeIÅh  â¬ÔJ;çf£°ÖnvkoI^^_aêB„"ƒ ÀëÂ6ˆK)ÍI¯*,5Y„9ðš6:F±ïŽ}ч8{H©é§H¾Ø È{À2.†½7ÿö©è®®á(a±¤µ†”šƒêÚºð  1Ù);£fë²ÆŽ&c°”•ÂÉ9²7ªf‹XM^ÍZ‘76|ÖÀÎ*Yò1¬³½­^ íæ5eMÞË2TŒ&c%prŠì‹zÑóBYE…9&rÆÑ~Nn…uʾŒ=[˜^ÃÉœkkøŠFB÷Z`˜œŸ;^´ƒ!¸ï‚_u ¢Ä eM;X Æ`)™ÂxŽì‘¶OHT ŠÃÞ½€hM7†±Ð¡!êDáa,n×–”¹´š]øw±‚¯ ‹¼£Bàˆ&ï(b‚2‡²"ô*Aý¹ XwŸ!›,áðN«CŠT—2] ,µN¥Kç$•ðf \VÁ ¼f¾R$kŠà¬ÉÀ¿³ˆ¼}Sm)¤CJ0JÙì;5AË+/Rš"dD-0 º*A .9¸ Dß^²CgÀù£‹À,"SQÊE)8l¯ð;¤Tè–}QÒ[…0uN”ø¨2ÝŽâjI‚¯¹g×èLKxæÑ‹|–¢c);…ñùl”¨®žÊä…ÊüAy `¨fñå(ø[£sà5%;ƒ,è†Í |§Àëƒv0Ä'’¨S ³‚GYç„Z¥` –’)Œç¨‰>Õ »uHÑ:¼a™C· Ö‰Z×n7xPÍ ŒIxÍ:ek)°U˜G·KÑ1Š”ÂxŽ|¶\¢,AP‹ˆþ­U+1ªŒ(A¤Û†ó0ƒwóºÕ RkÞ_KŒF¿Õ MƨòñþA~:’ =jÐ.’:öbòDAaPÚ[(Äcð¦â¼®¯° @)ü³u ¼.<òŽ ƒå •€ÊpgQÖ´…` ²OQn³è¨«ŽØ Õ, êkÙÍ 9"0NåK´#`c~ØÖÍ+¤yQ¥Ð¼¬°nXehUÆFàäÙfm„2â>|¡I5dp¾­yœ÷â>S1©ÜŠ4 ðÓ‚/ëMÓå*êÛËUÕðeÖE` ‘)Œ‡È& ÎÑ} LÖ Uã r¼ (Ë}6 q¡‘`Lj‘B¢Sàu³Y…4•W Í$•‡0Z•¢c);…ñµ1³4xí£)ƒ4E¹ýæÁ º&•©´ÑÚª%ËÞ0Pwû((ðšÇ.R3BÜt<ÚéR0KÉÆs»¡·QrÐØ uLä֑LjРt*†ü Œ&+îm…ºnCÀ)cÂF¡Ž6hlR4 –›)Œç(g#O—51jERŽ˜VñÒ0…†g½$¦qJÎ"Œ¡‘ïc§ÐÖ­&nRÓ6µäm,ZQÜ„¨,cÙ?¡”Ä6 üä¹uëÃ\£D²˜|„ò¡a b–((ðºO>£‹J'•EŸ|Tø÷,ï²—©iTôÅǰ×Ùý„œ˜†¦)S äÊš‘>^ç¡iÈò0FP®”Ú…@[yfZ!CÓ&°¸|™7eg¦UÆ`+…“SäBÑzº°E Ì€ZÀZ8²îéÏZ´îÆŠth-R”õž%^·¸BZ[)´·ò%p•¢cd!;áÙý¨H¥ê±37d sªiäLêEïM•€¦‘4ÕåuM3‰¢¶Ž¡—\©3…¶Î,hväF€ËEngQÖØÑ„¨MÈJa<ìsúĦ]†áR‹q:ÒlÕ=ýqM%$!š,×/sðbêÇb‡ÜÒÝÿV‡˜Ìö6ë×ÉV‡t,ƒ*9_âcƒ¬)¤\ë©o¹¨´WÎâK®JTñ“EŽF {¹¿x>éeYoôEr²u¡éK©—¿D,Ú§MñA3–á;C|@¾õUmobÁQrÉX!Vä7¬ ‘XýJ`,† XHeTÀ ¬ °èV ©œz$Nø.Ê'ÅoÈ ŠÍ+ú@…V¡hÖÔL†49üiéÒ “"°¢¬8)Ç:˜JüíΚã-ß—ßQVv$B«Rö“é“ë»›ãWô鿈>¨#$}¾)«;}¼F”Ò¦íëÛ£øþùÏý®¨1F§#܉²bÎè@ Wyp9[ä€D•—HY4)¾í¡K)?9@4èÔº:Oþ1|ÑPµC A‰w¤ë0oâØŽ¸Ž#Ö¹"4âõ– tïHcmÚe”õep–$(‚pôçk†Øêh8[)·É(ŠC¦Ñâ”bØÎySM¸b|I[V¡-UÔ'™P,“‚Ð ±Á—©õDØR;I•(MP|—'}QIÅ—›B¡xª«¼–š¨ý–šO–æþ]ñH=yêÖ5Â- »æ½Âmº(¡y8¢*~Àš÷Zç§kÞkÜ9|YóÞèüõ±k>—ªZjÞ[r%4!ÕSªµT=}Îvoª‡Ðô‹P½çôÕTè‹`I0Ï(J±ƒø{TAà½|Ê$TLeåv“€“,%8šE &¤Eh¸íƒŒ…ˆ¼ì >Ñe.ƒ!Rå&c!倱@žŸü ôe1ޱ JõXÀ­—uÛcÎ9„Èe—iW% {MqÉçÝ €„r6‚,±èq¹ŽV? ¢Z¡w´¶Ä8+Þ+V*+ÞÓ•ì¥âÑòyªôD,Çš! z‘ìE- ´‘3C‹C Ô<,M¿ˆX ëf12¬IÅ[,з#5ïI /³w4n=‰…T\¬ÇÒÒ} ÌÑÚb¾hfµXp±¦Š…êû”©ïrTÛ¢äsùjÏQp—ËN/Ð +}t4,Ý“~C~Q!OEWÛ ›Rg'vWÈO©¾´¦þ6RÄÓ³¹|«~zxy}»Rt­Âô‚wù ƒõúâêüq/ö,ú\õNÞÝœ¾Œ3ð¶ÅëɰÞX´…)Úé¿”Oñ†wm[ÓÛ7„¿wC@º8½$Jøð¿­‘È\6Óööõ›ïã þcž¼ÃË{Õ„ÂbØP¤›^ èV ÷@Ïi3=ü°$g*?;ùdo{ÜŽÇ;V–ÊLÇÃÍøÓWo{ë÷P7-zúv4¬Ð6û·Æ ÏÇëѰµ?¯Æþš1Ÿ+ÖÓðá¡ÂAçŒÜ¨’K¨ S9cÁÓ.ù|â™Áz3ö÷å™#‚sªo3-Jœ;Þ­5ÎdˆO{³©ÅÓÊ{{•½?}U±|ˆÉÂ6Fù©¦ƒ–Àfú6óZŒ›uŽýº<}³éüSo6ç\¥bO J±Z¶õðÔ¢MK}"Fúáî°? ‡~ ~éZUpKÔ4IÙ}ÃvxÚz6ô:‡ÞÅîîª(:M*_W¤Äí7YÍ1œwØ0ÄÊÃaÏ›ÓîYá0júŸÓ'ºå eÓïÞþÞXD6&º0ýAl¸N9 <{R^Ášé™ôÞ“¼´}(®¥S˜Ä ØÇ-Rz5ç³û~áÈ“Òôéöqô™éO·ƒîçõ† »^pyØD©ïð%m@Aµ>MœkEi&A`;ñàŠ.ž‰ˆBÖ|hÇÆ»Gùšúv[2±6Ó÷kz¦{Cbo4ôó²!ï'W14EA(Ÿ¹š­E+OÅÝêáÇ>Gi€ÛK­Ê²|ëL.µJöGÓC Ñ­ zÏ›! «·âÝÞhW­D3}+éìª+9³T?)hŸM4uµéð8ø'뎻-ÝïFã.¦Ól²K&]ÞÈŸÏyù%¬Çp¬(K6ìàê?ÏxÊ Éæ©0 EÙZGÊé- f)oòy~õÌ:I‡"{A«Xßþ_9Î%‹®¨y-dýÑBÒŒE“rz1 û©‡OÔ™ë®BLý ç¥×¯!Œê|±nÿýÁî‘o13Ýìj]·½A2šŠòåDÍ‹a®dorÖø°j} ,–Â)šîÃÐgº_ºèÂ>ÛR èÌ7T¢#Ì ù?W_AëÎPÇ*hïr4}1N13x¬ œ@…*çùhªsJ'!ÉUðïbbȘÿRiI¶t€»lhºŒv\2µEŸ™,#ßÉßÍšöÄAÐ`¿ÕÓþñœ|q¦¦™Q`̇Ýú\À!Ðàí‡N¥'ŽÓÃO ¸QS£SÿóY{ŸóÊ;ÙÓ–¥=×ç¹jzõTo¨šph¿7”Ê2Nêñv+Õã&Öô¢Msrû§3g ³óä«ô3Dõö£Ñx@³èÀ|Ž ®ámÈ’çæáoÁÏè¸p¥!-c4;Ýn¬¡ü|úï»5îÝE£Û„gPQ·û-j[šB£&x¹=n_LïÝ#äïŽï½Ï?Øé~{õÍ–†»Éó>ì¾÷êöú»ýî»÷ ¶sÍ ŸgKŸmò›MÿûãOþüé³›Ûý‹éÕv¿»ý¾þ’f÷‡Ýãã᎙røxõ¼,ÒÀ­×ýÇEÜÓgù˜øßûŸä.ï×墧oΞÜ4 ©éîáúžv'HoŒ=þްÐÇò§€J2vߤ›¢ƒ˜ms–A±Öûpu¸»B{ÜÞû Äèù³ýëÛãîî]ÿ½[7Ü‹uU,¢o¨Côi¼Ï'0]ÖúŸ¿|ËŸgýðÔt¯÷ûíÃ÷/º Ÿ%ërúýöööƒõ/.ZwS¤{Ê̶›YŸš¹ãTg?Å $; w‘g7-((A> stream xœ½½Q.7Ž%øžaû!Ÿy¸9!)$ÍÛz§Á>ôV˜‡î}peÙî»È,wÛžê?"yI}eWuU× ã¦ø)(*B¢¨#Rü—çãõ|>ä?üûöñt<÷ô/O§RŸñÏÛÇóþêé?þªÜ‹ò:y>õí“=r>ó¹·þ:K{þêãéå:>}õÿ®Êmn•ñ:ëªÿÕoŸþáåÿøçOÇëÑJ?ùb·YÇxyÿòöé³Ç9îñòõO_¾ÿ]ªúã§Ï¥\¯sÖ—ï¿•¿Ëbz¾üMª’«ùé«tÜõåãËïúïéǾÉ-ýˆŠçÆx¯óÝÃ#?Šp&Ð]^>¾ÿôùZ¯a”úòÛÔÎöÌûŸþŸ¯þëÓÿùÕÓÿ½Þò¼Ž×뾞Ë9Î×õrë9ækÏ×}Ž×Zžøæù¿=ÿî~’s•Çk¿Æ1ò7¹ÎóõlÏ¥œ¯×5ô»¼ÿÝ?¾üê?üí?~’ï#•>ŸÊ¯¿W}®¥¿ž×)Uÿáåï?•)=Yà›ßý”d^c`<÷ãS{­­íù¬ÿëú_þÝÓy÷þÚÏçÖj{=ëóG¢Œûu=úþôë§ëX·–j%Õª³½–+×rJª5úººžj9%j¥×Ñžë}•×rŠ\åì¯÷é”­VŸãõª¹([­Ù×p™¹(¹V;ëX¯7Õ"e«U®KfGªŠÔúcŸ¾¿^½ÔüåÏÕ¡5’Ú\ƒB¿»NÇÏëÔº^Ðb_çuË4|iøÓh—þtFIª¶Ÿ!^VSGÇzIßs¹îúzÎí={-Ï^+½g¯åïÙk¥÷ÌZñžY+¿g¯åïÙk¥÷£û_â+·{Ê¿kò®úÏ£kœ6NÌŸ›Çk]3÷x½×_É”¨ò~åܯCg å~]/ýnçë´È땞÷}®—ëå7™B§t7jôa/ XÔ´>ë3]Ïñø1_—ŠŽ¬,PÖ „`°õàMgðÔ¯¹D(¯}ê &¥®çÒ?ÇR@}•ïõE—>:^{”ßž®s)¿’k\ëÛ—ÄekCŸåZßb<‡sÍô’Ú°²J²Ø‡²–õ™Ú°²‚?2eÊ*r-câuľŽõ´ÈófYã¯GO5VgI¼Ìyã”KÖçàp.}ZSV–'(kPJrØûaZDÖ“Xh?eÍ˱TO#Këz·òÆŠh½(Ë _}ª¹Fk:¼ÈE.îNX¯Zt›?®kmðÇÒàwÊÇÇ÷H¯ÖÖ¢Ë^"Ù¾N‘˲ÇÕäpfžk“3õ”Qsv‰N ,Se­R]jÃÑäEDV–'(kPJrØûaºqi¥Öós ^¸è±zÅ÷¸úmßÝ¿Ø5š¬—Qcrå–ý›9oÝ9ØGñ&øÑ\üNùøÞ ûhëÃ×X(>2E'Éz¡üh:‰N™¤#/Oj²Ö\£ó£ƒ—1‚b“$8Ø$Š68ÍB Ö ”ä°÷Cûv¯m\÷1ü‘fÐö£ØÖ ön_à:Óû9û2ÚG®±¸‹ A,Ò"v‚´þ8ì]oÀ-b1%„E¼õÀô⚘íŒNAeZúæÖ>D^ú©½Î;ujé°–‡ÁÒqÅF °ÈQå•)7‘£v*D` J[´SçšfЬÚ+§Ô[Ôë*O(È*‹ûuö(ˆý½,¤–^«¨ª7>β5 Oru]ÐÃ9Õr¶¬ ÕÙ>¦|||ïôªÅFõ\+û­[FPÚqb•£ê·\Ö „`°õ@;µdÁtã æ¬?ËÞ{½cyªb”åõ«Îeû¤ß—‘gú³ìË—S°øÖ&6à‹àï”ï=ÐÉÕ×UÌCv­Š\9EVñ5åûÄGÃNg‹™äVSvÍ¢+ý.fZzEc/ÕA=±üŽ§ïµš]#Ø£, }¯AùÈaï~«6¯¼/øH¼ì{M‘#ö§Œƒ;ï N™ÌW®!rÌÄeÿ\NÁûvøÞ†0—5\Jpx臩CÙYçE9QÌr=×6¤ùŠ{kS¦%ù:×~+¾§¬ü-=îe¾NÙJ°jÙ€›½€¿S>>¾÷Àv+£ªÆk[}ëÞÙ)MÍk®w±^Õ\fÌÚÈ—c}þyzY4ÕyêÒá5Öë—• ¢lMè ¬žZ°NMhQ¶*AË! =ýØíÖL73ëƒJ¯œ°ìºµ¡ºµ¡R¤üká)Q–6×И©†.¢ÊÀÀ‹Ú%,½¼c<¿4™\Þ‚•×.kPDpØû`ÝZ–‰ê„¥N]’IkD÷5K‡œºÈCkiº…éúö-ÊÒìúúg®±T®˜ Îe´¡O€²–ž¦5ŒC_K“¬ëleyRx ÊM{?Lϯºø^)ªçG±Õß(‹a|‹"°íšÖ6 ²ÆW‡Rä¯Û(k2 ELïºQÖr‡†îK Ëž:†QºîfØú²¸Ðr7ÊÚt<3L˜ +lQ¦ÀßKñÜ.ÞTñœ¬a ‡['}L(K7j”S߃¨Ók5UB뺙W‚±¹ûk+F)ÚIÆ(¥N¥Œ®cT(MûpO…¢”rkú&Ouíƒ q wå#Kœ*`—¹©­kz"–.ë§ ÓÛÄW¹ÅdÊ­‡J)*LïóÆF5YÁCM[–A[€NwmY†­}2:;ÚžÚöXz䀙x›*'eFшµÙ1üD(Uû ŠÀÌ„e\*¡›šB7ÆË0°ÏÒE£ erO5dÊ,Ê<.|—ñj/g.umàÚÀr,Ñ¢oBðà Ù@šK)Øg™s)&“oâƒÏµG˜—QìóήF€ìˉîÔ]ÁšÒ‡U™5Øïkç°æØ0B3©cU)úŽ×îV¡}B) û—ÓÞŸnIîn”q)¥éê«+»¾œµ«Ñ%D)Õ8¯íô…Õ_'O µ76óÔX¬›×¹fÙœFÑñx‚ûa×]¬ÎEDz'„‚3Á%¹Žµ¾vÈ×d;ñn ò½ê©ïbÍ!CpîWcÛÐnÒɦc¢ógmr®7¼º#ià…^X!Å6°×w­ovìµ—%k˜µBh‡I·FsÕÆ¯ûP|ò^› w×ÕÀ›zJ¡'/·1^ÓlbP•RÄæS[ÆôÍUÖŠ­vú2#eS.ÛÑE§Ù%ÇÏΆ«,Áô»ÔYÚefhň¼Ê}Ùwi\E¬k…dNòYól(Ì#ÞJY éOUt´Å ·&[D!¬ºÉ+m·XƒBYöÚåM¿³PT—,Õd Öjße½F<"P£\è·÷ ™7Béo¨ëk z¤qßÐR<Ì^”WÜ–½ ²¬ïch'`Q3ú}ÛÒ`‡¼Ð^ o³qXåTÅæT«ØAwö©Ye’ÏCœÁQÑVmET¿x[Kƒ ¸fÛ0Ê소iKÌ\kHK·d{¤Ý’]œ>N5É„¢»“Eè²î añ2d¡ƒõÝN¡tg#F±‘ãW9ä‘C,íĽ‡CŸÒy!”Õ;HºðmD°¦'Ezô%œ¬ÉdóWŸ8 °Q!û¥S·UÚ_¡CQåP”5Úž;4Y„"ƒS&zÞ×ê ߦ¯!StôõÝdI–µï°§–õ#ߦ ¶h”©¨ã¢ 1ÞÅž³Óؾ†•6>VÿTÀõn}_c­b(õÞ àXÊQ_¤Ë(kz‹¡Ôå3ª€b·Š¥Ô§.B¹EªÝgϬaUÕì²< e؆a,…oßa¬§§˜¬'Öø[,ÊDÓóÔ7PÅjEì,=›h¶ëÙ‚š¾º)‚`Òö}aΦqUPInóÖ©\Çê¥i†¹Þ€˜Jc½ÆiM­™&FVY{7s­²&‹}®3vm/ný0"–êߥÝn]“çúÀʧ—ŠÈžB‹kž‰xs)‚f”jIÏÜJXJ¤ e°ß]D<þÐ ƒIư/|)"ó‘(EçÿšB·mp䃜²µ0eÝŒ¨å5.[ÈÁËÖ†<á”C¾Kp8ø‰&´(P e°ßCh{ü¡vvakÜi0 Š·îštW»c-]Ïg³•­üf«ø‘k¬¡¥¦(9°l è Tž„€CáI Ú°òÛSHÁ† âñ$¾YÜêo>!A1Že.W³EÌããå2¢,Ç r²’jÌ5^Â%Ä‹ôÖp‚¹sÄãæî Ð!$D` ŠH{' S•)ŸûE¥ðNBwÛ,G·D%´\c­ýõLXŽŽ‘¹œäö6¼g.k@H2Ø:aPÝš„G M™b'DM¬«g?@jK5ºõ&;à+á[«8M(>îe09ÇCd€Ó#6àÇK€¿S>>¾÷À\ ÄQŸCÝ >E,V9²—xœjp_b.Þ^”ó~]vã÷%áq§‡Y6öêc”.ˆ¡Ô0}RW÷P”újðWÈæïÒã¼BÍvÒñ‘(§ºú¬¥¨HÿÛÚ4ÈÖc­D—|–õôAÞlTXs_8œËÖ„<Ê)vœW(ƒS¶^w´€²žV˜ ^2:ƒ½Ö3‡Dª!‹ïGĦ¬g†²\r–5Wy*Çò›¬‡ =¯!k¥¸O’ƒ—­‰·§ œº ëëIÛ°²ôŒR°„ƒ½pGê#–‹9"–‹Ô¯nÀ”7ªÒ±™·²:3õYcmÉtÇC,[ò)ëS©39ÈLjB‹êŒð;Eäã{' }º,3i}$Et€àz°gÅxS¿•Cmh–&=“ð§®`ÎÁËÖ†>мb­‚ë\© +ËòM)PÃ¥‡‡~ oºAQãì,Ö7P.;½S7qËX»Ä°SË÷Žò›Y¾W®± õó ^¶6ä Rdó§oC9Ô¹¶Kw÷6XÖ¾ÙV’5\Jpxè‡õíîfT ¨§]#A šµn“I¬æÎPyYÖVõb^‹ÿ,xQPð„SØñáÃÜÜœ½•…=` ʧoÒãðÌŒoñP¸qxŠ­ðk[×tô "wÊéVUlÇŠzxf01_ íèéq–­=>E€a=?1*gjÁÊz~Xƒ"’ÃÞ‰ \¿ò†û Øo`àÄ~'ö x3h(àDƒ' 8¡ß@Á ý ŽMM‚Á­èø „10p‚ÁŽß¶!K8¡ßÀÀÕÔÞ0ðÛ6´ ¿_0pB¿wsOx7è2aàÝ@‚„+¿ ï-$ ¼“0ðaû郫âÙ`ðaç‚E8 >pÎ(øÀ‘A àÓ†„ƒà_;@ð‰O øfï x9É;^|Áx;Qðrâ: ^NsúÜü43 ^n ^.ö8 ¾(ö*—£`ãC¼ôÔap³u3 ^€ : ¾íoèDÀàø5að„"`ð›`µÃà·É—`ð5rž7|@ |_wœ@d à“Ø9Qðz°qÂàr*l 7apÙ´ZM¼^6‹ÎPoâàæøŸqðŠƒ­ÀÁk#¨ ¼âd&€ðŠ”@Â+1OGÂ+Ž, 7×䌄ËfÓÐr"á‡DÂ[±C«@ÂÀ}ÂŹܪoø’áÂðFèÔpqå6”›HøM@Ý‘ðÛás"á·¸ ¿;@wGÂo¾ GÂûi ™áÝaoá9g |ƒÄ„[\H‡Â5„E 8 |}BƒVŸ<r |¨ \–€çŒƒO §k 88<¬Þ¬•8x?ñbƒ‹¶Á΄ÁEOÛ' Þ××1•0¸,Ô ÞEmZK@Á»-='\žÞÅ›zÃÀÅÃÆs`à}à{ÇÀ›î–2.n¨†]¿;Î{ïŽxïÂÝG@ÄÀÅMÌ0gbà³ãó—Sy›ßÄÀe>ä…r \×7²ùB\ö¦ ‚OYáŒ1Ppqº\œÙncc(ø¼»™NŽ‚Ï¥B ™.ËÈApµqm_†-s€‚/³ë6Qð¦þÏ‚·£s¼o‡|zC× oÜi¢ÁÛ)gëF¾,Å&ã7@ð¶Ì({7Áצ¾?¾öðÃAð&ÁÕØ* Þ®ÖlÚ9 ¾>³}9‡Á×Ól0¸¨ÉsƒÁ%O×)‡ÁË€)÷k¶»¯«Š àòtÒ/Õnñ$A™ê%FF±S‘[7h§|G5rK¨ü÷bk?îåñ$N±Bg°”¹îfÑ€u‹hðwÊÇÇ÷èf§®1{õÔ%Š9ŽÕû4Dz¥*a ÐólMmÛW°†èñ™8x™®gNï˜s€o™·áÎg.kPJrØûa(ø¬p†g$¡S¸á+±fÙ™•Å]7;I(Ëík\†8°ì‘„NA s@œ ·á‘„.j¸”àðЃ".àì›S Ù}Ì kÜ÷ëÊÑr‚Xr`ÙûæHæ ¹·á}s)XƒR’ÃÞó…숨ö¾9…ñ›âÜ‚‹cwÉ=»Ä=îŒ ‚EêY2ž÷²÷Ì)|çäÀøO4៿SBÆî}°ñ(®<9Z&(æ}ºLÍfqnæuq ôxFYÏMªmdXCµš8°±s¤˜÷ip0ïÔhƒþ«!kPJrØû¡}k²böÜ7§@²VŽìy»Êîáì[«»Ôãy&,{ߜɜ$÷6¼o.kPJrØûa:²VÓNªàÄÔ^Ä"ˆ¶Ú£–­¸3Ô>á;,{´‚SnàŽàmxÀ‚KÁ”’ö~(&Ô«ª†OµSàÝëÀ>Ï<¦{8á>Õý†6g RJô^vŸj§À#Ú9ÀcÚÛpŸj—‚5(%9ìý°ùf'y¾‘ÂÙr‚àl*'¢}¾ÕÃvÔ># p`9æ)œ-äÀÙÄ6b¾Q Ö ”ä°÷Ãb‚îãAÿ;:î=sR’bÍ-Jþñl¨1Û¦ÿ½ìZÒ)Œq'ÆÀ³ W“.kPJrØû ®Š:“Náˆ:0K9âÎÓÚ1)Ûä\ãš[\¢—cL’ÂEql#Æ$¥`$¥d¤ÀÞ›oG…uàóJv^Ð-”ñ©Ñ·Â@)Ô(T"–£o¤°oäÀ¾±è¥` JI{? 8ŸÍbé=èD¸_¶Å”ȶëöâ›íºR̉;‚óq–=êÄ)!•°…;¡v u²õÀ”ÈÀ©>ƒïœ`±s×Ä9µEÖ „“ã- ÁI¿ËÙ¯Ç#FуpI°À9>°:r÷¸;¶Žß]6{z—ÝŽ;^»ã4xr@Þ ö§œ5­B=à-`Ï{‘r‚‰ä³Gàï=rXòá…lò›sÈ"mÃ…!Äc Ñ’íÞDM×cÀÿˆqÕõD<)k\?/ǰ%ÑÎÁ⦽ Ÿ‡±ð±ð{LQôŠcßm’Â]"û¸)AÜ_ì5Œî5àb·Šrì5Iá^“|'iMørLø;%ä®gïneØL(+Âú(iDpäuT8¹ýt´ ,5î:àÀ²ÛONõã`yn?¹¬Q’ñ”ŇUXøw"…ßéºàîåw¢øþ²ž¶:²o,!–céwšàM“¿ÛˆOE)XƒR’ÃÞDNjE!)Œ"ìØu1Œ'4GØC‰7pvrð²’â„àà‘„¼m!B !…ÇBJ%Üúa§×rV½Y…NñPÛs³ ÛZkv«°Çf6» Ï9xÙU½S»IŒíd®K)<ž·lVáC?àX†cE¿‡Ç)¸EGª>…[vdäQVç²ÃŸYãæmàÀ²ÏM§àç€[v¼ Ÿ›.kPJrØûaVáÚ·êÍwGÁýINYo¤ˆk·C„e„ÊåH}ص;VTXSά ²z*‚ç½l-¨™w#v@]˃ÄoÁJÒ€ À_!ž?¼wÀÖgp°ø‹¶A¿Ú¼íyÙÀ7¸41áÚ,SúÈ5ÖëTñÀÁËÖ€Bu 4u} ¶¥6¬,+3¥@ gñ­?7€<³>¥ëîjkË^ñ /凛H¬¬-6;ÚE{½/ÝÖ‚ƒ—ÝBqÊRñ2|œƒY ÑFX(”‚5(%9ìý0[ñÊkXPháÍkƒÝŽãz€Ý$†¸ç'‚¾¹Œ±Ë)\‡È‹ÛpÅáR@q¸”´2÷~˜â˜I “Ë)£éäÃ[}§vpzIÎeù ë¯ô°ô^¶&dºr«‹3hrH hQX!~§€|zï‚!nªöœ7ˆ–ÕÚhZ»Í ¼í†ßƒãmÅt›ãm('¼­¸óŽ¢eä@4mÞF)XB’ÁÖ‰,èÂäUàØîUNq÷ª‚ÀÏp¯r Ý«œàîUÅ‚’{•SܽÊ))Êøøƒ(c£ä(c‹:MQÆ ¸‡•SÜêÂ9)<¬œâVÁ«ábåw±bÔv¸X9Å]¬¶V Û+§¸‡öÃÃÊ)îaÅHîð°BàvxX1pÛ=¬œàVŒä+Fr»‹ã¶ÃÅŠqÛábEß½ˆ3†ï^„Ów/ÂŒé»qÆôÝ‹8cúîEœ1÷"Θ‘ÜgL罈3¦ó^3’;é¿Æôß‹@c:ðy 1c¹ÝÃÊý÷ÜÊþ{îaÅXîð°b0wxXÑ/<¬è¿.Vâ¿gaÅt±b0w¸X!˜;<¬è¾VWGlž{XÑ}/<¬¥ìÆ×°!Vtà +:ð…‡øÂÁŠ|î`%ÎOæƒE«kÂ} BC¡ÆpàK¡ÆÞz„pLp«‚Ð5w°ÿ½çì_U’ëVå2=Vâ—a|é`eKrv°*NXî`U <ËÜÁªÔÇPãRáÅæV‹‚àc:XÆÿºƒÕ¢Œ=Ô¸ÜøzîaUn(ÓêtºeÑÃJnŰ`^xX8+„‡•è'ó|¢‡Ua(ªyXÕ-»‡Õ¢Ø˜p«J×(÷°ª¼`Üê6D«Še&B«)@4®t{b qÅd@ãŠë"и¸Ûx qÅhÜ<„™Æ×x qã0ñ@c¹Weó±à™[ƒ‹·®= 4V&ùX‰Ýioœ>VbUæu+ñÝCKð±ß=ó¤•^TkøXÉÒgo‡×†ÞÂÐÇêîp“u+ñݳÙ@+1¾Ìi>Vâ»gŽô±Ý¤Õ=’N+‰æ6%I+±áá+Y‰ÍGˆ>Vâ¿grô±º'ÝËècuÏÇ@cY¿ÍÇJ¹w+ÙŒ™Ó$|¬ÄÏZ‚‹•€øðÔ‚‹•ìÍý .Vâ$o΄t±’9Ì >Vý¢« »9=„Õ²êØ)FË…WàƒHc9 D[ˆ4¶@Õð±ªò=ÚhÜcÂh,¾<ͼ˜hÜÅN5ß'Ë73)Ä÷g<5îvqr 5–=1â•-ÖXÎBn#˜—UÇeo”^V‹â™—Ub ż¬ôÎ虽¬ªX."ð¯ÿœD¿àOÝ¥ŽFü6ü*Í'ëâ%¶¾2“!¼Î5²¿û¹¶ô—¿ûÓ|žþóÓ_”SAR×½w®Nk¦„ÿòå÷Ÿäæ”õ_¾ùíó7ß~Å·œ9á¯ö¹[‘P ˆÞž-% %§(2½Çȵ@ÙjI ÑVÉ[2„ešË´MÉ@ÙjÉí¶w–Šsæûã_ä—RȾÌê??×§5ø‹rp—SÚÔk?¥iøzÎuµ‚’ja…Nµœ’jA¦ZN‰Zæ+¼ÅmaI#ñ“ˆÔ1ýùúôY}Œg_oôsÓÛ–Ï—+þ¬1®™[!†s+ä!çµ|Èy­4伇œWŠ!çy!|Èy^ˆ4ä¼–9¯•†\Ö:|«ÿîLElZSª‡¢öFäz(b&H€4R1°¹¢†ùì–­ÈöPÄHõ98ÈÍG#µaåH÷5(%9ìýÈ ŠFF¤|*èééŠD³y*–ß<ÝCÔ°d΀Emàí)uØ‘Ÿ¯ú&¢+¿=… ¨á"‚ÃÞ‡ì}Ýr‚I¯O~¡©[ðæYê Xd·œ¡üyí-x·\ÔpÁaïCNaQ†]kô‘(·î™<¢ »A†é%X~óQÃT–­·§ T½×,8Èz•šÐâÛSÈ€ß)"ß;‘òW”®×|DYƒÓ™7¢ˆï´Âª–Y‚å7Ï^5ÌÄr,*ÿ·§ T½òÑÄ¡¥¬üö"°ÄóYüœ¸¢È¦ Þ)qEcþ¸=qE‘=Ǽ<©Ëož¸"jXZŠàÀ²µñö‰XºŸƒCk©f–í·ÈOîâç|E^N)_…Αcx¾ p?‰eùÍóUD ËFX¶6Þž‚"@Ïx–(Ú°òÛSHÁ”’ö~ä|ëóË#”ªv3ÒE‰ëÑS"ݲøÆ|þ;B€ýq/[oOA‘Kýê³3°›¼ÞôàðwʇÇz}¹C :ºYݨCs«›uÒðÃö ðÓæã^¤t5Ÿ§jG¡Ù!§x\6ùs Ž"7¨ª¹”¡ “_½•µzz –ß<GÔ°Áekãí)(·bÐÁáÖëø¢ +¿=…¬A)ÉaïGNÁ¡3ò#o=Âaæ ÎIæÆHÓÙ3¢†e×,›ð¢\ÞõOK@kKü­üö°%ƒ$öÝV#gfßí"ÆL›î»]Š©ÕýªYßí¨ažÙÁek#|·‹Qe>É~RRVßí¨A)ÉaïGÎ)¢saö”S¤(¢Ó=§H‘#ÙZ<çËožS$jhÎ`€¢µðö䄦WñxSÇ€hÀÊoO!kPDrØ;‘ÓŠ¤¦Sš~v&ô0zzÊ–#­HÔ°¤!Áek#ÒŠÅöÚsp(‡ïlÃÊ‘V$jPJrØû‘ÓŠ¤æ¼s¤ôðO‚œé£!)HÔ˜\*ÁeÿlNÁ[wø*Þ†7—‚5(%9ìýÈ™E =¢hsŸ =¨˜ò#´“‚DŽOB,7ûb,êä§ ?1?´GHÀ” ’üÙË>mMH°åÞí¾:Áÿ=­_ðæAï Xäúån,ø<7lÁ0—5("9l}ÈYRòn’쑤Ä÷ŠHc’v“Ht5ìÈ'8°ì»I§`/è°Wô6|7éRp7I)¹›Üû‘“¥Dß‚rãY®JÎl&Ñ7æ;‰–%8°Ìvƒb’“<Ú`ßB Ö ”ä°÷#$½èh5¸í»ÖƒcÒ‹pýXv½èh5ç­çm¸^t)XƒR’ÃÞ<ÀÍÍGì6zîcƒC×þØNÁ÷߷ЀxœeßN9EާÛs085ž;Z°rx J{r’›d}8¶’̸mqî¦RÔÄÏ–Â&gÙM§Àpp0,ÎÝîðöù3åãã{rHDšbN¹‰#HX‚Ï [HÌÂâw zðǽìóË)˜d€ÉÃ|vQüîòáñ‡l©{än«RRêž*7lémlHš#7pÉ[dZ”#uOÔ@bçÀ²µ‘R÷È [½xê%#=Ë‘º'jPJrØû‘S÷$…ï¨kdÎquŽÜ:Iá#ûNÔ°ä<ÁeWøNºvPçÞ†+|—‚5(%9ìýÈ|’Rt Tš%Ðqg v’J´<ñ»åç‰ÇYvèè32€ºc®)§|||ïAjÉ&0)4`Ç&5ÂNR·$*ÅFÈŠ?íeï”S •=NË–ÜÃö[Ÿ]:š¾»ü9¨…¶ÐG¢,s´5j)âQXO8a9‚Z¢†…¬–ÝsŠ\¿ÚžƒƒÚCÑ-0—¿SD>¾w"G´ä)ÜGi8‰ì7I&=âQ¢Æó ¼ì&½S`;ìÞFlÅ wb”‘;±½9‘T^–IÁŠDN\w‘é)Öe¤‚òßõNîxE_•IàšÊ§¹ä’½/ÊÞ>kP>rØ{Cu4OP%L`bN˜Þ̘ æ- '}˜'¡ÆzX(Åܦ§üâÔÚäϹ±’¾p f<²R¹F@Þª¤0Ù*jX“àÀ²ë §`Ö;hoÃÕ†K.%8<ô#çÆ"(åE@J–—Ê'Ë[• )Ëk¿[Ú«xœå†ð PâÀ›ÈÜñ(6Îß)žN’ç„XE.v·§ ½õÙ¨Š$ÞëÕ³U± ±¢†yØ‘A”­‰HˆUÄ‘òžÏÁ¡©—I´aå·'Â!£1xìE«JsŠÌ) gŠI•€{@½5«ƒ‹õ&Ø]gŸç¬a 1­(kPDrØú#ªbì¡èc¯› トO}ÝEœøfõH –#ÚÈk –È9°Œ6"Ú¨ÈÁ«¼r¸ ûô6PŽh£¨A¹ÉaïGŽ6JóË)4½-·³‡‘@1¿+5N,£ ‡,sìÅfGp°Ùmøür)0¿\Jšÿ{?rÞÃ2îa[ä tuWfÖÁ2†F0/!ËožùÐk ³¡sð²µñö9v-ÏÁÁr8EV~{ )XƒR‚ÃC?ròÃ"Ù8ÆLÉ˰8¦,raiž˜å)y KmX¶6Þž‚rh€@€RSõ¥·ò›'?Œ”’ö~ä(±"n´¦rZÄh™}yË%ææ ¼lMD”X‘CcQl`pÛÍñÞÊ'5 £3Ø{‘Åòé<š³­8º³ ®|¸ga^épOCÒáÊépÍ‘îØFîQ Ö€d°u"Š©eRf #%®êVŠ%D X¦X ˜Rìni Ë Ë SJŽK 3‚] >p;ab™¢abJ°Œ†Ë 0‹ÌnЮÜt8ÅÂÄhµE˜˜Rì¾gºK&ÊàÁÉd›…‰% âÄ”ræl”FÉqbJAúI‹Ë‹SŠ…¤!NL)ù&n#cS¢Í,NL)m†81¥h§,LÌÊF°01¥ ¶ÌÂÄ”‚Ø2 3ŠE…YœX‘ØŠ#§£TŠ5mabF°‡,LL)›<;^-rˢĔ°E‰)Ån G”˜R¶(1Á)ž#DLa „Yˆ˜Rì*q„ˆô1Ã:ò%ÜJ±»Å"¦Äiˆ˜ÎË#ç¢T îʾ€P¶‹Á^…GxBA"¦”-e‘0 ü@ˆ˜R,F1bJ±zó Åb»#V$xÅ‚L#¦ pAŒ˜RËuñð¼2aeã¶'X˜Åˆ)ww[}–rØ:’PF—X†D–ü1äµô©GH 5,Á¤3`ÑûDDòç+= ЂwÊe` HH¹9ÿ$=½?BËýèn†–2ù!ZîÈøÝRKÆã,7¤ªDѼù0| ÉÜÙ8§lx:Iž“N®5JÏ{?¥èž[³>®X «Õœ,¾1édün)%ãa–ýÛSPNEÑœ'{V|{Bóü•²ñá]úœt²JZCM»”¢ñ9LøX¯j )!Yö¤“QÁRJ–­‰H:Ye³!ï— –ú¾RZŒ”“þ;äÓ{rfFµ-áŠdW/ËŠX4“Lñ´‰,¿yfƨayƒÊhãí)(£Û)>8ˆÝØ"û#Ëož›1jPnrØû‘“3. B}6?EæÈéÉÕ¢¸º'NdùÍ“3F K½è¼lm¼=¥ÙÕTΡÚÕTÞ†•ßžB Ôp)Áá¡99c•k$íî3§TóŒ`ZD±®+'¢üæÉ£†¥^t^¶6ÞžEQžà ¦ï™Ú°ò[$gdÛ8<ô#'g\r¸¿3(ÓÖxËŽXÅ”SÀò'²üæé½Ò/:‡(Ô)Õ’};‡b¡]Þ†•ßžB Ö ”ä°÷#çi\&µÞü‘(SãV™$±H¸ßˆD,¿y¦Æ¨a‰ƒ˃÷;EŽñš§j4S?š°â›'jôß)"ß;±ƒ¿‚oíào;q㑃¿æÌób q“X‚¼ &äq»›Ž±¤äDWçD‚BÜ`öD,›ËIˆ¸]Äd ·²Ý$¦Ü÷EˆØ¢3DÜ `Q‡ˆ2LDLœ, âE1üÒ!b¹æ9#Ä ›™@ˆ œB¼Þ‰‘ŽK`ŒÝïE„¸5|Gˆ[C¦HGˆÛ·ìñ¢Ø;uˆ¸Ýxƒ„ˆÅ)ÀPdBÄ×!^„ !0Ï]"Ämð0"ÄÛ!nÓ¶c !ž{®F¥ØPrˆ˜ø[@Ä÷#‡ˆï_Ü1bs|Íñ}AfLjuÍÎñoS8®åwˆxQ NwˆØ¶ "¾s’F…ëpËØ~´¸Œøð=‰ývÏñá¬Èááˆ;àá~ñn2ÂÃýÂeLkÚèŒ÷ ðÈÑa›°î7S)^3©‰÷ÌÆÑáŽáè°Åûftxœ¸ÇÑáAÍÑáïððÀg x˜` £ÃƒXÑá1ù Ñáy ãޝhÀ‰£Ã“€»£Ã“¨£ÃëÍÞ;:<Çž£QñBÃyË (îù:¬WÈ‚ tXD{9D‡Alù±ÒÍ‹.ÁÃâ<>€‡Tœ<, â™áaÕTÏ L0ß¶¨£‚à 0Z€Ã¢Ú è'8,Á xà°¬€[†Æ"é Ï|˜‚ŽäÖ(våpXlQ˜fà° “ –ëIÆËJG¾>¬(ÒiP0Áá+ žÈ×Glx6dI$6,êÚÚ&8,À”é‡Ç‰D·ËÞÊ@{‚—šþ!8<˜á—à°F/>'lX•üs‚†G%JlXPœ¶Ãªõ Ø8<âZ2€Ã£ß¼„ ø°Ø{†x –u2-öã€2$@<-uXˆe?ïS7Ž"ž…y' ÏzíD<¯ýD,©»UD<—î²OEˆXÜ-|y˜xMÚååaÇÉÙÍËÃfµã ^&ƹÝîÈËÃdëÙ2F\EùÛ­‚¼<ì8@õËÃ4Np»=L/-1yp{˜äcŽŒÛÃÎz½p‹ËÃN9=3D—‡÷ZúíaçlLëˆÛÃÄOr¿=ì*ÅbÄWs0bqZ>-±#0âÕ=UHãæ¦—Š+Ñ".wµ4Ž¿œ¢qM´*J1R4®i¥äȨgr)¶ePdñ)ãwKÀ£ŒÞž‚²Þ¹njA·¥“  øÆñ;%æã{rŠFº z¤ÈŒè¦È˜\P‘]1jXöÅàÀrC:G̓ԟ†ƒ©ówT—€5(!$ùsîÂpv‚yú"g ;#«`‚x‘w0j”;GÕz‘¯àèëÏÃØ[pWa—5("9l}ÈéýÂó/(ðÛCb=÷ëCê½äù‡ä|QÃΠƒËîùçxþ9xþyôü )XƒR’ÃÞœÞ/õÍ) ‰õ\r¤ÞK}Cr¾¨aÉû‚ËÞ7§@2çɽ ï›KÁ”’ö~äx9ª–ÆÄZò¹ˆ™mØóETíÍ)…³äÀrDՒ˜Xr`Ì,Ûˆ¨ZJÁ”’ö~äxyL’ÂuagÇgééò˜´viÔl¥Á哤pD‘GÛˆ1I)XƒR’ÃÞœ&.}7§ð­×æÉŽnù»Y’·/=7Ov/Çw#…oøUØF|7JÁ JÉ ™½9MW‰[§0FÖòdE íôC;¸D¦-¯€D\ÎÀËdëDÉ:FÙ¢ ²uX22Jwï…ÿº7UûàìŠýƒp›¹&ÇÄB+»31Øyš…aå7±ÔÐñbÈ}äàekâí)(Õ® sÅÎ;½ + üO)XB‚ÁÞ O“”¦™é¯m ŠÂŸ»ë oKr5, Rp`9<¾I¡Ç79Ðã›møs)X£¤ –ÅÏ)iJ\µå\”…d0~‘ÒŤ«¶P&jÜÃ/ÃP,ûU[NÁEYÎiy~Õ–KÁ”’ö~P¦ e Q¦ e"ÅQ¦ h ¦ h’[´ó]õ™B )(Dš‚B¤©Ò×Ê‘¦ irŠCMA!ÔT …9ÔBMA!ÔD?瀚‚¨‰nÎ5…P½šj‚s MN ÐDå@šè ìH½‘i¢7r Mô=¤‰žÆ4ÑÓ8&zÒD/âðC„qø!Òi8üé4~ˆt?Dº‡#¢\®¾!Mîðî ?Äæn‡ðClé‡HßÝðC¤§.üyh~ˆ<?Dž?„¢»Üº"OÂÑa"÷Cl®hôC”® 5Ýö2Ý Qœbg†š·?Ävãû»âÒÝö Üqäºû!JìuFšDá1&…Ê7¤I`pû&Dšø¶· ¨é¶+Ô¤évJ†š´&Ô$¼5Ý}Ùj&Ît£™DžùŽzŇ­ÂLzKà™a&zmZf7Ï3£L·Å¦'”I1Ú3£L÷¤ª»!®ñhÃÎÝöÙÝOœX…¢…¸$˜IpѾÁLbâBzz"–›`&9Ì(“ž–Œ2 <‰¶2É™ÏL(S龊tDìvàÿž‹Hå’‚Œ2­É‹ÜîˆX+(:"Þ09:""&+@&½¯pæ+êË´;ÎÞÇsvD¼‹½›ðD\×Öe:N¬cŽ26N³'âìM”I–ƒ‡ˆ2íæô@™Dï_Ì$Vf’ëbÆvG}©·!¾ÅKêñè‡ë¢«D׿û’ú_äó_R/³»,¾bNW»Ðû¿}*2êõòõï¾{þæ§ç¯ß_ÿ¸™þ—ûò§owÿ™®TI©#Ɯ䭭z7ù˯þö׸–ýù³Ô“–‹tWŽ8–š“:ÿÃ÷¿ùú7_Þ¿üô¯~[ûšþК¡H‰r[øÌ¯Ÿª\ô³T[T JT’õ5=R%§D¥"Gww®ä”¨$n«kf¤JN‰Jr2·>Dªä”¨4,Nªä¯T†­Íõ¾TÏ®W Çš‹Å([-ñ„Õôg^ ”­Ö,zƒGªJ®ÕŽÉKßQ‹”­–Ü0g®ÊVK6ÀÇ•kòç_~_nM*U×úÞlx-3ÃkÙÇjNný_/0ˆçýF¬?Wóþ¹šÃ‡aŸMÐÄoPE[†+ÿ^Ë¿×JßÀkù7ðZé°V|ÖÊßÀkù7ðZéx-ÿ^+}Q'>>˜òã¨Y. Ú27þŒ[õ}šÊÞE=¿Šxô5Id¦Õ¢ =L§|]‹,©³Zª]{ôrrI¡"æ}7J×oýöP+–âM®Ð·§Ä•¢Yú";)‘e—‰@Yµ5Ùó^ñíH2¨–ØZJ‹åÚaJ79ªzŽôEÖeK=|ÙÞ¶J4¸¥#»¬—‹2,ƒßeS• gÄV ×aù¡EÃ2ôtË2–vœoî[5 ¸EHnî”j®^‰bY”7JGÂ9§Ü‰ö‚2-ŸQPÄHeœHJf tйã'ŠÀCçÜ)÷ë&òy^È[”\ŠN±ÌA™RŽ*+½ExäzPVØ>åg‚išjZÃûL¦iÕìf Â4•@CP`šö d×mS õ»a­Ú ÿ/EihšŽÖháÂ4wÞBÓT+P`šŽqþ㦩ܾsš Ó·‡Ò4Õ {L^˜¦È¡—nšÊ%?=›¦ûQÌÈ„i:O$GvÓtžp”tÓT±ËÌ<˜¦úÒºQLÙ‹3±‚HnšÎÈÈMSÉ¥1LSyh ¦©„Û3ŒašN[XßÃ4•¬Ó(0M%&÷¶~Á4•7Û¬LÓÙñÂÜ4ëéÕöS¼õ}Ñ4‡µ¹™¦w·™¦k›sˆ–}wÓ´É-ÂÕ›iÚŽYdiš6¹Yø2‚*û&ï_7>´L›^x¬o–é¢LÛÐ2mrQ±=d†i“ÊŠ¦M⊋QÌ0mr¬yY?Í0m’#=7ÃtQzn†i“/´¦M.ÍW<™†i“#]cLÈWí¿»aÚŽaÕ´K›|2ü´Kuãkvi“£²‘íÒ&ÉÄìÃ.Õ èaâ˜]ÚÔ›O f–.BÃH†Yº(Û.˜¥M>«IcVi“Dg6‹`•¶Sgé7«´áîÝ­Ò&w\Ú¼‚Uº(·yÂ*mr+¦ ~X¥‹‚ Z¥í4KàÝ­Ò& ›¥UÚt(ØSf•¶SºkÛäY”fè6­Ò&£ƒUTíÅ`}‡ÂN‰)5>f•6/-[¥Mí)³J׋¨UÚ®ãB§`•.ʽ[¥MGT3Š(ª&®*öú`•. ‚h•6qw9³Uº(K UÚdÐ) N«´‰ÛLËViÓq¨=€UÚ4Òª§šÜŠY³Qº(¸¢„Fi“¡j³IÛÅ<Ú¤íb$ lÒE@ mÒ&çž mÐ&]”bðlÒ&£{Z³I “ã“:à­ŽÙ¤M²Zå²W³.‰‹êE±& pQñÓh‹Êͱ=[ ªÒmç€r.:N8ÿ8.*Ç™´7m«<\áæ¸¨Ä¸ØL\T£ÓªQl«,+ìcà¢]äÖÿ››ÄEå¢#[}ˆ‹öám•»¿`É•™žmÐ*7†Ù:\T<̰&.ªÁ|úqÑN ƒ¸¨äãÙ­zm;qQ$4㸨X%Û ‹rbjí6$ŠJ#(*AŽÃd(*>û¦\Š ¼36PTL[“ŠÊµnE‘“ë=@QñPº6P´_„sPTì&3Þ Õ;æÌj&*N[Ö61Qµ¾Ìx&ª¦ö0Q¹½Ä†>1Q5â¬0Q¹Ï-1Q‰­7+š˜h?°–Eâ°÷€Då„Õô>!Q Ã5³Ð!Ñ¥vDt Û8":öDŽˆNöˆ(C‡r":&–."¢1•ˆôÉÑ5Ì–s@TîE4‹”€(o @tpî€hŸváb¢K?; ÚoûàŽ‡vÂ=އÊfËí¸ç.ðP»aìx¨E„½'<ô&’ãxè=ð切ŠrÐN:zÛ›ù+x\ýig‚Ve\^ñÏö¹úÓŒþB§+q¡=Ô1BPJ8]ý—/¿ÿ´زQï—o~ûüÍ·ßFñí§ÿŠþWÿ†~…ú‡¶’hHÉn6ê‹x×\ ”­– šwϵ@Ùœ„Ä"ìÙý‡”­V°¹%²ÕZWìÃT ”÷ƒ“Ù/ºIÀê½4çø…Ïõsî>õçjÞ¹æúq§VDÛË#E.)«ö!¸5ˆZNɵ`ƒ¦Z¤äZ0wR-Rr-,¬©)¹TxªEJ®}‘j‘’jý™ŸJF–x‹‹gãI&ë³Ü«pœ} ×ùrò—9ú*¤_.ûemrî¾ ú‹l1Ηõ{LKz;Å„¡·Sž0^Ë'Œ×JÆkù„ñZi¸G—O÷èJÆkù„ñZiÂx-Ÿ0^+M˜¬^ù­6=¼,…?ßWk™ÎÍ®úw ¢èë~NÄ)‘ Û˜‡Ý†ÐzvÖ*zw%\³ÔÆ×ë.€‰‰Û†é“ Bo.)æˆe0„:Á«c0„^¿23¡7´ò˜‡{Ä€=;k)åÆÙxÅØ±  ˆ;„"6Êíaá ±QœöbPD¦±QºÝéÃ"6 4NP ŒÈ#6 Ó);w§`ÄF¹_7‘Gl¨£ ‘)Gl”Û‚»‚bxÄF™åÃ#2ÅðˆÒ-ü5(†Gl”iÑA1<"S Ø(î`rŠá™`xÄFA¸|P¸$ŠÚú™bxD¦TÄ4%J·»¦‚b€ÄF‰`PlÏž)ýô»HéˆNtÊÀi‰2q[¹S H$6°KÊ‚b€D¦\ÇkÛ X‡ƒbˆÄFž; C$2ʼnbÚ*Q ‘Ø(ÐVAá*”Amj+§Lj+R”ØŠ¼¦Ê)gh+R\[p=j+€åQ[”Ø(Ú  D¦ÜÚ  D¦ôGmP"SÆ£¶(±QúëF(‘)磲2P"®Geå¶SPÊ£²(±Q•p‰ò¨¬€KdJTVÀ%2e<*+à™2•p‰ò¨¬ ˜È„ëQY˜È”ò¨¬LdJ}TV&6Ê£²0±Q•‰L¡Y›(ÊêžÊ ÐD¢šÈ”óAYšÈ”ëQY4±•°‰ò¨¬€MdÊý¨¬€MdJÇe0‰ò¨¬NdÊ|TV'àD¦œÇ^|TV'6ʃ²òÍ)ÄY«vle¶¤æ0ØŽÈŠF4™ ÛT¯7Å^à…6%¼µÄæ+›·ÖQxO?½µŽzÐî„·–Øß€·–Ús&¼µÄ¡†‘‡#à­%§E»·ÖqÓ;ÞZz;Á[K,@DÀ[ëè×C Ø„8˜‚·ÖÁ˜÷Ö+Ñ?zk£ò€ ÞZê–ƒƒ3ƒ å( ÞcðÖ:fÙÎɪøéÀU ÎZrFg %µÎ!œî¬%8ˆA±tÖ:KÓYËo梳–Ú©µÎóÆQ|µÄ¹§f_­ª‘ù lQxæÀ0 °·“†HÝ‘-ÓªG ÙYKŸÎ¾Z‹0úò L.3ipNvVö›çd¸ßMœ“‰—P˾Z‹‚—Îc2 ×4ÿ“á»…c2ÊλpJ&)R ½å)™Hyf«tQüø §d§L`Š-ŽE8Ã1ÙiÏ¿Ç1Ù)0«xá˜L\ðŽÉ¤»x ÇdrùÚÂ1™¼§d²E…€8%;×ø«ÙW«Š7Ò‘OÉ®¯‚‡dúÒìD ‡d×Á³]’É-e;%»,7ä{œ’É}n%Û¤ú®­ Éôn‰->L};$&HƒC²ë¢s#ÏÉäFójâ9™x5á, çdr™ÜÅ”ÔUnzŽáœLüœn÷Ôªâå„S1œ“I/ý².\&OŒçdòÙg6I«ø=]v …s²Knçƒï–))½`ËN¡pN¦®PVçd:X¶øë¦ÏÏÉÄ9 §k8'“Õ·s²ëv qN&WI˜Nâ9Ùµö•MR½iϦ/ÎÉ®~㘑çdW'Ïs2¹‘nWvN&þS žY¦¤ÄÊÔÏÉ®qó¸ çd׬ƒs2¹Ø¢e_-¶FS8*—ªº•]ÓEÆQÙ5¾ Ê’:A15%ó~a8*+GÁ"ã²rð-ó¨¬ÈY(\³N€]`{@*w°ì"ÅÕ{¤ãfu¹¿-{mMÁ¾¤Hõ©¬»G¶F‹\e©¤n§+—)*[¾ß•$X¶/$>:.:Ž+v%ðÑqØÝ•–%³ê:nvñÑqÒÊ%>*^pÕ>Š[®ß•l!-;n1¯×{à£â9xmø¨ÜYçÐ"Ö\Í€ÊUp¹>*Þ…={n‰Z„KðQ±«Ð/࣒€ÐÖ"â£rUvÝðQØf f-·‡9>ÚÇñQ9ý­æeø¨Üç{ø(,Á÷ÀGÅñÌÁ¬‹r1nø¨\Fà£bc°>*W¯´; „Ÿ>Ú;R’:>*þÖàQyøÜàQñ„éxT‚E.pØ…cìSSTâBylðh§j:Úo¾¢£’U¡Ä-£_öx¼†WCý{}·~™Ñ_ì»%¡k÷ÿÒ ³þ Ámc?Û“Õœ$Y;ÖüI‘ÔX³*â ÿ³ïþû'¹÷R²Ï—¾ùôÙ.Lë/ý?}ú\å’›³¾üý'ÉRÛ¯öòõO߬úSÂÜæËï”\æËOxì/¿Mì¾þékù¡+ÿñå§’’\ô~¿¬¿£Þ7¨µZý›DþiµõYŠã\ËÜâ¬,«ìåÿû$p£xÉ}ýnò·YÇxÙêÿˆú£¾|ÿ-Z.¿Üò[~öûþôYÜlÛêÝ÷¿ÛŸˆjxwÏoàGyt-EËtÚko-|±žú/út//ßÛÓkFnïrãôþ#ä^ÍýãËûöÛ·ù þã't|½œ¯s7ø2Ûüƒ"»šë¾¯.cYîõfŸ¿ú¿ž¾úßÿÁ»Ð×JÃ÷"®îóá—/?­æ·Xlõå¬Q7ç%_®-±Ïóåë¾|ý›Ä@zQä.ÈÚâ%¬¿ù% ¾¾ƒ¾|÷OÑžv[[¬Ûûøþ>ó3ã@¤ËÚ–aSþMMIoÕ'¿NÅ¥ÒøeMóóóSà—*ù{×XhT3ËèX¯®ïð;U5ÿñWµe>â=Þ×zxˆGá?¼|³Þ¼è.éï×ïé館þ˜:üy!«¦{¾w1ÿ`tÉë¯'§=J#oqÞW¹^~¯ŠDnnD}Q ×þžÿ·<÷ùóÓñ ¾MSi}b{1wɲVxn ýÙG´¼ ÷ï¿ûôY=ï¶F}èöÚ¥^çiïôåWÿáoÅKó‘¿ÀxÂÕ*­ñ§uvF\Ë(ÆÇyýô¹‰?Ù¸_¾z‹;_þ9‘ß¿ÿé§/ûXõnu]üñ_?t🵿üƦÎ}¾|ÿÎågÐgÛ_÷×oŸ¨¸þ UDýý&=û#0}ûƒNçõ×tþéËÒöÐjûËl{üò4úigöîýŒ.ÿ-9—Õ?éi=ï—Å‹:ÛNf¡?ª\SêrÑîúØ?£Ô1Ì~ç üĦ ãm¢¯ÅñUòœcD­ˆ~UT3&’hDìxùøú÷_>t¹8ïû%/ºRéRíøõgH¸FëË÷?òý¬Y²8üðåû¾€áѶ±ñÃö¾Î¹âR¿ê¬òÆ$©ìq^/›¥ò?NX¯endstream endobj 261 0 obj << /Filter /FlateDecode /Length 1977 >> stream xœíY[oÇ~'òR„@³ªv;÷‹š¨]»M ­Í‡bi©nÌ[–ëØ2‚þò>äÌewfè¥e"hŸ¹{æœïܾ™=ûãWdŠí'ü¿]Oðô~òㄸ«Óðïv=}:›üá¥0p¥2Øél9ñKÈ”R]QM¦J¨Ê01­'7èi]”¸ÂB-5êºfSØŸLlТ(c&ý¥ýorà õF—VˆWKô¢Ðö ‘¨m2½wÉÚ¶¹-(  F¡{†qt-hö©Ð°ø_³oÁ=&S÷¨a•"\œÝM%Åì‡IÉ9™–LTZJ{ù½õZ¸¦Æ Þ”â’¡6ü2 ®x2‹#•V"èŸ#«DH*ÂABd> ",‘XÃ=Ìyáe¤£2 -”Sð"´ÑNp?¦ –ÊDò} Á¤Ú" ^d‰¬Ö4‡˜™·…³np"ÁÖ¶ª°f½ío6ƒ R‚:'’Ñ‚¢bn4€2èÖ]Å\1TïºQ„¶À:¡Âëü#,‘\Õ×/ÈðR #ا–DÑ̳Bk€'g½èÖõ¦€À2tŸ±«éÉùhFCŠRåõ¯¶÷sôçEA³ñ`+ôN[A£ i°( Äý˜äT˜DDÒç™Hì­I‰êÖ¹/hðG‰º«ÔC­¹˜W?ô»R©‡C;åÌt7Tü Z¤Ìv½"-ñPã¿nߤµ… @“. Â¥B{Ï’JIÕ  ´ò˜ íç¥s¡Ö©°ÒÓ’° H(ÄmŸ“oUo1—¦YBz€íˆÉz[”–5JY5Ó´²òÔî—B?¢ß%â]—²žCo }¼mºÔöUHÁY(° Çt:»žÌ.nÐË'E)(·Fw‹n1Ggûºyÿ¦­Ï.û;í·¯÷µ½ ³ŒÕ=[®êwëæÝYHú§ XÍß5ïâÚ¯ÊäfWï^xUsôÊcØ÷·9úO\5 ]ßõw5ºˆwC]>Ì‹Ëxߺ~™=AÁÙKÝâý=d Ûµèu/Fã Šèeļië]¯V¤B,ZoïêU¸…iº×ÿøîåýj=GËźY=ôª²ðî¶Í~¿ÝœBÜ.—ûºë•Ë‚‹CpïKèÛöÓӈɷâ 6Ø!i4ª¹Š_/Ž|­³rÿf½^´ó¾ŽAÏ«ÕUqîÊHôxþoµ!ÒÐgµA©ÅhÀPO1µiäOLë`úh2Ù‘d^Ž5ܯ©Ú¾…UE€~-]á~ÏݵͶõ®î›÷u\¿Ûî»'8¢n]³õÜÉ ­eÈ¥Uól»ÞU$JãJQ;ØÒ.7Áþ1K¸ÒF-àÔÐT UÔÀùÆ®dÊk}$UÁ¤ªUdõ<½ž s(¾Ãª€RÑoH¨õºy]+åpŠ%:œÛÎù-?à“Š Az½%S²"JÒȼst·üÚ„¼”°æø§ož]ÅT(.BH\ \Å=ÍïYiªè‘!ç€ÑæmëeÓ%=|¬‹¿ y¶}L x*+‚çû®Y/º:vð«î®Š8Ÿ·m¨5ǘïcü´X½©c¹ü­£'?¿ÿ¹OflجçpÈíêöޝöt …MSjÙB¥TP«š;f…~‡G‘Xa_E´¢5Ëâ&rqq;Ñ {ëÀEÿtd¥ÀŽª8£ãÁ¬E)E4ëTœhÖÚŠÌV”Šy]¥í xØ‹Ö0§Œâh­„ÀaÑ©àPFpž‰‘Ô¡«Ôbà·’Ú6d  WZ¨˜g¸etêSÃê¶T–eØÂ{ÕÜošeÝ+ï¯b•àñö„òwôô‘þÌúÞáqB‡Š<]>Ö笄Äö˜=ª žÆ™ä'AGdíqö($®"¤qDð`eú"(¹Ѩ'£”ÆH¤NQuP”yœœm-ãñç‚Ààç±zÏÇZ‰8òÛ­Ì2{ÜnR{ŸPyÀgÿ;úìM‰§æœÒ°¿ÃØçÎhÁºª©8­Á%©fÄ ¦ç\÷ä¥Ap—HÚþHip Ë£ôÈícÔ þá–Ü=KEƒp™×%‰SÈÌ1¢;DP™ ÈSSI¢9ì¦.„¦æœµ„Åo$øqd¥®Ãÿu$˜ :Ê9šüF‚#$x8JHÑžJYÜ-JèyÛa„â§ÂÍçÙL¤ÍF*n8ˆ‘¨³«ýd蓇1Îó³÷Ë0“­lû5`¼BÂijcáä÷©ð6`£uíbß태¯míwîŒg漆Í&C(û éžû1lÎÉP6'ê¯bó2”åʾȤšÂNŒ%>òžK !ï“â²HÔ·ñú8Ž~HäÓùÝz—¿W88a° Ó5ôXPi§f4}IÑOýÒûìÊ}Ça¾÷¡‘ee×¹÷Z*ôÖ¥s™ d?6ap'$èKØÉ¢3Äõ‡ƒOÞKm»í|Xñ 2Ú…7<ðl¿;êÕeSéËàÄ> OÆ ò“sÑH}˜n/Íô½³Í¡ÛüòùlòwøüÈ%endstream endobj 262 0 obj << /Filter /FlateDecode /Length 1523 >> stream xœíXYoÛF~×_h„ €—n¸Þû0’¹Š¦p€ÖÖC‹¨ªD9LES©&1‚þöÎòÚ%#)qŒ(èÁôrvŽof¾]ÎÛ1ÁtLܯù;ÏFd|9z;¢Õê¸ù3ÏÆO&£“s®`[béx²Õ[èØÐ±–[.Ç“l„‹&o@XÚž01Ø Ÿ,F¯ÐãuD0‘\SbQý,­0­Òy» 5Ê Y™æWhÅœ3l­@ùÒ=sPJÑ@$Oˤ"J ,}_nƒ—›$´T4‚´§¸/s9ØR8çj‡GYÅ `0\ E`§·gUD¿O~t(á!´…&î®ó´(ò«»÷½¿ùrY$e#CT(^¡ÐqïÇ|»)¦‘ûuNõ’²Í²ÙæCç~ñôÔgEkQVÐJ]ñÁ“þ{«°aší¦â Y÷öû&Y¦eØö{Ýkrý.ÌŽ:}^”i6+ßÓå{WŸo6®òÚ¹ö­ò×lµMü›Ÿ¡×}¼þØBÔ3×Ôß½¸‚¾œ'ëÄbm\•0Dk#$«ëʃ@YJît‹Š|©ÂLIâm?ð ³$¦Êwçñññ®³£ã§ß)SI#w2jØ¥:ÛðlŒö¶ABZk›:&:ÕqqÖ ^c»6 Š‘`¼nµF«Âî+> Š£ è³ dèýéÀjÝ{ÅÌ5ÖÇ"´‘§ÖÁ¬C¶]ù QÇÃóâ"½¼J—Øïž¥§¾ÈîV„R¯Xé@/öz¼r¢*Ò˜öÙžæ¶§€‚viâèHÜÈ¥Ýõì}žfœK»=b+.jx´S“1”ß#¹ß!}ˆð^‡¼Ì!´ úÄmØúÈ—ìÑîÛO Ž*1‡6äŽÅý)ÛPeõñp+®l¯_ɕݙ²—-%P‹ž[,U”y§€-·âfly")5BÓ€Vˆe* ¸¢ýiG° ˆgÇ…a?c ¢¨xú•Àˆ€êÔÚ‡ËR%1‘·`L°Ê)åK*™b¡UuèMh„ÍCC’üÆß¸ñÎÃ)K+ë‹iuãbîÈ4×ÃaôGú]3n°œH3˜_\E€‘T¡ÒíVÕ¥[À£¡öÀØ¢µ†Þ½ç+óÈM<˜èu£Q2¸yµn|Ñl%²7šÉy¸U¿ –·Á,([;‰­e«Æ òußÍj]PT;Ã!ŽP`Z½ìÄ9ú£Ž[Íôb-£Ê/ä]…á²/0À´ö‘+§ҦউfERÇG¡‹&np l²£˜RL#G—ŸfK{]¶Z×3&Eû^À÷iõ¾oigL§EGÈw‚*)ËÞîE;ĂӺ§{>‘ÖnHµã ©þ"â~åæcªÞiqÒ$ÝüF÷Æ< tcŠÃÓ«ý³ ößÎ.~}íÔ¢÷mph@Å ¨$ûd@Ün?¢ºY^åÞ¼>ŸŒ~ß?‡'8±endstream endobj 263 0 obj << /Filter /FlateDecode /Length 2853 >> stream xœíZIÛÈrìcnÁà’c2¬½Ê‰°=v8ÀÌX‡îØ-µ†cªÕCÑ+ùíy¯±Š¢˜MV½­ÞûÞRúyV•tVá¿ðÿ忬š­Ï~>£îí,üw¹™=]œýù®àMi+Kg‹«3¿…Î i©KËål±9#j¾ø ÖJ›­­x)Œ„õ‹åÙkòäf^••äšV–øga˜µ¤m.çþi¨Q†Ô}³½N–îæ笴Ví>óÒ J¾J–¤Ë›~åUJMó¡›|ìV)§]XH3ÂùšõhË…ó)N6ÛyÁÀ † ²Lød{ÚÝü?‹‚ytfž"Ú§à²4J¡•ÈŸm77%Cs*Sj¦g奖y#>ßõͦF%È—¼ê—eøËJò¼ë¶ÝHË õú„_$ýr>wÂ7c<·ŒÎ ¡™$²¤”r¦€ÔÈŠ€ûSQŠ$…Å7\”’s1°üëðÈJ¶*¨^ø‰(‹É5D‹¾<#EQÌï;ƯšõusUâ]n—«Ý£á€ªà4ð÷8¨ðѹïã.w, '©lˆ;'†[4&¤KjØçèPZ ÉmXBUt’œ;WâV"MK”ñ;.’¤ƒHÓ1ð .?Ki$Ñ$\c(¿•äqô-LThXs’…ŽˆácDæûÑ )Cë—ür•™Ü´”Víå~ºêë¹k,¹h·sYyg»|³êb_˜ã«Jh­#…1 ǦiÖmÖ};Jë˜ãÙìÜžÜ-êöã§t}¶y‰à|PáÄPÔ狳ïÏüì@κÛÎ äoÅf* ®(Î ^“'Mÿæ—[“—¨±LéCÑ„ÈG±¥.3] AQ'¤oMÓ@­™Q|ø5ЕršøâËØÖB!hG¤± užb9I“ÐnŒ"Îg¡ ®ýz(Ê>?½që!ÇLMo¢ÿcT;—,Õ1ºl@*ë^È“&;™± F™S;o,öCÃ0Ë×qè€%ªJsƒ *³S7ÎbI¶ßl»ì澊ºªáŠYæct3 ðcèñùÓ.Ã容ðâs:Z· ´ )~áÀW¦4Ò̸¥¡Ì{Ï¿2©^Ö¾t &©UZÀ-/•ܧ¶}ÊC+ Âç’ ·£|œŸÇüîÏAJ3¾´pÍ\8¥tYUUw@$ gnkŒT atŸm4(X:‘­×«àWªäÞ}MÌA{×r«$?–ƒ¼Á{ß›s”'cº¬d}-w•„P·Ý¸4ï Âú¬ÉXq9‘¬ÒºBWPåfﻸ_ç…{Û¤yp4xnÃ& Ô:‡¾â0mðÄF5ª~úºHq¨EÑ|Ýãí!—vYѬŠÜF5 È7Ã*)ÒŠq¡tõ_Öƒ6.}ÝŽÄÑõÇð 䪯ü<°éž‚ÛjáåÇ9VþhgŠe4—¢îRaѬ£©(–9Ù±`®î²óÛß ø•à¤Ú"Sò,åj+èk¼HPô¼÷æOßm¦Ë;¯t̶ž zÀ€òê3£ýÈÕx—–Ôa½Ëº²Íf ’nãžqƒw3J{ šOø¿ÔÌÕ|NtyÐ9¡ŸZâNL¨ì \!¥ƒ‡®Éû‰DÎØr/tXíZÒ¬öìÄ«úÍ.>ƒ·mVÈõ]}Ø7;£hŒØðŒ Ùzâ–m8Ç»eI!D©*¸„Ô¦ü…#»CŠ‹Ù”ÜëƒÒ"ýäáÉSïýBÔXDf“ðfó¨Éº §*FX¯]Êq^õãÇG¡g„ª!²Ayi l€ä Õ¿‡®4 ›xºÉb×Z™0#óõÌØf¢d‚š8uû6°Î¬›Y•Z%øÁ~÷Ó4 u‹<sÃf÷!WŒµe²¤ƒà9FÔTrD”˘ÖýfNA¡P¾Œ9C#·¤¿Â8ÑæÙyeÄAfbÕ(‘3Sö@K§½¿ KF‡¬¥®x”ÇU‚gmäqœ›Òx²®¼iyÉ¥63h|” ×:¯ÂЖÏ,f冧¢äþõ¬pc†JyòÿZÊõuøH5¯n£¥æÁ.0ÉRèØ¨ªâ°ÿq˜àæB!9Ž}VÿÔ­üC •²U%£– A7c)Óñé *@™táÓfÊ®ÔOi~-v˜ÕãàñåX žøK„cÁ#­¹}ð<Ÿ<¯Á¯ ª\¹D~?åŸ8´]n´W:³¸ÛĹ9ÃÐ ¦‡ó ºvÁAEH°^ÚŸ3#Èã¡&ÓÎddªaH¶”‡µ-ìõ PÆ5é â2G?÷K†ƒCáÓ(RhÖi&Á.”mµïXÃêƒN6¾÷D&žhàš0¸Äx rʯV"—³—có¾Ãþ6Šœ,µO‡oÉ;T,òë˜ö*šÂ])„Z¤Ãè¦Þÿ’GÚ}ÊÄÍôLú>;Þd>5’ò޲ž¼1¢(ûþšrÝn¦ü2½‚|í¦2œ“¦Ì¬PNÇóúh¯Ž` Çž(P¡š:9)†bÄî±=Æ­2šµª„ƒÄu#pOú‡o†Kø%”ƒçäÞŪ¯/Ú-Î¥ï=îxoêË7n4_<ï]µ«›æÃ½pgœRF’k7ÉÍs1|Ÿ“Ë‹æzyÐp¸{8Üj/| —Ü ¿toþ;<.ººä5@D”çO`ÄʵÐäªÞ4íÇá~¯ íÃÅÀ½Dˆ¥«“㯽SÍGÝì”&/)ñâÀ5l{V·mrî,tµí6oÛz*‘zÒzh†;[/h­ÛŒf6CåÂk>+=bC6aÃ"H~Qòl»ººj.jçü;^“§Õôè—Ñ|{uÜÃjy(dœFA C­Ž¿â€HfR‹a^øýÙÿ d Çendstream endobj 264 0 obj << /Filter /FlateDecode /Length 1960 >> stream xœíYÝÛDÏ¿BB꺪Í~ „TP+Z JÞ’>¸_jH.‡í½<³¶wçÊ©U•‡8ÎìÌìof³;û×d‰í'|_x¹[üµ îí2|]–?®ß¾bÞ²\].ü²Ôd©„* ËÕaÎV€°0‰0Ö…á ¿Ú.Öèéu† ,˜"Ø ÿ, ×íë‹,·?5ÑR£²«W‘h›åŒÑÂŽŽ—ö™R‚¾ŒDbñº«¼–ê÷Ý»èϦŠ-µA$ŠS™ÝdHkóI†Ç,§ƒfm#;ɘ}›½^ýè¨<À“3Qh)=H$ËàE…•áØ&¬ÜÐåêÅbõxh"G…ÒÉ7Øh+†¾ùéx¸.XöhÁÁÑËÜ*ÖZ?!¯mÈòø/ÆŒ”sõÝÀJB ³M‡òB3ê;6àÓ·¯f‰-¸ƒêW?XÝÜb‹.뮫¶ô¦êÊ—õûM¶¾Ø ò¤àˆ²MÖÿ4½ž\ð›eî|!qL˜bc`°ÿ ó¢Ò)CD«04 @®Ñšx¦Uüþ«‹8…ê$¡®2ªmèÁÑî)ꎻt¦÷%¤dBh™Kz2Äñ=¤^Û•1Rq–•Í6Œ‡Ì=›~7õIzÒ;!Ñ],šßdBÀkM`Äù5WŒŒÖTïš× ³LrðØL*ÓµÇA ;ž›[ÿ± k\š­»–eFog¦ß~XfŽÄa0Câí»Ã¡ln7ýjØUÝËã¶Ú´þ¼~?p¸B_³¯7™ýÌr¹§³¨Ì()àKaÿéùÙÔ}­ø½Û#“>k(GP‹¶\r×4†n`úÕøÏ¯ÍýðÏÝ?Á¡<16TÎUS•Ý¡ºêÜCµí IàQO2P)”§uc0±¸«<¹€BÁÄè-`áW9V#Ë?~üx®blÐÏW]Õ\T×ø—3"0Êa¸ÀDâÈ ÔŒHä–‚b>¾ù>1^åDŽ/zÓ(ÏsÛšý½Þ]Õ—Å(s…Ô@ÃC–ˆtcè±óìøÈ³â¤XŠJ#‚ˆµí„¦Š”c£{ô É»Z ñ9MŒLò¹4ïQbï¼K‚Œ.Í{Œ(™¸WÓÄ£Y5VFö ŒÄy‡Ô *Î:4Êü'„ÎDíc_7õYHàq–2"qä4æ “l™û]³[ÃO¨H×x_í>QJ¹‡G4cR™ÑŠXÅ<ÂT¡8Õã‘@Ò/zB&ýâ3·|æ–O["ja§ÔÒ¯õÿ‰Zz&û?w+âÞ½ )à±Í ´Ž Ñš˜‡sLà”ÏÛ–ÏÔòiPË´QMßäq‹{Ò]ñG_šœõ8Z~‚òަ8ä%çöátŸÀO÷ØvV“(0Éɾl‡à {öÝœºdå ëtiÛ‰Îî®@0E7îÉ.ng‰ñ³Ý€¸—ü~1i•|‘üJ›CýIæùÆ£% rˆ€*ªÐ¥•6BH,m+ž “˜SG½Â¡ŸMí$x·¾µF-ºV—¤ŒÇy-f]•TJ0>qµè™Ž@ŽÚî’ .éTÁ4¬™@Ù/}ÓBrpæmW‚!àìªóß嘔ÃC×Ôå~¾ùˆ FÙ°µK2Óvï8a®^$m˜®l“묬¬ÂnûŒ¨­õ¾lÆ67¼ÂÓöS¾Û„i‡©ôzl"éý µ"³Ô0ôgœbQÒö®œ›N0Äði¿Çy âi2@¹=ö#x:¢ÜßÞÅ!ž&°ƒ‹¤ùc£ôlµømáo‚IJyè ç°é×jI€½ v×@kô´îþÒo- ÍMê71ƸxÃÖˆ‰ðZ@€xþª1µ¤=uBÒÊ&(ÿàJ`Jº´°)”ßÝÔí»$-ê»xT¢b†qbÓ™…œFÏëÝÙë²O*h! €ChÁ„‡E}¸>m+Z¬oì¶NÙ “éÁéÞ‚ëê/íZß’m|¯VÛîgç¯ú,L@ÿñ%݃;ÈÌL‡ÙEprapô nA!xÍq¤€¬vÍ1ü:è…ºY÷¶eª*aó VôÅ;¼nú¤`ˆˆ0oì’Å”r¸¥‡v_ïÞ:}’Àn`Ê”ètßø´ñn¢Näây…I†1cß9¹=êë;Ô¹ÃPà¬KʺÄ\ÚûëÚ}Ù¶õeÔV¿ aÙö“`ÖVØÒ”€Þíë”À}QtIùÛâ_õ5Ήendstream endobj 265 0 obj << /Filter /FlateDecode /Length 3466 >> stream xœÅM·èq›SoEs| •FÓá7éÔb·n]Ø@âH€ÝÆZ­2‰´³‘f;(òË{è{ü˜!©Ñ:ë(|ð¬øøø¾¿ÈfuEg5þ ÿ¯vgõlsöÃu¿Î«Ýìñòì//¥…_*[[:[^ù-tƘ©˜¡3-ue¹œ-wgçäñz¾¨«Zj”!}ß^ÏñO®imI3_pΫš2òý“$­0†|‚@¢ªkEžÎ ~PEöm†÷2Ù»oWs0«É·þËyžmh)аùßË{\¥ì1Ë+M-°¸¼<#”ϗߌÎD°‚Î\VF)ö¤Ùn"$å•–Í–ÏÏ–Ÿ“C¿¾yº]¿Ùµo.ÈêU{}yA^®7Ýõa ŒJ&*kɲë›-þ%[Fá“òöb€A@?ËtüüÏøùUÛrä1$y¶pTƒ¤ž“]w¹ö§‘Gq#OŸóâåf»»BJ¯š]»})2#'€‰n×6ÛŸŒæõåøgþóßö·›‹¹'%rÙôMd<#àÅúÛ¾©·¯>—¿%8Y„0”\ï×7è8á 2<“êŠ6[€ökEp³o»½Á¡ýi="¸éýguäì®éÛÎáY°ÐþbÐ0"zÒín*:ÂוÐl¾ R#„*¦ED°‘jSƒH–"‘Ì$HØ)$ð5÷&Lk™Ù02ë­|4ÿèÈ~e¥™²ÒÛø9Ùv›Ñ¼ž·ßWÓXØ;5Á1>šò J+!%xRUÒ‘srA.¯‰ š…â…i~þìÉÃQ”ÑŠ*ãEáåq±n*J­ŒÔR –VVJ†´pÑ Éòž¸œ;iÖÆ«¹¬ÑH8é¶íín>@GT Û?‡ÈB%ðÀȇX¬¢ZQ’F7ð:RU-8‡ïoÓ(5¬IÒ]ùoË)y•"H±9 {@ñû,œmò?‡¶K÷~K!ðE&Î8ƒÀ¼xËŒ–¢©~ú.€SIúo¼‡‰äÃi˹^s/I0ÍÊ‚Ñ;Q&4ìR#²h ÞÈS„ƒ#›öõ1YÁH¶~ÏU&TÙß—g_žù4&gûÓé+WlL_BCœ¯ÅL2[-|úúy³¶¤IºA"´sÎì÷Ëœ ·ÌátV-½Má`„a`¿^@‚ é›–«d¿ ˆ`ÂÝ}Ù¢\@È™ásæØ¯Cgýuâ¢àOÔè /µÖ$˜ïRiFê9¹˜WsH¯mÁÔ’\íL9•ÀŒ~œ3ãm³AÇUjPÝv›X¶Øe¨Ý¢8ƒcÀ·q~ŠVHM^ûó ßäÙ·›¦¶äÇ‚‘äÄ“+ûx"?rŒ»6© RïÛöQ&Ñ]Xï®ÝUMº+f9Ü(NÉ„¤SŠi’dÐ5ú~ÕŸ4‡>µn’Y~Iͪ4¯Kéýïò”¸¼*(¤ô ý¶‹ì°|áÒãÄÀÒ`‘Ê}—85† âºMjÔ>Æ[ ‘èÛ¿„‹\'¯çƒ)×xSé›Í:0C.~ÃÞýiËì6Y®ùɯyrÖát´ˆ<Pí7´ûx´Î-9´e Í8p?i´£8¢·8¨0ÇŒ”An·Ç ™øºÃÀ)K¢ùñÛ.¯¦°ió-vK¶ÍqjCæÑÓÞ'Þû7Hs(±K=i4‹"¿¹ñ%#œyÔƒÛ@¦ ½÷µ‡nädŒã¸*ü|Ak×øÝJ‚Äév>œ u*숩NäˆW¾+ÍjŸ°Þ3¬à6ôx´˜pB'Gpµf·çQïPÛIûtòãD‡ƒŒnЦ%Ù\Fµ˜Î²ØQI9UÚ ßrYâÇ;&Á*9ªÒ}A óÚ5BL¢US'(·"¡²Ž r"x Êß®– ‚Â%?"Byt`ûíÍ´rq°Öl%»îÀÉÌ ;a2mÑzx‹ð°ïRCܤkü†}h©ϼv…G¤¤PmÞý)Á=®ò²-Ë5W•»¶÷N[Þ !‹Ê‘“µ3.Óçk,ui0N*g*Ð>HE±Ö9nL؉öA{ãr]h öØq˜ëI޽“9Ì«µ †Dž:˜«#=fð—“då" ŒxW\b®ÜIªï‰ª¹¬1fõ¾9$ï…ô¬<\FÿΣI8š` Ë!pJ¡të~W:‹è)Í®ê‡èxäL!­ 9”nî<ÿRÁ2RãT€<ɪþ«¤!¸=©îp¤=.ÍÝhN¶4ÅLÇI¢l5!  ²2b‡\[FºL‰½·ya Œ€9ä¾N)Ë»@PYjìšrPSúÔ©'ÚBßYþky,àä´êÏ«Tvöâv(¾ áwa¿Í/Çz %àÛ`ÄD½‚† ¥Ww(Gz¢Ö®âï»ð]Æéu Hó»½ÕŸ-ß«Š¿SJ:Ò_>–Òæ½B_Æ7O¾$5ÎÐý¤=~™oíf%k‹¸Ÿ0Æ(È#\Ú©¶ïÆ{‚DÉíŸr-OµWz´vZÓ…‹ @ß*Õæ Ëx©4ó"œ2é³Ö'EXÿ`@ÆRßæº4¦„ó^ü¡”¡@ËÒp³¤…+”ŸUð{Ò³xÒÛR"_káŒG_ GóY—ûõhÖubX™™ß° ÇrŒ¹R«Ì«ž¹‰±œ“†án í¿%äèÌ‹ ý) Ge—âä/˜ëR €yÚnJGüúÁ0Ž#ñƒ[ZqnܤSüŠ1§TPkcý„3ŽÂ\7<ôaljϵ‡ J¸Î[‰òôôk;4¿í!¶€fªž©ï'1âļúöa¸ Q4»ö1•±ŒÍ¼®(ì‡zÿôèÀüDØÄÓMX*Þ¢út) Q1ÁâMëù»<…y)kâpdv=¥¬A!û#¿›>ÑS÷^ãèÅ]ÀN1ÏdE%eé§©²GH  ¿ …4´Ô5çâm.sm#yNÕtzÒµ?”W\j3£¬R¶vWä«p߯g»Y寡+ªÕ³…› ÔÊ£ÿ&†¡\O`‡Eªy-p­4·nL ±Î P°ªêÈý#xË$„Dr¼„ØÀ„ücÀ•«*Ð5Å»€‡ª)=4—–À›7`&¼Ã‚¬.-èžÙoÒèQ´‚z×¥ÞµRä÷Sœ˜ŠÙÁÞPíïòò¸ÂŸ â=¼iª&‹Þ*È;¼‰¾Ó› /¼ "Ù/ó¦sëªN×€þaÊÐÒñû=Mf>e®(¦áûÓ)¶ÂtY»€Wëpç¦C|ÌeöÀœ<æ&<@WPy€µr»å^—s£+!°^^$çø¸Á ¼FŸ/•`&†ÝA‚ª´“Ø: ŽÎPIxæ (‡ [­÷«õM?If8ƒ2y·÷ŒQóƒ "tE­fµ¯9ƒèéHø k&—ü°bƒ¾‡¬Úõa>•ƒ óQØŸl¿Ã£Mœ»BGWó.ý¸‚%5bȰØp ÉYÞq55•œ5ù0LLgq=š‡{8¼ÌÈ8]Pn+ŠÏøâGë>^à³› ò ß·¯Ü›‡ôõÎM³úÞ]IM¼µypå_/=ˆÏiâÅžoåÒ#–€ûEûfÜûן8ý ÃR{½^üè;ŸBèá-€o¡(ö-±wø3褶x›9¾ bé[#ö'¯Œ~Ƀ¨Óœ’wW7k´Åáu’(ÞQ©qMÞQÅ×QÙ°$aaÕ]¯²o®û ¡_ìn·=â»ðôˆÐ Þ@Þƒ\çÆ”qç‰Xœ ¶T]>î0‘¨ž<??>ñyÄ ¿÷ö£:@zãè·âhDày4á Ìñ¤¬Þìši&îK=7ø ,£þ7yà ԰Ö_ù&̪r1ûæÀ ´¼Þ$šY„³YN¬ûvw|ççsi“¥RÅg^¼Æ;ØSù…» ¡9_\ ýº¹Ú,üß?˜>»ˆñt|šøèÑøúñÁ“îúêö™,ŸÉ”1‰ 'Ã0ËÂð?RÆ’è{'{Ó!øÙÅ…Ž>øÅë²ÊdÂ- `0£úîüw¤¡û”AòÎ}¿<ûÖÙˆDendstream endobj 266 0 obj << /Filter /FlateDecode /Length 3548 >> stream xœíZKoäÆrrÊ-ˆƒE€íÙ,ö»Û‰ ı7v°üÐÁ€”Wis†29Z­†y©êǰ›ÃÙ—6ðÅÐA²»ºž_UW÷O‹ª¤‹ ÿÂÿ‹ÍIµXŸütBÝÛEøw±Y|rzò×o¤…7¥­,]œ^ø)tÁ˜)™¡ -ui¹\œnNÎÈ'«eQ••4Ô(Cv»f»ÄŸ\ÓÊ’zYpÎËŠ2ò¯þ¿É?HZa yŒƒDYUŠjn'NïL­…â¹àµ02Å…þÈu&jä“Òõ»xuóSHw…ÏÒEAׯThfAw›!¬tÄïÚLòujkÇÙua “Çló§Üƒ³_[çð’ˆìë=]*aãmíÌŒá„5Š ßgh[|™pn5­I= Kñg0* xŸ0ßðøEà×¢Y-‹hdo£m¦ Ä ýÄ´õ.|0:±“ÿìdØ»ÚÈÑåÞN€]¨éw´R‚hxW;¹Å%©‡ãAsÎÕgÐõMö13õ³táH[AÔ{Q2ëöQ hMRWFÓ6YÖ€ù`V®4g"üdCÐá3?ˆßÑä`¹¢z¯rÿ¥¾È ÏHNºY*ç{ÞKzÛ¸Œo(ÍM’åJpi…ø z:GHÈÜÉ^£sÐë Æ[Îê±ÙLýÊP²«Û@ ¨æÚò‰<­HHjíæ§›ž”óç èó}ÎìZxÆ,ðVArÁ†‰ôÖ,#bo‘«g#ÀWY/ROÉýxðˆãÞ+ÒhOãÖ{³`º¹é{ŸPõSÿ‚ã0²i2'è»á"¥Ðc€‹X0iéÏQæ:&=å<¢³Ü‘à\äC)·ƒX~îLfßs) ±¶¹º]X„y1)/Cæ„™Oek'ƒ¢þ}Ö‚"Y`!õ²ƒxÇK•¢f„ˆÍ¾B¬Ô©ÔaUÉòEë~‚œhk4ðm“™ Q@P oðkP¹õŽ( ö _ ò?Èý7AëåEê놓Îó&s˜[üâ¡"Mû œ"> &™ÿ´”š’­ÆdO䙼o¦“8¤ŸâмuÎáü_aÕÑG=džk{’_uU9rŸ‡QžÏT°,*WA%úœC 7ªâÁøBê¾îÏ:Zw#‰îjÌ&Ñ7ޏÒÎ)_kÞÀž9å '»z@(¬Ì(™&øœâ–‡X9-kWiQz&{¨4\ ßÃ7·sJRö¨’Šå5XçPÙ@v{à¢A¸CF´s¡ Wêô½Mƒz'* ¨Õ¤^‡['`Å'±ß'CF!³ú!Z¼¯A>ˆ»ÁM8s{ŽçK)19Q„•P ømfOÌÃBRy›rf#ì[ ~÷ãŸÚ<¿ïúz7rß!`¾ŽAFAÆ'MVYe*½ÿ^™ƒÝ(µ U)ÌJnƒ(ï³; ¤æ½éL2÷¥ ª”¼¢¡71Ý?¡¶ø77²ò8DµÑœq³Bü¹5/ý>Œ€hmaf¶gè–Xó&±ï¹EÁ¸.e i«RTzߢ©y¦Cá݆{~êZXb•w&Yû~= .«Šª„å÷Ó¢€8¤ŒgtïۢТ4×îù2Ú? Ëu“–¦Y‰ãu+pëSÓ݇¡_¦hºpA¥.:7ƒÊ‡ŠàÜŸ;z°õä2Ìâé,*¹¥¡çu9I”L0«ý˜3òi–|CŠvuWX@fm<ˆ4*YXàO_Ùœ¾ØéóC~†LØÔRW<²€zdó ù((CÓÄ®ü¢¼äÒ°e¥2Ö5SÈ·ž.(«}¦|Ÿ²äV3 :ÃT…fåwÁ†r=C>RÍ+Óh©½¦¡Jóôe2–ª* ÿ ¢evC9Hÿ+cqä­tUÁj€zAa¼¦Ù¢S{ *@–tà'ÍœZáôúZãSsÛ«‰ééé+†üaFl L€™Y±saæÄG™]5qhò·9± ì†j0F§y“~†³Úë(Ôb—ã”9IO>è—¿†Bòj9¯T&«æ„“¥°ùÉ…›j*ÕzôJ9¥"«`w¨ÅfTõ®¥Ñ¹ÏȤâÙ'…Ûl‡dÒ;PRQòû'Ð¥T Æ‘bˆçYÐ%læ0H’‘g€-:ùx:µšW±  Ðøá ¶ÊÁA"P@øb»ä j…krPW(cIŒ j(ܾÏ-„†½óõn–G,`yÊdfY}ܲ¿ŸáO—Ô*H¡€xŒZëñ¦íÖçäS(<öñ’i•ƒv@ôtFø*°ˆU+8sVµÆÔ‡]Â}%Õ›ÔXiÖL7Ï»#eìÄûHL´ây´+Sj­@+ ¤Ö ðÍÇËB2ᣗPTŸ“»þî:œZ=xŒ_ñT‹“ëúâGwP_|4>>¸jW/6Í‹ ³ƒnaºÄ)Ðþ²y1Îü{1~v«ë'žÐ9¹xÖl/Áb«ú22Û*Zà Ì‘À/ã#}iQòã,Ÿ,±íW×á—MQÂϵ³ÿF¬Üñ‘ÓSœ)Ç™Œ$šƒ…(lÔ0}oºËU;аóäéw_~³n7W(ðU½iÚ»8Îdê]t›¦n<Þ7c~`úêÒN™ùe|L|ÿb9‘U( ²QZ6Nþp||täqÖáAÉæ¼`¸ÙlêþîRÊU³;^ñ¼‘?ÿ³Û\—tùðÝ™ÅÓ$²gä3ìúº _\ëÛÝe9볾ǦL´ÅËQÇÏëöf5í«þœ|üóËŸGE¶Z<»J1âËQ"–‚²ºàTV^15R&¼ãúŠ@5+øª¨tä×G†Ð9ÀënÕ_nâR‘\8Wræ×ÂÜ–ÒŽâAí‡H> ‰ˆm¯š¹¤( P0.üm³Þ6WåHáœyøpd¡Ú_æUÇÔ@úaH66O¿š)qÙðÇìBæû¤5K‡RÈã<Ø<£³”8ÂJ¼Kóázò•tXšçv;ŠKû:Ž D͒ɹ~3†äq†ô[¨¨¼C{%Âfcž†1×>!úá‚ЪDzHñR½†Ì@ÇX…WWĈ[‚–uOÁƒ 3Êg°ðœ_è7Äx-bðWÆù4~CŒ_ 16É#‚¸"Äé§ ø©é|Á>^y€ü Á›6ÅÛ›ÃA航¬þ¢þ€ÂÏ ÷Gùûÿ€¢¡±‹ñÿsc›I¯Vé’[{ïÆ6îR$S)½3²ëÖù¥ÂWÇ9=Qí·Eîž$\p“¯ÝaY×™ƒ¹cµ7ØÌñáÞ`Üß|À¹R¸+îž"ù5«íQ!êÖíš-ÕŠ4/ÓO“›9^<»Çx¬ßøs}ɹ½¿P÷> Q£A¿Ó²yÜ¢Rr9Óÿ™nQ“s“®Ÿ™°?ß÷÷8Ã} œaT¸ŸîûdÇùMÛì\êuû_ŸÝBÒNÏúfpB¹׸?f?°µ;ìÐxHh%âI5^‹|É7ܧe¼Ê)Òë ØûÐÆÆ‚—S`åã÷I³mœXZ¸#î &ÀÁ¶ñ¦_ á«òàþY‘¯–-‹7ÚšÁw"-FÒg§í“m¿Z#­ùM·M~†,œßj…Õ(xG≻ъtëgxɶà.… ث޴»áøV|œ¿ÓÊ•žžååÇÀxÅ*T®ÂTÞz«Û»—éøœÅÉ,?¼®ƒ…J¨vdÙÎpÌ ƒávS09³áÂ’ƒÙп8D&˜Íû)“îx¬÷1©5Åzrn;¸Ð5Bûk:•ÆÅ¹*9¬ãâU¤@clO.—Ýò…„ò”Â'ÊJ.íï4»,óÖô تé¿—0@;x§3ºààÙJR•KÎêÒÄ @ü–üûÃÇô¶T?—ІnºüVœë`ùãÕ/G鮋¸ ÀF¸ËTG}#¿<Õ7ᄟÓɸË@ J•÷}kJ£ÕÂÂ?`ûΗÌ? 7;˜dÙ­¸¶Þ®äáé¬{h‰Û<Í&ר&ñqŸ³Y!  e)ÿïçpV€ËCý›ÒeUUÝëp8}@¦jÜ:¡Y¼•óû9®ÇëIB¡N]ÖmK©¿pŽ3,¤æô^J3¹í*Œr·:85ÿõÉÿãjendstream endobj 267 0 obj << /Filter /FlateDecode /Length 161 >> stream xœ]O1à Üy…!S¥(KºdhUµý1&b B†þ¾ÎÒùîä3Æëèlþˆ_”ÀX§#­~‹H0Ñlk$h‹©²2qQñá¦Âûv™ƒßÕBü)/¢¬š#„^ÓRTn&Ö ÑwÆôŒœþ“j`2ÕÙîÎ )ZYü§’£¹Äyp‹‘\*MK“\À:ú=|È)ØÁ¾+ÇS&endstream endobj 268 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 290 >> stream xœcd`ab`dd÷ñõM,É®ÌMÊÏ)6Ó JM/ÍI,I©üfü!ÃôC–¹»ûûõ‡Y»y˜»yXÖ}_!ô=Kð{:ÿ÷FÆðÜêçü‚Ê¢ÌôŒ#c]] i©T©à¤§à•˜œ_^œ©˜—¢à¥ç«§à—_ÌTÐÈÏSHJÍHÌISÈOSIP v Vpò ÖÔÃî6TÑ‚¢ÌÜTFÆ.&FFËïkøþ3æîe:ºKtm΢¼¬ê’²¹ßŠÜÛêº;º»%kW7L™2aʤ>¹ïa?Œ&Íê›Ø=]’¯qêæ ?…–oZȶŸk?·s¸>çê ==3zz&L˜Ð?™‡‡é¡pRendstream endobj 269 0 obj << /Filter /FlateDecode /Length 170 >> stream xœ]Aƒ E÷œ‚€6¦11lìÆ…MÓö8 †…@½}µ‹.þ$ŸùŸ¼aýp¬‰”=‚ƒFªUW·@:ál,©jª ÄÕ ‹ô„õ£ôïGš¨w— ²gݶå©ÚKà®^ig$ç¢ÓZ´êoUï…IÉëEqžf²(J¶)õ3˜ÊL'…-´±€°Ìc,þnóÎçM"_Š¥V]endstream endobj 270 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 577 >> stream xœcd`ab`ddóñõM,Éð,IÌÉL6Ó JM/ÍI,ɨüfü!ÃôC–¹»ñ§ù_Önæn–õ?ö}OüÏÿ=Z€™‘1<§Ò9¿ ²(3=£DÁÈÀÀXWHZ*$U*8é)x%&gç—gg*$æ¥(xéùê)øå—34òó’R3sÒòÓBR#Bƒ]ƒ‚܃üC‚5õ°º E©¸”!„!Œè†~F¿ïkøþ3yÔ24®Þôò»âÕ«¿Ûüt‚ùGùwÑî5µ‹Jæg/O›=9jJôäîMÝÝw¿ /ÙÛž¿H.¯¥¡¨»†£zzÕ¢ù+fn;g¿Àë·nšZ‚Õóê¥ír×êŽ6tGu—U¥§—§”%tæugtûöç­Y7qβîÅ jçf—Å„JüÎùÝówŽr@§> stream xœ]’Mnƒ@ …÷œ‚0ü̸‘"oÒM­ª¶€aˆX!‹Þ¾Ï¤‹.ž¥ìñ›±‹Óùõ<[^|¬süJ[>ŒS¿¦Û|_cÊ»t§¬¬ò~ŒÛƒãµ]²âôÖ.ß?KÊ‘†ßÛk*>kø©Ü‹âܧÛÒÆ´¶Ó%eGçô8 š¥©ÿ÷«v{E7> stream xœV XSW¶>!’sD´ÂisN´¾P±«×W«âTQÁª ¢-"!E"’€ $¬bä òÂ# ¾PÄjµ>ªÎ”Ž©ÓÚÁZõj;­ºÝÎãD±¹wî½ßwsò|ggŸ½ö^ëÿ×ÿK¨~”D"qñó_¡Ž ›î¹"b£Fo+ —#„ßH˜z÷îpg)8÷Û7â ‹+6»`ܸt0%•HVoTÏWoJŽÞ• ðöòšâé)Þg(Â’>“‹C7Ĩ“¶ÄD+Bã‹'ûOV,U'‰ƒÑŠñê8EXDT¨*R¡ŽTF)V|°"@±pŇ+—xLþ¯ÛzýLQ§ž¿é·ñ[4‹B·&oˆØ¸": Pë1ÑëíÞ3ÇSÔ‡Ô2j4µœCPÔJj5ò¡ÖPk©ßR (_j µ˜z—šJùSK)'Ê™r¡\©`Š¥†Sý)^Ì ÕÊ¢þS!A‡X‡¯¥yÒoûÍé—áèêxU!ûŒžÉLd¾ëÿ¡å´Ý©k@ê€?:Ornt~>päÀºwÍ@Û ¿;,]DM lÛ¬®øÍ /7ö¸p~ˆ^¢ƒ£šPÄ…¸<÷À7Qþì1ºpÞùr6ªC7mX—+!´NÓHNÀ~¸ÐÔ^×z¸òœ‚öøš¨úPãJØ`ò÷õT¢­wœMrþ'ÁÒ"í]Zy䧤é³Òs¸ 2™ ž?˜idÅ)lÂjô½ðð2¾dnoÌ0f–S– uth3sr´;¸ y,:>†’`2›Lïëp™Š!8p(â_%˜¬²áD+4ᶤ&W”ÞÀ¦7–N¢J<éØïÉÀðå髃¸‹4{ˆxØÓû{óÎPþEÄÿšÞ4»4èØÉŒæáÈ¢Ãc|“÷BèùÓgF—žˆátå`„ £éšƒ'Ú.sóÊ4"w$¨°—ü¯6׎ GðþÁý®7ÿ,Ç•d,¾Mr/+«e7sÓ"ù{èHCÚûœF) –¡/ŽÁ èÏ5Ê!<üæE…- ÷†Ð26(Ø`iá…fº%×ÒÁ!-»Wbެ¹<°V,€¤ÂåДGÄ t£´Ç§ÛUo ƒä­1ÖÅ!k¹œ§2¶›Œú7;`:µprኘ‚$ÚÇP¸Çñ4ü¡ ©G¹ ËìÌNÏH¦ªM­¬­*kàĵèt«0n¯¤µ 3»¤‹r9tÆýŽ ¨ÎÈ (È•åã*8È4V~ˆýÌ3Ô¹œ1â·Sf¯õƒ—¥ÎÒCJ gÈÙ±CzØ™—RW¸N<µB5ç£5mq&=0¶&ûªîØŽ›©° ßüöظ[§µ\vqŽYL dlåÉ`:Ò‹w{8³¹°Øl>vÌP ²Gº?ë"Ù3ÅN„6ôKrE‡ª¦ 7 ÉýŸ¡‹ü¬j%½@á wË8´¢‡x ÍF©d9^a“&ë5Ívß#u2Òÿ^rÇ:\=xá}Lo¿u³ŽHú.}Éï…–ã<>¥É¤_ÓíCO]í7wjvû ÿÔ÷Ï Ð{ód=&ã»ö}žoæŒ3eâ~µu¯p$Á1÷¥øhˆm =[_°ŸöÐûM·¹Z›ŒLÒ“I&Ge-}Û”a‡S„>}6·E)Cq¸üÖ„ý¸¡Þv¿ÎêÚrãnt‹‡ ïÉϨé°í)‰‘ÐQÈa8ýxÒ ¯éóbÅV%×Y+*ëk·—kÌ\ÛÞ.Kvölø ^E/×ûê?ˆ›±m9(6mꛯw=t°šcçE˜ë"Ž /ø:ï[žøž”³õflÞ°:¤µó³‹×ÐË,"ÆÁëû‘$6‰pHÌ?¤›77g¸[[Zm¶ÖÖºKF‘áz¬ƒ,X*£¤+ y:Ђ6K§Kõ›ç>û®ò†‚eWé^ûü úHƒd‘5±öù×À˜sjéÄÅÝK¯Ž ›cª¤ÛL‘à— ÙNrmnšöÀž¢“ùVûÊ0@æPÈÈLÝ’ÃØ›ÂQ¨gœ„Æ—}TÜ;YoLÖƒ6IÕ]¬¸+Z…Qr%n6²aÄÙƒ7JR vædfé$Ë0XšY*+ohm“±š³ÑëôëA‰ðÄØ_8%†òô&?»¯ûÁÀħoÉ­)„ÆšXªIJЪBÚ#»z:Ÿäqè'LÝ{®­Àf*¢äæ,Õ¸ÿ^E“kkFõx?pcÁåEZÐgfå¤ë¹ÌDõìqÀø{wâxýEWwþiHnåÕ;²@ÇlªH²r졺ª=6zÞ“HÉÂþ4]qd+:ñ¿ÄÙP‡Ó_*‰åšôe<}6͹ÓÀmœ0UŸ,V-¸*¶#¶.C#ƒÇdÕ» ¦gí32’ ž0š &r¤Æ‰Ë²'ž×ð q˜œì’å£âëÚ6ÀþGFú4‹„6 ï•ÃWâ0¸aWƒkãùøóËnß½]y»å¼ëI EÂy¹¶%dÛGÙ¡Á\üžðòï³à½ë¢ª’xM|F l°JUõ6†ýý¦Õ©aáÁÃæÿ€îè‚'owÅV–sËšÖ‚02•)¾öAí®|KþáøYµÀ<é¾~kÿ¶æ-u|I‘­ê¸1[Ÿ•)Lr±vOIy~ G>TÈ!2kóö$:&3ÖX5U·™ëJ+ùòkQ=0ßÁD Ž/dò•ïçXŸÁãættU•¿Ã?’Õ£̲kÆÀ*ÑšiÃN+³¹â¸ñÓµŸ¾otc+z+¾•ï‚â”THËÌá²ü¢4jQ•wv$#›y.ý:qh¹UùèÜežÑ=xpäö?© «êÓŽ1áX½£MC¿o(lãЕþl‘–Œ†Ø ÁÖŽdØÎÈö³Y ÃÿTy§‘'ZÁKN¤³6ŽâȸKuÆÂZS¾±*¹‡î@ÆÙ¡1n´Èj8‚Ý¢ø¾$êÑ_߬èSK¸f÷%¥Ÿ„O™«Ÿ\úçÕif.7͘Yܧ7ôRp2 ú´L.*`Í™%¥¢·0å1sÚC+¶òû6Ú2Š¿›Tª·E¤í•uÁ*Oâ@d§‘ßÉåˆë¤¾œÕ/g·1·ÀÂåíÊË·¾ð…ö‚(8._=yοòDb·{Úª+zï¾;·W%¬”'a’ã_9YIrl’± |¯¤f/zg¯W@ì6TdÓ!žyQNGAê[\„RÖfB ÚÅKüi[Wý”´òB9 5PT•ǰŠÜü¨ŽžP_BÞc^×D»pKц•¯=§ð‚f¯¿òA/UéEñ¯&à,”‹µí‚ö–'ÕÄþj^ûߥCüŠöµ÷ñ?Ù×/£ÎÉÛÁ~q)\òç+*Ã^ ÝÄüÌìíã—®þOfö×¹ÿ×ÌWjO’Þž$Aý)^D“¦ ÌÖÞ÷úRdkºØ³ÁP¤ãQA†6“%@&9(¶¾AÁZmNd1Y¦Ì‚²'óws8 Vôt¶gff$5=¿êÀ¯’$°i¯E\¿F©9†²¨NHøÔI:éT $$TC â“,455P]Âa'£Kª¡†Õñ­½NVÉ¡¬]z*~.‡çiW”—Cþ<³:ˆ+{¦ª7úÆÃjXdÛ9«cÞ[OC'Ü-=ñ¤ísS\a¼‹ä¢f¾£ Hµ U Ѱ ,ñiÚ9x úõëð»Â3U¹U°Zàú¶J¯¢@˜+ú©WÁÅ:7Û.‹ÉÒÝ– ClQô$}Q/œ¢ë ÆM\؆U[&(Võ"8>©g^БzÝ$.J);dº GÅë8¤ïC^ïq¡ÁR|Ÿ(å?¿Kÿ’Ž¿½Kÿrü¾¸wðû§m®§Ÿú? yŠCº±õÂf\(WÉôIkt[wfÌÑ .ápTVzØVV2ôâ¹ógà[Œ»I\8vqžíå½ö@fIUSé~žUžZ:®¡ûêÞãbîœýoùÌ!Nd O\ÉGÖ¢KCü0—õ¥RÉ}”J1D oÙT­ŽÖlRG×k¬-ÕõVŽt÷ûocÿ‚±Eˆ=#;ä—cÔ“ß <—¾ xàð“%ÅF#˜s¶%=eMÐŽ Ž # 5ñâ $áñÅ™ÝE jmb•0¿Õ»«d6§8§~jçþV£ýc6swŸsv¦¨L°cÀendstream endobj 273 0 obj << /Filter /FlateDecode /Length 2594 >> stream xœíZÝoÇ׿ Œ^º¾ë~n€¶°v‘:z(`õ¦(ùR”'[2‚üí™ÙÝãîÞi éS`øÁ§»Ùùžß,wöÃŒÖlFñ_ü¹9¡³Ë“'Ì¿Åÿ–›ÙßOOþòFhxS;êØìôâ$,a3ËfF™Ú 5;Ýœ9?ýÐ*WÐRQK«€þôüä-ùÛõœÖT è#áYZîY7Ëy…Zfµ%‹®Ù^e¤»y%¯“d{Ï¢v’‘o3’œ¼éVˆjI6Ímw“}lW¹¤]$dã’ær°d‡Ê…´ ›í¼âà+$9ÏäkÖ»ùO¹²êýS U[­ƒ—Nßgž6R‚‚ŠOZ¾eZHuD ¤G7’f—2[x±ëŠçÊ ònÎmM%Óä.®¤¦XÙî:ÿ¬·‹ “†ƒ¤<0—QkH÷¾Ô2b +@¾Ó\p²XÎÑ$L^\ö4˜9ÏóÈSÙƒ;}urúä-¹È~=þBqqíµHiÁD¤ç¯œd»A54hÄá+ïLa-ç°9£´E©pÞväîtRŸ÷Ú†E]6yÄ—¸XŸ:e<ξz^‚!‰þy;¡É"ò™L(o»!»2/¯ãj(Šlu¡jp¦V¤“‚Ó•Ïk>å‹ã¡ Úî¿x5 [qò©È{¤)U]ßùlÁù8W¬¥íݨ¨S¬.#÷Í„êñS‡åψ— ð™FÃ!yíT„?Š,(Èrs!ÚÚhtCh“îºCÖŠÞSx_ÂS´\9im°œÅê 7Ùç«2Y³’/ºKfSô-®yÍ]h[äb½ºì=#góÐãJǸ}ßã’?U)u±^À•:tö ßÄìr}‹!8‰²š·ˆÝ S¦l­³µ`zVíQ Œ†Š»~yÜp#k©„ë ¯$9ÇÉËB,~7·Øwž‚qÖúVþÉ× ÍäÆA¸¡¿·k¦Eª1ÊÃ;ò¿³üw(Iv7Eæø`ÀNâ}¤²ÔaÑE%¨˜jQÔ'ïEÛ \>@ý,v TÍ{S¶Ù`ç‹û™ GF¾mÒ׃OQ UVŸ*Äv°êñÑš#0Ñõ›6höÛø 5lcB lòA 8dõ‡¾+¨øºšDíöûE·u»à(8^´r=¶rèEm³x—×Un÷Tñ0§k+{¤¸eSuu)•b‘¦$°ó+ŠS(B*gô+µ ~óý¼RØEw«®Þ­Vçg„[j $ûÖ­›w-4ˆ3ò(¢Ö£„ç°ªµ«Ë—@õ´ÿûòÅ2l·n0˜ M_âúz{¾Z{rò¼J¯_¾úÏë7—ëÍù5¾„*»å=#N"nYäÓïÕHÈEÛÔó$ CWˆ+°ë.±þ5=²§Iø¦ä”™ëe<í?irÕ®®“{BFÄž$?§×%ÅÄÆìæÔ9Ü’c@&xsCô4Ù·Ü^-·›¦[\u“jƒ»Üܬ¡Yn3—ƒjŸÎæÑ¹£†gj­©ëõIü³ôøäÀc`8ÈèG­]­ïV볜2së#¦Gù›[ö(˕̭EÙÜl6¾"Ú0.¸÷3ÈŽüéÐKj6|¢mm¸)Úä[òb×5ß™{?uçu 䋶ݶÉàÏ)Jë›Uúòc{F¾ÿåó/Q¥ªfmv;çnÕ.W×ÐÁÏGEñ·+¯­¡RC21J üªŠ©$‰³šÃ–è•A­Ès¾ª˜NyýäÉ“)7Þræi¼ U3 ¹º—€%]&º†Až_’á#_c”WUH›§Z´KBMXz+%zžÖK; t UUApªÿÔ\^5uÒo ß=K.£û¬Uà | Xý8`u™ â¢]<ÓðfE@/™šY~Œo ýö Lƒ¦=É šì>¤Ò´F…¼Ã*í;úi’ì™´PG9 4šdƒ4–‰ùHVÈ<ÀEõA…ͽ°r4{õ*Á,²ƒý[/ÝH€¹4i&Û«6‡h­Â <„Ù£† kžÂ0桵¡Ci„õ8üß_(hæ8!sð4€¢ $SÚåšæÕn7‘=üZýä´<Â_wœAM5!(îÞ`œœnû «ÔíÍÈ‚R'87Y^ä9œ ¹¡£ÀîU„!¢ºçí*€Ëp†5LÇ ê=Ϭ2i>6Û›ìÚÔÎC˜™Š/ÜÐò—Öâ °pßâØ­Oíxˆ¡¿ùfÊcöax:Ü(ô‹›òæ]³X7&Nût"Æþ¾#/²×¯“¾‹õå¶-†ÕdóÌãȋӓÿßO’õ&endstream endobj 274 0 obj << /Filter /FlateDecode /Length 607 >> stream xœ]”ËnQD÷|Åü~„îÆÞx‘(JòÃp±Xx@/ò÷©*ì,²è‘ f¤sJ­^>½<¿Ìçû°üq»L¿ú}8çã­¿_>nSýõà…~zäïã[_þÜì¶úiýøhºûûuœúmœ_ûb¿ZµýéÔ}>þ÷WÙã‹ÃéóÕͺiV+<7Mƒ¸aô¦AtÆmÓ nwMƒ¸c›qd<4 âqjĉñØ4ˆGÆÞ4ˆñÔ4ˆÐØ|8«žˆà51™ ¼&f#³YÓ #ðM F‹¦A ÆjÄb„œIÐ(h3  r&A£ ÁÆdd42ؘŒŒF“‘ÑÈÁëbv2;x]ÌNf¯‹ÙÉìàu1;™¼.f'³gÓ &#ð] N¾KÁ©àÀw)8¼.f'³ƒ×Åìdvðº˜ÌÊCµkð†˜ƒÌÞs9Àb2xCÌAæ`2 A!kZ•ઈBTAªÀ"„–!¸ ‰SM&›L¥¨’T ¢U’*A”¢JR%ˆRTIªD‹©&“M&SIÈ` 2 ™h1Õd²ÉoŠ9Éœ(5Ul²Ø~J!©(5Ul²Ø„MÊ(iTè¸Ôs±ç‚\I°(X+  r%Á¢`A®$X,È•‹‚¹’`Q° W, äJ‚EÁ‚\I°(XØôÒ¶·½ W, lJFxòÐ|]Þ^¯¯c5L·[Ÿï:q:a¼\ç¹ÿ»‚×Ë•_ ˜Å_>Aendstream endobj 275 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 7113 >> stream xœY \TUÛ¿ˆs½.¹p¹4–¤¦æ–¹åZDn*Š;¢‚ìÈ6Ì ³1óÀ°ï›ì„i›šZ.Z9®eåÛ"¥o}ioÛ¹¾Ç¾ï;w@bèëýÒàwî¹ç>çyþÏÿù?çºQƒQnnnc×ÄÇÅoˆ K~vöÌõaûRbB…+“y‰?nÿ¸{"N»?辿F¸ÃˆÁ¯Ž›¢õà—ŒAͣЎє»›[pLÚKñûÓ#÷E${Ï™={îÌ™äç"ïÝiÞ¾³¼ýC÷DÇË’¢#½CãözûÏ ˜å½6^F#½§ÆÇyï‹ ÷Ž÷ Ûì½qÊõ¼W­ecà†§gýŸ¶¹ Rå÷bÜfßø—ö/OX‘¸2iUòê?©,4u÷š´=é{׆…î‹X¹!(zcLlðÓÓ¶MŸ±cæ¬gf?«˜37cÞüçž\8aÑâIK—=?•¢&P¯P‹¨‰T 5‰ZG=E­§&S¨)T5•ÚH=Mm¢¦QÁÔfÊ—ÚB½Dͤ¶RË©YÔ6jõ µ’ZE=K­¦ü¨¹”?5šO­¡PÔZj!5ŒN-¥FPPÏS#©Q”5šCyP;(–z” ¡ÄÔXŠ£Q^”;õ%¡DÔãÔÔxj(åO¢D ¦ n“Ýî 2úÜ}ËࡃÓE£EoÑ‹éφHo¦e¨|3,jØóGHF\}dý#§G¶Žzd”côòÑŸŒ‰ó©‡Ôã×G‡<Ú VˆÛì9qÙÜM¯¶Çâ;*Ù.i÷ظÍãêÆ]÷óãÞ?Þù„竞°ÿ÷ï;O®x²|Âì Š‰C&L1ió¤öI÷ŸZÚGòµ`ÿÙÎ?)skC¯|^qçsZÄy%†B•EgJDòÕœñ 27â@Š0ö †SB2茙:M–1CÛÀü‹®„z°´XZe°ÿÌ¡´eâ>>ÆK[•œ h$s<mcŽFÃÐG"§ èœ=Èîñ›9<Ùf¾´EliM$dBè×¢âÇ7–‚×jØ™’ʰŽ6‹©lÄ—–C"Y^° ˜·è`|Nâ:ˆæÒ¥Îgö-ׂVˆØæ{åŸ<.9 ¶ø¬W°ŒÛÛwÛçm3{ocœÖñJ»G X„ðxòõAkȯ‘(À“½Ä[ˆ«˜dzªDÓQ²¨–.ë}ªóÂDZ!¬«©ƒ:˜Ž'sÁhr5ùÓÒêeiI¦°«'Òl œÓ¡Œ ®£oâ¼WˆRh¶FIN „‹?÷=!‰A›8Öð!Þ$bÕÉòçy=AR;Úi÷øÑQâá%Þ~›ÏGKÄEŽð–U]¬=y¢ð\ñÕí7±;0XJ+{ j€r`Ћ(Eûx8‡fÑ®w—Ü`BÑa±v÷.¿iÀL¢;ÐNC³—¾„¢}³¿&ÖlÝ8¬ÌÒ‘T„ž ÙA_B¥¯f§`ŸÎŽ>±»ñ€bÄ5hÌówñ`>nS¥xŒ³ŸÎ@ƒ@ø¸_ƒ<˜UùbÅ,ŸáEØz½ìNÙ·p®ÀIÅla1•/°»}ë@¿8ÜyZ*¶¶' ÔÄ[Ú¸¤§$í†Ù°ê×4­=ý˯ÝÀ¼dÇâñ¹é9òèS¹ºçL忆XHm–NkÈczb\ShõfÀbÀüX,öÅ/wãÇÐX@ üØ]öðpœhGÏØÑEÔ—‰ŽWZÇ/Ä×£)¾Æ¹»Q¾?< Û`[ÚÞ†D5[ 4ìÏ€fs¨9šþÓ «¥Z-×öœ*„îD»;B«ÛÀ ¹}WƒXfåXÖ—š._ì¿B² d· Ž_åØ1ª³…Dz_õ¸ö.Av¤°»óÉhŒ¸âg<¦&ÆâWÌÅ™ýŠó_37vµ~ÿ[lN‚1='½zãàòœIŸ:¥A»»&R/}‹tûäÏü”Þ­<ª¹‘¡Þ¤ ß5¶ÃƢ̌±ÒX”=èOã òìİAyne×ûN›Í·ÿQp´‡™Ð\;zÓîÑí@iŽÝÄm<ߎ´bKK뇻†æu:^¿},†uˆj@SÐÌ~ºA¬=›œƒ©œtsfãŸK Z•42¶%¼,ðÀX‹ýbðš›Ø ‡Óp¤¥ždÌà”lƒ¬SÂ2=>fØåMhi}OaêqâEâhG #Èq‡šËG!±©Ò\Q —ÒUYÉð<ØN˜v×!¤¡…®ádñBšeJoö¤É!ñV.ÍëC‚³Z±Ý·èÝØ Ÿ~nßUðº·Þ(ëv©\ÿE3„˜óùíÉÞRñæ–‡„‘èä™×gtf‰wŠpÍN¥„úD¸÷á ;°)¹KBnr©µì[d’€ÛD×q4Üõa‰4{†rÖµ: KÉt×{8½ŸAB{ µhVšåÉîçK[P³“~ÝìÍ¡?…}8Rľõ¬baf´d)XÛ-mo¡º‡\ò§Ù»°M>ýƒ$âÍÃðFáá&"4¢³k Rr•.Œiýƒþ‘š8ÕîÓ3˜rºQ¸á +_‘ë‚sÈl×áƒý¤G…”Fª1Úrmqç/ð“F uuRŸÃ׃ÐuQÓ€Huu~ }ß±FVC xUÄV´#ôO®¥Ÿ³?FÇínÿ@Ûþ‰¶¹óWø§ˆ“H-gð:MXË)Ȫ€9FOÁÇE944êßÖÖœÏ)Š€,’õʽv ~B+crh#:.:Ö'r“ÉÕþËÔ@ ˜q7— ŠC‡,6{Ó‡n™Jók™\:;¸ÍÓØÒ+¡ºÀZ^P‹Ô͵Ë{ÜïÄÂe»»‹¯0 ÂPP[´¦WQ WtyÏxì‚§ ÓW[%¯'Ûo¶åwåäæVç•æ–¢ùŽÄd.Ç+ ˜Û"ŸÎ°ª•ªþÿ’tÁùü­ ëSq4ç ¤‰08y$žñ“Øœ- M#Ó÷î$":¬¯ÙŽÝîBO™ûJ ½[ñX´ÕB~MC[=Ù«ýÔîz2榣¢CDè‡?BZKÆgOælt>ù¡ØÅ½ï¡Ü>DßÁSñt<_´‡f›].¡¡}0B ü†Fqñ¨x§Äõz˜‡C{ è%þkv$"pîpÒïOz«ùÿe¶,x`5Ȳ¥àÕ¦jKCžê/§äÓ‰–‚>-Ux–) ¤<Ðp’IÿrVÄ_xS>T›kzäƒÌ äƒÎ™Z§h–wõÝW”w9S+ÜuÑO àTûZäbç·Ù=n¡-8ˆ|ï+7×ÞÌ» ä¯h QžÿOÖQ­0Tj¸:-3FÀ{•¾&›T„1Ô&¤%´Ê>J¹²úЬ¦zLcX*VOÌ“°–“­¤o¹oÊÊ1xì}.=1,(ܨÈÈ·å•8R fEe¢„}Ë{?ÈÒ²´¡öƒ{ðâ¬EHÎo#yÌR£ûÓ¥³œ»‘€¦"7±¥)tÄŠ,£J¦ÉØ¿ýEX¯\*û¶àè4IHf½9j}D…²ž$l]…¥™)¾:vöExœb® øä)äh<¼óƒ©¢ñ‹ì¨œ<åØ) ÿI× `] Ñ@Bŵ9ÓµÀèÝD(¦à\Ú>eœ*NðØ‘¨8Ǫ«O8|CŸ‡k  H¹hR•ûbx³¬£á3>Ë¥M;ÚpP^†99?̬5kŠ´ÅPeE¥f+b‘µæ$a“%zÖñ°P_Òºýê@¹ÄOÒÃâÂ3.%WÆáZý7:V_k2UxY;RœVQ˜˜Ÿ¹h§j•Q¥œÿÝZô(Ÿ!çJ¿´v©ßÙ~€Qåï­}˜´2@›§ qÏ*U—šjxËÊ5›K­… ëm0æu$“܆/¯ÝËÎ ´´d7g6Õ×›Kss÷×j ¡Š ›ámØt³Á!Á°"ØN2쇣Oó„ä]èØNvzc±6dÑ®)0V½‘ÿ¦©²¬­³º©ÜWÉC©Áݤ¦b~o@œ ìæ<sÿ§o­hí_VO!Pçü­üÞçƒ×ß=}ëí4éhÇj‡ÅFH¦[ÅwÞ[Ú„C,á<26G£O‡x(x[p¦ Ïçèë4Í©5™EWºšíù‡K¿ ¸‰‡Œ­HKÝ ýæ ºŠ`ú@|•4;EJJå¯-fØïT±Å òÉyèü0ÿ 3ý$Öl Z7˜—œw^¡Ù¯¨ÛШÙÖ—¡×îy “#ãž'ëàwõ)« ýä?ž0 EÎö?2 !Ž>ÛìÔ|­ØÜ”VO|‘’¯¯Li‚&h¬íÉ?çɘÇgŽ$‡ðXZ,.¼÷ºº$âPB¾Oå²JnOqtgÁÛñÓG/93scrR uÕ½ r-âz»Ì$ФgÄFt“Êês—*¨Vwú}š„Ü÷stŸÊ¿o \J ÙfŽ8À°5aL¯çUæUäUF÷vË)˜ëm—ÖR ¶ÒÒ¶ÎØ3ò ÂqÚ×·¶NUåæPMEP0ŠXÈßp9jôÖ0†½›éërÒb;É!/g„ƒ4d/hÛZòG0ù²§<Ù“>|a_chÌ Mh"ê싌ªÕB®Jð¬ýe·OñŒ³è—Þíø»ZzÌiþVšPSÏ8è=¹&é;¼ E‰M*›17¥" =© ;襊Ѿ›ªrÍ–æ=€Ç½ÄY‹?´4çÚ¬íQº(ÒÄeùž>ÏeÚŒ %‘§†ÔB]±ön ‡‡fh•:ƒŒh}Ü!@ã®p¬J—é§ËQë¢Ú¡¬í¹6Ksá‡y§"#«Ï‡ÖËó €x¥¼²G/´ßŸhwãã6õzÝŸ(B3lø Ì¥ÖGcæ÷—9}Œ9«ƒ Ù¯’Qý%”{iÇ¥uäëÉZøâDkgd’»'Ð,S&æ Dèë"Œ™„ ’ðD¹– ˆ.¢“…Ð/"³}È%c¦ž z³tæ“q²€ˆ\+& oít&ã†~jÚ£_ =«Ö†5$’}C~nA^BÀyf¶Êª7ÈŒŠâô Òã ÷w+Ñ ?öŽŽ†Šsÿå‡9ì7€}gÐxÐïÄÊÆýúu·dën|y¿í^vݺ<Ðè[çÄù] ѱ1úmxcB„–Ö®ÁKÈ‚ë1÷·ä¯ÞŸ"6UfVÈ ²šŒë~_ÉeÉs GcH+N¯†Z(,+(á×Ý_É–çBnÁ¯žˆñgÄD.-Ažxó¥Å(çû¢¼ö3ì)¼Ç hz¬ù3«‹Ä‰xêÍN}¬4"6%Y»³©©¼ !_]”Y”Q.í ¬ÚZÞXQ[Ö^kªì-w”œ ã‹Sa§vœ2‘‚Î7 m!²Œ&òÂÚ®+ ¡‰§IìsÒeøþ7§ÊÈ1dº¨m«Ðý! iÿÒ0% ‘Õ®¼@³þ•ˆ"Џ9xY«'Ò¨ýKÔ”V;šO€±Š#­Wü¸öõةݙ҆ÖsH;€ k{©0Wq†´ìä6¨‹ÅVØÞöfå¸ í¾*å’ů[W™—g*u:þ_%sã§ñçĶ“{ÌjRaC³Õ›¢q—Ž1$4B x½ æÛ¡vô"g;QòéOæ?([úD:ÉÏ>‘nnzi;Úa÷¸êÐ Ê,‚@zšÒ%×7œ]QóÅwÙN—Þ|é†p:0¦-U.V¯ïÚr=a¯.•úføÈ§Ý˜+¸Á~»Uþ_L:$ÎZ¿2Ä—¹Õ6¾e;e;qáè§pŽmS3‘ø5±jå ’ëA aé"G¡Ýqþ[¸ o¯ÉZë$†ÏÑ7>ƒ¿ .<]©£Ê‘âΨi eA¥¹‚H7´ë?ÏèÙà¢s¨‹”‰Q޶ˆT£ćnªc†ÐLà! eø‘TL_C¸ò¼Wqâp =cêtâàˆÜÔr‹Åj5U)—@š3HN'$Úº\h½9@“Иv´•ñÿD¬zyýBX ¡•\+ýúóSWà ¨O.–5f.ï­ÈÔ~,?ø¯‹Çf|ö?V”bבÿî¼½ .8–y{è@{¹öì#Ê‚Í*6ÓaH.‘H§ØÚUòÉ®+˜)´võ6S1hëÂ8,Êxá…Œ³“21…ž‹ à .ÄV«;n5˜ëÌMRRÔž­Ý¡\øÖóˆVéÂ-T«ð¢ÁTn=È!ª¾*¾Äà(*ÜþjÁñ‚£ï:_ÈüúÀS¬Þ¼ÝOõ*Šã.dtîÔlv²“ì[±©JU• ‘‡.!¿âü²S•—¹.½XNhÈ‘«ñÿà=\–N¡1¤3¬*›Ça\‰:/ÇFȱ¦Ø\çtE𥛤Ìá=H™ Žñ]Z áÎ2Ûî,³ÿ&e¶](³ x™å¬Åÿ&µ˜è³}D—SÎߥK¡‹h§}‚ È+Ñ©óñqF„›!WMRYš™lH-ÒjQ!öãð%ì—©ìóÊN®È,'ŒnÎ-³ñÚÃZKÉ~œ §N>Åye:³¼ú" yU¡Á÷ìhÌ1ü‰aƒƒâG =XnÍþYªÍÖ#(êCnendstream endobj 276 0 obj << /Filter /FlateDecode /Length 162 >> stream xœ]O1ƒ0 Üó ÿ Vê‚XèÂЪjûà8(NÂÐß—èÐáN²ïN>Ë®¿öìÈGôø¢Ö±‰4û%"Á@£cQÕ`¦}*Œ“Bv7ÞŸ@°Ènó]O$Ÿ'u.«j ¡745$¥ÚÆÚV›?i vwÖ—¶@©•³ÿPr4—8n.1§Ò´4ÉÓï™àCNÁ ñ-ÇS0endstream endobj 277 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 317 >> stream xœcd`ab`ddôñõÍÏË74Ð JM/ÍI, ªüfü!ÃôC–¹»ûûñŸL¬Ý<ÌÝ<,ë¿oúž$ø=žÿ{Œ #cxz~s~AeQfzF‰‚‘±®.´THªTpÒSðJLÎÎ//ÎÎTHÌKQðÒóÕSðË/ f*häç)$¥f$æ¤)ä§)„¤F(„»+¸ù‡kê¡» Æ/,Í/I-ÎÌKÏIÕ+)6d```Tg`ìb`bdd ø¾†ïÇÂï˾ï*úžûØþ¬¸pÂ÷ã?nŠv.¬œWÒÍÑÆVÒUUÕYÂ!<¡ÛgŠWŸwOq{Ú¦nŽå½ëÈOeVè=ÐwhžÉ=S»'sð5Lûá<í»í´þil'¸.pËq±„äópnœ=±&ÌïŸÈÃÃÀ¹}vÂendstream endobj 278 0 obj << /Filter /FlateDecode /Length 335 >> stream xœ]’±nÂ@D{…ÿÀ‡ » YÛ@C‘(JòöùŒ\`[ÆùûÌ"ÅœôÀ£¹Ûâx>ÇaÍ‹eŠ_iÍûaì–t›îKLy›.Ømʼâú$žñÚÌYq|kæïŸ9åø õ~o®©ø¬BÅŸ6Sœºt››˜–f¼¤¬Áê¾·,Ý¿¿ÊýÃÑöÏOËdT8³z»1*œÀÒ(`é(Fű3 Øw˜ê '°2 X9nn‚!ÂAâƒC„ƒÄ |B¯¸Wàz…ÞQÀ# S‰§’½QÀ½ãÁ(àÁ±5 Ø:F£€Ñm„Ä .Fx9â—#½Q@\n­èªì«ÞW_YA½‚"¾²‚zE|eõ ŠøÊ ê•!ÕCjc°á+¾žËÔWãµ y¼/KWî÷Ã×bÓߊÍÓì®Ê~öÈ«endstream endobj 279 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3489 >> stream xœ¥— tSיǟ%Ä1 DÔJÈ{.B€NÓ&M$¬ÆcvlŒ¼HȶdÙ–µ¯Ÿždk³åM¶ŒŒ÷ ŒY ”NIJBSèé†IædºÌ}îóœÎ•íPÒ“É0í9::Zß½÷ûþÿß÷<"bÁãñ^Ü»Y’›’·déµ)9YûÂÎc_á±³&±¯ò¥ÜÞ¿ìÙ-€H>DFtÍšþÚtÔò"ʆâ^ ø<ÞÖ éJ‰T)ËÊÈ,ˆYºxñ› âç·cR•1+ŬKÙ—-QäggŤä¥Å¬[»(f£D?ÌŠ™/É‹IÝŸ™’“#IIÜŸ³%áÃÍ 1«7Çm‰OX°èï·õä=A³>È[!‘Ê>Ê/(LIUî‹-NÛŸŸ™•˜“»ˆ fqÄ"žØD$¯‰Ä"‰XA¬$¶«ˆEÄâCâ#b5±„XK¬#Þ"–ˆXb#1x„ˆ yëx'}0é¿ùêˆ5ï ¾–Mž:ùù2ù‡)-Sã§{nÓs¿´>?óùÛQ0mç´O^xásÔõ×I·~M@¥„Ø­ ÞÈÛu"Ÿʶ›\ÍVjÏik°9T VÅhPsFïEç$J ¶™46½ ŠIm%@S ‡¨Y›tù Þ£·é|FU õàwWyj>G¢hT*ôqËì%Œ4Ö&Vé Hëg{t;tXÛ€¬¨„:š{YE\–mFQìOÞ9ÜxžÏÞDsD˜Õ6K©™ÒeI—$Yªw›|GܺùóŽGpÞòŠBÓÑ4Zß#‚½ùœ ;1uU²,È”¬®ǛФöót÷µÓ­Ý@žnÞ¹9|Y.)„Þ°oxìš«|ÖŒDw]ÿhÃÖõ¥;™Ñ˜õLõ—›KiN0ºMŸc0î±F Ez—µ¼9Ä@ Ý mÖи>|FP„jÝ5„6Ð^Ù¡Ì! ×išKsS¸µ¢ÌS%9@ƃÃî`ÜôÚä>rùþ9wÕ§'%dq/*R訿òj5Ä„¼üŠÏ²3D§W»$»önM§t÷VKÿaéÔ×8©ëÈï¨DÓ¾q9†FU©¹¨d¤¼F_]×RÕMÙ˜hN…¼‘5l¾¨ }xËàûôPL®Oèáèµ°âŸWFûž öQw=t?µöéÁôê¡„6 Ór 0®†kÈ+øBxÕ[*)1J-Úªh´ÄÎØ}b¡ºH¦+ÄhIã–– ŸXñžp%×oR€7xWKʹ¯N¡ùåøØ¦Zx¾~˜Ï>¡“­ÀH)~R”)²ÐÔP?¾ð§¨Ûéœâjµ§L¢—©,ÔJn4V“X‘’ž¹ ÈݺÁöKƒ×hw°¼ d_~ÏöÅYÜëF]¸Üv‡ßI¹[›_²ÒgÊ—iÊ7ÑÙKË’!\r1ÿä@g ¯ò¥‘wB/BU¡ÚÎÊóà Ÿà«+|Öûý;½‰Ú>(Çñé«”Ù†4 l¶¢¡¬J)ˆ97™[ÈÍ[:´áFó`íÛ8¨ ~{1nE¡Èx0nù& “¬w*Oµ¡©5}tó•ÁÓG¼äZj -* ÷$í8pI1;¶L°c[ê¾’êSÔ˸ììðì%¶×uÑ*›ÎJ·Ä tZ“Õ`3QóFè2à hÄ?>‘xE ZŒæPO“`·êì@¯¯¯ñ÷´ÃËx^oïåÛg€|¬„Û8ýù©ð†¦ã~†áÌbç[D_²/?Ý7ƒ [dwBŸ³/!ÄÿlÃŽ¶6ÖÔPÚ=êäÌäìÝòL‚¤ÊÐMÎ8‚±…—«5~…aŸuSrïÓ|øçÇMXwIØnWn}<Žóýwøì®?‰\z·Ñb³éôTÒÊ÷%É@&K/N0»ãÒÉŽ£PgÀ¿Cf+,‚|RÖhòx»+†‡Rº7~3æ^Žû5záþ×~Œ&~N8ŒB<¥Þ g‚b\S¡, -áÞŒÞÂ^µ6ÚìùXÏ×H›9(^³Ãšk›´6¥Îms>Â@ÓüÈÍ¿ ¹v‰ :H³(ô Û#° /Œþ…)b,• Æ€)wW±“G"¢íBnöèÇߟ£ˆNº º­ãÙƒ¯4Ü·½ÜÎЈbOx:*ÜW@\ëÁé“J{©:€üêK<ög(Fä62zÍ¢³Pù«7+$P ¥Òªì56»4`°öì{üÛˆ„:Ò­|[™’î,U) ´.å¡’ * äÊÔEE¸íNŸñ:i_kG}P«ó{^üê`Ni©VËÍæfG¯^½ûГz,/Ø+]TuSKOx¡ ³ke~å ÿí,š Ù ŸغÿͺUå‡U4šÍ^³W0ÎïµÞf¦â9ªMÚû¬Žþ@!2Hã–}§£/W,²Þï=÷”|îŽeèÀ3gèõ)éYê:ËTØ¿OPf« Š›7zÏRfÃÉ@\æQ×®hv1¸‚öŠ VñÿŸÑ™±á„¢¿œŽfœ>…Ñ{ýêï6zpÉf 5êò¦fWÝIú"Zî9„“Røô–´7póMO·­ù&n#i‹ Júg\®¾Ê@'ÞÔ+oÿ×±UgÄ´°¢ÃŠJEnž$OÚPVßjiÅx’‡F–´ðÐö+(å2Ÿ "­îîÜVó£Pt¶g§n‘î>üE‘SÅæ<ÊŠÛ‰ó n®ËÇØqúFiöñ çÑX0JôÔî¸ôO?%¶ÜnGr‘…LjWÝPPgúDqY= ªKƒÝäâw_[üóU½ÿéeZ*š(»[àÁÌÑXm%fj+—f³Xõ¸Æ:/€Ón¯ôRƒ—ZR³ïâö<ž~/¡™tÔHÙe¶››Ë+"“I1 ëãfÿJ‰.¯œ³ã²øaÿ’~wãâÍðïJD‹oŽwEhŠ~ØmÞR>ÜiK4â^æþdÈœ+E7ìö—WÓœn•nÌöpù·ë?_ü×õÅÓ,Û€)ZV¿Œv^¹`ÓÊÚ)¬îV]½zëbÐóH“Þ–ÂM4åa¬C°y=¾º{u¼{ E!‰+5ng»¬âdGï‰}7üçÝúøýá³ëKc–q™Ó°?®·Í[¬~ZÝ.ü7‡Õ/0úgü#µ¼0*‘!Æ4·ÚåÑUÎöâÛ*§”àŸ’N'¦G´s:©Å.£[´sHêm“GL»ž=ãý˜æ.û1Ÿg–®Ì·ãäM¢×LŠk­pÏÊÚ,›g±ÍãmÎVšWKBöD¸‘¦8Î5ÎLø˜O“>/3>¬ v•3gÆdËDÍÁ!ÒNªpz)L퉮Âé¤"¦fŠZŠ9TBüÆh)æh)ª:Þ;ü?"šgN²ˆlfÄŸ´2ŒÇ¾Z^F$÷l͈J$ÑòF¦0ƹ~žŒ­]鬞ä™—DNÕñH Ñ6ý…¼¹óò1;'£{ïoòœº4zÌ|œãhMŽH8Éc<&ˆöÈ‚}‹•—¥bšlF3Z%g2VÇ Y dyæ”]WÇãGÐ MÄ‘EACŽ+..‡æ0:Ÿ³@8É‘4rg¢© p{ò«š\L“Yó\W T,«]LÐá BìÛ¦!"ƒ´BÓv‚ª¬à$Š™_ò–ô.PaÞ)ŠrÙÄ(›‚”¸«º#˜†Ù8#×½’˜Ó8k Bysèü0«¦‰lµBÓñB$ÄKÑÐÇ‘cKøÌcWÎÎ8gvŠƒÝIg;Ž®œ ³OeÇð>fš¶ b²J Ä1iBysl¤M#ãqÄm Ð$/.ˆ„¸Èãû(.:ñ,UëQÅu ޹¤ I0aL±’`qþ¥¶Ó™V¥D$¤Tˆ‚Jª˜øeÉ«.<²ŒV]l0ÝÊI`EÁI]A¡Âu%¡È¹¥U”„ĘԆgºU”*À£*º˜P%eF¡³¶–”yA•U˜V%¥J°UAEWRè§Iº¤Ì“!l$»yÆt¤Ô¶;Óª¤T .UÓlB•”˜àðÒJ íG¯l0ÝJŠT¯YÁI]I$媤 BÐ9_73²mtsÛîL«’R%¸`T Bª¤[öQÕ` ­*…V%¥Jˆ—¢¡£+)»uîJJÀÏ4·’ðÓ«Ït+)U€ FU t1¡JJ0fœkI Øo“6PhURªDuºŒïc ¸Þ ›¿? êD? $Aà`³,¶vèCº€s(>ùã{(ºøòâ7w{ÕãTÌàI:‰íO´+£àìGOÔ[Ü.e#ô30L¶ Vކ£Îщ£°p:) °Ðiáh)‹~pŒÁÌèdÒL]†bNg]ã‰=æôRÞœøÎœ>Bìù– §“šPc´ïÌèeP»N/…#RKN?£n:ñ9omì2y*…kL¸u×8€4‹\òr™B®5 ˜¾Ál}•ÚþYk`šmÐá`p„U i^¨&ULÓö¢Jˆß¢¡ã&/x8F"R y„1OT‹‘™X]"dW’§LÞ@Üæ]?'°¤G Õ“¼0‚§RØÆ{Ô`¥?“$ÏæùcqNFwÞç€, 8‚Å€$—×X8(À gê@£{r+ÙUBèEg`•ÐSÒ „.&òæ :}U‚CAk MÄ‘EAÅMÞé„„‘1t…œ…ÂH£sX^œªÐ–Hut%•IÊÙÜk8¸/dÖŸå ƒŽ¹¸jÃôƒÒ_H’D€ý“ñÿ9¤ê!BŠ8s]ÒiƶH1f• M¨_ÕBVH˜L@®ä“|Župj4“Y{–fØULÎVÕ%–j8VÝäÛ9íèÊ‚™ÜíÇæ¾t*Kî,’â*4’Â`_¢6T ˜”†J”F™rþ5 “£ŸÍF¡É†x!â¥hèã(±¡!¢]f°ÛbMhD"¶¥A©BA‰t‡ý“dxrõsì+«‡ õ“<3¦%’Þ:~¢m¶4LÓö J°‡UCB©|PŠaŠRú*g!çÜÀÏèb ®^Ž0¡©:Ít?Óæ|?ÓTz*[°q°'ÐÜUk …¦âƒHˆ¢ "G6îPì¨Áy¹*(ÝQ3=ÏU Õ(g.S°8ÑFj£R95XÈ©,•ÐT€íª &„ßtgФÅ4ÌŽÉ`íw)yhnò9‹Ã|.'oáÄ ØoA»=¤’Ï—ÒM&Ñh™ $ÐsÌUb©iŠÐhžm5!4Õ½â„pš×EÃieP{|žHOÖvŠCÍx€Œ¦J?=°.¡)é‚5MÂà¬LJC¥‹ !T·¼óD–mÒ6 M³!^ˆ„xÉNâ(G0Ý\äC<ÂF.Ô¹:km>Ò‘PÈŒIªihÙ)…äsôV®t©€BÒW#T3e46¼SÚ3Iòlœ?×d´òüì…OC~„K|‡QÜèp¨X®‘œÂ‚…ÖXP$ ІJg .ôÝVPXå-y… ­± HTÄÊú84 35ì †™Zz'`d¢v¨ö1L78Ø$ Ük „.& 3•„¸jè@Û(t…„M@|}â4Ÿi‡î¥Û4Pè€N½A6¡+(lò5B †D¸§‚Â@·N[(t…MB|}¦ 1+P˜É64PHwpi® I «@}u<“E…3jÞ”(œÔXõ3©@a(þÕñÿ(Ì)l5*Ìin*\Œ¨À vcZáÂ*Q_U d¶Ð!ucÉ+dˆÝc­‡…ÖøP$ÄEÑС1"æv¦ ³âÀÍ\± : Éåɪ-9Ó #V F€UC¥‹†1ÅK©ù¢a¢/«•B7ŒØ$ÄKÑÐÇÑaÄÉç«=§¿‹h­@„â ­`b•(„.64Pr(À5 ·ÚF¡5P ñR4ôqtHqÂ|$¯‘â„R´(¤8™DÕ´â8¦R¬Œ«¡‹‰†B©¤YAƦYº!Å&Q|l ú(RDAqTJwFÇ» A'ª¥raÃd‹M ÃÁ6žÉ¢¿ÂET4T—¸jÃéÔVú Ùc`ÿd|çMS•Û–«†k‰fØ5@ÇtÃŒM‚!!kht±¡@#]cë4 4éÚF¡hdNó²h8£Ð<.4HÏ©FÚôni€ŽiEB ¡h¨t±¡@£AWWÖ`æ 1ª ¦h¬â%k8‰CƒF²Dwµ;ÅAëãƒàFLX©Jr™ÇtCŽM¢`æ@èb¢¡Gp¦|Ÿ\5œbÚF¡+~lÕkVÐGñ‘7üï¾>¹¸þèþw+ú~ ºç.øí¿â‚ÿ=¼þö£؎N=6äÑ·óóõ±!jO ‰~jH„êCCUH=4$Bõ™¡*¤ž¢˜]D.9²Èáý¿tð¤»Þ޾Öögaw‘.œN*ÒÑB…Ñk¢mÛ)ÊŒ^vNw!/œ·^µ{— Á¦ˆéSŽD&ŸË á®m>Ç%R¡oà ]ñ,M›¼¢@Èl€Ä…žÖ×ÑaÉçkÕÏôÍEõ JT—‹†>„›ŽÄæï†m'ø®§á·ców+úlN5j²ñ,8wÿ pþnû^Óµ5=ÂHk‹×ûWLJý–|Æ‚“#×ß\\ÿÇw¿gè%‹õñî¶½ið€Z$dyšuâšÔ8ùJÛÓ =m‰Þ‘jŽ ©<1[h$¢EÕÈÏÔŠÄlù)\ÖPé‰ëRåPw‰]X5˜|§ÝlšFˆ"!^І>ŽóG¦¹8•g%'Ñ£ÕŒCe\\s„il•àPª†JOŒ(*'ä盟oŠ›B«`«„x)ú8nη¡Üs¶•¥§µ}¨œíyXÁÃÚÉ0æH÷áïXäGÔø!IÚ†‘À§ K¹‹`™ùneè’e/?8™Òêoðò¶ŽåÆK†FÓÜûðgÛrƒ™žèbµ|é²»pçxô•ó6÷d4•©<—*£…óñ½p.4~Ê@D‹4ûÖ¼ ãm>ÖÁtÏTç+ŒºÌ¿íu5OWa&–÷ž¾ÞÜŸ¾F_MÑöóË+zjIvxÆïq-n iØ®›Ÿ/mDÚ‡áhzí'?‘èB_`»Kz"ñqxQ^‹fè4=È‹gý+mO¾A¶>~úBœ§×Ö^*îž•.ËÐI‹³ü‡­»Ž.±ÌÓ<Å‚Öúݺ[6xž²Ñ½Ê·/*q< ù@`­a¸ØÿÔ½ Xô:Ï!ñð’… Ì®›–´ ë›K@ØÅ/~ø¾ ¼i§QáB:Ç–P*Ö€CïÌÉñ´¡7û"*œO_yC‘â›é•ôÔŠ×<4Íi‘måAäÊMN 7¥áüö8#ÈÂäº,X×özBq…ñò* %@+=\Ÿ.AvÑôKpf…C©`öá9¿Î{­ì ‡ýC/yË‚ÿEÍü_™¹ÄÇY‘]Š'ïTòFм°E*Æn355»Ì5~~<÷ì¾Ì](»‰¼mR'\$¾[hÇx(6b[üùQ5k$e<Ê'Ìö죫 ïIxúvuò-áKBéWa±¢ÑSË6?^QÌÙn^=U(24“›~«ªWbOÞ¯ͳ©Ÿˆ´ÝÛµÇÇ9@C~¾¤ïHZ‡õ¶„°wÒ#³Vã׫%×ä“bWö‰w&oo2OÊÊîuÉ„ð<5¼ÃËΧ¥uà!•öL™$™àwuÞrê­Æ8w¹°Pjœ{û8×ý ÞÆò>ýæ°¼ú<ü²9J­ÃõÀU¹$“¾ßɜ٧äN÷û¹ QVN'æ‘ ‚ýø€ ”-&oeI:YÝë¨Îuê<>Øl®Nï‚y>{6w¯¤ÓKH>oÝá«õvûùåïN·3Ú­×_oïÞ`íž7/6¯nŸó[ÒŸ¢òÂñu_“.äd‡+ùıèóËÆùGûõšºžÝÝ«#±|žØÿÏnš–ÕUöe±å}ùò÷§møn{W¬_×_ó?yv¿Ý=^®w›í¯¬{i2nøqìw›õö“ç—¢È횎­"´ü‹»ãúÅvóÙ—lþ¡ÙTæÝ§Œ^=ܽ>£B˜\:çÑ ñ¤ÄŸ‰óõÆ–˜Â:lþï®)x½??5wè/d=WÖOvêhš<šá†ÞõX2ø=coün'ñÚ@,LS2+±½’å %V+ñ!ôJœVŒiJ¬oJ\§dç­V‰[g ™û;díib‡q¶q©ka»¿o9öÍæ‡ñ¼VtqØ8eÔæ¿áÐë5†3¢! ™œ– Ú—áùpûò‹Ä |ÝÉ¢üáO_}Þ–ÔåªË|æ$ý²ÿØÓWC6°·=–÷ô\íR¯Nð™MTêWŽÂÖµw»%™9ï×÷­½Y'*z)¾4>®EOzG.£Óo)ò¨ôecÆü&ðNzôá¶>°;ûŸ²J-²¹Œy¾‚´T2Ô=:òäøÇgªÂÛÎ>Ê;Ó?$Ù Éa‡zý€Wåû—< 9oÙðk+ N^B‘‘N/¯¹×'çôyWûy¹áõú—ýfÒh %ïù”uô”a\žNAmy­áãöÈ£§þÄÞîåÃÓ$R¤þq7C23Jê%€>²&t3jy{*Ç϶&,£µ\“†—åP-Eædgc '5fÏ0ߥ8üý)Ó7´9P Øø÷% ¹%CŒ´Û)k±ó÷ÇýýÃz·“YŠj–Âc@˜g Š®Z`tJ}àôÚlÈW]íu+¸¾*%’^øp¨ºýiÿB-Ðf»9nºÉû·`å_JÿBÏ;:nl¬¡bD›…þ°2j¯µúF˜<]ŒúC;,XŒÐI.oÉ®Ä)~§â/“ÏñÃôÛbׄ¯¶´ÏéOü¨}®ËÏ™ö’KP:‹õ}ÃG×p÷úp.õì4:ô’{ëRŠJ×Ätìï nÕåÚ6º®œàÉ_7Ú±¼ÈŽž”t§eýp¯«Ò®[™RÁã$Äi<žÞWŒÎnýðÃÙxèbÄ×óú©[Œm¸µS¨g:œî„qH£4üKÙoÜ|X unOsJÙ±½Ñ=œtèÎæI.Ú‘xǽôç¶?ÏrgGìçRïÓ÷]šìêj¤KÊCŸÇç6F»pã[‚<ï;ÌŠaqÛyÚ¢]óKG°¹åÈøšbóŒã™KÃGúƒF%kBYÂÃæþU¿ˆMOy&Ìyª<=Û8¹~Õ7¹ÿžó¾sÙ;:-yÙ³µ”º+®u?·Åª)eÿÒ™‹ª­˜Ï7›r]JB«»C-CÑÇÖòëÌòTù)޹(At ómF Sç5öä†åªÞ*mè5&œ\T¬'eîbé‹“e>¹Ú|´l4©6½}Ùèò#"3íJ`_¦z‘}cýÉ5ävýZÝã´¶Áu•5PSd%‚g¿o- š¹WÇçÃk ‘ç¹üËæÍ×›7ÿëjÛ™Ê:×všO[/t³ß¶F·²÷w¿~¢»bhcáqÏíWóü’þîôŸ©+ endstream endobj 281 0 obj << /Filter /FlateDecode /Length 2827 >> stream xœ½ZYoÇ~'òl ¿¤×áNú>”°d+P °°y’ËÕD{г#™ ÿò<¤ª»g»{f–"ÇЃff«»¾:»ªš?ÌhÅfÿÅÿ¯·gt¶>ûáŒù¯³øßõvö|yöû7ÊÁ—ÊQÇfËÛ³°„Í8··lf”©œP³åöì‚<_Í´¢Ê2«-éºf7ÇWau¤ž/„eœü¥ýwöC RNZKΑHV”jòrnñiÒ6ž7ÙÚ¶¹žs@À!o'$y],h9Ñqñ?—ñ„ÎÅãNT†9qysFÌ|ù/ 1…R²ÙBºJ2Å‘ì‚|³Z·«Õa¾P\€‚ìoñYVÎ ò~ºÙoŸ¥/RôÏŒ,÷]½‰ )'—¤©VUzÿÛûÍærþ‡ù‚QÀ‘<­}³:47ïa9JÂD¥@ƒ³åë³åW~a¤t ~hêÝõ @hî¬& *¿‰!f Â'GU•/¤ñ2’¯_½x–(Ð/ŸOk´¥ö°^íptFº` iYáw[Q)Hî4…ﻸØrrÀ)üDº¬ëZCîÂ6N‰“Û_‡-ÈcûýÃËnN žˆfl[¿¶_¾mêáù oškÍM)D—ÜÎÓç}›¶êÞŽd ;õ¬zGi‚1¤“ÉFjAÚÓö»Ë6G0 Áp²n>­è‘½tcgaÀ\«¡³€›) €®b**ÜÐUÀ¤í2Cš9C¡'UATÅí!õØŠR¯ûù¢7j±Ï•çÆ4%Qª…&Ý!Ƨ6E| V1ÊbÆûMÌxØ+g¨§0ÈìÌ R«²ÎzºC +C\Ó0HA‹Œò‚Ôm/˜2S¶èqm‘ûvD,r6ZVô_’E³œFV\Bº@*];Á.R9šÑFe43|¶Ej‚T¯¼‚QÀˆ«özu×ýôbµ› LÒÞgÛ{K㦸j†{ú½0½kJ¤aU¡eaý‚UF0-êåÜ«9iWu·]e€&Õ†^i¹e›Ëù”KåUHNxBÌxyÔ`–hB8+Í:Ï,1S)-„”_ƒ¹A–!Xwøƒógà06ý¥ËØÜoïB˜(ˆÚýÉ#$dáézΆl ’­'aäWaG=ˆ»öGmsÅÖQÖW¹Ä÷Ã,îéሺõ‡˜RÊL“ý₾Å‹„¬ÿ6.åƒófBÄñ)VÅÌÅSya´íÛñy³{@Dº}oX}úl0Û6c”™^:Þçú¡1%Q)Éá}î^]}•m¹ééŒHÉ8?E£µ›1xLë7ð¥hû¿z&®˜€af2q²mî»f›ÉþãŸÁD¹ÿtÝÐ<`iá>ñ­4NóYi)áþÌFŽ*ãÝ1íN¨QšÓÑA3•érP|J—Ñá„xX¡wÄErIe7À@ŒlüN$Ï_½ˆ/@n˜Bì6[°o·±JãÚù`,·ÍÀ¡)$\o(„ut®¬ÃÈNqïΟáhY5 ÚÄ·‰*²‹ëI½‹ ¡6¨ó2'n÷Å[Sw½Vø]¬"¬z ˆ7˜#8v]Âçˆ ¯,9ï‹AÕ{èù!Ê^`XÃñf©}€õÑÞÁ§%¯T+·EcYA9p›< €!:xt¶£—Õ>f mÐÙ?L‹Ï(]ì1À÷}å'ݰ¯OçÀ\TЫÆþ —Ã’EPâïáZ?Ì!±×±]>SÑ›èí±œoã@?ª9=óHé55m¦”ÓRP¯"$ð£_$'m‚/.ýXA=XçûÁ€T>€}{Ù¬‡™ø¸}»<ûþ, JÔ¬== )‹§~@ÂŒ¬¬T3(++HÇR*nûäý,…FÚûU¡zc´(ô[n8^1˜ã±Ê|óçÔÞ_­ºú»æþesŸZø?.Òï‡nu÷r³º‡Óê’\_5»›Kò T™oñˆ C5],Òø#Bq¿0òszdéñ§ôÅ3ÔÌçS£Œß›PZÀi´¿Y–äOýZN^¾þÇwoÖ›í-¢½­·ÍæcË&:A¾AöÛ¦Þ|yž`âÕMzÍÈNËXbw—óóc¢Êp½K`2\ü™Ï_^½xqnоBŒ0e1ar„,¬ô=@}“UwEûj{aU…¸Ñ¾SÅHWV”'ã°¡ÆO lˆ­©qèd5˜–”erú·zsÀæÚjOvËVÐGÚ×GO}£ÃüøàX­ÞD`ÓÒóM³ñc¹åyI÷‰°_myÑtÔm”Ó¹píá‰ø¸Ì *©ÌòáFDùhPäëÃÔñ4´¨_ëÄ8I„ˆÀ)yw R£óÊA[-ËRñ‹‚ª™ð)lh44”‘¯Óã!¤ir?ÖíçL¡¨ [YË+?â#³<ŨŸžÃ¡9èc§æF¡NϽ,²l#ú  ÛIµu"ŸšoT¬ ÐC×6ù@'_¯O”›tÖb”„¾p›?µJ>Üý¥A 4Ú_[âRÉKâÒ)>/ãï<ŠÚŒû'¤§ÃÞyQ3Ha{›°‰Á¦¼˜˜´f—GÚ+´Y ®‰&+K)+iuœ÷uÊå‰é±27"_`çkM,±†ÎŠ’i7}ÙÁSÐÁeÇT‹¨C\FõÖíÐU†7*+&þË›r¶Îš).>  ss^)¦ŠÊã×¾³`}ÁÓ_Z°Ñg^Y(ço,¸uƒ {¼±(€B½Iå‘@” Ã» `.D!¸”ƒ±=xîïÚl޾¼,‚XŠýc.=.ð>»5ãë;ަ¦óÏñ‚—z/¯‡b~: BmýŸ(Y­îâtâN˜áÁ9΂ƒ±SHãí~=ŽË|?ÚýØswž#ÔrÅP»/7ð81 îÂÙ`œ ¸uvA›Ÿ7c`¡FW¼2¦¿brqjQäöGÝsâ„o‘ÂôWX˹/…ðûÄ_¤ä^Öƒåù~œ4™q=é¿Ãõºœ´¯ëÑ(/Œ¢LqFøn,üuŒ î8÷΃eºÇÇÁ³4ù©}ü?Î¥¦g<©sy`>¥ž<Ê›zßZMöôؤ¢íÎçE§›îó©Æ.û˜ À£&MOÜaè‡÷ÛmÝ~¼ì!âð“ÓïÏþ¼©rendstream endobj 282 0 obj << /Filter /FlateDecode /Length 2648 >> stream xœíZKãÆ¾ë7ä@,¤•¬:ý~ˆk$‹ÎÁ9ìøÀ™ÑÌȆ³×ëŸCªÉîf5I¼3¹Å^C•¾ª®®7»õ©b”W,ü‹oŽ+Vݯ>­xO­âŸ›cõn»úóíB=ó¼ÚÞ­^ á¨p¼²ÚR/uµ=®>’w»õ†Q¦wÆ‘®Û?®ÃGi9ó¤^o¤””qAÞ·ÿA_ í•säm)ʘ!_»ðÀ i÷…Ü[ÄÛîoÖ4Þ’‡a/ù¾`ØŸ0(3ÿ¸ý¶' Þžð’Zîa‹ÛÛñëíO«¿mW?€q˜Es¡©°•Ô˜®Ú]õïêñYûqi+GµÕØ|Üh꽩¬”ÃßÞ|š¦kîÛúX5wÕSsêví¾i«§vÍ=õŽsÒ\××ûþÛïNÕ7ßm˜Z‡mô:Â^\uZ)ª½„å¾ÀjßÁÿ?zïWÔ¥ Vd°]YAÁ_YVÿZ®Œ @™€@Zjª0(È2FB L@ fp2a &9eb$ ü 6®4¸ˆD1«¨S™‚Q†iå*Q ”°àƒQ‘R ”R”ã¥@iç&²"¥@Y®)W)Ê Q‘PgÃ> ŒÃЃ߼«´ò 2D!ôQÁ™ÿõ‰À©ˆB@üÓeBrK™W¾'ª„äŠ*¦¢ÉHp…·²'ÚŒäTY(%}Æ È>žS€j%U8dµtšÚ"b(Q((% ÅE DA  ”(#(èÊ”ôU~âÜPÖ’{_,‚Ÿ6\2 O"?©üdò“‹O ÁX,ÆrñiLž¨/‡¢ e´âšq ÎŽEîL]á˜8Ê<Á¬O8ó@mÀÜÚr(|ù;®5ZTÎB;\nw«w+p¡ûœ‚”ô”ƒ#HO¡z£”7ÜAA /P&\‡ÕC/l Î7&l±Î)3ñƒ°„(GÂ<¤1˜±Î)®$lLÆ€~R°[0íq0£Á%p2áJ«–8.ØmR2%Q¿ù)ûéâ q.Ç.%(¤Ø(“‡BÍ3.tïEžV¨‡Òw¿´XÿÍûËrRÐ=WÅ,•e‹0Ý f,h:}û¶9>­aàóN B+Ž Ô«Lu^s¨ÏBð@'ŠL@c‡t–r ÊÒZP‰g“L@ TA™€@Î jÑx6Fd ÆX4y„tÉ-³æ"xáƒ:ðך_Ñ^¨7—;L2*ꂉ‚Ze4*% E£"P¢ P4*% E£"P¢Œ dÔ”)#(„§àÂPÍ_Ö7Áê ɼ ºœXSß"â÷ù¾)¤´å,”ƒÉ«Ê„+´ˆû‰0!S5fS&\Iؼã$ÅEzN˜ D•¸d cˆVÙ^B€ðŠKˆ Ûæo–=gÙã`EQ(1§L…?,Ù?D·ƒî‚sÊ”+ {a+¸œž“<~m×¼(ç%]Æ~˜6Ü™®)5tMñê®yYs(‹P™©Cml$ ¥˜*NFi˜íð)ÃH@ Tèa$ óžÔ¤GÂRÌÀ[2jÒ#IŠ›AE?QPgˆ›A DA ¸JŠ›A DA ¸J””63‚2e}õL y\çõ¾©ÂkbQ÷`ý²Ý%Ôx@“Pø€&£òMF¡šŒÊ4…h2*Ðd: É¨|@“Qè€&£òMF¡š¢’+Ù¿,¼drß(*\aJz•+L™&ÎLܼ_ï%RjÕ—Êd&oÜR³Þº¨¨ÍûP‹úœ2áŠE}â]HÇ …ãþ¹@™p%a óP79.Pfâa`2Æì{jÚãÌŽ‡%Ê„+­: ·@™‰ø?öT¨}Þ–§¾sÊ\ük¦ŒË©<Éù×Nå¼dÊà,-à™)C¾zʸ¬y<ÅXT»¼¨IŠ;^)¨±VD¥·Ã‚‚ëÉn½ ý™—FÅåо¢úŒ˜pƒOä MÅ2Iš»ð /Ênºt`¶œü1wÝä*kà–†›õ&\R9mÎ+{ˆxX ¸[à ûÌQ— ž¢ê\%uãÎÓž¸_‡ÎjžM¨I!6„F¯®6š4çô}\ –—¤V&u‹œò%\ËpÁŠðìÀ¾‡dwCNƒ4# tö u›v¿Ä& ëe6£É?Ë ?.á-‚mûýjûǤØ”€Y0Šü·ïö°­„ˆä´yPQãÍk•6Ÿ½>ÂÐæã­&—G™N‘Âþ§qÃEi€hr:ìïz1†ÛAL¸A%ÍæõþÌìçþ[ÆeiøöP?E1J“/û.]޹äH¦¥Þ‘à)i°bÔóñ}Æá>^çbÑÓuzÊe=A(Øï«.FÁ`sÄF›k"i_º ÚX)º~Z)z%À¢‹é:xô6Q¸i, \ÉÕž’Ét_/RL ¸‹êjÿ¼BfJï)#ŰëàœsŠæR’—ž,¤ïñfo"³ý•µ(m‹M„ÖÑL°—ë¨<„{Ú¡R¤¾9«QY­NÓj9Ć"eTì/ëá2Ÿ3YÜæk*Ãmãàð߬7ZôýŒ<õ>ëvíéŠ\ïºúŸû_®ÖQˆ-ð–Þ³éð E¸¦z#åasA >‹Éç¡cn²„¾ö„ nšÝ½‚úJÜìž:X~ Òî l’) AeÝ÷  §Æ ÎT܆×(”5Þ›õBqë—Ø¶»º;î»þaw›˜I0¬cÊBA‹À ŒPZ*Z^øŒ„oõzñ'Á.âbZô€‹Äi’.1zÀKõé´¿Çõõ¸P`aÎì»K^õçTtÉû(Ù/¤^P¿þeì+â¤*$/Dï&漈‘&k?ü€¥Ý¯á½—YHŠžc *ÊEÛàrYãÃo;& {ØXlÉœ…Œ®ÞŸ­ˆ©fA*¿6iºúú°»"7‡Ï§IæœÉ0—¯cîˆù6Äá-¡…¤Ç˜,™%ÇrÏÂF-ð³P/ I¥C»e·>uûc=+÷J‡*ý7È«ñ‡Eÿ…åBÜàI³i£ÓÆ]?U eû!.¯íkg¯~-X?4­ tã¼>›÷¡Á<@oKÍæ£kÔ®è…iÿeC6Ã,áDèxvVv¥&Í ¹ â{…[*Qe«`ðieB'íÚæz%'÷mó¹7Ž2šKšœÀEÕªÓ@¨uߨÂ=ç—œ”C,ä¤ ü“ òÕ¬ÝÝîoºœŒoÇN0Î:m™ï{ËãîËmÝÕ±äCøý5= ¾ w¡3^‘Ü7ÒRjD yEÞ|Û<3¾y›Ú‡!ob“yJ™¢€’“ü>öÑ?¬”¦`š"íÉÇ·üÇðk Mñ¥ËHÒ;˜Ã+¬gKmP@e5ôKßÃÔ'¨Šª T]T%¾þþ¶ ŒZendstream endobj 283 0 obj << /Filter /FlateDecode /Length 4999 >> stream xœí\[\Çq~Ÿ¿sæ§å4šå„ÿ£/·‹iy³øiaŠvIÿ\n—_/¾xá"hÆyšÍòüõ¢61Ël–)¤qvay¾] Æ®ÎÿŒÃÜOyœ=ØŸ_-^¿{»šÆ)¸d¦y¨‡Ùç\W£)úa»~¸WÞ]kO{24possÔdÁÕ€¢¶»Õ™…nÈÎWÊO×f³_ýñü‹<_ü ö² ÐCó2À£MKl^Z;…åÝõò_—·†9Øém(Üq/ƒuc¶ŒÆØ0øéš—ÆdÁhNcð^/®÷ow·ûë/ÎWÆB´ôïábÓb…±ÏË›ýÂav),ßË?ÀüíÂDðë–Á»€él&Ä<†$šÍâ1ÊnL‘FEë혽2b6Š>ŽV»c2J“ŸÇ¨Ý±ëÛ8¨èÎ5Þ9aRfô¥s¡§jßúit'ú*mSúàHéO)£nH™QYz½õûOÒ}¦Ê”–ó }ÂÒä)ŽI&̉ñ3¬»o6¤0F/[Ñ$ã̘mé,Þ;øÿ­^`³S4¨±mèfR9`«¥8"ùZd7&§,fì…Àrõ-Xƒ+Ê,‚58ÀÍG•±GÁ%#ôy\b²P,¦j±0©dÓd±ÛT² ú•%Ù4L”8Hl©Êç5Ö\äâ eš&ó»eš&W«±å)Ÿs|ܼÏÓüE•æñ…ýÁIÇð´Øh&±]Σ™g+Õ jj€Švj’â'ß~gñÕâÉEÑÌf@õÐ5µ,~½¹ß®ï–F­µÏí¥G¢®½dãdÇ?} C‘€œZìÑkعÉãØk«ªé¬`æA9ÓV¤é¬Œõ8¯”i:+|Öµ…5½U†XcgU5}\0L9tqU¶²ú.e]ÍHÓG!£®¿HÓY;ãâTV¤é{¶¹ë Òª|¹ È@b$€£,jf>ŒAŒgÍL4À"0³`Ê ô~)ˉdt •w±H¾ÐA¹øÀ¬‰kXC¡tŽø¨2¶à(Ø‚£d„>’ÔÈÑ=j¢¡N7¦ † 6lÚªE#°,Ã&êuA Q2l[p”ŒÐçQróX¸½^m¢áµ‚‹5ªµD¥K­6Ÿ¯Y_¹#°ÜVkxµ1­%ñ!«M¢` Ž’údÔ$ ¶à(¡Ï£äLÀÙªr E +GÎ4¢å\FËf-£F`Yr E&¹øÜ$ ¶à(¡Ï£äæào =–’Åo«4¸ËÃu¾P#¢ ù!·a¼ò™•E„È5ËÕ¶` ükQ0üëµ*c Ž‚-8JFèó8y¦â’ HûŽ€%Ø$ƒ"` &ŽQäˆdEÀØ‚é#ˆ\}(–`ƒôŠ€%Ø ’öQeEÀÄ‚£$„£<:–`ó4I°›"Yæ> æQN‘¬˜X½b‘« EÀìÏÓÜX‚”½öQåFÀØ@b$€£,:“Ó˜"`1›ÑÅFÀbNè^ÈÉŠ€‰Ñ+A`¹úP,BÄq„P®Žš*+&%#ôyt,Ú̧Ö¸8šØXô·!G$+&D¯åêC°hJ iÆá6Ü|TY0±à(¡Ï£#`­´ˆ† S.LŽZiaú$D¯e)-¢¡Â T8攉‚-8JFèóèXšgMÀ2 Í©° ‹)Ì‘¬˜X½–«EÀ2rÅ¿òD¥ˆ]LR¬8¶à  Ï¢£_úÍyM¿bˆxpâ#¸÷‘¬è—X¹–«E¿¢Ÿj­bçp4›*+ú%7!ôyôô+¬6ýr£É~åRx5ÊTšy"‹F·*@#[Å…¦_@€÷šF§TYs/2à±õQüñŠH±;â¡Þ$E¼"’lEŠHVÄK,ˆV ËÕ‡"^Æ-6ÞqØ´‹*+Þ%$ôYt´+ì±NÓ® +Ó™F»2Ìc˜-B‰HV´K,ˆT ËÕ‡¢]Ù>Ý€€í£ÊŠv‰GÉ}=íâçMõ +¬¼ÅÍŠUYÓ.¶`RÅ,WšvANV±.(8A»¨²f]lÁA@ŸÅgÞ0üNôèòô³ï˜?ô)—Ì/™m:yÉlÿ—Ì¿ ì>N¦{ç‘LM³QFò NŒÔƒ82jâØH?ˆc#y'FêAµql¤ÄaÇ8Ìp2GSÁ>ázë °uEKšî"7É›ºËjÒh+?¥¹l%bÅšÞÊùR”UÕt“énãQì?‡%ÚÇMšÎ*ߺ‹qÒtV3ž-;w¤é­`'3Ýe6izÀ úž"ÍãWÞր뮼ECßh'}é&׎θ'u-½“F`YŽÎ¢¡ƒ¯ ÐÁX|ÈÑY¢` Ž’úk”ìõY#°Ürc GÆ9ûh¹qlÁQ2BŸG™“PH»¢/ Z+ ¿‡£ÖR)Gm©%€ž²úÈuR­I”…Æ Z%ÒœVQE—E&ÎùcŠ[w±×t`[èˇh8$˜Ôú¦—ë§Ê mÊVV2 €å–k8.à¨ÙCË‹c` Ž‘ú,Jfeʼn T>ÄROY“ë&ùÆ»?× ×|’Áo†l¼²ˆ¹Þm2ËÕGiAš˜Êõ‹ …ÌÚG•±GÁ%#ôy”Üf(¯nÖ£&êô·}5(¼SµQâ„ç©f2ž·Ë2l¢¡^ñ!ã&Q°GÉ}57(¯Þt¹±†#ËFÏ@Ù_Un3”5U;&Wn[¤v°Üjk80à¸ÙCËŒc` Ž‘ú,êZ›½þæÍVi(³<Ñ÷f(3æ-³l>ók–¾«Ã,˨‰†"Š\|Hn¯6Ž’W[ŸÇé›àÿ ¼DåÆŽŒDNœAåF¬B,ˆuË-7ÖpdŒÀ‘³–GÁ%#ôyt¼$Â^1EÍK¢)¥LA4OlœdÅKÄ‚X‡ °\}(^àd'mAÀK §|¬x‰XP”‚ÐçÑñ’0Œc«53Þ÷ #ˆSÀs—p’/ b‚ ²© ´ir¹L„"pùæƒdÅKÄ‚£d„>ÿç%ÿ3yIÂ)Ýñ’€“^ñƒ‹Bñ’"w¼„,„—‚ð’â£ã%sÝ'„—Øò]„ÆKŠÜñ²^B}/‘§ïJS¯ê˜ÐÃuá òø]X…Xë‘éÙxÓÔ§ç ¡>]o>øñ{‹‚-8JFèóèx‰ÊM4q‰œXƒÊ­Ò Rë %“Û¦áÀ€ãf-3Ž-8Fè³øßÎK>ãðã7dGWiýe¡}úeéÇ>å²–Ãè£;yYêþ—¥¿ ì>!j;º²£L£‡£Wys⟯Wø4êðð®¼.›Æsþ¤´»=Üí6«_×|\”y Ô°Ô+7áÕîVkJmy®*R u¥\}T–£±VM¶€ "i‘‹lÁkñ~¿!˜BÍš*c Ž‚-8JFèó8ɾÅƦ>ÙQšŒÏeÄ ìQ¸…I $«dÅ‚R‘§úÔ¥iBåy‚àñ¾^ù¨²JV,8JFè󸼢¿ü#y%­#žR`h­YÃ1~ú×ÝËã|FX|X¸B‘‹O&(æÑJK?ÿaƒ~ÐàƒÃïTà8ÁŒ´³h‹PZ|ŠukÒÈ(?í-<[ïd¨0}³¾9~Û­¦ê÷|uæ=¾æ†ôzÚ즇ÍÅaýç•ÍC±B‡Û~»Ã›8h¸mÑš8?Ö·Þ¢:¤;€E:»úBþÜñKwokc?ç¡ÏÌêK{jŸÓðZíî(¥É‡7ýw5UÐ÷/ÛN®É¥) ö1·h2±ñf¸"½ôѽ±¸«! ¥ôS'˜áænwß½ó(°5%j-)…þ½Á‹ËvpäáM5NöåG°ŠPÖlÂíÇ૸ûœÿæå°Æ×ñy/ôºy8\ Œ|grhú‹ÍHóp·¾Ø°˜»W /û.Ƙ ®ÝMÿÑ›½;yÇàvx·>¼áÔüÃ)©uo…Ô7ŽÃŸW0V›{õj?G!Eü:º=?å†p_&LöiX¯€ë¸ÝÈ”) #îVHg\„ŽçöÉ©ö;eÐ#\Usœ“?Ê’ü™ûÑœê·~V@f¬iZùuf>\ùÎã[¹kyÓöaªÅ]H§"3Z‰(<\‰íï±0¸/^¤îÕe‡—àÉVJw±Ù<BwÔ¡À\ß~³¹~¿]¿5\þ¸¾½z%ïÔ>ƒùSŠÀp^Þ©©Ö¬3úÓ8±}µ"cÈý?ÛÇ¿¿»¿a”0ü¥D‰{ œ ÏJ$@iË{Õø¶oñ†íîêº:¾d$;|óÝ¿}ÿâf³}5¼¾Ø®7?Kl_6o¿‚øw[XÌ¿zµzÆáÆáêK¡ì¿¿~s¸xV‚¾¸$Ö+Ÿ+÷›õþðjØ®oßÞ­±Ö=0qøN­ïüþ餙ãnÍf¸½»~{22ý©û §óÌ}ÕB€:ú× àínøíԸ÷РÎPB˜]Ôé8üôõnûv4Í~ÔýêÌகÐZ˜ë±„4xÛÂ;ë¥Û ŠÕ(“ZBÄ8@ð‘3pÛ2„j3M=†ÓÞG«"™>‰O‘æ¾³•šüÒe0ù ÿxq„1Ù'`z±³»i3ø»õŸÆÓ¨Ô¥À–ß èqÚ ãžE`kÀå£Ïëáêõ—™Fø N“ý¨ü~ÞÆÔøRb÷Å<|ÕŽ_Ÿ²™¢íôT^êçÇû(^qCµ<`¦å0¬÷ôÒ¿…šñ`#CC‘× ¬lþÉžó`·.^°VßݜĂ‘ €ÝçÃ?@À> ÏiFW„ƒÄE—ך‰+Á®ûÊèèGü²F?!_ òÃj^Rr±ßß+j´Õ…úPyãT¶ Þ¹BÞªÞ÷‰ÿ¤‹>ý´ÔÎ:´WªÏïî•pC{Ì”û­îo:—Ç,©l8æáã6c Ó‚qC߸sÒe?ð¼7âæ(¿^‘ºß¿Ø•(܃±YhŽt·}À‘ðg0¢;"Ôwa·ù˜øÕ `â²çŽþ–ù†óǹ·ñ§DN_ÄN~–¢þv œÖžú›%ÆG¼@°pÆ ¾þ˜C»xzúO à7Yçä5ÞË ´›Ê¾wÀ3Õ»Ò‹ÈwgÝpCÕ&*ål?<'+NTå°ò„_¢ÈÌšñ§zvüþÁÀ£ yžr|B/@kÊdÄî„„ý®|ò12^b‚~ÚQ[N̯"ϯæì݇OÇ|ø ÷€äŽwò}ûÁ8V˜@+`žÕ ÃáZKuuHÏeÇsÝ&bÇœàŒN+àÅoy##þ4îïl{Û?œµáƒý5°&¢Y²õ—_v‘ ìï¾lÛ¹ ´+±Tít‹h߯ß7Mçó¿“ÏB€íÏ¿´?+ye.ó÷ú>Í`íSì1=ê9‰mþŸ·?ó?OÎÏãù±¿ßn/î~~%…¡›ùÿ71«endstream endobj 284 0 obj << /Filter /FlateDecode /Length 2204 >> stream xœ½YÍÛÆzrê­HP¾x˜.YÎ÷ŒˆÝºq`#ˆ£C+ZÒ*´Å•Bq»0ò—÷7_ä —Zï6›ÀsÉ7oÞÇï}ê§yYàyiþùÿWͬœog?Ͱ};÷ÿ­šù£ÅìŸ/¸†7….5ž/Îg ¢ð\rYhÊç‹fö=ÚdyY”\a%êºú"3R‰Kª,§”%&è?íÿ¢Žˆk¦:3D¬(KždÊ<`Ú:Ỏζõ*# Ñýè.Д¡gÉúõ‡X| êQ«G4-$Ö âb=Cg‹×³œ1<Ï)/”æõK´p\˜"Z£×‹Ôì³Ü\¤O¤L¤ÙzRÀÉúè%V m럭Œ(<¹¦p¬ãÈE¯ EI5z÷ s  ¯T!9u²®ˆö+Ç­¤œùC4>¤ Í™/‘ÑxlVF‚U^¢‰€ÇƒSšQŒö±ÃžÌzÖ_Ͷ´)±¿úõôÍ Ópó"S`iPí»j7i Ì1ñL?sL…¾Â´äžä/ždd¶ÂáÞeftT^ôÐß*û…–¥»”Ô“BèÒ}çøJ: " ]Î ª%‘ó<ªtéñô½Ç‡ÂTNp‡XÒ’™c¸Ì_pôðˆÀ„E´ˆ½n‰…Œl ÿ˜°¥ü›ç_+ ‚pÏ1ЃãKÇ^b˜21á£zÊ®ð†ý ذcÍÅÎïĦÄZ€ÅͱVö²~–åXÃè¯S(ÑæÉÄç„AS3ƒR!ƒ'œiCSËî©^9e\)]^0ql¥ý¥î¢4æÕ“‰zÖ"žõG‘.Ôq¥Õi}dÁÓ$(_B(ù ¢ SÆà¢È5"ˆ>).Óâ.¢sÚ@Ɖðô"ƒB¦5–¨Û´«Í¡{ÿ]Ým&…áeA…Pp—Àã‘ψçN%c úiës yÜ ø¯ör;à&ˆÝˆ2øüÚt\dP¡L©¤¡0¹˜èË‹fCeââ6•©»|‘wݨûŠ;€ÉÑ…ú„ËDÁC <£CJó!þE–sÀšV­«®Z¢{Ï7?vÕ½3óž[|ªÕ›j»^<ïï6o›úí=°–¹Ó‚CCòl¶ø4eÞ®Ïë·Ã›ÏóáùØmO§%Z½ª/ÖKÈ>ÇÃþâ¸9ód-l2pw—åƒv™ý¨%Âá;Fï‡G±³^VÈXAÚ€—J­ÍEÍ~½q ºôäÙ÷Ï_lw͹ò¼jêÝ» ŒJlòÚõFaáÐf=ü‘ÿ:<p.3'ÝH¤Õþ¢k÷» '´«Ý5õÅ¡­÷í¤ŸÌpötÑnÁT<¦¤ÁÞ £7“¼b ƒ™À&"ÂȢȃÒFÒP ¹é`x:hò`xüôÄã$¸-GÈÀ;^6MÕ¾[öü°PèqµÛ=Èî§h¾;ŒáTì{<<¾´bD…\PkÂ÷Ïj O+Toœ»†gŒ«žWáIˆ†:t‚¨B0¬éïµöû *:ÖÿÝ ûc÷E9ÜßV]½·|rS 4O©‡ï›Cz£)C\HãÐǘî–ÅöàeÙ«`y˜ øqi`„<a"ƆàœàBc.ŒÓ˜Kq!1&EvIc×› bæ>ÄË8¦ ƒ B÷]Ýn¿ ÿ¬~SLsõvt}Ç}ßw¤ƒ0Ùy?!äÐ@ó(† _¢õùCáœC¥OòåÓÇ—b¸PàÁ =J¿sQP,h65´ŽrÙ7®1fD–Ìxp@Q VñÔŽpç,´Òý<OŸP©aJ ¨sŒ´")¹‰kfqÄG7¸³œ£®JÇSÒ4ô¢Â ¯Nõö¨ý9ãÆÀ‚#{Ç3I,c' dè¼ ¢ð~·/I/sa‡k°7J{œpX p‚—ìZÅ­½F¢Žœ€Ú«Ì‚HÃÔ1R¨ÛûÃÐ-¼r.¸·S¨Šm±‹üÙí§²à'‘oÀg0˜ìÒl_Ü#´AõÛî2Þ¡lÜ·’i×Ç9J3Ú_FÌV>—»hñä¤1ÛcËÿ –H,=  Ü– nc hcØ‹º&¶/µÏ˜£“\Nûøx„*ì…WÖ€^zq²A®c$½ ôì r­T×ôÖ1›*¶þ®w¸ºÝÆŸš ãp³îj›{9 ð>Õ\`3­‰ÓúR81_˜A&ŒÚ~I† ¿J“ÌÁ€X¸:¿PÛuZI„ÙÞáÑH²ñdL|`¬°ŒÁìç»ËhE˜z4Ü;òØÍ/Ýx&²¼5¹ñLdéàUÛ‹O§öuÁMîU!qù˜?Ä€’|´YÔÊ%¼">pzEFrUΠ;ZiæBÊNœq¹ A!Díÿ“üÝ8hœù€Í“z;Î#ýa#É¿³ognÓÌçíé sо°aÆŠÚ¦ˆpR`¦Ì†Út€«g{{~æw–ð+ì~—Ê~É!Dp¿7}zš2ãI <îÍ_Ìn±™µD[ņ‹´o‘L úñTžrŸ:°ŲgE áTÉm°ï…eZÓ@™ŒÏS¼ü=¡ª'JÀÏIøªCƒ†; ¾mS¹Ý;èëƒyød¶ûÌdrŽê"¡ mØh•”ÊëÖ?·Ø@ HiS(Mm+rz¥Í’ôÎ7P!0à ªÛí6PJ_Ù:~4µu„F홈ƒ¹cí>ÀI4aU ]k*Ïu+«~Myæ~V¡æòQžŠw’~ ÁÍÿX’þþÐÕMȦþÕÚãö7e°-†Mn>·ÿY £‰a»-a¿Ö¸ÓíQ<‘[!'òd¾ÝæÚq9ž†“} ýã¶N×-\ xïn tÓÕ-bßÎ~W²Ÿ|endstream endobj 285 0 obj << /Filter /FlateDecode /Length 3835 >> stream xœí[[ocÇ ~÷_h‚9Ú®NÎÜg‚&@$AŠHw]ä!΃Vöºj-{cis)Šþö’3CrF–½q6(Ð4’ˆç#9I¾æI 3þSÿ¿ÞžÌÃåÉ×'*s‡ú¿õvøÃéÉ{ÏŒΔ椆ӗ'eˆ¢‚ S2n8ÝžŒÊ.NÿÂ.uÂsœ’ùÓó“/Çß¿ZÌÓìLPsËg—lŒãÕf½X"Uôq\í77×èn±4FO)Ùñæ%~6ªÆ_7"­øfQ„foÇíæ»ýëæËÛ‹VÓ® ª¸—¹<²CãŠAތۛÅRÃ4DcÇóFO7æj·øêô'ŸžügY;˜¡48çý¤ã`üGo‡Û‹á‹áúÁÅP@‡ ']–B';%eçÃäÉëñìâÌê ¦–…–(­L˜‚Nƒ×ó`AòKÝ®6×›ëË÷N ¾˜LÇ~u%6ÈÃåîÄN.™à†oAõá_DþôDùÙLfðsð“WÃöD9'˜suòœ…t´“2­På´B6©)tH•Ó ù”&­[¡Êi…Òì§`[¡ÊA¡‡æØO°Lí$+k§Ð)7Y¯ó$Ï“.Ó‹Óé”ÇmLÓ0C¬L{LÒµL]™™VMÑE ËGÈÀÊ'H-–aNzšõ¨å£‘•’µúšæÀÅ&ëÀ‡1 JEغš6Û‘5"èƒu°2F[æ„ÙëÉ„<‰¶ï†Šq:©¨Õ¤}+U9­†$k ü׃Ï>(a!µ)ë(3dm`]‚A:ÂØ”½†Ž[#§ÄµDy@å(7y?0Àœ¦¹ÕPh@6ÙH½ë¡PæÙNâH*Uh‰—"QÃ!#]t43E5AùÀ37Í¢ƒè&`²Û]z?ºÓg´;ˆ˜X0+§ÏÀmÙFÌJËécz¶€è¢¢9}FLÛ‹ËVC¡›ÓÇd#ô^ô;”ŠᤜÑÈހܓEÞ=…nw(IÐþ#¢‹Žv‡ÂZ`Äc˜{Ûê(t»CI‚¬$„ÞÎ7¯`Å;ß`#O¦ñ͘±Fo¥ßX¢ZÎDoªˆÞ‚Ñܵ: ÝøÆd%!ô~ o?¨ˆ~°V½¿&"ø"GÅ ÉE°)IíÈåÑ ¿ùôÍ8'8y|½õ¢u¦hžC.E?ºz½Û_Ü ‹ÇZ ¾í,=`õó7}§€6ÆO>—“3­Üz(õ¬‚-SëYÕ³÷DÛX°0fÓ5HˆÏ0 5âÆ 5âÆ 5âÆ 5œzˆC0yoQ~CÀ2“UMÉLœ¶d6Ña§ •ªœVÊØ2Ú4RÄy°ü†%‹8;2%Ì 3ìJXS¸G V€pŠÁ)²è5 € ¶©‘€iP @%«†<€89dË镯Ֆ`«+Bï†ñƒÊÔ†“‹Lq­¡â•©âIk„Àt-"…“«L(E¨¨ 2UŒ 2²ô^üÌ=‹|*¸ "¹e"œ`0­1Ñ´Ïã6OrêQ z‡#áU&¾\/Œ@tÑ#ˆ)(„A€ÐêZ…ÆdI•„Ðû±Îtvxý5J8 Ózk”ÆÝìĘJ:ÀD¯ñHG¼–EØÔ"0uàâÀò@>Ë6LëYG¥qDµ‚%ÈJBèý8Ú\Y› Â(­9Ñ¥u gžš H‚¢!]+a”Ö€”Ö¨ æ‚Ad$!t^tgKᔂ…AkAÃj¹äaÃX¢ÎDS9"œR°B)hD•ŠI*ãxµÚo¾Yè8’°·ãõÒÙ¤±EÛ‚¸ãÓø¢¼µñª^s›ò›»¿úà ¾oi]7o.«v¥îƒïˆýÕᢴºó¸ª“œKéâìÆÓc††þYÓæWe4äœfh-9€Úç&ž‚˜SŒAòôÉ—Õ(5l…UY«ÃÌîÕm‘ßdÙquK¯¸Ü¸Z·;7·çwW¶—&칩/¶¢¿³YÆ¥öª]“ÝþpÊ£±0®v»ÍeÑ©lÐüì«l­m™˜©q__šá¶ ôj×8¯RÎŽüÈ ÎÐ}&¯–¯Ê–5 ö›Y°n77·›jêlº-q{ÓÙЛ«Í~s÷èãGr`“¹;¼)hå­;?‘sªî¥²ú'rôÆoܽnd./»ÍÁ.’¦ NìfG"Ý>äNryíè†ÛǾrTX‡@ ‚-Xðí¾XÄl)mâb)í Eü25çÕ10÷ó&ì´ûë`{mWÇ]x¬í:à‹·ØÚ>žœsýè9Ñÿö¦:\HµbƒüXHõ–‡R²3u1•'¥¡{RºÔÚdÙ¥Á¼jëü2NÃ-µâ¬ôø¾||rÏGœUÈüð/ ‚ ÑÊKÚµÏ>Ä_v–ÜnW·ßŸA¼{¹ÙŸ§·›Þ|÷Åêúòlq¶¨p½ jÌóÑÍöÕ¤ -TÛsÉ¡mÿx·ßls\. íø|>U*¹ñãÛ[¼P²ùõÿIž˜ñ›ÕÕk¦ èâ#ÖÏoÏÆÿõÏU“–¶¤‹¶ÏÎÆç¯.Ö›‹éK㈳ïP>ûÎÙâôÙ_?&;FØ£2A§YÍ3>~Ôp¦Å˜¥†š9Z0Ç…<m²Á-îD„³ñ³k(Ö¯ö`êBÜŒè3FWFû¹A‡ªê}a@•eÔÅröoÍÄWÍöñɱ‹ë˜¹OžÑq¹\⺶î=‡;aórS×7ç»÷efÞ€®- ñ#©ò\z|÷ØîwSÐ>¹*‚Fd¡C ¨²£~ÈSÁFE‚ÀáïQ&·¨Ów¿IN‰IÇ-‚Õ÷ ÒEGaP&*ó¨9r÷1EÓ½‰Ìš¡{&HãGzsÿ.íBÆ©F|̈Kc¡,ñfXæCBþªÄ°\² +oÄ蛃…ÌÿB›aRä ÆÓXÎý±¸‚ÃUIÖ‰b0$šš ÈÓM$ÀüÁ%AŸ$¥|ÕóK\ù%®üÇ•·Ë:#$ã Ž«õm!²ÜIñ"Ž¡çcލ&Ô4¼°ÛZ£¯-8 Ï_¾E®ð¡³þ'IÃU SP¶Ã}Ë4ÛåRàn¢1´å©ƒªeuµ»¡ 6…x÷‹­Í‘ßBÕ²´+vhY,#~TMµèøAU†5é·wëP*¤.2â4s¬Z­RßW(¨n·›}±¡ó…Pl:æ0DiãÆ][]×~Km‘´…ÞM×U¨¸3@µø®ï°,ë-¨c^šþÒýfá°w›Z~3W63Üֺܘêú:þ1–©¶îá©.…yׄY]S«"ö}³\Ûƒç­[ßnºåyÿžò̤”‚ê°>kê±ç¯_Hò»eSÃí/^}ruñÝvóÝÙ¸~±¹>?“_¾=¥ü Œ§ù§oœ,å¶ei<$þo‰ƒêé±âá·093öaÓø)A?ú©y¾Ú¯$ej„öàáÍÕæõöËexú› Kx~ÑXûX›¿ÁyÊùJcÊúæzû}u½?2Z·ß—*÷þ—+æÇ—àõo?ÿoâÚendstream endobj 286 0 obj << /Filter /FlateDecode /Length 2597 >> stream xœ­YÝSÇ÷SûÜ>\¡JŒ“ørç{$B jR!+µ›³ëÝ8¹^olŠú·÷wæãÎŒÙUUŠÏ¹çûkÎÌþÒ =ïú_ú÷l3ºËÙ/3°]úçlÓ}}2»÷R`z?xÞ\Ì" ïזּ½—º;ÙÌ7ó“Ÿ@¬}C<¸Þ+ПœÏ^±G×ó¡´´|ð,þÖ^9ÇÆõÙ|A ãÎ8¶<¬·Wé~¾RôÞ+¶½ ßB9ûkER“¯«H4Å6ëw‡7ÕÇݪִO„¼ÜÒ\±ìɸh‘l³/Âà¤b畞†gÜÏ8ùnöädö‚âéºË=EÛpÑÞimu?øNxÇ{Ž`K/{mºÝªûWw5S½öÒêî-Bÿþû ÉúvÆí`z f#LoE·©0R÷i°îÀJöb­€§j‚ÏÀ'8¯(¤ïµ«$d8ê Ãm’äœûJE„‰!‘)²‘I@ëÅÙìû™àÃÐ;Ùi'mÚÛTez…@QY XC8@È’6ƒg ‡4¥ÊwÊ+¯Ø3CÆ×Ë®ð è•‚C¶ Sd “€Ö…à–òš²kDÄQ FˆÞÁ.=ˆ^[Àr .¡9ï ­ÚlMmBU2UŽ„DeÚ{Û Ÿ5dè£ Ádbä?ò!øåœ§¨šA¡×ù5a´£êΛž@£{Xyä| ­ž‡(ðG›"`‚£ âÈÔ£'Ž,©t¥#ÂàÈF$‚ÉÆ$àÈ òL ¼4Ü ƦÂXÞ+ÑIè¥/€å[Ê!$&Ãg3` ×UÜPª& uGÆ xE™$(4¥©tD“‰b²2I8ò#øf`Gah /-É· #Ñ’¾“ÆéÞ€K+Õ°W½q ½v€\^(,ªIˆ"a‚£âÈîzÕtdøJE„Á0‘)²‘QÀ‘ä™,2Œ&q( GžŒP˜Ù`ä\F- ­Õ€Ü|‚ÏÀá£ÜLÁ¦.&8êÇ„AáY’™$Xï)擎“ŽdÅD‘­ÌZ?‚oÊ 6:ã1! Ú”²ªàñ˜g°F)d^ª †Vå!ÕTÐîj Ž*G –ì-P‡¨Ë¢#ÂÄ‘­ÈÉÈ, q‚üzA§!f¥XãqKŒ®NˆAêLGN:D)&Ñ Œ¡àCª‚‘AíNž4ç'ª‚©¨ÒÐ,DQѤùSM˜B•[¹PLE•º¢¢š0…*X‡ SQŦŽV¡úØ2È#$º^¹±8Ûaµâ½‘’öÁW ç¶$Oz8W¾ø¿©ðú‹¨YªìSÓU¡„É àC*m\½z4TÎ)êÁŠ*aj*Ì[OòL•1 •BJ}C•0 •ÁQçkÓPM?QU>~NÊ(] ÊG·Ê©Š9(Ø~°¼(¢T`LýÅ€CÀ‡™¹u¿ýL£sÉ}F{Z×ûPgì›í~E7âíóÔ²è‘ÁÙèØ7«åù½ÓðO÷e÷h\ÿ:Ç”°±Õ鼘üâó×òW@ôÖql{tÀ„üÚÏ?5¦0î©ÝªÑb•¥dœæˆƒ>M)-[ E¥0þG9²6ÎÊ™éÓ´+GòôeœzÇ:L†byE¡Â® K£ÝÕõý k –Ba‹…Ø7-µ…8¬pƒ¨,äj ;Dm!Ò§Mm¡ƒë­…¸8F.²°5 ƒ‡nÓ+œX”~(£Û²µ §+Ü.µªG Ó¢—0·Ä"rYø`®„ùCSI´†²€Î±HÕûí³çT¼°„{L„“g3öœ.¬¨±Íö|5ÎïVuù¿]ÎUˆ±‰õÿt}y| Ô3÷þ|¡¨Á^¦[«—ؼو{8úıL­îÙØ´°3³ZÜD¤Ë³×ñ2l8k$íHzÖÅ |ø­>r_^~l¯ÿ‚Š›vQ¡·Yª—GÜgd¤W’³‰´2šQ¦6ll˜³ÃÕå=yÏ;l/›O™Í—]b{»>LfpbÂâ/õÍcÆáÐÈ:ÏÜÖiC™2l9¾iM?÷Q¦÷.E+ )Ñ27™CÐKs‡½•xòÅ+6¹k•‘é‘E9á‹·áÃn9®ß×&7Ù?ϯ%‚ë«[s¾Ë¯<¼<ª(ý‘G•LÏNÙŸÐHÆ †‚ÎÙ²Ö“ Ðf,ÐktÄCU+›¬G0XO•ŽaÅÚíÎnð>¾mÕo^‡$Êéâ"*ðó\ ƒ!æ\+4înŽÓv°ƒ›üPæ3Ÿ£ª>z>(™³½},,Êvßf•§!É)¯s±è MPUjÆ0Kh¤HOÕBøÁ*–BˆfŽÎ!MKï{æÃ 2õ“¤»z=¼Ô‘Ý΃e=’ÆÃ>s8J[äP‚í¶ãX}ª…-³#ÇÙ}wXSy‰(Œ‹@†ßú×õ€m4{ŒXìÆÔ{R$­OÔ\0ÅæšÓ`8Ô½zcÍ¥OÇ5—¼ ÅaÅÁ}¼æ²êølIAÅÓ‰ªäMûãAÊU:öööɘ«UµÌý šù÷îÆñ 5ø¿4bÏêO‡¤‚sò!=ñZ¶Üï›cë6ãO™ð.ìo˜«-·—ËݺùºÉJÛëö¨©³Ù°ßqÇÕª:ݱms^>œ/4•1¦Ñùò°–Ž`“¢d‰nðña…<BD-D *7™c:Ê8Àµ™ŠP7eMn†fewQQÇ¥¦{+ îté…HY–êØ³õÏýÍB•ƽÉE&ˆ lå⺪´æYî™^JÎ}™a§ìüâJIYyTSþñø~IÇÕ ¬ ±$ûúè»ÁÍ]Ë[Æ7µ6Œ¹a¸N=¹[]¬Mk~zN°¿¥„ß\1qS_LÕH><ÙÖ›åaUÔ}8ï‹ÕOv»Tu¡;ß—Úþ· °!ìË?w§ìáïïo_Lþ àwLendstream endobj 287 0 obj << /Type /XRef /Length 284 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 288 /ID [<3f96a15459b3c656d5a4ea98b010ebb1>] >> stream xœcb&F~0ù‰ $À8Jò?ƒàî@6{4(î^˜ŒÆÝP ÿ3(žÝŒ¯ûÕ£ñ5tÈÿ :ë@yM8k"G@¤87ˆ³åe@$£=ˆäØ "9»À"o@$S˜#±\É7¬f#ˆä «Œ‘<ÏÁleÉRÉÈ6™%,6œr \ fó‚Å•À"!`.°®ƒ`ög°8ئe RJ DÚ]Ë Vɶý8ˆÔyöã?í!sÁ>b‘ì¶ ’àš‚ï ˜TÛò LÖ ldž°‘wXoXdˆ”U§ÿ×`‘é`rØ´?à°M«“‹Àî¹rç3°k]A$W>Íÿ3V endstream endobj startxref 205296 %%EOF flexmix/inst/doc/flexmix-intro.pdf0000644000176200001440000062142514757625371017003 0ustar liggesusers%PDF-1.5 %¿÷¢þ 1 0 obj << /Type /ObjStm /Length 4257 /Filter /FlateDecode /N 70 /First 581 >> stream xœÝ[[sÛ6Ú¾ÿ~î6;;!ιÓÉŒ'éÁn;IÓîäB–([,¹"'½Øß¾Ï €%J²ì8iç›D&A€Àƒï b‚i&eÎ “BåÌ¢P8昴B1Ïd®<Ë™,rÍ ¦¤-ÐŽ)›ã™dª@­TL{-™ÔÌh7 ®í,3žÚ;fEŽ=³Ö¡F),ÊsÒ 3Áœv 3gÑH)æ<^Všy÷•a^k‡A™õŽy¯ #`ƒu®Ñ¿*Xn-À–{Q0@Êsç˜V¬èLc2Ç| +´¶ ÿ S ìXáŒÁ$Xዜ霨`4!…`À(…ô ÀK‰!ŒÂà ÄS¡ è§@f01e¨ (¡À"‘Ï%3 ™*0:—Z tÁÂsKäS‹¥6 ¥EÏÚa.=ëÜñ@Z-јfbÑ3H*ôl¬&ÂâÆ9Ëz6 #‚[œ 0 ƒ(=[#™^ö&R=|<°t“þt0šœ³Ä[ð=fUýä¢7##–ÑzÀ'iäG½ÔN]°%u™Æ— Œ8ì/£A}AsŠHU–ÞþOƒt=ØúoÑNê•÷rþ†§cxè“<'bY„¼mãCÁ‰7œ`åAÂપ ˜,ô)5ƒ¢WŒ¢ x¨±X¸…tG3 ­R-8r{ÉÙO5hIHéJ¿÷ æªúÄ0,äÀ]}_ŽÎ/š"ˆM‹þ€ð'ü)ÆŸóø?æ/ù ?åoø/¼ÇÏxŸ÷§ãé„xɇ|8ñðÿ#Jà'~Î/8°‹rÂGüóK>áS>”üŠÃ/M|Æ+^óúbV–¼¾žò9ÿȯù'þž±A|H†ˆ?÷ÎÉï Ký¸áíPõYäïcí³Ñ¸Ô†b©~î]–[Ùò¸¯£þÁäŽ ¦<ª*0i`&ð%žœÖååÛ ñZìÖâÔÿ¿zûÛëÇ‹ÄÓò|> ·DÀ¯‹”cGÔš(è€ýDÀ@ß°±Ìe‹Ï`Æø…_®—ü½¼Gt›P„˜¥ðõt¥÷ý©ônì%öO KÙA`éó¸œM—¹ u!’EIoÐÅá*ç2H^Dz°±Ç-7Ìx3{±„—HDš+…ÇÍó0E*«™ÈÈ”êé¹FŒ¨IA˜æ +ýLðŸþ¿ý³âÖoCß쨻ªvìšÚy Ås˜TÏ÷P>?òŸ‚ú™¿HJè5ÔÐ[(¢wüWþÔQo0*ge5ª¢bÍúóËá¸ü”tTzyÙ š*ŒÈËËA¯ºàå$^þ˜÷ÆA‡­ª±q£ÉÎËyp6®ÚJí÷…Z› 8æ“ùåY9«Fç-5G†v\ëx7 c'Ýw5žWüþÇ|Z—è9´j ±a(-ŸÇ‡¤2«òrçU•¥}âÕ˜f²ªLç ¢$µÊÿä–³éŠv%ÚoÒ®ˆµPEX¢Uýšõ–~Ý®ööU±VîV±§lØWeÓjé vtð›·ÏŽ_¶À¬û ÉÅÙíƒ$³åƒ¨}}]ì/*ðDšß¦’–«}åÉ¥z0ˆY!–JÇAAIÊdQC“^лØ"¶RÆ«òˆdœÊ€ƒ£CwÜÃÐ*ÕÂ倷oà¦r_ÈÓ!—ˆÒZ”ÑÂú½Áõpð‘;®Çó õ/ ñŽ$¥ägŒV%±¿(+„lt4øŸ·r5ˆÒu5R„Û…-Ü··ø-rÀß%rx›üŽ“7ïZ£ÆñZ\ï¡]r½ìr½¿3×ÓBà ·][»ÑÑmÿÓÄW6WºØôk·n¿í å¤á*Àò”\%\‰êœ,´ ^¸£ìtßvÑ!AÐLø|ˆL©§¢(µ#!@œk·¼'$M9¢¢’"—Šòéèw‰Ý€&†àˆÈ­Žï9H§¡0R]GBÈ%lYÉPÜb%—6²±Ñ:¶å¦eWÌßð÷MFØF¨È…n›,L¨–RÅ\“«V–dab6sx[²ÂqÜ.[ ôM²eTW¶~9=zñý)F>íMª.=¤`r0©FËK)ËUWÊŠ5)ƒKÞ²é› Lý 1R’h³µ1Ѿ QVJ5ëäÐWÞQ€à\ø¼–ɬ/ÓVbí©óü†Pk:”³”ÞÚøI(ÈXÀ ”³hÔò»_ƒÌe^y ú}f5|—É|<¦¶ßå@úô†2#ma½ÊHVEf¡Qln2Ú¶yßZŸ£ÑäCƒ1$jºY›¸¾.j\±¸ÈÑ.®¥‹„K)·•TŽº‡|cÌ=™$DwÌå¼<>=:ø©‘¸ÓqoRßšûm׳j¸¹ecÄnöw;Ø_ùm©²­R %÷bÚ‘bÕ4£ÅkÛ´†7°^ëbéЦíûè/ÅòYÐãmo‡<œqÐÂQñÎù§¶àÊ…×"µ¤´÷šä¢¾(tuMr›,ÄBroXî}³M€[J6ï2ÛÓ—O~{±Ô/ÎÆ£?æåÝ•¬ZwàóMžL‹Ëò”ìM+ŠKÛZ%±K¹Âù€Ë°a:I¬­$ÚwiÄ6ß²»¯^ýøúmà ‡:7J¾o¼ß¥OYt¢ëSn’÷>e¤½£©[§*n¡r×V ÎwÒGbXO‘ ˜GåP,“I›ÕÃî¬lª!…@ã¥Ç6Z8jW %ñqUMÜÝäZlnÒ†R›wòž|¯á1ÎÝ ¾ÐY‘‹m_ÊÌää™6¤æóÌÁr{-3…`v/“ÿµÀ«2I'npÞf…6ß Œ%|b 8YÀ‘ÊɨD0ªP™W„b™4Å_ NÁMrR-Ài´6¹þfà< o·ñœrp2圸ü[CÄ™9m¶-«Yᱬð“)%#­Ëœ JŠÌýÅÐlz¹%´\ezôÞ¡å]dŠB\nT¬ …?Ó 3®È( ÷7@æeFçôÈ tf㋑ɦ¹%2:U'†ÙeÉ\dtäÄÐÊWæP%0Œ‘‡Lá½Áò+°<ÖI ÚËJ‹U,°¬BX¸[ÂZxO¯ÞüøäÅÀÇÓÉôÖ!“6»h’!n¹Pn§3›Î€lñª‚kÿŠtw_?±£Ôm+V®«ouß]o/:5÷‡|ßßMAÒÛw?¤m­å¦¥ìzU4Š{Xñ¾%ni¨úÀ{5?ãg½?›õúq‡(ÜÅ"ºýP֋ǸëyÀÁt †\î‰5»`­Là9ª,gÝ]¯qYUÝ„ûÍû]iƒk-5¿iójGB1ÄÁÕë{V±ÖÒyåN0¥;éÄ­2º·kï”L<|ñüÕ‹7iÜ»åT6)ˆõã7*ˆ])Åm b“HÞ,V›Äy³ÈßF)ˆ6Ñ)}™Ào®Ù„ñ®* «vøí"¼Ÿð®ˆî—Jíº¼iÝ.«ÅjÒ#&ÿm›„µ“TÞ-4«»dVï‘›R·s3Ò‘ÙàgH‡Ò…ù:ÜVoCˆÌc'àÕZr¯ƒ6©dF_tÜ.Ùœð¦Ó¸é¤­‰É£•¼²¾×s¬¶• ï%¾$Ñüô׃ÓÇ»ü%×$ÖJ°›h’Åú¾ 5Ú¥w%–WDûî³[ç2JÿI°€ƒ‘ÒpD úh¬`¡£¿rÔµœ–>ó~‰ B_¶|hFù,·ÛDH&£ïsÀ»"§d©Íèp¥>+ró×bSTë‹6ëò˜Ûa;¡¯¢‰nžÐnŽN ~BÙ ~é8?0d:n<“M3ZoÕÜ+ÖlÝø<œ¾‰ŠÉlÓWNß5CÒ'fi+«#ÀïÞ¿ Ç+“wìrgŠ®$ÛÎíëî’d£;³–)ÞàFt 9m®´ y(. y?d]gm‹çvïÅ8f}ºY³wÍy¤…½ÛFÏ}÷PÝfûb1«eBèmùÄÒôš•:“ʳ&¦¶ÊQ$þµet78`£ïêLQd–TœV}?h¥ÊŒÿêy¸Ýؤ6™¥Op6!‹Û;æú”ñ7'?,Äïÿ£u}õoί¯¯³ =›ÍëórVeå`Îÿ{6ÿ\}(y5Ö×ð²‹úrüÏ`Æ·OZv'û¾…¿#‚¡äI({·ç¦úªÞSt ½Qbôé=G߇6º¾ uͽaÍWÛu¡ai·ù®t¼F8 ™¬§“@ÊYo?üó퉧A,MGù5Ì­!Ö,²Ï ó{Ÿ\Pþ`:ʦ³s.)ÿIà¿WUöQH™D~ðdû _Ú{³}m‹›ÿ[c/l»dZÃ¥€C,écFmLf䞉ÓÛpÍÉëٔ>’¤IÜ®v R+¯r,i­r„ vO7íâMäU`…‚N :ø˜×ã¹û pû£¬ž_ÊIÖëg½šâ¡a‰ ?<}òÊI‡¸¥,É1©ø–€â9úâŽr¡íb †ŠÚs³îo6§´Lc:F©%äXDÿZû}m7ÜÃàáhØ€fáKF>Ñ'ŒtŸ-¾]´¿K§tä­}Èž­ž²`ãAH–ÎEÒaXøpÁP¹<†Ï(½³üÊ€¾S]ןé,¿¸§‰$êÜOg‹éï8.³º’÷s=ï9%”†ãÍý#‰]endstream endobj 72 0 obj << /Subtype /XML /Type /Metadata /Length 1564 >> stream GPL Ghostscript 10.04.0 R, finite mixture models, model based clustering, latent class regression 2025-02-26T15:53:45+01:00 2025-02-26T15:53:45+01:00 LaTeX with hyperref FlexMix: A General Framework for Finite Mixture Models and Latent Class Regression in RFriedrich Leisch endstream endobj 73 0 obj << /Type /ObjStm /Length 2438 /Filter /FlateDecode /N 70 /First 594 >> stream xœÍZÛn9}߯àãCñZ$ @.›Íb“™ÀÞ™Ù4RÛÖ‘Kdþ~O±ÉV·ÔRìØŽÃè Ùäá©SŪn'”^ø( ŒA8ƒ{÷p3‰`ID%’q"j¡µŠ"¡­ö"Z¡]J":¡ £D/tÄÍHÂ( ƒ0:á~Æ)-bÆc‚¤„ „1µ0ÉZŒ-¬Fÿd…5<9a·{a) „&Š„M˜$Eá´C{V4j¥„s¨0 Œ81Â>e…K:áÄ ¯0¹VX®±€¬Hx›ø© ¼wܫЛ–ï/WÂRµÖ‚tP81‚¬Á8ÚâÄq“ä ÆA?òŠû Êœð¤: й) JL“¬5s†µ±° `jpˆ0²ñ°ˆá΄‹‘ *Íw` ÌÀ ¦ó–I° Üæ;¶q dGO˜ë˜'$î3'ÏM0/W[0n<8Ä| D‹Ì9Ë‚q'C$ŠÜ3OyòDL^¬®—áÅäÕâj½a})q"&o¦¸ßùâß~lÄäÇëÍåbÙ¬ÅÓ§ùÉ— ºü&Êÿùﯬ9”ôÑ,¯//Å™˜üÐ|Ú°^s§wÓ«³WÆ]l.ñä¼9?WÊ%¥¨Q*8üœãñ9¬D¶½O©ÜožV-þïM‡‡xœ&©ÙI*ž²ÌÐ[&ü'_´PÓ(ÔwWÍ9CÜ3àÑŸß®Kȸ©¶ÛöŸïçõqß°=¯í#k,+ÓnÈ5…$¡È]®ãp4‚Ù«‚É´Gš e |?㯸*÷óÞZàÚÀë$Ù’Îh-·á&vxÍóR92vSÎgí1ë'íêÃuèÂ[°V*wõ–­>"õôÃ}Œrí{vmZ›3·Ž fnG¸qó‚?vØŸ-—«ÍšE”á‘9ÈðñŒ×µÜÀZ[û¶™/¦ÏWŸÐ_áÏ'/9Þ8-áó[Ö à“f½º¾šÁy¦¿Úüãt3Ý49|å¯0AŽae}«ÙiÃüMÞ½|…%2gZ£Ã»éE³£ƒ¨†rõFæ­f ×h†|¦1ÌK˜m%Ô–¾,ÕJo•°ÚÊfWB}ÌòVUÊÅTùþ®¬w–ƒ~REÚ]Ž]N–GÕPfo?”Ô02ïµÙ–‹.„̇këáîÉ'ìËÆ©û•MÈ&ÝA6vÀ³ Äûäg:³ÓíÙ¸¿ÅÌ ÇçmXÉÚ`þãV[η4%lfÝ…ö™`¶a'?3ï…žŽk}w®[b­º±;Û‡wÒ»–\ŽnÕºhÐÞæGt{Þó¿Âuõ±n âëxxK×n´½q‰Ì^ÐNýÜE÷‚vÚ 2ƒ =qJPîoêT7Ÿ/ âVx¡¹W/´¦ï…ÖÞA,qè…>I·í*É]ÛÃ}Øq’ ³C5…Nv²y/ç(1÷s½q¨æ)c4·$q¶Üi„v{o¾œã´³£8#“O{Ù¥Ù!ɵærýÍÑN[þå!»Áî3§×¿o²yÙȇÕOˆk ±:s{‹è—Å|óžUPëžuÚ]Ϙ- “Ó¯›ÅÅûz‰‰XVœ|—ÉÏ=Æ»œ^¬Ã=Åvðç[ A~ú¬myµ¸l,ðô»¦šCüüs3½\Ìž-/`%Lôv±^ƒœŒ\°'§›æÃÏ\à÷–Ö㩚au5o® "•Ý/_èö¢èÈè­¼•Á :¶!Ho{‰âk€bï›ñÖºYÿðaÉI_Š8½çÞIÞ,–ÿ«sx¸;4JQFwš#’Õ¸!-Òro1R€Cð¨à"ÒUå ƒ(ù„ 2x—¡l M«L¡Ã†hbTüZØtL2„t› 2ÂÓ 6“¬ôNØ ¶+¬®`³:¶rû:ج 0S8䦯JêLêà „ä䛀æ>ÔêŠ_Þ?6íâ>¸`½$Ú”¤Bì60&¶Ga!8R`Î*™=2: ÅÑœÓÈ ½þjà(%é½; üSå€ è8guðY¤õá‘Ñ¡T”¶à°ay¥Ü4ÉC:ä:’tÈ#´W‰>ÜÇHåqMVê{µê­¡qáWô4G2zhcqä¸3¸èe€ +¶ºÝ ØÊn¯9YR)ù ‚KxæÁ‘ãдEð 6Ä݈îVàNrž§îîXQj£”~ÉÖsþ¢SÎ᛺ÖrLÕs ‰ýÁ¶5Äëæòf³˜Mw«]kȽ`›ïeR׋ʤêQÉä(¯Q’BðDCžCÁ îlÐu!ÐääØFdá†{Ù—ü­¨¾WÆ…õ Ö‰F¸¯•.8ÚªzÅßð:~û¼C¦¼™8‰ìÌuhþ>Eº?õ¶Ž×m'þø¶_¿ËÝ×ËË´¼¼¬o‹nSÒßÌÆµ&Ì&¦Ëæè9ürïe‚i=LêƒÎÑ…k ÎýRº‹+ï‚Óºž­2ÒþÔI0é ‘Øñ'[ľ€$Ê"*â¯—ØænǨ!ŸúMè¾å¸u÷¡4§ùõœ·ÃúlÃc— Ã6ÙWó­¸î}!3pu˰-ÊGe1m8…†ýI)™.ç\ùSµFµt·ífOývré ¸x03äV¸2'Õ;5 )a[Ä…›¦†wB?úˆ<75)Ôáþ}Ñjr’Ø5ìí-? ×À]lD˜· ~søGðyËDU,=ÿ#éùEƒAØo_ô> stream xœÍZ[sÛ6~ß_Çíì”Äý²ÓélnnÚÚGn²Iwú@ˌͭ,¹Õ&ûë÷; © EÊ”­$M€ €çœ p„6Œ3¡-“œžŽiðôÌr‰g`Πn8 Êà)˜Æ¡€F+P3Љ < šI¥é[äuxm,SÜSÁ1¥õòLYI…ÀTИÐr¦©+c¯PL[GMŠi0 ÕÌp¹¬aFt·–mèÇŒåôÆ3ãÐCØÀLÀƒ!ÐbQÌJ…&'™Užš³FS“f˜Šš ³:Xï0©sÌqôÎ3'ch!0—çÌ9 j“ ÃKæÇ€X­—4Ž×Ìëø±aÞ oQ zǼ³ÔÝ3$FöN“Y*|èЄ¿`À ИÇÑ Co© ÎuCNЇ+H}¸&ÜDBn0tä0I¼T¼’¸ èàÑAH)PJ¡@I‚ÅÔ£ƒÔŠ9°Pz‡9€J˜ÿ0ŠÀRa&IÒ!V+æ<—sH‹õH9@Vÿ·o¾aé“étV.Ø"I9EŠVOU?u|þÊÒg³i™OñµÄ0ô.=˯ŠìéìúsüL0‰ôDþ Dólެ!å‹Ùr>ÎŒf~ñ¡üî¢ÌÊ_ä%ÆNÏŸŸ°ôçüC‰A¿ýÅw9~£Ú^‡«qûúªgàõ³^g¨×êu]?Mý´ë_wµÈà³H’êN’S=;˜dø‘À’,> l%8¸‡Pòi¶Èc÷ôäÅùßÿòÓ³Ñì6› þõ(¿^N²9t:ž]Óë¸c*ù,æ‹òÙ 6aœÿy¾Ï‹»r6ª:~všm~u±¼,ãü„Bà1{=-0r"T\¬ñUxþ]\•7D6õ÷늘‹1‘AA[¦Ï²»—yq}ÓT1­ûïéår2É˯XJ èsŽA'Ùõ:×h^ÍðtƒØPÍ4įUËI1É@©õfü)»Í÷‘èû2›ã'ÓëIN“‹—À$”uzQæ·o ª7׸A²n¼zùêô'šê,+oªÑ»YÂýKdGd›#Pú{9¢÷pÄXd­5ÓQ¤Q¶!>É੊¦®ú/ê÷h1ëòðŸ÷écqeaÝæ¥ßúÖC-Y¨oX)ækCkÒ¡ÂW2Iˆ½#O$¶ìŒi`ݨ—¶fGF¶Á†ŒVÕ•Œ>OLOÓ³ô§ô2/³t<»½ÍÒ«|‚ržæw‹b2›Šô}z=ÏaæéMúßô·ô6½]¦Óô.½ËçÅì*½+R|š.Škô^L²ÅMZÞÐxÒéÿ6vÀפëM ·6À×JV­°Õ:¢lmƒ ›Tmƒ{dsà^ ßlàføîíè‡óóz‹·—³É¢g7„önà›A·7¿G=Ù{Ô“tþñZ nSr}àL¶;Œ±ØSƒGçÕýd‡Þ/áÙ|>ûsN-ée6O/çÙ8Ÿäï˪T5ä¿/‹?²I>ç¤ãU6Io‹érQK9Í…÷WóÛ O—Óâ|¾È&ƒœWmA«.évmé¾OØ†Š·CÅûùÓѳζö“ï´¾¼-Ü2v¥Û¶¥û>Uï÷H·€YCÞÉízœWpIZýMn´Û¨iE{„úS¨gc¤ÙõÓpzw¤¾ä¦tÇê–þ&í}µ©—+Ý»­w…éÑ»p¦b+EAqô–d6ªl%™ûåd¨\"B(—?_œ¼~ù¤žQJ>]³>ÏP´eSu¹!¾%›ðmwE³SË"JqAö°ï8?„¨r¢·_’›#º´ŸÞR~zK÷Ý‘·NÊîiq}]բ«ªóÙÕr\^‹»Iö±©–pÓÓÅn@ *7«Ô¼%WÒ«ï¨QPà«Û Ïò¶XÝÏæ¢E¾è@Ñ:=}}òzÔxÒ]Ú¬Ÿ>’õ‹µhé°+ZͺV¢eÅ^­gkívp•ˆ¼þßüd¨ˆ—vGìvHb·C’ñ þ\ZÙ¶÷ÝÒÙ4OË?g=AŠõ;AŠƒƒjw‚+Ûìì%íP½4‹o~yùúí³mSÙm¹”ûÜ2ÛŽQ´ßÏAµ‡ƒÄ¡O©+ ~W%ÐÓ† TÕ• Ô>ͼ¸Í»ØÞÞÅ`9Âf£Åò&_±ü> f<¼}ON_¼ »È¦Ýžø¾í뻘ßöÉ#®=Ì7{˜O®ÊÎö [Ö¼ª®Xs>|/cïSìÎ>ì£Ñ@v@yïçÆl~•ÏkPQË?£S¿¦‚t$tíà¾}÷ Chl¤N¬GÄ:]N&ôÝK¢ó¤qY§%1”6*á^S<•Emuâ„¢ïW<9-¦¿5ã×aÀì–T6Qt2¬¬M¸²}à´LxuÒ›-é2Ñ´Ç’è„ùàx„·ç×à@ 'é.@š$p݃M9ÎÇsðÄ+Cç §Óf`uÊ}QlÚºDn@ "\| hBw€sÊ$–.,ºÁM #y¯é¡î¤L]&­ˆöK¢ó<áta+R m ¨tµ"“JÇ|IpèùÚ€ƒ~>h6„$ž¥öˆ\H]ÕØV\ýK k¸j*ŠôŠ‹`¹ÿÒàx®„Z£3!R†n¤ÈýS¯Þ(V”#–ÚûiºDmÊt3X—SʦLº¶)Ã(4߃›‹ ‘óñj¶ª@dEs|>‚½Í!âÈëx[Wl¼†­+>ÞÀV•P]¾n,`í|¼;{òîÕ›­0Øèîv]×N£C´Ïqû|¸Áá)8Ç;Ü‘íh!lE t 0ÝŒöÄÊ) °v>ºòäJÆqZŽIs?°rLöÓoðém_”¾m"b-v™÷ãÓÑ‹“7Mtr(ߺ?hàöqMôÝQPîÁí6í«`qÞpßÒcŸXÛf¡Û Ù{©8”{ò¾HýÁ®ˆå‰£û—n»À}b ¦Æø„׉†®‰ä§v“öcó6ºl 6øÁ |ð#@ÛçúJHNÉÂ%‚N·Qðh…¶Ô^$$7"À‹‡F×xêG¹p»ñ‚Ù@gx¢<@©“ ½ÇùÅ"$%Ç¢ b þ¼ƒ„Ip;ý`“%(yÅ5ÆBPš‰[Ù°sFv¦mËœ=ÖRu§A")E‡3 éž¿/Sà»Ç¼Ž#þ Äð¢ -6Õ;>œöàä œÝÔg|âuŸL’7LWžgL²Ø9 ÷J7ê9œ$_â¼$B³Ï…Mxè×+rŸé4Lb¸ùk`Óa¶bNKK ýs3F šé;ž¨r¿g¡£cFâ_‡jƒr`kПrB'r(zì‡M¤¤dA«&Áf„<°CBÒž}Ô©ÓãÁiÒjaM…ĆìQ¶j3ôzH¸µ¶[+«Š¹T3Œ žf˜>œ}aa?„Y‡™®¢7æX]9Ì¿/geNþê$OÊ…vF®ÊÑ8-—¹¹Ž\¹Ì/Þ=¹x/OgÓÙŽcõàl•—ùä¼,ÆÙÖ HM›=—; œ¢ââVº «©¤„S±qlM>({@áƒÝq`î?Štºk<Ã_béü# ›©ái>u¨°›äˆ (7¼ÆF'ÐFóØŽáSt ãé=à‘_¸A À> stream xœ­[Ksܸ¾ë/d+5GNÊÃopsÚ‡7Ù]«’µ•Úƒ%ÇŒg4^’²¬üÞüŒÒÝHäÈòÚ僇$ÐhôóëôÛª*ÙªÂþÿ«ÃYµÚývÆèíÊÿwuX}{qöççB¬˜)9SruñúÌMa++KÎÅÊpVreW‡³—Åûí‡õ¦*+Yk¡DqNÚÍyѺOªRÊâëõFÖuY×¶øf½F–µRÅ_ãÙÛ›m×ìýÇZ?¬k?ªºèšÃön-XYUBÇî-R0±x½žæ»0W?´7í°õÏÖÎjdŒU ž†Ûn»þ×ÅOg’—Z×lµÖÌÂæ¯a‹É–Ž@°B–xq½Ý÷ž¼´EssíYªtñ¬¶7Àm1лâ»}ÓGlöÓöŸq£˜æ¬Øîºm:núÝo&¹´7Ä/(JÅŠ”ŒP0¤/þíuÉp-ŽC6¼2¥vµÁÍ*Q»=‚ %pëtíöºk¯Ö¸K+xñ&¬Z<Û¶ÄIW¤ ¦jâ™1`G%h‹ÑJB–†¾Ú0Q*i­[éŸ7DCÌlѾ_s D¸*¶N#–Ym‹®o‡ÿ¢ì€FÅœŠ•0 áÑtÔ¶àÈÛ· ¢Tƒ^¢Ñ Õ›èÃÛÛèa?ÄO#U^üÚž"€;~zqö n»^íú3°S»º¯úë™oÒ°óÒˆÕáLq>=îÏ^œt:Y­À;4×±ÏqS—Êòl¸´Ú Óß\öC×\ ^¿&š¶aJ—B+º-¥­˜úÅ'5&L]€7Ô[1]4ݺ¦-e­,ö[ÿQ™âŽ”SqS4aJeÀÇÚ]ë%Q34öû{øÌ kŠwÑ—Ûè÷eô{ßöo¢Ç c ìö)-pÕQÌ.x©U÷@Ð2 ò/UeVÊ€\¬qAëY²bÛ_­¹ahí#[ÑÒŸº¦¥ɚūµõy[ï6Œ¥[áU%/¿ÓZ”LgÔ_­Qït9Ưˆ˜§ÔçäÑ–ÖÖÌ¥—ÅOÇÛîc¼”š"àñ5þ6°F]¼š¡íÑ$†–·_'Ä72‚1 œ‚š7ðÇ×Ã]¬Ô¦s$”,¶SxЏ‚¥ô\%*gÃ9dGO7ÄÅ}b*Î1sH¡[ˆÂ‡ØØÓ‘‡ä醠®çÒôq®ŸA2+¤¿Y¶ŒlRŸ– cPÅ8ƒZ@­|í_*ûH*›ËÈjšžœžÃo“J\lcŠ>óÌÔæÀ8¡;(“×Ô­Dc]Á `²KlgÝÑ¡ØUšágh¸Äþüz@©°¤|Ød ¿óRÇfÒ ƒ "‚‰šú3lè>°¸?(Î!Kj;HªT¶ßÅó[êµ!aÀê3ø‚ï!œ/l j5ÚҬ⡊e`Õ-!ú Puù÷¾Í­Û­†DÑÜ ðÂxK4Ù¼Ø^ª®ä›&=õÌáš¾¥Ž"~‚¬xÒ8âÎÅÍFžî¦ÜÈó‘í‚r=ö¶â&7È™±ÚpUZ°~‡8~^ƒ¶÷¾!U XQ¼¼î{åR•RóÐúÚa;@Ñ]ê¥^C4‚:Z5ðÊ „Dm' i9F}ªÅ°¿•Ã] œ¾ÍBÕNò!OÕ§[ëa}×¼~䌱w i‚±¸ÿµc°Ühì~2†Ë8"Vx¹òèä)î¡ÅQ–ƒdaçã¨Ý¿7ù¥I§ø%Ïe 7}ïyÂó‡dò.}ŒV´µrjfã¤uU*ÂãCx’#KûIN$˜`eWBp×·eš+L»Å7t”SC~:,+©ªÐq{Eðmñè†iM4!w—˜÷ÍÐvn@{>ÆÉX®/§ˆOxaPP“]Hõ%yª€æÞÄ–á: ÖîÌÅÈÀò"ŒOÔ2íÒpˆ‹Elì}2MÁ°°É±ÕÏ–bÕáØ……£Àí˜ K@tfUå·¡î>æyZ¬éÐodÅ)¹ÄŽ38x:s‰X‡å3‰ ´Ç° µ¡æfA†šcgxfÍÔ–¤ºDE Çl òcï¡s8Ý{ y(Ù$ÀŒ±ì×€>ï"ÓIÎÞš®E¸MYE*rK ¨lYwa´óÔíX<;’[?[cIÕþ©b§ -ñë&F³Hfß.¡,†,Õ"5†‘%ˆ&©l™6’\b¤aG2´JÜûd™ûH(“Z,V ‡š7fÚ}Cöjàý8U§KŒM鹕&|íFÛPÁ2bkð6+¤ÎÔ ¬f–„z‘ µæÔ•j:g%7ÊPÖŒ:{ÔaÁßàžMlw1ëû65 †0 ( ‘XNŽø í#s£§kñC"¤°žqwǃ_‚ñ$*´ÇýqwïY«y‘P»öËÈ̾bÆÒM{¡2HLzôl£þ&I¾;;÷} é4GºA™ç&£Žq&92@¹Ú´‰Ç]û÷[ÓÝ[gC&“vf†`G¦rÂúûŸ/ ·b²âÖ(‡‘bä"IØáµdEãS™O$O@?.ðXlÔû ÌdaêfA’ñyÌÝÑLÍ=I#ß.|ñj+±ì ù.‹´Ä‘ÚSˆÚù.±Õ§îLGEà,j¨ùž@¥“›ž"/)Ñ΄¦1 b Oòx)èô3©ôŽ|mÅL­ôl3µÒªpfTÝz›?îÛi—ÑBŽÝf”™In¤¿WVo“þFwñë'£z‚“pS¹Ó+ê1ÕÝÂßçód)èŽ$ô%³S­ðgÿ ö?º$­À­?³@Ì)c¡ï!C(ô]® \ÀÆNšm耗ˆÏË&©žÕs¬Fœ(Ö·ôÂO» uÓujø{¿': ŒBg?tíIˆ¶ÀXE­„Wŧ^b‰€xÀøxÈ!*³âZA(È-øÞéÈ4´+27ññ7õÎ…Õ´Dz[ëo3ÛšM Нõc/›,l*(0`CŠ—ŒIº"ó—O¼!³H/›ð˜ìËâ„I%6áÝÄ£±:”Å‹H\‡6q”±ÚIÕ‡•Ï›)CMVü~¼Ô"TŸ#BwR¬¾´—x 2áy’…ž5î I"ÞÊ‹šC“ –øcJ±T¨ùìzPzð ʨÏÝ,²ÉvŠWkwßG@•‹ß ÜÅûZ¾yó#nBRË4¥%8Ïêºêý#ä­‡[,4§^n± sJ<1ÆN—t2åî9 mÉ]ÓŽ³:ñCÞY éœkOKsß1”ï'ÖAY¡àƃAL§³%èT€ÆEmöhqo8Ôf÷Ô>¥9³PÇN: ¸(…?“N´+Sš>´øÙ©ª[Ìnx2z— º™/æóñt± ÃkOÒ쒀Ɔƒ[Èã­ŽøÔ_&•ñì²+ÎYi¸¿EþëÚ"VËû6‰©y˜ÑŸô_$¦t]„ñç ŽëÏ Ç§¥ªÓ}a¤Ù(ˆ†ßÜxŽ…¥ó¶±ŸÒ þ 0ì¬Ã:Ùµ;߯ ¸Æf¬Ì0`ѹàI„|Y¹‹5Ž‚$†H놴Öòu/iz˜h-×½¤=m¢ãˇM‡èBo{O·~°v ‡ëySn—wL‚ÄFö´`_ÆB”*Üê¯lÉL=Z(/s÷È>q#÷3u’ÖÅÏÍ¡I.¡wŸTQÖû,x%ÁT%Ò-¼Z#jww²RM¬ŽLNÒýi‘Á¯"+›e<©úž ~Ór²ö@*¡2'°éôÞYmRÙ6WYP¤9JúF­[»ßI“¯Í ;]ÒÔ)w÷0p:%'R}~ÀàfàÉf“’ºïÛÀ;ÞóÍ;šÈg' Iõš-´¹kûq+¿3µMœ‘8•ðþò»XnA«¿ÝžÊI¸K.©ëF8îFð¢+òË]‘ºiø ï[ä][ƒ?Ó Ø«aôç ãQCÐÕÖ­sꬊ¾ù Ýî®NÒ%DÇVîž–@ºyžuù¿¥$ÒJð0V»'WçÙ­„—‹¤1Îæ*lC‚‚ÍZRSR—úy³µqÑšS‘Ÿ˜Ömb©xÐJØÌ4K÷S“W×n(žŸ8¹qêÖ³‰[7“áþ©ÎŠÔÄ †¼Æß¨üSà3F}×ã}åKa—ëÏñèSm²KÄ^Aô7tŸ~iMá.qùv210Öש®€ã¾}»}…ÄÑömlúÁRëñLE¸[dÆR&~o{EܹŽöÜð†?þÞëü"ÙYÀZ¬˜¢ë¾.u|Ÿ,ÇPåÿ$ /ÈÙš*ãgMÛÅ^HwçªÅÆ5n¡Ãx>3±œ/s%¡Œv!Œù¬Z*¬bÓ½’ùØŠ ä›Þü;é;ÿîü;?§4‡´ñšU;nœüB!«K“é*ý›µË(”ì݉$uUš E.6zÀ¹žC<«GÆ3r‹èY~V?R"xɊɪ”BLšp;äªÄ¡ Lÿm3ºé‰×¾{¼N[ÊMŠ1½ º:M÷~5àø·Ñ)þ/gÿì¼2¶endstream endobj 216 0 obj << /Filter /FlateDecode /Length 5659 >> stream xœÍ\ß7’~ÜË-p‡Ý=¶Voó7™`_6›ä²»É{€}í{¬X9jÙ3sÁþÙWU$[$›­Ñì¸C€X#‘l²XõÕWÅbÿºèZ¶èð¿ðïÕö¢[Ü\üzÁèÛEøçj»øãåÅï¾i]çØâòÝ…ï–-Œ2­jq¹½høòòhkº¬­Ð­æÚ_^_¼j¾Û¼]®º¶S–Ym›û—ëû¯–+)eÛu¬ùn}»Ä…akÖh+ü$m ŸèG夵͞~þ·ÝrÅmÛ1íšëd€ìQ›!tèl“>æ¿/ÿŒ“æÙ¤ ku&ÝüäוË`%:Ûr¡+¡Z«µ_Þå{XZîŽ7R ÿ)Ó!¸l¹”ìÔSoU]Î ²¹]₵æÍçõ~—Jm›­Ú·“Ò5‡åJu0²åÍ»d’»=ˆß¹Ö9Þ ‡þ°ë«t„~˜&ûa·ý˜<öSòùmãMèouóºY¢ ¾½¼øÛ…×>µØ?UëE³0œƒªÞ+­®ëdó§ ¯'ŸILšBvOÉÌÀÈLD™uL5ßìPãè/%šË¥Eµ"µßbXÃa.éjŸºLidë¤È—ùzgdÂ.úûYh ašþnÆ>ûm )­„4øŠ‰VIǽ† Ùb¼ä:g2Enö^!4I%b…rs>~èo²¡ì¡Ð@+º§H'—Œt›´! Î õÛŽk£©Àön4Œ%NaÀ ,œêh¦Ø›ôéX…ZäÈmZëÖˆh²Ûùq‡CèŸï> ¥sÒÅÞ%=¢´Pî^0¶Ó\ðf¿ëLg›šØÍî~â Å%§§ðÌh7‡õç¥Yv\7ý~ÝRÅñZÓ‰Öp´ÆZ?Çï{?Œä¬oÖý-< FÂ'dâûõ›dosÌØ¥Û>ø!Pc¾h0g[ ¡Q†ykúni9¡Ng ñŸÆt›)ƒ_˜rÍO}º7‡Lî{êzm¸_3`wÏþBZ.¡yNã™p F«X>lŸ ûäñ§qÒñ^/_n KïfMUÙ?‚1#³`¹mÖL†¹Vq5k1´ª ¹¥“éX°ì$d³É,>Ù}Ð…r¨ø&§„ðã¢ËxÖ»‚tebe„cçÌ‚õäl¢ 3_Ê>8,± mY+9÷öñŸå˜A蜋7$Ðöî9NÁãÁói Ó#Èx4Gÿäë\ ,vmç4Áx»Éàx_`Ù Íg˜j ªS¶!× 5]mí„*}mšRͦ?T8‡’95b…Sê‡áøø©Ê¥ÊLºF£òõ z¾/Líéaøàù‚²ã:¥@…ÏbA€",0èC‹h²’`7øÛŠiB€Ó ÜG R‘èýàLQâi—}¦ó±‹–Ͷ_ßú>è×òfýQð!ôG}÷ÞpAN…¾“½[FõˆÓ0¼yôç=1)€ÆH˜§bTã‰bãûT=‡Ì‡Åɪæ°Ã’¨ÑÝÞGUaQéðG :„¾Ð!ó»Ãû ŽÖä»]v™k¤É¶ÄUÅ{Q£BO!ýE/¿Š¤Pç1p ÏE*Ïð1ÜûG5ÜÃIu<‚Ïe!mÙádt¾¨{ŒØÊx âæ­CˆæÅ’‡ÞÕ8èÖ¡?¬Km†9‹¼>ªèú:| Z”«H˜'pÁ<\$„ë\¡Ó™QG$]Œ1:ITæ1Êær›¢¾àu§î; ˜*à]üÖÈK E²ó4\ŸfãÀÄw£ ß݆ ¢dyð¸GÞà„u»"ŠÎ K-U UýµÇ¢dc¢Âƒ¢öûã£3E™h ùÔ¤š`úySdJÅ@ ®éû*êñ Xsâl…ÿ{ŠÄkÔWðÅð…׈ZEšVKv2SƒÝñ燬B3 “ª–¢Wsq”šCÝaÏû7ËÚT+r`ÇUJpQ#bÍîã±_1?6²ÊݧclÑì¯R0e'A u×¼™EóÛDÛ¯RÚ'«K»¤I!84a¹šWV$_î³Ð2{Ø[C£ëd|”Ãç2”mµàEPz(h—H¯²ˆsȬcOmÒÁáoMþlÄ~™Ó¹ušËxÈ,ò&öÙŸ$š‰´m]lV`(MÄulÞ ½À4Â?A¢Ç::`€È>äEº^‡‰ M[Š=AGGp¡t$°/RJfÅQƒŸ¥Á$ñ 9â0î?[K†Fû°Y’ÁEP „ÉuŒ‘¨gðøÈÜ=C¸”r^ŒÃúfl&2ÐØÏgŽÖ¥”bʼn‚î^1´€Fo&½Ñß7û  ÑñÒZrê´ßvGªõõ˜à>º(¸"0›w”wѵÈóø‘8!ÓÍpÂ_gÏóØ0ú ŸÀ! ±0­ªi=oá³i½±·!=¡Ì.ÀCŸ“§\Š«t¯ R‚„óRˆòJQ2-±·ð+ m<9T 4#PÐonòrÕonvÀàß'_nC[6&Á*.<̘ílJáÈnE‡HAùZ¸~ÄTý¼R2Ÿ5Yß¼÷‘¬&dp­˜(Cu´Ïm¿Þ.£Ò¤›ƒKbŠ˜àfíÃJ<ÚÉðz³N>jŸÿ„í…¦}`öcÆ¥ Nð˜’ñÑ‘.&™l(.À0œØIIo©Ë‚4ÜåõfbÀG¹´À…¥%UŽÀpLA6–CøÚz½$‰I<%çk[šÓÏatŸÙ~âÛñ!Fä>< GR[ßþ bg{žFi«‰¢ÌêxT‚‡¿\ ‡l×?†>Ì}Júx¾,à¡ïc<Çr“êc^¥G«œF:ë’°Ð&²Àð7boD¿â hxˆ~‡ÜÇ­-ÏÎFù½™CêB|Êд܈4,2¨·\úÀ)cºLª®°#â=‚àÈ÷U$¢Ýþ&Û”õÿi‘ã×að"ý>ÛŒ6›À|aZwžøÒ!VóÝz?âSeÃÑ2tÔd jrØGëæ9KÁãªÐG? ¯ð0 …æs“³P?W^€ê¬ÇóÂH±Œ i}ItÆ#îªä£I“ ä. ÚøY4?ÏÍ9sš‡IÚú™yf ^.`7[q,ø§³Å®µLG{5Aî|&È2eû†ÌœÓdqF•I:‹† 3 yó©¢ï®Ù±•2Xö‘+^ªÛס?Ïدç³x^ff x8pç9’P Ôo‚Ó9Ò“Œcûe‰GébªXÅDñ™çk`Zù²˜¼*©ßv iǪ¶%G#ÿð”w°¶^é–wþ´U>Ãv8檭JÇ{U€çjß >ÑêyëÄ>ÀGÞa²¨ÞøÄ–²ñûò,@ê f ÇLù º~8~‰çaÛ<(ß„¹Zw2Ö¥þ8S×Iš‚„Ìæ§ùx/¥ ÕHÊ+`0Ê>ÏdN$uŽ]›ÍêÃíd[îÆ³?6›ºÊ•½̎쎈0<òT1K.—JÆ¡HV„i™)_Km¼dxEéŸ Aå±…(aSPòûþDú*¦$„X@ì$¤æ>Ñ€U\r±”~/x˯šÁWÜ.†’¸±ðd¬×Â9`g>±Ï“Sà/€6û·ÀÎòߎŸjçÑ«q&„3Úø™|«e|Ñͺ‚d#¿1ÍÉ +’¡®WXyY‹óÝO,³¼[Šã‹ßÿdl^h‰Ó÷™Iùh;fï'ˆ>ªÑª™ÏÅ{’$€‚ÆgÙ¯ YY)ÅöÂ'W|‚ÙI}V­kpŒ"–<Ìx•0élémê¡TQœCÇÌPxøK>¥2—Ìã 1eA‹tðnîÙë"ÑIy¬S'5Y\N×0KÿPÅ$ã=†y§è¢7{Q7Vã›C“ûºj0½Šj˜£j0Ãþü < 6®ð\ÉÐéìLÞ4äF& £›Ÿ—Çìÿ-O©ÐQç˜oJŽ?™¯Áœ­âdÔ‰Š úùk%¡kdzG¥¡éleÀ4ïSê ‡HSš¨Z³LSññvÉ ˜ïbè[Eþêƒ ð4Áa1S2¥œƒPM<1€ óàè:àh®V©Ž„ÈG Û½jˆêªûŠJk¾:~[~T”o»i˜S…  Õ oˆ:.‘þåsRÒáÁ[ÒðU:úÈ¿mJ.»–Ø.&wȲ›·xBNÙ¬HŽ©¬Uç­vû-ÝìüÑÑ?§¾k<§ˆåÄÏôì«a®pò¤‹¢QT{ö¡¶{‰Qû¿TT,ZꮪғXÐŒ bnñxZB´ÌhÌ“eøÚn¢Lî±…ºæ<è˜õ_¥•ÓH‘c¶ê·Uü× Þ©ø ª¾òª &9 ÓIñÊŸÇP~¶^ âŸ£Î—¬? jûñc ³¡-ÞÎÃTÂiÞ×=34'=p´÷çk"0Xî÷À晹Š6‚a´‹’Lœõo£‹IUÀKqž.°Žéê<¦Ê€×ƒ’yÌ{Võn倦Sàˆs3©.ÀeЬªé×4ÏÏ÷±™’_æ*V„€>.8“@Ï-ø±çœøI ÛáÒñBj˜r‹æD‰l~Î(kÝ\ùØ ©Ò^=r f>ÜãÈV¤˜žR£çÆ û¥Sjj§»³éŸzÞ :¿½òÌâÖe¼é9úØœ’´(áœlô›‹Ã¬I¯Ê„ëd›üˆjBèeö¶ …ÅrÇ+‹›LßÞÒ…Cìýj“‚Ü@œÀ—/ì— 'mð„Sql,@(KE÷Êü¼Dª‡ ka¸<ÀŽÈšòb£:žá¤3ü4ÞîWw™gÞ†)w6Ÿóï#8sb€3,Š%äåŸyUÚÀ”ñSÝá• ùë&~Θ_¼ù!Y÷šUncXMå?ßì©ÿ¢aÎÚçÝœÄw»dSÅû:+áx÷³ØÈÊÒU9æ ¯…ÊñÄ:â¿/¼WtÖÞ‡hçïõXÈ7‹äàRQ=§Ù޼ˋBhªÜÎúÞG¨D“½V`Ž3®ûMª(£î·k,÷ TŒ·….ò œØOŽ…-ÉJá¯{ŽB3ç«:‚_¥.†:£F¦~~îÇ‚¢Ÿ9·Šÿ(ª/s¹ØqünÁÈ>¼ªúÊ~kN”d«ð·Ã ®c4TµéY9½ÃäÅhº^iꦋä{ ù²£žu¿Ý&ÁÿE+5‹F‰¤Õú|Þ‡TY“:³Û0i5 ù 4ˆýþÇ|m].zù’þ9ƒ*ø3+mM 6•@´ㆳýñ ˜ŠZÓ\ x’žÄ6ª~I1æÉÊÒ\¶Ãzÿ¢Ædú–?ºùBJi€~â5•t¯þî ¿:y¶VŽó?•¡Ìwô°U¨TCÁÿ¥ßöÒ÷=Æíô|ºVÏž¥‡Ê’odXâÆXâ,èØø^JÚÓ%õ”“4êú2MT#áZãÄ)GVmœó‘OÊvòÖ*§îkÇÍ “q~ÛˆõÒG[¿LååæKS¨Œß®kCŒîmyˆ·Lk¹)ÜðX}Ð${ÛNÌUéôj\þRƒ›üÏñ­>o§¸/Æ2£Àké}MY¢ëã@ÜÍsºÕ.…¡Èþ®ß¦üqõfü+×Kqò}*#½ Ý\ßÞÌPYÕFšÚøwLˆŽcâ:¼cBØúK&b5ÚÇ‘Ê슋+þ,^ ©€RþÆÇ5ÖrÞ¬éµNNð&…!õx8nÝì—ìP--ÄÌË µj’W!à}Þ™Ä~On󢓇º5è"7ο¼E´xî:n²´ÞÍX£¥³k“õ“D½J.”Ç2šÉ)²âÇwt¯‰B`±þ<–Ç'·ãÆ‚J™›úç» KVÌp ÅtËö©ˆ¿ÖsØNÛñÀçœB±_ê…C X…Ë›œ](†Ú„Üœur°R/ã®e0ãåcen´•ˆF‰x¨ñÈYôñh¨º #áéGÚpö¤ì˜|NÞEYs²/Ê’õÅæk¨-Öç´ÈéCs·¸.ºwÀ¾ƒßÆÔ!ðÖºÅöBÂÇo6?Ï2…¬àiÌ9 »ƒCŠÖXŸmúk­ª£b¬üKIÆÙŒ!·–[<ÀR,$AŸZ PÏAžU¨÷ÿ^)ΩÔ+ª½R0ÙQžˆ\„ hÃ…ùÛÅÿà¦Èîendstream endobj 217 0 obj << /Filter /FlateDecode /Length 2115 >> stream xœ½XKÜÆÎy.¾&@_Ü‹~?”È€#D€Ɉ$€&¨y™ñ<Ö$×^åàßžêÙÍåH {XYÝ]¯ª¾êï—Ó%qñÿö¼ Ëãâûõo—ñßö¼üÃzñÛ;íÞ`K,]®‹°„.™âXS¶ÔRcËår}^¼E¯V†ak-j›ýª"˜HC2h·rÏ\Sâ>mW Ö0«Ñ·«ŠsXÁ)z],hº\hXü÷õŸ@!®s…˜4˜J­w $Wë:¾¤s¡˜©¨¥Ì²â¥œà[Äñª’¶¦è/?‚Â)5—#h¥%&D£W§ý£×K€T¡7þ‡R\YÌ?Í©VQгeÅ8Œðpð:$ GíÝY~2Ôõõ%óÓ.“ªÛ“ãØ*ŽÞTݪ¢ ·°õ{7î§~¢‚‘# pLpÔ«×{sw<7h³Š>+tWs)¢ô[t=D¸qNÉcõøÆ9Â[kºø Þ{ü³ðþ²bœe¸Ó9[Þ¼ÞÒ cP½ &‚ 38GHÔ_ãù`èÝgÝxÞ1l¦˜RL£Üå)õ©ùW.9Ágô.C§æéqIÝ&,:ƒ> “£»Z9ßWTiÌ^V”c)l„\:S ã)B   @G:ä‘‘–Ã:Ôœš>eVxÓ¹eàa€ãõß>5ß‹ÍâÁ‚úT¤Äù8ÇLË„„CvÆCºÜmÛܹ}sÍ¿mVxšÁ ¢Ð—ƒþ€–ägœnjVtb9Cç{ÿÊDÂÐËÊI˜ës–£œRèG?Â%Ê^>dÂÝðžB¨ûæ×O Š8hêSÔÀ˜¿î½ fÄ GCz_Î,¨õ€Ø]#V8ÅÔ&¨°àåS]fIÈé²ÇÕLá²u¹Ï…ÓNutš¥ZyS Œpˆ!¡&¤±¯¸u1!¢Ô>î ^¡„Ä%Ó4ªCYP°s¬=÷–P!0¥Pí(VÌØ`ÈKÐ,)zÒ ]ÅäÖe¹ŽX|?‡Bƒµ&œ&¾pùg¼äì–TA>[·|œßRIcS|D&»øÇ(ñÉÜ&•…F#ù4€»ÙÏ`7•ð ÎvÉó¹{d.y(™?Ia¥”)ÝaÈmwüâ£îH›¨%@B“Ð60sÝp UÒïåäØœYS)ai•KÞ %ìƒ1`–a×ì+H7îÞ9Wù JéœS@Ú ð“9Ÿh á1Ñûè—³úQì,_Ï©gÁD§UÙ 2·ÅÊj– ð»¹}¼¶fèÉʵdc÷’]LrÈêû‚y]Û°ÀUÖèV†'Lµ×wy…ËäÝ(lÓÍg" œ«D<~5j8€*WÚ§¢ó°Ñ¾¶ä‚/nFeˆí­C¡–‡ÞÀ* •-,q>ãÊô|¶³!ƒê*Ÿùð å;85fÍŸ4x_]dè‡ã‚СcóMQ•ETë›D锳f¡Ð«æ˜÷Ê6'FÎø?®ß,ÂP!—íía¢´? ’P¬!þ ¢f!Û`˜áÛþ÷ûi×Róí°ÛÎ7gßkÖ"–‰¿ú¡ÅX9xT0TÐ.Ïc}BI”³‚>úÊñðœÔ7)—lFÄî>èt'rö@%D k 6bênSð¨LªÑoK†SpÛã˜ðŽ©¸1ÂhIG/вF\Ïç*4KJ )ñi©mEÔ>Ï ”7Tºû&/OŸ€7ïÚº}¿AŸ`Ô:7ŸBQódÂ5SëÖ¯ëß”kvÀ³`Á×n÷Ç$>•9Óñù÷ÕøOÙ ÷—øâþ“{ Üû1=r×RÓãWôø¶Y=_í<ÙK;¼?xµ’ PÜïÆO™»­÷,Y #™szYŸNÏWŸM]4˜v¸¶ç‡SÒ†•£}ƒÙpÖO£:ÿo³ÁbÍ_žº~ߎb@M÷]$•:pbW2bK¥›+-ÔëÀ¡s)ï/çxl°ÖøÉãÛëå‡}{Ü_¶û¤1Cõ!éà™UòRok7Ã$ŒO®ÆÀ¸Sfšˆ±cj,(‰Ã]«SŠ¢´´](.èäꇔE×ïÆö]÷Eú–7 ¾-LjL×7ça¨Y;è'P˜®ƒI«n볿UŒj;Ö»Qõ±?Àë§ "¨Á¦Uä>D©$ºÞlCñ¶€ªqÞ‘.î©™½¾¿Ÿ/=¾à(;W?î½…Önùö,}‹óýõ²¿ô#j2ì҈ݧ+ ˜‹Çðeù%lƒ}ûªü§ ¹Ûëþ€7è« œ¾Ýß÷ŽÁÉ8ÿ‚õŒ¥„6c´²üRÈSŒ¤Š2be†iøž2¥´DàO ^LÆX×Ï€9eæ -`:eì6´…¹í ±þÙÝÏn»§Y dc XŒAü^Ô†E‚ ¬©–@Þ> ”æNoÆJ‚|nÆ-¿CŒÐú? C~;äù¼!¾|ŒeÌ2Èíë¥,£XÈ2PËg™¶¾[0w1jB•YO §;L•‚ çp»1©qWðéÇjQ7*î (O!Ͻ ª#)^Dý/%ÅÛ%·¹K½Á,9™‰®]úäJö5­‘Oi8hE´@}û0ã.ÍÐ+`Žõéá–jžÚ—‰ŽDÌß¶×®«ú8Š…¨æ;Ÿ|·Š‚ÓâÎ穆¾FO-÷Ó »b6þ¦t¸wëáehrW= œåFû|Š8h„vÔ„4()ÀùL6ê¥/. šÃ}W©ÌÈâU±ùÀv‹I·¯o_ï¢ê~£²ùå›Å¿:6¨Qendstream endobj 218 0 obj << /Filter /FlateDecode /Length 4666 >> stream xœ[MsÜF’½ó4{˜Óx"±‡Ao¨!ÔwÁ7I¶ãæC¢×k#&[-¬º šâö—ïa2³ @%€nÒ:¨Ù@eeU½Ì|™•ýË"—þ‹ÿ_/ŠËýÅ?.}{ÿ»>^¾¼ºxþN9ø&/‹R\^}¼CÄ¥—θ¼Tæòêx‘ »¹úxÙìe-óÂKpusñSöú°Ûl‹¼0^xë³/oë/_o¶Zë¼(Döº¾ÝàCåDQfuï*´ÏàÅþŽšR{ŸµôL…gÍf+}^[f7‰6Õ¡‹ Ÿ¥Óü×Õ÷¨´dJ;‘Û¢ Jgﺔº:WÚJ|e+¼È’—[eromXžÉ7[S€l‘½¿;«ö&u´ÌªÛ›ø¹°Ys×@iS–ÚdÍgÒTÃV â[¾Jä¥)/·RáŠd˜îê­C{YÒju!àÏì—dÚ:jQ–yéU¶oª½˜5ñÿÏo:–Rt:–( ”­»øYh˜()]ö¥gû›ž À×…Á?§'z¨7øÀÃð~#-¬Þêìaãñø•ÏžÁD²€ÇŸÒq]TµtÙ±ú¼‘×¢ùï”|ð¸/|cªk£áãçj?¼rê“£},³›éë¦3#,«tžhu˜¿n»ÚÍðºÝ „Êá|ýåÕ›‹«ÿø)k‚x-@ê8;”c½†­Ý*øXy•—V²Óa£îã;ðþq4±É\ªìˆ&†»GzÆÄþ¥Åð¹òÚ$7œ,}œ¥:¢qx óY4V˜¹Ð@±¶`U î›(L(šdz5=”œ|òhP|ÇYxÀ#+­ä* “ÕG&™Í¹v:ZجgNnŸìÔÆÓÇ#ï~ [¯Åx§­ÊØ2êêPÿojÃÌ ÑõŸ—Ò¯Ÿ²)é4ÆSŸtÞ‘â@à¡þ¼<ï\wpªš9U®«ôC$82õ©J]¿Ys‚àhMáFS¸´qàáÖȼDPÞû€Ï¥rÙwS «+æÏÀ1) ®[¸ÑUF0W©lA"»ôM*ò0à$¢ƒ8É£…”ÙÏá ¬Xl+ÁÉ^nÑ5˜°Ýné %·à‚ÐÓJÀ4ºH ¬ ѧ_§Hi"¢CLáaaÑ­DÁƒXËpÃ5?ᤥ-{ù€C|ˆ4Q&œ"7õöcú£ýÚBKÍc9Z-¶ÌÞý©Ô’ *Üú!"õõ"Œ:r°°2—íO>®ôh’ñlÙÓ›¨*¸µC½”‡Tm|üC´Nˆ|g¬óÙfðÙ"$D¨²Ì€„Ìî#9ÂÖÏH H2a¸hãK"x`”3Óªë†ô£03N”–dׇjáþêIŒósŸRuÝ0ÜÍÜÀ~溺¹ïZõÔÎC„¶¹±…"ô]<ͰˆHˆô3cúR3e‰•Ñ‹"ë¸EFÿ/KBöŽ|5™šÇó³ãÚ€®9NQøi€bßáÆ@Ôg¸Ý|•H¸&<„¶Õà1‚áÎlº‹+†'ŒìT®Vlp»êy6B;‡Aè‰ç6l´;ýN_Õ‡D½”íµÍ1.ñ¾$9ÁpW¨[êWÛf›s\02„ÕÇüàš'c "mÈlÐ gw®]@é1ïà'ZÝÆÈÊn#Ѩðdâ–{œÄKÈŽ`|¤SI‚< óÕôm?¬TÁ9›nü1Ãò…¾É‹'NA·ÌQø©U‚ƒÏ€Ô@ðL –à ôcrf\ÈNî`U”NŽá4±p£ø}álömòõÛ(QÀ>ì›¶fpB˜9Kh§üÇÁ¥‡ÁœæÌ™„M„œBÎ*D^ïB€ž3tRÅI¶1M w ï!š)Egõ1j ÙÖ2…£µúq9ì…ª#!Ò­r,ÚØR,QK´\dõ £cŽ™£w”„d4EÂT¢×I`‹{3Â6ˆaKoÛG`+CÚ¹ [|á‰Ù²T‰‰ g˜aâÖ³¯o£†úÉD0œÏîhMËŒ¿£g.eopö3AÓöžt³O™ ·ºfìé0Zò,Þߥ$·i‚]X|d3£ãXb=Yp­RV¨Vë[‹`Á/¿nÀ¤ûy^ªú‰Œ(? L×3cúI@àÄ®ªP q%œ<ØaU'±\Ãv,á°S”´&và5¦Ã×ÊÇAuœÈ¡¯ÕqVüü>[DºÁm»² PxˆÃ! ¹œø\Ó~^DFz)£}/‚¬¹Š!Ž÷I°9ðT£¯[YdŒŽ× ëj›8N°p„SX+¦Û!RÙIìÇšÙç.ˆO^µpÚ;óTÆ9­…˜6×ÜóòDŸœ©ú0+I MåHcYæÐu±’YPmå,¾‘“Ã1p|WÌ=BεÊ (Ö–å8ëM}5;$²Ž$¡^è”VŽ· _µLD鉞‡Ž›.¼†ðzÄÙ‘0¿îabDéG-1V9*kd0¥àÿ™Ñbj,!G«açà`”ÉxTÄZ[xq°MªY¨e]3l®¬ËPÈÄC²p„”±4 À ç_¯Ö©lA,VaÏÏÔ)‰–"õȬ” „%.^aê[WãY‡‚ró’ü ü¬—Õ^E0Z&ƒhÍ4ìü·‰Ø·“Ø5†dÚÌ‹ÍOË’ É~ˆÂ¾.ŠÆqÒôûªãÖ<¼ægõ¾&†p÷1Ù3MZ^µ<ÉÜg ZÉ\^¤¶Ø¬ã)bƒ· Œ‰\oã¥÷³’bJa-ÆLÃ|jH'Äd.t¤–®=²Q’=—$ñĨ¯Y6ŒóÙ“{ê4…BúlÜe(H! H훞Һ.®Êj&³˜JœBK^ã´¹ФYý·C®#\?ñZh™k©âk2|åÛ«‹¿_„K=sÙþÖË<íE®¬¾4ö=]èý”ýÀ’±ê¤M¦µÐMŠØŽ¡K“qX¸±Š æÜýÀÝÌ»S]×d¼Mú[W(ŒË•³—¦P¹*DXâ‡M˜i[GÌÈßüàBT7À’>Em $²ôs…W¡å'Tm†õ®•Ï&¢KÒËŒœvkÆÏ¾0ëjBŸxåÉÙyp:LŽ5Pq›Õ‰ÊsÖá)Feø ‹Ô‚4?qÝ Ç‹*`p©@‡š“ѼðÎ':·3*g|„z-„]ft xþ”骎t?^H:ˆË·­—…ÔœÝÜDº ´%:593’äÚhß²€tI7q´öi´‡€—ÊâAïÖ´…›¿žõÁC2÷ÁëªÌ‹Ò¤—™}î®wIÇh_\vºXt˜ÐÝ´ë3VI˘‡ñ©Räœý…lµ·A¯3Ùä æõ’"•þx›âkAvk†¢.È@BPq’ ßKªdºÄ¼N“ÞDZeúeq°Ÿ‘å?,èꜸr$˳ÿºë[vŸÂy…† µäàQÃÑÔb]³vXÙTÂR†ç¬ûœ9Ú´isÊs0¼c&¹N‰̸Š&û9#l´îº1g-hiŠ>¹§HJ¤-åà®@l‡$VYž qô /×jáªã_uHÁµ±¢M=¿·‹³¬{|$Ä}…Í@Öü Nù®§@C}±óåfjë{`½Þî%²n—‡AÎùKK†Òj-]Ô”£,¬¾‡]Ý=!9˜Uz“ëŒnX• s‡¼tYõ„wøµÈ~¹ôܤ™ž“áH/g ]E!\c¹ÕëGÂ1.nVÝ››^éŸÀZ5»ÙWÒ䪴³v)NÂD.ÔØvž}‡s0™Îu.㾂¹ßcZ6ÒYP¶9ø5vEž"d4 55wŒiÿZï‚6Z ½ Á!…ùµg¹Q{\í\Ð.wÚ tˆöV=‹ÍrlHôœòn˜fw8°Â4Øâj_òY77öŸ§¤ÃŒ‹`ž>¦ßjÀ° ^!ƉœÛŠÕ™”ÉE©†‰þ˜ÕŒU«Â}®ÍÐ(˜IØ#¹¾ .¨ì¬è{r“4°×Qw)·ö âÏ\Tׇ]»:Ý69é# h>u.øiÀÖ©œCŸ`6Ú å rikZ“k[N‡%Á™ž\°)FXŒµT³¬Ë£u1œÕ#++ì ú$]‡xˆà ÜyD˜Ñ¹ìÛ´>¹*Xæ^û§i?LßA$éôj*.r3NÄåë£Väº41Nz£Ú+R`˜€5ìõÀïÓvÐì¶Ù@\‡ôï°»Ùw·09Ñ#1RyQçWZF1d¯|UZs)³§È˜óÚ],U$ñÉ%i(ø¢_¿üwH—Öªz²ÿŽ{h‡NˆY0ªg!–ïE³?§šrzl‘á2]:~òX)£×°¡cÆFé{Z»©MíLía~[DZÍ®=fßy%5¡DG~“>hèýRCl½ef½¢‹RùTy—Ô3(Î@ôh®u•ýéÃë2ˆ~Été·ãmhÏ®Â1£)e4ßµÿÏðhNƒÑÚU!‰ÏŸ WìúgQEA¡fY¹'¡³õzÏΔ2RÑ=FÑM'ôo˹2nqìaCæm¥<…M^Št:¹òØJR:¾á ß‹z… ý¬¨\©Bâ;F®µ8+o-Î'òR.û =2tóùn¼RM#ëµ¼#â~3ÉD0:XTAÂïÞV_ê€n!MZÁ?Ò¸ìMýy,̈kňé,öõL9ç°cY1™ÚnI) Þ>I†Îõ’S·î‡spú+ûµ®†ê·äj`84vÑÄú9·/Í~Þ?o„òtÛôo«7¯n*9|ßܵ¡dj¨Á þN%ÜQÃ2ÔB‘8ÿæaÇ÷«žÔ¼dD6=0Ùûà@Îu½ëžE¹pd/× ±(Àñ u«˜$köûN›[ëÄPWQåjñOÂ~MöL&¿‡]‰V'µˆÁôš=¼O}k]*„ž£"ûñ=·J‰m0àWmÈFJÊ0|>c$BÛ“Ÿ³/h[~÷"E”Ç[OŽri=]ýÒ-åq{™´#yËq:šXå`öÇÓM׸öÙϪ¸‡º§â>½ >åÍÊPÆôsÿï˜gÚÏʳÛA4…’V³n VæßNX‚‰–à²WÓïKg̨þê:©bæ½Ê~xykõK\f Ö)À9Ì` Áë÷(ÔÔªð÷‹ÐOÁçendstream endobj 219 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4794 >> stream xœ•X Xg¶­¦é®rC¥l–«÷—5‰Ñ¸àJDQ1qëFE‘MAqa“­ûvƒìÊ&›„¥(·<$š˜‰Æ%‰:3™33Î$$NbôþÌËû 01™¼y󾾦»ªþ¿Î=çÜs[Å8:0*•jà2ß•aÆðÉS&ÌÝ¢¼5JöPÉÏ;ÈCÕ@6<ïÕé§þjèïxây×UÎøÇÁ¸ .ĨUª€­áó"vÆFoÛ¾[?ÅÛ{ê„ ôïL}`¬~îDýãæˆ˜¨`½1|‹~ÉD߉úW#bè›ÁúÑáúÀ­Û¡Aúˆ ýª­kõ«ý¬ô×/\¹|µŸÿ˜‰?ßÕÿ1 3ñ•ðˆy;DúD-ܽØcܸ,v³ï–­A~Û¶¯ öYðü„‰“§Lö›†Æ,gü˜Ì f$ãÏŒbV1£™ÕÌf,À¬eæ2¯1ó˜ ÌëÌ|f"³€ña2“™EÌbf*³„™Æ,c~Ëø2¯23˜0ƉÈ83<3„Ñ1.Œ‡ª3‰bÈ82IÌCÕ«ª[+N©‡ªc½§qÕÄhZ´:m3;ƒ}—›ËÅõqè³­Ï÷îû Ÿ_¿†þ‡8 ¨qbœš ¼7Hôîà ƒ¿üƒó0gƒóM>‘ÿýÜ!7t hwúA½ÂÌ€„Þ’¼1FÕÙæ"gI^§Sr‰ùP¸G‚959–X»»%ïsDzdzDkг½ 5P 7¡ÂÌIl4l…ˆüŒ\°Ù2ÛÑÅ Ë´—‰·f‚A[oë€&¨‡o¡ÊÌ‘«˜ª#´Ø[4NºtµtRŠ´;£U¸U®|®Üá"ù`ûeà›Äažïö9Á‚´üßȬƒû^6lÉ>¶Âö¼Až=ø`0ËßDæOíWN”EÍHõ/OqúÁaJ“Ò(?gWÕa,Àþj¹#tè1é2™LŸ6œ¸×ûp2NÿütHÿ<Ý ÑÀ>wΕ6 åͧK$xwGݰŽÞZ=>‰—0$£L#©ÞCOÙÚªîLÄ=ºâëþÄDH°Id<ÑL†%0µÄÿòö¦ €|]xóìÅ+·äƒÛ€Œµd¾-) €«[¥ˆáldD sæùŸ[Tù ¸“ƒd"ñ"A$Ç1hFdÑ ûŠR²FB/»ÌIÎ)¦YØß•$ŠQ:&Þ#~kcB6 çY¾ƒ¼ò#ž]9¿‚ç*¶*úTä»ÀáÐÇŸâH‘ôw!^óÖ.5Êφ ˜ÍòCÎh/:éñþ%?â&Rx?SØÔ*a‘äŒ#Ð g¶âØÖ„VWþIç¬Ðµ&2&h™ ñÆÖKÚ¯òg‹­XkÔÎI4Žü°½µ| Nû’B¢ãZµá˜¨éúÞð¨ë¾§¡S£uúAu%AYDVXóðáwȹòzy¶ÌêÚÞX÷R°ñ¥‹ZËß 3~I—Ûôájਤ7 —°üh{6NÅ>„ä½ËÚ÷VUÙ‹[ú('(«Ô(?ªîG™ÚŠzZÏQ²Ÿ®{O÷zö¤­±¡Nú›Ý$âŽ5دr6Ííy¨¹7Va ×âT¨š{„  TQkgRìø\-­}¿VÕt÷]WËcPÔÁ¹]ö˜’À†à¬ÕyKó—çÃ9îý{P†ê¬‘6Á—£p¢ 2*Ä?³¥½?Å Iû…´ô„äÔôˆ¢ ¬mÀ…‘±@\†á èºT±:Õž’ ÍIÍ‘`ä^öÓÚeEBÊQ‹u/p&Hß-–ÝÉ…Ù6(:*+=½ý-(÷ 8¸ÝiIÕ»ç(´^'ÉÎ’3å4CO@7W^{ueÖC?››=½X0AÄæÈ˜¸ÐD#¬„ÑG|on9õ;Àþð]ñ§Û•äü÷ÿͯ}\ØÞ"6„¼•\ä‰h`)œ­Ý¢f%ôqþUÆV@×!÷ÅAºvc»8,‘ë Z'y:HråÔptSË®.q”;ÐQb·™G‘£`›3 cWq4°¶ÐJÐØm`+Ú™"“¥AÎÑGXâöˆåF+ÿº—CFVv zá·ìâŒìw”Ý9 ûŒ*ggµ<Ôî\C«¨Ôæ´ÜT®+K‚Â2+A‡¡ìý¹ïOÒ7uº±>¶º¶¦¬©4¹do¾`Ï­„Rà®·l)nfÉ2uQ{#são¶ž:*òkƒÀð¡M[–å" À>º ÓcC^´Ÿù+2u_zj@­á ­ÁMiKf¡9tÏ?œ›ó)¸Kì$s8 Âæn`KËhMR“ÌfqÚ˜Ñ8@Óú†0XMÏà ²èMVÒ¶3*þ@rò  ×üÍVC þ†™ÞiéP6€-;G|€TÑ ­´]£>V íô®›¯2×¶ÃŽ«Û¨b¾â÷ú¿:á 2Tà?ñƒõ{C8<Ç>kùÿhe‹K‹K‹Ž¶­¹ÐL]^xt½¨Ë[u°VF…®[Ÿ !èÜrN±û玟/iõÀA@øÅŠßW~Íô²™:¤º“ë¶ødŸ}ØEÀé)±Ý%-ñ7ÑB8äQW‡§A~‡íA‘¬·ËïKªrT©{élN{Jg8qéé)–t…·È¬UèEÑ‹ töë¦ó}»¼Rã„§Æ»›6†ø,€4ˆ‡„,›µ¶š8{TYXh”)xý)ã»wÞºuꨀÁ²1ëHfÎpw’Ó©m¸6ªšhXˆ}ÕòvZî‚HÜg±Ä§ É{v.šDõ»ñ§/YÑ]³/™SÁb6[Äôô¸ýÉöV•5>{‡°Y«‰ÏXòü—“pN®C.›ÒÅqܰ§ :+?¤ë<És‘<åŽG fMI&’ÜuÜ$ËÇ“(MÔù‚)R×´m±ìJ‹5ÇXbÛmÐVØþØÝ ?înлÙ`†¨ŒðL‹Ê9ù‚•Ū®Ç‡²‹Á½²òåcm§ƒ›U][m{ ôxÕ½´Ù)É})m§S ÈRÄ´DþóF'³¼ô aÈF6ºtS…dØÈ©DO†ó[t¿p¶Ô~R `ù9ùêWkã¶yA€üU–ʛĺ‹—²* NÅÚ7) V-§fþ5ø²ÝY a#ïÃ}Wþr4žp?¤ì³¤Ç¥»–,6­£ yYÐ㢈oiiÈ‚ªÚäÛΊÆVÿÃ+”ñ[/âLôßyã8wúQ±8 Ýu$Ikk±ž,k,­?^.ÁcÈ¥„~M麽²Å(» 5ï!§–_ÿ©kÙÖ:ß›¨·NðzÅp‹<ù•¬ðµé÷ûðj‘=ßf1g û“ö‚‰Û\{¬¼±ð-´šé&…MØÞ-Ï¢§ºsœ¨Cfügd¦Ð5¾G43<†Fz<†z{O,Ä—Y|ñoŸ}'O—Å0Lˆˆí(jqÌ\(ö$W²¡§Ü¿]{ë#œëî¬|„seÝqå9Fn•Gè*cë†@S¬Ià™ÊÀ-¹k=ˆ°êå¡y­ÁâÞ=±Û©“*‚Êöqü× Q)¾»W>ç÷þ"\†/Ü}ëö_VÔDë*—ÂTˆ„Mj5dÇ7Q·Ì±æ>·ë"*qá´…7Æç‰5E•™Å¶ôT:Äq¦#{Ž;RZ&­cuÀgšÀç0ÓàÆ™3pãóÏÁgƒHÚ@Ýöí+ˆ›ÀÏO nÛ.6]¹ …"jµ7?ˆ {¦"éz/#ê½_þl ùúü0%á}­ý9»ÞùÕàßê…z&Þn’ð„»+O'ÏjôtåK;_W|0#n%9Î"¤¾jŠ€¥|íàý”öä[„±£G£ý#x‹{0ì.ñº4†GZ~»R^¶†JM)ï÷½å=ýØf¨/ßULç§Eôl æø¶íçïXÊ=¾-øâˆHê剺U–iäEôÁFì§Åé3ýhéU3z¯¡íÏ8™z4áºòUXï"ùÊãXþmò²‚Ã¥g’î :š½Wöòn¯ÉßëZ‚ë¶†ìØØÚÔRo?©šëfKÐŒ>ͪ÷¾@¿/Z¿PË—p½þîûQU‘¡un£ËÓ?‚#\›ýRGÇçë‰k™aKio E¿îšœnIL ¯G–½vr,u¯á³'Õ¢ÆõGˆçÞHy¸ûAt¹Üt8®&ÖrÓKÄq*kqäAÁR1O£¨_OµZsó„üüÜÃUUïl¸§ ÞW=Ÿ¶ÞÀ6$áb%•”žçÊçËQ×Ú1`=‘–‘p„¼ˆ¡nèümA^~î ¥)ï2Ç@ìح䘂Êôƒi)i´1“%d¤F6°¼å—tâçØ*(|Y5Üè¥ÔslQAááò@¼Ýø9Ù!žãchüè¾¢òªrEBÖnŽòh€–åž);£î¼ÖéJ[Ýnó,ÚÉ"`V÷†*Øj°AezMšÕÑ\×`– ¹‚ô%óÒð¹wyÆ#%Šé©€·ž¶RŽ:Éd–мä€Ð÷.y åVë±ÌÛQk‰˜z¸C›¢( EꞤbêY:ý‹z>¤¬©†{ÅQÛM»jûŽg&ôM=¿®üõ'^=¢¼¿åaßg —Â8ð5­ãºGöSÿÁÈ~UŸœ¿|¢Òµì¨Û²eGh` =ôäI{]÷<¥›=Ò•@ZŽ¡óÊPù¶Æ !Â+K‰Zù:h¡T{Ú³šs]åD4°¸Æ¦é½ûâto“TÑýpˆZ¶a ‰é¦d¿ý‰“gÁ~ÚÉ'i©8ú¡úÓëmð•;öÕH܈fìÒñk¤ýuegZCËB3…æ3í™eÀÝ?5gÞ¬5ó " #1‰I4źï•g°=kÆ7ŸDßÅ!­Î´S‰8BÏ“è@_Qk' r>.ÔÁ›‘_’IÕ©þÝ{ð1w{Þe"Ç™~/¼vrß±šã¥g*Ög ­-×! ¸{à–¶!$Pܼ˼Õo‰±¤™SÒ!Ò¸½YpT8§EG¾n#xÆ´8£a(åÖA-×^(ðÉsŒááÆIVã@œùñ_ˆOá¥ÉBùòM™er• \í"Em‡4V~…­²dFÆša¼@:º–k x‚A¥4˜oh{i€o”,GÇãõ:ZüPó‚qð²fœÕ¼ÃþÔ ³?ŒqFæ F(“»s­Á:Íøœ ݼî`ˆAÀ1,ïÈl¨†B^ÍTÂÛp­¥®ôüi:M‚‚xjr©‰µ}߆×ü=VºüõÅɶt[:pñ¸W$§¨u'ͳYór„‚#§>£e‚ /̓ád`в#o‹¼ži?Ü\.òíLã®ê °±ë§}<û ¼~N츇ƒÄI‰Þ?Sæþ•™¤ÝñWØÚkXO¤ÍoÞÄÃ~T]·ð*ž¸?£¼å ÿ«ôø„^í%<ß‹ËâBW‹ÆS+€Æp¢!cÿ%nùÿ*´k[§‡.,i¿‰Ž…¦œ=¥ Ü$ü€½w»áOÅõæØjÁ)¾@öËÅMGó ´R_Tõú:®Šèß§&Ú‘aµYs²óo÷ïÏ0ÿC&Zîendstream endobj 220 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 8352 >> stream xœ­YXçÖžeag,±°®,jf‰½Ç^’E½‚Ø Ez¯KY¶œÝ¥÷ºtD°÷[LÔcIŒ&S,‰‰ù?î½ÿ7 ïɽÿýÿž‡ÝÙ™ï¼çœ÷¼ïYeiA‰D"ë%Kü}ýÆãàæêã$¼:”ï/âXðoŠ]±ñ¹ª-Á º‹¡»eÀQ×­ùÕ½ÑΞhe/J,­ñ œã´ÝÃ3Än¸qÇŒ!§Û¹DÚÍk·ÈÙÕÛ?<Ø{»³ß6»Ec—޵[æN^Ün7ÜßÏÎÅÍÓÙÇÝÎßÝn•ÛZ;'Çíæ;,wZá8bìÎõòŠ¢VÛû­í¿nNÀú¹Í ž² taØ¢pçÅ.K"]—Fm[æ¶Ü}…‡§ÃvG¯UÞN>«}׌ho5`ô›cdcßÞ:n|ß 'Mî=eê´éƒÞywóŒ ë5¼?KQ©åÔtjµ‚z‡L­¤Þ¥†PÔPÊ‘F­¢†SNÔj55’ZC¢ÖR³©ÑÔ:j5†ZOÍ¥ÆR¨¨·©yÔ8j>5žZ@-¤&R‹¨IÔbj2µ„šB-¥¦R˨iTWê.uêNùRoP~TÊŸêIõ¢ì©Þ”5¥¥¤TJFõ¥Â)JNÙRý(Kª?5€Š¥X*‹b¨íTQWQ7j I y+’z&ª·xÏ¢X(S†C%ÈÝ´êñ‹QF 8ÞŠSš¬‘ÅeävÙFZÃ×öåè5º r¤áp> 1…^%+a6lÜê¿”ù•–^Æo)­|è+I블ެ„ä)Èʈ,…-PÂ~ZBKk~¹zêâ…l'Ǽr••9à6'*os·yõå"È#ÃRÃ8ì>•£7Ñ&Sí®ÚV½-Gc±Æ6€«ÑÖ‡Þ£3…BÄkµIJ,Á3äX†œ´Æä H±…Sá^=ÃÑžšÙฯQîSLŸ„â¤b´sr< 'Ç„ûn äNHll„“Р!Oؤª‚"È4¦¤g£È]Ž&àDƒÚ¨-Ä…Fm°®7^$ v" ¡K&ÔÄY#Åtæáì'6Òým ´X_O¿ŽÅ9‹/_„Ϙ¯ßþ÷eÛ-|Ê%7 JE{9í¡U¾Ïûð$Òd{¿õ{î…¾’-^?‹Y<é$u†ôƒ,ê%‘ÞxX?eµ¢ß‘Í]3}0‹{K6jÓ먭 ¥–[Æ.Pôà5Ê ~œIT}í¼#潑— õö ¿{Ä"ÜË~…º 7~z„¤ì´ x€Sè–ÐÍ[üÖÁVØRp hœƒh‚åûª,Ýû`ohåÖÊ­°ܘ—‰B_Ý·…µÙÉ8ÚGëª L€é悈p¥*V­Ràé¸/D‡’²À©¶¥)ûYŽö ÉØÖ‘Œ"úÈP"wüƒ¯y…¤Áx•<¾ ®’l0\ý¾&«Iœhä„>n<÷aJ-ØÔ¯N£B¹¶1œèÔS>`§¸m Š‘eAz¬Tñ:6²›ŽEÀ,Ãkw¡£èZ³ëµŽÃCK†ÐäSÆRЧ !]©VC\"»ÎÞ½aí‘Q`‹—ãÉx"ÞŠ]Ñ<-CS!b-‚Wsh´‰·åb*¬Ÿ]Fwl¤½ø"ä#CÒ‘±å ç-¡áì%Zúšâjºj‹¢Ýóe¹[‘ÕïMñI§F·8} êöË#$SLë‹ßø`ª½«[IsS z(aP0-ís´æpÍÑþ×ÎMÄVÂI\P°‹ÿ;A€×‹ùÓ¨D$IÄŠˆ1x)éìi^Î?OÏ&O·-PA8Û¾J¢Ä¡V’tdµó 4è¶ ¼#ýCƒcc¼63{Y+¢Q·+w>»Ý2iµ]Àsè,wCSIZÑú 4ªÂX!n³CÙÇ <6d6žEp´íì²’ûôÃlï)Š T$™¬ôÉŽGIÍ)“ 1Pµª+˜ ‰? µj?ûŸÒ—ø|F©¹— ûìÒ³{6R;žâ{Ëj}j¶ÎöX°5†E›*^Ǧã8{E…ÑöÚìKK‡?niý<Ý:«Ñ…ÇA ã_ºÃTT‘SË’@õg…@rè᦭®­·Zƒ*Р i#ÿ¿Af>ì?V"ÕëoBSÿføÖ܆^´Ôa4äÖ+îýcÖ ¦Æ{b'£4‰tDÝ%h$T8`–¤U¤ ¤”&C1ÿV±uÝ!är(ätjG}dpÜwg\ŽWí¶ ç Çì¹p†©¯l¾‡,RÇûX}B60¹Z¬øÉÜ ÉZˆ‹e5êøµÆ­ÚvÔôp[àèYà_ª¨ ¬V}ÃH¯™Ô_FÏé·ÖÓuÆTÓw#XM®.%˜XHŠT`9IÙ©z}q1k0€¡¨xŸó~])éúÀÇŸ’º÷:HHÅpü3¯Li·£dR…¸:SÀƒ Zú¾Qé®XLcK,Mð_„××› f]ÝÙß¾‡•°Á/ÞµN'†“^†§à Ø;£Ix"r¸v»òÃ]ŠÜÐ=®ÙÀdBF¾ͦ›RR?"9%}C)+лá(‘CK­¹L2Ødð9º‹zÉN­¢í}ÝÜÀ·…,âÐ &í¤ ‰nº¯Ý5JK¹»¸F‚{~×pµúêE¶C^œçЮŽâ?FâÜÚ— ¦ßªŠ/§ Ù7ØrN⩱'£Ó f§‘ñ)§ÍU‚cñ1û××üN ’zãgdPî†ëPOê¨ó(Ãù¯¿¦ƒd•&%wˆC{9Ÿ–—Zd‘Y‹|˜~X-Ý‹‡ýÞ&óèIæÏžª>xŒ•vGwiisÇ»7A3AGÒ3`}j_õùvàÅ h£{}¹@ú=MgôÆì[l¥Ù{$®mðž9²Jú–±32ò=6P8õ-ræ&¸ÕyjBbYaüÛœ¨˜ó©ü`R8!Z?]LFc£.;" A«V+‡à 9¶Dµª\H°­l‚"2±H®z_$ E•ëƒc$O‹1$ç¹23% Ù ›ò̲½—ôÂ#EßP¡&@–NÈ2ÔćqÖÍÈr1²ü‰Ë:ÞÍ<±Lã Á”nýb=íé·×9®f¥U0<Î0ÒÁÇrvV6ø—ø+¤sC·ÇlQHÁþêòÖŸ¯]¹žÍê3ÈßÅð+èæ<¸ÀvÌ^¨ˆËçDEmöâ6Gs¨¡$ÔP+„Ú 3E‚¨@›;gʇ£ZuŽNUMPB"¤ñ¿Ž@¡@››ªÊöM˜Œ“å£QIrybÊ‹k *c «ÓG G“ã¬ñoòÔc¢€ˆ!-5ï'Ô ÿ7¦(…—lsÁ( Ô}!/:ÂåÖ”ˆ&2Eq¨àþ!“uí äzùižX>¼Uv*È‘^¤Rz©÷§²h# -ÐäѸ­i]Á`¦Ï۸з$ª²º¨¤2'¹n“^QU8»˜Ã§·MP¸Ók5h–øÎÚ´¶0Rå;ƒ.\:°ç`1+íšRå|°é¹¼/øÝ£2©~ôœí›×»Ô9ÙrMO#Š»œ}¥üÚBHY;AXŠï>¾“£È>#ãøÑ/½¨ñ†¢Ó`;©B"yÓB ¢ãã“ð%|LŽ®þ[qdâÒ´„ÌXˆ³õÝFÔ‚ p¯t*ÜžÂaÍ8ë^o#Õð¹äÈÒNi©Áý½|çî݇Ë+¹†æüƒ‚êÔúêÁVbõäØR»RmFlt?rðØdÕÒò?%Â0Íòó3KôŒ4—dšÒ„ÁF}€PW@¯;¸ü1–É7.íF‡ +WhÀܩÒÀé+áœ<V¨1)7¿˜jêÎ}úù0y†27šT]BÂŽ#Õ™I« I·Skû‚Uε MȽ…Œß…wh·ƒÚmÄc,™±ucd4‹®ÐÒÍL-íßUÐ çóCZÖ}¶/4š^îÚå~›Ã|ܼœ€‘ºoòàF"׌PÄ ŠAŸ]ÐtêdF9쇆Àr·J£¸mE  ç'tŽdÔ@êñ#þ–Yx(‡Ä•>—”ŸD:®C4í¤wAÞl'‘×xŒ—þÛ`Fg†¥×þU…I:唳©è+0ñ[8ë⯈ù#qº‚(bëâuÚ両X'ÇbdRgiSHçU6Bñ¿ðÑ!Pž'Ù.’­]å?o1ØJo$÷QÄ¥d˜ €©Œ( õÝÜâqäBóéÓå,šËϬ¼pT_ HvÑá@aÕ=h4K¼5ÄüDÔM–‰*-ë7vQœ;0«'îE“ÑÔ/[Žg^ÐyÔ+\4*_ˆe‹Â«+K w~2³é}ÜûmLá^¸Ïãá¤vûÕ¢îYBSer/šÊ®åW£ø/ÄÏů™kx†$@—‰ýÛÏʱ/:Á¤!‘Øâ/¥†€ƒÙÕňºz}0¬Rð z©þf‘›Jê×6Œ)ÙH×ö†\ß~Uò¢ÑŸ˜-ÌÇÐ(L!r¨àû_ÆwóCÐr’éÜ5l fˆŽé*Aß=3ÛLz¹‰ÉâkDªO&R=íçâFdAŠD‚kÛßHP‚’mcÒIzÐÉï“ò‡N’ª†%¶ø’Ô/1+ù_hiÁ+}h¿†­•N£ŽÀ2,}4I.îßU[¡XHš É,!´Ê(FÚ´ÁwsèÖþ¤¸+ƒw6kNC34ÎÖì/åv×€zhÙÁmÎŽ"§Š|Ũæ§WIÑ1ºhp¿ŸÂÆEûL?ã rtú‚÷û>5’|(ÑåëÊ4zD0íÅ‚{!š¬×¥¨øÑíå™qz]:0y^¬àÓUpð)û²À|KÑl³N¸ÔYa‰†ä­*QËzñ°\w†4ú‚KÐÀ Z‰É¥’¾cÞLþöûu$ñ =ö#q±b!²•áxIñUÅ.`žfáþÛüZÙ6­B‰[žŠÛÜÐÚŠG¿¸ÏÇcð$ìBÔÝX<ÍC‹Ð(4mfçÉp~sêÛ£p¿oPÊAC?¹ó54g Çß¹}A“¾Ê0‰å¥_‹Q[[OY£{Ýꦬ~‹Åô{>·ð¿pב„Ã]CsèÐ>c>$å³qêÈXbB «jòKÊÙ—þgw%ºÀY×?…{ƧÈñ©ô·6K^%{4üü&‹ŸýÑâýÉI@3hÔQ_’.+Œ«Ý¾EåâÌJ±²ÎÙÙÚì¼yïo1¹U„)bwDz'øäºqáË£¼·‚+3çñ*ÔuýåèÍú˜£k«ÙÕÕ+a!µ­¤÷N 㠖諲’&ÿfM10ß]¾|£1º1¨LѰ«!µˆð¶ Œ:¥:Y qLTn\AVqz‹çbJ:ïA‰q!þ®ÀL‚'eUúÚü …ô¢2'£¬zOÿ¯aXˆY´w“9Í]7bè¼£ÇìnÜgd?”ÜC–0Yñr£fÛÙ›/„쵿XªM…-Ë£=úIòbƒÐ1† ÿt­ögKµXÜ èC7¡c©’çâ¶€odi«„„$«šëë!ñhÌw±·å‘××­*~X~óÜd~Ä’¯ð0üJ5Hý^¿ªyQiˆ¦ ˆ–ªß¾Û|`,×f7FzÔ£ù¤jgÿ›…_V+p(?Q6/ø<œ%s'Gec2fj ˜ûÈR‡øD²³-áÓ‚DϬïþöa¶ ¼…êÔ&/¦¥§±€ÑG™*Âl¦—ñ[ë¡^»Kg+•¯â’U…Tún÷ ( ܹ«¤º‚íÈ q{ph&wŽCïT‹N]üø"ZrQÌ«Ñ2’fãÏp€ü<…fR'®ô@ÈÛ%Ìc’ì¼¢”lCäãù^yxòKÁ)0a Ð5Ï.]¿ÔD¢»ÃgÄ»C(¸ÇR4_®3$§½•rõlVÆ…£-†RAxúibÁŸè奆Axë²” á1qD/¿…{ÈùZZÿú¾‘Å˾zJ_KéÂøG\×ÀY=¶‘®}®2#å«õÑùÉ- ýc]‰±ò*M"Ajd»‹Oâcu)Ú4âpwžJ3Ró¤z—K§†RÈñ0} ÇŠv{<™WêŒDÀ_{ññë’œãŽ6¶·É Æø\ÈCzJ.šÎ§ÊÑ;íi/Úv¼ÊH§!Gþ«¢Ó{³šÌ*;é G†=ß.BÑgĨepS‰ÞX…¬–£ž“?ŠF¥V«4 -ŽT<~OLž=ÓŒ¼^Ø:6Žˆ9 £JQ§eÝÿI?d"‹$†¯þ¸˜AôBRÝ~ñП$uÁ¬ÞÏ4Íú³MWJØÐ4Q±¢‘Z)ñ¾]VVàTRÅU”±h^ß?¼öªÇG¢ˆÍO!gšcvúaÇÿ¿­>õŠ×Ÿ5ë_Í~’ò_ܾ´õ/ú1+Ë¥aèÒt)\Ä[í¤¥QV1,®Eu’<(‡ò_®£c" <œ´¡‘ÿ$1QRÅy,ªCµt^1”(^ùRI[„­3r mœ4„ÚÓØ:!Z§Õ‘N×ê´#Xd%‘¶?¾·çüΆøÖE«ò‡hÆ«2¶¸¬¬`燫ZìÇânk±ˆÅ’V¥b#ÿÞm7Ðú@z¬‹—ý™‰ Ï CNÏDh¡IŒ¶èeƒ›]=# òóÒ²²YÃ{þ˶lT©t:P3I©êÔœ[·;–š 5‡åA‚zøJP§=TjÐéÕ[ï<2’˜Xä8HñïŽëñOïYyñ³dØK£×wŸøŒ•nË„*¨NHPGÇC Dfì(T o©…–Ÿe£"1ª!ï .ZI“ÂDD˯DE†ÌÔ®¥;9ü™èÞ31Zu\V\îçìçW\SS^^#”sg ŸâmÄüò6?YvB¦2F¯añ÷Ÿ É$UÊ̄켔¬,#‹¾>;•¨0S¹;Ï>CNá¢O ®«xGYeT•GxL¼JÅê´B–Ðæ¥Ô¦zá¼"GX¶™ôä”då´™¸ëòòÍ{닪*…S„šÚä&QÓ”qGÌoE×dp;ù¶çg›~œ^à Ëav ËXïyÉ3à]˜•2¾yæÞw®…†ðyé¾j/§Þ„[Ì´qó•‹wŒvðÝ Û`EEäʳð>„‹p)ãD1êv=³êàRdñð,G˜ K„•Im#w‘pXÀgb~j_Λ¯ÉnTðgèr0„°KOoaTBîs¬’iÏ'7žõ<Ê×°‡ü|mÞÊ>ßaÆÿy´øy´€ÿߣC…¤À‡7м_â¬üúèWøÖFúœwB³‰-OöMÚ¿#)q!‘ ^ yöCìÙðÄIÆßÆ=°•ýÛ€±°>§¹2²Ò3Q : [öщÆ3À|»÷é éGðîº÷V-Å«°—\)xö`†§% ÕWƒ—¡®?¯¡±Äü&4S_.¹9¨ô˪3Wl_N<5jèÌå3½L5\‰©æÈFØÁr‡/å6Ó|2t|œveà…ï†íš ]¢.X›‰º$Ä3Êt(d÷I¾lœ?˜ç·eë¬Â=õÉœ v3 %~ÁÞ1[Æ}·‰Po¿ý™5Cúq|(ÁúøUá+ãé2n¿ › ¾¶ÀgÛ·[ù âI‚´gÃ=wŒh 7ë¹Nïù5=—“aiø.VæX‘Å£QwÐ:²¹óÁ#ÿê0“1ÜúÈã°Ö)‘¬ÕFÚ§Á|“ u›þS¶F{z°h -eJU%uIµýQÏ+ßæ¦iR“Ò.yœ¬ OX¾€¸6 Ê6¥o,M4ª…»‡ÇCb´¦#!1/Ý`LKa³ O|Ç bSFd»a±ýž°<Ø9x›{à&",ŽG}ÈþÖºìþu…ååQ^1žI›ÒRùäË#‘%b~þI F>ü]BRKLhé'þžìlðþ­/ˆª$/+8ƒA/ô•!Fí4gÉRE\Ç 8+ûÎç¨+‹V÷ýo>fF’XvçÛ=Ö-÷‘ý}ÿû6ÒvR3[eH:áG,žï¾vC8[NãÕ«áhy‹j»‰Ýá ›}Êw˜ vf6ÝrhîƒûcÄ%ˆ™ûBz‰øÉãõ2Øë¢<|—o"a øžUåG„ÛPÄܬ}r¿à,åØ"wX ë…¾$âèÞZR+sIÙF¶ÉeX-Á=@›«.f‚$^Ø…¸cAæ…Üœô´›K<‹«[â ãq/¬€!¶ñ°ùÀØŸÅ¥á¤ñdƉ”²¼{ûΣþÈAž)PQ)cޏ­g…¨åHé¤9"ôÇ{2hPîwk‰(ÎZ¼çÓÆÃÇàó`ÂéqÃÞ±iØÜ²‘ÍŽk ªˆZé7Ù†3oý¼àWdõÃߨ¹èg8lÛ°Ü÷º-ß´S½ ™sµ\½vqͶ´]&³Ÿµfúä9ç½x÷ ‹zΨŽ8è ËlÍçhxðUÙ… x€ÆWìð/½züŸ'‡úR†L˜þdªõ‘›·².›Cœaƒ{3Yžkn9SÆzÓ8vЦ•QN†]쾌šB.8?4Ú7aÛ‚.w‘ õ :ß[ñöÙ´í#'²Re4lŸ ‘p"=XÚXudwn=±NuÛ 73R†ÊñNY²©_‡°Æöaèö4vºMFEÛ6q[!#h…,ö7¬ÐLI>‘‚|PàI’›¨Eo0æ@Š­0O¢5±J û>e…Wüù[!’N‘‘¯@W<Ö Ï”ìx©;&IfàVjó<*0æfÙ/Ð)+´âÏß ‘˜Õ ÖÎ5ßr…ù¸/&#òïŽ|?NG|Óòó5ñ—6¶w“Õh?szÑ…©F=°éúlCF:q3Û'%þÞŸÞFŒÐü®04—¨±¡|• FSðh<%7)…˜²êmÈVÈIÃA²=élí?þŽÿ½9 ¼ÚÒœ¢öÿ±³Urp®¢p¢kPª màSA°:NÈy¶ >õFݱìxkžsp†¹>çãáïOX?ŒÅ½gøÜ|!]¤‹ûÐŒÙÄ“ilù“4’ÜÎ.i>é3q±ç² ‰l‚. È´f'üŸ©CÝâ÷6Ä`Ù"/·„Ca$›m(΂rÆäÚèqæ^ë5dÙ 6?©Cº-ù?P¢À¬/„Š™[ÿ[­B¸õ¿’8¯Ú¥ÇÄ-}…“d`CT!ÑJ@cÍÞf£ž¨wnç}ÔFUüøùXº‚]‹-â°˜XÖÙø“Øê,îyoQ0i)ÆtA{Ïït¿$"d$º.‰Û˜¶ž²Ï]Ž+¶¸©“Y¿FÇÔ`Fcf ¦þ­8uÿ7Û_š#¡[Üÿúí/Ž«‘EkÂ…‰JT• ‰…ˆc0·#+úá—-®Žö玤êL"³À&¿â¶ý¯Ø†mš‰†ÁÖlþÒ.LtpÝɆÔ;—¬f îB¼ÃÿRŒÿ¾ïoë/Û¦M†p͉.Jfp_A¾ÓO¾nú°¼>Ù¿Šíjâç"¿ì4“„ëz¹ÛÕr•÷.&½A¨ØtƒÁx®{wŠúXX#:endstream endobj 221 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4504 >> stream xœW TWÖ®¦é®Ò°IÙ,¢ÕhÜPÜ’ÉbD1Æ]ÔV@QQ”}A°»oÓ@Ë*ˆ¬Š ´,¢”;nQ1æÏ6F3I4&Ž3æ>æäK&“sæÿOº¯ê¼{ßw¿ûÝïÉk+F&“ÙÏ™»(zsXÔxo¿èMá–%OÉM& ¶’†È¬|jîY 9ØX¬’;âå˜dï90r™,hmÔôè˜Ô¸ ë#Ü'øøLôö¦ßo¸¯Nu÷ë>;lMdtr|ä÷°¨p÷ÙcçŽuŸL7¸ˆŽr_½6"lÓ:÷èuîKÖ».ö_´Ø=`ÑüÀ‹GŽýcR/ÿcfä´¨èé1þqñ ‰IÉa)«ç¤®™›¾vþºõ‹6DnÚtB;Ü…-GnãIQ¢›v¿YeܵÄ{$jºѲŠJg¾Q"NâL,eÿØæ5zé¢àX–¿M|³ö² ÂÕäòL ‹ŽFtÔ*è«kY”Ý9qåPuÒTÔ>{¤°“>Éi—x³¬¢ Ê¥6ŒRá qÈëä/>É+q¸ë…oáÛß>B{ ,QMžð€Ì·ÇàTå!¡êð‘êpŽl©‰¨ÞK`GazÇÈdŠÒSQv½%í y “U{wÒ2² M/ì ƒˆíF¥FÄþ” ?IŽè :£ f"ã£ÂÕZ©ìO\¬aõ^ËGŒÐrëié¾"û”îß&ÞøìØù›Â3ÊçœÁGݲj!·h;w´©%†%ïý^éÅìÁKýÞÑÖŸðÇ?<Ùʺ™øsÃ'ðy—0…&iµêS™$ e Ò)¹t[JŒÓEéãÀÇè¢a«µÙºÜíjÂ#á±AqVT-Qš«,Nïµ)+ƒ2p­„bcq5¾‰’Kay¾é*¦²Ç¦¦ä™v©BZ'E8l6Æç*Ç, 4ãÂîçúŠmy.­Þ?’á~Ë¢’ãìb_ k¸º÷'‘­¨ªÜSQÅñdï:xÏ G>~®¨ %±áQ«WfF‚?„ŸÝ¾›Ã|v_ËñÆnàЈ­¿EJÛ›èÑ¥{¢¬OG/‰òç>Íž™F&à<¤{è&*ChÅa9„€'¬µt;Ó{ê¤tý9·‰Æ,] ø!‹d_<žòí9ÁA„mêÜm„¥]Ící°{~ïЄ‰+"f€ëVвEùµåÐÂŒ¯Û•,®¾tûÂåóûŒ”VšÊ”÷®´÷L{_²owlÅ€ÊqÀxàÌÿ Åa?UùVØžª×eä ±sV¤Óa ôê:脪–J­¶LÍ/IÝ¢KÊô‚[wW¸Pà«IÀ4š*G\ƒcñµÈ™(ZÖÓ-h…ˆÒ:wFœ9pFj²Dëxjv CbDË&B&dÆ‘½ .d‡ÔYŸ ‰TÍâ, ]Rò¾¨×Gk)Sµñ:ˆv‹ÓÐ5cëyhsãµGà4th91ŽåƒS!ÍšeÔ †“D‹õ½|}rQin‰Û^ص;¿›%âbè«…eóÐáÆgvÀtôpÏðvÉšÉO.­ÆU´´Yž[æà&+ñþkWI^¹Vo…T¡W®ÜF¦+Deáã&ócàþª$ͽLV&è Ë5± ªÉAù‚°›EIN)k™Ž|,°4ðléáK©ü'ËwþYI»¬-¨p#­‚ç°‰d(qù~ Žxÿx]}“z9Ëû¢Ìšß—š±zÉT7bh{ý8œmhS7‹›à<´GÖDÑYÙ«,b?ç ¾Ùgºêî£Í}¹”E«½'rÓt¹[r„¤‹"gÓ8CõèzJÝÊšbØ×”ssÙIõ:óÒ=3é£I“<È2è—Q8't>©TÁA*’­Ìk3©>ØÐÞ^ÚØòˆ³!¢¯!w˜Ì#=Êö¾8 ½å=íø½ 7‘á8ŒÄ‘T¢&#È:²ÝÉ«˜Œi(àp ˆ÷nøïœ6s•Ÿb ,¿ý«?Ûx9ûܫƿý¨ãýkõ©Sø8ºýÝÖ÷òßKÙBÖ<$Œ1˨ 1÷Ð^.½+õ¨Ž¬?6e$aˆBðôÕÜ"ÿÓkdÝÈ=¢+ÉþX_°õú’¦Ð äœú>ä«oÈ¡×6ó¯Ï%Vi6>´\à¡¥¥©Ì`ö£cè(4mhŽ ŽËÞ…å×7M¼¼³¸_˾«PQ©Z !o„£ï÷Wâä¼)ó(²©±/<íÿ ãWt\Ù!ãÌ×c›“8WòbùóÄÏÀÅß­¬QÁ»|,=RuF´„†FD„†¶Dtv¶´tþ>:¿ï1è¹QÆ…–k¥oœÄ46´ùd ®wA§Gå%E¦k–iÊûjcâ Öw'lŸ‘˜W Fí®l²Œt‘VÒÄŸê`cDÛ¾:ðlcí®Â½åˆ£KѶŠdÐrY©Ô3hØyß À ‡ô‡tÜ‹ÃÒáf©ÜXßq:ä*±"Ä#œô¼^Ê…½íû?ÆYl]!D¨ÉG/>¡€åˆW“e¸ _¡ÂJ›»t“­âØLìÈÞYäA›žKÖìUV@·áb×[NÔö¨ñ œ Ÿ'p”NºÀó8´UtÁ!­mŽ_ ÚÕ!8pˆ3/øJµ8KÝQwÈð¦«ož‡;Üí©—iÀW¦¼÷VhSLë±úæÃKv„–ýGw5÷µñ½zâüjŽzµN§ÏÕo×ë¶[dÊ!3µö|+sT‰2¬á¯ÆåX¡>XT_–9Ù<þ§ù¨xwnþò7u_¦ïã`ô0‡ÍɬAá8èsæS¤Vª}û2"j©6R#  »?·Dwˆ8ÏïQQoÒ•lÓêag¦zQâÒœP˜ K«b‹²¨cз2·¨É1–¶FMY^þ.“ÐÖu¶˜JÄ=˜ø–x›ø9çÃÔüs^c]Ç 3¡»ãÓƒ²æ½öùkÔ~NzøÚ }éátxÝ|ÚÓÁ6ÏâyÜ)€a*t÷¼Il~V",†°©\ ¨¬î4í®ÏšßŽ?µikÖç¦ÆÀfnCmt[[]Cëå°+CÉ`òÆdRðvÑ[3qêgñ×é©Ô¾ÂAj28Oå Ó<ƒbÚ*²…-Ípöp8à¬Ø}|½,I'Iûp@3ei KÝ=.*ªLâU°5?)__¤+æ4Êb¢^¦ø³²²ü¼’Â/¡’F˜¢LMLIJMM¬§7 #8ÿsPX!|(t±pÜxÜ$]«¾ØÒãp–Kq äQÚC58aÆ'm²Û”Ùóqˆœ"ð•ê`)ÙN†x“ "ÂϾhß"š®· ‰,øe-Hߺj&¤Âú¼Í{K‡Ëáw(axx|ìÚ€S‹PN­èøo°H C~V͉þú¸õËCøâ׋µK·ç ¥éýzà )CtAÙ—è#Çí’ÕŸõ˜tXÿY£3K¤E¸ªº¸D)öGå+Bë%Ñ6ýC^¾Ád:tÉÆ†aþ#,*¸endstream endobj 222 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6915 >> stream xœ­y xSUÞ÷ ¡á² *iPïETAYtP¶ZD e³°tßÒ¦ûš6K³ÝäŸÜìI÷6Ý›.´P e_,‹ ¨((n ã6ã¼ï7:ÎI¼×÷¤-ÈøŽ~Ìû}Oú<¤¹É9ÿÿoûŸÃ#ÆŽ!x<Þ}6nÉH‘<µpþK¹1i)qgûàùã{ˆŸÍÅüèóGÁ$>L»÷ÁG7MA?Þ‡ô÷ °{ >‘”¹&#³(;%)9w梅 ÏŸ/Ÿ[4sõ‚™ëcâÄ9â”™1’ø™ël\0sSF~1eæœ ÉÌØ„䘴ę‰3·%옹}kÈ–­3C·„mß:wÁ/—uûÿA,[%Ù±:cMæÚìsBsó^Ê__óra솢¸Åñ ‰áIÉ[R¶n§½’ñà¼ù ŸºÑâ§Ÿy– faÄrâ"œx”ØL±“XK, v!Ä‹D(ñ±Žx‰XL¬'ž&ž!6‰¥Ä&b‘NüŽ˜Ld÷÷S=1•˜F‰û‰ˆå¸ÈÄX¢‰÷ê˜XþXþnþ‡c«ƒfý$PÛ<î Ò9~ÊøÓž›Ð7qñÄÿšäønòÊÉïܳëÞ ÷¦Ý:E0åôÔ…S/M‹Ÿö£pÿýUÓŸœþàs¢úÁ3Zð<È<ÿPóCŸS÷P‹¨*:˜™9~æÁ‡ gý~V6êœüÓ˜¯¶àE;½¾Ý¼³þßñýëj„å*F0öf=í<V ")èÔwcèãàè¢uÉz…ÁP@2Æ2WS Í”:˜v -åPëRÊHkŒI&ð‚ÃâvT_AS‚Q¡ÀÅ=T#VÈ¡Pî¶g? ½T7ìeº€´º¡†æÖ"­K Mèà ¼¾EË…Ç7ßÃóM=Ssžïû="tª@-}‰ŽRefÎÝ d¾¡²¢ÉÙlo¤ëNö¡±0H~¼Í³sù®°B¥>šÒ IP+M/Œ“mÂkV:ÁRn4z,TÍÛµG½@6ƒD!e uRz%wR¯1h)ì%uîj[­Úž¶x¬õ¨ü8«Û*û¯^ò)*ãnbi-KaÊ ŸÜÓštäë.4×BÝ*¬Ÿçå÷Wòýá#UÝ®sÕª)n"ºŠ–¢0·³±¹§ïšEä2:jH‡šÕd¤3 ¡R ‘MRƒË¤pXÚfhÓC&¨EQ>7‡{>x5Ú¥sƒ­®¶‡Y\Æj—Ú¤Nˆc žNäáGe¸ÂN¨8eVæÙéï¸.žS†‡neRõ¢ÑÖéL*g«—…6ª 7 ·®êœ2#Ð鬶œ`6:mN“É8üŒ¶¡ŒÏ9•Qg ””ùEIzµ¡Œ2ÐÊÞáVŽ~Òp+qN|@×´ÏËóÏøœï_Ž2„ðɺ54¹å½›ð>y%ü"Ç£¸‹©¯ØµÞ(f@¯+¥¹†ö«R4ªP ¿ÀPE£Oh‡Æ}O§¡Ï„KžŒP\°àb{mÐ "4Að©34Þ̽'|â¹G¸1w¯ X›•u­ôÛ¨+­|m}& ¯÷Óƒ£øBcÞFî·ù>+ò ÿþÖÓܽœ›ÅÍ~ôõŸ {‘ëãTÈ>!Dç=*“lÛµÈøDï•c͈ßqŠî9¤}G[÷„v~‘%ò¼þù^zâ3¾ÿ¸…Ðh6ZÁL‚Á©5(ʨ «¢ßÚ\ ".–syœœ[ö÷G…"¥ÁïÒjÔ¸åônwßËË€\ºø šu¡ =õ!C_þê«÷üaï“OgiÅÀÐT»Xcµ™Ù÷ŠÍ¡NØ›|Ÿ íþ=ìhØÎè¤ %Œrgß+4 UgМ`(J•¦bâ ¢2 IµEkkÁœo¥; ‹Áï´bλ•Pº¬N«­Ù\EïE³mÅM±'p;xh"šƒæÒÜ=Ü:¡<;:d›•7쬑5ÙéÃh³½ëÂõÓ êwnÇdr%/Ó“ýºîø×}Â÷WùÖ Ñ#Ïþ•RÜ¥»…É9ÚŒ¶¢”G/ëB¸„ [òøÎ-kcžòÑ;à€(ß1G·Íˆó­à£ëQÜô@÷Z†Uñœ÷¦-õò.ø_àû× ºäÀ`òä–Q›9*y=·Hnòöj úLpÙ&ÍTJTô*“ÐêbM5fú4ÊÄ[ÆL¹å ““¯¡ ׿= 䳂óÈ`ï^ºO€ˆ¦ôµ™z“C´†2`H¹ ÌFs‰j@!l³òA4”$(VB‘Ìuƒ *PéJhnÆPç/‹áËÔÑh«ü#Ê6šX¼c¤ÙK8óÑ×+1Bæ~Ê÷•úîžXïJ}1)2OJ)NÆ×¦þ/u³ÝÖf7Q—P¥‘íG› ²@+Ô•&+1hI™£°¹Æ[±/ ’ÆÁ@¡{Ñ@ Ì‹ùþ_–ðŽ--º€Ý€…ýôfút¸1Ë@J+«Á^n“¹’~Y‚>\r”dë¤xÁXºt£uŤ©µPî˜ÀjŒ»,30EZªh­4ón…à"rßêÎxÁß=i/æ0…L.mýÜ\Ñòϱ˜¼ö!Zpù”gÐ”×ø¾‡ÐSBølEM¬#Úd‡ƒdcýå[z”ñ.J¬Se‚’TX‹«›Ýb÷½Ä}2âùK¥­ê²_ ÛIqæsæm¶—RÇ-p·¡VVžŸ›Qµi0éôD/š<€¿›T•z}jŽ• í:KYZ b*¢Øh U2(P¸ ’¶ Ê¡ÚPn¨gì(†jFÞ"½"=#:~›<ÈyËß@¢ÁF´ø#Äÿ-±9t#Ê&ú-e{æû‡Ñ¬¯Þèi£9ž$ØÀde]GÐÖ`kƒÉyÈr×°eð6 ¾È‹" °rœã#ߨãËÁP¤¢ŠvÅ­Üd&4UÙ ÊÖJ¿‡ŽÝT»F{þœ Í1W€ 7²¾Ø¢ÌVæãœÏ-Z"(¾Eˆk¸ýN ¥¢Èθÿçø¨i{o¹ÁïÏWžáûo}·Á§¡J·nH2 Z*F¾û ê3Y1fX‘KUY®–¨ôÔj®_[ú2™¨0C’¾Ȩ²Cç;¿hºLÛë±ÃÖ’ÇR½Ñ ’¹9š>™*Ì”ÝÛò§A ].&+G™YOg…d­‚òéAÉ©“]ííTÍöƒšZèú¦JoM¯ûÜ…•¦Ññš/œ¾¬ºUP°l.›¹’BøzìVÇ[ ªwK´..†X:¢ÙX qM‡¹ÕÕ†µT1Osõ©RËTë@”_E ›ÞàVÝ™ý@Ú°ÒÓ“}Ñ£UZx¾â ÿG¾Oé›$ì–{%¹Ù¹¹2›Úª¦³X1ÎD»937n»âXç`Çg-W(K•µò.k¶¤ v“ /J΢?  4S“}ž<Ï¥¿øJ½¼o¾ãûÇø V•šÄ@ »Y\î€A 7Ù-¨Œ)½'€ð’Âu¥9”\¸rKÈ6ˆ…ä&UŸÉ`ÂP${=]MÍåùL8<z*îâ7_]ýÒC£ñ¾4[«ÍÞ¢JW`ß?)Ϻ§Î—Ÿ¹q­ù#ß¿ñW6qâYűyâØWŒ”öp]‡èèVs?fL5u&FÍ®PaÈÇxT¤-{%Þ+?Õüž÷cÊVk¹ÛrErB‰)ö”朎Œ~¦: »¼ýxeâþ̳pôµ¿Ó~yZ'É;“Ï_.ó}žßúeÔt§Äê­*<(®cäs¸yÜì%!W÷ª?ºŸvíìÉïþg¨r¡…B•xã³Û€Ü­:Û~Ì‹Æ× ›ÎëÃAº)" j½˜OÜEô/߉]eT’Qn“{¹éè?ƒÑ4¿¡öòkoXEv£ÓÕ¤MgQçg3K%C›2’}ql¶Ð·‹[Qq‰TÆý¾Ž®Ø;ìö×1P3šc¡9bÙøÑÐü›Ù{Mo ûèýÐÇà¸gÃA·\ ›Áî°Ú;,5t7zÑ8žrÖÐcC'd¢¸´w =T;ž”Ú°OÙ±/áF\¸FÕ貇wòSt ;qÉÏÝj©Ìg"ãc€,ÈtŸht´wÑ]衊-§ƒˆ…&¨*SB.ò-_=¾Ù-Ù–º³PIåÛiÏòñíÜôÜa䀱ÊB·Ü<±S¹­67.G¾³,‘Î](]Ÿÿ\ˆÈâŠv»£ *Éæ|«,;;?5þ@îÀ‘ÎÞöjªnËQE3ßG3ên‹J<ÀCã^C™8cî͘ )ùâêmÔ9šw$e”CÍQÉ Šx69bR+¦¨9C´QÆB‚héÐwÑX4=Óö‰1;µþê!GwжF0UÖµíïíêòÎÔøÓ˜œ¥·Ðã;Ë÷E!ŽZŒÜÀª)ñ¢hŽäÂÖñïA_Ÿ£ÛêüDÎQ€.j7¯bŒaãîÃk¥Àƒ#–µúãž~Á\Œ­ ThÊœì&Ó§~ë[Ìÿ⣌VÓ/=ã°Z¢ÿW³ð6–—S ÜòU{"ÜUÚk£Éf¤½w T‘õRW5Õ"×lèK9ýý—ßýGÓH'Qïõþ‘!(æß—ü½Ð¢r©tƒRE­š¿HW äöìþÁ“-k>Bï½t¬»kk¿¾26RÑ{R—´¡¥ÑÓ{4ºçå[“Óœ³/}ަ}òŸ•x¢ðŽvæÿÀ÷ˆÇáQÖØGœª÷fâY¹˜æ¦ ò€E÷õÐ…à­¾A½G*âDÿj˜6ä.Ýš Ò‹T CQ™•±µw±àÅ#J÷ðˆ‚‰êVåô“¾*«¹ ‰|­ÁFÁù¡ïLÅ ®Q9XlV—o¼Ÿ‡_æzýÜïÁüí¥{1÷{F¸O¦¾‹.r{\1ðfó}!þŽO¦£Š"w¥DCHmŽôr¹¹´ ­Áf¯ojmE¡G‚Ϲs^ƒ9/×P©[dZ)ÒYØ,¯*nÀB»*z~A™MowMn m÷´5õ@Ô¨<ÊΜ蠤¸L!•r˸¥Á[·íZ…s¥ÒGÜ~3UQßÒß °+j²« * qA¾=…îo¼s&2½ ã×½ ÒÚH£G|—ï’×›9Y‰7³%÷ì®\b]¾P•¶é¹åvh0Ôd8¥N cÐé5än3=è9 \Á[HÛû¯»^ñξ^g¿­…Þ'h‡7Ù#µ×;àØÈÄ}/Ïâ™Í…7&è¥D p1*é ‚ÕCã啱š|‘*E‘J(d•í–ŠF¨#=ENivvArÔÁüžïûPâ^N.ècAµs”+h‰½Çur/ˆìP¯/—¦kKs €Ì«QV55ÕuS·'ÖÞfô:žšïÿœï—ø:„Ÿ†Ÿ­œ¼‹¡ù·Œ-0AUÐç‘1ý^€¦ þŠÆÓ‹[„PP27aOr|danÞÁeÔ2zsSðöñ¬—ÊPÁ—=¾YmÁØš°Aˆx¾õæJ&ÌÃaBž«’è¨Ò¶ÌV<žpc¹qÜîá%‡C¯?ØçvÓùK呚üŒQÜî8œâd™®:»»yYmVQZi|\Oѧ»öƵZJŠ"pÎØ´#h»þšëH;_˜n:u¨oéœc©ŠfJƒ~‰ùËw°¸.99=zõß% ¸9CŸô~«ÂQR[_^íb©ƒhÕè©¢c¯ÑTÓQ×qðõ·ÿ¯§ŠdyÜè“tÂ;ÅW„x]_LŸZíOúJhÓ[e2ƒVÎPÅ[ÓÅi@¦3-Íl#ÛL³ –CPg’ì¨A³ö^þ Þ%¯¿ðwÅUÿ 6‚¦&§¨0<¸ŽÀù½ï×Ðq U!Bpà„tM)SVº•VìÖ•B!9µoÕyñ럶ÿ`§æù… Ñ-ؾ=]™ äl~ÊÖn7ÙL"›©j¼ø˜?JµáýðÃ4íÌáÓÓ§¾>ýçI2ŸÄR•[šË;Ë{è‹èg› oDt:¡)q~ 7Wû³g::›¿öLmnŽB¢.¤Ó—%Î)MÐa’ŠâcO|Ó‰ž0SSg¶ø’…õ%žt±8MœW•ßÖÑáí FŽ¡ó¼þ…­<´ë2ÚƒÜʄЦîËêÈöÊÙy­…–4‡Ö”RYÜ}äÇïÿñÆ7­¡«² j]e( úy\>âî—µ—£¶Æ¿¹ÖX€Uòއÿ‹ð¼2˜I[¦Rw´4øD‰©.r•ºò ‰\¸âñE+Wîý¾ÁÒºp”r•aÓÐJÁ%èÕgNEgµMN;år7w8Ë{¶_,9$æ.Í@SF(Áëã¼<´Æ?1pÈ–.lG¡F3XðÚ£45ä`ÿÕ…s¡ÁZž €T¸5›e)“Éht6F·Ö#!]‚ЩÕú2ã¹C]eÉeÊÅX[F†n7XŽŸdá8}N1LJhê\J(¡KRH31ÁjÍP]c Íðu`a7ÚM-P ä÷ ¥ñX§ §õŠáeÈ5±5,5b—?*áòá‹gq|)ü'“í( Ńa¦¾¡®ÁÖj´Ð–z0B9\iÙàh¨¨¯oñž8»oàµv9Ð1jm2¨†Ó´§µ¦·¹¨+ê•蘸jËKRirñ_}ó‚GxOþ›¼o·µ:LÔq´§G{16‹@ :¦;”{õšÃÙ=‡<µ.ÊÓ[qX<¡?±˜~áÞ7çø¨stOZ hJ]R“¢ÿ•/s÷ a Õ@‰è•½‰GzëZšÊ©êÃ߸º0äû—`h$øçû}þ§… w)r2ȦÒ!••Œ^MØÁn « jËdŠš;0T¼ÃWÔ~Ò謉ÓLb Ô轄vô^☩,ÛDŸ2µU Â1ºjП}ïï³ÛÕÃÚ.ÀùGǧΪþá+ ÿ]^}º¹nwHäž=é”ê­ˆÚ(ƒ©)¯þ½: &w}Û±ƒƒo9;J2Õ}½ž+ÿwúuµçùù­FÄÿ8‡ÿãp#À%Ï̓%Æßvmtµ¡KƒÝQ®-Ó(8ëPbpžOÖ\m­½d¤í˜r•I“Ï@"x[D@¢±¸;˜5%&Ú¨c7àlª×(¹Ò¡•øJ õ†¦7¢Û½üOã^öƒ*ÇH·ýØoÒáÓµÅ^‰Z}ìÒ ASH.vpÖ 7pƒ».4V1;f8ÉqÎUïŸû=òaÛp²úú܉?ß÷ýÊÁÄ5ôž¦ló.5SœJPóuÝŸË_G“AÔ ‡™¦ì=e7:è|•›Ù¹*ž{8“*š´þçSÁ ‚9*÷¸:KöJˆ²@Vó‹”¶ûPa÷‡ÐlôX+u½„vßq”àRO}“·’úù„.Wæ£í?ðPâóQîaagi³8.;Y"nPÖ×U¹ÌªäùÈ—wÇÉñAG2¬ÚVƒîA¿CgÊ çv†wYùØw MV«Ìä°BsX¡õ “é5ÚÂÀɺj(´MP‹Eœuò »‡÷µ/Šï;‚j…Ñ¥†æ J” N§¾y‚J'¸F=†—Éã£ì×…i}†85=5«¦¸¹ËÛÙ>z­”çñã07þ"ºtïËDË„}_÷¢Eð¹_‹îç„kžÛÍ Â¨ ¢¹5°ˆLŽF3Þø¦=v‰zò%aÞîÈ@Š£ë>øø*:Ò}…î¹zÊÓdßÞô—W…p{£ç%x\¼§€ç{¦VèV⽪2(6ÊŒy¬ÆˆÂjrÍÉ»%ÆvY£1JäÔó†¨%Œ6 {Å«IsåQk÷aŠ›0$Q‰UÊ R4Ýæƒý,¤ÁsèÖáæOüÿZ2\44ñǹüëoUíèçªùÑíªJò¶-0ý¡}ø™åíh’=òßçFKoâà€¿nd@¼]jN²Ç;Ò@ez½áØÍwû¼5hÁg_^$$Ѹ§Vps–sQë ¬Ñý× I½5eÝ2ë>èŒzÊ*7Ë@NJÞ$WZZ/]EáhrßáÌeÜcO/NEeÆäÄD„,U¬•6·É„㦽µfo;t@kASqs‘7o?NãÐêÛ{ð +Þ ØD=SЮö£çòµXáËE{„P«{÷…î„käõGWpgÏZ’\+ééè>V«ðÊ+dŒzVC½´$Eœ!)ÐÔÖ\ÿò›o{Ž­‘*¹pn9+˜:HcSÚ¡šnÔêŸ-*›Fg¤¼š‘ٮ¼*É*EUî}XQè‘°8¹LùštëjsU> õÖy}.àò­æû$B‹SB:%U¤Î6Uh‡Ð‹ÁÃÃK6ç™tMV±ŽŠáž]ÝÜ'“8E‰®bÈ9æÌ€;ˆÞÇU Œ%Mn¦šJåîÛÃMZË‘à¦- Ñ1jF\ RRg“Ù­•n»‹rض³PƒñnÅÙÜàDn®.pê§åWkµå®+Õƒf[ v°bAºT^u«Ü­ˆ¼‰¶xuÍ‹Aþü¾O‹j„×÷\{úÕØbI"5€6°.“:Ä‚“©U7èëpÏÆ|þI¥McbA¯¥£ ¢Tñ°â’* «3éð¶õFñ÷Z°1(ÀsÍÄÚlÔñs§m˜huÉÛ·IfåÇÑ{ž ÏKÄ^¸©Îð-k0aÑ »jÛêd¹špñêƒ/ÝDÓp^|Í»­('r,ˆ7}ê©¡„ Òº jjxJš8-·ª µËÛá¥'çy|k\(ÇTåx&œ™HM»-cÒx‹1þÙWm¶NšDÿ ¹endstream endobj 223 0 obj << /Filter /FlateDecode /Length 170 >> stream xœ]1à {^ÁÀXQRX4Nã"Q”äø8, ¸ÈïØN‘bOZnͱ~¸Î&ÊÑà 5Ö鈋_# q²Ž4‚j iwu¬aýM…÷' Í4›¿«ÙSœ/õ©ÙJà5.AFå&$ç²3Ftúo%¶ÂhöäIÈ*Îó̶•UÙ¶µ~ËO…é@ °Æˆ.Uð Vx¬ÃßmÁ‡Ò¢Yä ]VEendstream endobj 224 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 440 >> stream xœcd`ab`ddôñ NÌ+64Ð JM/ÍI, ªüfü!ÃôC–¹»ôÇß ¬Ý<ÌÝ<,ëè }üÀÿÝG€™‘1<=ß9¿ ²(3=£DÁÈÀÀXWHZ*$U*8é)x%&gç—gg*$æ¥(xéùê)øå—34òó’R3sÒòÓBR#Bƒ]ƒ‚܃üC‚5õÐã3000303˜€ìg ¹ô} ߦ֫ ʾ_<ñ}ÆaÆ×¿ßºÃüã¯Øï¨ï·>­“³»tqÌÞ¬)ú‹gV÷ç.m™˜¿¢{;DZƒÇŸßß•³AnÖí5!sœº%Ë›hj$ÌLÜœ(¿5n{ý±ÚeS;–ͯZ˜ÕÀáâid8õ’¹\ÕãÛµ§º%¿K<ÿðIž¯tá€9ßÃÎ^Èv‚ë&·KH>çæY=@ÐÛDSyx;ß» endstream endobj 225 0 obj << /Filter /FlateDecode /Length 4337 >> stream xœ­ZKW9²Þ³bžU/Øê*I=SòƒŸ }<€»ïL{i( ÛPåÎJL{~ïýwq#BR–”•xzŽN²$¥/¾ˆÐï;eÁwJüþ?¿Ý*w®¶~ßâôv'üw~»óâlkï¤Â7…+ß9»ÜòSøŽ0²¨¸Ø©tU8©wÎn·~e¯&VÎ9Ö6³É´,Jm¹5–]LðYV¼ÄŸÎ'æW±ëÉTJ˜!9;Ê&4ËtP?ù_gï`C²J7$´-„µ°©³‹-Æ«ÉÙo[S¥øÎTꃯe‡ý†*e$û4™âò ö³¸éà9ÃÞíâ³)œUìdF)X˜í$¬ÀÚ~†eïóªØGÆS'Ëê¢ä’m¿¤Ýk§¬eËÉ”Ã[® ëš <–UiÙmÝ5‹y\…³ÅexÖŠ½jæ‰èšn†?Ù¢4‚7twÉâmÿ›‚Ó.»¶ù”L½Kžés«?—ñ0;»NµH']]Ç]UìEMʱR±oŸÄ“fú[6õiÙ_&Þ ”H­@ë¢RBx+ø•½[ܵóúô€æ©5 UjܪdÝõÌÿPrÁN&ºD;¹ë'€N;P˲cÕœ­~ÐìtohófÖ}Û ërÅNgí$ê·™-ÃÇ^LFí ß„³]4[8Tæk¦0Æ”qˆ6~L¾  N]Ńãv¤dÒÈg²Ò}y*¹-*#w¦BBT~äËDô_½>ᤙ—´M×ÑzdÊ/Nñ7•­âgÞ-ûU.‚7+ÁßùyÎ ò ËÑ+ÆǕ͙¸0x²r/º`å-éÈ)Öë­7ñ;4æå¨€¹T°²Ž+ƒS*%ÙAjâujq·p¿iÐ_j¾ýÁÀõßÔ77»Q&;BÇ-Ñ)¬RÌe.ô ªªP°¹L+̬o2”ùÎ…? ,Iø‰vR_&2ï2·k¿…qðÍý—8ß!8ƒ DYŠšITšm}8MÀãìyœÈƒO†S\¦¸Ñûú½‚•k‚œ ŸO/Ú¸¢aÇ xF1.“Q¶÷›é‹z9ˆ^¿7w9bÌ­ã•A QÍÑ^½Ðýô+º*·h-ç´´ƈ FÞføêÆ ‰§\ƒ+í5µŸÍ¸ù¶l:%ÁЄ#÷f‡™N3Üm:ïv¦"]ãB”‡6Q’ѯ°pöÅ»€À£Ž€Í)®G]Í9Á¦ T’†úã{3KÝ­n»ÛLÝ^ T…¡C,D†à2»ìÁ99ýgû…ͯ´2‡{Ë4¸¥Ñp|BP :D¯GÚXG›Aúeb Ý*V{kt:] .yë©i й§›¢îº›ìEœd%|ž£øASû ’\>sé}òu‡öÅ>œÑQ_žmý}«,4q¸v3åã› œO–¼Rí@VFœ]wÝ—ç{{÷÷÷Å´RÜ×ËëfŽÇ-fw{m}ÙÍ– rù?@4ð>ª!x¹*ûfá9ž¬ð‡¦òq4Eã(KEhê åq4Å#£!š:DSÐ4eWžò9Nh·Mp‡´û}pG»RC´ì*·+:K•ƒ\?2‚œ·ˆ äðdãˆæES­‡@Ú\~¤ÃQ@#^¸Nú¢g=âĈƒÌ>ñÕ«ðŒ¤cT™g|†(žG9ˆE·³6ð»y˜RÚHüö35[.+4müöG)žÐ·1¼Š»0ÄUžr†g8f$ï¬0¼×™óÊ×¥f]î+Þî°¨ ËÛŒ)}®WŒî$ª¼/”dÿÀ®H€Ûy*÷GŽÒ$Q\œ/…¾lÐâK–yÛR|„”á¦ù£‘Á7Ìe ](Á«aZ´–q<h¥á…-í3IÆÁñ«!ÖH´=Ã3^ñå®#êg $$«é¯ Œ¿õ—ëºÅeYI<÷. !Nhý¦8f‰¦œ-{Fý‘É“h0”€Ú>Ó¥ &É-HD–›dû‰ó£Ý¡ÑhH‘àI|ztÝ”.TÉÙKý-­DÈ÷lÞ5?ü»™µŸzîR·Ÿg bÁøÏÙW¤ëÒ`j!ÙíÝM®ýÅmS§¯fó0|æ°õú–Üp¬o¯ Ê^²Á¤ñ*EYppÐ$Ùh]ÇuøÈMÿ† ¬ ÜY¹êZ ëQöÊ+M¬‚ÚA~>Á@¤ ¦¤ëLWi!h3ÏÈS–«0Jr6ØÐüÈ8Ñ"º™ÖK 2üoÌ$AÅ¿4Iq?ŠýÜ èájTÕv#0)€èòÚ65”§?fe“n…komvœÏqËzc>øç+^A$kƒÜ2—uŸl V§‹~m–‹v}-ÆÙ} Ó1LÎ_„l©íQ¦‰¼ì攽 .d’*$’åÀÛ/ß .ºÀ†-‡3uT)•U˜iã{é°¶’¦9èÆ¾ Ú•+¾è7ç3M*Ȩ×2ÅöpÃÞFAÐyGK"?¢  ïb §ÒÇÜ=Ó¯“£1Äi 2¡øA± 94±[i†Ô …ÿ×÷þ;VhÈ[ OóCi$'³ô #ˆ±;'–gˆå5óH Ù­«€/ðÀ^Ò°„£!›}$ÌHáÌ UÖ’g¦*OŸƒ¡ípÎõ3Î… w»–½Oô|ÝëxjßW~&´r€ƒíM}wù&/6o¶”Pn˜:^í†Ü1œ8ç¯ó¡·wW%æùñD¨XŽz›r—?E,âLN+WÚ)×ZMåCnþfÀòR—O ü KKàcEjIè›Áú*„Åí·#âˆ@MùC‰åëRr˜æBÍML´¡¬Ë9Ï…ðëàSO+-ã׫J° ùëÃYÒ}ƒÙ­ØQ†&y–Ýú­abx’yðU›—´—ëYŠ¥p¶B:(Œ^㇊{†2ñQØ–…‚,!Ã7ie¾ýCðjðïÍ dFª§³<þ P¿gØñ»v²ê–[âC-l‰Iý!–øª¤qšJÛirøGÖX´ÃXA aB3 'ôœ!Ë Ú4fdðÑ¥vÔöó}'†ö­ôhÔ¡q@=ŸfÒa-Ȳ|BÌ v¿X·Í`s`‰éú2ô?,ãå^°hIp´wáÀí A«ÿÞæ$ýcÞ ¸HÔ²9œQ^Ý7a†ñ„bÛÖ@ÌBY‡£P†1 ó¿ÇbYx ±Œ–„H=5.+b;þ%å^i$S–S¸~,’Ui\@—ôMæyŒ@qLA^•`J}Æô.Æ0?ìš4ªÁN(†¡¼D)+ˆ` kg²h"šö }D i훜ÆmDðÐ$„Ê|¹~1 k0`£›˜ bñäö lHlÆj°A±ä >%¾â¥flûU^Þø<÷9è¯B‹U ,h.ù1Óœ"?? ‡ÙZZ^Ì‹×÷}‰yÑ~Ÿ#_]å½¥/“Í hZ•ÄNõPeqe5’¶ÌB:ÇŽêni*lŽŽîVA "æÄÞ³N29÷áÒÿéÃå«$€xÄ2 9;A,«¨L¿¡…Áͪ3šVV,Õ ˆL€•®êðwlÝ..»ûAŒ-ÛÙxu’mk ›è´(6ùæNlHñÁJ-še_÷þÏ‹î€X5RRQñûbÑ<‡ap0Yíý¶\_A¾".KUðA#ƒ5¥ýÕw°›¢nGJSX«“ò;Ú¡°_>>OƒÆQ|ð6 Ñ7«N+xaÒN}O^$ÌÁ)‡°ÄÆRbZ‡o2«¢2ü»›Ìàoô’[*ø$lsÜŽJ ŸQ;yÇùÝŸœVøšîY²_š¼½ó-ÊAm¬6d­ÙÁŸ8+X½Ïšž± GÒBÅYî7{›’à?oYÒÝ|>TCŸæ/Bno1HÝú~¬– É ‹÷!æ$4Z([UƒàVßâ®Ċèf!ï¹F‘Ÿ¤}ŽòçôÕ}ÿXÍŽH¥–Àñꮾš­FQÑ•Æt¿L©ÉükÓcÈb~;›w¾œ„ìóÝϪ”’úGíoùp³–]þ¡?MM$ЛÊ÷aií«r1NaD^£Ãz1ðž1h‰Z눞xB„öýÊËx¸à“f‹Ñä’äÎßNR®R­E4ZÑø 5x?6ðßÕð”VwYÇ I‰¾¥ûsCÄJ±‘À ƒtƒCtǺ æŽRȇë‚Ö•”ü—º¤J»¤]+ïz”Q,w òÑØ@±ìK»ømvÞ‹ö*ÙÐ÷c·MÐE=À¹­†×lŸyV§Lß#„3¦p;É ¢KrÒyµgT%ý£Žƒ õ¨éÙå=Ÿ,¡ÊtÚý;c4³ðqxþeµ!ƒôäŒD²íýeÞT].×.øXN-P'Æ;tã@gÕ§ìly$¥^JU¨yàu( çM^á¯[Z²+ëm«°ÚÓ˜ßÜmÕmöKWTµ7RBbФe¤xâ $¢²’äšiÈià%F÷…aý’üû Iß €‰-OÌ$g*Táf^¦?oæÝuø Øêªí{pL³ÙéÛ$.¿þñð0†¬Æã°0™nü³¯„R=@†Í/gaóxon~¾z£@¹¡N3H»‘·Î÷S˜&ë¼ä—» %üƨÇO2ÁãWØAŠßÂ(ÈL} ¾ªuXwu\Rà>4GXa~5Nd°N*ûnÕ.N÷7D¨ã*^Ò¹«ž `Bð¯¡õЋbW¥¿Ä™yÖÀawýf]~äX¸"Åôe^H·vWgýé»ñ#&^‡ñÜïÛ’þh9ú¾M/¢®²XÇø>Î!—•ìä,ö¬éÆïiÇéèŠoàq‡ÔÞ6Ýu!«p­Gøësõgj YT¹g…w6©ëYÞ‡pˆjjÆmbK¢ä…ê›§k ”0Šn¯\ež5DÃ7ã‰]‡2šZS‘QÃßël:Nxüʦ€,#ã-8/xýÍ"§^õ‘é6­'ÕŠ€bô®ê8©wS"©6c¤:XïC6ñ¡ý”VqGjÐc?cyI‘þÒÍPÕÉ76ÏÖÛÀဃ{‘´8Âq˜ &œ„IGíkͶ›´(u³è–}Óà oš#é¼DÀÕV]ç¥Sâ†4 ìæu›]¨ÝÙ–«Ýy>®}´ñÚW ¼ÿeµñ·ñk`g?FñŒ4nw7^â|µJEFzŸã XEMvGY„PrÿÌçæF‡^â?b“:êZ_x¹±Ê±é†³¯’þg“òdý—1]Qkw¤”¢›L¶«kRÜ<ø P£<(úļ®›–¨ÉÏËkÌ é X”B¨p'4âÀ¬¿…z¼(œ;ç§B¿IFWt-Ḩ4nš~ž`±I€«6³ù¼ö¿$wGiÀ†0ˆ÷µ]’NÏçÏôÆåO¡ò9,¶ýÏn|§þké`xù(¤ÖÃã¼)º»{8j, 9HDèYŸu·ç —Ùrïðôóƒ ®"¼Ø{ß.Îg3²½?“…H® Hzwœ-,øË*¡õþ¾õÿ±*Îendstream endobj 226 0 obj << /Filter /FlateDecode /Length 265 >> stream xœ]‘AnÂ0E÷9…oB¤h6°aѪj{cOP8V‹Þ¾&ÐEo¤çØòÏw}<ŸÎy\\ý1OñK7Œ9ÍrŸsw‘똫MãÒ—§ÙŒ·PªúøÊ÷O‡ 2¬þnR6´.mÖCqJr/!ÊòUªÞ{î‡+Ééß§ ­'.Ãsë6°á=fÕ·ÞcB#ШšØ€&h·eÃ{LhË´UݱÝ©îÙ€îUl@ª¸¤³‹:½¨6 ¢:°Å_õÔ°á=&ÈbÆ D ‹Aƒ,i B²˜ZЫ íJ[•ìâcž%/ö4V½6>fù{½2=å@õ |"ˆCendstream endobj 227 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2107 >> stream xœ}U{PSw¾!äzµˆ’k$·t´êÖ'ƒ¯uÝŽ®oÑQQ0Z_ÈSC€Bx$¹ÉIBB  BL$¼Â#ˆOЭíJ«ÕR­Ý™Õ­ëèÈØÙn·ãhÙߥ—­û‹ÖGgÚÎܹÜsîœï;ç;çÁA„@ _¿!V•™¨ŒS$*sçDÍŽMIÓ(ÕÐT.BÀ½ÄýNÚ4ÃëD"„`ÿ[£¯ŠQMRC{ÆB`[fá UV:#-=W67*jÞìÙø½H–T [)[—¸w¿*?g†,Q™,[¹!R¶Q•?fȦ©”²¤”ôDEªL•*Û’ò¾L·*6N¶&6F¾)nzä/cûùW‚ ”*õêœ\Íõ{7$§¤g(þD1Ä&"Žx—ØBȉ­Ävb6±’ˆ$V«‰µÄ:bAˆ1"˜0¹Aƒ® ç ]Á™Á7EE?’ £&ŒòP¡Ô&ʃ:BŸÍ´àãD>­GŒÆÝÀO8íæÚ'Ú|Û@ •mL;Š;|ßîSû™’zå±Í°ä ɾ—Ò7øÉZ½â ¨ª(ÛÁìáÝåñZˆF¯@¤ Y›/´à8Ç´¡õ"ºõIÃW—®E\‹¼,6™?$}ž­WHq¶(”cµ^.Ê#à*Ñ>‰MX4Ä> øQ¼ Óð’3Ñh@cùÑÔ"‡D—V&WîɌߡÜ °×} ·àlÍ»¿ª§ú#ßÙ®Þ¿¸OÂYèѸ\ ¥›u)TèSÁ÷’mÇ}¼N˸¥\˜Ä֞ݚ€ÉíŠÖ$¸P”Žæßþ;]_Ž!G`~£¬'¡zXÆæå‘ô¬eN»¿ EJ~×?øw¨ XL¬IS¢Ï6¨Š<Ð͵övŒ È|#@}>Ôë£éƒÆÁùƒ(Ì ^ɼáô4bx9·SR4¢‘^R¯5’·´º4жóGܺ4ƒv 098ä·Þ†`NÁCèÂÝ–Ò,±¤cµ³ÀRgï:…LÒûä¿Á¶ÿÐ(/y5ˆÔä¡……ûfµ€¤§.=ƒì¶kU0(„D3àh\?)Ð#S6¡õX\ÜÛ.Ú}þ«óB. MT¨n+­ÍjOq$9äÎuu5Û»:NÝ¥s ªÌ Pg¶¹¬“êYëÍUZ¬0BQ‰Á -Ó³ûZ’ øPØ]§K¯U×´d7ënòþQX²¢üýĽ‹ZYý†{¦:Se)ƒ©‚-ÐðR){ÐTá˜ÍÇ]ÜY·«;ñœÉ hô^ûesÅBëEïå£rZŸ/F¾áô^ôâ†.CCh¼¤º³§?(ÛR²,5%˜h8úÐR߇|R4™ÄSä'“øGœS´h§lšÕHï‘»ùÖ<~ÜÃ?07áäMç5êùºh=Zßy:ãSœÓÑÏveTTU_`>AHDwóÓ_ Gɯ.š¿iÍr`BeŸã"ES—нI·ÁÄÍeÔüŒâÅEQh0—àBKϧEs¤¸Ô¸€R°V.ã—¸–38s8]ÁÕá‚"z“Z´¾ƒ–I»Oô^hiêöŸ=ÒgÆ:È6*LÙ Û,Åf¼_´ì˜Ñ^l,d KŠuº¥‹¥•ט-f;c9R_}ÌLÑÕ6/`ó`·9Ë ›MÝ1Ì-^ÆØX&vsŒ1(šÕ+š,íæ&`þÅ ,ͳêë,G*=]ûò“w¥vmM¡Ig*+)Ê2=ËFk3œ0µ™Ðaf’ŸÏÍõ Pé jö ‡EÈ)Q“ª©é|¿¨Eä.0UÙ;¹6©­Ózø :ðhRÙ(H&C†Óy±óF¥Ï— ,ƒˆk ±.dtÐñu·WüÅ]´ìîÞ¯ÃiŽ[ƒÞXjJ…2` ¬.>2º$¶Â{gšÐ‚´pðô‡P ŸšZñ–­Lbµ™Æb}ö‘üh‚ãõ¶6Š>wݹºgIDà ñD?>ŸðÏiˆô&\D!–, auà¶ 0Á¹-œëÎá;„QåKžÝ‡\£Ôî¯tÞªñ™æ“Ù¦Ò~`ä²”Ïõë=,䃯-þGX©>«|×”gÇrŒQ¸ùSÀÑgkf9¿ÈL¢Iÿ ²[Ëj€qB¥ÃîDß•šÉ™#7_;'¬×ç¢>?ûš”/ùÐ_=(5 fܲÕw¯ß §“µ\ã+Y?➈è£Zþ÷¯tÆ+rý)Mr v Þêéy¼$§ïLC$\ƒ:ÛÚµk¥ôRƒ$¶Àd,>HÑ'‰);4 ñ°¿éà‰üSUýU§ìݵ—ýçš}g:>‚.8Yt<ÞqŒlõr”™n´ÛBÄ€ð§)–[ô)êØò­Sæ@)l‡ô¶ÂnÍyç€ÝO¡vÒV°ºë¿Kù60- xÁl ¹ü›ƒ3ð½@¡p ­.jb$|)^úé¼ðJøˆŠdê¥2?uä…%Þø-K\òMe"?FDô·¯÷iÁHýoØbÃì‰Àüš)>H.?·+Åi$Ÿ86`øo8íE€Á¬ÖVÕÃ\á„"ú3þ\ó3pèÊw0ñ¼çUM¡µ :&†÷r$•ÍM™j•A­Ïre·A'x[*½Ô‹bX¿ÚãÂénä˜øícîGvü_£üîR ‰¿Ú6„›†\¨Ä֚ߨ%¨rôJ½òXN+´BK£­•’ó· R´ûâ¡·¢)vé3øÆ¤1Á[T!£Ýf|¼,sµÅz%$„ þ/µ«"endstream endobj 228 0 obj << /Filter /FlateDecode /Length 162 >> stream xœ]O1ƒ0 Üó ÿ ©bA,tahUµý@p”' aèïKtèp'Ùw'Ÿe?\v ä#z|QëØDZü‘`¤É±¨j0Ó1ÆY!û›ïO Ø d÷ù®g’ϺiʪÚCè -A#E͉V©®µ¶ÄæO:£=œ—º+Pjãì?•Í%Λ€kŒÄ©4-MrÇô{&øS°A|1{S3endstream endobj 229 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 325 >> stream xœcd`ab`ddôñ NÌ+64ÐõOÊÉ,,M ªüfü!ÃôC–¹»ûgÒO/Önæn–õß÷ }üîÏÿÝG€™‘1<=ß9¿ ²(3=£DÁÈÀÀXWHZ*$U*8é)x%&gç—gg*$æ¥(xéùê)øå—34òó’R3sÒòÓBR#Bƒ]ƒ‚܃üC‚5õÐã3000103012²¤_Ã÷Ÿ©õ*²ïO|Ÿq˜ñõÃï¥w¾‹ÜaþñWì·è÷[ß™VÞ½4çŽä‚w†~+wsüneû­ñ׋õ!Û¹ïY¿±}çý}‘õñ ¢5.v¿¹€*TØŸÁú]…í;G÷€¾Ò…?æ|_8{!Û ®'Ür\,!ù<œ‡z€ ·ˆ¦öñð001çendstream endobj 230 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2256 >> stream xœ}UiPgîffºƒiPLÏxE7ñŒIåp]D²<âˆ20 08#0r ¢0Ì;3(·"ˆ €Œ^íQn6 lL4TÊdW³å–ÆõŠQ+µo[ŸUn£1•?ýãûºÞ÷}žïyÞ‡¦”^MÓŸD.°¬Ž5Ï2¬Nš4q܃qmJlšçæM)„–†zIo(€¬xÔ÷(J> ðQ: ÇwB«®xRÐô’”ìPËšì´$c¢UûÎĉ“Ç“¿jõÙڙ㵱q&Kfº)IkŽ×FŒ¯kÉ”“´c,f­Þ›’ µ$h–j£†-X¨ _0/:jáŸÆÿîl/R¥6[Ö¤¥[×fÄfÅÅŒ‰I)«ßx—¢æQQÔ|j!µˆŠ¦SK¨™Ô2jFͦ©©¿RT$5—2Sj*Pf‚RRFê :’>èåµGÁ*â7•ze¯j¾ê$ÌÜg—±ØË\"wß{¶ú>ñzÛEˆÛÅÑâö¿‰ ¾Lÿt*PœÛÙKé_EèRý<³`¿Ïð7ÉôB•Ží-ƒx é­cÑß…þ6•ü¯å+PñxªvgÑdì/ý\*_ɶ¹SâÝô> Ày LhQã°É7É¢žðEFÞúy þá*jP©,)H*ˆO°! »ò¶B´'*Z*Ûí>G Õ\aªH†å°‚ë‡A‹8Ì-Ñ¢©Óÿª d ñ¯Kõ˜®ÆÑã/eLlž9A8ÂòwI˜E=섪’zB&÷xëKhÂØémÚÃþ‰okH@ Ñ.YüéÊ”ý²¬cù€æÆƒÇBNwÎ!~ß'tK·‡Èónðy©«èÄGI#%¥úïQMËWĦ¼V°ß`øýä£W8l‡/Àm,¾‹áråKÛQu²rÌú–Ìýû[:¹¾=•ÚìÆš–{-tkßý¾š>>FÎ¥4çÕ$·ËôåºÊèJ8Éõ|í¨¿¶eN†Spä:‹w·¶ìÖ\–ñVdfæoZ/äTZÊ À…NNöéÞÔê šS{áñ…= ’‹ŠÉ 5‹_æÅÛì®,àÒa³UCh6 6Ö•9¡ºNØRº­b‹«Ór¶Ëùµ}ÉCAQ8µ¹Gdâ&fúŒNüA âÿ‡ÿA_õgºh6z]¢9Î× Ø‚E2êXûû¼YÌY¾ùd/C¨+ç¿Ý¡[è×ÍîÕb‡›DÝg¿ 4Ù#P6rth$Šå«Èœ_9fCçÎùľëŒÀûà,ßõâízvôW–»Mƒ í‚#œ‘{øuS;2¤Q"-9¥aj‘M+1ÛÓÀ+yNÇ–µç”hÞ%o£Kõ¹È?QºTº^G<ö®L­*©…ÁPZµµ‡âÏÁ[k][{@&}c¨çÙV6ã87½½ñd’uv8ó:Ô@‡)ìíg‰_2 *™´²-kosKÃák ¥åÎÀu7-×Y2ÒF‚–Ãpîƒ[¦K=]mÇ„ X|C8Ì쬆=Œú½ˆµf½µ«½0¸ºÉ)ô”¥ùPX(†³Dƒ1·0 ²fKÙe,²¦½=Fº‚u¬l{mAØ[ÁÓ‘R—q° ÙatÖ]`1€ÌFFåe%ˬc8O:ªá-XdÍŽbçúò+¨ ¾JüT+t ¾&[ÿ }Rm§ä×I·ÊÒdôVo˃‚Übû†baSæÚ93À)»²;²;ìÇà× øúͺª[­°±0X¹_ùrFÓŸIð{‰–Œ¹;E.7´•U/¨Dùç{„"÷»‚ x¤2+_r?×ÊÏ,_KõÛ¿_QlL›Þ•ymô2†Œýq*º:jöÔèY~:õ“’ïÈ7Z,1! `n\ßžÎÉ»¨ÎT·mïlmì‚fpçî5x»¯Ùc€OZñ#·¿¼ïþ{nñ?K2æº,(Ê))Ê+ÒçÎψ“û)Ó ‹i,sì»nDo2¨'M–Ñúé= Â!Ç4hÆâ5™Çð‰§.d¯…Ü2ÂêñÚ$Wÿ›â7}© 识KÔ‡…N©'Œðæ|ÝYòð·ûåáMq̽ÿå¨r•‚½T(Ø”—©Üª¶¬¦- ]‚¼°É 7޽wÒÜøÁ£ÛØåß„×hK2¼2_ܲRK6uU}Ü~«&%Ζ¹ï\Öaâø]Ժ͋¬ †|zü/†“¾ê¹ˆãÉp œ0ŸIu¦î‚CÜîŠjøà3›jÜÙçBÐ÷lßw§×´TiªË«J·•Úm%EPÀ¥íÈnjÚQ¿G ‹Çª—ÂÜÙ³¡÷”À>ý4ô\¼‘Ë„;ªã“—Žm8~¼û(ìn1ßɉÑ<ϺóŸÁ3‘<ß&»_Š;ÿx,³,åìxá¼ —ǧ~“y¿—xOhõSÃÝ—{\Á‰þÝ8‰ø"Ä7b] )fùÏÉLOÍs¿f€¯KÅ_”Êè^¥3âbÛŒGÄ–ö§»ÿi=éºgæÛžB‡°Qž÷QË_|e¸§(fDÿër>ÃÙõßú^À:kyü’5BÖµ).„ÂR½yçÉù{”ó¯bÆADÇ3Þe­NKÝ´œ8)…Ç• …öEÅ6(†ØèJ-O‡õ²7|ÈÀUD¥ý\Âr¿§=âÔ_NTÑR¤š„Þc`movï;!¯£z9ÒËJ²Ö•XåXßPšQ»~‹§ô:NÖµ<-JË2i<èÙ¦@qÒߊӤÙF{™e]ä¤ûq„J‡E„~KǶ¹¾‡è‚^è°qd®T“U ®Â#*ßü*)ªc*«qM \dññnu•:œ¥Ž²²šóµ>>õkë0endstream endobj 231 0 obj << /Filter /FlateDecode /Length 608 >> stream xœ]”»nÛ@D{}ÿ@û²a»q‘ Hòµ2T˜h¹Èßgfd§Hq ŒDçÌ.îúéåùe>߆õå2ýê·átžK¿|,Sýõ<¯¶»áxžnŸIÏém¼®ÖO߯ëï?×>à…~ºçïã[_ÿÜÕV?mïM—c¿ŽS_Æùµ¯ö›MÛŸNmÕçã•Ý¿8œ>_Ýíšf³Áћњññ±iǦAMƒx`œšqb<6 ⑱7 bg<5 "¸÷Îfƒ'â¶i·Œà51™ÍšÑoR0*X4 b0fÓ &c5 b1ÂÕäkô5¸š|¾W“¯Ñ× g4 äL‚FAƒœIÐ(è°q96.#§‘ÃÆeä4rظŒœF—‘ÓÈaã2r9l\FN#¯‹ÙÉìtA:!€.H'¤Ðé„ † ƒ¢U*@¢ RˆBTAªQˆ*Hh1Ôd°ÉÀ½ÝàÝ „0‚„F#QLªœd9 „F#ÂHb$RIŒB #‰‘(&UN²œÄQ§Ž;yÜ Àd2Q[ªºdu‰£Nwò¸ø)…¤B¢ÔT±Éb6)£¤QÂ&e”2ÂÕN]ïäõ.t\ê¹ØsA®$X,È•‹‚¹’`Q° W, äJ‚EÁ‚\I°(X+  r%Á¢`A®$X,È•‹‚¹’`Q° W, äJ‚xrÑ|mîn¯¯e5LËÒç›VœV7×yîÿ¶àõråWfõÉ*?Óendstream endobj 232 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6411 >> stream xœYXWמ¥ÌŽH,LFŠf–h,±Å%6PQPÔŠ¥7©K[z¿Kï½wDŒØ±$X–h’Õ¨‰ILbÄhb¢Éó1—<ÏwXò}ùòü¸ìrgîÞ{î9ïyÏ{F¥§C‰D¢‰[ìì.˜gïîæç¬º8C˜,¦è¯é¦áH¡ú¥­>2ÔE†zG§¼.6æN„²ñ°u¥+9y® <ìíéj¾hÁ‚Åóæ‘÷æn‘æVóÍm]úJC|½Í]™Ûη›o¾5PJ.z›Ï 0ws÷rõó0ô0wtße¾Ãaƒ½ƒùFûm;¶;¼9ÿ?ÍSec°Ë*pÝáõ‚­CBÃlÂ¥®n["ÚEÚêî±ÝÓËÞÛÁÇÑw‡Ÿÿ›kgï3wÿ<çùo-ˆ^³H¶8vÉÒeo/ŸºÂâ•«VÏ¢¨©Ô6j5ÚN½A½KM§fPÔLÊ‘ÚAí¤fSNÔ.ÊŠÚM­£æQ{¨õÔ|j/µz‹²¦6R ©M” µ˜²¥–P›©¥ÔjeGm¥ ¨×©±ÔJÊz…ZM£ÖPã© ÔDjeDí§XÊ™z•r¡8jeL™P¦”.eFM¦ô©×(ž’Pc([JŠ¥Q•Îk:Î:ŸènÕmÖ›¥W¤OëéÿF{ÐÝbcñ1Æ‚¹3æ1rƒÅéc×m6œjXjøò•¯\wfüÂñ_MX5áñD·‰ç쌺^°•ìÀ«¯þ›[Âɸ“Üo“L&YNr›T8éc_ã ÆLö› ˜JMoš­5;1yéäì)c§8M¹ùÚØ×zy}~ŸËã„:¤øM!¼.5ö§°MWHiãPijQ\nJvŠAø¡Æ$ñ˜Lî‡P4Jtǯ ÖšÈP(JɈOII@±Œªä¥«P[»yJêÓ‡etý4}O)òóo@U’_éÊ&Ô&Á«`‡Mèàc}õÎЯpTý¤G¥1{Z(lãÚƒQ4ï1ô/»N®ÜäìÁ³ÊT~·¢£ƒÉrM¨Lr÷»hG°˜.#««¾)q 4Ûúüα —Ê·ñXzH¬ž×¬š7O=O¢ÞY)ŒšÁ[ØY’¿€1{[H&6¡>”ƯCèC¨~]®ZŸ\•L£c‚‘¿_=ª—¬Ç3Và ýšzÔÞ¬¹Dn5¡rI= †8 ›âJý0š­!4’ëlúod¨^,…JÃN}6ý&aCs~So¦1Âà¬0ú^ 1ʽj…Ã;Rî½aQ}½îÔEÔÏÜÞzëò8œ–©6oD’æAÙáQÎɤÙPп6pO²z87_›Ùüà iöóoëì|$µø=nÏ¡íKxÌB8ð4«÷m›•³jÿ|®]VB£RWð?&Άõ°ÞüYx"fœ : óãS0â­ó¹ùvk--íî>ùþÆ[Ÿ^·]À“âBBt\ Wɰ’ë Añ‰¡( ƒO~Ó"Ä 1 –þ³áÍï~¸öÁ~‹2IvTVtbºPm$â Ô虚œÊg¤¡ŒØ`Ÿ–ý5»ƒ9b…¶Å›|Â$` Ñ€ê”̉ÓL„•íãýüú^çH?ož}ÖšQæþ< ¶üO<¹Ñ=®';¢Ÿ~Vb=iÎÛ «¼žão‹Y£«W.}xçŠÕ~U¢ûJ¨"ç„÷9X²fcS» ¯^.©”…iGdy0~æ°”,ŒÇ¼‹Ç“hÎdOiÐï#b†€¦u¢+O+÷‘Sý!döpâjTçí…Â¥¼5®00»¡è®#¨®š2t/ÚÇÆàB³=±“Ž@aGTÞ%¶·§yóƒc´¨m”ùk-$4«Ó™_Ø!•©0O ºJô­1»@ˆÆr5q'–ïڹő?"f?W¯ˆu4)Ò@ øî·ÐŽ L›GXW…À7~¸ú^áå!•ÒFÄÔÕT4mæ£z‰~UÂr\]!VHᆠž¨5±sPæ3Ê•óéòFufEKœÀ¦Ðë‹)äVö(GŒýST)t˜È¡ß0Wë›»±Ä$ gc ziêhÿñë2ÿ l^•Õ>„P¥ !i²ä Þ¥ÖEh¾ºÂó­Qe’Þ¤/cÑNÆÃÃgÁ>‡â{Á|jUZqbTá’ÌG£à¶Â yw ßëy)£…àkQÇ×ç†òî…HåêEäì;Àˆ«Bµ^>™áQ|¦}B(bV£‹H„åâ‘ãå÷é0¬X¢a=Ÿ<ÄéôœO,=ù æÓ¤L&íô{5e1EH†¿^K6¹†rB³cŽ#Óã(»°JÑøP^–]ÇÈé\§n<&'©$ª • n”]‘Sw LÚj5®TGï–Âè¼¢ D$r¤ú¸&äf'ñà'¾µãüÆéÈÊ¿6º¡¼¥°[Σ¹¼&«L^Š óÙE¿õ¼!ßæ0l¼õ‡¶¿v÷ç·ŸåÙµ~uç2Mn©#[áUÿâH‰?ɰ¥QžÎ(i²Û‘÷ztÃôœF tv„=—ÈÇØcÌ~>R>ÒøUX 4ÌÒ?N—5‡y(Pu¨Yb9cÍ/úMuCÕ«‰HS¨Ó`€gá x©þAšm¹c4 G~’0~×.›äžj—¡ü¹£}…ˆÐeÁÜÐ?Øþ7€óh) 'dQÓÈÿÝÿ7ÙƒH )ª=TdLEòONÈ8Eõ‰µÇ^¦E_÷ ÌC; éaŽÅŠ­`ä¢ö*Œš`7Þt¬a·1kö¿p¾{Çz¤D&û™fÒ©Õ‰µÉÕó!Ù¤ñïAßNÃTü2'¥#dŠPðÛ±Á ›à虓ɠÜÂR »¶1²*˜gOŽŠ r=r°÷ùi0)ΑÀ[Â^}mnhÈò¶Btq-(%:!CšÌ§ÄFì³D̲u7¿?×BRjrí{(Q"÷ª–5 ¦¡¶²õö4äŒ×nÃScæƒHŽü\9„¦ ¨P]î;Ð÷eL!Æl½CÐŽ|yA&îPe»TÞP{š,1hv6‰óL H Ù–pv1”dä%4#bÔž’°­$Ý:øA™ØW…6Wå þ¾æ4ìǚŃäââý×±cNlAh©{nr^RIr *EeeÙyßB^É%F>D«–Ð踄û#þP'‚¨W ==ÜmMvÇub¸½µ5òlTiz$ Eðø í“”ä#Ù/©@M%Æ7po¸43E™zסj^O×å¡TÎ 'ý'*HfíX-k yÃÚ‹hŸV·Š¤&‰æÌŬ„ÍÆÍþ½ïDsk ÏnõD²ãüGãùð6Çv98/_½~Û­§7oܼÞëਅù“>ïÓ’…Ï5@|] ¬ÆÁÀLoÒã:c²#ÓZˆ6Ê‚µ£ßµÀ å4lL/õªÈlB¦m%ÙÇ$B^£X 2tí³kðªÂˆ=,YdRzD2¶kGb Z‹Öž~ÀÀº¶u½ùg< 3—°ÝxÜ/3€“³ùõ0•ÃÕtÙí«ÜDD0¾Á G &’Þ¢üé;]ÁFxŸ»öŠ~gõþ%üΙÚòù îŸ1ª5hKÖ è‡q£’mÜYúÞǨO+<ÔUS_Ñ¢ñlQ@ºšŠ2>B…µÜËGXÌãÐÿ%¼€Óîá[ˆNæö£'„‰v°žÃ¿é¿ÓOOZïTsFä5°¼üÁ5XsÍÿšQë•¥½6)ƒ®¤)ß½bÌN „<Á„«hß¿'Ó{?ÏPÅÑ^Õû'Ï[¿vÙJŸò +¢â£ÃüÍWYpa!… –Îhc¼ÙÒ[áUxõEÿ·¹1•õ%­¼ ërö..N;\Ï^âÙ¹—Oºøþ‰};y 0æ\Ö˜9síÉSU…5|cE!º˜ÐGK‡²î“aŽw$Žýûζþ ÕËþ¡uü4Žmjôl”®ÊR„ªŸp¤µ!ÒÌ?“OÊðˆ Dg.}ˆ ëù¸ÖÐZY1þø¨»ZÑcö`Í}lÀã £ó‡$ÉÈÆŽÊð¹G4]êdØ?êÂQ˜«²EþÕ¾•þ-ÑGóaÃGÇ$xü‹Ûãüî~ø|J³Omß;BLwž÷s+b%©+C¥yê°ÈÃSG![÷ãWF¡ðœFt± ðT¡Žk « ¬ ki©«kiïŒ.Þ°UžU‚Dé~ØõüÀ‚C×=OÄ•º?œ¿ªÊ¢ÊĵĽ e.ôž»åóüòøì°â”šá6ÏD£¢S£ü“x·®%΄±t×®\¶éŒÍ×!ÖgË[R¾–.1s:°}eàžœæƒ¼ksډ̪ÌÊÌ*ß!AMÔŠº.¯¬£?¾NJ8óéáÒJxì°ÊçÀäùâAÏ…¬5!d9’ñ0ip¢{×aw?"‚P\VL¡ð,”Ï´„V†‡†Eðl⚟QL? †×yöU¹ðôo¤áÏ•É?]!uT#3YS¬´…à˜ÊœÄÚ†ÉrTGCô²É_Û ‡%f{úÔZu(Æ~4~vÂxëwRÙóGé/Ãsõá…Æ[-Q÷ÊöŒêÚFµU{¾¢¿¼cñ[š';joŒˆs‚Âtw•ONZ)ÜS'¢ô¹QD‡ ÍmœœvÚ^ü7?´‰ÉWÛÛÔ–ýeÖ3ÿî­çÏ¿{ ãyxÖ&þ›N³mHM®~ÃAT'ö$ÒCp£ÆÿQ°I/{©ƪ^Æl¯PªÖž<¤ô"·ØC|Ì‘À*ä‹üe!a ûU[†ENöÕZ‹ŽJp¿Ø3|ˆ#j¼L‘ÀF1Û;Ðs¶§¾,Ê–Ç2qÄ0‘Üýˤ˜¢²Ž*uá\åŒÝÿÈëüÎÛkûBœ"MŠ)NÎM—Àr,*ÇK %ÌôÀ‰r›¬ Ò)~(+Ì@ÉÈTQœRš,ÑvLmKŽMARÓ4pœ‡ ŸfeÚ ÓDäÓÙ‰: [3?ÊhâÞ57]›£³PbjJ«ÊUž]®x9 (˜ HºsEs_Nƒ¹£ª¹ 퓜è+ùs³Ø//á6#ø†›"ÞÔ¢Hlº¼PáQ˜F— .//äEFÓðTqùÓ« •HˆêžFÇ!¯®.ÔUÂÃ4˜*.!ªE°fè³FNqè=—ƒ¡þ¾î­Áyùò¬|>Æn_t\ZBzd*’21åQ•¿¾:¼Ö~ÁÇ®ÜËÍCf3*içþ9 Ï5¶i3Tæ ^#¦ß¢µ¦Þ¢‡M#zè8‡ßþ"9;%§›â·WzE58)7…97`ŽmWLÃE¯JSí&ê½~®Û¿É×=ØÏÏ£-¨ãXc{»ÊVÁãåL®*¦R–›Âã¯ÿ´NŽÎD(É4²<ª¦.¿¼4‡¯_ZçWÈ*0yjHÜ÷H|à [§ƒ1ÖÁz3Õý¶þŠAôžƒØòÖÅže‹ V­²˜3”Ïîܾù&ž©qœW½†Ék –'òxJ6:ŠÚX*Fé=Žm'Ë;å ©D¨Ï.¨:ö0« 1y5y  ‘°(vq”$3íFÌB1òD1žÑž1»3C“"M ñoÈ,’4e‚(=kƒ-ÄÈ9_ 8úAò9Äö˜ºÆ)`œT©Ä–­Cìµ@¨¤Uå/"%..•w_摞A6 ®J-¯îÉ;vŠ´X Ö*„- á¼'÷rx}® M³k:©Ñì¤è¥ ~=\ÓP‡ÈãDšpõÂÓ»'3ì“ûÎ\ÿÒ gÜÅã°ÁÊË~¢N [øŽ«ˆ©ˆŽOIMIæýƒ¢e(%Æ–Ä–Jk½Ña% C‘LtytEq^n^>ßÖÒTQ†Šˆ°,+­ ?‚šQKE}eMykªêk(…ðAÙ¾~ÂôI°W´Uð‚îL.ðæé”š+Åø“ÄX”AØÅ§0¹‡\LÙR¢›´lhÔ= ê°U;‡ƒi†_õ5¾mWÀR…è¡2IýÀžûeõÏØÀË%9Ì{Hõˆ²Né¸Z‰B;ªrr‹ øæŽžª+T§­lßY¿ííÀÍçä絆V„Çø'ZþÍЃ‰Ï®Fw‚N?èõà RÄo­ÿÒ¾p"=+øÂèÅXÇÉ)ÊÍ™/ƒ×¸ÿAñ¹©ä'…83¤JÚÔXSÙÖëùþlB'føìŒ@ÏêÏ>ÑÏ߀!é´–ÚØ¯³=Ô«ò Y ¨Œé¿vþ³¯.m²Tí_.\!ÅTyYÝÐ uÄøk:¥"%!Æ…EH\‡T]u •4¶Ä[¼ña„uò骬,nås¡æ•âjMUVÙa© ØOªtTB½RõŸbs58½k{Õ²öËæÓ½è2sÙ=<¾½ÒÂþÌî/‚xöÖÚðÍÛךÍ~²&‚Ñã‡?ñËá8goçbųVv§û.öûâÞå½N’2ügmã°œgí—Ûô)W>üþñå-[Õdòœ á:—}Ö» E €øl—Rìb"Éo!̘[%¯dðr8ðÏ34YÑÝ$ÃÓ›8$îL;/«ØE¤UŠeˆúo®m(éþÜñSlPÄw«{?Í»‹±Nìæ5È…äa Vú18FìœçVs!/§¨Õ3-!•ÒDÏ´ý˯¬&ž÷P5,ím¨±‚?&†qÕ › Ž…íœ}ÑΣè:wîx«9´ËyßæxÄÅžtF»TN¼¾çPulA|>>6&@ÞŠóK Pµi}DItbzf¢ŒÇ÷ñÁÄ”Ø$aŠÈÌ¢dx€ÝMʳ3 ¡UT—Ô«#ïtó>ÑQ‚×åÈ—žÑ2¢ :Ušàº¤“h,ÌS›­2Å’ä”Í•'çD–à ßìSzèù1€Ù÷Åù9¨œ)H­ À° .ÄcÏ,ìÚÍ_²ºë@(¿)·¦@2.¾XXW «ŠsŠi…r,o çh8æXEž\õ“[““ghHQÿ9²=Tendstream endobj 233 0 obj << /Filter /FlateDecode /Length 525 >> stream xœ]”ÁNã@Dïþ ÿAœLOw¢¹À…hµË8öù€c™pà頻À8´¥JâÖ{eOv÷Ë|mw¶Ëð¯^Ûi^Æ­¾_>¶¡¶çú:/ÍþÐŽópýNºoýÚìîŸúõås­-~P§[~îßêîï!²>Úßn.c}_û¡nýòZ›SוÓ4•¦.㯯òñvÇyúþéáP4]‡+¢ ¢1‹ñÈxW4ˆwŒç¢A<3Eƒ80ŽEƒ82Ö¢A¬ˆ ˆœ®Ãq_4ˆ{F%Q%R¥T4ˆ‰€I‰) bfô¢AtÆ(Ä`싱gos"sos"sos"³Ði„4š @¤Ò@d¢2RˆLTF*C‹¦&MLF ‚ Èa@0a12j˪.³º „,ŒLŒ „,ŒLŒŒ§—õ3Ÿ`Æš¬U™«6.#§‘ck•s•ck•s•£rWíÎÚr.A§ CÎ%ètTîªÝY»Á…áÄp¨»ôúŽ—Èõ"9_$G®6œm8špµálÃïRp)LEƒˆ7þ(&TN°œ€MÈ(h° 6!£ QÀ&d4 Ø„Œ‚FüBP!€R*xCÌAæ`WžÃŸÇ#ÉÃýs–ÛácÛêrÕ?€N8ö¼Ôÿëeå]-¦ù# Lendstream endobj 234 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5752 >> stream xœX \×Ö„LÇ¥Z˜F†Æ>é¦V«µZw­”Ö'ŠŠâ n,²¯aIBBHBÂ,laßYÅj7´jk­±¶5¸uÓ×Viõµ_«]ï¼wý~ß»"%ôë{2ß;÷ž9çþÿs®å1Šrss›¸600!>aSìžøÔçfÏÜ™»'Y¸3…—¸ñ“Fñº'ãLþ׈`œ;Œó84irª?ÞUL@»¢ÜÝÜBb3_JHÌL>•ê;göì¹3g’¿‹|÷fúúÏò س/&!=%æ€ïžøý¾³gù®KH'ƒ|§%Äûî Úá›á¾Õwó¦7ù®Ú¸~sЦ§gý¿¶¹ RµøÅø­þ /%®H^™’š¶Fº'cïÚÌ}û×…GEFm<°)&6îéÏÌ 5û9ùœ¹ÙÏÏ›¿àñÅO.]öÂ4ŠzœZO-¢ž ‚¨'© Ôj5• ¦6S[¨éTåOm£^¢fRÛ©—©YÔ êYj%µŠzŽZM­¡æRÔóÔZ*ZG¡ÆQRã©åÔÊ“ò¢vQ,õ0F‰©‰”7ÅQQR¡&S£©%Äñ”¥w›âvg”iÔ5÷m£=‹æŠ.Ó 4ÿ€ö[ÌNæîèö1SÇTŒU޽1®åÁE~8~Éø'ly(ÊSäyÝ+„ÍÞ|x‘øq°øìDÑÄ9wLTN¼ê½Ü;Áû.WÆýâ£}ä¡G*ùMâ/ÑOZ5©xÒ­GŸT…ºÆó `ûÙÆ?–îÖ‰Ö‡Ö»óùíâÂr}©Ê¬5¦ðuœá°¢ âAòp~¯žS@*h JmnŽ![×ÕÀüH×@˜ÛÍé GæÐ|ÚüD$¤ƒ.ÖG×5œjh!s< mcŽFcÐG"‡ èœ-Øæõ›Û½Ùƒ|E»ØÜ‘L6dÂèW¼únØkKÁg5l=–Á°öN³±rŸÄŸ–A2Y^° ˜7è|Næ:ˆæÒŽ=‡–kG+DìÁ;Uןœ‚’„œõá8Û?ôX«ã±™ÎLJu¼ÂæÕ‰¡@<™\~(p-ù7z³ý¼A°5‰¸ŠI¥§£4¥ŠèJ箎OÐraõ8]l#4 <… ASêÈWs‡¹=Y˜Â®~‚fƒää˜Ö•dèÝFú:NÃ+pµ(fëeâ°°Y¸ùóÐ)$ÈmáXý‡x‹ˆU§BÚç ¾’ÚP¨Í뮽Üv4ξ‡xûM¾-—Ù#>XV{¡áÔÉÒsÖË;¯cw`°”V8 j†*`ZéE÷¢ÄΧÙ$‚«åŸ2{ÐQ±fïî5Óy’îF¡"äI³ý_BY .šIįˆs·ozž¬ÌÒ‡‘T„þB³£¾„ÿÜPÁ>­ }bsãÅŠë‘ç ?`>nÓ¤ØSŠÙÏžA£@ø¸W¼˜UEbù,?¿áEØ~µòvå7p.Á©ùla1•/¶¹}cG¿ØÝù´TléJ¨‰·4ñ)OÏOÙ ³aÕ¯Íhz3zú—_€9Û·kñ䂬|Y;ô€±ÞT׈&sÆ*Ssd‚&G«Ñç!+9¾mOÝVÀbÀüHˆÃÀ ‰€¸;Pùµ°9N¶¡gmè‚ê~{²ý]cÿ…øú!Нw¼Ýÿ#s,Ã>I4CEøÍæSsîµý)¦VCu˜ ®%ì9U݃övï9ªîäHôm=b™•Yj†lqÀ É2H¿Y|Ìz™c=Uï•~tê}ÉxÓ_þ¼i6&d`¹m³Ç[ïñ–£âÊc­©áøDAžTŸ®\Éá:º4ò¦5{õ²èSƒ±¶ê6g¬5’‰Q`iö2Ø›„?L„ 4Û§Þ¢ÏÈKëŸ0Õëˆ掼ÒÀÜM»¾Ý¯¸aoKùÉt””˜;™aDØ‘âKovßÇët¯.„­°:sÍZK7ÇÚ;Ìd} 5”vM|¯9b±ë ªpMUìNì‰Øi¯ºúzP¢O)Oo†h¬2·:-ˆ>^ÈþIH"?òÇ›½Í÷óZ±õòà›ùÜót}‰.šýMx·h×a4‹lÞìÌbÂN!ô!-B“þèZ“õz‡k' Î2ÒCŽe¿tíïI„¼lHnsçS‘§¸úgìYk^cåâMk¬E¯˜Zz;¾…¿AI\~’!+?«œ±s…´§€V¡×ì­ƒ ÀK r‘6RöìOYŠc¹Ÿf«·h#vGφ°¹Lù)c¨1”%Á :dÓ9½,/¹J ª ¦÷µÈS†6@sàÍ¿sšv8.Æd¶ß&^+࣑—ØXcª‚hÐIõYªÀ œTxJNššv÷¤¡…®NbƒðBše*®Ž SOö&ÊE¢ç‡üë ?và&½ëe3ÎE^Ÿ+póµÊAC‚ y¡uhV#šåÍ&òbs{(€ ¥ßA×qüCFFâ"öçä •1’¥`é2w¾ïãù³wãÙŒRÈÞGáµÒ£m„åcòê¡Fr™®^©cH^Üšdž;2$&˜¢¯ó ¢Fàó°kÎû°Èl×áÃÃx¿ZÊ!Tˆ¶]GÛÜùóü“b§+ñh×dh£ñ|5]µ¹úœLtQŸvú ¾m9PõàSKt¬º ù¡¿síΧ†||ÑæÅîæëß *·ÔfñŠåÊ.îû? »á)PúëâjeMdÙƒ%E½…Åu…åDC_¬òe¼B¹m² «Z©:ð£¤Þ/:ÙÁ°~±ÕÇòKÚHvOâg~ëSó¤{2ÉĬý¡+ „¨nË+%Çoõ¢§LCôA”|;žˆ¶›É¿éh»7{y˜„ yh2š&:BH¶u˜ßwUŸ=… ºÛâØù¾‚c'›Ý¯!ŽÐ·ñ4<Ïí£Ùƒ.·Ðè!÷J!~C¸ xB‚C·}œ.&s pfΘtÛ=ûƒˆ´£€?Eáü{}zž´|ºÁXgn‰á!›A†¢ô=¢0\„%ýÑÁv¿ð¹i¨3ÕJCº^*HƒÖÙÓ4Ë»ún¾+zzpäÇ ãyœa[‡¼Âlü›×M´ “k>¹Ö__w½ð:oÏ mDNƒþš)!]*#B©ŒeòiC­®>¯–a=©-H#j¦Ù‡)Wnñ¤È*¬5hÃzQq:bž„5Ÿê ÅØ?Œ9ùz€ý ²’Ã# ò|€¢’ÂrGªÙ$¯I–°oø&Bzf^’fOë¾ãp>Bœ¥ Éø$?Xê¡á)â j7Ð ä&6·Åƒ–X‘cP¥çf'î|æÃúþÊoŠõ¡„äÚ+¯ÖEU+šH©ÝXm>ÈX/?¡€ý`ž$Ÿ›ŽÇ}òò4ÞúÞXíDü"ª"»? ä—”BÖ¥$T\'YÔÜáð&z/!~EÒTÊeF*âUñ‚ÇúB‘5ߢmJ¸qÓ‡ë¡H¹þÃëÃ`ŸóI\mÜÕ‰ƒ ³M©Eá&)·Lc…r¨,.«0Y‹,õ§˜zɽ¤Áu|F,4D$ô{]²ÿl¿Ið'w¡ë/yËŸÑu"ž“p0¼j7ø`7RK>CªHÂø!é•é¿JNC_kçA†õÔG~çdÌ¢b¶g“:há ’—aÇÅʪï®}Ðçá•Mêàß9û§ÓÈF<ú5ÿÉ}>æŠéfzé½Q>=…×kºÆDðYå ÑfG&$»þêʽÉôg|‚¨€¾{O_U•ß>íPn´&¯Í5»ø Î~|=L(7‘—á)ÔúœŒ¸­›Ô àkÞ2|Å t=Ô‚¥·Ñ;¾Ç%Ι*ŶOÿb Kç¾&"¼=.ƵtËå ïôÃI8“œûä•"OB [ìYö•7^°£17¼Ù½|+ÿ¶¸ôìbù˜¿Kñ¼z 7u„*¯¾K³f¡›2B´š\µn Í®>‰Î‰Ðø€?O³O÷•ú´ƒO~žqÔAs•¹ÍiÛZÒÛÜÕl*I¯c¼Ÿ¸êvÐ×øB©ÿEՉĮ¦ÄÑh­ÐÍ"ÿæ×•· iæn ^9CùQ¤ýJ+Õ[ä•y½øî;gÑò³qg½*ϵËì[HÍóºÎl°KÏ8Ú€‹<'65*:6“žd{~Ȇýh™"¦v—d&,ðSÌ×ì¶F—ed˲ÓtqÚ¨Òä"å¢PÕ*ƒJ1ïÛuèa>œ«øÒÒ«~kg+£*Úßð0+è\ÈM¡œÄ=§B]alâ-7ªÀdª°”2¬¯ÞPØz\r ¾¼D*!vN¹=ï ²­ÑÚdª((HlД’^¾ÙJ˜ïÀîbõưØ úJN1쇽[zâõ“’·¡{'yÓc‹5a‹vO…©°êµ¢×5•=umU%p™lJy }ùž -卨Ô2t´F"“À`5}᢮¾uäÒéwÏ—^‡ÆÍ½ŠÇÑ“Y‹óµ-ªjR®·T›Ú ­†òÜ¢†7Ou¼Cje°ï’ÏU­ÚàŒÍx§ÊÕêô ç™-º5¬­RÙPáy´ÝæõÑ@Á)ÜvïDóä/¶^Œxo]û¹C½ï–¼]~%ð#R(áq°l‡r¥.ºAQçØ×ÜVX‘Wª7öv\$Í9s^Ì ÕÅI£âÒ"’’ ‘† yrÐÅ;IíMš-ùެÎÙ³nõÚÙ–~e™}s±…´Mòºd"©Ér]Œ|Î h o¸{‹ÔUÆÔ膸°JY%#Ê«Ñåj$ÄËDƒ5%*kNyé9!V–œ•*NÓgdVÙ¯ ŠÈÚ=mmUP Eê2eYv•´›ô¡U-Õ •] Æ'uQ6þQ‚Ž/N‡ŸÞuÚHÈ+‚oF;îCdMˆÚÒ¥-&¡I Iìó³ÒñüON•oЧk£‹5B‹Ì¤ŠÍÄ”(pDV»Êz ÍÔ Š»9xY‡'Ó¨ý( J‡ Í#ÀXE€Q€6Š«ï®ûžD= B5¡ih#‡4#ŽcèhP«u1a¸–Ógæ¥vB ˜Í%¥]¯×œëÐå¯ P,Y¼~ÆÀâŒw,æ’"ÒúL¯’#‡µv¿bá¥Bfy¢¿®EîN|Œ:‡<ΑžÑ_I¬´YLˆÜ€dfg…ì=ŒCÔõ›Ð *“N«ÓjÉþ)•é-Ä>Ò’¶O|{:±ðÀ³ðƒpè>œsÇÿÇqƒÇÓ¤rVÌ[¾ñ%€¸ã96m“¥©°¢ôœý­á¼º:ûEÁR)†˜på÷Î ÿÖWeB.€¼4}†f7xöÙÆZRu jïÆk_Ɖ™x”A¡î!…lm™ùàIÔ‹ÿÅ÷k Ž´½†úÜølþ¼¸´/¦82 V•&ÅaœAÒ6ò"Å5¦j"’h÷¿Ÿ1Hsh ¡:~"ïñç\·¿÷o‰¥Ù´ä×ÏEËÅÅÇ•?`ßÖn´ŸëÊëSoUåj”úl}j¹´UÈC«¥·ü“Ý—0Sjéu–I±—¬—iÃ9,Ê^¾<ûż%¦Ð‚Øp,çÂ,á Ú“µØÔhj“V§ƒ"ò4» ßxÑ*m„£8ê 5§©ÙXe9Ì!¯Ú¾²ö38 ‰ƒKw*>Q|ì#ï—2¿Þó«·†ì\£:„â¹óÙ=¡¹[ ›þØX«*Î)Â¥h ‡úÑkQe±±ÖÇÔ˜e•‘ õù25þ?¼ËÑÊsõ†l‹ªDƒNàp®\]˜_Bø¢Þjjt¸"¤ÿ:Ñ£>Þ‹èQ„ÐàãhD8ô¨Ë¡Gÿ$zÔ%èQ~†LŠvˆÖ?‰hE“Iº¨^Gµò©ð{‰b:ìÔ­°\[¦.Â'P8§,Ѩ ¨¤Ê¼T}FYn©•â5îÇk”Á>Ÿ¼Ôje!9SAe O¡}\©¥‚¼Ã@¡ŸôÛ,.¬ÔšdV<ê‹äS‹<ªïØÐdôô75eŦÂÊ‚âüº$ˆ,ÅÜn\’ŽÇv<׺í¨ÿ›š€i’º‚bf¼ªŒ© -+3•Ѷ1ö±ãœ0nôá*Kðc®3YÆ£¨Ø<‚endstream endobj 235 0 obj << /Filter /FlateDecode /Length 19952 >> stream xœ­½ß¯¦9n¸×u‘û½;ðWY×ÙW¿%°6âlgØ‹é PSÝÓUö9]:5žž\äo_=|HJúªzà± tò£(ê•D‘%ý÷‡ë1<\øOÿ}÷üêzøáÕû ÿ¼{~ø«o^ý¿JmbÇ5ÂÃ7¿}Å"ᡇ‡VÚãHåá›çW·úú›˜´í:hS}¬±Oúo¾{õëÛß<}ÿúÍõx•zí·ŸÿˇŸÿâõ›œóãu…Ûß|øñ5~L-\ãöáó¤Miþ”ûm~þüXFîýöI~Küíãë7±?^¡ŽÛwƒ£ª§-põÛ^Íÿû͆Ðñº…Çz©Ð·_±]!çæMºúcLõáM*½V¶ïWÿþõ›óãèéöùíož¾ÿööÿ×Oßÿð¿½{zûòòçø±LÚíÝÓï^>ÿéåÛÛsøöõ·¯_SŽAf«j*ãÍË=²ŽðúM¸ò˜uÜ¢{Úc˜¿¾ é±ä±È¤²o£X‘q+RD({øæo_}óï~=ù8Ër£Tg÷¿ á1—t'Õ7ïå›NxÈ——o]âíåwþùùí§?ð7@ÚA#ÍNº}~¿uõh,{Ú7::b [r°–ìðò;©Ÿø?pî!¡ôí¯ß>=ýÅë?»ÿ6¿}úþçç?{ûíÇOÏ¿{zküÇí/×§úëÚÿiètûyýù¿¯?ÿÓ··Ÿÿ[üöõŸ/Ôwo?ãQãÄÑãã¦Þþqý´QEm_žŸj6ìMló_4=óÓ§? ííåÃÿø~UóÓÇ—ÏÿþZ¼?½ýüá#G”1:FÔ_|þé1,úë1Œ‘S&u¸…kòŠóÿäb_¤OÂ:.aŒ*lâΦ\õÙ„M»†õc G?¢ÁsöãŸÍ>ü¢£Ëc‹uÓCOX|ÿöÃ?>~mžS;˜ø3Ó§®Àd(Á¿©9ÎOVÂ&ßÞ¾ûí_í¡75éWµîù?ÿÓ_ÿÅê“®9oÆü¥sû«»ŸS|líëÓ¦#Çíþéõü,cLågš°å:§Åœ€%ʸù|?ioévLÌ—Ïžß~>PßtVûí§mÖr ¥8¼ö_>þfƒÞîÀ‡§Ÿ?ªz ˜¯üØÊ¸ý7mhëÇ7ïsÎGí–ÿ•Ý2>Û.!¨1´Ñæ—ž ÝÂ$áùÍÊcˆWš¾}ûs4¢HçZÉ¿ÐíÇ×PO9ÔÛï¶ßŸñÁ¯Óí7s×ÇQz>W!ÿ<ñöñ·ú÷T’Ç×yѺÐýÓkŠn˜žûiy¥Û\\>üðãk_µÆÆîBM·ÏW™¯7­ÜÞMôìf´þã§O£7ºÞŒúØK¿S/?½†â9ä›Êɵ¯ÉÇ ?ç`ê}~>+݆×ÓþQ_Ρ÷ «h¾â,•¿¿}@Ö_îµ~CIkø²wÀ!4ödËáOî[dïHãn¿ÿKFɧúÚH¥?†’u¨ÿô•¡^æœW=‡ú:Öï¦M~ŒP’ÇXŸëej×íß|]£Ì穜_áß|mÇt…¥ßÿ’­ —6k*ÛõÉbzÌs°?$LÐ!jøö¿è§­‡)½6«6­Ú©¥ÒÔÓÜxaeŸ´oò4sZlwúþ­NØ®,3³FQ¤_Œå:-_”ã4[eyž£åòWæ@ H­·§·ŸïfŽ–õöy΄Ûï§¶º}4ä¿|Ò¼<Îõ fú´ƒþæu3heÜ*êÐ8åÎ"zór L”tWƒ¯>„í£¥jjƒøiWC©åöñµájçgè’I!¢¿]_âéí§üK¦»…̤lu6òÔÈnY_…¥§æÇsQP=žz9ûfêX Sð¥G”PÌ §³ÐT0{g‰Ém.%1ۛɬÎŽ)z8T/ïÿ˜&N°%ƒõÂìæ®zUÙÍåýå« r ã1öö/USwîåœK!÷SM¢<ÉwúI槃“w‰:FïØ‡;G®´3ׯ’)ݸf&Ú_øþ¾::³q7?}:홟h ¤P¬£Òç]kêÒÓtùÜò6ña?ØúWþ„U‹f€®Ž0 ¿Î¯cÈŸsÒÒ˜`4ðé#Fo†¥š£|# ST˜Ó:tÙæ³ë>iÁq§~~û¼Ï¹'¯,ŸL|&0¾Bùš‘êÓ¼(8aÌG©3µmX|D¿Šˆ¹M§À”Kãë”iùM’Ï/î_Óo?™ ­£ó+ÜM÷ü P¿™ ÒÆmz£Í_1jSœmýô4Û@qRÓ9S¾Îï;sÞ}iíG™o?[3ÿy¼>}|y¹[CŽßE“’cKÒÙMO~ü ûÜN…ùÝUí{G¾ýôVGSÁ€zK‡ò?|óêï ßÆÃ/®ÍÒÓÄ~ˆ³Øã´Ã¦xÌõ!Ĉ¶=|úþáÿyøñþŽsôüþUx˜•>üëëá?¾ŠÓ4Q,c®WýáyÇ´Ç0ÿ½úõëlaæ0~7Égå!m(¶âKRB1ZîÁ9”Ž–¯:F ˆà?›|VülÁ»Wÿ*TèˆùEâT¤)ÏV-Li®µÏ¯×Ç4?VÙw¯BC `a&<+‰«¸Ã¬@J(&ÎE«<,Ódž'È ¼{µê·ŸM>-~×iU‡6èqŽ*4iÿ†ž¢H0=%ü;áiå;8ëì9?†¼ä!Þ8œHN0M¿lÔ/žæ‡ž¢Q@pÐlò£A1Íõy.F±•„Ϧ"P3‹†ò8Wü c¥œpœ¬œC#ÉìØ¦âÆÀ`V†ÉMªrêfUAL#0ÁÙ vºmv_N˜’Ï"_Ó¦ÁǼS\£ôÅhÃa|Íé8ç¾Q”ö˜ÃÆÁ`©B ("»{X ¦m«‚°ô° a&¤q8Z!]VRÀ ˜nÑd>Ðe Ó ¦qªèåtM¦Ó|~¶© žtj·ÉnÌïÆÆÀa© sÕÇüàåç‚›ëVaЛFa"jù³ Šã§ÏÙþ¼“7”NjC¦cÏX' Æ(Û¦’Ãôw‹~YàœîC¦ KKpocOL£0Á&¿4¨M7£êW¤b_˜Ù»2§¦QØØÐÇm²hÁáYi›*·oSã¶´1p8ªjw ²•ž€/àì ƒÚ0 PJŸòK›ê¬xö[˜Ã¶‹ºpD•)\§ S;Ï ;V©ùqrtxVY爞cnQLV¹l–*PÂ0s@ 8‡É»ç­Â(aR… i ŽFH»®1çÙü©LUTeü9Îþüô\ËÜ‚°bU0xV0–wŠÐ°p-³ )a˜ðXúÃâêcÍ[„QB…P‚%5ܵBZfõY”kîyÞ0³ Â8‹‚®øŽ1ÌU&w‡Qm¹KÝ(Ê사Aè‰HC”›ŸßÊÌ+ Œ&‚Q˜ˆÆál„4¬c¹Çhžëx††_˜‘P}Ÿ‹êQðé3fúüjWvxVÛc¤–2 ,u105HȲ4*v¯‚0J˜FáR+‡³jedµLf7wŠÁ.¬ãC&ÏT:ºjˆq# ,+Q#þžeù_Å fRÀ0×cM‹Á\ykÙj Œ&‚Q¸ÐÊál„tY†8¢"Ûc‘±è˜œ@5—Vlƒž“–ÔüSVáùA3â)Aáw³ )`˜ßÍL¹JÛj Œ&ƒQ¸ÔÊàl[65mA%—•Ïa¬ùÜÛ˜pã'O ÜF½sEªeQ”iÏ—±88Ì:°Ê:&@“9‡†8~_u(Œ:T §p¹•ÃÙŽ¥5ù-ÌÙ_Ä”rLušÎešÊÓ´6|¡ w ÏÑRM§\4ƒÁ¬CJ悲X2t˪B@Л ú» ­ÅÏFp.¸\“áè˜)Æ –ÀŽ¥fŠM#X½ÁXA›LŒEѱ}¶q0˜uè’NÌ%ë‚s˜‚cØy„ß½ZR…Ë­ÎvP‡Lk< j ÞÍóŽâPõYO„ÝÒ3V™Ð§±:Œ)•7Šiűqp8©Oå˜ù5"”€q˜_câW„Q¤0 “Ò8œí <×™ AŒËçÓ ¸§7='ê9cæÌõ¨;ˆ‰Sƒ '¨•J@Ë;èö¬a¦º†ÚvsAÆÊa5 [E0“МmàŠ6~tã\}"4C ¬ú}.‚S³¦xÍO" mVÆbƒR7 ¼8˜èá,LG¦Éƒ3˜Úû1®‚^E°ßU>+}ÈOÝ1ºúà…vÕÂLm:—¦ŠøŒ¬T²LLxH,Aaøés™®Ð¢ˆ—'Œ¬ ´ßb0n¬L^a”0!”ÂeTw­–µi @ßÄ©—¦éü¼0Óz†sÚ\m;†.–xD,¦‘#Þ*aD,æ ÀªëHÕÙÔ„žˆŽ›/>»W 0 ¨NaB‡³œ]sѨ°Xj3û¼aZàl™‹Flš¬§Ú†~uGN1—°¶È@¯ˆ"ŠeŸK5&‹W@ÓËDP Q9Ü5‚!©©R.Ÿ÷yÃL5eS[•6ÎÏo¼¶.a=…%h”ÅñrŠ>ÃÆ@AÖ ôŠ@BÞ*}!=aãOô&Q¸Ìdp6Aš5¦%Î2hz,ÌœÍÓö î9ÆR;2àNJxV;ðãFQ$¶8Ì:¤„aFØâe]^uF “Â(\nåp¶ƒfÕth&Ó1!QˆOG)¢×9Q&Üd) Kcœ€²mø·l –¤€!.QÆ Ïšg‡{ ‹F!ŒÂe&ƒ£ ô¡i'Aœšç3°üT„&àxwõ“.  ‹`ª°6 ¤xy‡„?È1G¼+/]éo:˜&R¸€Êá® Ò¬ˆäJ¬PšbM9jüU±Ù{º`ôM-4 mgµPK­ls%iic`0«@ Ç$±[ÃÔ ¥®*¢€É`.µ28[ÁÈTŒÍeµf NfN˦Á(‰ý šFbp‰°„›†L}£@"!ãà0뀩®˜6¬Ê MÖ5®*F*„S¨Æàl…/b13æ} [Ä“d4Ë %ì~!%k ,8…uƒîs‘Šcã`0ëÐeŒiÂâ0Ÿ«nuÖuL¤0 —[9œí î˜–U›æÕá`š§ mè$\˜§ ïâûCO•€zj1pør‘VñØÅo1þQÀ0Ðlò«-%1ÕéPwì ¾¤ÍÊ`Êžô*K¸N…0 “Ñ8œ­à"†xÖg æÏŽ™Æk–ðE…ï'›C¬Rì·åà°¬2²z,Š!QÀŰÕ!% #“IÄÑé|k£…X.6œ­ çŒžk)ryÞ0_nªå§_ž^›]?\axµsýì‹`LûµåÅ`Á‘ËçÂèn§1ÈQÁUañ´U£0ÁÙ ÞK <Ž¹Æ¥Äè½aøájÌØžs©€B®éÒï+°Dï«ì9ªo‡¥ ‰Þ+fZâPúΡJ(Û«Pb÷A6­ôÙÆî×|l¢ŠÝáˆPD³b÷¤Ê¶Û%ãêš«Dëc{;qƒÑ)°5°1PP*¹ÁSåcƒ]K§AÿËø+Œ*S¸ÈÊáh[Õ—DD.1-À1U¦#¢Ô1 Ê—eßÈŠ£°l ’E—FùÈaÁ—úUŽiòY*ý*¯ƒ°ä¨FaR*‡»vPåÏÑ#Á掕îy!$U ÊW"«–àùTÖv0X£ƒ-,Š £¦,³ Y™ Ñ‹Ã4øÇV…€²¤¨ ú»‰¬¥ÐÞh™öU©ÚaŽÆÅ'jVbÕmbÍŸPXBÀV¢Q`½¬ƒY‡”0Ì%ŸÛ9`§¤nuF “Â(\nåp¶ƒ®ó´IÔomMãp¶@Ï0RœlUx~@1ó›b}­ƒ¡æÛ[±CBÑ Êy€Äly%€É-ÙôÊÀaV!% dyuQBõ^A \“Á\j2¸k…f¯‰Ïf =o˜ÆhP™Tbb³Ó»$—D†ÌK:v—„O§˜:±iç`°ç)-L7Æ90ghÕáyJ.…Q¸ÜÊál‡îf)Ó™¿²@ÍŸ@âÐà‡ìÀ?ì‹2Ì’3Š©®w*1!DéDµkYœ9lw²ù§õ…Ég6ñéµäÀ• Á z-†ò='\Å³$¶5|D0¢Êà†½ýŒÃ¿i+n0+@ ÇúAÆ¡ÕGç/ËNšÖ®?º¸ZöŸ›™Y²s$Í,I/9¦I®„Ì— Ùãˆñ¦BwNa,²õ—Ñ)*]Dç`0ë†I4—ŒÃ†i«B@Л ú» ­ÅÏFPc`CDC”Y²f ƒ f‘FUBB³÷åxdœ)¨³?¥õ{Œ3/m°òGÇ$~ne€gÞjPXô…H`Kd2¸k‚çÌVq /¸9Ï;¦BÉH¾*vËÛœ˜Ø²BF«dٖ֜6Š9¦jß88|y–­br¿Í9$Ù_u$Û‰w)ŒÂ¤4g;ÓØp²…ö¼a’l¢Eä’!M»¨?hüYaÌiPEÔ³@ÆÁaÖ† ƒ!_ã€ì¯¾ÕA8“Â(LJåp×Í–`HÂí751#Ø0•)èuIÃ\¥ n‡–Ôñš¢LÉs[|1“maô«;‡Ù+u«B@ « ú»‰hv6B0Ï›m{š†™Ì$˜ »u]RveÔWß s±Átw‚Âìg`0«†‘çâ0ŸÄ]µ ‚(`2K­ ÎVè{#(Q¶wžwD•”%ìÁJ|+LìVѯ„Å’ÕÜB£yWàÒ˜¸@)KF¾—ãÖÑâLøÝ«U·R¸lÊá^Þ*—’Lƒw!4)ºÊ €Åž°¦—5x§C È)8Ø7gÚ£ 1-]9Õi Râ©O«"©É»„0 Ò8­P‡YÒ¦•ñ-ž7 Z¯[׺ Ò¹q³ï˜Ñ˜¶ß¡–ÛVÚ`ò×|CÁ Å5=,QÂS«Ââ/S#0ÁÙ‘òTÆËÕ#U \´È˜%‡—¤W ¢ÉÞÑô dcsA‡ƒAnÅf(`ì£!he ’øW«Â…UŒÂDTw`ÃfEC²€ƒÄ,­Ò™=4ÔZšÃïø)dÿÎ(`AƒÁ¬C%L–°Ûâ%½`ÕA%L £0)ÃÙMñ¸$IǾT\2D`Ë"$&Ú®Š;® ¤x4nàAÓãØÆÀ`V!9†‰ÔfÆù¼iUAPOd]q#p©•ÁÙ àdžÈëA¦‰ŒÐ§¬œƒi‚ÓW»Za Çð‘Q¤«­â Øn5ÁÆ#l^°Iì}±n¶Uí•… §îÄW ¯1ÿ ÆÏ&fÍâé½¥ˆiø,E\a>Ä"pÎ88Ì:4ƒ˜(Q\çp5îMZ„ß½ZR(Å’›îÚÁØ(öm$ËÁó€ “4‹wz£°Oq~Ãû vž™y0²Ïœ5âÃÔ8,8jŽî†IxqA–öUGÐÅIa.·r8Û¡ÆTáæ[Žzo˜"¨’š%mEüSñ탃šò"@ò—lå)‡³ºÄFŋÜ=¬*jz˜È`.µ28[¡9¦\ÿ TMaŽ©ax·W‹Ö l$×…ÙY K‚)-#§ˆ•ùVÜá¤wú8†äZ\Ýi¯€°äˆígNÊž²ûaS±13Sfƒ£•çín Ã4„k#î ™á{ úOv÷ø.׋c\°Þ=·0ª½½8ÎT”;a±³´r£0á”ÃøzëÏ…El¶¶iÒ¶c ÷¾ÂÌ°Þ ÷Æ;ÍJƒ‘d$µQD .³Žw¯6LÐã¦Ê!Ñ£ñ:’íž»Fár+‡³4ã/nLá0Pkwa¸`;£d.õ0™‡ƒïx|ŸÒ "u¼3p8ÚEŠé£òä¼rèzfD«è~¨Ädp•Ñœ­Ð|©&›8¿>4_J1M®ì‹W³ ú¤XåÀaÉ—âÝPN1ׯ6³)a˜ æƒs˜ž3¬Z¯ƒ°dL©Fár+‡³:É$pZ§Qó9¦«Ç!› þ¸l,"é<8¬çÚÒXHáW];ÁÀ¼:ðì‹]ì„íyЃt’·-€aÔô¹Ä£…ÕÕâƒÞc_5§X4ãÔôÜGvŒë9‚.ï¢ÄL-4‘¨Ɔ¡Q™xúFì5ã’‹±äP˜ØW²æ¸a8fqhÓ¤µc¯i©ølầ–¡aØÊÆVÊÕì<£Ù¹D Ó‡Ãç*l¥ctEà0“éÂÄ[ÕTèò6¸"tŠe˜÷<‡Çs5HÙ3$ÔÀK@`sãB¾º´ïï8êÃÎïÁÕ <'kÄžDÛ¬0ò6P‰^ФÔìJ¨².#½Ê6–¬¯ÊëéªzÁZıI/ÌâA ¾Üy?µaÔ†mŒ†}-€W¾iD´š”Q£Šáxr‘é\n/[ÚŽ›ãP"øª¸ÀºnZ0æ*‰2Hb-“aà/i$BéŸ9æ½ím‹uÂ,I9…ÆÁƒMb®ÝaØÌÈŽÄ¡,þRåÚ%nÛÂpÌÅÈ{Q²…q.Ü•&WsWÌœ'ߺ!Ø!%iDÕëºqL LQ¢%ƒ^è*@Ó ]²W.êh RÎE ¾ÓÂ.è¿Ô‡ª,\I±UF¦¬[5/„NŽ_‰TÓ7è·Jr´Q&‡|dG°`’«-±d^ÍUÄS& ªÑrZg_b%´‚.”8¬#n’]d°âR°ž6 uÇœúriŒœaEïëygÜ×ÅZI¶XF«¼ô ¿¹?=1ë¤AïSâFÐ…ŽÑ„'CG®tcäjqà•V&ˆ Áå#p"#­‹j.˜¤¿À;‘y<Ú‚XY/~XIÍiÀ5§Óç}âjË“Šá@ ⤋ñÀéªL«dW\·~£Ö W¸…4p¡yÒ„ôKôTæ…Ž £s˜—)`ëKçp,þ,€ÓÎÓæ†zc Æà ùÊÝBµ©ó+'yó†Q_´É?¹P}®¼L‡³*û?ëÅ̆Qµ:¤7äreÞ™”Y¶¢˜X˜x’0`j»¹L+¨wV(6è›ÊcžŽq'MÎl¶B—@n#¬º|UwÒ$þ·;ܼF·û;W¿ÒãfO&KëÃDÅ Xê l‹Oާä»\z÷ˆ"ÞÛ(Þ¥t¼áÀ˜'¡î—÷77 ¿'<žÄ( âÚ±êЪ)ù £ëM¦ºA|‡Šx0„ÑaFR£Ä†Ð/*GŽF‰ºS.¹¿aN»ªþGnÌþr j Ø•îÈñ^¯Ë‚…wr;ÆÍò^©J‚ÛåruDìúyR®¨^¶EegûédjhƒB—:¤Ža}Añ¡ïä¹–KŽŸEŽ-ÑÖâ¸Fã™I`Y¤†fvH ý‰÷¡Ò>VŒª©¦ÆiÔîh)깦£Éû¹†u– +Ü4&+m÷œ¸žIØ`Ô £nöÅÐJ <.4 ‡¢®S‘‰\mŸËB¨;˜x洛éÏ0ro:÷åºÅ¾¼dúäÁŠdK 2½ÅÙ¢¡šQ¬È…á¨IQ7O+wïÚ i _a¡Æ­±6cÐ<.X7QýG*®/F-\½èSç}— Õi|H‹˜·ƒ—†}ˆã‚êEéc'´ÍKê‰7c”²aPðïð~ŽHòx‘xWB2ѵŽÇýÑ´¦‘SðÁùöÕ£ŽD<‰Yr’83­Þ¿× ä±Ñ8bIx*ÎërÄF„àiã´¢¶rµ˜9b#:[²7m]?à ^øOÿy÷üðWßÈ«×éasÕíò#iäð vN§-Q¾y~õëÛõúM†»#ÞŒ—?C¾åõg•?=¾õù'æxÏö«<‡æ !Š|É'TLšF gÞß•ŠA ÃTØ&å[[F¥˜ƒªpC`£RÌAo†aC£RÌA={R)f§²-ª½ÿÌî@W¼AŸl.À ؃Þ# VVmøÊoÞh»Æ-òoìÈß’áC»åíïòµ^ù¥§é¶)(ómÂß©´Åñ·Ð`êbFþ ŸÜ§VäI¼JÆÞ~Æs¡ës@3Ër€qŠ?üi¤Msu~ ¿Ü¨?¢..µ¿$·r±Y˜ÎÄ><³&7¾vÙëN’°~7K úºQT^Pà f(á¹`q¨r”dÕQõhÉ’Â(\nåp¶[v)çÆ‹~%Pi ßxÊx¾3óâ`\žK×w²N+‚.„ST=vGá\œÉ‹l ­ Ao2èï"Ÿ•Ýd—ÆÈ­![qz¦ÈÛ2©èŽ ¶‡úXî‘HÏ ±…¶QàúÚº88Ì:PÂ1*vq@{«"ñ¾—%_B³ø]#аŒ{90¾½£6Œ|é|5MxcOdĘÆÞWwHÊœQð…¿ÅÁaý  Ãï½8H_¬*´¯– ú»‰hÅÏFhñ|ýšZŽÑ‰­I8v6q°y’©S§l‘wC8ƒ}f-Ì¥]J:m¼ŸX.ƒR,©/UG+¤ËpüHî,‰×ÝnI#ÎòhŽä\âòO¸ò$Ý¥‰È9`N¡–¶spXÓá±g€×7¦ÑëU(Œ*„Q¸dp× iY€‘ãRº1²0²Ë›ƒÜè7ðôо©IxV‰Ëƒå‚h£À1…¶JHö(àÙR_ ¸C³ª Œ9o?»¼Zü”_ÚwQŽGy›C©pì­-™ CJ[«Ä¾‰E–K¾¼¼Þª…¡XÎ@Åö*¼U&ƒ¸ÌÊàlƒ´ sMÎÙy»C¹’^€lb'½ y5 KeÙ:·Ìçî ô†- år*·Wá s!ŒÂ¥Vg+Dst¼Û‘EÙ0¾¤ò _rÃۢܪª ¥°ƒdÆÁàµ(;F—Tã`K®Õ±e“—m“Û–õ£l’NúÖk #=I¦Tõ>Iˆ’”°õZÂn¿e5 ¼Ní‹nùæ‹ûdUa½¶„PŠ%59ܵ‚ó¬}?X¯ÜpŒ^š‘qW\'wjdyA¸®;7ráuƒþ;îÓ[q…ýBŒ #‰–Î@¯ÔðüÎ Á)\håp6‚ Ù¤ù0= ã¦oé7ÃBž+«§éqgœ„‹§+ÜôPx3= c¦Çi¡U,ÓCeÐß]h5=ÎFp»/Y=fûä8zµ:,òÜê°¨ÓÙïˆùµ­´Â«Ã†ŸÛXwX «ÃT'p‘•ÁÙ6‹!§½YŠqÁ2K˜ÜE«Y•Ï~ØÏ•'6½´Â[³£R)—šl­RœÀEVgd"³\aka4fax×oJ’£us!?D‡ç Iel?פg¤µ¸Á¬ä†)Öâ¸ýec. ˆ­výÝ„³²§øº4G{ÂÊVæh\é*Ø·å©ècÛÊœì²@[™yÌÛWf·•Ù0º°_™µŠµ2›¾4«Ì¶2ïMŽª‘;¹kùrŒÙ­¸z·kß@Ù _M®p $QăÁËòuŒZ¾ÆÁL_«c™¾&…Q¸ÜÊál èm–¯#ÌlM<Õéfíà›cËðz½–Q$†´ƒÃnøF _eà†¯V±¾*Ä2)£–?šÀq8$KaõØÂð{g\BX—ŸñH\+[åÊ]úE²fäƒÃö57Œ|ïÅý±ê°[R(Å’›îÚAµQ¤B6±Ä‚æCbzˆ¼ž†|äžÊsO„1³›\ñ¼(ørÙâà0ï\ˆ¹ጓ3H4¼Š¤wü-!ŒÂ„4G+Þ›ýÖ°… X8“ßëçZŽvn@-‚ ÛXÎ`ÁÚ.G¨TÎ@¥¶¼Y.‚¸ˆÊàlgXá†ÎfÖFÍúzñX´™õsñi»˜q*¸¢5½VºV\5ÊíVÅ2ëM£p©•ÃÙ vX ¼mÚ267Œœðž07¡p„ã׈ñ=3Úœ p§Ó8|ñ¼æÂ9¿´8d9{íUD“ÁLFcp¶BZ†t¢¸»b C›‡ÿâê£$gNëÖg I˜)oˆ¿ÅÀ@7ê†C˨ÉîU¸QïB…K­ÎVЖ҃æk4:†ƒ)N(lÞsäé6#Ç;xy}0. ‡’•בæøXtŒÂeVg¤]q†¶·Ë1êûV†êÜ5Æa½Y™Y‹ u>s¡å \¾³c(–3P±­o—‹`.³28ÛÀhb*wÁÇP.¤ZÕÈ8›ÐÒÞ°«Dn(Ei¼°Fè [Êå Tn¯Â[æB…K­ÎV04¥/Ócah9àe* þ¨e˜˜ºÙAoWvŠÚéa‡Íöp mc`–…U±lÂ)LHep¶Â²ØvÃÞ1j™c‰eYîEï’\†=V¢´™þX©x+ 98ì¶½cÔ>w4ß½ 3ï]þî"jñ»F°Ë˜Â³w™côƒkNŠwˆfün]6x~Ó)F;ÌÅ{—F¿¸2ðÑ*¶.S!œÂ„Tg+Ô¨bhµÍP[˜*o¦'ÜqziT†„+9,V•>”l§©ƒÁ¬CÌ*Åd^Äè²ÜÙ³ê ,f•Ja&¥q8ÛÁ¶¥¤¹pîgÆÅijHîHf^ý³û™|Œ|y¢åqÏ.GSîgjqs%•¿»š&€þnòYñ³ÒªôÁwq$Ýnà “0!)›Nx¼/×!c‡çt"ïK8½Q7ÍÈ«¼ƒÏÊ, oññòUŽ"¬ £€‰`&¡18ÛÀ… ©³avÆÂ93;^£ØuË{'Æòìw}]Ê‹+¼¢ Ã`…1°`†Õ°Â&‚S¸ÐÊál½hdÃÅË6ŒùÀYÎ@/¹œ.Y’ƒšÛÖ-nfi»nðr¢£.°q0ÙêXN´ a.µyáùÞ#˸æåÕe†±oŽ}»¼âj¸7H.Q÷.ÃyẺ Ŷ#¸u˜!ôkkië c¿úËêw —˜îZ@¸G=ùdjÃ1:ëq¢¨­pT }×ÍîÚUœ¨Œ[eà°ë ÇèÌwT Vƒé —@6­ôÙÝ‹àÃKo,ŒÌ{dgËèª|)9Y®7䥗¸Q`³t•7ÈÔ†!tÒ{iU ÎßÕ†K`& q8› ÁDy2}›]ŽÑÉ1 Þu¦“wl¶¼QT&x:ƒ}z- g‡sÐÙãuøôr)ŒÂåVg;賤~g). †˜Óa)"+טºÙõ*§ ··88lf‡ctwUøæ«V±ÌÂ)LHep¶‚½6xnmyÐ £ðÅ£Éî _§i– ˜˜éaðÔŒqpØ]hØlÌC¶:–mR(…K©îÚÁ‰Öhܬ„•…aÆ ŽQÀX±ŒyÍfì9+½ëµhF1x¯®spØrV£y'Î9)^…嬸 ú»‰hÅÏF¨=™s°¦šal¢¤¦Ï3êDÊiß»”ØúÐ6©²×dUxM5ÇØDQ>‘Ò¾»)F•Ja.·r8ÛAë£É¤ÛT[N”hÉ{öo¶Û„·ŒÒÚöìߌ»¶ìß öŒRÃXJ¨qÐŒQ«Â3JMý]ä³²›ì\—ôÍ8tŒšvzºÌM¿ÌÍÕÍ8,<¬íðåÇÆÁa7 cÖqPãϪpãÐdÐßMD+~6Bý°Ìí¨eÑ;†ö8 7ÙoR{¡²Í¯*ˆà•™ ÎÁa³ècö¸q0{Ýêp‹Þ¥0 “Ò8œíà®z/{höyÇpÍ‘‡&×’TTí¬EK^>Ù²d«>Ëh l‹–c¸æ[’¬Šµh© N`"²ü]ØgAŸ[Á_ÃXè62ÍØC»‘o“­ØoŠz»±$^qã ^±_ÃXäÖ8XdW«X¡_“ÁLFcp¶‚;…áàíЀcìÜÊëTCÎû¹¥â΋Ë÷.ÒÂø¹å ç¬Šun@e°s*¢?¡i+|qxÛT7Œî‰‡K“0uËyãÇ6fмûÝ)bÓ,L20pmª;F·Äm™[kSÝ„0 —Z9œ­Ð ?Þå·&ÙÂpŽ · oÁd7”°Ï2\QQ6ã—w`¬9‡m–9†³ÄØ$²*Ö,3!œÂ„Tg+è§ áñØcqŒÎÜ«2¶=ã×±ÇRp¨m^ÙÍà…¡‹påµE2ÎÜŒ^ xòNI§ÀÍ6„±^œ6®ó7ØÐßM>+~¶€­ÂUcmw5†ŽbÁ*k³Hb¬u÷4Á¶n¾(¤À¹gà°yšŽQ?Ñ9¨iU¸£é2Éh ÎVhnG~ÜsÞ±DmÇîpÛ)J¦FØ“ž¤e10p¨rŒž¨2v¢ÊªX'ªL£0™×‘¬»„· wÙï· caœ¤oiXç:c8u÷Õò…·5ÓVÜáÃQŒÇpêæi)ÿÀÑÚõGÎʞ⫞g”õ”cø¥‘æÝ–Q+Æm×SIgYì¢ Íu&½«ÆrÏ•v„Wá]åB…K­ÎV0û!ño¶ìÃXöƒ^ƒéÙEnqÙÓª]"­sýÉ[֔ÞþàK`0šß`UxþƒÉ ¿›ˆVül„¦ûîÛóŽÑ­pavì”oÛyz:jKê˱…# pÁ¾—nÝ ¯GÊžW±í¥S†}³}Û ¼kg.¬;â¾ £ÓãÒÇ'múàBÊvL° OWEäeÆÎÁaŸ`†±IbtY>ÇLýÝD´âg#§/UŸÞ2·Ù1êô"©‰¯wÑ)Æý µín3.Ána£Àí²Ýi6„z¼^\=b¯À}fÁ(LDãp6‚Æï%÷Aí;²†Ñ U„þ6-ŽKæ¯=g;áν}Ë6]XÞÀµ!ëÛNeyÛmµ Ö~¬‰`.³28Û Xº[½¡‹OÑ7”mmªù~õÒËn¢•cõ2p­^ŽÑÅÇØÚdU¬ÕË„0 “YMЛ¾H×NwéÚxVtÏì&Ꙅƒ+÷[ðDÇ‘®í°çþFSw•ÁJÆnwI8&„S¤3];}‘®=•-rlÄ(rì—Þl%!ŒŒkŒËØ‚9ZANs]a1pP ÃÅbÀƪ‚K£0ÃÙ n3ǺO€ç £‡RØgÔ„µËÖ©ˆ¬öFÁK•œëT„côPƒ1°CVÅ:aB…K­ÎVhJXÜU½‚ÔÒ‘wŠ»·¼¬¥ç-wË)h‹.›žwŒ*jç@=îU˜žwô÷·²)^6Þã™æ ÏE£Gdd#?ù£Sð=%xð(‘WxË uŒ&)(Obж”_Á)\håp6‚KWâtÛ³ct‡8É¥ôk·´~òqëæwÁÔÙvôfEر×dãï;Ì&€þnòYñ³lUë[‚çó†`ŠB?òE.EܲEQç`Ù(ð¤ÄX ¨ ´¨c,IÁXC?RJeŸýH*uÁÑ=@¥'aVJŠc4¡Du±'œT¹³òHIaèh%­øÀ+uLAOHQ„声ôÊ6!ÿ-ÅW¥0 •ÁÙš…ƒûœë$°cô¯<„¶Æ {$*ËK*ÛI`yv-m ö“À Ãs¼ÎAÏùz~Ø¥PŠ%79ܵÿ¶(Ñó†Ù¿®í\:¼÷î2¿Â–¹‚¼.F¦Væ—ÀGæ1+ó+ì.YGæ×µK_r¯Ô¯#Úã°Ò@ÙcÙ£‡ZO¸uvË&•ìQšE+{”/Œ®ìQƒWö¨b<{T9XvèØ’E%{t×ûKD+~6–Ž#QÛ1úÉq¬sl‰Ú8ø9ŽìѦ±§ˆé®:ì¶0üäÎA»ÄëðNs)ŒÂåVg;ôê³®HûÞ¥ct穜›ëˆG¼ú¹w9¸Aï6"Û­L‡ÝF4Œn=Ûð×I­bÛ»T!œÂ„Tg+ôTN;³GF !ܺ¹ÛIx†ý0¤*ï%[çOÇ–<ºÀeH9FÍ cà§Gûc:ì(Á\f³ÄÚ}îh.•W™o7vFoܨL3ö 9ÔÌÜ®ìèAVX§è´ò y³¡×mXi»Ãø¯û:L£p‘•ÃÙš‡•éWÛîžaì”óØ£Nb=£¿pjylýù˜Ó:æ¬àvÌÙ0º7g üœ³V±s{äj“Z9œ­ÐÄ©°ŸÞ0–Æ\÷ˆ|ê9îÛÊ’ÆÜ,æ¤Y͚Ŭà–ÅlËbfys‰­‚-‰¹îAûMfep¶A'X‘ ›÷coĸ[.µvìÏ+-¸2ݽ1û}{#¼{3ŒZ°Ê`{c › ¬"¬co&´{;ñKïìÉù-¹Ô»>’•ñP4>"“rÂ;Äyü—%ê&¾E/Ò=óš(žhå‰KzÙï™JÍŒ0¤ÚËÕ¶’É|ɾŸ¼âñD_.L3Ì{FBeÂ"W…æ.®~æ]bƒÏñ%\ýÌëïÆz Oª”{ä tR¥„'å² ­±„ óž©úUým¹Æ c<óÅ€R%mrV‰79å¥üg‚;Ë«J܆\÷¦mÆ ²£ÎœôQ †1+ßqdy×Ù5’­%>»=s4mÚ ^§œAc«!!îö•*yÁÖòþ² +§:Ú}I<õžÆö2ží”bìsˆm]ÒÝ;X³Ê~vú\Ùå5´»a€ÕŘ?rÖÛÇAÖçcq Qh9’³ K£OkÉs²w%±äµ¸ö¬ï¢¯Ñ>?†¦ÖîÃOn#p¾†;æ¬ÜÝçÃýÂãvõ¾¸0êÊÇ Ëí¬!Ésfý®ÎÔ ŸÛ¾mm÷ßô®J¹,ìÍ̱0ýÛ+ÈxÀ.Þ73µÁç¶™膯™‚'98ÚN-ˆ3'ÏÍeͲ,|Ù*e<¿7 ¿+ßÌÚ¦Éyé”OŠÙФ;|û4IxاãçÊzפÙÊ ÷zäš“'“úêܺ^óäò}ž\—6\£WíïF¯zIÓ1 ¦lõèK<É÷ñ“ä˜RùÚø‰çðéš7½Ÿt?|2èFÙ?­œ© »*)ëå7Û§vB;…Œ•–»Í>~ ÓKÏ:#ßžJg&Ëãí)yçY_·^iCPÑâeϺY\ôzíß1ã©òüÅj¢º}iK<šw šêösU@—Är|Ù`î˜+ƒ>t;fŸ%v u•Ä}Heÿ>)ñZÅ»’xÛÀk`¸ŒcJ#›)ÝOi¤ãŶkhÜdvðh¸Ÿ—xçµÔm̯‘õµ›`µçÇûù%W¬ðñó[˜ñ<0è)ë!ÃŒbe8úð ‰O­áƒðD _ Y>¹¹³„ªîW“\Š=DjÒ"¬ã.-.Õ-_‹ ™¾ÄzÞV>ëuı|ÖÑl.\(o¡¸Í-Xâ½ÍeD­A;oœº ð*¦s°£®ö‡W¥Ži˜ðšb¿7×c€O»êÄYÁcµJýâ›_Ñ?ã^Ó (Çû:Ë õº44®, Ç: Xóë4ö¥1h·IÝø’ô6©3mÄ;S/}ÑÎÌubkgøJ;å8JNç ‰(÷•/V[I?ß…SiôÃ.ÍU/ËÙ…Å%ºØ”Ù´¾Ã² «7œuâÑ­½Oäʆ¶/ç!¤ë^A'yš®ï <îÍÇ?B”uè4…qÐ^ŽYoÊ¥ou·Û3^Ûý¾7ǸxvÉKbך)6F£¶?WêÐå »}UÀñŒC„*ŸônÔVA>;SÕäs1UAÇìœK»siZ\œ~í–/oË_ØÂ÷Ao†ûô %µM¿Ði’[Zù¯‚‘Ý‹üÈ`‘Gæ Ã¥¨Ù‘:_ŠFÖ˜¡/E5ÿÂ"–Çý"–êý"VÛ½–FÒO<¼… ¯_ï#fN~í;wJò]&IЇ|—I"¾p½_ ÷3S@‡Ô‰syëòÂKÆvîRt {%¤Ç}ØÎVZ&» ¾:ºLŠsðáÕ¯pz¸“n®dáÝ{’/o[¯fFú‘[3'¯pßJQxNéâ»–â˜5¹'3cª=QÛ\ièù4ÄÝÙüÔÊÅhóSSÖÜŸ}èµÆ ñ·ï3Y-gªæÇ{/L®Ù“Ë‹|Ä^N„×÷/FA£hےˇg·57”¡/öîkî…H„;X•›ˆÌ¥œ2AÞœŒ„W¾ó8l ©¨Òþù%<]¿°„éßtÆUí˜×«fÅ‹BÇg•÷Úï¶F¦ÜÞ}W<¬§Èì«;çm|±Æ7†Ÿ·Ýpèxã ·¯v=ºJ^òÜÀ*X}gbW‰ïíÊ2^ ßÁàBtqÖÎUÑÍ‹÷Å/g_ƒ$'½to[ü’¤ Ý{'…CvugÔ“WwF¼õu¿ÆKîsKGà ðýôÍWˆºÌuÂpýf""Œ×fbùü¶b µvúâ×W¾-Ô±¼^îuâ5yÓÖë„—×ËOÓt¶:’žÎЄ\˜úe8°ó©ž5äfÛ#€„…:~7…æªO”’.½KÖÄëúªY‘eÞ”ù}Âî L³bè™ÆM$¼ÿ,W›¬ÀJæKº[`%DÞtz›=Ÿ#H.”:FPÂûÔ_Ž „8Ã]ãe W ß¾P´0‚r¾7‚b; *+ØY'ŽÃpјŒ\ó4ö˜Œ¼ÖVïc28¯† ·ÀA”pãZ½pEéwÚò_ý6_Â>º½`—ñZ!fÙzœï š…X¯ÜIÈKŒ9b#BXXÞ0"G,¢ sK‚ø&’#6"œÎ¿¶êb#:Û²7î_õ<_ÂËÄS|õ¾¿ö@_Œë¾ðKôù£i~싈“åìŒ/h¢¼Åªˆfm0)"všíB Ò(b§Y ÔJ£ˆf¥¶*"6šu+8IÞ)´¡‹dkùŸúhîß(E6æÄéëÑ><²T+zÉþÌëÏ*bï½” »<ð›¸ï·¿Òcüí¾„w—õí>ù[ßëËs19þþ×¾ÝOBüòÛ}ð¬–ýí¾ŸŽ·û¾^ã\¹ =¯©?÷—*£àpÅîú2âß|øáw¯Þ*ý·Oßã¥D<ˆ8ná/æÐÇ{=Þþ~£ùüöÇ úNþž³eŒÛÛOß¡ø4ïkVø©‡^ûí‡|yùðñG£M·ã·Ÿß>ÿ´Uð$"͹˜óí[éow±¾}­ G¼Ý‰H|é·ÿú·Xn?¼¼¸yüIâ~{ûôá‡÷du%Ôü(ãì ^Ø_ø R(ÃÔüß|7?ñÿõáåóÇ>½}~™aÛYäã'üb¾}ú8ÿžËÀì®ÛÇÖI»}ü­þ]fEï·V}¯ÜZ¸ýô5ÎöåÛÇ—Ï*y¹÷)èª*ÜÞízzûâÅÛþÉ?}üͽÝO>8¿òåd?»€õ¦rû ¦¤Œ “ºÔÛ>î^ȲâÕâ†c“oŸ?š„ùöO^ö"oŸžþ°~œm¹ë1ûm|ñÙ¼"ôÙôçè3óo_}óï~íMhyöóÓï¶ÁívL#e~Ø9ð„Ëhø°ÀÒ¬úöùÓë€nq¶èSœ\ç_)†«ß>gÄ9G°:똃jé*™ÎÓŒüôËZåæ86 §;]î¾y såŠ>ƒ£@Ðýc>ÿ9Ò‹ÿåPÇ'ª&þb†á8S§¦`aŽÄ£{>ÿc$Úg˜c¡ïâOý টw|o_³}çPøð¢ÕÎFóï|Û[õQ>V˜“ã÷Ú¾ÙŒûÁD¹»êÁ}Œ}EG½Ý¿æÓg©R†è¡ð>~6¹nÏçW{H'Z#ä¶×-j.1¾ÁÜCõÐo·Á<•(çâ4µý+"[¼Ï9KÜþíoŸ¾ÿùùÃÏÿKÎý÷–++")}û¨3<µrû‡­žcʼÛÏøà8!|¥ÿŸ†þÀž||ý±ÏJØñ{|¿/ï ´Gœã÷=ªGÖxÇËoÿ5cN,‹éPUcQxƒ\Khñ_}”ï37öC-¿=€QÛíŸdÔ]ánUüôxjÅ—ÏžÞ~’2¢"‘> stream xœ]O1ƒ0 Üó ÿ ¡U%ÄB†VUÛÇAp¢†þ¾$@‡w’}wòYvýµg—@>¢Ç%°ŽM¤Ù/ ‹ªã0íSaœt²»éðþ‚Õ@v›ïz"ù¬O—²ª¶zCsÐHQóH¢Qªm¬m±ù“öÀ`wg}n ”Z9û%Gs‰ã&à#q*MK“\À1ýž >ä¬_3÷S:endstream endobj 237 0 obj << /Filter /FlateDecode /Length 182 >> stream xœ]=ƒ …{NÁ D“1Cc‹d2I.€ËâP b‘ÛVM‘â½™öçmÕ×ÁÙÄ«GôðÂÄu:ââ×ÈGœ¬cuõ…´9Ì*°ª¿©ðþä¹ÍÆw5cõlÚšžê­ ¼Æ%(À¨Ü„¬BvÆH†Nÿ}·†Ñì•íI’„Èž$)#Ô’”Qg¼4’$Dö2üSö”ÄG@kŒèE±KZëðwyð¡tñ,ö -]‘endstream endobj 238 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 714 >> stream xœu]HSqÆÿÇÍq²a% 2óì\Há°‚¨‹üDi¦ÎQ™Is¹ÜÔ››Çù1Íyv¶Þé64çœ_ókš+íÛ‹Ô0 é&‹Äk!ò"ºÂsâtѺ z/^xø½Ïƒ!q Â0ìàe¥’2R§ÓRóÌš½vWKá“0þX Ÿ,†ßä¹XŠ@*žûu3»~ˆ+<ÀåD" »ª3fRuV“þN•™<“–v655º/V2CAæk´Õ]_­'5ÆÛd¾B© (:*êÉ”‘¬¨¬ÒÔèHJG–T^#Õªìb™[|E]¨:©øç§¿'BHlÒÖÔ"¤BYH‰ Pl4#ÚÆr°.χø„5ŒoÞñ›ÜÙ‡¬H†µŠÔ„í¡aªðS&á8k÷Ð3ÓÝý!Ÿ¼w¾o! xïK1àb[ä¹ÂÛ.p&ÒAÛ`Ø;ôÚOLqhâsxiraöÉ"ôÃS׈…q´ÙÁ„×7‡†"þE"JfÖ¸5ŒK^ç Qøä†l°q¸¹½“q²m5PB àôyØá°ï?·†ÙV¿¼ÓqÏõx݈mtftbîÍ™‚LH’yѨv¶†x®]†x KîW ÷ãDð=o‚j×E|=—"óÜ×›m­,Á4ÐÙ·gJ»yÁí È9 _êövùÀ—¦ÀF‡%6#¨0ôË¿JÈß—Øf°“˜ý©nùÇ> stream xœÝ<ÉŽ#Gv÷:úfŒD_œô4Ó±/ÊÀØ ÆV ’\€Ç¨²v×ÒÙ"‹%&{©‹¾ÝhHFdF²ª% d}èdf,/Þ¾Eý¸`-_0üÿ³=c‹»³Ï8½]ÄÿÞlÿ|qöß[|Ózæùââö,Lá adk¹XXm[/õâb{vÙ|µt¢õÞ7ûîf¹b-ÓŽ;ãšë%>KË~z³0GxÛ¼]®¤„’7_º>4Lþï‹€¤ÍÚµÂ9êâú¬ñË‹wg+¥øb%uëŒÁ·—åÀÖmãV^ÂvÍ}[ßíýr%<H7‡·ù ôAµŒ©ø ƒœ.–Úð½¤1ëûð ëì²1‡´]øÙ.WJò–qÛ\d‡nnâJÚ4û<;Âì°»Û¯·}üÊ9îsœuá2¢éßgï·Ûõþ1ÂãesX¿Î>njŒ0FØáüÎ5·Ë#qvûe W"§„Ô0."%^Ünn>m»O/"c¢iÕZ¯X Ïî5ì„|äLó.Û©€æMÎ ‡ž`X)f[ÃÌbÅe«•a½KDS`ýxÌj8„jv¿Ãg϶$è ¾7°“*Xµ`É’O]ÁD}\€KÄmˆd|Ç2¼Ùõ‡8A{øÜwaœ‰ã2ùØå)¨Ómh_@#HM ÍÃÑnã³’éhÃí›bá¾çÃR#^ŒnÖWre…?n"&üE¸4¸¢^7ïqQ`9)Âf]J)Ð0Æ{ ³lþómÁXÃæ< ÔDºØ·O¯á}· [6Ú$<ÚF¬r2:·&K#´EôSs>­·ù)7ÅÇ>‚Ä@3ìH3 ¹¯K Óp«Œl¶Å–ýa¿Fé”(iÕT5€âbÀ܇bË` €sDæÖ£ûñ}eÿîK\u„šðÀqÔc ˜¦ )š„ɉm°î‰s½v)ºLlùGƒn}=è£t,„1ms³f ]ÚôHÁ9wù¯_@sÉ_æ+¬ë¸+Xξ0‡ž´-N5³Ý…ã9yBo‚á@Å “ZøØ’'Ç{“‹ú.2] â¦+>®…Z@tIIÞL¹FPÒ4 eIõ±ö]à9)I7æt(mÝûLÄö%#µÑK¹VñZ ²Ä8‚ jO¶$_3x ~ë€G+=0ÇûÍ¡{Ø$#œÖÝ_ß< nñ¨øy¿”È>V6ƒ’Oä¦F@MšVæ>ÿF)î ¯zo¬R%@ÿŒVÌ8‡›J!¼gþÀym‚“^únù°°³uùÎ`›œuð¯Îî°ßç±»,Nr Ä"^âuU-úVÑàâTõ%ƒ—Þ,0%i´ ë],Œ¹74Œüå>zòÕÿ½”ºÛÌò¢¥žÂÖ>·È!î–`û߯t ¡Ÿ:‘>Úôqç÷i²l¾*s Ÿ^uŸò2BG1e:fݧ%1ä>¤åu³˜”Ýtý!Îf1O‡ƒäfmNÁü2LÆ\íÇÙTÁÓNÙÐbÀ:¢ °™¡­„­Ü¸ðå¶cÏÎQú'›\x»}¦®–•dܺqU†n92¿Jvá™qQŽ*Ò33ÙŸ_AÄÇž8RHib«uyŽ»æ%ÏGZ(ɉ8ÄT¼4%(G˜Ó|M.5³˜I ÖѺ‰X(¹N)Ê*‰˜ß•¼2òîp!-g39J"%±/&Ü“iZåÝçD 1. ð€!Ëá™Dd­¿f³¢D—¤ÉhºÊtˆa¤O8Àüɇ¥Ö”¿9Q8 i™•Ã܇‹áŒs5YIÀI §Ö•…†yV7Zçú°ï;bMl4a@| ný·!EJd×õý.MbœPŠÈRv²<ÏMÉðQ¡Å þm\ 'ñªå"¡<' ÷Í·û›»šÈA°¢üà•÷]uQiæxÛ )δ+ Q0)…$ÁÕŽvTõÚ ˆ63tqÓú ÑÅ=3ÿ8C8ÞJ?Žts•X$¬ íÐýÝ4S˜’EV#¡]hçÈÜßuÂÂHˆ(Nd3å‡bÝbGôœ"ûVÖ §%€‘BhÞÞl®šïÀZÞ´·@Õ÷›5X¨åßO³’'’F(%ì÷aÝQl+ q[HXÛ¼ŠvôUd(„Z1FŒÑD€ ÖŸ°I£šÖ±¨A¢hOé‘hQ-Jö馨Mþ˸ŽO+(]:ĸP@¼+©—¢r"GS4™²•îÊÂq”ôˆîÒ5/yþ!³ ›jWÅP÷U\“½pI&t$L:MÔ!Ú:ËFË%Ö§òél®„ÔRÌxÜĽ”i¼ý¶Û±Ò£Øï¶èco[Ö…brõe})ÃcÏCãÓ󌵠P¦oj7h_5Óä° f(Ÿµ uoÉ£jÊ:ÕãâzÉNb¢¦/‹ûذ…Lå]Ðí`+ iB_F?lÿÉ[ÑVõÒµÖjjhi %^ã‰R×&‚ât, zOs2^tlätšH:vGí†0 N€ý 㬠n¡9‹°r3Ò(8£Áì_ÍÏC¦À×c“Wp©Aƒ`Ùƒn–¨ènС=®PÕHì‰Õ¦’"¦;B>Tå´‹U3ˆ7rv.Ú}0/€x˜6w<3;‰qO¬NVšøh­Qä¦QG²O*Pc‚°B-œ9û˜vÖÞ%h›U_ÑŒQÀöë1å^âl{Š8v§ˆ¬;å{ZÊ*X ˆ}% Ÿa›ëÔ§¢Àñ_g­%ÍûýÍ66ªxlªÊzPžÙvBÍMz¶ùk¦/):©4*ó+ƒ„G—¼ÌQÖú†°… ¸£ gÖý¸ì}ü6 |RÖ¬]c¬tpj‰Qînìni^Õ¢0ÇÒÝe-Ýuʇ.ÿ™÷+­7C³sSAU";Ê´#ø@Š‘?9µn‹ª-@e&Rè›Jâ×µÖ6êÆÙV1Á[à]o>Õû¨[°ºé´©Ìw-0gºˆk˜”ü;…›/+`Jl{ä²è™%ÿšÃÙXbf;EÖš³µÚÈægl-ãžä>ŸiÕ|¨ì~S[‹T#Z@Ó m]™p¥Ø>–ZÉ «Õ‹<Ǹ0©kQ½È+ ùŽî†ÄŽÍ¡%ÑÕ’*õ*þ Ï«jýdž,}Êúç ®†>ª×õìñ¦ðjîúˆE+õ.ãl˜¨6c£÷:0Ú»z¬Õ¨=“/Ú'¬Û残Õ•Š“±xU‘— ûûBÁ¬¸Ó ÑA/ÀI Ý@ßÖu(Gÿ9Ýlïêí=œ·xª»'5³Í{iîˆôb’ ‹#ÒûV)lØ–W>ÕÓe©69Õ·…öÁ~"4‹TÞà¨~¤¦¢|†Nj,j¥ø™&¶PhÃPxéhs¶mñI…&qø0 Û*O66*÷szY'fÐõâ 3(ŸeÅцÏÙA4á϶ƒ³f°Új棔ÔXhÜQ#`噂Õ$—†ûÅ]†¥‚ÅGð°ÿt& †Eð*_lϤƒ j|±9ûY/¼`ßãUfp¶hAxSäÔ[sYP¯‰:¢Ú‹nÈeU' [hký§#A ‚ð¸!úü%hÜýß´gú›ƒŽþmålÔ~[é`Úµ'mœxat­‹Œ}™š +·'©*‹©¡Ù{PÒ@¤ÇøxQ6Ú˜Ôü$^âÀ/Õ»M0{+ëËOœÉòhIé„.¥ÝÕ4ó kåàE5Õ½ ÖžØpÁl…YnÅñRµú¬ÛÚa’µ¢ÖÑ_ÑäâùÓäÈ1¡škþ0ɨV`SŸsÍ÷%þ…„pá<É÷Yölyo޽èxµ›dYÚŸÔí5ö}MS½”sÖ«_m[!þ3ZÚ¬þøAH Ó}1s'^6‚±cî{–˜µ6Lmô/nô¡ì –œä;ã º¡fè×V‹u¨åpû_-‡¿ÑðŒlø‰þdƒm›Ù_!(+û¡qˆ”“|lœkÍyp$Ú¿¢lœ• KEÙO¿‚S wª£ÑU+TC^32ñØL9Û2§}b$G{+×Z«}Ðc w¯ê‘ó,u!4_Ô›|•¹HÍõÏŠôéšmˆbðÖiÀ —á£xÒeÿ²+ê^Û§¤¯¢Y w×¢  Ý ]â—±OŸÕÿžÑÔJBØ`Uháõv˜r¢º,‹?Q«Ü¬t÷i;YmRMgOÿêDY2£´¶‹µ¬=àMŽzK^éøâ˜þÿîì£|Ùendstream endobj 240 0 obj << /Filter /FlateDecode /Length 2579 >> stream xœµYm·þ®_±ÈS­Å.ßÉCc ví ÔÎýàkùN'+–nÏ+Ù>E~{rI.)©w>;Aà5ûìp8œyfÈ}ß´”5­ÿ/þ=ßLÚf9y?aAÚÄ?ç›æñéä/¯„„ºÖ±æôr2¼ÂË£ uB5§› aíôôW€M[%§­åxáôbòš<[/¦³–¶Ê2«-¹y±º9™Î¤”´my¶ºšú‡Â°Ö‘ÕX!ðHZàîCx¨œ´–ôᙞuÓ·´eÚ‘‹BA5Õz_h-)§ù×éOÞh^mÕ­Œ&¯üºžžN^zÿp˜k”ÒšrÝÅmÃŒ–M¿hþÙ\ÝêF¦E£©Õ¥9 F7†+Ê4óž|M^uÝ®[öóMÓ]6×Ýv·èW]ß\÷Sæ0»p¤{3³Z¯v«Å¶y԰Ŭ•S¿’`&6Ì5ËíDPmTó sý„¿Â¶&L+FoLk$å®ÙŒÖb«L³žü2a®UÔØ•$Š3*QYR¢$“*PIR¢´vØ’•$%ÊqA+QIRZ¯Z<5²FS&½õ#鲤Dia,U¢@%I…RV{› T”T(#5•®(©PÖ"ˆ*T”T(çœ_YŠú¿1»%ueˆùdRcñŠZ5$kÈÕ§†KÎÄ4N…hçáQÛð–ZÖ2eLQSƒL'™ RGœmsª¤¨Rû"Ê8S{§Yg*I TŠª•%%*FUJ’£ª@%I‰ŠQU ’¤@Ýg4ƒ¯’`“BšƒƒÀI¶ñ0bð/~È,Öa„È–øa£˜á½œìcº¿/0›–Â_ÍÂÈQGyAYNU™3Ü9N¹ªr6€Ê©Å?'ôKìj {uF1Å©¶~5ÂÓâäñ„ªÀ¼îÅ XÏfTކÅœ„i6¢8Jv¨ áÅÀãÅ~ªÂ»>"Hhoå!ŠÁ}#J1}lÂ=T¬=³œAr¥%rËÙÑ[i¼oÔUšã»xW`_‘bÚàhZª4W¹šQ'*ÚÁ\Aþèñ˹µ&"W@K¶ª‰Ì„Ø10ÚX7$Ë“ns=E3àœÑ„6¬Ì€oôÖ-Öÿ2Þ]–œ,)JŽc]¢’¤DŽH2%*IJ”ŠAJ’%¹PT”e5KJ”´ŽW¢’¤@ݵA{d&˜ oΪߑ̒kGÞÍ’‚w“k T’”¨èÚ•$%*º¶@%IJ®QYR¢¢k T’”(-ÐÊ‚i¥Öx**¦M¨±;I¨²;ɨÜdTÑdTîN2ªèN2*w'Ut'•»“Œ*ºŸ’¢õy¤¾¦ &­ï“ )·’w#Á0…‘‡Åä€g‘Ž„@-ËLÍÔcÝÆúBsIÍÈ1Ç&¬‹‘p9Äï¨k‡©ƒ ÷Kä®·•[)¬=6!º>áƒökÑÝû¿(ßX‹îVó5µH q±É·Ö"þ;Ô¢/°>Vî{œÐ¹Bp2ì0νŒE¢~¶Z~(Éù ­‘'Óá8Œ#C©½‰ñÑ5œ‡¯×ÝîŒlÄÙt8ð3)Kð ­—gYh¥Ú¡¥ ÿW¦3…\qVÇãËõâf³º9#Ÿ¯¢Ð)ò›*î9¹ICAþ<<#7ÿæ0f´šüw|¸ºàG]óÝ|üõýûùýbùpÔðn|T ü$Þ?8ò(éxsú|rú§ziۛͼÿ ÷È>p&wT+åüÛäÉ|½>™>UÒ—ÝpÙõ›ëd±u£-|t&ým4ñw‘_ç~1Í,ûÁoð»Ñ¶ÂÌì2âáÍŒLŒ‰k«°d»úÏbœÖ_yR61e¼GÐ](üh¥¿,!¬…&ŽÿàøCëÈÐCz—ü+xâ`ÕûEÚ°Á°¹€CGf¤;±u·L{iÉóÕ;z\«5±”ƒRêÕ÷VH<¥XRùy‡_B‘eߕНËÓÒËѱóR~‘T‰#>ÞH²–§~\ï÷#­Ð&ïÆ{ÕÒ˜¼†áY¿=Æ—ó±äT›ÖùYÛÖ/8]ÕJ,Ïsú»½½¿,b¨zRmýný9©7W¸ë2A0•áå-rJG´,È/ì÷ñ^M$î—$¨ H O-›\M…o\Ùwk˜`õñç; §5œ¿ˆà‡§/âØäHÛÏ+¯—Ù4ñß“Ùhä±Ÿó•¿ææhêýuzˆv©‚÷ª¤[DŒLá>ˆ_D1Su¸O}¸K¬=Ÿúó€àÜøÐ /9¡ÉÏŒð•à ×»2@®ŠìÚóx4•Wi³=é` ?ݬéxÍ•Ü3c$Ïóî*lK ÐÚ½À£lbÐy_õJ›*C#Ay. vEÃðËŸÃÚP²”æZãT¸ƒ¯ûôŽ”á6¬"· ©«W‚Sƒ’`àLÃ}¯H%³W<Ë KŠ^@ø]ëü_æY¿ÚÅ n bÄ[@6ó›ÕÀ{VÈê…MR££¿$Ó{€ôéæÍ~ªG‰3²ÁÁA¸uLJ¯Dz^;’l‡…Äì+h¤œI×ïÒbäAh…ÙÁ¨Ó³õêÝÀR‚ï}^Z½­¨,d‚Uœ¤oSȵ‹8˜w¾‹+±{Ÿ©>ÔËÅž>'/"ú¤n؆b¡~Àˆ£Ü‹²(d¶™4b9Ü€`½.á+¢©7:èu–!4ó§6NÊEÎûü®DùÚ®–W%]Tl{¼†¶ÉçJP6ÐSx] º¼Ù ²¢~œ*ß¼hD\Þ[¸“#ƒ”Œ¯q|Ÿú4|`„5gõk—QQÿ…R„ö¬¬¶óå>ï„#àð]UùûˆûÖŽá­Ö ÷—L‡ï42P¹ÿ÷Y*bU¨{í¹"¹ÿ ÌCEÞóÎ'é㻜ÄKõ‰O ð)ßÝǦïàÀ§þˆßÃQô­»‡Ó#i‚)yë UŒÃ—92‹ã0h¨§ Á£ú™z8vøý›n»8 ÇÈùÚçÔåç$‘#‘ïÞ"û¾;›ÞzÈD{—òdе:t2ž¼šê€O¢~ŸÆçõ-Àr]w1Zt2ºhfp,´ ÷c®T÷W¥¸ÑÃ)¥4-V-¿!ðãrq‘óãåäHý‘endstream endobj 241 0 obj << /Filter /FlateDecode /Length 2765 >> stream xœµZÝoÜ6÷¿p÷`ô¥ÜžW'~‰Rr=À Z Eïо§øPìµOµÖrµrâÜCÿö›’GÒ ê"áŠäp¾ç7¤=Í3yšã¿ðÿÕþ$?½=ùõDÒ×ÓðßÕþô›‹“¿þìðKVå•<½¸9ñ[ä©*tæ¤:uÖe•¶§û“7â»M©²ªªDßì6Û<Ëm)Ë¢×k'sœºÚ(Ø£*'þ»Ùj ;´?° Í!]4nþ÷Å÷Àv)CÊ–™*K`êâúDH¹¹øådkŒ<Ýj›•EŸßˆó{¢bJÜuCBS°ƒûÍVU&Ë¥Wþ{¥aNt÷Uâ–J }ׯUN<$”ê¾ÞïÒ]ûiçF\Š—EÅ´«Mf+„Ù7÷}Óõ(Ò\lÂÉ õqŠÌ%¨^‰“gÎt…x CPi!¹ÄmGš.µï'áo±:b\u-êû0¶32Oõ>UEË&/7‘‚Ó†qéD°gµp(xB«ÙoTë­Éç=­g eÔÙL÷6ùµ%íoe™g|x+ufM¥¼.k¿Ò(†jÚf ýT Ÿ@ÍÎD'ÝZkÐS&Ocö÷.¤A‹ê ”à0»@r²J\;ñ¶·(á¨þjfÞiîi‡h8 £€í2Q 2Wâr©¹ÏP}(¢ì IÄÂFWÂg."P‚³RgªÛ–÷Ö3ŠAñiJ( áf<¬â½§T¨¢PNÒ©®ú*Äã<%9§¸R÷ë9ír+r.r)HK?œ\|õ&d@æ¥3…ºñuJ¿ ¦­"Í |Ú¢9­ÀOøA>D å N´ï¼¹¥‰æVF̳§k –£™œssyF”ø6qËÐgÑ <™ÖC¾âw€ùÐ+½H=êªÄ»fä'èÓ€€,æ9ý†Y§nÃn`ˆ1}ê4ú1¦î‘¯hàô½ë#‘à3 Zx%ì½…ƒg¨’bBWE]ËêR7)%øë*#ó‚t_YЍÎÖe©”h7?•V˜ p¦Ù:y³à¬È2%†“_¤ :°´Ò¿ÛXJq½=qJ§`a¶ÙçÄ¿ G ¢Ž¬+‰=8Á,±Ç­Ëäî)Aš½ ²Z'òé€k–˜ÙÛ…ÉIUŸ™èX¸£{Nánc°÷ÌKYZ´Ô׺ÍÐúT¢Ç[…e]ç™–U)éÌ€Šmž“ÕÏ7c,÷8tûzØa¸8‹'lq&‡¢w½Ã(p`0¨o+@‰] ¥ƒöK¬ «P*Ïœ“2þCI…—'Š4œ)!i=$îõ@niµÆ¼Ý _J'-wöɉü´„öÖ IxtU ÓÚ‘d€ÞêÐT9!ØÒ,Ð’ßõþ‚,›ç¨lD °)%f:‡”Ì]ú#©eQ»0®Ó%פæ•;žZ†O Ó#-¬m€Ô÷‡xˆ^€\ÿÝŠC°¬'Ü6 Â«0 ±€áF€T3ErЩ¹ oÏÌgÉ1=%'Þ3°Z#àû'®&ï«(“þ.Ê(¡`µœ«u–±Ûc1 ÔLÁKYKq¯=&¹÷ã ¾ºý.Ì8²ST3ʪˋ±÷1¼‘ƒÝÖEGúùïø”!5ï‹iü·í4¾iwOûæéR|x!"~á%áŸâP‹¿LÃ×—âé?êrs6}º®‡z¢ðõ4ñÏûÝm\ênšJV™³)°ðÀ‘*¯* )®º{ß6.6+r¯Ë©×[£ŸgÀ.€¾hž™nV[Ið‘Ò2#^A¼Ø|ɫԨ¼›®ß?¶Q~ˆÉ„¹Q±pÒoCϦXd])dzÖ…ÝM<$옳‰gÔé6²€¥rγðª}< »d÷¡ùß.x/”lc­œ1-7[i©ö ZÌt «”‚u§q+½ðà1‰‚hïvýíîþj]O‰ú&2#d®£JÝhÖ‹úäHú¼eN—Fê-æY¦b@KGÍé~^I`’ŠÕûf·žZY k*DÔ¬*€Sc6V¼#ºpP„1=Ê*½F7à¹A˜rÛõ ›ÝaòYîí&”~¤3s,÷ªª‡p$lY²â0ÙÏë9B¼J‘e$)v { Rj’ÝMõ—cÄvûíZ1J-òéZ‚n5Ž!›Ã%$ô65šoãð4£Á#0"ì†ì:¬Ò’Ç qŽÖó6Æ/.Ô,XCÔ@1áºýHÏäí—uá)ìiQů%þ´;ž9’Ë¢À/J*»ë¤Ý)€‰¹ÝÑ8CÍÅ"4à§3ìÒëXëÇ‹ƒô«ø¸Þ=|1&­/ÐĨ•Œoü’à>< ÙE‹ë› ¦vªMU)³Ý*®Cƒo‘ …g±¾¯“n^sè¼êÓ:DB0ÚP d3Ùmv¶Þ"mƒÆ¶c¯„ŠcÝ€[1&Poþ0PÿÙ Þ·ÝaÄ»Ãêáxx×{0ùžMLÝ÷»‡Um€üë—w9ñ÷b~õYÕ„ªž‘ìXjõëy&²HË>­å­AÒæB ,“Œ_0Þ¨öiÃï!×ÝÂdºŒIjê™Á‹Ve­Í”vUÌhÜÑEáÐð—aºÍ«Þ¤×ó€n<®œÑ•y©wkGW™Ä„NþK¬¥“å*El! Åz¹úœ•¦ÌmX¢ü’_ØÜæã+ôKhk‹‚`Ú "…&_ýðåz³j2e¦gmR`™™ªúÝw¶˜lÇ÷C7¬¼B’¥ ]ð÷Z%à}¡Âùè~ý±ºˆõÕ9Ò×C0+ÔZ^fÖßóâ夤‡]Q> ·h8ÞŒ``¢RB£]`eSËûÖŸÐËe#ünKðjp­É#ºfæ•þª(¬ó«j\?oøûð½*fE5´sØ¢F²žhKï± —©pæGZ""€â7‘˜{?qŠ û'°N¦ |Ì6ðç¦ýZVˆd3=%Òž)Aš†ÿQŇiy=Ã_³»Ç.h Ÿ‡~9Öˆ1Ä›ÿø¶F—3ûC‡¶>I“.Ïœ éG|Òä«9R£Åˆú0zŒ¡¸ ÏÚŠ­Y°¯$šÜbqç‚b@×tÄq£¤úï7tÉî&:{ž +oîÙý?*ïÛ‹“Ÿàßÿ'¬]6endstream endobj 242 0 obj << /Filter /FlateDecode /Length 4804 >> stream xœå\Ýo7’×ß°Bà‡ž½L§ùM`ï‚x±ûa} 6€³L¤‘<›ùÐδ%‹»¿ýªªÉ.’Ó#Ëãì½òà§È.VýX_ÍÎß/»V\vø_ü÷zsÑ]Þ]üýBÐèeüçzsùïWß¼q8Ò†.ˆË«Û‹aЏ”VµNÈKg\”¹¼Ú\¼m^μlCÍ~µœÍ»¶3^xë››ÒʉºžI˜#ƒkÞÍæJÁ %šWÅ„Õ!g'ÿõê?@ år¤ñ­ô„ºº¹h„š]ýí⇫‹?#c¸¼;\¨6øËGØâ/ÌÓâÒ)![yÃÚ¶R^®/þó"t¾Õ@Øn¥B&-á a!®jlsa:ïZW0 C"gR´Æ—\B„Ö„L*ÉÄŠ’Š [ŸK>L*J<õÊÈtÊÊ ÔÐ+mnd`“t!aAkÑÈ@óFh™O0­w*ám³™Íƒj;¡Mó‘È´GUh®™\3Ã{=0ÙÏæ¾,Õü+Èk|3ŸÍÕ`Úæ–YßóZÛɇõ̰âÑ]1Í9þù¹™Íam×z†@CÌ‘Ü Û”´·8úžÉ5“ \â›ï€4€z/›v6·Eó?LÂ(ˆ ¶ùxIL‡hJö“w̰ãÑmÍK ëaŸIk›+Öí&dò”Ê:\óól†G‘ŽYb»“:C&¢Ð…™#SÕÈu šÔ"6ƒnQøðB6ÿ1þ(„ Fµ6dRE r©˜©–ó󥲃s-aMßc·8ñhZí›%“=“L.˜\#ðÕð lÙ+kÓZ‰ë:<#à;¶`‹N ú †ÑWü—°šC܆æ‘°°h~âÑ×<ú=cWèðlH‚e„Ï#ãkÉ䊡vÇ£ï&Ob6í¦„%œ’®“Í´‹7LþÈ$B3`äq YLë•nE†Ìdï#SŠÏÇ€„"Àm[Tg' <åAˆ<ò äWj2¸&:²×ôø£¥ïqŠ „¶8ºaò=3¬y֔¢îɤàni+&LöÄ×F )tÁ† ¡¡d3 ë-“;&³ƒ±Á]…³#k:¡Ñ<›Ú¼…5G¦Ú¾çY³ÓÖ‘tLt¶¬“&—§´$QKYx?²]7ˆy<ГyÃä’I°¢ìó]B:£¿ð!^ð!>ðè’GÑÔž ‰ë*KˆÃ¨<á0Ž˜ì™aÉ£{]ñè–GÁ kè<Å›Ÿˆ$Öàìü¼Fk™j›ŸäXÈh»@qÄNå8€ï2º”ãà†qŠ˜è¢žGxtÁ£kýÞðè’Go™\1ÃvòÁßóèŽG7ÛQ[#Z‘ʤõ¤3¼cò“+&=™䦨3é#SC_‡ê¦@5¢)’ûø€. Ýt €ý‘=ö'ô¯ ¬©2ý“®}©ÿ‘©´ˆ?Gÿc¬Záõg‘öÉžÉm«)—±ZXA¹Ô·ì˾åћɸþðÄ#& Šü($ý,õomt&ÎɶENP¤¹'XÁ’6fœDî'G_pȸæÑ%“[&ûIXWªŽœÈDD—ʶ*«i“ý LŒL5JΈè)C†5T×ñLf!rÅû½ãÑ b&FF±xBå>ÇI%ò“×LHÙ©¶Å|(Úb¾¿còŽXšçUs£Ë<²‰€¬Ðçç4ê¿°ÉÈT[é? .ÃXÓ´ÒQþﺘ3ßC¨Î„ŠäB1S-æç'ºU‚Àé*È©û1ÙþÀC…µhL î'ü%“™{Xñ‘¿.œ‘ï̤«·Ç!7óóä»Bn]’•íÜÏ'7þá¹Ýx8M.CJ2@a”‘©6Ó™òqºR&Œ.}¢€Î*ì¬ÒÈ"ê.:†n úYÎ1ú‚<ú¹Î1®c"¹ôí¤ÿÈÜÃcáÒŸ9clÞœ6óé²Ë8ã1€nj»f™jßá¤!›W– ­îôQÕ5í6×u¨Ce[Y÷%+Hï&󮯆£€g#‚’”ÕÇâ&«~²ÑÌ{]MDfåQϼËbݱ—SØg @YÁ÷±ÀTÝñèc·¾´ég¬ò­•*®DÅÈTâÄ}A˜0Ö'â„Çt.“*JPH52Õrž—äK2ëkÞœ‹ä##©nÎYGÅñKÂ+&*¡É“&ï'¶%À²QF b-5*òNâ‡2œT×A¿Ýðè²ùñh¶ÂŸöÝ1Ú¥&G[´aaב©¶ôÙñ߀€e‡ø?Ù¶í¼)þ¯ŸÑC+¼ql]ÊSõ“ ûáÕBj ~2Ãç,6ÏðÛ 6ä£×eÂÔÈ Y͈¬ã÷{NX²Ñ“õl–Ñ7¤œ™7L¾r+ÞW)Ax­tɇár×)äM£„ÒHÿõ©ÖËVfHMX*ð52Õˆ;/;0ˆ}¾ó“Q—Ðájœh´¡.´®Øˆ¿?*½O¥S¥÷‰žù¿|ùª1›ÄU“©ÿ‹IÉdÎñMÎqd3ceksŸíSØldª­˜{ ˆ¹õã¬b¥‘©^û ¬U—n°þj2çÊ/üüÖ—mòŒôt3M+8ó&×sÔD¡‘©Ö×™Í4çaM8H;GÙ8mb?©†“]Ç2?q{ËX¼qâÂAæÒï²NuöRð³çE à„ Œ“­ÊªñAF]Ü;&xžÍî§‘üÞ9sÅ{ç9Sºwž1Å{çWRË(U©º§hy ?©ÊÃC•l¹º{Ÿßý³KìÙ˜ogs-©·Ò¼žúxÿ?¨ÎP·FbY uÕ-Í×^ˆ¼û8_ØfÎ?ðÔ»ág߬ç¿ÐOp˜:T_%ÀbtM½J6)yløm¿Úf?Þ};>I@äß$šŠ8Ø|Ü\¯ßú1¥â4<ߺ±s¼:Ä v”‡ xxiâ°ÚÜgûX¯~wjÃiO3/‰½†Á³g;8¬v[Þùî–gôïÊeéñ`ªC¿Èw}ƒËe´5Íb?FæV@­Ì%œ£.Ák¶`??ìðå:Iã´U͇׫øÈP†–߉àšûiu¦íÒ±{ùê§Óú6p ðÅÑÀÚ" Ä Ü\ÎUòÊAÎ?ŽVRŠnÞ*ª±¨F¥jÀ_’þðî$×i²N(ö²^ÓÛû[b^Ö|ûyýÕÔ^HÄx!ñä!8\—þe88JÔ|(iG.·÷ c)¢…Rzìļßþ®‡Sb°Sà4È1õ™FNש4g<½Æ>qz¿F‰4ûÇ“§ßéÎ!ÍûêHŸT¶è °T™®¯w›ûÝv¹í'uŽÙ¬èÆóš µ[ç7ר{‡©Ã!.À­\ WTŠg˪*ýyü‘JŸtˆmZJAÞj3—š+l@v΀Ò*VÝŠv67˜}BZô—Y@[êW[¨¯œ<,ÛH{úvØ­S¡SÍü@‚tP˦_Þ'6pTx¾ñ8‚f¹ŸÞ`×z¼´÷êâê÷“±d,b ¶nùºÒñn×µº:&ñ>…ÔˆZ§žy(?Ré!ª>Ï©øI”`õ—’4ABSøÝÃ8.㦆%sž|ñA&HÖ,¬Ùc¬¼\åÐùÀiˆÞáfó°Ýí7?cÊ?áæ ·†Š=?ëo‹üe¿ƒºH M LnÍÅð¹£ò×Å]®žA.§ ïk[Õàø±¤.·múm‘,m&O•v­éøeu_ â•æ[¬ãŸƒÑsõ®¤G˜¦Èì˜Om3ÁŠ = Ô`æ°Z jóÇEaYÊ1‚ÐBCö³HЧq™Ûùþi™Ûú¨Ò ¥; k!‘Ú–ËÑæ!­1‘ì\ó8¤QÃõÚôûu€²G-úüO g9_eBUhMïn›ÜlEzô8´ê׿ Â÷“Ñ [;<»ùiþvüÈÁÏIJ2vôÊ8×ÔbsêóÞéü kA“’®ý²X¬'¬M¸!Ñ_ÛáNýñbðpÒ ¼¤Eòá›åCÒ'ûëÃÿ’ÔË­ÓZâÂ; Å&ú÷™[ÛoãÂxª­…ògMy¢:ñ ©´v*/o±‘æÉñ}:_™ ð‰ÚUÅÓÀ¤6ê´ )eÑUæø ’€zÌh­§ÓTŸ°.%(ØÁY$û! æ®}|`Fÿ³£˜mcSûü(f›?õI.U.µ ƒð\SG5d©H‹.ê:ç»Z•a €:$žØ ¨|Îa½ëSÚšÇU_àã%¨´úw¥KÀñΊãƒ=?\¸K©01xlé®W‡‹(J¨!ŠàršÞÑÓ©VòÈþ<SS×Q,ý7*³ð™Â=QE¦ 8©ÀÇ8ãµ+Sù"`ݤm °Õ¯Ô¼ã]¬†¼ÖiF`´²€å˘µP§’Å™IGÅAeµçyí¿‡*Í-èUAL”û˜(ké êÜT‡%²Pl÷_c…/éNa>jBbu•œÞŽ´@NsÉ‹U¶/mqúõÇø@úÖ+CÛá¸aƒkkÝP iH“û݉. ö¼´^Ø‘!9(L$v5å ôl7ªi›˜A—ÙQ)å!jCÀ/ „íG¶ØƒÁ•MyÚŠe“’ÝØC‰à ÊÐqÁOb„¨2ÐÜ—OvU‚ÝðÒøäã‹7q‚)Óò-ôMªNiŽÝ~ÿqÇ"r‘å Å1ëãšAVžý‰3„kŠPbf(=qÚ›)÷Ó&l±ÓÐyzza§UÒM"e|ù˜IXçÈãdóËØ*úx"‹Ã+î.ÐÛõòà 9ÂU«¼ºê…ý×·¥SÔJ“ª)ÓEÙ5†:¶O†B‘2®uÆU¡ƒ Š{”!U8ÍÅ`'p1ÑšY žÒ¹¢b8œËU‡l¿æà£N7€&Ü&×¼Ã#s3ˆO‹´D]¡rÑM¨ qe!’ÂT¼ÕÝ»!ôÐIíÞèQàÒ^¿Šët²êÑõ«Mª¸"ïÏÍ xAö)Bª—ðà~yóÝÕ›˜™Ãw”j¾â¢'øP§l%Z´0­5XîP“ñBÕ2öw5}1$ÆÉã¬yœp‚ÿS ðF»!PÞKúþrè«Ïju Ûº`T ŽWu¢‚×FmÙMj6eJvSNÉ<'ΗC"°Z0lj¾t|&ÎB—®— u}jHþSéö¦·­O­ÚævÕŸê^ Æ;ö1¹KÉ £ãnJ:„eúuìNa]×nÙÿü ïÖâ•Ý2­šØ`¨qWþy8`@Öx33zÙIÿjZ'½Py݉²×âá~@”›-Üñ¤F¶ÂË”Š|ûоø_œc÷£endstream endobj 243 0 obj << /Filter /FlateDecode /Length 4861 >> stream xœ½<Ûn$¹uyÖ7샰/®NÔåâ\d 8ÎŽ±ÁÄ2À“‡šÑeÊÓ­–»[#)ùöœsHV‘,VKÆ>L«Š<<<÷[í_Ï»–wø_ø÷Óö¬;¿=û룧çáŸOÛó»<ûõ/ÂÀ“ÖuŽ_Þœù-ìܲs£Lë„:¿Üž5L®.ÿ‹M—-–¼í,‡ —WgnÞm®Wë®í”eVÛæé?‡§Vk)eÛu¬y7Ü­ð¥0¬sÍp„µBÀ+iXx| —ÊIk›=½þÝnµæ¶í˜vÍU ;js:Û¤ÇüÏå Òmüß§K‡¡Ouˆ°›ãçœüqÿ¶ü±VÈìØm  0¬ò°Í—×ðÈš‚…C ™«¬QMä¿4#ÑyÁþÃqØÒ•’G#ÚŸÒÇ»ýNqÖ1£ ÷pÜAñf—Þÿ*—¦µ¶­Tæ| ¢¤ãž+G@R€º–Í6“ %¼«(1 åáúçÒE ý† º †8–îÍ6\‡£ N÷ÃÓ<Щ=c-”H°~áŽpVÄLiÐÿÓºæ&Y“êj '#õqØÍ4±nà‚Nñÿ´ûÚ>?4V5=®E8QöóŽ©Ôí ñõŒáM?ýÜ ‡cø $2—;b€êTsìs“•þqK ½ D'ƒ8Xë‘‹¸©E.œže€W”@7»›ð[¹È-Ïãk|î€[¯309®LÁ‹»yÙâ eK%bUa_<_ë Váïn”ã(;þ,À³”6¿5ÂFð;r¡B+F;Xs ֊̘ÇcÚ·òBf=ØEÉp³iþë·Pl (š&ƒTGÕ;âßÞ'k7×<° ?ö©‡u‰5M_¢Œ¶àýÙå?ÿ¹ –Dw2—„ýMâ@vû-Ú¨Ž!J@zÄ‚3ð_›‡\|ÑØwÜ)äq‡W‡«ì Y pLó8dLØ¥šzÄeœ|dwèB‘n÷tˆÂÛÐ@°ê2léÈ>Þgæâx¤·ä‰ H73TIJðÖ63Šlr0O5Ë?53c2Œde "w™„Z2¡⣥#›ùóÍ VK»V nJÏ (1Ö(¥déc(Pܳkã%ÿ½ Q€ùÓ6BÌÕ:™mfþ.‚^ÓƒQs¢¯DŒ;oÆÔ«ŒXíR´VJöÂ=³ã=rQêsß™Í=šriˆG7‰¡D»!$:);÷w2„(3 D;ôÌ–•‘£ÍÃ]Œ0Ý©ë¹VÅtXò¡ QsN¥–KîLÆæ5k­Š+þ©JG°`]\Á¢ËÌrÃêHëæÇzt U7²ƒ{ÂØÎ,q&˜’ŒžgÌÌ¢]…1°\ó`÷Èúî(.´`_òPõ”‡"0ÏÄÀ‡„™+Ö*ÚsŸ >eHc(0šÂ9ÀQ`à…ÏÇݱßLoÐ;ão© 0ST5×ñV¹Ó2ÏãqÅ¿Ô8Ü% «ÏÁô™n”+i̹ch] ˜U “ ¡à€Ì%YY\ÅCŠT: •|«t çÀ¸ëCL„qèÌá$Í!J¹0 Y&cŒ,k~7û°Ã3F6ýU]k!­Ì¢ÎfbfÌQt:”?­9D×yôq™/o1 ÈGúÍf糸Ãc?·=ã$”L8ÜQä ‰@rªàÎú “‹Ã!1f)’ç±`– ©y|&@Íã¢k®àâ`RÃ:†¦ ²p=ôWp ã7é/^Q¦?Í ¿û) 6â9º2æ¥-Š%“ÍÇ‹±ñ8is‰éoçÓÛ½‹xD˜<“¤,Ë[Dx£UŒ6Ÿ08>;„¤c¿z9 ¹"lúÍ—¿üé§Õ¯fúh\Ë”bQ!³Ä@ P,8. ÇçcVëUtóŒ/:"Ñ,¯Ç @°-¦?~åÞ5šAVÎ=Íhh)šL¿G,Bþ[’[Px:MÌ]åXØÂ$Âqa™ÅÒzŽt®Ç‘¹ûœQr–i4EÀÖY’B̨­ÌÕvj`à8ÉÕÚ´è{£"¬|1åÕ~cBQ uçÉ{IÜ\H…H,ï8¸€j`TåõQ‹KÖ¶Bcò drÚyZþŒIž1$tÁÎÇŠIiçý: ¢ˆÅ¼ùýäV<íÐBœ³Ò/ᔼâæY¨ëÉt¸¨ë+3]+ºX¿¸Ù\?m‡§¥†’­2j µî–¬îbŽr£ì†«[õuO-Y¼ê7Yn–Ù¶þX朙¹¡ç å›Ýíz3|©f•r_ð¨Y¹/ ÇלË–)“Èr_8À€³ôwa EQ8¨ ´Ví˜lÕ“NƒÌX”- {'“Žá<™=ªÖ@¢>†]XÏc.÷àÃ' A |ƒäÒ_Mi¬PÁo勘YPÖXñba÷cчŒ ÓUÓð:ÈáTBSþÃpôVLÈ3ÁMØFâL šLM>öÅê5mX,^ƒeª!¿ëÈ6þ\Ô"׬ƒ,âãÜGƒjüWƒÁ m¢É=/v 0™ÉÒ|_ðø_ýR.Ó¥dSñw§3k¿ÞDöëPÖïõ‘Ã:?¡ühá—ãiˆ–Ü¡8vÑè …íHƒˆÛz%C`¼uJ¾Ñ…²©¥q¢ÚwZ“lË‘ƒ'´T·|ò:A“P¾TP „”Uá”|¼¬*ÈʇüÕsxÅæ±=—TÀZžV,D¼³Ø¡25;×)tf•p´C“2 ã•”Xï<ä]ÒP8°y/2šçP¢ êsíC^Ä7“‚}Šü1®Ò>‘F ­^vo ®Ôa xùý»÷ÿýi·½ßÝ]ß¿¯1Öe& Ùú ÕÆ@h+Þü”±fV8é(Z›Åhî`C>ùŠÆÇŠes3,6=`™(YÔ„™„31hbžØQG,D&=Ö}£P—†§ûðÜ’6P þ¡’ÊÔÈCâYnN•JtY$æ Q¦Á=Ú·æÂ/)`™ÖÃðUï‡/‹ÁrŒ³Â¡/TË.ÝŒµ¸ûýõÕðiqtcrª û/c-!2Ðä HÐÍê±Bj;ªLÕüe½ãe*MÁÆb5›sæ¾™8ÚE,«î <ê²—r†å©¬"Ýïo÷¼-"¼©ÙŽvÞ(j[~œyH/³ØþÓš"¢¬EpWV–Mzƒ€ëUŦÃóÎ@ì£XˆÄ–'Öc£YÁX¦.Ãw¹y!D{sYVS¯½‰q8NQÄkÑfuñTAý*6Ï” ¨pÕ4¾{Kùg²™#ËÐ`mj=¬v|Îå Ûm¥3¤#¨kE°â]WTE|EÉ2n|aOikp¼lmÃ"ˆ#©¼žAE·Ü´²ýmÐ`)s' !95‡¶VN=Ÿ²°“¤¬~®zýר¶›T$Ÿ ®ƒ+“E§užÐh\ò~¸‹Á]Q€-×lt¼û,LŸ `ÍØ¬'@ô¡ünæ7R›âÏ<à„½4Ô‘‚ôáˆo"\‡JbøqŽh½ˆÆ~ ^ú§Ë³?žù *u¾ëä”4Øü;WÀ<+.·@§ßg'&9Ͷ³PPX‡ÀòHp6ˆ¤©yÜüœ% _°É Aïº.½Ö[ïÔ̹t¶ÅÎ]èà ‹çÞÔôGVçNCäq$,)òÌ…ºßûsßÅ#áöv>K@ÏëuùHîx´ÎDqqâ”'xúΧiâŠKcÑOãüΰÏù¶\g)‰>Æ+˜Eú}<ŽÒ?5ý¡©ßN¾/ijä//„ìjɨ~—¼¨DùžÃénÈ; M#WûY^n Øžö¶ÅV’3g¨å¶h…«áªÇ^œo­P£1üƪ™°’2ÆS¦Ø/²•á+‹U7•¹+6)„˜å ¦µ:†¼±S°ÌvltCIJžYiœp‚Ø…Kbo8Íü=í~Á\OQC¸>j6ýŽÙ¶‡rº¼Lo­UEU&“¿èAšó*“ëqH{AÁ8`Ø=ŸÃ¢çês¶`@\T67áÄ‹SÒ¹,ÈÌr™³bÒ©ë©Ös5•ÁµÜa­I΋ˆÉqàÿ瀊ôÍ7O®¹ãs0ASS­^­ÅÀ‹[5û.7Íþ–4òŸVìíóöÓæá°œz™–›˜è¹ô”dŒSµ3;W¾‘¤wõæßBs~Û…(ºÖŒC>|ºx¾x¬K¬æ Úa5$ µ¢ã’&€.€DªM3ÈëƒÙSî¯È#±Ÿc+:Áv’û#é=‘j=WCIï$†þ2yéšÆ«©EnàapøËp"˜‹‹&¦ˆf;~­SiùÞšÃÂ2mêc¬š]„/yhú‹z¸4 à'¾P¨³¡°ÂדÄùßqü¸c>—ì}m45è²ÂÌæ*Œ1Ë<ÖßÃsçò‘!?õÅóaµQi—ç'‡~ÿ<ÁÄ~ý¶jfwPTº¢Û§­Á}Ž4·L«ŒkÑsUthv8×N'ÂåÕä²ì®9Æ);“OM·>®ë#~ØÆAñyø˜Åús¥óAØûYÿg>eqŠxªŒíËéY*âå>””W»ÛÓ½Pá´£–WSü£>"”¦¸JòYß¿(º¶¤–º¬¥† ~ «°‹¥•ᥢËôA"æ'£óVIKVIÛÔÇ)‰H] Ë‚0¡ÄæS%w®(d¿? ›„Ĺñ;îû<ðÅŠÈù¢m_TÄ„ôŸæ•ØÒ<8hóÉR/-8}ê}ÊÙ¡ª;™d/EA* õ‹/<Œ/æÜÃaQS Ž-_Ë›÷9i‡lʇéÊkÀ©†NVà®=Q‘x~6|÷x/â *RŒÜãÞቀµÌ"¯¿úi|XÆÒh.\©+Ëc–„»”ß®dW8©]Sà›Ud‹‹/vVãèésÕ++]›ì¯ÛÞßN¥Mæ¡32¤½oö!4Lñᚬ˜7õq³Ê]òg%ì,Fõç€È~LòžÃ¨BÑhÂ]q‚š†Ué“YõÊÎUܼ¼äØþK\9û`¿ÛN‡ÏR)áƒäw¹dàÄN£®ºøåæ]trÙ,ÞVrÕ8öc„8Çv¶‚P« ¬e"Õðè2V.É-òæ§'0Š£7¼ß\ÿ0½ýÓ’àÆÁŽaYž©×ñ°LÈ>3Uøõë¾ÚaላßREMÐÔFï‹h TͧQð•R¹tÖ¦V°†£Õ$”ɳ™½D˜šWJ™’j×™'+§h|ɯ³¹Í²F—œ7ÌfŠép}µ!/¿üÂ1ÿx®ÒÅM`ôRsâEÓú¹Ùr:0P\În¡¼";œsàXŽzóXGRŠ޳¡K¯B~Ô†F} ˜Ú¬k}õZLz-Õkôš>ôhÖÌ¾É´Ó Ï²9§¾0}íGÂ Óø6ã8sY -ãÙøøè ¾àˆ¦‰‰¬á ¤ oè‚jýòP`î§"¯€×šï‰c߃î|Õ™.ß²é÷¿®§ß£Ï÷¬‡çŠøÿ¦Ÿì".gÍ—éñÓO™¬Øî®®7á¨j²*­v„K,Û-d!ݰb^Ae-W†HÒü|Âl÷ïtøÃ¦ðÝ„ Ïî xþcî+A П£sÑŸßaX”ÿ½ jîw‡ãoº[7ûþ8ì|Pe1%ÖÛZ6­ïZ¦ÜjÍ”¡IUÇA·X×5L«ˆ¿…EJÙ‘‚§ ÖuhH< úÃÈ ¸âŒHÁg&0œ‰ Ä5))ô(Ë*r”àÉìfF%7Óñf†×nF}ä?žý?fò> stream xœ]O1ƒ0 Üó ÿ © ]Z¡¶Žƒ2àD! ý}I€î$ûîä³ìú[Ï.¢Ç%°ŽM¤Å¯ Fš‹ªã0Saœu²»ëðþ‚Í@vŸz&ù¬¯ûªÚCè -A#E͉F©¶±¶ÄæO:£=œ—º-Pjãì?•Í%Λ€kŒÄ©4-MrÇô{&øS°A|-ÆS-endstream endobj 245 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 352 >> stream xœcd`ab`ddäóñ NÌ+64ÐuÊÏI‰¨üfü!ÃôC–¹»û§âO/Önæn– ß/}÷üîÉÿÝM€™‘1<%Ç9¿ ²(3=£DÁÈÀÀXWHZ*$U*8é)x%&gç—gg*$æ¥(xéùê)øå—34òó’R3sÒòÓBR#Bƒ]ƒ‚܃üC‚5õP\ã0000103012²Ô_Ã÷Ÿiß †eßO_þ^úPèÙw•îï*ßù¿Ë‹ ëüT\)úÛîû¶S³^mìþ. ù=òwnwœÜï6á/éõ iò^±§O«ß ·›mãÔëä¿ÏþÎÌþÝâ÷æ™ÅÓºvKc›?§{¥üoíi¢µ¡¿ùå~‹}/ý.ÆöcA¬§<_éÂqs¾g.ïëa»Ìõ]†[Ž‹%$Ÿ‡óÀ¼‰{zúú{&öõðð00ºÕ‡endstream endobj 246 0 obj << /Filter /FlateDecode /Length 3351 >> stream xœ­ZK“·Ι? §¦|1˜ˆ¼ªØU‘Êr%%§ly«’*)Jû-R\“´µÊÁ¿=_ã1 ¹»’¥ÒA\̇F£ÑøºÀÏïEÇé_þÿÕfÆ»«ÙÏ3[»üß«M÷èlö×gÊ¡¥<ˆîìr–ºˆÎ‹Î×eº³ÍŒùùÙOÀ:Þ`•í­ôÀŸÏž³'ë‹ù‚÷Üxá­g7ß­nÎZëžsÁž¬ÞÎé£r‚¶:«>iÏ<ü?š ½g»øM¥oÛùBúž Øy% j½Ï¸gõ0ÿ=û')-¥è-ÏJ³gi^­ Šû^*Û-”é½µyzs/ûKªj/ñûmõûUR)(¨Å«mõ-)"t£‰6½…ð¤ÈîâruxÁ^ÌO)¤U︗ÅЪìpˆS—˜ºbïæd)®m±NReuõ:~0Á°Cc·sê+ú %»j>¼½ÍÒ»åzõ?| Ò¡Øiil½ºUÀr—QÞ± ­­ÅOußÒÒü ü¶ô5A |Ž-_ÍIŠ޽&>XYV#IÙn®1ÜÙXöÇÊYi-$½vÒ²Cµ,wB]u;¼neR;7–í˺ÇbNž°ð¡Wΰª7:È´¬ç•/-wçS7Öºv ÌØîrcýƒ*NsYI¯§t¿W:L=X÷Rx•¸Zons`ìMëõÀÙ&i·Ãm´ÅÎRáÈŠÚbO;ÅòâYÁ¶ûâÁ™*Vsšcw°í. F9»íËê¯eýÇj½:¬wÛçAáKËêwÞYÊ´ÎÙì¬ýàƒ%ªbûÆ­ê>'í(á-Fç¥b¯/Ö×/Ø‘¾8mOzÕh×6»ú.ù˜&‹©}Ìûc+j9Ì’–«õ¾]6 ?{:;ûósvöºí£ æè,­[ÜiJ²åaIí[Á—¹/šŸœ±5°/îû¯ïwW'ýFöFšÁmÖûmŸÖ¸ÙŠÍn_7¡…†§JÞJ1û<'0hœ†ÃJ BÄ0Ρy¥xí¢'×xÝÒÈþ"÷t:¯Fq¾M±Œ¬¥ÝV G„K¢u¸—qã°vd\îï Üÿnux]qµþßG¿Gg¶]í÷S¢X×o²ó™c×[í»ÕË[)O¤ß€P¶¬ ê<·߆¸›ÌÊ(VÇÝ•è]xûj¹S†ÖxoÊÓ¬d Üêy-g²žÒ“†³£!ŒÄþ¾¢—mž "\ëÒËýþÈiI||{™;)4¹KD9祋œ8â'ÙÎÛ?I’`µ¾Ë¨Ÿà’ýš4M¡?åhªaÛån¹i¤·ÇnŸ)~ẅ4½Ò™šÓÇE3s8ß„œ€!íÀ|¤¡µ$°·¦âx"Œ¡%…ÙÞ*¬\äq’O{gå‰#ð9ûŠ|ÊG{ɬ‹oó_„ñ ³.ì'cpü™<'ÑÍ„L¯òч'Y°çrŒõò~)7'³ZÁÒu3‰³ËÏcvì·dv'D­õ±Ù¥]lÌ.ðS"‹žý¥ü„O)ˆLÝ™’"ˆÅï5£D!‚IÎëu“Ñ èrM,î{)vµú5n®`ý”‹&ÅÁÄÞ$çîT„R©tY’Ã$L“\Ç8V »ÏD©‘~7DÙDíS!³*ÞŸÖˆ2±!ã«B LDkvµÛ¦P ¿ ²fŒ“³I_6Ö›ÓcIï­+c5lEîÌ9…«h¬È÷óçp•„[GÁ**Õœ_G¥ÔMåÀ˜f'XËxËã Ô·hè…(…ßEš\wÜAHŽ<6c§(Ò…¸Q±å"N×!;g3ãkÚjšÓÞ¾Õ^@:=¿@Fe¤SÉlÈR'ÒU˜/–/Ó„<9•FÚ3ßT+Ř¯œí1ÿIQs]5õ&iܲc¤Ú)š)*#Ÿ¬®êØM]ô›³Ù³tÒaºÝÇžpÊ#‘ oQœøxÌI!‹ýhyØ!µ¼ç)Ð1·<Î4%)'sòíÝ9æI¾±,‰ú¾Ф!4‹I¢{Xm–mýtžþwÕ¹%‡oJÐ…)þÁ-z,jZðg_ÏFêXoäøûo‹ñ÷åúâf³ºyÁÞ_çFP¿ÑOyÿæAÁ v‹‹úª€T*ä¿áÄoÆOJ>H G y©¦¡hÂi+˜ÿübñc7Éž<ýÏwÏbA{¹Ü¬Öè/®™ FC•F£èzþû_6›åîý "#ŽK¿lº§3öx¹^?œ9Õu0Öåv·ùe]ŒáC­ï`HŒúÛ¨âç7$b0%4í&ÿœ6,‚œ ¾ÌCIR®w+*ïid¸ã4®·ûÃ×|Ô}·Oç ·š>Þn®{1âÁ N*¸á”[?¤àéàŠõ<m9Š‘µm=ÄGÓbÞ')Lr^‹Ðº$/ÂˆÆ âd£| 8ò$7Ò†¡^o¯F±OWoúÓRµé±ñsœù2ÇV°”ñ yÈŠ÷VK=:Ù v~ù•É‹³°ª©éþþÇÇÅðA *ëdˆ¸Òšï (—žä †•†ŠõNàC/C§ŒD°¨Û]tÿîÞÞIÄ(#:Û{[Ó°DXB(ê”F8‚˜HÃ϶ÛÃö ¥I·½ìÈg.È¡ºëÝ\ ¨À¶/—/Óqоûº ^© ÊÝÕ¤u¦{‡±à§ÝOÐí[”2”šNaæ½ÝflQ9S·žý8Cä¥Üµ•–$…òˆhh©@*˜h§TZ*5œ^ƒJK Âk†–Jqíàšª“Q ©ר¤Z”u¼GnQ¡rKƒ ĹBå–¥°!zk*Ti!Ô­aTgkâ²"Š•P®‚¢“â|¬Ä 9IEñØ.U±NᤓMð\,]tj¾7>·);d e¹%8U ,kuã*·Ô¨²à#ª´4¨¼â*·4¨¼ä*·4¨¼æ*·Ô¨1·Av«Ð.d]Ú~ Sä^Sz‚?düƒ²GâÄøR1‰?lýÅ}DÏÇÝ8îÇŸ+ÿLêƒx°¡¡z¥ ‰œÜ¸†ýdåÚiu²ØèÚPEe¥ÔвÌÈm|DÑÁ{¬!Z qöhF·LÅö„äÖ±`§Œò†jÉ©(O•bIRíù£ñØTïŠ(‰Ó˜Š F#º ¢47pô)È[¬FÈ ƒ¬VL0Ÿ´žöØ‘(ºÏRã%VJO1N:’Ê Š'ù^ÿÀÿP9’†ë!¦A_ýP—D¤£±bû· †¦sgLÖBÜöMLƒ1,q>¬Iq{“3™¹¢Àê,ë;QïO4ÖÊÿ8Sî!m6†–1l ø‚id *-ÈEF­A¥¥¤T Ü0B4]ŸøZ£¡¥!£îM-hhA÷­Ë„êåª$@õ¡|÷Sx.cüˆix®Øu¤æÒRSs1l…Ê- *[¶Bå–•l[RC)¶A¥¥AeãV¨ÜÒ ¬²÷G ÖÖâ«j(x@ ÙÅ€ª²‹5dªÊ. jÌ. ªÎ.h)Ï~OdQB™´$ôŒqH>î‰, >VÇŸBª-*‰ÐjÔ¤ª4–䈞'ì¬PÑœbç†è•£·G!ª )€…¨6ø¨àM¯âJ«“òDpÕ“¨¥•)Mº+ú –A=rd„ÏYî÷‰#}bd¹_Ìï‰,ÊÑͼ¸3´ÈÏZ>@û‡?âÄ IH< ‹ˆœkž84Lwm©‡§Ï`@Änž´Ð5M·½­ËÞÈ °˜’톇0'/|Œ’Ç>Ô—.¡_WO9¢i`|Ó+ãI}jÍ6Épº=-N÷ÇF«xLú(zj°F(÷.´7È•‘ÖËú™ÎÍQ·Ó«‰áÝFy³oíñ˼Ú\Wõ뢂5l½”·h®}Úë›æYG{Ÿ D Zåo–›ZùaTmŽ_ÉH~÷ÂÇ•éô7nØ,Èøp'n¡ã––Ñ¿4WñîqJC„!C4¯¼N=,ˆÂ`½Õ> #w{‡· +¸j¬A&>y9Ü ½ÏÃa™×™è‰Ö›éû¹âi¿Åai Û+ŽÃd75–ÞŠŽÁW“?Þ´QEÛÞ÷aAàg6¾'üÌæ—dqÞvŠ?‘F'o%èfì¶×> stream xœÌ½InIr%¶•ôbÇHíóÐhdC! ÉzQÅEvÔ”ìÌbfREj¡ß.·sŽÙ½ßË$Å„DÕ ·Ï®Ïnn³ÿÃszÍÏÉþÓ¿oïOéù·Oÿð”}Ö?oïÏúÍÓøëi×v~þæ7Oü$?—Q_g.ϳÏ×]ûó7ïO¿xù‹¯VyÝ{¿üðݯ¿ú:½¦¾òëåW_Ùßuæd?½}UÎ7eÏ—ß}õu­ç‹š_þêáƒï~¼#ÅÇûÍ_žÕyïPé뵬u:õͯž^rÿ꛿;8¹ç;Ò×­åç¯k]cï„ÖÊ­¿Î2vg]¿xùôýo¿úº—öº×zù«ïþÇëWìÀg•·Smö|¹âœ_[ïÙ+þº´6_«UÞ_S®/¿|ùÕoþ$ï_~…¾õùë\_{Û…üçÿíÏþ£º²ûKÛgÒÆW_ç>­o/úðkO¹½¶µ¾úÒlµòÚòXÏßüÕÓ7ÿË/^¾áä¶U΢¨mœâËZŒ]Ï‚¼üø7¤O? +Õ—·;Ö·o?ô×ÝëËÿêk[½‘£Î9^~|¨ôa¹ýÓÚ^¾‹jöËO·¥¿z×_>=|ü›ÒOúxÕ—ßßÀ§o]R­¹¿|ÿïÅxù‹ï~û÷={ÿƦõÏ¿yú¯O Ë—™X÷eþîÇk’þ§?üðý}2û?ûŒ¯ÇU¿êå.eŒ2_¾½7òcìŽúò‡¯Ê:­qg8µ´¬æû*úˆ¾àüœã… yZ电—Ÿ¾·¿Ïp÷çÛÝjíùqÿýðí§OÍñ6Ödµ~a¥ÐÅñòí?ýúü°û\­Y/Î߫͗ׯ¾nÕfùIþìËüò=èèšûåÿä jó0w?|úö÷ê@o­áOQ‹Ö©öG„Ÿg«oÔÇù~ëû§èäÔѳÉlݾ°á•ÑÙS«éÌÒÃVx8›ª&§G:Ù;í§Ç1ÿèÓ¿?úÖ»^ËË·Ÿ~ü4Ô6QwŠé”:Wl–§Q­kkýæq›]‹þÃ#]ý•}ÚjŸüðý;Hyþ|ÏZƒçƒOg]‡m¾|Vä@m#æ—¾ýé»ï…të?ò?}÷0ÄÕê¹)@kíïþó‡vÆ#Qxÿö‡öêÏÚ~ûßïÿêv}ûÃÃ"ÝI†ûûC=¯Þ>ö þÐûïßÏfµ‘÷º_¾ÿ9Yuø{Û¯é üôãUQþãXγÿ|A+§ÏN¢®‰VæY]tó4ÔÊKûåW¬%Iåå÷©úŽÃžÖÁ/,Ö·úòŽÓ³ÏtÞç„N?;íwjª—ÏßOGçÕ}6ÈxŸǯ|D§§÷~üþáo4:òx^ìËCä÷øWî^Mä¿ý â›;‹÷òíêæ™Ão¯*ÿÅ9|˜Â‡åùíï~¶EîMŒ)ŽM)‰êgƒ®N®Ï¶ÊÿñãÃ9ÿ­íÄ‚«ïó•7î8ï8¤ïíü/¥íÇŸ~òªÎfùžk°-üÕGÿäøãåßÅD©O›1ûó:Oü˜sÆmðé“ú—ógg ¤=—~®ŠÃ|ûÃw|ÓÛgô휛ûýÛŸ~øîŸ¼Îús‚ʾ}vMòël›òLÉ(ç|~œ2ìLè0ÿ³`çþøpÜú黦ÄùôG&¼ŽtcÔõÝ·¿ýþï¿ýô'ñŸÿêoþœ\û#{õµðu c#@5Mj¹8ÔëÄ׆.?rÆ6ãµVôïõõYºïïŒõÄ1.àQ\²{û³{äËãËù°^^ÞÿùýíÓ?þøÓ/_ŽPñ…Á±­Ì¼…ý]jig}Í¥Éi¼Ö•6'à¯ÿ“KEgñËõ÷ÿúõõ÷o>ýúŸÞ¿û§_¾üïÖ‹KÐù¿¯?9z~ùøO®?Û ãýû_ýú“~:ëúFêKú´ü‚eþåW±ì8ßÇñã?ârûå0~6½7ÑéåÏΚþǯþè‘5ˆ1ÿæûÞÿñÓ·^û¾ºQæãtðÿ/óÑÎî:ôš¶6úïøÎîáóÁËßý_¿¾$ÌßÿãOÿ)y­N?Áy{=Œ÷Ÿ[û5_øé5Ï ñÕºò²Ïß%§ô’kì¦ufí_º°Q[¹×VÇ:µ¥ž¬¶’*«C¡Í{«”Ÿst¨¯Þë+³\õåž®úòõõ«>ŒöVc{ïº×˜î5æ‡1¯]¿¬dð…ù+S1üÑÿ—ª‹Rêë˜ëÚÝP^”ú3å…ÌÏ”m××ÚC}±?S_´¾ÏA[í«³éÚÏ¿ýÑ„â3ÉçÖxÎ+–n?çº÷kÏÙú”Æó¿~þoÏÿd—³À8òYœç¿3Qýl§zþÔþü×ÿ婜“rXÐçR–Ñåç÷9“‘/ȧ§¿9°Ã:vƒyfXÙëu+ïC&S9°’_çVj¯%„Xë|aXéHé†uAê<{ØëjVï©?ëÔe‹b¿QÿÁî¬KsA¼Î®Þ÷ufò`õC¾7êZûu\b:’ÁÎÙÄrÈÌg‰•Ó¹ ¬þbÇȰò¹ëê!V^¯S½(ÄrȹBZñY-vþJ=Ãà{µ^;„Xu½fƒµó/0÷k‰é*š.ÍU}],ÅœcžVzm>嘦³­{LÀ™àö|„e°N'cÜB¬}‚Á®EvH7f@ÐLx.íôµUÔ5O‹„X‡‹;¡ÉtHo¶•Øâš¯Ãê_g‘c2׉…)G¦"– g6Îí­‰8#²…oyq»ç}ú³.±Î1*Kv×Ë!‡5~(ö|=œC9•¿a-Æñœ+‡h+ÛNgüÝÆÿ~Aì´îùl…ç³Õ–çë4´ÂM`°Ã´ b9ä,§oÐ3—uó0%ÎüÙTý‚«šÁƒ©õqÈYÅQýàl|™Ï“k}Ç Hì›l°V(½ß çÇ瘀8˜j‘uu[=‡¨®m«wº• ûýiÙ×:¯EX=½_ÜÏç¯|A´Ö¬¿žyÆÌ_3ÖÖ|}&ÉÊù77ÌÄ9h{DóUm'œ5ËvdßoÃÄÎvíÁsNp§íÄÁޏ AÎÁ<‹ÖmñÞ/HΧ§~‹^ÒÎé:G*@¤áôf’Tsâ¨ù\"Y› ÔåUÇâóííä3Û†3Çëðe6€)£‚ŠÚ¡3¤Ž©µJ¶¡¢.5ÛPgZ:)òãÜ;I'û9“GlÒC/ˆˆHňkïF‡ßo5ì8r™ÏÆÊXÀJê~SEDrƒþž?HÝR ò~Unïso­Ì~5,ƒ Ú gÖ3nžV‡dÓh‹ˆ¬CX4lì˜#n;ãçMœ9“ý€#À*Fâµ8ä÷1·ËaF ˆ¶Þ©Æ M,‡Ø kXyL¦i1¸«t{¢{IwÕ‘ût_:dgïû™ÉnÇ/XéÓøk©–äaXgðŽ È03”Vçܹ ñç¦M<Ðç/Ûm‚«³þ|öCãvÈÙC‡0µÊ»îÔ_âo$xû¶uT²Œýt¬C:—ݽÃ. pÍŽ»CDÚ¶ŠCV²íÊ÷ä\g-àâa=cmÔ¦zY»ªÛʾ£Xº˜&T±¢Š×qA®Z0eúû rvEˆ‡¶÷qgÚMè™D'Cº1í¹3íg?Ù~­Ãûe[£_ØQ{QªT]™;겉}×›ˆ†1]#6ì!:9r¸9ÑZ¸³68*£Ôƒ]ÝñÚ×Õû©[VüB6n[mURýb÷¥CT×Ä‘°M[ˆ%ˆQØX¢º0ßS8–xAHè#@vΪ«_ÙûR¸y®ܶsaÁ#Ÿú¡8\Z‡ÔC9‡·xdg6¼÷‹«-ˆnÉ»ÚxµAÎÉ!;_3‘u£ŸõÔ-iüK´@ùµkv>€ó"ð-Ù„‘5’Æë¶3šº_Ýv-½ß¼ñcÞß²»yï˜÷kÞ v:*îÞ!gÄ—êbbÅl¿æGŽ‚Gî„zÏ÷ÄøƒÐAì;ó$Ë”%; q„ÿmäìý‚”‹d1HH­ƒÄ+N ZÉ Ô|–N† çÎI1õ;¼Â©ƒS_q« ¢k`)ÕWú‚œùŠM¾§a–]\—Çu3%Š 5e¿åR¯ÚuVÆIK7x8ÖÝ JÔÑÔ ·Ó¤øÌ¥fÙ˜­éIB››¤}ÂèiŸ@P ÐæCckÕÄ­uŽy£Òå0õù‚hÚ‡6R—à9÷»¡R¢›7öY¼Y|³b&8Çjj·rg@ x`@M¥Wn hI󺌼ᖟ$¢8FiD —±}ŠñbS ©‡'Qãl‡CÅêœ ¾.H°¼Eú¤,6Fµ/¶é0­Øœ§N]†s)ˆz™*Ö¦.È9FqšþEº¯)~§SûFˆ¶p"U+Åy'‡ôz©¤—ÔÛge)ðš‡a¹ ZWf' ¼äÌÛŰ7°½I?œ*dZ‡h7§°¢‚÷Ä8Jß9q@GR.¤ÛçvÄù#DòÛWPz'|AŽì¼òµ%&Yrnâsl¶—c;XÇ·ŸÊÆØûá³¥ÄþlšòbÌfõgÀž{žSî¨þ¼®ó«)z«YHȈfèšÓÔs»Td‡:׃— ’{•Îi@A,ˆHôO¸çiȸ¬¦_7¼'éä©F! ø0jœ²¦JÛeÁŽKŽ8œ™—i{V@âvWqÈÒˆƒ ÈÜ—$lKn4u÷vŠòˆº –zYÞ ˜¤Ù ¥0ÓNHNÊ2.l—OkƒÝ¢\€zM˜TÎ4™f‚­®¬3Oû‚Ä6·I€`»|›²Ìƒ÷RŒìuWëÁÏD2B«{©u².¼M²­–]7¼þLMÑ/ˆêZ &LjÃ8dV¿þ²ù C?m”†ww£^ ±«‹Â¡éyyB0 j,N— °¤ð=tl È,%€"…¯ŒIeZ¡ÃÅaæÖ‰ëYÝ"H§ÑNX lâ Lö­ŸfR:„€ucÄ·ÖÎÌmb7™,B´’Í*:1‚˜ÎçÒÄ;´«;ÛhâÍѪT@S'‹m¤¥›ÅëH§èE«®Ò6åáˆ&}R—2]£-@_®+Ô{¦6ÅÆ‰v±L•·¸ÓYU@L­¨öæÔÜ€ ?ûV ¶·5A™¤œI@Ö‘r#WÙˬaÄ B,cä*U.dc2¡VÖ‰ÆIg^AË!ÖédêµÅ˜8¤”ÝÎ(&¯+; ¨k𽥄X&«£Åª³;VÞ¢©w:ù ÞÈÃ4éPç;n,;Ä`Æ‘9SNkv+KJ½•a°qˆ&ž–ñ–Áý¾ß g»¸ò¤[GŸ±çI‰û0BàâØh.i2=vê<ÌÅ 8Æõ›v9_ÍSŸ·¡Wz€Éu±z…‚j>B…öf§LXcð¹=K3#vºveújK'Ù¦W!Ä•6'ÚÆÞoQƒ¾Ž‘ àšÓ7ÕÎò¨nÍÓUы꿜Ωž~öÛYÈ3Ãvˆ!ŸØš¬CžºdçÛ¤oSøRý>Uí‚hÖ3L&HVκGðh¾ÆçŽÎ…›ŸÂÌ8ƒ¨9 ÄÚ%í61-üòº¨ù®gŸQ¼?_MÄ¢?µÕï7ˆqFÓ·¬4»j;LÞX%¸€C,²±ÕàÆšÈ‡ fˆV=—>l9g#/ô¾Ú¸.°ì¼”ÉÅçÕ}]ðÝè+ïi³1€èàTJ(£ÅÉd÷Û*wz¶÷Ðçáð¬*Ab3÷;Ûsµ21WMÒ…ÑY“ 1W Ý,ºà˜úkÀó ucË Jˆ®ˆB!coiŽÔ±Z’¹Ü"ÎlO ‚ Î5M±_1Mï‡ àÙIÅ®"üqA‚ˆ€ï>w'–CÎî™ë:Òv7:èLÛÁD‡š\ëÛërˆ¹8m‰Wx+š ;¹„X&ª_¼ÀB!“k}N,m¥ø¥s–×#!Úƒfðä €Ôu]:çŒã‚´ý4i^˜ ª¦³ÜQrc-†Ùëó]W;”wUí0þ«jrSÕö1x‹†@ÕMå˜"Qhƒ®"ò¸‰f½K0%î"R†WŽ ÑM:[¢Y@LE“ÕqkƒLm_ê sµE·ªOÕÙrÒ8|”Ù)êZ+'´£,êì€!:ÓR5i&nûðLw\ÉHTßV+šÙWMd㦠íèvŸ:Ðgv¦¼Lz„ÇñМ¾ß çø»¤d³a¼ÂØÑMò¾„kgòÑfzk~¼¶äXƒÄ5%Ÿ©B  ¢‘„ڌÜ,‡*y]CÞ1‡cm"Z;Ššuw„™ÒìdXŒŸÀ-'¡.'¡i¶Õ±6:ó.,¤Ü‚ŒG¶ª ›ÆÈ‘t›îï‚°®ÃèÃW„6À÷„î¢~t—2‚ÉXé.%ˆM:G™7‚îAÌÌTËU×”®Z,· Du-ê¯Íó’X¹ÍÄX™¾‡æÉGZdw扥6z5)û%Èa C9×{&ãØeáÀ©±èaá8ÇwÒÄ×dḠgÔAý¼ZZuùÚäœ€Ø ¼³ Ò//£­…ÓLO¯©æ!Òéú¢‰Òææ°‚Æ Z>Ï46јi"¨êw¦™3'D©—ᢛ׉̺É|l"" zñÎqÈH×cz£L¥%þ<µÏ p„¿*­Ò1ñß{Ÿ:m`£Ë3aÔ)²ÒãŒÛ ‚𸀬þ1Ó|†3tI1]^´„huä;ܾá³äkcÙá1cÈÛ$×½´á’æ—Цö¾Ø'¸]ä 6¦¬Æ„ˆ™™`x³é¨·³­T­ÐÿŒ) WOTºÍLÝ8Ê:3£µu—Èë#ÑN® Ö4n*kßÙUjV¶ƒa‘1R_¤ÞT‰$Ú¼]Òrª/HP˜.'Jqt1Oh'í¦P“–QU5nXBB*®Ò;ª¦ý*VçΨÑI*iÛÙMÒ.HH_t’’‰î‚Ì[x öìù4“äB>:ŒnÑ*Ãèvn¿!Æd»ÖÂîÔ%F† cOÓ‰;µi¨>H]a±­rïJÚnnu€Ž2dq%­ꥤ…¨e†Ê³‡êMÀò¥ˆ0”³Ó§€ËÉ팓²e ¿Ïá\!qÀžŒ}&ÀŽß|H]‚¯«úN°ë*Dë—É'ŽŒ¶ ‡7 FÛ[pïw©—ûÞd{óåÉÑÍÇT\EâQvH½Ü•FJ”ÆÌèȹʦ‰@“Õ)×™A““%€·eB¶¾p±pœrˆFWxŒŒ¤w§€IQ zÖ)ß0Þp$HËxvã÷ 0Ë¥”;·<Sóëj:¡"=Ò„EÁ,Æä&’3”)1áÆÚ™ÇEÎ>áó‚hÂd¢dt@{S¶bo®™unm)câj‚àÁ‘¥ÊÍç$ú~22™´íUQƒCCDá„jÞ´1g¶àx¥K?¬ˆÖ¥t™BFèà6P[˜å*èÃý]klŽ-R¢¬¬Ä ¦¤ÈŒ!= C,Ü ÚWÞ{>€ˆ¤Ó0nvI©ˆ“WéÊ`¦%©b†”3„„̹gv©bÒÒ»îYð›.1ögHðàœ1ï7Hë¡Wƒ&)sS“(i Ç ¢3³¤1-®£uȪÁäõ*ç[‹à­ ³¹£ $Ÿ­>8SÈN}–ùúšÑʲÕª„X¶n8ÊP£:^ƒW,à¯,4™Ë2A€ø-ÆBÔ\4åi±¾ÆôÁÑ&µà_‹”$×i0þÌ÷òcå ò ^CºPD‰‹ºPAb]àŠ¸†äd‡ â$Ø@úê•] \nt«qO“°qûNÝDZ,ÎxöACREЦ¾u7ÌË­Ü.:8õäEu9ýC3ä^I§Ÿ~÷ËÏX#0¬Ýݲ/Wê>2÷K÷ýiwö¸ ºÿq”šïÏ€Ì+òfÒ¢Ða²¯€„0¹%IäÄ„£X›¶ÀäîsÁQÆ!šùËŸ9,I+„äË•úŒ1QXØÿÑM¥}A4ÆNG¡é|€C©̼ÙIÌRF—e£…Ö{AD C€‰ö 93ue ¾«i&†Ù4/Hð'XÚ±œuˆyœ¸úäDp£I±e+;/ˆ¨Ã ‚²m]—YéR’:S¥´”>ãÐÒ~AB¾ƒcbZ~S8ÄŒN¹S¥ ÌÎÞre_~ tˆÓèr;£m†¬ô"±ÓîÙ¾¢“ݨ¨S×x@Æ —xSÁÛ%ÓŒ™àÜÞs‚i³ÚútÕ•CÖ •ÆèŒ¡ë9]¦û Ç[ +•%G#Ý’3²â±.±¤uòÐw±Äî¡L¥¥ï AL, Õ=|ƒ@¹¡{¥NíøAÐ%“é€ óv„›Å¦ž³™,:5¯Í‹nÎæ¾™¦O=œtwþdÁ`G, ¿;UeSy™`Ô[#A=b¯ÖnqL6íyfÞjÁ—æÈ`ÜÙØË£2L`/±y/Ú{Â67ƒ MSÃ6-…`ÎÁ¬ä¹ —Â!øq¼§'«n’sSc²ªâ_òJŒ ¾´ ` ·Ýuž³3öOÓl£Íaax7‡Y`5¯Ýè8Ú°¢çT&îñ3ÙÜÏÑeà­r…!B§»R&¹‡á͘´€Ø‡'-˜.C+Z=s µž!@¥Ý!œžÊ˜I¾íy5þ :«Øôd-›Cøe"54y,ñKÛ«ÃNL¥m0#o ý€p1ÍܹáØ0÷âŒY:óЬ_~9x¾çXä3¶/6­¶²±žÜ´‚°·…Έ3V¹J& €¶f3L[›‰Õ4 =lªÓWÓè‡i8N[M;pá¢Øý¾Ý ¦ä´ÃkJUŒê0žÙ†p˜gï›Uw7„3e“S[¤ Ì–ÑÈy@Ð$|y1mÕƒ|‡˜ãvÔÅÄí57Í<ðÚ6¡w Bº¡=I@P:P§s çå”®`é»Çt:äøÒl`ÀŸA#7Wº7§‘ØÌa_‹àþ@ß¡üb'¢jŒ c ˆæ†ú*Ûÿ•ƒÔ”Ø=<¸OË¢ó¨}zæZ±’Iû´Ë>CÁÚo¶Y©€3Ï–I-:¿›¹î¤g¦yÏ„ûÔŽ7/ÔT8DØÊBk~XׯmåHº½@9~v6Ó#É^v¥ß êê)š“v'8ƒòï‡=°ý²«' ºz*w×q%ûªGð!Ù¼4lNb_}!Äàk£¸÷¸‚ÜÁU;·ÁÚð˜4‡Ìé¡?»ÌkÎ Ø§ÐÆFò0{¥…ÊŽÕo.ĤøgŠÅKP˜îM^ôŒ‰7ˆ¦…ákfù¡Cõ:tŦ1u“ b‘DøˆÍÛ*{¤0²Ú*zëåÅÔ D«7À@Í">•ì¿ “;­P¬ ˜2÷‘9˵x<-:°šã(” lr€>B_­ÀÙí ”<¢ûÁpÑ]¦œ#Ã+W#mò#o)LV¿A‚ð›œhúÆÕáÇî"¡á7 b@tKUHѦ*PHg…¿%8H¶¹“x\‡ˆAʯ qEg_GU³Ö݈(U"ʃbç™h¿Æ–$GhôÞ!×Q4¼3Û‹x‰N…΢í耰¯¶9ŒLô® d[ÊäBS&iYÐÜ À‰5ß’sá´äǤ§½­ \£vÚšÕÆ;p^¼ Û29f“gJ¦ÑJvîž$߸¬­ {ô“`< ˆ8²it…ëÑém—ÀR”z@ÄñZ0E×b“ŠÃ‡9‡£ì¼Â/+9zSyLNO§½u6Ò¸BvžE«áÎÔEMçjƒ6ïÿÆsSó 7c­³Ç $z7tÞÁbr ˆ8έëXq¶˜\ÇùÈJ<Îhšrµõ)5n§÷û”„}ÍÓ2µRU2 P%¨ 29] ˆºJ¦gV©¹Î1›”©1;'!Oà¬nÞc¬Œe̼bçRÆ…C¡%•9„-r‡›$Òx‡k‡^ëªmñuƒèL‘›³z6 3°ž‘–Ø—”.ˆxFRøÕ墆Ï­tÇœ“½yÎêíÖOˆAÙÎxVúÒ’¬ËxM*5B–zjò97F`'·Ô23E@Øœ©i+i¸H¶ büØÿ€ðdäÄ}³y,Jcƒ‹±ªÙ?Ú€Í5º‚RcÛ,;$8 Ù·M¥×f@ø¥.{Î×bónZ³Ð¨rêÂ!½ Z~c¤j“–ÑüæXµ“[k÷›cT„>”Åpã•çe7­â€ÛèPgi‘]×I^Ì+™#Û„¸ß‚/;=”, ªÈ¸9$Nqè$ã&פyƒh³&(™Ç @‰Œ;ÅS…qƒDo3Ù߬‰®Pf*(ÑÛ2n1ô!1"ÈkN†p2äme^ç7€¤ŽFŽ¿Ë èŠ’¦dmd—2óRkòÄ(‰—I=–Òs8@„$ÆWµ=m€§ª0ãI@Hu2MÖcºßjrq¹+™_ú "I;€Ý+Š‘­E=m.6Z²¨yƒðd5ú%Bi€i5; ñÆmP´2ÝD¹~"yrw¥ >›¡ GiL¤²¸Ônõ•A-v%OõƒžÚr›üÑgÔðÁäÁe,‹rB)~!ïEzæNk§¼l$Lá Ã¥ìN,²I€+pˆÄø&v·GR‚M¢?•q+Œ¢6y@LŸ£BXÔ¡e%;oÎÏå Ö¾OºnœÙðÛ»h ÷µê "6> «5¬<¬¤y2¬L&°23‹â‘Ï v,Òc1«&U$îÔD3c@t¯fí¥*­¥)§r¥N‘L§‰³dÓ×é´¸2]M䎰wq×Ê›õœ²…»< Á°Ø¶X5ÉÛÈÛI¦7äŽ3†¥õDd…l”æ阢‹.Õ ÂÝäÑœD¡ßh”:Dr;£…DÇ‚Ú ¢ 0(!÷§K“Þ¾ÐPdl–)!;Dã?ÅÐPLò¢Öɨ8Ïòd¦€ˆî4rE¥IObW iJÍQV”ŽÜa4LÊÎPoE7T¬#KMbz šÑ~á\ ³œáq‚ŒhB«ä1®tÔ6ùT©D9ûbà#‚¸AdBæcP:3¢œzSÒÙ¤Û ²ÐÔ«,q‡Ù¢L!©”wR­ŸLû4@›<UkÃÅÝ ðaÎÔµ|ƒHDSÂd¨´ÂA%͸_}ÿ¤~ƒHëíj¤¤¸z„[eJÐðšË¢”ê "A²Q3Í8°çÐMÛ Y a.[@´˜l„B+ËAæL¶ˆ$ej½éÙŒÇ})[æGí£qð¸ðÖM‰Ìlo&@iW!Cú=BøÁ=à-#„[‰èXEÑ3ÇMˆÄ-豃´ÁFç©È%ºÖœ´šïÿ¾AâË ÖL.Âø‡tD_RQ*ˆnôJµøŽ\qe…ÒPë¿éJ¸(o¸2Ð.‚uWýa-À›ß•GR1§-è ’"?»Ô=räE^B[€£4Äv)î03iÇ(Šþ£t¨¯’„ŠS" %ÆDjK‹¾‘~vÃçÈ ðžÌ6óæZÓƒ‹˜ÚÏý‘‹ ˜‡iƒ+kóÚ¡šÂ]êiY3eÕ©DYP«$ðãCû¢Ý¡ Ái³ÐP²ö¥‹%i®Úƒ¤É!¡¾€hžw¡¾€ò¨+ «;Ú Âýc¹ëìä2™íŸ.½œ©¦(‡*Om@øåB”EŸÕM|dŠÁ•ÖŠÍ“ÑÕÎgu_HtMQS7i‹½ qåAÙÎ4!¸òhá·ƒ¸iýj…Êv‡„>inq_ËõIØ‹fi"á´0ĉºÓö@ѧ•.Šî0³àÂëÛWdë«ÕJƒ6Åú øžL[2¨•ćÒF¶,¨ñ]sÞ :$L+d'HƶM*í|¸}"BÀj[:ë6v…b23b"Ë ¢{‹êSßd)#¨d07Ž&eŸÀ•¬ÔPC¡ô=Š;ÓºËz5p³D %7™ñB¹›TŠ®.óvfÂPÓ¯ÈPÃÅUÖZ˜xæ –L¢éuÈ-eîNª½dË&{³o§r‰¡{?ÕÃŒæ€3oØåçÔ!:"ÈfŒm×[ÂX¾ÂâŠSä­$r_š"ƒ"Œ16P\ñ⇅\J@ÄÙ%)š+‡³iLË‹«yíØv ©™ú›ê†¬¥®-çàÔ”}ƒhIä»÷¶’ßîTLYoé&yADï˜*eååæ(ó€È”eJ´Ÿ„m&J‹» Re’æBÙܸë Jp(JwöavÊWÓ/hfá½ šZ Àûp“I—;³¬Øi¬b zßÑüs.sõ)ÏæŸ1 þ#ô›4óÑÒêžœŽDЉŸR~¶•e•9Ȫ.LSÒ¨Ü~¿Ý=®‘¸´¡t7»²ðöÿ:£œüòÍõ¡—Y3ÐÂtñy¥›OÔβ}á;†wV<ôýí‹SW'†f9óÈ*`Ã÷8–{(;ÒÍtW^hNIœ_s›rÕßùI ’>ãJIåÛÇV«î4;GxU`m1j¿û`Aëй£c@¦²k4Èv§¬h ø*Û¼w:pF§ú#jð2ÛÀÉŠŽR }på¼ –í ï…cD¿UÃã8>XÝAuy2ÔË|øk¡ëQNµ=˜7°æ•iãg3‰W¼ ©z ï€4ffµœsp1¡MßÂå`‘CñŒ/­ëwˇ5oŸ{™ Øñ` U`þBýÖËö…wÁ1¢Óªáqo˜ ÅiéÉ3Y^Á(̺èFÛ¡eIÛÕ‹ÖjçÅç¿wj/ãó(£|@HÛÞȪ -¦ÇðTÆT° ¡.F ƒø`nX /¤¿h•/%Tò ,ÂîXéòào…–ŽîN&gë2Ù<ÜKÒ±»aé;¶¸iFØ#²´:åʦH„ݱ’GØüÜÁréÚ…ÕLªƒ”6èçCj¶$mv[ ÔsÐ,hÿùÓ—/¡*î3ɑ܀`Mw8ß‘»c%w7ÿÍZP«"³è¹î¸‡®ºÝ-Џ\¨guóIoõªà*£ Û`±k²=_5»Ž&XÄm¤>8‚÷Ñ+xÅ—wd›D<îÐ6ƒLüˆM$$‚îH× _XùÉÖ†;Z›ûî˜áÚ/f¬h]y‰.È §í/QZ¾$Ñí- ž‘EåÅ-¹_¿c vÃÒw¬ÿÐíA/¸÷Ät–vÓÓ}¨m¥“\Ì¢2‡6æÀت½/²l‡Ð¢Lf6‹&X¶/¼Ž½V £©µZ¦ÒG‰¿rˆå€/ `³s軹HÔØGyâÚo51ÖÞ?Œ2«ÆŽvHÑ3üÜ\‹p¥ªv•1kl<0¢»ªá±ûY Ÿ1KØ«i‘Y-HE¬p O>ØÌ›é2-d)EþŒ˜'7–"ÂTõÚ8‚X„ˆ¢—¾´ß¨˜Á[@ûÍ!+Þ­I¸ÁhȰ°‘œ£Œ©£½!0–BZ¼†(£ |!ˆl}^C“ém¨ŒÇ^†÷Òkx‡vågyf¿ß ´Ïqlz–ú6ÁíβH#®wað)Ö«†(³·§„^QCš"®jƒe?îmaD¿õÄËã8>ÚzfE (ÒÉTéÓ?¯ŒuŽ3ý©™@jëÃÉ"µq0Ör‰À!»1ü#10¨m:SXìÔŠ"83*d¡0ú.*ð2›»èÂäŠ^ÄÑÁ[@ s®èçè²¾~ÂLj€‡â¡E6;¶,=EtK uyHR‰ð£/Ma¡±Úƒp…´Ä„FÆÉ\eÌà†é#0J“ë¢jˆ2šx{º )[£i±¢ –1‡ê„c¨úþao_$T–¨ËTÙ­$ÏÆ9*o]BH¨h\F6²Ü©ý '¶×¶2õîLßjúqAE?̰à\™=èø KÝ4ÂÂľcÁJ ‰¹’Ç9Òöë*øÙ“4¨«lžzÓR½!þaÄã2aw¬ :¿°m:Ÿ±êµ)¨1 -1eB§ãfoJv;ùÛ˶ªƒaa¶±[*²Ã ÐŸÓÉþj€eˆ3ê‚cx½†ÇA|yçØ\v¹ZNrR& gêÅ+Ø×‚Æ‘´ÑÕædG°ï¦±PÁoDŽ Ò‘ÏòL·Ú»R@VæWÙiAÝ7„F¸ïE6ðötƒ0¡€_§65À2N«ºàÑgUð8†f±0M±Í™?ÚÅW‘Ä“˜óÍXjåÙdÿKgfn^û‘TÇr`š&½÷+u}`Eþ¿À*;^Þú‚êM‚a ½T&|2brg EPY,Å(7Œì˜W^fÒÙÒ–®]ÕÐâõ$4âÛStA?{ýëÇ!™Œ0´tv¥†JÑ •/Á™ZÏHp°Ym–ÑKzýƦò:jð2ÛüGHff¯!%hQ,K¹ˆ^8Fô[5<ŽãqÎÒìÂ.a«‰žìíÉ»k{RÇÀšWp«å㥤ª9)ïÇŠì#ŽDЉŸ}°Õ¤jí©(þ‚,¥,¦r¶óá/‹5Œ®bæTŠŸéŸ_åâ4X¶™Îkh›/}TJkY$8”Ãú9”Ãúü³|°ö“1&,Œýv{ ©û=H5Þø’Š‚¸±«t H®JÈHOcXù쟨RÌF§®.û ’H°ãx‘-` È|KŸ7Ù‚½•u¸‘1Ð1¢Ó¬á³A|¤1'“o¨L n©*ÁÜÏɾ‹°;¿û`]v-bï7ÈÔÛ©d2Ï™IÒ5s,*Û(M)CÈßsUàe6R©ÎV ž¿Z`ÚlõÁ1¢×ªàq${J'd:r²;Y‰áÂuK<‡Ç^Ñ,¢Uj¾ý÷>˜uÙ?÷2À‚˜)ÖªÀ’…ö[ ,ÛÞÇð.z ƒÐÀ\´ùËq ¿ Ãì¦_W‚n•eNù†Ñ©Ò¼Ì&ð… |ÔÐô ¢·Á2Ì ê…c¨“^Áà ¨OLµgÂs–ˆçÅl‰/)™ˆ˜Y·Êà`˜ï 0”ô4jˆ2ÚIÅ#z P"]M°(Á¹Oô»wÑ?Äd± qz³5xFÁ´äI~‰°;ÖðW3¿pžåkVq§™T¼É­¤MfH·Œó5GYJŽºo´…F^d bIª,EH¾äÈ›.š`YÛ pŒèµjx·GF(ª¥o¡25ž &œC(˜|̘U ,˘sG¨dK£‚(£| HŸ|(QtÈýÑŠR0ŒÛïêŸüÐÿ6†¹ÛÀ™x+u¦i_ŠÂ< K`vÇJW $Ïê4| )c Dr%ø$÷Ƥ”ãõ¦/¨ë´ ¦æ"i ϲêK—óµiT~£AÒ‡c,†þF QF®î¿T¯ʸ~Û˜,cc²á½ôÇñÁš¤I{IŽ)*Ü0æåI/‹°;V¾¦ÛØgÆDxŠ“6?ö•-+°¶çÔ ,~÷±~ÊÉ]Ã<ê¤ 5åÊ3žDv $ŠRîÀS¿fŠ‹o£\Ý6êEO)¯Àô]´V)G‹ÛFÓ¼ýìóÏ»ÿæ†@ßÍefß$•23¤#é|«\í/­°É¼cÞ0Úà£Ü^C”]+>PÅÏ]áë \*aïB`¨‡k<Ö}h‘ªg÷ù 쨓‚,1 ó„Qº1QY`tf猼Ì6 qˆÌǪ ¬Ëj‚å·§«ŽÝf£ [2è£*öèýñfm¾I3+QvÈz 60Þ0º*ˆr’Þ' ä®ÓDz(¾=Eô³wп~‚®¤ûÞµfÙ|ðÆRžƒÊXJFc ÌjF{dŠ)†©(o¨È0ûàýƒøzvê²¼~–qtÕLj>³‚Ç!Èå€.³½zÜ{@”[OOµg7!Q9ì†(bò­Aÿ½W¦¤ñϽ̰ ÂüCQei·XÆ<¨ ŽV ƒøH£Î,_ví‹2'†[*1·ÂÖÖ ½Ö¼Ò‰[šë-£k’´¿éc—RäÐw,ÁnXú.lp¸Чkr 1ul›ŸavÇ*ñ&ð—îª3z‰åuˆ2àÙHi‘¯+Sç§²¬}Ý0 yü¨ÁË%V8 )2_¡†¬õó6r¬°÷Â1¢ßªáq9)ˆ?ûCæä…ø:*˜Ã XÍ_¬Ï}|™×2"Óé# »ú{BCwÒ»<£(5÷ Aù?ý{/²1:SŒ ^¤ð ¨QŠXŸƒ.8Bô9Çóä·1ˆ®meûù‚HRäB\˜fÔ¸ßŇã)%w ¢Œ&ü6®¼VÍÐkHJåª&X>8‚÷Ñ+xÅG\a$Wò5Í5áxT œºã¤ëÕM{åé'²n僚æuëzCÇ솥ït²y•Y܉TÞ!–tÔ êµý õÀâwé'õÝöð/c‡Øóä¶ò²¦E‡ß‹öf¦ƒ 'Ë×÷^dâI|>**H5ßÐËrÈBôP|6†Î>ãYâ>5“r[F_X#–?–Xøìšñ¦xzã7SÙfj¸û”bÜóÔÑ  ËßÌñ¸ß>ô2kÖI„ý×ç½ê5 Õβf;†úæ<ôý£©ëôÂä­ï¼á…¹®‰EØ‹ßÉ7–áo²s@YAÝWçK“X„ݱøÝÇÊryä¸ÏN@ãÊê)_…$g³¹£ìªÛvÃÈÌBï5\åäÎ;‚˜{À~Ž šȽ •¥1‡ù_ÞIUðÙ(>Òõ"-Ž; –Ýš™Z®úŽ%Ø K߉t¸Oã’¯¥Y€í¾«Wfÿ@"솔®’–Cæ>ãü®¤ˆ“áþè_`vÇâwi a•4¹ìð´R2hï‘6iá'´®ÊpDz\!Ü8ÆPvv¯Ae¶ðötP*ò LÏ‹ëRM¨ e&;ÞgUp‚ļIKj©b:/œÿÁãWð®ÜGæ^Û¢ˆ»’÷O (‘gTe4/ÉÌÝ5ä"õ›`QrF7ï£Wð8 Ž¬Ñ™Â|¦—|séHö¾¶öNóHí|=Ëp [`XæŒr«ÁËlãíé‚TL¢†Z9ÞËOhñ†÷ÒkxEØæã-Џ ›û‚KVã9Bz³T7æŽ&&Z#Öì^(î#묗üó¬§;¼–±×}Åüq_1Õð8­X!“•ýéÝ€ÆÞÕæÞL—a’ Û57 Ÿ»0†4TŠláíé½_¥ÏÓ¤{ºêG‹¥è÷è±>Á\¶ºùrɈ˜HØòõ .P¸¡è#¡ [ ’Ñ*ÈcÐ:ys<` vÃÒwøPŽaTÿå½d ›áœ‰GÛà¶œeà Ug¸FtÆoH·ežt47. $XÇ. V‹tÀ_à…ƒÙ{õ<©i•ê­ã´È.ÊçCel ¼v«»®ï½È€ï½æ®ï¸ °,ò7æ #ú¬ Ç ³Áìð—'Ýz©Œy£S„ÄÑ™bBeœ ¼wƒñ¥QA”Ý^V™úY(mA´À²T’èƒcx½‚ÇQ|p>2¬ˆò“[J>Kïäî EØ+_~qÆn`Ïl7Μ4‹Ð²ñˆ%Ø «ïx]î |–öÇ®ã¢w7ÌÄ`ˆxwÃÞFo•õîFÚ‡~lE,RWø€ðÁ2SzVåê©R‹ÂDÁ²4¯9q =/5D9É > £S«—yµ¡²T¯µÝ0¼—^Ãã8$ÌOq¯Ù/å€ÐÏמ¾+°¤ÀuvXwrõ"aTš/¢‚(g¿“1ÿwÌž"†˜„1šP¼R¬%ª”â±™ Âפ`Ð’+è(Ì=¬òÛMœvŒJ[ZÔåâÎÍ‚4%xôÌØHçæ,3ÊnVë7 õ2jx‡¢}¨.m½JsA6Õÿ›Ÿ}>塘@”¥ý°˜¼ß®®ruAÞ!m†m5Èm° e•záÞKÕðÙ8>Š”[‚ñÔúmOמ.­ŸcUOmXüî#½œ]!&­µ¦ñ&-—(JÇŠ:ÂØ4{QÎ:9(Ç^G¢%Ž£ Žà]ô Æð‘}RàÌ­$œ^ºÅ3ôŽ%Ø Kß}Äôf]¤UŒúÙ|YÉÞÅQ(™œEœ…ž;B«6¼‚(ÇÙtßž¾jHzùJM\GÓûàÞG¯àqâ2è%na³¼ .ÈàmÆ&õº|PӀ틱5QC”“,ù±ˆ™ù|Õ`Ù"ïþ,Ë›½p ï¥×ð8Ž"S8ÐÖº_*ñ€ ŠLa†èf±SÄrÈÈ™ò¥8$ efJ`ˆŸ¡7Wb†>»cõêïâ ÊF6ÿ¤kœ "³Käüaw¬:\›ü…­<·vQ ˆy²}^M;‘‘Ãöd#‡ÂÂ%Z²ÛUC”ÙÆÛS@Ìx‹H ÕÐXHžµ«}þ¦ÎŇÝÿˆ£·Ý]¹ÚܤÎ,ºÈÕfÀîXüNF‚$/CÎâ“è‘Öâ9-Ç솥ïÔbRrøÞmÌj€ÔWå3,ÂîXüNLÍ#°ÃG¿˜r¿ÄóPE؋ߩE潺8B£´è××X„ݱ.îò_ð§ëž:! Šî±k—iY’¬nòxcÙêæ Ã}æ¼/³»W]¯’’Uƒ"|¢ –uù£ŽýV ã›"ïËâÊ €T½"+oK;“S‘LÈëȲ"|h  Fe*Ö¨!Êl=$3^Ô¡-Ž&²\£úÝ»èŸ?â£ëµ+Vv¼Ê~>¡m›+^ž ÂnHøèƒíQý… âYz»š¿ú3 #eEùM7ŒÎü¢†(£ )â«hZÙÏW z×+Ú`ùíéê…cx/½†Çq|0‹•y–e¢®éðiqì—KƒcvÇšõ_u/MÛ8#.½²L|‡=ܹթ Ø‹Ÿ]dÕcm͵jˆr–{S@äà5:ÓD,ã*W/Ã{é5<ŽCš9>DfZ­^CÌMׇ‡‡©^hêwˉ{Ìvý\éâ_G9¤Ašr¼zMÏa¨E£àÓêê`Tð8ѸÌF¡0ƒ€Ìà¥ëRÕ Ñä)ßèA8¬#ÝãѽÑäiŠW±âÑDóhòè„cx'YÁg£àÈß0õª UÎõ"?ä–™!Ùä“SXË"¬Qnyèd©Lð>cfA󆉴PŽDØ Ÿ‰éä–™=ZÜ+‚”ùžË#V¼ñXüî“tY}—NèB¼HK/Æ¿ú8ØŸ–¦©W9Ò¡f]¤Ÿ/#Ô`ÌŠâ97è;a*«¯Wàe6ñötƒd>«ê5&lô&X|{ºúàÑkUð8Š‚°'ˆÚè|$eø[ sa vÊG ¿,wOñ>K³ï€Ê,µpño°ÙåºÄLmLkdÅ1Ú¦jÞkð2šý³‹Y€øãä©àˆºz"½Ž½V £øHdá#HæÁU$Ð8Þ×ukÅ¡t,~÷ N‡¸“hd(jD!¼näµ$Q|£!lßÍÈæQnD9¹ÂÃ!|¶1*Ðó Þ‹º•ÐGð.êûÇ1ÈöC}n„âîÙ´zT˜܇'œ¯3Š2ä@'âeÉh¥ ¼œ#¦# ‰Š¯ÁIW (É5=ÐÏÑe}ý8]1®©Ök¡DNta2ä ¯Ë2Žv¹ýìñ´ú:p—;ù„ž_Ï)‡)UÎòÝbéÑ_}þØò;Ëø\=)H@<]ÓÚ…o!IÍŠ2vÈbL©cd‰z:§(WUtˆ- f_5ä2Ú`Ò˜z!Œè¥jølÚ†-<’:E˜€(´(ípqr›l=ÊoÔ'övÃ(ò×ó¢Œ6¤íkòYâ>Ìa’„BÑÛ`ó·ÃªË÷Òý¦¸ÆŠø +I—{@<=Üæ;rmyø>“«,E|)’]x‘-H‡¹Ù¥ãóA‘>`YZxtÁ1¼‹ªá³Ap`²‚á›+ÂWjˆâ!¾Þ±E÷()Y–R²ö†ìhQƒ—ÙÆÛÓ¡ÒîªA/E,¿=]½p ï¥×ð8Ž.i¹+­îé›^É5Ýpäø$–`7,}G¬Áônöö­œVV×#Î)rÇÖò\¬ÕW¼öÿÃJfQÉ›¤a e$or¬Õ<{“cñ»ìc¡c”BV¹ãÄH•¸ ¶¯²œ9˜Ø1*óG*³QF˜9*0£ášW*ëÜï‚÷Ù+xƒœ9’²ð ¢ ÀLp Ø|yµó5õÎh•oŒ_`Œ¢ÀÕàe4!çZ¼y÷Ew_4Á²\|ú¾ax'½†‡Q|°k«öãL ã¶Ú°kw¹Â¸k»4°fò0î/'’‚;Ùr5xŽʧO·bl8W*+ ^Çhƒê/¯ÁËlBh„P54ª£ –±=Ô Çð^—ˆ’]·¤L¾ÿȲ<~ÁÐ;F¯JÝoÖþötƒ”p[fÖE&éŒX–f]pŒè±jxÁ»á‡? Hxe“æ†Óµ½ùZ¢, Õ î×=©fó¼Ì6äOK7«×`*0½jCeŒ-)ôVÑoÕð8ޏ‰`ý4½XÜD„Ðõ óõµp=]7l½]D¸6cʦ ¢Xî÷ŽŸ²Ú{|}ëj‚eÝCnô{}ôGñ‘þ“«‘%ý'Ü5úÒS²sCò'²‰_I[À|Q¦m•Wù¢øÌAw$~¦æ:£+»{uCx^²}DÒã¶N¿<ŽÍ»Ò3c*ÆnÐzíð†DÐ G_…ƒg.¹#âiy¢F¹æÀ±»cñ;Æ“ô§·,÷ ÂI&_³Ž'cïH„ݱð™Ú[¼‡wö7,îfr†PöK°–¾¯‘”›ñ€×(L×`ÙæÖgX„ݱø]8È2rµ¨ö“–Ô×Ï‘ºãð«°©&©a.Ë+ÒÒƒåX„ݱøÝG®h-ÒòF“ò…{èoo:øê¨ÎNÑëăïÜ–¾“öÅ|ÙözeRÿ BþvL`ÙG±ñSNl¾kMSVÜM–Ë4ÊJ(+_|ŒŠÄQŠlA|¼œ¸iªÏ“+øÔ@  wÁ1¢Ó'ù0%”ÜòH¯¦Zx¿C6CÚ›†®™˜ÛJ”¥­hã€q ®b Ÿ8BÌ?w¬ç¨À\Éò®&T–E~ôÂP£†ÇQ|ÄÉ7݃C1²M*'sNí‹°;¿SÐPÓ{ Î  –‡Þ\X„ݱø]Ü/ˆ µ—a‡ß/xŒ/­?bvÇâwÐ{eçB`6M`¡ÏWá‹iÐpÚ‰õlOÙÆ"ß“c,p¢‚(»Ó˜ClyšTÈæDéèÊå´ÝkLÏ)æ<ŽBdŸNʽËf©âP~¨­WhÆPXñ&ãͲt½Ø˜Â@j•}Õe½™âÅÆœñ¹w¢–ßž®.8†wQ5ÜGð¯X¯º^˜sÇìŒw³Øu¾#Óâ:–`7,}&$øwv±ffAMœWÎ/" tCÒgù x’†êÙÊ&¥¬ µQÛ˜"HeÈÁrÚpŒ>ä¡¢\#›” YÑœ9ÄQäŠò&XÖ­ÄdÂðNª‚ÇQ|¾F+ËhÝ#<í k›ý1¯OÇ"ìŽÅïÂ#u¹ÓÂ@–¿âý€{;޾â(™#ëÓ³¨´ª'œ÷ņ8ÖÔs»¿ûÈ/f…~,ËÅÕ!ƒâqe®1e“ô‹Rù*ïYnûJSîÅtSH»h¨‚NUQ4Ñ]™ä}pï¡Wð8†O›)VFIÊg`爫].‡FÇ"ìŽÅï>˜Å©t3Kâ¾ Œ0OŸîÆÉAö23Ë·i Œ-ßk¯!ÊWúdAc¢†ïÅ«®ÅÞ Çð^z ã·Ÿ\gpû‚øýQ‡³êÝ& ¥Ž"˜qÆÉ‚Åf×[^foO7_¡ˆ ñ&X”$‡>8BôZ<Žâ£óO3ìàãNàeÐëru,ÂîXü.·Õc'™*ÔxþyijkºÎ'°úmWZf¹lø ƒÜ§ÂIòèjÕ!TÓ ®ÂÐûÆ@Fê“¡5ȾRÃÞÛÔ[aLpþ^ã6nZ›¯øhâ Š/Œ± ü†'˜æ¸¹OX÷u(r;˜Ù— 19ö8|÷å¤cN&÷†%/ŠôÑä˜ÂaPoÎ.Ï/(çé› n\£ûd¬&·ùFõ"‚`XM¥â¹Èµž(›{ÔIDïHòE‡Ow{E¦Äy©T-÷ž zû!#Ž&m¥q ÓŽw¥ O§^ÁYÝ3ÿ-rJ…¯Š!Ét8|®ƒ”äÙŸ†E±2Á|”‡“£,;/·¬çœ¶Ù# &½•±½ÖJW#[ÖRÁ=YÆh,eóÎUJ®”‰?Ñ-e¹ štÍÍçK~ß§vÖ ýl](wF>Ç›ÅÆsrï›YÞYm“õìB×t¸!T)ж†ôÖ-Pô )³ _¾ ©ø"xreKç_B:ßýEÛ LÔŸR↮Ý'°Ñ¤'#úàfœ“¶O×”;žWœY1ßÓ¬wùxé+3åÏì‡«ÍØ”_<›ežÛÙ:”Ïòüí¹ƒuc`ј¤’¥­7$´îÝtàëc‰v˜J aTÎd_Z-¾áë9(ô·Ø)L-½E)°á ûeDQnõE‹n<*iNaƒ»‡ñê>;™™Q×à½ð¶E¤ë¬2¤Å ¼Á-üE "v‹qVoÝNo†Ú®º©/_»æš;\û k&¢9ï*-ÞÐwñíRúMxS’hU›N)ìùj8¦&¹xTñht惮€é¶’µ cH-OBïH³ýëö€›æ¬J)E^Uf6bæ[TÈŒè;.qQ"uÛƒK_U÷T†¹HÑ!YÚöÄ-#ìô†Ã$å9žÞg·$?èEï„ÙEH¦ÌêÁ•v®½¾²uÉ•åý‘BO7lnz“´G—‡ IGÔ†N2®g§ÏìdæìoQ%v 4£‹l´Ÿ¨XBF&ˆ¤+(½¾ªšÊü®ë®–]ép–U›©qñìaò-FÃ*)[—üužùÊ[\â´ÛÞ–â\Çì|¥§$àâ£q¦µ¨ºY‡ôË÷ãÖóÌyúùгÞöÝî~%‚9ÉÊiž|Ílo—³v×íUèëãöòþð^·Ë ­—|»‰À ”êwž%§ÄػΫ…P!ü×|Ј£ +‹ú¬g¤g¤m›*ê­¦C`u] qe-9Ýr~¦žLŒ‹G‡HÉVR^BV»˜cÊÜ,$BèUi»ø³ [¯ÄËÙˆ¯;Ê£K³·+s«ÚkË$vfòW¿F®ÙÓÇÈ·èœh¹%Æ¢ík ˆ›‹Cn¶Å%YµMl°(úîºï¶ÏžeiÇ­-±Iœo·Aîößt{Ü#yËÕ½.½_/%oñÛ6ᨦWíêpÎéÊÏ÷ÙÝÆ ‘`HжFÍÔ~‡M&!æ½>5ç ›iÞ§%ÛÓs%2Ê q.Qï# 7ëÞ4æ“(Oê± ÐxØ'×rN†¿¤Ò1Úܬ¦ A¨MÌ;óEÉ•t „½¯$Q$o>FÖ ¯Í¼+UƼ¤‚zÖdœÁâ+ì|[h¹gG^ƒX)‘=Ò9ë` ñ¾žž³0¯Ê—mœ•œó)\©უ¦•Úü*35Ò´SšÏí`Tb2‰ ôÏž¦dn¦.ŸSŽìÐsa–™X†ó2-§úcßÛ5GÖÐç$%±w‹!ØþÉêÏg]fÞ”93 >l ¶ü@ ØòY;ÃòN™E4?ÏŽ§ägi¼¢`*ƒê¢ðˆñ!–?µΔn¯¦Ãþ&š~ ¼ÁÇ™÷¬Æi9°¬«•£¢Lq •2LƬ@¿HMdC\B¢jB&mæf6œšF¢Zþ‰Å¶$4º¸—l‡/qXûâj)áu#¥^<Þ¡MhO³‰%S´„›»”Wž¿Ô¶PFS{› j "¿ûp^ùìÒ,W¥»=ÍVi¼ƒÎÖž2— ¿ç@ )3/õshxaäFˆ»$­ÞÚ´&çø„Ï*§sd§â&“Žì΃IŸŠ4 ‡:Øãc…_U>4<ø®=h ß®±qmÑE#LÙšŒÝ™SÓœZ¸ž{Ðöo¯q%ÖL7½Q—6ʶLj­‰úÈ®›JK1QÿŒÄU].”yïÊz{-Øæ9èmJ™>%’¦A ; ­|ôÊ-IÙf̰Äû-™Wÿ]Hä@Î>vù-å­WÁœÇIEN¬{HÈO…üâLÊ u Lè8=;!›¯S¬€ØzNãM¶×cmÍÒ¥JIò°´7çÈß'ãvŒ™ÂWâÙ(A_šß^ÉžN´3~Î ¹¤üDvÖuï(ôÏαn ÿqâ†Ü‹›mÎâÛæá†û7ʉi¡ÞE ×,“ɼ–'o,©Sô^^R£{ç®ÏJr“X³K¦·Å´a®¥'ô°IŒÉ]kèz°½f‚ŽG5èx¿v¹Ûô&;iÏñ`r^;nP>‡Š,‚ݼS6s ìTülRjÊÖ©‡Z îë¥G:qŽI` s¤YãÂÉ”ù¬ƒ);µ³µZ[oªIÎbQ* mûx­Ä™íz19”†_U0TkLnþ<élXÌ"Be&j9W—_M¶¨º¬ë`6³Elá¾§ÒÇ ƒ²÷*’{òÐÛé+;‹b‡Cg:5ƒ@©\pó`ŒÝà=%ÎF{Òä„~7Å2¦ÅÆËÙu4HÛ”7²œ{Ή™ùÈtnšŒ®¤éftšh8à6’oófõ[/«æÍ 5ç¡ó`øCtº(²Y]q2£Æ¥œr~f³åVŠGpˆcê(’q^"výñ±¥äCy ÅÉ¢}ûâ fš„FA÷dÊÌ:koØp™â‘¹CÐjŠ^8éPÍ®\v$»ßânžÈ¼×™’¾MU<×Ê?½ò¶5ƒ‹Q¼Ö—Ù3Èð“7±{³)°~T¿% ”µÏ×–ŠÝ¤9ñ¤ç¦Kc´‹?ÁSÔÔf€… BFVN£é_M2­f9PÍ»)äÖ7)Ó$ÁåUb¦”Þ†ô©) ÝœÇyÅt骺‹ i,å6w’¾²¿˜Já<ù«ß«J˩ӳ‹®¥œ»ü\ µ¹È¡:H”LCn~ŠL¹Ád\F˜¨²e2ÒuÌ›Õ<Ü/˜•陕ášÚl¤MÑ›ªx4]›"ˆ¼6FSTñ #ÄÌJ#‹¯p¹Y²mèe:=ûü"À>»°›;Cf¨µsãö æý@*¯À%_Þ3\)/xëä‹uë²hF%#…:!'>„m‚‡ØƒÍ –ñ‘¼½.¸/ ‹?ó1wCÄËÑþ€xæÐ©tc8›ô‰Ä@Së`J6Dõ-·† µ9®!9Úäpûfg™ýÌõù¨üµ+ ¬¥-n h L. ÃM²Ù£±Ï’à+=XhÇ2EÆF—–»ãfË™Wdèdþt@ÜÜHcIrý«%‚Þ"5×Ö¹*•›² ÆæñýD}"bå¶ë“Ì¢Œhº]e×ÈŠ_«;qÏPF­¡úÍ|ï~q;dêPêìÒ[å¤ôcK¡5´ÈÉHŠ0iÏ3ŶHBgÌ_e"f„ÊDKMœAIæ‰Uå‘I.¯$>wT|þŒ¯ãƒ+¸¸ª„o›ƒ8j2÷ åY@ C\Äæ)f‘V<›ÛP¦Üסsß1ÆÏžY§`´©ž@žU§IÑBKwÍÞœÓS;—cÌd¿!wkº]ÍåE‡U¿Ii–”cÝÖ45'©Æé[vNÂC 6 ®½Nƒúõ<ÝzšzzhˆaÜ ¤Ë#É“•÷<›œÁ]AßS#Š[Ô†¶x£(¤ÍYŠû\]å™7³³©RLÃ'à@r¨×ñþF.Ë-Á³œ‹Ÿ3dšÐšKsåZÂkQR¡€ZzƒÈ.h/à+*³y:Cp =r‘úãœnÞÅÖE†V»rõ+¢„ÐsàMæw›#^/¦ÄW‚)ëMÉM| Ì3ÚElº×Ü%Ä2¯µ}Õ»†i‘€Æ Øu@2f9LH<\ŽÜ†²˜{7“1¶™ì~Ô¨9ÈÆ9£ƒ e»mdÈÙ°$·ç€³Ê hã½o®È¶-à5Bœ¸Ûmá5•¦glF™*žºÜa}÷9SºÐ}×oûHº%˜ÓpE«‘œ3‚d*+ȱîDo›˜4\+ˆãuLý!µ=8íäÔüPM¾JžJ#wy)€¡H“Nˆñc¦bšÕ/ðsh°åxߤ iܯâL úñc¢*Œ&²³3ÙþT‡t(ò$¹­,eBƳ÷‹eå6†‡Ú%‹ÎëÖÙÅl™§H²¯¦’àèb!%°¾pŸ>7¿“ ”¸`†ÈDšbÛPHùAàyM7I癩×MóHãí\ð>'#Ð7hH¾ ŠṖ?õ,Rl’ðÀŠºÍró‚?ó¶eÙÚ‘Ëé\è±Í®­VΉÕ¤ÄvóƒäÔTÄß´J%U9Édœ°~‡“gr¼BÀà+“f’! AÂo4='‡[K¬D[’óæTå–Á¡Ð›®|éδ‰BéSOÄ…ëD§Ú¸lòznËî1 AÞZñ~C­ñK qwð…*¯Çô]{¹àoºÌg†X ©@vÿ¼®WD׊!H¥È§`5ðTèB%_@E‚À/lûü1Çô¦ÞF ¼]r˜šÝ— ŽNc»'÷”šq8Ù6'¦{ò½mÛ¢Ü3®Ür°dwÑ[| Æx¾¦ Ç$ÖÆZ@ô4X÷# ç.6PþMõ´›—…?Eó—déU²D£Ÿ©¸Æ¥vA²DÁ$¯/?5 vª†<¨t¾’-Þ3![ô¢RŸÚÝÃ֢КÊ)T˜ ø]ŒZè×·‹¼vãÁpxÓÀÅkÈø 2˜ågØî÷9VK’©¢ûmE©)ó§DMÎÉ1ïNm nn ï‚Ú”@ÐÔK‡ÔaX,£! ,wd—»¼Ò×ÖEbÂô¤îVSj^:t6b»×LëJ„¡uaQà#MPr7;8Iý›¢YÌ;cóÒF·¾f‹[óÂØîælLhx™ÚÃæ¬†'"ªLÕxu ÆXÝMhUÆ\xJ;‚>»ßþb¢9äOÌ­ÝŠr 2Ò9‹ómÙå [áþÛô°ñØ#Îp59öN7ðÅ.›Lþ½IOUs¦Ð¾+Ìñnfà’ý`À<•¶ÏptGÉ1{z8cfw-3õ礋&€c$Åõ6Tsqb³¡pŸµÉÄÖÁ·Rưª“ôÁdxf+ª;. ¨òëN Â#NºHpaŠù=‹?X®•5']ÚÖ]kb2Èå>"`Ø`éŸá¶[¸‹MEZ¬§ÍE¤Ë5°³;ÝYh$ ^t!àt¥Í‹ª¹‘Ù\{V^ú˜Ï!.E‹‘×=>SsÈ%=ÁHif„7?ÊáÍŸuvw'ô×·o@„Öð“[Zâó"ýrcO|7³SèV«G ¢«btß93oLwµ=#€kɼe49Ì8ܦ³Ei_"ŠÇÒÎÑÔ5|œe+'"ŠjSÜÌðÛ¶næí*Õ@Nzø~VO¯ðÀføÛ­ûºÆ3½x Z¤Äɪvýn%2Ñ|ɱ/·²¦FÝÁ$6ºnç*ìŽD¥Ëô‘¨ jâ„ãQg^Œï­‚p²Zäõ¸»µð.Prb»¤)P%Ó5wúg®P‘ÚÚ©¿òkÁ_ÉÜÆæIŒ£Ù…<ó6f_z„ÏÈsšÝ[I/6»ÊËb%°¸Å¯Šµ#q»Æ´«Ò>V—¶ë™nSB?rv©ÙÕåñ\tß9ýw¢G8áíð´U³Ì\fð—ò¶»Ü·dAKKdÁµ 6´äŒ»E]á6³ÀA\¬q#/b!Ö¸¢‰ea¦Äƒ¼•JbeÖ ?×l~O>ÞoŒÔþmÈ‹f-=„‘Š?Oc¡÷¾èÅù~ƒÐÄNgíÍEF²P»Z”•3ásŽ¡(UàE¶ ,®•!<|ýسËÑ›ÌPY釘tŒÞE¯á³A¼=ýéÓ¿bjÞé\ý·Ss«W’òC('¢EsD†ÚŒþÜwÙ6ó­¦ B÷Ú¼˜íÄ«²r¼üf:T>êåð$êW QfoO1fe›J5è­hCå·§èE`¨—^Ãgãø÷Na6?~‡ŸfSX§ðgVí*òj±YﲆR°3•ˆÙ‚ñJtãz«üF{Gz<&jð2Ûx{º -ëiÖ`±)0h¨ •õ^#v ï¥×ð8Ž÷.4ñïSž2nSX?ß…?{¯t›€Íô;(P÷Ãë/M¬Ý_¹Fù<(vc4fPð¢Ì&ÞžbŽC¸/U²gÏ« •õD9a¨“^Áã þýÓg^·`‰AæláÝÕLÔù_‹îþyÖ…ŸÏj^ÇL výýAÝÕ¼›Ìn‡4VóÊCŠ5–ßÎ[Öma¬DöÃk¸Êhã|3™Ì竆 vöjƒekÃ{áÞK¯áq–üâ°Nôù±`$ä¼A DVó„1 B])½X¶f•³50Fe–¯ Ê™Iþ.HFtïUCF®ö« –í u¼^Áã(4²J›+$ïwBúNyùVÙ¦KÉðUF? £Ž1`D9ñµ‚ ² zŒ,ì8׫ •12eY‚÷Ñ+xFf~¡ÈóD ãû 2 ¢'eú€X~ÊÊ÷ϲí®Öô¼®034G ^føÂ!Æ/]4¨;¯&X¶¼ŽÝf£àÈ&ß„¬Œ!{¿CàZU- d*Íw?Åå ¼3_Ô8%Kµ0¶c¼‚('ü Â@ü«äÁ¼š@ÑðÕýìô¯‡À­HcˆÓƒ[1 HÑ~ÊT¯°Z­‰ISU9 ÿY`0Ñ+ˆb%¥@‡¿Âõy‡ÿäÕË Pê‚0¢‹ªá³AõЉrÒǪ•N-] qŹ6•žÊ¢÷2°¢KÑ+hð¿Z`<ºàÑiÕð8LFöB¦÷¤Âé·.åGµÄ v)Y¸+²¾³¬žr „Ñi ‹¼Ì6ð… Á\W æÖzk"óm «úÝ»èŸ?‚tQÑ¡¦2F ÇÈjú-$8†Þ¢"è*ÉšþŠ0øâÓUA”3§» .ÅW üÖÕFvþÎ;áÞG¯àq\2³×A¾˜ÔU\‚§©êÒSnÈѶ’áæ*ãœ1¦Þ1¶žó¢Ì6t2 ŸûU½O¯6XÆ9S/#úÍ>GðØfÙÈæÜ³Ç&&`ÛÃt}ÞWœn±Áp´«‚('>Â8Çf iÁºm¨,.{ßÔǨàq¤ú ðGf2Šé˜º¨³·üùH䯮<>¢&›ùÀÁ"•ü…K«ÀËl8 [ «ÙŠTÄ-±õ´…¢Ï¬àq âH+WÁ÷;`A ]zoÜ4ªèDgü°Êàz7 ¿‰¢lM¼=]€ã¨*Úy5¡2ˆ/;ÞI¯áaZ/ÏßÔ÷;ÄT 凨@pl4:zÙ•$ÂJ|Ì^ß_ÅìÆ!æ‘5Ÿãû–¨ÇñX†T¤.8†÷P|6†Øl¾Iˆt³Ø˜»0ide(ÿ'; l' _f³-Lsâ@W‰þé ª6‚Ê c ôàßX†D´aiŒNwˆ¨ ÊU’@^´ºjHHÉuµ‘”«9:áÞG¯àqbm895¾[zA2BD@þLسØ6»’@£ú¹¡.„̈Z¯ Êlœ !‰FÀ¨ÁBìæŽ&TcÁûè|6 ^“I)—Ç`vÈ béñÏ ”³ÒÛÂE¥š#îZ–í c‡ £(Q´*ð"[ÀÅUA‡kÜÕËö…wÂ1¢×ªáq˜ÿ E^%Ù}c…˜¢‘‚÷ù  m«¹LUøAµ¬æ*o¸Û:H)±Ï­1|Î!EyÉwƒI‰÷jÓÞèYGÌ2zx¿ùzÁÒ–[G¾šÕämÆ2J.J›è&ç©Pžø½w=}µ›êÞVïª Ý¾ßW#Ýg<ºWûãÛ=~päŒÝÃûø¼§H¨ ] [R^²Óª®¾K÷®T§lúìF/A0¸Œo\ŸMÀ LiÝ&IwP‰É“#¨Éá)CÌ0:x¿ë¡ÃÛ~Qà…Qñ)ïrÿî)æåï7aûžè¯! ï›ÂX›WS*Ì’jÓHOnÓR'7|rœáŠ|º:šêžˆRQw³ƒ‚Ã͹‡p›çäýøÙ³ËËßçŸ[s©J€¬#¶fR¶d6,ó!•Ã]“Yžj{gf®Gpì®,Ëè ÚÂ;³ò0‰ux÷0%³s µýv˃!æ¼ß…„|stˆÒQ?”Vµé5!Hº´m㧯6uà¥sqp ÅäÑ›° ½/‡¢ùèŸMn ž€Ïûò÷;°˜W&~Ay½¯¤lZ³Š‚ˆ©KÿOUà‘Û”…ÔÔnáƒeÙä¼À„¨’Ã\ÅÆ,¡6…¼'1Çèáý.l‹¥ìAfpÑ©<²‹¬XöÓ¶bѨMG°ÎÉq˜í÷íNÕ Ô)|ôL¥ÇlÒÚë9øwÏ0®~»½®Kù ±”,LÊÒ[>‡˜UíKÞeµ¹·0¬þæpaÀì!ÛÅ:QR.ؽ{üÁc6?¾Ýsðï1Ÿüý&ô¶ÖòÆ0|cIiô.0Š ª‡VU”úí6Ÿ~÷fbŽ#èÓì!ÚÃѤ”ヾ{@¼êc6?¾Ýsðï1Ÿüý&¬kLÇ-´_eÑK‘SÎp `öª-)jjÈî² …βݼ¡ú…úúZ­uyµùAz ÁSŒÞîÁ–Ê*‹E*oS^L—ý/´¶m[¼­Šm§µ^áÁqm=d»†§é¦\T»¢ƒ2¤wÅjÛåÃIGN[¼ß… :1 öYZT ?î†\ºiK0O— OÝæñž°èÉP„o˜Dûò² Ìbr…ðzØæð½Änó9h ÁSŒÞïAØP„<Cçʤl9Þ…tVQeZ ï€mŠ+aê'ÇRÚhömŽÁ+L‘™tb'ÝC¨Mß”'1Iwð~þÂ.—G*òuSN‘òUUñ3Š0™Ûá…8Ž®²ì!ÚÚ,)ËçŒèA &÷jSŠzÁ³ŒÞïÃÖû$‘6"c€ ‡¨ÙŒŽØRÉ:áôå"'è(:¨O{ø$N¶Ì²}…›4(‹IrwÐÙséó9>‹ÉÅ…ïÓOsT³mSFĤTébËÉöÐZƺçnÛA$ÔÖl@uû¶§Êˆ„‹áæ÷åC#î®ÇÈ)GL1zx¿ »£\¶, &¥6¹×IGÚb¼€êøm7Ø|0AµfÑÖ¼ (áÀR×”7FPÛg¡pÅ‘#gíÞ !º>$©nY—'ã ˆÄKëójÙæ†4¸!%GUFföm ’@`û»ƒÉŸ{µí¦ä$ÌqÏZ=¼ßÅ}c¸dШüù ˆØ7&“è€ásÛ7FY•é#q½[êß·e±ow^ݫܿÚqWçæÈ º‡/·àýkXMÍàŠ DpE»ó¨Ð €P3¸,ƒ+¶á·“£/ÿ¸‡hgpÅMqhDô¡1Æ\³Žœ·{x¿Ü¿Î–øª±‘².:’K`)¾†¾vWÛ¾6Bž™¾4渇lÏxmIL%º{í1Àh±yqüaYÆÉùÂ/ÓÏUȸÑUü¦LBêsð4 X×q{wÜö2ìçÁQ}Ž¢­1¼Ié̶»{@†Çlz!¶™¿ç}ù—›°{z/bÇçMA2ÜúÌÞà9å¬ )nUüÉ›i^ç¶{&·)›)6q5!ŒŽtßnÓ~­¡“#&¼O^7¤dVD’ÿ3(˜"Ó“•†ÉyŸkÙæ<…M’ÉUwn{ˆo7eE¥»‚îrá6o“H†˜utð~º³˜V>}%eTÙ÷c¢Ü’›Ì'Íû±C4õ[W|^mumÇ-)/ ±1yyëzÑ»Úg1¹èá}ú¶òV§2l;僂C r¶~!šÙP|š¶Fñ`pE{tඇ 0(UÙîu·¨äi7-5•µf†œµ;x¿ /C%P"ÊËйh€ËçÄ_½Ö)CÝìÙæUÀlrt!fÑÖßbôß=L˜Üc¨ÍµîYGÎÛ=¼ß‡LØ»k©Ìµÿ|Pš¢ï TìP‡&£4#¥ÙĨWñÎÅßñsµûòlk€oJS„dtP˜{ 6ŒØ1…àÈI«‡/7aC›2%at±‹9(ãʘeW6·XCߺÍD±3˰»>:pS#||KBLâr˜CÖcµ½Ï­öàˆ)Fï7q‹2õþå A¡YtÖiZ”([Öí ûÁá˜ðì!ÚÃ2„”¶eéŽZ“ÿ8ÆP;dÈxpÄ,£‡÷û° Q±iàC³ƒ,I~Ð 3¤Â‰–æ¯8'N¸Ng}gÑÖ¼"(M±oÑC±-&Æ()u<‰`ÈY»ƒ÷»Hц.‚@47ªftJW‚>Py[5ÛVŸ ®=×Gó>ƒåRtN\Q`Þ¨míp>9<Á¸þí¼U( X]úFR6Ï€FW5ÁFãO+†õCó÷‰Ÿ{uR¯Î6ûç*4EUNòz• ½ûïáÍ GL0:x¿KÂŒª~“,£A—ŒSßQ¼éÈ`ÏmŽÍ™B¸mùwWqÈ«£­þm© ¥m9‡£Õ6»GP›‚C3†˜`tð~ ¶neU¢8…LQA¤9“d„w¦³ÎZW6h ÎKþ¬2f÷åÑÖßÅQeB+ðj||»ÇŸsƾüý2€.±~T–ü¦8‰Å˜â¦x$øêxyUÁ´D 8:Ë'enj8îݱÞr n›ÿݿڎ[Ñ9guð~ 2Dékƒ»L›W–,ÊþXá/£ÁÙŸ³Û4U¹³ƒÃò {Èvñî”ëè˜=›SŒá6®ð,’C“ÌÞnB÷åŠ|E‚Ï'å¨c7£â½:é„»T3í†F<«»ƒl·°¯¥rÝÜ=0ÈýWÛMygè),H“]#IYŠT¸º¬_Ë ’.è¶#`ÆypTAdÙ.‘„”A»‡qÉÚc¨í38gaŽœ¥{ør©iȸOàšÏe”ŒÏ¤]á[Rä>˜Ö ­%Äïýx¾<Ú ÔŒù= Jï€i>#¨ýP3’#¦=¼ßÄ›gùÇÙ$hÀòêr+T°I¸}ݶg™‡Äà¿qôíb!9² #&]Ëj‡oy?8<Éèàí&l•ïÊÈxᤉ…*¨Ì 8Þ04¶Ê áöÓ•MÊLömÁ+‚RœmãŽõ‚M.wÏÁ¿ç¤}ùûMø+»<Ç€áÏ'å(4‡¤v-nÑÂOr›_À’A%8MÝ=Üíæðœ¤LVͼ{˜U¶ÛCm¾dÏÂ9K÷ðå>|oÍ»p±H¼)K©ÜÇEZµýŒs´í¯§½,8ÊôÖ¬îv ëaPµ³¿ß=”ë1À«aó?ÇÇo99_øeúÖ ˜B ;â’sÈ„N< z¨ø}õ­`èÒ—¶#\šØ:7CU)èì ÚÁ¾9QŠ£\ÔAÎrö5b¯rÁsöõo·`ª(e£O‡¿&ˆ=ÐO¦¬ÿc9YÁ,Ñþœ¡c?8VÄ¢ªƒhjË€é,eúE¨€<Ó9Dˈˆ˜Dpä¬ÝÃû]8v£2ogð!}Þ„yÉX±–« GnÎÏíe§œõà84Ý=D{DWRTõ÷î¸!ØüøvÏÁ¿{†qõÛ88ï(E˜¿ŸOŠž>̲ìU™NäªT?LÀä3¼À0Uô~÷p·KØ`‚2iK¿{˜zü9†ÚßîYGÌ2zx¿ô´ êèóÑ^vu)œ•Gü88D8'Èè^M¥Â³‡l;Ð) ×PHzt ¸²{µ-æ9‰àð£ƒç-H74œ,ÛAAÛ®Ô£.˜d1·¢óÕ†ú¶†Ë.˜c«ŒWvඇøøvS€ Ï=”M c¸moíy0Ĭ£ƒ÷»øy=㨸Â!Zn%í rã"Î å¥h­ ÊßÈŸ?’,ö®ÓjP†Õɳ•‹¦JXŒÁY%ÛÔzî–ÅÑ'î!Û#ü‹MáÌdp6úå-1=b渧-L÷»°T B|¥Y¡4ôóWÛ ao¼ ·)•È‘ìÈ¢Í>¾=Ev1wÀ²1ëÂmŠ×ƒ!çìÞîÁQÞ—½û="ƒ².GžDœ‰„)ʃ*ë'ãe{Ī˜c8É6zˆöŒ´ô¤Œ­€£èaPœæ£E|†çàßcŠqùûMX«"¨€qSˆÚÛX£vèéð²disÛáFs?8^‘…r¢‡l_‘1”ÝuqPëZ»Çp››°íyÁ³ŒÞïÃx%*|ŽìÊ%£«)0V¬·ç{f ÀçÚßéÄÈÚ/õÁ±˜¦Ÿ¨é>¾Ý„&]Ò—Ãa†\ÙÀmnýšBrä¤ÝÃûMäÖÏJ sÛØ•”Õm¤YYÀømDÓ[?-¿þýtW‰ðåÑÖÞùE1ìSt0S#ŒŒºŽ)GNÚ=¼ß„>3c*?Ò_‚²Š¡Q¶|G‘ÜâRëô—%ÔöäX‚Ù΢}§¿yßï"·%†¸³_bÁ“tïwáý"ÕH>îÏE^n¦­1´I ^ÓpêƒÚœ§·µàØ2½eÑÖ¸")L÷»{èLï»ÇP›vuÏ"8rÞîáý>ìÂVm‰Ê¢&ŸB'B)GJ´Š*ÕEÄFÄÙ79ª¬6ÙC´9„ß$Ô­¼Öè 6嵯jÛƒÕçƒ#&=¼Ý…¿³îØŠíó ô®ãü2JV?’B{8D„m:Då'™l¦CDÜC´9/‚‚것ºí!Ô¶ø-ýÁ‘³vowAÝæ+\#¶¼þ’BSû6"+“ðS¦¥*ˆÏƨ¨5Jÿ"‡¹ H»œý°IQ¦ +>Òß[l.Rš®Û40©Îlrtá#eÙ¾ÒkŠ`ïô…æl:2BögýSŒËßoÂ;gËÚx €M ¢imû¡˜˜Ñ\*qé6ŰEMplDnj[°Hð-.ï¶Æjûì:Úƒ#'íÞoÂÞeZNYŸ@¾Ê¤Hóm3¢wŽR]çY2'œL†Øs­{ÈöŽdؤ,Cueü‘ ¼rŒÑ,9‹àˆYº‡/÷áȨKAý-1LÐ{ÇóÝìÒ5•Pë6?ÏåDÇntµ³W¢?›-1LA|Vòúû‡P;^ò~pxŠÑÁÛ-ø¨òÚQ*¡pwÞB4éÀ“®„ค\ü>¸D{r có¿¸PíwywdÔKG±Z&*³ùK´'×pm™‹nr9»#^KvÇy ýäíÉ¥ë4ûk»~c“ÀÕ.ç•Ìw–JDÈüÝWˆe ‚¿ qó.ËwÆ×]å “h¦À)笷lÃy9¯\6=Unxr‰öäÒu~šJéª_ ¯·~~ÛK.Ñž\Å5Ä1"Kè°b;ad{«º®!ðéd ÒÍ—ù1òª~{@0WTHÏ·—\¢=¹t| é3Vh„°Ùb…&—hO.]§çP¦2×€ÛVjÇpåÕ'—hO.]§Ù×uI—Vè°m.ÿäíÉ¥ë4ûÁjš×¼X_ ÈöÊy%—hO®¨çŧÚí;\B_êCÁÉô™ìó…K´'—®ÓˆGgÁAèFœËA.å^7Á%Ú“K×™«$ÈÏXˆ‘0CôÇ€fíÁ8ô|×v!”. ¹£<†42—òzr‰öäÒuä¢EÓ;íæ"¦ZØ‘.óäíÉ¥ëÈ…äLÌP±X9%? äíÉ¥ëòýPf ƒƒñýP&­•R2¹D{r Iô“@Zñ¥? æÏ^;eDp™öàòuÞ Tù—1{^ÏK˜5uª>Г«:äæº\qÅB—V!%}[îÒîÔT[÷Éä#ÃÍ£«4wvî•E¨Îi4p¼3‘ôäÑUþ^¥"÷ÙÝ ×}~Ï_ë&’ž<³gO¬¸ì9 ׌t=šÊc<¹D{ré:¿gÕø„9Õ{O‰ÜåþØ|Ì%Ú“K׉Ë%E‘•Þõ]´!_ÉKÊ¥l.Ñž\ºÎ/GUᜠ–ªÒGŽgíÉ5b}º/PãýöÆ2Nö•o/˜Hzòè*1›@ÝáŸ(EZë(_˜D{05—/òýŸ’Ž÷oYuêÑ’EWø;Pþ–ÞÒÍO‡îœóëþÂDÒ“GWyÒ—|Ôª×Èu¢rcVØß¹zî#Á…œ-¯ùu®K©5”×— Ö»|áíɵ\A“ï]FzÕJåì—q#O3¸z¼—䊫àB™4f¶xZPÌoáI¤¯ò#U‘¼Ú«Bz;y}}áíÉ¥ëÄõRÃ×Q‚ðö¡4‹/L$=yt•˜†²—[í:ö¾œi-»ø;WXüo.]ga&¤L h9×ç>EL'–_rñ23 +UÕ%À„çrɤòÎ%Ú“K×ù=Û:›kuµ–S´÷|ç2íÁUžë¯JÛÅš‘ÖŽš z_ë Ë\o¿ëŠ|Ç„×ÝBØæ+ÆW 5l•w&‘žLÕUv  ºK˜Ò˜ª-`gå{I.Ñž\k¤nÝt;ZË߃¦€˜ÒúÁ$ÚƒIWù+½~ÑZì2ÓhþÂn~ç <盫µp\ÇyÿWœ”™O™f»ÍÍ%Ú“K×y½ÈnÒ"¬£bkªXÝ“K´'×pjîkKOËÒœƒò«gÞcr‰öäÒu)üeÇG…’X5—¡{fûÂ%Ú“K×ù)á À'^\x&P{Û½¶ÌdÚÍä«üElʶ§ÝQåר'“K´'—®K-€y?¥*¸ZÀqºGi_¸D{r¯³öÃ_ *Á€4ÀÔÿƒK´'—®3M€põhqAálö_Þ˜Lz0ù²RlYzÅ3E2(êz§æ\¢=¹t]žä!éþ^qF˜N̽>¹D{ré:¿Ÿ.ð¯µÛ÷©ïô[Ó6ÓéÖ´ƒGWù9LŸ6»LÒ<)oÇÅ7–\¢=¹®–ëŽ*rÓ§FŸÎ^ §,{®…üäíÉÕ;y•ÆLy­ï–›&‘žZHp‰öäÒu)F¸Z¿€adÐCû žT£“©§¢2šâT©Ï~è³,CaÓn&]ä§ÉH’zÕš+ôÈFØûc…š«÷\¡æÒu)×–œU× ±Æàås ™`:!c’I—‰imCw…ús:líî*¸D{ré:¿cÕþF@æ¶MÆ ´×R â—i._çw¬ê°‡È¬J¦Õv”´É—hO.]gÉÝœXS½Ba5còÎì÷z .Ñž\º.g<³,û½y8ÃÉö*÷€f2ífjQB™s¿ä¾.;l2€’³cî|åíÉUvÚd^Û¯“°-ÜÛ¯öø§&¢=˜îsõe×´²T¥þ•ÒîïØ\¦=¸®‡Å%x}…õ°™XÞîsurµ8£'×u[’†¢å™ä «!j0*PÉï\¢=¹tŸ‚CN2~gíaÚF†J>?¸L{pù:ËYÿPF:4RÙ¸D{ré:ï:$|j{ÇšœQš÷ÁeÚƒË×iÄ-ÏOÍ3 JØ úéqF ®<£$×ãŒãâæ ?±›ãÍØöôäíÉ¥ëÀõ—‘¨­ÈÂÚ#Ò7PxâÔ\Ö&¸zuDRVn\ &!¸ š:C P™õ£E×QÎ(V(nŠjµ’ I8x¨ áÌÁ%'‚)⚪¯1çÈ Sp8Ó€¢9Tó[P° SI‚ªÕª:ˆ €¸’‡&ŽŠì;ÞZó¦ˆk Ñ{×@/IÊP¥ôšŠ#}”ÇæÖ¡¾÷¤ˆkã»íAèIé+¶à­ÒœŠ:¿ ;sö ˆ É4ÇÅæRI_ëÄs—eÙ\]•0²%ALƒØ­QuÛY ¢ ݺ*Ë€6™4ä²$¬çI‚x–¬4sx—¹)»ùàÙ†^JEJ¾žèTÉí ˆë¨ Ä\-^³)ˆÅÈ·3„Æ3…ÅÁ·Ã xD&8±Žs—)À¢ÁÕ˜ÀûzÊ3úR¹¹ xùm*8¦»¯ Œt(7xäõÚlÓ°ýé;L“LCùb~umê(qS&1<ûÆu:Ñ'×¥xU¼Jé­Pƒß/÷º‚b<{õýó{'%×Õܪʪܤ¨X ¹œ‹ ®Ê¼ÎšqTl0†žSRúÓƒ]ÛvB Ž×Mñ›‘ÁõÜãiš2Z˜|•Þ¡²ÛÆ“»da5EL‡¸bã\.:g^ç ž×­K uYʲH¨)þ´Ø={†½% ˆ³Nq7ç©2i3WƒŽ(–LJ&6ÈjA¹qH! þâ@â4@H¤MßÉd˜†Zâ2 ß¶½Þ¼ÔsDÚ)ä5†VE\@£d½tH lNÈ+âÎêO<VòÅ÷H©ÄbåÓ÷hÊÊ£nCÑx–"ï)m¯)ÙÐÓXˆ²¡Ú4rSÆ-¹¹áÖáð*ì_ã¦Üû×Ô:UñÀ¤ô+8,ˆÇ絘óZ$r„šâçÕôtfðõ ¨`®Ÿ}㾊(¿âgOãqPÜ—Ô„ŽN#Ƙ(×3|Õ3Ê– Ê©&Á’n+…)û §˜ÞD;T` UdŸ$ÁO€ˆ_¨s/¡à&ìòþ†@:­* BkЏ\Ål•)]÷¦ô43ñS‚üœZov]Ið¾%ù¼Þ9(­ÅYëusC¯í‹¸Ü¿”¢¥Ñ­‚ß”µB|‰zÍ+õŠÎi=y=á%¡vº7ð L$²êÿJNcyŸÕ0:IØF,= ;CÄ« ÆÍMCŠ0jÖ¿¿N§0ÌååÙ®²”A0Ÿ»ƒQœ4âF„¾æ‚Ã3ŒÞîàoÄön•rÅÃ_×1ËiÁÝ.){Ÿ •=-%ƒ¥Ž%7¢RnŠœ"rFï”9ãTûz³òì@x„;÷•Ï~û4hcÄM®•ˆ¨ =Tˆ‚â¤=TD©§I™ãVX†°^8y ™fEŠ ™MŸ ç,­‚2K–àÜA²˜ñ”<·b™à@i`QSp ¬©-‡ã„_/Ã/ûy`[‚ÜÁQÏ‹0(s‡?1_#bêÄk4åí5b1ɯña‰lTU›ââ¼îÑ/hßQ» Ùžl—ç>”âHmµœ÷(ëÚSQS ·ÒŸ”¶R®fûTt¾'E\SJ˜qš´S¶”l? }Ú¸oñ|ëM±0ч 1·Äe Ä\¬‰Y«VÓKÙ°ÄQ`ªâi[;o¿¢*lPB“G–¶b¤«d(ÆÎ/@eàÀ¢"¬IˆÓ(‹¦éêzÈÖ»)~уª2$‘¿ý ´ 'ˆPçNpÉÄØÎˆ½á ã!á¹¹«\r»)0²±(¹Ì§Ê]Õ{0ų¯2»ö“³Mœ¥ëã ˆ°ŽyŸ }ÖRÕ ,Ni‚ò;Õ¬ùÒVûNŠ—ÖÅ#4T=íÕA!B޹LÚ¨Û.ë£È§7E“¿,ÛVõf(v©ÛTfHSo0AñìU£cfqµ¤¼´êëÉ5th×óâvSòiï…?ï‘”5òy-—€ÃrÓ糜žnŠ?ë*õà\ŠCL äd~>Ã:= 4kmúM±ACç}ŠIy]Fì<צ¡8SòmëPÜ-™“"ƒ¾w™ò¡ŒZܸ”¦)–¹:N’â&(ý7°hÍ!µH6ˆm«, 6¨«Ri+q'1uñ Gå {[ºAQ¬qÙÞTV,ç ô“_ÜKè –*ëúUx§¦XÿáQ«ºœñçMÁ0´t&mPZÎ]/=()·ø!º‡Ü"…°üiºš¡öùY¿;(iDáçs…®+º½MÍ1j?2ÁN—«1Å{¾Š7ÀM`50(‚ÕìT¾yºaã`H9I°MfÓ5¢³ìg(}…%à›µö¯6›JïA,›Ç2äg^®G*‚,>²Û»¶OÔ-o– ;=iÄl‘ha$2Ûãz´8.­Îilòü<·Œy5N $<ôÃͧnYt?oÛ®)–,d_·þý|Pdѵ†HÄV¨7>ñèhhBê‡t¤T !X,+ýW<‹¬|…ªv’`MmÈ£U|’3²&íE{Y™Q9pÓ︥]ñrÞÔM@wêÛÐðPCÍÅKÝrAI}›†šÁ  rJì#nN=ÐZyõÎu;[–ôìjèýÏ›‚gÆÙHÕ÷èÓþ¬$x¼®³ø¥’px¦öÇ¢XX.Uõ°ë¦¤A‰æCä_»&¨)ã>U›Žå}…{ÀEMñÃJø•ûóAé4wŸÂ\¯¨û0‹ªG˜beÓK B· D(Åùà‹}ëŠtân¤(~ðŠÎÇ Ü'ä ìqÛ»_Wò`0¬®Tzoæ¹u°)´žæµ¶LØ#boŠQÂÓˆ%EsÄV¶Ï3OÐ|®%q9mN0E‹À;®ýqPŒ{ìÞû¦ä)GNžnÀ¦ à,TÛ½âùUç…òÛIð’oü8¡Íoc˜ò°-õ~†æm¤Ë}qõm%/ö’Òöíõ„™“>ïéâ}$Å"’Ö(ž¤Š]ó¦^%…;ÄÄ‚×üR)y<îUg$ùx’2o¥“*¼i#ðr¤xfâ€mÅQ›>ö‡mÐÙQ!W¥ÏA_ÚI°µ§p“×ûý¼ H5 lwm^:åqi ½ Q<§c-éxûNŠÎ–GbÆ­™ÂH;ò-bJ]PPZíî =N¬>9çTp ¹ÌòPeÂ.å¶NFfB=¸Z¦Ïš`‚Ã×Xžlž~ß}WbÏíºÂ›œ7%×ÏÉé¼JÊÃ{µíœ…'I»÷I­.f*IÍ µÁ|‚²æ­§:G“þZª¼-3ˆ©èSF—Ï ŒëÞ »}•-ù”yY>½ÛÙ<‡LpPUä¶ŠÑí­§òØ„ÌUwéÐ:V|ÅöÑ[ Ê)©¢. ^wì ëfÿJP¼Cùwå±,)çJ[åxÉ#Ýñ°9} Ï«:ÃÏî8*!Ä¥Ï\ï¡[Â7?KR,Y†,гù|Pôä- "…ý¶þ^7Åß'u×éÓŠ[;óŠX\ŒzÔå¼ÌæàŸ X¥PùœãkÆôªs| €B ¹ƒÉÅ EO÷¹Ž@vŸUN?&û{sîö©D‹iÅ»B±É:(x™1qäcØ!J‡ØMI]ˆæ6¼»»¢"¿ó’ê<’1r‡¥ÉRÚ”7‰¯Ë–¦ ¹òÞ’ù=–Þ[²(÷–ÜtqAŸ œᮂl¦!0|Ñqà5Åš\ÓIèÜZ/Aû^ ‚ŠoÛšïúñµG­•[r$eÞçMZ ‡öC+ö7Å2yÌÜ[ÃÈbÊÎPV~áPa¬ÈÊc1×»jQq­ç1!)}åbÆ>H sïYŽ5 Šß¶tS.Fqe?Ìò›Æ÷Šxé,>pSü‘¡>5Ï%Ë8"´úðŽM$l÷¹–ì>#19èT£ ©GIÓ¤¬ŒeXÉá™d†ŸÃ}™âZn1'#¦)pD¥Ÿ£w©¯RÁ¹»)ÝÊk½G®7)øŸ7eKÁO[¼ÎÕÚ"öM± )>²›ePÎ|2ä„§{Çsþ LÉS,lfÔÃJʹý ú«CáÒbxn¥ð’õ [wË›cëþíYQ$NÍæ\-Sü»­¢ÊkKÂ.y¼™>ÖüX—- ãÁA¡ì.yú³(Øtc è:ļ6Ç÷wñE\:ÅÔ¡KŸ7eÞù ü€‹OØÞsò(‚E›ÐKÖ¶·QMÍsC'€¡o-|G{ÔŽÄݕߘ”-S‘lN¥'½Åí$År´Ë`:vÄ*eŸÛ׸m‘cß r$xÛúh}§"Æ!€ç/àk;JÑò„4–s˜t@ݺêüÕ‘ÝD§BP_ÛQ`è0Êd9[ãšÊHd…¡Žè~ˆ³¤ðJ ®EÁ¨:¶Òyôí¥9$!(º²y¥•ÈÄ@_ÊÍ,µ½TÁ£&EWnaŒ½ Üh¬ª7ÖQ³Ó Šn&(„Úìáðõ ¡êÈ›G7Õ¢7êƒâÉZ£¼¢p‰…ÚãV<^GÝÕñ hÈ-vÕbȳõÀ’ÇûzÇ¥Ü x²Âw¬ì”1âá§ôêFQ­jj¬c¿)òuMiòÊ^FozͧëÄ^YUà•’©…£Út¢Cw·w%S4MÏC*Ǭø†qÊaäY'ú÷xPþQ†9 , “úAºÎP¾îm'%Å“µó¹¹H_£i‹c6;’kðø’âe.á/\fÖ ÆÄÄçƒ=o݈ÈkJyªø‹nåËχpEýAÑ]"”ô]}Hâ¿´±41Åù®E¶W›¬f|W®wƒ÷º×ŠpL\Pt“]NB èJ`½áI/kõ¯U(L’â§CÄÛJ("?Ñu õp.¾Û x °JõŒÈËÎʲ\bN]ê„튞ÍRU^$J?:"‘5¼ùp¦Aƒ‚â[Tf´.eÌ^ìh7øY·ò è²))7rá\KRÎŽªGÓ•ùšK¹I3¯›Ô†4µÇ›þOR4fŒp g #CqòuØ—óJJŽÉî­Ç!—ã¦t›X$<ÁÅCª¢»”Lv½¾u ¯xiHÁH$Åò±òkFæEÝ!ùÆ‹ö]ŠÇºo¯CºãåL—H㫎«5äáæä•^¹Bf¦lÐ2o¯‚ŠÓ$y.Z«nŠ7=FœO%xÎLÿèÔ…ÞÃ’â!Yœ ¯I°)xŠp'Ú/† ‘Ô­××öÕ”æÎÅêÊ0È)§ôEwÌ ¤TæÚAMZ!•i»CÇ@Ke® h@`n1GÓõ%4£$ïÒ‡D³ 3ƒâµ£¼JÄéh¹âÄA§f‘e¾zâIð‡%Ç#¶Má`mòáwÃÝ¿ôfý$Á²C q½D¬òb$êØ’“bÑz á0¼¬¦£OĽq?);ŒþæFfh·%S“Ìt}ûÌoŠÅ€ŸE |lÒ°qàôÇ /ß³­™Š^zƒãv`U2{§-¸;²¡8bŠdŽóHø k)'ªCᄐ§’âM@é#¢G;€ a÷ƒ:±ü‡q4b½Øg±é¬Kˆ*Ý¢‚…nŠ.¼¸+iJ¬¾^³ÆÄ¦€‡^€^ã$¤àÀÊGvãÔUòËt+Xp09(–Un¢ñMãEâAt‹Gm'ÅZ@±²¸,X p¶eá‘`-[ñÍIñÃQn@øšfÛõºåìÄöŸ&źœŠŒÓ¹¨­eÉýôµ \KK))šìT"Æ„i²û’Q$ŒÀ€½m=(þ’…ƒ`Vã.yK°ðyŽë¨½Âd‘ ø[VúÿãÑ:’RÛ¤2ƒ`ÁZ3,GòÑoŠº¿«©RßIÑM§êœxÕÇùfVË„„ܯû{¥Š,Ü_êé±]QM3!+¬<ÔN־߭ó×»"¯­u'»¢f(×ÎudøÓË>ŠÆ4˜^ÏUw ö\uøøÚxP¼xXr\XP®Koc-y–©nñuÅ“p7Ó²|P%/ŸêÂS´èL°€¬Nã«N€Ú$Uøµ”d ùhê²UõÎPX—mÂûsÙ-¸¡Ì¤¤"HÓ“a¬Ò“XKÝ€[?Á²åàðýO Š?ÜMÖƒ'Èêý]‚'È‹Êè%;Om>(ùmpc¸É ߯°V¦EŽã”Å‹ŽÙ¦újàýýJå$ö¤øÁ*Ñ×{ç)ün­Kñ•ñTñT®ªÑ‚ä¿$;:=  JÑãÁqq"A±ìÌô¼R^­KGÔæœVʃâ/Ò§çfCâëùÈ_3zÔ‡©£xØJ†¢´“â÷)v5T–ÉŒ›XÑz<š øÊ8fO#``àÇVŒõ×Qx³öEªù¥Mqj¡Éo  @[êWãí°T °U&B½[úÞ |x) >ÉÅòªZctPmQî¯UsFK7kŒ¶¾)>ðè ‡õ/ä²â¸ËŒ²mLñãñ'1ºG‹É=·,åõ|ºÆ‚â+x<€êsáÓOuÛ¸°¶8qÛf””<pïIà_h461gÙ'X,‚à§j‹ãõ>m™áv‘Fð.Ò¤èKÞŒ¼Ã–îr§'lTU;?vêEAI—]ñö*5.; + ´nQp_oj„B#RhxôØáDÕ2ìóŠúÖ§|†×öÓåÓŽu»¦IñÞcožx®öÒྭÊ#—”Tš•¨r§)MÚž#W“?()±xW£+ºFn.ª.vçÒ䳊­}vdÖÀ…©•æØ«†ŸÀ‡È¤äqdX³µ=3û{Øã82KE<"µµ[úH:ŒYõ=‡ÝõáÚÆ®ª¢eU}Ô¸£ 5-¢ %m!JGjqò>Óê㎓· ø%Å÷)Ë-MÇŸ¦,·Òžw†Ö{P¬M¿ÛYˆ ltðŒPCC× ŠïQ†{c0}Ê4IR—ÍvŠ7IJ*!tœj@öËÕ}©í¥BmPÒrKùÉlkn ½©ÆL§åV‡"S|ØŸv·ðo Ëá<áß®ÒÅÖÃ<*)¹“«4ò4a'YVښ׫Rg“â+e^Å6a­V„%çÉ¥Ík+X;)÷òá úܡZ< iø§r””ìÜ.O‹·Y›ÍX+'ë£`P¬j©úkÝž8{©je³—*(~›<Þ½d>ZX뵓øœ)uMH{ÃuëŠ}8¯îL9ír ”ÇÎÞª㉗Nè/È~kv.w”˜êrpX€¶îLzYü€±Èdà x¼&Û0rj5œbIÇiyLsLPü)KˆÍpmÂnÇ­ávm"NíA°4oé ´>愳Y›«Ù„ܳŠÕ™ê-KïS{GªRA±ql+iZË0\k‹ïù Xo‘ ¶¯€\½VñãXßéÆ2Áöºfɮ۪÷…08×.?Û±?ÏS°å“µ>?oQEhVoëAñuÛn§íbQˆý 3®mlê©¢´JµCUb{À³ñ¥íñ ä Ù`—D6Hí\ÇÅ6ÆãÈ„½·O1ØÑ‰s²B§+*ºš Ÿ*­ñ8©’AqÍgik rœ$á¶ÀSöìðâmã>j/^qýÙ¤àÊÿôíÿùVÿðÒ a(j=tÔ+H^{½ª?ýÃ÷ÿëû?}ƒöºøû¿|+ßÿãëÿÿúíúþ¿µ“Þ :\H`  _ù[WU^ÅçMýnžŸ#b5Gy|‚sºÐÛ¶X`áPC#6]JéEPâ#ÊfðëeþžÊ•^I).Ë×d‡eÎvrœI¸o3U5Æ›½·mW¡[£ ÚÔU:LÈÿ†ÌJŠA ½Yô¢í˜ò%[¾Fz‘TÒ»„nDò(ªFÆ^ðÙóæÙDq ô;òòXw³mYÃÙ,ۑȳIþ)TI#±í”(ïÛw>ÔÏP!%<©«†áï«ÑMjY‡žòÒUP^–ÞÄÖ e1gñƒ©«šÂOÚåãvC ce/»._”áâ%ÛÏ«)\ HJ~^‚u¯uûÍ$YÖÅÜ®Fˆ`ÖÅt!Ķd'd^½OPXŸl+禌ÏK®¿ÊM§DÇÐ9 ¹FŒ­‚_Ž9âüXwªûšáx^ÚÄP~ o½£®óIð¢(M¼ h—°ºL å¾z]IQØ,Ž;ß ‹ì#×#1Ö°{CÀùΡ*«–v ܹ ”/J3NnÓkKø=ˆ+­šïrY«™‹öR}Ì:cÅBÁ™py™ËˆhU¯‡#o!,Ê[™—"ûáŒmþ~†JGFY#d4¢)¤±†ÜÊö¨÷úL O-0—h-l'ï€Rü¹K­#EÛÙоÿ.»w‰òh”,,8ÞEŸ ½Œ¯×÷ûÇ]÷&ݬaÄ ÷¨Å Awô.dOÀ£*¢,¹qJX'‰ˆÏ"½é®”˜[aÈ×;Û›¨â ®h„½„ u}˜GÑeŒ2ËÈp¸vqš×ç¾jB+³x<Š|(abyQWD·—Vv<Ô¡ÔaÝ»q‚ÂzžQ‚œ–ܪ=^„çà%1’*’O‚û¸¶eoñ,XùOŽtÜUU àkÆ“e:?·!ßê© ?.VÀb;]´\~_Áâ|Óº§½µ¨²ÀÊ#§Ä"žû¯'÷­÷½ jÊï¾#Ðê%¿#}°¼úú»×ü÷ÅU ýEõx…æsŠ"©P^ïêÀm•^…”ùl(bωµ´8Ñ£ÚW3ÄâØÊÄx9ÖK,Û!Àû^s#‹¤ž§üm@Ôˆ’PØÎ;€§Lb yùäé#6%åºVVÁ“`ØÓƒVô(\ pb£˜ÝùV;ÄÉèÙæCpö£±F ¹ËWá¹#@]ë§8ì·…0N?ÏÚšËø÷ªBãJñd„Ïôw‡Ã!íl—kœ Pý^±= !‰e´èÅ!úEá--b•>”(Hª’6JtÜeaF&ÅËѸI30‹)°}»7¡B˜æ€Ì)ͪz#E;èñ*CUd&‰ rêØ/%¿Ñ1+[Þ98Kÿ6'4«*ŽêSk/Ä· —¶]B¬G]> Œ‹Bï ݈²m•|*õ±Zâ¶Q¢ðV›Ûþšƒ›Q3+S$ývw–ÊÒ^®³C –LQÂÐujlç8·¿»Y†b7džIsuh¡0Xä5@«b©°‘»ŸÑûªgE|uŒ¤‘ü4¸e±¨_õž)½Ñ1ZIÐ9Y„±õø0QÁª‚«mÛ‹{5ƒó6À«á5ÐÙáO^Ÿ³þNˆ-¬'úYÊ+AÏc„eI2onÞ˜Å#[à¥LRX£m¤)Qzz2§²Úg… q+ª¹V’ÓDнfÚŵ²à¯w†äP죎¤¡‘‰uÏÜï”+Þ!KÐ)eŽ-£²7•ž&ÍØAðFèU­<ëØE»T žíîz¾'f'JŸ$¤þ–É»âý"Ð_8|måÄPÔ‘Cl!ÇŒYá‹ÑlÖt=t×Ç{Q„tʼ)ñL-.êÑN£Ty%ÔM”ø;‚ÜU3MgÈ!Ýj|VÇÞUVk±¶”ÖÇØ¨ê~Þw7í‰Úó´ø—¹ëõRdœ6r'S¦_§êÛcöÈ–AKYS%Êû¶®Ÿ#Ì.˜Ó/Oq»QzeÑ\¢8qwB׸j_†®6ú%M»Õa„&Èc€gøÓ“Òï2å8ÂÔÖ”‡DbW·“)”:Û­»jH à8ÇiÄFù)ÿrsb÷åTy ÚêôÇjkëvSÀÞ·gÒœéX5°]狎ÙÀݳ5±…òñ»:õ¸FÀÖ1Æ5€ùšC*èièÓ;Ëg´L•r¬i_‘7§üL¡f0J‚á´-ˆ3<ëÎø„éüM['{3ùœÍð#º7K˜ÃÆ€(:˜Üs“!ÍöjÕMêP†£¤½¶QGôD8à¹âÖkw¬§1j)Š.§¡ïˆÌ(‘Ý#ÊÐqÄH"²Á¾8>‡· Lfð 팤Pœöh¢—n³ÿº½FÐiæ¡eõR°êØþÎ.×REFº}Mµ+Lt¬x4‘<\dFÁç ˆÇçn–]s3óìâ0ÅÂCç«¢ ;p¿«€îÉëf(5÷í,¯ÈëŸ+ž„?¼®˜wR–S[ð¬*ÿëZŽ`…«Œvî]b©o•ß™hGc AFÕеrZ¤:bÑÝñØK‹6Ì!Df¨ë ÷º¢p×%–ê=½ìè9"CUÒŒUè&t˜ÆêR.á]uXÒ-<^îg¨>ñÕ §=«#½èÓÁ¶cÙÙ³Au>ŒÅÝEcºC¾D ?Ž'zdå‚a‹-u‚68ñxœ$?äƒø©Ø«(ø®„b¨•t× >’”ãlòH§AòÀå«pÕ*ŒE~‡(M¥É2Û îÜj±­GÈRãöyI¢2ãHú·”@:%z¦ø‡Òƒ?v¹ÝyQÕŽ‰«i+{Ç ”нzZ(ÌÔѺ‚V·Je'Âå‹¢¼ZÛ¹@Y´†ñ*ÝÀºWWd¢¸J6ñ€¥:L1jnG‘r¢qcG³3s §tû˜JàËØ½:Ãb ùç3ëe9NåL2]Ø!¬=œß¼Tin ß8’‰Ô±b_ì ÀÕ¥®)Îg®ñ–”†£‘÷NÅM»š7AØ—eÛ±xÍ(Ó1Ìà \ ŒrÚÝ©“—3GÔ³e."]¸³DV®öLY*–õû,—®å@ˆiMñè»áO%¬t'œêzÖv˜T %p²t½äE&‡AlZMT|=$´uBe+áo]¼_Úš±×_Zb·EÁʵþb;Ä¥¹5K“gÆm\~—D;€rÒŽe$ãhÆ×PG·1ö^M%ËÂ";øqa2Ô¶2ìM±­ݺò@Ltns„†o[#êÆ7\äŒo³j'¥vL÷ë¢þ”.6³Ä£é •höÜa_¡BµO$¡©Ïć›oHŸÖ¹ÿ ®1^ÑF$l›yàóƒðn»‡Šq[ޏ`lüƒ”JGüu¿Z,`c÷Ü#pTIü„¶0÷Ò3„Û(MËoE —²éø{r¸ÒXdT†Õ™ØÄz¥ ܪ{4vߨÉ*¥˜Î-ßedâ`8Éó9ÛéiKgWF 1[*õ"fÙ:µT µš²#¬·¶£pcˆdɵ¾ GíCl—”b¯ÖF_gWd@•%‰«ÂARí…§r20#vìjÌ„'(ë‹6ÆÞ©§g¾ýôVáªÛÑ€Í%ëYK{—ªV轉ÂHbÕíb›'tà*Üè6EàÉcÆ%„¿,˱ °I1 ¦º6õ×}í¯Ÿÿ²Ø]ç"'¼ªa(í‚ëlÚ>èŠ8»952KKîéO;1ìN˜N°_qÓ<éDs¡L84ä0¸±ªC&š·'ÊÙ’HWÁêl—[vVÕˆŸ*ñÅd‡òBÛØØ¢tÝ´<):?®jÕÀxUö”éx‚ÓËXdûÄea¼ÇÐMHì EœÀgè²"_é©~`ƒ:0Ÿ—üaˆóÈy¸‡ !ã±Ëa¤v¾½ˆ5Í—0¬¬=±®Iù>–49F/˜ÆnØ ùÒ]™ 9«‘x粌 }àíݾ¡ˆUÆÑØUõêPDÐó«]U¶÷®akµýgÄÊ)®.ÐÉ›*áN‹P_±!e}3ÈÚ·YmvÈõÆé(–¶æŒ 'ߑ薕 Þ¸r–®xÛèý–¬±yŒXëùu&)W4"r¾AöŸ¡ònXòÛö=ö’®ážïR½Lá–àuÛi2‡1y‡Ý©g€V DÝd5yŒ‡ºÒu½]^^ÅèIi‰¢ª o~û\çÃNfU±š±mÒBÎ-ð„<_ør´@“RJµ] ~ ’ -û]/Ñ£wâ§Æ ?A¸M`í~8*µlý(é?J¼K'B$Í Ë`5‚Y¢ãyéÐ5g¸!FW…£Jø—î_éUDÈ 1Sûtâ|ß~Y(µg«òÀO…¶a:{]1Cù·Wˆ e_éÞÊ¡ðÍeGh‰Š+VøtýjªÒ&w à6F¿N!˜:KÂ×Ùíéa‚ ß‚üŒXz×Eg¸¢ú;EYî/Šç)0ivVç“Õˆ†€eô;±'Š=£>й‚«kòÌXmgÑ¡éO º² \Ђq+——Œ±A®¨ìî*ŒÈ®Zx6€”HH»„K:a»›J×2ÖxøÖ¤ÿã;Ö›µ…½Ó#§½Ÿõ©û¥ÔÇUýiÅcϪƷü¶\ß+lNœ_·ؾW©ŽÃ$o“¦¿=Ò)¬"_6£Çãê]…ªz®K­³ã±cÁn…|ÿTàJµôs”æûöö·ÜН5«Fý^èV„éfîŠD¥èè¯ û%l]PiÚã>æ.#M¥ÝÐf‰ìÙéåh ê˜"T]­ºéÚ„Ú 7$I/Š ‘±žPMv™Jº‚G"õ ðÈÀÝ‘…}´ímó9"VJP4™¢,@\%/#¬jÓ=/Sä…‚ñLÖä´¦éÉNcmOQÉ£ƒ»ݦyö%“Û ¯~c0ê´a–6ÞÄ ¯,Ì[PG[¸›á<Ûp¥²N2^¬CHYˆ¥Õd]ÁˆW™”_òÞëigNëò´"\ÓêŒÏCŒ±2‹ZW¼ žV×qv=¥f{NÆ…ìÆv˜Ï刀| œ |…¡ºôÒã»HÒ²Ç5a¿Ôn‹ ³Á–#)ºÔ ˜ £pü.º Èa9÷Sê’_p„øvÁ¡!yix. ô 4ð$À#ÊŠg«ÄðÜáñ+r4üáÍYÜp%É#·˨Éðç6ãDÂ}íw´xš«Dùm±X&Ã:‹½8mK2"Oµ{‰Iò GŽ ,LˆûpL\¼ -*æA †3.®6}(—ÌBðz›RˆÙŽœ0¢EHùÕ㒥ȒkíU±ä‰Vq×ñã¡í³k(­-|ü œ¤Ž˜·ËS¶,_$e 9ƒÓbVdaìSzt©3„ï»\Ƶ+>J IwÍ®2­Ô°GUi -ó]ƒ"—œÈ)ºhËw ˆ­sº_ìØ“NǸ#atÑYºÉ}b¤£@±r†Ú‡‚v-Ëb茣~|ÀÚP´L³†ž ƤÕ_G¿©bɘ”qù…ó"~ˆ‘õ‰Ž7¿^ÿ96#¶—qœ_g¸¨Ñ®º"Qjº|“ã¸;õʲ«ÌhÉ HÝÔ†“‘ÿÕ·óQb‚eöÖI§ báç×íì_é>¾šü®ÎÝG3`aTpꈸè Ýkí@ð¾ÕdR}ˆÜ5£*®ko;­¿ØØ§¡Ãzî®TN‹ß‘÷'‡u¸ž Äö´Î36•”ˆHÀWÉÖvâù–bt³_òLÝn³¶)TkŽâÇq-ô­¦ùY`£˜EÁŠPB°E… ovå8_›1ƒ´•·ð[¦’ŽÅÁ@ ØÌl—ƒ˜1· ŸŽ’ÈïÆâìÍUL&Lت:Â1±ºý6ÆìÕ¸@Ò×­W§ ãˆ0Œ w•Y†ÊJbë”o§ŽêŸë‰FJϲEPÄF=WøÊ ª_CY‚ϘŸØè~¤U¡‘¯Ù3Ù ´xŠ%[ð3–?w7̆9û ÿËPD/”¼«ÁÔÛðyã ø¯JP Ù|åd¼ã \#ä 0Ðs_ÑÏV8Bµ*ëQ-6ÖS±ëD†ë G:­Á"ýCZU6!€Oøªªn è±ó¿äàëΈڂw^„þ èK¯™–£Í•L'`9‘%@]íõ"Ê™ññy#-ð;–Ûæ&å }¸Þ§ÇlvÄL¿DTA¡$$­yÑFk¿¤Î‹rb“¬™ñ긆*;i;}QfPÖR?+– ÁE‹n«„ì%aï‘øèžÅ±É¹& Oô²¡«Ã²q†î1Üþø–³Žœ¥{ørßþ÷ÿa’)0œ¯×êzK2E‚û}}œ‹é¢%SCñPÿ2z(ƒŒM\R&O©Œ–QA!„n(µ?„£j6æÕ€:ê!ÛããÛM©ŒB»{¸h±ºÇPûãÛ= sä,Ý×ûø·>ÂÎj€Œå{m4z„õýþ…[ÐT*óv\g3)rñÒÕˢ{Ö/„prûºýøù¨DQ^m vS:ñ’›º\ -Ù¹šßrôøÝ“Ëkß§ÿo^| :¤…ëW’áɵ¯‹ï‹ Ò q9’°X\¦Ã2¼2¦£Þ3=ÕþÀ^%¨Îä˜B›ˆ²Í>¾Ý„ÊMîîàâ¾s¡öÇ·œƒrŠîàýþÍë!X‡Ý¾6§É§×ß²ºÿzw/éÇõ…äð»7lùp?_Nžÿ_ÿø‡ÿ÷¤z¶õ:çþøÓ?üò$ ¿vÂóþå7(ìqö~±ýùÏü§ãÀ‡-bþø½ÿÜçÇçÿûŸÿjwcÿøüç_~ƒØŸ=æ¿ð¼XÐØeÏýãgt;~üËÿünµ· þøû?ü³¦RúªçÇïz«ÿøxvöÏ¿ÀôXêøñÿý‚„ž—röã÷úãïŸ÷ñvA̶¿îä÷þÓÿ{ÜÙüñŸü|›èyôñçÿüË=í·ÞÿÞô×ÓÔºøùˆ~þ¼ùk³¿*f?0ñ_ŠïáŸÀwÚKo,¯kðç…§ÿœ ð·óÒ´¾ÿöÿöÛÿéw[B2ÑzÝÒŸþø‡ä(mWÜů7LÂúöÿ€Yç*endstream endobj 248 0 obj << /Filter /FlateDecode /Length 4916 >> stream xœÍ\K#·F®:%¾ÈA9¥Dæ›\× NàÄìxÖ ¯ggÛ«ÇZ’÷á_Ÿª"ÙM²ÙÒÌÎæ=ì¨Åæ³ê«¯ÔË®eËÿ…ÿŸíÝònñÂÑÓeøïÙnù‡›ÅïÿnðIë:Ç–7Ïþ¶äZ´†ñ¥Q¦uB-ov‹§ÍŸV–·Î¹æØß®Ö]Û)ˬ¶Íw+ü[ÖáWÏVÞáÎ4/Vk!à ÁšÏ³úSÚhxùŸ7 “Nˆ+ÛrkaR7ß-±ºù~±–’-×BµVk|ú´¹ñHËar0’`²íŒl^­Ö8ŒfÍát3pfÓ<±‚6Éäß&mÒý¶?÷Y'|_´ÎšæYº¸ÍÞOÀIÕ|;L ÎJ‹æÇdÄS±‘þMht>„XÑæn—}ܯ¸…ª9‡wa®éylÎú¦3é„kÞ…y;ÙlN§þnO­™4V¹O^½£ Âd#nüÙ «é€±+%›°sÙª4ך›æøz¥`bV+˜M؇—dX#Ž'rФ¯£P@s%_Þ|¾¸ùíÓa»„ÚÂ"`—AN»N4ozè>ièŸ5»ÍÛ~G³µBfû¾‹¯¸ªø•z!¡Îœ¨ JØãô 餆½¶a¼iWkÉnægûÐ'·“UÓœ@pŸ'ÛíÁ¯1X_qB~²yCrÐ 5t"ú¦ßnéSsÌæ»WNZ›Ÿí1¼ #Ááx}46ÕG¡ºV úøõ±TYÝ*¦¸M¾i|›áŒl¹ím~öýÏ|£|,Ø.Ç:î=m>^­™Æ³ÐÍGanªu¦ ÍvL.׬5F;E]¿¬ÍPµŒ9§¤áÓæ›U8Ø®Í) y†Ž®Õ‰óÙõoÏ?WŠá~áñá+kÙAïBÀ,Pha§¨í3jÖÞv¯V°‡ÎÁ1ö·ûsª˜¢…u16ä–QLG´BKçól›‚×ét[ïYÀªmçâ[¿CˆZãËßÑ3Ò‰RBñy;tw<¤ú”*£¤Žý>˜€ =MÑ _f&£´U:p½0Å¡GìåLøQ÷5À /ž†Éå½ãÉT(@²Ã~¯"ã`çS˜‚›(îT+¹,N0¬Ðè8s„`û¸ ²Ñ KÆ`nŠc‹µ„6B+°“]«•b~Þ2"ÕÁ(o¾\ ”]˜~Üìna8˜¯Abœ "ç͹ßyä®Zhf±ybŠi#y³=Ü­·ýK2B0ô-´r‚³Î6Û>= 0 ¸}Œ«áO¡‡³&qx„ÌWxjesÚìRÜÆ‘¥Å †‘£ Óxva3ÿVƒ Ôd7¨YÍÒ,EK§`>ŽK7ZÖx9 jÞr#.)ȇqðLóä`ú6à­N Q·\(¦µ€¹RCVïËÞ, äµ @ai÷ð>ì­vŸ/§Ò=ïµEeSx‚*²OЧþÏërŠ=2{}'™+v’;)¡¥Zc]*5y_ ºdŽ’†õä3;YvŸ/»7°?iø“S[+D”ð»Zg…¥íOA}…ïú×+Ž3–Qk;ðf´PÈ ]ɶz[Ò «üÜj»ôÏ‚u“û¼ª~耊M>© tbÀ¢1{álºgV.‘pM (ZÉ:T ×ïáä-¦r$ð¥±@^Ó)ÂûŠš¡å·<ŠØ'U ÀI¢BÃÿþuo¢4¾¨s-nQ¯ õxþï*û¦B]Àþ&K  -I~_„Gt½§&•ƒæ}á ZÌcÒ²ªï°ÁBª@ˆÞ´' B•cæ(ü^24ÎüGeõù½e(›n!fÈÐ`ÃeM`RJƒÆJ ÷‚S»¿ÖW/H–ºzn…¯v™Å¿¬¬^¶š3[jP¡¸z+põÿÇ–¿¬ ³FUýRÀ€ÀT g]qò‚º ffNÛç÷Ô6lð_×¶bÐ{ù^¦ìý|¯Ñn¥²ö1‘Ü_×ú3$œvsløM#|—k‰|ÄL ÷‹‰¾7à8µäF‘ìûèFqè9xéYÀ&ý°ÙnÁ¡àfc1“ÐØ³Ž†,DUMô?¡AÍrâ»P¯JfŽOŸ»ñÏèm¥;p5¶!Ô…8x€C{§A6ø8z³;œÎayV¤W3^ÖvsŒíáílç’½STÅ K"„‚;ܾž¡Ý 9 ÛÒä{4õ°#3º2ó-‡8ºäÞW¹MãH§ÁÉñN…Ô©«q®º5¹ßKNT*Cç2¶âA×¼öÁ&šâ<Ó}…ª»+¿eÕ<0YY#sS\Ò2úbª°¯}‹‹a¹’5Ÿ&£/Fçv{w8öY߻єÄu|z³øjáãÒjyœGK ñh°¹­|Q|\@jŠGÿ1ó»3°ŒäU½oéâ"1qÀª¢ƒ%%µug° 8žEXæC×§:ÛZ@¯d}€ŠOBÔ'3 „iØxv+1þC³ÿÔ¯W0p8Q˜Óåƒ`ßÖ£L²eÈvÂÌKù•8:‰ÏÔfIÜC‚§ynÁw‘D£&Y3Lcà.I=¼—¿îÑŒ†D¦§Ú.ºXÿª™LÄX®™‰Âðªjõ%&²F\5‘S€l™¶ në EÇPkõË:cúç®3–1~ð²ÆDtÛ!™ Mf9¢RW9ú{1þÐða¾óõî#ʼn ?®’‹ g'–¼E›]kâ¼N[VÁÙ´Ò>xlž¦p’'u5œñŽ> ÐÞE Ð’ýã~$s/93®I™â†š`ˆ¥´ªå˜˜â€=ærù´?ï©yD‰L-†€‡¨ôw¹KS6Þn!HìÖ\ì9ƒ¥Êp[3[¡ÌcÎc±,Ä‚iÉ,’Ì¡‹ò@Ð]ôu0DènØ<ÿ†TË´! e;= ‹ŽÄÀ£ƒ…>Üòî´À­Y¾sþó æ½”Jè4h·Ã#Z«†'ÛÅ×ó9g[躥”»\lý­²TàùLs·ä îïà`… £î묟ñŒŸ| ´÷Óí4 ÑsФ \w­Ö„ Ä×›·ž/ 8{Óä ¡OM÷O3l8 ‚Ü [à³îªÙ®(Õ%xs¸[ YÅ%Ïc@«&c‘Òû.‘ÇkÔ8•Szø9¹™x^MUK`/Æ×”ÔÉÒì¼Dtœ¬‚<1_¸çŒiŸˆãƒÿTƒõ1Ÿ k8{¯kå=|±Súz¦šæõ(²Eñ[´£” ³‰^DÇ1׳8Éáõw/h“Èõ=1É[h‚a°£†D¼¾ªt;‚¸5h·C¦M?ò 3Kú^{žáÐ1Ô`zVg¤% Ëàl ŠÌƒEþŸE…¯Fô)Ï"zB C߇jrTY›QÍ{E£ù¿D6çâcÖŠ*›ÆÇ š8ËMù8÷9n:dÈJ3n:_›àx~$Wãc¡¡§D ¶UÂGŸhq²ÕÒ‡š…¹L«¡`ù†gLqƒO2ÿ;’¼ùb]øzeŽß_ssÆ(ÊL^ V€é&¯8¦ÊK£<äjášs¿Ãé)•cžâÅä2“âZœ¨jTüXÓïrø‚O! V:µr,i…¯ÇòQ¸ÔNm¶Ûdïòõ¦TwŽßÆsS”ýf3ÎÚ¯O‰y«›Bì¤ÿU¢Ë¢*•šŠñ³Œ ãúhZfÈ·C-†jF’ÍÓþÅX "Ȥ´"o@G¤‹Hkyó>†ôX-èµ¢Z‰ ÷dƒ…ÖcGL;V¹†ÑÍleIz¬>¨Ä°LÙ¹ê X*~ÌT÷ |ŒéožÞü·»ðÓ“xöØÈ¯ƒ0ŠTS¶Ø?êpàb¹"½ *ZR±Ø#ÕHÒµ‹1[¥çµ…^ÀŽSÁ€7Š8T¿ƒ&B·JùM:î9ö"ñœ_ÌIûqlV¢B gÍë~Eõ^4gŠ­s‘%ÆÃ|±bp÷A7wE‰Ðœzo¶«JÁãóTÏŠ s(üÓ¸ï/a@ÃH8ÓWè@LGò«tSÎ%ûÄVàþG#Õ•£1,Bê¼nkB¶“Ìó·axÍË’°vµ¶¡Xóë™ó}•¦³s8݆9–—HÒCîMÚË…ÚZ¿¯uÿ"”ÂÒúA¯”ÂNޏ"cúÍ#kR®çöŠôýãjE÷%w©¤‘»H»ë÷å¹ÒuÀ˜c£¿p¦–0Èn-zbϯ‡:Û ,ÁxXE½ZdÙ¬\î»ÔÎÏÄ¢Wˆ\³é3‡)ØZn†clb,­Äì^'÷Õ ôÁ2åŦ~²Z+ÉæC`oB×m«c4öS‘s éyOæ½êÇîQ¼54¸8iîZøztÚšý_g|+!IæGÒ0Ô]°Jto|3kºeMúdáºCôû§ª[3ø4~SÌX· +ž²úääÈ™—VN|’\ õÇ®•’gõǤÚíºW‘åƒDìç‘eèžÅˆV;3¥~!¢”q†;²X’83^>†“¡žæ­j'ìÀWÖ1àW?7ë E73Œ¾Š¼5R<8®z÷à²K–»’(Fèõƒ-ëüöIe€ÎKþ›>§}hŽ5RÌHW‡—°7Ìib|ìfóÄô­UÓK4t:º¸DCǧxt0¢SsÕoö¡C¡ã †53à6k4Â…"X€‘œŒéLJY¤wa²LfðS¨ëpܬØ·ÈÝfÍgèºkŒMÙ‰zzXÅmÙjó`l½z ꮓàaŒ„4UÜE-Èé}¹Ïq ÏCêéc¼’C~Õ•l´ÎÖ@éB‰”ƒn#*qKØ(®Ï¤õPø½ Áí£ƒ¼YF‹br® jħĚœBÀ´ÃvÁew‰¶…­\ÃÿÄàÒ|D4 UÎ Î ž³ÔæäC†Å-å’d•2؆ÊLpU%caf^Ò(ŽÅyy¹/ò*i’?~N|ªOø\Ëʽ'ìèhnmÏá †zƒ‡†æšnNbs§G °CÁO3G—Át5AÕž¤´Ã´'¹z¬¨b#ðÉ`kô±{ÎFéLŠ“üæ›Jx—vk’]»"bU‡˜ƒèâ5‚ª E#q¥ˆ•®WY̰`Søhs)Š”B .ËIÆ;ÕÊ)_à1{ ®À2ÌëŸçÁý™—C¨/¤nã ¹NgA½ãaƒ Ê).±ÈáâݪÆEû%þft#E##íøfiÉIœû}/Z7ÞM£n”œP ЃŒ´ß‡¶ )Gþ!+*Žï™R·#À½Å:æ\KiÔÝ¢‘¨Û þ†»´¿àŽá¬ÁuÇ89 xZ™?ŸÍ©ÿ6Ù’í­ß6€»ip™œçˆ³Ù¾;÷ÕÙl10,5¥.Ðé,N¼Y‡Ôš’´ÂÜiÙ A2bAã‘‹Öõ pЦtÌqᔹª'êÙÌkÕ>ôr‚Iy¯‹†¬XúÎfàYåqlJÖDx'5N‡ã9´c6k·Iw°Œ•S,ž7oû]åô™À§b°^ÓUÅPÊò|ü±ò…ŽÚãS!rY–5–ƒWnOs[M™¤È¬hQ7.¼yz‡Fqòô·Â/F{ÔÐM¹+>§ðý·>ãd-çe¤“rÒ±†âÇÒáéSèÉŸɼËÓMýé{_εÏtYæï+û†8Gm‘×¾_Ì´@ž‹ê*× }|­JYsüˆ»\ÿ¯µ*CE³q-0n3Ì#Þ¼ÊòÛýV/}®cnc æÖæøìpÕ@3åÉó&þxŠcX·JØä$•^æõïªÙâc–4 %½— m,Àû9e¶zHí~é ñN‘gó6ÞÏQ ·Ý¬}—T$§¿‰pÍ Å©Ï]ªü‡wòû¤¶å0\ìx˜÷‰¿Pa®8Ÿ:ùq’ëΧHⱉÙ~µø7”¯j¢endstream endobj 249 0 obj << /Filter /FlateDecode /Length 4935 >> stream xœ­\K“Ü8r¾÷É>nìÚ'³Ó4ñç¦ǔױöÊáƒÖNw«E«ªKS¤=¿À?Úg& ’Õ’Z¡CWA ‘Ï/ ývÙÔâ²ÁñïÍᢹ¼¿øíBЯ—ñÏÍáòO×ÿüR9ø¥n›V\^¿¾¯ˆK/.qu«Ìåõá¢Ò»ëÿ±®ac•­­ô0þúöâUõÓþnwÕÔñÂ[_}ú¥ÿôÃîJk]7¨~êvøP9Ñ´U?ÂX¥à‘ö ßÓCÓjï«=SáÙqw%}ÝÛV·Ùl©ý_h|•/óß×ÿ†DKF´µm"ÑÕ˸/›¹’­†/êòJ™Ú[K#ÿ7ŒÔ€CmšìMwº £8O¥«½4‰MÝ0ô÷HíeÛV‡¸—VÁ~ª‡n×Q°s ³xSÈÕÖm Ÿßp6à_Ý0ŽÀ*é[}ìá¥0™²Õ¡ûÔv@Të•®Þg³hPõþÀS+ªã0Fâ¢dúã)N T½Ë^=;uù—~ß;iá•ÖU»(Ï8äU-ßzy D¸†˜Zû¶±—W¢vζ†>¼]ã6|”§ŸG¾ª¾ª¼\ãŸ#¥›ù7älÙLwïc}Á+ÚÛ•‚½:#VUÝÊ@ÁM.d&ñÛLòeÉ `. ®G— ”ÀA6Q·çFw‹ã šmsÿ{þ´Ü ý(Y2½d¥¹U+!’:ßìs¹ƒnw³30ºÕU7öÇX…¾Ê*Ø¿½c_ßé%/}Ÿ$Ø»6°™°~!_!kÙÈ´þ¯d/ZبZ?^_üõ"¸?syúR·§¼¯½1—®ñ5ˆ\øµ—°HÇ™ýH¬ºœ«IºzÙ½Î~vd¥µ”Ñú¥D‚ª€ k3"«¿Uh ÏÛ»öö.ØÞeÓH²eÐcežA³ºv’Ó¼«‘è+ÝØZíÅû ×9W›Z’ë7U¿ ¢™Ä`ƒƒR¬žÜªR \oYp9&'ÅÃBòöWª©•i?7,œº‡ÛãaÍUiS;eä×Dïâvh bÁ€»´8ÜIˆJ™F}‰ï‹×|¹hÁ>ŸpåÞºÏvåðréÊ•v„)>æZÑßPL“à"Óæl6²JÈjw¸ïN‰ mÆ;¿pô»ÑÕÐrþì J_‚G´¾tø#ãU ÎÈ*_'—uÿÛûì²o§8x”áÝ9±Ì_0’0ôR£‘˜µ§ßÜÅŸ}aEÇCÌõ 0š »°Nj!§Dp‡ÈÅUZÎmº…± ŒS•K5 t(Ëèúš³"Šìc.+^®!vF㜦šn8Y»I¶¾LÉÂçSŸ{kL="¹ÐéQgc#“ôÂácbÚJ—64&¸wŽ&0 ÷–X´´‘2Œ3ýC«— ‡¨+,rߨº-”ŽÉrì?LÎ-MUV!žR¯(›ÙÂÇÈ9àè¡ NÇǸ°æ!Âšî €åù²†ÑW¯ùù3ñÔ÷5Zšùì 4†ÜÀŠƒâN:á¢Ý·“V– ¶ÅŒ¡€>Úêç.¯‡ Ór… K q&˜s™vË\€fˆ¹ƒtó—1kr×ÌFpßS‚eW‘X€O9ÃcÎ`3x‡uFsI~­¥ü°’qË»\í¬’˜ e#ÿa5³@'í]– 1‡r\ŒmZ á/†™]”Ž_˜ /‘¾zý³"cç*Hº†à]$àÁ£`ÓÝ©_CŽRRÄ#E’²/TV‚ó5eYÞ€VAO7åêÿ ý¼…'q ï·«²×Ç>ªŸÛ8,Þ¥1àØŽÁ½¸–CÈ@§àS|êb¼4Áw‡1¨3~,=à,ˆCœL‚OÍÒ¿c¿¨¶oǧn,Šz˜1Iã0 "1fp“û•Ü™0 ÙÄÁ7ÀspÊSÃ!U>|¤0ú¢uC„Ô½QM¬íÁ +–ck#l*¿Uu¢.Aç[ƒ•×W­µµ˜6©Z`Oú+k‰¸±iHF¾½{Ø)¶jÚ×ýJubø…æcب»”kU@)¨¦}ö Ķ!¬sŒüSÎp¦1ðÎäÚ1奱~€Ÿ«Ã#Êñ¬$¿ÖïøVIT`a¥B‰ah¦¨æ4áæÎ—ÆQÍ¥r¢¥9ƒ>à²ðú¡ 3Gó!‡éÐ$«ã3€í 0!ÁX§ LÐG Xe‚óLWmÅ2Žó•æg›Å"V  °×n˜xæ4>pxþq-`Ϩ»ðw$<‡5²wù¯7©ZGh²z-f…x$[H™¿Í€ö2;/Ópÿ7©¥˜SÑ^ø¦@™Zœ2t QÉ‚S”˜Šg„„2ÀØ>ö*Ã_ 3ÆÕ¹Ö NqÄD`[XUJJ–dPÊÏŸä¹P¥Þîj­A:,Lî÷u»ÛTObˆ¾ ªá ò¬©;¥CH£2¼5±^ Ni h†A{¦3‡¢wåeáTD ½¼Ûçå# }äü IO"ŠdŽŸåe÷! Éú½¦Ï7¼ªlp²¸~XTÜ Td€§®M¨hí\V{ļ³0=/LO Íô²\æ{ÚkÒ¥µ ~ž‚<ÿÜv§û´†“LyßÅçÕºøÑ»ìȳȳÐ*‹êKµTŒÊ !O8l: ¹xþר½ùÀj%‘€ßÑo³@>'Os!f%`ñÜœÒQðï¤,VuU)ð÷¶ øö§) T*ÒâËBóªâGŠ àæ ùÀîcwn&Ý qôt%VdùˆéÂÒ RêgWЏ6@þÈbÏRÓ¡ðI:„§&ƒoG·1•À)ƒv(Å…ÉBщ‰fÈQÆ~Ä\?œ<†¿óQãnõ Š…%àGZ›‚û"ïE0¤f½qJp¢[eù/«<„ÕÏ`\¬ú‘kËþu¦WõªƒDu—Nål¯ªÿ@ aËÝé»q,<àS>Ͷ~§S„?¿FÃH»ÃŠ`Ò“–ÈÞ®ŠáDM<©—6ÔÁxñ!gò8ÅãÇôª&‰¤Wq@µ‰RG©Pb>¢ÂÑ7óìÊÞ×ÇÈjüˆ`ÕjYR"b<ž›e£6,ÚX¡` ˜¤Ý¬îûkŽK‹s¶EÙœJÎy$鯩x/¦ºerŸ~KuE±fnláßb t˃‹Ì:¦º²]«…ß²ZýæîhÛQ kÑÂà¸ðظš²¬ob*–wq“xZz({KN±PïÛÏÄri²Ô€Šþî\)7±r¹plgtüjʦŸÐvƒö…aPëP ¸^„xð¶/këÉŒ‹%VµU { ÊXXøK2CBrE{¨V  íÁ X‘P/K°Ž‘²–vHʳ×lm®q¿å;ïSe<Ìz_òjåÀPÚtŒö­T¨‰f^ýf*¨Òo Šûû730\ïG¨þ°ûÇò¸ØÖR¸¶èAXmAðµ3Æ[Þ‚ÐMІ‡æ)|+îLX½!”në>ù}ÓuœŽiN»<êÁ·_á± IÁâà˜’vÍŒP±AÜgCjVk0™kUªÎl¦å7ñåMÔ±&,äò¬{ùžãÀÓšé#öÛÀà ¤¶-?ß=Üú¢ §|8nzÿÀžÜ¦\ ëŒ=X¬–bië©|. Nï?æ;y2mÒ±*A”0„å™b …-Êùw\ó6:¯5UË‚ûñ~RÍ@ªÐÍ@CÜŠ M>c­"Àq? Œ%/œMm»Ô;Š?:VÀïâ>Ñ' |Ìs¶nOåø–ÎJî»Ã¡‹PF-¼*zΘÍ~J,|NúÕÓjR;:,ú—.·ùÐþƒfò&s¬RÆ£æ@¿‚÷Úµ¤ζúë$D·~èTí”§Üý0bm½Ì'"Ð,:à ˜ütDP Ï+„Söl“ㄉ mÑ µ§Œ>©2† Ô â‡ÖŶ׎»¢Å0ï1ÙO1ËܾJµñ̆Çõc.Ê!ež~EQc‰‘—Úsvû ÁÒ£à‚FK¦øcüY¬wB~µ<©`Ð0^ÌY÷®? "œSP‘¥D¾C*|xé³ý-bGVºÓvÕ"+Gio)Øt,¢eh¹@£ÏƱ´œa¿ãv¢¥ÆSbz_S‘ˆ¬Ÿ«OÑ?>ÍE]dÏQ ^x»2ì*jŒ–t—¥7)Câú|•¡©`½>qT-Ȥ3X_=$¥5EĵˆM¼.ò³”Ñ¥&*M±ê™%´,OëÓgˆ/ԬǪ"·iIÅ’›…#Û"í_n±!ùûx:"Šñ±­ØµŠmöJMpaÿ4ïtæ¥ûêvÚ’¹YUÊóN¥³ÅØ(æÉ |‘÷¡„öŸ[úš¿ÿü©âÏ%Æ#‰°ÛâóCò»˜épºûäªyué/\KYÖ¿¦ÏÏè´—ÖÔÎúœàor=@º…Êæ­ÙÌ_´&Ø„Š[²”ðY-­kmá˜ËË9> stream xœ­ZKoÜȾë7ø0ð%=‰†a¿Ù6€×° ì$»«C€UКј뙡LR–´‡ýí©êÙÍ!G²²ðÁÔ°ÕU_U}UÍ/‹<£‹ÿùÿ¯ögùb{öåŒÚ_þ¿«ýâû‹³¿þÄ5ü’™ÜÐÅÅõ™›B]h©3ÃåâbF([^ü ƒuž ,Ë .Ög¿w»Ír•g¹,h¡ rÿ¡ºµ\ !²<§ä]uXâK®inHÕÁXÎá•( ìníKiDQƾãî]½\±"Ë©2d-lµký„¼ ñ6ÿ¹ø; Í¡5ÍTnœÐä'w.*D´©ßEØ@”Ä‚é\ìÜ ©ÉÕ’©Ì°‚‘O‘/ ‹ÀÏE¡ˆ5’õ+-I牂ë0ÖE¤!‡%z” ŠÜF«ì—x8*8ùèÖ“€;ïf†ƒ«‘Æ/M5©¯½P…Š\±Þƒ9a!#•$õaÎcÜpÒyß5F}µ¤¨Dïa°QŒ3R¹_)•Šü¯‘”­— °Ù}JwuÇÖ|3 Êç *2. qŒÃ㊠·qÆ/‡…(y{o· AgÝæ°®¸ŸF‹Œ{É€ö¥¸‚#Uñ«)˯úÝÏ *< ÿ#¡À8‚9Å+´Ž8¶/ŽÑŠìKP ü%цŸ Ê Œ7œQ“­ýµà KRmûá”ÜDÊk'v®âqiào½$ˆÌ^Z9•üËÂ;‹‡œKR¶áW–Bæ¾!hØ¿­>Fé£ÚUb¥ÈòÀ¼å¬Ú.ñË·ˆx\Gˆ¨íâÜ”7Ñ‹jí'ðÑQºÚ+üp«tìj <Å4j‹³Y_¿sãAGàà!Óû-7^D ïj8 ðóùL.@Ù¿ð„~*Pœ9„áè Ô5¹kª®KLr'¢)LŽU`¬Ù~Ž~á¤E ž]Ù¶#A»žŠôûÄÂÝ8Üã&ab=µC¼$vý·g?ž9*(Í·R@*sÈ£fA"¥Fy7¤Ü;5ûèl§è(c´þDÛ©1E,Ö·ÊÃ0>ê"•H‚‹ïÔ™Õ*²í~><í'‘°q=þ=˜BÈ F™²ESd]SB9:Bž©‚ª@”cÙÊ+ëq?—[Dô¢ðä5ÙJÐŒQFÃBûÍ$0€…¤À˜Ê;dbÔ/Nbû쮀iLÎ>]ŒÓLîhûUléÄìN©ó»¦Üá Á"0áne:Å`dÁè­Þ..mÃGE·ÞÍÈ7r†‰”MlÝä^”sE([~Á '¸c¾oP“3‡BÌ·¤õNpšFß«8P®5T'”¿z‘¢ÅÎÖBqÒizÄ^‘wæŒÃ€ jã©kŸ$„<•$|Ð!U —žÑðnÚÙ$æ[ž:K0¯ãSív>¡C‰tw¼³égÈb;Ë|œ‘ºs¿ÂLÐò+oY‘TÞ°0ÏU_6¾è^a:µ0ÀMµðHxªÞ´2¦À? ?äúöp…å ”•ççwg§@i€˜Hp“xIKú¤øŸÒ†q 5 ê¨}BáPÓü:ggOÜ]ŒŠ“‰<<í)”óèðOtGϱ‰@•QI׋ŒZ¿Þ¼8lÞØ" ^ %l²ä /$¡Ç I!6ÁyƒÊßFnrŸ¹M¬œ¶S‚FlÕ©˜N±’‹A–ùwÃRbô*©÷Ú®¹_c»œ)Ž\‹Aõç{ìd`ˆ|Æ£?LBDÓêă€êRçÊã!42î¬é yU,ÚöÓ€‰ÍúU”9§P!!yÏ Þ×Û*I¶å«ŸÑÂ;K³v2£z1§e›K©%¹Õµ{F–t!ß"K؇î?°q8ÅÚuÚ}~q€EB/íîPV=Ðq* çt@·»Š¨8H–©À –É}Þµ«>÷%`zªjLÎ|}çèи8omN·‘ð‡ëGØ—x¸À9ß½~ÿóÛ)T‚X Š?ìÜry…J¡«¾ö þÞHb=0©9N6tU¾ÚÞ)ŽM;>¢PC²§6!eI_³ïã@z°ó@BO¬yÁß› bh²˜ÍN'+ Ì-p’ý>ÃG jjR Êýæ1KBÞŠ‹Î׃\íÊm˜èãXÙ@M‹ž¦µ£°Ù tèAGŠíp…3«¤6ñÉÆwýæH¥³è10DZIœ´ôy@OªúÆF\dð”aõ¦›ï8®®š¢)”ì¨%k[çšö”NYÇtñ„ä…óýU°èÊÖ¡ã}Tçnólê¶¹|Bí£Û­a¸q(±tŸåq`ŽCa‘Ç3u+ä79ÔßM/ô©ï:HC‰×¥@ë¦8›  üÂP\|´å*wô×)æZÛþ¥Rv2OëÞ]D¥ýš²ÃˆaóSQ¤xì ÖbZtÙLÁ£ÞÊj°·à£‹®zß·>½A@&¥mqGþ]¤H8G¢¡3í¿”ƒÆ‰MÂ$¶'lÂÃÍX¡%w{pCðzÀšÖŽW"©Lê. bó è‘ùËŽqáN¯­É˜Ô¶=§°9äT´ÝŒ6Ñrê—X'>ësþ|‹5iðQcQu1®{pw…Qªíü¢àIU¸\E×MW}6/”w¾¾»¼ŽiGáÖžÐâÿö î¨ñ‚ƒd ÈkÇÏaªšÍHxµÔ¡ƒv]u“ìh¼f:¸ïØ7NÄÜjd h–Ü<·ŠÅéXÝL3¶&ÎÊß§™È1,bå}åÙ£ËV·7ćçÕ~ÂÚ[NªQ¦ìª½c¥£PU¿cö¿Nmn—q-»«ø/L¸® §†Œ#7ø‚{õhÜJÜø»¿'ÌnÎu_ad& º€Ì– ¨³ñ»¸{î}CŽžªâõð¾ƒ./,èÆNÛ«ºfƒ\«ú–øÄ%™îª!îüâ¹Ð6®ÄjSÎ&ìÂgeoùÌFN6¾‡ÏìɪÁø\?¹ñ²â*·»4¹ÝÅa¬r<•ýäY“ñÆ'§@ú\ˆ±3ýãþ¸*¥¼ácla=åcˆþ6ëÿéC[þõ¤Æñ.éÞmßW±ôŸãzõ±¾¤`xôhƒYºdI‡yÚ€·@Âï+ç÷—m“}B_$#»z» Q8ºË:…±ß0ŠÂÜò¥ Ÿ[rRǵJ ¤^ö¯K á$øQÈvHtÂÛ¸ŠÏ’C^âéê˜âx[Í•‰Ê ¬ú~Já&ã\ý-Ó·ÝhÑŒy›X^ÚœBÛj®M úÕ£.éM³Y'ؼê«Z…Î4ïÅù¶i4*•).{åLuÛ)f5Ù÷·—“Š”4S(ì¤0'yQ¶¡?2&»G7×c›™TÌœ‚ÚLëÓ6Ãî½d¡µÐ³ŠëG/3L¦E}tÄ5·Ÿ±MÀ´m¦8¾CG‹“EÿÓXd%·Êi%3 ægÞ;1ÐOV”n šT‡ö7sÜ·¢ 5õÝ~)“븚‹*†CX½ÃÚ«6EUY"Lf_IËìG••Ó¨­ ¾õÀ¾}ãô*½ÊqÆ2Ïcýà½^ú½QÙ”itTƒ·3Jš¤ucë6MûX\~yª÷âׇðÍ ©ão¤F¸Ü íü$v輌/ÀlED {¤Oâ?¤L®GF8·6ß _µÌ(ÏÓ®IåYîûãÙÿ7Fendstream endobj 251 0 obj << /Filter /FlateDecode /Length 1159 >> stream xœ¥VËnÛFÝsÕ.²+ .‡…9÷ë*‰4±$VêEÓ-É«’j‚~o?£@{g†”fT¹(PhÁçÞ¹sÎ~Ê ¦9q¿á9Ûd$È>eԿ͇Çl“?Ÿfß¿çÞ`K,ͧ÷Yp¡¹¡¹–[.óé&CÔÓ_ÁX“ÄX0L ‡é<û]®EI0‘†eЗëúËyQ !0!]ÖÛÂmrM‰Eu¶œÃ–0 ûß”VƒZ¿ÇÃ^S”Ì`B•Eóè€$ÔºˆAq˜_¦¯]Ò,IZS¬ˆ I£÷¡®´ %§+X—\b£T(ï¶0 [cå>¶ŠI ÃìqRP»&èú,<_›–ƒº‰J©Ú;¨Ñ7›#(W( q8º½Ö‚¢ˆZ+?¸(„®Sоš NtÞC÷ºªWSØZv”[½Œp-#£%»-4¢s4yt¾¤=FŽmSÍ Ÿ9µh¹·¿/‘šv,È W!Å”bmŸB³­Öõïñ‹ÄmLKQ¨nëãR(‡Š[@:Z8èR¶y pJaYÀqÏ(€á_… Ê-X1ôux$ ‰%ìŽäÝìÚm˜s' ¼wkˆC8záÀCÂT]W3+¢D*Tõu³¢é’*Ì”X{X+5*¬”¦#±);ÅlÊ ÂŽIŸyÙ FŸI‰}Ü’ZŠ “yÉÀ”þê+é<ý•£ GoªMµÚENm52ˆA]¢–¢IðíÌGûSPÍ15z¬æºjW‹œ ñ¸Ý, éN4=lÛ>t´ì± =s–Ô[¾h¶‚[ Êc¿«ÖƒŒ¶óƒÓõ¢_6Á(?oÖ‰ŒÜ{€û¡žËjN£’*†¹(iÌ09 íôÇjv۹ϳ;Ià°’Žc7^¿mÔÓy…NÉĉÁª}'™ãq|Jôf½+œ:7è³_.ô9Ln¯~—ø,¶¨žÔÕZbDÞFSkyÜEëuÝ-ŸÝÙ!•çM×'Eù=ægßõdü\øÏÞÉÈ,ÎsJp™¿”q¶0:€An '©É·ëÚcs~RZ+*`y•M¿s:É8Ž×IÎqgÚ:LOY-‡9Œµ·ºŒ¬FË”Lû±BþÓ ëë>–Z?vCã9¼þ3 PÁá²hGÀÄùðyy•ÒîàÐïïo›\tNpS;eXÎP_n©áÒ^8&<ˆ“˜ùCG."Ú¼tÙoúÉéúð!ΫþÍ“˜2™Ê¡íêþ~ ç§M‰0‰caÿáS$Îy³îw'ŽrÞÖO0b,G„ßúZ¸1éî“û£9\Jmœ(f?Â¥­þÚCÆ‘aÅž]nB…Ø0ïÈØ }H:tóºãžiÃx`<µëÛºÚ£u5¾ÜTõúÜo]L³wÁÒ¶O¾Ò£+aø~¥ |…Ì%W˜å?b/AŠsÐÜ_-@UËîšÕW3\õNÐ>â»ìo?r„endstream endobj 252 0 obj << /Filter /FlateDecode /Length 162 >> stream xœ]O1ƒ0 Üó ÿ ¡b@,tahUµý@p”' aèïKtèp–Îw'Ÿe?\v ä#z|QëØDZü‘`¤É±¨‡é`e⬃ýM‡÷'l²;¿ë™äS5—²ª÷zCKÐHQóD¢­ª®µ¶ÄæO:£=œMÓ¨J©â?•Í%Λ€kŒÄ©4-MrÇô{&øS°A|7!SDendstream endobj 253 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 264 >> stream xœcd`ab`ddòñ ÊÏMÌ34Ð JM/ÍI,‰ªüfü!ÃôC–¹»ûÇÊܬÝ<ÌÝ<,ë¿7 }üÄÿÝ_€™‘1<£Ð9¿ ²(3=£DÁÈÀÀXWHZ*$U*8é)x%&gç—gg*$æ¥(xéùê)øå—34òó’R3sÒòÓBR#Bƒ]ƒ‚܃üC‚5õ0\````ì``(a`bddÑü¾†ï?3çq†Gß·0~ïü¾…ùÇÊïÕ¢·¼ÎØØxyÙØœñºuëÌ™[r|¥ 8Ïùž7mâB¶U\¸å¸XBòy8öôöôööLêíí;ÁÃÃÀ!¤_>endstream endobj 254 0 obj << /Filter /FlateDecode /Length 338 >> stream xœ]’Anƒ@ E÷œ‚à “H‘7é&‹VUÛ Àà‰X!‹Þ¾ß¦é¢‹oé1c›qu¾¼\Æa-«÷eJŸº–yûEïÓcIZvzÆbÊ~Hë/yL·v.ªók;}ÏZâ‚æßÚ›VaôO»-)M½Þç6éÒŽW-NDrÊY ûGá°etùy5ɦº TÙTwÑ0˦:ï» .œ Y\DŸÅEu"ÃN\ÀГ h¹u+.¢ †¸h&Ã^\ÀlˆŽLDµ]ŽQ\DÑšŒÈ‹ž‹Ä4& •Š(½"e¢—ŠVŠ÷â"b1 ûDˆÀƒ¸€Ö3£_öžðd÷eóe˜°±1LØØŒŒn"jìç4¨ÚxåÆ*7øm&àÑ&!Ú+>ŸËÔVã¹ ez,‹Ž«ïÅ0êߊÍÓlY%Tü/Û°endstream endobj 255 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4153 >> stream xœW tSUºNˆ- `4A9§^P/G„Qä)yµè#mÒ÷#4I›¶iž'ù““×É£mÒ4méûI)o¥ä¥àcÆñŽ^á^»¼ wÊéèÝiqæzÇ5ëÞ»ºÚµºsNöþ¿ïû¿ÿÛ|Þ„8ŸÏlý† © ÙEj®<}ÑÂù‰Ò¬}¹©Å±žŠ>Î>%Èá˜{m#º‰/€ø ½OÌPLGŸMCû§"óüùüíyåU“…ñÔ­*(T˳dŠ„ç.|~þ|üwIBš:aå‚„µ©é9Ê’yBj~FÂÚ$l,PâEyÂÜ‚ü„4©,573¡ 3áM鎄­[^MÜ’°:ñ­›¶<½àçÏøÓÕ4©"5Cš«H-”–ÈKäYyøC¼&Åÿåä/âñxOäþvj½zCÙFi¦,;'oÙÒ—ýMüIÂãÓ§òxoð6óæðæñvòæó’x xɼ_ñ^ã­æ­á­ã­çmäMæMå=Ì ð(¾•|ßÎgø¾“7 É›À;É7ƉÁµ ò‰äÄQá¡ ¸NГ~3é̃Í…ú*~RüÊøo'¿2%eê«S?}¸ÚÌiæiÿŽº¦ü·c9O‰ÎðѽsµÑ÷Ðl‘Wt5Щ\½% ˆ2ƒ·±™mb#TýÐ Šƒ3Ä•½«%­S”‘¦Ói)ªŒju¹¼b˜‰j?€×f‹¸Èàµðñ^ ¾ÊìRZ[¹Ú̕ӣLu®Öò„ݤÍî?æjŽ|!vE\gcà-qmÇЗw€8ÂffoHâ)ßKéÖ*лzdÇn÷¡§<䔸(Çmë@óÆŽ]ü Z‰zD·/¿¼39+#›¬>µ·!sìd:µZ^ùв`^ª µæ2Š›0ºY/·ö€¤J *½Óìiic •ê‚nºg¾j¨Ø nÖ?ˆ^t7SüVÙÛ@ MCO¡_RÜTn¹Hþjrv&k*?s8?uíp·´´†j%=mî M²M›²¹ÔRjÊ‚ewxÐ1Âïà‰®¡'£ Ü3$wS¨Â§¨b!Y­~ªÎâ¢A f+MWq3G»ÅÕýrLÍøSõú\ˆ2ÐN”… ¨úD¤ä~½˜‹ËÏ\þ27n¢°,`´UÛhx€»3„fEŠÙ;sˆï„_¶ÇŽ´yãGR…E>-èÈ4[%«éáþ ý‹ØÊ˜coC¨ÖçA«ÐãâÛïp´3›×!ÂA»õûŠi(!³ ƒÉÂPJƒ“v[©ˆ…5A¨óFÓèLnHü)úˆíµ{?I3.“ÕÛ÷͉˜‰†Êÿué~`(4ƒ¹h@ÄÒwŒ&¨2 ävE˜Zj-BOcŽ.â/ŒA ÉÛkÕiµ ÔÖ 20@Fàç·ÌŒ›"p¥Þ Døm·Ð•[‚¨á~cè,fƒ…ÌNX]’DFyg7­ï0Õf¹ö7Þº '4ACeIY %D¹OÕé œÜT#ß,Û¦¨"‹/oõæ1;‘Çäèaì¬ê¾{¹¹ˆúÝæÜ²×3¹ª|ƒ,uA¥fg¤Z‰–}M^qQNÊ[Ê×{¯ºÒŸÙ›qˆoÏ QsìàmÌÌ=†@„ÉÐ鬦r)ÿÕNȽÄüŸSÁãÑ>1ÛËønÑîz¿L7—æ$˜ LŸË À¤BÖ •?ÃDõØS!*š.l¸‚@¹b‡/¦wê×y\jdðÆ ¶ÞEß9A´,:Mä¨;¸‰P«©.7jt¤Å¤Ï5«•ËÄ»¹×Íš½¯®Éíá¾£Áw»oPuñ÷…‰#9};çerstã­l¯s’-·Ú1vž äWTTú“êDØE§;:wd2^æf^çEò·y˜9‡èƒ qKœ5ž§½â‰ Äs…]Åí4;õ:‹Ñ@“еëTÙ µ«Ô-h¥ }j¸­¹·àÝS½½w¾ŠáÕh‹ÎDæ%—–—@ TÕj‚ªÆ²p6+R”š#ËÚ.;UtØæÁ:ª74ê4>ØY{_\¥*_ô¢xõë²D0Œ¹³Çn÷¹ÈÆžö–N\®Wל, •·ñÍ0šÑs§Ùª¿ò2ò‚Ï Ù¤d ÞÔS¬<Ô«¯ömÑX阹‹¹¢h½>dµ)0)3…Jݸ²@GÅIJ¿ÕpµÝyjˆÃÒƒ¯qîÙg¸UsÎ.ÿÍþü®ŸLFŒh6÷¤‘iÂhÞ·µû8Ö’/íxÛë»úÑÂ4çf(º…ÞÃ^vbäaÑÑ”Æ4ùzõÜ<ÒXJW—pÓ‰×~j=uY¸b”R?S¶p;HÌP ªÐQ†í…Z¢QíWåï“î>\rð³ý!²óB#šlsŸCWÅ×…aïýnøµÐ7lµø† 5×\~¶>XÛLy½z¹ZBªªßßéÇ·bîxA™ƒ|t},†úI ÑlËùí›ÿ=†Ô:‚‚aâRúàŠõɹ)™ä'èÚĘ+õ–"RoÕZAMàZjÛ Õ$­äæŒ~hó>‰"lbëêü5N²þw‘/ÆC‡ÄîòtÙ\ Ûqº»%R×Q'â!Ÿ92QT_,Qä)ò”5å--û[ÈTî’Ȇ`ˆ3©=;ç$Þ÷/Öf«÷Í瞈š9u<ŠÌ¤z99q HŒ 5ÛîÆ¤†‰:m}aq~iVúÀ¾ãW¿ú¦9†QÕ¹/üãèº2üU,ÝGÏj® IåJÅŽ=@¨*}½AG££Žr1^¸´¾m±¯#ÔÙÙØt|èè¡àÂÖm·ú-x2íV°Ú-É´.ªÆ¦&ë@»¢kwAŠ~Ù*R.ÍH—jþ3ºTü=PËú]¤“=‚6¸š»é?–Ã0€™®¶TYbénÓ@úÉö–º¾Ù|Øw&6:îŇӑ©1UŒÜüǪ¨?9ˆ8œÆT±bÇžm™¤5@w47ä8‹a$­+S˜Î¤¶ïþ1Ê*7ý\(¬«ÕKÿŸqµØP Ï£ 8¢:ÓjÔeKÌJLDìíWs§‡<‡ŒL`Å#>HbKLå„Êm”®Ä¬ýŸãq+JÑÖ»|´&"@{l¢ËÅ2²•Å…á¢.ÀÁzIÆn·a 0m¯ÈÞÈΦp®±àš°ƒ9}ŸþMºÿEp—ý®½9$j+iÊÏ/)ÉÏo*ikkjj#§DiN]zO£äG7äãIÇj ÚH“ÜŸ¿ß`ª€DËê|Æt‘èνß`7tâE¬¾$Û^ŠR#ÑUøõ÷"»²µêMi@ÒûÃÿ1OÕŠxL­·ßQ+q6zûÁ56ùMEV¹žÜŽQ4ÇjJ^¸$;KºNµ¹[Ý­Ô ZîlÀO:%Á*o]`•éH£«ÀŒ÷×øª‚ þc'làd?ZÐYxĆ«pàHS+»»¯à0ô@cc]g°7pa,ˆ&ç}E‚‘µØ4Á¯wj£o£q¥c„V§ÓêœÆp¶Qü[a0A7V>ƒ³J€ŒâÇ}Nü±òÿ¹Ç½RŠÖEÐ÷‘@#r6NÊß­<ýØŒ Ñ0Ú(rF˜Ø°¨îSvT+jË|^þñ ´·ô!fÜcv¿&thÛÔ‘ÂÎÔÐ.àâa!7KÎ=Á-åÄz‡÷‹Ð‰ï6Ç{¨EÜ|4ý=8çëOöïí{»fˆXãU¥ìÛ•!“fïRá6_•öε:{#HC¦N4ý$Â76I7´VÔ±¦ TPn)3•é¤jin¾Þ 3èLJÂYY †B«%F9Qrzš›l3¨öVºË‰/xKŠâ™P`Ê3äL¤1iè §×æƒ#–ÖœþrÂauXlœµ¬;À¸ì.ìQ½·’ÉdS½Y Uo­ 5æ ]¥^[e¨ t:Vá¶Žuí[Òt饲¼{剛¥%Ž4™¬¼>¿%õXÑi¸ÜiúšX«©Vf-_iרéÖ‡Ì –`àdxh`°iG¸ƒeLâpVHêIu”ÛÊ  ŠèC!®3n©ç->2ÌG7O¢£ÏŠšJAEr7„û@ {vÉ2ŠR°Tû=v‡ÇEžøý0qF˜ÃMÞÊMN]¨×à–5ª:} ÝÓÚç'kŽ‚=ðÖiT$F…ÙÜ\Ý^x‚BÜ»Çg¬Å÷é†PØvc •ÿ\‚VrŸò$Pè…îØE2xÜúR´ml¬:•|4á²ózû¶ ú(WÄ6Gþ‡‰Ó…5eÅÅEû*]FVOú´ÍE ë¶/‘e=ÿÜ:¬´ddŽØæÀ¨; ¯Áfª¶ZÔf’[ú—§_f¥}pY‚ëØ %8üøZûóÑüÎ@Ûýh^T]\)£’¹é8—Á¼OÒþͨÏKÅ6Z«\Š+¸ÁaÇžæjfjúÑÓâ>LÒíïm8ìka½LvßóûßE­ÿжšäTBîY–p=öÕ/уH‚&£A8ž{˜Bqã°por‰`—r‰|GƦ­E@$¥÷~ÐîÿcÏYjðýs5ø Ÿ{Ö䯂ÓG1ñ¢;чþàeÔ}YMŽÒ¢ËjDÍá(n×éç·q‚/Ñ“h@ òin–ˆ“ ƒß\k9Ñwú'\ë“ô;JæRº‘6¥t±t•lµ4i/Ù¥m_ º†÷ÛÌ{+¶YNšÝÁ?ö±Ý1V|á0ƒQGæ*3Ë2ؼsðF§ŸñSh‰°.ÁšªØc±°é_O D‡0X‡+ñ¢LÈ=ÊÍü%7Ÿ‹ûxùÝK—|Ô”}Ø }¾Ê‹#ž{ˆ|p›ñ“"6;ðöº[­->žÇû/e<¬Ùendstream endobj 256 0 obj << /Filter /FlateDecode /Length 223 >> stream xœ]Ánà †ï<opÖd“".Ý¥‡MU» `*%ˆ¦‡½ýl§¦>ćm·?¼J^uwlK8ãªS.±ám¹·€zÆK.Ê‚Ž9¬“5\}UÝþÃׯ0mþ靨`x‘#» …%â­ú€Í— ªÉ7¥ä–ø¯dÍ61§?­ €Gj݆™GRK[`°¬;'îX_ÐRàFá¯ê©ÒK•îWÓ08Á˜qf@Y½Hƒ¼ûù@þ‡ñü»÷Ö°¬’˜$ÂAä‚¿¡Ö¥ò”&ÔHp6endstream endobj 257 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1133 >> stream xœu’kL[eÇÏ¡¥œ©nKˆ¬=Ó¹y·eY¼U¢ã²M‚:ç +PZh©ÐÒÓÒëÓöœ–¶Pe¬ã2ã`¬nš}fÔÍ™è¢&ó‹÷—¸ßSsh2còæy“÷}.ÿÿ“Ž S0dzÊÊËí•Æ–ZM³î©‚Ü eCG³B»ú·“}gsRØmàüËò¤52)œÊþº]ÚŒÆ@Ñ1Ç«Õ&g_llJ®i5jU íäž‚‚½¹¹|,"kä‹yd‰¢®IcÐ5©H…úY’WžGÔøGù˜FMÖ*Íõ¤¦ž<¢¬!«*‹+*É—+U®|<ï$Þ÷¬Ðj5†{ôJE»R«lëP4óA¥ç/uR§jQñej•^©Õ)š1 KÇðúw¶K6g=ƒaã˜;н…Ã=8à^܇û± ~I˜ÛÂ~Á·âgR¶¦˜S~<+Gï‹ï 6}Š¡wx²ù%#`’®\™:Á`ˆATÆ^Ec0"ßÅ%Ÿ`èõ%ü‡%:§NêâjµN§VÇu““ñø¤T̺8£žíг&Žš¿°Ïq6 „í@y÷3õY§]ðÁžHƒ30뛯•Žˆ ô³ðLè•4¸£ñÓÃçâ_ÒŒ—¦!@DlгkOÜ-åJÓ ºÚ4&Skk™“èíõPTÂÙE×÷zØEpo¤Á« š«¿Øò¹í= úû ².œ¶ÜÍ«ÊHÐ^®E²¼/- 1ƒ:MÒ¿ö¥™ sdbÑ A=Û·á·ºæá¸¿ð$Ü&?åc8[}îødi¨ ŠËšŒŽsÇB ~ ¸¡‘àx“-Pã£\m;oáÒUðhŽ7)‡Öhl×;§ì„% áÛ?Ï^÷Ior†Æ&¢Ñññ+4 zÃ2ñrwXì d7àßê—3 ‚eùª,ÆI;½äÌþ›Hèa´£ÈîpØdCùsEßTwÜ"S/EQA**KºEÏWUuå6Æ‹`h/CÂ7ÿœ¡W·Ík8pÛîáð»¬4Ŭ̢h–9è«ÕÒp Øeì(ç]9Åù¬N«ÌÙ–5Bû ‘²sh0D‡èÏ^©òDuKW"“á?D­ŽšN ¼Õƒ'•ìáuünmà7(cEƒ«É+YëEÝÿ yk­zMx_Ý¿ëxg/ ñ¾0Á.M’Jô£ä¤#b¥\]”GêØ!ó ”Aíô ×J/¿; Ä#åÛwë‚¶`Ä?â—1ˆønf®À _¸Zñaç% þølé7¾uÊ“~Ì£g‹ÈiÀ°óÉBIÄê1;)Ê)-ät©ÜeÑÓ¨Í1à ™ ›¢¬Ó#CôG³ß…ì Ct1ÉYL?îanHÂåp,—ƒØT1N0É-çGE‰ôD†4]PŸ¹iÔù}aoÀï;™‰ajL¯endstream endobj 258 0 obj << /Filter /FlateDecode /Length 236 >> stream xœ];r!DsNÁ –]˳T“ȉ»\–.ÀgPˆ¥Ð*ðí=3ú zªÐ ô°ÛîkYíðÓ—x ÕæRS§Ërí‘l S©fœl*q½“ÎxöÍ »/ߎ, |ão¦áw‚Y—Æ›).‰.ÍG꾞ÈlÃmÎh¨¦—-¾K!ߎªÜ[ø@F@•sáq³A•s<ªƒ`Bc$T1#°Ô â*F/È1 Q QÀ1 Q QÀ1 Q Q3ûfõò”_=ž/”ªÍØxíêª}j_RS©ô¬¼-M\–eþ¢üyþendstream endobj 259 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2111 >> stream xœ­Uipç^ÙF,`h±º«„’ÁM€4-GÛi ¡° ¶©±1‡bË÷%Y¶uX’ei-­Þ]Ý·mùÆRml!¤¸!¡$& ühÓ 6¥Ó6ÓoaÕ¡k ÒIÚÉLggvv¾o÷Ûç}Ÿç}––‚‰D¢¥;²²äêòŸ¨åÕÅëVå(Ê«åªÙg¹§DܲêîÕ;ys =ÒÓÆ–Í_ò8r,Fʯ¡âǰ4‘(¿ZkÜ\W¯UU”•«e/¾ðÂK«V ÷õ²×µ²M«eÛäÅUuÍ U2ym‰lÛê¬Õ²ìºfa±B¶²®Vöº¢\^]*«+•å)öÈv羚“+ûqÎÎݯåf®þBp,ªËj9†aéµ?Úž¥+É®¬ªYú8†íÄV`Ïc«±½Ø«Øl;¶ËÆÂ"¶P(KÃÞe¥Ô¦îJKO{wN‹8E|mî-<ŠßCñE÷R¬c˜yˆ#‡DÜ’ÜWR9-—,N«‰¶šíDÃzy‰p½%Ð×çë щi4~˜?¶yC~¡¢–°Î8¼Ê@¥ÖW7™óð6¯Íf\ƒ^"t²ëÝIÀ=ªFm»ÆRI6m(å¿ek¡T`“ªc–pW4òN/áîéû]†3˜pF#§é‹ÇOž˜¾øXOSQžœk Ic%P`ÄsNÔMýé(’…‰E÷RËĹÄEw쟤Þù-÷} Zµâ3>“àÿ*ÖAcAg|ô6‡Ãn$ù'“‰6my¤“°†N}*Fe¨íG äÚ1 Tøï~›O;ûòv~>à|¦¸µxÁÇúX"¸ãþã< 8Z(Fó®oå‘‹î~ý!Š˜$bŠ(aŒ^}‚ ÝȠ‘€Wzý ®Å{Nï9æò1º^ÊcjíV¢X¬´1V(a…5«4À£Òçè Áúfí°X3ìv›­Ýž|ž?™q]ö±þ« íA ½¦vhÈâç@éioù-°9ÍáX?ËÄH$w8âtpwº¢&Ð XÙÄÚY€Ç;àìNóÞ@ßA/#<¥ó+ñ˜¸¬/u´šï6t&XÆOœß»= ¸+ 1R`*Yñ)aºÖJ"FмD\v06'&ßÏx‘;gp°5 åŸzÀ]:þ ø’¤ÇT lÜJK)“CK¹-WŸ®×!j÷?øO¨•µ’eL~†»Q Ð2î9ŒøÓ$rê™ÖH#à züÜš;â ÆÁ?¼ð½°L„|Oü{è·{÷D &@ÕÙµZA;ÁnÖøѓ\"#p„õ_¼/t¿DÑíuX°éWChäCWŒVHüV—¥•¦Ì6BSW_ ´§Ñ]ã“ÍÐfAËzl<üøjÐùÌ¡Á çÌ@÷ ÓgvÐ-f¢z_£E+|dò5w+š»ªßX°¶ÀÔ`]Až Œ@ôSýÖÉV¿ðÔÔXW÷ƒòryE½ò•MU…`¦Ñî °N¯›è^ ´Å4‡«»LÀÿízlT€žòÌÑ>€ÇDS×R¹Á<6¯ÉDS*Š0äiòKW·Å†bΠ3L"’û9Ã:#R·Ío²UÛi5‘kk¤ÍÐJ ½ Te©lo& ùü¶ÎÚ©l×ü<ɯ\~içGïÍœêî"»¶¼O‡à8ôMø:»Ç"gÀ…óŠrIÁ–ü&¡Ú}êÉ·Oú{ï49|îääqÀ/Æ6™lªLJI‹€6Ä]mßý¹®V ºò´ûÌV^!6‚ÑÙ&x—½Õb ;üä9êÁíÐnÓó)Ém<ÅÅ,]44À–~n=¾ úîOÉWÛ\LMþÑ«gèà¬Ú—«ShÖ[¡“½ýWœxÀç ÏJ%1Žñ‡¸ß !É-QËZðÞµwÒ$±–XC²N©‰júG‡ 9Qâ ±>ˆâ3Žìz:‹—g 6È8£^bäƒS§Þ¼'d¨4Ø…‹\•œß’]¸Mh¶Z\43u?Þ¯ 7ÕÖ«*ãªwΡ” ”>"¸gJæÖÑÔ'Ñû¼s]ÿ2Jk#ŒEÊ­E€+©ÞCa&äî#…Z: 7¿ÙµÇ;Þ›H„Â3§¿ aÙ}æÝVØ+˜cgKï¡‘Þ£‰†±‚]ùrrˆ]9ªV½õ6·<ãbðÿ¢;Ðí‚/<“ü¥­¬‚ºtC,á;q'PÎ uI9ÒYi³ÝH lâ¯M<398 ýãgÁ3+‰ÃW†Ú ³¡v—|4ÔÖÉ_j[rʲö–Û»òadëó6[Ïî*‚rP5é*„€Ûó8gÀÓÏXwüât<1÷ >Þݸ¯R·î'køô–í:k ´µˆœ«ÙKš•v+h‰ÈÓŒÿi’q›EÜg_6ØÁ)ï09ø—ØGîÞÀðHš=¦rJµ¿•hZWÍ/6ÓT½B­‘ꌵšRÀ‹ªÎúF<ýä$úž;拃[Ú£è*,•Á“É·múûªº)A=Ì`˜pú†Ñ‚îÆ„þ܄ӗœ®/0a:þ<:«Ë‹ tqH4}M ÃÑÀ™$hñÞ×ñ™ü~”ox.ÎÏ»žEkQ?Ò+ø%^)>ößD)ç? 2M®vƒ©l«ñûÖó©Y€ï¦n¿ûup’\ÔÔÃmƒ¨¾G<4ÿÊb~Z^]ú¼A–eØÓíö„Ùôt û'õ2úÀendstream endobj 260 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 973 >> stream xœuRmL[U¾·÷v¥¢c#À¼ôÞeDY‚c8Ôljq›aÀøÌ6¢$ 4”¶´e|N©å£½ooË üN#†lJ\lŒˆd„èeƘéög‘¸¸‘œCÏ-x‡ÃNÎyž'ïóœ'/MiTMÓ»ŠKJÌžæÃ‹ÝmuØŸÌÍ®°4µÛÌ®ûìcøQs*œ®nµÓ¶Dµ`PƒAóAl* }·->Œ>{„ÚFÓ'œÞðùÉæ¯:œ].kS³GØ—››—­œO u]‚)G(2×·8:Ü-VÁloŠrJr„RG‡Z…L‡]¨³4›m‚£Q¨²œª+WT G+ŽW—UîÍùß”ÿ!œf—žÀdmjr··¶š= á±tzœ.GC{½ç׫Ûi3wý­zðÞœa³4nŽ (ŠÙ]V~ê¤@Ñ" t–è¦X¥?JCE¨ ºœþPU Z@ï'n¨S.RÜêài.áã×®¨ñ.Vœ Xÿ2N"ûÑò‹(+ ¥gÞ{}D vƒîŒ¼CáAÉÏÿFt?’ „G)dá ‰lùP¬'™äf9ÙñÑï#”ð_çsãH’àËÅH…LHü ÍL£Ëï üTè€.qCÇ©õÞÏcéQ:Ö÷%»×ó/•>eï<â&ƒN>È ;ø…Ȩ‚p„ÅàÀ(¹+R±À Pwÿ9®›`òÑ«ÚøãEiY$H>æóŠJë…7kKŒòõK.Å,ËŠÒ(o®¨c ë½ÉQ6f/ðk!öÌÞ5FãßÖ³w¡¦•‡ØV¨É0Ö£/¶4·paüÖ”UâÇ).æŸã´†99Q6žDÙjN3¯€És,I³}ò»Ê^{o¥ç8â®fQÚÅWŽñëWÙ¢–Z’j¬Æí[BNóžäHÝ£h'ÚîÜæ4|J+ë½~M©¨aÏm==¸·T)ÝaðYükdDéh8 †ûÇ䯵í©xšA»à—3£9ßíîNMô|];õŒÒyMi#Æ¢èýÐ }øÝxsª<.ßó¾õ¦Dbþµ3¨oE½àV{’!Ò@ä ¤{í,C> stream xœ]1 E{NÁ µÉÐÄ&…Ž£^€À’¡B o/l ‹¿3ö³ûaýp¼Ë”ÝSÐOÈÔ:oÌaIè“ó¤Ô87ªß*Ö_U|}"ÐÒvå›z{ˆó šÕ¤ƒ9* Iù Hǹ쬕¼ù»:®†Ñn‡F¢8/µ ¨‚¢b+QÛŠJ¢ ªŠF¢ œµ¿ZÇÖû¾T/)ϘSÔå‡ßGÄ«‹‘/ÕŠ`rendstream endobj 262 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 653 >> stream xœemHSaÇŸÇ»Ý;u®¶1¥¬{o4°B‡Y ‰©(%ˆ–m¾d’i›Û4ïÚ¦K²fXpõ1‘‰…óƒo1£®¥aXaB}Ñ^ êC…}žg\Ãî ¿Ô9pàüp8?T B¨¯¨´ çímyYVGs{«ÝÍ$’] d7…P,ËU#-…´ª1΀Ïê±m®Ø(ëš…RÁÛés7»|Nvö¡¬,eá;ù _noj‚þ7oo;Ç—[*-ü !¨„n~ŸÐÆ7:\öV'/8ùjÇi¾ÆvÌjãˬ'kªlû-ÿ>µµÔsçÀŒÀÒ hE¨À)ð€N8‡%Ýf‚± ‰Ü“^!}¤ˆ-Ur1™â­YŽ,2ÑÞ~/ÛØTëÏDEÏÑ˨fc˜qŠ¡LÖå¡ç¾ ÇJEó¢æï±Oø×úOÉðl½r­a§®¥£ä.3µÒb°§>tñzOº„4òq§cÝhä‘4:²ãÕÒò ôMƒ“3>ÈzÖX%k ²sÎ<¼62~72Ç=‹õ(ÄÞY}sû)ÒüxR»·¤HN’S8Ù §ªáP7êõí$½%„Ó$âSŒVÞQDÄy&i©eÆÐPÇ•¾¾ËWYye£IíÁ÷ó“îB6ࡱy›Eµ` Å›³Üg¦X2Éa‡‰Z­Û„f€0…˜‚ß1Eá’lšñNîv¯à޶OÏLD§YyUõ_¦Û¤ò§,àü¸«£baLL“~ÔÅþN¤»ü(C.¦§#ch’“]ªÉ`œé鮠¦â,‘ŽL)L×1NJ#X§¥¤÷Él’ªZÐ&N÷Çkp°ÿÆÐ’V À‘åAendstream endobj 263 0 obj << /Filter /FlateDecode /Length 169 >> stream xœ]1à {^ÁÀç&…Eã4.EI>€Ã¢0 Œ‹ü>ÇQ”bÑ-ì¢9ÑçÁ»ÌÅ-|PæÖy“h kBâ#Mγ¸q˜?®ž8ëÈDÑñùŠÄ·ÙÝ_õLâ'Y¯š½„ÁÐ5RÒ~"ÖI©:k#oþž`/Œö'YЀb]»E [¨õ#X~*LÇ5%ò¹‚W°Âã<}w‹!–ßÄÞs¡V%endstream endobj 264 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 337 >> stream xœcd`ab`dd÷ñõM,É®ÌMÊÏ)¶Ð JM/ÍI,I©üfü!ÃôC–¹»ûgÉìÝ<ÌÝ<,ë¾_úž+ø=ƒÿ{Š #cxnuƒs~AeQfzF‰‚‘±®.´THªTpÒSðJLÎÎ//ÎÎTHÌKQðÒóÕSðË/ f*häç)$¥f$æ¤)ä§)„¤F(„»+¸ù‡kêawªhAQfn*ƒÃ2Æ.fFFÄïkøþ3[¥1|/ßÉø³ä{Ÿè¢ÒîZ¹?—ÙjK»KJvÏ”ÿq™mæÂîEò|ÿ ¾/ûÑ+º2qnrcV}‡Üoá?n]í5ÝÝ’u«š&MìïŸ6Aî»÷«Þ ¦uO“äkœºyÂO¡å›²íäÚÉ-ÇÅ®Ïù¼¯wÂ䞉ý=z¦ñð00k߃}endstream endobj 265 0 obj << /Filter /FlateDecode /Length 162 >> stream xœ]O1à Üy…‰©C”%]2´ªÚ~€1!C_ ¤C‡;ɾ;ùÌÇé:Y?‚ÃEÐÆª@›ÛÌ´Ëš”ÁX§Â¸JÏøx“þýñÉ@ú˜ïr%þl/]Y5G¢ÍK¤ íB¬bèµYõ'ÕÀ¬«³KÎ !gÿ©äh.qÞÜC KÓÒ$0–~Ïxçs Ø.öS,endstream endobj 266 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 295 >> stream xœcd`ab`ddôñ NÌ+64Ð JM/ÍI, ªüfü!ÃôC–¹»ûÇ­Ÿ^¬Ý<ÌÝ<,ë¿/ú$øÝŸÿ»3#cxz¾s~AeQfzF‰‚‘±®.´THªTpÒSðJLÎÎ//ÎÎTHÌKQðÒóÕSðË/ f*häç)$¥f$æ¤)ä§)„¤F(„»+¸ù‡kê¡; Æg``` ``0d`bddñú¾†ï?SÝc†eß·ý¾ý0ãë‡ß/ßaþqëGƒè7W¿åä~÷þõzò}ëwk¶ï_Ÿ}g‘·³ññüÍ.÷[ñûöïŠlß™Îû™Éó•.ü0ç{øÂÙ ÙNpÝä–ãb ÉçáÜ<«zû€h*,aqWendstream endobj 267 0 obj << /Filter /FlateDecode /Length 176 >> stream xœ]1Â0 E÷œ"7HZ$R•¥, \ uœ*C“(MnOâ¶ ßÒ³ý­oÑ_/Wï2à…™[çMÂ9, 8:Ïš–y#ª0éÈDÓñý‰ÈËÚ•ïzBñlOgj5« ‚Á9jÀ¤ýˆ¬“RuÖ*†Þü«a°ÛæqP$)K-h© ©ˆŠTéÚkÄ=‡%%ô™þ œ5žóø{5†X]¼ˆ}¨[endstream endobj 268 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 736 >> stream xœ¥Ñ[HSÀñsÜŒ“-»@¥TgçA¢vA($A‘Ð9·9ÅmÎM¶<:/s;37ÝÍ}[Î9uîâ&£‹Î fdZ¾D”EÐKÝ{;›¶¤@¡§zù¾ïåÿñCf‚¢èÑBOÔ&Ïo)%™é¥RY»R¤úuI‹G£'¢'`ØðǸ‰Àb‹9ûv˜–¢ëÐÕŠV*5¹d³FÕ(“·ç22Χ§ÇçEB¬!r8DH¢ Õ­ŠFBÔTOpx¢ˆTÇ—Äi²‰Kå"eA6åR!QQ–WZF\)-®à—áüµl×AF“â‚#…HÑöGYDm :z*y‹N"†HôXÞZgÄ„tÚ°jºlæNN Ä%BÀ:{½¡ Ëï±½wéDXÅÞò¦³«¸T7¿Ì“‚ZÚ4 •¸[Lﶸ}v—ωß„#ÀfAl  #Én?«Î6’ÝU`Jm÷ëÿˆw÷=ï_sOÏ,ÏÍ¥Ç&ö „ü:BSË6ih1á}ÙÊ÷%:eOÞJp¿‹7Ó‘£ñjûFôÓŸê>“ÖŒddv¼Z Ã>°;ƒlp†F^]_v±ÃÞo~féÞÃ…ðÀˆÕmu$t`Š›ÆÑñYßÒ‚"rµ_-©Á+k•- ]_£Dнß1Nð©mݶMfOŠÖvÝ­˜Î¾;.«ÅƒC7ôY¨MâÇjŠ…#¦ öx‡ýcÜå™§/¹"kæçðÁ f«Þªôbù«ÒÇŸgèSƒñ˜yË¿b×þ] š’:A `]]AW ®0|û½žl+”ç«3 pÓ þdT—âfíié`Ý)ò:<™vÈ©i5HzìúÍ sGŒÿaØŠæ ÓÍ¡=‘¤¹}x³œdípØö^ÿ}°ŸÅBŸ7€‘/endstream endobj 269 0 obj << /Filter /FlateDecode /Length 169 >> stream xœ]1à EwNÁ i‡KºdhUµ½1&bˆA„ ½}$:|KÿžE?\r‰‹GôðÂÄ­#qñkä#NŽXÓrã í®N˜u`¢¿éðþä9€vów=£x¶—s}j¶xƒKЀQÓ„¬“RuÖ*†dþVíVíž<5ªJÊ<³5ª*[SëG°üT˜kŒH©‚W°Âã·J‹g±/¨´VÆendstream endobj 270 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 381 >> stream xœcd`ab`ddôñ ÊÏMÌ3Ó JM/ÍI, ªüfü!ÃôC–¹»ûç럺¬Ý<ÌÝ<,ë¿ú*ø=€ÿ»3#cxz¾s~AeQfzF‰‚‘±®.´THªTpÒSðJLÎÎ//ÎÎTHÌKQðÒóÕSðË/ f*häç)$¥f$æ¤)ä§)„¤F(„»+¸ù‡kê¡; Æg```2´e`bÙÏ8çû¾ÿLÉR Ý›~ÌßtºœñûÒ‡Ì?zÅ6%°«tÏX#ÿcûÊöî\9OoÕîônŽö¥Ýg»/çøÓËžÕ]§"—Âv¨ÿf÷a ¼Ù}¨ƒï?ór]†ïŒû¿»íg¼õsóÏ×?E—t×Èýõ`«)è.,\Ô=SþgÛÌEÝKåW±,-鮕ûÄV[”[Ö=Kþ§Û¬e@9¾²?œg}ÏŸ:yÛ&®{Ür\,!ù<œ«{z{úzz'õôN>ÎÃÃÀn”¢endstream endobj 271 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 317 >> stream xœcd`ab`ddôñõÍÏË74Ð JM/ÍI, ªüfü!ÃôC–¹»ûûñŸL¬Ý<ÌÝ<,ë¿oúž$ø=žÿ{Œ #cxz~s~AeQfzF‰‚‘±®.´THªTpÒSðJLÎÎ//ÎÎTHÌKQðÒóÕSðË/ f*häç)$¥f$æ¤)ä§)„¤F(„»+¸ù‡kê¡» Æ/,Í/I-ÎÌKÏIÕ+)6d```Tg`ìb`bdd ø¾†ïÇÂï˾ï*úžûØþ¬¸pÂ÷ã?nŠv.¬œWÒÍÑÆVÒUUÕYÂ!<¡ÛgŠWŸwOq{Ú¦nŽå½ëÈOeVè=ÐwhžÉ=S»'sð5Lûá<í»í´þil'¸.pËq±„äópnœ=±&ÌïŸÈÃÃÀ¹}vÂendstream endobj 272 0 obj << /Filter /FlateDecode /Length 3356 >> stream xœíZYÇÎ3ÿB‚``ÐPÛ}†a Æbiƒ}ép…Dsv5K[D#­bNÈÆÇ‚2ÍÙföºýÛÜKBhwÝj¾àŒ/¼õíå?+'8¾º˜KØ#ƒk¿Ÿ/”‚J´ßVºž ›ÿuö ¤HϤ÷ ÔÙå¬uó³f/Îfß¡:ÒYhŒ±–IÛ(#}#œÕÍnÕü³¹¹WkaUc™·•ÎÒ3ålã¤aФóËív¿½Þ-7Íöª¹ÝöûÕ®ÛîšÛÝ\8]…vûfù¦[wûnÕ7_4bµàzŽšD1AÐ\÷3Ŭ3Íœõ üûdûj&,¶uÜi&C³W—Œ»f={5ŒÎ¥*+„J å™õ„jX¡T*|K¨Ê ¥²F°@åV(UàÀŸÊ5¬PéµsŒ«Æxg™Ð(½ÖI=¬P*«ŒbÚª²RQFJ•W**RxI©òJEågŽ¥¤9;F5š:B¦¥¥ ó&¦KË1V’9©Á(Ú1§xˆQ,,¾‚}9 ñŠkJæ5ˆ=‚ášöy ˜xLX³zH-ƃ^ŠÆqà+ªø!Te…P•h©†J•£…P•J•£…P•J•£…P•Bõ˜ÀDšƒP@£bö´y0~°ð ãƒg\ÃŽP,}ãÇ= É<¦ó[ØI|aàH!¹`J :š÷€XŒK’€ƒ.YlÌ Ž¡ ÿƒŒ±»†}`>R =$™”xäìËÙL8éH”rÌœg’!$j*‰g&*É•aÁR8ΛB%<è}äDÐHi_¨”V ÒÌ ¨$ŠEÁ1¼&rAð| >‚áyA­a®èø¨:rÔ‡º\ø‰Ç9œ+BÇ™ljèm ^œ׿zTçÞŠà䫊hc±˜”2Ýnnç r+8Û²FÐðÿHcÝ#ü«™’à0à8Ö“a…ÔX K©Ê ¥rÂ3C«á°B©‚þ”(/-•À6a$V(•öÀ²VÕCÞ™à™Žaè¼y,ž¹Ì2i*0+ÖñwX!ø[¬K¨Ê ¥ÊÖ%Te…R%ó¢¼@hŠuG¢a…Re몲B©¬DÐg5T[fU…³…jì= í=ª¡÷¨Hï1P ½Ç@EzªôÑØ{`®)u"ü¢hi’ÛÕ tòþ¡£ a«‘yà„3Jq‡‚ÔTz‚Àcè܇æÊõ@e€¶< v=@¤b>*z=váAn£äw»ëwtÚ…±6vsÖµò³ùÂc3L{F¦Úv ioqV*Ù®ç€Æ<À§í>½Á·›<&PÆ·{Êe;_ÀÈ [ÌÛiƒ–í¥ØÍÓ-´¬t#ròýÉÕzõaÓ}ø爩ڀVÈLúFÛxhPÞ¶?ÔÃüEz0 ¸Ý÷ž/¬€Ä÷¡ýþÔ–Ñl8>ªý²»™Ü&· °{:Ѿ™K,h¶?žPBKèrkp»ÞîÏÛ8ŸÓYCÀ _TŽâK´sÛ׿GCÀ´w}»HiðÕù2ŸÒî·ù³7mÿö]uN¶—p&Â% @$WA" 1hÀÖ¨³‚ŒéËI®Ý-³¦‰>Im¡*KxW™7Ër“÷šh؈®ÔS@¡42Y¨ì¯›˜—*¨,ôA¸t ŒM_=®ßÇ$ódÕ:bJ n`|2î>Hˆ5d1­lïJVšc6ÎlŽ«“=ˆÛÍvGØ¿ïúŽÆÔz$\ŠŠI>¦{¥Ìò?ý˜êë:ü†7õ– MûÊË}÷%¬Â‚^ݦìÐÃ§Š³ÿÑS/×ëáx +µÆññ®vØ2]ïj%â°¢¨j§`ùšÈÜEG„x Ë{b‰¬·eð$&Š£t]UJ”¥¢²{?‡6-x ^ÙwùlQ%f¾Ž³eL6Êû(1@£N…ì|@vŸ &Ù¼Þö‘É`×ioí¶˜ XÎù|{¸ë}Gãíº¨e³ËBtÙr^’ÛoÓLE`Út_;o’óˆD6¡/’‡Ü•¤÷±hLµC$ˆëÎL¸x›³¿à­5Þê¨*HOº‚@XwnÒiAëÃr¥P ³£sñÆ—ÐÒ ÑÞÑM“ï8ð í'1WµEÓž‘ø-Ÿ/Nˆåk5¯b×`œ=¶» 0ö‘Âr…¶I*Z=ªŽâ о=†Õ èÁš§8~sÊ Ð@,¬“aÏæ‡!'±sÕ‚G¬]&€˜HP£»9¶ùŽ'LŒìÁ‡• Ø0Ä^ßÓØÔ¹,Ñ© CÄ*‚‹èŒŠ¶½KW.Z6 še%Ý}xõõtÍÜhУU`šNxvWñ$øHò©Š« uóº.æU¹©‚=ß]g–ŽchU) VrÎ9ˆM+u RœÚåõ2†AdÒpï ´E‚çv"ƒ‰06ëÂ3i`¶†`Ôˆ-ûïR§Ž÷leŠBä¦^íå™S’«fAx½nÏç—ÃÑÉ₞,¾™jolK#¹}Jô¤aAã|’ŒZQ©:g.k\¡rìB¥ Qwqûò"Fa9F¼ývâ;'&-ÏPŠ¡"V[ÔÍ0s•óBlçã,3#3Î¥Y(â Ú=G ˜¡BÌH%MôFÝA Q­G4E¼¥0ÐÎ_æíº.4»-µ´Ño•6p§#À!‚j)¾àØfËÜG™¦ áֺϱUÄ눙TØ¢€P(§m‘;Þ`‡j¼>“Y·èpü ˆ(ö´½?ËofÞ—$Ïòü Ô×Ëììäk4 øz“†Ìxpîý¤Æ»û+ ‚˦£Cäå¸cÿ†hyUzE{è?Emëöœ”‰}îqå»›q ¬ÇUèüPà¿\—¾Q|D:ƆTç»ïBÝ’ƒ×ËÛ¬ ã]·/]± CÉ=vM’ûC8âÆdḛ́0‰m†n¿.- žŒ;»±Sí»jœ½4 Ë˺áåAsy8Ú«èÓ Nf“ FÜJ•Þ”iÊ!\¹I^cb_½¡Z/w˺ÌÓÃÊè #EÍ¡HêŽÝ)VFŒ×¢é=/éŸvƒ©´eÒÙF9ÍŒ¿LÃOî»Ë=ÁΨ±”K¿sp×Ãøˆz@u¤ôûá¶JÎ ùë8X™ï—4H'hB­©®ÞêüzÒ÷]l¤‘ÖN/`Rd†éèýÇŠª;R4¢$ ÔXÊyÐ!U`ºOº"å ¢ñ†TW¿«‚¨2óå:Fén#ʃo?_««®\£ä6åпÛl–»Ï‘U¦=¸ …~AÙ8v´Â?›ALi£Â¤‹xÑï»M̰rÀ«ý%ËOÁ´/v;ŒƒžKœžãGÀà÷Ëõ»Õøæï»óö‹Ÿú9Ë´¨ŽË¸çûÕîbu»²a+ØXro$Ÿ/„5ÞÝKîŠL:QXߣ\øÍ«²j°”²Øê IŠcíi5óà—z›áà~<ˆëØ8¦µÓ…|"WeE6Û>þ|^ í×çí‡K”`€ß+k4§'cgÌxf®&'p¦¡xG¦íb±Ï ïWÝÍ{±½\õŸ!•)ͽ0¢BQJÛþ,µí“p0ÌIL¦AÕ„“c¿±¼‡‘ɧ‰˳8Ê `AYý4¡ŽËTxPFŒB— €ÂB~ŠLGù êiv2§ErO1;)ÒHó8+0’ÄåÛšg%|<4„¾,a BðZ…ÌdŠ•Ñz¶Ì2˜¶¿ •,™¢PuZÁ¼0$`¾J@KÁ9 ’Êù’ȾøK3BÃ磒QØ€ ‘óÚ«r Q†ž`™Õîé'`†·ñkPÀÓá(g’l]@ªW 9g(H´&°û~ý†_ÿø•%ñ_ô=$endstream endobj 273 0 obj << /Type /XRef /Length 250 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 274 /ID [<82e29ad733bf3c3808c9c3f97d9bef3b><9280d1ab5aeef6a46f78eb8d91fd9acd>] >> stream xœcb&F~0ù‰ $À8JRò?ƒ Øn ›-_/ŒÆ×à&ÿ3(jíÆÔ}ÙјÜä];PÎÚ Š)±TÉÙ "…Z@¤ˆ(ˆTü "?ƒH™8Éf3 Å­Á"A`½ÓÀì×`Ùù`m0{%d”J³Ã@¤øeégPÏøD2«€í½"¹bA$8ˆæ“î`•¯Àä.É—2y3X¶¬w"ˆä­‘¬‘Ü“fÏ»y ˜­VsÌ6‘³@¦±ªƒEÀf2?§apÁ´É´F0û'X˜ QsÌžv[<Ž/R endstream endobj startxref 205064 %%EOF flexmix/inst/NEWS.Rd0000644000176200001440000004760514757625043013777 0ustar liggesusers\name{NEWS} \title{News for Package 'flexmix'} \section{Changes in flexmix version 2.3-20}{ \itemize{ \item Function \code{flxglht} added which allows to perform simultaneous inference in finite mixtures of regression models to assess zero coefficients or constant effects. } } \section{Changes in flexmix version 2.3-19}{ \itemize{ \item Internal function names were changed to avoid having them look like S3 methods. \item Updated CITATION to use \code{bibentry()}. } } \section{Changes in flexmix version 2.3-18}{ \itemize{ \item The man page improved for the different general model classes such as `\code{FLXM}', `\code{FLXMC}', `\code{FLXMR}' and `\code{FLXMCsparse}'. Thanks to Jonas Hagenberg for pointing out that the class structure is not well documented. \item An issue fixed for `\code{FLXMRlmmc}' models. } } \section{Changes in flexmix version 2.3-17}{ \itemize{ \item A model class for sparse model-based clustering added with a suitable method to resolve the formula and extract the data. \item There was a bug with dimensions being dropped if only a single individual was used for grouping. Thanks to Adam Hulman for pointing this issue out. \item The \code{FLXgetModelmatrix} method for `\code{FLXMRlmm}' objects has been improved. Thanks to Adam Hulman for pointing out that this might be unnecessarily slow. } } \section{Changes in flexmix version 2.3-16}{ \itemize{ \item The vignette explaining model diagnostics using resampling methods was modified to use more replications. Thanks to Eric Book for pointing this issue out. } } \section{Changes in flexmix version 2.3-15}{ \itemize{ \item Modified the internal function \code{groupPosteriors} to be more efficient for a large number of groups. Thanks to Marnix Koops for pointing the problem out. \item Model driver \code{FLXMRlmer()} adapted for \pkg{lme4} (>= 1.1). Thanks to Mark Senior for pointing the problem out. \item Model driver \code{FLXMRmgcv()} adapted for \pkg{mgcv} (>= 1.8-27). \item Data set \code{Catsup} is now loaded from package \pkg{Ecdat} instead of \pkg{mlogit}. } } \section{Changes in flexmix version 2.3-14}{ \itemize{ \item A bug fixed for \code{FLXMRcondlogit()} to ensure that the formula for the strata is also stored and can be used for predicting, etc. new data. Thanks to Peter Fraser-Mackenziefor for pointing the problem out. \item A bug fixed for \code{FLXMRglmfix()} which occurred if several components were simultaneously omitted. Thanks to Moritz Berger for pointing the problem out. \item For mixtures of mixed effects models and with censored data only weighted ML estimation is implemented. This is now checked and an error is given if a different estimation method is requested. \item A generic function \code{sigma()} is available for R >= 3.3.0 and thus different versions of \code{sigma()} need to be called depending on the R version. Thanks also to Stephen Martin for pointing the issue out. \item Components are now generated using functions instead of expressions. \item Functions from the base packages \pkg{stats}, \pkg{graphics} and \pkg{grDevices} are now correctly imported before being used. \item Function \code{FLXMCdist1} implements model drivers for univariate mixtures of different distributions. } } \section{Changes in flexmix version 2.3-13}{ \itemize{ \item A model driver for mixtures of regression models with (adaptive) lasso and elastic net penalizations for the coefficients building on \pkg{glmnet} was provided by Frederic Mortier and Nicolas Picard. \item A bug in a coerce method to class \code{"FLXnested"} fixed. } } \section{Changes in flexmix version 2.3-12}{ \itemize{ \item Construction of model matrices changed to re-use levels of factors while fitting for prediction. Thanks to Robert Poos for pointing the problem out. \item Package mgcv of version at least 1.8-0 is required in order to avoid loading of the package for formula evaluation. } } \section{Changes in flexmix version 2.3-11}{ \itemize{ \item Examples changed to be less time consuming. \item Bug fixed in ungroupPriors() and getPriors() to work with a grouping where only one unique value is contained. Thanks to Christine Koehler for pointing the problem out. \item The \code{logLik()} method for \code{"flexmix"} objects now also has a \code{newdata} argument. \item In the M-step only the parameters of the previously fitted components are passed over to avoid nesting of environments. Thanks to Dominik Ernst for pointing the problem out. \item Function \code{boot()} was fixed to work correctly with grouped data if the groups are kept and if fixed effects are fitted. \item Authors@R used in DESCRIPTION. Deepayan Sarkar listed as contributor due to internal code copied from package lattice used for the plots in flexmix. \item Model driver \code{FLXMRlmer()} adapted for \pkg{lme4} (>= 1.0). } } \section{Changes in flexmix version 2.3-10}{ \itemize{ \item Parallel processing disabled in \code{stepFlexmix()}. } } \section{Changes in flexmix version 2.3-9}{ \itemize{ \item Package dependencies, imports and suggests modified suitably for R >= 2.15.0. \item NEWS file adapted to a NEWS.Rd file. \item Parallel processing is enabled in \code{stepFlexmix()}. See \pkg{flexclust} for details. \item New model drivers \code{FLXMRmultinom()} and \code{FLXMRcondlogit()} are included which allow to fit finite mixtures of multinomial logit and conditional logit models. Identifiability problems might arise for this model class. Details on sufficient identifiability conditions are given in Gruen and Leisch (2008). \item A bug in \code{FLXMRlmm()} was fixed which did not allow to specify restrictions on the variances of the random effects and / or the residuals. Thanks to Gregory Matthews for pointing the problem out. } } \section{Changes in flexmix version 2.3-8}{ \itemize{ \item The fit function in the M-step by default now is called with an argument containing the fitted component. This allows to use the parameter estimates from the previous step for initialization. Fit functions which do not require this now need a \code{...} argument. Thanks to Hannah Frick and Achim Zeileis for requesting this feature. \item Function \code{initFlexmix()} was added which is an alternative to \code{stepFlexmix()} where first several short runs of EM, SEM or CEM are performed followed by a long run of EM. } } \section{Changes in flexmix version 2.3-7}{ \itemize{ \item A bug fixed in \code{predict()} and \code{fitted()} if a concomitant variable model is specified and \code{aggregate = TRUE}. Thanks to Julia Schiffner for pointing this out. \item A bug fixed in \code{FLXMRmgcv()} if observations were removed in the M-step because their a-posterior probabilities were smaller than eps. Thanks to Ghislain Geniaux for pointing the problem out. } } \section{Changes in flexmix version 2.3-6}{ \itemize{ \item Vignettes moved from /inst/doc to /vignettes. \item \code{stepFlexmix()} can now be called with a concomitant variable model \code{FLXPmultinom()} for \code{k} starting with 1 without getting an error. The concomitant variable model is internally replaced by \code{FLXPconstant()}. \item The \code{boot()} method for \code{"flexmix"} objects is extended to mixture models with concomitant variables and mixtures of linear mixed models. \item A bug fixed in the \code{summary()} method for \code{"flexmix"} objects. The column post > 0 did not give the correct results if weights were used for fitting the mixture. \item A bug fixed in the \code{unique()} method for \code{"stepFlexmix"} objects. This only occurred if components were dropped as well as if the EM algorithm did not converge for all repetitions. Thanks to Sebastian Meyer for pointing this out. } } \section{Changes in flexmix version 2.3-5}{ \itemize{ \item A bug fixed in \code{posterior()}. Fixed priors were always used, also if a concomitant variable model was present. \item A method added for \code{prior()} such that if newdata is supplied and the object is of class \code{"flexmix"} the prior class probabilities for each observation are returned. } } \section{Changes in flexmix version 2.3-4}{ \itemize{ \item A generic method for \code{nobs()} is introduced in \pkg{stats4} for \R 2.13.0. \pkg{flexmix} now does not define this generic function and \code{logLik()}, \code{AIC()} and \code{BIC()} methods were modified to better exploit already available methods. Thanks to Prof. Brian D. Ripley for suggesting the modification. } } \section{Changes in flexmix version 2.3-3}{ \itemize{ \item A bug for \code{boot()} fixed for \code{"flexmix"} objects with an unbalanced grouping variable. Thanks to Laszlo Sandor for pointing this out. } } \section{Changes in flexmix version 2.3-2}{ \itemize{ \item A bug for \code{rflexmix()} fixed for \code{"flexmix"} objects with a concomitant variable model. Thanks to Greg Petroski for pointing this out. } } \section{Changes in flexmix version 2.3-1}{ \itemize{ \item Functionality for bootstrapping finite mixture models added. } } \section{Changes in flexmix version 2.2-11}{ \itemize{ \item More generics and methods exported to use the \code{refit()} method when extending \pkg{flexmix} in other packages. } } \section{Changes in flexmix version 2.2-10}{ \itemize{ \item For long formulas \code{FLXMRglmfix()} did not work properly due to the splitting of the formula into several parts by \code{deparse()}. This is fixed by pasting them together again. Thanks to Dustin Tingley for the bug report. } } \section{Changes in flexmix version 2.2-9}{ \itemize{ \item A new model driver \code{FLXMRmgcv()} is added which allows to fit regularized linear models in the components. \item More generics and methods exported to allow extending \pkg{flexmix} in other packages. } } \section{Changes in flexmix version 2.2-8}{ \itemize{ \item The a-posteriori probabilities are now also determined as changed for \code{FLXfit()} for version 2.2-6 for \code{refit()}. \item Bug fixed for FLXfillconcomitant and refit when weights and grouping are present. A check was added that weights are identical within groups. \item Function \code{group()} is now exported. } } \section{Changes in flexmix version 2.2-7}{ \itemize{ \item Bug in the \code{FLXgetModelmatrix()} method for the \code{"FLXMRlmm"} class fixed when determining identical random effects covariates for the grouping. \item A new model driver for finite mixtures of linear mixed effects models with left-censored observations is added. } } \section{Changes in flexmix version 2.2-6}{ \itemize{ \item Determination of the a-posteriori probabilities made numerically more stable for small likelihoods. Thanks to Nicolas Picard for the code patch. \item \code{summary()} for \code{"FLXMRmstep"} objects now returns similar output for \code{which = "concomitant"} as for \pkg{flexmix} version 2.0-1. \item New demo driver \code{FLXMCnorm1()} for univariate Gaussian clustering. \item Non-postive values for the maximum number of iterations for the \code{"FLXcontrol"} object are not valid. A validity check for this is now included. } } \section{Changes in flexmix version 2.2-5}{ \itemize{ \item Model class \code{"FLXMRfix"} introduced which is a subclass of \code{"FLXMR"} and a superclass for \code{"FLXMRglmfix"} which also extends \code{"FLXMRglm"}. \item Model driver \code{FLXMCfactanal()} added which allows to fit finite mixtures of Gaussian distributions where the variance-covariance matrix is estimated using factor analyzers. \item Comparison of formulas now done using \code{identical()}. } } \section{Changes in flexmix version 2.2-4}{ \itemize{ \item Model drivers \code{FLXMRlmer()} and \code{FLXMRlmm()} added for fitting finite mixtures of linear mixed effects models. \item \code{EIC()} added as additional information criterion for assessing model fit. \item Bug fixed in \code{plot()} method for \code{"flexmix"} objects introduced in version 2.2-3. } } \section{Changes in flexmix version 2.2-3}{ \itemize{ \item New model driver \code{FLXMCmvcombi()} which is a combination of Gaussian and binary. \item \code{parameters()} now also has a which argument in order to allow to access the parameters of the concomitant variable model. \item Bug fixed in \code{refit()}. \item \code{nobs()} now returns the number of rows in the data.frame and not the number of individuals (similar as for example by lme). } } \section{Changes in flexmix version 2.2-0}{ \itemize{ \item vignette describing Version 2 added \item isTRUE(\code{all.equal()}) replaced with \code{identical()}. \item Bug fixed for prior in \code{flexmix()}. \item New function \code{relabel()} to sort components (generic is in modeltools). \item New example data generator \code{ExLinear()}. \item Fixed a bug in handling groups (gave an error for empty design matrices). \item Added new model \code{FLXMRrobglm()} for robust estimation of GLMs. } } \section{Changes in flexmix version 2.1-0}{ \itemize{ \item Renamed \code{cluster()} to \code{clusters()} to avoid conflict with \code{cluster()} from package survival \item Bug fixed in internal functions using S4 generics and methods. } } \section{Changes in flexmix version 2.0-2}{ \itemize{ \item \code{refit()} now has a method argument. For method \code{"optim"} the variance-covariance matrix is determined using \code{optim()} to maximize the likelihood initialized in the solution found by the EM algorithm. Method \code{"mstep"} refits the component specific and concomitant models treating the posterior probabilities as given, i.e. performs an M-step of the EM algorithm. } } \section{Changes in flexmix version 2.0-1}{ \itemize{ \item \code{Lapply()} added which allows to apply a function to each component of a finite mixture \item \code{KLdiv()} modified to allow for determination with a discrete and a continuous version of the KL divergence } } \section{Changes in flexmix version 2.0-0}{ \itemize{ \item Model driver for zero-inflated component specific models. \item Latent class analysis for binary multivariate data is now possible to estimate for truncated data where the number of observations with pattern only zeros is missing. \item new argument newdata for \code{cluster()} \item new \code{unique()} method for \code{"stepFlexmix"} objects } } \section{Changes in flexmix version 1.9-0}{ \itemize{ \item New class definitions for component specific models and concomitant variable models. \item \code{fitted()} and \code{predict()} now have an aggregate argument in order to be able to determine the aggregated values over all components. \item The package has now a vignette presenting several applications of finite mixtures of regression models with varying and fixed effects on artificial and real data which can be a accessed using the command vignette("regression-examples"). \item The vignette "flexmix-intro" was adapted to reflect the changes made in the package. \item \code{stepFlexmix()} now returns an object of class \code{"stepFlexmix"} which has a \code{print()} and \code{plot()} method. In addition \code{getModel()} can be used to select an appropriate model. \item \code{flexmix()} now has a weights argument for multiple identical observations. \item New model drivers for latent class analysis with Bernoulli and Poisson distributed multivariate observations. \item Variants of the EM algorithm have been modified to correspond to CEM and SEM. These names can now also be used for specifying the classify slot of the \code{"FLXcontrol"} object. } } \section{Changes in flexmix version 1.8-1}{ \itemize{ \item The package can now fit concomitant variable models. \item New M-step driver for regression models with varying and fixed effects. \item ICL information criterion added. } } \section{Changes in flexmix version 1.1-2}{ \itemize{ \item Fixed a bug that made the log-likelihood infinity for observations where all posteriors are numerically zero. \item Fixed a bug for formulae with dots. \item \code{posterior()} now has a newdata argument. \item New demo driver for model-based clustering of binary data. \item Adapted to changes in \code{summary.glm()} of \R version 2.3.0. } } \section{Changes in flexmix version 1.1-1}{ \itemize{ \item The \code{cluster} argument of \code{flexmix()} may now also be a matrix of posterior probabilities. \item Fixed a bug to make size table work in case of empty clusters. \item Fixed a bug in likelihood computation for grouped observations. \item The artificial NPreg data now also have a binomial response, added example to help(\code{"flexmix"}). } } \section{Changes in flexmix version 1.1-0}{ \itemize{ \item The \code{FLXglm()} driver now has an offset argument. \item New data set seizure as example for a Poisson GLM with an offset. \item \code{fitted()} can be used to extract fitted values from \code{"flexmix"} and \code{"FLXrefit"} objects. \item New accessor methods \code{cluster()} and \code{posterior()}. \item The package now uses lazy loading and has a namespace. } } \section{Changes in flexmix version 1.0-0}{ \itemize{ \item The package has now an introductionary vignette which can be accessed using the command vignette("flexmix-intro"). The vignette has been published in the Journal of Statistical Software, Volume 11, Issue 8 (\doi{10.18637/jss.v011.i08}), and the paper should be used as citation for \pkg{flexmix}, run \code{citation("flexmix")} in \R 2.0.0 or newer for details. \item Several typos in help pages have been fixed. } } \section{Changes in flexmix version 0.9-1}{ \itemize{ \item Adjusted for \R 2.0.0. \item Fixed a bug in the \code{summary()} and \code{plot()} methods of \code{"flexmix"} objects in case of empty clusters. \item \code{stepFlexmix()} takes two new arguments: \code{compare} allows fo find minimum AIC/BIC solutions in addition to maximum likelihood, \code{verbose} gives some information about progress. \item Use a default of \code{verbose = 0} in \code{FLXcontrol()} (better in combination with \code{stepFlexmix()}). } } \section{Changes in flexmix version 0.9-0}{ \itemize{ \item New \code{summary()} and \code{plot()} methods for \code{"flexmix"} objects. \item \code{"FLXglm"} objects can now be automatically \code{refit()}ted to get table of significance tests for coefficients. \item New function \code{stepFlexmix()} for more automated model search. \item The artificial example data now have functions to create them and a pre-stored data sets, new function \code{plotEll()} to plot 2d Gaussians with confidence ellipses. \item New function \code{KLdiv()} to compute Kullback-Leibler divergence of components. \item The calculation of the degrees of freedom for \code{FLXmclust()} was wrong } } \section{Changes in flexmix version 0.7-1}{ \itemize{ \item Fixed some codoc problems (missing aliases). \item First version released on CRAN: 0.7-0 } } flexmix/build/0000755000176200001440000000000014757625370013045 5ustar liggesusersflexmix/build/vignette.rds0000644000176200001440000000077214757625370015412 0ustar liggesusers‹ÍTAoÓ0ÎÚ²ÑJÐãøþ@{@\ØmZPiª`p}M^:‹ÄŽlOívâ‡#Êsb7M”íÄUIì÷¹ß÷üÞgÿ˜DQ4ˆF£A4òpxʯc~^ñ3âߘ¿¯WJYc5–¥ëÙRnå´-Äv*¤Õê8ç ½Ó4Õ´ÖdŒPÒÂMxJ[,Êœj¸­û1RX‚EM •Rsk©Œ‰o†‚%Çᆠ²·*5žà{Ìùñ¿/à>‘$9Ä Ú(ý2¥¡OÁʾ %iá*GcX!ä BÂÒÓ£§‡Òöþ¢Ch`#ì-\)™¨BXdÂÔW¼áJ…g÷.o7æU¦Zr.Gˤ^èÃeÉÛKк:‚Ê «UŠ Â¡¦¤PT»xº‰ešõ7±z›x÷5ÑÁmÝ—ó„pÇ:>|ÖkœöÚ†ÓJ¯Ö=ò‹O¼À¿ j„½…ÌÞ´RwÀc½·§Œ÷%yŒï¬/¸ám5ƒJ!Éï ;¥!?Ïkã&•q›ŠýROUéݺ>Ÿâ•¸V„º…?®ÅWWÓ°g’ON°þ±Žb‘SXðUØýdx=»IžÌ©$¹¿Bž¦{¾-xÞkµ™±îýůÝn÷»›Q•qÇW“-Î2wÌyöç/ g†flexmix/man/0000755000176200001440000000000014757625043012516 5ustar liggesusersflexmix/man/logLik-methods.Rd0000644000176200001440000000105414404637306015661 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: logLik-methods.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{logLik-methods} \docType{methods} \title{Methods for Function logLik in Package \pkg{flexmix}} \alias{logLik,flexmix-method} \alias{logLik,stepFlexmix-method} \description{Evaluate the log-likelihood. This function is defined as an S4 generic in the \code{stats4} package.} \section{Methods}{ \describe{ \item{object = flexmix}{Evaluate the log-likelihood of an \code{flexmix} object} } } \keyword{methods} flexmix/man/FLXdist-class.Rd0000644000176200001440000000464314404637306015426 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: FLXdist-class.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{FLXdist-class} \docType{class} \alias{FLXdist-class} \alias{predict,FLXdist-method} \alias{predict,FLXM-method} \alias{predict,FLXMRglm-method} \alias{predict,FLXMRmgcv-method} \alias{parameters,FLXdist-method} \alias{prior} \alias{prior,FLXdist-method} \title{Class "FLXdist"} \description{ Objects of class \code{FLXdist} represent unfitted finite mixture models. } \usage{ \S4method{parameters}{FLXdist}(object, component = NULL, model = NULL, which = c("model", "concomitant"), simplify = TRUE, drop = TRUE) \S4method{predict}{FLXdist}(object, newdata = list(), aggregate = FALSE, ...) } \arguments{ \item{object}{An object of class "FLXdist".} \item{component}{Number of component(s), if \code{NULL} all components are returned.} \item{model}{Number of model(s), if \code{NULL} all models are returned.} \item{which}{Specifies if the parameters of the component specific model or the concomitant variable model are returned.} \item{simplify}{Logical, if \code{TRUE} the returned values are simplified to a vector or matrix if possible.} \item{drop}{Logical, if \code{TRUE} the function tries to simplify the return object by omitting lists of length one.} \item{newdata}{Dataframe containing new data.} \item{aggregate}{Logical, if \code{TRUE} then the predicted values for each model aggregated over the components are returned.} \item{\dots}{Passed to the method of the model class.} } \section{Slots}{ \describe{ \item{model}{List of \code{FLXM} objects.} \item{prior}{Numeric vector with prior probabilities of clusters.} \item{components}{List describing the components using \code{FLXcomponent} objects.} \item{\code{concomitant}:}{Object of class \code{"FLXP"}.} \item{formula}{Object of class \code{"formula"}.} \item{call}{The function call used to create the object.} \item{k}{Number of clusters.} } } \section{Accessor Functions}{ The following functions should be used for accessing the corresponding slots: \describe{ \item{\code{parameters}:}{The parameters for each model and component, return value depends on the model.} \item{\code{prior}:}{Numeric vector of prior class probabilities/component weights} } } \author{Friedrich Leisch and Bettina Gruen} \seealso{\code{FLXdist}} \keyword{classes} flexmix/man/FLXMCfactanal.Rd0000644000176200001440000000452614404637306015351 0ustar liggesusers\name{FLXMCfactanal} \alias{FLXMCfactanal} \alias{rFLXM,FLXMCfactanal,FLXcomponent-method} \title{Driver for Mixtures of Factor Analyzers} \description{ This driver for \code{\link{flexmix}} implements estimation of mixtures of factor analyzers using ML estimation of factor analysis implemented in \code{factanal} in each M-step. } \usage{ FLXMCfactanal(formula = . ~ ., factors = 1, ...) } \arguments{ \item{formula}{A formula which is interpreted relative to the formula specified in the call to \code{\link{flexmix}} using \code{\link{update.formula}}. Only the left-hand side (response) of the formula is used. Default is to use the original \code{\link{flexmix}} model formula.} \item{factors}{Integer specifying the number of factors in each component.} \item{\dots}{Passed to \code{factanal}} } \value{ \code{FLXMCfactanal} returns an object of class \code{FLXM}. } \references{ G. McLachlan and D. Peel. \emph{Finite Mixture Models}, 2000. John Wiley and Sons Inc. } \author{Bettina Gruen} \section{Warning}{ This does not implement the AECM framework presented in McLachlan and Peel (2000, p.245), but uses the available functionality in R for ML estimation of factor analyzers. The implementation therefore is only experimental and has not been well tested. Please note that in general a good initialization is crucial for the EM algorithm to converge to a suitable solution for this model class. } \seealso{\code{\link{flexmix}}} \examples{ ## Reproduce (partly) Table 8.1. p.255 (McLachlan and Peel, 2000) if (require("gclus")) { data("wine", package = "gclus") wine_data <- as.matrix(wine[,-1]) set.seed(123) wine_fl_diag <- initFlexmix(wine_data ~ 1, k = 3, nrep = 10, model = FLXMCmvnorm(diagonal = TRUE)) wine_fl_fact <- lapply(1:4, function(q) flexmix(wine_data ~ 1, model = FLXMCfactanal(factors = q, nstart = 3), cluster = posterior(wine_fl_diag))) sapply(wine_fl_fact, logLik) ## FULL set.seed(123) wine_full <- initFlexmix(wine_data ~ 1, k = 3, nrep = 10, model = FLXMCmvnorm(diagonal = FALSE)) logLik(wine_full) ## TRUE wine_true <- flexmix(wine_data ~ 1, cluster = wine$Class, model = FLXMCmvnorm(diagonal = FALSE)) logLik(wine_true) } } \keyword{models} flexmix/man/fabricfault.Rd0000644000176200001440000000227314404637306015265 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: fabricfault.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{fabricfault} \alias{fabricfault} \docType{data} \title{Fabric Faults} \description{ Number of faults in rolls of a textile fabric. } \usage{data("fabricfault")} \format{ A data frame with 32 observations on the following 2 variables. \describe{ \item{Length}{Length of role (m).} \item{Faults}{Number of faults.} } } \source{ G. McLachlan and D. Peel. \emph{Finite Mixture Models}, 2000, John Wiley and Sons Inc. \url{http://www.maths.uq.edu.au/~gjm/DATA/mmdata.html} } \references{ A. F. Bissell. A Negative Binomial Model with Varying Element Sizes \emph{Biometrika}, \bold{59}, 435--441, 1972. M. Aitkin. A general maximum likelihood analysis of overdispersion in generalized linear models. \emph{Statistics and Computing}, \bold{6}, 251--262, 1996. } \examples{ data("fabricfault", package = "flexmix") fabricMix <- initFlexmix(Faults ~ 1, data = fabricfault, k = 2, model = FLXMRglmfix(family = "poisson", fixed = ~ log(Length)), nrep = 5) } \keyword{datasets} flexmix/man/KLdiv.Rd0000644000176200001440000000532414404637306014014 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: KLdiv.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{KLdiv} \alias{KLdiv,matrix-method} \alias{KLdiv,flexmix-method} \alias{KLdiv,FLXMRglm-method} \alias{KLdiv,FLXMC-method} \title{Kullback-Leibler Divergence} \description{ Estimate the Kullback-Leibler divergence of several distributions.} \usage{ \S4method{KLdiv}{matrix}(object, eps = 10^-4, overlap = TRUE,...) \S4method{KLdiv}{flexmix}(object, method = c("continuous", "discrete"), ...) } \arguments{ \item{object}{See Methods section below.} \item{method}{The method to be used; "continuous" determines the Kullback-Leibler divergence between the unweighted theoretical component distributions and the unweighted posterior probabilities at the observed points are used by "discrete".} \item{eps}{Probabilities below this threshold are replaced by this threshold for numerical stability.} \item{overlap}{Logical, do not determine the KL divergence for those pairs where for each point at least one of the densities has a value smaller than \code{eps}.} \item{...}{Passed to the matrix method.} } \section{Methods}{ \describe{ \item{object = "matrix":}{Takes as input a matrix of density values with one row per observation and one column per distribution.} \item{object = "flexmix":}{Returns the Kullback-Leibler divergence of the mixture components.} }} \details{ Estimates \deqn{\int f(x) (\log f(x) - \log g(x)) dx} for distributions with densities \eqn{f()} and \eqn{g()}. } \value{ A matrix of KL divergences where the rows correspond to using the respective distribution as \eqn{f()} in the formula above. } \note{ The density functions are modified to have equal support. A weight of at least \code{eps} is given to each observation point for the modified densities. } \keyword{methods} \author{Friedrich Leisch and Bettina Gruen} \references{ S. Kullback and R. A. Leibler. On information and sufficiency.\emph{The Annals of Mathematical Statistics}, \bold{22}(1), 79--86, 1951. Friedrich Leisch. Exploring the structure of mixture model components. In Jaromir Antoch, editor, Compstat 2004--Proceedings in Computational Statistics, 1405--1412. Physika Verlag, Heidelberg, Germany, 2004. ISBN 3-7908-1554-3. } \examples{ ## Gaussian and Student t are much closer to each other than ## to the uniform: x <- seq(-3, 3, length = 200) y <- cbind(u = dunif(x), n = dnorm(x), t = dt(x, df = 10)) matplot(x, y, type = "l") KLdiv(y) if (require("mlbench")) { set.seed(2606) x <- mlbench.smiley()$x model1 <- flexmix(x ~ 1, k = 9, model = FLXmclust(diag = FALSE), control = list(minprior = 0)) plotEll(model1, x) KLdiv(model1) } }flexmix/man/FLXnested-class.Rd0000644000176200001440000000200214404637306015730 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: FLXnested-class.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{FLXnested-class} \docType{class} \alias{FLXnested-class} \alias{coerce,list,FLXnested-method} \alias{coerce,NULL,FLXnested-method} \alias{coerce,numeric,FLXnested-method} \alias{initialize,FLXnested-method} \title{Class "FLXnested"} \description{Specification of nesting structure for regression coefficients.} \section{Objects from the Class}{ Objects can be created by calls of the form \code{new("FLXnested", formula, k, ...)}. In addition, named lists can be coerced to \code{FLXnested} objects, names are completed if unique. } \section{Slots}{ \describe{ \item{\code{formula}:}{Object of class \code{"list"} containing the formula for determining the model matrix for each nested parameter.} \item{\code{k}:}{Object of class \code{"numeric"} specifying the number of components in each group.} } } \author{Friedrich Leisch and Bettina Gruen} \keyword{classes} flexmix/man/Lapply-methods.Rd0000644000176200001440000000313014404637306015676 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: Lapply-methods.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{Lapply-methods} \docType{methods} \title{Methods for Function Lapply} \alias{Lapply,FLXRmstep-method} \description{Apply a function to each component of a finite mixture} \usage{ \S4method{Lapply}{FLXRmstep}(object, FUN, model = 1, component = TRUE, ...) } \arguments{ \item{object}{S4 class object.} \item{FUN}{The function to be applied.} \item{model}{The model (for a multivariate response) that shall be used.} \item{component}{Index vector for selecting the components.} \item{\dots}{Optional arguments to \code{FUN}.} } \section{Methods}{ \describe{ \item{object = FLXRmstep:}{Apply a function to each component of a refitted \code{flexmix} object using method = \code{"mstep"}.} } } \details{ \code{FUN} is found by a call to \code{match.fun} and typically is specified as a function or a symbol (e.g. a backquoted name) or a character string specifying a function to be searched for from the environment of the call to \code{Lapply}. } \value{ A list of the length equal to the number of components specified is returned, each element of which is the result of applying \code{FUN} to the specified component of the refitted mixture model. } \keyword{methods} \author{Friedrich Leisch and Bettina Gruen} \examples{ data("NPreg", package = "flexmix") ex2 <- flexmix(yn ~ x, data = NPreg, k = 2, model = list(FLXMRglm(yn ~ . + I(x^2)), FLXMRglm(yp ~ ., family = "poisson"))) ex2r <- refit(ex2, method = "mstep") Lapply(ex2r, "vcov", 2) } flexmix/man/FLXMCmvcombi.Rd0000644000176200001440000000407614404637306015234 0ustar liggesusers% % Copyright (C) 2009 Friedrich Leisch and Bettina Gruen % $Id: FLXMCmvcombi.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{FLXMCmvcombi} \alias{FLXMCmvcombi} \title{FlexMix Binary and Gaussian Clustering Driver} \description{ This is a model driver for \code{\link{flexmix}} implementing model-based clustering of a combination of binary and Gaussian data. } \usage{ FLXMCmvcombi(formula = . ~ .) } \arguments{ \item{formula}{A formula which is interpreted relative to the formula specified in the call to \code{\link{flexmix}} using \code{\link{update.formula}}. Only the left-hand side (response) of the formula is used. Default is to use the original \code{\link{flexmix}} model formula.} } \details{ This model driver can be used to cluster mixed-mode binary and Gaussian data. It checks which columns of a matrix contain only zero and ones, and does the same as \code{\link{FLXMCmvbinary}} for them. For the remaining columns of the data matrix independent Gaussian distributions are used (same as \code{\link{FLXMCmvnorm}} with \code{diagonal = FALSE}. The same could be obtained by creating a corresponding list of two models for the respective columns, but \code{FLXMCmvcombi} does a better job in reporting parameters. } \value{ \code{FLXMCmvcombi} returns an object of class \code{FLXMC}. } \author{Friedrich Leisch} \seealso{\code{\link{flexmix}}, \code{\link{FLXMCmvbinary}}, \code{\link{FLXMCmvnorm}}} \keyword{cluster} \examples{ ## create some artificial data x1 <- cbind(rnorm(300), sample(0:1, 300, replace = TRUE, prob = c(0.25, 0.75))) x2 <- cbind(rnorm(300, mean = 2, sd = 0.5), sample(0:1, 300, replace = TRUE, prob = c(0.75, 0.25))) x <- rbind(x1, x2) ## fit the model f1 <- flexmix(x ~ 1, k = 2, model = FLXMCmvcombi()) ## should be similar to the original parameters parameters(f1) table(clusters(f1), rep(1:2, c(300,300))) ## a column with noise should not hurt too much x <- cbind(x, rnorm(600)) f2 <- flexmix(x ~ 1, k = 2, model = FLXMCmvcombi()) parameters(f2) table(clusters(f2), rep(1:2, c(300,300))) } flexmix/man/FLXglmFix.Rd0000644000176200001440000000432514404637306014603 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: FLXglmFix.Rd 5229 2022-06-02 14:47:26Z gruen $ % \name{FLXMRglmfix} \alias{FLXMRglmfix} \alias{FLXglmFix} \title{FlexMix Interface to GLMs with Fixed Coefficients} \description{ This implements a driver for FlexMix which interfaces the \code{glm} family of models and where it is possible to specify fixed (constant) or nested varying coefficients or to ensure that in the Gaussian case the variance estimate is equal for all components. } \usage{ FLXMRglmfix(formula = . ~ ., fixed = ~0, varFix = FALSE, nested = NULL, family = c("gaussian", "binomial", "poisson", "Gamma"), offset = NULL) } \arguments{ \item{formula}{A formula which is interpreted relative to the formula specified in the call to \code{flexmix} using \code{update.formula}. Default is to use the original \code{flexmix} model formula.} \item{fixed}{A formula which specifies the additional regressors for the fixed (constant) coefficients.} \item{varFix}{A logical indicating if the variance estimate for Gaussian components should be constrained to be equal for all components. It can be also a vector specifying the number of components with equal variance.} \item{nested}{An object of class \code{FLXnested} or a list specifying the nested structure.} \item{family}{A character string naming a \code{glm} family function.} \item{offset}{This can be used to specify an \emph{a priori} known component to be included in the linear predictor during fitting.} } \value{ Returns an object of class \code{FLXMRglmfix} inheriting from \code{FLXMRglm} and \code{FLXMRfix}. } \author{Friedrich Leisch and Bettina Gruen} \seealso{\code{FLXMRglm}} \examples{ data("NPreg", package = "flexmix") ex <- flexmix(yn ~ x | id2, data = NPreg, k = 2, cluster = NPreg$class, model = FLXMRglm(yn ~ . + I(x^2))) ex.fix <- flexmix(yn ~ x | id2, data = NPreg, cluster = posterior(ex), model = FLXMRglmfix(nested = list(k = c(1, 1), formula = c(~0, ~I(x^2))))) summary(refit(ex)) \dontrun{ summary(refit(ex.fix)) } } \keyword{regression} \keyword{models} flexmix/man/salmonellaTA98.Rd0000644000176200001440000000342414404637306015537 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: salmonellaTA98.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{salmonellaTA98} \alias{salmonellaTA98} \title{Salmonella Reverse Mutagenicity Assay} \usage{data("salmonellaTA98")} \description{ Data on Ames Salmonella reverse mutagenicity assay. } \format{ This data frame contains the following columns: \describe{ \item{x}{Dose levels of quinoline.} \item{y}{Numbers of revertant colonies of TA98 Salmonella observed on each of three replicate plates tested at each of six dose levels of quinoline diameter.} } } \details{ This data set is taken from package \pkg{dispmod} provided by Luca Scrucca. } \source{ Margolin, B.J., Kaplan, N. and Zeiger, E. Statistical analysis of the Ames Salmonella/microsome test, \emph{Proc. Natl. Acad. Sci. USA}, \bold{76}, 3779--3783, 1981. } \references{ Breslow, N.E. Extra-Poisson variation in log-linear models, \emph{Applied Statistics}, \bold{33}, 38--44, 1984. Wang, P., Puterman, M.L., Cockburn, I.M., and Le, N.D. Mixed Poisson regression models with covariate dependent rates, \emph{Biometrics}, \bold{52}, 381--400, 1996. } \examples{ data("salmonellaTA98", package = "flexmix") salmonMix <- initFlexmix(y ~ 1, data = salmonellaTA98, model = FLXMRglmfix(family = "poisson", fixed = ~ x + log(x + 10)), k = 2, nrep = 5) salmonMix.pr <- predict(salmonMix, newdata = salmonellaTA98) plot(y ~ x, data = salmonellaTA98, pch = as.character(clusters(salmonMix)), ylim = range(c(salmonellaTA98$y, unlist(salmonMix.pr)))) for (i in 1:2) lines(salmonellaTA98$x, salmonMix.pr[[i]], lty = i) } \keyword{datasets} flexmix/man/FLXMRmultinom.Rd0000644000176200001440000000222614404637306015456 0ustar liggesusers\name{FLXMRmultinom} \alias{FLXMRmultinom} \title{FlexMix Interface to Multiomial Logit Models} \description{ Model driver for fitting mixtures of multinomial logit models. } \usage{ FLXMRmultinom(formula = . ~ ., ...) } \arguments{ \item{formula}{A formula which is interpreted relative to the formula specified in the call to \code{\link{flexmix}} using \code{\link{update.formula}}. Default is to use the original \code{\link{flexmix}} model formula.} \item{\dots}{Additional arguments to be passed to \code{nnet.default}.} } \details{ The M-step is performed using \code{nnet.default}. } \value{ Returns an object of class \code{FLXMRmultinom} inheriting from \code{FLXMRglm}. } \references{ Bettina Gruen and Friedrich Leisch. Identifiability of finite mixtures of multinomial logit models with varying and fixed effects. \emph{Journal of Classification}, \bold{25}, 225--247. 2008. } \author{ Bettina Gruen } \section{Warning}{ To ensure identifiability repeated measurements are necessary. Sufficient conditions are given in Gruen and Leisch (2008). } \seealso{\code{\link{FLXMRcondlogit}}} \keyword{regression} \keyword{models} flexmix/man/FLXMRrobglm.Rd0000644000176200001440000000531014404637306015071 0ustar liggesusers% % Copyright (C) 2008 Friedrich Leisch and Bettina Gruen % $Id: FLXMRrobglm.Rd 5229 2022-06-02 14:47:26Z gruen $ % \name{FLXMRrobglm} \alias{FLXMRrobglm} \alias{FLXMRrobglm-class} \title{FlexMix Driver for Robust Estimation of Generalized Linear Models} \description{ This driver adds a noise component to the mixture model which can be used to model background noise in the data. See the Compstat paper Leisch (2008) cited below for details. } \usage{ FLXMRrobglm(formula = . ~ ., family = c("gaussian", "poisson"), bgw = FALSE, ...) } \arguments{ \item{formula}{A formula which is interpreted relative to the formula specified in the call to \code{flexmix} using \code{\link{update.formula}}. Default is to use the original \code{flexmix} model formula.} \item{family}{A character string naming a \code{\link{glm}} family function.} \item{bgw}{Logical, controls whether the parameters of the background component are fixed to multiples of location and scale of the complete data (the default), or estimated by EM with normal weights for the background (\code{bgw = TRUE}).} \item{\dots}{passed to \code{FLXMRglm}} } \value{ Returns an object of class \code{FLXMRrobglm} inheriting from \code{FLXMRglm}. } \author{Friedrich Leisch and Bettina Gruen} \note{ The implementation of this model class is currently under development, and some methods like \code{refit} are still missing. } \references{ Friedrich Leisch. Modelling background noise in finite mixtures of generalized linear regression models. In Paula Brito, editor, Compstat 2008--Proceedings in Computational Statistics, 385--396. Physica Verlag, Heidelberg, Germany, 2008.\cr Preprint available at http://epub.ub.uni-muenchen.de/6332/. } \examples{ ## Example from Compstat paper, see paper for detailed explanation: data("NPreg", package = "flexmix") DATA <- NPreg[, 1:2] set.seed(3) DATA2 <- rbind(DATA, cbind(x = -runif(3), yn = 50 + runif(3))) ## Estimation without (f2) and with (f3) background component f2 <- flexmix(yn ~ x + I(x^2), data = DATA2, k = 2) f3 <- flexmix(yn ~ x + I(x^2), data = DATA2, k = 3, model = FLXMRrobglm(), control = list(minprior = 0)) ## Predict on new data for plots x <- seq(-5,15, by = .1) y2 <- predict(f2, newdata = data.frame(x = x)) y3 <- predict(f3, newdata = data.frame(x = x)) ## f2 was estimated without background component: plot(yn ~ x, data = DATA2, pch = clusters(f2), col = clusters(f2)) lines(x, y2$Comp.1, col = 1) lines(x, y2$Comp.2, col = 2) ## f3 is with background component: plot(yn ~ x, data = DATA2, pch = 4 - clusters(f3), col = 4 - clusters(f3)) lines(x, y3$Comp.2, col = 2) lines(x, y3$Comp.3, col = 1) } \keyword{models} flexmix/man/flexmix-internal.Rd0000644000176200001440000000732214404637306016271 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: flexmix-internal.Rd 5184 2020-06-20 18:27:29Z gruen $ % \name{flexmix-internal} \alias{FLXgetModelmatrix} \alias{FLXcheckComponent} \alias{FLXcheckComponent,FLXM-method} \alias{FLXcheckComponent,FLXMRfix-method} \alias{FLXdeterminePostunscaled} \alias{FLXdeterminePostunscaled,FLXM-method} \alias{FLXdeterminePostunscaled,FLXMRfix-method} \alias{FLXdeterminePostunscaled,FLXMRlmc-method} \alias{FLXdeterminePostunscaled,FLXMRlmmc-method} \alias{FLXdeterminePostunscaled,FLXMRcondlogit-method} \alias{FLXgetK} \alias{FLXgetK,FLXM-method} \alias{FLXgetK,FLXMRfix-method} \alias{FLXgetModelmatrix} \alias{FLXgetModelmatrix,FLXM-method} \alias{FLXgetModelmatrix,FLXMCsparse-method} \alias{FLXgetModelmatrix,FLXMCmvcombi-method} \alias{FLXgetModelmatrix,FLXMRcondlogit-method} \alias{FLXgetModelmatrix,FLXMRfix-method} \alias{FLXgetModelmatrix,FLXMRlmc-method} \alias{FLXgetModelmatrix,FLXMRlmmc-method} \alias{FLXgetModelmatrix,FLXMRmgcv-method} \alias{FLXgetModelmatrix,FLXMRrobglm-method} \alias{FLXgetModelmatrix,FLXMRziglm-method} \alias{FLXgetModelmatrix,FLXP-method} \alias{FLXgetObs} \alias{FLXgetObs,FLXM-method} \alias{FLXgetObs,FLXMRfix-method} \alias{FLXgetObs,FLXMRlmc-method} \alias{FLXmstep} \alias{FLXmstep,FLXM-method} \alias{FLXmstep,FLXMCmvcombi-method} \alias{FLXmstep,FLXMRcondlogit-method} \alias{FLXmstep,FLXMRfix-method} \alias{FLXmstep,FLXMRlmc-method} \alias{FLXmstep,FLXMRlmcfix-method} \alias{FLXmstep,FLXMRlmmc-method} \alias{FLXmstep,FLXMRlmmcfix-method} \alias{FLXmstep,FLXMRmgcv-method} \alias{FLXmstep,FLXMRrobglm-method} \alias{FLXmstep,FLXMRziglm-method} \alias{FLXremoveComponent} \alias{FLXremoveComponent,FLXM-method} \alias{FLXremoveComponent,FLXMRfix-method} \alias{FLXremoveComponent,FLXMRrobglm-method} \alias{FLXremoveComponent,FLXMRziglm-method} \alias{FLXMRglm-class} \alias{FLXR-class} \alias{FLXRMRglm-class} \alias{FLXRPmultinom-class} \alias{summary.flexmix-class} \alias{posterior,FLXM,listOrdata.frame-method} \alias{FLXMRfix-class} \alias{FLXMRglmfix-class} \alias{FLXRMRglmfix-class} \alias{predict,FLXMRglmfix-method} \alias{fitted,FLXMRglmfix-method} \alias{summary,FLXRMRglmfix-method} \alias{listOrdata.frame-class} \alias{refit_optim} \alias{refit_optim,FLXM-method} \alias{refit_optim,FLXMC-method} \alias{refit_optim,FLXMRglm-method} \alias{refit_optim,FLXMRziglm-method} \alias{refit_optim,FLXP-method} \alias{FLXgetDesign} \alias{FLXgetDesign,FLXM-method} \alias{FLXgetDesign,FLXMRglmfix-method} \alias{FLXgetDesign,FLXMRziglm-method} \alias{FLXgetParameters} \alias{FLXgetParameters,FLXdist-method} \alias{FLXgetParameters,FLXM-method} \alias{FLXgetParameters,FLXMC-method} \alias{FLXgetParameters,FLXMRglm-method} \alias{FLXgetParameters,FLXP-method} \alias{FLXgetParameters,FLXPmultinom-method} \alias{FLXreplaceParameters} \alias{FLXreplaceParameters,FLXdist-method} \alias{FLXreplaceParameters,FLXM-method} \alias{FLXreplaceParameters,FLXMC-method} \alias{FLXreplaceParameters,FLXMRglm-method} \alias{FLXreplaceParameters,FLXP-method} \alias{FLXreplaceParameters,FLXPmultinom-method} \alias{FLXlogLikfun} \alias{FLXlogLikfun,flexmix-method} \alias{FLXgradlogLikfun} \alias{FLXgradlogLikfun,flexmix-method} \alias{FLXgradlogLikfun,FLXM-method} \alias{FLXgradlogLikfun,FLXMRglm-method} \alias{FLXgradlogLikfun,FLXP-method} \alias{existGradient} \alias{existGradient,FLXM-method} \alias{existGradient,FLXMRglm-method} \alias{existGradient,FLXMRcondlogit-method} \alias{existGradient,FLXMRglmfix-method} \alias{existGradient,FLXMRmultinom-method} \alias{existGradient,FLXP-method} \title{Internal FlexMix Functions} \description{ Internal flexmix functions, methods and classes. } \details{ These are not to be called by the user. } \keyword{internal} flexmix/man/FLXMRglmnet.Rd0000644000176200001440000000657214404637306015110 0ustar liggesusers\name{FLXMRglmnet} \alias{FLXMRglmnet} \alias{FLXMRglmnet-class} \title{FlexMix Interface for Adaptive Lasso / Elastic Net with GLMs} \description{ This is a driver which allows fitting of mixtures of GLMs where the coefficients are penalized using the (adaptive) lasso or the elastic net by reusing functionality from package \pkg{glmnet}. } \usage{ FLXMRglmnet(formula = . ~ ., family = c("gaussian", "binomial", "poisson"), adaptive = TRUE, select = TRUE, offset = NULL, ...) } \arguments{ \item{formula}{A formula which is interpreted relative to the formula specified in the call to \code{\link{flexmix}} using \code{\link{update.formula}}. Default is to use the original \code{\link{flexmix}} model formula.} \item{family}{A character string naming a \code{\link{glm}} family function.} \item{adaptive}{A logical indicating if the adaptive lasso should be used. By default equal to \code{TRUE}.} \item{select}{A logical vector indicating which variables in the model matrix should be included in the penalized part. By default equal to \code{TRUE} implying that all variables are penalized.} \item{offset}{This can be used to specify an \emph{a priori} known component to be included in the linear predictor during fitting.} \item{\dots}{Additional arguments to be passed to \code{\link[glmnet]{cv.glmnet}} fitter.} } \details{ Some care is needed to ensure convergence of the algorithm, which is computationally more challenging than a standard EM. In the proposed method, not only are cluster allocations identified and component parameters estimated as commonly done in mixture models, but there is also variable selection via penalized regression using $k$-fold cross-validation to choose the penalty parameter. For the algorithm to converge, it is necessary that the same cross-validation partitioning be used across the EM iterations, i.e., the subsamples for cross-validation must be defined at the beginning This is accomplished using the \code{foldid} option as an additional parameter to be passed to \code{\link[glmnet]{cv.glmnet}} (see \pkg{glmnet} package documentation). } \value{ Returns an object of class \code{FLXMRglm}. } \author{ Frederic Mortier and Nicolas Picard. } \seealso{ \code{\link{FLXMRglm}} } \references{ Frederic Mortier, Dakis-Yaoba Ouedraogo, Florian Claeys, Mahlet G. Tadesse, Guillaume Cornu, Fidele Baya, Fabrice Benedet, Vincent Freycon, Sylvie Gourlet-Fleury and Nicolas Picard. Mixture of inhomogeneous matrix models for species-rich ecosystems. \emph{Environmetrics}, \bold{26}(1), 39-51, 2015. doi:10.1002/env.2320 } \examples{ set.seed(12) p <- 10 beta <- matrix(0, nrow = p + 1, ncol = 2) beta[1,] <- c(-1, 1) beta[cbind(c(5, 10), c(1, 2))] <- 1 nobs <- 100 X <- matrix(rnorm(nobs * p), nobs, p) mu <- cbind(1, X) \%*\% beta z <- sample(1:ncol(beta), nobs, replace = TRUE) y <- mu[cbind(1:nobs, z)] + rnorm(nobs) data <- data.frame(y, X) ## The maximum number of iterations is reduced to ## avoid a long running time. fo <- sample(rep(seq(10), length = nrow(data))) ex1 <- flexmix(y ~ ., data = data, k = 2, cluster = z, model = FLXMRglmnet(foldid = fo), control = list(iter.max = 2)) parameters(ex1) } \keyword{regression} \keyword{cluster} flexmix/man/patent.Rd0000644000176200001440000000312614404637306014274 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: patent.Rd 5220 2022-04-18 18:05:04Z gruen $ % \name{patent} \alias{patent} \docType{data} \title{Patents and R&D Spending} \description{ Number of patents, R&D spending and sales in millions of dollar for 70 pharmaceutical and biomedical companies in 1976. } \usage{data("patent")} \format{ A data frame with 70 observations on the following 4 variables. \describe{ \item{Company}{Name of company.} \item{Patents}{Number of patents.} \item{RDS}{R&D spending per sales.} \item{lgRD}{Logarithmized R&D spendings (in millions of dollars).} } } \details{ The data is taken from the National Bureau of Economic Research R&D Masterfile. } \source{ P. Wang, I.M. Cockburn and M.L. Puterman. Analysis of Patent Data -- A Mixed-Poisson-Regression-Model Approach. \emph{Journal of Business & Economic Statistics}, \bold{16}(1), 27--41, 1998. } \references{ B.H. Hall, C. Cummins, E. Laderman and J. Mundy. The R&D Master File Documentation. Technical Working Paper 72, National Bureau of Economic Research, 1988. Cambridge, MA. } \examples{ data("patent", package = "flexmix") patentMix <- initFlexmix(Patents ~ lgRD, k = 3, model = FLXMRglm(family = "poisson"), concomitant = FLXPmultinom(~RDS), nrep = 5, data = patent) plot(Patents ~ lgRD, data = patent, pch = as.character(clusters(patentMix))) ordering <- order(patent$lgRD) apply(fitted(patentMix), 2, function(y) lines(sort(patent$lgRD), y[ordering])) } \keyword{datasets} flexmix/man/dmft.Rd0000644000176200001440000000370214404637306013733 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: dmft.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{dmft} \alias{dmft} \docType{data} \title{Dental Data} \description{ Count data from a dental epidemiological study for evaluation of various programs for reducing caries collected among school children from an urban area of Belo Horizonte (Brazil). } \usage{data("dmft")} \format{ A data frame with 797 observations on the following 5 variables. \describe{ \item{End}{Number of decayed, missing or filled teeth at the end of the study.} \item{Begin}{Number of decayed, missing or filled teeth at the beginning of the study.} \item{Gender}{A factor with levels \code{male} and \code{female}.} \item{Ethnic}{A factor with levels \code{brown}, \code{white} and \code{black}.} \item{Treatment}{A factor with levels \code{control}, \code{educ}, \code{enrich}, \code{rinse}, \code{hygiene} and \code{all}.} } } \details{ The aim of the caries prevention study was to compare four methods to prevent dental caries. Interventions were carried out according to the following scheme: \describe{ \item{control}{Control group} \item{educ}{Oral health education} \item{enrich}{Enrichment of the school diet with rice bran} \item{rinse}{Mouthwash with 0.2\% sodium floride (NaF) solution} \item{hygiene}{Oral hygiene} \item{all}{All four methods together} } } \source{ D. Boehning, E. Dietz, P. Schlattmann, L. Mendonca and U. Kirchner. The zero-inflated Poisson model and the decayed, missing and filled teeth index in dental epidemiology. \emph{Journal of the Royal Statistical Society A}, \bold{162}(2), 195--209, 1999. } \examples{ data("dmft", package = "flexmix") dmft_flx <- initFlexmix(End ~ 1, data = dmft, k = 2, model = FLXMRglmfix(family = "poisson", fixed = ~ Gender + Ethnic + Treatment)) } \keyword{datasets} flexmix/man/ICL.Rd0000644000176200001440000000245414404637306013413 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: ICL.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{ICL} \alias{ICL,flexmix-method} \alias{ICL,stepFlexmix-method} \title{Integrated Completed Likelihood Criterion} \description{ Compute the Integrated Completed Likelihood criterion for model selection. } \usage{ \S4method{ICL}{flexmix}(object, \dots) \S4method{ICL}{stepFlexmix}(object, \dots) } \arguments{ \item{object}{see Methods section below} \item{\dots}{Some methods for this generic function may take additional, optional arguments. At present none do.} } \section{Methods}{ \describe{ \item{object = "flexmix":}{Compute the ICL of a \code{flexmix} object.} \item{object = "stepFlexmix":}{Compute the ICL of all models contained in the \code{stepFlexmix} object.} }} \value{ Returns a numeric vector with the corresponding ICL value(s). } \keyword{methods} \author{Friedrich Leisch and Bettina Gruen} \references{ C. Biernacki, G. Celeux, and G. Govaert. Assessing a mixture model for clustering with the integrated completed likelihood. \emph{IEEE Transactions on Pattern Analysis and Machine Intelligence}, \emph{22}(7), 719--725, 2000. } \examples{ data("NPreg", package = "flexmix") ex1 <- flexmix(yn ~ x + I(x^2), data = NPreg, k = 2) ICL(ex1) } flexmix/man/FLXfit.Rd0000644000176200001440000000227014404637306014134 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: FLXfit.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{FLXfit} \alias{FLXfit} \alias{FLXfit,list-method} \title{Fitter Function for FlexMix Models} \description{ This is the basic computing engine called by \code{\link{flexmix}}, it should usually not be used directly. } \usage{ FLXfit(model, concomitant, control, postunscaled = NULL, groups, weights) } \arguments{ \item{model}{List of \code{FLXM} objects.} \item{concomitant}{Object of class \code{FLXP}.} \item{control}{Object of class \code{FLXcontrol}.} \item{weights}{A numeric vector of weights to be used in the fitting process.} \item{postunscaled}{Initial a-posteriori probabilities of the observations at the start of the EM algorithm.} \item{groups}{List with components \code{group} which is a factor with optional grouping of observations and \code{groupfirst} which is a logical vector for the first observation of each group.} } \value{ Returns an object of class \code{flexmix}. } \author{Friedrich Leisch and Bettina Gruen} \seealso{\code{\link{flexmix}}, \code{\link{flexmix-class}}} \keyword{regression} \keyword{cluster} flexmix/man/FLXMRlmer.Rd0000644000176200001440000000767614404637306014567 0ustar liggesusers\name{FLXMRlmer} \alias{FLXMRlmer} \alias{FLXMRlmer-class} \alias{FLXMRlmm-class} \alias{FLXMRlmmfix-class} \alias{FLXdeterminePostunscaled,FLXMRlmer-method} \alias{FLXdeterminePostunscaled,FLXMRlmm-method} \alias{FLXmstep,FLXMRlmer-method} \alias{FLXmstep,FLXMRlmm-method} \alias{FLXgetModelmatrix,FLXMRlmer-method} \alias{FLXgetModelmatrix,FLXMRlmm-method} \alias{FLXMRlmm} \alias{FLXgetObs,FLXMRlmm-method} \alias{FLXmstep,FLXMRlmmfix-method} \alias{predict,FLXMRlmm-method} \alias{rFLXM,FLXMRlmm,FLXcomponent-method} \alias{rFLXM,FLXMRlmm,list-method} \alias{rFLXM,FLXMRlmc,FLXcomponent-method} \alias{rFLXM,FLXMRlmer,FLXcomponent-method} \title{FlexMix Interface to Linear Mixed Models} \description{ This is a driver which allows fitting of mixtures of linear models with random effects. } \usage{ FLXMRlmm(formula = . ~ ., random, lm.fit = c("lm.wfit", "smooth.spline"), varFix = c(Random = FALSE, Residual = FALSE), \dots) FLXMRlmer(formula = . ~ ., random, weighted = TRUE, control = list(), eps = .Machine$double.eps) } \arguments{ \item{formula}{A formula which is interpreted relative to the formula specified in the call to \code{flexmix} using \code{\link{update.formula}}. Default is to use the original \code{flexmix} model formula.} \item{random}{A formula for specifying the random effects.} \item{weighted}{A logical indicating if the model should be estimated with weighted ML.} \item{control}{A list of control parameters. See \code{\link[lme4]{lmer}} for details.} \item{eps}{Observations with a component-specific posterior smaller than \code{eps} are omitted in the M-step for this component.} \item{lm.fit}{A character string indicating if the coefficients should be fitted using either a linear model or the function \code{smooth.spline}} \item{varFix}{Named logical vector of length 2 indicating if the variance of the random effects and the residuals are fixed over the components.} \item{\dots}{Additional arguments to be passed to \code{smooth.spline}.} } \details{ \code{FLXMRlmm} allows only one random effect. \code{FLXMRlmer} allows an arbitrary number of random effects if \code{weighted = FALSE}; a certain structure of the model matrix of the random effects has to be given for weighted ML estimation, i.e. where \code{weighted = TRUE}. } \value{ Returns an object of class \code{FLXMRlmer} and \code{FLXMRlmm} inheriting from \code{FLXMRglm} and \code{FLXMR}, respectively. } \section{Warning}{ For \code{FLXMRlmer} the weighted ML estimation is only correct if the covariate matrix of the random effects is the same for each observation. By default weighted ML estimation is made and the condition on the covariate matrix of the random effects is checked. If this fails, only estimation with \code{weighted = FALSE} is possible which will maximize the classification likelihood. } \author{Bettina Gruen} \examples{ id <- rep(1:50, each = 10) x <- rep(1:10, 50) sample <- data.frame(y = rep(rnorm(unique(id)/2, 0, c(5, 2)), each = 10) + rnorm(length(id), rep(c(3, 8), each = 10)) + rep(c(0, 3), each = 10) * x, x = x, id = factor(id)) fitted <- flexmix(.~.|id, k = 2, model = FLXMRlmm(y ~ x, random = ~ 1), data = sample, control = list(tolerance = 10^-3), cluster = rep(rep(1:2, each = 10), 25)) parameters(fitted) fitted1 <- flexmix(.~.|id, k = 2, model = FLXMRlmer(y ~ x, random = ~ 1), data = sample, control = list(tolerance = 10^-3), cluster = rep(rep(1:2, each = 10), 25)) parameters(fitted1) fitted2 <- flexmix(.~.|id, k = 2, model = FLXMRlmm(y ~ 0 + x, random = ~ 1, lm.fit = "smooth.spline"), data = sample, control = list(tolerance = 10^-3), cluster = rep(rep(1:2, each = 10), 25)) parameters(fitted2) } \keyword{models} flexmix/man/plotEll.Rd0000644000176200001440000000253514404637306014417 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: plotEll.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{plotEll} \alias{plotEll} \title{Plot Confidence Ellipses for FLXMCmvnorm Results} \description{ Plot 50\% and 95\% confidence ellipses for mixtures of Gaussians fitted using \code{\link{FLXMCmvnorm}}. } \usage{ plotEll(object, data, which = 1:2, model = 1, project = NULL, points = TRUE, eqscale = TRUE, col = NULL, number = TRUE, cex = 1.5, numcol = "black", pch = NULL, ...) } \arguments{ \item{object}{An object of class \code{flexmix} with a fitted \code{FLXMCmvnorm} model.} \item{data}{The response variable in a data frame or as a matrix.} \item{which}{Index numbers of dimensions of (projected) input space to plot.} \item{model}{The model (for a multivariate response) that shall be plotted.} \item{project}{Projection object, currently only the result of \code{\link[stats]{prcomp}} is supported.} \item{points}{Logical, shall data points be plotted?} \item{eqscale}{Logical, plot using \code{\link[MASS]{eqscplot}}?} \item{number}{Logical, plot number labels at cluster centers?} \item{cex, numcol}{Size and color of number labels.} \item{pch, col, \dots}{Graphical parameters.} } \author{Friedrich Leisch and Bettina Gruen} \seealso{\code{\link{FLXMCmvnorm}}} \keyword{cluster} flexmix/man/boot.Rd0000644000176200001440000000607314404637306013750 0ustar liggesusers\name{boot} \alias{boot} \alias{boot,flexmix-method} \alias{LR_test} \alias{LR_test,flexmix-method} \alias{boot,flexmix-method} \alias{show,FLXboot-method} \alias{FLXboot-class} \alias{plot,FLXboot,missing-method} \alias{parameters,FLXboot-method} \alias{clusters,FLXboot,listOrdata.frame-method} \alias{predict,FLXboot-method} \alias{posterior,FLXboot,listOrdata.frame-method} \title{Bootstrap a flexmix Object} \description{ Given a \code{flexmix} object perform parametric or empirical bootstrap. } \usage{ boot(object, ...) \S4method{boot}{flexmix}(object, R, sim = c("ordinary", "empirical", "parametric"), initialize_solution = FALSE, keep_weights = FALSE, keep_groups = TRUE, verbose = 0, control, k, model = FALSE, ...) LR_test(object, ...) \S4method{LR_test}{flexmix}(object, R, alternative = c("greater", "less"), control, ...) } \arguments{ \item{object}{A fitted finite mixture model of class \code{flexmix}.} \item{R}{The number of bootstrap replicates.} \item{sim}{A character string indicating the type of simulation required. Possible values are \code{"ordinary"} (the default), \code{"parametric"}, or \code{"empirical"}.} \item{initialize_solution}{A logical. If \code{TRUE} the EM algorithm is initialized in the given solution.} \item{keep_weights}{A logical. If \code{TRUE} the weights are kept.} \item{keep_groups}{A logical. If \code{TRUE} the groups are kept.} \item{verbose}{If a positive integer, then progress information is reported every \code{verbose} iterations. If 0, no output is generated during the bootstrap replications.} \item{control}{Object of class \code{FLXcontrol} or a named list. If missing the control of the fitted \code{object} is taken.} \item{k}{Vector of integers specifying for which number of components finite mixtures are fitted to the bootstrap samples. If missing the number of components of the fitted \code{object} are taken.} \item{alternative}{A character string specifying the alternative hypothesis, must be either \code{"greater"} (default) or \code{"less"} indicating if the alternative hypothesis is that the mixture has one more component or one less.} \item{model}{A logical. If \code{TRUE} the model and the weights slot for each sample are stored and returned.} \item{\dots}{Further arguments to be passed to or from methods.} } \value{ \code{boot} returns an object of class \code{FLXboot} which contains the fitted parameters, the fitted priors, the log likelihoods, the number of components of the fitted mixtures and the information if the EM algorithm has converged. \code{LR_test} returns an object of class \code{htest} containing the number of valid bootstrap replicates, the p-value, the - twice log likelihood ratio test statistics for the original data and the bootstrap replicates. } \author{Bettina Gruen} \examples{ data("NPreg", package = "flexmix") fitted <- initFlexmix(yn ~ x + I(x^2) | id2, data = NPreg, k = 2) \dontrun{ lrtest <- LR_test(fitted, alternative = "greater", R = 20, verbose = 1) } } \keyword{methods} flexmix/man/rflexmix.Rd0000644000176200001440000000315614404637306014642 0ustar liggesusers\name{rflexmix} \alias{rflexmix} \alias{rflexmix,flexmix,missing-method} \alias{rflexmix,FLXdist,numeric-method} \alias{rflexmix,FLXdist,listOrdata.frame-method} \alias{rFLXM} \alias{rFLXM,FLXM,list-method} \alias{rFLXM,FLXMC,FLXcomponent-method} \alias{rFLXM,FLXMCmultinom,FLXcomponent-method} \alias{rFLXM,FLXMCbinom,FLXcomponent-method} \alias{rFLXM,FLXMRglm,list-method} \alias{rFLXM,FLXMRglmfix,list-method} \alias{rFLXM,FLXM,FLXcomponent-method} \alias{rFLXM,FLXMRglm,FLXcomponent-method} \title{Random Number Generator for Finite Mixtures} \description{ Given a finite mixture model generate random numbers from it. } \usage{ rflexmix(object, newdata, ...) } \arguments{ \item{object}{A fitted finite mixture model of class \code{flexmix} or an unfitted of class \code{FLXdist}.} \item{newdata}{Optionally, a data frame in which to look for variables with which to predict or an integer specifying the number of random draws for model-based clustering. If omitted, the data to which the model was fitted is used.} \item{\dots}{Further arguments to be passed to or from methods.} } \details{ \code{rflexmix} provides the creation of the model matrix for new data and the sampling of the cluster memberships. The sampling of the component distributions given the classification is done by calling \code{rFLXM}. This step has to be provided for the different model classes. } \value{ A list with components \item{y}{Random sample} \item{group}{Grouping factor} \item{class}{Class membership} } \author{Bettina Gruen} \examples{ example(flexmix) sample <- rflexmix(ex1) } \keyword{distribution} flexmix/man/FLXMRcondlogit.Rd0000644000176200001440000000441614404637306015577 0ustar liggesusers\name{FLXMRcondlogit} \alias{FLXMRcondlogit} \title{FlexMix Interface to Conditional Logit Models} \description{ Model driver for fitting mixtures of conditional logit models. } \usage{ FLXMRcondlogit(formula = . ~ ., strata) } \arguments{ \item{formula}{A formula which is interpreted relative to the formula specified in the call to \code{\link{flexmix}} using \code{\link{update.formula}}. Default is to use the original \code{\link{flexmix}} model formula.} \item{strata}{A formula which is interpreted such that no intercept is fitted and which allows to determine the variable indicating which observations are from the same stratum.} } \details{ The M-step is performed using \code{coxph.fit}. } \value{ Returns an object of class \code{FLXMRcondlogit} inheriting from \code{FLXMRglm}. } \references{ Bettina Gruen and Friedrich Leisch. Identifiability of finite mixtures of multinomial logit models with varying and fixed effects. \emph{Journal of Classification}, \bold{25}, 225--247. 2008. } \author{ Bettina Gruen } \section{Warning}{ To ensure identifiability repeated measurements are necessary. Sufficient conditions are given in Gruen and Leisch (2008). } \seealso{\code{\link{FLXMRmultinom}}} \examples{ if (require("Ecdat")) { data("Catsup", package = "Ecdat") ## To reduce the time needed for the example only a subset is used Catsup <- subset(Catsup, id \%in\% 1:100) Catsup$experiment <- seq_len(nrow(Catsup)) vnames <- c("display", "feature", "price") Catsup_long <- reshape(Catsup, idvar = c("id", "experiment"), times = c(paste("heinz", c(41, 32, 28), sep = ""), "hunts32"), timevar = "brand", varying = matrix(colnames(Catsup)[2:13], nrow = 3, byrow = TRUE), v.names = vnames, direction = "long") Catsup_long$selected <- with(Catsup_long, choice == brand) Catsup_long <- Catsup_long[, c("id", "selected", "experiment", vnames, "brand")] Catsup_long$brand <- relevel(factor(Catsup_long$brand), "hunts32") set.seed(0808) flx1 <- flexmix(selected ~ display + feature + price + brand | id, model = FLXMRcondlogit(strata = ~ experiment), data = Catsup_long, k = 1) } } \keyword{regression} \keyword{models} flexmix/man/plot-methods.Rd0000644000176200001440000000727614404637306015432 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: plot-methods.Rd 5115 2017-04-07 08:18:13Z gruen $ % \name{plot-methods} \docType{methods} \alias{plot-methods} \alias{plot,flexmix,missing-method} \title{Rootogram of Posterior Probabilities} \description{ The \code{plot} method for \code{\link{flexmix-class}} objects gives a rootogram or histogram of the posterior probabilities. } \usage{ \S4method{plot}{flexmix,missing}(x, y, mark = NULL, markcol = NULL, col = NULL, eps = 1e-4, root = TRUE, ylim = TRUE, main = NULL, xlab = "", ylab = "", as.table = TRUE, endpoints = c(-0.04, 1.04), ...) } \arguments{ \item{x}{An object of class \code{"flexmix"}.} \item{y}{Not used.} \item{mark}{Integer: mark posteriors of this component.} \item{markcol}{Color used for marking components.} \item{col}{Color used for the bars.} \item{eps}{Posteriors smaller than \code{eps} are ignored.} \item{root}{If \code{TRUE}, a rootogram of the posterior probabilities is drawn, otherwise a standard histogram.} \item{ylim}{A logical value or a numeric vector of length 2. If \code{TRUE}, the y axes of all rootograms are aligned to have the same limits, if \code{FALSE} each y axis is scaled separately. If a numeric vector is specified it is used as usual.} \item{main}{Main title of the plot.} \item{xlab}{Label of x-axis.} \item{ylab}{Label of y-axis.} \item{as.table}{Logical that controls the order in which panels should be plotted: if \code{FALSE} (the default), panels are drawn left to right, bottom to top (as in a graph); if \code{TRUE}, left to right, top to bottom.} \item{endpoints}{Vector of length 2 indicating the range of x-values that is to be covered by the histogram. This applies only when \code{breaks} is unspecified. In \code{do.breaks}, this specifies the interval that is to be divided up.} \item{...}{Further graphical parameters for the lattice function histogram.} } \details{ For each mixture component a rootogram or histogram of the posterior probabilities of all observations is drawn. Rootograms are very similar to histograms, the only difference is that the height of the bars correspond to square roots of counts rather than the counts themselves, hence low counts are more visible and peaks less emphasized. Please note that the y-axis denotes the number of observations in each bar in any case. Usually in each component a lot of observations have posteriors close to zero, resulting in a high count for the corresponding bin in the rootogram which obscures the information in the other bins. To avoid this problem, all probabilities with a posterior below \code{eps} are ignored. A peak at probability one indicates that a mixture component is well seperated from the other components, while no peak at one and/or significant mass in the middle of the unit interval indicates overlap with other components. } \references{ Friedrich Leisch. FlexMix: A general framework for finite mixture models and latent class regression in R. \emph{Journal of Statistical Software}, \bold{11}(8), 2004. doi:10.18637/jss.v011.i08 Jeremy Tantrum, Alejandro Murua and Werner Stuetzle. Assessment and pruning of hierarchical model based clustering. Proceedings of the 9th ACM SIGKDD international conference on Knowledge Discovery and Data Mining, 197--205. ACM Press, New York, NY, USA, 2003. Friedrich Leisch. Exploring the structure of mixture model components. In Jaromir Antoch, editor, Compstat 2004--Proceedings in Computational Statistics, 1405--1412. Physika Verlag, Heidelberg, Germany, 2004. ISBN 3-7908-1554-3. } \author{Friedrich Leisch and Bettina Gruen} \keyword{methods} \keyword{hplot} flexmix/man/relabel.Rd0000644000176200001440000000357314404637306014415 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: posterior.Rd 3937 2008-03-28 14:56:01Z leisch $ % \name{relabel} \alias{relabel} \alias{relabel,FLXdist,missing-method} \alias{relabel,FLXdist,character-method} \alias{relabel,FLXdist,integer-method} \title{Relabel the Components} \description{ The components are sorted by the value of one of the parameters or according to an integer vector containing the permutation of the numbers from 1 to the number of components. } \usage{ relabel(object, by, ...) \S4method{relabel}{FLXdist,character}(object, by, which = NULL, ...) } \arguments{ \item{object}{An object of class \code{"flexmix"}.} \item{by}{If a character vector, it needs to be one of \code{"prior"}, \code{"model"}, \code{"concomitant"} indicating if the parameter should be from the component-specific or the concomitant variable model. If an integer vector it indicates how the components should be sorted. If missing, the components are sorted by component size.} \item{which}{Name (or unique substring) of a parameter if \code{by} is equal to "model" or "concomitant".} \item{\dots}{Currently not used.} } \author{Friedrich Leisch and Bettina Gruen} \keyword{methods} \examples{ set.seed(123) beta <- matrix(1:16, ncol = 4) beta df1 <- ExLinear(beta, n = 100, sd = .5) f1 <- flexmix(y~., data = df1, k = 4) ## There was label switching, parameters are not in the same order ## as in beta: round(parameters(f1)) betas <- rbind(beta, .5) betas ## This makes no sense: summary(abs(as.vector(betas-parameters(f1)))) ## We relabel the components by sorting the coefficients of x1: r1 <- relabel(f1, by = "model", which = "x1") round(parameters(r1)) ## Now we can easily compare the fit with the true parameters: summary(abs(as.vector(betas-parameters(r1)))) } flexmix/man/bioChemists.Rd0000644000176200001440000000240014404637306015244 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: bioChemists.Rd 5193 2020-10-09 18:38:20Z gruen $ % \name{bioChemists} \alias{bioChemists} \docType{data} \title{Articles by Graduate Students in Biochemistry Ph.D. Programs} \description{ A sample of 915 biochemistry graduate students. } \usage{ data("bioChemists") } \format{ \describe{ \item{art}{count of articles produced during last 3 years of Ph.D.} \item{fem}{factor indicating gender of student, with levels Men and Women} \item{mar}{factor indicating marital status of student, with levels Single and Married} \item{kid5}{number of children aged 5 or younger} \item{phd}{prestige of Ph.D. department} \item{ment}{count of articles produced by Ph.D. mentor during last 3 years} } } \details{ This data set is taken from package \pkg{pscl} provided by Simon Jackman. } \source{ found in Stata format at \url{https://jslsoc.sitehost.iu.edu/stata/spex_data/couart2.dta} } \references{ Long, J. Scott. The origins of sex difference in science. \emph{Social Forces}, \bold{68}, 1297--1315, 1990. Long, J. Scott. \emph{Regression Models for Categorical and Limited Dependent Variables}, 1997. Thousand Oaks, California: Sage. } \keyword{datasets} flexmix/man/tribolium.Rd0000644000176200001440000000356614404637306015017 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: tribolium.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{tribolium} \alias{tribolium} \docType{data} \title{Tribolium Beetles} \description{ The data investigates whether the adult Tribolium species Castaneum has developed an evolutionary advantage to recognize and avoid eggs of their own species while foraging. } \usage{data("tribolium")} \format{ A data frame with 27 observations on the following 4 variables. \describe{ \item{\code{Remaining}}{A numeric vector.} \item{\code{Total}}{A numeric vector.} \item{\code{Replicate}}{A factor with levels \code{1}, \code{2}, \code{3}.} \item{\code{Species}}{A factor with levels \code{Castaneum} \code{Confusum} \code{Madens}.} } } \details{ Beetles of the genus Tribolium are cannibalistic in the sense that adults eat the eggs of their own species as well as those of closely related species. The experiment isolated a number of adult beetles of the same species and presented them with a vial of 150 eggs (50 of each type), the eggs being thoroughly mixed to ensure uniformity throughout the vial. The data gives the consumption data for adult Castaneum species. It reports the number of Castaneum, Confusum and Madens eggs, respectively, that remain uneaten after two day exposure to the adult beetles. Replicates 1, 2, and 3 correspond to different occasions on which the experiment was conducted. } \source{ P. Wang and M.L. Puterman. Mixed Logistic Regression Models. \emph{Journal of Agricultural, Biological, and Environmental Statistics}, \bold{3} (2), 175--200, 1998. } \examples{ data("tribolium", package = "flexmix") tribMix <- initFlexmix(cbind(Remaining, Total - Remaining) ~ Species, k = 2, nrep = 5, data = tribolium, model = FLXMRglm(family = "binomial")) } \keyword{datasets} flexmix/man/BIC-methods.Rd0000644000176200001440000000105014404637306015031 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: BIC-methods.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{BIC-methods} \docType{methods} \title{Methods for Function BIC} \alias{BIC,flexmix-method} \alias{BIC,stepFlexmix-method} \description{Compute the Bayesian Information Criterion.} \section{Methods}{ \describe{ \item{object = flexmix:}{Compute the BIC of a \code{flexmix} object} \item{object = stepFlexmix:}{Compute the BIC of all models contained in the \code{stepFlexmix} object.} } } \keyword{methods} flexmix/man/AIC-methods.Rd0000644000176200001440000000104614404637306015035 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: AIC-methods.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{AIC-methods} \docType{methods} \title{Methods for Function AIC} \alias{AIC,flexmix-method} \alias{AIC,stepFlexmix-method} \description{Compute the Akaike Information Criterion.} \section{Methods}{ \describe{ \item{object = flexmix:}{Compute the AIC of a \code{flexmix} object} \item{object = stepFlexmix:}{Compute the AIC of all models contained in the \code{stepFlexmix} object.} } } \keyword{methods} flexmix/man/trypanosome.Rd0000644000176200001440000000321514404637306015360 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: trypanosome.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{trypanosome} \alias{trypanosome} \docType{data} \title{Trypanosome} \description{ Trypanosome data from a dosage-response analysis to assess the proportion of organisms belonging to different populations. It is assumed that organisms belonging to different populations are indistinguishable other than in terms of their reaction to the stimulus. } \usage{data("trypanosome")} \format{ A data frame with 426 observations on the following 2 variables. \describe{ \item{\code{Dead}}{A logical vector.} \item{\code{Dose}}{A numeric vector.} } } \details{ The experimental technique involved inspection under the microscope of a representative aliquot of a suspension, all organisms appearing within two fields of view being classified either alive or dead. Hence the total numbers of organisms present at each dose and the number showing the quantal response were both random variables. } \source{ R. Ashford and P.J. Walker. Quantal Response Analysis for a Mixture of Populations. \emph{Biometrics}, \bold{28}, 981--988, 1972. } \references{ D.A. Follmann and D. Lambert. Generalizing Logistic Regression by Nonparametric Mixing. \emph{Journal of the American Statistical Association}, \bold{84}(405), 195--300, 1989. } \examples{ data("trypanosome", package = "flexmix") trypMix <- initFlexmix(cbind(Dead, 1-Dead) ~ 1, k = 2, nrep = 5, data = trypanosome, model = FLXMRglmfix(family = "binomial", fixed = ~log(Dose))) } \keyword{datasets} flexmix/man/FLXMCmvpois.Rd0000644000176200001440000000175714404637306015120 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: FLXMCmvpois.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{FLXMCmvpois} \alias{FLXMCmvpois} \title{FlexMix Poisson Clustering Driver} \description{ This is a model driver for \code{\link{flexmix}} implementing model-based clustering of Poisson distributed data. } \usage{ FLXMCmvpois(formula = . ~ .) } \arguments{ \item{formula}{A formula which is interpreted relative to the formula specified in the call to \code{\link{flexmix}} using \code{\link{update.formula}}. Only the left-hand side (response) of the formula is used. Default is to use the original \code{\link{flexmix}} model formula.} } \details{ This can be used to cluster Poisson distributed data where given the component membership the variables are mutually independent. } \value{ \code{FLXMCmvpois} returns an object of class \code{FLXMC}. } \author{Friedrich Leisch and Bettina Gruen} \seealso{\code{\link{flexmix}}} \keyword{cluster} flexmix/man/FLXMRmgcv.Rd0000644000176200001440000000402214404637306014542 0ustar liggesusers\name{FLXMRmgcv} \alias{FLXMRmgcv} \alias{FLXMRmgcv-class} \title{FlexMix Interface to GAMs} \description{ This is a driver which allows fitting of mixtures of GAMs. } \usage{ FLXMRmgcv(formula = . ~ ., family = c("gaussian", "binomial", "poisson"), offset = NULL, control = NULL, optimizer = c("outer", "newton"), in.out = NULL, eps = .Machine$double.eps, ...) } \arguments{ \item{formula}{A formula which is interpreted relative to the formula specified in the call to \code{\link{flexmix}} using \code{\link{update.formula}}. Default is to use the original \code{\link{flexmix}} model formula.} \item{family}{A character string naming a \code{\link{glm}} family function.} \item{offset}{This can be used to specify an \emph{a priori} known component to be included in the linear predictor during fitting.} \item{control}{A list of fit control parameters returned by \code{gam.control}.} \item{optimizer}{An array specifying the numerical optimization method to use to optimize the smoothing parameter estimation criterion; for more details see \code{\link[mgcv]{gam}}.} \item{in.out}{Optional list for initializing outer iteration; for more details see \code{\link[mgcv]{gam}}.} \item{eps}{Observations with an a-posteriori probability smaller or equal to \code{eps} are omitted in the M-step.} \item{\dots}{Additional arguments to be pased to the GAM fitter.} } \value{ Returns an object of class \code{FLXMRmgcv} inheriting from \code{FLXMRglm}. } \author{ Bettina Gruen } \seealso{ \code{\link{FLXMRglm}} } \examples{ set.seed(2012) x <- seq(0, 1, length.out = 100) z <- sample(0:1, length(x), replace = TRUE) y <- rnorm(length(x), ifelse(z, 5 * sin(x * 2 * pi), 10 * x - 5)) fitted_model <- flexmix(y ~ s(x), model = FLXMRmgcv(), cluster = z + 1, control = list(tolerance = 10^-3)) plot(y ~ x, col = clusters(fitted_model)) matplot(x, fitted(fitted_model), type = "l", add = TRUE) } \keyword{regression} \keyword{cluster} flexmix/man/Mehta.Rd0000644000176200001440000000265514404637306014045 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: Mehta.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{Mehta} \alias{Mehta} \docType{data} \title{Mehta Trial} \description{ For a 22-centre trial the number of responses and the total number of patients is reported for the control group and the group receiving a new drug. } \usage{data("Mehta")} \format{ A data frame with 44 observations on the following 4 variables. \describe{ \item{Response}{Number of responses.} \item{Total}{Total number of observations.} \item{Drug}{A factor indicating treatment with levels \code{New} and \code{Control}.} \item{Site}{A factor indicating the site/centre.} } } \source{ M. Aitkin. Meta-analysis by random effect modelling in generalized linear models. \emph{Statistics in Medicine}, \bold{18}, 2343--2351, 1999. } \references{ C.R. Mehta, N.R. Patel and P. Senchaudhuri. Importance sampling for estimating exact probabilities in permutational inference. \emph{Journal of the American Statistical Association}, \emph{83}, 999--1005, 1988. } \examples{ data("Mehta", package = "flexmix") mehtaMix <- initFlexmix(cbind(Response, Total-Response) ~ 1|Site, data = Mehta, nrep = 5, k = 3, model = FLXMRglmfix(family = "binomial", fixed = ~ Drug), control = list(minprior = 0.04)) } \keyword{datasets} flexmix/man/FLXmodel-class.Rd0000644000176200001440000000402514404637306015555 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: FLXmodel-class.Rd 5229 2022-06-02 14:47:26Z gruen $ % \name{FLXM-class} \docType{class} \alias{FLXM-class} \alias{FLXMC-class} \alias{FLXMR-class} \alias{FLXMCsparse-class} \alias{show,FLXM-method} \title{Class "FLXM"} \description{FlexMix model specification.} \section{Objects from the Class}{ Objects can be created by calls of the form \code{new("FLXM", ...)}, typically inside driver functions like \code{\link{FLXMRglm}} or \code{\link{FLXMCmvnorm}}. } \section{Slots}{ \describe{ \item{\code{fit}:}{Function returning an \code{FLXcomponent} object.} \item{\code{defineComponent}:}{Function or expression to determine the \code{FLXcomponent} object given the parameters.} \item{\code{weighted}:}{Logical indicating whether \code{fit} can do weighted likelihood maximization.} \item{\code{name}:}{Character string used in print methods.} \item{\code{formula}:}{Formula describing the model.} \item{\code{fullformula}:}{Resulting formula from updating the model formula with the formula specified in the call to \code{flexmix}.} \item{\code{x}:}{Model matrix.} \item{\code{y}:}{Model response.} \item{\code{terms}, \code{xlevels}, \code{contrasts}:}{Additional information for model matrix.} \item{\code{preproc.x}:}{Function for preprocessing matrix \code{x} before the EM algorithm starts, by default the identity function.} \item{\code{preproc.y}:}{Function for preprocessing matrix \code{y} before the EM algorithm starts, by default the identity function.} } } \details{ The most generic class is the virtual class \code{FLXM}. The classes \code{FLXMC} for model-based clustering and \code{FLXMR} for clusterwise regression extend the virtual class. Both have further more specific model classes which inherit from them. Model class \code{FLXMCsparse} allows for model-based clustering with a sparse matrix as data input. } \author{Friedrich Leisch and Bettina Gruen} \keyword{classes} flexmix/man/FLXmclust.Rd0000644000176200001440000000465314404637306014670 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: FLXmclust.Rd 5115 2017-04-07 08:18:13Z gruen $ % \name{FLXMCmvnorm} \alias{FLXMCmvnorm} \alias{FLXMCnorm1} \alias{FLXmclust} \title{FlexMix Clustering Demo Driver} \description{ These are demo drivers for \code{\link{flexmix}} implementing model-based clustering of Gaussian data. } \usage{ FLXMCmvnorm(formula = . ~ ., diagonal = TRUE) FLXMCnorm1(formula = . ~ .) } \arguments{ \item{formula}{A formula which is interpreted relative to the formula specified in the call to \code{\link{flexmix}} using \code{\link{update.formula}}. Only the left-hand side (response) of the formula is used. Default is to use the original \code{\link{flexmix}} model formula.} \item{diagonal}{If \code{TRUE}, then the covariance matrix of the components is restricted to diagonal matrices.} } \details{ This is mostly meant as a demo for FlexMix driver programming, you should also look at package \pkg{mclust} for real applications. \code{FLXMCmvnorm} clusters multivariate data, \code{FLXMCnorm1} univariate data. In the latter case smart initialization is important, see the example below. } \value{ \code{FLXMCmvnorm} returns an object of class \code{FLXMC}. } \author{Friedrich Leisch and Bettina Gruen} \references{ Friedrich Leisch. FlexMix: A general framework for finite mixture models and latent class regression in R. \emph{Journal of Statistical Software}, \bold{11}(8), 2004. doi:10.18637/jss.v011.i08 } \seealso{\code{\link{flexmix}}} \keyword{cluster} \examples{ data("Nclus", package = "flexmix") require("MASS") eqscplot(Nclus) ## This model is wrong (one component has a non-diagonal cov matrix) ex1 <- flexmix(Nclus ~ 1, k = 4, model = FLXMCmvnorm()) print(ex1) plotEll(ex1, Nclus) ## True model, wrong number of components ex2 <- flexmix(Nclus ~ 1, k = 6, model = FLXMCmvnorm(diagonal = FALSE)) print(ex2) plotEll(ex2, Nclus) ## Get parameters of first component parameters(ex2, component = 1) ## Have a look at the posterior probabilies of 10 random observations ok <- sample(1:nrow(Nclus), 10) p <- posterior(ex2)[ok, ] p ## The following two should be the same max.col(p) clusters(ex2)[ok] \testonly{ stopifnot(all.equal(max.col(p), clusters(ex2)[ok])) } ## Now try the univariate case plot(density(Nclus[, 1])) ex3 <- flexmix(Nclus[, 1] ~ 1, cluster = cut(Nclus[, 1], 3), model = FLXMCnorm1()) ex3 parameters(ex3) } flexmix/man/stepFlexmix.Rd0000644000176200001440000001451414404637306015314 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: stepFlexmix.Rd 5115 2017-04-07 08:18:13Z gruen $ % \name{stepFlexmix} \alias{stepFlexmix} \alias{initFlexmix} \alias{initMethod} \alias{stepFlexmix-class} \alias{initMethod-class} \alias{plot,stepFlexmix,missing-method} \alias{show,stepFlexmix-method} \alias{getModel,stepFlexmix-method} \alias{unique,stepFlexmix-method} \title{Run FlexMix Repeatedly} \description{ Runs flexmix repeatedly for different numbers of components and returns the maximum likelihood solution for each. } \usage{ initFlexmix(..., k, init = list(), control = list(), nrep = 3L, verbose = TRUE, drop = TRUE, unique = FALSE) initMethod(name = c("tol.em", "cem.em", "sem.em"), step1 = list(tolerance = 10^-2), step2 = list(), control = list(), nrep = 3L) stepFlexmix(..., k = NULL, nrep = 3, verbose = TRUE, drop = TRUE, unique = FALSE) \S4method{plot}{stepFlexmix,missing}(x, y, what = c("AIC", "BIC", "ICL"), xlab = NULL, ylab = NULL, legend = "topright", ...) \S4method{getModel}{stepFlexmix}(object, which = "BIC") \S4method{unique}{stepFlexmix}(x, incomparables = FALSE, ...) } \arguments{ \item{\dots}{Passed to \code{\link{flexmix}} (or \code{\link{matplot}} in the \code{plot} method).} \item{k}{A vector of integers passed in turn to the \code{k} argument of \code{\link{flexmix}}.} \item{init}{An object of class \code{"initMethod"} or a named list where \code{initMethod} is called with it as arguments in addition to the \code{control} argument.} \item{name}{A character string indication which initialization strategy should be employed: short runs of EM followed by a long (\code{"tol.em"}), short runs of CEM followed by a long EM run (\code{"cem.em"}), short runs of SEM followed by a long EM run (\code{"sem.em"}).} \item{step1}{A named list which combined with the \code{control} argument is coercable to a \code{"FLXcontrol"} object. This control setting is used for the short runs.} \item{step2}{A named list which combined with the \code{control} argument is coercable to a \code{"FLXcontrol"} object. This control setting is used for the long run.} \item{control}{A named list which combined with the \code{step1} or the \code{step2} argument is coercable to a \code{"FLXcontrol"} object.} \item{nrep}{For each value of \code{k} run \code{\link{flexmix}} \code{nrep} times and keep only the solution with maximum likelihood. If \code{nrep} is set for the long run, it is ignored, because the EM algorithm is deterministic using the best solution discovered in the short runs for initialization.} \item{verbose}{If \code{TRUE}, show progress information during computations.} \item{drop}{If \code{TRUE} and \code{k} is of length 1, then a single flexmix object is returned instead of a \code{"stepFlexmix"} object.} \item{unique}{If \code{TRUE}, then \code{unique()} is called on the result, see below.} \item{x, object}{An object of class \code{"stepFlexmix"}.} \item{y}{Not used.} \item{what}{Character vector naming information criteria to plot. Functions of the same name must exist, which take a \code{stepFlexmix} object as input and return a numeric vector like \code{AIC,stepFlexmix-method} (see examples below).} \item{xlab,ylab}{Graphical parameters.} \item{legend}{If not \code{FALSE} and \code{what} contains more than 1 element, a legend is placed at the specified location, see \code{\link{legend}} for details.} \item{which}{Number of model to get. If character, interpreted as number of components or name of an information criterion.} \item{incomparables}{A vector of values that cannot be compared. Currently, \code{FALSE} is the only possible value, meaning that all values can be compared.} } \value{ An object of class \code{"stepFlexmix"} containing the best models with respect to the log likelihood for the different number of components in a slot if \code{length(k)>1}, else directly an object of class \code{"flexmix"}. If \code{unique = FALSE}, then the resulting object contains one model per element of \code{k} (which is the number of clusters the EM algorithm started with). If \code{unique = TRUE}, then the result is resorted according to the number of clusters contained in the fitted models (which may be less than the number with which the EM algorithm started), and only the maximum likelihood solution for each number of fitted clusters is kept. This operation can also be done manually by calling \code{unique()} on objects of class \code{"stepFlexmix"}. } \author{Friedrich Leisch and Bettina Gruen} \references{ Friedrich Leisch. FlexMix: A general framework for finite mixture models and latent class regression in R. \emph{Journal of Statistical Software}, \bold{11}(8), 2004. doi:10.18637/jss.v011.i08 Christophe Biernacki, Gilles Celeux and Gerard Govaert. Choosing starting values for the EM algorithm for getting the highest likelihood in multivariate Gaussian mixture models. \emph{Computational Statistics & Data Analysis}, \bold{41}(3--4), 561--575, 2003. Theresa Scharl, Bettina Gruen and Friedrch Leisch. Mixtures of regression models for time-course gene expression data: Evaluation of initialization and random effects. \emph{Bioinformatics}, \bold{26}(3), 370--377, 2010. } \examples{ data("Nclus", package = "flexmix") ## try 2 times for k = 4 set.seed(511) ex1 <- initFlexmix(Nclus~1, k = 4, model = FLXMCmvnorm(diagonal = FALSE), nrep = 2) ex1 ## now 2 times each for k = 2:5, specify control parameter ex2 <- initFlexmix(Nclus~1, k = 2:5, model = FLXMCmvnorm(diagonal = FALSE), control = list(minprior = 0), nrep = 2) ex2 plot(ex2) ## get BIC values BIC(ex2) ## get smallest model getModel(ex2, which = 1) ## get model with 3 components getModel(ex2, which = "3") ## get model with smallest ICL (here same as for AIC and BIC: true k = 4) getModel(ex2, which = "ICL") ## now 1 time each for k = 2:5, with larger minimum prior ex3 <- initFlexmix(Nclus~1, k = 2:5, model = FLXMCmvnorm(diagonal = FALSE), control = list(minprior = 0.1), nrep = 1) ex3 ## keep only maximum likelihood solution for each unique number of ## fitted clusters: unique(ex3) } \keyword{cluster} \keyword{regression} flexmix/man/BregFix.Rd0000644000176200001440000000212114404637306014321 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: BregFix.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{BregFix} \alias{BregFix} \docType{data} \title{Artificial Example for Binomial Regression} \description{ A simple artificial regression example data set with 3 latent classes, one independent variable \code{x} and a concomitant variable \code{w}. } \usage{data("BregFix")} \format{ A data frame with 200 observations on the following 5 variables. \describe{ \item{\code{yes}}{number of successes} \item{\code{no}}{number of failures} \item{\code{x}}{independent variable} \item{\code{w}}{concomitant variable, a factor with levels \code{0} \code{1}} \item{\code{class}}{latent class memberships} } } \examples{ data("BregFix", package = "flexmix") Model <- FLXMRglmfix(family="binomial", nested = list(formula = c(~x, ~0), k = c(2, 1))) Conc <- FLXPmultinom(~w) FittedBin <- initFlexmix(cbind(yes, no) ~ 1, data = BregFix, k = 3, model = Model, concomitant = Conc) summary(FittedBin) } \keyword{datasets} flexmix/man/FLXMRziglm.Rd0000644000176200001440000000302114404637306014726 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: FLXMRziglm.Rd 5229 2022-06-02 14:47:26Z gruen $ % \name{FLXMRziglm} \alias{FLXMRziglm} \alias{FLXMRziglm-class} \alias{refit,FLXMRziglm-method} \alias{FLXreplaceParameters,FLXMRziglm-method} \alias{FLXgradlogLikfun,FLXMRziglm-method} \title{FlexMix Interface to Zero Inflated Generalized Linear Models} \description{ This is a driver which allows fitting of zero inflated poisson and binomial models. } \usage{ FLXMRziglm(formula = . ~ ., family = c("binomial", "poisson"), ...) } \arguments{ \item{formula}{A formula which is interpreted relative to the formula specified in the call to \code{flexmix} using \code{\link{update.formula}}. Default is to use the original \code{flexmix} model formula.} \item{family}{A character string naming a \code{\link{glm}} family function.} \item{\dots}{passed to \code{FLXMRglm}} } \value{ Returns an object of class \code{FLXMRziglm} inheriting from \code{FLXMRglm}. } \author{Friedrich Leisch and Bettina Gruen} \note{ In fact this only approximates zero inflated models by fixing the coefficient of the intercept at -Inf and the other coefficients at zero for the first component. } \examples{ data("dmft", package = "flexmix") Model <- FLXMRziglm(family = "poisson") Fitted <- flexmix(End ~ log(Begin + 0.5) + Gender + Ethnic + Treatment, model = Model, k = 2 , data = dmft, control = list(minprior = 0.01)) summary(refit(Fitted)) } \keyword{models} flexmix/man/FLXdist.Rd0000644000176200001440000000255614404637306014324 0ustar liggesusers\name{FLXdist} \alias{FLXdist} \alias{simulate,FLXdist-method} \alias{show,FLXdist-method} \title{Finite Mixtures of Distributions} \description{ Constructs objects of class \code{FLXdist} which represent unfitted finite mixture models. } \usage{ FLXdist(formula, k = NULL, model = FLXMRglm(), components, concomitant = FLXPconstant()) } \arguments{ \item{formula}{A symbolic description of the model to be fit. The general form is \code{~x|g} where \code{x} is the set of predictors and \code{g} an optional grouping factor for repeated measurements.} \item{k}{Integer specifying the number of cluster or a numeric vector of length equal to the length of components, specifying the prior probabilities of clusters.} \item{model}{Object of class \code{FLXM} or a list of \code{FLXM} objects. Default is the object returned by calling \code{FLXMRglm()}.} \item{components}{A list of length equal to the number of components containing a list of length equal to the number of models which again contains a list of named elements for defining the parameters of the component-specific model.} \item{concomitant}{Object of class \code{FLXconcomitant} specifying the model for concomitant variables.} } \value{ Returns an object of class \code{FLXdist}. } \author{Bettina Gruen} \seealso{\code{FLXdist-class}} \keyword{utilities} flexmix/man/FLXMRlmmc.Rd0000644000176200001440000000300314404637306014534 0ustar liggesusers\name{FLXMRlmmc} \alias{FLXMRlmmc} \alias{FLXMRlmmc-class} \alias{FLXMRlmmcfix-class} \alias{FLXMRlmc-class} \alias{FLXMRlmcfix-class} \alias{predict,FLXMRlmc-method} \title{FlexMix Interface to Linear Mixed Models with Left-Censoring} \description{ This is a driver which allows fitting of mixtures of linear models with random effects and left-censored observations. } \usage{ FLXMRlmmc(formula = . ~ ., random, censored, varFix, eps = 10^-6, ...) } \arguments{ \item{formula}{A formula which is interpreted relative to the formula specified in the call to \code{flexmix} using \code{\link{update.formula}}. Default is to use the original \code{flexmix} model formula.} \item{random}{A formula for specifying the random effects. If missing no random effects are fitted.} \item{varFix}{If random effects are specified a named logical vector of length 2 indicating if the variance of the random effects and the residuals are fixed over the components. Otherwise a logical indicating if the variance of the residuals are fixed over the components.} \item{censored}{A formula for specifying the censoring variable.} \item{eps}{Observations with an a-posteriori probability smaller or equal to \code{eps} are omitted in the M-step.} \item{\dots}{Additional arguments to be passed to \code{lm.wfit}.} } \value{ Returns an object of class \code{FLXMRlmmc}, \code{FLXMRlmmcfix}, \code{FLXMRlmc} or \code{FLXMRlmcfix} inheriting from \code{FLXMR}. } \author{Bettina Gruen} \keyword{models} flexmix/man/FLXglm.Rd0000644000176200001440000000261114404637306014130 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: FLXglm.Rd 5229 2022-06-02 14:47:26Z gruen $ % \name{FLXMRglm} \alias{FLXMRglm} \alias{FLXglm} \title{FlexMix Interface to Generalized Linear Models} \description{ This is the main driver for FlexMix interfacing the \code{\link{glm}} family of models. } \usage{ FLXMRglm(formula = . ~ ., family = c("gaussian", "binomial", "poisson", "Gamma"), offset = NULL) } \arguments{ \item{formula}{A formula which is interpreted relative to the formula specified in the call to \code{\link{flexmix}} using \code{\link{update.formula}}. Default is to use the original \code{\link{flexmix}} model formula.} \item{family}{A character string naming a \code{\link{glm}} family function.} \item{offset}{This can be used to specify an \emph{a priori} known component to be included in the linear predictor during fitting.} } \details{ See \code{\link{flexmix}} for examples. } \value{ Returns an object of class \code{FLXMRglm} inheriting from \code{FLXMR}. } \author{Friedrich Leisch and Bettina Gruen} \references{ Friedrich Leisch. FlexMix: A general framework for finite mixture models and latent class regression in R. \emph{Journal of Statistical Software}, \bold{11}(8), 2004. doi:10.18637/jss.v011.i08 } \seealso{\code{\link{flexmix}}, \code{\link{glm}}} \keyword{regression} \keyword{models} flexmix/man/posterior.Rd0000644000176200001440000000225514404637306015031 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: posterior.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{posterior} \alias{clusters,flexmix,missing-method} \alias{clusters,FLXdist,ANY-method} \alias{posterior,flexmix,missing-method} \alias{posterior,FLXdist,listOrdata.frame-method} \title{Determine Cluster Membership and Posterior Probabilities} \description{Determine posterior probabilities or cluster memberships for a fitted \code{flexmix} or unfitted \code{FLXdist} model.} \usage{ \S4method{posterior}{flexmix,missing}(object, newdata, unscaled = FALSE, ...) \S4method{posterior}{FLXdist,listOrdata.frame}(object, newdata, unscaled = FALSE, ...) \S4method{clusters}{flexmix,missing}(object, newdata, ...) \S4method{clusters}{FLXdist,ANY}(object, newdata, ...) } \arguments{ \item{object}{An object of class "flexmix" or "FLXdist".} \item{newdata}{Data frame or list containing new data. If missing the posteriors of the original observations are returned.} \item{unscaled}{Logical, if \code{TRUE} the component-specific likelihoods are returned.} \item{\dots}{Currently not used.} } \author{Friedrich Leisch and Bettina Gruen} \keyword{methods} flexmix/man/NregFix.Rd0000644000176200001440000000243214404637306014342 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: NregFix.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{NregFix} \alias{NregFix} \title{Artificial Example for Normal Regression} \description{ A simple artificial regression example with 3 latent classes, two independent variables, one concomitant variable and a dependent variable which follows a Gaussian distribution. } \usage{ data("NregFix") } \format{ A data frame with 200 observations on the following 5 variables. \describe{ \item{\code{x1}}{Independent variable: numeric variable.} \item{\code{x2}}{Independent variable: a factor with two levels: \code{0} and \code{1}.} \item{\code{w}}{Concomitant variable: a factor with two levels: \code{0} and \code{1}.} \item{\code{y}}{Dependent variable.} \item{\code{class}}{Latent class memberships.} } } \examples{ data("NregFix", package = "flexmix") library("lattice") xyplot(y ~ x1 | x2 * w, data = NregFix, groups = class) Model <- FLXMRglmfix(~ 1, fixed = ~ x2, nested = list(k = c(2, 1), formula = c(~x1, ~0))) fittedModel <- initFlexmix(y ~ 1, model = Model, data = NregFix, k = 3, concomitant = FLXPmultinom(~ w), nrep = 5) fittedModel } \keyword{datasets} flexmix/man/flexmix-class.Rd0000644000176200001440000000370214404637306015560 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: flexmix-class.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{flexmix-class} \docType{class} \alias{flexmix-class} \title{Class "flexmix"} \description{A fitted \code{\link{flexmix}} model.} \section{Slots}{ \describe{ \item{\code{model}:}{List of \code{FLXM} objects.} \item{\code{prior}:}{Numeric vector with prior probabilities of clusters.} \item{\code{posterior}:}{Named list with elements \code{scaled} and \code{unscaled}, both matrices with one row per observation and one column per cluster.} \item{\code{iter}:}{Number of EM iterations.} \item{\code{k}:}{Number of clusters after EM.} \item{\code{k0}:}{Number of clusters at start of EM.} \item{\code{cluster}:}{Cluster assignments of observations.} \item{\code{size}:}{Cluster sizes.} \item{\code{logLik}:}{Log-likelihood at EM convergence.} \item{\code{df}:}{Total number of parameters of the model.} \item{\code{components}:}{List describing the fitted components using \code{FLXcomponent} objects.} \item{\code{formula}:}{Object of class \code{"formula"}.} \item{\code{control}:}{Object of class \code{"FLXcontrol"}.} \item{\code{call}:}{The function call used to create the object.} \item{\code{group}:}{Object of class \code{"factor"}.} \item{\code{converged}:}{Logical, \code{TRUE} if EM algorithm converged.} \item{\code{concomitant}:}{Object of class \code{"FLXP"}..} \item{\code{weights}:}{Optional weights of the observations.} } } \section{Extends}{ Class \code{FLXdist}, directly. } \section{Accessor Functions}{ The following functions should be used for accessing the corresponding slots: \describe{ \item{\code{cluster}:}{Cluster assignments of observations.} \item{\code{posterior}:}{A matrix of posterior probabilities for each observation.} } } \author{Friedrich Leisch and Bettina Gruen} \keyword{classes} flexmix/man/EIC.Rd0000644000176200001440000000241414404637306013400 0ustar liggesusers% % Copyright (C) 2004-2009 Friedrich Leisch and Bettina Gruen % $Id: EIC.Rd 3912 2008-03-13 15:10:24Z gruen $ % \name{EIC} \alias{EIC} \alias{EIC,flexmix-method} \alias{EIC,stepFlexmix-method} \title{Entropic Measure Information Criterion} \description{ Compute the entropic measure information criterion for model selection. } \usage{ \S4method{EIC}{flexmix}(object, \dots) \S4method{EIC}{stepFlexmix}(object, \dots) } \arguments{ \item{object}{See Methods section below} \item{\dots}{Some methods for this generic function may take additional, optional arguments. At present none do.} } \section{Methods}{ \describe{ \item{object = "flexmix":}{Compute the EIC of a \code{flexmix} object.} \item{object = "stepFlexmix":}{Compute the EIC of all models contained in the \code{stepFlexmix} object.} }} \value{ Returns a numeric vector with the corresponding EIC value(s). } \keyword{methods} \author{Bettina Gruen} \references{ V. Ramaswamy, W. S. DeSarbo, D. J. Reibstein, and W. T. Robinson. An empirical pooling approach for estimating marketing mix elasticities with PIMS data. \emph{Marketing Science}, \bold{12}(1), 103--124, 1993. } \examples{ data("NPreg", package = "flexmix") ex1 <- flexmix(yn ~ x + I(x^2), data = NPreg, k = 2) EIC(ex1) } flexmix/man/refit.Rd0000644000176200001440000001204614404637306014113 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: refit.Rd 5115 2017-04-07 08:18:13Z gruen $ % \name{refit-methods} \alias{refit,flexmix-method} \alias{FLXRmstep-class} \alias{FLXRoptim-class} \alias{show,FLXR-method} \alias{show,Coefmat-method} \alias{summary,FLXRoptim-method} \alias{summary,FLXRmstep-method} \alias{plot,FLXRoptim,missing-method} \title{Refit a Fitted Model} \description{ Refits an estimated flexmix model to obtain additional information like coefficient significance p-values for GLM regression. } \usage{ \S4method{refit}{flexmix}(object, newdata, method = c("optim", "mstep"), ...) \S4method{summary}{FLXRoptim}(object, model = 1, which = c("model", "concomitant"), ...) \S4method{summary}{FLXRmstep}(object, model = 1, which = c("model", "concomitant"), ...) \S4method{plot}{FLXRoptim,missing}(x, y, model = 1, which = c("model", "concomitant"), bycluster = TRUE, alpha = 0.05, components, labels = NULL, significance = FALSE, xlab = NULL, ylab = NULL, ci = TRUE, scales = list(), as.table = TRUE, horizontal = TRUE, ...) } \arguments{ \item{object}{An object of class \code{"flexmix"}} \item{newdata}{Optional new data.} \item{method}{Specifies if the variance covariance matrix is determined using \code{\link{optim}} or if the posteriors are assumed as given and an M-step is performed.} \item{model}{The model (for a multivariate response) that shall be used.} \item{which}{Specifies if a component specific model or the concomitant variable model is used.} \item{x}{An object of class \code{"FLXRoptim"}} \item{y}{Missing object.} \item{bycluster}{A logical if the parameters should be group by cluster or by variable.} \item{alpha}{Numeric indicating the significance level.} \item{components}{Numeric vector specifying which components are plotted. The default is to plot all components.} \item{labels}{Character vector specifying the variable names used.} \item{significance}{A logical indicating if non-significant coefficients are shaded in a lighter grey.} \item{xlab}{String for the x-axis label.} \item{ylab}{String for the y-axis label.} \item{ci}{A logical indicating if significant and insignificant parameter estimates are shaded differently.} \item{scales}{See argument of the same name for function \code{\link[lattice]{xyplot}}.} \item{as.table}{See arguments of the same name for function \code{\link[lattice]{xyplot}}.} \item{horizontal}{See arguments of the same name for function \code{\link[lattice]{xyplot}}.} \item{\dots}{Currently not used} } \value{ An object inheriting form class \code{FLXR} is returned. For the method using \code{optim} the object has class \code{FLXRoptim} and for the M-step method it has class \code{FLXRmstep}. Both classes give similar results for their \code{summary} methods. Objects of class \code{FLXRoptim} have their own \code{plot} method. \code{Lapply} can be used to further analyse the refitted component specific models of objects of class \code{FLXRmstep}. } \details{ The \code{refit} method for \code{FLXMRglm} models in combination with the \code{summary} method can be used to obtain the usual tests for significance of coefficients. Note that the tests are valid only if \code{flexmix} returned the maximum likelihood estimator of the parameters. If \code{refit} is used with \code{method = "mstep"} for these component specific models the returned object contains a \code{glm} object for each component where the elements \code{model} which is the model frame and \code{data} which contains the original dataset are missing. } \keyword{methods} \author{Friedrich Leisch and Bettina Gruen} \references{ Friedrich Leisch. FlexMix: A general framework for finite mixture models and latent class regression in R. \emph{Journal of Statistical Software}, \bold{11}(8), 2004. doi:10.18637/jss.v011.i08 } \section{Warning}{ For \code{method = "mstep"} the standard deviations are determined separately for each of the components using the a-posteriori probabilities as weights without accounting for the fact that the components have been simultaneously estimated. The derived standard deviations are hence approximative and should only be used in an exploratory way, as they are underestimating the uncertainty given that the missing information of the component memberships are replaced by the expected values. The \code{newdata} argument can only be specified when using \code{method = "mstep"} for refitting \code{FLXMRglm} components. A variant of \code{glm} for weighted ML estimation is used for fitting the components and full \code{glm} objects are returned. Please note that in this case the data and the model frame are stored for each component which can significantly increase the object size. } \examples{ data("NPreg", package = "flexmix") ex1 <- flexmix(yn ~ x + I(x^2), data = NPreg, k = 2) ex1r <- refit(ex1) ## in one component all coefficients should be highly significant, ## in the other component only the linear term summary(ex1r) } flexmix/man/flexmix.Rd0000644000176200001440000001266614404637306014466 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: flexmix.Rd 5115 2017-04-07 08:18:13Z gruen $ % \name{flexmix} \alias{flexmix} \alias{flexmix,formula,ANY,ANY,ANY,missing-method} \alias{flexmix,formula,ANY,ANY,ANY,list-method} \alias{flexmix,formula,ANY,ANY,ANY,FLXM-method} \alias{prior,flexmix-method} \alias{show,flexmix-method} \alias{summary,flexmix-method} \alias{show,summary.flexmix-method} \title{Flexible Mixture Modeling} \description{ FlexMix implements a general framework for finite mixtures of regression models. Parameter estimation is performed using the EM algorithm: the E-step is implemented by \code{flexmix}, while the user can specify the M-step. } \usage{ flexmix(formula, data = list(), k = NULL, cluster = NULL, model = NULL, concomitant = NULL, control = NULL, weights = NULL) \S4method{summary}{flexmix}(object, eps = 1e-4, ...) } \arguments{ \item{formula}{A symbolic description of the model to be fit. The general form is \code{y~x|g} where \code{y} is the response, \code{x} the set of predictors and \code{g} an optional grouping factor for repeated measurements.} \item{data}{An optional data frame containing the variables in the model.} \item{k}{Number of clusters (not needed if \code{cluster} is specified).} \item{cluster}{Either a matrix with \code{k} columns of initial cluster membership probabilities for each observation; or a factor or integer vector with the initial cluster assignments of observations at the start of the EM algorithm. Default is random assignment into \code{k} clusters.} \item{weights}{An optional vector of replication weights to be used in the fitting process. Should be \code{NULL}, an integer vector or a formula.} \item{model}{Object of class \code{FLXM} or list of \code{FLXM} objects. Default is the object returned by calling \code{\link{FLXMRglm}()}.} \item{concomitant}{Object of class \code{FLXP}. Default is the object returned by calling \code{\link{FLXPconstant}}.} \item{control}{Object of class \code{FLXcontrol} or a named list.} \item{object}{Object of class \code{flexmix}.} \item{eps}{Probabilities below this threshold are treated as zero in the summary method.} \item{\dots}{Currently not used.} } \details{ FlexMix models are described by objects of class \code{FLXM}, which in turn are created by driver functions like \code{\link{FLXMRglm}} or \code{\link{FLXMCmvnorm}}. Multivariate responses with independent components can be specified using a list of \code{FLXM} objects. The \code{summary} method lists for each component the prior probability, the number of observations assigned to the corresponding cluster, the number of observations with a posterior probability larger than \code{eps} and the ratio of the latter two numbers (which indicates how separated the cluster is from the others). } \value{ Returns an object of class \code{flexmix}. } \author{Friedrich Leisch and Bettina Gruen} \seealso{\code{\link[flexmix]{plot-methods}}} \references{ Friedrich Leisch. FlexMix: A general framework for finite mixture models and latent class regression in R. \emph{Journal of Statistical Software}, \bold{11}(8), 2004. doi:10.18637/jss.v011.i08 Bettina Gruen and Friedrich Leisch. Fitting finite mixtures of generalized linear regressions in R. Computational Statistics & Data Analysis, 51(11), 5247-5252, 2007. doi:10.1016/j.csda.2006.08.014 Bettina Gruen and Friedrich Leisch. FlexMix Version 2: Finite mixtures with concomitant variables and varying and constant parameters Journal of Statistical Software, 28(4), 1-35, 2008. doi:10.18637/jss.v028.i04 } \keyword{regression} \keyword{cluster} \examples{ data("NPreg", package = "flexmix") ## mixture of two linear regression models. Note that control parameters ## can be specified as named list and abbreviated if unique. ex1 <- flexmix(yn ~ x + I(x^2), data = NPreg, k = 2, control = list(verb = 5, iter = 100)) ex1 summary(ex1) plot(ex1) ## now we fit a model with one Gaussian response and one Poisson ## response. Note that the formulas inside the call to FLXMRglm are ## relative to the overall model formula. ex2 <- flexmix(yn ~ x, data = NPreg, k = 2, model = list(FLXMRglm(yn ~ . + I(x^2)), FLXMRglm(yp ~ ., family = "poisson"))) plot(ex2) ex2 table(ex2@cluster, NPreg$class) ## for Gaussian responses we get coefficients and standard deviation parameters(ex2, component = 1, model = 1) ## for Poisson response we get only coefficients parameters(ex2, component = 1, model = 2) ## fitting a model only to the Poisson response is of course ## done like this ex3 <- flexmix(yp ~ x, data = NPreg, k = 2, model = FLXMRglm(family = "poisson")) ## if observations are grouped, i.e., we have several observations per ## individual, fitting is usually much faster: ex4 <- flexmix(yp~x|id1, data = NPreg, k = 2, model = FLXMRglm(family = "poisson")) ## And now a binomial example. Mixtures of binomials are not generically ## identified, here the grouping variable is necessary: set.seed(1234) ex5 <- initFlexmix(cbind(yb,1 - yb) ~ x, data = NPreg, k = 2, model = FLXMRglm(family = "binomial"), nrep = 5) table(NPreg$class, clusters(ex5)) ex6 <- initFlexmix(cbind(yb, 1 - yb) ~ x | id2, data = NPreg, k = 2, model = FLXMRglm(family = "binomial"), nrep = 5) table(NPreg$class, clusters(ex6)) } flexmix/man/flxglht.Rd0000644000176200001440000000310514757625043014454 0ustar liggesusers\name{flxglht} \docType{methods} \alias{flxglht} \alias{flxglht,flexmix,character-method} \alias{flxglht,FLXRoptim,character-method} \title{ Simultaneous Inference in Finite Mixtures of Regression Models } \description{ Extracts coefficient estimates and their covariance estimate to perform tests for zero coefficients or constant effects re-using functionality from package \pkg{multcomp}. } \usage{ flxglht(model, linfct, ...) \S4method{flxglht}{flexmix,character}(model, linfct, ...) \S4method{flxglht}{FLXRoptim,character}(model, linfct, ...) } \arguments{ \item{model}{ Either a fitted mixture model of class \code{"flexmix"} or a re-fitted mixture model of class \code{"FLXRoptim"}. } \item{linfct}{ A character string which can be either \code{"zero"} or \code{"tukey"}. } \item{\dots}{ Currently not used. } } \details{ Only tested for finite mixture models fitted with driver \code{\link{FLXMRglm}}. } \value{ An object of class \code{"glht"}. } \references{ Friedrich Leisch and Torsten Hothorn. Simultaneous Inference in Finite Mixtures of Regression Models. \emph{Austrian Journal of Statistics}, forthcoming. } \author{ Friedrich Leisch } \seealso{ \code{\link[multcomp]{glht}} } \examples{ data("NPreg", package = "flexmix") ex1 <- flexmix(yn ~ x + I(x^2), data = NPreg, k = 2, control = list(verb = 5, iter = 100)) zero_effect <- flxglht(ex1, "zero") zero_effect summary(zero_effect) comp_effect <- flxglht(ex1, "tukey") comp_effect summary(comp_effect) } \keyword{cluster} \keyword{regression} \keyword{methods} flexmix/man/seizure.Rd0000644000176200001440000000414514404637306014471 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: seizure.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{seizure} \alias{seizure} \docType{data} \title{Epileptic Seizure Data} \description{ Data from a clinical trial where the effect of intravenous gamma-globulin on suppression of epileptic seizures is studied. Daily observations for a period of 140 days on one patient are given, where the first 27 days are a baseline period without treatment, the remaining 113 days are the treatment period. } \usage{data("seizure")} \format{ A data frame with 140 observations on the following 4 variables. \describe{ \item{Seizures}{A numeric vector, daily counts of epileptic seizures.} \item{Hours}{A numeric vector, hours of daily parental observation.} \item{Treatment}{A factor with levels \code{No} and \code{Yes}.} \item{Day}{A numeric vector.} } } \source{ P. Wang, M. Puterman, I. Cockburn, and N. Le. Mixed poisson regression models with covariate dependent rates. \emph{Biometrics}, \bold{52}, 381--400, 1996. } \references{ B. Gruen and F. Leisch. Bootstrapping finite mixture models. In J. Antoch, editor, Compstat 2004--Proceedings in Computational Statistics, 1115--1122. Physika Verlag, Heidelberg, Germany, 2004. ISBN 3-7908-1554-3. } \examples{ data("seizure", package = "flexmix") plot(Seizures/Hours ~ Day, col = as.integer(Treatment), pch = as.integer(Treatment), data = seizure) abline(v = 27.5, lty = 2, col = "grey") legend(140, 9, c("Baseline", "Treatment"), pch = 1:2, col = 1:2, xjust = 1, yjust = 1) set.seed(123) ## The model presented in the Wang et al paper: two components for ## "good" and "bad" days, respectively, each a Poisson GLM with hours of ## parental observation as offset seizMix <- flexmix(Seizures ~ Treatment * log(Day), data = seizure, k = 2, model = FLXMRglm(family = "poisson", offset = log(seizure$Hours))) summary(seizMix) summary(refit(seizMix)) matplot(seizure$Day, fitted(seizMix)/seizure$Hours, type = "l", add = TRUE, col = 3:4) } \keyword{datasets} flexmix/man/ExNclus.Rd0000644000176200001440000000151314404637306014360 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: ExNclus.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{ExNclus} \alias{ExNclus} \alias{Nclus} \title{Artificial Example with 4 Gaussians} \description{ A simple artificial example for normal clustering with 4 latent classes, all of them having a Gaussian distribution. See the function definition for true means and covariances. } \usage{ ExNclus(n) data("Nclus") } \arguments{ \item{n}{Number of observations in the two small latent classes.} } \details{ The \code{Nclus} data set can be re-created by \code{ExNclus(100)} using \code{set.seed(2602)}, it has been saved as a data set for simplicity of examples only. } \examples{ data("Nclus", package = "flexmix") require("MASS") eqscplot(Nclus, col = rep(1:4, c(100, 100, 150, 200))) } \keyword{datasets} flexmix/man/betablocker.Rd0000644000176200001440000000276614404637306015267 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: betablocker.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{betablocker} \alias{betablocker} \docType{data} \title{Clinical Trial of Beta-Blockers} \description{ 22-centre clinical trial of beta-blockers for reducing mortality after myocardial infarction. } \usage{data("betablocker")} \format{ A data frame with 44 observations on the following 4 variables. \describe{ \item{Deaths}{Number of deaths.} \item{Total}{Total number of patients.} \item{Center}{Number of clinical centre.} \item{Treatment}{A factor with levels \code{Control} and \code{Treated}.} } } \source{ G. McLachlan and D. Peel. \emph{Finite Mixture Models}, 2000. John Wiley and Sons Inc. \url{http://www.maths.uq.edu.au/~gjm/DATA/mmdata.html} } \references{ M. Aitkin. Meta-analysis by random effect modelling in generalized linear models. \emph{Statistics in Medicine}, \bold{18}, 2343--2351, 1999. S. Yusuf, R. Peto, J. Lewis, R. Collins and P. Sleight. Beta blockade during and after myocardial infarction: an overview of the randomized trials. \emph{Progress in Cardiovascular Diseases}, \bold{27}, 335--371, 1985. } \examples{ data("betablocker", package = "flexmix") betaMix <- initFlexmix(cbind(Deaths, Total - Deaths) ~ 1 | Center, data = betablocker, k = 3, nrep = 5, model = FLXMRglmfix(family = "binomial", fixed = ~Treatment)) } \keyword{datasets} flexmix/man/FLXMCdist1.Rd0000644000176200001440000000373614404637306014626 0ustar liggesusers% % Copyright (C) 2016 Bettina Gruen % $Id: FLXMCdist1.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{FLXMCdist1} \alias{FLXMCdist1} \title{FlexMix Clustering of Univariate Distributions} \description{ These are drivers for \code{\link{flexmix}} implementing model-based clustering of univariate data using different distributions for the component-specific models. } \usage{ FLXMCdist1(formula = . ~ ., dist, ...) } \arguments{ \item{formula}{A formula which is interpreted relative to the formula specified in the call to \code{\link{flexmix}} using \code{\link{update.formula}}. Only the left-hand side (response) of the formula is used. Default is to use the original \code{\link{flexmix}} model formula.} \item{dist}{Character string indicating the component-specific univariate distribution.} \item{...}{Arguments for the specific model drivers.} } \details{ Currently drivers for the following distributions are available: \enumerate{ \item Lognormal (\code{"lnorm"}) \item inverse Gaussian (\code{"invGauss"} using \code{\link[SuppDists:invGauss]{dinvGauss}}) \item gamma (\code{"gamma"}) \item exponential (\code{"exp"}) \item Weibull (\code{"weibull"}) \item Burr (\code{"burr"} using \code{\link[actuar:Burr]{dburr}}) \item Inverse Burr (\code{"invburr"} using \code{\link[actuar:Burr]{dinvburr}}) } } \value{ \code{FLXMCdist1} returns an object of class \code{FLXMC}. } \author{Friedrich Leisch and Bettina Gruen} \references{ Tatjana Miljkovic and Bettina Gruen. Modeling loss data using mixtures of distributions. \emph{Insurance: Mathematics and Economics}, \bold{70}, 387-396, 2016. doi:10.1016/j.insmatheco.2016.06.019 } \seealso{\code{\link{flexmix}}} \keyword{cluster} \examples{ if (require("actuar")) { set.seed(123) y <- c(rexp(100, 10), rexp(100, 1)) ex <- flexmix(y ~ 1, cluster = rep(1:2, each = 100), model = FLXMCdist1(dist = "exp")) parameters(ex) } } flexmix/man/candy.Rd0000644000176200001440000000250314404637306014075 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: candy.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{candy} \alias{candy} \docType{data} \title{Candy Packs Purchased} \description{ The data is from a new product and concept test where the number of individual packs of hard candy purchased within the past 7 days is recorded. } \usage{data("candy")} \format{ A data frame with 21 observations on the following 2 variables. \describe{ \item{\code{Packages}}{a numeric vector} \item{\code{Freq}}{a numeric vector} } } \source{ D. Boehning, E. Dietz and P. Schlattmann. Recent Developments in Computer-Assisted Analysis of Mixtures. Biometrics 54(2), 525--536, 1998. } \references{ J. Magidson and J. K. Vermunt. Latent Class Models. In D. W. Kaplan (ed.), The Sage Handbook of Quantitative Methodology for the Social Sciences, 175--198, 2004. Thousand Oakes: Sage Publications. D. Boehning, E. Dietz and P. Schlattmann. Recent Developments in Computer-Assisted Analysis of Mixtures. \emph{Biometrics}, \bold{54}(2), 525--536, 1998. W. R. Dillon and A. Kumar. Latent structure and other mixture models in marketing: An integrative survey and overview. In R. P. Bagozzi (ed.), Advanced methods of marketing research, 352--388, 1994. Cambridge, UK: Blackwell. } \keyword{datasets} flexmix/man/FLXP-class.Rd0000644000176200001440000000211414404637306014651 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: FLXP-class.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{FLXP-class} \docType{class} \alias{FLXP-class} \title{Class "FLXP"} \alias{initialize,FLXP-method} \alias{FLXPconstant-class} \alias{FLXPmultinom-class} \description{ Concomitant model class. } \section{Objects from the Class}{ Objects can be created by calls of the form \code{new("FLXP", ...)}, typically inside driver functions like \code{\link{FLXPconstant}} or \code{\link{FLXPmultinom}}. } \section{Slots}{ \describe{ \item{\code{name}:}{Character string used in print methods.} \item{\code{formula}:}{Formula describing the model.} \item{\code{x}:}{Model matrix.} \item{\code{fit}:}{Function returning the fitted prior probabilities.} \item{\code{refit}:}{Function returning the fitted concomitant model.} \item{\code{coef}:}{Matrix containing the fitted parameters.} \item{\code{df}:}{Function for determining the number of degrees of freedom used.} } } \author{Friedrich Leisch and Bettina Gruen} \keyword{classes} flexmix/man/fitted.Rd0000644000176200001440000000213514404637306014257 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: fitted.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{fitted-methods} \docType{methods} \alias{fitted,flexmix-method} \alias{fitted,FLXM-method} \alias{fitted,FLXR-method} \alias{fitted,FLXRMRglm-method} \title{Extract Model Fitted Values} \description{ Extract fitted values for each component from a flexmix object. } \usage{ \S4method{fitted}{flexmix}(object, drop = TRUE, aggregate = FALSE, ...) } \arguments{ \item{object}{an object of class \code{"flexmix"} or \code{"FLXR"}} \item{drop}{logical, if \code{TRUE} then the function tries to simplify the return object by combining lists of length 1 into matrices.} \item{aggregate}{logical, if \code{TRUE} then the fitted values for each model aggregated over the components are returned.} \item{\dots}{currently not used} } \keyword{methods} \author{Friedrich Leisch and Bettina Gruen} \examples{ data("NPreg", package = "flexmix") ex1 <- flexmix(yn ~ x + I(x^2), data = NPreg, k = 2) matplot(NPreg$x, fitted(ex1), pch = 16, type = "p") points(NPreg$x, NPreg$yn) } flexmix/man/ExNPreg.Rd0000644000176200001440000000165114404637306014312 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: ExNPreg.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{ExNPreg} \alias{ExNPreg} \alias{NPreg} \title{Artificial Example for Normal, Poisson and Binomial Regression} \description{ A simple artificial regression example with 2 latent classes, one independent variable (uniform on \eqn{[0,10]}), and three dependent variables with Gaussian, Poisson and Binomial distribution, respectively. } \usage{ ExNPreg(n) data("NPreg") } \arguments{ \item{n}{Number of observations per latent class.} } \details{ The \code{NPreg} data frame can be re-created by \code{ExNPreg(100)} using \code{set.seed(2602)}, it has been saved as a data set for simplicity of examples only. } \examples{ data("NPreg", package = "flexmix") plot(yn ~ x, data = NPreg, col = class) plot(yp ~ x, data = NPreg, col = class) plot(yb ~ x, data = NPreg, col = class) } \keyword{datasets} flexmix/man/group.Rd0000644000176200001440000000073314404637306014136 0ustar liggesusers\name{group} \docType{methods} \alias{group} \alias{group-methods} \alias{group,flexmix-method} \alias{group,FLXM-method} \alias{group,FLXMRglmfix-method} \title{Extract Grouping Variable} \description{ Extract grouping variable for all observations. } \usage{ \S4method{group}{flexmix}(object) \S4method{group}{FLXM}(object) \S4method{group}{FLXMRglmfix}(object) } \arguments{ \item{object}{an object of class \code{flexmix}.} } \keyword{methods} \author{Bettina Gruen} flexmix/man/FLXbclust.Rd0000644000176200001440000000233314404637306014646 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: FLXbclust.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{FLXMCmvbinary} \alias{FLXMCmvbinary} \alias{FLXbclust} \title{FlexMix Binary Clustering Driver} \description{ This is a model driver for \code{\link{flexmix}} implementing model-based clustering of binary data. } \usage{ FLXMCmvbinary(formula = . ~ ., truncated = FALSE) } \arguments{ \item{formula}{A formula which is interpreted relative to the formula specified in the call to \code{\link{flexmix}} using \code{\link{update.formula}}. Only the left-hand side (response) of the formula is used. Default is to use the original \code{\link{flexmix}} model formula.} \item{truncated}{logical, if \code{TRUE} the observations for the pattern with only zeros are missing and the truncated likelihood is optimized using an EM-algorithm.} } \details{ This model driver can be used to cluster binary data. The only parameter is the column-wise mean of the data, which equals the probability of observing a 1. } \value{ \code{FLXMCmvbinary} returns an object of class \code{FLXMC}. } \author{Friedrich Leisch and Bettina Gruen} \seealso{\code{\link{flexmix}}} \keyword{cluster} flexmix/man/ExLinear.Rd0000644000176200001440000000560514404637306014514 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: ExNclus.Rd 3912 2008-03-13 15:10:24Z gruen $ % \name{ExLinear} \alias{ExLinear} \title{Artificial Data from a Generalized Linear Regression Mixture} \description{ Generate random data mixed from k generalized linear regressions (GLMs). } \usage{ ExLinear(beta, n, xdist = "runif", xdist.args = NULL, family = c("gaussian","poisson"), sd = 1, ...) } \arguments{ \item{beta}{A matrix of regression coefficients. Each row corresponds to a variable, each column to a mixture component. The first row is used as intercept.} \item{n}{Integer, the number of observations per component.} \item{xdist}{Character, name of a random number function for the explanatory variables.} \item{xdist.args}{List, arguments for the random number functions.} \item{family}{A character string naming a GLM family.Only \code{"gaussian"} and \code{"poisson"} are implemented at the moment.} \item{sd}{Numeric, the error standard deviation for each component for Gaussian responses.} \item{\dots}{Used as default for \code{xdist.args} if that is not specified.} } \details{ First, arguments \code{n} (and \code{sd} for Gaussian response) are recycled to the number of mixture components \code{ncol(beta)}, and arguments \code{xdist} and \code{xdist.args} are recycled to the number of explanatory variables \code{nrow(beta)-1}. Then a design matrix is created for each mixture component by drawing random numbers from \code{xdist}. For each component, the design matrix is multiplied by the regression coefficients to form the linear predictor. For Gaussian responses the identity link is used, for Poisson responses the log link. The true cluster memberships are returned as attribute \code{"clusters"}. } \examples{ ## simple example in 2d beta <- matrix(c(1, 2, 3, -1), ncol = 2) sigma <- c(.5, 1) df1 <- ExLinear(beta, 100, sd = sigma, min = -1, max = 2) plot(y~x1, df1, col = attr(df1, "clusters")) ## add a second explanatory variable with exponential distribution beta2 <- rbind(beta, c(-2, 2)) df2 <- ExLinear(beta2, 100, sd = c(.5, 1), xdist = c("runif", "rexp"), xdist.args = list(list(min = -1, max = 2), list(rate = 3))) summary(df2) opar = par("mfrow") par(mfrow = 1:2) hist(df2$x1) hist(df2$x2) par(opar) f1 <- flexmix(y ~ ., data = df2, k = 2) ## sort components on Intercept f1 <- relabel(f1, "model", "Intercept") ## the parameters should be close to the true beta and sigma round(parameters(f1), 3) rbind(beta2, sigma) ### A simple Poisson GLM df3 <- ExLinear(beta/2, 100, min = -1, max = 2, family = "poisson") plot(y ~ x1, df3, col = attr(df3, "clusters")) f3 <- flexmix(y ~ ., data = df3, k = 2, model = FLXMRglm(family = "poisson")) round(parameters(relabel(f3, "model", "Intercept")), 3) beta/2 } \keyword{datasets} flexmix/man/whiskey.Rd0000644000176200001440000000300314757625043014464 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: whiskey.Rd 5298 2025-02-26 14:50:01Z gruen $ % \name{whiskey} \alias{whiskey} \alias{whiskey_brands} \docType{data} \title{Survey Data on Brands of Scotch Whiskey Consumed} \description{ The data set is from Simmons Study of Media and Markets and contains the incidence matrix for scotch brands used in last year for those households who report consuming scotch. } \usage{data("whiskey")} \format{ A data frame \code{whiskey} with 484 observations on the following 2 variables. \describe{ \item{\code{Freq}}{a numeric vector} \item{\code{Incidence}}{a matrix with 21 columns} } Additional information on the brands is contained in the data frame \code{whiskey_brands} which is simultaneously loaded. This data frame contains 21 observations on the following 3 variables. \describe{ \item{\code{Brand}}{a character vector} \item{\code{Type}}{a factor with levels \code{Blend} \code{Single Malt}} \item{\code{Bottled}}{a factor with levels \code{Domestic} \code{Foreign}} } } \details{ The dataset is taken from the \pkg{bayesm} package. } \source{ Peter Rossi and Rob McCulloch. bayesm: Bayesian Inference for Marketing/Micro-econometrics. R package version 2.0-8, 2006. http://gsbwww.uchicago.edu/fac/peter.rossi/research/bsm.html } \references{ Edwards, Y. and G. Allenby. Multivariate Analysis of Multiple Response Data, \emph{Journal of Marketing Research}, \bold{40}, 321--334, 2003. } \keyword{datasets} flexmix/man/FLXcontrol-class.Rd0000644000176200001440000000333414404637306016137 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: FLXcontrol-class.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{FLXcontrol-class} \docType{class} \alias{FLXcontrol-class} \alias{coerce,list,FLXcontrol-method} \alias{coerce,NULL,FLXcontrol-method} \title{Class "FLXcontrol"} \description{Hyperparameters for the EM algorithm.} \section{Objects from the Class}{ Objects can be created by calls of the form \code{new("FLXcontrol", ...)}. In addition, named lists can be coerced to \code{FLXcontrol} objects, names are completed if unique (see examples). } \section{Slots}{ \describe{ \item{\code{iter.max}:}{Maximum number of iterations.} \item{\code{minprior}:}{Minimum prior probability of clusters, components falling below this threshold are removed during the iteration.} \item{\code{tolerance}:}{The EM algorithm is stopped when the (relative) change of log-likelihood is smaller than \code{tolerance}.} \item{\code{verbose}:}{If a positive integer, then the log-likelihood is reported every \code{verbose} iterations. If 0, no output is generated during model fitting.} \item{\code{classify}:}{Character string, one of \code{"auto"}, \code{"weighted"}, \code{"hard"} (or \code{"CEM"}), \code{"random"} or (\code{"SEM"}).} \item{\code{nrep}:}{Reports the number of random initializations used in \code{\link{stepFlexmix}()} to determine the mixture.} } Run \code{new("FLXcontrol")} to see the default settings of all slots. } \author{Friedrich Leisch and Bettina Gruen} \keyword{classes} \examples{ ## have a look at the defaults new("FLXcontrol") ## corce a list mycont <- list(iter = 200, tol = 0.001, class = "r") as(mycont, "FLXcontrol") } flexmix/man/FLXconcomitant.Rd0000644000176200001440000000177514404637306015701 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: FLXconcomitant.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{FLXP} \docType{class} \alias{FLXPconstant} \alias{FLXPmultinom} \alias{FLXconstant} \alias{FLXmultinom} \alias{show,FLXP-method} \title{Creates the Concomitant Variable Model} \description{ Creator functions for the concomitant variable model. \code{FLXPconstant} specifies constant priors and \code{FLXPmultinom} multinomial logit models for the priors. } \usage{ FLXPconstant() FLXPmultinom(formula = ~1) } \arguments{ \item{formula}{A formula for determining the model matrix of the concomitant variables.} } \details{ \code{FLXPmultinom} uses \code{nnet.default} from \pkg{nnet} to fit the multinomial logit model. } \value{ Object of class \code{FLXP}. \code{FLXPmultinom} returns an object of class \code{FLXPmultinom} which extends class \code{FLXP} directly and is used for method dispatching. } \author{Friedrich Leisch and Bettina Gruen} \keyword{models} flexmix/man/FLXcomponent-class.Rd0000644000176200001440000000147014404637306016460 0ustar liggesusers% % Copyright (C) 2004-2015 Friedrich Leisch and Bettina Gruen % $Id: FLXcomponent-class.Rd 5008 2015-01-13 20:30:25Z gruen $ % \name{FLXcomponent-class} \docType{class} \alias{FLXcomponent-class} \alias{show,FLXcomponent-method} \title{Class "FLXcomponent"} \description{A fitted component of a \code{\link{flexmix}} model.} \section{Objects from the Class}{ Objects can be created by calls of the form \code{new("FLXcomponent", ...)}. } \section{Slots}{ \describe{ \item{\code{df}:}{Number of parameters used by the component.} \item{\code{logLik}:}{Function computing the log-likelihood of observations.} \item{\code{parameters}:}{List with model parameters.} \item{\code{predict}:}{Function predicting response for new data.} } } \author{Friedrich Leisch and Bettina Gruen} \keyword{classes} flexmix/DESCRIPTION0000644000176200001440000000344214760252622013445 0ustar liggesusersPackage: flexmix Type: Package Title: Flexible Mixture Modeling Version: 2.3-20 Authors@R: c(person("Bettina", "Gruen", role = c("aut", "cre"), email = "Bettina.Gruen@R-project.org", comment = c(ORCID = "0000-0001-7265-4773")), person("Friedrich", "Leisch", role = "aut", comment = c(ORCID = "0000-0001-7278-1983")), person("Deepayan", "Sarkar", role = "ctb", comment = c(ORCID = "0000-0003-4107-1553")), person("Frederic", "Mortier", role = "ctb"), person("Nicolas", "Picard", role = "ctb", comment = c(ORCID = "0000-0001-5548-9171"))) Description: A general framework for finite mixtures of regression models using the EM algorithm is implemented. The E-step and all data handling are provided, while the M-step can be supplied by the user to easily define new models. Existing drivers implement mixtures of standard linear models, generalized linear models and model-based clustering. Depends: R (>= 2.15.0), lattice Imports: graphics, grid, grDevices, methods, modeltools (>= 0.2-16), nnet, stats, stats4, utils Suggests: actuar, codetools, diptest, Ecdat, ellipse, gclus, glmnet, lme4 (>= 1.1), MASS, mgcv (>= 1.8-0), mlbench, multcomp, mvtnorm, SuppDists, survival License: GPL (>= 2) LazyLoad: yes NeedsCompilation: no Packaged: 2025-02-26 14:53:48 UTC; gruen Author: Bettina Gruen [aut, cre] (), Friedrich Leisch [aut] (), Deepayan Sarkar [ctb] (), Frederic Mortier [ctb], Nicolas Picard [ctb] () Maintainer: Bettina Gruen Repository: CRAN Date/Publication: 2025-02-28 06:20:02 UTC