mFilter/0000755000176200001440000000000013475567234011674 5ustar liggesusersmFilter/NAMESPACE0000644000176200001440000000103013344157010013063 0ustar liggesusers#useDynLib("mFilter") import("graphics", "stats", "utils") export("mFilter", # "mFilter.default", # "mFilter.ts", "bwfilter", "bkfilter", "cffilter", "hpfilter", "trfilter", "print.mFilter", "summary.mFilter", "plot.mFilter", "fitted.mFilter", "residuals.mFilter" ) S3method("mFilter", "ts") S3method("print", "mFilter") S3method("summary", "mFilter") S3method("plot", "mFilter") S3method("fitted", "mFilter") S3method("residuals", "mFilter") mFilter/NEWS.md0000644000176200001440000000012313351510725012750 0ustar liggesusersmFilter 0.1-4 ============== - 2018-09-22 Minor fixes for new R versions.   mFilter/data/0000755000176200001440000000000013344157010012563 5ustar liggesusersmFilter/data/unemp.R0000755000176200001440000000403113344157010014033 0ustar liggesusersunemp <- structure(c(5.83333333333, 5.1, 5.26666666667, 5.6, 5.13333333333, 5.23333333333, 5.53333333333, 6.26666666667, 6.8, 7, 6.76666666667, 6.2, 5.63333333333, 5.53333333333, 5.56666666667, 5.53333333333, 5.76666666667, 5.73333333333, 5.5, 5.56666666667, 5.46666666667, 5.2, 5, 4.96666666667, 4.9, 4.66666666667, 4.36666666667, 4.1, 3.86666666667, 3.83333333333, 3.76666666667, 3.7, 3.83333333333, 3.83333333333, 3.8, 3.9, 3.73333333333, 3.56666666667, 3.53333333333, 3.4, 3.4, 3.43333333333, 3.56666666667, 3.56666666667, 4.16666666667, 4.76666666667, 5.16666666667, 5.83333333333, 5.93333333333, 5.9, 6.03333333333, 5.93333333333, 5.76666666667, 5.7, 5.56666666667, 5.36666666667, 4.93333333333, 4.93333333333, 4.8, 4.76666666667, 5.13333333333, 5.2, 5.63333333333, 6.6, 8.26666666667, 8.86666666667, 8.46666666667, 8.3, 7.73333333333, 7.56666666667, 7.73333333333, 7.76666666667, 7.5, 7.13333333333, 6.9, 6.66666666667, 6.33333333333, 6, 6.03333333333, 5.9, 5.86666666667, 5.7, 5.86666666667, 5.96666666667, 6.3, 7.33333333333, 7.66666666667, 7.4, 7.43333333333, 7.4, 7.4, 8.23333333333, 8.83333333333, 9.43333333333, 9.9, 10.66666666667, 10.36666666667, 10.13333333333, 9.36666666667, 8.53333333333, 7.86666666667, 7.43333333333, 7.43333333333, 7.3, 7.23333333333, 7.3, 7.2, 7.03333333333, 7.03333333333, 7.16666666667, 6.96666666667, 6.83333333333, 6.6, 6.26666666667, 6, 5.83333333333, 5.7, 5.46666666667, 5.46666666667, 5.33333333333, 5.2, 5.23333333333, 5.23333333333, 5.36666666667, 5.3, 5.33333333333, 5.7, 6.13333333333, 6.6, 6.83333333333, 6.86666666667, 7.1, 7.36666666667, 7.6, 7.63333333333, 7.36666666667, 7.13333333333, 7.06666666667, 6.8, 6.63333333333, 6.56666666667, 6.2, 6, 5.63333333333, 5.46666666667, 5.66666666667, 5.66666666667, 5.56666666667, 5.53333333333, 5.5, 5.26666666667, 5.33333333333, 5.26666666667, 5, 4.86666666667, 4.66666666667, 4.66666666667, 4.43333333333, 4.5, 4.43333333333, 4.3, 4.3, 4.23333333333, 4.1, 4.03333333333, 4.03333333333, 4, 3.96666666667), .Tsp = c(1959, 2000.75, 4), class = "ts") mFilter/R/0000755000176200001440000000000013344157010012053 5ustar liggesusersmFilter/R/cffilter.R0000755000176200001440000002740613475550213014017 0ustar liggesusers### Christiano-Fitzgerald filter cffilter <- function(x,pl=NULL,pu=NULL,root=FALSE,drift=FALSE, type=c("asymmetric","symmetric","fixed","baxter-king", "trigonometric"),nfix=NULL,theta=1) { type = match.arg(type) if(is.null(root)) root <- FALSE if(is.null(drift)) drift <- FALSE if(is.null(theta)) theta <- 1 if(is.null(type)) type <- "asymmetric" if(is.ts(x)) freq=frequency(x) else freq=1 if(is.null(pl)) { if(freq > 1) pl=trunc(freq*1.5) else pl=2 } if(is.null(pu)) pu=trunc(freq*8) if(is.null(nfix)) nfix = freq*3 nq=length(theta)-1; b=2*pi/pl; a=2*pi/pu; xname=deparse(substitute(x)) xo = x x = as.matrix(x) n = nrow(x) nvars = ncol(x) if(n < 5) warning("# of observations < 5") if(n < (2*nq+1)) stop("# of observations must be at least 2*q+1") if(pu <= pl) stop("pu must be larger than pl") if(pl < 2) { warning("pl less than 2 , reset to 2") pl = 2 } if(root != 0 && root != 1) stop("root must be 0 or 1") if(drift<0 || drift > 1) stop("drift must be 0 or 1") if((type == "fixed" || type == "baxter-king") && nfix < 1) stop("fixed lag length must be >= 1") if(type == "fixed" & nfix < nq) stop("fixed lag length must be >= q") if((type == "fixed" || type == "baxter-king") && nfix >= n/2) stop("fixed lag length must be < n/2") if(type == "trigonometric" && (n-2*floor(n/2)) != 0) stop("trigonometric regressions only available for even n") theta = as.matrix(theta) m1 = nrow(theta) m2 = ncol(theta) if(m1 > m2) th=theta else th=t(theta) ## compute g(theta) ## [g(1) g(2) .... g(2*nq+1)] correspond to [c(q),c(q-1),...,c(1), ## c(0),c(1),...,c(q-1),c(q)] ## cc = [c(0),c(1),...,c(q)] ## ?? thp=flipud(th) g=convolve(th,th,type="open") cc = g[(nq+1):(2*nq+1)] ## compute "ideal" Bs j = 1:(2*n) B = as.matrix(c((b-a)/pi, (sin(j*b)-sin(j*a))/(j*pi))) ## compute R using closed form integral solution R = matrix(0,n,1) if(nq > 0) { R0 = B[1]*cc[1] + 2*t(B[2:(nq+1)])%*%cc[2:(nq+1)] R[1] = pi*R0 for(i in 2:n) { dj = Bge(i-2,nq,B,cc) R[i] = R[i-1] - dj } } else { R0 = B[1]*cc[1] R[1] = pi*R0; for(j in 2:n) { dj = 2*pi*B[j-1]*cc[1]; R[j] = R[j-1] - dj; } } AA = matrix(0,n,n) ### asymmetric filter if(type == "asymmetric") { if(nq==0) { for(i in 1:n) { AA[i,i:n] = t(B[1:(n-i+1)]) if(root) AA[i,n] = R[n+1-i]/(2*pi) } AA[1,1] = AA[n,n] ## Use symmetry to construct bottom 'half' of AA AAu = AA AAu[!upper.tri(AAu)] <- 0 AA = AA + flipud(fliplr(AAu)) } else { ## CONSTRUCT THE A MATRIX size n x n A = Abuild(n,nq,g,root) Ainv = solve(A) ## CONSTRUCT THE d MATRIX size n x 1 for(np in 0:ceiling(n/2-1)) { d = matrix(0,n,1) ii = 0 for(jj in (np-root):(np+1+root-n)) { ii = ii+1 d[ii] = Bge(jj,nq,B,cc) } if (root == 1) d[n-1] = R[n-np] ## COMPUTE Bhat = inv(A)*d Bhat = Ainv%*%d AA[np+1,] = t(Bhat) } ## Use symmetry to construct bottom 'half' of AA AA[(ceiling(n/2)+1):n,] = flipud(fliplr(AA[1:floor(n/2),])) } } ### symmetric filter if (type == "symmetric") { if(nq==0) { for(i in 2:ceiling(n/2)) { np = i-1 AA[i,i:(i+np)] = t(B[1:(1+np)]) if(root) AA[i,i+np] = R[np+1]/(2*pi); AA[i,(i-1):(i-np)] = AA[i,(i+1):(i+np)]; } ## Use symmetry to construct bottom 'half' of AA AA[(ceiling(n/2)+1):n,] = flipud(fliplr(AA[1:floor(n/2),])) } else { for(np in nq:ceiling(n/2-1)) { nf = np nn = 2*np+1 ## CONSTRUCT THE A MATRIX size nn x nn A = Abuild(nn,nq,g,root) Ainv = solve(A) ## CONSTRUCT THE d MATRIX size nn x 1 d = matrix(0,nn,1) ii = 0 for(jj in (np-root):(-nf+root)) { ii = ii+1 d[ii] = Bge(jj,nq,B,cc) } if(root) d[nn-1] = R[nf+1] ## COMPUTE Bhat = inv(A)*d Bhat = Ainv%*%d AA[np+1,1:(2*np+1)] = t(Bhat) } ## Use symmetry to construct bottom 'half' of AA AA[(ceiling(n/2)+1):n,] = flipud(fliplr(AA[1:floor(n/2),])) } } ### fixed length symmetric filter if (type == "fixed") { if(nq==0) { bb = matrix(0,2*nfix+1,1) bb[(nfix+1):(2*nfix+1)] = B[1:(nfix+1)] bb[nfix:1] = B[2:(nfix+1)] if(root) { bb[2*nfix+1] = R[nfix+1]/(2*pi) bb[1] = R[nfix+1]/(2*pi) } for(i in (nfix+1):(n-nfix)) AA[i,(i-nfix):(i+nfix)] = t(bb) } else { nn = 2*nfix+1 ## CONSTRUCT THE A MATRIX size nn x nn A = Abuild(nn,nq,g,root) Ainv = solve(A) ## CONSTRUCT THE d MATRIX size nn x 1 d = matrix(0,nn,1) ii = 0 for(jj in (nfix-root):(-nfix+root)) { ii = ii+1 d[ii] = Bge(jj,nq,B,cc) } if(root) d[nn-1] = R[nn-nfix] ## COMPUTE Bhat = inv(A)*d Bhat = Ainv%*%d for(ii in (nfix+1):(n-nfix)) AA[ii,(ii-nfix):(ii+nfix)] = t(Bhat) } } ### Baxter-King filter if (type == "baxter-king") { bb = matrix(0,2*nfix+1,1) bb[(nfix+1):(2*nfix+1)] = B[1:(nfix+1)] bb[nfix:1] = B[2:(nfix+1)] bb = bb - sum(bb)/(2*nfix+1) for(i in (nfix+1):(n-nfix)) AA[i,(i-nfix):(i+nfix)] = t(bb) } ### Trigonometric Regression filter if(type == "trigonometric") { jj = 1:(n/2) ## find frequencies in desired band omitting n/2; jj = jj[((n/pu)<=jj & jj<=(n/pl) & jj<(n/2))] if(!any(jj)) stop("frequency band is empty in trigonometric regression") om = 2*pi*jj/n if(pl > 2) { for(t in 1:n) { for(k in n:1) { l = t-k tmp = sum(cos(om*l)) AA[t,k] = tmp } } } else { for(t in 1:n) { for(k in n:1) { l = t-k tmp = sum(cos(om*l)) tmp2 = (cos(pi*(t-l))*cos(pi*t))/2 AA[t,k] = tmp + tmp2 } } } AA = AA*2/n } ### check that sum of all filters equal 0 if assuming unit root if(root) { tst = max(abs(c(apply(AA,1,sum)))) if((tst > 1.e-09) && root) { warning("Bhat does not sum to 0 ") cat("test =",tst,"\n") } } ### compute filtered time series using selected filter matrix AA if(drift) x = undrift(x) x.cycle = AA%*%as.matrix(x) if(type=="fixed" || type=="symmetric" || type=="baxter-king") { if(nfix>0) x.cycle[c(1:nfix,(n-nfix+1):n)] = NA } x.trend = x-x.cycle if(is.ts(xo)) { tsp.x = tsp(xo) x.cycle=ts(x.cycle,start=tsp.x[1],frequency=tsp.x[3]) x.trend=ts(x.trend,start=tsp.x[1],frequency=tsp.x[3]) x=ts(x,start=tsp.x[1],frequency=tsp.x[3]) } if(type=="asymmetric") title = "Chiristiano-Fitzgerald Asymmetric Filter" if(type=="symmetric") title = "Chiristiano-Fitzgerald Symmetric Filter" if(type=="fixed") title = "Chiristiano-Fitzgerald Fixed Length Filter" if(type=="baxter-king") title = "Baxter-King Fixed Length Filter" if(type=="trigonometric") title = "Trigonometric Regression Filter" res <- list(cycle=x.cycle,trend=x.trend,fmatrix=AA,title=title, xname=xname,call=as.call(match.call()), type=type,pl=pl,pu=pu,nfix=nfix,root=root,drift=drift, theta=theta,method="cffilter",x=x) return(structure(res,class="mFilter")) } ###====================================================================== ### Functions ###====================================================================== Bge <- function(jj,nq,B,cc) { ### ### closed form solution for integral of B(z)g(z)(1/z)^j (eqn 16) ### nq > 0, jj >= 0 ### if nq = 0, y = 2*pi*B(absj+1)*cc(1); ### absj =abs(jj) if(absj >= nq) { dj = B[absj+1]*cc[1] + t(B[(absj+2):(absj+nq+1)])%*%cc[2:(nq+1)] dj = dj + t(flipud(B[(absj-nq+1):absj]))%*%cc[2:(nq+1)] } else if(absj >= 1) { dj = B[absj+1]*cc[1] + t(B[(absj+2):(absj+nq+1)])%*%cc[2:(nq+1)] dj = dj + t(flipud(B[1:absj]))%*%cc[2:(absj+1)] dj = dj + t(B[2:(nq-absj+1)])%*%cc[(absj+2):(nq+1)] } else dj = B[absj+1]*cc[1] + 2*t(B[2:(nq+1)])%*%cc[2:(nq+1)] y = 2*pi*dj return(y) } ### ###----------------------------------------------------------------------- ### Abuild <- function(nn,nq,g,root) { ### ### builds the nn x nn A matrix in A.12 ### if root == 1 (unit root) ### Abig is used to construct all but the last 2 rows of the A matrix ### elseif root == 0 (no unit root) ### Abig is used to construct the entire A matrix ### if(root) { Abig=matrix(0,nn,nn+2*(nq-1)) for(j in 1:(nn-2)) Abig[j,j:(j+2*nq)] = t(g) A = Abig[,nq:(nn+nq-1)] ## construct A(-f) Q = -matrix(1,nn-1,nn) ##Q = tril(Q); Q[upper.tri(Q)] <- 0 F = matrix(0,1,nn-1) F[(nn-1-nq):(nn-1)] = g[1:(nq+1)] A[(nn-1),] = F%*%Q ## construct last row of A A[nn,] = matrix(1,1,nn) } else { Abig=matrix(0,nn,nn+2*(nq-0)) for(j in 1:nn) { Abig[j,j:(j+2*nq)] = c(g) } A = Abig[,(nq+1):(nn+nq)] } ## multiply A by 2*pi A = 2*pi*A return(A) } ### ###----------------------------------------------------------------------- ### undrift <- function(x) { ### ### This function removes the drift or a linear time trend from a time series using the formula ### drift = (x(n) - x(1)) / (n-1). ### ### Input: x - data matrix x where columns represent different variables, x is (n x # variables). ### Output: xun - data matrix same size as x with a different drift/trend removed from each variable. ### x = as.matrix(x) nv = dim(x) n = nv[1] nvars = nv[2] xun = matrix(0,n,nvars) dd = as.matrix(0:(n-1)) for(ivar in 1:nvars) { drift = (x[n,ivar]-x[1,ivar]) / (n-1) xun[,ivar] = x[,ivar] - dd*drift } if(nvars==1) xun = c(xun) return(xun) } ### ###----------------------------------------------------------------------- ### ###?function that reverses the columns of a matrix (matlab equivalent) flipud <- function(x) {apply(as.matrix(x),2,rev)} ###?function that reverses the rows of a matrix (matlab equivalent) fliplr <- function(x) {t(apply(as.matrix(x),1,rev))} mFilter/R/hpfilter.R0000755000176200001440000000357213344157010014025 0ustar liggesusers### Hodrick-Prescott filter hpfilter <- function(x,freq=NULL,type=c("lambda","frequency"),drift=FALSE) { if(is.null(drift)) drift <- FALSE xname=deparse(substitute(x)) type=match.arg(type) if(is.null(type)) type <- "lambda" if(is.ts(x)) { tsp.x <- tsp(x) frq.x <- frequency(x) if(type=="lambda") { if(is.null(freq)) { if(frq.x==1) lambda = 6 if(frq.x==4) lambda = 1600 if(frq.x==12) lambda = 129600 } else lambda = freq } } else { if(type=="lambda") { if(is.null(freq)) stop("freq is NULL") else lambda = freq } } if(type=="frequency") { if(is.null(freq)) stop("freq is NULL") else lambda = (2*sin(pi/freq))^-4 } xo = x x = as.matrix(x) if(drift) x = undrift(x) n = length(x) imat = diag(n) Ln = rbind(matrix(0,1,n),diag(1,n-1,n)) Ln = (imat-Ln)%*%(imat-Ln) Q = t(Ln[3:n,]) SIGMA.R = t(Q)%*%Q SIGMA.n = diag(n-2) g = t(Q)%*%as.matrix(x) b = solve(SIGMA.n+lambda*SIGMA.R,g) x.cycle = c(lambda*Q%*%b) x.trend = x-x.cycle if(is.ts(xo)) { tsp.x = tsp(xo) x.cycle=ts(x.cycle,start=tsp.x[1],frequency=tsp.x[3]) x.trend=ts(x.trend,start=tsp.x[1],frequency=tsp.x[3]) x=ts(x,start=tsp.x[1],frequency=tsp.x[3]) } A = lambda*Q%*%solve(SIGMA.n+lambda*SIGMA.R)%*%t(Q) res <- list(cycle=x.cycle,trend=x.trend,fmatrix=A,title="Hodrick-Prescott Filter", xname=xname,call=as.call(match.call()), type=type,lambda=lambda,method="hpfilter",x=x) return(structure(res,class="mFilter")) } mFilter/R/bwfilter.R0000755000176200001440000000320513344157010014017 0ustar liggesusers### Butterworth filter bwfilter <- function(x,freq=NULL,nfix=NULL,drift=FALSE) { if(is.null(drift)) drift <- TRUE xname=deparse(substitute(x)) if(is.ts(x)) frx=frequency(x) else frx=1 if(is.null(freq)) { if(frx > 1) freq=trunc(frx*2.5) else freq=2 } if(is.null(nfix)) nfix = 2 xo = x x = as.matrix(x) if(drift) x = undrift(x) n = length(x) cut.off = 2*pi/freq mu = (1/tan(cut.off/2))^(2*nfix) imat = diag(n) Ln = rbind(matrix(0,1,n),diag(1,n-1,n)) Ln = imat-Ln if(nfix > 1) { for(i in 1:(nfix-1)) Ln = (imat-Ln)%*%Ln } Q = t(Ln[3:n,]) SIGMA.R = t(Q)%*%Q SIGMA.n = abs(SIGMA.R) g = t(Q)%*%as.matrix(x) b = solve(SIGMA.n+mu*SIGMA.R,g) x.cycle = c(mu*Q%*%b) x.trend = x-x.cycle if(is.ts(xo)) { tsp.x = tsp(xo) x.cycle=ts(x.cycle,start=tsp.x[1],frequency=tsp.x[3]) x.trend=ts(x.trend,start=tsp.x[1],frequency=tsp.x[3]) x=ts(x,start=tsp.x[1],frequency=tsp.x[3]) } A = mu*Q%*%solve(SIGMA.n+mu*SIGMA.R)%*%t(Q) if(is.ts(xo)) { tsp.x = tsp(xo) x.cycle=ts(x.cycle,start=tsp.x[1],frequency=tsp.x[3]) x.trend=ts(x.trend,start=tsp.x[1],frequency=tsp.x[3]) x=ts(x,start=tsp.x[1],frequency=tsp.x[3]) } res <- list(cycle=x.cycle,trend=x.trend,fmatrix=A,title="Butterworth Filter", xname=xname,call=as.call(match.call()), type="asymmetric",lambda=mu,nfix=nfix,freq=freq,method="bwfilter",x=x) return(structure(res,class="mFilter")) } mFilter/R/mFilter.R0000755000176200001440000000772713344157010013620 0ustar liggesusers## Generic mFilter functions ## Part of mFilter package mFilter <- function(x, ...) UseMethod("mFilter") mFilter.default <- function(x, ...) mFilter.ts(x, ...) mFilter.ts <- function(x, filter=c("HP","BK","CF","BW","TR"), ...) { filt = match.arg(filter) call = match.call() ag = list(...) switch(filt, "HP" = {res <- hpfilter(x,freq=ag$freq,type=ag$type,drift=ag$drift)}, "BK" = {res <- bkfilter(x,pl=ag$pl,pu=ag$pu,nfix=ag$nfix,type=ag$type,drift=ag$drift)}, "CF" = {res <- cffilter(x,pl=ag$pl,pu=ag$pu,root=ag$root,drift=ag$drift, type=ag$type, nfix=ag$nfix,theta=ag$theta)}, "BW" = {res <- bwfilter(x,freq=ag$freq,nfix=ag$nfix,drift=ag$drift)}, "TR" = {res <- trfilter(x,pl=ag$pl,pu=ag$pu,drift=ag$drift)} ) res$xname <- deparse(substitute(x)) return(res) } print.mFilter <- function(x, digits = max(3, getOption("digits") - 3), ...) { if (!inherits(x, "mFilter")) stop("method is only for mFilter objects") # Title: cat("\nTitle:\n ") cat(x$title, "\n") ## Call: cat("\nCall:\n ") cat(paste(deparse(x$call), sep = "\n", collapse = "\n"), "\n", sep = "") ## Method: cat("\nMethod:\n ", x$method, "\n", sep = "") ## Filter Type: cat("\nFilter Type:\n ", x$type, "\n", sep = "") ## Series cat("\nSeries:\n ", x$xname, "\n\n", sep = "") names <- c(x$xname,"Trend","Cycle") out <- cbind(x$x,x$trend,x$cycle) colnames(out) <- names rownames(out) <- time(x$x) if(any(frequency(x$x) == c(4,12))) print(out, digits=digits) else print(as.data.frame(out),digits = digits) invisible(x) } summary.mFilter <- function(object, digits = max(3, getOption("digits") - 3), ...) { if (!inherits(object, "mFilter")) stop("method is only for mFilter objects") ## Title: cat("\nTitle:\n ") cat(object$title, "\n") ## Call: cat("\nCall:\n ") cat(paste(deparse(object$call), sep = "\n", collapse = "\n"), "\n", sep = "") ## Method: cat("\nMethod:\n ", object$method, "\n", sep = "") ## Filter Type: cat("\nFilter Type:\n ", object$type, "\n", sep = "") ## Series cat("\nSeries:\n ", object$xname, "\n", sep = "") names <- c(object$xname,"Trend","Cycle") out <- cbind(object$x,object$trend,object$cycle) colnames(out) <- names rownames(out) <- time(object$x) cat("\nDescriptive Statistics:\n ", "\n", sep = "") print(summary(out), digits = digits) #browser() gof <- function(object) { res <- object$cycle pe <- res/object$x out <- c(mean(res,na.rm=TRUE), mean(res^2,na.rm=TRUE), mean(abs(res),na.rm=TRUE), mean(pe,na.rm=TRUE), mean(abs(pe),na.rm=TRUE)) names(out) <- c("ME","MSE","MAE","MPE","MAPE") return(out) } cat("\nIn-sample error measures:\n") print(gof(object), digits = digits) cat("\n") #if(any(frequency(object$x) == c(4,12))) #print(out) #else #print(as.data.frame(out)) invisible(object) } plot.mFilter <- function(x, reference.grid = TRUE, col = "steelblue", ask=interactive(), ...) { if (!inherits(x, "mFilter")) stop("method is only for mFilter objects") opar <- par(no.readonly=TRUE) par(ask=ask,mfrow=c(2,1),mar=c(3,2,2,1)) ag <- list(...) if(is.null(ag$main)) main <- paste(x$title, "of", x$xname) ylim <- range(c(x$x,x$trend),na.rm=TRUE) plot(x$x,type="l",main=main,ylab="",ylim=ylim,col=col,...) lines(x$trend,col="red") if (reference.grid) grid() legend("topleft",legend=c(x$xname,"trend"),col=c(col,"red"),lty=rep(1,2),ncol=2) plot(x$cycle,type="l",main="Cyclical component (deviations from trend)", ylab="",col=col,...) if (reference.grid) grid() par(opar) invisible(x) } residuals.mFilter <- function(object, ...) return(object$cycle) fitted.mFilter <- function(object, ...) return(object$trend) mFilter/R/trfilter.R0000755000176200001440000000063113344157010014034 0ustar liggesusers### ### Trigonometric regression filter trfilter <- function(x,pl=NULL,pu=NULL,drift=FALSE) { if(is.null(drift)) drift <- FALSE call <- as.call(match.call()) xname <- deparse(substitute(x)) res <- cffilter(x,pl=pl,pu=pu,drift=drift,root=FALSE, type="trigonometric",nfix=0,theta=1) res$method <- "trfilter" res$call <- call res$xname <- xname return(res) } mFilter/R/bkfilter.R0000755000176200001440000000424513344157010014010 0ustar liggesusers### Baxter-King filter bkfilter <- function(x,pl=NULL,pu=NULL,nfix=NULL,type=c("fixed","variable"),drift=FALSE) { if(is.null(drift)) drift <- FALSE xname=deparse(substitute(x)) type = match.arg(type) if(is.null(type)) type <- "fixed" if(is.ts(x)) freq=frequency(x) else freq=1 if(is.null(pl)) { if(freq > 1) pl=trunc(freq*1.5) else pl=2 } if(is.null(pu)) pu=trunc(freq*8) b = 2*pi/pl a = 2*pi/pu n = length(x) if(n<5) warning("# of observations in Baxter-King filter < 5") if(pu<=pl) stop("pu must be larger than pl") if(pl<2) { warning("in Baxter-King kfilter, pl less than 2 , reset to 2") pl = 2 } if(is.null(nfix)) nfix = freq*3 if(nfix>=n/2) stop("fixed lag length must be < n/2") j = 1:(2*n) B = as.matrix(c((b-a)/pi,(sin(j*b)-sin(j*a))/(j*pi))) AA = matrix(0,n,n) if(type=="fixed") { bb = matrix(0,2*nfix+1,1) bb[(nfix+1):(2*nfix+1)] = B[1:(nfix+1)] bb[nfix:1] = B[2:(nfix+1)] bb = bb-sum(bb)/(2*nfix+1) for(i in (nfix+1):(n-nfix)) AA[i,(i-nfix):(i+nfix)] = t(bb) } if(type=="variable") { for(i in (nfix+1):(n-nfix)) { j=min(c(i-1,n-i)) bb=matrix(0,2*j+1,1) bb[(j+1):(2*j+1)] = B[1:(j+1)] bb[j:1] = B[2:(j+1)] bb = bb-sum(bb)/(2*j+1) AA[i,(i-j):(i+j)] = t(bb) } } xo = x x = as.matrix(x) if(drift) x = undrift(x) x.cycle = AA%*%as.matrix(x) x.cycle[c(1:nfix,(n-nfix+1):n)] = NA x.trend = x-x.cycle if(is.ts(xo)) { tsp.x = tsp(xo) x.cycle=ts(x.cycle,start=tsp.x[1],frequency=tsp.x[3]) x.trend=ts(x.trend,start=tsp.x[1],frequency=tsp.x[3]) x=ts(x,start=tsp.x[1],frequency=tsp.x[3]) } res <- list(cycle=x.cycle,trend=x.trend,fmatrix=AA,title="Baxter-King Filter", xname=xname,call=as.call(match.call()), type=type,pl=pl,pu=pu,nfix=nfix,method="bkfilter",x=x) return(structure(res,class="mFilter")) } mFilter/R/zzz.R0000755000176200001440000000151313344157010013036 0ustar liggesusers#.First.lib <- .onAttach <- function(libname, pkgname) { # mylib <- dirname(system.file(package = "mFilter")) # ver <- packageDescription("mFilter", lib.loc = mylib)["Version"] ver <- packageDescription("mFilter")$Version txt <- c("\n", paste(sQuote("mFilter"), "version:", ver), "\n", paste(sQuote("mFilter"), "is a package for time series filtering"), "\n", paste("See", sQuote("library(help=\"mFilter\")"), "for details"), "\n", paste("Author: Mehmet Balcilar, mbalcilar@yahoo.com"), "\n" ) if (interactive() || getOption("verbose")) { msg = paste(strwrap(txt, indent = 4, exdent = 4), collapse = "\n") packageStartupMessage(msg) } } mFilter/README.md0000644000176200001440000000366513351527745013161 0ustar liggesusers # mFilter The mFilter package implements several time series filters useful for smoothing and extracting trend and cyclical components of a time series. The routines are commonly used in economics and finance, however they should also be interest to other areas. Currently, Christiano-Fitzgerald, Baxter-King, Hodrick-Prescott, Butterworth, and trigonometric regression filters are included in the package. ## Installation You can install the released version of mFilter from [CRAN](https://CRAN.R-project.org) with: ``` r install.packages("mFilter") ``` The development version can be installed with: ``` r devtools::install_github("mbalcilar/mFilter") ``` ## Example This is a basic example which shows you how to do Butterworth filtering: ``` r library(mFilter) data(unemp) unemp.bw <- bwfilter(unemp) plot(unemp.bw) ``` ``` r unemp.bw1 <- bwfilter(unemp, drift=TRUE) unemp.bw2 <- bwfilter(unemp, freq=8,drift=TRUE) unemp.bw3 <- bwfilter(unemp, freq=10, nfix=3, drift=TRUE) unemp.bw4 <- bwfilter(unemp, freq=10, nfix=4, drift=TRUE) ``` ``` r par(mfrow=c(2,1),mar=c(3,3,2,1),cex=.8) plot(unemp.bw1$x, main="Butterworth filter of unemployment: Trend, drift=TRUE",col=1, ylab="") lines(unemp.bw1$trend,col=2) lines(unemp.bw2$trend,col=3) lines(unemp.bw3$trend,col=4) lines(unemp.bw4$trend,col=5) legend("topleft",legend=c("series", "freq=10, nfix=2", "freq=8, nfix=2", "freq=10, nfix=3", "freq=10, nfix=4"), col=1:5, lty=rep(1,5), ncol=1) ``` ``` r plot(unemp.bw1$cycle, main="Butterworth filter of unemployment: Cycle,drift=TRUE", col=2, ylab="", ylim=range(unemp.bw3$cycle,na.rm=TRUE)) lines(unemp.bw2$cycle,col=3) lines(unemp.bw3$cycle,col=4) lines(unemp.bw4$cycle,col=5) ``` mFilter/MD50000644000176200001440000000225313475567234012206 0ustar liggesusersc86d79b5f7e0f699084088c9ac68d1bc *DESCRIPTION 389b960ac7b6503dfbb24c3862ad141e *NAMESPACE 045b75db9290b21a8e6569c01ca54120 *NEWS.md 8e506fea92a6917457a4bc4023a52045 *R/bkfilter.R 8c2cd857fa56bbb852e9c3612c6d501f *R/bwfilter.R 67f91cd91cd88b2308313f9c07a79de8 *R/cffilter.R 9987211fa7ba3f302fcc5203768cbf32 *R/hpfilter.R d262ba68c0423449ad443ff81160bfa5 *R/mFilter.R e2a5cd36073dc05afbc5197dafabd137 *R/trfilter.R 2df418fd31dea108be3aaf1c3ba8d22d *R/zzz.R 5b02b567394a8222d5cf7e8878faf849 *README.md c2dc9412dbd38296ab06a59e97ac96f7 *data/unemp.R 934c3a0a01eccc6c05721aefebe0c231 *man/bkfilter.Rd ec1df9ea219dc3dc02dd112cd036c0e9 *man/bwfilter.Rd f735e4469dcc61455a128eb81aefd041 *man/cffilter.Rd f0909577b840c697d885fbfa0d3cd8bc *man/figures/README-ex1-1.png 133fea2d2345ffd54724f7a81d400f46 *man/figures/README-ex2-1.png b170f69b586208710a672c78ab5e3c93 *man/figures/README-ex3-1.png b13a19b94d89d8be462dab6881eab462 *man/hpfilter.Rd 169de2e03795e4248b9fa8cfc298d95c *man/mFilter-methods.Rd 8e37d934818beece8e4537e2415a9400 *man/mFilter-package.Rd de42f0b163a39bb8b869c03faf5842fe *man/mFilter.Rd 57a265b776d9196700145c0ea2db0cd1 *man/trfilter.Rd f4364b8e8b76b92a2affa0083d2e01d4 *man/unemp.Rd mFilter/DESCRIPTION0000644000176200001440000000166713475567234013414 0ustar liggesusersPackage: mFilter Title: Miscellaneous Time Series Filters Date: 2019-07-04 Version: 0.1-5 Author: Mehmet Balcilar Depends: R (>= 2.2.0), stats Suggests: tseries, pastecs, locfit, tseriesChaos, tsDyn, forecast Description: The mFilter package implements several time series filters useful for smoothing and extracting trend and cyclical components of a time series. The routines are commonly used in economics and finance, however they should also be interest to other areas. Currently, Christiano-Fitzgerald, Baxter-King, Hodrick-Prescott, Butterworth, and trigonometric regression filters are included in the package. Maintainer: Mehmet Balcilar License: GPL (>= 2) URL: http://www.mbalcilar.net Encoding: UTF-8 RoxygenNote: 6.1.1 NeedsCompilation: no Packaged: 2019-06-04 20:52:13 UTC; mbalcilar Repository: CRAN Date/Publication: 2019-06-04 22:20:12 UTC mFilter/man/0000755000176200001440000000000013475554775012455 5ustar liggesusersmFilter/man/figures/0000755000176200001440000000000013475554775014121 5ustar liggesusersmFilter/man/figures/README-ex3-1.png0000644000176200001440000017364313351527744016422 0ustar liggesusersPNG  IHDRz4iCCPkCGColorSpaceGenericRGB8U]hU>sg#$Sl4t? % V46nI6"dΘ83OEP|1Ŀ (>/ % (>P苦;3ie|{g蹪X-2s=+WQ+]L6O w[C{_F qb Uvz?Zb1@/zcs>~if,ӈUSjF 1_Mjbuݠpamhmçϙ>a\+5%QKFkm}ۖ?ޚD\!~6,-7SثŜvķ5Z;[rmS5{yDyH}r9|-ăFAJjI.[/]mK 7KRDrYQO-Q||6 (0 MXd(@h2_f<:”_δ*d>e\c?~,7?& ك^2Iq2"y@g|U\ @IDATx`S%Y^tB ->/! !KPB @ `cw[dwN;nIf;θ     1"| (@@@@bJ4()nd    {@@@@  @c@)ИFf    @@@@bJ4()nd    {@@@@  @c@)ИFf    @@@@bJ4()nd    {@@@@  @c@)ИFf    @@@@bJ4()nd    {@@@@  @c@)"J7 =sLII,}-\p\;FFFhݺu{;u۶mTXXHM/2/_~t 7СJ~;wy*ͯ}k.f]w;w҂ [n;zS~=P=OE@BHiSvv6n|.PuޭJ/:W_كӅ^H_z~|=<~3:묳s\I.iӦvǪgyptO.={6jѿ/㶿/ѕW^9n?vx0ms%55xºwy8~ӟ06mqlmcsaLG _}vs6}r Qo6I߻oV&yy^p 4())w񨣎2}ɝ,2 E2qiY履ga=G?$U$AwL&>>F]]]Pc|eZ֕6/Ҡ@LP'CӧW9L}IxO C ~:mɒ%AWS!ck߸q#b_RգX+\Xg& R+VP!&V~ӬY&4ߟq4<00c ]}>[ iYgJEEE>OYlIԓGn?<~9ГO>Ig&X_;v[T@Pnnn *++)999ᔣM=䚃 555f4yΘ19LPbk 5fΜ9aO^-%yOt:&tC{2CtyE=f{&;S2„"͢M?l"jR_Eq+{*gw0!t 6X{bÒW>"2Qgt:sբ^+[!+Ryכ귳ս믫mn{a,D %`m_vKTsAzzjl0Z~zs 'Ɂ-Tjo[wiy晆4c`dg\uU I0? w}׌#+zJ_27KY_y/|/j^{5st?8餓r ohlذ#+~W@γ6K|bB]4oGI/r7`l^sH7E.rǸ >չM]r+yGMν*{38蠃T>2~da֙4H1Ձ_f=|'2s+W4ls1-Ik֬1Ӑ[XHY'=-y~qSկ4(Q}+~G ?&kǻ`aK;S &zI:,e Hwv'wwMQ>ꙣ{ S4z)<5#1E7:UE;{__ sO}==BmMH>k}wX.ŐsM<@3 *+&xy>!G@UPE^N>Xq䥤aCUxm?i>8!rxzyr[]3.74WVyz]K PW+ldi/;4umn%P zk٭K/ΥKiyعW .@!I.7)$E-<ԟ^~:pْe$/l򲷦%%n5sSZ~IBg堝{Z>$]hcce~tQC! 7-d{=TߤE>Fu&zI:"tY?Dzw"l􇅔K.lufBY+X*@=o*ǮUx PoW9R9s昤\ͼ6?bW1K]@\>8j+*X1lٲEc}Ћx/9qhA?%\8K(7٘/ŋr".tׁ~-JŤr n1i`/sW,bRv <K8/H9|% elƽ{KU!_-uS,f>XũH,%z\\ԉXeXKe[,{UТFҗrͲp%6-rUeaB,rufb1`"Dx  7>zǯK%sZ}q#-l&/x\n4C^& rxsu?0SLvVJ5NGX`?z9&AkǎQSD~9R={=F֕`)ǺrxD`u!u'85j"U he]w_sֿv{U`_\d]3wЗ<[t4dOckfb+5c,zljjR+0|sh#k>ePySW]yӹn]馛pLώR|0ByP_וl[?e[F(ܛ(]9&F'砈N _%V #Qԥߝw\NN$$\ͬ1gk+:>ZɺN;WTד#p:E/֗w:ùW[$Ab5сIMs}⇻{mh=-eROזxsNt}l{_QF %qD]KlJ_:}!q#;oׯ7ϕinj2#P,!(k` h7;$C+YNvO92.)QW@RKZd0 _ 22;C e,Xm$cȥ@@oZ<٫WJRa#VEr;LKwE4J41ɃZ/b-B3"Nd~Jȣ&DyJfC"~*-rM"$t-韝HD8%,BO^OQʡ՛q"D.|]';T3tbI %reM ?N}0ɺ`b' @r?Jfux@Ed Ŧ.)͢ o?yIWYuuKDy k$P@%H%pnHU,!vC]2m\7%L+)A$ǻ&S瞏~w:gkb,ha?z%TKl["]x?K04t \_Z!,>@0NH| (WQx2l0 \0i,%vvlVC `i!ak#]#e,bhb!Cy~؛Jf|qdL~iW<%OYċvS/'_$XՅuȈ2V+c]/UqqBܫڱEEkWk-8=,uqؑ`uBNn_ud>Y.'$bI f&;ʘ?]N1vB!A#֕?@_[atACa YXWaH/c:x,t=Ut|==ki3H-_;NHg#qk-8JZGUqwFouB^v ڧ93?eRO~w}"D+_T}d7ݣ\;1H|m? IF$ӃUGcRM[yږfx3aH_Pz|yUD,R&iRkKիͲc09<&J7#':Jd}n0v`qx$e)[n#RnqZƻ>/oQ/b$i)IrO&H0Y4B4yFOfˑA,._i 1̬e6% &A_*ߨXAfr & P$TN@Ģ1Z+t]yZ%>[!T<|k "LKS5i꾠ZR~)o'b`'hƍw]HPiۑV;j(yfCqTG:[U%DX"Ta 1@@@KAuc>8@@@P[4|:3@:T) @T( @@F !@3   GAu@Q@@@F4jh' jH<3PU   5QCk?`81}8@@@ @QZ@1* EM`R a )'+@1Sj @B к:;馛n?\] 7@3f̠r5k=39v(ZU@@@ )aSE|~TUUEiii~_ѭJgu-]+VЁr8C!s@@@@ NyyycJOO+.2ET^yt衇mF=-˗/;#9k֬!OhH"'H8rJ׿^K<{/"=`70K/D.+`<; @B\D%pt}kךce7ɊX(KJJ<QYYI )Eu.DHP $N)Vjꫯ2sN??%q@PՊ‚xH8*H?8ISM.K`%>k2gqvi$~z . ɔh4j @B Pdx_nޟPK(#@ > v PLZD@@@ D(ǃpBa +8 Vw!gďh؏9X*' :v$PUTJhʎ@ @%x2;иWX @X` @@@`uPB:2PZ Cg3@@@ ADhO>3   x @Tgv(tPš(   @v1htDht (fB 1NpPT.&_LA @Q@@@F4jh' jH<3PU   5QCk?aPp@uPA:2PZ T8 %DILA @Q@@@F4jh'lGb.x|q3@:T)PCQ@@@l+ Ё@T@FkhB g$P*EШq@(3   ':0K +   *ADhO>3   x @Tg @@@ j @~I\^quX /xU   4РQ&b36\@@@"O4LJ1X h&VN8@@@C4>j*яM @@@@ @V/ P)XA{V~@@@ D( .[_ˇ@@@@ \@@@GaUbGXpDrX8    @Dv4Cƶ~@ @gPX@#Ĉh@MJz"@,Yp Ph9X@Cq@@@"E#@zAN   #9IɎ4"ȑ@ @x @qD'0 {{{ID v(vQ^!+͝;222Cwyg\mtEv㏉\._    (@_y%,gϞM?яqy@@@@ NرCd?9 ӥ^JeeetqDž VO<A n;Pi{Guv A@@@ NΚ5/_N=hr-T]]Mg}6ljN@A%%%>nGJZmn}59sVT    `@q.E=vYƣ@iz]uc;5]T\F+zQ Lm`X.j;vm'; И ͽT\MvOCL# @V PN+$JvPw4&x`@3nM@,D hL|*_@Kͤɻmܑ T!갚c-` P *F`bjl.ʡi32hb "2}l>$J+@e*xr,}Sh h-~ ^ >Uм2N#:Vm~@`uX+@pMr4 `tw $J8!yFN*J|_46t TA*P|T D?4k!+ﰛϙ34C*d?/I &~A@ b @#22 #@Ӊa *@ iV:kd*M@yϙM4s&æ8~*ҟDϦM d X  9c)F >+=-gMMD.@{x<4GFSSi"v RQ\g*m(:>P@B-#@VKnՒ/ ~@@,?d\)͍#TT06xoL݃ǟrH@`uX3h,V$A^8[-@ pu#ET[;;"s&wM-.*.Ea @"ȟ[:Ւ~M@]YƤܙ(WHs[ &HJy>B2+  .p F`U8Z*@{z"|QHB%Mj I,qs @Cy͝iT^BGs*N4tvQ93m &xX@RH4YaY^NTӝِBh甦|*qJ.[Fo?1Sivo@a" 0 @:To+@eN+ Œ@w:~O3ےRJ+iCd e$Z{yݸ`4SNc#Gԁunj6}悽#뢮6 hI J.I;w=HMuy<Q8mr6$RqJ mSi A R4PM"V}X@}QXqQG^T[Б }a5S T}mu؍'ĠF@ D!i P_V &xPh.@Od7~:47ujt7vn i>mm#fU간W(@-'?iɸK TB V@0O >ERGψ;EC لqy -~ ZA^/@ @CF vm4$8@` e*wlHW]Ẹ-8"E6J JABMb/Qg(@-'==D6/?%3 '!tt ̆$K׿HMo`(pe㧃xJygA4Jjr*fTQ=!_  "EV h0MyKM۱&5FYo %,@}@ߟ_e26lܞN vz7'g~;fj>$P@B-T,]'$Gưg?;9Mau"k ăPQK;<1&zZ7 ,:ny#QIv5l| ~AHфYgEtݤ }@IDATuQR h"D|AK7Ď۶m /PKt0!lo#\lBLah`'@' uKw/B]s'ө?V5w$9k`(ssUV,Hܘme&σshjRNy VN`%2 x~RJP}Ye3Y~CV7 6Rko/Rgw;;?-0*Њ>N^)w{ѱ L=ܵfSǚAo'%YTbïoۧe&9L.MZ*B -:~A@ <1C%2&$ *(612BƋ/SyF9C_.aǫ^i"FczeMGRz(+;3{驥В%1E}&sH}mKr x ž#-.<UIe:5t@d kt,Z?J> 9Rrh683OQpwCqW>b͋$9eedT;=X @;$ݜm @G-󲩾tdv  @=p8cß ޟw'e9zeTn=fj?G%f5+Tupi‰Y&g4i4&@]|USyeڲ5wtv&5ӳ7"lI4HPfWk5^]NILil%>\GI>]B"6k.{/t#(##.4zYf$eRjRRC(luzAG{>5|MMAh  Iԓ#~v]G]eeTK-JDGtA @=b#HC: Dˎm.:(pzu3 z < nМ>2>gA& I A U"(ׯ&xq@]`-%TfWR[B(P.~A4~ysvwRvnG^"PUJ 9d4 ,HUkzBrq|ts5*Œ jL-! h;JO`$k@O'IrP=K/zCoIQVQɎo `@UO1>pe/RgrBKy::E;Oq'G[?˿K+%E)Pv45Y8}/؛1C#Rb+萅E$,hjz |z6/ysv%iia~%Ƴ!aH #2icܔEeZ@ЮS WUA>vjsɃ[hkq"gTl}T X^Nm/TQ|SVh^W7fu &Q O򡩃LYRl PЙJ{ 8*Mly *+/ăh<ӟG I覸RCiE' vP]!5wiU b?_3Rө3[IםC<)DwE'\ß~YmSTj__O]|y t *M/NfCmnR^J>-܍Vw>C R1^]2u#=,;]SE x?1.EdpQjn nj*91q_mT];D955|k% Ѓ%З. x妢ad>һ 1's3%@ԩP-@ Wi~1nHfAj &;:x']v{N*e@2y P5z;L|\l/iMN¦"PՔMw;zߴ_Q)/ yeճ!. IyY#p]%tQط*q-/ :Zq @XVG$rxx2Ģt?i߮up 'ɓxt0sJ$ TէўwCtEy?{0R<,zxWMy,Ρ(a0RзTu4W(swՏ\leggCʜѻXZϐ@`95W\68"@_9@ǑX% 5hXPn~Ş5ԗCT򎠏?TW^}@%xkjͣtu~: 2yXw7w:p{0Rs=SVPZV1D;ǜxY)8*92^IS?Bp*JCv(ڍ<k]#p{_S~{+idŪqǰbE4VmLPaӣ ^QlOM1C'6I%nZ#5KƣT2Z=G8-̆F*.PMmO>It- Cw )aǬ QJvn:/VG$W³4<l:@6VS+xVwJ!j] g sxf'|.mT8.*vāYLq@}XxaOW:34C!@<@ƃz<} ,;il+quƜ_UIeA9-Ԓ1bo(;[*{9*mX@Tv d[l꘹Nƣjѹ粷kթd6MM4M_"P=C锜Sz*KRtZE Ld@,LW}6l ̴E6X@d,OM=ij9h{.Z>Dh ~cVW+ 1 .ڬrLoi4:X@55vd}s'?!48l2~}͔K)w>̠'ܔ{E 8v7S8 rRYNk͛ɨ(ʤ?VI'U=e>pq@:bM_3 E^Jjs釿 Π3Ut FCbh)7vt:yz1[=i_4<@gE㖾 4- Sy~pbaM𲽀_C1~JS] Rqz0}rIspDΦ'v@t xIfԃ#K1 %@x嘕^NuI m2=PM𞬣Urh}xḷ趝7l莗к5}YƾY޵yn'Z4 F}Cloa䕮zN^,#>n)ɴS9TUrCKDh0P=ag7(#',T>I:6<4ÑlBX8Q^h8}@ :ʸ ~Jƺzd *li/(M [\ٱyfRylx_i}ZZcˉdt .Z@m=r{i e6*%n -Mr~g${L9[$]?DprG|!*qgpk,˶ gC*)ǜ% ;{ȣ:}1kQG'ŗ}.. )P *}@](;xH|e܌MMVYfkVY5 JՔ9wҏ}[MyއB8XmkJ^˙E3\ZB^_|!>o6tFyT-76|Y]F*wΊէQՓS`: @:CWn5414XCjR3MnO^ ֟MVYAʶégQMmB2xԹ4_.V쬐ݹTZJ[z7ОYH6MFu4PK3*ө+ 8||}h-,/|sR=ޡTŭ$}wc;9:EL_`v[JdZ@}KԀM$bCѧH3|6ZzžviFwGk.D,!Ԣf:chvF]7J\t7RJZ7 $^Ts7GONv\:hqv:=2z}z = 7=Ȟ.;SP9͞B{nY{SZR*|d^oڗyك339R5z}qxi/z4H2cؽs_D{g@۩}[czT_䓉=]|NeJS5%4[Yw E̓cѲ yJV[hFyzilW?ߤs΢=o:hOK%R+u8bcow q!S@oߏk%y5wbp Do+-Ė7®5T)Oz?Mb4XVI^Yiw߸?"|؆)h^"!GJ"/AZn?e9}bZT+³UQ!%Zs) PHEYΥC4{tpQn vY@m"ЍJsp͙#l,{{kAtX;9|u$SrAnн$&7vD:`2^zE@Ƈ"qyJ6XLsuL"@K-+ y60ZLT2^":f nXOt!fn/N.-+KsUμ h'#t/oiF D)S#~]lIgL` _8q3#ic iuYW*BLOL?IKUW]qQ{P}o֙ 8HtG{#زf;vo]TݡDa>3㜞LLtŀ /GuC^pϷ>M_侟ְ40*:zˣZUD(#M4D#X@e._q!PPqґGh6Y4fLHqEv'S(` ^%u~x6{x @}ZB!cf*{?Uy>νZH;IQuJiA9V^'@y^rud|ZM=*;?v77G<c6J_Hzٰek-#Mv- 4MwM6K@_d׺(۝ZhpmvAGR/c -[j8LNvC h&GvbW 3(GNTQ?ʃѷ{BkqJaBqD&C4U a<)V9yfһ^m}D^[q *jb璵J]JlY(e)XRg ?\_%+F'%@WsyD8čIGu}KyW6#eI=t*?HznTφ$o42?}*38WI~ 铞fܤ^E#~?F~):p5!o+ )"tdKiW?U6r\n^ga맫mB-xVQP,v+iwvD0^xZŤ5!vri!WzZɷxUPt`fZZS¡qC0/q\>ž>p֝M;)Q;̢󩶿:rnm+4/]#:Q /q"z,В^/`sORCߧy6cKs;[(eVJ ôlXA50FhđF&HP6 {]_%7~ⱚ8D}-oC>ieJI~LOZ>ڹ @%Ku)tDއ_$HҌ`ZV@}@%ko mTHbH&Ƌfau*J,"4EpZ4e>%a<7|,:5O{PßTgѪ|8$t)<}N5Nߴb4'Gkɵ;|Ρ}]v7wCqjn+f]CF͟UϪU@ej&kOI8XʣxX@Ky> a'$`p#K"HW?6h;u99/Vn 'w<]|UP*؈$HҌ`ZVP4ȘN%inf^] nĽG]2nyRPO&=h6cE*F\<K O5?B v>;G塲ECYRKqH(n#-rnlk0OlH3il >Mwi_Q 4w'ehxq/c[^A<6Wp}Z3$ɨ i&E[( jUf.W7m[fgWRGݢ)8˨۬&~ m_okyϊ/ (}[Denf1=ʋ8]\}YlU81k]Ô|?&Jle:G:2ߵi:'ױG˦fAwAetj_jDmiUOy~_RN<~y=vWEN&xi@NOw-9Gf/i_+u<,::rA- ~#J48#XRiɝTPn> h0[@G-B"V=VLҘw:ԗMՆ̖WJ eȒG#r/OrRᗨKݻi û{JN$=Jw:/Wr/R4Pv^J,en/ձB>xYٓig}߹4?eO*z?xv%"1 [hނ$v@\bN*"^%X)d7"cQ'0;hW=;?lOPy'y >/_*Yp[c+Ϸ=/ WK.=7t-O-;:5]ҘG R 7ʾȽlݡ<! ~ܷɒwa.ߠ~FI';|UD:ˁHH g]Oe+ {y&I4L:xp %}`zr_" ܩ"vvaYJΞ %&|PDb{ \IW;Iu.\0Ŧ%Y&hUuGc i(^;;Dr;:sc1>ҕ~.aLPO$n}`ŊJ47܁݁ZvkJnXiKvϲ*kPOZEf1|C%I0rx"9P,$3y#Yh%-})+-akK%:@KZE㣙$H;| !nǦvwB+ 2u eiz?3ʗJy~F.bōZ2|+'@ښPc ,~]Ua"S; ⯾E_-]>Z|N^D6%&NE@H\5LݢkRWf>jEL7W}a~h5]uW \2גumQd8DeīMt*gHvv gW#?F͢ svC5ra! 4)^Z>P=2Jvފk>p/dBWC P9,BzxNtx> [@蔺YPYZ.R8gSRgSa2cY+`n>F|7ú=.4!T|jAa4*UkAnZ,V$bmd3Z4Z*v~Myi-jFUg(;sP|׏xe,(YNbXwR&\1[téA\J'#Ǟv}w(攑1.hw[7ka+%wVժf^04PSr2qFJARy(XH'@EiY|249\$+&WGzKVٱHl G4t w9X;#"z&2v)Kp0MZ?nd().L~[=D-B(,, TGbƵzp1&Sfթm{#7pvQ""{]uFݾdDKfԜB]"rsU7sf3jޔRC$.d#3?y bR=3Sg y=m˺Я֘ә0c u/(1>9=V@&/211ZĊ)IE?DC:=-ְm5|6P=V Eֈƚrѝ.TE1)>i8Z<$jȝ 4W 6"dP'I a)dKE^bIKXגURH,E'c9ހ6:7 "O&w{egݘ&c5:UC=r+( fK@MC,m8N~͖&>JcSZ۠]li¨IR((ŦN8s'ZDlȚ4l.g"$b'wva#ٚR ~Vqcb1b5ۦ|qPB?L N.!Z%ĭڊ7c26So{7u=#pv2,S¨aJM1awIݡ>|DÆ;`hݧ:/ S5I5/Pj(R: Ʀx_!#WÜL{Y#΁Wy|%RG A@@;鄺A5x /4tǏ̮߼bt5'aE莝XE\D8ݕ 1li {/(xJ <`Yw*t$t9~Y7 Z2|oB7N@mkp,lZ)GeN3tw)f> ֖$ Ug6k⑕Suke7+XH7G69:/Qh,H@} ~󇓝W`rV,n~vD}4ҺzQ=8rLMJ3m:V/#_GDǛo䝑hL;܃g:BtCV%*)Au _kh0Tխ 2 ; w&w1jһR٤dq\zZ=PCu@mX36h\ (iKv}9Y &>5kY`C\~w$bP96$x<)E|'G5'oq F8E3F-zHeyYWI$boZLq ջ#o_&hHDC7]bT/[c]PBgl6TFsЈ/ }:2Cg:t%hh/pzs-r˷W90N?1d墩 tFUXi+3ZҺ^&"{%WmrBXiuSp=:T?6 0r¤]1l_ZvcSǑk _Hxq&8Nd޴xsY`Im*JA7V@i;HP'4i&x.øq}oޢ܁ZUEHq|PTS 5+R`<-長1naO(@錾uVulNgG2:'􄍱-;"u,!0fl~YqPOPP{mYPT'\ЈW7.e?hvrzVy?$>Ov?܆3qnEuBN]XZ1(N" И!ʤ%y"CpKy 5/]m{"?pv:3 Sjk !BmݩYitMB 8y;נnUEʳ#"4űu~*yT[Zxwx#KZ͐'$qqJyveY|bb`E}w7\h*T Ӷ餋݁g >; q$>DO~pK\|%jJֱ']jFwVqcnz#@JO]M 77R\0U@Eu^tc̙oB},?ad.:q86fnPn!Eؐ1r5^A;82{>x*QYüQ|.L]~W)RC%ZǟxU;dֺ^!OjTߗc89q+1t"L'ח4 -,3r;Rq~[vHsLXn݌"ДB\J//5D^8#FH&Uߘ7GNS5̐jݸ/r) жDx; FӦowxS+̺49aP>]ho|:t%߹*^{vyYiDeQLb3ԃ1MКln .*GBǥu_][T<Ɏ&k І?1+1 }m~Q\(^ ;Eut&>i"]ȴHޛ\:q_pfa\Yngn}9HԱKhp^PӚ=/a^ت¦-ɉ/p\@'?JHɈ.QMu@JEJ`J)RAQRJk- YBqE_Ҭdz(-;qpُˣ!`$]ҧ2GCǸL2 kb[di4E;waY59Q-Εj ӬAZ%}bm*kNmws^>=6}_1='ȀiVjN(>I( Su k|Bb3t KK^i`?5?|uE볏ÝϱPSZʼn&8Y3FdHW5}qhatI:&)+D]>| Cnua7ϳ ;5kKԳ1tvm] A0# P:gNzw7X@0e¿Z`0u*6ҽ.ɒ vu*FOR7[8;cfZ}/oFNx#6;}i[ݲ/FjVقHm$RS@i %Lq*In#ӂX$)֤גfc}ɢ.jv c! ;,^zc-&4$lEyNdq'ꈶZ"0M2wP_aaǟC( hE3īR h59qrb:#ʛG,ICD=G NGxm3q{aҪ'Gt5O<~|jZ&A?P@( ^^l]J=<7<ʻɚ?wj@lN~?A )v9዗b'EN_g(( /SJMĥwc{q!"i.cL5wwGRKQS*e8(EªT\k@ Gӫ~a^QbW u [SSՈC&K1uD{X=tGh(#&@IDATIȝ=ͿFa~9O*P)hm&iHԟ(Ƒ!^/ȏO63 :bgMM(f9˘TsVrgu20j#VG}Tk-@%(HJJ5Vh3Ve7i`MךxuW};}}̱$Ӈ'o6["7\ꞻiA!Ԗ C)>K#\ < fP,hl5buhmo#TUIy,D  R5nYR^+ΧE,w!C1Y/kKe|d% &Ќg?{H`l-6:]'z`jx]ٽ A -^>d|R[l_k ]㿠kVLwx 3Jvss3&)kOghX92g%~@)׺.r p)S v)UsY+tF_t7+#=7d]ۮ/w"Ü`uO]Rz]Z9v!m8ɂx/ O2?1ixh.r)QcmVdx"['AVZe0Ox#hf)etUIz%qe I.+Pʗ1䯚L:<ߓ:ī0vɫD cW:koUZp,>dxC9_yiryjWmU0rpqn5㒌@|%׬PLy ed??F֠vEuImBBBz +b .ݓR7-y:2TQWh Tz ٽ5K>jԧd:3Ƽ!"gCzI(}:K?w_Gin5}~oL S}L^# 﫾xCJm@#*GXj#'|+W* bxkю`粄94Q]rDY9ɇXxy1pU˧kIB:,BP Я `,湸@T#蒀CL'пM } cFxg$qyr6 DueZF"rQc0~OP d0ֆRYI>(4!= cVȤAv@?uM!< IΉy!D 4i_,u<9NhaC=S\C)irK:$@$~OJI`J*~C.&'KZQ;*d7dP rފ_Piݿ^]RIx @Xy+1BT̺)ٚ|[O#A-py7?ʵ/cDŽ hAq_)۹$:ɌNӡ/'ppE[s-Ϻh r %/vǒf-h-^rm)oz&[-ZH>mss>yo!CƂ *)Qu޽{26Ru^ܑbQzbq@MwJs1@8sNɋ-Jftw ~{H go0;T%t̄0n x$,jӧoI{"Adh}ki&O<ى,4<a>շvp2'eZE3o8_IA^9q:L;Pg`|.1ɫp[O7x'lrx/ϑ!w@~KhÏŭY!]N)+ݮ#VMTկTߛ'Obʔ)UOiiӦy2za%u&UW+XrK9oѼҐ:N+BIdgeϰd[b )'#4~D:$3BXח4S|d>1y4r.!hO77ER5nW(ve)Y4nFIg!6?|i46G]虮m=dȎ$2-cIPI`~2Y8$)uaRŜPQHbCX'p*5n7' ,O -9gtLJw>L#ǒo1@ kΟ^im9*UaM5 Ī4 uXp\1=ɓ!CGQỏ(JNh G#=$I  Pљ_Պ-VWϾ9t13GtM5^}EEDXX &=MEȟIזl+Bӌ\)?϶.ob6,gol5m{8;%Q!t.D10TnϐW|ʑ~)l.F]2K-V;`,6L-dV|~5wדkٳ'_mov//Ԍ]X@MMa0*d Ԑ)8"5oXڲ*ҟD4Zy+k% ̱Jz-\H O%Dw 3cx"k6fPlrN ^KXY D`ԛTl# ` ~;:'ъDHk3-cHy5XnZW2Jr+hnb-ap(I-[ e!w6K &af3[%tg^Go;1^%Nnq}Q×KF-c n%@gfI9-py,ࠚ`@rZ[ i#}dwsj @%QpK4_%t!QuA_ḒHBՈGlšjԂ&P֑o͠ 푲ښ*e7l՟C?uǓ9ULB^D_gqǹJuD !ȏ/2Z/}:]on ^DP˵m$#C` ˭b!WRPPͣMI3X6TgҳJ!{F%M56,K˗/!Cpa%oȑXlx$|ip"e4(@De4 5J96QN3'aA&= T2 6+)~.jlֳlc%Z"QJDhKPjdθ <[ڔ }-q""}vŏĦ%IZ(`}@ eY݈KN w"ǖGb,OAdZZ xD" *SS_N]U cf5o5d.`\RW/sk,uDD^(]S L8,nV(Ojbx Ѿ,U(i\>E/Bc<3&6caf =0r vU>|o೹cX[{_i|Olu&~C~Sz^#NxFḩsf&IQ ’n:'VYt!k]17gO@Ҧ0n;ڡC:|L:"mٲ%sm{?~<޺u+w[*8d&[ &_Fb S)#lj[c$i؆_$Wj$T/{N(-&=+adt+SꜢhKҳጦ!/q`^#U#;"|Jo/!k%Rhp`|pev܊>S>cFQ(}C]^ת֭Vk.uļwؒL ,$1U'V зNqIc3q CU>кjJzPzn6CDp =)!GU*WS16mD%E@p'ڬjLP i6`/ ]BDѸ)#: mW[+:]F:**CNͲ]up:igb0rG|C73Srn5OqftsFRQ02ş~ gDHfMgsF%/Q!)C%)7"iOcU#4 4uG LNO7E7VS5L AFXce+Q uڍ'5JY+nx8 <οЄζ R.n |Lژף"[z{eKe#,z-h+{:㣥t /K8|97ToH}0UmFB>`q+m@e KIdCh >TG8CUO]A]mvg/|"\0W )a ³')85?t2FP,bk/Y#GHwqƈHJ7@mKNpH.b,k^η[Di ⳣ6Lɢ~"oՔcm5@_8dE+:o`COڞ^HtR"n,KÂ6mLhVfȞb*A{`D7D\ҥA @Ou\+~.~ =XFТMJ (vɃ4ʹ;!,BUi{ W3j?vìщpCU=/19;gRiۆ&}&|hވxA\o?'-\;D'ÁLIC^tB%yq8fhU%1-.bel~@݋r^By"3|$*J4:D׎!]smQ3ݎREa=W? (cx G:FߧC.ɛX9M3 w1@eupc2(bvMc8kИLػ(a2} 儶)% Jvr:F[G $O9мU.@@[v84Y`K)Hi!_9 Y@s}O2gϼM;#-xs7 7XUDѸm(ͩĢmtl7B p9a.Ψi3I»&YYemc=k=V&iU LomTwf-Cz!6LbI#uQdh ,S!h U.Oջ_ԣ|^ޅA#''SjZb&?BB' `Rw %ۇ A3| J@~mu>:)q~'Cѷ^::T=:f#0}J9? c퐰5bhRX!~H{1"9IQ|P#czI2R6-Dv2q 階~wЙxTn&4 xO{խ"[fX.@H+?L)h=%҃c9R2K{ q|k&¤Hq:H@D}:\z9vhIT̿?`G U=$#HTuuF/*FBp%fQHt.ۿĥKOݜ}g e[if>sc2uCsg4n ޢSW%WL=q:9> 5|p>)B"sAX׍$hE*~닼GGGc AS*B[H ,$@&Ґ:eR"iZ~W f/r(GQ\JRI K7qqW/xۥ#"|yؙYJ]B BR{4T"κR3z@K_cFXc/:n砊!7HkR+Ap+32' L&fe LmFJK< U_8{4/7T~a"^gR_\ugbTmxcxh9wĘ)ȎNɘQ-x?/QPyj3===/&,$3>3oJf@ُPdԬ^q@hN®q+J:M.oZ)@]*+XM;9^HKx^[Q1RZev’_VٚsNS,o+E ŐB< "] T05`ۣ\ސO^}K*s |&A+A{7~3}5=~2W, lp4CVGtĿ^UW&n&Da,K h|,[`vdft @?dZ&äʪA3j :f@{qRv1ntb tԼúyƏ>aR}xfǙS6K\kjZ$;x(zp܏,ȡ3ŮLC2zh*Fڣ̀1\_t<XaxnW]UP4Os y M ʁq+m^Q!kD$߈}ԊB-QNU͞Gx~>5^ZD->O*0Mh]H:q9fΰvmQN}dqRB?GikDl{E;ҴQjwT!%rE#R'LY\/4H]^^C˓ڢ[]E:eFyxsֵى,*wYV0@j" mKƻ(= jLT5a,ԫ!G)]]s!|+9 O7Itz?}MJ>3w©㐑\~o F)C .^ՓsK4G",;=5q{ φ-e;"6P`'KtXFe:%T_}yZ)0n>j#ZaKztb,3<,@CM6hۛ`VsZtGME3D&P`; q_m/5[w$r+Ɂ\wkrX:ϼ Xj⟀c^j6=mbA0ᒬXrWOaQ|]ܕeIK{q6]%RuEm%NdGhxr/dZuy+J闤nQ*9Fo-J Aj:1{ͳXRe$v cz5QFżﭡ>{,{N`kO4Q*o˹/)"?ѐX^OGtWڴ )&UFCIɥQy,i5&v2=sBʣ/hC4%`Rs4aF8Y@Jdii-GgzԘtॲJ q%>\GP5:ZU~;kK=N$*9yim?C?ZR6,4Aܹ Wwk^ Ws/ӰN=uKbJ#n\v.Ɋ4~m2gGFcpɌiuE*wwxoIؽ[s{8m{ӆnV|6  S %D&OL!WrZ[_Kɺ-EwިYȄl. In&_›ObotRU*A!>5BȒ\?<2L1iD>쫖x(=mCOU$&/%C֕ivr&YHJ_rTBFvհ:RQaUk8H>'*yR}$HIË0aX3њ3o/GU'}:^DHVZTsƈ_oU?oEN2Zgǹ8<oLDhnpid!+Y_dy'}g%gVӘMHds 2<|!]GczC=F!ZV+}6WM_#aJ=>V{h4{ R|FǟE٧xXY" )n{Y;R;Z{ ŸHb77b *WUi?l8CgJKU(S FC-0l ބDլj KRjK^@=)Nҹ *RuWϡaWF~%5oMLQ _5q~{Xw [JqDwZ$+)jR31Yd IOp$ThW(tڻ ;iyP9%ljW鄼;q%n]H@'2NpN(6!d>Jզ _VFE&ɨ Vщ _gV3B9I-gmg!5ѨeXUŹ#±<}%:w(ֹ> &pPJyVU̇xx{>,)%Ò}ܐTq(/#?GΥTW/hMaf4Y Gi~zLKnŜM $Fs21;ѫGuKg7~/vƠ~Jڞޚ'p"e!^yI7B:W,q8]@mw;דofգ;h4\%tK;(ֽ͔ qiZh- SZD=h.瓨t\PcUVP ,RX š7濾z`We69Fv8z!j\Q` FJa#U^]oG(rף.{%Rl:yY$ /ǐSZG`1Թ4AcSm-٪|$DzԆ"/zj~ZWi fZ6l[@;e(L/Hwo+_ק,wnKqXdYyb][N6c j\k u)r:8&W nsNDL@׬BL0> [ <8שzpMp}\.SQH} ëOX(U;*^:}oKђģr= n턳;ވO+6ȟ9 9ᏻjn]U# 3ow}fBU¹m^M^3Q^_kh=En N<]5/ >5!7cWW!5b$pnmlR০)%knߦ7o[ؔ6ek%ּۖ1;CsrTcGjɔ!X jχhB h_6T)gI* m8 |i?Ym璵eJ@ z§mٽז[сmQR.UCm@2/yg\MB /QW"zF"抴5: AVH`jx;e-#w'#"+UD hA.H{MFKewiŴ"FtvCw0Je~q=a*XCUd'3ƶٸ\EPK-Xr=%hsyEPM?yD䒀"r&';deԕ򮻖$M=6k|no^+ħrFf12"btGzwabL+ YƇAtRoф/M8RFK?q-| iR!6 Flal{䨒>sxia^g0ImL0\FJ@غ$|`L~ VΘ>}`҂2_7ÈB5wBibd{Fcm y 9I3d\ dÙI"ɷmas="w*z?8ޖH:nҮxo%W%۾?ZY$ˬ=/KdIAD^ZGp6e:ӐSWwT d w:]Zfݖ]ŸNG%yԾmy=鴯omj74z;>è4fF 3J&t)D%Nl ^ζH4c$4jT <7ܲ72}~$k&sC %Dut4-cc)ԩhb$i$|M=H8ƌАtn^< +-%I=@ֿ"@mRv4Ҩ聪N$'mWvV+&$[bП*Lh[Wڇ mUqg$n`-rS1OUtS"%xѭW0 ߃!㵰Q]ޝ5݊w'܏Iӓixnދ| ?Xɿd?Oh6fx(RVl/l9g2 M*co/T#jleˋh?Tz|) ];@^W"MUS ZQI@PuYWoIۈ~]+,*,VN5hT ;~4sֲ&5F:HdoI449R'OAZ A$FQm¿=ԻvW# bMM,!mk[/&Ȼ\"mLKxО, |7;J1a+b/z(» A?6/?^EU$T^ĩ`{Sgιn1.x?ɏ5V8#J@e >>,ЭKQ&JfՌxd`NF?~7AWYEn[Kυ(5EwA{#~Ci >jw@.nϘ6\[#b}%zRH;wrunۃ5oECyc,iTK:^;@k}ꨢ  )bHH r iQ`<{MЖ3kD3f\'0KZ*}1JQ֫U'8Qi( =}=Pb]|t\SLÿ!.QHQl RPu}jYэ*J zZ*vɎERlGZvU76 )*4L9.Q/!{<:dI!:5F( :ANC;^#4dkF3n: hX~2G^4$݌y4.F9xؽP/Xݪg=9g/A5q<&3@H4zڨJoզ -ӄ2LfCY_] HY+kOej ~Gm# q֯N6݁zn}'vtcb7Cc?V(Sa&Wvc`)EgGM_%v#ȢR}MJLt0[eub"YٗvipŌo/aK I۸4꯿+`͓mu'mF*o#B) 8^m LzjΊ>I=p%d%4i9'SHP_ezm$fD1{=6=p1¿i}]#u'^R&|lU ߩS:TX {gN.pʳDF_*ÉzPZ<O h8uѥ*_ioJa1g2&nB O)vEݥKï.J;yHx>BN%AlRպhPI/A,!uI/yDi2ܺfF|X5XE9YT p8N7܄u! `ę1?4MvvY.1w(7DkI<dЧ CJI>>G`G,S1*Лhӆ羾Pu+g ZԦ%QpzfbOls߈t4*V`PT*4 婖ue=jaF Y;x)l^npFv'_a&p_xy{6=a!*q:V$}ڧי3<]Lcț؅M@5̀_ %|ĥxiJ[b%&gdSmbJz:%Rb^9Tfԩ%,!Oy,k~J@G= b{}V\~J8 x']F5xC| NԮO?A~jLLEY\{X!N#+O3Ϙ:m!jn 7oæu+k z`w(M|/֮ǐ_<]f<+-9cHari{@HHIIZ\:8y]P_7{Un@HB^Ul\Pc*PQAT^ \EpEAXH@!Ȟ}O(YOa~T*[e-hH^Ce$bEFUH:]^XW%̏y=Ï@F/%`omvY믗)难}E?ٔ|(/ʋ>pۢ3^` Qwy"Tx5?U XtJQttI&Jj)8ùU/ kpn+' OV*n$z̕3!IDAT1Cll FDLe26Y>V,ȘsŊ"iTg`)l];#B%ə)xqL)jrCB%VB|ˆ"mA2}Yw3ɟNү?O &!Nf!!Z&ظ7iKL5)VL}_)AdL+oI}!x V>-#Z#-<eΚ]EEaaѽ؅y3ObB qBۇwt[?>Z} Yp|ŋ%ک0+FӚ_Ep y\xxafs)btX/Hti6-* G`oȊPR/?=7 d3]2W!ѐ@N^z; TnO:ڙziF-h!S*hΠ»gw?H_@Ԣ_>jY _gKٗ֩~56M=&+*Ǻ[)uے[4X7d_:uCvżYf|s"d@tOJkX"w$oB(㤑]&a/)h#AIH>QX㮑,U$P7G~}PDU ሬw5 obiޱB>SŵQ-EWiX@7;+嶠}늰;D; /H!Z̓_^vX}.Zn-嶉耖.No`t4w.>.Gp#}uKF?/KMAʳUBpLs^hFtuޟF@u4e D~s!7`` Ւ:Ҟ=nJ,UO2j%3T: ) m[޹xy҇ncU߶\{{0ts?L?ou0YUD7KV S~gQ9ڿP*7Ŧ?bP5Hl/1ԹBOttINY}5N~xvc*e/&HDw[o0S zÛprlc 4xpΏ(8q'2z9O0nAok~q|[7ݣֶu`b=I@r~z<8į\Ͻ0f4nJxy>hBlzyT;qپ#oͮ/ZStSu;=hfMӯ$Ĥ(f4Z7 oj\rXq#sH1W/I6Exsi(.v;}[FQ"glϯ|dE՟95y],br^פE62RIgzDltxˆΎZΧib1fw^Rq ? C"e 7\{٫%=酈g%O0\tmK1'hn'* L$PPN_C_$,RqwR9 B˓KPY,r&@J:_;qt"YI#B蜯M90Zlc8O?$Z| 9ϝu`gbgbѰlSx:WN.egP&04=YQ­ :B'˼}$\Uf RE\ZtvЩ=*GV:%h_%z-"Px]sDL;4lj=pΓ_y {] Pyopa\4ބU"^.@}̱e+l}{gl\"%|fp<抦wX2ϭr16f!Cd}֭؈ {]Y5M>>_ I hYBix.CXߨVzfFՑM91kys+uq1pA}k=)-edl؈=s׊zXZ~xpĔ;M+RVL(5SZ~wjٞ =~jVe)̕` x(..Ð)5~u\{?ޒak&oR>".4nв;z Qת/^Z}#jZt8D9|"6/=@Ý[cus|~CE"w׊`U8V6#RJ\0Z]-H= ":2p~L  <_:mWÏSп1|{(=s=9nf@wumS7B$DC2&quҢi94_=P2BW9HCh7d\z1GbDN։|25p[mW)ھͺ&oUg54_*@ZI'|QPr叡ZJjܺ,6mΛPqcZ(ڷכ ՛/ [^DWi.{@(Kj`b5TdD-P`u,]"&5İ!7Dv{cb8| z-Z4z<KseD4(ak:rP?U[fD5'bȶ/ 2er[{=G@EU4HG+{(P(W0ǎm=:A#?z ͘G#QğN:s  |zf\FAe ԨW6}^`Юw#4uq޸`3-KcZW)IgV K4VtJ1MkBmUQHh0'3p~ :*dCQ +B1bDۿB ٗsgPmY0bHP7bn]1VHL~[ػwqx"!i4gQLr|49.8#[o^ʓa71D\DKǢQCSR l!3vjhR!k8vhcvk:wd.!u{PUzzc8yaN0O`TkvIG@Jb}.l*?ћ2Ir *]?Й˅V",RLAÊ$C+"9ާ7h: $ a쏍Fh!}?!C2jlzǸp T?nk>z&_$(:@vw$X?9ZD-=g1]vSÇg. M}ʸЪ{N'dT[D$!a-=0{6#~ahM[K4e;rX,8-1(.xC5:fvIRTe"a> 7'#"^AkoZšʟ)1~VqEҘLC$:50TUc^E\f_ny;XԺ :u ܋{1;*zp q'27 W#&y&>a<{gzz/ڠ QCgiD9}=[jٷ @ꎺtt%L8qTG W|tk]KHfOnhC+cD7|<C*]k(-nQ8Ν@2Rk&Rz Èn |vph U#'J#Row|yPh,#̯βg~#+q_xH P߾ۚjSتVEOKG,ШE3X#~[nZD%z5*_!>8.mu {/~kXJ@WV8:ޟ|P\}J]H FNa<ń- C.~QW @A P-(AO `O_Ø;Qv%9R5'1܅d.40|q"7?#{%?S”.?=|մvbP`0ƙx aOkk,$@$(~AD[*-`$&"t jH ]+`#w+@Xu7t$+%k=i;d8"3g/Cxrp:5;NP,~k|%ґzԆ+i캙$@$(mײaHAS|vu/k#d9%fGH<J!JCqW'`c#;Gskѣ@6p=?r%\! `%@4X{ H:#߶̟F4Ik=ll.3Ww%Ka<g[1 i#7>EFZccF\Tg\' @$@4{ujog)} }Vm y6]?nnR X/ged07 P`TT LMg[HH G@sÝ${W^)5_ ұv?s0v'Dr4h*=I-* ë&ʼ?|cQT'J~uQiCo/@$@-)#UKJV#2J,bZź=]up#Q2WEG8?]<4,]n ߯&qg[e.Ǚ $@$<!xx%$X%R5M~|ircYW9 fu7-[kDN0L^'XH[w/l^s  T@mME6E4I6g`uR<eߛn8=H$`On]0<-L`{ms$bM0 @I"Вl+ 1ꇱfv ,+ m20[d$z4:5g@ PP[B H_ (1(fCI $/%aKQ?ۆf&;oc N0_riޫ=ގ %{>=pHJNf[I ƾ}ΒVxa̞cadAPgϿ?lbm/ X@Kl׳$P:u/-Hzwyrkbb`k"jZ3(VEȔɰ t@K@!POB=du m]9K?3E bzi IJ( %l(*}ໃ-`lڌ%?czh!6Vի gHH8m۶o6)W6^laaH8>?ލ DXXU !W1x`a̘1{zvܠA5. @ÆR|$n;V4A%$ 8k׮XlZlt1px\SD_>;wN53@I$X83L]K"HH 'j[tds;v,F-qF(knpHe~(>q(UDF @ PmϽދ֭[9/ϻʛSrK;vDNr$P" 8l 'Њhh ȉ@ !KgϞ9HNJI="*bIH@YgG?DfͰf͚p;  T $'@E$@$0vԓӧa'4#>'IHHHEh     _r<HHHH _( "   / %HHHHE ht,Y+W,Ys^z? rQ_V2݋X$< ={CZ`$K<};Qr=QgM4 SNEhh LKKիLM@$NBՃloiNAL@PkNiݻƎ5 ͚5iy-fHA_T k0ydsw)X@ҥ ytܹx+ҋ;лwoS-҂xb'0n85vbU:# 9 Al  # 9 Al  # 9 Al  # 9 Al :>vÆ ~0[ )8Ak۶mf>FB hFBҾnԨ*U[  F ByIHHH Lh$@$@$@$@y!@4/HHHH(!O@$@$@$@$@ByIHHH Lh$@$@$@$@y!@4/HHHH(!O@$@$@$@$@ByIHHH Lh$@$@$@$@y!@4/0ozz:Ҳ-Aczr˗~o`8uT'(>*XY̖l}vkg +Ovup8ћZ?@:H/. zk|h֬ʔ);7Ȕ4hbbbPvmѨ[.Əﶟ+!{!666SagΜѣQzuDFFO?9X 4o֭fǏFQbE<v !=c 0*T@:uGq޿FDDʕ+>}`ƍnyxO(jժaۛ<ӦMC=vaɒ%↢!p fVZxgp9HLH-ܢÛ_Vo޷o_C_|EC㭷r4#>>h߾xbO>1DP1DtӸk yiSN5Afd?y5j0RRR|w}q-2ӲeK#!!(SP4r;f|(o!‡! i_m֨W1c C /4KMM5.Ymf4m|NWn{&o>7&NhYƸ;g.3=k|O0ߌ1c"V7yJ@j76ʕ+g@tb ֋IkJ2gVxͱggkS(QsO,i-Z3)t汦t^i'b[xgq]w!{˛wny > \W\m\0+3;Nf@Um#owUرcBbVH'T75^КT6l>sԺ)Tpz*#*ԩTh n[l1x_}LШSԾ֏ U#פ׎vHsꁪpcڡiucmo־>uǡC-#xM}`] Ȉ5=]4\|~[bcy~GY{Zchm2U7SW{G)o^EszuVk2*訙vY/0=jJ좧b!KÍ7hͫ7kQMt" FEjD]2Sh裏YtkΜ9kRAUGڮjӨڧ_Ehs[jփL:+/`n#ZcLBGDؼU`{ډrܞZX~&#T|㏛F=Y7}Mk6_7>uGA^i2TQADԝ(C-rZBd55bUDs_P~ŴZx *#Jn>j4D9'_n'JEU:tBTeBG7~֏BLT#$.PU U{HPN[ -&Z}m?1^<СY7}MK7 G,ѤIS8iX]?y95'Ԧ^g:}EtʜsX%UiUФ#I~7onNnZj~gWRŷSbPdP>~)@bh͛7c2dn4.>ܞzh?kte.&БχzhxGzG)+'J.nݺaҥjΧ| K_OפIl9F s ZU'p?+NN%''c/qϤ95, Ӿk[\/&3Iu]Zv%Rt˯)|샧zG)oˏdNo6D1,_ڪi^t a:k[3Xi"xCaу!jK/d>"+A<Ӿn:CF9 ~7d̐\ !NYCE1za=A`={Z>6̠#G4Ċ#Y# > נf_ʋwW/f'=z&ϛoi!4LGz0-\ gޱ7yJY`QR7DtTь995M͚5ժR5;OUL:'xO{uo߹Q HʴȭǒʛHHHHhS,HHHH(    S,HHHH(    S,HHHH(    S,HHHH(    S,HHHH(    S,HHHH(    S,HHHH(    S,HHHH(    S,HHHH(    S,HHHH(    S,HHHH(    S,HHHH(    S,HHHH( (yf׾}{h<( @p f$@$P<Zlӧ; 1cfϞ-&&?|p4oܙ $@$PR I%l7 61cgM#&d[H@Ϟ=1m4+:t耍7o߾X";v`ժUѣpw#11ѭ]SLA֭vaܹnB$@NG$4֬YIMMѿS=z4tA0x`j >(N':˸[ѠASر# ̚5˙ $@$= -a ?Ç^ ]v믿Ƴ> ZǏ#FWux1p@D$@~Ow+H$ulet%8U^[n5uT /+WtiҤ >3$%%!66ֹ $@$(kϰ^$@% V 1k׮mmM7ܹ~]wt?PO*\'G@WX' C 4ǰ?FH<7qH[X) Lq9s < u4i$9r .=܃5jL2Ym$@$w(]B$@$=ɓ'c5j;ǰa`Yg$ `$$ քH&f:W%ED$@Dh J$@$@$@A@SAЉl  [+  AЉl  [+  AЉl  [+  AЉl  [+  AЉl  [+  AЉl  [+  AЉl  [+  AЉl  [+  AЉl  [+  AЉl  [+  AЉl  [+ v:LNIENDB`mFilter/man/figures/README-ex1-1.png0000644000176200001440000020724013351527744016407 0ustar liggesusersPNG  IHDRz4iCCPkCGColorSpaceGenericRGB8U]hU>sg#$Sl4t? % V46nI6"dΘ83OEP|1Ŀ (>/ % (>P苦;3ie|{g蹪X-2s=+WQ+]L6O w[C{_F qb Uvz?Zb1@/zcs>~if,ӈUSjF 1_Mjbuݠpamhmçϙ>a\+5%QKFkm}ۖ?ޚD\!~6,-7SثŜvķ5Z;[rmS5{yDyH}r9|-ăFAJjI.[/]mK 7KRDrYQO-Q||6 (0 MXd(@h2_f<:”_δ*d>e\c?~,7?& ك^2Iq2"y@g|U\ @IDATx]|SU'aGY) A-{EAAEQAA(C{6y94M$M49k}w{A#   #>jGA@A@€ʍ   S)Ҙ  0r  a@} 4&    >E@P-   *  OԧpKc  €=   S)Ҙ  0r  D>mMcQPH(RHbŊ{(TP<&X,8pJRɓȐ!ҦMZ %8?f_c…1͛7/~'g̘1믿U`4(MQkrܱc>C1UTT~WCa@|{kF;(fjƎE~–-[п)R$Sp}5 ƍÇ8acGShQ>(mSӴhBtVݻwQn]ܼySʕ+ȗ/N! a@,I]"s`$""vƍ.]0 nJ*3~jaiFͣ}ٲe&)S7nPcS_97NיOg>v*)"A0A:2G୷ފ=޺uk̙3W^KxK ӧ%K[oV[ʩS-Kf3Μ9}t=K,b$35ӧG2eJԩSGm{[ It۷WkYWbE5kVq8_ǎ#?5ftҥ6?tJeon'sε槭TmϞ=7Ktw^k>٣zkT-Rcqc`[m{sVE֭dGo0zCM־"B'f3eʤְJe@5jg*,sr2ڵT5hvY+΀Oc%Љ<z4A=CUFH#uH*kזXgDLS֬YZ%IlaZ}߰(6 ZH~"{꺈ɺtL#k֬\돲( _sԏHca:dc;:Λ7/.mGYN+ OaWX3 /`;,DW_%RQ?mu^ul\wsȡ ebkֿ։O&klTV-I2 6Тkcu ^G?:v>Oۙ5[3ɖ}m;{318N|>5fl8LIꚇV1ΰ="G:!6I m(yww(_\:c9b֠L%?6qޙmzNm(_Աq޵WͶd.炀 _gr&_ҙvcWAxQEkD'fuUvCC.oآE ŀ2r'tOnhkV/"0 ,m5[c~ؖ뇞vzZB8VR۸qcpD-_,[a;ذp#wvtØwލ>go>$ލ 3u^@=A  S4H mx+tK;*>3tщ]zGL#o孧5B^tO2ʮXT gi;RgfԖ쥔5vĒQ޾' ,#$3GLTjU+J3={6 4ix`^^D>V{ "ͪF?P>{}pSts{z]=uu W]Gƾ]!?/HoꂉwA h-$>B#$zd56~ F+vCe׉SF=$iոN%lMrÆ SyNJNL5\uc[nC[zsQgu63fX81Plȴ~zkFH脭xLdkD1eU-9QG3gFƒ gx|LFHl,FHܿFH#F}Z$\wu#$ZՑG )8^7B{ R^wy 1 CHOxۏ^(pիl_l4akv ÒFvDqmsݘDz6Y"Hb\A=K.YJ̒fMmxx]'v]O#7NJOwRsʅ]vydR Č@Bj*QHA@GI&8}PGX~   xa@ T.  `0oA@<מ?õJuom@Ń\r%  "U  MR-\o}!ɓg?LCzf ٔ_",Y2ULF#ف[s`} h';&ܒ-ș3'RNP4S#st92B )1kQ I.A@<0RA !!; JȌmcʃtC$  XPKp=z*A ^`{K5)93BEv|ty%p!#wOW27nDVTȥIuRH9rr\iC  ԩS~K@̪ԩv1z>Sg;&V4.hܽ{R=J$3gsΨX",Y ]tx!nܸ;vW_ܹs1o<N?@E!!OOi ͳ^zXs=իc1擋 n9J:*\Rc̟ۣ\A@<@$4{W͛clؽ{ 1\vƫA^QvBUQ%z?ugc.9A[Db@W^yڵ믿e˖aΝ8y$:M6᫯BJ*U*4n[zC?TυÇWo?݇O?{:I$_?+T7ٳiLZIp8q7oLpQN bŊaJc_u!CW~oA@ f;69.'F֬O-νR$KI%eFȗ-,G/"fJHp@ƌ/2Μ9jUŋvZ=z׮]äI+W.p_{"I$n՟ Dy֬Y>tPmTPaaaWJϏTJB/_>dΜ͛7WgzػKԩ 2nݺJ½k.ԨQٲeC~.tz`tQV~grP-Z^1g̘v-ʕ+e˖U46gȖӿ[a;wn;31J,}F0ms2gg6 ۷+擥(cǎU+-[*0K/aيQd]ׯ^maUL0%/2t<ݻwWs2gسgO,YDGv:!cm۶)*UfǍ޽{\h֬Yc.u+j8>!2vO<+f*Y\tIIWX+fwUYΞ=bSNU'mV15RyXWZkȑaUo̘1`fR~V޽{i"o޼5kX`хڑ0תB d5mnU>rdi_ʔ)tR8OQfJ+>3#S6m/*B )KSN$/WհKJy{/Q(p}1Z}?m|4R3I7>l)ƔU @ ФIoDXǀǓp{/5kZŌ6lfjd1XRgՀ]hۻL 6ԓwaK:tEj"hL s\A=M;/ eɳ<K̔)3̟Π߿_IggV4Et}|||{OZ+}4遲RAӧ*CP ^+Kʂ Ā9rD9;8it7|3zcƇuE)$$$RGPl ̨DU2erċpou~>yAW(KAmNP[D9o4{gl ;iۛq;snv(Zpaes)QDA1+kGJpD8p Tٗsc_o]ҪslWZmv]qF9[+FyMgp:roxYF#/dcB{S^7D%nzi[Q5D dᅬ)SHM4f 7ǫ8,f webax]#TuVZ,2G֋z31Bxl5_jU+zӦMFKVYg6cd`\ \y[ЬrA*'N/Ñ"ibJfA@bB<eA)}/xo߾న[f7T}~ĈJO]ŕ 3l2aHk G?۷՝;w{mp= aa$8B%.is}d[{w>A)G,ɳ{n /xbӥe^Sf]YLc‹ 60|ϿYr+n!4}K( ]gK^;[ŶTXΩoqs~c{Q @,Ԉ/7Ln.sD`'6rKG+q`k|(H~pjr^>,GR2$;wɽ]&WJ^`֠х5ȟ?-xIK㋹Xq~I!t8xZB?A%q)IN?m1HF`˖-by3, TXqytCxQHO POu'{>d 8u $CO=8;!d R O @T Q؂6CoƕJRHNff+J\<񍈈>\ jN8pQ [Z/@ q= Yd !u$8}^=!  ٔ_" ݧ!fޣ'(7G0)/C$Vs0`w2I( PfJ) .9k rǴA@€zEC?C{NJXR 5€Apd2+y_ ymRp=aU;Ol!ppD@"a@i6e, /8JEs q"E.Jd2H 8(^8t X,]N~ݻhܸqU:-$4,Y2t;<Œ[а|~L+m{mHHϺaY}ɬ@KC *X0 qz*T?a s0ydJ",#GDܞ3X̕rNu׈<ʹc=+ѥ qHeKš)*S嘸"THl([>|X+G`Y/سG3@qX €S كd-(N87o€:92eZ' ԩSx\0[$8FľQ'N 6T& v *d۶X)a\KzjGjWG 4?!8 1cF1c 0N&[%Eqɪ$["/TdM,].PtȘ&yÛ`m*JR32dHtwWw/G ySgƅsfx _-6̙3 ĸ O €:1E\C emYLMSyz3Ш9S'WKI#KBhNmh2|1X-kL{ g4U$*Jf !iW8kW"ź_OK؄a̅NkxIJK@G yH (DG8.-YÌҥK1dk׮Uz-Z9QXZhJ*۷/*QO*,H|8g|P(C<}q i e4"iDde1Ahqh%-kbC#,: q\-M;W S6wBK<h>ﳐ1wB_:uvy# NiL9sIDICiըO4O޽[ÓuJ] n}}oˍZ[傭M-@zzV*{wZE.c菛0gul-1u2ƿVӚ'l4;ku1E`n /FhWˀrۼXSĀre x;YKhw8]D![#(}pQ8R&K)gLYe _;*P]Im:8sۏ^RgݫFb>9oz%ۿ "|F=Uòp1dYn('Ibx${OD o(R[gڹKs(zd̆ޝ;w3P'cɑ  :):K_S0z6|ӷD&#>\-ۇİ&DZ% 9IW_O:Yƌ@V,n=z .ߺY%?:삁T Pv0 *'ȱhPr6m`] 7dv8\%M5gKe|ҭ LmYӠOP|4c+E*46|]` ÇGjMw߼~@R$ۆWaOCYǪOYVGԥ{#Iu9d vs)#ECaYzD=@:̙ӧ7/bur#p!@#1c KFH4pW"̅W@{1;{7=BT4#wp\0y+'f\͐![nǂa95-ٙS#c1L!sH x8BIJLޓw[ɀ#]ʤ]eҝF/'](ɚGjj6`ڟ=O Vʜ1`s}v~^w FzKF粁=/iӦxw*A 8иۈ?kE2yZ˳ U`nI>ۡcJֶ#ջV;1ʟ_2RʑiIG2h\ ;>#hJ?uԥm90;hlPu7 ]($|_Z,Ȳݾ}[E1f 2pu^#4Ӗ,F:x@HEҽ a(TP`^C\HFȨgӨ|<ȡZ91G{ʚ>%,_~ Waڰ W.|Fm>s8W\P1ˇ)oƒoق ~0 ~$I?hE7=sO_Wk (l1a8^Jz/_0N$`8YTBS1[[V6aa]⚷![VD&71}էv(ca x)SRm5(cgom~ci5s[hNAA1@'by37[%WQ`3{4sMaP__434[Wϵb#JGLx䉓9>s;Ɠ3;KI02f9#\9[s@A - JΝ; !.Qe:܁VqG0ΜypH6~ _faFC[+ث ݻ@hYbhR'OeNqr}!CBBT7A;`H7QxG [ҳAYb9~j|uy*~ZPx;[3Sjl$)3.Doo[$܌嫕 \lRbRڊ mJUQ*\o ݓ@# S hTW!`.N,t`9$o=C0Om3LKC|2` &ǾCYaT%CzΟid>8ط6^MmsA/^w>?,ٍN1Z`޸9;6hХNq1(D6CL0ͨL .€(8ޖZan2LN:Ľ&} c0s_|^-+ܨ(]45CRܚ11*S7rwbhm? G~oҡ|lᱽk(Ch"Z(W $+1 G4mx{:U qi1O:i.%o^1}oP@!F&= 13{ eRtߍ06NNa8|(L'P4Jti/wc! ~"Μ.=aXn(mC|Lx!|2MǷ!7+0w#W' ( R1`]uTjȘƳ nP#47 k!#ƒx ;w"( v"Ɛ rERXv|E (nܸR f) Tɲj5,RҴl!l8,PC(X(>rv6,㋴]gyν; Y#귿-[4~ s&KH41֌iaq+p" رcʓ: }6*^۴ UN{RO4?wi%HP'g`p'G`GczUW> N,f]3Zk[c7.>@QCL#Gtd߸G'\D;ˤoan)?j})7Xms֬Pnu!٥׋hZ~84чӒc 8U -xϸ#Tg$y|=#,$-*pbu㛍?ޡפ([c ${ nH>F vb4kurh9>)E(g1_߄8? }_KKEI-nR?0˧gg- ŋc+a~ |qIS,uoϕz%-GC rP/chC;r{ILr= pm!/PPHX֥N1JK֦}sÃ8Ws咯v^ EyԛNܬ>m"3)t mZؤ_)7Ery&V%-&{1 dKu &~VuF5+>{.4sm;ӄ/RɈ/ܬ%߂eX};[R洙q% {( b:zb=1$G|D`ڳ $5{cDCX ?epWug1kTIU(4 m' p1Ls~ `|yu7muӦ5ЎP̭2?s԰|~ P =FHn!syƌ"E d YpоMH,*Mz:h"(eH H@{1{o-P7wO'E11dZgpSc ?"i$6˟I@ wڐÕamr=<{e7M œ_#I B&3gv=;Nomh:0CݧzyaF9˧a.\ơ* eoQV Y >jgG2pJG/P/YA[DFA9]C۩xr$6Tߩ7E\@IDAT8.ވm2(SF} >aCQ4K%WZ+S];#鶍h{5i9{wHφLܡ sVIYI&20Ui+W\4Ty!ˢaԟ bi)S .zB$يv׈/P u N| #´Qia7)zc,(mFxhyhvq04#lO`}IOXخǥ.qDX>Xy#`(_D%90`-4/\t lH >י(KRsW*S$_"j )H#6`r Ӣ0N(ԱVQ v_ 0yjJΝaCG`y˞9ЗQ[u>NGBz8wF|2{t0-_'@[IƗjô{ HO|UڞEAL{p=w1עK $Bݱ%cy3ŖU]-ꤓ&N巙f~;';fK.2v$4%?Ӹ4^'Q>R$%W@%#AH%19q.[!˒eԪ @Os%uiUHUD1|qLQ+qi?жmLyn&7M=XNvq:& Ӑ;wnr"rgPPBb Z7C Ȓ%xZYF!ԧ`aj-c)gæ.^txa3+'Hvx *C/\oغ%LvEо)z%R"€Fso,}yh5>}zl2ݜ#p Js?EAY'ڑwӼY0dϮ VB~{.BU4O"EgQc<݆<,KeL[io([P̥= 9gc{ֽqn8$,iʹt6MZA?v~$g!}Я_?ȑC رcѠAŘvBj՜6 Xhω+('#&v]ϫf/M1ń?_{L/R64$yS*N? HJ џP ~OH֎?iܥи:y M΃C%6|!/ :~~ǯ5Ň+#(-ӆW: >rQW{b}sjEz_L6FS~OTsX4[G;^:cA|!4֬YՋ񏥬?|,"$2Т\6ܹq[s\]aAdIa706t1G5L˷>e2u<.Ξtﳻ{{uBCC]Zgy׳{W%AOBjn?O{e_ڨ?fo8zµjfmަ&.E!->1-@J↗+  \;{?V@04nv׃a3D-'-ڃ$+<w)it4ѓ#IhL~>lY8۷u8ێ^Ϥ?9KBvԥ{qF)LږTx 07)dX(0 oM]t~a;տ-6G6tC0Tw S[VX~"5 $=kRHoe(vq` ФI|9begϞ)S(&IСvGE=M 葳׵yz%;w5=Ӯ-Vp,-9_h15˖Zj}@mUN+I9K]%bBwCE}M29f^&ff:#-\E}S ϐM2L\ІԖ=IJRO7:n ɺ$oJ@oJNjWэ+,, 3gFڴO-r_~/l[GM"tvgt~м)ݻP, c!3~1{|ҩo4+-_bSYgm@ɚpt941C^>B ɢHLc( lldyk20-C~@٬tM*Ð%;Ǎxu9J[S oX1^lʡ-[r=w~]}, MiA[ھcY҂>ߴJ *V!5J(l by|):?CAb!~bq ]ayZ(˗H>U2dM:(LrH7IЖ\u,]d #m< þހ6v: &RbՐrΟ0}x6-al?oV۲kܛd=} >_6Dd D6.qB#T+;(l_}&}i_AEz肚㐬iVr(PjA5f8>0 NDnu;j@`ߨ߮UFK;UBO]982y{]Is ~:.}, DL:uEEY,yAC,jlѺ8CE( ]@Q3N@h AO-oG2z̘1Hz G*EH顐ײf-,'ܣ7RoD!A4oױf9I9_~oDwo@07neach{YCx>u%r[J'u|4}K ւr19P&*쁐5Bs+Ft=!t4rXMs6mi>Ɂ.|#̑߿U;|26̀rV/Vn=ǯ5괁 ,3+ #t&_THbo3y;rM'mF]QUkp?y( ڎ͜)~̅IwA#7x *lp%mfd^a(G[&ߎl]rOW_/3) i!݊eHr[Uu3"F$";;q~$#Wꗴ{Ȕ6[ȉl%㣊E+u GS眙Ѣy2(#}8آ #GmЖ z+~Eq}48WS(}kIB˙2t#Uh3r1_=<^&cWiW-\zcd7CCu_+x7u@y|wi+11ŀNH ##E>_xe j 1{勩kO"̘~YyP1a[8PR4f0JܾB;6ݍ#Hv -[2mWyŗ_xh<_ּ"|^2$&v āXXXތJwX L}C0/_܂0I2lj5B/x"Ȟg< (OJ0\4m=(Bm|@]X]OG{)L_u Fj%0JT{}嶧@tF/Ey ae=1v rޖdx55_1A~=M[Lir^݆E Ŭ!MrRL&E~q3ƒ"ҥ%- .Yt$Δb&?Cq2Arw%c> 8Gb=?uG eϐʣB6Rc#F4}1Z}37T{=fA{oDH4ظXIs1c]uZcF2p 8%tH{)IXEf@r 'OuĀ~5^m5f8F4[8yp/zU m V'? @؇K,3~|U2a筐,ib=;ͤD=K%WcO̬{0AzוSqCԖ,S[dBik* df2`1^xL´0Z`bOӟUtX@;D(a"ЖU8w*U../w9=0هeӗ *qHAߩOWwaNI0tZǺMr񊙸5n8\B%Gu{(oF-&mzQȁ6zֿzQ;Z??O._a<Eo :}4 }ˤ#smҢNu#DtG`æyrSem3}?*’Z\ίQDSq\@F\R{5ery,G~XOaR7;uQGu˪ͨY}J$HK9Rc~@zL,։ϿYo6/k]6-azkXGq9≿LvF7)Kzmɒ2b$7n\rdLE+Nc'=|dnQM^V[妳aZ>#z?UcudXAb:eC Z .hTW"\©/|FIR$?:[꒟_1ps R Ca}@>G×swѰ0%54A h4+w8D:M]9ɩtyFlxnyӉF(`>7͝&|&csbOѻ` !O(#8XbQV V`AɣO9Q}im^,?M9ISI'9 m?z o痊jkKL[4~z2Y:e/ D2FZFD\![=3F} kJTҭreқ3U7[b"y0w{"ޡ$LX9~'Y# sš+)M>Q91’テa㒏H׻8ld’dMo;rh!},&8q$8 gy)҇r~Hc|ӟ`mqsvQ@e$v=PtV]>rBQn EW.hz_Foc-_DZ>JS{u CNs[û69)hjO 'psWk%+ūFl9z@Ӯto|BZ0~9_[r|էV$}շŋI91Z l3 *W@6??E۹s'BCC lgt*u& _ec۵pEcѐ =m[D-OmO`t'_cSwĿ3M;֨p: _~HG:v@ ({Cnx$&G::]ꔈm(2 隱VMlxh:{*>\O1!ٓ}zN[]a{>'+m6d(_8b:ɋ7,`=7%*̅{KD},x:;N5MR: \FdԪO}t/À2X^dC1:]لnwOE²O_rп AOU_qȓ KaH&^J~ۼ@< Ur+}|?:.0 B<5ήSPMHh:~э5!uc\2x\E0#th>lHni"}5Ű}F p u#6[m?^;g"0.n;suGQmB=P TT{~gOQ޳>H%BMB'2x9_2ww9ޜ̒Rjm3`f%!LݖSA@X3bԧ6ǟ"0LvEVV۪C I8gq鑜t;; 9?vSןDbJ8}mç )ZR?rl?/J22}O_~B*uvtX-Nق1ɯۊߡ>y5ߟF.zo[K_}xdh(MآGDE*)WB諎}7xm"Vz»fNe]vp:0L*B;#`H tA)cL=n|J[/ 6m>>/7ޏ8a5S Ҥ.B]6$q+WB |?tz#%Fў[- zqXUT~jO 6rs*:pYd[X:G)uof)]A aG_1F2MY˟x(&zztJ 2GQ5}"ۉ6 RB+7ڋZFisfuFz_Ipfje1֣;6m޽ KJw( @O|돦;;wH\3/JS;NGHXN 07oK.}T9P`xX[?WPPƤd|?&1c&;>2U4K3Ť `F%;v0'ɹ @ii)AWX(1@㋏Jukxu;vxOCtG3p&3O8M-QZ+:w(o{8b*dLB A'"སJH&h7s4vGq@}:6;Qc[|CiMXǼD>J/>OgT 7m6 [nѭHJOX)//yy-' ixv]>T{9\3_Կs3:W(d)ASwͧ5VP}Mk݊%zA'k9ٔ~1Ajw%ds\ @40XBnr`"zT%3C`OoǗ?4QmASu+Lهi{鴇/A@/ς @`?IPe'eըO3 n3I֏pl9\EQQ1hVŽ\K/Py[rt:RXZC Dsn.T^IҤkUz;N Q5W.8-? o~e9紥%Եu01DL!6jmH>cwς3IQ)-ծ {-/I?ws8_u3 J.MRS1qrܫ?۽1m:rȮ3P2xsW{x6UA@H`6RLٓţΦL{I@lB̛7VXA7psS^ 9pz;Q^. z+rÏ+$]EiGAiG #h9!p/若.5bʂt)=cDGA I.ԗm(`*=tG^:C$7ipPr'k{tΣ(!:njt wM^{-믴a*bwX0@ڑGak.W_رc? 7eZ#/"QE١]jbJJJ~f*umuÅrQ?pg#cF{~ztLfqFkxLO؊*mC;Y3ϓwRҞsiC6Q\BLT^Qj2'Faz-/*)WO5?c2[kTTGMy_;5=X.]B-; (;IxMw"/R3ӠtyhRZ-XA8eݺy#J[Q^ݩMP)KCw1?c eۇC9V$턔.EK/L])BƏH իI,i(e xVʬBTh`5x2_zB7Zz3<G/~i3oi̥l7X86[=_B/Ԭ5l@5 VeejUm$?&vpLE=m[SuXWA'?#jތK3Uj԰_eǽ@yήx4lP}D_3 aSq 7?RΖ9a=m;]s5OhҊM{IK`f5w"ȉК4/Hwu]#;*9i)${VX;%Y.aLݙNޑêVE*YWD% hr^;ҷ-DUî* 0 9+ڷΝ(Ei9;/SnzK A@"A`=T-VcuO̬௻::ϧ~}]H ` &-)g:nH֥CY!˂mi&6ףZvw^hf =šn._kkPK- r "Qk ޷ѝ:uRz<~617l!P&=}`_g붪[ = ;4ggy5iz0W8MgI&b.:Qk/ǒGիfӟNG]{_T 1')E AP ݥ'x \0n:ҝ-..V&5oP@rC-ZI)S_OԔmC'mK/;`hO4{Jٸgmd_=s`j8zE 42R*ICl ` {[h!b4v/Y($;:h 4irG+C!Jܪ!z%EBzt!MT2[=t\Z5:v]toD(ڼrsh[[O^`5DHmz$#bMqK.`(ؙ}ERCRjt+8v#5W:"t$,:{chӦML:tp()' Ha@p&C*|j 13uGmImx}z+A5;ݸCȪQqoE  €Z"IɅ@ ǶsV+tu7vh3h߁ru˥IH'yA@3€rjV$\r-kb i/O;<ɷ|-17yF&V i.+˃o>*O3Q,$"hj?w^f 5n+MR4/f҅O~O D[ՃpXfm.[w jU2uO %VZY]GyRnR ~ )//23TNG#DSK&{6gt=al"\|ua]ΙMѾv2x %| Ν;,邀b>3LAb't\P9!8 ~- !ù2eȽɋ^$:3|:b򖑌GB\LA@Ae  v Qe֭[W^Kx!A  `5F `I9?|pꪫ^btITNj۶-]e|vQڵsΡ_+ώ;讻:P OM6yE^lٳPͩnݺj\L7}tرc|W<:ѬY3W_QnݨZjԿz1yGUTC9{=<[of͚taф H; 5?#;yf͚E>կ_rssGu'*;wS~ff&nݚ=y4' W^y%ě_۷-Z0ڴic//qge2aL<``&nF}/bL4ٳg¤ѥ|gFժU5jsz-ܢ/7`0c>3+jnmݺUm$,[ڵZC[vO*kGmK/y5HKK3x cԩW_af֓~Ssp̘1ٳ뮻N; `;Nfd f:;`Fx7 P1x.B}g0#jλ15F,&'VAEEEm6h(騣RJ>}z5KP/#k;#GŻ_~ZH ȹ瞫 M2?4w #tH5}TrnъuCװaC]:bDZ3zN;ssêe ׻ iL`~b.%B.;nUl  V"l}ʺ l1#:w\ ZXbL** =P`K7PEVzba)OZ˼1 *y5\IV'n:ն9=?+(W7|9cAk-k'!ٙv`]: /rtcQ~T4{$:qDV'Z裏 d.K.HmC:_MzL|fDyan4io~JLBN=4x@eL1!; X4y78Gcv[;xy$B|f‹F;.ep_]-l69O0Ko7o#yqaF# DCoJad&cUoHR0#xM^L*l2`,7;7Qjʜ,I@.ʃW7UL{OHh wSy 0D_A@A #t  D@x/u   .]A@A OnA@A@Ra@SpХ˂  a@㉾- @ " h tYA@x" h<їA@A@HAMA.   O'R  )0)8eA@A@≀0D_A@A 4], @<4K݂   €KA@A@'€}[A@D@t  D@x/u   .]A@A OnA@A@Ra@SpХ˂  a@㉾- @ " h tYA@x" h<їA@A@HAMA.   O'R  )0)8eA@A@≀0D_A@A 4], @<4K݂   €KA@A@'€}[A@D@t  D@x/u   .oذ.:qƔK't[1iBII }7SOy=Nz]?XڵkG\pAM_bm۶͵3ϻ7|Ss…8s]niXEPHpohԨްGusN5XXX\K<;}~C`ʔ)F>}?V̀{Vi!1Ͻi'^ ,}i߭+--5ׯy.s1VY]c{5Wn绲hyvyFZZ1{lOq{$F`ti`:묳_4c S駟&f cD^hͪ^OHqSN:)O?3gK.Ab͚5SNQUv9aҥKi˖- K/qD_3U;R5\C'Ox+GʔBقO1t]nf|a}}tw#PlW|I–MeL.u{SM7ݤA,֏T#Խn:Zxq[=hMO[5k޽{ⅼj*X_oUCڲrJ6ϒ-Zzorv XRrg]v,$?JܵD2ˢ"'hڵb FM4Mz H{nF}ݸq1P#Wv?>PG1u믿iӦ&驆O2!A1̙:,}{`)QVVfQV-/7{ԠAu%kC5Uga|<"żW{3o!b;mk֬[F={4NYO8yGzyuhӦ/xߓ$A1nF%u64omҫ?\3c@>yW]u?f#;;[שSǸ[`Kq,0u2o 4Hmy?Ǝƨv*/c5,YuٲeKI {e`Lѽ{w`,G'/rY?Pe/33S~tq~lj'Lu\y c\,2."=qs5V5//@?5a~9\NVGS?ChHx~c) Eu/\oƢE;@U֭ ֫57(..6.B5.ȃ?| 堯noqz 0($M|;vT,0$ˬ[Ś)́.| 6͗qԌw3 }Dy53FX3c_~'/U%>p?|3wCa gH s Rc9fG|x?>Сρru8:9B;0N~ OtU!Ůў={S n/Z\ÇGYB0;QY*CK԰- m: /m܀I0^Xz [@(n6*w}W1`6ͤF  T }NZRua,-ƋM/E{0E0fAM^$){3hނ(;sTdž0,H@`uRքvhN]+xv®i.L4渮Vzve|AOlXn6[ՠPs/EXX=?Ꮉ;ϯ^Bb!0r3X_T],=;$nWQ̀=S{XÙW<+`6;fGn/j=y!`m3HHf^<@NJ1Kf恘Q鼐3VĺWC~k08afIULnd5m30 ^g!~aK6Ab\b2B1/fOv,2b X9hKK=xN:U<x\јGcs13f53~p*=*Ώ,WU5z=w)>n|3?gn?μ2cn;}da@e8@߾}Drb:XvŊ< ܣђVl!yan''NVר?ROs`!U \XI$UA3b'v-$̸B2#@a~Qk|(n=u7*>@nX4iic5';[џC] ɨ/*7:~ki# l" їt ǜ}b!p)C=QvQs`mc6bYV@pVbѧpUê+]W6b̺y~Qw4Gp2w~%!e4e:6NA`V =y6&RheX4 A/(akh%EW7Z8jfKyzw$s0zEHE6!c=&?4YS2I[s[?b`U$As֬YIU-H8l٪G]zx`!oEH^l6)@`:X'Tc.9gc5?f9 U` v/q@լpVg)j `@YwPctHsQQԩSU2[_ h9>( Dp@B5G}S^h)ܶ}˺^EX?yU`Xq5ٱk>ڪ?Vf M #G$s~y{ r9?P| 8 yyA/aIe  t~rY,Wa].aq)BNټ-in[̤L02B~X DH-mO6BB]2T1&f<#k\m-TVg6@0.#˃a6nWi7^ Q⾗<v~a+8sUI57:f="K|~{e{] +#$g̵06~ aL?qs1~f+#$Mpd6B/Z JA'"H61x b7K~ElðB?@>{ D "X  1s 7;?!t!N}h)@S?3Xw*Y$n;$؎a{@k6HC)LiQGB# gϞ^6jbT,"z'0'/9lCjAS/D0NSKaeל:5tN1~w0>a+y`fc% Pn`l^*~@Gz %`5t;3mt#O˕;',=йnn*H2Gl!CN=F-JR ui `=/gx>4!ࡻ_pV"GA /d'Д2btadɽ Dp;,_*PǂP0Ā/ZE//٧E|S`/V|VC;9a>s|++? (x~T7!!ΖS4@A@A@H-P(~twDVl2e h 3A@A@A<\_JSS$رc/J   /4`= P!A@A@A "BA!ް% x+BYYYz8L.   x2p2B(",Fc_5b}*u'~v;Q!  iΙ3z8SW,P}?A8# '0!u}NݛpA@A@/Çpt֩ͅSԟ9e=.̨ȹ  ܀<&LP[_|[<8 %A5 wNK,܇HdMFJAԆ  ~kNGY?!OA삜[*'"P)\]L5Aqc4= P3rAE*UvڊiGhge/G?00 _@cXEd1qpM;ZJU rZa&3~?PIIubX_SOUn:coC4zhs*UBڡ uPPU^4s?g6ٽ*Sn%+Vcm&kZcf5W*;tlL-_jVuYU~EViA4v8ZaeH/r:$y2H|SLR + DZ!A ի+V3)l7@)$X!O|ǀ¸kSÆ 6~%ϺuR$:UdF`מ4o|2W&A[& 﫯RAwO% B`FKl!  KP9 /ЫJ乹t*ld VȤ꒤ rǎBbԨ~Mj߬KA7mS{KELصkW ^ ڵk^m?<i˖-I5kHhpyfZ~}IA'wߺիI}:4%njZJeByII` g۷oO*4&M({u7}1BŅʐ?ڷo^Shܘ-[ԸmSDЎΝ;[\_0ުf}#$+d$ `'^zI KO?zRM?ҥKiȐ!:9eXAHB0aXM*W/M{m̅b@֠9df*x9  ҉Y ֏d{x1^zI~ڵkTrSUZ-[UڤQ,[-U3S4gXç Eɡc"ӯ5]t3fOݺu. X h6€Aqm:h聺`@ @!ǀC ڭs=u:MVmu*mTqRN!0i0TG _PEcE@]ٳS*KO,_<254omvv6AGVHB*MAܪJOi (M7L9l6Jx"$_LzƌD€M0Q/$X!AB#mڱ{/c_k)UK;eG5SQ]53nH ĕXo€ }׋ƃy'-lw`' ]eU-/MA4؄?P A \}\/Zdצ5ˑr(?-+%,D U /@HBjfVyR1MK@9 Z-?L wL_^`N!rJ#DCHd"a@m&-R L[-MaXCBf xs.ڝ?`N w"U$*ȃjs6lRLlb``ҨQTz>YяrUyRY mڴ U/b@!m߼};uyuuѲR~P\$J204AE(. kP*3.pZ,}k B@h!+ )?SS ނ_q:IqB`GA5BMAԪV9uh:I 8@ƌ?$lyoٲūБ1.&s} JKKʿW"#2|uz%"7mi:{C*m 7AG[ӎ&.&wY;Ͽnݺ?m۶ũcXI6 BŋͽaW)% oP(T~~q}L 8nժNϿDm;vR 5CfuO_-_N?)pes$#B6] Aq_ca'A '懼c3Jw骫"K@htтT5D‹-ky=جhRmI.k| p}\4F= X\R287@Hv5iPu5c"炀 €:$#Pk/ծYa@ yB8Pa@c>EV7-kFv_D(D)=[ZBw§"?A-x (Jn٨6HBA@)3#gUSLh|Z* @2# h2Mz(N-jKx[ H"ɜh MTB7ܧ[%[ ͛7@Ou1:[s_B !Zڵkm;Puϊ?;WL RϳrJW_|'@\O&h"vcɖB JX]ldeY5Rvh3d[3DBoZQZ7]0DT(~RC"!>0삀 E%Gp-۫u*@>[q": &~ (QFwKaF ,]̗L[jU??!A@OT E! ?a`@#x,)+ۆz=6Ȓ-x Fj5---5I$_TTD+OǎiРA4vؠ",&Z2O x<;BzwjX4sT"/ߛeeeTXXh~~G1ժde1ooU/V6a^4oŀ6mT)O2%hrf֬YJ74h$ؾ}{JHI4Dq ,h"mpKvhkZը+c:4=j}ΝVn IHSc^^!Eބ/9777=m_~t9(=ГO>Y/YW^Q[I**]~Fp>]w5<㓙5#6SKw  rCf8AZ.͌^?G}Q.][n^zɯN|_r%tw'K:p+ }бah8!p~ג^fڶOO7Rԡy!Rr6r 8N?t+VիnF7$ \&/XKl" hvj/ (g v|jLޥUCHҺUxS0d]ԩCKV G`>a 4"t_#O'. BppxBɅ@II PM8~emm hv'd>X.Z(nm{wv{ -xF]X̞=;ީa#ie˖B"(&LP9_|E,ӡcچ#6l 8-[U,6ӼyhӦM$%u~8Gԏ-ɱW}}pY+xcn_&89 ?H@m]v/ߐJoЩc)dTUjGT?q2'E[1Eǣ~= V8jTI {ܼ{; &I+H/O>\wRGKP%"fѣCezbf863( _ K`H}ʢ0^{j-ANn ?Da8Vɴf͢5>[nz~}-[rդzYuW֟s}[Np՝MϚş7$')-x'e_Գ]#̌te#o Ɉ@8FH3])u@9YݝV%"UBW|@?CX 癃:z]+zɏFj$D.4P Iגb0g5}7u95j&AW .B-F?ժU^zIGP뭯9 ёdC \ (߬A6|J$ϲmԾi够hC5e xx͡!wx\n\tiV#7B^z)ihϱC7\Bf0I@ԬJU23z1 %@KHd7D/X1:3O FMzm\2>{p':g+8wM˕EAmY2ӭnVDY u1hQKf=QGR E;?/`W s[E Ě mDm3%rև/Qnݙ;RrH=5؄+uu_/FLdɀM4!CxEJۗ۫v\鮽yU#ކ4< ޸qcjѢE6:w5l74( 9XaΝ;Ǫ:O=`.*k`HY/mLbC1hq:ˋwzXҌ&͏۰8jsss=6qoJeu9gCu:At K^ǮBѪR.MyimB&EĀں$b툵sT†]u׫Ep-'(wiBA뇝w{Z%ߘːd,uV̠ HT8ަI]z!h׳薳j+NA ;:-pP w9K?4C6>Tq1"3z;P%D%T53_j_߹Y'$D a@l(OTJ$QB߽~\6;MY0_"~0C96 mvX]/5 T ':VzkC/[ ?.06n.V+\>%G`Vj&,jK9:)w7hQƄElcDelnKc$Pٳg,ڶ{s9oۀ9GKN/,_lX06&D3K2WT"UА$* oqpTLg H Wn+7z5nwD*E!R2UT!Œ xf8PGD-'C]̽ԭbRPD9oذR(Na@y\TVVn<0Q(Rz>L+PZA%/"ύq3WO3 ]ws+ǀVDC2,`@5w !9OA9991c@cvIJ˻xӗ@5M: %POGdu.ihjMI3w57zXb0HYÇV-O~ vJaQ!,u-sHHN Fk@;47otԔj>o r:'Q}IdfҵLV m߽rpE~VY+ :Bjb! nˁtp$jVpͅ_tr˹nO+ǀć1TN]r$nߘ~ՊH&" nDDY0\2ꑐViœtaPV5+͟lLC8S06qD rء$nσzL0:ح$v;%h'B\ fȬs֤,i $alZlbOߎ Dq᱌NE*<{F?z| QjƜ2e }'AƍG5Ro'M61pMXf—lR)۩ hllֹsns՗G/&ʨVL{OP4j b_}\A<7;Xunqozqm?yFl)4Ӑc+WÁ7.L1Qw'BqVR8McO&.eݳ1CE8M(b*zǢu{2DfX|F Ň'>Ag{D^p;t}mh F6ƪ[W2`H0hn)=Pn{!a|o~q<`?瞥o@IDATֶhPo~6^42C@PxmAs# b%#frԊc .nn_RRB0TUu`?$fN\[F?;O zlÆA֍ E5]9 4@ҍC$Sٳg~0F@Z6>1VF5m}!' E+Fؖ. M L!D3\j2_nM"]v@q' ϒ\qgJH<RPnWRE02{zed5{ j״.-s@.^S$odHӔ㏷jU2襛z(.f; H@իBqkz$H@u. 999a3v׳ }v ;z F7/7},;o0\D^xUk1S6Vvz(LOXHWV _#ƲU⿮:YvkDv3 ;}`\`m=HP6DYPZXs Y/xʍʨ  mk>߂Gc|hTz5s7,}`αx5&:oH{ ޽{iݺuA$F`~mRT "Vq$ H>p*ff5Y'fn|:;XnHK:h&<?\IbIE=>"|b,;Ҳ*$^֪|ue8xhce%oӸ$-xZě2Sӏ.yg|Crİnm#ź1ǯ ;c~QBsjT! X2&M#G!n ~{0ōPbRqq1 ehO_*#!H٠?MxMSfoV Gv#HG"CjK?XIБeÛ]}JKϝh_"T+"hDh` `X=ʸbSHQۍ#,~Ɠ&_CCmK\|Ոپp^reؑ0; ;oyBf.O_6t>%N"ىD]*Ï}iTTTDz++ӛoIwy'W_M~zh=9}aD z,%5p  #KKoGow5:G;E_X8Fў`+WD–DV]w[blMh*qmaA"Ʒ9{[@bHKYcBpR[0\Y!sC`yO]{t_v {Xm G>^B0EĥS>B @Z{ qK;<>?LQhʔ)tҕW^Igy&]tEt-лK3gΤӂv(o0_{ 7|X˖-:4-xQ=Ş]s9 ɀ?k~gTAN 00iԨ>iz!۫ouʒRK87H@{4MmڴQMA" D3)KJb#ti_x7) QVYGvkoØsgD:eՇ gե V/AchIP`'VPH=!:vH ckJACuFH3hfΛB{t᧱RQ+B>lb˞4l>_t ¹'(~dm$Ӆ^~n VA66:Y(X#ukUU27u0t*o U3ޯSW|=xk6l Խ;P7 2D xTMIx1M6U_~#͚5Kk9u# D/`y]k+~VjmrA=΁V/0?;ڻ~yL9҆?K8>Ʃk^gH+O~z_ {#V» w]/ #[.{acx@Ĩ)l2^Glx_[?Ca dĒ9= ΡKoݛ =؂/toq$1)֫Ptéhνvx(-- >V:j \Wz1܆Jʱw}bit{qz`f4}zaǀw}[oѷ~K'tWuڕB BƍKX}H@e@f1rB_ OLf hciY֥Pc$LDK'3tp^K^wu(=ﮕ6yXC}hX[лs?4nυnKc~~m+xh F]Pu:|!bہxz'.F~Y]D/O-WyK‹)>ǀp_j}| M0,YB7n1cP7nXpp]1o 'UR r uZ^1] KTRwYeu@o_dH^^bTƍ{5 OKAW؃`_ H@* )6u\-x+ (C4mz095M %ҿ( /l!#;:'AWFu9Qmt^D Jy `Dx"*رaQ AT *JK);]oI2Lso7̜̽{sU£cpဎԍ)38G]Z e&zFX ,N0"c"OT0%%𣀫LH>ʓ'Z]I;s+\R1e˖-`wLhTTTviTLF]>|%^EeޚLpT 0+j8:U*zP#Vȉ:IŠQֲH 4@s`2Raw Y鎦8(W!BNnpM㊊kJ>cF}ހ  kĉ5}ԨQr^C'Se͚5t՛_$%oat~_gVD:Oy߻K i=yӀ*#m[6Rei'0i w?fV?"xk~S삇nv{:զ[oY#3,k hϛ-P̄?j/7_KM -f6C9oZ-^GϏ?je5(ZB=iFy$:p o){ݳuCcy,ݸqsT;7>wnOO2xe{_ش׸閚s>#hi,l6eб c-oK۶mS~DD 1a7Ǝ\ۢǾ6p &fx~JL'h0WOm~i>s68uh5 __e6~F̴pqϳ ܗ`9pYAρ{m_[k\?컐ŰOҌ?8wjJ7fgzU?ov@&7n485`?06?;`ppLc_P<ʃl [uȎʙ-`/d7AE!T3%\-jrjge[9 Ta`=9t s݊xNpQ~=o]̺7qqި* >dX b`y-D<(&p!afob5X()ϾPU*:>؈hf./2z{oʼ?OW=1A4r2 B pc8\l=DJ7VbT=\@xˉlOSUeb5Ќe@(O/@/Lw2[! &$3X8j|b;{ v00%KRӦMiܸqV6EM (CY}36 } Hu[?%Mb8&A-6*m mYjG3㢋.R $9"vlXKnک*z3J. h scϢW(( 6dzbwh' JJE"F3`\c;?|Mzzz_Q>jòtz?ErM*H,裂u>55բ]9~(WqWz3<^_%@}^n7׫Xt|OFQ-&̯n ilZW/t*e9Q~̘1W_رciРAO> AP1l^ɯV@P>R &UDz{p{U 'NJtnt8 Z$ U)U(v;'*0ᦾ㉣!]FJ҅T2b):bY|xKZyhA.& k$`..Pi*i`r7NFL#hGXG* k"6GyV&;Z&EqlJ_0=pm=&w&z>q}_Yr)!\WL}?}@WSEA>|8 8֭[ԑxԂLM_TSA'߃`:ᆯω Z@{Aor+̜cgeVC&oX5gKv4fJ?Ubٺde g9 gPP8=J]0Vʲ*i!L['5L +oVQmr:2;؆G=-UO[uq! qD.P(P/f\zE:s'BJEUr /zz5%* F@ьE Wߢ dJO?C~gxE9zte1'lW97-Z=+Ǒ#GՐ6V'"S0}u c˸Ih JI0_I }\8w&hqx/ߴWyvp<_bmk__۠-{$m^QmaYefEԢviroLW]ąސ~j2I,W/Nߘr~\ oZ8EݜHZ9CW\vꃞ,P54~6#'禀(Qʗ/Oiiicw-gP/5{jKďK+ 8B،jV.'_}vҶ;o g4{в5RL2JnX4&;s*N".jPa-NlMzX@p9t? n_ ܍>ⲁ$.x ~oU<{q}pPM懵8voGo0R}$-.) F 0fadW(:$B g #x{ KQLZ0/yVT0>%vI͸i< gϞԣGT$dn"x>##CYx/^Bp I*Z]㻄68b ˔)wX#N)üe=su@sŌm+)E#=˽Z ?+Cl5V7lS(}i+(+SjEUCikPL Ѯ ,1VjΈ9b&ڀĻ \&YbxP: ,pmAE/Q IS*U.\*A%BO WVBgr})PJѿoY\xV@K` 3ʥ-_uK0 ʉ7kʼn'P$SNU$ 6TGlѢ 2ڴiCg&Pī cW(.q‚vu-P-P4:N<)zX,l(A-% ~C4Nֳ HfqV s*CpG~,$17.hЏg,Y6*VHBw]YKYB܃&xL( U72.۷@mss'+W4BcgN7X?zⴲRkl*X_.iD#PNtTقyg++\G2,þ2MC=$eUP\VwSVk[ M}~v'@z†\i VJ$rL~Ui3v luSBG{hwD{;{gsUE禨LP&6f˖n Cbl,|"R b-X4StbZbEU9Vϊ& N.s N@YT (qcI,kT7Xћ_fQHV8, C6}rcj.1=߸(žgjb_G (OҊAǔa3w]} qW,`U~P~_Kor"=.1 4~iĢtS~ޠ姃:xu5Gg]U=^󈐭 MAQxќP5ָ\xablgq`bk ivM\+gvg+҉'m` &7]pQ^SpEE F5`hNXFYREd#[#@sUVFVc" eVqRT= Vpկؔ |ӚYs]9bn!Sե Æ(Naaf(6+tr(ϚK_Cޟ˿˃TQN$qH,u:CT&DFw_LyxDgA4 zW0=T6[vp:ԭM}*.AY: (*dģ XfeiѣcR$ W c?sȏ<ƃ.(fkg?ӽF?NV>}]]Jz&Ǡ-2!X%Q?#|o}U~9es}" (\ȆE]W^Lr.B(-:nPG |Et; q`f2 -&PX|X:]vz[[ssdq͛Ue8}iwvoCm[62 }h H~BZԨ2%e8u Xo,4IP{ZdrsWlsS._ΞS9Vd$= }E= MСCmIU. b꼖Genˁsj&Z$H#asm}ws!\,ޝ`ih!*[<lQ.-:eg ^xKeȑN_"֢ }TƁ 7|BrӌXۉ}UUݴCf7W|_=7*c8.+r… IZtT7s'HDc1ʕB ?|nGŋlDLh,9 vԂ -Ь΄ cjw`W@7eZ̸C9g}D*$b:ee /管[tJ"G%6aq2*$ʼ׷= ق@Xh.55KŢ hVoGUcAz,:Y+vQIjr{'` 19v;]z<Ğjrα+rde&<҅MCYP- >=\P^*Y v_?Bj>:|`ۿo RF|mL1_+z6¬+/݂}yڱ *!z;?ǏuVWzu%p\.4h1FҷhvOn~{ڔuf"J&0݄@c,ZFqlo $U7?,J*P. &wHaY:;512Q !^%v~okpƟinQPFWCB8M/N/t#&=RRR(fkΝ;S޽ vH-vt:hѰuiYKX缲AyC+ݭVO 7\U˗rdU&` xE详D^ K7]$1kՑ :oyhcEQ%{k6aW{6)9zKhm]'z~++^]'ڡj}'"%!gV\  &\CnjL^ E`y2nu pkΨ`x!Q)^UۖinW152րYRƕ8&O)dC~/vW8Ћ4j˼"@" KD2. >lUӪC \@Nɬ X`lwZʪqo-S~+i(s 0ȂOt?+XIe|Z938/1n=&bqBU+6@8j'NЙ3)fKF8]ɕI+qE7y9YzvKFSL\!U&2.(:+yreԠ3z޺wXU):RE'TUEyrl,*lO"EۏX}M<پ}W]Y jNwp)>G~H$Fn?Hÿkow eJT{ui2(G:kj7kBQ,Z!x+?$-*@:z[e߲|p0;x8umPkj8}9Y(|5L4HBR"I˴D}c\C,nĤ9Syetk3 %r2Ms= #Le&چlUcx;\F0~'ڍMY>>hDiOA2Lz&2M,}z=:_:F"7uQIHevn [0$\`Q@-NiMa4s` ܣ1-\q7!H2jr妅bz*I%n ؝Fva&: Vq~*{ +(VY69Vvɇ@8Nn}ĉ5Ν;f2JKA:Ȋ'Ҭ 96xS>;^Vfpwr`:yGq5v;Zµح (C> d"S?>uޝ)Br"O-JMҸq?A )@ԡQ+{eV@U)ìH#?-JU+n97s8i,4`-uUmB2!m=u克 yS֭UyӘ1c諯cҠAT>}P׮a:r$D˻xF}r}NY ٳkssZ< 2u[0ˬau{F7w18AqBf5RiAKEQ/]DMTR_6(ÇӺuQFrJUvf""%_Y 5.@B& %M.NC+.رa`NW5HbŒdFIt޷p Y@QT2z x%VJ-[ӧlH_,XP#$Ҙd,#1S2 D墋. 1ڳ!WA=Z}Ԥx_I)Vkl>-IZSld{eʑ#]|q\ |? (p:Z'\/Oiii+zٲe*64`CRH``(O|Ec줯K5wvY0 WɹKP'V’UwZpo@#'-LUMMUA_Plٳ'у~6m-Y6oLV_~x jҤ\s5 9E()XѼMu &-ؠ G%bya)qri\~ڮ/LrЏ[c,@2"OP͚5_~4zh/Lj;idݻwSJJbH18#9NLG7+*g Bpk9xL?@/Ӓ*+@Q)]p=鲊7V՘i>غ)6I J߿_FyB ==J.轾 I#˧ /C;=۶mSO0)S{^@`$P)CgKύ1Frb?u98lpnHDħ[D@c;+iۨ5f|N]򗱕TKw}ovwO_ !PpFSBzO*.:='NPh)%.P0RKNu1Ѽr=GyerAA &PL8Jsi#q@o&2ܑ|tgJPA@"A 'IrGjB#_Updr)vbc+7Sgx?n( r.|1Q$`eP!#pɄAR@+Х^2>,u9?Lu*m vZml>1d>|ؼgiHG\$;v"z*ׯnZ U( fwWNҋK~Y~z׳-^N%KB7֗ؖlXl9ŃƩz԰aC+W3g#&}l߾}/wP9R tRի-Y$a$$l޼!"x"н{w馛[n_g7\&LիW++9_WA@A@A |*8P_8}A@A@Xv~]v#A@A@KXV@<&A@A@A ,+DA@A@4j$UA@A *MB<;?A$"  DeM6?A@A@A  cɲ/PԩCA[i TXUR!jY 4Hq`#9ҢE B,ATLMM*n?   8IBr%   XXSF# H:( @b! hb]O  G@P_"  (u=e4  8Q@  $&  xDu%   XXSF# HJܹsti0 ߙJ13] Yvp}ğX]ۭX8;1V6E:B߾ocQ~t (.|Νw^Po޼jJII *<@rk F*US=hΜ9nm?NJ*tS׮]nmsH"^RJQuMKKs[x1UZU[. %K3fxҤIt%P\I&ob3ϨsAժUqƹ?ZnMyF?F68@Ϙ`#fٲet-PBbŊ: 'NЀo?{T\9zٳ6V vq4oX;N9uѫW/7;mǎ3J.m/_xw |7ڷooqeԸ袋 ~@ʥJ؁,<|^0p@uM#h`WNCҸ}:]trYxZ/JMM%V&\_ p IDAT饗?}WOb멫 [hÆ tml$QN\mWܲӦMsm7B-4qDbʭ+Wbn]tQm;>rƍe~x7^xzd˖5믿Μ9ClTsQSp!}v+a^{^s;y;8,<=N[/T7~V vq*DIs' |bkLNVs] Ю]ȑ#jTRRVRvmϩaÆd%f0<a|=H*B??\M`p^{.5sg#$Sl4t? % V46nI6"dΘ83OEP|1Ŀ (>/ % (>P苦;3ie|{g蹪X-2s=+WQ+]L6O w[C{_F qb Uvz?Zb1@/zcs>~if,ӈUSjF 1_Mjbuݠpamhmçϙ>a\+5%QKFkm}ۖ?ޚD\!~6,-7SثŜvķ5Z;[rmS5{yDyH}r9|-ăFAJjI.[/]mK 7KRDrYQO-Q||6 (0 MXd(@h2_f<:”_δ*d>e\c?~,7?& ك^2Iq2"y@g|U\ @IDATx]xW=Ipw/ŋ(Ziq/RHqh^(^\x 6=fͲI6Fyfw3;wBФhB///\v SF1Bq4spuN7@EgϞpuuŎ[1G-[ӧO?^ vRR>|8P^x1Ǐ̙38_|iҤQ}:tHe{K.aΜ9ٕct颮 r/G/_>`VVӧO95E@3EL׏P'NȑٳgGʔ)qm̜96m >ܹcikr2؛;1 epwwGZ0p@O1cDXCPj*̙[n S=L' (8쮃z/eȐF=qI0aEZzA@3% @ ƩSpi\xׯW޲e ^x8qJ|Y acI9ƽ{l3x{{zfoIÇǀy| ϟ۷obÇBe_~زW^{qN= [1+ZUu{W#?2koM>DZ޺Dzާ>su[n[WW9G_7Mf@#qLFҤItn۶MI%)4T\99rD׫W_}2VCfСJ%Mvxлwoxzzk֬Q}7jeʔAĉQN%-L.a5jWX1Վm۶Ue'NTe|~zRHիbFqU;v,%J$K`=f}~߿YdAdTxuO&8$ɓkV2eR'OzK.Uvء6_"_zzh?(Q$H0V^o[ٳS.,۰a*zǿsL%TRN&E믿VH$[<ڲ&Ou[hq1cFXD9O>ɓ'Wʕ+-} QwȐ!4a}Ms ^y:;vw}O`uXKVxիV8p]Z۷Oǯ{ܹs-_\@ґsn>­aÆ EyԤѣ a&M76֭kȟ5jTc…|6oެ:R&RU=ztU&RC>3ؿ2VFOh߾!:ׯkŊM)LosUe˪cK3D8s6D¥9O^nk/t˩֮]x7~0>SUo;2klOɓZNTݻcG!azU^Te%KTEb֢yp}}"p[{ի]@]v>&a: [LjTY|T~KgΜQx8BͼVms\KGqET͕ݙ7uT}@FM&^_eEB{3K[{e"TD2ꉊW1d4DUΉǏ:mOYpAͫ,X@iu*#addfZ⎽ #T]~/Xlwdp y!jX$ZM ,ݵiF2dMZY&C95k,2<@-'|Mf  @ձH Uf2abM/M$e2"We"W$#IG\I #A|: %xL HUHUB dH|b;1QVLUO샿Kė/4f;_17ȵtdbZ4_&[Xs]9r$J}޽@zRݻw-v}^) Qah'R7K/TdN S:I7nĞ={#zHTK5kTe;wTTRJS٧}NGʕ. 25^R`mf.Iɨ*6?[U$k3avU0Q~|uxŐT$\H3zm(̗R׳L~Rf~9|QժU-"AVTG#G!mٲejLPS5NkHT%8gyR47!qށ&$yQߴUVPQvVk}Z7ڦ/f*@2O=M@#@NX!%|rXW2I9l&#=EѰ%Ӿ,v =vb@M&d@ĐlJao~Ja;Ynۺ. _ A-#SC9H-9zf9ij\m&2G>E^9oڂcu`a)=71bm-y_2N[hځZ>M2s,7˸ߊH;D2CϑkMEbk)@#NpzaJ](]#OI/]JHfu|YK]ljAGsNrR=k&|[A)(={_…cU_lcz [ܭo;Y'4Ď$vJ*iTlٮ)$qǤ?C:iQ2RYk(G:H_>Uwmڴr^LM~l,e;CtУDHo`~+&f=w}{_nݺ|g ̵o浡CI;6K/&Skf@i 7xO^'QCiPE޹s01UN7y+JԼysMؤB,QP2|x⃕ޱ>96lOjJMAKyTrZko<{sg"SZ&tJ͗R2bդItbém%B;=)y)ț }2n VbHTɋs2+(]4W&h 4ibٿ7{[v{RPMH%G+c^jvYsκz}y1js L0,pf@% +h{p;|j?|0QUf2?lfP6f{ed6RR!`"&6mZ0Pzj*/f@)#SfJ5 78<_Ӓ]2|_Bf|ƾȔPHRPk}fy*|/ Sd`y1f*dq r}s̘1o2.Y5o[Mb0$ڄ2HD ?[޽d}>u-r+%SLQW֭NۼvOB@#"Ғ{Sd Mg&0M"WRMKkroܸn8ίƙ8obDXŨ4%OHdެO9U~ΘZ EGtҿq/g˘Fʿu@M&u-y?2̓l—Rj_UF <"xU4@"`̀Yt1HTP MmFm#H8k,ݏVf)tH> >lpףj4H%ѴU%Ii#$poF3:)>h"fX(pePx>鱭mnh4^[2F@#h4EOJ#h4@E@3i4F@#h4\^=)F 2 N Idf͊ kkh4@@3@QD:q1=~:1$3;蛩>/]wߜ_Lqm3,2ի} iΗcm}m6h4#ᚺF@#p4OG̘1+V,Ũ'ObѢE*@߾}UvUV~*2 81C f N&@0=@\F V1LȺf}Uy,Y2̪5i4""k4#I$ٳg!c6)ƽ&fl"1%bᏬQE$h2&NXU߾}4d5%<\($1+s8p@5R'믿\lk4h]XtF@#!e2yJuNն-ōW;v,:*kJGFڵU'NrD߿*[t*yRSMnosTJj;GcLIMF %Jyh4aիϐ;wn2S]Tm9rUT^Q7o^eIƲdɒȜ9*?}t_e@#8SPΈjRJO7K,F@#kfϞO)$.\۷`jdFATnݺ>f͚JMfUd\˔)CYHygSÆ }u\d+_= .&6f[2֚4@Ppz)+WNI#ljGkh׮/LXh4FXk2~iKIϠ%f?(]btlĉI2dzm%D!}oҥSfѣG-s6ˬU)uEz_#)ϟeNc@?{@\#hB 9uR>TUC#h4@ 4o߾*ٿz6'5F@#h"Nc@!?/&3H^F@#h41|h"3ƍCh"/^11&F@#R8-('4m]tcih4Ν;I+Vx3h" Ne@={=QF@# @ѱcG0&F@#8 I>5F tسg*W 80tգh4.^F@#&1 4=lj'W֥F h4eӇ*,h"{U >ٚg'elxk4!f@C ڐx6dGѽk4d@+fYrӦMU^ &XF@#pN >G}th@ h߾}-Fy(Prȁ+ZF@#4v…Xx,+W:uRsM:֭CXмysڊìZ _֭[U*U޽{hӦ&MUe˖En^q!H-ZԤhRu1RLo@ƌ}F (| ܹs#iÀs* gFѮ];ުsݻ7l٢[n)tƌ y17N1Rӧqu̇c2ٲeSv[gϞMiƍ70rHՆ˗/O>qhF@#q pQdΜnB&t;^F@#b| ٳ=z$1b@%}vD o߾6mdIeN29sbԨQjذacƌAÆ $TQJrG7qhҤ /dɒ&F@#`ArN۶m̙3-5uF@#pf&UZUIAk֬T<:tR]*՜KL]_ϟWe,dj)kV={vdɒ5RXKEh2?jԨlHF@# >8-ÙOo.]TǩO(*zqrBN{0aBҎmv/\0xn͚5b<'Nzkh40=5$QA!?9F4JNT@Tӛ=iҤ(R L;uUj@ڵk*K-v4hbDR ʱ5i4ׯYϔVk4 QLH!SqFPN;PPJZ`L&r#L;׬Y*"J=͛1ccO^9b&F@#`"Y/.F Ph4Pp2NzSɴw|DU90A5RLk$MשÑIϟ+'j"5zSeDMF 8h48-~Z3]e37{h({muF@#y ТE/W.FٮvJ--l$dWz&F@# hPPm4@$A`Æ *t[ Ԋ~Ų屺lw$CH $P&=OF@#8Z8VF@#t^qj];slZָ e[$(Stjh4AA@K@nh"C߶m@S Y3\fg6B&Hj4#c[h4H%KT8q㢛lE~ml+e I# |AkLxzر#hs20-1(:ovJל?cjh~-x_~#ftlҥC(Qp%9Ҥhf@Y[kNIL_yҫWPlYPaMC ~]׽{Oiz̾Գ'|A'f`a~ajQz4i4G'fL+S<ml= KJCʦ&F uCؾ};f͚?J!p*ʙ3g||3gS;wn䋷^g1~x_y^AݼySl?F@#6"APIiAt5F.QFB 'V%S.'uwɓz5nݪ3<&MR)֭0`2gάXիj=VCҥK#o޼*S2?c9Jiƶ>hA0 ƗR?umOՐ)UJOٞF> ԻP1nU~(ҧ봯 `o,L82QRRRJ**lٲR?ʘ=ӧXjK&n*Q5'O5hiұcTz͛7Eʕ+3 iEI$1?fv%2'%UVŭ[`΅ W٘4W9꙱(%ٿ<<<@w4#p0g9[(O̩^ؠ4@`((gO[P!,ɓGsG>j(5. 6DNrȁ3b̘1a{!\r̎;C#p\2H&o.>n ex]SW 䨓PB_F@#33:}rb+ifנ`MȔ)畊|ٲe22r/_Vi38)STJ?,߬3h ˱'ckOl@Ĺ4L26 kVRLΝ;?hJ;%$J]W[WF@#8Ȁv!lUSOO [(.Q5& - [,U;|55,k @8Ӟ NJӢ31˵]c`L8wN9Zh"  H B7ciItCB@D{[Γ  dȐdDv-G_V-`\t1+#pζT3,ORƌCʌI5m5]kx< C_|1[lf/n`4{_=п3{͎9⫯RI63H,#Q:~S uVh4{8={7NuOFgdR8  .i7N:b*چgt<:;wݬ(/%GF5jWdmI`L~2kʔ)?8>~8F 9ZڵkUi͵ :Tŀefj"cLd|7OfCb&48m!դ9'>b)Z::12%s"is;. M6צc^(f7GO%/b#;^.4j>h>D C}I$G%CsB%P%T-FRV2iHI%%T{EmN) m:"cp7o񩒣#DOb;2${kQ'cر*Sl$cMjڴԁ?TS:b")&a/(rK s_.f| *GU^KBr_i 5jέ cX(8,˃ïCɬI#G_? sgiV +UT]3I2~TLy߬XbRO"w>xW'|2OQIOvÆ Cڵ􌧉Ν;?hޤIqn!&#S߾}- tAGf'Nׯ+|_P8]}ݼ, Obs?GGlDގ3ir :*ݡ 8 $>>>*f383j S קʹ   "W`^ut$Gꕊd_]3%PtFG{|ʁ:O={K+g&r)>}mÇ3}Y; N6Lzjk&'pHM,x-n̊S_0P@e4Ϸ E9+qW^*N/Cڵ k֬ u+ +}v? u6%NjOymgNپ}{?>X]O rIT`u*'OTNsf+gZJ\V\W]nx;46<:*T?P +d(AYKpk $(FiΝM[7ffnڮ̺8D(RNǀào޼QhoF ETϓںlٲ֭%_;/z S HT~}Н(kMV3$N…U%zA\ߌN9gu2U|C%S2\^zUv8:˗-[Tڱ͛k׮ۇ.oEx#ѦKf"ǺoР/^rL8J{hoC)$Q%-[6qYVSa^u2qLw?LI-YUdpv5]rŗG2)E hOFiZp-خoϔ\r|&L"~̒%Z5P"K"cKSJZ4Exo؋H@`e!/׮]Svˑk;p6Y =,T@ƩEO,w۾4$`Al i;ğ˧`h:]9|;uhY`: )h>aslE7p@-ZT JM)X| ƍ'"s-$2yQ_qΜ91j(5% 6Tއ,S nj/^}#$2iTG~ST*^xfz' (P;g%bMΓD\ۮ`رTjNJrɸ6m6_߇RO洧6SL~U { cKj&QO62\]Qzu"p5 <'º%Q0!po6 5j^yIľ|ip^F,yә/{%YfUF˗/G,jleX.Œ+ѲHLfPgКIJ"lKe$_]N̕P;m2pNF 0h40hBݎ;⫯Rޫg@ni>}zv|{T_gj$R:DsEٳ aiːO'Lu# ,D#FP`,Pj+W.% >~f@gB#F (H:_@TDb!&Ƀ3Nw+VZLAx!JAi4~=)LJ:'kNafBH8xy("̓|g(K\"[z<?_oO]xV{ԋ.~ͤ=fȐAݳi8hԄE([.6CD;8Y5(}-!KɩzW;-AߙS7nR Q=D^IMÜ("{GL7(SRUtݑkg9m7! sCiLDvޭl: aLwP߾*h:̞GΙ(o_Z\=SCe4VDT^j3hzQxu{: E˒svl7P_H$񅰆$%slY%S 0h~ 12#}LH5%:($o'1sM>2Tͥ]dԐ;HD4HVZEi|A5WC$Φ!R=,C" @# f%v;峦=zd=a-$f._ [Q#oA݈R /F oVdbzc~\\~]cY#"Ajs%s^\9+a s̘v{9{1wa4nl;EmW]oocFΓeT^?!&Rȇ@pP$H#,ni(>3HfhN׺"[L\~s/蛃1lxgG+0È-=lge>L hɄgX2}uD%w1DX%^"iHiP/e{'8rb$B[Pơ3 6Ѥ I5^LdnWoF86 a`0*7Tzd(^o {h/v키gl1ЦuXrsuqw[a5vg"{Z#-/P^%N_P#o (߫L˃h|:|2ҍEh&y^`/cU1q_ qś:{I0/S6CC<_ v1(寗qcz펟ε;ѣ[d Q]FffO1vc 8Xjܐg[sDO+!- uQ%D[Y!En!^G0p ɐ% WazLni$]B/ RZ5CB`(xdvǹ3M$3GTרjʌ1wGn&ǞIpD?)aܹy(․m G[ݛpmT.ŋJ+I ib€n $&hѝ/H IEᴑ& lτA4$OS ȭ9tPCĭ P}[m'4avٿ=jԳ-ؾ鯌G2+,R==+)zB<{e_1iT?UxMYMFNm5(]iF$׌1=# ̋wըaHH+ž)TN}k|f;sce>b=zq!iqHsFW7[#FFKY*^>o[qty#=Fid%iq$T;ڀ^ȩİ=&1=:EK (/ڵkC`;`&2%*j*C2 #RE18oo[zSȱc24p hP 6 OG3ϧFQfE|FO=dBxa4?YCX?_HkRŃF#GClkgƴՌkgdewO5Rwb+91H0(z41$ե0?6<2$1ξSXÆ2a~Lj9}F=9ZF%LS4Elˀ:MO#xKޱcJF3Ce5khہt'OVA߉UL@DU!aeʐy˖- 5KhIL fAZzEmIvuX~}p|&faH Pb6@0x-$ J*7ǖ3^bbzq ) @yIrGQ܋ʎ$Yf|]k}Px^8$RI-{JKrSU@-`d_f'_*ٙ!QQ8X'Fxhh ޾A*Q>,̩ 7nm0Rci+oȄMe85ΞO0dKMSϺ O*gyoVƀ2".] L$BFߴg"# "c_=2(zۤ;-xwF M&L\q-}$mC+U!C [l*%ٳg!9ZbEՖLs' Tw?#h9ɚ$5$SL[QEt%ɹ3< u.\PeB: $_V?~|kW$>8ԝdB5ו *{{s|/(<,6sh+Zԁ{ZX}<ۍ]{V-8_r[ID&ː@, P7#{R杍6HXhog h8p}v̞=[1,d*$=_DI:AN) $Q?2d92z9sZPINy!Cx3!1c sdxD&Gd>CX84˓ie_Vטd82׶4ǦSؙq%4Su҃-ӎqKI шd)S}е蜺/H$//@ڐHFW?Ƥw1Sjtt vl@ Dn{йqS큺7aiZ-;MZO~Bp:$Fa@ƍ5K܃N $2LWs)eWl}Ws\};^%GD\s߷ܷ;7Rnsa꾧KEA\DdAqct"w̍Gbx6eq oq)A]Y m&̀#tJu;c11%zz2/3%bT1S:h f.rJ "ikB,; K%V$Id$XRO+Ӑgώ)Sjt#q%p N@ؚd;ιY{SIowaÆUmuM;mCMD][ P}JMM3}+B2OK(>8~/P(NP|.hXwuF)}}W?* CTm$!mb_HmB-P*ҽ>̭!k1b^Di\]:l|ic=hЫ]ٖ-\,$N"z ) %>U/|>E&g+Ī\~ʔ(,Cuz4тΊ 'n7 tW19( UZ19:3ӣƛlRaqNJ- ˬO?凡CLNixQL$% rX&'q,'X3c~ZK/^JUn[urpeij@s2GFS2L)8R2aϱPIq"ay8 F~|,\ :l0\fԗ|Arm6+\.C{.Xn#aţn)92,C7W ޜ #7Pfڈi]ERD(M4=I.>exof0I zWa q1l٢믴,0ϗv^j77b%yd{rscDE 1}x-dz(~H B ⺊'=r5T:wHsO(KueԆrQ>$x] #xĿSgR*ΐ6 RVGP$e )O3 ^SNżyP1|Nv:jQxH6k& *g >|ŋ)ߝA{Q^m0Tagt Glq[yw"%i#)#F/:<]J~5+PޘwϷF}43|= 9x6X3z3R(D@F;G<gDhD1鏮0 ֠1Rm+v4=6޸lDG?p'x>f9QrHMgS1@0kF.ki]OkCH:=$N|0Zcxs} kCgp'"J+)y ^@Ѧ$']0U  my`ȋf@#e%ڃjW.3p| X1k_[b#mw/K,ĺPa`ԩPUw3Sf6yHOH]g,xgc2l4–-.*CQ|nf :/4v$55VgA7ѯhbB:[C3WB*!#"0ŖH(fDx,yU-daHM̀FkWWlpߋGz ΃bNS0$Kx1#u_Ud xyήDN_#MH)bF9CB { q{߁s/KwN ?g7߂ػ :\j @U|_&6H0R+A?㛔1#rGx"L<;D7MGlfW[}:2OIJ3eb) s-J4u޷zwpA* yj(;u$>3+͞>ذ+6vJ ;q@x~^&{485B۫s8,kU?Ek<$raO0y2p A,>*,J#[,&^3fh#< #?_2܆˨_:ҤR)b4 xH-Ig/7]Ce?# cQ$L^3Roę?[] J UNRY3u: )#@ F $8/M|CRbՑyBb YXQǸԥ~_RCh%GuMMfSH^"#S73Ho3C0}JbA¯V4=adIl~oZo5QaL9O+xT]R a,@**Iphx6y תrHRd NF չ` MWlX 1z{l17VL $/dL,!{vٗ4E4\+=S@C}V_ FZ݅?j)*.Wʌ}#O'}ME.%kuɥhHcy'HB3_]ۨv tO3V$I{~5^)7Y6P/:5A+1z\rOVJe%,!NEޅcch|} k/KWQ;%\ٳڶmK`[c *]+waՄh>%^Y3U_h]bXCbf?sA"OO]#b;eލ~dp=݉_ ]> 9YWt;{ w=݊O@:eLZ?_- 2!ҐSF.35jyAxTNwxXi4[Q Y'5E)pI^d܇EkIوRݻ$Y)*[_I(e m5qdF<=?ˆx""s=VtRxxxDΫWl$-ݻ~tAGkD3 1E*Ӣ&KƱ(q?<'zO>|Ω!QTymv%a^d:n*%-RlfΣ3gΨgmq! qa|-[]z +m|$~Mğ3лut&Rqz$ VJٖ&N;d¢aqQrMobGñE<ý֯Gq1bĩ=z]0T)ܔ-dU3dqJ/Q*~ydE<=߅ERO-RtB4he#PD6@K&a@VH4/|aqdR'dzgP*L$ D'WoFy5,qK/"RΟj6u^ ˗OƳ4GL9ruG$?LT„}.()t!ߨ,6PZ5>+!%m&fQ}-ʋKiy GQB_F Μ:u ˗/_7mˀRrpBހ4i42[svC/a*IڙAѩ֨Q/^DTQ!u&Fv3 #6PDC טj{-"=>E4\6IyfKWxC`ܹb iS|UUz/ҥ) <ADŎ]`QUTT]DED"һ4'3acG~Ϙݙݹ߽잽^T'Ģ^Ou{kDu)?LW<ʹ?RESU?/gӪ#3}3S:ڜqt+]:X7;lڮneՖk)7-2-9m۶UϞ=U`Aۺ=JNlUɿ-Z׾\tP2 uڷOkŏ4vXUH{&q1S_ Fgy͗\rI`otc8@:Ѡ/~5hذ[\vuZ+Kpl޶mW۶6O뷮 oY,4/~JL?mm66e˖ ƌɣٵ? |6XMc0rӦ{Ϗ\Bp3EԩS曃x vMpRee ]<`I?$a<~Bn]s7ڣK,"=m}z*8>=k,o W̜9s^^TZ!1cP6A&GLNw<&֫@8/qҥͯL6-<6f`ad5K޸̶lw{3UT+vmaࡹ=m&<7z6/ ^ZDz|6$mH}XU߶lۚԬY3iOF\Zc?7!(zê/k3[=e0|=6ҿ!`OԹspt_&MR/%l-B|`ԯZ1}ԧjqʏzaӼX3ժUK @NDNd3>@`R&o?^n~)#.ЀV3VsiFa}kKlZ]<ө~:αR&~嗫yaӞ%ů@>͛6XM6L6Nmmt6sB!{iA|Z.oVs81;GUXAFV'ZkǗ6Ŷ8m5!V u3mv[r0=]%٠/~~~=}"qrޟȃ̂O > 6Qhet֟[MeU)cgƷk:ӦlRlkU…`|`QG۲Gy/,_ZkN>4GCúI\>OA[|3er *S!|&.ۆf}|YQV?J6V^&1tP^ZgIF g폿_g聿_ƺr@n;?*R/%q~zW.} 7oLN.j?^?{~T]n[UP!yekXk }_|1`#kd}'d5޵xSQtM7⣏j1(j 5 lka[K|pZm4q0&z_k9}nYتLTڤ5.\]| ;߁=$PǍNI52O裏_Vv*~r\obpa>Ч)Pe˖o1=~pĴS:|%xϮnk=Ă V}^q&<lhްۼ57mx{Ŷ" ~S)> .T T=WcҸ6[P`?>I{&@ ֳ >ieݛH|Z!7; gQO҉g!RڅnsЯ`S/4ۺuk mI I'6`֫W/y'|9}-}ٰU# ̛7Oǽ.~@KO qzoݎ>Ֆ|=IAY&w=9pPx@s5mo~M6 ˇf1Q?Zֳ RwՅMFjx[铯X Ҏ@wl񅝩i:QR$QoZR8#]~۷WH;y)|f͚&FIӮ7y1Yg4ﰳtW)\"' hk=|ܠApRZXѴ <رzm)]A7-._W]T}+3U]MBu~=F(?Z6Nr/tD6tL>2rgyKOt𨍞g-[ yʇmjclpHyҽ8 Y|A林ӆ ֬|z>LV~~O dº1`雺bK_S XVpA䗱R hPT: +NUϚG:|(I*R`4Mș67&;-HeC[t+lӊc2TFp#gla%>_Pk浜i|*T ߼Xv鮻 In~:m[u85>giY[Foc+ϕ3'u3 X}{m'Uև_}NN3N ^?׊s_Rf2cZ<6W?ɫ;P%\JA@ٹ(sGhgbִNsa5UE~ŭ_-yajkhO\xGz(m~Y"K>Vјع @3_`ɒ%*Q"%Ak>Nd[|uoXib۬(im?ض$\kU뭉>ɰڀϬ/q ;Eo)WT̈zQ qI\wV|0[mkl^L_[x - 8ڋ|姟v7jR:[R5A ):eD'}a4.ʍJ%Ϟ >}ߦTJLT\|zzsnz[Gc*?[iY|4,}dLk|)C/0Gon >FGvm}lU| :հ8ۮu*Gr9dgϯq`ܚXP;L 34j~qMqV=ӗjzUSYwTx Oڭvͧh}>Sy@Y{=6(jpbpny&.?ZyQVC4w l9R^W44{z5uz5ie>X?V9^@;5J/-.첰Up Lm^W_EC /5Kە 9N:^UmY^UO=\%-p&Ro<ѾhGt\bu/{n%F_*u)uKs=7 S)%rk#6CSxK/)TN>=zP#{C&m'gr36LKUCx"W[RGj5o jʚ ZʛG% P:Z%ͤI4a„}/r_ܘc{)W;z:-h݋ViO Iu }Ѳ*R4N.5[R_tcBz[r-U^߈UCꢧ5zHu+s렪y+G?<[6l+wуaRX`FK֡AK-hNe[^q[ߺ /"ʕW|n_.WRk>ɻw,mQ'#d&ˮvɕ7ڒkOh9yJ,ʯ/mv۫i?eo-egi:U0lGlU^d^ݷއͧ ;l4vp #GN[o) Qf5Ie.NSmԙ7IC.rW_wj#;T-_-6xZ2j?u~:Ju{ z}N2M i76cf2U&S:"WNU^]Z GKٯbpyOo'~umh˽"%oIޢԗ?P5K}D0cwP?;VxٺаNm%PK?k#gjL*4N-:óMPzZM0YXAZy~/ |jղAvsU^l @ ~&8cG $֯ԦhCPtb?J[9slSk5iI _^AM{~hOP+Ws[©W|V/!kC}}%_+ק*Md45ܶjeuAVgJ)SpL#@l$%Uo1Q]/LEs.մ~y~5HZ4WzfB}u|^F/Y, i HJz!Ϫ-c_4>XӻVx x,4WWL?OEsG/;XVIgGi@g,\@KǝZў$vԿëIȶl ϒԆ hԚ'(=PbBr'Q"muM[մq^"mx-!ҿ` #^y=y]{ܰP M^C?)7C )ZQ0Q %rrЪ橬pb&@Wvj<]ζw_צM0yQv4qĝ @}U>;k~{ٸyU-~{XUgޣnv\9lΩOV;zy֏w>xY wB>}5{n WeH xwAe={ __7Ywr=MM?My~ :Lk_Iyw*1,o:O>/iUvdq&fa2u>~^ @`2NJjxǷlcFǩ5oֹR;n OآrwkS8rmi})Tս^YcW#l_khKCzX rMLyk}wyG S5Mu+V\^];}ÁCW]%CvVGWmyzߥKЧRw!?BEX©x'[Ugj]rبy)FAfܸq\$>ƻ<mS-yZKz?F'h j|T$/yZ^Q)ysr.o&Xb8! ԗӧ~] ރ4p\ڎآG8[RE*I) ps >ʝ;r6/Q Tdj=93a֯]R+.TW#ń7Bpkm,=SjE-Tk?ݳZS-m=&tͲR6c^n)oU50;܍yi'߇e;mݸE=s95)ч0MG=*q-HrMYvmm?iwGJMÆ ?@+-ɽ{E6`է[gְX㕼W.Ͷ=e$u:QktӀFg gL`G l`a<:tԩSg3vK.$xcwwoIA}N;2?8on kՙr ȓ'i3?kk 䃓NZnlo6-hfm3-}WPڔSh4bxa-3 ۲"0i]y?TRlٲD<39(ZivP.Y}'O>ڻ^{mh`v濃&c ׽ 9IDAT~ G <X޽mΜ9~W ع[Y1 mضclضVnkTpmr@K쓫9sX0샇@{8k ZЫmp_mQ %r^'j}VENw:iK='V6:8>[-z[k)og kzr[s eJƅvYwUtN:I[WVo [56kִ?n-6[AAe._[5lNN{ߺNUY^@69<ϲNYAN^UP=!z 7Y+g¶mJp٧!MޥE;6 ~$Pxj_^@ӟ><^F>QZW`[+XԖ1Zfr6=<꼕ФVH}~s-IߕArq"N%&VQ.yoՀIt6#}l"֤sϩ|YrM3d qM;۫R'RUZT㻵+P!YkWxA(B_?GwMgX{Y~}<^B[-1R9lrM諬`=Jۆ۶euC>hVُ @x@k7Z0,fuUJhzr\U4:̪Z4Ѷm5-VMڱ6jf*xCu^/FWL ,T-RP/> @\z.&G`.]xV^ ZN{m?czSS{v4(d nf@ݸnjW:RIsuۗje غLoVZ߹zWԲIckpgLsjM_mn}mPVG56c&ۦzL|=xͶm4Ym]m;tnVY Omf4=|_)ܴ7ةs$X-l֬NcWW^ř-e,! ?᭭R/-ԝ V4gqQ&KwFwdd9 ]v >%mwGnw̶ONR56ŝDŽe`ΟܤOب3fܭWKҗ[k5JYmxk(oTeW᯺k'9XgϽ')Ӽ?\Q}ر- +z_Lϛ7)8 ,@jOnݪN5?Vj#}"Z5m:wlsevY3jfɿ?=Zm̻3MIR6B hEv<6kzϴye^}%+G7uTa0lU>ۻ' tKPF~T<_>N^>]}VFp:%_'>`l =Sئl}67E&! 6 N3g9`ezys=Ზh+ nPnܙڢRY&t ޙy9}.Q+d dl~ۚ/NyHMT?%NoPשPt0)F\s%v[זv)X6\0IG>߾x9}}[^ .}%D8@x}:&$<~U*[vhshW(ʴɛ(y챁;F§=_>WMԺ4dH֏-yRҥ[5񑇔(=:ltmƨ'z'pg|I_mUȣkiύk@}j2x3w@O4t4!6tmt[n k|z)ZL4ճ5%JÆI-[futj3IiƌW_MYv36UjqMw5-RX Y<_3fѪ+z={~+^VK9~#ٍ +@{l><3Y4uR^~E~ֿPXFS  p fzkl̿,JkB <7҄ |}vT"v׊+Wvm~׮-My"uTvݑU3|ҹSf|?h5$YZsxn;Gѱٺn,[FlUU{oʔ3=7ϡZ_T=}|NUjH 飩 ]tQ=mLiժϲuu9hK~ZSw%ŕT4iR<ޮ6D7ߪVZkBVX>.S[M>H' sO+Ѫ\{-_wI>զ4.ؐ}RԱ#! pp f(x9<8~sLG3(u114nJϪ~wPA٬P3قI6*uNA6Osmǟ7Z;WWTTM%ӎuܫ]-- }ւGjkZg<-Ns΄UuZ_iŕ5켍.7Vc`$|?>Z=LWykWQZ@ Н@󾗱w%{tw^>(ͪc}WcGwyYOH_ ?_FlP/{z-9yۃ-/ ):j6|5< 5! ;Ull Iy&k@o7m~] /-dR+A3-)߽[}N诇缥67ۆ:ؔ3?Á'<'.}i@Z]9x @@tx>}j2TsNln] @=F?ghl>f}T=yj.PC5Oz&5z̟m+F'Hwq8 pw}rʵ]PX/W n -c(ةl ؖ6 [`&=KzyYUR&ߝ?cړ䵩@֭,6[[װz:@ nj4Os.{wޡয়uRN@);UlPo#5 򣺹|oMD@zѼ@vQt`ifxVkWMCoswܕvT^=?@xVIS*TYz_WnKw5k@:`7|Ju=W{, ӺveH  4 dh _Xjgbl4Rfdl*ﯙ<_O mTylsM{\9rix甴`Z^*oQ{74ujGm >d>XK[?ǫg-2n3 $@*>]*TH*U*cvTh,s4H@~ȐG>-Ә1ȑRY_ϕzXs r./h[Uo ur^JkVUҜ4 Q;̥#mlDi35=m޼>۟Ms=،y*qN @ fy8ʘʖU*.,͵ٳwmRf;eYgJm|^rUN+GJjQ[[RǟڲifH>G@/ڣFex`w[u7N봵0(%WwϹQKǪ>v\8*Y\Y  _ fŊeNY (mg,5FEWQZ\9ru7Z"J1I9T38}vʌo2K8cӤ# ֬Q]f]]>ͨN-&_bŅCJ5&Gn "O?SO=5#@D47j2x'N-C=hxjg롵n%Zخr`B%5=NP:)p5_>3wM NL>I]tԲe`/o_|MIJN%U;BMݨ+Mw9;^Zު1UXWٓ[[z4$@`Re j$1-El 0y^lm?&WrڕWjg;JkݗU`U ^snҪS3Oh٪+޴V:^9ʔURs|CJs3fU۴ߣH:h8gZԫt)].VkӖh­oiiZ,mMΡM {XYtj?{: 6* >WS^6y| v5VcZ; @@ U g-nl'] >fƴvٶӺ tW^Q޼jrzZJfk*Z=>5:z]*SP+Jê-|ZxjWUV=ZdJGQSS{TU4,BkUsR0zΘ{LW]2I/!n SV ]5wlMhPrP{^ymO}u8n@@ hZ 5ͽ,c XJ{FߵM m ߤ^XWJ^:b5SӦ̍t~B.Urt:mۖ_g~dҜS)mj2.u:^ҫXpXA 4swP&6p[,m}T_TkG*橢^q]=vРA$@B@t8ɮreɖ7>>%@c;krFvm[T)rͯuB'rfV_(Dn* Stx0USYV- 6=)+5=7pXD9OԺ~{P-,tY;ڔG,Iߦ_Vkݦt`;tmmwR?}KB@i52.Z $e2c4&_^hBU;Ow쨊6R~ Sn, ݼH7 *՚jr~y{M^\De.9[ _W%(sk&*dgzOMZNV}+>Е_Wo/1>UێLsC L  Y'FY@hmO'Y?U!w:#AϞV_͛(3պuk{Rވr a=9V+tx^Z\9 m|y5sc)ci8WvL -el$m`y?ν](asz-o?,k^Ҧv'5L{ ^F_^VGwnIAoYSPSsuMM?٭mj@jK>x uX/^@^`_|n&zm"*an˗8̣LڧO,_|2N &Ѽ)3t(UW]x=Mߴ=gϞ9܉';=rdCGm+d'ڥKy^#2 @v,P yy z}yq֭ێ GxVf29˛:'ff;S+Y̢p~s-l)/i+_SkQՖ$ۛkذaaYÇ5" o 4B|Hƍu2}8L;Sjd*c7{o)<0؄ l/l$};}mognٲ.°[@D.@U`j|y4VW_};;3^*6)cJ NB+lzk+T[7M@F`WWȷxL3cKrZt5Z):$$@ػ9LX &x`r   h6;3ɟ1-|4gn@8@([mI-X`WF@b}t_˗O=ܾ:}xޅ {GIŷ_)m[%${gAu>[+O:}(RŋXb`S{$ ɢETlcWڣ>|5j+i$ W_Ն  %! ;n.bѢE $ L:5W^F@III%~:,4N_ntIjGM[9uֻ] mu9A^2W W@~4|=c4N^Rxpzx_ \pjժvg>   f>@@}&@h91  @f@@` 3ZN  hf*C@gLôh7o,P''!Q`ɒ%aؓ {3u‰ ,x` ^^˔HXjr-_'^hs\7  4e# *@׍ ĩhq\6  q  @ e# *@׍ ĩhq\6  q  @ f-[L/ׯ̙3; ЬYe˖L|R L>}999Y3f̐67 6}6mڤsǝU7o^Vϕ[fy!SLbfw̏ sRv{,|G 'p/B)*UhnjU3PŊշoc~VZ裏VٲeuׇjW#GT:uǏW5tqǩrիWGێ<||jڴiXF of`?nyyVZ;~R| ,_<袋f͚>;;J:Ƹsv[Gx`?vp իW{]vPIG|z;__~I=~w^H%0dȐAHߟ0aB k׮c7;8cw`oLȗ/_aq!g^o> 68C؃,.nǁW^\x> @dW%z}xKz~fbiϤB%h͚5vڰ?~9T:u԰ߟݻKH?P޼y~޷˛ecɛ{/ B L2ZmWX6>лi˩pƲaA?)Hˆ/ Yp"oN[oUֺٳgi{iEc=p.8ώ8WQ3zv~+awys)KjѢrߴxkn L~ᇰNȚuʿh<`?Lb`b,dknf=Z XV[ͺ5 Vc-ZlxQO^<!ŏ@V!~I= 4sέ+W_<}B=\t5Շ,^6H%U#c>*;Z̸kÇgj@wT"_*KT\rI#5G@$F}5k֤Ϳlʕ+z/b8]uUz`/ _/iF6#R|Gsy晰{Ƀ m>ƍW_}U> i_e#`%W#BfWgGV^L2~6mڄ>0gΔvD .,\Ēhx05~,m B GI%KUKƯH<ӊtx 6K}AW8QHM^bo{yɟ?l\}ٺkWA]:5j4{~7l2M|aS ώufW'|wXawot>ӓZ 9x '7jԨpjM% . X^cV©7O gOds>ώ`d 󩽊-AGH1aTR熏Sq#|tdّ1Wx&.0_/b)=;73o8'_'{`,e|Xǹ6uJX7/S- ltM.<r#c|0E 2FM6  )$  D*@)7! R@@" @@@)   FMf  @@H@#&3@@P  @r  (e@@ RH @@2  hd  @J@@T4Rn2C@  D*@)7! R@@" @@@)   FMf  @@H@#&3@@P  @r  (e@@ RH @@2  hd  @J@@T4Rn2C@  D*@)7! R@@" @@@)   FMf  @@H@#&3@@P  @r  (e@@ RH @@2  hd  @J@@T4Rn2C@  D*@)7! R@@" @@@)   FMf  @@H@#&3@@P  @r  (e@@ RH @@2  hd  @J@@T4Rn2C@  D*@)7! R@@" @@@)   FMf  @@H@#&3@@P  @r  (e@@ RH @@2  hd  @J@@T4Rn2C@  D*@)7! R@@" @@@)   FMf  @@H@#&3@@P  @r  (e@@ RH @@2  hd  @J@@T4Rn2C@  D*@)7! R@@" @@@)   FMf  @@H@#&3@@P  @r  (e@@ RH @@2  hd  @J@@T4Rn2C@  D*@)7! R@@" @@@)   FMf  @@H@#&3@@P  @r  (e@@ RH @@2  hd  @J@@T4Rn2C@  D*@)7! R@@" @@@)   FMf  @@H@#&3@@P  @r  (e@@ RH @@2  hd  @J@@T4Rn2C@  D*@)7! R@@" @@@)   FMf  @@H@#&3@@P  @r  (e@@ RH @@2  hd  @J@@T4Rn2C@  D*@)7! R@@" @@@)   FMf  @@H@#&3@@P  @r  (e@@ RH @@2  hd  @J@@T4Rn2C@  D*@)7! R@@" @@@)   FMf  @@H@#&3@@P  @r  (e@@ RH @@2  hd  @J@@T4Rn2C@  D*@)7! R@@" @@@)   FMf  @@H@#&3@@P  @r  (e@@ RH @@2  hd  @J@@T4Rn2C@  D*@)7! R@@" @@@)   FMf  @@H@#&3@@P  @r  (e@@ RH @@2  hd  @J@@T4Rn2C@  D*@)7! R@@" @@@)   FMf  @@H@#&3@@P  @r  (e@@ RH @@2  hd  @J@@T4Rn2C@  D*@)7! R@@" @@@)   FMf  @@H@#&3@@P  @r  (e@@ RH @@2  hd  @J@@T4Rn2C@i'IENDB`mFilter/man/unemp.Rd0000755000176200001440000000272113351523274014054 0ustar liggesusers\name{unemp} \alias{unemp} \title{US Quarterly Unemployment Series} \usage{ data(unemp) } \description{ Quarterly US unemployment series for 1959.1 to 2000.4. \emph{number of observations} : 168 \emph{observation} : country \emph{country} : United States } \format{A time series containing : \describe{ \item{unemp}{unemployment rate (average of months in quarter) } } } \source{ Bureau of Labor Statistics, OECD, Federal Reserve. } \references{ Stock, James H. and Mark W. Watson (2003) \emph{Introduction to Econometrics}, Addison-Wesley Educational Publishers, chapter 12 and 14. } \author{ Mehmet Balcilar, \email{mehmet@mbalcilar.net} } \examples{ ## library(mFilter) data(unemp) unemp.hp <- mFilter(unemp,filter="HP") # Hodrick-Prescott filter unemp.bk <- mFilter(unemp,filter="BK") # Baxter-King filter unemp.cf <- mFilter(unemp,filter="CF") # Christiano-Fitzgerald filter opar <- par(no.readonly=TRUE) par(mfrow=c(2,1),mar=c(3,3,2,1)) plot(unemp,main="Unemployment Series & Estimated Trend",col=1,ylab="") lines(unemp.hp$trend,col=2) lines(unemp.bk$trend,col=3) lines(unemp.cf$trend,col=4) legend("topleft",legend=c("series", "HP","BK","CF"),col=1:4, lty=rep(1,4),ncol=2) plot(unemp.hp$cycle,main="Estimated Cyclical Component",col=2, ylim=c(-2,2),ylab="") lines(unemp.bk$cycle,col=3) lines(unemp.cf$cycle,col=4) legend("topleft",legend=c("HP","BK","CF"),col=2:4,lty=rep(1,3),ncol=2) par(opar) } \keyword{datasets} mFilter/man/hpfilter.Rd0000755000176200001440000001177113351523440014545 0ustar liggesusers\name{hpfilter} \alias{hpfilter} \title{ Hodrick-Prescott filter of a time series } \description{ This function implements the Hodrick-Prescott for estimating cyclical and trend component of a time series. The function computes cyclical and trend components of the time series using a frequency cut-off or smoothness parameter. } \usage{ hpfilter(x,freq=NULL,type=c("lambda","frequency"),drift=FALSE) } \arguments{ \item{x}{a regular time series.} \item{type}{character, indicating the filter type, \code{"lambda"}, for the filter that uses smoothness penalty parameter of the Hodrick-Prescott filter (default), \code{"frequency"}, for the filter that uses a frequency cut-off type Hodrick-Prescott filter. These are related by \eqn{lambda = (2*sin(pi/frequency))^{-4}}.} \item{freq}{integer, if \code{type="lambda"} then \code{freq} is the smoothing parameter (lambda) of the Hodrick-Prescott filter, if \code{type="frequency"} then \code{freq} is the cut-off frequency of the Hodrick-Prescott filter.} \item{drift}{logical, \code{FALSE} if no drift in time series (default), \code{TRUE} if drift in time series.} } \details{ Almost all filters in this package can be put into the following framework. Given a time series \eqn{\{x_t\}^T_{t=1}} we are interested in isolating component of \eqn{x_t}, denoted \eqn{y_t} with period of oscillations between \eqn{p_l} and \eqn{p_u}, where \eqn{2 \le p_l < p_u < \infty}. Consider the following decomposition of the time series \deqn{x_t = y_t + \bar{x}_t} The component \eqn{y_t} is assumed to have power only in the frequencies in the interval \eqn{\{(a,b) \cup (-a,-b)\} \in (-\pi, \pi)}. \eqn{a} and \eqn{b} are related to \eqn{p_l} and \eqn{p_u} by \deqn{a=\frac{2 \pi}{p_u}\ \ \ \ \ {b=\frac{2 \pi}{p_l}}} If infinite amount of data is available, then we can use the ideal bandpass filter \deqn{y_t = B(L)x_t} where the filter, \eqn{B(L)}, is given in terms of the lag operator \eqn{L} and defined as \deqn{B(L) = \sum^\infty_{j=-\infty} B_j L^j, \ \ \ L^k x_t = x_{t-k}} The ideal bandpass filter weights are given by \deqn{B_j = \frac{\sin(jb)-\sin(ja)}{\pi j}} \deqn{B_0=\frac{b-a}{\pi}} The Hodrick-Prescott filter obtains the filter weights \eqn{\hat{B}_j} as a solution to \deqn{\hat{B}_{j}= \arg \min E \{ (y_t-\hat{y}_t)^2 \} = \arg \min \left\{ \sum^{T}_{t=1}(y_t-\hat{y}_{t})^2 + \lambda\sum^{T-1}_{t=2}(\hat{y}_{t+1}-2\hat{y}_{t}+\hat{y}_{t-1})^2 \right\}} The Hodrick-Prescott filter is a finite data approximation with following moving average weights \deqn{\hat{B}_j=\frac{1}{2\pi}\int^{\pi}_{-\pi} \frac{4\lambda(1-\cos(\omega))^2}{1+4\lambda(1-\cos(\omega))^2}e^{i \omega j} d \omega} If \code{drift=TRUE} the drift adjusted series is obtained as \deqn{\tilde{x}_{t}=x_t-t\left(\frac{x_{T}-x_{1}}{T-1}\right), \ \ t=0,1,\dots,T-1} where \eqn{\tilde{x}_{t}} is the undrifted series. } \value{ A "\code{mFilter}" object (see \code{\link{mFilter}}). } \references{ M. Baxter and R.G. King. Measuring business cycles: Approximate bandpass filters. The Review of Economics and Statistics, 81(4):575-93, 1999. L. Christiano and T.J. Fitzgerald. The bandpass filter. International Economic Review, 44(2):435-65, 2003. J. D. Hamilton. \emph{Time series analysis.} Princeton, 1994. R.J. Hodrick and E.C. Prescott. Postwar US business cycles: an empirical investigation. Journal of Money, Credit, and Banking, 29(1):1-16, 1997. R.G. King and S.T. Rebelo. Low frequency filtering and real business cycles. Journal of Economic Dynamics and Control, 17(1-2):207-31, 1993. D.S.G. Pollock. Trend estimation and de-trending via rational square-wave filters. Journal of Econometrics, 99:317-334, 2000. } \author{ Mehmet Balcilar, \email{mehmet@mbalcilar.net} } \seealso{ \code{\link{mFilter}}, \code{\link{bwfilter}}, \code{\link{cffilter}}, \code{\link{bkfilter}}, \code{\link{trfilter}} } \examples{ ## library(mFilter) data(unemp) opar <- par(no.readonly=TRUE) unemp.hp <- hpfilter(unemp) plot(unemp.hp) unemp.hp1 <- hpfilter(unemp, drift=TRUE) unemp.hp2 <- hpfilter(unemp, freq=800, drift=TRUE) unemp.hp3 <- hpfilter(unemp, freq=12,type="frequency",drift=TRUE) unemp.hp4 <- hpfilter(unemp, freq=52,type="frequency",drift=TRUE) par(mfrow=c(2,1),mar=c(3,3,2,1),cex=.8) plot(unemp.hp1$x, ylim=c(2,13), main="Hodrick-Prescott filter of unemployment: Trend, drift=TRUE", col=1, ylab="") lines(unemp.hp1$trend,col=2) lines(unemp.hp2$trend,col=3) lines(unemp.hp3$trend,col=4) lines(unemp.hp4$trend,col=5) legend("topleft",legend=c("series", "lambda=1600", "lambda=800", "freq=12", "freq=52"), col=1:5, lty=rep(1,5), ncol=1) plot(unemp.hp1$cycle, main="Hodrick-Prescott filter of unemployment: Cycle,drift=TRUE", col=2, ylab="", ylim=range(unemp.hp4$cycle,na.rm=TRUE)) lines(unemp.hp2$cycle,col=3) lines(unemp.hp3$cycle,col=4) lines(unemp.hp4$cycle,col=5) ## legend("topleft",legend=c("lambda=1600", "lambda=800", ## "freq=12", "freq=52"), col=1:5, lty=rep(1,5), ncol=1) par(opar) } \keyword{ts} \keyword{smooth} \keyword{loess} \keyword{nonparametric} mFilter/man/trfilter.Rd0000755000176200001440000001231113351523573014561 0ustar liggesusers\name{trfilter} \alias{trfilter} \title{ Trigonometric regression filter of a time series } \description{ This function uses trigonometric regression filter for estimating cyclical and trend components of a time series. The function computes cyclical and trend components of the time series using a lower and upper cut-off frequency in the spirit of a band pass filter. } \usage{ trfilter(x,pl=NULL,pu=NULL,drift=FALSE) } \arguments{ \item{x}{a regular time series.} \item{pl}{integer. minimum period of oscillation of desired component (pl<=2).} \item{pu}{integer. maximum period of oscillation of desired component (2<=pl