furrr/0000755000176200001440000000000014065413512011413 5ustar liggesusersfurrr/NAMESPACE0000644000176200001440000000367514065377245012661 0ustar liggesusers# Generated by roxygen2: do not edit by hand S3method(future_modify,character) S3method(future_modify,default) S3method(future_modify,double) S3method(future_modify,integer) S3method(future_modify,logical) S3method(future_modify,pairlist) S3method(future_modify_at,character) S3method(future_modify_at,default) S3method(future_modify_at,double) S3method(future_modify_at,integer) S3method(future_modify_at,logical) S3method(future_modify_if,character) S3method(future_modify_if,default) S3method(future_modify_if,double) S3method(future_modify_if,integer) S3method(future_modify_if,logical) S3method(print,furrr_options) export(furrr_options) export(future_imap) export(future_imap_chr) export(future_imap_dbl) export(future_imap_dfc) export(future_imap_dfr) export(future_imap_int) export(future_imap_lgl) export(future_imap_raw) export(future_invoke_map) export(future_invoke_map_chr) export(future_invoke_map_dbl) export(future_invoke_map_dfc) export(future_invoke_map_dfr) export(future_invoke_map_int) export(future_invoke_map_lgl) export(future_invoke_map_raw) export(future_iwalk) export(future_map) export(future_map2) export(future_map2_chr) export(future_map2_dbl) export(future_map2_dfc) export(future_map2_dfr) export(future_map2_int) export(future_map2_lgl) export(future_map2_raw) export(future_map_at) export(future_map_chr) export(future_map_dbl) export(future_map_dfc) export(future_map_dfr) export(future_map_if) export(future_map_int) export(future_map_lgl) export(future_map_raw) export(future_modify) export(future_modify_at) export(future_modify_if) export(future_options) export(future_pmap) export(future_pmap_chr) export(future_pmap_dbl) export(future_pmap_dfc) export(future_pmap_dfr) export(future_pmap_int) export(future_pmap_lgl) export(future_pmap_raw) export(future_pwalk) export(future_walk) export(future_walk2) import(rlang) importFrom(future,future) importFrom(parallel,nextRNGStream) importFrom(parallel,nextRNGSubStream) importFrom(purrr,map) furrr/LICENSE0000644000176200001440000000005313710077201012413 0ustar liggesusersYEAR: 2020 COPYRIGHT HOLDER: Davis Vaughan furrr/README.md0000644000176200001440000001136714065377103012707 0ustar liggesusers # furrr [![CRAN status](https://www.r-pkg.org/badges/version/furrr)](https://cran.r-project.org/package=furrr) [![R build status](https://github.com/DavisVaughan/furrr/workflows/R-CMD-check/badge.svg)](https://github.com/DavisVaughan/furrr/actions) [![Codecov test coverage](https://codecov.io/gh/DavisVaughan/furrr/branch/master/graph/badge.svg)](https://codecov.io/gh/DavisVaughan/furrr?branch=master) ## Overview The goal of furrr is to combine purrr’s family of mapping functions with future’s parallel processing capabilities. The result is near drop in replacements for purrr functions such as `map()` and `map2_dbl()`, which can be replaced with their furrr equivalents of `future_map()` and `future_map2_dbl()` to map in parallel. The code draws heavily from the implementations of purrr and future.apply and this package would not be possible without either of them. ## What has been implemented? Every variant of the following functions has been implemented: - `map()` - `map2()` - `pmap()` - `walk()` - `imap()` - `modify()` This includes atomic variants like `map_dbl()` through `future_map_dbl()` and predicate variants like `map_at()` through `future_map_at()`. ## Installation You can install the released version of furrr from [CRAN](https://CRAN.R-project.org) with: ``` r install.packages("furrr") ``` And the development version from [GitHub](https://github.com/) with: ``` r # install.packages("remotes") remotes::install_github("DavisVaughan/furrr") ``` ## Learning The easiest way to learn about furrr is to browse [the website](https://furrr.futureverse.org/). In particular, the [function reference](https://furrr.futureverse.org/reference/index.html) page can be useful to get a general overview of the functions in the package, and the following vignettes are deep dives into various parts of furrr: - [Common gotchas](https://furrr.futureverse.org/articles/articles/gotchas.html) - [Learn how furrr “chunks” your input](https://furrr.futureverse.org/articles/articles/chunking.html) - [carrier - An alternative to automatic globals detection](https://furrr.futureverse.org/articles/articles/carrier.html) - [Progress notifications with progressr](https://furrr.futureverse.org/articles/articles/progress.html) - [Using furrr with connections](https://furrr.futureverse.org/articles/articles/remote-connections.html) ## Example furrr has been designed to function as identically to purrr as possible, so that you can immediately have familiarity with it. ``` r library(furrr) library(purrr) map(c("hello", "world"), ~.x) #> [[1]] #> [1] "hello" #> #> [[2]] #> [1] "world" future_map(c("hello", "world"), ~.x) #> [[1]] #> [1] "hello" #> #> [[2]] #> [1] "world" ``` The default backend for future (and through it, furrr) is a sequential one. This means that the above code will run out of the box, but it will *not* be in parallel. The design of future makes it incredibly easy to change this so that your code will run in parallel. ``` r # Set a "plan" for how the code should run. plan(multisession, workers = 2) # This does run in parallel! future_map(c("hello", "world"), ~.x) #> [[1]] #> [1] "hello" #> #> [[2]] #> [1] "world" ``` If you are still skeptical, here is some proof that we are running in parallel. ``` r library(tictoc) # This should take 6 seconds in total running sequentially plan(sequential) tic() nothingness <- future_map(c(2, 2, 2), ~Sys.sleep(.x)) toc() #> 6.08 sec elapsed ``` ``` r # This should take ~2 seconds running in parallel, with a little overhead # in `future_map()` from sending data to the workers. There is generally also # a one time cost from `plan(multisession)` setting up the workers. plan(multisession, workers = 3) tic() nothingness <- future_map(c(2, 2, 2), ~Sys.sleep(.x)) toc() #> 2.212 sec elapsed ``` ## Data transfer It’s important to remember that data has to be passed back and forth between the workers. This means that whatever performance gain you might have gotten from your parallelization can be crushed by moving large amounts of data around. For example, if you are moving large data frames to the workers, running models in parallel, and returning large model objects back, the shuffling of data can take a large chunk of that time. Rather than returning the entire model object, you might consider only returning a performance metric, or smaller specific pieces of that model that you are most interested in. This performance drop can especially be prominent if using `future_pmap()` to iterate over rows and return large objects at each iteration. furrr/man/0000755000176200001440000000000013744061622012172 5ustar liggesusersfurrr/man/future_map.Rd0000644000176200001440000001211513744061622014630 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/future-map.R, R/future-walk.R \name{future_map} \alias{future_map} \alias{future_map_chr} \alias{future_map_dbl} \alias{future_map_int} \alias{future_map_lgl} \alias{future_map_raw} \alias{future_map_dfr} \alias{future_map_dfc} \alias{future_walk} \title{Apply a function to each element of a vector via futures} \usage{ future_map( .x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_map_chr( .x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_map_dbl( .x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_map_int( .x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_map_lgl( .x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_map_raw( .x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_map_dfr( .x, .f, ..., .id = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_map_dfc( .x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_walk( .x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) } \arguments{ \item{.x}{A list or atomic vector.} \item{.f}{A function, formula, or vector (not necessarily atomic). If a \strong{function}, it is used as is. If a \strong{formula}, e.g. \code{~ .x + 2}, it is converted to a function. There are three ways to refer to the arguments: \itemize{ \item For a single argument function, use \code{.} \item For a two argument function, use \code{.x} and \code{.y} \item For more arguments, use \code{..1}, \code{..2}, \code{..3} etc } This syntax allows you to create very compact anonymous functions. If \strong{character vector}, \strong{numeric vector}, or \strong{list}, it is converted to an extractor function. Character vectors index by name and numeric vectors index by position; use a list to index by position and name at different levels. If a component is not present, the value of \code{.default} will be returned.} \item{...}{Additional arguments passed on to the mapped function.} \item{.options}{The \code{future} specific options to use with the workers. This must be the result from a call to \code{\link[=furrr_options]{furrr_options()}}.} \item{.env_globals}{The environment to look for globals required by \code{.x} and \code{...}. Globals required by \code{.f} are looked up in the function environment of \code{.f}.} \item{.progress}{A single logical. Should a progress bar be displayed? Only works with multisession, multicore, and multiprocess futures. Note that if a multicore/multisession future falls back to sequential, then a progress bar will not be displayed. \strong{Warning:} The \code{.progress} argument will be deprecated and removed in a future version of furrr in favor of using the more robust \href{https://CRAN.R-project.org/package=progressr}{progressr} package.} \item{.id}{Either a string or \code{NULL}. If a string, the output will contain a variable with that name, storing either the name (if \code{.x} is named) or the index (if \code{.x} is unnamed) of the input. If \code{NULL}, the default, no variable will be created. Only applies to \verb{_dfr} variant.} } \value{ All functions return a vector the same length as \code{.x}. \itemize{ \item \code{\link[=future_map]{future_map()}} returns a list \item \code{\link[=future_map_lgl]{future_map_lgl()}} a logical vector \item \code{\link[=future_map_int]{future_map_int()}} an integer vector \item \code{\link[=future_map_dbl]{future_map_dbl()}} a double vector \item \code{\link[=future_map_chr]{future_map_chr()}} a character vector } The output of \code{.f} will be automatically typed upwards, e.g. logical -> integer -> double -> character. } \description{ These functions work exactly the same as \code{\link[purrr:map]{purrr::map()}} and its variants, but allow you to map in parallel. } \examples{ library(magrittr) \donttest{plan(multisession, workers = 2)} 1:10 \%>\% future_map(rnorm, n = 10, .options = furrr_options(seed = 123)) \%>\% future_map_dbl(mean) # If each element of the output is a data frame, use # `future_map_dfr()` to row-bind them together: mtcars \%>\% split(.$cyl) \%>\% future_map(~ lm(mpg ~ wt, data = .x)) \%>\% future_map_dfr(~ as.data.frame(t(as.matrix(coef(.))))) # You can be explicit about what gets exported to the workers. # To see this, use multisession (not multicore as the forked workers # still have access to this environment) \donttest{plan(multisession)} x <- 1 y <- 2 # This will fail, y is not exported (no black magic occurs) try(future_map(1, ~y, .options = furrr_options(globals = "x"))) # y is exported future_map(1, ~y, .options = furrr_options(globals = "y")) \dontshow{ # Close open connections for R CMD Check if (!inherits(plan(), "sequential")) plan(sequential) } } furrr/man/future_invoke_map.Rd0000644000176200001440000000735114065376117016216 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/future-invoke-map.R \name{future_invoke_map} \alias{future_invoke_map} \alias{future_invoke_map_chr} \alias{future_invoke_map_dbl} \alias{future_invoke_map_int} \alias{future_invoke_map_lgl} \alias{future_invoke_map_raw} \alias{future_invoke_map_dfr} \alias{future_invoke_map_dfc} \title{Invoke functions via futures} \usage{ future_invoke_map( .f, .x = list(NULL), ..., .env = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_invoke_map_chr( .f, .x = list(NULL), ..., .env = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_invoke_map_dbl( .f, .x = list(NULL), ..., .env = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_invoke_map_int( .f, .x = list(NULL), ..., .env = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_invoke_map_lgl( .f, .x = list(NULL), ..., .env = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_invoke_map_raw( .f, .x = list(NULL), ..., .env = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_invoke_map_dfr( .f, .x = list(NULL), ..., .env = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_invoke_map_dfc( .f, .x = list(NULL), ..., .env = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) } \arguments{ \item{.f}{A list of functions.} \item{.x}{A list of argument-lists the same length as \code{.f} (or length 1). The default argument, \code{list(NULL)}, will be recycled to the same length as \code{.f}, and will call each function with no arguments (apart from any supplied in \code{...}).} \item{...}{Additional arguments passed to each function.} \item{.env}{Environment in which \code{\link[=do.call]{do.call()}} should evaluate a constructed expression. This only matters if you pass as \code{.f} the name of a function rather than its value, or as \code{.x} symbols of objects rather than their values.} \item{.options}{The \code{future} specific options to use with the workers. This must be the result from a call to \code{\link[=furrr_options]{furrr_options()}}.} \item{.env_globals}{The environment to look for globals required by \code{.x} and \code{...}. Globals required by \code{.f} are looked up in the function environment of \code{.f}.} \item{.progress}{A single logical. Should a progress bar be displayed? Only works with multisession, multicore, and multiprocess futures. Note that if a multicore/multisession future falls back to sequential, then a progress bar will not be displayed. \strong{Warning:} The \code{.progress} argument will be deprecated and removed in a future version of furrr in favor of using the more robust \href{https://CRAN.R-project.org/package=progressr}{progressr} package.} } \description{ \ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#deprecated}{\figure{lifecycle-deprecated.svg}{options: alt='[Deprecated]'}}}{\strong{[Deprecated]}} These functions work exactly the same as \code{\link[purrr:invoke]{purrr::invoke_map()}} functions, but allow you to invoke in parallel. } \examples{ \donttest{plan(multisession, workers = 2)} df <- dplyr::tibble( f = c("runif", "rpois", "rnorm"), params = list( list(n = 10), list(n = 5, lambda = 10), list(n = 10, mean = -3, sd = 10) ) ) future_invoke_map(df$f, df$params, .options = furrr_options(seed = 123)) \dontshow{ # Close open connections for R CMD Check if (!inherits(plan(), "sequential")) plan(sequential) } } furrr/man/future_imap.Rd0000644000176200001440000000763713741124570015015 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/future-imap.R, R/future-walk.R \name{future_imap} \alias{future_imap} \alias{future_imap_chr} \alias{future_imap_dbl} \alias{future_imap_int} \alias{future_imap_lgl} \alias{future_imap_raw} \alias{future_imap_dfr} \alias{future_imap_dfc} \alias{future_iwalk} \title{Apply a function to each element of a vector, and its index via futures} \usage{ future_imap( .x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_imap_chr( .x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_imap_dbl( .x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_imap_int( .x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_imap_lgl( .x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_imap_raw( .x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_imap_dfr( .x, .f, ..., .id = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_imap_dfc( .x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_iwalk( .x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) } \arguments{ \item{.x}{A list or atomic vector.} \item{.f}{A function, formula, or vector (not necessarily atomic). If a \strong{function}, it is used as is. If a \strong{formula}, e.g. \code{~ .x + 2}, it is converted to a function. There are three ways to refer to the arguments: \itemize{ \item For a single argument function, use \code{.} \item For a two argument function, use \code{.x} and \code{.y} \item For more arguments, use \code{..1}, \code{..2}, \code{..3} etc } This syntax allows you to create very compact anonymous functions. If \strong{character vector}, \strong{numeric vector}, or \strong{list}, it is converted to an extractor function. Character vectors index by name and numeric vectors index by position; use a list to index by position and name at different levels. If a component is not present, the value of \code{.default} will be returned.} \item{...}{Additional arguments passed on to the mapped function.} \item{.options}{The \code{future} specific options to use with the workers. This must be the result from a call to \code{\link[=furrr_options]{furrr_options()}}.} \item{.env_globals}{The environment to look for globals required by \code{.x} and \code{...}. Globals required by \code{.f} are looked up in the function environment of \code{.f}.} \item{.progress}{A single logical. Should a progress bar be displayed? Only works with multisession, multicore, and multiprocess futures. Note that if a multicore/multisession future falls back to sequential, then a progress bar will not be displayed. \strong{Warning:} The \code{.progress} argument will be deprecated and removed in a future version of furrr in favor of using the more robust \href{https://CRAN.R-project.org/package=progressr}{progressr} package.} \item{.id}{Either a string or \code{NULL}. If a string, the output will contain a variable with that name, storing either the name (if \code{.x} is named) or the index (if \code{.x} is unnamed) of the input. If \code{NULL}, the default, no variable will be created. Only applies to \verb{_dfr} variant.} } \value{ A vector the same length as .x. } \description{ These functions work exactly the same as \code{\link[purrr:imap]{purrr::imap()}} functions, but allow you to map in parallel. } \examples{ \donttest{plan(multisession, workers = 2)} future_imap_chr(sample(10), ~ paste0(.y, ": ", .x)) \dontshow{ # Close open connections for R CMD Check if (!inherits(plan(), "sequential")) plan(sequential) } } furrr/man/figures/0000755000176200001440000000000013713033725013635 5ustar liggesusersfurrr/man/figures/lifecycle-defunct.svg0000644000176200001440000000170414065375131017746 0ustar liggesuserslifecyclelifecycledefunctdefunct furrr/man/figures/lifecycle-maturing.svg0000644000176200001440000000170614065375131020146 0ustar liggesuserslifecyclelifecyclematuringmaturing furrr/man/figures/logo.png0000644000176200001440000337676513713033672015337 0ustar liggesusersPNG  IHDR bjgAMA a cHRMz&u0`:pQ<heXIfMM*(i> ;iTXtXML:com.adobe.xmp 2 1 1 2 2557 1 2206 Zn@IDATx]e?gjHA;&b*H*R:dBfR@GrTJʹp@D@ZR QZdb)S~>?ffz&${Y+ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @/>'rZ @ @ @ @ 43c2t)/c3M @ @ @ @[ȯfe޼dGe+_ @ @ @ @TV=̢ Mkd  @ @ @ @ Ȟ;2fnɒȬ1 @ @ @ @* А=:%K32 @ @ @ @Nd_evQɲg֩ @ @ @ @X+;gAfY,kgf @ @ @ @%hfYE$+x2 @ @ @ @@ggVdɊn<Ȓ) @ @ @ PY-2+h;qΈ  @ @ @ @E#ݵYׅ3 @ @ @ @@1?fkHOŬsl9c @ @ @ @G3=PH @ @ @ @*+|f~>6Lj @ @ @ K82857Y-c @ @ @ @t@Ckd7^җ]wT1c @ @ @ @O2} }w;tlN @ @ @ 3^Q-̼̾/c @ @ @ @,@kflϙ",^IJ @ @ @ @mǟb"t6n&@ @ @ @TV`?3E\QnNA=S4N @ @ @xC``~)"ә^33kg  @ @ @ @@ۣ2f赽~gZ3 @ @ @ @}QG{4=?^g  @ @ @ @ l_)ӂzcn]3L @ @ @ @@ ud^˔m!G띗32e  @ @ @ @@)ꑙ2e\QGe2 @ @ @ @4;egʾx'aҜ9 %@ @ @ @*+~v~a3S6ꥇ9Wf6 @ @ @ @B f5c3bz㕜LA @ @ @s}'3P^{mטLC @ @ @ @y38 }OA @ @ @5(32 2UXQ=v<̬1 @ @ @ @="М{=*\cT?弞i @ @ @ @nhLdTr?mg @ @ @ @,;2S1}ʞ'@ @ @ @[`ܲ#3'cFu Ȭ1 @ @ @ @Khgd~΁|i @ @ @ @)#>X7Ϗatx @ @ @̢ |dq5yl1 @ @ @ @ ϾO%㲤sӱA @ @ @.y;3=P9p_C @ @ @ @ l,Ģ[5yo1 @ @ @ @?=R8>^̪ @ @ @}r"gWy~4d  @ @ @ @>nbe]y ;vA @ @ @*+|FfAxXz @ @ @XJ|fox9:22 @ @ @ Ca㛃K @ @ @_=hM}]e8 @ @ @x9_=椨~0V @ @ @ @h̎d)en~?c3M @ @ @TB`rV?W9*9p~?ğ$@ @ @ @ ';Y)it\[d  @ @ @ P7̫2_櫌>Y5c @ @=,= l @ Pi~d?2eZ2=+P{k!3gj h  @ @jo @ @@ ]֮[ Xc3w,6^J @,@R @ @X+_V[pE'KgUzR`홙z@M @(V;Uu= @ @@Ons|`(@3dZ3wfd  @ @`jgmN @R`x+i P 'JQ"  @ @@,<)( @ /eVx~ㅯT,N|p\=1 @ @\ @,*008'@ƢEu|M<{fe.̬]UJ @#TRTB @ /Pљ3#2] Ծw70c @ @K!V;K% @ @ > 3u-hvwbRs @ @j  @VNv5F[g_&' @ @b\x,$@ @1 2na P--c2kg~1 @ @E,Y{f @ @$M%S @ @`ys#2?K` # ̩3? @ @NjN'V[ @ @m @@<<)}pl$@ @"෼zA @ @6]qƢ^w8.e~v]' @ @j&S+ @ +A[Lv IqTfO3s3 @  Ob5A @ n%;2sufLs @@j94RfV+c @ @R ޘ3 @ @@v/|M ܛrk @J  @TI`l̝N4z%P;dflX- @(V;Uu= @ @Yqfj N\3 J)PkQڟmwed  @ PoΕfJ @)Ov[Mh @Ξ2e?- @ @@ XxR% @ԡӗ3#7- @`Q[򁱙ً>k @ P4Ƣ @ &53 ƧԵ}uS @ @@J߁ @ @#2?|$' @R+Fw7> @Fv 3 !@ @7>/lG.x~vR溿? @ P1VIP @.YMN^']`̍mO @ @@ NO @ @@m+2x @6gʬ#37c @ @> @uLޙA,P{Oȏ“{2] @@M> @Nydv;Pi\:MK @ PpƂק< @/ 25SF @[ @ @3Ԯv ` @Y-sgf^ @ @=*`I9 @1^!uO<#^{xG _ !Вw]桌A @ @ @ | +%% tР\}mϾ\wM];츓ssρڕOv @ @G\ڸGX @X3oqJ j~u׍O==>}hjS+~Vg՜j.0.Ϝc1O @+t @#Pe4f hniC?"yq督qn;[lU\v˳;2ND0 @ @`\d  @"'ma(FĤ)ScÍ6^kW=9wڔUW.6 㟔px @ O`@ @><=53kph,G)LO~g|vdk/pSr\?# @ @@XxR/3 @*yS2gdjm0B`ēOC;< UL?|׎<339 @ԙ@S @Y5Od'3@O 4jt|ҙ1taX;o4446n5&rf ;;Dj9237sOv @ @`\d @Ro|B4 =&M[nu'gMuCӁtwn  @Թ'u>#@ @@7lnxMb}.(zK{t1z@NU* @\v| @ @ N\)cI"Xyq'.zm 7(=&fw=1wnN&RlUY5sWf^ @ @$`?x @R`Lȴf hll\+ QscSS a̙;'=+ Q"@K>[fL @Eo @ 3J%뇆Ƥ)Sc_qV[7VXDg̝9hh(7p}Oh~b#[jN @ @zG3g @@6 Lʬ޳w'п8E~oǽK.Ν/R/+y陹+' @ @@[O @X!dFgVZ=٘@/ Ԯjŗ]#>hnn#ab;Ɓ>(^~xvA @Zg>]A @pœ N  @)p~P*AoNwڹTu/K̞mg?kY6ZEq1." @= Ozڑ @ kdgdN~S P u[/N:8hhll,E+Rd']suLhʶz[`AL[> @ @@N߸;* @zStΌ`"himC;%=hjr77ۼ ~哩{S>'PtyY722/X @ @ x'g魼 @Ebd˴d hniy}E^~hh466,!vâ%˒ އ%sHJ @epœϠ  @ 1$fdvALv#&M[le.Tկ✩gǵW֜J%pwV;6sGV, @'D @F`̱W,ʹ)t6Ύ^0I'G= ^];-+Gt @v O  @ |>39ZtkBy1M{ ,X w>(+Yys2sP  @ @~#>#@ @@gWgFg`5hll\~E==qVԜ >>3jt̙3'|`v,\'e[ÙOgjW>qD0 @ PW<)L @ lg>^uK`aqzmUxTOĤnnP1q+ַv  @ PJ OJ9m&@ @B3'fܛB_V7x8{J[xJߋ*% (3!\:, @J&ڶ%0 @ Pv;muFd- 0 wb|ߌmu"؆n\37wnRwp9{3 @&'E @ @ #pAf ehhh'S+Wb|/ƥ};:;;+׿K-hV_B @C OpRD @@iޛOԮtb(Cc;DDŽqםwTB6KeJW1 @S“W] @ P.Yi3+tVY`w;h;+>9](7\m㩧~SU\ey72geRe @ @^YP @U~d~A96b|fcUVY%ޘ7|@ji94RLW @ @>H} @H=I. ALgO?'l.~>erWEW/G,e\┤ @TG“̵N  @(ƌA4(&M;k)U ̾vf{˿[}jgN59hnVg\G\paWŔϗxV]O pn˙yU? @Kvd? @2gVK"P[drШKg݆EcccI*Wf_ 4446n5&ٳfEggg_Vpx/3 @ x6'@ @K()Sc˭.U݊-/|2&7 +NE,pS>}B%̳ @ $ O9 @@&fNϬ/ b l&q 0Ք^[oc TJ`~vYTs @ @,<&H!@ @2GR潕ZXmG.Z[ S`^N/B1T >|;Q` @ @`i^G @S\9):ehll_vE|#{FSSsVcIb㠃GŜsٳ(bfd>y8T @ @pœ@ @*/~ g4V^@i>8thL2-vԬGYmq\_jR7ެ @   @glٙoBJ!ig'G _I"ohOuީL狙s3Yo!@ @@ x( @:]n&u֗vXqqDZ'~qZ+yb%yN^z-Ogm2U@ @'oa @*+uv̈ ht|b}㬎ɱ{S\-gύ~Xpamnff @ @;,:={=#2Ej  @+"`Ɋٖ @2E~%kU#@sKK9qgƪ@^}-:cF̛7/}Ym\ @X OK  @(Y̨j]IS[nYmXD׿U3X_(Y_R @ @`9h6!@ @2mU ]I`6SbG}Jv[O>O@^-3%r U @U“ez @,O7#qT7 q'đG-o~ {W\_>-^xy R鬪8LW!+T @Q“er @ )}VU[p{!S477ǧ>spvx׻Z+?^~媵r ܟnskP= @(`I=Ϊ @W`,}zv^)a|s*oTe_LͼTK @@] XxRӪ) @'dRUJ qǧMMM< Ԯxr5W㙧.{;ꯖ3e @@,<)t( @@ddUk͖Z5FrhzXuUK݋ xڿ׾2#Ν'}EKY2UG @@ XxR3/ @xW61slƥ";O*[D`^#bi 7Z_ PO{8wڔUWS[zO9-oW @I“"͆Z @Է@K̤ݪI`7Ƈh=Ao ~4B ՜qBMb @ԯ';:#@ P$Y̌6E*J-$qɧ!KzS UL?|v:x"N @pYMR @ԡӥ3kaZC斖8h3cnâK#l]|fԘdYٹ4z X3 /l @ @@I) @ gdN̴V^@iGtL[nuijV(''gMuCԑEK= @ ' @]bT拙uVhO6&ЋoI>~B~xT"@zK{-/fۓ3_͸tO5] @ OzN  @TR`zFfp%t)V[}8qџ~A{߽"Ν65^|)Q ,#Yt.ݳ|~"@ @`E% @U=A7gϬ{=hll_vE|#{FSSs_X) >:xT̙;'=+Jܑ+$vZBݎ;31 @ xt6$@ Py)p_y С1iʴfJSB (/<&Ms_ C`^~̄Kxg @Xz O+  @@d/ qڙmq*~*$@7p}Oh~J .Vfa%4M @r Xxt6$@ PI!n^ӥ߿sq _~AK`y1sK/Dfޝc3wT^ @K-дԯB @,V6?=F@b}/Nmg}Oy@M|-u* @^ @@>]TF-N>%=hjr!ϷR ,\0~bxgKك++hv~b h @W&v+ @ PکL @9/c<nYO{Rtǣmu6A,oEOe)Y 6w~{O?y RveBV( @"M @B lU}93)b80N<8#E4C!R`…_S:&?_]Y[ٕ8 @>.aO @TR`ř+) 4AFǷ/CwA  ͶgFyg͊η3#QRf3d  @zQ“^v( @ 4e>D0/0l=^_pό` @r [i~=la ,@r=gg\=؈ @ XxX @X.rdv]mD`8̶8O,p Gx7.sj}mk] @zF“qW @j lNό;v澴0 >wqq _~C з͋\;=^z饾- ,3^ͼ @E} @,@|əejW;$b 444ͼ -8ٽ,'rZ4jt466!@=*Pu\S:ۣDzs,pWol @ @`),H\{N%ve8Oŋ/>p22wd:3 @o#'oa @)0wqqqگMtҋ/pNt@ Ԯxi?Q @@ x'  @zD%z|G=2@cFƥ75" ] @@o 465ŐvGsgEW8r ~spLkLg @ PWxRWө @ن|`1iVIR>;~ڗe86ex"7jY7z @Eȳ6 @e"_|~˲Kw~>~B|rg}9M룽m|@@P 8;"1?X ̅  @(؎<̍  ,X(I5Na@^F9ҤY3q.@@8ר)ٸaקߣ)yCs\@@@h}z(@N}yMWM:v9u.K U 22RoZnM:(;wlwk.54G44  F ;#O E! @#tMk4Ez|fd/oі@O (;㩾izup[wB  `+O+M! V \O ְCէ;ŗJ$e3O 6 E %+=Uoc MgǓyq/I@   QS u! p.3T7M[_@hݾg>9Ҫuy}(@|RN]]w߲yc·HkDihNh  ;)@@yHS lhӶgeK|L  p}$S3ep/7!`ZYfR  gXxSM  555:B UVIҡc3M  `_$N[[no mlft  ` OL8 Ԁ xO N[qf `%eȐae]wKTTR  ]ĉ̂J:t G MfQ@@,r  vf.Gandּ]$0`C@ pޯW[m[HAAƚAc ^@@;Ǚ  Wiz` `ZIzfԮSז@(K$y嗂8+S!rwB~$    @diNX!PR%7!IՊz)@B+b2],|;bv+T(2   tC@@N5N3^i ݃a#$:::tbf@ND^̞9CNɑÇ[W?{Vvf*8  @H!@@(,nN,tDh-.]eƜ7^F0C@4jDzS=";yG @kkS4p  <v< %3! 4VV` `@ %=3[4mfKԉ lݲEҒk 8oH;o3x   `9@@*44~ PAK($g  p!+/ {.<pv>.༟\_sXYSa  x\O<}@@@jiZ-ڴlY-%S'  pV?@S+@@ Zjk$@@0 $ @0L֓aNYʕ徤rsg~"  z5IM eq1gǓE璭xwE@^KR@@'-,8Yf #ǟZ],! (p5J>}%\9ٰ~ͽxap=~Z @@C,<ɦU@@@:kjzj5 ҭ{^D]/! +Q&'“[6Ka"_jijj  ӭ9Ѵ t4lXҳObM Ym[%59I־fgf:B*>\%Gar@@#Xxbi@@ dtT` ݅)PbE,$Ӗ@@^˗IjRMP 1}^k~@@/ 惗6"  U^00ZDr='gH Ytb٢8@@jդW~RT)ٴq?~<%p<*"'??@@\$]t2i@^Fs." jrS..W^y %S#  PKypRPl*@ Q"@@['M@@iٚ+@WefK-0A@(͛%%i_v(VzZG@ OFD  @ #ܧ.*80EeҳwTx(  p@aa"{}|yZۣIi  !8@@3E}5/hnDh-% 'fΑ&͚s  8?Oר)ٸa_<8M4ܡլj   [^ O%# *TrFCN-W_s55S(  `}&S3e@Z*KL@@SXxr _" Ts45,g D6)Kڵ@@0 (;#r"Tg8(1   @Xx",@h:0MEAl\=V$W 9@@N(((8IVz߿1NJC@^R@@%ID_.z] "2Rz#O͞#ZuG@EI:uv̹Ζ͛%??XjA RZWsPU@@0XO >9 h5m=/5mڶlQӚ)@>)ٙt^i>!Vqd  (O %! ʩ@fI:tdGT xX`IZrzwh2wf_N  XxSL  `4MY .)SF .['@@N8!,;dɡCLX!pD&GkE x@Oz$" X!AƹuS~t =- @=h@My^ҳWo9{Lm"Φ ~U[󞆁  PxR'# @&X#вukI%Եf E@y_&&ɫ/^Xl7,A@%ooE@sJi)c4i>9J~FbJ2nBt|  F˗dcg3 VijR4_[Q1E" .`N(  ~~WK@ll=x 6BY'ŋ@p<=sL#v{$Ú|E'  KB@@5ʹE!gF |>KW9wto$""z)@@ 8@@5n"=n)G#Y@NkMgN'  @$ @t7' |>p(! \jSG  `(k<$&&FgOjש+}HshQ/5iOvh   'S@@*&K`@$#{Tw^ @@B'29k,]g `KZ;TL  !,<1DP X!PVO3R|2UUԌLï@@%ƪU61Iv'$77Jo  @0XxLMB@ 8#y@s[/w )[VF' w5G7  E %3-E}|kNR @8@s7  uv 7ݚ^ǠE&={'g͑Vmڊ﬛b   P<>Ojש+={|y&)}9%$h>|a  EO  y+U [tL9ZefIZ(*@@<'HFDyi?=; [-Tmu H7QB˴  `@V>8pb `+}I.]@@pV&Mv[ki5m):@@ppp(s @AYly>R@h%K#ǟZ]+!  p5\+rdur<7ԻSkih6i 5 @@x  45@/$eHm(@@8W_?N}@fxJ8@0uZp[E9  @Xxvr  \L ְA'R.аQcO  nxgVIMNo馶Ύ'4%{twt ]'g@ps{5K&IBŊ2>1YnI!>?ƻ   +/ԤDٳ;8ML3L*C@B#oCʬ  `@-!M-sK2'PD gPwp|  9fȑ#.\&Y貾h@Y,w" jh/j~뢞hή&7u"irWSZC@@KypRPPprf l3,A@B#“и2+ #׌DS pvzKzV4m@@<$ufII ׽irZ MfP>  ,;/a   PXX(/D&g{p3"`WZ` N ຎh@iܭ)  DFEI剙sIf\f   8?'ר)ٸa C<Zү5=4j>0@@W mWNA@W@%FCN-W_s55S(  &|29k,^PPX"TȒz)@8 OI@@Xqf&Ƃz)/i]@@@X$vT*p\f曰! !`IP@&,]3Usu؎ʁqq2rX?p\"(y*  (((8IVz߿ |ih  ,LJF@@8z<\` ΝYG@Xxbx@<)PAN 5 hӶgeK|J  A`GɔLYy7C(6ihxeD@-g>@p@x&CsۥC7TZUR'I=   `UKjRzwuSgL# U,!Y3O  @> C@ \K&ndּ]$b9@@So ={cd-RPPp##hU״lK@@`#O E! ygI^M-[lUR   ^%=%Y^yi.g|h~JZ@ Op@{E&4M^X${ezG@@:˗IdNJ;gh@`q@ 4uqbccCdmU  8'gΐSrð `.-tL  n 6T"s4 6K|>=ASӥe  .8tLT=)wAGzQ4;=/m" ,<1P (=Ռx_Zt@ %#+G7inh@@~,mVIKNk]|yZأoL-@@,  X,_HNf,^P -=$PiK⡾i@I'a@@yfGzMWO2y-@@@ 7nDٰ~]0e.B)NfP@@,<{@B)Y'w.S%an%WNF#@ i@@\$xg%+#Mh{$\ d !“P [GM'wIwnOƎ /-m  PoxdNKwiBifm{\xi @`IqsL@% di.uWktVjիKjF[[/@@WKjrܱ=GP\ٓ5ή/j& `_  pQ7곧i^,<0 )[VF' g@@@AA,^P2RY{zQC( n`|YB@ t4S4P̎ 8Lz#OΚ#ڴ2   puJ^}Vl޼I Oy_"`/5545 @@HxR$. JX}hk`@k]h%5kն^D@@w|ᇒ,/; /ijR4_{azD@$8̂ l9;\fTrsh.@@@JU&Iޮw=)pPyXö=| 4 E`IѼx4 ^hMO\>%K]!GHTw@@ ˓3g'oq_tV*6H_  ǑY@p@%m*G[ n<.o.iR|yuG;   :$̞糑ΩGzX}|~i@(HE x@8L)~i 5qd    lg&'ɚ70TCo?i25G~?@@G'@@TsYʧ*PbE,$mM=Oԅ  gX|&%ʞ=܊y{$Js5GE  Pv89&  4В'm+@%!Cޡ%&&@@@eάl9r$,9m)Vk?  q}@.PN&k԰ˉ_ jrs2cۻ׮k4K@ xQ'^<h v@IDAT Ux&m@dT_ޗ(KxE@@ wɣ?$<4]rsH"Lz9GA@w@B.PJYq Сc'3i]@@O 22RoZzS<(a_TE*K5oiX5 @,'n> u$5k.:!P=>^&eI7Q0U"  aX$ƣr(.J>{aMEē@@X{j( @h~HfIl\=V$򅉝   xBJO[%{T`\~uO Z'>4 AJs鄿=6o1Kʔ|E@@MѣOǹI\TaE}"G@s8@(@>xYMS Na@dƜҽmcvT  &%׷j-]~{ٿokaRg[Ԕ֬0@@rޔR> *Y\VZ T*r:_+"  ^&%ʮwwR2u"$jj @@{Xxb﹣r@)4M(Aΐa去Hd@@@ 'Ng̗)YrNlNmzfM  J.J]F@ 4i'k\a `ndּ]$GPO!  οo ={cd-RPP`m?J@MU[# X$',JE@ ܫIהVlZ3V:VK   >x}IOIW^Z馶GM[;@#K:Ap@moۤ;TTIMH=nuKK  X+b2I,|(shlj뜆@P'4JF@v&OuM ݃a#$::>(@@p<=sL#v[{^w"! `@@W ծ4s44 |rKB=iбDDD]/!  ^ҨqO͕[6Kaa>*Z+5k4j  `;vB(@~y@s5B~Æ#4^D@@ٶu%'5o- Ú|[N@ /ezDE:]SߖWT %M<Ӊ @@@>˗IJ=O^ة,*}# `vF@Vgn+cbbdwQdɒUO   ?8vxqѣ?0U`6L @(}" `@֔E'0[CN2{_]$**b@@@"""ipmrywzBhk0@@x9$ k\y ^=I̖-^D@@p-6IJٰ~݅O3zt͓! Ox  ^Fz=,GCʕK8H6˻0E  'PXX(-|V2d}5@^pVK ׼UF@8x89& .զs4Oh00Z "2R&O͙'-Zot   \'ԕHq܃0ST8Oh  b@T `@ -Ao,8]l\=V (w   H@/Z(i)r˷+V6B ) @KԎ'@Ӫ4s455 pG5[Zi+~?W2Q   `uJ^}"l޼I 28@e͕o5 @;)@B@@@8'gΐO|cgTEpG^l@XN@@yFcӮ~_uOY"~Q d@@@[4jDz+uf),,|@~MM )' @{O&&kȭ_hci'5 C'n@Td PbE,$l8gԈ  ]`e${>ҟ{k+wP  338܅ y *k-PD gPwp1VC@@@2gLy`r9r{tlsE1=66@ C p @,zhӴ԰PS 8ܥ̘;O:anT   Y@ 7[{ѣGemRX輯@Xu4wiќ0@@H;/@PΚi*h `@ $=3[6knCԈ   nެIuom|j}ɚ9Iy U'a`  ) \~2j8ٻ\ 0|   `ɋ/,̴TٻyOh#4["@ 10#/N0Z @dT0P5G4m&ev   *6FMշDFFȦ dbPݕW;45j xV'=4x^ BiAÖ0[CN2gn%J0@@@p@dd\ߪ$S<(ýΧk1:c&W@ YpE8),4l/i]{@@@@k|CRd;,E`62Jw4D  OW!A6IpC3~r2b?plT3N    E %+=U]|+a&Im Sw0\  ’4 4 텝&3fϕ-[ϕ>a   'ԕ>O/9)֯|dl& @Nͥ75 `ቫO/!pvrv7Y颉00ZMv2c\66VC@@@ QQQr}w{+00ZyfP@@\jǕ@Tf% PjUIȔцr@@@bXuIKNww(80EؠY]p@`"@ PQ$E#PlY'_v5+w"hZ@@@,8'gΐSrÖUOp5_3Fϣ `oY|(@dfǹ#@(>.S|@JIz?PEbbb{cOΐ  NP    TVMz/JK^^ީw5& TѢ\q0@0N'Ɲ B]#RKR@ Җ5 4>&PdI:bO쑽/B<(WաCߞqҥK?X+ɥ/\*T(UVjz܈  wWe$??߻tnA-va /Z" CY Eʹև4-R=,Тe+I̒:u#gƍd޽!o%Hjդ~ҠQ#iаEm @@'iW^.&I v.mS/ Y,<1|P  `@%-6Gt'69ZbE,$G_mڵ_wm#r4m\ڴm'۶j# E   ~˗Ijr#"paKi4/< @W#Eէ $kJ< (QB2T!=8GC8zrť'̇9 E(vS'bg@@Rz<=o1;6KftgOfe @Xx"XE\&Hi㲾hǥ4쓗pi+/fϒIu[o^   7wek.=Cmmcf;ڡ @P $̍/ m!E3X:pW\!ƌw{km*On{*xmD@@ K$3-UԳ4n<8͗VUN a`IX9 `@Vz&]Sƚ)ԳQQҧ_7!IJ*YG6  /\a[Az+_ L   |wɟ5Wʂ,pT盪ynCpvI@ t:,: 2._CNڛk$#+E'eFB"pr{-z|͐83)  )PD 5vZNnI!>6LQ)%T;SnK@N  R?ȟ*PzoKdּrטZ&u!)3Jnxګ/k6#  Q +G%X. 5m[&PM}VRSײ)@ ,< !.S#:'kinf@\\9I̖RZla ZGyytiӢ̟3[ )> `Ǔ00s@@p(\2eJY*{ 8;Oӥ[Xt3NNgvV@@@6mO.V2A/.n"8;n`jDxsxCf@Lp$h=9j"5 ҭ{̜@ڵKO{( :tP_Ξťu~s[4ks   ^r{>r1ٶu54G44\W [ĭg@FY5 `@֭e˯GK/r3ʭYP  X#Pzu3R=>ޚ)M74s4WxZ@ 8`` Cν %h.,+w"h7JoVdN|bbbd=\V,̍  N3d7߸[sQcfKz @,JYuK״l'̋ ,|/2j~As#v@ Y @@8M$%ilXX8;|dVYT cX@sbq1E%Y/cmzFꙉ+_H&?ke]zWL-@@@Ύ'/D2R'}.ieǵ45߸7A\#\s*i\$, L,tp=KE`+)'fΑ&͚7X*C" ߷OnMEz>@77|@@@ >OkԔ^}INg#0Apl9٤Q@L! "aYՀ `@7ޒ)]RAD^=h8g_ FOʌ   y (ݹv՚urKB|CX*׬մ,J88 OXxn@E֣* 8(EV}5o\sm"<"-)Iv[k]Yxb9`@@(PR%ȣV:nl'D[ZÛ;t 8s` @^M+##p~edo@*PƣOW^޷ߌ^^½2+  \@AA,^P2R2A L 9 Xx? B-YGMp!PTgɭIR/t :tPnlZgQv-}e   Y|K@xZ&Iy㫥@@E\jE'V@Xl&Sƞ& Adɒr׽e.8|k\_.?9eR|y)Q|>q>l#%E剳_[g>*tzAE*ew!Q"+J,(uEJQ:^{ºvEEB?]ޝ{o>$;wfG\36p:   2SќY3M;)dB\ఞ:VlwϞQ9wL@ Kd@ 43'h\8 ˟:vGO#6D2 `ȓӦZMȓ'Խ\yuYT\E˗/9qO>wy[]/SsI6,~e0D@@k?|XƏ̙>}ښHLs4^Bȥ't@ h a2lHU)&dߓͯSNL2eM7E~5$*::Mm[emi9t eRb @@@v mO8'V޹@ pΒ@#W<4(Y tL윾̈́ɒM;ȶ-[(:?Vn\פUlo,_T-\ ,>:$Nǵ@@@YR<G'Yg,:H _@_ Pxf D?4:t@@bcc{=}I' Nԍkg0wȨ(gڽR|ɓenS:r$!@@@ gɸȑ#9zOig"@ Px[AGDV ׂaaars2hp1[Q@gϞmZJ[UX3gd3ː#ϗ@@@ |ʳ7 p2.&E'ޟcF(]ѸS7Fz@+#GUW7Ш F`+ۓrӅ#/P@4D&uw\@@@ c7xC<޵3x{j*4k|bOZdKw"њjۑY @%-upj2%`>}\5F˔=%EuU$  IbR1t|4t^4M1; 2Gp\p@;|-1B *:ZnSf̞ʉfXj|ro]='Ktń$  VUZ*"嵽{ԩS`,0˫~ @ E(C PjhѪ 5Zʕ+|IB/бC;ٹ}[/+" ٜ   }&cF>*K=/f5.ب9ާ r%E@q O@ i~C4`('Dj_^G) ]  o3|޶'5Fmi   @6'>J6Op8}FHk"nwKX ROE'@W !Rtb4kdkrT"?7N.   KտR^zyL4E-꒬I}n}4@EPx|/p LШ{ ϗ@yRԯ+~d.A[nL|G4   d'dĉr 7'_OcΈ@><Ý1Vh(Фi39wtEbbb8rFfϜ!6npٻܿf͖ @@@kQF|՗YT5[5أ @@Xɫ5 TRE{Tnl\I5rK켌 Nk6n2eʞ(_"  xY`M20wRS5ka1@ gfo2 WS|q@cE'@W@2p`Yq3E'N!`ۭ/:1#F;@@@ \פ\AƎ/   Diw}5jh˄"@w9~Zj(w o@xxtL,}R$*:Xqސ*5kն6?C@@[2?O?dwd>i,'^Eƀ.H7w@Vc[&<)81'Ms_5=B@@p.G %gϺ(sRZ}؀#j@>P4(:Qf%Vy):{ lܰ1uV#9@@@'N*W+=jiL(gƎGQJ0 `DE+Pxq;n,_V4D <+jqIttlƳ @@@ɋ+^i3fJҥI"u(=A  * O\5]$69}QQңWn)]KD+X=a$GΜ9#;ovtnA6?C@@p@XXmA6n!?(11|ѽ H'hhQ3P'FLI\ =?ZzZK2|hwxW`~v:t67C@@@\\ ;vK@=`2^,CoPxydxU V6@}na4re2oB=oN!#WwvlcԐ   ISeᒗfڞ#@[;c4ynt <%@ቧ )v:w5SLHa#F-r}9HFxu'W7l6;H@@p]'+m H"E=M]?:cDpH mXQA5lھSz&%{ `ͅ'4jl   H <<\:u}RĬICrҚX+!(<3d,(yM0nbi/M6U7qP!s@N>c:/F^{w|   @(  ֕7KVCWD  ms5Jdt@#@Ip\.hACZ*ɴ3EKZIb ;o-gϞ"&&F]y   *U,Oͯj`n0t81T%{ Px?WG-u 8uHN@x筷u@@@IrUmr\ >=DmY@ ח@Uk4j^EkΒm'1%dYxwxdkАC@@@"%]˦;Gd`qU 5jv4.ķSpD^u͎dEȆ@ƍe 2qT)Zh6P@yՎVmM@@@H( G[ QA 7jiL(ↄ#`!0Eni#!@ s4Ng~("ݴd.LQ7xbcc{=}"@ f6=-..N1[@@@pٳdr7NxOWU%`  ^ 2@ets56hPt{56mA6n!53G G)QE'   D *:Zz&%vJפ}D @ JeC}q?sH@^h~n4{\qe6c.ch >CkQV-ks#1v|@IDAT@@@"Pxq;n,_Vn`犣YJ} B}F`@ $ S`X  /Q\#W]pHEֲ~˶?P\C^lY>C:NC@@X 666o\jo\Jz `ճ|HK45[#i!@Ȱ#aky/@ ={V*--'OrH냕CR   xm@ٻՀIGQ=Nc ^@xtbAh}?Q#נk"PH>]o+jV2͂ >{@@@\+pYy9l|׮Jp3Py_"@j'ׄto;X+4hPtiw@#Gdٶ{LwN#Y#@>ʕ+p@@@,N{_%::ƒH 3 5i\Q<N“߁-\ Ըgy4m&ק![xRd p@@@,“~Vi۾E  4gjL(Q<OnH|Hx_cF k*W"s/g-bZ<CO |nqIE)͢c YcF9c0~_ӫ۶`wd8,p{{W<1!   @M6Se؈Q$2KJj5vj\kINPx:Das<; G S0Yڣ'$&&&y@@[ː7o^ks#1@@@lwɶ{Gd%5@ #-|9#!Gx| D),{v _+pE+eRX1{%3@2?dYFGɯ|   % eҰI\5G>'0}/N'h6oJ,)&MeW"i @vҎfkN!   @j_^GLf=+W>{'s40/ دsEpBT@uh5!22w&KJ2B-p)_={6ԗ>S1?i    3Ǐ'/?YiFYؠOMa! Pxm7tXC5zkDjZE1Rl9$9@vGJv, O>J@@@ed~~E2 3k|r)[ "SdOE'@WNݺd =o>E'N!Ҭ֬tBщCb   .0[Or[+!n8u“p}E   “ynIZ(5#f^u쑻_t=!y4hX+Pdނ2{|)_y 3gN[;HV]cu>v`RWNIPvƵ>?CvD{פiN| wM"N>c#(YcF_ ~S76ShѢ&Jf     ( G[7^x@av7 h 8,`!s7 K+#5RK˃=,:w   Rwɱ?ʱcirĉ_z %!-VL"#y|a9vL9"?i>sH PH><aѣV I(\H+.澡!~jU`YR<c?20fTh觱B ׸C\UT`F%^ 66V>^x~H@@w 9sF{_^ݵK>|x|:tH~>y2Kʓ'ԨYKWOOҠ5Y:!` L^߻G^5?LGΞ=AOsשSWjPM*f<r[v!ӟ#zh| M2frˤNݺҪe3q@mٳdŝ)@Ur)j@ a!Cy4&7k/eX-!mZZQR%ټc 3n ];wD*W"&Mz htSNɶ[d NNufa5[Μ˗/qh5sdؾUl H[n dF/<6Vba M幒`OM'Xyj8ORC ]~Bp؈Qr A@@&`V5Y%Y r::xb:v>fzu{d#_u5l۲Et O[yerY{&$oFy“qxBX2vxڭ }d`z' *UQIè@ 8Ǖ^8_jfFkl(^{Annc  .0[,Z@̜'OxJ./|M%(piYj̜/ٱmw$3ZlAxrYl:Df4,(MHҸOc (@IqU`mlknz^wI߿^vO!  /ByzI|k& ԿK/, 9rD=iSW11< U]ƖdN1E4,mXGc A“ ҥbU,F5^E2|h)W  ]~64o؄!`ݻ۬$4IҺ-I߇͍7d[ʠon;4>ƌ,BsΗC9>'L-Z:رmyuͮm*/իHmd'dii^ 66VzI?uL1#%`n{{p!V;i4h @ OIW@; NE4]ud؈ҰѵJ~ N8!?|f'|+\rR0!!9k*I|<59 yӆ`=}o /u1ɔIO`a~7cl?h4|cdҗd"""WK' .S5nh/x@(YLx:IHE@#pEWW>9||W^@vFo4ȥ@x.t.`^I2' ?2*JzJmH(:|H@@^pɟ ?~{ps9l(E'͆ & &ͯkE'$`B  #6'fe{;oO$@@ ߑ;u"[w~@uM?KvlQ'j9n&Dȥ[ӝ8D;!5Ȧ'p_ $i}Z4{L+kS9n  [PTV:o^P) PtwOKw .P8)`rqM%AȂ+ugCldjHшР!@dþh4hV Wfed  g3c:B}HW&It[(VٔQngo+o'^$yy'F@*Ud%RZvNo^v9AQ4#('PZCaລ'/'?(7o;   f񱴴 nzf!PZvG}-["?Svy86(T҂ÇĎv*@4iLVOa#FI|yoP攪L Px(?H VsF70 V Iβu-< eD  lxal[ɓAq޶eKzi|>W< f1)+~1[2ܱcA㧟[Z؆)(txB 2*Jz&%v%"L<1D[;c4_ ֌EhH5hw5DЈ8PWԯ//R&N*E T  a5 r0R1V9rH6U8|V8~<8ON*cGgϞ?d΁@^ 2i;kڹ|x`d8@o dѲbZiZ O'i|}sH$t*&4hX+PT)0i,{eԿ*k$1@@"ׂ,u O~S=ꗩ 8mX"h f=5C ~$hn~؆Ęgɷ~#]Aتow4Er/P:e2g\@i~k{)zGn O @av.&"X'E6n!:w @@a7]SG@Vxr,+,\ y!̎=CgI e:r[Dٿo=d :-dbjC$P 4ЋmӘQ"Z"@-3Aҋh=jQ"0&mw [b7o^;%+@@|*`CQOK $||: o0:˗$WΜ9x,%yq\ P[?~\nuzMD 04LݶS&uptzz4h ՈѠ!~Bf}?*j:ueڌRLYs%9@@*`CQĊ'G;&|_3(a;@=N+>{ٳI$)E@%d[_uYXC4H:SC Y-XQ I +^-'N ̹=wX OV|Eƍ}r e-ۥ_ņrH}uiL(2B Pxי=Oc/$hd$ТUkIݺ]-   `oކ2I0 O'OMq{^b^N†{X߷O}[1X@r"'d1sNB)K0_hDh'N ՘QX-pYժ2oB=o+_\I@@.qV;f㑀 D[ՎLNczy2y󠣌lغ+2{@0:wwI>)biX.V{_cF幒 Px)OZ*` L5aǦɚ 4iLViqP;@@@6hqرlɽk2~߳uL O;^'ӧN7lМ#~^Y1^b93'! L AuҶ}`^@vW$k"'9{`B~`v T\Yfϛ/.Z"ժUh   %+V)Hzy?{iKLy“O>Hƍ|>%ǏϖG}s8@P ͘kz9('Nء(pN Px<ِͮ,3KRjZ\ @@B('&OvKeg{Y3wyhb,?̠Sx2rĉ[a6e}œ7_]<3/A,  *EA*YZ2{(8(5LMP ?IL“txi4; G 3FudRY  ^aE<:d^gCa=bY> EJYƠ̜;[^߻OX@<&P0!A-kSoꘆh1$ PxPXVhѨq1 *]Z&L"ϿTj֪2$@@H7=Ʈ;g4  IfhY)(9t Ilض++?KN>zԥ BಪUeނ2g\ ș$}-PEGPc徖` Pxb275nv@\\lޱ[:u⚼I@@'rSV0o={6Wജ D;/u|ݷ䴩9&@%.9i'_8@@M-[ԭe؈Q՟ufEIm֙W^>Lx_ch"4~/&mw [kϑ@@@ 46hq,-77oJ۶F 2*J"""~\jœOu| Hc> = >T59|uՓ,f̔eX+!  @8f &{,\!C>=b Ξa<<,1#^@)4WApVX2vxYj4hxpu.-`vFKW {e2>gCxۺQlǔ `ݒD{J6-C}YV &OǞa3|'/`Vld*ΤѣHkd"`I&ǎ]t 2Ԡ!r OBN ƩfK_t@}G_I|2;@@f 5ḣJh w;Vȸdcw(XP#o޼ȑ#rɓ'.xlX"-%|<={D~ddտXOn3gə3gru`lIfl+SJus_0fs'N] 8"&mw3%=tR^4A?j'!T8rzZQ\J AtnH@, DDDd`f=eo|RʫjjRrqYժRXv5D}w7ߔK_̖6DLVqVW7^Qʕ/JU\tuߞwNw~[yU|7WZ@cCsiһdQROի,1?G=Sll`{w'^Yzض@ J>)򧎉2f䣲drY] ZW#Qc ;51[B+/|GKud؈Ұѵv%F6   `@ 'l3gSyKȬuU&亦M$eʔ-[~Z\`VKqEYd0͝$M6+5Ia*ez|V4TV==ر :\֮Y-qYI'+@b'/.^$?C xRv_~47s iM#r蓏СC@\.PT)8yѳ ~5]>$@It^f*i\ OwjkVp= @@@ `ak NDFE2V/YѤS.򗮷IBYEo;ݎ?vA kV wS|qmkRwi~sO#/:n6;u)ڱ طS%ϝ:Knݤ|A+W! `__^zy,~~>T+`YQEcT*-8zWzk ׸pT0~̋I!<$fyg   U Lf+ ȉ'~/Фk$^8rHWZ~M; f[~5f䣲|KfIJ"`!C4&@I(}QuK`@*UdҼEKs%A@@W7w!}YU=޾vÝ_䘮s~[h={Bu"E$ۤ J&Sv=zTVܷۺC}Z#\@ *Vi3f͛e蠇wq_@5hܮqƛ4r-@I }A 0[p?)^ =}J3 @@ȍ=oZXs3\[ R+rՏN9~bcemAF.\ıl='dͪr3+-VLF+7kot  4nD^Y^ӭ/>z|7X p3k|AC lc:ߟhL5iՠDhv DFFJפiN';@@p@Ysmv^q`x^$@Qx_DOip*lsqZhu(:ᎰZӗw6StbT  P&g͛OI6C~jU*ϿlN-+d3&CII9@ dѲbZiZ/PR8],ws*௿~sJp_sі,UJ&L"^Y-u0  [O' Hߗ&M=i!>"?/վ,^\(be_.<,:fN=V1`F @&?Lf=+W>#y +,6iE a_vۘM&٤{Chv {I[wH]ļhAC@@B-iV;w||^^p~$ >!~o_T)uM_wڌRLY%?@@Vxthiv > +Yp~91[r.%?H O̶cǍenQ3L hרqz(< (9OxK 'e +^IG Q 666(|1  jc47+u͍'sǹU4ͅk5j#eeUʼ eR|20n@@p 3e⤩RPaiZ&M4¤{ua{HJ (ULr'y4W^YRz qg\yp2 d_bJ2m^iX.P_ۤL{c5it: wUݮM,-Z    rB2`.{iUY}䘱bV! 3fU6 >W͉@[=1r#@=sL ݓ9P ;&vMw`й  D@cD{Alꉙ LȱszMJyk3  ఀ>kRw}_fv@qn$#i_rܞ;MrRK$ШqcYnL1CE@=U.L-X(~FL9 L6 l@IDAT-ϕ< K4hACJOlޱ[:ube$  JcU,玁 rmR\y̮!g JvOd @F-[ԭe؈Qa< 14(<{ZhziL(hwdgIdÖZx2@bb#  ;= y\P-@\֮(Pʜg@FLKR픮I%"ϻ[39$r1|4^G{L.ojѨu|muՓ,f̔ek4@@@n.*0[bӟ1QYɴlrnƠUwb xDX2vxYr4hxGF0<,`;_{O2'vMa5hX+PdI0i,_Jy   /d #gϞ x0q@V)Pr: u֕%VȬn8[DMS1f4>Uf )Qy}Rdb>O)LV   @puo%tl>zy:"K  `@mdm2p`ɛ7 tfOЃ)64 OT69ŝO X~/zh   $̕SNPȕth qt(UTIkҔYD@Ʀ8uNؙ{d^=<: 5ԂĹI(Csipe.-P:e2{|)WO@@@kJƍEnn2#.^w&{@PDɒ2qTYjUX"POHXQђ|'X5iQ8pFJFz@@Ȇ &hp= W^I$4S ~}y2a14,0h`&“Т˽ ZwMȨ(+Y#=G&!#  V G+"){{Ğٰ7 7A2C@BN]{_%&&& A8$*n)< H}&4hX+Фi3Y>U-['!  dOh܎“J+nwӥy@@\\ uJ<42Q:9;4'D]M{)zG wTȳHjrg#  X'pERl9"!{b{fL'ol @&PbE6c}$Q!  xL#'z:X!rElfx@, ^jJyzX@F`a@[NsQG@]_߀v6Ux2ZC<S   `(iߞCMiޢ%o lNNk5jhą  a e2&!``r* Nz8NCFIɦ'^UoVK9 hJ>_P&N*޽9wC@@0@-DNC0]f0C (8XZm[uhП:7`Z9ED  ^:o~=@<'&AARJKB  `-@E  ԭWO>h Q.YO7@?znf.ėf,{ tS] *22d   `(CA5b1VdQV5!D  s||庍o@>P^jQ@5տVF+ \LK/C {@" n$k7mNžF;!_TcĀ@a"_/_%<;N rQaa<   Mm9i;+kY+;j'v~rG@R#GJ>}mi@Ҧh]^䣆/#EIJx˿"_so ԩ[W#ɧR~}EN   v`;Ͼs+9}?{@ ԬUK^{m5sijBTTߣS9ܢ2ܫգ-7DI2ec:ɫ8 @@@@@@"бsgYlL4Eʗ`ÚzY_!5o4T-R}굽7B2xݲjF0\4@@@@@@ZA|x >hV ^ETo(=]xRN%2QVRW:uV-].Ͽ8EW@@@@@@ IYbнE$- \r٦{WTݣS'z0@mLjȐ1      ^Nݺ2O~(\@׃ܥǖD *oT:])1edһO_cIT       `8vnjhG@(?ީ<ϻ; OꪨfDnpއ߀v6Ux2ZC|C@@@@@@ ɰnVzWWkݺ; O"TPOK0@ddk8 @@@@@@!SNyv,jmA䷫>Q2(mIGupnj0Gko-_,Jt @@@@@@p@&Me/K'iX HTuj-<; C t6H>} #A!      u7lnjH$F&VpKGi OKNs,_^P dE        ``0\V(-5oy#FxuUhڬ|2      vTq&p(Z“}8jLXsE      UOz++nR(<؄-n=zʵgITT'_@@@@@@0@XX*<-k6n~.H!`f O<{6^2c2z6 u@@@@@@0@UegsM̘1#cʒkKM;"       Q.Y&&M=SDZ 0(Hޟ 6ma % @@@@@@@ Y91 D^$a O1Ϧβ]e+gIt2΅@@@@@@@"""ThYjӷxC Pxb ԑ|(3?T7*!#  }xwn   X_VڛoGs>W5~dhj OL=} ^jOҕk[L@@0@ff't@@@@<:_+Ͽ8^ʕ+oVj޷߀j&yl쀉@@ dee4sF@@@/(ܭG(CO= # Pxbٰq,:urTM$ Ol@@@ԬUK^{m\i\ʹ\(S<=f,YFЭ9  ,՞㒕ٛ0KIF!   `w:e+d¤)RBs (<)!O CU7ʰᢿ!  g"""<{RNN8Qz^RSS=14c"   ArFylICct|,Z\q/Oe@@ &iO4ѣLpN:%999@    ;a<ēdj{R\,kծ9U z.@@@ n_}W O@@@FG<'WF0'q    /$˺[e PEa Ol3Յ'ڢe+"8y~"G@@@k1y^_rxPO<    )'<;NzPjU0i[Xt @@#P|yS@$_}ed)#    Q.Y&&MX., Pxb)*< z۴U% O  N Z5ǼeFhu^  ^TIKMq z!)QxH^4@(8H֨GzLCJ?(#T~vg'eʸ>W"  a_xi!=wc*9" ^ 3'Oȡ9| '^n `uUx2ZZ#zΏMo:u3e'JW,zE@@NjΝ;$--!Z:Y3?t~$ J@nX$;;ƹӧC?P|I UќϤU -3o0,_&?,]FnޣWs:  Q ,,LV3tufChe6'V^B@ $'3O I@J-ЩX\'@]tceM#$(8إq@@)P^=ⅆъ~l @^葟 @J#(ܭ(CO=x:t8yTP  xJ^m.Kwsf~uN,@@tɏKZjJP|R$@(@٘yqDn<+@g}]j\L4Ef:W6ڥ1@@!Pn]'rD}tΝJ~8}+D.  rr~+:IJɕ+ ޳,]Ƴ7at(cK%LyѿQ&8@L@,xL-['P.:RŠ <==]{9x$'9qDq  `e O<  h+hwyFKb+eF x@@@ KyU0ɓCQV\"C%48Hbbb?;_~=  v[  M\RV-9|C߳{lټIi%}핉_2KWV;W BTBFFX‘^dd}-{'|"G~>rE֙j{hyuq@Dhf*T(򦁁r+9}h  ](<̓7  J}(<Ѩ<^#S5؋/#> bqQxR,' \ %9I5rԩKdgg˛藞, g.jF 'pIII)0"Jjj;z  `W~̓7  Jm2syْemҼeKSk P޵!  +/,{vEi-Ͻ`JP8BV|tQQA=s  -m%I"  &hס2x~Sk`|<[>|=#FL VLDL|dU.:ɅOxom%O}ccc['.vÇerܧ FL5"  IjMU+ŋLիsԣF ˥xj%6.B0@`@/RL;ݎ+Moh=3Cm5H 4m&tҁK-%8$T"##o˞鵲n9wԩ[@'NA@@+ ۶m'kV2MzI'ȂHXXiv/ % xO *"LSR yau2wlyEclx[xOӼw5'im :tp)7ʎ;~r8ѣ4kL>+_.X @NrKȽK@'VMrA@@ н O<^.yaբE\5  P @ÇH)Fܥ_\ٶUBՊ_U;K:vlԋ*?ڴip$X@GOEA@@qֈ@@l+нg/G>xw4WKσGMKKŋz><++ۗ )7W lc}um?o|6KiѲUc|Sr???I,B9}sTPAN:%Ξ2E@k[# @@@!PV-i6cǨGeݚ5f #1;{Vo c7<2  `] (0lMB,b6d1QR|YŖEO?y̘@@֟#  %{[_c 2;Dvap|O?(Q6nX8q,o܆{  @VoOUZե}}a {ܞw !!RLȉ XQ+*9!  zsː;XzJnUҧW9EfcYE/[oDI@z+2/_5eFzڴi2~xG߲eKnj#_s%4N]<~< P4!4!#  >ۺm;w qN<)];INNLyuc{SNyW7@0@LLC,4q}F^2(@˖-/]W+/kNL"7x4nu"##cUqSk>W@@RXj:I@@"@SOW֮^m< !m=V;ξL8@&''gI'o@ԣGs(DEEIʕ v_GoǺ%v@,$@ቅ&T@@@>}o'fnI9b?o\߹ZS-y<O,9$XA@KZZ8s߸gYԬY3iѢTRE4ih5jԸt^RRҥǹZRVܧ XNM) !  ^Dϓ^Cٳg,5u?xX%s+DefftE@ke#%[,2zh9~OvuaRK5rjj vBrwyNqժ]4# RI2   `';2UAn|xs:7}*'Wz>;v+xn[  ̒cǎԩS\)"?<>zӏK[n]9˄\zӗ>Ѕ'64@@Xyv @@,-аrM6w !2]^z)NmZɔI8v! bJ޾u*@@rjDǔݻ2 wK6HkZK{N232M7sHKu1=C.]lzj% RlټO{dyWez.:S6LJsQٹm9uBR.$ݻ(>p+X@IDATw@ Pxb $|@@E_zزzYO?-|tZٱ}cU[I^ٳ$=W&jG؊j'v|!@"2rdEcWBAK~rՋ"ѫfر. ˋNr>{Ls$'%>W/ \=n](>ɕ+  PxW!  7`T\0x*{v˸1mn]:O[<?foBnqLyuaOҸ>4oҵ*$+“K@C d";"zu +y96"]v[o/WP[dƊ@@(L ^pw_)բ릛MHU'Y3zX9rHλNa'WۼLWsGvϻQ Y9֪W!Ukp ;@@` O vY@@@T|>uVvlzV!  Ȩ($-5U.^690(<)f /I|g"e6/z OܩZXz-$>>^Zh.gՖKY7B < g( +΋Ue( fT͘LE(6CNǸuG38=NX.oYJ~XxmAw,Y?N _/ @ϩ4N<;# `U O:  sm2m$ݎ z{?λ Lb%}Uy@rۀ? Yros.8ٷo_A^Ӧ4jTygNtzA]\ XT FM@@@;3cfmuȸ^*4(ZZZ @J$#ӥm.u6i۶m7XOp`aiVzD@hI%Y>HR[kN+F,gݼR|E@.e@@l!pM6?EvM222Rޜ⒢QIKK+*L! `hL  H%(V4jKQEGɩ W'իWrƉe岯EyO…d)$77Հ~W@('%t@@@z))W$>թӤ~(oMs HȔ޽A#,YX δ)KvNLNtUx[޽Yf.g޽2 zrU 8\@PoˡCD-w핬罨9 (U.9SoOHv\;;+K,^(\dE8G3Uɑ#GϞ>%{wnԔq vG@@K v-P$yo#άa OjID@C dTJΝ _I ۹xbI/zݒnz˝OƎ+:tp7Ʌ \ RӧO͛(٧wĿ[8g" `M O9d  ȋ&Jll,ЩS[zl(fis AvZu[nnͷC'"A hE ddf;!U%lذ!s%诿[MgϔR/@ k׮ϥGm۶^QQ-WVJxGNG@s@@l P|xdj4m*o7CCJhJ(w 6̩8b׫Ɗ'bw_mO-7v/F^zI5yJ;vLԶGk׮իWgϞur:A@(<)؅g@@@K&015k{Βovt4@.WHJMצM_~Y0iѢjJʖ-Uǎz~fYpP/o4lҽ{+ ;{)oYBC%^f~2Gb+Vt)lOHKE P[ӜILGyDO.Jpttl߾]l"6m3ftR!۾ T{ޖ[@ᅲx-11Q.\pӎ322wqZ9< Px@@@K ko-Td~VLJ|<^=%ɵIK$sǹ !Sd'HDD[֭{ڵkKÆ B R\K{ANN:%-L=n``S'cu/*))IΜ9X(K6$u@ F@@$+o7ToXȹDW^a-Ju J YU&^H[n#k׮ۗ8>]Xsn񎿿uiU4썭w֬Y-zQ9udXFDp%v]c/Ro$:oj9RƎa2gΜ|ohԶ|'N wU_7t*k(|;<#g.\1w:,Ypc%;X-CI+?oz{Z҉&x@|.@ϧ@@@ 7/_>俽sO`zsXF)I 2 32%SzZ7],sN]ԩSGmWݱB֭/ 䥗^4hР“1"/R^HnQrV=yϷ atS0`Ӆ'AAA-a-:.00?_X]NNQ:$ls# P'Ep@@y^ęOZGUp细x,lCǦ@ "`I;[edX YFF|wzvjժYV kg4'ZƍeN?s9tLV+";5FtD"ע\ʩm+<'{WV ҫByνs12 zsJF   K /:}'N@O{5yV<)f8 `%4 V+c~'٦q@Xosu]qPszW;&W.75e"%Pm{W)W\ׯ/jIQNz2$6wQN]Q+P|ǧf٦sYre9 \8@+ ӯ2$@@@"n}Ĕa%LQ$[Qƺe1'i c XN\+={!V:fͺz]2j(/8_/^(v+< p7];gѫ*U"WN?!?wqjXX<i֢ea ҪU+ѫ8Y]|r}^()%K9@ k->hVX[*>lS$@,*Pj\հQtl rt3g{z׮]ҵkWٱcy҆3M ]xNws睹VݻPT(.9]@^ic˦2%WϵSXDիD|GRb"Jt'# `g O<  \&~1;y2oF\6 G,\LVv3V;~ R_^xyL3tNVV$%%=WnꪫYfR^=kTREV*j+]W(jӧO;{-[6ˈ"-O0Q7o= k)w2ߴa}aC| TQu]>Gijɒ%$a!\9 ^ OF@@@@)Yt4o^":_EZBQ0.**DO.U\ Ytj}U1h]rEWIOO/姟~.4['~ǖ>^!yt<lrwߠAIC2ݻwI&=#ժUpGQv-je %,$9믦2B3󣋰>6>x#g  PxRg   S|><P% I׬UKzɧ͘\aӧN7)FC@C&k(4V)""Ǐ_Qh Q~UD~v=T{omUj?r7Kͥ}ҪU+|0Y='cw!NT~VL[J_Y8t萄195 '! `q|⨤  XE@="Oz_/󈊎7/aqwuJ*O?vr\wY)`܈A@0^eg?V9E{ŋ渟{ԩS]\.e.vlzGyDv%۷o'Nȅ  Ѕ<{qz ]RrwmŊ%YUHhK>~s|Tv| 8 7o.v+VȽ+a!۟b/ Hϻ7 @ZXk>@@@ո8y~Z7ٶuGcA˕+/Tɽh)JX~JTPסp@|*/&oL,֯slPXXXC~Յ'ǎ+јagڲ_rM7;sQkƍEwgۑ#G'.Yr>y q"[䒔k''I2QU}@PHlRxR4^rEQmx!ũs9 @<g@@@ed=}T !{ ک'(<1D *-xf&%ɯ>袓TPE״nSMu~-^]b+UV+_D8Wԋt/9UZAf׎o+83^FoS~}H 3ꜟ_9"a?L޽۱^13Kxg5jҶ:ʌd@+ PxbY%'@@@nIzQV._&S&"֬5tV~jK”b+V*W?}W@0@xte„ j+`mkv7fj _l“ fyo~T*1X#2BeU!3_3339uBnXV#Vl9]Ν7JcA0o“`x0'&0E@@0SBva}E:zopݻvʌޓ|,I꓄VkW pop{Rn]l܍йKJժN\/H>}]4m7N ?F.$$ĩ85B|ڢpႤ86w:Qr~Aͨ]TAQ%(=[m߾]QJ)jב rr -]mzra\LKMZeB櫨jժ>y@dm|ԩk?3IwTA@@ %0?o3Y>YiOŌ.SF\q$(88a# n<^-cys]45%11QH*DKPsՅ' .,M\-[IXTo&ߒǏjCJFdǎllRgŋn( ϓcԫߠ<$_S2dS:וf ~B*@@@62Ow8ٳgdї_ʲ%_;PԛFouՓn{ݺKvD2 xR_yJK/z6n*6?!Ϝ%4uFtbR'Ew)ٴiSE'z 3_ǏDcJ%FKFB@@ OgUrD=ĜsEMNNiiBBC%*R-w>q%a> Z|ySE&\C b@~{׋駞H Oƿ2I hp=ȸ$ %mz{gJ:usZy_Z z Zקɓ'KtqlltUjԨ!je+۔h0rRYluNm]ZzuNJ'u*P*$@$@@E7e[Ke         >>$>&J(++뮻N: _|KBk3[ڻۇ[C01"Jk.ٻwv Hxx>p9%|.RB1f@'m024D2ӏ IC#>>rʙgW+-|@|'l,s/K4HHHHHHHHHHZ@uq$krj j 'O+W^AHѥKE(b-[Q6ءo^u“Jtj X5;8 4Hu=55U*))$Jer0Ȩ(YtUZ7@-n?qwMWQQѠ/W{ァCS  hX  w(S#~IiixN $_{59x<ңG kbJv-guD/;v>}@ `]9r8ff ;ӦMӢ$ҷmfիkҥVщỵkƾ+}$v*z#dȑҿ}]3G˼( ~'lx˗..:B>  8(<9ل9> 4@rR @ HKKD'/,\Pu&]tW'ߑh;'ly饗:B #a/+O? )]=Z9(uC❄kUVVd˹}EGGKDDTG0-4 "H,SyE%RQIw(kupP nJ Uia 6ޝ[ p$@$@$@$@$@$@$@$@$@$@$`G B 8j 9R7pAa`ݽ{_/yJ @Rם H#op@;vlk\/T>S)(.P)5A9Glk bWJ5g<5l{l_ǤIet o3'N㦄{՚5kd!ٹ`m @%7HHHHHHHHHHH Dž -pm?Nз@,Y*:qg}s2exbGTp-8a%e咙/ˆq*2tP'=h{(a]8l1YtUW8 q#Bщ,u =\Yhs=*(++ft[ra =s="          M%w d @jjn{IC%u(**\cQ3f̐]u!0"\2A| QT^T)痜"I=#J-Exx9Rc{6طW_Z|Jה4.D@|'Z(ԨAʵ7, v}!8:nJuHH`6{jc$@$@$@$@$@$@$@$@$@$@$ Zе{w31“'|"f *q Qrse*ػ{|Fs';Ǐn4n49߽sݵC *,ׇ&Oƞ:ѓ0ʱ!Ze'FQ._:p=6Wo_v  hxHHHHHHHHHH \vU⣜N˝eiAFp`ݻ{DIq߷O~ٴ*:ɯ7M!%#FSJ^$#MN++-IdǶFIZCpp ϻ=BBBtӑ#GqHH42 wHE9<'I`Ȑ!z(} s;7w F_6J0H)ϱ߿hݴtRE%hTʤC)/7GJ6HH𤍜 "?ZAg^W8檪*9v옹頠 sڵv0V9s.͓&~[- *6z);Y8a|[Xfu$9t\p駟 #w>HlN5WRANFI _5h8_u5ly՗>^ƌ}IiuAږ9TYƛb:(_kF4{m>:GSSw~\ E'mMB %>=vT(L1}QzA~Y\͓ۥ %vpAssA%`3">!Qc$@A觞x;e%leSF$@$@$@$@$@$@$@$@$@$@$@')c8%∋Tn&ϗBJ\<#G}T;SHoٲŝ?A p2d#UTIaAa-D_DYe H_~ #d2s9JCzD'惮V9-!JЅ2W(S+%EJ"ձ*wc~sdfdH\fg%N_w҉t-Sŋ忌W0 @!FA$@$@$@$@$@$@$@$@$@$@$&W0RIK"_ >)XX' r$S9dJ))R*I^1lƲIz-Y\onw6uQ =zHHhDFEK89uduu*IHZ'$          (-  MQ;wcǎ Sꋘy' Pˤ w )(#GDDMz|.]U9%ҥGՔ)ҥt]zA`mMXb7p8|}<J-hA9Tym:ٴaR@alf)+%b#TDi$H!ZjU${bbbDh\ $u A s$:qw=ZyqGtb (l,J9W ն> >>>ҩS'Qj+9O80',cK"UK7W>{ @p%ZC )K/nJ_~L2E맻H p]CĆױtHHZ'˟['          f#0uڙr֬n-!R3č7(֭{G;qСC3\RG4tqǴi$(VHqNAA}7=_pzY!>5&(+k6p D(% bW,#=M^׳ԨQ2rH:tl}ƍ:),tY   !@I`FHHHHHHHHHHHe,n\`(W/~rvխYf V:verpBA# YX $^9CtYk{jaQC? PFD)h.!AJKK훬>>dn  hE"|nHHHHHHHHHHN:lL:TMZJ~(Q/qҫқo۫taaar%RF(g"F v†q.ǎIV1'Ju9'""Š @8h8?a JRRRdҥr }GGG-[XیZAw  '@I3IHHHHHHHHHHU Jaavh9̿ÇeK8*cغ?i-lʸ"PPPKS͙3Z !T2I ] eѣ%c'H;ʚ5kl8feeYxpbhX}IHZO+l$          hEHvM||Z/M׎?t[Dm:X -RUUw"))Ivء_6mmUUUȻ+?cD'߻Ix;P-ZmגtYvU$2<)(2sWnܓ `nu@XH$@-N~Qr$@$@$@$@$@$@$@$@$@$@m@αL9vH[M?$x[T0is٩S'Q[/EyC{ݽΑZ0hР:P\f=|O *Wbg%\q:p|Zw^"SQ6>G-m&g˹[gwo^ǭ'*:ZkJ:@%1duU~Y Z9R{^dYEy9R\g4W=HHHHHHHHHHH>M Sb6#]-srqrꄉ u,&M͛7YޘƬQ)qCL}LE4M7$~XD/R.u{]ocŀk_~.gqڲ,,,Jj"<$X:8QYy1I--AVD$咟uL)11 :)ɒR qڏ HPxMgJ$@$@$@$@$@$@$@$@$@m@UeMON*))!CEvvvEp ) SS#{{>%+Gc?ruyQ'7%>[r<͓#Gi LC']Q9+$$D|:+VY,u>{l9m? C\ B)*A{l W @IDATSA\Xh8 Jge*IyEJJ]  ZԲ @+HQ'> >}q#<6T+#F뮻/o,\'U|C.J>tP'ce@?7xn1OP^E5??'7O"UBc]r}D/}QXb9f_u/$NgIQQ䑣ApF4cƌ1 N8Q Q݁@9[di6cp(,(>nJm!H/,8"Nt}  P%«Q#:(7J^v"="kw/X_; O:HHHHHHHHHZ@Hrn͕ԔC څ9E2""R:"AaŜV,V$H;$GuE'~!>Awɒ%>guIq>W{*h< ҥ ʀQt2k,n(pm2Kn$[2U"/>B ./M;z!AS{cK QLQPߧѝ:c _yz5ҭc]Ư5?뛖el#         N <2J`@ {L(рDqfzi#O^7x{=-F}ҩS'ﴳ^+V~(waD^t)>L'߷Ou.N8~4u$??_r,ĂGeH).bӼ).+/+jU2g޼yңGX,s_P~ǘ(ӧO Ue:N ;),qhOUig˼ .ߜs _;9rDݫ_@X0½ "ryҭw*wx%:mڙކY <z퓜l- Sn&%;''JyIe2N>RX984\,EzbKsTVKIQWiI@LkQ(2Q8ݼp/xǛwP/WJSPPz\HHHHHHHHHHQ:uH94j$-j [ݳ(PZ^!6 en:yǜn+!8\{Fdݹ;$>>A*aFJܞQc۶ms"zC#F ka.I3'@|@0N T BѮU6f0 '8BN; awjZla(GӚ>xs]D$2Rb4/~iJ).U< xR5O;J @#, I@(1;Q#n\R]7؊KJ$Hn$v*/7x^щ`-ÍnM/>'er̙3a6Ll_rsݻMqaA9#L g,u s_}쩹7o).r8̟?_N*9rGb4IIq(:Hg?ɓ="O?Hڦ' \kuf֘jfSJbhQ4ПwE@`w&UUwJrq+HEu6DxY1 x5< o ;l'Ξ6S]l[XpD !PJ Xd9Өvvn:vب\23_}s>pN{[V^PRp}ꪫ6md^tN;p O'frss(MDXJ)b+L+Wr/ݺu]P믗}(j .sL Q);d朹ZWM{>#FyT?=];%K(Ģ2U*o=z”S=Y3W9"J.4QK2H5 PxҚm        hf;'C-k}: aUrNFBcl_x3P*?߻㸯2k\w$搀;-Ǔ1t<% :ӬYK壏>;vX뛀uqΨJSR8JK“b6}HNqNW(U<GnIBBj˨<@h<(sp%,,ށS<:ZbmP][ CMj*~Uƍ';oLw3c'       h9ΛoȷkǙ.=zwttqBbONӑ $|UgǶmRPP`͛7ӥνP2{IOO]vk3LxH]͎?T袋oG' NV$mݪNи%ʑ&A%/ O&z]Vaa;)q]ue/WIjSbIs1 hf1n] KK$/7GrG`,#FqT ƖVi^z~>˵J[U9ê{T ;95f솭8+ўo ٳkm6o\/eQN /[$5I !|駲K$cJʉ1>IA>b߾}2h }'I-[HJ͘1C'pWTVH?ND(HvE:u9zTG_G_||v@$#NfLz;FzapLޯTNGJ 󥼤XägϞQ lq "qcǴ .U !GK5fLJupa$//пIhxb߯Vؿ_PO?7^S?MB6nX/} OcIIeٲdrzg<4\kr|c*o./vTF2+ĩ?K>Fq1ja<_sx<        l_;=4D۳gN08_%&~TI'?9[qI:['yЎ(W_L1> 2\=m  "  SNq{G7lHgO8:+uOC a Q 1/ZaUWU}ˑ aa >1-)R37pmU#P**ecp8M78u(TNSVvL.]*s<;CɞEW^%ʱ5Hҏ?#) t?8UG 5e1ru7H* O&@'] @Fgn:" K5\#)v]9KBLL@$Q^W6Ϻ5ovPW #?_ ؛ݎbՆfNzt޽c-ZHz%l߹K^:./]Q d QأfH*[`6F1'}j8jy9NE'#O!"AO?v*:q:VN4v *<3ϗ .8_>#}\zŕ.:>5WW&J ﷊NfQf=xrwHLlw8ߚwx<         lHȄd;K|BL 3öhsl2t R,er(H2H9 T*@<'!d.=$;3],ya=n<СC@,tӡ 8o +D=`֭.%*ыKrUeBdfjhV~ f||$8ׯŧduCCw RוMRRRLsO  rWȎgGBwldTuNq%Df?ʌ3!A?+'|b̙3eܹyo@8:^F_nM pt_CQb#V=ݐ}_<ʽD'Æ ӉN[c=zD{u%LAC{-uMerd2 娌Fh7~0pMZ*`ĮR p«{<#^?JZ᧜TINJd(|}"&.^;"u'G[6; 21.q! WuMpIHHHHHHHHK 2Tv&*o׊'6AO?ZHSJd@Rs٪OyEх$  !Cȥ^*G_]_|)|*%̚{?xE%b(b_p~[K|sMtYrsskv1Ieyl޴@b݂2:F@ ػo?ٽs>#G(N,hN0\X *Slp~u9uĨ;gΘ%(PD۬ (IǨ;>\F@p,G`(s۔KVFjܰ. desd.<'}ɓc{ ` ON% J3"\-^r^$jHHHHHHHHC)..?_%> M&>>~2B%:?f/J裏 ʑĈgyFL"?JwSBEpHΕcJDSP$7rDFF:$ /iGXgϞ2p@G||lu}G(ǀ߯#:1633S@Vȑ "LN?,ݥX9R1#PUY)e%E5B񩮔_۷oHHJ#c݀ZKKXW҉JמlܸX 8pMY/8dy)5;77G '$\yFn!!Bw39O^K'^{y$@$@$@$@$@$@$@$@L ""BnQ?\-[k׮M:dx@#{1?~%&&;ER)U%" b;&M&SˬYt2a.ٶmͺ* ᡒ[h0p mG(+(aCtjFާM&a* g;hSNQvlLڼ{Q3m=i&Gټ'qU&#=6-UrkCdrI$$'X*KT%T s@3uTdV={Fey7< K֭m1 $sMpxl%NZt'acD%,V{ΓEIOy^ Sq;ˣlٲE֭[EEEIJj6&`3Æ = @p?83N\-{wn9&Rb#_%$@`P\pořXWZ뮻{ W ̇zHf̘E'8r0q({U{~Q3^>Zׯα_}֒/B.]?Γ9j%$_֮ضť$?qD DQfΞ#?[jiĈrWHFFx,7;5 Op:t܅ $D7"1u2w\@ʉ ~+#KD(AϱR:`cjlUdopX$8F3`";(AIx 9x=~`\z Fa4@^n|rbYy"#Zc8&׮+w}$[Ukrnk }J%Z O?8 xGs8?}zyH`XTBac$0 }9s<cA24ʓt[\? ^p< eÆ 6cZKشr $ &į A֭|F$ݣz2zx qvC>JR+)ebnvv9Z~3a{-o\yJj }=AHۣO_8حY,[oٳU✷~4e[n{7$%%)p]xߠ<@        ls] Qd8ݻK^^TVV:~YK4rѻnERNO?^uf͚%III433A"d8&P N7GF]J)*Bdd{YYNp3f?@c;Z,%Ӻu:cpD?!lQDGI>}Ȥ\mO۩P%Tw8.M/ig;%p0 (oT} ޏqyWowm.hAD}xmٲEV\)˖-_]xp)."&@G^ ջv|=ZM,MeIQjṡ(Id@0Se 0^IQ*OYqa7iO"N;]Ç;\eJVpEx dYPP.Rxm߾]֮]+?2A;w<Nv$. N#yFr,@ "U wD*1-˰$Nm6olniڵKmf="U>ߗ( )SX?QN]U5F᜜]KO?tqطo./}BSQV>(U-¨K\zdؕE;plz+akxdTA٢ 8,pJb @ks$@$@$@$@$@$@$@$ @8eFٞM$xRg>2x0}cu +q^+^,Փ _bciB`DINAwC K7U.NAЩS'혁Ļ=YPH4ALL;eelZW >(> { ?/֭zJ1)pwjvFdef`a(\p8Dﭜa8n@Qa#ω8˼4"Z\9" Wn(%''k7JUԞSX>1.N3O)ĺ_۸IٳGN?t-rt`īr=ѱq?ziSOq ~{1HH5PxԹM       hc}7pd2vd*kqį]vlׯϗ~"3F2VF,O>D4iv'@GB$<\g0kI=d…J|*t2D]dӶ(Qzy￯I ol-x~+w^RZ&E%E+$K͚5K>S$H R#N8cĈZ||i0^l23f'$JhVd JSWYa4@@cu Q_\RRR@}}̢! 5f[婰7F^%Mڹ>GJfzv>Iz[ӗwyGΝx1[x<#3$lI=(y\$@$@$@$@$@$@$@$U2UgO+Kxtj-Hغe+AkأŶ>“}s] H"3Z@eUdIz2SOc_$Ӳ[lcmGO|c}eԨQIr(1A*EPP\bt; 8$ka$~vrA뮻d޼y:dߧB%Yb68ArD瞓J|\ F $QZ呺w.p䣏>\pŽ<`ev0xK~+g̔0 P_,J5(*Ԕ:! \ƽ1JJ G߃Jeh 1qL"O2R袜KJ$7օO>uܒY3֋'Atثsµe>c>}9r̛싚pzHZ%;Wcz$ Px HHHHHHHH ';K>llS%Q*S|SD(۷mU\- T+|@ p8ܹs \NPRk׮W_} /gݻwٳ%,,LC*EP!e_m=BCqg 7 o.a<Ȣ0\ +SwJr-ri[oU'1aD;vh KrBD8pL8Qv6lبĀZ FbBq\z'P#̬q4С=J<25K>ntt>_p*=;wHKyIM֭$ѽDZg'ϣ"]zآ?aAM>={N\6mjX"#̳&"PѣC$@$@$@$@$@$@$@GTz1)).nߥk7ֽGD y߉ѥv` D%8+DEEbey6g%4KNN8"DHNATTV9[^N OL0? G.] #aP  W|MYj.e߯X}7%.9sJyjqKK9ju 8^ڐhw$`89yJW.D (U\}cmi *EẄ!& FAiG|IF*i/^ e(؍N2v` ӎm)nW'8Aٗj  Sx Txq x-pe>ko߫yk@9Kgޭin=P $ $EQ*HֹZI;$4?묳$.:R+*U z2$$!JhNw ^FL6MN=[ TYDׂ 駟߁ Ydff_n?->s&k cǎęq, q%A:,lNwZ`k믿n& @gJn)e{ mu ~͛7K^4C24&tIщʉ "_GV&Cxb{ Tv:pIj9 6xkO$@$@$@$@$@$@$@$Ь&M*.ؚk8O Z  nOC|nk_]b* QFP 4$z |?~nCu^C W8AlŠJx=zT;?yg FMJJoGȒſ|>k&{L `^$eKYqTq={ohn D1HS *eO2\Y[RRSG\(;W^^.ׯע)\FD҆0,eClŨr,^Xj93^KҒ%Kk̘11iǎ%Q:iiL:}w1x vm~XɌsn>GS8\F g@$@$@$@$@$@$@$@.n'Pei.}.:#dM n%9\% >1* 62:4(PB@[p(% Pj2g>}Íc„ ҳgO{"#?pE[R, q),A=NлOOVq^3!PmPN, .\}֮a;IPx g@$@$@$@$@$@$@$@.o#b&/:zyrY'7y<Ϝ%1LׯM ꫯZ't oĉ˝!e:yhzz HǎmN!fnuYڵXfOQہCJ:F3xG zJ\|.FhE;ͷ 9jx.S(Yf.+kGN 3H*Cī}AmҊ*YvC(Y^pZ<*17ǩOV; i+R?aoۓf+jK8ꇒsE^ MS'M׮PE//=Y=3zw֏u F*+ $&!%nvm~M]NdټgY|\ZPR{F\FTWW}ŢC0h,̳#JY&Yg>M :uP7k.2ٝM=u\L2߄K~~g6|(~:p(;~n$@$@$@$@$@$@$@$@nؽ}[ 1cHFF.KqHM=r$knV:t<3?׻/^{7NnYrZB֭Y-x ;O9]rs嵗kI_Da]M"\*%q@ ~ɦƌ37DHkDJFUXMSlC 6mڤ`l w%&NXQ˓a_K Y\_ >\.]Z_7ZȘXҥL4I/v1@4{GGqLpm.i1*P %%FfMs0ձN0رc;V@l2P LA/ԩS[4]p`mc+!Z-1;"XN_yIgȥW\H}r9 tCbn'_l p0rc{|Yy[\"b%P\X p_ܰaWn'ƈƽԘ{ > `\E!*:Zn6ܹ{^fq[f\p{mcIQ,cR(ef~A q/?ٳGz-Ӊq}be𛡓rA)cz 8ĵ~{ZewEchvQBI۔U'į+Φه%i;M$iD@IDAT@$@$@$@$@$@$@u cW+vp%??_^x]SO=U Q0 *֮]:*7oW_D-H>s.lkyLOO9>Ojb#Qw"Ag˖-(QzRM(,Jp@TB(5A#ܲ<1t}L]Vۧ|yYsݜT6; ׯO|;DQ+ǸB@MvoLC4p@YdD+PaIk_S ,4xH l&*9h+- ?(yVaZ O%@ቧY @UR\ir|Z49wܩN[_|O҉$LO6ͩt ^ X?`tد dggk }"r۷o[\HLں袋$99f9x6m/z;w;%e؀SH#Y '(Ga$Feum> 38(T%Qb Ig/dP9x.LIIqM֣A뱳cJ oQe`(Ιk-}kg!G\'P"77׆+" ȭުH wN`^_"fP'3& ϜO&h5$H%kYfi}{y J)**.]H`i@ dr; 1/b%s\ #P x饗d…uIMmFG{E(J`CAl> {oO?OAEAQH{2LfwYoHr[/77ٜ~G9q FaRaT02T%`+8֭KUkԤn_)=4h"HDz03  D &Q|SP+@t"u@ QJsҥK+ԩSsZ3.~98TNX~.'p6&B<ɛEJA@A@A@C 0^ڱm+/SM wu +'>$2ӐI뮻h* $g<{58X#ʠSy@%~TC-YXta\*Q.uõ31NxD'''PkY^p vؼs*#yڵi֬Y t<=}4?C{"O^I'߲eK݌c8LGBr#MV > !-P1:7iD ܓ'C:XC8;[*go]7Eak۳B) oPPKNSTLcIJ%1TP-KWa0ClwC"ջ b#wr<<Oĉ)6"{lE*P[z"n Bs|R:n0Z!-wSmO֥MԘ`$&xR    zB(,ٙڴiSO!vKzֲz' W5Q)%bfz_ݺu7p"?f&{spޗpߪ  }Q5?sB?2D_~q8A_yc"wPj6;6@@41 !u1A  !&H%6lPb8G̺GԎX*B:e K"4(S vrҎ<8A>3Q2;.Al=Š`n n/_K8!K; pG/‘o>D3JUA)Y@rR":~bU3'OPTRʡw }ɝ!D m!%~_@bdap&8aª= BժUˡ3nPCڶmZ߻k'k [Baxgrg{1^ՠAڽ{"U\~VRD9K޽;aUsk";x'oGgt 9VJx=wO.% B<)QNAA@A@A@#B3?$rz];g07 7ܪUӕ ?Q=Pܥ5SWہCbgf͚)kW7ʍù?LiγYf駟:9}=8J`prc!!9 W Cy8j׮M&M pft{*+yWB; H'pH%&LpTHkF͛飏>)SP֭iС^'gsKq#CvYq\j&4} 'KHm!8EuǎP&ΦwW8&`p3pA(G끸  OiCܹzwXv-%%%ќ9sTH˗bNK87_G 9\{$VZ#Gtz6Tt>r CFzZo߾"Yp6λr"ĕU;ꋯCwiՇ1Į .RR ēpA@A@A@A@0 pSOCYPx ) [[EG0Kwٯy~"3T7_~$F,Dx(`ŬX8Q"FEK,_\;1+/"EGG;f`vPIce˖Qј۳gOErIN;O1ޚڙ 6@p ZnK]R+p˗tk4*ѣ j ɓ'JƦME^hG71/_ T19O9'08aLy1̙7ߒt:x`>e/>q %QP~ %jժp/k1m>8bt-֯_Tr+) Wh-iKwܡtygЧj ҁ "6M:B?3iFɼ9!q@Gmo v P+H'#"    lӱ񔜚f;\z:uR;t@?0Eџe˖u͎P9amv`~K5/t,"Ed:ࠀrH%8  T~ ";7>T46f>}Z ' [08ʢfFF!W0@aJڵk}a5H'BWCܻd T$M:9<%q22i_vs*?DK<1"\ >:^NbeNgxL֊p ߿ch %G%ON nr4V9|@JH:uxDŽ=TaqjS2>Ҙle}Q `VyH5'<rt7I=yFԹkwjwCh$S;L]plI qZr    _lb2`@/f1׌ ?uQ9xoGÇo,IGcܙ3gj'OB0qGe2s6Oi[exc~>`Zv @V .}enn{\ZZCGzJƍ=LMMa)*SU1i&&o6=dx^șKJf4;J'HJb,@A®a6>p@v۵5j-RQ8=/MNs853JNp#58G>u™״YsGr2B1?{rԩ_P(;B r?5wr_O 5Jeۀ@ELa{X~ 3U=Ғ1̗S![լdVzu0~A YxCP=#JUy     PxHLIS1qt\,%ՇTOh@>=::Q;`%~p"x28~ׯO_}!7r}Kg#wPbcccVԩSi…  wH8эboѢrYBEeƌ. @v]p"R]C9vO:Y58Oxk. tfK&͚e\N}֭[; BU~l=1"kˮArʪ;UvШQ#uO<٭չPSws?6jWU#pE0k[lI>Y.+LT̊'Hmժ ziM3 JrRaKVU    Ә؋GҢEȝ84B|,ݸqcYzjN:ECxf 7ܠ,$GW8 Qo儼iҤIj}>f͞Cu:8TDCc1,p^Tdu= G5kPΝUҥ=t޼y3˥Ȱ`Sg⺜tK(cTq[:TBJJ׳ɪcoUA<榨RpK:O֭[KIx<}GNMJI" OEPݺuCSpA $%P8N$;kb()ۗ+.5[,65n Y:h۶ +_پ1>lӖ6hhGV!0EM(`LYnK#ԠA>IΥ"'(޽{w*WzJcUYaj| xqiܿO ꕕA@A@A@Aaax=>+hlذ{!۱R<+&u NSP&*TP*8zjE6BSC?dP-[@Xٳr"<ibNuÆ [n?x<fzw^ڹs'A%֧O^RpB0˜JV;;LEXA1 ! < ף5+&EiӦs;[HstRСR*p$ʊWRSh^Ik^\@'wXdna(PD l@fU"I)/e*͛gLvZ/!y|1(b*,Bީ5ki\k>ͪ  ̯XA@A@A@A@r8SNjD*r;r|aC p*U@8xǔ4U=oi+WO>AHy*~wMu=Z#\qg``gvڥڻ=HU>ʟ8q<B 3UF,m(|G(!x08Р1vX:/cv7xޢ_Ua/6덾kCO>}{hߞ݊%02"22C?18AD8:OPN>IL<I$L8](5WTʔUci(G!x Ra.DMJ {]C f^~-R94_X|d&n dtKo:yl޺|;x߯    @;%,8BG_|ƌCsu{$ !1 gԴiS|7T+cg)<2oHu'` ޡsWdzH9UEB8 (W߿r.3!ɓ$,KEQRJ*ŲP, `V;kbэ7ިCN0I(+w}P9Rx8 |VB/A'ϧ|Kt~V q|;#hÏd1sgRFZ*A c0a+pVG?+ܶ)!v"؜ U'Rn@'CAVJ8 %KTc1T*\@1w0ѣxb[{UV_)ׯ.@]J{Ŋ8><.^4#zTi,],UX@#'!C@'tA@A@A@A@ 3L2J۪fq1~Sk3¿le'S7QSPp׺R>Vcm(d0t*4 1kMF۶ms fXBJ- aU`plK)F@% ?Աr;kMs(}thX]'MlL<ܫ]vUgGNԬ7|S`*<7jIiiiJlٲG)T&28 MBB*,#sV  ]r4%s=dԡTdxFCQc,"UZMJsnS_P\VA_ $u*%aÆP tgYY.]o~U+"PZ8oUqGZ9V :B<)WXOA@A@A@u[oU9'=c]LK|); ک.N⬴htY䛉'>$|19hv9䔱|a_/F<!*"$ee$?ڂ{w8NѨo>Bёf%#R1Od=DdO'( 7_mɒ%ԳgO5#Ku_y&ѿX1!u^~~2Sm/We)XxR`/    Wyzª;郬yݝ\Ηm0:,U>Cڰn-=8tӬ[_ڔW8A'Ū'ױȕ֠l2ڴiըQF_q' u^yƵXB}+(ACf0{lZr%UVM%{O9=Mnf8;l ,u4Ag&?C@HV5ƽO@[#_3(>PP`q /=ttl׮]:SnbY=B>e+T;\Uct IJSx8B)((AL9|o#] *8q"G\];/ ϣ#GӈD =z3 (˸xE931Q~}Kg/{UH386nH۷w˜,?HFX/P+P12.w Xz߾ԡsW LPsWNҭKJV.c-O&߳glҩAOOכB +B 7ߥS~7'_m< KF:=uzEA*WL(]3)˥$8!BP,Hg6GѢYmd!3uώTN}&I*al pBŜ9MO_ vY=ヒ~}Ƥj! ?s/K:UY<[,6w\'U 1j޲JnٺS[x℈lVxRX    D4E6gGC0֥K*W17ÇueՌwن^+)`5EMyzWBŊnjK/9tMP*:×vRv԰aC sT I)mYaˡJg*h8cRRaW.mÒaŋ\|" gGgfoNfΜBx{w$lϟ?0@'I'8bY9b''™p ԪU+Y 8Or8YfԩSi;{Eg +]"󂃃Pyڵ"ݠݻwb)[X\B(-'+   C' DWA{7+YhAai5kҗ_~9i$O HVY,g7H|RvOE% .FIVN4BHx^"TԂ9PV]1vZj֬R{1{wu?;iҥJĸ'N@ûKYe,]2ޙ3gux!t[f ZlȻf7|wr    y *, dN=tO?k2tCzv."I}p(1%UZ`"\O@x'ٳ!6`ppGk\ql?;=Y %ډ@B}lE>~ DNRNVY9 ѡ {)9(9mܺX9V+SR$'PM<|OE ddӬәsҩ 6o!Nʕ._\95A@A@A@E`ޜ4Yҫ#˗&@غm[_IYA #áLRġfiY:n8nQw߾}4sL@ld8+A91 OSNu VnjAbW4ųhϝ9ckp|`Gm۶)G 8e53p Bx%&(uNd%O AȦ k> Nd_yb zAPz嗕N7/A<3MY꒖ 9vR%"ANTCĹ\6b a !HϪ'r[v)i9I:aDN|Jq$/FTT * vՑ6ޟytRڻw/Ay skV(7_uP@h{=hZ`\̎ߟ>3&pWaK6~oe! 4iܩ60o۲%]O ꕕA@A@A@uh;ԇ Fk԰Nn%;vxjٺRP@¨ҡKWϩ^? ?C5+S=34p@1gUJG^_' ^zы/&%q@6iiJБf@T AmUG6s`A4v,=/^OЇ̝aPYRf3QҥU^zСlYXQJ wޥf>|?/_PE7Rv&\B {r@IDATW`zovĎ7 -vޭfu=)4 6o\ʀ<^R%alz6m'0qȿ}SĻy2ݻ6lp6Bdcoi7XOn}c1[NPS(Vw}>6GXՆzYPyw#M$$;k-Y0nӟB/+2/LeV?5pwI~!̅7NFB:*>.:H*ESe&{4}4o݆]B=v5i҄jժezf赸$Fi_?P@z8|8SQ"#Exbܿ_%g$\uK#s4Ϙm{=V67FϺ aߴ,I\}8nJ iiΜ9ԝÝi ≆"O.qVPA)^:uJL03~츄C Nw3Ů. tխ[NdO<#J9 x߽N3 ZF T@3B-2f[,]B`XbrФ =N #}<38U #lհpWZ0^b2uMC)Hϟc:5 0:wtEpj'+V(q|3HAvUXw> Ea NU;Xj7l =\3gZx::8`Čm8}ခ~=rʎYEM*ږC@;q=:$ ,ӧOt 8|jX ; ׮M4+u-u-[(RXNgwJ* .TEyT^/:{*T‚4B!ˬר u(c.҉'t2'RTX0+H\q# B9inaL<sE`ݚU{9Ԝ~~d֭[{̙3v;aFA5͛ pϟOWwF{ky۷nLDA0! ēt\A@A@A@r H?^* YAH ڨ;y$*xOsj+QF<UTY'&p%&3#ı[AȝW_}qL/v$u/_q!xJQȇh3$ TYfMa,Wq by`P td'wq"-g(kK >@5R8b.;p6))3|F_Kngg5^ ;w;fxJ6W-4(CavHn087A<ʊxL 0o(.6F)}[s 7Ix82<:$$`m$+WQ! +{UD Jr "[7mt$xo]~#s gͣGKyUE:o@s$xxgn哘l< ǺիH3G6>pi z|0ӧEևx75m֜^L-RS|R2yg_>zg?vqd0l0@?ȄYdu 5T@TX8oay2L@Lm+g J}Q*!5D)k&Hn&2 yp@2ot5+iKIk2g*&yB' a^>߰+q8ߍ&O2ĉA N&͕ޜ'PΟOJU3 zf=MXЄCs^b2n"@2p gO΄AXNJ= yR>c澖ktL@w}RmеvfJr(ßrxxNO>>g=}C{wR  勡|cRٲeոdF_v%e'䯿r8Zjx.7mڔbB ,BYRXZ?B>A@<9u.JElpg 'Qt1~mYs*Cha)iE<cs՚t,Q4>yߥ/(}0zhՊ4ó9X8w1gKJrPSLUr*\[ㆿc<ے%K|oBaynFޣ^x-I˸x[Xj@wxBCC={ì;Cy,N+١*" K4.4b& k $4S I 5R؉DRTN=ELimS̹7iS- ?MyHj?h|v+7hт $<$0Lax]s ~r~   @6~t2e"x bG]V; l2Rgf7 8o.Ǜ7`$JJI%KG}bݼycdyޏ^?<#/>#y]F@TqSO}H !!!N[p.^LByj姱2/4+;8@r0Z LY,k:|+p]pOuIKʗ/fr7T%VB:H. -* ֍(9um@-ZУ>J/ZBdVHVXѦtT ) aQIkW.wVr$b&:Bٱ=z)vM NV Dc* g4(-~5Tn]<}Р{ޡ +C}RhtI Y  r>    V._>l[=t#yjfNӲe˜~[lQmFF 6Pdd Ub#&\ .T> 䓷~ः1P(fC:pSd6q1jvNoA'|nߒ55hijL[QrRJjJKp0֪U6KbBjOHJ~fⓒb> >xH}|yևSLጐgv}dnvqEl+3s\۵kBfRn-PmxH5֧8u|E:v[\M'{mZoHgOr"5aL$(j6\o0+ܘm(G-A1gNYLs紆I'R+sVMn`` A~;w.SBàe +2PYJ ֬^E.:SE&_!&5~4l| WlA@A@A@HMIQ*Xr)G>\3y?7Tax9p 5˾QOrtvgTvmz7^>w?-B dzk.[V f;s4 /zl%6hH#6m竁\T}G a&J,xҦMB(;oz>[1w@ 9LJ橧>M-dÏ<"@P={?3gǕS| 5/ 3Pz!,\ٲeUX6<xm޶CxgaZ!_9LǏ%y/S Yx5Edh vmX!\oBȡc`wo"eOرc* 'xS}_jب1|zNgt:Ȅֶ7@zܤN{9OEzSA4?Mzɳ@ʁ)DD:    `˖'Vi^z9'y21fÆC0׶vujQY"/?̌,_28O׭tB }~C@n֭[UҥK[0 |uQ}Duww=Zoذ*g=/6qˊ ܿ fU+    R8r2gdl|,f $IdfƇ|H?cjNM[ Y!/S!}Z{Q?N!N;H_ ܹS`3+VHpg׊h;~Shтyԧt#lbX"pIP P!(FL\8AD;n #M*#~+ýxYqpΜ9d~:-R!kz픅=\oC2d paz獑{TUƆI8sK%8r$!cz}7V\H+gJuZ jU0v"PʻUCنT7!̈mAd*   Wо=ݶ gÉ'A9xrdEĩ1^Hʋ_vmٴdu3f̠Ν:G2@TP6 |S  d2RW hnU p>PRV-|O画ٸqr.su4s4n?T\@:i&% bN:Y9I۶mV!rv℄ ѣRxoxRn]GYO+i3(-<=w^ d8H}l#G\R)[ 466VL֬Y hTDgrZ#oud-(C@Gug/(Kd0!.̐0&Bqd$OVAc !%C)Ai8D@4D^bȟI}jtQu/ &X(%Cű\rtZ3H&2X&W.=2!_yK8P91 $UVYV>Ժ|A"CUAP""vjI&MU?߰n-]4nڌЕ/ϝ h|uNsPu|!A, Rx?üp( IIvГ   oj'@Kv㙫~A]>rs@z'D)IHGsl|sLĄѣG#sKֵkWZbcsdJ^%21Y7"F xӦMĊj JH_.͵jӖx*hR&213O943ghK/Ҹ_~UaȅPzZ- !LLpO!#邀   #rRJs#7 0|x2x`%WlHc6YU: J pX3F'%;f͚|@:tP!N'F~+̘2m@*8f. PN ] ?t&MpwVm]8Ok? zya.ypqR0رck.t؎#T(,#a4PA<-aҠv 7qA+a@ e*3d04jP"dds`ekyNyu3YL55훜Cd.Wz ZG%yFuH$BQc,޳@C6a5Gyr Ҋ'Kc'KDo߾.ēp[EޒkV XmڵJ[xK:aNd=N·+dU*5w\Ϟ}Yd,-]L jժl??pEVu s",];qTBE:v92uF:@%#B $ %7nʺ Bx" ! Z*Agm֭簾6PM_Ν9E(85   80NO8~iGsSCptz5O.b 0ݴixux7AC:=bbV\,sdzp/xj&W1\ƹڷ-7WP;}nSaEJJ2v 1!@L0# 3"-   \F a#W|sD9YFgN-ZP*U,'7xǡh?8TJpw+ ?̰Ζ%)%!ʸ"|Ip{w^}U%wfbrV 4<3qҧPiПM$Π8p뭷6l OpAN2i1.UX190h9&;;4Md3V5lPkpj:vHO=~汄 KL*uE@SsQvC~vtL]6-_`g`*ijFnLLwNpz;n Oʔ/B_| !9x t3{XN'k;x/2._)N r֭NG}TAFg/8vQZ5z^\ GV -7JOzT &>kGcSē#9M@A(ڵmKUUV[Q=~i,k&nxpKRp "   \A֮^u%>Za_=QUl넄'jcNRBCCj{3p0euf7 \NJfI R!BfAFlw|(oٲ_۷{k%bm+p *+8D*UnKիv%G%KTJT5j`jJV &-R?f$dحԨ_'Vv!du@+N`23"$$D1CӝaX2P=ct侶V o:xbe;qf,ii9^är?r(k7"$^xdEWێ] gO_ ݧ2y O< 2UpclݼyXAE%?'HM-1F;}CC ,C~*Ϳuj)5I YZrr(o]qA5 ,JUإ[έJY%_B5Q-NjqXwƀ@EǝT/va|=e^4E nݻw~('sZ(3<= I    GAC?g YbG&M,c9lش"$rQNWL޽h.fEz#… )?|&0YxrPx's̻+4tB͛7'OHgbԋ@@ػw%&Vuτ=o,[-G_{ͶmR0>Zbgfͨ~+p^>|XߙC̨?+3A0Hfff%i^ 7S6Ӈ:tHNР@E*{ndZfr 63J,_zn18v8/AroFe 51۷oc!zj TIUb@ a@8D"mȫ@Ѿx0K43^rVxQ2f⬰x pŵ3FctRyjO =Qy{&_4ǭ7dG*)ݦm;\ frpDDP9|"<'(C4ڴng0׮R1>Y e i| _!hT:!RR4Hh/ AY#U2k)z4gE>tz0`7\$ci +iÄ(_6x&i92ym >0;*67m@>43'@UEoCL1m}^i*y8[V J0xZpV4!/.   P8 Ii̦kf҈z('xfP\[EO}WN>V.Zj) g̨Ɏlvo^nB%LgGBVgٯɟ`vsBR 9f-5Jrp1l0zǜrA6zŋiNyzx̞=/_YC'[_ZB:"8 Zne2J'VfÆ so$ p|ϸ vP9!E oAJX-~&Rƀr؛ZzۼUJŲXI|dZif͟ߝx3tTj*9ɥK_` OY#" ≘=.;/*-Zy p4VlY#]t6+NK_Tue2Ia@oR( L6&fep}FZjmۺ͟ naڻg5!?{fE#!gADAP"Yk\E]kGX  A9a.}{`BT]:NY7-Y(D]ϹN2Ő ^-Rإ sēzi;C!p8@|DH'w8KJ?kDo:spQvv֝̔9$#>B:vwM|{H[b ]3O7t.E5%3E`˶Rx1)^;Se3fxWgG)wH_I$-} aKD٬ZÃ#QЎrQ9rw!!3{7ɓ'~Z4h 馛f͚Z 4 L6ͨ#ēoƤpA`ѢE&NZHƶ+[%%>dtUPW%:rzgqA$F9ⓒb%"D1r^w&}'d/ ھcGͥ abgen-h}[ϲ'tڇhumAF$Nw j3_@? 6 㹸ͻӯRեKf\1(TGnY2tϱчtUΪtb~رhR٤Ddp+W/6 D:y'Cx`iڼiGٝL4ɤ \÷׮$un<@䯮}?&w]NgϞmI~aT(SJȖL7ũϯ۴Y*)-VqWmf迏MB1}gBusוQB^RߦDd)%4 Dy9s8≻C!p8C!~Nj%h/O\tYW%2A`8θ`šO@v饗"Jݺu<8~6pEC=$M~:ou,?V[Hf&IOK낦 _tEA:Ӑ[~&JˇֹC@4ժUV(*JH+T #F0Nc=4Q79+AFY6(726u벉 @zwBB8#OjYI u6e!VQ//uJx%eJ$?ٝ~ B8QuX}q+-!y(R=fwOY>*,TQXdH;%De"JG/*JDfA]>|T-^xaD S@F[] A {|[~^bP=^J|QHR}qF%}Ҕw\AjL$ lM8Q2PUgۋ{ß&Dz~G{*Dv7"zQղJ 'F_Nz%SRSi<..)(̟7Liqs1D|צʽb!RTSJzݻwI…d52[QK vA}Ŧ+֭[v|F,q B ?0DDEi7nlvԧKJ}E~Nxo}|{&Z~w~|3rRbJAg|7=Zڴ?^SM6睑Q26_{ G8 s1o*ۿN[<O wp8C!p8#ЪM[+:OzD*mۚh&đ)ű Kdu?N$O9r|GM{8O>d9~g&ew|M[oV'̶X.Mqcsٷ )V O,2v-sk$u֬YFBs9Ǩ\pm!z G]5JtƄw ܏ "%@rxv(>ٳImfYpTC^WXq)SB&.Hq>m}PMho }㎳ELQ+fDw N_~\"9s?n,Ԕ~+$I_O"cFP2ɾtcv͏u9qDK=ҼYS>&g=NG$#u O εvgp8C!p8 "Pj5鮑}C|'}  d8Q1c5zs7pd#U c6 <' &T^f͚]|gxSb  KFVRB,]v[)j^ o%%46&tNn}""=:< ~&''V~bf8;<KQ ̦ڡ-B| VZBYCiRAb38KXCf|HHO6ͮ aw׼EC_srnKRx/SLREiLXD~U/LbL8H5f̘5ޭ<@JT9Rv+=se5j4TAO,qܸqB4T<+T(͐*_-ӸiӦpZio SxD1==ݤށdIVu7k2:*o~ָ }77I9hРXܾSvG :sTD 7Nꥤ>rr==4^s}Lj?S lzvzRT΢#0k4Ծ6' eno\Q.qډ}t};QIHXʒ(ϩ.}nMh_Bǐe!Htl;SIua+O:h'P"x~:(,y! %Ŝ,'VdG<6C!p8C!D)KKr9+^ۜ0@`ҸQڴic*wedg"d X"yh`שSG,uYgY i5RwTqdqur tT"H!y޲eKl$EE1@IDATF]AZ/#FQlߡcFA\e{HlD͓2 T:+W8ּ Dz& ǜK"*A_dɈiNxyޙ^z!FGhq`mH'lNw.%3.OBAmѱfg"Ji8O:P:K /,:u2-Z0 y^Gg&ͤ:9eE`%2Pjmۖ)~׳5)V\q٥MDIMI{El0b l׮I5#F f4WZd)Wx,:!S'#WF/o+Xa_=YߴEP+T( \ɬ1oBwU "\bo^y1,Ne:UR;q#p-K?ݡCeKRDzP۞op|C!p8C '0PT\/2e40ٲ?^s #㝈&B,=8ԈD֛&r,rJz4:KxbAȽkK(XzvN=\lzv쫯aÆ}/W]<5vFF`y'LDb{' J'eK@j DUYr :8N+8!*` >#&uQ#L5jmߡA:7n&C268r-gaH Cx;!TNM1* .7͊@ % Pd'R:SL>뮻Ψxa?)]況Z%9c=ܓp=tBj4̟?CiDeIԐM4Ib_FG>[+m5F㨣*ԃY3 %t[(})x=nq9S=ڽHBi?KWB J.%aHPSD-Z*A 64+vy(R"UiZg#|0vt;Ѽys Yd{o%咱TP՞ԜJ2;/ [o+W^}L2Y%3ss=ќ%h1 ESڵbS6nm| ;1C!p8C!p$@c[HcfS,+5FP$UDׯqX۲OgP4^ñOR&=|@2R8(~z&MZܟ/H7|S;/U6s兗^y-oy'ō@%ɧ_Rx.CB ._~%|Z]ij W Z_MӰXiG<[Nl"YbYAZ #-~2e&#>hb _5)? NfVK.Rm>!5׸vT&dc~újҘ5[v+\{Ϯ{OPTh:)q>rwd_&L`8^'waev87Իo.7 BK3ې@ihUQ\I&\Q򣓴o/^ 4.2+cQ zyˢRxVѿFe6w[5\a}wYbdh2FHTI7Bl?l9@$l{.\(55j(oFU%I#U9[w*1ߏ~E S8ٞo!9K=s=?W>>{PJ9C!p8C!Cp"Ҫq揁E ˍ͛dFa{TnzYwl[0hk0杂uq xoOD.Pԭ3p0C8,gX-Ijvֶm[C̠M@%FZ^i+uVHOg=$6uT2|Qjmѣ9f'N ;RRwd%?vK:#'e!PkͽF"lzdM&HRifwN)޺B9R^gLT5[.l9H%x& J.ٵ8عK2*W&R>LvuJ b]v5 B7M@^1$WXbf̘1a6Eç~ZxV^}Uu'}H5!zo۾?l!ZXM/}oGj'B1K<;Qa?ts!/P+@]nwC!p8C!p(HHLTPe=9_Z ƍ95N%hm1a0-E0 jp^0E #T7Oy!=M4H㉶O>a?RuO({gCTwl"}]IM/'^p <^ȅSez^uDdJBHA8bc8ѽ{.? TV] kR%  ~HԂIUAZ&*9%} A{o8֢UP68 4˥v~2=[JA;OZnmV/{=4{瀂K2.3c C*»R 7E96{ /qX`WBԧ-%U$drHb ԓ4U:S_A 3}_b={cPob#Nz obزO ae!֙;?bײYI^;B]T>Hv~H7*{|'BdkβzǮRdbY! RA"^nAd6?VqLӯ5j$ñ*AF'mGQHz}FTtn}|8I|8RC!p8C!8hTZMιo&"m& 9i^ bEioqcH/с.!Mr 8Ϝ9S*#G4%p ƻk`O>Dz%;wβ>9usY믿^?l&=]@>駟n|RDDH, ߮Q?*U1˖J&~8-Kǎ!QDcn1ܱpܲ-' 0=7p1'wux7+X22T4J4'WЩy'L . *ʖ(eU3 m˖-s=R[8(hUIs_>'r?npMry[~Fun6Xf2;c,9{=Ϣ)ξBIA]WLgŔ@fbn48P2Y8X:xwh:JQuˮP"':u=8K/_nH}0 ?mXl'HU G7o^ 鼳ܞ{CJ+-صG6ظAF.h ulUU⻅s^I5)Nhc> 2*C(Y q9aivwd2.V5jZ%ôn*x?v u)i%w袋73Vd '~X Up8C!p8][kdl4SK,6ѣ 6̿)2?fhP`c5ZhaPYJHG#m88y guێ|/Ş Nu-*\7O"H&Z 9e(ऴwߍ(u"QN'9ߝ<'V˃ 2jTȔͨD8 FqF5i T$Cuk׮& "'SN1 k60H~W62\ viYRE*m}9͢i#3~3+hHuEZ*'s:( .bđ*VrKzЯSIPi3i5xQAH?ISV0:ʐQsؕ@۞z%p=姉:$ 9͙3Ǩq% qK[sVx4P$P ;ýoJ:t?ޮ {y^ I'B_ ,HQ-IDX M2E.r-ɭw!}*+/SnZ()&AP,m#F-iͅ8I.(C!p8C!S؈^, 1~O>%&MJ8;g''xb13hGzk ^#I"rٝ(e43Xz 6mݦ̠)25iCRUՅyT0EPMW_XX=q~z٧Oyꩧˉٳ}yZ>lشU3GH4:q:baT[IDbsN`qRER wXbUPX=;F0RT*[xQ@-[NQu hDt9Qg~ic!߾b\~ņ,4G~#MWժUC>qVi{IyVZeO(fk8SixwqdhYt,{=Ļt6P͟xҶ};vݷ CM(Iy?k+/}H~w[A+$b dQAf?)6{PXeCC!p8C!-4~mw\٪|02-\y7{Ν뮻 ~I)E0u6~f;'%Uνh²kw}WER eqI㕙ΉciӦ&J_W묙rWaVMνoҰQ9WGlߖ)+,V %b !RmjҪrrodr unW(SXVoȰiRT'(_u]& ׂCF5&kEu~8#'ƍ3*f\D"#uT ߣCk9R22='OJ*`4H:Gדf-[G+R`qg͘.׮ ;g`ڟITb^% PAFA}#ȝwiPU 5d_,:yN>Ny_%B<0mO+u+c"0fYēmE#,c'(o&B: Lי< pqUޖk") :u2Gݭ[7iӦMRg%yW&UO;1ֽ{wO%M%IuxcNe]f1n<{RE gn#41[) bͲuJ\@'7t@n;'HLgj$^QqxGxѤztSlHHe=NHqYriC`ݦM[٩d57thG!kw !;F3&$Z6}c#LCIՓ*L6MWq{A`{(ߛ 39>TNGsJ"}sR_˖-*tY 4HO^F%m]ZYU7'v8C!p8#4rmЇw3QG!oNԥ]הh/>e/<+N,mڵې;:kG=²i&wFys`A*Ilir ˨B:É4+_~׼   M嵓N:)D[&1*_^j̰CfHR8+JmMOkN#YqD!M+U鬞=sժUK("ל\SCʀw ={E-7fo믿Nۓw̙3P:{f1%1VcW_ƿ\x1)Ae_-_M\ݙ9C!p8|N_yQf2nA“>"?N k*+:Me*:^DqJ70']iu}@wX[…L2D#p>$=SB*DS~βe˚{D7wYF%eGWPdmۚz\;G3ei1%ϴ} -Ex 2qٲe4ydg|r}>^j*mיACΈ4su>ޗF{a7Zh] 3n~NaA/n!GTԒYR:~H:@aK?{h;[uC4i\N?P5H!=V߸Pg JC;|Cr#Bmw8C!p8Rِ#} ٲi Y0~z5kVYeh* V?OIvkTU,#k Aed:}PTq({VkL!s4G]E+{(!?oI'(0-NҢUk՗r H^" QypYL"AnTwW>B 9;tL PsNJ+"=D֭()s$Q#œ݉oǎc b<f k~Ec4*S(E*z%JSn:_yP{}:k!*B!=*0ˤi?i;tQVúz?a8.XhwG DH'kVӉҧ8ׯ/Ըi3CAC2r+V_fLO  '63o{Wڵn%|hS]͝NʔXF4믿.}5S $=MVoȐ]]\,r=ģGukҪUK!*ok(s9fEKc*y*U;rRׯ_fO-YOסwW^{榇A>gSA>bbi*>ngO"S!g9)IBxLwc7EA"A$ɕW_5eRO/e\},."U8i$9O^%8iӦV^S\|a jz}`ruD;I:pBVu40/'{V^ݤ@=XCNyN {~$-RXʤ䫯2HC ~ ǯ!+}d'wVmM&[NxJMVH? |B#o_uHzLƒkWK&N:!}gմi0^zqEH+ کU\3,10AKT[_pē};C!p8y:`ks(dEܼ5?е*UGOIOO2%J j.]4M0ܚ)2Jm5٭K"PU.\3VUvtUIմ:@!6A9sE9;`RRd˶QJMu(YD,#N1_'#ҍxt;Olú;D}F2m52D 2`$.y(86;B&U{޻%SU,1 $<u8"Jcڵ3+"RJ'8=q+|e;gxO 'r׮yCUV־rA6Ja;y8dyA?GC(=}!G٨G-w%tHj{#D 1cƘM(y 7cNbﶲe2u۲LX\Stf%FZCVT#xAˁy{;YxQRD)[J'O?ECh_Ty.3gNXm6GvheNPxt=HګW0UFik0o[wxp/n!p8C!pR~Ք:֪t1hG&~c {lr@+ߟA ""Yc'8I$z]O!#G|'>=mg}V~ I)Qp814D1VZeq/;s}zdmy5jd`o8Vm.m8'T;엖Vڿ[>VRxj3FsD"$ k׶kM9 7l ||MgR˖ω |˖.5gx6"!*F_7ߔN:),O;HݖPȈ֏_~Q.khaެE+ t)׭|=-0H8DoFc-ҵ?ʅ^( Uav<=Ab՞ `n( }TiXL3ImUV-Xv%-93ګ&أ}l2 ^f̈́ۘt%s{U!߅Ĝ@ۿzԭ[WSi4XJxk?AR4,xNkMCfs 2fdF֘GAxacF0OG}%@ G<؝C!p8C!ض-S/Z::کsкX3 60hemҤI[9Jc(>8ecwEsM- K TBn'')VmwSÉK?Olvn)WP=Gܯ30w˭j-RU C2핖^Fjkz3 l%(CyAPEx6ԩS*B!?CNpCdC*RؠARJT5N;Dws}L=҉Φ mD$[kJ:BjjjY&5-^r'\rIձ|RuҨQ#v3Ս7kTeTCEeap~|?IF>)"q]y! qX/tܣ@b^gY/|B?ޓ⼓ .ZLflŊ"OZH)ZJ(ŴRHuy'o\u=@$CK.1M>Z bijմ% [K$ C{hCрJ*øwP%@tUj֬<)ʼ_>iWQEiC V[n< 9IC!p8CiSDt Zt'3͛׊$NAv<đnݺv= c{t`kY]sˉ;lC!p8Ceak(O;C*i$u!&B'd9u@*AVIjؽN1-a:`Nө0`ѩSР rA 9>6p٨ҝG'}oQ& ۦ:R<]eMA?{w!cFoIfaG舢%|E—t#y.XI^TMquܼx1@XF1PO?7ä 2~gQrݍ7rnGf$f r(1 $m{HG] ի孷rgShɶVV@?$DIRM m;w<3R+m@;Wq :k^oHzǤ7Ť-C[oNo+5ʼndǐ?;b\'5<͕%HQTgȿ?i+I9/2Ue/ǦL8fyA>kӻv㾧yRhN^gu#@_%PMqS ѣYW_/=Yd)S\ypBG)Io?r)ÿg"Jv'v;3h3i;iO͛吸HC^P)۵;<`*u$\+wC!p8@GF;9 l۶(/s~e'땸QJ?P)$,#"*ܢe+)8DėԁE"o @4!iš\}dv2$bqOTI<R`s-I3 l+x׎RJrMrxqw o?iH7o3&_~yX1$1\iC!p8C!4G>J sO=)͙m\FGוSN=,Oc:A`> y bI %zycOډw8_6-5"a{>uz-_$ ?5o !U+`_-_5Df@ߕ˗i|NPs'S(֨=z`/GwcauA )+·g}V}nj2 HK,^X~m#/̺o64ݲeKAc*$.ϸ\D*˛^?;Gd!"Y$<_3os? ݸ٤<6c]AF*AK!@IDATA6t)R(epUVC]G6]e'\#"6bԩ 9+QT~Yz)80"}]b]3> h@ejkHW$wKR1PAF?f̘6U~>Mʩkj}-${%:?n8@[o y%˖RrU+TqT;V{m˗,UJZvJYdFyF}Fm %lj?5;v繇D5`y<*)|Xl-"72fJreaÆ#PdoH7Wxև.W.)W^xܣT-c…Y aglcE 9ovHky:/ULvH:_gz 7zi=ܺ@zACC!p8C!H")WA u*N/#T.|4!R}]t7lJ.##klc 5 $됰wkc rJcoY6Z^zeqBǕ[>n)dPNQ;"'?# 8h$1RdQ!}} :o^~a Q~j A֣gQ g?)ĸ^VCO4M.֔~$pLDӿ|7!BQFr.H#^<5{x~#ܹCUeuu[*Lܪiq6.?7J)jXLYZst=iޢ)1~5)VKA )3ٚVС~4̙3e~ 5kL˫dO8^ZgSI' sɦDBu|KY6Tw*hrsI~zSڭ^ǂO;˽cgMxbpSC!p8C!'W. e՗_Γ=:ȸwAI4/SNmhۈrb,I5ڤ!)ĠuAa'1@Ϡ0$[NzH>[Bϔa?]h8gϞm#oVШ@gyz6UĠAɀK߾}M> *g$ .0rÐ ˎC_q 0@νY9=nSvV.&%KPr@$^5jQ Kv " jQj$۷Eu^GJH֬ +oLt<[{I޽o6}Ng }:KƎ+/bHuNe)m#qޗ\&4/xlOU"/[jq>W5(,XV 4G "ϓ3@,|*;C!p8A`F( /2}Ac_~|ē~Mw 10ҹsg:zh2 N6-4 _"q`=tsFm֐]FHxs`P?nI]w~. ݺ@uM>D3Sb&b O uڌM|E*7hl4)ē4\F&8p '*iO>_{}2?aB|>ZSĖeT߰@Vp!K{!BTۜ9so-]PUf 8+[:pY]H>#exl3Δ 7e{V(@n2Ln' }HJyŌaﱧ-'W/Uk%ӦL6e89BݻtޢDjM Bd,XF'׋olj\d*XiIr_W(o( ʛk(eiҤ?4D@dF#8dyIL^R%KR<>`?2" *Son)CjC 23@,$BnC!p8C!!PV#֮^93}[D2U2:Yc ?$<̎&A N/1E*a0(Oz1T2xzg|ވ-n#Ik- ۺ8طnMC5Zrϝ0@װDZͷHٴ԰gG$ki+#ڔx{;O>sCr ڟ<ătu@ stb#[c k]zFI 7<K@?N 'w!Gpo#ߟN{L _zߧyO*7͋xWW)WF5jhiQ:So-ZrI"r\Z/xwr͛dwj*gwk62vI'E&fz !yFQވe9&V\}e-3Xk5'ҶN-)EاF]cm"Dbb̷*!DtmشEv7An4UMkʢH%iіi֭"D r*"vH(vRΖm;B@/g S"҄~dc=6#?PM?/P1RCUC$TJ\f~׎ҀB֯l,9.@$&M3@4b9C!p8)97j"ΘtAF_2xx‰7fFJ]H8/V"9"w4b(X)jɤ`G^x/TI](%[ QiOSNO?ݨ0PÏs1;ܤqzOaɝhdxv!L X#?=p2駟 Jc4Eg5iݺ<̝w)Æ 3v:.h]Qi=7<.-RT@{?SAJ"u~>&':E)G5k&O?tZ7^$dc~B,`y~gYq 4R6wbs Yl$wy uhǖ}4Cu^5H00޷V= 4kRCuS:kk?Foo6C}H5}"}x-zmNuASF҉=h9tk/NatJJǵ1te&9D#8yQ#m(DgQ4e:!Xx_%%|%I+&RKޖ9'UYf A<)A=L2n9EE#k_R)RW@۟^·}CagΐfEJYO{v(~Pj|IJm6gŪmϟl.b!p8C!p!ÏA":H'h",$ HW>3D3(Od@RW^18f s v=,~X驧2{C:7ߘRD>TP2dZn9d3^+Y1F 7vکF+&bS|א#N[U~:]I*K.JzO ]\[10GW^yQ*}' qD{KӔl`W..et"'_v:9jO"[np8C!p8 8W~ҁ˯" '(1Ƞ+M0O No&?>K݉4 `?Nt8K<&QW3g2 ,&C$ N*pT" ҉xba + 1hKąLx[MެΏs]gеkW \HW^eGG{ T3v<_^2c)W\|İMs'DkݸIRxQ٫(OyM7&#.p@@):mڴX8&MA: H?UJYέ18O'ep8mlRjA0=K7^lm;F+A4NPҠQc[M2 TSD 5m\"F 1}xTur^ǜ嚶幧Y;L7pqq/E"xkL|`JpPx!iC!p8@@@$E4ڮ qB63 va5K:aZf5>Lf#E,jn,ku&ѭSY8d&=z. f Dd?hs.:91ߍ7hT,4' AwE'GJ_aѸPUH=裏mѦա'޶*jO2dH*սkժFvH})zyW{gVn3#Ŵ?aeBp]28TAzj|<3*/bƛosVJX*V\"Q2@~8w!D_qNxw7iw(>_|U`QXFHt@uT NXo*&/*lQU9,ă93-[:J0c|ƽH{FjPSpӦMe˶Rey_ɐ?5) DvMi{> k׮\}զ %Ҕ=Z %ӆ ^&ͤD}䌜?k=&@"i0\uU x˸yEO,np8C!p8=K4v&>Ǎg: ?@ژ={O D={f!rzAM$z}_5wtҮ rl7% M0uYA6}ρ6Aexvb֭Kz~% EyFe”P$7 ykA$oy͇Nn=!8גT;p|k^^~ň  IalӦMr=JG}TR%~lQʟrgM' -ͼ]4Yz bԜ9sT+:uEFu]r7ŚQ331EWh# ŀ5z6_~9 鄴yA9589YxdfJj*_Kno۶./"ye}o9IQpŗj=.QA*e!=?(% x+VIyk7/X0_6[} ~O>AgR|VruzB17ۚ"@oٲ?qC*!?ޏeDq~ݱˤs95C^o-^{m*͙yl{_n%XI^cR;0+ dA$$*1]5氮Y$ [C]t0ysgnwUu|0ekZUYȂ-NsjuD5Q&vl6!u~w2ݻw| Xz-¥P+.s ē]("("(EZK+c L.ȕ(aokp&bL;ۙꪫ4lFNzY(H5GwLz8`4hƎL fDS` TCq¸ D&~ #ɺG}4*z_~"P:!We0.RQ=5EbT|W@؜~@e,_zUD:]~!mR?@&0ժU=gxd'y[߫m۶_+]93k}Ar5k6gU|?uioݮ]p0ae}gL35k,֤u[fIm% /U"4we#'c܄x(qma&wnXe3gZԩS 0N#TKZ+JZ}w.;x>xQ̰aìR$ɼ2c}"cE%P;G#(2Nqr-3$bWü ϊ{9nӰ n_WJTFN)ο}-?\޽zHNp-1t5Vvdn($M1+JMB]79!̈LtTJkQ0$c2kIT:mj^w]{t(d Gj{rA,DRZGIrdW{Ds0[hfÚ~^!/ou5ʒFP=5Ewԃ87{19>fߙtO,sNOs3Hz衇7t-#JM%ɈZ&M N_%Y{Dޯ:J!ger⟷.8_N`.>\SOE|A8o}oj䈳8_vx.tBz=;cNj e^NmflS䖐?V.[bϞiϙenޔ9֭[7BKdn|#f"ɅMn,&&oaL"$r| )!$j$РUU ޱZvvZ!IGFA8we 6p2(fl+j'(mU*?R'b,EtrW Xu'vedj&e?˝K9[WTi5/6~\EcUwl^U8@O.ng("("(@"Jas>DX; B&BDG6m%*SthN)& gSrŗ^j>w$t~ݏ j&Z‹x֬YU޾x"pי%wlt=*F5j԰QsL@2JO2(z-ݭ46rq'ݾ,~t9ճ=q_(3/{jj3ԡ CF"l #R3vX<SN&Ac6Z}#nspjEn:uU1;2:3"BXVGRt]#CX/&|G3ʞ{9ꋔt~#-)pp* RPkIxm.?$ 5oU1Z5' u]Фs)r{.~{"ghIŊL*8g"{UU7RW_ު0ᾈ7*<ɎJƭ(q ssFY޽{6sb_^z(q ;t43x(Yĺ DwHx1)W䙊g=zRa * EQ[VVT SL \ΑN< i(B&ۭK CӤK@W_ETYR61RRT"+IM^71Ü1&)wHGP("("(%#٘ 2dYf=͙Bw!ڷL46ltD ٖѡk~1&fC+(RA1CL;'2iǶLgɢXJ$A˗[;}w#駟}_nڷooHoڱ,!jaL٪m`[VfA)/(̛7/r~7RE30էT@+PXR:&ab 7`n6[})㰵kZA}O_VOgòem6lٳ%\ּeksl~TE5&))mYgʋ*QjPzB \p%K eGBsᄲ(T &(@6܇UR9֌L6_U"baOҵ/*sf4{$D;^6Q(H+?r$_'|b 4ډD^tyngkZOlށxƳ!CXqlΝ;c9L:5ۮ34>To]$JzI5# A"VRV?'ƚ!0tl2kǃԡe;{!37G@ ͥJ.R2H\޶0VVIP*&|ӧ[ ^bj-BU\xrY ȒX®KkԜ)ENLR wWBDxv!f%Hɾf:E@PE@PE@PX/yl$h\"dr3&f'Ze,ȁ}E[&MCįD%\bv8eqyh&&Xbe˖y7gE mBXy5g~zfN16@r"{-R~hڒ/؜.C &N+Ȅ-/m(&V<@ͦv \RU8y?}[4<=Ê\"~BjkbI꓂*yFyQ[ѪT M*s(q;0K ?]R 퐢Y!&N0ӾN ~ ew}%P>_>|."A.S9 H΅'{[ZlzƼHxtަ}yuZOLUYpod I6 üvC]C{@y)e C: S8)=3CLH3h~KvJEFQ@ 9wF=AՔ{+N[nSR$Uo9\23E9= HH9!AرcCCmsMYzjU8I\\ <:h $/8a(ӡ"S|YV6?/4j,ioA ӓc8 J~Z#ē*"("(@ ~%7B u<|cn26"_)U&#_r`o{W[|ZZr|lڣa9ƿM\:uf9cV$ωUTLQHpONNVdڃ]t퀟@4h F 7oʁb-E|pІ4!0y:3_8Fi JuQFmZ阏lBD1ꫯkG:Y龤ٴ .c(6B:q)`ACZ `3mP/"t-Zl;7 C:]czqTrrUi*W,o.PhH)v?cmO?4!oAΉg] o"H'jg6I;2bLLIpz;^v!?р g϶F @[I"U,j^O o="("("A"-/9t"ʱ?42E#l[ŠL#mܚas<+#x"=XxbgڵQȂp(=_|M;)̤;8+5IЏ dU+!Cku]yzL]uUQJ&aAV^!ҶN:$~s= t%;UN"g'_Ljɍnܸq*qߵ;Ԓp1\raC?0.zù4Cd-Np*8PP[R֚tj tbQC:>3bLVL{2J.jsx͗2{mQdT MF٠2Eiώ9:8ؙ )ʁC0/m|;yU|ORrq0]ϢNc\EUHI&ٯ&L:t}8jG´}afRB]|ٕb)~tYXsڰ3sfGQ+CP"5LaX4ag-<3%`]q5hT]~x!b"ygiOv!鳶K V.mW;X"^LA>B}<tyx51CB x/MPE@PE@Pb@y)_dqA֋zLӚ_~63WD! YY&x,QL}|uT\L?6W6Q8~ s :+8IGq54q gL97ITj%O>^HtWu"mZ!Pj5_UDMjǩ 9r& ^ʁTүӊwJ{E lhxW_q]2 ѣ/Yf裏iɒ%dW N]R^-;Izm Ԝ5cZDm&{5M4Ub/c,iGbuҶ,[,zg߷;t4dcMXZfpQx뭷BDNg]vѽzGaȾYf_YYwR )P=aSputt={6(zU(_֦^(.BkIBD=)E@PE@P#˗3D[6_;LB19> RͥKb'Gvޙp喌m/J2AT!h>6Z$z|wl2 9 _"]Z852q^R']G`: wɤӊW;R5hc{G>^[Kۘ*ʻM??pRjN =s Ilg7J8hw))>SG֥H`M(uY#5kI;Ltc<흷aȺ 兌mф1պk3?/!A2 A\_N~N׈z%pg]YwŰv3:peܒT2g۶[ Ag5ytRm;9av992j"rD+3%sѕgN:MIdRxrKoPRDƻt{PI1E@PE@PE Dy'k2DœL.-uH7%JX-V˒Pby;aտgJ$Θ=묳$M7d^{5.&}8p铈o}wHWwk6A,]i٪Yxn!Y0qϳw䳾{V?ⴾPBF3’7QИ6'VAhQIiTgQ]wW0O> tĽz(-vždѲ9C@'9MRE@PE@Pb@ffq\[D٠*$M!)GV(mCɄw0 ~/?:M.~i8-J]_\|(E[-81dȐPr ԥ e4T5HveTM"yI'mJM3y3΅ȅ? o7_Z;ٴF(1߂VCpnhӫW/KN:+Vg rmPkv"ē+WE@PE@P ~U?Q dt;t>kmnPmk*/ȏT8_wIo~."xT&h}n |tC+om~^̌5)Sm$*C-aܸq٪} '`Umoٜs9J${x/8Z-]b:tltݤQ*+4$[hEYҗTufj֩g2ȣ+jpϙGեuVmʹgG I9uW7oav)CM5Qz$3hspiDdҤI6ENb8+҂D}|m.^$5YiذU d8^hHWRa!GAUuS+K"ďRf! $ѮYl`xߠm>pCB!߱!ֲUCB`I:yRܣ v`~gta !S6T<s9SHX1wJEaY9fAm)ςp'z\O>T$E ųNGtWoV^)._~?0gDPIHi9E@PE@PE@(ԕ+/$w#)( HLٿ #v7HtLo؜nsѻ5TRAq-˘ҥ1bd *drZzfkƶ!:u]|4kan63|XGp KNT#mǦMGalgR6 aM֭QՠUpЪȿc r9BRoGEuQv@J19 9}~ HQ2H'\+/yO]vg-ۢ9i`Nf͘f2bAgIj~UDR`-+H jyEɂT9JRrk7qfV-{Ѝb ze Reٶ^@@Aeܹv= N{DDh>3Q~ዳosP Iɡi C{#o_b=AW\t={ cw?[>y7%La SJA1V=Y޽_6З'Qm֭]' ٯ%͚>,㠪{<F~)"PDJ)"("("GTZʹ~,wwǮ$dI&\O䖕4-%BRFyt%7]l=~$W!3^Dy#6m۶yp۷7Vm;L:uU=2Y 1Y湺jcE{+D;C;D %sYwd+ ɭD%ݒPu碋3'm`ٳ-.!V[:{V$ZE@PE@PE@#ZwfU+͒ bD5kY'\r֡ssXx,(TD\0$izX3s-FT >L "kTɚs{@!-#LH*}6d Yxۯj$If&=[_vvv8p<‘A? 'lq()V+>vuYwޱJ8(e{o8;j׮mÉŽŽt]R-3I1'\}:'aI3}VEHP'#C)SD O'jzцi~]2sT~BɍM/rEΣrj{ Ͽ~{>W%N2X_&{ݯ r9aj7^遇ӧUb iիcO\e?OnӆBŅbNBg}9͛7'D<_5R;[w''tU0h戣*ǸtY0~-杷 =)a饗^2/-uM@ADe9TMRѤ$v˜)fy#~ ]Y `3d*~w%/>,[r؜W@_qgUuZ"`8* "("("`ʈ(ݎ4K$?3"Ĉ/L5lt;_;pv7hX8EU1g <8DWLG!-lΜ9V9x&& bG[GRے>}=iMpM…sP'!Y5U']g,l[%\q{s6γ%QzyP6S*RU7^vc>ld.x\eEHhc?xϬ%{L" ߎ}=P]{SSE@gEJ)"("(@ELBzuHU3&H l)))K331|x(m .-vØb˜ ?Z|U>qQgmq.r_SaMf!I,uiz 7yOG5R95|Ms ?MBDQbW-\|:nL:i.ro[g΍;*85נAjklxaP-o*DÚjW3?~I12Pf͢*^uUV X" wIQ?G]oPYPN8ꨣdNjkd[+*m@C!H [3l p";F:aPynGG%cz$BnmgH2!Μx)̄>5k4W_E<7Q]07pmiP̍%mY[\,O%Ko]BdI}PPecx޳JXp;]ws"f-1rh&QD!;!υ}m]v V<}~w&cB?T,nv}(y^~B>ɸ8Nfzldڵ2ݜaE֗-[\~"ߋۇիxœмU/: 57˻"(J'O 44GsSNR+:sO bٙT#'N -}A:*3pP.%KstdABo\I7* FA?ҳgϨ7ԇ~r ~ NźVp Nڵj iz1o6-`W\wc cXH'}P\pxT)bn%c:tlz_p"_4-ZXGa>{ڡ.BbҞ=j#/>ر̚V/.(~gShha(mܚm{XEy}%Ihesɝ7r~k޼U וYTts !3k6z*=ƍo64hZmvZ~?{82E,h U8[ GZ&fc}ozȩ1WۿNGt1l}BF!17Hdǐ]Q±5?[ضæOCI':Q>`̘1bjU^ Or ! nAԉuys-Oͅ_YOFHG>f(-҉'@6OC)ʑHIXގUxGMd'B->ǭ;waI&E T65L4{'!* yKeI?T0#̌t4rwuWD"2LƈȜ7o%I)[~/`zѥ֬jiK.v[oD[<e^4sÚKj*F֍f, K ~uO%p< 嵰L!m"5۱[cOGi#*ҼDxUDB*D ЕW^.øR%W^m>tìZBTxMĸtRf4Ӛ&Rƍg/Ulip.^lذުu4i|MA:nPfzGlv{tb%#ˈ# Bͻ Inwyg2Ql9-fQoC1xRr5EƏP GmذnPT?x%: XT!5]\M^qheWX! .~3]Qbu|rGK /-Y#fXWFQ~WE@PE@PE"$!A=Q+<f#L(aRśmY?tPsiV=z0Ȑ3韬g套^ɰ_UK8L=Oq#6&pO9K>LP@YH_,rw{D&i1 DH'ԑZ[~vhf(AJHxvUn#j'a{jUo8wޱ?ORxI|jTBD$3 X((A! oecYdX;QF,7褓MM!6oҐv]23?v^~G:9T Ƹ0I'\Tl^~YdяFOݾSLw1/sӦMj c $jMEP 1t9]Qy5^r;/dRQ9udHKQ#17&xV` כ{(wl!%q!CL-!1N{"p瑾կwn]odgA=[(-Sڴi<[_dx6xfLi6>&_S'zxܻ=Ė.&DO'Ѯ5Ik*&MSŅQ߯ΔΙ3't-J7hOF퐺#Lg-ץW("("(@6,YPζ1dj%"(+D29)΍eD qk6&6mhHz N\~]wD,pLNϕt[ iźf! W{1 JV<#M KT>1!cp*ٺ};%wA6V2}@5XӲyE_~po7lt/1}ydza<,x[_~xgDom۶ }P #=!K^HkSPHb^OH9ʭ.]Ɯp≦j(=FQٟwwc V(8#-"A6aUpiiiygAC}t"E@PE@PED#QdkV-/.ULpgw&;2D;bH^j&I/r"fL~֡,7-)Du}CufgxG)P)hQ$1r^#*_7E;Jes"tBTe˲94F9⣏>"M!:G*핕ڲH' dk qӦMQ2~A'3mF~Em][Nj}i֤W[FZ ܴÚm>hח'w=A0?l/1()%)P¶dn3۲֭[k|d`: 0 IjB:< tO m͛8*it1 P6 #7pSdcx뵝ߔ]US*7*spDjMHEqeޒy%n}=U 4mf;Z]pCz٧Meʔ5t3fd ~N Ҟ`oVK)!9"DX-w<(vB Cm牒OPĈ&50(tM7YBD':SwriQD- p$aÆeK?rW_$}UW]n]* ēDP2"("("Pl@--B> dLT>L4B ]Jd&k|?ҽLǤ1Ȩt$7ntLٝmrA\SN"&Q8D s r ^6 Lc/ňtiOH/R~;N/HrΙ7lӸl e2y31gF|҉} *ׯ;rd7KNqߋ㲂VJU#% 0KUqfޜ%X!OPbEHy̩/f:ŎYsz=q[Sti}v'7:ͮ"b' DHaQmr DN6mjK.57H)B@)~4d;Vkٺ%N߰rUv ;p1u_~|>Cm0?̟gIZg{6}dLRf[+r; <䓁28nF#?䔡nW]gU: 9&H!gr\v'HQQ@>nu8ķfnѾSE ̙3c(Z@2 nJoN=TK>A W^o&?g_>@:K~jAa-!E:a_^_Lt=gg O? 05kZLvzgU' +/f&/yƌ6A!%sV5$ #qN]Iuۣ3w=E<I'n38+ȥ^VSQS-OtnE@PE@PE@(t%R G޼х~!zV8\~uƤwƭ/̭!=8uE*4ץy}\ǨJA[Q QCܼg]U0?u:̄wa˾kYw ~皿~ONCuC4;3᪜M甗IkQZj~7m4ӷo_묝=fPˋtN04izX~@p6fKvgg^~kҤUS;j8ofT[X2G$]ͫV'kzϛ:i3% ^|E3zhK8ޡC?:8+p5Tدz_ǎN43\N ۓD֫lJ{GgBv/b,*裏")Րke`Ao?:9hn0H{QDʢď^ξ/$l܉G$̈'I e4>*VRO᧟~2p}Y|`U°Ѻm;W,ˆοN qVsl8%n,qDlt(UB&pg+VVgQ` d0(8zTO<8JBP\}\"B r)SHYm/QF<ګ &ڦ-3ʆMkM:aI[$H~>hzlc.ΕTV7|-3w\Ӿ}{KL t3 EjWy )ƒ48Y+:![9W>%NeO?S4O8] cgȃ%[*J_S_>ivٶ;;Ev@."("("&M߶#r L"˘\iXEt[!"DڶmkteDCV\9V1X W=eebo.rZg;2\z{u;6o([~JDS3a?x/r0::A9&!kΪy,Ro9H9~ u-fHݘc9Ʀ5| "ӥEB(SeĹCD/ptRsF0+GZY(Jʎ0)'}D+,;o?3arx馨glɒ%U=-7Eՙ~y]nW#N ApF?s)$L:qA<)Fc~~ѝ7r5o9ooINMο2%+e=OyzT0Ȱi>SӪU+CgKKP ^;v%)+wA ^gN5H&|ITqQC// ZiФةi&v2³YAx$N6Ktjh{$DRLXtuROP~u+"("(@B&oy+oc LR*C-ۢӎ>蘒L棎WxbC˫z@ 䀢duÆ j,D""j[#͇6LתU*BnCP03gu|Ab#My96B9=+B7I)w89rԴHd9]pFA:IS34*> 2n1%-p@ )}҇ugͷZ`']/J"ImSkԸI_x"FµIO<s](@"ԩSBAL8Ѫ2wOGwO(kо.o]nUxǚ^x'Al๡m 'e۷~k mK/5~\'aSȐ_7mWuA&kb1mF Fyar [իo0~GqqLͤ[^NH;"]3+;z'ʕ ~_.`&y6P<)Q)/f'ӺfeQgM-LLf̜9GIdeC 1_rDEH_{@Ib8>vUVf!4+pfI g4B:lSnp}UMRݺu=R4h4GyZZ(2'wTZ$ϴ?{},OOƍ <"adZQm)u&nKdP"NX7K2b!,ȔB%G9ۦTClHd{eUĦLbS l~iN>uQ ޺hi|cV'pEɦѡ !nݲEymv1ó>;B ڇ{u A[W^̖*EJHiK\cOǫ1v Tts6vv=֗ƚӾyyw(!BNG!kP|m{VE 7MFWPE@PE@P"@5mԣ?z]޼UӠa"zzZ~[0 W[b"^c zqLTgiUH1#O<ȮZ @1gzɯ9%?ޒOvVM^xܹ_N 8Dӟdzml0XG8I0gL>|5q%PSǚa8mذ%g;8 ]"_eUNN~t'>M+5A"!U]2F?L{X Ts!t>[2Ute`1t! g9O`{n+c8=i!`eqB:7kzLG&׌5---Kep :TKtJxB*sAg֭[P&o9]r%]po))ۃB2lx~K u;;ru݀ i~0@C0{`jZL GkY):]|&QJ5=xo-g*\z(,-L-U; W[r׬R@~fL&c7L4=(;wlNs7"|8}0%XrH]g}58:/B&}]w:Ç:!ǣr9_}͒Ev^$_~?l* ,ڗ/`eevxBd+TVT\I s=6:ڝ*xS{0 gGY߾{נA*Mq^Is% Tc ?xA1&I' [7!gŽzsΙHDEkf*Kڳ`}ࠏe.]HJZUA2OiwئPΗ8X=VЧB9/ov1q8^z I?ydDZH'ԄUa;˔)[Vy >3V{աFi%TbK{np~ɚU+Lڵ#x3.YfU@ u$0s$۰ ̥W\iۭxeb{jJH"%$q`3Į^܄D:C(aY˔jy@,u#v7N3'yIx/ڷ4w6mZw* }R,I%('>y8dt" x tWE@PE@PE@P@UPFzvҤIQpE,9AYge#N!(?AA꺃 &>s_/# U3W_}ylQD`%O.^S?;uy*S_{86 ixow6@IDAT?9@ALmݺ%?nڴ)'Ue:!*'"h9SOTS.ǍQ|@' 0LҌ}`eQPR]<.PI>+"("(",L$|Vm5V4agݝwi^xᅰ"Vدp4p]L<ރ~BtX(#@:!*zQS}+T?9rH8*unY^#8@U[wYT W +7*FPm|嗭B FjH)Ԝ &tR&R'O=4oMKdߒRf]GӾCGmʩxF *+?C<صkX*K-c ԈkSdѧ:yhA/$A{㬢3@L߲|l?=qD3|pW.}k~kڱxsH}2ݜiXUOM?S5DEɐ{:9!ŏ?b lm< w1oCixMCYݮ];QX(UQӎ7!Z}Ӿ:GZlc._~歷޲~,!)Ŀ}g.DM(h+hx"("("(!y]f5T  7y$ZZ&I8 7_ SO>iN:;8қ;R(l_}_{{;VtEi"Mz]:~?\rɽwKr$yL&sUV֑iwPˈ6+ E5N |E3N8c[e|Bzxq;|"@d"\VZ'xB;"p)Hteq\ک=w t&TeyL$PٴQTŴoMWgt+eN#,@əX[^/p$U1!T-_VkR;!|yX*/ݩ)j*Yc\0zh5vXlBߋ*D?ꭷ\^H:_ӺukuFk׮xgXƍZ:8MߔknPgW_Q/ޙڤ}&@I+҃hQdƐ+h1R;x)8ɱ:.[:^ҴA8hp2]nT|s e 4isȑam&} ~6>YieID mo6oݦE.VON߷wz8 SBtF2 8!`f㻠) obACjk`?=ܘA,߃կgf۪"Lyo?^u0uTB [ى eP̈́n#$?^ IwY4۶+%qD۞Dx_1I!mE:xSnP:C'E >-ihis1I"pEKcB} j-Āŋ2K9wi KG:eNyEuF8_nvu'{ EKmzZtBtqbECS]vLđS ֭Y'-V*%C^u-?x`Ed-(- me$"7UHprk@N{zIO؊+{٧\+aS$B0LG/c֯ ;~_⯟qx9uL:~u9V3-+*KEiH3-XHGG-A2J+XO.INT8!@6x79_!|'E]O?e(%)u=X`4۷__ˈA8IkIhvݶUh_ xjAN|P%]K T}QFC4lذ8YNH눥IKgύSx*P$CA>pOYVĈTJH_ZuT8H}hkO?RoP?O0@ AEBdneslӱcGn2!M6M bьr ) &:ULY)fSrj^$ݲM[սWSЧɒkn;JԜʗItc2SlS4miע]HߢgcX,E"`X,lHbCDq3dq*?NH#Q7\ԗW _vΛH9Q]x7u&%_!k p矯sCVA`A~32J^Dۤ/wDbŃu'JٻO;JDi+z >Ty駟V d'9S(l9UvUJո;>rzHΟWR])|THsw:KA0~WFAVNM!}>A_@,֛:?u]!_9b+:iԼ^Z-R^i,Ω~tRX-vR$\JH4ӧHgܻ~ۅ\#w bUՀ9i'0nNu0I?vVYtƢ9;Su= )#7/< v(Oy}mҞѧ^hBrkdK'H[_TI.}8JL{Lѿo% &ϙ3dz ёUVUՋD;ԲeK ʾHV\m|%šzr·{bٔ{ @!fW-Uοp_ࠤ|Vf-գwUY==>! kMg[dJQ̪DCȮJ,$+ѵu[,E"`X,@! &8Lf=NK:w*fs@r!4l=s;;? Zm3ߌi?_x.ʫB!}0HvR L7Yfz衇4P8i^l֬Z;~J*UvWۮ /?ScFJ ȟ?^m䩧R[vʵB gpz{"V-wN0ۖmک}TBgݪ|z78Fu )1An;tc9FU\Em'xAIR/RT 7bH ?G/)Sޣvd=}ԽGO5OԈ#5\?;u㏞ 1(Qwi+gOMNAƞچ]reʔ -4{^ʹt&6EHuDzIrICFkL͛/{ha"͛uɋiҤkH%3r,eI:_mܰ^Lk֢*0Ƹ]KRe3F}gh&ce% Q%ox_b5#ґ1ԥV! R2SLJ.J"60?g} }to&.0@rq+΄`Dx"pZm]E"`X,E"`i|rG1M ".4 8sj8f0S[62w?:Uwz#tr){{Rթuv4nX+jС!T,~%j8뙯&ڵkߙ@^9 /!d:)NĽ2Rx{H3fóA)ngy^{HoH["JH:BT+ȶ\O>/!̀tD#<\ub, xY԰/U &_UDH >8YqVzuq^D0g+%Bit. /͛69ӦgŅݻk礻, A'ݐ"@Pj+v8S(M(! Dܘb8XM߅{ec\{FY ǽNCl?Nǹ5_}Щxm[Cj~w OV"s';HF\|exCt+Fiv0 sqzz1ʆ!vCT'6n3^ny7 cydƼ:^wimz@ēx!iX,E"`X,\C/hL/#5Q\}7QdAENYz}ZI"YdS%B5}ⵅ]_wjDΟw^.$ OreU /!O}K[n_Th2]"ǭ|ۯvl;Q(͜9S?~@엶V~*,GH$/0q$bH'{ 8Aӏ>)d`۶m0lLG[+Fo)o t2)ēoYRG_w߾!VX&JxUu檰A'|{Z==ׁw(XDqUJ2k\GH6ld'mͽut$y>UӦNNY3꽱cӕɮA E}@:! [III:uԒ2k`GWIːbTR<#|wB5\zH0Ky?yrkӞ6a;$y!Tr{wۍ7ި5scHe.]^z9yC/i s=x/=@E"`X,E"`(%+C.DD%y rQ3 tcGӎ6m&!?IBDォ5)l!qiYCˆ'hBբUkIp0L] F:Z[nTa+bs0BB'g ~q#I;+GZݻN@[qF?wD39 ɻv Ѷ/K*~7MOz'" 6ļ9 2s?_~4~xiVA :C=:aeU-ܧKBrnBpoohulOYO6m,7;0A &csݦ mbQd\%K@:Յ^b%wyZ1kq3;P耖Q0"zo~E"`X,E"`d# $*uP DMyD!v hP(w$z4#xazԄ/> ;q $C𲳇Jp{ewSAN) VO=NA.Rcn|AM=ҶB*;tZ'F95k:hջ>[$ոߓF[ I 2NC%3+ҪYK֭[cFK0EƓ~+P1x&H9*|۸=q`Uo, /j~\I'OI%UF|9  .`=Fiߵo7 Z E _[J3RVV.L#yAZHTMxOpɈ^ueD Mc5;heX,E"`X,lB rAH' xNcnݺSN|MvooJ۾|V.q.[UNtTt?x߁yMnyH3=B)P".i8l٬6 YWT 8颅ݵU{`9y T8ϝ6mjwαՄ4jT_y1/ZO(}Ք ~h5cb'maT](- inыsI"`Ж_v/I'93t:S^{" }ABQ6t?:sACYxΗ+_AiQv=c/ժmBd*Oߧ\|X$xvXvFF:UPVLqLJWF"Ps+b1'P^:р))P2TS TE]ƚ7E]栤jڢl;m x$k;eVJ_ qL! ;b??N~ő,;wHmn' y[Ϛ&r' s4;ZW%jyV[;/2Br8!;8mKK@8ē>}(/I qzKB^a_8~STO.^(-qVA>QJ"~O9mݷY$2g*["ݭņRk^ڈ(SgD`(ƍSV e({ 7i' $΂8 \HiQn )K˼?V [ 鈴QR xZi̙ammXEs?s8 .SnI'N`q&/";h,աCʹ O>羜? +*}JP4:E ģ͒gqdX胠V)]d^ziE(Hy0-hݵE"`X,E"`X{RvՊ ʖ K!ҳgOhlO/'ӢmH=2?%ő2!Q, | t*gA=DS>jڴizUzE<g6G}TiK/UDwVuQB'JuK䣈4'vZR^ntٓf#m-6})g/,` E ss-z&M2EҩV-жUKy9u6Jz(Tp2e)\HS g$̜(:} A}AX#q~/V_qM$$YU=<{:By7h\tw8R},UUWEJrT=95Z)~IVE rߏt,hi-[s^qsYV؅YҥK5w3io#՝w*в]Eo&D2J?~VP*+ .NID/7!u]^3=1^NU _y?T8sߪzSnY}?rHᩧR'tR v~ٳ"Q̸>InnA "߈pzL(YBN\i!Oǎ5V<# A+ G~}DdӪW J%v7(Uu'T/{5zmdתUK؛6Kj^ǔMSn6h }_ 5mT z՞;_)V2BZq7*93B,>;.]: SIII4ĉjq:VeˆcZgpp^gu0<:mڴNVgLyڀ5kDG}q5պ5W_JU>w^Q;PB-er"AJˆ=( "]OR`IFזt =wJQ}B8!c=B,䛅tAc?馛4E,OI,5ey>IY8e!!>)ߍ ,HފT:"\H5v3u˖,V 懧 $TZ̞oQi޽{x@_o?B7P^+;‰J'/R;ēt5X,E"`X,@ !6Ñy%8Ww;pR'xBB:ך0'~wn@i-$\Ho(=E"`X,E"`d5;S~ٳ4i_hd'8b5;Am-7)HĶ)@IDATO/B{N7fv9aE+W:yǏ >Kq#0<;)%P G.w55#ky5{ll2ԩ،fD?:},CZJwґxk7YnPfnk2\9$"IGd>8 @sxByc8)L۹ೇH϶e:='a(Fr E oѩx{;6mF-w\A-^/TӦMȑ#cy`8qСgt.vjٶYmTsge< 䓿+3ItA zB(dcdžeq{d׮r~6 'W;oSϿ籵Q"W^ KY8 ڸh#6l:c1%پ,L/1}g! ƍ.Buyӧ{'H?zwD]ޢu[ՠQl#S>uڻwoO3gժUs.'R f ᅌZGWU?V{E"`X,E"`;/Cy#J.S>`} DX lҤرS (h~t~ X6QҤTPmH9=H\ d屦{\RRشiӴݽmոqbT}衇# .qPl~Z(XrN-[ڻOkj~P3Aqtj"iJ<6t8Sw-Z.*'(M8Q]QAd8 NyV΢r~W1,X~i; 7ܠhqZmB$(iP'_5mUxz'vWzXD4ޭ@(-CzO?])b?峃t~P| 9 'իڷonØ2f̘@R/7!Թ?<-lRxqW [҉#^njSj0Bcv]o(CAzmI[e-L ©{Eǫ u 2f+y,[Or땱eX,E"`X,يiEĹ^B N8O?h6AWw.(ucЗ< Gɓ&sgk'+Tf܆ ZdHٳW%KT֐: ݺ.oڈbb-elK_,)Tݩ؎HX;FwZrIj8:Dm/j:uG!L0fc5Nb m̔#z8=v6lh8 8yho֭I5mP^6nYnQV4t:C xƒEu_!fb]ː:vf}R۷4ygjѶ~%*]tn "pj sgT_ Wa enR \NXN;*K *bٟjִE\gXL6utzu- x+ԳO<$UxAɋA d.(0s$3]qM[%*O6P$dC0H9o񆞢|]GdE}x-+^{ҩ*E*[PD$/קoH(EyYNTڵVIs#?tR; r_|pZ,$^Z{bE"`X,E"QSOmݦ͛uGgt_f;P/bhh{=UO,<+ѩFH %KhYX( .Y\׃" 3Xb5F$p_{iy9SM2x vֽ-'tث\F^(@"1-)V%r Y<|>_M4ng$i8p֤*!Ŕq Q+I7m$q2DžD|;E".YDm$3rGk֬Nf5$ӆRzX҉\Lt} /\IƜd|םgO;$0^F3kCfYK<^,E"`X,E !тB0c'TN]S{J `gF+URD`qW, ik,QPTGB8)pD14z+2_֟z)=0믿+W,^xq #ⴺ d]&.̠? I{:ծsl]R$8-`{Qs^zjGM^۽7em&1CHl̹eH AQmS7mw R91t8u"4D%]oYM̹AnWW\rvh!&B+\9}!gU!¤4V~vmV;[̙U1;l6]vm:-br 5+S?H3}ĘwO괁1joUJ IviÂn ˭d 2XD!\A:J'$ ԃ2Xe %_'8e{n7ѢkB6ov~H_ GOe*@c֬YT$1q1i} x탊O<,+H'JM*]RN8BsOP)}WH~F{[(À"J4s]rU~}G6mܠ eTT_G`~7G6wSk(RPXzk#a~ 5B@!qwy GY7cX,E"`X,x CDp 0@q'\F N:5O[\#%CX>0*&%EiGQ;l/qLtoR[RǟxDFv1)52{ܤ~gy&[;w#ѐNPQ1%ye۩?8b 1unS6u~; EQڴ}gDs8o8!dKLʘ"$UDH4+2.sb3O+\QY!(}8-8PÏ?I%#'D)#C=zЎXP2ȕV"0#rLmo'ƌև_"k aIF \.5d¯^Y|EDn8潌kꫯjE.U.W"ijZׂ_7G̘yHme[Gܠ!&א~!mVK#:g uDռK5h ռyse|Ӡ_ gwYL-ґfbrmޱ+)$:eQJE"`X,E"cl D ~ő8q 1iΝ;kgd# n.<7m\}>ҹ|bf~ٟKUNU.] {?~29SCte6ބ|b ID( " zSL/l޲e,S[kۂDhqіOhmi1ڵS븣K߸q2Mѵtt+W:oActRQ< i"Iu)xI[)o8*i+ٸO՝ Ƹx㍰~/u6NsqYΔzHsQx)Y?s#J 9(V97؏w68ZAxB>ͻU4N -]X};Z1z0_J;G_+/N$z'9Ľ?R1c&@@tIڵk fĽ߇c(XH*xmBI'E%(_ic@:mק:x 9kDyS@ЉD߄bHsg ?Juy\B겤/Җn;Kum|{zX,yTr4uFڵkEn҉)N vēxU9Y,E"`X,@\`p4YRxOp\x^S+V?I(|1WfMA_6Rׁ*sB2H.?cȽw}7ƾݥ^/f)?̜:zAdžv3ZgnQG{Iwgʹwܹɽ4.Y~p;+D?9W]uꫯrCαFEHժ'8OYbӦM!g%[Q5R`= ~0fVO\N̡穊*ǥP Ĩ;vn=CO>!DbRGiG<ہԏ? z7?Oq8H',X K7'w OȒK/2=}S):J?i8  i{ʔ.tbE # &]tQ5jPÇ"isԎta8/RC8c5^{ERvlۼI=Z-ZvoN8Qs9CVZ!!`W2[櫶%fRgN݅EYhO?L@HZ"lժ&ēoyCU>$ v盔u<׼ƷD3w@%zBh4H]87lCf͚eE`mۮQ(p@>:mMK͕o=SU)ԬU;ba~y66nXө*nQծ[O/޺ez" G 䡇RD .YI42~ҥ!B_"-ㅀ% I[E"`X,E"`Kp zBJ/aB+֑ Êq_V؈##EfL^wpU.ELBx|fXھ}Z(QxbrιjDHRP*ynHLOh?CSQ:}P<Y+Tzq9n0TYr8*+o٢BËtT|ڷoI~K(?'Ky!޶Wo2X?ە*)vVV/_?8~g}@̰l2 agG}QrՠȒrgv: IA:B"aFm܋tN{GEq! "gyFAH аqյG/Ż{M͙53S W!Hi.v0PBi{( j])iI%^!zD[[4mr\n۴>=?|! b6mPa3!լuנy\oO!@:mZF!oXˋ/"fBW^-'OruOE"`X,E"`S %A v{DHa$Yv =d@ꅧ~ x/FxT!:w8z8ǐ+\=bŊtdΝ\ܣjf}F%ZI<"xq>lI~5i  oW$8c栴)("c`8tPtBq^&"2p0m6,JuVXRٲYQm=qNW8S3b{Q$HwJ 4ZF۽ϻ%&TJ*gfc}t\F̴Q[%^ eݎTjzbN2mfLՎm[M%? PrBf;+ w[Z͜6U>JǩZ8xN~%eyVf-  gKl4V;jȑ#Vh1սgόl6P*+'9/(TNP@Y:9i$ջwogڥ#41H7'm,qCT >s:,ݞ8y\O0!:q2k{ ')͝3[R2e"nj#=A> 1,9HSFM3Z٬\wXy!<s\.I+( "A3D j\sUoq7o*ēxNo3SO=U[&)BaDNrcUq;?J9̎s ocvE"`X,E"`8ӈ0*)jpdU"jN$͛J |B$fNLsː9ԧO-U&ڲ:l`s4)HO5w\-c b1w^}d@}т_1uFMǟ~NRVgP;wJZɓ44ıs718|5j"PN;M_dgĴ#ɑf'#um Yy"@ Xtk LB{s~PA"p @5efΜZI}# L!͝UF6!Fz:(e$-ʖdޮx:ڝً6d 9nݺVZa!ᗹs–GQzu邏PǨ2em+E xO~[tLqb: qO H*~agmc4}h[5DguBwēsZ,E"`X,@.D2c |&HWTIKS W^Q=ڔuT;1ے~ @̙ׯUwڵku_g}V!bW#FP=zPsdԩW_]dp-BJx¹v'!!Q}1~{IkRQCqX+V\z5mjZt&n#GXF'u EkQsְaC}o`BG=tVEj4P(RdqM3=p99MqP\UIv8E;ܶ@h܋1R^rjRddٱMQ8J%کVX]3EuD=WPp utt(eGHg~Ott_q +^I'$!5ЬEKլe=ggvj5i}82ZbSF'e(u╂ɊtqچD]%ܠr+!*{$ TM&a!/%iurm%mif;E?{ۯF?!Q]ȯrya&I?(q=d馛t&M-[)@Ԇ m֭q/$1O>VF+%}NiHƝ\\&!5T^P nkʹI f״| w~}ēNDּ($6R0^iun*|ϴnZ9Mۃݸ3ϻy٣X,E"`X,\Ӯ#&ʐ/5"M-ZT79ȧcSL Ea5XI@A_!8#[͟1#!.UsH_A!ݎS4i"9ۑȿX'lt#Һr2*UPʯX&CQ83QaML޶ER9+fCܭ[7F+ֻa85kOZ8HAĭ1/BXuWRLA93TVBC UKgVشqS#;gSZ2*X9I#QAQȬ QJөWAnCS5Y~E/"y!QWg6i{51,9!3pA̬-wNw۫A)H05Hg I, 'oa‰8s2eT3 q@O d!'֋+ĭNsj:˘ܦs̍S%,$2AOW[E"`X,E"`` 5;Eq:OSlѨQLOjs믿CRfd * :k0ѹo髯(ܷov2ݒDw5?ڵ tD\PR$ňhOU2x%DN7t4cW A*{:N-w5/fZjYiiҭ aQ0rQOSPyA}f>ݝFE[ItS7mT1N]bG* xX…TIW79BrmE |cǪ>}ߨ%W'&y/ w\D%3F__LΝՃ>˗/87ސIW 1%U|wݴiSUNB杆 }3fzxB:%va* IBB pnIײyfd$gn 8.HuY9WR6.?/;tJ4EV)vjS5NCe3810}٨79-wjo_W~ygf%hVDwѧc ,3N;z,$1{X,E"`X,^IY֠acUE GY1@4я2$͉T;q֙3Fl 9"VcP뮻mZYΕ}*lߥXS>/1Q:#N<ƬW%IlG%׫\;~ .P;R[o`b(&de˖n8hSZi#!X ӝ 7\R;M37n:gId)eJ)q2k8>t'Eө5KBQY6彙 U3IBRB(x>臠4%CA]jyBTv@Q7|UEGZH;\uo]׵ֵ-b^(; !!?߁yws_ y/'~o9;S&9!#ڽGvRXVLوI''xBHR]xȑ֓eWJ!b4iL5nQ'̈́;WsyPa N:7>t K.Q鮒JQ+Yf/ix;jLP+y<&eE5`;[HD:T"%Rq,3D)K/IU^t5?ͥpb0@Ǝ<<7wPUjU˓ıc t¹i ÝqS!nl񠗡҈ZCu4IWl OДу%Doa"`X,E"`XJ0YhI*9]FnPWL9+K$"H;% e8ָqc9~w7i-M-^Xb,'0|/MS$2vF,An IZ0,]ԧNSI'VȐ:/8,7oެ"~(UTe9hI'a_g OsM(ӥq [%ш7뮽NM07f/ڞ$D )CȎVd{CՄ"IՓ.ƅ'֮65&`#Ҏ7NGrh:.q`BF3xm7HsAz? 1ڣr 4&E)Ρl=W_+~x/E[N]USH?#bxϭZ& E{8G/ٮw8>]&eXQG6mm(X҉rѠȲƘ߰F}ZIf-E"`X,E  NV:UԲŋ۵ã~⠺l3&:;vOG/͍+!!AAx4•>~a}.&vjgR5&C8/!2xE'R4͈s>lNs\~}պm;5s"N:)q0zrGEzh>8& Gx6#<7&lޱKAY Xk8ծ][f&HDAiG8J@pKIBqj b67u3"/Zʖ50T>c{9裏z>k8+IW_}U5ʽZ6I'{"Ӡ?9_ZPTP e1 Kz*s:&Fu 4ցl%ҷS*(Mx2dCD"Æ  |H  801PPcMwcGV9gLI6LZ|` R Fzc(_]v'cacAM:V5`eCmc|I뤓N{,.%b7Po5{'=VBFyyPzSO=S#ypiXь"(BjA0iw}J"&Y`%l?I]͑\Lbs4NԵxF wՏxceEM2eUc!6*Mδ!mA XZ-TڑXHeɾP}οEs>c.bn]^`j|DKl/O 2ޗ^zIo[JxǮ:mn駟ҁ?Y _sHm DW`F}+L<(ē?:fDEqc5DR$`%\=8ٳz)Qcl.鍚W8uaZxտ8n#!(i,{1*HzmY\ _DboSI6"1+tuw/2eM>йֳ11J֭5y}or0QX PPOu{uV?iWMz*{rjBH7zЫSԩ]AIMe;&Æ S&L`U@yDm߹[n꣏>clRZjQ;MᏗ3 @}̙3K 8'd @2H: l\7 ƨWJDS6'$30Qْeb=sN. 'O}H|왉%lDTU"q8uDA&^] WpV͙3ǵ:,/)[&)NQbdTt%~QH|DW_}0'd8F'o9<, X<Y Q<{*q98yN)G߆9/))9u{(dzb|ʐN VӦM O4;#8˲\Zu&$4cϬ/韴B~OĤ|(D@5kݻ5R%/H(ym޼0+4j_a=OnW@Fh"=]MjȮelJs"x<],$:~{E"`X,E"`@/&<Na˗. ߱l`;`ƍz⇉ 'I&BHi%d dqꋠu^VT!iI0&<8ZbwRu8x=ު{ϓԘU&O 7nV9/luՏIYb ȮHXZ(ˈHp|Vb8?Hg8 #< \~T Ԋ% UU%̘:9{O <(r'VDʗ)_AHEg[a]:un&](pO>&A:ҧOk~}Y/l޲NBI 4i9sEq5|>}VրF^xROS*C뉓I;1 V޹ r<={=IVG9\GB wߒVnԶ[㿼j)99IiELL} Hہ)M2B=o?5n:~ٮSg*$#W qРA~^y~FxE?E"`X,E"``z1r2'˽oAн|UW^;8 8'őg:^v7wEfT"Ґ#_`vCr`" fܹ/i6m\K5 ʩU q4Rۍ LuQo2C7o47mfL tCrjPjAN T^S+1n I%AT+m89P'*i8i;H+B}-]c(lBU 7Ͷ0ӋK1*~-U6f $7| JKJ)i#P?q+oQz,F-E"`X,E ` .Tu&Q3%ՎvpH={N!E-keon eL6LoҤH<0N!BtO%aEq3xPۙⴼu t1Yl/W?0`d,[}.3_'=xb҈(%F8*W!Q'}u맫o]o/'P21mHnaĮzg}:sHv'(I U2(T@@i6:M<Q خ];Ty1Jg8H@T$oCINeYݻwW~dDNt1em1Nh&Q(JHڑ:H֗q8 r'/7/K BnЊ]n% bᐘ/*!W55E=a|QCkGXn]u񥗩NNVL ?5lTM;ՒGj]իVv^Q8vg8)rjWSݷ߿+'{N{(= %&c7k,b*{ov)8wCNdN,C Ay:,Y^g<ZxHfΜPݯ(/ $E|x_Ax潃M^vE'L `Xiԓp EcQ@ <\ `'=E"`X,E"`X I2re:cS]9X6$+3HԔOc9kLN$oSIٲFn9Mdݖ%kBb6[+le{DֹSZ{M7i\wE8ʗ?<RN5 ؍A*n}zlw6 P&I%?ē#i*#B.d'$q&Θz≉6;wI<Έ݊(ek(*S&=̞={>@+c;&4j]'ÇaÆ@YA4Tg1m ?.x 6?] u5q sjLNd*l{ZԵ&@EEk㽎:+-UEŭNS״Tد x8/mm|[t%#9bB5AqXrBE?E/vG\( ~>?g  ]x:;8^!*pp5ZlKu<.0V(b}0 +δɢC]/ep!JKJԤ@G$!.8ۊpe6{vE"`X,E"`X РQ#uM($~mj֌j)H'~5;OJTܙӜ|"E: }* zTοPFP4rSRۨ?8hIMJ#,pl0a>YRkNbWװqrT8Έz5(R %@!\$*֓#:\B`Q*%ϻPM2Im޴1(}8qԨQZ*sb*D>MʝoX~}z')x !vcE4jبz?EIpVXi>-DF[:ѷDRzW^|^+|YUHMQX֋QƑߛZ*ey8Co߾F}Bie<_rqdaǕt]3DQ*B ru(cwC+1QH%8IFq@=BZb%?B!ǂTҺJBMڹN:IM:.?NʨB QyT]E"`X,E"`XEuvډ2EAJyN /T ҃N94UCݺoCj-^ƄD:UٰvC%ۨqM:a2P VdߛnIs9w|+}䯼Du)" Xbb+ `-0DG|NR D';rorGOYPNwu.HܽjߩuB e= &y޻RL''SmVȔqN7TpN󛞞"F4X 'Yg׿jŠO^c; m]8c6jڲ%1vyo<4o9~_0_UVUUʐ&Jsn7W5tPǏd48ϨZ+Ѷ^ +a`WTֆe_Ts Y)AOP (4P֕J}^]H'LIfWvRewCs|RPehU&ׁ1| hOUNeˌPq*^LQ"mj@EdO7jH oarLv["/PƢ q}141gt!`'{ثX,E"`X,@"T)>|wL,u$~V_g<7N>\AfeZW^FJaLZTmbqbmUa#0֠I3svpITqݙhg̙ wީN9:Bi$l۲Y[BT*IKըISvNqr~+1D9s]v 3Rro ugxF(8M GYI1¨MC&I$QR6PvmM8Gl]-Nj'&:;&A&CYDJ ݗhX@P$QK.9 QCP!rbJnѫtډk̻I>AEcٲeV颂'vi2HGvJmVUg+Ԏqơ7؈'aDmgnjOٳi j5qDTP^]-6ֵnZ2&+bB̌ u*^IQ6yܣ:OxꩧRu:@!Yv5zi{{{2DQA \ xԨ}?vn9@vug6O۶nS۶mU[I'.P3LApoSvjZ r!(/)ߒʐr8ƺЏ/ܣS.*c?+V(/k%j'iNFVX?^4ƻ9_˶DwvE>׀|E E"`X,E"`XJ 8n6#uj򁃊صC5kF&N˫۷M D"≆ 9m'Dž1^0 ׈kB/&K׮:* ];U*UUf'8CS114QRSun˂;{Ep,& "A8J2eʆTҙAֹ+ɓ'Cpr|wDޝfa&CgJ*BIw~űeq^xA'8}p xRm҄9W߽:A7oFo ']\.]Ih 5`r =QO;A8z7Ԙi\U%sQ`H_E[E2Dzk ewqo/I |C*LFI">kNTB/y9Ղy&mwO6acǎ~sʙyl! R;P}"C,oڹ{︞bG*򑻞/W,v0,FWHck֮U2DOwWeX,E"`X,"G U,' J$¼ܚ'K QȤ57ޢK"6~d8<,sO/ڐe&KmZVǭP=xR^}j8+D%rL3 )%b[:>\ $jI(ca4{p-{=}y&^{jr/P'rH=)B w鸭KMJP Lj2 ^S}ͷ+%cƑhgZ%P_ݙYI6et.IOjرcE.FHoҲe|[I]ڊ?8/'fQ mm )D Q9ǀ\;;Gx It-P@1)SWs%)J%_)$Ʃ&:vȧwtG)yǭ0NBҌ{'t:(O(OPF85ٝWe'8c iʉ#V0:P0>RI Co*tkщ@xv{UE"`X,E"`#L&&I[!%)$EkvnzrtknM;$%ke?drsnhT8$ Gӗ]v&e8Z_u#$[~ZfXfi2abRyZT}N?SOW"N۴iN\2QF[K2?8' 4G#yO6;w%TJѰ~Fj#Ȫ{ ww߭δ]Ojb%?}ʹiu|b~@ &CRѸSnćTs.&Lk]H4H`TO@"U]#.jجNYp'o$Iou<skc,E[&Fm: M}0b Q3X+If ''ɴ9{]%NÅB1bDXӖz؆u]G;%X,E"`X,E"pXvZ-\q@ Lr/FJ\~ /Ltb0]zHwv-'u'J0$(|xJ e'Guӯ'y9t?&Y@ ԩ{?O]A np9X Si|_j %8c(³jH6QN҉9F!^KJUTK!d&$z~IƝ[m7./ؔXG&:v\/iR!?CI!IfN-O9CTA~zޕ+ b^Fݜ={sСCկ_?~f=j mI'^pF:R`bw}דu3<+Sv["`O{vE"`X,E"`X,E@-+TuD;{N>d33sO861mڴъ(}!O4jH?97}:jE ~;TKBEs @ 娇lQzهؓSl15)A%*A>r,K\LzT1JX0MP$iPd&Yi`H X?Ri޲Ԭ"6rzJ*NV;ڹ}:$ckщh"`X,E"`X,EԭW_}'>k$CN~ۭG@҉':JBxaQT^-W!k]w3Fz@-L'Q8u $%p*ɨ9?ꄫRJJ'ZdI5PV 6L+ogc=^{5[u C"p3ckpwsz7tVY{KIRs8Q뮻4iȑ$̱ ̩#Az](V"!rn5];}Q0:\'ZDlQu\~Ѿ\Ny~Yu4T/֤[ |Y(ԫ,'Л4>D /t$ g.C9ȁQ| d eݻBS^tQX Ar[ƾhg9?Es[$=,4gTU)L*$֭[ƎiE >Tm&il٪Z렲=Qu0NƔҏbB=4(>6mSak F+]MRz:=e %nX,E"`X,E"P2!C?sGY٪Rro\ 3,ۜ|Af|(Ad Ho| 2n<5kuIkKcTwQ;0Gl+  '.~Ç]Db0uTO=ʛc}OJC:d;##,[w8\^Ejc5j3gǎ)vR@ix6Hl+n 5pI 6ydSȜ+[Sx{eq6kJ-^ksujV:vGq?81׹kc%%'ڱp 8}Q Vؖ.NmW!7ݢg3^zQ/߿1b&im_|zţu([E%p}(Db([AwAĤӓO>W $G5YׯVJqZnܬZ{tRNHdžtK&?O,đÊ H蓜VUƊ%{4iۄ֧O|>7o ]H bkPT`-z0ůz z!AXvmFQ6q'o\mK<^E"`X,E"`X,F.Q>V0ve(j ^G`(U,HJUWGTP1Χh)0L~!}-()2B@$C&HዉF}H}ꩧ+92d'dکVn=! t;ô…D%+[FD?5~7/!; @iRjשh$C 9U֭Tz TBb*C0ܸ~4~ mwީu5D/dLuX' ay@w*ODBz t?R^w3JFABZ߾}o^z%_|rcvŐܪBa.@#3+"bSZrJԳ܆SLф''@ %;vīP9p|I: 7)zYmUix^>\ge;O*~sξe7XnzG}\p q?eD6-[t ugڃҐblj'n&No@%LCl8 @>pA !D8j΃úQFWZ/Ig3F6sr˨Ơ2n.r?2~نtrM TkҾ@!}ɖ+s0qO m7pv^s\rJ2\+"f-[FM}-R7d֮^G:a]mQZj׮?&3G iWqO]{OOꪳ`;'d>IE=I%aTnWJ{Rc kNd?IAnTP7$sSO=UYYYfUOHW3B5n\e_Y0H'pUFOgX,E"`(232gVԩҮ}/d1?SCIn6lAE"`2ݾ}/رcg#O5ѦZ@yyqzwt#ѳD)1$2opΚacʔ3WX[p9R%?HaƍS8G٤plgyi.Hm}cY@IDATtHOJ94@ '|R2P)~XԪ@+kH>~UUzZjI.{-m%K IeOB27}ͱQ:D>#?x_^#dY\N±qB@m31&­#9DZCA "98UJM HߎGPG u4e !,X0_N?jШ½O4~-s+8pOfY}' umźNխ[W{L8_aYp*JI8VA=O|jƴ*M,O=]&˖)> UJNα\… ջᆱyxkʸ16sN(W!խW߽XI0,E"`X,EES'OR˖,yj*K&ȃ}ݍ7n:H^᯽*9oV39}:ݪukD"x1ܷ/OZBFʨ2䌺)IDZV,Eym۶|'R>Ҏn"qHQvꀨpr8ι4,爃j̙>m~rA?r!O֭fHq)Ǹ#C&!1w߭GyuI' `>‘7}tql\w.8oB^@* .[wI#MC gW^G>38_Př~MHyEqN 9!:Vb"jl2^z~N2* *>TtZSLU[nJIK u{̇fh%yn,gnZ+Ď@k׮͐O j}l;Z!Zc51*O0HQz cld-vēZ,E"`X<`22AdғI,$䝓VHkb;gL\>CjOEqtBA&)^{?O?K 0S&\5MG|& SZ*:6TοPU2"\jDLQ+-ՒCo93 E"`(DpBB~ꫯT~Tn4HRFG;iv䵗!-/+R G2 28Rk׮Uj g~qv=xN[AB!@]wݥZhB+vm:➋>1ƙ"NCpdN5k+Mpn*e! reX5+Bi(18|dRʪ[Uny_^Zb8 8$"ON;f5PURUjV6"o7yCqu {yM5aXc0MJR<T9Uey 'Q]Y TxCW6WIn="UQQDzS;}89g[!2Ϫuꪪ*$r~:7/e&f"3|}wjLr풉r?w:^PuE"P@6qj!4DKz 7򋞼E8[V>2WTrvs3wE?*2?vS;ݻw[]By=~'iw Zm }@jT B ܜ9sԬYt$7lߓ.սIfU}~x{CiӦC޽{G F|mZMpۖMZMDT٭Fs())2Vկo?ur$HxD)/N5XE W=7I7?eɱSϞ=W_ @B! {ZhCs."?^`]eɑgXݹ;K%Jz'g' s8+I}T]G;2=tխSG]{ݵjm*SC]~6](L_ Dd.ÙJpB,D/  E;3޼DUD+1y$ w4c!d8!;At-!bP, ZDOJj"`X,@ p0C4G" L}o:  9FDd I" 1}^|+~X0NV9L @Gqٳ՜xFj6M^|Uյ{5wukNc^l͹ky d¿:QW  F! kծ^̽OE"`*bɼ:tWi%8DotXIjkɅKTu_C|G^f=/g?b/ pAf,bݷ_ϳI3612yK/1F1IfZk^O {l`q ),p4~cǎʷmV]zjԨQ5lXzƙ֗!U 'y]Nǭ ǿՔ]'e '~jI\4n*U`Rӟz+ayP駟+PCQ2&։V#FqPS5 "sX.z/A,Bx4k(F-KM w~}2p*&XcwFE= Cs<ˌO;4(ř| TQ|ZM-jxc?\E"`X,%!ɒk|-[Fmە)Ѧ'`xyt!SVgDq&%ĜR{Tƞlr^++%4ocB KȦ|_|/e81>xe^˖R zdS9~++YE;\+#Lرc3/d? Vzu_'/G'w@qFP0DV߃{N{5꡾99jLO6UHBH'ñ?~INJNġ EU'y?)0jҬ:~b |wfXb 8ص6.Յ>Lu8Hd/;vfPKX:B헹1 H'rK;1>N(A`eT@ "o$-cnQ#<˶c=I_١Cş# vLz+8{IF'4$O=oAfO֮WW,h H!(HEq G:g~f)WџzZ-&&q@Z:V!⸭K. 8͘1Љ)&S܊"Je~d9 =z[pSͪ9)y˨qlGhft&Ms\|'mSIǹLA/=,µ:RwOw[.3 ˵X,E"P e(|4cËQERrڑPdG =WB"*: wˋӡCތ{dK?z]E2RB rBh 6r}^ROV8Am۴A=#zr.TjՊU+cl߶Ms=7$0<'NT_~BZ<yy!fByI~#\^j3sj٪+y'^)"ӜDz;<=oc!`bqSxe/\%dՒE u]iٺJoP< & !,E  utJPўI_ʒz%H"U2KZ:nIN_$6q*!긭]v;S=~9QkRtxw<, UxIIɪ8!H2CFdwj(׿\P>w|K G 2It R%$}̭[6/Fsw)/$SAzϜȴ)"9>c["pL)N7n$4ZnTN`8Qtx ԴAq?NB}nq *dh)E6 <6'b@ᄿ`q73 Yg@z-EB:as%29JHA#$Wj%=$ j%Dx;‹עҥsUrBC.)d"tmsfސ US XmB d[1S0{Ϣ3Q*ȤeV%RI-${Ju<:ˣsZ6`)/DxW41_r%gWe>+W,W/>/\.'m۾[uL-[ڢUkMWK,bWmd6iD|Ry$%H!眫pX^d֑u^'_fl2逊PT^xfY,@#Тuۀ_^u޼yW^*%%EO&Kߗs4U~a}\DI_h  1n#@ۈpsX-NƣxFtgLJԛBU- /S?|/iZ ]4Δ _}zgn}Ns&חM\ zm3wR׭wqo 8B=8X% )s?95E6RR;Z8Iۀ2SO=7'7ҚĂeJRN)/ XެY3ՠA9Ԯ[_k(8q̛ /L<0Qm8cȝ 6 I)KEQ{:3@ /֮>"g'Me3ԣG!"^cY:⥌bE((`?N2d|ոqFL1!P&)"Pǣx]f"^:&x|l}GX-=/8H e*'t۰nz-㏇HH:>c8e)е~*N-sZ !AI^B28Nix>#JN:N;P A )>y睧 $d`2=K1eRVDϽm.]vx&}ӻ#[la܏cēC.J}m/\QDsY,CZu|9F3%: u1.Nz 4ߝDϙ~x>}>@|z:vǏsO 2q 1gB8P <w{&-??,=_z~_|QxI_׭Rf\jشZ|_{QMR9-N#Z$+?$ct{?CXncM:7/NgjܹfρKZBf, ?cn$Gҋj:'J\Sn88pkOkV}g:5Q:o(Uk'6;w+H(-9jũh~ql'> >WH4581FUB6,ltJ` {o^'&VTlREuln^4=Ef[..^5`He|8UeRU"}W;jڲ3sO1”K;Bt6!3e-Bv=eFP}c`B)u&#87P{߻ JTHժ]G.F6;9:W"ēڛX,E,F&2%v*/((>o٬h6'o 8HtA[nM*=@# EPT) :PĀ1Yw1iun'Rvvz7? D8&L)|p*ICh۶j"yNjcUoxH=#?SsԔT/8믵 8:~NaI=M;K:ѽ'C"rc:x ,;G;75d{ĉz☗{~9zZB]ǹO8-QğƫK/3 &RhoDlLxM;2 iCZܐ)0PD9(_#ּKkux ~ӴiSuWygF̶k~m|I" F:ݷ_\x,[:Qrr!|2ań$N rSjU̡ *ep:GiSj#jX%IiNV0)Km۴A-35`7 37;3h8$zR]6z>soc?kK<)KE"`X -7h ##9ARȈT>3H&) 㲲vDG|1aT*$LvmܸQ;UzzNjGu8h_ rĎCzH"p~_ݧzAzd9CPZ'$P U8K1ؔOFA'I0A2&xM=f |ҤIZ 8yXQ$}awY2"%9`L<9@1 bF=3*EA pFrZrK=μv3of_U,Ӏa4m cѶmZG$R%:7xL&~AZgmcݴ,G8\sСtgx&(x] 0 ioN3gQeB[]v`:wQH+xL ap iE\mlPlL9τo,Q@:c,{[ >4cKl xΠd}ڂG[oUZOgwm޻goP UON]q'$[ğyxTJ,?|YŻ~DZ"S:bC<8O` 7챛 'XYSrO<9jIJ]Aڹ{ c=8B"׌瀘\htF "JQ"<8 qƌD!="c3傴aCkoq"zd `!}KdI0766n0 $]JY0שU1Fh8({hڠXir4mDP>t SOt+)Y#DB*ue*p*xn6߽; ޢe|Emuce"'OE㒿DCR,֗~SՅjW?c ^'zi_uPԺ7.r]%m VZZԯ+<=pq`(7_gΛ'`S 9QHB&׀)J0TA L2Əx0m>UaG#1^E&"G4Y1D礓N2_~y*0`|IJXɦy⬳βNܥm%œ.hk_c|>Ř* 6zP"]we3N8qAG< 6=?-P$ߗ*Ud<;xfg BykMyNUHYJsw%xW7>4<慗_ֺۯ=<*C}#{c/.}gfw@©P'#,O?{͠{:&.2si')`Da-Sq9VvzQqexEۮ K1'DqݽW@&Mܳ}`o;vM#w"%P3F*.t f9fʤVӧORN,f%AIwTZUSTi`N]1h4%lr?n :FrS-xY2<2|E%o>"[D9cυ'yȲeATȏq,Dn6"`Tt%%{|8l 3V7)o:aum:"ssL #q‚W( ǗIYwOQzA@!HT̉H5NY`@xH剼L?*GeSNA6li6ߕxR]ρE(AqAqn! QI0/`ْMWU$f DkD"q'$J\y%] $¢{ ʲUlF(.{G3zh! N`\l/m-O7w}(h&cߥ^{SOYNgzφg=`P! kzkJs$|IQ⅌1&z)AzQ"щ 3ITzv<pJaP/hCN(/w_DDv}w{-"ָC A$޳iJ"miʗg_g s!s|P`(7Dۡ}[=<6s$^taN6_ش=}{0;wfO6>sM5,.%N4bKHt-6J\0mؘ͸);hH'ttxX[浗^4A¢!2&N6-N]a`Ҵ|(щf%Șa2o\2cU04ewꫯɭک)G#GyOE6'Iq9ۥ\*IՓq=EI6O-^`]9~VE8tB;׮-0VK:UV1ْ A9PY8h0_>UƘA?XD F;۴DC7|cS{+}zc/=Tѯj({_yB 6b|}7C;Y8';P)FY&eYnrW^2Hߢq͚57[leY(x. /(v ڬស6$*Oڑ<ap0(1bI]a:<]0`g&x[ի@B4v7Ze,7p-U9i83ΰ gq衇)>\jCFAFX/2p($%:!<&Nl\:k@;ϋgFDÃ9Xn%d(u*P#)xn<"-C&QiC.pU၍b5 x³>cͻsUWih?/mRYO 8sQE{D1 M_gFxd$"Y|IѢ-;Loy4CIi,/tmFQ8&GɹdlL[%2!222BT:o7=o܌69K+ʋY`@7<5UrD?¹LW˵nV 5Rb墯HBuސr ]n~ϏH`ENQ+zu.Hw{.˘)͔O?.K9NȲroGrBmZtyyyV98ϡOzY#?J:8#6PDV"[ز GvU M,,>䟖P ʬ@E8b28n"0LFYH¯)0vBx&_gʹsόkT\k֭:֘բG_u% ƀ 1 lM S0jl+͛7kرcSPƶC9~` Q^iio@ǑGiyY [kɢp/>JS$b❂WρvhoE}瘿$ Zy#)'t&Ͷ6I~i*cw'A&{ȴzys]fw m,hbf>ws+QA*2>h;zO:$vHk1a1RoIO v)57M(\.3 DyL(Q0HýW#Fe7g}ւ^Ґ(D/5(` y;w /ОDft LP}&DQ9( xvܲ&\' r0'J"P{=Cc#pO0 -"@majq(T¢2PNJ7_&O&Dvɼ{.1%*ma.=(O2POvANj{ mnnhw ~@9@vzM;ziR.} 3ϰ-$J_[z]:^Zg˔8{]ŋ Me^d=p<[G䌑7U x;t='8'=(UGo (b?}"@IDAT %WZ )脈G.LmTS樣`@/*t%AfbN&  4T 0N#((49`oAJ\pˣć E9̤^=O1YB# ;YGݧ[|p" 0E-dH'& q뮻Nȅʳ7n\wp )x\b"wI޿[:`,{^" ISL(5 <ԩS |q㩧F @)Dmaig8e_`"Oڴic>{ /~!GZt'n;m@Q?}~& HFnOUOvB/"  E\ O<%F=yK 5/(d.Trٺ0 ck͡nw/?yۭ1#+|}5m%h׾9;`TyݿX"̝L?x1(QpDLR̞y{pEtR.ЌsE#Gƥ,:uhy֌DӨf 2#Z"cWg~˂62=`覬O\((nnԖ=‹MkVb^?>A0 8-"9blڸ̬*^/MjQ"D(hjYRӌUJԧ"3Cфsѱ ,Nѡ(Y)qu]si&p, pVo8ԔyFONxGVρT8Xa~'z0BHDowno B_řz9;()&q< B~h>af}VJ˞%D#$Et N7ZE(00#|6hD ;hBр`"ʧOzJ0BwDk&.a['2L7(.wp/Es=t)(4`ᘦ\ oڠQ2My%ߺp,gFKaywg-!Qe t9mbZ,46e/c@:}^~d?>~$M5"!cS"3% s d"!Gt*eC]G`A^"UZnmmRjUݟerw$uUijxޕR=,kѲ޺i0,d@V5"G{xJ˗^8͒6DHLuNz;%,9Yu$f+k%oM,Qۇ# {an&$07:蠃 pҎ<00Ff'J蔚6'f?"D?:TȮ8)XyQu$O|DyOVǐfkjq# XMIZDqjZxpwȭjalx7xS߱*j;xW9uwB8nǵ(S ^E0ٳMQ=@r衇s#km WO|[$aQ[dc(y/ڶmk"w}6>r»A{|8 kFiF@}X ڮBc-oGC63<5mhz8('.ûa @6 <;IXM[c'ρ}SI{e8"} ,O&}dX1fZDQ$ S2>͘1ü 9L'r$^71w+|䓣N8.2⍹DXQ;ςg(8g@4d[͚iu&7[+yqDktӅB@BxǘDPV7wm_W_#ϴ_ZDt9,Rkw*RNsQvj! j}zJ5}]|G(2'?(wQ RmNvei≠߁zlKfCwO^+exe/TQjiwQuEXdy vSOƒ0tyy‹EW?f H5jݺi6G\y0NEb`{챑~*&Ba琨j~;vl.~5ӌ4e EQBf*Tv`'8_e~_MntRSeޢ)e@ 'NXt e[@2>`XzM+CǤKc$]BM'r^pO6@Eа&BNu}N~xnfhw%rFEnknI1W%(a´s%YE(  FˬZj8߼yT*t4rCܨx+1Ľx饗I yx5J~Rt@A.]O Rƍ̉ef /M*?99 Dz'E}J?J]I1 /1v UDZ1~w՜~vlcv輓),H@Oo 눎wSjIy]Ŷ8Џ:T$r3LDBFE^g< c< e999999@B%Dk]Qt%8A:!…2wp[ow~$%dDTڈ6$Cd#Q A{LޤB%0$D\SB9 }&7 Y۶ ؉Du ^^(ߙTb\ #X=e90>q2i!Ǽ˩sKX~# 'D 8$h&fL[c hBɈw %;G2 " `5p_D7}#x6d>|lFSGUr>mŰd^zhޣ/xql'> 0Ҿo6rSp"m#!I8}>5%g·*ߓFHFDnh0ydYgy"!wQOx7/_E)}Bs=ߛ9QF6IECO)"2 +Z7s:}`< ]#iދl.9 BRT||^30{B* 4:>qG*jyF{s$z6T BOAf 0GȢD֭:&DTtarl<*uqfmۚ%sl-7LӨQ[s6zد=r KHz/999999P8 )PF0]94]"0YR!: `t3cOT&O-pC2BiFL|X u;}OrLfHA MfyK g5#F!1B(5 6(!;P.* a"] 9IhGWu #zۺ?ꨣ̾ܝp %HX+ۯkY8#Ғ%XW-opn 51 6DP`ڷo_b\:tg s7nLڦBcC#["<vM1&}9t/3kG2dhE? )ϜN"!Izf8Ns2u s hhLFyQexPԮe>`~̇UW\o!ΐe|$XUbOLs`UDϮSF$ :L9:$YYfQ´\9LbOdJ%__*Cd$t8DU/s¶UwLςNTaGN;w7vh`9dǎ1 ϳÆc2r@<$3~@4[ݪN(S[&M=2~%(PՅ T* D8D BI%..u"7琂%HrPOP7J &*D_Q%Q*ׂj$ǻKx`B߻eyH#C@fX$w{݆@$ο/sW(J_YA)@3>|eyoO *2I93_{TzaἹҋ/J)]gXb,qqB$Igu~5*P̢ŋ G=9sc`TxE\y1//> ,Ɉ1ק2AJVY8Q &D4e$v;C2RO]#+>ӝcrc}QAZ"ngJb"ʁ:9O%uXbm ߰3C@ -ֆ Z AZv}pW ]{C/*{[|e,Pe(14u ں߯=4x7I*d6CSĊ#k8ĵH=tEmfٵf{*EG[̐5t3?7_~7<R)_ssssssdvqw84/[nQ p !zMxňN(0؈b")vmS1Vat20ake`@"c/%W0(yHPN9?QbnL8$F@!{ s /2O??4kmقߡL$-M5 ]v\zk|_X@KuFQ2o4(H0@UV37S#'oN1,"'za"l-\4ʿjݑz굅?Zx8lD%*HDU`/jbʵX u+-o.*\Hk!ڛ#m;IF(ɗ._!K/@5\, rIs5Mե>cf HGa@+@O 42ڶq :_}9-5lp` ~>Qz UC :(wN 1Z<zj̘1ɼ8Sī'6)9i,}waPV+`FÚ(f:G]- tBy4lcl 7={)Q\ ݕ\K^jD vȃ➳%UnB@#12e"l y;kn K)AC֭[o6)\E]7kJtFCY],kNbDo>IJ(ڌ@Cy7уBu;gKm'OIxiE% D$MF߽BF*iɓ'[p<0L"vZCA~$Ns48@*d@dȄ& 2(Id_t|țgDYŐqLT"ш8`(~Qt 4oZhQt\^x0}KCT.;wm(:vox$$a?99999P9栊('aGV,3{b{8 t& D6qU -ǃ< PύbN4ڬLad ;kρ‼[-|5&#d~F'Ik38Dztݪ<#y_B}4HL^Ͱc/TN9.<$][uC'ZQL[jY&:8LX,@'z;O'DG Wb N(￿=- t.D:\(GP$So֦륺F)yyŢcp C.ԠbH)L,5 PAw}{)>=leyn<_~W&cǽX, `}<$٥"(@,2ρC6,T`jgh5mn&r!pVm3=CK0̜K%H-lތ|!wwqH-xПS J҉ WVIM23c^B{ "G|E$SV9ȃ7tIQcHD$ J']"(uqM@?]JDM-=}矷8xxlRB e,J .Yd BdG7 ISSe RӦMۍ`+q4VIZ\#Ҍ{a" K׮])b<}4Dw[3?Oά?aە$)T]hТ3;blptD"G ]|V?%DD2R 3r1csqb'E^{X3/=l# x馪<2<4G}}% "\#MK( D5 K׃.2Gy3fNȹ(\(၂Ѝ' t ŵ^kÇNJ3=\\9ӭc !#&; jqkz-[d _`"87ǐ[E@'^wKL-^B< R'ҥ~b#0xV[/7|g; icð@24ɑm &ט\=~ǎ%U&ʌ )ƃibOPHsα`µKJ* JhF#H< ߜ;}\eZ3`a9P9wP_x%.\t%l< ={Z`ỷ'h~ 8 6Wgֵl҆V9k2b!աkq%mjeݥ1 q1,X<;<uaY s]8jQHfM0d efO?ʱ&K"L\FA?S;eADY_hP.]&@u 8aDྯZ)V:g*7<.F裏QFPM1db}뭷24uq :H>C$-K+8ۊ Ofsv1~9PSdY+ \@lV!@!Y9q( =)E9rz\q.!ݑfv=Sͥ^jfϞP9o{(Z4uN\o-מdρ2P<ڵkgP!;j1ʉ#GZæBH!zF4|*kڂ0E"7/U,^UVd0O VB8GkR2.s.)vլG_oC݂o߱;gv,HV[\L\#0ZhivdQMyioM^kԤܭY& %wjcUVў * 2}vW7nFmDa|V{\vI#K1m %J:j%Aaa+>l8ʹiY}8F!%vmw&i/d2/ Z'|R>ch%d]-zp3.ڂ1-yׂ_Y3Le-7w_xs48PVdm`zOd7detتۥ/ sȇ F`er^m%73ֈOD.;nJ-PcBa]]?.VbKe@q9P4)W{xxxxx ztpy]w<_|!JЛĐ(QT c*`[*p":n&A&X¤7 >`꯾j`DK0] _*%n'a^i(#Hw=rO5*xJV,+V(+DA(Ӳ:bo ȢJBexGvN=ssoc.v)ʽUH4JGdZ5ӿ9ˆexa>IJfl \l o~뮻.x(wۙ^b ͘Q#̙.O3FwLrrᅬ<2=p(Q41v0.$6ԭ9|ѱkU xJ֘9uci0>/VO:@F?X # c>/RXRjdJuEsGo$a:8{;<1 UV9<1T;2TsDy $Sg?<Ș6{"JK YR騣$phH'K4!H"R/KRìXUwp?Fqsx.P_q'njֶ]G1%.)L ^N r r h?r)rD4SkW5m 9.x(IT-FR;Ƹ:{@ύ\ױcX#/-HqL ײ\KuӚ{:H;^".HڽGp9q~2~ _@&8PTa1 ƍ7hH)3x`k%=}T/r^s~xېs8Xs5@*MNz &T6x`L%` Re~J`C'|kO&*~헨!2䆭e?J~JjsceC]IrQ~jQwH(.Yfϱ l\( sU#1C4~(Ig㕍WLYP0V"`в(N=hs :?7)[l`u:,\e箒q\$OsU3GW_~a։|2C$뮾Lwou򧟊,݉oQipIR@D;. `62lH֡C>dzVnX-cEKM֎Eqy:c^}WS%FReJe+WqZ钀O4i0IJ#zW0=;_k>Q}~$LfXPC¨G6w~LB:%i=yqf6ym*+*=0>ٱOW{7R7qD{Ad(z|rAB1".2|(tbĎ-[Y{&/xm4xOKh}6Mt%BrQQVO*Jң.2 d3Aj-}g̡TGꈧٹ|WfxT`EQSVDt"<`r9%ҘBU<|h˒%~dNp?fEq͉oؚqϦxI#[~gA'[9T\T0_~.PbX יٿj%TMn]yv*sw'1X i \]:PdmشY"%/PM7oˤTw5/xU ]l9#B.ITtg7@IQF*92?R qģeJ_y_[+p/4A?C7)fDx߳'_"¡J3fH \KF?/t )U$b<[5i)E3~nH^,Je 9PZЈ^^z%Xyg@)a&ȕӒu":K PqϩG\ Q xm OQl kzxxxTJG( ^,YbĀ (!"L3arEo#x%[2 7 b[Lz9p=kP2a:<% .&xrM"ǣIpgYITw?=Ġ[F- [ [=מZ\/ade{-*VteWxyxC_8"ȨQL{C=TPڵkgX-QOfz>k=ԓIT<C>8o<#%],_Qo&Mϱ'b@t8w'ceiJe2"cj( _~aS/aǎV-k0Nb7M$DRpҗX "\θG?G_|aϑNb<'YiF1tDӬ^G:u޶f%J^6?lJgq9pހҰa"E\lIqR6(!a.h1z4]0_/~lsJJxD3t)kdk@s t=E^VWE݋.z3wz27|s!خ)+4W]u/OHCS-ydxԩiղ;vG?FKwWc] 磇߿sqГ7nĬXV8N;u5oM|,j2jӦM\zbcmִJd=<)*yLLkWy-Yౄqf(\xp+۟ sꊠ\p\A'xtt=|gSLT:u8k9WHo~-ExtQ,L:U8V 0" 5 ^=chz.^h!+ 7fWNjsss\q2``"[*.L(+LKʰI1IXԩ' T 2Z:>L >i&y暔'ߎ=PUd~{+Ȗȯ&O  =G{(i\Q~wԔCxdkfՊkmܸޜ~p3n@KD?pq.:ɕ4=E](lKr_@E;0D. NJ`kxZOgYfYb/'G6!mu(^T&C&Ulat﬇;A(LQaxRB̈́o+,|l2O}ԛP(i*rFUq,\  B7){n"*l,PQCNtmA1 xOa\w}5=\RGzV Q]Ni>c%\b(룰$978 :](Uac+R黻e~fӬYsX-3?_z;gY|;w]P{|K&S062mviwǸs|'E x\njk3c4n/^TLfMmhRql7l6iZF5=w 5>q[js[jiSS9:9:IeT9t Kt.Bdh6*H e9rM5qX#ޭ$V2 #crOFD\0sVpEDo Ci)2MGÌp,̋_L8:F˺-HP yM3KN.nQ9QRW_O6vdRnd .Z0LQىwhq[*p Z]NPB;u} 7_}gtڣunitk աi[vj bwޱ27)с3i\#g2 ['rpE,emv9VҢ8yy U ^FmlL\t裋BDΑ6˜? "1VרQlղ B_Cd+R^z(/HlI+/w99999! 82ʮ+1$"B vBnDyGo9GyQ &LፈazxJ5QNtbCHf%q >\"a(+Hw*?„m:Nm쩯LTG݇y(> "\ rx͹Bc']WLy mkœ@eG, {9qc_onc@p@$gܻ;Uc:1U4# *%rs_(͋Tu.e64pt8a(KP趱o>i}G:)O8FS[\`J:wˌf9J9U5nt,<'qH0t%j_)dD[N19!'B649ga z}Ã>؂xJf셐<J۱/Uj')`6O@šԣwOɷ<yKd}vFpѧ1;ǯ}S-s1agkiLNveᤠڊsi9o8>% H_Ă>kĈ)YTy/n@.wwnO'v'ρ-yc2e\7$2UǏDN/Sּe+ӤV1P=@w, d^~@iqOJ:etHyBW^y v? í6 uZnmfΜi '`!GMҹ&^WQ ybxZLl@mmӰ6739gy\*& ׀,I8q26)Zl-$]:Q9[S9qk qfn{O XY&II:>-Ydq;չ򯥲Q 7>X|ܡU>e:𶿤jڒR6Yʖ*)f2\;G@dt(>agxb|Vdkke:HJlX4e#' 62++0p_yB}"8#!.R]a}a3tP6lX29@n$PnmuҵS3OlDz{HDv_a[?6Uxa$T4!jև! dr~xbZӧ$wvkk׎<; }3c^b )2c=`޲}#M}qk%.URE+L}|Hӽ`\ke~J?z=]X2ڻ+O`KUOD~ijt6_KSUTĎ?"q  ZNNNN+$r N2eyGa/['p믿.iiiÈKhѢEfd_~>n>lXN2C7j)dwHRҽBgi<` 2~@u ,"iҬ) D- 0 ~ȏ1B軐˷~2țq!J)ҪUƾ0_OR?Hf0 cҜ^vMR:*T_Oֈ@'NNNNSjZܲ"lj04841^t]Jh' Y i7hC NtWcF)g :PR`j]A-(X#71m'NA8"!Y=y"]6^Av)5Agꏀ-S*I,A:@U j»"իV1wBAlee*KI:M9[wY)hJTҾSOڴ6NW>zϞ=娣ofX=ͮc#{c罷mE tE,Hmxx =;?iƻٰnܒ%{246 > 6.=&\yt>묳2}E)ܦ_oN|'rL<RԬU[ywSX_n,RR*Y>>^$#=r`(`Aw :Y*SQ~T\z\yeR1ZH?@F#6j* uND{Bra2>Z@EibKo|q&V'b%&:/?N %BH j@@(~q-}3dd 'F p_ jެѵy˃dƵ X &a T: (FT62nܸx's4!z;;3o뮻2WuQW]Τ+i k;wl&uk]QFyN,289'YP׋~b ,YDfΜi{oN6e:j+0} $4@ڄNx|?ԟh7S8K3NvǤv?sA#AZ}l8Woؤ$̙+O>d&TSփ{=(E鄋_h~?4iсJ/SJH$9TuL{ߖ|/c3 /<S5n+I#+0-W i=8xRֱݸ'Nhl\ņ 6SPrKizgj2yL@LĹ 7"W]{]G{NB ;S= mŚ ^$pޫ}`lPízi(kOiiij܏PjRTc3 eJ2b"K;'*ukjtq"/Gkd69FʦGA~|Ũ- M ߹䭃U+KRIVeH{' N^KiE`#iii0h)H0+Fxz Hr[`S0MxPn SG8si2fs|{ÀMQ><@H0yu[1=c>E|s=- v9qФ l^\ʩt̝b=o~){8YYN:i?)'?z~wTٱ;sX]&lߒvopDP=L&eCzi&x,AU$d sDPSزUL r#vk cq?y%̡rrf=x6>Rw4i@C ke܌ 9Ѯ uǏ+KSO$fTLK}N9S?or+R>"HxoPFcWhe<Ǽ7yNkw5Cn_|0j4Q^~MRLߑǟp=u c.Sze٪,99%chK+^a=C5|7oŃRBºV_@,m9LT*5`c洟dӦtK?{niiO /iiik E'ضc.l2^aŠ1 W^yE99u&(. eLơ 'Z :#lظInj(׭YmuHJT3^39g'e_ХzϵOSrxW444P4{$}B~by4'^'>>0,Te\lQVANQ'YpK/C;8^|LUXk;(C;=+Dwd=zIٝa#FM7$RDO>nwfdP4P@5`So_~#t֭^%pPeʧ$a~ 5mpCVu}0G3`bEi@u~#Op4 (_.p`Hퟫ,8l9.`E`RY{A)fU,䫯2 _<?غ ].qC3:#I:|vc'82~x۷j] g'eF^ @Dæ=I٢$׋txJ%TOJb?_vWAgz&M|`xwy~E^dm۶MdȌG.`]|W*CW>N}~ ]JeF؟s{Ga{cͳü# %O{3&>rȌ}״Pg^vM;MGTSDk4P4Uµiiiih԰u&|`LC*j~ -F4/^l&fǾ?Dg4a akΤGCJӦMccI^bPD`f"l9,TWhqF!l@IѴ=H5RN) 宝醦KhK19m{=zIfCrߝ Ƽ=ZZn#M5+0Ge(j3F~DNjO+lJۼ@准kAofC>`裏ʔ)Sb)npݩ_( qf91qqMXUp8q(h9k@~٤Zɔ3* l={lիg&{Fھ F;[$:` @0[)S&Jv{^nvg:$IS)$%͝ijwRbѢElZSy:yW2N*UZ7Ɏm['9T2bɫ%!C <n`AE&Mda2y~g 矗{Ozi:l;v WU@uO2mC ez՗ ΫJ^| ''[Nm`e+@;loe~:ul4,nаO<߫dd8G4 (lfف0? @O#\sȋZqDb6+'][:{Qw|ҭ[7[eڵ̩aئ038Ey4a!{KҳB_n,y/KI)biT}ե~ZM[MS$)n6jS b CmЍM3_7oYҊ("URZ b=[ ˯,|}$s{)k:33k 0^8X᫓sTWg)cX܄+ f38R:w?/ m ,0Nxo|`իWx»lI0eUlP/ʠ_1DΝ御wGf FJ,uLu)M{-ssmuըe؊x~w+5iL`AZ(Y ~ lwumTv =PFcP?6p~*L?qn@!@x\!`wYNNNNCLuH.ےU[cHL1 < (*b8#B+ uW{UZ1|Qac$ -{.qb*%N:'4444# 0~՗G @Wz[k?ڗ͙=KfΘ.sffoD\01VUTYr4k~2_=2`.:SNY2[on"3Sx^*\~`ES DG!釭=1}c +4TF2Vs9'S"=X{8zRfL r!0Cҏ=k:]ۋ`q5j <8E2 Nœ79Q])ؠFXQ^YsH 2/)0fFa & ڵk'~"ʌ٤~s xyye/@t~gO"IM/|a>@4?`H2l(Ԇu{6נϾ Ǎձfw m '1_ϲ=~}iz& AA7bb@<A)I7iK52GNFHJL ȁB!>Of`dVYi_ns6|( 8飙[' Z޳-~PNjSRWwO(GqJfpY]۷PmnmؼMʫa?`v F/#Pº>M>"w 1v:mz4i"Օ54M^I-,w E{E[ S˻4!LM-'yWSX,:D@]Dg;$B/I &jڐ" ~QV&RVe//J{_`sx%ӌl<7Y mv[XZ\ѣqPa5k5j9ɎYEX':-gdR,e3uNNNNTqMS#d?ARO4@lύ7h.1MKE '}45Cږ #ڵtH}Ɛ䳑h#zPW\}\x%hQOZ (ŁB&L kl,Dj3fw>кeтAwEq+H0a /H4`5< %ЯU.>ԕugUbujw|xB:æLS-Z(Xm[fפ+', 77"O? 30nS)rH {("}tf2Op] c kW O: od2-D:ϻiwh5| z;1){R5a]wS)S 矓6 =Wo8È,x~Tއ 溵Vr?IҁZ +_O8 8 $u444P(5`'f#5vAdm>ݹ{)NXSxc4  {IX QNɘzD^Q}D`0e0ӾsVRYO2"((PJ耚c8nPL%zyVfYZK80A2T8 8 8 8 $\/[{t N8:?RFOi;p~Xw{ubݻrJ4Zqȝ"nظѶ\y͵9u|Yo=5ϞP:"4ðƽO>1@[̘1#tubJ:` q o.l6ñw>vyzhoXy->^D Zj%nuT?C}s{]Eyo#8Im~aȑ[*S)A@?tMMKb Wo? Z0?1 }S*UBc\ڰL.7y񏿭;VeRF2ŋ0JԹo?.cD`2_Ȏr ֭[` A$ tL,ۮA+W& $2\`\aܸqf,oc1\r]?ȰeU'I%Ն K[j =ݷG/`aUVOIkgXMV.Kvj5MXn3=soI<5Z똬~ZI-j%9F`#+"DAma*G+#T}F@IDAT4 f|?)lMk>^}NR0lni~uK<Ҁi pT|J;wm$ Q;*0;C˱+?92_Zat<3O!C }Q] 2uT㏽B!+ZrSIo\C Wop?& {y"i h4}5|8ܗhz<0/>ʀsΗ:Y2dQUk(b^\b @M6y_t.}=6%e~E+m L+o9: V yکs [&7VBMNT[&(~3ƌҽ=mn} ;8eL{e7wNx  ɾw?HRN=>K!0H{KQP_xph#Rnii hO444PP5:ZpX$N2&uBZ&e5aS ‚rW/s5't0F8 )MTe@|xL[/XƌP+;L"@GOmYm ;D^*x:ꨣBI xB&M*^.1t`a ݳ )ex2ڲ9|#Va]/˅^hy9GNf#eȗzI*v5j~_GBh#~E 2cP3zw?Qyu@u*o4444P4\&,RJWBy)[QY#t-rL@ZZhɊx9{ga3 \D(m(l1]uU! kִ--4 pN1K_Yk @Rj5iШѼ^Љ}JXVn444(\j%.A? ðWMSYw!dͦo M~Ue Ip?1G]wuQHyY3dP~RysNrG$h}I>~ŨG47N g9]8j_E;@ǘ{ @ZQም0!M7i<_GYR[C:2nAof2UQaLhҤIbJ ؜=ckq^FG|½I,;oSBGf{ )n7N`}ҥVv ΦG mkشGʳz]x/R>2WsH,;F"+,`mӦM3~?HK#8"f%K/dfm,Mesz}Y"_@&B&hD+<ꌛyΝdOW~89t4WZ%9A ˢ 8C9sf3hLT:qpȟpV9 8 8  (&H1 LA'cc-kG pV04hLf=!'JȬ+RF `QCX&Н}w˶[dkNi۶ccj]CӀӀ@>)>dqЇ56X 4:ɭQٿt{Jܯ_?}c8>;(k\TtY~뮻2Yx_~_|?1 #+Gv2׿CUNrO5_1uN_~6Azit:ec)H4iз\MD:tmNhnN()FYhN%Ee'A< (HGO ]2 f?sN *+y{MsSʓRʃ e<;z_01L^L}`W4Ufy/D[s=^E ?kF`'QaP<iݲ4.b غᚫ'Gdr4VY@'afx/~Gwɜ sP='?~# _$O;Fr4>)?I!<7~dGp}|hNSԎQS>̰dzwwt,~wʹ_(f$g%{ N#Tvm-jpuppH`.bI0Bb6K6 &U4* ="$V:Q}}T^DZza>QW_}w}rfHUϟNKK PABS.wHyrrT-t44444GO?8gjJRYe%E@v#;έ @hw5N@bX K^ww6F!Vziؾ|I }˒ ~ߢJŝ7o^>∶ 1vǦ%J}7 82&?(3/'Na}K5T(:Fo9*7]k@4;#+8ͭhps[޿G0Gk׾V'3^4١U+ v_/ eYMR ޛEGD>E~f=0wGEhISEZ[Ӹqcs?EPC\/ao1ǵoA+K OWT0["s&*~/i/@@B^,zı|[b(v>} ԩS|lQgA0'&UlaՂ'NV2SoOdBwy'ZJ8/U:טD֠Lu}}ƾeXQNl޶]ӂM4PRV,",y $Ik3Oo! _tr7*ݞbm믇yl˜Ӏ@Ԁŵiii@h rV[oU;cT"r 'Mϣ>*=q-ZycB㏛}}M7>0BA(wtnں]7oamsx;[[: 8 8 8 C 4[)ziꡇ*<ЀdFlY+jDNRgr?}7CcRѳIüB_BЧCR'x8R۬C=d_x?~|ylen݄zc% `\_=9[cW** O 㖕+W`cw !ϱҲf6t(`nhqȐ!q=DJByP6d\cl?/CX޼yG3gyz'BoD T-'~ m>?Ќ,23й{۫w{vW܌q]tErmɝwioD*:--+NFd?ƁQOvhڕuΘ@#r1w`!56xRT2WOԩcXH3 K@ ݖjYd 'dP8 8 O 8I]\ H'7'54"0|§Fcǎ5(*HIK/5Q˖-&Lu4mp8x>0[nŀOXgDVӼDXTtvq4444wسgەm- 0dKLq-e2Al(R'~XHq4{/ '>[F,q_4giHb䦿%*>mDbJÆ Mđ߈-i^/$5s{IMwy:jLM`pA^`Ey;}liE=z+R˥;32.%L4)h/R'KvWdHiJ+ɼ 7M LZH_FJkPBgun\}%ڹ bضcUƗm:Oz^#}1Aդɉw,@J 4)\݋*gf ?Ԯ[O?ĦancEgLR5yѺS=B**JYrK2O=͹"7McxgۣRWrf[ qT]P[2cχe?(^Yp13Hx * TRwy~`WJ%ew v;!?~@gW2gOh|&O,t|z=bi4}T#E>'crӧ_j[nms dp?5@q=Cmg#=ڽ7= xV b1 supppY `T}@'|W#J9?`d<,OСC`0.0a/`MU58W_rrw<ß d8[oZȏ3OJA}uYPSOeb<)$eΜ9ư9Skɒ%C#  Or 6vc~3َ^3W^yŰ5*XR/!]4e:XI32)Ǝy'ýbb8=gp{o!'~f8Fy@NrOtBaIDN8qCǍ,-S%nCB4@ R߾}c E 3t݀NYA #H?Q\EU*שre޽ Ԧ ,8 ` D~2RAkO`[)x#RH9{gos? r9:l hR@xP^H~I#F6@&@MoJԮ]񂘣O>.}EVA _|~O>E,ve=YiTR!w@r+Vgy&09nO$=7on3+ XɈ;n`^LIZxqZ]9X /h+hNlp]|'`hOq?脖}mBm.-Ԡ;}I-D`A!Wpa$&@ }S-v-H w+C1NI~(iy?dz#8W+Ttc^{tcɱ^"=-W_MjDxtנ"y8}o6v[?p5v+$YH71`rxdY `EZ*T< (sR]vo\EiB ,Y0., ~>Hp`{~{ܸqtM^4jTVrڵR^})k$|zNtd08WF9{`?cxe9gf۷EWR?#"xe֭[coOMQ;ȰaL ǣ3f11WWh>*-E<h޻{.N ݇w8n*0KRVU._`Ep;p $g/,>xےWlsf-2[VjFMןO0clU_NjM9 0jXHo>d# [.Ri|c~8h ybN`[*pOes.8gg{!nMJRfLIꪭevB0<)xkӀӀ@4@TEr)tJ#TDtx܌:! &LBq'9һ0\a$;q_g8@0c,ggFk:OC0$NF8 kJ>~q`,/wCRKuMyO 2FjQD@Ξ=;S_i#"/_S1\S?%lٶ?=bg~PWBJE"՝~|SRB ߼}a1 =vJJѴh>pGN(G >MjeH!3gsİpt$$`x|g5!)kFd@-T6I I>-YϜ?+aL!vt[$!5L{e ,3l]+(;Fͺi $qcC,؛ -Szuuʕu'x"0)&s2VL5^ƹ}lπojSM?sGm!xA v]b^dՐT=|NZ `|=o)~[TRr1FNW >7%@7E F̈́A7,K b+O?=V4ģHe>uKxam{]w._75ii [Xq; $7g)uX%%%S*D LC< -H9+Z~Na*q0nH= u vYbhJL2n K\@4Vv1WEP q`-Nl5IyR}:t0v jARX~DXT.2!Mm5!իWm&}A;-9N02O4cX]dF閖Tu^q"I?ޏ弮LF ܹs` %A͚53uX'o>'%QN+w٠i<0v}3c+}9ii*T W]uac},'AFsR؆2+Ql޴QV\!RKݴqNP3=4W&<>̖ hIp6P `K/\I7eǤ&!{8۽9T^ chc2_\+7&/6M`ݤ ֭a3fa( LNؘ [x` aٲ.Ӣk0$¬BP{X>'{lĞ{ -^aA:7|ӰyEZekʧ0czfu4{o25\vEkE%t2JI7h1'NNWxRp;r5PZ#*jxIOV24މ"'_0\y".RKd9.=Z6zq-v;s4ymH=<2|ǐtKR;qppp[ H0aFR92G'堾YM@*ݻw7()TH?Z<&mh#ss10 v(I0h4l)uyh)õm `yaOnfa - ᗏʫ^JYe:Fae,t\6l[eHHTJ7nl~;̼.¨Nݶ8d #3:"yT/Y,}4j~LJx-Ԯm.7 ɇªoh~ꫯf8aÆ@[6o2`j5jf؟/#y#[QFi֬Z%|&=Pռî7;T4o6*MzikN(O  дi 8_N Ѐ $^IN!EA7L.e7c /& 󛐢*:AfWⵥݭiwnE1YMбٺ袋$MH70X/A,W ^=ʊ+ k➿o2W?h%?)uxt -NN)iiiihh#lsJ80b9L?$e0`: Ⱦŗ_!ο@b@R[pzRn=2;I& NNNyno ` 2g j g*uf`Anݺ!$Q8pnQFŋCl<Ү]Pq#q mI :U":)LsWV@'ԇop wpqdɒLEpej<#?c2vCReat+lytpppȞXy]d.^\,@6EMy> 9,xBT0eWniq*e?~)%'--\uO=ofA.x6X9#²p=聾39eĈq,z '8GYKtk֬X] Rkew"VSAyƽpZP+.yz%(Ҿ210?>Ī2~o2.QwȽ?X/w{m| *tF'O6$s눷f^G{#+svY4oTRUJ'wSd1tq7 3f~x*ZBva:YJR[c!́ )D>7\}lOVGI:8RYZS05h6j䋁vn#ЬY̳vmT^[b~rKq֏h>_.}3o0rb Xg9$X -nE KCߨkcNtw==%j__nRXі"}WJ\cR*jBTMw?_g}6,EMwzgN.':V^~EVҪ)#l4:c|wANPxRTwINNN^ ഫZ.FǝuA f&|8rZbu|Ek) A&brTO=uڝ(NrG5ziMX!d(`+xs4mP~er]wݏq-?.'5c֡s7D ӗQ:n;jRリ5A* jMXA5 ~;cẹ=* 1o *Vԝi W5'nw2ky$\rRoYi3fΜi8rC*(.Q8!')RœmwjF`ҵ@AsΓ fdrTi"?Cb#3D-!:믿ptbwТeY饗B~Gup-!DJ\c $8ꂀa"Ђ7͗ckGZ[or}p~W:IazU nTmK?iT_˖| 顇jD[6볘)wJ;+cƌ1@,6]/XnU_ɒ'%LjʀGrev[FNA8m0Tw&F? jtV{ZcM366+m9VYx7`:ujիV6mݺyncdvIYe~2+n}+-P&/UZcX($~42c\t Lfa, afxH={|{N2E[SQV57mg;,N,}AR:'kLWٹ>%*2^a>Ҭwe35dy2杷cChSKkᏛhT{038#}D{'^=%QEX@ĈS:cQ>!GW\qa-!r7^9=$Sy^H׮]'3'S6Ⱜ8R>lփ4=^!I5кgz cC R"I9whx繁!qdmѪ̱³{饗%N{n >9䓥>v2FXةS'y衇dti7pBiSe]f_믾"?1TH߄cۯ'淦8 8 D@l]NNNNy| />&t=(Pt2rѥ `9$E#Н8 8 8 8 0.Vjac9;OH-O2N HÆ :S`f^3vikM@ӄ/vZ[$alq۷ogO?m΋A4]ywңsi'+;w6fԍ+3f̈TxGd=sї{#vnxF@2B\q ;PTQ' L>l"ʔ[o%?tIeێ k|B|[r}xBBVo"Gw&Y$tE3:I5Y#G4鴴4VJtd Rm[J8W%9TA?OV)dUoi@uX褰 .Eo:yő 1մW %lL+Z&.ԀmR.55Ц3ڜspppu QĜf:y tBa( Bw˙%ZWӀӀӀ@65?Й0TA-<_08qˆ?p$;` /<κ[o8OC>^0p^GRrAqs92[2Vpi?(-@={/-4K?cAU㘿d.BnE+~oښ'u ]1+ Rrwȅ_bz#9`@Yaq0盛*UV;j$Ҧ*NJԔwChG+8ՐH*TʥV0@trJM0$lS^ z{7mB(N)S:I`ei$u5 '.s0zdlA=vQ#_[[o&ɚ>Q/;IH9B hxz,\12IsZPZlڙ ǦDڴm\I@X|Jw+l;Ni?o!qfLg W&91r1NN1iObR+4444y+8MtVq$/%QGwqD+444 lݲ9: 0>|'&z,,OpNW^x wusFDa#٦D  `kE֬Y#cǎ5Q<3 |RYCN͎yM{sFڒְw[OʦonjOe2!87x .0ۯнlV?on , P{G&y/,͚7a>l`HYeppO)"_|FOdy܄ drD EBisp>a+KM}:IokVIժUW_5:PDKkV *8ä[pw\AbtjWiQfP0`M=9>k8yE6_|YyR :IHE9)[xwyꘈ9 `[?8%Q0.Vdmj4V?J`87v~ ;ԎQwڝ(NU~ }qtR u,!nR U`4)!Z;^z)ߢqD@(1<}@uF*)ݻz2k`IVpxֈWT#&M`C=d"Ł޽{)S ; *,^AN:ɢEY~zc0H|V䠃2i_ijꤼC@~LPY-V.8*_lrxA)5 )~뎝fN΢ <9tbᖱi`޻IBo >?xlR͡櫯K/IlܲMTn/}N(eՆ{_ꈽ>&:t5l ّݎz .8c¬6.?O$.]1>:X y^ D@p Xڲn}zYl;䰊T.MU(P`"Pj*[)QVR)0Ib43YCoO=a0ad HJk/,@IDATa&,`#( K==\w]:!ux juBxl֌`}*ʕ+gbJbHŔvˆΒ&{_nrHqYnIc6~~yYE>AVP&-[x j&33F/97}kec :٭{'~ֳʪ䗴4úg^u|U XARIߏu /2S]g&GaԐ/Y cI% ;|f;wnw ~%g] niii(j &IbdsZC o&O1`hGWbI-\/5 iiii k`׎+Vj .58>'997ޫ}29+h*={\U `I'W|N@-vc xXjHxajq?ʋ]PZF{5Z͝;װ[zlSVpFo쮓+󨣎/(w̱K˵kڬoR9gڴiv|"@'xYLsb/>#0k-^l╩? Kn7nG&>,EnIt>cG+7w,). Y9cK=»:..l /X$)` )Of ljoy?K><;iihO .iihZ2 !{@`&SD^X܈#h,׫W/3ζ] }~dҚzGGJh$niiii {ذvu `%khEm۶MN| >VHO?ٯ-Z0JX;0z޴!*XBJ.N zI8٭YNο*•νɚ®go|B~opQqƆEtфK۶m ,_\pm^P\{UǠy K~ndCcLq19-D~x rf$p[N'0pra&bsn!'L^0צ馛N+ k򪫥eu˖HC?A~vٲeh?4́gϞtXm[lWG(xKE-wܩ@$ESQ?-Mgt,Y3-w"o,ySſ*4խwKi]pOHٗa:hfK 폪Ԩe@UqkWkFk9$x= 8dzQ@ٱ4~iueh7Μ1]`2M4@V xsO8y'S M[yt 04pqUQ:ڰeI3&mHg)t.ӹc.2T|?'2E?PUH'LnWk_iv[K~ 2Fcqs?#;4:`kUTRNvu9Qm#u.;Hj(O' ذ+ >ҤD@zUS|8a2;Mn6{_dΝ;3wlmPj5.}k׬ܷp"h& @HTppUbn…N n*U(|ǧ~Z)!,7|JœrJEO<^z7Ko۷WA\t@puWOq`4&J&9@4fꩧ\qf?ӧ~C{ًLL5@:Ọ|mܹeǸLBٛU nITPz4z劵*q[Z|Fk@Es.P22|K,Qs"(m߾rլV WHԱ*G ʚ]֥@oH,HDЏKQ^wQ`P9A2eқ&9 T.]Jo puڬSn80Q ÇSժUnݺJIZ `&j. u5m9gw ذ`iR7N}p!VvE2<}GBo Cv͙3k*Y<F13zR(ݧG! "{oP'\&BgNZnC?:,K=> J?CNJQ>|Xeֶ;D(ϟoNU|hl'4pT^y `R8Sj7QF%3"E:f2j**]4W $|o( jeuD"+֯c?̵qD5m4w:8v(z/`;Oo_@ 4EYh&eQpS?.3yA]ab u¹_?cXxUQ\d!Ϡl_P".1‚͕0׀mCPJ>f۳{]cv.($Wص}3l3^bGӊp A2HrDq 5;z(͝;W=vm6B5@A]my)J5j*~ZL;lӮAA(vZ9ÐhP}9B<ɓ ѩЀ7;`cBRRRCD׮C\/! _6"kld F $0Cnd52D-kHcC(8iԨ i-[)T\:6d޹k7lq D> xD.qd2DP$ȬEV!8QlsQI61_UY̎id|ҠABf3f(g? +Jvg8bz1$O> {! 3KrC^ެuONJ?jw\uqPj̤YfeXyL<9Uo5W-&&TBq7u0aqӟOs \~"`ӧf4gjsE[܍- v ?aHGa%"4(~po^r4Q.1g?HK4%|1xpૃAO>Q$x/p}ѣ*'`Y /K/zmq" :_O6  %hApZq3ULtwL!%C[-tF x6mdp@2$ҤITfMxP>}myp[qG/{A3G6HA?aPXr5R1eWpV6#7/˗43QQ̐nVʬ;Xq>׎pN_[wdbHIȒx>{yRŋsK. AگOKJV aڵ[.PO0&pSĔɓhv]o/M&wK+DFDN1ʌ7 :/\`z(%{1 s'(vt} !}XP@=}ba,-[T|,/>(.kĄx:y(JT[Ȳ PDIBuk>5k֨bǏO U9'8qze[䥚jTXqgvwM6mYi(3IN0<_[!&(Ss2F3]?!@ /Y$urB'9䋒a #X;Y^1͞~iKG92,X2%pd4?0+JFdatzn_B~򠡏(c.=  WR*Xr TQZpԿ+#/U7*`{nB]l-?ԡC:#)޺^~RlefAO>)Y$u]6xj׮MZRWL, $Avޣ3gΨuv+eR *#UNv{uW9<\@#4*>Aw qKFu xj 7yQnZ;8VDvʕP³… T|m?z er8 frIR H ٺhD2}K SH:z9|3T1Z}RjTacm߿㻂U4q ,PK]r"hm `X\9Dɓ'Ӻuh+ weςIn7uoܸQM`>ަNh ryjJz4&hc!O7un;0![3Ljm~k;ָqcjץ;2d}cfҩeIP|Yo{\.W_cܥj8vGi˦ l!>:_xߎM|8s` `Ip`Ade͟?_1ݓ&hiӦߐ"6skڵNO}w-Y {8AԌ[  'p>sڭs?ロ}]>VJ7o&OȐ@ %8j(%!g襘8aQ?==f'V!?M:w!4+ 0 "̅x 9cgN"4CYR%̵s{vh#gCR}l"@[UZ>g#jQQQ:O[oE5wrO ֏ vlR<MLJ{ &73>zWJ:r]ĉ[}@wًef.F[,O1,,Lߠ\i[(AQѓo YAti{`رc;}xj_-JPdwJۘp~wu9~;YZu*S<-?OstAD͜9Ə@ƾة["`tR˵jբAQFT6G:M:W}lU8H3S[8,愉h$A@ duorT,} 2Zu}v3|2T:P2 T9C>@OПoY4Ŷ8U@L - 5 kqLjY"jӡ1 k׭G(Saf-Z ʼnɩlOon, m[I;2 wؑ\FJ`ʓCn }(g%L8b@AzI],Apݳgύ?mehK.dSӂg&MF<~X~JQȠJ 1vI).s= 0ɫתM9cGtK&YH|#F+߃v6bu|˿Ű fO[7nR:x%Aw7E/g(@J2&+(,;m2# ta>B,t _xҜ-;Ɓw"}1&^˓ɨ/;NbAή1; ԤO5?Ȯq8|O2I{đYQJ1DoJ#PD?4^!hepH" h N8X  kF@GvxC8pN>M OU֟{~Vhy|4!#}e @C>Sp סCTY W\ѮKd"bfEsc_%'EQ91uΐO\Am۶Q=lYH J) @ 88pȫ/e[5mNd!f@-M'( #7S +d!ڕK0 Jiw[Q eG >OT&%(tݎPoA EAM"{J g` (,6rVY42;VIEk#Q/T# o_ݒqdJ(+<` c~㏫jXQFM'z+E%zt8 {`)B%"$xi6:LlC9}Y&2f~KoŽ=$¯9Id;-wrmǎ!|3nȠ|yP+i/`ov*O>_->O{>2` ى&2H@QzuϔlF}#9;LAr/r`cQga~75aZg6gOP/zR4~d -b u6yhH W"+A ޽{ s xt`feO0ڵ}+dE6׮Ye4tUL.[(cfCv#IyNʮ1qI‚Zj|ҪU+:q_ARmZ̩STgYgO6>) ({1U tr> ! O|6hÆ m:{S_'OڭLJׯQ`Ppm"I>ߩ瞳 vZj%VbղXE]p>܏i}6<$K1g\/O45d5\r(1`P.]V5tپCӠa \P"ʒ *ET7`Tp8ų:W"SѴ֞}r*| _sq ^R%p<<8<\)7Ӈ%݊2D),b.}n1-5g!P(Kryl3\$Y#x#_ Cr+Yt20J#4P=qt~hpzF)!M7& hA dA˗26Pg4k<2|aG#2_  >iIy޸_$)9utv^≖Ѫ"Ȍ=,XOyUDl9H[#ЊtwA6''xbozy?U 4S|$bgpKVuɥsghv ֭Se&lD .1I1K3T%SJd0>4>1UQh*UwkPCkc!XXsf#vGP+M>W2+b!&ѱ<[fO0RSV 2ܤyKqIʴg)l7k.QlY<x&x<޷ܸq:_G e@ћgկe M+ςtQ/ӠAJ~CWM(+|sUkKUzɨ-I|~}<] |Dƿ+̨wA']7i_.*6Y'Y )'y١Psf1p>}ZIg/$p`8K]kܸ6\V\isֵktqΝe'4kLe IX7nւ~Z|%s^dIē^.GA@|WбdըQ9WsgɉA0*b)_|OjrK pC:ҚkdM:մ V^NE2RJ˖-K.ի8̤#xv6ګ}-K7IcɢS"Bv. c1خ}P|<7GJZ0ʺ2S@?3ڽs-y"#pIfjlo (t c~٧3聇Rْ%/x2 B-6QW.bf ~+Qjԩ2(df|76 J {(ɤƶY:mvβy@xɑjnjؤWvX"Κ %[,Zi#FPr,Q<6yg1s͚5hՆka8`O|]0 QDP9 -d݂:$fo)V/|1Lhz{bO%#"" 10 ̙Yޖ zlBSmŋO?mG?xm5&9 ^,_t!222A֑Be1gXF+;LcOJLvU ~@Rl4gg J%JQpWmy qd= 7^LjOJ%tAP{;# '5L?an,~y^2jӨP8;Dn"fy=`ٳgNM[L0Ae_k\˯_ĿN, 2CS!dIpYmQ !#>*9W_|d;V|yE4TB>0^2'༡RV4ܼ TOFm'Pp/xS|oO403g(uV(nu=FvO#۔SF `6_k\>̭}Tt,#tiV Ȋ۷ٟsr?d_ݻwDi҉ժQ=hCSI~$I\kzYQ%A6P=*%5_JD JpdB>o3{I2QAs΄&bZk&P%<O<t(d  @@A~jr=4`t͛mpb&P5ٷoĒ5i)e}?q۰i3, @BV:yFyo9A$08DxXw!I@1e+쪳Ç+Apy|u4N'2"vAG GyD6W|9.w[ EW8 rߧ7np~X9WZe U M>߬s' w\S5H~?|۪*PJXS###z@'NIX5njJ:) YM\ h ^ȁݚeēmZҟ]6J0+1۱pmR*'UCC93|" {+; n }:gNr׽W^ykw31F&4jڜ{ͬȰǹK,}P l8aP۪ƙVDm j#;.1 ֗N$ahT[7Z'ƶ/_l.AJ›@V@P*qS"+ߢf-ZfMaCs ݵ{wwN}R?)Q!bٲeveO?oߙc~!]~==暑L(MxߋJ|8;bTP5d͜1v\cǎ%8 iӦ kڴ[͡Y\+# s/Xd wA@)$߸ )g։'U eM)[6SB$R4{r & ~O |t]wYf7c/ȳjVJevض.pt%]Ugpm829q(o|̸'v~͞=FEL'۶gvv$֑L{N'$$$mtr- Qy yuVSJem6 7ܧ7(p+{3J$o Pr=O>*S>jI*HcQ\FY8q/Ҹΐ>]wnI<шUb|mN5>"$.[bTQ$'jȻ=ύ}:t\g{\t#[( E!Av߯+GG΋/h$ҷ~k[.]ӆ,F}nN[Ӷ{! ē^,98<]Oy Ȣ]zugɬO?* YplԆt6loQvxCn!N8ٸq#-_ud*YʔV?A@?Ν9Mۣ]p 2[)$$GGpc׮]>~R00 +WrFN! P1{-Z1NAvڶ՞lҬ9ܾ/XN'6H&pAg҉}1 *A:5̙9lypF0zgDIl=m۶Uc30ȋF(S[V- gZ(@k|O3|6@%X2 ȕ]ns'"0*݆Uܛ\1Bϟ~xOܶy;ysIn @Xf5~Ծ3I!ĢѣG693oInK[>7ŋ&jF1fup@ҳ,gtA@_ȍ eq`E+^Q,2w}Tֺ~?-+nݺ\Dӷqfw~\:+[sO]:Ki͌eV9sNr̨ĭ PF+ BnGY!C{O~3|,+Pf.7n5iD¡!t1&}̎ϨxdJLLlz]!(!Ѧukn[Gt ~8qsvNݸ7oN+W[k.5sr@":bO|; @#p3g?F)LyCoEej5j,QΟ;#kܸJ 0`2 ifXK)Ku7 d#MsC2Lփ.sFb (_-[ֶ9ݍP)cDA@@J)`Ucǎ5Fy1A 1jV0JaqIE2ٳ'կ__2|G0; o([^:Du^̩1?7jw*۩ 䓋|$O|kA/ kլdڏ=JL`#kV?T gjvΛ7O%7p~9cܥ6mӶR.6!  PԃJ8,/A@r7=ʕn=R9ceALBP>1Z.ph܆9isXL%o}oZ .JVB{L>v#em | q"#e`Bȷty:WPeoPil@IDATse0>J!ʤ?o:eBW,7hes֬YTG@$4(PARowUGYF@/ہ~JUB=9QlH*QUY/^@|dEKċM0}>p2E)L\O2po+k, ^jM0A0O" )HЫ.UA;u"Ŋ*eL(RhN>tc) ZgHmJ̙3,܍+P!eRB[vu9Yg˦ t!Aқ_ֵhBŢh#+.7 "{}%2 A@B8C6HMVԩS믫XCVǫWVk׮!hɓ~p8K<ĠQzCbS;A %{A  ko~T*k"K 5P8}4k׎`F:bq΄ YKԢEKV5I3%8: ׫]x-[7\Ųd=TY)kG٣4壩B:,9!d@B)Fcƌ+V=Ɂ8j(%iB(Phٸ/ RewPeaHiΝN-'b L0P:u|y1+ sPtuOY^.f4kK^ӏ?7zv*TTB(6v7UN~\+ʷ#1"'B]#@gU%_R^$cGի?앓Ϣ[RVZVٲe5J{FU>${  ?_^7Ϲ,T۶mnfnzUgC@7EdK78PwȌrƌi^`p\o5kP%KVvȸզo3[R:ժSTb%)u @fJ GyDIC)B3qv<܍@"f]xDBQYT^b4̉Q}bE6;y!c7 ;v$СCt2y&= \5#iܹRL(KV|y|U4H42?u-7aFUJ$ (θwti؈',3#̞PRA%KJJP(H6ܓ WNRlμ#Ve#㿡^w񥒲 3_>HkXA3/O;)c6U>Cm\қq.&ً@=eyA@D`-ԡCz7ᆪZxpxWDۗBB etz ,x m*R5nҔ֫OeʖKG:AT@>~+.ӧvfסj{U" TA@!l.8pEFtpt=ԻpΙN;gXMp\:cۨDR.)McPfp̝9~efYAΟ?93gTPv3]5b׮]W$L]Znm|h!O㒼%ivϿ*<#waY viϞ=Pe{U~d.{s}Cj({fa"m^ @!d5.SZk_e˸fV5s{k@j&D'l#'Ki9>ۇ.3[rmT })u$B̟I'_[6a[ \5MpWC]='۟abuw'Mt9Ó㐾2 S bb;w^)$kF~!mڴj=X:y;T|TzJ!pzgv+~F`p+ԻwoBgd 7Ei0'29BfYh O?ݻww}W8'c?̮6[kɶYG[Q$, :Ν;K?8f]F{82d'j*;^YvA31At~)ő3pdjel%_#IӸ|v?p s{GʾոL}##2d\c5jP_>GiW8͞U\p\t)Ucb dfdF_U)9k׮:lnz?--*y`R=0g4|>s(rC )$8cWR"Aʝ3ǐ6 `@=.Mc9'Rp؍$>$$ 6{=O²^xAmϮPFЁrhhzw?W$p7R Xn57ozCzkvC}_?8OZ?P)^(ΏLO/@]:Ov"ޙHk׬-V%sx֬Gժנ>K?8au]>  d8mLe_p^NA&|PX٥8!dk]DΏ#G;$ˢL53}Ҹ36PbEf7]m, AkWы/H=g:^wHGG'}>*S)T~}Y9qQm.{1:.I'y@ ;P>hSNoz-CgM\ahk)Z0--߫mwO$a+_ىGs b1Ã6:A@2y|=^V@/}rj Mõ{d `S{ 0m F۸qm ->S4rH*W\:x c79sh䓣i¤ɬ@2ur>^yw.0x厍=TήٲO=Vw⫅B:];(ȯH% GP0Jxj/Qj믿&6u]9RJd|/ae:<epp]VT/n B4*qo Q p,j0מ2žDPi)O?ThOP2%=zLH 7c+[ș9˨T2tkt}DY3/^8ssTDI}3쯓'mngS)RקI5,86mJ֭A rJ' .^ilȊTi? <ŋCC۷zZ@TS;Ѷ8;rij5j7ϸ倄P$K.W.#,` @F0 "[zpOO;Dh`˥G;!8 p_fW_Vgܗ^z)G/=nDݷi@ \z03bL4I]/;ڂt2o(U|(&FLB6lK؁?ʕAČĉiȐ!ҖHʁrf#]tQ}2崶f֭"hov7o|2 A@vDBTy3n^p,Y$slǎ*[ll٢Cl]4˗M &h jyjASNiLbcU^z+L}A@"=>6p7d"\m[)CY6mVv>)Dq11NS3%tAsh[SQ`f3< L/ xUgK !{|nq*0'J$o~~fFOմ{;P 'O4:uJш'(u@B u 2s~vꌐt U@M|\,p@$84\[Q"#AL>VD(,_5P;v,^}CoԸ}g.ЛeJ@[@,飞%wk$+ɥ/`A s9ycxZgI!ߍc 5:[۠$o^H)/Rz0$Hote˖]G)ǏPG HF ̋qz\k/ݘB5j)Ȍ2I%KJ"F^'xA+4`j#OOʔ-#J'@|;c/6ɗ_~I}"{h36f˘b|"è|% 7J?Z[xC ҉N'AC=^]V!ݻ `9N*A`AiBRcCD z ~衇lҿ|ʴmܬ*Sl9qθ A@p $ڶ0"N*!YfM`y.bdx!'H)b/ PTi:̀qL wrzKew,wYD sG38`W|yD1qTggxWt P)Z3駟0e Y(7w\n܎ 1p7 /S gmGH%hmXo@81߰aCJeV*[Wҟ/H 8I DMLH܉~zy ~nݺ隠Lާv90 2+Pq2<;٦MJ[6kED2_0 /)19C\܋GwR_s:U8__nmܤYf b`V'}{2epOm zKp}RJ/B-QDr1L:)dsmxv+%tpSC 뵛+2!kpj8ƌc `%ߺ]Ե*1  B]6H'q\&d8v(@sʕʉׯ_?U<؊ @zgヨ@ 7Cr ,׫wd;eӃtPڀʖ r/}oݜF*C $IoXZ L;SA8dH?W5l9V|@>iަ=}Xyq6~G'JjHXvhq Ү?-p@1Dwt3HA@ȹ TH:ie~&zTygl}m@*irVmsU_/D'g&owĈU>|{'D sL#WnhȑyfI'$0]QblV 7%5UV}Q,\ԺG A+ ^ɓ'j /W˩mVq/5#79p!&8IjRe<k֬ǂ|Ocс_6Kmj}vM B+bS6k\ɝ(h"^]R=&3xofdNZuxU;C 2;oVVѥ#tq_sLbذalٲL?'3BH<2Q$o@Ғrp}þH 12Ǎ6cù-_zm,}!"C#p!I'8!FCa`q\tm`Zy iݞ={*6:u}uԬUkQvf{ޠ[re;ҥ~qEnHgA@=R ={VP@!vBeْEt%1jsDG{)W2>, 9al޽rk%{0o\d R;|p 8 Il?D/1.3NN>'{A 'cחIuݹ7m2-QZGom, ۶ukV{Q~ %8`B>jd=GK9FV*(#(Yȅ/^.12q-Ν;i޼yA%fk0;R]{5V{Ym[(>l3 Ŋ,a;QԊ &=Y|) js.휖,^JJ  InkLи~;$1P\RG#! z*.a0 s:4v:3IR?Yo"5""ae?֭ %|pm|'>Z;WN>MիWVɻ" bdX pL>;~cCGZʨ_l͆̎C@A. &M!&p+W$G38:6L RR)%1թ U"E )vA@ATX8C*{.q?4&^=RJaA 1A2SLa21TJi4VD7&0c cPlժD L7?#c l ʡC.z|H߯>Dy]8QAo:`41'G1祋$;sYOKAib^s b%F P0U]mZO9rРACQ33_u >e66gٶXDvKgcǎUg}fI]K&3;$֫Wapٶ3G@|T4<.6eZX{nU QVYD/L/7ZqJƌc8?T#m!drTA@p|eNٳ%GpU$V!Ũ2jf_Q,ٺ,;IFT-V23I)b @V!PFM*S<>+=}aA0AV81p{Wwr :1AwSr/X@UHF%m9AcF#XAljNcǎѢᆬ=z$CΞU&:lt_i'~G/ڼaij7XPx-d+dr"A~mG-ZP˅'zJf-55BI'Pr2L>s 4|xײeeO.*SLYV}Me?a#F huԶ]*ƾbA E3Kduk+' 5T*&LP1&;rڷoc'mxbIG)2 Y@(S (QBp-||򔺉qD XR8ڢ,y41D\43Im}5gq\Onl (7u_}i,ڱݥ3i 7Tܨp H'To`2|bfŘ`WIq6kъqϕYNA@ 4lڜwvJ!F+Y$A8eb4|r 5\ĉ~z57D"@0dꥮfZn];'˸q*P+vfCbYṳ}]%(WNk"ݴi3E6iå`[jU:OH~;2dc:tl_%vZr t[ۦOcfզ09$O1A@}$'%_Ow a`\[Gԭ"v֭@ ͛֐"ح}(%O\1/?ǥ3gϘT@V7omFORXdXa$A@\ut9u LJ+dtBq\4MzC8yFڽc=Ӗ-[hɒ%|Hm Mޒ2[Ȋ,M5mQ|ʸ{Ϟ=q|A3aeʱȩSPnZ۾};mܸ;0cI<\G2%9iz籣tkk,u}:z(=cM"^|5S]BvQ*57-ۣ;:gqEѝwI?vOݯ=Ԭy ܥk.u&B*OPnUݻ7g_Y'T/>t Cř ݷ*eը(H'Z#B0$U\% PB09C>?:.JY&{?*f/|7/}_7p!?C`_Қ+:+@0 p3psMϕ@<2`tbA@n ٸyKtA-REABseʖ⅋zjԩjՊPohN$`',!`N3oNDّ.fG7ZA@@ 8,*V(OعaÆt{Zb 5AI&ѐ!Ch>fȈz g0jԪN] pR$% @~SAO8੦Nuk.UF]{ +`!P/;w>{wtQNq#z]oGŋ+b5J គ@45xF@̮v_?.ڿoYt몲ZʔR][,Ayw 9sP׮]mk}ݟ+z>7ԏ@2)#yU6ʕ+oe\rp] Fxҥ*VW}Jjg' <#<ȑ#RU+k.Q۪ xMxߋJ۳>6m a򎛽^:L45 g'*G&N6nB:vҺ#c|u  -2BCnԺm{e{qY,$28Tb9zc2]Wa49RWb?onF$:>phOll,[K4U=zPjܹSAO^hcèxv14o@KV(V>)^%'OtZȲYp NUI?T҉ӎ#E &,ܤ<9<P.pСN8߳gZbtIWA$/˪\?Jas-ZPĺW_}KHH Q` 6TsQk2# 5@̇13G`Fj'5jԠc*]A?-J*Qm>O|a ܀bmnɽK3gδ5Ѓ M=#3[& EoOck g   -7xUUxПjiKzCĦM%Wb"vVD }Θ'W\$exw , L\Z:E2V޽Rڮ_o$;KaE˱jn鑎,G@'YP!0o,Sqljәe,ź @Tev1n8u3lRɇS&b  @z=6BjHBY k׮u$6i߱35j,ݶܼ$qnI]Cr*$Y`@|޽J*(جY3E:QC9ڹm*磍?T:0ım]lrL *ت&˂ {ĵ˗.릆PrQ@܀ JDFFT?byJֺm;;RY_W HP(fexb$(|wuԙYA! ̔b(&:jt, n4vv=Ϙ1ڳʟ~Gcu=3 &3k,'ƍ+\ɿg;V_ըY˝eA@A@Bfd7LJ%}Q+"#inSG~1n ;o^Ovڻw AZY %v ;: d"PŁ̹sfs .]<+^R$Q4T|@`ծ@~ \G 뀏OJH;&Ez^D b(bEQT " ދ-!! }{]v..yqw33]f|{h6Rc6)*MRmji.y-‚fpKѧ@E Ȱ~(QBG0we CAFM&c>֙^ٳ)݅ R8Ӹfr򉿐O7@y-%|+rs;6Gsv˖-RB*YV3H'˗/qYn칁jժ{H8{|'f*)oݺu8ʔ-Gi0]^T BB? c$ŬꁢA#Z۷wU"N׮]۔x33{v~>]v_OO0OՓ~S—'cN:ݾst|Y<45ʕ++亖Y;ƜӪ!eF|RUVsY) sElʑ#g@q4<34`J0oSboUF >N; CϤԤɴg#?AJ d4œuD.Y502}qj`Bz1A@A@ &(_|dJP513lF&ŦNmU;Y#/;ՔkZӧNyD2qHAw2~>KOΜ9ӐCԩr R/l˟G)@ KU.w;={xZ*sMMS+EĪ4)Lr7~_@*Yl-g3C#*i)Z1(4j܄ .BPSȉ7HJ =rʹ]'%+,[͝C>"HiEܯs7zŞh &'OL1>X۩C X֭[gV$؍9KAq 6m{@:K;$|2Ao@˗-S''y `q6,Q0s!GƂ߼y3wSNSmG   ZDN\(Gh 8CbSqrgv}z+6A@H.ot:+0{DGDD@D| ;vYfC=Dcƌqa֖A ="b79别bW?UTɣ ơj,!T+^{ D?Ӷu vI~ F}KyY1F,m!p&ep'݊;#+^;S쀁Rtrk-[p\$ S8ȑ#vqA0V$M.C6lH#G$(Z1!Ckj8P9#`qk&OL%J&+ILeDO"iz5r?ҷNIH8`81p\dh`F]lFժ**A@A@ *Rp9t!rxClҴiuʼnS? @$783sj4i׬YR+"!S4h6 sέUgPL7Y-Gԋ  #b3_*V?~ܾ;E͛+UklϜ9SmnܸQͻϞ=HVυ s[oAB9&pE)|mVq*V m9Y )(z]C0D͚5M6*99s*;CP˓'!a J8WeiJYիǜVn=qǦߠ`B3ѣRP^z׋MO(M!] O{FԡCĪ&P+K.UlS&9Q% JF}:l8=pw:x`?}0V3쫑4ibR cXDӴ#Uvz470%K$_)1_z_S'F:^~7z/b5|~>S(B_AJolXnb?{=cd2w_~De҉KO ~I$OS0)3|ӧ'K!InCA@A]ԏ̟goА}q߰ p oӶmWS}/+QYWתU+ē"ERf-U>w|Z~N:~5-S&)@oP">#@IDATGXʐa28aS`֭2V^|T\yU>&®GGgOAx&4kRmbT3l̎5Jݟ H%8+R (ﱊmxWlc媃o٠nҥrc=FcI~NeM닣V_}U a:Cr^ym +h% <АK{gEuz̘N"{s 9V eB jRm#F.Q$Bp-= $+A A U#*P$)_"̟?Nm;gڵ洒'ϯȁsε bLZPUVh}:.;sk> `v%#A` 4wqCzO>Q9}9<+Oj<  fDsaǎʁPT)ʙsˉhu-J#WX"vY+Wnjٺ5U F9(Ic{mv(,F%r3#Ҋ3|7'Tqڵr@GyUg֚U+iVFEj5j $M~2(A 59P%kHXcr„ tH 46EA@IxtŶ7#W^ ꫯ~gVZO`4nx86 md<`ًɓۃTj}YUb:vi ۷n{4"|7Y Q!<ٻ{W""A<8qR;ڱcGҨQ#ۜܓJ,M|{H"y9 R 6"""N")p0mٲ%פYsn-۶+U?0Vʝ;+_3&8&IeĂ@!?$;YȟihA6mioS.(& Dؿ Q9cb39?3s 7~Dqh yqJ*"Pѿ=mٴ.O>vȋ4ixpR釰 7 wH!Z#G7iVC"IQP`h-9xWW#9G1%QZKRXsD<;qiȐ!IF}Ν=UŒYiC4݅3gN۷R +d͊+ 'T3kJZ,Sx>u>xDǔCHb޻KVRDWL?0`=ʩςBR,?c{kZPD ͝CF|H+Q,VQ<CNbF1A@A@Hh2hˋǹYkVЗ_RǏKgoSk~gNIHf7n[RD\?тQjUi_Q0c *ũAnsf֭SwAʞJ=z]/gmxRL.y^{5L|_xSF#Es`t-[ݖv Bvi;gӧs0jWMTJxy郏?ujN93W.H@| o}Ͱ.Y ˫5?L7$*ݻq*_Tpũmh+2^3/Au&MsPVED jx?.ϩOR3~eKoGEǺ,+Q9|?A@A@H!nCL0^2'NujSv홄psN<ƨ3p@* e˖TNfԱ ,2sxZfDUXj_׬Iam25 -_n566@4q4|*j?$zN7_~N!Қe 0>XI< Y☻ȆLT5 }Z";oU\7:$jD NGɣZ;Vm6֭R)1bJ_YpeC%eʕxRS@g.zW.00ж몏r>}#(Zq]:*wz'մv0>FY @D\*mښ ʐ.>KƵ]Y.&]4U}W=jSΧox? $iGΛ3;IFeB;u}B1/& i2i(Fnt2Dϧ\lbا4qŸq9E8sU*[N?r޽{[O'9Պ`xMnCettn*L3PJ^)|ғ%ܼE17)$( uEI ɓ4w\*vP=2Ng|oӪC dx1A@H}M+ ^mLDI&޷2ۥ^C{eb Ū+ZA !U`xu4Q@:u*UVvD}seڵkRPڪEsRw^y攗Cݽ7mnd-)o\Rq1u2/ Ϝ94#,Pa8<<8uzdeb]ŊU}(?A brSSA@'II?C@Pj۾uԙ *cJwA@A 96u 3hZݴq1gLz w nar}ꩧYf#G-(/8"@69V 'h[\NJAn֙ȓ\hQC, VM2$9B(#cop?9|0X,cI&q HAJ*'|2 M #o2I]ƎQW-X@x W<4Q"-hg8C!چv3H"fc7o%z~#0/_>ud<4õ‚(4(@ƈ"kc)kHژ޽R?>|んy+T`;|%3fGlR K'{_;B:OI^@&e>}W vtFQN&F^οPA@GP%0`9V  iӆϟ6HSSGVrW(4h@@ tI B&Mo ֓ RAu8iӦNի/>.I-}R/1 >Do>e;'M)R5\{\LA@R?쓡O?œpB-CogϞGpVvOX5{agE⥗^˱U%x^v5|ΥgHr%O N( w4H;~5kִ#(ޠ,8;Dy?Zne5o *Y _#[!YHJd<Қj}O=M#oWf -[V wMHgAzp@>)'_~D_^^  x@ժUUE(,\r#Gkr, 1AWE1A}uDС͘1'?}-J{?v7Y* $Hمy6/t,z*8IsҥK1_hH(fjNBT&Mn+Q"HHB<Ҳ طwcQGN  @8ri]zALH'5`ݫ53#18x7nq 疑3eT.gnݦlTHСC6P ۝jٲԌrc.GC/X6iFXei8NʩJr%m@@ʫȫє+[(-^KfcYJJe,ɆM؁~u A8E }\UA@LT-(6ΕVPBL#`YLzy-Qw5j3 e  fxNPK.UY$ka`RTV-ʘ9@#̮q+0¬\! WyA@P=hdf}b0kW(A@GjY+w:{ -͘>8MD~f;$ fSrIɑ#R 5ap@5bŊ́DbشpݛzI V  ~;s9#-ŗ̙2R…g6..Tby (`ٙn3iߓ=ۻmXJ,I,ZJU nRձo5%ʕ+ۑN@$ܳg{tA8a2eE0`ty9]26= k}YU\V(s0(/_^1?z U:!)  ܈O{WFZf9Uz&chP5"`}5kV>j% T` Ƙ78q֯_x9Zb^TZu.ƷʷҸc9D!тnjC'NG}r;u@<;8vųT,in0!*s E&yԹsgHAE6$HB<;͙I[bKq<4gΜd'|%9>ϔ\OH,_ԥowܹTaP/]vQ͕U&߰fpNJ}XmgA@k4lPU kV,l>-[6E&5wքR=1ʤ7+W"yeq7֌s.y6+9Z)RzW^Ь*ʊ O|S>@ Pn=ԥ+<2ՓaiDA@R];3gTbcc+Aϟ4HH"H,erQtsMdd$ݸq1ۙ!eرc?Tnp4nXX3fQ ڹL>|5ͤ(5؃>HK,35j?^bFz'LC{[ڠN28d0hcnsԒ=ϝo;?#`eƩݻg -ZDf6F5˞#'mH{+ς 8Ys@]JJR.uMzmĚMSĽy߾}.{A %Ȕ)GaߗNVS֨U2I!X; n*`PCJh¡A@?D'{N=3u$Y-N!d۶m. ({@5 ~ܕӧ]U#pݖ-[R>} DxCfꡕ?iShȪ^d^'iNgpg.cر㖚p e9EvF[+?CQJU,+ a?  G=v xcZhA'wz/u B<1}CԭQ9&@zF ,[vjݺz : ͛WAs1{=`b/#'ѩT;BiϮԭ#TF-ܳ4k BpLSIٳ{Kzl~&OKxw}y[xshАVXV޸q6o+p/={ ]:X?裴zj~vn9Okמ>ݺ>J=AK#eKi.%իU֭[i7GcI>rC6HbSL0H.ēLA\cvA@kۑ_C n$;i۴iC&LpLhhJ/uA "7 7H%K~ a+VjծVA@"{2g/קm^|Eʚ9}%jذ"kDwA >@̜f'}?~uR#?AawyMl̘7 ENҥ饗^rYJm۪bq tхBs *e !ӧ%} 8O֮ZI˗.Ynĉ"T_~ej֬*T{16 ͆ӨQhĉ9˳c'T9} ؘXZjb xljj-ZH;d{?͒7Ԉ]CA@SVWMPz&l@iLXQEL%XKĞ+ C}_|ٓnT5eg[XDZQw͍ŦgʹUUXHw KhE)uhKIg}J,:Q}]G-TRZ}DOVJ9A@A@]@8o(D5&ty;]ȳE ђ 9sT9s|?S߾}U412R_F0;3! `ծ]; 44+pIPa!Ru>4{l?T^+gVDx}y-P@p'^r:tP:?fuK.ڥG_4o޼*Mp…Kע A-b txt Aor?j5Y64M+mRv  @A'MuX dO?Tix 56׹X$8C @ a R(9aSȠpzW4kժ}w*ݎvL 2 ` gɐF<  wmڵ*#dn51fĈif3()*?b|ӽ2asr2Z` ̝;w*Ge} 5kse\ԠA;vmq͛7e +fTA@#N`3)DAFzO[o.^a:}ݚ4A%Q9 0 ņukt"vz؛| G?>NnZJuXN g3ܤ @;pM`2NX+WhL#+6nJ/7)}  ]\Pd)q^E) 8D `@:@&Uƍ#Oi!- 'H]h3<<\[F 4%Pjqvk=EQ竹=4eE8ʀX^Ǒ:7ޠnݺQiNEN!A9#]v)mq%J_;2̥n)::Z)@Qh ,СCfv'˟AM1-XA@:}Hy5SkT. A)NIA@͙MkVٮbStRt? Rb  6X0^B7y.`dǏRJQ%R]D?[?yf5JgY5#u}H R@Dm۶9%`l"5'ZӦMiڴiLg|t30 ZnM5kִW'Ȥ2(glMΜyc](|bdHhe 0vwgsf8VI ыb {8YGJ @ɬi+&#A@Ξ:IףCQԡXJZrz :RҘ`O}f llF'HŋƘl]y'w9t@Yz5k.U KWׯO+V#Nh',,6A~iBpSaL>[{(%f$r).\1A1؀A|6x`H:A=;Ω(@Y?+ ˖NxY 13fԹ }tbAI4kLgJAcf7kf4gɳ o@9՗H'uO<0Bj<#5eZ; 9Ip>I&Ot2(]Ź=&{R2 pVߤ]A@A@H1Y!-5v9RtZх 4jժرc ˾4tPs"M^D_ % c-Z{iwfΜR8:AшX|׉u֩2*+ԵkW޽3֭ۜv'u,1ϬJE>'1OdO@>KkΓO>`FH#mQ rLӶv/_*\nBbn6NUTD)sfgS'ێu'HA@T`3H ۷>#=͚5ӊ>mFGڍ WV@ !?WvrWʏN.' N7l^X*A`4T{ydI]4o^"]6)OjҺ"|g:L#sM ؘloєdpת]zYLΘG)gA@AWȘ)#(Yv~p>bX e{llɓt&wܦdɂ`dXoذkG>y$!LO:ux~ף*lؿ?NHFӧOSAAشir#R1**>) Nf_jԨy*-< US97(StYjߡ#թ[ëSm]ߵ#)K]<߰wSf~ PuyfAGZ#g|ͫ9_Cʥ1W>KWȓ'/XL| ظxʔ1MACz9(!VrUb Ȁ)y3? җ.^HT yuH g# O|f̥57|N‚^߂/V*=w=sfϜNG7ij񪉋͛hn*E0,B7G~EJr$ LJ#j')I]AX`-2ȁ 8dRʡSlߺF@*U KgϞncǡ  )o٧D`VQ@JE/@WW,9 IZ͠ϪkϘ1F yD֮]. \bf 8HF'PjH Vte7o{H8}5$)}z;?NKYH1Џ9]eG y饗(2Q17آ9 <=qRY cnѕCbکz?foj~3\˔1:-A @z<7 rwQ5Avc8 GLA=/ErI@={Ԝ?#5Q~#>835CK%R I'Z7;wRV\9"3fhsgLs ]z<.[q޷x= Gf~&^Ĕ\o<##4zW쇺waBUKzҺ i +"N ֗X7 3!}O߾},pAE>N'YԤ>"jR6$x,8H(xdT,@u~;uLfKkjJNSw>[#{eTLR2 ڵS̺wfaFMu?6:)A@ |ؑ; wܮ]|3 h4@_8G'^_ECC(D6yA:Az&2½̬wlvEMV:|]`f4( :_sq|bS=E%C׆A! (orfDzӪVNM[%J &o^KA@Gs'7,<9B~7xf|)@Ŝ ${;FϤ:sNzh„ Æ #YVx'RU._XOY!wE4e%jj֬I5_|[l~F__uB[l_^!ōtOUSQT}}xѫ"Ǚ%ܼŧCUZ38&uVd<#eHh/o B֬6Tղgnx`9r$! z6J^ȑ## g R)RDE jp>/Z1@v1FܹsG5A*Q99ȑ~c,5o0/y]5Z+=S]nS).3%w0 V vdʴA@@^SFD˸AA0:*ż"C S?C4o߾cQ?c :Rs&M(Uv|իm ʕ+CPkԖ.]Ԯ];R@]ivFRi%V:t0а0!eWP=V$}4A/Q"q9 @̍8B2BjT aM;B:Sz#@Er'9 urj!Ͼ@̙( pۤ} ;Vm<٠$Gˑ#  j/-(poNk˟A:Y4fHItI (ȑ4;Or g Nh}&z}pc~R|JPBtYyQ)omaGJS-KRh=Ե+=3D}}vԉʕ)0JSYYi;N=Ijٲ-#ı=x{H@߰׬\A˗.VNJފGL"X̜ )# ~&_~TݡEy |Mfy8w@؀/2@D,*Vh#! >˗ǝ~Vpb˄4= 2D߬ۯA>UV4{l[}_4 D 3kO&7#o"Qw-7ZP 6 L:,_ODzr^@Re5t7/o*MtZ4Ų Kd LaIc=`:tPz饗NRAGZh_ޠϺEتmI'4 _a<r0(r4@;o/jמ6_k; g%w|J.'>!kV,i+WyyO>J5wʔԾ}{[0Q{zN?:E4'O<f‰$Վ#"^'YHOSׄaU,G  #Ct1noic!#I~T~*9)X0|9 fm  $ {BeyP#ן~0:18p9pkUPFEMX)\yE0WǎUDB{jݳg3F=ԩSijF$99@@:)UF!82!MϼyhBiiv;{t=qU~}swES~m]{I1'xNW6xHs9 Gd   A@O|C. zNp4GKǏl,Gv֗^?<8p@;l``C |74Sunۖ/ntJ  "p~ڿwr@ɓ*U W K_ɲꞨH34eD<9PT)jΊmm{^jicʁyrʈb]jU(}ZR9v\=nZ)@cРA᪎v$ xaΈ?Nk֬'N;v;ڄ dѣGh.41G޲e2 >S@e|VTԟ { &@`Go%xӰaC©A@l0Dj%nx*R h~w.yNO^Fޏ{x*T(b( RL4תMER ٓ7CKI]y5*5OhU=; TpScdA!iӦ'|t={VA`_P .µ@Zb2 Փc)ORo s3Sܕ=3hP+@ԩSGIasx0î.ΗXR9)$ 6iOKN>xybvMԣm%X@XhӦ"7!={vZp!Ҹxk|S~^zԭ[7Eİr-9,*]ӈD:u圾j ZDɚ5K۬YRACӂ(g SZ@{ؾ}h۶m^g"!|W+Vf/*<<\H'!_"PlYzP%bbt◟tZ|^C9u&M2dȨ~ 8#@)•ig@׫fWuJ:h F펵i}jٳs[252Hv "tbX6[)Z[Ξrz2e8S>#8ABZ'eH E_g4N/_6o쬸K%xJeWڱ?)RMI/KcED nHpD&qsɓ'UÇӴ8t'۳[98`@LA@|:&9"^6"vlhzU۰AɹhU6O榙~>Kg8,8 $iOY5prdDAek6owTRVsɰO? 6؈=Z3@#'XϘ1CEhANFg1`ȑ#{V@){#䛿>cĨpaj=w^rb-No;R-K#1S>J_A}nMۀߏYM>[*{@IߕaCRjTreEUl9ÞlЦ]Z?Z9ս#; 8'OPU6 5<%^kF<9D&dAdɢ"_Ⱈo" \WMӇߵ a_P92Sά*W?(c\VcƌQўvff=A ܹ3dMҐwߢiUëװ{/oA@A! 72ЛcL d ʸqh„ pW$RA@jƤ?Le9"e˖JU[p.YaW Mo߮Կ=êp&V[1(|E^iԴr^JS6:чC>eN /& ` [([y-%OO{EP15܇eB3{>Ye(aoD&ܖ*S7kA])䉓L)bmx|hh>c\,nJ/6D$m/>3wo  rQݺu G  h :ex:UΫwVs\% eK>1,cf r9x"o867"Y|IuSFD+dĝ)'wQa'7`U;lIHpa'i *\;v  o#p`^:fEs)`΀I5,:*iZ~X9ZjJ3Hjڵk7n8Mtv=VKTʢ(q% XCbX=\N{#)8߇W^yE{̠2ggE9N@jԨAf͚tjR}wpL8BݜrSHh_(xNjߤ=dX"A@A ضZ V/ nPtph )y?G)p1:uR 78[dku=Njq,ନ317lQط90#G˗/Wq{O.6mӧG/HرC{k'Ƈ|Ԉc Į^JK, a|gK.CyroѮ:헤c(u l\w͈| 7h@TȊRQ13(<`Pk̞)_<|wmOx:U^V( wVĎ7r{6% ,֜*7yl)RDKժ!"* bA@Bđ @M2,G h9!O3 )`L&pȑ*ˏ?sL}y, XbKCr¶D*83f|9̉b#BK|h Ħ+:.cBPN7(Î;HӲe, /¬QG҉Kk8gSnvE\f%mo 6F|18Z,都. @DLA@B2Ȱna mf#FP aÆ6Y:mڴQq;w*%X}ZgOT!$ERb&I'\ԩg6t )qզBY}plvаSLT#Zja3'X<p/_gڅA̚4iz+WEw>9 !͙a,=!hm۶t1[qOg0{L#@E]FWkҸ~pȰ2`uC֟G֭[L_Cu,+~jZXN "pUE9*j֮Cڴon;_T)[3f)T֭mϜ9Np Q dwH&kQ%8ſF46R8L_=Ks%q4|}D| x.]vAF @o /^Gӆ l$q oV :F4|P mkq!R!q;VmO׭*TBy!dk߁̼I5k$~?{ECBBz;t`ņQQ(RAz;B gnv&yeܹs!FvldĉMYJXO8 HZUUG6fXLLKWvƞ *wB\g/ٸiG밖5߬Ȗd'8/\ú?,á? &`0Un7?*#*u4rsKO|'ZTsD_V$guCͨcdGtO`ׁ &q7nl#jFXfAgʕ6@ѣ 3?0H%MM0rwoZa ,WkٳGǗ$@$@$@y@ı2St֬}\gX6AN׮]ŗdbp-!3j e=z00Pf͚0L̙3G[.\PJx0y}O&kש+ޟx     !}o߾2xY!,8,b ,Y"]t );biq5nyuZh1ׄ{}O G,p4ht]|M3{l9t营~|!.s*K. ={ZD'rPBI(xRJ:ha_;'yC'(o-TV^<8H~U(gmuUӃ]2HKEpEw  "U T>rπk?@QXh푉#5&$&JLBw"IDcDæ7)lYldL$` aeLd릌=ӦMaJ|/-F?^Ο,0WvI$@$@$@$@L .!I|UiY6gExxo-<1 l:Z8`Zb =_m['= _9ZGme?$1!ze ֭c̳M}v8Ab;1Jejb( aȪUUV6]oTx1ǦxOӦM~.Q1qr!36#@ɍc30١l^^*$~}pr1ҬiKBͺ^6@h/|~_|@ͤIfzf   @b*RreiڬCD y%j׮-_|Β0ƄgbԤKr` * xARቈTF 5 +h"yJY~R,,X.&h2ʚEIHHHHH@n WMo%7r9b̈NG!!$[;C#VtH%IJsWyN+ XwGO <(Ν;OHҫW/{jqQgVp'Ǐ6sz\TN4T `=rQ2pDf0YX-{?Zmmݦ׬YS6@J Y@/ܪR$!9%CWfz+aaa2`Qx?HHHHn 4rӄekO8GYK?SJ(73}۸qcmLtA#?)mڵ*ժK U^z׎.,9ԑ.3I4z9yǥJ@\Ʊc}î6H Cl#eƪvUA\VyF@gURUfR.]?8C8R#yطWeo^S'OXlvҢE ,dȑl/955UN:%R„*f/GyDi9s3Đ   4j,M7_m[Oezp^]W~s]v+Hݺu-Bh\NT߲=T';8&,BCOgطs1 X־X62~U&L 9Z9`sVXs`ϧ"HHHHH \QUYb\lnyq_$5:iNR ;;fp}E=s3ҩ.-ݨ~='x^@n&iӦg3… (nV-A9 A%p'"3v0Gr]weʕ6/gQQQ!Q% Ѡ7Kz U{0 O<&XYhD?pc`Æ Fׯ_P;jXiQz rԨQҶm[>T[gy``us. SÙqytM2cTNc } g˖-塇b\c0:T {ӧ9̝(W{Igmog8"5!!!ֻ]Z$ݻuC$F0rV;nL9i`      3p@a_ZSq(5*yUzY_6޴#kgR8,f1SI%?Z[]k_9XP^W%Ir:|YСC_"No'&Gu`2:~?#}&Uݶ'|   EW.Nс̙Cnx+$Q!$ x$`Xz<'֓Ʊfpy]1G5, K/i W^mq@iΝ;d4ٳ`7Wj֬):te Ynv"nݺ.]ڥb&>Yd\'|"ݞql׮]믿6Vs}۶m!(tp<hv|K_+eڀ3K:p]fqY9X[Ab<܎^³(rڭzUr$`MiPx&d`lٲև9\\1 Jl\2?nvʞN+W$ǎ|>YAz82t"%JZG<HHHHH _@2n`{B BHJĞ={̚ s+6ܹjҤ r_.^8_.$#Gbccu ! I+} Pp@^K-xZbkk 4 5jП"xSTX7^poE;^FDN ,9^LƘ'Y}HHs'ssۺF,KYj5lEN S5QC"p_ZfΎ1ۇ/N% IƢR_He $@$@$@$SpݴiS}_D nmMM e3=;7/$L@AJ]&O` kY^^Y5uv/MM:}|Iرǁc?(k7-W e5?.&    p@py XN>#]nUB=G nEFJԹ: <1 gϞү_?]ZEuPb}vf(UGV㭷a.>Up> Lڸqc! o,?!#$|DH/K!K_`+W4򶤤$]wFԪSWRb pVTcǎuCA:nx ]fC[W_dQqJDiቱ$*={I;`kX36o,xً, dUd5ٕI4G B㌼C¶75ע7̷3J#9zL{ @%7 h޼vDDF}0j^Ϛa} g #u]ޞ吐PiV)5رC}tn'fke̙ҢE ѣr-fM-pϏ޽{]v.dԩ׫W2NWʗ/j֎2o9'9=;%M𡃲d e/ZjɈ#d.5,NJU$.n$@$@$ }yuxѲj }lپuIN4{ᄃ<@֙3[x) ̶muD[R M &|_iӮ~Y%Rzu?~7.%.2z)A(`2j/. I--; ʯ3f'mZYjg|tY{Zz,ʕ+;WSugBLfeu.8[2u4iߩKg$    ȳN=,0٢[TQfMݻvmzWzh"-Hou$r̝;7ϯ+s^/ްI!}.fϭ[ʨQ2=J 6,S!?Q?Kp8!֪ź [9i@'p d$>6VM@'i4mOjjBnZ8_FJfva4r[F}s? @&PLL.`ϊ63; d3jVxsut)0) /I%%:~eقu~l/ :QvZlez!XYt&.g@ɒ ; u)O1 xb    C&t]Nڷo.9sY8p@>ciڴ. Qg}6+8}'ٜP|·ĥ NƒmD'I&ҷo_-4 $5qxl<'q@ EuO.1{u/u,yɒ%nߋ+[{/$e1~kԪ-*WqO@$@$@$@$@JX)[6rwJntI7$pOHlB)(4EnS%,#ݠ0Q\f ;oo%    + ˔)S$((2ڵk ؗcǎi &&Md9z(:tdYF~X>S6@xAM0۝mp-*Uy]hcÇ\cLLDEE9thiԨTPQ^U/)dq?Gv'Jlb'!4qIpvD/"])d;k<;%sLM={I9UO_N甒uu;oIRb"Ud;    AٖywN쉝ͤ99h:[g>yRNDb} _yUZh`Í?CGR&HHHHH`b%:ITρK-*owyG"""KݫN5$88x<{%>)t7+@BI*Y G$TREn&} /p*SrW T|Ybbui'qq' IC&+F%\Ob .%wLZ϶$Yo)f V8@u3V [["",nn9B`dn +]whU}1~{r!}8O^} r!    H`7^cMϝ^.&Spܹs>*Tkk_&Ad @+Yx{{;|$}0m.Xz ۅyH/qT$@$@$@$@$@9Nq)G _6mw}ҦMJto^׮]/$hc@[4,UF^s.5Y^{5YrIk(i-;VIp)7, bP|"!9E=v(JP)Sc%Lk Β T!:%ЯRE91Өe(2Ir~IT0õE98w̧T,]le@kuLYY OB8s6g8~峣ݚ5kŗ9hxG2mF;'s~ղU~Fu. ysgGIY%޸am#'k K (زʑNF`?mõˆ;CI޽1D,p:IIq@*#%CXh<8ތ[i^:"    IaA%WCDzK Np+VG}.anݺڱdƍ^%_}v4ƍ$%KH:uw8q+VL6l =Ŷ=K>;} {k޳/_ > \~a((vH|8 @.9sh_DwPZ 'ijn!k6#|•M@IDAT3Bϩ40F@!ݠ]b.eTԐ“aaB }kPnڴI)qHv_NdGWHHHH <}{7_:w:̩%Kɐ۷ D(-i:dDPqQpaHo6wu̜9S}t\U>soݦ;4kL9v*R )aCNW!"T ldt_\BBˊ#Bq&:䚉OQyҊ،mweN(lҔ咝$'KINP}Rxcho`.;wHdӓ^T_N׿3;VٮLm{e+?g d_OkVtUd)5VHԄ c2Y_NrYlb!l~mf3Jf;cOա")t=jsqٜ# }NF~F d@HvXjtѴ+1cDz<=-%OJ}iW/Q  ڵݻ#<Ə/{@\1;!pl3A|ҪUt݀/됐Piظ󪻇= -&mߪ[b 2rH%СC6]`bfUV! LODD\R  &h[,[4]HHHHH dU寿rO?-˖-d [.3gΨ^2j(۝vk}ݲagΝҭ[7)\bM$:6^R/]4%rnvB$1g“滸5""/#hY*//Uibb[{zCۤmRTM^3HHHHHr'ޑ%Jʎۜe˖kwsʶm$66V8cUyƪ%K.]K/.JZkvd?O='.eoi#&$@$@$@$@$@W"*UŋgbG ;{kD d{W&MDR"7T,]"NWZ]캬\0OB ΔYo^Kjet23/K(: @6(YJĩU[ʪ8!N{ 2P J;wNPN)pBq'RSS-QSO?˗䟥, GfΙ++Wl􅨨s~ ? @o[P>WƳ>+cǎ /$ZX܁ؤL2(#[F 0aD%Pt (@&9 \U]5vBBA"((X;߿_Ξ=+ EvHHXTVMSl!    ]>>>"ۻ' :RT)ȑ#;e֬Y2b:t հ>}Z7o,]Fb2QsvMEVʻo&S&OKJLLk 8&paٳ{WN$0էLaɛ|D^@mQ|1V 1J&7'z/Gǘmϴr_SJiኪɸd*;I-]!>0T6md3VW\!nn(IHHHH\&'+,VIiYSb\>֬!JIfc2p@6lNl?<H`(l_>x(AM5F 5dǶ:1Y9%J8),$\tIO8c,efCMrW^l yx=oxM2l(]7W/)a/ZrhX u+TU) C;]Q2;.\09"M7nmV|%S#aW_޽{-'^뺃e#HH'v@ܴant 8l۴itՍ}">|t[]/[e     #ps[]ҵ[t'ItYRl˖-+ONo1Ǐm6D8ݵkԯ__bѐ IJI%@I穃۴i dtG;,nY9+W-[+'.xvZԩ]ӸDv``mL6xH빘sV%/?ɚu- 'DY7D''~~~H|2tP}b;Jdf ~L*Wͷjwʹsz`p?99RL;J$@$@$@$@$`NW%<~Tڷo[n-QT\YviqD iѢ,YR/^lID>*;wGٳ%[,s}_~ǞxJQl޸Qo[F\,=z^}]=cstD?/+c,|m"66Fz꣓6nX'K\|bH+B fmVcO[HR?t\T_F _97j--[kc^ԧY {f< U^Euן&])5jΩ!_     \$IukgVIJH#@ig*lC^[݇85װaCeU'`fD]Z*U.˕s$@$@$@$@$@VJ #F_m"UVT<}EަM}T8ziB5ݠAHaݺRK_~3`sS~A}qFotMU6A%,Kҟ!!Rj5 2ɠzJ~3+D-R1UO_OU48.TBCRRTʩ?g*5K;Vc[\-P&No#:ɍo&}[Z>왿/; ըi% WG&Esc< @aPPIOJH`3&DQfό@8X;?+G(Ȩ ScI>j_]ʥ.=|wYзty9`      ?ߔ).N DPxq`[oɇ~h4R.OĚm۶B)O>MPt{֯YczK%yskv%M۸טʮؾͲkee2M^t=hѶm׎ٿweNCHuvŽ4V^n'!?d4̬evrO!? TՎ55kQ-R:. @> IM 2ʔ-+Ŋqv&O((xR0?|uǎRfu }}}U&bSդ0je5G+[*NQMΨ_K;{ (      K @9iiWRf-KwGuzR*5kJxpz ?BLF]yW5kK '^!͘.}IHHHH@?DM5k;w- 2DZnOW˳>ʧ$ .}a0|S9\$&PDd&r%V8mL2e{f~WC7o.suN}qٲy2yС/)C}UKTi6 U@ƳRΙTPrބ{%0 Z{|iB>Pń-pQ# قaaa6P;'UJUiA5;oLU'Z;@:vx{@=4wmIHHHH\#Pr RLW._ETٞcǎ9t:RSSm^ьI;vƍu8^ jF%Ee)A鱗azy^N$@$@$@$@\N+I?kIѸ's\ U]vd8[w駟$80΋{I$'߿_o9rt$^LmDŊjRre[e˖;Ss\u$q[AU|9٥[pERVj.auB>/V\9*sevjˉt[@7`i"p.2RJ)E $~=ֺ= E$[7o"o6-‰?k^\&    DKM,6ԲPug jwe: UP4"!!Ak,9dtMR2}OߵkWӣsoJJǎeɒ%6GtBI+WsR$XC\ 6E“y狫E}-`)_޳5XTTѴ&b1q[R%l]:f,WU}3#6o!3VN$@$@$@$@$P `π2e7pB R8?brBkxΜ92 _IywQx/O {FKqs$@$@$@$@$P:.Z%kN>m[nezuJ=`m(QiF=*w[>vXHQppHL$211I?sLU&H), B# 8=9Fp 9ߕҥv܉Jc{jS"Pt*$M'\M3ơzyK!xgőG ..V+\Mt^abN:nhs" >1NҦ*IHHHHH@P6gн~%g!? .]KZsYY`Rz~]6Ye._xAT)׋/'+דj"A$@$@$@$@$7GȽޛ)xH9DEE#={_5];ܛBr!UT"7n%e7Ev #)m41ct)%[ҔئFo価C1'Sόˑ/N] $2޽[ԩ#ru…I/#>l*R%‚-LJ#@{:Vn&[7m̥];MbŤw1ne/ZpHHHHHŲ([lYVdYPPL(&21)ڵk 6E)+!:]Zj%֭ń7㿒QxԸ9X    O| yd׮\+&p0D'8t(ӬY3C=ׂUpwGC Tsg#%%#ͅ՘E${"""Ÿ;vl"6WUH'D??^Yƺ} ;& 4p،nFIhPʕ+-(K )쭅=F9#ț(<ɛK}{syRuۼdDXOJ.c IHHHH7UKjrtl*]c6,_\„&&ԝS'd_KCۤLJ:&{*&<̈́ ؓO+ד/I/?|^ d@|7g'Pϭ J9@"Ar շz_p'ZY]vp]HqO;:,X ?8+#(nsHf8)TbKhf+W'B!:4B$@IX ^lZIIIɒӮ]%($T5j"zTR$@$@$@$@$@$}ضU.Dד-,}:SZ`Yr;"$9IWXum"~r*<ad+{9h    tgϞ"\P>jԨY9(b-X1k_c*#Iva}&H꜁4mڴI':1X OzTR&ݺu`" <7u4o\%n\6mڤ[4ib+l߼QȈe\3Y9 6\(<GdZMr ~/^XӳgO UdYlQd{S_?wVTḬ1$@$@$@$@$@G(onisET̞=[Μ9c/+!תUKO} AdDN{!j\YG_W ~?.%hR' c$    |E_f#2%KL "J*\'8+r[JtRD *v)Þdd9}J;=zT {6m*K.gB ~^|yoC FΩ mۤk׮L+I(}矛wgX5jK 2 S[xdՊeҷo_`~p04i :TIq@%*9rDׯ/?$/)wԙ1I^u\ />V6[+.w-P5?ԮPTHHHHH KHu{'Wԉ)]JΨl1*TU-:[B{렼NzQ>Qf޽rqSevt}H9r_2eٽ{{J\\h Z(qd “'N>={o*w}u3SNM=;6щq-gΜQ1 ѣ ᆂ9g3>|3ʥ.S'OHZU\tm*~雅qj]f "pEM+JÏӧNe;m&g23Fܹ?^~)0&ˌ(W^D& ߿ vF^Xqqt{gw'\+EvhEȚDkJHӢu[O>H$@$@$@$@A XN`b^3;p3/>(QLOСCZha_?Q6lQwyv?eXw꿖e &תU},˺ OQNoFA[o%pPi׮+VT{$q(\Vt"e˖3fL:X:[ 8qC1!ٲ&+Uޅ}dr?!KÆ payu;P7 N\<H*cdӹ{;v_smΝk}s$Z1+R$2w     -޺ k={ r;7o]!J tm8#+7Ե[l {+gH|R(_U\BZe/I0 ۷˓O<1 @$DݺIɒ%_~Y=P4X}ʽ.]Z.3g>KƍMU<1T"°øCK/رc>uEodƍڡþ\; щ.(pLAO?-/6vg;T~m|@&#:B56;JjեdRZu}" .^h#:R?Xu%@ɍ_>Rat6Vpd˖-ɟKhKiNhY.n#     J+mڴ Ǎ:'\CnA&C5rKٰf5ҀH^u曝p@u(x$eKa*UIaWl~"r1!IS\mnwހ@l޲ٺo-Ψs媡PD&^VL?Ζ"KT⣾pCBCVRJY1HHHHHH nUavy޼yiF`RԘlBַp C|l\|Eo˯4lT&4U/;Q&RTHHHHH=p-\X'WCs1Ca7Pxvy-Ny0b/\˗7(\<~hav#<"˖$ .3GŁ &dٲe6 >##͛7ݻw8ʴnZmfsu>C̚5+Wʻ^vʔ){w}'ӧO7^FL1V#հgj^JPK._IKwq9$}a(1匪5ŪSgbg޽{LؿOTVmIFM’@     p&_ʵL-W9_u'5#$v4Ř0߅'U"Ż~,>3@qGh$@$@$@$@$@ ?g_H.J 9.Bd߱ ||?|IYr 6LPbY˘1c$%Α}@A.IHjͶLkOcn@\|&^u]wɝwީ>vŽ"(a8Cn~~y3گyWͶ̬$%%RBXfM*>/UkN?W՘ _B0,~:yɟ{W,\!1Q/WjA /k]֮Uꋹ\ ҧ_F$@$@$@$@$@y@|R<0ٺy>tHNxժUeӦMbYxFb_k؁5ުVrVM▮d 92o,Y|L: O<#`IHHHn0? +" .T( ldxGZV)p1A)iP-i̍cu֓'Os=*UfauMH݀ Bp'D" 4ЗXL166V ֢te-)^TVM&9d&CBcfL\j?pms֥Kzf,Wp1iӦ},<7c s0Gqr%%Y )r>aM%ߎ*|鵡fT&3՟vW e{DD}lܴQvl.ݰ PjG&|%'Op8&LabQ@t2b]m0yh"GmoܸQBx6o8L4G+> O~?@7̺ur>Hy)$@$@$@$@$@ڵk-'@hb-tq% 0u_~Ä=D' t !ZI!rN9}~Yunݪ_UT=zH۶mdzVgϞgF]Zt}(Y  T\%y?~.#ݺu IʕSN1ADJȑ#(kI͜)rs{OJ5Yq3p@Dd7F+'];KE~aIR’-[XSn]d\:tL# `ݺu2m4={;ۜNػG:$uO^F] ez7_~̷S^ 8>    Mb/j̎ϪTHf{=TÕ0rz]"\׳dYx}ӦM: y,]R=Q8JҰo_bE8q<$Ta.\\~ opc銕v*}ja輪F1g^ҲeKl 꺛j-Wp1ѰaC9wQ&(C]OLduQga ۶m.c"?t8QdByPC”FX8TTY|C?~#cF]Uvn{ꓛHHHHH#{+J:^(knuj xURE9IMM7 +sgϒ=oS#:Y`L4ɭx~z3GW n6ŊzJ(Na'|X'@r-{ .@IDATgfDժU.36YӔXrw@*~BLLJ2;rh?ۈI'8D9ԫ/o3=`\֩ݳGZhaqE=3KLϿ`t     A@%_ #5k֤am&'փUF3"V9eQ)RA#]_:'Λ}nXJOyr.^oYǒ  ?1a."&^1se>K>{̛7/I! ܹDK2#iE!ZӵkWf.'O^j*eE>x$3 |Xv!7!s$@$@$@$@$c *$_Nߺ|.g%]\ĪwީZJ"##XT(&LtD')#R3W!QewQT]JH ދ{MzGzT)" (*{){=t y0dwlBʽ|˴޼9;;w߹RbC(huT8,,9sf y޹9s&-_\ɗ/Y3={{*ځhT-[6"Un=Y)L(1ZHc dU57HLxh B5C b>|h~Hz9]#sCwೀ!N8bsS.׌Frd6'&:BN/=ѣGME_ΞKE11A@A@A@ϟG9:*\ԥ_~Hȱm۪CtRDh'GOզ}(!]Ϲ3x0  @ >^<1nrͲcƌQsl/Gfe>)ӦFU4V#uf kӈ'1%`z546H͠ GG:ZwnB'J@+8RLҬB ,Bd0&}Qdxr7ʑǜ,s۴+x "L0}D'9C&`Q9sQ `{\VoЛ+ -Q}S3Q1A};pImOsׯmV-AӧwUrDi1rJҪt*SAQ ꛖuA@A@A@pGEc>|8uc6mZ   T!5kVk߾= G.qH*AVAdax,Y8A))c,qx%rm&@|#^"H{wD:C943f9[nU  9Xp҉A@A@Aep9j~H`8-J7nTb(r\=z4ըQCE Q0<S&(E͛7!CЦM(]tJD~ݻGGm۶˗H"GZח&OLZ1wޝveE|]Rp<ҥ5 T9 W7 R 8P9bkذ"ٳvmVJ)oJ` T!Ęk׮XS6J*H+r2fR*Й'Gs6rK>M?i%jRWQUu 6͔L{}\R8 -lv߀~~A@A@A@47oG)$FnduM1#LCd`ݺuU_#/sjf|uEu]"wsg%G\|uO aQ|KA@A@fLJ&O<9(,[̴`\?4@>אHWD}[5k֤oF)R`->x~N|<ܕ5UTwzrĉu{ H 0u:dSΚ5K믿35lFI F)IBEΏyCGP\l?Μ:IjQeh|ʌ '1A/ׅ#? $Xǎ?H\ۘG=rX1} >ll  @rdL㥺Րk>~ ]*58GLb zO>D4`H'zÇUPƝŊS.~s1*#zEׯ+Mv8u\+hٳg'cMXM7_OpkӦ-)^2N'A@A@5y泻xBoHCa~  HDǠDa u>L:&2۷4iPG@qRO8AZV(̝;WrEߠƂC҈oܞ1ʀd@FR!=RJV}$\ 㥳H'+C۶Z,l{XXv)B:hv?X [o9eRꉛ3Yb!6‰+EI:X0UA[CFIl+   H8{$9t5L,'S$mBBiWΐ9z *_OySj'}`ۑy䡢Ehssh)\WBOPVW7h3(Oc ]F8;HA@A@H(@㣨'P k=z(U^>s RĠ'[?VUyuHObDr`@]uuιmyb:SbҶ  @F#%=JO#] ~ml$S'O"DL*Tz<\ݘ `0cfB{djԬI%KTJD-\Z(ǎٵrT|yU>UA0|k~X!xӭ[74cBr"8ѝ^VA@A@x1(Qn޼I5>Cʖ="M;crAcF@'F4wH%mNc4Ȑ!lFb|t7lD~ROA@A #WOJJ^.Oc2[3 TĆ"8r2Hxi"߻Ri"K[jv 4HF6ol>vt26@B^mAVyKYh)$*1n>۷qmSH  @D|czRke?>92JkmDg?;@dy]x,I(v`/m*oڰ~+6~[龪c|%#FOƳիW:dGIp>SԨ]mX)Q̥8eFZv kĎrMԧWw!XD,~?+ceʜE=䑯tBz8!lT?JmeըU&NE '  {'eLKQԾχҰQ7X~z&҈ y &Ssq 3jqa8sTȂ~-}@ #v CE!~oHTÇO? Fʕ#8p-~nT#>bv>8n1A@A@s0ހʿ=uHg#ΩS=bZ>H @2̇d'Nz# ՜aB @:tty8fi^RhcU',,B9AyQ^}Ԝb )WѫQbTRҧOC ř5@>X@ rcŻ;VEJGã|FՆ_p.?ώTd E ɜ93۷O%͈|T5V5ʢuŤ)Hp  $uRxr wdPHO9ţ{JNNxoaN-Y$3 >xRO@zOg}߫gN2~3xȖ Q,Y)Ɣ|-“p Pd$&Owo{ĉtef["9~sHӳfO7nܠgƍiÆ RFrΝ՘x cI%{%A{p̞];Jժ*=U   $paC&jCm۶ ̝]6Vqjܸ1M840(" ٝpcďGӧOwJRti cN]b"M285Ejӹ-3C&=gc8q-7nPe)Q4ݗܸC?RPP بuxZJUUW:ui=<9I'KG,Ap( ᤇrR3[FQ:uPXZB>|K,D* X28. ˘)h  @Bd0i߾჉[Da;8%;wNN9RG{7 z i~Tƹf};zGE<3;AyPH"З)S&&NL 6xޫ7-QR*KAa?yJ^/bUcD!Hp!%=~zDnJLfPӧr7<G6K5'24puꫯ {}4j(姹>8OVd˗ƢX *Dž.!oVȘ: ZW4*2f:(+v!p)߷îv|sZv,YAͤPzH x4U;J\eդ-5E*O)Sdu`6!"@a8ҬGB9sFE!mɒ%&G}AdLL(^RReS 9= t{+A@A@P@>aKMqѲ%em۶EjժQ^Wpݻw+=CkJ hw᝷G@$  HFw641mAn@rMι';M>>ҊөBE$o&5kr߿H%DAG+^PsM=JH٣9jԨAcǎU *?{rc }mT)"ŚQ8G^sq#X[&MMLO!A@A@DUW-CŋS6mXfŊTu,M bT6=qQ\ٶi 4Zv}p;;رCUAڕ&MPRT`O6o LV9Iǁ$WsZ7GsG+/SW{J HK:o uB@KsU`!bEAcbNG]1iU'1A/Ɂ}{igj׮d͛g<6Tdֈ'J/&OTE   $1S'h؍ #XG D jPʠ9hHʞ3gTEJ0&L:޺E-NȄ!b4f-vlA~A@A@Dx~9K\\^(//)o:QH/Ⱦj_M}N9Ķ^GoHC7-ziSeɏ_ /j>oVO9qN#{\$=ƌTN"ϐQ)ܸ~nOBjEQi;~ΗxHB<_d>h ]Ms~ o9L?1G֭["5ɩ5ۋ^.  xU][retzB .\ʔ)CS* R<~X}@JAtw]}{Y.|X \>z{@!?FdEG'| N!&8=]v*Ç8NID! "֭[ܽ݇A%TkҲ5ըU~a6͛;Wzs-iӛ֢ӆA@A@.O9כoқ;1A}JsZjUkk*O'x*q1i@FF .R>uƎ)$#[C^nkyp 60aJuD>5b  fN9M>rڵK}_^)~*o9h2&kBe?9ĶaB'O4:' ksuuV<_l-ǒ&| z(LE͛{ U*5kȜ9sVZBƍ85 ΃7իW/^eZ$i?-|Lh\Ӌ|9zF *ZGfP#PnIR$o^:/  ԾٳfY?|7!GRfVt` _/ 3j>}h͚5:b}]*|bpb.Yډ_Ͳy1F;0l!mO*Pj4mN5j1̞1]#TvŤ!XēS$=lADoŋ)D_u8  @?2eάH&wPƍY29MKyA@A@%?2^LAL2eJJ[n[Ѿ $M43gNvT 5ش7nB( -G\5)'/!ws1Acl Ws{ikTυ͛M8-[FHcPg,#!Ŵ`\nuǟ-@ 0ґ U9=rA**TY5xb6x,$S;I<|" ߤtY>FCn,4ud{ )[T   >NĨPٴi!Ntmf+Ӡѐj΃@Ҥq|%[v=    ~hk8i 6S`+i<-  @YGYznݺzjꫯTGL(<ұcG:sVT3mVjժE}Uns9ĉC ,X`(Q1> -00{\r*U϶m,[jK;[9sQz h֊w{=tRr;u1o_|6[K8#8(X)8gbP AoX/@u4 kWFY*x%^?OWJkN'\p y#=њjH_|YK9"7kԁ L._C(|n4)EA@A@98R&s*O+j@ '|]ue~AT pr={V_vqvB}sQ9;t`F<:)ڻ/_(:h5 z,'c2ʳƍU1!Iz 2(GRZӎ<ٛjG̸c2( bk3)PEɛ/?UQ3DՔOx43ѵ-[(—=qB@2ŋMW3 e$<,Y3·+wnM53 熘   $Mu 40^\|jhNCoHg9t} `L߀5 (+WVĝ]?ᐢؒ*+zCPsӤBws҉v>eʖ%4ﬕ~CӨ'pJ,j[%2UdR2Nf vlڌ.Gi׎ݲgHx8;YիըQC2e+@ѣ#3I'hÃ'6ڹe)  8pcEv{|BHLt dZa{9>i?NJ(!V:u( &}_1c%oJQShOO[Tp H:5O-Jڌ@8AH3!5 }Y׍,z'~0\b/c۲  Oƹ1OBuV[Jj7ڗU+Wпv*?ΣP9yohe k$4ʱi+-I:џm~oEZX]o{^|+ߙJԱmk&^Q֜@ꁴ{Dj0^5k% [Ջ2H}A@A@@*4*뵫WU@ |¦VZf2Zje"Ch'+Ξ=;e 8@3wY͑6`R<:vΜ9҂`&ʖ-zM+yիv w<#&NHYqH38@%iuDުUh׮]ԽWoʘ%   @"GvvrRPu5|(TD D)W>Uwꪛ—?WSKMDS\,Զ+&B8yڰ[_B>a@c vy T0. ୛7.7z93I<2b+p ~"ጆxXkiҥA@A@H!%m!GX28&/ZX^~RP%P r:!dk׮)"RPFeP!)VJ( (hM=pڴif0Xr`"ᆱ&g, {Lc Ν#R[T>A˗Dٙ`#tx΁!ac ƬP9Ko2F}>$Uc.k26"O}{;*   '/pbzcg>gO?ܵybqAA2B#>|@,28,} "ɔ=yM%Au0SCTtRHCDƴORƫ-OЇL9[M# 0@z9){4h&KNAk (K1A@A@ĉ3DpKtiȃI!( q,QfʕԨQ#5)}vڕ-[P6qy䉖sa g,13gVm@@۷ *&hG4l079UTqH- 8d9*hWv@ALcЮa|DXrI\ .~;@ "K Ѵ싄1^QLz plmذAN@ŋ޽{j$QF9PA`Z,;=s}6src5Q    `D}؏p`{)gOx5 +"'Z؏1ayKc-PE \Kcs"hT/PVnϙ:i"Z<*6OzTa#Kd|o޹C)_pO`l c /+S&SE&|QX;4#x#eѱd_}.]: DgOsay1?S={ŋ~ b  p ޶q)M H%&A>ywLkNYh{tI￵]v/=Q@RJf |؂p\DW6[2sLZnR4;@XS` t֍>AHE1cF1; @1pbAm1E_:rV'8p6yFVe_F $Ҥ6soܟW7nvΝp'#G.ÇTE'JEsFM'  |ի@WTZڴkO幹 tU4oa'ZՓpU[+W(YM] :n|&V3شa=MJ-ջ]RI42ecF=8|aYfL:C"vܩ;?ܟb Oe\|Tɓ+=t\[t :tAJp:8@Թt؆3zGFe-۴A@A@H>g6 &1ٜ3gNf PXBO!PgرTlY?~ ^ &A5CM$b?,MXv,YRW5̂uꃬ mckJ huABwb=c;فP^=3: HEw6@N"&BISOBSJph!E߷=DiD-~mBZ3^T1k6Mj S'Ob߲uyRJ&/@ cnJaӴϽ_| ]`)sڴiC|Sу`~u.յs?ڴvg ?+Ȣ}NT/eR&lݼ)NT*M Nv ݏsp Tx}vTZtLwS/]T9w|2, %U`[mȱׇ@dc}A`ЗG*} ;bc <8;wy ,:t*pA[3]za)&  ~";X}a|Ѐ={DRAd@^`C}P ͛}mO^iaK+/_Vz092#h_oŊS>c\E{ (ob9\8Js9,[~)#вm4؁XDDK.ߔ~ .k$Ԑ>c+i A@A@< NELp'\vVj)S#Tjqٳ9=zԴϞ Y;ud A G~B9(WK {ω=n]h $! AAE B9S! o9k9⮘*'1A/{̠hZGWmɓG=۶ZuDc?$4x0ը]%QNC<@9CNS  P`ǂ-iPM1 E (Q3A9ŨL Vci*",lmG$6+ [P#dIoV >0H߻wIցe& N@U^: CS+51A *X'ЁuoUA ROTviZhuAo'H#&  -fƪ/R*g|׬gE:A;CI/֭[v]/"G E)n$;}$͝C=$[nF;Bmf3Sݱv~ҰO '5P1q0i)ZG؃r+#ēĸGԆF:8D'(mcGiu`ȦMT$*]v5?Q6= U)G#&  FU#- "t`x'ݱcM>]n`#ŋi2QVZE*TPR&&8~mD D`;4{3 ʓ!aM)7\G"ypǜJ$8DFõcpmNU$1(*UJD?Na0ʈh0'8U  s y#RzמQ[mKN/IZ3K;}|2:ѝB<Б   kVE P޼y< `!V0I|}POs{VMIxraڸ~笖,U5lH;9k7 _YHVެܤY EՐxbKW?`A0I /A" ēYӗC8Kk_tɴN &И1ct)̜9%o/|TtijԨ!rMLA@A i"ؒ%[xHd;;'p>4:vRrD=T<%J0UAL2A{- ` @ ={{򜏓mu8Y4= vh x?ҍ|<յa&Dk أCR;ZݨR֦nܸA>/e[@0^ Xnj. 8Z3YA`Ʈx idi" ߋ=SVw@4A@A@A Ib mG, WʿcR}R5e˖d[P9E[P1c$ Rc3 WY[|Cs(PhoN$}= oܸ*EJwcgO3R&!R>G8pwnLi)PXʖ-"GAo>QFL oT$j▣UR<(էOZjr#낀  I/++RуlBX" Q>FrW*"ɳ<cR@”#%rYF)![N)?8l՚蛯8Z@oۡl'qX_RԾ8 4HI0ۂK,I3 θ_Oʕ3 Ř.] 8b _|Pkn'G   ؅OUqU=P5SլYڶm>ZeU߸qcGM6m6EYX5wVhڼTo]rR V :tLCwR$7sz_mI#R rtt1E01"fЀ( +Qb)/3eL94椳gLf~, ēXu6y%+F:Թ[SWI(C5h ł ep>zv/Og~5(]zv*.RA@A@H-1Ѭ=wS@`0IW ,v?ό{'ʪ,P>UVMw ҍ3 2wP|yw'N#,,ҥ1wsRuu=MKD~5ιs*s JFEb "9!-T ѣG(͛7ӼyܙӶ1A@A@A@l"I&ػn|ڳgJ$E? *lcc? C5wΜ9j^2d̙j'md?8-C,[ԫO5kס*RxC}J)GkWP&5y0lT,.^$uҕT{ˤ4sHOwf9r"v >"RQ9! lG0q?Zղ]M2y:ߺIyɺ  @"C#cCWX83v!SC͔wޡis/=f"TGϫ   0>QtÇYMTo K}-]u@ya7ߴJ:cc/$K4aT*āѐe J'FRھ % QBM5Ut *) f "xB*8]zEخu9Z\| =V]}Lz$}zRWy8+P4$*vW"1&`wE9#D;o8dvL  '+:}4}Qwߥ5RϨRzܾ}R+rD'f{䓧<2qㆊn%%0)TRtHE*4x 1~qe߾}jR4p|!ʕ+,[J Ӵ9O? qN^78G\Tl9ȯ.Xg0oGtݝ;wh֬Yxo3l/S)D!%fu:ٳA\r }mٳ~{xHɘ!B.1?A@A@*'9xcftSwbcTjܴUҏjl?Ю ?wu6 }U(0/p !2isbIWCzTZ]\#r,*Ӝ3fTsPQֲdoVlETL)X< ;A@A@ ھl Ɠ7n"d;wn[wP2:&uCx;<<|=5 MmѢRvQرc8] &{K.!D38zm5&&בv$i޼uVZzws'S CUHFΠÕJ,?zU|`+V>@ʹiyKB RT-发meΜY}A\~wٳg^ O 2pXlA@A@A`şӲF |gh0AJ[Lqa<+V*"ٽkj>1jF*&kP_SaS=5񢧏)'م 01RJԭ[7޽"/ ]&~1sUĉ1nL6 f5GM HEImݻtYڱc)$? vL" Lh DsUHukve O~!bjժѯjfM: < U5}l$ rի{4eҗfԂ&6 .Lk׮5}h"_ԩS A *A܂j ~GmРAF>A*   @Cc}zƾ A SRtTıak)J~ﭑShѤgᆰ-5|B^B}t ?jmw\ԃ5ڙe#ƶ <9R*U)f>}pR5dzW\tLYwNU֭ۨL&ŵi*EɅIL{u.\g gI*/zQ|INS% B XJ!7vCʸ?u訢e]A@A i Rȹ3z"e@d$9[p79_~R.6m'̹g" JJ^TFMωT(ocUmFpڣw;w5NPDSVM:CQlTJ2eRKtu%:q(YO~WJOm7/8+UF-Z5zTE+eeRQCҍ׃PWiݶ;)# ē߸~N3DyriS&KOpRr__/OH_aÆ1~D=XSU#͐~iR,YǎxleG$gN2$@f-(]4vݓ:WpiK@T:H%cZ)jP;)Qmf !ݎfz{ B,1A@A@A@H<aRiOVtҤI:pmŤR8gTBM*']D D?@g81fAP՟Um@@)[`}Dx7MV4%6si&F^^ @(ϣ QkЁ}{?Rw2Y F҉"K0!  o%4<ӝZq+c [G p[2Dm WTKd qH'[֯ύvWx;Ds^SELeEA $.'at jAt!%#P|n? TwG36j׮ME 6ԛ1GAZG  ('bN{nrԤ?n0(-S9I Q?^ϟy} 0,ve͖DAtr5P6sleVɖ=֪m[Zp< RC~ J*?xI'S?Ji-V?z0ٽKX,`eg ~J)4"R)WHUH ;Wts:<`E(>n}>堆,I~lNz;r蠒 ! rkeK, /GF6"#ۂ 0N~ܼ~M[5[F5`VX6A@"!'@r`^`0ae:5@ٳG}@T9r$eΚMب& wtwNBo3fN:)֭[-JbTpd ]tdNc6H]vUF[x1'HC* .8tn-Y&^fI-ӧ52 H! ƍ9h}|rz\6ܹsx*O=A@A@/ɱGuELVNI:H*]|~eݽs'ZWp\6z !re#߷]3"(pf{u$ډf'Vm)x.5UʧIM* V>>/Rh];,^MK8D@'qN3ܿI/Ν ]$! *w>IVfMu' {nTO  ID4iөܒowt 51"$>ea&7H|b P҇Rp4FϝHPNH۹sg0&7c7w2/THy--V|8UZUOphȃ0"ĜA:8<. N{6GjB>1A!+  @F㒝<Ὲ-M[[nj\ƍl=Lgڷ_ڽ ^W ߺEN73eV"cFMT?OӧL2-RU

D@*A !ի*29sDE?ѭ&ҏtprgߗ ή*ēKuO9WצFT": OE5r ٲcPXE>߬hfk>Au!U3Zx(SAm,g?ssz.“Vr $< k=ݻW]H Q]499AsVJ撜Zy!#U]9n! i3;v\TMLcaAi)~@<iQ@䄳lҤIJ[ u ǘ'z+5ŊSpahdeϑ2XE+?C 15ɃG0@j;s 7N@=z4iӆnqtXL"J{wJNHA@A@A "3TN4tB۷WJ'E̙P(/+PHDK8׭73Wu @rY&߻n߹2!J( ~.\{f-jߩZթe(m hǖؒ(X* ,K(zH9fdx]t:!lt~iX>&Ƙxb2#.=fd,6Tnz2ǎ6=}Sd8)@(_*Xz%,$tRdrV/uɰz9?zĩ=s{'/Ο=CsI5!KA@=΄! B3 p%nHH"8k@-H'X*#@qaǂ;;09$L[2}zGGH'r4vE5k}|Ҡh)AC(g43.T" 'B^) z'^{」"  XP#{CB!wτYv7d7$~޼yg79\jW31]j:tvA}8p՚05hV@<9mdkƆz@h>(Z3{O_NO X#X;?#$#N'y I׏8MĝcuPPrMЂ#75)3wglDb!9I .լ[ D9c DEԿ< 9RD9s&]|Y+… ׯrl| /*  =>4C  Xj^dw^ 4b8D >cEME8%J* p8jL71c(g X76(@7ߤӧϫ +rf;CHcY̑-Zڇiۖ-.K. '!/1A@A@A@HQNfׯjǎsz€hyr2z,-^8_U_a҇PE81>V4kWp wY|dx}/mhJ hɁX˵ܶc'ʙS#&7BI XgvA ٳgWU~ά:Z]/_7nPAV,]V0)A@pC0˒53MӓAU~/\6nHÆ S8HG#[Qh+-HI? aV4  F &iCJOjԪ# lC*S&yPUjgD%ILz\@DSʑ#"|vXyR+;^rS `xwT}7=կ__zw8 izmHbGLA@A@7Plo*8pRF!Nl<OQɊt\o@:9F?% A^C@NE\iPEߠҎ#e   /vZѣD(%KP^l;90ǟlgnuDr siPbTp]mڰ].]:rUiӆtEz UI@L$&8-Uڮ^ō Z\(i$/~{q}eWeʙDm9ZA !@1Wن I}X.gSLQCTtiʗ/ŷTiSc^i'@QI2/=WW]+{6KcvҤyKEjyti{O=6opm)ac@:1,Κ5ka~n: 4w!X)oȰM)^8Q y<(0,OSy|QH56x`j޼!0 g   $n^YMŋ;B@:A!դERnݩmr =bC|y m[)\iߏ;o+QՊ O囈I7h$81Hoذ!"/jPF͐TI>#q3A 1"1Sf￯XZDM2 R T)>ѷڰ (8T( @"'XĬ۩9rR-.0vD<|IJN' b3fPTH5kH'Ν;Nտ7 N|}&ZfUӊ-No{G:ѐI;qAJ3I)쨌d҉mSʛ'7e16dʩu@(A@A@ߧFs4hrɻߧb뛁 A۵Ätbeg̙懜kO)(" Էo_k[l!F0{wC Lc@7~M=,) NLqtoAw \S B Gܔ8ܸv5ZTe˖ݾ4}tQFA5k莓'ORʕ v=dk ۵KgϮ0 HMY|r!/:o)/@Ll믿c*x NAJϟ\<Ը@iڴ)+VLEa2 #U6HڵS)M1ba^ې>fwزeKڻw.nئNR-_Tn/o Cí<>a &@cB9   nݻw]ֿgϪ]tPkpAɃb+)X0tc)%<,6#%ĉ?;k֨a8&owD fƂ;: e˖UYKn~TD.]|gT07%K>A@HV~C dGXhxCnK.Q2eL+Ν;tݫVRē\ѣVBL @&|y?|jyjϽ߸ y/@\ {Ba!Jzp?+ZIy7@ i-4ydz*-[LYz8Fk+(xBĚar)Ez Řϭ[oЇZS_ S> "o0H;A@A@)q$aV^Z?9YӅft8Ij첋tuC< Db~ZP4iMt=E6TF@@@'n5y{{oziD55 k2|r:vᐧg:b $5B3M5xE ܀9lnX@[v-M2wNG1/bӧOݻ$_|tEAWg)DTSԩ"`j7‚ `N>ܗ, lU@ K| H`H(x5<ț7J7|C P2|2eR)<==oxNb܋/R A1:J(aBfsӧJ5mނ *B9z-!LP-[e ` "4SA@A@H2@ ObUvekL>YsqOW5:ܺiw_ح2CV]G r~g"dM)sP+voQ܃;wbo! 9+WLSOq~M $R0$K֬tUM@)'t=PǤ{DY׆A9!/S@DLH Ϳzh-;Kc'O miv޹MSG91  E _U՟RbYe$VR8-[[jbxt;Zb ҧOOH!`+,7 |@IDATK  <{X4b 6f|~I.n1Os;H睞TBiӦutC\&NH"[xqZl!r-lO@d1'Z?Uf[ׯѕ˗TS71^A@A@d:(otQUn:vvȠ0gb*\IJO%T}atp T Tj֔HbsMP  z*2eP C/_>e ≛{Cp[2D da鯭@BTI3,|||!  @'3-=]k4:i#:.` E5k_\r) wɪS6k_u*UKʴh A@p: ,hĿ@A*W4u;%&O#GA-/5nܘWR?^]4w_|A}tUU!NGRwުM/(2aBtҲS,Yvz4<@ϟmQ9ͫς .]@>=GDA@A@Ĉs^}UfQUcna HboI'GSQz]Kxx>rUB`˗qK BU:o9lK^sL2Q$0+B#)" 7Vr劺! NRtSEoRnpTլBtb 19&I <3~2Y-jzADGB$UVTF u ܖ:bvM/̑O,$ADr^LC:wU䁘ċ*O"*YXy+WNڵkGRd L&gOGKϴzjj֬2J^h'OFFFF#Ma>;2U+SSB@1F h֌(CWY5iJ}GA@A@Hxs*W0{wawP1@`_eL3[ܟvLn\yIHSJ5TCׯ]Ə3D&@ rajw8"Lq^N#B<#q:nN0|6kBs{pu).eA@HDpʀn={ӌߦЩ1tDT#q,(XH+_<'Z:@/vtkF92\xI Y;_  (H"-^}[@`Hyz&ӆoxѽ{wdy졢EN`[n '!H׿E>rȑPg,H':ްn-~]}I}@B ì u4ZqMv=sv')䴒 q9Ҧ   7:RDSF, Mj6شiSBZsLc+|~>>ߥ[ЩS' #"Lվ׀SFvIΟ(3VZ]! ywgx>|P駟RkX_ bTg#=)I DB kBȨeX%Y Q``[oΠk, ?E4`4Ed.gk&zk\GI&e-Bj)jUcƌQtb: /eIO67 8" >!X=+[/c&e@B wOT)M.Y8ɠbɰnݺʩg|/g&|xYbE[tr feL>r(Jۇ:+U աVЉcVKSWP*fpW^c   R߯ 6:tjذ}}^@@IdxE:s!&7>d`TSu}TjT;P)/Z~G>͛7;sx#I'bOQ2ZÇwߩ吤4& $_0@|#ˈ9sп\lw[wtѣiȐ!m /\RJ@@O}{47qTz jۡ#}'&J&_|o}*Td8\Qc{y#  $fyo">\,ZhA3 ZSvv-x;{ЕRLH I۷Q-jު  ݹ}~[E:x -{v|TTB :跱Bu„ TR%` TE׷zJ,z`Cx t&ѳ'G52,H5k, lE*7o6.'O^*],-V\9{A@xҥT1xe 3gJ npy,fbhҥfqF5x>uʕK dWΒr 7I*e B#OZA@p P^D4 fFEK$OϨ{3ڐ:/,wzI>(]4ʩ;xYyESСCwߥߦCOoݼq>sʘI| xi!t鿋ؑ#JN\ MYURwSI'~)\(efCwm 5jPJhP%scTA.uq" 8(&?+>3Ey@a>'1FN}ŶWTJًphI&I[D9۸qc͌5kRGܡGPN]IV/A@bF*#Y|9;! b)RDlb` 1oV/4 CNklm۶TT)jРq{hLf8 oA@"g?([ hBǺ!s#gϑ~7o@1Hvdͩr   {(#ۛo@M4mM4 hŊj-*װjժ  [yG~n޲i#EzEh~շmٰ4h0QH,R дjժ&uCJVliݺ㽘{A^.BoY׀Ԥov٦IrkR)U*KXDs,bѱPB*Oooйk;)  LCAct@EW~$E&bϼ,   P$ym7UZ#ծ=^'8wA ZϪxvl+/K/H#  !Vm)wL}BQ6,SRdiitV۶mӹs碝kmTUvlJL3Sfi:愍vz>e̘0W3f^tqiRGDd)RNqXB# ē,UxQ Gڷo"h:E/${A@bg@b4pÇ(o>*Q**ofj&ٽ"Þ1c"ۘ1chڵa" (7mDUT1y@s|f6ed+  pʖ-J%jOsJ3RΜ9U(HC2P9ݺ;-D+^bmt9OŪ*1Z5p&[9|sߣ8+W쎴%  +g6:)֭YzMÜi\[@ 1T0TOc}MJ10{g R*f%=Q!fb\~ؐ Ԛ' vO0oZ1 :TNbX } ցMoAjt6B}z ~!xY=z4;Ç++0.ΐ!' }y%r"=Q   FGxj(*#}7o^\r-[F!.9)2pP5hҜRsVL/=B+.)}ǪIo6ܹSEd$ rƞլUbE˖,~cz$TgD'NA@A@Aǐ DׯхT \yT)[Zn3[Jn CE.[Nn#bٸ;V+p[}'e3|oxӛ3OZy\@V5jؤy0`b h{rj i5Q #OS⛘  H˾b%KW8^<橭ڶe߳fi5Ÿ۩[VYbl6˃ΞG W${X"ST< {Μ(=@Y4&QC^zQZ9MP `V,!Yhaewp7!y QիWٳgn]EĘΓむ C 3Uw5偓vG+dcR5o\XN:X ωvٕ" hKNti)j*'d‘K8mʯteZ8A*֑zlFiMX $[9lcC`v5vFeV\ZscpBK3xI #vԬYs e+ O jL|||)K!!35y.Cܶm]$lh5i҄l٢*E]hݻԴR }{qO Ba$"vc D 08B9Pᙇh *M4n9j3t Ţ]bsE 0ן97Qƚd"5Bߒ%K(WZCK5s,TZuC9yc![)s\ZغyA0IhŲo%K%Oп;s6_ʐu;Ԙb Һ|՗Lˋ/uF h$-XA| ];㜖2'Uqͅ?wfNN+/u ?紜XdSa8Un=^\cGimJuR}$!Rc6 ƅ* "W]h%njT FG{Gr#Ζ5>ݜm-A@@Jvgϔpo$Mm| ͝;W6o޼*휭4AS;;b:'K֬Ժ}'JQPb@\on9ruS\qaaatI"B saۺukgYyRJM# 92?tr՗-W:E>AA)+dQˁŘ7$kh_3֥֪[_'c 8gIÇcy{Cާv;%F3d䇴j2ٻ=`u[R\ 1z].ހf9C*e=Ű)1W#EN1Λ=\ dG\ՋK-rZ5o 7ǬrNς W\STu>}D<[jJ!P`A*^zArRWyp  m; A@p.kLD,Gg3sj标GȆicGԴE+zJUh}{vGE ϒag*ZYHAJ.Z#ez.nI 4A@,O3d0*YNg]|~~mCGSS+J +8jJ:Z2IN8뭛6*u&MiԢIh:ļt)|ƍ)u2R R9 I'XgA/sX+a{>v9(m{nV:u,L$l$A@H0 ¹s`sN5bR` 2 โ27oFEDzzzRN[kvD:_AcݽaN~2>=ZJCZjLKe|>zR_\"c| Y'sf͚TR'-<ǏxnIb2w&2^L9L\5$Վ`[s̡xJ.ZdȥňA 7R0L0ʋ۶mS6lؠcx\811~Vt*VkڵS}rhú5ta`9{N[x WDAFtHIk7n^~yٜ޽{&oq)s xx [|z{b8b81< P8Z|$8,\ĖVڵ~D@'ث~ ` #%P\sSj5(klUF#4rX܂P W sKo(={pp*\!bh"##bmԣ/>(K\4A@p&x^i<)/jH#&MRsN>MuQ by߾}9j xAOh^|y4Ҋ%CCxb dߜtΗ/Bx4+p"GXDji|myӲeh̘1Pƌ 2bA %џ|B?[HRà,8?&L:}E6SrM~!4x$F?r*XmWmܸ_clEߣR??{N2 $K0Ϙ8~\_imi0#`ˊ |Dl /~n{'ƵX ߆uڕڶm*S@0iذa4JBBœ#!8N 10(pwpA@B>RwQKVpZd1-?W-|,D768g]j1}TݡC>|8}͍ߧO|Z׭[GGÇ͛ht%{N2 Se]{3Z\ad„ *%;ǐTD͛ nB֭[G) >-VP@8H/y,ɋ8cO$&҉@Fj+8qbİaT~u}| ƍz,Ɠ\IE<-ckHiPfw\t"\r֊s[7S׺Q/Œtֿ&+ÜtѢE%Kv?L֯YM&&& |mn:Vh)=cby,(?Z RBW;PߴiDE:A$0ؾQK[ 'n58։L3+cgIiA@wDU,5'{Ы*ҪU[l%KA4TH45 >PI17HThQ%$}I8ڶ޻C*Jϡ'& 209I@|wI.(H߃5gO+8@RAj,]֯_o\zI?Rb-uԔ_ WRglvHB$F҉1 _u<0m=R;G$߼Uk Xyr p `{t \tӦMTti F<6oeQyX$¨A I }V،)2a.[*N ōdo.N=Ο;5jQJs&O@kW.j9+]ŋLԥ9m4/"PcV0ҬI !0$T| 4x㵖JV1A@!PP!CoR gޅ h޼yJxjs˖- QFOW\YY8fɠbnX(̲"ʝ慸`^`y;ßFd%A@"L>ɔR` j P5j"`HPUdŔ0b,=t˗/^PZjJeܹ^4j[8YfUwG#/kw%^ Hf~28؞tDF߻G /P*UJw&&$Gh W}|3PIx%kk];S脸YV ѴxܲOӔ行n 8[ܾeוWm.jDvTʯJ|jm&v/ēD,T}q"tWA^NԬT)[v..;-I[sF -Μ9sLqcǎo t67L `&ׯ_爵MԸi3z8$lC, \"xA\O|_O|2f"V!&uuOVqt/ez.omg0aTì "ٳG@)_<-W^IΕcN=J9ZGHRHis8AΔ)}g4AŋUG%KPNԸhkݦcJK6W;ccpCѩJ*;wn;s/Oׯ]! T>*eǎF rQl=[6S]z#dNqF5GKs۵k$gϞUR;F.]&M",5v6{Jr? pA@\wO:~|&BImlPyX0`"̎BH0PK*-jա^I>I@b$90Dؽ{ة|@yʔ)tִ]vb ۷/uܙ>C:s.m K/Z8oxp†3¦a(7QE}I5lz." @?Fx.AM %?kҼN 8sc҉yG྽ꕁDZ*Qbi/g9LŪUT-[{uRPpx>J'}|YQviħ#^R~rɫ2gN]Np&/rZbƍik׮T^=Gs8s &yc?]δ嚛5kђ @@às GӏϯxEr-Z Uq͠ :qℒ7I9ydMtMTP-i19  !*e OQo}ӧ#aYfQoZԂaG, ҈`$GO&xbYnש M>Uy eKiY*/A:76 O͚5 D޽9*ߌ IڿNꕉtq'!#-'UVjEQpΘ1r_%3Ƅؘ7o^O?YfƘfI1I ?{6\Sݧ Q֭/g8ie۶m Ҹqɓ'i B:yz݇,wVH@UnJ?F騴?|GT*xVѪY2/~`4zXV <)3TѰc1v[}tcj@Bs]7nFk}Xl6U4tk֢J1z =(4i۲q=jߑtL y^׌Lt}J e?kD|t>ݮ-T5jנ vUυ>O&2͟'Px29# Cx^^^4}TxIO3A@,+?Yv É\LBȑ#iѢEm8lȪb M&Sі]t$fZOJK~X[1A@xG@F0rMCo-y}*Wr\DrBxզ/8t1s!2խ[һkx%k6J^wаIS  m\Na۶mvj.'ФIO䩿)'ݺ+  Gm&{8-ƙ]~I?ߍNj[M:c E:iڴJ;we L a  8? d\t kU/,82u.FUtʜaxYy-諼,;h3x!51F ֬p^LJJtUٳJyӌSl9>$IvnjS]N:h*THRB Av+1|"?v{s0}l⤟WѦ`oӟL("{\۷oLb%JP Kud˖,XG%\/NfϞ=*J__( ۷Ξ=Ӆ :}BA=)1ߺyPR^=mݲztHvlK9̾ZTuA#TswE({Z&}7lH!;zkY=Td)V-, H/@ҖSb*]^O۷m3Ooܛ`|k^R֯YMgΜQ>Lק  ݺҥKSkVY],OFqr)Nv"|Dk1#0kZSd95.^BßrUA Q#PҶkW:f7q"x}E81^  9~-iݺuj[v0hѢ&Ud's >8:9A@>)M٩X|o@>iРXa\Mjwe˙ˮCر6]zY( -o>/>䈽bSBeZ.Na-y6bz .9`2ڐj~9ܫ/^L"Zlڰ^9 COy1BulbZ4ɂZ]3&xjͯI> ;-E<,9rp:} $>0७h4??Ĭ#/?W>OV!@E}{vӎm[0tP; #F~BXv>D;mQiu۠]JOa0IJ)j4iDEpErXpd)xQB<A@p&XS K3F|I[o8t3fXPڗ6,(@E$൐ӧ֮][3vjQ6Q~F7_̋!jXNr>Ԯmh灔bRb1Z;wV= k cO{lѢEtw| o:/JiŲ O>j;vPxfNg@$}Cܿ=;wЎ',fa;=] 4"%^*xƮ9Kp>RB33k(S ֹh>smՅco˸Ҡ!G}O-%!Ц0prCjס ~~1v}%lBK &ȳ9_T : ' eB]Ug׬gbM`{gv;XnRg+|N @RkA(+}lqI?C qiYA@pk0v?2a,onYLYzREHGA>٬Eh'& r9& 7oެr[s({{!/vc"(4L-N7 @.pBK󂴁)8h \u ˗OoU<_۴i @ڼݻM63>u"vpA=µff `HqǏ[x@ Ctc9:Ȼ(߿ߦ~Z26d¢r +y)+<Ϧ-A ēDUIGA@d˞[¹X,pʝ+rDh9CよD 1& X\WbP<)8oJcA@CΚ!/P5֯_*UD֭={(R&JonhqʕԠAz!]cX6m /m @ Ƹg_#zi}ATK빩S$f:>^s# Ƥ }<>JH]([>"GH5bYH' kP fJU*j'$n҇tbl X|~]vUi[YH{ 0vˋrR졼 }[,y.tIujŬVxZEWr>K"ƀ:<Ǹ^,b>փs gDk2ߏqܥov;EǎJѫUZMQ4(CcQ% ͝FW՝orXHw-n ӨQf͚hHc׶{vjشs8DפzuB=Ymt)C7lP9 ֈ'ZU[4ToIX89ϙA6B<A@d1 ҖH01ʚ5r_kun^ r`#u*IE NA(Oz 6̐sݼ1EC ƉyQ hC._d ˊDΗ|G &^ӡCrؾ}{VA R5N&M?{~3-F| 5+b5wNqj9ThENpܱ'Ab"Į]=O-,U "<_̙1b?Ο䛜}Mc9?5 pZ̩GuܛCyųZISNv S=Zq@v;zA7JLp:/FhʤV s .us;z'wwfnsh|a`|7) !$O:/ D!puP@ HcN2xTO5sQ:Dt 2 v9s^9T0H 8+um\, giDj=|,kC[ׯRhHT^rOӤ"OP0P~ba%{p M8ϟ,2}-Ne2Y">=AZskH zX`T\S‰.)S&^WVxܫW//i&,bQ)avء>?h iw3 yAƺl_ at۲h[ aE81ci=G6nܘN:eMœ,YT8][P"^Wz ICË tަ B,{A W'x^B}J BVe] ~^ؽx _Fma?#GTN9svlcG9( 5ܰFRLUQ}< @ibiO?TIЭRvIf5>u{O3-!p]q' #3ԉ U 5C^a˜bd!UrH#2C~L!؃A@ |XN3m-ݩS'ENA^Z3)]? h}#) O_@ C@BHt$Ët%plq1vqyv`Tg׹P %Hk8gIBgVd%ㆯ^A)=0qCcpxkt  B =bZpb&O֥n_>DdL=Ys!R8 3"4Y $+eԆ ڜg2We+{5N1+4(ԮW+i,:&=s?0~~"-'(]ȵY鋃 ͯf̘cw}G -v?"ӎ2fPD'FS$.({ky*a%Al Pӆ+&N;_FZe[42+ϛoC]rDo*g)UTՀj@5P!8ѝ H;%8 `ðF$Q,CX8[yGD{ュ0j$p:{yŊfѢEƍ X]f `D0ԕ%L0?l;up 03C8{kf Xv>}Qw'55fLէOs)K/Ԏp.3VbtmwMKpjDRVcR : Y/-f@8N&NhvtD$(dB5{t-Yj=^e<)׼{s/{\:֬YcuDwNdeD:yK@tL_}%]? 3q9, $;gYbY"sWB=4)\gv398ۀN#@'N g 6o\ppm̕cz; Ƌ ! ߦ^PRWy}f`/ fClGf;a\0ީu-iH1G]$@~3ȵ^k漣'Ol^alK@Դ[}Oe7a5lذQu=ciԸɔ|yS3&G1Ac ïVn;dA& H9 ~52`\%:ItY+t`a=sr^JrneKRP T@kȁ]v>hN@@0o-u P$ ǗqرuxE0棏>N5駟LcwL"u5ӆ.UՀj,4/QɠA ѧT8p%i> ] 8 &Əo`qd>P0܀%pkŌaUj546bGj*5eDй7q{kHx(wuY#P"! N*'O`!M+1{T%#@}nN>dRx;zζ6”Ѷ]{Ͼtz,FMiG ٚj G}Do/3-p:'jԣ4,׾]k$5ӌiYWʕ+̓ό5Ҝ7b7+SVzh$В"M$_OGӼ;7%tǽw35K-enr8 ʵc?^ꠁ綦MR`N6x` 6@ÇN]XKi؎gL>3]v 3fy駋~bo]^a7%avUx% >|M ᴸݵ-Sw:f^6ޅ%%ga>@"~s日q}w5)WG"Q7Rai@74q Ҫ$mȕTPI}UM x #M/nHwPgk6 @ ^-'oY1~ӏ[n2Ohۧ:WWIx|a(`d5޹Sv=/݂s V.:t0?|\8OläV$9¡eG%sw%8,p`^q0m}^ lwAA%d8+S |٧X ISH8lW;P!O9c ,a4qc-gqmsύ9ϟohNd,×35Z\m<(ݮ$ )w`Bйsg{6wA wʩÁ]1mDCҜ;Fun) v?R/1‚Qplu{SOѲ 0}z`H3g|lLTrDaCOꨞGy^ǩS$yaanSZsPKRlg5bnS\7g3 W5688V1]\V&uݜ+%$;GWHγהwy'* uq;ΰI0-\Q]xOa,ql_ҧ1~sdƂwq9Lo/c8l*` HmЌ֋d՗;r-6qbW8֗G[1KcuaT$a}9?3s'|2滠R]ǽZ?l-XY`MJoc&d~ǁ33 JC]'t-BZ]wk-Ll°{|3(Β@dA!HF>샞r`V ,'-U>T;er4NU+U T Lt,ꩧb}/"g5̼v'*qF9@$:|;<DW/  zQUAyIM16̈*0QC+%]-ԫ[ԩ^bǘ錗(%*btsX8g&D{"%5b%hbN kw9x7f22 mlqF( a>3jU߸&q$)dܷ둣pڵ++11X4Ä t ,0Go ȣ8 N=guuWsT#C߾} '`/c7=*>!Ul]$`9lT4[nYWyF{Hql&Ύ+rJcV}p `יgg_o"rͤ"p)2csgSp2z/7z (;/ũkKM_ Ƭ'` `O*]c$s{w2 Rey&޽N:oI+cuϜ1^/:qQ( W(hut'BOZ8X3W\quuʽ~{I-"g)K99l~q:Wn ml3[̪ր Pi0؆9_"u\0-]ZԱWGBp'[DlOxaMW_}eZ ^1w 7m[O4 qƎ ]73-^jf4v2/l,Z@ ?kV2$hgKA <:y$tB6&Ͳ͈cNX9zf^v$o9wOq}V+`'ՒĉpWqƉ8x۠UAe<珚@\~0.q(نA0f8vqK_K[`"MrY5\ce˘0_xoDaKWzҍ<pr12I#_ =7Հj@5X <_fjY'*NI)$= M0,$NLt>/("2RT p뭷H7|Ӧ>7DLJ .jIq?jMD,ucFĩ)AR. |.,+ ٳuHaÆYݱzJ&]zJ=8aw I݀Әg"5Aܵ$}J8ۃfi5L,2=h~CTa?%ܜ'Q* jx ($^'F5P TBwb9DWWiild98Eڕ("wv .jՀj@5joBuN'c[: hqN>_4o(6DEnK{W_5Q GpP V 83hqha~쳏-ֆ癎`6 (?u:d'h7˱7˰:aQ/896|00.ȊqcG'81Q8e¨.h:v"wu2 FreI ߝ8cE[g #X,F ª: :O" HgY}tg۾BIc+%}^ȒgG-8?~ x|3uմxk][qo֤㾗>sI8V@n!qfзF}8ׯˉZM g dN1>Kj#@:gώK} A8q*Hۭf=9j`GMO8?EqCG\?̸c:0V1b]MY / XuL UA qa0+m}})L,[;[ώ _/O0"~@P>N` ňy =@JfIYqEHg'[k;6`N ےql~OzRe&v)ZE @:+ǭPIuzΪՀj@5 ԩS8H1#GXJF-L6j!Tbljj@5P *rrm:b07dC* kL` 4XСC(E |0jbĀC&k3(v3` ^C(P'p4D1 ToSsyӽ0aB]D!Љ1 ~@u>a3Q|.ϸ-2f_@)8H;1.'A#)2\]%;5ow@+P\0s9u;*e2& d%R8RN.va9QgDSؑ{hK2vލ56-Z09kV9 -3C/C$} '`T8߂DBh嬳2]tyYt2 L >ڴkY%*@sLgue|vL F00L& dm/ztB:+oSa1L|"5v}o;NQ ׀p]ڍtƻ9U n[}yQd7x}g':yrwU2[cH[G4sy皻 P?-%8"wFe9)oTmP TՀk}|L@gY MJKMLu1kšP TlQgA`7ʲQ-Z {/hlьq%I tu8&n }ވ/²xf{:tqbd:Iq=G1cm RÂHj*d` ;O±raSy7W?lhw(5~ 5 8N9N9Ѹ2pwJꌬFfA8mUTjmGy"yڸq< @V8IH gg(H5k4d){<!8n[~D/ cX``jἹfGWS /ԃ~#̑\FgM0_|橧l;veM'Nhnݺپx;ysGE5(54~38òu¸!1nuۣ,K_v~V:6A>.6(U toGy9>^SGrrMfʘh5+ª=ϻ؀8c7 P =9T 5wՀj@5P j-tDڐ1; I$`PM:ęoǪ%kכ-wFHA! t}U%*"W3`v6Rxq:wI3F*0@|qc'6؈ߪI96n2ӷ3PpXI8q1IXJqy( $)}8-dXO.`X/c w:JH9Lq?,F:ޡ/R9=w͒nrx9mm:>Վ|u2ygs:uMv +1]BXn}q !5hxz Հj \ < ׍nQ T@_,1};ѬYL0: Lc ;O .L5b#\?E5P 5Kq &pzu`eۏ}l/ Gk\ \+~'ݟHZ¼>'72~Հj ?3VR TՀjkUƍ|.^T3bMĴljE&*Հj@5HUI SIR&\HM HDwXT7:EgD <IH:ǩ13}Y!h|>;14bXt~! W މaf'L0<M[#q#R/dp:{ [ZsB.elzB7 $m';.ϊ5WAOO>ٻ~p&r~ oF/|6}"}FsgϞPץb^XLϕ;uNx7O<6?r}:":X&O*,4uV7 /-)OUTfϞm,f W_mhXJ* xr2"X{ذaq>M2lX?#Zq D`n];F3@o;<;g c5tR ڻ[jMѻ-͛ ̢^7X4.kz18 PF ֗Duw[uHP T (\ mj@5P *\=sFVtҹ[wJ&Qn?$<9B>hߙi҂Հj@5Qlg&l%|C_/N\yG!y 5LS{'_ pp.JweI0jb 9c"mіY~`x"J.]l}uf'mk XSRTA'^#j1gΜiu ;?ᤓM>8 J@LatSG%YfŪIrUW۹_`_ζ1 r/ޟ߃{)H_G*?дmo_u,1/m/vӕduҗT?e8酠OX,Ns%[vɜ)A6l1W焂/գU`|әYR,NƖQG#=~k`! lQqoE?j?Y"L!l(%=.> >&( $xRң[m0g%mx4sO\lС8cK7kƕ(Mw߉+ar}S6Ly&JhL0$E;Ceu|W5HMɋS_KTՀj@5i`vW_gZawm2p&(ij/DAMz[Pvu֥\l8!K^-P TE~Xάf5̲L(IV}DXRdԳtFn/˗|r pQKޭD:*H3"X1nHdBÇ[fs9:탓ЉO>:W`2eJi BJтDʺ%L%xsvxѢE Ip6@=yIcmqܟ`ӵ]L=Jz޿6tyW- 8k ^۷o_suo,<;~I@)2_cZje7w>>tD ]Eݗ#0*>s!q26ӗF NNZὕD˩"h '`},I%6WoРAo0$;UI N:)8蠃e]f&NhS?g<ۉNu]xΜЮrM:Љۇy sq?L4eU27!)Z.ay2"1%˜ƁrS,`jHlV䚥|]^DA'hV˪*F-2s|=j@5P TL%; mU;{53~lIIqpjWfl.Lqo$"{"YQ\mJJZ\~Հj:kX͚/nlB u$|I7vR*'s>kͿo4|ęsgp^GD#'mE"30?NMh:ڇ!@"a kf-`m 0^=zt"29QȸoTI@ Ђc YENJ6H7\i8%2ܺ\Z޽aXxxX⓾~/ yX`A`?"Nr t0 Q84EqTtBߟ>۾78.,'DTRRS*@IDAT!65]IUYQR<>`A0aBhNF9mY :wl 畧0NSYw:l\YL;N=T/ƍ A'2Z\]۲rXI闝mDH$-P~駁řS=K/_TC}ڿ6mW_ڇl&CZbV˘+Aqwd (>B/ƮTTG k' sZt¾D틃Gr֭'^ ƍmJO"/㏴Lѻ_]&Wh3 @\@.XJDmLO{af<8V+S:qtZI>TN3D* F(x s-:CS U_p(< @s/;cEpBOx#hz'䈖N>ҥK 3rHU 8 u8A8Kq̻3Ix;.U5py-fPg*cO?ئh!=zF}cfJ uQEX=~"յ#oM Uck@Ks`=,>Ay)]mrP7Ç6\s>Q tRVmsI'Gp6o\0,\0?a5ma,>t믙N;-R̯9 ;ٿKBa (T*T T T@U97%))ɸ]v<r[Ud*JDHsdӣ\OYߪ@-IaB5QM^Ar [6O29#Lw쿓Jj(شѬ`B=ܰv]j\祋tqJf5i\q5oฎ<`CIqAF=\rv*`syE 퉖+KA}b: R\S۾}C5[n%V6 9,:Qgb+mk~uƩI;m Ⱦ?[ԂE9O1=P_íK~q_.h S 7PnFS[ UUwzg2W+6@"0 9.w۟%zWalةv]*O-Ft%ig}֐z'Y값'h_/$'@uwѣ9Xa]9R|s[- oO<Ѳҡ 8N@sWphBOڰ06.CTBwI0( T05m9-m@9R3FDM~%T8_~ .okAQ0Q'I `@E]d@.LU8cݸqw2KZP>L%VI:DM4cD`D/o9~ٲe'cc[z))DI@ՀOfTՀjkmK7_ Ԭٖ/=e1b $D 4IԐD+KBtj\5@}l 0eIggg,̙1cF QO8@HKK`ia˵7H8„g /+80X"SL1fX;vCh[ ]KO`%4HVBD[MJv\HL]<S\R;,E+떰X,) ?4x:.'5\ci雽ȏt_|uF/SlgX)ciՀHƒ; +jŤu{W:t,t&'sxv ~7]/lhƁ/#Ή1Qpx6gXLTE6̗/D_+&yٯu[xs1G{i!5 L'}A'N#Ne>,cxQn^֕撹f*`<֥P   7 5pP[Հj@5 .7HbEjD^✃n=Ӑ!l pMHKM5PvpP ﺳi%,茟z꩘!CYgeZ&9A,_lYnhEAƚu{j? %]+GVX&@5P4kd!t:|3^=zjyIj.|45ڹsgIc=}lL<QK%]MP]#/O84j`WǽSOO>&&d/|1999%G]2g}L% 3ÇD'-DkO& +",+ DkEQsh~&F`{aߦMP3~(pSv)M P9"13Sт@I@0Æ ΍d僶|sBF?#8M]AD:cDÏ퓨wIk`Z;&8v :ԼKvβd0n ʼnCJ0 ,w^,}w=pn۶)hZ#"Հj 'R?G)A}`8T7 K `)}N}\8]_jڼRQb)}Nʛx,7/Vke/|IB bc؎!_V\afC =>^|g͞=ۦ-eŜ =Scſ\YE5juČQrE4C~}[dM?hSQTՀj@5@~~CD3޳]{:;!Z3Y~7 aMms菂[cwW k&x ? 3}0_,ʏcp/ҶMFMI#3M:Jv*ٱm5APN^spmfj 2Ju%Y”B}O6l,UB )=Hǃ7ynJ߱`/2&T) gfbWL_uU3}t . #G8ϝW_#xA'l_AO@+IAh#4 +Ko+KDз_9\]n͚53: 6e!wD0s.GIN^{X?S B€'l(93bĈ]n{˪k@]AͻǁN :AkՃE@'?|{2@+F;c=ژ }u3Eyy36v(/5|$8%ʱ|ȡ^w͆{'@N8KT寁* 2RJՀj@5(W v2fv(ooOp ]& Rl`M$7yS*pAp~ F`30>|w?!}K^}T<Yf<"-9PWX9_z ]9 a0tB$۟'ޭ.ICD;3^]\#mxO?-wXR*ϻ:CPepp,a  R6(LPҟ"~Z8C.aL\w!=\gzX[l|e\ ++N7*nͲSN1w_h`pAO<~HZdK$8SxO`<;/u8x;Xp…E-n[H,$;;_MT'RTUKϴ;34^&=jiq7 J.iN?t׿զIThatme }ɰ֬?eULݳeWみTZ9㬳MSO6dBlșgi2ɎgQ$[ (PIIXv'er(IU+U TՀjDطfOA׋)й$ #QD-2`!:}_BDD%`NjX1-VᙪDٹ(|81z-3(E j^ a^R7|8Qz9JdǥQp;cB>h?Sqk KQ'[_yvt?nK7X.c2.ܱy^8 }ﻝ ,񕌛.N%_]9]TO%&ovB?FFx~tJ#u;P>oO#vR/i U"m6[iNsϿorko4o~׽{>i$cH:kk* sмM6ۼdlx;)w :)u@@tXy(I^JVOJ>Y5P *rrI[Ca6m믿n!S^Ǡ0¦5J3+p٠zuj@5PT $/#MVYY6CVaV0bw1Q'3OMo-|Z~fq`ltC&>~{0.nUBS&N0O+QyHERΔ`` FV"̽iܶ%NO>Ă<`&raXN"/@93~JhL@0E0܀I`ITA;F?:h @Α6Ah0[`,Hy+Lh M"HؾAqΗ=Y\n~ϠKsޣ3cKN=ښҧy) ^;"-ahh! aÉKV<;<&M8 asvI'0P{`!, M4Iɕ ؐ9^PT*x5lPjiHE:0pnzR=iL:0}U"8Gql9%QxE/lO;ж\tiv!dD2?cEW>%%sT+9G"bߪ@%cizλ?'ccDcJvz@(F%5f0O^eɓņ5t㭷;D>i)Stz2~YX+4 *`;a^(+II?oD\nXS TՀj@5"Ifu:"pqa%b#L Qi ¤*2]TTSf񢅱=Ile_q]8oaÆ409`lui8~9dfql|jԼ+sAf8 rahܴi. @7KjH]igZZ=R,M=ؐ9Hpu:sR擂M-uM5 )e%:t(:808Ws9 h_Q[~S4n86k))0i}L ^a|B ȭy2i$1α@$я> z*geJُt*2c#ZVG R׼ǃ],d>xo'Dr^:Xur+W-vn%A#uβ!}~!,'O{aN(qCOJ%o#2FzG8Y>Nx6d\UӧO/  Bڔ^KAꫯywrTT[}V]ggԩUՀ`{u;gLtT/ipA&_P n<mښիV:^C҉$~5& Rk;8_}u"а[wcFUGf^G&BqdZn'Fi]slFm]/6Ze81VG TD#{'t#NN瞄X13m&NZv?+HNo|J*fi֨MV男IĴǹ{H4IYqSB:?jյf' pJR=9a\(``E)NI'&Cҕ !N7\'Ҏ㛱 75:NwS4RQ NvG8``,Ʋ8ߚ.ݺVLhۚy\2L^KrRAV";;ZI !$#C ]^x}M:2Sq'Z \^A02IQƓ> %zn2 e]0%/U_H/8QL;Ǹ+bxK 2XO`x+RjCIKE5d2Rqfi?%%DyeBvϞ=m ڄ TAyz~E}13Ϙ_Eօ@N *ه~u>lO|5 ^{m ]rYZ19% &79O:JcNcI "qN`(D]W$t 8Qllba1Y-l,YGi;9IR&@ɗqª<(;,d'{O8(aHC'SW"c `n όhǽK*zGbExA]ly8-+v iwT*p`~&,LR>e!s¸s7T5(Y[x>p"ܟ''4p8qZ#~i="]*89?8RqhwO:${,+㎋E'*u[-Ӄ+7~xsGUZjXW#~ٚk-0[éms,eu^@&!BMo'*LQuQrL6o3* p~@H>KSx&Hㄾc6V*dR5lin&=6,wmfNp> s=gA|IUx xR;gܹռݘíX ,|u}sEY,NIL6lTah8]P j`s* f>>~뮻̬Yl<6] W\a߁RX, #ќ:tN'6kJ//?01͐};vj+wƤ)JZjj x&|e<%-P TU][%q6fqtٳnR̝T5^"w^ECy0͗"s5ँe BʼnuQSM7t0kn:8ԢF?Ϧ{1 ٳgGٽevaπV1뮻n D zOZ s CXz 0@'^h D. %U ѳ6{W׬}ߥYc뀎/N^" xO~QG[&88}Eg5xOYN]=z0_MF$IY vؑ}5 OU- mOp Pq/^%` Dּ=/m@4k(qKخfj@5P 0l#}b@|/2W_}uJs@&~qiV2PӏͬO1 jޕ+,01/~vZ;]ޒ~M5WV7oxCIkU5'uQߔթTՀj@5PN{A=MkI񫰟,7l'mY R:bhi\;FD4R@];iڬ e8G5oa J3Z(fp[2kS G2!2`"WZUIH@D!Q80SpZs8z<@'7:9re.rw=2tBdf/S0q~WxO>y_Gi?S3p@K] &~a]Z]L,1+Jl85Qn-ϋ!V%04sOT0q~Z ڈ#}I&;w6{- ko76-҄Π{OI,&Oj~ʆ ns7#2{ȸp;ŀwE *(`;;蠃b"`y7;E&x'7 #<;q@-.ࢿv&,h=~$ջkն}+LЄ 6KLL3ԇ^ՄQ JS 4 rHvO[o5..]X(X'ˊѵoGX@g=ǩ8? x'nش#C14㗟 ;oQ|`FeV06–<2,c+WstRZzTUK-FUZՀj@5P v mlcEf/sTώcQHqLSQ *^AvWfos|X09Eڇ>]#tРAck2۷9z뭸.`͵-"e 5&8Gh˃v-u8p.lҲv|@'_mGhg**3gM_DHqđJY  ,+G63g4^xa 8Wvk4=8qo g,[W򪠣hc6m҂Pɓs؊{(>qyGm_F.J T-w4oY0o#6A+ה;^T88#8ctaB$׿evuWӻwoׯeP*'W~w:7Kt@ a2IhGGiJT85ȴU3~e/[@O}Ӯ];[+6W7^s5/,2ٰl:⽚IQ >n_&#=ʏq9GqWi&m 1Հjk@'i UՀj@5P-4U21Z(Ns(zh]`1c7HdOTT4F|m~?ny衇^x>a \pEŨF3_ܾN1$*('}B=8o(þAсD ^("A,.vC9i߾XC[@'8S-[f^|C v oB*+ED#P==7?'wfXFYl$L>*OZr*wS-ayX0HXCuƜqSLcnoC=d/DTQe5]gyiʤ]VXNWTM }.޻7FGx3BˊH`oBo W\q4y96_:M6m퇴O+/5rO'F}o/ˑTQ ;6OJÆ C;>s饗VDs+1;vhJsYgōxM+maҌ/ׯR۬O >,6da'ch(*%/O58LspmQoe'9*7ԩneIY[b_:uj@5AF=&}'܀0T{6dRW0aƜ/,(itIݰ29~^x՗̺6HsϚ۴ܟ_D+AЃ_H[|J[ZjJj@'UiUՀj@5k MP"fD4'v*z&cr!6 2+u:tTN:La:u!_-w^,@y1D$U@s0ͨE@'@wL4F@ M4i$kk+l#H=gTn~)myKW`Ps=6ʑGi>3y{sN] 䖭vR0.^k23Ok nhI˖--1? @)SN9hTIf_?=Diܠ~l@y*7q!Q]=\ q[ ӾHE;K;m4v裏Z&ʭYx,sgn'N%L>}2'WߣM-ƨƻ"Kw'C?dȳluNry]P T4@Nء6H*f BmE70W͚5$_1'c| NǺh`ǰD5㓂OHDtQG6-g϶ ޽{[SeWQҥEr/o%@yL1?`\LNPЉW1;w%stBZIP TR,]FEOMMN[o@0AE:8s-X6CGa¸IΝ;a2qs;WscAyUqnn~*(H4'{gCz'w\`+S%A70-ـA\mTʥT롭Q TՀj DmS-,XFp Fooԓ( QTT@FFK#5 ʿg#LauwR*8h# %0kͱ*c$M7%Łhn?Eԩ] ࣎S7d Q!9zڅP;YN``u7 3gv#%[nbLL22%`N]RRx|ΓsfWy'pN.Z`*0[OL-ͩhlkN@~ QOGāOF3۸c-a^'x´j* xq"ѽ{wKm7Y 1@IDATۡF 䟾F.ygsRGmZCqGRҸAH "5i"L&ͣg][?iQ{w>FTb8|OxVq`dvܺl]S4xP˗js1#{ǀsl+` IR}4lIj@A۫LU@k7 fI&*ɸqR  /nK6ltT;#7Kj@ҼڀOX.Ox2y 7|0-X-5|vA&;UsDSQix6qH\`chOQ T/ (z]o=[Հj@5P TY x?6%4^!H]m8DS!DјQ  %)BI۹A6u&0ݺb~ԹU%/=l!D*il0qƘNvɮ6m8A;b8ڣfq,.Ch3y}Qƪff封,7:I*7F-lc`$tnS&8|a?Mh:tl'1K.#v vjopNv?d_aNi'2kV2"8a+pQÀr5w]`;H`&ꔶ@HW+v hڰX$I}mԵ&Gl]1@1H/Q?{gEuYz XMQ,QK[5K,ƮQE#mK/.,ۗeݹe+޹3g|rg9y^B1:֭['W_}|Ǧ!@H,]TVY"f!f츊V! 1HHj/<ڟ9SMc)卄$iڼޱq͚B]ʮmf9xk~!kN呆{/ǩVmILl.!B).*rsZKQQ:* LIvTIR5*:iO٥"4hq̙[j%ƍ3M4Q'׌xOoTvpqPP,PQK^Rgvo%(a D?߷@"I}`^fgwN(۶m3ix(e܀9@؝݇HHH.8ɓب2gxF;ӤA@D!p<劣*xo"yYŤHp7xƃ8X_XSQ ]K_}Y4<3μz}K^U6ojСq80HH tRː @ hզ߻G*7mT&ub`&==]KgR"oE3!B9=[  @$ЫO_3hׯ{WfٿoBֹNs$^"$hݶ}D'ֱ &<)V>m[;| qT;}H}AAޛHyӺ]{iѪ^MO@ ro Jtv[{NyJ:QEh!tMf7DӧKqYu[!@B33g{RSiDWu;s:zUYG]q2dȐ2=wsK ^˗]$D:t$78 ~{Vii݅IHH88kա!j˥Ԋò~A~d3VӇ鉝r @= '=zv .N Gry,?XEGj]l\?`_I`:dxΊ-ZIbJ#cCU@߬_k3meDdtͶ"Sc31.>A+IP {v! %7`?0HJT X'GTrB;t=O?9mr8qq<}ECɵ^+:ۭ<dXB)Yyeqp5?+EN~pR38K.9$;;8@,Kp,Aj3fȔ)S/0UW?3“hM3TFf    (6xK6%0 ȁn4UV =).Ft޽Sm۶B9ViFz!&XRzyg(*w7m }f*o!~8$@$@$@UK#1 .},UWtRgH :y{⛲c6uI"*y㈊ЋH7 ڇ$@$ν}dC$@$@$@CݻwW\ 3͛0MNpΐf`,xH@k[+ 6IJIud*_WQ@W"M/yN[>wЍp> f͛7OZ~HN`:``Nz C,ryFs QS[n%KM4ѣG;9<t ױ9ps!jX\O$@$@$P N^soTxzGN{f͒\{U\\TN^sT+#    Z@`5?>d98_V D OqRg  ( O*J 1h !,s;w,׹řN" f/D~}(EHHnh_p;sd….QӕEA7ȑ#}| e FN=:0ZױBQG!gTDv2i$ /,f׮]nUر-S=* 3| 0 $_bJ'X;tWg @EPxRj܇HHHhfY%%Y]3xx LCcGv  F .>83ƌc\`v2[oUu&O=K1$\S,X #F|@iXtqà2  19yj.L(xy`\)!z6%>֤B ,y 'n p2l(pB m.iѢE\K,fpH EHHHjĤdܽLr\f VQ0Ǝ6~p/,>b_e  z@fs6W"\.]ZFt;v(z{8c⋦Q@;,k1ctA)b ~ۥe˖#ЀX') 8X)a#cV\ LxhUј8q<fw9袋*ZUҳgOH7|tSq+ Fxn|H H|@@rg>W_{z)o,O$@$@$@$@/M72&LpEnذa22@L繹KB䟕gtov @% m; Tu=9hOkZ6k&&ٺyٽ71$Q_/AVloǴGDX P",mv. ]{oRW"ҙcHu2e%H3gtbVz(WX+kw-76q<ˉU+ h"ن'N5ӗ*8H3{l1'87z+>#Xi>x9 Pg͚57V6Jmʖ-[U_8vE'b!    p'}}eh!_\OW]p7qJijځ՜yq @#@IHHH!^kkWn]TX(?._댄\*ɍR%+sKxye]暡lmCp)4ËA$@$P p`,}F)kz H@ږ *ܰa %KN$""8U89P$>9} Ls(@e= ZZeݺujYbl p"@> 2DtR]+f0IF*t4jLJX퀞5s~=em/ܱSg# ? @NB s(YȔ)Sdܸqҹs=ք'ҶV$?Y$@$P(< < @HJN{>NSxFukeɏ?ruD|rcY; V`O-(b_p @!-G͑9Y5 eѢE2x`W[x###bCI=$"yyCmz     /Jsy5\wuҥKvh]ñn'  )}Yk< T(G ?gߣ! €`yy~wiЀ[~! !a7t乒ȜuLL/+xeƌp@Gcy"^ŖV\\RN;{JhHh T:\@''KBL$ǘ*RWu퓟_)'HMHbIg>>iAFH={2+eyH&MUL"*ŻHV/HHHHH%ޕ E"&&(x,CL:8rbn:ɲ2}IHBIHHH 8x`@gu H#iEtDDJVN{`q; :?xHYhݽK:w ڷ'No1پc,[@cqMcsG3<p%Sf tV_/t}MZ!n= +@(aMjjO LD ˓]vGݻw5;T3gmDZ,X HUqf+"ߺ%bEVi ?ڥJ-Iv]b]-~'78ECM     (?٧+n%h F2̧pHFPxR#y   &*p4 $"={[` (H_p7J\O$@uć +}{.G8YjWQ7|c' nڵŪ<,,LZh!۶mVw*T붾&>@ D$/ЁafݻtzN# DZD)a X;M57N:":5._T.{dllԦj#};ZF̶,P.:or-:0HHHHHٳ$Kiii^' n9s:!@E+VԀwfA $ O* NHGg4Ĥd9zx=O̫" +ྱv*cGpݨI C̙#IIIk֭}Nf͵K]J䡇K( t&$$x-ҹk7?=/r1P֒u@rosEKe{ʜg]fʌphGum?N;#)S1W T ^]ͥun'V@Yur N7هeHHPxRU$Y @"(է;F;wJR… ݻwn  j>3Lf̈f OW]sl9v+l[ܲOn7nttp!3Gu:ߺu@Ҽysp+ z?6lq=H 6)((0lkrCV;Ϛ5K[^ut‰[\x8}85f[H Me7@"!!쓕88NPOq2w} 1ʬ^}Qu{)9R)b94ː T#ӫVZ60|p3fL@:uS,9Py" @IuPe$@$@$@g'nɸoJ/V+ ĀۖqȮ]E5%zbbbĭZggΜ)[nG}T6mjF HD'Wvm7Ȕ)S̮pIǬhܷo_:b|RXP6:K>#i:v跃KeGfٳst K/2e֒"22fn#    6o$a9E%U\F$P PxRFpօH)>r psHH~Sܷi+HHH0)oV^-}P6i)Ė)))YFt=(Nub6Mq D&/BbEtto^L9K٣GJ OP?y9K/WF!ֹKܧ$VW\f-Lb ?Ӊ7I[f$6k/}HHJ PxR8Y @]&i +ٱ}[\ 7 z9Ϧ<@նYHH^MB6_U2|pJH,,, Aڵd#T`h@Hdɒ2ŗ/_n(;w4 /*rɥM4IsXPZjQ}BScWSDgϮݹL$@$@$@$@$POz 0x+B:팭[lk׮VFx¨{ժU +9rW FNbb "@I aHHHj74 ?~%~JNivtbfco߾}f*mۚ5l@b"$JJHHj7gI:,W1F% &u:u Htb f @S@b Tns/KYJ˪hiᒗw< @-'q:i&M7['h8%i:ooT(3k,VmAgh9zLJ(/#~T?cHHH?gVNp2qDr 뢋.}21 ̃5J+J  :C?IDDs <p"$$Dj'ݻX2'|%UWII͎.\(^{k[uZKǫI~LꝂ|Ju)}vs^qJI)JvvYy@֩2&Aj~\0CA$@$@$@$@g M#&͚!@J쯾(ݻOщU 'ӦM~X +bbb{D''tR[<Hj'5$  9XgVrLߚA$@$@$@$@uR~4W"r$IifڸtT*N3g)g:v(M6 d 7˯u[X\"OϱX  MJ{j\HHHH ңz*@fOnTܱc۱pt$@$P Xڱ|ʩh߾qq~AGlMjiLgMkwWϯJ_AG8'5iۮ<ڲ N2D5*x4J(TJqVIHHHH6oIGme'/-6JdxI߃mIf`c_"/P^.,+,RA2p isu'   \v5|YBmTV~6o^^k޽{eժUfB#.'Hиqc3 >HHl&pѸKξk Sp_[Q!ecQM4+}rw8n+F%;98tu:%$cͿMv_xY@]:쑠eǍ'kVIl\ž^/[i ssIqHHHHHLdΌd:5-ޕ;Kw&F35\cN#S(׭[7(̾#*ѣBzHE6Y?`ٷo锵6N:UF7F9T$, ڴCpB|uIIm"-۴b.,zK-&2~$hcIhHZA.}|N*z JV ߯’#c @m$grQ0Ylرrm|֬YvvRN0h:q lz?Qan: Lh EŚnɹOuJ[<   j!P.N@U甴41b/ 8j+h|`9XnA$@$pv:J3۶m $.^Sh$u AJt*m۶e5U7ÇE]$ݻwر䪫[nխŋKDTۺ@?E'اqf.'J}.$ܤi(ZW*H?44BpNAg7Pyk'6HT\\쯘پe8qLj @M@_\uX!<`pBA[;H˖-ǎ;nGWx&_|[FB]oP6X+^Q]#@Ǔ ̐L1%??_Znml51MhXr[E͛EC">:uhx:  @XxYvIX43i*n<$#`ޞQ( b:P &G6bIk}VΙc}t|"!;u M9Ih!1)Yfg9St2DkӮSr&H7u9ԥq :8 t[f=SL2h&CFrYIHHHH tS)[7o֣"-ϴiǛI-E%esre'/73}ɞqRW͗"ud@m!@ImK SdԘ $@$@$@$@$p $D*үK. 0d>#^}~/R7l8jcHhhh(Y$cviܬn-s!\QoPxRo   &нWo{P-U5f&V.%S"˷h¤ױCW_}U>Sׯs 'AS9#  duhպB_q8琌F HIi` 2A){rrĞ<^$-r_FEwgӧ}VXimۦǃfV'*xiڴ>ĩ"u$@$@$@$@$P׮)4)ҊB nm|Mz=fU9h}1#h߾s]'421m8Xv&2"U'"t$p&Pxr&$@$@$@u|#=OZJE }{%VS Xfv]֭Yj6>&Y;+5@dsCIHHz+]{<:sP249imI^}܊}u3@4Y\TZ-[YB\I !6Z"Nl[jyFFQCr͚5nEʒ۷A R- .f댙Owheu!=zwwJ    F{얹g|3 8j(ۍ{̙NsD+=>YZ3OOVsaC|#QN:$@'~&   u / ^\g~ɦMTTgf[8`77'1S瞓9sȣ>*Qnq?3֭r|'  :Lu^-Z|Ƕơ*cRM=}ISBέ暢`VIV FHHdhdG {L% .t8ȶIgbj'MRO[ztEӻD$@$@$@$@&+N"'NU!pcR]h7NlٳDZ"UJǎc%g ~U]nN`<$HWC.=S{a_j}&w۪$P(/2BnoGClNJgQE駟>}AoEEp&lq[%f yLغ޽{ & X xg/Kff׿6HbaH$kj\GzLI“˺IHH% u@c MꈂAnݺA}{gṫ?I S.\mJJg^ܑIHHiOӛGw\6t+/ 7p9R/Pn'pIx['Q \Ejĸ7iG=HHHHD+-kWKxć>Q̩\N :0t*bA,~JGZ7}5kyLb]ѤI/om/$=e+,14}7'G+Ӵy or= T O%S'{p.':A]Ctr뭷J5Dv\'1L@O>4:}%W)l߷s&M}!BSI 8&@Iuf$@$@$@@m/+O\svXm۶  43(T;Y*Z) >nVr:). i Y8o|= 7Gҥ{^Ԁt_ɐa^1לu(1-X'Ć :%CJ977̐k2;x]<ߥnPwDcu$3bE @ 4 .i׮C=dJ y˰aL'o߾ݸ!]q9Q}.B~q EM4FRg{^CǎKvnN<_޳[0g7'iF;TUWIjjcHzjAGt\Y(`_vvU1X/ wŲOӞEGGKۢ9v6IizNn# Hϫr;ٱc Dtcdbm3LsM>uyK'KmB 7 ӦMe˖i= i4qHHHTIpp=Z>S_bD$͛7>; A>ؑ#GT::&+B$9>FeNcm; %_e_N$ڴk/Ͽ;vɆdINi$*8I_^ΚJ$))A2:Xgt5k̬9$?z_"{Jnd1v.}6YtV َ:ˠCݜX$@@Xh?ֺ#=:m|L:t*^wtY1dȐ2loa18g 6b]J.$!Qm:#30(a38< u #H&Ns*** kHi.\G5A3O8. 4*:nh욣"e: x~@S`F''F@|Z?Kxwx|' |inޑk\r {ߚVqPwa!~lߖ!MD֯[k&ɚRq:Y˯WRURv.?} 2ƛ+rϾO>DFEԏ}1p^v">$ύ$@5I|yz /P.b#:8 W<'oXۜixDnd?&`r@۶m+u!hvܸq[nr}39~oUgҥ{wG[W8@|Rh8U':Mo_4j|]=OTSeKZb v܉*Ȋ_|au7viVYq#k=nHVkܤg2:pZW3@$@oOZ~X0ߜC;nW=+(PƦ oZB4}s(\z Qh)vf#Ij؋1uxnL_ib흷&-ݡP7 Z˖-3o/v=Cݷo߀r(/_kەQ?3$O\%ڐVt,0C|R|gG}ԤNE0i8({O u Tu}HHHH tơw{`P$ȰX1[9<<\Pa BNSK=}ҤIFi{F z!r䨜8\&M3Mɴ SMͿk0uBa ZZ_ _p|8xXu+?Xa_Zԩɵp p0-Q>=Ug6 T3cgǶ2v! D9}u`dNyXx#%Nyvݚ~*M)<0`?s^|A+%V]=Ԭy ~ pLCSu'LC_bT8D+#""$TBDUΝebyF||YWYƹq(T:E[Ϗ#FVqf׮ O瘔 ٫Lsa|DA ( O]we*/_nC{ؚԈ=|Tjh+e-j'5#  0`ӵ[wY'K}= wߙwh ;w[O˘}1fӑ%e TFZxo[nE&NhRW؄Ͱ֠2Ha6|:=rJk?68(`@Ⱦ2f 6:?sY(v fL:dSx; ̔u= ?%.t́ND'Uc@S\b)l*F K~uDˢwyi4o\V^-qnq~gR4: vIHۗ:իJ HE"b厛жA,#s8hǏ?yFL Y7pm!qcyOKMϴ7Fhu*pΔ~q]@aߟ$@$D'OҥKZXѻwok{3N4RDއ'K/("-_o._{E|'x~&O<<Fv'OaG ;XZHTL&~&'@I#IHH;WL~MfϜRc}: y+X`l̄+/+t`b]h NLd.qX#}{vIbRJ57_M% /`dZ2.0 k+:*йځVٰ[^ψYavA lb+#RJݮf|@s:+YGeb2Q˖-(cJze{p_ޠY9|A &L0ixς}ꖂ L )ZXKt\G!@Ieq_   p =f+/4YFܾSgYi-6RxR܇ږ:x%M.щuP}Ea9ѯoMzi=^E!BE`HK|e?:E.x$@$@`e8\ԋݶyvO$3KpO3!7t>Ǹ_ךNbGF{n'x991sqi}hE'XWϑ23e 4 +m"e=xv{c E࣏?[e+nozփ[f^  a!q/Ζ?Y`ƌq < Nt2,DD_5Ւ HDJx w(usZʕw4"0K.Z.(A +Ke"WHNaJ㳂 lHXx+ Ϊ}䮻0C2W 4lXB,|gc)p}gϞҼys"5Z&*-˹c. }iu_sDpLGSqBx7\V/lfC7`W;uĘdt# M7L٥Sp,C5Y\fa#Swk{۴;ZHHX?%ߌ{7ZB-ڵkgesΕ7|vyl+Z\W~ȕW^iRJ}A:ޤIdl8ٳdzWAW^-۷w qu[hΒ}>u{)K)@㰟@a9 E C_Bv]qk _X|NRm$wK+po{6!q2rHyzZ}-{ڋH+U^3}L3bo8 O'@$@$@$p@.x׿pB3\Ifl_!;_oDhߚAnX=fB(cYþ=DS``ی^d0p':g 2d`[Fo5@HZZ9QqݺuS(   x=.<ሜNx9q7 s=a.s3XrtdJ;^|TLiںH=1Qi VN}2L$@$Ps=rVsҪlg9) =\G$Pʆuk%TWatj{3vHg=>=v[Пt:wK-rʵ iy`䖃ReB(jLCxhJ'O6.`oD:sG;Zu) 8 Oj9H$@$@$p8hz@aRCaq\0AԊn!} D M  @:_(?E':q`vxb+W7-[4蘇!w£< aSБ߻wo5k@b:0uo(i!cX_w <@' '=PQ 9`o v7t Y.a ̜9NFe 3#0 fb%XӰ`8nb\2|}wND8tH_(pnB{7;RYGDJֺyIQ4a$ &PrDEA f$1 oP E (A$($#Q$s^yvv۽鮯wE@P#JuQgpXg.H)I:YKLuw榨Ay 4A8jL[nRYhmG#}"y|g}"潲to eJ<"ud6R4 #sf_ݮD :u]/`>5x|/cH&k a5'xvJO8DU@@@'kN("(фȪKQ#E6| M~kGV:(nӦUZ LœCEI#4l|NzLt5sfΰ3a_r}tQ8 -!sJ:gX-E#FWS[B} E܂9ڪS}$5TADs;u"5nXxc&M^={ 6lذG@}LgϞ-ժU%dou RaAF/v)S(%A+J1o>2X{5Z Z iGd#2S"Ӛ5kcǎ*WJxBtCPE#s3%b,p)i3:ȔYPSc a9=qLMߴ".I:~5Ķ…`kqHl to,\:uӚ2*b1bkMXlj75r8F 4 adÆ <^p)RTXInoTnO2}SE@P,@%MY3mHm.|{1Nm,J>HF2Ǚ7r(5jgE "v*bᘕ5^gQ*QTE(m wy'tBcA"iҤ]8d'K.OP?p$AEL[ld:`l1XB=ѷQlYyꩧ4Ig"׸U2j+D3%5k]qySWxOG> &D@xꈷ W8j8yyvbB/  1瞓'x"PƝJ|O^|yH"\je+.{ f]}Fdgww9 իW}1-^ToI RӞUE@H9ٍQ<{" dq(Ԣ?);.a=/ZZs*J)5ɛZOP24As'weg v\Dsܴ0N{W˴; ;aCyIINsQaU.Q0emsRb"572v<NP c]A,#I`D h(7=j)xr8Ps("("@I^/>P"r* ˗MwqrTL}wv3hRm_sW@ʙj@V@Rҫz++U+Zά%x _A駟Lj;OZ9 oAJqrxlz0W5 6mI|,{& m&g.HwLb c;-L6yz{6ɝ+0iev=l)n}^d Jq:Yx]܏ ^wX" -Zd.SQF!?3fG}Ԯm\H'@JJAv\Ua->~C{EҥKK>3}RǐḧO2㷦}VE@P&$(0p!#TZ"}'L~X쓏=(Y4@.}o>;?H}IҥKĂG4Gqz4B^ʠ^dǮ=!H!e19sd\9s2vE:-wrɮ,m4$8R E4i E d!MY3d`72#ߙt¾go(ps!ƎI"ȑ#墋. + $=Ҿ}{I bT~:1s.P.j3w`<(@سːNb;d<]b}4Sd/qEH^fB'1}(">  "Y[e̱%C2eXr3c,ӊ章hO:${(Nr&eOzhM|W)[],~% 0tʫj͓N;ͪ$j]AP_]TTɪP5 ^xyǴϽ %M`!d̊O27VE@P,@+"(@B]uCLwAI_\9K,qt‘qDH?:8qA>aᒅG^US2;.'M4DaоuYl5kXBI"͚_$WuP,#FXg¯~O>;> DI'ɵy8C8)\!T\Ty.6%&q7**%B:aAo5yㆰ 4h%_;}L0)4~x֐f4h/'zNx_|E+Kj4n1_5Eiyv =GI&#߹k|DATaaӿa+Tq]PE0!{8ب [oHپ׭[7̑l 4,o6? HZ4vC:uԹš_gϞ|kό_||C1)Oe_I5YTHQ۶n+ %doD("(G9~s\M.B 䗉r r|5mTH3f@gb3m4{ET?S+1^ڵ)S؅=&;ΣtLker يH ۷HZm'F]h`AJJ#>-YmA.!Ƽ/g -!{Y3ct; ˜p!얅, ie(Jθ!:J,B>$QÉr>RjPCC!Zo~Cf`,N[/N D3ڧWJ~E@P@q~It$hlU/_nOOwe?'3Sz-&%,[haǸ%KX>oArԩ\h"!Ajlb.ݻ5]we (ZxVl֬%Ι3'|:FF(H'zkײ6T:_w4jD&8!p+\*-׷ ΚMIەt[xKTʦ{o27ȹOIJf %*\MP|%pEkrS# EC G4YB2ww!W\q%m1AMZTp71V&R˥T04c#*W)WR%~JC2U@&D@'K.+"(@D /n^~7:X #H5/'oۜrhgϞMrײ{LÁ$:3{]J˗.FUHx? g㏗ ,JkSaN w4:ϴ8L7TX )Z~VE@H{Cg`ix@dg,3r<Ox}AJ)*8|@IDATM\smf=ü2еL:%j[@a+9sc#mm޼9 1Qs{饗,%)m״LX J<2_^"("dvW\)j۶ 1y g{pȩd&fL" ϳ]F ќ,PؽST(/:x!K. *>C6gR`o{Z.>E!njC޴44e*0"bi}6Ǽf!k̙2o^%a!o99,ђ{ aXȘt"R48߂½ $glm}N>,/XXe^t[P#G xgy%`!P8H%4j(bP"!sL߾}{Kd{С˺uUf-3Hxի@~q$nq8[PaK:eE@ oOf6ȾOٍ:W7w.E9Kcvl,>[3KiuH'vrUŊ{w"(FhGk}MI#hAߩtP' qRvPr(({%gO? J"VZm= (ԫW)Oߘ{;ay&)a6@5"*zM"("d0֦?S‹Ag~"̀NńuD_x?>LX'o4cL!AJ]dBW!PRBNڵ[H]wzg'H!J#AhC ղeKK V.tB78HlRѥxQ2)U+T +!lMdjM (F]cK)"(aD G̤*MUim"sΕիWG4wfW"{'7 =wPA۔l0f:< BM45^16lT )@Cƚ4ӆpϜ?$s>}VfM0ڙ?_H7l!$Jsu=8YrI1>\}RnmӺud~[v /XR [l HYꫯZ%1WK/|cX@ WW̊*doN("(Y+Ne!B 4(Y|. E ]6Z\aAG/Nj Ԁ\DDe 7(%Jvx8Dծ[ϐN-I?O.Z92F]ƍ/MH*5,+Jc G}Tj.}I ${ʧIG@# +gei]lR@>ٳ{Q[+U!yw|9>}WE@ȸsx$3ʕgAxT$E@PE@:PZ ;Ni 8y|r( +@`I'2ol{jM3m"Ms$h$ϟ%?lkV^瀉U;2@>ə-F#QJͤT=xrZ hK3N6p49CūyE=dWDLCj"1F닔Glg,폰Ѕʓ˝*Ig~C 5b {R^UkEQPE # /onP8QgLȥiaVy^phm֑N\9*9cY"}aHsl{'{WT>.u;{/W@N>T9J+@E!:Ϛ/('q/aߘ1cUH=T+uxHzhDqҥK~Owխ[7:uju(@z<kUwPҥ퓿u eK!Sk4 dFx5"("U+_Anvy՗n1۷oo×>x8H!D'_fR]إ‰#`\P~fJjN8!EējժYTPШQdGoaSn."{+!R8%^СC{&?s6m?NI^j>ԁ/yyIEsP-DmɛY˕xSFʟWr6;Hs.pXx^R%hאP^,̼.Z9$i˖_`sWw/K/|GrHóOC^}vE@8,8B嵝4m[K7E 0ē6eJq] p$#<"M4 `Dɿ ig :+"/(ŗ)ŵb +Z&XHw*"(Q@6ìW/I ,#;BY,o&Ll3:-Kqb,YjU2 iϟ?)$DZmߵǐFl `hQ2z$n,XЂe4p`MD}A&֯_/ӦMhaÆ Vᅲ~@؁p-[֖#IG4ǎTēxRqEg! f|g^IIۢv칗_*UKfF-cNY߽CͷPE Iɢ=vL0!CvTR JQi 2R Dsm֒R1VA"-ZTGadnl`I @%TPZR Jf4.:th߿vG0LgE@"@oӲBxΝN<-pݦ&}x2͛b2ݻw'|2 J TK~g,(I믲zj;gHg>yg^zŕrw>F ~4cRG4^XPAٰ5)Eh~E`b:xjժ6 ~A'hR{ Ƕ$дRQ<ϿulܸAj:2v% ϓ.\+">3+EW['L4E4s o7ްg˖-aN$aDe/Ql6E"-w#crH3čEg ;3@<Ǯf%Q21cH0 @G)c trǽx2G`/}&}~Rl4{\Ӎ#i1\&y&>#!ђ?cngmI͚štr[a"PIVE@PE K!?y`5c +Ŷ!QEqNǂ&TRJZ9#;j@Z 9ZJ wtP*I۵jOcc Bߩ?C8Ӡj}"[ǎB;j(w6=xիWc?OOkIv}2E<%yqTk -ЕW^iz%SLhx]CFqLw("80Q ;S5vr5ׄ5sP? FQiذaDc _}UعP5XHWvCX̳qgr-E7͎Nrrjy9㊀" `ҝ~~0).rxeq饗JR:^TϻMvBla~p0o\t*2P(ctY3-I']BP+BG9qI&}o~?{b1pi2)#5,O("(YvEW._uPL1ac{<QaM ҥKG|޳wU!iY`!]Mp`rzǝʨk_عCvUeK(C~#\]󆈼CZJ'(O2 HV̂3( ܒꙷڳ׾⭫fr5ɒNTR%c 6_=~k/+Qko7$~cLSg)Z`!)MdVxY9"("2y5jՖgLo;pK.iW {HgUu"E`YЎfv*7V$b?݆|$ &%/pm&'y?ؐ8So,~5RtBY*T  ĵyvǼ|A',A* Xu .j2,A>mCEEL [ S>!k;qny{b)f<$L+z}_cl>8]%w(;HNۊ"dfr4q~cvMg3<#Orv\g*Xo-[>_%߾^"("dZ]~hLwINe40aB JD7RcO)b'擝&bDMH-ȭF3?N("pzkD8mߵ;ZN@ Riٴ9кul'RD< u޸rC@̡׉-߮Uvm{6  ?Kii޼yR(nD3?R *[u9{ުUh凞8`UuIENb S$b?DmFڏ1 ڔ{KBPOP#@ΜK( 2$L#N<840q;ܟy9c~GBABW~kZqT\VH)]t8~_ucKf5f{{QI`i9E ";>mjܽٞԡ(GVX*)٥(ݴi@>HwaDh4B`snFmF|*%4'gʕKH{Tݻ 6LYcYk׬5g_|YI'BZ+gUxUY.E@PE@8j fEhrLY0X_l;ypZg)h&v8ùf7gva1WMH kWcF^t2[ Q.?yfC6ٰ5I~Xm1E {͟[? #Fn.O}e?{=7osNy}ܑSp8}rZȌmڴy3fEBrB}$6DFѷ/Ғ 1"^#7*X vv9w@~`ANKZ;">O.ݒ;K\Gݧ(@<0fGv_pwj'~{`8Urj' 1ohj={?(`8tIw뭷E]$M4 \ĕ7|)@Jf=ջҪ%~E@L0^.oZ6_o{Ψ,ko&[(OO.03PT<մL %1+.%k#+;Tg-̙>"E5:dbaE #ē,)"(@GIݤH'.{%P&ڭhɒZmщIxY`UE@d\B b{m\3)M}K.Dꪰ'Nv|4t@qݕ} vqs˩Sڀ8RñͼkSJn͸}9'tz]\DP#eD e*"("غ}IyF11s^W4 o8~]]XС y睰t[{L- ״nM\/ 䱥m21v潷ߌZ2O=e-Ӱcǎ;n߀>(A ZwÂ=/ $5]P̂E vNQ 2HNW^rgȣ>*+Wo䵿>S9rpLbUNJrv5/;UڎrG}W,&̗E&%,s*_U6nhӔzۀ0A9Wv֭ŬT]~ ?HlOE|` 7$!uOoqDA&{#0F_ۥXM1EG@'GO@PE@P̎ҏlآE o⾤X!Yܹs幾Ƚ/G"~t"0Y,2%H;N,>xĂé|ޜ`uG^/jcN-oI,f͚^%Kls(tݪx/ɀDB^P)I$V\2sPu!#8 F_|aKp9^%1>9#)` Yv '-'ʛ/5 ."O8Ov(|#x9\S&$ ;Ouf,x:)`+! #zr]PL~ܶc.p꽘ugD6 {jժ"9Lb駟Jf<}Wtv q3c Yfĸ_"^*U9?ñx:=/ZNP28N(# jǎ l)! ;iQm>/) <´i,Ɉߖ__>IwumIfW~)eHkԌHsi=E +#ē)"(Q| m,9 Qk5]*\&ܾkwPw"bNXHw2Bys/`Z!{M#.+*Hw=ʜyv7vGٳgKh_Rggaп81} OM5xB/R8޲eK.; wqցHxC4mjBIrI5̾ u"]weN:)θ2A,}-[6iO?FrJ*U}"dJf4#Y4}:gcl{gT噗q,D{TQw*Br馛emiP}ݗ>,[z0("Zgif0iծk?D~̒N$ iuGPC@'ᤥE@PE@d'`_QwE ,\0T RWsE5翔}}8N"AڸըE)"ZL~0bŊ6R*(LƍgSаxH4ro)6lhr\3p@xSgq! K<=ַo_ߋ(ߕ>VU$NA!mó>+-[ H=zGa|`e3:qhQQSE O ϑa_}̙3FC hѢ!/'̧na1<%dȊK<4i1>ԫwP 'p12d1#EOƍݵ>T.`^&]MPN}eRE9㽻"![=Oy HWڴ6~ ?S5PH< lܚ$Ȫ %m߸^"("di]ٔ;|Iku C,~G.ZDM'4;)Y 2eExPp(@xRS2 +W$( '= kx>YiF3_ADՄW\J{I' UMZ`-ⅱ:x5 !oى8m|w}Uy!bk`Ǣ)CΉgo*"(h%v"G|6LZ(yg"!09^gܿ ej#)y&O B .m0zSWȞ1cU`|AՌ:8y4~#ߢ=Cl\.ϊ"YQ@m/$+cBWuA)F> lۖ>_9믿[n۱SH߬()G@')Nk*"("!ؽg0ÆE#Yv: yv]$nѢERB;a˟7Q=I aسg5 ˗-+W hQ4!ӞBA heu"Q2%F"rL;bӅ ͉'h#5q,5mJ"lxŻ )uY8PWa,@"R{I'Nϟߒ_z4jzN O¨'fC'FPM6cG );h?&V_K B úKPE@Pd0%)VuVfd3/4.n^cQ!N, F@''Ȋ$)-Ʈ*D#9&vɻdvVK͛g#߮XBX5kRN2(jԬepZ/R>C9St ydH#[M.h"H}K7KE@83yrGtҲm6.` w06l[X΋W˕i{  ȥєQmMz mv5fpW]^c-?.l.V"d4eJ2f̘tUz!9 4j怫ܬ3 ҥKywʤNmRRU(@EF_{ϓ/_~L*WݝaVxU}p]Ac]رcmTz*"|oK a|o(zf\+ }huIbႅ!lߞ$+Ww,ǘV45E@Pm "0Aرc\x$T5G-ƍKs q֬Ya} FeUUn&[yrrW( C?(@L_<>2;AZjv 7DTrYg>UjJ(mLz0Mx<{4ip6¼ӑNPټmIpvAϥdyxb@E@PE@8ț7\ݩ MExmsذaA#!+W.9ڍ[RqݑuTfR8kɋ/a+1h%dS;so[^V~1("?"} {gO==?R8H q"qpo^իR؀u<,`@6t$3uw #5$9h[OH@<FI'^tbgX|=K37 %Gdҳn^N>=lr0".mc63f͚_~C)xjsnݺY53ؙ\NcI^~I8*d .EIʽkd.^ $*˗/Tg/!vn.VLo.gyFz-9モΝ;[5Dqw)Ι:(qBrV)DfJɃ>(wuj6'm7㘪g($*4z@PE@P@%덷\ID K@Y@cG\9k& [ AٜY3e֌_Ǩ+V%*QY˖k\''(M^={JBLr嬊iLь{kfM&+w)SLO :@~F4 y^oM:.5mT׏Thmw~'m9d˚(h"!&D7b.3k&*K:[ qoϞ=vzxz/u .ay~?N/@zH'-DeiRex9j"SܹOEt>*'O<N,\pZʦxYv26)ӺukE,Qc,LT,B:ҰvpZ &t Yk;)vX+@&Do =ŀ@IDATjO>}o3j/%#ϦnF 1YyFJ9=_x>S`o{ݲuG|2Յjg @ A"("(@k"P>Yz|VVE։:y )5&]<&{nJz "EEtq"}GeNaѝY%Jm} ĦLҸqcn-OTpTrgÆ ҳgP=ѵykpҨqmk5jԈH?OjKqXo@x(N}l&,k8o|:SN /ж?tBcHW }t3ONB6F)_vfRmܺ=RE ؒæaȚ~Áٷo_e͚5~U7 ͸\ҒMR6$KR41iҤuA2&4@l'k־\+v̙3aǥKJFdĉn^rӭ(Y;wD\ 'x>s/(ʑr[o޽{GkOaUL P8,F;#m۶]޲}0E HhG[VE@PE@HGX%'!C-t,LxR(8#z%iQ߳T ӦL[6T(wJʲE꒥J Aʨ7x vQ:fJ:W!߰af Y*դI= 8>TTI.mNR+vB,cr-rUWY"cH4+PW@}4>\nO,[Vi֭8n|TTYHKmYlbdc~X=I',#a1YӐ_~&$8T2<晁1|j"7<̒E M9IIy3 s9GYbgi_%n C#io;Pʜ۷1΢4U2{lV(A< 'H(:(x %sDR؄c jժYBc޼yH'M-n}"9ؽc~1!&r)t6xPXb=꥗^::< [z GPPa{cEA<9t;mXU9s/^ġ…)$q "xԴ"("(Y$3fث!rǿ DE!|۴i(7lG];t<(M:DT|C n,nj EBujե)emhX`?WFc*%IH1ȆhFU"VNQԶm~U)yl}8P"YMΑG 7 z|dd )*Dqi mf}\O|2dx1v6 AcѢEARo?dW_ʥ_XlR#=4RI;w)(@B̹D?)?s;ӎmspl:%"(mٲEw^;/QFY‰KM4){4hF< m" $4u]5>C իwU(Cv 4(4WtWNwsyRzu.VL?~.{dzKXr lvnRFM𢖒? eoPۺ/{ rR|y]zU: ߜ1+ ē-5("("B*T`\D!}?kY$)e1f#Cju s-ᤄI={6ɛ;xe)1؝?$5n*Q8IS6phwq ؼUk)u2gzEQߡsWӗuG$)iQM*egE"d畢fI4g,#BNpM89(G-5Ҽ(X>46/>:;֭+Æ *bvObGMP/J<9xE@PE@8:4Y1׮]ksֱcGӧO($t'[48#KOYV!f"~u쉒w8JJJ)"5J&N8MJ}W_Hˋ[JZ^r5D-[G+ӏ?2ΎYaRN+JMZW`KC(=NQu$g&Ô)SiEJO}1׮SWF|{0ÊQnܸ1D<9E'Q݊"nݷFF0*UXʕbѣ)>N:uHҥX @pxƍm7o.T!TN 1>ҍ:He1nuN(O;%KLtBgٲe|yDvt_E@Ȕ@8y5ejHGBJG/Yܬ7NVS|aի˷~kU^CdR9)G@'s="("(G [xHWZ:e+W?C}Q4Q~Q?.V5̙cUR [^Ϡ6t41fNYfϚ)M6yY0c$yA4!x0r^ QYe!e /Ў+<8lB~̙3  ?z`Brz]( /}&_}>Hj׮!zm я ȃO-"46ekEq!~3k2^K ($+|z "("ĉ?qKʟ*S B᧟~j#A>}3,zRXD~<^cѱFvsÆ tcSo'k.H>rH;KCho9vU4 F)hm!z-cH>/~3ΐc+md-eff l4+&=Ҋ?4" fD},UJ;q]8"(^䛡CJm[:8p[lM faXrQR jD&󯴺M+Wo#5ߔ/q:;:!qK:O[nR*qWs^q,1%U[ȫȢ/2([ Z ̋=#P,{?*QAQΘe|!p<`ӻQ礓NrU#y:Se֬H<;vlDmKH,n+@@'RΖ->`Fkf͛Ql77`1%ḱt`H'9"xrdp׳*"("p|eٽw+_ׯo#ӐgAo^9erc~)ēm 9V'O& }2.N8MݳgODlDGT8vty2ȶiSؗۗ&]mVʈJwS|! g32yDs~~Ϩ Ĺ򎳯Eү_?t$^әfHj~q:eLrIA8mnTB< :T0D:S{ E@HcvǁXRorM'y#xx!纠~ڕxҮ];Qcl_8LfϞ… wȎ~+dKNSM:_ 2Q^x=zذa=WvPsN;M|(%bϗ_]w.MUE c;G/'jذ%C@mOL ;H]`U׽% л.IR(("Rf~" UAATT#AzBBB煷n6&ܫNyɔ{=Wk}S*j *>ZCpYdCK&+t+Whr9D~EP[acT*aicK2Phn ͋ z$! j[hty+VHb}T'(7Lv~$dF v`I{eF`F'aX8%KOpzBdÆ yr$1oiKlҥ,ǦA@YD\"Od[7; G @`R*VRAQ+@12dV.]@=#)('8a_Ao`8^~{8q\-ԏP MUV#"yy/T6g-pcFҦ #Ȯ5D<O?aÆQlPԂU%2 e׬L@X D(Ӄi}];J =r*\;g8U+m3g؍~#GP6qEZ|KFapnsV紋$;%>jkkݾuܹ-K>!$ҦKOŊןgo$0aضuT0Q%uӦMG#G99Si"@Yz[`A۲eZ lpgȭ߰MpܳgNk-tҡCʞ=iBLDԋ$Զ'FIPnĉZ-c $Pd(@Jo \D>%ժU+,%U{!AI$ZGtRL엍`6&:gE\r-hkI QTqA#J3C?MAs*_j^n=~Aׯu[#@4|-3g,l 4(i&A 9-In|?beSn01?v̻`F`F p2腬1xB#?>5o\6^:6G&d-YLjաp{by] piZt1=3x⦆Nb7F6ᅫ{X 3ϐ&. qHu86kFI޽;-Y)? 7 @jիTAYdG%EVZ>׊LX|<33gF`J޽{Kb`{*oce&R> #۳Bp Q2(K *(- ɍ7dgē"Eߠ9NȠyW93Dw-1A|c yA 8-#G`hTOCBD3x#0$1#0#D<~>"[/DZqP/o^R%B0 4R@Uyfʓ7/͔FHQ;h㺵L:O0f(ںyT -n 2HuW/-'dVKǎ(Mpt-P6~xilro(g;8߰o]T\+ڶm'Y3Qv!GI'oҨoJ.-ڱ"ӌ#eR&$/%r^HFr=Dj1chPBO_BQL>_}U:|]uɔ`Z #mnQ߸uD ]F-WϿmMWZj^g-CON={6-ZH_'(h <(5jFXb4޴ ђU\ FP64,jpx y1/`FM_2RJ9F@Y/SFOv|״mT@>qfP5~CIVq/YI'u@AO~(I^$y2tޠ56FiҦeen ҿ޲*Uuj!- iӆ.\HP!J=Gk ;#>H'V4#D?L<~y#0# ̲6I(Gpx4jˢ'S=;CzTj%*V(Ore -EAgRb"2ThagyFl`_Mf9 2hUWPߟQ(p,Nt9p)!f={A [,,\faG ,ܺG ̙3KB!oZSe(۵kmRB 0B"`/ޤ$rCbg8?\rΝ)r}[!%Jl#pH-^y-y%JF-}mΝjVxᾦ}{qJ,i[S‡`|R£bF`F x%| M d.L9HcbxyTFԲ-[PBEK]I)B8gh۝A$e~c8̤Pmă d M< l.](LO.^չ tEP֬Yȑ#uVj9 B6`9Ʀw};,7W~/] xuLQ$Jd M,Ҋ,=6F( pGى:]BCyNh֬YuTPꃔk(TUx⩵h>yRԋ$۩~_^d7ߴƶ/fF x*]Vp=Æ Q֦N*Uv*K"p{mmA* Խ]fSX5*ƃ碓wv\]Qߌ#|ӣmڸV_n j'ή/f;RVr ܹst(-4wߦjKK-YFQ"tyUюhٲ\&9_A+q0#0#8@M$>Q0uY˗DPԩNp˴-.3BwEаDbnu Æ  :Ə,z;aģ0ʔ&-_ @Vrc̈́>3*[,}7TjU ;\tIwoeO?Aq=j%+װ“+byp]ZhA I&Q&M6RU][Jf]z( \u@+8 . k؈{}@j) !z0!UɮN:4yddCЬVZ|r.^UZT` φF`ڶL#AJ]x;x𠥮pރp_n|>=y8ɛR?܈`|\8G;%KhW_ӧ햹3ӰqSN6]Ԗ.?baevН^ dׯ_/ xG}$zwP:t"Dq9#D'LUy=3>i !AF\@ĽPelOE!ܻw/mܸaU;1̃/f]6-ne\UY9s{Y6B9˗//7Rp ~j'6@y`| Dn޻OS%ygCoŋMJ1l "6~xo]mb^<мysBSQQF6}z} F}N"w ( W'oO}$};.nO*+VS2ޯF!}x}ӭm@'>#F`FUPRgܸq"X`pH/m۶r50Ut"TP=7 jJ$2tHdpF/PUPPe%A;vt X/@1*cns\ptgG 6] Lo( Iut15+RZv ^۷oQڵDK(Q":, \xADvs Q$ e;vp۲e -%]& ' @ߧ,YԩSO>tEՍ7JWAiR!&Go DK؏@h=sVT +"N 10@ ##mO}ę] 'z2<'NaÆ9n'={ÇѣֻA^ϓ B#XΟEQHQ_j^0>~[TUveRq= MZYJUO7;} OG?m? ]${!@98ߌ C`<ڍe#[8:hF`F`bAۆ{FtȐ!RO>!HIkfʕz$L;w{Rٳj'>AL#J넉rl#jTxkT:mp&Pa%#0#'NDiS&%ELB; 6ȬK.i[nҤ f-!u[-7^/T>DZp+2U|nѴqHVjժ2W_465 =z:Fp 1cFp~ڽ{$ԬYS*L'3]ٳjpod"XyV) fv^um?HH;C%J'P0Ǐ#hPظEr5sW\`>J$m?iGA(khn`o!"a"(0ii u@aPs\޼y udu DE<_oiqɒ%M@ZD "M6= ] L:Q7#غe35숔֭[҉"=Ԙ@uP&L`Sn׮]6 ZgumTY- ^R(Keɓ'j7x/"mڴj71߁wblUD(M>=%gFQ1V< z&۲ 0`F`bӤ\A^( PX1[i +75}./7x&W/aՐ=LD7Q T V{v-5nx  =:~x 1i' ϙ3gd6le#zf3s} d2QBlﵢtO)շt'E˲CLu(SP!@TpwunLtilzy]D )M BOFS>F0B״R2]B/Po7nܐ8\o1/pB\uP-4iX,{U,Y,|%y ʕBgt~~ъcX/,e/]0#0# D83 QHk"3?[lf,/oԨ曲}b}Fd߸~gtZF B,u)s&®LR@q_3)Td#{ˬ(Qn]"  a =fp>69 *JfĹ)iQBxkhP:qeȆsqyl;wЈ!Θ)3hW\WEFuPPrb}sn]"Vx2(קOCttYeh”iB:1=~nܹOAɒPb3#0q\cWe(]A6g-/ݻT @[qelի U ^p(ON\ q#  j 0=ގtTۼysuNAh1 hIo#H'ߵkפz T/>R%|ux0q-ۿ`F`hE|Do YP{Xsb~mؤvXDgD$፫pQd<sAgΜq|R`A; Wzk(u ; dUq{uUmt>2\vVa#@&ek`p,U=  ZڿoH)2J1UV !6n/4xw/Cd#[}ݺu^Gi*oF:Q8"~gT0 *$d:W21mBKoȮŋMPСCR /zB5T֨܏~Fգj1@ACR B@>@ڟ|nƲEŋej$I./j;AH@ !lmקѳ 6QZ JA&Ur8~}F9\Y YW4"hfc#0Bd $ 0Go C-Aرr;kז*ݓ%TpaÆQʕM ʮ]zlr/T+aP`jڵN:ٚl#w&HxnZ/@O?Cw֍< @|`I$=zi.(apCx[{ Z05kִ%h2rP=Tޔ3# x/~F>Fݲ@IDAT`F`M%u PD )rev =|.]ȕ;&kC@k}rUJ.w8,9a&gΜvpq\㏩~jS)12 &w,,,̖vmlɓ0q-s<DKCH !c m@֯w5YΈ/ЮO"mLPFŪ)(eb:Ȭ~DGkVˌ9sP  RrٳWX.2VL 2ӧ=m}tO PE68P׶m[w =b]rQ aPMB˵(8- ‰7$wDm>DdF` aJPR%w G(;*nP+Qe>( 1cPt͛̈LݺueTk&MDSLQ;֒N@G0qK.R" Yf~M>mk6Ȩ (QB>Afs)&A41c$Lb7xҾ_WR*U$G=i)3@ 2Ļ`F`F(̯d!|WJ;DI ؽHj:7h"o`3|ؿg7Y.y#`'i 7fpnv̬dɒ M0yRڴiSjܸ bnupuڿ,Mz>Z<' Sx͚52O˗k=2M xPH=ՠ@:PN2DD\WAںy5Вŋ(y eu128&QG_Ǩ7tSZLE!(X^=ohܹt!(kE6"7W6\̓2~T*Z`FtIBJ='H $8(~Ukذ<.K-zt~HQ$HlQO/3@D'qG!3#0# $*("`vGYժU r(RYa=ޏ7R Yp~ sP-0#$ɓ GY{urè{5.@ T3D2!%[k*%(t9vS&dIxGgB#4l Lu0#0#0#ؾ4dor@l\PshР}]H:w~13H˗JúZǞBr 竪O .h;wAvBNn ZjԨd 2^z4j Ās D -)ϓA6IG lĉ(keY)Xsh3ҬW]6Ο?,ӿH'cғN9`$pZ+[J~2Bx>>#&E9۷/lw}{Ӝ3!7"#sP:J@4ȩܹ;FPHڃ(gF>AYYf?@PICO}UlYۼ7&+0wW mdtp(4oޜP*ט]BliΒ`F@JEܼ,'ņ ݏ;V*ݛQ % %23=Î5 MfSjCoԩ%|4tHpoJ҉u%m_<0K>EG2Dڴi%W_u|IkN½>cGmJE7FPDRE_&嚂G0FaÀF`F/瀶9 DSNRjSm'#FSm@07VP˃eKFFȉ)2Fsg@1AN/^f-}#PߐVj * ;@yXma{udC͛7eڵk`/B'N%*&LPspP<ƍK87m8b@( uuy[ph;3hmՓN0_hQ[s_&m GP̯ʏm>8k7u,Ce#|p<$F`ۑꈸOB"DN. j'@O٭[7yM*Tk۶- >ܰ+N:G(1#}hB``*Ok ]Yo-ZGm2]kʸdyJUk]bQVgF'`O <F`F`P}:!  (U$9Ydi L2| Kzd݌ lX2n8T/^:D7n IWN,J֘Y[,cє+W.[3Peدxzwq.㏄L1e͘>>qYb\v ty!ü`hAѝ_ØnߺIׯ#|:UzMzx#0JxvPΙ( B[K.'03">HF xJ1{ֲdB *}xƻիWHaVAh"Q~S"".Ze'OEFΟz]l̫F`F`^nRB0H'3WXa9;wTKiٲ]@;i2 5(GsEJ w8/|߾};uR01A!N2-i-[l 7&@@$s̲v[!͎zfa]v?yz2;ٲe'D^f$D@ 22rw !5(|蝸ilR)o޼r@s/zg3Jᜄ#Yo粺׻q|DŽT5k&IDeʔFmH'h5AU | UL ڗ.'0^\6]M_Bdոp1V*΂CUJ&V 5a#޺uk;vXJʕ+mwq _TC5 6+ Qf8Pbrh3*?Cʕ(믿h0B5A1GkAB;38~WIѶo-Yf( 2.]*WM]V-={Zwɒ%iڵ.WX2d@u1$Nй^.]O?r1 @50,vH'I1Dߌ#R!Zi ۆ˽az2ȇgW+҉: o-իW@ Co8'Q j$*lٲ{I6f7y +PEځCDok  }: qt3.ח{pLPB G9#-as{6oެ_pʏ3A$ؕ+QEOЈ0#H0xW5SitWl2ӧ 8PvI@YoРAy%.M/FW_CUm³?h8퇗9|̛'@B4 H'O>A2`F`Fx'jHTU'Md٭[(ǃ2U m=/ rR /_~Ξ9#XݫW/o)*U*Jm@AYB*xcު2ǀd"ZoP (12Oo Pp@,ˮ]$51 = !AE3gH1Sҥ%1Z@@z倰_s ;ر#Aud&ufĩ}΃tk.7Xff8WqhѢlrJ N80fv!Tc3ȴ+t? }HĹo.b jڶC#^0@#YQFTD ǟd&1@#,L6ϸ;Jdɒ9f]&;3{,o273w޽}]tH'(0/tk8@ɼز~ n24y`F`G HfLRJ9oذpZGce+dI ̙SQ'Ta{=s-_EkQ ԛ+ 3gΤʕ+2 H@@|{bP{XpݦmVEJfYGl[(~ԑ={~gIpx`WL-õ @8r[ ^UTerPp6Z%8} ڵg}fW[lkTI&l77 l:w,WTdItZn-_\etb j׮mWVqe. 8__=&W_r-Zઙ| QF`3xGJ"Ў|2aj߾}qK<%+/;f?'M>=@kڴ)}ؤd'm704P8a= 16d͘.norDeh6mF`F`| `Q@/PIPx1R2+k# eD(^Tsx&'|wL  m+Aʎ@իmBl!2o}1P,md 1cbaޝe8v(`xJ>xjp*8@z~Kj֬i^ۏ9R@RAƔ/*hǬP_ô팦qvZ<>`JC_h"Bǀtd,oN~~܇ѣG6AE:YJ'2dapIK'~G; ̪:u6$J))˚5kO4|y?XB=/ rSti f6q9}A/J"Le[n0@|Axy7x^%^tn5gM #0qsТ.Ը A1~[(S5#a~=#.x'ZlIxVJI|"AI["Ϯ ~t3E#?ŽdUt͝=@ue/}ߥKҚ5k3"//oի&ܖ`zFdĉR=qC?|K^w++|]."ۻ>^*by(vb$6cz6Fx`3#0#U=@#` CSC6?03sk.!lm%3@T㏥ Ѷf+U8ҧO/Iں D)5|p|:t =$LʂސP1Ss9xA :0IYAnM*\$znp?BxgcF=/ 0#0#@ +≋?p@ʝ;7]vM,hÑ.iS`  \Ύ'w!@W@>ʝ  NA)DO@_(57 $_128pZ >`? 3O>BC{&NAD9)V݄>0,\~D8L|?:3G6{C 15z>JJrA@1"Zm SL ƗXV/?j=H (hpn(QBS=t H)-mcI&Qvbl>uA^_6*.58\;ܾ};5lؐf͚phAAATrQbúdOV|CCt84qX7A*Wr^0@|D%BgxhEp \ii _|,yrje.{p/:ST2V7v#G4;Jw%R|۸qc{n޽s.TEAW/RqM9}$}-ZHEǾy\~m[ɓ7I'R^T0`F`F~D8.,!gΜ2Xl; rģGa/%A<1n߾-VܪϏ̙#I7nTMwR7 ۊJ]g&3 7J5jr5ID@{Avn"|YZQ@DI?,$&# P|,lƌ,<& .PժUf͚jFR]'d͚YbeMH'^l*_%$ .t~{pN<ḷlڴɮ?uX5曲9H+M>N h BwC$hU>?}>ꭁ;r2 T%0"ϖͤ-ZP(ȭYZ۲dBe˖U3( @Z9s,R@-CCGFMހ`|?{=J,-Y( ?g}f#t ڢ(JŊeu֧iS&kw&,[ߘ+eo G0Ob~9#0#0}AaaŊ2лZ8XaPȑ#9sF5ց %eaOd lTG9Up7SKe&Lrݺu('8Pٳԑ6mZ‹7ѣISS%ߒ,ħxӘqBB}%޹.?ҷkIJ>3?sqU5 .UP2Q.JL>Aߴil߿_JZچ*qh1 ehƍ'a~P/228w)47d~#ʠs=X^zޛ㼅ʏ]ka[8/a Tʗ/OI׮Қؽc;OFٵo/2p H*gE-(% DTڵkOmy'H(#|b<F`F`x2 j28qB:NB`8&ASȸPКr>ExۑJ zd Qt)w^d7ߵk$4dڼyK$[ wʀmرcJ(qbj#r虅m>{eBf+(u2UjB2⣁H.'IO&L t֠r7hX..U$tܙn޼)?Z(ۃZkpĪ,W9ɕ % nj 3 0zhY 橁ć=J:Qb'Qp7NOWFPJ{ey}9xP@+8 >T2e$J\%&Ơ|ëQ̯8YWlx#իOk׬@:릳{8!@lE yeE;[>Cӧ 0!}2XZW={-7fA`ɢuN'f;J8'OR۶meIdNPKP(m/T[Qzwxg\&2a˗_ݺw0yl#K0$2#0#_ à ڵk$iafp.^X/@p WdʕPYB?MyyU ~Zo-}Ȝw=>ʠ8t~M,ʕ#y*W7#0 'W ̘:*WdG:A#<ׁ3;S)SJe>OaX>ydٳ$i<(Ijؗ#ԶiFM筮;9ո8S#`B*DPg:y8<6c7oKۣG };=2@@'qgA2#0#w(/D YΜ X1MQ@ݻ)(y !ԥroVAФ|!`޼y4aC8TGie@w߾}iNBj⎑!-b@UO)Gׅ |򓟟 oe=Q p̂:`o ܺLiS&D" d3Bw )JD լF O M>n~ƙ*9'H{~}mA%K{D5d /JfΜi!˳yw@>B֑qd%5z1$IB(#'Kɉ{H &ms+L;.XA߃ ^⾌a؝ eqC֬MYF*0@|AQalFc<|%fqϳbxމpSeI|ԩ#C @Vl!L<a| oϕ@~xT>j;J%+J'm1}1&AC@ށF0B'F2F`F`(!!eWgN$"! (\-PI_o#Pn=LH er?)iҤ2z3;.2`v2(+_3Jڵe md-8/O.^HW]쯽FMYevь//zp@\R>PK=j(ԩSf]:-'8^ePn 'i^Z dž eVwdjԨu҅fϞMM4%iq}k]rEދ C68N`,0{L%h_2g ,LqPf2ѬY3AXPPr = ^Fpŋ<"@] j^υyU-s@1)riG>66m*a3f̐`VJGb#,7gDXccBxߌY!۷$NJwF $`7j֌T q`F#=au1#0#0Er圖AFw3A8%JXq$$.#pE*>HG6<ޡX3X\W*bvʕRTRTp*GDUNmA8H, ?  [‰"$ O~XqJ/9l"@ Y] kN PxJ!a(M\ۄ$m۶IJ:e̘Q*L SretchJBZ>Ȏd'|\YVZjr|hmA6@ CTX7vL2t1 L<R}Fdkñmݺw !okI'ӧH) L5ǡ+PFP1++Eb~Ǥ/ԙ4ZV h4#0 #&ϧe*pP)۷#KUPA޿}5ɵWRNC*p;F=b՞9sƫ,$ޛ<&L2@"y%QR Q*I'F2FO\1"BQ ό`oS\AU{VJjF>x@.W$ꊕ*CSDY1"P@,>E&oZ( #'k[УGY׮r[,Α#ûF 0e&k% E#!ēCeF`F 6@sRJ23NV8U'M$3Qd7hЀP263Fݷ$[7Qμ)ߋv}(_|N`%T${AŊ0 А8#0`3tx#0#0W@tm! "~ᇄ pk&ǎmi} W^QFW q5n _={Ç:w}jԪ>cg+/37pfP b-W\IuDm(9sfp[Ar}_ߎF0B'F2F`F`hADOYivYXwVJ`P"` Ǧ*1*S_V!Ucѫ `=[@屢yr+H)y!(^D O҂ $ټylr +o a(\`YBڔAt) + @jIv=&AyF=s{TqQvp#GcRΝiі_șOLŌ@ "X$xbx6m5[mըE}h/ ןF ,1oO>9s~OPO˞=,|ijoPY&DRe`z"|pl#OA2#0#D GBHh 3Q6̂D!zPFOe F<o"ў*^G6J4Jh[u(͓vO3R>0.A8QBJBQnG/,SC?ĤK}$t[YժUiԩ u ēYf9:.j !CȌ;oF#F0[m[T(BVd &DKJ4]/X`Sn3e$y]Llb$^ujߡ#ȕ^͚Mmߌ@@dɞ$OLTI#{gdTKamdZb.q]w Ȉ( Ϩ *+jV~@Ro6Ȓ% =~Ja2[lz}؁*S[-{-;>lz^0@|Ae(ҧOOH}Nk{vVD ݻw &ȲvGU C )EB% @ݻ2qϒ-;e4iҊ w Fch?1 G}VQG@lהGja3F`մzrv"JZ57$rimZ\oܽ]ӌ#O܆7`F`FGBA@dA )S d錽,^d!AS-//#J 7PnԼjDvpڵ*U&tyǒ}\#CD)e⚛4_^2|#peD@ж1F.]:uhR8'j)m~$/ΐ2/ 1$5jԠ5k JyG@IDATpעю;l[6m|\շyF`2{e7H]v% u( a%#Y!fb;N:$j">x$Ԭ>\Io&ƓH#?n߁5e#UҤ S \ޗno֮(U>Y^NyŘ1ct+V֭+̎w,OĪڵk/fe9k #ROٲe#|*!F&xo0#0#!a*y  wKBbը]8G"EP̙U@ݺO5L\h[] \V51#; p,gLm7fg%E"$QHRiBE$ o &4(2 <:>ӽ^~>^{Zky E&|rHn̅#߼(1#y ?6m3jCIA-@dBճD۷ytdQ &{$ތ~"]nWE lڴQvv2 O>9h)TۖDk֯_oJmˑ-X0@\dl ƙz{^Jxcu"$@Vus%v࿥Ԓ "%Wо`qP;ܵ%,m"s̑nuKe̜Xf1)FLTԐEHs饗 DB91'^xvg|(sn(1!KE@H Jő6nhUs|M4mDŕed<HԮzkXNywH?,kUP~s ڥE@HL Š"("(@@#П㜔;Nu ?g%IRPC׋=&@ZRJ|'Ȁ"͛gSxؽ{Ll *,{ҥKw`RmڴQnJ*%]t4lPlHjԬU;㵐"(<(ݧ("("$}ALJ&ja?ScHQ0PN4RjGF^@{"RZx=10rk9E@P83j?nYƒM'eRݱ )hF;Md&v~Z~FETt~rwvD:O>\iәD*d"ͤ& :x!v1VeƱ:,1dӿ;w4l+?P*uԻtC#, WPbL |(TzҮ]; ԘSp'n%5uǐ"cGOCiݺԨQ#Mp,\Ъ@*"ĉc֗3gNP-G[YT=[bE xJZFPE@PE o'ٲZVN6oTO<9&0,˖-[hB$,#DL/#\V?Ru]P#̙3I9!tMY6Go:O02ohҍ+ʕ2k\WzK2Ki9E K2{:Gb/7T-jե]w E`PnF&vi{P'?-[̿)U 7n,-[M6NZw}P}(4i7)SY^5k7FAkU4?#=7;N"KƍG/[!>۷'UG>kz or|F5;Z/+ m,5֫ ,CPȑ#eРAvsԍbl,gy˾ٿ.[V_{w~VE a &aE@PE@Pd"pC W^59sieKN\ʩ(=EɄ6={./g-[ȯbǕ/ͺ(eˑ-2D,gwc8Zj%cǎy\B*y2oOU|R=rޢۤKE@`߾uZt3ϔu~^d2I'`φx@RC[}ꩧڵk켝={%y8%9r85QUX|ydQ jӺsrvpRc I1Q+Y=ɩ5'XH"Vi#y.~C9?J*Y駟.p2dH(ik=:~PE %E@PE@P2m;wKvX5yx&%O>DVXI2e]w<2A3koI*9p*gB%%T) kB3=T+"pgv)Z0|嗖]۶m:NI?~KzaAevbO ?"$-xRjrV#{r zc* Qp2I'6h;on޼YwnIEu֥xB/\wuB,F%駟Gy$s #s<}tB׃Cyp*Jkc :ƍhb2S>t_)ݺRW4lBR3M/$#'#bEn%Mdܠ<3A(фA_nپCQ0a@4A-jƌ6/H | wu&Uhg+W*^~Eڿe»ʖ*]FJ ̚b=p&!$mFCTu +W< Y}k\^PHFH@yÆ ](o{߿PB5%s+VLM&o񆽆EH9-wJ'C#mQ?ܹiBNE\[KigN:u3AҥK;w5n8y73f&MM@O 9DPmxrlzw"("ڽ7Dc`R|wC.ܹQɗG6]{ _Wׅ -ͤuR"!Av;[oeZh!_}%}鱤ēGZ"9 -+"("^`gYlY(ĉ Y-{E:K&Gj{#];w$T0ը)w"σdaÆ6o@{'t޽ M7ߒ1z"(Gٲf{DӞ:ݻSui8 q2V\)t<={U\ږ^(+VFdϞ=RbE>-ۺuA^# *8M}ߩ$Z ѯ'$ vfrqxNK/'|2Ϋ'RR@nCzf;8m )u{#M"W\qm Ao̘1M1?ӶWbVb ~MH_~i6)?o`bF%]elMj #? [)te{; c{X.-W_mSBXSMJGj+ߘw][%,&ࠑIQ!9R z[C`J UYO U3El~@ Eҳ{?HPL%uE@8fƋg'Rƿy|-Íox^ 7@tz"Oicov9('} ] -rFMM8Y;Gv)ST\޾}{.Wƴj`@di޼UgFbYiՂtR1=n-1f3ݒmue?/4mMo.D8S F)'˨dS4TN: I^-H'^~;tvP+:uL2%S!qZ 1)*=7tB U;vիWGcH،I1]FVeg]"zׯG*"("(q!Dp̑MI$(iӦIA$߾}grD~c*T`'͕FY-8BE5I% A&RSEXCJ.3fvҥKC{q8h7o^sRDcw햭;v$m$;}.ӽ~Cg"A~AvW"cK_.tx:ShU2OuE 81J*YAoƻIG%ǻm/deiVZ6vڡzp_Dg/dn߾88񞒖1lR9*qZHEt"(iB@'iOVE@PE@HOH낆h7}%*uVqqEe^K.!%RVCʫuE@POV("(" 'N3Ȅ&1sA;yTN53jE_~eX9q*~jX5(喩k h\Cj]ދ^bMgG<ӥwruF7۶m,yT>WRֹBW믿.sqvYn{1 $|"go[g|=gtxmH?L"4m4C'a]z0Vfǽ:]>Smr{LTHtAZlV^~0+a븃('@MjrJ05j's4x993e޼yvӉ'vŽD:K.$D:a9u#))(f[吁l:7G2 (%bPc#T/|Yl!X- BFnj֔ſ.Ԏ/\#@:h8zie dU-d5dcw X:_T XV7n"R믿$CKA>èҪ)"dJJNE@PE@PE  M&R)vp8E2&7SK_'o@OmH#̄N2TcR@:yWB)E.unj#Hqc8V_ֿ>zJw{ϟ'Wjhן}Y4h.]Z `䱣SN8dV="zo&D:,8=\S?]\xI[i %KJUΒ-Ccޯroߖ~EI$UD{˽wuz,J,ռX?sR}UM:\zaB "͡K ۷?~6cOeT @E$SsYjT^'j#Jo|8=Y:D$bXtt>uNo47<^yՠGgctBX$/DQ蟰9sy.<.`E(GvC9rs&&P7ر)U#7ֿBPRSE =Pœ@UTE@PE@Hy 2f7~I5k֤x_h+V,tMVKx'NL{'#])DXMP Yӿgq $3I)S(xdD2O|<NetS\]\mN|rs~dW\qt9bԨQ6;q0s?TS]]v8x@&~5**7Gx;h\(]Qb `a%ڷo/s sHn٧Ə}*<\bҼ<\W)VdEV;DzAyWOyפZk6H&~]f}mihϟoS|ySxGё)ACo9紪P2V]nԨTP~#gٶ/+[m3 [nAƼ~'(?IOR)b7iԙ@A(X{=&`=J:ueQL$8Qn]F Hi]G6cmeQEhJ'Ez?0j9g6U; j˽dQ'KAlP>sftD/S4k~GiyE@PF@'qCE@PE@P2"f2#_Bs?򷑴F#Ƅ*N:r{U3BLpQfUeKu"|AylyXēR&7GҵkWl "(G̞F:!M>=DJA)As=M:XKz/(8C%vI ᅲG}ԭZ&o ŏ?(}z OA6u8'H&]*IAÉ'8[hB''۷ooX5k.# )}5u]-bG؁G NcNpQ,YҶ˼;!Cw^bE)l?5j԰"?Rf; ĺx,j'wBw3%x)m%$s ͎;v|2f{Ri>?d74i*vo3g'ˇtēZ4Z.뿍 |w3ϤY%Kʝ'K򎛢sf͒UVYXjn:ǜ~F鉘H t"(q ē8@""("(l&zjQ#LjH|뭷.Iao!TO/^lϒC`ؐWۋ/I>٧rG3+n+U$[EÄkM#kD+$)ݦ( ٳ,2$9ԿK=zyM47|ڟx']@Not=$Lh!IAuъFWƐ,^dJ.#W6꿲F@w <[%7>Cy&5bNSReiڴ3;{P?Wl%mQMMn?R1$H x.h}>nY:.E`l1)74I{תߣk`=x #\o*oKzYfQ=cv˯0m-IS-|y{̙}tx)ʀ7 K5EH@@'G·נ("("7zj0(_譔\ݍ^ ؊ſIrjRRHQoQ ~ky-ZJre\f3f̰&V ǘ( "0Qxs',"("ːHP0蛢d;g8>q|$)fbɥD %J9-׽ZQҺڂlڴi/ zyM"Lp0G$+`,oWPBa s̖Q#mwLG\ytC_yFy2J*QO"K/d'^Բ섐➓´+WNԠ!y}iٰm.|R@г(6̪nH}Ua<'tR Rq,aÆ~!vĀCCUkĮr͇>{XbxJ萷G]:g' "9Yf'} ۶m+Nh3u%bGJPݻw#%RM 3ױ֤M;Y|Q8eKI*-5onCE'?uWFn6Dαd1Iig~΄sRg4‘;3] gVnϊ"D kR  N|PF Gk)udSQsNĶcǎRNx)ۑy$uŊ#b4: pg϶F?#Yt>}%&P]BEqzO-DA$'+0xhԭw̯O/Ig&K<`6{6mjEI>1(?Bp#-)(أ/t5ɋ/h s¨v1 ct=~ W7 M#Gk6tL^lJC g qs^z[)R]Qr 8ڨNQ#U6޻N9oZ1AY$muym>rf1>vt Ѩ42m -9u%g .@@'CPE@PE @EY*SV% =wy5~SI"_Lf>ޡ \ef>xo|h'OΝ;?nw3럔g3Lr NU&]bY]-g"( 8IEEvim6miQhIO'ڥK>LR/Z,ו^(< /^8/[R`rx(k k@W$HrƍHb'ԇy,#ӽҫy mh{*KCZv*7nWq*bk1w\i߾U"@H^{Mk ԋA|"@ֽ\lR"[ԖOL֭k=ms }#:H)H3GILQ嬪һO_y<׌؀RB^Cdi$| ^Ñ[%[U#FwUVI~uw.XQKv'+|Jժu'9cyy[Rx'FU9/v`N} =ܓ뮋uY~jy }2G=k(yiBL.05ߨ/_M3~6x?g':Jճr. zRE@PE@P )@IDATDd\&H]LsN5ɟ7,yE e ܱNʳ:yOa$oB*&Âlʔ)62IShŊ~GNhǿpr⸻ Óc˔)cE!x6&/Ұ*Ǝk6[oKRF.IGj#QˣW0߿{T:~ V\/zVCtPbka0xkwYe0:dP{Ohx? c?=#Jg?~3 ڈ M_V1_IqȎg%>SLk<)xaC7}خCO("("DD`xY5DŽpP3;r(0fW5YM! ϱzrPj#63T2٤ܹ좺4'(a^' &h)Pr9'D^Ptw]*FߓŋG`);Qcу*aܹvK'I'R]c̙5CS]ʞ``ݺu,Tq/O;cdݚ6]ZP*Ex-;]n,X@nL8-Z$cƌ<ԾJ+v/:7==`Np3z:sUQ 2{; nM6jLίˌAqZCf4' c acy~cÅOz^E@PE@Pm&hp!@`yc}&gpt!˘4ϕ%VYݟE.r:9%|Mw}6mc>4,"뭇w?Q8`]=d L2޸wURtFticC n=M1݂/Ҧ"g;jN08|ݱ,&?ow"8=~~O9W>Ag.:^eϖU4`)D?Cp&?%™J8q0)x!!{Ȑ!6}]tF=e 1%9bAc`i*.b,Fj5N8ݭyDD i1Ȋh^f%J2NzYe;vXGRɒ%eРAWˠ>̮N֣7e_1b)SZs]-^Hj{-$hrOPsZR5/wm|VaؐREk~ ,w87B*$bFI?=lth(\pR d dz/$y1˜ٴݦ+ȏ/_|ŘQ9xq 3뮻ܶ,!nERn]5j%B菃^/3Rx˗x:P 2"pJ~'QwDR|GCMkǂίC 5j*.\{$6%+te2J9 I(d>lı,$o=T$EFxp$=]b]Z }NQ%t"p#@?ѐw~c4RƲ+5 or̺ukQ\!4V}_H&ކY֥("("DvNj9AL b-֒jG {6&h9r"#e>VɨFP"s夓)vn&W9*%/7ēիVȠg}DƾDPRPA "zI3ļ; s*\ I>S "ZZM4"~PSeڴi~~f]tR7&@4KV[CaۦW^aA"!@رIe C&DvWZj2eW4lIsMֻL^e|@n G ͒g!2  sRRDDEMzGG[~8=)a,/]hEF OPbVeeII%7j\K~] 3N p;ӿTÙ% zXBfhIPE+93eQS{%igvl$㽋q Z!H)ɰ?b vܸqsϥ Zs7יh~ji7x VT)ToTǒqyq7*ޑǶ)/ے~xrRwyVQ eCTCSV&}JZ/LcF='hO(75h0dHf̘aɍA\uGݺ~d#)҃Nbo8-ۣF מ\uy@eSϠ("("  5r,;h MK>4:q&kbshX4 )`e%rr]%@;ƽe߷Q$u>3a?DB:crqƛ]Ll3˿3"$I'\ x r X^#;oDuLsvn/aD0c!do0+~\f{AH'<1T <ԏ`6Him46d(8 c!7A{Mבݧ@`=VdѢEV{fpn@J!]TıAN#53D7cE`ZbqU'r»K.k>T,G\rι5e_= d]I'PP9љ;;$kd@Br2e T, 6m=jwĉY(ہ5Ȉi8!~Nh1BjhvV^mnU1| QP:3gRfxgf\{yIޱ ?[/7C~}4m+0a]qW2H{m /./];|7(@9cw^{5z;np呍c ;H.֥WB_Mۢ?2($E@PE@Pyo&_<άdyE  ѫjCI#<ܗ?g&qI8=l~k&sfRxGdޔRLCb:48K1Yzq 7'P`3Fʵ^rdٻ:es(lݱ a빌V|y~3ρ9X(-YgeFH'ei&oIKq}'ijԨ!7|:Q<7puh@qg89 yFQ2zY4xt_: @[Y!HIv#~/8k֬)(8C5 c>  r,?Fp\4oygO03*UI|%!KӷdΒ>pM\~׶wdw([ϏVFQzkҢ+ wWv~ (^(jdDG(E@PE@8nG(L @Hw"qaDͫ  isѽ!=&syƔQ]wt 3ɤ Ijя%RԱҟ .DƾһwoAʞe3)VPj;w"d]\9(d8HkŭSy&aI9N / qGL!"@2Xr+h3Q+gvټa\qVZ{)T0N+Hz"7'X$ÉHt6DT-]-q PUUuDnǤ۵gc,w+WΒPx7?_!UD1sL[/}K>@i֬cٳg۱ [$޲| Rl _-cI c?-gމ}ZQa/fy$<|ӧOOZ5#\NtUQFdOSiƶc۷;>Ȳ٪;][zI\6J<9_;E@PE@P)2gr1n+^ pZql#7"G`·t•?IJP!ä:ȃp`<~LǹLt·3cy r&MnݺHJPL\.*̒)eʝlYH\f%1ieRcp$Es>%R/5mIzS_9G^~< PV.H<CvEH7x ʕ+#(0uXa=r|殈. C?W^ ũaqj%86\<+1¶[״3~<x8'3k\VBrRؐMHß3#vO?ʌď? $G. 9mKLF ͛*4ZGʾF? b> L@hEq+ K@ː֭[UҧSޫO=(.8rHYbw H~^s9φvA:߿k]s5|I: ~cAD }]qϗg`|=zk|skr^SNǗ-_^S^3_uU6a'9Q˻I%F{/w &Vl%cchsf*S'!SLÎ)hܸqVr1Ay%r #E!}NawG:4wsЛjt(@4wK.vlO^_ c";1Z/!\r%nEXuߍ\o֭O!I/i?~ ?w%3Dm\ZU{!#p3[1uu }zD}i]V0iԎ,﬙{+*b|WBʹcf%m9/2>{!a%+Afm@"(]O+"("(G~#- 8`4\ג= X?CI;H/ !F?j 5Ep pOR`:  # pvh DXtί!C[Xy =iO 1\b֙,͜9e cذaC  R笤~RJ_@.2l7ԪUF%"/rT-uH8pX1CTz-LhB4-rqPeț+0h&CM㉈י˾&%"pȗ;q*Tfzn 5 Դ ={UZBv[o# 3Q,rEIF#!}LTjUۿIv~X0 7UaN'-ϔ*Uwŋ緆 x+!cQoqTj*ďxO@xA1p|H'8!֫WϞ *q`X[0B:W^yE>S[. ƐL RO /¦;λ=?X@_yI{EW_ϊ<dzDщ\s,( yvC>߫SdN*Y^7Yi=I@I;IU"ԗw,iyw/| -7tH+nS%Z"("(@ }r'`qGޥ'7Pռm-[6){q$g, 0H*V.XZZ8@2I6 Ĝٳ-퇘Aۄcĵa M8#-g#p dgP/y笒I…I5h_~e{=+d;SdI#ex{?G#@|:J/N:Ѽ`r'Ν;CUsO^ {Kop6kA .ds=7Dq"- |7 6 ) D)FԱN~#2?q_ uָ  MJ (˓3GՆ^xFOgg޽# ZZ u9sXҾdמȾGWR@nf=upㄦ-ԡCt{,կ(-L[G6j b>{Gj686mjWpw(m)vܵ-?[Y8^lϋe ݔsc~*.D~3x_O?$}>}ĥ|EW_} .ODR:q ;0$7|U ī>B UsC섔BXhڴi K{_|\Xw~ hc^7a?BMDpgRQzx@qZj}6ںJ)+ ѺisaΝ;QƵm:c}ب(yZb?(7OS^ 9 H?j}FS\˜TR!R<;\yO'A($("("8o/j8͈ 5''һY? PJm&yֹٳfML4DԻ8k=Iʕ)m'SP49B]o?ɘFk!' '$i!SN2fTIq%bF"N\\k:u&^!g6ug."ugc;ine?NZBT8u yI3\7 /A&Ni )|_ L8Nm;뮗*D+}D9 C݅vwl/Ys{*gW&n?Yz@vI&0Ƭ8ׄӜf8!|f6F:6-Tm.w!!'QVx6N1*?ԸxD˘4ozigD`RN 3(xLq]t -޲ϐvf9Fq>#~ǁZB L|‘%Pgfԩ6r}rk$eK/Doc;Zd8bCD?鄋GmJ(&Wq;)SW[5 H.4k9T(GzeR9 ]4_~Z#bw]820x5S[bw-wulR?ތ;8tK:T>c-)v/϶=͏Gҥם 5˗Y8T2D$t#%'|Ғk%-ʚ5k,9mVWU,ZxRbxk$"q ryqzໃ 㥗^oaxt#J(^ !m{?`܏V haZ`(bՎreOP¼ܕ>;"ޑ!أɻ){.ϝ{\]|~E )D'Z"("("vfb$Øe*^<3\r_~Rn]t!bQDeyATqе+GWBEM$Gp5kuR1x58~7o)d"L"F'4Ȉ~;իgJme+k32'>/wɰeKW_|&}dO pтeKkeJWb"PPh+L'ƍ Ja " N'2cq9#>ٻ~.uQMx1 'X< l}>ֹpSH89sxF n%6`|m"pA RqFESq'A,덳?|zDNAu_8ʐPĀlxs*ެw!tP.nQoֱkG`) [&I/Udi2!Q!P&8 U藠-%Pp}y4M3!xYGM2;cjc_Z' $$ZJ{$;2cwVLey.nB ē*"("8u3f[ﰡCDrvءO *Z✡=d%NƼ0XdmS:p,2DŋFK*ҵ[XfR\*s=/2 He(t߹t!6G0Fb#~g[ JCx˚A ;JڴicuNrH'n9~oNx7w=. M{1% K qO}wGt$CSA$86J[H ƹ+;;;ju^~E҉ߊ@L7V&O`'7tK>ӥi&/?*1Pܘ:u-k# Y"ZqɎdAe]f m|MF+(| g;<0^GkqC@$#(*$ywZ^R<$j} dyt[Ҍ7@O9-YOTWT]/##g1ǼpBMSQ"dVTt͐Or-#ACjB)=ߞk ~X@o_/*N}HL[ڌ:T\},oH>v[?~CmC88p]]Nٶ|:y}0t!>á1}T"ǵu֖,xe w?㎆\ҭ[77`9'w2Adt=co7vXtGwQD1clɂ5[yJY5X{_C dzK9<y)9`k= DD9oRk鬳βc %cYi'|b} d~ߛ"jxjE@PE@P c&tKN˅:A/x[[7dD2;YF3 E櫯 5Сu%;v, k^e E QNM+}bɟ<$glp"(1/eŲvS(}@"{;c#\y:|T7E&g?|$M{#z\o$r]"0H+$/o`1~!Hrm q2 d 1q_;oTI܄c7q^.mEanb Tpc #Ac1 Ҥ*2$ϐNxAShwæ>F.%_|q=쾵?E PmM6jxn3ĵd?T~$ F03ddN<9駟.~GuT~*=mS ryvm:a BvWbS:ow4.E5d%S.Sˑn o)(5ePSC%T#kdq?0cb!snwtg.ݸ; U%˶QnrAbS8ٟ/?'sBd 7T(;ф6|*QI~"ēX"("(@%C`'Q`;7dS?ܭuD+mSsΝͽa ׃ߊ@$ڴfDυR"XN8崰U{Y/18| P1! 2{)I:^#|JҐ |5E\+HPKA%&\p Ƴ]GtBٳg[RC[ ć޳HB葨xvDq*ӆQ7jA<_|>Mn0dm- T\\$O>Uwo^vQz\|",Yo+f%ԘG[QZc(>7u寨~gsp//Q~JT qodܣZ'0 I/G!-m]dF2H|>"r Ҹe!luƒ3x^_z6yXѣZ_W۲4`Jgs}9d pU( V_kؖ_k C~'yCi*HBH$ߡ4Q9_+d #$=H.0X{ҧjg{=%0MT[R _-'"("(@G 6乧/(Vj|?Xq(G%i $cs wEvޥleiR"@`c?%5 e,YaxO'IϽ )[L7 ?X~ۼG&H?XBVKHloNaܻ|$z-SMJJ']wqeÚyK8qvavnjcKbWZ`Njn>T6ϫl2K oBIӦ6v,$ -y% yT6 PyJi;M)N" w㧞qN+ <,Aq/퇬hƸ%!"4_IʛlQiA_I/jCVˑ&~yYE9\?Lh;- 7ǹy7H~~~BS(mٝ/U>rk{?s=7h?:1Rn'lyޝ_AbO(9ꫯ!C%Zj,{Qy Fu69-)tĥ֑I.[C$wnmm\-TtxRB"("(1d!q %jp~tyD`2gJLXiHV\)-[rg^o 믷%CfΜU\+R)(P mie!2 bjڵ#N?;ٳoޕQ̂UWdƼ!{!p~n3~QV+;`вhXi`T7*/A|DC)զoޢ("("Y@DmKaoix ŸצҚF˕c%N`&%br 6$!eS)GUPro!}Y.gm۶ /ЪMP21v 'X67Vtk֪yܹh;2}cLTVm٣ǞU?EohmyHJ'Ai\xgy)JY?^(3YC괓O+xMm |\q٥h8hmYv܉')$*@[3+aAc-ZxU%:IҌDO|IfjO ("(@UAàQ`ji0UdGvֺ2uٸqc!J$(24k@Vgh2E"@7,e$fMx鑗^zɪ@ 9'");&c~Sb>FP%ԭ-馔>:XH'{%A B_v|h9ߡUoE]ÔY7ؠ_/6(Ud"(D3זo7``,Tl,*.A@r#gM;x]QqoZl=ut"Dk[ZIQ6n78쵷tIM5#`s7Gl'߀{;xFI805 }PneL N:I:u$oL6͖l2vۡG̹{ŗH~W;(0̟;GVZ)_TVdp?poE  LAzd۞{)? 0ɺ4;8h 1bD6,pVH+/r2P%2*+gՃ>h? P7 < 37p} /Xb-dg\\_]u!";w@4+LƤ>h #ɉy< ^{5cL+saZbWϻ-;P223ͪ>x%˗_~Gz/$JD4HAVG*fR‚68H6l%"ZQsϳ>;3$#ē$)"(";YbuO0.(ܥKeر巳x(H vdt4iD֭[gdВW^XtBԙ 6n( 25ENל, A.C(U/ښcY3߀ŧ-9 B7W.6~x8p`;2ǐ?dǸ@yˁxJ۲v;n>3$ΰԃ(uIJlJ0}܉ʌ?IvFv?6y_*k4H3$S.'x|7eAFɜmYv]:H2:qxVDrm̓Ԑ397j8Sɼǜ9su .,D=;(}@UFȡ3%V[7ǑGy-wеk/N]j# e[2"O(#E]du% B92!(xK`(\PvkY3x./<ߴoޖ*9CkM5ٹ1gA#y)3jv )vxc{ .Y^cI.Ͼ^mJm)oB@y/c]wӬ9n[EQ܋dH{챖pȸw97S)q-nM.P)5xkJCu;sQ9Gyocxws?'yntM<y}7nm;!rHng(~ߝ1?jgƊ+B:=JgUnt}E .xjE@PE@PJ`!Cd%Mu&:k%ԣтСCpƦ;A,_9[]=Xl|yr9[O5\(q…5Wl4[|g2[qPy@p3(H~9nCtJv}&vq| 1>72Zt!!-Zx&eCGFtl(1Q; gKF@w}@0$EO`X3!Meܤ[funu"@qR#Yflg'\ I% _ra $?#6_mY9TxUx8- 9Edz-~k޳qFuMzKT,m޶CI{C,rjJu&Lev]?ϔ7).̷*r<c?pzH6u\|erذHu2_/'} j㤖fl`tvXGj:.)r DHR(A~@5_~a+06}瞕{3n>'Ta 5~K*o ?DGߣǞ=j7D+ \[[[w=FI8ʑRr_RVReKWb!ēXrE@PE@PJNH3q йkH]UK2O&$ >|%26/^#8i5M?7R_ Xt<Crqs=6en!GO{̋/p8Rn{キ 8j׮#ǚkԒ쀒.~+Ҵ*uQv4c"`Ctʎw [:j ;& Q m4,t"PQPIEK~("("$aNPӧO7-*1#8B.Pb*<~}ZԱ`@O4 ьT,}]V1޻%H'n qzֹl8nqs$q}J,W+oDQKqLguu٭bcTm'"dq'J:q}7ZZ&j@EC2D bHXB:,d/|u#F#(}'r[w\ryY9qDr)&裏&L>A5eРAһwoۇd}ڏ]hCg/d=,,u?un)eQng {ISBdp[@Z[)*7^ސ!E2-A.0`}q}G\vET%w3OX<ȤxvW_̖F%L'^*4v*vI(8.WP;5E2 ēW}TE@PE@tkYcּS>Ʌri-\vɧv~uo&Q2( x>蠃vM0Y%j$i6:oOڣ)@8!3wRh.p;Z5E!0c Ɛ +8rd]yV9\;(ǔ$h-7pF0[MUMfqa(ݾxbKX |X2~xꫭ?% $[nQFG}dnXߐWx\awmٲ*Yge+m9N lCXzCiӦs5FfGh,?9yS~tꅀS~aXjh?S5a<j\'ny]¤`@UxnemIlw~A>3ohnޯwU7_w)a+qN8?$ʭbƼ}"P(ўVIT[>sR%'|YN'붙fJ:N[d矙z٫Hfg$ej{هd2Agj@eE8r 2p~qyq_pCL@tGQWv,YFYZqq|AD@2@Rm3C>[=7ߴ\CSNdjH۵kgI',GHVVx≖3򩧞*q;@Q]8<=$;;;h9OV8h{Py࿲@u)ӄ9`N?z>1T!1Sw%bG99^kW\q;Y:]@o|9DkYNN}7@Iv|*E]"P. V5[meݞ"("("dhG[qJ8YOkěd;d!:tu3U߼YQAB q gd[$j~5E:8is2N+WZ)O8uq!i{đGIZ)Iy|6i5rPhug+&L C $@>a8D}ٰ:K B r E,C*m/W\~'qC '(k5n\KM6FW^~fdž5k%w 'Cn^<@udܹruׅNK/4f 6wڵ-e]C=aH+W0k,0enCRBun)TGw a͛7/!D+ýwGڔ֭8w'[%w{ >`*7lo<_)3tឃ굏tߣOUiTҌo]ojo|( /Ddry|rQGO,_EG@'/("("76Llϋ>Y)1=R}_*:8>|?/w}w(um"6>dntJˬ"*N銊@`I"3mk^{%|>}2eU5! U a]e(@(D?Lt5奡C%sG~{'- g]SscIgyea ^l'Ϧ7ݮ"E7Hʊ3iA1pi2ݻWo"}Ż:g-#\? nS:_R1v?Nw?wm5kz]F B >.]H',_IFﹹ[J[ (K.J@SS*J< %GE@PE@P- 8w}rO8CH`z@[uI˦9 D;CサxVpn|%g̢ Kw3.EO=NSy})2J8qXwA`>3eev rpf'޾}fj _,G٤Il K2A۵Ezzq&!K&ࢅ \ }ec)ӢUyBhcE` /6‡h |a,zAFnapzK]r bSmC|3Rj!@ٷ'}jMG@w}wx 2:[~~UnL$>t9v۝mTLڨW]6kСl R4ٯ_?K(yyǶG=\?j @ 1 EǎOoeyWkB܄8fpϭ˳.CHi>,Cқ[oE@PR@M3PYd,T B*%PI ji%=%{矡U˺Tƞo2j'dfgR:.GyNs r!IG2V9o0J%xjE<r!OdɊ//e(4pP^nY9gɷ|-X ;=z}E]rLI'Q҅y\rVUOtC7qEFdƌud!6B5fTa#ٖRAj~e~ggţi;O?]$<-_.AdKBkc&pTL )"Pbli(S ;찃:ͼh-C]-Z|ޥ>|bH~6B@s ՉhəDI'ٌG\rYuY%@^:Bi?A#`ԩVeG}TxO $XHHOn͎?d+)%lKu["("(odWF" ۷]O>D,Yb3 |Ͱ>t̟7WvX=2Q2L "㖛RZr' dwr4*M"'՗IďG6mdwSvJM_2BȚTdE#ggvpKu{JA9ꨣdS`K2CP9y! ho hwg_|"RJE3gFnPgB9 ĸ1F3VQC%5E@P**îZ/5Py n^*?Q V^=yMҨIS9֨kTw[@FH'N/7F4**(0Ql)e !Pvq%\*{b ja9OƲ֭d,HE8gN:$}-?ԓr׽GjRwص 4X&|Li%3_om,&ݪe+YSP[뀤\487min^4 g|x'Jݘjԏ;mSNܞAȥ! Y-F}kNIOg .xd{NΝ+(F2!#_l'VQ;IEڧ"(F #7@M4DH vɞ^t%z7~G˜%88Ƒ2cFSC Ǎ 2NZ1ׁdDxFk2<'tr<rH1 d#ēd#)"(";z"S%lg矃WTQ~3 ݌CW^˗6M褲0N5E #$/'K&2WizG:0V.tE!-gY%YdǍ7Nŋ#␯Ud4ldXطd ӾR6ldtۀw۬z"P6\qOF!2^zE\- ֥KsSnE@Ll!ncʒr)[gl)'zh6jԟ!7>ѣ"o&VZWڨj!PרfAGo6m$l(J\Sʬ^{QTS%ME@PE@P"$m6RE+ڌ;5뻾b"jezquVh=Gydi*uYƉRC&͚7OtUmT vSde?X*8.QIYulR7n8n]eljKMCKlDzv͚fڵk'(3R_o>Dk5bS2FdېN7V}TE *Ç/S)X]v1ZUQ]wqǸH'#ƝkXWv)V5={w}VҦk׮xH'=JIb=F9-pF ]yURIS*"("ċ@4?񤰰fCz D];K l~R9bm-œlCnݷW9xDmQ>VZ)pFYn[$=$T:gF*ϳX{1&I3?o1ª5lʃwݻJiW<Ѩ6f3NVZv+RP3Y3DyZ$6:T'P=AAaFt0T6uL/dǔ,}y"`>'s/E@PRa{ﳯ#cӕzN"#XF_~InwN9-pάw\re\ D+arN4 [nSyq /7]oYha0ҡCL :$5$a E@PE@PE l],/z= >lذν"9d^?pQ 7/S>,gȑJ:I:CΫI>~T;)C6k/(˗- /ʑ#o^9o^p AdUvvʞ{i;wpˣ}4ѺK2H7 M!^?3ZNعs j" >ܼ/Y"t6HOIT+|$5H )"P]Ζ" 76mVrD QvI'%4^Om_p{-??ߪSXPCɐÆ>{]f/'.&tE(銊"("("SzWveWW 7ߴҗ;F{~t龻1O Ur̋2d7xc\n*?yy2{L܀b9KF=ʍ JzgQ5E!8t3?K/:T|Sr'2tPY|y d4]'fGq4X<[V*feiWd=I=ƨ@}|ѽte@ '/ߪ'D*bU8efX1F-7=&Wsb9&={_"T}˕=CfRC9D;v)HmѢݥ:%c;g)JK?Ç#b_`lDBW䷟~ɾ۔nV9Seya#}?Ǐ=ճ7lPR@{*"("(乳sLi,N8AD,3f\{2mڴ=en-IbmΖas7k[[r!c' [n)29yJ}=cm[O>Y^4zyڤiSQHHH͛)f XedqRAɠ}1lXg4]Rv5( Pb|6I!<^dW0f@N}ҳgOC<1*, %>rE PhH|ⱼ Rא0G(QU4 idԪ;vmK&M,d֬Ye"~g]IǗssߒ%F%R'% )B@')VUE@PE@(_ LF@Yp4HƍWb' =9oQFIFFq}I!L#o*7Mp/e5t7pC\!^oh˺]]T_p) gq DzpB~׮USr7H$C>yo= k?@=C]!)lےMH'Hgr'B9?5p}lךDsϲ27ͻ^U]DC@'e"("(d3Tރq:<)ųv ,cʯ&}㭷6,?pJKU4ɐzqs:4':udK8xqQ(TPWrMyD g>c&~m4$ EJ|]1{G`I"^bȯF1./o쵷w:("(U?CK̡*W^y;젤,g~!"{R' hI;d61B[%X/xm ?_/SLyDG}LN?5?x,V* J<0 E@PE@Pd#PǼE2$Q{e}Ν;ۦ8 ROy.Fu2G_ "frJxЂ*2AVyV&[oMw5MB)$cɬ`EfZEE!dF^lxذav2SJM#Y;^UgIa֩S'6m_o;&j@EB '""("("P 2AH^{ ̻馛BeM 5jWvڥCwUJ6mmdy9-(4Szn`&X@4|ƍU=(@:lrL&莡rP)~6$چ0qտG7g*A:oLF5.rѣIlA䚘>}zG8/^,첋qƱd\[(xAbS>h]NIrGJ`q?c6}dcgy j땢noH?x4SШtŲ㖿]F zHD~0cDd[fP߇VE@Pʅ@:6~e5v{oXO\r%Ι3'y-Sv:ꅨl2vI}~jIً 7ʨˇq/\@Vܳ]V:z)>#7Xe|7C=VMH.4\VEPE@PE@HD3&L ov7%8pArɧ/ݯ ^/&'dzzH $h*$;/؋6Z;:GPd@B<8b0hbK'0RXϰ!&>ԪK_Aq6H3a>&EF R S%w˒Iᅲ;ӯ&@Y7(ēm7q+ݺcXd5CJTnd}ϟ7W>?N2דtS'i9 )_ɑÏ [Sem۶ ehכw$vyWK)]GPE@P*)(N:1Ax 2Ɩ͛7/RJ2cvODP믥M6H䒽ۖadLXJ" ~0K,񯦿 XX)eIAGK/Ԫcz=(AuGqツĜKW@_M(o,,￀n_PE@PE eUHF Q~vɧɐC ,[P>+z;unE(/ZC0!sk&ȉZA`e2lI Nw:;,T1g6h뤩 xd)}(8H\`ۦ~o;2Ӥ7x>[XV-S JX!9CvVe IW^x^>x-my>Yli2#ۨa}Ʉtaׅ1vX壏>ѣG˝w) ,]p:&Ac\?ьlu$;+[o(Y 7D3|%"miӦY5e6vlIC &/9lPayځ"("T(Kyòح*- 2wqG2|߻p=ʮ2Lϙ5S^=J6rPIw >ۡGA}M֙3KCkW,3˚IFMю}5gYKeՒ)w(rͷ!L0>sٍ8QHdgP1ݢE +휌C[L$%jkj[bDE(Q1$!M[H)Ί6cSۢɚ5k$S>h׎O?hmX("TYPI={vM7$F 5*z#G !*oU9ưGܲU[̜L7oՓ0=?+Sr;l&ޱ+7HDMly7q!ryȾ}Eꂪ?ު{~?%"E_x6lXy7P>elnTqQ;Wsu@)PI)E@PE@P* 6HB+iH(j B eCz) a>/^jxJl ?|70hҿڲ|x5j`7Y9kUuk 'ހ+_C.XVmtdtݽeX~@&YgʍntIȴ7o*[c׫&u՗5W J-^M}PkfXeK-sw{䌓e8yq֡DriI'+iH"-N| Lu@KC49o&|;@뮻JxTXg>%P<q@p{CC$Y3fnFv_MPE@PH=~o] 8{ꩧ$*/UԣT |Kd_Unܤw2Nac~'F#9Xiď"{$/p =&Ӕj)^҉5/ʙ,'}"f6ujU@[Ob!E@PE@Pr x4o "SLo^\ioVlWZe>Rd_7;kd;yӅE&l26̴'V3PV嫯}pr ]bKL{жgϞ_xr6WJl4tC:JoHBkQșy5݌_dν{nU?93$͚u>9\s>C"4YFMc=/^:/כm`^Hi^~Q~6~zO굷L0\[L$2r)I9ѥKnC9Kdy&Cjb7 'iiiҺu0lv+mwyi2AE@PO?-}Y-c!xKN>>Qk׎;ȁJ>dB6J' ;֟?(%lZMyQ*ʈ|0GT`cY>}dĈm0NޛjJ_z㏆;}"P'$ ē$]("("T FlЏFH'8 p8Cs bTcv4;,C6H' >jU%x|BP9Rӧr;8XժER/$2;s? 2͙1-;+k|=KaTbd{;e|7Ñ !3eСҿpCxV27A?kA) }m4"sltU޾2S^XfV-o B_PyBJC}GGa#l6[۪NcdIJ K.2VS]("(\pA`!Kub}N=!W_}Ͻd)9yXwB~7R?=Wv2J3jH'qԃ_v;Q5?OXWn]KzY)ZZH摒 =`EAwj> &u?|d#~+/?93$wb.1nCjޕBuBHo)؀v("("T6YE;uIA:t P>QS#8Vg6Vc@4IEŦ^kʡ_Q'[])sʕ䉱ŨtՖYfIvV̴̞`RoO(§W^ =(QVgV*}ٲe#K"m֬Y2qDN;Ek,kZҠqSqiKx.ؼX{[x-i{ﵪ3^z;t| Dg-jӦߐl6sz Y)Bm@D;^9xWv"("PA0ߗ a\I{Co61HA9SN첫IȔ&Fno אNPUP26իWGN\sMr뮻W^!eq!wسλ@gK܆u?#ē+"("T>ڵkg3q8i@(/xgl445PVS#sLի WG|1#klZrznyw'88pq50_lzkIKJ8;餓>ڐq]tEVdQΗ ݕE97GYwA9#ψDFz|=,մ_u%V'8 ioF{U%caE@P~=\ JcJ@:A!_+5i,;;ےMB6m{YݨrGtW#6ѵ[oG7PqHI}w2~H#x@dҳv.iE`!ēmnHPE@PE" x"v|퐁,֋cqaG; p}"Pe EUʈ@m̙#O}[wLiSŋlv~'Î8R 6Y"Cn׶{'GuU"wY2߼er˼s>AF %h~}4lؠDb/\b(#_毾"_O2lAdȑҷo_l'=ZIxtmN<8 e;PR3seg_FAt"("T\ ܹH$=3![Β=eҥt<Q"^}MDuzU7OSiS pwu*$R3/?3Ϥl(E=&/2C/buO0#0#YA5j85"#jO06o覑#jچ&#P>͡0I* <'NpM)kN*W8ʎ?ֵ 6PǎQ/s=GK.ub2:}V\npV:ZBe)R`bhȪH 1pHYt;PQNvߟ3g)5):-R/Vi'j$z٨N:H~ׯ C`p_}v54M dJ%3eJJsb2ØFJ]c3O{l71#0"`pwLm$$$ ?Jz%7x?Y$¾hI,Ji㝯 d戀$obWĸm02%3 ^G! 'g(;ve (46m?|4%QJ+F`I)ͧaF`F-0KLIBꀨ02fٳ'ჺhŋ{LN;>UW#%("4b"9)&ڴ,op2B :|p?5iF9T7{l^X6olo')]}ɆpAY6vwz'v&<I&GtmРl g=R1IsȏIO$8K%iN'81$o`F(2ӢE ~ꫯVT9&u #Uձ[.^*f"X"335+QA>yGJ&7'\n*BاOݥK-o?ZoѲKh[o>;ΒB'%,`F`Fo-H("NIDU_:iBΟNî+d0 I%"  vjڬTo:'1IiOShRөhgmMg6:!-pߡzSz $U+B֭["9 iή B(O}fJ j3Bz&|SPX%? ł*Ȩ5v%]*D۶gS!"{*$rҼysjZyjF&IX͚<>"T“m۶S0#0>]*B]AC.x觟~2 m û T.썩خ];xj(ΛnLD8EG-Y"S$b4m. ݵkW-}ضy7e~@s͚5^] L AL=cƛ6m^xX춍>L/njsf͔cOJf> #0#0? !blJ>}̙CTJ?NFCN8v0mZF:1\ X:t?\^֭+EE ^LlY.N b5ʤ-I2 .@Tޠۧ/vY?p]V:v{U&0Y`gqqqtrFC4$Ldt*9' J OMJ|?!'rětfgchE< TcwjY9N{xʘ=Jb'wTwj)~?F`Fd=(nQ$JF+{52;֭[e?ϧ^z 08$wޑ)PPt'W]uw@o„ 4x`ѣL:xU +\z5ǻUzC=$:vyKi*U]y(-xRZHyF`F`|8ra.O3&"G)#,X`{Myy4k'7p[x#f(4o՚Dg$! d9Q0^ofͨq &h3Bd@"66V8 bdD ֯__XdrJۋ`<>_;19xVt H )jhuieB9(\(J,HsYHSY(xj&-A.2x~bkqXvЋύ.ùnݺ2U 52+2F`Fe̢VK/ڵk'ߕeĈ-XM+|۰~ފ]$H';w'p}QI%zb|Pz-os}?E xg˭Acƌ)T- P@޻P=s2#0#0e@v=DumРA2UL>1 hܴ9)/h΁䠡vc rȅ|:-҄# 6'CeP/OhԨQk3I8JH %S"FSeg' KuNv%NrrPQ%-ՎT8nQcTo@23}]\0#0>@ax' ;@1NG]! (|2AQoP$ Fû'4G6mP~I <m=J˜dg}&ǽ9jӱsKF0z7#0#0o pXClDtP98NMMǏkۘ, gGpz2HP`] Q 3br+6@Ājv̚5Ktp-ZH:t7vp+o&\̈ 9wށ<ǎaÆI3V H' (K8&D*I@A@(re JB=uJ:AUXFoҳ Η*bDGR8рuQ'))OQV/Iݎsk԰a#[X}c3#0@!ſѣGӓO>)եK㹥^YΕpSbpțEʡ4uEB-@~z5O>:u~a*2EFڞ6':,ЄtE1ul,uWTNӳWoU#P#0#0!\lWܸqcbD?D7^ZlnݺdaJN@'e 6{gZml|fE8AkҤT+A?SF.\P1kkUb,..N.SϠ\C.9X/Ou81E.x7( y fxU{}effҲeܮxpƃ@ԩS'jٲ[ A:߆IJ,PD{D(1 1cǎxA@ۺu~zP>}Mq!#P04Ps0#0#rvZdnN#e,&F^zi].d|ɧ=v^zZ([xkpTQ2KGU=*~A>CB ʠx\(rʠ3gq % 8*NQ 2fRE=Y3.8|]bA2OHH0A>3MLoe:oѲzjk-`t\,i*.V0ݧ _]*|j7KDپ4bڴi믗 R ^aF`o sAHlӢeBG?h׻ƌCꫯJ:R~ǴeBx3g >$f4p*\pHd$y2t$#=*Lw #Pd{Ջ|*>#0#0#T oNDn]L4uꚦj匀 /&0;k$4,LNZPM`="BC(F." H#+V)szzaM R Ap\P [rg (X}|R2r.lReDARE{m'jӦM5QFFT;:LJ+R䤞AclR{ZhA?5ǰx(y4sLY /KxfF`H'HQR_СC)+˕zx4tAzƏNw{N*I԰Q&\O8Gt c*u1ښIj'pb{\(xR(1F`F`;5ȫN\#mV1#0 V=ydH'{Xh}JDGBj&P{:Rbb࣢W\qL\` ܽ{wYc׻41EX¥Mi)t[-jp1#Pr0#3#0#gΒXhN'RJXi(3ǽNTt lƪ)3epɉ(_86D[f %&&ʴߥKQyVV66Bj'1(0a&L3ZddtA~*qqq*.peSɃ 'K~Vi"(2,T6/Np䕛O \gdZ)A1N̎cV6p@ٳ'͟?m>:;(z / {Gda[U %6F`FBD ޙfrΝZAD=pկ__]V ?-ZOuZ~ {~[醴~;-[خzZiˊņ(--k؇~(θO>DIX)"o$1*CPҵ+-_\_|&OJe>#0#0#-H"Ndr1j5y.) BBCH!&^_B t2ߧuI + `!-[HzV?U,P!\%:Q+4h@}z0stҭ[7ST5P?C ddfShGNkU'E6|tD2,'WI.>Ǩ4J'ĺ 7('IꫜILYTO=BED.̫.-^ضQ7pSE sd{Q`F  $ٳg h(CbǍGW^yKÆ #| !r &hŲ 1A˯ x[︃mJ3A_,A.{f͚E}SN#F>z,Vl'҉':>nݚ맊(^d1# F;e @$uF7Q/DBJ* RAIY΀0PuMM 56P3>qvR"^P.:t7G.')Տɑ>fW.ef֦$@X^hK:A$o)IV 瀀իmF<Ī5ۃNF`F( "}r@BOTJz'X_|?$8[ӣ-;<#иqcQjTVt>W,_@鸽5.@%r„ .J&8cJϥ^B+ؙ2s}poD"O4>Je zchۥ:' \`F(s}rr[_VN1Te>˔PP}=UnLJ*Ha"=2q%g rIQx'F[)HԢBa!cLRtt` wcE0QX~zI*2J㊫x(xR&IF`F`|$Y9m0|pzw} 3@^^.$8RSN Z(رc TAbaÆR@}O|_@nʕtL8]>} )@2̠OޣH%CAfMR>m߶Ə/1o֬T!iӦ{(9LQ"Z6|4&7 #vZY툈y jݛ#]Nۗf=DΜ9~yZn*(P:Q-ܢyw^/B+#0#$8NiG11'SVHw3(nԵ#kŊFc_M 2}xӧO$j3;Owy'ay){:WE 450 oǠgf9gʕS]6\&!G>#0#0#`.GL6y2LhS5,sqdB GGyYd~2yΡ' PERQP9 "7{q?Ҙ^̦|An`+r2oQFT7ށ4YenB 6h\n-[C;vʠSz:q ҅^(#w8j[wiқ2kFL„#0#HuZNH Bvf$ϩqSczxj LR꯿AtO?D#G( *zG &2LA"]4'ADLw}4c/TvmZg;D6fչ(uxR F`F` 9˙j^zYy%[xg!J'q9{ է/]бK :t@ax8A=+;8&ա}dh"ٱeF>ĺQ\Vy- +GgFjBjB{"EnGM`@a㯿#G\Z#Hi%5BH/Ν;Sp<׺uk#*hhTعs'O0dF`|ة" kx@zYNa /\Ю>#Pqߡ\TV^}5w8p5+ '@#t @DX`=dHAnoD͝8qB5D"*NĮ[ 8pʃ5jз~KcKǁt?#P E*UFFbЁj%i 1"iS@IDATKW 3WEPxY@<8(Pސ/&)&QpAaܸqRi: H+iCj덛5y;@8ٹm3:xP6ԓ9G0} |7 c I(zڴiCC>+s fն$sE!=25Ї~H\p$cA&""|MB~cѣ ($:#0#x6ރw x2L\je&}͛7[U,~ 6{@ʞ6m]r%4|ǥogTr244fϞM3gbz.ۼQ~0",T"Cew' 4}@-ZH2 @l u*exZ̠[7S  fH0(@B̒]&3ꘕ%%% 6Ȫy j'voLy{!s\3e Ϲ>U_155Un"õ]|V^gҤIZi'5x+#0 +. `T3^bbbŒpw+:B (]  d">C=(BXX4er( T<:vTI"1;`mB6er9E/< ēpF`F`JzGĄܹsi(33L}QRiZ lby$Y{.cJ,_\oj֖lxhŶ}믿^2Lb;M8cZ見yYVv# U]۷;4M s;ER$vXc[&UbfwuG e4;fiKii≙2z:tT@߃+WY۸q}MKK%{ʎ0#0e@d1 6_iAkڴVf{v,,uةvE9]n$߫X4j(Ҏ`ТU+t这{cx$P8Y \`G:p\\ a@<1"zL@:ݻPYV ,pnj)-[1VmF+Rq(yao*\L;Zb»A."O-B'FL™ɐ?#Gxv`HIrEZs+ #7zۺyY]e^|)R[kT`F`FHJI, C GebRIf "W. WuF8~䰋,IDx^ Tg#`}OV@<$8HDQyve8Z߾}Cbɒ%%Nr]wzT/TܛZUchI'NE(^vސ'U$ D&I` pf}"*/5#NNIGǏ#O]hҤ ծ]۔PC… drРA"mqY3)O`0#0Lԕ= &zڇ%T>vÎow} )ALaTZ,E`<]H O2iԯ_?zM^ܧi9O &MDw.c<;f6yd!Uٳ i`Rp`vZ.c 瞤2"`F`F(=Y$;"'ͬά@:[O8'$ސ AFԦ]m׶-ɉ րWb@J' '\Btw6ҹgmH-9tP5nR(8qk H߉}'d]PA3ɢ,!f0ke@I"P%.`F`F@+CR`2رcڌ3s FsԳQ 1e;[L nߺ_XA M8D%"QHg{ҥ燲ҩ =ȅ^(&&&j8F0lu(͍7].Xf2Y.xNs5j cBʆ )nV<{9 aE$1wiӦ^  H9sEJEaZ%΀ "/ !n^}UC#}p4NBMsndcF`C93؏ g z϶Su֩Sy\us 6I{JvuD=&  F>o7|3\R r}U^/9Z/8'WY'NӧSǎeƍG~)MAj5T܎( xR1F`F`{H& @uP=hjr iv*&Ctrމ߿|}{wq108>E8U[!!Fr!@(f*j"/A0AD@\ķ| 9RO>FbX؇I~:qqqctrtrt8T cǎҌi[()8ph|gdZ+>ܓ=*0#HQ%bω0H'ޡAHÇ[r+;wV^Q MΫtH efХѷ|M5qSr^-bGEǻ> Ne˨K.RI(`믿:^$#kz}wF`F`F 04ǤPc>j+Τ}{P&Mz(nX"p:#Cꫯ-[ th?|.Q{!x !))ɥ;wQZ5g*ʌd:UbDWu*26*жmLkNYv-cfP(JJuL!ԩ|P#"2ΫS9x_7r+-t"{gҨQ#m"IM* ? ѣ{p =5Yjլ=1#0@"&TRN+X1 zCx03:uliRQ-2FCȂ+S]j[&mdB} %ʶo߮Vu{X6m*q¨{Zd.H)陔7H(|ovXMܰaC9A"L"WuǰNNNtNjv e* U4+@%HqٴY3cQQ~@JK3;-[PO1BYkAY6|!Ƽ[AhԩRcc|f)ٳ'+RD_:sÜT:@#ēRO0#0#/Lc7h ꫯ1BN }^_t![m#pjܼ%ܷWD}Q;p@ei:z֍I)+"|csZ]U_P*K툎Ep:nݺ6m*%ʱȸ 6{h;R981m.%|1Oy3&~IsfTj"b=o"rhjTьjh1ѭ[7UDsΥ|PFIq2锑F`F &QGxr0%U]&&.V߮yDqzu_Nn2gLxE\f׮]i͚5n)!Dt4K $[D$ɓ'ǁ"xBD3x|ܸqǸ1/Rv l/"_+'F`F`@J BȶA3..NNիWO@Pzc"OAz$`ϊ*իco*)(1 ״kurqSޮ^EByw^vpGzWpG͂8/nIvciZf5}՗O `%DU ;8/p ^n[モl2e\o׮?^Ȫ"R0a?rdF`|"ٳ RO* 7@1'z"B}Bָ^NcQ^')&MTwy']uUe]&Tۑ#G(NMIi"U=U^,^fmRK DvmN@~\TP:lFKex0{o6v~߯̑cPGKZ`TIСCrJ CsNl ʬMxt3"}ۊ*aHP=U@#ē2F`F`_E ,$XK`]vP@f%cԡSg\xnpmٴQ# YB[?Hxb<)PtHJAl&iڴip+ Uˣ'C PGe>pGo.  &2@ Qtu֕dD=mtƛf>_wh O RxoTL`.`2 _~9=ZR=ǸKjoW6F`F-@53(95(h2EjUۅ]FF?;!ömr Hu=)zrNtbj,0p0eg/ l)H5xuxw0#0#PfdJ 6mիeL>95L_y͵Ժm;M#`&/MAb"z|IVV6-QyVu,&1YyΠʁIw%=z(BvzgUV.]egPJrL j֬Z (sN2qM<6+Q52HS[6oT ܩ#{']=2L8Z~xҥK e)'UM,w 3 #0#9cN ݺu+û7=x( cj˗.ZqACxD)i }YB-5|~{Нk2#0#0}J5Pe /֯_O7nU0gFdqvŐkt׋@‰,R7]C &CUp~jՊ7n챮U lAb]lB9ogpb{R]u&PJ:Vʕ#<2Tի˃iH.)t]BDD$?8qBDOJ<Ɏ&/P;[߿_7?S2e$yظSNR xcwF;hͪhɟ ("2e7"]߻f©yLNpyd2DvQH'at' ["r6g=JK.˨̄z@oiذa2 @<ʡd AZٹm+mRl(y ɦMEVL@ … eJ={Rڵ"PPNIta9.tiܸq|TkݻrV H=k `F`|AD铀xZlI~WTTcJ(`<9Mq}?+@r ?Gcbalޠ 2W^I}Or7/3o}sT-8xw0#0#Px"A<ڵke1ָhj2>y!p67[8P@`0Q G D5Ao$iWvB8P СC2= {[5j$,l85)GP'%%E;cǎyIE5|Riw D]J'6L222A !>ed^Pv8 G,ˊnuu`.vx$dP>k$ICjД)S4"ݱ>;$:#0#w*5;vTꫯhڴivd(KWsNӪP?1SP5+j{9BP?Ν+IDSNH'Z^}~_VC@#0`F`F@&S\NDž4?[CBH5' \Yx%$0r)KE$\PIMsŊ˜|Pmgi& s.nH{?3#-YD#3޴iSͱn<LFCR;rR]wu2Uߘ1cu256ޗVJHXn]77,Y=UI R߀Kh5Bu>ūx7a@}Y|9M4I&}/Ko_0Nw>ʕ11+K$w}`(zd;q(BEHR (OGԦMI:9|L≕8j P1iGb|aF7d>5eD4zhg(>~@駰ꫯ=+,܎`F(e* z} )q8 {0,ENzz !e˖a֫OB,e|M L ,@63O>u& z-õ{mwmv.+g`P#&%ɓ*5oNO?7@gc&]>2#0#pD`"ѓ!&t=9#&~M"פ28T8+(",3 -XƹS'IXtHu!&(IWcN9T]%Bn[ &Է")J"ųݻwh@g U@SI9&\ll,5iDV {Q,P\[,J^z)%''KL¹u `r#QzNLEZ>oN[n%o '(ؤCFBq $R>hW1#0 R^ ճHEA1H5\/nu ^4}wxhСC=>}?˗Iʼn*$)T36Fz!ڰaT,mcoɴ}n>#PXxRX#0#0@@i*D#k׮j*j#PI@H(z t4rWNc8jiMYɉ$1%͛&\oVP;1Ux3rQ L=[l;wVx1\, "eF*Q6lNPiv9Ve%$S3ă\xn k )3P1#r裏"DO=4ی#0o!sM233_~oQ}dYfid؟nK\۴}+6P"8qb̾;BCvXq;>b҉ ʮ@8q"+4{lU\*]ΤRAOR08c1#0#+0ILtq{f'*~9/i\dj׮8(sT8D222d~q ;fpբE *Em;YfRjF\oz87LPG28ؑ:LBFR*RijuAPYS΀*IbLAVwj hT@$06{D4Hzo#XQx{~qݱ#@IA9Lo0#&FQӧOStN]w$='ұ8Mŧ &s!c;ʂ+Ou0N) }+c m4( >ƏO,]XڴkO]Ytk~H|6!M&/T-O9g詞v:}O"-)F`F`F XL!%7)&!sl7Qқ^bY_u'2DjܹSo^Umۖ<()Vxkݺj $>=!7Emۦ/rY7#;v(Te+ 4" R4nܘOڵk+WRϞ= ē8YQu&=\P`m" s*2Ӫf͛7*d,˜kVtW ]h׮AQأ0{u@Q^wߕeX a) y?ݱcoo-ۉI=Y0q '$306#0#P|(uD<[)ZO?-hNwVV"͚-ҿ*UX^%ޱcDJc[㣷Sȑ#iԨQGiʥ U )Ц}?݄g[3yspᳩU7M.#0'nw`F`FKp6^<gsl~JgD, (t2LPB?>XrjժQ5E Wv)YOaM*i=+Yijl|V$ [MB߀dBG<'v|TFYAVnR XfG ,}v=zTe\4i1WFf@n^qD 1)F2z ŐJ3fGZrF`F;&L-[Ƞ}9֑1[na4>a[䆛n66h '&&j Ph׮]R(R*}ٳg4H3m4+D7 J 6В%KO>ѲSN`Gu*]vŕ@r#Pʲ|nF`F`FHB)4k,չ" N@:Q&I(bX"[ڵJjk{19lU "qupe'NhQ[ƺvp&0"WYD(x#;6Oh27:҉ (8dS~~9Y*CfrbY]}YfrdU`DXm/Y`}Fc$HXɃ1cX~M]wk;Xu[^Lš*#0#"9H 5F:AYHVJ"JÙ4imڴ+j5t͚wg|&mN1#0#9"-# F 'm! T|^8R*dg()#5E8&] Kp^լYSN(#)Ii7&h;;ۡ4:PYH/;#;vLFYl5G ,4@>qj Kg/))Q38RxԳt!惕vmF N 8]6a&_~$w۷)xu0#0hf'=R !PAoxO*HV@PMKKHk n ;gQMX֫W'<oǏ*G'O$'eXj VuU{L}/F`F`FpM V1LgDŽNmWW+p:lRXpi:0)IhDfpYW8'0ݦMiӥ:&@~IqRY|NNycv.+tbxސp0#0@@{6%x"u)_^z%^g $ ; ]opS~!z۸q#ZJa,˴۷v/5mޮ}ߧٸYB@:좋.zT?T=.An%ϜSC;9C'>wKC#0#0!VA!t&'.:KE@1L# G k2:('O!ޘ2t(+8%_c74R m6AOl2 +=S Cg%rΤ&YAH#H'^s 7Hbivp)陔Q<-1JT"~;1(y睴zjze#H)N gy^{H(_|ǻ9]#0#Pj@QP?R"OK +_}U7E=9T_-lS;_`K/@ıG͙3~w6je6L:Q`T%\U roڲeʝ,ӽ{wzq'bcPe1^`c:zoF`F`Fd7*R`P/,H(7o+W!\26%&)iu&h G3f̠~I#BJv5|P'Ah>; ^Kp܌Ѧ S!V|2 dm?ohaiʠ|ZjEP76H'0EBD!}#0#>!.tQH'P;_@8zD<Ƒ%/s!`{!8G۷/9G 8fO?vqY9D S25diӦB(T5"Ʃb|M}^1#0# nj$Oc7rvfGL32!ݻi2Yo8B:vHUV%K̙3i޼yZGTCjWᙽ+VJ axb"W#pL>czPZtHU@䌕ܹN:6"P1N~srPhHvpghHA9&ip'BIz<V<5@(Edc.],j#JHWeEڱc1}bkv .`F`bB)v5kִTXkT |׽w{l$(ABS#b|kJ& _?jέ@Ae{?pPVH&=iu"Tzc/.X.v#@͚7wڄ1>O|vpgF`F` D#BOlJ"RP0igr:vh8䜆6k,#Fmr|chpvI*+ &IpQ|郌mG 9rv1ⱑ Wh?)K..t*{\23ڧ_B AԮ+HHk0A<"ds$Al/e}YTy7xMY5+<ϻCJn`cF`F*y4;R7+l1.[UEDGJ3 ,IrŽh8~(4{m+P6|饗R]HCEL:BFk_T^k҉:tIUh9yDkAQ#L<`F`F_Gsu܅\@jR矹߫kONAB13<[^zc=f[5%="T>v6i҄F-sĉ]>쮲aÆ*J%HT;!A-a!ԭ[7d_|Tn D1LULK>2̕l ' Ip/YW^) Y :jlq_h+1aw1c]Ae7Kl#0#P8*5t2rkt>[oՅxGLjՎ=#O3h}rڙ閘Ba1-OpUW[ P &Kz ۯ܀(kxRw0#0#`@ 'Rnn~Kɮ]J*OjըEִizn!"rAIL>8TdbTKܹ1P7OLge˔ VOq!&W>B")X />,799jժevJQG>P sL7NGNE[^h8^{~7Iڸq#]{rL1JtѢEsњ5kTlР$ [/I7 PAJ,6F`FNĻca 9mݺե9PP;GQH.[ĻZzz+oѢ  #- zkٲ 4X_;c!zPD2Ƅ9b| ? O i`Lgmn~u|ᆬ-[S=p9#'o w`F`F&"K&rʹ|# UDi}zEr87@\jժCM6Q?>}}'hiӦrD_ʁCXQP    ii?@,QQ8Mh@IDATVr?LàP sE:Qx hZ ңUl\I "# [W`gϞ,.05mu*R}CzESNI碾q݊)pjN+Hcl!X#¨V(,'6,Aq#3)|{=ˎtK %eoLI4 3O>.UMLy;XLvZb9?vLRe=ecF` cc¤1#0#LIϠ Szᇥ &ILR "kHRT))Nر߯Mc&<]}gI:C <7vR U1}9RN$U"IO+s$DO|׌f`N:ٳinUVѠA$x<.c]Jډ*JŮTdpFpRL< mN=u!y/^Ϭvb)3n>&(WȬSH'ߧ5ˢz^L2DDs R KH0#5Vэ7?:Zdz+@+J:w4mF?NJ{w6EQFQ۶m%x߃bhRRls 7QB*ۘ 5v?\8A!eKiuA'>s+##0#0&3$6_uI (#$U FwNaSL*.TVmp@jܤ$5鯴^8 BIBQA82 96zt=z3(3l`eubmU}D>kAZELgiji۶n{?.͛'G2F!I'{$hfPZptXCQjQ"/x͚qY W¥*Mq&>>ލxvZkӤ"+ gfn|JJM9wg)("=q)㙑NԹ{zMmX6J$,b ^ 1^2#<@Ay?ttjժy$-_\m^z@P }G?Tv F.~1jP;)׮w(@r{)HM#zyM; L<;`F`FIBE~b˪Hrd111.U>L3Mi!֭Gu)aT ?@.#EZt^!2*XU^ 8-($j֩Gkա][7SVfϦs5k6 q'H'SM0uy۷ $ AZ۞ڂ13"ev([D &Ol)} YfѴis.ƌc5,OZ 'fʹz@QLdx,O{ue'>lwp^zə}vLRKLAuOy\3#0@UAPaA]={3!MAlNII!%_Xc: _c~VCʁ#2ݸf"̬, E _鎖l( og|&1#0#T$"f ʄ+}8DPRlNPjR#P,fʹj1qiy! :bT jċ\f-11&kpcr ,fMFDDʕ+%!䷎;oܹ!Yq=!//O:g@ĬI't+( *GlG hj$gmԨQVE < {pީ 8ZJ9, u9C)Vׯ_O vaj}i'%+2#0n#P6y@xb7٘rJJJwvQJj*j  O/_N]v" We!pXB EM6u\̍Hc#0#0@y"_B vA:W^M̔@¬(n ! =~޵-8> s%"rs=Az8ox4ha74,BElҚ5k,Z~s,˼P+H'pOrv̙c# _)yEϷlԆ!p! fS ͝JBpswtesU%/͞=ۊЪU+ .)LdSqaM T \tl~UȄaV)W+q-1#T,4njdJUA %7f ' gXɕͳHҐxrdF>}8۫LF7þ}$BPQڕW&Mmp]?G;gF`F`\EI)Y&lڰaCDMu- X=`i"sD7͛iŊ2A8Ah' (pv]JBv+fݎ:ud(lٲ幃Gy/VRRLY('#JuRn] l@D1 1 f 2L_j SC]Ww>K}$]aqF+ |Wk.Y WE HN uO 'KN^6O./SXhՈp0#P9}^{E'a|kxTܭ[# 0I9Iϵx"r0MF?{q. n&?>Mˌ_"% 800a}׺k!V;v1Y<53Τezxrγ~Wj"w^xA*%Du.0#`ب>tBDojo$U#jo"v!ڴitlؾ}TDt L|;2 ^9b$[pRQ:j׏`F`FY_B!ZEL,elz:(iҲ ;Kܩ.(b|6mvRRRN~IRծS08!J2[A ",Bm?1?%?{Rh`m$Y yNYdyT*ĉʪ_(`$z)Z~dBsIIA"C@tyzw D+ DSp>ykCP9'TӼ%,4BmAUlI+NO*⣣"|1#xToWԺm;(N! T6mK'. (}a3ִiSI܆ͷ8z(>}0ZojQF^DgJ\*'O?"u*#؎Pd3Q#0#0o">bcV#àŋ EDF'l0N$GقX={ĒL#;,,JzX Qa#fj ,!P1Ã:) (~E?>:Ѧ Is_ߦb/&3ﺵ_qM60dL@G ;{6zh[MߵWm۴unU=dʐ 5 \eĸh:, d̸W>׆uXT.TFxR*`F`F z5ڀAvp^Bҫ@:)>BFP#$e:u dڶmUu9,02 ԨQ(11QrAd94̙3~E< 'CC #8\uUvӨp.Y* RIdX([&z!$(  E #w:vH-ҽnba*kt^'3^cF'yR-y321SꉔP|n[2BxJb*ީ}D? i3Oo*vr̦[n04c Jn?`|.PϋoٳgӴ ¼Ճ(]zmD- x0#0#@Ĉx#] B:1 ՀCr#TQ p#b_(??_I MZ`?ADIÌT8B#")3#E_aW\q mVeOmJ)IF$aGI拐EyOٜC T(@Y 207F3LScRGo;ft?6F`G@dtj|ηy_?Ó>WWoelw d{X';~8x'TuA5*Vd)-PX'H h…tim1F{~l@U@'U(sF`F`FeHC1@,6R:A~lƈYl#)!fb*6o,I" ӦMB/D=tANQ,NT/ڛP6em*f:!))0/'9yBDw?hQpb0[$'NN# c/dZ2p~w:J8ÇڈNZ+.)%/MU~=H7~3U `_F W<9(?VPxO a)6X!3v* ݥn&tuIҷ6kx/L<]/0t)ʛQt k.s=4qDI,Yr%=s2 je&ˑv2#0#T([_#Jvw0厀$QDGZfCᾃ}N ۆ ,Z|9w}K jhI0S3\m 'wc&+OcCB900F B_mΝe˖I2֭[i޽r@V2Yp TڲfG2FEoh3 IzVM 7@o2Aa`FȠ?m/Th>ꫯҤIgf{|٬av`O<^PLi$aP]NXt$+4gK}9yr9OT5쏞W54#0#0p3l(G(`P+TFiLOKuT3@%@ Lw'ޠ#G٠Px"nO:uUV4`¯=k,EX_jgyzjl5 Z wv$,(%1Yވ0Q5c(.:6w\)M|r !A ްa<={NGµ֨Q_{5뮻D^nS)pNkmذaR}%Dx7;6Bo i$&QAgՍYv[dׯ_oQ929Ku* 0QPs ǓO>)? ޚĠÇK… m|9 {L:{=ה6EGGf;g䔿,T{Q|I1egQnV63tpzwcm!Bg#y{\?#0@LdݰuF}a҉ *<]O P]S  * ޴]fnnێ7Rb9T:CPQ,Wߴ:g̘#NT͛7ӏsOV^}1U &T}eF`Fp  Ađizѣ&B`6~Vnmg?yWF@#C8G‰bP bcc-8R1 5@d9TH,J}PЦ)*Ke/>+uh7t5h<] 5 vZkQ^$A%k Rك{ 2b 6ޱXsg%[' ]r%ReiӦn8\!BEYitcT\ Vuqy;%;Iɓ%! l#0P&Y9S)ݱ{ws!3w҃|.̠RV- EFF=Hz9NtwW"-[{xnVUz/W%ķ$ٳ"!SO=%G1yD|?CAwޡgyF+4L2huoF!Fe9LjUq_F`F` hyg0P,02Fg̋R7l_F`p?\(xzy'  ]V;`233ejQ˧NJo5o\Jcfb+Wkʆ yY#5MB]甔%I#zJKSN~YLnu:/!hAĄb֠0rsQ͕uQLTׁs'xBnQ4 >y}WKuYWArye*DBb"(H07@Z Z)8$Tw=/H`-Z~~i5JHx]Jdw2# d8zTs+-kŻc Шܼ/CϿH ^RY9g ywy'=c}ǎG}nw7;Ps~+_vm:Qm*†zO[kejoх17B־}JEm?Nc Vmz*+W0#0#PQ 'b:cj *6*8/#  a |a ٳgP8mzɖx@2ELiLYFN,t@\WZ-[.$sD *-)7;sX ǎdRo?$N\\!aT5Ԗ[Pݰi( j&ڐNv-C9A=(OX:ulHAz^{J*,X I]wp4͙3&L`)`}Z6xa (|Aii 9eU&]%K)YtUW]Q rs H]PG2#" )GHUPR r"DwPHZʹs4}9V(ޓ3m^eڂ`d _3تy^PS donx7NPW)!kF+iF^sO*z\#E'ZDx`F`F I~a&UNw-u.0Gzl4A^sb݌ٟ#6jԈL"&;w$3(~Yf͚tyԬu[jҲprGmօy 'H; {vC/TTج:O8 #1bo:vHsx,,,`1٘1.]j={00 9*fe攝hPNbqI)fݳ=;E4YQT$?+#Tё%Æ`\`om:dRh2t5̑Ç|.,[Z.un 0Gm͚L-[UU(ĉ-۷ |F 8T~TxRY$`F`F v(N!wރJ?A8'"Ł} 3e e/Bl۶ͲO>2ŋ)<<ܒno\]/g~K IfųA6Uq/*.1Sm_ 1QV#GhҤIR 28=i X;d*UW ^, UTN2I_uBU(,"«mT➓/՝CjղJ[A?VXe/=rNAj~uPQ;@@X֭['|"/ڙ0T! ҕW^)1lْϟO?ըQê@ ٤1}\처8Ft]o*^ F%0!PC 'Bxo {fP:I9"$_C͛77]=c v}!rHI^~n5oZyN۵[wmz 1z`ywBkœ0N#?!#0#0U A93NoBIw7X0_g㼌"fAu Ć K.3*C=zV\IR RqԢE K0X 8O^EZÐ!C(Q} Q`ډ< t0b1c=s/a8W믿^[<>B)w_n۶LY&uĚ~twG˗/W'ye944@racF(;=tY8siy OƏEGvX%:pŀ4``ugk={(++>s ۡ:xWwp2H}]#Ck߿r2|3c#O\ǎK2#0#TA 1KOO۷Qܩ2 `4%鹹fjԨӛAZPP@w,X`QIQTyJJJB8!W. 8bCjի' ( ձpN%c% +#$tUnV^m+ U%?^k_~=]wuT47o˰T:YNuMZf!ΞڀGLp=#Pe2ѡ!e.1!qV(o(Q(}ŗt#IMx zW.*G_7z1V g}&7L ;YfѢE6?~\:vG<*.F#2 BW1GV%#\3gI;wZP12U&T]dF`FE%`-Z0_ڮADu\#TG`H%(ĉG 5iDJc ؆m#۴i% |#-Ԛ@'V͘ apЀp~^V-(,ܿG6Bj٪UhԨQN^vTpI& 7@7n#G86vXN/^G 81 S* /'oZ8K}l*oFFi)&"TJpBKy&}Gtㄛ)4^|U 1( r"\Y "L駞zwу>(9+=Ӵeus-Y=V1WTbQK/N*kL)E1(bՓ0 7<,\.jӖկT˿@B'UpsgF`F`EXΎnj4 :T*9䎕ӎ1,#PNu=e4fժUK/ْgsrr" pds|GwX⇣2>]K20 d]rP|Q Ӫ%`V/D0Zf؂0 k% vwvT+)B'ix8{LK%̠8x^3hfFϿ2.j'l# kFiNl:br|8x(q2Tݖ-[ҥKiŊa?/lHt5]<2ꅞD!܎^aÆx z<:{\uU7k׮ta~uk F rF`F`F`"g\Q>SNv˚xIY9#T <-ϱ Ǎ4yӦMfa޽H',33y ZftV8܁fy'Xȷ+VvmjذLӧOӲeD3 4ff[lfI'tMv,ِ!C{凜tR+֮];9{\l8/Φe~+Lrt8z{vD5vx1.B`| J% y1QgH˯*_ ߿P۰aA=f DiS/?lrҩ3f ;>JP9"{b\#P_H"hP/1c]]Τ3`q*+T͝eF`FBtj:A9Xl1[m|33cۨ-Ǐs稺0@@Me m\^^ :/IzlL8QP6[]OHOKfG_TʙNMRazC(/7GJ@҉"@ٺu8qB>ܦMfizډMJ&tܹ.Vg#ҥ =㔑!NU뮋aJ4OK%T(s-D'ْy.R| "\#4Sn{#xjE; ١Ct7ڵ.R6@g#ރA43a(mwS]mlKsuu:צMf޻NGjB`.";oI>DŽ4S~111wJ\fYfqF!ē*wȹÌ#0#0Bpw @m6wΧq7̳'\F 2A62ٿccc<Nj07P4zzz G<С*f~Ǵ{n;O1cԭeԻȍZ"Ι'(MhC,T _% ]wz\֓OTAIV "кukz7H;vf* ƍyjr.Mvh'pBBpA EgF_MC[0H'c$^_>.zp6Sz޽zuK͓,?< "E >C:AJJmO9tbtzAA/ryF2#ա0 /ST!XP\JgD6st?sz6ydI޽a( d8 E]a/"\B'9rĨtNbZDcK\\ӷ/hV8 bs#TaD wK,E^x֬YCW&sBIN:"COԭQI/̜\_|Q>OA hLd'^T3SyTKBeZSNc=F{((y#T@,wźP? S5dW2@UAaBQ*H|PPԳ9s-_uogj? bIJ# ̈rڵk BԬYRRRdD:R,99YKĠazj BQYuzd߿?+($1?xp+WDbKtC1Ȃה2K(6hkW:+[(:zYJ:Agj֨'wشǤw#uB34",p?PϬՙA~ؼy|Bn\3u^[+.0ɢ~z)mƛh5>Z]2,ҏ@IDAT[N@YnA yTÙ{>}9S2UNb"qZ1) <r+HqO2#0#x ĉ@T;]Y e62#PлUfddAfD%v풊3{l(fr ?3558 x!@W;Y/=br&j_F:W׷|b͛7dpFEONhA &Bs_zơ:e}]uēy2苤EPʹR?T{OU]<ކ5Ljn<#0^GNQ=r޼yO?> D0|}tvWʣ B'^ާ]sW(r{ԩBa1yc80vd0|92T) *l#`Ol1F`F`F;Jf͚Yኵnޕb\`@@ y8BL P~~e"8؆/"BYu>ڵkG HR'5jԈM}$kB꼸yW^#ZOo˦?}>LDH@.B!s4pt{@lgcc $^.\ΝkEߌ+pqKRƕj0p1F@&‰#0#0}B\qv0_1ďyF BEX(" dEtD빨ϟ/UJNYp٫(k PC޽M6#u(@  ̮T7PJmjӦ u܅.$]MDs*ϡb6Y+ d?W&:`D~"bBdX!}S꥗^ě0j +Kf R]s59s XB}v+jՒٙ z;4aq- N{[av"n@HAPRL W!WFFN]H+G'%+N 0u֭ud OٶO6F`|{@EHF %}>c&=6*n֧O۷MF{KJ fd <}ł/G<:F2#P*jyO?2anI Y|g?ZE9zh,g-SP% ^Çhp+p+&M$'8vʱr#f|C~TdP E!CcmٺM (oKarr ׂky@{9(_lK,S(RW2EP^JK9GSJǢ;f>"b*[GR3fJ73gΠ"?2O?JFZt&M?9`B)3J'JD ga.]}ԣG{x{6l$aCfEw3˂,Z~}Z|G[ S3$s 6|r!T4]NƢb i*gx曥 )Ht͓킢)B\*{o%}>x`40D2#0#0f(kp`v:fGEG grZ<+f-7bG]2bP]nݚ@,Gpm*jԨa!hcPֵkWQm:BUTB\ss)3#$1A!]("((7o.'Y9eԁ8vxHAkڿT{q6R'BD]Zli)ɓ'-X/G\o ΨQ,yL"9apaiYa k!} ;OD R^uW\A~+6n8;@eFG!kI<նl2Z/NUoXxvgI t$' 7ljxV3(} J">dx/,_#>Vm"=Ǔ֬YsOVu1 soc|#9c-;+Μvߠa3qNH;|`oVҏ?(6 ``ѣ? 0mV[\UP@r ij=Ҡᯆf'mƍPuyWԛ#<"em6$@&BhOE~ 1^^0Saрos.D`XNN0@eG@Q{gzt_N!y$ "$޻BY2!4J4 ᙌwN<2gJb!=p8a*R+ ]^W:g?[i\":B  ޸7**Jǔt]]'/3@G%F`F`F0enA999dL u0ڰa=fӀ!nu^fF8+ a7$^NJ:SDӷi!TJlg !^L+.>㔜l.:08֯_?M2 g81ߩS'JbZ Io;JBHplѫW/9w^c٧ph k#A$.*^oMSN[AQ@}G!x*}h˖-[nr;%Æ  \_,24AVx`1[F`F`Fpہ@d]x1i*VM:|ڽ_U_.ˌ@eAPHDҷ U<1 iJ6V'1wߡW_Km[6[eJ)J~Tt1gDLiAa>Gz:?ScBv< $%`;;w, 30RϝBؽ{t>c{38n:-kv8InZE$ DGcj*I8ž9{8<eVp=CN@R>pMhIl3f~GF4~%$J#;rr@EE3(3+*Kh;ECI)}K}GQ[vmkX73'2#'&k֬8FkxF'%%QJP(=x  DP,0; ᲼~N&˅! +KdǮx զ> $7ܟԆmaI&7")1AJ9+͈U :.j٪U~^ac>|`F`F` ׃mcTcE{V ɦ5nBq⼍[LR(ĀnP*ːݻ{}\I6p&͚kuku/-ڟ}, ɣ>j3`E"W/ 26ol*ji^ Z:!A0@R7+7OLMG!0Scԙ1ȸsNN'VTۀ1BT4dqт&g͟?_L8N8APYlakРT@Q3fșv/_z׍6_E+r.(deP5eӔ{ _9bi.kDtHtz|1m@aDx6F`*xst_Hv~$!$v! zXow* łcKjV[f?սw>[;|֪U+YodkI ZS&{0ڍb]n2)*x(@oB9FuI@!ērw0#0#PYD0{B"Μ*wءɔ-fGEGUi_!4GxHU:"K DB(3k3u~示f2)tGVJO>E@HYvUqj PCxxv: 9Š`cϢ=!v0{$?" 4i"%q|FKA9bdQhùEtreѡCL7yŏ 62 eԫWO:y@h>NP?SeddșzEBX3@õ Xa~sTwE/8⾡`W" """i֬Y|Vfk_/:/3#@)U M@< EQ] , Xƻ H(iŐ\[^OPF㖛hx'kۦmE4xV zݸ=GMEI[:O.&)3D7`qQF`F`Fg?HCx8AbfΊ;p9~jiGm^gP1(>&ԃEJA."ZQb3+yB颴}uCeԁP @biӦZG%~=$wa B@O8ՆT ȸjdwo 2p@ >Ak.y,1 *lz{^@< p x'" S;$F/#f#/fÉoOs)ag7{BQ;vȢ0[YFFQPyLkdĠ!( }-B}Up1bPކgiqd%PM8()%cD OZ?2(H7' *.xEGw,gRI@ٷqE+ikv}F:A d휏;nba߾}T󂲠n  ØE)%vlBva'!w0#0#TuĞaרQcǎoZeS3QK>uRgh7@;Q1w}.YĨ:alzYO|X`ԩS魷ޒ8Y۶m̡jtR)kު-:u85 D˿ bWaV@R2KL]=C=%Ƴ^f͚QÆ /Z+4ի*J uBe=#``m6C{?YakQ}fA:3Aʔ*/s皪[oN:Y*;Jj6Z"\AVG [HS/fG˽ʕ>!:.׺T{DaPҪ@2?m%` 99YԤyKOaϜ`[_u͵ԣW$u".!w5FPz *=OFW͡'O?D?}ڨ}TMr jڎ9LuRuT%xR6`F`F%?Un:,Ծ];t%%>oD R(>(qѬY f-A8ډ~ XqhVz)M4ON]TTNJG bjU1ٞ-*92)3!t̽ޫ[EmvEYxh0=2+mˢPGԹsg0NP6ٱc$o5AY6rĉR DjS/@8H.궸gN0B$ B"ڄ޳/IU^نcZ3>o>}%\p@>a3q^Fr+},2"ۙE)Kl.Cs-,YcިaP1y:$ÝsFwe)͈*XwQ0E&0ax~LM)SBnuF0F'F`F`F!! >xWZe*:SdTzA H8SQYTO)O97+V!s˫n1tP֭w}2Dz{y,UfD)q`eQvn~XNv$Yrr2]r%6Yb"#{e@&>ˤ4 !H@>snݺRiH@A kL"QVaV@=PA` dk%9Q1f2Ѓ~ SAN8!PX;Ge YP`5qˎٓvA2Ϟ=٠W3< jsܞu04.ӦMɓ'~Dze& F{0J`LXC|g|2_gu.AB%P3ǎ3Wޱ me>\[3gʉ-z;:z|WOgF`Fp ۺu+e 狳VVmgp~FaX=V?ѣGߗew*f#B0 !rf$GeQжnAϠ䠴Y=,,@( ) ;KGvj0HNZ6"`nPB2 HA^gyFI"ޠA>}g.29^ /( XNWDRe*֬Yci-@.:yeB }tEoقWP=NfmGQ5)QFCm(uЁV\tڙ3g>ٳgSϞ=i]*BRFYƓa+y1TA0V#. tK|S ?N3zhICVޡ믿{9M]kq"TvO대Cx"0#0#""f'ƈUmz)ڸzyip5nT대W8r50NaSٽ{i Tꫯ"p` q^#` cǎY0k.&"/ՆYS N C-y6z[*-"0s @iٲ)a@12 eD2H VĀ`Ɲ:ny:uO>4b?Uh#⍽nͮWѶ&M+BW]unL!Wt}uk%Kvڒx#qYi!TObqt.e Xy]ԥls ZVۦ*2#` Z  )))̈́CNM[2[ihRgIQj ]Vvn@{C0q@۷ˉʺ_ يo| W^M_}$pM{^:yA%ŘHyMl@eA'Hr?F`F`̜\9p=Czz,r[ze6+p6W.# V21-`F`칳˼Ipc` E\y8Pabof,0B UG kΦ]b;VN@<0`VEk3hrJ6 4E4/e֯54z@@9!\C(vT"L7A@A:_vywޡAI͘@Ֆ*C<쳒h D ueµV rA3K2 v2%d#,|yvݽ BdgA>Ϝ>EvsY_ځqN^AEe|8Ex;2(j*ìj‰V o>o0(/[Z믿6=oǎ4a> tĻW_cs #`#VF`F`F#'#f 2CG\Emw0錀G]Bgux?.B_n :$f6 D'Dlt#cR0N @*@NM:8`֤I~ZfU18V$00N:&Y+Χs^75%6m$ Kۺu+ANKm0`٢ AӿP7駟/r ؀T3o<>}v\ Nt׮]-P!rEuˠ:^v U ŸՆgep g "E V @6Qw:x`=GEq H%S JK]'{gVCCd84(4dS*=l@ϯD?&Ç}+)I{LG83oDzK7Ntaq+q 7ч3sW }vڴibLB@ oE-00PtD: &@ɓR177תN:wS-hTf-jӪ 0]xb0#0#G Ȟ#ΦA$arɢ_W~Tn];筌q'1 _t+1LkdRh…Np.;RT$j"Ojp4pCJfUHd.,*u5Ϥ_IRCݏX9r P\fiJ6֯VOm%%/Tep|00شiS5ɹ,y+✋׌/zl۶MO0C˗/˦ bn&'q3f, j((vwŰRpk!G(Ш'wWqϲ7De$pĔЩ]=NdYo]&MhúuV %o-6"" j[l+r",ĭTPῷl킸DG/yZAMt%/paR3H  !yzû>}X9pgr.=SZ>w$-1| DhN([gɆc| cj Ã}>NW lrC'=`F`F | zF^m!l߶{-'bt;^1n!h 9yݘq3hpO5djӦ =S6AH'S0XTk -u (;˜m)))2skQݭH);wb}]! G8s o /'i 88j‚"8Fj >eoy X E,ٯ*ð?^PLQH\Fe̠_O Cȭ'|RYEB "Sau?P阸wQT )AJJG* "Y>DDl+ֿ QQQ*I(f[^~agg^33o޾{޹ 4N:)qOzc<eƍirv{#9)2 aԗjeUQ~M'?fP+!k*³|M6UDӧp͌wk/@Əs4Mv/P1&}d Tt۱2NOA[*WJ˙ 00FsXnbjn ʓ^~}EE>r" P-R  oR|,:tHfy>ڸqj7ۺ5UZ;e:S\# A@A@A#IΠP+ҵ+ǥJ8& &ELvRwv\l DQ"8jӖeR.O?qO}ެp}@iͪnUO\E-cpޱm+/u7pK>ƹ:9`TeYK:8e6)z/G Ð9aNZ I:A ! ēvŤ  a@Td[5k(qn|zGmH_SOb:| .ʼEϧeuHM҃tR8) j cڵKðXbjpzgp P~ |$8GGEX7`Aqf9K ժ |2̘7O17ULJ9hVߓfE3gչ1J/~M?f B!m}  4T8qxgM6ԼysT#8Ed|qbDJT& 6lW(1aBMNr)% O)E~Wi+Xa'9Vjӡ#U\|t>}] 3UPV&ؿO{ ߺlڄq#=u!Ч57"IhȐ!B<$@u-4KJDGg|DQ&%%%S"OK^U]IUWWgg/B%xK:Axv2yW@Y‚@q 1#% E[ __M7]۶uEs5KPJ~wu( ns[( u !A "e"Di@~uěvK:A@Ol$IA@A@#Q$73nGr{{lPC_iObG9 3yet>;1W,[81;82av濝N aw_*njI/"E ]9N0$^{Rtl)UuI:;TE7nj纻pwYam8}?}"Xvns0ɚ2FL<H'hAbjY0,u  'D ]N5uٲezWٳfR…Afَ㎓'O5 N<΅{h1 enA 7^ [RUZ'3V4̻~ʿ wewA@ !A@A@$$aePū|:զGKX%}a˩Oa'Ca'yu}{(92 +V`&%%^mDjժU¡~aTZj0rCB7n̄Enc_ԳgOڳg ׃6!H#3g2O+j5jH)#hW 2On&]vڡ\`ɖ;֭]C?|=T/L\s J;J}̙3W!tҗ1>n;vɓݶ~44 TgE^3aT ڄ%#i4(0:f<&ۮ$ݍavt׹B Q&M(_d~Zv_J*M*Vj":*YiQװQCm_ KK>UiGi=yF۳{j޸+'gy[F9VOKLg ,DʗW;㈏>ȸr;Ch;3gX*l߲5m}{$TVPU/ !C:("( <'}*)8]4x5 1A@/BV*զ u~ &Tz:&RTpl뤯&/?M_A%V^l|lcs8DIu7h e!gϰg&+t2;wPYVX }=`W^P[JYzD~{hҥJAHl7Zmﰛ\  $   R'NePJ ߼yD.Z(iF9'2m۶| hu <o* NshBN !E}5kT+'Yl8OhV3Yde -o= JTN]zÏޝ #F҉nV'(G ҇ 8,Y5A?"w*̬póoE:)(-4~|G׿ZœjH'b.ށ7W'3c gx9~Bh  '~2|5G!ͺGOrg˄aXbJM**:F4AjCRJUIbgߢ ?Wnӛ~ KvN&*sb6駟z< A(SMDdk{W 2SrOr   p"vL Ns8K\UJ.C9d(DqxX&X91IJV&A z6m$iTڶmq۶nLx2Cʕ]O ͆:$9Ŏrʙ;H%(K.ќp^t}tXw}.\&nf\I"VTq0m BYՈ#(# u::q,M)7'[ƍ&L !D 0#M,!,I3~\_§ű"E|,)BTC5 zU6"H嫕(QBC K? Iږh&?Ol䟖V zY}D݃0NA}h +qb<Xzطgլ]BH)_뼁ΐ0;m<4d裔ׯ_Gx,qڇ1%o ^Ū#Fs<ݭVqWTTRL2>{rfӕt1/ ٽ03cΘ +i]9^=Ch=MN,u-cطzc6uu/ǟA %*{PfJ<"Em:A(]CoTz< T=Y]CΞqA@B<xUA@A@Qe[7 0a`LK+cUP={Sap.X`E,q:hXY.lAj4P17qڶq6mʖ;0Y?rHJèP@AB#Xٞ={h̘1VeBʀ/s#HS+S7h aցVua kEVț-[t $ 믿b3Cpr\+Ȯ̊lYS9]xwuy{lnI}:5 -gir< ӡVN /@@z09B͢Z1gCߏ?Gxj.u=3]O '  p!' 'dgMhTzM*R,r3h*Pr³4nX9q!girעN *U;>5in,{U>۞H'(ēkV<L<Ӽʨu31n;aB<mUjV~&`5sTs"!X]׶c'ώ];wlX _}iN'N}%ݻH'Ӯ];! hGg^_5fZ~rI~[nT|mx[{8Πp0ǎ J OO+W*5 aO?%R`*ic>@\ rJ79ۜf P㔣G*ƒnZ@px&M5ާ]:Js]z :e`] >Ap I ?Kz g VX q MW.jޢMI1&G0|:V6!͛q?ޖJ YcpKPIg@:M:zm<mM`>G{ZGm=ǵj09fү p ز%WWyC{~<-m3Ъ<Kz kO {$   @ҟ(6~bb*aF*Uֆ&MLP"\ьLFL6M^ho^9qDf&t]O0 P4P.N0ZbEۺNP뮻N~7J thp,]sXW?oˑ@|tw/?N UvT $-2qV89ι@XT?ҹsg䫯Ra9L9fTTjҤ ⋎UFWV۶m#iN@0|A 5kz̎4D:alO?|Og_׻~~N>}ӕUgY QƏ X3@C\|a̼ .f&d(g'WOa2mc ӘO?nIJd{DV3&V}1 {oT,p? NU(1h#q:uUB;*UdzV &@ byv)4t!VSYy(yw }^n1-_2U:Gp"q(vƧ/my%7m UW]œ;vI B:m?x &MdlSBB"4%Ug<ʀ]YV eҥއCA;A4l ]àBJ A5po`bnjgSn0B~G{,mn,dq2r!XT8)-\HÆ L4oFO֫O=ql @IA@A@\8 LFrɫJSq^%UW~HT߻GI][/_'&6xjڴ ݂NimXdѹt:$a;VY*("׫swLW괾|ܡ'LJ92N?^j>&Kj*jR 씅ܸ…Oo!J! \~N xvF }uFE_V_{ӘM1H"p^XeDĔ}޽ v :yzbEv +j Or*ĸXv[М3XQ+NlmoXn&~Mǵ),_`>P1<NA `<&+2/ēCyH& @pIppZA@A@.S=eN+fwEgvrxpkԄ7o>[>Dx5$&h1zhl2?zZkv?r$CRzBژدWIAėRJ)rV#ZhIi(+XY!^ =ܣ&jHWCyg|R ^zѵ,w}h&sIYцp07.'ơR|ypҒqTACNTCX8Pbbbm'v;w$5MxM{ }|e)2q3_~V-M8@y嗭}Euy% *РAy[rpX1 ≘ p=Ɓ Qǻ䳉'Ҝ9sdFn.e@fbΏ{()|ڲZBm&`8X]qӉ%fU@OsiJk`vD!OBhC"WٳgOJgP B$qY&@fe@Z,+O{uJENƤ*B@z?;غߑE˖*NnS:AA5.s\(ēߙ9G PX-&jf{=R ( "-F`=9_6ݕQ>x l: dGyA@A@7d(;e kX5n28h&~ &>ĄرfH| *^:Vfz]ݺu _W@7oy2 ]ӎksu~7#GtBhbŊy 2 ;Μ9f͚EV'8זWyҼEKWs?EYt<Dz0f9D B-xz, 0N=& ac0iņLs%'( jӎVdiOi1G:?&Of-˛t  ;@Ba01W1,ɪLzqh}F)0<_(Y/$ Q:,pA3#1axԻEAV/e  G962HA@A@A@pFL'jժ_|\QS˼ε73ϹTc/vGtZЪ a X5ɓ'+HשSٓ- Tip -m5I'Qp`'܆ ~;pRT@3ͩz:4:B ~ v{a'9wUA)#tR}{֪ d.Y^&L.]/"wSRR[n*`&MRCXl4Hܸxe@:f'pzl\OvRdFWdZw 6+2c_lU^Ul JVzdaݐTiמfNS{pM02JD[;6ta'4񉗈'J(cHdj"1pnqS\LoR6q@ CeE>(]Z]TH>3] IsT=a ej6rǻʅ c-ZP0M?}S~{[m\heu(ltl ڂ}83XVj`u~AD:B!]V)tRR>D׃w}7}}Z"@IA@A@./Wa̕%%%o3)|NeY=vP2) {$$D+p&cd(x /(W8UZ7z!Qg P3V߫fctD(@AV)= ʱcR͚5m۶*+#'xa:)? 1'(vj:/>XYltʁx"&hvsL@}{x%_sU4a@F;xUFڵS@V{'B< HqxN?aӅM62SLvHwcTo88Pnq|?w70,XJptbJ/oH ULt0\|9ժUγVTl9EBJ}U+c3ς7x_M0(zCg8 uPH ゔ `F |F[$c")oبpb%Degg<ń ֲjи UqU:]O>@ JY@Ϯ;g. dnM}O(JH`)Stln޸ʖ+lg P #2N ÊUv_\ ܳ3C:Q"\OC3 @"-'x¶7'з؉8;c<.ۂ <x<&A@A@8 %9f*$ =!qA ca *D v1cƨIQ(P,0`ܴiRC#Qx7 V@9ͷ9 R )v Dl*(Y';vfq{GF҈W_vLwz6pAM.ۭ_]隖tQfxΞ=:2$Ld W_ } Gf<21=ruܙ8$N XO8 mʆB~c$P N(X0V0>-ٹ1^Ec$PTcp³ 1wܭn'Cpm:vHA*P1ڡשS&&Ukr}1,'u9wlb@q~ "`Ynw]~G޿x;?I1{n1f5WjzMKPWy82*2m|]pu]Ju#Ox.5+Q&,HϳݷF 3AԖ cb|bU;_T9t~ס@>6M4Y.WB4yW z1ORIoۮ H$*K'gGzVs >\Epr͛Gj?ޣvs\2t*41Nq '~ +DFQrbbduvzJ=onelUj+=@/T#+ADxb*W&;ʄ.O옹Ѥ =ksHϬX>&-m0 ʓZ;]:̢ox9e /:tuE7 od" POf\~CΟ;9̡[N%/䋈db9Eųz7Ҍ3L.Yr"U}|Q*TRH,szoO|Uo,=c>._0?~Rr Y~C.OKʰ B< A@A@ECi6~$CV4B^w'5 (5nXKD?)Vp_ըEW $:XQ$T:Er2{O iWIEڵk1U5j0n!=Tjdg3ܷPq =Gۣ lU ghn4p֯YM*TEB8ozE9YaVWJ) r8-΃׫w*8نrS+ +yQgdd~Go(_qDυ@r,I/A $J  W8-o5 דtN}NYx8ѓ׫?8*+G&`iݺJ9\{gYZ@@6f'D$Olށ_apJywr]:gҞ-dpJ/))J2oB7_c yL`8c8. 'uԉ~GnB!<?0g8?1ˎĸXW#䂙(br?+ܚܑ㗂2P~M}MC6x o Ї9X PI/-'/\ m]x`6 fTa2}Æ|=cʱ K^T|Ir2h E`ގ>]~M|U1UOzq2(8M jٵa³)K+%܏K,qRٰaݻW'%(hBkD U1}}1 i&]`'*T}))AoEUlLF$נmgr{g4@B:8 ,:&(3U?۫"g:uБc'^(){G3{[F*w0ڃ1˯R J@nD@'IA@A@BMC0Ç{MҺ@UGüvά})s#i\ybH})vUV[`<,W8Ρ5+WPA|vZ`>mbgqB 0;BƮ婌{J_}' ZOA4gVQ:fG8bx /տ6Έ*B G M0:PCȨ(^ h>:k׮ugYjFM&t-{];r[3D2< D?ԐC=D1-TC)y[?{`wu*= a8Fnk:ߖU(8 o]om,_Ƹ+vo2yLJzH3õʅ;q8 63 ':xrU qwH'H 몾ڵk+R6HfR &L`Ut};wÇS͚5DMW^M  +S *0Ք)S40+P 2^cvޭB"!ůWȗ۳#! Gy+$c@"-ea %+T[- LEQ6s:^0:A>B<A@A@|FI&`+/M8\E^oGֹw8 85hHʔ d8ԣчVV Gݺ{ءޠa#־1A,'y֭j2Jd'\B !BSA8>i <駟URV;,XD֯ L!JakZUvDp`-B]mg8^G'k۶- 0e2aȱy䲁!>0Pi vo8٢^gaʩ-qȗjݶefpdk9su;ڗ3R|7*p`%`I/8O-[ MWT)̓SH^ ΝV})}>ټO(svk wI͚1 K_~R9|KKF*?ܵA]@Pb!ߛouԅzOL!5   \`8iida!"ҵؑFT@YsqwRq^YeK7qǽ-G_YFӉsocX dTرceϞ=.US&OV!)rMk|,=,Cݻ<~ظąUVѣiEYcpyRSW.|ꉓ!m'8'Nޣ Y\JJMa*: aVգpo۶*WL5M*'0@byS:ޱ-lˆYއa;~.H8A ϬvRn]6l ÎjݺNޝ* K9DC77~] ɹ2<;Oysr@#.'L~}VEMv5 cszT?`_BI'K3nܸl!t;|i7M8e֣^K2Gvt]vUL 6SE)VG/ FCq߃ lb@N H'֭S=LV C.AJD@'WUsA@A@Xä2͟ǘci|֞˹"L7R ŹA;wt G `$xoE4oVIXpx/\MY<(!lߵj J,%KQA 꾘1,v|w* ڍ7Hz+ա_UIqlsw BKٲe6TN3[Zaxbgg"8 ^T`5 wU \+-w8$/X~=+VL2dE)[ʞĊ]qqWt-iīք6sA@mPwA(t͝Lʖ9XYdA681l3UPoƜv>  S4?p>Y]l|ֱwtWH;wNp\f9tVw7ӫ 5V(2x>NА5j8҈68ƌT`4iB}UJ(< ܹS) c=t;p.NӠAf;ǡ=6"myiRl aOS͇&G+R1`~P,T4]Cڠl?C. AC2aoP g[m3Pvqf&.:ʖ-],W~[Ė_~dPm@Y}vA*^ ē.U   \`D"&!{3j" +%}Iwx2E0k+Hg WX&Pos.]No͓ʟ8 +#iGNTd)J.W߽wڅ/m N 0ApVA?XܱcG_ʇwAGQ?5B={V[$;.C pDhKDZGE^»CnԠQcsb"NS4/]ݪ,{W˗7[QxuM)["_ݝ" @)vBj6&:Ok;%%EPrA_ }3l#K?j>w8@"cPVZ1!@|WU[dHWeg5WHqH&7¡w1t]Nۂ/B+Xd>+TYZjE ?X Y MO7j!C}WN O( ZVp~?b 2СCVZJJ*!0/]@IDAT9qCX.:8W hXBB"5wJ1[hۖTBEe ;Fv/_=wCsVGmۖ&Ol EP!74ÙxGV0'+NcgT(D{ەCϮpZOm߹K)TRMS<ax,2 @p%h҉n2&KWdw|[s yOdBP~蹧X@!'^FF%6?qe6\\cܟq6A<3SýkJ߶QE3X:v˛v/036͛G+z&wtctN辻uNp0soU&++b@rqʑW}b"&~|(z :A@FCJA@A@Hbԕa&AzZUY?t+຤B褔Ǻ@Jw5OmڴӪU gFf&:]rBԬe+;ڡu *Ǥ G-V<VC6܅#F8JU7|8o}YnCVXα8aJ84 DG9;rҥI 8e\xNL~g߷7G1!1)QYXVXFMiꍳxr֥K߲ԮM$JcU^yOD?Hղƨavg„ Tzu'sժ"}F!]VkƌԧO(hoMpyki'錟0޶!5U]Q DnA{a?v*תS6iBY p`q"ܑa=j8֭ +≣pՋ') 1q_~ nJ%dr`7nT!V{QSSS3^9]n?zS(sz4a| 11sm)I?i >`#;Nry˖-nB_?ê6 4_]r 2H+R 4fΜIWKU%먋Dx"v:uRc\u&W\Z SD x7l߷Pwaxt@|Ch;Z(Wj3h|zjS9zgN y@ɎO?e'JRNxؿg7N)b%e@rBŲ ޝ~yf OuvؓO )[BOBT-  y8ؼql  (cǎ+lSI&J\ E)'E͚5dL8 pf`] l ڶWq}$=zT]/ң>urǮ. :q*غ|B>z5S&O9kvJ0kWrMd6mu+Bݺw. ypAGH6nXv0#\xK<&&MR 8Ҳu(!131PVDIV*JGB=Zu~~Зս!{) bܫ%W_:'5iݺ5}w^W_ph 檯$L"P{P-hcʞ~i;N_n (e!_RTREdOj ˝|l駟|<Wcǎ9y:ǁ_:>u9׎w<. <"EVoKO('\q/~5gsddv"iAĿxJi  \d΅ Gw+S}P2 @ PW׭]S+*+u@|Hk+Ttv% i@5js^&4iv Ub}(j? J֌?6lؐm(q +4L ߧ2eX]+[O)v@^ΆI뤸>;.l-rVVZ5]PRT_|;d\2g0_{XRks hvVưl:] Hډ8T- SL,+}c8}O/P FQ~agmŊz;vlߖO=BE/ , 'ҙ3gT2|GM>]6-_lc(g速\008Uc h^{m j;}dz֭[c-Wy?x:NS&0K Z0/R `,.w $f11,ƹf[d1}޻\|=19d ?O-oٲ%5z)߆9^XxSH'v4@.C@'ax{)zG)WT   ~$'V;zp,半'-g ȓә39~o9 1 %̈́({jEӊck# S:.'&͵avcۯ4{LUU޼yjބA>8\/ *( ae& =VUa3Ic6Oਿ\ N>8X 3p4H'g{ BVt҈oO3Z9[:tJ 8`  pf@Фs21à돐Q6m4X?B5i=%m+姖w׸1b  _~eCN^u*W hiwKopؚK}/^qY4 @qȝ2s o޳MbS fjRϞ=3mGi ib^ FsҥJ͘!~w=`?A[j9]C!4*Q:J,Ƃ޶JU\ndx6Πbg#/֭[)*X)(g]k۶-i„ vzLɈPIBz,\\KK7('}̒40Cn74xPTA@A@@"&0,Gwy&Mu/,j8jk͡u JE*eHd֪U+*LsYrws| &ř0vX BFCߪu|j$31Y2Ս7Hxhkذ!ûc-Mߏ{b`B&_vڍ֮\Aׯwb>RLɭ\ߍϑq>UDp9@7dFv /崉? H'K &zaP|pW ԄtSMv3jueg/ē06i*cSO_ky  @@PlY[V@N;=ReQBҥ܃@J8E6mP&0D<iW2yR\ێF)#~fܹW c1L_ N2~m(G7ױ[7NeOt% y)4Bh=#X0; /PYF TN'ƨV}>|5Ve_!pnF\B`3Ǡ햛[Rɲ%  ojյ={Ĩ& 9&ܺCLrXҸXD*@K ML ֭[OHöу(ZiGE<c^Rm ^Ԇ022 )+Оݻޫ~}"d vᝉ0 p<3F@) K xw H?P/А!CF߯ sM7zb8ڜl_<ûN:A(x2L'իRC8ǧzJ!ԈyhaNl]w}ז*noG!손p0XB&;;{@~2FZ]҉G${ytM= p%'xU,4s43wiaLv   MP$͆ iSz0܉>8 Jf_\rj/&2:QMbzX:p$UT5kʗ&=&'*׆~}v~Ǎ:=>8D x=(e5k֨3C ! OmneIBɢE1֭[#!OpM zsLCeƼޜw87nLy;}SHKe[J KrѪT3X a.r= .t렄S},%ٻ 8+/|$`a^CADE  EPAR ,4w>μ彷{Lݹs7wܝԫWO) U< HlH =e;C5/JFz?q~͚5fPo2oߞrl/E?Cp|pt=CWM1dmNo!Ԝ9J1mql)S)wiժU ͬ)cO fɢETtOZd~eqTu"kʕULn۶ 06%KY}^ 0tPGi*|z]A;w>J,f R#Hn$gΜ91Vy *f4@$WofNvѢD+$1ƞF|" "OB^ߣEƏg_xx!'BՐ   `&;3S>c _AzEKMFLBc< 1Ѫ   )Yzu >XV xǪ}UQҠ Hpfc'O uC(&cU-R$tJkcܜWlݺթchhwp^t0T )JrؖW8l'!e}]՟Z"%J(HKl\nC(8D[lڜ)PA?6l0;ADA @ZzYt*.`bX$%^~@2Ao4^, \]իZ ߠFwTwx3QmXvlRR"-eRkՖCBHhbqXlƀiF:AR,|$&*Ru/}N%Bcb̈@7szwĉUhRIQ%KRpAoБÇ]O,T,qLo y֫2A@A@<I=&i $D>zۿ*d,2=/I78ƸL.#pPYNUTL_̈3KH'gfrdȌ|>ˍrJRP( 2yB:AN:S\.1!Ax0WydtdV\n] ǢJb t [2>_/BRX`A?Vvt8$cƒ$d瞝f9fãRd\•t dQmTCpB]iqqFGyOk# !3?~  Q&~JهH!gLexP\?{wt*:3 `xHEFFQQ-)G$D3Ѣb!tKlє;MCܹرuu'`#CLԠA?< @U;1SH`jZO *G} u2扡A!()3LjwgSŊ#}5/Pؿ x(4#+sdJA6A&)`;cvW,9c Jg>V&زy rSaCmN/ۂA[ؐA4aXXLP ]C3?= ?6{`A@A@R89OP|\tr*\?dV%u1?Nt  \g١{$M Iō;vx@'8aP4L+хK8=ooӟ?. Yk џR0=zX;:.s^pɗ7z)cʕ=;ޮBR<׸pN,m8Pcg LTQ1cJݙmNWvdm\#,c5R7j5A$ p-Z L |AٲRŪ)jPX 2 IɊa > iTȓPrit»J_Pesrb/^X8t$?(;+юm>S2;! xّJqN0lw bE(iӦَy'{5n"'P^곑j"ZSXDo0"{s~BAm% *tM4).t8KnNe#ިpgP ΝJHqȑ#͇\n0l|^"+{e7 ܆.O)F9}ps% *< *=򓏘+:ӡcQzD- @j#gX&f~gj1&#*.'ph0 W^+ 3?KڶmK/8]"Шis!GJ*Maѱ:@CNY`rU !Stb##mvfr1%(t5q@Ej`a5nf҉D^ѡQ2\ۉt Il8*NVUBฃ~9Y3f(pIPEW,YBU\^z% #\bF Vi֬ZyQm43?Yhݻwロ "ݵ# Ha.k93<~),2M: FA *nVֳgOz]%I[2(+9tK '(bbcsPvww:Vk(<-Z%~FyA?S&B< 1sO=Aߌyj֪f5  \@9Ϭ Ǘ/i@HL?|Ag3Ϣ)kDVV8G._Ȋ& ; qpqBn&3޽{gaC(:҉En RdVvV38dƇl3”h cF w{ʖ-[K{j(Oi^ %QL$;N>m5WH~Adoe}6Qw}OaƯ]) („ڢ= ٷv}w%,e(A=䓊'8ڶ':ϗcY9?G+Ô+w^dg]`eӎOifƒ7e˖twg af*x?.Ic3կ#,Pf4ȵBDA śmr^n=j*b+֮YCo֗px6D@'y_`m{;kR$iZ  ݔ|nce׫z O5im8ɭB8gNrґS~#n:́~x) 2-p0oI GhذaЩS'v04QrwUݜ=V sx7PTAV4Y7 @|衇12 )&2:S BcjV˰zB!45vھ݄_{"|(*XSG{RNoFӍBT#6m)tP;:v*yױ ng Af&[רU.A%Q,̓uM1P.S /dwX 8}޻-fR^$Sm0?W6e2=S$2NSadCA@0F g8dmuOl}{vQ!,&T$2oBpʙ ŋ͛ Ppze]ʙft*4Kz Mzd'B0?s)NN&]wӇ6T3g$ƺbvd޽mg3#-gsؗhC:y:BuJwjJٙ҂;Jpp>Wq?aLuX>sxB%Yխτlú- \\bŊƍ))s=lcj)^suNK:5Izײ2I-[t$=[oN GTFo !:- ސ,]@k"T&X1~~ Pѓ&!0\߷ma¢XA@0^Ӯ;G !o {   gى%qj!/  3N1x;T2wN{c^zL.g`|jzwX,}&3p]݇THCmviqׯ"m,Bq=ͬ'OҴiV W0CȒ9sM a5vvCvѢE'!\ҡ#G(;\3gY6M^(DWr(!r֯YPJO($!EM1 uq ΝNRK^zN lm=Z7߹v֨ISjа.ZJdhbFM،id=|I[ۚ-\Z5oJ﹗^8XŵM,A@A@l LtfÚ'rR Ofz YBhxWч娫3`+3zFE}QEဇ rrteO ܜd`DO p9ʖ-k"6wg]vʢp 5aJ!ݵC8cdDC֯Y .zR783gam3XUoODC85ߘ&7lXP0;Pe}uwDi+WT H*O S&N09E-D [,bO\p,jՊeu~&g{Px!N^O>J*ѢEoҥfeNKؤ1j֯UA!sAPٸq Bx# aְ+S޽[9 r!5[ ,pj H%n@V ʏ%$R2;$cծĉpgz I1̴Ρ ܑFఽYfJ5L:A"S :ڕe?JhO|&ƴ6 ^z"BxzmZēsrKM[% LLsw]CV"QEԼysށ,֭[Ǥt$O]Z@IDAT'Olbǎ=H.1&l$&?n2601+]R";t5kR*U,K 7|CV9R ,vΙ=+D'K'ߧsg]i\(arp|kک D =ڶmwyRy~,dpoAŊ6ӗ,Us@ :2+E_SC/_@ةS'&TQ=x_S2 }0&oqJTH'OOA/ E4k_aP#  7|8.VKo-g=+zyJzA@ Iiȧs< P=˗bbbl`0t p Nv;ftgpgdpɏYƼn:fj5\(6ƞEO<"xR^ܟˑt֭4}tǶ^Yr,;wn>ȳ&]gޝ?Dة\Ua2Ϝs c>nsq\}1`]:L*&XUڣ9AF#+7,<7T -hP4IZFX޼GO3AHJqsfe߿B p z@DCܹƲf504 -31pn"%g-Ėl̎%+≿dZ5ʇgz |:UP݇. kԨ{ܿ!}֧夰E`yԺE3zհB*@@B8H+ۙQ&4pTdFJj/ kx'_~:|`넆@Zp1#ހ fY)1@iNae?,X0EU: ŋ+I6mR(;p*`Q.\@ 2dөo:2AY2g1*Ed̮E87lpOpBx"8DB5HS1kj9jlt2" X}ɧh͊";ϞGX%J0͝K;#7T}^!.{6?]B`Le/f>M7I1(,odr*8 7Oaۨj FG9BjճgO] |ʉt*pժW[I#+P4Uv.;oS2% $D@3cAYeƳ拁ĸwex@= 5j8\j@jB8'sϩwԩS1&Hx@A:!Ybޜ4dcŲiT1IW_.]S%J =m/+IFts5Lޟ1ck3V\bVKuK*U9V._B'OY?TQEPB*τ .}w h~Y!G7|pFVsQ}T۫ 搠"A"^^l̟7nmޔڍz*lE  @$?YɓZ>6.GUe Mb4SN-f" HFCXY~"W@ E[\O@hƍ1yDĕ+WPCbedIUG/}jթq'h * ; ض]V_Ym\Y hРAԴiSW,1?aN3i2-~,#u%lOXh"wSIL7]Am 5|2򋯸E@)Oӏ>gY#`adF1_=X~2̠  p,Zvn||d+Xt@n YxF=iw}"\NN=ZJv,!]P0JGçdn?;2 8 mxZ֭<׮pL4I9`il3yZ6~ܹ3۷Ov,1ük׮W?%LU&F"@Nzg]CR"׫GlE0{;IY(UN&R(ANJ0vg# vPU7T-g_t)Qc0 꽲w^8frʑ#r‡;Am@6mZ RUZs=|Fڻ!XD,nݺ)2|&3(w#Ըn<ϓ+ JP2m X8,/0aѢtk[Lv,5#G(C]+ &s¢;Y mAoPf͙GӧMaRiu }8Y?@6ʗ/OSLTcJo 4?DqO_ul%4Fy~fz=6q-\0`%Jѕ28o!&h@jj{Cph1Y FGn8q8 rƁCR[,₀  x@,TΌ)"<+7{l]]Lr0&bgY_gzߟ|AKdNe+Ukҿ+@nJ.B 01*7dtg@UkWC@:rBH G1c 6Z̮t³8IW;*SZAيRD;]1=ȫJ$My6ɓ0 Wd7Mwtmc XDLvVB8NoW3wڥPhL}5Cbqk67_EYo2nt|SRZzz)f{Ciǎ)NC04O@ɒ%e,3\ IzbP *бIN$-Z̙hwyñf͚*4Բ\|_N8Tep.)B!*ͪD}>ŋumIe*VL&aZ+AB*<(ulۺ5R*H@_7{L쳲W2+"'a\7o>'>A`6ۇ~1~~4q6UQ35$yxV@.~cԸIS'C[CԆgwH4q^b2q-u> _V2?+Ua)&Cyږr<]"ߺtoYwW@*- /揾Y,fXRrU*ZE91A@^ i ">&cf=V C_avWZ28\ IζzpƍgϞ4g~(;[ | HK>w^e$Hƀ#lOAʁzKW(˳r2sAzІbX&%5"*WŤ2O@.LNI'&7{2T|O 3Cܛp3>2O{6Shg*Qk֪MUUQw.B,SyZ%KwMFT0y'$鉡=a jjViCRʖ{_pN9Q]e-I 7ߗptYkџ '&@g<aƘ 8͛7  Q<)h?v:י^yeaiT0iٲ9GIvvC~zhڵy)wuN~@"pB%x]wA()iJLXc'!JX1'{Q6tNۀ/վ/g9 Iș.w_G`   #%ʔmv,L ?I@P!)U-!eO ܦM5jm۶qI3)Қg^Ezrd+ Yr  瑕SXgΜj,fѰagΜ;ժU#8CxlcD(%A:A'OKr?<yOPG~[o:Ptxų+2a*a{+hy$B%M}f5m<[[;]9,=c3f٤(ͬ_{ <D% Փ#fxT !ҥKi˖-㏫w?Σ(cg2D_\)a c պr84w&g56(W_z@P.vIa&"Jߠ!%%Ar:w9*8MRb2T5VcV9NG`RÂo!sg6<1Q#[ ۾?0kWy2ƀOme[wV3+9?'Lkױ3UY~oQƪ)u7ì8eFw0\L~L#?w 2ߔOk.|B,wߦSr  af._I9; )&0RC3챜9sZtUM6Í7vJvÏc{rd2hݪt4TT=sW(U g}g\0˻J*ԬY3zꩧhڴi  ~Ν d!8ONcU]|qi<:7t:u*=sCW^v:,z )Qx(?d Jg69AK~y)UN:@3? !*@^A } !,+XZ`'Af w:}8/:͝;W:Vbۈ9MZl_lX׷F{i ]x!l H{f%O;dDb'PtrʡT^]nM:}O1 *-oy[jBm,Ca\*{V䐯qF,ONM7@Q*+2! U" `lh&jf$w_ FM?g'yrdWGv&8"Z?UsCxV @BL!sEZt=0Ǟ!Pe)b*!4ߨY4wtJ8{xw8ꇙjwJΫvt%VA@Gԗ`  6|~/T~WK8` U| >@?z?:_?Jc{ ~fh#7oɒ%O>4x`aӧYfzx $YfQ.]pucҰ]>Pցӊo޼mr|T;njz DQԶ =k׬:fk 78qO=G3_$h*dD'Ms({tA 'pb9ڈVQu|%*.޷xv@>r$1jPmn8 czwUr"=MJĜ/P2RZhAz+}D& <y*wǜc,X.xbbJEm9V@<!DzM0!E2:ߧDHQ#?Q³%X< +BmG?=v}[e3_V@Fl"d児)b4n~ *L3TFMEH&IY֗]$+#5GgtwD8   @H04[nJAN*Jg-" 9ɓtC fv?mᙦunnuׯWNӧ+roS x0B Tn]*b,p͞=&OLٳG9ld8Z/]Γz@8!̀O+0;hb9}+9b{ThQʞ=%ntڝ>ޙnUpLXxW؆Rpf.AІvTDqHi˘KN@XY-AxbCAH.݇qfA/Y$P0iS9Ϙ֕1'KoY*9Pնm:8 a[ -F'yl6}؍E +?@ݹs']<{Ybtu/:??͚I~`ɚuVS` D:9DJkOtRZ!4k_멧鉧)`    "I'ؘ5%K=Bp N&Mu8_KhJUX"QNZ2!dlĈe˖'dARlUVUj)w}AO@`u\ W02#5X¼+UfOC5s; HgPq5#\gU<dcKJ>K,F4o<>1@X(i>sh´?D/6lȄ}*oxѵbB``Fǘ'S*V~X/^"ST^]ڵsꑑQԩJ|ۗroOH+,y R+a\9H=kAlժ*֭[UxmJjہmF`)vȐL4{4)عO0& ZRJJ5nҌ2O(U,'>{{XO[Ky{c_?5CG/d(  @p%a%iw8A٬G3$A:`WB9rM,Y#'pK>6mrRիWO?DyU?(?B]bфD: N\‡2 0-[6ဏ5kQe&" N<+CN[P/1#9%tCgp.p_sbλ8#ڱmK'}? 7}o޽'P<D]v#F8< (]HdXA!g۷β_Ic m"}_~eKTP!sDqXbO}NZ-a\zF0#h%tMi.*R:\{G޽{7d -YD]EcX`VQL8|Ane@}6Ֆٮ Y &$&3au];>A/x|r$|'1?!Cb>A@A@A@\8J m4WsadUBE+870uOz}Qf#33gpw(`.Sa[Of͢ÇU9ڐ߫J{v/Lc?23yV\O9%+{m+8t#aƪeyfG/J,IIIaa=ʗ/T|;uZQ;~4~e5"@M M@>BdLNss}4["$0,PKp{ۻG;sػdzngr{vZT ēd9r8 +hOXm'Wl;_Oy^OI ls;$|)YrtPyV[/ԡ   2r={ָX [?z>'H2eq[pbt1&͚]N\rL/2կ_/4/hF}&ι kafc$ ͩS˕+GCuWJ~/k MPlt$=C  iʛ/?-l A&EwNbe{7٩~§*@ QĜ YPAjIjFWL㹡U3hi߾ժUvN|3"cMK(H#>R+\u҅qlqVRu1 K@Z-<2!+:~խ߀|n<:-Wd{:u*ծר)Sfj)ir<ˋ/D^'wX LNG {Z6i(_Q< {%ǰc|SOS>xd :IA@A@A ȜfR >Hk(EFESUO#gޕn|b՘1cq͛ӢEӖ͛T>'xoH72EiʑL`l,[llqӱYƍDڿ%1aG[zVA"oөkJn _XPwߡ+}_;XQLA@A@`D &r]ٌ8 /[L9| ,( ^Áӧ%'Ye0t8m޽z5 Xv|u3];s8@VRJQbhӦcԸϼ4 6Z(gfc'u %e+sDs~"0$sm۶fc-B7;)rKs԰>L:AeȀ`t{>9|ȧ;3@:={ea'W۷.wHcPoGI8v:t av װGo83Ou3f8PA=qXW#1 C)tɧGXAj׮p{#'+.U.NYgkx!=dBD3@ICC/^Z0g3k֬1'km{ !5i_~ɓ'+E6hAm D#KP"<`l(| ׿{r=A@2ϛK͛6Yɤ8ᎀ ;d۱};=Hwdœ  @:G *"+Efcfb6΄2ʳ7nXO~NUnR;5kq @?+cٶlYy'gvjԨr1lׯe+'̔YQ' ne=s%n[gϰ#ڏ(%$$$~Νӗ_~D:jHݷppGBx{"իC pn޼{=ǠCa a-}t'A:Z IضSǩ孭Ofq7oJ heO/\ /劍Q5=z M+WT} !o4ȍNё*OrcZ:팙kW.`e˖ _ŬZCUH(8=7X9F0bŊThQ:}<%b+dm^A]AŹ U;&o|'isX!]@I#2ʟ.-e'$(l<څ˖'fQVVO{v)g;lxrNuqtA fo H/"BxSK0`(P(Tv{z$+s/_ *>[֯1?B|ܱ߸rMcZu&hc(ۧћo"Y5Lp0ٳgx9xg`&?4Pȕ;?͹PA 2)fñ}>_,C]) YV2*8O2ժViѦB+VP5{V$ KO@b&` mDm2'I']+D3)a8 f/lٲ݈tnlܸt,/1Q#) X$'҉.M,|$|ivp%uU^} GէQQ~լ]GhTb,'z=!!g_G|Llp(9mFUϼ}ǘ`(AA@A@ [ݻ-{tRJ2lV6;; [cmopXF[E˝H&KXK 璶s+a[XΝN8qb߿֠U#\36$>@A~sR?|'ɑ3<`V;*f>7fIk׭xZ\ARh1p2Ѥ!W.\9d B ZUV(\"aϴuU5< ؀|%Pb.XAC=@D[""T:JA)YW^px:B|;t6 U:{#ta*_:/gٖΊ{q,gÖ]q"ܹ^UV p:o `H*]yMT:K,<(5KYd+K.obȋ(SZ 9$uؑ>#ɓsLK/3+e)e 2|6Gnɫ\O){h# ēоa[ (4~<=‹Ե#j    G l(vvyzIx''?aE<ĪUA[իE,P=wCq3Q8lP9|c7Bi峿MNDV1G1?<ӏ7)R2a Ҫ+U^j׮mtK6h/^M uIKQaCVˤt4!QR:Ƽ>sθt 0u 'Pu"?ɹ f_sO=!ER*)dȦ  ]i{ ,$eA@A@B>}ٳU@DݻrRRR8b8|Gz1 WF#Ә!KjzٯU`N@pg~-8%lo8/OUX!]+VL9ᄿ)3;S5LڶmK'ϥr[zUibqy!ʔ-G Iٹl>p/P.PA2m4zwTH ADHHH;Nt Dix}jEiۖMԈ,Px'$tQOs])@sP>SXD",GԾ}{E_))WUk,H gGy||dGـ-0x_ CB{=JqC}ga:B<_Sj޼"RoZ\B̹ TypT}7͇2qozvXTzg4߫]mݲz?1x]f^'| fy?w&9{HϞl!EHI:\Iԧ7 ](c!eA@A@Jr礂Bm۷fm 󂙣,2Y}+dYS Ygb,A< !_2Ѽ!3 yǘG8codtCAuJq^+ )hP3_29`k:i︷'= {(l(`& 8㡂beh٘l [M+\~w֬YfejV`AnzFVlĈ$vIJb~vceG:u82Ο?KN)嘺uR׮]oWL)3|pEBIqrwΝ6lrWjb0w^ V@mj-WOFY6-QJ\0@h,kӧN~5f2 " :V4Q};gQUXQ6m@QI2)[J:AdҍSYijK=216k9 @Uj'Q:濋S꒻ ?B<C!0v~%4.\NA@A@B (v(CN q?ùY景pXhe+V 1d_1P䌐:ׯwrj_#%J@QNdQ*ĉ4sLt˦Ƭ:8@IDATdR?p aw-iӆ @=z */IB8g\d@9cؑJH4{`rd[nSҚ-W?eR>n6E9#lQVX 5C;˶m݄͛;~Q5$8-pCPB*-ڿdLxq# d<>}">,/E3j|ѓ1~!駟TP̶fUJs`FfeŘ*A#hETLY4fQE&3? +_n_>;V<:"ѹ Di#i+UOãʠ(&?FB#f(Vay+ح<,ת61}8cv| 6L2zc ߯fbpnt]Ca%+;܍d(coOu֮ZA'N\aX E (ԬYիծ]UFpcF3 'Ǖ!,[(YUt} ͛*+܌q cЏڵKD5GZـ7BC\jV0!_mݾ$LƍS8ͳq' Ҫ$N q}N6V*UDPkKbJfT -ݙT ACy&g68y.]K=9R(kN&E4 2y4{L&|J.\XV8M o/HRW_}ESN-[h_nV.p%{1qs_4xC뭡_Ưs΄Z Uq^$&ZV#<Z2_5B&Rtj)6t)%&  /h>nժUU6svN 䵳(vqxANcΜ9NuFw}7aF'> -8P ֤Iڹs'}wJAtS@8_v5l])p" I2n<3BmpQfϨ^rA&b@zwܕPCI~@< J>vcՏùlw .T*'wy yP<3PTsnw&h z0;xW@h;{3\ T"dQƌ=j~kؙ x+PWE,㍡oVZѣ>Jr妗_MVRSߣoGxolꂀ؏z[r a<~4mdzɧgsNɅA@A@A dT ȷ[ͦ-˔?z (ѻᆱƱѣGӋ/fuB9⭷RtЁƍCǫǽjw3g _C諄%8ZN g Ci':FEESzU}=v&)ikeyXnmt=2v9 %|PK2EX=35BiVc];(~@cpn{vQl8 o哷}}]8o&aG^w4F=AW ah@ӆ>uذaTzurY.j׭gyFW Dެ_|E)-`2&}ϟ ҀeݏfΔ-1ecOhܭq1ю ?H@ٲeS&4lԑ>V7mNMw=fϜ!,/\)g+_U1rOm49J'Y3U>|yqYAlm te%={*5*9v1A@Q.2ۯG{oszC:RlA !8!a}~i ӗ)ԫ$A@A@4DTR#KBmc̙1F{x衇8u])J@:%fA jsl{8kԨP$Kє̎PN c B_(>9JddSh"]vkؘ"`|\v9sS)^z={9wmG:AW a%J,7q+♯]OMqwb5P8}x Dп Bl6șjoHYB9iy+ )kM$ѣMG`8]dwyrǭh&>#r? (*X<*?i629Mpp:$ v PAM y@V)^̙3́.r~I8ERPpaA -(Kiq@ @EٳMva7);?mxdi(?w,-Hvx⡴;O^ۑ<ڎR(P@/%i=Y֓A4i^L^c;5\Cg׷}@.FHEY+dAÇO]S\&ΧQFm+ɋ͛7 #;_$opZIk )SY E/-U-GGFЍWDF&HdgӲ3Yb5O!Q*j'rG8]h5,Slև8nF=zpBA]JC/R6;\PZ2g <Ǡnj*A#lx6)ADJ5%ޙ9kqԤIǪ^Y%'wKC}<"nݽ\L.]g<K\]wwrx?~j2B9"GIe7~F:ɒV3̞ jNjOuUmW(R%}:}>j$:nS 1^|VOoOWBuNpC1QHIb>a'7 ZduԱ B@!P( D>"_;/elḃy8h9A ?.WO #$T> -&r'N ow٩S'v"8*TJ'<ϟgO3\Cp!3 *&FͱcaJ]n[D2b'1}|ɗhsJ0NN]v" j=7n8vf'!Cko܀zHPopD<n[6PŴ0:]hߗ0ʬ=&Hs;vFqĉFEu8Q &6p?u 8ϒE ?S,X0frFDL.rF:y_$'޶|LfJo$U<ų׈,3PZE^Э]$_V@f@qMPgB4e @$!C]QU;Q'80'8,M4GIBJO=͘1Öa3pS* [7=v g.0C/iE%/dt!@Μ9ev'{pP;ƪDwn bH`pv)DBϋs2` MM}!^;SpPdo}CEX~mfݓfTiF3d߾}TfM3aM:YI_6iB AAiʔ)Ծ}{*^ پ]k(* ‚T 3* 9s x6ʛ!￵S uHS\y c33Iyj(iמ&0>dW ^|Mq`*%ɾ_RL ~G! !$YYȝ6y| )V=r8-oH/بrLެ]ROdoC_qz2eXv nޔ}yL%UE B@!P( #qAcd7x'œ3,,'g^)7w\ڵ@.A##≣Js*ժS1ݵh;H:\@(gO9"n?#(I_\9oȊD@:$KY:t H'pd:DG8M6%PKrT9=i ̙w*jG]$)CL7vKU:U]U'}"O/=Iq+8oϩ%A5/E'N93gRާ^|+rkB@!P( B@!`_@ G.&ZGCZnWɃ@v#II&B$ѱ^`8Pp? Z'\2 f7)˗/Cb"l֒%Km۶"3pYٍV b(_*/%XP:ѓN6I:}ƍ!ylyUSxU,d7#6BYb3ҹsg.ե@:q+Fz2H Re ""BtugD]2s9aѭ[7A8zCƆ> P4A=]YK@ddP[ʕE3#e_&[7I,~#*\E@cVD2>d~\arjh1-$KL7G0zb4/2 Ae EYPOv6Ҡ֬Y3Zb\ (L'uS(hogϜA#N̙ްP*8ϵ7N=LfrOd5Ʃ7l U7oi_hȧ#IQ(  #p)|n003ef'b;|-|:j B@!H2DȁaRq 8r-RC%$K皱\˒ٹľrTxG FTXvIF6qDq]a>Le&ВdTVptP҉fXL|8,X -R P9 ͟u_Lpwfk֬b J5jpFnРA65 `=6O貺fU޽{ۈPWofj1FJU;UіuV)#;̍ ҥK 6CI 8OltB)Vx ѦBaǑdfU2G[gҡD\Bi9.OV?ݿZ(vI56UΛC>F}rҬe+fIjVjҷW&uLK?xX q,e @#y)|eT  1>3s{o#c9M4SN#AB 8Ƴ ztB-[a#FRb!]u,;iӦ"̇Pүa<;F7; g&QB@q&$$D8vG1Lhs]1qw.\mڴq!R@ĽF)i ivn^"-2*d UBi58? j ,#҇~h#ѯ䀤&g#m=@H߿?!3 $ Ó@ғa<&̙M]vUrk渷zT9Z{>4*IT T~Ҡ:׳z2}: I'=&A%+H[PYB3o /j?B 8g#>J'PUBx>2{k{rOdۜ~ F),eKiUԳsLpLUE B qr%Xj} B@!H T C<$N+eD `&=sf4nL,ܱ *DkvRyQ&Fj߾=!DF^sՒH'?`@bŊh@׬BJ3|A'^-lIJe˖ppˎ7'RȮ͗`&\o޽tocj>[n%?J=Ljə'۝cƼ+dV m'd%-I' ]vM$5R e IҮf+d')Aq"> 7B d/arOU|^̙2!, ](?&BXMF۞jI'0EAxgJm۶%~dɒϤե3t)(PZV<A9lIx9r$lHTH'Ν۱zp#=4p@jܸpsωZU&P<L@$<~ O-~3'iv eL#T1)cj]{h &Uhol"$N\5d^+}]Zt }7kdS~…)iͪ41BUG=~;bZ()LϟbUZqiıl]&8)SX•J)KcK%䎁X䟅iAQ=S27ػ{7 ؟mT D8crUzЛ c#9=Éy@:kOr1ʗ-#?J A*~/)5`';a]V!>7*vadw I}b5=<L"t"Qh\YӦM0rp\(H8`%O~"'}.\8Oa"podmn6Ԗv_\ZL *12PMI)҉hȄl; e˦taZ>$Y[v} $D)cZӧN!?w. GvQP<*5}ҟUnEܲszԮ|_LM ͵k7_ Q%|JTHptȩf@/>!̔( |9L9='yYNsIK0ʬ: ϣ/xzvU B:`6K#_I;w+fy$??PWYwB@!HYc K'sbs Jy{#sI&B9O{=3g͟?hw+X0^ cg % 8\tvp#쎑U\e˃6u1/Ájpo҇Z >&9;Qzu?db3aͪ&ٌ\>, DxrյkJ7wMmp"I ٳDkٕү_?6l ԨQ5jd;rVׯ~ mƍm v8ֳ)?`>>>,}G7X+O`1Y5,N:o1hdX HK=fJxvyPG#/"ւ_I!-eʘR-πǩUiM.{'`VpaA )YJ)]tvDtfcYf"Lhd8BJ@`*^ViN;J׮#9_80WTL=NNB[uJ2r3ŗ_(o*_x\LB]vr֭/>}*Ҷ9LRB-۴Ɂ2ԧB@!P~0 XZG˰3 Ô'_~vJN% Tpzp'ئM^hQԩ:|,F^ fޱc)RD`EzRp Be #F\!@j?lYm 3Ӳ]guk&8&xeʔrsVQF|mצ mNRˈ¹tRZb;M,=ѣ7„H׆gOT:Nce;|p?hdP([,9rh:na Ps*>z|| JiJ$E`%s&[@H%ιMÇ!e$41e[mS'OП! Gʯ}mj[v+ Rn-VаK.C?VoCᑙ;gPpr.sͪOp]v䕿UBٳG( l"$v?I!K?q4g֌D'b]VANsKtEUAR 8L!`qٟiՉ'.A"޽{mFŊH\e,`Vfj>[ lBqqd`;Ӧ2۵#1g Ie `Fsz,<;Wp ߫Dm>LfiR)ߏ;Fwl-֯qMI 8pPv>ti lsΌ+_}5EEl9~M(<㦉'Pg;@#OR"rdp~VP [nM@w"v@jE"D/K.]8OOnLƽEkXEǛz:{B7iY xlڰvNgON< ,-#R<^Q҆3Qrg\|YO*/Gsf k9=UyGX>ͨP/2ISkٸAsvcE;L_h_Vxŗ1*(8>?U\FbSsX2o^ К+nj.WO!P1bRT3̨V* 9X:kZ' Л%o8UL!` Й5oZzwz6HYdU B@!e$UVlAz Q/^^LFMQ5jܸX)) @@3Aq80@3?5Μ9d3"sI@̶GaJB KN5 H\vsf&,+VNRA? dJo(n4YfD˗v 7{>yNVvj p#TQtWў:%'GA‡;S6Λ7zI噬 u OڰT?ܭwn u=qgD<ɑ38|JeeI ~KDh9<$m1wvN=BQT%طEte3:;S54K ֭KB16BW߃ ^< fB[+Or[r~B:M?"[rƱ`3&iQ΃ W ^uKNpglmVǟxB<&m S~HeWr]zɏ_9F&C\yZHiekXj#ޜr L!` j, 7HRP( c$xkںRFA(Yl<MNl N?v<MY|lNgتm B ܎|rgOKǐ:_JJ;ڬ֛D@?^z v UliBؘ-í=Ȍ0P:Ԣc5?}޻4g qu|bL>vg77 L П9NXf*F3l>njj `j ݺJrSF/(SX N928\ u9MϜ)#e C#GuyF7‚4i҄BLpOCDK.xשSʕ+'7̙R-0pcp2Kw:(Htbx`4pPfw[@Ze ,.ee37*;ݍqXxx\1Rt*[!%KQygfCM.obn Պ#G07c!? Lx񢧻W9sN`4L!`֯[Km[4{Ї0W.fXDTE @D ?TG߰}ۆ083܁+ׯ\8)8 ݩʫP(`Փl,gt1W=@^n=ڶm7*-7;%DR5k؂Hg H8L On f k،2Odt,EŤqq<@H/JuࠄA??;ӛ>L02@h $8xa_sS;&,vEh˃ҢE*1ƒ(ܛ/853 RF5{YZ&&%D">'g͒"eHme%s&qTb apd$=zɓeVYTiZn'_j!d[V[t랔@>}hwߙzF nDr5檜"vf_fcn.@DUZ-~W a|(eڴiRbrwX&u wwx~#Y՗^zfϞ-&'jkRJ/{7NSn݄_g'%y [ϲZԑCat@Gd@IDAT8oi))SX\XNO'W qNw@J"Ru kJG[!P5̚;|H%x#kޢ LFoΝxn\fZP(R;w94K4hxYZ N~9RUD}3Q*Uӌ|yM(טdrBnN?tv S@iaGs1̠\Fk *ݻiܸqv3ro߹K62+RيZ3*&UӒNtHakGgPS5>IYyƶl\O 65F]8zgqTWvh?_cǎ52? y87gYStϙPC@>+MpE\>Y K@_v+#W9=)­}dECW^y:t`[qݻ %nYɝ {Nh҉Q݋?`ՠ,(4jҔγEbJ*IN:EDM^N1yi@e˖+ ddM׮#xVL^}- T(95M.;U|y.}62rя.Xٵvnfv7/ !̿b\ựt~4z*zqj)UNQAB[*rT¼jB Y@S& iտ+` B -#Rը0&,5>ٱ36<ŋKNXg /fƖ.YLa we B@!`mnb-H+q~P(ObiE(˃'X45jR|Z쒿v3Y:یs(tU83A2Kk׮]}Va4(֤V L\9so$F(A`|a'_z ?^ ׂ+*980A!d߿PAh$X%^ Ӗ~J'ߺu['RO5o2Z˜͓#4c:s$]s!XaJ,qҒ>)U9C\v( a_(>vUDzySzaߦMV[:UJckVÇјQÅ۶K 6{I*ʄgX ԩ׀}11m왉:Ie2a"aTm) {  O?B R PMs8Ǟxʰ($'KÆ QF6^xq7#!}XW.C)DI^sTgASiSM,~K3C࡜p&ΈO"{)z"4N8=IM`Y,۳[Wjٺ >FT- @*Fl,5_gZާRx;o1Gkg ;yÏ("ΝU3O9EWXA%J)ZkUN8L2B@!&|#0_(y֜4h,fc6jRk];tq1uBDk`y3#P7enX}Ν=23GWPvN\ q (!q+6ȷ_rE~a?L|vA7G]'ުl>V0ҭŎJ=e0ٯ?ORS(09;(OkC}Bh 0hSׁx"|G_ec, #py|54|Y>ilgc[4z8Nc9O)eKi5}ybZJG[!Pv pVa`[Î YF=v Gw?~Wd 31мUkRB@!PXI:A0h ~띹kC\??G֒N:GgNG(*2,9_J}K:5z: \?8T@A&p"TVbdzo>CU } 8>N; *VpXK`I7sޅ ߞ={Ρ]͔^#ƔVPaVsDY2eU+Wp磏>#G jQc< `pBJ5(hU((TPB=rUV92 uXIf[PKt"!vJce! LpC$wy+U:O𜶚m۲̙$ړP9MӼٳDی<)kade-{R^Z}/l4́D)CȆvMBڤ ?Pxvt`yb9&+۳e˖ m$!ѝ|]_d@`g% zp04;xoNJ~Oj?U4v>÷9mLg։'w 9%E'̺9y;k{l$ej3P5S(CeVϝ7;z*VLϾ-/M֯3Es=/YjLe>xV~a˦ THzb AG}W( @Z@JG&7a3pzOL0cuFf1ݱu3+n @rRKـD'pBH"$!3bwE*ua(Zrbqrq+<.^k"cG If&Zl)·1 'p d}َzKh&Ɠ}Μ:nM1ƨ64o E Ѵ_1pfشi=Zkҥ ]|p8 1ݑa܃6QZߦM[AF e-[А!C:>{~& |X}ߝNB.Ձ\"~V{m+NŘ 7DhcfL⃃JaxTA# 寓'%͓7/uxP+*jp.]#TԴIY<P5;[u( 0'tX [FAڵi=#_^ԈԯZpFŚZţ]v-Zj1cl' bLзl]rA[6)H[%t('șO[f6xƨTN8}#N),ICgXª B4bpK߼~CMB/^ ;wVc0jP=3~1nؤ;{j 4Y0>)AWo t`](TXj 3|IA>Ѯw >%J,Yp%>y=fS9|FL ¸?R*Cx37[K۶nwgtvҤI6d~0+~JN7 [ã!A!I>9P ] g]AH PQR3U;tŕHwtD[|ι$ *KPhҴP#a D>GI={4t Ze'uKG?Չh).Y\(2F`[{7+INmL~i(B7 0kV&8%nkǎ+Te!,vL‡ OmnT:ߢI|h+ap!y~KU;:d Ǽύ[n}:?ԍnm_ڎRڧD{ px"OL{i:pR 8Nj Htg2'*P(  O谘 :u2 -::\P#\#5k:c]Q'}׎L9E5:iY]F!P(I\f Zu{ 3H'ʜ#p`ъ;:vBgΰ+NIp-[6wlNNhdVwD9$p d#37l~Gk*Tf-I'^w3$Lb HK)WU)-ɩrr9zÝ.[VTϜ>MgNr E}WE{v$P"cU1Pݟ1,Ϫp;+v ޠ2 ۅ'x1>Y ҵkgmAhcVdsECXnݺ=:thh zWf L 18ABc)}Y( XL8Qap3fXՕ]rj*T|h4Su9^\/_\FFp8f(Zg.ufd/c:"<<0`f: !eߔ3`&9W_}NJI7n1q u'U'Oك/Da-Xw3Dp<]Iի>* B_ImN:ZhAx"׾}&'g+-e"d@ir~hd G؜<<}4~Gz'g޽D…7ޠِ,Wʖ-K gʛ \xFџęLPqʔu]m!Ӗ͛,T+U!( niseQ'HosB@֬UzF`<أv He B@!oԶo3eEXξЮ7\dI08kArһ B@!Sb%^oFԵ`*'pɒZOpnڲ hew<=FJwԀYI;CDEBY08Q$EHbY)G\f#L_V_1s&#j0HzBjJ8Ŋ)BMZU#05f ʋȇstp^4:v0}]Aqr@.ʓ't"3C} dm^@:99"Mp Ya?iܹS\Z u~ݹgfI: dOˤD6GtYMEyPPNbtLI:Դ;۟xwoݶkR-:j\sf͠~njvulz'hNGnL}p}ҡCZvxƾ+ҧɫ[n"̕v~__%w`>Եa]v1c^&&C+!Y|Ѐ}tbKՐh*{ .x!^ՖSNc9L!` Ё5oZBz签YJB@!*WaB.vB\7]3 Rb EKdž 9lcqZn={9ͧ6* Bԭ߀z0K OM[5+:!0y wʲJ^NƬ!MtVREJ'9+tQ԰^;rHjUD u8 XHqϑ;Sݝk;ӹ3>}\rE {Ge-ZNEQ_ _opYyef $^z|2bAAH-t9ŤUR )]r7'ԩS.u`Re햬oߡ79|( o{Jh0èal0+L~P'BbbR>>QyzUjٺMb&G m1EmW E5d6 DCXYʬ3 /@?d5~U BZc9Ovsg;<ϕ;z%7sK xrFTb%(`b@k+V,_g/Xi㍛ RP( +"掁 '-ybUR|ZWR.vggZ~&l۶v4A,A̶528O0Cv088`C?6lB%჆UtUP0믿1r \q݊@RQ=:yk6ڲaCgHV^-FrΟ?Oib> 3pM@l428:5:| R_1A\g8Mk׮-Û6mrzUJViiƊx4MΜ 5l93q &>~XN25<ߠԔU.1RNw`?PA@ 4c ֪U CӧO_~BCC!p=<4uD~-z?x ?i_ %5X޽CY$J4r?c[۶m}QF;nǏs<+)ǏҪDB!:X)\9{)\<e)ݮC8{vwPHTdX`&-_vlj +LH)W/_8zS[>>6Ņ¡]L7u 73)RƍG tsO۬D,i'w5'6FI ʠȤ' :Y.b߾}jUxDR Hq'Ȫxft҅ʖ-K/g|vJժU/]$ q5YO(bMь;VN }ܬw9|=ce|@/>Zi4S!#'ɏ'7ԓhN9)SX ͚7-_xmz)hJJ( D3|Z![7mL Yx]ŀ^3'Feʊ`6efwI'(u^yiT?{ (UJV B@!Hqn[wM;1@ʪqTVX-I9VW{fxN4)+Ru1;%hhԨph }:=a8o޼"+gY=FR/>_NpW.1Oܰapԭ[WL N:xbHG(/Sty&G~V5y8xz@8r@v`F~i[xGe"Nt2+V-'n1q0|'.Ҫ_\ym>w}d#}AD֓'OU?q:r+fK"iώ6b\O_N6|bZnKwDv '% 0H}^&طaj5i$ATǵ  OH'͊'ʒ7qeW;wvI lfkF!wēseɓEj͂ yOP3fE;xY_=ἠg̚ bɇg_O#G:aY49%"x;c .Y>ԏ7"L!Xil&%P(,dDm߁Z}]۷@񢚃?rewkND0}|A^xݥsjGe+TtʠP( @}n N^tՃBfmŽ -2pE $8G1M6#R|ZHrFb~CG"鬛zr/D ȦPiݺuXG6O2ewi1O+Bgx_l:br&M 2f:P~f{V- ʼnᬦG;3͞#Hcvm>pbb:XpFPu{nkG:~pl>}Z8E9h+JF`",n$Ζ-[eɾ; U{^bePXn(  3ǎ&Ȟ3Wn}(82^j0?ڑ ҠADh4YB1/.W~F1A:^,@)Ǥ &SLG}T_j 2}yP 9DobJ>֭[mJ 7=d^#X ̚5fϞ- 鏏h0CFB#e)ukit𡔩:B<Q Nqz i~SOwipR 'YJgSMh舑Tl9MUD!P4x#թyƄkq&~<^v͚tbvvrv[\ak颅,czk@ WP( D,;ȗ rX”SQp̠1c% p8'%g̘!Ac3ֱ}4He#V ZUݴpa٭I|]1(klٸU9#=0pV*҉ḍm,'h.;p]̿  vA:pWwޝ^~e#S4TLm[mqՋ=*B6޽쉟8ͧ]Fcd$$#*TbͭuwXE@+/:f5Hc τP&1̪߾y#5h\ܟ 5L: [67,9x`S 2 #Cp%C {#4_|A .UW=DKP,BRr@$eR D (t! =( ={ GyVGOdi޼9\2A7ǎK nǕZn*G}2}t2@> AAw_GjԴ[$=Xkp?:B q@tb&9%d.'t"xFiN9}é2'e  njݼ)=QPpe*P(fb`VΔh۶fLΚ5Q<< /2cp  $rUǮmN3< B@!&QDI_paG x !5G;fг;Mk&SvՃөwbvևRipC}TRejQ:T*W;v(0B87%l^TJ1p'VZ(m)y5ڼ~˙ޮ#_fL"pu1` 5]| ,2\C0H V$D,ge!NXd`gr͟8#DfKu,&x+^,ŲјFͶ[IRJV߬ncهM 1p:K_~eA2oC] Ueulϯ}@ Oq@-BCf = aI$**JQ1b[&2ٲeKyyi߿_.R1&U ; B|2c ]50eKT(K$ dUlWTiE:Aŷ+@&q4nJLdhe s#6 殦kmC Wp%kpzǜrsR0w}?Мٳ;Q^ BUTEAjȧw6޵[tP#Ryv0m`R##6YE92B@!P 7?|?06x !58*g!"@6n* fG^xך0aSO ^̝9s VZ0]ky,vGw+C8x i..?]{h۪+T$Jǝe)B r޲`& 5:38e" aի':9hYPPzþ.Bk#ý}<9#,!n&2"Q,9AђLMqWD98`m0gBtp^1mWk}'`=T^z5:۶2):pLJM&r]ԥG@2mTPu޽zwWpr-\q ߻Iި䁟}yPùH!k{;TaN[# ꫂ ɓJ,$= ǕE .WnݾKΜc(W$OO^D1u4EqԿ\mf+@΃iI}gH+VhZ{5| ^C"D,6Oo&H (S( @j#t?4 [UN֯[OWxqj䜟+'R?rG; -qb_Tx \p{j:q=Ҷ/YJv1C,; y8ȩw(8/0&PB!#3*v۶lbGiGUM6tSk ijRc3'nsbEUM Qpb:~O!W +c4Y|3[ٲe ۊv!L ,+NHGI U s] \L:=GZp`!L`:C@p;38qO[WACy$SD g#ͺ7aiӧl}'A,$iK/7E鵫W(h~%΢ E@UQf\Nr椷|J/nSPkudrqTvA :G^x1bMeK,I#5|r:q>eA3vXz7Ph޽"[rYEPX9rv)ީ\s_o'R)o ȋ |M@U-4OZh;wvjo>6k4˜zظa=ўݻQV>7_s=ԯ_Q"|s]`r_rjIB4g:=E[GP~TP(ȑ>cj޼ gиq_ra6L$CD\Fݻ&֮u.%cNNPDIсzI>KUAMB@!P(R`q,q%SB泘PZu12|_`8HwWsڸ~5hha3,qPzu_vV028A6*A+ z.7JN і7xE~hѢTFXGQP,=9v>;ۜ_o߲X0Юvk>';U' ӧ"i}|Y cv&Hõ\ҙN7?aSd9P9>y"5y\e vJL ,dI'2?fwSp&KHApjM~jh!&3yLЗie|75 ݝg*p \Ze}ec B5jBY56oEP!zAqTFwi%ʭR:sM 4o|INvۋ^N1v䀔aw)==@ ٥KZv܇p>>%S@V|{= [0ݴ'B9-\Pw 2L+Ê]x?uəDr&jbnbndfH:u{sϿQF#t\ZC(FVKq 9|P:ў;*Y!"orHD@O$"P#roơsce-իVR{,A*Y毹B@!-$ ~ LI a Tt>:غCW^(rnݶţG*5P(@ RЙ{ɒ?iدY<,pZZJl˦~A({6@B^ ҁ@䮁XH̜?gϘfUA: 0t8f%1JV/WB fҩ"TT:3:v\e3c[X֣o-m>uj԰!~Q-@(^fG7 Yq/On 2uZ= dh"ANA6OpOL8n_wvE6ߟDQ3o(Aˑi'|mx#S:40<p^7+_,>_\ݸ雯}?QU {i%"*K8i('u92/͒~ΟG}}tPΗuQe+ #NKy6>x G]NMH!0qñ1|$C֞XNhCt*ytʄr'W!5y}ݪhĴƈɝ!+mUZP(  BA׳z -N7G/{.Qp.H˟?h 8;3<*܋; H&;F[$M0zX?\nKOz:ĝ;wG @<\lܤ q#1;u O3J^^Z҄%Wa5׉\ZӐli<3g$G?F# pMuu@7qf 7j/K6(oȲ QzXB9nyݠQSZ /*=t#҉,'>>N(Y>&,aYdH&ծSאxh,o4h;su*C $!E]}@t|'PaA arsh@(Td5#k"T|mL dr\ V"o<EU+^sCZvLOI AĽJ&ӦM#IEܦMlvG_ѣGk׮tͷtUjR|I3L!`rpqSē pc84ӋAB p<}n6u x~NjWAO!P*G:FMX2:֯_/ݞt2jL̞i_G=Yf=IѹŸ'˗.Sާ%Y>jP( "'f082K-g: #12 !2E sJys;<&"Δ d^#d:)Uіmy8d xYۘ:v-sdƧU$m+>'e  'ڶ6mP!4o*Pxtny٧O!r1ԩS%0NWQ_|ŒH'ʂ#3xɣ3GopJɲŽT B@!2Ԏ;"/F\-]C{xgpu_|`̍']p^LsK4Vv4vl`Dp\SF Ehjժ6#>G޾{%gax%~C;강f>4}ϴ^{v~̚ U^])PAi7*ر;&A,}" bD:Ǎ|=%`P/qDǕq#:~0]ْJ/GW%@9HE& ?zGaڦMBX&o/ ! #!u5Q銭ZMy Zj&Fs~eH*ƒ>( p<Ι3G:^'GsQ_-IӯY %l"didd |iٳqؕC0`Q#@(rDzdB ߠjr-"l "dK-yj?2$D/'w(^"> 6 )Tu |A3('/e7n% ?K83F@Pj֬\RS_D22<z;-M^#ē7Ξ/Fۡ ĬUq.rj´0yFԪ:N `|~+wԗRv9I/ȷ %B9rڵki˖-4vϜ)3-XT[mP XOԯ/+:pOmTFrZ@oU!ޒU[ 4pN) >(Sxs,h4t'TFMoR(i>|] m$Ԝuz*NPb:-[69u,,,r%$£G`3q#GQ,TP( w3,!OSLrB#[,?0'O>ŧ̹s~g_+ܸaQv*Y ;% jC2`3NݻK׮xGBN삶]V:RcLBA@Hۉc$kX(ànrCUXr\ōٿLg#DR*4" GbE`cǎY{kfƌ+PBE a'dϝ:!!Ե`-Qa / '$+<\v .Bddp$;FjGł{D˘Š jH}O+2Lfiv{ˬS p43Ixz|g~w.aӗةmk"*Vʫԥ۳B$@B/# 7ƬKz`Dٜ}xf2" 0~;S KIAŋ[}pΕ\\/v3:FZU.!9m%Ui?} Γ.2zӓQpB^:z1|>ppN,,<11&_|b!B FP8&vIJP|=t$26uAM@tׄ"3ߟBzxo1"9 0gW˗/wjiр65~7cIT(LJۜvj3k0.Ꜻr3́>~5\^ܱSP(^Bm(w{bttI)mp=yڹs hC'uQC< QkV&xc\9^<:=-Om>F4—yT!P(zJ)K9s妲ӓ; 'Pv%y#Ý:u{zM x 3t9kCa&EReYB@$ Tf-Uÿ[,;F_~X"-]T7p8jN9LH 'IN{yXX0?i8/"rʔLrϝ'`GĦ0zGvǎ ӆkaVTF $PvmZhS҉\WYь$GWnD^hކz!,$$$l@~ 2H%otP C;BGal:)Rbe+|k qn޼!6 `sHV1HR2i|5C~6mD7o$ EzR umȇW3$%-O` 0oжǯ)IJN'{:iU3@>Ě&`i }_ b¨26Qfh߾}trf/xUT*TN N8>PR09sbzf9~ϐ g>8攲7\.@B[eg8lozv*ZP(LFxJ<;T.]r[(6&MDu!s wc$WKշnNt`UU(];pFNwR#`\&YHl"agϘoGEPB@!P(!+r }'=A)Pի߀eRxtB4a%1 uu)Mw"wЗO淝WU( #UX Z}Gx#|JQmKxw%["lsӧ9Ξu=By*-<N]r^ & BGוּd?Łh4]d J^I32GiJ%JXDkGYiӵ7j܄r@9rTl0n# (ԦnS/Qh.No%|3 @). #7nhE臺 % QhX6u@8 \j2v-&P7wִ) g塃W^%KV^72[7{;OnX "*@i9I o7!dOdi L4DXaV o#d.h }\ H(6G K3ԄUAhҿ #GlNpr]JSapupjkN9)Su,)f?K9sx_UD! ďeZխF4qDjHб)GIHZftՋfϞ-#KT`eTN]+GW*Ba{9[v޹c"&eao$up0 Ԁ(/76ɡ)A!iȐ!4x`vF'BYDG_x~gP̒%+=TG}HEu,;C(YFo t;w[:qIr76trah FA4CvJ_[\i~(ofT]=G>H~rjnECqL'ӽd:mFSW;Nq>)`ҥKS6m _uܙ=(KCٺ3tiqoƵEqLms$eσH~vaOυVm0=dc`ǡN|q,UB'cǎu[oݺuuٲ1A43^9g,x@Ą8v gqzϦ'~ST0c84zpR0`ߗ~< qre B@s4w ZA yOʕ+'ݑ\5:+x ֯_ptbҏDsP汱1β B@!A4>=˝;P vIpW^y\MwKQnnc6T#7A~ me\z2 Pl ƻV&s9&$=YBY&22 ,(ށz崶 Qi .YWCnqHȌh ܄;oH}h" |bBsV9 g"c}Gᄃ)h RѢE޳Q$uL%F@6"&Bskf68AG̥a=h3BxbrpT~TJU5.sP hժ;)an`|5+xy}>B2~1S!Y}X*:u8LJy@DiIB4>tuD[J8ŨdX~cwԭ[7T2:H\vd͒iji欍יo)2gH/UnpXgvF=̃ߠpVR8 {cxs{Eh維3˗/nZ6o,ָqce+gK\L'C) ]TAU{%a>#͛ '?,Fe# fB} D!E1c~ey7ҵL'#B`4:jZjq!y@>8s ?~e҇LGr1$Ot~wmР͚ԁd{j'UVŋPs 蔫TXݮwH[nZ׍^IHO.ykGKD+Q G+Wn|A bm۶^N "x& -B}׆_4@VZptתV.~89|Pƨdp#t,#46Q)d_7e"=zBj? FmjP([<6wf4:a3a#::bbJǝ}Ο?'>e8s0Jw2ŷxW``٫ZP( pM \LLp!ĉ!'j*ZP0`H$҂7u;LȚۙE8~7u*͝'+?[\:wP!W1 G5FC$Eoܲ bǗG 883U\Y8hgl%lv˄{6 ~~Nn8o.4jT\kW*nȆüFdۅJUf^x7z"=2YZdsw^ |@x30 )H HuE\022(Ԯ;={=M|+!p0ӐJHHp|lMC@6Yr -.\VܫP62E߁P`p(5rUBB<=uRڤ~~V\{6( ~CLD-k;v!|ǂDw\?l4Γ2+𹒓 ,DY Lngv͚5 RN( rPNV] C|۫<\~ALW+#P Y>\;wD<1{fb\{{3xSmFggueW/+lfu4߶sJ69]Wirzb2@Z# ?@sy$K_x+i.u|B p;.q$BљJ3t kzQ|tC Nt`oۆwq熏L8a¢͜>ԭGTފ*N@<$XvV:Լ#OT B@!`"Xp -"}'VduOrӿ+y4o0,x;jl.q/^8/pP3(м⋖͐߱ce30bKڵi͚5V۱еkWz衇7ljD)N@&3do"7򤆠rb!Ae s pUSԷo_*Z(nZ@MF1N+0zW_?j6Ff/ŋV'VZ䁓 S'OЪKRj԰i3CM&Xq9~_@bavjZ0v[b)&NOV {[%hϤ_jO`2 د*.Gioٲ{IMwM>B*ezAG9>Fɯp!,+V<=GbUe0Arq@w@7o09ڼykܒ!v{Қt:MۅsgYž%nriC*UV,]Cv۳ȰV9Tdo?O7nJ"xZO!p2$}MxJB(#8J{v7ld̒y&zBnYv16+qk7]J5Ƃ"XH3u58A3NC;x2@Z!%G?N7{qӪ. Bn߹KWx:1$ZJcd B h?])bD;L~-BrTb w0::^:WԾCGPQN!P(u#c=F , (A!+\dۨ_S˖-j;2솓:B5c0gN:;D-/^LRc;X^i8 _@@Ĥ:>A}ʌlswgJ@W.W  7Tݼusx[j˪Bß<倫O3K;bwOS"yO:טs 'mիs[]9Fjխ7sp}\Lt\[r) -;GjҮ6|phbgK"5嘄5 4I9Fxk5v"|K"9*;22:wNh;]tvO۠8@Kؓ߾7H[H'pFiB#'Ovz\sΥ"EФI>{1xW L`nu eޟdòd,Be{L-Y:ș;U9#$.T:_}2QV]}! håBg֭nmA9$I<`]Qxd̒j{<??ry҉VIШJ5'€:lӦ kd" "9WDt{Ֆd 7 ۉB7_ R "P,=)M?sM/?;8?fp6hܔ%ʆ H,q/|I '66Vl2}Q?>ꢎP(`{FNp&nP36s]&@ pe14 cGEH@Zӓ!ThQc! /W JDOAMǁ!Hz\ٝnK Ha 9r)rJ<VB#RG`P2ؐJ2g2&]ڇҠ0J>7&J-^r2X +- ;DOO  6D( \:+&1e>g7\PAxv(S(|e6mDsNNq2"`;gΜYTR6d4_Xqj٪r,xf?it1RUM! @FrJK(RWl%@_oq+N8)SRh/iTFHUB M@fێR|=ztmiTKIHoذAt⋖ttң!.F|bbJI'8&:%̞IǢ~-4;=sXW B@!xE+:o4RQG|BkV'bVmӝ Qrܴ$WdKhp޶lْNw,_r%%ϭ[RX &[K.ۆD(`W\k1~@ԆaJKzvє 7'Ot :'NPtv#| a-Zޭ7 rL7-ZDj|?H[s=$AR$O{MZLpCeaeWw_w!9s '.ELrdVL˜PU ~ JhqgUdX0eg/ +MG1U @ϑ VO8xƳ_ރލ0zCG}~|!2?\`FRap~ySTU.\5C@ϸ1T2iذnz=d0diʩ( p5&0iF'#ܽ/)o޼;ѴiDhHHkGA#ֺvJOvX'˕+'U-OWZ<@y DaqGxU*T0=˞ZP(&EݟKeK dYvų"L 0>=ә&M F8ʔ|WBݭ[7*V(VK: 1\lIƤ $3[PH$똅8 @:>|XL]#d٩aŴNOooF֭ρsx'1sQ=~zV u {r*USek\tP*2 +6f͚B}̙3Yxl.CУv9W{(U@sȂ\ +lX6l,\|='M`E#0Ύ L~={YD_Vj Fp-YB*jf!|Zߥ4͛D8_Wwh<kI' {>P^R z dU6QL֝ mPuPlB jX:Me v.'r ;(S th6k&-k [+R6RP(F&PFCi߾}ELxa)Ft<SL~'Q6BG/ӧd t wx!<2B@!H?PTZuZ\%'Obt*TOe0&XFyѡ|Z$BF{ vLH;<ٳG.:¡!BԤ,Jx3mЛKͲ6sE_N  a^b m$M$1J=X>{pLzc<n=ʖ%+fB*.'d{vq1cldiD70?w>/rB(Ae / Q <^+"oStnjbHJOLK *VmȑAa~&TTiKr0WL<ӄEJêC(2,xQhP ?o5Rm [XtYR~Y?d2Dδs6Zs&Gki6WgEAHoxnf% ٛē|6XTd $ߧ_T-afɎ= 'ӂySU]3. or:q!P-wEo';TAk)xcL~*f,Dz0,e͚jҙ3grŵߡCSX1/u'4?##+C' ߦP; JueCd@΄#-2/Or1M֠V=pլY92W^'apRԟ%=ŽW_?с2oNBHFvL6q+":J5y+)G4N (oT;W}87f[NpmmN޽ݨ(ff1iL4ӻ>˔3)Swx$Ƅ9gQwޣ/VQjQC!P8BZlE숃$ч2C}ܸqbYv;C98Çwڙfd?|-U\%P6҉cGi崍PSbv젞/>/-z)#/%R* @!gED]Z ŊVaMnmު]G':ϝ;j׭W42g\.D={ (om6҆z4\$cppXJ@O/+ aa,wT^=Aow7ӇPJzC#jʞbD<ҥ !$FGPN3f z:  d4 {5Q J'gv|j5 3'w9L`@^ dH/6&0?VA;=aі%KQ';{'/m8/̑zp徔;OD`oW s6+u(J@Mwf yUB 57Psc޽>9<ȿ`PbA.v:[ m78N'h0s U㬃9M4ӣ)LuԿ/M2NM=h( Ga9,-+"ܭ9WFߕ(QjժE7o:8}O.G'S移GRzX!^q@7o OVZA[*(RjUYmS( #'$|8\iBp :x ;׮D +e2PFgCH(kY 'Ƃ DzS{~Gk׮"i@M΃syꕤ 'p҉#vjZɪE~D) g}&nO@0ݻ7Dzzݺu /t"3̔'#Gĸ| Ó'OJ8-Z͚KZCΝ V B۵8=ǵ7?Yŧ#DqQ {#  DkF5ꋲ.3X< > x w#Qd@ &oHLx&tG{vf,/#;N9}qTUfB@Oϙf9Gn˩98UL!`3-Z# !''']@ؼLJ;wlLYzWH'Fm􈡃dX'V(QYiř\L!P(̋@^~TRvs$—.]ҿ oUp nf#:Ο?Q|)Wt!V;F5cTMQZPBbɒ%6EFF3}KpFgwn\*4hO Nt#!0K(I U+ @ >I#>/%NW\)'<9&>F_7-AY7X+&&F.5E=$TB?~2"tЁ@>q̓#n ;Ràg;~KioOmBzh>GQO58R~ڵk'==dJEa$6m*@HڵC L 9D;@8ViPܘ;wK… |~S%܎}yIks++aii:*ĪQ0-pO= ZPC:y{#<*~UXI`4|kez5U( s#5{H4nw4?d*^8ըQ4v@q'Q]HVHˎ3Jfg?YLt4ԥr 4`Z|U}rf-ҁQua ;jf͘Fd ϧzJQP8Mk`sUBlx"I(܂2uЁTvG#O&޼2eI\‹t7[Rq*ϑJN $~n*/b RiԲխxbvp<ʄoF2UX*ԩSt9nefSHJ1z= kPE^>|P:bnXM?=єͪOƶR0W~= 5kR7unýٳT@ԥ1VA-!%kG|2@f"ijF&eǂ) E@`}E:H緶-O;t@% Kz}Y3҉H͝8Νy\tNW ^|1R{ \#nHLpXԹ]kEMWMA7|7o]ZNos:vJno)1A@o@иTBѓOӧO͛ђHsÌdI[(b !iܸZKhJcc }_w0H HHRn*U(UO5܁u 0Hy.ƃRX2;AdkF;vgy߆q{cǪG=zURH%Y@kET=\(kɂCKQ՚u((KmycL@t26=5#K}܏璐)l|)!NQGJJJ/R@ʆȨzStU+W0M7!Eq6AT[\pYX_ Px\ড܎!iY0AbL ~iם{}M d4IJzra qJۮhTsFUuΟ 7D1A@@ K̡u+)n?Fk׮_~Yu:5s1AO% #1 џZj^VPju,?{]Swҋ;e( e˖u[AEN@_u׶k5]Ef}&J''βÔ)S _|a0兤4?C 5pZ0!(H?SU `;oeL7yi ?w ڱa(9|O?L:u%&낿L֬[N6$'%Rr԰aC7VN5jᵠYL]IO@ +*m}SS-FxALxdP=A08~I%ƍg6zn[bB}_~I X o9'ѣG cixT4C?|XfN[ *H!*a cL{s3&R~WPJy衇 ĵ|P λv >ԪU+aȚG+#YT޶62q]˴`wG($NcyΜ:5mx bb!f3}VW5%zߥ~gݤtOfTMm e~6nH炙~ץМٳX椺 T,#we*G(<W+ |Ҳ `wrY!iqa \.˖Ҩgg_Xu#k O{lR*pn9rp(?ZZ[ IJJ"q#P۷w:f4U2J_`a2l+~'ӨNzt{;¹5d U+-R;d<>h>W-zqYrC4F,NO>DXu@&:ệԄxH3K*T@ K :Tׁ:6'%Y&H3ydnAyp wM9.Jf[_?CE:fl&]ry^:Ӥ;t6mnW,ڽoA{@аҔŎ¼+^#7)t9ڈ9Dc?-kب.2C92")Tĸ6;0!ma#o_zzȱBYHL< DkjԨF P;bHyLv 7Y ecdT0`tDK b39T&9#JF[j|;b|J*{s89~zӛ7iJs,bУCL>Վm[U?{,uA@@0'+. XTE(`C===E#_Z:;lw`g RNzT2! N k2kSﳥs" Err2Q ÷iF)CӇ"""5Ya(㏴yfzhu|_5kH)UV5@ʲer6l`nϛaÆȑ#)>%@6|1V])ǀ;^\UiӦJFW&bP]9w6҂Y/tY>JMI6Q:p^᬴DjѻI&NUXf=~ͪ?&LFY$!=Q}V]n:]~~iP\@jF&a]KȢΤ2ϩXyI[j u?i#G Ұ " 8d..jSF2 &@A@磡qڃ$ ShԈptB84)@"\BJtޝnJ111{nϩqƅy;[R 5| .ù% 6lڸ;=4zT|EHGA&PBILM!hi` Ƣ? "QEmpr* լEKl 3DԺm;`*WM  g nN@pTCJ~$8r! !`fq 8eͱx ֭[TNTOWD'9G۷m+n'$$(Cz-ZhF)SO?RP'yJ#ML+U.WHmu>c۬Pྦྷ[ˉA@pt;APg' ?*.+ Ka>N3䜅q.iSp\6-iBp)B y֞1; nƍoM&MVHtD+(絏  %߱cGzwh8]t0} ZΒ@`H[[cԹ[wϽB@A@~A:sLXJK{ʁ=K'.rfMKK˷j.]<Ua?H}k!pP9?yYJJe]6:pJ?d=#Gϰߎ7u֥ P~:֜bɉØhɺI8˥J#t8+oTȨ(YjS(Eimfjڼ%A1џUUˎUz|vs:sgϰ}$s"9kTjѢRDkuݖA9s4M}؅b PիCZܟ#EQU'V߼q#M!^'#vs 97惗yBKpgg0,g*A4 Gf8G:נ"hD1 * 鎻zQ(A$A@n PR XNɓyf5p׽QJM$R^9Jػ{'3J]tQFh(*<ɦsA[&c|a ޽>sEg7ޠ @I'+FRF\RW1Ǥ璓L6ctׯ@@hܴ*zu(Y7owh \fú5Pq^sõgu7c7&_f͚E-Rc.WRRAǒAы/HZll, 8P,gnnݺQ:u lٲiJ'] ‘B5jT'k"5'0)| f( Nγ e4GݻW5xf'Omo@Ta&k':J88Θ\.-[TZtzl⅀OJUHIggӧټx Ҁ Pppc^A! 7k9kTOrel1A3gϼ6?/G(RW-m P`1>sp%\I|XgگT ڶ31P&4dn v3mڴQ5!MQ-R?썶v:tS@462&ԧOy$ @Ƙ aPF ꫯ^z&aS :fp\GKk۽5+3.>0ҋbC{ҫS6nH|ovIh42WoL::1UXo؈zݛF曆c BЈQOؗo25{I'eʔ[Y,Osz%GcU8 8u j Wý~Τ21]FuS|u,/@@'UtI._q=1Amqciт4qԶ|EHGA@GU*>}zDF_~+1^DF"70Ma,L 7p ėDX1,A@ ! Nʕ+O2e#=HR=:d8-8i޲uhߎWJ3gTq=/j<ߏR3L^DI ƛzE޽\B; ,$UOR\y\:cהA<4uYSQfM aIr3`^fl-Z~g4vXڴiq5z)z)-3rrtPdf-EK16'ґ(x36 Q}ȇ6>i8޵ˤ)5jyT&u>DDzU{AH.ȿ77굫Ť\~f\ͻbN7nR!͗UA= G gp.;z^/@:+ 0T(¹Ԇ{oNvH P>8.qE9 x  w@`w#Ǹ 8e },ԃ~TJ:+@0&l![oѝwi/ؒi&&,? 2{l]΍/;چdB=ʑٚ!J_F۳/^5oR;D^A@@BJ)BPـ;FڢZEvz>stQB\&' m>/p&+ )FWM`g1!eJSRjvY&8c d@u@: `-c}ַ2)1&搣FӧOo6ym|t?#z7m(L 8_JOIĸQZjHs?V=`3Aҥ4g)ymu6YR*G2)}ys<&Ic75O]iq@׳͛+H}zLw.1A@\L6  ԶKI"$G`-E.{ TrAp|QL6 e.r1 x<, $=摃N W#U&|X:@IDATf"co2e mݺS6k֌>3u|`pk;3N. ȋP#h Z!A@#X /'>ƍ!|0QwMV,[j{ȠAMxzfbuH` }R[nMm۶W%G9Fk&oٌ?^ͷ0s@&@:7oJGHH㨡P?c38Пbӹgѣ&pE2) iY2tڝ*`+W(y3Ka;AZje}!ᬤLsp"  a9CS U$<˄B TV$&Z/Af=#e{wq`, -%ˏ\*piELpc6N#ŅVtDD྄hcȜ%J> 5jԠ|P9ݰj7n8E: ",ExH[=w:z| ;t }6zm;}$-?OU9qDeʲAAX!gm/9sFE;2xDl5oպH\sGWmڷoo\^PאBBEЫ s-Á ^7kہh 5s䫾{5N_R;m:cG9 uIAH'hn Pؚ?2TYD \ S'DEBzd ]]1rFZ_~ZlP/7s! 02𖗝I|/] LR=^RBRsb.p+~&2餸 c"AXŤ¡ eK~sjdzF+pz#\D/t!! Du ^~#&8Y2ZfG7+C pNkK:YVVzI?3Zm{~z꥜p`!cęcGPvx8EE"qC9A@Y`>EM1PbE{+uA@_HǏ#>r7?OvzZ^=Eo_ _+9)͎yۭkWEЫ .IaONڵ 9J'Hk&nx4i!s68'm(B =B0~!M0cx~z QOsaJg2EVKHɼY[CtY ( aULhu.]:>7휲::Tcy^Kc (b 3Pz1}㩛yl7D`;\싞JdPގ(xiN._qE$e >=rDh[[[]@u^KOA8"L0K?EȀ… q0tP6mI-2,"RێX+DEm;tT mwpXD;sʹgy @A Cܺuz6YC)5mۖHqEڻ'~_ Tn=kx> >^;LHsΥ?rBgRJVM Hδ ` @ GH̓A HX[פYK ㊃DdQ2ESݺuv:*M%V% {rMp}ҠQc uk MuDޜ"Bm֤Iz uyoɩJ$V-A/IJ ! 7 }Y_Ç;ۜCp{ޏs\b_~qDF;A󶏹ܥO6 E@E^H{7y_ !P\m),}IyǢ9p6ir_Dw:r^16ӘW^3Tɮ>;c^yal!A@< < u<ްa-_ oN9Ӛa_"K'd:}Q$`-QF o8 IewFgN0?T9۴iKleٲeq %΢+L@jמ;n@ڸO5h@NlÐ6gȑ4b2ʸp(”+e˖p"Ʋ8[Xp]'ް0AB3Q@I K& Ami>n>Ny{ӿp6Wq3W>1Eiҭc;B˖SmUYYYO@:uɩ&g98iSKMt:)_LO@`4q8:s'tWX;z:\ҋ72℀(NWS..5ELpH\[E7HN?!&;!,Z"Ҹ VDl⾈Y8<[Dx"݀3wHZ;jԹk7a~mma8\JJ`) "_̀F*%b @ƴe=E-ZB N^8vR6ghHOjǖERd1>>%ɗ R5Jڥ+ZFT:p yB$bb?V 9ˊ)HwI tմ17dx4B6m+F ֆyH*/+ ߁n[1!vlbo|1*8*'L[tQBuN5i›swϭK.ՁӘTDS4 3LԜL $;F?MRI"e\gOD 'B,8>t%LR 6 ywޝOz[EM# PilR*+^*| O'ZB=zrlL4IE{sl{+z7m}/g}Mx!ZLAx  ҅|T0yi^@XEC=[nM0Ic܆#V \:)E(XWll,㴎P-ZP)1%] 43ڴ;j->ȣ*U* 64_UZ<֞ݦ7Mb ;II4ۯg\E.H>FtZpOLNH@#4.H3kBq!1A :lԥ}Otgw҆ XD=%-3+iđєe ,SR l $!1nO|sX۷IiGAgXR} ]-ld7n$*Ro[8EazM;@:A!"ui&ڲ˗.ZoZ*:t5ljQʄ@V@bm|rtzkطo_ݻ7URM{nc gH 4nؠPA6iTׁ^6X\NL!̷BkHJyʱI>{1Odt1\? s߱1>0Vg[uqL.oWXz]:ӓO>I8M\m &  i`ozx[=sN<"'m]޳"a4(y+8V2 ( nX}{͟'=z6} ` 8#xxe64h"gw43<} H,U(Uްk;{ϮxCӫc@]Ѷ! ~gcBB-Xbo׮ر#uO*7ZՂK~Q#Xy)lY G2\ UA ׭q\tv$]bq_ŞurH 2Dzz:Hpy?`gǁ\4N$ 9Oj3A%ل(iDEo}UwD6`xҸi3;!ƤcG)Vj5:K{95kWW3|Nת]Gmi複 `. WR츺]iOB`?i7Cu iWp`~e{%%$RO41Ο;KG]G WsjDDS*F7mqkkEG |>ve1ܪVNHdlX(K) OH]ah;RǼ\ 'Cqeϣ7G`5>.qFwKB@O Yi@\qy˫\ZjE(p޽6lؠ ƽ!_$5joωq{ǿirAoI ElGZ$ kv9n{+Ɏ3fPSNq4H}bv,a _|^zebOu$ePvƙPuţ 'qoΟY3ࠜEnjҤ~U\:vJ9=kgO2kԸ) 37EPM +n ]Pf-Թp"3I'~חq (As n2e|@NF_}KV{E1\~/@=DD&s d%qD۳kּyfA@(V"+ҜwuԲeK:2qf fG$Ggm,֮YE[6orG41ھc%  =AQUj9wJӂ}Hײ}|dCJ^TMbBt81AZ8Q2L dvVAYR; bew7@Сmڴγ_@.Ɋ1 DcBdhsԩkQbj_#QmvMBomC[d*mtN >u0MRNuѻ)zti]kҬ9bڛJ,^DkXI7Ǐ1~];S-m>f˗.;v{5kƜtbTNPBޯ0ޯIUVbݸgf0A@4x>sZNwӆ -^$p_2˿b  `˿ m*b•~沁K .Q\Ac׮eK~XF tDc /R\jΤ6mP>}hǎtecDqEᥩfj8< ]&S?G?8p h.uA@D ?q͞=h =}4ysn&ۼe##)8$.:6fL<9g\fp=y2l`[Jpz0ώUu;䰙3g1<<)… &u@:TPLvsΥ;J*j8,Cܹ [?N))) ",R  dD'9 -j6*ME`&mrz=Z?P";ĭ3[ukqRǸ5hЀPP >N;Vqj߾=-_R]= iM_~;vGJeKe[iĨFZݻhI)ԛ8] U*!RA ުU {  M\t~>;3oūΣyV F("qQg䴂 p0 ; Cd-ԂC(&&*TxA!iHG$'$TRvNp|l2QHN1A@ADBasxV Uɾ}T'G#+5lҔJѮ׍cΟz MV#d(bG'LAӴ5Ο P1c>.SN棵 .ļΟ;K ǎVaFh={SԜc'+?|M,YOͅ&7n(0'!ݒ]sYW+r=^`i] u7tI4xiWL) I.3ґ 6dee}2~^^; xꂉt\:" KN_PH`Ǝ]@ ixmWBH^3e~zz뭷hȑ,9H&؎o8 rA>99YIk4Bnw`G @ZfhÇu.(aiC9-DTT9+N@< d-S'z@lNTlԹsg `'O0&r8kgmڵ'ψy>WooۖʹyNCi@S>x^5dž[uWbHu67yʇZ5Ẇ'O|~g5Po.ؘIFGL+hcYLqѳ.ӳ ^W!GәK.pELp.rg9g[KjݦsA@n E[P&?r̛79yj֬5lؐVXa[_lY W>>>ձ VEVj_0'A@D_ɻʫ`W'@L+5JLػ?MmG6tV[j>Ae4^rܢ$ _/RSj;.7n&-ZZ  O2NJJCZ2dH?5~iq93O}0g*VظXڱcU$TJ!İc<;!alv,UTvNu5￞e89VY)110>v쨁  ˔)܆|ӵkW#R3t lC`4aL6&Jr+G'!E.x=-䲌+7J n];{zQ~iIERM# PHVRp$$7oVēlXжtoJ,Ð2Dkfkc}8$%%R ^"& ps5(BBlC wɦKcpy`1s[.UTcz8K<cΝ԰Ys -Ąx?IÇS矷9|_TbtrN TY2NϟO x[鞠8{bIf&F-[e&{8611QÌݚan 2G&UA(LN])3M*A@</|*<=J⑾eS T("dKx"Q.Wx P`g|R̳ U苜S=rya:.9U9|}JR0q*#W_U䐟jX~駕I޽iɒ%VcSG+Wڬ RG[Q|1Zfy/ PsРE8Ns'3RҶzT;MU+xwxvہL U ,T!Z؊{%ϸICI^r% `'sωgudUϞ=)$,\Ғた7mXtRBEN֖"h+ÔdN, j$0=gRjUZ8e1/FKsC*LtԉٹJ:v @|=>|qXv*%Q8sЛZןp;j;v5jЗ_~obֈ#n峇!DO/wLG}2NN8֢C'ʂ & (y u})vP5#c;8_LzMk_kթK)6"cM=NaĻxRSpDM&ɬPe ?soX?~M$+3ÞER3tI J͚5u!lظ8AW"13OoXW4>A9Śˢ9}ÆP bգ8&vٳfZP<ѳΝ;mVޫL&\NLt'AԺ@FA@ N?N=L?UGbL2F`)Jzep{ `״{Sz!x+`Z;{kE.1Aٳ4mVb ȥV)Q4 Dte:u[n*"z +q45 Hу;1,㼀ݻ(ƈH͎pVt[MvJdg!߹c;eeeRxx8Ƚ^U^A@(( 3pzk~CDGGSʕ>trx+_^j V QYZ^/88jԪMQ#\@2Aի+(Sz@ !,,,RH bZKs,9RY%1wW>ٸ~_Ω!s`wIiiiVx(U3#zM׬6Q' cGbu(Z ߡv;?׫*9߻O1A3{,^`בּrfFt!b x+)4isOӉcǼu2.A0e0I\d$@"ຕ"\HrkF$*xeKА۵hU#y`(& P!o%Kh;wfΜI:4kc;zN@~U1l "G/"-q$E% %>L;s 1cPxSMhmԩkwuuZN&cEzHzlaV0fy9Y*UNLfgA v6kNAmʥ3pMeeeu{z]MG=j\QQO~Z}O<mذx UsmҫcHRZADLoE$ܟ-'xo{sd1^1HA_VtTjzse\AL ҷ̦ &sDn7 8LbGQ /TA~oXXH!RYɦMh۶mt ڵ`9/U&8t6|Iݝ @,ʡS5)lH.]2G}dd$E,]lݮE$D5ZD{Eڝ}g1)blnhh;!\4U\7ow üϥ`vgo4j!7uT'P6lժU/"?S@M -\tͪY&##RSRKȪAƶSTP6oH;m5I~v|i1[ĥ~O'Fոi3L̳oN:5cԧx1A@#Yu7q2fB$\qKoE@Rzxﵕy6H< ~ݷb]+ 7x/2mW6"f^%U˻zMZcZ_Y훵-R(TZ~j׮>sMIhp0߻b/_V H x>$4 ȱ ȑ ,ho %5ϗ'*j`_NN6;n}.?1.-Y -˻zUаT/7/Dيtɚ8HM&"EU> EF[P&iw*Wn7};.]8 ,駟V*M6%t0w\0@P㮻`K= T5&#ѱ#Gi/?R?22ҕɅ5{HP)izkյGV?.2uvըY<." f~3ZhaԗH{[3W4[ڗ} 8w~KrNApqRU  _ȃ/E 'sy3\, 7I=oJ_}=_gD+(|D~a㏕!Տ< [8J\\-^~Wpn󗍢u+8Dɒʎ^z⢐Pjܸ \Vm :S8TA 2'H J_~%%YPسg"‘_O\4;v0)6@qjzRj \fRGNNz"-˹bB7Η$ԨIS&4GH XR)vP"Y]!%߹sg]2[a-[PP8^ JH]"VtNƫL*aڸqcEB[>|1A'/p\p1Af"Nj.9??/GP L7r.A@@@eSadAAg o6^>#񎶐raԨQORtt4-]rjHéGW[k:˫Crʗ/R7-)I;f R "\A@#'*} Zs~PTFw@M?,F q* À J 85<ٹ@uرcԯR4!܎xCRc V3(!M`UV*;C 0=@ݛhI )izM˶{\aP 7J9EHאS&A@([A97M4EO==ڸ&16(9öLC{myu =曁LnC#fN.x1FZiH3&u~@IiԵ[wuOo,WΤ]|.* uԌL;͓i>d x2L}iο=yر?py1d Xa{ؤ"pPjELpb9h/KV 3wJGA J?2۷o_E,;pÇiƌc~9=*+Q"M$rķcыKXd͠`RV-R)+pET3*VbS=_#A/G (SOP]ӱpO>U)-VN玽8fZlQLNJKwpbt;ϝ5&~j^ja%)1>YrꆺF tPqƠw,+O-bEQVYjI͚G?'z.sP{gill,8iɎҥuSFpYb̅ 799S4N*Ss^Hq윿iFʰaaa9t"02׫ĄZ*U]rI;<,=`֬Y: ȪZQZUy-db.S *UDoAϼ0:uHz݈,G}i+VqիW7%gӦL-8IʲS׮tP PRTy5ܗ‰%IFVpz1A@U+Wpzށlނ#x*,#+g9~ - D( &5wmKr~A@(@Z3Lu K{ェ-8|AڷoSM߿?Cǩ 8(J.]0J `=DۅhֿmN ^@0N@6dp"$;sGh~V\mi Ltq:wɡWԩСcnFg<0~޻PF({v((ʼn TPd)" ޛR.{ι6I4-o;$yļos.#Urذa4o޼R6=Pڿ:t(=CQVNqCO"̂e%ȸZb %Y7Yt1?GP.]Ӎy2p03BH;HOZ)]J":O=O'e sb|Jc)ڤi ,.>Yip %B?p6™ˉMطg t =tg=!@@@+lY!~Wu^Se)c*K!@@X6 `ƀCDfW_T>?c:q\ \§!OIL>Ν[b3[oUyDdG@99C׮?ͣ_I~EG@]{;oNUia74ogs)┩ަuvBIWQSF AD'"JcG$.% )J"B-{tD'F:NwqW{rqwԎ q5pT2u59Śl'4C@~[t ]=: dnR3FC@tveXO4`R\I+Y2 TwMh ۢ#@@\n5j֢8|")PSN]K܏mۻzߛKHX2 [nQZfΜI.ܬl޼5,< # " SG4ș.sI`\6sIs]wSƇRE99E iܸq|\Odܟ"@@s M kr^U98)A@ |M9q"@@3yVߖ͛hт(0(HYL&pU|~Pwri)"P">i۶--[V23رcjDYNV#RSʺFX vJ@6܎BgO __vǝp`X,zCYY֠3Mov}iW{n6ɟߥz RPpHw=ID'''6o\xfDOLh"%+)˸(]vDFFR6m(t*+fu3}rsM$KӁ}{U)%s'P[6mdY`wo#kW+g1cP-vJ$$ v+\Q>"iѲdjyƍ39ŝVP !:у vC?WFMKBy|mE gq %Ԡ D{z70M$/3SW @*ȬP"-[R("@@ DHK9%Mٹy6bR{n4h;w|y1,,X.mk׮20, tM 򀒵 r>M={"ҭ{wہ  PU\󈜥4\38e>11[}ۺ]{W?5HOԔ&3!!!$zAAFޣ 8;;YxҴyK8N{-BD15^d}Gvvrm;e֬YCg}jԨ.cbbh^="y/Dp7U᪥n\[>! T.F_Q. <0q64RVmV=p+VP<uIّ"ws/ٵXONRD':2:X@ (O}f|Z_d]GlrnԙiZ%kBAԎ <;& Js9_ C@hxSim+S^W?Fjuh \% u٢[By ӝ]oФI&`'4֋8dEkZڵkY< @E\;a#:x`?}gjcxBmĝ  `O2IR"txvXҘ~;QV-vA@lڸL`w<*CA\S_t"G3k)rs('3<},ՖM7ݨŬYxVur0v`3nl/l繴qjՊԩk$I.ƪ=ڶ@wx1$ut!yuWen垮]|?YFa>7c~:@zt;v$cǎUzJ{.d}N+diۋA@ lޤ$& J臭RZfMUhOʏ%D`77L-'z !jSy?ҫ~:5@4@lJqC UxVK)3Os=WUcRGD'D'Sntqf'Oڿ ÉgnӖZ@!ȶ#LHL2ҸaVNj.zgJtR$eBJ,֮\OD!%¸}=B"@Xl 6RJJQ&D\8wc"q7{MV1DL"%R͵'\^s7"@@ lg=6i"EOE@D&8'rBAo_-z%(K/qSl `qVs>9S{ӫQ%p냏u7՛95.xv\*9V w|J: )*2FEӦMYNWKHفWȺe=ҥ ?wNgd ׏\  l.}]f灆2 gNժQTʠ @5'ګɃÍ4-3ıIpxA$B4k`3a ;is\őO>fD;|p?~ [ҷ_x5'O'˽]qcaS'O|[k:fi΃}@|@ۜs9YW^" }Н#^HAAU@,ד4"/w^JaګW/5P28K.qY1>&gWzY$6+MhW-k*S;Cb.aZD]zdc  e"[~Ac۶RZZ*5jڌz]OH+0"̞{ӿ\M:Ao ?e-"SXݫ $JXHɣ6mD>rDO~`X(b^xqO.b y߳[ſ.m[t!m"\.8rϸC|le}7mBz.%&74PJc%eC6evD7O?A|9r8]%@,0\j@'bDl@z4I~PFV P<1"B,e&ؿ?tM&e{ Q3]o>}?ᙯ2PZY3i_d :\gN4XgEHh5Αgn, 3(3#v^=؊KdrعOſP~Ag ~+{]upvv|ctvAuK sR39PjR PIJi!V¦u\_pJN:)%xe4o޼cꞼk{g_D$_|1ݙw1>CR#Zu/6x݄pOpQlER艸ٍ.>?A^_MSN&G^@FK('r뢅ʵÀ@E)(8.lCCSAD`;Ս^NqB Df$'I/S -։<r3':Zob Y$2z2q-T\\]R=e-VDbRghݣL; F @Jןu J7 :1fnݸH;o}uԋ "D' qDZC_t">l\E$+Q~}G?zm= B.i>^bNNN;Ϯ:w~;Mׯ]7IKѫgRNX9b#- &y{DhnߏsZVj#h@4 P>afrʯ]9!TcHJLT3GڷW?kuh z2%3yFv.fdbWaÆJPaÆƈxAbAQjQ3{V^tԽWjױլUN;V88Nf+G6lDX(M dddP"?-eΕ-B,c.\,quEs@vwqȫu3j[* z(SL-:xu\ \VaS_2o.'*e\d1\\rrtbSl)'d8VsٻVn͟eUiJ #9Qэ}٧kN:JE?3z~v?#YY<sNbk}P,)]&O#@@q\w'Myu_3-t*詆 l) wM8T[쁀NqW~ 'NG2@ڡSgTM5phR>'%y^BnݺсD$d!88ཐYfь3hΜ9TF 5Z,eР% .RUgĄxU6B`jGŋh+|.^^^M%}wYNeB'B(լ Iޟ5d> !'!ٗy,0Gǒ29"C(ӫ"XcGI-qD">^# ODHb,}`_ "q;1YD_YvMfr&&͚(3劦ܚWr}"xϺʹ>A4f"L7.f2^'sC.ԱsgkKgϜ?WA7z`2("ܹyt"FPz)<լN 5޽z:bm(,NX{'K=ϋ9{?# mY4s '.  `@t a- Wr1s,'Dl ۆ ФצPm  Z$MA~?$ Sb{/esvJ.]*ll9899[x ẽo͝_[)5.RlۺEg VZjm/@@@nn޾Μ:ac[WʯY9$A%|<=LJ|(=3Μ9Cvzꑯ/1.YۉŵbXG ‡gϞZTڶmuŬ#Zv;r8d\v0E:_}Yt8Qr'9gSn^7-NĩFR?p%5iڜ<;g4! 2TzV5@@,;4%Lv `%]Ӝ"b|@J@lVr.l_Cht4A:t(% Nȍ*:dwI}?&MDcǎUNY6kZY/"4psg8|,v/@>,q(jܴ;z&ؖ^BC.C5kզ @@$%&ҚS"Xz 9iUe83Y"=+<((6k^f84|̃ :\WA4DxF䡇b7jwjCJuf}aj۶-Р[R~Ԭ|Lc$:ቼJ+v+ VmڪMjGD(1̰ RmxYij{v#I._}8E1z r͔2 7UNY99$ז^}o0į˵=K6ru,<ѿ52Kǿxq6lX:W(&&pk @GwGHq9-YU?2M>rs9Zl }{{-M+B] \&uҕ}MZ ۗpI%mgn}fv6A@ Joݴ|RU5}EԽWow}5}eyvRщ ŵ>w,[먉  Nōh"eI:uA^EhdlԘEE%5"%%Eս=_“w*ITv'kE5jԠжmT>]aJ׮]827nToT jԺk:IDu<==DD"1!^ݧ#xX{ qؑ2G"R\̝y$%~mYL.n?p4ISi3~;2r$d[k<  MBf[*!M-89 #gC4j`}ǎ.࢙!  O@ 9эE$wN,K.ѢEȟ OfMad}̠?,h~`۔OԭGJ+%<aqq@qkVCD^%0n/{ kW{vQ2 D*bA7VNHY>b6musNoyzz9:tQ~2WQrI'xxnx-t}M9qKR\i-]tQbqkҤI.)-SSk @@_#g =0fr91;>{^0$nKqZYN UC_U@~ (gĈ6ݳы_ACt?x! !OEZJ,X(666oL e: 2\8^?SEؓW,`g0'mϱ )t=\g<\P+=tEѲeKVҬY3щ.̞={TMd]?'NHjѣGҥKO?[o;tGOcNpH}ޝ*=h<^ϲÜ qR:?۬L.ᓕ]l9z<%:m]D@weDβc?, "IaAz&sQl-tSޘFM6@N@l۫U>ꫯw!ܫ(u}eW?"c\](ߺ8}4%'{P@hu*cRZvvL͚5G 3 dݺuC{/NIL)uSʲM)L8v]KԭWy7ըYˠgNf˗ JxK/<.s%I;$J4hz_K8% 6 #J5Iv_v+tŎ =yЎh'xp0 8p~6B@~<{hK/SpppT.|fxW0b_QQigpH(=D++x   ` EB1fIkMxsxkdff*Q֭[ 6}y7dQxzN5q~K ik׮_Aq9Ԙ':3e?)P1xLiitqj׾}{%$*\ai$  `RSRO>PgEl1D΅6t@&h& $ rvrqc 3GKlӶ rO6 ȏ9yjʙgVFԭ[iڵ~jիs_ܔy`oǶ-$y`@@\ݮ^D_(pf!OU49y]YXnOwP_vXjIM}Աs,R{s_cnNXtu-*)$%j9L. ?}:C{L;v,HdK11Ԧ]{r7;)?ǎڵ}vN7&yJg)Avwl 6C@\?ϝCob\t gܹ8oE@E'z?p42~78CmlЀ&O}6V8,g“ ?_wӧӌ3ԭ{\P93}eO}\X\H/L\}@@@/w7 +3l:uP&M趯7FkZE3@۾CoY d8wuS9%#e᳄\}frs,!iz핉u [yX%: YfhS74?j+ Pſ,YۨU6\w*=@#p7.,:Y[wѣmd!sb'7 s.e@Ɍl#rssy p&ZBLd:hxx"3/^Q|>xh,/[vM+Ki@Is"wwcW#bYd#dե9Oyo+IqͿ| %u' D'pO'FSuvp3.N3IJߗ>|LԬyK:N$)jYesQu/rJ:~8ݛ S!etrrS @>u^|YJu7OXg J;+N zxOA@n7UyK0AgǏs=KlM4@@zT/|-ODx!c\R v0b'{'1)\hԨӇxl:rU[FbȠwo:tS³EԢ[f}f/sD@~ St ;wN eh)^"Iٺn@ \vb>u.:RIqj6mF+-];y .ӰI3z_{-4o.Fy;{ԒeBxbҲ"0R:Yx";,.6DX89jYh;8;mHnΜ p]4oYvmjrvf! ! N(RjGR˒3Ufͽ`FXX9R 0C2s,OЦMJ_*2xc*IRt_VNWXlA*d+r XQݳk'-dGPPyzxxم7phƇPvv5ent!TVm1)?E;{lB'E<oޞA\Nu~젘bvP /rY"tre3_o*֏V,ڽ']pKęm߀C.._v5UӊuS;"LXL11i͖ۖ67N&4~?D99(u#qa1f&6oޜfΜ$X]H\MR2(S1m 9w#GZcyw=& E8pm&Iy@ʋLZ2$9m9Q! C ..4Lv:ivd䒸G~~v3;x{s}Yq7)55dDqK ,ᙔ(}Cq|5'8B4ppc( 4g6UCcif  `cI7oK7R U A^6)+srbDJ`Ӛ%|S}Q\WE|i.wDCnjcG ;y\o=XqۈJ;vy-?۶Ҿ=i O(Xv5w(<щщQDܿO{3vlۦ(;tT;N]RVS'ͥt3HsG!å&8^sh83UmE@' `c79-8a-"p C&m^V Z跸*Y%w\Y|"G-BC $|jo[m!“<2{[B+ta&Ke`G?t.nsqQlА4i$5j;cRZ&e+Me  `;뙟c=@Π@ ;cg#m{moh58*κ=ΪQD&Qm'  PdvH/`EyAe更n:9r$vm .d`ә_QE3?D_ b瓫Gy V<ۼxŃE&"~ѕraZj(1XS^=,nk*A@JIDtr֮}߸M=zRQǏ+Sk[H$-5e2 f;nێ=d3(6UYO+W,+lF*)s=ˎ˩'M6D>~7xMԡݛڵkGroTDg8)}ېACtHou97]AqBtb#ZE\::  `¹ork}A쐀.)dyɝ@ڕ+T6}m۵&sqsg, 7DGGm{@H5rH ):ٴmfĝRb=p-!Ʈ]AF ;Iwb'ˢOSU٧O?MS "KЉ0ɗIJrV=ȟbcc'T[oU9ƙ:WT \v5q-L@@qos & X/* |sek"P5;@g*mNfHG>Aczܹ@l* E,#gq*Gy 3u/_NR[?걸Cfc].D {iգ^'}mY5 :''@IDAT&(<Zs^l JݍV,Yl77>"99G>&ai~ޘ+2e*꜕ S~$Ko_GP>E'sN:[dѓeNjDVf&Q~~ѽlј;INPbs`9;Ew8N!@@}S9?-,4@4OLsR# Fqj{G@MdD}ĝ]@O XZ+r zzrcܸq?2~V#P,p)Oщ;vq㟣͛@@ vXBz7_;%DtyAN>,v)AXt Mxv|1qٟQpUȖeK ц xcıcӏs(>.֤4Zu$rĚ:j7.F)>&L#G^{wgI14X @s%M4Kv^6J =s"gE@@NH}ןN`AdvWЖ͛E˖Z6V2`Ol/e] ]fԊط@K\~K[l)ՠ ( ϟS'Kl1/ "}2ھm+=r}lkEzX  hYs<~ԬYCloށ'܉eveم= i cbО];iɽ@F3>xRSSl[Vssoře[MGkA@8ʞXX C1[*8*\)0nu ao`2x"d% bJH@~(mwA'xpڨƢMZ*U \FNxG  :be:-;S _qpPC\MMJ혢bzWNY+gRF^Oԧo?wm6<8:ѠC醛nbAIG˗F/>?" С]p.?[eQf<9J+"O&B!PR2 vX H@C?x~ַfof 㖋B &@xb ܛ9a3@ߟxj=ȣj-ms*KxD>A!q2ٽ{f,Ν;,3ӓx3M mē㟡c,  `Ce78®r.a"bIEHyB?Tf%Zqƾ0Y,n4DRJĢj sǒ7 _|jԬV/m1MzqBMV=Yl֜Ԯ}C]#gczM ND`W(VsBW@x vB@NyZh(;8tԙ3"lАBBђſPD)f 7'RBc\ ٻ70{6;}Ӊ:{}4rԽ=XxJXvA%g5lJR:yJh"b,: @صX'p[8s(矜x@l~ɴwmmӗ BɍGd]t ضZjwlV+@i Ƞ+T`"<<h׮]MJ W=\g)K6ڴZé 7MNx]e]BBRnV?zbت?g- @nzyGW |^c/7.S'"\&EN| $`v:q";|bZ|JMIW#==ek(6jLڤKIVāE?Dvl7њ\z zy;;9x ;wcʔ)ԩkw˧ʡ^G'pK zi;!@@sn3SmE@@@xrM3.\ٌ3"p7wڿH.ڇƀ@Id̾ŒǒvAsN.|}}0$''G')\.JtTjV {f:,fGfOr +.r N;QVV&ef%< VNpd  UO@DsDJJ2\DAU߸Jl YX͎Jˉ)Y-S-u_/uBmٵ̋dt!%_B OD)r $EMI!RV5Au7|K.ޞJh[ ֩SG Oy]jڼ%Kiyu##4OcG}~Or>yɾހi+4,w;络u쿻- >Ocxl DA 8Lvobkhz ,T9 65oޜd\-q>:edgV'+~l}¦K7P`c  %Qlߪܜtbm:u[A՗&P i.]wLY^y2+>ȰA,g{\J W CJ+U/lSIȤ\8+# _-7^{' jXsYwIiha[{#p;ggg"[~& 3׭]C+-uQzI8?L .><÷<#$$D]HIF _&e*FnR6:w.j+NT}&4}/2JrJÝX+\ q3ON|GB&e&zphlVRbs(Ns@Cġnt@){PVpbH2c}Ԯ}{N MSJH:T$ΨQ8p@-ȥKվ̤>w,˖NJJ2x]#vD8%ZzuуT+,F>>gR#h@&4Qʍ Ā ^X"jתeqgI3?̴(:tcZz!h?_b., eGr:Kv,|uertÁG0 pUSq2>>`^ l;9?L`$T f@tŜ9rq"@@SNDҡSge!4p4@#_@R^gghтiR@~~~rDY!'+'ϝJB\sm<@ּEKuǏ:xN:Im۶ .5jւQ\J4Djmhlt"}Ǵsv.BΎ$<9"X)etѹ[wUOt"KGKgN"qKɬ,q/ G\MYM?"YsH)S=ocffEXXؿ_ Uaq>YCV[v@(ˬOÃ8;'9s  PU.-[iUSdfȬ򌈈۷/egg+HiO!ueffY"<Tuo([6oڨD4"Aqh→RYtMAAD<ڔEx+[oL׬N@"b]BH)>)#T0%ry(,RF'WQ;ZGD'i$\Uݸ%=VdR4L m9$e(w cREn+@UӨS.Zh V_o%Bz'+7<%qtod\^^$JNNXڹs'رL[67lؐj֬Yl2' dرcŶvUkH,/]@gXd]xK p5iڔKϜ=;NN鍊$Sa;Rs褩1Kw4>1n<;?;#M65'B&뛷hE/8dL#%9DԩC^tp> `8$B~W+aqt+)rY|MW*l)iG o4@S3}|ȃE(~"i)dSJ,_-[F' HfAN233nl/Hik 9UѬĄx ޭ۶Wwss 4sryln*jզfL^^hڵ\OBN-1e"1 Q_%G~tIZщ8=8srcGa(:er>BЖ-[Mɹy}oi,:/mÿ  `ޡs\lg聝~?\3O! dz 38q"@@3dt9-_*i3*h4 3dF\*{z3*bl߾ɓ'?w\Zh2 ӭ4%FѭQJNt;}$E>;ھU6^\ A&TA#U"@@e{C)+4W}vQM9l쯿4y5ׅ-^}=zn"(a,:4lzr:w6aɝ=I>K!|tpBzו믕Ρ\~ G@\#gw~@F G=IƩr  PJ|  ]im8Ln32G% ?~tB~tT7mTJbJ~A#>kC2sۙ-;حe]oҡ{)3#]BRS)-5z":Dw|σ?J))}Dz՟4Ѩ̎Kȹ %" MLLTzƌ4f=2`*tBI`` }Դi3JLM4bw7ZWaX A?WRhS!:Ԟ{ϝ1LF+2S˽E@@ h|s,3'4C EzY7ߢv;hmhX" w$=􎟷'8W%4.&V2ՠE*"r):3:#eZXR"Zc8xJc 5_̻8_RJt{N|MDt"$dݦQ1EeKՠizz: >ԝiEl0$p~N;AUԉƇ.ƥd-9)b/Qz:v_ApwuFEzP`PPEp .ΔF.\,Ijrqss=V/M ϓ!N$$e ի ߟlI-\nJAO$䵔soNXr= 7@a5jPeS39Ex M7D.T{ Hᶽ?(N@,A ">9G-? 1uգ'B XL@z8ȏ9y_Pj;{w7W(>)RM6Ѯ]u~@@u҅J5x`I"..N ~%,Q&JQ%+(gqXڵ ={ө'h,r)Hu'] oN `B$Y&m۶M9KDDD O}o(9gEfKHIq#qcH=v  ,qٴƫkVJ39qDjӦMɂlgcLk$9b! ,,<%:mg=Cw쐀98; J“Jō8i8= ou{ϞoRfmh/;2Stw1Aӈ#H,K _ ۸u;y{zВſ*JITzq;w@ڲq_O]4 A@ÍŁ>a\!DDe:t$.}Zj} [-O4O@Bysr: 566g"b޼y4pbNNˠܼb˱@@4Iˤ!@6>͹ڊ&MpV  `[ssGs~93'4E` ܿ/y=4ᥗJ:DSCc@@k;% jJILL$q=_Ν;Wpݺu@5[S2vKgN2hBx:JxsAnaLGUt@@;=JyI':f͚EfH )i$*?&WUDzxRBCBH"-ϐr>=zPKNe7 M$W(@ g|L_Ag/H@h9Z3 @'U vM`8Y! 5{Zt })zM3CC@@@ĺ?,,L5322R >}zf?#jŋױS'NErbt AL%.e&ƍrb-[$dd@tb _DZȚU++uX<)%zDTJ_}|(53 .aq Kryޏ[(11.N,ͻG{ֻ+ @ "x I."_t PV oP7@4OR;ё5k2WCLbR2ٵK\2y{Griǎ\/ #6;Fcv=Vų)7;q7RrF6'V'QB||4P\H6nH)<㾬GF.$_Yσ@@^I/ӑ%~ "Nmv='Ǔ |G8q"@@SzӔ7ߢFa0ajPf!L,6'%N8V6oي<}PVŽ"X"ڱuK%)|||;+zW׏1B]wq gǓM0ɱ@뢅J;("t[[939'qkih ?O=FAO@~zs,gōiZa-xP`oR4J4 @'D⎪Lڻw/߿[I~(88Pbj)[/RtNL2WR5kGТ?Mɳ Hfp#mQ9t?Yu`裸zݰQDIl} (~6]IUNNNQlcyc  `@U>(wjc ^IƉ&~pm '^$WdΝ;k.ڶmb(">RF Л1Ҧ*+7jҔ$&lF‰+ ݻ~WO,"{fJURݏ] i16wrvu(N6 zL~XĂ'sxUҿ}ey}sr&xn= 'x@@8yn?QDD l%D~37.ũQ >QH<a *yŋTZuVU|@! i _&D.cR*萩(...f4OQ 1J҈$߳[N}FՓG(' g*}&K [ׯ%dݻYf,oDΔȊH0x ~?{%ZSɿVmSZbl#}8sGta r9c@@TH'*|Q pe^ݓ"pZ8JLLj5jfUB0 VI@TPdD).N&*d-.!QiӲ_ׯ37BtiGOBRŔ: (( \vܾEE|IXI8 y\  uxuq%(t_+@@U4Ćuk$*_|@F6R'k$" f٥C0ݻ&VGGG 2eȤMrrח)6tNjdRqW9 :] <6`Jf&ȤWCTL,]q@ %Q7r\IkΊډCAAAT|yE!I!D(ǶoBC>^$ܾ}?~;I>w>[P:qݼySiLjYRf{^޽|TrRU=ys*X?ix vE+Q 4  TM?,fX  ay_gf?Wd۳7kB:t1'C0  ^IIOxR q){MA1JX6mhٲe$wR`رT~}eٳge(dlٲ$uȤ^2eҕt"g[oa.=墲Z޽{"3 RTh& H@JckhѲeK]fqJY Ue :PXX(m[Rf͔$ICSj*| zxXLjq@@'}TcTIFAj 1N@ׁۣ: H"a_Iy"w;#gg{ǁ!y| 1 OFEENʊWY=u%1%tL]_s͝>x@c>uV_…iQb/Wﲿ/ժ[ރר=vd?GN;~ř FQ[lѶ)U[t)e_iN΍c-,ڐe{$j5ooojԨZ|¥JH@@^K/)'Jauٴi_Ǫ3DD  `1ڀ r#sk;@@5db(_T,@@'$rY5rcc @@.씓xvdu{dd$IF)E&.>Lw!___ ŋ+ n߾MSL!Q`1eh2Ï4m))/>RK}4t^JoHLb4jL/׫e|^Y?*TZ@VI.#e[4vY KS 0vءi#JH}tyV6 'OКU+ѣGz'jT2孷)M/R)Ɋҟ(ԄSDD4gcժUr%K;OeJ8 A 3~N2YLj{_ m FR8[  !7Dd ^0P Y!/+8׮^EG|LӮWM@28טLzSδq &&8ÐIJ%ˆk s)ҿLmXI)1?)x$ŜSؾ=B77+!GP@az'waIS{YUdݚ4癊 9i//'sGH6]|){4DڶmKڵS*i[H:#]/_F_͕[QH tCTV,[F 1lO9G'joB$QB8rm\]kԪM[Z(8 6I@kV&rTJ^&AY3#HI  `R.[1c  ) HdN)a@*UhVmHNF\͕r:&?lӧIHI֣Ge%{)***4=UDbjԬE#nj5Iz)r@Sd~>^YAA7nPBJz @=O/]LщM R^GOL$I({ĉqIIYS6,Ep*߱{Nm3;*/WfUv4xb9:$~S;-JCg\3D"iR$Ea&Im۶r)jUGK\NsܹFUTDKԽ@K N@ƍEwuaQd~̌+O5eثgK/'N(5n 2a' )ѱq$j)ZiIM" '2QZ%<E.OA[t"7l7(:իTK^B3}lȽ4*:u 姻w *.]-[F֭ӻ'Kcqi/@IDATIC` *IrWL,S4r{n<St葟Q#rvö܋},CQd(dY  K 'ޗKv?"e"4-cՓ<>^$J( NeNPg|@=oz劒+e/*<%3y)S9_,nŨl@km`<@@I@D  `dx%#Pkʏ=:t~@@ ɼ-SeIB˫-NUV8zQCCU ߒ[E(W4hpRUNGR0֫Ou09ځ lBJ$88TNP0%\-Ο;Kׯ]c\n&8flOϥtM^߀3gNR{_>'@V_7ď1{.?=@;w+#e=V"EM^y*%=z)єݓ\b(Khӛ D iB~"XuȔɽ{4KzʕTSh5n(yF.@ S HŅFˢsk kx#d/|y^oa `KժI_Q57S2i&%F1;\!yykԤX@J'My  bKetnؤ5}5rvv6AL(ǗnsI/*J'H:1IGF֬6£\hhW,</R7d}TVbbSb>I2fbrbŊ鞪ݖn;w;LJ,ҿ_ɝG{6@?˗ѨO?H.(J??jڑE'qN߸1EPp*!OT $P)VU²scwh̸ Zq;GB@&U3K('Æ K1IiyljШKU) 1tRD jզڱ"uVk;1cɉ|x;w)X4־sjf?A^rw#o7%) 4z[2/z2I+||})O)~Y\rԭ[7VMqSƐ\JT8|<1=x`*_8zBy?<,RȅhxC O` ,#+}=[ڽ% \ros(~&@1}A  %oz}m,>["& L>F... vOݕ|삘$'PtL, ̴%\z5}WڭII?MmMvP(W${VIӧOC{K}O9QY0|qt'x Jĥ-S:s 'K$-V\3˩lY4l7oޤ?P`fͨwJx{ YG` ձ]3ӌYMY ^I}.}34'T  I9oؿfO1d0ʘ;"P; TG(ˀ=lFu! jKr0.7WOGRz\@QysSN<1;wn!b̤ǟU^2A@ KШO>Jfq:w(QK8ՋR&ҙ)PGcbb{xxА!CBR:7vٔDG@ ͚Э["VUZf:g{5kR{qƳ-ggZqP1!<7;hbx/gfFXgUCE  @9L]@נb+_!CC'  `KVJ$/cøt‚ NF{vbѵkL5;Vf-ۓVnF&.ׯ_$t$ض5mJH}+W.1c.CoF:t-[RL|"E>~~b:7cK~ؔI˟٘; sӦ|.x@ ~oƥ"1NH<#&Sv̾AC>w $tNh8@LYI>э1)R2uTڲen7oK"/߳,bi'/_;wn[z}Nv.]ja@ HIۖosgD>}}^{7SI&%e'͜9nJߧ^y\hRnTe˖#F7'FFS\|8 .?G4j-y%u,^B63+׮U z v?E>I2Yh!Mj2/!%2d>=2#;F_  G_ F   vT#]L\%JqB  `e\ݍIp.Nryz3׎?N?#?SRRB&M,:q e+WuX `_n kT˖A*Tqy9FcpD￧F$jLNV\ISL1xҨQ#{D1SMxȰg.ڷg7]tBg|| zTxqm$>1'DdϿhxAܮ-3ؾk40wٵqJPCr?`76iA@le8 @@ C 4D׵r@  4h؈&LJ)+M99BJ;|+WPllr~*UhǟpYXJLܬ@@K $$̛GͥiڐﶣǍ*Sn]iMfMrR94SMiNTKD%FY8@ ﴆ`#HHA@؝v?+!!)Гȋ'6a  ȗˇrV9y$9¸}z`JssIʕ+Ge$(5vL%JV.q4=zPX%(sA@eǨO?ȶڴkOC |ϑI_=8'Eđ~IѴ1(%tZn7Ӵ{(WIɳџ'r̩9G, 3?֮^EFze͕K I˶- RVoج\`;)%f'1}Qu;!Z` d'vD   `xb/B p|>ƃ! \rӰQ~g6bH H@JTPL]֭[4l0sMIFyfMRBR\&'74⪷7f쐾4iB[D'=}"L҈y{PǮ(w<NؿwR4R2kU-SjӦܹs4|pऍԬH",UVe5W%Ã'P]&niqswr;ϓo$jUS値E5M&&*J<ѣkyOn= tc@@Ν=CcF~H(#/^\I3x@} L H;zTWHegqc 'J*;=,iBԵ[=G>O.]-KOwԨIS*ȟlbbbY3i8Dɶp&d?o[Ch@@N@[ڣE|  D@f.K^bw`jʮC(?yzx ':U0,&\љK$W4e˒>|X)|_sGݻ]RGJp 5g'<#F||Dm'7dumfڰnm c&/sb2yqj IϻH҉L(oEyHiN[+p-%tT2ˊN0%pUz݅;J-[v`g ˗$+t\jS'5[1ի_vjJq%,[yx;rc"˞@@@ +4-+5@@@uh>gj T~%8+0yÍ<\_}qԲ;rAEEٳR9ҶJ>$ht[ZɃ\ׯ]%r2S:r <1[oի 6iE:t*(|;u 2sIśvoP=(O2NqKwߧF/&)h&OF={5tqwuΐMϞ=}$%F#ex֭[j;ijV6n0bVG:}0v(:aZūMJkW./'ŤH'Ll{2tpI_3t1_)Kgݦ%34 Nrtr{Y͝/MHk&|j5kWұG Svs2m)@.-ޜL8n|$⎽)O[NIvZZØMэaoӣ@@JXK@A@nnlDN0Pp?(11ըI9 @@KpDːGRL\ D$cǎǏS%HVvܙŋN^\FTS4rxaÆ$̓}@'81$::Z/px7]O3W GFS2e 6۰fܾiI.{:.0d[0!0rHz0Dcr=*Z86@G@>g޴~R[Tx s<~ASڶ@[\֦cgn߾Ef6uJժ~Z ~B%Isbll Z74QJ͛ۋ $@@ W]؏8N  `gΠ`  N #vY[*] 2oZ/ʕ;7+_A+W( dIBIztuvJ^)&RJ)+Ϝ91w@+UDx"rʼ6y{{Ӯ]`ɓ'>URTO..J_r$Ο??TdIe{w0kYyŃ ׽<;sܡ쓕*!Ns~zh=ϖp͚5zT~LWQUd06r<|w4t +O!(k6mQʽ:piC]-ߤ%JҖML*\x5iBT3ʔ)C˖v,~iܴLF@YWi?+Wa $#j9{kUȬe0$z^ D  `@c>{Mp@zh—| *&ӑxMz wOHIZE9UOIVkLJۜ:uXi W=ᤙvG3-md\rX0X6_+2MTTimו碬wL0gpbۥsgX]FVwjךs. طe_2EqO~Id<Q=iXVIΣoJ5]H;{O#å Y*UhFK :';]b5cGӎ۲&XJ0}'=d(di\@@ =ɳٯc` +5j&^'SIN7VqHeSVտtFŊeRR:=|"*ۊ$h\5"K/(MxLl'*夤DrquSJ[%K)*\Oxx8-HY+K\|)e@&/]8OȗUV$I$RR&/WXȪ8nM&z!]Qtq (;v'B5Xv72lݺGDz"ՋH:1!Z@ZIbi?[tzIV멩IEEq5F!%w$9VM"1W>˟T5ɔBCii!tU yA=$?! r,ūŎ1S8. @ll ݻspVDN$'ߥ.;ݻ}P|?ʖ/o8@ Jrª(l\{vԠa#sSr)44=j)ӽWov$UzᲉou3_,^'ӻ'ݳ[IͺJ `1>;.v_"  @,?¾8 Mz~5A:^?<J)$Yi.ӥ{Oė.^%W6u۲e EE=+@^i&wIDy$ߍ `S$I8$l-452WNzTF En ,_ ~߬7ʕ`V[FmZw˟v8|=/-N<\nUV=-]g9W\ҖM3?tL@2·{P<@@ HA_ك벻@@Un޸A̧wRuY U`@@ [ %$RBb8qGdҥKS*Unݺڈ=ʕjժoM7n&H _]kĉt1>^ThqVjy«{Ҧ*OGEF-$W77=9:#)cKY{)GGGS1.\Ed≆m@B|<9yߵ\\įtw嶗׏&O>>겺B!.O{K04$HyK cɅ?XjkJY>C gga% k\ ٳ)Nstt\'(Ym3K]z `)Msa   `xb/HF ??. (L vv}EIT{UmQB\G>NG&Ƚ}|)/r~TN+V" fCJIѢEFX8O?^T DCJ@IJPV㗏y5KW%O0+\8}>f ߲U+W\'".ѡC*H1|_2C(&վ@ c HmNkT;Ei'4Q6\@gȤ[owS>{:nɾ5kѢ?Pε׼?ey޽bRmvJϗ0P1m{;Kq#@K9o# J*E㿘D6@puP!Gftw%7W 1dB:UBOL9r:tH)i#i5O~~U5|“${i維ے# 5& /WX*^LOʖ-KR;mkh[X.(""j$ʛ\=IfV(Tzuӧȍ]]{|H..tuBL*k]XN?N 5N!co$]ByD EN(q҉ܗ||})?{` C`Mn^4ĊCeshɢ^V%l21Tg!xPW_5tج}kC'g&MXqY 3CmԶO^WQhӆ 3ňx@@d.̛ؓa   `0f/+  `,?n2$dJ+ӄI_)͙?k$$H9::Po/.scٚ'Oƍ&$)sJb HJ*)+4ʕS-/i!!$̐≦] \7S5 >4W*Ȋ 01qq*_y%+%I۶ǎeGhYvMQ<^zCt5k| @hh)ӰGYF?at/ץH,^BMH"#\" QV۠U3H%;џёÇTa'MA:g#0@@m\/CiE<)s'jO0@@ ډ(蚬x}L8;=ODD +rXŊF4|:}ns\O&oIRFml۶mrxcySrssr**9IfHDF&rC%JRv{Ys\qfTa#*_Q&g.j&RFg(0 ʖ+̔I_*ص;ltCO$R `JKT0BSԥ};:x` }{\Ǖ獙'yxx[5ǎR:yxxš }nݻw"/~(6葟Q#Y&pC@pX .N`clٴ&1{@@ NxczA fGPD ڵRLN1I*1eRP)Qs0.,7ЬYKI <{"Sifխgojۡy$ $O >u؞n R.-}7m|ۖ4KD (\( c\ 7^ ؿ:iEAA2G=Q&մohݦھ{m.>ʕEc[N7 YX`zkRի4Mu>K$k8yxٵ?66f4׫C+-5*] `@4˰0++ ,%߱i0|(P =:tlrRSC@h  %x+1עѣG%?rnOhŸPUZླྀu_իM^~ƌJҋ$Nf;s$_Rٖ$Ĕ*["^$hlP޼~t9lS&)͓86WJL*WE,$L=Lĕ1+],]t`RsyR;M6p.qȑC+] IՄ'aItҾURtf3I[8dLq+V6rezICcL>l۽ *lYDեC7&o|=[ޫY}eE7>K5@BOO δC4k$R;!f&.f.@@Uhú}E`U5  D #Xx"J#ZQ)\0ܹ3E2SJev4 Nǎ?4:#mNV(o<{r1wҝuruu| e >Fr(MKU6x ]~n9Vʟ21 <;ug Ҝߌ<ɛ7/ߟtBcE[^ON"" Ɗ "8N?G(.  YN'YP1ۯS]v`" ?6h!IBaTu@@^r;c(9̩= "!@.7lB梨ERb<'l9ŘPe^)-I OhOLLswJ/Jn.唐(H҉xOzMX^S'"!@U?yunז\.lÔa"{&N L>?3 @Rē|}I&rɚGtDiW0o.raLl޼Y)yS3vDLׯ__)cIjiРrXW$aErW#뮞9RƮ%̎јn:%r!KQ@~ \pՉ$a(Hw}G}k Ir"<զ)T5y4]Ci'VY[q3g%#cvj % P%KҖvV37f%1Љ$8YeY7SH.y~d0 ÿi@@@*#!PZ ˑқۨ5D B͕X$8"J?+dn^iHH͘1f͚epUL<曚rUژ`h7Wݷ6Ys5Cmظ~I) ir8p$I$@2@.zz{y{ӱvz,x" mZ6'I3eZϚuH+I!b>3VY|`xj%ūRrSR"Îڹ>5.]a}#DkoQ9@   `xb/bzًeuq90@=^9?IT|ACG~ Of2r }zjHH6)/]DڶRz'< ҿny?ЛP߷:p@{cսWo*X?E\Qg /)bM˗.*j>a9J*2po{f jyԻW$ eL3z은ܷV*O z(vNӾ鳛7͚ÌԱs}'ϐѶ{P†ԡ$ݣ'?1˔N\L>C۶l6+^4l&p?}W6ǁ˃ D/P7^* ကB@;БNZP@@x{رc4w\9޼zʔ)o>8tO>}JgΜddz'yR/sy{P|};Tb!<'ē bΎR{"b__4zwt X$]pqr"DYeٳCzhtaEHvu4)RN pkP&EEfLYڅGժנ:/#IY7:Wٵ3Ձ8ISmDUU6@:ܼynL!h'#SI6~sv6oU؟lVgf  FǢL,7&&\qFeoTTR''O⋊DEJ2%qIJ*iO9sQy (URHѢ5"<}H.^芞^^ty%qʢ(Zʔ-gGPA c hoi޽R1{…HϷ2X+s-9(ɥ!Q0f5oNs/4vX/!MեG 'j+^͟\Lws1 9@@t8lc@@@2\u=a *!!+ЁQ+@IDAT%ʃ;z} :<zKc(:6c^pwuR'իGu>\4h5jԈ6lH ۷ӥK,%(P@{Nb=JW._荐`.i/+Q+ݣL&p%A7oZ|%) %$o'xzz5jP1>Ppv*n?77׿I;ɜ_1XfnCOCe(Ε6o4j$?@I25v IR+PП֭YmIXh(S\ s5Nyhp *" E`U ![y): <泗dصsִ}>3P]|@B '=>!QIDe O?Dd/M۰a]K'%%)5'=uK 9kRFۙ!-#>L|8v[u]>V2DIzϏ4l%%gV[LZj 5̂I ;կU{/]`Xiͪɥ,In&X#^m$(o ˓iSizD |HN''  D ^}; TG 1!:^YdR  `o>1qZ=I3g*g4X"b 1-edgSכ+-(lH|=> ߏ&OG,_XQRbbf]LdczMNt};CUSv/*'F|Dk7mr+dW.Xˬ鳏?7oıc\B6 b߻ghw988P=Lq15-y!/Ǐ3t(*K8I:'LxÉ>Y. nG-P[q)-PEKq+B )-Rݥxb$of%%w wgy'gĂ'   B@r7c~IM pR+|İ!TF5:~A  D@֟%ٙѣ$74h@;v`Ϟ=}4ʍ4tOAy+bڛEWHrOJ i$gک=LX%E'&tÚ?VRh)RĨՕ .L?MO~ $OOϨx@ 7n>K+:K-Fjס+;z趰OwBRE=|lЖK}?xA{D ڻCJujQ^= T)qE_we90@@!M@@@,'a;GS@@SC S5i ѦT@D 4xGɒ$5Vnݺt)ݻw互Ǒ LW֪U+*^r琈Dxq:~B<ukXpr<;ܦxQTgny$pX;{ԩ4m$ݎ8pԾ}{Z`r&"s.=KJR<%)0O3gcuJE]E&-[(/.be͖MuEMTbӘ&mZʔ9L,/M^]8'S#%UwW@?oU'Y 13'  a_88%N5"Õܷ=]+tD_{xP)OI:x@\]]͍\fTpw*?q7oȍ>|H9s<ӵkW fiO&???妷I^t7oi)/ 7smr$9V^|IsE'O3P>}@Bi:11rS [..iz.=nۮ͛ M֐0 ~ަ HiO2^%2{uɢ28D2E` ۵:N4}j7oܠU*VߤqZMϑgϢ+Sd2   @|% -]5a )|d$i ^Gn꓃: v" 7>W ;Q'nݢs Dn3)]3sL՛d4|p:rQщwN.s-Fsmyf+ǎ;u7_+[;s޹f6jaE\hixur@tE&͚`a$zӎGND1u,NWH7jܧsg(%{[']+>\,4u;J*MfD272$8vza `[gOmV_   `?R8{}y~"S8-_F@KtT(@G,ù|2]pƑ!JӦMiƍT`A7n%;Y$pUщ̓,'SL!ɘ"Q֮]KMe_Ț5kLt},nYj2a`߿^ݾ'L 1m(vs]ҧ\e˖QڵpV,Wɤi3piTCЩ3=I*)R"(㟹6x~sCXo2edhOs˗.Pu]/]8FpIɖ' pc~ bE   'N8 '$ w}avr< OJF 3ƃ3)<=(E$dwޥ1cФIHJ Dg[gϞѮ]I-ZSɏL2J'ORo+ŃRttu\b: |JVoƱ߾-6 MCK̝KII+WdݚՖL|,azƟ_-)k֬4qtܵ c3>Ub9zA4UUߗǍXdfI%JR벸{N`~72LSjΞ9M'ӦSL%Ƕ91\ [Ll|x!$Ln$~&A@@&#;cC'zKNxhxzSdkPL@jH􅅅ы/^ڤSNʚOV=7o(Ɏ:ujJ28c8Kn=X3ew/A<߈r񼒙E ꘵mPdbC 'd%J"!d߱TtgЦ"5*فr̩NH ؑwIߒ$IB4iwY||]PP´寝 &,R# 之jդєŴzW$Q9},VW턍@@@ȧ7[b/n~][yG5$IO7_XeX@gHeOgl?*7OH2r*q'7DbIF?Tn]eoH\4Ď7bx4o^e~~t!>ȹE[ xGtUщ (E"≓xSy"1U~n'ɀ[~R/uDs0 7M_rJLJ֤_."bll׷|W*V,Atb5X%p54.zP:uong>t9sT>3u)ZԠϒciSEҭG/>-4ڱqMqy6傴+b& c_ˎ/XGpsĦ@@@In)ކ}"'0I}ݷWZb9;T|@U9yW^ (P͝;Wi7*Udͣ 2PtH2!¤t[.װe7$$X:{%[v.,!2gF",  Wg)DuTf_E=:;w7i8Tsʞ#j9~otx-94򇡴GATgx`_N8Q!큕A@@#>˼ ! O`7j܄RϮ@KK/_#9LKV\I;wT2d4h@ǎI7_X@@ $]s1š6c>uML[fԴɓhú4p0נD4  qaͻ@t"dD(%G=4^ZE&W?nF`ԩ )"ZX@JY'\)sf4L$'O;rФ=e-%3 ϭ[HpR{EUPnuj׆;ݿwԩI/_k/I܉S%-K]hr#,<<֯]CcG7(x'@@_0   "ቆ.B 93س[0S@.rE#FϫV~@ /wNti9.;R\9z4Hr*4?.w$d:ٳgO5jУG"Mk3TEt"}+[(c\?1H2CJ1͛6o"61xԽWoAI{$vd 9}e$3g\>J.+\5weʔ đChİ!q"gNH@~i,'W9!   Fv!^%oup pMj+jߺ%ݿwWA! pR.+?zLA!1'NL/ԩS AQÆ )_|SIz;wnX"el! C+QMJg ̄-sHnߩ3ZeM, ''?EIXJ |,]|Ho߾%E`Rr!׮];wɓ'޽{t>y9sfzN*T@?W)gMyȥ޽{RʔIQRXH-6Rn_[|X2eʤQ󕯏Z9u10E쒭jԭ7Fƺ !PH!L:~!Dsڵ/:z̼E3$ X9$רI>br֮5*"ukV1gXk- H-e߳?FX@@@~ <k  $ ?㛰˓#)&mϳ^NK |9v<0H4ⓘvAҥK2<"0ԫWOHvsTRw :Μ<4d.ٷorGoיx=c<4N I$J=zDNdiӦ/":5n)`* tЎڶ50Kh;L`> o҇4lڻg7e̘F^ ٶycP\X#T%Ks-2it;G@ nWsD+.!ɠa=Cu7P2H3לK<%MڴԲujҬ9e+&9KiF֯S-+wnڴm;%1n\Ç R{os$m b @"I8w^hVXKM-_Fo'0mrX@@"/OJ$1qMJd t&})u HdQy#o8L&L'I&Un|ƞO>=1 ԏK*x{{dO1mG,1s$MdՑN“]済` K~_DO~oXH0qIeq,ݻwTVu}=gJ.~3ܽsωDlݪ•1|łQÇs[kVgy   GGI   A 9+; 4G@n@6j܄~5RJ5;Ik ,.0&5iˆueF 1 /(U([nmw1~d1SraO$7- lqgϨG.$elen\wWakmfհn-%[ID^%˨ZuE4uDZ¥u3y xۍb_Dƀ@@@4H ^  "Pc^^C1!!,yru޻tnrwp  `2 H.B =<( HPhXg5d6hNO=xp_mѶ_4?!Oc,8,5o҈9k-M'v-qmb9M0|}_8@Dd}uۃ8'cA@@Y M'gqg#=G1z,U^#<@H͕Rpao?0(ТאrKM"F{CA)Q?¤MŋӴi"DԪUhD ќ9?S9?䭈NM^A .qhۖ5hHt%OO63e&䯗)9g{j߱5ne˞]lSLRj5ZxM׮^-1% 294rPs1N+BpOۂH1O#xBBJ4jxʝxr8Mp<27q{[??;zA9Ʋe(iҤmo D'f =aTBEk,5@ ~Nׯ9eѪI[4\Rf %uQB.-r/F0)d>լWndB{FG2aiCD3IԢUk&`;whu&%A$E5V_ 9=N '   `e>SKXL[$]eK+_*^͞&Y#p,\C'Iiʪ+*O//*U,?{D"&ezK4i脒d=~X`dqy͛4۷$qsswwRgS1B=o^EJKF/^yGRW V(5JsbbX ! ߰KۧLX_   !“[KzGc*悀 /PFG   S'ItTpp'/OvyS,X^ӎH_|A?E|B `IѬӌL81]_y0MleQ2Eͥ=ASKJӧTVuJt&m;[:N8Nnޤ@2dH?jS typi>d0+  1'!h'( @@@rywtdr%PFM=~eΜ%$ @@@H㓔2`-Xu:'7VV0rqfy8MNuWF7oNNJK򧘮՛ hѥu ˌ0:pA{ ɝ3$MM:?d:# 4N@je_ʎ/X_,  Z&ቖb#C:_8p6R$IicEx   N@'H@@@5Y srD-{vZyNR8˙=rȡى8kϮ]hӆ.3?z~[0_ɤR\9jӾ#y{{%Wҟd 7]vRJ$@ dA @|rM 7bW._"H>S)MfҘ.PjS>_A _˕/_]t 1O?F;BC#̦?O6gxs91ləSQw߹1{G׮^1];S%.7$u :q@1CKiNb   $I,b:ߙ=@<~L}K#2!ݏǼyH"] /Y<"EV~wDP"[ƟYp"Wo)kD.J:x0@oSL,"ׯE;Ɣ·P&_R/gM9&woJD})]F_|h cl0:Q7oܠV_5mZуS 7:o: @@@@  <-A@ O.O,eGZ cGSjUO @@4I 08|M^d;rqI\^'eDΫd?y͂@KˋmahQюSDm˗,*С( : kRtkDdRc+ԓ@ީ?_3HEgi&GΜ kߛׯQRyڿw]f `Wu֯]6E-G A><""[Xr_۸W,\hRzV\TacXh(6*˿/\0lUȆ7S؋'"}@@@# ؟E7} (ɓju&G}A@@@H` 펣#+c۶lV7zEmLD[rʛO*Zpp0mn>͛/ڕ\T&LH.W$&MγgF4bzgϭXB@ToEٻ#E%1@@@j <J,   K< V|H+`#pֹ#5o܈_H=zF7hRStkee?{FM5y*]|j{l q\\\(YF(Pۼr Zԩio{D_ܾMZMׯ}lfEUs1@@@lB0M    `6\jKVf̥ͤ/6 yJu,i   !je*Ě+^a%abia )t?x%{ < ;Dl!cFڲiѓ a!E(۩\1Yf.Н۷(s5nA~'E Ibз˗.R6mz?w6mXr\b%jE#վ´)Sy{{G{=Es@IDAT~ݚԡMKڿo.cdFٷ`SqM]   Bon+ޗEUIM_Ryڻ[da    q@bo]eqYdDٹ}ZNhZ-4yXӎ>htJǑCfԷWzVB `q(ޖAhG@G_   `G6guI)mX7@ Lc:['M!    xˀ @@@,$ g#1RHI}:+t߶'@@@@vreF7ɕ;7{yg.k&L>cƒׯ[? Tߗ.7+PUж`BQ8Ǐ&Fϟ;4l&&kٿcox M'ߚ@@@L7x|vR0 ڷg7޵r M`@@@@tH9 3ҖMuڣT\npQ}i޼taz0zխ/jCTx$";R*h߾=TReJ,Yԩ1G݌f{iѺ n.u5ٳԵSZ d 4N4'N+4~@@@_   q@> ;N\q<ըIc&H2egSAm]FO6YtIIat~d,y%ٰʔ+֥Ӷu&ug i8H20j4iL"¸TiŪC{QR3,Ų'4ahZϥD,xd]?,w@@@@ 3\%   ` z/a 9wnV>./N@|'=>tܶvA'O'?7*Uj7d%E]yk|mL5X ::ԊHY,wO9+K&5IPP msm\Ng8`I{eս+uA4$N2gͪoF)4ֹ#?w^b@(Oޘ;TR    4s_?D   N@~i>!h$]:4jܴ%H_E@|' ͞1X^~eݝVF]{R)Κ>`LD{Aʙ+WDS%+_ձc&L:7߷vlO޽28N>/UԊ`Fv*}k06!! p.]N*VhriMAL[y|_fp4|˃@@@bI 1}g,tϊ&P%luk0 Nf/P\mIk+զm[w]~)sqr9׾uKz? 7yLiKHb&ϱ.aC^끀-\Eenű&8J8 `[Wcx)b9ݿw(,\@@@0B 1{6-Vf؈ =&Qߤ?UQSK8u4ԼUkzG/Wcnc_VP9͝j f14rbX$u`7l@    gpL"(Q"Ʃ{KHc4  |˴ Ej 1O˝'{bNFfSqqq-$ɚg;r n\nδȱ":|*S6͞oBCi4eE|cϽX@ ,d҂   NEOr!XXK2a )Q)n㓂NJS)gL9f|}})U4THQI!ݻ{^l0G2ׯ]-[Q?W1SfjӾd@y𡪰%nTF ,a)cLQ~׎\2m\޿o}XH`7k.“@ 4p*eT`A@@@ F)xƈ El4jxʛu /@$p1jҰ>xɒ'\rе+WY\ COcI)eJ1s\jܴ{%9t.]@wޡw\GLb̒5 eP ;iRju&>r!8d8Y"D*O8!tvӊ; "d' 5nB?CRr Hٖ[FRBU.UTri]$006qӦңG뮊8ؔןEGR:uj:pC!Y4m$Z¥u¤b 4MG7}ij4M ^a@" a/Mj%H㒦k"!"bRZ*՘=T1N "|mthdc1%*Ž$]|P}vK:^^v4 6ݗ'; 4E $8O[6mYP94g >=+1N\Mu}d̃ԨU).t!DD%Az"6Α3[ZsR_PRIԹԹ}[Zb: @8dS A@@@ :DG}   <$-ff/Ž҄ -9FN~q*gwu  \8w~9C5?NRvXl9J8 طȻwnSb)kFwdɚ$[ʝۆe?|;\.q9;whwiQ [̿a.a    L|!n{L0rNE//Q<=Gs h/TLRJU9v\Oew.]@ڶ#*R(-_>D߿G ~ƙQrwi8 @өWJYIM@Hgo~@@@@@t @xG    c>X~ {vhl?{4XT|VY714u2@@@@`ޜH2D Мyt6[>Kl޸\___J: .R}(88N;ߥ=sZkOnnnZj_tP-h]b-ŋX=L`-a    zLM!!vy|p{0; 4GW4bV<߻Gs!  ۷nRpaTڌ.]&F!ԉ?ߛ7fm1z2䗟瘵#;rjWB}{/PV{E@2Tdo~߬    'tA@@,&3Gd_My)oݒ @@@@@gt\ylKCyv1 O2)1 &A~o<=c=z0XKo<~L}zvKb5O+{ICj    K]8SUv|b-;;wPreh;ŁA@@@@kBBB B*R7UJ-Ҫ۴xBu0(ݣ/lLeʕmQPP-IcӴBJy\&c)|pv  <1 e"NSPM'=-\0*-E˗,p|n@@@bK@ )nBĉ bP\Ҙc?` ߬oٴ$M͛sBOQZ㚋L˦Izg`A[lJ.C..1{NڿW4iӮ4ioQܹ p9~]ֹfKؓѣGelRr8d(JؐQÇQXy )RFQACs0ըU+o v7qKx~_vK   B@='#؀XB%OZ~; 4GʍP*R8i.F   $IN7.!K FS'\!cƈ&^=B.^9Ky,U *LkWv)___l%.^^^; ]pfϝO}' {)oRɓ$"!h~eoľH @@@bK Al|U;h# .}z~w5nڌ$$@@@@ Ci;6:z0/PҤI @'2Ujڼa*W-$,4*Tگ("tIuQitc{Bwn2ȰnPP =~p muMw ݣ͜6ޘ2c@n` {@\%I\8/xǁle=?{fvhi%t]*^%NXs1" I g\$q>x ܒ;޴u&7Q% U^=jUKqkWP(_~A+0v4 ݽsGA"*=>%@@@@\ P%p[+7cW\uA~iݚTd16y"bͱDC`ȰF0}ۇYAZ |j2Nr۠= jsT__:yB'j$o%I@@99G[Ėt6ȇkb7q {`$Z4>    `@ENƺ[4mD۵#)UBBBhGz+z_UH#1tlӚ^l0Q U*ӈaC[G}ATy`1Lq    #Ul),hOֹ#5o܈]@!0tr0z~N?f?jG,YZQ0hMŋ>lҔڶ墨ޥoFҮU jKq> `)G<,]@@@@,#e0 @@@A!/"OaUa74;` CPV    `>jDsKtZG$>stt%N2gBCXH9s>9Y6ٰ9Z$+6yCnj];2;$hn%MY @@@@b&1{|;@@SFiՊI>+l^S#8I"EhH6)kF*UEq`^z@ J%qBlݚ5aZE>Z ypOukͰLJ&OA@"N{֬R?h?s !`?0L?a    "ቃc[# g%^C 88M[7o,YRٵ"%JĢ0:rs=}$P2dhtt$Hʖ+GW0?{/"ty:whK:ۏ/Iߗ/O>eVSgȡCԩ]Zw 4N4v?NJ@@@@ ^H/'    G ,qq|"PFM5vߔN    `)7~(4l8NڌCEQTqzn͕;7m߽Oft;6mXO}M?VH<9mk'eϑ#% Mؑ:})S.Jn:uϣG4i8%Ӊ>  OxHvy`#    xV#a_>^.T`' M۴E//YJ&z   % bM{jת?v^V^ޝEI$!Yۘ;&4o^xB'Y.3mٴ+N3fK\59-ItCd:.V;gL_w.ă GuUbp,U    lpERݓ"NgϜ˖}Vh*F   3zPB(Yd1aߛ74b3b8{zR&c1̎;-$T%wd~Ç$&kPpp͟ԏCwCи#ٳr͜ED#ukVS-x?|хW*X=!Z q@|'`G;M?ؖ@:^~${'vL cSe 0 fzvB֣ Nm[˗| Пv9Kݹ};ulJ/ќ;"MOB5K0!UR g@<~N8No^Vܭ;vQOcsg(b >0pW9oٍ6r@    _@x_4@@@ .('3|\:)K#PFM3Gdh̫RlPdɊUTZu|U*[1fԡs>s}ِ:z8~HM *N b(MDQ4QJSz&=M&&M&ycv;so!}"NA5Bfl>iٺ{(\ ;ڶr?L%y,b  !'e#$ xM;U5Ԡ!`9S'Oʜ3֭Rre6!`P )%J @!哏&%[d̘)mJzöBH9R*-_^VX./]<sUVhq(_+Gǎ:Yc?K.oSD iߡ}8~,ֱȝ'̘3W&bg;;g{w"˖,~> K L4;Δ@@ _,D@N fYAI חmԋD2 )R Wܱzqfe} #Ǽ'Չj$ɡW#ٯtSLjb#-^'5kՒ :gdlԯwOٲw BZ@lfOi,Ұ_.I@@R@O.ypG  @J4<1Y#Ln޸!cnj~eͪˏ@Hif92f(og:vO\'%ٲgw<Ŋy)v}{6Jʵk~vjvu4:jt$  V>:VNC@Ff\cz1 %iؾ]ʖ+OW[H@ zu*kW5;<(UWO\'d"3euk8kإ~iJ/>TÜX3!%f:\S2״w\r#s0(n8c Aa @]  VJ!,@tg>2$X5MB@kBCBdW_ȄĬxW˚5lڶCɕ+7,-7-w8ӡSgJeK3HjUeM/ϐ!߲M Xd˝۷o_|&M$As 08hH@@ X$@1 B14,%`>g.3{7ʕ >>jd@F~tI~^ bނ8{Ұq\~n.Vak+uG;OȃժK^j ^ܽkvLX۶uk .Ea#F:\ 2`@-y2h@|rRM<$T^Lìy*p  @$e   u54c@@Ǐn:H]<1c" fǏ[ץKdՊvҸi31EcdOdlұK׈Sv_Jcw,!O%ٲgwx'd̈ws"UZG>RNf !ߖE˖Kb#' _m'̅@BE4hH\  rҤ[@@ ` k| 1H>[^kd˖#s0( V0Eu mZlr`~1[D4ɖ@l(}{v=zʈJ̙#]rEjW$n݊< uF=Ӿ" u|<ӱSغytjkL[v*m'9s4#O-*O, Nj._~6Y>r@$ƬQLcQ|qQE>.[,]:QކJÑF}!C'1[Am[ٺ]iQ~)Qd[ E{ْ2f;br!/Y~_./H@@V7ic6@@/ּkQX  Oe^B֬^e\$ ;CN͛7kӛUPr}Q +ɂy?J```5.^(\8JEWS$?~姅5,]H OI8hoz{=qHƌ'E|nMT{瞕)_~!:1ͯ5h  8#Ny8  M>oXOEư;Z (dH& $^H ωٺŕf3Ξ=JW[3ʫkܱ ҰqW?rmL;%4a.iސZ63Qo׬%-Z[]ysҪY8WILJǬriAZj;@@pAv\@   CtzH5hXR SLҀW+żFC@ %|՗2a#FK/uҲIC1[8jo {[ 4;q$9sZխ-wq:#rSmIIpH޹S֭Y%[|ZyY/yZHpnL7Vnl4,.0۫^x  `A O,  ei#4^`+G/{RSy7:Z ̝3[^N7[Lٲ+Wny0GvrMҩOg͚U6m)<4[ `j|}}iI-7P"^b6TLA /X9}^+)" XT7,  EfmK4Jhrt?eX" qVݻc /F;Vz+:w6SҸ^/iӦ6Jb5f{< >B7mk{A@5 2cT Kp\̞V4id  :X$u%  t)42hyc2{t JUoZKH2 Dظaa{NxdK9se8 婶'Q)ɐ!lۺU̸j5jʬm}BCBdo=e-b~!`atS4b_6IO@@+G  xT/x_?{WI&P͡åU{x ׫,WU^C.^^rEjW$nr8 u:<߃fۚ#֭|ŊʠWi>7m # cG$z,@ V5$\L  *|ѹe@@ ՓanDefwߓ%J| @H%eɢ_$SL$cƌ,W\zṏ&}*tuxΝ͖2}`vʔ-+Vq6?S֭]+ǏՂ@ɕ+rIpYjgbx"p^GkKeZA@HmWE@OCcFKp.6mZԵ1dΜE@ A2|[ey{j#KxMh1;wN*r=f89O'7_)!|+:ү4k-Pi  xTǣ38   =ͻ*OjOi@hh̙9C֨&S|-9 @w ܾ}[nWtb/e1KO<2g,54։F|G{͊-}{vg{v{*'eůf5IX!gf-Sf֡ę@@&'nd @@x wGjtutG I,RDF~W7l2 @ ;6:ǟxBVh),c5ҦK'Ξw70iި:xa 2Ȼ>κX4ݻweۖ27̙ӶՓiݧ)1|>t02`Z%W{  |0C   kz| ؊4hXNڵkcv)Wnr9 w ;zߖز W?S"U9v!I֬Y#{ɥh20)V,ߖ-  (diSƍל>ݽ[ZyJVwVikNW._JZ@lWYƟu8  G<9c#  y{ݝ$Dy}7Hٓ' fEj'NHCbV=q֞xIyC<8{ym+^+UUBK޶ȟN=r[Aŭ[l*/5kՒ?#Tu'If2mflj.s|IŸhy7/5jY  @$U$  5i#4^`u>yR_9r<$^,'M>  L W( -eMfiE+'zحr|͗/qI~r8:СSgϝul+\tɣs18nXmuM   8]  Ul3P `Q6bPiմl߶Ս#3 @J8_ #m~q-SL˯(:1Wh=2pעqٽkgBf/Yd1cG>ut:I~n\ /$ 9$N^ZE'j@@7 1 @@旪h<7 4jTƼ?N (Q @Be'IH%dbl+Z-]\s˼ɓE8:yonrxd/dqz קWE dVtyҢUk[1Mυ ŬxBC5qk[,[ʥB@i߻78q0,XVlq$,,,K++mk۶lk׮F|d1$W{LvLܾ};`^\׎s4kjC@Hr O @@(OO-#e0oҽ5miߡIry^@D]$4$.1Slris+O:<cߕYMSL=ҠQc[TQCҧ`~eyAjE쫧UϚҿiƌxG~߸A||}mbjJzIbJfC3ɕ"u4""  49ԙ@@ 1UI53"ir*ޗJY @j0&;f 0 ( +fw:mڴ1+ķ]MZoqܽwOr)䑒%KIuXS,ӶMKٻ{w}Lζ-N,~b>TojLIYB  "@ቷR  UCcF'x̊'-[wF|>j@Cf ŋg0?w2gcIlӲi#;-ZZI|uoj5hxal[ y=k0{?}1N^Sn@@ x-8~n@@ f4:5jGeάO@R@,Ylņ˖,vx1IjԪxR0lڰ>FALW^ZH#YYyfod?b-M\j7k*ϞXAC@@|*[E@@^|*pFi4,)p8S,%s$@IDAT)@ ~i߰*\從Wӡ7m\UNZ\jՐ"IO`~Q@@^2F@p pR_6<ZaЀұSrAKD >b,Yy&x'o^N?.=t>=nd4ʍ[{"  ߯# .z5/q/[nI`Kd/ɕ+W)urEpQXT.wKtxs~2YҧOﴟN޾}[>ȼ 4Bt5jlа>U @@w PxnQC@@&]cF6 i4hXJ||]Z2)r+ VZE"HQ/] ZT_U\Y-YEbu˝7TR5;$;$X^9Nc…  xgrG@HuhjTHACrN3kWJlX.IB@rҫkg/2 H"{AjeYx.\*]:Q?# ڱö΍< 3dܽ{W>dܳ/Yz#:l6+5Jh  W“s  !tُar4,'&{v?εm{PLYI,-BXVҩb {|œ,YHݲfUQ{oѻKx|MVL[&>E-Z̘3WWJ'fUeKKߞd$L!`qu_[4n[>>7?\?2d ǥ3g,}{^~߾S^ b7*5ĥWN,`V5QTd~1@@5%+@@RNOc&_|Ge"*Um`  b$Tzu1xΓG]*{wv8UHHܹ}G5iK.#?Ν#orx|WҢUkn;`Hp|7[yO/ٵcghXX]FcF @@Վ!  @1=>QE,9%'o.;t~ {L'ݻv'^v=ĬRv[DLgVDY~c a}3ŶMĸٲgzHmY_$bU+ˈaCϯ*1'_HvD  ~j^jn@@t%8&C!v +JCٵ]قgy_~uȌ9sc=ʉ :+ɑ!)R/_!ɊML~ˈd-K[&0DcK$  ^#@׼T$  `1tO- )#m?#GGy$8@.0kt`;}r#v}KHR ϝMk9sfW/wyZܿo\z_) 2VTiYfBBoh!!2c4qx7L,Uh   $L_'̍@@/i(ACr!F-e?Iܹhˑ@W.^$=uM˚Uqf5[6W.MY7t:uPyɃ9rV1ߣ˗/I IҥԱM7ȳ$8BK%L2]`tq=cp  $F;>*;Z@@F`NSW餙YdJmC+@dt=G|i۪?v,AY5n4uq^ը,R$iƏ}Wܹ>q խty;z4a~iTWg#  @x=@@y'FF5t4,'pi~,pTT)[UXHR^];C1 n޼a[ͩR*?xY{Lk $g߿/;.Jl$%Kɒ5]a7KVqxޓOydQr2{Қ"q-#2  *}z-'@@@up:Sx ֤W56m וw f e˙2\os̖^ݺ)XխWO2edoc/۳kRKU,'o}+mz#*b6_ߴrHҾ~8a4[K.^3) `-3,m׆l@@R')@@,)p]zK%BuKiLU*)_‚$@pgeD%N6U[=5.%j$.F@@x Px/.:#  6c:R+6*!fk2bPiմl߶ͣ3 @UO-j۾쑧7Ǐ;&4; +'~ݘOf͘.݋xkrgsiӥ _WRMݪݻdЀr{^)pV7[4OX\   $h\  VXfA78.C!VҾM+ݽ={ƭc3.FB)ƈ|8OΜ9-OjxQ㦒&M="! oEN!äqfrz;b Pσ۷o^ݻwi۹lٲYshqMlwNdy(`fi<1RBځ  ij  @|jU56B"feZey2) /0E';u[KwIv *-TK'A W_|PkvݎY5$44nOK>I|ՊҠvM[A)!`q_-X p,Qt"4$$'\sMǶ"WOJ!& E6-{8>=dʔ)K7l$ |R0[kRjI<8Ҩ51q-  _C2"  IFFu4,'pȱGbvoZ.YB$^t@xx2)V)Z4ӯ[lS'OF -q7i&y|jɲŋwֶI|}J(MV-']>}zԥaK.Ϳ8#R\Rt }c}lRM<$TK5QU U:@@<,'fx@@)pGQ\eo!`9R}l3qx \$I/`Nu|&U'/+~ɥʖ+۷Esusqc'D^k|~11 i]uo +8)__j2g [qLR$B`^[R- SMC@@ E_B@@ e5hנ!`9}cӬH`㡇dҖˑ@,\ !Ye`lۺVbO6m Mԓ7*׮KhXZfg2?t$  q Px'@@.`A׽&kMufݻJgɱGRsx@6]٤jj1ns1 ҧ _NVsgTX)۶n{8q >'';w.t\t)bK~)y__ԣG[2GB @>~KƯQ@@X/~H@@!zl54hXR|:I>oCqf{

,,L:hw,'-[f/3gKݓ>=ɱG$zIhhhW$g·m2Yd'իU] O> ONC`RK;d @@ O"S@@-` K7ܭxnt9UiմQJnHeSߞ~}ۊ8LaWB*^Æ1.4~(`1h7_{.+W_mg!c+>i)Yf1_+m[|rnB ,i &z.A@@ f)f@@p(O~QC#  \70׶A%{,# !`eFiVIu%M4\y"˖,'o>i$6ujŋRs8%Kٝ4ǜ۷oKesuk~WWKq6poI]uqj+lڸA4ÇJ͛18hqb  XT0  hn%4iZ8ORKدtj9{ge˕sxP!iԤݱOJg3Zoio&M>mz;oSѤO /:eb В$f[Sc4lX|'o^9}ܽ{6LPPtExgút.M4RACɘ1Cj@h\]=rU_N?97 XjX>P@C@@ Px?/z#  Ydo5 h@xx߷OΙ-3dԕʋZ"8gn-{-[ǫn3e(oo'ݻvJ-$C v㘿O/_];wDQR_&ΡJ.#*V;;3 ϓ>ݻ$QLcyNCOhpiKHR)Ojܺb/]vĈ[Z^VГEڶzCvssҧ&4ǏK+mOpAnD(:W3UWrFq( @@<+@g}@@j+A2vo[+Sv;f ["oŬ2u~}b->1[,U:r 44T~߸y!C]AeK'f%NڊO+ݻwO'_ju6;4,.T+ƿlO@@@(<א;@@@h-4h !p=jU~xN{Rݥe ڵn)Nъ4>LKI.]R2'}{ ו-W.uk8f3gKz<ժS'rl1Qxvc([Z/    $)7!  @4% 6 /5: ?GM׵6ۆsTʹl llOʔ+cWZXeݙ2uK'Ǐ#+Wq }l@}ztgpjlXn  H M*Wn@@-WO"yEYS M4Ҳuy{hy4~k&IV&Jd >VHMon.hҬ|t1#TԪR)!?DD_eu-}>-mTB}ŋфÜfG!zK5(u$1@@HR~L  N.4ilvҏS$ngERv oT7iG GDR1.9{ܸ~=qsl_3C9mw ((]9==϶;E'fd!!2uW̙94dj=eAINA@@$$ @@\ةht`w“N*`ޏɑsz@Mcdo:xā˂E%w<\jy߳ٿk#xWrWNz 'G?dV,Z5dhH'G\    $99"  |4isdЀҡm9t%s$) 4naR83TXqeoRpavpYôH\OLUxrq޹MNI4A5~r  W“s  xMrFQY4,+ufiְ |%re$1kK#W1[x+nj\o]&Q%SLRZU8+->+9tHns= @6DՖkxb D:b4s   `I O,  D8; 4)0o/?O֨*_|:I,XK M4RaI-Mܹe%Rbc8;d/l]ճj)cΞOΘ;Yd7;ʣL˜3e5Kx<%՛pC  l OR!   Uq)rn޸!cnj֕+R΍q'nhԤi;*AA,=#g]nq1}0_㘳qhZEr|0;iiڠ9Uva`$pBPZ{T@@R')u@@Hzs35k֠!`IS'OJ]3#̑&`VD y3aUu)܈Gg%K,2kҲux1 BymϜ-6<'ʔi'}щY~}m9mkFi͑@@@X|c= @@@4 5hӧeYryTdʔْyk֯]:_ɪ+Ĭ\={v.+]tk۔XQʔ-󇾾Ҽe+9rwMRZ51DtK]"5"]1T22yRFMwWGG>AC5, ):lK54h   ׽d$  ;-5kh8<@hH̙9C֨&S|-aahWǵL*'f˖:؊ ?p\rŮ;<,,fV>1g|=uzrbr^0GYͶPpk. #꬞mTB@@AO)@@@#t)W59WVw_F-Y$ B͂=4 l޴IuzF۲觅JI9}= G?y\ۯ.]zۻ8ʺ [*(b(*"H nYa[ 暂fhn(K*B 30 ܙ9{=9{Ψ0})iNL|`1T Rc d.l @ @$xR  @XJ =ёm"]#\ >qb~ݟ>H;KWO`w-Z(=x}飏>J{;e+4M~c-ٵ2t𡇧uWrՑ;LݺmFOb٨kԧo%E6Q7^Nq+I=%/[# J~H @@ X. @(+1=#GD*lQ TMxՕnïkDl۽ <٤7_2M2OW]{]'3=?n\cO,g{Fugk]%R_ =""oF4 @'%yY  @ZRD }DlE`)SNN|z,u[nڵkj4AGf| 6g„ uޯ/~nIkfM~K9}QiGM+0-?)sM{* @ @LV9ǤG^_y;t萾q;O]zś.ce7l~e@1_KoVSNVU`ztpRdV3 @ @L<)櫧v @ %QtHã թ~4scǦ7 މ?S-loKFO>jRv{fM>_]tA>9j1_|}a„: SֿܕvܩW.W~v;GM?:5?>>?֔7B,Nlk @(k @ @ȘNN@ iğUB7IDATMi^REEՙO:/wԔftim9g+n޿ݝLdiO'vM}Mw#-+&Wd+٫oݺv$Ҍl_{uҀTgBVX{.)[nI|yԪUBf,{kN;f‰H-ˇx08$rMdN>JR @Z^ē* @ @ GIWE(#" dNlLSOoғN2O~\?n.RǎvNm$'<2O ozܳ5ϟ w·/ڶm8+b6!CӺ;ߣx$=40viD൨;lu4KM( @xk @%P<&dOP<4 |Gi]w'xڮ{NY|ҏ~tg<^M1i{RgOwom]6km䓽Kwu W>&̜93շߒ*Vūd+|I}ϒ M65kNwӯ. }A6O#kQ]l#R @ @Lf @,%0690fD#Klץ={~ar\E-tx/qI?L7trwjRv3>`AlͶnO;WgdMrvGk}Si;. .bje_sA)e @ 0Hv!@ @@-QzO#jm@&?=Cܟښy)S3L>&dOj秧x+;d>{-k}ǘGMN;xδ%c@N&E]_+5* @0$EQ @\`NwQdȈȢF _{- :I߹)Zs5Ӎܚ>|?H_On1f=vB XP6c/gZz~sH]68mm6[EE2+|0mZ:kǤZw*|ҧotQ |ҺU4cƌ]}? zEn9;| <:B @01Z%@ @' d9=.ry2;% H͛Gdv|~Fo\ckOСCz4xل2+t~|:}yܢζo: * ]$tءgڮ{oscӷFҜٳsUb#^l;%[|n @'+ @,G [ȟ#Dhr)0utM7J RϝvJkN.,TQv5韍|;[d'.)2=^lҭ[ž}l[McV>Y|l.]R_\6_{tO>\ ȡ"dQ @ $`I uC @["c";F:G4x}4rui֬iwLڵe(*[d 6LhҐ헭uM\M6햮S>V[mtGl哆>v'mvGm6sMW]tⷎKkܣ> P6 rCd~=D @(jw8 @Xm-?$RKJX?&e|OQI[.,Qw%{'"E ki:$[4!دfGn4߯.~¯/0!}C,w5X#4Gݕ~1iҤw[ DG{rR2 @ P7H%{  @"Ȗ\HUD#K)￟N;4`}O= QԀ~}V)ihJ'{9dϽ9wyζzmMݞ:v\oyٳg7xc4٣=iISBPيc'EtR(U @ @`9&,G @(@ð^o(gM_dɓ&tW ܖ> .iaeeɳcI{;$d|LhL[ۧ3 Mt֘n )Sj&!'U>uB FWFd= @4'̀ @XJx'r`1X(o ,-=^e]w_.4w)v%e_S9soX3${ NjmlɟocOzSGw=槹Zk"m4ruN<VV8pȷ#V @ @ 4Z\}"@ @@) ~;{fdHF w㏍I|SZcǔM(ާ?ϗޓf̘Ѡ͉L|qMO\rLC?bԩsӷo{Ԩuv%OGm2<:ymiAL@\ըO#Ss^ @ PJvdF @^gveWmwOCq~M@ywt^~ݰ/oKv^wݎi~^LmڴM}KԤ_}43e Ghr/0+*u$f-Ŕ{~ @ @̬ @ZZWpYdז. ,OuCKg =WX^]G~9gUNҼy̙Eٴ]l?^r]@ܧS#S" @@vrp@ @Z?F^N`ѢE_H7\?"_k~REE؂:ģr|SOɓYsI .Lˮ7b\~]OqcN,XQRz"62 @Gē\  @ @xsy2M@) ?~zQw%mܵk6+Ao>Vs94؝ړNoҭ[ž}r]lM7Lsm #_IF @Lē] @ @@6MDhr)a?HÞ}*gs, @@, @ @@u^ٶHUf i6y鴟:v\LuF+e^6,]}i  @ܪ[#Fj @!`œF`ٕ @-,FH# TWWƥG^lcԺuِ#}흲ULG4͛7/qQinMOvncNV5yNSC ,0:*282} @QU3˩ @ @ig)87VӞJVMsL񩧥Z.ߋ雃fϞ]"{%~zYg{SYhQ3?V^TR< [gU%@ @0dH @_ٮGV<9ә?:u\]<?WxMZWyFFNLk"@ @𨝦q+ @.FxUdr${@.^z4Oצʴc^t0x5WTɢEryME#"km @Dē2ІI @zP&rudȎ@I'?6&yͷ2w5jAtn9-)%&gAM~6' @ @ xNn/ @ O/gvB}=ҐsK[mM#_{- =8XV`Nl8rQdB @&`I]q%@ @.F>]AڴiiN:7.8fMzU… Ӎ׏Hrg K de;"RyK @e.`œ2  @+L|>$r|uD#[mY9H15y3^~֨0ދC"WG# @XFēeHl @ @zvmwv3J`=]6bo ;7ԤȞ|uVdr @Y @h@ E~ڐCڴmti>*#͙3']ߤ,bu81F}G^o1v%@ @2: @r(=Ȯ6@ӳcI7ڷoCjݺ[nN<:=x}*wF "K~PȇK}- @DD @ @ 6ϋ|Lݮ{.wkZ;6}i3O7@GD~1C @ @@ xRnWx  @ Px契Z +/sο uIa;{tyo%-Z@*k#gDo @ @@ xRFP  @ Є3LF.tn* t!}[N?i5\Ν4_ٳgr: 9~ r  @(q @ @@d;\_K`…'Hk1ʎ(m1K{FG @&`I]1 @ @|։4H @K.uzC @r"`IN.2 @ @6O.{'0=tN䷑ @ @@xR*W8 @ Pc"[P2_9#2  @Dē"P$@ @FF֮(b('E^(!  @'~ @)^ "9D"@^82l @ P"&ȅ4  @@=tM@q |_=6z @(WO7 @JK`@ H P1S"SKtE @e"`92ІI @SqUdfdHF< <E<2; @ @IQ_> @ @@=]b&ZD8뙑-rv'%@ @M$/V @ D"W-%0'N|qȼ*y  @ @@S xT%@ @<"O~Y?X#5rJ @ @@ xRv܀  @ Pkƨ4Ҿ, x:N68XsԹ @ @@KxI @-%8y[%@ލ \. @'n @(G1K#۔ ,/YuH @r,PڔF @J]#"VF`tH6E#@ @e%`œK @tm?|/4z^?[6 @ @20L.a @ @ v==@@9 Lm! @d& @ @@]vXdӺ#@*cd+$}TO @XBx  @ @F畑]"#-@ ȼ0z @ PW'u=#@ @ě "# ][k!MDqdty (  @ @@YA @'+|Yd(KQ:F',  @4PēBٍ @^ 31")P9%24hT @ @No @ @.TFzGD4JC{|vD#@ @ @ @M&Y|sd0p=v\A @X Y 4 @ @Z{K#%V5UȼB @ OuQ @QUɑ;G4+Rtk+;# # @ @ @hqQHla=T|o @ @ @ @@nx={ [HF @ @ @B`@T91b@/[hF @ @ @N]T<82#b@{nӈF @ @ @^` Mw=# @ @ @(9^11 {LluF @ @ @JVUVXG"kG4 @ @H3; @HedHF@ oܡ&@ @ @ @!+_0p4w|_FA @ @ @ #/y>b@qZ]D#@ @ @ @sBdj!{NF @ @ @@`|X2br @ @ @h_#<F~؝ @ @ @G`@l1 A> @ @ @ @ ~G>+k\͑ @ @ @h"DWD"&h0({ɸwh @ @ @ @@3 g&Cy^qi @ @ @ @fh;y͊bHCD#@ @ @ @+zl1Au#D4 @ @ @ @@6 Pɸ# @ @ @ @`QEL>)IqE/i @ @ @ @UhGgDL@)]JF֊h @ @ @ @ eGL@)-QqM7h @ @ @ @&qE֎h @ @ @ @\UdFL@ɧqmh @ @ @ @\ 1$?//w @ @ @ @ moDL@i9Z]D#@ @ @ @Qm6af3 N @ @ @ P]l"Du5x(G4 @ @ @ @@I Wb0 @ @ @ @ZA#&p @ @ @ @e!frHd^d-_AD#@ @ @ @c7GL>iջ,&@ @ @ @#?M'{LQF @ @ @ PKm0b #4 @ @ @ @tφEF}ʨ0 @ @ @ @!#}$ROq+ @ @ @ @#0 ) (b*" @ @ @ @@V>N̈1BkG4 @ @ @ @&}TGJe1# @ @ @ @@3s<)'/G5S @ @ @ @,%*) (ӣA" @ @ @ @@ ʨHF @ @ @ #͢#y|`=GVJ!@ @ @ @G`6> (FSM @ @ @ @9huO%&̊th @ @ @ @E(1jYi (q " @ @ @ @@ lc'ҔO{! @ @ @ @#0 MrʤoPUD#@ @ @ @(av1U2'0fD#@ @ @ @(# cWD"2* @ @ @ @XW}L!O(c+C'@ @ @ @XJU? lifecyclelifecyclearchivedarchived furrr/man/figures/lifecycle-soft-deprecated.svg0000644000176200001440000000172613710606561021373 0ustar liggesuserslifecyclelifecyclesoft-deprecatedsoft-deprecated furrr/man/figures/lifecycle-questioning.svg0000644000176200001440000000171414065375131020664 0ustar liggesuserslifecyclelifecyclequestioningquestioning furrr/man/figures/lifecycle-superseded.svg0000644000176200001440000000171314065375131020461 0ustar liggesusers lifecyclelifecyclesupersededsuperseded furrr/man/figures/lifecycle-stable.svg0000644000176200001440000000167414065375131017576 0ustar liggesuserslifecyclelifecyclestablestable furrr/man/figures/lifecycle-experimental.svg0000644000176200001440000000171614065375131021016 0ustar liggesuserslifecyclelifecycleexperimentalexperimental furrr/man/figures/lifecycle-deprecated.svg0000644000176200001440000000171214065375131020415 0ustar liggesuserslifecyclelifecycledeprecateddeprecated furrr/man/furrr_options.Rd0000644000176200001440000001351213712522503015371 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/furrr-options.R \name{furrr_options} \alias{furrr_options} \title{Options to fine tune furrr} \usage{ furrr_options( ..., stdout = TRUE, conditions = NULL, globals = TRUE, packages = NULL, lazy = FALSE, seed = FALSE, scheduling = 1, chunk_size = NULL, prefix = NULL ) } \arguments{ \item{...}{These dots are reserved for future extensibility and must be empty.} \item{stdout}{A logical. \itemize{ \item If \code{TRUE}, standard output of the underlying futures is captured and relayed as soon as possible. \item If \code{FALSE}, output is silenced by sinking it to the null device. \item If \code{NA}, output is not intercepted. This is not recommended. }} \item{conditions}{A character string of conditions classes to be captured and relayed. The default is the same as the condition argument of \code{\link[future:Future-class]{future::Future()}}. To not intercept conditions, use \code{conditions = character(0L)}. Errors are always relayed.} \item{globals}{A logical, a character vector, a named list, or \code{NULL} for controlling how globals are handled. For details, see the \verb{Global variables} section below.} \item{packages}{A character vector, or \code{NULL}. If supplied, this specifies packages that are guaranteed to be attached in the R environment where the future is evaluated.} \item{lazy}{A logical. Specifies whether futures should be resolved lazily or eagerly.} \item{seed}{A logical, an integer of length \code{1} or \code{7}, a list of \code{length(.x)} with pre-generated random seeds, or \code{NULL}. For details, see the \verb{Reproducible random number generation (RNG)} section below.} \item{scheduling}{A single integer, logical, or \code{Inf}. This argument controls the average number of futures ("chunks") per worker. \itemize{ \item If \code{0}, then a single future is used to process all elements of \code{.x}. \item If \code{1} or \code{TRUE}, then one future per worker is used. \item If \code{2}, then each worker will process two futures (provided there are enough elements in \code{.x}). \item If \code{Inf} or \code{FALSE}, then one future per element of \code{.x} is used. } This argument is only used if \code{chunk_size} is \code{NULL}.} \item{chunk_size}{A single integer, \code{Inf}, or \code{NULL}. This argument controls the average number of elements per future (\code{"chunk"}). If \code{Inf}, then all elements are processed in a single future. If \code{NULL}, then \code{scheduling} is used instead to determine how \code{.x} is chunked.} \item{prefix}{A single character string, or \code{NULL}. If a character string, then each future is assigned a label as \code{{prefix}-{chunk-id}}. If \code{NULL}, no labels are used.} } \description{ These options fine tune furrr functions, such as \code{\link[=future_map]{future_map()}}. They are either used by furrr directly, or are passed on to \code{\link[future:future]{future::future()}}. } \section{Global variables}{ \code{globals} controls how globals are identified, similar to the \code{globals} argument of \code{\link[future:future]{future::future()}}. Since all function calls use the same set of globals, furrr gathers globals upfront (once), which is more efficient than if it was done for each future independently. \itemize{ \item If \code{TRUE} or \code{NULL}, then globals are automatically identified and gathered. \item If a character vector of names is specified, then those globals are gathered. \item If a named list, then those globals are used as is. \item In all cases, \code{.f} and any \code{...} arguments are automatically passed as globals to each future created, as they are always needed. } } \section{Reproducible random number generation (RNG)}{ Unless \code{seed = FALSE}, furrr functions are guaranteed to generate the exact same sequence of random numbers \emph{given the same initial seed / RNG state} regardless of the type of futures and scheduling ("chunking") strategy. Setting \code{seed = NULL} is equivalent to \code{seed = FALSE}, except that the \code{future.rng.onMisuse} option is not consulted to potentially monitor the future for faulty random number usage. See the \code{seed} argument of \code{\link[future:future]{future::future()}} for more details. RNG reproducibility is achieved by pre-generating the random seeds for all iterations (over \code{.x}) by using L'Ecuyer-CMRG RNG streams. In each iteration, these seeds are set before calling \code{.f(.x[[i]], ...)}. \emph{Note, for large \code{length(.x)} this may introduce a large overhead.} A fixed \code{seed} may be given as an integer vector, either as a full L'Ecuyer-CMRG RNG seed of length \code{7}, or as a seed of length \code{1} that will be used to generate a full L'Ecuyer-CMRG seed. If \code{seed = TRUE}, then \code{.Random.seed} is returned if it holds a L'Ecuyer-CMRG RNG seed, otherwise one is created randomly. If \code{seed = NA}, a L'Ecuyer-CMRG RNG seed is randomly created. If none of the function calls \code{.f(.x[[i]], ...)} use random number generation, then \code{seed = FALSE} may be used. In addition to the above, it is possible to specify a pre-generated sequence of RNG seeds as a list such that \code{length(seed) == length(.x)} and where each element is an integer seed that can be assigned to \code{.Random.seed}. Use this alternative with caution. \emph{Note that \code{as.list(seq_along(.x))} is not a valid set of such \code{.Random.seed} values.} In all cases but \code{seed = FALSE}, after a furrr function returns, the RNG state of the calling R process is guaranteed to be "forwarded one step" from the RNG state before the call. This is true regardless of the future strategy / scheduling used. This is done in order to guarantee that an R script calling \code{future_map()} multiple times should be numerically reproducible given the same initial seed. } \examples{ furrr_options() } furrr/man/future_map_if.Rd0000644000176200001440000000710313741124570015306 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/future-map.R \name{future_map_if} \alias{future_map_if} \alias{future_map_at} \title{Apply a function to each element of a vector conditionally via futures} \usage{ future_map_if( .x, .p, .f, ..., .else = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_map_at( .x, .at, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) } \arguments{ \item{.x}{A list or atomic vector.} \item{.p}{A single predicate function, a formula describing such a predicate function, or a logical vector of the same length as \code{.x}. Alternatively, if the elements of \code{.x} are themselves lists of objects, a string indicating the name of a logical element in the inner lists. Only those elements where \code{.p} evaluates to \code{TRUE} will be modified.} \item{.f}{A function, formula, or vector (not necessarily atomic). If a \strong{function}, it is used as is. If a \strong{formula}, e.g. \code{~ .x + 2}, it is converted to a function. There are three ways to refer to the arguments: \itemize{ \item For a single argument function, use \code{.} \item For a two argument function, use \code{.x} and \code{.y} \item For more arguments, use \code{..1}, \code{..2}, \code{..3} etc } This syntax allows you to create very compact anonymous functions. If \strong{character vector}, \strong{numeric vector}, or \strong{list}, it is converted to an extractor function. Character vectors index by name and numeric vectors index by position; use a list to index by position and name at different levels. If a component is not present, the value of \code{.default} will be returned.} \item{...}{Additional arguments passed on to the mapped function.} \item{.else}{A function applied to elements of \code{.x} for which \code{.p} returns \code{FALSE}.} \item{.options}{The \code{future} specific options to use with the workers. This must be the result from a call to \code{\link[=furrr_options]{furrr_options()}}.} \item{.env_globals}{The environment to look for globals required by \code{.x} and \code{...}. Globals required by \code{.f} are looked up in the function environment of \code{.f}.} \item{.progress}{A single logical. Should a progress bar be displayed? Only works with multisession, multicore, and multiprocess futures. Note that if a multicore/multisession future falls back to sequential, then a progress bar will not be displayed. \strong{Warning:} The \code{.progress} argument will be deprecated and removed in a future version of furrr in favor of using the more robust \href{https://CRAN.R-project.org/package=progressr}{progressr} package.} \item{.at}{A character vector of names, positive numeric vector of positions to include, or a negative numeric vector of positions to exlude. Only those elements corresponding to \code{.at} will be modified. If the \code{tidyselect} package is installed, you can use \code{vars()} and the \code{tidyselect} helpers to select elements.} } \value{ Both functions return a list the same length as \code{.x} with the elements conditionally transformed. } \description{ These functions work exactly the same as \code{\link[purrr:map_if]{purrr::map_if()}} and \code{\link[purrr:map_if]{purrr::map_at()}}, but allow you to run them in parallel. } \examples{ \donttest{plan(multisession, workers = 2)} # Modify the even elements future_map_if(1:5, ~.x \%\% 2 == 0L, ~ -1) future_map_at(1:5, c(1, 5), ~ -1) \dontshow{ # Close open connections for R CMD Check if (!inherits(plan(), "sequential")) plan(sequential) } } furrr/man/future_modify.Rd0000644000176200001440000000775413741124570015356 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/future-modify.R \name{future_modify} \alias{future_modify} \alias{future_modify_at} \alias{future_modify_if} \title{Modify elements selectively via futures} \usage{ future_modify( .x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_modify_at( .x, .at, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_modify_if( .x, .p, .f, ..., .else = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) } \arguments{ \item{.x}{A list or atomic vector.} \item{.f}{A function, formula, or vector (not necessarily atomic). If a \strong{function}, it is used as is. If a \strong{formula}, e.g. \code{~ .x + 2}, it is converted to a function. There are three ways to refer to the arguments: \itemize{ \item For a single argument function, use \code{.} \item For a two argument function, use \code{.x} and \code{.y} \item For more arguments, use \code{..1}, \code{..2}, \code{..3} etc } This syntax allows you to create very compact anonymous functions. If \strong{character vector}, \strong{numeric vector}, or \strong{list}, it is converted to an extractor function. Character vectors index by name and numeric vectors index by position; use a list to index by position and name at different levels. If a component is not present, the value of \code{.default} will be returned.} \item{...}{Additional arguments passed on to the mapped function.} \item{.options}{The \code{future} specific options to use with the workers. This must be the result from a call to \code{\link[=furrr_options]{furrr_options()}}.} \item{.env_globals}{The environment to look for globals required by \code{.x} and \code{...}. Globals required by \code{.f} are looked up in the function environment of \code{.f}.} \item{.progress}{A single logical. Should a progress bar be displayed? Only works with multisession, multicore, and multiprocess futures. Note that if a multicore/multisession future falls back to sequential, then a progress bar will not be displayed. \strong{Warning:} The \code{.progress} argument will be deprecated and removed in a future version of furrr in favor of using the more robust \href{https://CRAN.R-project.org/package=progressr}{progressr} package.} \item{.at}{A character vector of names, positive numeric vector of positions to include, or a negative numeric vector of positions to exlude. Only those elements corresponding to \code{.at} will be modified. If the \code{tidyselect} package is installed, you can use \code{vars()} and the \code{tidyselect} helpers to select elements.} \item{.p}{A single predicate function, a formula describing such a predicate function, or a logical vector of the same length as \code{.x}. Alternatively, if the elements of \code{.x} are themselves lists of objects, a string indicating the name of a logical element in the inner lists. Only those elements where \code{.p} evaluates to \code{TRUE} will be modified.} \item{.else}{A function applied to elements of \code{.x} for which \code{.p} returns \code{FALSE}.} } \value{ An object the same class as \code{.x} } \description{ These functions work exactly the same as \code{\link[purrr:modify]{purrr::modify()}} functions, but allow you to modify in parallel. } \details{ From purrr: Since the transformation can alter the structure of the input; it's your responsibility to ensure that the transformation produces a valid output. For example, if you're modifying a data frame, \code{.f} must preserve the length of the input. } \examples{ library(magrittr) \donttest{plan(multisession, workers = 2)} # Convert each col to character, in parallel future_modify(mtcars, as.character) iris \%>\% future_modify_if(is.factor, as.character) \%>\% str() mtcars \%>\% future_modify_at(c(1, 4, 5), as.character) \%>\% str() \dontshow{ # Close open connections for R CMD Check if (!inherits(plan(), "sequential")) plan(sequential) } } furrr/man/furrr-package.Rd0000644000176200001440000000164713713040412015210 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/furrr-package.R \docType{package} \name{furrr-package} \alias{furrr} \alias{furrr-package} \title{furrr: Apply Mapping Functions in Parallel using Futures} \description{ \if{html}{\figure{logo.png}{options: align='right' alt='logo' width='120'}} Implementations of the family of map() functions from 'purrr' that can be resolved using any 'future'-supported backend, e.g. parallel on the local machine or distributed on a compute cluster. } \seealso{ Useful links: \itemize{ \item \url{https://github.com/DavisVaughan/furrr} \item Report bugs at \url{https://github.com/DavisVaughan/furrr/issues} } } \author{ \strong{Maintainer}: Davis Vaughan \email{davis@rstudio.com} Authors: \itemize{ \item Matt Dancho \email{mdancho@business-science.io} } Other contributors: \itemize{ \item RStudio [copyright holder] } } \keyword{internal} furrr/man/future_options.Rd0000644000176200001440000000355614065374620015561 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/furrr-options.R \name{future_options} \alias{future_options} \title{Deprecated furrr options} \usage{ future_options( globals = TRUE, packages = NULL, seed = FALSE, lazy = FALSE, scheduling = 1 ) } \arguments{ \item{globals}{A logical, a character vector, a named list, or \code{NULL} for controlling how globals are handled. For details, see the \verb{Global variables} section below.} \item{packages}{A character vector, or \code{NULL}. If supplied, this specifies packages that are guaranteed to be attached in the R environment where the future is evaluated.} \item{seed}{A logical, an integer of length \code{1} or \code{7}, a list of \code{length(.x)} with pre-generated random seeds, or \code{NULL}. For details, see the \verb{Reproducible random number generation (RNG)} section below.} \item{lazy}{A logical. Specifies whether futures should be resolved lazily or eagerly.} \item{scheduling}{A single integer, logical, or \code{Inf}. This argument controls the average number of futures ("chunks") per worker. \itemize{ \item If \code{0}, then a single future is used to process all elements of \code{.x}. \item If \code{1} or \code{TRUE}, then one future per worker is used. \item If \code{2}, then each worker will process two futures (provided there are enough elements in \code{.x}). \item If \code{Inf} or \code{FALSE}, then one future per element of \code{.x} is used. } This argument is only used if \code{chunk_size} is \code{NULL}.} } \description{ \ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#deprecated}{\figure{lifecycle-deprecated.svg}{options: alt='[Deprecated]'}}}{\strong{[Deprecated]}} \code{future_options()} has been deprecated in favor of \code{\link[=furrr_options]{furrr_options()}} as of furrr 0.2.0. } \examples{ future_options() } \keyword{internal} furrr/man/future_map2.Rd0000644000176200001440000001513213741124570014713 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/future-map2.R, R/future-pmap.R, R/future-walk.R \name{future_map2} \alias{future_map2} \alias{future_map2_chr} \alias{future_map2_dbl} \alias{future_map2_int} \alias{future_map2_lgl} \alias{future_map2_raw} \alias{future_map2_dfr} \alias{future_map2_dfc} \alias{future_pmap} \alias{future_pmap_chr} \alias{future_pmap_dbl} \alias{future_pmap_int} \alias{future_pmap_lgl} \alias{future_pmap_raw} \alias{future_pmap_dfr} \alias{future_pmap_dfc} \alias{future_walk2} \alias{future_pwalk} \title{Map over multiple inputs simultaneously via futures} \usage{ future_map2( .x, .y, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_map2_chr( .x, .y, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_map2_dbl( .x, .y, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_map2_int( .x, .y, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_map2_lgl( .x, .y, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_map2_raw( .x, .y, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_map2_dfr( .x, .y, .f, ..., .id = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_map2_dfc( .x, .y, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_pmap( .l, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_pmap_chr( .l, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_pmap_dbl( .l, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_pmap_int( .l, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_pmap_lgl( .l, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_pmap_raw( .l, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_pmap_dfr( .l, .f, ..., .id = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_pmap_dfc( .l, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_walk2( .x, .y, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) future_pwalk( .l, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE ) } \arguments{ \item{.x}{Vectors of the same length. A vector of length 1 will be recycled.} \item{.y}{Vectors of the same length. A vector of length 1 will be recycled.} \item{.f}{A function, formula, or vector (not necessarily atomic). If a \strong{function}, it is used as is. If a \strong{formula}, e.g. \code{~ .x + 2}, it is converted to a function. There are three ways to refer to the arguments: \itemize{ \item For a single argument function, use \code{.} \item For a two argument function, use \code{.x} and \code{.y} \item For more arguments, use \code{..1}, \code{..2}, \code{..3} etc } This syntax allows you to create very compact anonymous functions. If \strong{character vector}, \strong{numeric vector}, or \strong{list}, it is converted to an extractor function. Character vectors index by name and numeric vectors index by position; use a list to index by position and name at different levels. If a component is not present, the value of \code{.default} will be returned.} \item{...}{Additional arguments passed on to the mapped function.} \item{.options}{The \code{future} specific options to use with the workers. This must be the result from a call to \code{\link[=furrr_options]{furrr_options()}}.} \item{.env_globals}{The environment to look for globals required by \code{.x} and \code{...}. Globals required by \code{.f} are looked up in the function environment of \code{.f}.} \item{.progress}{A single logical. Should a progress bar be displayed? Only works with multisession, multicore, and multiprocess futures. Note that if a multicore/multisession future falls back to sequential, then a progress bar will not be displayed. \strong{Warning:} The \code{.progress} argument will be deprecated and removed in a future version of furrr in favor of using the more robust \href{https://CRAN.R-project.org/package=progressr}{progressr} package.} \item{.id}{Either a string or \code{NULL}. If a string, the output will contain a variable with that name, storing either the name (if \code{.x} is named) or the index (if \code{.x} is unnamed) of the input. If \code{NULL}, the default, no variable will be created. Only applies to \verb{_dfr} variant.} \item{.l}{A list of vectors, such as a data frame. The length of \code{.l} determines the number of arguments that \code{.f} will be called with. List names will be used if present.} } \value{ An atomic vector, list, or data frame, depending on the suffix. Atomic vectors and lists will be named if \code{.x} or the first element of \code{.l} is named. If all input is length 0, the output will be length 0. If any input is length 1, it will be recycled to the length of the longest. } \description{ These functions work exactly the same as \code{\link[purrr:map2]{purrr::map2()}} and its variants, but allow you to map in parallel. Note that "parallel" as described in purrr is just saying that you are working with multiple inputs, and parallel in this case means that you can work on multiple inputs and process them all in parallel as well. } \examples{ \donttest{plan(multisession, workers = 2)} x <- list(1, 10, 100) y <- list(1, 2, 3) z <- list(5, 50, 500) future_map2(x, y, ~ .x + .y) # Split into pieces, fit model to each piece, then predict by_cyl <- split(mtcars, mtcars$cyl) mods <- future_map(by_cyl, ~ lm(mpg ~ wt, data = .)) future_map2(mods, by_cyl, predict) future_pmap(list(x, y, z), sum) # Matching arguments by position future_pmap(list(x, y, z), function(a, b ,c) a / (b + c)) # Vectorizing a function over multiple arguments df <- data.frame( x = c("apple", "banana", "cherry"), pattern = c("p", "n", "h"), replacement = c("x", "f", "q"), stringsAsFactors = FALSE ) future_pmap(df, gsub) future_pmap_chr(df, gsub) \dontshow{ # Close open connections for R CMD Check if (!inherits(plan(), "sequential")) plan(sequential) } } furrr/DESCRIPTION0000644000176200001440000000256014065413512013124 0ustar liggesusersPackage: furrr Title: Apply Mapping Functions in Parallel using Futures Version: 0.2.3 Authors@R: c(person(given = "Davis", family = "Vaughan", role = c("aut", "cre"), email = "davis@rstudio.com"), person(given = "Matt", family = "Dancho", role = "aut", email = "mdancho@business-science.io"), person(given = "RStudio", role = "cph")) Description: Implementations of the family of map() functions from 'purrr' that can be resolved using any 'future'-supported backend, e.g. parallel on the local machine or distributed on a compute cluster. License: MIT + file LICENSE URL: https://github.com/DavisVaughan/furrr BugReports: https://github.com/DavisVaughan/furrr/issues Depends: future (>= 1.19.1), R (>= 3.2.0) Imports: ellipsis, globals (>= 0.13.1), lifecycle (>= 1.0.0), purrr (>= 0.3.0), rlang (>= 0.3.0), vctrs (>= 0.3.2) Suggests: carrier, covr, dplyr (>= 0.7.4), knitr, listenv (>= 0.6.0), magrittr, rmarkdown, testthat (>= 3.0.0), withr, tidyselect Encoding: UTF-8 RoxygenNote: 7.1.1 Config/testthat/edition: 3 NeedsCompilation: no Packaged: 2021-06-25 17:13:40 UTC; davis Author: Davis Vaughan [aut, cre], Matt Dancho [aut], RStudio [cph] Maintainer: Davis Vaughan Repository: CRAN Date/Publication: 2021-06-25 17:50:02 UTC furrr/tests/0000755000176200001440000000000013337123326012557 5ustar liggesusersfurrr/tests/testthat/0000755000176200001440000000000014065413512014415 5ustar liggesusersfurrr/tests/testthat/test-seed.R0000644000176200001440000000135613712554721016450 0ustar liggesuserstest_that("checks list of seeds for length", { old_rngkind <- RNGkind("L'Ecuyer-CMRG") on.exit(RNGkind(old_rngkind[[1]]), add = TRUE) lecuyer_seed <- get_random_seed() x <- list(lecuyer_seed, lecuyer_seed, lecuyer_seed) y <- list(lecuyer_seed) expect_identical(make_seeds(x, 3), x) expect_error(make_seeds(y, 3), "3, not length 1") }) test_that("can make `seeds` from `TRUE` `seed`", { x <- make_seeds(TRUE, 5) expect_identical(length(x), 5L) expect_true(all(purrr::map_int(x, length) == 7L)) }) test_that("can make reproducible `seeds` from integer `seed`", { x <- make_seeds(1L, 5) y <- make_seeds(1L, 5) expect_identical(length(x), 5L) expect_true(all(purrr::map_int(x, length) == 7L)) expect_identical(x, y) }) furrr/tests/testthat/test-future-map2.R0000644000176200001440000001020413715530753017671 0ustar liggesusers# ------------------------------------------------------------------------------ # map2() furrr_test_that("future_map2() matches map2() for simple cases", { expect_identical( future_map2(1:3, 4:6, ~.x + .y), map2(1:3, 4:6, ~.x + .y) ) }) furrr_test_that("names of `.x` are retained", { x <- c(a = 1, b = 2) y <- c(c = 1, d = 2) expect_named(future_map2(x, y, ~1), c("a", "b")) }) furrr_test_that("named empty input makes named empty output", { x <- set_names(list(), character()) expect_named(future_map2(x, x, ~.x), character()) }) # ------------------------------------------------------------------------------ # atomic variants furrr_test_that("future_map2_dbl() works", { x <- c(1, 2, 3) y <- c(4, 5, 6) expect_identical( future_map2_dbl(x, y, ~.x + .y), map2_dbl(x, y, ~.x + .y) ) }) furrr_test_that("future_map2_int() works", { x <- c(1L, 2L, 3L) y <- c(4L, 5L, 6L) expect_identical( future_map2_int(x, y, ~.x + .y), map2_int(x, y, ~.x + .y) ) }) furrr_test_that("future_map2_lgl() works", { x <- c(TRUE, FALSE, TRUE) y <- c(FALSE, TRUE, TRUE) expect_identical( future_map2_lgl(x, y, ~.x || .y), map2_lgl(x, y, ~.x || .y) ) }) furrr_test_that("future_map2_chr() works", { x <- c("a", "b", "c") y <- c("d", "e", "f") expect_identical( future_map2_chr(x, y, ~.y), map2_chr(x, y, ~.y) ) }) furrr_test_that("future_map2_raw() works", { x <- c("a", "b", "c") y <- as.raw(1:3) expect_identical( future_map2_raw(x, y, ~.y), map2_raw(x, y, ~.y) ) }) furrr_test_that("names of `.x` are retained", { x <- c(a = 1, b = 2) y <- c(c = 1, d = 2) expect_named(future_map2_dbl(x, y, ~1), c("a", "b")) }) # ------------------------------------------------------------------------------ # data frame variants furrr_test_that("future_map2_dfr() works", { x <- c("a", "b", "c") y <- c("d", "e", "f") expect_identical( future_map2_dfr(x, y, ~data.frame(x = .x, y = .y)), map2_dfr(x, y, ~data.frame(x = .x, y = .y)) ) }) furrr_test_that("future_map2_dfc() works", { x <- c("a", "b", "c") y <- c("d", "e", "f") expect_identical( future_map2_dfc(x, y, ~as.data.frame(set_names(list(.x), .y))), map2_dfc(x, y, ~as.data.frame(set_names(list(.x), .y))) ) }) # ------------------------------------------------------------------------------ # size furrr_test_that("future_map2() works with size zero input", { expect_identical(future_map2(list(), list(), identity), list()) }) furrr_test_that("atomic variants work with size zero input", { expect_identical(future_map2_chr(list(), list(), identity), character()) expect_identical(future_map2_dbl(list(), list(), identity), double()) expect_identical(future_map2_int(list(), list(), identity), integer()) expect_identical(future_map2_lgl(list(), list(), identity), logical()) expect_identical(future_map2_raw(list(), list(), identity), raw()) }) furrr_test_that("size one recycling works", { expect_identical( future_map2(1, 1:2, ~c(.x, .y)), list(c(1, 1), c(1, 2)) ) expect_identical( future_map2(1:2, 1, ~c(.x, .y)), list(c(1, 1), c(2, 1)) ) expect_identical( future_map2(integer(), 1, ~c(.x, .y)), list() ) expect_identical( future_map2(1, integer(), ~c(.x, .y)), list() ) }) furrr_test_that("generally can't recycle to size zero", { expect_error( future_map2(1:2, integer(), ~c(.x, .y)), "Can't recycle" ) expect_error( future_map2(integer(), 1:2, ~c(.x, .y)), "Can't recycle" ) }) # ------------------------------------------------------------------------------ # Miscellaneous furrr_test_that("globals in `.x` and `.y` are found (#16)", { fn1 <- function(x) sum(x, na.rm = TRUE) fn2 <- function(x) sum(x, na.rm = FALSE) x <- list(c(1, 2, NA), c(2, 3, 4)) fns1 <- map(x, ~ purrr::partial(fn1, x = .x)) fns2 <- map(x, ~ purrr::partial(fn2, x = .x)) expect_identical( future_map2(fns1, fns2, ~c(.x(), .y())), list(c(3, NA), c(9, 9)) ) }) furrr_test_that("chunk balancing is correct after a recycle (#30)", { expect_identical( future_map2(1, 1:4, ~c(.x, .y)), list(c(1, 1), c(1, 2), c(1, 3), c(1, 4)) ) }) furrr/tests/testthat/test-chunks.R0000644000176200001440000001030613712561231017010 0ustar liggesuserstest_that("can make chunks from logical `scheduling`", { expect_identical( make_chunks(n_x = 6L, n_workers = 2L, scheduling = TRUE, chunk_size = NULL), list(1:3, 4:6) ) expect_identical( make_chunks(n_x = 6L, n_workers = 2L, scheduling = TRUE, chunk_size = NULL), make_chunks(n_x = 6L, n_workers = 2L, scheduling = 1L, chunk_size = NULL) ) expect_identical( make_chunks(n_x = 5L, n_workers = 3L, scheduling = TRUE, chunk_size = NULL), list(1:2, 3L, 4:5) ) expect_identical( make_chunks(n_x = 5L, n_workers = 3L, scheduling = TRUE, chunk_size = NULL), make_chunks(n_x = 5L, n_workers = 3L, scheduling = 1L, chunk_size = NULL) ) expect_identical( make_chunks(n_x = 6L, n_workers = 2L, scheduling = FALSE, chunk_size = NULL), as.list(1:6) ) expect_identical( make_chunks(n_x = 6L, n_workers = 2L, scheduling = FALSE, chunk_size = NULL), make_chunks(n_x = 6L, n_workers = 2L, scheduling = Inf, chunk_size = NULL) ) }) test_that("can make chunks from integer `scheduling`", { expect_identical( make_chunks(n_x = 6L, n_workers = 2L, scheduling = 0L, chunk_size = NULL), list(1:6) ) expect_length( make_chunks(n_x = 7L, n_workers = 3L, scheduling = 2L, chunk_size = NULL), 6L ) expect_identical( make_chunks(n_x = 3L, n_workers = 3L, scheduling = 2L, chunk_size = NULL), list(1L, 2L, 3L) ) expect_identical( make_chunks(n_x = 20L, n_workers = 2L, scheduling = 2L, chunk_size = NULL), list(1:5, 6:10, 11:15, 16:20) ) }) test_that("can make chunks from Inf `scheduling`", { expect_identical( make_chunks(n_x = 6L, n_workers = 2L, scheduling = Inf, chunk_size = NULL), as.list(1:6) ) }) test_that("can make chunks from integer `chunk_size`", { expect_identical( make_chunks(n_x = 6L, n_workers = 2L, scheduling = 1L, chunk_size = 1L), as.list(1:6) ) expect_identical( make_chunks(n_x = 5L, n_workers = 2L, scheduling = 1L, chunk_size = 2L), list(1:2, 3L, 4:5) ) }) test_that("can make chunks from Inf `chunk_size`", { expect_identical( make_chunks(n_x = 6L, n_workers = 2L, scheduling = 1L, chunk_size = Inf), list(1:6) ) }) test_that("`chunk_size` takes presedence over `scheduling`", { expect_identical( make_chunks(n_x = 6L, n_workers = 2L, scheduling = 2L, chunk_size = Inf), list(1:6) ) }) test_that("can use random `ordering` attribute on `scheduling`", { x <- structure(2L, ordering = "random") set.seed(123) o1 <- make_order(n_x = 6L, scheduling = x, chunk_size = NULL) expect_length(o1, 6L) expect_true(all(1:6 %in% o1)) # making the order randomly resets the seed o2 <- make_order(n_x = 6L, scheduling = x, chunk_size = NULL) expect_identical(o1, o2) }) test_that("can use integer `ordering` attribute", { x <- structure(2L, ordering = c(3L, 2L, 1L)) o <- make_order(n_x = 3L, scheduling = x, chunk_size = NULL) expect_identical(o, attr(x, "ordering", exact = TRUE)) }) test_that("can use function `ordering` attribute", { ordering_fn <- function(n) { rev(seq_len(n)) } x <- structure(2L, ordering = ordering_fn) o <- make_order(n_x = 3L, scheduling = x, chunk_size = NULL) expect_identical(o, 3:1) }) test_that("can use random `ordering` attribute on `chunk_size`", { x <- structure(2L, ordering = "random") set.seed(123) o1 <- make_order(n_x = 6L, scheduling = 1L, chunk_size = x) expect_length(o1, 6L) expect_true(all(1:6 %in% o1)) # making the order randomly resets the seed o2 <- make_order(n_x = 6L, scheduling = x, chunk_size = NULL) expect_identical(o1, o2) }) furrr_test_that("ordering is undone at the end", { ordering_fn <- function(n) { rev(seq_len(n)) } x <- structure(2L, ordering = ordering_fn) opts <- furrr_options(scheduling = x) expect_identical(future_map(1:10, ~.x, .options = opts), as.list(1:10)) }) test_that("validates ordering", { x <- structure(2L, ordering = "rand") expect_error(make_order(n_x = 6L, scheduling = 1L, chunk_size = x), "Unknown") x <- structure(2L, ordering = 1L) expect_error(make_order(n_x = 6L, scheduling = 1L, chunk_size = x), "length equal") x <- structure(2L, ordering = 1.5) expect_error(make_order(n_x = 6L, scheduling = 1L, chunk_size = x)) }) furrr/tests/testthat/test-future-walk.R0000644000176200001440000000053313712570063017767 0ustar liggesusersfurrr_test_that("walk functions work", { x <- 1:5 out <- future_walk(x, ~"hello") expect_identical(out, x) y <- 6:10 out <- future_walk2(x, y, ~"hello") expect_identical(out, x) l <- list(x, y) out <- future_pwalk(list(x, y), ~"hello") expect_identical(out, l) out <- future_iwalk(x, ~"hello") expect_identical(out, x) }) furrr/tests/testthat/test-deprecation.R0000644000176200001440000000113114062641710020006 0ustar liggesuserstest_that("can use deprecated `future_options()`", { local_options(lifecycle_verbosity = "warning") expect_warning( expect_identical( future_options(), furrr_options() ) ) expect_warning( expect_identical( future_options(globals = "x", packages = "dplyr", seed = 1, lazy = TRUE, scheduling = 2), furrr_options(globals = "x", packages = "dplyr", seed = 1, lazy = TRUE, scheduling = 2) ) ) }) test_that("deprecated `future_options()` warns when used", { local_options(lifecycle_verbosity = "warning") expect_snapshot( future_options() ) }) furrr/tests/testthat/helper-eval.R0000644000176200001440000000023213710617000016733 0ustar liggesusersglobally <- function(expr, env = caller_env()) { expr <- enexpr(expr) call <- expr(local(!!expr, envir = globalenv())) eval_bare(call, env = env) } furrr/tests/testthat/test-future-pmap.R0000644000176200001440000001333713715530753020001 0ustar liggesusers# ------------------------------------------------------------------------------ # pmap() furrr_test_that("future_pmap() matches pmap() for simple cases", { expect_identical( future_pmap(list(1:3, 4:6, 7:9), ~.x + .y + ..3), pmap(list(1:3, 4:6, 7:9), ~.x + .y + ..3) ) }) furrr_test_that("names of `.x` are retained", { x <- c(a = 1, b = 2) y <- c(c = 1, d = 2) expect_named(future_pmap(list(x, y), ~1), c("a", "b")) }) furrr_test_that("named empty input makes named empty output", { x <- set_names(list(), character()) expect_named(future_pmap(list(x, x), ~.x), character()) }) # ------------------------------------------------------------------------------ # atomic variants furrr_test_that("future_pmap_dbl() works", { x <- c(1, 2, 3) y <- c(4, 5, 6) expect_identical( future_pmap_dbl(list(x, y), ~.x + .y), pmap_dbl(list(x, y), ~.x + .y) ) }) furrr_test_that("future_pmap_int() works", { x <- c(1L, 2L, 3L) y <- c(4L, 5L, 6L) expect_identical( future_pmap_int(list(x, y), ~.x + .y), pmap_int(list(x, y), ~.x + .y) ) }) furrr_test_that("future_pmap_lgl() works", { x <- c(TRUE, FALSE, TRUE) y <- c(FALSE, TRUE, TRUE) expect_identical( future_pmap_lgl(list(x, y), ~.x || .y), pmap_lgl(list(x, y), ~.x || .y) ) }) furrr_test_that("future_pmap_chr() works", { x <- c("a", "b", "c") y <- c("d", "e", "f") expect_identical( future_pmap_chr(list(x, y), ~.y), pmap_chr(list(x, y), ~.y) ) }) furrr_test_that("future_pmap_raw() works", { x <- c("a", "b", "c") y <- as.raw(1:3) expect_identical( future_pmap_raw(list(x, y), ~.y), pmap_raw(list(x, y), ~.y) ) }) furrr_test_that("names of `.x` are retained", { x <- c(a = 1, b = 2) y <- c(c = 1, d = 2) expect_named(future_pmap_dbl(list(x, y), ~1), c("a", "b")) }) # ------------------------------------------------------------------------------ # data frame variants furrr_test_that("future_pmap_dfr() works", { x <- c("a", "b", "c") y <- c("d", "e", "f") expect_identical( future_pmap_dfr(list(x, y), ~data.frame(x = .x, y = .y)), pmap_dfr(list(x, y), ~data.frame(x = .x, y = .y)) ) }) furrr_test_that("future_pmap_dfc() works", { x <- c("a", "b", "c") y <- c("d", "e", "f") expect_identical( future_pmap_dfc(list(x, y), ~as.data.frame(set_names(list(.x), .y))), pmap_dfc(list(x, y), ~as.data.frame(set_names(list(.x), .y))) ) }) # ------------------------------------------------------------------------------ # size furrr_test_that("future_pmap() works with completely empty list", { expect_identical(future_pmap(list(), identity), list()) expect_identical(future_pmap_dbl(list(), identity), double()) }) furrr_test_that("future_pmap() works with size zero input", { expect_identical(future_pmap(list(list(), list()), identity), list()) }) furrr_test_that("atomic variants work with size zero input", { expect_identical(future_pmap_chr(list(list(), list()), identity), character()) expect_identical(future_pmap_dbl(list(list(), list()), identity), double()) expect_identical(future_pmap_int(list(list(), list()), identity), integer()) expect_identical(future_pmap_lgl(list(list(), list()), identity), logical()) expect_identical(future_pmap_raw(list(list(), list()), identity), raw()) }) furrr_test_that("size one recycling works", { expect_identical( future_pmap(list(1, 1:2), ~c(.x, .y)), list(c(1, 1), c(1, 2)) ) expect_identical( future_pmap(list(1:2, 1), ~c(.x, .y)), list(c(1, 1), c(2, 1)) ) expect_identical( future_pmap(list(integer(), 1), ~c(.x, .y)), list() ) expect_identical( future_pmap(list(1, integer()), ~c(.x, .y)), list() ) }) furrr_test_that("generally can't recycle to size zero", { expect_error( future_pmap(list(1:2, integer()), ~c(.x, .y)), "Can't recycle" ) expect_error( future_pmap(list(integer(), 1:2), ~c(.x, .y)), "Can't recycle" ) }) # ------------------------------------------------------------------------------ # Miscellaneous furrr_test_that("named arguments can be passed through", { vec_mean <- function(.x, .y, na.rm = FALSE) { mean(c(.x,.y), na.rm = na.rm) } x <- list(c(NA, 1), 1:2) expect_identical( future_pmap(x, vec_mean, na.rm = TRUE), list(1, 1.5) ) }) furrr_test_that("arguments can be matched by name", { x <- list(x = c(1, 2), y = c(3, 5)) fn <- function(y, x) {y - x} expect_identical(future_pmap_dbl(x, fn), c(2, 3)) }) furrr_test_that("unused components can be absorbed", { x <- list(c(1, 2), c(3, 5)) fn1 <- function(x) {x} fn2 <- function(x, ...) {x} expect_error(future_pmap_dbl(x, fn1)) expect_identical(future_pmap_dbl(x, fn2), c(1, 2)) }) furrr_test_that("globals in `.x` and `.y` are found (#16)", { fn1 <- function(x) sum(x, na.rm = TRUE) fn2 <- function(x) sum(x, na.rm = FALSE) x <- list(c(1, 2, NA), c(2, 3, 4)) fns1 <- map(x, ~ purrr::partial(fn1, x = .x)) fns2 <- map(x, ~ purrr::partial(fn2, x = .x)) expect_identical( future_pmap(list(fns1, fns2), ~c(.x(), .y())), list(c(3, NA), c(9, 9)) ) }) test_that("globals in `.l` are only exported to workers that use them", { plan(multisession, workers = 2) on.exit(plan(sequential), add = TRUE) # Use `local()` to ensure that the wrapper functions and the anonymous # functions created with `~` don't pick up extra globals my_wrapper1 <- local({ my_mean1 <- function(x) mean(x, na.rm = TRUE) function(x) { my_mean1(x) exists("my_mean1") } }) my_wrapper2 <- local({ my_mean2 <- function(x) mean(x, na.rm = FALSE) function(x) { my_mean2(x) exists("my_mean1") } }) x <- list(my_wrapper1, my_wrapper2) expect_identical( future_pmap_lgl(list(x), .f = ~.x(c(1, NA))), c(TRUE, FALSE) ) }) furrr/tests/testthat/test-future-imap.R0000644000176200001440000000274713715530753017775 0ustar liggesusersfurrr_test_that("imap functions work with unnamed input", { expect_identical(future_imap(1:2, ~.y), list(1L, 2L)) expect_identical(future_imap_chr(1:2, ~as.character(.y)), c("1", "2")) expect_identical(future_imap_int(1:2, ~.y), c(1L, 2L)) expect_identical(future_imap_dbl(1:2, ~.y), c(1, 2)) expect_identical(future_imap_lgl(1:2, ~identical(.y, 1L)), c(TRUE, FALSE)) expect_identical(future_imap_raw(1:2, ~raw(1)), raw(2)) expect_identical(future_imap_dfr(1:2, ~data.frame(x = .y)), data.frame(x = c(1L, 2L))) expect_identical(future_imap_dfc(1:2, ~vctrs::new_data_frame(set_names(list(1), .y))), vctrs::new_data_frame(list(`1` = 1, `2` = 1))) }) furrr_test_that("imap functions work with named input", { x <- set_names(1:2, c("x", "y")) expect_identical(future_imap(x, ~.y), list(x = "x", y = "y")) expect_identical(future_imap_chr(x, ~as.character(.y)), c(x = "x", y = "y")) expect_identical(future_imap_int(x, ~if (.y == "x") 1L else 2L), c(x = 1L, y = 2L)) expect_identical(future_imap_dbl(x, ~if (.y == "x") 1 else 2), c(x = 1, y = 2)) expect_identical(future_imap_lgl(x, ~if (.y == "x") TRUE else FALSE), c(x = TRUE, y = FALSE)) expect_identical(future_imap_raw(x, ~if (.y == "x") as.raw(1) else as.raw(2)), set_names(as.raw(c(1L, 2L)), c("x", "y"))) expect_identical(future_imap_dfr(x, ~data.frame(x = .y)), data.frame(x = c("x", "y"))) expect_identical(future_imap_dfc(x, ~vctrs::new_data_frame(set_names(list(1), .y))), vctrs::new_data_frame(list(x = 1, y = 1))) }) furrr/tests/testthat/test-future-modify.R0000644000176200001440000000534313715530753020331 0ustar liggesusers# ------------------------------------------------------------------------------ # future_modify() furrr_test_that("future_modify() default method works", { expect_identical(future_modify(list(1, 2), ~3), list(3, 3)) expect_identical(future_modify(data.frame(x = 1, y = 2), ~3), data.frame(x = 3, y = 3)) }) # TODO: Fix `NULL` behavior to match what is done here # https://github.com/tidyverse/purrr/pull/754 furrr_test_that("future_modify() is not stable when returning `NULL`", { expect_identical( future_modify(list(1, 2), ~ if (.x == 1) { NULL } else { .x }), list(2, 2) ) }) furrr_test_that("future_modify() variants work", { expect_identical(future_modify(c(1L, 2L, 3L), ~2L), rep(2L, 3)) expect_identical(future_modify(c(1, 2, 3), ~2), rep(2, 3)) expect_identical(future_modify(c("a", "b", "c"), toupper), c("A", "B", "C")) expect_identical(future_modify(c(TRUE, FALSE, TRUE), ~TRUE), rep(TRUE, 3)) }) furrr_test_that("future_modify() works", { x <- as.pairlist(list(1, 2)) expect_identical(class(future_modify(x, ~.x)), "pairlist") }) # ------------------------------------------------------------------------------ # future_modify_at() furrr_test_that("future_modify_at() default works", { expect_identical(future_modify_at(list(1, 2, 3), c(1, 3), ~5), list(5, 2, 5)) expect_identical(future_modify_at(data.frame(x = 1, y = 2), 2, ~3), data.frame(x = 1, y = 3)) }) furrr_test_that("future_modify_at() variants works", { expect_identical(future_modify_at(c(1L, 2L, 3L), c(1, 3), ~5L), c(5L, 2L, 5L)) expect_identical(future_modify_at(c(1, 2, 3), c(1, 3), ~5), c(5, 2, 5)) expect_identical(future_modify_at(c("a", "b", "c"), c(1, 3), toupper), c("A", "b", "C")) expect_identical(future_modify_at(c(TRUE, FALSE, TRUE), c(1, 3), ~NA), c(NA, FALSE, NA)) }) # ------------------------------------------------------------------------------ # future_modify_if() furrr_test_that("future_modify_if() default works", { expect_identical(future_modify_if(list(1, 2), ~.x == 1, ~3), list(3, 2)) expect_identical(future_modify_if(data.frame(x = 1, y = 2), ~.x == 1, ~3), data.frame(x = 3, y = 2)) }) furrr_test_that("future_modify_if() `.else` works for default", { expect_identical(future_modify_if(list(1, 2, 1, 4), ~.x == 1, ~3, .else = ~4), list(3, 4, 3, 4)) }) furrr_test_that("future_modify_if() variants works", { expect_identical(future_modify_if(c(1L, 2L, 3L), ~.x == 1L, ~2L, .else = ~3L), c(2L, 3L, 3L)) expect_identical(future_modify_if(c(1, 2, 3), ~.x == 1, ~2, .else = ~3), c(2, 3, 3)) expect_identical(future_modify_if(c("a", "b", "c"), ~.x == "a", toupper, .else = ~"d"), c("A", "d", "d")) expect_identical(future_modify_if(c(TRUE, FALSE, TRUE), ~.x == TRUE, ~TRUE, .else = ~NA), c(TRUE, NA, TRUE)) }) furrr/tests/testthat/helper-furrr-test-that.R0000644000176200001440000000200014005010433021045 0ustar liggesusersfurrr_test_that <- function(desc, code) { test_code <- enquo(code) # Ensure that we reset to sequential plan even on error to # close any straggler processes on.exit(plan(sequential), add = TRUE) for (strategy in supported_strategies()) { for (cores in seq2(1L, supported_max_cores(strategy))) { if (identical(strategy, "sequential")) { plan(strategy) } else { plan(strategy, workers = cores) } test_desc <- paste0(desc, " / strategy - ", strategy, " / cores - ", cores) test_expr <- expr( test_that(test_desc, { !!test_code }) ) eval_tidy(test_expr) } } } supported_strategies <- function() { strategies <- c("sequential", "multisession", "multicore") if (!future::supportsMulticore()) { strategies <- setdiff(strategies, "multicore") } strategies } supported_max_cores <- function(strategy) { if (identical(strategy, "sequential")) { 1L } else { min(2L, future::availableCores()) } } furrr/tests/testthat/_snaps/0000755000176200001440000000000014044053045015676 5ustar liggesusersfurrr/tests/testthat/_snaps/deprecation.md0000644000176200001440000000040214044053045020511 0ustar liggesusers# deprecated `future_options()` warns when used Code future_options() Warning `future_options()` was deprecated in furrr 0.2.0. Please use `furrr_options()` instead. Output furrr/tests/testthat/test-future-invoke-map.R0000644000176200001440000000425613715545607021116 0ustar liggesusers# ------------------------------------------------------------------------------ # future_invoke_map() furrr_test_that("future_invoke_map() matches invoke_map() for simple cases", { expect_identical( future_invoke_map(list(mean, median), list(list(c(1, 2, 3, 6)))), invoke_map(list(mean, median), list(list(c(1, 2, 3, 6)))) ) }) furrr_test_that("named empty input makes named empty output", { x <- set_names(list(), character()) expect_named( future_invoke_map(x, list(list(c(1, 2, 3, 6)))), character() ) }) # ------------------------------------------------------------------------------ # atomic variants furrr_test_that("future_invoke_map_dbl() works", { x <- list(list(c(1, 2, 3))) expect_identical( future_invoke_map_dbl(mean, x), invoke_map_dbl(mean, x) ) }) furrr_test_that("future_invoke_map_int() works", { x <- list(list(1L)) expect_identical( future_invoke_map_int(identity, x), invoke_map_int(identity, x) ) }) furrr_test_that("future_invoke_map_lgl() works", { x <- list(list(TRUE)) expect_identical( future_invoke_map_lgl(identity, x), invoke_map_lgl(identity, x) ) }) furrr_test_that("future_invoke_map_chr() works", { x <- list(list("a")) expect_identical( future_invoke_map_chr(identity, x), invoke_map_chr(identity, x) ) }) furrr_test_that("future_invoke_map_raw() works", { x <- list(list(as.raw(1))) expect_identical( future_invoke_map_raw(identity, x), invoke_map_raw(identity, x) ) }) furrr_test_that("names of `.x` are retained", { f <- list(x = mean, y = median) x <- list(list(1)) expect_named(future_invoke_map_dbl(f, x), c("x", "y")) }) # ------------------------------------------------------------------------------ # data frame variants furrr_test_that("future_invoke_map_dfr() works", { x <- list(list("a")) f <- function(x) { data.frame(x = x) } expect_identical( future_invoke_map_dfr(f, x), invoke_map_dfr(f, x) ) }) furrr_test_that("invoke_future_map_dfc() works", { x <- list(list("a")) f <- function(x) { as.data.frame(set_names(list(1), x)) } expect_identical( future_invoke_map_dfc(f, x), invoke_map_dfc(f, x) ) }) furrr/tests/testthat/test-furrr-options.R0000644000176200001440000001555113730377460020366 0ustar liggesusers# ------------------------------------------------------------------------------ # furrr_options(globals =) test_that("can export globals using a named list", { plan(multisession, workers = 2) on.exit(plan(sequential), add = TRUE) opts <- furrr_options(globals = list(y = 1)) fn <- function(x) { exists("y") } expect_identical(future_map_lgl(1:2, fn, .options = opts), c(TRUE, TRUE)) }) test_that("can detect globals from the caller environment (HenrikBengtsson/future.apply#62)", { plan(multisession, workers = 2) on.exit(plan(sequential), add = TRUE) fn <- function(x) { exists("y") } wrapper <- function(options = furrr_options()) { y <- 1 future_map_lgl(1, fn, .options = options) } expect_identical(wrapper(), FALSE) options <- furrr_options(globals = "y") expect_identical(wrapper(options), TRUE) }) test_that("can export globals with sequential futures", { skip("Until HenrikBengtsson/future.apply#10 is fixed") plan(sequential) fn <- function(x) { exists("y") } wrapper <- function(options = furrr_options()) { y <- 1 future_map_lgl(1, fn, .options = options) } # With named list opts <- furrr_options(globals = list(y = 1)) expect_identical(future_map_lgl(1:2, fn, .options = opts), c(TRUE, TRUE)) # With character lookup in caller env opts <- furrr_options(globals = "y") expect_identical(wrapper(opts), TRUE) }) test_that("validates `globals`", { expect_error(furrr_options(globals = 1)) expect_error(furrr_options(globals = c(TRUE, TRUE))) expect_error(furrr_options(globals = list(a = 1, 2))) }) # ------------------------------------------------------------------------------ # furrr_options(packages =) test_that("can selectively export packages on multisession", { plan(multisession, workers = 2) on.exit(plan(sequential), add = TRUE) opts <- furrr_options(packages = "dplyr") expect_error( future_map(1:2, ~tibble(x = .x)) ) expect_identical( future_map(1:2, ~tibble(x = .x), .options = opts), list(dplyr::tibble(x = 1L), dplyr::tibble(x = 2L)) ) }) test_that("validates `packages`", { expect_error(furrr_options(packages = 1)) }) # ------------------------------------------------------------------------------ # furrr_options(stdout =) furrr_test_that("can use `stdout = FALSE`", { opts <- furrr_options(stdout = FALSE) fn <- function(x) { con <- stdout() write("hello", con) x } expect_silent(future_map(1:5, fn, .options = opts)) }) test_that("validates `stdout`", { expect_error(furrr_options(stdout = "x")) expect_error(furrr_options(stdout = c(TRUE, TRUE))) }) # ------------------------------------------------------------------------------ # furrr_options(conditions =) test_that("can capture no conditions", { # Only works when not doing sequential, see HenrikBengtsson/future#403 plan(multisession, workers = 2) on.exit(plan(sequential), add = TRUE) opts <- furrr_options(conditions = character()) fn <- function(x) { warning("hello") x } expect_warning(future_map(1:5, fn, .options = opts), NA) }) test_that("validates `conditions`", { expect_error(furrr_options(conditions = 1)) }) # ------------------------------------------------------------------------------ # furrr_options(lazy =) furrr_test_that("can use lazy futures", { opts <- furrr_options(lazy = TRUE) expect_identical(future_map(1:5, ~.x, .options = opts), as.list(1:5)) }) test_that("validates `lazy`", { expect_error(furrr_options(lazy = 2)) expect_error(furrr_options(lazy = NA)) expect_error(furrr_options(lazy = c(TRUE, FALSE))) }) # ------------------------------------------------------------------------------ # furrr_options(seed =) furrr_test_that("can use integer `seed` of size 1", { old_seed <- get_random_seed() opts <- furrr_options(seed = 123) x <- future_map(5, runif, .options = opts) expect_false(identical(old_seed, get_random_seed())) y <- future_map(5, runif, .options = opts) expect_identical(x, y) }) furrr_test_that("can use integer `seed` of size 7", { old_rngkind <- RNGkind("L'Ecuyer-CMRG") lecuyer_seed <- get_random_seed() # Reset RNGkind(old_rngkind[[1]]) old_seed <- get_random_seed() opts <- furrr_options(seed = lecuyer_seed) x <- future_map(5, runif, .options = opts) expect_false(identical(old_seed, get_random_seed())) y <- future_map(5, runif, .options = opts) expect_identical(x, y) }) furrr_test_that("`TRUE` advances `.Random.seed` but `FALSE` doesn't", { old_seed <- get_random_seed() opts <- furrr_options(seed = FALSE) future_map(1:5, ~.x, .options = opts) expect_identical(old_seed, get_random_seed()) opts <- furrr_options(seed = TRUE) future_map(1:5, ~.x, .options = opts) expect_false(identical(old_seed, get_random_seed())) }) furrr_test_that("`NULL` seed doesn't advance `.Random.seed`", { old_seed <- get_random_seed() opts <- furrr_options(seed = NULL) future_map(1:5, ~.x, .options = opts) expect_identical(old_seed, get_random_seed()) }) test_that("must use valid L'Ecuyer-CMRG seed", { opts <- furrr_options(seed = 1:7) expect_error(future_map(1:5, ~.x, .options = opts), "must be") }) test_that("validates `seed`", { expect_error(furrr_options(seed = "x")) expect_error(furrr_options(seed = c(1, 2))) expect_error(furrr_options(seed = c(TRUE, FALSE))) expect_error(furrr_options(seed = 1.5)) expect_error(furrr_options(seed = NA)) }) # ------------------------------------------------------------------------------ # furrr_options(scheduling =) test_that("validates `scheduling`", { expect_error(furrr_options(scheduling = c(1, 2))) expect_error(furrr_options(scheduling = "x")) expect_error(furrr_options(scheduling = 1.5)) expect_error(furrr_options(scheduling = NA)) }) # ------------------------------------------------------------------------------ # furrr_options(chunk_size =) test_that("can specify `chunk_size`", { x <- furrr_options(chunk_size = 2) expect_identical(x$chunk_size, 2L) }) test_that("validates `chunk_size`", { expect_error(furrr_options(chunk_size = c(1, 2))) expect_error(furrr_options(chunk_size = "x")) expect_error(furrr_options(chunk_size = 1.5)) expect_error(furrr_options(chunk_size = NA)) }) # ------------------------------------------------------------------------------ # furrr_options(prefix =) furrr_test_that("labels can be passed through without erroring", { opts <- furrr_options(prefix = "foo") expect_error(future_map(1:5, ~.x, .options = opts), NA) }) test_that("validates `prefix`", { expect_error(furrr_options(prefix = 1)) expect_error(furrr_options(prefix = c("x", "y"))) }) # ------------------------------------------------------------------------------ # validation test_that("option object is validated", { expect_error(future_map(1:5, ~.x, .options = 1)) expect_error(future_map2(1:5, 1:5, ~.x, .options = 1)) expect_error(future_pmap(list(1:5), ~.x, .options = 1)) }) furrr/tests/testthat/test-future-map.R0000644000176200001440000001525413715530753017621 0ustar liggesusers# ------------------------------------------------------------------------------ # map() furrr_test_that("future_map() matches map() for simple cases", { expect_identical( future_map(1:3, ~.x), map(1:3, ~.x) ) }) furrr_test_that("names of `.x` are retained", { x <- c(a = 1, b = 2) expect_named(future_map(x, ~1), c("a", "b")) }) furrr_test_that("named empty input makes named empty output", { x <- set_names(list(), character()) expect_named(future_map(x, ~.x), character()) }) # ------------------------------------------------------------------------------ # atomic variants furrr_test_that("future_map_dbl() works", { x <- c(1, 2, 3) expect_identical( future_map_dbl(x, ~.x), map_dbl(x, ~.x) ) }) furrr_test_that("future_map_int() works", { x <- c(1L, 2L, 3L) expect_identical( future_map_int(x, ~.x), map_int(x, ~.x) ) }) furrr_test_that("future_map_lgl() works", { x <- c(TRUE, FALSE, TRUE) expect_identical( future_map_lgl(x, ~.x), map_lgl(x, ~.x) ) }) furrr_test_that("future_map_chr() works", { x <- c("a", "b", "c") expect_identical( future_map_chr(x, ~.x), map_chr(x, ~.x) ) }) furrr_test_that("future_map_raw() works", { x <- as.raw(1:3) expect_identical( future_map_raw(x, ~.x), map_raw(x, ~.x) ) }) furrr_test_that("names of `.x` are retained", { x <- c(a = 1, b = 2) expect_named(future_map_dbl(x, ~1), c("a", "b")) }) # ------------------------------------------------------------------------------ # data frame variants furrr_test_that("future_map_dfr() works", { x <- c("a", "b", "c") expect_identical( future_map_dfr(x, ~data.frame(x = .x)), map_dfr(x, ~data.frame(x = .x)) ) }) furrr_test_that("future_map_dfc() works", { x <- c("a", "b", "c") expect_identical( future_map_dfc(x, ~as.data.frame(set_names(list(1), .x))), map_dfc(x, ~as.data.frame(set_names(list(1), .x))) ) }) # ------------------------------------------------------------------------------ # size furrr_test_that("future_map() works with size zero input", { expect_identical(future_map(list(), identity), list()) }) furrr_test_that("atomic variants work with size zero input", { expect_identical(future_map_chr(list(), identity), character()) expect_identical(future_map_dbl(list(), identity), double()) expect_identical(future_map_int(list(), identity), integer()) expect_identical(future_map_lgl(list(), identity), logical()) expect_identical(future_map_raw(list(), identity), raw()) }) # ------------------------------------------------------------------------------ # at / if variants furrr_test_that("future_map_at() works", { x <- list("a", "b", "c") expect_identical( future_map_at(x, 2, ~3), map_at(x, 2, ~3) ) }) furrr_test_that("names of `.x` are retained", { x <- list(a = "a", b = "b", c = "c") expect_named(future_map_at(x, 2, ~3), c("a", "b", "c")) }) furrr_test_that("future_map_if() works", { x <- list("a", "b", "c") expect_identical( future_map_if(x, ~.x %in% c("a", "c"), ~3), map_if(x, ~.x %in% c("a", "c"), ~3) ) }) furrr_test_that("names of `.x` are retained", { x <- list(a = "a", b = "b", c = "c") expect_named(future_map_if(x, ~.x %in% c("a", "c"), ~3), c("a", "b", "c")) }) furrr_test_that("`.else` can be used", { x <- list("a", "b", "c") expect_identical( future_map_if(x, ~.x %in% c("a", "c"), ~ 3, .else = ~ -1), map_if(x, ~.x %in% c("a", "c"), ~ 3, .else = ~ -1) ) }) # ------------------------------------------------------------------------------ # Miscellaneous furrr_test_that("Calling `~` from within `.f` works", { x <- list( list(a = 4, b = 6), list(c = 5, d = 7) ) expect_identical(future_map(x, ~map(.x, ~.x)), x) }) furrr_test_that("Calling `~` from within `.f` inside a `mutate()` works (#7, #123)", { x <- list( list(a = 4, b = 6), list(c = 5, d = 7) ) df <- dplyr::tibble(x = x) expect_identical( dplyr::mutate(df, x = future_map(x, ~map(.x, ~.x))), df ) }) furrr_test_that("globals in `.x` are found (#16)", { fn <- function(x) sum(x, na.rm = TRUE) x <- list(c(1, 2, NA), c(2, 3, 4)) fns1 <- map(x, ~ purrr::partial(fn, x = .x)) fns2 <- map(x, ~ function() fn(.x)) expect_identical(future_map_dbl(fns1, ~.x()), c(3, 9)) expect_identical(future_map_dbl(fns2, ~.x()), c(3, 9)) }) test_that("globals in `.x` are only exported to workers that use them", { plan(multisession, workers = 2) on.exit(plan(sequential), add = TRUE) # Use `local()` to ensure that the wrapper functions and the anonymous # functions created with `~` don't pick up extra globals my_wrapper1 <- local({ my_mean1 <- function(x) mean(x, na.rm = TRUE) function(x) { my_mean1(x) exists("my_mean1") } }) my_wrapper2 <- local({ my_mean2 <- function(x) mean(x, na.rm = FALSE) function(x) { my_mean2(x) exists("my_mean1") } }) x <- list(my_wrapper1, my_wrapper2) expect_identical( future_map_lgl(.x = x, .f = ~.x(c(1, NA))), c(TRUE, FALSE) ) }) test_that("furrr is not loaded on the workers", { # future has some workarounds when running covr to ensure # that the libpath that covr uses is on the workers. I think # that somehow this loads furrr, so we just avoid this test when doing covr. # https://github.com/HenrikBengtsson/future/blob/d3a3e55cfdfd1bc4c47df3790923ad15c8c0bed1/R/ClusterFuture-class.R#L138 skip_if("covr" %in% loadedNamespaces()) plan(multisession, workers = 2) on.exit(plan(sequential), add = TRUE) # Evaluate in the global env to avoid furrr being # in the parent envs of this fn fn <- globally(function(x) { isNamespaceLoaded("furrr") }) expect_identical( future_map_lgl(1:2, fn), c(FALSE, FALSE) ) }) furrr_test_that("base package functions can be exported to workers (HenrikBengtsson/future#401)", { expect_identical(future_map(1:2, identity), list(1L, 2L)) }) furrr_test_that("`.f` globals are only looked up in the function env of `.f` (#153)", { fn <- function(x) { y } fn2 <- local({ y <- -1 function(x) { y } }) wrapper <- function(f) { y <- 1 future_map(1:2, f) } expect_error(wrapper(fn), "'y' not found") expect_identical(wrapper(fn2), list(-1, -1)) }) furrr_test_that("`...` globals/packages are found", { fn <- globally({ function(x, fn_arg) { fn_arg() } }) # Function is passed through `...` # Evaluate in the global env so rlang isn't captured in the function env # as a package to load fn_arg <- globally({ # `rlang` needs to be loaded on the worker! expr <- rlang::expr function() { expr(1) } }) expect_identical( future_map(1:2, fn, fn_arg = fn_arg), list(1, 1) ) }) furrr/tests/testthat.R0000644000176200001440000000006613337123326014544 0ustar liggesuserslibrary(testthat) library(furrr) test_check("furrr") furrr/R/0000755000176200001440000000000014065375206011623 5ustar liggesusersfurrr/R/utils-purrr.R0000644000176200001440000000166713715544465014276 0ustar liggesusers# nocov start probe <- function(.x, .p, ...) { if (is_logical(.p)) { stopifnot(length(.p) == length(.x)) .p } else { purrr::map_lgl(.x, .p, ...) } } inv_which <- function(x, sel) { if (is.character(sel)) { names <- names(x) if (is.null(names)) { stop("character indexing requires a named object", call. = FALSE) } names %in% sel } else if (is.numeric(sel)) { if (any(sel < 0)) { !seq_along(x) %in% abs(sel) } else { seq_along(x) %in% sel } } else { stop("unrecognised index type", call. = FALSE) } } vec_index <- function(x){ names(x) %||% seq_along(x) } check_tidyselect <- function(){ if (!is_installed("tidyselect")) { abort("Using tidyselect in `future_map_at()` requires tidyselect") } } at_selection <- function(nm, .at) { if (is_quosures(.at)){ check_tidyselect() .at <- tidyselect::vars_select(.vars = nm, !!!.at) } .at } # nocov end furrr/R/seed.R0000644000176200001440000000603413715563734012677 0ustar liggesusers# Adapted from: # https://github.com/HenrikBengtsson/future.apply/blob/develop/R/rng.R make_seeds <- function(seed, n) { if (is.list(seed)) { seed <- validate_supplied_seeds(seed, n) return(seed) } if (is_true(seed)) { seed <- as_lecyer_cmrg_seed_from_base_r_seed() } else if (is.integer(seed)) { seed <- as_lecyer_cmrg_seed_from_integer(seed) } else { abort("Internal error: Unknown type of `seed` encountered.") } oseed <- next_random_seed() on.exit(set_random_seed(oseed), add = TRUE) out <- vector("list", length = n) for (i in seq_len(n)) { out[[i]] <- nextRNGSubStream(seed) seed <- nextRNGStream(seed) } out } # ------------------------------------------------------------------------------ validate_supplied_seeds <- function(seeds, n) { # Finally check length of `seed` against `n` if (length(seeds) != n) { abort(paste0( "If `furrr_options(seed = )` is a list, it must have length equal ", "to the common length of the inputs, ", n, ", ", "not length ", length(seeds), "." )) } # All other checks on a list `seed` were done in `furrr_options()` seeds } # ------------------------------------------------------------------------------ is_valid_random_seed <- function(seed) { oseed <- get_random_seed() on.exit(set_random_seed(oseed), add = TRUE) env <- globalenv() env$.Random.seed <- seed res <- tryCatch( simpleWarning = function(cnd) cnd, sample.int(n = 1L, size = 1L, replace = FALSE) ) ok <- !inherits(res, "simpleWarning") ok } next_random_seed <- function(seed = get_random_seed()) { sample.int(n = 1L, size = 1L, replace = FALSE) seed_next <- get_random_seed() stopifnot(!any(seed_next != seed)) invisible(seed_next) } get_random_seed <- function() { env <- globalenv() env$.Random.seed } set_random_seed <- function(seed) { env <- globalenv() if (is.null(seed)) { rm(list = ".Random.seed", envir = env, inherits = FALSE) } else { env$.Random.seed <- seed } } # ------------------------------------------------------------------------------ as_lecyer_cmrg_seed_from_base_r_seed <- function() { oseed <- get_random_seed() # Already a L'Ecuyer-CMRG seed? Then use that as is. if (is_lecyer_cmrg_seed(oseed)) { return(oseed) } on.exit(set_random_seed(oseed), add = TRUE) RNGkind("L'Ecuyer-CMRG") return(get_random_seed()) } as_lecyer_cmrg_seed_from_integer <- function(seed) { # Already a L'Ecuyer-CMRG seed? if (is_lecyer_cmrg_seed(seed)) { return(seed) } # Generate a new L'Ecuyer-CMRG seed if (length(seed) == 1L) { oseed <- get_random_seed() on.exit(set_random_seed(oseed), add = TRUE) RNGkind("L'Ecuyer-CMRG") set.seed(seed) return(get_random_seed()) } abort(paste0( "Integer `seed` must be L'Ecuyer-CMRG RNG seed as returned by ", "`parallel::nextRNGStream()` or a single integer." )) } is_lecyer_cmrg_seed <- function(seed) { is.numeric(seed) && length(seed) == 7L && all(is.finite(seed)) && (seed[[1]] %% 10000L == 407L) } furrr/R/template.R0000644000176200001440000002767713731153230013572 0ustar liggesusersfurrr_map_template <- function(x, fn, dots, options, progress, type, map_fn, env_globals) { n <- length(x) names <- names(x) assert_furrr_options(options) assert_progress(progress) progress <- reconcile_progress_with_strategy(progress) expr_seed_setup <- make_expr_seed_setup(options$seed) expr_seed_update <- make_expr_seed_update(options$seed) expr_progress_setup <- make_expr_progress_setup(progress) expr_progress_update <- make_expr_progress_update(progress) expr <- expr({ ...furrr_chunk_x <- ...furrr_chunk_args !!expr_seed_setup !!expr_progress_setup ...furrr_fn_wrapper <- function(...) { !!expr_seed_update !!expr_progress_update ...furrr_fn(...) } args <- list( .x = ...furrr_chunk_x, .f = ...furrr_fn_wrapper ) args <- c(args, ...furrr_dots) do.call(...furrr_map_fn, args) }) furrr_template( args = x, fn = fn, dots = dots, n = n, options = options, progress = progress, type = type, map_fn = map_fn, names = names, env_globals = env_globals, expr = expr, extract = furrr_map_extract ) } furrr_map_extract <- function(x, i) { x[i] } # ------------------------------------------------------------------------------ furrr_map2_template <- function(x, y, fn, dots, options, progress, type, map_fn, env_globals) { args <- list(x, y) n <- furrr_length_common(args) args <- furrr_recycle_common(args, n) # Get names after possible recycling names <- names(args[[1]]) assert_furrr_options(options) assert_progress(progress) progress <- reconcile_progress_with_strategy(progress) expr_seed_setup <- make_expr_seed_setup(options$seed) expr_seed_update <- make_expr_seed_update(options$seed) expr_progress_setup <- make_expr_progress_setup(progress) expr_progress_update <- make_expr_progress_update(progress) expr <- expr({ ...furrr_chunk_x <- ...furrr_chunk_args[[1]] ...furrr_chunk_y <- ...furrr_chunk_args[[2]] !!expr_seed_setup !!expr_progress_setup ...furrr_fn_wrapper <- function(...) { !!expr_seed_update !!expr_progress_update ...furrr_fn(...) } args <- list( .x = ...furrr_chunk_x, .y = ...furrr_chunk_y, .f = ...furrr_fn_wrapper ) args <- c(args, ...furrr_dots) do.call(...furrr_map_fn, args) }) furrr_template( args = args, fn = fn, dots = dots, n = n, options = options, progress = progress, type = type, map_fn = map_fn, names = names, env_globals = env_globals, expr = expr, extract = furrr_map2_extract ) } furrr_map2_extract <- function(x, i) { map(x, `[`, i) } # ------------------------------------------------------------------------------ furrr_pmap_template <- function(l, fn, dots, options, progress, type, map_fn, env_globals) { if (is.data.frame(l)) { l <- as.list(l) } n <- furrr_length_common(l) args <- furrr_recycle_common(l, n) if (length(l) == 0L) { # Special case handling of empty `l` like `future_pmap(list())` names <- NULL } else { # Get names after possible recycling names <- names(args[[1]]) } assert_furrr_options(options) assert_progress(progress) progress <- reconcile_progress_with_strategy(progress) expr_seed_setup <- make_expr_seed_setup(options$seed) expr_seed_update <- make_expr_seed_update(options$seed) expr_progress_setup <- make_expr_progress_setup(progress) expr_progress_update <- make_expr_progress_update(progress) expr <- expr({ ...furrr_chunk_l <- ...furrr_chunk_args !!expr_seed_setup !!expr_progress_setup ...furrr_fn_wrapper <- function(...) { !!expr_seed_update !!expr_progress_update ...furrr_fn(...) } args <- list( .l = ...furrr_chunk_l, .f = ...furrr_fn_wrapper ) args <- c(args, ...furrr_dots) do.call(...furrr_map_fn, args) }) furrr_template( args = args, fn = fn, dots = dots, n = n, options = options, progress = progress, type = type, map_fn = map_fn, names = names, env_globals = env_globals, expr = expr, extract = furrr_pmap_extract ) } furrr_pmap_extract <- function(x, i) { map(x, `[`, i) } # ------------------------------------------------------------------------------ furrr_template <- function(args, fn, dots, n, options, progress, type, map_fn, names, env_globals, expr, extract) { fn <- purrr::as_mapper(fn) if (is.null(options$conditions)) { options$conditions <- eval(formals(future::Future)[["conditions"]]) } if (is.null(options$seed) || is_false(options$seed)) { seeds <- NULL } else { seeds <- make_seeds(options$seed, n) # Ensure we step forward 1 seed on exit to ensure # cross-strategy reproducibility oseed <- next_random_seed() on.exit(set_random_seed(oseed), add = TRUE) # Pass `NULL` on to `future()` to signal that we shouldn't check for # RNG usage in the expression, as it is handled by furrr options$seed <- NULL } n_workers <- future::nbrOfWorkers() chunks <- make_chunks(n, n_workers, options$scheduling, options$chunk_size) n_chunks <- length(chunks) order <- make_order(n, options$scheduling, options$chunk_size) # Reorder `chunks` based on the custom `order` if (!is.null(order)) { chunks <- map(chunks, function(chunk) .subset(order, chunk)) } gp <- get_globals_and_packages( options$globals, options$packages, map_fn, fn, dots, env_globals ) globals <- gp$globals packages <- gp$packages future_globals_max_size <- getOption("future.globals.maxSize") future_globals_max_size_default <- future_globals_max_size if (is.null(future_globals_max_size_default)) { future_globals_max_size_default <- 500 * 1024 ^ 2 } # Expression adjustment for per worker max global size expr <- expr({ future_globals_max_size <- getOption("future.globals.maxSize") if (!identical(future_globals_max_size, ...furrr_globals_max_size)) { options(future.globals.maxSize = ...furrr_globals_max_size) on.exit(options(future.globals.maxSize = future_globals_max_size), add = TRUE) } !!expr }) if (is.null(options$prefix)) { labels <- NULL } else { labels <- paste0(options$prefix, "-", seq_len(n_chunks)) } if (progress) { # nocov start objectSize <- import_future("objectSize") file <- tempfile(fileext = ".txt") file.create(file) on.exit(unlink(file, force = TRUE), add = TRUE) globals_file <- list(...furrr_progress_file = file) globals_file <- future::as.FutureGlobals(globals_file) globals_file <- future::resolve(globals_file) globals_file <- set_total_size(globals_file, objectSize(globals_file)) globals <- c(globals, globals_file) # nocov end } scan_chunk_args_for_globals <- is_true(options$globals) futures <- vector("list", length = n_chunks) for (i in seq_len(n_chunks)) { chunk <- chunks[[i]] n_chunk <- length(chunk) chunk_args <- extract(args, chunk) chunk_globals <- globals chunk_globals[["...furrr_chunk_args"]] <- chunk_args chunk_packages <- packages if (scan_chunk_args_for_globals) { chunk_args_gp <- future::getGlobalsAndPackages( expr = chunk_args, envir = env_globals, globals = TRUE ) chunk_args_globals <- chunk_args_gp$globals chunk_args_globals <- enforce_future_globals(chunk_args_globals) chunk_globals <- c(chunk_globals, chunk_args_globals) chunk_globals <- unique(chunk_globals) chunk_packages <- c(chunk_packages, chunk_args_gp$packages) chunk_packages <- unique(chunk_packages) } # Adjust "future.globals.maxSize" option to account for the fact that # more than one element is processed per future. Adjustment is done by # scaling up the limit by the number of elements in the current chunk. # This is an ad-hoc "good enough" approach, see: # https://github.com/HenrikBengtsson/future.apply/issues/8 chunk_globals["...furrr_globals_max_size"] <- list(future_globals_max_size) options(future.globals.maxSize = n_chunk * future_globals_max_size_default) on.exit(options(future.globals.maxSize = future_globals_max_size), add = TRUE) if (!is.null(seeds)) { chunk_seeds <- seeds[chunk] chunk_globals[["...furrr_chunk_seeds"]] <- chunk_seeds } futures[[i]] <- future::future( expr, substitute = FALSE, envir = env_globals, stdout = options$stdout, conditions = options$conditions, globals = chunk_globals, packages = chunk_packages, seed = options$seed, lazy = options$lazy, label = labels[[i]] ) } if (progress) { poll_progress(futures, file, n) } values <- future::value(futures) if (length(values) != length(chunks)) { abort("Internal error: Length of `values` not equal to length of `chunks`.") } out <- vctrs::vec_c(!!!values, .ptype = vector(type)) if (!is.null(order)) { order_inv <- vector("integer", length = n) idx <- seq2(1L, n) order_inv[.subset(order, idx)] <- idx out <- out[order_inv] } names(out) <- names out } # ------------------------------------------------------------------------------ make_expr_seed_setup <- function(seed) { if (is.null(seed) || is_false(seed)) { return(NULL) } expr({ ...furrr_chunk_seeds_env <- environment() ...furrr_chunk_seeds_env[["i"]] <- 1L }) } make_expr_seed_update <- function(seed) { if (is.null(seed) || is_false(seed)) { return(NULL) } expr({ ...furrr_chunk_seeds_i <- ...furrr_chunk_seeds_env[["i"]] ...furrr_chunk_seeds_env[["i"]] <- ...furrr_chunk_seeds_i + 1L assign( x = ".Random.seed", value = ...furrr_chunk_seeds[[...furrr_chunk_seeds_i]], envir = globalenv(), inherits = FALSE ) }) } # ------------------------------------------------------------------------------ # nocov start make_expr_progress_setup <- function(progress) { if (is_false(progress)) { return(NULL) } expr({ ...furrr_progress <- TRUE tryCatch( expr = { ...furrr_progress_con <- file(...furrr_progress_file, open = "a") on.exit(close(...furrr_progress_con), add = TRUE) }, error = function(cnd) { ...furrr_progress <<- FALSE } ) }) } make_expr_progress_update <- function(progress) { if (is_false(progress)) { return(NULL) } expr({ if (...furrr_progress) { try( expr = { cat("+", file = ...furrr_progress_con, sep = "") }, silent = TRUE ) } }) } # nocov end # ------------------------------------------------------------------------------ # Required global variable hack for variables used in `expr()`. # Required to pass R CMD check. utils::globalVariables(c( "...furrr_chunk_args", "...furrr_fn", "...furrr_map_fn", "...furrr_dots", "...furrr_globals_max_size", "...furrr_chunk_seeds", "...furrr_chunk_seeds_env", "...furrr_progress", "...furrr_progress_file", "...furrr_progress_con" )) furrr/R/utils.R0000644000176200001440000000126513744057144013113 0ustar liggesuserscat_line <- function(...) { cat(paste0(..., "\n", collapse = "")) } import_future <- function(name, default = NULL) { import_from(name, default = default, package = "future") } import_from <- function(name, default = NULL, package) { ns <- getNamespace(package) if (exists(name, mode = "function", envir = ns, inherits = FALSE)) { get(name, mode = "function", envir = ns, inherits = FALSE) } else if (!is.null(default)) { default } else { stop(sprintf("No such '%s' function: %s()", package, name)) } } get_total_size <- function(x) { attr(x, "total_size", exact = TRUE) } set_total_size <- function(x, total_size) { attr(x, "total_size") <- total_size x } furrr/R/future-pmap.R0000644000176200001440000001012213715530753014210 0ustar liggesusers#' @rdname future_map2 #' @export future_pmap <- function(.l, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_pmap_template( l = .l, fn = .f, dots = list(...), options = .options, progress = .progress, type = "list", map_fn = purrr::pmap, env_globals = .env_globals ) } #' @rdname future_map2 #' @export future_pmap_chr <- function(.l, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_pmap_template( l = .l, fn = .f, dots = list(...), options = .options, progress = .progress, type = "character", map_fn = purrr::pmap_chr, env_globals = .env_globals ) } #' @rdname future_map2 #' @export future_pmap_dbl <- function(.l, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_pmap_template( l = .l, fn = .f, dots = list(...), options = .options, progress = .progress, type = "double", map_fn = purrr::pmap_dbl, env_globals = .env_globals ) } #' @rdname future_map2 #' @export future_pmap_int <- function(.l, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_pmap_template( l = .l, fn = .f, dots = list(...), options = .options, progress = .progress, type = "integer", map_fn = purrr::pmap_int, env_globals = .env_globals ) } #' @rdname future_map2 #' @export future_pmap_lgl <- function(.l, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_pmap_template( l = .l, fn = .f, dots = list(...), options = .options, progress = .progress, type = "logical", map_fn = purrr::pmap_lgl, env_globals = .env_globals ) } #' @rdname future_map2 #' @export future_pmap_raw <- function(.l, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_pmap_template( l = .l, fn = .f, dots = list(...), options = .options, progress = .progress, type = "raw", map_fn = purrr::pmap_raw, env_globals = .env_globals ) } #' @rdname future_map2 #' @export future_pmap_dfr <- function(.l, .f, ..., .id = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { if (!rlang::is_installed("dplyr")) { rlang::abort("`future_map_dfr()` requires dplyr") } res <- future_pmap( .l = .l, .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) dplyr::bind_rows(res, .id = .id) } #' @rdname future_map2 #' @export future_pmap_dfc <- function(.l, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { if (!rlang::is_installed("dplyr")) { rlang::abort("`future_map_dfc()` requires dplyr") } res <- future_pmap( .l = .l, .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) dplyr::bind_cols(res) } furrr/R/future-walk.R0000644000176200001440000000336113715530753014220 0ustar liggesusers#' @rdname future_map #' @export future_walk <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { future_map( .x = .x, .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) invisible(.x) } #' @rdname future_map2 #' @export future_walk2 <- function(.x, .y, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { future_map2( .x = .x, .y = .y, .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) invisible(.x) } #' @rdname future_map2 #' @export future_pwalk <- function(.l, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { future_pmap( .l = .l, .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) invisible(.l) } #' @rdname future_imap #' @export future_iwalk <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { future_walk2( .x = .x, .y = vec_index(.x), .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) } furrr/R/future-invoke-map.R0000644000176200001440000001430714065376113015327 0ustar liggesusers#' Invoke functions via futures #' #' @description #' `r lifecycle::badge("deprecated")` #' #' These functions work exactly the same as [purrr::invoke_map()] functions, but #' allow you to invoke in parallel. #' #' @inheritParams purrr::invoke_map #' @inheritParams future_map #' #' @param .f A list of functions. #' @param .x A list of argument-lists the same length as `.f` (or length 1). The #' default argument, `list(NULL)`, will be recycled to the same length as #' `.f`, and will call each function with no arguments (apart from any #' supplied in `...`). #' #' @export #' @examples #' \donttest{plan(multisession, workers = 2)} #' #' df <- dplyr::tibble( #' f = c("runif", "rpois", "rnorm"), #' params = list( #' list(n = 10), #' list(n = 5, lambda = 10), #' list(n = 10, mean = -3, sd = 10) #' ) #' ) #' #' future_invoke_map(df$f, df$params, .options = furrr_options(seed = 123)) #' #' \dontshow{ #' # Close open connections for R CMD Check #' if (!inherits(plan(), "sequential")) plan(sequential) #' } future_invoke_map <- function(.f, .x = list(NULL), ..., .env = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { .env <- .env %||% parent.frame() .f <- as_invoke_function(.f) future_map2( .x = .f, .y = .x, .f = purrr::invoke, ..., .env = .env, .options = .options, .env_globals = .env_globals, .progress = .progress ) } #' @rdname future_invoke_map #' @export future_invoke_map_chr <- function(.f, .x = list(NULL), ..., .env = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { .env <- .env %||% parent.frame() .f <- as_invoke_function(.f) future_map2_chr( .x = .f, .y = .x, .f = purrr::invoke, ..., .env = .env, .options = .options, .env_globals = .env_globals, .progress = .progress ) } #' @rdname future_invoke_map #' @export future_invoke_map_dbl <- function(.f, .x = list(NULL), ..., .env = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { .env <- .env %||% parent.frame() .f <- as_invoke_function(.f) future_map2_dbl( .x = .f, .y = .x, .f = purrr::invoke, ..., .env = .env, .options = .options, .env_globals = .env_globals, .progress = .progress ) } #' @rdname future_invoke_map #' @export future_invoke_map_int <- function(.f, .x = list(NULL), ..., .env = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { .env <- .env %||% parent.frame() .f <- as_invoke_function(.f) future_map2_int( .x = .f, .y = .x, .f = purrr::invoke, ..., .env = .env, .options = .options, .env_globals = .env_globals, .progress = .progress ) } #' @rdname future_invoke_map #' @export future_invoke_map_lgl <- function(.f, .x = list(NULL), ..., .env = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { .env <- .env %||% parent.frame() .f <- as_invoke_function(.f) future_map2_lgl( .x = .f, .y = .x, .f = purrr::invoke, ..., .env = .env, .options = .options, .env_globals = .env_globals, .progress = .progress ) } #' @rdname future_invoke_map #' @export future_invoke_map_raw <- function(.f, .x = list(NULL), ..., .env = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { .env <- .env %||% parent.frame() .f <- as_invoke_function(.f) future_map2_raw( .x = .f, .y = .x, .f = purrr::invoke, ..., .env = .env, .options = .options, .env_globals = .env_globals, .progress = .progress ) } #' @rdname future_invoke_map #' @export future_invoke_map_dfr <- function(.f, .x = list(NULL), ..., .env = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { .env <- .env %||% parent.frame() .f <- as_invoke_function(.f) future_map2_dfr( .x = .f, .y = .x, .f = purrr::invoke, ..., .env = .env, .options = .options, .env_globals = .env_globals, .progress = .progress ) } #' @rdname future_invoke_map #' @export future_invoke_map_dfc <- function(.f, .x = list(NULL), ..., .env = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { .env <- .env %||% parent.frame() .f <- as_invoke_function(.f) future_map2_dfc( .x = .f, .y = .x, .f = purrr::invoke, ..., .env = .env, .options = .options, .env_globals = .env_globals, .progress = .progress ) } # ------------------------------------------------------------------------------ as_invoke_function <- function(f) { if (is.function(f)) { list(f) } else { f } } furrr/R/globals.R0000644000176200001440000000620313715575252013376 0ustar liggesusersget_globals_and_packages <- function(globals, packages, map_fn, fn, dots, env_globals) { objectSize <- import_future("objectSize") packages_out <- "purrr" # Always get `.f` globals_fn <- list(...furrr_fn = fn) globals_fn <- future::as.FutureGlobals(globals_fn) globals_fn <- future::resolve(globals_fn) globals_fn <- set_total_size(globals_fn, objectSize(globals_fn)) # Always get `...`. globals_dots <- list(...furrr_dots = dots) globals_dots <- future::as.FutureGlobals(globals_dots) globals_dots <- future::resolve(globals_dots) globals_dots <- set_total_size(globals_dots, objectSize(globals_dots)) # Always get `map_fn` globals_map_fn <- list(...furrr_map_fn = map_fn) globals_map_fn <- future::as.FutureGlobals(globals_map_fn) globals_map_fn <- future::resolve(globals_map_fn) globals_map_fn <- set_total_size(globals_map_fn, objectSize(globals_map_fn)) # Always get chunk specific placeholders globals_extra <- list( ...furrr_chunk_args = NULL, ...furrr_chunk_seeds = NULL, ...furrr_globals_max_size = NULL ) globals_extra <- future::as.FutureGlobals(globals_extra) globals_extra <- future::resolve(globals_extra) globals_extra <- set_total_size(globals_extra, objectSize(globals_extra)) globals_out <- c( globals_fn, globals_dots, globals_map_fn, globals_extra ) # Collect all globals recursively # Search in the parent frame of the `future_*()` call for globals if (is_true(globals)) { # Lookup `.f` globals in the function env of `.f` (#153) env_fn <- fn_env(fn) gp_fn <- future::getGlobalsAndPackages(fn, envir = env_fn, globals = TRUE) gp_dots <- future::getGlobalsAndPackages(dots, envir = env_globals, globals = TRUE) globals_gp_fn <- enforce_future_globals(gp_fn$globals) globals_gp_dots <- enforce_future_globals(gp_dots$globals) globals_out <- unique(c(globals_out, globals_gp_fn, globals_gp_dots)) packages_out <- unique(c(packages_out, gp_fn$packages, gp_dots$packages)) } # Collect only explicitly selected globals, # but be lax about it with `mustExist = FALSE`. if (is.character(globals)) { globals_chr <- globals::globalsByName(globals, envir = env_globals, mustExist = FALSE) globals_chr <- enforce_future_globals(globals_chr) globals_out <- c(globals_out, globals_chr) } # Assume supplied named inputs are the globals. if (is.list(globals)) { globals_lst <- enforce_future_globals(globals) globals_out <- c(globals_out, globals_lst) } # Add user specified packages if (!is.null(packages)) { packages_out <- unique(c(packages_out, packages)) } out <- list(globals = globals_out, packages = packages_out) out } # ------------------------------------------------------------------------------ # `getGlobalsAndPackages()` should always return a FutureGlobals object # with a non-NA `total_size`, but HenrikBengtsson/future#410 proves it # doesn't, so be careful and ensure correct behavior enforce_future_globals <- function(x) { x <- future::as.FutureGlobals(x) if (is.na(get_total_size(x))) { objectSize <- import_future("objectSize") x <- set_total_size(x, objectSize(x)) } x } furrr/R/recycle.R0000644000176200001440000000251513712522503013367 0ustar liggesusersfurrr_recycle_common <- function(x, n) { n_x <- length(x) lengths <- lengths(x) idx <- rep_len(1L, n) for (i in seq_len(n_x)) { elt <- x[[i]] # Don't recycle `NULL` elements, they can be indexed fine by `[` and `[[` # and are considered like missing arguments if (is.null(elt)) { next } length_elt <- lengths[[i]] if (length_elt == n) { next } if (length_elt == 1L) { x[[i]] <- elt[idx] next } abort(paste0("Internal error: Incompatible lengths at location ", i, ".")) } x } # Can't use `vec_size_common()` because we extract elements with `[[` and # respect length invariants, not size invariants furrr_length_common <- function(x) { # Don't consider `NULL` elements in common size x <- compact_null(x) # Handle empty pmap input if (length(x) == 0L) { return(0L) } lengths <- lengths(x) indices <- seq_along(lengths) purrr::reduce2(lengths, indices, furrr_length2, .init = 1L) } furrr_length2 <- function(x, y, i) { if (x == 1L) { y } else if (y == 1L) { x } else if (x == y) { x } else { msg <- paste0("Can't recycle length ", x, " and length ", y, " at location ", i, ".") abort(msg) } } compact_null <- function(x) { null <- purrr::map_lgl(x, is.null) if (any(null)) { x[!null] } else { x } } furrr/R/furrr-options.R0000644000176200001440000002643614005034732014600 0ustar liggesusers#' Options to fine tune furrr #' #' These options fine tune furrr functions, such as [future_map()]. They #' are either used by furrr directly, or are passed on to [future::future()]. #' #' @param ... These dots are reserved for future extensibility and must #' be empty. #' #' @param stdout A logical. #' #' - If `TRUE`, standard output of the underlying futures is captured and #' relayed as soon as possible. #' #' - If `FALSE`, output is silenced by sinking it to the null device. #' #' - If `NA`, output is not intercepted. This is not recommended. #' #' @param conditions A character string of conditions classes to be captured #' and relayed. The default is the same as the condition argument of #' [future::Future()]. To not intercept conditions, use #' `conditions = character(0L)`. Errors are always relayed. #' #' @param globals A logical, a character vector, a named list, or `NULL` for #' controlling how globals are handled. For details, see the #' `Global variables` section below. #' #' @param packages A character vector, or `NULL`. If supplied, this specifies #' packages that are guaranteed to be attached in the R environment where the #' future is evaluated. #' #' @param lazy A logical. Specifies whether futures should be resolved #' lazily or eagerly. #' #' @param seed A logical, an integer of length `1` or `7`, a list of #' `length(.x)` with pre-generated random seeds, or `NULL`. For details, see #' the `Reproducible random number generation (RNG)` section below. #' #' @param scheduling A single integer, logical, or `Inf`. This argument #' controls the average number of futures ("chunks") per worker. #' #' - If `0`, then a single future is used to process all elements of `.x`. #' #' - If `1` or `TRUE`, then one future per worker is used. #' #' - If `2`, then each worker will process two futures (provided there #' are enough elements in `.x`). #' #' - If `Inf` or `FALSE`, then one future per element of `.x` is used. #' #' This argument is only used if `chunk_size` is `NULL`. #' #' @param chunk_size A single integer, `Inf`, or `NULL`. This argument #' controls the average number of elements per future (`"chunk"`). If `Inf`, #' then all elements are processed in a single future. If `NULL`, then #' `scheduling` is used instead to determine how `.x` is chunked. #' #' @param prefix A single character string, or `NULL`. If a character string, #' then each future is assigned a label as `{prefix}-{chunk-id}`. If `NULL`, #' no labels are used. #' #' #' @section Global variables: #' #' `globals` controls how globals are identified, similar to the `globals` #' argument of [future::future()]. Since all function calls use the same set of #' globals, furrr gathers globals upfront (once), which is more efficient than #' if it was done for each future independently. #' #' * If `TRUE` or `NULL`, then globals are automatically identified and #' gathered. #' #' * If a character vector of names is specified, then those globals are #' gathered. #' #' * If a named list, then those globals are used as is. #' #' * In all cases, `.f` and any `...` arguments are automatically passed as #' globals to each future created, as they are always needed. #' #' @section Reproducible random number generation (RNG): #' #' Unless `seed = FALSE`, furrr functions are guaranteed to generate #' the exact same sequence of random numbers _given the same initial #' seed / RNG state_ regardless of the type of futures and scheduling #' ("chunking") strategy. #' #' Setting `seed = NULL` is equivalent to `seed = FALSE`, except that the #' `future.rng.onMisuse` option is not consulted to potentially monitor the #' future for faulty random number usage. See the `seed` argument of #' [future::future()] for more details. #' #' RNG reproducibility is achieved by pre-generating the random seeds for all #' iterations (over `.x`) by using L'Ecuyer-CMRG RNG streams. In each #' iteration, these seeds are set before calling `.f(.x[[i]], ...)`. #' _Note, for large `length(.x)` this may introduce a large overhead._ #' #' A fixed `seed` may be given as an integer vector, either as a full #' L'Ecuyer-CMRG RNG seed of length `7`, or as a seed of length `1` that #' will be used to generate a full L'Ecuyer-CMRG seed. #' #' If `seed = TRUE`, then `.Random.seed` is returned if it holds a #' L'Ecuyer-CMRG RNG seed, otherwise one is created randomly. #' #' If `seed = NA`, a L'Ecuyer-CMRG RNG seed is randomly created. #' #' If none of the function calls `.f(.x[[i]], ...)` use random number #' generation, then `seed = FALSE` may be used. #' #' In addition to the above, it is possible to specify a pre-generated #' sequence of RNG seeds as a list such that `length(seed) == length(.x)` and #' where each element is an integer seed that can be assigned to `.Random.seed`. #' Use this alternative with caution. _Note that `as.list(seq_along(.x))` is #' not a valid set of such `.Random.seed` values._ #' #' In all cases but `seed = FALSE`, after a furrr function returns, the RNG #' state of the calling R process is guaranteed to be "forwarded one step" from #' the RNG state before the call. This is true regardless of the future #' strategy / scheduling used. This is done in order to guarantee that an R #' script calling `future_map()` multiple times should be numerically #' reproducible given the same initial seed. #' #' @export #' @examples #' furrr_options() furrr_options <- function(..., stdout = TRUE, conditions = NULL, globals = TRUE, packages = NULL, lazy = FALSE, seed = FALSE, scheduling = 1.0, chunk_size = NULL, prefix = NULL) { ellipsis::check_dots_empty() stdout <- validate_stdout(stdout) conditions <- validate_conditions(conditions) globals <- validate_globals(globals) packages <- validate_packages(packages) lazy <- validate_lazy(lazy) seed <- validate_seed(seed) scheduling <- validate_scheduling(scheduling) chunk_size <- validate_chunk_size(chunk_size) prefix <- validate_prefix(prefix) out <- list( stdout = stdout, conditions = conditions, globals = globals, packages = packages, lazy = lazy, seed = seed, scheduling = scheduling, chunk_size = chunk_size, prefix = prefix ) structure(out, class = "furrr_options") } #' @export print.furrr_options <- function(x, ...) { cat_line("") } # ------------------------------------------------------------------------------ #' Deprecated furrr options #' #' @description #' `r lifecycle::badge("deprecated")` #' #' `future_options()` has been deprecated in favor of [furrr_options()] as #' of furrr 0.2.0. #' #' @inheritParams furrr_options #' #' @keywords internal #' @export #' @examples #' future_options() future_options <- function(globals = TRUE, packages = NULL, seed = FALSE, lazy = FALSE, scheduling = 1.0) { lifecycle::deprecate_warn("0.2.0", "future_options()", "furrr_options()") furrr_options( globals = globals, packages = packages, seed = seed, lazy = lazy, scheduling = scheduling ) } # ------------------------------------------------------------------------------ assert_furrr_options <- function(x) { if (!is_furrr_options(x)) { abort("`.options` must be created from `furrr_options()`.") } invisible(x) } is_furrr_options <- function(x) { inherits(x, "furrr_options") } # ------------------------------------------------------------------------------ validate_stdout <- function(x) { vctrs::vec_assert(x, size = 1L, arg = "stdout") vctrs::vec_cast(x, logical(), x_arg = "stdout") } validate_conditions <- function(x) { vctrs::vec_cast(x, character(), x_arg = "conditions") } validate_globals <- function(x) { if (is.null(x)) { return(TRUE) } if (is.logical(x)) { if (!is_bool(x)) { abort("A logical `globals` must be length 1 and can't be `NA`.") } return(x) } if (is.character(x)) { return(x) } if (is.list(x)) { if (!is_named(x)) { abort("`globals` cannot be an unnamed or partially named list.") } return(x) } abort("`globals` must be `NULL`, a logical, a character vector, or a named list.") } validate_packages <- function(x) { if (is.null(x)) { return(x) } x <- vctrs::vec_cast(x, character(), x_arg = "packages") if (any(is.na(x))) { abort("`packages` can't be `NA`.") } x } validate_lazy <- function(x) { vctrs::vec_assert(x, size = 1, arg = "lazy") x <- vctrs::vec_cast(x, logical(), x_arg = "lazy") if (is.na(x)) { abort("`lazy` can't be `NA`.") } x } validate_seed <- function(x) { if (is.null(x)) { return(x) } # Size is validated when we have `.x` if (is.list(x)) { x <- validate_seed_list(x) return(x) } if (is.logical(x)) { if (!is_bool(x)) { abort("A logical `seed` must be length 1 and must not be `NA`.") } return(x) } if (is.double(x)) { x <- vctrs::vec_cast(x, integer(), x_arg = "seed") } if (is.integer(x)) { if (length(x) != 1L && length(x) != 7L) { abort("An integer `seed` must be length 1 or 7.") } if (any(is.na(x))) { abort("An integer `seed` cannot have `NA` values.") } return(x) } abort("`seed` must be a logical, integer, or list.") } validate_seed_list <- function(x) { seeds_are_integers <- purrr::map_lgl(x, ~typeof(.x) == "integer") if (!all(seeds_are_integers)) { abort("All elements of a list `seed` must be integers.") } unique_lengths <- unique(lengths(x)) if (length(unique_lengths) != 1L) { abort("All elements of a list `seed` must have the same length.") } if (identical(unique_lengths, 1L)) { abort(paste0( "All pre-generated random seed elements of a list `seed` ", "must be valid `.Random.seed` seeds, which means they should be all ", "integers and consists of two or more elements, not just one." )) } # For efficiency, just check the first seed for validity seed <- x[[1]] if (!is_valid_random_seed(seed)) { abort(paste0( "All pre-generated random seed elements of a list `seed` ", "must be valid `.Random.seed` seeds, but the first does not seem to be." )) } x } validate_scheduling <- function(x) { if (length(x) != 1L) { abort("`scheduling` must be length 1.") } if (identical(x, Inf)) { return(x) } if (is.logical(x)) { if (!is_bool(x)) { abort("A logical `scheduling` value can't be `NA`.") } return(x) } x <- vctrs::vec_cast(x, integer(), x_arg = "scheduling") if (x < 0L) { abort("`scheduling` must be greater than or equal to zero.") } x } validate_chunk_size <- function(x) { if (is.null(x)) { return(x) } if (identical(x, Inf)) { return(x) } vctrs::vec_assert(x, size = 1L, arg = "chunk_size") x <- vctrs::vec_cast(x, integer(), x_arg = "chunk_size") if (is.na(x)) { abort("`chunk_size` can't be `NA`.") } if (x <= 0L) { abort("`chunk_size` must be greater than zero.") } x } validate_prefix <- function(x) { if (is.null(x)) { return(x) } if (!is_string(x)) { abort("`prefix` must be a character string, or `NULL`.") } x } furrr/R/progress.R0000644000176200001440000000512013731154473013610 0ustar liggesusers# nocov start poll_progress <- function(futures, file, n_x) { symbol <- get_progress_symbol() prefix <- "Progress: " suffix <- " 100%" width_prefix <- nchar(prefix) width_suffix <- nchar(suffix) width_carriage <- 1L stderr <- stderr() while (any_running(futures)) { con <- file(file, open = "r") n_ticks <- get_n_ticks(con) close(con) # Console width might change while we poll width_max <- console_width() width_usable <- width_max - width_prefix - width_suffix - width_carriage width_rule <- floor(width_usable * n_ticks / n_x) width_space <- width_usable - width_rule space <- paste0(rep(" ", times = width_space), collapse = "") rule <- paste0(rep(symbol, times = width_rule), collapse = "") out <- paste0(prefix, rule, space, suffix) cat("\r", out, file = stderr) utils::flush.console() } } get_n_ticks <- function(con) { line <- readLines(con, n = 1L, warn = FALSE) if (length(line) == 0L) { line <- "" } nchar(line) } any_running <- function(futures) { !all(future::resolved(futures)) } console_width <- function() { width <- Sys.getenv("RSTUDIO_CONSOLE_WIDTH", getOption("width", 80)) as.integer(width) } # ------------------------------------------------------------------------------ # Adapted from cli's onload properties # to dynamically switch depending on utf8 availability get_progress_symbol <- function() { if (is_utf8_output()) { "\u2500" } else { "-" } } is_utf8_output <- function() { l10n_info()$`UTF-8` && !is_latex_output() } is_latex_output <- function () { if (!("knitr" %in% loadedNamespaces())) { return(FALSE) } get("is_latex_output", asNamespace("knitr"))() } # ------------------------------------------------------------------------------ assert_progress <- function(progress) { if (!is_bool(progress)) { abort("`.progress` must be a single logical value.") } invisible(progress) } # ------------------------------------------------------------------------------ # - Sequential blocks in the `future()` call, so no progress is ever shown # - Cluster is generally used for multi-computer setups, and would end up # writing into files on the remote workers, which would never be shown. progress_enabled_plans <- c( "multicore", "multisession", "multiprocess" ) reconcile_progress_with_strategy <- function(progress) { if (is_false(progress)) { return(progress) } plan <- future::plan() progress_enabled_plan <- inherits_any(plan, progress_enabled_plans) if (!progress_enabled_plan) { progress <- FALSE } progress } # nocov end furrr/R/furrr-package.R0000644000176200001440000000054014065375206014476 0ustar liggesusers#' @keywords internal "_PACKAGE" # The following block is used by usethis to automatically manage # roxygen namespace tags. Modify with care! ## usethis namespace: start #' @import rlang #' @importFrom purrr map #' @importFrom future future #' @importFrom parallel nextRNGSubStream #' @importFrom parallel nextRNGStream ## usethis namespace: end NULL furrr/R/future-map.R0000644000176200001440000002102613744061622014031 0ustar liggesusers#' Apply a function to each element of a vector via futures #' #' These functions work exactly the same as [purrr::map()] and its variants, but #' allow you to map in parallel. #' #' @inheritParams purrr::map #' #' @param .env_globals The environment to look for globals required by `.x` and #' `...`. Globals required by `.f` are looked up in the function environment #' of `.f`. #' #' @param .options The `future` specific options to use with the workers. This #' must be the result from a call to [furrr_options()]. #' #' @param .progress A single logical. Should a progress bar be displayed? #' Only works with multisession, multicore, and multiprocess futures. Note #' that if a multicore/multisession future falls back to sequential, then #' a progress bar will not be displayed. #' #' __Warning:__ The `.progress` argument will be deprecated and removed #' in a future version of furrr in favor of using the more robust #' [progressr](https://CRAN.R-project.org/package=progressr) #' package. #' #' @return All functions return a vector the same length as `.x`. #' #' - [future_map()] returns a list #' #' - [future_map_lgl()] a logical vector #' #' - [future_map_int()] an integer vector #' #' - [future_map_dbl()] a double vector #' #' - [future_map_chr()] a character vector #' #' The output of `.f` will be automatically typed upwards, e.g. logical -> #' integer -> double -> character. #' #' @export #' @examples #' library(magrittr) #' \donttest{plan(multisession, workers = 2)} #' #' 1:10 %>% #' future_map(rnorm, n = 10, .options = furrr_options(seed = 123)) %>% #' future_map_dbl(mean) #' #' # If each element of the output is a data frame, use #' # `future_map_dfr()` to row-bind them together: #' mtcars %>% #' split(.$cyl) %>% #' future_map(~ lm(mpg ~ wt, data = .x)) %>% #' future_map_dfr(~ as.data.frame(t(as.matrix(coef(.))))) #' #' #' # You can be explicit about what gets exported to the workers. #' # To see this, use multisession (not multicore as the forked workers #' # still have access to this environment) #' \donttest{plan(multisession)} #' x <- 1 #' y <- 2 #' #' # This will fail, y is not exported (no black magic occurs) #' try(future_map(1, ~y, .options = furrr_options(globals = "x"))) #' #' # y is exported #' future_map(1, ~y, .options = furrr_options(globals = "y")) #' #' \dontshow{ #' # Close open connections for R CMD Check #' if (!inherits(plan(), "sequential")) plan(sequential) #' } future_map <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_map_template( x = .x, fn = .f, dots = list(...), options = .options, progress = .progress, type = "list", map_fn = purrr::map, env_globals = .env_globals ) } #' @rdname future_map #' @export future_map_chr <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_map_template( x = .x, fn = .f, dots = list(...), options = .options, progress = .progress, type = "character", map_fn = purrr::map_chr, env_globals = .env_globals ) } #' @rdname future_map #' @export future_map_dbl <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_map_template( x = .x, fn = .f, dots = list(...), options = .options, progress = .progress, type = "double", map_fn = purrr::map_dbl, env_globals = .env_globals ) } #' @rdname future_map #' @export future_map_int <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_map_template( x = .x, fn = .f, dots = list(...), options = .options, progress = .progress, type = "integer", map_fn = purrr::map_int, env_globals = .env_globals ) } #' @rdname future_map #' @export future_map_lgl <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_map_template( x = .x, fn = .f, dots = list(...), options = .options, progress = .progress, type = "logical", map_fn = purrr::map_lgl, env_globals = .env_globals ) } #' @rdname future_map #' @export future_map_raw <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_map_template( x = .x, fn = .f, dots = list(...), options = .options, progress = .progress, type = "raw", map_fn = purrr::map_raw, env_globals = .env_globals ) } #' @rdname future_map #' @export future_map_dfr <- function(.x, .f, ..., .id = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { if (!rlang::is_installed("dplyr")) { rlang::abort("`future_map_dfr()` requires dplyr") } res <- future_map( .x = .x, .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) dplyr::bind_rows(res, .id = .id) } #' @rdname future_map #' @export future_map_dfc <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { if (!rlang::is_installed("dplyr")) { rlang::abort("`future_map_dfc()` requires dplyr") } res <- future_map( .x = .x, .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) dplyr::bind_cols(res) } # ------------------------------------------------------------------------------ #' Apply a function to each element of a vector conditionally via futures #' #' These functions work exactly the same as [purrr::map_if()] and #' [purrr::map_at()], but allow you to run them in parallel. #' #' @inheritParams purrr::map_if #' @inheritParams future_map #' #' @return Both functions return a list the same length as `.x` with the #' elements conditionally transformed. #' #' @export #' @examples #' \donttest{plan(multisession, workers = 2)} #' #' # Modify the even elements #' future_map_if(1:5, ~.x %% 2 == 0L, ~ -1) #' #' future_map_at(1:5, c(1, 5), ~ -1) #' \dontshow{ #' # Close open connections for R CMD Check #' if (!inherits(plan(), "sequential")) plan(sequential) #' } future_map_if <- function(.x, .p, .f, ..., .else = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { sel <- probe(.x, .p) out <- purrr::list_along(.x) out[sel] <- future_map( .x = .x[sel], .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) if (is_null(.else)) { out[!sel] <- .x[!sel] } else { out[!sel] <- future_map( .x = .x[!sel], .f = .else, ..., .options = .options, .env_globals = .env_globals, .progress = FALSE ) } set_names(out, names(.x)) } #' @rdname future_map_if #' @export #' @inheritParams purrr::map_at future_map_at <- function(.x, .at, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { sel <- inv_which(.x, .at) out <- purrr::list_along(.x) out[sel] <- future_map( .x = .x[sel], .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) out[!sel] <- .x[!sel] set_names(out, names(.x)) } furrr/R/future-modify.R0000644000176200001440000003104313741124326014541 0ustar liggesusers#' Modify elements selectively via futures #' #' These functions work exactly the same as [purrr::modify()] functions, but #' allow you to modify in parallel. #' #' @inheritParams purrr::modify #' @inheritParams future_map #' #' @details #' From purrr: #' #' Since the transformation can alter the structure of the input; #' it's your responsibility to ensure that the transformation produces a valid #' output. For example, if you're modifying a data frame, `.f` must preserve the #' length of the input. #' #' @return An object the same class as `.x` #' #' @export #' @examples #' library(magrittr) #' \donttest{plan(multisession, workers = 2)} #' #' # Convert each col to character, in parallel #' future_modify(mtcars, as.character) #' #' iris %>% #' future_modify_if(is.factor, as.character) %>% #' str() #' #' mtcars %>% #' future_modify_at(c(1, 4, 5), as.character) %>% #' str() #' #' \dontshow{ #' # Close open connections for R CMD Check #' if (!inherits(plan(), "sequential")) plan(sequential) #' } future_modify <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { UseMethod("future_modify") } #' @export future_modify.default <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { result <- future_map( .x = .x, .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) for (i in seq_along(.x)) { .x[[i]] <- result[[i]] } .x } #' @export future_modify.character <- function (.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { result <- future_map_chr( .x = .x, .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) .x[] <- result .x } #' @export future_modify.double <- function (.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { result <- future_map_dbl( .x = .x, .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) .x[] <- result .x } #' @export future_modify.integer <- function (.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { result <- future_map_int( .x = .x, .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) .x[] <- result .x } #' @export future_modify.logical <- function (.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { result <- future_map_lgl( .x = .x, .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) .x[] <- result .x } #' @export future_modify.pairlist <- function (.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { result <- future_map( .x = .x, .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) as.pairlist(result) } # ------------------------------------------------------------------------------ #' @rdname future_modify #' @export future_modify_at <- function(.x, .at, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { UseMethod("future_modify_at") } #' @export future_modify_at.default <- function(.x, .at, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { where <- at_selection(names(.x), .at) sel <- inv_which(.x, where) future_modify_if( .x = .x, .p = sel, .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) } #' @export future_modify_at.integer <- function(.x, .at, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { where <- at_selection(names(.x), .at) sel <- inv_which(.x, where) .x[sel] <- future_map_int( .x = .x[sel], .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) .x } #' @export future_modify_at.double <- function(.x, .at, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { where <- at_selection(names(.x), .at) sel <- inv_which(.x, where) .x[sel] <- future_map_dbl( .x = .x[sel], .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) .x } #' @export future_modify_at.character <- function(.x, .at, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { where <- at_selection(names(.x), .at) sel <- inv_which(.x, where) .x[sel] <- future_map_chr( .x = .x[sel], .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) .x } #' @export future_modify_at.logical <- function(.x, .at, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { where <- at_selection(names(.x), .at) sel <- inv_which(.x, where) .x[sel] <- future_map_lgl( .x = .x[sel], .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) .x } # ------------------------------------------------------------------------------ #' @rdname future_modify #' @export future_modify_if <- function(.x, .p, .f, ..., .else = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { UseMethod("future_modify_if") } #' @export future_modify_if.default <- function(.x, .p, .f, ..., .else = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { sel <- probe(.x, .p) index <- seq_along(.x) result <- future_map( .x = .x[sel], .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) locs <- index[sel] for (i in seq_along(locs)) { loc <- locs[[i]] .x[[loc]] <- result[[i]] } if (!is_null(.else)) { result_else <- future_map( .x = .x[!sel], .f = .else, ..., .options = .options, .env_globals = .env_globals, .progress = FALSE ) locs_else <- index[!sel] for (i in seq_along(locs_else)) { loc <- locs_else[[i]] .x[[loc]] <- result_else[[i]] } } .x } #' @export future_modify_if.integer <- function(.x, .p, .f, ..., .else = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { future_modify_if_variant( .x = .x, .p = .p, .f = .f, ..., .else = .else, .options = .options, .env_globals = .env_globals, .progress = .progress, .future_map_variant = future_map_int ) } #' @export future_modify_if.double <- function(.x, .p, .f, ..., .else = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { future_modify_if_variant( .x = .x, .p = .p, .f = .f, ..., .else = .else, .options = .options, .env_globals = .env_globals, .progress = .progress, .future_map_variant = future_map_dbl ) } #' @export future_modify_if.character <- function(.x, .p, .f, ..., .else = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { future_modify_if_variant( .x = .x, .p = .p, .f = .f, ..., .else = .else, .options = .options, .env_globals = .env_globals, .progress = .progress, .future_map_variant = future_map_chr ) } #' @export future_modify_if.logical <- function(.x, .p, .f, ..., .else = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { future_modify_if_variant( .x = .x, .p = .p, .f = .f, ..., .else = .else, .options = .options, .env_globals = .env_globals, .progress = .progress, .future_map_variant = future_map_lgl ) } future_modify_if_variant <- function(.x, .p, .f, ..., .else, .options, .env_globals, .progress, .future_map_variant) { sel <- probe(.x, .p) result <- .future_map_variant( .x = .x[sel], .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) .x[sel] <- result if (!is_null(.else)) { not_sel <- !sel result <- .future_map_variant( .x = .x[not_sel], .f = .else, ..., .options = .options, .env_globals = .env_globals, .progress = FALSE ) .x[not_sel] <- result } .x } furrr/R/future-map2.R0000644000176200001440000001405713741124342014115 0ustar liggesusers#' Map over multiple inputs simultaneously via futures #' #' These functions work exactly the same as [purrr::map2()] and its variants, #' but allow you to map in parallel. Note that "parallel" as described in purrr #' is just saying that you are working with multiple inputs, and parallel in #' this case means that you can work on multiple inputs and process them all in #' parallel as well. #' #' @inheritParams purrr::map2 #' @inheritParams future_map #' #' @return An atomic vector, list, or data frame, depending on the suffix. #' Atomic vectors and lists will be named if `.x` or the first element of `.l` #' is named. #' #' If all input is length 0, the output will be length 0. If any input is #' length 1, it will be recycled to the length of the longest. #' #' @export #' @examples #' \donttest{plan(multisession, workers = 2)} #' #' x <- list(1, 10, 100) #' y <- list(1, 2, 3) #' z <- list(5, 50, 500) #' #' future_map2(x, y, ~ .x + .y) #' #' # Split into pieces, fit model to each piece, then predict #' by_cyl <- split(mtcars, mtcars$cyl) #' mods <- future_map(by_cyl, ~ lm(mpg ~ wt, data = .)) #' future_map2(mods, by_cyl, predict) #' #' future_pmap(list(x, y, z), sum) #' #' # Matching arguments by position #' future_pmap(list(x, y, z), function(a, b ,c) a / (b + c)) #' #' # Vectorizing a function over multiple arguments #' df <- data.frame( #' x = c("apple", "banana", "cherry"), #' pattern = c("p", "n", "h"), #' replacement = c("x", "f", "q"), #' stringsAsFactors = FALSE #' ) #' #' future_pmap(df, gsub) #' future_pmap_chr(df, gsub) #' #' \dontshow{ #' # Close open connections for R CMD Check #' if (!inherits(plan(), "sequential")) plan(sequential) #' } future_map2 <- function(.x, .y, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_map2_template( x = .x, y = .y, fn = .f, dots = list(...), options = .options, progress = .progress, type = "list", map_fn = purrr::map2, env_globals = .env_globals ) } #' @rdname future_map2 #' @export future_map2_chr <- function(.x, .y, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_map2_template( x = .x, y = .y, fn = .f, dots = list(...), options = .options, progress = .progress, type = "character", map_fn = purrr::map2_chr, env_globals = .env_globals ) } #' @rdname future_map2 #' @export future_map2_dbl <- function(.x, .y, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_map2_template( x = .x, y = .y, fn = .f, dots = list(...), options = .options, progress = .progress, type = "double", map_fn = purrr::map2_dbl, env_globals = .env_globals ) } #' @rdname future_map2 #' @export future_map2_int <- function(.x, .y, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_map2_template( x = .x, y = .y, fn = .f, dots = list(...), options = .options, progress = .progress, type = "integer", map_fn = purrr::map2_int, env_globals = .env_globals ) } #' @rdname future_map2 #' @export future_map2_lgl <- function(.x, .y, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_map2_template( x = .x, y = .y, fn = .f, dots = list(...), options = .options, progress = .progress, type = "logical", map_fn = purrr::map2_lgl, env_globals = .env_globals ) } #' @rdname future_map2 #' @export future_map2_raw <- function(.x, .y, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { furrr_map2_template( x = .x, y = .y, fn = .f, dots = list(...), options = .options, progress = .progress, type = "raw", map_fn = purrr::map2_raw, env_globals = .env_globals ) } #' @rdname future_map2 #' @export future_map2_dfr <- function(.x, .y, .f, ..., .id = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { if (!rlang::is_installed("dplyr")) { rlang::abort("`future_map2_dfr()` requires dplyr") } res <- future_map2( .x = .x, .y = .y, .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) dplyr::bind_rows(res, .id = .id) } #' @rdname future_map2 #' @export future_map2_dfc <- function(.x, .y, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { if (!rlang::is_installed("dplyr")) { rlang::abort("`future_map2_dfc()` requires dplyr") } res <- future_map2( .x = .x, .y = .y, .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) dplyr::bind_cols(res) } furrr/R/chunks.R0000644000176200001440000000636513715530753013254 0ustar liggesusersmake_chunks <- function(n_x, n_workers, scheduling = 1L, chunk_size = NULL) { if (is.null(chunk_size)) { n_chunks <- compute_n_chunks_from_scheduling(scheduling, n_x, n_workers) } else { n_chunks <- compute_n_chunks_from_chunk_size(chunk_size, n_x) } parallel::splitIndices(n_x, n_chunks) } compute_n_chunks_from_scheduling <- function(scheduling, n_x, n_workers) { if (is.logical(scheduling)) { compute_n_chunks_from_scheduling_logical(scheduling, n_x, n_workers) } else if (is.integer(scheduling)) { compute_n_chunks_from_scheduling_integer(scheduling, n_x, n_workers) } else if (identical(scheduling, Inf)) { n_x } } compute_n_chunks_from_scheduling_logical <- function(scheduling, n_x, n_workers) { # One future per element of `x` if (is_false(scheduling)) { return(n_x) } # One future per worker (if there are enough elements in `x`) if (n_workers > n_x) { n_x } else { n_workers } } # Treat: # N chunks / 1 workers = scheduling # So: # N chunks = (N chunks / 1 workers) * N workers compute_n_chunks_from_scheduling_integer <- function(scheduling, n_x, n_workers) { if (n_workers > n_x) { n_workers <- n_x } n_chunks <- scheduling * n_workers # Catch `scheduling == 0L` if (n_chunks < 1L) { n_chunks <- 1L } if (n_chunks > n_x) { n_chunks <- n_x } n_chunks } # From `future.apply:::makeChunks()`, with description of: # "Same definition as parallel:::staticNChunks() in R (>= 3.5.0)" compute_n_chunks_from_chunk_size <- function(chunk_size, n_x) { max(1L, ceiling(n_x / chunk_size)) } # ------------------------------------------------------------------------------ # Custom ordering can be used to process the elements of `x` in. It is # extracted from `scheduling` or `chunk_size` as the `"ordering"` attribute. make_order <- function(n_x, scheduling, chunk_size) { if (is.null(chunk_size)) { ordering <- attr(scheduling, "ordering", exact = TRUE) compute_order(ordering, n_x, "scheduling") } else { ordering <- attr(chunk_size, "ordering", exact = TRUE) compute_order(ordering, n_x, "chunk_size") } } compute_order <- function(ordering, n_x, arg) { if (is.null(ordering)) { return(NULL) } if (is.character(ordering) && identical(ordering, "random")) { order <- sample_n_with_reset(n_x) } else if (is.integer(ordering)) { order <- ordering } else if (is.double(ordering)) { order <- vctrs::vec_cast(ordering, integer(), x_arg = "ordering") } else if (is.function(ordering)) { order <- ordering(n_x) } else { abort(paste0( "Unknown type of `", arg, "` attribute, `ordering`. The attribute must ", "be a character string, an integer, or a function." )) } if (!is.integer(order)) { abort("Order computed from `ordering` attribute must be an integer.") } if (length(order) != n_x) { abort("Order computed from `ordering` must have length equal to `.x`.") } order } # Reset on exit to not modify randomness state sample_n_with_reset <- function(n) { oseed <- .GlobalEnv$.Random.seed on.exit({ if (is.null(oseed)) { rm(list = ".Random.seed", envir = .GlobalEnv, inherits = FALSE) } else { .GlobalEnv$.Random.seed <- oseed } }) sample.int(n = n, size = n, replace = FALSE) } furrr/R/future-imap.R0000644000176200001440000001023713741124250014176 0ustar liggesusers#' Apply a function to each element of a vector, and its index via futures #' #' These functions work exactly the same as [purrr::imap()] functions, #' but allow you to map in parallel. #' #' @inheritParams purrr::imap #' @inheritParams future_map #' #' @return #' A vector the same length as .x. #' #' @export #' @examples #' \donttest{plan(multisession, workers = 2)} #' #' future_imap_chr(sample(10), ~ paste0(.y, ": ", .x)) #' #' \dontshow{ #' # Close open connections for R CMD Check #' if (!inherits(plan(), "sequential")) plan(sequential) #' } future_imap <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { future_map2( .x = .x, .y = vec_index(.x), .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) } #' @rdname future_imap #' @export future_imap_chr <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { future_map2_chr( .x = .x, .y = vec_index(.x), .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) } #' @rdname future_imap #' @export future_imap_dbl <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { future_map2_dbl( .x = .x, .y = vec_index(.x), .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) } #' @rdname future_imap #' @export future_imap_int <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { future_map2_int( .x = .x, .y = vec_index(.x), .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) } #' @rdname future_imap #' @export future_imap_lgl <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { future_map2_lgl( .x = .x, .y = vec_index(.x), .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) } #' @rdname future_imap #' @export future_imap_raw <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { future_map2_raw( .x = .x, .y = vec_index(.x), .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) } #' @rdname future_imap #' @export future_imap_dfr <- function(.x, .f, ..., .id = NULL, .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { future_map2_dfr( .x = .x, .y = vec_index(.x), .f = .f, ..., .id = .id, .options = .options, .env_globals = .env_globals, .progress = .progress ) } #' @rdname future_imap #' @export future_imap_dfc <- function(.x, .f, ..., .options = furrr_options(), .env_globals = parent.frame(), .progress = FALSE) { future_map2_dfc( .x = .x, .y = vec_index(.x), .f = .f, ..., .options = .options, .env_globals = .env_globals, .progress = .progress ) } furrr/NEWS.md0000644000176200001440000001633714065400235012521 0ustar liggesusers# furrr 0.2.3 * Preemptively updated tests related to upcoming changes in testthat (#196). * Updated snapshot tests failing on CI related to changes in lifecycle 1.0.0 (#193). # furrr 0.2.2 * Updated a test to fix an issue with upcoming lifecycle 1.0.0. # furrr 0.2.1 * Updated documentation examples to explicitly set the seed on the workers when random numbers are generated (#175). * Removed an internal call to `future:::supportsMulticore()` since it is no longer internal (#174). # furrr 0.2.0 ## Breaking changes: * All furrr functions now enforce tidyverse recycling rules (for example, between `.x` and `.y` in `future_map2()`). Previously this was mostly the case, except with size zero input. Recycling between input of size 0 and input of size >1 no longer recycles to size 0, and is instead an error. purrr will begin to do this as well in the next major release (#134). * `future_options()` has been deprecated in favor of `furrr_options()`. Calling `future_options()` will still work, but will trigger a once per session warning and will eventually be removed. This change was made to free up this function name in case the future package ever wants to use it. * In a future version of furrr, the `.progress` argument will be deprecated and removed in favor of the [progressr](https://CRAN.R-project.org/package=progressr) package. The progress bar has not yet been removed in furrr 0.2.0, however I would encourage you to please start using progressr if possible. It uses a much more robust idea, and has been integrated with future in such a way that it can relay near real-time progress updates from sequential, multisession, and even cluster futures (meaning that remote connections can return live updates). Multicore support will come at some point as well. That said, be aware that it is a relatively new package and the API is still stabilizing. As more people use it, its place in the future ecosystem will become clearer, and tighter integration with furrr will likely be possible. ## Features / Fixes: * [New pkgdown article](https://furrr.futureverse.org/articles/articles/progress.html) on using furrr with [progressr](https://CRAN.R-project.org/package=progressr) for generating progress updates. * [New pkgdown article](https://furrr.futureverse.org/articles/articles/carrier.html) discussing an alternative strategy to automatic globals detection using the [carrier](https://CRAN.R-project.org/package=carrier) package. * [New pkgdown article](https://furrr.futureverse.org/articles/articles/chunking.html) discussing how furrr "chunks" input to send if off to workers. * [New pkgdown article](https://furrr.futureverse.org/articles/articles/gotchas.html) on common gotchas when using furrr. * [New pkgdown article](https://furrr.futureverse.org/articles/articles/remote-connections.html) detailing how to use furrr with remote AWS EC2 connections. * `future_walk()` and friends have been added to mirror `purrr::walk()`. * `furrr_options()` now has a variety of new arguments for fine tuning furrr. These are based on advancements made in both future and future.apply. The most important is `chunk_size`, which can be used as an alternative to `scheduling` to determine how to break up `.x` into chunks to send off to the workers. See `?furrr_options` for full details. * `future_pmap()` and its variants now propagate the names of the first element of `.l` onto the output (#116). * `future_pmap()` and its variants now work with empty `list()` input (#135). * `future_modify()`, `future_modify_if()` and `future_modify_at()` have been brought up to date with the changes in purrr 0.3.0 to their non-parallel equivalents. Specifically, they now wrap `[[<-` and return the same type as the input when the input is an atomic vector (#119). * `future_map_if()` and `future_modify_if()` gained the `.else` argument that was added to purrr's `map_if()` and `modify_if()` in purrr 0.3.0 (#132). * All `*_raw()` variants from purrr have been added, such as `future_map_raw()` (#122). * All furrr functions gained a new argument, `.env_globals`, which determines the environment in which globals for `.x` and `...` are looked up. It defaults to the caller environment, which is different than what was previously used, but should be more correct in some edge cases. Most of the time, you should not have to touch this argument. Additionally, globals for `.f` are now looked up in the function environment of `.f` (HenrikBengtsson/future.apply#62, #153). * The future specific global option `future.globals.maxSize` now scales with the number of elements of `.x` that get exported to each worker. This helps prevent some false positives about exporting objects that are too large, and is the same approach taken in future.apply (#113). * `.x` is now searched for globals. Only globals found in the slice of `.x` that corresponds to worker X are exported to worker X. This is relevant if `.x` is, say, a list of functions where each has their own set of globals (#16). * The progress bar furrr creates now outputs to stderr rather than stdout. * The progress bar is now only enabled for multisession, multicore, and multiprocess strategies. It has never worked for sequential futures or cluster futures using remote connections, but `.progress` is now forced to false in those cases. * `future_invoke_map()` and its variants have been marked as retired to match `purrr::invoke_map()`. * The internals of furrr have been overhauled to unify the implementations of `future_map()`, `future_map2()`, `future_pmap()` and all of their variants. This should make furrr much easier to maintain going forward (#44). * A MIT license is now used. ## Version requirements: * rlang >= 0.3.0 is now required to ensure that the rlang `~` is serializable. The hacks in furrr that tried to work around this have been removed (#123). * future >= 1.19.1 is now required to be able to use `future::value()` instead of the soon to be deprecated `future::values()` and to access a few bug fixes (#108). * purrr >= 0.3.0 is now required to gain access to various new features and breaking changes. For example, `map_if()` gained an `.else` argument, which has been added to `future_map_if()`. * globals >= 0.13.1 is now required because of substantial new speed boosts there related to searching for global variables, and to gain access to a few bug fixes. # furrr 0.1.0 Features: * `future_pmap_*()` functions have been added to mirror `pmap()`. * The `future.*` arguments to each function have been replaced with an overarching `.options` argument. Use `future_options()` to create a set of options suitable to be passed to `.options`. This change streamlines the interface greatly, and simplifies documentation (#8, @hadley). * `future_invoke_map_*()` functions have been added to mirror `invoke_map()`. * More documentation and examples have been added. * Added the ability to use a progress bar with `.progress = TRUE` for multicore, multiprocess, and multisession `plan()`s. Bug Fixes: * Fixed a bug with using `~` inside a `mutate()` + `map()` combination. * Added a missed `future_imap_int()`. # furrr 0.0.0 * Original GitHub release of `furrr` on 2018-04-13. furrr/MD50000644000176200001440000000624314065413512011730 0ustar liggesusers8548ebd5b48cbd679a9a5c4cf2eff148 *DESCRIPTION 0578b84ee28af684bb8cefb871d81d75 *LICENSE af1cc35451d58119cee6451da611608c *NAMESPACE 6fdc318b467658a1a736d421968e089d *NEWS.md db7431ba121e59feb1783bb83b7eca3c *R/chunks.R ab398051fe87eb5b81d7769a313ac9e3 *R/furrr-options.R d158cb32ac297e8987551dd456c1ec82 *R/furrr-package.R 381b66030ecc57f3ce3a437e66ccfd9e *R/future-imap.R 3f61120fecfc4eb04b70bb68f9220feb *R/future-invoke-map.R 3e95a80647105788cee913d2d7c28e37 *R/future-map.R c40f46a6981198f902b528cf7226431f *R/future-map2.R c7bc3822aaca9e79e267a00a88afde9b *R/future-modify.R 3a3ee84833668107b5b8bfd863ad0687 *R/future-pmap.R d1eeb1044bbb9ddd25a10c09cecbf818 *R/future-walk.R f539ec488e0497a60b203919ac7013a9 *R/globals.R 77097ed8b71a6675c14bde7391a17155 *R/progress.R cbccb16fb93680b9f3e9c01830d9d41c *R/recycle.R ba06f94cc7c1cede6cfb1ca14bb78627 *R/seed.R bb8af0092ce03da0ee73d1b306b63867 *R/template.R 52529f2d8582615eb9d1b8af25d43292 *R/utils-purrr.R 84a6dbf6e72710b9fe177506f13e8f5c *R/utils.R 7ac14e97d2ec331665bc779f7a677f48 *README.md cb1e46f469cfbbbde29c8b5113e1d789 *man/figures/lifecycle-archived.svg c0d2e5a54f1fa4ff02bf9533079dd1f7 *man/figures/lifecycle-defunct.svg a1b8c987c676c16af790f563f96cbb1f *man/figures/lifecycle-deprecated.svg c3978703d8f40f2679795335715e98f4 *man/figures/lifecycle-experimental.svg 952b59dc07b171b97d5d982924244f61 *man/figures/lifecycle-maturing.svg 27b879bf3677ea76e3991d56ab324081 *man/figures/lifecycle-questioning.svg 6902bbfaf963fbc4ed98b86bda80caa2 *man/figures/lifecycle-soft-deprecated.svg 53b3f893324260b737b3c46ed2a0e643 *man/figures/lifecycle-stable.svg 1c1fe7a759b86dc6dbcbe7797ab8246c *man/figures/lifecycle-superseded.svg 6025d38d38f4fc7dc788b4389471738e *man/figures/logo.png 17a23c52569a5725b504817ce798de19 *man/furrr-package.Rd 5f714cc21ed4d840519106528785c6d7 *man/furrr_options.Rd 96a5c62c806a9c572bd44c0e8f08a5aa *man/future_imap.Rd 4840335292595d5acae90f37eb210fa6 *man/future_invoke_map.Rd ded7c4f9d2c235f621319221b4127dd2 *man/future_map.Rd 953b987dbc81939af3d2ed7217b28f76 *man/future_map2.Rd f1a626b1cc35d737f252e6bda59bf455 *man/future_map_if.Rd 3ecca365d0d820cc6c8df81f345edb32 *man/future_modify.Rd 87ba7955da0c51a936a0cd4ba716a885 *man/future_options.Rd 975564c058a476dbdbc9e79e7ffd1257 *tests/testthat.R 4467ba1bb20d2ac87bd72eac2b744e11 *tests/testthat/_snaps/deprecation.md ab727c7974a2a6795e576dc48341e8f5 *tests/testthat/helper-eval.R 63ceb6001142c5e765ae69bedd29777a *tests/testthat/helper-furrr-test-that.R 2d2661ef9917e33d078219f504074ab3 *tests/testthat/test-chunks.R 648b86bf92eeba15036ec54603af41bd *tests/testthat/test-deprecation.R 76c8457dc5bc41cbcc806208efe36afc *tests/testthat/test-furrr-options.R 872253a9fe44edaf6c17fbd0b25d3e1c *tests/testthat/test-future-imap.R e4ef961b14b7faebd6a203e9b557dc16 *tests/testthat/test-future-invoke-map.R a3ed5b840f4cf618919568779b7f12d9 *tests/testthat/test-future-map.R c22a0f0c713ba5f21020ddd44c68116e *tests/testthat/test-future-map2.R a7ca02e18e16e0acd18376235d706c8d *tests/testthat/test-future-modify.R c38ae705acb14e89f3f1c57e78c9ca88 *tests/testthat/test-future-pmap.R e76010d4b418634a6ae6d3461bc8f83b *tests/testthat/test-future-walk.R b0625b4569abd657c9b90d3160cdc519 *tests/testthat/test-seed.R