reprex/0000755000176200001440000000000014642245611011564 5ustar liggesusersreprex/tests/0000755000176200001440000000000014310727461012726 5ustar liggesusersreprex/tests/testthat/0000755000176200001440000000000014642245611014566 5ustar liggesusersreprex/tests/testthat/test-reprex-options.R0000644000176200001440000000262614642060466020675 0ustar liggesuserstest_that("reprex.current_venue is set", { skip_on_cran() input <- "getOption('reprex.current_venue')" ret <- reprex(input = paste0(input, "\n")) expect_match(ret, "gh", all = FALSE) ret <- reprex(input = paste0(input, "\n"), venue = "html") expect_match(ret, "html", all = FALSE) }) test_that("`session_info` can be set via option", { skip_on_cran() withr::with_options( list(reprex.session_info = TRUE), out <- reprex(1, render = FALSE) ) expect_match(out, "session_*[iI]nfo", all = FALSE) }) test_that("`advertise` can be set via option", { skip_on_cran() withr::with_options( list(reprex.advertise = FALSE), out <- reprex(1, render = FALSE) ) expect_no_match(out, "#+ reprex-ad", fixed = TRUE) }) test_that("`comment` can be set via option", { skip_on_cran() withr::with_options( list(reprex.comment = "#? "), out <- reprex(rnorm(1)) ) expect_match(out, "^#\\?", all = FALSE) }) test_that("`tidyverse_quiet` can be set via option", { skip_on_cran() withr::with_options( list(reprex.tidyverse_quiet = FALSE), out <- reprex(mean(1:3), render = FALSE) ) expect_match(out, "tidyverse_quiet: FALSE", fixed = TRUE, all = FALSE) }) test_that("`std_out_err` can be set via option", { skip_on_cran() withr::with_options( list(reprex.std_out_err = TRUE), out <- reprex(1, render = FALSE) ) expect_match(out, "std_out_err", all = FALSE) }) reprex/tests/testthat/test-utils.R0000644000176200001440000000142714547635572017047 0ustar liggesuserstest_that("locate_input() works", { with_mocked_bindings( reprex_clipboard = function() TRUE, expect_identical("clipboard", locate_input(NULL)) ) with_mocked_bindings( reprex_clipboard = function() FALSE, in_rstudio = function() TRUE, expect_identical("selection", locate_input(NULL)) ) with_mocked_bindings( reprex_clipboard = function() FALSE, in_rstudio = function() FALSE, expect_null(locate_input(NULL)) ) expect_identical("path", locate_input(path_temp())) expect_identical("input", locate_input(c("a", "b"))) expect_identical("input", locate_input("a\n")) }) test_that("nope() defaults to 'yes' if user not available", { expect_false(nope()) }) test_that("yep() defaults to 'no' if user not available", { expect_false(yep()) }) reprex/tests/testthat/test-reprex_document.R0000644000176200001440000000056714547635572021116 0ustar liggesuserstest_that("upload.fun responds to venue", { x <- reprex_document(venue = "gh") expect_identical(x$knitr$opts_knit$upload.fun, knitr::imgur_upload) x <- reprex_document(venue = "r") expect_identical(x$knitr$opts_knit$upload.fun, identity) }) test_that("ad responds to venue", { expect_snapshot(ad("gh")) expect_snapshot(ad("slack")) expect_snapshot(ad("r")) }) reprex/tests/testthat/test-stdout-stderr.R0000644000176200001440000000124514642060466020516 0ustar liggesuserstest_that("stdout is captured", { skip_on_cran() out <- reprex(system2("echo", args = "blah"), std_out_err = TRUE) expect_match(out, "Standard output and standard error", all = FALSE) expect_match(out, "^blah$", all = FALSE) }) test_that("stdout placeholder appears if nothing is captured", { skip_on_cran() out <- reprex(1:4, std_out_err = TRUE) expect_match(out, "Standard output and standard error", all = FALSE) expect_match(out, "nothing to show", all = FALSE) }) test_that("stdout placeholder is absent if explicitly excluded", { skip_on_cran() out <- reprex(1:4, std_out_err = FALSE) expect_no_match(out, "standard output and standard error") }) reprex/tests/testthat/test-reprex-undo.R0000644000176200001440000000635714547635572020166 0ustar liggesusers## intentionally forcing continuation lines input <- c( "## a comment", "x <- 1:4", "#' hi", "y <- c(2,", " 3, 4,", " 5)", "x + y" ) test_that("round trip, venue = 'gh': reprex() --> reprex_invert()", { skip_on_cran() output <- reprex(input = input, advertise = FALSE) res <- reprex_invert(output) expect_identical(input, res[nzchar(res)]) }) test_that("round trip, venue = 'r': reprex() --> reprex_invert()", { skip_on_cran() output <- reprex(input = input, advertise = FALSE, venue = "r") res <- reprex_clean(output) expect_identical(input, res[nzchar(res)]) }) test_that("reprex_rescue() rescues code from R Console copy/paste", { skip_on_cran() console <- c( "> ## a regular comment, which is retained", "> (y <- c(2,", "+ 3, 4,", "+ 5))", "[1] 2 3 4 5", "> median(y)", "[1] 3.5" ) output <- c( "## a regular comment, which is retained", "(y <- c(2,", " 3, 4,", " 5))", "median(y)" ) expect_identical(reprex_rescue(console), output) }) test_that("reprex_rescue()'s prompt argument works", { skip_on_cran() code <- c( ":-) ## a regular comment, which is retained", ":-) (x <- 1:4)", "[1] 1 2 3 4", ":-) median(x)", "[1] 2.5" ) output <- c( "## a regular comment, which is retained", "(x <- 1:4)", "median(x)" ) expect_identical(reprex_rescue(code, prompt = ":-) "), output) }) test_that("reprex_rescue()'s continue argument works", { skip_on_cran() code <- c( "> ## a regular comment, which is retained", "> (y <- c(2,", "yes, and? 3, 4,", "yes, and? 5))", "[1] 2 3 4 5", "> median(y)", "[1] 3.5" ) output <- c( "## a regular comment, which is retained", "(y <- c(2,", " 3, 4,", " 5))", "median(y)" ) expect_identical(reprex_rescue(code, continue = "yes, and? "), output) }) test_that("reprex_rescue() can cope with leading whitespace", { skip_on_cran() console <- c( "> ## a regular comment, which is retained", " > (x <- 1:4)", " [1] 1 2 3 4", " > median(x)", "2.5" ) output <- c( "## a regular comment, which is retained", "(x <- 1:4)", "median(x)" ) expect_identical(reprex_rescue(console), output) }) test_that("reprex_invert() can write to specific outfile", { skip_on_cran() local_temp_wd() write_lines(c("x <- 1:3", "median(x)"), "foo.R") reprex(input = "foo.R", advertise = FALSE) out <- reprex_invert(input = "foo_reprex.md") expect_identical(read_lines("foo_reprex_clean.R"), out) }) test_that("reprex_invert() can name its own outfile", { skip_on_cran() local_temp_wd() code <- c("x <- 1:3", "median(x)") invert_me <- reprex(input = code, advertise = FALSE) out <- reprex_invert(input = invert_me, wd = ".") r_file <- dir_ls(regexp = "_clean[.]R$") expect_identical(read_lines(r_file), out) }) test_that("reprex_invert(venue = 'gh') doesn't strip leading ws", { skip_on_cran() local_temp_wd() src <- c("head(", " letters)") write_lines(src, "whitespace.R") invert_me <- reprex(input = "whitespace.R", venue = "gh", advertise = FALSE) inverted <- reprex_invert(input = "whitespace_reprex.md", venue = "gh") expect_equal(inverted, src) }) reprex/tests/testthat/test-utf8.R0000644000176200001440000000151114642060466016555 0ustar liggesuserstest_that("UTF-8 encoding, string input", { skip_on_cran() in_utf8 <- c( # a-grave e-diaeresis Eth "x <- c('\u00C0', '\u00CB', '\u00D0')", "print(x)" ) out_utf8 <- reprex(input = in_utf8) expect_in(Encoding(out_utf8), c("unknown", "UTF-8")) line_in <- grep("^x <-", in_utf8, value = TRUE) line_out <- grep("^x <-", out_utf8, value = TRUE) expect_identical(charToRaw(line_in), charToRaw(line_out)) line_out <- grep("^#> \\[1\\]", out_utf8, value = TRUE) expect_match(line_out, "[\u00C0]") expect_match(line_out, "[\u00CB]") expect_match(line_out, "[\u00D0]") in_latin1 <- iconv(in_utf8, from = "UTF-8", to = "latin1") out_latin1 <- reprex(input = in_latin1) expect_identical( charToRaw(paste0(out_utf8, collapse = "\n")), charToRaw(paste0(out_latin1, collapse = "\n")) ) }) reprex/tests/testthat/fixtures/0000755000176200001440000000000014102672630016433 5ustar liggesusersreprex/tests/testthat/fixtures/a-reprex-document.Rmd0000644000176200001440000000056514102672630022444 0ustar liggesusers--- output: reprex::reprex_document: venue: "gh" advertise: TRUE session_info: TRUE std_out_err: TRUE knit: reprex::reprex_render --- Used in a test to make sure we don't add the reprex advertisement and stubs for session info and standard output/error to a source `.Rmd` document. Potentially over and over again. ```{r} x <- rnorm(10) quantile(x) ``` reprex/tests/testthat/test-knitr-options.R0000644000176200001440000000335414642060466020516 0ustar liggesuserstest_that("`comment` works", { skip_on_cran() out <- reprex(1, comment = "#?#") expect_match(out, "#?#", all = FALSE, fixed = TRUE) }) test_that("reprex() suppresses tidyverse startup message by default", { skip_on_cran() skip_if_not_installed("tidyverse", minimum_version = "1.2.1") ret <- reprex(input = sprintf("library(%s)\n", "tidyverse")) expect_no_match(ret, "Attaching") }) test_that("`tidyverse_quiet` works", { skip_on_cran() skip_if_not_installed("tidyverse", minimum_version = "1.2.1") ret <- reprex( input = "library(tidyverse)\n", tidyverse_quiet = TRUE ) expect_no_match(ret, "Attaching") ret <- reprex( input = "library(tidyverse)\n", tidyverse_quiet = FALSE ) expect_match(ret, "Attaching", all = FALSE) }) test_that("`tidyverse_quiet` works for tidymodels", { skip_on_cran() skip_if_not_installed("tidymodels") ret <- reprex( input = "library(tidymodels)\n", tidyverse_quiet = TRUE ) expect_no_match(ret, "Attaching") ret <- reprex( input = "library(tidymodels)\n", tidyverse_quiet = FALSE ) expect_match(ret, "Attaching", all = FALSE) }) test_that("`style` works", { skip_on_cran() skip_if_not_installed("styler") ret <- reprex(input = c("a<-function( x){", "1+1} "), style = TRUE) i <- grep("^a", ret) expect_identical( ret[i + 0:2], c("a <- function(x) {", " 1 + 1", "}") ) }) test_that("bang bang bang is not mangled with parentheses", { skip_on_cran() skip_if_not_installed("styler") input <- c( 'nameshift <- c(SL = "Sepal.Length")', "head(dplyr::rename(iris[, 1:2], !!!nameshift), 3)" ) ret <- reprex(input = input, style = TRUE) ret <- grep("dplyr::rename", ret, value = TRUE) expect_match(ret, "!!!") }) reprex/tests/testthat/test-session-info.R0000644000176200001440000000125114642060466020304 0ustar liggesuserstest_that("session info is omitted / included", { skip_on_cran() if (rlang::is_installed("sessioninfo")) { regex <- "^sessioninfo::session_info" } else { regex <- "^sessionInfo" } input <- c("(y <- 1:4)", "mean(y)") ret <- reprex(input = input) expect_no_match(ret, regex) ret <- reprex(input = input, session_info = TRUE) expect_match(ret, regex, all = FALSE) }) test_that("session info is folded for `venue = 'gh'`", { skip_on_cran() input <- c("(y <- 1:4)", "mean(y)") ret <- reprex(input = input, session_info = TRUE, venue = "gh") expect_match(ret, "", all = FALSE) expect_match(ret, "", fixed = TRUE, all = FALSE) }) reprex/tests/testthat/test-reprex_render.R0000644000176200001440000000401414547635572020546 0ustar liggesusers# https://github.com/tidyverse/reprex/issues/349 test_that("reprex additions are added to a *copy* of an Rmd input file", { skip_on_cran() fixture_path <- path_abs(test_path("fixtures/a-reprex-document.Rmd")) local_temp_wd() file_copy(fixture_path, "foo.Rmd") n_before <- read_lines("foo.Rmd") reprex_render("foo.Rmd") n_after <- read_lines("foo.Rmd") expect_equal(n_before, n_after) }) test_that("remove_info_strings() gets rid of 'info strings'", { f <- function(x) strsplit(glue::glue(x), split = "\n")[[1]] # examples from https://spec.commonmark.org/0.29/#info-string x <- f(" ``` < > ```") expect_equal(x, remove_info_strings(x)) x <- f(" ```ruby def foo(x) return 3 end ```") expect_equal(sub("ruby", "", x), remove_info_strings(x)) x <- f(" ``` ruby startline=3 $%@#$ def foo(x) return 3 end ```") expect_equal(c("```", tail(x, -1)), remove_info_strings(x)) }) test_that("preview() works with the 'Knit' button", { skip_on_cran() local_temp_wd() write_lines("3 * 5\n", "foo.R") reprex(input = "foo.R") withr::local_envvar(c(RMARKDOWN_PREVIEW_DIR = ".")) rlang::local_interactive(FALSE) msg <- capture.output( preview_file <- preview("foo_reprex.md"), type = "message" ) expect_true(file_exists("foo_reprex_preview.html")) expect_equal(path_file(preview_file), "foo_reprex_preview.html") expect_messages_to_include( msg, c("^Preview created:", "foo_reprex_preview.html$") ) }) test_that("preview() calls viewer() in the interactive RStudio scenario", { skip_on_cran() local_temp_wd() write_lines("10 / 5\n", "foo.R") reprex(input = "foo.R") rlang::local_interactive(TRUE) local_options(viewer = function(...) cat("viewer!", file = stderr())) msg <- capture.output( preview_file <- preview("foo_reprex.md"), type = "message" ) expect_true(file_exists(preview_file)) expect_equal(path_file(preview_file), "foo_reprex_preview.html") expect_messages_to_include(msg, "viewer!") }) reprex/tests/testthat/helper.R0000644000176200001440000000327514642066413016200 0ustar liggesusers# Work around some bug in R.cache and/or styler that affects CI ---- # 2024-01: Since this went in, I have seen yet another CI failure due to what I # assume is this directory not existing, presumably because some code in styler # deleted it, after we created it here. # The problem seemed to go away upon further investigation, so it seems # somewhat stochastic. # See https://github.com/tidyverse/reprex/pull/455. # If we have to debug this again, these are some thoughts: # * When we forcibly create the directory, also put a file in it. That might # keep styler from deleting it. # * Figure out how to deactivate all styler caching for reprex, at least on CI. # Seems to require `options(styler.cache_name = NULL)`. if (getRversion() >= "4.0.0" && identical(Sys.getenv("CI"), "true")) { dir.create( tools::R_user_dir("R.cache", which = "cache"), recursive = TRUE, showWarnings = FALSE ) } expect_messages_to_include <- function(haystack, needles) { lapply( needles, function(x) expect_match(haystack, x, all = FALSE) ) invisible() } # 1. creates a subdirectory within session temp # 2. makes that the current working directory # 3. schedules these cleanup actions for when env goes out of scope: # - restore original working directory # - delete the directory local_temp_wd <- function(pattern = "reprextests", env = parent.frame()) { old_wd <- getwd() tmp <- withr::local_tempdir(pattern = pattern, .local_envir = env) withr::local_dir(tmp, .local_envir = env) reprex_path("Switching to temporary working directory:", tmp) withr::defer( reprex_path("Restoring original working directory:", old_wd), envir = env ) invisible(tmp) } reprex/tests/testthat/test-reprex-addin.R0000644000176200001440000000015714547635572020270 0ustar liggesuserstest_that("rstudio_text_tidy() can handle 'no input'", { expect_equal(rstudio_text_tidy(""), character()) }) reprex/tests/testthat/test-rprofile.R0000644000176200001440000000212414642060466017512 0ustar liggesuserstest_that(".Rprofile local to reprex target directory is consulted & messaged", { local_temp_wd("reprextests-aaa-") cat("x <- 'aaa'\n", file = ".Rprofile") cat("x\n", file = "foo.R") aaa_foo <- path_abs("foo.R") local_temp_wd("reprextests-bbb-") cat("x <- 'bbb'\n", file = ".Rprofile") local_reprex_loud() msg <- capture_messages( out <- reprex(x, wd = ".", advertise = FALSE) ) expect_match(out, "bbb", all = FALSE) expect_messages_to_include( msg, c("Local '[.]Rprofile' detected", "bbb") ) msg <- capture_messages( out <- reprex(input = aaa_foo, wd = ".", advertise = FALSE) ) expect_match(out, "aaa", all = FALSE) expect_messages_to_include( msg, c("Local '[.]Rprofile' detected", "aaa") ) }) test_that("local .Rprofile reporting responds to venue", { expect_snapshot(rprofile_alert("gh")) expect_snapshot(rprofile_alert("r")) }) test_that("local .Rprofile not reported when it's not there", { local_reprex_loud() msg <- capture_messages( reprex(1 + 1, advertise = FALSE) ) expect_no_match(msg, ".Rprofile", fixed = TRUE) }) reprex/tests/testthat/test-stringify_expression.R0000644000176200001440000000550414547635572022204 0ustar liggesuserstest_that("simple statements are stringified", { expect_identical(stringify_expression(1:5), "1:5") expect_identical(stringify_expression({1:5}), "1:5") expect_identical(stringify_expression(quote(mean(x))), "mean(x)") }) ## it is very difficult to create quoted multi-line expressions in tests ## that mimic what a user can create interactively re: the srcrefs ## therefore, I executed this interactively to create expressions.rds if (FALSE) { e <- new.env() e$e01 <- quote({ 1:5 }) e$e02 <- quote({1:5 }) e$e03 <- quote({ 1:5}) e$e04 <- quote({1:3;4:6}) e$e05 <- quote({ #' Leading comment x <- rnorm(3) #' Embedded comment mean(x) #' Trailing comment }) e$e06 <- quote({mean(1:4) # comment }) e$e07 <- quote({ #' Leading comment y <- 1:4 # comment #' Trailing comment } ) e$e08 <- quote({ x <- 1:2 {x + 3:4} %>% sum() }) saveRDS( e, rprojroot::find_testthat_root_file("expressions.rds"), version = 2 ) } e <- readRDS(rprojroot::find_testthat_root_file("expressions.rds")) test_that("one statement, brackets, multiple lines, take 1", { # quote({ # 1:5 # }) expect_identical( stringify_expression(e$e01), "1:5" ) }) test_that("one statement, brackets, multiple lines, take 2", { # expr <- quote({1:5 # }) expect_identical( stringify_expression(e$e02), "1:5" ) }) test_that("one statement, brackets, multiple lines, take 3", { # expr <- quote({ # 1:5}) expect_identical( stringify_expression(e$e03), "1:5" ) }) test_that("multiple statements, brackets, semicolon", { # quote({1:3;4:6}) expect_identical( stringify_expression(e$e04), "1:3;4:6" ) }) test_that("leading, embedded, trailing comment, #89", { # expr <- quote({ # #' Leading comment # x <- rnorm(3) # #' Embedded comment # mean(x) # #' Trailing comment # }) out <- c( "#' Leading comment", "x <- rnorm(3)", "#' Embedded comment", "mean(x)", "#' Trailing comment" ) expect_identical( stringify_expression(e$e05), out ) }) test_that("trailing inline comment, #91", { # expr <- quote({mean(1:4) # comment # }) out <- "mean(1:4) # comment" expect_identical( stringify_expression(e$e06), out ) }) test_that("trailing inline comment AND trailing comment line", { # expr <- quote({ # #' Leading comment # y <- 1:4 # comment # #' Trailing comment # } out <- c( "#' Leading comment", "y <- 1:4 # comment", "#' Trailing comment" ) expect_identical( stringify_expression(e$e07), out ) }) test_that("leading bracket that should not be removed", { # e$e08 <- quote({ # x <- 1:2 # {x + 3:4} %>% sum() # }) out <- c( "x <- 1:2", "{x + 3:4} %>% sum()" ) expect_identical( stringify_expression(e$e08), out ) }) reprex/tests/testthat/test-outfiles.R0000644000176200001440000000552714642060466017534 0ustar liggesuserstest_that("expected outfiles are written and messaged, venue = 'gh'", { skip_on_cran() local_temp_wd() local_reprex_loud() msg <- trimws(capture_messages( ret <- reprex(1:5, wd = ".") )) outfiles <- dir_ls() expect_setequal( gsub("[a-z-]+(_reprex.+)", "\\1", outfiles), c("_reprex.R", "_reprex.md") ) r_file <- grep("_reprex[.]R", outfiles, value = TRUE) expect_match(read_lines(r_file), "1:5", all = FALSE) md_file <- grep("_reprex[.]md", outfiles, value = TRUE) expect_equal(ret, read_lines(md_file)) expect_messages_to_include( msg, c("Preparing reprex as .*.R.* file", "Writing reprex file", outfiles) ) }) test_that("expected outfiles are written and messaged, venue = 'R'", { skip_on_cran() local_temp_wd() local_reprex_loud() msg <- trimws(capture_messages( ret <- reprex(1:5, wd = ".", venue = "R") )) outfiles <- dir_ls() expect_setequal( gsub("[a-z-]+(_reprex.+)", "\\1", outfiles), c("_reprex.R", "_reprex.md", "_reprex_r.R") ) rout_file <- grep("_reprex_r[.]R", outfiles, value = TRUE) expect_equal(ret, read_lines(rout_file)) expect_messages_to_include( msg, c("Preparing reprex as .*R.* file", "Writing reprex file", rout_file) ) }) test_that("expected outfiles are written and messaged, venue = 'html'", { skip_on_cran() local_temp_wd() local_reprex_loud() msg <- trimws(capture_messages( ret <- reprex(1:5, wd = ".", venue = "html") )) outfiles <- dir_ls() # punting on the issue of the `utf8.md` file and folder of files expect_contains( gsub("[a-z-]+(_reprex.+)", "\\1", outfiles), c("_reprex.R", "_reprex.md", "_reprex.html") ) html_file <- grep("_reprex[.]html", outfiles, value = TRUE) expect_equal(ret, read_lines(html_file)) expect_messages_to_include( msg, c("Preparing reprex as .*R.* file", "Writing reprex file", html_file) ) }) test_that(".R outfile doesn't clobber .R infile", { skip_on_cran() local_temp_wd() write_lines("1:5", "foo.R") ret <- reprex(input = "foo.R") expect_identical("1:5", read_lines("foo.R")) }) test_that("infile can have path components", { skip_on_cran() local_temp_wd() local_reprex_loud() dir_create("aaa") write_lines("1:5", "aaa/bbb.R") msg <- capture_messages( ret <- reprex(input = "aaa/bbb.R") ) expect_messages_to_include( msg, c( "Preparing reprex as .*.R.* file", "aaa/bbb_reprex.R", "Writing reprex file", "aaa/bbb_reprex.md" ) ) }) test_that("pre-existing xyz_reprex.R doesn't get clobbered w/o user's OK", { skip_on_cran() local_temp_wd() write_lines("5:1", "xyz.R") ret <- reprex(input = "xyz.R") expect_match(read_lines("xyz_reprex.md"), "5:1", all = FALSE, fixed = TRUE) write_lines("max(4:6)", "xyz.R") reprex(input = "xyz.R") expect_match(read_lines("xyz_reprex.md"), "5:1", all = FALSE, fixed = TRUE) }) reprex/tests/testthat/test-reprex_impl.R0000644000176200001440000000132714547635572020234 0ustar liggesusers# https://github.com/tidyverse/reprex/issues/363 # ironically, reprex.advertise = FALSE + reprex(advertise = FALSE) # resulted in reprex(advertise = TRUE) behaviour test_that("reprex.advertise default detection isn't affected by the option", { full_list <- list(advertise = FALSE, venue = "gh", session_info = FALSE) non_default <- list(advertise = FALSE) withr::with_options( list(reprex.advertise = TRUE), expect_equal(remove_defaults(full_list), non_default) ) withr::with_options( list(reprex.advertise = FALSE), expect_equal(remove_defaults(full_list), non_default) ) withr::with_options( list(reprex.advertise = NULL), expect_equal(remove_defaults(full_list), non_default) ) }) reprex/tests/testthat/test-pandoc.R0000644000176200001440000000030014547635572017140 0ustar liggesuserstest_that("pandoc does not add hard linebreak in the ad", { skip_on_cran() out <- reprex(input = "1:3\n", venue = "gh", advertise = TRUE) expect_match(out[length(out)], "Created on") }) reprex/tests/testthat/test-utils-io.R0000644000176200001440000000567614547635572017466 0ustar liggesuserstest_that("retrofit_files() works", { local_reprex_loud() withr::local_options(lifecycle_verbosity = "warning") # when `outfile` is not specified, there's nothing to do expect_equal( retrofit_files(infile = NULL, wd = NULL), list(infile = NULL, wd = NULL) ) expect_equal( retrofit_files(infile = "foo.R", wd = "whatever"), list(infile = "foo.R", wd = "whatever") ) # `wd` takes precedence over `outfile` and we say something expect_snapshot_warning( x <- retrofit_files(wd = "this", outfile = "that") ) expect_equal(x, list(infile = NULL, wd = "this")) # `outfile = NA` morphs into `wd = "."`, if no `infile` expect_snapshot_warning( x <- retrofit_files(outfile = NA) ) expect_equal(x, list(infile = NULL, wd = ".")) # only `wd` is salvaged from `outfile = some/path/blah` and we mention `input` expect_snapshot_warning( x <- retrofit_files(outfile = "some/path/blah") ) expect_equal(x, list(infile = NULL, wd = "some/path")) # `infile` takes over much of `outfile`'s previous role expect_snapshot_warning( x <- retrofit_files(infile = "a/path/foo.R", outfile = NA) ) expect_equal(x, list(infile = "a/path/foo.R", wd = NULL)) expect_snapshot_warning( x <- retrofit_files(infile = "a/path/foo.R", outfile = "other/path/blah") ) expect_equal(x, list(infile = "a/path/foo.R", wd = NULL)) }) # root cause of # https://github.com/tidyverse/reprex/issues/379 test_that("we don't add a suffix more than once", { x <- "blah_r.R" expect_equal(x, add_suffix(x, suffix = "r")) }) test_that("make_filebase() works with no input", { x <- make_filebase(infile = NULL, wd = NULL) filebase_base <- path_file(x) # adjective-animal expect_match(filebase_base, "^[a-z]+[-][a-z]+$") filebase_parent <- path_file(path_dir(x)) # reprex-[hexademical from tempfile()]-adjective-animal expect_match(filebase_parent, "^reprex-[[:xdigit:]]+[-][a-z]+[-][a-z]+$") temp <- path_real(path_temp()) expect_identical(path_common(c(x, temp)), temp) }) test_that("make_filebase(wd = '.') works", { x <- make_filebase(infile = NULL, wd = ".") expect_equal(path_dir(x), ".") # adjective-animal expect_match(x, "^[a-z]+[-][a-z]+$") }) test_that("make_filebase(wd = 'blah') works", { wd <- path_temp("xyz") x <- make_filebase(infile = NULL, wd = wd) expect_equal(path_file(path_dir(x)), "xyz") # adjective-animal expect_match(path_file(x), "^[a-z]+[-][a-z]+$") }) test_that("make_filebase(infile = 'blah') works", { # relative path expect_equal(make_filebase(infile = "foo.R"), "foo") expect_equal(make_filebase(infile = "blah/foo.R"), "blah/foo") # `wd` should be ignored expect_equal(make_filebase(infile = "foo.R", wd = "wut"), "foo") expect_equal(make_filebase(infile = "blah/foo.R", wd = "wut"), "blah/foo") # absolute path infile <- path_temp("abcde.R") x <- make_filebase(infile = infile) expect_equal(path_file(x), "abcde") expect_equal(path_dir(x), path_dir(infile)) }) reprex/tests/testthat/test-input.R0000644000176200001440000000543714547635572017053 0ustar liggesusers# test_that("reprex: clipboard input works") # This test was removed: # * Feels like I'm just testing clipr, which seems silly. # * Because clipr and reprex have erected so many safeguards against # clipboard access in a noninteractive session, for CRAN reasons, this test # requires a great deal of gymnastics to bypass all of that. # * Normal usage will absolutely and immediately reveal clipboard problems. test_that("reprex: expression input works", { expect_snapshot(cli::cat_line( reprex({x <- 1:5; mean(x)}, render = FALSE) )) }) ## https://github.com/tidyverse/reprex/issues/241 test_that("reprex: expression input preserves `!!`", { res <- reprex( {f <- function(c6d573e) rlang::qq_show(how_many(!!rlang::enquo(c6d573e)))}, render = FALSE ) expect_match(res, "!!rlang::enquo(c6d573e)", all = FALSE, fixed = TRUE) }) test_that("reprex: character input works", { expect_snapshot(cli::cat_line( reprex(input = c("x <- 5:1", "mean(x)"), render = FALSE) )) }) test_that("reprex: file input works", { local_temp_wd() write_lines(c("x <- 6:10", "mean(x)"), "foo.R") expect_snapshot(cli::cat_line( reprex(input = "foo.R", render = FALSE) )) }) test_that("reprex: file input in a subdirectory works", { local_temp_wd() dir_create("foo") write_lines(c("x <- 11:15", "mean(x)"), path("foo", "foo.R")) expect_snapshot(cli::cat_line( reprex(input = path("foo", "foo.R"), render = FALSE) )) }) test_that("Circular use is detected before source file written", { skip_on_cran() ret <- reprex(exp(1), venue = "gh") expect_snapshot(error = TRUE, reprex(input = ret, render = FALSE)) ret <- reprex(exp(1), venue = "r") expect_snapshot(error = TRUE, reprex(input = ret, render = FALSE)) ret <- reprex(exp(1), venue = "html") expect_snapshot(error = TRUE, reprex(input = ret, render = FALSE)) }) test_that("Leading prompts are removed", { skip_on_cran() input <- c("x <- 1:3", "median(x)") res <- reprex(input = input, render = FALSE) input2 <- paste0(getOption("prompt"), input) local_reprex_loud() expect_snapshot( res2 <- reprex(input = input2, render = FALSE) ) expect_identical(res, res2) }) test_that("newlines in code are protected and uniformly so across venues", { # NOTE: use of single vs double quotes is counter-intuitive, but deliberate input <- 'paste(letters[1:3], collapse = "\n")\n' chr_input <- reprex(input = input, render = FALSE) input_file <- path_temp("foo.R") withr::local_file(input_file) write_lines( escape_newlines('paste(letters[1:3], collapse = "\n")'), input_file ) path_input <- reprex(input = input_file, render = FALSE) expr_input <- reprex(paste(letters[1:3], collapse = "\n"), render = FALSE) expect_identical(chr_input, path_input) expect_identical(chr_input, expr_input) }) reprex/tests/testthat/_snaps/0000755000176200001440000000000014642076710016053 5ustar liggesusersreprex/tests/testthat/_snaps/input.md0000644000176200001440000000274014642076172017541 0ustar liggesusers# reprex: expression input works Code cli::cat_line(reprex({ x <- 1:5 mean(x) }, render = FALSE)) Output #' --- #' output: reprex::reprex_document #' --- x <- 1:5 mean(x) # reprex: character input works Code cli::cat_line(reprex(input = c("x <- 5:1", "mean(x)"), render = FALSE)) Output #' --- #' output: reprex::reprex_document #' --- x <- 5:1 mean(x) # reprex: file input works Code cli::cat_line(reprex(input = "foo.R", render = FALSE)) Output #' --- #' output: reprex::reprex_document #' --- x <- 6:10 mean(x) # reprex: file input in a subdirectory works Code cli::cat_line(reprex(input = path("foo", "foo.R"), render = FALSE)) Output #' --- #' output: reprex::reprex_document #' --- x <- 11:15 mean(x) # Circular use is detected before source file written Code reprex(input = ret, render = FALSE) Condition Error in `reprex()`: ! Cancelling. --- Code reprex(input = ret, render = FALSE) Condition Error in `reprex()`: ! Cancelling. --- Code reprex(input = ret, render = FALSE) Condition Error in `reprex()`: ! Cancelling. # Leading prompts are removed Code res2 <- reprex(input = input2, render = FALSE) Message i Removing leading prompts from reprex source. reprex/tests/testthat/_snaps/utils-clipboard.md0000644000176200001440000000030414642076201021462 0ustar liggesusers# reprex_clipboard() insists on length one logical Code reprex_clipboard() Condition Error: ! The `reprex.clipboard` option must be `TRUE`, `FALSE`, or (logical) `NA`. reprex/tests/testthat/_snaps/utils-ui.md0000644000176200001440000000216614642076202020151 0ustar liggesusers# reprex_alert() and friends work Code reprex_alert("alert", type = "") Message > alert Code reprex_success("success") Message v success Code reprex_info("info") Message i info Code reprex_warning("warning") Message ! warning Code reprex_danger("danger") Message x danger # reprex_alert() is under the control of REPREX_QUIET env var Code reprex_alert("alert", type = "") --- Code reprex_alert("alert", type = "") Message > alert # reprex_path() works and respects REPREX_QUIET Code reprex_path("Something descriptive:", "path/to/file") --- Code reprex_path("Something descriptive:", "path/to/file") Message v Something descriptive: 'path/to/file' Code x <- "path/to/file" reprex_path("Something descriptive:", x) Message v Something descriptive: 'path/to/file' Code y <- c("path", "to", "file") reprex_path("Something descriptive:", path_join(y)) Message v Something descriptive: 'path/to/file' reprex/tests/testthat/_snaps/reprex_document.md0000644000176200001440000000075314642076173021610 0ustar liggesusers# ad responds to venue Code ad("gh") Output Created on `r Sys.Date()` with [reprex v`r utils::packageVersion("reprex")`](https://reprex.tidyverse.org) --- Code ad("slack") Output Created on `r Sys.Date()` with [reprex v`r utils::packageVersion("reprex")`](https://reprex.tidyverse.org) --- Code ad("r") Output Created on `r Sys.Date()` with reprex v`r utils::packageVersion("reprex")` https://reprex.tidyverse.org reprex/tests/testthat/_snaps/reprex.md0000644000176200001440000000220714642076710017703 0ustar liggesusers# reprex() works with code that deals with srcrefs [1] "``` r" [2] "utils::getParseData(parse(text = 'a'))" [3] "#> line1 col1 line2 col2 id parent token terminal text" [4] "#> 1 1 1 1 1 1 3 SYMBOL TRUE a" [5] "#> 3 1 1 1 1 3 0 expr FALSE" [6] "```" # reprex() errors for an R crash, by default Code code <- "rlang::node_car(0)\n" reprex(input = code) Condition Error in `reprex_render()`: ! This reprex appears to crash R. Call `reprex()` again with `std_out_err = TRUE` to get more info. # reprex() copes with an R crash, when `std_out_err = TRUE` Code out Output [1] "This reprex appears to crash R." [2] "See standard output and standard error for more details." [3] "" [4] "#### Standard output and error" [5] "" [6] "``` sh" [7] "" [8] " *** caught segfault ***" [9] "address ADDRESS, cause 'CAUSE'" [10] "" [11] "Traceback:" reprex/tests/testthat/_snaps/rprofile.md0000644000176200001440000000154314642076200020214 0ustar liggesusers# local .Rprofile reporting responds to venue Code rprofile_alert("gh") Output [1] "```{r, results = 'asis', echo = FALSE, include = file.exists('.Rprofile'), eval = file.exists('.Rprofile')}" [2] "cat(sprintf(\"*Local `.Rprofile` detected at `%s`*\", normalizePath(\".Rprofile\")))" [3] "```" --- Code rprofile_alert("r") Output [1] "```{r, results = 'asis', echo = FALSE, include = file.exists('.Rprofile'), eval = file.exists('.Rprofile')}" [2] "cat(sprintf(\"Local .Rprofile detected at %s\", normalizePath(\".Rprofile\")))" [3] "```" reprex/tests/testthat/_snaps/utils-io.md0000644000176200001440000000141614642076201020137 0ustar liggesusers# retrofit_files() works The `outfile` argument of `reprex()` is deprecated as of reprex 2.0.0. i Please use the `wd` argument instead. --- The `outfile` argument of `reprex()` is deprecated as of reprex 2.0.0. i Use `reprex(wd = ".")` instead of `reprex(outfile = NA)`. --- The `outfile` argument of `reprex()` is deprecated as of reprex 2.0.0. i To control output filename, provide a filepath to `input`. i Only taking working directory from `outfile`. --- The `outfile` argument of `reprex()` is deprecated as of reprex 2.0.0. i Working directory will be derived from `input`. --- The `outfile` argument of `reprex()` is deprecated as of reprex 2.0.0. i Working directory and output filename will be determined from `input`. reprex/tests/testthat/test-utils-ui.R0000644000176200001440000000173314547635572017462 0ustar liggesuserstest_that("reprex_quiet() defaults to NA", { expect_true(is.na(reprex_quiet())) }) test_that("reprex_alert() and friends work", { local_reprex_loud() expect_snapshot({ reprex_alert("alert", type = "") reprex_success("success") reprex_info("info") reprex_warning("warning") reprex_danger("danger") }) }) test_that("reprex_alert() is under the control of REPREX_QUIET env var", { local_reprex_quiet() expect_snapshot(reprex_alert("alert", type = "")) local_reprex_loud() expect_snapshot(reprex_alert("alert", type = "")) }) test_that("reprex_path() works and respects REPREX_QUIET", { local_reprex_quiet() expect_snapshot(reprex_path("Something descriptive:", "path/to/file")) local_reprex_loud() expect_snapshot({ reprex_path("Something descriptive:", "path/to/file") x <- "path/to/file" reprex_path("Something descriptive:", x) y <- c("path", "to", "file") reprex_path("Something descriptive:", path_join(y)) }) }) reprex/tests/testthat/test-utils-clipboard.R0000644000176200001440000000114514547635572021001 0ustar liggesuserstest_that("reprex_clipboard() works", { withr::local_options(list(reprex.clipboard = FALSE)) expect_false(reprex_clipboard()) }) test_that("reprex_clipboard() insists on length one logical", { withr::local_options(list(reprex.clipboard = function() "wut")) expect_snapshot(error = TRUE, reprex_clipboard()) }) test_that("ingest_clipboard() copes when clipboard not available", { withr::local_options(list(reprex.clipboard = FALSE)) local_reprex_loud() msg <- capture_messages( out <- ingest_clipboard() ) expect_equal(out, character()) expect_match(msg, "clipboard is not available") }) reprex/tests/testthat/test-reprex.R0000644000176200001440000000531114642076710017175 0ustar liggesusers## https://github.com/tidyverse/reprex/issues/152 test_that("keep.source is TRUE inside the reprex()", { skip_on_cran() ret <- reprex(input = "getOption('keep.source')\n") expect_match(ret, "TRUE", all = FALSE) }) test_that("reprex() works with code that deals with srcrefs", { skip_on_cran() ret <- reprex( input = "utils::getParseData(parse(text = 'a'))\n", advertise = FALSE ) expect_snapshot_output(print(ret)) }) ## https://github.com/tidyverse/reprex/issues/183 test_that("reprex() doesn't leak files by default", { skip_on_cran() reprex(base::writeLines("test", "test.txt"), advertise = FALSE) ret <- reprex(base::readLines("test.txt"), advertise = FALSE) expect_match(ret, "cannot open file 'test.txt'", all = FALSE) }) test_that("rmarkdown::render() context is trimmed from rlang backtrace", { skip_on_cran() input <- c( "f <- function() rlang::abort('foo')", "f()", "rlang::last_error()", "rlang::last_trace()" ) ret <- reprex(input = input, advertise = FALSE) expect_no_match(ret, regexp = "tryCatch|rmarkdown::render") }) test_that("rlang::last_error() and last_trace() work", { skip_on_cran() input <- c( "f <- function() rlang::abort('foo')", "f()", # as of rlang 1.0.0 (2022-01-26) # https://github.com/r-lib/rlang/blame/0e2718639d7b87effbf47cf17d6e0288a69454e6/NEWS.md#L350-L354 "#'", # currently, this must be in a new chunk "rlang::last_error()", "rlang::last_trace()" ) ret <- reprex(input = input, advertise = FALSE) m <- match("rlang::last_error()", ret) expect_no_match(ret[m + 1], "Error") m <- match("rlang::last_trace()", ret) expect_no_match(ret[m + 1], "Error") }) test_that("reprex() works even if user uses fancy quotes", { skip_on_cran() withr::local_options(list(useFancyQuotes = TRUE)) # use non-default venue to force some quoted yaml to be written expect_no_error(reprex(1, venue = "R")) }) test_that("reprex() errors for an R crash, by default", { skip_on_cran() expect_snapshot(error = TRUE, { code <- 'rlang::node_car(0)\n' reprex(input = code) }) }) test_that("reprex() copes with an R crash, when `std_out_err = TRUE`", { skip_on_cran() code <- 'rlang::node_car(0)\n' expect_no_error( out <- reprex(input = code, std_out_err = TRUE) ) skip_on_os("windows") scrubber <- function(x) { # I don't want to snapshot the actual traceback out <- x[seq_len(min(grep("Traceback", x)))] # on macOS and windows, cause is 'invalid permissions' # on ubuntu, cause is 'memory not mapped' out <- sub( "address 0x[0-9a-fA-F]+, cause '.*'", "address ADDRESS, cause 'CAUSE'", out ) trimws(out) } expect_snapshot(out, transform = scrubber) }) reprex/tests/testthat/test-venues.R0000644000176200001440000000540314642060466017200 0ustar liggesuserstest_that("venue = 'gh' works with/without leading prose", { skip_on_cran() input <- c( "#' Hello world", "## comment", "1:5" ) output <- c( "Hello world", "", "``` r", "## comment", "1:5", "#> [1] 1 2 3 4 5", "```" ) ret <- reprex(input = input, venue = "gh", advertise = FALSE) expect_identical(ret, output) input <- grep("Hello", input, invert = TRUE, value = TRUE) output <- grep("Hello", output, invert = TRUE, value = TRUE) output <- output[nzchar(output)] ret <- reprex(input = input, venue = "gh", advertise = FALSE) expect_identical(ret, output) }) test_that("venue = 'R' works, regardless of case", { skip_on_cran() input <- c( "#' Hello world", "## comment", "1:5" ) output <- c( "#' Hello world", "## comment", "1:5", "#> [1] 1 2 3 4 5" ) ret <- reprex(input = input, venue = "R", advertise = FALSE) expect_identical(ret[nzchar(ret)], output) ret <- reprex(input = input, venue = "r", advertise = FALSE) expect_identical(ret[nzchar(ret)], output) }) test_that("venues = 'ds' and 'so' are aliases for 'gh'", { skip_on_cran() input <- c( "#' Hello world", "## comment", "1:5" ) ds <- reprex(input = input, venue = "ds", session_info = TRUE, advertise = FALSE) so <- reprex(input = input, venue = "so", session_info = TRUE, advertise = FALSE) gh <- reprex(input = input, venue = "gh", session_info = TRUE, advertise = FALSE) expect_identical(so, gh) expect_identical(ds, gh) }) test_that("local image link is not interrupted by hard line break for 'gh'", { skip_on_cran() input <- c( "#+ setup, include = FALSE", "knitr::opts_knit$set(upload.fun = identity)", "", "#+ incredibly-long-chunk-name-to-make-image-path-also-incredibly-long", "plot(1:3)" ) out <- reprex(input = input, venue = "gh") line <- grep("incredibly-long", out, value = TRUE) expect_length(line, 1) expect_match(line, "[)]") }) test_that("venue = 'html' works", { skip_on_cran() input <- c( "#' Hello world", "## comment", "1:5" ) output <- c( "", "", "", "

Hello world

", "
## comment",
    "1:5",
    "#> [1] 1 2 3 4 5
" ) ret <- reprex(input = input, venue = "html", advertise = FALSE) ret <- ret[nzchar(ret)] expect_identical(ret, output) }) test_that("venue = 'slack' works", { skip_on_cran() input <- c( "#' Hello world", "## comment", "1:5" ) output <- c( "Hello world", "```", "## comment", "1:5", "#> [1] 1 2 3 4 5", "```" ) ret <- reprex(input = input, venue = "slack") ret <- ret[nzchar(ret)] expect_identical(ret, output) }) reprex/tests/testthat/expressions.rds0000644000176200001440000000152714310727461017667 0ustar liggesusers͘o0ǝ#ЉkYꪁJ@;jeݶî FU?Oω$@ Yv^s쏿qj!tt29-ԬZw367WR2'րB'آu@ ZhNc#N i#/t`|ߓғ5r.*KiqQwgx`%EN;{MHDI`?!S)?{at%]InYdNɀ5sZTf@(-3ͅ76p`|\ϳ}L^b9Abf9)L3P@TjHz٨wfNd;235Zsf 7xH:bU\)ˊ9p,☔'3=zHmT~(8toVn&)hPH J!+IF6Hevxh\ Cƥ&QFN c(Q3 ."jUQQ]njj`l Ş{nWδ*.j\(qQ EmqX,(j) }lT;6.Bl%`Q~¡ʷ@Z_ci]Wi;;6ݻfpR?HMO4{et6c8-mho鿨 LdT*{G S])û-pWkz-p%lJVƧ(ۇ> ?Z'Кs[,֑CdPs&jV lk8栝C!qJYl"kj8"y??reprex/tests/testthat/setup.R0000644000176200001440000000016714310727461016055 0ustar liggesuserswithr::local_options( list(reprex.clipboard = FALSE, reprex.html_preview = FALSE), .local_envir = teardown_env() ) reprex/tests/testthat/test-env.R0000644000176200001440000000221314547635572016471 0ustar liggesuserstest_that("can't see environment of caller", { skip_on_cran() z <- "don't touch me" ret <- reprex(z) expect_match(ret, "object 'z' not found", all = FALSE) }) test_that("reprex doesn't write into environment of caller", { skip_on_cran() z <- "don't touch me" ret <- reprex((z <- "I touched it!"), advertise = FALSE) expect_identical(ret[3], "#> [1] \"I touched it!\"") expect_identical(z, "don't touch me") ## concrete example I have suffered from: ## assign object to name of object inside reprex_impl() expect_match(reprex(r_file <- 0L), "r_file <- 0L", all = FALSE) }) test_that("reprex env doesn't bear traces of reprex or its dependencies", { skip_on_cran() ret <- reprex(input = c("a <- 'a'", "ls(all.names = TRUE)")) ret <- ret[grepl("^#>", ret)] # https://github.com/r-lib/debugme/issues/50 # styler --> tibble --> pillar --> debugme --> tickles RNG pkg <- "debugme" if (requireNamespace(pkg, quietly = TRUE)) { # until debugme updates on CRAN, let's tolerate .Random.seed, but not # require it either expect_match(ret, '"a"', all = FALSE) } else { expect_identical(ret, "#> [1] \"a\"") } }) reprex/tests/testthat.R0000644000176200001440000000015014547632260014711 0ustar liggesuserslibrary(testthat) library(reprex) if (rmarkdown::pandoc_available("2.0.0")) { test_check("reprex") } reprex/tests/spelling.R0000644000176200001440000000022514310727461014665 0ustar liggesusersif (requireNamespace("spelling", quietly = TRUE)) { spelling::spell_check_test( vignettes = TRUE, error = FALSE, skip_on_cran = TRUE ) } reprex/MD50000644000176200001440000001471014642245611012077 0ustar liggesusers5f7bb7805936dd6d096ccd36edd5c5ec *DESCRIPTION 0e6c9a09426f5140f573af37bd360d87 *LICENSE d9698245dfb7679ce99012ac49047511 *NAMESPACE 31ce2c86efc0d18fe2dd85d7892ce144 *NEWS.md 624afe44db47ffd420b703478e060575 *R/aaa.R fd070c5be88d7513f3151b4b609311d2 *R/ensure.R 67383e80a1591c0c6985e5b20d147ddc *R/highlight.R 16c926bffbc20b394429d4fecba2e723 *R/prex.R 92e8f2ceeb1007623296b8cab31442fc *R/reprex-addin.R 514fe9c9ef99f1cb23fe87b30f7a96c6 *R/reprex-locale.R f8920566315faa2a62b522efc66d9321 *R/reprex-options.R 0a00b7a02d0972804c7a8ab5a25e90f0 *R/reprex-package.R 5828a5fc87282d9664e7f17a3a2b5905 *R/reprex-undo.R 2f8f21d825425d22130ad7d7768f1fa3 *R/reprex.R b318226f252171b45d0f17efb29d9c6f *R/reprex_document.R 5d74595fc9f59d7035c40ab70dbbe434 *R/reprex_impl.R a9c023ac5778cfe4289444a8702ff44e *R/reprex_render.R 7957d90224736278f7ae9a081e4eed81 *R/stringify_expression.R f77f2da979bed44a09939d4a17761e45 *R/sysdata.rda 5da58beb3b1831b246825421a12e1e01 *R/utils-clipboard.R 4cb4e51d4cd3a38b76c76f392dba6bb6 *R/utils-interactivity.R 25886c07042b02e96a879b79d062a568 *R/utils-io.R 6e9fb70074820e78d89d0f1b658592ce *R/utils-ui.R 54879bf3e43d62aa0362d73580a877d9 *R/utils.R 3ebb45c0ba0d9d9cc9cc8258859c7c63 *R/venues.R c30dc3e96b60e641ffb9db7f6a7b8466 *README.md 51e1979a194ff2fbea567d03ca3ce8d3 *build/vignette.rds ffdc141cd2503020ea1113d5d1f7a675 *inst/WORDLIST 33f581546bad5f53084b5fe65183fba9 *inst/addins/reprex.css beb299b902cae2ba4098e8aff6907416 *inst/doc/reprex-dos-and-donts.R 56d84548a58c953d11ae40264b6f81a0 *inst/doc/reprex-dos-and-donts.Rmd 739f46829b2a6bfeda9fd348d0ba1a92 *inst/doc/reprex-dos-and-donts.html 8ea49443de6af39f88cbe2bc86dcd27b *inst/rmarkdown/templates/reprex-featureful/skeleton/skeleton.Rmd 0f4401ca24682305c294b4c27fc96ff8 *inst/rmarkdown/templates/reprex-featureful/template.yaml 44ac416f7a50e60daee68f21795ebe66 *inst/rmarkdown/templates/reprex-minimal/skeleton/skeleton.Rmd 38fd85cbdeb354177b3c485359f5a33a *inst/rmarkdown/templates/reprex-minimal/template.yaml 69ef05ec8f9925a5fee1ed12162cb136 *inst/rstudio/addins.dcf 2778eff80db984aead2d96ba038d848c *inst/templates/BETTER_THAN_NOTHING.R 3f624bf93602c2bae254fe9ab055a03b *man/figures/README-viewer-screenshot.png ad16346fd154b4fb6afff8c9f7d251ab *man/figures/help-me-help-you.png a1cbaf3f328e8d74e747faacf640c7fc *man/figures/lifecycle-archived.svg 6f521fb1819410630e279d1abf88685a *man/figures/lifecycle-defunct.svg 391f696f961e28914508628a7af31b74 *man/figures/lifecycle-deprecated.svg 691b1eb2aec9e1bec96b79d11ba5e631 *man/figures/lifecycle-experimental.svg 405e252e54a79b33522e9699e4e9051c *man/figures/lifecycle-maturing.svg f41ed996be135fb35afe00641621da61 *man/figures/lifecycle-questioning.svg 306bef67d1c636f209024cf2403846fd *man/figures/lifecycle-soft-deprecated.svg ed42e3fbd7cc30bc6ca8fa9b658e24a8 *man/figures/lifecycle-stable.svg 99f6e77d8cd1072e42e744a4950e143a *man/figures/lifecycle-superseded.svg 8367fe6cc0e5016a4bf52d378495f71a *man/figures/logo.png f564002b1b634675ba7699393cea849d *man/reprex-package.Rd 79ee59061c9787ce78ea437016a06f02 *man/reprex.Rd 7ccc1e42ae97960d3b625d3cc2a1459a *man/reprex_addin.Rd fed34b7da23666f9d730821ab3b3c403 *man/reprex_document.Rd 083a32398a550a4f8053ad4925d27a44 *man/reprex_locale.Rd e93f4244821471ce57dd3ddae0ab811d *man/reprex_options.Rd f395ffd43dd130fc7e60f20faa5a9876 *man/reprex_render.Rd 3515f0b2cc1bec3f4239ce250b85845e *man/reprex_venue.Rd 6332ec3e4c9ccd1ae51f0ba9bee10568 *man/un-reprex.Rd 50f330eeca8db092d6807e04457bd06d *tests/spelling.R 9b9d58bfd9ca23ce7626ccabced40c1f *tests/testthat.R 9224c1e119d27b81322e274a5261964f *tests/testthat/_snaps/input.md 77d83a1c442df04bf6767e2f42414675 *tests/testthat/_snaps/reprex.md bcaa8c4e387b53ed7f8fdbf49504b970 *tests/testthat/_snaps/reprex_document.md dacde15819e6df3b1fd85e92549cc3fd *tests/testthat/_snaps/rprofile.md 2670a108768cc49fe8a2c3b8b94d9aeb *tests/testthat/_snaps/utils-clipboard.md 1c264d59f6bd97952433b6204c523405 *tests/testthat/_snaps/utils-io.md 5fc86d78405ba386b8a473a82dcfbf00 *tests/testthat/_snaps/utils-ui.md 97cd8c33b0851ee613d2fb2a18081294 *tests/testthat/expressions.rds 452d510c2dc1b88197565eb80caf648b *tests/testthat/fixtures/a-reprex-document.Rmd 09b82103a997d6cffe58b54a3903ab17 *tests/testthat/helper.R 727ffe6a08dadf78b4c6cbe23ebdf55b *tests/testthat/setup.R 1e89db95524e772ad73bc92559f91c18 *tests/testthat/test-env.R 67ca84f9cf511c3dbfd77aaafd0efdfe *tests/testthat/test-input.R e23eda1984ae6ab882c89614e8c4b2d4 *tests/testthat/test-knitr-options.R 5ec99e9222fd0ee9d50fdea031a29b9b *tests/testthat/test-outfiles.R a8bc9b09b83d7ca626daa3b54bd2e6e5 *tests/testthat/test-pandoc.R 0293bc9b77f0407279041dbee166e1d2 *tests/testthat/test-reprex-addin.R a3f78973b2cf7b4706161017007e45f2 *tests/testthat/test-reprex-options.R 6ba9afa29cd1356b75375a6ad3d674c1 *tests/testthat/test-reprex-undo.R 2c2e644f7b362eb4805c2beb3816cadd *tests/testthat/test-reprex.R 173e6d6fa777c48e837dd4a1ab3aeb77 *tests/testthat/test-reprex_document.R 848fc147c06938fefc0e27f053aca9ee *tests/testthat/test-reprex_impl.R e97b4ccf93415ef43fc885a55707fa25 *tests/testthat/test-reprex_render.R 9784dea81ef2a28edb7297cab7d8552a *tests/testthat/test-rprofile.R 3715e5867169f49972c709c0a5f05d6e *tests/testthat/test-session-info.R 84539308aa73bf3cf9b221af94522efa *tests/testthat/test-stdout-stderr.R f1ef7743a41c2731961295949a722886 *tests/testthat/test-stringify_expression.R 9ca7ed4f559ce88a6bfe499f64e45db1 *tests/testthat/test-utf8.R 796821d25c31527394dc254507137e73 *tests/testthat/test-utils-clipboard.R f5bb93e182b8bd909502f7a67cafd403 *tests/testthat/test-utils-io.R e9dc3d131537871fa69156530d7e1b08 *tests/testthat/test-utils-ui.R 29d007d26c2ef0c973db8846873b2983 *tests/testthat/test-utils.R 1676ccc32cc358e20ba71921ae768b39 *tests/testthat/test-venues.R 22bfb62c40b70ac3733625e958d8ce7f *vignettes/articles/datapasta-reprex.Rmd c3a0160f181e8a826e7a34157b620cd4 *vignettes/articles/img/anotherdark-andale-60-line-numbers.png eed03a19f7cce4dda695cd13542e3110 *vignettes/articles/img/bizarro-selective-reveal.png ca196bfe3c6ad420a20095ef8c43a0c4 *vignettes/articles/img/dusk-fira-35-line-numbers.png 9d183530bd99c1d3f27447fff91041b1 *vignettes/articles/img/eval-false.png ca3582da639110e19f0b085d5d124834 *vignettes/articles/img/keynote-w00t.png a81e2dc17dbd53b9e2a5de7f153af5fd *vignettes/articles/learn-reprex.Rmd 262b98624e66bd57505d20baa03da1b9 *vignettes/articles/magic-reprex.Rmd ad931adc34c75f3a0539b4a340b65a87 *vignettes/articles/rtf.Rmd 01d13b25571114eb7a1bc5c1a9b0bd65 *vignettes/articles/suppress-startup-messages.Rmd 56d84548a58c953d11ae40264b6f81a0 *vignettes/reprex-dos-and-donts.Rmd reprex/R/0000755000176200001440000000000014642076676012002 5ustar liggesusersreprex/R/reprex_document.R0000644000176200001440000001422414547367021015322 0ustar liggesusers#' reprex output format #' #' @description #' This is an R Markdown output format designed specifically for making #' "reprexes", typically created via the [reprex()] function, which ultimately #' renders the document with [reprex_render()]. It is a heavily modified version #' of [rmarkdown::md_document()]. The arguments have different spheres of #' influence: #' * `venue` potentially affects input preparation and [reprex_render()]. #' * Add content to the primary input, prior to rendering: #' - `advertise` #' - `session_info` #' - `std_out_err` (also consulted by [reprex_render()]) #' * Influence knitr package or chunk options: #' - `style` #' - `comment` #' - `tidyverse_quiet` #' #' RStudio users can create new R Markdown documents with the #' `reprex_document()` format using built-in templates. Do #' *File > New File > R Markdown ... > From Template* and choose one of: #' * reprex (minimal) #' * reprex (lots of features) #' #' Both include `knit: reprex::reprex_render` in the YAML, which causes the #' RStudio "Knit" button to use `reprex_render()`. If you render these documents #' yourself, you should do same. #' #' @inheritParams reprex #' @inheritParams rmarkdown::md_document #' @return An R Markdown output format to pass to [rmarkdown::render()]. #' @export #' @examples #' reprex_document() reprex_document <- function(venue = c("gh", "r", "rtf", "html", "slack", "so", "ds"), advertise = NULL, session_info = opt(FALSE), style = opt(FALSE), comment = opt("#>"), tidyverse_quiet = opt(TRUE), std_out_err = opt(FALSE), pandoc_args = NULL) { venue <- tolower(venue) venue <- match.arg(venue) venue <- normalize_venue(venue) advertise <- set_advertise(advertise, venue) session_info <- arg_option(session_info) style <- arg_option(style) style <- style_requires_styler(style) comment <- arg_option(comment) tidyverse_quiet <- arg_option(tidyverse_quiet) std_out_err <- arg_option(std_out_err) stopifnot(is_bool(advertise), is_bool(session_info), is_bool(style)) stopifnot(is.character(comment)) stopifnot(is_bool(tidyverse_quiet), is_bool(std_out_err)) opts_chunk <- list( # fixed defaults collapse = TRUE, error = TRUE, # explicitly exposed for user configuration comment = comment, R.options = list( tidyverse.quiet = tidyverse_quiet, tidymodels.quiet = tidyverse_quiet ) ) if (isTRUE(style)) { opts_chunk[["tidy"]] <- "styler" } opts_knit <- list( upload.fun = switch(venue, r = identity, knitr::imgur_upload ) ) pandoc_args <- c( pandoc_args, if (rmarkdown::pandoc_available()) "--wrap=preserve" ) pre_knit <- function(input, ...) { # I don't know why the pre_knit hook operates on the **original** input # instead of the to-be-knitted (post-spinning) input, but I need to # operate on the latter. So I brute force the correct path. # This is a no-op if input starts as `.Rmd`. knit_input <- sub("[.]R$", ".spin.Rmd", input) input_lines <- read_lines(knit_input) input_lines <- c(rprofile_alert(venue), "", input_lines) input_lines <- c(reprex_opts(venue), "", input_lines) if (isTRUE(advertise)) { input_lines <- c(input_lines, "", ad(venue)) } if (isTRUE(std_out_err)) { input_lines <- c(input_lines, "", std_out_err_stub(input, venue)) } if (isTRUE(session_info)) { input_lines <- c(input_lines, "", si(venue)) } write_lines(input_lines, knit_input) } format <- rmarkdown::output_format( knitr = rmarkdown::knitr_options( opts_knit = opts_knit, opts_chunk = opts_chunk ), pandoc = rmarkdown::pandoc_options( # https://github.com/tidyverse/reprex/issues/375 to = paste0("gfm", if (rmarkdown::pandoc_available("2.13")) "-yaml_metadata_block"), from = rmarkdown::from_rmarkdown(implicit_figures = FALSE), ext = ".md", args = pandoc_args ), clean_supporting = FALSE, pre_knit = pre_knit, base_format = rmarkdown::md_document() ) format } # should be kept in sync with the options (re)stored in reprex_render_impl() in # the prex() case (new_session = FALSE) reprex_opts <- function(venue = "gh") { string <- glue(' ```{{r reprex-options, include = FALSE}} options( keep.source = TRUE, crayon.enabled = FALSE, reprex.current_venue = "{venue}" ) ```') } rprofile_alert <- function(venue = "gh") { if (venue %in% c("gh", "html", "slack")) { fmt <- '"*Local `.Rprofile` detected at `%s`*"' } else { # venue %in% c("r", "rtf") fmt <- '"Local .Rprofile detected at %s"' } include_eval <- "include = file.exists('.Rprofile'), eval = file.exists('.Rprofile')" c( glue("```{{r, results = 'asis', echo = FALSE, {include_eval}}}"), glue('cat(sprintf({fmt}, normalizePath(".Rprofile")))'), "```" ) } ad <- function(venue = "gh") { markdown_ad <- glue(' Created on `r Sys.Date()` with \\ [reprex v`r utils::packageVersion("reprex")`]\\ (https://reprex.tidyverse.org)') if (venue %in% c("gh", "html")) { glue('{markdown_ad}') } else if (venue == "slack") { markdown_ad } else { # venue %in% c("r", "rtf") glue(' Created on `r Sys.Date()` with reprex \\ v`r utils::packageVersion("reprex")` https://reprex.tidyverse.org') } } std_out_err_stub <- function(input, venue = "gh") { txt <- backtick(std_file(input)) if (venue %in% c("gh", "html")) { details(txt, desc = "Standard output and standard error") } else { # venue %in% c("r", "rtf", "slack") c("#### Standard output and error", txt) } } si <- function(venue = "gh") { txt <- r_chunk(session_info_string()) if (venue %in% c("gh", "html")) { details(txt, "Session info") } else { # venue %in% c("r", "rtf", "slack") txt } } session_info_string <- function() { if (rlang::is_installed("sessioninfo")) { "sessioninfo::session_info()" } else { "sessionInfo()" } } reprex/R/reprex-addin.R0000644000176200001440000001056714642060466014506 0ustar liggesusers#' Render a reprex, conveniently #' #' @description `reprex_addin()` opens an [RStudio #' gadget](https://shiny.rstudio.com/articles/gadgets.html) and #' [addin](https://rstudio.github.io/rstudioaddins/) that allows you to say #' where the reprex source is (clipboard? current selection? active file? #' other file?) and to control a few other arguments. Appears as "Render #' reprex" in the RStudio Addins menu. #' #' @description `reprex_selection()` is an #' [addin](https://docs.posit.co/ide/user/ide/guide/productivity/add-ins.html) that reprexes the current #' selection, optionally customised by options. Appears as "Reprex selection" #' in the RStudio Addins menu. Heavy users might want to [create a keyboard #' shortcut](https://docs.posit.co/ide/user/ide/guide/productivity/custom-shortcuts.html). #' Suggested shortcut: Cmd + Shift + R (macOS) or Ctrl + Shift + R (Windows). #' #' @export reprex_addin <- function() { # nocov start check_installed( c("shiny", "miniUI"), "in order to use the reprex addin" ) resource_path <- path_package("reprex", "addins") shiny::addResourcePath("reprex_addins", resource_path) ui <- miniUI::miniPage( shiny::tags$head(shiny::includeCSS(path(resource_path, "reprex.css"))), miniUI::gadgetTitleBar( shiny::p( "Use", shiny::a(href = "https://reprex.tidyverse.org", "reprex"), "to render a bit of code" ), right = miniUI::miniTitleBarButton("done", "Render", primary = TRUE) ), miniUI::miniContentPanel( shiny::radioButtons( "source", "Where is reprex source?", c( "on the clipboard" = if (reprex_clipboard()) "clipboard", "current selection" = "cur_sel", "current file" = "cur_file", "another file" = "input_file" ) ), shiny::conditionalPanel( condition = "input.source == 'input_file'", shiny::fileInput( inputId = "source_file", label = "Source file" ) ), shiny::radioButtons( "venue", "Target venue:", c( "GitHub or Stack Overflow" = "gh", "R script (output appears as comments)" = "r", "HTML" = "html", "Rich Text Format" = "rtf", "Slack message" = "slack" ), selected = getOption("reprex.venue", "gh") ), shiny::tags$hr(), shiny::checkboxInput( "session_info", "Append session info", getOption("reprex.session_info", FALSE) ), shiny::checkboxInput( "html_preview", "Preview HTML", getOption("reprex.html_preview", TRUE) ) ) ) server <- function(input, output, session) { shiny::observeEvent(input$done, { shiny::stopApp(reprex_guess( input$source, input$venue, input$source_file, as.logical(input$session_info), as.logical(input$html_preview) )) }) } app <- shiny::shinyApp(ui, server, options = list(quiet = TRUE)) shiny::runGadget(app, viewer = shiny::dialogViewer("Render reprex")) } reprex_guess <- function(source, venue = "gh", source_file = NULL, session_info = FALSE, html_preview = FALSE) { reprex_input <- switch(source, clipboard = NULL, cur_sel = rstudio_selection(), cur_file = rstudio_file(), input_file = source_file$datapath ) reprex( input = reprex_input, venue = venue, session_info = session_info, html_preview = html_preview ) } #' @export #' @rdname reprex_addin #' @inheritParams reprex reprex_selection <- function(venue = getOption("reprex.venue", "gh")) { reprex(input = rstudio_selection(), venue = venue) } # RStudio helpers --------------------------------------------------------- rstudio_file <- function(context = rstudio_context()) { rstudio_text_tidy(context$contents) } rstudio_selection <- function(context = rstudio_context()) { text <- rstudioapi::primary_selection(context)[["text"]] rstudio_text_tidy(text) } rstudio_context <- function() { rstudioapi::getSourceEditorContext() } # nocov end rstudio_text_tidy <- function(x) { if (identical(x, "")) { return(character()) } Encoding(x) <- "UTF-8" if (length(x) == 1) { ## rstudio_selection() returns catenated text x <- strsplit(x, "\n")[[1]] } n <- length(x) if (!grepl("\n$", x[[n]])) { x[[n]] <- newline(x[[n]]) } x } reprex/R/reprex-undo.R0000644000176200001440000001472414547630116014372 0ustar liggesusers#' Un-render a reprex #' #' @description #' Recover clean, runnable code from a reprex captured in the wild and write it #' to user's clipboard. The code is also returned invisibly and optionally #' written to file. Three different functions address various forms of #' wild-caught reprex: #' #' * `reprex_invert()` attempts to reverse the effect of [reprex()]. When #' `venue = "r"`, this just calls `reprex_clean()`. #' #' * `reprex_clean()` removes commented output. This assumes that R code is #' top-level, possibly interleaved with commented output, e.g., a displayed #' reprex copied from GitHub or the output of `reprex(..., venue = "R")`. #' #' * `reprex_rescue()` removes lines of output and strips prompts from lines #' holding R commands. This assumes that R code lines start with a prompt and #' that printed output is top-level, e.g., what you'd if you've copied from #' the R Console. #' #' @inheritParams reprex #' @param input Character. If has length one and lacks a terminating newline, #' interpreted as the path to a file containing the reprex. Otherwise, #' assumed to hold the reprex as a character vector. If not provided, the #' clipboard is consulted for input. If the clipboard is unavailable and #' we're in RStudio, the current selection is used. #' @param comment regular expression that matches commented output lines #' @param prompt character, the prompt at the start of R commands #' @param continue character, the prompt for continuation lines #' @return Character vector holding just the clean R code, invisibly #' @name un-reprex NULL #' @rdname un-reprex #' @export #' @examples #' \dontrun{ #' # a roundtrip: R code --> rendered reprex, as gfm --> R code #' original <- file.path(tempdir(), "original.R") #' writeLines(glue::glue(" #' #' Some text #' #+ chunk-label-and-options-cannot-be-recovered, message = TRUE #' (x <- 1:4) #' #' More text #' y <- 2:5 #' x + y"), con = original) #' reprex(input = original, html_preview = FALSE, advertise = FALSE) #' reprexed <- sub("[.]R$", "_reprex.md", original) #' writeLines(readLines(reprexed)) #' unreprexed <- reprex_invert(input = reprexed) #' writeLines(unreprexed) #' #' # clean up #' file.remove( #' list.files(dirname(original), pattern = "original", full.names = TRUE) #' ) #' } reprex_invert <- function(input = NULL, wd = NULL, venue = c("gh", "r"), comment = opt("#>"), outfile = deprecated()) { venue <- tolower(venue) venue <- match.arg(venue) if (venue == "r") { return( reprex_clean(input, wd = wd, comment = comment, outfile = outfile) ) } reprex_undo(input, wd = wd, is_md = TRUE, comment = comment, outfile = outfile) } #' @rdname un-reprex #' @export #' @examples #' \dontrun{ #' # a roundtrip: R code --> rendered reprex, as R code --> original R code #' code_in <- c( #' "# a regular comment, which is retained", #' "(x <- 1:4)", #' "median(x)" #' ) #' reprexed <- reprex(input = code_in, venue = "r", advertise = FALSE) #' writeLines(reprexed) #' code_out <- reprex_clean(input = reprexed) #' writeLines(code_out) #' identical(code_in, code_out) #' } reprex_clean <- function(input = NULL, wd = NULL, comment = opt("#>"), outfile = deprecated()) { reprex_undo(input, wd = wd, is_md = FALSE, comment = comment, outfile = outfile) } #' @rdname un-reprex #' @export #' @examples #' \dontrun{ #' # rescue a reprex that was copied from a live R session #' from_r_console <- c( #' "> # a regular comment, which is retained", #' "> (x <- 1:4)", #' "[1] 1 2 3 4", #' "> median(x)", #' "[1] 2.5" #' ) #' rescued <- reprex_rescue(input = from_r_console) #' writeLines(rescued) #' } reprex_rescue <- function(input = NULL, wd = NULL, prompt = getOption("prompt"), continue = getOption("continue"), outfile = deprecated()) { reprex_undo( input, wd = wd, is_md = FALSE, prompt = paste(escape_regex(prompt), escape_regex(continue), sep = "|"), outfile = outfile ) } reprex_undo <- function(input = NULL, wd = NULL, is_md = FALSE, comment = NULL, prompt = NULL, outfile = deprecated()) { where <- locate_input(input) src <- switch(where, clipboard = ingest_clipboard(), path = read_lines(input), input = escape_newlines(sub("\n$", "", input)), selection = rstudio_selection(), NULL ) comment <- arg_option(comment) undo_files <- plan_files( infile = if (where == "path") input else NULL, wd = wd, outfile = outfile ) r_file <- r_file_clean(undo_files$filebase) if (would_clobber(r_file)) { reprex_warning("Cancelling to avoid overwriting a file.") return(invisible()) } if (is_md) { # reprex_invert out <- convert_md_to_r(src, comment = comment, drop_output = TRUE) } else if (is.null(prompt)) { # reprex_clean out <- src[!grepl(comment, src)] } else { # reprex_rescue regex <- paste0("^\\s*", prompt) out <- src[grepl(regex, src)] out <- sub(regex, "", out) } if (undo_files$chatty) { reprex_path("Writing clean code as {.code .R} script:", r_file) } write_lines(out, r_file) expose_reprex_output(r_file) invisible(out) } convert_md_to_r <- function(lines, comment = "#>", drop_output = FALSE) { lines_info <- classify_fenced_lines(lines, comment = comment) lines_out <- ifelse(lines_info == "prose" & nzchar(lines), roxygen_comment(lines), lines) drop_classes <- c("bt", if (drop_output) "output") lines_out[!lines_info %in% drop_classes] } # Classify lines in the presence of fenced code blocks. # Specifically, blocks fenced by three backticks. # This is true of the output from reprex() with venue "gh" (+ "so", "ds", "slack") # Classifies each line like so: # * bt = backticks # * code = code inside a fenced block # * output = commented output inside a fenced block # * prose = outside a fenced block classify_fenced_lines <- function(x, comment = "^#>") { x_shift <- c("", utils::head(x, -1)) cumulative_fences <- cumsum(grepl("^```", x_shift)) wut <- ifelse(grepl("^```", x), "bt", ifelse(cumulative_fences %% 2 == 1, "code", "prose") ) wut <- ifelse(wut == "code" & grepl(comment, x), "output", wut) wut } reprex/R/highlight.R0000644000176200001440000000302114310727461014053 0ustar liggesusersreprex_highlight <- function(rout_file, reprex_file, arg_string = NULL) { arg_string <- arg_string %||% highlight_args() cmd <- paste0( "highlight ", " -i ", shQuote(rout_file), " --out-format=rtf --no-trailing-nl --encoding=UTF-8", arg_string, " -o ", shQuote(reprex_file) ) if (is_windows()) { res <- shell(cmd) } else { res <- system(cmd) } if (res > 0) { # I am OK with a non-exported function appearing in this error. # This whole feature is "use at your own risk". cli::cli_abort( "Call to the {.pkg highlight} command line tool was unsuccessful." ) } res } rtf_requires_highlight <- function(venue) { if (venue == "rtf" && !highlight_found()) { # I am OK with a non-exported function appearing in this error. # This whole feature is "use at your own risk". cli::cli_abort(c( "The {.pkg highlight} command line tool doesn't appear to be installed.", '{.code venue = "rtf"} is only supported if R can find {.pkg highlight}.' )) } invisible(venue) } highlight_found <- function() Sys.which("highlight") != "" highlight_args <- function() { hl_style <- getOption("reprex.highlight.hl_style", "darkbone") font <- shQuote(getOption("reprex.highlight.font", "Courier Regular")) font_size <- getOption("reprex.highlight.font_size", 50) other <- getOption("reprex.highlight.other", "") paste0( " --style ", hl_style, " --font ", font, " --font-size ", font_size, " ", other ) } reprex/R/ensure.R0000644000176200001440000000403314310727461013411 0ustar liggesusersensure_not_empty <- function(x) { if (length(x) > 0) { x } else { read_lines(path_package("reprex", "templates", "BETTER_THAN_NOTHING.R")) } } ensure_not_dogfood <- function(x) { looks_like_fenced_md <- any(grepl("^```", x)) if (looks_like_fenced_md) { lines <- paste0(" ", x[1:3]) ## I negate yep(), instead of using nope(), to get desired behaviour in ## a non-interactive call if (!yep( "First three lines of putative code are:\n", glue_collapse(lines, sep = "\n"), "\n", "which doesn't look like R code.\n", "Are we going in circles? Did you just run reprex()?\n", "In that case, the clipboard or selection now holds the *rendered* result.\n", "Carry on with this reprex?" )) { cli::cli_abort("Cancelling.", call = quote(reprex())) } } looks_like_r <- any(grepl("^#>", x)) if (looks_like_r) { if (!yep( "Putative code contains lines that start with `#>`.\n", "Are we going in circles? Did you just run `reprex(..., venue = \"r\")`?\n", "In that case, the clipboard or selection now holds the *rendered* result.\n", "Carry on with this reprex?" )) { cli::cli_abort("Cancelling.", call = quote(reprex())) } } html_start <- grep("^
", x)
  if (length(html_start) > 0) {
    lines <- paste0("  ", x[html_start + 0:2])
    if (!yep(
      "First three lines of putative code are:\n",
      glue_collapse(lines, sep = "\n"), "\n",
      "which looks like html, not R code.\n",
      "Are we going in circles? Did you just run `reprex(..., venue = \"html\")`?\n",
      "In that case, the clipboard or selection now holds the *rendered* result.\n",
      "Carry on with this reprex?"
    )) {
      cli::cli_abort("Cancelling.", call = quote(reprex()))
    }
  }

  x
}

ensure_no_prompts <- function(x, prompt = getOption("prompt")) {
  regex <- paste0("^", escape_regex(prompt))
  prompts <- grepl(regex, x)
  if (any(prompts)) {
    reprex_info("Removing leading prompts from reprex source.")
  }
  sub(regex, "", x)
}
reprex/R/utils-interactivity.R0000644000176200001440000000121014310727461016136 0ustar  liggesusersinteractive <- function(...) {
  cli::cli_abort("
    Inside {.pkg reprex}, we use {.fun rlang::is_interactive}, \\
    not {.fun interactive}, for mocking reasons.",
    .internal = TRUE
  )
}

## returns TRUE if user says "no"
##         FALSE otherwise
nope <- function(..., yes = "yes", no = "no") {
  if (is_interactive()) {
    cat(paste0(..., collapse = ""))
    return(utils::menu(c(yes, no)) == 2)
  }
  FALSE
}

## returns TRUE if user says "yes"
##         FALSE otherwise
yep <- function(..., yes = "yes", no = "no") {
  if (is_interactive()) {
    cat(paste0(..., collapse = ""))
    return(utils::menu(c(yes, no)) == 1)
  }
  FALSE
}
reprex/R/aaa.R0000644000176200001440000000034714102672630012632 0ustar  liggesusers.onLoad <- function(libname, pkgname) {
  withr::with_preserve_seed({
    # create a new random permutation every time we load
    adjective_animal <<- sample(adjective_animal, size = length(adjective_animal))
  })
  invisible()
}
reprex/R/venues.R0000644000176200001440000000302514102672630013411 0ustar  liggesusers# nocov start

#' Venue-specific shortcuts
#'
#' These are thin wrappers around `reprex()` that incorporate the target `venue`
#' as a suffix in the function name, for easier access via auto-completion.
#'
#' @param ... Passed along to [reprex()].
#'
#' @name reprex_venue
NULL

#' @export
#' @rdname reprex_venue
reprex_html <- function(...) reprex(..., venue = "html")

#' @export
#' @rdname reprex_venue
reprex_r <- function(...) reprex(..., venue = "r")

#' @export
#' @rdname reprex_venue
reprex_rtf <- function(...) reprex(..., venue = "rtf")

#' @export
#' @rdname reprex_venue
reprex_slack <- function(...) reprex(..., venue = "slack")

# these should exist for completeness, but I predict they'd never get used and
# they just clutter the auto-complete landscape
# reprex_gh <- function(...) reprex(..., venue = "gh")
# reprex_so <- function(...) reprex(..., venue = "so")
# reprex_ds <- function(...) reprex(..., venue = "ds")

# nocov ends

normalize_venue <- function(venue) {
  venue <- ds_is_gh(venue)
  venue <- so_is_gh(venue)
  venue <- rtf_requires_highlight(venue)
  venue
}

ds_is_gh <- function(venue) {
  if (venue == "ds") {
    reprex_info('
      The Discourse venue "ds" is an alias for the default GitHub venue "gh".
      There is no need to specify the venue.')
    venue <- "gh"
  }
  venue
}

so_is_gh <- function(venue) {
  if (venue == "so") {
    reprex_info('
      The Stack Overflow venue "so" is an alias for the default GitHub venue
      "gh". There is no need to specify the venue.')
    venue <- "gh"
  }
  venue
}
reprex/R/stringify_expression.R0000644000176200001440000000337314310727461016413 0ustar  liggesusers## input is quote()'ed expression
## reprex() takes care of that or, to use directly:
## x <- quote({a + b})

stringify_expression <- function(x) {
  if (is.null(x)) {
    return(NULL)
  }

  .srcref <- utils::getSrcref(x)

  if (is.null(.srcref)) {
    return(enc2utf8(deparse(x)))
  }

  ## Construct a new srcref with the first_line, first_byte, etc. from the
  ## first expression and the last_line, last_byte, etc. from the last one.
  first_src <- .srcref[[1]]
  last_src <- .srcref[[length(.srcref)]]

  .srcfile <- attr(first_src, "srcfile")

  src <- srcref(
    .srcfile,
    c(
      first_src[[1]], first_src[[2]],
      last_src[[3]], last_src[[4]],
      first_src[[5]], last_src[[6]],
      first_src[[7]], last_src[[8]]
    )
  )

  lines <- enc2utf8(as.character(src, useSource = TRUE))

  ## remove the first brace and line if the brace is the only thing on the line
  lines[[1L]] <- sub("^[{]", "", lines[[1L]])
  if (!nzchar(lines[[1L]])) {
    lines <- lines[-1L]
  }

  ## identify the last source line affiliated with an expression
  n <- utils::getSrcLocation(last_src, which = "line", first = FALSE)

  ## rescue trailing comment on (current) last surviving line
  last_source_line <- getSrcLines(.srcfile, n, n) ## "raw"
  last_line <- lines[length(lines)] ## srcref'd
  m <- regexpr(last_line, last_source_line, fixed = TRUE)
  rescue_me <- substring(last_source_line, m + attr(m, "match.length"))
  if (grepl("^\\s*#", rescue_me)) {
    lines[length(lines)] <- paste0(last_line, rescue_me)
  }

  ## rescue trailing comment lines
  tail_lines <- getSrcLines(.srcfile, n + 1, Inf)
  closing_bracket_line <- max(grep("^\\s*[}]", tail_lines), 0)
  tail_lines <- utils::head(tail_lines, closing_bracket_line - 1)

  trim_common_leading_ws(c(lines, tail_lines))
}
reprex/R/reprex_render.R0000644000176200001440000003003414547625525014766 0ustar  liggesusers#' Render a document in a new R session
#'
#' @description
#' This is a wrapper around [rmarkdown::render()] that enforces the "reprex"
#' mentality. Here's a simplified version of what happens:
#' ```
#' callr::r(
#'   function(input) {
#'     rmarkdown::render(input, envir = globalenv(), encoding = "UTF-8")
#'   },
#'   args = list(input = input),
#'   spinner = is_interactive(),
#'   stdout = std_file, stderr = std_file
#' )
#' ```
#' Key features to note
#' * [rmarkdown::render()] is executed in a new R session, by using
#'   [callr::r()]. The goal is to eliminate the leakage of objects, attached
#'   packages, and other aspects of session state from the current session into
#'   the rendering session. Also, the system and user-level `.Rprofile`s are
#'   ignored.
#' * Code is evaluated in the `globalenv()` of this new R session, which means
#'   that method dispatch works the way most people expect it to.
#' * The input file is assumed to be UTF-8, which is a knitr requirement as of
#'   v1.24.
#' * If the YAML frontmatter includes `std_err_out: TRUE`, standard output and
#'   error of the rendering R session are captured in `std_file`, which is
#'   then injected into the rendered result.
#'
#' `reprex_render()` is designed to work with the [reprex_document()] output
#' format, typically through a call to [reprex()]. `reprex_render()` may work
#' with other R Markdown output formats, but it is not well-tested.
#'
#' @param input The input file to be rendered. This can be a `.R` script or a
#'   `.Rmd` R Markdown document.
#' @inheritParams reprex
#' @param encoding The encoding of the input file. Note that the only acceptable
#'   value is "UTF-8", which is required by knitr as of v1.24. This is exposed
#'   as an argument purely for technical convenience, relating to the "Knit"
#'   button in the RStudio IDE.
#'
#' @return The output of [rmarkdown::render()] is passed through, i.e. the path
#'   of the output file.
#' @export
#'
#' @examples
#' \dontrun{
#' reprex_render("input.Rmd")
#' }
reprex_render <- function(input,
                          html_preview = NULL,
                          encoding = "UTF-8") {
  if (!identical(encoding, "UTF-8")) {
    cli::cli_abort("The {.arg input} file must have UTF-8 encoding.")
  }
  reprex_render_impl(
    input,
    new_session = TRUE,
    html_preview = html_preview
  )
}

prex_render <- function(input,
                        html_preview = NULL) {
  reprex_render_impl(
    input,
    new_session = FALSE,
    html_preview = html_preview
  )
}

reprex_render_impl <- function(input,
                               new_session = TRUE,
                               html_preview = NULL) {
  yaml_opts <- reprex_document_options(input)

  venue   <- yaml_opts[["venue"]] %||% "gh"
  comment <- yaml_opts[["comment"]] %||% "#>"

  html_preview <-
    html_preview %||% yaml_opts[["html_preview"]] %||% is_interactive_ish()
  stopifnot(is_bool(html_preview))

  std_out_err <- new_session && (yaml_opts[["std_out_err"]] %||% FALSE)
  if (tolower(path_ext(input)) == "rmd") {
    input <- file_copy(input, rmd_file(input), overwrite = TRUE)
  }
  std_file <- std_out_err_path(input, std_out_err)

  if (new_session) {
    # if callr::r() picks up a local .Rprofile, it should be local to
    # where the the reprex work is happening, not the session where reprex()
    # was called
    withr::with_dir(
      path_dir(input),
      out <- tryCatch(
        callr::r(
          function(input) {
            rmarkdown::render(
              input,
              quiet = TRUE, envir = globalenv(), encoding = "UTF-8"
            )
          },
          args = list(input = path_file(input)),
          spinner = is_interactive(),
          stdout = if (is.null(std_file)) NULL else path_file(std_file),
          stderr = if (is.null(std_file)) NULL else path_file(std_file)
        ),
        error = function(e) e
      )
    )

    # reprex has crashed rmarkdown::render()
    if (is.null(out)) {
      cli::cli_abort("
        This reprex appears to halt execution of {.fun rmarkdown::render}.",
        call = quote(reprex_render())
      )
    }

    # reprex has crashed R
    if (inherits(out, "error")) {
      if (!inherits(out, "callr_status_error")) {
        cli::cli_abort(
          "Unhandled error from {.fun rmarkdown::render} in the external process.",
          .internal = TRUE
        )
      }
      if (!isTRUE(std_out_err)) {
        cli::cli_abort("
          This reprex appears to crash R.
          Call {.fun reprex} again with {.code std_out_err = TRUE} to get \\
          more info.",
          call = quote(reprex_render())
        )
      }
      md_lines <- c(
        "This reprex appears to crash R.",
        "See standard output and standard error for more details.",
        "",
        std_out_err_stub(input, venue %in% c("gh", "html"))
      )
      md_file <- md_file(input)
      write_lines(md_lines, md_file)
    } else {
      md_file <- out
    }

    if (!is.null(std_file)) {
      inject_file(md_file, std_file)
    }
  } else { # new_session is FALSE
    # should be kept in sync with what reprex_opts() sets
    opts_to_safeguard <- options(
      "keep.source",
      "crayon.enabled"
    )
    withr::defer(options(opts_to_safeguard))
    md_file <- rmarkdown::render(
      input,
      quiet = TRUE, envir = globalenv(), encoding = "UTF-8",
      knit_root_dir = getwd()
    )
  }

  # we can almost use the post_processor of output_format, but sadly we cannot
  # we can't inject std_out_err until the connection to std_file is closed
  # and we can't post process until the injection is done
  reprex_file <- switch(venue,
    r     = pp_md_to_r(md_file, comment = comment),
    rtf   = pp_highlight(pp_md_to_r(md_file, comment = comment)),
    slack = pp_slackify(md_file),
    html  = pp_html_render(md_file),
    md_file
  )

  # also something that would naturally go in a post_processor, but can't
  # (see above)
  if (html_preview) {
    preview(md_file)
  }
  invisible(reprex_file)
}

# heavily influenced by the post_processor() function of github_document()
preview <- function(input) {
  css <- rmarkdown::pandoc_path_arg(
    path_package(
      "rmarkdown",
      "rmarkdown/templates/github_document/resources/github.css"
    )
  )
  css <- glue("github-markdown-css:{css}")
  template <- rmarkdown::pandoc_path_arg(
    path_package(
      "rmarkdown",
      "rmarkdown/templates/github_document/resources/preview.html"
    )
  )
  args <- c(
    "--standalone", "--self-contained",
    "--highlight-style", "pygments",
    "--template", template,
    "--variable", css,
    "--metadata", "pagetitle=PREVIEW",
    "--quiet"
  )

  # important considerations re: HTML preview
  # 1. where it lives matters, i.e. RStudio's decision to display it within
  #    the app (vs. using an external browser) hinges on it being located below
  #    session temp dir or RMARKDOWN_PREVIEW_DIR
  # 2. best not to co-locate with input, because (a) the user really shouldn't
  #    ever see such a preview file and (b) there's the potential for confusion
  #    with the actual reprex file when `venue = "html"` (although we do use
  #    a '_preview" suffix to disambiguate)
  preview_file <- preview_file(input)
  rmarkdown::pandoc_convert(
    input = input, to = "html", from = "gfm", output = preview_file,
    options = args, verbose = FALSE
  )

  # can be interesting re: detecting how we were called and what we should
  # do re: getting the html open
  # cat("\nRSTUDIO: ", Sys.getenv("RSTUDIO", unset = NA), file = stderr())
  # cat("\n.Platform$GUI: ", .Platform$GUI, file = stderr())
  # cat("\nis_interactive(): ", is_interactive(), file = stderr())
  # cat("\nRMARKDOWN_PREVIEW_DIR: ", Sys.getenv("RMARKDOWN_PREVIEW_DIR", NA), file = stderr())
  # cat("\ntempdir(): ", tempdir(), file = stderr())
  # cat("\n")

  preview_dir <- Sys.getenv("RMARKDOWN_PREVIEW_DIR", unset = tempdir())
  preview_file <- file_move(preview_file, preview_dir)

  if (is_interactive()) {
    viewer <- getOption("viewer") %||% utils::browseURL
    viewer(preview_file)
  } else {
    # a rudimentary proxy for:
    # "hey, we got here via the 'Knit' button"
    # so, morally, the session IS still interactive
    # this magic utterance causes RStudio to preview the file because of:
    # https://github.com/rstudio/rstudio/blob/1f998005fcafe3372413e9eb0c0b0567c46056ce/src/cpp/session/modules/rmarkdown/SessionRMarkdown.cpp#L188
    cat("\nPreview created: ", preview_file, file = stderr())
  }

  invisible(preview_file)
}

# passes is_interactive() through EXCEPT for a specific set of conditions
# that are intended to detect reprex_render() executed via RStudio's "Knit"
# button
is_interactive_ish <- function() {
  if (is_interactive()) {
    return(TRUE)
  }

  Sys.getenv("RSTUDIO", unset = "0") == "1" &&
    !is.na(Sys.getenv("RMARKDOWN_PREVIEW_DIR", unset = NA))
}

reprex_document_options <- function(input) {
  yaml_input <- input
  if (tolower(path_ext(input)) == "r") {
    yaml_input <- knitr::spin(input, knit = FALSE)
    withr::defer(file_delete(yaml_input))
  }
  yaml <- rmarkdown::yaml_front_matter(yaml_input)
  tryCatch(
    yaml[["output"]][["reprex::reprex_document"]],
    error = function(e) list()
  )
}

std_out_err_path <- function(input, std_out_err) {
  if (isTRUE(std_out_err)) {
    std_file(input)
  } else {
    NULL
  }
}

inject_file <- function(path, inject_path) {
  regex <- glue("(`)(.*)({inject_path})(`)")

  lines <- read_lines(path)
  inject_locus <- grep(regex, lines)

  # a user should never see this, but it can happen during development
  if (length(inject_locus) > 1) {
    reprex_warning("multiple placeholders for std_out_err! taking the last")
    inject_locus <- inject_locus[length(inject_locus)]
  }

  if (length(inject_locus)) {
    inject_lines <- read_lines(inject_path)
    if (length(inject_lines) == 0) {
      inject_lines <- "-- nothing to show --"
    }
    inject_lines <- c("``` sh", inject_lines, "```")
    regex <- glue("(.*){regex}(.*)")
    lines <- c(
      lines[seq_len(inject_locus - 1)],
      sub(regex, "\\1", lines[inject_locus]),
      inject_lines,
      sub(regex, "\\6", lines[inject_locus]),
      lines[-seq_len(inject_locus)]
    )
    write_lines(lines, path)
  }
  path
}

# used when venue is "r" or "rtf"
pp_md_to_r <- function(input, comment = "#>") {
  output_lines <- read_lines(md_file(input))
  output_lines <- convert_md_to_r(output_lines, comment = comment)
  rout_file <- r_file_rendered(input)
  write_lines(output_lines, rout_file)
  rout_file
}

# used when venue is "slack"
# https://www.markdownguide.org/tools/slack/
pp_slackify <- function(input) {
  output_lines <- read_lines(md_file(input))
  output_lines <- remove_info_strings(output_lines)
  output_lines <- simplify_image_links(output_lines)
  slack_file <- md_file_slack(input)
  write_lines(output_lines, slack_file)
  slack_file
}

# remove "info strings" from opening code fences, e.g. ```r
# https://spec.commonmark.org/0.29/#info-string
remove_info_strings <- function(x) {
  sub("^```[^`]*$", "```", x, perl = TRUE)
}

# input:  ![](https://i.imgur.com/woc4vHs.png)
# output: https://i.imgur.com/woc4vHs.png
simplify_image_links <- function(x) {
  sub("(^!\\[\\]\\()(.+)(\\)$)", "\\2", x, perl = TRUE)
}

# used when venue is "rtf"
pp_highlight <- function(input) {
  rtf_file <- rtf_file(input)
  reprex_highlight(r_file_rendered(input), rtf_file)
  rtf_file
}

# used when venue is "html"
pp_html_render <- function(input) {
  output_file <- rmarkdown::render(
    md_file(input),
    output_format = rmarkdown::html_fragment(
      self_contained = FALSE,
      pandoc_args = "--quiet"
    ),
    clean = FALSE,
    quiet = TRUE,
    encoding = "UTF-8"
  )
  output_file <- file_move(output_file, html_file(input))
  # the html_fragment() output is a bit too minimal
  # I add an encoding specification
  # I think this is positive-to-neutral for the reprex output and, if I don't,
  # viewing the fragment in the browser results in mojibake
  output_lines <- read_lines(output_file)
  output_lines <- c(
    "",
    "",
    "",
    output_lines
  )
  write_lines(output_lines, output_file)
  output_file
}
reprex/R/reprex_impl.R0000644000176200001440000001344114642076747014455 0ustar  liggesusersreprex_impl <- function(x_expr = NULL,
                        input  = NULL,
                        wd     = NULL,
                        venue  = c("gh", "r", "rtf", "html", "slack", "so", "ds"),

                        render = TRUE,
                        new_session = TRUE,

                        advertise       = NULL,
                        session_info    = opt(FALSE),
                        style           = opt(FALSE),
                        comment         = opt("#>"),
                        tidyverse_quiet = opt(TRUE),
                        std_out_err     = opt(FALSE),
                        html_preview    = opt(TRUE),

                        outfile = deprecated()) {

  venue <- tolower(venue)
  venue <- match.arg(venue)
  venue <- normalize_venue(venue)

  advertise       <- set_advertise(advertise, venue)
  session_info    <- arg_option(session_info)
  style           <- arg_option(style)
  style           <- style_requires_styler(style)
  html_preview    <- arg_option(html_preview)
  html_preview    <- html_preview_requires_interactive(html_preview)
  comment         <- arg_option(comment)
  tidyverse_quiet <- arg_option(tidyverse_quiet)
  std_out_err     <- arg_option(std_out_err)

  if (!is.null(input)) stopifnot(is.character(input))
  if (!is.null(wd)) stopifnot(is_string(wd))
  stopifnot(is_bool(advertise), is_bool(session_info), is_bool(style))
  stopifnot(is_bool(html_preview), is_bool(render))
  stopifnot(is.character(comment))
  stopifnot(is_bool(tidyverse_quiet), is_bool(std_out_err))

  if (lifecycle::is_present(outfile)) {
    stopifnot(is.character(outfile) || is.na(outfile))
  }

  where <- if (is.null(x_expr)) locate_input(input) else "expr"
  src <- switch(where,
    expr      = stringify_expression(x_expr),
    clipboard = ingest_clipboard(),
    path      = read_lines(input),
    input     = escape_newlines(sub("\n$", "", enc2utf8(input))),
    selection = rstudio_selection(),
    NULL
  )
  src <- ensure_not_empty(src)
  src <- ensure_not_dogfood(src)
  src <- ensure_no_prompts(src)

  reprex_files <- plan_files(
    infile = if (where == "path") input else NULL,
    # the else branch makes prex_*() functions write files below temp dir
    wd = if (new_session) wd else NULL,
    outfile = outfile
  )

  r_file <- r_file(reprex_files$filebase)
  if (would_clobber(r_file)) {
    reprex_warning("Cancelling to avoid overwriting a file.")
    return(invisible())
  }

  reprex_document_options <- list(
    venue = venue,
    advertise = advertise, session_info = session_info,
    style = style, comment = comment,
    tidyverse_quiet = tidyverse_quiet, std_out_err = std_out_err
  )
  src <- c(yamlify(reprex_document_options), "", src)
  if (reprex_files$chatty) {
    reprex_path("Preparing reprex as {.code .R} file:", r_file)
  }
  write_lines(src, r_file)

  if (!render) {
    return(invisible(read_lines(r_file)))
  }

  local_rprofile <- path(path_dir(path_real(r_file)), ".Rprofile")
  if (file_exists(local_rprofile)) {
    reprex_path(
      "Local {.path .Rprofile} detected in reprex directory:",
      local_rprofile,
      type = "warning"
    )
  }

  reprex_info("Rendering reprex...")
  reprex_file <- reprex_render_impl(
    r_file,
    new_session = new_session, html_preview = html_preview
  )

  if (reprex_files$chatty) {
    # TODO: be smarter about when to report full path vs. relative,
    # i.e., consider if the user provided any path info
    reprex_path("Writing reprex file:", reprex_file)
  }
  expose_reprex_output(reprex_file, rtf = (venue == "rtf"))
  invisible(read_lines(reprex_file))
}

advertise_default <- function(venue) {
  default <- c(
    gh    = TRUE,
    ds    = TRUE,
    html  = TRUE,
    so    = TRUE,
    r     = FALSE,
    rtf   = FALSE,
    slack = FALSE
  )
  default[[venue]]
}

set_advertise <- function(advertise, venue) {
  advertise %||%
    getOption("reprex.advertise") %||%
    advertise_default(venue)
}

style_requires_styler <- function(style) {
  if (isTRUE(style) && !requireNamespace("styler", quietly = TRUE)) {
    reprex_danger("
      Install the {.pkg styler} package in order to use
      {.code style = TRUE}.")
    style <- FALSE
  }
  invisible(style)
}

html_preview_requires_interactive <- function(html_preview) {
  if (html_preview && !is_interactive()) {
    reprex_info(
      "Non-interactive session, setting {.code html_preview = FALSE}."
    )
    html_preview <- FALSE
  }
  invisible(html_preview)
}

# re-express reprex() args as yaml for the reprex_document() format ----
yamlify <- function(x) {
  x <- remove_defaults(x)
  if (length(x) < 1) {
    return(decorate_yaml("output: reprex::reprex_document"))
  }
  lines <- c(
    "output:",
    "  reprex::reprex_document:",
    paste0("    ", nv(x))
  )
  decorate_yaml(lines)
}

decorate_yaml <- function(x) roxygen_comment(x <- c("---", x, "---"))

remove_defaults <- function(x) {
  defaults <- list(
    venue           = "gh",
    # this is the only conditional default, i.e. that depends on venue
    advertise       = advertise_default(x[["venue"]]),
    session_info    = FALSE,
    style           = FALSE,
    comment         = "#>",
    tidyverse_quiet = TRUE,
    std_out_err     = FALSE
  )

  compare_one <- function(nm) identical(x[[nm]], defaults[[nm]])
  is_default <- vapply(names(x), compare_one, logical(1))

  novel_names <- setdiff(names(x), names(defaults))
  if (length(novel_names) > 0) {
    reprex_danger("
      {?This/These} parameter{?s} {?is/are} not recognized for the
      {.fun reprex_document} format: {.code {novel_names}}.")
  }

  x[!is_default]
}

nv <- function(x) {
  is_character <- vapply(x, is.character, logical(1))
  # dQuote didn't gain the `q` argument until R 3.6
  withr::local_options(list(useFancyQuotes = FALSE))
  x[is_character] <- vapply(x[is_character], dQuote, character(1))
  glue("{name}: {value}", name = names(x), value = x)
}
reprex/R/prex.R0000644000176200001440000000530414207775764013106 0ustar  liggesusers# nocov start

#' Render a "prex"
#'
#' @description
#' `prex()` is like [reprex()], but much less reproducible!
#'   * Code is evaluated in the global environment of the current R session.
#'   * Current working directory is used.
#'   * `advertise = FALSE` is the default.
#' This violates many principles of a true reprex, which is why the `prex()`
#' family of functions is unexported. The main motivation is to make
#' `prex_rtf()` available for preparing code snippets that are scattered around
#' a talk and that can't necessarily be self-contained.
#'
#' Specific `reprex()` arguments do not appear as `prex()` arguments or may have
#' different capabilities (i.e., more limited).
#' * `std_out_err`: not offered in `prex()`
#'
#' @noRd
#' @keywords internal
#'
#' @examples
#' # compare and contrast to get a feel for reprex() vs prex()
#' reprex(ls())     # character(0)
#' prex(ls())       # whatever is lying around your current workspace
#'
#' reprex(search()) # won't reflect anything you attach in .Rprofile
#' prex(search())   # generally does reflect packages attached in .Rprofile
#'
#' reprex(getwd())  # a reprex directory below session temp directory
#' prex(getwd())    # current working directory
prex <- function(x = NULL,
                 input = NULL,
                 venue = c("gh", "r", "rtf", "html", "slack", "so", "ds"),

                 render = TRUE,

                 advertise       = FALSE,       # <-- different from reprex
                 session_info    = opt(FALSE),
                 style           = opt(FALSE),
                 html_preview    = opt(TRUE),
                 comment         = opt("#>"),
                 tidyverse_quiet = opt(TRUE)) {
  reprex_impl(
    x_expr = substitute(x),
    input = input,
    wd = ".",                                   # <-- different from reprex
    venue = venue,

    render = render,
    new_session = FALSE,                        # <-- different from reprex()

    advertise       = advertise,
    session_info    = session_info,
    style           = style,
    comment         = comment,
    tidyverse_quiet = tidyverse_quiet,
    std_out_err     = FALSE,                    # <-- different from reprex()
    html_preview    = html_preview
  )
}

prex_html  <- function(...) prex(..., venue = "html")
prex_r     <- function(...) prex(..., venue = "r")
prex_rtf   <- function(...) prex(..., venue = "rtf")
prex_slack <- function(...) prex(..., venue = "slack")

# these should exist for completeness, but I predict they'd never get used and
# they just clutter the auto-complete landscape
# prex_gh   <- function(...) prex(..., venue = "gh")
# prex_so   <- function(...) prex(..., venue = "so")
# prex_ds   <- function(...) prex(..., venue = "ds")

# nocov end
reprex/R/reprex-locale.R0000644000176200001440000000737214310727461014663 0ustar  liggesusers#' Render a reprex in a specific locale
#'
#' Render a [reprex()], with control over the localization of error messages and
#' aspects of the locale. Note that these are related but distinct issues!
#' Typical usage is for someone on a Spanish system to create a reprex that is
#' easier for an English-speaking audience to follow.
#'
#' @section `language`:
#' Use the `language` argument to express the preferred language of error
#' messages. The output of `dir(system.file(package = "translations"))` may
#' provide some helpful ideas. The `language` should generally follow "XPG
#' syntax": a two-letter language code, optionally followed by other modifiers.
#'
#' Examples: `"en"`, `"de"`, `"en_GB"`, `"pt_BR"`.
#'
#' @section `locale`:
#' Use the `locale` argument only if you want to affect something like how
#' day-of-the-week or month is converted to character. You are less likely to
#' need to set this than the `language` argument. You may have more success
#' setting specific categories, such as `"LC_TIME"`, than multi-category
#' shortcuts like `"LC_ALL"` or `"LANG"`. The `locale` values must follow the
#' format dictated by your operating system and the requested locale must be
#' installed. On *nix systems, `locale -a` is a good way to see which locales
#' are installed. Note that the format for `locale` and `language` are different
#' from each other on Windows.
#'
#' Examples: `"en_CA.UTF-8"` (macOS), `"French_France.1252"` (Windows).
#'
#' @param ... Inputs passed through to [reprex()].
#' @param language A string specifying the preferred language for messages. It
#'   is enacted via the `LANGUAGE` environment variable, for the duration of the
#'   `reprex()` call. Examples: `"en"` for English and `"fr"` for French. See
#'   Details for more.
#' @param locale A named character vector, specifying aspects of the locale, in
#'   the [Sys.setlocale()] sense. It is enacted by setting one or more
#'   environment variables, for the duration of the `reprex()` call. See Details
#'   for more.
#'
#' @seealso
#'   * The [Locale
#'   Names](https://www.gnu.org/software/libc/manual/html_node/Locale-Names.html)
#'   section of the GNU C docs, for more about XPG syntax
#'   * The [Internationalization and
#'   Localization](https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Internationalization)
#'   section of the R Installation and Administration manual
#'
#' @return Character vector of rendered reprex, invisibly.
#' @examples
#' \dontrun{
#'
#' # if all you want to do is make sure messages are in English
#' reprex_locale("a" / 2)
#'
#' # change messages to a specific language
#' reprex_locale(
#'   {
#'     "a" / 2
#'   },
#'   language = "it"
#' )
#'
#' reprex_locale(
#'   {
#'     "a" / 2
#'   },
#'   language = "fr_CA"
#' )
#'
#' reprex_locale(
#'   {
#'     "a" / 2
#'   },
#'   language = "pt_BR"
#' )
#'
#' # get day-of-week and month to print in French (not Windows)
#' reprex_locale(
#'   {
#'     format(as.Date(c("2019-01-01", "2019-02-01")), "%a %b %d")
#'   },
#'   locale = c(LC_TIME = "fr_FR")
#' )
#'
#' # get day-of-week and month to print in French (Windows)
#' # assumes that the relevant language is installed on the system
#' # LC_TIME can also be specified as "French" or "French_France" here
#' reprex_locale(
#'   {
#'     format(as.Date(c("2019-01-01", "2019-02-01")), "%a %b %d")
#'   },
#'   locale = c(LC_TIME = "French_France.1252")
#' )
#' }
#' @export
reprex_locale <- function(...,
                          language = "en",
                          locale = NULL) {
  withr::local_envvar(c(LANGUAGE = language))
  if (!is.null(locale)) {
    # If we use withr::local_locale(), the new locale is NOT inherited by the
    # reprexing child process. Whereas it is if we use an env var approach.
    withr::local_envvar(locale)
  }
  reprex(...)
}
reprex/R/reprex-package.R0000644000176200001440000000033314527453520015007 0ustar  liggesusers#' @keywords internal
"_PACKAGE"

## usethis namespace: start
#' @import fs
#' @import rlang
#' @importFrom glue glue
#' @importFrom glue glue_collapse
#' @importFrom lifecycle deprecated
## usethis namespace: end
NULL
reprex/R/reprex.R0000644000176200001440000002734414642100565013425 0ustar  liggesusers#' Render a reprex
#'
#' @description
#' Run a bit of R code using [rmarkdown::render()] and write the rendered result
#' to user's clipboard. If the clipboard is unavailable, the file containing
#' the rendered result is opened for manual copy. The goal is to make it easy to
#' share a small reproducible example ("reprex"), e.g., in a GitHub issue.
#' Reprex source can be
#'
#' * read from clipboard
#' * provided directly as expression, character vector, or string
#' * read from file
#' * read from current selection or active document in RStudio
#'
#' reprex can also be used for syntax highlighting (with or without rendering);
#' see below for more.
#'
#' @section Details:
#' The usual "code + commented output" is returned invisibly, written to file,
#' and, whenever possible, put on the clipboard. An HTML preview displays in
#' RStudio's Viewer pane, if available, or in the default browser, otherwise.
#' Leading `"> "` prompts, are stripped from the input code. Read more at
#' .
#'
#' reprex sets specific [knitr options](https://yihui.org/knitr/options/):
#' * Chunk options default to `collapse = TRUE`, `comment = "#>"`,
#'   `error = TRUE`. Note that `error = TRUE`, because a common use case is bug
#'   reporting.
#' * reprex also sets knitr's `upload.fun`. It defaults to
#'   [knitr::imgur_upload()] so figures produced by the reprex appear properly
#'   on GitHub, Stack Overflow, Discourse, and Slack. Note that `imgur_upload()`
#'   requires the packages httr and xml2. When `venue = "r"`, `upload.fun` is
#'   set to `identity()`, so that figures remain local. In that case, you may
#'   also want to provide a filepath to `input` or set `wd`, to control where
#'   the reprex files are written.
#' You can supplement or override these options with special comments in your
#' code (see examples).
#'

#'
#' @section Error backtraces:
#'
#' To use [rlang::last_error()] or [rlang::last_trace()] within a reprex,
#' you must place them in a different "chunk" to the code that generates an
#' error. The easiest way to do is to insert a line containing the special
#' comment `#'` after error-causing code:

#' ``` r
#' f <- function() rlang::abort('foo')
#' f()
#' #'
#' rlang::last_error()
#' rlang::last_trace()
#' ```
#'

#' Read more in rlang's documentation: [Errors in
#' RMarkdown](https://rlang.r-lib.org/reference/rlang_backtrace_on_error.html#errors-in-rmarkdown).

#'
#' @section Syntax highlighting:
#'
#' `r lifecycle::badge("experimental")`
#'
#' A secondary use case for reprex is to produce syntax highlighted code
#' snippets, with or without rendering, to paste into applications like
#' Microsoft Word, PowerPoint, or Keynote. Use `venue = "rtf"` for this.
#'
#' This feature is experimental and requires the installation of the
#' [highlight](http://andre-simon.de/doku/highlight/en/highlight.php)
#' command line tool. The `"rtf"` venue is documented in [its own
#' article](https://reprex.tidyverse.org/articles/articles/rtf.html)
#'
#' @param x An expression. If not given, `reprex()` looks for code in
#'   `input`. If `input` is not provided, `reprex()` looks on the clipboard.
#'
#'   When the clipboard is structurally unavailable, e.g., on RStudio Server or
#'   RStudio Cloud, `reprex()` consults the current selection instead of the
#'   clipboard.
#' @param input Character. If has length one and lacks a terminating newline,
#'   interpreted as the path to a file containing reprex code. Otherwise,
#'   assumed to hold reprex code as character vector. When `input` specifies a
#'   filepath, it also determines the reprex working directory and the location
#'   of all resulting files.
#' @param wd An optional filepath that is consulted when `input` is not a
#'   filepath. (By default, all work is done, quietly, in a subdirectory of the
#'   session temp directory.)
#'
#'   The most common use of `wd` is to set `wd = "."`, which means "reprex right
#'   HERE in the current working directory". Do this if you really must
#'   demonstrate something with local files.
#' @param venue Character. Must be one of the following (case insensitive):
#' * "gh" for [GitHub-Flavored Markdown](https://github.github.com/gfm/), the
#'   default
#' * "r" for a runnable R script, with commented output interleaved. Also useful
#'   for [Slack code snippets](https://slack.com/intl/en-ca/slack-tips/share-code-snippets);
#'   select "R" from the "Type" drop-down menu to enjoy nice syntax
#'   highlighting.
#' * "rtf" for
#'   [Rich Text Format](https://en.wikipedia.org/wiki/Rich_Text_Format)
#'   (not supported for un-reprexing)
#' * "html" for an HTML fragment suitable for inclusion in a larger HTML
#'   document (not supported for un-reprexing)
#' * "slack" for pasting into a Slack message. Optimized for people who opt out
#'   of Slack's WYSIWYG interface. Go to
#'   **Preferences > Advanced > Input options** and select "Format messages with
#'   markup". (If there is demand for a second Slack venue optimized for use
#'   with WYSIWYG, please open an issue to discuss.)
#' * "so" for
#'   [Stack Overflow Markdown](https://stackoverflow.com/editing-help#syntax-highlighting).
#'   Note: this is just an alias for "gh", since Stack Overflow started to
#'   support CommonMark-style fenced code blocks in January 2019.
#' * "ds" for Discourse, e.g.,
#'   [forum.posit.co]( https://forum.posit.co/). Note: this is
#'   currently just an alias for "gh".
#' @param advertise Logical. Whether to include a footer that describes when and
#'   how the reprex was created. If unspecified, the option `reprex.advertise`
#'   is consulted and, if that is not defined, default is `TRUE` for venues
#'   `"gh"`, `"html"`, `"so"`, `"ds"` and `FALSE` for `"r"`, `"rtf"`, `"slack"`.
#' @param session_info Logical. Whether to include
#'   [sessioninfo::session_info()], if available, or [sessionInfo()] at the end
#'   of the reprex. When `venue` is "gh", the session info is wrapped in a
#'   collapsible details tag. Read more about [opt()].
#' @param style Logical. Whether to set the knitr chunk option `tidy =
#'   "styler"`, which re-styles code with the [styler
#'   package](https://styler.r-lib.org). Read more about [opt()].
#' @param comment Character. Prefix with which to comment out output, defaults
#'   to `"#>"`. Read more about [opt()].
#' @param render Logical. Whether to call [rmarkdown::render()] on the templated
#'   reprex, i.e. whether to actually run the code. Defaults to `TRUE`. Exists
#'   primarily for the sake of internal testing.
#' @param tidyverse_quiet Logical. Sets the options `tidyverse.quiet` and
#'   `tidymodels.quiet`, which suppress (`TRUE`, the default) or include
#'   (`FALSE`) the startup messages for the tidyverse and tidymodels packages.
#'   Read more about [opt()].
#' @param std_out_err Logical. Whether to append a section for output sent to
#'   stdout and stderr by the reprex rendering process. This can be necessary to
#'   reveal output if the reprex spawns child processes or `system()` calls.
#'   Note this cannot be properly interleaved with output from the main R
#'   process, nor is there any guarantee that the lines from standard output and
#'   standard error are in correct chronological order. See [callr::r()] for
#'   more. Read more about [opt()].
#' @param html_preview Logical. Whether to show rendered output in a viewer
#'   (RStudio or browser). Always `FALSE` in a noninteractive session. Read more
#'   about [opt()].
#' @param outfile `r lifecycle::badge("deprecated")` in favor of `wd` or
#'   providing a filepath to `input`. To reprex in current working directory,
#'   use `wd = "."` now, instead of `outfile = NA`.
#' @param show `r lifecycle::badge("deprecated")` in favor of `html_preview`,
#'   for greater consistency with other R Markdown output formats.
#' @param si `r lifecycle::badge("deprecated")` in favor of `session_info`.
#'
#' @return Character vector of rendered reprex, invisibly.
#' @examples
#' \dontrun{
#' # put some code like this on the clipboard
#' # (y <- 1:4)
#' # mean(y)
#' reprex()
#'
#' # provide code as an expression
#' reprex(rbinom(3, size = 10, prob = 0.5))
#' reprex({y <- 1:4; mean(y)})
#' reprex({y <- 1:4; mean(y)}, style = TRUE)
#'
#' # note that you can include newlines in those brackets
#' # in fact, that is often a good idea
#' reprex({
#'   x <- 1:4
#'   y <- 2:5
#'   x + y
#' })
#'
#' ## provide code via character vector
#' reprex(input = c("x <- 1:4", "y <- 2:5", "x + y"))
#'
#' ## if just one line, terminate with '\n'
#' reprex(input = "rnorm(3)\n")
#'
#' ## customize the output comment prefix
#' reprex(rbinom(3, size = 10, prob = 0.5), comment = "#;-)")
#'
#' # override a default chunk option
#' reprex({
#'   #+ setup, include = FALSE
#'   knitr::opts_chunk$set(collapse = FALSE)
#'
#'   #+ actual-reprex-code
#'   (y <- 1:4)
#'   median(y)
#' })
#'
#' # add prose, use general markdown formatting
#' reprex({
#'   #' # A Big Heading
#'   #'
#'   #' Look at my cute example. I love the
#'   #' [reprex](https://github.com/tidyverse/reprex#readme) package!
#'   y <- 1:4
#'   mean(y)
#' }, advertise = FALSE)
#'
#' # read reprex from file and write resulting files to that location
#' tmp <- file.path(tempdir(), "foofy.R")
#' writeLines(c("x <- 1:4", "mean(x)"), tmp)
#' reprex(input = tmp)
#' list.files(dirname(tmp), pattern = "foofy")
#'
#' # clean up
#' file.remove(list.files(dirname(tmp), pattern = "foofy", full.names = TRUE))
#'
#' # write reprex to file AND keep figure local too, i.e. don't post to imgur
#' tmp <- file.path(tempdir(), "foofy")
#' dir.create(tmp)
#' reprex({
#'   #+ setup, include = FALSE
#'   knitr::opts_knit$set(upload.fun = identity)
#'
#'   #+ actual-reprex-code
#'   #' Some prose
#'   ## regular comment
#'   (x <- 1:4)
#'   median(x)
#'   plot(x)
#'   }, wd = tmp)
#' list.files(dirname(tmp), pattern = "foofy")
#'
#' # clean up
#' unlink(tmp, recursive = TRUE)
#'
#' ## target venue = R, also good for email or Slack snippets
#' ret <- reprex({
#'   x <- 1:4
#'   y <- 2:5
#'   x + y
#' }, venue = "R")
#' ret
#'
#' ## target venue = html
#' ret <- reprex({
#'   x <- 1:4
#'   y <- 2:5
#'   x + y
#' }, venue = "html")
#' ret
#'
#' ## include prompt and don't comment the output
#' ## use this when you want to make your code hard to execute :)
#' reprex({
#'   #+ setup, include = FALSE
#'   knitr::opts_chunk$set(comment = NA, prompt = TRUE)
#'
#'   #+ actual-reprex-code
#'   x <- 1:4
#'   y <- 2:5
#'   x + y
#' })
#'
#' ## leading prompts are stripped from source
#' reprex(input = c("> x <- 1:3", "> median(x)"))
#' }
#' @export
reprex <- function(x = NULL,
                   input = NULL, wd = NULL,
                   venue = c("gh", "r", "rtf", "html", "slack", "so", "ds"),

                   render = TRUE,

                   advertise       = NULL,
                   session_info    = opt(FALSE),
                   style           = opt(FALSE),
                   comment         = opt("#>"),
                   tidyverse_quiet = opt(TRUE),
                   std_out_err     = opt(FALSE),
                   html_preview    = opt(TRUE),

                   outfile = deprecated(),
                   show = deprecated(),
                   si = deprecated()) {
  if (lifecycle::is_present(show)) {
    html_preview <- show
    lifecycle::deprecate_warn(
      when = "1.0.0",
      what = "reprex(show)",
      with = "reprex(html_preview)"
    )
  }
  if (lifecycle::is_present(si)) {
    session_info <- si
    # I kind of regret deprecating this, so let's not make a fuss
    # I won't throw a warning.
  }

  reprex_impl(
    x_expr = substitute(x),
    input = input,
    wd = wd,
    venue = venue,

    render = render,
    new_session = TRUE,

    advertise       = advertise,
    session_info    = session_info,
    style           = style,
    html_preview    = html_preview,
    comment         = comment,
    tidyverse_quiet = tidyverse_quiet,
    std_out_err     = std_out_err,

    outfile = outfile
  )
}
reprex/R/utils.R0000644000176200001440000000263714310727461013260 0ustar  liggesusersis_windows <- function() {
  .Platform$OS.type == "windows"
}

is_path <- function(x) {
  length(x) == 1 && is.character(x) && !grepl("\n$", x)
}

isFALSE <- function(x) identical(x, FALSE)

is_rstudio_server <- function() {
  if (rstudioapi::hasFun("versionInfo")) {
    rstudioapi::versionInfo()$mode == "server"
  } else {
    FALSE
  }
}

in_rstudio <- function() {
  .Platform$GUI == "RStudio"
}

trim_ws <- function(x) {
  sub("\\s*$", "", sub("^\\s*", "", x))
}

trim_common_leading_ws <- function(x) {
  m <- regexpr("^(\\s*)", x)
  n_chars <- nchar(x)
  n_spaces <- attr(m, which = "match.length")
  num <- min(n_spaces[n_chars > 0])
  substring(x, num + 1)
}

escape_regex <- function(x) {
  chars <- c("*", ".", "?", "^", "+", "$", "|", "(", ")", "[", "]", "{", "}", "\\")
  gsub(paste0("([\\", paste(chars, collapse = "\\"), "])"), "\\\\\\1", x, perl = TRUE)
}

escape_newlines <- function(x) {
  gsub("\n", "\\\\n", x, perl = TRUE)
}

roxygen_comment <- function(x) paste0("#' ", x)

r_chunk <- function(code, label = NULL) {
  c(sprintf("```{r %s}", label %||% ""), label, code, "```")
}

details <- function(txt, desc = "Details") {
  c(
    "
", glue("{desc}"), txt, "
" ) } backtick <- function(x) encodeString(x, quote = "`") newline <- function(x) paste0(x, "\n") is_testing <- function() { identical(Sys.getenv("TESTTHAT"), "true") } reprex/R/utils-clipboard.R0000644000176200001440000000301714310727461015206 0ustar liggesusersingest_clipboard <- function() { if (reprex_clipboard()) { return(suppressWarnings( enc2utf8(clipr::read_clip() %||% character()) )) } reprex_warning("No input provided and clipboard is not available.") character() } write_clip_windows_rtf <- function(path) { path <- gsub("\\s", "` ", path) cmd <- glue(' powershell -Command "\\ Add-Type -AssemblyName System.Windows.Forms | Out-Null;\\ [Windows.Forms.Clipboard]::SetText( (Get-Content -Raw {path}),\\ [Windows.Forms.TextDataFormat]::Rtf )"') res <- system(cmd) if (res > 0) { # abort("Failed to put RTF on the Windows clipboard") reprex_danger("Failed to put RTF on the Windows clipboard :(") invisible(FALSE) } else { invisible(TRUE) } } # reports clipr::clipr_available(), with some exceptions and niceties # - if we detect RStudio server, hard FALSE # - otherwise, if clipr_available() reports FALSE, call dr_clipr() ONCE # - use an option to persist this finding in current session reprex_clipboard <- function() { x <- getOption("reprex.clipboard", NA) if (length(x) != 1 || !is.logical(x)) { cli::cli_abort(" The {.arg reprex.clipboard} option must be {.code TRUE}, {.code FALSE}, \\ or (logical) {.code NA}.", call = NULL ) } if (is_rstudio_server()) { x <- FALSE options(reprex.clipboard = x) } if (is.na(x)) { y <- clipr::clipr_available() if (isFALSE(y)) { clipr::dr_clipr() } options(reprex.clipboard = y) } getOption("reprex.clipboard") } reprex/R/sysdata.rda0000644000176200001440000000141014102672630014115 0ustar liggesusersBZh91AY&SY_@@@svU UOM'jji512AFРEOMzLM a SC'cUW@fʧഽ`^0g8,94Kඹ\kuqCY( n7gWڝ%,uNaH U0  ;Gfysjpa G%CϽWOԪ#"$rz>2W6b5-1>Σ(Ǔ,$-0Z/`ʡW K*N>JPXV!ľm[ނQr kT5%WE{aL236ʖAA&SmM]Lنlm WV )f"thwSy&*bj@%la#S tr騻)„Zreprex/R/reprex-options.R0000644000176200001440000000751514310727461015116 0ustar liggesusers#' reprex options #' #' @description #' Some [reprex()] behaviour can be controlled via an option, providing a way #' for the user to set personal defaults. The pattern for such option names is #' `reprex.`, where `` is an argument of [reprex()]. Here are the main #' ones: #' * `reprex.advertise` #' * `reprex.session_info` (previously, `reprex.si`) #' * `reprex.style` #' * `reprex.html_preview` (previously, `reprex.show`) #' * `reprex.comment` #' * `reprex.tidyverse_quiet` #' * `reprex.std_out_err` #' #' A few more options exist, but are only relevant to specific situations: #' * `reprex.venue`: Can be used to control the `venue` used by the #' [reprex_selection()] addin. #' * `reprex.current_venue`: Read-only option that is set during #' [reprex_render()]. Other packages that want to generate reprex-compatible #' output can consult it via `getOption("reprex.current_venue")`, if they want #' to tailor their output to the `venue`. #' * `reprex.clipboard`: When `FALSE`, reprex makes no attempt to access the #' user's clipboard, ever. This exists mostly for internal use, i.e. we set it #' to `FALSE` when we detect use from RStudio Server. But a user could set #' this to `FALSE` to explicitly opt-out of clipboard functionality. A Linux #' user with no intention of installing `xclip` or `xsel` might also do this. #' * `reprex.highlight.hl_style`: Only relevant to `venue = "rtf`. Details are #' in the article #' [reprex venue RTF](https://reprex.tidyverse.org/articles/articles/rtf.html). #' * `reprex.highlight.font`: See above. #' * `reprex.highlight.font_size`: See above. #' * `reprex.highlight.other`: See above. #' #' Here's code you could put in `.Rprofile` to set reprex options. It would be #' rare to want non-default behaviour for all of these! We only do so here for #' the sake of exposition: #' ``` #' options( #' reprex.advertise = FALSE, #' reprex.session_info = TRUE, #' reprex.style = TRUE, #' reprex.html_preview = FALSE, #' reprex.comment = "#;-)", #' reprex.tidyverse_quiet = FALSE, #' reprex.std_out_err = TRUE, #' reprex.venue = "html", # NOTE: only affects reprex_selection()! #' reprex.highlight.hl_style = "acid", # NOTE: only affects RTF venue #' reprex.highlight.font = "Andale Mono Regular", #' reprex.highlight.font_size = 35, #' reprex.highlight.other = "--line-numbers" #' ) #' ``` #' The function `usethis::edit_r_profile()` is handy for creating and/or opening #' your `.Rprofile`. #' #' @section Explaining the `opt()` helper: #' Arguments that appear like so in [reprex()]: #' ``` #' reprex(..., arg = opt(DEFAULT), ...) #' ```` #' get their value according to this logic: #' ``` #' user-specified value or, if not given, #' getOption("reprex.arg") or, if does not exist, #' DEFAULT #' ``` #' It's shorthand for: #' ``` #' f(..., arg = getOption("reprex.arg", DEFAULT), ...) #' ``` #' This is not an exported function and should not be called directly. #' #' @name reprex_options #' @aliases opt NULL optionally <- function(x, opt_name = NA_character_) { if (!is.na(opt_name)) { attr(x, "opt_name") <- opt_name } attr(x, "optional") <- TRUE x } opt <- optionally arg_option <- function(arg) { arg_expr <- enexpr(arg) if (!is_symbol(arg_expr)) { cli::cli_abort( "{.fun arg_option} expects a symbol.", .internal = TRUE ) } opt_name <- attr(arg, "opt_name") %||% make_opt_name(as_string(arg_expr)) if (is_optional(arg)) { getOption(opt_name) %||% de_opt(arg) } else { arg } } is_optional <- function(x) isTRUE(attr(x, "optional")) de_opt <- function(x) { attr(x, "optional") <- NULL attr(x, "opt_name") <- NULL x } make_opt_name <- function(x) { pkg_name <- tryCatch(ns_env_name(), error = function(e) NULL) paste(c(pkg_name, x), collapse = ".") } reprex/R/utils-io.R0000644000176200001440000001654714547626561013705 0ustar liggesusersreadLines <- function(...) { cli::cli_abort( "Inside {.pkg reprex}, we use {.fun read_lines}, not {.fun readLines}, for UTF-8 reasons.", .internal = TRUE ) } writeLines <- function(...) { cli::cli_abort( "Inside {.pkg reprex}, we use {.fun write_lines}, not {.fun writeLines}, for UTF-8 reasons.", .internal = TRUE ) } read_lines <- function(path, n = -1L) { if (is.null(path)) { return(NULL) } base::readLines(path, n = n, encoding = "UTF-8", warn = FALSE) } write_lines <- function(text, path, sep = "\n") { path <- file(path, open = "wb") withr::defer(close(path)) base::writeLines(enc2utf8(text), con = path, sep = sep, useBytes = TRUE) } locate_input <- function(input) { if (is.null(input)) { if (reprex_clipboard()) { return("clipboard") } if (in_rstudio()) { return("selection") } else { return(NULL) } } if (is_path(input)) { "path" } else { "input" } } retrofit_files <- function(infile = NULL, wd = NULL, outfile = deprecated()) { if (!lifecycle::is_present(outfile)) { return(list(infile = infile, wd = wd)) } # `outfile` was specified if (!is.null(wd)) { lifecycle::deprecate_warn( when = "2.0.0", what = "reprex(outfile)", with = "reprex(wd)" ) return(list(infile = infile, wd = wd)) } # `wd` was not specified # cases to consider # infile outfile # NULL NA # "foo.R" NA # "foo/bar.R" NA # NULL "foo" # NULL "foo/bar" # "foo/bar.R" "blah" if (is.na(outfile)) { # historically, this was a good way to say "reprex in working directory" if (is.null(infile)) { lifecycle::deprecate_warn( when = "2.0.0", what = "reprex(outfile)", details = 'Use `reprex(wd = ".")` instead of `reprex(outfile = NA)`.' ) return(list(infile = NULL, wd = ".")) } lifecycle::deprecate_warn( when = "2.0.0", what = "reprex(outfile)", details = "Working directory will be derived from `input`." ) return(list(infile = infile, wd = NULL)) } # `outfile` is string if (is.null(infile)) { lifecycle::deprecate_warn( when = "2.0.0", what = "reprex(outfile)", details = c( "To control output filename, provide a filepath to `input`.", "Only taking working directory from `outfile`." ) ) return(list(infile = NULL, wd = path_dir(outfile))) } # both `infile` and `outfile` are strings lifecycle::deprecate_warn( when = "2.0.0", what = "reprex(outfile)", details = "Working directory and output filename will be determined from `input`." ) list(infile = infile, wd = NULL) } plan_files <- function(infile = NULL, wd = NULL, outfile = deprecated()) { tmp <- retrofit_files(infile, wd, outfile) infile <- tmp$infile wd <- tmp$wd chatty <- !is.null(infile) || !is.null(wd) || lifecycle::is_present(outfile) if (!is.null(infile) && !is.null(wd)) { reprex_warning( "Ignoring {.code wd}, working directory is determined by {.code input}" ) wd <- NULL } list( chatty = chatty, filebase = make_filebase(infile, wd) ) } # we'll index into the (shuffled) adjective-animal list with this aa_i <- (function() { i <- 0 function() { i <<- i + 1 i } })() reprex_aa <- function() adjective_animal[[aa_i()]] reprex_default_filebase <- function(in_temp_dir) { # ugly but (probably) unique ugly_dir <- file_temp("reprex-") # human-friendly and unique within an R session, at least for first n reprexes aa <- reprex_aa() if (in_temp_dir) { # wd not specified --> reprex in sub-directory of session temp directory # example: /private/var/.../.../.../reprex-98183d9c49-prior-boa/prior-boa target_dir <- path_real(dir_create(glue("{ugly_dir}-{aa}"))) path(target_dir, aa) } else { # no infile, wd is specified # example: prior-boa aa } } make_filebase <- function(infile = NULL, wd = NULL) { if (is.null(infile)) { if (is.null(wd)) { reprex_default_filebase(in_temp_dir = TRUE) } else { if (wd == ".") { reprex_default_filebase(in_temp_dir = FALSE) } else { path(wd, reprex_default_filebase(in_temp_dir = FALSE)) } } } else { path_ext_remove(infile) } } add_suffix <- function(x, suffix = "reprex") { if (!nzchar(suffix)) { return(x) } orig_ext <- path_ext(x) filebase <- path_ext_remove(x) suffix <- paste0("_", suffix) if (endsWith(filebase, suffix)) { return(x) } path_ext_set(paste0(filebase, suffix), orig_ext) } path_mutate <- function(path, suffix = "", ext = NULL) { if (nzchar(suffix)) { path <- add_suffix(path, suffix) } if (!is.null(ext)) { path <- path_ext_set(path, ext) } path } r_file <- function(path) { path_mutate(path, suffix = "reprex", ext = "R") } r_file_clean <- function(path) { path_mutate(path, suffix = "clean", ext = "R") } r_file_rendered <- function(path) { path_mutate(path, suffix = "r", ext = "R") } md_file <- function(path) { path_mutate(path, ext = "md") } md_file_slack <- function(path) { path_mutate(path, suffix = "slack", ext = "md") } std_file <- function(path) { path_mutate(path, suffix = "std_out_err", ext = "txt") } html_file <- function(path) { path_mutate(path, ext = "html") } rtf_file <- function(path) { path_mutate(path, ext = "rtf") } rmd_file <- function(path) { path_mutate(path, suffix = "reprex", ext = "Rmd") } preview_file <- function(path) { path_mutate(path, suffix = "preview", ext = "html") } would_clobber <- function(path) { if (!file_exists(path)) { return(FALSE) } reprex_path("Oops, file already exists:", path, type = "warning") if (!is_interactive()) { return(TRUE) } nope("Carry on and overwrite it?") } # goals in order of preference: # 1. put reprex output on clipboard # 2. open file for manual copy expose_reprex_output <- function(reprex_file, rtf = FALSE) { if (reprex_clipboard()) { if (rtf && is_windows()) { write_clip_windows_rtf(reprex_file) } else { clipr::write_clip(read_lines(reprex_file)) } reprex_success("Reprex output is on the clipboard.") return(invisible()) } if (!is_interactive()) { return(invisible()) } if (rtf) { reprex_path("Attempting to open RTF output file:", reprex_file) utils::browseURL(reprex_file) return(invisible()) } reprex_path("Opening output file for manual copy:", reprex_file) if (in_rstudio()) { rstudio_open_and_select_all(reprex_file) } else { withr::defer_parent(utils::file.edit(reprex_file)) } invisible() } rstudio_open_and_select_all <- function(path) { rstudioapi::navigateToFile(path) # navigateToFile() is not synchronous, hence the while loop & sleep # it takes an indeterminate amount of time for the active source file to # actually be 'path' # # DO NOT fiddle with this unless you also do thorough manual tests, # including on RSP, Cloud, using reprex() and the addin and the gadget ct <- rstudioapi::getSourceEditorContext() i <- 0 while (ct$path == "" || path_real(ct$path) != path_real(path)) { if (i > 4) break i <- i + 1 Sys.sleep(1) ct <- rstudioapi::getSourceEditorContext() } rg <- rstudioapi::document_range( start = rstudioapi::document_position(1, 1), end = rstudioapi::document_position(Inf, Inf) ) rstudioapi::setSelectionRanges(rg, id = ct$id) invisible() } reprex/R/utils-ui.R0000644000176200001440000000360214310727461013664 0ustar liggesusersreprex_quiet <- function() { as.logical(Sys.getenv("REPREX_QUIET", unset = "NA")) } local_reprex_quiet <- function(reprex_quiet = "TRUE", env = parent.frame()) { withr::local_envvar(c(REPREX_QUIET = reprex_quiet), .local_envir = env) } local_reprex_loud <- function(env = parent.frame()) { local_reprex_quiet("FALSE", env = env) } reprex_alert <- function(text, type = c("success", "info", "warning", "danger"), .envir = parent.frame()) { quiet <- reprex_quiet() %|% is_testing() if (quiet) { return(invisible()) } cli_fun <- switch(type, success = cli::cli_alert_success, info = cli::cli_alert_info, warning = cli::cli_alert_warning, danger = cli::cli_alert_danger, cli::cli_alert ) cli_fun(text = text, wrap = TRUE, .envir = .envir) } reprex_success <- function(text, .envir = parent.frame()) { reprex_alert(text, type = "success", .envir = .envir) } reprex_info <- function(text, .envir = parent.frame()) { reprex_alert(text, type = "info", .envir = .envir) } reprex_warning <- function(text, .envir = parent.frame()) { reprex_alert(text, type = "warning", .envir = .envir) } reprex_danger <- function(text, .envir = parent.frame()) { reprex_alert(text, type = "danger", .envir = .envir) } # TODO: if a better built-in solution arises in the semantic UI, use it # https://github.com/r-lib/cli/issues/211 reprex_path <- function(header, path, type = "success", .envir = parent.frame()) { quiet <- reprex_quiet() %|% is_testing() if (quiet) { return(invisible()) } reprex_alert(header, type = type, .envir = .envir) cli::cli_div(theme = list(.alert = list(`margin-left` = 2, before = ""))) cli::cli_alert("{.path {path}}") cli::cli_end() } message <- function(...) { cli::cli_abort( "Inside {.pkg reprex}, we use our own UI functions, not {.fun message}.", .internal = TRUE ) } reprex/vignettes/0000755000176200001440000000000014642106747013602 5ustar liggesusersreprex/vignettes/reprex-dos-and-donts.Rmd0000644000176200001440000001216214310727461020217 0ustar liggesusers--- title: "Reprex do's and don'ts" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Reprex do's and don'ts} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- If you're asking for R help, reporting a bug, or requesting a new feature, you're more likely to succeed if you include a good reprex. ## Main requirements **Use the smallest, simplest, most [built-in data](https://stat.ethz.ch/R-manual/R-patched/library/datasets/html/00Index.html) possible.** - Think: `iris` or `mtcars`. Bore me. - If you must make some objects, minimize their size and complexity. - Many of the functions and packages you already use offer a way to create a small data frame "inline": - `read.table()` and friends have a `text` argument. Example: ```{r eval = FALSE} read.csv(text = "a,b\n1,2\n3,4") #> a b #> 1 1 2 #> 2 3 4 ``` - `tibble::tribble()` lets you use a natural and readable layout. Example: ```{r eval = FALSE} tibble::tribble( ~ a, ~ b, 1, 2, 3, 4 ) #> # A tibble: 2 x 2 #> a b #> #> 1 1 2 #> 2 3 4 ``` - Get just a bit of something with `head()` or by indexing with the result of `sample()`. If anything is random, consider using `set.seed()` to make it repeatable. - The [datapasta package](https://milesmcbain.github.io/datapasta/) can generate code for `data.frame()`, `tibble::tribble()`, or `data.table::data.table()` based on an existing R data frame. For example, a call to `tribble_format(head(ChickWeight, 3))` leaves this on the clipboard, ready to paste into your reprex: ```{r eval = FALSE} tibble::tribble( ~weight, ~Time, ~Chick, ~Diet, 42, 0, "1", "1", 51, 2, "1", "1", 59, 4, "1", "1" ) ``` - `dput()` is a decent last resort, i.e. if you simply cannot make do with built-in or simulated data or inline data creation in a more readable format. But `dput()` output is not very human-readable. Avoid if at all possible. - Look at official examples and try to write in that style. Consider adapting one. **Include commands on a strict "need to run" basis.** - Ruthlessly strip out anything unrelated to the specific matter at hand. - Include every single command that is required, e.g. loading specific packages via `library(foo)`. **Consider including so-called "session info"**, i.e. your OS and versions of R and add-on packages, if it's conceivable that it matters. - Use `reprex(..., session_info = TRUE)` for this. **Whitespace rationing is not in effect.** - Use good [coding style](https://style.tidyverse.org). - Use `reprex(..., style = TRUE)` to request automated styling of your code. **Pack it in, pack it out, and don't take liberties with other people's computers.** You are asking people to run this code! - Don't start with `rm(list = ls())`. It is anti-social to clobber other people's workspaces. - Don't start with `setwd("C:\Users\jenny\path\that\only\I\have")`, because it won't work on anyone else's computer. - Don't mask built-in functions, i.e. don't define a new function named `c` or `mean`. - If you change options, store original values at the start, do your thing, then restore them: ```{r eval = FALSE} opar <- par(pch = 19) par(opar) ``` - If you create files, delete them when you're done: ```{r eval = FALSE} write(x, "foo.txt") file.remove("foo.txt") ``` - Don't delete files or objects that you didn't create in the first place. - Take advantage of R's built-in ability to create temporary files and directories. Read up on [`tempfile()` and `tempdir()`](https://stat.ethz.ch/R-manual/R-patched/library/base/html/tempfile.html). ## This seems like a lot of work! Yes, creating a great reprex requires work. You are asking other people to do work too. It's a partnership. 80% of the time you will solve your own problem in the course of writing an excellent reprex. YMMV. The remaining 20% of the time, you will create a reprex that is more likely to elicit the desired behavior in others. ## Further reading: [How to make a great R reproducible example?](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/16532098) thread on StackOverflow ## Package philosophy The reprex code: * Must run and, therefore, should be run **by the person posting**. No faking it. * Should be easy for others to digest, so **they don't necessarily have to run it**. You are encouraged to include selected bits of output. :scream: * Should be easy for others to copy + paste + run, **if and only if they so choose**. Don't let inclusion of output break executability. Accomplished like so: * Use `rmarkdown::render()` to run the code and capture output that you would normally see on your screen. This is done in a separate R process, via [callr](https://callr.r-lib.org), to guarantee it is self-contained. * Use chunk option `comment = "#>"` to include the output while retaining executability. reprex/vignettes/articles/0000755000176200001440000000000014642060466015405 5ustar liggesusersreprex/vignettes/articles/suppress-startup-messages.Rmd0000644000176200001440000001031714102672630023235 0ustar liggesusers--- title: "Suppress package startup messages" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Suppress package startup messages} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` Sometimes your reprex uses packages that emit messages and warnings at startup (dplyr is a very common culprit). In general, these are worth reading! They can alert you to the root cause of your problem, such as a function in one package masking a function in another. But in many cases, this is just distracting, startup noise. How can you silence this chatter, specifically? We don't want to suppress messages and warnings, in general, because they are an important part of the reprex. ## TL;DR Here's a quick look at various techniques. They are described in more detail below. Call `library()` with `warn.conflicts = FALSE`. ```{r, eval = FALSE} library(dplyr, warn.conflicts = FALSE) ``` Surround a chatty `library()` call with `suppressPackageStartupMessages()`. ```{r, eval = FALSE} suppressPackageStartupMessages(library(dplyr)) ``` Break your reprex into "chunks", in the `.Rmd` sense, and use a special `#+` comment to silence messages and/or warnings for the chunk that holds a chatty `library()` call. Note that the second `#+` comment is very important, so you don't silence messages and warnings for the entire reprex. ```{r, eval = FALSE} #+ message = FALSE, warning = FALSE library(dplyr) #+ slice(iris, 1) ``` If you're using one or more tidyverse packages, consider using the tidyverse metapackage, literally. `reprex::reprex()` has an argument `tidyverse_quiet`, which defaults to `TRUE` and silences the startup messages. ```{r, eval = FALSE} library(tidyverse) slice(iris, 1) ``` `tidyverse_quiet` also silences startup messages from the [tidymodels](https://www.tidymodels.org) meta-package. ## dplyr is chatty at startup dplyr is a common culprit for noisy startup, so we use it as an example. Note this messaging as a baseline. ```{r} library(dplyr) ``` ```{r include = FALSE} unloadNamespace("dplyr") ``` ## `warn.conflicts = FALSE` To suppress warnings about conflicts, set the `warn.conflicts` argument of `library()` to `FALSE`. ```{r} library(dplyr, warn.conflicts = FALSE) slice(iris, 1) ``` ```{r include = FALSE} unloadNamespace("dplyr") ``` ## `suppressPackageStartupMessages()` Surround `library()` with `suppressPackageStartupMessages()`. ```{r} suppressPackageStartupMessages(library(dplyr)) slice(iris, 1) ``` ```{r include = FALSE} unloadNamespace("dplyr") ``` ## Set `message = FALSE` and `warning = FALSE` for a chunk If we were working in R Markdown, we could suppress messages and warnings in the chunk containing `library()` calls, then put our "real code" in a different chunk:
```{r, message = FALSE, warning = FALSE}  
library(dplyr)  
```

Some text.

`r ''````{r}     
slice(iris, 1)
```
We can do the same in plain R code, suitable for `reprex()`ing, by using special comments that start with `#+`. Note that the second `#+` is significant, because it begins a new chunk capable of emitting messages and warnings. ```{r eval = FALSE} #+ message = FALSE, warning = FALSE library(dplyr) message("You CANNOT hear me!") #+ message("You can hear me!") slice(iris, 1) ``` ## reprex knows about `tidyverse_quiet` The `reprex::reprex()` function has a `tidyverse_quiet` argument that defaults to `TRUE`. If your reprex uses one or more tidyverse packages, consider attaching the tidyverse metapackage, instead of individual packages, in order to enjoy a quiet startup. ```{r eval = FALSE} library(tidyverse) # instead of library(dplyr) slice(iris, 1) ``` ```{r echo = FALSE} suppressPackageStartupMessages(library(dplyr)) slice(iris, 1) ``` Note that this default behaviour can be overridden by setting `tidyverse_quiet = FALSE` in a specific `reprex()` call or by setting the option `reprex.tidyverse_quiet = FALSE` in the `.Rprofile` startup file. The `tidyverse_quiet` argument and `reprex.tidyverse_quiet` option also affect startup messages from the [tidymodels](https://www.tidymodels.org) meta-package. reprex/vignettes/articles/learn-reprex.Rmd0000644000176200001440000000450614102672630020453 0ustar liggesusers--- title: "How to use reprex" --- Materials from an [RStudio webinar](https://resources.rstudio.com/webinars) delivered September 2018: ### Help me help you: Creating reproducible examples with reprex What is a reprex? It’s a **repr**oducible **ex**ample. Making a great reprex is both an art and a science and this webinar will cover both aspects. A reprex makes a conversation about code more efficient and pleasant for all. This comes up whenever you ask someone for help, report a bug in software, or propose a new feature. The reprex package (https://reprex.tidyverse.org) makes it especially easy to prepare R code as a reprex, in order to share on sites such as https://community.rstudio.com, https://github.com, or https://stackoverflow.com. The habit of making little, rigorous, self-contained examples also has the great side effect of making you think more clearly about your programming problems. Webinar page:
Video of September 2018 RStudio webinar about reprex
Slides on SpeakerDeck: reprex/vignettes/articles/datapasta-reprex.Rmd0000644000176200001440000000504414310727461021316 0ustar liggesusers--- title: "Using datapasta with reprex" author: "Mara Averick" --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` While using a built-in dataset for a reprex is ideal, sometimes you need to troubleshoot code with a bit of outside data. Meet [datapasta](https://github.com/MilesMcBain/datapasta), a package by [Miles McBain](https://twitter.com/milesmcbain) for "reducing resistance associated with copying and pasting data to and from R." Like reprex, datapasta has addin functionality, so you can select commands from the RStudio Addins and/or associate keyboard shortcuts with them for easy use. ## Scenario 1: From spreadsheet to reprex with `tribble_paste()` It's easy to copy and paste nicely formatted data from a spreadsheet with datapasta's `tribble_paste()` functionality. I've found the simplest method to be: 1. Copy data from a source onto your clipboard. 2. Click **Paste as tribble** from the datapasta section of the RStudio Addins drop-down. 3. Be sure to assign your data frame to a name, so you can use it elsewhere in your reprex.
Gif of using datapasta::tribble_paste() to get data from a spreadsheet as R code for use in a reprex

datapasta::tribble_paste()

While the output of `tribble_paste()` doesn't have the same level of detail it would with [`dput()`](https://stat.ethz.ch/R-manual/R-patched/library/base/html/dput.html), it works well enough for most scenarios, with the added benefit of being easy to read on the screen. ## Scenario 2: From R object to tibble with `dpasta()` Now let’s say you have a data frame in R that you want to use in a reprex. You can use datapasta's `dpasta()` function to render your object into the same format as the result of `tribble_paste()`, above.
Gif of using datapasta::dpasta() to convert an R data frame into the R code needed to define it in a reprex

datapasta::dpasta()

## Fin There's more to datapasta than discussed here, so be sure to check out its [documentation](https://github.com/MilesMcBain/datapasta). Don't forget, when it comes to reprex, less is always more, so wield the power of datapasta wisely. reprex/vignettes/articles/img/0000755000176200001440000000000014102672630016152 5ustar liggesusersreprex/vignettes/articles/img/dusk-fira-35-line-numbers.png0000644000176200001440000014144414102672630023400 0ustar liggesusersPNG  IHDRU[ iCCPICC ProfileHWXS[R -)wHދtH*vtQ"]Qq-,*bW,I]_s39fPafJdQ>̄$& @ \0ew ܰ*  q GΆ:;W ĪH".iR.)Rl) 2 ,`8 b6|6=,!΁X iwq3e<&6Hfߒ%[Cj (J3[MfNS!nᧄG@%Gb/EA2 i/b-Xoc $ p 'J-gL\M*/ bix)O\/.b;ѡ2Džc6Q!RQRL=[8ffIւyI}0!l/qX7 vO̷87+RffFID^χ &$)[k87?2F GA~ Dpxt&.i<%3| qpG2Pe\+G&xq6{nxw]c~ bl΂CxF \ ,o]'[n=JȬf?0gF e}v1d?3pM`Ox07h۷Z 2)ow(Ո?Zb+E vk;5aI1N[-J-|aml}qܹ7'w1g[[2llҭ-Cg#+ty@e7l@oǀ(@~@Spn b@"+!9`X A)X6`'jAp4p\WA'/ #BG4]@gG($IF>"B ːR يFj_2҅Cz~ P*j$FCt&桅rt ZV zv/! `ì0gTL-Jr ;5|8L f<|ߊ 9ރ_ 4J&$sńr>qyD"hBte"18XOl%v{C$IdAr'EX|R1i 4:,O%ۑId>\NO>EN~NS3s͓[+WY\EbBqP2(K)C󔇔.yK+_HUS}3"j5zFӼhI|Z-,1]Z!XXRA+E9E#EoYG)()+*)U*P4LWUPV^_  Ge*tn@{}DU` RՃj*jUTf` cF0#qqi &p}{^\z[455i4h<90QuDĒG&B̵kjޢ}V{@㥓QN.]CQL573Y< 7я/үd@1p6H5hf0hk8pa}#9#gtF0n4~anlRhRgДfigZezӌhliݬ5w0O74fZ8Z,[tY,],UwVVVuV= 0"FW '%MZ?⤯66Y6{mت؆6۾3cUݴ/o=b2wwSV89|qtr8rw2tJvtY9y%bG\rrtbSzYݻ=<=>=mނ zz/ܽYm.YJY"w5/^dyO?+ p[s%c-pJڔ~^^}g۟+~]cn\_S\VXֻaꆆ̍%mr)E+*nY*}*im[v;vکt]]wwn2*CS޸qv}_5Q5jjkk_[։8y`!Ca?~M#mG:ftlqa^`czcwSbS׉mnEɵ(=]xz5uLڙ޶m&ynڹ/]pӗ/\v|ƫWڏǎkNך:]:ty n߼z+Vw̸}sŽ{y!a#G叵Wݎ'{zڟD?y}Tsggu׾{?^(SmL_ׂףoVx[n򻶡ȡ#K>h|OG|&}bkׇ٣,Kr@SSxS -:(H^AE  Kgq %38 §P{!a4`FGj@j`ttd藽=Zw>~u??m%ߓ pHYs%%IR$iTXtXML:com.adobe.xmp 1002 220 }?iDOTn(nnmꂈ@IDATx]ֽb$@ $݅x%D^8 !.=5[ClLN/{/;3-է\MUak$"   @ uW\    .7    "bHWA@A@A@!r   .B@.tEA@A@A@.    "bHWA@A@A@!r   .B@.tEA@A@A@.    "bHWA@A@A@!r   .B@.tEA@A@A@.    "bHWA@A@A@!r   .B@.tEA@A@A@.    "bHWA@A@A@!r   .B@.tEA@A@A@.    "bHWA@A@A@!(W4mٶ=^-vN:5/^ve)UR{ڵېA@A@ f[;+/?KǟHA GCߛ>+qVDeYTD*lє^?4gVjWy >.EmiHA@䊀dv~zྻU=Fw& oܥZm1|効YԾ(V~{ʜ93]z>)>|uj߮:Ћ}ߖ1-jWZ, nA@[~3tg[Ԗǟ~?`OD܊@j6WԢy[SNU*U~lΞ-H ;>M>ϛԪe3<A@A 9# D=\=>={ǟz>Lz/;yeҹZnFzW)iͣ\}(gΜ}?9>AY;RmT[k֮'Xy…ۖA@A@H[ (Mttrrr7"}vǭŧU[v߃O^G[iD&O?0ۻ¾}龇͝. wHI}AylF/6p1կWG55bz7JneA@A@  R ը`R]"Ĝ:AmV=̘13UՐdˡ߶q5߽MUʕ_~GiӦKdIv]q" hҨ>}G$bL?$}=!TR^Tpa*Q0e̐A2mnZb%\.E@١m+7}:rx};f˒GJP u^-  \E+TG֦lYSǏ9MlJ_\TK޻ݚ%shnre˨.}ManCBDt_(_eϚJ-BTs?.&ʆCbyݏii4~oظ<Iu/E A?~zRYsH~ .B>ܥz$lHΟV(OW\*ZI_ VmΡ)=+BǏJ9rx}DP..ZJO?jX}A@A@HND#mPYns;| fWVw3~}iwANjܙӴv|oҸ&mou5Q%9V#Uur29+*^Z4d{ePԩsA ь ܩI.9=T"#>BFt2ҥsm>KfxzsNL7[žo M>My&Ө)S> >N={ܡڙˊT<*FÛѮ={jA@AF DV-=.^ Ycl؊JH1')[vO ߣѼm/PYekڼz ]fww-n&磱]7I-Y9S&z\.5{$\ 6ϟO\cQ5.A8˯2Qn9G2g{\knj]x)]}d\2պ>{Zf~ϻSS|UVΝ\kg#%cSʿGf1K7oJPnVB8HGmÛ6ӚH<&VV n9~NըV~yҪݭIwݨYzfϡ?G] ZJ4h7j8~<9Рy[:|T0˶  $[Nk7jMJWPDڒ97טfoS r҈_{ U97$:薮w'$=w{‹Ï=G֬lD(c Fq!}{ԼYcu9In$i9a&8 &̚a^^\ {W1ZXw&%픅;/_l"#1ٗ誃R_ -}*k GOä8GTzx0GԲ+Pߣ Y=:6g/ݴ1ux̍|eҥUhw7Z`Z3j4GLHFړIv}Xym$悗z36AG̅>Ϛ6Fܣ~֬ ϥ^wE 2m,zU)  @ԉ\A *Y2ڲV.E?Hiyʫ͜0N?Errܠ}njm:lzK7+m~S]hBq}| ]n싯n5o?%J?<Wm[[Ҕ?ݺRa1SmdJ4QǺ|B͞~2i1Q.{"в` Z93[;.+1yCYϱ9r.>C_.!kZyJ,yx ]R^*$ `E U;&QG@OMSmZ)pV{)a>SJT#.|Xyd%5XNf,m47_ LNT!N?ZmNJ;~8uz!AA@d@ԉ:gse_2w2ߵ-p_o{+htt,ԍKy/1r`D¦Z5S07GB Ky.?/-;[odwz?LǎM4<Ч=.Ƅ&)M;Ұ%dq_QLĎEnبHzSЬ7f|$z!h)[=Mc>w/pzs\h zO3ڽdi@;{yOu!7hKTu NlD"o!+6MI%?P..U7aL.&Q-3fO8E^3~yx1 jMml^Wϼb)zeȩ0s<*>p|~^uoͦM|N:ORnMgsՅ_yn)}G);-yOȥt) @r@ D x؋{&ֻ45M=mԪ3/Ɉabڼ6n&G%Zg?ncY3]1V1u"aiT[U05Qǟwmuı#JLrHZVew~^_+iSTS ~XIJ<߉={iO8D#g7ID^#nu_k9ڬӫ_*OPUk}N޷D}7dv kHOLKlzP>gw$S\+>>ÙށQ$屇rz#|Yi1}xoA@A@܌@T:Jc"eʿ1'Ugkz)Ji߼*VZܱy-^2Grf>oxJY!auqCDⲂ b~c` ;\ϲ"Ǿ !'Mo7.]2ܲ Wbt͗1]<ޡWޝ]!}O&^'&QއsBsue Vg~VoD{CKOD6AzrrĽWҸ7ߍ>QNj@%QQzk~LԍL@X<Ẳ 4'}_9:om?(ކ!}ʓoǎn!NđMn:F  .D D=k^^X&;??̈t^3 Ue&Q߹eZEVO7ٜA9S)}MrlQGtѣI6lO8 K)BoY=Rq/wnd_˥~6<ӻ=;j Wuo6̹ǟX^1  n@ DN:zfTBUڷk+-{ݢuMBy Wڴf)mSN/hԘ P@~/g?￷'={$r+Q`ãhێn/vc?;~ ,Gƌ4q$ӿ6MI&QrkOł tftϽB cJr^t=HbcU~3GBg>~V!cᱧ[C=FNBbx!(myP'   XD㤺0Uc3"6Մv渿)x&+Zk:_Sre)}M`96ı{_S;wsUVe6oR6-]OsmR ߣĴӜPngJ ^a}[> ']xxZ|OV-/UbxLtx 8&,갬C^co-wyJ?d, ~+/=CwvE8c['Q|Fͻ{ " @ԉ:b;e;|mJ+T{h[oʔ3]4k"+q3Qcqlȯ\>[.ȃߔ#G~礃|;\ky5:uSDݩ (efZMHӿ>{ r6-HL/cvW*% PyKJ)_$C>λ{&|EmJw}K*hЀoMhskrgx;%_A@A@HNԛr+Nm9';r`/e"cgN8;wr i#ı-,n&?Nu~ -U}䟪+69stq1aS6>W޲uHx䳯О" KiD@ PKIX8G6n1a7r\@>6@z>p[Ev  $7Np[֯TıLtp.Z}%[ԺKɜ\\:B_L[6kL:%mv.n}T,)&5kT$Jq6ǜ,X!9#Μ.=]'[cXQ/_4?g?sD6ng.â}/lz/|iָ}]#X9B}&c  :QOˉ:qו:Nk7SBdHkͣm|lMիUQݏdzST7nR} A:Sje&_{>u,MԪA|Ug>{}ID/?BU*+v.\L_LӋ9sd6$' UuH8ud9+9p}a&gŧg;/_&$;RDSiCA@Q'ꀪVÖTL%/j'Gy/nS֠WФ 31dzB@;r]rECg.vwoM7&O/%Hr ֡..wGg8s0緁5.aw?,7]:޻g7ziO-\j UuӥUKZv?|8`3}y/۱g/u 78=[9wxt8i*' A@A@H#A07D=}LԪӝ1ymdw;QmߩP#QO>yZ4oڛ;o!= ˜)=x_O {ZNIP>\d@neɁۿ V;nҹS⡙.Z"mT-?9JFԳdLfOHԑkwSuNwEQ4{Rզtul̻_ekzŬ|*zCi&>Ya33dȠ{aӖA@A@nT\AnFX gVRm/]EJPe)K6O/ i˶A}Z.Rx~d?uHΞ9M;67`?nfklUbrsGn6wk/Ξ=풰1#.\rԳޮ}@o/HV妎iC3CFg K3,׍%Fy6vjUߧ4HCit:̤2{cnfM)q?/rjYQmoۚ/f{rmܨ]`%ʳ?̉y-HxѡbBᇼuѱ|=YσŻ0ޖ R\94~,26gdb4U5V='˘GBL9W큀Ymp] ~ߗST7Bz\p!59O;@{ڷk?{}#wM>zMjˮK.ɹ `a::ܐGdϩ$&QGW(O|nׯ14iϲvxGTz5o/K~LKIjn ʕ+ӠߩOڝlq~۝Ԡf m3m:2+I^J?9թ]S5?ǓOy\V4~s6A@A@C5DDe5Lj^k8bqɶ5ӹӱz$?f96&~ʛnu% 23AZy 2=vޕ v"u1f3Qɣ͞|p"Lq4(NC6oPwgr'8rd=-߿$xwhNv]ũS Wqť>q۳O=B{uW%ppT4h@?x6ǥOtA@A@R"|RٹT[:, 9qn7~6_G?„aϾ:-Z,iڙ'ԩI&xiRSV pefoH6Nm_uiPf!βzr;Xn 39^W(ŤMMqm8rc^4~۸?/-U2OGǷn}-=7Kqc Eθ6繝엯Rw}̮0;Ο7}?}Jo`w`TP#!\ygv' Sg N ABHm7w7^{Q5uiV@[g'voHjo_|?Z>A@A@HQ+d۷mE;:17hŪ5͒bwUp.3 -XW=Y,/}0;sAvP1!OKgr橞?9_vqf"Szztzw1xjY":ݷx^ZMش_+ }^87 ?OKw+DO|Z(;+_G2ѫt9mŨ;yEÐyр9i4#?ܧs?o9yFmӆϿ䍢yha֌42HnU9w EC'遣([P)dO`N;O6ŸC1{D>KK>P&4R?M}x?U2-͒QXac?28s7J[.Æq ԋg_8=[6gT1.W'FO  $>Bo/=9mZ 7b g/+q4+{fœ#`Aԯ`.zcqDV^.'Nqby524OV;DVLvc2fL:!)d=+6eHG?)Lv1,yd<^|̛ؐgtވO #3ɤ%LvdTye忯LAȄOrw_GG2ƄG^&2S VX<_1{6${U 42 9JeXpf@7VhC@W>׉|οb"=[W21yIy]V rޛ}[Vt}KLOg ]+ڴj/PWߥWZmeۓW3ϿQ|T@ˑ~#j'A@AMQw/Hu-" pc!g;XXw  $-*   zIA@A@A@RBSՖsA@A@A@p=B]   ) !)j˹    !ꮿDAA@A@A@t\A@A@A@\u_"   @JB@zJ\sO {W\V&)W,_ҧcFV   @B@zʺlVAUj7ӄ?&)Weɖ!7]FV-A@A@u QON:.  A" D=Hd `7юMktڵtıˣ {ܔ:M/^"bxX# A@A@kzT(CL&]:: ]|9싅6eȨ&"o^6\<:nrUjQ ՚Fs ѥK-JYɔ) ]zΟ=ѓO&-] C%?/Dx I^W\d):u]j~\8^>'9}wi(C?wDY/c7?ߧ>8{8glӥMh<6t`Ҧw7"^4i݇gCswT¹sSD32gUcF$]xf^bvZ$% kzҥH6M?2fywEܘz|tjTh)52 ڽm#[RWDTDʕi/_D]{b|fʚ6nszÖdSp5nsZtpNڲ~TD5P~vmQ,SQ*^2.^rCxkx߽vmYO'ы]ףb,?Ν T*TL%ʑ; LMc}|{}m:~@(ͨ1E)P_0>srpΠ$T|_y)nL)N7Ν TRsKS(wBj aϛSiۆt.HH98~c%1ڷ +1 Lp"RVؽ0_PTA 5زz2g|;EyN0v̕ -/K!Lވ`6dʒUg»0e(ޭcNwA~0O F+QaރTsK/3SqBg1O>gGX607+c5ϻttQPZ;=SǏ9/@`QѰo{ՋgJKX:n/?M 29du"XBQ%):&U9aȺMkKψ|$nз_X/8Q?1a M &vk>v(2 V`]׼A)OP`!Q57W8w-5,a[AK $%r '-]PnX_k4A:M+ ;&"*ע *m|vW-MRTy,mvKٓıv$rYv֦n< >-;p[F[g=/LϞP:ܯUk5fVKr=g|PI=J{cC{X l0Zd#yF (&W-b e!W[Ֆ͝LYD,B3__y/m(R-hz^YVЋ|B:oI\CM"KV+X@a`=i(Oj5l`ppÜ@S'Y{VE&Q˹Zf'GSA6hI-_"iwLj@x8^3^BZ0d䉣ʕ)kyas@N1EPNS(Dfn'X) Pxb^P1¹Z/;+ 󧍡#ANL ) <^c<>y>}E*RK6mK %,Nb:v< X Ӣӝɼح=eIL<M._^vmzRY{ }.{x-{.)lq9XK]ܸyX=BK2k,gfMHsE7Hx o'ԳɢyCp`vKOLWRs!jˡ""[(+֨Ocl: ܾsgCxA}2{?AYq_׬"w>`Dll ~aF?P*1 ~qeˑ=~x{h + EW]~9?>+r(}J}@zkV cߥQ,e&|}!)t~Bބ=K،v,|F-u)&S+J(Dv@ıCJK}\XQToxl͙8үAs.<'zL>ɣPLC KG쥅3%7m{k<2 +Cp̚0̯wIu9%R_'Nx\gxq} k@؈ynx70~qs/+:.B{z/ܖV-#7l{s5tҹ?l{s/kO0 ZVq;D.;jי< Oq''QsQ@M&kK` ڪQ9%XԡlvL+k)7Y@ k0(k KO0'#MK(DݜtK:,5x{#)Vn# Mܢvkt#rndeՒ9g?pܙaҊ5k>c]y yޥ";D7,ɫk/@6$jp1whM n ?aF;\ ' :oh [Zy$WH8LC`UD%Mk\4O鏩NwaMG$T%9Rlɖ@YIRy]t2Ar$Ĵ#4+xl fvʀpŴ"#o>[qo$2-OL@B +=~kWL٢rOL7@vuPBA07?lIP0o꿖a!<wSeq+Q=qj?eM[;G>a~VgHɭ ^:4|aE1% 9b ]wCGٲ>s*Q7N({+ow r/& AxY{VZh 9 vK=b9rZXQ'f2Xħ#>JFbW4ia%ZDɛg|϶qB֋&8\w+Ku}w$ݧE6DydGd-LzB "lfkHZ枏x5v %YɈ| ?q61'`Nn E"~u,RdbVfXP& nCv:!;#P5˜䙖:'!(vNԑ#9[NCMŠSqnu9BUu*{Z`AdQ"2r E-ؘ QG힓Pqfbf* xEtG5.0vȀYMυHux a| ݤ3ϻBnNj  '1BPf W4D7, 0Z^e~;Idd3;sCE/YARqc# mf}^5ORdŤȟ89iAv57Jbu4']nRdIP`b6 i;t@+&8 t(ې'804JEH';yclDҵHH>\#Vn|$U:B`P&0\1%A{̏b>ZBuNVԄ>W3%tQR*jD4dys _cP b:1 -t{.xXT;Q7CZůS1]7%vp3ؕN2LD"#s]u*Hs [*Q7(bLQ{pSW -l:f"Eu:[WՊx+8N6xC dZ˘~L0sHN(1іu;ekOY9T4u`:w:V%irXxPY_$jVhn>AJH0d.޽mȂX-#:9bMN九 2jqC,Cj vF)7uS0 R 1KDĖK^5埓@i#N AJE$ڇRQgv&YNV@ͽk܎M1Y(q8lj澰Rf"@Y9q"sH@Y5q4c͘Ixx0(2<YVj㤪' O/2_V)XI,Kl&]Rubafi\ns"fI6|XL|MSsQko>iU{(dM2N/_139mߴ:.JME' (q0Mwejsz@-zAr\8Ag#yjڅ鹧Ep dW%u:n喀ܰBL JDPBYMQO'+W"]q#ċ:cޣ= LqMh+,u7_8 d)Oll!ꁴpB\$^p:&]C|˞%,%bXs D[YBm aQb5EA@R: keǩ5̴ E9}r(uFIu35JsB5W0w9ڰGD[ȵ'מ">3# 䐱ĥ"1O`sAΕSFe=Ƴ ofhvmZnKb*(tQ͛JO,3':lzXypG#K1/L S.8n^lȬ$RɄTcaY=7 w_35Ƒp*unװpF[G $M5(aU)zp&.8.cZ`}\ 1 ոh&$QǘY7U7X0wL3{!T'*s]p Υ'Nb2sx~iM][`r`8mZ׭A5=+U eI 1߭N=Js撰 Zp^p'9ya9IYp?^+ } qe+$ꁎg|ʅ*YWm7a Wo$]S6+Nru$ӖP_7vܓ86aZfxG[8th=+_(Bi*Q7=7p5ym' j`+ An*uuøSx7[7چ'`yP3DũGZ~Lʍ]D͹oxaف-*Q ߁RlMph݅koesy6ޝ[XK3Uw':J FQ~a@K[$izƃM)B}(Ҥ(= 2 Up,Q EP^L'(^sadN(uHn 4g(5>a34׍n71>J}~HB˿ .ZLnFou1@ gdzBAX`X''vkoAɯ)BpV!`+OD׭XҾ !J` n[:''\|viZ+Hu3 ^Ƹ~g,tYwuE` 4Z0¥P4R"MJ1֥T @$)2xj) [ k,)WԎ_ǠT@rJKLLpRANn[u cB4@8a҉eQ:h*Vz3e=K"a";q!.Q$8MtV9e\ e8_3 '/0fI6;_C63D\ۛY̬bZ}cM&>/(ÛqlsvN ٲn$~Cԡ8@lV2u3_P؛϶NVRcxiX*ޯh@iվ,|YJ7\j>x1]6?`س9/1ښ4%?)?J΁u- \!Dľ][U,D6jE?H߄kx 7&]zW/UgףAy4̀.  WaFFd*v O ֮i3'/`w[vbՍ ML!>\DUmzRrY-d %fĸ7FԡE@L Vԥ)W-Жrݜ,xBu}7hhpnL9sS!.V&M[,c Wv1 ' U_eI妏0.Jpm¢tT.ky[G"[=YRdjqu:טkUŌDvH;!K;> 9-/hcG3_+NP$+놕haZv(Ԑ"8}j(c+c%|q3%JL\Mԡ`GNP㵝R\{s]ya{<$⛷L=1sN@98R%c&nEx"tƘcs}}>8nz@8o\p{A>vFx@uʳˬӎwv$NvQ'fRXka.JeHAnSkE`z`qJWT%p#^v.?'6I>A'gQ2@a;sɧWa5Xrh.fY9;fHLB]f]l~zB(W*M<&֓T1D]?MC9V̤[qaXgfsuԾ1 Bk*w: /V0 Ox#׉ |s6BհJچ}CMg&ØeNb/l^pR?xkʃ.4f<ӲjDuÕS1M&?䍁s4ƍ4M&'>a5ʓ:,x@`}5GM/ |9 rjȐbulUiê%a՘ Q|ILKlQ gX7T]It;+AZac?+:ōgx Aln#hLR'ۘ$Yi{q+%}P>ugP `B^9ThvqfIp\A#ʰ-;+k<7+94@n v_}[!1]jr?~ώ0 WZi'epo! 7PܮD[ s1'aޥX-n!w¬v9q f-PenaMgPjg$\"Ia'8prOXCǔZmf 7CNOLa8{׊KBPec<#r!4V!\HQ'f^jENHdbO [̓CanRKOArp_Rv1P.߸54MɰkYM-"D-W"~ Q \*1LٞuXv}3U V ; Ӎ.EnVAl3},`l83K#~Ѷܲ'س=&f2XRQ "%+`rRH9931m-UBi'h|-u 6L A`tvJ@m 6{_ Kjw= n仏$ꦧBҪPv4c,~ۼI4dJ\!Aٍ fb8aUP-!BrLԵ o^TKyP$Û0?™#-IEM? r(gZ=cQPv0Pj6gCL&kw 妧DVa;T&:FR,:Q7`YBHB[ >eNwpr/oH^v/+ٲɌ[j ᮇ)j9ڰKdm$֧B6i.޶'3ٹΥ e 7k( xuXnM…ZZN)2C`Zhn$.D(m,v4w kkdZ]X%Ϊ]sy"m7f9N ;7is29qv̜b7j}>cr\7(`\hu(`O -sjHXȊzyB\*IIMLHi$JZ4+n1p"3Oc ֐]LhprhleH.ExK.|$MNOD$_|(rD %P>Epvit tyJ|T)P:pm$I ` [SqwmSq F!MrrG>O ߨ Q#@b-J1Tdzmz[v fTPk3)ED$O F@j1SeGy"J0h펅qGTGH4§v.vGe+aF PHnu㩅u KAo Gex\1U0>v0EX~3V&{BY'@H(#`XdYTKBN3徟/(UB+CBtA;tW?lϘ4C%;${!}=v3'tB(\bX۠ Yasʺ:MyAP SJMj\Y'Qɣ:eZ8DtT丁"對Ec6%aB !v@zL)DL`ḺQX+ǝ-x81@ĖHusq.k5T!_xpHv u=>``a|\XlI(@l40/y^cdāuf$xSN6D'l֝YG]PLdچEħX(fs-DX7\Hs"ջECLŚ #bp`#3-Bs %EKpRD2׮LeqO ^Mi8g6 z:EYz,2;GU [|j%(JPTM]㻥g :|pߤ5n~>vLD1aw7!J%u%=8`aNPT@r.+1_X $ -vz+dQ~'N ]CC:D4dXB aeo$(ኋc\#hs 2ڿGYqFu`=>ͬrKmw<[!A,3[xJ2Q|/9L1.Sӻc5KD|ھb*x(<+ʬXo7 KF{?#*1H`n s8cپI1;r\;,ἳuf}6˧ HÁ}~Vzk#l `afS56uIA?,$4C@ߺƺ, z1t)V%|N @S $Gy&븎@dȡ<8B'y9{ !w˹cspl{,_`t]kp{=]ٓ570D$buIKoZʲ87[nɧ?)='Ąv?ok$]gJ"ܨ=;C) M8Wycp.q5A|1%˷V@;@Ixn503( ṧs8-b̗/ 5]mgqCzb|u#$ͪ s, F16f]Ƨk:NziNRcuvb ^ kwA [~$'BG2R21ABԓ#( 9X-Vrig2<18p^N: _ /I=Ln^ .zۤ$rk) ;+>5fqx3uC!qA2)xaDŽHܻ<úV]ڒkB/gĂԉKQ]תlw\xY1Dgۉ7ԑs[x:Pp?BuYyQ&|xa(CԑÕD5V%9\*aEɑs4?1-WWmèDy_YZz{‡qQ~!9ھ[{~3Pδ8AԣZJG_;C -4™&EX c& yH7xLRj{X0i/1.UIVElO|~J ^FngTy!bS0ɥ 3Ƴdr鯽^ rp$L$=H䛓I?PkHB!! 9(0C@t|='a D" 9XK2{0w|/Y~B \S !YF#.I0(ErW==\Iԃ;:% `u _er^e4mNjXYwA@A@A@H^QO^+$v 6av|9vn,A@A@R.BSOVg.D=Y].   0]+Х@z lj퓘ˑTɰ;nIb׮,A@A@䋀{炀   7 Bo*$   ||\A@A@AD@ xQA@A@A@/I@IDAT|UHB] +*kmuꮻb &wNB~7˼?dڝ;wsiyZiPHHHHHHH"@*8      0HHHHHH"z PQ !PFl޺O%3^HHHHH PQ687ț'Z.bƁ d3dXK6ΖL|و ]/Ν^̘57bǁ dٗhyݿJF ̝AI?HRrrDi-7$:K._L45 dqY!|Ky6_Xy9w|DmfM䝿Ybccŋ:1SHHHHHr7UhpttSr…Γ'*,ϝsg#Jd'&+˵=ׯ(?$=rkڷ5yJZ|Yv}N\     &(]N4rK>pZ9q$l 72v ˊUkJrhRRh OBڷKvm${\ #/>]CGs:yafuo*Ϝc IHHHH(ENVRasuЗO<,L3NjWH$eWr^Y6$9 _ʗ-#|ɯ* {\V^o͘G/v?K$@$@$@$@$Qkk" =;j /-*V1IϞ4J.\4nA0h!9Μ:)q KrDk:qLL."Wʻo.6.=*e˔G|bd+.IHHHH2#zEk[q[EҠո6HmW_|*YWܣdufOlicY6$O䂏y5^^͌! uFEI9{THl:qǪxԩew\L"r^sn+QS6Jr]dæ-~ω􃯿t sO7߉!s|$@$@$@$@$@^®6zaWekOLB/qjRRF]9q䅋3#n.}kF%s'ޝ9лD*r`&^U0H^R h}kɪ~Ҫ4K*4i$Qrx6λrdhŊb&Rt)3Iqa9}kʪȥKщuHͤRR\YQ% Hv9l8E6M|h@?*b[MkK]B{5N<$.|wW/Bv+nìgGC=yL1۳KŊ̡ ׭Y:wl/}=24$sِHHHHH 2]Qo޶TchDڒ9ӑA|z~P8~U|t1д6iԧr6{x(m1;9qHqd玁C7lF;27EygdNj d;}F9{6e& ~~pf׍}{H}wn޶]7IܙzܹcIך]#yB%xDjuN SpPG=ܷ|G㓦L^϶x/K.);v09~½BݻȫztRw׉գx b{*_ɸ߿FUX)pw;HC0ITm ̷Lh83OHn]<>vIR?Y0{'>ǟkZ;{e+Vy Oɀ~̾0zB_U榫}-Pt>HHHHHr@uu|о]inUHZ $aYp9־@A5Ȋ3ef=^i)^9uv` I{>/1#M,:vs:BQߘ7ȏ?9fW !|`qdp%[>x/Ⱦ=ҜFۇHn1-Z?'孨oPp_P-}'!O<+Y4ʝ<(vn=!1ʭw< Sc$yx$wPɛAtt3ه !    D z>ͶW[vcLܪ M^6v>Lm>RBseӚ,EfY )S} Ay{/.-,wG~i~4< ߈{HwH; muZw/[!c_x9](W z4djxMiû?[-2W/> efGed̏_{]]+tbbdWHx_I~}V_}Tdx[FG(V^~iZi3兗n @kU2姯̩\5ZQ ج\uMO)_9lnטUT+vNSmjcr΁dߩqފ: };6TjĬ{#>]$+>oLO= FNE}wdǟ-e2mf߲~$hL}9޳ύxg;+ߍ|P٣N(URZQkRic}Fze2~pӐ{䡖:IŧԒ>[-!t=q4ygώqO     !|ƊGĦո DMi-zkw7zV$:6N쩣L\Vѹ٩Y>q:>qݗ4~4OhwNE=F]h+h k}'2lۺS7o*CLG +{OM/ߍ-o,IHHHHr@uĨ2wh9rp4j^4}{ Mb5dѬv55ۚ.n꘯]f^nky3/\pxOwq 9u𠺶sg̱㤿ZSQ3)eV'y7*Nßސ GC4nh.?HHHHH ޡ )Q!Lڷ["3'ǏIGMCźPϞ8J9M;P e .]},/^LNE;6qbFlޠ_lo;'v=p+/iؠ}& qge7 |tG3WXK-\,NuS1Xaݷ2qgr69kYm_,[Q^ch:d?ߓ'2,mjbqLzu6ws"MQЮWB䧶s9!?M-? ɷHhu[|7<}4;&- G!    ]®Gi"qev?lץ._[tlݐq1׎vVP`ךثEnfр&v/_)c)7TbE~F>ڴųi:'VR҇2NL=\K=ГZquINN[& v{S7j`oMg3D$@$@$@$@$aWqt*5Rb={rʚ8yjErlr6v#~Ql]RΟ;kw.پiZ2ǵmvnEЇ @Zr'l=7K]=>&]zsφhu?˃Ly6;'rfs3Yh}DŽqI[n?"8O^^s5mͲ5?z5cG/^&2     C "u9ySJνn({ʒ9I .*m:FO:}R~7Uw}*1qflŪ do̩댻vɝ٭cXn"-oŌ0IλcB/Wyfo)[gKj)v/[!c_xٵzKIAO_Zn[愢^\Y= T#w< [e@N|ŇqyctVf|1&i"pӯҵ f~)WlK$@$@$@$@$!"BQmH #-WRmΟ(ѕ(sj!=aL)^Rڪ|*$:yG{rrHRV}uO)хv̝,{rGN(cc!pY]=+WK]RY֭-UZ4JuS|_^z9۝l1KlHt"RYjuhir^Li~2oyuvPq? a5r߾_|Z4ټeqrAa]wL\ >,a5kH>晝?^nwMc)$@$@$@$@$@@(y֝zIR9=~AoѮ]> =cH?m:ec9bbٲO /RK4Ut QrpUߕ(̈́YO2}8R ,h\ˤN 2zL^|-;uh'o0Pm䫹d|#^E'G Ԓ*TF#i䳯mIHHHH"@(`MFF[0%^ܲBL-ٶz|I:upYJ VsId$ki];X=RujxYgdϪղ/*H]}wKl{˜>Rjw,K ,!c}Xm{2u\U-i.a=%5v!ag`&'.7 |\ɓr'd+ҳ;'    l'@E=Vag^OG!7coxiyd՚u 5J$@$@$@$@$u`%eaCkm41\H ͤv!?䋲ykW* \n_nO27^?@zZԟ8EYuyoѼfugv߽C6[<|Y產^@MZKb% ?ܺ>,TE XzMRZaz69Iv,[ׯ$U"MtffRr("y󦼗;rPǽR԰ W@$Iq 9vI0SV=.쑭VK}YN>V~KDPLϜ:!+]*WQk7xǎH}oZ# F*U-V%JK=bb][vmKӶPbR%[J/wwέsZ @ $@$@$@@D)u U^PAx$q賑 HA>yrNHH}ЖΟ ]6`arP+בʺ ͐,DE.h5 [oB|Tٿ7Pض+V)ZO %sWEgT9wSl׫D@1.gM \9yvme fРY8V%G0}X3BEYNRlŌAUؗϟ.j DjM-_{L\2[N!   EݩF`ٿg>yXDU?ٓFW`oZKxT1T8F:͞c)*U{][/uG] ifvxY}SQz(7ptȊ{Et rQ'Nm,Yrz(_l3q # DE嗙2*5I֝<ozZuO.SHQZgbJ{:Y',ʡ :ZJƭڷ[_䏎6 gS'y7{]L-x!Lr\= Lѯ;|՚avxk^ IOIz.Wx8VGy?awC)_U%:q|Lϯ^ :c'3 T 4   @D(XEn+Js#plөnM 4`!M jӰRncsZvەҩΜ0ROm*E47P$Uz#$C]K<ڜRemژ6Kz.,_8(hA!Xfm=:6Nx_iͪtM󫥽e/ȉc2cܷW7MN<}}CBN}n2fgtL{yك`8@%S=VɚҜI4x2h~Ҵqn@ oӹ׸˯]5 uoWWUg;J,}Wweʛw`/sU47    E^R[&,LԢ斔Ur25\?L~]u͵1̚Kk9,JUGX6{>k2e~ g֝6 rhGuXxS+}NRJ eC#"xRySeR"d,bq`ywńffݛ BB CfL c2[ZEԿG&k;{~<0 PMw(,xn\ `ҢNn< /X\ @u%"MA [w3~-n<{sk2_,. mb{'|[qBaZV)$7KĊw@CϚ 4ɥ !_LDR {KaCuƯ|H{=}>|k U57aNLՔIHHH@{ަSo38(F~<6mYc7 8 ZAa))J> 5UƟU$>CU)UyD561hcYhIgNɎMk `Hn\43jxP+pmG >D|T*꾞BpNO)?l޽lW]@,0&pzmBE+)Uh(*@ rg »#i ȥ;/nZ.'pه[9d™9hX&?{14> B\;#} \A®;]+}">[!X~U|ǕI>M,&ZW&8ϬGvz4ђF#0[#:~=Ԋ::d]X$p}K_b !(u/o2U & zt']F{K{C *hzQ/,zÓmjLubF</&!,ԭ4"Aلg-4A77EYysw8 j X4ԓ3`O_~vm4E3sjF! \®;W{6NdܼNV,Wz,Á$Qsd Ա_Kf4{˫SLyX"Q7ϯ >^K 5=G8",QegI67I$ uiHB RI]C[ņ"0WdN? jj:mُBIBE=F`cA,o@|YM;Vko[UvjgµpX"Hn̘Q 1\V(!bbGL2FN<P|Wh &⼥*UI, "uc518'..[30cQdӲsVV|c*p煉vrWy3:/m*9KR~}yn @®;5zw42sJE )MoAڎqn9 EDY(; [H&) >TQW)ČH sX[\ U-Y09u*ꙡsRZJ +4BE$LK~mFP. vm(9)w)J|pɷ s<{%]ng[#W[AkZX̑;! _ aCu e$yˀ2H&ZaJUG=:= [L hռq= Yh[$qs+i'*e8@DJk֊5D8^Ȫ WUXOjY=IϬ''  aUOsڴuƿSrxҤ5&=N2CNh=M:!t?P} ,ؽszẃa d@ :!ӊjM߭+b⌛=6M z}gGEn?J;9Eqo;Ùίqp=IuI;|8zDX%ث@1M?!gXw 4B =APɠiNf2E,Hl 0AeG勒xͬ 3g.rGe&LV BP2^;qd=yέPUkշOU1 e+Yq!.?}(v G8+4!>mZ>rӶK_)S9 @N24qx1LyԌMG'Cx_";F f   +@XuXN|ʤ0.؆+:b14sf.Vk1g` cdsmfIzO8+!TkbNM &WuCFu#{P3"56ynG hыHfT#ug6Ps}٥[\ϩ{j-"Τf PQjBm~Q:~CƄ!1\ ߺs}wU0m6s['pE| qo%Peř>PE=Zݹh;((v2{$@6g'wp8l_.]РI+\Ĝ*Av1V?k(=<.IHHH@Xu ƺcƨ#pqi,a"{fFB gI6~\b[^H(EsPXSm:s!n 4RBY,{(g kfxgäwf1: URJ{9Qo~)[en23`iSnC @*5&e}KMpt5qvP[h"+aӈ ~,*#ii56Vf_] Ki7^nƱue-{/vna/!N Bk["s2뾏㰨zO!   @ ]QG:+!+¶ް=`-5Qޞ~%qZw"EQPEcI;Ē.p3u >a][Yه:\[n" ,sONN\+k U )rDsamIqzM$ř݂rRVﻍZ!>E]w[lc ᡄC?MWp>2#MP9( (U4խ?:.hzu3@ў6Wk5z @Nx^Dۭd%+r|pUaVLm(CV*sb<HHH tE<\"=3ֈ}nj\ۗ'jDPJRȴ A&}*6ӼlYE ˛Q}2?{֬P![r=;z0? -nbK.EB+t P 9ۇS ڳCkϛbjW#yov)R'*D_XKv hiDHqȈ(5Y*$ Vusnmv YaXu;|[R{㴾C:Mt5Y V|;wϞhMdKtMieG8q#T4}$2 flK$@$@$peL y !M_n.}o*ꡤ3}AY>63Z…䏰z <;lvwJ3w{_ۨs-unTd<\ȾJ9@c1ǑZu;i#<6unj;qb-KL ۜM|;'[PbnNzK|//?n4jiJ_^ dk۩Bm8&`ΐg``[   +@ud,F)2dr`.Y8gfٮK?O`>xtpZ#%FZN?* [5 .m7d[Rղ3lۄ{IE=O sGdy/>}z~ܖP[)+0$'HHH.?aWԁYN59 C} $URݒ+yo;Z.1(5gn/ͱ:U&@jMs`Dҩ1{$lK^S_PxX>ג=B=&k : @"BQw{ԟ)pg}L_g} .80܂|KchCΠL@wݮBE=ҟ`Q16÷/`g(6|(WpUznlVh1 KZ}k "/Mޞ  cߵMwh>R*J뎽$*5F͚S3-*(lx@rs\'"p[jY9T%eU29 p*oaS`ɚ3'OM^>sѼMw?}׼T$C &Ȗ"WSHHHHP18g'-WRmu*ZZ'㑦;'-\]SH0ed-,XGv(5(WDzkXn4QA3ߴiI-P.gqZqw69}V:('5 Yq껶o I9͹:Id5% b5$[[MzU^[jɃ$٦!'쀘q;9K4`ϊZ[ԒnF\4QpʔrwOd 0,IDAT@n>'"RZa8fr]Si&yx>2ֻ r| ,ȖD^C1}6ǎ25cj{&A%Nߛ֭Ag< ărR0¡':;g,9޵_$   "FQG֝zIMO^X4__8iz%o1<|9ř9X*u~ u^'ֳCQ?d$4eV4EZAE,[9}Pκi 8wx@9!uR]Z-iV $X[6o&'Gμ62Q1d?g<0l"7X@L8'jt(O>oޮKe_{(xl kOg $lݠs"6 @ D8Djh,Nl:utݝe) Bz^1N܂icYf:1"vƭU7wjJoas*pA!ı!kXuu{?iއUfYx((n%]yv;qqɇK|FI삽ۓ \"RQ2ZKjC}H9EEEb+VKIw%Ĩ$@$@$@$@$@~ PQ#SQ5&N9M.NE'    ++;K$@$@$@$@$TԳ+@d+9EP'F\?Al6b)$@$@$@$@$@$` PQ$$       @E=@$@$@$@$@$@$@uKK      T#!p$@$@$@$@$@$@$` PQ$$       @E=@$@$@$@$@$@$@uKK      T#!p$@$@$@$@$@$@$` PQ$$       @E=@$@$@$@$@$@$@uKK      T#!p$@$@$@$@$@$@$` PQ$$       @E=@$@$@$@$@$@$@uKK      T#!p$@$@$@$@$@$@$` PQ$$       @E=@$@$@$@$@$@$@uKK      T#!p$@$@$@$@$@$@$` PQ$$       @E=@$@$@$@$@$@$@uKK      T#!p$@$@$@$@$@$@$` ?ZD`BIENDB`reprex/vignettes/articles/img/keynote-w00t.png0000644000176200001440000157270014102672630021142 0ustar liggesusersPNG  IHDR`GA iCCPICC ProfileHWXS[R -)wHދtH*vtQ"]Qq-,*bW,I]_s39fPafJdQ>̄$& @ \0ew ܰ*  q GΆ:;W ĪH".iR.)Rl) 2 ,`8 b6|6=,!΁X iwq3e<&6Hfߒ%[Cj (J3[MfNS!nᧄG@%Gb/EA2 i/b-Xoc $ p 'J-gL\M*/ bix)O\/.b;ѡ2Džc6Q!RQRL=[8ffIւyI}0!l/qX7 vO̷87+RffFID^χ &$)[k87?2F GA~ Dpxt&.i<%3| qpG2Pe\+G&xq6{nxw]c~ bl΂CxF \ ,o]'[n=JȬf?0gF e}v1d?3pM`Ox07h۷Z 2)ow(Ո?Zb+E vk;5aI1N[-J-|aml}qܹ7'w1g[[2llҭ-Cg#+ty@e7l@oǀ(@~@Spn b@"+!9`X A)X6`'jAp4p\WA'/ #BG4]@gG($IF>"B ːR يFj_2҅Cz~ P*j$FCt&桅rt ZV zv/! `ì0gTL-Jr ;5|8L f<|ߊ 9ރ_ 4J&$sńr>qyD"hBte"18XOl%v{C$IdAr'EX|R1i 4:,O%ۑId>\NO>EN~NS3s͓[+WY\EbBqP2(K)C󔇔.yK+_HUS}3"j5zFӼhI|Z-,1]Z!XXRA+E9E#EoYG)()+*)U*P4LWUPV^_  Ge*tn@{}DU` RՃj*jUTf` cF0#qqi &p}{^\z[455i4h<90QuDĒG&B̵kjޢ}V{@㥓QN.]CQL573Y< 7я/үd@1p6H5hf0hk8pa}#9#gtF0n4~anlRhRgДfigZezӌhliݬ5w0O74fZ8Z,[tY,],UwVVVuV= 0"FW '%MZ?⤯66Y6{mت؆6۾3cUݴ/o=b2wwSV89|qtr8rw2tJvtY9y%bG\rrtbSzYݻ=<=>=mނ zz/ܽYm.YJY"w5/^dyO?+ p[s%c-pJڔ~^^}g۟+~]cn\_S\VXֻaꆆ̍%mr)E+*nY*}*im[v;vکt]]wwn2*CS޸qv}_5Q5jjkk_[։8y`!Ca?~M#mG:ftlqa^`czcwSbS׉mnEɵ(=]xz5uLڙ޶m&ynڹ/]pӗ/\v|ƫWڏǎkNך:]:ty n߼z+Vw̸}sŽ{y!a#G叵Wݎ'{zڟD?y}Tsggu׾{?^(SmL_ׂףoVx[n򻶡ȡ#K>h|OG|&}bkׇ٣,Kr@SSxS -:(H^AE  Kgq %38 §P{!a4`FGj@j`ttd藽=Zw>~u??m%ߓ pHYs%%IR$iTXtXML:com.adobe.xmp 2032 1120 X#iDOT0(00\V @IDATx\wu3nժW˒lc066B/ #==/R%B b\"[.mْլ޻}ϼsw*kH[fwFSvyu{+J„       c*#S        狀       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@@@@@@@ ;       @WN`@RIDoٟ">O|{?@@@@@$dG TvVRh~ 7>w @@@@@.@?0ۇ @ Xp_($H:t:-lֽfPH"aw uVO_E{UA@@@@Nd^  0 >}OwYoEUk`o}XH4*a nR@@@@@q*@?Nw x*SnVo3Byj{Uk`Ҋ| *?\x&     /&@b: @Ez ;;:͂|/l^0o^ka~} }g'#     PռwX7@&Uu4okk^m׶^P6 }:?hf?ط|keB@@@@@`< ź" 0Ҿ.WGrIm4"_dkg9zXڷKֶyaVyoAݬ"?ba[|0!     PվX?@ƱUٿ&V'74J7xEnow9-*/̷?jX̅zU[|nHZuox\bzPU[O[!y&@@@@@ =q/%E Hw #pL>\?mV"W,=b{%[,v^ZkoD"U3!     P-ղ'p=|E IBP! Pk"Y\N߭avYui| C[dVo!>e       @? u qV3! p:@H>8sTBm]e~4U{m~F[ons@@@@@ iqܱs [5Ӫ2     8]@ȗNOZ/Yx '猹N׵C] u@@@@@FC426%_ H[j#p\>X?u$QѼkOKOg6# G" "^ތ     0 :f%˺MJDzR/l]~il#!O>pr!*>!)x@@@@@`Gy./yy 2{_ZߜL1? P*GUQ(=#?)Tx\?x@@@@@a fЉ4;4ϸM7'`D'YyvcѽV*d$"mτ |i;vnIݥNN'  O)     넘Oぴۖ&|ɖ䟾]GI|*F$ l }~g>QcʧW>"y=whT~]}Ĵ?⟈s@@@@@a v҉4Ò$ '"_۸ΒEGo"m<ۂ PPT>0O3OM-i$ W3g\>ho}4s~m]{l1!   @][f0!A"ۆ|,l9_vF %_Glm1 @u \4W|^nOHL7ryraNZ?r?2h;kU[DO?y#   $4 "KO/8 ;o4V=_>Hٍڏ/$S @`R C+4įdZvD>=#! k4(oniZ4Q'E2?-}j!S"t!~R[aGĂJx/    0N B''>^?L|j c^eQ}!x^~rg_>ϖB DtK }c.pܪ%HTO >a f_z[dM%B}{/0?@@@l''.O-=?qGMHOԗ|^},"ӧ\u۳쩂[sV2j}&@I%W{JnپI|GQihlt7{l zvEFKC`xܵ{|'.UGt}j\V@@@H``x{A}_oKT/i+TZ;;r>am |\Jf@`G z.&OK@na9gɕBIìZ~9UHw{ǫ z/Sj^oI-$,ַ7)8|]_YіXK muj4p"    I'{n6(ϝ#ӧtc0-I\.+LFzze&۷wJ| ߍ1 l9 X 8YnėwrS|[\_RňnՓdYM@ .V)gҝϹ4|SK ȭM馐x>(Wkk8*V>,{Ңm`J_X+9    0N -W `5{455)-ZHQ'V_X_g"B!+lAAy9xݷG֭Nl*  +c?<{d%]r~y꩕'yw[ |$XD⑘B:MLVXp_O&\0ʦRooVr9TGɊGks7ķu P%U#u5-z('>Pyޘ@&Yog|D߭mЪ{;k/ =ubUg35Oʭ;64 `'54bU')    Pno^xoӦMys.s0P4wc.XT2Ʒ{w{j%~@d6usb.y(%ku<'%mǤG=(+Wy1@@@ao,YT,X K_:"}~}]Ģ1}Ai&E_ L: F%Y^PP(UA {u?+Hgg;&엻SVY|+&q7ݳ@ =Pj /=/y6)/ɿ|/+[v'4×T1"%_e-8ކ 0FW;E.&+Zzw.+Βjv cz< Ԫ>0]UG?vc[Lj $^@@@@<ޮ{_ ./Sh`FaiwEBAp^ )rZhh^h\V[[ɠ%[LWQ~0 )-hkocJMr˭P\o~rcT^Z@/?[zo)翙#mT*B gL@`hūpQ𭌤ʳͧ|]g@F`~(+]omX-?ؼ΅֊\ϸHBޫ]Z;-o/*Fw6`o!   I_+̙dyɹ,fi}z]{- N! xK-^sĻJ|P{~H 8^9>-:K 9&͛7/nU2:cDV;mL;Ǔ7Kbaߚ~KO'R@[ڔKlJU1C@xSQW]v˱翸Ev{<>$T~X^;8V%'3~:/u[ْ^@'Ҡg5W2rƻ~!z92ikۙ#yےMrUUowwIUj-HD;S|$x   T -&/X$) ̓/X,uuֱt|UZ\k4Jz-U[ҟ׊Z6! 8LJ zzeΝrydճϸ | ]%-w 0c>\rh?>wm]bX RYa lmOǍ3*^=hƾv6ƙ<~uۺUǭF_OH3ʙ@@@@,v-VʫNڎ9B_R.^#VԚ{ 5ާ׺ןC}Z^sv k+}x -"?'h8',O?P̉@IeǶ욵rypCb?K} |/w3@`~<-v`?HcUf%w3sGg5D_ϣO,+ 0>4KWV5omޤ{gk=oUu>_: FyUl`:{k)ѯsގ{O@@@@I$U[`mJK~[~zVǧ_2g, 5kI[Qf@Я(I^}\}ocJR3l}m]2z"6ɊOJ*+>J0l |@@?l*U,@_;ZV-Kh}4"3[>ho,翙VjaJ֞jqb=@$0?5LxkAmVgvV'L[ܾnyd;#<] ^; Xg:     P'756o-cnYԓ?xʗk!DXU״q}>r% ĺ{޻f*B_qJxʕ+eskuyAo~iWU[~|yXp|N+?riwkQ;= J|M=NN@`lQ"Wj*^1bkyNe4A|(!-F#҅bKmQɧkq`$\^lߖ_L#὞ {CW"Oo(ی@ W>5Z0>mEOo{vcAkgcdJ3!TUm͕L>mR`765IUk3 +Y{sTYG/ڏ6olx= v)&W     [ }T.2d]r7ˍ7^/xT{%ՓVAmmР^Cx B u,JǗri|)}Zo6X<"r=ʽ-7Z_-w >cEa 04m!bno\ Ƅ PF֊W{O>jZM'fvXL/TmNFh%;dB@@@& u]%!sopן-}Pnz곒J./h5_9I+ߪ5 QAD[ |ӊs/[\7_Oh?l3)@_*JȧgtzkC;r-'] 9rÿ7 k_7O-ejGmhڮ}i45*e{WGǂzBMm4O"ɚ?    0yN 5/-˫N[DI2eJ7M'5ϸ߮QfO:~/jZ_Qmx"ƞ{W׿ z}}l۶M~K6uQA}XpO?yl)A<1^ǐd%/o.(ot`pìZto_GW0 h j6d}e-w"E= Fm5_(E|oͯkCuྥ_    0Y\ר.@.8o̜6C~[d׮>,x}IA+3ٌ ڳټY ]nװ/ioR? j}H‘D#g֭[qϗj.ƥlLǯ'X7Enu Pձz-zZN׿< oo$_VF^[h8d!~Ic"&@xU^ސlxeعEy͓z0:mo]+] zPs$`*i|gOvX>~? @@@@` *| }*k/},3OR]%?^˾ /R7h~QgoܶߞJAɖFߖ i+b5/SVnp!{b@onJ4 zd~X5;@lod]7<@@@@&[_{{B@oyի^Sj5~ʔ٩ 幵Ϲki0k % igH 3t|&kpjp2iinnٹc<أMƢUk`o^po{h PeUCquRϚ꓿Wrr}eL)$y1!@XbZf|%G{1m]`۪-趃j98߫Rf߶#o&ݾx"Q5''TQ@@@ YV sgϑ/DSka$&:b+hTCݝk.^>x21Q,MҠK5sZ[[~[AXN^Xv{w}^-cV}LBI+d%O5tt|['ܲ| 9 b]ji}+ۂ{/3eW:9=|}"z`Y MMU]    Y:ֵpEty:cd3i9xp ]u}L6#KT+gJVm}vRz\N|% }ڽWhZp.G%5_/x\{zX|w{ *-ml ` Y 5ğOx 64SQ|$lUtUt)'5 Gɂp̓#bҠᶅܑH" yo]qIVͯOO@@@@"۽U$kΓ+Ӧΐp붍q]eݥ|Vy$"Ъ/F^lLZꇤStـ۰^~+w~uﭰd`o<0ķL X 8YM [[ys6S/|3#4שg֥)Ulց"Yn&P-,s(KU'kkS5Xyޗ)_=>kRuhx3    p'nMrȼy>IyP !d$Iik ӛ^cш^1?)d~Ɩ h$ KOOlܸQ֭_'{qcQj|y}*mu~4^u! ;r7#_nJ"w oI6ɵ5moqvvW'&Xo%    0޶ueܹr+ikOSCڏ;hpcG%moK:fTk[| m%_{wvZu~:軖◰<#~@pmհؑC'dݮyJ|-ư*U ƪJ | $Z$" !}n8ߴa[A_Y=<|/R j%MzS-۵}YHlչV$w@Y`.+77ϒj*ڼgOgkݻi@8Ocz]zyc*6^D2?50.]z{%my,ܷr%3fi1`^zSNggWɓOǙr~_poe7&kd~8"M8ym~\)(R9@W`^c 3*rwY;3Yص2gzvY}p\prւͮNo\r*ŶkvF kۮ^lxgkհ׍    0~17bcz*7pK>3۾XhaG{Gݻ[tc׼}HCïxo +i(cO2 0,8g?a (LQ?3zkbD#B@`*`s$^aKL!/oғc -psp߫η7;w Bl;+h 5 >}F ϻdGv(u-߾m3:7m߇vm`t:=޽zwPld3>:C@@@ "?ޠcv=+_vdVg^$5ZzjK-& lz-їNJ4T+JDcnܥF ҭߖ븇)XMOJCiS-׎چʔ)ڪo#G=+;wp˳1[g껷s&@`,R-;HgmiD\uVg%w3s__EޥKQ/q˪"U)p^8.ZݳgêO9`$遑 {;{ͻ>d,ۅVypVԃT}Β>:'zb[U4=ȴ?HCǙ끪nuQ׶hmXp~ccXL٪].sg|@@@&@ 6`9^c>9ޡA4ࡃy&-<ȸB!'7np5Zaoc<[E6NaA&~WwЫ?1?|n٢=y1+ss5 ϛoH:#[mS+{\Q7fYM=!x /{j3j_n[BrÕcG{WI>ii,-/Fu!]XPA;bu\3{({&kZ%7OnȕN2 H{t,ᮅ3I/-Zo߱EIf}CE^0ov@lc"@IDATY ꭃ]I  ޅ}Kw`jgWA1F-[G ƽ{w5pV^yaw = -<_ܓ 3gz^+-{w);@>~T ?]&nVoޙ̓@@@@`b /kFiCm`bҋM~Dn6ٸq44E]$=ZM58C2t!~P/Wh,a jqz==n$׸bnl$ӟk҇?jd%aٶ}9!wٷ_ 1gBJrDߪ;sْFzcB`,|z&UܗK>I|AG$;-h Gҽ0aYvX6k0^ЃzKLWM-WN!qfpMq04xsMbDk=ؼy\lњ>=ȲyOOuc }ct=K{vaC{oo6xMhf泱]|=V=nPjԬ6OK[2 >f/_yh@qdHuz`lI=!\jț@@@.qТt.׾VkeZ<iӧ],O~~/eڵZP,,cϻkպvۼBzYX,*ɚ^nI5bE-N>?vt"&-MS\OǶZN igô^Z;u!پm<ӡ u|߰boû; @q%@?vح];/%nK943҄cdKj{DHU.ϣu$r͝ȟ6Ψ59^Bό15PN*:" ƉowlW}n-N^ |z5]G=p3mX^5c7/N [ֻv/4;3ΆtG 00p$p?_up{uۀ}׼q   X]AS׾AplڼM2zۖ:y͵HkT"?V]|+XpLڪ";vkJ"ӂ+c 8I&u {zR~Z :G`ƴ-0&r_K.SѱvYK_x>9v|ǜ; r9'' l+/@9oɗ:|[#mE73qSA5Ze U7KO/ Q 팆Esiad>\?Mc#3uwzplZ{|}8ZPD5o\=uư(0-vloo\#ݹXD`g[_cm|$B|NPЃYoaS>u佮XJs}'R)Wma}u}uܸbe@@@Qp'Wx wq_s"(o٢mRϓW,xH҉v]Eft ^(92&AȸqӠ^>˹"w܅/]hgiLВ׵#ġrzaƝLrܬy@U U?2OBC~qPJv3 Zu!.;\yʯ]dg]oV}o~m] A?Xl ]Z@C\;Z~rzo'؉ʿ*}]:cGDs2{*$V @@0vf75<MTwJv-]Z]g djK>O/T>} yugϞ% Yx)1XѶ m{L+P-뮵O5$nٺu޷-ԩr 7E]dݲgnP~V?Lvҍg ƀ{`@FA'"⾞msyzy{$ %'AA}8U ;rrCH쟕BTJ{:Jц~lBcrp@7*Sۺig"o$0;fپ+kj|jn!vVxv{ d5Z%:"X@Zòv X ;46}nssđ:mh?I@@/K؂jp5=&N/c^ݻWỴ>-!=~vݿN{7 kkje.ďk(3ʒ3Ny^پtkH!׵ͺ=rD۴H"IO\t\%_, |]7)Āv+VȦ-]*:O+y1!!  iǏ'ùy1+e92|]L)$y1!p:wm?V_t׸jGilS63!P7$&MDo<";]P8.׀Ҫ=ō-ýaT٣ؙqoh=HAt-0' -o ./`-uy OXUgs {hŅ]='8_{Bs b(s@@,0Γ^;~z({'wzj^yfqW~%gvuRK;&t׮Oe޾nhUq DmWXx4؟)m%k6CG;r>'{gGgVw6R^w1 ]ŋe-i6>cͼV7w6Q^~\Owo 'u8qݬ ]b̧ACսIEVX]XX kSڍO Z;E}]R5HS}YټS+DuK8i?;%ɹLm?tT[uD6ʗdž6J|xιRazmw RL,8ՄnNvom۱c.̵P^;dv@Vb7j>;}'`)dG]:_ޜj}lUvH>>FN ^C@@\ꭠ_'<{R}{vW(۶oiO@~4F=fC խ״r^d]xEk]廍/45ʢӥ^i]ҹclF;cɵO&ku}w]#[6on*vi𾾡FOȲ;+{;$?/xpo5 w=|<(؜Q %艰/%hӧ?x>_ a['naAt|yޟjvZmQ:W.ˏ~]|߷Sb ?;vn/^yrd87Ѥ4n9i=(oNueU757J|vI'1U 1y],8Eܹk|uզo9ۿvHc~aV @@`\ة>vBK/D.2ڲa{¿S@{n:7 λ;eyfiko ^Oo:b׭ojlFw9r$ m?C̙3W n^^({vP|z #z*OSVڋ}ߡOS&,@?d*e+?;ay'g$B|:ݮ^k*wqp]> /9O!U:}yfCD1U2t^:V+oix)ik)a.y,)푞`->0M.H֍Fe_[JgƓeyo2]^d'X ebfk:߂\v{wI o=y0 "` XOzIܻgbUQ K6B  \ Nm3|'Vy.䊧7wF֬]+{TXD:գ]oЖz ױ$}ooJCn%{~K}W6k{n6j뷟"! 2EN˘"%]O&3gLYgH82]JjeV߿ 7Y>}QN O]W+F_zV0˺6F\s٩֫gO^ +?3\d JI MLhxEA|]Z[oZ>ʗj,^cMٜk~Amﭭ]^p 1U[dBjkk5o!~y$]E;/|幧l?$kjejt9  ];Vqx< ȇ>47k׮WV\!;.}&uK:.c`({T^×OOi~ZYko_s mrzn~=˪jU[ֲߧ[U@[S`KKL*\},9opU-o_XƉlȾ:V@lm\IoLT*@_$~H֛M&(o}$Ž9=b!xЪӠ˲]e}3 _[|U9nPZj<О-P=<oYaVesZʇ-5 v{Vd˖mlc0|PLH0$0@ Ĵ| PmpŽɲ-.˲e*{sjswW2#=̙3s=3Q7rmwŗd&'w.08˷smE܏m]sگI񄿻J}2ޫq@А]4#}[ </D 2w"wZ: KEJ/XQe]U)# |,i\weӧx2F{JyF{5PAy~H!!H$ @B !0s8o<ݲOLѾrb\sv7#>bǍ} úi̯j>ny֭㚹{\.;)Z_3`\uj*d[j?Hmzh/YϵU˗<~[RH/+ %F /)H~cF o%jo0go{Z_h7*jUDk{{\^&k(ifvN,~ܿ7XD dz"pt;Ig s\:n /[hoi3Fڱ֋6{FZ[5 R*d >(-n1q9P*+sUv{=ù;&,8i/7|~$XpgD9j3VLֲ{:fKܲ|}hQEk}c99m`ڙH$ @B !0DwSdکμMixBrď?] vW\a6m}E\ O)D [ju3!vۧOo٧,-|6N%S1#;kUڜ\wwM%dv z?@s_S VHMveQ'Oeu k֛rhNPBG$&VDVGv۴7oы&qc N+~1( |,Gm'`LаGq#z̾M3' 䱇;"t ɚH$ @B !Ȋ@$Lw"5 gJ"qxϱا~֮M.onۺu5_h-yw "a2iD,93߮)/jN$됲e?w?p[.=;B;?<~/ڗeaAw"?wY>4ҴY_}ϲ-gkO}xCYZ+v'&'HuYC`2\5q$hb=x>/e r_NG,=Ȧ>}}uߝŵ7j'W"3Kd6Ygq;~=kvóHmwZ<lj_Y tu4ܳ7Nş@/#oyN"'E"qwD%K̒2ͻ.=zf}<{Fб߾}!/~xRo~Gpݫ6=%$>c-b'Xdiؒm*xy?Rloj>f% @B !H$# ɚǰW8=ؤ$4B ?Dל^{m۶֮Yk>u]vW؆ W}pE[" DMwj3 EZcp*9?VZo׼SXZeve,Evس ȕBB`"<;/8FØ cw"Je.?{\ŕMo{X^>&|͝w(y(rV quܮqw6欷;8"Y)~H4e)~C .}3믴? Oɕwdmr?QmasbU:,K.f$&(R-bM:[ |QZdf&'V—oEb>޳pEmSa@.n}\&Z$`{c,c.e"G O 5jˆ6?9ZRo/ʌ5H|] VMOiW^Jacw9#מ$ @B !H$/̖a,?};vHrǀrOV랻2 º|͊᪯7x||M(Դ[UvE ~Va>V._i}}sa?cg"/|/oO9_?2Zi*lV YȪͩ_M%e\xUR#{a%) jڳbgϵxыώ;"gxAY=οdE+${Rrq?5p~9_t^$'_%d$>3ddrvbʳZҮ-G'+WR4W[\c p0{eFŎ.5 2_%YpzC$~+>YC],WRd{+[ 49ߪ'K7{1$|>79YHi @B !H$SHDBBbm,S禯|qтH7 93VXomݲ{lvZ[݀jD+^{ DFV`dsDq%+=\]f ̳C>X{g˖{y \_ʖh"ʎ)$&DO$fߌF 5C̿|lf4?VK4pKJrc/}7T|ퟟ9={ekUWvlPsSTB`z vfVo<ǮE)8ְc;#}3ROzHϏB}O$odY%Y}j~#ܴiq6wຜ=\(d :^.w~dfʦPq?i/.YtH$ @B !>D25ӧϦqцf>^IT&љxw_?G/lqׯ-6mOm~|,ob[8ת6[qF{f9мTsZBV\._mrH /Lf_~XbCVnl"'^ޜF x=!^KYo,]rؓmyEEe.>=F.krvAS0Fr4-̬xl.Y}+EᐕNꚗӱ,cK2$ #)?d Xc۽><*`7KEܟtvmKX|[;w69Hc yٰO#' gm[m"ٖ1qL @B !H$ )@$"?:eo sf~(aYs9b8۾u /:_Clْ[Y{Fi\=Eie;zld\Ӗ/_j+V-kB:?D @117"m 6o摖aoz/AcQgD\҃I-cYf岶;g`e֏d^856#SvRA`,`?!Kج+ko߷εJ#u{Vw)`-Hގ$s}}̄Sd*Ȋ{z4c'jXo ^hp.AawdHنDJk)}\}Uw#8b{.?7=}:Ύ[oy1vuFs}RI^JH$ @B !0`=խS1V'5}$#AOLª}ҥtք*kX dY.DZs䁻-I\&zwMm,'`*7 Eu+a!خ>;Q[d +7w}\g NJ=QnPUHS,qֵӾ]DTfE3cγ;"O#)!H$ @B`# UE`Bb%"Ovl'h:yϽ79#9914oLgkpYg 7d}2n{^cp e)Bu.j@3歷HEA}qb"ց(/@",?YrP|.;hU}Ws.e$H\UH㞽ϋ#޳v ؜,r4L]r읈oh׬ UYTqHjML O>yfظo%HA]"j${_Į]c!ZYVq' OlRx 7̎ζӅA{g31dOmzm;p㓏`eo}⸗a 7wf}W^hkzb:Y`\ܰ@nQnh !7Hin'\>Ԍ@B !H$ ! d?>S IxhMAiz3ˏg͛7wB60XМzt҉lr-C(^¼<̹Yd>y#)A!""@"GB&@|?<~c؊HukvtD*rVΧSX ^+[}!}h?`!.q̷S{AE!tG+muFϯnXÊ큤{mFDG{?F\ i!Wfϴm_؆gLH38jH!!DgE,++R)#V!O>^x {_Z/KB;KmLF }pԜ~,׎yHruX`OnI{Td"q%d&n}箵>;d[5#3[dŒչAVYC4&u d%͙V'o/oYþvn ًd2kyY+K3ZBSD2_(Ň.YElO{\?kނ&+CLGl^>Zhz;rߙQϷ۞y*ϟ';!H$ @B`'"`I7@c5}$P|S^ŬYs={۳To[ o6P떚BVCO !=+2W\ߴi[\C|/Yԭ!,'*j"9'ho_1q"QFtc}m$m)h_e=ъJFxDg ʣsǩ!hQysfaJlx$C>lGkQid@7Ƴel@B !H$ kDO-c hM HC6|fgʊ_xhƪ rVUv̭#y==Q\fB?ZᓏHsN!!0^?^SHHȤah+Z oa^.쟾S}EVg9Go/ ]ɳ8.gLOUԙX`3)o(.[%%ͯda-_Ť*BT&-L>_}7W"2ȌJ#ioǿ, |Vh8q1f"'kRx6>7"h0Ҟ6!H$ @B !0^|"Njd?` !9 9pJ['8H~/뜐9駟nVrQF<Ѳ x3H| ɚmy$TiQ"JOL9V.W?;|ڻfׂm|*0Ut%v|/y&{!0wjdĸp[nfBWKPcN@IDATeмu uctBH;:!=2ZIwW~!]ỆW˖Q6ۗshh]B} NsLC^|c[=͛7۷M5pCNzϫIϜ竚y6$=׬SppϬpGZ(K:'ZA D@J"+^l6\lx$~};e,L$XMu74eϓ>fJvAa^c#cƏĔ.!0Lȴd}yn+va/X+|KݥjH.M !uXodtta m@L6IPإ9 wtd o^SqaŶyX5wDg+h4͕=V9[[έ{Þ&HZB z,RB?l1 =/fF\9Ioe9?BNxv;Ÿ"yz,Y|iee;M$ @B !HLUxw'$ C_.Xsfhu|9C&,Qb:80`?YvUW#{ы^l}k8%-DXw>/wMʵj=MVvNn\?g}+ 81`H3 : WfnĮy"X uXO&9@*{:iYoyh`8&n,4,%uߝŵ7đAdpߵYKS;{ƒ{a_&ki<̥5n%e{qϼVgZ ~âWsa}ko\GmQ'2F`q>. 9~c/.J7s$LfO(d0T_e?4P>qӍs&x܂glW^h7mFI'Ł8*DSmi:a' -xP:h?ߦXRXpy8hl ˶opeUaP sűt2Wt=۱P(P pRցKMNH%u!p#.j`yFE2g˜;cuyv֧;EڿItH$ @B !5D3YϚ. hy|Q2eq1R撔裏zzʕ+̡T{桬D9*sF9篺:Ĺn,3ʕ VH~+vy컯uG]mK%#z4 vG"mG+.{*Lf&|zzTI}cKϒϿg" 9o!,|5RX,'%O\0P2YbNG"D=E c?I$ @B !HD;}"gbN69dofl}xrcIlL皐<$|$㹙qO_3MDϴ:Ii! ٧O>/xAFHʷM=rc&v*|lGGMN!!H$ @B !0ͣ`rLCǵ2y(q *yc9HMsU߼yh_u8PΑekxߣ)D?ψic2'TLG 3^5lN{`61e?w6zD} aqZN}am/^;my{Q9Y`3#_`7ԕ2ޟыcAq{M[IQy,MdD>${z4a$ 8x9Rhe>pkH]h,?{0#~rl#RU}IpT>V-g%7=98Gx+g&*".oy$my],f(yofo}6vn-9,@y{~~/nJɆخh 5;K @B !H$3Z'H-N9d{iFVQc$<!? is(^KU/S P|K~U.\FĪڂ6%ߦ66rx\LūU>:_1Ok.rG);b2,; esA*C+:tݵ=ne~IqXkBZ"3<!G8ܔJЬ#%Dnszt;ӯW㭳3(Tv^J꣮);j>suF Rb)'}˒6#7"y |V@Nm#^"z{K%$K[ڴu_HѦCEUtA6x5ǞcFMcQ)B!ehD}ZǐrT'SzכG<&W[ 13pH~/ D/reϕן3X(6 ܊-06??{m G } =j͂=@EVb1R&/d=#m`mO 4K,:"Fb-Ο]D :Ul/1snoﵩ֣^=[ L&OĆA0e_dMܜr6 D%kww:Dsi/":xTyϓO,)^kጧM|4V ӺD'uw8֊W?il'11G 噅5+ DW?&V>";, |B:*)y"1>qN*uVZ"f]E J9CXё3GP\P^е%tPM:[GV:yꢸ<;bjaxd|p]mPX(p곩vKsߤ^dId#<{O[+Yͭߴ\ȸ`2j m܉EBgKjSzW o hvߢ]rF^iJc{ve%ES/S(,u$O[lͦ+/%3y|@ɂ17c:IgI'}h{Vk~}۝EFUkv?\o}s\fMr6m3 L nQv/+|\0ׄߊսοt#lI&1k⼇=mˈ5"OPX`\9cmrOlca==WDROܤHu )>ҎY`gm+ z쫈G'ٝhA(Bry/*<3w&KݲU! AD_dF1@+tSk;\NK& rOcD5,.`L!9yⱈS?,P*<+AԺ&팑p{aI6ٌ>;tݛӨ읊8xeމTU>Ɖ`D*;uR$pkOYO?il≬_Rϵ,7Y/WI!R`7Gȷ>Vk_TRFj.;m<Ϡ2x<]iExQpq>!)><&yR!d(a[dXo4 ^u5]PF)+}9.3X\R ţScOH~-$wm@_ uʥ|[]]>G?Pb޺uh,'˹am?+ /y^hMއ*ߒd}PD!+7͕;tf)ÄU7L9>zt;ix#^* GwDrXQqюM#<ձ_u Z&%syK3x"_mT6XtsފIi Wf?{ n IDx;5kxpO<9ذ;o ^nȵO=a^qAHH @B !H$ $aZ(&Qk"]5`Цy׺xABo qw46m ʮ4XԚYܦ9~ &J0i*BT2rcD|iKQ2}a3'\뾦4wIPץKjBH6еdY@Hht j|Na& -/rG ҈^1W |o{(6x 5)(^7y^_'PjtE yu[ yC{i,L9zwkrpinfk ۙL"Zhژ>c'46? .㱢jܣ駗МeO v#D'sEBOfxCb;wxbt5!V&E4BI,C KuDWsm_nVVArAGQՀDPv;?;>l ʂ\csa1^i'I K­=!-K)mB !H$ @B` : a7)sSKNIh \|P8=K{hH,l#i'JB]LruW^(Rp\뗊ۭ<ʅ.ˬj »]rs]0UH9ù<д is>HMVN +Nպ]>7\ !JxVӋR(Z-CJpk"Mb\rP SQ P7Xf{N @Ԣ6B {waL<._8HND9~(DꇱA5FW#nLԎiW8!_r;j 5ŗp^BQ~-`q-!EwY'*,/:|vvԡ[f^~_}ܙ珊[zH$ @B !0`@ثk$T-D>M{vvvP d ]6m$?9ce֓h.TXDN90'a5π/AL֊W+wN.Ȥ2ﲞ"E^P.t5u/{g3Y`F~\)D:q#8$N^oQ,3ߐUF~9 {O1=,mık=x쉪P|`)GO$*p,ZA%5D{3{&_oL>3xi!9_h\F8##믰_,Skj&Ł@0p\5֫~M=^ 諉 շgۯ~}۽&O^m"u ; ŵpڹ'IJ@H-JY\2p겳Ġ>ˀڦ##M8JR}?\ܳބK>V=|;0|}|K> 0>>yH He4>- ܕ\tOT7IA6R`.~"H1N߸‰*Wa`WO~t$v12/Jp}̂mV#2 K|b|qh|^?j;-]}^~l3LIӕ}h<^*.RH$+ײ߸okgE"Dߌ$7x:'kci&sFFo P!T!!T[q Gsq=۳[/oʺ$ `> ̷78.K{'݌gƎ8(o ;]SKXë;y/nn]!|l׀VhRH$ @B !H$@imKDrN#(ՊwCA՜yKy "1 >HC<'V9uҏĜ5Dž8&y}2Dw"oܒvZ3[`VUϫ\ӭ;\ܗ5ݝ|u!UV^Ah,2:nmW |/^%$e Aҥ90JW ~8OL؃1$wpM:rKT"usjH^ qB3]zB5C2?'`eEHT~xmJ.҆f\;dUywP(p_?/ |SB͵7- \z^>+/倕5 =қFry%+B_~^RQuH12MNڑ,5GX;$uY#D>!i_@\z4o?(/ -=޷_ %,=bp4qunmRy~Fe<8<}/ vY2- t?[ tJx Q?_/_ոEA <;G&Wq}&{[ɕ' @B !H$gIJw.O;YQ+ve$2ӏHԩ m"%3vw.(tN,{}ŐC='w)HĪ d&?}U uBB:eJ _ uw-jҕ?\ 0q?CV V -=KsQۈg- iN䭤:d7>׾^&SKD=,Wеz";}"_}rpO j1"Y;׽0UAvGļ.W ;((Jj`Nv Fy >X:ׇ UWV"v~)r+Bj*)tj|, DXS_KGZ/5 #хkHx+N< (8b+ u4Rm+ q^fkݯ:₲PP'i˜ [ (t~Gz˕ЯkS']fIɔWY='Pu$vZ }YN `e~mž}CI?zEţ`m1xYϟF/1=݁-5m0ptj)$ɕJs7_c?{^bw:g>A@cB;?1 V Ǖ>{b|)0wHw?S7^A =/+q }B)T)>]DwGD>^{Y.Nl:C`B쳿޷P̈́'E=Wony+d]Zpk Y0/#)$ @B !H$ 3~qV!ZVe oEE:QpU.:T`YʺN^JNptBNy ) v(XC/Msp+T<+i aې_1?kI+ʪ |ͅbR*q! tL 9\I*qƁ%R1R TҁƵhwʢ^~ꀶ`DSC+-b9xq3ܓHqr*:$!rbz"o{U^};^W !KKvEeƬPߙG=xASCemypEy;_nn^ǯ^2PR&Sw(>Jq+Ǵ; XC\Dfd&Cxߕ-6:?+ISܼYK4c5O[vl\yh~=}KAFZ<-h|BgK W d?[ ɗgG.ZjWdԮ~1(!XN P)qB !H$ @B` "3Ub_+C$$(5l|E{}Ck[1mZsZFR $0m[\vvYv!Np-\Q7x.9|zTl82SImqR^}OxUAfRv& } \:+? VW,ء'!we|m(H\`3mK/ۮ28NWIBAdr\A":^ P ]6y-ۺT<`٫M,\ҹGc#8@u ]D}D9e@zi[;'_(h=vrJ(x⼭_g)3Atd2lg^qvq (BGh;qQuH3y<҆C>FAe¯XjC0pr)?[OGtA|#c=cJK;1d??D=w뇖#=oݝ5yk̴\?Ʋ—Ρu)Ek~i.>!pڲ:_/E^WhʝHL)jETȶǗ=VސŜ̐>h?[Y!kH]nn}箵;S6ȗuWI^*jo_l#2a1RݚX舓M7\asxpw#o[-T̷8^Yݳ;Sguf,rmg\Þ7iFۥZZE,}9R=?6ʂU=y0x/~$r}Q K @B !H$3'QƽIf5iE7"ܜԞ ,ǾZvs+tO٫dLLH xNOA+N:'4R)}¹L9>3*Vg-篎NpUrՉgQx}*3lL[QZP=^rv^n1.VwZyKE,Uד׶"!p}?sc5޷!P{TEqC8ʎ1:_(Dѕ#P g?׼05|(/ $ YLD@OP6%m2 b#;ǰ:.0oC)@(@7JC5P4Rd HkZc'$6yu CѵRF'ƌ@Y64+3K%\n'=1qU.J>sRQ$J@Q* Gt:hs2^hsN}|[ QP C[ =~ Bu voZꮷ w_/Y)ҤzG7>U1mfzL?1"Y'M/~k-cOD gg>Vc|~PI rߋv`$c~ܟ#+{?@44mޣ 34~oB`f!plW8̍Sꖫ 3$HD;#ChWWv~>do a[h>>Q4|ȔEh/?Ԟ򭄒0mfԿ'HV<8տk6>V&s9cu%ib{ٜYV4Y8`. ѥqRE# p'/[ >25&5@B !H$ "䧪؛~;t"heAy$m RO똝X հGnN\([TQHrWNiNCJ:]uF=ZCz}Wb%Nm;h {yq^j vRqvgKk'&lI ɾnYV߳SO紏*-U^$o Uڇ|K$⑱\\_s|̆0UR+eЃį8Xw*y8bJGʃTN.{۫NjpO ˉUꔣ$V<iL]֮! HFJ<4P۪n'LX@S0ezONe?USqPW^}Bd[< Dp$RdR}pڪzw5ԋey%S&N/gI|)ex#)G9FkKjGN)|Wb#.PO@"τOʪI2y ̮d׊yD5xi|$M$^\?S'WlkO3ZOҐl^˵ik% K@a7>hW~j\׆q H$"WGft3s-|\Z`-Wf#\|sܺ}(jL!{D^BCbvI\Y@}[vИ6+P/ *h}vXX^&u)0r|_sYME'C3p"YAF/ Ϸm5%SEy%쀌)zvO5ØjϞװQWCޚ?:@B !H$ ل{wqee ^4wDa5= $^ h!9 B \ED8'⪬#윢:`-+3@͑p %,>:5i\ E8}Gb"Wx@v@o d`!u=$d #<'2V|;F@}V ܙ>ɣ,ӺWE+-;)+pP T/?S-*'XsNYԏ,zUc9 W@IDATty8n_#*Hk/izm15N?u񤞓; OO~oggQ}ς㛪Noؑ Omd#I'w_A6 [=!̓v>E6>hw -3QAޅ+GI1{ˇ}۸ $>Q'M:y M>Y7\/>}UIɱdRR9z49A ꩀI_,Z%W;&c޵zdD#p@fbwZk&O ,$LBCό&e-< G~gu&m |AG1/4}FctN$ @B !H@|/ݛ~;zV+@؋ʬ:GB L}N\:=Y9$oy㖷"낲-e]CnN8~jÕʘn/7^D<AeAd*dUZN+ƊOŁTTFkNSې >"uve;"+ 9S]4Я 'ұ/:H8ɩrzAI?h{|Yį.9\r:*BW@$3}&̔#̽D\1uP'=ұW- ',y1X#ڱVRr(+x3 s@]^gڡ_QQzC}VwiJ#Wz^~;{BJߡu+ Z+IY&&v1>h| 5څ }JAm$jԖQx~ʘfRƚ '=*O$5~Rtκd^)y?a? S]`[44io<=ԧGM;[E0#KO ةW\` -q@6} nDBYw\ā,ADUىlKN@QU쫷ey|<߀iB.Rer!.4CcI>V28)9Q Jx(ԝXm[@Ac d`Y Jċf3 91x{}3R,X3❸gA@[8 Ҿχ+Ӱh"7j7(t9Aq@& @B !HL3"~i }[AHErGy{1؃6>8(R$$~V]>A͔v=*nH<㸏:\sx$&k~n}𾑼&/vjYyW~usa_'$~ Hϊ[Cz"ͽ^==C5RL,;%.7Dfœ8QL&hj5Pr+ڠsa7aISbɐ K\Y/}E4|1W@a٣-JQNG:-KAWUW_P,o R<@ư2u NԫΔĥhVY11TG,G}ODa0z##Jaﱾ2 i}>}lOKyeX"ƘoՂ) V9= @5'k/\I@llZynZ,bi2C5 (Dc^Њ|>"qi??qy@JN7?͟f1DRa̲ Bj\fN$ @B !pսnarB!K` Ɨ+ "^H,sIk싟kM@BB E5LsN[ф>]ճ{]aժU{֪""}I fLUY9] /d=ͪ}a#m-Xv7Y $#'os79!xq{XSKuY`V6 R r(-|ܰU{&qpUyw+G y_>ǻUтM+_9S7)/Yܢv]P4.hNd]}Ӿq#!X{L>KO:̛"q%֑ȡqN96VGp38q$64>> ~aȦ_P*\~F݇l%9;`'t-;N/QWT%(OduسbzD<=1/!Q1āנp9ޱCrVe;v^#Gԓ%x8hmZUUQ#(x5-Zp]b]o '>[UlQP.hϨ3߀qqewݞsaɬ+zAA,w"_fsz6gλ:_=gźtMTbp·JO>߷y]y%~_om\Jo_nnƱcciK^ ?،s#&EoO逬 z* %ߑJ)~Cq.ў(EEEEEEEEW|u)pX |ף44ݱY pQ\4W3u>uFo*:zF5gV6E W!Ug/9:tdΠk? 1 zb@_/(^/T?AaLjgJ mZINx.єuALYJ>=4=ޙ#?2*_jR!,.^ 2-H A'h_F륱c IeMڰ 972Pˮ򥺔g[` *YV<0ZfeD}ia.>,ףq~?چ[2(|}55qo=@-xlt6f07C ;ލys7uƑv)bIHcE}]ڜ^bVq\T[(+(zon-c:fW)ueu"N>=.U9 ]:3w8 {'%e ĸY"mi5M[~P.em8Ayuyb::79^R8/܃ќE|̗'"YȟSޑ߀|xBoб/k _=v6&O,1~cy.l)^$$p}p-sWd\)TsD]$P$P$%O`= c}Mק|Sh-+syTzţ_=5lڿvWl(n|ria͒W4T"[+|-c;An{~͚f}?b.[Mo>"_nP$P$P$P$P$P$P$P$P$0W ڒ^&\TUp{3A0vZ`Y|ty!<(W{ʄp#22HT7y2aۧ|#ѿz[0rBAJ>Ԩ๺G*w6D#eRIƽ/y2B1ͿF*t2W'| 2^5=&pH»~y8=qeq"-'%1?:K(((X e1߰V 𛰂atXW]X}6XL-w|t)\ k ?O^޼98ҧ2YK>VOǭ8ǟϠ +YxhV퍌} V#;@ƄF{l>抋^uI}~VHp6p}۶xrDzAc7n ~6os}FI'x]-?JK[Us~b/3o,fev@@@@@@@$Pݖ4ς6@n4t8;{s$WoZp59WνKwָ熅3`r+{{Gzv- 8kM9'xڸ|WO]]`'  xfxWUszayoqDaNJ0  Gy{ t%o[KC_erM3՛ >G4]UI(h_[羵 GyѐBmLnrF?ؿ@}U%%oA* ;HқCd#)@`^HL#!j!))Me@:[]:ʁ߶I5?1Vgz\ҷ*DWRly ^TÁJ~3r(uyw{I*oL~3>`? xRA#H?Qʟox_&< {6q 7 -ӷ\ey{s$V|93G_ sxw*a ?5i_O_|/ \{~iL)COm E Ng{' L["6~%sX%{xwL߽h +-a x}ƯAϜ9=]|}p $ * Y(-ס 8{,dV:[^C}_u홋 07:R[El{{v3S? EW=G6o~OuIwMק/t)[F68nA ?,goIIniEcclņݙSgR$P$P$P$P$P$P$P$p 83,%ܱ']8g^YL+ 3(rle\bej6X0+@VE/PgAQBv7nP0\{{&jmhH=krBMxW@am hυ΀ņɝ-9qIi@~Lp<[c;"=WSrQ,@ C6*"5V CR؆K emY`ˏu_ ֑qǕ]0 ')<tWtǫ3{Z ;'H;|v]*} wCh7&2Md7ʽ~dѣZOX/5GjO nBY6ǖNhH:d߷~oȅ[BFLY7!סa3%-.^kwڐA<63t9? P YV]Gܡ-PE2hc@1pdd"6h"%~R]T&QrUMb!y8x'? ZPE񲭠˶4b&X1=#ZRH`?H`LNm(gڡY"""ŗq]/>WN~p_Z Zx>>=k_ RZv < sPZXܠ+Q( Wjji#+-;Wealjƶ}@$LX xw~1V\CÀ̾N6iOYIU,1[w"*0x_DYZ jm[ࠜd<+[P: ۨ@fr4gGEEjZR2zn T|V{{]8T*jLN_F~G@%<%Pq-%CismF˟N/{7R_T1`rH=,*cHH`%VoZr>_zAk[qAX7\e3hy ͑u F@Ww)MB}o9w} KSo!X7lܘFp?pA箻"} ƒ}Q g K/>S?,Qm@Rh*z!XﲠՈG g p3`8Th䳄"""""""" }۹>J'yΕ_Kݫ dƼ;v{rٖX{~@\ٕXPlY@3Ϲg[QN8ZH{νy!'u9 d )eMl(eږ%j!+4vdzc{2xk~))2 MWPs\`6 .x  ˳/"*G+@nKȍ|Ѳ<'T|Y#ϊ 1 k< f^8ڛƣ\ 2Jhjs-Ƈl)M3OIGźjq3JDsXKpc} -`*iҖxi=QU9 :Cޱq/}夜oeh6^e+ADު|l3Ý~gkHolC+.2r~8eBtU^̇P\gwm~_cO;|w݋iöڟߓiI*(õ疘ڊ\=^wK܄RO.ռaYN+Zǔ{@@3t\L,`z\WymgzOX9 bqw}X4gTJ Jk\ozby >.;we|R<my"@ [-I^$WtfOxsin}&T Aj,Uq- ["( ]Y9EW4vա^%XgZ _9g.e_75P|FRW'=Zc˪$ͷ=Pν7t ߺgs*ƬgI ='/Z;04Bm<<G֕s'_`H2<6QQPq yX?ٵ> ?4j^.^FZ1*O:.KCQ3qJ1-@mbd{: dly313H*R`U?.= -M?ѡnnwLm />7>͂&G$3rցtr|~<_[.꽸_T.k_?ƷtifOm7PS3?Lwݗ̴{nV EEEK'0zڃ8n//]j,O^xn }]| \}y #+ecLzq.Tg>57?bpu\4+Sz/kO|,=G>n_R;rIw'&wN䞻l 1}o׃ ᆥ2zq.f$6Fӳo{SHHHHHHHH`pkXJtyHM1/8`quQV< lұ&LlDf g2rF`-y(.Nn}iE0]mX-|P >Xt) _*G!] YG8RA{A*_o3@UZV~tIU=7-d\}U (HuJk0AWKYTÁe@CBZqn?X&?YFPqt ;+}ZLcPn!ve` v5O:=j:IV\BWL_ ZUn#lCw"bP%H0B- DHQc#-9tO}O Ə>=+$d;!<ˆ_HXˇ 3ೊ ! u|ȘNsYW y̫xP`M,wØRGqǧ2-+L˹Sft~t,Esu?%   ,6 z٪ɣ9VÿhVUqï̓z ue؀y?i%>ݳҷn%s7bUp啧}!;JAgea-Vr@l|uS?N9pn2+7o>,=mx:;@ `߾o+WpaFDz}>qvTqlˏCȆY$K ncۭfI{0cO^.ț:2r (f^DG.BqFc0!WLOf `3j0꒏j-/:T\vMN;:Gp~@;mrlzbuFBu' h&BaSQs e Č$w]x`=[H[?XCe]PFG0@[h' waqZv_[ )&/[0ceB* TwK>"J 6gz@ 26Xo遠aON Ѕ*P.R _`z'd.Nc{;hOEd喫+HaXG%Tmߦx#E?.Єf((|6HEf3^oUP`]Tj0_ mЮ̩cT;݋<;/i|~z,| ʓw*j)?4ܤC*uDz?R^uy[%hNL{c,B`^N&1fͻRHHH`Zx\&C<ܼ3p^I57 ,>؜'}J{i-[}wEbzKOt?~u.{S8xu%0HPlb\xR01HݲvnH߱t]B޺}[zY_Mc-ܵWye =~xl"==ey]#Ƶ<=T>W$P$P$P$P$P$P$$PK zIR*0=$Pϗj:޵ z q5&sUiE*eh/W2&l E<-୰`e"Ma 2X$;2Gm|X .y[{yj [PE񲭠˶pOZgy~p#K{ZSJ?%YIt4`2}Zx/IˋFפsv+\'YD+E.w{>vxezpgҩT'b[_0s!\~/@/f=M2'ϿGE|b>׺WS\$(/=4QƐ Q@.\;?}UkAxv7FjoHn}eҕ3WMn82ו?LwYVTn """"""""$PK OzE[Hx\rR:^ pȓ;Қxdw_,?@Amt_剳wg 6˰F75]FAS̭ZU!@`3Z-/HHL+x B4PnpDkyT2=][arੲt_S^:$=^]j=_L*07%T#wn6(DPAr`g,*$ 1 \, b{L8$J޶1Kʶx.4jad!ǃ:lIDұ (iWm4Fr_ǚA,^0 c2?02So""nP9!,_=@:.k- xНuW梖Y;#s1}>i^̃}<06$ )\(7\ 0H/3c%{bmogg{q'[ rO&!c|#/GfBy1Dc)5b*bKx/?+AcF{ ` WΞN_38}lϛd)X$P$P$`Yr~M[Y>5/hr#ǕָsKQN$|7`mZeowwu B{_y__59au>,.R_u]Qjj U`u,=?nNY!@Xk\@{A2j L]fK;~ ;^ iaZd݃Ƚ(ѼcfJKU|;z(<       ,G `R\n:L>vG rCm6@EYz{ɓC i|<sA0e}} ZPk,xa V$[`J :@Dnj(t*)o޶XGP$3z<^m-84|"Iu ࢬTFu}{8UL08640M={Fug~Z.rhG"._X;tД˹,9hOPR G+Sn+ F\+|U~3e$8l|uzEʈVX ]:AGN3-MR֦q~L б}S'yF^s\:I EmXvy6 X_ʯ w[?C(y[FÝHw܅ >t-k,#T8fһ”>}Ơhw7@AloDE`6X2=>&ׁ?R^uy~hLZU++BH`0 ~w/瓸zCL`EEE( ?VIGsV[%ﲳsLqz"ؙL7q݈VV,CIZ=Sҕ[nJx{s5[i //(՗">\S ߲H1pV@ {E=sg:Ӄ5ݩ[@jaqќ-n t72rEewo>zŪA.ix ЕmXa›l5l*'s\Ϻ JYKί3_@x:`\)qhgs齋ێ`;YZ⏭\<[Ћ}g\gq^[<[PK`Uɻd`yಂvwZ#+ff\&Ķ$̃4km3o֟,pa!N, HG)JVVF {(BonA *hS T`0(ú̥UYy3ޡ~Dy\۟$:Tڋ#̲U(n#>HBI=ď?$9.DOvQ64T4@IDATTUȯ$C 7gê,LȖSWh4VBWPFQ [q18'%5sCps_ YcVi6GP6QXM諣_ RS=El+(5hV\u¨EId<2Iq8K""t,@Aٶ -%7B\wuw2(exɻ츛ݼ ) E\;'y덱qA+к`]Wy { F:[ck~XaC( 쮎Ah+G6=*mGV:E=^wZ+AM#Z*cSG~To2<5zۺ1+¿?&Eۉ7B5_6bu\r~uW{D\bc]b @ 3bUᷟpBz'DkoZ DL`6 A}3]p7 *W/ڦvCErMyiuoɖL.3뱆35ևȪlޚM}Ż<p}takE{}mMndmuLZv:]XZ3ˆ2Ý]. 6sLq ٭%xrgU^4P F6-nAGZv9! SO~]m}L*\X}>?j aH0^%],-LMz(P!yI|;򘈺siA(MH: [d|Bn~Ax{|{ SS<(mտUƊ`AQ1LÌ!w۔YK:O %M*x!lxzC{b=f#y9Aw%j/oPq$}װO)>Ot h(KPu!/3m=4UrQT`%A~31s!Y+4zIU o KX?hZ9>KN@siN(""""臰W}sVeOPQ \Q,wg,[8WtX]wUubr' Nӧ:ro3Ux&%x.G 5(6~kd(Zgá0we}Gz7.u_J珮M/];7`z2 ;| 2 of3b*x?ŚqV8i͊:(!BbAfa8֫qƎ1QG|u jhnh*>0qsz0DϾ溤K {έD_ 1"| ,w{-K/ɬy(5Ӱ/+m ] ~G+>!F~2ǥ<Bqԋ_bEEl+(7|Ew$mZnIӉ49^TdK((((ؓb]zs gr]~!GH_ ߅m^ LIE`-i־Z4Mc,wFawr7݇:מb=d٬B6RB>wWjZuKpڻ7V'3ƷooMpľG^<}tuz&_HN|N$`AwK_N7o?=b.1=<o* +֞}H4oϴ_Q [[x7F=w,NQ|0֑:QQ=R১uo" rܭ7 -x B-i*rS .k [cAYu6ʴE`Ӟ_AdWcY(4'o2W3O6ʆ n2(Zqn)C#|7PJ ֨ҽJe_ _|/ \{~?{1i_I>ϓߜ \@奊"""*\o#x'4NnpoSpWa.kw Ul6F+ᰴO:.g. C! kp/?1 u5sϨ_.`} /' #n:"خwsz;cHn k-4҉ އ e4bsv "-<."6\vWY+((((((( 85,%߽n<ֈaUw•| tnhzՆ@(0@DlJAYr4\A#5f._.iirmC _@_6?\RW@mj@. m0.r[yu؍HMvHxȶP=5B3HP]iqQnzv/X06&rǔ~ZwY#?%Iԯ׀ M vŠXF^cO~Nw]cUy‹*?CZ!+\1`Z$^j iH+GgGw 7GHӥ۞,q)XMe-ݽ|\R~q1V'rr﷙m->+,#_oCÎg% H'fQ; xP?4na:5X7z'*}M$(2""K0@ƝԬ6Ц ʔ#)|g 3#qU^EEEE{Z%|o}Zvq"ho7_noYJ z"AS?ޝS!ZxZmGϙk/_Wq"@ݽ/46zozY'k Px: l`խץ+fD[]kXqjznņQl"p+13k&ݵloo~ڝBMljiɤx\>O6b ԿE[`Ke尧i6EEEEEEE?iϯ\eNH<~{‚n,7-e+0o5t)~sC *B#Ch g[5wf<7'ywA>-Mel+30 -|tV!!ƷְJ% \um3sX7oJ8!C4qx.xsu7('K>8(Tm8+^f$,vƱpl6P: MM"`b p')-qmĚ:qM%,5s9j;r "#eU: ( ޗ1r7xgJu>ްZ>(|IvǥGٺvxdџ.2}ViY6[α⯀aǬ) %7qԄ!c%(lT8f2Ȯw05W9=w#1𳊞6#˿36#☌.k B(T ȣH_HbؿbKx/|]xSQDOZi&S3)HHHH`89]77E]IGk0/^ U+_BAaauHOY5wfy֭7(ӷZb)Y7ꯞ>onrp՝y"=|oџk/MyE38҃s_TW跅8On*ݏ" w38UX/UkC9v?q!騡G)Ѷ.AlA{4}{X2ش7۬RJ<?A)iEEEEEEE?IpNfXR kf~26`,HeX0˗#0M.@pd_(U7>@.pk@ Y! lnⴸת[+]J1ILX€5H(웦5;p|glLnͮYZc/HuU9<羾 6_/ZNνCȵD~v )!=m$y'˃gLP_!P~)\S\9y=@*~6 Њ_5+XPrΎqz}yjL |핇`g $G\6"(at{u˙cQmWGk DmDff>Õ}0MvCK+}}yb[BAЃB2CA-F2 2U\w# QH&_3jK44h6VXK^3=ж|[cdoV)_zQj>/ZCkvhp7?ԬHE?|y*}1}u|&|1cmY$P$P$P$ ;9QplgOɻFw>X(P{x]϶R y箻"} "_)NwБ{J~P-Az"mс:b{aX .^ x3G(mzTZ7Ow{w?4funp쯰m<_L@@@@@@CQ5* s46gUgsGohǼs}uws㱗s=-#mmۚhVw<Jq SO+\zɉ.)@%g,WJu3~ͼA`/ $5]@u>`b'$.l n@EDJѴ`vn $dp?fZHP-(In~D{g/&,r?lz `ˑ(U9d1sNMp !y?/^%hs]7{ п>;_E8\PU%/X>d9xw-UBޝ[}֊k6-^~f"(7 Zl'!KvSy;|Agq9j`?87\W ؀  -=^=-~czAmHX-Zwʭ/pMŔrl_qO%        % @hXJSS̺DQ -,ynV LgNN`<JM癴El jzv6^^K U>'#IOs&vz rJ1 hBK@3ӹ`&[X!p' e=Щ4&lgS\P뒜sʰ& B}ukul9!NEB.2}M0C'!UpD{|gw3Pe}A(i*@hDN٦^L6 q7?K<ʓel\F:">#wǶg'6{poiXDـ(CZi#|J3UDheg^߫ o;dd~+i8^r,<+bdkUP0[#gxPѰ`@LLTy򷇲2Bԡ Cupż1iyZ?ۢp]˞N/l$/BTr?t۝yrЙiə=[>,U,((Xb y@ֺMO+8;i3ѱМ[˶mMp@Q[.>: ;'y덱։ݧRzM\] nVܚr8z'3576 nݟw5i- u~Mx 85T0 !hm[P"8v!Hzi_H@n-ZLVvcuc֬Oҳ>4 0|ҹ6l-Xr@g<       < $5@.l 8 NH<҂K .lzk1 WY`\2^+3nH5ƏVFZd}N> N%65 PS-w /܍ʸy<ו B/CG-=Zg߼9cSֳ9QI*kb kD|[nx-QsPϓh u;t4r @(=Ttv1جy&8Ndmg }8y#$&OU&h|I ZY>QULVo_,2pxP%]Emt][Õbެ֓W1f9V! pх~KjoFb4]i[^ Qo0G;Ϥi/AYO (a/k `oWSiOM[0 aA?GVCOƓBgic ayKzH/xF+;[-5 |odo'6   <%*\yS:b[Xܷ\:@Hgҥ Aܜ{zj,UAZF/"Ṡ>k{}+̈́UX߯ ñpkLM^3rK31p; vk_\!k{mQDq Ti 0[~>zB6z(Kwwtv\w&ciGo4H3yo@N?7A/*@%y!p3P9bHDxW@@@@@@Hg)~9M_r2R<#_vTx`kcO2oɴR <#z;udai^pV4%Bj>(O*?t?e,+E(KNH}z<ݺsrh@=q:{xӺbg}em ޗa/5m] mLsN{Fwi7hc1Sy<ǯxP2`>h}2#?IMp>^K}ճE$Dcf Hʿ*:;ʼeÑ :(u$)ئ:@yRQ<,ѣ]7]VgGT<wO9"6;cvxEz BuKê]n&5xPfj_+} b ᳗^ˣ azF9硜[瞑λDT$|nMfCzOI_`6=>swABZ3NVUGdoptk+&1Ҭ/D%<sL<        \BK O_Թռ+p8>3y- {xNde \8#7n9=z&no>o93Z7q^y$Zqf;E1fQUVߙNf3mEZ[ ^Wٝ~@s\eaó!|\sȶVh/,Zg\s5+P*9?R:<=@NmTM2B%nAнT<]r Hg38e^z#WG|"G}{M^k b`5ʙGS~wCnbԒIL~+xC>6%)"r*td^LJ+㨟2eI^ (q/xBݱo)idVRWb;9v]Ǐ,Ř#9Zo.]6cBܵx=XG9?7.J/c^"@HyyQճ'?{w_*-Dx74a3MF JcNgn,M8 _JE /,nqk7.&>,v |{!@3܋Wމ^^jczުs0ɦK8}{JLK|7O~^?Z@"[}jʍצ?wx1jӖ-1os r}:nƹf|wMWQź ~t7'U ZEK't݃*% MlQ.\b⦙3%Ҏ37*|H2z3%HHHHHHH!&D;}%89[t 2#s/-`e@G-C{G9,l^Wqs4mC1ƣyZ`H*I0WZsa Zvr&EZӄ@AoU? _h~u|JPU>[7[Ju>Ae C}aE-=4n'&jy݊ X>H5xاjddqCS4f}l;&5WDu0!A[&BNWABeiWȂEZr%-.^(2fkz9,cJ"Ve_+B~i][+/HH7{@-iFE>3Y ~S3ճqt%%4ĸb}k&xhBH(()@}h;PȜ9`Nmzq=E[ϳ֫aNkyZ*D,w m7um֏ǿ05y=El+(76hc2=fzgMNP(Hg|+yDg| dLpո߸s=_ooR0 Hljz#r= mchTABٺߢ>]߂ѮhMݤEz@+3euKqs`("|ZZUr!5W _̷%k*a4H]qUE"A|5вq켴˚zt,*\GDEg d1gKO/&-z(xVPeoy-L&H=q󯽔\.gLg؜ͧ4FW EEEE} 4|2`h \2=]15uZWQx߼8^:G#p mGn >ݳҷn%nߜzԱ+W @i~Yo`LZƷr'466ƹܻIe@ 4ĝgՉZwG-\y7o4Ԕy}q^$P$P$P$P$P$` W2 V=хXK4m׹S4i;'s^=(_<_h*&5,?TrN(se, k_˽ULXY"3νᣫx~$2r&O( ^;gC% zu#-XHVZϘp Vczʧ\DO+Wakb~/yˊ$䷀UT v&&lږLc }=~ެ'.ɵ@v=}رU["3v=AtYwj+-Szc`]f|x c7G:;?Z8ij؀PGuo)ӣ#5{4# EfyqiewY˘|qt jq?p yC#}=!P |L]Z'/HHHHH`HckBe}>`R3\>67n?gǃW< .9 8`=H83c+kk6Re;һWa]e=(>p Ǖ\wn5w[T0MX|hZmss祧{Lۀ^x`tt7#fAt[PQE0_k8 V,}k{7n2 pxQ!g V`8U&%_ $|Z,MsyhlR#@+)߿/Ԋ~b$HtNH<N1/# r!|e\H[55:MTE'<Ɏg*ZR0Q>҆@&>(jAkqnCJ+}zo&gZjw:S8- i^ޝ/'HhcS~*Pѥ%K{"TySW|DiMKid5(iΠl(1E8/'BZՉK koSAwl|h`n=W>qQA>t||nZܿB봁sry51J d{OQ |G:W>coB ouBl^CSOk%ḿ!6/uXuo$'}z [n-4]x!g Ve zkt}a CMHq#J#=M !?4iq>; 5ߎoTvP8e=#-ls >yDOe#7ѧ8:B˳/~s}'[k8hc#秷ҳNkV&î{$K:'fF|<w5>{'Rz3V^n(/rV.=rs1i9x6٢ yj +W7UYȤ1.WI"E04)b˱+*Et\*%KOT Zg؛ZEyL6n:(l ζeN+>4y|V`/zE&ȿ ^ ;M>G.P4sS!c EGdzezL.CpUob}gU0&nUN%HA| 9?sS=K-_W<H y2mg~7\7o}-ۧ*hyڗ/戆xL箻"} j6cgi˜{0ˎλn4ӓgPD$A0`^06D2^q~X cIHBJ(Fz:ܾ:g4UsTx_u=B'eX-Nf9z,^zؑ酇>!L+ur '-xީ6>8 I⃹$KU8v)\MҖ͛ǡk[@. RA o^| `1=vE4cҲV)i߮u%0;x~ f,D($5-/VJi߅dwx0.6,Lw.ύٳ>V!!3 U:fbB(Fo >pV*PA`@F7axaه8Ql;[(zR%g{:'L~@:(o!l<7(ޮ, %.E` qkw!淋 ׃V'r؏''Ӻ}1Bߴ ":$Q |RȧC}(7CMﳧmǻENEvprn[X^Db~'xT|f- 7-"$V8b:ь.-{,`C!%[A!l?~ji?-~֭n>^vZ5;/ O_L^|x>~SXS( x:OW3>631%AŻ/s Z~k_]t^ }V& C%f%ɟuN7W_*Z.pL H?2\vmO./b"N{+eņspّ^9UPqy+K' aMGo~/UkȹIe*v.ѕe^zQv< &'!Y@IDATκ~nش*Q ,}\%~.]26nLiu{B*@A P(~Ro ģëFa*i_X\uxkh"yKadgR'dmyI %}0 h󒈜5qE>BK/.kP夬ddiU[[(Н|>(7#ʉw kD.[Џζ{D͊ !b=r5S2B'*HXe6s<5SkP+rH䊋X71΋w gA #{EsVY¶@ņK{𹚗(_|;-yZ@!+1)QfJqy@z KiOl#1QfG-O 7㱴Uzۼ2<4Xu{tD|/fEPzL"ZUPANr)gmqezl)W۷&#zN59>Q`bnZ7ƹL `ۂIB/vc/G[COnNW Vy) A+;\#@A P(,/Y^?~,ItcbH2IROrUйռY|H.R{Wf {I/|e ӾhW<Yc6e|3߾ wB?Bpt\\ԯ|+&VefS+f x,ȿ;w{%~8w>{l K8UR% P(*ohMjپ-'p~owH4_bSѷ줤h<dz.G:{τaPy&y֧,(PAy"KZW%8%JC8xqPZ[&!q@&H%C*IF!4D"ZaԋkZ"%~|hMBnU!}4WA(xF~fQ6Lw\'v5Ұeޏpݮl].ɄI+.nS.eVk{Rr L(t~Xb&\7X>`&ZA1pN?9(}ɿӰ?KڍM$%%aɌo8v(mO &w~O4L:V2zC˿[ѣ :A\`}JiZo~+ۃN.>Va_ u @A P(djj_}"129|XIxH!7jf \~?4  !#^W\ԧ6zZR;LQFzc$\Dʜfұ&ow#6xN˓Z)sCkmiL;:+!PZCJRn2IX7<'(uu}O2[`]CДt6jr(XL,"s+j<\Mb JLC6OпQut}HhY{4 (De8&ed Y~[4"RC-\C`}@Jpgiq ЍCI2SvܔA,,4^xGƚ7{Y9m#Ə}ngDNCc8 Kc v~Z9&X5ZK( "0 \Eh` '@#ݻW88?{ƶB5ȯ՝5ҝHr=j2,O8)ޯĆ$'_|3|w;v/00jH8b띝~c[󄝣w{O=_`i(ګCˊ}3pSd؄܆kyI+%#+Vd ~FXkRˇ!|뾻-} |62ye#=|=K!c'6Ӈ7e@A P( oؗMI/Akjh@ <fڹc>Y͛D|D$2z5azE=^޻.u n]?*<$%*] LQSGIlK[]2gu)32ڼ;EX};yKi-Z,PFΥs@h{nu3E0ڴ==m Z0PjBGٙ4wIOݔCZO ^"h>Ԇٟ[1mKu?uh]gs-c29n_1--?/}1z\47n2qq- l$crlPDATxc{:q KJIqu_J"K`X{d?b d"$vûT(Ptb{;Ά!wlۏN?rdl˱n;'7Ƙ39sP: yC`K@C &VØr*27YŬѳC]UWj(cdAQ x>o9&D~y;}yCZ#[B/2KBĝ%C5Q-=X۟N'菮߸%>>}'ҭwi{.uﷰX( Gc Ν b%^g[I>,]C'֘BbljD NEnMebyJ8㶛'ceT)add%77Xub q6E)'@A P }IO|YrD$+a*[ o< d(s#X]*H3ӊQN\AfJPBzJrMsWQ ?V{'$VDif%Q&FM0&걱1b$v5<Dhic oX܃$^7wJ]ŷyVe vG*IhqpW)TFOQRF(2&|9>L$gLr@{ vDtq.i;P2lXv=D~CrXhc@ "O 'f(lo ]Ul$1& 8^E*P63 ~'ַ!KRشz3i6jax^TzUmA LBD xp< ߲epb{-K@azd O ȩb 7?fEYPExVP|IطYl$Q^t2!k- o8©3|%u~?o+ A= rqn^MlυX?yV}G;Oɬ22ӏqLz ''ZS35IEe^!)5Oԁvۯd{+hUݛXAQ=s Ai(;\95ck dDY@ N/;nAdIdPD-GXNbŌA |!, _CR@A PA @$$$%$qizL<4/+,Zz5, Y-h"bmp/ =N ac֚|A /H< _I%󊹾\`En$F3dlߕ!K,aa9>NLAIuZ= }4!*IMlAܷ1Rf*5÷f3BlP!1eǚYhU>E s6ZdnT O%%!$Y1tXH1V1^14ÙżS6i(6= ccAdU^5 R~?z\A0o6@MxU% #}MA}눈\,+exkz"/a7 )>m%,ܑiVx"G䵊;[k_ݧzpPI;j <ӶRf} )CzK>ĭ[cS_ln?HއpǺ}+=j=yA`o @06Ԭн!C P(az᣼.\k}⸻t󹶒ߋǑcC3n)]Ï| sBzݱ'h{A}՗?D8kg\Uwt}wsp+q_[;pesZ᧞[Ur(غ?pl \vނ'm$}wwr*,V[ܳ9}pٱvvǔ!si,ѓI}xҭ7q%3hʓ(}7qf(@A PO%?q˕i֫Ab"_3+y`V&.li9[w8cS_I3w=ꭄ]OG4'W r%ZnudH6nPVna=n/%3S:Jx|D9SrG"1f9&2 "c*c`+9s4$dV' A3l5YuP 6*_ڟ}0 銿 ]fl$PPN~yZ *fЧmiJ5lZԋd?m˦Fi|cC,T0N+^? / @w}^~1K/xV ⾝p  ?D3Z6ˤGE@A p"p(^&=w 8wlc:~hhyU.X7nژ$!Fx!GWy,ÙGXg[m_rT5_ _wTZ?% 5k uXMmXև%^ޏqLVZ뮹1 f#l12_`` 7ΐ16)k]r'~{ۖM3R/#˺u~_vI\v@W1|ݝ\I8c&TP¾( P( ėaW[F9.6eD{emwIl-cܓ\Ԃ8q::m3 ns-z~n]Đ-[g9%%cLKW"݇ո214pulpx 9$K5d9Il]DzLh2 c^l"`_jdx{.©Xks  2VR5sCY匵.⫊W[eT[Ar-_²\0#(LOTź<6X@|Q~(?K*QV8 E*bCvDmv$>#ZtV:,ݱg op& X*}j~R`mvxT3<ć_a%?.^'"{#'h P(j֣~"$ ^Z~/WY [Yyvf^%oߺ) оռL~5.Ϭ߸ <[^ ?š| &P&Xm^@{*՗ᚘL Koba,K x=7ݗ^p +ֵOY9#Xek׆r0d~!gǸ02$3 S*MYD^Lhr P( K ximaa̫m7_&nF)s:r< hdBW2V{ېr|Ǝ"1|p/16;DFpE}բ22,{96*HME|c {b˲[B_e4"hwpD)Bdi6*} n&E!S[cgPB &,FP(RD b]q.+ByT?Yt ,X!O]!Hc2[?UA~6TZK\\g@e w'ꉥ  Z>aLKpc.2V^+ ö4BX{ߌt *%-?>fvJ!enm>zS|W8 4o'Q*HSս CR-b~<5E\PExVPE[Q7Mv (`?kSCf, "yk/}/Ӗ;vXVZ/E@A P8`#i5EXމpXl7r;?sf;AZtr-BBxhٕUӻqvWBkmlkA ƙPM'D?[p7~-sȲ'x%xp8^!~{^!sHuyʼn|İb!/M. %@Zy_c7Ar-Kl֝ E`juτɻLSNmbsO]•|iY:Yfe"@LlV{&Q I;C۰^3K{̆p&$!%$ h!#|wIZ{[QB'\4@Uy+ p]H$c![L`7 3[ Ul[jQ9(`b #, 2nbyUa) .Ȓ4+r9/џ(.h9qg @vpKllp;~BIŽ`|}nj9m L4@[p2k_mc%JsGGpVlQA5v2xlY!1…_ ";'VoĽB^~gU}-"XgzTƽJU?Gp£}!& 6@ޏkK૬c[y?G>r"M+q& b(#S[O7b ?y碂V{XǹI\R @AB rj3޶4.,m'.ߤ 09IHH5ky<7!Uc/Y#ǹ|L *QkrSTYShG~HS` Z%#5ym2 XX4x*$g&)W`܄9k@Ryx`ߴ9̥=UeDUay>Mg_)e|aS3iA P(B` ;V6o>ҽ]RZ1|3k{3}ٟQKn?z 7 V<(8}4le ܗ3nO{e+&[&Xb<=@0 2եl5?e'Ψ*J9%DݒUh*^YOW^93C$!"m<CZWR(OD_3oE Jស=}yGKPn}@"XxDU=[Bg<+Kgzn6_3a.-M2Cۗ6rjr싣}1 cGFWxӃC9Cq&qߙq*=L:v`a-m-'B,_[6 _Q~iAsqC!%[A!o3 q`ruX#p?<T Hn?&z>P( (/XuX:bmܕ|];Z ]ऎkKYhhc$%|?"}.so4c8mc]'@ObϞwMAV.PbKꉱt- ;8VW{TǗ+ǭ7E'u"1yEl=mLDŽX4s='Owx/83]=risOZ[(   5*-o&mZsԳw};c6H (Xb9L }.,<75 P L6 I䔜bg3j}˲xnB3!O>!CBUzqqkK⻅Pҡ\E@3*D,5!"lo/VZ;2m7UʴjgR"H.jB,:+^do>ʞ"9ev+";%<LHS}}f3:I20Dԏ `Md'[<P)ŵ,.s2p$ӻ̜lLQ~%+8k|t~P)e2SCq5) l\4v#Vώ6=NyK 0ѢB/:KB /k׶ߕ=Psx?%\t>8ձlR( E`_=nepCwAMm!rs YLRa3?Cr'(t/n]C{$䍐/4'4o !5iO9fņT;VOtΖҪy=SЬ>Ga'W 3tt% uOYar|ҟ;Q $яKZ'T¥D=7xO{M&U~;sAL-5@A p oa_[o:AC"@P_ ..(GN\Z4G6o+/ihA\}1=$\S QId,gʅ~. @L`g *%Cu >?ȱDugj̦'֨\goê9=z$$B֙ԦN;InCrj]dfA*7N/H'\>!S8 N$AB޻kAϚrmABlɾG ǾղׄW:=5xFQ71WhZX U󁽹9T[XnRͿi% @A #ekpCw9;nIEɽ߰!,q}:W:AGȯ ]jժZ+bW>4҇>)]j`9ɉȏl8&-޺wmIM>$g4:/{t#hG3 {gz%E6' U'~郼g e466&!kWbc 89Ƶ"e5ݜ{S_3soXG}W^2 @AC` pUEW}cIAWTf}Ar% L3YDk6Q!>=):zz<`%^&HLu:d cBYp\swb)ߝ%:Ddw!NR%%#hĿ,Gk-UACȪ\[QHF[$5 L׆$ ⴧ!J%`"ynEL2AV81u~0ZnSI^0>m %t>+BYaGڒ?=z)WdeKl7UW"IuceP/Q~nC/y (TAYz*Z땆;@= T dj2B/>KBŞK=FvemTz/{n+=XK(]ѿHwdM<ƒ7J+ @A@AP,^HwOﯹwl-M<9"7so\|n< {ZCJXor'>?[7뫐 ݰwa}_O͡'WonLqwq {$LL_J;oMtʣGz⭿r"˛!Km n)bbzJƐzOdO;V'Aoz䑴yӦ4߉^}U[;f%󽷌Wڐ~bEQJ*,µS( @ J ާn:#O 5dI6bHj+ac=mSĵ uϋC}qD ȕ#ZCId#Qę|Bf3+[<EwZ)Y Y؁fHB9ۦ#D&OS&Memڸו}ٴδYVnЗxwUxR~WmfCL#;Iޛ?pVЬ@* N.F=tDa>3S^9CU.-٪x(Fƛx>{q- gD_6Q?-z;)X^m=iER۞yJLݖnV2_[;[GDy2.Ctq_ܾvگ_e*ۏ:UiJl /DkwuW:9I[;/ƒMB`|`ŵ~Ə:CHQBϴCO?[I!8 =[cWnC!ZC!BnvM~|T봶oN) pp!P >?b\--) # AZU}Z/$/O7D.%<~=m@?ޝ wG!WCdagv>:=k^6ܺ_LK >_{+>qڌkW&?Hmxޑ4-h iR`Yqޛ$K|K`~$~g(Tg,s ec}uq k!73ʳ톊JtNy-yJ xSߨ#GF+Jb{lAĹ^S/uF?70Ӄ#u~423佸\(3uq\)/֘`1-BЬ_N?' qߎNg-)JJ & ,] O=g8}Y&N9QFW!#R@u69TXe;. Vo}&t&ϳ |:oȓPj8ǰ=!^}&~0)IX۟J'=qNiAGC=6jnDw;~0=WP( N%OMok[XKIH^7Z-?6Cj[69K#*%wFpԣ]ķ;g{!w^tSwޚ>|A>ڝs?CĭDfHIX,1ouWuMZ$%T~e[c[|0mڸ /&UcBs8cgACE/q@IDATL˵#\KJey:.Ws}U @A`) PN~<H~֜$_-$匓XZ&_^;f&%v&☴A mO2-%:Ґ\b)h. 2J>YC+nvu~cIٙBАcU"g[}QrRR##Veu0Z!Đ_𠑦XjJ8%C0;ܺDMLn0i)͊|3]#&:Iil]Wt`FĵdDu%9qҵug͜ QTRXxΤMېIܫK%G5rU R9z7+@ڋF4aOfώ!hQ DaOIuE*ʟ5VR\ (W&Y syYt1ǹ\P\}=>S#b+#c*sJ*(exn[7۵!b3_8K}Q?}{wd\Τ%F&+^6$>3FO2?H|8?- ~QhOa&_J/~v;_4;)&nɿ]~Ǻ>qiGA P(}nBrw?d\$}ɛ&'aMKޟ;< "vdls[)nߺX=!H$dn%7$7&ꚸ'G˾v]ۭq_[~|?yջn[+uLܽ~µLf<GzJz14]'v? / }kkmYBU{|Ji'EnVrX88NՄAzDʾ P( y"#f:ipYz&DXkDU?a{Xfb,]95:UL&xNjk=yǦasgz߷{TCܕKP+A'*OƘ\+qpdz!OxT}k矑h d2~ˊ #Z=8yگk*1r~hUyNפ2&)i$[]Y΄dpwZ?v#?m&4}L ;j4C}^ޥ\ @ZVfo#D=ų5@27Lvm (4LB A7uk6s*? 5&l%'0lULkZ#{uP.6紜Ͳ){&˒ZaWe-cmwkz W8K4Y>וkO7A@w.(A|yvH\GޡT9mQ r+]8V+X'UͺBA >Qw+=~4"B30<W6k죰|c::Cf|6_ʟq%U7{7]p}g6<&9xv$\}=<(k=B:B1j}v)&p}e?(B!4~7C؏/o{ bo!OyB,z(Cd+(t?E>wh֮j`mWER#{r<)dWY\ @A`q5<x89ˮܾ~&RÚ>~6؟\L.uZ=- Շf\7}Th?/ʥAZbR Yc6eVvԊA^{ ኵןY vf{$D;] :*3hѵCosG`Y9X pɷKxaƸgTBYvmZö^.Iu4զ%ywߞξtsh ?UGKSc{#Aг~. P( K|ei+-{Xic9d! vJRbkuτ$ult+g]<$µ pOZrw"eqOR'?e 9'sƼj]{Io-Zz Q؀n`݀,4uYBW1^ܨK%(~ cjj[`vgѓҙ Ol&Cmڰ3AV'ܖ,!eѷt4YoiX7Y)& 1Gr5#=ryCn@m;A۫UFH2";&Rv | (,dߺTc^q3{>Lދ:Ba9!.zZ;.j_2z|'Q ݳ3^#Z {O˱>rpM/-((*8) a.q/YvAX13NvŁ 6˹/7Bqa?9yX?VV @A A rXZ;p3;N;-]+vŷ߁Fu?L=B>-쥮h+ǟ6c̙H1fI;FyD!~| 6=݉qHX !Y+) G!"fF(GdyLSmo|W7(YpS4:ŲdbväA^cZ/"n.{}MNdKiʑ Po3}xDٖDtU$r%|'IFb6"QRP~wtE1"ilG~4Oi,0ku}{(֓WaM$Jvֽ򑉴TG Qzy37|@ܛg_biuTi.JaWޓ-r!o*`_X}-&qniSֈSZ܆P0Ǿkoe8Ǖs@Qd[ވˆ{Go .q! %_p!8ڞu!w,sY;p_M%.]3+w?01ӥ^iyA P(xIcוn?a^뉃=mZwttp]}'vʯnNƄ`=kLphy_M<Nyi"mCdʕ`>xC3#I'[ GB|dعNhOݲs([Xd$dB ch5Js [<3>%%U*XDŽj,v\{dz{TJ9[2 O.ܫ_7'Ou[B @A P8ɪLemxj s@M;Z $ΉEʬݤ`1ϤܧeI35.;~1*)-=\l;h@>9@5 %q1){Ia%#K7-#! y%͎:A#KF:%?o!ao1R^V$J9 ʥZI`Pߞ}FA|t lD"_"3c8 |U ͆pFD_+#N׌oD L9WQ9|🱍b('hJ΋U;R)i4&]jބ57Cm x0a⾤(h`qsb1ˬ; HPKǖfR 2GRhհƒcZ6nLQʬSo> 7P^uqlq.SokܫTBA`#m>3ShNlrpcZ_( }XY/m}(}m 7y ޸b}zynK˜yb&&LaDl0Ol1MdO=)O4Fڍߺ 4ך ˘Ъ ~xE}XCNK.D8[wT_E}ӟ^AKwԻ-ʥ$nxK%6,[ʲi__{s[rF_M[gy̨<ɯS7e*EcFzʾ P( 5y%Ϫm G}A|̎gjle% wmuS6i$]Wu LKμZKf6Zs7c]my-+)1עTg"t\#KYA+ՐV"5\#6IkA{^cO%klY4Xه_|Z yoUA!!k"K!fUvҕLziQn-LZ۶cf}wU -t`NGe% GOy088"(+3"Mz(>XM,sA[e; S%s`=VV=}gŁ%{(or=H.9|A[LhW$b5 abnB$ϣ8ʠ!Q ep, 3K 4CnR{bcb"CƉrh_ y+[K0W T6SYl98N?w 𫴑2$c4N8Ը_lneȝ ^^tr; k k* PAS1o._4 P( ٿr9>+leӛHWLhP&:ދpḶo{WC\cճvp(/Lp\eB&#Ԓ{uI7ox%ow|vUɸc[?zEaDbX'93mV!~}+u)-.kfK'L> %17I} $/!ŷ\, |ܗkl|Rt<|qXި̾e.RIl׃׺L}Sa\|.]dV %>"b?s1y6f$b@@-CeL >|"1~1e4e-s HSNTwނ My p.S_R쨳_[&4ۘlC^ E"dlBސ\/]svW.䖐W:Up-=PqӶl*< [&=kˉUM;sj[h"nЮs\&,g BT ):C*w\5U D~Anw꺐4^6B {rSEqyrR3c済uv:"Q&ni}[pYho{APJ6t|s t߂sŪ#A2A{- >kL$3 aM,Txk _S]_]!ߥ\z!gkKڷ߄Y<|qM[p=2}d dGȏ}&O˾ P( -I;71~7tвyW˕{˷8kdnŭqONo~ }?w{lٲ cfnb꿭>";k>Fpbkrą|عW/_^|ѻ=c=t(ҽkxe>[~¿pM/,Zx-ariKqrT^WK n}!!]MId* " P_¯} -r9B(8 9/[C9&'?A e<'oKbεy %=H S];gf.' llTQ}4Sǒ|>ŧ$bNV{9!.FVAP Pak;o.*?X )e m'eVݼeA6\\4aϑL$B~u%M*s& UǒP&-u;v 30/TpI> 5egRP;ztZ23qou.1]LnYrAOQ^p̩$@\!FLgV;|bc,~.H~~Βɭ#8Ϥ|&񳢃|UFZ=UEZC}ZOEnuC!<h@_ǍPri#ӫ>> CI5Ol ve>a=Eǚ/n{/B*Z܃h@@KQk~_^׵}j>X^5Ne}>yݕ[ݝܺ%=8ϜLt<]BeǕD~L󾛟D%WA P(+þ$7~s"[ 7dxxc}<;s5lA>,./ I?-oItb$)>y> |Y0X7q+fY!/<.9 ɗ>ea Kv(VeD ڲ`vOoR7qSDE1|fI;R2HR0h@Lk刨 0hZpmXS@nQg.Y۬Mt"!G-7rAfI/8o5 ެ}r *4+ds]6cUiEFrT <4P[]!.H}U+NݼBDJ$~5#8HU]Ҭ`mZ}d 8C) k؇q=c)fᡀc2qXPC^j Ǿnd׶/PdqvS>!{eNyP2P}e)][.qK~rl!3J$_ 1xt⚵Z~Wn6<ز'FYL?pr֥kք賬J~:+qoNb&X}'\7/>7}{B.I`3[(b;I`y)s_9%ݱesctۖ|ބd)W`9Q A@MJK.g:H7eւ 9wlpr1͞ڥ r{"K$kao}ۣ.$< O2rct:>5! Ǚr<2r8KDQhQ#QĉG"4mT&7 |m\U 0癰7%i(jS7Sȴw/VSf1v'>ڢ=Iz{'{xlKIV  nEG>Ƙ2gb9bHx yd{(Q9rŊ6l34~#Zsn\9K&>*@B\KLB9x+O7}eg*-h5yLۮf }}e1gez"xD\ U x\CnleJ$Ruxkq? ! *!jC3# RNDY96H'@&5s1f ? rx"|||&?Qw^};q_`% sE˿T0 @A P(Lqٌ< 즫ə5cad ^ mٔ~/E:W`/iPaɥ~Kw\D E?dez Czο Awڵi5d_b,zR'޹t-k?x_KK+ʘ~`_iG=(W_^( @_T/ ͸zK.r[R-+WV-=%!2 3-,leڴA w>ܒG&/aκ|2%.iޖpx2lx$$n%%%E)׍to{T{ASt&N:6-Q\dVU hQV4`Pe<;'j.('\+ZjtE ^,=n.A\l6j. ZeB`MybS^?\yFٺkK-u |h&3i_&<m !YchSp\ߦ6DwxK^l~m!x'𺒪,ZHZT\d*D0vwLw=ND^ UyK9.À (9*Sѥ&ddw54܀sc';xǚF ȘR C|=l- #1#Ze,[ƇH{SF]DS }kB±, _3X?H/{n;=480"uA`_!0?tj3n$>yJRoA P( ?PYܝ>} 5u5B?X2.u2Jr\-r"`Ä}̇2) *HA :r&ØZۇ*w,o:u ? @A oD.nnҠ1opL#l#75Qdے̭ZDcwXڀ[U+FUn<(P>*ؚ y֊B/ΡcK6We9WAXWܬ&Hr@8z% j4!NIk.0,hLP\K7 !%Eg-ͮ5ٻP|jڀ<PwM. ?& oG#!d-Mrx7ٮ`w҂&50Տ*mG4#)EzPU He=:JG'.YLxZj=\\'xEz_-nqT^0 \_w׶Қ;KGgkYA%"qس~5=<`yiǺ> HT*@Eͻ'f+tw-[$p5Qچ B=[ߖ! Rx,ݟ13fy`rHV_M5C,p្zMgE`5q _51{Զ}?~]IMKW~a'`/ UFT*B HdQV"֋&^= ^M[BG.u .IDq#-Ab,Rq a[E_]|U;X3`},o~f,]"k7첡\UC "L)hRmJNR>:\Tm"rLp1䄮HK L!Q)%XY5HTfPT@5.C{~mV|4TԗtG ԍvqu]B{x*ml&uβ n;]=$zXSf`e %%rEܿ h_wc"saN#((` i֞Ӟ:h~c_P%=ʄf@rģaAhC>ȣ=c$3"/Fе୭v"9(ƦEázD9Y{Sñ I?QqK*氀㢬Lh<੩qSK_ TL8{\YE~b:P&߸^iO yKQ]T*@`R /Ԛ滴ީ>[7}"7/}1}Yi}V gi1SW,78}(G?!W, ki}JyՇ-/0۹kWt\8Wo؜gr&M>;[nbzW{`Nb ^'2~-PY@E"1"q=,߯w'қNX좓l{7 b|ϛY9kwj'-.BAKd!eTH>o"/MF LsS;L؏z|fJ5du-rt}Bhm)™r ) k5H{a襆A~+t!uMɭCX${u ܌ 2XV }&)>=eQ\M@\y"__cJFWԒv I"Sri#UKc&~(/wq#0DPUE%ҧ放6o](G!_I{kh>ė#KrIf}L(}]u+pBګ=} |⵷,[E'%LF5c֍tɎ:1*ILq7ziҀoDCkb8}hћy4"AAmi/vWVY8+O7(ꚪB!<tg H|/a!8 b ~[m@Bkf~Gbm?1>&{ӵŪoW-BvsTYT*)s9XCb{HoKYpC^ŽO7& !R:1w /z^xlkx]?nC'(\XQ+o7~Ǧ?Z&5xr_ҟ~-\CoX짨@E"P8}0+ד Li"q ɇ5uruIɦDMMNjEqEBZ-.2Ψr(J~ W"LBt5$WؚFdu?"Ҁ c:eRBax\S$ıtn {+o  OJgY[2a'?>}1%Y/ID@ M-db_X&~7IU-:8?$BJ4:s6FFCC~*]jQODYvCG]#\! i=a>ɱt&Hh[̻tX WZq )G{$_ TxPCe02aF&M_;LPߠM]OMOK.U7i!Bl}Lhr?8A{"&dpLqp? ^ZbXB;DP*U -A鬒t{"4$ꨉuޣ(q?Y?Z 7f5HZ|v=&"PXm>xU;;:-tcY@E"PT*LJnY$y^LKV<||&]4ҷ˟ܯ\j;=Id&Wj@E"PD"֓ɏ2u"ŶkLX7H6sziҗsd]hbQi@Wp=Z}U@E"PXO > "#ric5 Hz! Ks="}Pn̝*[E.ԝiRA4gG/,J?,e?6cDM{Ĉ@ }ne%J˒dTwα·H4/3Rġl$#B.QbiB/烁3 yWr ?<:-ˊ6&IX/ N#jW\G+M]`FN+5s1īݵojFSYگ42r)T8>AEnxLJFʅ,x/h\i |%_^%6&P_u!>AZIמ!4KFrO|m=uHugLOi:]H$`_{̓w 'l4)]y)IOP/z7;h[r  7cڍd*QR JӥJ NwNrMP?g"z5T*M[H~^zz 6BT*@E"p"gMn ɮ#dLcBażRICZB@ZdmT-?>j\u!X$NmQke/]wB5Z0`Xs58#BYJnB?+7cg=hƀ3 Q.xZz@qX_c@E"P8C?k Ljx=W.n<ʂI 7OgqCJ.qX 9ϜU Ww-fA5'q~q^A,A$ia M۶GEtܡj/ou9F`jPOID.cԉ,+$R5&#&_dJlltք,Uyt:ˆ݊.I'aqޢ=ypc急6@ "Lr 6"ɮUƩdX  CkbrS}|XjɴJfO<m6l7墉tWnҗM A}utztQwO'`Jڏ#} -G0=>HKvTh^^M+ϊɵڻi̬=BiW*VM(q蟌P] 7f<9w^۾54]-[_zƒ+G`n^?o:YA"PT* p|ΓRF*SsODn^+J;[\L,7 O{g T@IDAT>==hV~bYQ3كvZ1?C$J/ސtWҤ,g>~L}~-L: B]!RVBLJ$2yG̬"PT*@  ֋ߣ%]{س #$ \$g1IsBOLѓ& XeSU' 1$QJ[]#=;RBhBJp"]Iqr^%HM3*+_XxlE(?j ݅%]O~]HR_BQH̻dJQ0"3iχ>)b$6_n<{ha k\G(V!' S)gjS\a'`NpK֞>HN%R&Gc' h2Rq^yyښAa29}IhS(,WOzz&CFXUwur'\l ڰ`cA+Ґ,ǃFڨ:Zv\"R9Y`"CvNOν-_XP`n4G@CQUýT 'WC҅%Tfwɒ pG(uRBSGkT#"﹏] h?\M! "PXwM/}|ڛǺy ~|ݵ T*@E"p:!ݓޚ&ZHoz{t9 "lHkz-pc0 ",>8X3q0Lw>jA$F9.4;Rn;/]X,?`Y\Gg?iKBkrj^5j鵬Z⒱St}&xK\s- TBڷE-犇/ER RLgmte ()~[@E"P(2za=}-]wU:kDBUDk@@EwzsE-.#MdV'$+Nft`3X3s5!3IrdRkN!Ҿ9&wXb?5[)#ZE =&ru'D$tXsj ) qtZkOn.//p1V>Hz׍")$<>|ңw*&%A<6V\# I^ K~RJ@Kߑ{pLPG$x?"P~ywʰ tNw:rHE]CtfG}~gŹ|+ڌc9E ^eR*L\Jӗ& [ <9'%,;i+ࡠ>}85KݍpCCe*>uR<׼I&(tBtw\dN2o #J>ݛ٫޳:dsĜ~OA̚joN!_?e5*3rsUxF>MYۏO<@EGw|ZQzKP?P5T*@EF@TkztzĦt;A}hYZӃ;'(pn.*"Kz׾^U.A)z&Ⱥ/z^X+ wLoqr&`!^zEi? t~@z yae=H); Y &I +pע_Ņ4??҂m~9y{R"?ܾx˘&0eT`cP6/Lk܊@E"p!P$SiEA-"ږ&(1YIjlh=L7I1)7H$v\=8!& f! #&N5ܶSizDrfy\ KY( |z >Xس[uѧ p)OQ5QȤ3rMT.)%̺JYޚyV}TI.K%׺y!qJ:^Y* 80G9 O](G; pg"d$FyS hџx'D{gEwnn'9${!lQ']s&OTn衴d.55V2bB-p`-)I>wR>W<>>x V"DUg:@R+Qnw}zaY[86׋}9wܧiy+ n4 ukdt(y k{H/ƀ:TEr?`꛿r2" q{z'>`4ޤI;w~hwE>s >+O,`8^{id̦tMie y0)- b]i?7;fAC䛸2xTА"oK}|+y,V*F@}i N.9r_ υ UnNcnr@4)c)Ld볨wVdpY&vZKoQ T.269#Ue8:p7Ԇ6rr<[st(]ޭJ PBpA.U_Z&e(g_.aOvZU޸ׅcD?L#e:=CLO.afP܀j+g|1K/ ]|oSCE"PT*A` .;~c8iq{ ՠp(B ;.:+d/}i2 qCnq Aa#f KoĂ HJr&0@j8򬃐6cKШ9h lq^^La!"Rű`қuޑ{h KhcY2[I|MDY]}$ԥ(i|lz8FB)rɧ yMl),f7ִӒҾYO)L z0_X;ˡ+kĵW= D.uDyB"ٳH{Jt!ceұߝ{kB1#Б#:Jz6pk|^ZUYv|)2Fbl9TNIm9O_/ ,&|::HvV=Ĕ \pe!q|:xɔxzDh*.Ccʊߖ\vpYQ=ՁI,ѯE*cB}9#W>[r!z1AzDڢ mEkƕ | аuS#ް"P8sxǯ7^Vq߱{3εf@E"PTVdvt? oݾ=m0r/h;vej}Z>ٛF7 kmX0BAY}_Jk>;&mUL8f@F.ON{bYf *Ga {ߟ8`"K2_esLң.{4+{@Z =<8j7+իT*SRe Y) |=lD& $b63]Y@Ƥ6;@939CbDxPl&~9߷7[/2#A*DqTy ":]8]YP;/lGj/ y* $P!8lLJ7hÂe]v2V͸Dp#O UIK]wTR11lFOcRXbYc"hGw.G ~48Ek×"N)}CzH}Pu`]Vi^>7noIMtѻ'td褺/&@?pEO窒֕H sVX1w;,ΟVx{$'} [bOzvA|Gʃ ^;&\$qN+οq }$RPFDkQ.K#BGXF0z'kƕR|챶~yzȑ=Vk@[- `7IiEY۽:B4Z}Wd~S*O~MxP׶BE~TdO"$ºۑ>JY&\Ƿ:;-EaŹ4>feGcD8nʂZ1y[Jc$.eaNE#Ir"׏T:6x!#PЪW=dV}od玳nԏ =9_3{m@D)Y 9%]tHuQvz_=Md^Yllqv)Q/iX@u_qR'SX<04"xh>LpP:m}DY5'}{v1nOɷxc^ED!^ N#|jh+o`kH^?<# e o'k]D+?˒ӊ@E Gl//wKޤgxk*@E"P-g3ҏM̌\CnKx,W3g+3%׵f%fnMW|i{X"(LY0\{X:k@E"pj `N7ψ(ĢX,!}6 w&|)21?xkk"FD0G\&gᜌg%=[zBNv̗3k 2j=)WW-1.sQ"E g9cDץ,QN[ x0J* D'l3y1H0^BygĄ]J%Sm۳bo}_z: +XDz$ߠ/ Hj@ Ū@mBQrTr}LKFh6J`E:("Q2'\-reun_m׃וK.QcR;-/>huەzE}Jn ES@:_UT$OMEhꤽ 7{rlx =8&S(0!@ר8\S&X~@O~p@Lޣϴ0<An'H%O>J)ZM`&w'ֶffX F;&ћ\w"?#~W*@E"Ph|Č\7}WŏYzX7cj1_z\(/+ XF=m;4`ݙ\PW*h^|\n3 Ҟ%p:c#geOw|/Sv!Wo ukGlّM9܄聕wܞ>t4/c#$h&LW*@EGjJ_wmX 0/d} K]0ZmACĥtpn3z7KfyJC1%M!wz?9)S\n x X_*OXf@O%94G&Aښօ *q%7pD|MCMۭƃIDcԳ=t*^|iykOPi}$ϡr9;vet=G/URu&}?[GFhGkj |k~AV>蘏{<l1.{gЕ"G7Zaqpۯ~>u mh=5jЁ6z~ɏC&kG;ʝ}HzRl`nj'2@hgzXZ@E"PTNS.$?ͯvMAaݎjɸw]+Y`"Fv6.]zPǯ>Y0@]3emϚ/\ym7d{/IEcywϞtFC~Ln~RZwnNoك,~ik| țė'&C@E"P8EXO5W^9N4AY7h09]=k6鿖+MQ:&= 1Gf;B}Zz2l!?v% ff_eV&Kh+/7}}ѓ$DLNI zι09>8J{"i WUϣ2h Y1Nb+@!֕ "!ѴA!0s^x !;XB}wjAå9d@MhY[,lېd2>Ʉ7ѧF"݌5̣{ߓ[9d1D5^C[t-,$8=,R1?Ӷ Ҫ^Bk \>7¸!dq?'fDۥ7U7T @EP,Jj^JkT*@E"8OCO}wyq:>~vCw7}> yPdꐹ5S9[P,é V`L|g&0U!Lj;/t;rN^pg1O$&sw`|k@c|C_{@{iCeI s %W BJ0z@`z\T*Ǐ@!֗2Fon^ kzym=,{ { )]oԭ\3~k$>r1nd6:ib 5-,;/P\|X{tsB.%\S -ՙzcDv[[' 8PܐC\M$9Jzbxm~G ]zw z[*$1d}PS#u'3! |80@zFyi\\GL/ǹVV <׹d4JF餍[Hiq>=Q$͔:}Rj% tY(i/Y:/9DR 1׀ Oc{DDyCa 8.-ngVhB_7߆>6}EV߅ʹeֈ@E`c!/ް>uCߗ]3߶@E"PT* Q:% Q}. 18hWȬAxC[^u=ȲV.xz[za?}vHMbg`}NbQvO}5ئ1;v4Ѽs0>+{3ϻovg6U%' -c߀{9ĕ]$i`Ģd䔲wp6E+ӲT*gZOq/ "~dT"qlB6/⼫ļB2ů>lj0hk ?,! Idm 3OeلM 0MCS  BOSQ04립( yIWBj:6.biz>.,ڟ4s'"0| m3//T>*K9Iq:{h*PǜeIpƚ|x]yZ2 u]\mAQY)# dt#dq>yBHnkM+eq^nK3Y02$rhl1JuŲUw_2߼qJ_rd QT/:[W.M(,n(OEOOE{ˍ KI'hXt.1jm9QE_l sD_ )RyP7SuAbr-H>DsՄ/NzǸy!ؕE> XPX2TZ<"UVw:bj89T> [#w5Vv.IoKzk"C{miNƦ"4 ⓼x/0o_2J '6l*i$㘜U0^h'$:-v <06UD HMe7#YDo6_$9c-cR h>28/8]eg\߁R[ Hq̞8֊ ы:jÊ2N8&-Ʋ+ `oJbMO{' P$Z0;B'rϣJD8tƒRnhr=NS89$tEJLBW |CSN_ր?f0AC{m֘˥ygKd"P8Cس~5=(g=n,ghk*@E"P;FZ__ş}[=pyU<yhzcڧAT,!r# 6 !?iɁs0EW~8]۬e䂵&?TJ{ٶ}Gy/_yjbʵYJiZznzKNksi}ߦ>% <C;O5_ ceȽ}n:_{׈@E"(dzZ~SiOkY Ǎ]pC~3fvTX-AA9 /P,c z@hvdlO9= 9@å(\{Y]d=oT |wIhWy!1xRLi!,O"MY\{g܏m$kʱ_i~} .簧rӒ`s@3~&/G$k. -| Սdu3 k%'bR^pgR4'[ 7n聯|{CGoճ:cT*@EBұg1(_=}$4" wl|{,;Dfj3:/?" St}&!m 2 &-Fǩ˄= Gz ri{H]+0Ѡm=;=|p.Υ;}/ DMD/DU>ݻw-d2#wH@wVڱ)MS:߶BԳ}ovN.UƢLśojRP^S|#uzGt$hʣЎפ5*6<#M` fѳg[/T& mdVr(S^qzAq윊_\S::cY''T EDjXHao_C,e tfW#-^DvzX P"j=nPudGGeV XG@'؃?dzzpe޼gwb%g$<d+.p@d.wacJ_ 緊gBz;L w!,Z״?'qPyYj'ګ$>Au(BCfv?qW]=ېUٛ9!0mSGj) RV "TCEBW "+(פ E-f)C#XLQhMa@!8eNMVi7{%hNyqVxK.qe`)B46}M̪z*$Iju^#jqDr6c}"(A+2zkekl'vdRA/%ƿ$,d(NñghcJ/Q2lD>4z(UҒBq b|Y Ds'|GK#.bǯK2X"k4xHD~Μ!"y2d,PBù |DtFӀzpi'jj[ԽFRY@HtM||Z#qrdf~M|}pa+f2Í]CE"p#߱:k4kE"PT*AX0zz{Crgr`}5gbm\O=D3ù=g>ɩ)?0yє6zs׀[5dXo( y5x,-OF(½ #hi!jd}}ۛEoվmY~c }, {r;qx1|mMދa,_כlQH^4qvhR 7ΩAr&YA|MX7{T. 6&JBܛo&"p`Ix&!Eϛ)Q(F^kʃ<5f("eulmN#D|W@V vLi <糖!, Okd$&c$C34HTǹCxlhIR#9 ѮŠGZxvq^<*B'|T|УZU޸OIys(n XOsv6.߹ͿE@E4@ߵ|wTs\iYU"PT* |~^vݷA6[ܷb徊DޓlFIy y W;wZUC)t'~<0 /?UnSa~\P3sn;eYy1EЎфw彀I&猬D俻5_&a vk^b5'Lk&GMnNf$fn&po7mTP\/OWW=,a_>Ktt1)X ++TNe ٷO"J=E=j[&B `͛>PwnM#"N3TI {S$tCTe&7-H$E"!e0 bB5Csɂ$V| 73!OG7XN=.G7zu5yKhџQX7^')R ?3lQ.Z%:uxT#az( 7tnPBiGYUʍ<JtsBLo$dXs\Cl !n1z^<-rO3Nl970RO \|&2SGz}i`R詭q`ji<%n|R(j?P)*;@Jςoz@nF5I:}dpi1 ?#C7eY87!u4^ =ּq;{P_ᾱs /K4J_{7j qie.!?Ӗ-\E>Yu_j0W^zi7jէ"PT*=/ | ߙn{-A!EoZ5jYYT/W\iĮC| zgtya40&o"DSCW"w47¹"611N4,xߚ % g r%n׀/m97I G <~b y5t:grԐ ٨巫XUMA )AJ~1lKʼnh1Хv?>"_ޖ>A}A' T?9$B[Ezg:BcْxEupEYjrQ 'hڵ!/q1bm䍣a /G긬?OBRŸ%9 @!<*MQNeѾ1cqO(JX:rTKu^Eκ`nGgk9cA໿_7n>=6qOi :shϑ.ψ !pMT/)!.4M"e\wl/Mk Krd7v&sY.3gr !4er u|,hRXM$N;Fa`~x5{; OqzV_g"MWDL&Q%}cQK8- K7,d~q=ɉ]7E҅r?224o@IDATE`n^?oQgv" զVT*@E`!pxJ~; ւ$mY ^u鍷A X-nNTa6cvp]IEb:1i>>C- Rwygڷo_Zu>/ ֤r_CE"pf Pu%ƅ'E…B7gB[.w(,I%Oae#ڜ,G4mtt,Mć pXM$k靴5/?mVGD^gKso~?~[.q?$#8Ζh-,'kJ^`@Zi=!D<s3c<@ Y] +(!yt xj=؍mU|d9oȒ~Q^:vJZKG:ѸK~Gu1`U)Cv oLr K/kXhk+{,9o,]h˒S"AeF]QRXdӜĘ::7u9ijh)z1$ܰnY#' ~iRYkzcpO]I-QWpJG;d=9mN~]9v%ĉ٩.: oI9^_]<ޠ{ 3, X{7ĸ~HjTNM/}|ګ (""PT*@E85oߧ1%Z{tM@=p NW~68ksj^Y]C)ylz{l|GE8e>2 ]3>,o|)}Ieqx^IOg~g- K(1#x@8m釴$WoNO̰‡Pw߃bvXq .ݻ}h=," ނ7^ p5"P8(dz*=l^oGCC߶EyO]-\M|N[,G\+fkL>id7 +BW.%-1XvTR#s󩵨1b"[X.y{_b@u6ʤ=(SilD'yg:! DT^?$zhAD3Hˑl&ɅFKv:ɗ܁ >tqzםI#>e0P.48a iN=$ZU!"T'i.F{H?)Wuh(8u1Ê*!B>& KJ]{"^ )LG rI#KʭQ% .%+. ߊc~7.+L!n8>OmMO>5+nb71f5-192EIss}w5-E[, L;I^ϽR yUMN]$ʾ=n|&,oiړW+@!Iד'EJ$yjuu ɺAa)p<@Z,"A.![S Hu#iLKxmXDCu+=en&;"+DxBBB Ԗ?V(B0RJ^N(M٨ 1%RTq#BsN[jU#7Ezӧ,!=_ApYq؏+ctuBʕԈ"G 4-!j}$U5qG >KMPBY @y0MB^c0nvW[?Q6X:}.-tH]. 0sTo? %$_ӇEդe#Z$H~K 8vZm! [ycP2%`nĻ69sq4&尌 ɉ{ %@y%T"|!{ו{| „ M^о}:ӌ4#dJ 7f_޼y2Oߝ)B"\#5W*k՟?9I =1jT*@E"PX+~O$4!C߽߼5)=.ث}&2&5wNC:ޝ5k}a?i_$úz&nA8䍕pǹ\?~V$+E[Af]VOIfӎu}%箱 N$[<`NoخAァa>򀟭E(NEpKs1s9pX81ZʛKO/\73mIE">kGX_U-hLV ?hz]Xt,UbUہ|3M8Ab1k~Hc[cy,56FL3I zRWm\g~Qa &a.J3"WFβxp&EMmu>50Ѭ؆5bQdFpş,Qe䁔 0OXcKBdk{V*r/keAKetYIsdnDu/ìbJ:=_SA3a5*,UWcNhPKxҷ5Aľ}i%ws.E_o,ǺC/rZ"+/k8ذ q̤>ӧU/eBb6c~L5"PX}bz{^i1-ZB@E"PT*#`xh45hsJֶI} 7=zbSg M?;)k֌z%4a}wDd mu5ǮN/4'L:հSe{ βcSyg_ w1'o}=qxз>A;[v"=Wwz`߬W{2! yRϐ CF啷ɐ5c;=?}s5mx<8}"P8%71hrO'? ~VBLn[AoMճ9g٭,nѝ:aH;L,UOu2oޚz6+}W!6.e~~6em2z ,n[^ ZQ#1V3^!p[ۖZ&؝aoE3LXy D$F@N*xnLֲ>829"G! o CP'rt=!d]+W+7M9T%>E|&}[K$Vqi#;ņ$ | EUHxdyL! "ztO.!zvdo5Nu)5"OMS{J+K~)z8zߧ#暚H}]JD9bY }BK/} :A5{E"PT*@F`~{CM>&e AZX64ܥ'^;w.:. [JY ?]ox_g0dI?vE*5.}c5&0@I( +E ]lّ~~v|Jg?' g +i5`Ä;%@(ilC?\Nc .xJ91gB$I,_T;Vw_tc{?|ZECLzt~oz8yI:65=_fhY # |5/ҵ9"~lS&Q7jV$sUg|%$ lohi@ V $"f)QHHǛDVœ&;gU[Alt_5^\651mz PAB%tyQrG0ÅE|ʍ2ys~UuW 3r1sn|~hC%}]h,\6 ж~): }ގQh[tXd7 ?{G\X:;tnL֗4|M䋩?%E+m;>~4߫c&%[kCcJ+Azn /E~vބEa0u=T*@E"P8^f4;rJÇfn1źu &v-g'\L/? fV~1W[׮]uC i}k?; (Xw&XCE$`uaqal_ r{3/1P^O7: )3t@jxyx, CVo '?̸ߪ{D]`zgE

3S":"[zȅ\`i^߂Y=_oj2YKզ7Y6izMWJݭ?V,On]l5 %d!Lqq HrL*:!mOݹ$},6 9%I:!>/|Eߑ"Xnd}<' nx4s(4 xy%r26V40[$=se+GT9[& ߟ.GEyDiyieՆzޗj̻7o֚nVfeDֹ8o8K?7t -fR 'kA,!gp;9=wk 8 nNoҕ֪.[Lw?yU2@geVOR>{~SAn/i(cSzG1MNj{11\kB@ S}W܁}ۚTLmS5Y*= ј(Hg$ue|y\IhN"TfJ!STV3M뫴=,,6N8\xcAdsUMP4 |#H4bD1ǎE5+yu͓ccBU.x!Eb4'+MK3D&=yu ]9\P!K?dA;%ں]{]^:&7BTMK'y5vp|N9ڕ"-멓|&d/GϚ.KO{<\Ilv}O׸7'7oK~ GW?x!08bt`]hLxbi&uFӺyct%nsz |ZZ49TD=^o\u(.G_5@}z~wc+߾e <:RA`M"끞Is>'{d㠄@A P( 37h-[Zsvߥ1PFMf^A_鏤/=px[\e3TB [v>Jk׆$dO[.]DJK}-&!k!0AW A3u*m 8V%̦-.(}#/H3">qׯ'`)M?F.8 t5M=w.F؁LKè =)p`~ "A_StƐ9 soq)[ޟ^+~=qy-ʒ )K/M&CB" .;^qI>&ݛ;i\ KF _5'kȖUpWaW$}ԑ7EIsMޏIHo,m 80*BANLBVɲ<% $ aY ҃=]p7 )bPWEHy_G!(IS \MÈ$:gо]|ߓ8猓JEQ.ѶrrD+q[uַ:pUrDP;oF&]܆n/ Z `(P}F&ջN@mxY0:o85tㇺssY!/@!X:LceDD藑&:<3jZ C`Q:TNHxga_M~AhԸP(j򒙺bo ֆ2u?,w^/nYߓ6^=9jBu-#l~.u0p>/޺In!HrJ\A`![r8tzuY?@A P(Jq=7.QH6zr!oY/k(k0=gkdSB8KzdγM6x]c}6==mReXYGK]Vܡ's\s R9f7\Ev/WEc}>-b0?kt~&>;jo9z2L5w Ixb$ &'FP(թ$}tW3'=gb^]ޅ"M d\Fg+ַ+ aqWo/Nj:oB|"d'1({noj\oΥ=uDA=sp= y^NhYdPe D"2h9u} !ɝ/􅈇4="yd m?tMc\Df9&} 5(!(I&2P\0(:fݨuHl'߸,~76veRˑ0VIAvGx%_GJdTLW8QvO JkdX$-!~z:aXS=Ԗ=p} Rn9";O~ UA4P={TNlQ&}sZRQ7cO@K!3{{gOh ‰% cXxe<,WuRQ"BG*D&:6+de~#w] /6>Pl_Y{֔B\g t\6Mʥ:BWwҟ'HQVo@&Hp=!G [ ~^"I܋'[\CCauP=gj]s^bhAkw#}[*W9w Oy)&HTҔ'{f6<^:WJ(NxN%WjzNg9nDWx_B3'V\1S';ŵ܇X _D?؄4.B6 /bZʸcnėW1Ico_fM[!}6 DpMq>6$v) N!kC"e&!Σ9I]_Nb;p7"9t<}aDlr2 w&>RK?h7 ("N52B_lDMryu9O "|QX4vT1dZRW]m(~g2L@ʐ~q>[V]1nmYh! ͤHZbB&~z5v+G>wEa|n':v)O^ƹi;U=J< 5) ,@(zоDi9y i4⤝'Π%rUg}wڢm%B!WYF!OaP˞G᱂&-G[#rKbV8?~|q&a\O^H @A P[dsݝ`ڠ9tݼY=2%_ԘN?ҫ?asŢE6;b0+eMCMۯ57+&Dk5WXC@0 ]$9y;t07ɩӷn?SeN0X]g>,`2JdTmZo?/M I\[[AQ-qڑcmy{Y[s/L?xޣ5pb;"pH"kr_ &|Vz"D|^V 39I:vܙf )GV 5@~J\JqP됐蔿xOYqy$gth~n1qY/OƯV_7c1ckF\D`{Y^䭺bʗ]{J1\&s _9֟* VqVEĎ|p^(IB!/rT'dId 㛄cL ."b2O+r]d!y"~ژяd^c6=Zm߸Y Դ@I)b'hZWd[xG !:.a\&+?h,+/yv 6Ձۆk(Pd;^'TO/^‰{ϼN?dt޺&Z+mԆl#^|4 s?q~~v ⾸ߣ_*L@x1h!T9&p2Җg>Ws;Pc^K(*jy^u=7Z`Z=t95Y鏙y4;cDn[R@A P( 'G-Mk2\g7"boР0b !m埑2 1ZȀ]3ИO .UqZx]e[zoѦ2徻&SҐeTᅲV"^|ߥ@_k?7^49NxD]ESү~mSrwxpP_/$>OL9o@5ٰ$}8>Vx̀c׸+ *L89 kz@^5^^{e+R"^oe<4a.rgi5'QG˳Z3DďPV݆T$$,MCקdX:kԩd !YwO%Χ9YWgm'ֹE'V >Pgqm&՜]B]Aڬ|Ė k#[ oJTzK%:]YWzV&"\q[W\,2e:\b-)q%/g_}3a%I,Grja2`-f]'8 ըox`_"8Ɇ)e{{IR|S=X+q5}ɣ&#|吟r"8 ďg_孯ADS9;E_n{~=mۼ`=Fr p j/fN=36-) @A 8uuM=0i [l`:_Y?,&B|~3K^ۃ*üw!?gLͤhhz_ =zHґMפ{5̈́ґ&@â4u|$ݿieXWbp#lg^'qh/Q尓}-Y賵ZSGzf8Ж?{)R_ޠ %Dw <;UD knw*>vpj~WHƶ6 \k&ȝ<ݮ:uˮ&w5Ӈ1zE~L6;rޖ^nK>9iB!!dl~nʐnZB"TBlkhC WyLȪWe[yWAfjtjH\.v|&-AeQZ}B:R)W'6Cy2YXW$);S9LOɠ|c9M\dV,7& &nWS+.:i (GvҧƱ-@"Y7v:Tޙ%+>wdhI KcI*ލ10%U/ bٮn uUoC~#껡<&7Vʏq.ƃ3` ucnCuU܏'*o^:pq,εȅv*=1V{:M=4$1##KQۂZ 5^Ysܨ ?jׯB௹}=z_{> ;V5m?{xZA` #gBzʹ{/t>jr: H) @A p p޸ܡjλnN6` &sGa4-8,XGkAD> ]^#|l,a^i'b>QP:EH=p!:6a"QǒVRw?B\$t5p{ |$}x^CXmw#f#xP57?1>X1P.kKXgwX?{ O| M`ǯ| oL4$Bv wϞ>كJ< uȇćg2/rfz2?O?#=, P8ϕSK_%$O# 搆V|Wd[W$>u]crP|@C & F]lX拼ӳ ~QlIy&==U$d,z^Gn|ןl~ cmLf9*qLKyENU6$肈^A.ho%>Q~UyT<]`}(j2@^q4~' *rй:F:!tg%i; `ڸRt D&&xEs]=dzFQb&@dَ$K|IXsOv\}pAX Nk($9ĽNJ@L;&ĂǤ*#)cQHk@IB1D@L"q9+"ȤB5[qVՏo"뺛-(JA +rnlu9*FB'dQKqɣ|t#B 4_w$Ps׋`x ep.zpq]_!hwbi=v7hmM"=W-t>OgWZ}H6̓ܛyʣ-(v r⒋ NO^=X_ޮw@m wmi9/wHLܟјH{“Ӈ,8 pCCFʹw޴AY33@َ%>d>ug99=d#3` UBA pz!-?x-zku{h2K\ƕ!)ŧk/(^ 8r@1mLn E!+]@cko j}ze+X<5E0AI}:L`erA\ne3Y\!u4"xVu=WY 9-= KkM*M n{ UT ~I\4Pϩ]28i r ͑BW#%`׫Pnٸ,ǺNmR灡Ghh*zeP\ G'$sVLElݞF_R8#h4\bHeu)R¯pdRO.%sEXUPt>.}&҄jƋU^|J弔& (M;2tjNPѴK GOer>@!7 | -a #P5xQsv_KGl֟GVV-v_B#P( @A pz nyLV`y'޷Ǥ$d;IzO/`pOB#ȠGՇ?I(1,nX KƩOqh:VkN{ @K3L8yqA ϗSK_5) F"*_/s{|~fWCBAx9V&FT$߂bƆEIj d78I 組I`6ۄ|^$zg%w qhM~GW Jܹ/Zc̻.=O4RCP7h0D9(uJ/Cj*@GDUՁX?!%ߛv ˏSu7dוwX |p>OtMT1ֱfO=(@{χaC>Pi׉6 x@_|#$ Ǔsm>f$V xAK@þ,j~0[ɳ\2 }I䒧>oҝ;AunQFJA$0,;z;*w"B`:yewq܉J/YN_ɚ{utAwFwlb'l O SV}I0"̄uXH냒N86PYȠ >8(Zn7ZaG!GsFrnmGRVVȿ. j(+$jLA P( Y^_"OvK@_mϥ+[n*aYOln Zko=X;p܍C"Έemglu1Ln"}~L`2=d~ʏO5`ؠ@oOD`:-"\ZX߷]㟔Ξv]^O7G#fA:@IDAT2f;ͧd\?  &tę3IZXCf47MP{< |/@;^p*nq3.QVb!4 )ĥ1Yh3'":k>__RRW[sʥ>^{\p9\v0D4D0^k(8Oա#wc*KjrúbY>x%řs.t-<Nh[fq6x<;AðZ}QeYa]s\'o\yJGjQ;b(22Eir Uq?`Z7 Y!?7e(J}C U' rxU4^$t@%_Gln%=s?Oqovd;ēgJ=lՇ6gHG=A|!_ Lp`/Yi!3e(Zn\@W1_Z-X;3birVX=NJ+@A P(  tff~N=s:nuyS*3ޕُ{޸ o/zN15k!؁=t won'3>2ߺ} XJByNkCޛq~kzK>79u''<} ;9=bbkv#}[?}{+ ?qӥ0liyE, Ǖ<3%}A C8uWT%d#am55Vcy$c\OU/..*eWD+$}]umL86)ֻXBn5wFO ,^hc{ G,}?;%6 O$"D#+QHCR ^Mr =ǧ5AMeAv_GN[ő> #.r%dH)FWI/:wQW*e 4&U?N$ILo>_ڢ gI#G1`vW[`MdRA˺:ҿ ƎZ@R)Է0C8&_dGMLhZD8:$q(A?WD?Ut7D'A{~>zVǕQRZU5 З]TKB_V[G:''A}LtQPAOҟ$SX\6&[զsB_Xú)K6?y6xGwSKU7]׳x\&B =L)Ro]v7kzպtIVHyY |OS&M'Xww%:ږ:cxfW>`U^Lbo;(Ƥ&Y@G. {]Z)/<(q)Hyq#]s^5.RUqȯut設r˄IEDuQSFHp~9P yDTbЍ?qAh\In 祐xwlVq\SS:uP!PSD*}CTjOI(* d>$bJ$MTO {P^ }}՝69P)^ cKj[.yI,{B-Y i}MRO[O }`H- :ؽ|y30w'_eCǢEA P( @AT!p֒O]}!`wTD[ա.3& zu&%&7WE7\ |pu_H,Dn7tٴ c^tޣE,/0N]cs{ly,ۧf6 N;};L_}./3$%if` {9CЇP!6h\7pR))V>j;,ZWڅ>t¼13.w@km=rDpѧ\yun&)yWM dʆ3Y 3ubO2޵X{M=aʳ>z?]WuM%hcsWpob|MwTBA`!UB˜\ K( @A P(_NzJ7< }j:BoU>/c>nh%dN}?1^cmԝĢ>3f\_lY{s^mG 6O,gZJ!`ReSB_uɂd0lgw#PvXIJfvCʫ&JZZ|^ ":|cEЫH0^t?֤<}T2yvNNU9ɤ3*AO:c-%gje=giZES~,6&R ݥiOV8TF/i0OI4zHIW*XN>6Xv;C _%Y:7Kpr()G>8t>&b@ W[XF~"b=jՄ'M=-}tGAZ7U0jR+muzx 9mw5u~}ӳJ4my]bBm=%&t_9Վ@y`hq?i_Nu/}6ﶛV *sƴ{fau]JP( ƯvJI~YFhq""^dht[b\ӳ.K2Wj!ܿ'I|TD=A4VnNO(LJqV$ VmᆲXODGBW {ir±>I Qk dYLq?)'AnzҔ.+l'FOMN TlAAR'T"5 OO)t9 -P2W޸nA1؂wi|gj6wY 'G;nh6W! b IsA3P!JWM З$Jk_M0.Yve=;2yQ Hp|Bz@BSugIףZU0ZUEl))$mgjif&ɺtJ'hx1y\j./|hճ {Cwq?%v䤖W [K:}HOn5 \~E2>;ޑL z }N3 5j 4ӿeemVC݋k>~[髷4vkժh\( @A P:zÄ^wk.umޏR[]r{E%YׯSI F!o}3w;/tp}!8]?37]qt`XF~SOyݧ>} yMa )7YMāJ@A` SI7rm&._ +zQv" xxM^8@ = ɝ-̛XzL)ź<[Nj#ר'&an}FIF@iD`6'3fIN& Ę8g%1kol1MFÓ տ, e\J˛=.! X}LToc5YtWe-6#9pAMU{\t&dYǺzi U=EVŢkbk9=rMɫSL?zd(3L L3uF\:V"mBֱTlY}eP}$2TFw*=]]L̢9~ZqHz^+o@]c mVuO{7˝WLѽHfS`Tgg'u{~'^ܿhK)1Z7myW(nUDMŽ{7sVUPE>[v=@|/Lt P( @A p"0Ay0ߕ^znÆ +>]_t0jv;eKke(K"mHB ;Cx9祟7/{2Oz~j>1t·#ŝKwv`_C{.IϛlI7m2IxT(0<o}uD ~2‘eQ:7pa!2ܖ*2"kޖX-}xeOj%˄lރ%nFA*6'rɕs[6AФ,X{r ~Xcmb^rk$ M)8 FAՁ2J[~[Yr6VD)qYH,.:K-:w91:8#ɋmLhiue+\VD/iY}Su&Wև#9@/yF.秏~ɡ\DQbs,Uȓ/8nPFw?mw:QԜ?\*h>T*A%BgEX|A{RZcF?Rȸ{7_OT-ϕC<9QSqB,-C|Fl=yݠnLWK~L i_/ YU}ٯ] vnjH@tX$ay"9uf:l*)r8uҨ/{J(7́IW<"gjx{2iG:Vz@C2>eohCHkDZ`6+f/2Nc(!D=GU`ju ~zpy$=11jH;*2Oк@L}8{0&}9ݴM[GyP\-GRF&^xxz _ #)-$vk7]Gi~aS~ @A P( '5eUyӻ%i ?,m8Wd(O(MrmZf-}p4ipDBdv7w0};ǵ}/׶ vHD] ׇkTb @&O%?kSK>$):m{,,]::P_XkCfN՟i )2RoR\4YsɇxDyDAck9MZ{ /:>hb9"ixHgGbGrҩAeu! @0W'| ֯HV]Dؚ79>]Jࢂ~~NW+IPEe"d, pXY5A9 bii+HXzBkcTw|C7/ /\[.ESOm$KH$EFZ>$<NJcy?79:7$ 1?P p++ Ȟ'8(*ۥ'{pHaW>9XBiiDUw{ȪRZi>ufdE\Sw= >8ҷ)܅1L#)^ TU׊> c~H_]%=3M Z5|E͂@A P( @?T`q\v#5aIVv6+~\۟LRa p 0:55e+iQ 4$+@fgό1>}ZwkZ]xL;ҶU6qa95o9&?%s q K(N=}kS6Vگ.[rM}3 Pk=Yۺ]g |&A ЃSzH9[BC/NL6H^xϫ Y[ԩHUVG^ҏCC y!+9LRe7;6`*c4mźjh5ˉ{vNjR ܯHoJNO:7RLrȥ/n!չ6}dzxWF ?rm_M?e8U_ısthɣ@=mgRG ?rm_M?iT==z:5%|@\tuЩ\oBFx}A P( %"D$g?uEڥbnƂA{ue@xaʱ51kp#"?97SI ߦ['7h\d7uos߸/~م~YVM9(jxN%_NMMɚ'֐jr AlB^$^2V@)Փ!Q )S* bHB܉1[Y"S(%[~Gn3^.XhBW:Hw1.zg'򘨄}&n&!hxw.-,wUr# U*241:A5x;QjnC&y@ O[B62scЇsV{&Z%U\@w=>Hx=;넾2Å~G^u(S_uFTO'{*}2.+2nR9?L>?K-̀D vr Zn=Z#<"Ĥ#t!dH&VWʇOũj]KqJ:<\D}e _%~: 1r}|$&1ṤRт@A P( lI/6TEk>6luMksCIzwn?w(Ao¿yay\D$5!c@CYh3toJe, svI(NX*d1o2fa$ #2%2p}ZR<Fh._<Ĩ|Cyr BJZBkֈzkyk{ƶZz/4]Q_Hov-Пg!iA P( @A` " [ vuA q?190aܗ߾fld2$]2z W=O% 2j6FtIugx- l1$/ A m}Y&7_- *ְXE[,Sck’V$-jͤ2/.DabdjDFQ^>~]|?LlҐuyS^GP2spoE9{TlYOށ>VʛaD/%_l1gKd#&ou 6w(-!Xޤ.N\9ԤL.j_룲՗Wd ,'ǃWyE[rWn{K0#*TuiUbGڪI/z =HwBևRMd4;a] }<x{Ӷ HgcB3tsVgq<@>Vm$Y~!$_UXmB㑠U⫺3'iWW_ LLgHɧVjjÃyћ~YxvUhwg_ϭ?3)#*-v[ z5K @A P( #0uK@:<\c-L.&|#f1iCS_1h"=)F^ U&]uܜ{_xyO|r<"}/щݬ'O͚?OWfo_wߞ&&&Ҭ&lٺrfzÄUACVAIOmLIz;,H&xe.++~:Q΋l3{Cr)HJMQmNtHf%[M{\ u'4Ն $fn< -d< ~ u;#$&>j*-.)%E`\' $ H!H%5ﶴ4.c"5סU%P.TzڢJjA`O H_{DrXmzdb:x\7s!lc |X`Kӊ)vILPQB{dC?ƕIGOS=2Շ}O?5e ܦs_YW}nqI=OZ~yr +ԇ kd.,IHeDݱ^Āl^!B)\i8|tvѽfu殇M1i[…kU6=مqJXM7U~C=#s,mrnÿzKcZkr9YK@A P( @gB[w>L[ &f+5*t_xQ70033c"|#1d z6s.utXpĊȬ DSܐlLmHox“n?I.)>*W"><٢AWl:#=jbx-/67 r0Ig5oQ 0RxN)MzXDp 7ĚNlL1w,i`{F󙲐!QeO87 #OYvn:W:c#G7Y\/t>EߖN2[7J3 dT&8݃̚ҩ %+^X{zdvϺي[ )} pћ撈[ᖓU!(_[OUCP7IْK:Zcrs~ ʼ|ҀV8ڕvﯽ ELtq WKfupG_6@ռTn>͵a\ ^J+n&?xBGc}-ʢP/ZPu' $>ZIhtЌW$EX;{sfJH隷5LҌkCkLS?p=Q>e չ{‚.(Û'rqUE]/f/E+XcѽwYXw=8&jT:nzw-xr> c^K(zm{v/) ؕ@h-GZQ P( @A f5hvsҙGeݟ>7o!6%kMtݷNy@ |||Wg$t.!hYA%:A! /epհ8xѥjyG74ӏyB#( ߷3 ~y#YǸV+흦4' yMP+, SIt ҺwdY;z9! !uL&VvNbYדtWdb]XH2<-hN.k\Q 7YsjC]A2r83QN9ks* viPf[ﹰ꺮my܎Z2`s,c"Sj_VDM|$qamZT*|??np$sC tum;zJw9f58+$n7n"YN (S+^ȚikO<9YbCj2>9cJq艹[("LrX롯CV,?JgԿD{)80QKE:^XQ==C?^Є]gFN4" =:rAOZTmƄv場2[ױ^c=#}K'F:!OWBrc\zlѷ'NʓjE{Sc|ojَ-iǓ#w] /nU~>_Ҷ[$FV-~6{ Y~>G#/ @A PXl`O"1{Qj{OW5zƝ֯_G23@&$6snuihҎU]fՖ?7,; *0rusan.<'OJ['GgA~sVwueO8u|X=3fj~ |_h=kV)dèjZ(dݜn-ރ3ͧ< ڜ?$c~3?z$fszCXrAy:rnvt,Tgp)} z5ԹMZ.u75T"MJz=ML5 Eߕ.`^_m<L]uMXIև=ǓW+bXi5I#l/P$S Ћ7eyA,\t "d?|ܡM kTGܜD}}}a7Fh1FN%1WzFp$u &s[Zɬ¼v/d74 |0I:V} {hua9A27+ڜ:_Ćn*#ng{P2| DrL%Lx 29F}/ЦLPK҅p`b}/kߔ~yՓSjԿ{$&(J#I[eτ M7Oo|Cj@IDAT>Bc_Ǎ?ʪODEқ.L8'p 3mt͍ɇ”>\9* @A P( !wڈ/J<]Ł 4aC>}GAcu2>nDM`([5p|To1a|t+/&VLL$$b{m`׺N cmoڟ-ﯗo~ H^^˯b]C޼ysڶc-'qz&얳R]M\=(ުA5[5Q&|!u-Mޣ @޺Q n"Qh/ ]3! > G=%k^.d ӟq4z3AظltR-ݓ {ױNJU.uU^!FLߍà\J_'B1BA FH\O^"§x;Q[ilO&o)L.%t~Y?LJo3!DZ,c (E/Q(j=A8l1JCڜ,OyC *Aߵ2s6M:! Ԃe'tƗ5ngMɚ?.Be 8{KI.`^Bu NN[T}Z2Ule/cxOQ_=&"h̅}\yB,GX)!_~f"]tO^U?vˋ]Og5Yj@`~O]œH|]P( @A P(Z^akz H_Mt×RKG ր"XmAc9@etf2Afٔ7,ݱ7y/Ҿ=1 y6~Zs Ϻ`}Ֆb}MQm\U[Xi`7cy/R?}}H\w&n\xYg13Δ 35摲e!t@D Gg5TܞSZY-R d n5qI. ﲞi^rRrܫR^D"kw'tEr[ȱH e9潭FWkazoa˛7qop HCSyIL(཭ !eUJE&OoM*Dǻ^]H$,X=/N} gDjB?)2uˉ$Lk.⫬?:3\ð 91 +7Su6kw.n&i2#|CE3iBu=6+tTZʽ,9+i;[N-eI9n` 1lTCY8qoynfGV}!F<}>x8%l[l:wݹ?Y ž>5%wS~GUG$~n/X:E1*W⻌ ;(QqMl=e1\.B_O^WgPgm7MbNC؄&\T CԤ.c_Ǎ?ʪOyϚ^)aps71V-s^=]|Xz:LqGS)A`^zʹ|O$>% @A P(  7I`*|-_tC F8jDmX$>#9=ޛ[v]w߽ᄀA%KX4i#c @6НvЁ@!GƆ!Ё&'6x dYTs|>+T' sϴk֮ Is7I)_p?9du#C} pf){~a!mCkH'Q1NX:\^]t[MZ?Oo_QhLn|ߘ9~!t*o=hkhCLfc-Od@?gO'b ˭@A` T??$ RJ0>2l_ /YUӞDuyyLN{Su̳\n!C&$* S|kF$|]z z>xؔhNHD!j g?6C&*pUp&sC'P{e5#h9g[N[#Q\fy& 8إb"a r CKuS֘zLp z@8`Xm.n $c[]Lu:fp;f05TJ4 _50;2|ak[([aoLmHHfߛ4L2"BMrwq4CetոLB6nLdF'_Iۅ+x[/S:1RaS( @A Pq}Xxw'&ߝ~Ż~L^KD'W=jB'O/&,u$ѷ;3>7ݲ,yaX$]#p%d#q_˗?J(xg}lsǾs5+^EmKD 4Zlm 8z nͯKG0ĈM"B=_^A&?>3ni9qN:a֥~t^"@AA `Q@HsԵR6# `j# @Mq\WP=d|.gc fid8#j~DUh'<j)_J ͑VxsR- _RŐ5OraPAX!8߻Дhap<!޳v6NV=әTːW_yđ{B}|۟:+)6^7L lT( @A P(]&^tt޳> ㄦO{'L/WGNvĽ ,27&}quhg}V5Fw* 6huMe_<)5[?b"$\} % { hJ}~c-nt8(:и&Y{AF kh)ɺvX8ɱu|"T]MгzCO )3$4hklP3!<-MЖ딱|E()uClʉbP#.k|PJ "fPC~>ɭ |E!wy>RO\!̣surŕI0Tkz|(m_A\sdX˺ey5nȭogn 9 3'"3]F)SFr=CƗX^DyԽc~uj@NG\ X" Օ4\i2!3פX[SΨ?zC":[wq'$U }qF[2/f%=! o/|J V% @A P( ;A&U_tƴ}70 g+ΟMӻt#_YeO5}&kҫWa!7|^ kG*Nr*_{C;L_tM(O_w%U^ k}.BLJ_k<q֨_ؔ/' .D1ٽ)q%sA p #P;KH3(s&35~2 gNP;wh߭ ]?K6DVu-~xg<7i{ aXH|O/^wv Y頨1ĠUq^*Wި%'jCزdg $[% :9[KH >dUrgt'ZuH%5Q/&ECl -P!’exȆzGB:L_[VRO+oO"a} c>lf 5#̻:u˲~h$A^Պdv7>A1Fh6ZF6M@D y.6FN x>ehA5ֈ墠9s0?celCY퓜=a\BaqFz#طPǡebxeG߳zA{ņ z?MS>15b!cèc oymA;>t-#Pkv-f&ϜI'a7RO^?L'W2=[пrn%{Kte_dJ4#^ ݯ {?\xߦ, @A P( @zH8pCs6o ː=&v6N=&L,3y. )0.H U߿-zKR?7I2u__5\>~ o۞A}oOj'5R\y z=Դkj7xSz }n{p%0b% P6${!O NR)ϵ E;Sp<1{9CKֵfGfo; e$%$i*Y1ʌiM+c70gxX{s[z7ΡjǦ,2I*Z<2D2=Z層Y[ i;=x>gf4Vˏ=͇)^ff>Ϙ));Y3&9|~30bzXUހy*DV Hk ox[\htG>xGMgDÐDvHKn{,"Q 7luVSF3gaoV`EÜ-r<,=}: 3Y}]!>@s=| w?JFx/-mLcom~~!~z Ԅە]=3<̇7~|T wnjn}R{ƃ&AT3e|L6l@A P( -GV'#H$\Y_ꯄ^N ;1zݯ@/_^S<o~3ӑ9BmAxʹ3W,L_¶3|kbswm.;}G7~/^h k5_2 @w:' lpd1z1gI> m7 ćfj6#HM23_nfj=>m+lP  ׼q#5[ X [d8R6. 1rB'>b#KPNź8-^V|Vc:~˺=a@^䧢s{u`#` 8WUע,v-=%T )6LBS2yF%P. 0qX8 =g}rJ2^}Y{7 !𨤱o}ǃc־:2i2> ojPgG QHg a @9ʁ'C|pEýFqeCg='an6_8vݭ<([ޖ][z~r|3!>H 9/L `"t>w U9+?x^|^^-K0|sF;ٯ{҂@A P( !.tJ \IK׷yً̙o{Vz4hTz ].}ҳ:7?m'Dz:εc4? _Ҥ+»ޖ~ yK8tH}e(,oq~Ў \ gz 3?'KW٣}'.3AvGE`NבYQ2&gl)kF6=P`А$Aw*L9|zy:nRf8w25"!Wr-YK\E' 9 u'UN~S,H<\yzyLG|˭J26W G(LJ$dmu6QP}\Rtm&]K#Hl׬L2uh:pD;>gL. mruIo QRbLƞ>#ρmBy<ƪ'^1c˴F:,$|Cc񡁃_`(-[fÇsdYDq:-e1rY^A~6g4Ǔ xP+eB_ J%BK}칢ON:rПD l-s.1l2BzCRb?z6̾v6}64/]4%emW-Qr\( @A Pػ/ȗ-%t\zWOem߱Ժ̤K^]'_./_9 O xᛓXo&X[M_?.nː򄒗^ZZ! Vͤ_p?b|w~>*x!&7#-d >K.:(; k[؃ _f?;|T~0N2 \MEԢMA., u3\jPM#HE occLID `9T^;![`>yœ"WY*e3jB.=]!ŶkB_}5kAJo亂g7I?C8vg>OڠJʄ؃yZ1aڤL\i{@A P( D)Nth?$kΧUcI3dnA*\Ǚ0D>i?{=wI_R[dc;[7mo|MzC0>0R8r;ܤR}A CAG;JHirD1̈^Lh=jr}Q/C_ZevA G(= 0P.m,Kd&l%eJ෈0{,hоtM{Mº< cy^D^-o}s(R9^7X@w Cl,#4~ccild g (L5m$_CZ\n?wV7}ևXJ)/VWkcO{(?Ƙw֔;Ii~-t-3AK뱟\.ƀ܈奄߅RT* @A P(\Ȯt^Eg1xp>:aK{/»Mzw_3y<7.dw[O|3ç/s.gv%+g\JvȂ 0y'"?z&/M%9C+taޭzG&9}>4gдQ\DL缄'允z7oz6?m % mxQzT(:@Pvdk SxUGu±޴3x7r6Z<S<>k8G;C}MGᱱO°6GnKxS٠7 Ѻ4U9U2}z g1 plY^x8 7QPcAdPB [uyԊ1uq"m jm<ǻ&?Hg 7SUE_UIMIhȵ `2&<3RRfF0" 툼3?u;nǭX?ܛG~0S`~fd }pAca{BDjvBo{B~ߖVw [3Qsmh_\A>j<2?xnCr#/x^ 7X>K* Ni @A P( L(ބw7C^$aڴ&L2{/IeV#]sG\D.g.zD:tc2ftK}+.)N@W.ڔZ86=/2(P1)i%sA dACDNBuvs*|t?Ǯs.=5wAOL82frf =IR-D]Y̺%ؐ\\ϓ$F?Tq\Q CjQ|gnm_W,[

╓l7'.E)W-d1'q>UXx2jnwUҼ*ew*Q I<k<dv[ov2py֫J7n ɗ+&24,&do:r)AQB!*as-&<7Mk_|ڗf>e2'FmQx.:3l%'nvGRY<4АWo C&4378{q,i)F;"ƴ(cǺZ^FǩMD%fn(  u˒X|ƣj\P6[|&]vB&-S$1f-M>jVlmtM ~7l] oY[  g~n Ók憐>ke #:xūɂ?JtS2m7.\\؎͗ҫX Ofy9/kd P( @A pIE&o1Ix1Y|sLRf'0('x?wMviϝ[L߰ئ%ޓ~]o?p@:o<=CMҿ}[dvKly%kA 8(UiiVYKwޙ^x]S抭~(= a'<\V'1\$y_L&O۶)QsV`SefЙ@i_!8:;Ag?mN9uㅬ~8U{'@䳬zsǐ܃4pzo{%@IDATCkXmxv5Ƙc ]7m!j2l^nzrjWHA>w"̧YHh#*Pؠ?0+F+- rckxX"o8v$_9 (rKO%-TT-xVP=[voe_wj@WI]s[ OjBG}_Pߢ/8 -[#r y,86 @A P( @A x|{3a)݂7]m4.Î]%3}:].`s!$b'CgVnLjKQ6긘Ř¾qP6@^&56Y7Лk^>!߶I̻oƲ 3=?dM[=r8w{N1Ƽ9^3O(~1E vi<[ _=[4Hf-;Z髿xzͣ^Nk MTeEo>/^5 |g'S?`n/viA P( @A@@<|sL?1-?Z>N29],tu?7~􃗔sVEy'cKr18DZOD G 5Tp»@A`" :H. nUWd<$D<q6@I[n*A}=y2!3e_)ᵸSzKN|&y z!>C :^2~/t#药XÀ$3bxkK\K+8&V|?mh*VWRoЏ,"ԁ1 6u1ߙ1y׈Q0G4)%Y ;C #]_*FrnCdDp /\ujƐ"'+; wX:gß)V[񞭠{뷾(u!=fbo}45ytdWGabB%;Mҿ~4҄xJ= ;b'" P( @A Px#OOow7{Nn'0dAjO_=VlKLꅿHϛ[J_%:?Ƀ_?|LgCG$=`/ PػAGw=| KlBPL.(10> #Е;C;``~+XϨ Sw t _]:pq0_] Ӆ R۵%)\-Lw~c#Y>=<DѢX~B[mqd8snel$`6ę EKh!^C6D9>AWi3E6 Hulg{q% /S1-0v{}/kYso]_.u~v:_r[ޕ_[rV~-fҷýIo'?IvևJI[p3wJΜn#Ծ^nh7ai_8vi3(sI@A P( @A`<}uAyZ5d |,9W;X(C8#SK1Fsјť %5*XAU6=;~/!_q=\3~mV'yH:B71ʐO1(B|b0 ݁W!s{Cv>րFb}ljkf;>e.x(s^0W_6FcO8>ysj .ӊW 9VCςmD\ޯI| %_kT-xVP=[pÜ5fo[_lCu3k /8W(޾x[!o}N:]w1F<?pdaí/XT>Z|X_5ՙ3lxIPz1tjP!F#7dώ)2%q%^K`GHsH{*ʉcNГ OydґKiD+ Y ]DB=i5<^iOhTMI1}=~# P!*±S[FM`ƥ,q#+܂ 3}!Y=&\ 6n,O?1Fm w,ARwQ}!*" #nC狁$iSjR; b9"Ķ\Xq0Xƨ@_ d{ 0 i#="WLGOuUL^c n"gue-w)Q:wЋqľmuhzRJMqEU}IK6x/tӗ~)w>1ޫ56[[z5o[j?K.d^`w LbGOkwOI1/jĤ3L ,iT( @A P(6-/?]WU&߸z>ݳz.{;^dG޲Zڗ?{Ѵd8/ PHjOBMbwޙ^x]ۂG>HgHWk{.ɀ6j_ R]zԓ0x.{?7#z!+i8>_8rio3 | UB2 p2-g{9K|O7 !%*:5*DRxBwy9nNm~g!v{cBAQc$Ax/ (gWYnZ:{dZmk@oh>P3֟ß}IW _Mu ~%#ʢ-koDgg1طvdDOgibMI {K 𐧏=`briZoFJ k~tL/⦷X[ AGqefuGCNNrYʋdxLSI19zKd5:MC@G #6I3A<~$22uf|ׅ̎FFzkpkDbqqpojöa# "1!7bFK\B'Ti6~> HF8PӧӧO1?5>uc%n7p%Ɣ{;Xr?t^ۑ (: 7}[Zeً\cG^J鞷7=Csp4 jRbY8^A3qGJӯx<^|2>6_`)Y( @A P(Yӝg~&r?)5K7o=s[A xn9浝LڞOuRaÄ߉ i}xꁿ'DAIFy#N(Q*9״7&&ڃu-h!ꇐzB!擪)8[][QO %,F\p,a׆\C@c I*y,y>;:Ļ3XrSed+5t@/rH໮ҾtF:O4% 8%!5I=S "FS~ăW^U7Ah@~YͶk3,{h40iZ/qJ߀n] R6Y! Gԗ}ɋޒ#d̉өA} lH5 :,">}`?d.$m2̋S%k~чD,zKJ_#N ԥ=F[s䕌6ׄ6xߺWWXZڈ19T`A!1у7#clunc$ś%Q?v\w|i_:^0ެ2f^"|Vg<:s_^]I+̟!H ݑ6pG{l;/}YË^C0aD ttv8pqBWiېhBBMbRF鶛w-7bċ4/_;7rrWYn @A P( ].N_8z_~wz_RhɖG;^tt }7__g]cDɶl %oA uc:|pcmp<{G<$po])O$$ēg,H<8`}y.'*,D!}& 6z$)_Ϥr"U$x:^zZVm) `XiߑCi:&tz3:4d,`/YH"ٰΞNk+OZ!PoLzlx:i`sz `&% $5r__J!> g r2^&uiǭЧF8Lpf|8!I!F- ;G0\`1پӫ_ &rgs5@b =)3G(c(k #aHwS10oSEJ6L:4 "2о)2CH4 &LQ?D c`}H@0OĂ+Mƫkާ.IY _!1-?~$vBo{B~߶V7C?'yz%d5{_Jz @r۾TaM/}Sw!vVG~<5 %۾B @A P( @AB(v{Uu|4}_wIv LKK|K;ɻI_7ns/zë;N==|( OhG P]HTv2^t6QGBصrU?#K_x?MBO95IsS>ef %5,wshPIV#;A1*A<\뾳%܇ЙgR:p p/gOH+D;XśC' XYv%K[Ovpf@J%'1\R73+ϵX^?=G5Hh%]cpenO!XAo0DoCKU3 L;fl$^끳Zs/ DZ6ZҞvL PM$h cyOxh\U/1aÞwS4!Gay0FnB|71`}yn;k4@xګ{^claB50m㏈@ -W8lԉzö!tkX׬n#LrT㊬G9y/ہެ{߷ l#dJumloE{p~YÉ S2KdG!ܾ>WL~/nQܟ!~3--B84}5&M @A P(  pҧt.z9^M-/_?H'“b Җ %w2':酇nU9/oi(E;vv,@H"T(v[R=<_{zikxCœKlJr:i$ $%ExVKT:Ro.]/!dȁ4dD 炼"O0[H@RYg8Qqq a9 .I cr]\\b99:08`0HJWN+;4" Aܯ< 96VNX⫡ucx丈)F2cm/*l C Hwh|P,? X6$̍L0²g?9?Ц  <?grUʠ&zaw:!պx. nCP^[&HÈUt}חchc[n^uw̬.qrSNLĽnTA ԍ@khykY}3\BcmG+1(袍>.[`D `I6@=0H۩(21~ɫqa>uwOzj ߫=MB[ǿm~[!S?}>+vSeXE-+k+xp#L'NO6Zf0?<ԕ${@A P( @AD mߴL¶1Bw#zCFlLn̴ eYI>s2u}<@G=ǺΠT(y$L;νX-z |f os'1AђzgL: 9PzJH$g p !gaH烇 9;r%)lk" uv!2qLxg;ʠ$q O[2ٵ`oJ8ONٳC2S{B[#>j> &:AbSv\d cv7A ?EC+$9֍7ף}ۃu0Ɵ./}B>;>dXgm? \ζ ~>013d!Cv9 uCd7z{bxRNc 9j ֪Эor$ /J+smFK9x Ǒ1hP4<&!!N5pq;j{`tPcoRS 8M;mĉFT1m0zGWǸǗC0ޓ\ɓ =>[  W{~=X!oJ?mtˍ>9ӫ|~e9-^#ymmlqi`]Ǻb_xqڄFS- K* @A P( O>Suxgm&c^L:9ao0]Swڌ[O,<^ ~{0._2'pY%ł@A`G C|i:wΏoWOD [9.Y*ɵGzuouzKJI _MOx< ǀ _5W![di}N@7 3 Y #$HC6ZwUL47!%%s:4 ~ȁaGRm>$ukRݶohx |k@$태0dAJ= 7㐧K !CO>)DWCC#/i`!}k^5}rD],T*nr,vXQAyMbuE~.Ă2ܦS4_þ @"cS/=5܀ϲ_{G`yO|UIzqac:}K ԍwδaX@z FS&1譬V?paTΜ>"[cGQ.|\19$oq6< 'O`}qy $p,A;.ha] #|08 7b}OvBOul4e2س!sTxPN%YJO˖oTUs$a8U԰Txtx9K2WU^| {F1;cQ( @A P(1>n)}ݾ]/'IkC//_%Cl&}_ܓ^br:(G % { K2Ywޙ^x]ۂσtկ&:qxC` ѠCmk]f%y &ﬡ!f`%ӣߵL y 'Q=0 ;-oY d dkwxn[Kݒkx\7 E%f-.d%Ւ٠WoH$cl^C$ÆwV<C Z@URtnz3>Y'p4q&D%mF| "7ml@a`#q~fx9xkw~1{_xMmǠ-"-s1yl:F i{oycl5!/.uݴ 63:3\.zL:,s4px5#C&%:Fiԩ;zaF"a08]\T{˔Ђw){wc b~%!$ֳ݆Ava9C0.@u=C[~G*D-kFaX%| A JfT}}Xe ǁ:u kCCo}"8NmgϞ zuk𾧏4 bX]ΊBڧôB~v:ح[  g~{ia`^ Ϻ }-B׏ѡr#ێ*$kRw'_֦XV*ZRA P( @A Px2!4{#7&7(z'F"`3r?ǙDl?tyI%B_t}Y%A B`w %RB, 8Az"!?Pkop DCGq~$-(1'(E!`Ĕh`wgok9Cyl%n Yߜm3uA!w =@y [¿ ʗLFWa$o`OtI[iGɒzm,,/Ø5ύH6ý19Q~0 dm,7lü,QWľR_m d4Ĭ3u4de@ՊDEY+a`Rc5+}#2apA}sxctPΈĘl%٬vjO挅.kŻԂj0p|^sw$CXVb4tQGkvWV&i7Tя" (`g;/zG 'yo$H 1(ǿ\ ꩭQ G]cIG 0{@&D[(}ZL9h >5=]@1wJ ājS~ẹޠ[(gԹ fJ[+0]]@A*rN=ay>!y죅^^t /;n#s@84=|1@}s +[}6\u388Gcqk=֠l1!q&&:5wr8$Z۬i)hρ=F3H\og &SuyxFVϷ:'EebMk:Lm `,fF;2v9EHpZŸts̾> a2yuن׬88`9jRNG@E-:YÕo\@;q[~I[wU==v_Z KRt^UV~)! ͒tQS[)P @)P @)P - %=u6ils*@<9xl 4DX3D[' .jCԱ ,\ iQ&{q,Z Dts!.Z " O!_-L϶ ?F,iOju %%4p,vE_g|=8V#mjݺ@mlPwU0RAf# E?ﴣ.眏 2&wvO{J'!zxHroCg2YZn 9 wKXfHdzDa{M h""(EFSG 2CH@aMU @0.5hW)TAoɄ̹8 -B 8z_h|ΫMC[2N[Fٜ/sl竛㲶 sֶ6;.C5k /sݪ;?'˃:`Sbl2f9o?w|[``֞#{8=Op{*:܉)%=e_ֽ-oo\@;qVw|5o]5>Ae~9}\J)P @)P @)P @)٦'r ݤ7m\@׽=տн?w)pnݪR$/cݫ8P+lܦ2Cx'<:9mK/rq`lA-`亖ZMo[D-ON{Ya^*<>ODoh`*{K;ړ a%u9~ |l)%dZs  MjqkXeЃR;U*֦ñmȀbFsӔ:F˵['瑍 G q~LS'/8K ]@ KFi fLJ_E!^;n[ V=|H>0FѸEb;,P[("{Jd3'x [pk5U3ʍI<3z>P czꘚ>ݡԑUY%"^-ķ8e9zdd7)yA-Cxt̿7}/?9; ?&S<M\[)P {0AJʔ?ڽ 6ᅡB 1 ?_A%aM({ s>D QvHmԱ> =^@ꮝTx.x!A['(G{iMKkOiH_mvр_ Ot1as6CM[JqB^}ڕW U(n~a9rn`_!A|  '!6BK3066cjk1=kaSip#q娋@IDATLV8+Pun81ujAOv%˝:ȘX;rudd6ŏ: 2<e8[\\i!ښ4NtyY7Λ(~Mjusqicg;=m%MkKTZ^-s3ilJ|'#<3ݻ hx@g|u\g0ڽ`vN29'# ܛ._c* 'E7/E=/YKIJ+c_k+JR(JR(JR(J\t_~Z$Qo'>_/an? Z̻_:!<ݓD L<>Uۥ@)( r{#Kp7™^x<LI=&B⎍<#lgxރcITDkdGjDNY;ע7\i&뺓[`=e.}l-rX,6k Rb倠C %BE(D~[~"}&ސ2]'S_T:!o=ab_\mYw]fyB ^P`. iUB98Dhg z}KCk_yWeBПFya!hYv!lsB0L4- >\@il5~=m`t;wP$e<MrLve'96-cJ^]1$(=ou 1;#=c>!ۂofEho& C-\ph/#9Zjnn: Sz=}彠y?a\X 6a)'fiqn7hm#uak`߈ OvgK璯>m1- q#M/oӇYCmM$m0~= t`jԦ7{Cqv3:뜇=H2^j~ 'E{_[?hڣjڝgZ[ p {duF>H8wdnsup sAq|-~\e{ ^2:+d=~2ޏ!yo Qؗ1r6o@@/+wgٶdZS'88铙${,a6f~8 0grO׹#W85;}o&0sԊ^˂{fRo_tX\}prWcs}|L|QoJRxB+ ?SChk @q,\ȍYW< !%BA N |v 9>]eX05  i \\]86U8hznxظ6/zr:c )?'X - mQԋ=78dP=p]s-|Kq8_! 'SL $\7fi=^/8r͚F; vWL9Fv7g8)[G>{8/$]< ˳aKuK1nqhd ww|nK~<6fmi(7!j(vΝ=n>_p b'O@#xORӔ'{ƽ}:t1C=O:@ktSO1ϑD>dƑvV:s23::Y1g?'N6Ola@7gl]e6 sL ,R:.,l6cu9!}&=q}&mn|A kZ po;G_w:_:twv>K|c(cz:C`Q}!cgw}u/IχKm@)P @)P @)P @)p5 ~Vw=r~s!el|nO>aR(^PaW?<m 4d Ο-`3) 7bX ΣNr t ~=;QPuzJI"ze/t=*dKʛ6G#9򦥑J^>Gp8 `Rf0:іblm5]zk_nڰ(hXvk ̉GCaѓGv|zж886/N_x?ƴs@sntpt+ [GD{>Bo$2%sfl^q>MAH Ct$oώn4tg<\]uI3@h*Xk'ӧ\zvfN2&dHpMy%iH OY!j^ꐀFgܸ;瘎09"1 i!r.О8mK9XqbFH>=#{#D.`} j h<6@YcMȘbZ*uq~TXyF3=\>6k+JR(JR(JR(JRp_?XH $|NtV ƹ=L?ć.4˚Dk 5y8/=ˀuQb{KvEӖW}m2/uL1k\k] 붴o@k3lk,.R1ǭ]ONѨxphq) ~8WIy8"8~r8 _8N9>F+uvt.b@Y~x|;vB@CG ͚v0}p;p.55~? .squ5QoSY00g\_Q 6kBs20F~aehݒ>DCӹ{vzF]-w}E(S ?8}9 tݟz>Xz?mG~BL?䏨}ͥ@)P @)P @)P @)$Wz/G~&}O=ETi(JbFӫ9z:^r 4Q`rf\W-d6qlNjso\{Fm0W4{[0FT%Wӎﱶ!8)5swDmO'}|W2\a7~hˁ"(C@]:uR>~*{¹'/OؽN:.`\lQ_5εF^=mW`aeP~_=w귊zoj o_cgDG~ϴ}? тϼ+۾9]R(JR(JR(JR(T~cYA_^KkS`Bm@)P 4 %Bf׾=x{W'_@ʟшyk$5]ܵ]^ ǶZ=0[)5y9`_Pm_F#w `-%PN5R`I0Dqm?3S㦮Ntpu3ֈnRy֐oô6-I0/[y\x>NFI`$nt\Eڏ9Ss$5}O28vL?n?tbWρ޶<ْ?PjүORs[OC)]r@vg,\X%e﫳x>z'BܱK[kq80ӄw2&meMz8$K{N.DĢC bZx_WB~5|73 u~ED  8^:;s`/cNs}q~%tY2}-=sV'X,[}; G*PYKMsҽ |;v_>=ؚ+>[(JR(JR(JR(T1__ЍBji7ITR9 < ŏ<߽!42p;(h 붖="qFJ]lo yk]]ڔs@ЮiF: H6/wSNPWPα3`BDzO`FWHig[gD_7UC|7W[ LW@i_IN*r4ؔ\9t.Xc<' F 7E{zb rw<\~@.`Nfι~ljC6kěN=B\mduGf8lo]cfD fvVkӤ 繠oO*zZJ:wpt ']|G$1b#6379A93 8s^S\-S+T1-E@L \c=sX:,,Pxd]a(&:Q.c܂|7oF|*~o|w?—'nUW,c]P (^n Tw:#/}!ж{ĤO$@]9~xH| XZg3`0N'6U욵BH@|zډ "A|`^+0L{|eiogm 8X.` IMod$vHd :`8/èK`AUӕgx~kԶs;8w0E9Q܉T܄ҍnJYo< l;GW wsnW'p ?}zʫ+܂u׀hӯX^a߮h` ۮwlw[@[9^K2<,k9V뒨!Ƶ{sxp;N^mx-6KpufYq0GǸsTVfxa\0M?&j B/5U/g8Pgc7}?/w"p6 t`ԲTf՟O":׸kR7Ȋy\>J<оNù*68Rc,f&؞m#Rzol) =W-j{(xcadw<ߺm{Oz,JR(JR(JR(JR{ݗ>@JW=M@5URI oBD g$\]7bµډ?=g]L&ZP[(m v)`ѸBZ)-;`z ˥һV ?7DcA{FxS'K/'\;%ٴk..'m:>DӶ2 |[6v J%>)̱oqҟDs}6Aٕ#*\O>(pxDD0t h{X|pYGCWPol-RW*+1xl?=x[8 ͌`dk 2qs'ÂUi1e}T8d枍fJí6<&M>N :zgm)"Q1ُ-n`}f8d^YfF_r_S"k׫ՖgV\FDsiG6 *u) mf(NfC >Ni挑기/lD_X69a^y啌z>006*szfrK#K1p_hy3p8ձ±X:n3[@R"Ȥރ{9 ftϾ]G/K $`Sr?;)k+P(Xp^FF^u^X:ٽr/Dx Xhr&T[@)P @)P @)P @)(o=٭_3@ MR ?L2B|aY}!E&'0g6@;kp_ 5exu{[#]^hƤϧ=#sovA~I׬.l3z 5ҭ#T(H{}-@jYHjC4GN'89p :=yG-\MUn{=5J+\'pzg!7ζ h`:O8 1 e5?R BDE30{< lOXdf}= Q=&?)T:H;\-9CP P+J8~~۟'͒aԝ&L(DQzJ_vN?T#4&6C[L 8Jdpq~Sج4'~9݆GVNm˪'|r|ESfpP\@[Od⌂}K) }2q>`~)'Z,`}::~Y#]MpwZv={ZJ#}ۻ7~Ī_ۡ{| V7n}Fݗ~?`b~9浕@)P @)P @)P @)_sLKolY~L0$jY)P ?Mݫ@ý}0@XK 0u-q露`B`cAQDaj _':Q;_7"C6Dž#${vFy@jo4\sv7lѮ+n%FܚcԮOD>o*t<.ᦞ=XwmES4WԽ,sȶZ^i>?;IiݽԶsd7Z4'!dƅ>ks 3]tCv3Kj2dY$ƫ9ti@~glj@MN{{9ܾsgdXtsֈw8w8z7sDq@ wYX݊r 1 cHsHkG/zi0w='Q0FBfXܱHh v(2c?"ndh1:oS)-pHz,OMIEP#l"G5\홏.I`uM]G1GrKRy]g{'30ǟ/SWUK|c(c:Ϊ'ݸWeؽۚ:g~/,嘏{[W@)P @)P @)P g* iG~ gރO*W 7W= }'?}+D~r['"Mmz!˓}0օ^p݌ud'Fx?w}[Ƹpzdo7o4֣W Fz5p`tcv۴O_ml$֓?=~J]*s'~:%Qf{F$9/&@~ ̓D;u-Xn+o#, QEA lVԺzvZ(o*&̶'ֽS ΁팯H;ngggym~;sok_r@{"mr DN$Gѭi ȷ-߷ :)=d@?@{='sI''\pF&:mr>aV=6[~@xYB}Y9?cو:fN9W8h۲/xl4b<~k z^Ry7 fuo؄8ź9sm;qKCt3_Ae:t2ئRHN ^^+لyEة#?j_-{[wڇWMMkno׾փO/QeFV @)P @)P @)P OWg~Nw lkiOXOrE5tm@)P |z *l;J4O׀"(_@vFxIU.lݘ'6RO }foѹ4bES|pf"I%iS Hۖޚ^Hhc z oXc2_6\gd hBU!"r-CǺ)FVɒHDk;~ dXT`|5Ӑ{-6Lc)5W݂ÖECm[sygTQPf[ꬖv#RQ~ffƅ\)QFC⸑@N{''ќt@uPQ'mkOb9ֈ~;Hs#)g BO:$ڜ֍Ou//m_3?谜:c( w&׌qdiHj)_5"=^ڠ3)#h@YxSEBQ:4E{O*ęE}Ȳ|}Ĺ' L׉e887t [1۽㟥8/a67`x7|۸WMmMkT/~_7}7RK@t҄^K۳[ާxb޷aᝐnL[VS~_ퟰյŅ+'i[3^hyAqT9&!Y KSUM[vc"}Ϸ|A.p.鉱m9ҠAw], OvoWtߘ/| =(/7;pF0v|?ۿ>,] z.Ӏw_;/Cw :vFXAntkҝc<3"g8{pz"l3t8poLje%›#im:0|qF c- e 6q77L1`Yb5ϼp/du`-Gs;?dRpЭnqRhd)D;#_LD{7PCB{]: ]5"b?W4=)qvp_DG+tPs Yt"_ Q27G!uO-@+ _77v误㬔Ma_87<x}[gyI,ߥ@)P @)P @)P @)œn=Rj󁓗Ou(JOWG_D g<@.i }|'kۿ[Q>pqzwO}1RtZ }!E?DG B;٭=Q;!D -0n#~Z@PLBO\t44%څl<ݐ}C뺟EorWP 7;QPm. :r#Gb#v_Bn r V@489鐈mFHnݮ?o9tHڃ 6Y  U[m)>j,-N7{D0peH{ !vۘ2ir;2~--g:5ɖ>Lm{iK[[WPqC,lzJpĘi|/Gzthk ٍo98=.eK?ꂬ g}}N- wL&qY·67Ҿib47ZY_鋻휛@Ƃ1c}'fD7㴁qƐ8u3F}I݋5nnK[:byk|ĭ1VcYlgeQ)P @)P @)P @)P < ~iYe?`m㏞Ck+JR3Q0x}{3ӾE_()g <Iu+R<7\xb ( kyk0Tpֱ'b(,#Bv=<;}z$\ BJaoZ`%@ZLw#Mm|s]  |C0m }[oMӴ %CKLJFDR5 9o)&E?Pv>O;pxl2,)S}['8Uxұ&EkO!fm{ic@Ǎ7"]' uPO\O[x:a9k $KZz]agqtN &sf+ۣ.Uۧv]ӿg}i;ŁI=k;:0{\zy$(/Ś9KPn %bmlR(JR(JR(JRxtq训(J-ann0[DmC@e=o h0n#D2 ܌:_n|) &'/!f> T(..HY/t56s-@5kd)mۈ5n \I}@GVbv/r } "m8Fi(OQ)؉ 7Zt.p'ۤf"%z&+T(<"\ Ȥ.J9lヘvuW!Q䤕 ڣ6F?A4Vd |@}cj`zzߙj}?{ϸj_RؠƦOvĉD)q) Yp>0-Ÿ(a"z5"|}™n|I`΂gS,=K_{>ab%o@^a}t2%APQxlpٖvz#U@}k 9ݲ:Gs>:;HoƂ@+951wӔyFnr- Ȧ ͋'9c}gpg^B摖@ uo|;rU V_loxWm{߂5i,-k+JR(JR(JR(JR(JRQQQ|=Vl4PSi!5yIEι2<qQ('[%S n݅~}vP0nj2r!x8FrpJym>1k67Rz 9Ag_g`gϐk8$|T74oI NyT 0udf/ f*&ja֎f}z8 >l3fs"y~7q)\d98 P:<ѣe~Png9vHIy{Ä =qMu\>Mѭ#η:/Ú~.gD3^umh%Wa9?k8{iu.N& {v}tI~[ ^ctD2׀H?m +U.XGGdz`j$:%規9+cOD6S@IDAT44jK՜Ӵ}iLUگuc#牪2tJIp0Л"t(||<́@۔=ʣw< W$]j@h6"99Ԗ}Ef3~]`q39Y^g`:mLQԔg:wdw~x:SFxD[YV@9>YWL/oeOw>8zsP=f;nv t@]3~1yê =z\8Nxmb"R(y8SdPأԞߟ ϐ1mg3. 6Ɠ~Lfs;%^hfKo{[w;]WͭkA<X6'~kۇֵ|>R-޲~JR(JR(JR(JR(JRx=L>x][ z8̮rG ky=S7p  `-`>=7a_B{P/UAh"̍n YFo~Bحpp`Lt^`uOǤ]feU]MμY߭kdPt}C\^.Sploxh 6z?} dKh`4jNqa36)ϱOI[yךcw/x^_bc{ԍc"7O& yf'mM~)߹qtg $:K41C,7zl)] ш:UMxA=dT0J\Otu{]70lw`Kgm }tOĿ^*a{vЩ|?vruv#jl%@呧NB4ҁB6|erLG3 #2!렑Kzva&ft!))G{H*q:sġ:XA|w9k7ecvY޹|$sҌ3d4c/oK|c(cz;>y3n0vwۛZ[]u?Wc >l:OJR(JR(JR(JR(JRxŦ ?o#B51DJqSνL2XW x 0;'܃<Vsn(C'e;n @ RHe`>&0ʼnή^@)H5i0帮E сk7M/LWaG{R;> Yi}T'{+2 T%EK ?=mA}j)#JLN`!%@`2-پ (׸&iMm,k>?k2Y=Hv@x_M(Xd2'~폓3Yo{{_Z[;Y' 7wҽwjOmGE:3KRtuP[)P @)P @)P @)P @)P : _|.F &7 5J^6 4`Nm?we<=   S֛kw F@L AV`)yӦ#r&f^# u¤W匊6́7h }3Bic@&>p>mYOT~-@TuPn)fO9e8e,_f|ٝލ? rG 8Â8<o{=Z?׹rlC̻ c~%3z ]>ՒK3IQPzT>a3#ǓQb܅Հl8x>n&?9& ڎ~%[dx]s~9f3a退p~"BOT[wN~ +Y-7f9qGN{5=KDž 85ǹ`1{a@ C)cьG7G;rnY!l'?NE='~._X\} 2ԃNDޥpgX^t`8F8qamF;PS؁se Ӄvʹ|zkz35Y LNS6zZnmltDYKh"c#=0ܱ06$k結y,yN v@u б0B^Vfpn:xW!?4ROb%S{Ƚe=sId &L'm-6sA:Y N3s-Ź^<1jsq3m>υqJAk\dճoCuC? :Gs2qJwo~׻Isտ _77w쯵nAquŸm`qTc@)P @)P @)P @)P @)P | atn OL ]@t;!N3;J~DasLXI"IÍtGGD A짧gKFҎ,?v-x]asqC i)M\ 6 oI>WŪEAb@=BLZ~#DD+ѓ9"]a"9F Un "ѧ~0~B$@XVS~kVV˃>^;0Mq0MeL)ۺn@s4]"u3A[~22Kb9oNkW\سX4.Y9;\vC"ΙSlu@)<}] Υϛy>P;""]f^X cz q`>MuH/0{6#Ů3v9F'K&'jjFsع>&8`|뤀#e'ڠ g ~^/ϩ_&0!m9l.=~w9,c@v/'={-%oFݿ_Kt=[k-/IJFmFW @)P @)P @)P @)P )(HpD *'kB^'r`'to]!+ wFX|_H(@  hBLa{pra$5e!zB[B>QܤOEf-zaٶ5)]);#Qh*y͓Hy&j?M;B]Y|UNG܁D^֦m_u{[~w Dӈ@(zk$oN߁ 1FN zDQ `:%psuzy4zNj!}ޠiN*wOz;XWԩSR)y`9p;^%q( }<eh>Sɻ$ǁ+AԠmOY`Avݠ+̇1G3 ?~rFM޽{NR#$\]@kR@5sվXF#m\GGG6Y N8`xiOP 6Fo[4/g 8372tRy4$$*3 m>ue/yQL<[bbdVrߓ=BCWUK|c(cz;>&AWc_pm]v <JZ+JR(JR(JR(JR(J\0#?^zz틶b N08$N:sA{r ,y`k.:N ﷼l!|~1{ϴ|"|? ZS$Pj᫻Qmlb9)ua`A j\}_)_Xmğ!0? #PN*puS[@|ASShf״_uSy1Wv PnYHo]l{)Ki7@mf 'cSһ9Y觎 Fe74Ѷl!q3K%Q[jz)Aw@GZꜧmv̛Q@ׁ z<# hyf5Jt:tqt G*ycQ ]tZU{Gq !ABg 8'~Gha7u` O4͞=ŵN2ƾG s,s5tp0`  TY l:xhI|Ν-Sa|8 ksfpMQ9,sIay6;e7ߴn֕a7x2n# vY*nWrolo_oGU75ˆݻ}ϭˌϓ:}<sR(JR(JR(JR(JR(>mon^5Z{O /gC7DCZ! {@hsa*ڎ!m+h+"lN>BU z$8z>Q<3{h@cij/|^SZvѲs"/v@uLV]mIK-lkA!?k£[ũ[m֤wfPz u3N jc-ERe.>6Lj{ص]MPO4whvF죛z;סŒ?ꖬ ug!^0| >Q霛%`$L 5o=;zFS-2k<⌰]:h?pNs"7̈w S7v,> Sӎ`&D{sG}4_T=MC>#s ޽ߦuI#vyZ7GKX~zmܢϽRfܶ6{ w˚>MxǾ+}, ῾Ώz=o z?;{yk] @)P @)P @)P @)P @=Lս݁\ .  ׂa#ƎC|ӼKQ9)vF&8wɗW7cJ_p87H_|1V   8NNOd>3$`*\]e?$Y;cRC`KZK\oy!❔F!'Z{T/Pg"KƳ[< R[В>\׀*H rZf<Љ;?;-10kn8^5U c"؁z1/z "a6Gd +'hpA`@ak:!xS;Zhk Rؗ &fr`nnMCvFn<%}EtN?yspq'DYݖ P1\>;c#cX5.4_3jf(vpܶoqgnhAgEw; `mm]|Z 0hpT0t(Y A{ (_!)œFkWD7'}w+DE ;8,5@rNI?˥ao @i")'kAgᎭ)kz!b?\ХH=5mummDynJ|P6^~ 8̺qekG)e֨PSK[A`*C͒ d| Ao!;uN7? r#؜Bn>b=D'xt`߬H-藌4DSc-h| $Dk`B5. 0%]h=< vGkoA/zDg3"87OX@mFyh>jp~~#1?SfH}@-Fh{s!Y-v`_X/|Sdݎlڼ9c==ve/XPKo1G8+pLbW],Tcdl1HޟGؐ`9ør_)s8pn iV843gMoG. ѿƾuIK~ޯjބeŸMps{\WN)P @)P @)P @)P @)P wvg>x9b=uv!- D{mq 7Ѵp(o/Q/oi3Ki(D_]j^,m hW&m?<Sb-w[]?W cJxFǍ>e8iM=mG`d:: Ka2uUvRӐ:n7qXW뜵/L ɚ!(6]sڵMD8u^p7@ ć.4~7jn1'Yͱ{O1pۗCsX!uYvY-sgna0IJ{8$~=`_@:#KUZz[$:],39?tخ|+ ءގg̬ozBmu[t-x6n?*^@)P @)P @)P @)P g{0)G^wR 'Q:"Bd\5"wI5Bv[c_7`zh޾=y^uj!26DoB?x3†5[b%{Md[zg| ,eCiApYGuyl6޴tVzo"&t`ր8GG:vR\Oۗs2 G>׉! ).Йkt 5湯/G/hMs Fc"mmS.4I=F %@۱u* psU'Ǫ8dS:D0 ;tѮƺ@sy S?cm$4fI8t`vD/I mM)Ea/{ok[3s}' r&'l',@TWNde,˕NcYr"ǖe+Ax@% ` &c0M0J$qlp3yUvh=Zy:qAMw,s2M9X30:=:}C-:,d6Xخ>ι]boc[J-..9SNtuxG?PfQfC~g}0zW7x=}۪?>̇ q}>r~@)P @)P @)P @)P @)X(pFk@ [\nqgZ{@?"x,*4)7=Q@2rVƾ3y0Q%= T= a'^hNeM~@5W]<6X^PȭH }F my LKOy4X#ru :}BDw@% o4R+| 1Q,IR׮5faRv҆mMwƚ3Bx"4t.}!:]MsK1d~~ѭvFWZ燬 ׵״u`?jhYMjCi`\ }ncS ~l0 _ N׽Ě-<:ˀTS [f4v'87՝_v`:Qo\W2l cژݚNg|~88޶o3~V5'Lc]>tyO&yv<Y:"C6܄:hS%YI8 G1УwlV޻}^ os=jnϔ'[ulƚ:Iwl*6 qIv_^+/;Ƈ.A5X @)P @)P @)P @)P '}oU|U 4Idzr)@Z)e;B80k էC`8B@OaYX ȃ+NԮǁ@"!.7ue^ܷ&'ݐKX-cA%C 3f$06}?k&wMjJ|#۱X>)  c:FӤF[Oj.ERGtƺY-T_RsnNyDN/߲SqnO>}{7שƝy !՜gX۞-¶wVb#u8okU7%|^x(]z{Z[1E9 3i`光BV[tG(. H&) (5=煰l*smk@v"u8{A j0zy9' _tgM,0ӽEڢ=#_2-?5 ~.\aὑDg -Јz^1 B fRiǭk7l7LJ)4!AcO?^{7/f ٭wm!cƔ@9%lU.\?gK=>Rf`O.דgeED}sNi:dGǿd&6skKCV9N M4e}Oƙ/j;#=Cܳye]ͯqv[ Z Isn%u.ќ/6 ;=9\u*KKz{{^ҏzb<ڲ {2d>/f'0ܜW:/Vȳ6nov6Ggz~⧁kU, upڿjkgo;~KODOϔ9(JR(JR(JR(JR(JOgu{D6k\]؊aH@ԟ,@E /,n7*!'̑P.! j>4״Q=?nc{ Pj/wՉ(p{͚57D+4Е'xO)ԗ(lૠY^=XH.D52Y~3ϐXwַwqSK>uӁ!kR-Y l_=?IO?)]8lc}ƍ dBO[j*5 ݬ;}2 Y.:痤nW}[ ?ywu Y!;m)s힎^@QӋvAvS2#NNQ!5?YZ4uD>8 ^7 dpH ~?08})uNv_\\p𞑠4½'',o0I80o͐pv>adt1!q}{ 7G?؞3F:}1s?}n 5ŶvвK,0fw˲tqn ;s쓑%D grd@K͞/~{3xڷ.m5_6N7`wݟkz#Z*KR(JR(JR(JR(JRx8 ԣ/>V* }y/ĥ S˯@cZr4X7J)PQfDS7ڢhATZ{Dqh@ٖ@|=VgO6]8 ۿInTT+~*ߙ]|$9Pn2 /Knvp'A(|30TF&A}=r:m`;W>56yi?,8G.(-, i0~yh7 fkZ+Cn_ Hop>Q^3K&%iu. I>$r j_3V`d/0@@>c*y LN۱90gyޓcO_ :uHAkLG vvi6rKxdsg_NNrc&Pz} gY`p;?s@fsFod`@d0ЙC-ͯ$Q}͍6|<f '{nzX.vֆs`ο}7fφ9#SƊHܽ/쳭5. ]B?i{5ͻSm,׸垼@)P @)P @)P @)P @)+ |s{c?ǀF&UQiAC U>PtD5O^k^&}i)3X-..,<H$:/S쬋ӧE`.5yoo5K,w}q ~CqS_]qL0sMhQ9:mAAXic#v B N ǎDSxD ,Y!6V' (!Β`#]:@q@6;Tmz{7a@ tN>x~lw4J\hYnHs jӄqk/ב93&KB .w57R}XGzLGBCu8Z`D?S'D@[tߖ Vssfq=̣1ھCm#>Ntrm/nYtsMEtn 2ڃm Jwdh:JnԽv kohkz``Ʊִ_8eq=}0wLCo>Y CFSx ֺc:<61U20%!t),Ooͺ6>f:n@ф23,P=N~E]o|3[{N}+ ء|`w{pZ[GwP[φnSHV @)P @)P @)P @)P CV@QBbjz>Vޢ[ts`3f;ޘs98P>z|w{cCK=.oM!/H7._z,~H#0q2|a# l^ DA-ĺ lh4p6:=C+I }=@RJ~,-=S >DX(W :9otҰӗ1}Zx8ZSu!r3q.ɹf}onv;'\@^nBg8+<^|ciz:OKbk6u8.VuAu-hvWDӶp{Z 1=u&{Z=lKVC{f]usݹNñs͵6zc3 &R̒4Lp !6¹G3ƿexsXYtD?fD l އ8AꠢcG <JF]kN>^_cƀ{5aݭ9n|Ɩ.x| 1$qrsXci7?ck}- |?soyq}בި}uo)n+JR(JR(JR(JR(JR*IA P?߽-iqҙKx F Mi6 P) ԧ3_kRslBŽפVbRS`''ձG@ G F]C=7p[`r *m}s%H}H/ėJ=?3y7,M ɉ燶 u*>08lR%WRϷj"~`WKWduDdg9.TͰTuD!SF}լ XX+u0"[mt x{,6.7 6ot]1u==q0Rb9bshO9w1u}adx6m^pN۶L/_' m؟$N[}'դ_4c~a&u-@;Gӟ%7I/>w ОsR/d2?tC)\y$}aj}Lв-{jȼy͹޲yO*@Ϋg}Z_ _77zn'kZV/CŵcvS>[(JR(JR(JR(JR(J[u $a^Nf {Jqs<-\ý?||M| #S@T @)P @)P @)P @)P #T@&J+6p)| \&LD;Iۏdz o"rӉo_>7ź>_) Dw'`TF:j+|4 `<оИ'׈cAXku '=ɻ}= |9vǑ3cĶ)ܩk_O?6^ o֖ 匰_ҋnDYBPc:qZ0}ӳ6.Գ^wXVi{F} )hbN=Tl>N&'Y"fImHaJO~g;ؾ'=z꾍s?^xokzZ?㫄_9R gOL(|c)B!HYۧug HAƔ4] ~E#57mgˠMw,%NɆqLۯo޵EN}x4є񛞷qsn~z7NRc;3I!Dㄙt6бc瀭 ZCAGiVg 7v=tohR_ ?cY>/]:|}adY톤J?d@)P @)P @)P @)P @)i/,Hw4U,=n|a 77e y@AlFBN" >Ly0ܤͥ@!":즯 G@IDAT?- H#~u0agK)%2axjq ioئjŎID8msnF ?8oۼ3%A/'ts&# =ԪDv6N&@ B|{ 7RZ߀x|>2TD4lbFutnnlv\mgIvI;j{vr@[rh9c{-=fFpI۷=ӺGASO5 ۰v c:-잱vNXOKj5-IqF=Ø9Lh5ir6:I [)K?vñie8ey笅c~}l~Ȭ`1TS3q݅|~Ʉ;ڊ>b{zLs~g˭r|і{Y|viCmw@;`4Ǚ Ly(lg m   Evܩ{{guV_CRgw{vO雗~W#E*JR(JR(JR(JR(JO#enBk@>|^x(=]v_@P7)QH舙I3;0`Q.<׳;k (۴8DWE BJsM:{BVPm*8DMB.qo)ǧn<w#' 7{K:Fx 2m^7]{h';&Zkc__r2rm+hyo6%7сp/ c+ǩ-K f12~h5 gkS4G?;=˜{ݒ=3/ɧSpΕzuP8,Xw.;gx~H/D 5>ۿ=DjjCT UA8D31#@ "5{8.y>e2&PМYnEmy`AH"Lrgzeg=ks E)Z! c2M>oymvg{32ɧ~(HlW+<{:'ށo'rO-n:Z[46S+{ #{ׯMmMGaoMzA/lV/vGj(JR(JR(JR(JR(JkR@vp ?A'L.5Ewx(pLJmw3eΆ|+WlM'm7pttIk{rD5 ۦ7K/69a``1޵ǷNNī٬AQF_%d}4̙bB[`_uTn;{F"t)rq>s$@Wk52}:SlvRfOQ(WMɞ&&غwJ'EsĘp00%ikTLj)ҟh|8muhup^=$>2΁\Cj;~75ڈz7U͎͎3D;O S'>%#28Ƥ#g.-pxƍ#y;opJ˽έ3˚[ zv2kާwBllw>8&f d8̧E{/ N#g<ȁa-6Wyc3"4i¿Ipg4fzd1`$Hc8b64[3j;?9>hX/o_B:C4;yž R=oZj&KR(JR(JR(JR(JRU/>c@ϣ=Ф~B48$V###.)4Nk-iE}KۆuP[XHzH=ݻcbZ 1>je,<, vZ}lNO'DpS>}lQCku^"Ts/Ѻ瓚xr:7kRdmWgi&d\!Z|C8NHy)nv_h1 #0!Nh1di 5pzF<xYSZw@)P @)P @)P @)P @)SePwP2xH G^5c"QǞbh|tOԼQ06#@e!_tu$n voXe zvN2ݷp< "Myq9@5%:lVl,<}MԳDZEAS|M=u M7^@Ыxׂ-t~<Ldb WbΣm^kKDSikz;B#׬$>'+BސHlv 贡'4Wٴ\o=>:裃?K'U+s=}`.`?`Y͸;gDv#ߙΝ F%P vVs.cDr&F1Ξ&=CP?ver+lR⧿"u4LKHϻ <~/܏Z[ꈃi0/qf_Ʈnr 0WWuw(Ц> 6 #[:p_ {ǜcv,M@?/\:APVl~NNf3Hm{Ƿo{K'v"ub(JR(JR(JR(JR(JOGh=@@?ئ{w{ᅇŇ='r Ոxb=Lqf#p;y>p 6Ym٨߷6&o@["W`(twF0,\ϽN[E;ب4u0&ކ 3{oܩ6т[g`ٶ#9Ԓ*B`zGOlp922.C,-jes@7ܨy xG}OB}1wI ;at][m+ԛWN?J-@íJl^ զ_Ӑq6YȍfVȌ^S'}׍~aF]#XPO"p{!qׁc~vpG! >wm>dS髫sh-,f03vIX^HdI%_oZS 0o}†q.`nLQNEk{|npՂ9g>{3^[5z2O' =z8"yY|g9=G[׿U P#TfEZ~zݟzaM/?ݯ}}m[֬JR(JR(JR(JR(JRxx $eg[7@g$-d2}l @> .}Mkq̦3ۯ-,I M#ߝNƈ5h&7[H[ 5"y}0`u {4,Tڗmh7J+_:%-Q4j]Ƕ<1>{Gj~̽GGmn:hG26cqjĿN QW,=sko"t:Hjw#7A#S3NIoo( GZ@ _&]clujGhu.1-o2?O4?1G/e mI`:(7g0q^oZ_7*(ari9<ä Dbp|&Yv_\|a"ֶ0Н#M ~SIOClfC,orֳH*RK3K U.}W7<(>9Z|RsY{CtO~6}">>JӃ FH&>&r~ߑypJDk#klƌr׋0wqy(_g mg 1U1颠9Zi_#x,/]?eS{{(`(JR(JR(JR(JR(JO_^ oVN`\?@7S7)%:{ kaQ0_X) \ؠ^^= /GT1|O\4m{uїI n9#sQF*HxD{n<̵h+荈*^Hllwwm\ݤ=4U Ѩ^X||zc]3s+0IK\^7#2c@?[@o0>9馳 Se/^V5-#}һկ&69ֽ 6YT߄U(JR(JR(JR(JR(W0>&3?߽JnP7?'rXBw8oĒU:D7 Q@8~!&)7Ƃ[ᾩ-d (ۇ4{AD†TjTܓ=i1ro6b?M`i~͝DfߗsQ Mw Z]<n nm>< I5}}$`Z( ] OhOЖ(lNG Ϻ (UcgPW&!ڙNDV{WD{]|A>rگgȞ)x7\>|첑l5-[0PBmֆs&Fߛ7d 5g@m)B6gL4ہ?ֿ&jtWS"еÚ'0_=Ü6{3p0ksiFf,H|,uwN[̜dFdĈ_8--ӉcM~m|B˸vЎ iޜcg|A~,:q/:&Gdİ=ۡ}Um1?/H0CF9'و῟vg'>9?!~'77}/l^gum@)P @)P @)P @)P @)P |+wn@G?l>]bN$0l 48`/v&}.Э*%{o{U*z tmM?:#@'7|?.< \g~E_S߶/1{`~n }`%#zr#][p([v۝CՀDSe; lcz?\;ٽ"-&$|>z2Ӣ1^h,LGhUo2>}Dq.V 69un{t x^ p>8̃쎅΋-(Y}xǾ3ZȾsl*xЛz3hm}̨:~OƳQml )6ٛ/js3όԛޥ͎9wƱ78ֻx cO\wК%Ź͘iW76ai1,"?"`DŽgl<$ ߲[2&Xdž֍bmQOsa;{+ִ;;<5k+JR(JR(JR(JR(JR(РGwQG:nfR>v;NQ!W(<WǶ,_̯ eē9{JDtq8}~c dS Q8.TP-I_f=@GA&m^'E?QS/`֫l6X0|H[ܷz5;XL6Fx'Y hQw BdA^kM'(SYңLǹ>F/^;lᨑyʥM] k-/F/nT?i#C̎lWSGmq)ÒSПˁ>3 TʭiwƤKA`Tcג|LSE6B5p]{=# q-ɕ;ݹxd} |`yZ-'gWfX|FrgPgG c-a/>OS{>,q+'9x:;7K49̸`cr{tG[l?/^S@wK˧98ej}$ÿ?musk+JR(JR(JR(JR(JR(0Ng)зv݇־U {aࠠ0Џ@F V }<Q@@(ma8<{FAYQS'I(|7`sM> *B|#@[40ѾBlH.^p>ݝA8Wwer"Eh149ҾJrzJ_pDžWY<d G9]wk~sb}ڵ_gD㻌`}kucH:NZƬVC@gkm>vv@ow50_(is /yr&Ĥ Bd*"~ڵ9"Kw><=c_sQwoִ8!(ŹaL,iޚvtщ: Ǘm@@o" s5<.w&Xat }ts 1CWo1 bP>+lO#R#Ozl(i[?ݗqKMe)ؽ@U(JR(JR(JR(JR(JW-\ ܌(Y@T >(5%=rOsȶ!(&":e,'4&z@,!;ހAH('C~C ]=5ߟ, h6n L-P:$:.>Б6?f˨gӯwX)-Ҙr妛)jwJV5_h+uB K2`QRP/Hs-%>gS+,BG!YOCD,OAgmN54gZTxoc*ayFgN8`"5 z>LQ-~k?<':,Oݹ@k*f:W8@^:# ݹϞl:o~v38~#n'^>st8XNG4&:e[G'1^ߧ|[׽m\R_77uQ' t;|},z7Vf~[r)P @)P @)P @)P @)P 6 4[-rCܹ}a Ps$x<mSj@ 6%5煨PװZrJBDӆD/x<79Sn 2 {Q{ WY5hn {@j{k˦G&rZl0O= 3fvUn6u'T17-ύQ|m^ ka3u-w.;f';yEam-bN;0ؽ`7~4 [T m@Y|E"ɒdLo };5҅9OIGsO-/n`ym<>꯺_jy~a dQ!Y 8c-s uDAηQ'c]xgni恾)@{&R}0¿BƄ}76տc>W_7Nj{7oTl)yϤ0kϷ682'ұ`1OX|a^6ٹb9.f)S^q-XF;3B[h5Ӹ/! NNy26-܇qw{ #Rm{Mόoml'>ؠvg?е@)P @)P @)P @)P @)ps좻ு|@lwcK\ ly ٌ>C=;@Йz̼LY4vfo@:si!{'u! AD';Q4N=V"[#[z_hO4UzGA-p3NP_DP AMY]D8C+ wDhK/֠c7B6nwZ4Cm匴NJ{NtNa2儿D NT9UkTT}%^G8ZRQl8::;k}Qd#tm }qXO;zmnvǩ4^1@(rn/ >8 dKM9f D6e}[=Y dGy06̃m]Ϝ}d1X_]\ 13VvGltl2?]d8-E;Y}up P,s.a6K#i:8x_Q۠yhq?|enq˸lhsH?9aFg5}N9p 0@clձvsqlqu-w}Qׁɽ Y^'tֽ>[c@xGGΏI%_8Q/~WW#kṅo (JR(JR(JR(JR(JO`r" _[`s9tM@Vkpdy!g5FA{O6^{'8Lmuc5"u06[t xӎ9Pcn8UC,, lTxx|M{m@0kWJq `OAyA: iеiC'{?\>u6#L=Ja秜}ⶔ؃M 8ۄDvFz"1nZ1S{Z% f8 zНN𰔀>,D\Dk'S3G^?n\vV`\)AkE8ip@ 7ށI+b6Be> dyȸ }dI.p܎sKJc_7I}X&%F3-ܱc~,=f5͜,t Sfiz'%-QPq@v޶'O"ȷ& y?S ZrL e Mٞ}ܭ c`Q^4jtq"YGq54x%O X~,}O2揑d@ڍq60"Rۓ~ޛm{c,p/)^L1Q_Ea=SnlSೀU ~?Ѿ(oņNZegY~C1`D)Cf:Zf2ozNv`9f?KmiqTXeGDk#ȹO톼W^;F8^@fdFD;yc/+ŽSFGzԾHQ8FcԻ?j6xc}]\6Fso~iѢ i6ggrQ7fHL:P|;^1z'MLqC̽fpBti`a{58I]+̽ VtFk9ľێ^ێɨa2y/|m`wpNJ#yCB>_ulԕ;9}sye[尹'pZY=jv-ȻQί&l? [&Fқ30j6,1-]}8 i`Ʉ"m9@#x8t</:it` {'.9' k4 3f:T|^lJ*i7eS.痉FJ]OH>LD;ޤrnW-)'')QO$Ix5iЎ- FSݾ; k_/Ǎp|%E`[Пuv Jލ7:*8$uޔhٺveHlُkKΑ]<3 FOhh׹a][{}oyխ{D62V`o=NnqLdX 1;e7u”D߹q"vs}dۘڒK;b08}}f:ܺ} ,?ēOfnu@8 ߋ`V CL&6|^w 8П!7oS~r [tH:O:+ hjcmwέv2;D u,? '+ ԑDgkmlJ|?؅׻-;>k+JR(JR(JR(JR(JR+jn,l0^nv_ {ᜀ=2cG*rӠs=I* l gg M=VplZno  0f>@^ J[{۞oyPryAbc*Q %Tn}ZϔQ鼠g40})[l|vGKٟX }0\qIj{J 9*;Ќ7 O5eZԴpt%r}xсWDӓ߇u,ڠ1!%09!@Kon[sWMu6xtSwu8D3Ƙk9Oç'K eͮ>7 1Äˁ˞W"d_t6J> hh 7K93 -Bu[=;1CP aWhcN ppyO=~i+:"1p^X}w9рs|Zm``YL?CG뼼s_/.;.j~9Ʌw#huxe8#P̓xejK -t^8p]G)`nVv.ˡ㆑f0;_7?ldz(8ch;3Iߴ=]?~}d^u_u|0AړR(JR(JR(JR(JR(n(Sݯp@Ƕ@Lt+_>pap%!~@m[D_ 6C`^pVHmGRzܓ6ݔܟ{Lx0A| >kk7`bmSWu-$@{;]N MOysYb8MA`7gmF?>c 3H>qp`hs =愯id-xzGtt Lc/Pvoh$ipo\3#NFYkY,/6} ;Σꜚ/R#v0ܴ#ݡOih gk7CcSz显Ӎl^}O_h`Ti{c>(PqLt^)3vx @!'EH8VK$,$ q|ƴyD.ip'3;5;K5v^3@ԁǬ M=m/}2W627j8ll5Nn݊Ɛ ,XD MϾ{Q[ ?Cxn AO$kbo\v~~w{?嵕@)P @)P @)P @)P @)px5/XDo_BDyy]r(}l-ؚ@A!7L{~(h&>PF$>.\Ӟ21izd7 mEl5@IDAT&?WJ|_mijifvx+6? ۰DtD@؀q=DvzH|Sguog>-8MjM.zP!Zl*9Y/]c1ڱNQxs"Hz8崋rx6q0[$|AZ4hYFv9bDc'=NþxN#P;NNQ8Gxk` KY#_  ",?̯Lc̣ 7hۀ)Z}E7}vc A}KѤepمs8~* U>}7_uKF/̡1iq!L JmV L;yhWptf' qZ CM-B~ Y8>:Q~Bqي~wAud/&f|{_3āM32 7g=tw'''Uw;ݝ^bݿܗtPoB5-#NS\Wet{JwS>Hnj(JR(JR(JR(JR(JWşHAQ@@l8 N {`7cQOr==iߜǂY^Vc>U{] [?\ H6Wa-&K:vYڰ Tn;. P*{iu(0GC>_ig=%*.}ou~7;0_x WW i76q "iүͶ@R(1}㽐Z(kjsGA/h0}o~q굲4V"c[D7c 2%DbU%;qgz -el1-1޳zǀO@V X7uéyܹI>Y:1'KUGDx=F u\OyOϹ%NK֊OO`Xu ǂv8XG툦(E4~<.Mcxfzާ~4&ss}8}Sm':VHCl86?}J +of)dM>)NK"ݹ~Ry|Wyz+ ԑ>?I +YO}_m?#i@)P @)P @)P @)P @)P DWIO60UHjà <U줮FVo'̭c[Y|SʛѽfhSrv+h`B2#W"kΦ TX@``>lC-|0 l$wq/uq,m>p`10'P]mUpGN},sce[oGkm3L͸mKp# M`ߺZ4/B\o 6SUvI34D=4y:1;r B>^uj@x< 9vdb=\[m}Aue}FjOIu0H}|7@v\b#jx>|W+@K hw#`m ~s": Nq;kV=ssnߜ!&G[-:3oIa.6frVg_ 9擯ݝJ;zN{}{s5 |/Qu}F q?98u_US?~|χA>Bs~@)P @)P @)P @)P @)p ,y:}}/PYOgij L*< v;[N*[(Kj\&Q_feFq BZ;[Ҍ Hw@PMGPnf+g'<ݾ=hqF1//pU} 9c8 <49BzyS dw1":eODc-(/ _gޛk֘~1?OJx!v&?@H-k΋Yo=NhzyЎW8Oߜ>Wͩ/c`[ /Ḵ ?nhck $ ~s{a}E_9b]1.)<]hrS_? DKo*5z{`HJz&0tMk׊'%N0u3ŖؤG m 1yceg\xvtVpc->s<$]4e[mN(a7%z͟~ ~n/1ԘS5A!1{>[K _77uag=~>!IїM>Pb:/|4V @)P @)P @)P @)P @)}?40Gia-sKY 79'Qՙb:u}Z%F{ ;\5ml<:޻M:04=޷]K;& S (iT98g{m2;RT(`! ^ F@Vnns<зv@n n^V 5iuNWM:a34ۀђC繬6'>!׉짬3ac> ;~T}fNЙgdž cr~noߕzWV_#H/Csݽtlk<WJ1W)P @)P @)P @)P @)P P `L{]AX}{y/ u9nVո^*fecA"\ <1ޙ]˚Z%ɽo Ov=h- flۥ@R]rjy/z"?ڻ*iԽC/ S{7oeJs!P@!P@!P@!P@!P<8&%Ҽ Gٯ@ö6_2^ 5yA@zV!!gUCguowFyv>?MV]@!P@!P@!P@!P@!P ` _KJO^'/kHV QFLR?ÔAjI&ҽ9pex=Q -9" E=@CptDm$is"{\6v i%%{ GՌ #1q>\F5USX<nd;vnQhqjȳ[|ϳ7#k<*%e{ŐjyquJ-A`͉Tgl2$H(;tHӬ(FG-{"yfo5Cr }Rks8~ov<@-7:Oցmr&I}qVz.|\S/E:gVAgvoķGnk%i1J!P@!P@!P@!P@!P!`"-=*˸܄N;(HR#<T0s?F޽BDn?vJk:Pιk. C~ѕ^8lVGIօٽy(D \ͨ{t5kS零9ZıE7;Ǧ ^9OsC5 [߱ HмK1h$2~LfvOxg !~ ;.B]yFa3'[1nIx#e3'!B;>tvݜ ĵ%ʧ2 yk7`2a8kЅd|!/~냫Z(fRCWRֳd{[{ͽE{Iλ!A~!q6 &>oB}?½z; &[=,\b|.NX;$[:@/!^iNfk}c!/1k@Hy#!ww//\Cpgs@s͘ zĭ޹ngG<' 8dfԿ?iŧ=Õ=RC|ffM|wm1u>v*ͅ@!P@!P@!P@!P@!P<x0}gwkJKJc,?PsCZ⽏k 0N5i;lө*Q!1ɕG}^["t0\B.ϮAVNTsߨ sZЦ=mdH }}Q(N #'Y;ab= ]R>ԟ ݹpY!:e~2u<@G9| ވ~/B >Rc|V5VW&n\,+R(Յ@!P@!P@!P@!P@!PAC$1RPїtYPTv~!gN7,7F'%?Bar;0<.qj %v8~ GBwCwMMn\!F-<&u`(."5 ݒ#HQ\5£oQQmKQ֭Qm|p4Ҥr5 |bt!#m[B7J$p7.Imn=@vsa}s5 f~F kdoVRud\Ny̨-M%-Q6sWVtp0v@Wuzp_i%C󮣃i&.̣@ۇJEK3n.;|7ϓ(^N;COkKY@dQK^3׭tklv֣0=Dۛmb}G挡z= ΍Im"9i*$Ǭg#m]L80@⏦eÑ ~GFւv| @9Ng޹=,u L}Q/z)!> ?K&X.3P( B( B( B( B( Bc# nAw]Oc[4'"%Kˎl5CN|!KB SцnߠT%fS#ؕb5˹M$*ܨQtp19w_s~ԡ½6pGe=wkupP|[y]ZY%]{Pߠ4q/o<1\qh2Eh(-c3lFn΄חdzGs`ӢRbz FaWL?AhOj~xG4]D-ڰ@OзHECמ?8k X |qȝ1FYڪC%Gڸ0@|;7[_;" ke"qsb:.O=6ٟqI{Y٘i_mK5ܹlžC;Dv2y+YS *ˑ:_e=bO\#fa`/?"#2=LǮ);8q HiA:7:5߯ =˞S/E:gVAgvoN)m@!P@!P@!P@!P@!P<(n#-'Q=QђFnI*KmHFK5}|[sֺde~Cϔd@RZVAMQ US5M]G#{O4HlzcyЄQ9"KNfjsH;Sc#۳QbC慺vW_BC& {va CD׉%duhxD$v-O>5g#cևldvHZ{g%O'eHbv!S&kɼ gaV T=y+l/K0z]mױ(vA&~ QnE Tk\>Ci [FPIѐ959.8|\?ǵlHMׯ\!g: HE@ zgNٌai}΁I[wC#ع6]c'-!"IGbA3,'=ύUi#|vv\"Wz +rӬ)Ņ@!P@!P@!P@!P@!P<4I UֽIxK:!zi*{˱v!Q!Gm{Zϛ6߭FgQ2 o!-8`%|3ܫ-Zwlit1`J6 0R9d稛}Y覍7ݺad-%ѱ{${U"ڢ|bF)=P5I@|bog{i!s<,'2|A?b>C>%3m+ӿ_֭HBΆc~2,?.6s!?߇ qIt1~'7ƗR[Gw|nq&8ęމ݇t`-%sW"J5f1.P Mspd1 {#εiB>{Mp-ZY~8 N,{«,cyt{4KUP]7nҕ*@!P@!P@!P@!P@!P$,7뮿AQd5!Цk>t J3s)hjBx%Wte s}ۡX/Mػ 4C#5Ǭ=k FJKʱ'so[37I\{ ;HQwfd#[c9UESBy OVڑx*>Jf\l<WIA7:V&o>/֢kHqцAG>^2+d/M.L׉R"tuKvX#^2$@ڛ}jT1ޣ#_*{O'zȧ_CFh#`=g2%.2U>8* % ҺC  ι?fz'J 9-Hr8Oo1^3ߙ?}_NJep?Ǚ>p;V_twW)ڞbmk{r`c:<@tʘ$֖AE7ſ+m~c7&9-9`9Gw/ԜSL /L/M( B( B( B( B( Bࡂ@jL[]yBx&ѲY=Czvuθ(]QІCI(No\aO l'=󥧤ad.bM:Q4T'}}*q|hTMB:wa`{dݬoDn'~ZBC OoPȓN$`-E#U"C\v[Uj Ǵ"w¿[]|[@߿zۿr;twlv.:q>N%ڍ'E{s')4xiH&$*<&=퓿-J#?I?e&x>.;ayEMh[Y]@!P@!P@!P@!P@!px0w.)Qu ~olH9I7RӐ>F臼7:Vn\qmqPpungHQgE/<[Ն1>w1m6AxH]9Q/I?X#ei<]P5 ,QI_RCX:&J-oQaS$y,̓ϜyEOg.x|C{ʱ;֐6{Eysc>F\{-{t:4_S[Ԛ#Ą/~ k"QH1XɁp"99s^T-?(C̙Hz#mipTAM=Q#sfa=|X3N2?N )L].6d77~ 'c&9vM2->Gx=NvIA_vK| |d~f/mfv[OxϴaAe8 M!w8/z]/|?Uxϴ" B( B( B( B( BEW=iO2}r{t|r^ c nfoz}%1!]гƍ9w1dD}%!m a) Ye% ˂L5e~ǵޞ =lb/G"s()[mIFT+ƬcNn'vaj{ybܱ/KRgԌB{}]"_JTx_ȋ z.ͱTi{e׿f_@!P@!P@!P@!P',G^=q_,FCC_&n˻eE"r3#|A>(I=7ri 4o?nSƎ<ڴZB DI HC8&Y&X'F_䞼J"Ԡ@پO;yAukKsYM)P=$)ۚ: e>c_"+kN y^gz^s ؈5 CG '/\$h R!i!!ƕ]l<"ZLL!1-KB\;|:} ȑm{Iq9j#i52_}ͷyޘq>}MϜӐ:Y8<>gstjP#zd> bBn" /Ѯ@0cVе8a0s=||my4f\ @2򉣧lG[Gy Cd~/3=a 5$7f3: St=E/qaEů@!P@!P@!P@!P@!׿Wn4k^r!$~?.􏄈7~w|36fM5!&%O[tDI=قTtgɻ2YGXYȻ1KUcyσ_#mYx}lXu<'-Гh {#}$vY³.sцlLxPm6wjBzׂ7W8ޞoD?,͚Q\k~[a/ɬΐIJg$- sź!^YWGIӛǒ!?}|jqi#cMyULRcWŮNCvoFKЯΣ{gyμ$s;A=F!.*FLKNWyRFJ}X-!sٮ(^n?9!G lDG7|LmW&O<9&6glA0dKmrd2q1Gm:Wh{G9 -'vSjQ^z!*wq׽_MQ:ih+|_umݫoPʸ?]~?.a=\j^@y_Cƅ֕X ]bHMj1u0wi瘴I~4n2[T~K`.T'Iا f㘌Sۻa׸&q,*c1J{dbM=[<~|gs{vF|RJcPT~+ n2>3"hk<ϱ%.Zb JvʖԗϼTUg 걝zj;[v6sد z=u W+zfeȱ|w۴}Y"V:?q)x =A< y1Gd_”ʼnяG0C8hN>6_ŵ:so ڻBg>L;CǾR G.E?t׮,/ B( B( B( B( B= 뻻/r!}s 5ݕ{ Vu~E!!؏^6)G/>2a7]$)!%+/a/O$X ~m<#q `pYyʏ,hF!4W (A hƳ$cc']FQ6Ǵ>n)%IUdg1og7CBz$* Օ\g~~OaX~R50hÜ%:m:.kuB5Z>L$8ppJ:$g#l}`DiS3aK-a ϙ/Jh׉$G `~Hxa=u)O? ]iERZGjуY[EtCo]ehva_?g1jq#"s3Axi[B&f?'? %V#78טUoV4 оfMXe88h9`>;Ĺw l3FO>/-MA?: bޘDS a$'9F)~:)0Ǽ<ۙ]3SǾOXsS*(.}M( B( B( B( B( ҿ=19 ;@IDAT07A=H,7_b^2iQ%_$*n46yu0%r^Tr%w/FFzWN%0q<* );z4m:kI&(zRr{ 3BM{dpϋ)mҠ2D+s-[k?yN+xl6+roN仴,m=?vS*(.}M( B( B( B( B( 7|7t}+O}'OBjW#:Q-~jM6pE{%1A }yIKOo-7 7W)#SCIl!%PM+ hvPFK Һ @3N!E!NǦH&'mmbWZm>@aXJ ;Fb]}+7gm.|šFm68A2 q-$n_Hؾvsl)gЧo%P?vu6oM6R:঎_H wtg<+Wb[Wz͔{VU[^}ۘT+/ID491 ggnDDIFT""@~m?5]KlNԬ6AwGi Od@i٠ÞTG _r<ttϚsg'Ж}-Me +x_ЗÓ5сLFny/]ukW/w梣xl)qX^q |'ȟc0#j >OOfSL /L/M( B( B( B( B(  }}OΜ?H}0o?"^rPllA3M"#HDkf _ZJd֖m-rCD?$< Yyu[D{)%Dz %5%] *' FJkgFOsn10;db"UmDtZ_ͩ-f*H AF8_Fbj\#H14 l>@E1 67[n=/bf;D$3SQc@ok( >[ҵgm}McĿDp(ǖM>WsdTܹX b%Օv;峃,wl_;G1pg a,KlEyWkF$dj{N':(uv','1Ɔw 0Usf 4M |Gé-"V>v{;#K7 cL#)_Q0Aw;J+wwc>=luRpyZ  w $R#Wm_g .uF/}ͼ( B( B( B( B( 3}Oe {TdB '"]{ݤBt5Ip5b!! wDu;Vf J4~3$ B~39h(b"up|DFKc#} zJ2KPN>"}$;/Iw~SŚv-hE޷GK:O-D+7ͽs,&$xDJw;l0=gm;}x^]a7sf.=.$CzLudjD ۸-=VҗĿz%ztw y"Mٲ;~= Kq]/1gb=e_N]Eݵ@!P@!P@!P@!P@! ݟ%^ts _+R+  m{muS|wP7,G a׈D!$$Ie/'?*3>0΋hcIly,l̍Ƶ!2.{l |Ϫ]󾢯SC.3,<2m7SN`_Jgf#IU8ȇarKyH%%By>&4T}{ohwCN}A^imimosle`%5'^>玻Jz;%;{!{}a{۬9Fb0]mcSǯt͍k~+G6ޖ8rq4i2 Cm]E2L AxQ!G5Kk>5&+{we<;kƺ!M\Ǖ|?h\ºLfH~_I$<$~{"̜`Ӳ`l<6KAtGa|%Ql|LdDB%([eo5ddġ7D6S)^HL%r騆-H)dj1朳=?B$'DׯMQnfq;K\OѻF| kľ ۤסv4IȊAHDΛХ0W?w3[-gG&)!i'&;,Z6}w 6qb'YM͉5[3d?69`}oԹܿV I :3+αnK49bFbͬ&H7}x<$>[qmjzQ:Шc3;~>CR/\ӿ&m=F~!ov CuBљe>ݫw՘=to7/s:c"/{|&.:)L^ 2i։GsA0Ogӆ[ؽS Y-YήKw~Ӊ[P~~Ig_؆}3{ 'ҽ[n^! _nOO2Ɛn!n5\-_Aa#m3F:k"F_:=F"+j kM (?%28Hvm߇$Uy*/;~d"R2Z[31`}Ft6唤M-bNCݰ2zF7:'D&cE21@livF&G{p9[[mvn-!ӏɰ6ֵ>"Z[u/!@i E~/QLL M{`ͳG]7~5Y/ؿ Cι|ץ;?Jv~DenFO;D0+ _MeF/}ͼ( B( B( B( B( O'u/~ዻ/w/\x@t]wuͯ>? T* ?H2/?z׏ƖFb%C/L0`F*J%ڗ9H-5އ|*!M)nqӛE/L$n#/׼SqM DCs݋5%X^=cRn :1dO RdD`EtLf Rzs8J c$ָ↨X !i;WXߛ,?#@ETF[}7T ~(m}MT'HڟV+M~H1BYq3y7PD9@ܬ6NcB=Jn7GNzyW;羴4 %=I)1ة:2:Z"D[~ao0Q cc^{Ć3Hp5qM5ߎ# ݅a&V`$ E-qϚʞ5H ÀA#? t-c8V &7n _@RUrdp_Sw$d@losa'ݫ'|ڿ?mϮ" B( B( B( B( Bx"CtY9O<W}7wꕨL?wyp4Sl, )(S!WSt;:E+gȅ&|1cOrWwȐĄ!hD%4ދg$~IELZwrs<ãc~:ߠĻ\FM ;ի R#.h 'ܟUԩ)`yo6oo!oIxU/+UF@!P@!P@!P@!P@!P5t/%_m#ƒf{ycM7xL$$=̚w6KK"ZB$y?I`}!"q!94j!!$8%CآkYk6Rw3?DdD@eӻRu)(ymDJ:8ai6(Z&[۫lex#>m,=؎-h t3a+9X c";PzYN645Bb?QD׎1KQVlߎf/p\ՓV.ϙZj΍YZn(JԦs6Fs`!% k=;&ﭵ51 N8ϼw<,7Q"tR~G63XY}Ϫ;CcDnH)b>sYϊu3`]8FgA G)FcL8t>:/wȤ~3gk!gZ0G]l ?yx0K s'cgN[oWuOJ_Y.]^@!P@!P@!P@!P@`ww{6m<>ېOh?tgWc:=z-(?K#%ƹ Ր/=* O?'#!%8q>ކIL:I"IwGRsG:WqldẃF)9_'֔>(ۏb0?ؤPg#pLjBR" #'&{3^!S[}-I8d`:!c)EB?v2@%{GV1N ӣY*J6Ybi܇YIzw8ޡ>z[ih+{Aڗb;>}<+  dr[#q7.a L*{I}|owf g;fMBoAVPqDFL'S4Ǚc>eu5U)O+5B( B( B( B( B(|S>mu<>;Sǻ>7~7|\|\c}3 nodZs~~CnmC+oS d@9c伒؝]@#96By21"Uz(w7_| T#vG_^Ϻ߾ $F71ܝ#g|Ԅ%d#T%ε9-TQc!Ҟ$!=';x(F.<\tGBs)yz H?ӛG ByѺ+ٌm͗|F0rvMľ! W<!biC[gy7@L.1jįTFHvB9!!Ck5}M)ܬy֗pnrmΉĬ6ަ(cZF@tFp JP Rim؊2Eϫ s^=;ogt=3 #ۚjל:4 lh=L]s$;ֹuٞb'S\g]/Vm?FfTڿep/ҏڧo¦k^NĶthsVlKէ?ڵ6smYm_a/;`X%~IDh!^-gݒ 侟=$*ٸ -b9A$k{w~{ʿ?eϰ" B( B( B( B( Bx zjζg۟ۻfq~'7~*{XY!@?|OwG3t)׈PR}"^QH;ݝgOB̉N7b{NzR%y O7y6sCswz[%CS}GT?mv@KKN;+!ؕOvxHQa̵x}s^nwƐTw҆ ̤xJH#&Wi':B@}e8?!lϹ7yZ' uH!OiJ1c $-n{dJyGsd.!  l[g]y80 b?itYqwpvGWtF뜴q.b3/mW60"Y3Wt—O^{&_@!P@!P@!P sws`w+W>Vj+,}K?ߣ^ ٟK^9n~?ĿljQ6j }}G=^ovw],Cy0G}s7TЌqŻO!660cy#%C`= H эx)K.niQ |BGR0t*ܵ7j$[DtN_ &\>Tylz Fkdߘk9vvw9aѾ1ͫ!3\ z1beKϮ]s\"|߬"s7cܡ}IejYs d&H (g0n i y)4I.HԺLDesұ!g}K d۞Ƙ_,9ȳCwۦo%VbF@Ԉv%8zD'k} C_LRg8^ϣľ)2_E1v SMYOYd2\vγE$  ig}|dHRKMy i~X %G ΓupH@I;`m1m g V*hpՑe`4}[$m6%k-PgEtg橡3j膻T5+~6:Mpob!1=ݓsulo)'>u@`ⰽm~+-ğ59\"@\t; h-)IR.c'5[^g k-G2POvOx,K/,~ͽ( B( B( B(>*ϽGݣ^ Y*~_B+Vg mezv{COx=םws<}\/~u!ׯ'ܼ-9'(d郐C;X!Jh=*[40޻╉xMGTAARb4ݍ̇tL=,9ٮU7mIGN"!Ϝr;⦒ђ p `D :68Qj[3ќ6m~IzDwΣYDk2HO gv.`hZKCrNtA[:,@G;4C ;'Iwa2P(YNdclJ@F3/'=Hws^ ,~ij{k &`د7`CqI 5)o}+y6ˋYiW:8nvx|DۯHfqqb._l;7,ɯcǰ7//m"O3,35B( B( B( BwO~5?yc_k'=S^υYDԿ/~[wDkD{B?IOs4B8mx;@gw/9ҟ {/~?JIֻel, loBL&@NIя# 89@c!=~u`|}9|%{A?Sg̜gG7x"O3-35B( B( B( B7O}mh?p/Q_YF;;|;]}YOFHg鳺"ucyߟs=>g~3[!k>zr 7?_f=`uB BN֍҈HCdɃ[ɸOSZ ).3⺑ ( no1n2m1"~F g$$ĩ$dq7D'bJoεtְIoTb;$=@~CTrKo~m@[}@lbv(=Y: 9.A>Y/B$(d w͹KF&EqD05uhByܫ=vib -{k$y3ʼn~52uFlȱH.Rcݴŏ!wh%A!53eIS@q ci}tp=ƞWϺ ߍ6Y'$pP'8SHf :X7 7:K1х;֎@8ǁgml`I{9۞-u{fg֯8Ǡ7'ݻ 2Bm2s&.?aZoB hQF38CNYE٥@!P@!P@!PGCࣝ|pp}цU}!p&?ss {ދ]z^۫.v_/^wO|$c~-on|`dNL Au?k~)k?&$݌X}mu߿co;_Ɉ{t_rV<͘nRHI9dR;da=w [9&E_I'J׈kR)DKC[s'[M7 Gw(e5gz4G݉j2'|z!I[s|ulmPHef~KVՌ hl:^8^98g_S^=49غql$#{aɾ_PUNzf<;O!d]=j%쭕twۨlXz_ƅy鲁d(!/Z? Zl'mS|iŔ:2,Olz|:wW[˿%uiEo 6''>\%ԩl+l*Sf\-%F8uֹ'6o]krx_i6#47}vO1X6F)4P-"P~B( B( B( B(> ooW#ꫢ8BM#{7z7^Zꡎ\W f,ukniNx$Gy6c$"CB JVڗɼ㰰 5w!{GJz{8[{יL &fQ@)ځlɇ_q@A@mPnZOc$!L AF[hHB{oU>UֹV*7I}{{z><{MT ,|AqorCRqhScFr# d>QX#a/"2\ʾWeIzGk@dY߸F|#'J$7=m^W4H)C u69 OzBEQ(|aćUEY_ؘ&frbt57)F*g7~G:A>C| GSKpHA<׺ljQ#)ߝEhgM,a9;<¤jc|9βC 3PK]S`nG (`_eU` q60I2L`c3K.U|潷k}YĤ׾s\B7'Atﲮ5,@!ՇZK EmlѸXK0d?ޢؐK&l AVz"#wYBtfw$w@"$@"$@"$@"0EɧK:yeB:ߊ[#g8+DC1x<;Ey"i{l<_.K2EZC<6|>DN uFCAcCJGfek=; 3=tkجgtL"#ţn൙_LVEZYA8W|R)W}pbw+=C2:( ™~"إ4OL3D}U'+&\%}iEc{cXV_CvO#m b{IXiE:J\_& ^Л#C$'0I-z9XE߳@D'PP ʲ;"ݘ&NSW=c^K$7hƢZMk慍6Xm g꺊zڔ@ _A/_  4[Blt_ܥB%4FU d߂ƚQ;尥`'*`|Q-*q\l -/F=U,{ OWo*P ֏z귥MuzQڭiY|1v$ᝫ? ;y"$@"$@"$@"Kc~6~ _(?>+ӟuWǟJ -)"G zY:|ckvP>Un§M2A5R<&]OE ]u!nGu"N9<]!tܑ::}M7}3zաgf?Q U$*q٭o}lW)mpfq:c؀LZ)"{:|2.; 'uJƚ%%SwH{}KzG"[qNbts_@5Cv{ Q?i/G1M2nYոqq.l]ٳf'<զi"~9B`Xք>e L {![tg2W6EcdY({WtrAr&e$?8ž <1)3 !n4Aa=s独]۪MdJP/u&[LTKvMc FRM Y &|kZR6OLȡ|=@IDAT%G6X$%ZoPCp(ȶ @z9`DDfg\Pct-jC,ZƟ5~^yM"d`2d]f,h;MPwPp=*u% 9F;sD HD HD HD &oNy$O}>+vߛ 3>g#/|Fdgt a }H>2u5d @D!-%pqjlΔ0 MX "ۃXϐ}=.xwT/5됣 Swi$a zJ.}kL.xDG]LN`7AjQ~eSMu(F!H11g {,:M"Hvݬ#^#<N{(E]DB,0Ȍ";0V֢_d j})Tm{I!ޱ$c>OD HD HD H!pt}_ze}"8?s1s17ayӟin[VX(z}'lBm~K_*g(缳\{5[UCQ)O(mMA"ք9ZԺ4zn%1D҉:aS#FR$#!uu}[P|p7$4,a#cKkO٩қ,-D%~q+^̣.E3"z،;tmF E7;*) vShGҕCB2.-Ub8^eɠgAؐ\fEzKWX1tY^[&q{=aSc#a'_4B^̻=6L dwz659aNb\2'`r9LJv͆7@sx 3#">X3.ƣHym`$~O5;HwLvRϾ͉lݪtıM ~]U4X.cV v^Q-K$u(y:d"U<2uvؠd%?lgJxv]w:^=Q% mxt<HD HD HD Hr{{SE"HJ_> {AyoyMYw3A(E?qO0q;iV/*guF|tRA F9X᳟(D57VFEjl?@ LKRnBA:Sy&$V>H>?uU kJY/:xx7 BUM'?g[qD{>Zw+X,;E6>ۮ`N.zi[JDb"i] lI>{zCs+ΟJPk>C]cX7m/iWm;%&EW5ѠR4az^o`ݜNz>[6RE&ڔ1Ut7cu;6&5NgYR/@n]@V]΃M[f5آ&ylf5e%%iӾ =_`b^a'f]~ :^ˬ~rhZ0kVh1_oA@6e#JtGZxv%kI3nCD)o*iz"96q̷Gͪ;cwKY>tCcHN}:$@"$@"$@"$C79/HRNzI/{\(eD`<x#nh{L*]wtV96PWr'Ps<̉$&WD݋`3tx7G'No}7-ڞ~ߖSo1ig0e@B/m0^rc wFqduJJD3ҼB} EpVR ȵvJ/26ҕzU/U'^5=l-c:8{rm ;=ڔf$IB»&N)#4iSde-8q<用d&Y-j߂UcKbd\q1AԱvTׇ$y>|xs@}W"QBl`Ÿm ge_G `hʾ>¸J@ ~Hm!1~WD (Aw@Y-lt7I.[-oTXzA3/!6qAB%C>~> ! t;{Fl[v/|υz ʕa )cTKse[Io+;Zy;zD HD HD HD mw㦦׼jS}V$@);~\( N~̣ښrmn[h'e{I{E+o>7[֗ @#%\|nS \h|X9xcsgARADrrugЄ*gD.BAJwHO D,C2#zܯ!%>-E?D?_rxomut3[i f7PnW (e]u EV.A/(R}A": p@:,${:=>:^*RpxSlV8J6unٓ5)L]dy@;QxyG>#N*{ 6Lniݨu]8IdCP<צ F٧72 LXD1 ѳDދY`UDj}io't%uaeYmnh";Pf1Go2/ol՗l1V/|mͥ7h 4`1[t}I62-`!=eHsqa=1eN%@>2ߡW,w3l{I!ޱ$c>OD HD HD H!pY産:jSu"H>ys<|sۖ7 ')>/~hwwN붦,{K@Q%/Oڇ..5b٨h|G؃0ic Y'TOɔUE#+7EJ:1z [EЯJZBxA8B!D?uE8!DtS z^6)!ѭnaJ_T*v+6.!%!_Pj Q^Љn׊Xf|l$<逶 H؏YW@260d+m6916A0>NRәhmNu.yDVUѦz͈bQf vɏPuC àcVD9Ң1smBZ$#ƅe_? Qg)f~PEd=k[RxMpI=l`'4JgcQM v=)5OǮjs:f〭/\Ʋ,%;U>oe܄Ik#Fl6/v3Z-{to4 M̡&*Xcs gsl$연6V Eg>!-$o'@"$@"$@"$6 p\N+?W["QJ-"b+² ib" Ma=&r#ˡMCs7 ĞLRCDHThl΍7 Q &u[Vch?,CkJv\ה'f0K]Nk-ucCR FۛϲY,gm(z)9scD{Mȫ!E#`G6Vx,gUK=%gbhn)OEQ%5qQ =Mp--ҏ=RHC,a9@(P 5F1λ.&EFeADT΄%e(hM#O{!]aubZf"2i# ;zZo6j ܇#͹aC;"D'pEڪ6Ah#R{4bpz+0̅4 =lb@1^V;31w.޷dcSGH|$@"$@"$@"$s?~m{/<-+D__(?#?6z_m=!WN}ҩ'>LF((=7lEU7 }畯| 'MlVcD~T`s:B1gjPPðtSlXWq1y(9&N8)!GJ;_ 3[Y?"! Gq#8MhO7(}w_I?IPBr-BYvQG+FO8Zw4?GD}?Vr%aI QCaV"9\,3c,zHhw=A> *22 !. uGGT:9}(T)E0;?70x3ԧ+ހAxo7L:VͷtHA?֮& A!#\sq|eӅ_Τ= 06N[\ ϟۖ7)O8-K[G HWZDrA≠~i~4\sU8 ,3VH\#PEYZG_ $=g ȽPW-x"DKIIgE&"c,@)ug<VCΈM&>Q=R xg}Q&˩ +n=U كR9EidCFoھv` h,%pM$7AhE@rcezgi"3GU=1Ga=z058!|$Kt*LHHV Ho賌]Ii7Y9}cE;_"A,"Ʊ_UQc=+#Et{ufp> pHD=A@ꠡ9 QŲ'@G|[fYE6&T_~Md$ f,uqFpk'hm\VG+di)Oul#>t`CٯR w{w_ѺIo/;Y{;yD HD HD HD ؄u;6S/{O6fe"{{8/Ǟs۲ߎ ~mOɝ:PxYw[dѼqC\Q)sx7V3hpSMgGHԠƝfˤj.9ooaW$7'|]EvDEY=%a:5İ ʚN_bOn!Oax+;v~"~P/SJn=v7unC\[8_Lcd&~n CA oa`73/ @ @z]][]!.#K2q + ~T׹@&k?GIW|ښiԍV14'j65qgU tD$9ZC0lZF,Yæ 67ÖY748 @6uǜ)\kO$>kI Ķz]A]G}]Dto#DcpM&P!fäOK +/yp E/.~m!}>㬮 =(QG?xZAí&>K҃I,[E;rXhc9fʾ}{mOnY_*z( nD24~AAwHCQf:.d]zwnU{G>yX \T^\8z][k,J(gKOQoPU#ڣq34No5&{:J [ZȋxHI%WV+r]%D*Rwlv$VkHXMUm`%&zj<q-A#2|7͏d;"B7YtorE}=6DD쐌t#"-|P}aR?Ԧ9AWD=<["X#+b>_VUCSxk=ެTz8;Z[mX]kQD{&נ$l3o :Ӌ #l$XߕcaȦUm`!ٱE・yZ#-!6}yZOBAWpbNУ  L72 x>e v{ѿ[{Fo+;Zy;zD HD HD HD 8㏿g?_|A×mD o)w\8SUW]9-+uRo*4U9g.)s3Al9U]\"Ђ[$Q̩TZFTGBҋTm2˻׳BP+ҷ{N#!-VlDIA}AqpEy]݃@k8RBA\Lg왠L%J6$WA,e(MBB2JbQon+ީ&xVWXzGs|.뜊|%:zH^ҷc{#?6}߷7kfO%|Wd~1|L uSW}<6ҙ1 XCS V֐t5INdrmgtvӿ'bgCœm?9D#39?މΆV+p-MDc8@EO>~|Vb8#L:CHU#鴫ZƿŲx gcsKب&DS _um75N,IgsoICA,c@=gwA1 )=RlvۯgofzOg~w(W?Pƀnlr70 [xS[EEڷ$ߩ3~'@"$@"$@"$\mg?| ۖ@"i?S?9.=s۲r 78IJj>[PRu喆P߸rG?( BN"@ y [!uA,dIJ-~#Nw?#췠n^A2)z+GNږتk-Bv(/B1U45.>ԕwto&GA +uP]x3O؈!iɜ {JxcESD_4ضwA0Ve 76[-^ϑ) ڐq} gXnkc| 5go cI޴/ߗ6hkBĆ1WUOفItb}:lھw°m/Io;;v$wԧ@"$@"$@"$@"0~Ry^1|+_ۖ@"S~q.?(6-+;s(;n-òwr{h}s[֗ -&eB7} kx $1ܤ6gRSR^N5s!^#E̩.q:pE29䐤( & )[z9hqo0A(rO$ȣK 9(3mn]meⵋMG&Bh)!8Bi΁ݟ>М֣l% KDZKjf~7YP_.`?2A̱D #bRo&JacD#U ljCG  Y6z6&\5 \ ]-CCc~EZ'&MZ_KfE;{j l 2!_߈a^kJo#Z8`%CP8 !Pv.?حiye 1"_@LAޏFl;) ?M v0WDѫ5ד~DųeľqmH}sEVzcI/ñ^joh臥3K86az3g3K􏻛H`K ;x"$@"$@"$@"C5'+de"8'Wn򶷔WkO}]˧?~ݷEm@#y(?Ϊ&xUQ& aTD啌v=Y{ "9H$6)zҫӏgG~CDksGp HTr9buJo>r1De2LRk[%umO|F" Ad|b1h- a#i@| lEbkc%>&Jc.8g6!N)ƤnV fA W+MA 9ć5Eu_َxҞ4ZHK?>X_Sg hs 4kAבGctL8Gcafx.۸/jL Kaf=](@n%x7A t?aj4?=4`M6UBwŌ'*[Rm5/KD=Y^7c k.qMa7f+FԳ!s.+H5C_7QSY5.a a|*w>fmWۍ՟Ν<HD HD HD H '=/R*{0-+D ϽS1s;~snN-OVSrnٳ{y&w_زTpCCA}Y&Wfѳ&D*&a\ll#>Q!&L>I1I~Vn>iS=Nd"%a9XI([8gUgIwL] b _ Jێg"Mߏ#pD>M")CEp*=D>!sGك$qhP`$) ߣkU8L?GU%B@3&y"c"2(uTՒ5#) @5>o`cjY = W׸J|19>WIJ פa(*[h| UfĦ"s+™wAw}SM%xd&wcAI{(G2l2oiTnvG+3;yN <$>I/笉~ ,ȞX0]*eȀ}M.({GS{a$}%Cи}d-`\c0wY.v^enD»'?OD HD HD HxS^XN:QH%H1GS|s/yߥ_<JR{?a/O>Ɏjԧ֤GW.ߌx" n.hm7qYA ֵ2!FDkd9B6Egd]=ۻYH_=]EEmQ&G1R"06L.L&u82- l| C$0e%"Eq넄z>v;˕|Vs!2"r2;@zXN~a4bSycH:6jT3r%*jԧt5;!H!yv|ɤk}F7$bB? ۬_d#"wy;J4Bwa0z7 l.X5=)C6k(pP;|wm%3m&Ш5`yFglBYcA /xGu mAUEC:(CG_*5=_~=Wv}}CcHN}:$@"$@"$@"$x3UN{s65 ~ĦH ]\\my/x;cmv^_ w[8wﶬ/2J!$'%4nx&` 1's5-ꑉsUYM R&߃C1ͼTNp :b8qrVvWoE"cly xW}"PwBK'8ke|Ϩ3)BuԋP_CP)ǡXj4z=d:Z"+ ; hzŸq4#Ue TsDu?,tz?֒y'> 8c6#%L_zJ8{ڀϼӗuJxEV6A^[ǵ 9kH4нqS^LlYxCyOc&daZҏ\&𫃠K K+W>I5"Sf*N`V-&[#Q~mK~lZ!;tw*U ]+#U8tT;iCCy'%|D\J__Dl#@ s4lH*0xDeF`X֨O5ԛ [?K7\1x @ ]#6;X#K#|c#k>X A7eb?Xe.ZЫc̋ ( ajJpwIW ?~[WeQMQ)Pޙc$3=ND HD HD H k/>nS~i"H6#ym9߿W^YNl5TmI'8#|&/xJMsPW^~QH MHbݨlyN .Bn~&Et;z@cC1qZf.442lX"!M \zEc>RQ\whXkKJ gG6 O>c)*;6)t˨A&w"wo)SE&g͖.֤ e.`/I~_,cudb+&үA*mkItK|CcHN}:$@"$@"$@"$xK_^u#75}ZRo +oK)Ox{-z7ߒ+|;'m=6+"3??|SV@#:%.,|R5q,T^NlL;T5hX^bwj_׳I5ECdiQ6Np^D4qB")+RݑjOU,N\uAc'$hANW0$~G:;={)5O_]E X=jDv3@=h7޵D6ׅ~#5(+@BhcI_Zof20l$`jnXO|1GXLJox;aM *Ϋq!h'P.h5# ymM(G E}=66OL+3لVE Z5Új 0rIe@;sV f4x6ys zSkOP1?jRW ~\&1(a#wnޱ>S)!z|GyHN40BZXu6R m?6CF9ay9h݌{hd:k}<*2DG:A~SmȰ9LQXr]c!wfǶ}2}a{TJr@IDATSw,}#zV'H|JD HD HD HDo(nBE/T@"g=Yg?gsjG}"enw,#ز \s,K_Җ[?:U>$kӲƹꕈ'IfЕp#EDHƷ]"!!9E5Žn6gC<:R @1'A9WOf(х%Dpa'zMf"k? FjnB\fЍPa?DBO8OkE, CRF]x-&9G2{H{6G0HWRRG _¦ջ|],b՞c`<g^:>ԛ>|tJgI؏.;xө-{ZǸTu;C%U7vIa[Tt:p)A6%!6Uտ71-}zKJījLQ4n{I!ޱ$c>OD HD HD HyTy;7gE"lF?<)+rnͱG=Q>{D2z"/hѝ$6U"L#!RnDRmHރJAg:LL.ǹDC EO=>ENO z1F7X@r4q6l@HM BXș.r]7GXU e1C%|gho 1mQ$iigW_{.XS6Dl^R+^C)J>Ɨ1lЏc$9`݉ nZ@R{Q6R^M%*{C߲w ]O96t8ÀQD,644R"5\ۯw dDBa~LHG#%^xLa 5"q3k>t?"Yu3$=8&|LdS 24J~f1ynKX\.[aR[_v,.JuMHsYE6ܩ:?kv&ՠZ##/ I}N6O.Io7;W;wD HD HD HD c3^^WmϊD ،)O8W^A5?[BvwǕ#?|/N7msY8|隲 F~J_\7&Rw2a':]d;TiMtf?[P#iX{DTv2wԯCBfM5l: 6w&x/&gߞ }=EwEEt2:cۃT4e8#] 焳1wq"Kzq A>3:H|@G&!My-K%EъM O7/e4K=C8 }4F்DCbn0׍V }D+L3 lGޢxw|ϫr2 @Hw#5<3]Xza#cTbrҽkme-5ΪU1M)ҁәkA/Ÿ Ge~PWA+us5FֺmL1 0jv6W{nc`ۃvX*M"1*5yMG*h$?֟|ʮ{~v#s's>=OD HD HD H9w#g?zHTZx ]*M 3!%:1]^qƑT lX6 6)l|=eY2\1nÂzvsUS;gCa/6RG]>)C>ʁv.CPj"Oft"GdA@{lFzpӸKf~x7vjjIFZQ~lѩ>/]tfj9@N8"XiSE$@^- !^gk=wWf"[?4RjC<[Aໂ/d`$zKoska͊Y7H"'ƙn=ï!nT& w=ij)ᥔvӗs[~w[m*i-D;c~B:,} Uޒ^|w$w@"$@"$@"$@" +jyOow\˥tn͡N,y嫿mS C>XYF_/T#i!(qHU]P&Dq.:"T'2n$ҙHc}RLl'$=c\ IHtqM+&卣XN6IH{Gf&R&gG3FՉY 縠,ܯYH{.pRWL{P' !`ٲ V%=eȇ2b{ <~:u jIv\vҥq mH:3Sa~cDCVrA]D=7XpvzD)~6=CBYb[vkL.JGt:66[ 5n 9Ztl{[[2d `? mƇz6P4wJ(]zb&5Y/N80Уuq@&[4v^a3E+W ~mVg1.1ot%/0iΗx0T6v`0YÖ0_cU\a+k?g/w5x265gf\Q{0U+=-}ld(W|l6JT qVK{6HXgRr6nj;}_-@-UOcq}Q>1#mf|pHGGn֫wBD56eShca.Lv=7_e~R'们U=vW_B 0TZ":xfIDv!({~D+?RK ^ϴIȀmH[D7(Jn1D}k>Pn^SN[ʦdF);xE,í"]w(U>h-׾ԃ=]v%TYn$ 4=HD HD HD Hn\N7:?dIHY|FjzLt]?H)|&낉){ ,sGѡ E |.G⇰ڵgksa#ȵDV kB1qC55QFgVOm,f&ۅӓa((QѯX GYf^Qon.Oo$˜:HD HD HD H|/I?zjZxsD@nۗw~K!!F{\XKD̋_Z.]e"{::sErxD~C̻9\XiƧN?.="$;}`ZO{NE}/`ϊ8ESCySؠR ; $@_ ^06ɩ7 !'6U'U7QHz^BG#&p"[blvxХ;O+ٯ6h_"vz]]7<$b͘%?"V臝|]ͳ(}˭򊛀 5H:݊^]hW,ZpS&irTa_WWEg9G8ۜRqe IM7l|ڦ͗[^Z\~ET=F_ts#5 pH idVlq?uڏ# pݵv>9cP_quWlL`xcT`w 5 gLbKGg#Qm򝹔<m q993̋^lH)[ ߰1l|nZvw$ywoyOl.x]M/aFnЛG867&3 Fgu<1yܨVlO}[)VȤG_gID[MJ&u=ȄyJ-@ꄸjHů;UO /+וuj!`o(G e&ӏD HD HD HD 2ysʳYMY$XmL.,Y|K4mc=OtlU諗]\;8s6(C24'RM%8\׆UQobD.,@Q)'K9zQF*HwD18m$MӡGD=;GDNnl\9@DCa!1~E1qlkFc3 5J;X57ơm(qK;Bۈ4 8fB[8{9H7.Nr]NХLg² ]ƀGdA?+"x+5"!2*,(DB#`@kv*Av_`jKAbs|T_?[ϳq#K~k| <'$*Zol$y>6F,`XN]BL3meȽԬd^F"ajD2']ʊ<ٜH}QF Ey@ @ @ @ Xvaim?bGI]<@ _!}cBIRqV ߦg(mu?u):j6W^3u 3v3|x@ @ @ @ 0#y_Ni]ZwO@ xk_.808!'2Q0 wޔfubh$XTkBkG`!'ÈKT\t9ڑn仈?s9'wϩ Г 9ءsr5QgkˠZ=iHXh5QONIwUm=< i Vɑ-G $%3߼ki˽aBgl缬j)7[g$YєHEQe3ޱ-DCS䤷t3Xg1r*BQ~uKˠZ5ty`.1V~Y (fXPU)7}9̐օw]@/K]i1knX%]4̲y:vYq]@ @ @ uV[uer<ӥߺmyma a 0& H |"إ;C; 5^OX_#W5!;EKеJpEY^"8BLf6M6Twpͤpd5"0w?OtQ RiRA~BbtPW䀪vV kd"˚meB_e^ޥY pYӃF}l&Gnf"F,4m,˔κeeٖdA>ΖȺ9?"?nE!os]CLE&r;gƔzĽNf: `mv]ۡ]gۍ:M3r֞$}ݠΊIfIQ-S|h[e%GS6?jZv@CAP6nse"?X߰]"Wj9Q]jE cTk9M'ӆ;j>ݗ<>Tn?tr\7Q 1>u=q-"s[ՓTؗʫY k=C;6];?G?@ @ @ 8&o0ϴ}Z!/l[~[XB L-LoHO۝?Pg.ځ_O<N&c'-It4yxMHHHrl9ykXŽTa/"²eyHzPK>C0bXWͬ$;Ne*q"t  1 .iC?7?{pI+a4CTBVصM+@:I BՏCD:D=pSU;GI2ɾyf>S|upR{NYV_i׀:!@څgp)jX-4I<3-CkG&GNKOy~^;\S\qIS&؋V̟܎ҠohzSYe}+|(ޓ,xRr; yaၔbklmE[{ |փȣ}@ @ @ ar)i ZߧiL@ 0:o\V!0|\2=qǍĻ&VMUЇ'6~Bϙ3G\z.j^$ =@WA9! C8F\jɶmfbwTf 7մ?6R$f飬Ϗn/Dl`5+3i:;e c>z:G{YìG XS"R<1b{:@ @ @  p)߲^K-ݚ>}ȧ[!U~m'ڶe! # JkkUv%Y,4N[h| t|lC,7IA{uR1-w Nwebw;:Z飫:rU$h@e}%x}IĻ8Z8 h=ىn6yO~]FlT˺Z^QP9:iF“ a0P Y9m\&f(cBgjv[,etR>yb6n.> 1F5Ɔq/|.:"+?[۸a_qINlgT~\s*DO+KH)<37s]=ѮrzG즇/%eN]==٪G#~5-T}U.ef!cgɄ$2u碻I4dNXMvcgW ձ>jF tLե3L;uM2DkGՏOBl0N/YQ\NY6(窃 dJl̠@}<8p+ܴ#g"=IaLs"TR]eoZ5>) 0mI$^}V'Y}fluԵֆ.V%_L$K)Pm?1=z@ @ @ m87jK/oU:[!jsѶ G~- a L-LnN{Ι5iێ(ڱ>j>7ࠃi_WjCҘovC[4P 0[oWMI5| EʋhKgΗR\5*lPZ|Aa:b+ǤRbކ {Q;^c_T֜-h`ZT]eFNCWbu\/(FvVx/l ; ,/!%o[cMQ"HEL^cR؁R<1b{:@ @ @  pE׽-%?"A G`L_?뜶}_ж,@ 0w H n8A'}3ě]"\.2;zqVDwE[QߺzVeߧ]gvd<78YL{Mb ,RάOk؂/ݔ/P"EW B\@4k[<. 3EcSFĵDt,I -!s/4|K!ZIC#۵_ )4TW5QSl܄ѐLw@V}#E||D>.ȗAI}Pj_qݟeMm~2'J:2w r,4qNqs./2l)mk/RӸ +M!PB„UwEb.llꝝ >T0OͶ5E;Sgs_w~o*oD=3-$wߵ}߬ИjM6*@IDAT.!,I5 O 3*q_TQ;@ @ @ 8W^zEz_b{]; Xfe2|U]{tGM<)X:jkM7mBsGŠ儭,wԴ~ͽ*}[6(Tտ/\FCMA7sCAC[o-"RP"߷Ia;fHvaF(b#u`굻{~[;dao ths{UO&ͦ:!7#!eRL⺡旔{ӓoO; Cu샱"9e cl(aO9]`}~6_dAkLhBh] 5%mKذkIM_4-@ @ @ q@+^WX+I"Q՝x뮗^kWjT7?)|馛oJKQD"Ii3"iSOO|Iz7H~Զm}-Ҷ,@ 0w2Yp [{p \>] 2["mǺH{ dDa](D0IJYH`a.Ҏ |vC dgy%֏"5BFG#n}#݃LBC6 P"}EJMPM 2E ~G* jW?e )V]0aᑠo̻O?m.1" eN{PiN)Ð.- : kq+}j9k3_!=~12v\, 's$lT[mFIt69ynrS4>m69^Sk5}ɸ9ߑN:Ķt]w- a #餲0 B潿 g';;;'uw0fqGznֳiH!q[ߝzsBω8 ig2!8ԟ~:ۚ/HAՀ7BrU $hF!QnapQ}S_uawV ڝs41ʋkӱGƞ{ྶe! # ՅI?vmF&_DV %͚m!!sڥ74t OdtxynF":! wnW3g/"!a i~E&s7"l? y?]UӇ'>-`vkOp一~x@0]Ӣ>'H{U4eoYHon-n'ɑ 6K KJFމ81we¬]cK./)9lvG?\޸wUơsxڎy"+? bף/}6[%}E㞂w'lAOء@ @ @ H_t񥗤3>EtJe[G+l%k:gO>K-,_|0كӣEmlUZ}5D/3O6/7{_gGb-ӣ==C>&q_yF~N$g]d10"BʥÙ5-n @`T>bFʌv7ʆT b_~`cUR ݳ{@Ψo-zx~SFmOSs@~R<2AݩlTouy@E*z!/ge{ϲ|Gwd][ 9DX{~e 3X/ n>E 2[l|@ apUw@> :&'ڶ\•Ag⾨":rw @ @ @ ,p.Vh/LgoY?}u}tGN:cSOOk<$_:6̧fztg{Yrv~9E >5Y>}K=Py]EtKry9՝=Y<~s#o_Ï )nmն]mBsG2\;5 BlߩS7 ?ܑf'_\.gro_{Y kRSEER$]Aֱ?_ U A*SAD-ltly"eٝN-#O,ilntѐU.2a/]LmAT"$!t_Kِɬc#iyk׏%뿈P)y/T$) L"5'O6M`;6".RG aÍ Q$?80&x1)u۝q$廕&w{.5!/}갻Z3 -H&`L,?.< r| VJ~q_OVv`?gL*eJ#>8pS϶e?ӷ')|9$k"!?BźL*E.WĂWk}C>hDZQ?@ @ @ ~iWlw~ׇYktI_ayyqqټTnGo1 ͧz*=?kV={vzWZjT3vVY>o;RT0-QvrWUi]>ޣ#"K??qяdssg}YmMyQgݟ}Y+<7,oԛ1rmli>>ٶ,@ 0w2A &wP"}}IgVÏB/_!-فOp4BrЉ:h=sn{f>)+Rd"&_5]T3oy*)-ABr]t]hXFus!%9{믑Nxv+b>MrIZo^B%o?&uxuǮ_CʙtH9RTFd.mrQ(Иw"C{yZ=c>qˉ6<24Am rG`96.)Z m(7NƹR,v32r Ul rȻ. E$ S]aq |-@qPwJ$|F~s_(ADE  @ @ @ @`!p7/N+ -9 W~c_{s^ s']{ h5 ?u}69v?I7zsO+o)q evL뮽N5;K;4_ogL /*r˽:nvBE;7:r-;n 17./~U*tɧ߲^Y<|׍]dŝ?K')Ͷ\ IbSYhS-(ld𹂳F*\yjDyD_Ɵcr&c:C:޲C|U yseߪofFRVȏbHqQ{s ۱FO^YbiJN^OOˑ*uW>a}Aa)j-q/*ÏktUR9$ nɞi__v54Ts"P}>zL^WM=ܸ1fX  "ve,j_lnz–;zD[^FILcǚyXޚٱѦ_j~VHdV5ƨ䇍- (|,'F]A/~'wuҖ3 ­b0䑼n\zq$~s1TA^8nXs!ƭkRrj[&*11Ȑ cid{w[\Y_Cj *' 16l^"1VW-'290"ly CY/~aI\/E @ybu @ @ @ A~3UZJKt翐~-:e=!]}ߗ 7|ۆincsz/%NB7-@|]Xc윦MC"A:M  ȎjrNoqȾb_Kd8o@yA`݉`>gGr ea##%|;eL2}+&&l!w3m RҠ6*pTv1QTכd9=ߗNƘӯLcH-)Ƨ&*Kem_{˴f欌JCyLz{C-?kt;wli|df~9$7dcG E|@ @ @ @ XpwyiUbG#G:9 -YWJ_02BAuߺYrӟl$H¶+\ryYdyq±\R6V_3F H=ayg|caw-t-rt9g /p>s}!>!j$.j'Fw P?cRxlX^"n{1@ @ @ {iV/,~"h:#嫿y?7,J+1c J+ i"`<3>>ϘͯzSOo_>`ŗK/t[]"0>{Or'OIn/c0j#*8>cU;~E@ bI?~ۯӓw],7y%Δw]~RY}1*!>؎bAL[?u0;q\q`m]kyo9g'{mВdAzӅC$XQ=whWa6ϒ|d_3 'y  cHŮrꗅjYꎇl0n<hbP|_!}LZL>9ܞ!;ϊv@y%64)Cb{ B4Jwy_t,0eﲪy. |+7}9@\GX8/ xi My/D#&Bojژy(뚲inܾe<RVq$IKrԥ/]S%D7ig&Dwbb>@ @ @ J|팯\$w.-:G|2|qxӍmyYȗ_9+i÷nP7=X"$|oldrh&Ǵ]'R|A>uP;5oHO?mY~UWY5?;l"5v"FU y]C=ؐ{|[MoM$/>W 9Byܝ7nv|ó=޻{%w=[3?wү~}CzKɶ]p۶l^;m?Rl?򱏴CcC  DCVvF݉gn;uEwu 9u_E~B~>G EE$v0P4f gW6:fj VOޗ~}Zwl/C|_"y%7_NހnэhYG]n$vc 0Fj_i0Y 3y6mڜ 7l-9b>;׽BH,`Au}=j-">Re>Ygn 2td/캘|$*k|(#kCQX[DD{ @ @ @  Cj>/_d .Vڹ_)yvۗmYYf,\׽ntمKE(?sm[Zv՗s@kGvH1J=-0;ȯq'rj]F1_?׿Mz +~f/|tIxbn9L0ִ;ߕf=a?ȟ/0z?O8DE6m^ZjE|^G~ ilRO{g<@ 060 '~7yͿAM4G9~ A+9Q/PNv&.kFCVҜ.(6>r@+bWC2 |1Zjm2(Q}+-`w?[Uj4eD9@G'R )Tv6}Q߫?(Z෫ڴͶeɏ=PL|[Ӏܖ xQDUx?X̓ k6a{0]J0k;;@c o'cD9/5v.G:,`$R<Ls{d A3XG|L\p] psHK;?4ľrAT|=RPJsr1,R!MA~@!b@O"9Y4 Ue.MI&em.cCI6"cǞ Rӑ*[lko! AT@ @ @ @@SNOey{N}a;/7%r`d G800[{K0Omhvϙ3'mFVw,_<&m[Tz_CcC b ΛSE <<27& 2ꭠD9aCsF^akvI>40;u!y)?5+Xdٔj Y"t8"k]EH5V\_~5(0ZOp_#n/Fb9heHXw#NP;3ŵ BoѤ#-;]X9MΞr$0{f T $[ƹwm@6P$񯋙f2@C~s>4v 'ՖE[?o soGXD04Sc4 6ݓ+ˆ HxhؒnPJ)(<F࣯ڤge ` Ntt@p*B>ŒPx/}~k.|{+}DNذ| ZPh}f%k`d}:Eߔg4t=zL8lɡԭ<>n$57J631A7~w@ @ @ @ 0SN>u#TgI޶ecxiE;nOt@<@ 068gc/,kNo#c>6%teW.ҝY ~?5T҃7j2%Ts8#`E]Dސ>eK N|v\SWuUʎL{B࠿_Z@g:Jw[tUرp"b!0!!5#'H]#(%gm1rR +rNfmx6_Iyyawy^x!h{p"IDyq$/]ء  /;٭M]*4X)@uīg=D2D#a!!Nm1$'7Z%ruoug#6b\}-j&o 3V:ג fͮ'bdHKήhX WN=ӣ]1I0(lJEe<5+i5*27–~WgKӇf88FƊ5iOeŅ ejcovD.j,9( G|W10(&ɤIe\{$L6;{|.jW2J*ݠ=^wk8 _Sb,؅_1zNJ/B_`@ /k2(=QEW=PF##Y{2ߑe]g3_ߔ1BFH3y7`cQF Ey@ @ @ @ XGmE? )x#;~Emn[Vy*imKmQWEYoL?=٦#glۍG>mXokuX:t%$K=hKټ {iem5-tJpۺh^P~guZEZOt/ĶlMY.[72̥_Q_ )o4Rڴ$Űd[Eȉ9J=w!\tv j " [GN6<k;zV6"ЎE"/`>/WNjE%I-"?Hҧ};{wf1Pĸ籯 @`(7۪~yO^m4yxFx}<@ @ @ F ߇>v.MA9sfz϶[_Hٱ^Oya_έ3>~?OҭPaҡx.gF;>?IZlʪ?/+ER~pK/#->i=jʗΛ*ZAy^RI0ui,Igx}i/1'M߱I?누rDB(eml/̅@`BA|:5~/I_ݷ{Hz(3g{F҉D,~ԝdd (!k]k5Bȃօ #/!rc\6 {f2H]Ƈ.b[}LCAFꘊ겗Cͻ9Zs!T6(!y٩ 8L`Ȍ}C)E)Cn$2JyZf5CHU9C} 9vU`Dj:dϒʪ EJjj7oxPK:TM>+JgW ]#>`&`ZS[qG-ȾG/s˜0ˢ";h3Hq :m"1x=mbstqviah:}֜1Ѡ=GoRU XNQ~w]w@x6:j0`Nִ窆W,bl Ucs(I#^EKzf2OZ>E @tdO,׎(}t-(cjoI(/{ ͰUF 2@ @ @  >pSO=9W~į޶a[wkT/jVDt06n 1w-7N:>=}tig /H|㜖/NE/RGO3N86]ږͫpWH.vi}J?p_ٖ2Z#-7MO6-*xl .NK,DCO*9bQ@ 3Z;yw&ޭ |, D_3zF@CI6W<2:i"gW/:xPpPB[fUk^r"BH®n|C7rz_<>pB5Rb_!2!FY8F4cNvgHD=$ᓗaGLGi: ̶P3d' isSHoqGey<&ZՊ H~«K`Ont  AN{e߯W /#I>t`,]P`Cn, [GiޱՠP-Bʆ&56!oXo?B,R|eu |ᇃp~D `gWM1o$Ʀw-]sF˷jw!~?.ϻAAv?w}d[1n=w}`t_E)[?NdAOя@ @ @ 0i8L6_9aH|=O<%=s7};%$C cfUtg+]Ս7æRty7rdb!@IDAT:oIg~|dP۲^oW\'y;+.:vE Ï<<7GdP]D@m^0m,g}k%~Nq1gy;Ր0K Tw!R8#B#DvIetT+(AuC.%ħEΒ 2 S hp7; OlqX(MFP"Y)_ܹ@@ٜ,+y"l;:2T׭Fj*,|1 >5f_r#HMچliG+:>FC`m~;2^n_rufiڲq(4`m1lɰjĊi: /rvd4y"<:6~=kd;-`݆+rad9ȩRj`|7靦 0QƁy`#Vu1j"6)7uͤ:X1, ;[B_KF&+Z}3}NU㒓a[<<);Br 5eT!x̟F ԩ %_6(iB/[kp|oA/zy@ @ @ @ 0 >y@#;|{H|=co飻}tvnm6q{Zk5.0??wK3zfz:ȿ}3Ok`A-1퇝Oۢ5oGHP\~w)2&c]]W?}9=Z]w$7Z['[g{mټ _s=7c~ ' !^!Ý?儙"`Hi" H-6xlY _hd;=IԢgI!( +0v==ne"3(v@vt]9$u# Mں$@Tc鸇FJĦksɧMiٽz@VvGO _j,J_dt8їF^^&Pb.itq'_InOh,>J>2EPby0ӌqVW~ @jmy{ KJ*d>޶\jYLX_(;0PD82%g7y&cOW]N>ˣ y6çE{޹ɦ-;}v@{Ey :?b_WGwhh+~eW[nTW8tZ>ւ踈؈viA,Lh-L^#3I9v:֡Ff—8݅SA2lڴs \jFB0c:\H?E;r9,ήn>߻CjE@9&eňM5{R2IzTq1K7M7Yw1C> }KUqt{s,Q,(R z<vB̓+ X=}X}:"AnNm{RBVk (6#;- -|4"_u$3|@ .$h"ȅe{;бiۡ@U #OGa~pՆ")Pncر,~DF*+3BުOX~{ȳP1B>훖><ZHb Y4|6m!Y&~yu'c>41S] |{pPg\~1G|ّ|_e/kk/-w#G+6]p7$'|9m_<~/oh,lq_:~ma a Ȥ$g_dXEAh2Fd]n#;Qee\!ѦJ#YԪA]ڔVmKr 4G `ON:I:4ikߺC]{V5Ĺ-Zͼi磿"[Y:Dhk\- [l"OT*aSlf⼹4 ~dCw*m6 }Ǎ, g\Oj$r |>F*Tp;z vs<m@\s;Fc\ 腒Ud-Pӓs`P>Q(3"tug=. AoyfУm{"/+]ٶJ+Cކ,sϩLq;',*[J>grPI]~heׂ P *! @ @ @  Mݷmg͞zV 8_Dg]vQ\1'\pɧuhX?IWf>=sѪYgvf[ @`# DBAtwߩS?Jam\ĥ6BxL~QT$]a>sҞ.%r2xb OHENBwpHAS$'Cw=X2$*E4I#U;y#H邒o7`:4zYzӄgq;Y̢죌~Wn./5@ A*o  <:@]ڄUg?; /yPZM1ﲧ hwj,Saƫ ѱN:l; mns#Ѯd =W*55ˌPu/\ Z3"bܱk'<"IDCJrі.~cHV֕W!_h^@N LI/?F-i٩jd}w< jc+pj8nL! گ!kjj1?  `<>^fkL[? aN34젒w`KqZjݍ4)qx6x @ @ @ D`>#o UuΩnP"cQDEQF&b57jD4AM(28 7qVF':Ω}Tnyk?{zڻǍTQyc/Tݩ;55.r g3Ccmon_ |3 z_yÇM {/rp^z,CcS%>lDK"CByc(GGM3^a%&cG[vdK[9W ʦM3v(9dz(PӞ~gk֑q 5xt*D Z-y"krb Zg,N?iF6"U/{`s%/M |x'W~ ?|3n*ך6f=t?^Ei)G=Iql0a=Rޡ 1* ns>ggH>!V_mWm{# |KG) 5xvx"$@"$@"$@"D`{d/r}9瞳ReUڻ"r7u__-~#Acogo돣ԁv3quMï>ho=Z\W|SXV??irѧ?5Tgۨo^{{^wr֙^sy1 l߮*_H)!PIJ_}kE [:-(Cn4HTzQ+vΗG BI3bp{"}tʁ VٗmM]I=1AjPΥT Az>uG1*i}W66ᮽ1hm:e78";ux"$@"$@"$@"<ħ??i7ۓȶWǝ .?_rWjNg~f9#Fʝ3G[ܑȠ>lݺePo>쏴q |K_U -[s茴s;X<  _‘mG=Mo'?B?t|0Ra}˻?Lv;]i+k?|.ǘt EhjM•5,d#ZX:6i@ BApl?}#ʏ)ܞG?J > UAvW퇢!m;EI[MA}{1;$(q!x;f8a)_MNu@aGob E3W)c-$/_A:u9B;JkmM7SMECO|@-&صiCvvD iۂ";7wD`+Z܌w_E&i@$*3`8V;+ jKuBV65\ǴQG'[F+48\ /EEwĄHf^קݞlUt=㡻oΧ'A5?VZs YNdtϧ{9)̿d<~FsJ7 I} +^aG8O@KkAh ^'` {Ɯ1w`> C%zl`» J>|>cӵK #G $MG$":sw"$@"$@"$@"o)ncJ>v<tp _SdjW^Y^}ﻫ_&s֙geup?g|eϙ >-MtҎ}7[8`&λrgoa2cC_=(o9c(g?y'LvYaw|_^U~fzk<_)g/+/㗎l^]zdu]W_vK+q~XV}ѧj?Fo2$Д*pj"]MFD3}1c6n= >Tuibcl`(? }7$-{\~V6, ˓Zll99 Ob!`^c TێOИiT\a`r]}MN8R8XW2Cdu@] .Qglׄo,uy/ 1.fd9WCwj($=55f6&%xǐqȂ.v5-CE/+0w `6`י-/OWPG'5;T[l2v֤;A13=2g/w@;'D HD HD HD`}!n㖁gr!>o>H8W>s٥ЯƩ_vEϿ?N|Uӝ*GCˣhÎ|lQpO|||\co&-w[!x;fy]sdza'/d_-?3\qw(?o(=1ܴ,7|ng>:F]cѧDTAQ8GJ$?Lv;ڝOv|& `}g/HyHCrQb7RQ" G $5M2<[F!CQ$L2,2 ,x5kID| BuL!opTH꿏= `~1*+ne#jS+'upU55۪^ڧHr' !վțx'4/*Oy/[cőٍZdCDcQ$fƀ.D"{e~ȋ'}roPoIsc䐜 ? . -60ў3ޗ|'I٢6zGTg+O';l {kOz6n-EtƨjҸHK=r8GQmS4pG tCܽawqW!HQk,O|fɦj5OI9붃$D HD HD HD`ɩr'/?,O<7\=ܤ-woذasߖ?~?JuQ3խ,|(sssv;ܱ=cWZY)%/|J5)/ߞ4gm*or͵׌j*DJW]}ug?CGז?w4wo3vl`q>1eEJfJ+LɣI$!֐ VmIQ" ?JQo>Ԑ!u8˰gԨ)o*VTU(Kf;ݕ6j@lb_8gܻ.u7YSaLƢ%˂`g d0sD\+ % 9f,7Thq5|xR$@{Q{3ޥk6&4r&Tw) )Gfà0/A(4Q~6"-OM&Ɨ/ºǘ>} "}@GγD0kQHD䀚><˜Ge#n܂9ޝ'RDcllDZGTqyBTxZa1܌d4nZuu6pJu<py׹@[q敧 ^ta0B?Bg^yZm<S ȶ)Zk7+W$w볏$D HD HD HD`Dz=gwgV9I'Fʬ4~Cv;jT7 塿kjDOd𷲙4}INXokWK>}TAI]-{DHVWȨtVyWH,T?=D#jj-6>> !ե EW*4#0FsaVS< ɍ7@#짆pR=10P%rJtC cX'M*1/؎n njc{ :6txxoz*:~:4oYD#X< 脣B$|vA=Qrkѓ6= {lنW~ 5J8<8Mm6)c|E+ FxO}<HD HD HD HSN.iӦ!g7ŗ\zUHr<tAmEV_{|H/~?/8yd-|CV^vc}vcBcrW++D`TtwFo[{wߴ J^~s|EqݹM9ǜw8ac(sDX1@̑A “ҰBiWxh>Mn=|uu#~װ7VDd^D<M\#mOc 8HzAgV>xĨ YQ"`IKM\a`vZ&8R1: SOd|YjwmVX| ١젍%hj#@։P"]Onql bc縼 7P^(-])ىyFd*9+' 6uJDG~~b >־6?i0Cu.xt?8AN2Ic~N$W}{޹7U)vaON}E9CV%kr)]O+՟2}eۿۿ?xUG>5} Q1RbǕ;y|@# o~c>:L"r*i; ߺ~:Rp)6ޣ|qx7>noAg<&K]0By'Dvb ѫ~I&{ -j;o[vuX?KwycpM"'ZM_e yǒM,Ccfi\s"kH?ڈgD}R7!4X1&Tcѝ@&hZ_C2#/'IpO3 *exAӨ}4E |q{[XONcz1&ԛebKɆd~G0Ks- mtj a22u /,c2aG}2zbBK|% Y!lX'8P 1":sw"$@"$@"$@"ܦpşHr+N-UECV~SqOH}X9!-izo޼3-[ʃ+_i/mˣqlyC.ٻ'?)}2_+H OLL-|3Z[r~\l8T8Z\|qǖٹe-;/>#tNٰa6Oxү6Y$C Hj \ RS`G 8Y5Idp>IcӀ~#Q=$m7M}K.t^Uף\p|[@i.KDQjѶ IL--_bDI[c``XASXwج񇯰cyERa?#:B#"/g!9Ehumk9ݚh NpVBzsl.7ּd<鱖hTh|Rn62ou|W]F~!S$|Uɣ"(x$ԒM?a=&ʧrwB[c;(zƮq'@xʾIsHϝ<HD HD HD Hnc> P>l_X^VN8tyH4|͛oFnWUqOyj{GAdWrGa쏪t1;(6sJyQ[V淾׿۔tbyu܏{e|/ +oU]Mo(pCQ׿V.eJ%6Rk_Gem;<G3|HrelD 9xݝIxD>mīCsKIu"^K: o'9ۀq'.BQ_#m>ߵUdAtqD-MHBoIdz1I#|]Aw'oZeK/81Dcrɦ{˱1 쮏qĘ覶 t [KOj45m>f/ ["/ucXv~c @IB$mU=yTHB;xIa9g >` ѥ[ TךEeww+~)jHh8xZ%=¤!ٮУbo7UlVSZtqڂtԇO_"e$C͚`Sw$,n(ٜ^A=Q|Mv@Q•M =6",MG$@"$@"$@"$+BlED=H#?Pf]~G ZsuyZ' .w)wʝu<(儀9EW߿r[MMM{}ᐃ.\Ki}MO8Rh9>=ѝcy\8eᶾ?TpZC`7O{JkF(>6R3Vr" E]ˏ>iڈ"jRNG>'eL^|D{"O9.{R5Iʛ&0#+R{%_[:v1zWoUBL ∈Ӹ#sQds =Fmx$qNCV|IcG# tD !/qQR%PFH`@__*-{o[JQ!RvXQ[^pP?O)?h'ZFzp>| mfMO]F^=p ?j G dMG ꁯ9rnC2C\g]tEF"[b'}y{ YfE뼶aGk|z_X}-ɺ؈u*̼N$Ccm:d,gxaS.9 k,AP2j`u,AGT4fͰAƇWf) eTl"!!݆oZ5K ѧ_NWd~7Ƹ/ HiÆ:3#'pֻ=5uʏ9v38s);&K><%_SOD HD HD HD XzC;欑_V.#VS9?ܟSq97?ըL"lzj۝_-n y.ruAGpApQMjy$}z]qr&Դh]MDDo[-DO [$:pX Jk44CtJQ NcR&zXT9Ռ,m-Ʀ۞0xReY!cqvR5arn=L;5Zo A&H2P")2.,i4cTЛ7/һ&|JSa׵ѣV <%3Ӷcd5D7 x>kTCAcg6=Hry-➓L+W~L|-͍޺k[0XìA9qwLjT =}HՄ7)sD WY`ɯ9BS3Z\!yI9&Ħd٬.//11^!y[0^{C,g2$O^$@"$@"$@"$@"Z&s/׿s9#nInwr;Rr ՔM,! sI'r۾O[_$du=[PCkGǃ1nbĤ?M-:}"}ĶF"wg6A ! 3Oqt>ǔ?:{HH)|cpnDSSS#u|Ԅ'"M267v"T}H6W;/*7:،S >7Jߕ?* Թ•6+}G/9tDv/;Əeyi牄.{,4x22ykDz@4-ѡQup#$1Mbaʇ@/ƴfIknbN_r" 5e?a$gq>q|ޤH|#_ ;~Ć7r^+~4N@l9/3DG1a,м|R~GlHed_gK-Nrͅ?S+Ƨ~)6f mRA7>uMGC_r->WwSvG$@"$@"$@"$@"xY)׽O_TN{+ϊD ؽTsw?\ 2+mLlڊ%q<a0$]lJbQ̜0%RK+^Ͼ"'"9aIDAT/"y_"a)فhIfTl⇣|ٖ9ȇ#qvl:v&^}Ou-b_guܿ}姦qκ>O!6E>Bn0>3&HIHI)W"%1z2ɺāJ5'v8'M ϮHAEhL]ot'5&O%QPjtp!λf.Ф}Asޞ`VipڰSn\$1-v1eYe _u1ֺ[ӁLYe;wvL4UQ֔g|vr=5j. &%myH]gMQ@~ t8I"lVkዤZSk,a@oQ7$5*Ұ?J2υ^le?+RGssԉ@"$@"$@"$@"$@y'.@t+qOI<:c :wcL@$>"ᕒөR7e>&Hi N XIܨ'y@k~2RqR%d}%T cp/!Љs^~)1mA=QH͓u^ YԍWd 9h[lq6f̃ 䝤Zy̩׷I7ϯ P>laT{whL7[L5Ou!*'"`Biz_tâq_cױ$D HD HD HD H?}}oG%/*$۝u^P&*"%Bnk&!4|\PvPG~om#{evV"繳[SCx-bQ:$҇@o~a{cAQoD{D$bCnL=6!}t9~|6%,L+dž3w^3ŸRd{oEs  "o:#5z4GI0Ct!g,y+ ga.{,']2T5"J>}@6 mm_6_,K(,tWz)kJ׼!aUAu]6Uú ,4'PA G71C: E0+9Hm[UNA7~ҴPLwg<עSxsJ)Q"Hҳ.P畄Y&aF[֬\ADm9hӪZtNЧ7D߷1$l= <9D HD HD HD HD`rɨK?{PmfDJfV__zHxkuM W#,AW-p=7y=!%nR^D {SDCJCt$`9Y"u=E:h(!O%r5D>&xt.M*?ftLg~IEO*[t6(ּN+ TwWtk*F.0A+u܌sB᷏IoD6Ħ &L: ]$zoffkhd7ee |WTl+l MJd )J[ o4RKcb?e]'d\B86kxS=܀ozŸb!:7=vH)|w#Ã*u"=;CZrakO͠]_K HD HD HD HD HD 8#N_ Ev43Z7k` Iate#!EyANC5u$o"AFD+ݲT l6_|2ڶ/KP2٠/!ʻAUG_?95]fLv̟PoN)D;W}ECEO >48kBĩ'i̴hqm^ ^I@}t`;DJ8aLmݯ5k@ӗp{G#L Rw[حɏOXFϐ5~֝ C4>@]gMc+A<)$M, H+0lg6l~JJU߱zϒOC WmԼ2M5/dУrব$M-ǃ)S"kZ#~'~>G$@"$@"$@"$@"$@"!Fڝ>}^3,M$D\g7t')DyK+~KHa`3q&ya%+ݎlg~~>g:j^Nb&>w}EQ 1ݓ혘 7iOVR <zZ7ú9]Eγ`A"}4Nz(MmM4W;D~߯lP&EwΕӉY:"ͤ>fWer\+/!wz69)'s &rl捹.1|>G Կi/y&|P-"ɭK=}I&v5/n&e߰3>!BW*&@OX{zUfVXABCY"p[kX q:Gv"y%釅_pgB;Z\C>.]\&)zCdL|#-*LȇY6p8y>%=Ɇ 26u%8קF {cV"<1n~;qB-J FV㴻g6%B7LxpgW$w볏$D HD HD HD HD H0LI_w冋/)Z .HVdq"!!pIASPu2]!!ZÔ##!#j2>Zy?R~&Ur:7\j8t4DwD͌o _5>cJzzu2ym50]M,iiwJ_pdڃHt=HD HD HD HD HD` A} gʼn|HSe%Dt;E" |`niIcKd#v [ehrmG}-r:J]]@*HL>iPA"LfNW㌣A}~_1zA*3|=vЛ8Y1ZzX4^,@4D+դzgpu&ҝՉ OƩ 2+m6E(}i5nFPS[0m]h-ճ>ߐ[SgT\[O^X:!NTBRZ ݶ>6/W>@u*36/6cdO\V[{;~LAe#W·&A:\;џ,%ߚ)Nop_˚ fz1S浮ù l"ui-blmU K_!3A>yց6>}YRȐc'tC(y5xvx"$@"$@"$@"$@"$@mU"s@)jN*/8]2>y~$ !#\ED >& y/RxMyHǥLى"7#籒g=EwVrr^z%o[m=+'Yp4=PѵaD.䴪e;:^'ϸ|sJ_XJrL'(ハ{33eZOX&J~Pfu=&c," 2i mk 46M090f @;"%peƾmeB^ĺtƆ%I"}7dl`a,"6LL2 v o_,Nuo6o|g>|GuI/EbVgT*6T=GuEא&&,!Q:;qaüO@uz >lP'3i崅p eH6n_Amng%6ped WY1y60WEMkx_ɰ%QnZ&R IL,y OfK%n/l Um+ub*_\M}7:wUA;`Ç@,d|{>w#1lE2xyIq sI!t|D HD HD HD HD H G%įH]own,r{PG\&R"hS"C#8QU>slm G],w'[jE<_z q`%fu4zKz>Bj-$ErLEgB16yA?Ssgh;)ߺ:f^uOm3ALI]T["DG 7mqoHWt: vu$SOw~g qM]g@jeG_׏ h/,6oۺ[Mϼ/v;pc&~oM;, K>eMLM {|3ϫ1u5&s {'"+nldwO>.K e©>)DOQH }KY4j3#*0Kjkcm$aUnma{Q"w>Ѳ4(K>;RuS8c>jG}"%+P^}$>=G$@"$@"$@"$@"$@"!PJ_pn+Z i`x$zvCO42d=HnU5q`jwe"X!a1/+!\t}<>\ۭ"!ɹĥwAPksVr~#5DCNO(ttw}2Q~ ܩ. Uw?59-Jџzl GD]M%GQODzKΏ0ޢK=dv3A"cIPAõFϛ4̉ǥAxNۗ ^R:A;[M)}a5 1vS!& ĝd_o^NM͔6mR>} 籯;S `6D{,]_ԓgפ&Ƈ5~&q̻asσ2Jحw/$c<Wa@ૼPW=okNP ?U!| e{.A9`KwnԷ ڽPf8p)&6R?U3@IDAT$e?w&T !ꝞNE TTzzꝘ=E0ńə%?˄٦wfv[KOwU[ߪY{߷k%B @ @h%K;pW|,5G1%mNa*%ӕğUzJWwwwu]tGyzJoᡡ2u ֺ{²$<Eյ+Uۘh{;PM%C?)GáZSLjuI٥̊WϬٍmbmV6Ѿܦ'\G\g[{l痟iIJ'A3ޫKZ]--]y-NrN^'jҷ~QU32g͚2x(æѮlkwOY2Lj%k6e{8q,hwOowv2oeV/^CўVq ,pц|u+T5ovmsr0suy5굯{0ژHއ=}}r` uڸ}<{ճVPK7 S7]>lmw0]0vI E[k=GK뇬3k;c]o{#KWnj&~CFh_o`si|cYF}ude>/wɥQ5+ml ˼M6/lH}; xz2ޫqU$!]5J:  @ @Xtןr٧fme`!UF}Fh8o޼wE>3`g>p]"ˠ3E OM,!fgٮ wul.65hfho˱q #ϰt( r=Ɵ "nKjht? jF΋sȄ2Ϸq5o$c\뮨&Wms2wEP kQżR-Υ~s46EY~Gmq;Ȓfځft`iƽ\y{Z4DFGiYG>̋Ujn(ʞ9q<<\Hj '7^uu`?h s3 Iy߷}o*C̊!yo?;$d##ڳܐrs/5捰vE̊0}:r?6u/)}5sGDFʽ޻wkht3<,:U;1uv <\zacc?GEqY^"gHw~+q[9 P^ Σ}G;\(8:KvG|@7Ŝ+y] Ȁ 3#(gam#ivz:@aH46/O}K,66oƧFIgw;V˘mboVCVvU_S@ߔN @ @f@3Hh!|eyGLIo=rygefK#8<7RdzuFGIN>brY#b")sTGYc]N3d aG޳]9;]#P̀83`@fvΚNπ:Ӟr=Ox%P hkƎ/8. F;cZfIy^soo X㽙v.7ϫv6  2P 73lStp=Ff{c sRIqa3{?!qoyqIq 8ڐN`g'Y1{9} A/X뽋պ5z$w72VؿzDq`Nn.50#Հ:s}~ٹ;Fs704(d@1?BUAuј,Z\z#ȭt{$tc g(+zfey5y9~ v(Fgmo9e9⺞sNi#\3/G 1g'yq[^<^ʑ㵝1;@v\7e9ڑ";r2r]b]>z1Bm\b^߫HAiP.~b1*c  @ @ @`5hT4۩٧[9-cek–Yd 3Po$`n\ni\S"㌂0s(qɹAn; ` 3F6B sGbcuF̸26}d p_}9zl#_9Jmц7*59SF3OyKHy9SF|gP "mq̺M6u^A ,kҭ6?"rs}5ȍʎ}Q $đ=C(p𢡊%Nـx͝37lbEh8`MAj0#g^D" ג>S(ͱE,6oP;_aqqt=4{V fE_i8䥌6EgO=^'H_!xF}ϙFͺ<:5sL!5ꭝ@wt:&qN]ev6=3o8Y1 |mX޸wzD UQQԛ?Ut^Y c9 ӹNqBqE*z.K叉~sFn(Kklަyn1z*,_ek}@ @ @@ SrYQ5,̬d0ޭm o4/ 2̠8¼Z!y0yfx`$@1CxвHg]1{?̥;\GP 2ZIa0SXE3C 3ggAv72 3 p4ϝsqtgs${N_:}״u8%=gAjne}ٞ\ɝ䱳@>=K !7iPFEY_.3<0roC1$S3<"rzCq39BuYG%-z-1A~˽,y^yz'77gGx}^k8f))d0+^5g2lFsYo{y693@^? Q/KZ뉙 b}=7Fr4R1Cs cy9CGqzjP'\ؿƑU8Q=%^TE\(˳y(,wUݺz56h|of[oX W1Z\-N @ @Vf08?(7k ڞL"k6SqlSؼf(a~KSt(󈵾f^shc#ď/5aq ~2N#Qm\hGK2y|2S湌yuD#ӶGYo_=Ǒ N9= 2ЭSGy*|f_+=B"Iκ(l3;0WX,ZxHyL?6u3dG}Ěycptp萒gGs_\JPLLş:H>@Ivc+~cq%h|ߋxѩȱEcgcFi>Nc̒ǘkIYw5ո5~k7 @ @ @` 7 z3)o:M}7/cDx}fyHf@HkE84ϣN#ly&zK ^Dٜz=F *uqV3Tݘ޼'&=Lr<ʣK✶= ,h0֐9QgǍ6{##3#ƣC@aԟYdRنc卩5L -,jheYj92z8ܳgRz8ږSgɞ瞯ZP=光n!Mh.?>9@8T9~=Fu!:/Z<18羽#U^4Y+>ctWtXs^kI}\gQ6 > ќ` y'1ss4яsͯ✺q]5εJԹ(g~6Hޫq?F,n[?>!"K[oSvYo˭͸5ո5~n @ @ 0tw_rϟ/f9Z 3dA`|uv?2X[=f m4MsZqpV#̀0[GGx0n֑YHp8C҆o;^ #Ƭ?v|C{$NGkpAH@-JӦ-jZkLlgc<\nhfQw-x[hxu{$7;z,y|z#j5<\국lTUƵ.}9S@7u_#y9B;ʳC@'Eq4ƺ_jG+yNɍN&߳Fg1'B#NXF89f0klmlnƱ4u>BǬS}{d=Yq|n7vyCv摢;;i=9!7su G%)QW#1fY]1s|ilE8zU>yI=2{&YU @ @ @j PCht& @`JS¼VDV^v'M @ @ubK, _z @ @LJ@?)& @`JS¼VDV^v'M @ @ubK, _z @ @LJ@?)& @`JS¼VDV^v'M @ @ubK, _z @ @LJ@?)& @`JS¼VDV^v'M @ @ubK, _z @ @LJ@?)& @`JS¼VDV^v'M @ @ubK, _z @ @LJ@?)& @`JS¼VDV^v'M @ @ubK, _z @ @LJ@?)& @`JS¼VDV^v'M @ @ubK, _z @ @LJ@?)& @`JS¼VDV^v'M @ @ubK, _z @ @LJ@?)& @`JS¼VDV^v'M @ @ubK, _z @ @LJ@?)& @`JS¼VDV^v'M @ @ubK,x+.='޻U_ks[5UV @ @ Q~~,5Gc/45Fp~]|;k/ _ @ @ @`F xF\! @`m8c~o)jw ௬  @ @ @4, cp3կ9$^#?hL#s# ٗ @ @L@(B_?EWa 8Gy~TFKٗ @ @LB?#^)j @@ ⓟkpA~̡t}ZVV@b'@ @ @ 0!6OpHn3ԧ~>>GH|9 '  @ @ @T ,)}8F?ꑏ,{<%GGYr}|ߧ}A5Z C8]|qW>{" ?vVB@X6%@ @ @)0>?_h k юM\ U]ϻW9>g?R]&) $ @ @ @Lѡ}3o &+ sgXȫepAk! o @ @T~4~Qyth_\' G޳Bh5٥9>˚}sb+  @ @x 0?ʲt;z'@I ,9>>+׏~}R~S WV @ @ @`)99~i?*ğƦ;4V?>^~ix?*ϲ"oJx_Yʊٞ @ @L6eThߛ47  f ,#֏f!8U- _'@ @ @PU[:~[X_g=*oٗ @ @LX[ky ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @ @ @ Ж-6; @ @ @ @ ;6 @#0gvohu&+?sOE*wݵx9{ZE @ @` @6 v>l Zeɒ%^z]97r; @ @d|u @ixN's [V /)?_WtIc• @ @Vg| twwګ򐇔~+E#=,mrT٣+~oԉ?- W;C)O)Ws)CCx|/+9[;Q: @ @X@?G`uX^o+ @`Xg޼oxEyQo}*?wبʆرr4I肫:V*z{X5k-ǝxb) g򶷼v6^{uh74m @ @--P p˻βf--_R- 0s̞]񶷕Ň ?:~c ==e旮ѫ'|*sVnnUMo*Ҫoc-vҲ-GU-4[n9- @ @VZJ`z{z1kvs~G6 @`2^t}E?8o@IDAT}u䥏)O=he}wNM7]m->`rS\[zwū~jۯE/Ӗkb$~@?||O.i5\Scfl4 @ @* w# L%;fEb׽ )6x_K?1ڲ\xE?jL块ui=r39YC>U2/E0z9g?+]4c> E Fsyt;}&@ @h xXL/guV9+__;;C9iO+{<ѥ{68)aco} .('}3m;wuw?u^{GƗ/)_tҲ|~{}F{cw_^}חޟL}n=Ot 'τ|s3:hBS}`!@ @ ̙3| Qӣ棏.:ZV9z<n~_2[A޼.[oՄw^}B%,ruc޾/T+pZGgЖ?3~s}u,hGc]`AyS/S>lcP6o/9 @ @`f g:"L8)X'(%S?nAO}jfmFi]yOەW^VJ.rȄ}.oG?~BL/SN<9e&N7/-ƥSr <찲{O8֩VoL( xgBSN;}mB @ @% YCkLnZ>M W]5mԀ%36ze 7\aㆇ)n~mm@+Xwu=7>|#)ߏ~aOQg_Q>_L9lᬫkt9+QlpuMI;V [, 9R63| lʜm  @ @kMΏJ W {]~|`BW`/O=ϝ;w_xE5W  @`r/|㷾x er3wދ/s'7ydyC'N.+~ëޣO*N @ 03bh 6=?&;~V볟|9?&: ȑ}9M~N׷vϋ{'[V L|–غlFe6(yswY\pG_)=7\dx=eu7Zn!Z6x9{N.O9`W5yyUU@O\pᅭVMkYZNg/.*e @ @3@@?.&)G>9 #}X-^|GF,[mr"_u~+lS66]:lӎe-6[nG2:\?t3DcG=ֳf} rk_ EGGuxcU։ [n:qW?hfs#n=:c\d񿵳CgͶ|Kz/|t KC3,Fp?]Ua*W C7ūܽ]/_RMiQlɄcY6l m[  @ @ff\ 0qwe;;/|N,o eY)Oʉ媫rgÿv}tu+*Ʒ?[.7+l_rӞVN|` G|g?+ YVWFl4r3Ǟr ct>{=e fU[?WgGʜPiV̞St[jrErEu1` ]X_jgzuY~e<ފ._Ws_Y<oyJ1g͙]هtwO#[ՓwM*[F焝w{HV웟;\Vze퐣~s헵-_c?k)7mU#s,Yʁ;x#ؗw34G/o.v,?ܱ 3я 7`B#,9{꺼굏/S ~ 7{,wan6lt3w꺟qn9gpV<Z6 /~a%Gwbٙ?4hֵv-zᡓ2hQz,9W(vݵ5V˪~Mcv젃w+/|G ^rtp8?kFr4oق<  @ @Ϭ5E7֣ .he`d9Wy){n,wq[mF-x@+G>qe:zu|U.祿Q; _5a5`Ow&lR>ώop-o{[UZItX\ƛn*o>V @ @LLX/I?!c8F}5)S<oOwOys+;?hb؞m/*g7wwQ !5|嫟(M[v+H|̒R83?Yiw-k s~/e'Nu/E+)wz.ewl]W  {j([2Ko^s9 2lG:9EN?-0oW 1|7;s,56ͅ*;iݳNTn -HކG >x[&ߵ򭘺_tUU?N O9ie#ʽ ΄g<呏||˶_cx~?Ex7k> #O(w93ӸU)O~rx̳*wu2bXQNrwL roϫϓ9,ss^ǯܨ 3nS_x[_e-0?)?lne Wgx?'~n#Wx~^iϝ8}菽g¬/+z24zOxbY7}tZe;>h2wΜMyX1=lHF,!d: @ @)O!Ciqwe.LZvs{ncy?̚5v]w-#,זa޿]nn?::?/;N_ǘe n[P>#Oǟ㲾M.[nsO9S//~aafwFO2484a]' ^#l5o|P ?ۑ+ӮGgs&/|\M(_؀Sޙi7Y1Ʒo&|k˞{=<[s&դ>7OjUf/x]|<|[u-DtZSH @ 07wD3F`+/yыZ]V]t-w{v篍˫#뱏]qu$SnoG`Y1hoiz;,+W-|kB='F?$F_=B9s7{|5]? *x^{g-/xsu-\V?r Sn}S/+q.^y Y^o}do [G.,@srᇷ\}5הwDP:-.m<+9ym>yg?Gd SM7_r(y#<=*IaֺdvOb +{[[~_.>-MU#*7^;=WEΘaE˫QeM6Y'gtP>wL/(Ohydu_W<rݵ7MR9V+w^rt.} <&@ @% #M/}iy[ | y78frکY9p`<̺nݺ`{9ҶM_fϙ#k61|\o[I(Uhf?nlݼU/͡/H~gM&/?oO{: 4'ʶ+W]%#I^|ey|}훣{xm,VnEÈaox ߸.Æ믹ƨ¢ŋ{5c# @ Ѐ{<" DnUzWT)cj|,Z4[~1*}Bu DswCiӲ5 huY ^i:\q 뭙f*wU>CxdByiODZ6á E9+ҤiyKqq=)Mp7q߯ztBVsw峱_߾rM7UXe~Yf($@$@$@$@$@$@$@$@ @~4 ;SNc?2id㺨4/}zԪҬYWȉ٪D3yy&ƪ*yםtԉϖЀ-K~0yDꁾj Cw4 I=_`P.bGuv-yӞ=z㡶o.[rؽ\vv)pqIHHHHHHHrO3I 2|i kN]Mٓrt7H8ݾl_(Y)c}if?d>6m7ЇRۛrLy: m?.;'?<0Pogz?x|wgU'?1o|ø.;t{˨¡C_7c# @ Ѐ{<" D?h¨O M9MJtG8jdiӉæl3hٲsr'Jz]'曲yꌗ[j%w_ÇܴiSd4{~9<~jy{ϣIWufӪP7(~C]ǛQ_o#N~eʶQ$λVt:=w!ngWϞroh9S5{--=g"9SSg%R.@++忯f~z֑#@~0~frݏo1^ן}Ih\Fc}䲯~zLV/]a\緑DR6Kӳ92,=_u:Yi<OG?xE- / F8dnzּ5 _nF6l vqIHHHHHHHrO3I 2FQ#Oy#kIIc5GZ4oW3'?R_id\y?&a.#2cGs9Gڶik+V+jȟ2u1>(ZhfռK˶gڕF|+A4'Ͷyd_?q]6Nn Yٲڸ.FoC,YT'e1O8RutNr:\E$@$@$@$@$@$@$@4˓#F3,Fg{N^zhmqqC'm~˖iZUm^O>s,_?&eqN9dUWytBYƸ.'x|_60{ů~e\F        ?yD K>iy/q].4(/^yns!=w`5t\F|o+SA< rX24y#@~Mwȡ8Zi%_uF-UOxXyTNu_];o'~Ypq]:4'ʶ3ΐ/\yeA?Y:miU^.⋍:L4Iw2HHHHHHHH hu$gvبY~媱AQsI^Ӵʫs\YnYj<̣r~*.g@SǎNDÍF._ˬٳ?]"G 5^Es˳gh-Ɏ\ R~B~"lB_f~ pibٱ}ohGr/5v#R:$e M&l#       U9@rۍkn*7|q].//|Zi߾p /5-#Wr_uz[vmZ%ϲs5-}eҵK/5(_&vˆ y߼e{(**Q#Gʰ!CR<^%:6n$%FFdF=;9TS#{e=ig^|8!'9;wyn(nX'FI}&g̑tE_%zoX'o zw mvةFLjcQQ}oK2wd޳>#W^[^4e-FϑՀ]v- WHA}g޵[}5~NDJŠ~I7ˆ5dق%ufٻkݻWiaÆLϿ[ҶS{cW/[)|OI-۴˿)m៳0]Z^{EZ?s+/v:LW%{ /6~l蹸r:Bc75c&O5=j2z(W՚13= &H<X0_eҭ*+=g?[FvosFN'ϐW~A#;ι1@l}6N?oߗ_Eٷ !C{/'::P>+3-g4׉߿^ZmmhN5.rw[tu=ujuM]okiڤq,ѦMUh֬Q[}XEgE#6 @Ѐ'<, D7$5;VׅxȈf{efs*:wAQF?x܌N$PHNS2s {Ǽ苗Ka2GהvHhDw&Rg MJ&k0x̰5 #.?z}۾nN9,{ɞl6,X|q߇sIrg>~^}[ƽN|4jD% ~mӖ}0rz*͖T|S7!F4w/~!s3fcMW ڇv6}([$:itԹS'Lp"LֱcG'?1x~f\F        ?yd ÆuQ_|Qua46lDƎ>S) Sv{-~ķd9IiӺtҮm'57Nj9T#핝;JeT<}s% +7k"N=AzH}ZjF'E G}ih^ҬY>xn߷OwW˂YK)cs)nHαСCٸf{Y2Xpq~h=h2P] >]w'F1ǂ{KY4ן{I֚LuF|S-Wat#:4nԓf2G#&g?4ԩ[G,y<߻)HǩKnӈo׿g c3e.2fLW)m^ήGEY3m??\ˌj>0gy#r _7c# @Ѐ?<2 DRUVU)$@$@%y]c.XKJD E%ꐰqث]eղjRٱmGnJ>u߮m[wnq0qCޭd.ҡc3)-+fҠΝܰJq_9g^=ǚ>܏C)ͳnPýunۥ{AqrI        h?Z׃ڐ@\zrO*˖/7c# @~u+4Z}unlP\OԐ_NmA}=KMM'rypÄI&M,?iU^ڴn-?^L=qIHHHHHHHKI 2Z4o.~cxC䓑ѕ 4lPzAWф cSH:)Mrf17iU^.R:_yH$@$@$@$@$@$@$@$_4?N"|G iΝr7kt\gHHHG}MN3ƣ}~W@Z70GMURj,{sO;HHHHHHHHAh\jA ХKS֮]ۣR"E,HHH :Zj%?nWG;xِ7h)e+tQ维KH$@$@$@$@$@$@$@$4P/Kr)xtZpLSSHHHEK. ?ߣڵk? [ߒÇ{v:m<Þ(4|ߐQ#GzT:}g\O;OԩÇ6uX~}B{ti;dݺuQP: XЀof8 z嫮 4e<#v6 Ck(1o|UgSسgOB;HHHHHHHHG]jD PޭHkNwޑ m\   ?mZ^ݺ 0N W\vxASYiB^*wG_2klO;HHHHHHHHG]jD!pe\ρ䆛oݻw'sHHH LepA_6oޜ D o~K)..Nޓ, :$˟ׄ6. D ѽ6Ԍ"Ao'oBHHHAW_-cFJP_'z* v:,M`%rK͡C QY83 W^ΒKgй& $@$@$@$@$@$@$@$@%@~t 5#H@nEvzT˖O2A$@$@$u5M7 }9TUUHJ?6Ϯg {ߓ^i&G睻vm?HHHHHHHHO_#jHy'PS^һh?   0@:o2x g 6ȭfޘtiǸ緿l߾ݳ]nw~J#sQ        r% 1GKEϞq(| @ :T!zҔ)2oh+!:v(r,UCIPD#ءvmĉs7 4N               ?* HHHHHHHHHHHHHHH hE $@$@$@$@$@$@$@$@$@$@$@$@$@$@$@>              #p Ѐ{HHHHHHHHHHHHHH"@\@$@$@$@$@$@$@$@$@$@$@$@$@$@$@4               ?* HHHHHHHHHHHHHHH hE $@$@$@$@$@$@$@$@$@$@$@$@$@$@$@>              #p Ѐ{HHHHHHHHHHHHHH"@\@$@$@$@$@$@$@$@$@$@$@$@$@$@$@4               ?* HHHHHHHHHHHHHHH hE $@$@$@$@$@$@$@$@$@$@$@$@$@$@$@>              #p Ѐ{HHHHHHHHHHHHHH"@\@Q&P~:TfQQ<_>{nH$@$@$@$@$@$@$@$@$@$@$@$@;;OImCz?XlY+OU;.ˡqJYdJ}  Hԩ+F^,uoL*+ߗ-=4h$#'j>n֜wdG             3\J=֭IEϑ %VKh_Աt2 I-$7.Kh ^&l!P*mXLTݕ0|RRhÇd¤祦6G4hP۝?xdȐ@Zsׯ@'} {nnujבhPT"3_};wYL%R~aIA=]~xZuS ^\ꀳ>O8R{j>B&D}oN٧(jk"߫!_𺫭"]q^@Oƣވ15W:~QcH}Fs/kQ<sop]6'u9B5y5i\:+a-kd޼q m\ \hذ6k#Y^1rɇNJ>z߶kCZ4(k Ԯ]WZ$Zw|)(b4hϒFJ Y9OHNJӦsHgF &Z=vcp+#PXoGڀXWQR}pމn0FX)ҸQҶw!L;7ɶdÆr([8mM3lsZ)UW9ueTݩu\aqs&0m߶jfuo 1ݢ,FkYzO7iz?ø}Glݺ^6l9GaC mY#Ey%k~ w\RToϏRy~7$Ld_^` #tY𷸸Uɚc>[vyo|~V]~%o`^j_)5dDL^;7;)߆fRfwŎTomlc{cyMzolZx-iFkBg8F6'[D/CA/Ӏ_Зʓ@vtP!]'tt YvAB[BnC}M2wy6.@6 #T'ƎLv۵)W;I&:|s 3&y &Hvwk֬}y#N? +VUʚ5SH4J>`HW6hZ)89n}#$W*Ӫ!C^:YFs}~S 0{~nD>j‰.YnZŶ09]s8ŦGWcRc$LRY%3A׬]Sg087vG:t-u Σ6}aZfX9'Bߜ1Nۜ1 c!6ׂgF^ ,* B;S紲C"Ck-Z3ƛM/=be>bXw o(EJdԌ X;g՚ybl[ t1=wbw1Da ǜ?RS49~piWrsoPgdu\ns*۷w_u?:l9x"֭Xcۚ‘f{yMWm$p:S 88EkFX='܄fzȣDl@$jS5ec}N4N6tb$P`OwEdœ٠zcҿ{!)!E}%թYAi/ȉ ڗy؄1}1Hg7%AakڌwAyfð &D*qk^l:Tg&\mPG_DyB)<kY3G j|X$z`ζ{ܺڵUjV\DS4eZޣQ ոK#-(ӭ i~~w: r.[C#5sbF3h. V(٣|hQ#rYp^>ʑntR`}+G8Ǽtw=f:J6aB=rԶm}8X8Y0vxi^-xᝒsM'8ϝ;NmZ;a1C7M\Ҁ }_/Z29'`u8eb sKNӌh쥡b$H]3| Gٕ&/ ^'79|t.LHET 1U'ҭ}/':$y,Y:U';?y;^0(7gpOﭚR3W^HOKNɄ^::{[|(w~sa Q*&[}TgM@gdEU4s"!'LZBΕ7ɅiEtCʹ;ibMm}ЮmO?o?Q3kd@sFdlڙ~_kω/ vpd_cW#zFk#Jd(~FcLή|O3dNU c-pdcD "r2[ݺ <pJ v󤤤Io~LVγGaf,YQy)rnʼn?Ndw+sHJ ;mC:J8'Ȟ# 9ݰY010M猣b?bքREը\xƦÔ'L:u@dN"9qsCQ6pjRh |x͞n蓐.6$MH?S̡,9ȃ4_:3 x€'H8CBj\~'Jh=;5z|:v{vPǻrhTdǤ/IHJj8kd  *NJ8҇!8pd*6"gWT;d?x]WHRW0|GZWh!%F<c:Ǘ8(Yfy'+h`dA~21`Z=ץrvt3)d#4t 2+w1y1`::2OSg01 }2uQ c.OQIviҔlUQ%w ~ɞ!oPKySGKR%Ts=֍uItf>YpHbh7p5wC-ہop<#+-G6!Z?ճY(9ڳ-cX6 }1ORos̜VV"1n!xgؽQ)۫ }ѨX$38׹s?吆ȨݩΤ٘@qS aKؙ^iojӪ6G4$#)ur] -&>boT xo뭜k"cΆ z-v8pQ}4້ؗ17HmFw$+Vqi\CҦUW;eSi$,eS>Yƍ˝gCLWla= m(nZu5(;Uvou/R™ W8-M_u>g;;i߮&]H3}'c$06iݺfn7'S0a 8a5݌{ ۴+n|7}֛AX$LQZW8#Rڴs/+gp?T`,;ҠݤU 'z2q$$+܊sdΪO 6tm>c'ꌙop[cyow*y!=5 b[}74xB<$5c~{-k ?66oY8XC60jg۸y 谤}yߧ#Aĺx4ҩC;_Ӧ8L7}ի:4l21l.S72Z3\Ya%bFeZζu:9c{sAt,<14JJlG'4iCgxQ,5Ҁ%  <#AuGMt% )lz5TxoFefz*iZl-&xnQD")/*^:D]xK[G 0\݂IK&m%zkė)r+WIQ[00 sJS׹QC?lNeBjҘ[rN[W:ǎۭ`g97UyvFh̀LC=L16r*2=~0*Ii?z &n6+٨1C~F)wKHc{ԪSGKx?`/+kDڢ@0qj\'m}\.Lmձ!3!lQ޽F{N2%YC2Cutjw4&|/ҬqaX3 Rof*A|_ݍt=ub$(em>,6ة o1RζØXب Mp$左W_&ÒaN%&'~2#-99oj 2W &;y ]M),ԐbH\vn=F Ke6eܣNM=>*5R#yGMz|KX`|2,aNUNm;Rvdc!&/8.2Aa<ߑE',#-,Z1=`XƸږ)1݂@r ޻LImPW21aƽM`u'3\ܲWWϗ z/︷!hIc2Ѐ_W:@`OVM5ExcpjxiÛ)t}t/m:[oSi0Ǡ 1`sKT :)]FiteMT i41k22v-0$L:lw:11D63]$0?[g<[CgHGMH 29&wl[$7=[#c?'c&i 1੾P'lٔ#U?x!Ropܩ^i0L#M[mo eNLRsܹρpdnղEp "x*vc/%#G\d4eTSgi?FH?|O:Oh:t1.EddC*0d0u<0GŸfƬ|-01& '6N@򕳓+Lz%|X>Lߖ>i2AScǁcZwCee"ևCt2JGH|O^2F"vO`_Dsx'D]N5at>rDњ#7-c^a,^<9h *ez>7$3X91/IxYi F[V%'Ftet,@&R0.*Cen0FH'| jc'4 1<ݲG^gX,(]0\)J/g0:- CiźtlME$3u̅o㠂US=Wp\{܏`>BMg-l;?~gI߳`+)~d>|8 } [4ƌ&4$%x T(ÀA/>@?cAn]Y77Rm,aLhxIV~9ߨcgɜ/L9D {}/k$CK5# 3df"w6>G"S֫H'U6MP&i}bMm8}UHE>CXdFV6BnL|3{LN Zzա}/aky:k0ݭƯfd䳝;!.N=?[)xMk+MG;EJK/kW~|!{REfLvmy۱A~f=H #_Oa՘,t>R%TXhEL5MIz5oӍFqSLiÊ=Bˊ]VDg5ÇZ=rsZptK>a9bcTXJ'+~M%h%!`֜3qlspa9`ڢyGis㫟ṯo:In%a0#S:B w9>]C-#4ؔÆ cx ͒:(%#\CZڹJO576~nAٺ-3ujs E&3VQꤜ:mgGWLHL'"Vy eQ& umcQ G(@ =Ì.+m'9}dd'JЩc_egK>߲^lQp6Ftubj:^W9g$AVeI R߻AEmN/Cf3JˆO ё~13˜e[KD݊wI>虴$)+X<1RXݙc"@f%8YdJ0U[q֮[,(˚ ˌױ]w! -Ax8d:-˶sX9Y4'u$p@DMQLkh6ֺOCԻ>^258!MJgE-6,5jЀȀЀ`޿)ZSGLSr5iRk4oNz2 6dDr7v|ÜdBzD]|']15޽;իt3n_|w- &a_أeZ$ԡ0&vshҔm )]tA[uB^e|K= 26idisn}llGyD3d3T;FI6F;`p ^qSڶ*MEE 5&:a Dq< Xa "37EuymьPThfo5RXlٔ2͈yLd^qQ|:hNۖZ*OŘn߾Q3Ж-}|߯z 2ϺN[pD9(HA-pNкoK4h$ms_AnN9L_Aɂ8呐59jbˬx:wЀ_hW@>JVke&E5r.)1i׶) $_x&t#hƝ@~4C]}I'%DdZ2dlzn wU}#do |,'}~>Y'@~QoB|!l&R ꎚҭ[%Jo&vleedO`Lǡ:9?B &  ml~<ؾp֖Dj41ĸe8RnrFSF=P!Q^Q;E0$Aՙ}Sw4TnAjJ8>ޖ*^z Ci)ZR-A߱ofB4a:ڱ w%*< ,IcC8$4 &[pBXd+-fGDLPbh3 Dٞ\nD՚3kghiB Q_E_K=][]Q %&MMrXFwF|ةQa]%M#L'Rg*a(Tca?Sd6|څ!={:L3"c&F_|>>6g}8Uŭse3N:3n*n:qLJfl/g3^4gJ03M;vtKT?zr_G[Pa(60q]:L$%7*tb-a/D~Ak9*| ܩQ% F޺mz۶m؜=aP0 8$[Nٺ>IcsX`"T#h[vh!wdٖ}Քevp[9sKhB nU*z(yWy ;~m2mk!=;4L2؜0V/V0:5Yn2[eD 8C6mZ3TLLQ&MZh3jncOuC&Nd;pc"c!2 e*-[t>zv$,>QcTvS?!'"tH e٠5p1s'}y3oʺK5 -~6qiuȖh^#pД{Ut"a:'_NDzԭ[//|pV 5Hh(m|<<~,喠ŨzA (߀hAT!Sg7Q1w/? tamr?@X͠ =-8LuJ_njoxEbfkXsjǃ(=?v?ٌKez39Ya =X#8Yc2۷uQFY)G |(`F ݓ@. !ձ6o]+s~j3&ҡC ˩4U:jfZ+114GҀ--A{xb"+SıWxv8mkw[֬]iV#\:閵t< 5b}tg=gk`z:_,51~OH݈Ł b-ᒥyq."MT ?#B~&hON6o/F P긜{G?e"He.U~-VͤKgf1I&N߯ 5]kڽtؼƊaeJH}ǺK>!xGQ1|9rUe suTl _:4b9gλ5;O w1RG+4໯&I z)ϤM뮚.(1:ڢulҥs?3zN.N;&2w8R}Hڴ)w3>Ʒj5gIX\?Wh\lhQVHkB龆 :[e%Jkrn_X?Kc iA7>HåEp A7a9f$1ž ? [LQMnҤQFh#H+,pRجNAn].Go{zS֒C[F͝ 5M^MH9Ѐ5G4#89{.J-X8Q6w }__Vyc̨iuP3e_ߓ, FY;MsYxv٢%Sj)Osy|ۧbgNX&(7qTtY܂=8DIh= NDzK}߹$PKN:84A˟U%un-KNwz۹@-="Ovl1aVp <=N~Y;d@\FE?.ɝ1D') ͛Wǫp-Slfy+y s2Wm^%t׈ څYID\R͚5 2H&t.lȧ1I>sF~.iX$1Ç+% W!-Nu) K-ixXk$yN\iv}T5%p 4iBys 4 Pp0#)h^΍n.:.!"ܲ@o4Adx W ڕgSD6 +t=z̉}7qiE$g A[iTOj"-fY=|.3/8&ZhOz2QPv-A&}]~(#{6ALmcǬ|_l[[" nhMߎ,.Mc$1Z^GZbUȶA# b ֹހ5"M'ҵ@ԱB7yN( e Jd4*az7 %S~;a]9f *` IrnfmB[cX qrK1fc7UϠn8 @,unb+14 <R|d %PfLuarX639/ <> 䉀CsF%b_Lvl[S޶MնPQ+QU >mv\ӀM~4C6S=]z{v47DtR'VA &U\eb֤A&mp\C tq ;u@SfUC4ێ[nbwsZ0@MW2P;TK%QONZ˷}{ݏ{:(|F8[t0&a/3lGз_w*7۔iu$;z#t֥Qzk7h|m٢)8@IDAT++K$[c&pBچlǑ O֯i]v=4ʾ\祦 mEblnW[J}:b+Wu'hAǻQeX$ߔe gk`JE:'d+15 G sQVz.vAE\ Y:fT"oJ뻭{7 ;ebL}~Xx(d2q>| .o!~>C=:VEֵ;3?J5+):Kg;pPI-7hwxAc}vZiӖ)w3aqNy,o@~{*E`"e:(ԆeeɟުUg[#xaB!^X?ԽǤXi1Evܶj 9s |6gT>`:HVG-pxT٣|oeF ;a9آÈ.;ae4vn"d{MAc֓#Ɵ34#)@FDU#4Yv'߷Go3B=?lv"YYº/96-mRĬ D 2HTㇵv1BII)Zo`iҋg%\e?GKM9=]eKP\߷J M5  ;܂ 2S4 ?{M5{h2A١*[ϱpYuaf4BJΝZos7߸q1% -:T0|JӪ_]1x܉d)5B-keMb8ɿ6mRɸYsޱsⷈdN۲`bDI|5+Vߵ*e0GN5ı~RmL@HOxٴP#Y1S#Ѓ-]n]0_Rk8mƇ87S =З}&Lk#TgDcs߲eT\+\x ,[|lKy幺Yvp8FibM)oC5UݫƧH_ٌnOJ`>$~FhNXRSWxm÷-3r&|"uַv1xȶ ldǀ35''Ѐ!{ #KkɶqՒ>m>äoLNnok9HbLB~4> Ѹ橏y OКʤ'JzdBjjE96 ЀumQ^Q,CI|=]|6u9|&k@S]z Ḉ1?`2q/h;3z WӃ~e8,i'?uKX)Sp>mi ascC!Mt?X@p( *ՑVfp6R˺%5a$yj{-)lY3ne𠳒Ȼig\{1w<5 Ҏ{uO9t=;eVH>efuJfv u>27N{c9LT{ lz9!J׭[ؽ`i/KEEI @3MI0:yma'(gBYX`СBhDU*t33T+iƕ?!Z`[#S-d՚yr@HoڴFuIZ֥[4(!liK#>Ґ!sEKnswߞRG-c"ڇ QN[5V+5is: LU&ÉԜ:;1I6#kMc[n Ѐ>oo:ITlig׬]$K5:bb=LsޑuL3=(Cp0ɸz^L#-ru̳ƪ3g-mn8PkȻ-É(/ߵj8\5!WI:flzc;W[s8uӹ|536öw5+4t=m1F9.+ ȜרQ\KaڵmYЀ_W:@ITLKNsP%ˆG;Lx64,Ӏ;<ᅙl̶$Ԏ2Jn. qp^rKԟn}I^ZV#S7/6N8u+,fXޮ5g~ۦZ6tߺU> 08яdP-gRӔȹ=lK6nH%=gHs 8ՈW#1)})-g\xnj8v0as[ s[ªm3xQfȭsd{@KTll٘Z:r'tX?RcW@]d *./QG)A?1unpa9%tjXwgXӆ#CJ rNuccچ SXի2M i,q Rixd?w( EHq6<>RF`k50PVAj|q0/?i*8amr a=~H[yNx*^Nksx"<{xجa.*e啹9AغNQmStn3g(۷onY=[+WhV-U !`N0PZ=7Sx 3 ?Ո 1$hG!ϴA5iSZd)l;8'l#MX87Ӑj5T*biH`y¤,_;~ J'p\HƇy0o s.}<%3g/uۺE]: 5FtDJIz_x;yoU6ܳX oV'$$ QR`n'$T\I@sC4[&yb KqJ UMVTP=[JT'٤?y ڽHN8j h4Ğ L[G~M K/V6G#x*nAk cA:mBH@KNx8D26҅ԅ'6ۈRz?^yqFl4`N W\70¢ICIEӈ);_*rq([5v2`lCzDS!>^%FB(͓\ѰƸ#|*4vˮ][5 )6: 2m,^Ѣ4qIr>u O+3"Ma 7b4VOjUh%j:>[9ag`)?94C*+qdC9F~Cn|ak{ō=V-5!Ĝ[Q<6E!b2@hJF`] d޽DU2l8IjH9X6I$0U$(:C^'m_"Y"_sQrN%J?Wkؽ#I<#J}4p%shzkw\Ƶ5קpH4f^D unt ں JɸݍƆ*s#F5D\J,C{rz?L" U1~gjXaJ6a\&q^eZ ?ԸF}kE&ZlEiݪLŋpJ׆x\&R)Pa}X(N8oXs 8L~x%8Yf)4IF/C=i>z# |QP52y*Οm^e_ -X# wNL{ak3gi87RPfBT, b'6* x=~*%'uJrIS: w+XH칣=pQQ/ve$GܶR[[y8۠lFCPCjt SD)2s:[sO[%!@#L`!E BG;ڿ6YDAհU]aRunx݅2W*Cdߧm>j]h#X4 +iִk۱5kjiRp4d;h`1MS3RADX%Z2HORX=Vh _ɱ~>9@g[ ܸ߻:Qv'/땫xrG9BlgsCЉfwLOm>51AN5Gt:DF Ed<hÆpN2:AXe:*ŧNZηGŤC3]ul6.qmdg5uq89&kJ'߹~ߗ@&` ≓z֬` |ZsE ݅,AP}DzIƇK{aqڱNA%&3/q Md]$O<=#*yR&u܆nܦX^Zx4|4{Wow}F mz֟z}Z/Xg:I;c(ٱsSRbo5Chl2Ȣ(q6"q_J+|'8yۭt>V̈x=XLF |7غnwOMP۞^`Q# r5]ſ͛V8բ?34oxӦU2oP lY+s s $Zdlۦ^tMų7[8yKFk\H`p_!o;޶}̚S{geѥU`Pw2J gΆumoeN+K ĆımY/~c;7*"bޢ]v2Nt9N`솲:йo=D'GCʵDs;WD:/O&\?JQQk?U)թ")Jd>f*M@AᄜNbz]^A;(ւPE ֛ilօG\F~r}z'y,™W[.aBF ҃\H7x!*ʞ=;.WdžEH\`BGVN#͛w e ´Z(0JIVqf_l'Lrq)4) >C &3mS;kl [ҍtT/U_0AZ&j |xzVcjGa,+rzN=Ɗ&&W"I❧1a4/ҲݦeX$;D&IƜy,<7/L4`jۧi6DHRaTSm|h 1Ư(L5o6)NM/J"лp]Y#!p qfl{:Q:'hrlӦQIR<ʜcdֵCK2*pR$&(sNee7 NpX\4?XBmk}!]AHUTTRo&Xv?9N"qb9 Hy%Sd] r rY%Ӿur7B9ދ|LN/]x3rݟ"Ev"0U ].p23bF*XL) ifQQNJFt6agq { |D")l KUG"NOxP{HG4df< ڪB[>гN } |7%Ђ8ON;"A9fKOCh!_ܣ_7 3 :"0tR|E%˦z޲Tl)i&DjEIԊHd~ߌx :E ^JJcn7ضb<{vs.7 t"0J<:v9D!pM.Qg'Y\Ge!gEqè)jf ǘU=GjZƤ)Gbگ۹ᦫƍs|G~ :#*@yR/WlҤth߷*7_ưiXNP@ܱ[┳iC9qOY8yFF%1^ QN #N ݏ%OcwDO6>Ց{4g ;wA#.T_.qwij(w,2&MRJ4^<_j" yjS{cѭz˳aƳ,5X0֡OCwdҷ񞔐޹y?,(}Ԭυ 'Ȇm' ֍g Dcn/VeN%7}X "~I I,TJ`+?;.n]籾W*T'Ǚ?9C,gO6 72E `;ru|߹G5lTY=;D[!q׮[dnFs=t4MI0ٙw6`olVP^(7KicM䪂*LIPCn^z]@ڥxJ(کGw,f%;vn 7BS,dmظ\RR8)!Dm:@}^#a]i߻oxD^ vCkq|5iV%ɐkRpQ*':n =4oTs?vzsDȀ q2:CP.PEC&DE _Z46p=ya$ҠAsymHm ) w D JoZggH$ψN2-" @2S=wi_mN~;:MF3]w][Fs"K/4OF b]n " IeN0H~~{1:#\{wdVBj9G"x7@_Ѥċd.6iҩ@IbF崳F;5 gJB~*-Ε$j}Ë. ;h1P}o$v郋ޜܖ@asA0rT'٥?9Cgd[Χ˫u^&+F=qjhXK@cjqc"yk,9<pe"Д{a~IoK 7o4 "՜U 2{svW!YC RLQo!:bHpc &%xiKW "DShQj%h5D<%Y8f't7 Gڷ+Muq$l`YrHv~ C@Dck3I;)lZ,Zx?aq1h*?W[h%< , #iSO0_0Iӛ$И g-uƷo=gsKn QA(zDU2S}N#y .V)//U//BN+աiI}nٲVc>ƭumq=[0N[cVh =>iq E Uoegx֠ܮwP vi%x.ZjprOedR\9ݗcՉ! ]8?l6B8<wA# ;h*TMX!sQ hn9EHCYzߛ%:Vخ1%"y'5%jD!޻ԓ^j_F|qIf󸩿xQD9w|%Ts ÆO_ շm寮m*RYfa\XG~ru*5[a)PG(oX(5WgH'P|n(,2(}:1ʶmf~~vTG' xv'()wNܷqvwó)*.Xp[a9,6{kBi[^$}Eh4g(M^^w~=W^z^ YqPcM4\o~bvR{f43 -rF+<7Q̩<7 ȱ_jsQC: <Ԁر@cȅ:o9ݩ]P$0JYikSaUz7GGn\9&j rX㰳SD{?:L.pJa6o^#wdsvy {^{v%t_GBDljn]3 *]?\Eb{{KeX~'SH-tFV1.aW3g#;vtkV%W8* R_4RCϚNk< \HO(B D ^jvkOP#I1U ^/0[]SZ#MksڈwLC9q\2R"׊ "NQ `T*Sq$" Xћ"B9 ^i'_CXɭOSeeo 9,d*E>yr-;=#\^wYְPP̶|N/Cx Nnlgʪ5v=^@k]6u؇ 0੡J]07=aĶpk>99WY_j9 iΰ=cipǜ%%C]ʫD# o/quޡm;Q,MdV*7zx 5ZwP>vo(}aKr=<:5 -Pq=ÃrdA UHI= Et~JQ NxvN/Bz 6FIp3 pCt*;Mu\ۆ!޲d4e0¸ g{0T,jexvy}xoE>#U>aúocXShUacrI3kYi_\639E2fY#)"7۸Gjf{WiT5(pO ޯ+77c؂h>;v( f՚ {joDJ*I9 ֭_ʿx0[)P׭X=9 v|< PBwXfY=miNTHnc^Q/H02G_x{ٵ=64j.3sF>wxַLEa赁X"3 `L:}+-:f<:9ER"uY(TYI d-Pf arHf>,u1[Ǥɟ1y:)DaC,8yT2+9 ,H#?UD;_>1 ? X=# +Xuֳ E9*ڷw];P7E'{GGH7ԧ1j[E..;7/X*`0>'N1>1„j/Ph0\i~PxzP#skKxT܆McR(#McqMt6 -e#xnذ@ݵ=Gde cx Z(c!]. TYoqȱu4INFc 8j07D k^XˀaG,&FЫR[1H 7 |7(HB=Պ'X>/xc+7~'t dVG+S,DҎ P(U}tƢmP<}EnQ,kk`۰E-.,C]46Oz1kw7}iCEUmn@ޜշ]F/=R`c|j^lװ wED[>{#  ##PO`<^#XyWaC>DEhGcHE8'o^wǍ|jЩA;{_9-ϱ8(lwh?( vu-nOc-h 8D y-}.T%[cw9HV)WeoBT+{ #S(DxKtuFF"@#n6b4%}'Ʈw(MzutШv7lX&Wt%z.:φ͜cV>GCoqq C $n 9"[tSCGbF*kCSx ];` ltH8Me?N :ڝR."/зO~O ɬǃlQ qx/%QB~'v\Ruևn; Wjs_4h:N{<})9}w,#'nvܹRCȓEuxp"$llbx!j9ca ZtҰzLSC7^mƛጏEj M pJL^̭FƄ*\:JE̛7֓:wn 4Ox+zƈ@XGj謿ӍT1L1m[q,;[gDZDek߉9T_'ER6zH!oØcҩ14c <8۶)#*CK聍빳:^r0ȄGݔfM ՠ] oO4~n0a0(lI]#u(𼉈0v"Z<4ôfsC-(n{0wrc:PhK5x;`+ođ1yvF$D}mhz6c)n^g@Z"=瑷L#iIޓ9 v\ (!'xNZPLC:W(8g(>.sֹr;6;s7]Kmey㹳5c=s2}G(zO;xaY3xFa<8)KWpEiIh[B@aUi eαP4H0dDZ6o^ 7xH(Fxn\c8DcH(s r1s8dgQF |~xzJ Muj%o0R. U!:i{ Z]2Kҥ CQ۰aadfMŲ4&Lh;O߫l{&w=:/O=sO3گiT,_5HKq2kC <^#gkCw8b\?^wuXWiE#8N2 *I XÞaeO*uVx1VЉ ]_ | ^Myx]b:E/,yQRej_Vȯ P>iG)^S_ 4W\~|~cf١A(c;ιNCi9lΈz(7gAXB(\1[ Ea\XؼeW(YckXx;Eu |9 ?:m# ^4k%4$<^{"^AocR9Bᆍ eHk?aKS/PpP(d5ra;Ou0__ ’ "4;<["eO}0`U)U՘nMnG0*De3R͜z5c{Mx{coH3 q-رz=2\vqR( H }0EѡocXxbL¹px"?H܅HHHHHHHHHH*䡐 [wdtP?&          T#@~1ΗH@ 8@a*C]HHHHHHHHHHH  L E |HFck          H5T|IH ?H܅HHHHHHHHHH*䡐 [wdtP?&          T#@~1ΗH@ 8@a*C]HHHHHHHHHHH  L EI_B߿On[/Vϓjn;Ȫ#%~SV-ݶWzzgq~$@$@$@$@$@$@$@$@$@$@$@M >= Ą?`6,'ۍO}>Ҵia< @J?%N'I$@%н0_I؃oӿ ڠG#^a][dڌn$@$@$@$@$@$@$@$@$@$@$@M >? $@nnSPIKK k+fz 9?6y ɦM+n$@$@$@$@$@$@$@$@$@$@$@M >? $@VVMiܨ@L/[;z :uJ-ZtK}|⾴t%$@$@$@$@$@$@$@$@$@$@$@)O ?<              @ py $@$@$@$@$@$@$@$@$@$@$@$@$@$@)O ?<              @ py $@$@$@$@$@$@$@$@$@$@$@$@$@$@)O ?<              @ py $@$@$@$@$@$@$@$@$@$@$@$@$@$@)O ?<              @ py $@$@$@$@$@$@$@$@$@$@$@$@$@$@)O ?<              @ py $@$@$@$@$@$@$@$@$@$@$@$@$@$@)O ?<              @ py $@$@$@$@$@$@$@$@$@$@$@$@$@$@)O ?<              @ py $@$@$@$@$@$@$@$@$@$@$@$@$@$@)O ?<              @ py $@$@$@$@$@$@$@$@$@$@$@$@$@$@)O ?<              @ py $@$@$@$@$@$@$@$@$@$@$@$@$@$@)O ?<              @ py $@$@$@$@$@$@$@$@$@$@$@$@$@$@)O ?<              @ py $@$@$@$@$@$@$@$@$@$@$@$@$@$@)O ?<              @ py $@$@$@$@$@$@$@$@$@$@$@$@$@$@)O ?<              @ py $@$@$@$@$@$@$@$@$@$@$@$@$@$@)O ?<              @ py $@$@$@$@$@$@$@$@$@$@$@$@$@$@)O ?<              @ py $@$@$@$@$@$@$@$@$@$@$@$@$@$@)O ?<              @ py $@$@aHKKIeرpѢ;w(,Æ%˖1cd߾}3; J |Wq3  d'PV-ˤKΞZJndveղ3+WcO>)۶mKq"$@$@$@$@$@$@$@$@$@$@$Oǹ EfNqߤo햯X!w}o]i6l >ܹ2~!          qc+  #!7xto~|~ep&0Oaҥr#~           $@$@)Jϗ2s,[9 HHHHHHHHHHHB#@~h @ʒG6lwoU6m+FpM?g3(**[n#$@$@$@$@$@$@$@$@$@$@$`$@ IH s>[;XL8Q}[9 B#pUWI޽m;U㚵ʫ.?m-v  _z#?.3g2ֱHHHHHHHHHHHL |3@bkҮsUmTh|'%=Gz6j`[eǯ#6oy>{ C!tL')S",[i˛l.mU\/~*Vx&MSgʁBn٪oeVR 7 ?mLiV[7̕G1ހU`D|~U09kXi753TZҿZ=-]e2o4[=ԭcAz) N YqOHJǟs*V~Q;'+۶l >3c.!OɣDž ڵ!.; kj0~h9q"?[=H1T :Pv>~|QG8HaNA7dJEr6Mm?[׮߾CުU+;?^Ecӭ׸i]w+۞tҽc]O>}U͟l?\9裍my]r*c IHHHHHHHHHH3a ۥzvpE1œԪֱ-5O>zm9scϮa?}5&vիgq0-ssՒ2x.͚9^, dsIDjhN&08ceCam#jo䢋d}ࡇT=Xm!ﯻw3qOxR#.Xs^[Dm۴;oǟxXB           ;*LXB)En(gc%ϖνE}YY{OPۮ;T~u+-w}5pӃwEA6뾽u m`قQFz=8D0Dt(UÑg~DJqjJyM*MQVT//4\qe:S(:0=iݨuN;Nf~Jyݧ+ ,Ǣ'Z̆7tl@!b$@$@$@$@$@$@$@$@$@$@$JOŹ@o=\̱׿_mS zVݴ}ypxP[=#@&ǜ~;tq]c˶-یBj֩m}{B-l߹4oT_|jS~]WiѦ|yo-߫Fo?]:tl'^~q_zK͞ospAr_bnܹ#b]VMC_$]:15euɓ·ncZy'4Fc~F#:D>x&$@$@$@$@$@$@$@$@$@$@$@TRI?g,څE ڶWO:əv< HkKoަD2ySC܇bh A!~Uv'mڣi(?֒|?z` /XfN8(ߖڍkX[wsQ.ou(Dd'/5IOU=SoemZw- [=ſ/}\paG-c IHHHHHHHHHH~'@, o~1>pisKxiہ|o@F~%V[pEg B[eɊEKUo2sdRM7 R D#ol!2[t qmoq?,\XB(~98̙勯5hղP92UgݶmR\i-ZȽW^-yg \?7 !ȱ̟̚<= ̬rv%]5juj4`R_}MR~=񔗕c'{+lu(8H^lCSRv<'[䭏Tn~Nɬ^ݯ97 C ^|9Wp{ǻke]̈́~?LPf͞(E[9+رUx g%##C^zy1[\!KK#}|HHHHHHHHHHA xP$g(1D:8ی~敐Mc5Z~;[x$PB ?c:m,s:degK,ٿo*5ˤlOV6|ab"#+߁Dϝ @2?@.-)Lnvl [Vڶ?yx[f[ [w&Mߎ\ߢ2P:"5mEXK#I?pf͎=$;d_{̭3O?]FpnjW^{XC'=8 Gj_)--yR6l\[?\9裍s3ֱHHHHHHHHHHHH ?37w RUKE-X,>ZӁ{^1?X*~36nRS[K^(G3#mI#t:eeλOu+9(C7NK: TW TA$7|1)5kBξ"BX3vXW\z `Ǟ|FIT209gwosr}]qСK.1Nc̙OXH$@$@$@$@$@$@$@$@$@$@$PI |^ $P W'Y3u|!ϩmB9If̠mʤxnٽsk]Ş65kTMM%PK4n$æ[;JDnn]+7ߔXLz 9X㔖,/ȁPؿ_?ˍSYtXH$@$@$@$@$@$@$@$@$@$@$PI |^ $P yK,˲r㺀w~2ktټ(hyVҲ}k)QPoC"wҦuk{,5.Nj׮8s&x+i=w8 6$@$@$@$@$@$@$@$@$@$@$@@U@*)5(Ma¥TZTJKJeh<ٶyk }׎m>Z/Zµ[rg߆D~ig7vO(IJ(֩tFsMO^S:mSb\)q<          H)TdI 4#7dBc]22>a?cW/R:O4ibl :k^~stIKK+eg PIO "*Sq$@*)𡜼ѻZ5{$hW}qGG&f*yɗd߾ |^ǂ;nMڵmkeƺD֪Uy[4'~ԪYG~Qh,W\bп)ƍrF; @'@~?<ƒ@*)qz.cwW ˤY˲r2[y$ak6$rõJ=ZOGUS[.Zi?ߔ9s'{ֽ9F.KΕ?HEo܁]WXl{$          0E$RMKa/++G~wm\pͿn\_~el8ySo?Y lВw_[c]" kԨ ߨQS|L_y.}/4*-_ |_&;L.bг̑}XB           JTJ *H m:sx&{uY:.ht[7oyĕ!_oU9vs ?{3ce s󮖼涑lhЩc/9Unkb"ydr[]< >\=,&Ng_xXB           JTJ *H r=Jvlصcd[]" < GUJv_ٿ<{ʰ3vC#F駞jВ_Ǝ_I|:l9ܫi~m' ?ܷ~%=ݮ_jz6s>[;X㘣~Qx-c IHHHHHHHHHH* P+ TS >0v{z 19S5kג}zH.TWfN* g ikԮ[Ƕϼ,+-ZC?R3̱ v4k?:o_x{Fq,^=[?Ji֬m3˗_c+7oEN?ϒa^v xVJmu(Kn݌C%[$YH$@$@$@$@$@$@$@$@$@$@ &@~O'XHE~fr7J-Udԧ_ğƚ"*kѦ?lvl k{vmmZQ^}L=¯[8 iپ_*}iT~oYP uBKv)W_w.3˹o~^ϟ.|8p 䩴mQ<㯒iknJygVG|P5|~YhQIHHHHHHHHHH Pҧ'3TTHz+'kzxeC6ÖҩgW5h~ dБ'Å/P>}})+ -9_cxt\AyFjdS1`^q3JsϾ\ZMz߷o.XArJXeÆ{HInkU̶>9AZ+=XsHHHHHHHHHHT,gY  ꬬ[fD2z*5n[ad2!r^zi][J e &5j=iGSh{IwP?EF*2~T/N&Tr^e - W.zw=%21}%KԗFM7}.+-}RZRKB5^rU 7?ܩ3=D|6NHZ5̒G&|'D*0 ֙tP#r-K.5ֹ]5jԒ2ӥz[e۶MWd-aAϯ_ǜe{X^͛[v-;4jjݡ؀$@$@$@$@$@$@$@$@$@$@$p =~*{C*F˥A! eGJ72y8w:/oStȻϾ*.16ڷGo Ro;d/ I.]o46kyGun^pz$|d5klD^x>Co믹Fzi˯*XB           P; ~#$ppTy<_m]S.:+(OfݺnR4oj-ޱm<}C~edžm'PR p4 EvuPCu8N|ne"k"m[o}$&OT7>pdddB)Od愩]u 6PD ߪ4_j*ʴqlPU]qAjۧdO,9W}l۲ͯ.FceCߜCC9 s9 dK(?O=DiپM]=Widz#tUp=Hޯ# =sLO zaq]d92Q~Q/vZ5%K@cܣ5d?v¸#I+࣏LU̩%#ݻ5jKKȖE2a⏲`ጀm7n& =^TE~"*ٵc]0]!`Ty2]<2q؀$@$@$@$@$@$@$@$@$@$@$p >Z6H# 'AU7h@אq;etbGhp5CInn -[䆛n :kdfM3htNB$@$@$@$@$@$@$@$@$@$@$q  #prg}ˢŋu, @6mo76yy׌u,$          ΄%$@$@)N^zC̏Gy㭷Rg_x9lqBw},_XB           ;*LXB$@$P\sUҷwoۑ5762dddS?.5srlL&O>$@$@$@$@$@$@$@$@$@$@$@wf  &ТE ;^/:~| ]rL}@re&~wȺulu,        kco"%HQ$Mv޺wi$3 `o<$HC0ovmw$j)Z(Q")R")"]+UbŪD=w;s/D@@ 6Ap?WJo;׮z*Sdõ_~) @@@@@XZ>E`ҒrUXQGFY@@@@@@ @ 㺂s:G.H+lO>9YF@@@@@G& -$ۚ.˗?0TBxj[lА\Y@@@@@@GV ,y&?3W7.[_4_ɟ7|3 7H[A,      @#bK@ ߖt6_?zB TJAAAF?#ձ      ΋@2X'{ |Au,x ,W]OA@@@@@nǞ &P\T$AGokjZl^e,-P_Q__xb7       @ CJJJV:}W#WWf(M[N|K_e73"     rI :$m_;w>7DH@IDATސ7oJKd@@@@@@ Aa@@@@@@@G~l      J ҟ%6l.ۛ˗/exOn_bW6o-wܬ >/n        |˗#ߓ|}W+ãEkq*9t໒ҕOe       |ojX55[pCϽK+.paSC4nX%ݧd`nP         6T`WǛRYYdqdxP]HiIb¼<,ȑ2z|M(#EEegXffdzjB'unƌe$t).*b͗)im Nߢsq3m0;;-/y~. :mOfW03"-sžBdz1]X b_+Tt H   $@?nME UeC J?|T_8d*ʫe}5 ZA?;jdT2crүҢCu,9ts16X'Ңr_ac][ksext@et4Ғ _FRzM)=iYDZ{6y{6}߳a'ҭ3nH+p:竳v gJ*KIq&z?&'y]>GF@@@o."[qoaߍm[ƍ́UrDR%`#++57ܗ.*O z()^%-6hb\yR^>Ϗ"Uv},.ueNб-]s/,Hon<-{D>k5wq1~<]K=| U(\%_;l޼S;GlٰLI65RkE`y 3+g;hw0eIoJD{RR*;wˀvĢ    &@\-VU.ۈҗ.VG'EX?ΠTIy:FZF̖yFu^ӭg}#,#-YӾѵR߫WύW}VsQ< xw] ;DҢ#rfoo$'j5r,Hmn}-@*⳱Upe_7V:L}n9blo/x7Ҽ_j-U~# .umɶr݆y>jS: *[p9Ŧhblܬ\X 9YŞ 1;2ڑ,j755!|   Y&@?n(@[vǹ}J z5J= ڎywꈾh~3ɾR4sKUHT- \<}LFm픒{69 t:}X攋:U̓Ny%]슙#AdQGi}. v9m.:x2w[$sU6c9Eer@3& ʫg8ߚi`XCƴ:5mӾSIcs;cq||X_e,   d,\>=)/Ts{Ă>G>?T;9F]g _yLOOҤ%ٳ[ihHvy>l<}6ï '嫪t*٠F={#]v/u~MUD?x'fƴ__ܾs.} @@@O~S, ɓ:ˠښC=]sR`U}}Y[e2ɣC6GijhǽuxE}КxA!y#-ht ~Hjk9ޏW`{~kv5UfkbNЪnFwߖt~T&]M4g ܼkT`Y]?d|r7EbOw0ڸW-^ ;TUI[H\>ފzmkY٘g2W'|z˰p%XGdmu!|ukFDM?l0'/O9,e#׬ݻt~Au.X+#\:#    r=WKyA-ނUFS9 ޡ{uu6wC-k| (лw/anY?665Ws%_RZ!IeeSWWA?Lfjg d⿒pNv6xc.|9ϝO|Ile1ϋ1 Z00LuF9%| ь8^[{Ƃ:<+H66=^SADjXR5o#͝܅Of`,qll\蕕dN/, [#˖TXXlXIg"RySlټuܸxW2Y\S+v:uFj' >/7nX*D/=䩟K    G/+G 9ԓ>!E:پD;[(nYK@@y&zP| &n%~/ X0F; |Hf/}LZ6WyuQY~ksFHHƺ:R{p.nb.h6%Ws|۹" R~X[]M]:GE:vpU<)CCVۣWWuGk8+;o?t])XfAG[=4#   @ Ϣɥ `noq80xWOvyNptXM `,}}r9guL˵eέ,f■l_\| W=l-͇KtGZQQ^-{|ss`) #?puij؞g{c)|חܹ Oj ?efbv?X}g2ʂ4eA `4ll/WyU7tP< q }HV+,evk_;#^Q6Yn9/}r[qG]Vk~ݫX:zKKOsbl\+W}:Ά \'ͮXƺfִ Ͱq6 Vq{s]*1R{;lΗ>_;kiT     (@ #62FhE2=kj29,S蜬b)Gm`$D[:(_Fb |/Oy*ظeljhsAܻ䪏N5,C͓j߲ylhȓ>vsW}46zŲ-wj;\xwC ǵ"TFDqe<22 W&lfO(LHΒypoںW3W]eU@@@@)@)2,PA}!e=9po\y$G3+S&Fё wl^O?=.jEGĂojKl%er-nZgשb_YղjejzBNYrk1,gҎ@\|ǵv<{dV,wSC4nxG=3BNŮl G qsK&%F@@@  7f#%NG޷*mUZR!^f׼^9Ioi ̼ڄ:(PESxʃޑҒrm:/]V4$oc6'wS,u5MF޿tGZa{ *#\juzm'Knx^{ )Ͷ MҼ2OVr륣 ;yꃘ;*ZU%y\+-rL֭ N1S=ݸq"t@@@D~H.@R\;p{_[B[u.PeTNX ti46$#BHQ\˗/ƞ^`,[ˈShGC:ˌgOj6޲o[Y]:̕+H:QE2ވ/]T>I{CVin>rg4TlWﺎo^ο/N G3Wr22*le5jq4v6UMYM9/[v}    @ ϰFsH} eimwz{Unn}O,ժLyZY[eժʈ`Ɉ}폨)ۈ~ʨ<%y2zeЉ Yeԥ#>OJh[FG嫟n|59K}<>K(ڊ:gurV'm9ۚƺfkrMG:%zιa<NJd96mu ,Cډ:Ix   X)[쑆֠˽y/ٟ{mVuvvH݆&M_dffezzb}%>$F>yP]"S6m/ݣt{]ր絸H *t . ̼ZXW6(b•3|RRi;۴2<: WYFtS8kreguҖ!ogۼ^ŦqgÂzϖV?-͛:dAl>LX@@@@| 5d߽Ai# PۚwT X] ܼMʹ y!q ^w%@4;T~mo:j=~>ڊ-eSCk7l)%o lZ]׏XmxĐb֜8 mmV|ص ngywCNr޷%?Z-xo)ڟ5o@Z~?x穟̤1?|]).^qt8T     a `|%\:}{ޒ]ԙxP].RUaF"vTKL%טOeGdVdCY3ŗ>_3],@@@XJR:C d6%Ђ25=!N謎xVvuR_kW}ۛKMwTwHy:M[lܺ}FsMdǟ~!'O`oSV2=o4v=ᦫJ0'B@@@ "^׬/ sޗZ7C/** yg-5RejzRl4R%t] [Uj5o$v 6VIhC`_>Cj)=ђ߯YS#w~ÿgQrCw,cߚg5ֆ;n}24bG%޹C l='T <v^NҖ1o[5۳QTյ@jheˠ`wV'u9m֖\Fׯ'z*@@@@|d@@C\ܬt%9opm}ũ N}FR{,Cb_zį}VP4B(߻;]3utj@m/(B]MhoZǴ ng^߹{~kGﵕ~ur\V ._yRE{O]PnhhMW5.,,hоWn\ٙ)߶G9eNtm%ze;:.ՕXIjA0,    |O*cnݦnp2G|Zqo CCusR2#J&~fN9t]h꣭دUTu5Hչ99RfTUI>KEž33/~/?/^OL݂_W}KvzqW?G-slgC33el׀ЩƟN_qq>A|*O%{!hC9;>yP]"t@@@D~H.c بslI̹_6)GH6Y2ZZhDۯ@|׏ 5NuFiӑ#OۥuWLrw66IC]-/\뢩8yf8`q4oktP5( X,jjJKa׮/_yH*K&[qq:R@@@@i-`tkתʺ%|/pƜՑy6jQn]#uvIe 2|T_YL{}';g @@@@ mͭ!$Wk~O%_p;ԙ[HMMcWQERalk{ܮ6遦OpgΞ^_>ʑC_z$Qps}G[Z[i6(]׏nq M5WS;3 ^L@yl[~QQ:]pryywY v7;ep'wXUV)_\|N9 %NltwL ۴%6} ծϝ,#   !a%F:cg'=/Ծ=zApgff75s-Qai \;@D w ֿ O^\99To K=>bS~杲ySLjŲ4mupxtGo+fl 8*5뷸.ۛ,. ')y:^9}>,/UiE[1Y=?ޑБ߿u++]훊Ŧ=yˊ299ϓl }{{?pKn>Šuw\z>TΝUiE:d[T?hvPwT*yϕ9zŦ ,?IH'@@@[~v_@ݲIž/gC7dl ,44d5kU*7Dt m}AJIYs$4;vWX) 0:=9"Y;uxJEY([wk0u:K4' )jN"Yīj5Ʀ8g5OEߗ"sdsѷ¿G;ڿ&UzV;]Lh(sq hkwP   K _ds'6W _E8|H}Q۸e͑BW?CCuԤ]ٴ >$بhm`f]D,lTU5bL.\eڍLͦ~,vGs]4FW aㆫ>\EǛ"yCϦeϮoz^A|Su~ݝ28ؓ 6΁   Y$@?n&v Ǐ{q}uMc{ʽWilkPz#ڞb ]"$HkoR=ՠy!׹횬mΒφvܼCφMGpʧ *_묣m (g1cvt޲y٦QM7j@@@@GFd@Χ|{:wlbm{>T)fx'h5wqhr_sgnl`a _]ߐP'5~v<bu*lՠANW-|T.\vFNPkh Ooyjo%z {|vw^UU百;8\Y ϑ];.6ګx\#cy15n&M_^^LNB}jSݵMRA21iJwdsH? (    @,cQc2@n6Ax0_Y2`#rIX | Vl݅g|'  O)@%E-m9M>T29rr8ɹ/]<}6ɦ1obvdz?}zbM]XTF @ us[j}At:rX~VShG~?!Aq̻ϳuDLt|'ч y>#!G:ng /|߳Q䫋wО:J<SlX{ߊ85DƩDB?Wz|WuXfIf    "o;kD)y`QbO)?//|%٢v" L<;Jb-ݥ)GFc=Dmٲ˗=X1(b;tZTK?N 1nRNxNdρeTeapÂ;;.̏/,ȍ_ʓX~ՕuёNa0걖^PegσMa/ \`WǛŤ^[Yl:]uѧtJϜ,#     wA {KTP#9FF i`z +msF9:QZ\r/y#U[פ"Lik]_8GG} `q3}c-*͓׎؆d>CG}?COz )LRKv)amGE䨷';sȱ?V)ݷT-@@@@CP@& x¿u2i^t٩tBF nfxo~e %XGߙxF. fm~g=gC}V]ޒ\oͻtbWSgu~ߝ[m~mMs#//?xe,SY=n}7}4͚y!}:MXt*ԸhulJRWWm}fVH^/B͊ʶW3,UT u*z~X3<Ҏcc=IEe;φ54_9u.$#ﹲdX?Md^=F@@@d O0G`vY~̖*F|-9A=mai%&=q16~pY PM;l\@dhh-P[ZRᛚl1|,a m/_Uف:ALiٳdaRGinīm_Suy`מ ߵ hC}Oq g〔DcIf٘ugc @@@@@R%@?UҜ q}     J~9 AfO@+@@@@@HTIs@ BdAeaa^FFALOO8WBT6mj:sm'yyzO盛@@@@@2[~f?Z$E T?=+7o 'i5GA?j2v@@@@@@ #gm @jvu)QQ9w[;MYz}ԗ?>>,/2@@@@@[~zZ,@UUt}Mrrr:ϽK4Q7ްa4o;@׍c@@@@@Ho}h lEEe~&p~(O ۔Arsk܋332 Jj@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ g-@@@@@@@A~6E@@@@@@@ Z'C0IENDB`reprex/vignettes/articles/img/bizarro-selective-reveal.png0000644000176200001440000034064214102672630023576 0ustar liggesusersPNG  IHDRt: iCCPICC ProfileHWXS[R -)wHދtH*vtQ"]Qq-,*bW,I]_s39fPafJdQ>̄$& @ \0ew ܰ*  q GΆ:;W ĪH".iR.)Rl) 2 ,`8 b6|6=,!΁X iwq3e<&6Hfߒ%[Cj (J3[MfNS!nᧄG@%Gb/EA2 i/b-Xoc $ p 'J-gL\M*/ bix)O\/.b;ѡ2Džc6Q!RQRL=[8ffIւyI}0!l/qX7 vO̷87+RffFID^χ &$)[k87?2F GA~ Dpxt&.i<%3| qpG2Pe\+G&xq6{nxw]c~ bl΂CxF \ ,o]'[n=JȬf?0gF e}v1d?3pM`Ox07h۷Z 2)ow(Ո?Zb+E vk;5aI1N[-J-|aml}qܹ7'w1g[[2llҭ-Cg#+ty@e7l@oǀ(@~@Spn b@"+!9`X A)X6`'jAp4p\WA'/ #BG4]@gG($IF>"B ːR يFj_2҅Cz~ P*j$FCt&桅rt ZV zv/! `ì0gTL-Jr ;5|8L f<|ߊ 9ރ_ 4J&$sńr>qyD"hBte"18XOl%v{C$IdAr'EX|R1i 4:,O%ۑId>\NO>EN~NS3s͓[+WY\EbBqP2(K)C󔇔.yK+_HUS}3"j5zFӼhI|Z-,1]Z!XXRA+E9E#EoYG)()+*)U*P4LWUPV^_  Ge*tn@{}DU` RՃj*jUTf` cF0#qqi &p}{^\z[455i4h<90QuDĒG&B̵kjޢ}V{@㥓QN.]CQL573Y< 7я/үd@1p6H5hf0hk8pa}#9#gtF0n4~anlRhRgДfigZezӌhliݬ5w0O74fZ8Z,[tY,],UwVVVuV= 0"FW '%MZ?⤯66Y6{mت؆6۾3cUݴ/o=b2wwSV89|qtr8rw2tJvtY9y%bG\rrtbSzYݻ=<=>=mނ zz/ܽYm.YJY"w5/^dyO?+ p[s%c-pJڔ~^^}g۟+~]cn\_S\VXֻaꆆ̍%mr)E+*nY*}*im[v;vکt]]wwn2*CS޸qv}_5Q5jjkk_[։8y`!Ca?~M#mG:ftlqa^`czcwSbS׉mnEɵ(=]xz5uLڙ޶m&ynڹ/]pӗ/\v|ƫWڏǎkNך:]:ty n߼z+Vw̸}sŽ{y!a#G叵Wݎ'{zڟD?y}Tsggu׾{?^(SmL_ׂףoVx[n򻶡ȡ#K>h|OG|&}bkׇ٣,Kr@SSxS -:(H^AE  Kgq %38 §P{!a4`FGj@j`ttd藽=Zw>~u??m%ߓ pHYs%%IR$iTXtXML:com.adobe.xmp 1652 458 /iDOT(1Qo@IDATx]x-UJK)^(]XXX,,;ŋ8o&lr4M999'72$JL C!`0 C!ЍO I$T>f0>mӒ5k]A陛=1\biC!`0D #t /k!`0 C!`0D4:`˶DhbȏI'W15# C!`0#t.k!`0 C!`0L4[0lVFcĐ+Eb#ύ8K1 C!W C!`0 C !"I؈ph¹I`mFkymg0 C!`ccc@Ys C!`0 C!#Iؑ"M^Z1$V!`0 *Q`0 C!`0 2Dr/k˶T;Mgc[t4ϣ C!`0FȬ C!`0 C!$lIhuQV3KwnT07<*uX6C!`0 B:3DiZsT:W( C!```0 C!`0 3h*mMXh'Fٸ>FTD$+`0 @"B:d2 C!`0 mwфHLX;'s-Z\/!*?K3 C!e!/|0 C!`0 @ I&hXX:4kTOK"IbXI!ws؈E+i6)?he0 C Q"Dy٤ C!`0 C46 "J1x?A/Kszg C!`FH C!`0 C!`$4 i˒q.akjkWcT1w\ҷŽV}“,Uy`0 Cf0BfP C!`0 C Iؓ6&x"ԬZt#qz5J}؊jp`[C!`0q#tdC!`0 C!`|Yh v&4a1&vYϐK4/)jK$ڴ;_m C!`E:Fc C!`0 C #'ƄT> qYJ˭fh$\>Y ל/VYc&UlLjΗ:Bp3rT1 C!FX `0 C!`0Mr!\OJp̝@anLjdڧpb&\]X;G~l`0 C@ F(" _n`IC!`0 C!`;%ME~2IS@p|dxaNXKV#B+ob -L̒1xflJ4>V:*M|ζ6AC!`0!/ yJNBDD(|A;)R8wSCy̞;Rg C a"$M* hx%C!`0pI)RBrx& ޼)gy Ȕ TE<hX{X<$1o,nK"$2kϙs%ZM HS_f-4ƪօvmц=f0 C! F :B<,x[22\;e.I1z$0 \Ш~{pw5CGÞb C!HM(~y;3@"G.>}g!W pna0@R@6z[KN"IPăG$ذ_bP"OfnLux8 l9nXQC!`0)qJxzzCCT^| ܼuYx\ ov^I0 &@܅}MXh1`0 ߴT>o0RfplJT y 6xp8$/ZFZ`U#1·.WW')v`31-0 5k#qYq3!4C!`0 9qJPC*tu$FdϞZ5!a<`$5k4W0#taaq]BBCq+!PB Ok9%wR:wz8wfvHf(o}+Au%m*c;q@ʔ)EӦ&Nׯ_]DJpos86=L4 GQ3߾+V硡_dl@:4|_t'WABjoh_^i!)$/`@> w^ G튏a>dɜ^'K,,b0 }tdy>pBUkBK8>^3Cv3n\B/^D[(T0&J\: N.c;q@*//?mZ߇ (=>>>ϱb#""`zgM֨\~19Q^3 D>nA0dPtƍ)K?&c[QN?oQ!kɲ)p\Ur.Z)W @E/Mz 0BG%4ZYbI(` ɓ'w77GEPruEρb53!O_~I$܅A = Wέ#Uo߬4IRj`|/1 3"<?~`Jqz96x OZ_d!Y¬t\11qZ05kVcZp I_A iί ~K&`d0 F$s8Slбɝ{70/ul^6F Ԭ^ʖ)ŋ0jxki{ fn(D),9st>?苝/1t*T*\o(I**A&˰3}IStȹ<._l!;SyJxa/BX3x>}huwjy̝瀀\gT^Ndd\rB<56הn,c؞deT> ޾p?xxG$I@Z xxn _GC EDݻ7 4|o C,`ݿ=Nt!{ t?{Ϟ=}ipAѹk.s-po0$kTtxnr#1Gʳ%.^^>mEFE@OaB:pO?m&݃dI ^u _1Jl`uly; <\uU!cIH矙˧{Qq$B,s`@Ƭd saKTVQ/CecxBބWx '7 goB}ܪǏu 6'3/?>=cGG~&Km{ Gcɒl11 ơt ZpvvQBK/] ZMw&1A77O',~~ݵ++[Vɓ/;d̚w n0) !{e Y27?"^DKW`)KW.߽7{.2CR>ˈHv n^nk;{6HAŸpLJ߻7^r$iSOY=5$M"ԓ'\C:~4%GVH1"U^(x|޸mu)'mӽ"{\퓚 }"ɳNgw 6 <އ>བྷ?/w0n<| o^L.-.<.i7<==d@7΍A}DÞwa>L>\#G ]wmѩtx|lpXBn W%'K+OڷV RZ5R{jWNGEurFU*W>>iTUH"v\C:n.ՂW}H'2 :bNw`:]ҵ -\ *ިlUHY3>fM tnص{:}x)T)Z*ks^+o߽!dU!oޢ?˗pQ8~xAڌnPt (X5q"9wnݾ2 ʾ܇-]fTmk:ٳjUkg{æE܇3ߦ%dɒCb!(q1ч9!ro p!^k]kɱo%yqDx١DJ#G~١LV^I-To;Fv#;0i)ubW )UM gN|65<f@0#:-[s x Uתa?_q^R*ɜxxŋVxPz~{uJL}Ԭ^#sR⇳<|6oۆ(R]2ą&_9Ф 7/oՄD݃ᇷK"ԙR_QEsܽym*dVJV n>Qaֿ9ES֋7f6.Sa(VkHt5 ypeBNH-r")~i+ܿ}ai܇5aqO|jC~,> |EAP֨8Vc}޿Vl⢉< OFHd5[Çwxz9*ioKdFx]ذG92hٮR`|1Hp59gt۰~}hڸIS±%yFwjh;eUu~@W4Oh 2gIvn݆DU$hW)ϘJT,y!ɦ^,ۀِvݼ| M/.f()̛um VO8 WmN<.]-Z*|T:^%;.ЦwHs $=P Krğh'x<\!N:ᘊ+ :$95TڱS+OǛtjd+T;]Qa_i=(V y!Ԟ9!=_REd"}_{Hn:APŠ&*%L6.i)0/9 t[3wܾzC~Hq=t4'߁r$_f/+g-k/󻆷9(S"d@"G<=pEtWhLRlDgtF{kIlKWNK{@&_A,9<#PG*=uր ݷfϛ'bDC:HZj =7@ۨ_-n~ZednR$譫V'fâZ_O C۴:VV+(3ZBD⥓"D5n Yz}v5B}qrPtuqV4]WVLF5FHI~sB$QM8J\]:I#RjYa5{gM"<dQ{Zb+DZs?I9@V0Yʒ -Z#V,CO]*CVwAo]*6K-ѝKD]VKhq{̺p:śJgȐԬ KRr݀wj.Of$H*l!>}|fҝ* 'S:Uk8WCS=N.\&2jKW9R<lBr| QGBp=%w, hdRO'm."sX'@U9b,y Za;:@Bdz[\U9/ňr!VV%6,ah!cKPy?D]"tlK(Gz~gσVr}%dj)mpx8K1Rڌ3/Q:oVhy y'oSqaXrBG"t-n[ L,X(F=a SuNl)N|=Z>'⏉rgsɝLRt^n\Z]{ }hBkU IvBi $/q9X;Ctk u7Hr6}]-Bm5>UZxU`$"MKĄNRաZ2۔2|>mshEcm-T*(&WbVsնoKB&tE+s>߽gw7QpIs2d}լB|8K7UNIsRz= EwRrv޽0w|*]h>!mk,j̙Cx_*i{~;_kDښ5w.ZIu+իwz>s"BqXt4ZT{bz9cjs"Er?jӫ5q\1x9uNeńNRŠf J t(R׾rՠm3E\j!ɈAj^䲬fzP->ԄZtB]۩9 1rI$d]8ZJyN~VxWfiATTS+pK8vjptEl|x١ѳZ7vi˹3۸YxDwrw?_I(-X -_DexC#PGwt#!xD tQCn vv@1ɬeHK.x'CU^qƱCE(=xy=ݔ^ɁFK\/rgu':-"<>_hQKx5:5P%9r}a( S'RJjCuCwb=WD\(fsD \|:)p r!>5e)=1)ډ<}nS_DqtNz&rʵ\i+OG,wogM:}T,aw1&=CEj ŕƹGLkwYd% ߾v.xvX5-Lb$rdI&cKBdފdr~۹`%丂8rͽ7K qqv/YUQ CLV0Lw!׈tSL$"l՞ qgY3n=g&nG)>}ș=cy@A|o"C+{o+>Nk{[F, s|o|cl`}5:Z" >"w!C$y q'Ɲh֥d1;92GrwHP~޸.2G!R'S &[hi3Cg'$jRpaAty O.Slgs[R?= $GAcSqjqCJ9cN΋KN`м[;tSG~eaA1n9u*0 ѕ;w%%HOJBjq2 x_|yȁc-y*H,a5<_Pv)\=·Eƙ'Uk1Ԥt PAwrUwh^.C"r`"4$MT4BD-ru(RR|a*:a/CΔJȧHDE`o&]挒rno5Z舮Ns `]k7c)RuA2%$?N6 1t{0$%s]=r5*qV|ߴr'nj1ܨ ;Ѧbփ3Xhg>IAP)OI/FB €~R˺{ǚH8#?2{DR_hIDê)EK//kn4VcOB^׬gnHqrֺEOh~Аz`[B2+;8 AtK&J-$e(ΩS%yFv,7 :de!^NnHayN5)WB5UVc$ &OΉ{ACVɐ+è8&;/sQDU̖?.+Qm*×-);!CX^rǮ\|yo*Uׅ?y]G٧4JV5RoA{7c3׫rDI%t!!I~\uBxϜƔ9ܯ  Ĺ{߬▬:'?0z3'X9@N9BDd8nܺ$Q܈RŊGx1h-^ I$aFܾEKe^o3g 6G1p> cSTPղLС2-)t߰޻kq17u5IPN#Q%)OcEj. TBbD|%2h+9c\5iI(ID9DN'Y#~/gbg>b|8s(tO<)kk5iGσ]*WꇉHViQ9JV%tF\(69@]/+&>[}Jh:d^*E8 cvIϳHx:oQQ."*]ڲr>|E[HKT8o* rBb)ZhԷoȖܾ#wT#t[: 7b$|c3,1\$#m l]5 w8qZW }r 14Kuo8 ԱV1&$$o( 3/ [ˁ k6J.{zީ }X󈕫QBWA OP՚p _(Jкx8s}6-cC3~r y3U AN"t(>I-EL\`⅞gDZ;2|YGgNOc$fɔ9hYp1FXSܚ7T,( 7q1d$D;%*AQGnX$CLPmS~ P+MׯO-11> yzD0aj,C([Ƞ2AfDJDBf$@c ѥ^&kEP~ Hx]4G.ȒZ[CbfϦ@X SF!4%S"[jU|:/G #ש\X"i۲ b^EK;nnPqX"Xt%ߧtd+/tշ/.rl E:Q^h1%w+~.bRږ3X>Be#ꜞUc$t(&)/\Cm>Ӆ· qҋ0NU)EW]%qG2:z,Hiܳe߯&;mu˞,3gdlGNe)I7u/I&sjd.ɒ%f>:|>hԽN"BG3-%2tӖ%f UE?Ee>AyɄS6UD͛/XsKFi˅YQ<"#mթ*#Y.a"'tEzFf%sFYǏa˶mR|폀G Фl#smsTBԡYX9#Ww_i4@ǜxxFgPUw*rޘ2URDƕ>-<*EʼnXclB% YOG Z?^*c1{:niQI; IƷ?pnC%RUBOæeVJγ@䠹8L֛H"m\[;]ǂA}')Kqˆ!ɳYG7CuzEKDe, }h!sN,SOuU-g$P )!k˓Z膌h0[ߗ|^}.Llh(=~Z.-='Ytűh4^6m*o+]H(0yI FO,t~(LeW?Idc^Ғx]=ʇ)΅g,["W -J0nI3q{:DjU Ў.I6-EDTo 7NP-t: ZE}HBlѭ=g's\?\~.βY:]cLz+ȸ=~L^liPoNa31~aqK'RС*LݚbPq<~tf%β(mOBV8BwWoG -!ˎ di\q)&%rm@# 1r=E1)DN!E"Y?Z`l{`@Aч5wZ. W. e)n ů1'Ѻ\ωb2Te6MLbY!t(>:N sJ؃)_GȖӴv/1I ӠTDTCuCrBHذ2\m1NֻѰxzL4_+lܼ4j[iJ䆚%-fwh[z>ڳfm*Uc;Iܽ/\hAR0O=# 6k YdhR˾Og IICFs}k_Nw+#sxIi1#sVZ>k@d%WkLbLAnH9/&ɊdI|-}R~&k\nPh۰p,a_-jmzدVE5]uCb 6̰;%rsf<ܕ%$f[˴Lٲp]sf,9Aoҗ[נQHA@j}Mſzuꠎd(1~%y!/-[ŒK,Cb/QN;u|}K1Ng#y-eX:q p/J%hpL@nsٞݩ!F9jd)uej8){b^5~w oKV+:j92TCաJ%BuZseU%V8ȯ}@wePK3,_5}mbL1Ԭ^|Q9kRD7dK ߟ|+?ce},HO.MWm%E.(;_iDC~>ƞaFwdB4yRaD%؊V6DN萕ɃUAb%lf+B8nI?u)\E8L{Ӧrbs %ZԶ7n۪20 Ε ~I>~Mv'Ec H 1%/&t%eXH} [jBdN+uCqr>=8Ϛ4@ƀw1i!,7^ V޻`Iw(%DP@2"AcoQ"t1 ţhP/§6^7WC/ ?dEtYv|~aJn"aVPJQ\m:]+cǣ1TrB-fͤq҃HY^;iHYgx@@IDAT*D*M/ⁿ;B۔)]1b (oњ0[XKNP<%&[ec ~3e DWT>8w?Cnn~O1N3M8ƙ"+5dXx/cD*vl?@dzy XHF$. _,Kq:R6"%C 5D% uԫ͚4Q۷9RӺA LH̄Ghj#AuOVhִgrt%d橎W=sh 5@dC`b!trVn1/vK^XnC˖hI:9o0T7ߨ, FnڴgXDoݫ${UpcY*J/[Sk6Iz1P~‡w=k֣rBa}w.~8Ťُq[,:ZJTZ6iTo}=+e4iM`Wjxx(,ݵ1~8 aB9{%(a$͓n_䳝ćC:`iDr gP yJjdc}RyYrB!{|RhC# 2CN Gh5iV@)ōt[ nxۤC)ϑ3n6F>*j UH^jOt+TP6PEofBd{6{H;rBgnvO^LuI'ew jys(ib2t(ܼu+V=2hH\0>]YRӢpCe;\1u[yq7~EJЧ: r1-{(wp@8¦J~:Q/9In*С 6*~СkRIUԔT?chQxO/fHMrExٴd =zU*] j,9oR!_4T|wBhUF/?tډGM^*čn݄0E^F%y0c/$4߸!϶~Z 5оWh...0}da,|bO?a'.&RفcaKFPP\ߵh߄coX QP/%[[:]btW"'t#m=Y\8]t[+͚tܹ Ѓg؈ocOTG[ן=Uz$[Y|йqD(^xH1B܆-RWGۭj9k rBg&^!vvVD([d5C+[Re4-$tkqEȯy ^}V^zENXUoY>XJ*uk׆)%""s cV,cifݡTɒV7[op%@b&tž݂ Kz>-)\M"=\O1SNoO{L,#Wy|xN&7, B&#$uk/2:wFISPȐm- v@P}KtMrZ= `H."!h],Jp@ tWd k/ǐDkI:FuTc)rN {\JKz-tz 0w%sdH!1"}v{Zk\Bބa@:ޱqz1"k ek. B2K-t܋XtXzN'g0aM|^?uw>$eF Ο䱝ćC:(t\錝 FݿCot:B= I\Ėt 8{\FSWEMHJ>$7$1BG X6"s8 ߾&ߎ-v!>$> AZ-%~ Dp]=$I3CrP Oh#!:B%RT\qoݾ*rx:57XZ]CWNЪ-e>NoJ ʙօAA|dKG[ i0BG=Fؙi3} '˰eEa?ЩNc*KݖKC83Gݘ%k\47kȑ_<.M OH\W/Zt0v;WCk?2e"Ja7i8h;z2.BzeP: Bm.Sy-&N5!I=!{ųıG*[R/_i#%>K:-A2 ˢ24B\=o]9-t &K eKBƬl[r}Fz={JD سq\:}p77b^}VdHӦbv q%^B'b6c:rD҉"tXO4T]T \NYcN 'ghqF9Gw &QrC(SJjz>ؾC\?0ɄbPL]tQrm \5oMбAIX٭H$fZMPD|:?Z*GDe9+H|B"tYc:c{oYf :eԀ u(1c?-ɌXΣ0g(=v2ezhSxq=?N[Ziz8[wKN\  ?!.h vkб/S0Hn(X2E]rBdjv?^(.6ц} u~R? K`-M|Cdž p킶r|ybˁipq;gI=whNSr,R$ѷ1W/ ;ƅ|w?i9kw@\tg}8c,9'Px-0O$[Jהn*I|>8 &w m!*FJ0 sfk:|E 0sPf"[xEqUϯfH'ttص~'*ׯeƝDaKJuC,Z4yhX_8D|/BG~yp|q{W$ރ\\RW1?9B )d\A+Ck#.̤cTr?c|6P6WB&h=OB%Rq!qQ|a޽q=Áp(B#qb[zƎ< 52gN$Ny̙LCNJWȋgY$Ac#D_K&HYӻFJy&!;Je#飐#0Qk/B';ο g 32:SA^f!h!hD,!tuuǍtm3dNG&ݶ/tGZ"VcdI___[Ţ{ምN8Dؙ̻ҎW,> GT<ա\updwlj{CNF5,Swn'%VnQ$yqSD[(TI~|%lM蔬rh څ0=IѝC kKaG#td!Hߝqyo1 Eqΐ7I|w`kɦ 1 tOkod̘QMBv);"OP~MpN"i_Ax ^ީ#&r+a@\XToRJT4t~Ŗ]> EtrJ}dk5X^1˜1S]c߀J;w.dUX|I(PKWa<YQl]N~V3Mچ0F_ҿH\h tyMKm'mբP ^JVŎ!sf֤S1w/=o־yС-f%ypBO@+yEl$tbr  0[t >!Pw#1IAD!˫eRNB7>^}۾d2 N*O$~]}Vg ԩ!CE݆͛e+Ajո27Eȉ=%Jsa;k͛|rV͜;B[&I"rfQ)S:TdRL#V' .&dbIc .+hty9f ڭ{7`6ku}F(CHBWUTcwq'O`mc J|!W}M;0@Kn: 5WPS<#T%)E:>طoa?&td/*Ρ<;k9*>}K7G#t|0N̿/F.CS8ER?qGr w;i ^^/_sž yHL8peX#N\g%?*DĽ[w%G6hMWɼN\w'ρ;nj2ЉBsJG,g,-#-n4-:%RxY;omVf3g/ª9K⺶dNzHn_ N;,ɋ$t$MAE ZEX{<9. Z//#"9"ߗoS~MOu Vȋ˾7=:V_ ͞Buۡ%L ҏ7۷K%yGxԓƁ-`yy1C Z 9I/QQP`e/_Wϖ,9gJ`+"3J`]:łV31@\: YLs٣u :srPo СE7q]X_܂Ɗtq+Z*^ )6- ϟ\YsU\:^>Us[}O0akBQȞϤWv¡#)iH'wc"طu_k-G#thqђx2 :n޺EIHZh!V6EERTT' Y峀܌/FFfiӦÆ*c ~BrBuqLzeM*_ԡBz|gغo1.)T !tԴ 6y렼Íƞ[TO,M)=.lx޼ҕv8JRc2aB!lֵ-4gn5YAPI+~YDC U0V$tVރ,[om{?~#޿{:BAE珟 "M~g:D/|]qCet-XB{*G)&v6}C5.O>ڰU\p1"VsW 1I8Cؼu)ܸy!5p >X+&tYVlx! R7CP]Sf tFAF|ga٭B$]"7!|CUKWL3䇓HɯusB{*G+/A;5eϞ7 +Ш4Z#R@mHj:sԉZg4F?bk fJtl!عvxN}0˥ʖƾ۪1*]L?.Ns.R9p~PB)r!ԐR:qGϜ:S8ה53GNIvA ['!\f^uDB{®[C!S,BUeaH#';H\Zŏ%qwXlI(X(-[2e.KBBPVaxcb5> 6fTn5|,GM!u'[p\O!dMKa07\9s/h$^-bDC:8<1W _dD+W9s HX9] PI%aOBx0%žᅔk1@˧,[y<s5ر} Dy;v|+RAK+T\QKLrE U9& x׼O d%&E܍Ql߶uk2o߹K󻆷J5|,ִ2#BZg5)TO`zȑ"trdqb8X>ȯ8B׿w9ࡲ0)At)&nD/CuKnAe; nZvqv^%<Dz~BQiDw>Y$+8"ZʇZo!%- ?7A: ١,bQQeAA|%%7%1H)%yvc!s:j9+JqIȭBhLO];GCd*$TtXdM(5g:PJl?YĘ.awx+Ȟ`|2_Jyۼ"T سOV^iJH!%ԣDx]΍$ӂ{:4\Ah\O=w-ATv|t#lr'K~XKn`[MғE_I.#>c8󤞍&#]Ns}TYRӕ&wh9)5 bV',#?\39%f3\P7`P_} zL7o_3gÎBr~(K$^5Knm> ^,\ ɇ\4/+ر|MCye:Djoӥ͢Jp`u|_ޣ4I٘Mj g|{zy+AIJ>!`!Y Ǜ=sA9siΆx=c.tYI5OƟ.RG*#Di34* l8͟8Ɵ)ub1u0cuQG 7&7nrA艟rSEțל1R9le/Իʓ(VWWi2i$$|OU7s?#+I etAuxtGA_=8qS4yY傅6o߼{wNЕ祶~YGw%n_COPP=癐?2Sʴw U ryӡZK&6S!%~<sʷR|!9p͆e&V8hS>#̿g-#}Rv?B/y2'y#8lOr3e_{LyΙEJ zDWmVL_<{||"ҁM }g|RP\)YVE]WޟM^yltߋ2m/ۙkf/ŭ|w5L]WSqNd_3d-f;غzQMtSJ(h}ݽy^t > 9u"}R+#Zt}>'{?埃KtyVZ0vK?ϙjWa֗bE~O eΜӰqݺs]+Z\;1/-1S=1;~˙sGLnlP5idLϳrjkJn߫i[9 )pq_P𗋬& (BV,m'"l]lst~\WK*ݒqm8 \%?I9Co;z7+.L7xĩǔ0+Dq8dEhȭ[߿/>o }&|ݐkQm9͞,c?:˅?铧ÓF63X-t[3FMrxQr;uQ/ҫY`LΒi?ѨC+[8߂y'SK r'I(C|sK^12Unlvɑ?7W=LIPBFNkNҕI7W#%zt/)ևKQEl/7l3˚I1H`MGzuAy%_i ND۪y.Yڕo~ea%'fhI3JH=u \k:Ei;8>T\2D܇<\|Q;KܚvmnͺutrFK R:Wab/$'VwP.>.B/$G2口]}^.\5fjb|m&]x_+^Y? sA_@a'p\]7:ͻ'_lҸ"=w9Zzxm='wz✜ژE/G}gB*u!W͠n_d룡:kQ~:}(gwY"?!nqmkMӝe󂼵mˎr4۷R0-iW?}Kn]{C3Q^ y`@%xe02grפMz V!w:ki3>pY-\VI[fH@_w::2QlsE'WOhut]`(P*Q3SՔU|aZ1.G'|!cuW/iVs𼭑?ׂ|AT͔U,۾~$ZmP6#? ܻuTإ%҆+?Axdl 5Rl=ְ)X⯿ɝm\ =RYemc~G=ͻ,ߝB +坴s?[)Sw\} ^֖)wRղc;w&88򷁾MzJ轚џ- t Lˑ0f mF,.c{ڼKJTJywՕŸvKMbf[/w5В2f}\tu[з={ի6qڕ&R<88)imW/o^Sְ#DyH xp/z5DBRsBZ\캆ry[9=xx;Xܝgk=rTj̘w /cݮBb +dnI)5}N}IINQ)'VFE%5[mɟ\TlC-HeT["RjҨ#n;K']D[WЩ\Ǚ;Ue}h>;ѵS'*WvqϾ}/w72R@NE'YGt+k[l=/GصLWڣؾcq?KR^3U6c|< X6o5;O)B~f*d{:\PH] Wj5M:@\oq3e+};Zw%tս 鮜uӞ;\D[W~/X\sĄ\ȣdduUe/m)!kvmJ7ns+ΣM*ի7sj}˕taΜol6,}8˾ܙu:66-ZjaN`1( 6.81+g͝r @{#num=޹~Ky;~Gi;7&Od??z8vI& :^rS/R[6ff݂S24)f#ōGNLBx$"5#-^|Q:rQl%tRrJ=[>N`\I&CpqI!:5[Q,2\5lەʅ%_NkF \WY4|A-f3g(+"_W_%U:}>;k<\w Zqta].lWTk_ 鯎G'O0o%zJ>Nm\߱sN].3WNʑ rZ^I%wʈwԁ)[RK/I9O)(ijhKLKӕZ69bU9[V $z()Ifv!%W,VQyen=}tR'fΑѨys)TJ/?{mٶB]G8% %&}!.څ3HwNr푩|'C˧0>#vZ]_R= ԧ-TJ=Säl{).ZKg. ׻TU%]]Q>WB^s+y׆YǛSUǣ⿭kN&o[җڷG=-NnZ9wNq:u|70u}Ü\c&8~W}˩(eDzUk!%MfO=8O3}|@Y8\Kc]{1rԓ/TiInS=ZJ~p"')׬6yCMK&RӸaCѡ:*VCik78]#ݸy8H|3foúw_,0,{g> RBZ:<&t3)nl{NefVeyI+OuetYp ΐrs/IvS­ؔgR#v\,8$ݛiX]c wl+D^$ A:9C!g wbWl|/OBi*R2 :J0sz\ O@RI0`Jy/sG]6S T@ϟ珌 oe p@R9Ӥҙ'@)o-eN|@J?jr`nYMNTr-H^]Q^ C>uyӤ6j_ݻiίa: Dz@Uk`*9}bwzˑHWRwiˇEH4R$a<<=c|akaiFy+#S yrUXxxyҦUR| 6$rvsדI&+.yI=9!%%,O{AJwN 8 torRWٳsV[$8\gH>Je|M)S.8}x)ϵ}5. rƛknW~Znr1CwZQRM(?94ǂ!O$(Qt|!/= W)8s.:xys-5>9Jp"k= wL zC'THY #R\$2׌}66Mb,6/FđeѵCX4xذzVϫKǎT\9s#njzW S/ ~\z0j:9)ӦI7y%\%LNtu^N)Or1וض'2mjJ#I$'5@w/?0y:-Rލ$c~\}>Id)(@IDATu ?yOA$@,SI1UTg` F˔=R#LzG#/qD=kj{. 2D۷J"#bIFN yp @ ddPѷ/8??h;-7uM{:Рh{81@}zbErM7__]($4 I#[G+tˉ @ ,P}GZd Pnߛm˕)C];w6lhA"R _޼4oз%K*ˢtR{׮y\ڽgafb:1C @ 8w\Ǐ!Z;ws1ܵ H@G;j,{< N9ʻv~慵!@ @ HQÇO>=\{ȑ蓧L'OFA@H&HmYt!u6Z>y5ôithy8)q[B @@4hӪըVM;K/Өc8ѭK*Svj/\&h D@fͨvZڮ\J#FDN|ٲک]tFc:!@ @?>M3'N 1߸G)RDXŊK9/_*bJ!Z\ =zdu},g@ @6G_}DҽHڗڵiCUTNmμys.m ț'W@ҞJڴlI5WNmo۵yL@@/^ @ @zIF)ٳg5xtwDK۲m-X?1 ukצM* &,^jM:C @ @\$߃ {Jo߾-'ƋG_č[wi<& !P eʆ[zǃf°wi˜eQ}&QbO \}}==aW\e~+:'ݡcEՙ8F\yRRBiɛ/@.:FդRj?- k>yƍ2eӞĄKwjr->JD}VԖ={>`=AEx2V3?!%p )߁ǾJԛ$T,T/Bh(v޻.rpu_ N/e">Y`L{isڰ3|y*[-Oڰq=oݻSIf:Z|y: @ `@tGߠ] _h,Nv>\Ұ̗<{гg{vxxb(U}֭˂ i˶vvȑ=;}ݿ?ōvæ͛^:}/\\|S N-zLR)Ef* 0 M|U%*^"vD?O;^e2i݆u0@&Y"Ds~:Dhڲ_cZ6H:*Ge+d_%' )$0 yzţFը8zL{}0Y9f#ZжqL:t6˕.C :>mq#C @pWwb@)iᡜupp0}޷/!*F(xyzѣ)Iwu?p =5td;;^~kG^e\lڲ EZ6(>i)\5 ڼLb6;O E^uQ5PH6]"Cmхm1-d$MDǀe=)k5y攐Mn^yLCՉiPd,iI7&I(~/_!~K=r777-&Hl©Gu7l@ @f c(@4W \9C/4]\s w4kʄV8r(M>Wz$52z:#>|Rj}G4;OFt[ h @. TֱM{. +͂_ӦyHf =a--aHnI=if\H[2 ,^8v& ; UZZ61Ѷuk^5ٳ4,5h@Om׮_ԑRh @ c˗N:hB}9@,:OH 뛯6sU23f~q&$e)RGEm-'OU뷴:.j{ݿ*R?I.(Yh+,!3W 6tNeS,nKb},iZeӯ-`8Fwn& 2HjQyh]{ @ cOA HƍIjoBS]|F񅶈h(K*׵Ohl>N]2;ݏ"rnrG ®gyTOIm9-QlsxtM u4ijCmqyub/)QwV,;E˖ӲEct Ԩu,8~&٪G>gPi/^l¦e3{Iŋ](sRaH2dL %$6O/Y0=}LO|ГGW꺶_kuΜ3N'MB &V 'Ѓ;a/Y;/6ݸer Z(m X5> ƺ|NO. I 5E*@>ǛWkrSkVN[4+ jDTt9GVI}|HL~=u/t/*yzyQҔ;,)\p?q0k"5mQ5-t}-a0)P(-}=]*ԭa O3WJ >ۃ|x(w?xDxȍkOɕ|x$e]𜯵mS򡂅Q4 sГ;tqZ8(Kdt{b[rIICGTֳI˂V7nleo ?:+rGXPlɔſ>@۷\\ŔbS N(gΔ'_*J‡#/x"_3:w]Kocʹ;~Pm{w]8dD ʝ'k)PFuIS&TUkvҦfM߶lF ./4 @ D@ H#[\`wv&`˻ XoBPSv2]9{×n&] T4y(kk. k֞vkYBr,建nuI[e:۹`~_)Ӧ5*S.gWhW#s9]޿w"E˖"eS.VShż[kOS)I֔]7.Mfϑ[bEi")QbOڲ"AU\夊SI i~luemZwά_h^@GKKdbf"B=~GΣۤR=Ni&m"ݺG۶^VRr Sf4VFH ft}}X ~lLIyL$,kԯ*T IGwn=}X%\ԗc_cpFN,?*.Rs05|'= ჷ # J@ T-sQ{6oHמ@{y;oj] ;gij=a? _sқLRubC8XjP#g fXusz{¤ujcGtB-H#FB޼>@ @@ dϗ5CISؾ`wo[I_t֍`bN{6ڵaS:ZIT} 'qrڰ .]ٴ >W;|ݴl&z[4T#6ݢUdFOZPdIe&H@fTWp^I3U$ը}KA mO:x0qxPFHz B8hoN˯?\x\֮7?LJeRjzӰc;32*_QMjl%λ?_>߷av\#M7H%( >pq> *rݽOSEj UAZGoߏ5d͞z.At#"oVg]z8 awIufN|{?$0y,,wRANX1j>eh}LԓnG2`JKI{hCI=7秃Nk\n[F~|khE*4fNIƏc2"Gv@ @*:woVjgX\HRER%Hl;ιch_vK2eedTF,"2|Q#+VHI3n{!4n:1GԼq~*=zr7]")rd)S*Isk+ř~]ܜn.yC HEC/5? {n:>Ij+eϗ;LcsvꌤӒ׃uKW:9W"')Z@q9#avdA)l\ݬ%8sYGJMI'ǔ\g iX}cQ2mtGSK(> $- )5}7\svXM Kѥ~ Æѭ۷#4'pݼԩRw8nD:w:G@ @D(б*璙s0k\"5\>=HۗtG4Ղfb$Rϣ8՗䢋\].Цk)?tu]yi>/AZ8_fNUϵ<,G ]2Kx[xR15nؐ֯oدZkf* k)^=~K\E\|J}(S oi3fEKfP<.~rsܷI޾R2g ;&]tHe@G*߿7^[/)A%}uIPɍTn]tk򤤁|#\H*B47j[pk k*X4gCF32F޿8eWmpdCkig:_JT7 5W8jwnkױa:g~ssR7Ht}Hǖmy[}ɶ˻tDSӭZX)ۺeKYa_[m a @"G Jt^ZK dڮ H em\ |N h yBjHɝ#^qwWǽJ֌ˀdԎd9+6l!%##\mW,. QӼ;i~[Љ K {MFvGh};0_R(§-ܾvp/we@GSh˔cfN[t}߸tUy~[>|l_KIfLsYKH3FN!v(xuޝNwNߏLK&ߤoGvWF59N_CG6 =ҦIc7C;w b̰Q5)gä獬t_R SJ9.)k? {6iV2cY)>ZWϟ=1՞tbV@Tr2#" iO95ję+SUWðMە).4/^ذԒR2Ш I|ƌf>e/~t+&CZjEw;vxK.>ͻ2!usfOn!w9ϟ[JiO{ BiQZE:.F[Uc&֥tkOh^ݗ m:1~R=C89r&tW]Gq)SР=9n1K%z\b;]1,s4G֍T?L G?C _Xtfi7M+ 8@NC@'$"ذ#aW%#x4NL =O4Nuް1f @ @m(c狺!-gG w͝;mLjH;ѽn<*n\kaհkՒHO qB&IL y_8SI?'=z}6aN!_9;c-syZ#.TkbG{yӕ2d 0ACƇ+`E_p5=̑귥*P ߽{ 1,swIRaߧ%nH\+Su~~˄pN]Wr~<(y o:1/Y2/!l^ٸqݏH ټ"D?贍e@GR+̕_#tq Er9)3۾2_Y&}F\RCp f5Q~ԓx,}iZPj_(qftooyhӰO} A2"}>~z23o({,6R&2ڗ}PB >R  @"W Jt[ ɜ3^ <59\qlslC[Wnp dΙJT,K2nhwF\G25eL@ڷ33{T;vlݷZ=YGoiܒHu@ScY&TN8wNqh-lsh]Ifbn:BQFJ0<#*/O:twMwò4>jCI8n%[tzX)%hNޥ*RȽg3=suF.B-~%u| `).Cb0auQ(Axq>t|W0έϓLH-o` b}xlE OY._nXQ3&J|m۱-X_i@ @(crw[u8(QF\ꒌ2| 뀎`޿wҎsuw"eTMSJX/ \TgfsP\2s]@F=߰{ie4ؚrʧm*q_u9U]vJ~db=.zQʴeRinmV͚Ԫysq\tFgX]f4/D%5=t Lg^$y24:TBIz.5,S3#)$}?h˩ztF%KwC׮eeXLQ9iH*iTn]>zfX̧ k ZachzI#ﷇ8c$T$$A%};{;"LC @@$DNxh,Y6F2dp \7ټѶZCp-H yt1:w$=f;_ϔ-35D !E@G:!:}e ]]a+3]J9Љ'_d0ʾY:r͞g~0B'TΟq']9H7Ionݢ~_i@ @(::sۧ]a-*U\Sz_tzģVڇm&ڿubz5tUc>ûk 98y$Ŋ#'y g!N37 okک *WݔVL\~db?Ӿ ܝܿ!ş=ku9X_tiqƢ_浢bk$ )sժڶP[=Q6s\8/>Rj tj֠qjʘrmWk \;a:b*UA]6t>tzza+3#Ԧl\ImF:oiakZ{GQ 78J>ʨY=oW^GEtyi@~݅2}6.3^T=t׻3IDATh 7n\J2:-!_*~Ӵo]{^ho"Th-BFp8_|cFUTF C?[m 3L%xp?Х2;3!ڼKǠ_y(QbOmѩwi<|Ŭԭgh_9muM!!>@_lYiˆerЙ4!NP5& RTiOOGeQ^*mڰSgw'ELҥ.] _~9Ұ 3 @ Q*؏~2xK C9"3#\3'}9(#5s.Z(ktzUXWE~7߾gw;'}I| ߐrMضWgʔ=D2t}^ćS?ԡw/YnZtp=T5c# s^:Ԭ1uchʏ?稳e 4v.Rj cGФq\zL!1M\߰bufò$IM ˶_:Q@/U$0>s/^%IQ.L1`Ad^4usei{?: |ֻ<-$:B^dKgyNl֌jתe`>p ͘=۰,f֮M͛߷941Ju^ @(:{6ڵxG37eW-\JgpfsDV@V0gß6OȐ5z8Ҝ*]Wj y&|5\u$i iu`nںz XڴSkNza]6Et|6kK?͙jWVO"}6Ks/㧹U;J&e͓n\JWXbE'"3a4#sJ ғϓ.Mra:)Hހ3yv:zڥS:̕Ұ}W[e23fb]ʔ9\F \v?핏zBؑ^^Hi'M0'NlHC޼Ͽ=<8!M:B_,9c:Q^: 蔫2RtDNWRi[dmצ URE{̀aǘ @ \@GF̙8|;_GABL?:!?f4N 8{Y WɃm3YkXr5*+5vݴk7~ӥٿem[Ic S햍HlXX|d'|iOS_KX|iV/7v]4d~QSNIR0jG {>&~kN2LV.umĉ}iGu(HmX=V3zir)AБ~n|J$T~>xܸeSIPO _jgI>GOC2ґ Isg'pCՍoteiP5iɍ_ H?j1dW\%ԗS?y.4k踺 S{8V5GZP{\sj btiw<,jp`@4~4v$:ae7R4@442pϒ%tTsίlj}@ @ Q2Ÿ {6o\[G.ЩMj$O*luwْ,[eKܻixB $!< P! 6%Gytܻ%7YV]{;g̬ffgW+y]{g;59\@3Ֆ,s,;1L\sh2RM&%T{ժA?w2uTLБ~p׭\=R% :۾dJ<͚A V,ĔrA1bU9o,}ǷXN۾hG+.^IYEhݟsO?sKK ~睺3-Z%fL%PIy6I/r.m^eAAAsnv?Ѫ; Sc׏%cKDGF+M׭^iO G_~^Lumnh/MC߽~M'9o챪VLL0mSN/LП_a*eB^Xq}RxŨ _X{R?)M43C0v0 *E/7uwOiؾHRX㩖#N`XzK(i&! xm'ͫVnƇҒitO:Hl<'+Ǐv=PCCjĶ\9xA=9bA      0 \БhÛB*E[nA{[/'P&x%\XtBw{KeiʞK)SEJVQ-*.87j룖bd wSsuyrw8MT]>A! 9ٺS%䜄_HD8ܣu}xǓ <{_֖.qD+ BuK eEt^X<39I]O_BCO1`/)9xXsl'y8bs%]cu]rx +9xY xNd3)(wCO/nq{=F _zy3”}֫q{~tZf:\ WS_vQ2 9ɩbim~_0YZ\w}Q=DY~ڔՐxDM 56S$ˊaa7)1O)EG]~߹gPx;f@btrizz:;zh+~6tnR,5,hll+,_uߓo[84v+Ƃ>@@@@@@\*gB#DM({Œ{m26'd1a0Qia߿k/o=/KW=Ɂ/>4<Ι/4wKְ^oFr͂3k>%ߐr/RU߄yōBI,ngnuiStM7ŋugδ YM5v9T{}0gnJ]xEGct2בk;サ6lYJǾ쎊PSWcYO93{n圡l|Y ڑ7?[YZ6>|E?3۾cvn?9fS(3,'wݷfmVz$"=3 fxGeQGc/ZD|n;9ڳI ɡ{KաBOPp  :tף9eAf٪sQGh1YMҩl] ϻ\rCW^MΤocS_W/:|DmA3bZmRBn&fL՝iARʋ8̕7\K3h砷^=hۻ9_q4wB!i3&ye˖.oQלxHxl1nKέі/6P{9‹wx)yOh}uISBs/\E,YUe#,,;xt- i9G47wr<&*Kةc0V[7 +vfkК̅_=yU]yfb<\x^~a س/\A1ߝ [fpCnp6/Qi b9gcם-V^`İ/ڲuKtݵ҅+WzoO?\WkTБKZūK{R{%uLJAUۗpkXM3.ڵB=}{ɻ7$ᆯKc-$6F߻aMJp?mcxM]䴓vutv1!_]aOoaP.Z[[]=0pcТ-J&Cx~/O*gHW:0/ؤ%yn[ە%5TQztD&͝3zk%:!R8ߔoʟ:ڕ|:%GR#yt.8;w]u;\MS&Qg GӣA!KB HEVѵW_u胏>yK!"2RR"(1)ȗsZ46tP]m+{3l I|8Nup`1Vn3\9OL8))9N-TyEYX}C9;g<(Qv"+#8O+_9'3L9y22h"w_?{?_Ͽw9dǴCT$0%=~6ng]Hq~ﵶ{zUp!t\]h$'#?!ڰi+:o-(^JKueMN?^+cO>iU #pӊuy XP+re41wza4\>qΕWҥ[E{⩧AM2 o/.ك[ Pa!',ܐyn+*Hh:XJˉp:NC@H ɧWzmn<,~HkzRx+VRZJ{pŋm7߬PCy]a99tyVa@@@@@@ 8O#p- -î|R+֬5]fֶ6CRuuyWmbcPHN5=쳴'/O[m&`W]'wI3ss-WJ K"A *@"Ih~ð?pR yBX.^/Rx3޻]J EQD sTzg?CvՖHzjrIQW\R2ݢm@qNUګ`ػo=űG͙5;v~G^@`yNw%|Eڶ}%{,K'~Ky7~x뭴pK7~1}ZK      g=?>i%Uhӳq 7e,#xHB@[(I¯!Y\'HaG41EŊw7S?N ʪ*z𡇨ϓ0b       xŅs s_4goNܸ5 林QJbhI o# bxDrss]ܚ_O+/WX[WG?555lW_u]z_sK =N.'A>{8FB|$]&{'OVK   "pO~B3IB{ol pk"&=Q]=Aa7?͛;WI|qQPssQV,9zt\1.@@UyDZj*SgW#^Gzl:q0 IM4           A{@@@@@@@@@@@lc v{ D             }(@@@@@@@@@@@@&:6`:q0 IM4           A{@@@@@@@@@@@lc v{ D             }(@@@@@@@@@@@@&:6`t|}|(.~uvPcIwʔ`LL2Q?7TS)cLOD%)tR(mb`-B5+Ut10'X.JE;ԩ~ c(=}.(uTz$::[,`3 *68p-Kͺ 0>ȇkY<>VDuuUc< Xh2^(fY@0`qq)!>߇ߍSoѱc%`c ƦR"/$rok*Xw=B"ib 3fRDE%y HtP"S'ZJ}S 10' )ٺ5ZdDZT>Ѳ}:w/ j]-X{k&_v-u'1Ͽ/ r:xhnK)0%;;i˶wunjtAU^Dz }}C==]#ݵ۴£jZI+fpK=,Xo,SXNJ۵#jmkա       #A#xʝqeP&&q _E;~exl{?LQx=g4RsDڞϨYb(zJ3ϡ F2Zm]%8X=j2k5 :sk{v@ijOuyb?/nOѡCuu^Bͦ+?Nh aAI׌Fё,4uw{E9t\eM_ MGxs6gE4.$rdc)Ɣs())CW6::&( tNO mV4&J'V% ΄Uèp9,%d!G&K.vȫ3xv;Bn9pT]]sׂhU8]E;d˶xx@@@@@@@:tdr+8C3kgQ:A 22"N^n8L$iKu tm'3/BwBƩcΘ1~N*Y)'KEkF/shݖQ֔oֲ- *ܻ KٙS, դ qfZbL+L$GjnRNjL^Jq qy;5&fy<|C&G⦞i1Q)CoiDh\RK[ySkX!쁓sIh5G(28rPaa#-5C x!hg Ǩdp o1cSiƵ|yd^ JrVyM2q矌} :`ɏ3F6ۻKj^Z3z1WTB|is.0Bwfϣt1"xlIiӖX5GM&WnTahVzGŦpR86po_DZk5m&v5tkkJH!˫eS+dLSLH."T.I55gj+etJK5Fxhm_Y~1T< F/>&4B պ8V4%{7z1eT",jfg'P*AS"eg|Q=SMɉsl+ˇ>ގ|.3VhA?\A'k_jjp|v˶Mw        Dn-D"NR{:wI:d|Z82Qsf8f8'yNV?~*9?DWg|wXZ;R=yP&CH&YPI&aȉ֛룃Ͳ%񌴠3)m%OGpˠy"bjrowXc4f';6CW~R2z1en3jg.XPmOg|R-*㓦RڤBDcδ`Α {>V^3',A'1!2̳\hbۀm6@@@@@@@@ZБpHS+,4\V)kMVS˪j$޽Lx tI'k˩&S u9R8gxKKLszztMg@pP(2 ֍ejI5ot$S3֋<, ,Cб/Ɖߴv4z1en3jϥ)w4[ʲabMw0 9ejJ,"raN0>Љ@ӗYFe}f²Y8[ :ډF7I<=o`΁#2-LlI(#aΆٵΛC-O!#?PF[Z/.ڲ Oڀc}23R||MYdbع# eR̼"")wƹ.nJKErf&,I3BЬܕgzỚò²Y8 :!`ޥA ӱc%˗ Y ɦp,9N+5%KIkn'Nqmq\O3P 蜾AЙ;"%ٸ\JC{[m:wiYtΎVڶ}^ fa٬N Α[̖YHH{Zek2eS s< ?꫆ۜן, ̜ϹT}&Po 'a`        n+LNii >x*WlL MI}8e JJLR F'o*d!x ؾˣAN9O"Mn5_9òEsrx΍D ^uvQgg utqx:a I- RՃ CtD\>z{{iq҇$^ǹlD;Ɵ3ko?aBV߉gڷ6?{EќY*]Z183+Ώ!+]Ur$ה`Mghm)(Ha1p76qg[ɗƋk[>Ë6Ʋ`_6O~oA &-r5 'Ϟy!F&D=a@@@@@@@LALJd,"q1ՑgP Szx);AcVrEE&;CcXTMya 9KБfdCQQI-,y4JCqg'@@@@@@@@@\Љ䉚.\K{xrz0LR±ɤj'PeEO,utl ՏI~<8[&b/}=RxM0ct,#-.=%;{4EL&EX:ZoXoXh4McO@39ka6R [a|ύۇx2DL1z/G<Ǻx7+Ϟy{zDvݾ_+BPk\LHb8&c,쵰pL3ZGăϫiLj :|L3ϥ%\?YA@%ߘEágϳȬ 'KmsKKʲʂ"u'bh;'^~Rsث&pCY) :APM|l\0aeKVK~%$LRH};}4egUC5h9v$-ρ&aGo0:"lLJ,SB0/9ۚ<IaIF Ǥ1;@FPh(G|_Y&+y<"Jz[^2}`Ð<$YT\Csk\Q ,! L\l}+FB99 zʌ 7$\po6{fy峿OgxH75%e6"Y01u/zԞO?fOS$kiH/HØ(@]f&ǐn\c$2L@IDAT|[ގcvĉ7 {7R(P@?(2Z2,3@dtx<(э,Y-Y9}{-IW眀Te=r,WT__+|͗_9xMCC" PŘ|Ue),p{G /1]fu?{6k̝mcF)QqFe݆y: DG'J@@eUk:?׮JpP 0IR5]njVo[$ԶX.-/6. BXh䌕Ą4rY;u]F6+s~Ѧb:ǛΝ٨5ձrsƩk.v\m{c!XIM6jNYnssw8%%dcۯ t$%+*KdZ]]f_ omtRQYl]@@@2)wǏ=_BC-{6-aqD'Xꋋd՚_mE$%KόT[-Y%3sI߷-$%eM-Z heIvZF:cFPӹ tL    @P΀ e᭩P7ͨTxK(456܅_zM:V$ۻԿ'Ћ!AZZ?IWY=;v@jG)wA; 2џ*P-9l;Z546k5=t2N:˺wV @@@B2zQ8t 0ת/H7֢`]5VV˦͋-f7mhŊΥ~ؚ+!aSM ̏: txe#:*E: ttwq-,3Ӱk{nHv/zZt*1e~F(|Fө[0dEv@="   @gh@g$!>]mlSÞngajأ\I-A!@vZ+E%GM؋Y'9bі .0B)()ki![}9oF ;Ebc)PU8+z9Qj^>&!w#W@Gbؐ}Ԩz}.8A   t1v t22Ka}iXg(4Qq))^X8;UE}c‡m!б`@@@=~Keނ/)=ec cӅ4de 5a{ =\-rGS!qn8dKxxs$V.Nx8LyW iRʪRM:]KppurdHɦ3s5f2x5cQyRo0Yׯm 1zׁNҽ{oHB]1|8b5kq hwi`5.8^ 1q   ]H{蒯zW=tjCC4UTYEokWz~=OyxB]'qn=ܘ\UΆ'sulN™՜4wuToVUSmRKn[Cz[7kB?CimGcܯtReLHJ5S[ -ۢJHH}Fm=v),e[mZֽt/%RQY,z5zljtteS$%Z-=T)CRCZay=,Tgg drl,ujط*L?wK%3wzr    @[ =oBB,ξk-b z|=$SzUQU"Լ?(˰9aaaꅢ=yI5jޣvn Nj?~?+UQYU&UgVPNzx(+'N,0}N糖ڵXzXe~ [:NݯZ*D%/aQM۶֘Wi#֬gTT*:r9y"}{QzUaMDɉ凎O- Ux@մLFJ:o.Pճ5wsx ˫%He3%4*\5IbDQ][#PZ(CE*drš Be ^"jm^LKf9fńK6yת{~'xM2u VS-PrJ$M׾P]>uյ=Xm(S׾X] 垪u!m秲 cz(c'$4҃Lѡg qj+-j~5!ᢇF {:8''OHLYBfS AugT]=EA_o3! I.+,RAƛ*hBI{C 7ժ.ϢpC]G EtoOT@suyG V!eSP.Zg(I]_ tr93е—dueoڼHnvَ     U@]p鑚-NT wF9p ?==Wk5\iIo螩C@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ ן#     .t\@@@@@9;      R@% @@@@@@ 2f<^L~'ٵe،     xO/NXxDDEHSSMCBC??,!ݹG} c@@@@@@w2p 4[C}KRztңgpm˩@HhOKUu|9xw     @Gh@'&>N|~ퟲeF{CVN\Ͽzf0T %މ2xh PZ};ٲк_G͔SO/dte˦FYllG@@@@N,ЮN@@{$>9!YG tʕ~}Z{3ձ$0|P9d…/xd2|d &Nחgʼ9۝nl^x|IMmeV]K}UW\!˖/o^8Цkcg@@@@@:SSA%s%&hNJz|oME/XAh8K.ήXR^x6zPP<93ޭcL;{[m;C޿RBÎ՚k;nD>9g%\t2.[&F߬5F    @gh@k/U\[q\vgHΠ&2aY@h?v~ezkzg'ɓϜpP m\#1SU˗_?l0ohZ=Of̐:      sV:@y%,,r{ں:$CFٸ@6˗ꏞ+N<]9+矞fܫRXX媙z韛k[oY3*X@@@@@v iwrN@ë99ƅwO?5ֽ"u*9xPuɱ)=yQQ"k#nBARA@@@@#@wΊ@8ndmhh{_Jʌ:_.RuOe-zTQ@@@@@?:qt `yg$11ѸYscz@ŽI'5W]el }}ٱiͭ6HN8TIJIn֝tе{Nŷw{au_#U9魬uNٶaL+)VŕM9?l:tXxGF$0y$g(s~!Yg^v%qp>|Ft.:{MN8TxqY+ްZB id4Uw>_o~xQNj5) ttwNQWyF*+ڧs7V{xsiظrx^@gLw)r K~umUeGNB3Epz *+,C԰ec~:>6.K^)--5c.W\z[av'!꡷>dt^X<{sVbc冻ouyk,߯S= OSGCue7;t+5O[f/F*J1P5uf glk,SNcmuu { mYI>V{ϗ=t^=ԚrK{:cG;nmΚ=[~]\5 t\߾q~y9R^s v[y䡇_߾Z=غMuށ)'$\u[[jб=Άk|jz̶ޛo"SMU.VGB{i-zw_xCiGUzQՃwOQiכ[uuuXi@gsyk~|'.۹jۗH\|ѬI.%sfo{ʥRb%++QK,Cw̳P8GߓjX6ؓ     -̛6K5+%w ~V1|xŗ>uw"Yռ)]Yd_s8=`7$ȭeJ^~ƺ Ke1wYe&v{~ Wxr9a|?NVλij;Luށ;)uNoQLy'E+r׽2uB4Jj ;IUc[.4Ӷk˿9vdtC-     @ tJKo~I*|hKZϜgĺޚW_:z%w-anΜETsx$$'Z'8MX|AUC9^ $W4כ]ql\N>{V y:;6m|4LZkz]>*ygEDEjt/${t={ȃ%]$u5k^0յ׊?}oQQQrgJlIII2٭-+E\.=2ϝ-!!Aƥ[Ouo-|rWyy⩧Lu     :T3U@#rʅgPb{֫߁0gOߴmJz{==pk˂7jG[.ǣ};X .^Ow>~Ղsd-ϝdE7^)vPG=z~u_|)Q3a`KǬ)eZ{K~:\[%&.֨.0H+R=<\dt$$'M8R9RCn|&+,=ҨKO?Q=$/=3UXͭʸcMMuB\z M ~s'RZ\ckJ}𦲲Rnζ@@@@@MaS-CǍsȴ+@)eCjF>s͇ˊKZэ:ѡmyQ:5*2xБ>z2} O㵶:)7Ϳ}j\|Vl֭쳦=un`    n t@ϿEut2IF-CN-tBB[o3gW?ȼi3[{+N<4p򱦺E3ɏ}cs@Ap!ZLaR \|U;tq9H\8z᭷ߖk@e}t |ƖwpkLtU__߬ @@@@@ t^ ߪ -vdg^YQ)ic5 8 s~[Ys.{Λac-Kf͗)~m]uj?@IDAT@m*K@yM!{=)/)/U_#L?#cl2PIQ[:0MQQrדJ@@0BտخD{gϽ ѱ1rc^\Lϧ&nɓM{OLu@',,L: ORRR\#N"yy:O>[S2D~ݦc)w:V@@@@@w*ѷ9kt4Kϓǘ'rE=>8 sdEl9O/V͇;2ɯ8N27];Y sg[tl5/tfɴ8ڋoR 6>u*\~%r 2l9sc[nt2E%>uʴӛmkK!]08mCCzR[hyc8ݤ>۲w>yࡇlXF@@@@ t@G?,}/K^a =m2ym66pj=ty Y`iKZ9vzF> ݒ?mcJEi}S2__#m!бp-?rY֢wٳ}A#]nj_^R&o>պg)^|x׬^xT^+=&j1gE7Oʎ;5y}8sgKHHq+X+p7m'nې    - t@G_mEY|d-^8hP9%2,||bj@'$T vy5p>swѤN<ٸ~atgP5̛:Su!c˙_ 4#qXaFE [J Rw ?_iZ;mȑrGzpVC=#.u0tjǟ:CM6] Nw꼱rk:i_@@@@@ tJ2RsX&93dxݨO~ߴ_::X${@?4=Tڥ+:W Ǫ0g uU][Ls*Y0c9e!2c$gn8diV,f 2s4Y0}v9SdqD7ek?..N^{%CJEE殻Luށ)'$\u[r.9kгg\wX v$_F}VD ';ɨ ˟u/5ʽjaCZeμy:V@@@@@wtH(؄84/[Å%vs;DݟOߤ^:-AjXIϾ}TO#C_,)iݍ)TRװbR)/.m.^}*+og߰瑩/I] _]mxs@Ht(ݒGfDI"MICcU-e6BL| 5LB-kCG­ʊJٽuu׺:ٺnG&nCn Ctr[uG }VYxnVKJ${U,C"[,J8|īƾݹGod/<#SRLRPP`JHhrZ`m L#ɶl.*:SsƔ|AcƎ#wv[ -m5{.9kp}=Mw,vJ5tھr)UtAIMx8tj(+GV ƕggIKM5Eϟѡ     @k{$&Hc{VQaIsn/kUP.sլW/Y)-ƥcƶئ5z%5|W]r I,=woj7k/*fq9|Cz!o7q*м+ Zۨ>sHMuu[%կdĉԩ:oxr?KoK"6*))I^xYS2kMn]t0tDC.TU˳ONt˫/h:tf7,+     uv twO=w L>DK{ѸSes~;epiP6;-opkZlR+'oq.1_pWuW+G7J{D9傳5_i~sddں{ܼͭ\t`ںw#VuΩ2zx?VT/jh¹j$oɓ&7h:5k^0yc+Gy ơ^nj@~8;y#]pͲ~y9svP2|! k߹D^~gj髣ςtEA@@@@h@GS(S>JV_bT95$ڑli`԰T͔rM.ag^v+:VсGA^az^a4yz=z2۟d <)}S.2TfY/%    }:G{#@nN>+G@@@@W:؎@%{wY|6Yg!]r~[,[5n@@@@@ t7GBCCeѲyos> DDDȨ#dͺu ck    ':h@@@@@9%      'ZE@@@@@ @tN     x"@m@@@@@@?S"     xE[@@@@@@:~@      ':h@@@@@9%      'ZE@@@@@ @tN     x"@m@@@@@@?S"     xE[@@@@@@:~@      '& }BJ =txə"HqI8踍D@@@@@:@ tzfYC-͑;&%AZw([.iֆ @$48ҼR6o]*MMN@@Z% (ih{7:;!@g!CBC:ۍp #NqIXhauuf$C/i|fm@@^=KV!k͖]:V< АC]OlXFٖZ6VD X= 7;@Dq #L]G 6C~YgS$.6ٸ&5 ɼw!]W VPl˞Myb*@(N||w6DmZG)(2B {Ə=O?tٸiݷٲ@TQz,)*ho#o@CӒS6*@ZZ?飾b:~n<)(agLj"YmCEjj$#W}}/Ev/L>fVZ{7mez=ro(ӍfXAWS:Ojj]neJv+ F5 @kߜM._1Uft@%JMdEFɘQgVqPB&#o'ٶmͲ۷`s`k>tix{GptMMMj2:ihZ&KI^z!:b]\l7>dT}4φvh^=O/+H;"))] .AMBc!!a-K;(RDk-:V5"2VƎ:˸q,xY J;POrf;0NmwD':tkC_?V]T MPF*-dU]fٶ6hY:LV gXBkyɲ) g@Kfm/ZTYϷӠ&='0Cf^p4ϑOƩ!$;ܓҿ UpQR/`O9k?:4F|1P4]wt4=Z{3\ t |,m-:VUϭ7m< v3^wm@ǠFE8\dD/߿Cv\b/6#BCIu@ ֢\=DLLYF6*m;1u/^ϦM:_ӡ` Q։l]& ct]ߛU6n\`'YShPNwmڪ# ҡn[߸iݷśXt >Y%3sE & j9 _i-uuՖoFZ׽jlX9͛"oM0.}cPhF6r Y Y ӝ#GհM N)R@PV=&G8h\^^(Vd7z UAbYuҡnκ_THc-~Ǐ=ϴIp޽^*hS[u~GDD&zȴ2clܴH:ݝv5`ի0B!ZjU\nZݻJaq7eHttP]J՜+VM,GwCLUKr_%o'HBB[՜ťG$\BX~HSiA!GC FɹlSUF$AWT0d_oǺT#V$a5>.4 atIo@?o9+]@SA%i__fwtQM[z,Y8ݻףv (x0:.́ѣ&53]qWtţq:9te) ӗƼ"-бcD oswH6Q'ɤtQ;Xc/MѤ*^6ӯ*hL ?>(&7B">2$ȿ(WD%S"s6Q(i4lhq*@rޑż8usZOc%5ޠ8%iJ'j?1.o߾=[/ K#x?\"H?oH;"es8Si/YhXݒz|;A?Nɣ޻{.yRߴm2nj>xX c]}ߊzdQtҾ{EFM9 $p;i|qQ}&Q#@eRY!k1r1' xDր'fgO"ּ"KL)NϭJـNDu>^ֹkwA2JX]y}hqQ~"H~ޞy+}늷gnO"u-F d$z*}"ʿ2|P;@eHy1ƍ~0]g멗\SHS).iEu:;g`eܕ'Kq:?>> [dAv(:Z- Dc#'u:'/sd_9T=sZ`/:ѓd S8XL xW΍MD9LLN\ƍ*hj[}X.^<Q45e:|K|Y)B]/9 ( QP51Q_Uϻ*ʡX`[X_g ͡xQ{``Noc;vj,<&m^]r2:/ c411/ P&I0;phlG4~ܴh٢~?9X%nZ3NJ9VaƊuy N63JR{Ζ4F6H1~(|MV-DIׄ [ p"=L}^Ds.5NN23E RvHO!c58Y[x4tDtִSa 5' 3`TQ2!k8,V3 ?+Z܇qcyfȷWD=+s6qڟF]]OE ?FJdMqhem@jNF5Xv:sh36`-dǮ+{#8g_0Xp:Dw97ǘw;EĀ5Or zʅǣSdZ=JEɚsId5rbn=g ׵~\6Z8`0727H ˬ581 IzSЍ ٳVGdܧ;~gGw6/=ϙfDVu蒤K38S>6aP@c_~)o EbIpC&>Nu”%oxW)( Ox'9OHMaؘ"l}k0͟!ȩ,;1X?0a rW?o r9W$zoU~#|mQt0I"TNDI+,+ڇF_WCYP4X;s /#G` -{1h{+YiTP#Q5z#<1 x!0XcCb|G^ܯ7f4Y رST( k.qlqܿpۙJApmn~;LxR{(TǏst_zco|8U,[֍#T_F.@'OsZρ 1b!`1${ϺHj<VKPy}h߁x%[1µRqGw"ǥ0=f M =/Qx}MLhG۟͟lj I]-+vbis2}xs iʊȺg#GAũ88{Z3%̓sI}wluF5Xs|瀙osQZfuP}艬AnXMF- sM\9ٰx;uIcfBؑ!l8^Q3j̹8ͦ8b޼u^3ͬN2yu]$XJBMt.Z(s3 =9 Kޥpx̾0^--!&J#&I4~X(IaQzIm؀>gdmOݦw߲=ph $\0XԲM]>:LXi?}рH6e0{^j|'z}0hᩖF>2@hDHt|1vhgOZ[ ie7@&ozAu0Mm6{/!^ I9sTK/R!wvnNkfÓgq*ɤ i$kq#\l-IZ:&u]t8Z16ӦM]YG"~*6[·PLvrB. p~:>@:DIrAIKd<D65Y4 ]sn@QݥT&uFqP%1B}+e9@`iGڋ'DfQ\5; t/_ap=E%pB-^!\o:.e xqlB!=/*aB Q6/ޛuTj,?ĸDL.pôadRQDw5r,b𯲀TRJ`'P&mߺxN)&hEjy#7oۍ<СDVڄ]"dI$pD0gfc7[#d<*̿.s?e9##$=SbxJۄ'Q_Ys atANE`gSmzƋUSӘq)%O sm36c |K=aD%$]).-hdŘ>X?5$]Vv{;Y{!Pwgg1@Ny1.=]uDݨ} RֽX8{M?Xs19f{K\ Ʈ=$~+FJ`AGe]"Iv13y|WXN9νq?}='"7z; Ә&jP0j4CSŨ`GaT!;A{"]b4<3=No|!*PуHKdȔ1C%>{-cN8h$'kMuH=)9ȿ"Oqiv{ok-4voY8 lB-vCFXבY{ v d7IۆeŸAlrc5ũ(+[On}$L@?=-ѳE 0ya &LMeפߤ18 ]qm}~GdvP~ʏ[~ChǪv1ad҄>y-rEi)mt6bQҗi!6) * ! xnܺ]ÝpڄJVI=nLc@ĈC~a#gDo}3SG<4>c@\.bMEɒp,Ȟer1ͭ }aM?qr3<;f<87DսHumH#']ާ霤<~b>ֿNGeq8$yP5d_cCr)R盫~FaûDtцJQpثҐa;K4-Pt4b~(^MD 6s58UMo^ިW[EΗe:/c[w8 eh41[2L33b/9IV;n}X}q#! o'˹ [Cv5[ ߷pJ` :c" hCwšvǑPq(J#dI)58T^b#!|5x8SJ׶#GL8Ӿk %E:6vk>n_m:Ĥ (T}٫fj!< E$:;zͱa/8nQ6HrRq ż~uZc6ǀa& @32 q>I^< 0a [|CxzZht]*{#Ҵ'uX^p1/i@ 1>0g6y~tEvW;yL@11U+-$JbRt| oyst|o53LaEU gu^tgxhi u:s u;Hw0T!gp"җ>u FޢbgG Zt3-nT R'{t H4Ch'E,\ Y=6CIr(~#pַdԮ3<{3RfmHns|ew[ {ڭ<{ߥ+gv0! |G\Ko[HhG:9DG?#^KvL ] `H8.Z6}ePQtA-u)}փzSuFղNk3kv]k랜CDNN8#k-|plH#N)/OC 8%dqtpB1P2%yP@Y3ڣ6I5~ٷ '4zgL>QR ,uCt`7XIBynB>x}wĹȧB+pxl무7 uNUـzfDzegckŚ2P_w9{CT sX^12hʲ2MY:wDKM>r#2C'p)2kG,(Il@G_KAqXO,%c&`_StF hQq0S;|oʢa#{9[[4hm;clm;:\5fjQ>M|y uT\ ?AIDATdsӟz1@ep61Ba M/#L0kBA@Iap,(Yd:yooJ㦯VnNtfWld?;tvlb^NIgt$^:Z6K.kg"CqZp! $b&(DZVƝ&t*Jz]ݲ} $%s&(R1d{ӥ g Glo?_`VoywYK48KZʙx .Vm}Zƾ=:Lm )%< Z}OĹq\w˿Y#ڮ9m@->dϿ\S$,c^헱Od=tcͼ$x" _˞H_o oO35c2P0P{WYKw2PـΆ_ yw exZ$Oʐͻ_tzS.ٚUgZQ.Y1$+ي M+8vLzJbN@@Дf#Ck@$};"]^>&[8&E_8Oi}й ^"_/0qo;5eEeS+ňkҖF 5Sq=_ctlE]\2v}G n@' 'N͖bˆ|#$ /F[;Ѵ--ۀQ"{nUȳj֊"u75OH=20teۀD%;vF:6eIqo8a\F :A<(ԟ>QIrt͐$[V([\韶lff=2ͧ-fJRUi{)^meө!/g;u4myúZ} ݤ6ɻe"pl=ƱPnIw>N:`zhY&R?Gm@ '<#(9y~{^84 h)cz12"k=(!s^CAWݻ{#N_N0;$'>WP\O&  MNݱ"Ec6S.o_p}wtZ;lC}e!?5u.>ӱrob"olWs3E7f:yOS ;%Gn.^PdydA/٠Gc}>ԈQM׬>oz@6+]K"_Xwl@#jR5}f:S5'C1hkJmãksJU4vd[, 5[5m7j,@g(::IҮ\ޭ>n@' ,:.3oZ_g✲Y+M3_։e3ȵ4㾾TI9']: AGx8F^̽*i~h2em}ΪuMe:?ҍk|4pHcs2>K? gQdx"t$N8]eEko6D&C'/5RuezlfoCk?RS]sQȻـ $SRo<7vZ\3QG~]xR tYMttq:!oHJGC6׬el謖:! E8_KxF4s=L{HH=djL8= tbۯԿiCs]ـ#:߾{[(IUvl@'!þcZb 81qemHfhGuqdx+;|,?i\ @;:8_|"{4b%iqr]@ZB ,bt3s;((s_g?Dt?nz4WҊJʨ`~Yv(uk5@T u|a׽茤i,h3\iRgL[]QA^N Ǝq:0MTS! ޼i<921,RSZM{Y[{|Hj#:\CPGox`(֞_'kۗ])1۰p@pEtC^riwLPϐQ'h_DsM[9hT1yen舣5_y`(\HD!5 @ׯxKM6..,i*730s~+n@G 24;4eny7t=uF;532 {*й/9H 9`!w Xf_8g$Er+Sـ TTOQo:JmMյ"J׶-)+^QIR9{?Ȱc>fMҥaM[/6%/5$KہH]LNlI|' l):P-wW?BRStyUƙe:3-&KNOCIt%M3||筯9GFE.)*,XCWlFGi^50>| t]Б- _{F Bw(t[:24tXZICrS{6.t[Ұ*ޖUr`Ϭi;m>9cEj.#9 PMR"t^"/I&dz>i [6s齥.H{ƒtlY2IiF" A122fen{>Rz-A%Rտom@uEqDj- Ro:\Fg_).04oA>wwՓI[℥)o%}mo#Sl:V1BJϭw?:rz9VlAVKOcvWluũHheYi&PWn5t*}??Sz)cc:Q? Ng4?7бoniSЦm;)GEnC9 jmtl"!*FJQI%;^$[.B NnnyNZcn׷-y#\O>mT]XOd[H3@4⏗ΰac";wxſ dR{ .]ɚbٳ|f ɹrOt:jx[uɎѿoHq/\Dh0EmT'/f).l@_+UIGڽzI.1acedx8Y5L= ) ;zG17"4[8\b}窾UKn$lzU"`JQFe4W{Ƌ!TӖƶgoz;"JrQ#?'Ci7>!)U}P==?˲FqpjIDNxQ.ͧMnKCv`\{z a& R@H:dj4_{б~%^R?/G9ni$Fߥd3H> 7;%^R/#HcóWЁvA\拢ٴI3 ]pq P+:}E%rePA<TQBS^qnYCmj&[}"[:C-IWSyC nq{; С-K> 44,]zRƎmXl4Cwl~'vOWWK*6VB|IO%4%D c+כ|"zF庤9'i;v}9+mBг((bEYi}novziyἢun)j[ vqUs<߶#Z-Qt&u2@|ד'gq;`[C-3]ߍl R/I96P,Cea-߭]D<ñU;:ZUVok63r8;^u.39IZ[h8<;mqcTsèmUr@31#8DOv]nt|I gF'NN(MkN= iﮊpZA^5^9qe::X35J>5dG bݱ c;nkYޤb}o!8VQ ۰ @GG P=FWHi4xB;YoQ v 8RiȤPPuG-T,GCoJ5h_-tLa)~-i޳jn礹i\5Fԃ#,Φc6hXOHIUm:ݍ ڼۖa}{+w8]!CFGh'J͍GgI 5w/^<*e1G80::D%yP>œb#BAκ ߦ)<@֩StA3m˶,@gU@7%=~LREڀ'!H05B@bM"֥4Im7xu/X4\y~NI syޢ"Vout*oeyV:<Rх7bh'\c OkhDKPqV &fL_CDڅzС&1>^#|齵/.$6g>5$i| -_Dr|$H#}_^Vn}m9cʶB{id ܊c{>EiN-wLJKsU9F~5>8uɇo|O HLRsDǎ,١hDAo=6$5tKz>0&5Fنf:<˹ 6":WLeb7 D1^n";{Dẗx;BԨ6;DhMĉM3[1MZyo:"1.h"82bjRHiMNH0ذtN %#I|q 6ҥ<r|GMo\.u*.|od V/SjtPIJl@hҜ!ƀe5.f:܋4!~fTro_Ӎߦ.PQ2l;v8̎'isF0WAbMBC=/5qE`~s NP^pU+Cowp !t|K踘uW6 c3Oy CւC`[n1^#3#ӱk*k|UxG_G&ǎѓhV`Z"F4Fy^BDq3Qd҈>rFsE֐{oNp;zA=It QIpıcVd1 9Iȡt\:sF{aӫ ?6o}R \(ɛ+X7h<xY sb0#oJ~t-!L`M#.i)lt~a\jۼcDQU?1kLz#"N{rTldߗt-}ar)[$][ZGNo,bP u!́`)![Ԋs8t1%RCs.KmG֌XyŐ'ʋ(/*9oX4愼`? i$JyFf[4}me >%|<$ǎ Z5ʼ?#7W3\T(5"}S6#ѽYz]G򮑿@[*s!M^eҲO5|u<א{!I%0 3c!sY׃O9~0ob,_>8av 2oj>{1Oi_5*c/ydMI"[ic]?u+k`\zmN;mKH~hݓ)".j` Mmq]03sZ9ƖE?Jka8'N.ϟצ{C1OGs1Nci(]{Y#6!- s i@"Qc~cwd9U0nId#=k ߵ9B EcG#QTXq}%O t H0ޫWrcE8M̿È3e61&mrf2 !2i HGw"2BlqS{Dzةx@BgV pAUu syԮ64HC~6#ٶ`ޭ92k.kF#ny޶si.E g2M5?_Ȋd(MHM0g{qR/&-פ]3@VtNqy1w6(mÜ~{΅ל.+_G/!;M}R7)nm2wx"D_ܗ!ǭK/ʊx@xq/yc:Q]eyRFeOOcpZӄ7 f̗}ƀ6T ϒ,#H" jҠ$ϲ@R`Ǜ'%LZ״Xr]YMs8!+JC3}Ɠoh$b|wHfqlo@_זȍe9gpva(Y"fL_{[e ~/ʧFCD8y;'͋W" # sC)m-2纶ŲO0 +kzԀ9l?coK${a6Wmw˼G(ZtD? Gī~u 79F, F5>%dc,G}/iefkIf-^m J:/qRgeM>uG8$/|s}e{ FgoJȜ3;sjF5۶C涯z95@GȤ:y>9^QOA —zwki}aݭeD|H=}Ω\@@Dyńh֓!ĜoL"=ùx*$Iz;vI7滍=VăE{^àK"Q1$d!W(R'JZ;Eɴ'u/佾Y篓u.u3>TeM@7D\yMm}(wqx& d<5xL)%ěk9yDǮl WIcto;%pq .Rx Wjz8BG-#"~7k1<";hgXҿBi\޶5xNzg?w}M0^n޾Gѣ'ɼL IIϑywR}ӶmN3:۵0G@rvl·n68Mdsr+2CX{8o(4O,pI?ǒ2`%J(E[qƓV%8;ݵ+k) >k1kr}-=` (B$vh v52i9ITi!} Ym~SHuwQ0 J=d'5I\8oI>y&Hb3M{˗Ouh$sN@G\:4mjgCEqt#߭%Ez_DՉtȑ=dץdQ"zXIDQ(ϞE'% txq9궊GΈ"m5谀,uRh,!rqI{Ӧ"^7D<+W2e3`;Q{7߁ DϚ"Q!<H GJTW{=Y e 9]NK,S3) [KMø+st9+x>o ;k֪w܌5;䎤#S| xLTFkR5JͶ&KRWn/?Dt'EOI r#|~!ɋ /? W%=S;]8}5JׂRHڈ#k?rד.ЕǜK[qb{ /I;F8 el_x4Yݒ%DW ^(ynjSĸ4˗'zA1^i1)2e߹;mW05ҌPL𮵉Ԉ8Fps>)cIvXzAT6q/X|uRZ<kǀqP9fC̵#/u!Y3k3ސk)o9yw &#k0sAƙV1ZodY]ooƛ<ߩ.ߪ&78+"7Ӧ)`y]0]2h|ҡp"ZNK_Mn(@9oc>uxich!tQ'ivA'+pC2{ĺ} ۔ɋ$tB+Qϖ(@ڿ&"X7Bdꤱ#7aiyvZ3nvXw1⹞gI+ioݺ려քC289ϖAyȰ˳Du׻3QNdt̃8 e5ׄm7G{0)AP=Uq& ?]:4(R3ĸpHd;W <QvNLM=mya5n9;ENm#D'5uB8Hz5rڈd<I'IOCi-8YJ>Np f $ćU 7<,*oru0eK}90H<F +q PVNnfFEi':@L|p^x40,yF~c= ( j3݋Ba,$c,"O:Bwx(QI(1d) Џa #K"@9 z*lGH;O?̬}^.Q!C FZ rs?@1FQD龬5}KԱF L?||5XD58w58WaLc+r0&׍^PgOnbz#$~_Ϻ`SGgOM.g{O6Y0dDp8 B߰iFp[u=y\Wz0@G"'_,OՓ Wv@ߑ0\؁\k_j|9+M!G$12":S =PN)_ir7 hoЁߝ<&gFk=$QçuF_~7˕q^עâߒwB4h_>.oD]܉Ѻp:GE;9r1n[#Glߞ$ܯO?wvU"(SWkG |4@y20SD̵{.}b~gwz 2~I w瓧zRK߿9rH2JrF"r@z ЁńF>]~ x8ûG_ !Ț{}!ѯϋ\I]kb_u~G1b?h@nD?},|vh:(:ńo (2:}_@WTkws~9tGTXGF`{EA~d`W+r: s&EK*?4:$w:ZXλ!ї(+~/"}m.vקz; &G@_`C~?%^:_54ME)D'"}y?@!oe謐sO:oD@$F<}~}`_Ox?%|S[AG@ƒ|hsѹ_W4kB4I?Aݿݺu9tx D$U!:ʛ88888888888888888888Ro`4k}E==y(zqὸNKu8tW9^ey@@@@@@@@@@@@@@@@@@@@@@@6ͣpF@@@@@@@@@@@@@@@@@@@@@@@r :pl@'G^@tzN6ʁ*9_N-Q:IENDB`reprex/vignettes/articles/img/anotherdark-andale-60-line-numbers.png0000644000176200001440000022770614102672630025243 0ustar liggesusersPNG  IHDRZDO iCCPICC ProfileHWXS[R -)wHދtH*vtQ"]Qq-,*bW,I]_s39fPafJdQ>̄$& @ \0ew ܰ*  q GΆ:;W ĪH".iR.)Rl) 2 ,`8 b6|6=,!΁X iwq3e<&6Hfߒ%[Cj (J3[MfNS!nᧄG@%Gb/EA2 i/b-Xoc $ p 'J-gL\M*/ bix)O\/.b;ѡ2Džc6Q!RQRL=[8ffIւyI}0!l/qX7 vO̷87+RffFID^χ &$)[k87?2F GA~ Dpxt&.i<%3| qpG2Pe\+G&xq6{nxw]c~ bl΂CxF \ ,o]'[n=JȬf?0gF e}v1d?3pM`Ox07h۷Z 2)ow(Ո?Zb+E vk;5aI1N[-J-|aml}qܹ7'w1g[[2llҭ-Cg#+ty@e7l@oǀ(@~@Spn b@"+!9`X A)X6`'jAp4p\WA'/ #BG4]@gG($IF>"B ːR يFj_2҅Cz~ P*j$FCt&桅rt ZV zv/! `ì0gTL-Jr ;5|8L f<|ߊ 9ރ_ 4J&$sńr>qyD"hBte"18XOl%v{C$IdAr'EX|R1i 4:,O%ۑId>\NO>EN~NS3s͓[+WY\EbBqP2(K)C󔇔.yK+_HUS}3"j5zFӼhI|Z-,1]Z!XXRA+E9E#EoYG)()+*)U*P4LWUPV^_  Ge*tn@{}DU` RՃj*jUTf` cF0#qqi &p}{^\z[455i4h<90QuDĒG&B̵kjޢ}V{@㥓QN.]CQL573Y< 7я/үd@1p6H5hf0hk8pa}#9#gtF0n4~anlRhRgДfigZezӌhliݬ5w0O74fZ8Z,[tY,],UwVVVuV= 0"FW '%MZ?⤯66Y6{mت؆6۾3cUݴ/o=b2wwSV89|qtr8rw2tJvtY9y%bG\rrtbSzYݻ=<=>=mނ zz/ܽYm.YJY"w5/^dyO?+ p[s%c-pJڔ~^^}g۟+~]cn\_S\VXֻaꆆ̍%mr)E+*nY*}*im[v;vکt]]wwn2*CS޸qv}_5Q5jjkk_[։8y`!Ca?~M#mG:ftlqa^`czcwSbS׉mnEɵ(=]xz5uLڙ޶m&ynڹ/]pӗ/\v|ƫWڏǎkNך:]:ty n߼z+Vw̸}sŽ{y!a#G叵Wݎ'{zڟD?y}Tsggu׾{?^(SmL_ׂףoVx[n򻶡ȡ#K>h|OG|&}bkׇ٣,Kr@SSxS -:(H^AE  Kgq %38 §P{!a4`FGj@j`ttd藽=Zw>~u??m%ߓ pHYs%%IR$iTXtXML:com.adobe.xmp 1626 324 HbiDOT(Ŵ` @IDATx|UWI @ ދ# MADE{{m" K@Jz|,ٸu%ݹ3sLfgs9eZis`            v(nf@@@@@@@@@@@t B h@@@@@@@@@@@@B HBFp @@@@@@@@@@@  h@@@@@@@@@@@@B HBFp @@@@@@@@@@@  h@@@@@@@@@@@@B HBFp @@@@@@@@@@@  h@@@@@@@@@@@@B HBFp @@@@@@@@@@@  h@@@@@@@@@@@@B HBFp @@@@@@@@@@@  h@@@@@@@@@@@@B HBFp @@@@@@@@@@@  h@@@@@@@@@@@@B HZ""(R%3'OPŋ<_JkT?#2edY/Ie=nuD8~h%08PtL EVB>>Cڽ}شIQDNA.͠Y"9K*A<}hoSJE+RUPS}.*r-עe|NӃʕ˗Ӭo-@@@E""B(11٩uˤQ9+X*,|"{vӴQYh\ (99㧥-      7!RiSJYtdddxވޅ|}蝷CϺ?h@@UH'Ȩ0Zx Cag];U^)8%;1[5"34uRt)X}v[ \մݎMOBKLl,u&Y4o5{4Է_Öu+Zp5 ѳ "//O][6_,th7ʰ2%3p0Kvdϕni3:M)sBMf "[oR"P{lNZfuE      2 - JQњ۰u҄գhz|JI(*p%kS&/;]9\;YWLy=>t)Ca (.?eP[30#?MM6hCc{SN <OWT/+'>Beޜqu@@@@@@n&nZAAB41b[,yaT`uhw7-(ڭ)5jKii4FڼM{<8@"I}U{p'L|ٛ޿}U>6ݷ'U/MSEz8, NwMB{#nxr =?4Qt?;w _@@@@@@@V$vUTI] 7bHCӳ,X ә3I2,dq5u!^bWb80p72ٳ 69>ϼDM r({LlTWmq]˯v/խ(ڲ尢 T_hԩz[ۅrcF StYjy[gdfdЬ3DCv~wQص8}\Enn"ֱ!.ILJO=U(]2}TYY(?e (]C{2=#\SPcwVrJwE4A\Ngċĝ&H11]aJZE@@@@@@@V"vE`L|Zrs(';Ks^ZDl[9>~wߙI/&&y px=[PG"r_O]Fd &λPJbٲm4S9)Xi\,QlPy.QT)E 7Ӭke^1G3٧Pg8m@@@@@@J3!X F:tl$zeXQ;[Qv'i =( ZC?qP$SO|]S-K?fl#/zL-wތF>M*//$ ʜ3 ^׬CӾɭz( R^UITU|Ū;@Lӧi[<<ʚHA5ĉ.FgN'+J&Z~~KTǛp<ΡW)V9ˢTex2+Nfgg6򀸫,ӓI!:ρdhNϧ$۾tJ.(pUnCݹlý(;8Le.uV<>sr+W7SKʇP@:C<scj-[>Xoizf: gURZ>-H^єWX >>^4s{e^0 Y.(ʱ      -,K\wnh4~W QQ#jҪ5ǀ3=ؔ˃}iʕxLfoŃeypҜIsgЖk(s &ɇE`i8Jիw?ӕiJP! j,J$&¤&7 C0o,&]/%HRd0ڼ{OratTjYh[$.mwRňbbd`W)4?)X|)1b5$o3^ Pzye]3}@t_x5}_~z><}F%n +O]z;?,O';OXUL/_N!4BciaN4V@#1[G]ШQ=T~5i1mp@U^ д$ExPߠHE3ٷ^N7{ AA~4i8dv{>xa-ABK);͒V۶k^1>O>C9yf}~ӏga~1/m\ťfYKZSj-וm_)+y-v])U$6 Fcȏ[m٥%LyX ߗŕ;XfK/]щ9uٳÚ5(h`32c'2Q&'&fhc옯HBbdNg+4. ©ݮY3|{7z!ԠA5E߮GOد[RvBzPG%(!>lwu&̤ 6nB}mW]Yf &P1:7ޜBrMr,]U7\…\Oep}WæS٫EBIQ_ēc}t4<.lvB"HKm'4xt$mfOZ^{俅OKdbK?ԭmѣȰCWTхa |n_>vͭnW~ 꽪VIӿSU^ _ u]?ߩ]jl'''Ʊ;= 4ozU9 @@@@@@@4Rή |š<ʅ(gSgG$psI[>, ʃ{В9TrcQ@7]CVTu $>ޣ%Ƿo)ZdAЛ-A~cH< #h*V{19J͓6g7gqP]H#9(_}E Mxeg #Ab9M ob3,X3f7("CqU6.6Zxjap6{9/l{ڎFzt9UyI*x.* Pt< XI7H 0}%sZʈT_FOq3@ #t1xEg͇/jrZuITzfjJ2]ϜԔH"QP\zܷ$˥tR1Sb+xҋC3Xٺ-YNJ0@ =q0M9WvP3|zZ"YT&Y.rȫIrə"V|dp!{SO&Iފ#^#loOM<.z0dk' 1e7bL6'HMp'Vki].XƜ`47!|&HuYף,a}2 c3BS,grY^C'9$ansmpM}}՛xb^d#"+W)>嚚@S)bo"-ڑ 59b| W&aؾW&WtooOU #_g&%6 V@g_ي39㿿o^hѲ=U߫]YStl|-0U@h)Egz܄Ԯ]=MzY_"((}JWfI:u{ Nʕ+w(]Kը [Sq$YVv.].7wSXi΃zAWuT0XGI!P\ dDReHYoc.~]}7T97e+- s.bhܗ{9L2cDGҰJs/][ /pߪ)yajkem?L*8rY$Z9Tf\Lyy}Diu|4nx{3LYӼj9>œ2W`fc= ;'9ϲg`!f Q\k׮.OUͶGOUP:jAϢfdX/LYz?s~W/:qbsOO sU .~Ya~">A@@@@@@RNo `]VBɹV6ju:gjAAZ4 ,Pzj v^j5r8=0+կ_A$'?՜  -*+Hc:{bMr|IgWavD~eP{[fo#R$fqt33oXx|"d#cCcތC^\ك,oBcCt0ټq,ZnXC^?~zO9/ey^<,9N?//;Wrb͗ߥ+Sw_;/o+诿vwX`y% *х3y>N_7j)TԮ]^~_RǧQ      Rrf##COUM|zirk jФ7,SKALl, y,i,W/_6V8pP{[>Ft_+[i=Ϸwf#Rk,UKbOIJL3'\˧QrYꋩca$ 6Ś,Ts^^UK3΁bo:s?g9k/Zw߳G-hZ֤!I2CԹ{ŰN[٣T2_SBB-U8u tCY$j''tkT]U dŔSP:1j2v@@@@@@@ k[};vggQ5dTУ_jԲQ)ю͛该p"V#FAΊ wt#Y3|{e y\_ϛ)QBHg9GSI+C5sBKwOC#?U`LN =fi 6ZVzX@Z7=BezoU,xԲEɉ/-[Q      RrVB={PyhrWt5mVԮ[hEU"o%';fMUެ:6c4 =s-{`/۠#`Nh!>Fl/刣6%䰠sCtUD3(FOhdIbl9NӬtgj':LΙ2弶{% ;Id*b1R'D t4˶|9 4F/μLu)s*]cjX`E:-9jR{Θ7-[]0FƱwefd#P@@@@@@J#-z{{1y$?eg\V:R=L6tJkaPٜhNfSmyr6/C}3Am--Z -J]CCjB^zs+FU\(0Z)%UUnBv_JWU!EŢXl@ޤ[G/0x?bCc[p͚q˖cb*{z,dQ ;6o.) ty|}.M-)|=OKnZP3%e /;P6t<7j=Y{BvU#TU%`|v MStQ~_;GS r<0+'oh_Vs^[*wUAp92uF?:ҲLC!&ZJ٬ ?aՑdg~*wGAHh( (m~׶rBK OOj׾ך,ϐ¡bкu(?1Z{AhQJTS{69Q#n?MSKU+Ѳ-*.g|hPw<[|3|QK329a'˚cwW2[/PL2/RYk{z_p~=}{w.l\؎"н?Ba\**pѢ/p2髱&=nF5Zzʲ`h/^ENޣW 1T,vSU ә3I m4,,&Nk҇G~J9&7tRaPr:{MB,?|K;EvyШ<+Hz,Ɇ-Y,E^Q񺎝Rj|Yإ (l, ^~@_P*40!{\sV!taC&ۗM7O}] O}Chw 頪z?hꔥrW$-6adrYoq}XJBKI=3vˇs||&xɯ)!M6d00('f1UK-77iՊ9g7-;ls}9X6uLgo_@7%Kst-J2q T^^jR w ,YhbZ -v/իhU%Sϩ\VI3]C !w CRKrfE/8oʣRA1pާjS-BAh.ՃnҤaURS3ic_Q      RrVaJZ,SDHE~e u6>2]@B^S9O88fd"7ˁ s!hZ yڪ}>|T,ȧ_2)5EaI λPT5cBa'hX~Tr@i$VEcjQXDqIXgOcq,4:~'?;/o4g:tÇg"KhE{lѬ6%UPA;u(͟ + Ԏ̉#[C#?0lׁE :8>Z)!?}V^ZgK  -!d,eEAhήmۺ4~*`)ԥ N񤅜G/.(Djz-Wu_t \l؞0.]J5.vrАT^Q      79 -wzD%LG1I+-g8[OnMf:Ed EVɣ"lW诚uR!C(iw[DH'ТyM_qq ^{vޟc~'q8-摾Z-79Jʵ-]e<_ 52-/,j͢ BKXXM4V3%%ƎT/r3lpw ,da܏yLv2*1^Ey6,ˆzT;YL_|9FWI5v\j[}U߾v.U9 @@@@@@@4p]*uζxZ6oq{1U#T ?QR<{E/ kЬEUQTGS't%ğ',D"=׬E5Um~i\/ࢢ,3Mՠtڼ efAR*R{^5P/,*\!7Mgϭ9Hpy~-(C/Խ699Ylϰ `[*T)I7&xqNWJEڕN')W UN+XdE6 76/?ix-bZc,b<7 IϹeef7 pf̟_6.],f~1'Wc|w5xۉgS:=]-[1FWR5b"_YC3b…/'aJ2nW$쩬4$tTr? Zk:ZU^@fd.~i9 6MbV5s1yrW{#Z5u^ΜIreWۄQN~Y< 5oގbڷOpvOԣ'͇˃t>a4|Un0C>z*%^mT(hω߉/NS}' H3ԣJ>6ӴLȮ[W:ws?r@G>bXPdט dA,K~J&C#" NP6 *1[g ,̢-nXj_N)LXob$ -Opj{©Z ΂` 8Z82Zfټ}hZ /VQQS H}CLrJ{;S_ ils笣o4.vٲ7}eΜ<gW3@@@@@@MmBKl\ueZ SxŻQXUW>Ţӯ jب gGF7KM[1\͛h%VJIg"{a{-bmg/gX16<]Ԩ>W=6|A:5ϖ1Q4bkڼ^mLvOGTT*UCS,ȹrDzoI|k TaHI/cJ@W/Px2] hFO" [[[+s;C&]5j P Ja >9ȏIHvAÂ{r˾19b9{HT8ğγ4:1EW^ΡW9`oTB0ݖE-2o}:/}>UA>84]M؜|*`/K ߙǖu?P׮Sƌ~6ʺ!Mf'Fߗq?Or[.SXh0TjZy0/7+ʥeХ+)45*ebk|i'㘻 N>ϙ{C>o]cKz.|1Zpf0S3q捾˕]V 7!4rU+,֍B-ӳ=%,Pw>Fl}/m_z{<&z1] {]޽lMJխMkrk@ZsMskն['̂K\ 8'Kv SXT֓>ӗϟFze~@-ZRmSP˪q({ou죩SQ      Rvv荷YNnr@, f1`HHz9|cHnT(-/^ /N%Rk`AK:qRFU,.q'c2מ|DxCR}'0,kmn[Ҏs:E3%Gn} 3sƵkP=!y@Wt$^I,z&ے`+y<&Hl+ 9|L Dsߏq;}OMN}ge/ø>/Dn[wy=cp9w\/\uaūsuH\v{{En^~!mw9W1_ s7p;I"8bpM{0{LOX{\a7rb ~zq:[ ڑVUK/|OgVMs)/ѫEu_|n9*wU?& eӧh@@@@@@J -%T8#:LBۇϡݻOc@@N}AZ5BQۉWRzeZST"L @@@@@@nZJ~Tf-0pӠ)f/MB&[x!Xh1wo&wڸإ<75h3ۿ)ʰ       -LWD"p8ss7r ;8'rQh_%*nQooXhqɹGT{g:v,ޝ]C       6Z܆ ?pkECW-Wa@@\Eis&OGe@IDAT]1q>Q(lhEk/u3NVD>ܝvmö(ʰ      -lfʧ8ђVZ_OpLMP4EyAE٭0lDի/B3[(sBHh }@EMe }O))Ee      -֡>Gq殧6(ʰ  "PB9z[dIH^7~ /C>>^E8{6^}ϿVT/znhz iC2,FB-pyu_L0~2GC([oΠÇ)n;vVV.t}IcϻoGZ_@@@@@@nqZn ˓^|SJ~\ڹx2  E(Q}Q1T'GhncN ѽo)9TP^/ 7weӾ䉧SƱf ߕ9" Ԟʖ-K_-1-QqTsdeД)KGKqwڔ|/۷)Pvv^:      &gh^96_|@@@@MjD͛RRRz[VhD[Y̸r9LظvvMЂ@@@@@@@@@@@4Тv-@@@@@@@@@@@@@#-a7Ђk@@@@@@@@@@@4Тv-@@@@@@@@@@@@@#-a7Ђk@@@@@@@@@@@4Тv-@@@@@@@@@@@@@#-a7Ђk@@@@@@@@@@@4Тv-@@@@@@@@@@@@@#-a7Ђk@@@@@@@@@@@4Тv-@@@@@@@@@@@@@#-a7RJ2ePXGtpJKIV]TL UY<<<=t)1A @@@@@@@@@@@l#6N%~ظ8ԳWQ?3iKXD2m22@@@@@@@@@@@vZlgU9` EV㊅ (̙6:SF˶hΝ2,FD -^X?$N)ɔz*xdnGcEe JQEݴ埵2,=ʖ-K+RtKTmA$@k|boLK߁,3OC#*U}-A'Ԕ;pM0ۈ(  ˉIt v {_S҇` $*((]cr eggI?+FFRph(%]N9|xy{???,IMk>U3?/`}6?~0'2 K!~Ӌ~Aiir8REˋ*W{H|YwPm_??*Z^ϿOey[3P:s_{ (;3FnN()F{Ϗ!Ai)*Y[/'wɏϥ_@ P/tMn}@~.&ϋz^r+!csN|̏68|_osw=kDhJ_m3>sJ;@I>F@+ K)^;ۖwfx{n]>sru m'V%Jh(ZU"9!|q^fm5v&JDeۑv5x`\aժ5%2 r7dY&ViUvt󎱰52DX%Ms~e"4jт``c&"R*L7Y&:*ժ逸ŦRB1 ,n눕x\¬,ɤ{v<&ϳUk ~6g9,>~\7*Ysr]<_2!ǒɠs"oi7ҶE8;[2N~Ν>EW7KɳNT*T>ey| uŴ+\Y5^y?HK'Seo-G d~"{\glk9.s{^ͺuy^N`1o6~ip$Gɳ)Ǧ 'fdR ޫD-aaԢ]{P}SEl[E~0B碅t{-*/֯a; TR%7AR@֪ŋ  4lޜjhqCe?4iJ7`?ƐdF9kAf 39< _@_{ڐٯkY&.Ǎ[wXX6ürj %Y4ăjʕF-[PLXffMޡ!jWq]Ǧ}Y'?MM9Q^V3VDzLzvߵǸJ,myСvꅄX˿MDy"x5E س] =MU˔KҶ 'KqLރ׬XY2{=dJMMg;vyb=Aݻ]3Pŭ9,: 3ƬM0ٯ"ls8ފzC,[P;*"cݪU#T(6</>{ TJ-7aN#eflbkyAx1U%(p9yؽW:cL:'[|C;mHPZ4hڔGaU .4t;曡\ރ.Uy)-{h1 zR-ZG#l4PKq=%T\g<~LkL|Wbɳťc=MXO&ٜm;y&.fБ7ibn Kq~=t;,6hf%rbԣgݗ ~/ulcOoѾ=5lf<@g yڧ' ,k(ރZl5<+%҃۴ܱߧD ދr!b(wV<)A_x?n_OmbRwO3w%\geWAJ90!tEfLWI|&&ꈱT[h.j GfL,'+V<Zgx7:Ż NŜ-ȋ]smH@^{9ڊ? 8?65$3[sX֚k})֠xa8!K#I}QvL.Z4 <딙ϟ߆yX\/3Ah+~kБ gg <*My[\&pȮN %=evXkB>Zy`ѿgE3y7UtB._¹xi m)W@|H<"Ha"P--~ SBufl{psz#qGHL;3ym7#1c*Ț7$PZ {rJh9?mIga$Mpfx 0ٓ'hՒ%63eBS5A&;nG[I{JΖ][ڿM(=ybpa,ޡ&‹-;.juٜ#3rcAN`AN{k(0y0PszlE>f.Ð J;xf$s]֮qFnSCXhL<0Y;Z/^❡{'Jj7Тeb=$qhL^[/~Y8/ ZMK2T٤2~է]8#{sJ4T*EBG3GXFKB!:ĻWBHk!:`Vsb+/D#R.=;Bh8 )]gyʕ-+N ~#mBp r,> ۽};nl КOZco1"`O@bTqW5+;׏>EO|mhMjh-e4P,,trϲf99t9jK#?T $usxÕ+ǹ>k_%gmGDFrY g[M%m:!+=|wFgjӮ lX/el{*y |H;DĞ;u:x.9ıfd UyĄ4}Bڅ-0Z#Bhy-B)23b'McI׬MU啋ӹS?UMN֡k74`澹s8)ΊL,']{];5=hTYZarRÇx@A1e2n1;vÆ3 M^)b>ޟgYd'6NT]g%y0秲dŝinwr2 /:,X>K&/'23XE/1t9Kp|yқ{\l܄!Oc0cLLYZzQI§^q,-9G -rͦ,#-ߍ=u aAr;[4g\OɜI]!)Xrjfw9o/m[1gn%M΋7=fIhGSu٥UGmonZ6nBm:v4yrA _\LmhKQزvKUp;Cd&F= /}ʠ|Ht[Mf߽HLز}dKk:2( peɔ\ge?a8mg5hڔ+vot2cŻ7<|϶,\+[gI^ګHLk{_ "zpƛ-Ch)B/w(,y A,LCuU]}xlhF2MRmg%-kw:\!sdhEAcߺeWnEwJ nJ+i F(K'HՉ zuuI5Z6+ Uڦ=ǪUJԁm+ Mw1 H3?/e᪷pE m"@odn=ϛI@=$e+m_m*3 Qi"ԜԮnXqIMXys%Pt6P_o{9ɕX$tޕRU-\ag-_u50 B@˕f[뻢QG\FYhM0T`$7n_y%edLp(w2Jc:RWuɏ?R.5_ gl2ThLθ*.E^;hocݾ<3xlώjͲeMKn{l+?<ТDtnh+h˝WPi5]&&{U$0y%/f.AkMKME{d2Ԋ]DžDTlE 2fsatlO@:,@˃B\8Tҥ2X"tTua%é;I <__Y8!z3/tMqR݅Qm@4h K@KvG` ea恖<[\ۦCвk{@vT,i2Z/p凍kP(y-V} ߮ZX4j)um\h:fsvE@`Cgscp߸7̈jh_t +t:Cی@=`Z9h.)s W6vFĤ5Yo28ud ޶MAR-]qSԓΤvMzٞԚӭ]>JDR!ٹg"]W--Ⱦ1UWnٸA}N'xkթW2{TBoد/^R/H۷N;ySnq"dS{ &bx?5nj& Ib%`KRύDhoq{P/LQy-IiL42y͆ ~}lK>ʒЅ-_Ln{ZVsa"+P.:K+ D+wJE~]w*˓jCu^/;wVc&N2ȵ^<h%9Z'?][qU XOֻκ-H4lxj p@/eޝuE-:quٍQ5{\qƥ ƴ Ҁ W)&VdOSee`⃏ao=9]-A圕聖rvL-I8&P.jRuYS- h!_[>|V=gESgp@bd2\YccV% _~^\d=Oˢ0CwC(fwB#_Ķ}l\[5aZJ`hz[YxB|]hEjC%k콺`uhA+l.LFtY荗^B=c:JZlNu+VJ8k(. 97ln^5]@AߴXĢ mh/PHT:P*J%Mζ eիu+~yВxVlPо}ivڰjھiSZzϫ'eͲej:ߧhSUoyTVVj~'U~ ~TӜ;sWj#U,=3VJ^Ƴ=(ƭ-۴QnxϝQӜ(؆j}loS:Z36d^j 2^M,,m5u :źb"-JjdYt'`T)힇2+[{_BϦ$%M'O*4ه*[r5ΐR Mr_>'Tixm] h̰rEr]r_U#&EI晉628*)2An(/ Wn 2|Gz 1#W+~0>Xvx~H$%RVrmV}Ҹ+k갠#C$qK[iҴ;σiÛcӺjMqcIVIj$>@uG@2_#ԭ<꬜>屼mwlk<5B5ΝVgǨgUN˲ZS`g@ g݅r:uVT4$0>_Y';ئh|/ݲ= )k%A~Ѣq@ ISR XLt|uDu}Qa=Ce[\$ꚬ4L{NRzK(mNۄ>9FےCj{@9Ym6,kO >]r#WRV}y-80&~B?0KIB*3y|m0o b jH(8% }ǡY3K}1))fh-y{:zGɒuC,emO=j*#4@d_La^_{"9^7X@K9nw$Ct^lԯc}4Qku%)˳g^p6ŕg%@$agEvvPQ|C`1+>/ C[S|_ݤhIPyмƃuܣum;o"3ZvƌڪbUMnԨ wU4S 5<8&@~~៩;_.z@YYR(tX\T)ƾ7 -TͱmhsvЈ?kCT}4} *jW'Ax*2w23)6w1t5e{̛ܹq!wXOV - F ݻbLon-PugRrH6菅Ё0`+ոYp^%ڄ_6 w3ȮZ, Fdh)jz87,T چ7^tӞ \`u֛B9 8pqmMGJs')w ==ilz&R2J ܡYu?ʺ p6r\n=|p)ZW2TCAf <+^r|&'tfoZIS%+3*@OuVۆfe@)6=|ݦ];50yz7LvZWnDڹ&jI&ax s]<,Ah.|MuNnY#N=nMc=.>/RhxOT M,y]ZoV<]6gyA~D*tIYV6pT_kC>Osg &f7 :G${]L3@i?3'qEj S^6i&"܇obϲ܃K{#Z{`B$Gq5xSF-}kp'YZ1v+y}yx<#8G9x /<*I5dӺy"eJaW->*I fg\h[ueر[^KгY-{OxuM^,5FڳJ::v Czu05zކSh:&G!x" ED=_.dT`pQwݥ:vݭuN&hs-jU@)>cS‡%@v cWB.SV~@My]㝹L8>Cnۦ# iX} j!|^v["󁬍Qg7%g?z#Y]߸c 6!mH*d -Xx<pEg$W1zL" TH{Q2JVG⁖T0\`1_M_@qŠ p NͤGKL8Sm\ߠt}˵ي۞įk)DDIu&"exRj+m?.t^ l -۶U6DG!EܦD0ue};6oVW|Il1)3׶oMl^ L 8S'Ez]w0,QU0oL&׫@(;ke,}V$"PORm%UH% L [{M3> `̋1C׫FMy\/݌o'88 4q㥨vzћ0yIDAT3-; qϧ긜K2wg#rXE-D ,+jTePDmLe=/ռ eo*QH]Nm,<x"ݧZ~[DL z*fzV1q})O~?$1COv+ `jVcwT%+s[$;|8cb%KFegt|ܟgs_tgnQ|CKT4SuwVk' uՈ dO\ CO=C%j2/qTQj^B 5;oV'7m:@QLzqC^e $f}Sy36߲WM-t0M2h,2QY$QSԢ*1ӄsaNP?|,IpGv)>^]kh)ry=gSVPpPl2SQ13W@^mp -=n뫆sOaK3-ddᖕTE L:S6cl\*L@ʟs5*/,mV#)NVΠ[ピL`u\UN.!]nZ["h$Y7kx'@&ǦFrnL6)pH=m'^j@ʃOPPg}"AF(,_0u(r)"<`g| 5:vz8KD'=?oL=:;!JťA5C%,6r:u8y^#H_:u;6rh~|j۾<[P6(+r\lI7$mVD&}r>*ha"` :Խl+W &6kwZl(%lq^0r3}R43MiO _$U{-5ңwzfsm ?' F -SLIf(ik$KzɒZ8ujٺBVf8ݼiNVqKR1u'ԺjhȮbhjh$Ǽm=&Iv R{إz6 z_rZ4E1`<)hIyU-I1a`uuɒYK+=ES逪U|5Mil2d6⁖.Z~_%-?_gt;h7xƁE[+Vׁo}˝&TiT.SYZD56,gszg~Dt̔Ғ82T.Т4G:l JIQK~&k!><;48$`>`ԧId~D( :;(WyG:vMrBG5OVVjjtMtNt,GkhhmiґȗiM\3McABuJQʠXt(y-#`f-Hj|M˓&^&Mʿִ %L6oUΟ7m˺$Jr!|,+` !I rkz|ҹ{w`ڤ,Z)2E;`@Lmմu2 #<=yi#iwݾ]rp~Iⳕn}Ѥ0謜IeZ"bx`2QUl\gPUoq,rҵYѳ֫Wn;tH-_ֹG5§KVXc4@'~]벍bv+,"pPY妁llnlL@;ah\A`7`RCLYj4jB=cP'@9xEtކgtKƪM~,t-I\ÜDTv7}xH J{3N'c_:8NEֆ6l7^84{HEyT s\+ՒY.I@Lh$/g3a2MIZdcC&Hu>\FmpiuZ(h'UO@RECuKzgOy3_u:#F[BgQg=TE5˒+R'H5i@ 1YY'.|* uFAیT];i{EJi4-% YFi@K-~Ǯ]ը%Jɰ<Вgi7nLn0dT-P`26@0ߓ>d8nUX!3mE pB7mRVrg֗46RW[ݕ!buN 2F|=RԱSl?Y=ȵ@Kp9B\Z ~~0-W~+=A)Ʃ/:RM|Ac&@O{uls :k/WmMM[I *)147:k,}"7]gT\PyQƼ IPxWJ}?ndU2m:WDC҅6$L1lsnŊ`O*~%rA(Ɛ8I@c# I\T!;wg9l@  ߯ؿ{ZtIa,=J_^Mk&,GٳCpm`ɏ*}ST3E80K> my2\H퓸==$*H0; VU1%Y%韅M}2 >4:fdw0d$ xqKR"*͕ϥ2m0tFA3WJc?1_EwTN J29]~G.4׮:,&ЋIJSLV_(JI&f5!..^VR7}]\eZd[tBkתerl2&pUUd-fCeD3ℴgY2o^nwG,i6oざ⮮Z_)fsGcy=~ )&d"薅% -SC-?xe6 qYQwVU}05Q%#R-TGA{tEO 0|-|/%|kZdMmb1q OȢgld,o^f_J}IAqBdߏ~UO2:MzRW,,".$bFΉcG 8ϊ5h'`y-;}3ܙ/crmӺ+,@0ɻ`z),T6x"~IrKߠhytF{^<`HJeg)WmÙ`&Gg_px*S&UD=R߇]&Ν2Y/Ƚh,TNY& Gυ쩷g͊..;h6wmbhQ x3$ۦc %t8/˳; 0cl#0sM7iF[-A؅ A'[a1y8,Z!fOKB8.])JZY! %R=Ê H窱& CJ$Ods_D4!]t!n{]Ў%eqػo01ʓ6+4%]aF?c~qP)D}E!aV +چn Pr_g7A6<<35nRNtM6:vhzd$ѐU5_{\2;<3NKm C5֢/s6 ,=(q) p Є -%j;y.iy.V168 5VWKvuԨ,l{K+yFr_\*Ƞ*4->LsղZp ԌjKKʨeLIZ`wB?6 mteoEL2. ' Z Jv={wpD;6mV̟. kc͞n7f?Ϙ7^|AȒhHEUeU3Ϩ2nX k@3N$$=@F[~>tHV mʀ 'Ù+5߀hv&hIƜ@֘SN$Z ]O)Q1ϻ3ε ;Q'ikld~@C/ :$[, dgkS6ͻmJ.2NFGk6_Nɸ?PߌK=}f6 ߙ=;Zϒ-]ep8lܸmFJ:|jAJj ,N$(J/lkIo rGܮ@ IYqRF=vY3 {xJY Ysg/Y)7MA  "M*/c6嗯m3`0 .cDSYS"hpkłjvq%u /KoߗeBȤ"MI`e,:}2Y"$`M͑_0/$;fpvYl2mOk>Kk)>6.c?m+l&G2oц_ch X3<$C+pF%>gϑ1c!WlwN50oN_/$HeXg4`MpƅZg1OtFW2G&hv\Bvl]P'$(oZl*f̹yط|䗛=_yGk?P[D>+ Nj{ƍ$mf\O_ʸMx%W_})s}]Zxsm'gU@ۺf嬨w`6~r-`JII/ц\?F~Dx`V+u;qe%3%Ls7 G^`<v,_8Au@Kמ ʜ[UZtd9cL5Y8ҒV*&m6q.#`q=o.'~\2Bp场 P,4S9l{Q|fN<@<44oHv]8xwkZjK.̏_. ي<1G^m[v٦@KaR <8g1dw.uv[#ԔVdM4K.5qm𺤿.ά(u^h9(׎n(72`dK){<r<ВGm/i@zt$+=]mWT=녷7o;|`Z6aMRXZU}ɼTʸG> ^߭a_hpxf,ݥ$?ڏBiR&yNIfYbEއ[@74ۦuYTa^QG%\EvsI54ҠZ./WpfP۴M6^ei6Etۦ#vgih7 7aZmm̙z8gBb ys94A&Su|N zBcrPuwhmh]!w'ɏHpm]m-tyIz&y' TT| [Ke.t,i:&0Mh)>qE2bx2!qor-^߼ؑjl6d*+g> ኾ,{Op^ɐ"3fsgm߶vY Jhn5˖)(5ĕg$> ]Y[%͜h[8jltw\{S؆6*oKKU)ȋ0pYI0G4oY];X!Z~Y?Hqd)Jϳ 5K|^ک.,y;ay@,,_yzi]&,> eލy}MMȈ]}j#0(؈čIr5, lo۾?yEoJ6M(l|t =Um%Z8$q,X̿5&+-&VO׫e&e5ɪvphOؠiMdvhmy#%{-iHycuRUKڍ.ٷ4bDtqLd:KCl 5Dt]eYdq!8xخ\[2Rm*BvB*nޝ3IkUSd_LlĻ Zd`/od1kDnFضtQJG9>5 ޶-# *%Pj$,""T$7U"'CRтSVVl gͤ*,ZrB$X+M7anCb[2 *\ XК Q ŴKfƂt1m}{1a zi;*7d0>3zP$yy vM"@O;yˆ-9@<{х,vM-Z(5iy9Pvv76#F}2~@tڴk,*z/JӸF`(h{J#&ܥ 1X#\J-\>xAcfWm1K=#wJJ}?B(7BWZKa-)Y1,jmu {BM9W2 ֛Q2Y]6m{TڶUCOPt*FRF1o@[tmΝ9S8vPM۷p}mͳjT_R)#TyE 0# vD #=D%Z Mg_ Q,G&s\- 4YiM@RD1P+Gpۧ6 UF:c^ҏN]}ה>$$#*b@swyv}"] ם^;6Eq;e9N9&+W:O,k)ACpJ#8qhI:?khDF/^.H2 Sd9 D&ڀΞ-Fyi&ˤ<75I]sM=u<7ջF d"ߐIS2Y (K6ϯ0{چ)%…$F9_CEdJqNy`RVⱕkdU_OOR~\ZHz$wnj cws),coLk,oU]yD7*-U _Քc0NJw cg8(y yƸ.b9&ɤTwoS>mJ SY&׭Sn }U£V;,¥ylγqO997ҿ>=>?ssr-??X3y?Lj r]F,3> X3N;}L.ajԤӁ7_6[紏{{{{{{{{{{{{{{{{{{{y Henemy[AUD 0dءc_===================`Xo=======================Ph{{{{{{{{{{{{{{{{{{{{{{{hv{{{{{{{{{{{{{{{{{{{{{{{?^@IDATxH*$$!f7cqʛ؉S$oIw w0Mћ$wٙٙ;oV9Bێ @@@@@@@@@@@@a 8 @@@@@@@@@@@@@B             $-NC3Ђ8IB @@@@@@@@@@@ =           N$84-x 8 @@@@@@@@@@@@B             $-NC3Ђ8IB @@@@@@@@@@@ =           N$84-x 8 @@@@@@@@@@@@B             $-NC3Ђ8IoP *U(A7fR'o@@@@@@@@@@@@u~%DFEQݴtFժi݃[tQ{wf}\w %n=jѮ;uEo:vS@+Qdd8]Vގ*)KE%8{L@@@@@@@@@ -AAAԽ_?p         OgBK #~$LޯE۷ig]F9TIΞue$'Y܌x/ɂ N@@@@@@@@@ ThqW: 4{T~i)M= :_rjjs?Ͳ( џ<&Z+ 8$BKRo0UE4OT aQpJ p dW+hۍ|[Cn{^mBCjp]sNB~-RNN 955):sq;w9f_®g(DS߻GK.!RќbJSLլBq $?@yTV^FpB03Mw6eQZTt^|tc-ڶ&ZSDd!w[o\_jlnڦSgj}UdET}:M7l ,qUXT56¢/>͢ '         C `ڦS'U'f5kTYzӬ1W:Ńn>Q&% .gϕ`z'%k8E25&5dQY<[f\ZeZԜ]EsuiHU0ϳIMYK L7LaA?'ik"[iL;X<OR?[\nݵ[ϟa0uT7N(w iS:nC?QFYz(*ȿq>~-*]kѲ(lvRE9 @@@@@@@@@@ -+]$ jvyZpe/UWmwg I8,RqHH2;9O*s:a!+&Y`R'?5Ie$/e[P$jQ \G.ߓ#6I#J*\0%x(ca*W?zB-rsW>tݺA,6_SXXݺ {vlu.3^UN}B-lߦzi?hr_z *Z8Fgoz)U٭Z1@5YmeX<kn8$gȪ)넅hΉ56F%LɵI"$NoF>3d{`PdyeQCD?*fQߧ֓y^E{<mk{Mpe<|Há ΕEǼ"Y+qW96u7oC3,6QP~n4=l噙}9>>IuҘ^ɣE>](w@~6H*U I)).rrh뺵t}}EDGS-s%ޢKHs<;{*;N~j.MYi]r7ZyafԤEK ЗW6 ٓV~Swpv7nHX6!IЭuRh '\eh_lq1Sk"eMZI4FuBI BεW._-Gf9E!<͋KjnZ+cʹs{nj◹y8LWʞ+&ND\'ĂBSj7C]bwۯ~=Z^@{R@>FNLWt~r~VE&-[,[['fXYZ_423Y@@@@@@@@@ 2lcT5.N7 g{ҹHi-\Q0т6*|"9˵-CiZ"HbmZf<'Wm:{qno['z.yqԄpZc ۛi)Ut, #eȘ޴Yeu|Gngʿ gzңC;(;g-^]Q%BKGԆP޿vmdZ@]wFhy19Y%Z+{j6_@cnZ^KIa-0f6yN$7WBBhVS{`{ؼƞ6޶Z˦-ue.otKG0Dx ǞVGd̑, \e! PSkg4IoǼFE´I6g}Rp+6g'q_:Zko^d8~Aߗ5ʅ *HOO70p'/"D!1!X3={R2*(ofL'Yd t^@דV0Jn+犚"ghXDEU4ÜE VB˪k3gՆ,(Lu-TϾxԿSަk=h0YuwXf$9|i5jп)Gx@@@@@@@@@@@ -2JztsaT;ZzП|Q:YTlw| &^:u'v;ѨPت{/*h̔Io)}Uгj׭b,Λ9V\vAMټB#Blݱ#*Ȉ9+3|x( ^^K7胇ĎRICEs7 ?Wޥkq_ Jq`tQpj^TdE)OBKZqoӹi3ϑ[9wӶ|=E|*[ tšL@@@@@@@@@@ -ҩG/?O+.P(QhN~S'EP wDXTrŹytmv-WMQꝻ47'\A"走ۖ-Ė$7"WʹY^-`hOShxtvpkV^օ~*{ir'Zk&ҠѣUz=P.):̑3x&TYM+q<+.;9ǵSYb$4iR^xSZըA㟚JU(9*=/ݛ7ӆ+>y_ucߋhcr'ZjӣƩ 3?q1Q4r {\W{TbMa/Ћǎu=欕g%%:R^LOLy[Q͂qq4T%"4dY՗L{6lFk< %Tz/^p@@ -6S4UZ$ֲ,;碜\9xA}jp]+4%9t*pu[PE<-ɣjH/d6y0jUYȨ(P",?232 ez}1]7۵[x>xbb"c/+r'ZtL۴U%w -;Gz\GE;>33{4q: x/ˢ ],>~ͭ< -+n~_x[Q4ÅEX fbڿkEY829=^$7FCʇ(GR=>j&"bgR^c;Cy{)JLNzFz\WebB z6)QӴ E7 i֘W\~Q-_ץ.1˓"7Ō_PJA ]Q{ 2:&'K4-i*ڹyyM{`ӹ}b|bX >6xQaٜ A@@@@@@@@|"ЁZ`1kyyt!>vIT^[ߟ6dt ;W%gs ˅RzQrX)&.18w,ZG? %%s49ht|u7^ت^L.m2|+ -R3Az *#(ֿj, GÀmͿI6<|6&MLpY^8z J[kUDI6V^mʛ_-ou|nӹ'#"ؓe*U2vUKY۶pбCiټ$9^ק/u/[tsD_?xs %%y⚜c6oQu$yw[8R~X(s\6vJeQ.: F0pJ {fQMvX򫬓ZU(MoҐG09uyf:$kZxXe|m^fG l*󽶈J\dnoӊ׸J/ |, F(dΙcFw] [s+5nBonN?a<`U}qN'ԊV*f1vՆ\O9W. %quxץ5nB[ht${ey@pCSF Zg1qTQ%u%GMy*k$wWII1?_u.+cSqɥ׾gV ~ÂQH= `HjG?^X]by]rX["Xe6J0h.,{ٲ8ZIdһ7EFǸgh5T-yy1>CX1֏sQj;٧-s͛PvÇ8eI$eU ^*͏%4V*/<=dSXyۘ-rk+_pw.74JѲ,M< f7oEE^(K[4FmnS9 w抍ݕFbÆ E+SsZա.lJV,FCu5%sfӱC.;\>hH{8݂[i7[(o>Zx4h؈4h`^ ty:r`?o̮=y~5\O,,[&dCwM2"m9O8a%\&ѓ;s=.Vs ,HwXMQrru<03g9!άqmWSB}syml٨qԟЈ`c׼Ⓕ8 Z9a w jG'V͠'>LZq DyEjі͇-p         X lAaԡcCy-]< ؖ&Mc@ټtzE9N@@@@@@@@@z^-"o?C!a[镗ާ$xwH#C7;Μ1@@@@@@@@@ 0 @h Y_S<6VWdiIOMo1ime8LZa w~j.4+鵟M+ס*T>S)fUCN:\s1ZC-? 7~;M0MoΤvD$m_x! p          ADDkIɆyos`)7'ӤI !.пn\)`,a աc:EFӺ~yC`ߊ+P^-b}ݻWjABKx @@@@@@@@@@@lR6#@@@@@@@@@@@ :( 爻->!A@@@@@@@@@@-e9.@@@@@@@@@@@|@BcHABKx @@@@@@@@@@@lR6#@@@@@@@@@@@ :( 爻->!A@@@@@@@@@@-e9.@@@@@@@@@@@|@BcHABKx @@@@@@@@@@@lR6#@@@@@@@@@@@ :( H*TZQTXXHTCqw))T'5(@\QA>ZqZ4Yx3ӹTQo*{Nۦ2'E?+9`Hl1UųgMe{F͛`th>2#PBKx[7oyt}wYjM|9bq[׭E Is98rܴѢ ' +RnVO0Oy^D!a5jPRP*r3Vws"XvJS!\[Ƃ&DPt3f>xw$⏷,4,'1|۹ӧ軥K͋|rܹW/Jo4RgaL6]ϻJgNeS> Vp,¹zW?     E4?Znr:û˛U I/KӅ3gLc"޲C5" R$Wh* Z/YZs5#ЬMjվg#VRRL;7nb4 ТM[jޮ#VĞ-;7nSYi,nܙtUqE#^@)ϲZϵаp͡;R+}a9m.̟رCi45uԴukxSm[c R#1$T6T`/5l{hQË85㏨I/yßqqբ>!mL E      !lߞZپ;i6dSl\ʽ|T3B `ۺut!" Yl{vw{*PԨY3!YkW.ӲsVw9̓썍 k@C:kgayU»E YՁrH6m^$"ߟv17tW8%Y|OkW#OͤkXy U;v2x8k=C{m[u#3 劉uZ*e wxH5oێj8b}[Ŷ/jѺm.ukYg/6*:X~/H pf ֱYD[ʛI'+n{!']bVx^,,.^}G@պO8D Lv^8w6\IwJJU}QԱGO+\s%{>4mJW<Ü'& Bc(9X1oGE̞g>%*Uz&6oؐ(k Os NY֐?Ӝ1 6^LSڈݽ_?]h AΝC٫-hfI{c?|[kuy{i o -[v]9%V^Ģu<`in _%S̫_(W !$ϑhwԪ]˝ZϟOW.^pn{L~Oms,P# qr:С&qQoFBv!yح(wg/g)"LkfX_<{EIBӲKӦ5IMڻ"\ ml My EoNGwMf)Kkڔm{&놤j05anثj=Ok R2v漬oes1tܩln2G.i~+H{(_\RRP^F8#LBWf;edud;ءwxPpٳ(Q ~uRU/b랸 9/R˔dsHgJ‹>ϟ99.)ʵ *s35/mѱC+~)H zL,޺˫bK]s8G°}GN%PݙCO0vod=t h -9Hy|/GDFQIQ3‘qxo-Ʊ_JEñ=y[4n& -v, )l3IB9b 6NzlF@@@@@ZKi6ݲW[V^NHd7'h)uQ!Jc,Q0/^5 q.;28>켆) Т-Y1"Ht5EAYTʰ/8/]9o=/E[ݻGfRxX׏OLb̲VZ7yޙCLwںݫv٢\<3CS\]WW}%tןꧧNMF frM.H.-"^硚!6yvl`rOj$ԗ}h^,ȴِC-Z#wtX@.ӃGk;[D41ZFMLQ1X մ]ڜCF      FhT2aPon:I+ uʳ"P$!' b|bk-I:b09z5u! ӭ/2ٱCijm?Çټ&7nU+Ͽ)$޿vm]4jׯF$BѲFoҪ5o -$JjbE3M8l~aÌÒÇWxGAhU.Ν:Eoh*HGǍ3N⵬佲)Үk7jڪlf+eP#Fxx$f,ީ.Lu2X{cHcTaʋAhqIChq'[g'⻥KӚu/kЀz h]l:ϊ>( [ ?$̙0>ByL<*f~]SHf/%n_ˆ^1BKa))%Eu;6mL3ODU" 7ZqB-u!Q=!k櫄kvUm"N GLĿ1%@& FWCƞÇW !OxLCI-rB];iΝel߁Zu;}"֯p ڰ5mӆyNj'9{ #}R]-=--dZuPGjs%#_3do I5+E{ eS~6&"^2=1cFBMn8@;7mTn~mԬuk"űy%E )TÉNqgEq5nB@fޣFb"[%[qa^ո8.X㹼ݰ\hyWP ⎱ݯ2کԂæT^ݡeػcŎP: Z\{HZ\(d?a6=^Ot[G-[ExGl5<#Dh7{#],@]ûYs[9aOy#GG.M+v5o\-[6w.g̗Bx퍚4ěD0cn($ 7=@@@@@  -)#NJ9W|e,X32O:EݮWǍU,f2 iQNcn:I]mC A"^Y3-=Q{w!6Z;KI˖Ծ[wp0U [rh;x89jMvkZod벉@Y{D{M){c5qK0GmJ;ŖIx/ flZ {,8Ij.p3w//|Q%]BK9UT {' P";WGο(BҹslaZ), 4UX9`μ((57|=d!un%<7o/bZޕCj5jP{8b+-K9DW]-'MkVGOR TuN Znޜ.2sɏ=-Zu::~uZ$cmZ!MhImԈ} LPWGHk]su>/q [ŒZe8a[J'Z5أ'.g=He=C-=-dkyi;z-6-PCh-ʍ\D~3=+aBLAvRl*9'vl4G-y|5Z7s9Lmn2lZ[',>utL My m^aJ·oP;g?%$;6^M'U ZBBhԔj1UŴZ#p,T(T~$ h8&fr2 1R6o{׌z}0r0֐1cyve*T@&&a@$/-V 5oז=X{[n 'nӡ#Yy Fvk )#"d-iCm;w1/8ωݧ;]rH-۾qЪZ30j&#˪H?TGVӚ6={)k41(x>ڑ~7YwzShl=9irƕ+I4kb^l23iwC#$μ_7u,fZeKy[hQ wAھat -릸H/W/j=mh     eO!cRuޑimWcǬ- - #If[uHxΐ~RLPDb"Z?.J+'K5o4 N"Ԯ_q>8`Oݜ;y9h-xHIBl.檓tJ/cdz"t^|>#A|Jؐ\f"Us{; =#FMu/KKn+޺\<&N 7)^KS1Kߕ~ɉpyk{\3?Ih-ZRꢒx$g'̛BPVN谵˿'Oڽ {~puyImV^g}/Z7V׼)Ё=:o8.࿧r9ԧ=!J-ؑ|um4p] oc]G^%?&69nڻ}u\Rm;v|MG9$[׭ꘞsޔޤ'6JbeS'V(ݬU+]RgО=N-YZ\{JZ~BAdټ@y١7ARJ't6 y1ǡIxAę*3h%TqdnTN]bO/+.<>%$mѱC̋ V8ןLۏ 0*~|]ğsQTKMV`Rz=s9`!Z]a&%EjU,pfN82-1IO+těBKT5p 39 T[_hݩhκt}z:z\XKkV~ūHoDϞZ{f:oVyShy4!j]ʡp75۴z5Eԑd2lѿfw[rx#ᡌzK̡+&}k/=:o -4={(tCɞ7gqkKgO4j+'h$';͛Bxh[׭ڭor: [&"ן~1m2( .I$ { ɐ)/  qh~hӚᄮq^&|E>-E͢KáCeO gLO=g5oc75GEk޶ %P CL٫yHN1{Es٧hߎ?Dlaj$b'MWh"[NhImԘkkNĩAhܓO)Z?|'rux1G,5kIfoMq`"kE޽?GU„@HC)H AЙRluBGE)P[2Smm팠HDJ@* ( Bɝٖm&g6Ic=lx>-vUhqɾVG%+mrzg6d똗 tkyTnkwOJtE3%f*Vp~<] $߷ tҷ <1zӕIQ׾z0K7܍kR{wtacNABVvנV^#&Mr Eݔ&Ȫ&DD@@@!$ux,OؓV&'(6ˇ5+fҫȸpN4߿Sͽ}Xvd^ Ӂ>Ȃ.VkX_nM&tRw~- }}_ӟ)GtL?Auur_XMجVapSS Dɑ%Kdj f8s|# k[` =R m t3g=đEsFFr* twwK[m9uu$7~FY,'?\S}zۛoXHt'䔮1(|w0V\>Jv]qS{c(+5>zANMwA\s_qߏyv@@@>Yhsp!}5i,%_EvUUJL - @K#>fEQq发QI:AoAv˭vSCCg~:q_P8VrFǾs[oM~O6=66 :;ڥ~ו52drsse> ͉~X['-f?{{vg2u &kݛɱNF"Px:5(p_{i5Ң dV li2:O73f3unސ+kSN^8c}K̄$& @ \0ew ܰ*  q GΆ:;W ĪH".iR.)Rl) 2 ,`8 b6|6=,!΁X iwq3e<&6Hfߒ%[Cj (J3[MfNS!nᧄG@%Gb/EA2 i/b-Xoc $ p 'J-gL\M*/ bix)O\/.b;ѡ2Džc6Q!RQRL=[8ffIւyI}0!l/qX7 vO̷87+RffFID^χ &$)[k87?2F GA~ Dpxt&.i<%3| qpG2Pe\+G&xq6{nxw]c~ bl΂CxF \ ,o]'[n=JȬf?0gF e}v1d?3pM`Ox07h۷Z 2)ow(Ո?Zb+E vk;5aI1N[-J-|aml}qܹ7'w1g[[2llҭ-Cg#+ty@e7l@oǀ(@~@Spn b@"+!9`X A)X6`'jAp4p\WA'/ #BG4]@gG($IF>"B ːR يFj_2҅Cz~ P*j$FCt&桅rt ZV zv/! `ì0gTL-Jr ;5|8L f<|ߊ 9ރ_ 4J&$sńr>qyD"hBte"18XOl%v{C$IdAr'EX|R1i 4:,O%ۑId>\NO>EN~NS3s͓[+WY\EbBqP2(K)C󔇔.yK+_HUS}3"j5zFӼhI|Z-,1]Z!XXRA+E9E#EoYG)()+*)U*P4LWUPV^_  Ge*tn@{}DU` RՃj*jUTf` cF0#qqi &p}{^\z[455i4h<90QuDĒG&B̵kjޢ}V{@㥓QN.]CQL573Y< 7я/үd@1p6H5hf0hk8pa}#9#gtF0n4~anlRhRgДfigZezӌhliݬ5w0O74fZ8Z,[tY,],UwVVVuV= 0"FW '%MZ?⤯66Y6{mت؆6۾3cUݴ/o=b2wwSV89|qtr8rw2tJvtY9y%bG\rrtbSzYݻ=<=>=mނ zz/ܽYm.YJY"w5/^dyO?+ p[s%c-pJڔ~^^}g۟+~]cn\_S\VXֻaꆆ̍%mr)E+*nY*}*im[v;vکt]]wwn2*CS޸qv}_5Q5jjkk_[։8y`!Ca?~M#mG:ftlqa^`czcwSbS׉mnEɵ(=]xz5uLڙ޶m&ynڹ/]pӗ/\v|ƫWڏǎkNך:]:ty n߼z+Vw̸}sŽ{y!a#G叵Wݎ'{zڟD?y}Tsggu׾{?^(SmL_ׂףoVx[n򻶡ȡ#K>h|OG|&}bkׇ٣,Kr@SSxS -:(H^AE  Kgq %38 §P{!a4`FGj@j`ttd藽=Zw>~u??m%ߓ pHYs%%IR$iTXtXML:com.adobe.xmp 536 174 ۫>iDOTW(WW..{IDATx]\W4(R{Ec{-h%أ&={Mb Ycn`91ٷo_rovޔUjF`FP,`&0#0,`0#0##0##0#:,`)0#0,`;0#0##0##0#:,`)0#0,`;0#0##0##0#:,`)0#0,`;0#0##0##0#:,`)0#0,`;0#0##0##0#:,`)0#0,`;0#0##0##0#:,`)0#0,`;0#0##0##0#:,`)0#0,`;0#0##0##0#:,`)0#0,`;0#0##0##0#:,`)0#! 8;G!A" 22C-d#[>viF`2 @ŠrUOȩ=gMHLx_Pl#`X[YA6m X^RA`F Mܠ}۶k~94Uڟ1ͳfhܿv o޼FwppA&v;}xMM0`رP]x`3́{~~F=J/# H|k7Xr/k\0k~ pow7oނSD8f?Tlt]jՄ:>xs̓xIoe#0s!mF\` E$I:bŗ) @6O:L1'#aHsĉ`kk+u5XdImܴ$]M6N\|":>G!0w.=*kb@ɘ!\ދU>҇qB͛2,Hʐj,\(q~@wn+n]@/< #M>(CϧvZ`mm ׮_PxrFP9sw~ 5җ;w4-4mQ}YENpMT4W@=e׷o {~)KI}'hV9;C 5زm0H-Gڋ9rjnhU_ɦ~Ѵ#R&Mb G.2^~-F!кeKhۺS5)XZ愺<11i<[Zf[7iG5)xzzL%&&„ɓ!,,,#ֈ{2}:V b^דO_~ќsTcA OX 1=\q̙@۟"\ .\$~c} _Nj3Z;j)]Z3 m_HsمBU5V4|V[[8 yTV'ԪQ4n1՞#` _"""FFC}W|Y}\<>\6K៫WeuuRGؖڵpYiIf)`Ђ6ol f`]F)GV$Cx &uaҬc6mqWb(<XgE޼y[#ѣpInU2Mܐ2Pd51!cSwO+X蟃#88b" < {Ƀs[Ky'-[i.{#"ҶaPYYS1߾;~޾mգ9Kє^ m*^Jۡ"@Gڋp\h?4UӰAzuݤ9W@` Uk UV&y!7Ñ?Vez,hO  iCb]Ld4,pJH  ]玜e@o!E=m7hWuNaAyHV^}KjXfL99W@A棱Li A.EV*y N aO?I.Ӄ:hr;K$ ~rJ{EuӜL%K 7iQh_CJM@H eT&[ [v\ǭfHj 7p|n.:R( ŢVcZI!D[;+?2"RZXƦ)ЈmQd @L"QP$އLcӞ͛xteTF2R!)ȝgϝV}OQg:)Iܙk!CNbpGq &ioMAߎŋMe f'` >S.],KI^Ph9k ׯ_7%6u%.Q *KVpUŗݻV, ݋xX:VVYREl в[{꜄GAm!)+[lh`m:̒E n8y6b\0x*N<6L8^=wn#Kˡz>]xփCpΥ+*UJHknяh5_) wmDd2hGӗNįP!Hg>ex[+g.ԑ#et8h1ܽ oP*qY(WM O<8ve?g.]*N>=2CRO A߯kb * =/3s5 ۷ѕҟǎMUV0:tOkWhCBZ#ecC95aa{EXjv6 ;~o1>HVۋ:%0iܘBEa3JIq*1gnz@|) =3xߗFJuAJinכqzjQDQ t\}e0Ga0ۻtj5XZ|x %T2uS"ɝp:mbƳV-"oy:ZKK 1gx4GLJ{Em8ܩf%`4.:@/i,.iċpظi1S,--Ѫx0ɥ̽)tܑY:.eAlټw݃h_q \h +^&) /_ [HZ}vHJ:i;I#t S%3 u0Uϛ!:ƪY?$3}&eȚg7Pn1j0h{ЀAQΕ?'"A;{+425zr|R27v Ô$f%`|jT.}BY'(4t4C֦\ɓW.~!lt<H*k8y8ZGJ?֭۷ ^!j>T[VM?-.e棽Eچ4vUY6i^%hY4 R +K{6lVUI}A's5Q3` ) dҟ mP"c{@2%5Su\Z [O/cHR^[b'ϠJ5/T ?QqըlբkӘun5Oszz#e+W2Ĭ %u*!}fS~7ACA6"EDVt7m԰&I7ݷ!ͽbqpTR}|$dZ 2۴|AC mY-0۠>O bGFd*5^wm5〼RD z/2N[_-8Gc}\ci9%jק`@*^۲r޽/t"@({5e\(z8Er z?0US"J?FOoLn)*VCƦÜ\ 0hk2 )O:2yt:4=m)O]Bl^f,P\|٭P -% <e Fh-$ xIO](&$--`?ӊ>nB;C=L9y|{dj4xh!F{<zi|0_O%2"`lXZN K@(0`d%٧4luD\zΞTMo//0OoPf6/_>X:xrcJʗ;Nxf9iH֢Y3^N#G 2Ұ.^˕KY -݌J:fNDO)>hLJt *S@*u W BuYA`Agk}Vui1΋,UȤA& SE;6@M)¶$)G)kJ3mR4й_ ()Wmx!Ore^v0(بe7O1=N8*KI9ro_RZ c1X![res ,^LVN6/ zVҧf}+艾{D+0$dtU}hWU0y5lF_ԺeO(S ylܼ"5m̥@BEVL{#6\GWV ~ϸ]q~}s'LBcu4ҁWX*ؒ ʉvn.jjf#`(sfΔ)ͻW|5tO d8;j_D5ta5͍%(OƍSI?g5rwy[ؚ78\bJYωVp _LCk^N<{ %0`FMӦ袣vp9yӮRXX EnC1D>ueBM/vIvmAI_:d<E[J %3WN!y4〇bo-Q:"0@)]2eqR?2=Oqcf2 ì˗,azQ^| +F W_2CUTH'7i*WLQfb0+ P6U2]4ut}n<{1̀Y`R|}25ly*rI1)gs~A)^k7K*o$$9MN5 [åa,.\R2e iv(: ܉jҥJ8Ԭ{yzŒSux&p~0\n6Z 2ZH6$\HÄmm\$*R, [i<̝ qqͪ{Yd#'Zvu c;XT_/Jݕ3& `0 m`|䶀ZkI1dD# pR"7~ >f RaJǬ)&L\.\)ϲ~Pz}ؤ "5ۊܹGAD[00OcʬdB>yJ jm-s9(]|kc"XIq( ie]NcFVxj,JX$){(i2ԤFMK |o=˗"4Ԫ]Xݷ`ۦ+:5N7ҶK `HuSuB=eS4-{EYOJPJe۶Lɕg-0TCͣx&m.`P5BvL|E@bU8 )+ 0)SŽuI :뎩K/')6Q-aUD4r ?25H$pHOjy)3]EŊM4%k驓p?<|߮9tY,Kׯ`$j/RdrBOMKm[FƖ2;t20VC^\.x RΕkG{…""#?zoBbbΰVqTJU ldIq޼ܹ{}7 878e9toll Q rJB`F "QvAſ NMW[ :;an.棙WƑo CLQyaae 5> N&~ 7Nן>Ju˃{"#/_}? a㖊+wq/$r( 61)EL-(\.V, k]xf|¿(Q@\leyRšXfܒ)w!uD v.GBGn\kGg<0CyH7~^OVeSi8Gp#xϞ+\^<ϊ\AV8OW/#ڦi/Ha !kae)_ ʴY JQ0T5)]b3m)(gu *8#G~rP+!~izxGU yK=x {6XZ]F,/lי6"!U7i_ׂm.BFTmq%e}S=?}  BԇyACڎpP /4"4 ٧a_mQ!>j{=!hN@ dMEJ`TOBJ'ž61J/ڵr5IYΘjn,D=Jf'`PE"Q6Uʪ9R~ֺ:@((?8>}m^$[9˜pGm-|y߽Ǹ#tx 5_ P%v}>;ccs$ 泇Q&q)854Nc"7 vs\~X[j(ź.P y 0)8H8y%6 a؏hRA'(&h5:C'(mT4,B3hyCn8r=[YyЇxuFVCL N1tv;87xf#"_g1IOx__?Kd l`bFt .00,C|P/&ZD&1MD1Ox?|AK;BPu ;>؇蜭5@G!)^Pi#4LJYUO< #4W*E 8:冼=*:b"=3q\,ME&T7'MŊv Gf t`xիnw,F21%>S?}\p ®IZha",fQHqk6(q᜙L@"un>fS`Ņ˖ا.޹h~m-E(lÅ'`y9h{\kɋ`.و/CsO"hƅ](󒅡)hC̝$KJ" 6M $G.g]2ːr[u Y87I \p; $mA #+ `]@u71&03  Jy@7}H2}d(DޝkM4y1ꢐ2-Ys\{<|/Dw'>oB dQkC~ˊiۍ'c0ȣΝ?AJۨUv"f-LZs.سo_ZxuF K!Pu"Z`p@--=\@ 4B5Em((.dp1q#=\mL_D…(,⸅p^kƿomZ/Y_47KcD Ry v8]=/N_DڼG ϑ"Ȼw71wZsc#ylDHy{!m:.}+?Wy#z@ދ#k\,`w" AKƌ84oN87}y%A|"1X:O|ypfy?CD= >9s;yzmO◈[C|A'*; aa8ISKJ>IJC^,+mQ3S}osc5Sg̀@Y]fAiQcp~x|FPDeDR+d8^V=R*Ϳt4_g mV\%˖&; Pb F`2&W_i&QcBxD悙֩}{&PS$I+U1ɧH̞9G0&D{B) \fFPmCÃ< Bڃh) AؾcɸNq)X~Nd%%/Ei9pO<##0@&!SYOQKɓTt[zV* L"$+ 팶-9㓼Lt0Fs<^/U^rT9)\fFHAUЮMM$DH$L.TH5!VҜƠVLa:~}玩י BΝ4$A'#0@"@dPBa"򤠰Fڮ֬s&AXjnܼ(هl!`-5hdPZJY0#gm"mǤgNT m퐍9~Io2S=ZEa8`&6ݼ'/]2[r#0Y  !N{۷[ WJѣMM\m@A~dVFVy`F`,`d0#0L 8O0#dXO`F01,`p`FIDATx5$!B:HT£#(EDHQ)HGR*w]@ $wξ7n!d?m{=']Z@@@H  ;DW   &P0C;(vGA@@`7   `wP0@o@@@`): @;Rt   aw@@@ ~   v'H! @@@N ݑC( 4ժYVYC\1ܼ[hA||hæMtEH[`}ҥ>jr!~Z~ ovh*\0=,ZDH04(~ԡ5M7?׮y$ڷmK!3ay@$# 4<*WD Pov:[5oM82d`֣0>j=|H\@(iE1NݝƏK?͚ENPFK|ܧ$s;|(͞;h|@(i%_{]v*HþdZHëZW5.]-B@N cgț'M`[ e@ac.g=Z59[OP1o۬'T0$O%zY x,ʌ\j-g/HmGX)Fcްv<֏ЯmӊAFuX}QFKX:IŅ V-BҕEDD< Ҷ㵩S)URgWrq>bU)JU=mIpp0 6CI@J +Ǐ W7NY+9-il|zЇ3Onj]>2"LBʭeDڎJ-mIXXhÜ`C+TZ%+ j}nZY:~iE ;JW/^$Y_V (Ev~У5__ɓ}dQ|tZ̚;V2ev㕏nQEɘgVԊ$$zvN41ut=}ZW 8@W0:J%˽ˊAq' lh֝ 51.Hzv!VۆSTxyAxĒ<{H'TmtEVpmamUE0-TLIM]JX osX`:2eӦQ,q+^;ݩ\٪>G!4kx B/VP^AAUZbz$x=} l  R!e7} x"َ0;ҙ +273"w&eFףܯUۆ=|D3FOϞe扜P=x8sټ@;'ͨВ1-2ܻm)aIQ$z%2gN(_}ٓg䱷ȊĻS\ԮE}<FGRw5Y>96nؐz?N?1#8@V0nAm>H[AM_`QQ;w2V>w)KZ8i%']fj%n{*O$E,),[e6d`ʦYt9㦪y[ Fȃ 5V1K6;Q&[NJz H/>A.$>H]:p>5d\v4ߡڵⶦӲ_p!5}VrSҺ%)YՇH[I-=t^+?"14UDW/K~wuc 6_n(jƘr[EKEEFSP}2վ8t␯ռ- s#!kܪigrx>f#={7jC4o]#2YVN@~o{Yg'G{K-t-m2G%&Ou?s:z,yʜCd@@F8 m_>eԺGN_תyIqЉ#I{ t]fѥxTDNL>.6nktedJFǏPbV OKOٛ$O)]Zjʕm2d@@^#!Cƒ(CT Ϝ^w#! I"EPn>2\!:`TS `_ZYGv`qձGTĻ1Li/8|zp:Gȑ]9?6n5iHmQ0.G_-4tgx^sEܤlwM0gG_BܬrWn`L0p3Ⱦ NjroMl7:~2RRܙh?NsnZlYJ>x @nanߊ8GF%N5b "ʂV$9=qmMČ5l\Rs( ,V&Ť=v,]qWR|CE[~!]z.^ Z6oNڵuQUd@O 3E#>_ ԽVov@݅?yTvus\)KflRQQl(,W_ѝwEMWTQu&l6&:_{U.u8p( CYQ}RUi!d"in%L?'m{V;P1wLruuդ]n`d@^*P0u'EV=|l\)"biQ&UH9^/:;Id-GmtQ(2f*"*( F h@IIec-]hj߾e̐Qmb Q2ZՙVĶk^d,9,..48>#B@@R#V[<{P|yuaܹG<*".'TGwcq5W0BCM c{U)ʵTԮWiN-19nQ0 l:~s4([,krl!`"GBPD +[1` [Vw*qRҙ &E#:2_J^Tԫ(WkU#l/^i@~==aw̻*۰/yr\ߡ5&+*c:#ذ0J$WʔDŊw*YC-E8hi> Ut%S1^pw Yx4Zt,].Hٚki1xW & (PVfjʑ:;-Irc(RDQ%ۺτ^wh+q6Iɋ9nzl%1l6e+KJj[Q.\a O_tq\U97^67.^DbZESfǫk]~e㕛0q$6ּ*Ѽ%oƍ]Kބ[zwN[$O,\}љ"r5'L5iB]t g>~ź2d@@R~U kbcbiʗc铧&'.ǽ dfפc).W^:[t[% ݍY1UDi8s)bR4hބ$К5Yw@lTesA֣ zUK[>Ƅc>Eqq]TQwjC˿;1!.\O55)dˑ]% _-3O~z>$vrTѼ6/KťcC.4y->=bqE:̑NCBjQPRMWMWS* vݤY`%F$gx{GȺgJ3WU{1FjE雯㼔JS?jdҢŚ'@Jrbļl=ݻGgӇ̫M[*-WE3Wzt~^3""⵱ #簁ֳihh(}g[!u z#OmuTL[ӕ\)m=Dhp= kP(EEFňS½ʓx\lY)",B$ex>(6>%*+uݲu+\JW 8 GEN#а~}գn}G m ̀~Z*1P! v"N M!§cǏQĤ{=UOKWނ,3=q$M-()E(75.FM7oJp`GĶCV/R231AR(}iD@mǍs}!`FH݈>J|ݿ~^H# )A FJPN! $"Wc0>Pp^u*QwHD@H kOU3.#]9%Kh޽JWH1P0R 5rq-^?4pP;rƳ{Les"ϜMS@13(^`?өÇ(S{4Ue[Ȩ(A@(ȠP~lGW׬[Glhd9)#} 61!C FyWxdȞ=)6)__`FO>M $Ù16 XL @@I 3cl0((}8 g   `PP0 b1-p&(ΤA@@`bZ   LP0IcA @0Ŵ@@@`8>ai3 @p&}   %à/gL@@ J A_,  $Ù16 XL @@I 3cl0((}8 g   `PP0 b1-p&(ΤA@@`bZ   LP0IcA @0Ŵ@@@`8>ai3 9xYIENDB`reprex/vignettes/articles/magic-reprex.Rmd0000644000176200001440000001627714642060466020451 0ustar liggesusers--- title: "Magic reprex" author: "[Nicholas Tierney](https://www.njtierney.com/)" --- > This article has been adapted from a post on [Nick Tierney's blog](https://www.njtierney.com/post/2017/01/11/magic-reprex/) to help spread the good word about reprex! :) - **Nick Tierney** Making reproducible examples can be hard. There's a lot of things you need to consider. Like, making sure your environment is clean, the right packages are loaded, the code is formatted nicely, and images are the right resolution and dimension. Getting all of these ducks lined up can sometimes take a couple of minutes, if you have a nice tightly defined problem. Other times, it can take much, much longer. Say for example, if you had a variable loaded in your environment that you forgot how to create, and you didn't realise it was so important and OH GOD HOW DID I EVEN DO THIS? Ahem. So, after some sensible swearing and frustration, you might ask yourself something like: > Surely there's an easy, reproducible way to ... make reproducible examples? Enter the R package reprex (on [CRAN](https://cran.r-project.org/package=reprex), on [GitHub](https://github.com/tidyverse/reprex)), by [Jenny Bryan](https://www.github.com/jennybc). In the fashion of the times right now, I'll illustrate reprex with a gif, which shows the following things: 1. Take your code, copy it to the clipboard. 2. Run `reprex::reprex()`, wait a moment for the code to execute. 3. `reprex::reprex()` creates a html preview of your code. 4. A markdown chunk is also copied to the clipboard.

This means you can copy this to say, GitHub (`reprex(venue = "gh")`) (the default) to help you file an issue:

Gif of reprex copying code, running reprex, and demonstrating the html preview of the code text

There is also an option for Stack Overflow (`reprex(venue = "so")`). How does this work? `reprex()` takes the section of copied code and then runs `rmarkdown::render()` on it, which starts a fresh environment, and runs the code. This means that `reprex()` will fail hard and fail early if your examples aren't reproducible. If you don't have the correct library loaded, it will show the error messages.

Gif of reprex copying code, running reprex, and demonstrating the html preview of the code text

But then when you fix that, by adding library calls to [`visdat`](https://github.com/njtierney/visdat), [`ggplot2`](https://github.com/tidyverse/ggplot2) and [`naniar`](https://github.com/njtierney/naniar), and you get what you want:

Gif of reprex copying code, running reprex, and demonstrating the html preview of the code text using visdat, naniar, and ggplot2 packages

So you know that when you run `reprex()`, and it gives you a reproducible example, it will work! Also worth mentioning is that rather magically, `reprex()` also handles images. I didn't even notice this at first. It was just one of those things where "it just works". `reprex()` handles this by uploading them to imgur using the `knitr::imgur_upload()` function, which creates markdown links to the images. so ```r library(tidyverse) # run a lm lm_fit <- lm(Sepal.Length ~ . , data = iris) # use broom to clean it up library(broom) lm_augmented <- augment(lm_fit) head(lm_augmented) # Explore the fit of the model ggplot(data = lm_augmented, aes(x = .fitted, y = Sepal.Length)) + geom_point() ``` gets turned into ``` library(tidyverse) #> Loading tidyverse: ggplot2 #> Loading tidyverse: tibble #> Loading tidyverse: tidyr #> Loading tidyverse: readr #> Loading tidyverse: purrr #> Loading tidyverse: dplyr #> Conflicts with tidy packages ---------------------------------------------- #> filter(): dplyr, stats #> lag(): dplyr, stats # run a lm lm_fit <- lm(Sepal.Length ~ . , data = iris) # use broom to clean it up library(broom) lm_augmented <- augment(lm_fit) head(lm_augmented) #> Sepal.Length Sepal.Width Petal.Length Petal.Width Species .fitted #> 1 5.1 3.5 1.4 0.2 setosa 5.004788 #> 2 4.9 3.0 1.4 0.2 setosa 4.756844 #> 3 4.7 3.2 1.3 0.2 setosa 4.773097 #> 4 4.6 3.1 1.5 0.2 setosa 4.889357 #> 5 5.0 3.6 1.4 0.2 setosa 5.054377 #> 6 5.4 3.9 1.7 0.4 setosa 5.388886 #> .se.fit .resid .hat .sigma .cooksd .std.resid #> 1 0.04479188 0.09521198 0.02131150 0.3077918 3.570856e-04 0.31367294 #> 2 0.05514933 0.14315645 0.03230694 0.3076565 1.251718e-03 0.47429637 #> 3 0.04690495 -0.07309695 0.02336968 0.3078349 2.317688e-04 -0.24106926 #> 4 0.05135928 -0.28935683 0.02801904 0.3069173 4.396118e-03 -0.95656076 #> 5 0.04736842 -0.05437691 0.02383379 0.3078627 1.309299e-04 -0.17937436 #> 6 0.05592364 0.01111427 0.03322050 0.3078956 7.772793e-06 0.03684044 # Explore the fit of the model, looking ggplot(data = lm_augmented, aes(x = .fitted, y = Sepal.Length)) + geom_point() ![](https://i.imgur.com/h72ZEKG.png) ``` You can even show the results of the `session_info()`, for maximum reproducibility, by adding the argument: `reprex::reprex(session_info = TRUE)`, which adds a super nifty drop down box for the session info.

Gif of reprex copying code, running reprex, showing option SI = TRUE

I really like these sorts of small tools in R. Squinting at a distance you might make the mistake of thinking: > so what, it does this __one little thing__ But then when you're actually up close, you realise this means that you don't have to bend your brain around doing this thing, which can range from mildly annoying to mostly infuriating. You save time and energy, and can focus more on **doing what you want to do**, and less on **fighting against interruptions**. This comic by Jason Heeris illustrates this point nicely, I think:

Why you shouldn't interrupt a programmer

Once again thank you to Jenny Bryan for making our lives easier. Jenny will be joining the RStudio team this year and I am really looking forward to seeing what she gets up to. Read more about reprex on GitHub [here](https://github.com/tidyverse/reprex#readme). reprex/vignettes/articles/rtf.Rmd0000644000176200001440000002535014310727461016646 0ustar liggesusers--- title: "reprex venue RTF" --- Use `reprex_rtf()` to get output in [Rich Text Format](https://en.wikipedia.org/wiki/Rich_Text_Format). It is a convenience wrapper around `reprex(venue = "rtf")`. This is useful for creating syntax highlighted code snippets -- rendered or not -- to paste into software such as Keynote, PowerPoint, or Word. Why is RTF special? Although Pandoc can produce RTF and, therefore, so can `rmarkdown::render()` and `reprex::reprex()`, Pandoc's syntax highlighting is unavailable for RTF output. For now, we've got to get the functionality from somewhere else. Syntax highlighting is a non-issue for `venue = "gh"` (GitHub) and `venue = "so"` (Stack Overflow), because the target sites take care of that when the Markdown content is displayed.

Gif of setting options to control highlight and using reprex with the RTF venue

The "rtf" venue was introduced in reprex v0.2.1 and is experimental. The [highlight](http://www.andre-simon.de/doku/highlight/en/highlight.php) command line tool must (1) be installed and (2) be on your `PATH`. People have successfully used `reprex_rtf()` on macOS and Windows (specifically, Windows 10 + Windows PowerShell 5.1). We consider it experimental because of the rather hacky way we shell out to highlight and, long-term, it would be preferable to get syntax-highlighted RTF through a proper R package. The existing [highlight R package](https://cran.r-project.org/package=highlight) can't do this (yet?). ### How to install highlight The highlight website offers downloads in various forms, for various OSes: * For macOS users who use [homebrew](https://brew.sh), this works: ```{sh eval = FALSE} brew install highlight ``` For Windows users who use [chocolatey](https://chocolatey.org/), this works: ```{sh eval = FALSE} choco install highlight ``` On Windows, the chocolatey method did not add highlight to my `PATH` and this could affect other methods of installation as well. In this case, you'll [need to do this manually](https://www.maketecheasier.com/what-is-the-windows-path/). In my case, I needed to add `C:\Program Files\Highlight` to `PATH`. A second issue we've seen is with the scoop package manager for Windows, which uses a shim-based method of making the executables it installs findable. The shim method appears to be less resilient to the different ways of calling highlight from R. `reprex_rtf()` should work when `Sys.which("highlight")`, executed in R, correctly returns the path to your highlight executable. Here's how that looks for me on macOS: ```{r eval = FALSE} Sys.which("highlight") #> highlight #> "/usr/local/bin/highlight" ``` and on Windows: ```{r eval = FALSE} Sys.which("highlight") #> highlight #> "C:\\PROGRA~1\\HIGHLI~1\\HIGHLI~2.EXE" ``` Here is the highlight call implied by the default behaviour of `reprex_rtf()`: ```{sh eval = FALSE} highlight -i foo_reprex.R --out-format rtf --no-trailing-nl --encoding=UTF-8 --style darkbone --font 'Courier Regular' --font-size 50 -o foo_reprex.rtf ``` ## Basic usage Let's reprex some code and stick it on a Keynote slide with other non-R "features". ```{r eval = FALSE} reprex({ (x <- rnorm(3)) mean(x) }, venue = "rtf") ``` ```{r echo = FALSE, out.width = "75%"} knitr::include_graphics("img/keynote-w00t.png") ``` ## highlight options If you don't like the defaults, control highlight command line arguments by setting `reprex.highlight.*` options. Why options? I didn't want to burden `reprex()` with even more arguments and this is usually something you want to set globally for yourself or for an entire project or talk or course. Set these options with code like this: ```{r eval = FALSE} options( reprex.highlight.hl_style = "darkbone", reprex.highlight.font = "Source Code Pro", reprex.highlight.font_size = 50 ) ``` The supported options are `reprex.highlight.hl_style`, `reprex.highlight.font`, `reprex.highlight.font_size` (all shown above), and `reprex.highlight.other` (a catchall for anything else, shown below). You could set options for all your reprexing by doing this in your user-level `.Rprofile`. Create or open this file via `usethis::edit_r_profile()`. You could also set options for a specific Project in `.Rprofile` inside the Project. Create or open this file via `usethis::edit_r_profile("project")`. Finally, you might collect all of the R snippets destined for inclusion in, e.g. some talk slides, in a `.R` file. It would make sense to set the `reprex.highlight.*` options at the start of that file. `hl_style` must be one of your existing highlight themes and `font` must be one of your installed fonts. List available themes: ```{sh eval = FALSE} highlight --list-scripts=themes ``` But what do these themes *look like*? Here are some galleries that probably have high overlap with your themes: You can also override defaults on-the-fly. Here's how to do that for a single call using withr and, as a bonus, how to use `reprex.highlight.other` to send arbitrary command line arguments to highlight: ```{r dusk-fira-35-line-numbers, eval = FALSE} withr::with_options( new = c( reprex.highlight.hl_style = "dusk", reprex.highlight.font = "Fira Code Regular", reprex.highlight.font_size = 35, reprex.highlight.other = "--line-numbers --line-number-length=2 --zeroes" ), reprex::reprex(input = c("(x <- rnorm(3))", "mean(x)"), venue = "rtf") ) ``` ```{r echo = FALSE, out.width = "60%"} knitr::include_graphics("img/dusk-fira-35-line-numbers.png") ``` Here's how to set highlight options for part of an R session: ```{r anotherdark-andale-60-line-numbers, eval = FALSE} op <- options( reprex.highlight.hl_style = "anotherdark", reprex.highlight.font = "Andale Mono Regular", reprex.highlight.font_size = 60, reprex.highlight.other = "--line-numbers" ) reprex::reprex(input = c("(x <- rnorm(3))", "mean(x)"), venue = "rtf") options(op) ``` ```{r echo = FALSE, out.width = "85%"} knitr::include_graphics("img/anotherdark-andale-60-line-numbers.png") ``` Experience has shown that it is hard to predict which aspects of the RTF will be honored when you paste into the target document. We're talking about things like the font size or background color. This seems to vary greatly across applications and operating systems and you'll just have to experiment to find a workflow that is practical for you. Note that it is even possible to create a custom highlight theme, e.g. to match the theme of a Keynote or Powerpoint slide deck with respect to background color, font, etc. A specific example of this is documented in these [how-to notes](https://github.com/jennybc/debugging/blob/master/how-to/highlight-custom-theme.md). ## Run ... or not If you just want to highlight code, but not run it, set chunk option `eval = FALSE` option, i.e. put a special comment as the first line of your reprex source: ```{r eval-false, eval = FALSE} #+ eval = FALSE (x <- rnorm(3)) mean(x) ``` The above source, when `reprex()`ed, will not include the usual output. This is not specific to `venue = "rtf"`, but it's more likely to come up in this setting. ```{r echo = FALSE, out.width = "20%"} knitr::include_graphics("img/eval-false.png") ``` ## What if each snippet can't be self-contained? ### `reprex:::prex()` and friends When preparing bits of code for a presentation, it can be impractical to make each snippet completely self-contained. You really need to run the snippets in the current workspace and session. But `reprex()` does not allow this. The **unexported** function `prex()` addresses this use case. It's like `reprex()`, but much less reproducible! * Code is evaluated in the global environment of the current R session. * Current working directory is used. * `advertise = FALSE` is the default. `prex()` also has "venue as suffix" variants, so `reprex:::prex_rtf(...)` is short for `reprex:::prex(..., venue = "rtf")`. This code defines `x` and `y` in the current workspace and writes the file `stuff.txt` to the current working directory. ```{r eval = FALSE} x <- 1 y <- 4 writeLines("blah blah", file.path(getwd(), "stuff.txt")) ``` Now we can show the difference between `prex()` and `reprex()`. ```{r eval = FALSE} prex({ ls() x + y readLines("stuff.txt") }) ``` yields ```{r eval = FALSE} ls() #> [1] "x" "y" x + y #> [1] 5 readLines("stuff.txt") #> [1] "blah blah" ``` `x` and `y` can be found, even though they aren't defined in the snippet, and `stuff.txt` can be read. This is very different from executing the same code via `reprex()`: ```{r eval = FALSE} reprex({ ls() x + y readLines("stuff.txt") }) ``` which yields: ```{r eval = FALSE} ls() #> character(0) x + y #> Error in eval(expr, envir, enclos): object 'x' not found readLines("stuff.txt") #> Warning in file(con, "r"): cannot open file 'stuff.txt': No such file or #> directory #> Error in file(con, "r"): cannot open the connection ``` `x` and `y` can't be found, because `reprex()` works in a clean session, and `stuff.txt` can't be found, because `reprex()` works in a temp directory, by default. If you're going to `prex()` a lot, you'll want to do something like this in your `.R` file of snippets or in the project-specific or user-level `.Rprofile`: ```{r eval = FALSE} prex <- reprex:::prex prex_rtf <- reprex:::prex_rtf ``` ## Selectively hide and reveal code *Before `prex()` existed, you had to use a more cumbersome technique to produce small snippets, by hiding code. We leave this here in case it is still useful in some situations.* You can use knitr chunk options to selectively hide code, i.e. to run a large snippet, but only include a small bit in the output. This is easiest to show by example. If you `reprex()` this code, only the last three lines and their output will appear in the output. But the other lines will be run, i.e. `str_reverse()` will be defined, as will the `bizzaro()` generic and default method. ```{r bizarro-selective-reveal, eval = FALSE} #+ include = FALSE str_reverse <- function(x) { vapply( strsplit(x, ""), FUN = function(z) paste(rev(z), collapse = ""), FUN.VALUE = "") } #+ include = FALSE bizarro <- function(x) { UseMethod("bizarro") } bizarro.default <- function(x) { stop( "Don't know how to make bizzaro <", class(x)[[1]], ">", call. = FALSE ) } #+ include = TRUE bizarro.character <- function(x) str_reverse(x) bizarro(c("abc", "def")) bizarro(1:5) ``` ```{r echo = FALSE, out.width = "70%"} knitr::include_graphics("img/bizarro-selective-reveal.png") ``` reprex/NAMESPACE0000644000176200001440000000065414310727461013010 0ustar liggesusers# Generated by roxygen2: do not edit by hand export(reprex) export(reprex_addin) export(reprex_clean) export(reprex_document) export(reprex_html) export(reprex_invert) export(reprex_locale) export(reprex_r) export(reprex_render) export(reprex_rescue) export(reprex_rtf) export(reprex_selection) export(reprex_slack) import(fs) import(rlang) importFrom(glue,glue) importFrom(glue,glue_collapse) importFrom(lifecycle,deprecated) reprex/LICENSE0000644000176200001440000000005414547644752012605 0ustar liggesusersYEAR: 2024 COPYRIGHT HOLDER: reprex authors reprex/NEWS.md0000644000176200001440000004273514642106674012702 0ustar liggesusers# reprex 2.1.1 * `reprex(style = FALSE)` will never nag about installing styler (#461). * Various URLs have been updated (#458, @olivroy). # reprex 2.1.0 * `reprex()` no longer includes the full traceback by default, as this is only useful in relatively rare situations, and otherwise adds a bunch of clutter (#448). * The unexported `prex_*()` functions protect the current session from option changes coming from reprex's own machinery, such as disabling color (#427). # reprex 2.0.2 * The ad placed by `reprex(advertise = TRUE)` has been tweaked for `venue = "gh"` (and, therefore, for its aliases `"so"` and `"ds"`) and `venue = "slack"` (#395). * reprex takes advantage of rlang 1.0.0's improved [support for backtraces in knitted documents](https://rlang.r-lib.org/reference/rlang_backtrace_on_error.html#errors-in-rmarkdown) and sets the option `rlang_backtrace_on_error_report = "full"` (#377). * `reprex_rtf()` (a shortcut for `reprex(venue = "rtf")`) now works on Windows, even if one of the (possibly temporary) filepaths contains a space, e.g. because the username contains a space (#409, @cderv). * The RStudio addin no longer displays a warning about condition length when selecting 'current file' as the reprex source (#391, @bisaloo). * Internal matters: - Help files below `man/` have been re-generated, so that they give rise to valid HTML5. (This is the impetus for this release, to keep the package safely on CRAN.) - reprex's condition signalling has been updated to use the current approaches provided by the cli, rlang, and lifecycle packages. # reprex 2.0.1 `reprex_document()` has been adjusted for compatibility with changes introduced in Pandoc 2.13 around YAML headers (#375, #383 @cderv). `reprex_rtf()` (and the unexported `prex_rtf()`) work again. One of the filepaths involved in the highlight call was broken, but now it's not (#379). The unexported `prex_*()` functions once again write their files to a temporary directory, as opposed to current working directory (#380). # reprex 2.0.0 ## When the clipboard isn't available We've made reprex more pleasant to use in settings where we cannot access the user's clipboard from R. Specifically, this applies to use on RStudio Server and RStudio Cloud. * When `reprex()` is called without `expr` or `input`, in a context where the user's clipboard can't be reached from R, the default is now to consult the current selection for reprex source. Previously this was only available via the `reprex_selection()` addin. Note that this "current selection" default behaviour propagates to convenience wrappers around `reprex()`, such as `reprex_locale()` and venue-specific functions like `reprex_r()`, and to the un-`reprex()` functions, such as `reprex_clean()`. * In this context, the file containing the (un)rendered reprex is opened so the user can manually copy its contents. ## Filepaths `wd` is a new argument to set the reprex working directory. As a result, the `outfile` argument is deprecated and the `input` argument has new significance. Here's how to use `input` and `wd` to control reprex filepaths: * To reprex in the current working directory, Previously: `reprex(outfile = NA)` Now: `reprex(wd = ".")` More generally, usage looks like `reprex(wd = "path/to/desired/wd")`. * If you really care about reprex filename (and location), write your source to `path/to/stuff.R` and call `reprex(input = "path/to/stuff.R")`. When `input` is a filepath, that filepath determines the working directory and how reprex files are named and `wd` is never even consulted. Various changes mean that more users will see reprex filepaths. Therefore, we've revised them to be more self-explanatory and human-friendly. When reprex needs to invent a file name, it is now based on a random "adjective-animal" slug. Bring on the `angry-hamster`! ## `.Rprofile` `reprex()` renders the reprex in a separate, fresh R session using `callr::r()`. As of callr 3.4.0 (released 2019-12-09), the default became `callr::r(..., user_profile = "project")`, which means that callr executes a `.Rprofile` found in current working directory. Most reprexes happen in a temp directory and there will be no such `.Rprofile`. But if the user intentionally reprexes in an existing project with a `.Rprofile`, `callr::r()` and therefore `reprex()` honor it. In this version of reprex: * We explicitly make sure that the working directory of the `callr::r()` call is the same as the effective working directory of the reprex. * We alert the user that a local `.Rprofile` has been found. * We indicate the usage of a local `.Rprofile` in the rendered reprex. These changes are of special interest to users of the [renv package](https://rstudio.github.io/renv/), which uses `.Rprofile` to implement a project-specific R package library. Combined with the filepath changes (described above), this means an renv user can call `reprex(wd = ".")`, to render a reprex with respect to a project-specific library. ## Other HTML preview should work better with more ways of using `reprex_render()`, i.e. usage that doesn't come via a call to `reprex()` (#293). ## Dependency changes * rstudioapi moves from Suggests to Imports. Related to improving the experience when reprex cannot access the user's clipboard. * mockr is new in Suggests; it's used in the tests. * We bumped the documented minimum version of Pandoc, because we use the `gfm` markdown variant to get GitHub-Flavored Markdown. The `gfm` variant was introduced in Pandoc 2.0 (released 2017-10-29). # reprex 1.0.0 ## Venues * `reprex_VENUE(...)` is a new way to call `reprex(..., venue = "VENUE")`. For example, `reprex_r()` is equivalent to `reprex(venue = "r")`. This makes non-default venues easier to access via auto-completion (#256). * `"slack"` is a new venue that tweaks the default Markdown output for pasting into Slack messages. It removes the `r` language identifier from the opening code fence, simplifies image links and, by default, suppresses the ad. Note that `venue = "slack"` or `reprex_slack()` work best for people who opt-out of the WYSIWYG message editor: in *Preferences > Advanced*, select "Format messages with markup". * `venue = "so"` (SO = Stack Overflow) has converged with default `venue = "gh"` (GitHub). As of January 2019, SO [supports CommonMark fenced code blocks](https://meta.stackexchange.com/questions/125148/implement-style-fenced-markdown-code-blocks/322000#322000). The only remaining difference is that Stack Overflow does not support the collapsible details tag that we use on GitHub to reduce the clutter from, e.g., session info (#231). * `"rtf"` (Rich Text Format) is a new experimental `venue` for pasting into applications like PowerPoint and Keynote. It is experimental because it requires a working installation of the highlight command line tool, which is left as a somewhat fiddly exercise for the user (#331). `venue = "rtf"` is documented in its [own article](https://reprex.tidyverse.org/articles/articles/rtf.html). * `reprex.current_venue` is a new read-only option that is set during `reprex_render()`. Other packages can use it to generate `reprex()`-compatible, `venue`-aware output, such as an renv lockfile. ## Implementation and internals * `reprex()` has been internally refactored to make better use of the official machinery for extending rmarkdown: - `reprex_document()` is a new R Markdown output format. - `reprex_render()` is a newly exported function. - A `reprex_document()` is designed to be rendered with `reprex_render()`. `reprex_render()` is designed to act on a `reprex_document()`. This is (still) the heart of what the `reprex()` function does, in addition to various interface and workflow niceties. - Two R Markdown templates ship with the package, which an RStudio user can access via *File > New File > R Markdown ... > From Template*. One is minimal; the other uses lots of reprex features. Both include `knit: reprex::reprex_render` in the YAML, which causes the RStudio "Knit" button to use `reprex_render()`. * `prex()`, `prex_VENUE()`, and `prex_render()` are new **unexported** functions that, like `reprex()`, render a small bit of code, but with much less **re**producibility! The code is evaluated in the global workspace of the current process, with the current working directory. This pragmatic hack is useful when preparing a series of related snippets, e.g., for a Keynote or PowerPoint presentation, and there's not enough space to make each one self-contained. * UTF-8 encoding: Following the lead of knitr, reprex makes explicit use of UTF-8 internally (#237 @krlmlr, #261). * When the reprex causes R to crash, `reprex(std_out_err = TRUE)` is able to provide more information about the crash, in some cases (#312). ## Other changes and improvements * The `tidyverse_quiet` argument and `reprex.tidyverse_quiet` option also control startup messages from the [tidymodels](https://www.tidymodels.org) meta-package (#326, @juliasilge). * `reprex_locale()` is a new thin wrapper around `reprex()` that renders in a temporarily-altered locale (#250). * The `si` argument of `reprex()` is now `session_info`. Being explicit seems more important than saving characters, given auto-completion. * The `show` argument of `reprex()` is now `html_preview`, for the sake of consistency with other R Markdown output formats. * New article on techniques for making package startup quieter (#187, @marionlouveaux). ## Dependency changes R 3.1 and R 3.2 are no longer explicitly supported or tested. Our general practice is to support the current release (4.0, at time of writing), devel, and the 4 previous versions of R (3.6, 3.5, 3.4, 3.3). * sessioninfo is new in Suggests, replacing devtools. * glue is new in Imports, replacing whisker. * knitr moves from Suggests to Imports (although it was already a hard dependency via rmarkdown), so we can require v1.23 or higher, which represents a major switch to UTF-8. * cli is new in Imports. * reprex now relies on testthat >= 3.0.0 and, specifically, uses third edition features. # reprex 0.3.0 * The `crayon.enabled` option is explicitly set to `FALSE` when rendering the reprex (#238, #239). * Expression input is once again captured via `substitute()` (as opposed to `rlang::enexpr()`), which is more favorable for reprexes involving tidy eval (#241). * New venue "html" to render HTML fragments, useful for pasting in sites without markdown but that allow HTML (#236 @cwickham). * The YAML of reprex's template has been updated in light of the stricter YAML parser used in Pandoc >= 2.2.2. * `rlang::set_attrs()` has been soft-deprecated and is no longer used internally. # reprex 0.2.1 * The reprex ad is formatted as superscript for `venue = "gh"` and `venue = "so"`, i.e. it is more subtle (#201). * New experimental venue "rtf" produces syntax highlighted snippets suitable for pasting into presentation software such as Keynote or PowerPoint. This venue is discussed in [an article](https://reprex.tidyverse.org/articles/articles/rtf.html) (#26). * Arguments `opts_chunk` and `opts_knit` have been removed from `reprex()`. The same effect has always been achievable via roxygen comments in the reprex code and the examples have always demonstrated this. Overriding knitr options doesn't seem to come up often enough in real-world `reprex()` usage to justify these arguments. * Internal file system operations use the [fs](https://fs.r-lib.org) package. This should not make any user-facing changes in reprex and we definitely want to know if it does. # reprex 0.2.0 reprex has a website: . It includes a contributed article from @njtierney (#103). reprex has moved to the [tidyverse Organization](https://github.com/tidyverse). It is installed as part of the [tidyverse meta-package](https://www.tidyverse.org) and is [suggested to those seeking help](https://www.tidyverse.org/help/). `reprex()` gains several arguments and many arguments can now be controlled via an option, in case a user wants their own defaults. The new `reprex_selection()` add-in reprexes the current selection, with venue controlled by the option `reprex.venue`. It can be handy to bind to a keyboard shortcut (#84 @hadley). If reprex can't write to the user's clipboard (e.g. on RStudio server or Unix-like systems lacking xclip or xsel), it offers to open the output file for manual copy. ## Option-controlled arguments for custom defaults These look like `reprex(..., arg = opt(DEFAULT), ...)` in the help file. This is shorthand for `arg = getOption("reprex.arg", DEFAULT)`, i.e. the option `reprex.arg` is consulted and, if unset, the documented default is used. Allows user to define their own default behaviour (#116). ## New arguments to `reprex()`: * `advertise`: toggles inclusion of a footer that describes when and how the reprex was created, e.g., "Created on 2017-11-16 by the reprex package (v0.1.1.9000)". Defaults to `TRUE` (#121, #69). * `style`: requests code restyling via the newly-Suggested styler package. styler can cope with tidyeval syntactical sugar, e.g. `df %>% group_by(!! group_var)`. Defaults to `FALSE` (#108, #94). * `tidyverse_quiet`: affords control of the startup message of the tidyverse meta-package. Defaults to `TRUE`, i.e. suppresses the message (important special case of #70, #100). * `std_out_err`: appends output sent to stdout and stderr by the reprex rendering process. This can be necessary to reveal output if the reprex spawns child processes or has `system()` calls. Defaults to `FALSE` (#90, #110). * `render`: determines if the reprex is actually rendered or just returns after producing the templated `.R` file. For internal testing. ## Venues * Line wrapping is preserved from source via a Pandoc option (#145 @jimhester, #175). * `venue = "gh"` now targets CommonMark as the standard for GitHub Flavored Markdown (#77). * `venue = "so"` has appropriate whitespace at the start. * `venue = "ds"` is a new value, corresponding to , which is the platform behind [community.rstudio.com](https://forum.posit.co/). This is currently just an alias for the default `"gh"` GitHub venue, because the formatting appears to be compatible. Adding the `"ds"` value so Discourse can be documented and to guard against the possibility that some formatting is actually unique. ## Other changes * The `keep.source` option is set to `TRUE` when rendering the reprex, so reprexes involving srcrefs should work (#152). * The "undo" functions (`reprex_invert()`, `reprex_clean()`, `reprex_rescue()`) handle `input` and `outfile` like `reprex()` does. The `outfile` argument is new (#129, #68). * The default value for knitr's `upload.fun` is now set according to the venue. It is `knitr::imgur_upload()` for all venues except `"r"`, where it is `identity` (#125). * The HTML preview should appear in the RStudio Viewer more consistently, especially on Windows (#75 @yutannihilation). * More rigorous use of UTF-8 encoding (#76 @yutannihilation). * Expression input handling has been refactored. As a result, formatR is no longer Suggested. Trailing comments -- inline and on their own line -- are also now retained (#89, #91, #114, @jennybc and @jimhester). * Custom prompts are now escaped when used in regexes (#98, #99 @jimhester). Embedded newlines are now escaped. # reprex 0.1.2 This was a non-functioning release created by CRAN maintainers by commenting out lines of code relating to the clipboard. # reprex 0.1.1 * Pandoc added to SystemRequirements. # reprex 0.1.0 * `outfile = NA` causes outfiles to be left in working directory. Filenames will be based on the `input` file, if there was one. * `reprex()` strips any leading prompts from input code. * Added functions `reprex_clean()`, `reprex_invert()`, and `reprex_rescue()` in order to go backwards, i.e. recover source from a wild-caught reprex. * `venue = "R"` (or `"r"`) can be used to get an R script back, augmented with commented output. * `comment` argument added to specify prefix for commented output. * Added an RStudio addin, accessed via "Render reprex". * `input` argument to `reprex()` and friends handles code as string, character vector, or file path. * The reprex is rendered via `callr::r_safe()` and is thus run in a clean, separate R process, eliminating any leakage of objects or loaded packages to/from the calling session. * `reprex()` gains optional arguments `opts_chunk` and `opts_knit`, taking named list as input, in order to supplement or override default knitr chunk and package options, respectively. (#33) - This made the explicit `upload.fun` argument unnecessary, so it's gone. The `upload.fun` option defaults to `knitr::imgur_upload`, which means figures produced by the reprex will be uploaded to [imgur.com](https://imgur.com/) and the associated image syntax will be put into the Markdown, e.g. `![](https://i.imgur.com/QPU5Cg9.png)`. (#15 @paternogbc) * Order of `reprex()` arguments has changed. * `reprex()` gains the `si` argument to request that `devtools::session_info()` or `sessionInfo()` be appended to reprex code (#6 @dgrtwo). When `si = TRUE` and `venue = "gh"` (the default), session info is wrapped in a collapsible details tag. See [an example](https://github.com/tidyverse/reprex/issues/55) (#55). * Reprex code can be provided as an R expression. (#6 @dgrtwo, #35) * `reprex()` uses clipboard functionality from [`clipr`](https://CRAN.R-project.org/package=clipr) and thus should work on Windows and suitably prepared Unix-like systems, in addition to Mac OS. (#16 @mdlincoln) # reprex 0.0.0.9000 * I tweeted about this and some people actually used it! reprex/inst/0000755000176200001440000000000014642106746012546 5ustar liggesusersreprex/inst/rmarkdown/0000755000176200001440000000000014102672630014541 5ustar liggesusersreprex/inst/rmarkdown/templates/0000755000176200001440000000000014102672630016537 5ustar liggesusersreprex/inst/rmarkdown/templates/reprex-featureful/0000755000176200001440000000000014102672630022204 5ustar liggesusersreprex/inst/rmarkdown/templates/reprex-featureful/skeleton/0000755000176200001440000000000014102672630024030 5ustar liggesusersreprex/inst/rmarkdown/templates/reprex-featureful/skeleton/skeleton.Rmd0000644000176200001440000000525114102672630026323 0ustar liggesusers--- output: reprex::reprex_document: venue: "gh" advertise: FALSE session_info: TRUE style: TRUE comment: "#;-)" tidyverse_quiet: FALSE std_out_err: TRUE knit: reprex::reprex_render --- This template demonstrates many of the bells and whistles of the `reprex::reprex_document()` output format. The YAML sets many options to non-default values, such as using `#;-)` as the comment in front of output. ## Code style Since `style` is `TRUE`, this difficult-to-read code (look at the `.Rmd` source file) will be restyled according to the Tidyverse style guide when it's rendered. Whitespace rationing is not in effect! ```{r} x=1;y=2;z=x+y;z ``` ## Quiet tidyverse The tidyverse meta-package is quite chatty at startup, which can be very useful in exploratory, interactive work. It is often less useful in a reprex, so by default, we suppress this. However, when `tidyverse_quiet` is `FALSE`, the rendered result will include a tidyverse startup message about package versions and function masking. ```{r, eval = requireNamespace("tidyverse", quietly = TRUE)} library(tidyverse) ``` ## Chunks in languages other than R Remember: knitr supports many other languages than R, so you can reprex bits of code in Python, Ruby, Julia, C++, SQL, and more. Note that, in many cases, this still requires that you have the relevant external interpreter installed. Let's try Python! ```{python, eval = Sys.which("python") != "", python.reticulate = requireNamespace("reticulate", quietly = TRUE)} x = 'hello, python world!' print(x.split(' ')) ``` And bash! ```{bash, eval = Sys.which("bash") != ""} echo "Hello Bash!"; pwd; ls | head; ``` Write a function in C++, use Rcpp to wrap it and ... ```{Rcpp, eval = requireNamespace("Rcpp", quietly = TRUE)} #include using namespace Rcpp; // [[Rcpp::export]] NumericVector timesTwo(NumericVector x) { return x * 2; } ``` then immediately call your C++ function from R! ```{r, eval = requireNamespace("Rcpp", quietly = TRUE)} timesTwo(1:4) ``` ## Standard output and error Some output that you see in an interactive session is not actually captured by rmarkdown, when that same code is executed in the context of an `.Rmd` document. When `std_out_err` is `TRUE`, `reprex::reprex_render()` uses a feature of `callr:r()` to capture such output and then injects it into the rendered result. Look for this output in a special section of the rendered document (and notice that it does not appear right here). ```{r} system2("echo", args = "Output that would normally be lost") ``` ## Session info Because `session_info` is `TRUE`, the rendered result includes session info, even though no such code is included here in the source document. reprex/inst/rmarkdown/templates/reprex-featureful/template.yaml0000644000176200001440000000016514102672630024705 0ustar liggesusersname: reprex (lots of features) description: > A reprex template that demonstrates many features create_dir: FALSE reprex/inst/rmarkdown/templates/reprex-minimal/0000755000176200001440000000000014102672630021470 5ustar liggesusersreprex/inst/rmarkdown/templates/reprex-minimal/skeleton/0000755000176200001440000000000014102672630023314 5ustar liggesusersreprex/inst/rmarkdown/templates/reprex-minimal/skeleton/skeleton.Rmd0000644000176200001440000000033414102672630025604 0ustar liggesusers--- output: reprex::reprex_document knit: reprex::reprex_render --- Describe your issue very briefly here. Then show it with a minimal, self-contained example in the following R chunk. ```{r} x <- 1 y <- "2" x + y ``` reprex/inst/rmarkdown/templates/reprex-minimal/template.yaml0000644000176200001440000000014214102672630024164 0ustar liggesusersname: reprex (minimal) description: > A minimal template for making a reprex create_dir: FALSE reprex/inst/doc/0000755000176200001440000000000014642106746013313 5ustar liggesusersreprex/inst/doc/reprex-dos-and-donts.R0000644000176200001440000000166214642106746017420 0ustar liggesusers## ----eval = FALSE------------------------------------------------------------- # read.csv(text = "a,b\n1,2\n3,4") # #> a b # #> 1 1 2 # #> 2 3 4 ## ----eval = FALSE------------------------------------------------------------- # tibble::tribble( # ~ a, ~ b, # 1, 2, # 3, 4 # ) # #> # A tibble: 2 x 2 # #> a b # #> # #> 1 1 2 # #> 2 3 4 ## ----eval = FALSE------------------------------------------------------------- # tibble::tribble( # ~weight, ~Time, ~Chick, ~Diet, # 42, 0, "1", "1", # 51, 2, "1", "1", # 59, 4, "1", "1" # ) ## ----eval = FALSE------------------------------------------------------------- # opar <- par(pch = 19) # # par(opar) ## ----eval = FALSE------------------------------------------------------------- # write(x, "foo.txt") # # file.remove("foo.txt") reprex/inst/doc/reprex-dos-and-donts.Rmd0000644000176200001440000001216214310727461017731 0ustar liggesusers--- title: "Reprex do's and don'ts" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Reprex do's and don'ts} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- If you're asking for R help, reporting a bug, or requesting a new feature, you're more likely to succeed if you include a good reprex. ## Main requirements **Use the smallest, simplest, most [built-in data](https://stat.ethz.ch/R-manual/R-patched/library/datasets/html/00Index.html) possible.** - Think: `iris` or `mtcars`. Bore me. - If you must make some objects, minimize their size and complexity. - Many of the functions and packages you already use offer a way to create a small data frame "inline": - `read.table()` and friends have a `text` argument. Example: ```{r eval = FALSE} read.csv(text = "a,b\n1,2\n3,4") #> a b #> 1 1 2 #> 2 3 4 ``` - `tibble::tribble()` lets you use a natural and readable layout. Example: ```{r eval = FALSE} tibble::tribble( ~ a, ~ b, 1, 2, 3, 4 ) #> # A tibble: 2 x 2 #> a b #> #> 1 1 2 #> 2 3 4 ``` - Get just a bit of something with `head()` or by indexing with the result of `sample()`. If anything is random, consider using `set.seed()` to make it repeatable. - The [datapasta package](https://milesmcbain.github.io/datapasta/) can generate code for `data.frame()`, `tibble::tribble()`, or `data.table::data.table()` based on an existing R data frame. For example, a call to `tribble_format(head(ChickWeight, 3))` leaves this on the clipboard, ready to paste into your reprex: ```{r eval = FALSE} tibble::tribble( ~weight, ~Time, ~Chick, ~Diet, 42, 0, "1", "1", 51, 2, "1", "1", 59, 4, "1", "1" ) ``` - `dput()` is a decent last resort, i.e. if you simply cannot make do with built-in or simulated data or inline data creation in a more readable format. But `dput()` output is not very human-readable. Avoid if at all possible. - Look at official examples and try to write in that style. Consider adapting one. **Include commands on a strict "need to run" basis.** - Ruthlessly strip out anything unrelated to the specific matter at hand. - Include every single command that is required, e.g. loading specific packages via `library(foo)`. **Consider including so-called "session info"**, i.e. your OS and versions of R and add-on packages, if it's conceivable that it matters. - Use `reprex(..., session_info = TRUE)` for this. **Whitespace rationing is not in effect.** - Use good [coding style](https://style.tidyverse.org). - Use `reprex(..., style = TRUE)` to request automated styling of your code. **Pack it in, pack it out, and don't take liberties with other people's computers.** You are asking people to run this code! - Don't start with `rm(list = ls())`. It is anti-social to clobber other people's workspaces. - Don't start with `setwd("C:\Users\jenny\path\that\only\I\have")`, because it won't work on anyone else's computer. - Don't mask built-in functions, i.e. don't define a new function named `c` or `mean`. - If you change options, store original values at the start, do your thing, then restore them: ```{r eval = FALSE} opar <- par(pch = 19) par(opar) ``` - If you create files, delete them when you're done: ```{r eval = FALSE} write(x, "foo.txt") file.remove("foo.txt") ``` - Don't delete files or objects that you didn't create in the first place. - Take advantage of R's built-in ability to create temporary files and directories. Read up on [`tempfile()` and `tempdir()`](https://stat.ethz.ch/R-manual/R-patched/library/base/html/tempfile.html). ## This seems like a lot of work! Yes, creating a great reprex requires work. You are asking other people to do work too. It's a partnership. 80% of the time you will solve your own problem in the course of writing an excellent reprex. YMMV. The remaining 20% of the time, you will create a reprex that is more likely to elicit the desired behavior in others. ## Further reading: [How to make a great R reproducible example?](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/16532098) thread on StackOverflow ## Package philosophy The reprex code: * Must run and, therefore, should be run **by the person posting**. No faking it. * Should be easy for others to digest, so **they don't necessarily have to run it**. You are encouraged to include selected bits of output. :scream: * Should be easy for others to copy + paste + run, **if and only if they so choose**. Don't let inclusion of output break executability. Accomplished like so: * Use `rmarkdown::render()` to run the code and capture output that you would normally see on your screen. This is done in a separate R process, via [callr](https://callr.r-lib.org), to guarantee it is self-contained. * Use chunk option `comment = "#>"` to include the output while retaining executability. reprex/inst/doc/reprex-dos-and-donts.html0000644000176200001440000004255014642106746020164 0ustar liggesusers Reprex do’s and don’ts

Reprex do’s and don’ts

If you’re asking for R help, reporting a bug, or requesting a new feature, you’re more likely to succeed if you include a good reprex.

Main requirements

Use the smallest, simplest, most built-in data possible.

  • Think: iris or mtcars. Bore me.

  • If you must make some objects, minimize their size and complexity.

  • Many of the functions and packages you already use offer a way to create a small data frame “inline”:

    • read.table() and friends have a text argument. Example:

      read.csv(text = "a,b\n1,2\n3,4")
      #>   a b
      #> 1 1 2
      #> 2 3 4
    • tibble::tribble() lets you use a natural and readable layout. Example:

      tibble::tribble(
        ~ a, ~ b,
          1,   2,
          3,   4
      )
      #> # A tibble: 2 x 2
      #>       a     b
      #>   <dbl> <dbl>
      #> 1     1     2
      #> 2     3     4
  • Get just a bit of something with head() or by indexing with the result of sample(). If anything is random, consider using set.seed() to make it repeatable.

  • The datapasta package can generate code for data.frame(), tibble::tribble(), or data.table::data.table() based on an existing R data frame. For example, a call to tribble_format(head(ChickWeight, 3)) leaves this on the clipboard, ready to paste into your reprex:

    tibble::tribble(
     ~weight, ~Time, ~Chick, ~Diet,
          42,     0,    "1",   "1",
          51,     2,    "1",   "1",
          59,     4,    "1",   "1"
    )
  • dput() is a decent last resort, i.e. if you simply cannot make do with built-in or simulated data or inline data creation in a more readable format. But dput() output is not very human-readable. Avoid if at all possible.

  • Look at official examples and try to write in that style. Consider adapting one.

Include commands on a strict “need to run” basis.

  • Ruthlessly strip out anything unrelated to the specific matter at hand.
  • Include every single command that is required, e.g. loading specific packages via library(foo).

Consider including so-called “session info”, i.e. your OS and versions of R and add-on packages, if it’s conceivable that it matters.

  • Use reprex(..., session_info = TRUE) for this.

Whitespace rationing is not in effect.

  • Use good coding style.
  • Use reprex(..., style = TRUE) to request automated styling of your code.

Pack it in, pack it out, and don’t take liberties with other people’s computers. You are asking people to run this code!

  • Don’t start with rm(list = ls()). It is anti-social to clobber other people’s workspaces.

  • Don’t start with setwd("C:\Users\jenny\path\that\only\I\have"), because it won’t work on anyone else’s computer.

  • Don’t mask built-in functions, i.e. don’t define a new function named c or mean.

  • If you change options, store original values at the start, do your thing, then restore them:

    opar <- par(pch = 19)
    <blah blah blah>
    par(opar)
  • If you create files, delete them when you’re done:

    write(x, "foo.txt")
    <blah blah blah>
    file.remove("foo.txt")
  • Don’t delete files or objects that you didn’t create in the first place.

  • Take advantage of R’s built-in ability to create temporary files and directories. Read up on tempfile() and tempdir().

This seems like a lot of work!

Yes, creating a great reprex requires work. You are asking other people to do work too. It’s a partnership.

80% of the time you will solve your own problem in the course of writing an excellent reprex. YMMV.

The remaining 20% of the time, you will create a reprex that is more likely to elicit the desired behavior in others.

Further reading:

How to make a great R reproducible example? thread on StackOverflow

Package philosophy

The reprex code:

  • Must run and, therefore, should be run by the person posting. No faking it.

  • Should be easy for others to digest, so they don’t necessarily have to run it. You are encouraged to include selected bits of output. :scream:

  • Should be easy for others to copy + paste + run, if and only if they so choose. Don’t let inclusion of output break executability.

Accomplished like so:

  • Use rmarkdown::render() to run the code and capture output that you would normally see on your screen. This is done in a separate R process, via callr, to guarantee it is self-contained.

  • Use chunk option comment = "#>" to include the output while retaining executability.

reprex/inst/rstudio/0000755000176200001440000000000014102672630014226 5ustar liggesusersreprex/inst/rstudio/addins.dcf0000644000176200001440000000041214102672630016143 0ustar liggesusersName: Render reprex... Description: Run `reprex::reprex()` to prepare a reproducible example for sharing. Binding: reprex_addin Interactive: true Name: Reprex selection Description: Prepare reprex from current selection Binding: reprex_selection Interactive: false reprex/inst/addins/0000755000176200001440000000000014102672630013777 5ustar liggesusersreprex/inst/addins/reprex.css0000644000176200001440000000005014102672630016011 0ustar liggesusers.progress-bar { color: transparent; } reprex/inst/templates/0000755000176200001440000000000014102672630014533 5ustar liggesusersreprex/inst/templates/BETTER_THAN_NOTHING.R0000644000176200001440000000051414102672630017643 0ustar liggesusers#' No user-supplied code found ... so we've made some up. You're welcome! #+ fortunes, include = requireNamespace("fortunes", quietly = TRUE), eval = requireNamespace("fortunes", quietly = TRUE) fortunes::fortune() #+ no-fortunes, include = !requireNamespace("fortunes", quietly = TRUE) sprintf("Happy %s!", weekdays(Sys.Date())) reprex/inst/WORDLIST0000644000176200001440000000166414642076330013742 0ustar liggesusersAddins CMD Cmd Codecov CommonMark Ctrl Heeris McBain ORCID Pandoc Pandoc's PowerShell Powerpoint RMarkdown RStudio's RTF Romain SpeakerDeck StackOverflow SystemRequirements Tierney Tierney's Un XPG YAML addin andre backtrace backtraces behaviour bryan callr chocolatey cli customised datapasta datapasta's de devtools doku don'ts dplyr ds else's eval executability filepath findable formatR frontmatter fs funder gh github hacky homebrew http https httr imgur ing jennybc knitr knitr's knitrthemesoverview lifecycle lockfile macOS metapackage noninteractive oducible outfiles pandoc php producibility rclickhandbuch realise regexes renv repr reprex's reprexing reproducibility rlang rlang's rmarkdown roxygen rstudio rstudioapi rtf runnable sessioninfo signalling simon speakerdeck srcrefs stderr stdout styler templated testthat tibble tidyeval tidymodels tidyverse tribble un withr wordpress workspaces www xclip xsel PBC RStudio mockr traceback reprex/README.md0000644000176200001440000001223314547646710013055 0ustar liggesusers# reprex [![CRAN\_Status\_Badge](https://www.r-pkg.org/badges/version/reprex)](https://cran.r-project.org/package=reprex) [![R-CMD-check](https://github.com/tidyverse/reprex/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/tidyverse/reprex/actions/workflows/R-CMD-check.yaml) [![Codecov test coverage](https://codecov.io/gh/tidyverse/reprex/branch/main/graph/badge.svg)](https://app.codecov.io/gh/tidyverse/reprex?branch=main) ## Overview Prepare reprexes for posting to [GitHub issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues), [StackOverflow](https://stackoverflow.com/questions/tagged/r), in Slack [messages](https://slack.com/intl/en-ca/help/articles/201457107-Send-and-read-messages) or [snippets](https://slack.com/intl/en-ca/help/articles/204145658-Create-a-snippet), or even to paste into PowerPoint or Keynote slides. What is a `reprex`? It’s a **repr**oducible **ex**ample, as coined by Romain Francois in a tweet from 2014. Given R code on the clipboard, selected in RStudio, as an expression (quoted or not), or in a file … - run it via `rmarkdown::render()`, - with deliberate choices re: `render()` arguments, knitr options, and Pandoc options. Get resulting runnable code + output as - Markdown, suitable for GitHub or Stack Overflow or Slack, or as - R code, augmented with commented output, or as - Plain HTML or (experimental) Rich Text The result is returned invisibly, written to a file and, if possible, placed on the clipboard. Preview an HTML version in RStudio viewer or default browser. ## Installation Install from CRAN: ``` r install.packages("reprex") ``` or get a development version from GitHub: ``` r # install.packages("pak") pak::pak("tidyverse/reprex") ``` On Linux, you probably want to install [xclip](https://github.com/astrand/xclip) or [xsel](https://www.vergenet.net/~conrad/software/xsel/), so reprex can access the X11 clipboard. This is 'nice to have', but not mandatory. The usual `sudo apt-get install` or `sudo yum install` installation methods should work for both xclip and xsel. ## Usage Let’s say you copy this code onto your clipboard (or, on RStudio Server or Cloud, select it): (y <- 1:4) mean(y) Then call `reprex()`, where the default target venue is GitHub: ``` r reprex() ``` A nicely rendered HTML preview will display in RStudio's Viewer (if you’re in RStudio) or your default browser otherwise. ![](man/figures/README-viewer-screenshot.png) The relevant bit of GitHub-flavored Markdown is ready to be pasted from your clipboard (on RStudio Server or Cloud, you will need to copy this yourself): ``` r (y <- 1:4) #> [1] 1 2 3 4 mean(y) #> [1] 2.5 ``` Here’s what that Markdown would look like rendered in a GitHub issue: ``` r (y <- 1:4) #> [1] 1 2 3 4 mean(y) #> [1] 2.5 ``` Anyone else can copy, paste, and run this immediately. In addition to GitHub, this Markdown also works on Stack Overflow and Discourse. Those venues can be formally requested via `venue = "so"` and `venue = "ds"`, but they are just aliases for `venue = "gh"`. Instead of reading from the clipboard, you can: - `reprex(mean(rnorm(10)))` to get code from expression. - `reprex(input = "mean(rnorm(10))\n")` gets code from character vector (detected via length or terminating newline). Leading prompts are stripped from input source: `reprex(input = "> median(1:3)\n")` produces same output as `reprex(input = "median(1:3)\n")` - `reprex(input = "my_reprex.R")` gets code from file - Use one of the RStudio add-ins to use the selected text or current file. But wait, there’s more\! - Get slightly different Markdown, optimized for Slack messages, with `reprex(..., venue = "slack")`. - Get a runnable R script, augmented with commented output, with `reprex(..., venue = "R")`. This is useful for Slack code snippets, email, etc. - Get html with `reprex(..., venue = "html")`. Useful for sites that don't support Markdown. - Prepare (un)rendered, syntax-highlighted code snippets to paste into Keynote or PowerPoint, with `reprex(..., venue = "rtf")`. This feature is still experimental; see the [associated article](https://reprex.tidyverse.org/articles/articles/rtf.html) for more. - By default, figures are uploaded to [imgur.com](https://imgur.com/) and the resulting URL is dropped into an inline image tag. - If you really need to reprex in a specific directory, use the `wd` argument. For example, `reprex(wd = ".")` requests the current working directory. - Append session info via `reprex(..., session_info = TRUE)`. - Get clean, runnable code from wild-caught reprexes with - `reprex_invert()` = the opposite of `reprex()` - `reprex_clean()`, e.g. when you copy/paste from GitHub or Stack Overflow - `reprex_rescue()`, when you’re dealing with copy/paste from R Console reprex/build/0000755000176200001440000000000014642106746012670 5ustar liggesusersreprex/build/vignette.rds0000644000176200001440000000033314642106746015226 0ustar liggesusersmM 0ǧ.K!7O)K]G[$&ɳGyvB6Bs6`ȃSb)DUWyυTD*iePj7]f0oST N*f\fvϯyՁ=!G̈́qgEƾB/1͆Ohqu;Op-sKIO&U K}reprex/man/0000755000176200001440000000000014642060466012342 5ustar liggesusersreprex/man/un-reprex.Rd0000644000176200001440000001244714642100635014557 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/reprex-undo.R \name{un-reprex} \alias{un-reprex} \alias{reprex_invert} \alias{reprex_clean} \alias{reprex_rescue} \title{Un-render a reprex} \usage{ reprex_invert( input = NULL, wd = NULL, venue = c("gh", "r"), comment = opt("#>"), outfile = deprecated() ) reprex_clean( input = NULL, wd = NULL, comment = opt("#>"), outfile = deprecated() ) reprex_rescue( input = NULL, wd = NULL, prompt = getOption("prompt"), continue = getOption("continue"), outfile = deprecated() ) } \arguments{ \item{input}{Character. If has length one and lacks a terminating newline, interpreted as the path to a file containing the reprex. Otherwise, assumed to hold the reprex as a character vector. If not provided, the clipboard is consulted for input. If the clipboard is unavailable and we're in RStudio, the current selection is used.} \item{wd}{An optional filepath that is consulted when \code{input} is not a filepath. (By default, all work is done, quietly, in a subdirectory of the session temp directory.) The most common use of \code{wd} is to set \code{wd = "."}, which means "reprex right HERE in the current working directory". Do this if you really must demonstrate something with local files.} \item{venue}{Character. Must be one of the following (case insensitive): \itemize{ \item "gh" for \href{https://github.github.com/gfm/}{GitHub-Flavored Markdown}, the default \item "r" for a runnable R script, with commented output interleaved. Also useful for \href{https://slack.com/intl/en-ca/slack-tips/share-code-snippets}{Slack code snippets}; select "R" from the "Type" drop-down menu to enjoy nice syntax highlighting. \item "rtf" for \href{https://en.wikipedia.org/wiki/Rich_Text_Format}{Rich Text Format} (not supported for un-reprexing) \item "html" for an HTML fragment suitable for inclusion in a larger HTML document (not supported for un-reprexing) \item "slack" for pasting into a Slack message. Optimized for people who opt out of Slack's WYSIWYG interface. Go to \strong{Preferences > Advanced > Input options} and select "Format messages with markup". (If there is demand for a second Slack venue optimized for use with WYSIWYG, please open an issue to discuss.) \item "so" for \href{https://stackoverflow.com/editing-help#syntax-highlighting}{Stack Overflow Markdown}. Note: this is just an alias for "gh", since Stack Overflow started to support CommonMark-style fenced code blocks in January 2019. \item "ds" for Discourse, e.g., \href{https://forum.posit.co/}{forum.posit.co}. Note: this is currently just an alias for "gh". }} \item{comment}{regular expression that matches commented output lines} \item{outfile}{\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#deprecated}{\figure{lifecycle-deprecated.svg}{options: alt='[Deprecated]'}}}{\strong{[Deprecated]}} in favor of \code{wd} or providing a filepath to \code{input}. To reprex in current working directory, use \code{wd = "."} now, instead of \code{outfile = NA}.} \item{prompt}{character, the prompt at the start of R commands} \item{continue}{character, the prompt for continuation lines} } \value{ Character vector holding just the clean R code, invisibly } \description{ Recover clean, runnable code from a reprex captured in the wild and write it to user's clipboard. The code is also returned invisibly and optionally written to file. Three different functions address various forms of wild-caught reprex: \itemize{ \item \code{reprex_invert()} attempts to reverse the effect of \code{\link[=reprex]{reprex()}}. When \code{venue = "r"}, this just calls \code{reprex_clean()}. \item \code{reprex_clean()} removes commented output. This assumes that R code is top-level, possibly interleaved with commented output, e.g., a displayed reprex copied from GitHub or the output of \code{reprex(..., venue = "R")}. \item \code{reprex_rescue()} removes lines of output and strips prompts from lines holding R commands. This assumes that R code lines start with a prompt and that printed output is top-level, e.g., what you'd if you've copied from the R Console. } } \examples{ \dontrun{ # a roundtrip: R code --> rendered reprex, as gfm --> R code original <- file.path(tempdir(), "original.R") writeLines(glue::glue(" #' Some text #+ chunk-label-and-options-cannot-be-recovered, message = TRUE (x <- 1:4) #' More text y <- 2:5 x + y"), con = original) reprex(input = original, html_preview = FALSE, advertise = FALSE) reprexed <- sub("[.]R$", "_reprex.md", original) writeLines(readLines(reprexed)) unreprexed <- reprex_invert(input = reprexed) writeLines(unreprexed) # clean up file.remove( list.files(dirname(original), pattern = "original", full.names = TRUE) ) } \dontrun{ # a roundtrip: R code --> rendered reprex, as R code --> original R code code_in <- c( "# a regular comment, which is retained", "(x <- 1:4)", "median(x)" ) reprexed <- reprex(input = code_in, venue = "r", advertise = FALSE) writeLines(reprexed) code_out <- reprex_clean(input = reprexed) writeLines(code_out) identical(code_in, code_out) } \dontrun{ # rescue a reprex that was copied from a live R session from_r_console <- c( "> # a regular comment, which is retained", "> (x <- 1:4)", "[1] 1 2 3 4", "> median(x)", "[1] 2.5" ) rescued <- reprex_rescue(input = from_r_console) writeLines(rescued) } } reprex/man/reprex_render.Rd0000644000176200001440000000500614276602640015475 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/reprex_render.R \name{reprex_render} \alias{reprex_render} \title{Render a document in a new R session} \usage{ reprex_render(input, html_preview = NULL, encoding = "UTF-8") } \arguments{ \item{input}{The input file to be rendered. This can be a \code{.R} script or a \code{.Rmd} R Markdown document.} \item{html_preview}{Logical. Whether to show rendered output in a viewer (RStudio or browser). Always \code{FALSE} in a noninteractive session. Read more about \code{\link[=opt]{opt()}}.} \item{encoding}{The encoding of the input file. Note that the only acceptable value is "UTF-8", which is required by knitr as of v1.24. This is exposed as an argument purely for technical convenience, relating to the "Knit" button in the RStudio IDE.} } \value{ The output of \code{\link[rmarkdown:render]{rmarkdown::render()}} is passed through, i.e. the path of the output file. } \description{ This is a wrapper around \code{\link[rmarkdown:render]{rmarkdown::render()}} that enforces the "reprex" mentality. Here's a simplified version of what happens: \if{html}{\out{
}}\preformatted{callr::r( function(input) \{ rmarkdown::render(input, envir = globalenv(), encoding = "UTF-8") \}, args = list(input = input), spinner = is_interactive(), stdout = std_file, stderr = std_file ) }\if{html}{\out{
}} Key features to note \itemize{ \item \code{\link[rmarkdown:render]{rmarkdown::render()}} is executed in a new R session, by using \code{\link[callr:r]{callr::r()}}. The goal is to eliminate the leakage of objects, attached packages, and other aspects of session state from the current session into the rendering session. Also, the system and user-level \code{.Rprofile}s are ignored. \item Code is evaluated in the \code{globalenv()} of this new R session, which means that method dispatch works the way most people expect it to. \item The input file is assumed to be UTF-8, which is a knitr requirement as of v1.24. \item If the YAML frontmatter includes \code{std_err_out: TRUE}, standard output and error of the rendering R session are captured in \code{std_file}, which is then injected into the rendered result. } \code{reprex_render()} is designed to work with the \code{\link[=reprex_document]{reprex_document()}} output format, typically through a call to \code{\link[=reprex]{reprex()}}. \code{reprex_render()} may work with other R Markdown output formats, but it is not well-tested. } \examples{ \dontrun{ reprex_render("input.Rmd") } } reprex/man/reprex_options.Rd0000644000176200001440000000703414276602637015722 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/reprex-options.R \name{reprex_options} \alias{reprex_options} \alias{opt} \title{reprex options} \description{ Some \code{\link[=reprex]{reprex()}} behaviour can be controlled via an option, providing a way for the user to set personal defaults. The pattern for such option names is \verb{reprex.}, where \verb{} is an argument of \code{\link[=reprex]{reprex()}}. Here are the main ones: \itemize{ \item \code{reprex.advertise} \item \code{reprex.session_info} (previously, \code{reprex.si}) \item \code{reprex.style} \item \code{reprex.html_preview} (previously, \code{reprex.show}) \item \code{reprex.comment} \item \code{reprex.tidyverse_quiet} \item \code{reprex.std_out_err} } A few more options exist, but are only relevant to specific situations: \itemize{ \item \code{reprex.venue}: Can be used to control the \code{venue} used by the \code{\link[=reprex_selection]{reprex_selection()}} addin. \item \code{reprex.current_venue}: Read-only option that is set during \code{\link[=reprex_render]{reprex_render()}}. Other packages that want to generate reprex-compatible output can consult it via \code{getOption("reprex.current_venue")}, if they want to tailor their output to the \code{venue}. \item \code{reprex.clipboard}: When \code{FALSE}, reprex makes no attempt to access the user's clipboard, ever. This exists mostly for internal use, i.e. we set it to \code{FALSE} when we detect use from RStudio Server. But a user could set this to \code{FALSE} to explicitly opt-out of clipboard functionality. A Linux user with no intention of installing \code{xclip} or \code{xsel} might also do this. \item \code{reprex.highlight.hl_style}: Only relevant to \verb{venue = "rtf}. Details are in the article \href{https://reprex.tidyverse.org/articles/articles/rtf.html}{reprex venue RTF}. \item \code{reprex.highlight.font}: See above. \item \code{reprex.highlight.font_size}: See above. \item \code{reprex.highlight.other}: See above. } Here's code you could put in \code{.Rprofile} to set reprex options. It would be rare to want non-default behaviour for all of these! We only do so here for the sake of exposition: \if{html}{\out{
}}\preformatted{options( reprex.advertise = FALSE, reprex.session_info = TRUE, reprex.style = TRUE, reprex.html_preview = FALSE, reprex.comment = "#;-)", reprex.tidyverse_quiet = FALSE, reprex.std_out_err = TRUE, reprex.venue = "html", # NOTE: only affects reprex_selection()! reprex.highlight.hl_style = "acid", # NOTE: only affects RTF venue reprex.highlight.font = "Andale Mono Regular", reprex.highlight.font_size = 35, reprex.highlight.other = "--line-numbers" ) }\if{html}{\out{
}} The function \code{usethis::edit_r_profile()} is handy for creating and/or opening your \code{.Rprofile}. } \section{Explaining the \code{opt()} helper}{ Arguments that appear like so in \code{\link[=reprex]{reprex()}}: \if{html}{\out{
}}\preformatted{reprex(..., arg = opt(DEFAULT), ...) }\if{html}{\out{
}} get their value according to this logic: \if{html}{\out{
}}\preformatted{user-specified value or, if not given, getOption("reprex.arg") or, if does not exist, DEFAULT }\if{html}{\out{
}} It's shorthand for: \if{html}{\out{
}}\preformatted{f(..., arg = getOption("reprex.arg", DEFAULT), ...) }\if{html}{\out{
}} This is not an exported function and should not be called directly. } reprex/man/reprex_addin.Rd0000644000176200001440000000465714642100635015302 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/reprex-addin.R \name{reprex_addin} \alias{reprex_addin} \alias{reprex_selection} \title{Render a reprex, conveniently} \usage{ reprex_addin() reprex_selection(venue = getOption("reprex.venue", "gh")) } \arguments{ \item{venue}{Character. Must be one of the following (case insensitive): \itemize{ \item "gh" for \href{https://github.github.com/gfm/}{GitHub-Flavored Markdown}, the default \item "r" for a runnable R script, with commented output interleaved. Also useful for \href{https://slack.com/intl/en-ca/slack-tips/share-code-snippets}{Slack code snippets}; select "R" from the "Type" drop-down menu to enjoy nice syntax highlighting. \item "rtf" for \href{https://en.wikipedia.org/wiki/Rich_Text_Format}{Rich Text Format} (not supported for un-reprexing) \item "html" for an HTML fragment suitable for inclusion in a larger HTML document (not supported for un-reprexing) \item "slack" for pasting into a Slack message. Optimized for people who opt out of Slack's WYSIWYG interface. Go to \strong{Preferences > Advanced > Input options} and select "Format messages with markup". (If there is demand for a second Slack venue optimized for use with WYSIWYG, please open an issue to discuss.) \item "so" for \href{https://stackoverflow.com/editing-help#syntax-highlighting}{Stack Overflow Markdown}. Note: this is just an alias for "gh", since Stack Overflow started to support CommonMark-style fenced code blocks in January 2019. \item "ds" for Discourse, e.g., \href{https://forum.posit.co/}{forum.posit.co}. Note: this is currently just an alias for "gh". }} } \description{ \code{reprex_addin()} opens an \href{https://shiny.rstudio.com/articles/gadgets.html}{RStudio gadget} and \href{https://rstudio.github.io/rstudioaddins/}{addin} that allows you to say where the reprex source is (clipboard? current selection? active file? other file?) and to control a few other arguments. Appears as "Render reprex" in the RStudio Addins menu. \code{reprex_selection()} is an \href{https://docs.posit.co/ide/user/ide/guide/productivity/add-ins.html}{addin} that reprexes the current selection, optionally customised by options. Appears as "Reprex selection" in the RStudio Addins menu. Heavy users might want to \href{https://docs.posit.co/ide/user/ide/guide/productivity/custom-shortcuts.html}{create a keyboard shortcut}. Suggested shortcut: Cmd + Shift + R (macOS) or Ctrl + Shift + R (Windows). } reprex/man/reprex.Rd0000644000176200001440000002660414642100635014137 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/reprex.R \name{reprex} \alias{reprex} \title{Render a reprex} \usage{ reprex( x = NULL, input = NULL, wd = NULL, venue = c("gh", "r", "rtf", "html", "slack", "so", "ds"), render = TRUE, advertise = NULL, session_info = opt(FALSE), style = opt(FALSE), comment = opt("#>"), tidyverse_quiet = opt(TRUE), std_out_err = opt(FALSE), html_preview = opt(TRUE), outfile = deprecated(), show = deprecated(), si = deprecated() ) } \arguments{ \item{x}{An expression. If not given, \code{reprex()} looks for code in \code{input}. If \code{input} is not provided, \code{reprex()} looks on the clipboard. When the clipboard is structurally unavailable, e.g., on RStudio Server or RStudio Cloud, \code{reprex()} consults the current selection instead of the clipboard.} \item{input}{Character. If has length one and lacks a terminating newline, interpreted as the path to a file containing reprex code. Otherwise, assumed to hold reprex code as character vector. When \code{input} specifies a filepath, it also determines the reprex working directory and the location of all resulting files.} \item{wd}{An optional filepath that is consulted when \code{input} is not a filepath. (By default, all work is done, quietly, in a subdirectory of the session temp directory.) The most common use of \code{wd} is to set \code{wd = "."}, which means "reprex right HERE in the current working directory". Do this if you really must demonstrate something with local files.} \item{venue}{Character. Must be one of the following (case insensitive): \itemize{ \item "gh" for \href{https://github.github.com/gfm/}{GitHub-Flavored Markdown}, the default \item "r" for a runnable R script, with commented output interleaved. Also useful for \href{https://slack.com/intl/en-ca/slack-tips/share-code-snippets}{Slack code snippets}; select "R" from the "Type" drop-down menu to enjoy nice syntax highlighting. \item "rtf" for \href{https://en.wikipedia.org/wiki/Rich_Text_Format}{Rich Text Format} (not supported for un-reprexing) \item "html" for an HTML fragment suitable for inclusion in a larger HTML document (not supported for un-reprexing) \item "slack" for pasting into a Slack message. Optimized for people who opt out of Slack's WYSIWYG interface. Go to \strong{Preferences > Advanced > Input options} and select "Format messages with markup". (If there is demand for a second Slack venue optimized for use with WYSIWYG, please open an issue to discuss.) \item "so" for \href{https://stackoverflow.com/editing-help#syntax-highlighting}{Stack Overflow Markdown}. Note: this is just an alias for "gh", since Stack Overflow started to support CommonMark-style fenced code blocks in January 2019. \item "ds" for Discourse, e.g., \href{https://forum.posit.co/}{forum.posit.co}. Note: this is currently just an alias for "gh". }} \item{render}{Logical. Whether to call \code{\link[rmarkdown:render]{rmarkdown::render()}} on the templated reprex, i.e. whether to actually run the code. Defaults to \code{TRUE}. Exists primarily for the sake of internal testing.} \item{advertise}{Logical. Whether to include a footer that describes when and how the reprex was created. If unspecified, the option \code{reprex.advertise} is consulted and, if that is not defined, default is \code{TRUE} for venues \code{"gh"}, \code{"html"}, \code{"so"}, \code{"ds"} and \code{FALSE} for \code{"r"}, \code{"rtf"}, \code{"slack"}.} \item{session_info}{Logical. Whether to include \code{\link[sessioninfo:session_info]{sessioninfo::session_info()}}, if available, or \code{\link[=sessionInfo]{sessionInfo()}} at the end of the reprex. When \code{venue} is "gh", the session info is wrapped in a collapsible details tag. Read more about \code{\link[=opt]{opt()}}.} \item{style}{Logical. Whether to set the knitr chunk option \code{tidy = "styler"}, which re-styles code with the \href{https://styler.r-lib.org}{styler package}. Read more about \code{\link[=opt]{opt()}}.} \item{comment}{Character. Prefix with which to comment out output, defaults to \code{"#>"}. Read more about \code{\link[=opt]{opt()}}.} \item{tidyverse_quiet}{Logical. Sets the options \code{tidyverse.quiet} and \code{tidymodels.quiet}, which suppress (\code{TRUE}, the default) or include (\code{FALSE}) the startup messages for the tidyverse and tidymodels packages. Read more about \code{\link[=opt]{opt()}}.} \item{std_out_err}{Logical. Whether to append a section for output sent to stdout and stderr by the reprex rendering process. This can be necessary to reveal output if the reprex spawns child processes or \code{system()} calls. Note this cannot be properly interleaved with output from the main R process, nor is there any guarantee that the lines from standard output and standard error are in correct chronological order. See \code{\link[callr:r]{callr::r()}} for more. Read more about \code{\link[=opt]{opt()}}.} \item{html_preview}{Logical. Whether to show rendered output in a viewer (RStudio or browser). Always \code{FALSE} in a noninteractive session. Read more about \code{\link[=opt]{opt()}}.} \item{outfile}{\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#deprecated}{\figure{lifecycle-deprecated.svg}{options: alt='[Deprecated]'}}}{\strong{[Deprecated]}} in favor of \code{wd} or providing a filepath to \code{input}. To reprex in current working directory, use \code{wd = "."} now, instead of \code{outfile = NA}.} \item{show}{\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#deprecated}{\figure{lifecycle-deprecated.svg}{options: alt='[Deprecated]'}}}{\strong{[Deprecated]}} in favor of \code{html_preview}, for greater consistency with other R Markdown output formats.} \item{si}{\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#deprecated}{\figure{lifecycle-deprecated.svg}{options: alt='[Deprecated]'}}}{\strong{[Deprecated]}} in favor of \code{session_info}.} } \value{ Character vector of rendered reprex, invisibly. } \description{ Run a bit of R code using \code{\link[rmarkdown:render]{rmarkdown::render()}} and write the rendered result to user's clipboard. If the clipboard is unavailable, the file containing the rendered result is opened for manual copy. The goal is to make it easy to share a small reproducible example ("reprex"), e.g., in a GitHub issue. Reprex source can be \itemize{ \item read from clipboard \item provided directly as expression, character vector, or string \item read from file \item read from current selection or active document in RStudio } reprex can also be used for syntax highlighting (with or without rendering); see below for more. } \section{Details}{ The usual "code + commented output" is returned invisibly, written to file, and, whenever possible, put on the clipboard. An HTML preview displays in RStudio's Viewer pane, if available, or in the default browser, otherwise. Leading \code{"> "} prompts, are stripped from the input code. Read more at \url{https://reprex.tidyverse.org/}. reprex sets specific \href{https://yihui.org/knitr/options/}{knitr options}: \itemize{ \item Chunk options default to \code{collapse = TRUE}, \code{comment = "#>"}, \code{error = TRUE}. Note that \code{error = TRUE}, because a common use case is bug reporting. \item reprex also sets knitr's \code{upload.fun}. It defaults to \code{\link[knitr:imgur_upload]{knitr::imgur_upload()}} so figures produced by the reprex appear properly on GitHub, Stack Overflow, Discourse, and Slack. Note that \code{imgur_upload()} requires the packages httr and xml2. When \code{venue = "r"}, \code{upload.fun} is set to \code{identity()}, so that figures remain local. In that case, you may also want to provide a filepath to \code{input} or set \code{wd}, to control where the reprex files are written. You can supplement or override these options with special comments in your code (see examples). } } \section{Error backtraces}{ To use \code{\link[rlang:last_error]{rlang::last_error()}} or \code{\link[rlang:last_error]{rlang::last_trace()}} within a reprex, you must place them in a different "chunk" to the code that generates an error. The easiest way to do is to insert a line containing the special comment \verb{#'} after error-causing code: \if{html}{\out{
}}\preformatted{f <- function() rlang::abort('foo') f() #' rlang::last_error() rlang::last_trace() }\if{html}{\out{
}} Read more in rlang's documentation: \href{https://rlang.r-lib.org/reference/rlang_backtrace_on_error.html#errors-in-rmarkdown}{Errors in RMarkdown}. } \section{Syntax highlighting}{ \ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}} A secondary use case for reprex is to produce syntax highlighted code snippets, with or without rendering, to paste into applications like Microsoft Word, PowerPoint, or Keynote. Use \code{venue = "rtf"} for this. This feature is experimental and requires the installation of the \href{http://andre-simon.de/doku/highlight/en/highlight.php}{highlight} command line tool. The \code{"rtf"} venue is documented in \href{https://reprex.tidyverse.org/articles/articles/rtf.html}{its own article} } \examples{ \dontrun{ # put some code like this on the clipboard # (y <- 1:4) # mean(y) reprex() # provide code as an expression reprex(rbinom(3, size = 10, prob = 0.5)) reprex({y <- 1:4; mean(y)}) reprex({y <- 1:4; mean(y)}, style = TRUE) # note that you can include newlines in those brackets # in fact, that is often a good idea reprex({ x <- 1:4 y <- 2:5 x + y }) ## provide code via character vector reprex(input = c("x <- 1:4", "y <- 2:5", "x + y")) ## if just one line, terminate with '\n' reprex(input = "rnorm(3)\n") ## customize the output comment prefix reprex(rbinom(3, size = 10, prob = 0.5), comment = "#;-)") # override a default chunk option reprex({ #+ setup, include = FALSE knitr::opts_chunk$set(collapse = FALSE) #+ actual-reprex-code (y <- 1:4) median(y) }) # add prose, use general markdown formatting reprex({ #' # A Big Heading #' #' Look at my cute example. I love the #' [reprex](https://github.com/tidyverse/reprex#readme) package! y <- 1:4 mean(y) }, advertise = FALSE) # read reprex from file and write resulting files to that location tmp <- file.path(tempdir(), "foofy.R") writeLines(c("x <- 1:4", "mean(x)"), tmp) reprex(input = tmp) list.files(dirname(tmp), pattern = "foofy") # clean up file.remove(list.files(dirname(tmp), pattern = "foofy", full.names = TRUE)) # write reprex to file AND keep figure local too, i.e. don't post to imgur tmp <- file.path(tempdir(), "foofy") dir.create(tmp) reprex({ #+ setup, include = FALSE knitr::opts_knit$set(upload.fun = identity) #+ actual-reprex-code #' Some prose ## regular comment (x <- 1:4) median(x) plot(x) }, wd = tmp) list.files(dirname(tmp), pattern = "foofy") # clean up unlink(tmp, recursive = TRUE) ## target venue = R, also good for email or Slack snippets ret <- reprex({ x <- 1:4 y <- 2:5 x + y }, venue = "R") ret ## target venue = html ret <- reprex({ x <- 1:4 y <- 2:5 x + y }, venue = "html") ret ## include prompt and don't comment the output ## use this when you want to make your code hard to execute :) reprex({ #+ setup, include = FALSE knitr::opts_chunk$set(comment = NA, prompt = TRUE) #+ actual-reprex-code x <- 1:4 y <- 2:5 x + y }) ## leading prompts are stripped from source reprex(input = c("> x <- 1:3", "> median(x)")) } } reprex/man/reprex-package.Rd0000644000176200001440000000320114547646515015534 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/reprex-package.R \docType{package} \name{reprex-package} \alias{reprex-package} \title{reprex: Prepare Reproducible Example Code via the Clipboard} \description{ \if{html}{\figure{logo.png}{options: style='float: right' alt='logo' width='120'}} Convenience wrapper that uses the 'rmarkdown' package to render small snippets of code to target formats that include both code and output. The goal is to encourage the sharing of small, reproducible, and runnable examples on code-oriented websites, such as \url{https://stackoverflow.com} and \url{https://github.com}, or in email. The user's clipboard is the default source of input code and the default target for rendered output. 'reprex' also extracts clean, runnable R code from various common formats, such as copy/paste from an R session. } \seealso{ Useful links: \itemize{ \item \url{https://reprex.tidyverse.org} \item \url{https://github.com/tidyverse/reprex} \item Report bugs at \url{https://github.com/tidyverse/reprex/issues} } } \author{ \strong{Maintainer}: Jennifer Bryan \email{jenny@posit.co} (\href{https://orcid.org/0000-0002-6983-2759}{ORCID}) Authors: \itemize{ \item Jim Hester (\href{https://orcid.org/0000-0002-2739-7082}{ORCID}) \item David Robinson \email{admiral.david@gmail.com} \item Hadley Wickham \email{hadley@posit.co} (\href{https://orcid.org/0000-0003-4757-117X}{ORCID}) \item Christophe Dervieux \email{cderv@posit.co} (\href{https://orcid.org/0000-0003-4474-2498}{ORCID}) } Other contributors: \itemize{ \item Posit Software, PBC [copyright holder, funder] } } \keyword{internal} reprex/man/figures/0000755000176200001440000000000014310727461014003 5ustar liggesusersreprex/man/figures/README-viewer-screenshot.png0000644000176200001440000011336714102672630021127 0ustar liggesusersPNG  IHDRXƉgAMA a cHRMz&u0`:pQ< pHYs%%IR$ iTXtXML:com.adobe.xmp 2 5 1 2 Ү$@IDATxWu.n*WW˲qWm6ŅN)@x&B %J( 6؎8.b˲zn3gNҕ-x;ߪ{:{̩ڵ{߸H㟕qV+8RZiif[(h!g, q4&J+m3ж,D o! iR5dEh#θ}8S4ZH0(rת*Qi,+vXB,r.e iF M\ٖaJٖ!Ve>4d4̲-6q f闖!Ce߄ۑu4:hi%YU^ؘyG}lJC[,SƳ;4F3]qe|!gH3b4Jj8B,'4bKdq4BN ^M@'tFض9MV1{4yd88I˶Tjo+e[)F g4YcDXrÊT,p4XB)jr4jГ&uY\~x = 9tؖlZ,Ҷ-[`ҌLZL˲Pl yML,a,.3i3iv4Y>(J(5O 48CY1-ĕc8&FsrB;keo%r5"3U3厛RgUP|<^YF~¿,whR56jTF5B6KBZ^WS ^N}J-l+b%:@OB, lsa(N8gqOVL&ޑU e"1 m m":'2ϸ(%uBa?YAٴ9Q22'-fw)Ai괕Ȕ)S zM?|u/c100(CCC8d[o8ֳ&)+E7 [jbz)R}YJiƦİmz(=Ĕ'ŎԷi}.r Ra,omr2qҢ[CI RXj>jL^g\!ފɲ1 \L12zLZ2曺tNf>U_+5TqL+>~0PKP# bS%ײhE#z& (gpE)`\M~"RNSR6ܭK.8ۈuk-WC^v:0ٓzH} jKl1Y,9@@"R Y?fh Q=_A[@+$y.1-T/vgxk, b5 au_byw c򝭂d7*xOmCUؘƋ /MU:* RP*<1dS+fiZö nR>t^%"`PW`ST v.C`0qQ-73Ѐ?‡q=) -*14 O3S ʊmRGn`Cn},;"i%uvm۞N5k2c"Y)Q`IkpY#Ai&fb4np.1|wʎZ dUENz4 *ܘ 1-ZB>bXf[Z43X6 Tr  KPa6THŽ؆kN `1AYTgo5f\PYp@FHӼm8r:6\[S<%`EEU#aJtCo0 .scY\w>&IEJ#)@7Qǥ chZZZW~;9Y >/*FW"y)ѬRc%X<^yL"yEOmtdPIy*Z#91$k1l9]VmdHG㠱cn!ʑ]@C>N b]c̄u |6c#G otx>'}s?&G;ӦNՇ:od?0Ԥ߸Xn^7aWIKՀW(N˧@y_)mu:f-ԋOn%0R{^;{kx^ylnR MSgի~|^v֎ \X!.μW!ȻY0S/ Cvs]\Yl29UmSf'tp6^xMe//ۧ;^Y0I͞Я$(e/MGw^yK).1S:M@ k5qj6KP_Z6Nٴy̑gz$P[Q:ܷY>rUϐaE,Ē&&vXh=Ƌ\9[=rse6ǓmGw #reϻN6,Z3d9SԸݍ:OwR/bvyh&hT֦O#xsLG @߼b/FoٲEۧw|;/s$[ze[Zn,Y'Ya.z; ld$,\۽rÍ7;?~ _?#Ho߀ڼIN:3"rݏ lUk&mux  lH'lkp7(/7ګ_O9p<Ϸ\Xx 62`:.j#)xҍR , [dl ʡ_GyW};,-xMhBc[z$825H2Gdc?/ i40)YLPj1kGY#AMax17M+4H!Ac1>-28'۷ށau@TuƐOʺuqwU}ip,7~0jx#G ax乔}H6m*=U'uqmAcun9!=>YN9B +C⼛guwwk.øPTB!WUtLv:rYT(`vwo{DzdO .Pϟ ۘ޿Sl,9䢋Γ)MD (W;{usdEGrɆ7̕WJ:\Fޝ A;=$Vs7fo#dՒrnxv?vOͶR{^h7(useɇ?y W!6X]:g^LZdd_v?]l}Lu_*kN3VLoz=vP{p,\},,~@6=CjdYedjkuM= {eKZˌb"<1,,l|Xƛf'K؀ < kx0OdgBeS hԹ"CJ9'GHmy˲0Ƶ2 Ҧ45HؐھY˔ZپuM_(̜ڬ3Em$O#l4Ȋu\!D^uf\9k|ɷ/gͫ_(ZqPW#/-s~4t}ɬgYȁ]}G OqR;ct{bdf/r2ݸ&aIV` !LL37cC2Q=O<"}ó佟l~rõϑoҁuZZYW02ڎ򥏽[^Ev?${]¬D :"kϒ痷ɮݲʵW^*nٍDv\6rϑ}Ο!*ãH. p4r|Uƪ1g?'+]lŃHr]w>1k{ڪ%;6B;_}79/Gn7,H}m;83ao +n8 _7-dM rtMjdӯn_2̪[ )GtF_)g>&y_$_rbx"Q>)iD9ccn<^$_ly1эwI%/+-wʋ^qBjFo~^ɞ{~|{c᫯ѽH\sU=~PO";ڏ}HkݷMٷ䦿=vBF1_rEs||f" >A5y#G =%۹{hj;_fЉ9g-]v\z%r×Q 4]/]z\|E2sLHD0wT0=rlֿ=?Eo{"aa7{6Uz/o>*1]~! 33߽G&eެ2 <էlg0s_l`~ჲdl=QVr.L?_{+)o?r}?˟sG?'ַ~ywz,x>~$Mc5Ff|Qn'^Y\̠-X0okg.#GZ;yȜG?Y:soX;wڱrw]~vAS̠L>k_{XO'Hڥ}_|K_>y*};/}ztKn'˟p<5oWPUE.Y^nLf̬ŵ5i :UrSdXpn*S_> ۷SuTmP>qs៾G^[ukZ݂D$!-}|=?}yɚ%3``z+V K6O %}mr޻)9ފ|m!Ac;+y|dcSyvl%zedŕr)r$Cs|*w产ϒz+_&wUzƤ[7zF_<yA൥m,3eUg?KF|= 8dvޢ wQ/}j#;cM-MGه\gR+vk]BsVȷ$Ws|C7\)sqDe+vBM6ʚKor3.-DfAرS䙯ˬ9-r3wa _lۉsˇ [>1}Uq|V&Ys-}!na`3MOȴf79xKCbY4VI3nvi;_|Gy{,[<4A_l_lu2Vc_o~ɂs6Ƕ_:#9[-w~4 n|%ZYcyHnٍ?|< —8!ޗ1^)wȒ36M70!DC~߷HWG\}K#!ޢԂn1: z\o)˧ yBrz2J٩R( q7NnQ1nC #݋˷&蒍Gʻ.\+ H ݓT`:1Kgx\nZnzkluO/O.%M+^U+yn/Df#ql?3ޟߌOY\~e&n}0Xye01 T]ȵjFs=6@<gf 7 vѣ41r_k+$}ST>'ͱ -ʚNl" ۢ O3"ĕ Of[<ϐ$UrOA@%ɬ! ?i3q9i+qk6KjD f$ǯ/,}ES&i1r6~]}Զ?\]+`,:/}mUrxEPHH1k4̵E.} Ov~SBтbq,g3U ˿o}2'@p1W}DWI݌f<YskUO_.]'7r_kvyg%_(}:R{*w'_Dzv4ix}\x3i+f">,MSۤoew._~|/?x|H.[\FN oqrd(ϕWJl9Eo}5`hJ5Zʊ3dph ?xh >tbQ#nB-w[u]83m%eFp =:c\~ȇ_6E^g g/H|TӐc}L'{ 2/CsڦJòrI[>ʗ.ox5Ѝ͟NfA=G.p}2s<&-adZXGGxPO69F&BX^#pD/9ĎX%XExcagqWw-jEaz3ʱseVC:_>]>k9Odb^wNiRNvèKQ2}g >$n{nFvoO~.[,ˮFf!1;"D6Mea?";eάi{>`Go>wÉTn_D8$t ϹBis< !q9,s׮wrE+diǃ cWs@zY3Kd9f*1^[2Cߒ6 災弋ukY`Ƒ'>̎s:mwDڑH\^#pE_]OYjg1w^vg3mX9 >.Z\X״K+8圵kdƴYrlp,(6Il27-r5WČe5ck``@oڱǴJa-:˿jiF "$WW;Ɏ]>Zp ~\nZPh ?Som4ݍs~i$M<y 'cdsd%hBZh!&Ggx,]35ҌnyC;g6hVH|C2 |j}'̞o#xI$Tcقvv< <3ċOnB)|N pm'~lf¸)At\MԱ٩Ǽy 6nZZG('Ɵ_3=0 u-q~0yƧQ_vL7㡠/s?SM{,W& cL0?ڤv#A?fh4 ARoQlX^(D'Lxw`@1YbLXO5U??rǶ-4%^"o72Qś9"gFPiqr }r86B|Fl̃n 5;,ۧK#nVXhVRaCǍt,h.7c c"fRw1W p24֙hQnU,"rG @__˴;7Ωş,<ڵ IIP^݇"Χ8\Kl@% 3"KHӐ`G5~-p]]1 1pޔO=lkf 27[xŲ!IOJfިDqavy߼_aض:Vquǚ~f4cHbyA\## +!9$1`J,c~g e*!a`͟?/J\ىO~`Je5w gfJ& i =hrLn7 6~ٳ{5x!8"dOj|`?~4[\kĢb'֝WTm C@X,Iilc4DkW/r3R~X[(5-PxJvob½WFI{Vm\gVӚٚ$F^vX?$}g0szH&O~|%meXN%06FDK#G V~:g [d[:5sF+T L0Nwre۝cz ) ⬯ 'N`ػ$*^@XTdWۧ,Kc1EmHcɢ'hy)ѽBrѩ7.cZ<y\O>G} (@ 0rRq%ctIiDI>)HIcN)D:,>aqζ{6DƠ Ӿh|X˄z9 LSx@ .'+R֬'=MNlckx;vs8 G6<:g=7Ϥ[D*ғ B$\8vXB f9SJɳ}M˶617aPW>QH ۔Y .䱺cmMɵ})V/ ꤱ~rՋi9LKotRY=!mO Kf%QbY}IC>kbku#䱾tVe[ӯIdDBA9Y]H|Φ\|x#cC eK•YYiNjo_ !s=գՅmi[C&#[75}:u' sQC~(UBp􅲼 _(0Dngu'SAұeW^%dbDb6iǺ/.k-ɍp!Lvp=:@W!] ۱]NXUf)cOmä0ڏ.gS-TRLXpz*fHB]OkJ ~|!>zHgI;WqRmOj#k!QC=R@<y*>E><_S++svM'JWyXO.ڟ&װQ>2JL$ԥ/D/t(,{ΔgG -]4kֶ}9:4m?@<yJE6N ]%dJ'+&˥01B u|+9Wي}ԋ?6E]r}I%QBQpG SÚ\=Iox:V PeČoZWٽ>fC%eӋRo"xDOq2g"6z&ڙtxƸzcy&qFғf'^&&L>O󚼸baKP[(ɒ]4\|?/DuiI>IUy/v'dC*Yxdꜹ2 =|c3g |C t0GvɁC{?z*3&`,M*Yj,]< !TKPso:7gN 5$m(Z\>By/owq֎`tāc(e|Ή-lK3[;RH83h(.*Cm } "88i\6=S'iR">5QDm!J!cJ#ep2cJ},0g _rRLo,YCi o_h}Ͳ-=İx__#Ymgb೚{'Fmi"Ll[`y>P}lV8֞wzo.UBn^DJj| aO}uEBeX \0:,'ķHw0t2¿!?>g>KQe$GȺ,Nx?_.?h|X7~^ϙ)SZ =}r=pxB=}q?D9GhccDŽ?- lǾG] {V0yn|A) EqMNrJ$M}B\mD<)r81B8@l(S5`cv'.4M~༝D%ΗE!96soY8o /6vxm) #(ȗg!9!\̼H͡mz(S8d>5vs;nVb+om_(Ϛ:l |@whҭm>=9@Xd[;噍NσM G I(v~`=vzėQrTo㜊L'QqQ<(%lޢ6I=$:KdkJ@ KPbB:,6^,4OoQp?v y58B&g{}jbYp..a:4<*mxQM̛+[ݎׇpG7Ψa,pG8@="h?Bց4`߻㯇ϛ=CflYA%z0XetfhE!i"ùQDݛ`8"o.gO~0Q$EilK#y)"~ /C ˩'ȇHR,\|+&/StX:V9;881,ܳ'Ƒl>qjIcprImP_q-ᜎ1:>Ph3nM!9x梒%[Ʒ2h Ɣ[烳8r<(> Y|ȊpJKŗPsK∱=%_'ǤqR泪&JhcY#jnm.Fmڥ3?c6H-/itܜnQbC`* ݹCK"eQV9O'2O?$ s41yq.M[`u%*g:TxR8 q)wrd9!}Gˡ[~$ywȪ(-vz9M=LLFDHSZ@9z\uȪe岅tc 5QLΝ=KoO>U-f+ $OE3AbGwȎ}G~Li:/# y{I]=r|>qߛ&!1|:iJImt;4$Gsͭvzq\$Njyr|m>Ķ/ؖY|vle9ymdHbq>&gqc.![g87.`ٶH;) W2\64ZI'6r8WH|i&g\Vg!\D}`tOx9n㜾m&֙,\[i&q&nBls۷ˑ}JoW?Wcn򹦉nN/u8:i;TH<I c8,Uz숌,=)/z&Wm8@6Sc4ӫӂ| >jeXOť_O> H {1K7S6;[r~(po>t!\)-*wu`ǻ{d7nEM%,=mLLJGk?&3ۦ5fL:\<;E-ubl sf'EYLH3;T5I\oZxRvXLi>稕K){CږQ")JMEBYIbH RC8G }0\d8e7.<Zd,aqq-iOdY-JJB &+sv`rCۜ;Y˴8iHOlV qF;\bCB\ qNGmXhrᘲ'.l,c*baJ Owdʊ2䫿]7n^U,<5<3;*O!1p'L(q* '@D9\d1x7@&];)ӇeڼRtD?2H։1N(*h5;d3ګXоd\LZm۱W@oiC_̛;[.!f6|;6" 3YUNhĚ bGnۂL$ۑ@bcain.̢g[te" ޺z:Qh#dF$u:9Ds;@I̽$Τ G)M9>8'oRm8X48&DУ&2%U 2yF3ߜ7>9;"۴hNz 2KV)%q1’%u:DCj!r,vUCsy~ך%lsF=O;Lok8FmK t4Ji\6X|0C%pY>Ķ<#68T:Z,+Sq\2w]b-2 /~{Z|2碋e ) {TyPuALHh11_t Wo%h[ݺ 8h=Gc2u7A-}ۤfJ4./-g"Z0."7NoQGzIz' 6)-*$@IDAT=҇EkW-џPǏ#cjמ2J=p;qLfLai 6]m81Y^y#2{4Y۔\WCSGڥuzNA"5eH롹G?)j#àh*/$*GF pa_)۲pU4Ic1|k8RC"8@1ɳv|p&6NDo +T{|0%^37Sg3L\$$BJHD\nc_ǶPU4ƴ,859 GI̔W@Vfr})[W,s>k0SST'e#hNec*/ȯԇ8 䙊ju_H70h!S`r)ͺl`=8wW, |32Kw>ŋe{LvUXm`fHӑ>T8k{c"'InuH]QvD! xRe>Ҵtz%+KWq.oMm!q]|갮FNk:p!$\C҄[(`,<+@ ^pfWaUnE#~vɂFܑPSe֔Fš.oZWts9xrڰe%"8AKYao,<º[3~/pfɬ'p&@:]:1:F.1zЀGm6^)ę^hR^Jж :45ql# "\b\WqgJ ):svmljmJ+4/M!ft>|}RT_mSW&UX*L+iL2$DfvRYTJ0cp{f@# ;"D93$@isaETo;ýc>qIR:UUEl1~T1Ke|,*MH0:V31`CX?ۅ;nU6> 2vW;ۥ"iс΅цqM p:53NQ:qOjHwxg*A:,nOa2 O ,[/mL+dR,nB-u'w $=?{/?{zqK 3Y-XT>{笐 6eA$}# =snΒf⬞)qq>W[FP[pFmWw訴MmӦu%.Wg|A8k8d#N0 XqaފO@{愇paڵmJNE"NMWD; s,-0ꢘͷCm@aiy^ǤX=6#{}.k(ɕ1&urptnQRzɎx #Ta'Xp΅ z: N#b\+:É pY:UV>n:]f38=|䈑/!kΰpZN-tq%䱡28^O~.cQ۰6UpܗƐͩ˰kRP. WZ/Fpe 4ᶚr m&_?'wR:.)vIϕ9W>O <ߦV TUC-^:ҝvu@Dڡel_j!na6mL_ >"G/ > WA*,-Uy v6>$k4$6}${Xg$Gdݴ鳥kwI)2|)Vg Sw;ۻX(@j??v5'伵+e*< kn{8\nuhC:s3mk nъZNpDFuu!/;%5Yg"P~3 [*yeGW(t5$c]:ÅF16-=3 cp:9!ӒļΪ,/k-8.]qE]L7m*tX3h.tpl8>166;KI)fN.֦ Ø}(t{̘mǶm }=GGع(96!?|Ї8'p>6:~gkZ&!,HI%zagy-U d7ȜK/#G ̜X.^(m3or {z%&g:ByfoEi@ζ7̵G]Ě<28 ݄n&^Y-}Hpz;S]2{ eYbf}k$wMu:^-a!RWW+.nl M*˖6˂xa,<:ޅj\fMG=STJNvZ*J\=#ڏ|$SI޺0x|>cS@Ln>cǥryۗ?DmEce#Wj#qΓIs8_3z_!Zjر/y(Ed<}(+㜬HN`p,E:8G ak=%q8+/)ŤpfǗ`"-*L'(5Dсmljo6CpU$TbUꍠx+)Njy8bq1mljm |%cMR2th;S/چq8qG^7V q}pzMNp"dQ5hhN u IXkc#-xtx|zC\,+i FҳEN`XL"d *c2YL͏١bm1BrNT*P' \M3fH ͸U"W.7mAV"t=lx97Cn_XB=i`ǪHÈM!mkZ٭J^)ʋ%KEaSlLm#6)oN2XqPzm=jȞ1|P.تnIKn "DI m XGhLlCbF]!D3vp&=8BXBYA.GߏREpBYC"^ބ up%C(iYǯA"娔AUmlؖ9;F^Nbv,/ıPq{'/!e8@o ^)Ϲt?.KwW7^b9Ox+c}/ąyHQ70L\'_uA!gz+G>#JsUrt145w[k0f:iOYF&CU2֛r݃Xi\|xx ΀4֎sX\ X)ND=>o6\t՗ʯ={lٶKz gO'vg|,(^nJ}I,gv{r8}4)*Żnf[$إ'|1wTC U&" A#`%đ: EporY_@N+c*~.+S^ qpbqa: Ɣ2pFD_i }`6 fϖҋۅMgIUJc̝2eր$c-w:#*l+ 9gPi8)bѰY+aHҩt/<"o"d(ʶU?0,Õlp,*x#C[Qmʴf`mzm[$?phzHW_zt"R8X㯄dV*bL䄾ؾ6G]N׳䗓œE ufo8dŎb%-/KVHCչe //bL/7\z i&d?frC#\fNOɳ;1i oqrx۱h gҠXF7!1Γ)[pmvRKZc9nWnO1d9M)>QOPFJmnN__)qR}yMɒcWn|g򞶳>ulas.DKmmގ/15ੲx"lV2erCx7Vg :K? ՗Ë1dQHHzzONՇ i,vՊ&/`OkQ&&b]TR_q;ZLTt_fQ̦bB Ѷ|=_vtBC١-a=dꡬɪӎPVhW1zamoJ >3."$Ą4< 3IG]s>)1z9,OW);KY?Aثfte`䶡}a\j/?FĘFXc훀q!4%龰04-6\}BظWBO-?I ktv1Y?X\mCºaf{úNu22+KIٕ )⠱a}(FHw,^#)S1z(9KVuuNH] Op mw@'ZL9-F ٸEՄmƫ4)RcX}hH[!``<=Mħ i _u@:Ku5_ ڥd0N[z'WQ,Njrg,lH#şD"&"I(DM3-7ݎ$(_$teB-aTiJжb 1U?GLeہ?eEtS/ړ`w$+cuRVYO͜ ;)m`ОJ V"a5/-Y"e{>KJ_)<!Tt'WQ7 Y4-G64dڑܓa.nGe) (]hKX7iZmR'X=L**;Pɴ})}?a=-T_'HV^98ꤎҟ mƥsЊ9xU3ds<y#G S&ugN5q$1y#G @jbe%©TOF^29O<y#0ۄ J4'&#[ &|LL9u5QTZEw%e?.ON\Zv<y#0BFID5j1&.Si dC-CS[ Wdl daVW[h\Gt?9Bq3k~&^5R?W=Q59>@<y@Xf$5ٳt Ga&]HZR&VL4za$qP#[s< B#+/3"UUaHK_SS%}݈!,xG @<y:=%#22'iuTI=&زQ{{pTjM#A¢ fۤ,5U#ٶe˶ǥFgljxȾ#wM۶c]Ae",W-npk~k+/;v $Xl|fٴ%3c#G @$-8}Θ6Iogr`ݥ2 J ~X ʔ5g]dCR&_x6V_l['ze玝q}QY|odE0tnMcf윥g e=wK DAđV7fڏȴ3dV;.?غM^l"#e\(Ȋ9u;ϑ 242V6)y#G @<yd`9$[g7詗,*$c6.w/߻j؞򒗾LsC2^]2U5V7vGaly_,*$-SUG}c476`&\njz)r F?U.ȗo(6MQymrzyقT3w5n"٪on wdF?o#G @<ғ-үܖ# ُuF3͖mSdxxHf,W9gȌeܙrŋ_ߒyӚe`pFanf|ߕr  pY>j}ْ5s!bI(r,˲U[[PM.$@HR ks̘xf9|oٖ,-Kn?ZjI=~>z_y{LC׆q+,Q u),/AK#Z7l+^,xc?Yc?QpW7ˌmM*a~a _?z̖5ǥp1??c~K\_4 |2I2={+eBYy%VIީm0{J8=Ls2hTOMʘfԳPJ@ (%];}xx55L^[a\|s[Go=LZP &Z`9X5E,[~\x,غ'GZL겇{I,V^eZWUvżU}H{|>%lv""IuzJ@ (%eϝj17qn[B R ϽPm'h?}}v<KO6 `6.46r•S{[Do¹SR?oO>*gz $mE-& \fw -vv?=;zMZ ycp+Lzl ]6,`xvx!~JnƵ݋PJ@ ܏z[Ŷ,38 [x&PքޮNSs'B{ OB S="T2\<.Prh3!r~ p݇)zPFAͮ煱c󘞚#˽MeQg?B&4j*+s&n` ];0p,*"axiYYW֡&G૩~lkےYRP<4#Mj)eJⱬX|=8@ {?p8izJC5,/ĕ4f=x5'^=e1Y76>SJ@ (% X=k/[7:T'G̓r˜*ȳ S?~c҅*SH,bQjY~%3+(XϬ31Q(\,>X^RTUOZYi[yk0‚dY'ڶ8nų ܎ҥN&N aCJv *x y/|m1P,aVI6_F2%ɝ{UUYn*}uD (%E`  (ZNG1rc (<\K%H.R`MM p&4) 0ynMMD==Ks3R8L1\!bBD^2,㼪 yY%ra3RE*"~J1KA28+#P,INp[8h<Ȫ-40TV5dN|l[tk850..Fg1=ثU%PJۼD(ĵy64at2*;)(avr~sb eUM8|dbD<FO S6,U=>viX}|"f>,2v]- d/-WPxDY"̘_ 2 _y<'oIYJ,L/ah2r> .oZoՠٴD8R}K/ C& GNEaZ&1k׮\[q ?%E`|Qj;~}PbS[-+ۂA[1|-.iɋ?26[˨mGa  Bmdܗ(wl)"%摒Ca,Tehz ,1#ĥ'RGӋ󘟛Ffd&yHy2C|>C oB@Ip]q%9(j^~+:OAphޅ mrY"49ڋLoa^@tc , a%A}M%BVOs: YD".E fʼ461b ?w01!pޅ}̽poD\yhd;=< ²DwڹР',Б\]as`b|`¥!Tubx );W9yL\É3|4x䡃d(":LGю(E޵e$|Rڭj{T (%B`=Q@{YmA$Nqvn[ PY|6ymwE)%x `>/2/rkMDj埡B-}xrx]>h#(:3v̛C\j`SBm}sBfVP]ΰ%B?J3IBεYPJ@ <\ϕ9(U(7a6uڛp{ -݋.$)M6RavZuCnf, 9ͶGPJ@ o?ZMh;x'es32=9ŀoQP (%}BXE`楹90f`˓L{ڧPJ@ & ڡ.k`㓭jڬPJ@ :y3Ƚ܋ڸN[k %PJLx쥻U`sb |Xn$g?GSc8e?</`,(2%~nhl\Q׆Oዿ8pegP4>'Pca!i񢮮cX[\%PJ>&hpRd-\IwCK-I 9琒rxQ͙}%<>nT|fEt qla>[WI| }}**@1Y>-o, UJWf+-w?xt:+X4a;ŚDPJ@ (%GVmg2\[~=u8c8+^1ܺ5ӧcfv ;(.1.ŅXƱo|"CQ(RY o}օzpI|>CO nM;+WSTqI_4!o &qxC/k,ȷ M|J^ȜXۇn^)%PJXKޟ_pd$IN*@ȒA`7⭁aÀTz:P#ēO>;?W_ϜEy'|0jQԊŁ} S%<āV+qkjG[UB3>IDAT+P,̩K)BCC:Z/gS^==t^Iz`J14>_>d ,-Jt^|v<~`GN(7m[hJ@ (%f o)ɳK0=7 .i)Gf#Za||bLk+sMeMQ:&!y59$ΙsR( gItI.-*  7eɯ/spZuWKaU2h 㩸si| w#]4T6tM_ľvƎq|tSJ@ (%6Q2<<n$_mu%%Í7n%dPhKdQti$3)GYyLH[B%1Uu]*IU^$ᒠu/q_ fKq!\\Rd[M/ξ pz:DFMs 6I~@ϩPJ@ (xF:A,3yzFɠN8ZuEՐ[[UJnU{6Bnzz%4dX_ m ,8v&)A94KgPJ@ (%pƖ=X؎,9oDa(5,s-wV чݷl#ˆoȢ)&ժ2\˔PJ@ ({udmwNs; &SOr")\d,2RZ;ۙPJ@ (/rŶZqK=b-FLI:GnukPJ@ (%p({~BXW2l&WL,daUHv̮&K%PJ'_`QH훈"':5SarBu}hlfn)J@dYEEZ}an 37@I*j FF1u+=lLxJ(nN" RQJe"-,Ncs|-MMֽk[M3Ԕ©p;v܇O s=f5M&nnc yM8hqO❒ e`;v7KVBKd^yc Yiӻ[Ҁөu8W*b4aG{3#yKJ ~z(%P.Ɗs[@isq£}&GFW] Q4u mHz*j߷ 5Ut4΃nDzcjXlt[XZO=\~X%aBƫe{壝Oin"][UkbRfǟm I"Ҏ=( 0=W_*pyO,O OdE]y8Xtc7[DYm78\myTaٰPJ$R /3SH{Օ.Ybgw7?p;wC8yeLޚ 'cS諢Y5¡ 7N͠H 5m8Rd2 Wšf6ng%PJxܴfz_vږr.׹DY5W0.j嵸v Zeg8"ݝH,LG}ߋ'[:Pǝy}OYn<==PeA#Vfro`.Duk}H-2(,*Tބ(*LYz4V:MM.Cț7./!{!0ͼ ȾgQ+o.ԵDuc/m0l0߰fl8VGoPJ@ ((rX755-ݘy )Uq=.Q\tg. Z;QW[ HLۮeɭzfQV}I;!AѳTQW3Fⰵ9K~gB4`-!wY+o+/"Ҵ:8XU| 1L?v|}n=Hbl\DS8(>Gh>29d@ݸ{V Xss1BU-[M\ٙ ixΪB)ӌ$=3LYrChױ91*IάWp/b.Wy<FM`]x8KxFMFpӧؿ<sm 5w9PJ@ ( ]\r۲,qT5"B-:;:2X,3N%gG&k֜ z@M \[Bx~8:^WB{y=v0ib10=TSl!1T ^t3FKc8'JB⾼?aR_6DBԠ2lOqغUa!QW/PJ@ (@*_[k-奖+%PJ`]DXc{-NvozVJ@ (%CE`kGUJ@ (%@1X.kkrhK%PJ@ l@1L~IGm֦ҺI[sWfW=^>6jFwڗ{qc͌m # Nu/|n6=oZp95fZ݋` 1&x(z٢q)V&y>iK!oxlڨozk_f]63)r/;ֽL{~}&kY漾FM@@iZwvXeyy9pM44peϨް[+kVNm sP~/g.wҿIwkN066 D"Me%J 1>>n ۴EaCs&%.a=NAosN*s6k5Bo$^,..2~nlaV|^ʝ}z;ji[7|ˋqޮ~smsYn;>_|v΅s|^k)Pu8r^;8;u H{}1ׅz>=wֹߎy厑{_(7}m|έֽ[;gkam>;ɽ:kw֗A9D9 Mth쳳gRϮsg?v>+Yug>2gV?;[8RYή,w#ۮv[~|mʤuexnܳ?]nB=C#KLX =]zK8aDh=%PJ@ (@ lifecycle: questioning lifecycle questioning reprex/man/figures/lifecycle-stable.svg0000644000176200001440000000247214403224513017731 0ustar liggesusers lifecycle: stable lifecycle stable reprex/man/figures/lifecycle-experimental.svg0000644000176200001440000000245014403224513021150 0ustar liggesusers lifecycle: experimental lifecycle experimental reprex/man/figures/lifecycle-deprecated.svg0000644000176200001440000000244014403224513020552 0ustar liggesusers lifecycle: deprecated lifecycle deprecated reprex/man/figures/lifecycle-superseded.svg0000644000176200001440000000244014403224513020615 0ustar liggesusers lifecycle: superseded lifecycle superseded reprex/man/figures/logo.png0000644000176200001440000006527514403224116015460 0ustar liggesusersPNG  IHDRޫhgAMA a cHRMz&u0`:pQ<bKGDtIME Z#iIDATxw|}} DIEUfY,ˎe[qqr7onrS,9-wˉlJzFRb{6;]Q ΣD`vvfv]6W>4WQHbLkj"Hd8E.W( |o |ZxQM6c sGp8Lkc#uuFɈVqXw7^׿6Cి5 " xL8pj-zjQ rrVNO'B:e5@J$hil x/Md(ȹBΞ3-)"-ǣ\^}(- $qTE ءgUYf/2RudZ" rPMiGK1K2PzS)tϭR MvT|qIۃi֤,s7ek@d D12 OuR)|DukWf̢Ewo/=td,[9 \-󻐲/:UR8͞(ʤsGg tvԪ,\Vd/[<3 :{zd(R-"[nSR_$D"suIgt/ƱL=NQ"O=WxRtp֨thH0 ,*(ej#[܌,),[Z]AY7bd P;T Iwo} 3洓\E$[)DAYl2+?65ԓU9Nh$B%IYflulqrj#}OG}L%hm>3+ 8K:6I,[f̯>>eYMY&5o~AIȓoTV.,sz\cc}QO7 ON9/tҟJe٢|2L2OWϺ(GuHc:aZ+\2<ݽ5)AI([(vyYAC]dogXjqӗUY.[Dʼn=Te~D"叩$ uI&DѲKߏc,SC1 dիd~d2?u=e~SB4\V e/0eBZGu (X"MT?#oQ-o@D( 2HtǬX>.D+ڶNOVe"ێC_?}*|1LxqdZ(S5T".ܐXq:jղE8$>}ùZwM@bTǫbQSe?7H M*ԲB{-i.Ws+|1caS$e?7(ӛUYaw=q&L:2U>^Ec]*Q0lۦ?C_:S#ex|\&AYw5%1R^` 0J.XLm2m ([<6W!Ͻb u)bH&PjӗUYflQԌjΠ,3cV?%IhZ H`$*t]2,=~YMb?7>pz \Q_&ooͨrQ~ane3gpjBYԜĵ#po=Zj KĢ?80"=}i2|-2CȲ̧lq6F6Lo*h8L}]x,h`h^g>~򅚔ev?AVto#GϊjR-1+L&bUtПћ*֤,sp;Ro%Gw%2:(+?֥/0LLIEY}?FE]A2>Fuc}*IsL^LŇn)R0wfulEF![ޙe~FuDK ţo}fRaTR(\04w[AXMF2eGC. k`b:C&G_۪Ii+ebu"le).e2?YXLLyhUP5UL:sf=-tL6W$Y'-z<̯}ԟ\O%eVub7@Zu]B-N-*[T#nrM!*p4D$"6BL7<~OEv2/¬؄-CIHr/W2F*hм)t XCᴢj6!:xB/\v(LUEY8PXr+M7B:DH,쫅JL=c>Q4GѶO;u c }r# 7/;hPB¡[1і[a=$M}'jE+a9X^ԀݕڨqN:p˓T\WP4- 9MꌱCQ=?7zUqmH]ѶTM~xبɝRWhZ6OF$&?k;EHX7O 0Ng1HFȽ܁V""s[7棨m Ԗ8JPtr@7t) hϙؖ3b"G#{hk96bhÀgE֖@mˑp1Bxi!څ%6%:W?!!-: 𡰁nhBk;&#x~<;X;* PJ4&)䋘K~7'9P  IߪNP.YMќޏhm DKNp]B @WQ=Uu\W]5bB7OaXQSrJMHtBAiROl];ڍož䵓QuPZ֤|E Xyk=n%߆|'Fu0rP+@ `]B$C "SDu\ba`[hkʙm")7cOvƧ?kɔwS&`Y{M3DXvQ:zs^̽i%M(j)Spf?\rN 0TF ݨ&^|:NKTޯ(wE+1Zrr=yBOTha98"]=(K![t C^ X!+D Ea92k9`p |]oX •wKUMCE(0T nG!C iFf!;zQ1PbM'`=:B0 e;C OsZA8.~TA `0ʿ]!X1AfY<*v~go/$װǒ"+GhaH}bWsw&T<):! 5 H^`jsfLc9tU-dKqG/´{c8ɾG䘎1 ;{PΙ&I?@8BQXPnh1=2d2|1 Ǚ ]GU>+(P-l@kt68L7o{34-q}rcfq՛5~:jTGMPh=Fú' JwEa-c͐ՃQ#2O8(PDlי J`6-i|L*^dqA%gQi6T&5=rDzߪ"IRztܼ퇧xI Tpd O5F1b!+n@ Qz*a9{0 b4AYGlaLe?r왶튪iJyUMv"ߓ=}8fh(|[ ~}fG?](`\ouNQF1 ȢqH$>*((MQ=ؿفCo&èQ%ɲfM <Z弍gt(V7];6i~0u7b31U ],V$I@|ص>j!DteMُCmq"gOhǕ54԰d˚-SqE#dZrp "gf-i.;.۝93]mqAMnEha]ξ+Dg =cbO`Չ0i -WtU+/2.?uu^>ܬ1;>#(H҉7S|~mEICEMZc1%jF4 (EDw@js 5K=T9@{Kfxț}'hY9qJE8㺓0 e%:)zOleZ1{4G#$ړjI7x;̏$)ژLJ3OvW'ZF 1FhFP{zS 5\JEFXmC !‘4='ƊU EX)n-XP[Uׂ̮bΤ2Ǥ#0T/l;"u k(Qcy-]ZԀpq!]4ȯ._ ]14@u@z(B k- " kBk"d'„b!\%7BѯJ-ڸ"N_'ݛ+d҂1" ,jFo2rp\׏2K|IJT_gR+zM,٧eQkAp+ B_%WW<x>"T} WYp*'OrqrE<ֱ ֱ,vO5G##d]Jt4H|(,(+]h2-{tC']S k "7QjSҧhFVLP*gb!rƼzTOpP#Mhv Vx'~,MȁHR?#\p_=W\61faڨ&WO8躨1N 2+p3E%A/ Ž]9ܬt]gƌ\tE\uUdY:;;N!L>zQ412K!; f]hY1!EU5TE9>qDP )~iįO23<(M9O|'{.g-_޾'{-BxIt|_Q=J-:ؽa7PU-Z\uXjf"k.[^+G;0Xݎњ^T^ƅ/.0;RL Pi& Es5'":No3(A#%q<ԸQnY3ӄ ۿwx#XLjDlogIBwhF}_>DzHB)l;so,nT fV3Zmo~x7M.K ێQ2:AQUO#Grs/1oF+o Z=ԷP7u~?}˖KS$^Z8.vWŽN̝]ݹ>Y|9֭cZӧcձq(y gRwL_Wz뭼X 3RDϙ1oP/GRʑj2Fl܂{ё?H'h%+,y 93'pc]SPUC*k+nq; o^)z,+?[A8M7iOaGPC:qU@Ȋ,7ca|܂ _; ra9 xlƈ Űzr$~{6xq <jQtP5sj]%)Ԑf4B.5cpZ2rSd>_wn^~X'~.J7oa%(Ń}]ikkc\xᅬ[+Wֆ ,]λ:]4 nƶC[v63f}{я~ĦMN]~[UH^4J$3irS+M?Bysh|rB;˪"ks1zqfX7JT#*\ƜƼz"[r(p(Ady3qf=῁gJ<T&[w߹i$.Cx~SRK~Q :%Kpsj*fΜI4zal[v6mds7߇x~׋f#v2}"4]IM8xwuwٺukǍIݴ %x"Ȋ #;0wwp´O5)`OcJ2Nyu:UA uaIB 0fYfH$Ftih2:o{vn׼Vy|+ҼgfYp!\W}.;v6?9vXƋZ=e'CwvGd ֐O֢ d8B8Iž\Pbj.C=j^<9\Ӈә溫LkW_s-< \5S)(477yE]… ihhmuɦ{/>sZYf= k;~;>iFC\IL_=0/ E4NDc t?dz=7ÓO>Y!OOzqBk(EU^NgpFv!&-1\u 1az}75DR}U(Tpk_-!|VkZ>_=HdF p+]Xc'7ȫOh9sXj>,444pW֯_O{{oT,૤[oKOG Z*q^@sh_l2X!c(*HًWb#l|1:dՄ#1;L5xFw\wEfƍ8UxzzA-}zТq)n%֙G`~8=y">ivR #J);W!`P}iyTMgU[0 s9;w0eڍI=-*-Ȍ=k /nF628jOSܬͣ8Qn]2y0+\FHqQMhx |x#*/fu1S@  X nN2,]ۿ[,__K8sسu2V^p9Gga+tՀٷF\˔3eٿ ,^I8hCF8Gc*h !/_׸עp\)yfaR jr-:% koU`SՍh5 X,FP4;sM7я~s=u3i}>*4DkbB`qڒ"Y3G.`Qp5Fqe^[Z"\YbƔM/αNf^Ǜoɝwɾ}7w&2}=,?R2}=!\m8Eˢ:F(׿}^#.<~Ys ZP&'<޽{w}>RI=soAٲԨᗈ*:!GZ.rk_/GҦEqgrJ|4M/^{^>r* x{ /~8N'\AS/Qߘdcu3ˡQa_G)\;_ʘLr5]ϰǘ1o1F2ٶm6lr W]~yesA/WvK WƆ'qZ;˽Hu Hk/^Ko0Qt:ͽmƍASH,o5t=A(YIwj ؇6uP;hp*fz.r-ZD}}=O~¼/~\u_Q\ޏ3gD#;ַ%(H.1#L}ݵܾsξdcq_ N_~0;nv h=jR\zzZgi:o<}C9ro.h4l/?+OKMrp6,+/ ]zSi'|ݶm~i_~˱-j$F {Ϣ2Z;n'Mʔ+pf%qwu#́)::>sE:]qoíFoR`syyx?R\sf$s05lA! 2p-DS)fGQt à˲H44!chR#,lgnϱ~zBBHfogme֮]@֙gsnbT0Ŧ#(FqH)BQZ,h▹,HdFPAEa 3mf$g D7^|l qd.^|\?#Hb[cs?eEKb:v;7ƻyTJ.'?׾sl^yx k>Fw!]^Bmq͟y૫?uڱm׬"j:Z",M4l'[7iurka2%61r 7m{n +`g8vp/WXVsY[7OR҆mYXƖA.Go&u |̵)R%Č(u$P&] ǹfvvi*k3u>UUGduڬ뤟h:K-Y9cCضW!f={k~"ġXxmUc ڽKF<T)< <,jsi7 un;z*FH\|ߋ-OZ]d>4n| ss SBPo_2qf/^I$@Qlyi4H3ζ-l$i6r'p9 hS/Zb|L?=p7_quM]Nw!^|g\?4UR{Ϥ9v!3,Ŷ,Wilicڒع.uDu]/pIu ^xw]6nm=K.dӸnu(eF1{[t8 ddV⚅hGRN2%$Ln :JV/O}x,ffKo7&/.;ntsX{F6U4iLRD!LUՈhN]c+jE1B}KW}?W6{ K,\u>9. ظP8s.򸊢TU l>c _n'&_atttۿu;ԯEل+`Qz!i-qCKĭĪL 9.^r ߶l2or- "s0?x/ V˼RBCD{{xo0o^(LYVT2U+DOo.ŏ8E+P6W7 ^ɠE\AHߘTgQXgOp$ƴ H5yh-']u]Zg llW?ݍX+;gZe߱:fo,(+棷e;q$-L^|g۾ً˹M/<Ǝ/Q4"ar9WM׉'PT֙sOyfΫW_}//U5LqkfVT{ d{0+cH,&/뵻s^:H8G'myre}+e JTۨon?pcsE4:j$Q[7jl&hiU?M2f[8i>ky3ًV!CO3+r}]Gy1{YDߡnPFOK֡( <[_~.׶ܣ‘Ap4ItttsN/}Wiz2Hy$5`=k#Vg%f|.󤭅v2&co^sڵ~,^ߦi FdCӰI4.}#,Ŗc1dBnۄnx> K]wDc f/M5pDUJ3!Q@>o9Uc[nQc6ea&\l6K::;;ѣtttp1顿^ܸzcEX!# }g#ţN|BM E`'cyhagٲe~,]ز ^(\+ےy)W,[m&Ɇ&,mB,_s xitVoicYk8w' Re`ڬi; Ǜ4NA k>j?#fۮǶl٬OB@.#ˑdHGOOKoo/}}}d ŢP0M1Z%G9|FCiC%v,‹K;M'!"gtF3gO B0 _] Him1pw!^}A.":/?~?B\xWtޏشΜ(޽ad@\yx;meYXEX4ML$^b'c6%͒d~J۳,\|>O>4M"e•Z5X1ܚ@Okjʖ[qM];NVM<>us5ưzv)+cri^C,ס ת& Y)DJWh\H, e޲Hyp( X?e DKb6ib6ec@bq+*Im;wRS*Zd5bZ< yˇv>v@5hniM^`8|dU!z='Լ&< n5-)bgLL'cbg85ebE(xp>UBj- I RjQQ#Zj\\Ua~_/퀪i;wX")͒ DVN#Fw47 *F ABIP]y=YGtˑdx;y 7?_{ MGSu+v.vbKQ% T){]!հ.IDq4EJwUǎ{ ˈяaB#m& 3QG^VĊ *( xQ0pgimaɇIS|v*rKyXD6/^E<]S3ai614INoSf̧KT(tnA^ <B17H(ӵ:F`k vJ$$/L4l_ӗvPAezNCz7AxS995)TiɠWrH0nBT2-~7oS씭"jݍ,WzCc;@kl7F,@Lh'MjX#2=U^t5m8!,>"IN^@.y<( Vw'oG1c&^#K&CPd@uЪy3BnUV] TsL0azK(6*xA.Ů,Z<p\؃J/[шnj&U|%NfpVO1F;9ήeu`X3 8y $ܒZx 5 t|3vo]RiJz (X53(7q 6 ,~;O7a#+Ztw(L !3&EN@فc5r~nB ^0kJz֔Nؖ qX=yTChEKC\>#IlԨ>E'„#pU h^c4%`fߕھ;  ` tQ{yn6E_:5Dc 5EqsE~kӑAZzԈ-iO(=P4] fc#E9 %,uF{*. Vt-FKe"O#lڸ9 ߔ-pMDޖ I!A\Ԑ25fHbuz* $WBUbr:pM'gnM=rt * fVz B UA1*q[MN.fy a:,ʱdsxk}Tśu\!\"45%/,lP\U}[푹s^9 o3.<&q_>&B9oI"{v&nYL۽_3Qj QG'¨QԀ廇- zC\ GZީ.)&OA+flQ_ w{'cnK>^l.zs ]ڷj.o,=\ByP)%y0Mq&p\܂ݤ_957kA;^޽4{kyLL"oʈ#2!rMsCFzm4F1e|koVv4~z78]o0CQ!R+>َ$p3ϳY^3χKpW69itԨ^N5yޏ]NtރSMhIs<$O FpCnq96mDޮ&xɽhz֒3y}SU$u-Vt"+(yG{?W޾ ic=AɯDpɎ3뭧m.RU^ݻ>} T׬W\ⶹELHG 7ݛl U;r˺Ⱥw*۵> \tYѾD8|o7>(isxYpN2GW5w}=$Ͻ bEkẮמ7a|ѻ؆R6@@ػpYyp3|LqxN>Ghoh糽c7ۏASάK|DO7?[,y bKvlu2e&{q+LA鳕Q" 缍j:B!M[ [tbpw̢isspM:/X:خ{\ÿ}࿳f T}[ESU\!T$׿~_2y;x|Ѥh砩*'O]>FqJ+/ۼ؎Mw#}خ (8C>W,6s]E=oIXq,f~,>}-BpjW}X ˶e}ߣ;; |Fm[Q8jbEUTl&S! W,~+8ݟ9=WqEd#M^%?ʡch c!((g~Bs3o l;G"cI\Λ-u*eK3]LwU~Nm h@S5.^t._!\@X@RK7476I,U䉭bG^I,ep\x !M.kO~ӽ/=]\+pxWP?k'.y/]y;|3B,.`fŸ/מ`ۑ>pY:}>u'iN4A[~?m]h~d/x7=߽\0뒊&앷79sZ% f7M/Ca Oym`񚞇4% /JrŲ ; )X[B@*EC,@z1*^ Mp1TUCUrٗН_>?{arf;7Ûc]0rwz+d_{Xپ-3q\Ϯ[{~p|ZnŎ(G嫏y;hhۓ:quP}YB{Ӂ_;]&m9']b~ePUI~|;I2蚎j+\ΝkV\g}~n{G:j>eZDc󁷸gC~VUTq%ǒ:~ҨQw?;tezѵ*`|g| !hk]\Tފa? b(PGkV 2` %)-UQypܻ!󼪢b96}#`^,/^]{P^{ŸAߔ‡׽s,7}] MEr(ձ=3L+׭x ׋l>m/|DfcoHw9Mˢisp+(DTOtIϥ**Y3wcݒ#%Ӝl+N]>K8Cǎ#+ Zfs5^ؾ|??y~E󤦪(: ;^CR~yt(B*̛vh(Ÿ\~4c6,\g |]|#u$}LK5soE~wN۵>k̆6?p՝cӁmB\.f.1)%3K{6p( ]/c;A H0brEMs$yBѼ Wm! q]B4'hN4 s[ x>eKbzL5> 3 "[fEZwY?:smn͉c Okr\¶=dɈ\P\UUf5N|TΣ[v D8ܖ)c +f,KѰI @{3b;6~Νq|dݻcXOWqƑT+1dܠA7MQq+ :>yFlgʖ"FXFBVq L/,h'lC<5/\2'$#qu+ಥekGtr F=ʭ|xʫ SOqKH1p=MXspGUU6,h^Qj||M=k߿j.k/}T#y5lz6=+wۏ>;˜v>GHFg,x(~}VJ{'C$qٹ*Kۆ^p=& M4w,Ψ3W~kV*"{k=ŚT(Bg42y/z2~5}R=t piN4k>ƴf\뢿]BW7_2^~;ښZgXQ^q++˽rvpL/.9%55Vt|҅,=4][VUUX(\w֥,i#Kzξ^i?iu=J_۱^UR|Bt'f|?yP{~c<|MUPyy-,>_^+0#l3خJº^uwG:ͥ}"kƧZW!bUMEQ0-}]lŒwx\6crz t[~m/ļfoq͊hl?wqVIDb8]gow;_MҤ -5s1Q#‡.}[~d7BX%m8w2ZS~FUTL7 OnN|OZppq\mun;ul?=ٴK1U Dۈavwdױ~wΏ\.?ϫOl}5TOa_#Bv)'Aiv´|2YŮC,aYl_\Yl^UZf2: T|->zyv+beϒ|tU/OMӁJwL>Օ9_cR8#L!3hUn⢅zE8‘v ɷkؽ'#&}1 o5tUL _?~~G}=I!uP[De>̑/9ZUy!Eևhˋ J3_u]^[OuBQQڈ:vێgLA@b .fMш|zrEwwed֞ɃtA*܊E!WĶao 8M&`,012tT\kTsXoD ~Sq`'g=lB`[IhËB$ia[A$BKgVOeT|,c4hpuaE!oXcsw~LJ0\' ?>HP!H,aqɅRc>gbqt#S:qKDV ? Fty pH,q+,csMdlB> 0iLpM Xe&l12?3/1 /FDFOj±)]׈d~cYPDc5nFqRt"P`M>^߁$n cF:iV_LCɋS@`PK_, 8 #qK=DNձJ LdLXBE =s%p/xRjT*ezql$ GŘoe_u cWs(gXeF$-e_sZe[q"n o-~1eYf [ 05zRq&n *9-9l1P|RwHId~ㅉ1&lDe~e~ㅉ5)[lAYGe~=e~o['qKZx!ebt dSe~O3 xabjH"_H-dPP9q e~ e~?$ I^dE Fu@8e0o ,;o-aj"/,[lFe~i2%L;PE)S$)2ճq)[VlQ' Vؗ勵(,o ;&ek(#>-X[WnPx! D5Q-XHx d~w!1hx! x`dÉV:#e~wx]&rʲņ$Ų̯&T*O7eR-F|Ad(H?7_3߭H = lifecycle: archived lifecycle archived reprex/man/figures/lifecycle-defunct.svg0000644000176200001440000000242414403224513020104 0ustar liggesusers lifecycle: defunct lifecycle defunct reprex/man/figures/help-me-help-you.png0000644000176200001440000100373014102672630017600 0ustar liggesusersPNG  IHDRA`2IgAMA a cHRMz&u0`:pQ< pHYs  YiTXtXML:com.adobe.xmp 1 L'Y@IDATx Ͻ3=޳2{lI)%1%N zw>/kvu"Qa{;#Myo% wrrMz ̣euC\ү.PW_l0,[qCʵhyӽ\K?Kzֆk na "8t|>$7Oix@DR5sd1ᜰ[FyUw︴Ĥ'i3=ޑԙTWv#󌤈I=~yAn׍u%$=|4rM&򩤻Wu8~o~Vݼr-<.TŜE /l?''۰N$=*}%|/ twHH|"jދN^ad~>u!0y1=ںhX#Hw0W),Jz>\wP漕S.RwYEݣIzZoNma5E;E]CKB֛t 9xש~Kٛ|!sC4@7yov-.J9Jxo=O-QH%3u{_2Ç';VGJ˓ȫȼ/Xѿ$2jfߩL窔v#Qߵ=ߒ/LNGw){pmRILo1]gw0q_+es]l E }Cxt{e4Qڍ|> 5Nv2 \~p (w}~vQZ>^{ ϾML-9|ۢkZbkPg>伛Jg'oAǃ$|}Z7D_^6{"_Qu%]Rғ'G |~fKr ޙ&/P0g7]K]\hU#\/24di=ucW1Wh4f]O\7j[̾dt:~L=zK.d:]_ ^_}RYޅ̉YA?*5{ KC ]X7\}[i%󁯫(ne^|\/%~s5[$]yHOM 8L_g]BohEj eG7uYбF?طA0!DԘԘ{J55QUʉ.wW0uѴvXU9] |ΠY"e{{RM]ucWXjD*>Usͩ7s۬A׳W뺁ބF#^$ ]3b\WuqeQ=x?XWsI;Ҿ'OA?jzjfREkwU,xܜx>-葹KaD׳Sҏ?{CDN;Tj\̺_Է,s(ʇY{-t|zѯ{j*_(JPŲc%@fwQy&g`]~~t^ ?]3!$U!ܨt7MJ?76tkjZTdZnG&m9]EEՉXUdCIW% s2vv(ũB~Vt=&|X%)'v(.yo f4ŬxOv9.4O?`0 T=I֒Wre(QrRc-řvz뺇\IqZ"!01 CT iArWN~}O)=~"/Mb!H\YЕBdB7BdTllVE%:lpgrF6뮣{Bn RHޡJ'ςt~..إ $*t\KE8u?n4w1/ :wJĵJܮYTu_*ؙDo 螗RֿSc9o2}62rnuK?u)tCX,c{ `fF1~{Hc*ztgŋBeѢ=ȃn9گҠ+ʈ b2c^gﭮ"08a,&K]*AyP4~y$4dnR ~>%9?gvmG d-m/E{e`X&/povM9`2p\=cF컨k_.><1-04bn#|8vrxаNWҮ!{Ja8e\bMt~5On#lo{E_'̧ĤGT𞲏U.3Mq yK/l9{7v1|l.:.zo/ST]Eohi!괪 b'M?,ۮ>xRߡ-/ߨJW7k9vs1^^wɍyr3E+7FqM)[t븽|G5b~{mGO t 6zh.dBwCʄ<脭7KR}4}G1{s;M;9(}= 沯O(aU.yE&2\0K!t*(&r>8K\z +apzG[}q@!YCd?v/ރ'⿒ z>SVbMr@-Ggz n+H9(%K&=/%]喒nC<1qUL6H3 /R]b`q%w + 9fa^Q%.?v2ZIuXRg ) , \[@d]j'n4Ƈ̆,x/g6V㤧zVlid{&1cԒc]m,*/r׷MW÷YZ\%1\勿0g%4sX ._Doܿi6G%+*iY נ8%*c>0WE-%+䉎t=g>Ҕ7u%εj r-GW|?Aji[;M~BR[Rc~o͎1Na[۲1;6f m6|^ïd"Ťk]°gE"M7b'h-i[e_6ɌIt2tD1 Fya~g^gܬ(X ՚;ㄏGp< J5$c'D9)jm?~b4ˤh]C!F(801(% ? ˼8ۣ7}nUѶx1/GO^ (, l7HVΓ-ޖZ8M/^70YCbOEQp"b)&̫p?U>L9MDY̰.2:UkJi.^5@NXd,|"|_cOh(*jNZٲbɬpt>f@_&U#Y$HBvFib!%q\n4=4kO訩mRW%54bΨm}j#Y48p\|?I= <κ}ny5cÝ* &DYaC48\qBeMql[37ږz!Zx' x> ؀ˇ滘~2C\Gmc 6tfD^q)t%ϟFG<.G%ym?7w`ͤ/FQ-Eqz" KmH]4U0lMG|KfqąW7' DCa_0|^~Im wkx߻j#p6͠ly7!n;?3axx( pa!,;V7KWZ8P /ϚM|2bG.z'uZ؈ԜOȉ/#;%XG HO7_Y=@*a;vZ2Kj|&K^dB&w@rM%{KVy&Y櫞Hyy-|-#q,#;3/XQ (x[$Ͼ"g q͗NA'vK^#yiHḟ '}eK<{zʻy:y5]d>?"w]!z; gsԐzD#\waݏaG_SA, ?z߰d;N~׫>,f[TRB1R] ) 뒸# gٴh+r~sc1vTݓWۛqʸ8Y;s#a|V(r0zGa$@ӣb2R_:-{d0ͮIxA:VH*;Cz{:x:Hy%e_Cy$MŃ{jB}V%b < /Ӊq?3𥙛EMC>y,#kfgg\`։ F{d ٧jL⽼8Dy%6|o[JYk#qȭjFoY"z%%?)Ӑ#;h.6c<(\ p3AѯE7LU` O[Տp4\oPe7\GUfBa{b?\U[ZgW%meyy1bv3Ip2 %L -RxˑQ) _HE3 Ory~^b9Uu*pvm8EF~=4y=TR~l?dC!rZ=+"9ZkK 5pm, %UQ=^>|>t꺣Ʊԋ6= ,j;qc"/#zK8b [ 7Qỹ+^GO!r"? mMf57\B;~ ύGGLv-o!G\r? g?R:1MKN#?Y[pck ޙґĎtɤyAou;"?rή'b>j}m.X3GSyDn&劸t˃Mq-?WKU߫*jF1u9Q-cy~4|D&n*t# L.Ն;S6h Z*#GiyA4=E!!;  ߟJS0\ kKr/vdR(eJc MfG x97M4}!(Yd+l].9 bN> ug6یʼnwHVUʛywM5yGOR v-,fˮ P /~eYnQ+^𖓇}/+o)+G&|zg<[~R{PEt]^/A5r*˿M/enn&@Jwߔj|m$^1Wɭ06ՖkZBGtBH 5ӿPTꡳH|{R{P"B1DV4ßܓlpJabp0`ņQwP\n;0z%a= Z4lp&)WUs4(Uʯۢ 3o'UgEp5(~uڧB[A9;!|)Fӛ$dײM!{@ݧ㍕))Xlu#VMc,m$}P=}eN 4(tD,}-O"QV]b(U^w%1K(|)<6%?^;O:<"c& ~}z.=ǣ0,+laSBc#ExڪŽ88"uCP8JԯxSPg̯#G0ke,P󴮹#Yר{o' JDTYmH yRzF}ʂ~I!qAOTCqE|bv2UF>m7F(kCC.ے1 M_úǽS[vg>BJw*x𡈗˫;3q*RR2ezΰl7Y%rsEuTLcϾv{0ٔ޼7R=?V+4q/`Z—I׿@MeUb~꺉{'.YX>$b`J]Q]P -c)]~ujHI>uGݽX~ոz}ʠ6U]<272$փv`Q`i;_?"^[=S~al w6< GbGrQ]_yx<oC?s)8^0qa..DzKFkę61aܗE53tm4Κ?\sy?y׀E:P76gPz0:?Zr`l57.AKK.%y0Uϸv-3=]+ Sq_f>-<1#Cyo';U?r$);3ٕ|o l οRWUoBtĈ"ex?gI M +4\|W q:JTqȟ{.xͩNzB=羉J8mU+Շ i]q};~=B$Ɩa[uj٩J ] [ϣq9ۑg4HjòvYq0Tm zS@8 Vϯ#1 oʹtR$&ccu{]8NwA0rsO3yLGX(xhץAmI:rp{E$3OU$mn8/mĩ`v sƼ/kK'7%s"7FGRz(Ktɔ!hkL{ }n>P) bP8(ǭ86 xJA0)_ÇxgʕF8\$J|S=\IHwC@0DI/KR,A{͂@y_w$@;^WC{O6Q3T"u>?ny(RX5HN孬_cANOutA*pW i7~O1"68T+2_5I=R^ꢛQccvy>yDo`jEDw W\I\|{ܐ/?WuԷ y r#8H ]xts"x:~zG=D2" wgjrG W3DC~46( \ Dw'7.=x~V5 HLVM[Aǡf08qªB >7w\r&A1/w#[{J}`CT7{Q23PuJf*WGkg4EޯEnq~r#ykm@IqKpO{k~]Mz߃6$1v:ϯ&W&ӹfU󧙟ގO {z==Ap֯D[(1,]U t?%6'H4$+X X\IL94ɵ)mr๖v% 9J7x$l M %d4}wڈ\Á$!m2/zK%::mG$2ku5M]OѠQD {&/%I8>rx$Z \MßUKGeΪ:\syż_ 6oP57yK~ U8 W0i~vBs~LI:6IY#χk}f![nQUZAjxtLa1a&\_s $D5K72t?,z[kr %^Y]zCW*MF1W 4c|hR1w~lP֟Hf\9-L_-0ډ8yW ,99,%uԾ 1|^a1X2![f83}}F}}/c~ˉtNYoc}迨MQheyԦTC ,U*5)`cßT `X(lWͩ.*,ǣO7G$R;NKhuLyW^]7KJL/[7 u/F?Ӓ{b E>U+i= D3uN04t o1Yu4e1W+4?ҋl'_NWݓ>Ghq)c=rkmd;m_n> 74 7 _K$1`#(hMܻgxQ/}Fot.7U[kj*TE5OMlLp|Gs(騟"" i0Az'k5oHͲ1U^c' CIuv`&^Ko{7!OjIG_*Uݑ{W\7?0^-".Qg8kpNTh Kgt=[,_3Gske7{J177Ŝ>޻Kh"0ڱEk %ũI~;U^== yx>l pfU_8!FNz(&wbvKL:CNQ6$: HQ42UR9.V+k;'vqCd?ߗxyS@DiIcd.grȧ݉ y66}N wR>1ҋ< !ѻN#NͰ(HOӌKWVpE$q:8:(n8B_w˵FwZsӑޮ@kFq4lNψgxA8Y%{CpR/2WБiOx%pfqOavϩhL}M<"#ct>̯+3ޣ`~O("xTBy )2wr`ȎbwcS[Jo+H-e#84;8lc7.9Ǿl,:7qеD6ۙQ/\'Wdfś%3t L?`bMqjBL*R^%Ձ>:dbRx|ޫe[r .wBÚg+A"{t!*#wV^RyNos 8^;RQ!\O 弻J%-T뚋Qϫ$O˛\M7돃ߞ#DKgf(k!@;/2G{Nq&@'K'gn}ݍ=nCƘg4heb1LU1P|O]i )\a~-cfSY;$?t}Vmg@DZ"52ƙƌs1CIw;OiJV=y^%MJg'fE1K$xQ9EK4wӪr1n,m siZmEJN9(PGj+9bt t޳Haz|ʩ~!sCG˨t66yg9+nNQ`ދ\ԑbY91Ou7xDrykޢj oGL[iz3ՙߟ̀pP05f;E ??=6Ӽl Iܺ vu&q$|gwu< Ut~U_pjolnMnf^]]HcDb_4;r|B3(eٷJ pN?kCgsD ;|GSd>֣E~sa G5sc}p6x;-% makSEUs /R0v!mIr>BvkRF[tW 'E=" h<s%"@1-VֈjuasP ͤ#جJGOD9 l~bE$i8N]LBM;۰_0"E+XvC;[hԓ|Slq{ƭ< #rT)a9N՜Ku%Q|cЬmÿSS¯pD)4lq80uY8V=p3Ë-isY2Ng0V23xc[7o '.^K z(aa[ [d-6q)c f`r^x{;)ASzw4ۘua|Z(cJՌGg)JDL7.YpLwqstc[u?u+ǩF%z}znBru!pIП拚z~ێx7S0^8_rɚQh|kJ20Vǧ2ŴN#1(R֠-# >$OU6yfzb0>Bɉ:RJ c C8U7'4vȗU=lJ>O>g=GFgrUr.Kx-|ap%U:t]Y{<' ۱.ٿ,qMLK_B\+q9Jcћ)[kYG2NnRyzoYD/&z$[b&/݌2@"HNAHԇwE/;MQ%x9~N#7QL t Tah$QA g̒XDiVF͇`7fah ur*U\ӒmH}V [~]#UN7ͅq: _s~e?>=4H咐S7j.zlT`Mhz rr[T윜8G:فеނ?l} iźg(z}`eK&R@3å ye2ql4!a˨uzjOI.NgcG3ezSۭ.R=Pb5+Jq&3Y.G%x8چH5L ~Ȭ[si@G]9fRZwwXIK0y~d >]TD9O>4S%Cz#v k!]:y)VoSo\Nebt&SQO{T64I$yoVLƪ4y dF)^eyG<_AގVkܷe/ecj \%bPyd)]GI׺>d"9c[ < $Jݯ"?A^jЄZQ,Ssh@^y/MG?/gpT9s-4TDa"S3}}.g^ꦪz^FgQG|v.TyjbW/hiʓ^E~4|jiIO{ʼWGm> k'wKF#yY@d}8a KqZ'@3"EMlMf\#xjzd&sLB#xu'q}ʱwh:?}l.)zQۗL/ cvPuX!s]>q73ɹ>լZ2tr%cdjɱǭwu\<"tz*g\8: /p#&&3h/yǫɱx ] ^nd,0}4v̫d>qp8 Ϸh-;E,m\p$`?pA7݄Hw!H!ע!]Ns{WP^TX-AP9Ŷ!d?0\^cjy\CF:h'Zs=?τaxue⮄П*ClO OǙ'wQH6vCCWc%q8\8Hk_%t|㜰}W\+5id)m8[D}z+ Ti>#d#D^ԺFIMYSݎ&)B"Ʌ8}"D~UԗV^ kUZk =84^0u '߰|G<>F*C-: kHsb 2LM7 !='KfL}C u|WYs",z7 2PgAO Bx1]bdp"ppmя%O-b{pg9%8umɇj1u}XM[%Hfű?e}/UzfJF8כɩ#1}(pq >5,y E4|`2N]!p9B2)zMFԿѥU|\/r<^𯝾v6x^G|"ןbC}7$u5-5 qRVgV_mb:ฯ<E&T*QYFv$Yr* Cnj+ld )j1\}$kRm3=cgL !ᝨL/w\2DƲH+~ǖ隯S//o1S +mTz[W]0Ul{g2dPj\b+BazͶ͈&Dh >|g(A pCzqvr5K9{u͞0c~kˌC;Ŝ.DUa sQJ~Tߥ,Vd\: 'C-yT|!'R.>owwM+A"a%l _ *FbqŜkļr-əPTșw]WUeIJ 2xޕxz-X\窒:/gu mܐCW{K&J3oJHrʓ3ܷh:y}o'{p7)Kbu_Ae A^f 9=~O+=B?烈Ag7>2};W,WqiZTn$]CYKR('1\&*J@IDATt̯[H80}7z7N&.6 tdb?9pے%1wAfy]y^dz\j]ge?<h|]r&{AG{ P^{J IHĺw MdO߸>\ F飱mufdv~D}Fa\gV8M@,5]X=n:kdДi̿ɡ_i/vx 9Pk e\36GgyVd=>"wz |v:qS̳8c^TWx&`:Sr[`il~wc,|$/kۥKFE8U4@>A:CzHDݩ84`J=^s_sXb9Uq3p?zjKcw e1΀,)ʈ( ]GH%[)+#M~O y]j:>0$çr}5HuuB?u)b+:teJ_CR/[j3\pҺ0kOWd(H-QeyGauڻH\IR?Q٨5 Q!Y(Z$vIi6w$rő>S!XG:[N)a 1ŵU?iEIbk=@ 3Z)zwj./k _T[z, )=s^8v~T]l{ѐ؆25xnlzذKcI3Raf[Vc//n^[-n{ݍiJ^af`({ 䝌3S;|H,92G[[vb+)sL RޔjFh6 zL˖ ކk\^XZDCI 9tLljXZ:0#(LJ48= AFm#weQ|Lŝ.{˂wv1r,t/LDx盨S2= C/& `;LHW`}mXԆ+rL=>=E 7q gc0@m}'2Zzn9HRBsY:Nq?p]DnᛪTwn_җ#|_}/׷~~Mlg/D)ɨYi+shH^^o ܪ ߥZ9Wn"~63U"FK׸.Q}W%Ei&xm),g^K%cOM)DNYRJH'Iaǥo75!MV8RTQ TmxCKa(6`8\ԜSpxHx:L@>k_ bG&d8!ORR#o>XT> (/5u9-/ߔRI/gދi{v}~=q*@{D)QցƗðrZcԋc8vMht 1i¾)WGAnNZR:n5r7cÞAX)f_$19JnU{q!v͞#DaG0ͨhXH r aӰ4_*PWfޟ#\w4헌n"w=| Bpv=%%w;z j@$<ߠ0Rt=!9fCocdbpqgrL5}o.]lz8=ZJl|> Ec:N55ȃ/guՑ'>^-&R>He蝫DO wsN4G~f,pEp(Gq}sCp]l"o}͎=e7l {ƜM"<ӻ`lz2fԳnt/an)q0hʅM;-I};ޫ-ppmefAмsY`Pe|z}0oG\3\zr7Nlt>=>vg{M8Gdu1|t)tW (eP}yBB79rHv I8ۇM!"K'" =(1[f`> _뛠x㾰 |]V+2x!J/Q:Qӡ8u7dط`fb4 ]%dZBGz듌Wتi5I3-^br X$UK9 ?~3/uK"8^s4 %aqF"?~iڪ[4`7y?_[p(-g2VMaM9B:4 >\)ܤ|fpTO{)@!/&Р!։HwXRUT O;msc@YsOoEPfboN}Ցz c.븯_m?)+̵U6PoԿSSY?@6uGBL )Hc^}X{}b:z+]NXbd/wDՖ_ 覱#Y,$x8C΂qF:ȏk*;ըEcHHVL? 0ګͻ?.Fz^D.~ԷоVխG"}rm[&>"~A mP,cD=mn8"?_fi#W;ڶF\y2M߱Oy%J۴Q05@BEozqo:ڄetD#7"%Xzn*}WsHB{>5S3*+#ⴧ,0ƗHÃa|;h]+X@P~{_Ew5)f!koUc FJk'lc *nwons"øh19$,?DTz'O4/ s׍(0Jxv?(Y"wpjT_bd] :>s"s0X+j~ld!F o1 qsu7SyIG1Ą%i)κh!\+ۚvـqQQLTS+g|w0`P%|PNSu,LTT[F$G{09F^L`?1!C 6L,q{3T{q1~ u4/3Pm ^ ;ΖF~7 Ư`mLQULC9`>'lKc>޷74''1Tb}hc{+/J /R-w(|TW͸6W)k:0D1-RL\V^^{(0{9.,_ Yfo_ʽ{pr冀b}*hE-D%~+FOȄ|os qݯ_zv,Q $6UKUE5̓/r$QWyPӘh҂^،7O1P8jRV׹om m1]:9< `I0[9/24D1FJ9EP^w* ;k iAu`H9|(؇m?C,DqMl˗%J)Pb1D<)MIounc{0:7R ;lt=>PTA zv<6Nހ#-.^8;LfI)1=(vAf0R"Md-47BA%Dd̋_7LA6]|i_\-@G`P* ELTD4!hGFPʈu=˱33,'4~ w">̅y_;J>lIqmY-ٸh@ԓhma|Q N=>Q"^8x|C"jX;r˂ Ø`>K$?M:]ʗ3 :(Yv5XX`LQZн5(PZ8Y4L71 6LDϴc/:-qK⨄oDFjz/_F=#sn&tQB^Q5k|4:y>o+| Ɲal&MdW%Pz$ [_S'Y׷9!b %O2w 3p~e\nspur.g64"˦jz.rLd*f+*%"ͭt^G'6.ioC?S0~%9dǽE<`14Gl6̗{s;<;E51!@~&yB3'FUa;LP~<0ILB#Hs6+06htUGU4Bl8O Loyw\6~17DV/q,g]?;V;ƻ}Fڵw^ 8h2+d=PM,ڡdQc9TkZ}d7N , ;:6DN\Oɳ1"be>.4Z[!egr=tϕ8ۅ og(L//5Pr ?0?0?%"\U%=w>20V@7x4v? k f{HqދxP|ka^iӘtRg0h=KtZ Z 8 [b>ߙQnܿ+[t, r jH>6!U3P֗_?.|֛؂28E!IULtx_(8H`3WBr4"|g!U Dwܩ5chfӃ LPsi z`+.;Ä1Ž#h|xD4 B`>hr[,ɲb \#cdxQ~嚉/,taigh4 ?x4Bw 0nD)S@ `h55òQ^6;P|  GC#&Tx2x^WR0`˟1010 c 8'# 3`"4E7> *m U9QL?62ܿR>YvJc&pJZ)}\W(L>o<.zCWkUhRMP P Vy5) @ba r\% ':M 3nhømkV0G9f ^eqh3A侫t+U"xLK#͊Wc1/ʩ?i/EgmZH ra '8/o7 \aH_"cAO2myܙ8 W{X.oNk/X|}hKW.qĭs1zp[TP5)dN gZ>fA?jH=85QPCw-2(z[{m'ƿ$ S)"wJLV¯GR"@Md:A r/6&HJUqkou 2:p7Ѕ^Flwqzy'I΢Ey tꪹQ~f"W~sFďgg3L#NKW[3Ieseo;K wҎ5zDGZ.jDs;b˓9Is/Z$`o8%Ub-5;gܝtO9jX2?Q8'!#d 2(ts/Or?@՚`#&"n;:[Eq&jJO zڐ$YS`#xKyКhyF?{8~<ކyC9G_BׄJ"4[#N6" n{k bY«C||wCԜwX'f)3њ Tt{6"5H"HpL.zgDaz*]9wSJތ2Qf;Ϻތ+vY #q8ܖ=Ep^fG\3BUBK$w9HiE=*\RNZ-o5GJ 6jѹE?W ܾZܟ[?t/RDŽ }0R[Sy1+iuћO{=TC!JRbWVʝ/?W1?^[lupb=6ma;߹UӠ ~y- \Jk# Y垷^_Hs V"򤀞eW3wWJ&dhKd]mQR=q}Eêt'v%_{w҃_p|F0`>>@B]a_C^qCS2fc=܏1y<+xSNAQ/pٴ'?qO2m4F'!I&eo+o?F@u(QM.ߧ lY=N^Tp㽙Da|OyW!  /[$w9i٦q{ o?*@/?{{]>"|Tn#?Y ]B/QiA)56ZNH Z.ҷeg=0m|MsFl\kț"'MmԴj#ⲉC8څo`BH$P`m`]Y|tCǦBº+/K߇rB`w;\ &'ȟh>;D*޼A<ɔ uta{Gu7"X+ߊ4CY$' sֹfva1ެw 11:!oQ` Nx"wc ;Wlqra|6}Ԑ? /ۇy&s9Aw>"{jF`sF >[ }?Y.E2Cim)Yq'vy"ܺ!±sʵ"QK+"lI謊Yq W7JM %L:^ء"oq0G8|.v8 .t%iaqwǢE<\Yz:+Y'b霻 =K>qU :F7)%W !&ƚX(HЬoX2߯Aa7<[k{H#{3Vdp/Po6k'd/eɼF2 \q1sy|?)?+x%6ݰ5/h6u,CvA/Wleh/C1LzcS<.1U(Z"ri]*<k@e"B .;%pa"-t(;9Ey+cJ*F.(^.L1H wu(ޕڠ2B~^-T[f1k+w6oi|gJua/(w؛j-%fd$k 2Hg!$310Q [Uش|.u!8mJZYIi@ۨ @O`[ry􃓔 C9\,ښIRB~ƅ޴WQ4]BDtG}8Vsri|F)s/\R!-鞄[IgTҢ89d&$̈́(C/;beM͚`^ûCwCkJn+DzUd]Nc9x$S!tWsM~`GݼWGah'~u"^KcU̝&O?j+Ԛ;vzr-׿/گI@:+^֒O/1ė4slj4ϗ} |`MO4c)g7*~~cijJG%wj |r=T!V0HL["'{O xD6nY(%Qo_F V"x;k@.E=Cf^'"MgV:|Pq%w@h~@$bVw|a_O#r_2S`DxB}r_CuFRoJTI>FPV3X83/5*ܜiX֘`(wn?˺U7("x?9&[I=cPHBt~C__k,xj]zX v<SIϙyCRv ^۞jUA]M+ ϻ_*p?rl1A\ ^Bɓqks`JAN|e,X7`ZaK9唯H>cwx(2W=3>;o>m%XY'BuXcq8l2mhҫIaͭ-M'M}U@Ubz+DH=YY%I 'Ө[.My(f wE0;o{Yc+ #?VT淵qWqol7m=QSGŌLզQFqgF<~돸|H+|S ۴ʴY~M62g@޻O?6?7[" Mw"χXǜ^Z@XmNˮ~r@P@bٜV@?_Q4O]Џin^i%-h'7<+"N*ڱdci*S%&D"z,:athD L?0ߛ ȩu73ǭ^>[ 2}RurnaPW\uE~|v)D76`sFXkyMw [WMKh_͊ *B`Wt7>X;bTH_*GᆇW{0z13WBsxb{wPO7}X@9pim5Dy4 mMLZ<\;33$1iSr.GE_^@30Elq|^x1YI82r:"eJ4V.P+m2'(?F't> lhD v#\S>zCMZҮN| ~ل0>_0x%J.uЯzw ~+c'n$7yAS_/yPˍ " ,b̸l 5 Aj] Qk>>-AA%~*e/ReuMJ頡Ű(*R1P|2XavB%j6XU!!ƯVQt|zY>cɜ>b7ˋ\* R }]^B~?ˆE>|}.RkR~շfS~dY2f)OYxrZZ^s_䈝4m>p&nsq_HmNe ^i%$\FVz_8Ǵ-qMFwԓi"y7^wU'seꎳ' P|Dg{̛Uhw1QS8M>ߐذ`J{B3"L40/A3r-~)`F۠spBN5OZUlTD>Li)V[3Z*9n1?wv >!_U/ 2؜TU^mjabf{Ugw摐֛e`9Kp;я8k{0X>@K5_WKyHe.$`x7p61| Djh!sxpL /_1[Ft8޽f#Ǭ]Y,/̹ٻs Ɲ0#"5ZҢ"7я>:HƲEY;1v ؽyH-(o;}En[RxI[Q(#8-amÛhwyFh{+AQI5چQ:EDT}̍)xu DCfXa%/N\dwDH3_x|kyڙ<ѩws XN5t/B'}|vN_cl}&2r4 D_Mc>B|˜ =Ok, I Ce y߿Lf6f¿"|ࢺOq|M5NxxyHj>cl@A(N"[\_MY?"e 1o4OP{[ +<>m5_b-w0Q/y |:Ɇ :P[ 7r_J}^/7T*V*qUq49%-a?<& "ӳiߞ]C"5A%]#Ô+͆OeȊĉ †}(_G.Ri YʥUm_-UM򯋌=KK6>C>pYs+a`XQ6>q8܏!`y$ c2ۡ2SQH{fBTw}t"-i`(eut O&0͗_}a&[bMfP.$-apJ\yc:fM5GӔ\7]Nr$xp2c6 C~|4 W w f °~3D:󿰖LA'p_x_"#@IDAT~?w<78s$܌[iOy;Fƫ5$$=D%$}kI̗pmg !өk:rM BB |l2)ƟV'T|z\ uf xB=lĿ,R U*{߷Хa`+B]1vhnG,Uu{P&y3ig=| 4~쫂Wd]ϩ,w'eCG̛<~4)kc. ?(Gw4 ?-1%i2ʳ,8,Ku#99ӽaHax^՘z_%7+kPc7`.~AxXPKٚRV^ssrES1tӝ5DϿp3HؓA2])~L84)aϮF;#Duox޺!=c(Έg]wy>YXtۅaw.ۜ f^)z\'x>~B "/wpȅmB7&_!~w<vۃ#z3zzpsKDnk}U9 QXe[{ 9wc5 '|)q@sΤC9 =qJZm }еWu3`!n>1ݮ{~\ȭ|*ݹ~.#bDM:dy TO=a$51^(ݝI­7;nWdٍ9f҃ 9棤pa#wOţ`|_Շ/s?]7P['@>)^c{1Όz:b]zћXGl#8lІ8l.f&<)q/ݘw'Ltٔ+h' @pܯO>7O$>&j(qjUql #p?O؈yn#@]4$I_|% W=@=>%|Ggߔ+E [ ͱ<:{Y|ȼG18];@U^ྎQk\u#Hs$ YCڊL=U&8_h7I cO%&zyHU@IĊ)z] F d>.?xHB,Fhxjƿ^pZ."y@ jnU>, G$F_ >HzT/WniKN[<'#RdoAq0.Y`4!)jG :Ց-wyR?&[%o?qBcfRoɿLE@WR~ nuQG+ TGeo.NX`%&?_>ØIyݥՎ1rxU `B΁\n:VĿJ^\r{ > >` 2yD=klPzT촾.7~%5{9l Vϕ7%@e/j|;ô,z8)x;\Cp8Ibᕕ$ n w3}D$>APbߝFN:<{EuO23@g_~o0Sh^ Qoý-(d^Ux^O~"~7NHAgI~+g!gnp*rk޽Uc=%+1oR{(HBE*Acik6YO|={sr[JصEaBuU{9v3Iūf= ʺQy^ϧ)]Wce>c|1ǘ6y5+uM)A ~!dWfz1ƥPp~.F%_:aד#J+CA/H%G.N (.{}at 㹿o\B01${"8oU3r.6A{Yſh2~3ネ|jѸ=*ywqޯnD@kps0m; lb2,#dul "S)_C#4,&"}nRNiz+ߛn\~W|Ѫ|~Ա~ mgBЍ֠=oøb~Hc>"{#ԡD_0E9k~ Y$t-yo] {ʗ:c+b2AF\* `;aTd|/?H؛ &XKvA>y?y; B WAoxQ ƯǾj>ƷЙKpG8EޏHYݍ _풌GNiT?"XA\tr5_B7*<{1容܃ވM=~W4mY3~-wbM*+  xatZ8X "ak%-ɡu0g(w߉@$6n$ ۱Ojf p3z>D[ ܙyQlٖa0vwN罯s_=$XSh,oKs(G,Ͻ "+xIX2NbSB#-U qz~[>5A;O?|oQԟyu#ghg}cp{yݿ65,'g~vx?_jYWyO۠~idM w1+m?L{ݳh*3QZ^#-0-%E<4p;:5w{pό@KQ[Ni<~D97/ ^9f +?'g]޻=Nc?e5 } ~$v"=+ +Hx/Mvg9$rm0wdoebm+<3Mrᷨ7i`ƌy䤌ْ)165S17#yAŠJ8p2Y6 =G2fj*b;Hޙk̊n%>66Ȭ#ɬ"/bZ Z}#1 »3SZVgb'[D"hRK-"ʠ|Y/涂 β^ _'mc +/`o!007Vx \VI"M<4{;͸]20x?z7xA4~^ 7ǬKRa(l}ށjsfzn~Yxn58@wDne6w4͹_pQ FwKn4OyE:ԛc)tQׁw ^g:Szӌ{5RΕ$|U+ε^EyVmCByD[M-dk/6#DS03G>7.WM?~i!آq5e7 {3q$68T1 9\<: 5Naҳ@-ZCӫG!ކxC dNSͦ d?K=T} 勺(y/ ] ~$ny^ךlBTbwU0).o LVZ0!DpI Rbx<“೔&~s-qhN%;w#0WADqG9]}|gDu-c @?k&r+$4'_f붘B'/,IBƃz/-u,Nb{xkv" -">yGIa׍E'`@ü}- ƒ* ~ ⧑π6b3jؐ,f1Pu:gi:^ 0XQ5FGwXӼjVC8y~$3! 747ذX9|z:Ⅼu ,xys<;Ca5Z Jh0 V}*#BⳐ""z4=.#jʭ'ofD\hlAO-b&⯉ht`J(AHjEΠ9Ew%3Y^3{Nsg {gxXD\+V(+yVd7V{|<"s/5!̓?CDȧޛ 2eo# pT'`HNX?!3,c.\8+/zgXM{FK+] '\"g w=@l_a@Ά>4~X"Z ί-SϾzR&! eu0j}:gK򘪭:zZ/azĠёuK4tQ(A !t溔y]* !.!H{'qMh4~?r_&&j<"b*cDiᛢ0h{ƕvElTQ_Zucͺ\R Y;BqMZ2]R@=vbЕ?A яȗ uhι6+YۿF (Q>jwsAeɚ ]9NM<ؘ,B" *&?"xZŖfe-Hi8fT%D"䩠'&c^?M665Im7C:kGLo,;hR|Eu5O#tN7KdЧJ"艽b $Q<[9^LN Ab[zP34ԑ/C>b`Y>α%0E ʳ? z. *bch||2{-~?A& (HH>^;۰kP_۾%1eI+KxQ7u]R 8령B^[Moϙ @QKBq-2Df=l},3'.mw'||'+L~O{>r4wq|sSDlz4yA:s!YZ}_ҧUj¯$fĊ~ٓ10xF}wD?zUM e>ə\c=L~ BϗGJ .]tJ*jHdc02\qJ /$H{Dqm#Ba}+^~0:cOF3i W6Y`f >-P$\|UhT~c6 yZ{|Zq0@O6:j4TK`__=“Oy _#!&.ךC!Wc?c&Dey9ƿX4L@_Td/X;U|)\C>W|G, od׽_\au3.Bs>")r.>˭uORՆpZSg<@︖XK'G7Q%Uq q_ ?}okOa|3^ބmp^dL! bYBA\u֠<'YkAt>,ζZ]*Z<.#b,Y2rݰ.= ƽ<DttaVp7yX4QtEJB@yG꬝4ȳ RۏDDYXaL wuM7$W^ن|'Aҡcyx yEP沫 *b "o 'ܓK_z@ۄo+'F\&`EÜithU7W:!rۡ5G^`%, g3HǛth CQMSoj dvv?:GD6?BsP0Qaq"GYZ1 ܏\%@Co6W~.35S}t;A9ChSP '5#,)2t Z%$};XKx⼏!]kb&uUm|A?pn#ql(dI p|OdL 4+/|.mS9K]| ,Yo4&.eKf㜶SUUp^q;Gm4SoBb|4ʯXMMų:ieSMyݑߏ>ӂuAda1)ځs;9`IV %LG83Gj8 ײhw YSdoJ{Y bRS?\`FL$x)MY{CCڌZyzLj:)[vƬ!g!c[iyޯFln D#!fP[!1sJ@CaD zK۲D=-A ,&ӼdxĈ]VxpGA_{\{ vdd\ Vی5{o _IwBpnI'Rg{LYbH%} ,*fawϧ1ZN8Kڗx$ggU}hg*m:m4Bjm&uxN+W*>6yV'Lf_k"_=x9(O+Mr>m|{@C&@:-Y7ċu-o`~IB|L<ДW\M9G2ane}|P9OiP%uqͦ c3xF9 ގe e>E/5Th.=doѷt&wڙy'`vF >!v"DGe)VdD'8:(i*voo~wa ^\Z|I{m áFerO}$cLj+!o˂-NYqЉ}| E!q,cgMCyȴ牪"?cy|zS?݀Cɔ [wރpQAlexP: }%Dfn>&<5KLpAh=7UЄ6t*>DPb'a R(`{v"TQ7B) "q>a_=4WU3"j'UхM?SxMJ,DGɆP|襹%:G!B:] \ȓ.,1MOd e<;+~\עIJ.:KG*h\6:Ok2˩ž_]O3 !}̫7a0=LR߈p 'T5Vg耺eޫa`.QѮ {G!z:GV`a'~ohX_aщ#wmDQ]u0r{X7ln$ 6'IJ#m.*|?$Nk 㬊)XHS!诹7F3Uؠ!#L7@㻓F xS&i$^&&HQO/*둲adG9 6mcHN@1E8~nXwˁ/pX[l1n?Ev  Β"ŭsK#V7<_'bS lNwiG҃JQV3Ɇs8"ݏ~9yQ~{T5vID'i_L̸gԤIqaGDD Qܖ-j { XBUv5Qo]&RKV*VUzHRO(UIf^!#S4QL 1ª X銔,(Rg`,3;  oA~ U"]x7Bw:z+ +rw]2% b Ap8b'C3394F䃚KslR*ii%X3E|V̄ȇ"ND9Wz"]ējc|1MƗV=<riߤmNm/ᣚ">yYfzN0IH9vg-eiVԪX*bw Sa{١N2{èjr>l!o~7au-@0f*T1>< ;9GwNP]HI}ͨ"+."UsϲS:J8'ZU}I2߀?Oqw^Yc dpQ5#Qt q8wBu珌s7 E&JI7!Tx:~Lt9C N3`xdiE]YvosE y3pr4L_<N8 &k|#6x$8d=.M6^ld'4Av$.z-qD_HM[gfX&+dd=o /6['ZV3:܇lON/DNJ0> c 3C4>.R2VNf=1N|r`y˨>K(آx+~$F62KX8- ^O"r<>&#B˷QW>K4[b} n/Y}@x ;;vܧ+Hg&ۻy~L %Zp{e\_ ՜`(q}=8dцD<ƛIWo#wXdYO%4qTȹbGh6[ :.FC54E ,%קOLK8~tGd ܧI~$&d4]ǸjYF'D *p/$2!CY*WxWt w7H G7F?VW{{[n[UP0q(i'Ks8~^ab_{!Rf#J^G3^4E≑1ޅHpZ)bM0GLR!iEtl6x &0들:2$`j$="NK®j䍈"Պ/+E"4s/2kL*^=}xe`_ۑb-CM&@t yTãm98E{l="ErG¼[H+t|7=E44n5c#vd_xcr8OG\f[M !gf`Dh[|\f޻yGf1A7yGDn& KRl`֋ٔR@2>I buxV-2Vf t0.S|oyɰ6ΖςbF_SߋP/)pdHRɁu>pGf}3,Q [qifүQkv9w?+$O|;-JxiAȲϞXz4&ćqdfS8)}7r5/;4"u0C|"IK9rf_%<:&#Xc!TB9&||'DzsruV'pBTmK:\cNaG3$TKos{~S8 5<qpjymw5&[\#W|VSczpX'>ztiZ`htr&67y;2ms؛M+/'AYsgO#A#BY ݭf ⼻@of03EPK|U2c_{qdDI}g{K /N_9i69z8Y zz.j$`L;#>39/JO"(xRU7Xxv>iSڏe'sO-!і~_"w5GP(UKix~FQ\_̏W؇ZPrQ.}uO苬K;D}1Ѡ_^#p&,iu7ZSLr9m0ZkIs R[Ljg`,M4ɅչW1@Pg2R"+g20J!8Os`^?7z=O樷nCU_;lFg@ۀzYrC&znQZ6\"Lg'];s7+y dX?D#Gn㩷H7vr}F:[L@h } PVoׅkF \cJzCF?'E +G HD1oe au9X8o)`GdZkbc1pAW'ŐgTz[Ol4, ۭG0Ov,! LH'gF}=FtI5T2jU d>> ٙKc<=hd'A# .pHQUT&XR.;㽯0TRh\1wɞq)6K{5ͦ *J] "]4iqvo?YXI'{^W@"1^A.]̇}U\ڇG>h6ϴo1ڛBNM9o$M;E;Tl+a+ÌZF p<;2mڂ/ +Ӌ"@Uz~zQ箷Q!#Csgכ7ؑ5j8E[7;7NMμHwk9_&enU)no0(ҾDUA^mGgM yל4!÷ 9TĭFNJVnjr2*,{ug3:_? hP 侂B=פHB /ܥ L/>6 (xK'v7#ʫJF^d v0LF~2{_; Hk9q4CW+׉;?K|QT1>HoO/%!I,)DwZiy,cԪYus /+ћcɳ>9qD{q#>.#f~8߅L][3ӈ@^.>iM1$8|%i#Zٍ:<.{۸W&QXSs@IDATY}x! >+G"FP8/ zAU |)sFqh*T=8 hQaR+OT(yLzKBD^&IGps~n^Sb Ku=`U|r}os2{8C{h}*B$c, /YNovlb֚vůKM^2:lm#0h~!OR/a Ü`g7cȋY,؏$m[ģhYbFyM'ΫVZ8x_;!\ӽ|n= 39Nրk'{`B_ Gެ$+V!4^Xi]!ǃZWI8cRs$6L9ُ_zǵuQz؈'bb\SVZ@/ץf2,yaaMu^'J-לcYYa\6Xz!+{H=@?Io=;9s! DC;MA#BL#O' aÁwGCX֦{X2٨фymNwuڥ<)7s!YWtۻzP@|!i O5B-apR}\]{^T}`phUKZN@j.PP=N@Q#q]pL~Qg_ 7vQ~ '²Cb>EF!!p,pȹ*/ /jZ>!Lw~n8ho .E8pg>D}g llMsXll7?s`8|B4quN+\~[(je&n序 ݅?:!|# w3Zki_[)pąd%' %:v:<$l_a}]kv@?kP cvEO1-cRXr2:|ch[ ;ߍ샿bb>0<żk be9xy/ $𜬹a<U5m_ཛ_Xȃa HgXwMn2K;m-d}k {wɌGDb:]Z,Yt9/ӗ4/ķ0gy!uy1f6U4锶-^1͘{վp^"}"sN^>lBMvMrJU/h'rH`>ӇZbt3y6E΃k6'KgM1GrگU]{tiNA#e|)93;D0~.^W w5#"E{kA-." 1&Lx_*q6F//F1102_ӊ7nKq#[ۣr8TL~u":I"gF2 eUC@47-ԗK罰x?u\fV  #@1:i׹?c>]2s>W<ϺTô@V%B Qu)Gʼnu_5}?p/iz CWE%  `Px 35^]5WeRCkE.{1NR2#*L6yΥeɸb:վ5: ]#\"'-4'/xdI4os?#&/ ۯE9b%aI4zk11< VvO$")˲0t`r sFJ3YԀbڀ_/.TTp]5"Z`I5/-979cNt_C8qbRT(Rdp%D 8gFpj"QNˊsGR(`8D '> j8".Z˱" ș't5L6_6C+!vйml.rEꚿ0nh.3HFv@7&E%yȺ7TM9H"7#VhZ 3ao='J4mc0` t[A0obdHU/T#le @E܀5" ~.tL>¶|`ƞmȊr(|m8Dlz5X@T!mX㿞nsښ?J>61Q$HncH_DK{E)q+Q̡VчtqxK=xo%G߫߱k4aSs[W !D-/5Z W8~u5v1py5]Ҽǽ-d]4M)Q*A"CSwP;! 3?K,m0+xZL~؟̙Yo3 .wqh.I|;}蔊& #<,:TN܈؂c9I#u*#;W+.1*Q78}KS7D7XԒuBu匿14W cZ0FoprRR YlS0,1SEm6:npClmF|/[3>Y20ľ4竭w,wHG|d|<-(i"*q{"E1/Y . t>N(=xFi<֨%WS%$"3!w2JenNgv&͏c:0+Q&?JX20&c+Gqq64;@٫ί2sZMԚQ k0Y 4c=r}0 ɺ wP3hC!v*IK-4wqG|G"RHࢍku^ƑLx)q}۪3{hi&:>OaZD6).Ao ݁nhGX?({ U~9C.^J.߽Q؏27q~Ry:@Sz@@z˃Z`"rM~=Zrv½Hд}jY+Ү#5+S~@^te3!/,m:PGڈxq-IG/0 .l`+a2oX$yܷK:YM}Q\#*z[m'\wօZ8Jݗqp|?@3 +D2+[q-l odnOEd<+c/F(Z3%q7ߟaݑ8*(=0)^Ii/f+#C+Ŷ!J { 9-Gc$ Ѳ]Y[ׯ*o5tTI$y7X#y[1iLuт "9AC`;gR]ĕ@IkYN1밾 /7BZv1`0oᓖZ9<?8=.MqQHDb .]h)CUs}Lpzx-mauYHn\0LuuKB9_$eߏ6D%G~ {ӝ{+\gd}vՖ("):hSAƅYH0ۋ^m>=؞V,$KZUfa CoBO') T3Xyha ExqOa]k$zZw˥&xZg 9v㎸o<|Ut0TNj8 !/ )?`dqX\_oa{Nɼ[Hk<)LY¥YqBU@ġhg): | $ kD"Jfp> LbUӘs]OV$s`_c'::/VE?4b4 x~!:et*PK=1 ?ZS NNh$(z4~4>Y^~? Ӧw H.0ɰa b/kW%(Eȳ̹pOB_+U=1̧o.=  1a-ii +?"z$hZO6NJЯ=C|yH0D6-ajlII\p.n1E9Gh|1}q j\jԳPT6;i+^eV3@9P۲ɎPS%/p_/ AH2 bSǤ)~mqlUƒNg,e+ ܖ,u\Dc,cmNT{8IDK!g~ePE)$9xj8}!|}X$sIX*F~LucڙIL4͓~GIoTXعr975d)lB'_ݸ&HveE,s5]c_[ 樚pR-4lK{eis1$HJ:|"eB0yo3z_0H޻}LnĠ (H$F6WϬu4c_6HVҷ!.hl2N~I: (`gᾝEຂ"Hဏ"`&B"2ǨՂpSJgX! `K\ npbDɋN9fƌm+43 <C|,3hw|NVG&Gxf9%gC :(ړ+ZrĐ_5\-igpm$ E|)J檰tm;jqK?ya`KuѾ w4(^>DRݥ6n MT)i(1ĥR'R xF|~sK"JL!xG *r/S;'X ak7y~S՛?̂ gTWqMQ 󏽘٢ZkYL29?Rc=P25 u"'Ӝ KAƯ|Mfǭ[^{ͻ+$6h}nKÔZCԿ0wa)'ɷ{_e^q|" \F1w8N 3I~D[vDY_0zՂ!wLIv9g}Jz}<<E4okA` %CțAv˾hEs?.0(BƲN))y4Qe=y>qΉ!DTU2y;~GGC?3 ϻ1[u:"3@2zLŘ~;xw11tBS.e9reKdbcަ}#^զ]Y2qA'E59h0?6:>P צ2qY/V3(.{O'KΡgËsߋg2n^\ }:FpgQ͆c6A1<ьsn|QHҭK „`]gym6DE3@~e£8Fi*GpF Ta\:jd ;vlit"j9/ciě B%\tm6jI:_svDRQ*kضD!TR.PcG|Ӗ xӘ(JVB#$r`7t E,( @~F"HO^e^QY1OHqƺUߵ]րQTȁ[da2ecžx+6s{[o@q}o"OG}E#>?1WATb9^˂?RDx#nUU!Z1]W;!kΊ6yU@^WgNA `P&$s6iӚh8ۼB؛t'R?Q8Tvmgdi,Gy'@r8rI)fqXji$G mVoǮ Qq0NiD4" YKzeuE},Nҷ0Ssn5|טO /g#qH!`+Q8c\' b dcFpw s9U*.c:$UΒ{G&QuZ'_α6ۼh{i۾FβJeo,7(~ZLnM38DeT!M*B7S{Iٷ^HwTYJ҉z))ܫ`|8)ͯS\bWS̊~!mٜ̎a \:O OԚ a:3JL ST6 ;s5M; Gwdh! KT(_yO0O|(5f)}y"2'R$*ze0 m0!sW:4w;CQa4A[Kֻ|ǯE j,u,n̻0Qkb}4!O'Cs.d`T<9h_8_qۭg%{CqP?9LsͅK[D>w;ͭxbSՉ251sHSfjU̲;cec!woX]i+TCjHګxdk C$;Lh-s_pNe%qcl!RjO^0>gsm)~1%NQgcGtf؄XXnoD &\ &O_Tk'\Xp5SU&AM<0O!WN=3MO<.[H1I$_@"zt vE,l{sp*8KX$zSS/E| yBc[:+ji:z6NToX-V#)AnQIHT}P}@8J޿-:Dk49g]UD$~&KO #hFGgй@TN)U&氧{$#7u8H) MO;?H$< h\6GHNw5O ]Mx}y8]<A9~*֑@Dr~Pk#FAø=ip6B<<ʝfo wggTwd-կ| D0PwWZ n0r*dboŠiɻ%65v5 /fu˯D?} -jT4oȵ:U AN4cHP@3Ame?a@FF?=_+[jNl[%%f,ᇟc; W X9pZ1.Ozh_2!ߋ3o( B?(:cu&ˍW\#u`c bf.Ąc `9rf@g"j(h4YsEnT_p-bv'+򌳗?Ե:0$z[t$c*dbJ7э_IYc/ Z^_~h Q3<.D˼U/c-&G|[#Hx#F(N39A!TR#z{Pt#[?f܌?O??:xױ uuz^g).`rҁ_a&iMTIlј~{[WjoՁng/[X_&a" ,*I9;K-VbYXC4p]Ǵ.v=n40:v(p23nWҩk8vg90ø&Ĭ6Oa~s˹q8oD1N+܏ďIMwnE3SfP]҄Wkx4Q#o`)g>2N6[QYLj`_kzn 2Yb wuOsxLDLޗWLAK>#LFR3Υ4|56^)o8lCgm:Ȳʾ8-fXuHBUHK'5W`Dɵ5aCo {$&&n+JEyO 7o6Ot|N%o,\iu ,3v:EWR@!wH(rnk+nyWY2 {q)n% f4p3џQ4@ƞ^wmu8GЮE0x CdsG~› qUAbr܌(A')c ' [u>5u8*So Ypr_B &rE9ĵ߷:fj%C¬RUrbawh=ۅ·H`\A͡7>e6*,\QPX5 gU B%? S8,jɢYmK&{hJB$J4jVi+| m (F?JYYA 2U=A&T2`Έ*Yۚ'vD(ermP(7{H``OE̦]s󄝇q9r]8?BmR29ٖB- JN',k<3#z'RqLx?wB /Vpv,Ɨ:½;ڱd^wc3c3'j"Der"z͋R:I;,Ҍ bf=kҐx|vk`x,bթ>'¢Ym$֐چ{\9m"Rg=F'{k x\kٔ"~ `Ge5A\+{#7D9))dڨ"+s*8x9XJו>",ڴ~4&Ep.FKG7؛ ky*DVdvX {HFMM?:*"U鏄)saT[<>W>."Gt<@'X/9P x@qАcQN$|d~l6nvH7ڽ<ՌwRUٯ~X~kt˸a!TYz0Pկt[F1rqn0tf빒j ߟ|`$Qi8v_~%rY|!4S *Z-OhvB䯸"Đ[&#u*&-aR1Nbc oS,s^eBTgK'EKPDT@2JV$ A Q@dA%Ht۝}tt*X_ ёXWf/>YD ) V"Q9!+aU%>M6XY}zݚ ~Șމcsfܬe걜K?}=<a!HG:;5\ONM}qn=mW85aʷL*.l7"h&:'~vU]uMrtX8tP-^0:uY2|tY~B󸠁3 ޔryEͱ{RAɂ®t%gO{̌p*~wN!le׵hг4 qKf^lq·㑉kr`Pڢ:nB]`|]2:xNZX1jM(/'y^/\;c ٘S4 j#x:73u)PYf˱ ]x"f?wK@Igɂ/y:""zTc?n40 ɗK83lblX$ i'~IgGF溶s݈bB1̀'0SB^/UQv \&SIqc"l0%eUp ~2RIg޿( D,N#CUՌ 1M3*s #1_ɸE$~ڈ瓃h䰟W 3F,5,&DN9C̅G젽t|1(HI8лali^Xp#"xJhD׬70 k(Z~g&z,_ Zȇ;;=hm\;ʭe`UQUڠ!,yz #DiǕys`yl}%]uS +ϔKjl"m_M3hkSCo" g%`#ݴ]`$glg0FCavTla[AR!~U1( 6nFą4!C Nwk7? N$DCxgw D(B60!"4Yp=5 Hb @/' ?!r #TBQ L_g|Ok5WrB7XDD ImT"# *{-EgQfٚFVk,sdE?ˈÝ嶣\I~6yw.㵍߳iނ(d%1WQ~T0и;@sfz#$ߛu`ma=/HxO7)?EQ-?~h#_ttі@I݆"1z98C4Ø[}xkpHH?˝MF~?겟>Iy`^;UU:1qWzpJFfde]|% y8`ZU?=Ek0.L@8U ]Yka5 g4ԲzMX9&fG0U7jF?;˼\#uW~BQLViw=,\VƵ,`=i9w(5exA},:&*c=q#,=߫UD kl"0k4̈́x m_/ÌO}*!ceE2züIs<_[{( S H̛|w/3Ǽ׊ޤ6Q:h,еz^ 'ꫧ yZϺ1뿷%tΓ6g}l ܯ q 7!k5)Mp<}0tIDRrD y%E& b/׊d`ۧӾhz-3]({Mc4WUҩEH6 fu ,'2ޫ On2\rq .F7VqkeuSн8;t\!gCE -,\:cQE*k;뉒FCiWw ã6!R ȟL{ͥ6 9APsgPJq^53Uw$D(عB;C8PpTPWv@pz@vYPMVXZF+>3m$tI꽑,I6KBw!k}@űחa--ư`og BC6k lnJ _=}%Zx̑W`Wn% rZ8:L/w >IO7FKވ3)%5+Y֊< w7!fImsa FJ(Hd(T!`xYW yp|ID:A1 *jb|KF$et0Ob > H`(z͆j`hک'gKe֝8u|D퐥cÈDI'59du 1np%0߉)vПVN$ ">d}#Y T,B?ݗ(=dX$/(=pwo[6Q*ǃONf(As{;6uuM(L#0AG;9IdA; :f'vϋGs/b3yZVRFO  d/vܩm R[bl*A^ϠY ~~LU ʽ ̗l ƺ s t(DP 0a}&MEHwkΪ~@/',<&> s ?WBwq{~P*0 ߝ(gŒ={tppN1آ0L \YǢ}78m 0@C߉f~ Zl;V<|VbRx %-Qq[_("EBC:C399OX֗cw*f⤫F@hƝ񑽉[<;"Wt"Io_Ğo].T;\&湸Wу>Es_I=Sۉe9ȣ![k1y$SqR1M9۪ ?>h7ZKr}0TmK enF4 J8sߍ*Ktn!ᨭg.hI@7s4lg\N#`S!^[yC!.?gՂU.t+$:Eޖyz]FQˀ>I &`x mu Z 6Wv+ԳVuGb~i0=[1Q, iLϠ 6 . ]%uZ2 :C##6Xjlmg a `Tmʁ? Rۯ"+`;jtկ Y2jʵ'Q02{x4Ql CY ;1%֯;C]kjji@iD\,;d5b^1?)?ȸy`$Mm3NUi)4G@IDAT2`,\ &3*[哲z_6b@.rj*WKeYQCkII`uS>X7NhouHdnO_wd6FBy5Wwn>1p.H [VZYWQ]\ӹMZZ5hMG 0;8G^eʼn8h5ka'|o7}§[0$N ?6eΙ UmW̼9ueҍA%`8퇠ӭLm)O~h`!-u(FU:7hK;1>`v08)ּ#BOeƻ20/S2![x Cw\*c-ߘ\[bz_8򅗋$SJ~1okuoFW.Y5׽#X$WB~;\&"ii_A +Bm"'AGCʪȸ Pp <߮Gҏ|F$;1#3!A> cz?P̕g`>2izJ^1e},Dlk4 ;2ث.\zR-[ʰ^L4[8wX(WNK}CZuӺgm"`MvltqZЛvV̮"{@tm/Vm^ jŽ?{+ l_G`ZDS|<' 7igKz˵j`M?qwExq/g!\^] }9e(!"}T9#Yr^Um;cB|M&WE^)Bq~ ~g8 !ٲl6Q8 A4hjɉ OzF&B.! yQ}^ÜӋ8. ~7uš8w Lb/#$Wzm",VӬ}^SEEԃ5Bݪ-`ޛG\5B果kNDRbfGc1&]ʧ(7o#n"ɾr Kf'eM2[vJ̈́ נK.cBG{b%- K*; w5`$%uA"󘆩Cg9AyЬ%7-CR[1]شz?? GBc?@ $p Gx5 +PْhkOq%5Z밢f7YGf2}?;lsP+M$;~p1S$|7D_Ad9c;/߱^"Rs746[F+xquG304?HanK &XPo~C~OGl=ghw!3o`>Q;\\3҆1Uhf`Γ+y*X;}: 1\Oǥ}"d9baLD[DI֣5"1 ۊKG^E Z,NGᾌWNkk"M;_M@_sir5,?odsrfloYcop&ygknoQ7_*/Ck-ý0= FF">$B}y( ܇CkIg!|༎J @S*THc;_vKCZw@! jW4p,MlFqEr;IWĉYoeLGf=mJn*ݵ$DϭSu[[ OnBoGo2 gæ*ƿ&ySGq M]ĪHG͔^Xs>$s \c3RAaݟrZ_uMFVa8@`me3_%[Fo*b-YYUq}F>򥰮&SWٵ,6R" pq7ƻ,w W!U5"iTlDQ"&-" u.4,Ƴ@Ӽ2wPncc@N) IS*уiלFIU(O)$N[6H'dC:@'~:b JeC~*_Ai|EGċI_xhoYh*?AS$fVP~ 7P72;L{hD(Xj.q6TyQw(JDVO OllGqcZ(+G{NJd'Li=.YH /#_&4qdYMo!*Pڷ~ku QpH#{i`8<_o3.q#Sio?;f:DzMrzK~&΁8K[۹טw;g# zad 4k=s@J񰧹=Xg $J3J[w6{fżJids#AYeTs:1G8HK옴\=)jwt9q&HKjF37\WE+VhrR/@ 5M} F[҂Ѥvk e&J;9uEpdЯJw7i7QًI9jc4LímBt)s& ZP}/i:A5uLvbU6p{F[ޓTPYDrx[iF|~G?=7Grus?Vr U0O1)`#X4XР=&$r̡Wz~DَbҐw`O>Y_QU?9q]'[wzh쐫|8! 7 ְ)ezs7+ԋDiIO3A-]a 7FT}o@) eL7q5 -8dLX7X4i\4jj4Xd.$¯އ?q@/Y-F<[,f.>_9görs)3XEޝr_WVK5܊n`~àOf"0O3YY⃠-zǙ[2~'fbĬeG2g|*2^hKX}3Cf7#b5f~!p"q2i?e _d0ߙ2;eFF߃'L*=.V;_8Я 6,ͪo+6lI^]Z<0YIh*g!YȽV:Uh)$CoT;' jb`R12 Gwh 2 W)#[,k3;<ʽAȡ8By ާ|#+,ў,`=y2hj$kk=x~H+O/?w6I[lrOnQ,/)SR6GNVpVG^Oq6 x6- XjHLYlD~0fC~Bptp$y>M0ͱGK";>P'7&igh_E2N7}}_ lx9? Otc4`5MQnzd'UqQø={;h1` :6/ 7x2b,Rb;>XbKy{$ދ,%r=W ,Ex7>G`\(NܿKGWE7|]v] $x[G)+Mg^BKhVVo/?y2 D\u8&N- A\.a.FV kRƯ7ݐ?CN~XG4醵n#ͩg ǯHQ>7:8\\ :ĭZz9o  @ r}6%R1| :r28;Nu;a[Q=_C3^}#!x5/W!1?= 9 ܧdOlD>瘧p_p9U)xOw]/FF aZV߳.lYoYuW}Wxm>ZQ$M?vw:S;OY Cю75wuh|L"a {twi=03$mBd< dCd`qĸ]hRql+gJQQdx\%q{Dh5Yya`>K}@Яj/WZwU5G|%[|/g6Od;X~찧XW{`u4]~]J Ff: ''CFG-2',9絎Z{0Xɵ, .G r.U&:WIð^]2|KDu,^ 'J$"0  m}cmMzDȁ^1Cfg>oԫ0fƱJfݯ,U1۳Y9P WgP,- A+MT{bu/"&CNmY.k8S^Dw0G!Sv q+RrKS='+t<']D uv.8{*b[Q~L,$DHi 02;?;(S#囼D0r՗v8}x>@V,Ջ]ML>PgFi?N AH3se3{r}y5gE2v?2/|y,'t+28o; "`⇠-X#srmF=Ѕu! f^(bG*M; QfЯ~s&DK0_I=9ߧْ/3.H/b=ƝQx`>pƴ:!ssSCu_-Ҧ q˃!!> ~hcuS*OzLidO,r;7!pEjV1B>Ay iq x$X6|YՃvZyv6Vn[s7A})5q+n}0XFE'JzFSbolOP K&NM4_L-3D}-M!8$=̃0{[1]Q?d9ЫGa$ m|[m[%$DGXFÈx~;@? Mu "*AJrg1- myZe}`ф궝/yK/l0ӬC%Apև3GJW ܄6gEXgyb>}$IK - a{qҜT@=E?q?{E9Eڝ> hbT`1v^oe=i'2t '܄yt%q &0};$Kc U,\rosv3l(kOґHre,BFC}^h:w:gcƍ- ʇ},_1sdE+c"lK1$FIbX0"rol >H~GcM9* 8)5H@5hbI o~4їvՈrg  _Bo,YQ dɊ'GBI y4}xHk}:?` JR'!ZbHz:/qZ\*qՇ< *?֩>Z]ޗ|n{F==qpF=KO"}֮tNHh2$ȢfCU~USӝ zΨӴԈQ3k⃾Xp+p\Hr@ &c#€VO鬶? 1_V Y.Jzx-/)7b\@?m43c6CkJ|miUeJIV;m3dh@z_Aey,w  Z˘+ƣ9`_!BPue; + o3,lAQP7۩鿫Ӯz E0r%Y˺{L"J@{? 8XĢnyY뉼Rrc{ܛ|[&@"7 d!4tBGj$.wvl6^AS#<2[/ۡ,3 T3!o,Y/0^󝯭W诗v:/:x}o([[SMf$hX:YgkZ1)bim0KC \=T'd1 `mw}i_uwg PX5zai'%z` "/kd0 ̕#а?ďVIYN:jBø,68\Mmnk;sòN{/`á0D+c]yf~Hq-!$ [Yy/83)4V~]8(ҍz7xh֑w q? Bs-q`uU.o(lZYEk&$dq'jAlﱹ/ڏ=Gk5EpG4]xNԃ`^0ҳ ۣ;97DNMF Nh`߃i|ywO{C [yo|`.E~!d7z7ZYf#C[]k٦YY?# M29(Kv8|ZjO:P m`MHDA}^|MWziGpC1Eeedq~F}r_galtI,="!8Uu rBZy谀ʲꁎDسJ_8YΫ^];N"[yEÍE4t,:a#^qޱX|IJ9l\}diK;`Cү5r$~[8u^UCU'Y8U"!CA.I+QMT`0F]Hنy91[rUzrP`Ns}_Wf&)QӺP|()CnN!U7JwUu濯 QY*j"T*B(2S,!@K[U6u^lg  w-$qe +GmSR0;ޯ;L`Qd/hb#H1_u~LQBqX#go.i:ʕ"GQ=4?/KD%ݍV֐7i3ډ| ‹ GQ?Sؽ)Ʃ8\*Dpv'@mL!ugҗf<(5G"|(|׊.?"*)%9!~8$V^Ff*Y^Ggrl$2F%/unww |BBU|^p>^3Q\pD[0Į̤W"oF;ialZr}dG[-óE[9(I6W b|U`Ͻ"ЉT!hn) Fo[gD:swS6ruAt$p8Z[~!t~Rn5;]=OCkC}Fo@ |N9-wcupg/M# їyG vE|@ Ԙ&e?DfBaf_ `T_v}0B͜_1d@̘us \'!);(nNqׄdG@ pJ9u7~o{Ɖ*J;`{^c2 BԿLZ{/c9< k.:ߕq'ױ0F(wP{yQO|k74{xR%E8WQ.:3_ߦެf TĦIg^djW~0LMKi]Y,VatQ@7ì1btJfuzطFscpEfxP9O4& :߀CQh |[Uq"K66<ЮV=`f4i/(![ǹv*d\!oMd\7z#X?01Waчk~$f?̣ d{bg ^RG=9喁L4tɿW+N=Pw7A;H Aq.O';[DLCi?Q\TRchYfcU`8~o>_z=R>W )W =U~ܸN/(E%28sJ|r쎃T~ C"~}[AJQeַG#U00t~m)_X̜s.La%BS QwCbxUM;Uń2wz3{zDNXﭟ//7@khd`r_H;LbP30KY#_RmnU]|GoR#F|?#(aARL2b3o 9X`GRD7bSZC1 w4*xo"J۠etm<P?rN>$l)N5建xl)IzZxs 3f%U?,IG7O8lj R̀Ai:Nicp Z@ۡ=l>H Hmn㓍+[}R;ҭ94,םV Q VK2zO$۝ǹF[__PykakݕZ!o8·Y=͑WA$')|BLU(kv?,t]k5(C(4@9tuLX Eh<7ԟǪSap)15ئ' P}tʯfQd{P%ramB</Ut[XKޛWX!׹-zOWz#gIQW7X^Ń d|1T\1o"^&h+p41y~ :g?hێuYW(J|6!V#JD"|i7x]jO&Q;ֳ|`oKTH%{ ~GYgT։'㦜W]zl .v1B*t) ~`ppNgqJ7舷};^ E{^V}o9X?x|Dl} uq8vo(9m)~o|k' &e5ةj|Nab0j*R0d!T)j$!C_wE-Q2$h?qJr޹SRB\/u!6*oze*]zj,|O >ʯף&7!q" ALq~m?QAcWozEx؄Q{:?\] }@.K^F&ra@<]$\7Ff} @F-1ߠ1ʏ}G" iNb`҃rqot; ߟ#t=hgx}\Fjo;u[?J0i^P B:.K'޳]#ƃJb]q25椋CO}roC3>0>bl`+q0cn b@:"w08ş,)0詡Wrt>a{[U9d]ܹ ̓ʬr6"\ߕ'"\NΒhꄨʼn&u@ mgaAY9azgu1.WЏ+~km+f֓#j:hW) *#f oCdLc7QyNґ֬߄ȩbcD'678ҍ T]k} ucbps)\ 2 ⏷f…F@S݁P8Q=wOl8Y~ S3-5VyW=CЉsRUEQTBD~eʛb"zlxPUgQGJ.2V|ZT$q?m .VeW[e ߻TyyPBv36|8hg?T_%iwG[_JPo}6C_VB?OAߕzu)zz,@N((,J|S^5/kCpxB)7r10\YiPur(~*xA1AcHdʟmհah X$FA d3r FUð˜]P"_[x?[# bU=C?)B?ڻ>3EmXtDu|o=(t?,YG߄}޷)39i0?_L3 Ӑqk܂^%O$| L$bC⇉wP v})߮ 5Zq\Z9u੬"]|= `T#CE}QZl9fy LFD}"*ծ5 &ISgBSq[nOˬ$[$8똃RNgNꔺ>jnL纅5 yخGڤrz2&9t=)`9Yfү8yNEؐ|I9/29P}4O{]D2d"p^yis{=R-ܝw?N|Gɯ'D[9e667Ŀ6hfd^ፈbbo^bHJbVUZOD,qA+A9O WjogֻlUU5uf$ۘHGcb|U^cƫ0O!Sda~_*X57ǩYOkD5rdmUsKlm=zј0 e>#蓦 ?\_+g!ZD + {W<_BE vEͷsIU\hOt!o,Pӓt`%0:<o7hJnA`0M{[C<^d͗{~7`?R.O{3>AVVR34=Ѷh\>b )gUq8~hPPݬECW*@IDATcS3& xw0Z?qb2i70^qwƒ]w:[ 6,] q PX90h]9l0aV^Հ|eP:\ D,_SvI&IШsm$zsCn] a ֡ǒT`"d{Y:Zȍ@E9چF O Y?lxLU6%M Ə)_l[XZ# rPxg ~D?$ar%e6 `ȿخ+rzºOxB¹l t2-7hZ?$ϩRA7^!AN0_@x ɄFw]Y6 ebN!QY2zv;}Za ҿ1TyJ$ 88_-m`hdѾ1y>OU`h;LF#ьі0f I=DLpG88CCc RM֯o|`K+ fTy&, !tQA6|LbVh ~]AOyX}0fx?8Ղ0}Y{ÐJ+* ::_;\')ϯ|^U#P5 B*2o5ކFtFU;һچ{4' ?s /=FU%莯OT%m`>%R)X%x^V(Sܯ]6?$.^"%9" rT ІvcG{Ⱥips v8vgNj ]v(a^vua mUnbqϬi`5`>!4K鿪X=FlB?ļpEgMޡ߷8{ߕ8{*:9i5QUCT:AxyIŹa̟kM~b_W>lfrR czW)%(ת 0& 9k%  %mY'l]u0B IS@'QH()^;MfwR)[="a02kz|Iz~F%rf WjexE熶 QK/cć6Րo֧>$yTDlb&=sLBRh(f߹Fs72;~ޢ;CYI>'!( 턱%~?>8sO\xh&~𸛸w8Rw"U>iY)w$Č:N2ۉL7.r`v +ڏpAlӟGxdX%:a, gk' nFv0D~Fiz 3OͧEô`}] gX˹Eoۋ]B9ѐgyk9O!sDV4p!͍F׏G^繓c׈FN]s>b=ս"es/8ĕ H^IF2| cVիט^5q^E?7fno!|GfIL8{%׼~w4Vh\\9!g&~῔.BM" V)ѵX 5 a}Exs92 <((mmaxjru{1e^cH h =ڝ aX 뒷-,\ސ|3/* k3~YկGb4Q짜?Ź& ML}xpO$SGů{$01IL%L!Fdx~J:h{sUt)BVM`X 'ȩm u<GZ*}s0 -m 0;d)g:3N .|Fz'h0P8Dvpk2~T*Vv`cQ[Nfw-AFYH\oxvL2da|dk"+X$0B6twqN% ~؅_\hmYa]=9ُb;N߻i8YDѲ4&'A3qjy3E: e,^HRxLF"g*OT|8߮ =} 8I-LŒsEv8Emb 0 L'7owpgw^6^!Rge@U<86kEV1cporz`b:s3µp||Yol {qFƺohwuu3`<.; 8޷dI#'VB?#FU|ez3n9I>?E_e/g)~l./?}D {3u_@7L@ty;}f?C诲MI!tEc5TU&*_>!Ky2 PE@@|̴yo~P4ఈJLh%?J%qSiU@ANI˳,S$ 7T>zkt6gםj+%ڻ{nsvl Y[#4 "]M~#LBAQEj6{%"II+LxJiam `3B42B3IAr qceӌ!>+yNr+XlK*bQDՂʓb IzAQw ѣRtg;D$A^-4zT?fЧ0r|F`ph``V%X<~͇N}4QӰ3q,#yJ[O}cQ6 TnKK?Ekda>Y*}0*?,Jw|HN0~ :v[ma Lׂr0.vjrnjo7̠DbwPg ͥ=1XYW @O,n {x|?ҟcV Lc#7gq\2:Vh%^Pha?fP3J Pc!`gq9FДK)hzU>y5Q՚rM@絁u [u!U藟aO2$3r@E5Oz" /9?{^q~jwTy:@. ;𾧪yW·~ZȌϺ)z0҇ߝ׈~ʐյ(r^U{}ZQ!x{.*^4nDt9>wE*u"Te"LXTa ܾI@T,1jA8"r9%'HȼgD/O_ NsrB=u0P1cB.m>]1/ĺZS0):G{N1mTA3{`iZwioX+4;Oֵ-CS| c WS TĈ&e+i K+qqB{8$kxw60y/L8[{3[eQapfp yuN?>~K=.;wY$. bܬ]n2E!D"20CoC7] Sv] }::*`vpGƐ^n"; <ۜEWfx?kAsM<@ LN;_9w(3 |ʬDdoNaC/R 1~l> Dsuyw#g8݅W6"SNqߝ GIi+GZy震dnabq{A_W*B6G )CBfF>=@#=<]:qLyV~+TG7wZ+B%;zH1eFS)Lrۢ3h<ugmj'iUxޠlh rQH}}CZbYۈä{ʏ ++Ӭۉb_!$_ze+a1[-\XoѿEp[[>4j0υʏC`r5%x!M0!6f>[8]4a||``L(DRU\yNަ}#8 V| cwAfɾ8o2ð4#fY'S~`k:|}Gva,akmV^ˡjv[aiz"X$gL8FˌUH%1ŴbhLdJU&' 2kI(b"og0%ƅΈM9Wg`ǗzGEoE-{zߏg i?$,x(!E) (FEXe\cR̨`T1;^췰y#<^ԏh؏ rp F!B aÙ(h 3NҮ*F%,T\ؗOjGb|jT"RX'_rJڇؕdQgr\RbT!,e(FDYntѮ>TyvjO>˽$LhSBX"VBc7bPyVQ"$NX !Q_}D] 9qDL^^h{e;)r2F+ג07~ϱ_ufD"xˉucaFxoLk+'.(Q+a t8 '{tF:ܫ4wׂu?tCXkt}uHBy/GC ߟW-[_2d,~/ @"h|(M~nؽ.Ѣ9T/>|EkNnMD8=ݐ6RfliKCǽu]1HczU/ Cuh`-g]`zn'=d"/^ 5]뭭Sj'>&VC)[0/a?ఖ0F/{CyNWr#:ߧ aТDЗrbSUoؔBNbobL7cد4נ;hül)4#yIVEt{ƕxBGx@Bx%K4~`8zG͢fE>y߅?IZ2Paq8#H;%Kxvbxo:^^f3<6]Wr=&q8נ9L5}?K}zgadK~ :^pP7)[4,6v"J"hҲfB:GoDA7*^'Eыg;L2'L) xYPͭQ?`W/ r]K ]&`3`\ YE!9"_J<^in3A~k(N_'<$g3>ͼhtg 3]8zvcˌOҙp44ո󭫨Sn'L a̧w/Ǽug""x@l''.Igsq+ʥ}{ǩA}':y$!WĖ(/sa .p&-G?Aׄd1YuV1򚟄I y]FOab)4Eqg+M˻hhHlwhpV&E&9X7j =EѰ|:ÈJI\d5emޗ w _sLņ|w(D\.)"ෝB܅a|G@Ug;ڇ.˴"+5|YLJ"18~}):"w#CƏA-)h$ 5З׃"1( 'zɺ" 9c~sm..'ן`uHUH_!El Y{@,9_(3E]=,@@L cK r/q8[}pD;lAj&OJ>J 4lFƼOERD9cq^H4c_ٙᱜQT>"yݝ4Q^ r"RQ,yxs46a5КL?oZ A1'a4$m{ܽǽ>')vs-# l_ m>폹qBEQSp9L3NZ !qie)׬V|}wxeTxa4RH䘟:GQ A;`o/<:Ү* K!0j6iiTG&I_تIiS9 'dlآHC{tW~~\G)|R~ "^4=+)w3;\>. YZ.cRa`-?0߄lr<[]u?դڢFhR&svu7AyNKT6̼t !(R!?*n4f+`O+ELp[ۋ&<!%iHy/T뺓0}|S4v_*<gm2) EQܾ Ž*:6ZGԨ !v=ZfqJT/ѾXQBRO+"8;G\l6c{5pbKJ&[mp3D(.îg_MJSCxܨ46닁,B[2^6Jl;VR$73a Ar$3OS& z?rb׺65X̳8(|WN^Yo%wϔq1PqQJ<X93ylVۃ?Ee+ߓ<`tD<"V}JA ΛpU86䳛a MޖMCxhtCک@(ږAi40u hHq@fpOXm)1#A2I_@~8 5~l:o7|N2ZgdbN/%].D8*E: ݟ~IIP"E{n{怠gsaRULog# P=:h^nj[1h24M3/ey~RB'GS!њ<?RH"X~ ߤ1ЃAO˝5)Bk"5C[.矸!Mh pWh[8M 9TYUS [P{\9y۫n4 SM=y~׿YZT3#|lƪsA08A bPN",Rhz"{eg"v7.e`}=ɭLd|H[~hfޕ$w D06Bx}SZp|&A;+/qςQ]]] 7i'S7""Un60(l.$L+ GJԷcNC0q 7 2;C[lt6q:\lb6:2'I75^"QJ;%Kϐ`Ncm&m[ Ѵj1D3~W]15쯼Dab@yC! @2c3<3Zlk\͗1*J,Y[*4~ >){77mߧa5.ؿjs3>Kw~(zFm-%m5!$?'Hi<5!Pȋe}i/-__ciaH]wN|:RЍxi>\7?{jߠdxҭVWhdߎh*֝#N$jr۝vi$tOexۘr[=QiO^ea ܺKee{f yx?0ʘؗߤf+y/OҹN{~ 憎kmDY|"OdH}z& }C!NLt_Η3-fUq4ܳd+Zqv|MȮU9(De9 S"=:2wYnTn99_g5Κi]""9}!$w%pr6 G>bK̐AJ9Az7mBd$U/8yHw/ w"Sy8k)17dQ^ZS疬Ź~b CGCwcQ}>3IC+{+2sD}FVޓ.v6w5/1wQ-vM^-G^k/yY?ǽ2+hЖ XhYq;#{OAS]}}EItȈ"F5J%maӯAp ğN.x]#)-oQ4_q|>ͽ8ݍf1?S1dW_shޖ6ܾH'#vlSIb(\zP M&X?n(1,^"ntIT ?TW g-4'/ V!py7 AhHҵv~/,:r )?fk_g62:LX>Р{g`[~;?.$ Th:?@~ 3ӽw݂,K%6_ܡ8q y9,)pV7~hR퀸?' ;D#ǰ(d49W*ZɁy|[ڛ88)1 pB3ZQ#%\`ELjr<jk[Ƽk@i2f aiT`Ys *2c[Z>JLADYy~8qY[Ԩyo>M;;5hOnf >nC+ͺf(ܶuX= >7aL2x);Ko ^I)+&5i;}@6C.0N?Ӽ޷k^,1\;1gkdN< xLK{XwB#RakM3S?sc{F)-YMLdD?8 ;2$j}\3wHHg$m~}Kn/*s>O>/XQs0N#'fUXDժ3 9w2aFCfI_,*PDz94P^H栫J#gQ!x_TtK@P#ZTp;]f= j{su>,CEZ,9<)l3QS8]2qJϼ/&_ ek%|!3\Qݘzn"+OmJ~bEsY Ng (2X煏ypyDxՑ`0\w'cB%fxH!{CJpX=82pr:ZļLɔMZ/MNuv)v}6xgωw}Nf \jD牣׵~ H1I/ !A](1*kQK8M=>^gyws(̸ G|+wր}vOx~ߑS4P")GgK 5[!/çl(c*d-"Xa[d9Ÿ~i|1$b(L?T_9[*$,'\v[o]p~J'S`<إ3;Bl$M(^A/H#F6uGҘ_,Na$UTU!4Qg v`Iܭjm6K%~[WyIL[fs$ $S)sRX ]vZ ]^6Ef4vy4F.;ۡ@/2*Jb.rB;-[hg/c9M`i7\""/89c3>^ӫn3f| @`$^HpO:sF_$-gț u /B9聲Y%瘇bm.| I) S-t`.z(ޛ8%ug)8e05\.iV1^}V9_8)x<.W  s9ꖪ w7&)٠X;5v06S w y"[˺uG5Z`@*B?FM!摈OOy69.{6W}- cO-͌?kiX, yyX ,c@IDAT/!/;Fݘ`8_.GU4^Q_,;=swDZlu>58K3!fTpoB  Cc&t9x8%1OtS!+?ut`f$KYZw)0\s vJ~\nyXױ {Zu\HR7kX'L?7}:*g_{!4ƧTɆ2?brQco7mv;ȣ !(^+A%K`:$! B;zC c]Fb:1\c\8Y"~UJcSR[OkLR^huoɿP&y 3?g;{sa%K| ק6$fuk)IFwl2Q$~ي1iY.l 8 Xm Z_XDF9R~<(ba=[AX;<:@Xr4#Ho~O0Rr`\LV=}64OVÔI{sϠ_|&W] :ߥ}QXE8&搵 v l@j '4{[iԟa2u>H}ow?\ [dxWm%u> IK U"^VQ0;M Zl\D >^B#+HAmKϟ.ag[o(}4w(du0HXOc-;Q-0,X4. ?*N@0s$bѾZk ` ~C:Q=xXy6q"fn@`b˳{ZЯuCMAOIgf|r>gm&zAEx/-U9 <ų{¢ard;hC<I h*n.n*Mpr ờN_Cޤx3_i.nᗨT2Oiw~ po0=dlT>bA#4W_ 0Yxqo:`IK#:at_%@|?~ޕ q5U(9ADH^ b-B_v啶gBye"o KfuP>}dnE,ZEp#ԙ_Hp$MZC#j {5b&ˑsXWXK]_uP曚kurrf^L2JXh*O|F'(+ }kSs$j>} / ;rH7-@^PxdIUOB@?Dv"$SL SQ*:!S0r,ByOn"y~&&Eύ 7xe[o;Tan%o2:V!5e*/ZW OfJxjW._K%Yud!R}&YZ R"U1$JG@KFI]:mqWBvrcLU8Ii_j?G;:F%{eF\'~?нlv =q0kˋ;ETKtFg3S^ߗh-> (AdC SWPVJsǛ~:A-Okкj]iWBJ?U7^3hINOpp =ӫ-%8PXUk%p!Tu 4^VNQF\N5r۹S\qylWA*մ 錭w7XcIU{^?f+6Ѹ/o}nX .xi;T]{p-noxWwMQTlT=@,P,rA1~MO5گ[}^?ʢ87MWƋêTwK}ȮI ;/a97Lbgy?+3™ʋp/RldN7w]ߓQ*31Ng_ayuOpWI nuc{"8L~V[&($2 k },&^#߄~ SUEixw}Y$hUqN}"bE7{6iexN8gazb੸6z7s*ML ty0+F햌k<4t2{$BxݝWY— /ӏ>}oiw2.ypx޼k$I!@ZW -{ދ29KgB_gݙid-z -0=  ϴh˵wW WBTy#7⚰w<){ |ߚ2Īf!m]v_ンzos) cF7&E-.T*\)DH($R)o{"Ho$nwCtgCy5J_]ه&?: 鑫?RgݯeょsOT!˱ |˱ 7!qzWE.|_;E ms  U0Qe7l: 6 ~7__z5Wa(G9r2oy0O ouޡDpFO߿;F+R8?rVS1Lh~?\cz*S.}?!Ohh2 J]95Cx_hיD ZJBgǞ؂nB8CC>h$pfDor\0J- ,X[p;#(P?o@nsz缛%LŃC Zmi㧺_8w78 V^+/L=Ӽ_ KwބYĚADU) V2mjzϏbNDGSv@y-=R*$$_סS,,!\17C]HUʗ@qGnO6RDV $rTqT=gȽ >0qe(U uM=qG_bv9ц82]Fqʤ};\Q:7(ګ1׵Yq SAFbgieihG DK 9xu7 *)њ㌓x;rT&JcFRѩ..Bh_ӝPb/*C-9PV}^Jx1JU!. L )"˝nrZѭ*:ʽJMylϔh*np5u,,GGDtɏo%Y# |Z/2Fy9@VcSQ Lv&Lo7P}H;)7..A8 j!̞HE]Tluq'+GI$xUoT)J^JS@ Ҥ*E+M&`tiK-@$;sg{ɝ﹧9eЏ6y_C?4PvyIHB[ f¥ i||el*&y{1Iz\u7 '7Qdl^"wA;8o* /,5&V Ź`)'LQ:'z3η;\M qNc#8<A Ņ'=>s#-AdX`]K>Ye/o5|x]" :Ǝ@3LN u2I;cNB\/wȕcc'&ʁ('}՛4zN @e4oE L1}?ߺR`˦;u n9k .1؍.SV3\:lj@n, љ.VgrA5RWŒh"@Yh&]%zZj5?a3XM4b?F짏/ .MGEpFOS$OZ Uj}w˃dFV~u")<wll6Iȸe*\I_28kmDg\l}eX-bQuW,IhTܑ?+t"QVTzz~AIJ9iZFyU~+|?f'wX籊T~6"qDq]ll=dY"0?-">"㴳on(2+M;%R F!-q>* 83G4K=3aTGh' Y Gg9T}#RCEWҫi.GT'/閔GioUއyD ™ +J(&J,þpV5a[m9Yy]ogלzs:MbI|hi EjLrn0R1j\y\yMR.!KdmBH k\pJlChOV'O+xϽ9Ź gcx*t܏?6^بfdas^O͘ K2\ VZO4e!a i)#UW]Υ*"@o+W J{oyv&1Q⸼J8@O\>hTp ~66-2x9~@0-颱@,p#!tK $@pIS8`a?'l}AEk#.,8DaJN% |[x.` ݒaNs_Zy62h; R.%l3FL8K|7Oy]9 -ڞl*SE+7P,k?Δ-q>}^5F! :Tbl< ]Dly_~O53O.or{18u")x.w(9<р<n "W5aEXtɰ mutKJ$b$#UYplr5Gq *ӟg_Mkm་t'VCN=%@)"+9CdZM>4kf>Dj&">ĽJQlq']MMlQmGT}*ι-|3X ;Xe&K]ܛ ܊xU4:̡cp1οxqN!n@]h@#PosRy#y3~;S x@-؃DCt&0 rb&8EOk"`R<`f~|p`#O-$<4d |ÁcݵEB5EE-fewinH(nq޽j6 <k?,[!*PpW7CфM]0P?0qgEYp,CH /p'V![Hk %MJsډfQn ]nZHeATxMh4u?WI 4q+Z;[$:MI@i*$2Q^+q\leCDe >S $^j/e+ (UM^(V7ј,o6\Le=}k*;@0 .Lq&z粐xQݓfj2X,Xc!rcSq{thGDY.{u UϠAr5v^9yh$nFŐצ)7M0.F½rl.©o6b'#YD.'!"p%$W#uĹ%É-%m3qMX8ckrKC&6 i5s'GBd9|‹vVs~"ag 8dܐ5?A܃91Ezf FO[-C{VWYx_Kq-W v 'ٌu\?@pvdԘђQB$ΧA;C" r.=wl&ZvI%Ai=Ibtĉ ;7SVgvf}FcK&됅5notN'{ |/ak ]~9~n " 2MigMk7`BhFk@'^r>(g%n$Ǽ v =u c@d15 (w+'7okBRtp!w_oq 8_,3&{!Rjʿƍ݄6 9DBeAD $N<=AUY#b1T_ !V]:*VG0D֊{ܬ0Ԫ)fxh"i(a[L`h.7?EO1z0ar>N-u44;#,Ef-{"ι( }m$c<_CrzE]9EW=?,d ~%ZD`,Fl_*]'$St059 $IdP {_nQr$; k-}2vV!7̓urWB43EěHm"ߑ2fuo+PM'Tr2>3Gb7HK]7}-!Q녺 p}s!\.H!lЩv=;0]ޡ"UU @<~(hREfƙζB`< d sb岧ί@9X'{{>`մ:]-Yx{%} ;tJOc\aꭡjjsK#zGًzǀ4-޿C=-Bs=.590 ds#m3tITAvQFegaa:43^AD\?kLـ܏QS\T ٟ}s?S8sap~Flyeva2B(є{~Ẋz VYsaŞܖ^)* H=).(y|ɟj  /w iwV 呡*"@´Ks?UW` zl{x'zV 3ut5;#aqh]yeo\⠄0%CB\( ; VTEQ>%nùt90jRe!\p =N`\b/2ޘ&<@䒔G D C#,u҉iz+赡C`TOs !YFAu+ ! y xϚkߵWEycMml\|JR lb^b#o-@h(1RnXE##!SP "!sbK;P@dy*qBM줟0sn:W9 xՎiQoKk.0@6Xh?3|Y/nLҫ_(;M|C;0}@'A}ޢV$*2仅h ?ͳW oaeBj.t0 ݑ XG1R>!9fGG8e? s[Љ[N@Q%F}0z~qA >^`Z)ګ?9\1FP|ohhwKAr9ةw,^2~a>X/BԻAŅY\" So4}Eb|*/#X|SO*%9#^ %l@ X$Ch$$f+0gH,8N$'ķG¬sh}=ҙ} ּ|IOuL}lU̓nyʯ$6;* qo3e =wx/L`U+a愺D$<mہ%Zo{R؃N)&>@2^37ynV+P\M"Kއ=hN{ε:FQ 5UEr~Cw33E s]fH":u\l!4s0@@+XodY%+NB zR\VoH8 QuzȮF=f:9rNQڃPkJӏ?AaGUx)ϲ02[,.2u(Sn&X *X0@(rضϪ$=C-r?SBFRIJ&. !;6lrwC 1 dB^aL㉅9 t՚Kܻ,~RY2tZzp|=L)UaD(K4/{/4󆙁_a=R1^sϔE o@v w&QEe@ZINDutb;g/R!`S rxYOW=~Þ:[mu+2tq\_+qͺ.?cTQ'ɣ@M7Dz9 yy4'өl)a+&N?L^5@`W`E`$4,yFc2 yY` O ˸sd`XqTW${D/ ` Q) bl2O흍N%q pFfx꿔S=rIϫיJ=Ol8i$Od SViE&s@҅<{Jޓ`p$ `zS5s N%/\&~ %y#@,J?K Am2M[wYp!R+?NK"~H8Ld&d$I8rξ'myI#Fhc[c;h&ҏv.t H#w+Νx~L]2uh$ $$ݮ96B+"Lˆ!NX 7?gN533NcQK5526 kx|y:'O\Tb(lIwV>OϾ%Ceo ![\u̚ik5Woq{P$c3 F?[?F܊P XA__jʑ`ȇn|+ty#Hb$eY//;$WW9D9Gf]-ĝq`8Cxih.ciKȚ.._ Vev Ի:؍Viz{ l%:#BObH6}a`` 湁 ¦(z/JPv#lHZp݃g^$PϋI!wσhՈZ◓̼7{{2f!陰_qGX  tvx@j371rxQ6o{ |( xAADt{ z7 '}EĩL>\z?!VwL?!FG(W>Avٟ+CUDw ʈr KCfKzUAdK]ӚhiU#Z~C_ s:1d-$affF`#jRZ:-.00L]7j-5{wDSMXE$YlkIxEHTamE^d&(ĜflV#MT-U-AWW?-2&(*^F/Y漢Li(PA7)"g2`B[᥍_k6J{lFN9˂. L$&Md3@2?v$ &$$ .N4;qoK8{%yq$yTem 9-Rxukw;[Ue $?D9DkX#8G]~ƅ3޳ y8l6mFmE Ά2APylyƛL4|r1e;g0?MYӼ̇(HG j  *PG+SO+#r{gHm7-/]3JT0B"Bm'Pų_ep ݤ&-׺ϸLgLAk9d#GπpM|#gAm/!Ϥdi Cw[NCc? I VI.ڪaфikR@c@nicd첞 /1&x^4YAPF|,N[]/8H]GիKQpe?n@T@}ZZ;'DcΕ*L$IC^as?Q8`?$3bsܦ^'iM{{` B^4]B 9k NawG້4 Ѹfn3/}59$Ijɥ߄clT'pU(Bܙ@=aOB_D[ʪ!nQsCJ50FnBŅz׃~m6Bb 0dH 1R>* )uMD  'ݾI!"-n 蛚0) ,݇l#FSqjz'So5Uhm?(_:::z~% cItxP:o"c cpTߡ>N L_0^Uow4Zcn, |Sߔmۄ O~D4)8\anZL?rQ_q?,'ד%yx x 9&<+U(@PA@0gs,y1w/>DŽ4k4h-(lx>T.e_l 94K=Y5/QflF"4\FI]QU} yT*(ߕ b`JRNyypxuVSWEQh&j.7iLF]4A0Jw.A5W6/xXW&sP(d1c V}i~ uϸg?.EG@p`s;IK;TDsGcMln,"k[ J^=ҨXvoӲ73Dme5WM:t9MJ9t@IDATq`jn{YюfsG- v&E3߅++lqSZxaɼeg&.Փ~|&dqC*@tsFѿ%rXq޷\EP0 ^<ʹ ;x PT4#k^B*l} #.ac^d?&Zƙw+O-™b?F+DiE02]缏B#u"O"ԙ7 96d2菈L#Lcjuũ L3EUṢ|)JEbրMlNJ!uQ ={=~xGK]IAE..;~|C<{?bbߩ c{S 3HP7vj MB x >hw׍:[BB7}oGlB޳:Ⱦ߅x/}r!2u ;ӏR7A_|{:6x"I9FsHK<O*@J}W.%Mԇ`~I>w8j'Nӈ|7g܇} v @.q;\.^ 5L# B 1ηS?5u"aBO%}ra{"Na=1Uy<dn^&TYX$=XMk+[I3bLk|[2)?H)FEw=zF/h@[oZ g5k&~3xlϒ68Yξ8AΎz+=O7 OP)T=໭ H w>_ |-Ӱb$ ~bWgc~xŋP*xJϒ=]uD*՟%7>`^eX$$ 4;>3zO%߮@%"BjnɆ+kΓ?{ 6_QA{0uw@ؐ2mhp)?&75ԿP? aQ>v p1HU R*AXޏdTq>:h@p X?coxx` 'vGڟ8fKV-{9~\`*4ȕMA?+rj_#q*kOL ƽ&3oupgP,~DR \oy fM6=yvNxog \ c3@zW7EU 3 L`bQc i?BD.vSD< byEuF;h$ XtsP 94̀gH$$Z1} P&hD|#O>:'l {aqga:j6xډFЏF'0*L'XWLRO hbx &8+F\n@`1f|5D#YzʇL||o5qv.6wh0`Q{so J)H R$+qX,w.GM'co~rra8_h@裝 2(? "-`s`U9:?'Н\4%{gКbߐe*qIkBEt`𞒉3ª&qPj`_XB6;G;zc{ eQ1,Z_$W=s~4Rf *uzYU4+ݝ;}8K{\62A6I @~M$t/;K_CoqGGX=w}VSysC]:GM?|\\EvJO+A%#+nfI4Qrb4v 8⛰p;3&i!T2da(fE6@…T`wKBĝ84&[*Ot]"D?zL~ߕvz~#PrL1<*M3kTjL?~ә( rzG' 0'UG='я[P,4.m9o3_+nH/$Yeϱ^w(J tߊ".xTorq%'C#5KqX||IݯCT +F;D-*w ݍ9~O5vNw<$/S: -4IFj3+00A!k( ο!v&}Իhb`[R?N}8oW˰n'?p@n?P8GIII`,$r:mckqRLtr%y~,+>$h7#VuN9miqpޣ{݁HqL$89Iwp~lRǵaDUHy۱o1A+"rY:&Tg> T|R䍡^hvr\׳q"k|9+!]D8!0ެ8Kx[I-!ZuUr}u`#ʹo!<+ }9n9axdBqCC ` 淒ltE+sڃ`^|U,`հ᝔ާD8+w}~j1'Ͳ8`&8KnCo5>D*WjDNz,}Sɷ@y~iޗ 1^^1ߟ&r [{˯>SRdݙՌuvo(%5X%<4a\ C$tڴp3G~ڬ{ GS(6$*6&~ r7?$xG ~ H^[DA ajVMѧ0*k+?kP_Й3St̬/ζ &Yٯ-↮DwW2>y sm3)ZD W3G%; $U "8M藣ۨ "L#)pKl11H?o]hG@v0&Q ,CLf=XGa23 @GD%Kp*K۠U_QS@,*, +DY~r9uKkôwاSQ <.) ^XB/![ B&!I|q?(Ĩb|Gф*\""*<Ro Bb/~x+VՎ\d~\y=gZAP'pSynMge$W{]H!O`v!H٪NSoE9k_- _H5k?g9pj5OaܹBE4SO0 P {b{.wLGaْ+Dm!â'Wmz<ًDSStKl~v%Km d T/(OJg`>wFSCcYjڡR17; [սžpmܮ9'N} 4M1<;ҧ+]^hztNm&&Df >ȼN a:ЂJ-qK1`g@f >8|*>F>,ߛgm*%*]&k6ѪΛ-Bǩ~\M"ڥө蓅*XIDo2WD䅶o0qM?OY+þ_tt3W $sdqF)oDgX $2 ,k H[5Ϛ}PY[\ ?Ͼd?aAG"#C;p{j CwаV L ֌kH:Lx_HeѼB?&UCGIlv7<@W_ACSI76qǍ_/ioFg ːs7l ?7$ AT%}zʪ U'")#&gJsj19GlLK~Ѥ5RɂhmHR#?gꤻˬXQB& -?CXE6sj &A+z#"N{eqB9V)[ߔdqo 8 XSKIsa10qO@;zGyI#Se2c}Ɍpߥ\/sĽÆvqv9]=윾z4~EvGƭV~| 'a>"gXQ2%Hz ;݅/L W$J=QcZQݙüw'c,W&ΡMDB=drLOcnʧ8v? 9c5bQ9~Ǽ\X}K X Q\, ,?m+X8 W M ]M ԮB4MW+e/4cE[A2yiBBBDW:Miw lCs{Md ;u(zX%TBNU灥va@>nFi= X\怴QQVqgx]vԻS@ iS\lsS>y} bZJڠNb=9R6Υ\f}cH{XRo( 2`_Ui~@ Dk,~.P3Tj<~қ}`x+ˇa4^׈E].,%#yEdnh|tqXbL/rz%ɮp]f%UST8aqs݈)A[;޸ ApT^U*֊bm`nQ~lY.ֈ+c0 C(?]`:~)b9K9ȱHEIsw), >1022Do+p-)4yE-X *`n"shf 63KMԧ~mʕ-6H70?.ޛ<]8^49DbmRUbpL_C*b致D i9re Kj'tOhWE |XuZcC~XO#sbwDv 3.0zZ /"Kwɋ.s}Ntʲ+$ f(^o2w݇y)ﲞ zF]Dεèdx1ͱ]oY׋p݄./M_4UY jň 8>_!{ܫSב6juEW .~beiM:"#$[l; CG wdpְi.up ^SxŤX,kN3]4!;Y9R|T4^.&Z6ټe08GbxgJ zLxMV/oz>a4nƿ& \0̌\ $8->1!hd&VhE4fئ0a`j*ȉ$¸V_դa/EHVU]\/BˆlP^.|QQ JÀzDC\}QK6ȥhLhUTa7~C='`[E{S Ⴏ}q9藌pDmi0Dìf6SVӳ >IDF-X; ilue"gcIv:_xXL>i&3I?&Ir碊x3Asrq?&,MPVΈRAȁ4|}t)S+9BY7O=y".9Li'[&>ItIj%q~Wt\8;yXr=˘uه*#ZËq[0/Ǽ=ah8˲9gO/eP&9kf=4sVX*ROqȲz=ٺ-_#8!f%LN$ٹEUɲaOʩ rnR̘7H6t-jWe}(p%J~YHώ" -I*X&2x GzF 3^z a")3ZU97`p `7kS:%PYB~_Ŭ9~i cpbv>վ\O22ӟ0yZ!ı|pΫX2b+$W!J5+\9!kmU?:Ь#vTDv4s{,b}5+FX7<>{Wb c,>&нqDJkyW+w7HL"|Ňdƾ[^4obۃ p/x׸'D`ecUzۘLLS"ḱ,] S]%v;])Tu Q_RnIՆF z;i2[=ˑDZjՂ[#r8y XБs"i[tF7uƄ KĘ$|T})e*k|l":Fԓ1+PE5P9BG 2}'cTe]̧W ?Ty$)=}ޥ8|E+SmHXWYu[pl cEcTt4F$YaI4@-P~; &8[x_ ␎OG9Ü/2A>GЉA.N˔3νcp8w8z{BDCYiDx ?jΖߢǹ?yBbՃ*[ (UDJظ"}ޚ&'obf߭pn2F$:ֱ2&U^g>Lo)ys3f ;J%0~yDcusD)-eɸv5}YĖ.i_Hؓ>Z4TM4[Km8eWU!c6#Ł^2?E-(w7U U"R3n"K%=ʝ67Cğm'\Xn?rM jQ[#hl,, .$.`R =c)OO]<?nD'0~8?S̩y}Kq1:?cv<CLC/7 >@R37[.*W{4iw*`F%{r%wh^QJeWSZ>)hu9/w.h&4'{6Yù1gj9t!(o&f;ߞv um)2'3LJwz@#xcU1PId#p*Nt]Q\WGw&) s)JEOu#?ICQ1 PrMN+N$0~n!Mˆ.5٨&YF՛L9t"'Y֛K7i]$) r0e^ͦr 3"Q53VIV .UT#ug2[f FyuqwݬU$}C8 }k⭬cCIQ;Pfl7SȶS|wO52!jF$R*7@wHBɢ^˘G]ӊ%D;$RxߴeHkako&?ɲ|4J GD<| :>뺖^#1eY4oH6=l٭QMIhXYQ=7!"_cKwEߍ8h2o"z4o%XBgLk*I֚fUb7d.7|w 4)\[">r,bEaFg< $_OE%xNT9aQ#1γ޹壿oOp`N}w#>"OCQP2+zTIC{Ǣ9|O֮(<`k^/1o/;y#9F˧@ QUgpT2xi=eee T67~n,-ez歁=|/svrr#[eu̷c<7?LDi{Na'9%Zi0c>V>`Rw>8"B{FcN7^Rop&&L/f:GK9錣Q;3eO(5 !5Mϐk?qWC(ɜ@U=ڒhw7 ,4g-He>?y ͙ŠrIҾ\oC7W* w1Rh)󹿯 AZzF.]cAVi,'$ n.ARy`(k^G1AG x*gA=1(iHaRZAqhPdlcA]4kQ^Qzi} _TqZڡ5M6[_0{,$t칯L9VBw u@hLQkesZRbW= S%]r%@solo0hS"~_=I| d@1ߕt bUML*gNBg54a2)IOǽ*=],66NWh:"MT; Wg/%Q73.FGDBY1L!w? yuʺs&DoFS]78nnhtGo+iG*e~xxםoQO I+Z/ Fꍊbm'ƹ.ZѲ6O,G}i~ ?pm&3oW&9=#?&~ B޵D1W:4%ݕhҝ'<$3|!j0ſ qa:$Ez{wӖa2ӆ'$Q6tb>![L~hsM:z6&eg.0?jR.b7(IҁCc@]J27). }v1G䈘daA2;[@EDLƌ ޗ--r5Bԗ.f}=qqՍ|^aq1Ϋ7`<ʟBm-Y}+ū&],$#q78^ 1).i!f&> LC1!LNE)+Aޗu%;Lpc'$VwiQ8_ʍ{ a(=%4 d7DyW W[tJmp<b‘Y=+8(dsV/徸vXPUf"p?l_b2IʖH@ _^[2"B#~0N.$Nw߳T@xA7ܜCx# qxa )Ln3rNT&qBX $%.~\p*+1lyfV 3ܴM;GU\Dtp!ˑ$wεM/9ȦVlPO[n@"P2ip,c5$Je>sE5#FrΎP @{F"[DcAX^ D=-(+@LHyӮXE;.4q^A3djף9rjh Y_ea8X,梼5Ut7o #e~;uN<fd2Wz9 S[-a^݈(6j1|"ʭ:Ƒ5:XPfO 33Xy ) A' jvGuRYzy|  Qc=j.0dI,bFAa 9F#YY:``f8^6#zy ^?y;~H}#{d\:4?{dG lz`Cwj0͊~GqfGjFP߻*^ l gVM~GGYV*Q-0%tڢ_`=_ArNy߀肤ƺVKޘx a}>9@&ٯp!>H,cM~U6 >A1;c%-?a zAmB_ rHYO@K?~/M6IYs O}/ܜU_#LU}Yl}~0n*!)ʹv 좡SY?tUY u/x[QnTlΣ]HΈdջr˹v#yN ] kAI~_Fsqݖ@P#NGi l,*P` ak1C. Uu߷!w΀UoH 8؝Np՝a/ٽmzz¢R)Z\0jωΈhl >#o焝K}jD to6aEXg, }, 4#Mh:l5YFV5O;^EF?p9ѿy?"Z\C)5F/@ABD.o{/^-Gk w)ȦB{7ͤQ7}={\n;sQ;hG}_|t= A=/(}]:$ߜ2B41#<~'߮ 42tV fe/g#fbtOԋ Q~r 7S?ҧqۙV1 _SOUu,pM. u 2[SMI[O*{{Aw-)1}nkaDjz^qzA|2L㌊a7;]xub J?%OAڭ쪔{MmQ[7.۲CorFؐ&*tW`!@_j!\;>Ҭ1qx8u{V,Uf31R67F&o{f}L{ߗ{r0=>s6#D*F ~^'H| sۜOiqnsPa21%vM+J< _6B'ZR M99Nq_qyHR(?%.1o 79GU{aǺb^J k&5wIesŝü.0N)EqDŽ&<{JDn|G{LoM7..|p;C0Hn{}a1u9y?]gO)5 w^C]ǁO?v'j+_8Kl0^ < (w&jMv8AWGbt?Jk[ӂ[pG-L|>7>/HV`HX02hL.֩^)rH8&MjzLO L;*Ξfy..^/Aߠe)LĘ l~e B_w-d 視RR3aGxQ.m#xIƞT~1T, %xB!9 ~sx<`b8ˆ(љrLH|Ǿla)ϯ-{6|8vJM녧>LDC3qO?T/[?`$C }/0{νFi SSF7K32E;&A݁UeS뾝9Dm :w?c 3]ɦH@' ACЋ Tdrʫ"yʥkΥ$@ay>?!/J:HDNK0.#(H<2GML xjK|(w jCu~,XڼGd'MYY)coz#T7('t6=a3_0>Kj$Ssiˈθ(q79NK'&ap O%^xgr[7h |,!B-Plx//Q7˰[N]Dlpߧ|!h@.ҕ|MQ^Ahor_aĹ cJ|&NQɪ1(8Tҟ|NK#mj #V;<^_^0jU'@%l =.> %%Ujz6'A?!#dht|Qg/Vj` ]t>lMf?ȝA [XD!sC٘y4$T[ܷ|AR>t_ jnI p/r/ʲ8V[6*_9 - }96:Ӡ8\ 'IkuN:Q=z(65[J?_$lj6@_ B ᭗HY0KlO_9| N+\=0y _;I 9Tu^PՍzKչ gwf#~~kw?Ѕ)z*Na"JEWSuW-[mΟI ~- ~|4.fk QMg6\LC>,?r5L¶#ַ'?ވըw.2x,o§MVR+81pL3ZE??b[a.)#p  Ʒlk"g()tiWdw_0"' X&3inG?Nk(&C<LC G c *Q<F~S44=${AΰD^))É܊rUwu3?+=y67W18 1Hkb> ZB-Z:0,6,_ "Q*cΫ^)|[(] rKZKFk{7r3"(s<1_.ҟeqY0E5]qrC*ϙHjjl`¿YqSlsm[-?N?!ޥ e?8f٪7am1g;Oo69Rhj>#GH "^!cWɽI{|֠Կ4}D44תΌ=qVNQ5|]Ta3+H 7RՔ(܅Lhvg!wȞ8=|Sq_ 6SPU}զXPf9D7yyk[_Y}0@GQWT8vuz^BHYț-A~ o'_|>2CZ\snTǭCc8ىC }MS0/I)Ya#n<[C/- "4fw"}Lw+(B9BEHOZQA{,:Y۲~ì[s*L行jN S\ñ_I~1<i\q cTf]oCCTuuqN? )^` 1)JC_Q\L@ĽPB"每S@yPxHw>2 @ysQon~7! lOzއ0}!m'?lH)w;P qj4'Nt%}lhgC͎fM-`mnfkL2[j?"'-x_gspq;'׮]u}GEqq@(obǢꗈNc_Cq|5qh~b*%vbn<,J`"uN*0#m&@$Cwn`^ 7k%;`* }5A:+qcE,z*'!w:cAZXnصh^L~!q0b`f $x6r 2 "cXN;HK0q2w3_Iui^E#sٕo)@iJ@8v }AI꽋LyOϵla?M**3$y G^A)~ 2l 0v}&}A}36[1@>w_ץWT+!d9%2Јo![OHLG SRz&x.{r[k$Ʊ t~6PLy!KP |_Ϲhu FgM yUFg%w "ZǞPp҅9".ʷtμx}dQj"Ȇ<-[#F?UhBUHhE{AיT'qW$*0?I/xcx5d_T;m߻KV3/5;ShaxwAliDXdZ r _2&hiw*iq"g@g_F>OI$*:kEB_PPlk sgf-ؙMXQq2)? sF~]`ľq nވ.j/al/ vSf=^Qg#Ɣ"{gdGktkәVH0Hy'*ok"ٳiuTB&T3xݿ#u_EP"Xb0ђ`Dl_O 6t[~HgS!r6;d[uquwӬ73JDn0\{omJJ0:yu:{w dEd~fJ=YFL86b10kM\vZ5_ÛE?:]o߅-g+X[WyPQg:%l7;e 1U=,mF),ƞ -йcmף@pO1θ@1뤞G?[X1Ы|ünmy cwo*U-C$X cL="m3/m/f f je?A/c.?F|4`KI9aV;s/EDmt?_Fg/ykw+SJ=~>4|] |Mϣ&b&laB֜B$<i3"ܺȾ 5 : nsY$伔6>^Zzj9mo'slQe8^_h;Ŀ/ fЩ~ .0^MV9[eU& Mq]rA'Nv8Y*" =]/6:O5.L]!_pnE &?5aIbنbg0b`~" 2=9yzA4ӏTyNUs 0ȝx&)X¼G+ѣ<jN?}MAn Ge7dF(yY{|n=/@/ Uyu1yZʖF-߭ 6=0\FP=:օ~y#=@ֱߴG`!]U̟x+~p@:1#nf|VQ@֬i/5 B `Xo4} }aƌº$W5L&LW5}XcȞoh-EkN`{DJo*.]xy^I{,X090Xɪ+Kz'ܠI8 PO}o.cDIMCcuT|{Υ{ī zPr3d&YEs(AkXQOwbcyb1JM ѱiC}̭wK/0놢u]! ,'́'LoB'+1|7m7]$z7z 'ɒȺɁqmD"']rAǴWgBc&jQi񯶨w[r"9!]qϜVf͂&qks{l[ȝ"30r$r3&"">KedwHr8$r;O frx旘BDN0s9;A"l64$x)n1h|ܜEnӡ\.J'Sw6L]87_NuufZ)Bғ&eRذ/PB&%E3V[k۱E(_+ :|d̦άFVܬ98M#?.6c9A;e@{X 4xHɠ(XW`5܉I%g$E_TT ~WxO9Eoz&7]LoāzV=2=>;$+b=v;;e6z$4(c\%q%@HV'tc62Ę$ku,3Sswkg"i]`'.&Yl;t+d>iCC@{'6?J)h~r? ēV-n~?C̱<ƿ`1a k{.C][I9 rw ng?/Uú7@)T &@f\pҭp$&~úUt[Kh#\.F'й[ 3tC40}[=,jܸܹ m[3 vJq/î} ׇAn9=[l1Sn\o今8!C,ȭ2S{8 ($7{?m] &+4 O|MI Zy|aE/dǖNS}Q3M*+aymPX6&/X=o󢌵*֥<uX7 [ɼ}ߗ>MnGDTMuGos3Kr&\җ@뺆܅a_qID:x(We-Џnh<2w{LĤ;>UzƠz%<1m==Fw⤶K]%Bhe҉w6rLzcuG2@U\1u[L:]û6.'ޜpFE#܌ kV%^/{/"mp*~VcQ91P念#D=HD ,\g6D-iu_}]}³;r68?"ka-Vc_vxW2Z q)guT&4Uݦ#)üLswJG*.2x~:{:tpNpR1{.Dm\41J9:04zߠ|QoSo>G(w@3@s4dPຣ}ݝK{?UIи cI'/~/fqL%Fw):Ieo@ʣt ۉy8;l:cY|?Qvv6AcF?%h!/v(+쒥/n1@%hjk# {5u:j]u1Eqp77jkfPH{8_]Ѭf&[W?F2tpO }&x;__ϡx ml)IG&G&NH]/Kƃk-=!8Sc2p#t7|w\1zU qWx؜<w#f=rvWPF%.ģma-XGĀ`W(sOh/­v) NXډ6~v|*JIcݜ{#iٽC3n! ?ԻK23ߣfqIK9l@0rw9,㮶K^ޣEv XSw G϶ Nm8#g k~δbKs<-, \;/!@ 5ߨ\$ڵ#q߉o!Bb Oz<z~q 2.e}ψ>G |Wtޓ;h2S9%(E^G+ߤ\,M YکL}_c؏b/k)k4m^!fQGFV}NޒѾ ''!lHK"V$#g+^QMkhLVHD%t+̖"<5`| fExNe|9`n=AN3d:WdDŽYLeiKDzg H%mՃ6YRkPI9S#hdUw^/|\"ppf Jj7^'0q2f{OjaKTY*p$Nt5Tcl\q`ܖ3h0Nr%J <94q&fÀ[AH2R}ZBAq@m>qT}ED׻M'Wl~4O%9L4؂Ȝb`~~ϣOTod-zs j*辶'DN'RElۨXl8W$ X^~O+HiqvOx < ~g@ !V=M3`.JwB7z'PxN$^hn\qTl7TT aY?#&2°#SN{@K'iAd5J)+V_D&\+E{?~.n]4Vq)%y.941Β?0 .q}3@y֚@ys9Pp͎0nRnfůvE lwv(4:j[@W({L;!a˸E1"SZRRR00:O,- {:wr{>c_uD@q߀W2_&~_)h|n 28cwk;S/qm`OoN'?r ,.`|5N9%B/:nmۚg gN W+T>lj_ _CŶ'~]z9jr_t>9J.ʶ.t ?ܢ> }:\NP~kjfAM}Pd7}/g̲h.?CDcٍZY4tZQ}-?9AD ӣ^gql)bpL. cKY^CY׸p9[5DYO GҙT}|>sdfg2B$RRBSf "3}g=yO)Y?)'@~5՚ / Z`#tNÏho:ĮWG3Ug_WҴcR<"G :7'95z"ro`|j|B@KNӂRo:wyMo"q,˳%`^cEi|or_lTv[ܚZJ2{^9U! QJΑz{C;/$P%%M:g55dRDu͇~% Hr۹6zvWE! @}DyW<Ȱ=}[H< a<4(kV5 1,Xp*ÊZHJn&HM0PG Tx@Vr2FbtΔ5NT-s/7zS͐?l9? MD7D/{Tqlj{A+$cEyb/ A ];Y~q .=ߴ;Ͽ}.#3 ^> TӦDG95 $F< ~Ec 1gqz<&k5&y ᎅHBWyI6 X bJv8WA LWw{HrUCՠ^qĽfCQ8>S377(qu{a9W^3$}-x\ahiAsGݢ]gcx]e10^uؾ"װgG2 M&4iAj9`,H*h&Q_#k8s0e}0YR B=M/UlcGؘOyuDMjL+^tB-Mi#[puVbKCwn?uWжTSH,Vܼű>XW?f08k[Ս~ڿ[m2hY2[$yq-}zgVQG:Pm\- $a$0S~h*u2өppdb)ps o-X b Ds#@=/9xb@DMoz'fj79fQzoo)֍gEcu_f_yeȏSWf S<8uO^bCHJ6P۾OszMRuhCD$YjV DdmߙL7%zt3]Eˌ\fĂ~5oS_̉Gj@ +5L0cQq8%A3q-@Fk6".:ơYYޫ` 1[~ߘE(3'y)sPܗ?"ڛ"t%~HxDړ{'AQv,]ރp.8&R,ִ a- "FSep-Ě~U %r"w<WTL2P~ t\ɼ+!@Az0n EW" +`) +TYy]@;SbQ7r84[ރNz Էb 1a6FwWA!յ g7{V;t'uу@or d9!6@IDAT"|g3u?1# Es@/S~q~8ޙ).rOpxD{m/q?1jtN;1˼ ܤpGuR@.#`;&%Sи} EqþQtKK@|Q}QYLcCU"| O=A$:#'U0 )NoT]b9MmUBʽO'1,'LI{keBP )]-ls#%"cPɐp)ėECVC~?D^~uX^$ /`!M5UH>RZ@p)Od"ljhC==P[ Hl UMrz0jLL]`g0` 0/uF Ά>iڤeL5*Y6v1kbxDKo=dܵsx](x_,4VIiP)8ĞF83kx$Ij?i>^Xs$u>aSfs#y[Fnd!*7e@h_}Aĕ Hw">: > By .+BڴS:OCvqg+-P ?7.ߺG*𿉣 A{Ew|oơB&72$^9>Qn l :"R Ҝ ``-07CC DV ݼ %:/!a*w9^[ T`kBf|:ml.Gœ^c/O!nL׌zUfC"sW9@M /:-Ҩz>isCE2B[5VV!F EǗC [(xOT"ܛ #c[ХL=MiwPʠlshiuJn nͪ )_ 9gMV0^c<0xqsqQd!:5xXz܌7w1oOaRUdb͞Hfi.O><'{SH/K7'`ːD`lcSEp >/I?O"Z l^Ê f:;Fn 8^?>;whhqF>ΕxGZhֽ  i_< >'9TㅪVY? c0d_0ϫdLt+J6p3{[M~[qU؀iFDu^И."45{O%7O-T]h1e>YmhO2I)gp!%)nui=m`:(`7TMrƝR-ŵ:Ю?Q]]#7Prq+)?F*)>ý=2c[$2Ki/abܗy#nY4R&! M]CD65\"s]az ;+.V1g8ozQO.ێ AxC CHF5|8Mip&殁.ڍ0>TQ?4.ݞ=| L$DTyM9+6E`k qu~%䯹`Go`ȶ WG@ˣ{ ;iGy{>8ߋha v2"ʧX~":EXU:d b9#Z Ik&8,Vf ٜjJ1# o3,x}m}ׄ`O3Ln.Ǹqzj"RqwfOLj0$m]ߧkFQy &')δs~u,-EE׆쿦b5EoN0Oci;n/ec~3?2ڷ=<]c9Kb\|^#Y_3Kf;6lFtG5N1w =]Lg5p\AvZ$Awx7v֣JQFWLiUy=4l|֒d"A()w^|c5ƧHBw 3o-v{kYYRX-i4ºanCTnх"56!5b1T`!Yޜl,b+#;;䮣}(qQVm!#Na`jLf5ggqF }6*63`XG"QS(*t/>;*C#%?P-zA9йڃBA~xA4. M7FXy7.DYD3zyFg.pu/AD ;zۘ&zb~  `N BQwIV0zf o@-w2k'D<$ă.ZҞb7ݎ FϼW<7/J/#f ݛF櫮s{a^C"bb||S5Y3Ћ`ڏ& ڻMuҿ^34b-MfD?0ڝ[*~0v)` 2f- ~ȹ̌LȴND3)Kqûğ k|V/@xQM%Y~V=M}y_5G G yޑ#Q[w7\@R!m@ќ=q|y# BU5zzxA-ۘ,Y8a 1[w2  2¬˼Wzߕ Ku狿U6 hnÖjnh2o*HmOrD3ECfs1\m6bj0 QV{R26PY^nրcBN7lfl{pIUkiWYAXo:ﴷg;TS_#^>Z|Ke}#PbX 2f}AЎ1xb^ )^6UGrr4{]p[OiӟNٜ#U%w(/E#%~U`!VW9> < 3JP㛪U.ݿN{BBܘm_12m N'J$ al6YҐÎC֛dL\ǜH:68NO]=u!h)ſ$eLSe)Q'f~D:*FA6q˼=,9l Vd# %^6ӹ%Ƃr.aG /RSY%Lei W$JMNT{fs>쉭6YnShdψW(u,9<5&l3E$1kAS$U,=!rcd74myG$G[EǾ+`2_|2,C.A2oExn^wRҪnUܬk[3kYJ$!~w Lc4vM/cUҪN{Z,NR$#e.; ց`;v2= {lѬ;fd}|lEGY2 ȶ4d-Jż<'HƗ{o`K&s$aЅtt |O]2*8MsOԳrL=_3@UF]QJ]iImJHppRK A7'9eMx|E4V*;b`#A(e iC F3#P'~ g(02 B.h3C<cF7ErEe{Y44:~q]"ac|ާ * C;jaL8|ߩIT q^7[qB138لKLA5[-<'ghɯCv%*3pwnjW 6"و?cIɄNY&.%ȉ<&#粍9#;h3iJdha]Ż; ?(0"9W$[$[h63880!";p.(읶:2{W,\@bgpVp8992@`skX~i{7Bx9+hЈB "g.ɿ%q(T/0-%h~t>|XwpX~"qʯ6Y'uI|mFauJdIl8I5:.S SB5O{<5__T%̓ |*YEb?n ,?q`}ِy$ȘP ܘr2%.뤎!Nxx+g+J6E`|TH$&dQ%fxz?)Oe'd^bۉG7F3؎Hs}inC1Sc4zM|y So@6֦V(rhVKdܱ-b@u0Z#-rKyxKPJL/<ؿzQ0`~-7[C @ejMG:YE6{Qzƻ Rjhbbz?*6 dY@12I,CP; tO7 Z?M G.y?jxtCP:+]gܨ@5ͦ~ry-c , 'YT"[M\Wd2Zvb0k>ASǠJfQWGխ@^7ҭd*kX=L?QyB)k$XxӐncT/},SpF5lHsU Xw~o/G8~u0逸P)޻uƸ8 uipuFV&!$-'!w,|3t*SaN9kqjvUj naۡzx@3 qB𛡏zv)OgT/zODB%13&哔&_G,P.FU~ZP~hHh67_mh~||O}4=`ۂh%<%zSQ3r~0ɦ|zeth \Κ(=_D9u OhP1qe1{!x ]$',VՃymZrB_ӨV ;a\M>ȺB[U .[0~"6_>qYu-g>HG$Aػ-1argv\{gxOSo+N[W&WN^h 78h&^q&$M21L(e!3-~z>@V b0{~_遆|sNA»b{Vr,`;;GXn,QyD` L*GO'l ^ļyxt˻ˣx Cp$ܗ71~&6bA%tfU:/I܌z<:gE0t֛3[zҎXuơtqvw{vh(txnz8X`CR?Yf`Jb?T*˙7pytKZZ]EćРG]\2p^6Ъ6YT#8|]6P!j!.|=w9'p=~BVxA g_&!6̗%#q0&c)ॅ{D_]03Bz~#qKʷBld܍+L7EQ[qB=,4?_ňэzgS*D}9Z%!H-E/<{Zb':Jv`q{_%Hꜰ%2_^>8(@rDƺۚ-sQOhgc7ۃﲫ~F=3U^cإ_0i_5Nߛ;) ?КwoyAoe؜]F&,{,Co>ѩ%zEAL6 \PGP1yY^é=m!40K ZSc4tx_ɡg35aex`EIn|%8C Q f/4S)_hȻ6N0A=p IĀ{:ϗ I|SkϠd:qWvvyi&ץcrx/N5ݎru:aB Cܢ R970ru0ȦSoBbU}OOxA ۷0z5yf!Gmv`$ ?Jxoy @/E8Lbe' IЕ~4'o_%@K93w?cӣmceY&݋p`tm1PO\-֝_790V G;r*c=c߲?{o"l6VYG?qZqH%&E58F9P3fo]džW9닠H>xmjOAc]s\nL$cZD~ :9 W78 0p{?ZQ /Q1 Z?^j G Mg9Vw㍸;=/ )\BH^RGRƧ`Z)cK~ }i_?>id:p}EĦ|(ȍ0g{1,5˗'Q"a#=:SSfQW5zFW6@Dy_QA=H`=~\o hu>3fʴQCߛTw@6`#0t-W+A?~'d4,0l; u\PA<7&m =F`R hP~tY\=+¡$c$v"tuM4IL/< F\O`#hòvM*A{~) ' N;YO}3Z=/Sc-t`=gk>uE:F?^6^!%͉`[I;9Li!W:8J3d' Q Fwt觱(/HvU H*jn=~"$!eC&^1@uO\U5GyΫ;4ڝ83~=p 71ɲj|5GTP֡ڀ7͊8 ys< 8g(2,yU*q}LgS7U-/Pu9&?EAojsQҝwCh?ЇOd{d/ɚV驥+ 8 v}=8` {2q y TO{ MLxȷax&ؿ9Mm +펢8%&0ՕٌC7e#7W@$QὪO|d{nUa)ަI;8O15ߗl_з1s+o%ﻟ#nzq/FumM藷țx~8+ U7d:j.9n}*?lhSBҳ^ v \a&_ фTO{ǫ4%fRr2@{`9laj` vYo-i297bK"0h4|_Im|^ =|q-㔼\|y nhXݻь˸bS $}%G[?mjLw~(9y}Ub{ Ro,>*֏WF)VviJ05Qn453 ?0e;ѮʵmDī#@jFy{eY-OF4dc-is S~hOR5ag4~Ϲr/ڴ!!<:o֩<VFN ͮ2ONɿٚ'ɲ„wŀV?b5'YHT_!}#P E8HxAvEuyg 9M~r>`DҒkgVˏ"\t/p$ ~?Wݤ:D1"?-~z߬qj|d" )2}/ 7ZݮNܛ7ޚЊtZ~izD5CaJ _߳ 7geb?ϸcݥ}_9u[܆_0:qhb}ik8Y030 W0 RHv~/&]-D3 2ciɸ| ]A^ہvIAnx^dꎕ%e]B+*`?)=džn%}xZ 4˜g@f@J#\/T/;Q!<7]>hت=e69,@ys@b5%  [+t-aDZuq>щz淁 &% Bk Bǘ BNÜBZIZӿSѱ;sn6a5G?*`@Wu`s&o! oQ?NsO'U2ʱ7iGmb>w.YOA?`}GsgE#hXWuذmn]ޭiN"~7^^ ϔĴR5S$Q%F=1x7~a0&fYk/$sf#KsFJXͼ_<1^ ,ffwNyb/2:M^9d÷#wԂ 'L>"r~!CьYjyEY9C>|1j_櫗QksbPWъ / *>-zqQq&cUM/"hLD׉)ɻ7"oq^Q rM_|2/SJ5l8{@@7Exw //z3Iv>\kۨ?iW7yoZk@7j" pXzi![j~E613gz`Ŀ/ErZP?٘v+ǓFS&JaM`5+甤]FqLDv謅uN>:F//ѿL>un#r8a@2ɑVWqrM- E򨥑g3${i˾A " {*̇b>0~K3XKh6X۳9U*z@Uywͅ")r8 h^ AsR {Up3/t z ۘmtG;29/ 0hzZz#!kYYEJ<#/bRK=z4FLљv^~Rb~b\6I?ϫ.~#Va QiE<RM6EМ5&H&U'[ჄFf-L)}4"4Ձ OI})LƈQ$HhxtCv8ST>A:A3t6"QcF5CD")W%KQb2t&9Q9MuҝY㽦.~R'B׎O֗ y1FG8 L;SeNjup3߿*؄xu4K9%]w|k\Oثh3\xdi, txy|H7~LݨHLK4j '*[ rX,:<ϷY%.IQP ݞ DHaiC?=0kENbcvᅘ\}5x}#!Ac5!HJږ$ DOhn9} <fML٨&jMI;{QhҸ f%3Z\ Dɑ?ާĽkW`:BY[6&l4QIvpI ٣|[H60~Y."a2فv<)I{_JO""oh5ؓ}_|q\5Z-|';6=D>x.4֔9J1Q\I):qR h+Fshk,ȼ%+7aD=| _쾸)Ǹ׎«1eUV>:>MƵc B)\v#6V x|Rh )zɄ;ȸ*{!铌: 5DV Oň#11grB-^YD(ϚyT_K9L~ I~ 7677>4]U}a4+p|Ǚ5n\׹hp˂=T@hZDs+Ջ|.3m41_zw6iW닠`SQHcBkH/࢘֌yMoD-/, GD>.qxDQs=⳴b߫њqR 1F%_qE!`Y-n& xz`gJ_b@nF_O|'"(&ܺuI"Ηk:nLm3}ĻA_Oj&X !D~B-}Qg׏ߟ"w+_Hg\9k:YxHfԦI P^&:-۷u"E>qo$-إ}!:Wcv^4:6Qh"k`~So;;o8l?'3N|NR|*6 -4KܥNE#;Ǐ~M{0kD[>vkOЭS=GtL?.,"ib{6gT"]7z<7z+"xʅ*cD$+v=Ρ}z#e% $)7QZ{~zwB$oCb(95x9ۣש{}"wE8߃vI(yU̺&6*"!9SE$z^$!\"-qG0+bjZgDs|8#߷.GWA4D~ଈ`ˆa#QVL!h矤7V0wu\Kr2]f1J{fX9Q>xɽ5]mgܽ🻁V W߉>֋|)_(ϼDdy!S?KΨٴFiw +~a.QL/R.ۺ I:%"fc_3_P-8`Dd.I@V1֟ FP?ܧ+p|'R;x~wLE^z4Rl:t >u~^YhǮc? Gy,1hlu7&9|5ykwHAFaC582'(z\h?K*#@hz7A<2{23EU4 0q ~Lw 9tDIh0"^! 6tZ'&RQ{Iycm7K(mS1E?Wyc9#ߝ I9J aGXL[B"^s։1 c<|э:ФL,] K$ޛ0+'܁_,r)oa_]*"v;;oF0ю3rTU7ӯ-7ɤ?5ޥ~+5p):Λ"dV)ɸOq30!`m+)jF: x6'0G! ;W$e2C9<ʈsrqM|*Y9N{(qd_hub sPA' Z%gtĀܯ',tVY̽"d 3jXATr*h2R~9MHcc.iY٢%yg X{!bծK Y&6Ft X9sx)? IIj*_b'ueٜϓDZ Dlvl" wE{ *?/kB8B ѐ">ă1Cx(R~Ǟa5\}itbo4tZ;|OkRs~!aAQNC8 ,1Ь6*N;>$P:C~gEmDSO͝KI'@aѵ.'^WG3>5Sg`?XͼZaI:}?)7C;m>'缗]zl߈!3=1qZf ~RFRbC' %ŤOҾG?.8;G{H]pf- !|8X=@S= Z#bl!Gk)ާv8Cw$sx[r@!9ITOTj?3). <p%$lI92v5yFG qrxouƤFM-˒"籎"{|x5*&nA?5PB ~-v E8ʒ|V;|[DcoS)mGeJBj~~fcRFh8ujW1[7oTe259*a9Ƴ>hm!2ām=b+n!Fkpp{/յ){]D$,2?5D3<4}u7qp r VY g ,R\n:om.&TqRl諳l %7p! /VdC Ȕ%eStϚd-Tԣp 6h 3pIKCV!1sBYo3?#?TCJO}|r\P}3CAHşEfAd0⚪UjqOƋ¹{+TNW4f53_Q z2h ?TĜj$a^0 8-"tHPX=CڻnAL3Yk5T'-ڐ}nq4(7I|Fba7pTVhsg>G(6w O5#K}\4yRGὓ֨鿈WqhQmϫߑM}BN}k].!=wGE4LcvWNzHo L| -O_#ƆJ9ŢG[,D$b","f i]R[ߡRAG S} NHZWN!=9G&YDjVI]ɮ/63y>z-kdRB..%CoaW O6 " [,1VzazN=U8}{!*ʜoɺ{,@{0A$O-59J,|"TT-r1G#;~v͐46PqLؠ(Gs8Z*^yI (jsʗDlaW\609Ma_RvDV 2~+}[HpьwNN?yF^Zg{o9GtVUa&Aq'4Vr!t_hQ*K,ڳPNuP iIQ%?vOW^$]fBEnv8E ~8周 #ڣ+Wů-faPuvMRzK{M9RGa! b~XaJ/ueB"()cڻSo'gۑ~eoHGП:l)0}͈+#YADK9Z3(QĆ@a,*Ueto7yC6`RF^ э4Hr>rq!B,&IV tyhmeI(_^;!z7@7qZ :l aqB=#`ϐ~N >23"=p( E>H<̖V`0 }!U?PY~A%(׆rzUvzzHõw4RASսDy쫚 迎mΫ(+pޕeX|rWDPVsnDPwʪ-µV EISqC#qwoXaݵA1nMb<ۘlNAƱ Ӗ];}OzDQN&yF2?)?= & ?(sW{ 0`Bu['UDŽ-҃Khx AǓ aT704H嚗oW뺖ü!g-ɋ~inLg _Nyl^&`F#8eܜ@ʿȁ[џzG1Xgo^}yG%n'bR6'koDZ5r R*zGRp,jY/;2=؃+?_:$z^ 7+-/5IWw Gr|(+Agk K*K u͡sgbq_>_]Bjx J-nyĢ"b3SμOe_qdEy?k19[c62gRJUɼ=U1WiN9)ϳ% !minsXvNgⴅoū+h8dߴJ[!/na&ڭZ9<P ̎ XH6YP3: Ig!rU/W(Bx 8f7 >T|Gh U aƙ3ū惾Ns&mqߐpխHEQIu'x˔\>JI H: KDKH<D,+؜6nPw>/bH5׊~K!z!ISrA557xz9? }*-: #y}@U^C(wZB!uy ݥX,*K.E2G|xD$򏼈 HRzGT CFI%e{!v)?PfBLE%irl#i3)U-֢wp4R{`Aؘ͘|w,$;!ۨ["  SrUҮ۵kfa~?~)b_6_1h5MO=+0J+ӎ0&\F8a3fcPz^ r!CV' YEB?Cۃi5_$L$!mzF`>Z!̈+w-n+--u;{1.F;Q.f%f1Iݍn_wU^DR \SΤiOETkF<~}3yosC^0Z?I};\7_yŤam1zᤱ%a 9A*0to_{&duB ~A2  "lbrЯ&zX zs[/!6@;BSo½9% ׏?h<b'0g ˀsFmzd^6`AyWoQy/3ؚr}@ bm܊BPYy (̟|36o(}VFJfLm0*] V3Yn!Ɯ,VYWwz .ًMkCa\_cG.NCbطPC goG-_Bc6_CjH'3w~NoCζog)6wҢQ[f= 0EA|Bni[>11eڒ5K{-|BZV_k_,AxT_9'$4+>nju})^GGÇץcλK''ӫטc["ޜ;["Er7bH~O6s|/P !4 /3cl5l!]?y?8s)ހnV%b քx-78.w3@Yܕ3)aTQ{=n 4|_P;)I!YШA/DϺP}YIBVktnhB[=(NeCHxPٸPnHHHAv~;{l1),7)nM"\KK%3ܢ5Ӄu5LnqOWCT~$ QA3R$i߯bSqDi#Wv ,?=}2Sڨs{/נ:-: 0ش 2kڠ' C2w'AQmbb B3(D5rmŸ-iio)px&=фtp\y~QO@>W(CVN,hb4|4C-4oq,QsR)f@QD ˜>jV8Po 9)h:4c~CwڑO1oVF8B{Ft-+|'> h6o."1^ a>'ʗ)7mo]]H,yՁNoNY҈7r} ^S9J-r|# a1\twAbfG?/[5} qjC~aqN?ἉcDGu?Pn>M8׃cXh}@vc;UⲖ~M.h$43VؤX{qr;-5Ǔ7V#43K/Ees !Uɗ((k8snR-B1S2^KcD3M=t62ؕy;TVqYMHfdG$9CHp ?Pr p IMi9IS5U`d`xs4$PܹEOo'չ^J G{ 4B|@YBk5wikPkQ4Dt6س^1/B|gZr_՝-[+(4.)FUS>FԼ n,Gގ0}"VKNοο8IX|0Z3<1"$bZ),a([ӭq^)ӏ59_D EoaġrsS.@SAACkU,ƞ̻Uu|p1?=>$RedQ9.}=8Wh9vFJMyoD 'sd< NE7ZG1%$M 'iȴo17tU?{tcq3O_!{q992}ciЗU]'&a}wYzYzN_ȼ 8}%Hm2.ݟ0ԙ! M|K*~zg"!-h5GmgHp@`>'#="'98<WDŽ 9 z^$6>;]Edib dicѿ^CMlosU.=OhΚü%F""w0T y2kbgvKHy1{78X ]h-8h`4[\#CUvG؆G'c~?,Ht]͸^䚊lU=/+bIpt_a8P"/khěpD0e9x=؁hH{$Ko,jl ,6 NW#Q-WP:px(dWD*O}ÖGT[者/UE_qΎ~l$YW6!VlUD*'[M;3 X-oPQiP%͠/QnBc?o)oY.$*7^ kF n|1K'%l/{hl9bHuh0VwҮFg/Ŧr.(*7XFXg  Kjz:({l|V&Y~|4T"}ԿnMT2ਲ'0("sPsTՏC0 KSՁqG[Y`3̭s&$Im4.yXM0ܟqVQIo'-[͏_oҬ6n>g GP|YU;zs] <4Xocd\b_ ~w&g `$6UyxGhjIeabMV$tw>e=t巀ây[g?*j3vVcJ>5V{:m5rZ*B{U*,CTr+|vœSz; ²*W7h4>CڧY=_r­j}彂$lO2G]"DjL G{/|6ZZ{тxH? JQ 0:w'!lfY`/T`f c y/Џ!v'.Y$o5EjDd_t7F`>-Ǒ2 g#:CW$\;X *To;ХS0wOBg 7V7$dCޘ;"oeׯtZ.\8tv=Ϋm%ڌ՝fá?jZJvfӿB M)*o#p}|,Mցz+BG v[y9V:BLw&J]Zg +ZN_{ؘSG@0y1{ h <~XJfʨ&R%x 'Kl$R/{%GθZz [^Ag%\EڕuF*Evȸo ~~6QVDs"+x^>2(?hp |J1Onsyl ͩ= kb>UE02a$'йNB wHv*A2}14 T(BH ^Iz\ C//9r#}16oB^qgsqn4fc9WE0v&Nnp ~v_}(uQ0ٵgGPiM{LTSKO>a߬M_ & b AjΛu.:k)Icx^w^;^sbWޖPE:."I'`;":Z*j%Ӕ|P~&|tYJX͎? !-aC۔)lmtbCu^לiP'4*|ޘq;Pq6r`{Pqkn 7C_Eְ) yobxFiX&mG~6qE{`ܡx(ڛ;?PKtb6WLML]U]Xbj! Adr])_XL~rk UJx|'hn$+Ux~ShS>x^GA45iFb*ydߙpι9<"^@\ ?Ųg> 7͋:;n:+F-þʲ2ɇ 1#ЖN3@Y@<2e}.i3[17zoK z0GHV2o .ɂ՞,_ۺh qMcA,I;ä|{W_"da s ޟun sSgX/im&aBz yi˛1r͐w\A׽WD Ʒ8_DU+ϲݟvӄoq{&7}Bg4 _eᝢUޅrq\mgHӪ6 $Y<`=^*tUa}_=N"]i7qw3?Ё':X}M͛~ܜ_?+m5'ѯ3OMc=Z|@keQ@:˺=mJx@P@Wr(_'f4=,v7T`%۾M)T;?{  IK蹠k7$CY4a0F+: 6/Ztud} GƞDNBr9Ds^.АJ#Dv&Z) ͤ՘B_# sckz'sBHE#92hLH~*5X8v8-;Bzur/R5IXp!1W%nLqc K&02ffL`"g%e?bjuO k7BrF @B2( _07Ri9!}x@yK~p^kz^> 8 p#Y}5~֒ Q H1~gZHC_5,9Ƽ}ZY!F p@4[8cV Z74<^Su-4 BXan74]s>le!mEa#(,kruHgFvD;!<_8y@Sު;9x% l&U_ Jga|Mڳ.Qp*;5 !?^c/ʏt{ҞE}K rM;͞fas'szt&B #"Į=iE Ph4NrQ4/lx(< mvC,Mfr1 腷n,Y "9OUE˧ 6 ;u~'\s,F$O)Åڥ6>:'(Gt!,lQg=U՞GVzES;)UbeeS?fa& 82J5+t +$pp*?څK{Γt.HQ^λgA_7r7x̤ݝo1 sKtӄrELtQ%s>zo&KjO0"{M:ԍDS_w s\Oz}솹E#ō?e?bϤ[n|Gʊ<=%8?dߜs\nq5`]W {СC n7 9I_!J{֪{el7#D u4Б;Ӝ x#{oZ'< P)-q#уrhr_<ܟ@76&REyh^x?zOsIUGS[Sv ~m,+(̯at,G=}ף>v_T#zGEVُ"7.l"T[N1|tv+};0܉MFqhh9/dfoSL]M{Bly 6`n~> Y2{ӎ.ٕ2Bae3!/Ġ!7?V$GקtRrj9b1ѕy̛*{#RM+؄SE6SsG!VkwZ@Iʸ* gfs$wd,Dgy/|LۗD>Gܒd&ou*1Y# QWaK/"wE ʇ>gr:ˬvHƚsP( )壅M6eՓr[p{2LGs/ggu9msRi2q,ƅw[F*ǚC/hQ&ƽw}r5 03&!Wė{U'4&dm& 6D s X@g2|-+ ʪ){na4!XBaj!``<sH$aRX0$cl?Fk*}&[|ԛF\1u ΂ПgQ?Y@c0ߙ5~w܏F YXncWws,|dr,-?.~[Pw}kpf+N㘞,hb*صcgƽ.;;n&YZJ'WN'=E۾xa<MOlgKdp,>`g"\ U(LYOUH?iӿ$yU==&+,_v>]cdvj%kv*?5hrQ,Kz3*ƞ|_0+ L@ J ;=tTǂ"k5uzs KD@Zu?ل٧nCvJNyu??ynޱ\p7O2HNN>=_ gQ0[eI q:cEw96 pw!Cu%sUGlblm6էx7% GL-ī '7٥}Էk@|kX8]r~v85ݥ\52!v}m#e n7S%vTt*>K)4<064( J& !Tr6 Iے 'r%<w{)jjSǭ Ӎ%hn/淠Lnod# Jr KQ=A}<X*4iCjd]˴8ѤE@ (i'J\vb6 9$ Pܦy4`-5{C;%ɶ wE=9A^vi2<;v C 4Pmm;٨gѮ x 9Sx=I}haŎ'ю47hVx9UٳSla8K:mӂE yu{bC+_75ֽhӂ\w.ڑT ĥ9%5" rm\,ۉތN5G؞SboTElVzJ\E"p9Z"[u?d-yFܽ0䘪Eg\_w/AX "ПM1&@,{ dLJBWPt)zklSf?@߹U{*s",ɉy: ^EvWÿ:k~ pq\`ck{yF}\/D=A{gUt_}Iԉ]|O=qc;DbJ6 *Xe)߁Gا"H`~j`zGQ*sRCdz_JK`^3Thu @Blz(5{!@wey}Yk?B&"GtW=i0@IDATz7/vt1Sa)9W0Y2[e '2`C7jSȥ)&[?%e#Ux>դU'0A$tB1u&ĭ Έa|sf>y:zu8s#C_f"%@8\ 1ߴPpNl߹7:<8l'_H,w #^$D}Co4u 9krӟ>_qPigi4G\픦t7Uv.^Լ,̛i5s9>; ((}k^;~ 9eoSF0o(G4-/;b)C֕ĩZE(WЍn=GE`7ělN@MPW "0C6V7Z p`6UKcBsP«`W~cu>s{R쮈B|Ε.zs). ,܍ M{`PBAPq?6)Zq5,~wrlj %=qjh ޴׻e.ƃ GK[>6HH_Qv}#/%f|Ԛj6$qi5'5_4aE,q] vJآpqJ(vHOK.F)O Yw?P|Q2HuOrȇǍCiLlYګ߽T0ߟio>?[}jgTҙbg98pyţ@z/HIFc пqh(>em%'OMÜa WIS!pŝ8ˆЎQECց-~;DjO,4هmʡHN*Y:C7m.d;ɀjG}! E+2ίdL@,Z77eZVN(6~6Y9;Cw9i"Qt4o 0ntSyk빲1[- tV~:XIj(r_lݩgUY#^nVIM6+6`O$vvwHbmDB:kQ><} D#wW'o$mOk]ak={OqGؕ3nI6n}9w#@WnB,U{TcXOSV\~s=tY1P281c\!JXrrq[雲FdbuŽb0-T _z(yh_}Nf޿ ݈d4=|J;/F,ps?`f2Gȍ?í[ÍT*hN Gl9ɵ~e"aUHc# K>X݆DN*¼g/7P>ǪeC#F{/{;bӬ '#c!:C(eioqiJzxZ8=L?ָ1>OfHF3hajb0Mxyu>'܁9{1B^EЪr/l!Ҟ$h oLTQʑI&D;XL5Hx Df!8_Z,[/!~嬈EprY{Eb6CoUa]>vbān72.C_ssOa9k` Ҳ >>(O(t]VL;uN AcPYC^\+'Y 1W=&DR`a'@W,JS@utœ 4'vߟ'K!+8[^TVƝV`G-s}S0*R\9>j$םmԗ(}լUv~\"_(v[o|N]ĭȂ8viF5 dױ{WYe?>b>B;TO]ńO!MF^;NP.g &\vԟȂke웠pBHezGfyo7gbK{qS%]׮@X둝']O It!|5ߟ&rϳ+ UՁn1>&:$}~ ~xY }DK^:c1޾6vwy?k sP~U8.c's OeyD\tP_΍˩?"GI>;B{1fX\ &#`eGKpb"Rv$|.lh2=a_1-[Գ\~[ȩWZ'Q᫅+}ՑB9Jo?l iUG D9;K @ 8?*pKTJ52 0,!`}^[ +ن['nҗ'n5[-kF$.d H?NCYz}<6}~#5\ւot} 2ڕ ,:ce9 o)u<0tطW]UrB3(7Q Y{Υ;D5TiyXH=KR<;rTl<PmӓXد[>]m2Qw_jn)bI!SSk-eՏ}e6|w+Q柄!s 0jkA:[U_8TV_v"tǩJxMr|il?Ouv-<5].tPuoh;ޏpp½M2Ermvo$>Kt~Ds5*բ%"N1}of̎]Q =)Y;ȼ$߉b!(μ}9|_CKxɇ .̧!N3|5S쓕9Z[oXDQӰx7VN X_ӊX=2 0q2a<)//|/f Д6:;'~xghD9@I'Tƽ,B1E}P$4b/%A3xʞOqAEr mG1^cR2'w+nWpH.*zay1N wuX/G`6!Ud&+o7 oKv_'ҷkg,o%OW0e߸} ;l 9QE a67\>c AHB|> CS3Gw ID9"޽Bd}waJ" i/ʝW|PbêD* v]w @S/b>B騦;iwyOBf`L R$"Ws G]"gp ی Lj)Iłv㝲R{a[O=ȵD"& N'NթǛj:U?yvW7|'({iݸΐ̋8$MWĻO@m<yv' uà}sdrX_ >ʚ8 9+d[~oAև,RZBFK%Ҁl]P_)lo壏9eQҢ5„>a%Nʩoa/e~6 1;0露ukvRo%{F\olPf81f3]7"PBrպC/ړ5H.atp3}w~(7ͩFRe.QDeAHWE1w)y%dz =#=A'2&fV˺&hS$љ} =e>SHWzu2²TH7D8gM*.1&m\vyND Fmcg,Wޚ$W(N=T,) tmfR_htֽ6I0@q}N=DK6bKWLp#a=\ b^gԋl[ p$Q$8G{;G &˝IZU]IH;#iTƊ5W|o O~lY7Y?.K4]j5~}^עlFm~&ّZ|ScD Ͽ&&p~oeSiς@̈́S-Nɔr)o?g㪊>"7>G df$D=dT={s.8=i4epbF%G3|n[ G-0q1̼2́W+JE_g{^F?,W(~#tGZ>k~cXK$긧юܿAfWEڻ™LV@,A3wk ]:\A!%Gw?%RI/0."-ZE ~8o#P2~ ~06+;9t⡫M {e=y kIgoS6 w8纮y&cf*SȐ%dy(QB"*""CEeù=}n߳g=$7bEbkI&AC\[ғbjOZC"îݣba6x%|J|%wAB9V(~0Z德J!y|i˹mY_B~g} 'oc_nBOsoۙϢ=?юGJR XΒY7rx0dR%uL& OTac ຋bY^(ә]KɱL!*zKGQ qH֪<:j=_:q!3xѹ"cb gION,O4 :)~L@۞kZ;*L'ks{z4;js&=yd(^|o 5B/n 6:nh3k$VFٗ6VX^M`2ASYj>ʯF^HjY˗*"vªgNtatHޜTdJ᮴Gp"-cݏ0q&$FsVcJ]+w嗞>pۑ{%>Hl=t ji(ݵFxmKWCxE}-Au#i:h8_d|;mRLҍw:{>Ȼ)sQAq "IvlL+IĶ0Rb/-!!$`90紧-yMF!Se(IoXz3DU'1%HA B\] e~IX cPcs$o4#u㽄J1x&F{0"HDu~PPKծhiOX!y_d[KZz O'IJ+-HMR/C8֧0K|k Ze}moٌV$Pr() :Z8aJ16gY"Rܪ^@{s 2ZGQ($ʙwc=;7Iqb]\$AQ 6׸0 Ho&,p1c/J|0 $? [w=1qH%pފc8&`KҾ+Pi9 pJZ~4fvSAy{sg5U{-'Xf)hO&&a)oDoE0u†94}ك3q_f"E*f;3( S#')_kyd ?l~/ϕ#TllrP`4a ̘jVw@>Ηv$"rE%iD6~*>UD5J^uE*g %,) ŶbJq¯^jZ( ^s5c|}S0"i輎oXcvĔ_.]Sٟ40.OὐS|koH^襵gR;ú2HUg:7{X` YLlP [9lmktVy =yמ6h53j _g- &akGo_CTlXn֋-%*qPݘ1_YௗݣTS fp EbY V˽M)j=A}A H9+8'S&n m AWK+u>~8_d cjb#1_uY >Md]O漈׀6ٛvW5Xi7st'?g΃vv׋Z.(X`ETOlycv&OKcٗA\ jR?icٟ|Z n C$h9] ˢht|*Y׸YA83\1 -r~Z;fWog?"|L2ψd«Eٽz,M h AWMNű`.J 3_;\b}2fpXwCa$/]{: 'K ,"0 w3 ;? Q3ul'>a*zp`Ly` Ff`**dj꿒s0-"+P:IT]8- +cU+8x]/*SR0"U2PN}ڽ̼XLX>ķ"$4:Ò 5Ao-&Xi ;b8 ~_vZa8n% h? "U6zdwRw\|/wDiHx!ud}Uc^wz8yo͕| ߃`^|XL9{^ߺI*5; r-5iӊUx9wK}O֮´SuA¸f 8^跺b0y5v1w|]F>ĽGY>~ڟ76]J&puXmBIxw? G|Elzi~?B+MU`RI^FT%Pe%THOG< Ro n]``+l?Ogby´l=ۦONKTg9݌T{K(1hRE.66uMٚZƵ<3`%MgWb1RFAH7h?v\6!yKtR{ݛ`0#{#eU ~|][(V&H3 nĸuQ:pB¤"񍰶G~֦im{U<7je} 6U5%gtsS9|*gt7?v75Y׏Z *` &ytMۅvMUFM$2;)hS3 ˜Y5\g/|e16)ZӜ_c읔NHu>yrn4pTœ 537GE)ʥ_5[~s_M \P*`wufR_`gz6Vg+g7L40q+LLtՕyy=q04.`xcPĴ[h9hԁc! TF*Uvu? =7|36)Zij7MeEÕ"{$^y;Hkob󑝇V$T=^Dlk3/0)eQÌnIhlN'dšMwڣcyKNꔡqIrEkJlj}EƗZqO}:hjvC[tQ[ם'A N*R(L2KѮH" ~91Ss1A;ЙarV؉"5'[GδH>L9fjv}ƹw_V=ȩy 3%aurG]0h]b1T  I\F196!ueٓ#CY]bx# ӊÙ֫jq("̶)QV`}Z(pqŽףlF?!3ddIzO[wf EH[ZM?o7[YSQLrުH^Ib$]sdOm!ȶyk8/F^9֝n[e}nX̕;DXo(ǒ+$,=4~{/]e=+~x"i@Vy<.?/4.yݧp*!Whn"y|M'^ b N '^cp~[ݓ.x/$||BZZ .|R: ,.hJ*-w5TþNp-\ 43ƒ"b!HxZ!D]<6?3",Opn}T\zut73.BL-vY4+}8Lx駳椃g 2矞ై02 薰wy 0hlOiS=4<}!} ,yԓoa_PA.f&m070娱nw8'/|}}t9 :!׸07ް<B%*;]@m-l_r&5mqVd|OQm>D<ŗMf sb }Ϧ.x>'K]̩5H̍3pCWR{{杻#SO?YW1{ۋD$[&ufll$hs$gPw(ezāUY^3>ΆnkWؿ~ΑyjKjLY";ǬеKd{P*uKj8Ⲹū0\+ϲs^ WE }<һdj8G)pӵaa"cvh"cj)m莽(df?=j$j~YNߠEȓ?7mjT/\"jɹZUVZjˢ*q"Wg#\"l4!:PEu+J̯$p!s 9f*w=ף=F$\gGZ,3#O܈ U 8e?yM(/$D8b``n :*l R}1?>~xO4.$|JTLf!JwS ɵ[E!=gQ*N.Q[>ƪn<PD} I7,_bhj]"u)A5UlTsݥ@չlHH-s4v+TAmpXArQ[8/nYy&N\]" Ͻ~ ('W3p|Ղ8Ww(La9?'1N!7ߛoe{'Xu6I.j_=.vQ'dvnOMЄV߲{ig>oXPv37=8숆|"Hh25*U0\/N!dg|΄saqx9bjAɍx|;}\5i?CǴ)6$?!7~wPV p"ֽ/A%kӗyvYww' Gd|W>JD}QI Q"|a<-Dɜ0T䃮70Jt{Aə8 CtyGG76ĸZ9 aVrXqpi\Lh |AN]tD^8K[- ) Y=3BE7X_ Es~%3Zk#olB>cnP@3| d.ns{f<Gw<Gq9ORbEQ|Ӝoa۰=|M@uˡc<熅#@a"Ѯ&x(==_ω^12 ܣ2wCc]{S.z>cm'y/ok;%ePL@  x;e /=WƷ ~SG1WP+{HjIsOoJePwccP^ሽ8(i\׫Ǫ+tq? `w8h ;DcDgI6 `ȯ Fe rp`OBIOgZx)&pAH1V99669<NQ%uՉNM 6ykW:o2Έ:1r>\Nyֱ8*mqO~jAVhX^@IDATZBUylhWJߊ(0Ͽo]& :Gl4 < \G'#V}`G~ycC %9k+ے3|W$Ca+/ 7vcs(VK  .dh,5yRqMU{WQ=Of%^H:u?f *q@lƼ'[w.nVb~3BfqpaE2 @2n!}kr~!u]dkd}//z_d~B{U(B͊IM9z9 N^;crId? !;=Vqv{=u s.`yvo;kQJ3s`ScݼÃnǐ N~\z^V98L6SUPLɤJF;oI-8eqވ/}~cylVS9Y(W_)ڵCдN]͉#j&nn)Q<9h/? N6"'q u_F}?QquނoksjFoXc_A!NG6QxKlYSԶL nm?vOtg gj#r{£sckuEـWs6_49H~:_n2{wqdyM{-q]z2S #2/ 3"dNWa|=q^p^xWZc0`9À{64Rt4<~IeNC\yDtGz FIG`pR m)2Oq%;efGڕT&z;AUk:p7;h|!) é]${WyHUٟ+ s|3ϧ7W/O1a&5"m=+c-ܴHAڗ4|7"1[yeЍw-u6z < C`U#YB߃Ik%h m%AG 'dK _O;yBYô/V {U}vU. Y&&M=mLuUis㰝(cK,[ٶНq|э-g.>?'~~'\,IkV9]]_rAtώU*TA9b WEȳ{gSo{\.$ u>m.Q_:LvRx"H-&^tG[GOAo0c)煮gC:588,r YȉyEƩbU?0}}1LNwMb+#8rc)p[S6>n  MB1 3zMrŠ;=2~ȫLqk60= hptqgn[\leuu#Mb&6D|HM챉~:@<zԅ@aS4pWi/qholk' {?ouZIo~uA3Dn>NbYwgU Ws  CְVV HTVŹ&hˆˬ3Z܍-Ug澃_|Ym ӮJCh,.CgӐba >55i!,d`=,*@ұqG oOP鋔5یYN?z!y<)I`L{%u lR,B3-!_t:#˿r|~r4tS}2_d_ǗeW×6RMJAIoA$ȣ[[Cx16M~%U_ABܪD0}|>902}͞Dj}Sk-7#`/y gBЇ~~/٤0a3w~Y6#> _"vBhwQ"v%Z^Do8f? & ܆{yP=wuKr7s*CT=brYr:lg(iLF@ħEO1L5{@/ƙGRwrGhDW3\QFk GǮhm2 syУey\0W:K-,RƊL?~0-)~>4.q__gCB |,$m`|*=vmuI0'R{3#/.8G/eWn ;CK)X}̷K 7ԣњy+|ȼ6d(~Z=ьU֧˭ xg5jK' V[hR';\||3gwWk'½~GՍKgC/CDy<F|܈'^QK$l[Y{;~y^"|޷ DEs,(SiЇȅ,rHZoC5Ag!vxn#|؞8(AEY#iYvќ|Kϡ/4K*Mmۈx Z*|40`'ŗK8 O8[<Eo|C_& t6b8z3'7 6D /c)^LD08ݞ"DECꦼ};ϋ,E\.ך}Cv!7A67QI_9ǵP|{Of)#UW-@\[`1Cuӊ!GYo?u0kv?G粐Hdπ`X;SQv*ջ 늀x78*ʛH?Z2:wv8gE1\l<֜_ 9f+|=@3}qy:!JLG, iݑ55\eFFz!l}Ss*́kZc 7Gm&p0z ;$W 5!لa\Cfm#窔zWuթ>坣eLBv{Gbڎ1sN!.lV&?Q\UVigdߨP֑Trv̦%9/n݀7~W3!"yvќuJ*1Mrt/ydV4?X@(ƭ>;z xv"kޗCTeyכ|m*0qvyk -br;&)F0,㬒M[n=稪~c3_ͫ'*`i0%A=1s\=?B𦉾+Ba"8VY5&ҁˁ}c" C!v%p*z FRxs\_W: LbA)nZ."s3tRe-2-7]eck{"w>$sf |\FsS˝xXiO7uķoe.9qcL`b"n)}A!ه tE^ }Sy`QMm(4dskz x-}4"޶D<8,BN[O&dYw4-!R0G?ᾲ١4exr`&'DuL5dx^T_T+Su30xswT:APVDFlo.=Nmlp*Q}Ȅ| Ab.uߟpJaFau]Ìwb(`X`Hdc9 iu>_:M-}0B(.*$sr2 el[ Pqә^e4= oCگ~ J"I'\QwGє=` ,g}c#ߟs;\#A,ƿZ@5628g;sY j$b6pݍ_yS?my+,׋NLuKLWJZ}f xkjQUPewr[% :+x+> STF'4IBCTH9ÜFlIR*d=;W?Kr8Cv[|;օ܋y%$$+_բ=s'"ȷAm@o.ISDcqRѤ `]T:Z(B[I40I`o0$po$9 dzd*oHҾrL t77H2]R2էi8Oh4S5u$f25vjڅ-Y#u'Gqt#Y(β9mBH}} L@DIZH0$# ÙLXs7 i/3~-㬲&=YJ:p+?d?mWK^.+D7{x$zmyg<۴w{LJkt})c=H![ ĪeUkaeޥ$~;q W8'N࡙BDr4lD.plF1I=т2ح)" Ē2o"}Uo@_==^o7C<ٕo Qlh7'p|E ϔ=Ttgg*괷fZq\>Di7*K"݃cDlh"[UI<] ORUg>QI.{< Ϲr(K״&x-bs~'խϬCX,)$ L6C){UV´^u/6=7`xonA!N#s2|n7]=(w(rI+T{>?4ο{ ՞ot?NъBpfCzxU+{̭OCGM;+^``,6]6uOZ~xbp,P Dҕ >=CU; 6!VKyf`D֪xڝSiscIхpPtݰ4,¹I_Y1ٸrX:״U`N 2qٶ3@UƓXO, AH!$ <#Aq5$2*FJ3ɐD<)'+B{C̃.Aܳ R'{m7 g ';H\?eUuQ/\fW[FZVDw 1.k*+GKUM1I/AR&nyCSNubU2igx&lEdX@O( e{HoUm֝&S g0/n<{;2F %ad^`2@QK@V ߇ A79V7 X[׮{Bf#esWQ #]H^@Cs# +DyÛ 8'[pRߘ\Q|{%0. fmȣOfx*`OҽSc?D;D}k_E'k0h~ 0 NvUE _ &G#"ƟD*7cXXo^9>FfP]Ŝѐ**Vx{/G;¼Yrӄ^"StM݀ftf!W @U.{& uj /̼8&{>m6icp?/ݟne~|X_m:ϫrpBf] hIgp(L™z}?_3tbFLQ/븏f|3֊wg1x˕9?/6e|ͳ^ΓF$9+cUx~A<0m-6(“7Md~'o$n.xxObY=? v*O {Ϋ^-AHsiSPL1@|?iMd)gSa^C6 )C?scU~NuqCf{xuwj]ȭa.xAFg?h% EƧc፷]̴ wυ7‰0k~'gڥP2ZUSP5erNa4z8p{%ŧ1fI~GDW_oa_jsq~E}Wg}w;/-ƔG6JX9.$g>Ć'5 qER<:dursSsOvjӘG*κ40\f/Rh`tqj"ͮhiH18بwyZnijў' E )@Hl"*@c9Bv I9J&m6`O&}SEl*6&%НnʱGD)4CᠻZ2L„d㧂%Oe=g-,_809=USi!LF)M}k6,k@sp4,P%: iHw(-ϖ۞1tv} /PL#UQaxE^V9뱽.BޢS@<6*aD#)EƘmc;ǯE{C~eK|wGYw|Z^j/pxiE.FJ&2: 9<\\ף`fe1TB GmDH.aEm4mF9fܡDV˜PL| EE87u`]7XY͊9e3ڰ*qno uW_m驫zyg¤ ;oRDZFȷoC;;dڷqqJL68V3AW`k>*, |Cy,_Q6HǢbWCˋGO/~OdXz::F[̜L͍G'3dڃ-ÁVI,Y|*?*]f_ lZi)ox{"8sbs2y-:lg=(-.jG笚HLwg9a~Ы·VFZg1}Yd%)++ϰ45^~/F)_9MEZ!! sacȝNi_}vq;ٯ :qN;_Bgez$R_tIKX!e*F,e2!;arNc8/YrxL7Nbkp^޾Ej.x #l.{ĺgdU$$ʬ Bm.0W E OC;-W 1HSaZoc60<8Xb :GamaַOSva-p )uopvJxPh>p 4DS";Qᇣ{_j1D$ôӖ0;:77u=3$|)W/=e?G0IJiD ]{yh'o&Qd-B 1btpjch_R$h?/y^sʲrqYܧhBDdWQ?#^`Q,gͽfӕ,KEZ- ``(IWhE\IY`"~u/%|FH,#ƾ臵 IS'܉"\547G.??[ѫ vdlմȀh~^cG{0pÉ'>gb+D-zBɂŏau)k--?2'r2aR{O}-OBPAΉ &Ƙ0c, s0Zc-OtfxHڎ>gUˀctx@AՐR0XRaFxW2:FC/|UypxN4n09jhWt_]L I1<@a>!RAȄ;V sR$À^USHDNТz1m!62Kjf_*c337۞qηR1]#=7W8bb \Du 샌 a" ,9b_~48B ~1&ג;p&J[P̷f~68%:H:8n9G~nTK Xok,PnǛGz復Dq*T< {wC9=I,T‰N#g3W U c -/F&qx$@ L}w/yR%JTF sh1L̒K!<`,Q/QT#pMnLk!7ySl$9PY `Sa]QΡ GEbdoɁI?-H}*}vXO ntv?úot`:CliN0$*r-53doQ"1]QF ĢS=z]ʠ/&8kGM6gFZuW5=Xw <ݛ$"+|(H%Cyx_G"Ivz'6{(ʲzv#o*X5N2nl]gIm&cPDGtabpc0%;<鍵B"QS$ǭxilB#-v+\705/_3-yO\ i>dxM-e:-r=M'ern<;_|wm_Bc΃hH3?%?Ӡ#.y>`! -srVg3/17U?Ń+>21IQQ c)19?1IȼqB0슗\/WKoa=/=NlSӞgK8uv;ϯdUB*o+:*n)%o<ͫoJx.Qaq8s<i"3d1gf sE3wHNJN"A *Q@ ((`@DQ JQ@DQAA1sFt0Ξ}owg{z:TWUWUWsqs%K"%Egw85Ѐk@s~xL_M+PPj;t;1*MM,OS&2rAzک/YJ1_䔓XA\Pb$4я1$@:9c%Ij[sSJ7U(r(H30Q0ŀ=jOG=?hFW0K#& NXSr%N$(cS7,i̯'#D㩃r6u(aI${镀U2>KM4|qu1IdT! `,^/hb0ԅuκ.ƐPMx@̜85<( <Ð0ylCV =3^  "J1g\ q#- 1ʹlTWS|Bw0b/BZ <&&R30/a$YUiK`0WENDc{cLA%}Q9b7” UcNǺ@yKv 'N `=* vqa\ٺ9]t݅q?0ק],w/Q"ӶF<}4K2z[7rQ^|ܰX_ˉ[Gqh@.y};hhEri _h6G6oE F o'UN ,MȈM]Pu6nn5QX eAGv5tb2T.~$U<{Ya۔Sn^e|_A5s?l*G?3ަ`7Jizu`sDإUz̷8%:nGy6P9GW˻TaƬHthʍW>jx=ѕs'rzHm-r&kV'kРB0~9ݸ,lwY(W})}M?,8Y<'GmSu-$uSʗ57';M_Ѯ6r㰂Ӄw-J%$UUYrP,KY (w~h2U={CYSG[rrW0B7̤q_QK%_fJ%tF"(JO~3#T/\I~[\t6G=qnra\Ȼ0~w,-hT\څ3ح6Ztu# y?(q?+ 9l/kAY|՘/0GsB^~WEQKjc泰>E -0`T`YBP1-SRm/Ji7t:Es|H.hAtö#?i*|ܕ\ct@3=/_1upwt&)xZɅg)lSP"}Qp. +?+$΄TB!~Q~_5{ߓ+ ++xldB3R֣iixӬ@ !Vh%e iP Hڲ`&_ss$>-wʡ>#jo6™+ﺙ@݄3w- - 7O)wygŸ.QMfOwp1 WNq+[%(4?6DJi/lzk)܂(I)3kJEkaY kf`oc#D=?:zj~@D fo*ŗ48zI{dzJ,]lid̠qIŊ􃯨 LR'9zI8؁@'At%.̓L :QO7s+hv$oƙ?^ƺF'!rSdcېɸ==Uz̕o|(v;/ѼOuԧrjDwmW.1c1O\AN?._B"ym* %hh}IM}MsDž̊vDA[9oN_"_5 v X1vN.Τa B`Bd{)=kDRZ0ϓ8.PKIAB{r;qw|_'"cCIZ{'Ҿ7|ho@d6 QraF$O{,S>:QFm1S.ά 5Na^{.9_| J$%o#\GU!OGo{nI%?^6*ۊzB=$Tæ .E.#(,SZJ}po̥PQ$G;YrWĥv{Hf)5ӘeW9:9``\(, q65zH:qv/; mFhtԿgʙ<~bN5ߴ1\(JS?NOz6ǦŒ/+-PLr{ -}?kB&ش+Sul p:{>^S\f~-fqs1 lC3q'q?)M>?ݶG1G H|N]q<]p%Ut Ng Z @4$x H7CuxgbgPbJ;0u'oWdacA-\< BkĎ#k6zֵ1;H-*0ޣKPf9Ag fgwS~6xn$ԳIO f;^oYO')%<,j?OGKCU)܇iAdQmo li \ t-XM,D784>38D-]cPE+E^cߚkm7R. AvdfWSy[Q7ko֓eV/s/~)G- #I)-_UW+re>Q fT  N,7So'ECӷ0Pø3i3m.'5^O@zKEك/4+"wl#F_Ou~?V)  }JiE>Hkd tfܘޞwB) Ap .8R[Wd2E?N:p;pጣS}'v7+h@2"-FqEI_zkt !lXIR7e|O8Xy ܕAZUoyͧ~m4v|n Πl^z"Y̯1;э9OI\¢Z=QGEZq du-Kz_لnTSA0߹K\mS%~~]$rs;ѻWVX,% =/rM B7 K!6vȔ+2TLLV'N:w{zйy !$liRnhHR?>ޭ^ΈsDZy,pxO70"\3N{jZGmڴg]حqQ[W3HSo9;OK2ܟNԻⱊq gscj;\y4TvY<ŋ箩v1iyIL-eo"ǤM/3z Lf |S '?&|HLYƹIE6fli$sn0Yʮ;ž]wPV5;'ikF~+#/|ެzolʭH;H㙼ga!؏e؜ q$|oY]y底rNҐx_kL՘;!PH!GY.wSSO&>5k"`늧Brb L?<[>n3Ǧ5^ƓF]ޓ!`BE-ϺuR. 4Z9n:_W@FW9<)M\]0r;f;}>}~Xtv=Mǎt:\~_|~#t[Ss Pe_}[;mELW'YʞB&1' Opw#PceG\\,w=/ ^,xD>?}G/o HNȟ8f.d* hNбYχuQ]<1笘OgvE5M@TݘIwZJӑf<&<luw# 6ߢ:d }mp./,$yFq_?H?ͭС /LrءM >x, cI!}50T%ptx>g ;Yf U_N[PϞ:ή{񱒧5~~*;YGd?>1Nۡ𚆑b)I ".`C":UJNbWZ%o>{B00m-qSښj|NxߌF}oGJMfm!}Y,}մ :MO ĐO^srdzߢb'xFs\[V.p,V M6yB,4f,o5zXzOc3"GuպZW0*_hÞC1M:g 4-3ׂsiSGO Cdg^n=beV@}h|op`nGutgwEe<(ן[ه29tCc>%Dwx~V8uX['0dU:$ż'] ͹oow`QԯA\OB͂>zVƵDcx"ߝI. g~_fNMMFёvdYxHF)`OoFlܑ%Cq <ln!j:eVUt!#Gglfcx쬀.^7.1n'D'S5؇@@eq8J:CJqU& z.}oNNav!5A=hg"[Ʉ~,Z?{5ks"Jhr.Ejs8&'(ENҾz$@,\K'JǫwB(CDn-Ph+DOA'0=#>']yIR}cهHNXw׌zD{-+g؃|;½1]ɵ x$?B1H+d#u.X)AMrabﯷuЫOM3N~pT?1ӫލ)GqCWX{xጿ{wgyڮ z7]?\I6~IH\|ѯ C\n--x$ږkq };֩Qgn[KUvMfD wQ<xOzŶ 2xh/(+5d ñRf#B Qiڢh˜d w$340+r3_ZqIhaOM$|_d<1mT% 5e<;DޞuCFE_Cؤ>>mPZB_glQ2ڠ8= =*?h,d'P{C"S݋dI}2 7i|M \z Ǚ/~%F &LPi}mqOA9tZ(7}sz^\SgG C_P]Odb*f'2JZ-NyӔ eX@OZ'*nĎ(s/He|'"c&r6AiLY].۔}UՀc'Z휨h&m6*-/s?-1wܜkeʝML&Ǚʰ:V[Al-H/} @,R]}@M< 8z Ik^'8y5i`Lo _oboDY-ĸer  0n/Ϋ,2)gR8dTd_e®m1KD"- {ቛ).Qȯ[ |tct-'\8x:FJ$ړ>NR~y꿁w"1hT4 `g4\NH?ɞ[IR {{lw;}> ó\d|u-XG3<9nYMlR|`g-}UFWXehdZ^JesV8ȢpVЊM"̟˯}-6.+߁0G2k¡I~z$&ZX[J?q?3,1Ob3R' ׀ ux1<Ε{'#fˢ'|bѐHwgP%=`>_Zb] ʮ^ҭy<;h L,:~3`$2 ߀Q&9s a^©+w'_I; fXJgl؄k1^O_OQz<75؝G9m9Ǣc rpW]Iq[s-eySi:*jvA-pyq?d( (%yn%{7FTt]ƾh/gKL/w8aƖ(C?͖_L'm&Źu DYHF|}nupyѐ%cB{]+şv.9@0 pFTyE)GHt+>ڀ)+'*xza @DCn ݊e?~]Av-M7"gZ!4o_b*@( $8JwJPg3LVF/(/ UG86 Y9 RP(k"Aer \^cRV.J$)R.#Y:t]"dwr[j)#ظѴR8s$ʿ₊msoWzy_n|Mv`/8l3P:? qt Ϩݮ:W_ΰXwIoc儃x]ek&}cصDFUak> FƄ Da.Z|{jN6TweWz:^G|NA0(|D/CƐHsdph7؈wߜP R,1ؤ/Gݟ&o ^4*;M`Q庞 )W#ǿ61q> Z%*zbbޠzj10 . V c#;K߅q,0ÁXGy_8v-ϓ@%YeRHvkM$neh*UC1GNuq")f*{2zȄ 淖1Izc%"1F֟jRNtT9.Dem/c|f}cvo$K*rv w+whP=! &3v5XXAfq?_v"d<GmU, h]VX9PT,|)WQfɅ&O"_^!W?אlj8N^p=x1^C2uڳ\`B9n5Jc:C6rE|p>Ҩ̽e斁!s?qQ0N罇^5j ߮6Ak]-o&,߄Uy, F8c "PW0}z0Ev* ^\F\W0HZ7x#[|iv a/--M}NKGnF ߹ݙw0&p5xsw p$`ɡ# bTf r ?gO/\kBzQ V YwL{c2h?j9w3qtov/@ՒKwF?\J-L*NGmD%d+á6k'љ ;x6-I:~ ͑a,8$@5fL$|(E2غD?9B,xh=+_H%*Bkxi˓2[9Qq0GP>S~? T}Q2Ov&"xv #xR2鴷=}zۏח[vٙF(2c;gB8p=&D( G | o\CRֆCG꒖klGx2{-zDƏ3ºeĝ* Qr+Nܕ#>*2b;{@;Khe4ηc\~ )J}0tؘCaD/ TjGcK^vֲ#_r+2yqO EqV_P[03rNӭR5k1<VO?mK\$kǵ > B#4=xs^r!vd"W p('- ÌrNsU)r%ty!nV]slCȯH"(m>Qc_}ӈ2KgZ|W̿c^?FCtZ2tvχ\S}leb~Hȏ0&e`TJq0OQ*H_˶K Kp{$$!lTV{m^ΘX8;Cc;;juC0z*ꃑ߱NZpo^tIS~϶*X=ĮR!6hl^.W6!omրy%+*H|׫{J mYp[#r2'eOOO ,Xn~H=bSؖ>zm;YHg7R"k r6aP˵G~U=S~vsc*0oԖ1jmx ?SG{v]ʽ}TWU8U|`z;n&[S> Q p(~˹ooQ-@d9ʕWwYQzYi[ًd54_ t4 ʴaMlVPrzoqM~#aL*gA4ӷ)Nk}ئ嵪* tB잩P~yIG2!a`d,.7;|$h5qz^{Z|=9I{arH^eF&NK>d&r(*2cT(? x9LBoo N݋)R^,Gq^x,˒DΑAG=6"6suE3Ӌȶ=A5hS}ɑI0kT[}\qA2k!" JI&&KnGǯ3a~}r^ˣ-]|bNbcY@verYzUt"?&;:9KӖV9)K;{~^`'&O/s`#FZj*UkW~RleҖq=vX:̎^CRkSpVww:VxosʷIx]G.qKyym+0Qh+e\|C煛r^7쀥ox2^z7L?5wt=] x` o~3"Ɂ,y ] ū .ZdZPy㊁2>.{YNi"Bp{Eusxl1p5Tr\sHTޙ5H\"wjpkۮFpĒLrVaB"2J;xE[<< +ڡ4 [qlߗ!`a]cߌjd1tDHU<)E>Ҍ*ũa X<<,.U`?,gKtGW'5; "=z/z/uz=W=wris]*&"p-V^>Q펍8ۇY%eR&gi>v 2yN\1`c-cb4JbdbH@[&ۄq}3#kj$Ee_VF|+|$0J*SB'TXXfD7̵Z㯦}4;5]EUӭp%F#[׶9CQ-W2-2RwZy)%*m%[F xS]{͢LpuDzJs"Ƥ&[W)) =?<28m{HơR[$~}p[Kطo X.k;7(ʦNIXۿB2pw,ݖCX9wz;F`JDj W98b?r>B$m8[ !fMiI~?i'$BSM]3kDU_XkvsY>j";6Xਚ_&3m32E-".ҕ_DbQ SUM8vU \Oԋ'&x+g6 9@3 2FrmgBqiB+RU0ʣ_HuXYH?:2JVE08TvZQ}9!3MQC dxFFMmPwDw'ulu#8h6K0b0đQ&EZ~{y>.Hv psiL~w0&Üÿ'_G~lǀŒo  78ꭌ0EL=~lP_j?w/`Hk#]*OWNa*ן3؏]N^yu0&v=>lMȢPѠzK+Z.OLF #p %3/!ު-w-Zbz03+w(dsJq[B iW>b͗94JEr{(xYT0(Ng% Ѱ."})\GˍN)ei)cc-^R*#7^QxdN8,z@=9+KznEώ)NM'To0Shf?ze cUV?"IIK[6?VɃ|~K6—#FY$3RA~V\tHQIHUlenͪ/T!M_i,?UYLKqH,q|sQHV :!eX2J8 YiogTHtPa:es{/]2"k$g]sq6'ɵr#D% S7Vo-@6\}.N$G&CtB(w$Q4-;*n~jщ,p̐1:KlcNiAtIh -vdM%gF!ý=ҍpk~RAJlc5#}d!a#&>ŁCS/U_)zwhИi|ܥra"6ķԣ-PP]Z]x<;x]YY;)Oc駄% QQ2 @B43 ,1=&O߁~j!Q.ed;&ʍ^}GʒU3缟Ο6ߺ\+z4fCQ0ßIh ϰ!<_%-[٦ŵWI8p6 vJnp C(wsAIB+ɛ\d%S)v"Xv&GOНZFBswf; B3~K WWҥ>P2 |s)i-RU=TTj~VIB'Υ 'Ok0g+NN0Z̯A}(6sGѴcN ;q _fv$|v.amޮ~pdwEO4'3FN>߂@qa+ב!٘z[٥/gcwI5;q8,l Na)c<=?x1Z6<q'7M㠴 iu2+뒑܌T镂+S0,FE-bET6A,yK-M˘SH G%?ɸ4 E <>u=L2?\I!x0.Cy݋jQ c1w/ eNKk- *N۲i5Fצ~Mj6~#F6Vϥ]tx8UbN\$|IWSlēyaZp+Ox+g9# DOk-̿.Q$\Ŧ "i9YqYs7&aaSNM? H;0.q(Chby%5ѩ{ Ꜯ9CX WSaUMme֘76>W~p'%=r~q['K$82Zgw b,[9 !lˆ\rH·ppMu$VRdNGc|}?+*uwh-ρgD:ENvYӢ}jq qs(`G`abG+A#8TSi`Jwnϕc9D>O5O+ZXS3e7 FDF'[L.]#v}с@[56ǯMR*!(O>O>N},'a(-#]GFήg'yq>)7D϶'Us.J"t&եrrze=`^`%d0Eu։>r9P<6Ҩ,3_B]#**όSAU797Ą*. YXюh`_Z t*GSfӟ+ͺȨ A)WԵi!yIODkkuJ;D; 8TkV}qxMî]LFpI|ʩ͢姚3o5=\=`"y&Oސ^ )c{@$'RTr'3MC|2d.-;RwE.Ŭ_:9oٞSZVWgܠTʕXw4T.K*,ܪq9ܸ(Qc_퍞O  hT>Z%Hè~^24Bg<E( xl`YV/}|lw@F" ZEBÕWW6six~P\#"+0a3kzzIM9ܫAz=2T,0PI]kq=5-5~&"|'ͅha@2l2+=ǒ &''6'sltd!ْoa% AtFNXV"GO@DW ` #iÇՅaPJe0Cux@ mK\A`aA|4ВR1FBsn_{,Iӑ:_|ZFٰ¨~줌dgoaSՊìW v)&BRQWG؈d -42 G&f6ܹ/9a$T2Ig8ơRԷGd:Vnp$] eJQ8SJjg9 Gz_ {vuJ'pkߛ?OO9y;tڍ]bz)۟;aJ[1\;TksI5_+)<\2Oͪ} .l"e6PW`-1FuaTR ,}Jp߀6HF#J}(~dGc,6d0=vjs$)N=,eE${Zq5HGkp+_*_g;98֨ y'/Ntiú!u5﩮0(!˨ȨHiWcE/dNE~'$)IV|N 5K#iS> -Y'E4{w"9ITD@" H0D@1cybL` PPQI s#܆۝_3;uf:UWWWWW]኏ֻ;(72ViE{͉4Uڑˏ *1]̽K[~O'k/k6Bh!&Dm{&zMG/<{9Z*?:Y8 C0;r{ӭJvS[*s6گR2P;6T&vmbgDzd*Nc^0ox.L$d#6.ɖf΄cJpN{Ckem[cjTU+@UeW/ E#n~ykYپ4(T7bfhkN'vwhwkgzV ~4<,\3|]2 -sˇć* l2O%yZHBmjkW9FmߗV͂ZV3U[>Ei˞)cp*O`ڔwvy}2WZp~WJ>y3ßP&b³._pHɈY6&ⴧܿN!MXMilcb<ɽD tu w̻V _qW2~2鰶J}SZAZi-a*t˥0/Mliz5sδvntbj] F37Wq2V'"MƱ謝zʵWeU~Yi&_<NkfiH ҉>4xG4oB7M;i␿sM2D9@hηF7cĽn/PfU6UN{vlSw:\>oE2̻$}A`O6=:`Mm8l5LX#"mʌHboy˺tU>x fNqmjf3'\ec tz*bmj O+,CleyL7 SR<ݮR}ys|4eDZOwyȇxNg3F4@i.y5BF'Qpc̱<̪FCxS O{6WUs(]iv##c~Ң]]ה%vZz[iu5ʬvc5b:'`Re@+3aTg@-L+ OVLzЈ:lS%9U:{UeaQ:ߠXDDIqڣȹ;S뿠SΟZmJ#UWP^7liN5飦;qP}Of/TNgpzsZͽ\)P*B.s颐+8svj2Ly~ b;.\X;N s[K.m*_S 6pW&-|ߔ'_ ^Nu6DZH,:XU P߉P w|Ŝ5xU8a>hPk7?yCUVpYu؏8ڠ?}2N :況 3đ \ҋ:NP{K9_y]1 U$w|Ok~&f~Ec3XJǿF}5瑴_= f__ViR{IbiUn̖̎gOQ~* ^J .OboN~^۽0=}u$|Vy2;YP\N^ᰂb']fSƓ7Llo)<UvH7*2F3iLz~Wq傫֓Z]ѷebAm)ʚ<۱;7$r5a $JjMDݦ2*aP-if_QeֽB{]Bgzzr"}8|țBb*eQ+MJeէToWYtl\ph! 9\3dp`gc*ZS $ ),-#;nneXܧuK~jCŪ,}4膋U櫷hY!nky(G>ӑ{Z9 #"wDhw![b^l7WٸxڍԓO.S|nƥrNUV%b_t{,un ti5jx{FrZ*ɉx[JMPn |3_EQ/3ަ~z b=\\xWR5:rWW}z`N7T9N̕5c' B7{4@$^L6v*YO8ıJfؼ k(o~Q3]!/EaYz1PO.Ϻ$kv riMFoPr^u9G5rOv/3tЊ;Chw;hu2EZ}QH}D=8:SlD m|Q닃"2q{YJ ])c5QM t3(L7Rk)2F_g S2|q4S?i/]¹ݒKnR419v@i.ߜ%| R/{!n?MC7Ez zW.>/7Sͧ^L"C[e!uɳp8Jݹ{cx{C1'UdG]񴍟|=k ュTpy 5"9&sal;׿qq 9՘5%CLIҎ/Nx܆3V^v8x|J+gO*.#(?I̔˹O"ohY'>Y0},,_̣ڳ݇7B"xm~ H\NDo5lwp>k<=z"e8:"Knks-xϬ o-øZ|Ht~d{dޑއW[]"u֞TW%h6:MY8E`ݏ~6H gvPc͢yTƠ**W_Eu#J'G#!.ʽzȸzs 7\ lVi"Xڪ9 °h\|#GN6r㣨Ͷ=LΙHً1i/`xtݿDTgwd҅v1>q"V'dʁo97mM"v{ePG/wXE! <5B?dyT/*Vч Q#Ⱦ0 Ar̜*RL9* 2YWTCN֪@Q<^765` 3ۼlC,esnȉY_(m}~\ާp>Cy)tM__JVJ 87̵/+&K7O/+A,J"| qVe(1"$A3X ߺ W-J:rZ-K\a{BT}s)ZGLנ-ry@tF$v%=F(}CW#H0PڠyA>!/K)eᵃ/:EewOW<켃$`vgl[F2.6 *k;!'+Eeude-?CB4g_hS'{(]JAyVlm̶Ry_^e~<+~ǀVN!whG]f?)#qɘF8֤lk~\Z8gיzHeH{?`1K,@`-Jg0V速Bm> <7~Ύ+x0ZҔv'-*45<^|>x*-擃92^|%Ԣ9_[pprz[wI~ 73lɢ <6\nkdrp]l6-J4Q3`e7`3mYx~ŷ߮Aa14~A ՛s^C tLDbV0GOGf]A@y{{; zWSTHߡC7,D we}]E g۪^='tHޓ`)w43~qA7KJᛦ +H'Vs ݛ}J&%`yh*c#}= YXºni+,ت<yiA=TZR{$[?jW_Zl:u[Dw!Q1H4l?ĞUie d@O?)F^=G*Mtv*5FkXM?K!37^ tYdkL;DpBݐ޼Izi=ҧv[tYUt2A ?A{~-f;pΗk8QSJ)#ҋZ5AG?%p%֙D?$OwiO?( 7!2/1.>q }6PF*i z5k7 Qr'$?|^i'+Ʃ۴[uuf \%Q\;35_ nIOP뮫I0ڡ4M >qG$l B6xO$"H4a1쑼'y/w謎3NV^r<1w}[:fxV%TzU2 H/>&d>\O򉈞ۑbuc :vRAs=Ve~U9!Ȗo䉟.Ⱥ[xE*gn4C7?dk0*mS"/T#3\SYr`VBPsx `$v{dȝ蠋A#*!_p.eW[ܣe Ϋ*+vAS@ЇT:u?bjz}f:t>q)ϭ+X4% z/ZUd^]2_S^F[B'`b\RD9҇cϋQ]X1$G`>n4I~s5JA !&>utiBEo|J&.)KxQ &oNޛ\TtL |rWʭz7?9};kJeM'S l!N;77^b{= >]۱(=x1N!dI3Ujj5ލX̓*'eUXnQ^㊥?4(,UʳchRp8>,񮌟̉nݼ*Ysm=׾.k92R~wc l̦dn_scۇ,֔X5y.<07-[k[#eAMK.6n|:ߧTbp?zȇ.~%3Z >>x[{>P%ͱ1tnv zvPۖ}*2*襘`,dWm #$j]B_dDZ_>ky ;4=3C%YXl9QW0um2tKj9US]axQ{6Q̜dNnL`~H} zʹ&iT`a=75jC De0\QZ૴`Ovu$;L2ɺ\<84p?|sG9omJdZ^g;oΛ;*ο?N ?6|1v-vbg-$F\)b̨?1Ky#>]6HߕwvA^oH/*E<9F%iv*oƽʼn/|i2G=ݍ6O߬Rz=q֓mֶ{gR2&cCZE/Ѷ'~yMO/IߴϞ _1zgh$pnǻBԚﴆ/s/?o%əRMA#ѤS'%T`64*L;]9ij[;ksABU?ԯϾi+ ib|䑣ה.}yܭ3 nH3zx0U 89 PBz/fD9}۳2*--R a|3i)ZEӃKcȹZΝV_L1IC!5^9X+pM?Cd;w*3oS_t{=5o >J*_5Yo\mr3X"G }׫eԃI (;REDU?-9!``.>vC0^L|rqkbm nZs >X ?FNpcsq9m6(socpwH a!\OA d_ég |M ANo_$XxӂxS%Qh+i\4Y?Sw^)UK5Vy!yHNn\?P; "D/_8~Hd63Ak qA?c>vJ tY/l \VjY|,gӋ_g|lveBUg3ij(tQ}.jq|9Z=kh[8 N+xbf v+s&fJ?lNQ&vNwVu淟Vz"”M#rMžoJpש^:ȧWJ̝ 4CW}.|Nr81uX[UiwhU0T º?}W"^w9AɑDٺz'[WBb5v(VEG?sBxќ/g"DpN(UIjuZ'{eu%r@"Wޔ tM_ho=hm9_i/ ک5k@u؎MP%Eӫ<3Qcv3}7REEg~/M4E, $f®;$i˧NGzh zH|Ă;ѹ4S%Q&hIdmY&d˿$-SH?˲ 8&Oik(-RكO)WlTv]3J~(RzUC)hn&]E \ew @#E {~ZkY3"NQzש4m>`_M}[ܫؐO#rDvM6CE7nbb+UQ M5ڈs>s[9㚿0I @ 0͍E([nDvwbV5Vw"1 jHyR .l1&ҋ8(cG;JdmR7ϊ2[9q$->>xiEb&(hHxGKmJ|W_Hp)#tnJx/\ )8 /zB}D\D[`TgJHVx0?mԕkSs6$%|E%U<*; 58>YX^p&9(TpiZ;cxg7NGٽWoSt+ǿt4D!ʂs'2FduV@lD`5{i΀2 u<" {9)Urs4XaO0N=7[ee_]Mu^3n:O~cn?_C:iLC/s]x9@ѝZ=E=㉖^{ΉH 2a+{߷*e鲦(,--ClsgYz@:7+Dd T[ XF+#El|G+蘔?w}qL-a݌wC﫲ԫaK, {(ϖ+6vHWja/=xmsYW̔d`_Dk9zBf8e8Pg{ZLBo_x493f;wm)UYӦ]l`7WkfulљeYJ̔n_ފ1Wϑ߬OM"DrA24s=<č9oK'c:@ocLuj uztvipZ/0;z8W[u& S/>q!suWfg0>t\G-dZu1o!MOOB|`u\ ʘ.gzf{j܋It^fDH&β ,Ig]%^!GXI,wb ݘ)9=,Vdb6t/O9OD,sJMX*ܜ| Qɕ<&rm6{!Q_NcnzW ӭw-UwP{ٹ\79hwS0 2~2ɤ+9gY8 '/yelb{ʣ)*(*_3%&MNv>UBS穊_3T(v0,Ey&>J|_xr)<5Sg/x姽Ank[}u3/?y䀓3a_qQ?-$V/e҇G;ھu{PŸ>wSEb|N`[DST9-^?H|/ͤ+w@9&{_E'*:zqr|*#*d|TyUp1\3KWoS8)U'QUvHB,^$orr {{OcAwwȭeez8f"-rS_U'9kP)BΎg!Q`JI]~x⊊G!rvhN)&"{Rn}xY]bn),_;Q Cy/NFK?g:(krj0>/f]5**?փy|oP쯿f":W1{MrDgqe٩w9xVr%d+sj!'^f;z!}F#B6 C|8 ֚a滐5>Ǿ0A8cFa6 /H%t qg㍾Hqޱ]@iRʱܬ/sAk̙YI?;ks ׵KYZ[#g~z%(+ thFQ,G\7 7y# we)z <}MdWV^r]&QjM\IlUbB|;-GN.`r]\7 )+3/ C͙""Z%r wY}U"\%́2Mϖƹy]_DytQVYM%MλIEÛrݨUjy/r5ͻs̋WdXk4v϶<ϴ%7pzc?&:ba KUҭ'֗bN*aoW8nNJeF;&zD(d8qVPV#DF {?ٛr8'GQ~ޓ{ZOġ=}h"(غ=zݣ̚)?}"?zPv,Y`"=Jz=߼ Mj r-P4ҷgh3Q doRܜ˩Lz?}^oUfhaE\//|i֚SkVTBh1(cJ]핹_UUV}7pb@?.`66HO=[QtD˜BK+5ΆkF-Rԭyۅʄu(u46xdq$rQaJNL;h-")g 1{!3ATA8]~=LךKE;0Z;Q/ Cu5~^cjXZ/ "W}lk5lȁIjh&*&Dlʜݷ8@o7^0Vr.LNR rN)DZ#f#)}oY8eW)n*$~g?w{i1LQbrTo}X9jetRk9,:dFMҁu!|7=M&*,v걯p㠜E9$鬒LT֍r|/%٪~!o=S+^pZ['!rEr,|޼018IV6c(rʦ@#cp@vRcԗX3T\qvvBn_Iv!ccb^,OJk`G=i]4ݗn=[I.^Ms~wRtVrL7 ca)2pW iR_"e7В-,\#Uvy,𤋮b?Si9_Uz{2k%`J;幏֬_n|FhneIl\mGz( G+˵,^t["K#T _[+9R7Ճ߀ I I'ߠb/5uhoL3v&Ə{U+_ߟ3l;Y:^$a- =Krtfr[/\O8}jOzSm8]CUU~Zߘ'nlZ6fҽȏYSG{}t=ZvcvSHu`~P5 .)n^Gaʗm#n]fnЇjE7S?G[ش%MBg9[Wg[`6ltul4>Y؟Q-6US_YiF )ss&szǜ\Zɫ)$?Sŝ2c~hvI-^~cX?[Xo$OqhXH 6$ZtBՀn :&]I;x Ic*I cACzzA ŷChlՂʙX2WQ2b.ՄVy|p OϴJ}dwVrAx ;2UF/ĥ˻wGkY)AHG9ЦiѢ*Tʶ(^=+CD tinw 跨$BXsʡ%~BFOe_AN@^'c^n^rmD^NH8O9';5PUS]9y3(Ŷ{:9WǛ帛L5V;.5?DrRWvp]u¸̭|8ԽNGTtI ~4&z,:WAr쏓tAv%|"qOQL~h.ZbLh/xytɛ?JԺ wr:x4G5|̰Zs ,8D2 % COB/rCZX8 5:ѥ;+iǽn!U~ uge3v ܵBf|T0 . @kzw|(m 5eUn?XKC~ & +CNGGuÞN#ɚ?Vպ0 Z]oy{+q:pzZ ae\|ơӍf,WΩcLijIVw<>]i\7Ë4Gyg!Z}shJ E_}yb($=1H CUUu>,`j]cHbcs gv 㼹niMU2/x,yAש j`C4|wMh)i9lo@ӈH5o*Y{g \*FIj @ .`+Ses&0''aMNpZ*g_~FWHTNSjwU$QKI,0dB@XO7}} Lm9MM#Ԧ*'R|+ǫ!O䝄 B qrĠNMH3^&CT27žF `-<&{X)æ4tk+UŜx^%[$Ztios7*=@KUrS+Zq SXj W QwE'GeTuW7h*U,V?z6LYty3(vJ!3>g6*32cd*u$fѳOR<\%0Zj !sJR0;b?#ĽDb&QVvy׭uM"l~}3xz6[ 9pf(޻PIwmп>.Kx"'ތDx,T&hQy- -'x:SdJDuN1eڷ~Lt s+_:?퇤z˖A19*LDkkD*RgarN90ۘAO)0Rv.l wZ8L{]B.;PXm8O4:RdFhGUUF進| ]I;:09s8X2>绀Vuu.&YB_CyZ mGEwK\%%_rƍ儮sUC/0T@M:3zi;ܼBY-k{/g0(vDxvD"KϘG9:MT;Vb%.݈N~X%UD 7i$)G*>yAW`&|Y <#Sa""m563`}M 8΁~"! wD[AJg0$b*ɍ82pe>;K|ϱ޶wEbM 1!zhgH0iI|V{.L'*Kw|[=Շ,bDTb/1jHGp85e/k]K"!b_2#DcֽIa?海HC$JELKr_95"e}ڜW/Zx9T=uL.{<*'_n{Zs7دB#^vt6)xz#\]ᘈiB)d< }ORq'J}c@h4Q+Wkm0< [UK}$jm\ Q!l0)i.ǣ ZGR3z{Tbm֤3b¾ 1>wʾDCVȹK H_47~D{_'}ę7HEc|oAz&Y<Ɖ _?FI ۩RoV!ؠZ0o>t k8Qtr!|M*R\|`EN6$ʹkmӇ/vCW,f"vkp{9S.}~U :–jOɸ,QųkMz}!w|D=N Y>!9Kod XL{њrː Ѫ\vyݎ~E$ճbhCL'гǙ趠R)S`@>*Khw ߘb]ɪ z7^_JBO1@t&Q3YL֨_]Y"}4 K֥Yɷo'RbeO?;tm!kgB)g0)BIHg2uf=SҾn2p<%'bSDo׻wpRØ˹D@0Vt5鋯„ss/XbDfЉ)5܂_s(rnI&Wd*+$/<N9' .y=hQ--qh9g"N)#8v>`mN\{av˥~)g)q :K"De'~FM̭**R+`H=j7Q9([߳wy&|Jwl`oڋoʿ?1byε#K }K$0=yo ;Y OL9X/ {u:+@7)/ࠬŻD+~qV+`%.꩸ur"/=IhD2]G ϤIi0#q&4aVGO"Sxjy tuv n7l7ʹgT27ð_|t}U?{ՙ(>ϴ{Џ#S[T۾zO) #m=o$'?Vl~;tX {$tJd: (,Ծ>C*n?m"_F@IkPP5h=0A?caHХUd\h_АL>~"tqzyrVA/โ#o-eS_Sϡ Um6--7˃5+Qꢊ. TjP 7퉂*W.敻KU9O/D3NeqrgޔuWeO_ MWӫVۨԨM#Q.O=v$$ Ko!)*L4aTø,[HswTߍK!o{|_!'Ҿ.|e][KaTiL}~ȁ^ u;~ 7SS3FOş9cxCKbxڐZɱXȿ5Nf^ | 9e(^l_# R}`kFZ5ÃEb3"JFBuϒxu*LAb`i i̽XoϨo2$uThOUVՋ!og3A{">t|O<4e}8 kS ^a vr$)~ȦL&^ )SN[AܯjiwXEinOn:LyAa|%K,!šH_s" _egS?sν=cYSJ֒PT7"dɚ")S(Q %Y$bȒ1e̳{3cw^3{)dMFU7ut;(z7;uFiyKY8/y*P#YOx""^'eC3`Z!Duz|? W3 _~P99}\v?R:ƕoaYqISݺJ eO[{N 7p [#5|B6Ю_U|bo/ү @}y08>~Q酎̓'Rh<\>Qθ]Sg\Q.팺YD+V2_q{@3N= a+>!ŗ4,hAf$dkLՄm'yx̾X(Wiպ1ҵDb3C~'"j: iaTlSjHIxoz"?g+&M'/Í鋿ЌdQ{_yr-s<J Wuc$v.%.Śe0 PxG2޲d=q=|bW>sJ}_,cXb.<цbߡ): \(-C^AaHk6%Uak5#yC9k{&[4. ٠M]ruYžYdcwF+e4I;_C=4d07&t*ՑWW^m/Ę^/'Oll%um2-{yWc|@^!bt K6 C=lE6iQ,a߸2^2f~7WYzBhy ,pZS?[}Ƴs?ܦ;b ;X >X9yةJjm`'")W_Χd۽s!ٿ#$\(r 7u{h%T< #FZ NY+A7 i)DhqFDmc6?S劯Dq'}7wY,En䉟)~$/ C~m~229l$.U*6' \6C&њ#}kN?&9Ùra!R\r:RF6hIX|B gE0"LT©0.^;fD`CÅRE}QɆS< 2iUF1NUi2$kxQW7'[vh%R]s54A:ǭ)(P7ŨG2 TKK2? 9I@(`s!S<+SN WfьџT)%oUs?>M%$_?Xc"ҚO9Cd sD]S!dn5#khI5ߤB6g:BX$JE kS]7fPo":xV+Nu` *y4z:\$JWM- ; h4o`' odj$Y o5ϑ_Lj2bzwM ׻Rzn"9yѕ ,L@{D/+JDuNUhcV[]3N:L!oLlld*O'?Blg^v|3=IMHQgࡣbOru9Ð5;E|LD;ϵ1zokD W:`)>>w[C: L>*6S''W_5}.庣O|G Ua- ǧޭX$}-__|~e-ZJ`KK]$ƥry+TeuFLk&6U|-~~PېH5` zrIFw |j'6F_e #SU@V9$rP=;s.Z [Njh5>BE{#$k5&"I.ޒ6%WVԗe tҕyb]}%Yy"w51 %h*p=ɿ>4kлp{-V=,c7Ύn^oY{_5Q%3o}9#\~07<u v?Dw=o}u/1D_؃ ״zʍ=")o?EHsӐ}BX2h3 "uJ[&I~"u#ZKE=@I4fYuOI~߮T+l]d%yأ]7'r`/Y+/Sߝ9H-1_DRR^Pn ZTO>xs`&~5E?xWC"m⦆*neJ.Q :MtN.gMҾ  iIL" `v3R7\`}CtK9JT9.LDȃ$\GAn.UE*^a}Oȧ>]ՙAl4^WEO"wY_Ud#?zn1\ I!*QM.(S4B vznSfZw'߮vPE]c'RX5 !aj~+AӌbyWe*=zrzWx:K.} n 7`=p~XwvG(,L=u-,O{ e`\R#Aȏ S^([FGozJA[݌c4dh [|ɁσlJ|?sKfpb}"+ydfLɨ1Z =#=-Cd+{(Ydӈ`!Clk6iх -*^-m{@PK@CD/~ŧG֛[[*|[=!\PtpUW.i:o2}$HaƩgf~ὬWϘ]=HW߾̏-- `}/m~mGxu# -ɮ|i>%NdV:YVy 8I p.K>tW^deO΂n ͈.Ytl!c{onQ|j|CV~i[>Q[XB`=Dv0U S>m/PK8^q1Vvg9:ILC++)VT.zM6g۵hLؕ{'LKȂm3晝7"?)*$CSY;]8=]'j{;=LjrIՃ 3ĕl n )/שf>}kk00 ~yma [M^-{ oу}ݖy\I_`ȆO.zMCDI3~&@:<9aCLUTXeR_Y˓"3dl>A$,ϩs8*>;OY.թBӗ꤈3 cEbND{93Е*P\b,Ⱦ.[T ;dua}?>_@®rByKi'6_$=m>FM<9Aד>kZ}689Mۺv%+_LaǾCFlhV?&,@rx W`g-{of2P/>? <^HۡԶRu}+FYb[wu+[4jie)P믯N+~ZN??_˫sW#YW|\o ?moB4-TQ%AW dZwJ97 ?`P{ןIYN3& 3UZA14.ќNx'I܀xWyn&) .rK-yzc1O9̹ibYCOzVO2{ʿǝU*9͈Sv`iU DJiTU"|XHֹm7EBz0W`;*Ԟ^<ÿP w>$~qW:۹S8+7Ya]'t/鏛;@?` 87V5` g.&7\?QU".}\08&b TseDC]]O*2kٿhg_`~ovK Mr-uK-cv_bH}h{r`?FW3fjou<->8!Vff܊Ra8⾈ڄ:@"C#ՆeTm|bXzl=B !p.ى4G#֣a`P_e"!&RΞr ,9應7 18^B:٨%zH(4(mkNue=H:TgKR7 C=gqnJBT+Vtܖu] bo~EfW)!/ll Bj D\'7}ٹ32vVg5LnB]̓WrqO<*־;:\$rm쫵\uuZ=6'/͊9ypEHqYJH5KW h}WқS/qDQk#8Y2_>n4R8&:/xҍd}4Z3J.9 ] cFyP{I¹usx5 m b\ )qxbdj:C }Ӂ;8>Ds*MQ##:cC~8"?-9BE\C]Y{gPW"xƱn7,N?:]Y^&J>!їg1T I`J.N,wk(mc>cҏfp1ɧ튳dV7?vI7ʺe3|:C+|o^h gF;Hq,wH# $TV;hoAf>Xc佟\i44kh;=֡Q0.Ղ 94[C"ݹxMs8i/e?E2GD[2W ~Obߞ"[Rb%ΰ$}p](46!_0;pnδAE\C*.엃MLm!ROٛS|^oNU4 l0tO&bH8u6~^YmbkG==̛qBʹ?-oW]K˱#^ FբO@3ι m⳥*fPz C9%2-k=ŷ|g˚͗59hL3f -Y V?4l)GۃyU+_0+pmXvW+0.]:1QQeu}CrSsB֫%Pճ{~-^ %p06}ߺ< G{!^yCKԈ~:*Ӭ2!5"78I7Sbaв܄XXkXc}Q{/{>w=K#"ykD;56%0TYJldE<|{`U!x/j).3k!; >3έDKqCc!;j:E(^Po+yf:hYLCn~2e4"o'INoyZdL-h(#b[hpM>7sowX񔧽8" !v%Jʝ@gg-Ȝ!O?>56ںԏj@D7hB)&+۽d|Ľ^(U/X(3wAy! jg?Xh': alY`Czzl`yVP'$8X.c*s峪2Pn9ya ؉Kk_>j>Ғp?$F\nyJ+ٮ/|Ey0YYdmqTYfG4W7{0Ugz}z .ϸP5/˙(|] a9MwJqU* /yHU{W84Z'|sr1e{la>lrV/(Fm i"4&|*pڿ8zCU?z'c3<I,̧ rÆ#rY6{cQOS ;D~',>;09mP (U=w2xZ!S[Tl&rG5|bkaw1utba'ϛ(F&Ư)#x((×V39KN *z  }G-xruT%?*w~ X&Yda^sͯPx;}_u-!є%BE0/-B80Q1۽=6*5~ x~d]l h:~uާ .nQl  ;cr^%.P8=0_r`z<BdzXט'RoOeva 0DB`/`'>b/7^7fNbC #+Ǝ`d&g xr\\s "z5eCn|mQ~*2g,Ϊ,(``*^-VB88Yogӣ*rYz3B&:!Tc3`r%+Ӕ@!=Ku@͛zsuZ>O $.]H {R#KDZ]do/(G#8㜶;jxy):Cn(V;C6yp 1/zut{Dg;~8w7Z%XOQES.I=ohEhB( b)qgjAG!6?\M\=~J+ }̓9xU2pvX)M }DD\ON<6E"$]i|_Fuf;hD 4jyЏV>j&OETO7U$QQlȎZL96399<ܔWm52aP+Lꈹ> O|aob:-R42ۙ)N|70$oq61k G˙s8앣 )̏W*'(d-_xo39ҩ͈JyOSj=t#)0"ܗ"{h}PVwT6s<|Q?"EpuE{M؟27)IDATGjh0ŭ6V$8n9NUBP˅tr=B/4'}X|Ma8)0M3ݕM$PNw@K;N , DŽpLQҿ=,;D{y#rOUHfr`%^*tfg XV8:]nwc]Vc0|U3Pf'O}{$:g]{}1!DduNFqLF9QNk.2/#v3Zsg\3NSm:z+рP.f#68!2_G\.e%qO O>HFe>i`_̩bq`]lhmU8n4ڎTgY@o1ap#jf;5cM^z|r~> "ڪVIGvx-LQ)ͩSțJ YTGx-]˜~?a7{'",-ް fo#ta1&O+&!5zslR뱟 g࿻̥kfZeƹ>?3W{gƳڽF @gUm"-ZaKN~Ǘ?*`|tW kNs}:ΜmzJ>42J۱hdrsgPW{IB(KjG'8O^ikIENDB`reprex/man/figures/lifecycle-soft-deprecated.svg0000644000176200001440000000246614403224513021533 0ustar liggesusers lifecycle: soft-deprecated lifecycle soft-deprecated reprex/man/figures/lifecycle-maturing.svg0000644000176200001440000000243014403224513020277 0ustar liggesusers lifecycle: maturing lifecycle maturing reprex/man/reprex_document.Rd0000644000176200001440000001203414642100635016025 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/reprex_document.R \name{reprex_document} \alias{reprex_document} \title{reprex output format} \usage{ reprex_document( venue = c("gh", "r", "rtf", "html", "slack", "so", "ds"), advertise = NULL, session_info = opt(FALSE), style = opt(FALSE), comment = opt("#>"), tidyverse_quiet = opt(TRUE), std_out_err = opt(FALSE), pandoc_args = NULL ) } \arguments{ \item{venue}{Character. Must be one of the following (case insensitive): \itemize{ \item "gh" for \href{https://github.github.com/gfm/}{GitHub-Flavored Markdown}, the default \item "r" for a runnable R script, with commented output interleaved. Also useful for \href{https://slack.com/intl/en-ca/slack-tips/share-code-snippets}{Slack code snippets}; select "R" from the "Type" drop-down menu to enjoy nice syntax highlighting. \item "rtf" for \href{https://en.wikipedia.org/wiki/Rich_Text_Format}{Rich Text Format} (not supported for un-reprexing) \item "html" for an HTML fragment suitable for inclusion in a larger HTML document (not supported for un-reprexing) \item "slack" for pasting into a Slack message. Optimized for people who opt out of Slack's WYSIWYG interface. Go to \strong{Preferences > Advanced > Input options} and select "Format messages with markup". (If there is demand for a second Slack venue optimized for use with WYSIWYG, please open an issue to discuss.) \item "so" for \href{https://stackoverflow.com/editing-help#syntax-highlighting}{Stack Overflow Markdown}. Note: this is just an alias for "gh", since Stack Overflow started to support CommonMark-style fenced code blocks in January 2019. \item "ds" for Discourse, e.g., \href{https://forum.posit.co/}{forum.posit.co}. Note: this is currently just an alias for "gh". }} \item{advertise}{Logical. Whether to include a footer that describes when and how the reprex was created. If unspecified, the option \code{reprex.advertise} is consulted and, if that is not defined, default is \code{TRUE} for venues \code{"gh"}, \code{"html"}, \code{"so"}, \code{"ds"} and \code{FALSE} for \code{"r"}, \code{"rtf"}, \code{"slack"}.} \item{session_info}{Logical. Whether to include \code{\link[sessioninfo:session_info]{sessioninfo::session_info()}}, if available, or \code{\link[=sessionInfo]{sessionInfo()}} at the end of the reprex. When \code{venue} is "gh", the session info is wrapped in a collapsible details tag. Read more about \code{\link[=opt]{opt()}}.} \item{style}{Logical. Whether to set the knitr chunk option \code{tidy = "styler"}, which re-styles code with the \href{https://styler.r-lib.org}{styler package}. Read more about \code{\link[=opt]{opt()}}.} \item{comment}{Character. Prefix with which to comment out output, defaults to \code{"#>"}. Read more about \code{\link[=opt]{opt()}}.} \item{tidyverse_quiet}{Logical. Sets the options \code{tidyverse.quiet} and \code{tidymodels.quiet}, which suppress (\code{TRUE}, the default) or include (\code{FALSE}) the startup messages for the tidyverse and tidymodels packages. Read more about \code{\link[=opt]{opt()}}.} \item{std_out_err}{Logical. Whether to append a section for output sent to stdout and stderr by the reprex rendering process. This can be necessary to reveal output if the reprex spawns child processes or \code{system()} calls. Note this cannot be properly interleaved with output from the main R process, nor is there any guarantee that the lines from standard output and standard error are in correct chronological order. See \code{\link[callr:r]{callr::r()}} for more. Read more about \code{\link[=opt]{opt()}}.} \item{pandoc_args}{Additional command line options to pass to pandoc} } \value{ An R Markdown output format to pass to \code{\link[rmarkdown:render]{rmarkdown::render()}}. } \description{ This is an R Markdown output format designed specifically for making "reprexes", typically created via the \code{\link[=reprex]{reprex()}} function, which ultimately renders the document with \code{\link[=reprex_render]{reprex_render()}}. It is a heavily modified version of \code{\link[rmarkdown:md_document]{rmarkdown::md_document()}}. The arguments have different spheres of influence: \itemize{ \item \code{venue} potentially affects input preparation and \code{\link[=reprex_render]{reprex_render()}}. \item Add content to the primary input, prior to rendering: \itemize{ \item \code{advertise} \item \code{session_info} \item \code{std_out_err} (also consulted by \code{\link[=reprex_render]{reprex_render()}}) } \item Influence knitr package or chunk options: \itemize{ \item \code{style} \item \code{comment} \item \code{tidyverse_quiet} } } RStudio users can create new R Markdown documents with the \code{reprex_document()} format using built-in templates. Do \emph{File > New File > R Markdown ... > From Template} and choose one of: \itemize{ \item reprex (minimal) \item reprex (lots of features) } Both include \code{knit: reprex::reprex_render} in the YAML, which causes the RStudio "Knit" button to use \code{reprex_render()}. If you render these documents yourself, you should do same. } \examples{ reprex_document() } reprex/man/reprex_venue.Rd0000644000176200001440000000107014102672630015327 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/venues.R \name{reprex_venue} \alias{reprex_venue} \alias{reprex_html} \alias{reprex_r} \alias{reprex_rtf} \alias{reprex_slack} \title{Venue-specific shortcuts} \usage{ reprex_html(...) reprex_r(...) reprex_rtf(...) reprex_slack(...) } \arguments{ \item{...}{Passed along to \code{\link[=reprex]{reprex()}}.} } \description{ These are thin wrappers around \code{reprex()} that incorporate the target \code{venue} as a suffix in the function name, for easier access via auto-completion. } reprex/man/reprex_locale.Rd0000644000176200001440000000704714310727461015462 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/reprex-locale.R \name{reprex_locale} \alias{reprex_locale} \title{Render a reprex in a specific locale} \usage{ reprex_locale(..., language = "en", locale = NULL) } \arguments{ \item{...}{Inputs passed through to \code{\link[=reprex]{reprex()}}.} \item{language}{A string specifying the preferred language for messages. It is enacted via the \code{LANGUAGE} environment variable, for the duration of the \code{reprex()} call. Examples: \code{"en"} for English and \code{"fr"} for French. See Details for more.} \item{locale}{A named character vector, specifying aspects of the locale, in the \code{\link[=Sys.setlocale]{Sys.setlocale()}} sense. It is enacted by setting one or more environment variables, for the duration of the \code{reprex()} call. See Details for more.} } \value{ Character vector of rendered reprex, invisibly. } \description{ Render a \code{\link[=reprex]{reprex()}}, with control over the localization of error messages and aspects of the locale. Note that these are related but distinct issues! Typical usage is for someone on a Spanish system to create a reprex that is easier for an English-speaking audience to follow. } \section{\code{language}}{ Use the \code{language} argument to express the preferred language of error messages. The output of \code{dir(system.file(package = "translations"))} may provide some helpful ideas. The \code{language} should generally follow "XPG syntax": a two-letter language code, optionally followed by other modifiers. Examples: \code{"en"}, \code{"de"}, \code{"en_GB"}, \code{"pt_BR"}. } \section{\code{locale}}{ Use the \code{locale} argument only if you want to affect something like how day-of-the-week or month is converted to character. You are less likely to need to set this than the \code{language} argument. You may have more success setting specific categories, such as \code{"LC_TIME"}, than multi-category shortcuts like \code{"LC_ALL"} or \code{"LANG"}. The \code{locale} values must follow the format dictated by your operating system and the requested locale must be installed. On *nix systems, \code{locale -a} is a good way to see which locales are installed. Note that the format for \code{locale} and \code{language} are different from each other on Windows. Examples: \code{"en_CA.UTF-8"} (macOS), \code{"French_France.1252"} (Windows). } \examples{ \dontrun{ # if all you want to do is make sure messages are in English reprex_locale("a" / 2) # change messages to a specific language reprex_locale( { "a" / 2 }, language = "it" ) reprex_locale( { "a" / 2 }, language = "fr_CA" ) reprex_locale( { "a" / 2 }, language = "pt_BR" ) # get day-of-week and month to print in French (not Windows) reprex_locale( { format(as.Date(c("2019-01-01", "2019-02-01")), "\%a \%b \%d") }, locale = c(LC_TIME = "fr_FR") ) # get day-of-week and month to print in French (Windows) # assumes that the relevant language is installed on the system # LC_TIME can also be specified as "French" or "French_France" here reprex_locale( { format(as.Date(c("2019-01-01", "2019-02-01")), "\%a \%b \%d") }, locale = c(LC_TIME = "French_France.1252") ) } } \seealso{ \itemize{ \item The \href{https://www.gnu.org/software/libc/manual/html_node/Locale-Names.html}{Locale Names} section of the GNU C docs, for more about XPG syntax \item The \href{https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Internationalization}{Internationalization and Localization} section of the R Installation and Administration manual } } reprex/DESCRIPTION0000644000176200001440000000502614642245611013275 0ustar liggesusersPackage: reprex Title: Prepare Reproducible Example Code via the Clipboard Version: 2.1.1 Authors@R: c( person("Jennifer", "Bryan", , "jenny@posit.co", role = c("aut", "cre"), comment = c(ORCID = "0000-0002-6983-2759")), person("Jim", "Hester", role = "aut", comment = c(ORCID = "0000-0002-2739-7082")), person("David", "Robinson", , "admiral.david@gmail.com", role = "aut"), person("Hadley", "Wickham", , "hadley@posit.co", role = "aut", comment = c(ORCID = "0000-0003-4757-117X")), person("Christophe", "Dervieux", , "cderv@posit.co", role = "aut", comment = c(ORCID = "0000-0003-4474-2498")), person("Posit Software, PBC", role = c("cph", "fnd")) ) Description: Convenience wrapper that uses the 'rmarkdown' package to render small snippets of code to target formats that include both code and output. The goal is to encourage the sharing of small, reproducible, and runnable examples on code-oriented websites, such as and , or in email. The user's clipboard is the default source of input code and the default target for rendered output. 'reprex' also extracts clean, runnable R code from various common formats, such as copy/paste from an R session. License: MIT + file LICENSE URL: https://reprex.tidyverse.org, https://github.com/tidyverse/reprex BugReports: https://github.com/tidyverse/reprex/issues Depends: R (>= 3.6) Imports: callr (>= 3.6.0), cli (>= 3.2.0), clipr (>= 0.4.0), fs, glue, knitr (>= 1.23), lifecycle, rlang (>= 1.0.0), rmarkdown, rstudioapi, utils, withr (>= 2.3.0) Suggests: covr, fortunes, miniUI, rprojroot, sessioninfo, shiny, spelling, styler (>= 1.2.0), testthat (>= 3.2.1) VignetteBuilder: knitr Config/Needs/website: dplyr, tidyverse/tidytemplate Config/testthat/edition: 3 Config/testthat/parallel: TRUE Config/testthat/start-first: knitr-options, venues, reprex Encoding: UTF-8 Language: en-US RoxygenNote: 7.3.2 SystemRequirements: pandoc (>= 2.0) - https://pandoc.org/ NeedsCompilation: no Packaged: 2024-07-06 00:20:55 UTC; jenny Author: Jennifer Bryan [aut, cre] (), Jim Hester [aut] (), David Robinson [aut], Hadley Wickham [aut] (), Christophe Dervieux [aut] (), Posit Software, PBC [cph, fnd] Maintainer: Jennifer Bryan Repository: CRAN Date/Publication: 2024-07-06 13:50:01 UTC