From 22866378ec129b8d538c528de551bd76a52fe991 Mon Sep 17 00:00:00 2001 From: AugustT Date: Wed, 1 Jun 2016 10:30:53 +0100 Subject: [PATCH 01/10] Add in workflow testing for Occurrence, Covariate and Process modules --- R/test_outputs.R | 221 +++++++++++++++++++++++++++++++++++++++++++++++ R/workflow.R | 2 +- 2 files changed, 222 insertions(+), 1 deletion(-) diff --git a/R/test_outputs.R b/R/test_outputs.R index 5faad2d..6e061e2 100644 --- a/R/test_outputs.R +++ b/R/test_outputs.R @@ -33,7 +33,115 @@ test_outputs <- function(roxy_parse, modulePath){ expect_is(occ_return$value, c('numeric', 'integer'), info = 'value must be a numeric or integer') expect_is(occ_return$type, 'character', info = 'type must be a character') expect_is(occ_return$fold, c('numeric', 'integer'), info = 'info must be a numeric or integer') + + ## Check it in a few workflows + # Assign function + OccurrenceModule <- source(modulePath)$value + # this line is needed to it to the global env. where zoon looks + assign('OccurrenceModule', OccurrenceModule, env = .GlobalEnv) + + # Get the data types + sections <- roxy_parse[grepl('section', names(roxy_parse))] + data_types <- trimws(strsplit(gsub('Data type: ', '', sections[grepl('Data type: ', sections)]), + split = ',')[[1]]) + + xmin <- floor(min(occ_return$longitude, na.rm = TRUE)) + xmax <- ceiling(max(occ_return$longitude, na.rm = TRUE)) + ymin <- floor(min(occ_return$longitude, na.rm = TRUE)) + ymax <- ceiling(min(occ_return$longitude, na.rm = TRUE)) + + myExtent <- c(xmin, xmax, ymin, ymax) + + # We have to do this so that zoon can find it + assign('myExtent', myExtent, env = .GlobalEnv) + + for(data_type in data_types){ + + # Presence only + if(data_type == "presence-only"){ + + # test normal + expect_is(w <- workflow(occurrence = OccurrenceModule, + covariate = NCEP(variables = 'air', + extent = myExtent), + process = OneHundredBackground, + model = LogisticRegression, + output = PrintMap), + 'zoonWorkflow', + info = 'The occurrence module did not work in a standard workflow') + + # test Chain + expect_is(w <- workflow(occurrence = Chain(OccurrenceModule, + OccurrenceModule), + covariate = NCEP(variables = 'air', + extent = myExtent), + process = OneHundredBackground, + model = LogisticRegression, + output = PrintMap), + 'zoonWorkflow', + info = 'The occurrence module did not work when chained in a workflow') + + # test list + crossvalidation + expect_is(w <- workflow(occurrence = list(OccurrenceModule, + OccurrenceModule), + covariate = NCEP(variables = 'air', + extent = myExtent), + process = BackgroundAndCrossvalid, + model = LogisticRegression, + output = PerformanceMeasures), + 'zoonWorkflow', + info = 'The occurrence module did not work when listed in a workflow with crossvalidation') + + + } else if(data_type == "presence/absence"){ + + # test normal + expect_is(w <- workflow(occurrence = OccurrenceModule, + covariate = NCEP(variables = 'air', + extent = myExtent), + process = NoProcess, + model = LogisticRegression, + output = PrintMap), + 'zoonWorkflow', + info = 'The occurrence module did not work in a standard workflow') + + # test this + Occurrence(w) + + # test Chain + expect_is(w <- workflow(occurrence = Chain(OccurrenceModule, + OccurrenceModule), + covariate = NCEP(variables = 'air', + extent = myExtent), + process = NoProcess, + model = LogisticRegression, + output = PrintMap), + 'zoonWorkflow', + info = 'The occurrence module did not work when chained in a workflow') + + + + # test list + crossvalidation + expect_is(w <- workflow(occurrence = list(OccurrenceModule, + OccurrenceModule), + covariate = NCEP(variables = 'air', + extent = myExtent), + process = Crossvalidate, + model = LogisticRegression, + output = PerformanceMeasures), + 'zoonWorkflow', + info = 'The occurrence module did not work when listed in a workflow with crossvalidation') + + } ## Add tests for proportion and abundance ## + + + # create a modules that creates a random number of + # presence points + + } + + } ## COVARIATE MODULES ## @@ -55,6 +163,50 @@ test_outputs <- function(roxy_parse, modulePath){ # Check raster returned is as expected expect_is(cov_return, c('RasterLayer', 'RasterStack', 'RasterBrick'), info = 'Covariate module output must be either a RasterLayer or a RasterStack') + ## Check it in a few workflows + # Assign function + CovariateModule <- source(modulePath)$value + # this line is needed to it to the global env. where zoon looks + assign('CovariateModule', CovariateModule, env = .GlobalEnv) + + expect_is(extent(cov_return), "Extent", + info = 'An extent could not be obtained from the object returned by the covariate module') + + myExtent <- as.vector(extent(cov_return)) + + # We have to do this so that zoon can find it + assign('myExtent', myExtent, env = .GlobalEnv) + + # Normal + expect_is(w <- workflow(occurrence = NaiveRandomPresence(extent = myExtent, + seed = 123), + covariate = CovariateModule, + process = OneHundredBackground, + model = LogisticRegression, + output = PrintMap), + 'zoonWorkflow', + info = 'The covariate module did not work in a standard workflow') + + # Chain + expect_is(w <- workflow(occurrence = NaiveRandomPresence(extent = myExtent, + seed = 123), + covariate = Chain(CovariateModule, CovariateModule), + process = OneHundredBackground, + model = LogisticRegression, + output = PrintMap), + 'zoonWorkflow', + info = 'The covariate module did not work when chained in a workflow') + + # List + crossvalidate + expect_is(w <- workflow(occurrence = NaiveRandomPresence(extent = myExtent, + seed = 123), + covariate = list(CovariateModule, CovariateModule), + process = BackgroundAndCrossvalid, + model = LogisticRegression, + output = PrintMap), + 'zoonWorkflow', + info = 'The covariate module did not work when listed in a workflow with crossvalidation') + } ## PROCESS MODULES ## @@ -67,6 +219,11 @@ test_outputs <- function(roxy_parse, modulePath){ sections <- roxy_parse[grepl('section', names(roxy_parse))] data_types <- gsub('Data type: ', '', sections[grepl('Data type: ', sections)]) + # assign the module + ProcessModule <- source(modulePath)$value + # this line is needed to it to the global env. where zoon looks + assign('ProcessModule', ProcessModule, env = .GlobalEnv) + for(data_type in c("presence/absence", "presence-only")){ if(grepl(data_type, data_types)){ @@ -106,6 +263,70 @@ test_outputs <- function(roxy_parse, modulePath){ # Check raster returned is as expected expect_is(pro_return$ras, c('RasterLayer', 'RasterStack', 'RasterBrick'), info = 'The "ras" element returned by a process module must be either a RasterLayer or a RasterStack') + ## Try it in some workflows + if(data_type == "presence/absence"){ + + # normal + expect_is(w <- workflow(occurrence = CarolinaWrenPA, + covariate = CarolinaWrenRasters, + process = ProcessModule, + model = LogisticRegression, + output = PrintMap), + 'zoonWorkflow', + info = 'The process module did not work in a standard workflow') + + # Chained + expect_is(w <- workflow(occurrence = UKAnophelesPlumbeus, + covariate = UKAir, + process = Chain(OneHundredBackground, + ProcessModule), + model = LogisticRegression, + output = PrintMap), + 'zoonWorkflow', + info = 'The process module did not work in a standard workflow') + + # list + crossvalidated + expect_is(w <- workflow(occurrence = CarolinaWrenPA, + covariate = CarolinaWrenRasters, + process = list(Crossvalidate, + ProcessModule), + model = LogisticRegression, + output = PrintMap), + 'zoonWorkflow', + info = 'The process module did not work in a standard workflow') + + + } else if(data_type == "presence-only"){ + + # Norm + expect_is(w <- workflow(occurrence = UKAnophelesPlumbeus, + covariate = UKAir, + process = ProcessModule, + model = RandomForest, + output = PrintMap), + 'zoonWorkflow', + info = 'The process module did not work in a standard workflow') + + # Chain + expect_is(w <- workflow(occurrence = UKAnophelesPlumbeus, + covariate = UKAir, + process = list(Clean, + ProcessModule), + model = RandomForest, + output = PrintMap), + 'zoonWorkflow', + info = 'The process module did not work in a chain') + + # list + expect_is(w <- workflow(occurrence = UKAnophelesPlumbeus, + covariate = UKAir, + process = list(NoProcess, + ProcessModule), + model = RandomForest, + output = PrintMap), + 'zoonWorkflow', + info = 'The process module did not work in a standard workflow') + } } } } diff --git a/R/workflow.R b/R/workflow.R index f299cd5..bc784d1 100644 --- a/R/workflow.R +++ b/R/workflow.R @@ -139,7 +139,7 @@ workflow <- function(occurrence, covariate, process, model, output, forceReprodu class(output) <- 'zoonWorkflow' # whether exiting on error, or successful completion, return this - on.exit(return (output)) + on.exit(return(output)) tryCatch({ occurrence.output <- lapply(occurrenceName, FUN = DoOccurrenceModule, e = e) From 3a381796c8e2c42badbc9e4d03b51b57b66fc2b3 Mon Sep 17 00:00:00 2001 From: AugustT Date: Wed, 1 Jun 2016 11:13:55 +0100 Subject: [PATCH 02/10] Change tests and example to avoind the use of OneHundredBackground in combination with UKAir as this produces a warning. Changed out for Background(n=70) --- R/ChangeWorkflow.R | 2 +- R/RerunWorkflow.R | 2 +- R/accessors.R | 2 +- R/test_outputs.R | 142 +++++++++++++++++++++- R/workflow.R | 2 +- tests/testthat/testReplicate.R | 2 +- tests/testthat/testaccessors.R | 6 +- tests/testthat/testcall_path.R | 94 +++++++------- tests/testthat/testplot.zoonWorkflow.r | 10 +- tests/testthat/testprint.zoonSummary.R | 2 +- tests/testthat/testprint.zoonWorkflow.R | 2 +- tests/testthat/testsummary.zoonWorkflow.R | 2 +- 12 files changed, 201 insertions(+), 67 deletions(-) diff --git a/R/ChangeWorkflow.R b/R/ChangeWorkflow.R index edb052b..ddede41 100644 --- a/R/ChangeWorkflow.R +++ b/R/ChangeWorkflow.R @@ -16,7 +16,7 @@ #'@examples \dontrun{ #' w <- workflow(UKAnophelesPlumbeus, #' UKAir, -#' OneHundredBackground, +#' Background(n = 70), #' LogisticRegression, #' PrintMap) #' diff --git a/R/RerunWorkflow.R b/R/RerunWorkflow.R index cfe6c32..0d95efe 100644 --- a/R/RerunWorkflow.R +++ b/R/RerunWorkflow.R @@ -16,7 +16,7 @@ #' @examples \dontrun{ #' w <- workflow(UKAnophelesPlumbeus, #' UKAir, -#' OneHundredBackground, +#' Background(n = 70), #' LogisticRegression, #' PrintMap) #' diff --git a/R/accessors.R b/R/accessors.R index 939f9eb..6d3881f 100644 --- a/R/accessors.R +++ b/R/accessors.R @@ -18,7 +18,7 @@ #'\dontrun{ #'work1 <- workflow(occurrence = UKAnophelesPlumbeus, #' covariate = UKAir, -#' process = OneHundredBackground, +#' process = Background(n = 70), #' model = list(LogisticRegression, LogisticRegression), #' output = PrintMap) #' diff --git a/R/test_outputs.R b/R/test_outputs.R index 6e061e2..ddf7b15 100644 --- a/R/test_outputs.R +++ b/R/test_outputs.R @@ -283,7 +283,7 @@ test_outputs <- function(roxy_parse, modulePath){ model = LogisticRegression, output = PrintMap), 'zoonWorkflow', - info = 'The process module did not work in a standard workflow') + info = 'The process module did not work in a chain workflow') # list + crossvalidated expect_is(w <- workflow(occurrence = CarolinaWrenPA, @@ -293,7 +293,7 @@ test_outputs <- function(roxy_parse, modulePath){ model = LogisticRegression, output = PrintMap), 'zoonWorkflow', - info = 'The process module did not work in a standard workflow') + info = 'The process module did not work in a list workflow') } else if(data_type == "presence-only"){ @@ -315,7 +315,7 @@ test_outputs <- function(roxy_parse, modulePath){ model = RandomForest, output = PrintMap), 'zoonWorkflow', - info = 'The process module did not work in a chain') + info = 'The process module did not work in a chain workflow') # list expect_is(w <- workflow(occurrence = UKAnophelesPlumbeus, @@ -325,7 +325,7 @@ test_outputs <- function(roxy_parse, modulePath){ model = RandomForest, output = PrintMap), 'zoonWorkflow', - info = 'The process module did not work in a standard workflow') + info = 'The process module did not work in a list workflow') } } } @@ -341,6 +341,11 @@ test_outputs <- function(roxy_parse, modulePath){ sections <- roxy_parse[grepl('section', names(roxy_parse))] data_types <- gsub('Data type: ', '', sections[grepl('Data type: ', sections)]) + # assign the module + ModelModule <- source(modulePath)$value + # this line is needed to it to the global env. where zoon looks + assign('ModelModule', ModelModule, env = .GlobalEnv) + if(length(data_types) > 0){ # There are not any true presence only models as yet @@ -391,9 +396,138 @@ test_outputs <- function(roxy_parse, modulePath){ expect_true(length(not_avail) == 0, info = paste('Not all packages specified in your model module are available on cran. Could not find:', paste(not_avail, collapse = ', '))) + + ## Try it in some workflows + if(data_type == "presence/absence"){ + + # normal + expect_is(w <- workflow(occurrence = CarolinaWrenPA, + covariate = CarolinaWrenRasters, + process = Clean, + model = ModelModule, + output = PrintMap), + 'zoonWorkflow', + info = 'The model module did not work in a standard workflow') + + # Chained + expect_is(w <- workflow(occurrence = CarolinaWrenPA, + covariate = CarolinaWrenRasters, + process = Chain(Clean, NoProcess), + model = ModelModule, + output = PrintMap), + 'zoonWorkflow', + info = 'The model module did not work in a chain workflow') + + # list + expect_is(w <- workflow(occurrence = CarolinaWrenPA, + covariate = CarolinaWrenRasters, + process = Clean, + model = list(ModelModule, ModelModule), + output = PrintMap), + 'zoonWorkflow', + info = 'The process module did not work in a list workflow') + + # crossvalidate + expect_is(w <- workflow(occurrence = CarolinaWrenPA, + covariate = CarolinaWrenRasters, + process = Crossvalidate, + model = list(ModelModule, ModelModule), + output = PerformanceMeasures), + 'zoonWorkflow', + info = 'The process module did not work in a crossvalidation workflow') + + + } else if(data_type == "presence/background"){ + + # Norm + expect_is(w <- workflow(occurrence = UKAnophelesPlumbeus, + covariate = UKAir, + process = Background(n = 70), + model = ModelModule, + output = PrintMap), + 'zoonWorkflow', + info = 'The process module did not work in a standard workflow') + + # Chain + expect_is(w <- workflow(occurrence = UKAnophelesPlumbeus, + covariate = UKAir, + process = list(Clean, + Background(n = 70)), + model = ModelModule, + output = PrintMap), + 'zoonWorkflow', + info = 'The process module did not work in a chain workflow') + + # list + expect_is(w <- workflow(occurrence = UKAnophelesPlumbeus, + covariate = UKAir, + process = Background(n = 70), + model = list(ModelModule, ModelModule), + output = PrintMap), + 'zoonWorkflow', + info = 'The process module did not work in a list workflow') + + # crossvalidate + expect_is(w <- workflow(occurrence = UKAnophelesPlumbeus, + covariate = UKAir, + process = Chain(Background(n = 70), Crossvalidate), + model = ModelModule, + output = PerformanceMeasures), + 'zoonWorkflow', + info = 'The process module did not work in a crossvalidation workflow') + } } } } } + + ## OUTPUT MODULES ## + if(roxy_parse$family == 'output'){ + + # Load the script + source(modulePath) + + # Run the module with defaults + sections <- roxy_parse[grepl('section', names(roxy_parse))] + data_types <- gsub('Data type: ', '', sections[grepl('Data type: ', sections)]) + + # assign the module + OutputModule <- source(modulePath)$value + # this line is needed to it to the global env. where zoon looks + assign('OutputModule', OutputModule, env = .GlobalEnv) + + + ## ADD IN TEST OF OUTPUTS IF WE DECIDE THEY SHOULD CHAIN ## + + ## At the moment output modules are expected to work with + ## all data types + + # normal + expect_is(w <- workflow(occurrence = UKAnophelesPlumbeus, + covariate = UKAir, + process = Background(n = 70), + model = LogisticRegression, + output = OutputModule), + 'zoonWorkflow', + info = 'The output module did not work in a standard workflow') + + # # Chained + # expect_is(w <- workflow(occurrence = UKAnophelesPlumbeus, + # covariate = UKAir, + # process = Background(n = 70), + # model = LogisticRegression, + # output = Chain(OutputModule, OutputModule)), + # 'zoonWorkflow', + # info = 'The output module did not work in a chain workflow') + + # list + crossvalidated + expect_is(w <- workflow(occurrence = UKAnophelesPlumbeus, + covariate = UKAir, + process = Background(n = 70), + model = LogisticRegression, + output = list(OutputModule, OutputModule)), + 'zoonWorkflow', + info = 'The process module did not work in a list workflow') + } }) } diff --git a/R/workflow.R b/R/workflow.R index bc784d1..dad5a62 100644 --- a/R/workflow.R +++ b/R/workflow.R @@ -29,7 +29,7 @@ #' #'work1 <- workflow(occurrence = UKAnophelesPlumbeus, #' covariate = UKAir, -#' process = OneHundredBackground, +#' process = Background(n = 70), #' model = LogisticRegression, #' output = SameTimePlaceMap) #' diff --git a/tests/testthat/testReplicate.R b/tests/testthat/testReplicate.R index 2dbbf93..651c36a 100644 --- a/tests/testthat/testReplicate.R +++ b/tests/testthat/testReplicate.R @@ -21,7 +21,7 @@ test_that('Replicate workflow tests', { work2 <- workflow(occurrence = Replicate(UKAnophelesPlumbeus, 3), covariate = UKAir, - process = OneHundredBackground, + process = Background(n=70), model = LogisticRegression, output = SameTimePlaceMap) diff --git a/tests/testthat/testaccessors.R b/tests/testthat/testaccessors.R index dda4be2..df62355 100644 --- a/tests/testthat/testaccessors.R +++ b/tests/testthat/testaccessors.R @@ -8,7 +8,7 @@ test_that('All accessor functions return objects of the right length and type', # All length 1 (therefore not lists of length 1) work1 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = OneHundredBackground, + process = Background(n=70), model = LogisticRegression, output = PrintMap) @@ -16,7 +16,7 @@ test_that('All accessor functions return objects of the right length and type', # All length 2 except covariate work2 <- workflow(occurrence = list(UKAnophelesPlumbeus, UKAnophelesPlumbeus), covariate = UKAir, - process = OneHundredBackground, + process = Background(n=70), model = LogisticRegression, output = PrintMap) @@ -24,7 +24,7 @@ test_that('All accessor functions return objects of the right length and type', # All length 2 expect occurrence work3 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = list(UKAir, UKAir), - process = OneHundredBackground, + process = Background(n=70), model = LogisticRegression, output = PrintMap) diff --git a/tests/testthat/testcall_path.R b/tests/testthat/testcall_path.R index 89f6dec..8087945 100644 --- a/tests/testthat/testcall_path.R +++ b/tests/testthat/testcall_path.R @@ -6,7 +6,7 @@ test_that('Test call_path in a large number of variations', { CP_work <- workflow(occurrence = list(UKAnophelesPlumbeus, AnophelesPlumbeus), covariate = UKAir, - process = OneHundredBackground, + process = Background(n=70), model = RandomForest, output = PrintMap) @@ -17,42 +17,42 @@ test_that('Test call_path in a large number of variations', { expect_equal(attr(Covariate(CP_work), 'call_path'), structure(list(covariate = "UKAir"), .Names = "covariate")) expect_equal(attr(Process(CP_work)[[1]], 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "OneHundredBackground"), + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "Background"), .Names = c("occurrence", "covariate", "process"))) expect_equal(attr(Process(CP_work)[[2]], 'call_path'), - structure(list(occurrence = "AnophelesPlumbeus", covariate = "UKAir", process = "OneHundredBackground"), + structure(list(occurrence = "AnophelesPlumbeus", covariate = "UKAir", process = "Background"), .Names = c("occurrence", "covariate", "process"))) expect_equal(attr(Model(CP_work)[[1]], 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "OneHundredBackground", model = "RandomForest"), + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "Background", model = "RandomForest"), .Names = c("occurrence", "covariate", "process", "model"))) expect_equal(attr(Output(CP_work)[[1]], 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "OneHundredBackground", model = "RandomForest", output = "PrintMap"), + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "Background", model = "RandomForest", output = "PrintMap"), .Names = c("occurrence", "covariate", "process", "model", "output"))) expect_equal(attr(Output(CP_work)[[2]], 'call_path'), - structure(list(occurrence = "AnophelesPlumbeus", covariate = "UKAir", process = "OneHundredBackground", model = "RandomForest", output = "PrintMap"), + structure(list(occurrence = "AnophelesPlumbeus", covariate = "UKAir", process = "Background", model = "RandomForest", output = "PrintMap"), .Names = c("occurrence", "covariate", "process", "model", "output"))) CP_worka <- workflow(occurrence = Chain(UKAnophelesPlumbeus, AnophelesPlumbeus), covariate = UKAir, - process = OneHundredBackground, + process = Background(n=70), model = RandomForest, output = PrintMap) expect_equal(attr(Occurrence(CP_worka), 'call_path'), structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)"), .Names = "occurrence")) expect_equal(attr(Process(CP_worka), 'call_path'), - structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "OneHundredBackground"), + structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Background"), .Names = c("occurrence", "covariate", "process"))) expect_equal(attr(Model(CP_worka), 'call_path'), - structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "OneHundredBackground", model = "RandomForest"), + structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Background", model = "RandomForest"), .Names = c("occurrence", "covariate", "process", "model"))) expect_equal(attr(Output(CP_worka), 'call_path'), - structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "OneHundredBackground", model = "RandomForest", output = "PrintMap"), + structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Background", model = "RandomForest", output = "PrintMap"), .Names = c("occurrence", "covariate", "process", "model", "output"))) CP_work2 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = list(UKBioclim, UKAir), - process = OneHundredBackground, + process = Background(n=70), model = RandomForest, output = PrintMap) @@ -61,47 +61,47 @@ test_that('Test call_path in a large number of variations', { expect_equal(attr(Covariate(CP_work2)[[2]], 'call_path'), structure(list(covariate = "UKAir"), .Names = "covariate")) expect_equal(attr(Process(CP_work2)[[1]], 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKBioclim", process = "OneHundredBackground"), + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKBioclim", process = "Background"), .Names = c("occurrence", "covariate", "process"))) expect_equal(attr(Process(CP_work2)[[2]], 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "OneHundredBackground"), + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "Background"), .Names = c("occurrence", "covariate", "process"))) expect_equal(attr(Model(CP_work2)[[1]], 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKBioclim", process = "OneHundredBackground", model = "RandomForest"), + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKBioclim", process = "Background", model = "RandomForest"), .Names = c("occurrence", "covariate", "process", "model"))) expect_equal(attr(Model(CP_work2)[[2]], 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "OneHundredBackground", model = "RandomForest"), + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "Background", model = "RandomForest"), .Names = c("occurrence", "covariate", "process", "model"))) expect_equal(attr(Output(CP_work2)[[1]], 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKBioclim", process = "OneHundredBackground", model = "RandomForest", output = "PrintMap"), + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKBioclim", process = "Background", model = "RandomForest", output = "PrintMap"), .Names = c("occurrence", "covariate", "process", "model", "output"))) expect_equal(attr(Output(CP_work2)[[2]], 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "OneHundredBackground", model = "RandomForest", output = "PrintMap"), + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "Background", model = "RandomForest", output = "PrintMap"), .Names = c("occurrence", "covariate", "process", "model", "output"))) CP_work2a <- workflow(occurrence = UKAnophelesPlumbeus, covariate = Chain(UKAir, UKAir), - process = OneHundredBackground, + process = Background(n=70), model = RandomForest, output = PrintMap) expect_equal(attr(Covariate(CP_work2a), 'call_path'), structure(list(covariate = "Chain(UKAir, UKAir)"), .Names = "covariate")) expect_equal(attr(Process(CP_work2a), 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "Chain(UKAir, UKAir)", process = "OneHundredBackground"), + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "Chain(UKAir, UKAir)", process = "Background"), .Names = c("occurrence", "covariate", "process"))) expect_equal(attr(Model(CP_work2a), 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "Chain(UKAir, UKAir)", process = "OneHundredBackground", model = "RandomForest"), + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "Chain(UKAir, UKAir)", process = "Background", model = "RandomForest"), .Names = c("occurrence", "covariate", "process", "model"))) expect_equal(attr(Output(CP_work2a), 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "Chain(UKAir, UKAir)", process = "OneHundredBackground", model = "RandomForest", output = "PrintMap"), + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "Chain(UKAir, UKAir)", process = "Background", model = "RandomForest", output = "PrintMap"), .Names = c("occurrence", "covariate", "process", "model", "output"))) CP_work1 <- workflow(occurrence = Chain(UKAnophelesPlumbeus, AnophelesPlumbeus), covariate = UKAir, - process = list(NoProcess, OneHundredBackground), + process = list(NoProcess, Background(n=70)), model = RandomForest, output = PrintMap) @@ -111,124 +111,124 @@ test_that('Test call_path in a large number of variations', { structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "NoProcess"), .Names = c("occurrence", "covariate","process"))) expect_equal(attr(Process(CP_work1)[[2]], 'call_path'), - structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "OneHundredBackground"), + structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Background"), .Names = c("occurrence","covariate", "process"))) expect_equal(attr(Model(CP_work1)[[1]], 'call_path'), structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "NoProcess", model = "RandomForest"), .Names = c("occurrence", "covariate", "process", "model"))) expect_equal(attr(Model(CP_work1)[[2]], 'call_path'), - structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "OneHundredBackground", model = "RandomForest"), + structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Background", model = "RandomForest"), .Names = c("occurrence", "covariate", "process", "model"))) expect_equal(attr(Output(CP_work1)[[1]], 'call_path'), structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "NoProcess", model = "RandomForest", output = "PrintMap"), .Names = c("occurrence", "covariate", "process", "model", "output"))) expect_equal(attr(Output(CP_work1)[[2]], 'call_path'), - structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "OneHundredBackground", model = "RandomForest", output = "PrintMap"), + structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Background", model = "RandomForest", output = "PrintMap"), .Names = c("occurrence", "covariate", "process", "model", "output"))) expect_equal(attr(Output(CP_work1)[[1]], 'call_path'), structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "NoProcess", model = "RandomForest", output = "PrintMap"), .Names = c("occurrence", "covariate", "process", "model", "output"))) expect_equal(attr(Output(CP_work1)[[2]], 'call_path'), - structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "OneHundredBackground", model = "RandomForest", output = "PrintMap"), + structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Background", model = "RandomForest", output = "PrintMap"), .Names = c("occurrence", "covariate", "process", "model", "output"))) CP_work1a <- workflow(occurrence = Chain(UKAnophelesPlumbeus, AnophelesPlumbeus), covariate = UKAir, - process = Chain(NoProcess, OneHundredBackground), + process = Chain(NoProcess, Background(n=70)), model = RandomForest, output = PrintMap) expect_equal(attr(Occurrence(CP_work1a), 'call_path'), structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)"), .Names = "occurrence")) expect_equal(attr(Process(CP_work1a), 'call_path'), - structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Chain(NoProcess, OneHundredBackground)"), + structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Chain(NoProcess, Background)"), .Names = c("occurrence", "covariate","process"))) expect_equal(attr(Model(CP_work1a), 'call_path'), - structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Chain(NoProcess, OneHundredBackground)", model = "RandomForest"), + structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Chain(NoProcess, Background)", model = "RandomForest"), .Names = c("occurrence", "covariate", "process", "model"))) expect_equal(attr(Output(CP_work1a), 'call_path'), - structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Chain(NoProcess, OneHundredBackground)", model = "RandomForest", output = "PrintMap"), + structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Chain(NoProcess, Background)", model = "RandomForest", output = "PrintMap"), .Names = c("occurrence", "covariate", "process", "model", "output"))) CP_work3 <- workflow(occurrence = Chain(UKAnophelesPlumbeus, AnophelesPlumbeus), covariate = UKAir, - process = Chain(NoProcess, OneHundredBackground), + process = Chain(NoProcess, Background(n=70)), model = list(RandomForest, LogisticRegression), output = PrintMap) expect_equal(attr(Model(CP_work3)[[1]], 'call_path'), - structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Chain(NoProcess, OneHundredBackground)", model = "RandomForest"), + structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Chain(NoProcess, Background)", model = "RandomForest"), .Names = c("occurrence", "covariate","process","model"))) expect_equal(attr(Model(CP_work3)[[2]], 'call_path'), - structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Chain(NoProcess, OneHundredBackground)", model = "LogisticRegression"), + structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Chain(NoProcess, Background)", model = "LogisticRegression"), .Names = c("occurrence", "covariate","process","model"))) expect_equal(attr(Output(CP_work3)[[1]], 'call_path'), - structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Chain(NoProcess, OneHundredBackground)", model = "RandomForest", output = "PrintMap"), + structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Chain(NoProcess, Background)", model = "RandomForest", output = "PrintMap"), .Names = c("occurrence", "covariate", "process", "model", "output"))) expect_equal(attr(Output(CP_work3)[[2]], 'call_path'), - structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Chain(NoProcess, OneHundredBackground)", model = "LogisticRegression", output = "PrintMap"), + structure(list(occurrence = "Chain(UKAnophelesPlumbeus, AnophelesPlumbeus)", covariate = "UKAir", process = "Chain(NoProcess, Background)", model = "LogisticRegression", output = "PrintMap"), .Names = c("occurrence", "covariate", "process", "model", "output"))) CP_work3a <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = OneHundredBackground, + process = Background(n=70), model = LogisticRegression, output = PrintMap) expect_equal(attr(Model(CP_work3a), 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "OneHundredBackground", model = "LogisticRegression"), + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "Background", model = "LogisticRegression"), .Names = c("occurrence", "covariate", "process", "model"))) expect_equal(attr(Output(CP_work3a), 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "OneHundredBackground", model = "LogisticRegression", output = "PrintMap"), + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "Background", model = "LogisticRegression", output = "PrintMap"), .Names = c("occurrence", "covariate", "process", "model", "output"))) CP_work4 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = OneHundredBackground, + process = Background(n=70), model = LogisticRegression, output = list(SurfaceMap, PerformanceMeasures)) expect_null(attr(Output(CP_work4)[[1]], 'call_path')) expect_equal(attr(Output(CP_work4)[[2]], 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "OneHundredBackground", model = "LogisticRegression", output = "PerformanceMeasures"), + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "Background", model = "LogisticRegression", output = "PerformanceMeasures"), .Names = c("occurrence","covariate", "process", "model", "output"))) CP_work4b <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = OneHundredBackground, + process = Background(n=70), model = LogisticRegression, output = Chain(SurfaceMap, PerformanceMeasures)) expect_null(attr(Output(CP_work4b)[[1]], 'call_path')) expect_equal(attr(Output(CP_work4b)[[2]], 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "OneHundredBackground", model = "LogisticRegression", output = "PerformanceMeasures"), + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "Background", model = "LogisticRegression", output = "PerformanceMeasures"), .Names = c("occurrence","covariate", "process", "model", "output"))) CP_work4c <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = OneHundredBackground, + process = Background(n=70), model = list(LogisticRegression, RandomForest), output = Chain(PrintMap, PerformanceMeasures)) expect_equal(attr(Output(CP_work4c)[[1]], 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "OneHundredBackground", + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "Background", model = "LogisticRegression", output = "PrintMap"), .Names = c("occurrence","covariate", "process", "model", "output"))) expect_equal(attr(Output(CP_work4c)[[2]], 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "OneHundredBackground", + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "Background", model = "LogisticRegression", output = "PerformanceMeasures"), .Names = c("occurrence","covariate", "process", "model", "output"))) expect_equal(attr(Output(CP_work4c)[[3]], 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "OneHundredBackground", + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "Background", model = "RandomForest", output = "PrintMap"), .Names = c("occurrence","covariate", "process", "model", "output"))) expect_equal(attr(Output(CP_work4c)[[4]], 'call_path'), - structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "OneHundredBackground", + structure(list(occurrence = "UKAnophelesPlumbeus", covariate = "UKAir", process = "Background", model = "RandomForest", output = "PerformanceMeasures"), .Names = c("occurrence","covariate", "process", "model", "output"))) diff --git a/tests/testthat/testplot.zoonWorkflow.r b/tests/testthat/testplot.zoonWorkflow.r index beab6f4..b16ec56 100644 --- a/tests/testthat/testplot.zoonWorkflow.r +++ b/tests/testthat/testplot.zoonWorkflow.r @@ -10,7 +10,7 @@ test_that('plot.zoonWorkflow works', { # Create a simple workflow to test on work1 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = PrintMap) png(filename = file.path(directory, 'tempzoonWorkflow1.png')) @@ -24,7 +24,7 @@ test_that('plot.zoonWorkflow works', { SpOcc(species = 'Anopheles plumbeus', extent = c(-10, 10, 45, 65))), covariate = UKAir, - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = PrintMap) png(filename = file.path(directory, 'tempzoonWorkflow2.png')) @@ -38,7 +38,7 @@ test_that('plot.zoonWorkflow works', { SpOcc(species = 'Anopheles plumbeus', extent = c(-10, 10, 45, 65))), covariate = UKAir, - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = PrintMap) png(filename = file.path(directory, 'tempzoonWorkflow3.png')) @@ -94,8 +94,8 @@ test_that('plot.zoonWorkflow module not on repo', { work4 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, process = list(myMissing, - OneHundredBackground, - OneThousandBackground, + Background(n = 20), + Background(n = 70), myMissing, NoProcess), model = LogisticRegression, diff --git a/tests/testthat/testprint.zoonSummary.R b/tests/testthat/testprint.zoonSummary.R index e55ea0d..d16216f 100644 --- a/tests/testthat/testprint.zoonSummary.R +++ b/tests/testthat/testprint.zoonSummary.R @@ -7,7 +7,7 @@ test_that('print.zoonSummary tests', { set.seed(1) work1 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = OneHundredBackground, + process = Background(n=70), model = LogisticRegression, output = PrintMap) diff --git a/tests/testthat/testprint.zoonWorkflow.R b/tests/testthat/testprint.zoonWorkflow.R index 52922fc..69a575b 100644 --- a/tests/testthat/testprint.zoonWorkflow.R +++ b/tests/testthat/testprint.zoonWorkflow.R @@ -7,7 +7,7 @@ test_that('print.zoonWorkflow tests', { set.seed(1) work1 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = PrintMap) diff --git a/tests/testthat/testsummary.zoonWorkflow.R b/tests/testthat/testsummary.zoonWorkflow.R index 8bbd26d..e420b36 100644 --- a/tests/testthat/testsummary.zoonWorkflow.R +++ b/tests/testthat/testsummary.zoonWorkflow.R @@ -6,7 +6,7 @@ test_that('summary.zoonWorkflow tests', { set.seed(1) work1 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = OneHundredBackground, + process = Background(n=70), model = LogisticRegression, output = PrintMap) From c1a6302b88786fc6625e6a8a3f4ab6de3d331c9d Mon Sep 17 00:00:00 2001 From: AugustT Date: Wed, 1 Jun 2016 11:15:03 +0100 Subject: [PATCH 03/10] More OneHundredBackground removed --- R/test_outputs.R | 10 ++++---- man/ChangeWorkflow.Rd | 2 +- man/Occurrence.Rd | 2 +- man/RerunWorkflow.Rd | 2 +- man/workflow.Rd | 2 +- tests/testthat/testChangeWorkflow.R | 28 +++++++++++----------- tests/testthat/testRerunWorkflow.R | 16 ++++++------- tests/testthat/testWholeWorkflows.R | 36 ++++++++++++++--------------- 8 files changed, 49 insertions(+), 49 deletions(-) diff --git a/R/test_outputs.R b/R/test_outputs.R index ddf7b15..d118bbf 100644 --- a/R/test_outputs.R +++ b/R/test_outputs.R @@ -64,7 +64,7 @@ test_outputs <- function(roxy_parse, modulePath){ expect_is(w <- workflow(occurrence = OccurrenceModule, covariate = NCEP(variables = 'air', extent = myExtent), - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = PrintMap), 'zoonWorkflow', @@ -75,7 +75,7 @@ test_outputs <- function(roxy_parse, modulePath){ OccurrenceModule), covariate = NCEP(variables = 'air', extent = myExtent), - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = PrintMap), 'zoonWorkflow', @@ -181,7 +181,7 @@ test_outputs <- function(roxy_parse, modulePath){ expect_is(w <- workflow(occurrence = NaiveRandomPresence(extent = myExtent, seed = 123), covariate = CovariateModule, - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = PrintMap), 'zoonWorkflow', @@ -191,7 +191,7 @@ test_outputs <- function(roxy_parse, modulePath){ expect_is(w <- workflow(occurrence = NaiveRandomPresence(extent = myExtent, seed = 123), covariate = Chain(CovariateModule, CovariateModule), - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = PrintMap), 'zoonWorkflow', @@ -278,7 +278,7 @@ test_outputs <- function(roxy_parse, modulePath){ # Chained expect_is(w <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = Chain(OneHundredBackground, + process = Chain(Background(n = 70), ProcessModule), model = LogisticRegression, output = PrintMap), diff --git a/man/ChangeWorkflow.Rd b/man/ChangeWorkflow.Rd index dd0fbd0..27fcb57 100644 --- a/man/ChangeWorkflow.Rd +++ b/man/ChangeWorkflow.Rd @@ -27,7 +27,7 @@ Takes a workflow object and reruns it with changes. \dontrun{ w <- workflow(UKAnophelesPlumbeus, UKAir, - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap) diff --git a/man/Occurrence.Rd b/man/Occurrence.Rd index 41a7cf3..362569c 100644 --- a/man/Occurrence.Rd +++ b/man/Occurrence.Rd @@ -30,7 +30,7 @@ These functions access the output from each module type. If workflows \dontrun{ work1 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = OneHundredBackground, + process = Background(n = 70), model = list(LogisticRegression, LogisticRegression), output = PrintMap) diff --git a/man/RerunWorkflow.Rd b/man/RerunWorkflow.Rd index c6c7495..ec7a4e3 100644 --- a/man/RerunWorkflow.Rd +++ b/man/RerunWorkflow.Rd @@ -24,7 +24,7 @@ Takes a workflow object and reruns it. \dontrun{ w <- workflow(UKAnophelesPlumbeus, UKAir, - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap) diff --git a/man/workflow.Rd b/man/workflow.Rd index 8edca0e..16fdf25 100644 --- a/man/workflow.Rd +++ b/man/workflow.Rd @@ -41,7 +41,7 @@ This is the main function of zoon. The arguments should specify at least five work1 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = SameTimePlaceMap) diff --git a/tests/testthat/testChangeWorkflow.R b/tests/testthat/testChangeWorkflow.R index 6182c68..432dd77 100644 --- a/tests/testthat/testChangeWorkflow.R +++ b/tests/testthat/testChangeWorkflow.R @@ -8,7 +8,7 @@ test_that('ChangeWorkflow errors', { set.seed(1) w1 <- workflow(UKAnophelesPlumbeus, UKAir, - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap) @@ -30,7 +30,7 @@ test_that('Basic ChangeWorkflow works', { set.seed(1) w1 <- workflow(UKAnophelesPlumbeus, UKAir, - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap) @@ -38,7 +38,7 @@ test_that('Basic ChangeWorkflow works', { set.seed(1) w2 <- workflow(UKAnophelesPlumbeus, UKAir, - OneHundredBackground, + Background(n = 70), RandomForest, PrintMap) @@ -48,7 +48,7 @@ test_that('Basic ChangeWorkflow works', { expect_true(all.equal(w1[!names(w1) %in% 'session.info'], w3[!names(w3) %in% 'session.info'])) expect_true(identical(w2$call, - "workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, process = OneHundredBackground, model = RandomForest, output = PrintMap, forceReproducible = FALSE)")) + "workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, process = Background(n = 70), model = RandomForest, output = PrintMap, forceReproducible = FALSE)")) # Change Process, model and output @@ -61,7 +61,7 @@ test_that('Basic ChangeWorkflow works', { set.seed(1) w5 <- ChangeWorkflow(w4, - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = PrintMap) expect_true(all.equal(w1[!names(w1) %in% 'session.info'], @@ -75,7 +75,7 @@ test_that('Basic ChangeWorkflow works', { "/dev/null")) w6 <- workflow(AnophelesPlumbeus, UKBioclim, - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap, forceReproducible = TRUE) @@ -99,7 +99,7 @@ test_that('Basic ChangeWorkflow works', { set.seed(1) w7a <- workflow(UKAnophelesPlumbeus, UKAir, - OneHundredBackground, + Background(n = 70), LogisticRegression, PerformanceMeasures) set.seed(1) @@ -118,7 +118,7 @@ test_that('ChangeWorkflow - Chains', { set.seed(1) w1 <- workflow(UKAnophelesPlumbeus, UKAir, - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap) @@ -126,7 +126,7 @@ test_that('ChangeWorkflow - Chains', { set.seed(1) w8 <- workflow(Chain(UKAnophelesPlumbeus, UKAnophelesPlumbeus), UKAir, - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap) @@ -142,7 +142,7 @@ test_that('ChangeWorkflow - Chains', { set.seed(1) w10 <- workflow(UKAnophelesPlumbeus, Chain(UKAir, UKAir), - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap) @@ -175,7 +175,7 @@ test_that('ChangeWorkflow - Lists', { set.seed(1) w1 <- workflow(UKAnophelesPlumbeus, UKAir, - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap) @@ -183,7 +183,7 @@ test_that('ChangeWorkflow - Lists', { set.seed(1) w13 <- workflow(list(UKAnophelesPlumbeus, UKAnophelesPlumbeus), UKAir, - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap) @@ -199,7 +199,7 @@ test_that('ChangeWorkflow - Lists', { set.seed(1) w15 <- workflow(UKAnophelesPlumbeus, list(UKAir, UKAir), - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap) @@ -229,7 +229,7 @@ test_that('More complex syntax in remaining modules works', { set.seed(1) w1 <- workflow(UKAnophelesPlumbeus, UKAir, - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap) diff --git a/tests/testthat/testRerunWorkflow.R b/tests/testthat/testRerunWorkflow.R index cd4c99b..f2fd623 100644 --- a/tests/testthat/testRerunWorkflow.R +++ b/tests/testthat/testRerunWorkflow.R @@ -11,7 +11,7 @@ test_that('RerunWorkflow simple test', { set.seed(1) w1 <- workflow(UKAnophelesPlumbeus, UKAir, - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap, forceReproducible = TRUE) @@ -30,7 +30,7 @@ test_that('RerunWorkflow test error', { set.seed(1) w1 <- workflow(UKAnophelesPlumbeus, UKAir, - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap, forceReproducible = TRUE) @@ -52,7 +52,7 @@ test_that('RerunWorkflow test with NULLs', { set.seed(1) w1 <- workflow(UKAnophelesPlumbeus, UKAir, - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap, forceReproducible = TRUE) @@ -99,7 +99,7 @@ test_that('RerunWorkflow test with Chains', { set.seed(1) w13 <- workflow(Chain(UKAnophelesPlumbeus,UKAnophelesPlumbeus), UKAir, - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap, forceReproducible = TRUE) @@ -111,7 +111,7 @@ test_that('RerunWorkflow test with Chains', { set.seed(1) w15 <- workflow(Chain(UKAnophelesPlumbeus,UKAnophelesPlumbeus), Chain(UKAir, UKAir), - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap, forceReproducible = TRUE) @@ -128,7 +128,7 @@ test_that('RerunWorkflow test with lists', { set.seed(1) w17 <- workflow(list(UKAnophelesPlumbeus,UKAnophelesPlumbeus), UKAir, - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap, forceReproducible = TRUE) @@ -140,7 +140,7 @@ test_that('RerunWorkflow test with lists', { set.seed(1) w19 <- workflow(UKAnophelesPlumbeus, list(UKAir, UKAir), - OneHundredBackground, + Background(n = 70), LogisticRegression, PrintMap, forceReproducible = TRUE) @@ -157,7 +157,7 @@ test_that('RerunWorkflow test quoted modules', { set.seed(1) w21 <- workflow(occurrence = "UKAnophelesPlumbeus", covariate = UKAir, - process = OneHundredBackground, + process = Background(n = 70), model = RandomForest, output = PrintMap, forceReproducible = TRUE) diff --git a/tests/testthat/testWholeWorkflows.R b/tests/testthat/testWholeWorkflows.R index 24cfebb..81fd79d 100644 --- a/tests/testthat/testWholeWorkflows.R +++ b/tests/testthat/testWholeWorkflows.R @@ -9,7 +9,7 @@ test_that('simple, package data workflow works.', { work1 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = PrintMap) @@ -39,7 +39,7 @@ test_that('Check basic quoted workflow.', { work1 <- workflow(occurrence = 'UKAnophelesPlumbeus', covariate = 'UKAir', - process = 'OneHundredBackground', + process = 'Background(n = 70)', model = 'LogisticRegression', output = 'PrintMap') @@ -68,7 +68,7 @@ test_that('modules downloading data work', { work2 <- workflow(occurrence = SpOcc(species = 'Anopheles plumbeus', extent = c(-10, 10, 45, 65)), covariate = UKAir, - process = OneHundredBackground, + process = Background(n = 70), model = RandomForest, output = PrintMap) @@ -104,32 +104,32 @@ test_that('Workflows with lists of modules work.', { SpOcc(species = 'Anopheles plumbeus', extent = c(-10, 10, 45, 65))), covariate = UKAir, - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = PrintMap) workCovarList <- workflow(occurrence = UKAnophelesPlumbeus, covariate = list(UKAir, UKAir), - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = PrintMap) # There's only 1 appropriate process module at the moment! workProcessList <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = list(OneHundredBackground, OneHundredBackground), + process = list(Background(n = 70), Background(n = 70)), model = LogisticRegression, output = PrintMap) workModelList <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = OneHundredBackground, + process = Background(n = 70), model = list(LogisticRegression, RandomForest), output = PrintMap) workOutputList <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = list(PrintMap, PrintMap)) @@ -178,7 +178,7 @@ test_that('only one set of multiple lists allowed.', { x <- workflow(occurrence = list(UKAnophelesPlumbeus, UKAnophelesPlumbeus), covariate = list(UKAir, UKAir), - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = PrintMap) } @@ -186,7 +186,7 @@ test_that('only one set of multiple lists allowed.', { fnc2 <- function(){ x <- workflow(occurrence = UKAnophelesPlumbeus, covariate = list(UKAir, UKAir), - process = list(OneHundredBackground,OneHundredBackground), + process = list(Background(n = 70),Background(n = 70)), model = LogisticRegression, output = PrintMap) } @@ -194,7 +194,7 @@ fnc2 <- function(){ fnc3 <- function(){ x <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = OneHundredBackground, + process = Background(n = 70), model = list(LogisticRegression,LogisticRegression), output = list(PrintMap, PrintMap)) } @@ -239,32 +239,32 @@ test_that('chains work.', { chain1 <- workflow(occurrence = Chain(UKAnophelesPlumbeus,UKAnophelesPlumbeus), covariate = UKAir, - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = PrintMap) chain2 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = Chain(UKAir,UKAir), - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = PrintMap) chain3 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = Chain(UKAir,UKAir), - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = Chain(PrintMap, PrintMap)) chain4 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = Chain(PrintMap, PrintMap)) chain5 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = Chain(OneHundredBackground, NoProcess), + process = Chain(Background(n = 70), NoProcess), model = LogisticRegression, output = PrintMap) @@ -442,13 +442,13 @@ test_that('Output understands which previous model was listed.', { work1 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = list(LocalRaster(UKAirRas2), UKAir), - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = PrintMap) work2 <- workflow(occurrence = UKAnophelesPlumbeus, covariate = list(LocalRaster(UKAirRas2), UKAir), - process = OneHundredBackground, + process = Background(n = 70), model = LogisticRegression, output = Chain(PrintMap, PrintMap)) From 40de02c9eab9203e6170c2cfad3805dcdd613c70 Mon Sep 17 00:00:00 2001 From: AugustT Date: Wed, 1 Jun 2016 15:31:27 +0100 Subject: [PATCH 04/10] Address CRAN issues with testing scripts --- R/test_module.R | 2 +- R/test_outputs.R | 119 ++++++++++++++++-------- tests/testthat/testWholeWorkflows.R | 14 +-- tests/testthat/testprint.zoonWorkflow.R | 2 +- 4 files changed, 88 insertions(+), 49 deletions(-) diff --git a/R/test_module.R b/R/test_module.R index efa2b83..f807d1b 100644 --- a/R/test_module.R +++ b/R/test_module.R @@ -97,7 +97,7 @@ test_module <- function(modulePath){ } }) #time - expect_true(time['elapsed'] < 60, + expect_true(time['elapsed'] < 120, info = paste('Module tests should not take a long time, yours took', time['elapsed'], 'seconds, please change your defualt values so that test workflow runs do not take too long')) } \ No newline at end of file diff --git a/R/test_outputs.R b/R/test_outputs.R index d118bbf..8d34496 100644 --- a/R/test_outputs.R +++ b/R/test_outputs.R @@ -2,13 +2,29 @@ # (within a context) test_outputs <- function(roxy_parse, modulePath){ + # create enviromnet for zoon to find variables + pos <- 1 + en <- as.environment(pos) + + # Appease CRAN + # The modules in these checks appear to have no global definition + # I get around this by assigning them all to NULL here and then loading + # them in. using forcereproducile = TRUE is not an option as this does + # not allow me to use the module under test + Background <- BackgroundAndCrossvalid <- CarolinaWrenPA <- NULL + CarolinaWrenRasters <- Clean <- Crossvalidate <- LogisticRegression <- NULL + NCEP <- NaiveRandomPresence <- NoProcess <- PerformanceMeasures <- NULL + PrintMap <- RandomForest <- UKAir <- UKAnophelesPlumbeus <- NULL + + LoadModule('Background'); LoadModule('BackgroundAndCrossvalid') + LoadModule('CarolinaWrenPA'); LoadModule('CarolinaWrenRasters') + LoadModule('Clean'); LoadModule('Crossvalidate'); LoadModule('LogisticRegression') + LoadModule('NCEP'); LoadModule('NaiveRandomPresence'); LoadModule('NoProcess') + LoadModule('PerformanceMeasures'); LoadModule('PrintMap'); LoadModule('RandomForest') + LoadModule('UKAir'); LoadModule('UKAnophelesPlumbeus') + test_that('Check output formats',{ - # download.file sends tonnes of stuff to my console - # it is used internally in a number of modules - # This is a naughty fix to shut it up (I tried everything) - formals(download.file)$quiet <- TRUE - ## OCCURRENCE MODULES ## if(roxy_parse$family == 'occurrence'){ @@ -38,7 +54,7 @@ test_outputs <- function(roxy_parse, modulePath){ # Assign function OccurrenceModule <- source(modulePath)$value # this line is needed to it to the global env. where zoon looks - assign('OccurrenceModule', OccurrenceModule, env = .GlobalEnv) + assign('OccurrenceModule', OccurrenceModule, envir = en) # Get the data types sections <- roxy_parse[grepl('section', names(roxy_parse))] @@ -53,7 +69,7 @@ test_outputs <- function(roxy_parse, modulePath){ myExtent <- c(xmin, xmax, ymin, ymax) # We have to do this so that zoon can find it - assign('myExtent', myExtent, env = .GlobalEnv) + assign('myExtent', myExtent, envir = en) for(data_type in data_types){ @@ -66,7 +82,8 @@ test_outputs <- function(roxy_parse, modulePath){ extent = myExtent), process = Background(n = 70), model = LogisticRegression, - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The occurrence module did not work in a standard workflow') @@ -77,7 +94,8 @@ test_outputs <- function(roxy_parse, modulePath){ extent = myExtent), process = Background(n = 70), model = LogisticRegression, - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The occurrence module did not work when chained in a workflow') @@ -89,7 +107,8 @@ test_outputs <- function(roxy_parse, modulePath){ extent = myExtent), process = BackgroundAndCrossvalid, model = LogisticRegression, - output = PerformanceMeasures), + output = PerformanceMeasures, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The occurrence module did not work when listed in a workflow with crossvalidation') @@ -102,7 +121,8 @@ test_outputs <- function(roxy_parse, modulePath){ extent = myExtent), process = NoProcess, model = LogisticRegression, - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The occurrence module did not work in a standard workflow') @@ -116,7 +136,8 @@ test_outputs <- function(roxy_parse, modulePath){ extent = myExtent), process = NoProcess, model = LogisticRegression, - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The occurrence module did not work when chained in a workflow') @@ -129,7 +150,8 @@ test_outputs <- function(roxy_parse, modulePath){ extent = myExtent), process = Crossvalidate, model = LogisticRegression, - output = PerformanceMeasures), + output = PerformanceMeasures, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The occurrence module did not work when listed in a workflow with crossvalidation') @@ -167,7 +189,7 @@ test_outputs <- function(roxy_parse, modulePath){ # Assign function CovariateModule <- source(modulePath)$value # this line is needed to it to the global env. where zoon looks - assign('CovariateModule', CovariateModule, env = .GlobalEnv) + assign('CovariateModule', CovariateModule, envir = en) expect_is(extent(cov_return), "Extent", info = 'An extent could not be obtained from the object returned by the covariate module') @@ -175,7 +197,7 @@ test_outputs <- function(roxy_parse, modulePath){ myExtent <- as.vector(extent(cov_return)) # We have to do this so that zoon can find it - assign('myExtent', myExtent, env = .GlobalEnv) + assign('myExtent', myExtent, envir = en) # Normal expect_is(w <- workflow(occurrence = NaiveRandomPresence(extent = myExtent, @@ -183,7 +205,8 @@ test_outputs <- function(roxy_parse, modulePath){ covariate = CovariateModule, process = Background(n = 70), model = LogisticRegression, - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The covariate module did not work in a standard workflow') @@ -193,7 +216,8 @@ test_outputs <- function(roxy_parse, modulePath){ covariate = Chain(CovariateModule, CovariateModule), process = Background(n = 70), model = LogisticRegression, - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The covariate module did not work when chained in a workflow') @@ -203,7 +227,8 @@ test_outputs <- function(roxy_parse, modulePath){ covariate = list(CovariateModule, CovariateModule), process = BackgroundAndCrossvalid, model = LogisticRegression, - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The covariate module did not work when listed in a workflow with crossvalidation') @@ -222,7 +247,7 @@ test_outputs <- function(roxy_parse, modulePath){ # assign the module ProcessModule <- source(modulePath)$value # this line is needed to it to the global env. where zoon looks - assign('ProcessModule', ProcessModule, env = .GlobalEnv) + assign('ProcessModule', ProcessModule, envir = en) for(data_type in c("presence/absence", "presence-only")){ @@ -271,7 +296,8 @@ test_outputs <- function(roxy_parse, modulePath){ covariate = CarolinaWrenRasters, process = ProcessModule, model = LogisticRegression, - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The process module did not work in a standard workflow') @@ -281,7 +307,8 @@ test_outputs <- function(roxy_parse, modulePath){ process = Chain(Background(n = 70), ProcessModule), model = LogisticRegression, - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The process module did not work in a chain workflow') @@ -291,7 +318,8 @@ test_outputs <- function(roxy_parse, modulePath){ process = list(Crossvalidate, ProcessModule), model = LogisticRegression, - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The process module did not work in a list workflow') @@ -303,17 +331,19 @@ test_outputs <- function(roxy_parse, modulePath){ covariate = UKAir, process = ProcessModule, model = RandomForest, - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The process module did not work in a standard workflow') # Chain expect_is(w <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = list(Clean, + process = list(NoProcess, ProcessModule), model = RandomForest, - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The process module did not work in a chain workflow') @@ -323,7 +353,8 @@ test_outputs <- function(roxy_parse, modulePath){ process = list(NoProcess, ProcessModule), model = RandomForest, - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The process module did not work in a list workflow') } @@ -344,7 +375,7 @@ test_outputs <- function(roxy_parse, modulePath){ # assign the module ModelModule <- source(modulePath)$value # this line is needed to it to the global env. where zoon looks - assign('ModelModule', ModelModule, env = .GlobalEnv) + assign('ModelModule', ModelModule, envir = en) if(length(data_types) > 0){ @@ -403,27 +434,30 @@ test_outputs <- function(roxy_parse, modulePath){ # normal expect_is(w <- workflow(occurrence = CarolinaWrenPA, covariate = CarolinaWrenRasters, - process = Clean, + process = NoProcess, model = ModelModule, - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The model module did not work in a standard workflow') # Chained expect_is(w <- workflow(occurrence = CarolinaWrenPA, covariate = CarolinaWrenRasters, - process = Chain(Clean, NoProcess), + process = Chain(NoProcess, NoProcess), model = ModelModule, - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The model module did not work in a chain workflow') # list expect_is(w <- workflow(occurrence = CarolinaWrenPA, covariate = CarolinaWrenRasters, - process = Clean, + process = NoProcess, model = list(ModelModule, ModelModule), - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The process module did not work in a list workflow') @@ -432,7 +466,8 @@ test_outputs <- function(roxy_parse, modulePath){ covariate = CarolinaWrenRasters, process = Crossvalidate, model = list(ModelModule, ModelModule), - output = PerformanceMeasures), + output = PerformanceMeasures, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The process module did not work in a crossvalidation workflow') @@ -444,17 +479,19 @@ test_outputs <- function(roxy_parse, modulePath){ covariate = UKAir, process = Background(n = 70), model = ModelModule, - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The process module did not work in a standard workflow') # Chain expect_is(w <- workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, - process = list(Clean, + process = list(NoProcess, Background(n = 70)), model = ModelModule, - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The process module did not work in a chain workflow') @@ -463,7 +500,8 @@ test_outputs <- function(roxy_parse, modulePath){ covariate = UKAir, process = Background(n = 70), model = list(ModelModule, ModelModule), - output = PrintMap), + output = PrintMap, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The process module did not work in a list workflow') @@ -472,7 +510,8 @@ test_outputs <- function(roxy_parse, modulePath){ covariate = UKAir, process = Chain(Background(n = 70), Crossvalidate), model = ModelModule, - output = PerformanceMeasures), + output = PerformanceMeasures, + forceReproducible = FALSE), 'zoonWorkflow', info = 'The process module did not work in a crossvalidation workflow') } @@ -494,7 +533,7 @@ test_outputs <- function(roxy_parse, modulePath){ # assign the module OutputModule <- source(modulePath)$value # this line is needed to it to the global env. where zoon looks - assign('OutputModule', OutputModule, env = .GlobalEnv) + assign('OutputModule', OutputModule, envir = en) ## ADD IN TEST OF OUTPUTS IF WE DECIDE THEY SHOULD CHAIN ## diff --git a/tests/testthat/testWholeWorkflows.R b/tests/testthat/testWholeWorkflows.R index 81fd79d..8d2e590 100644 --- a/tests/testthat/testWholeWorkflows.R +++ b/tests/testthat/testWholeWorkflows.R @@ -21,7 +21,7 @@ test_that('simple, package data workflow works.', { expect_equal(dim(work1$covariate.output[[1]]), c(9,9,1)) expect_equal(names(work1$process.output[[1]]$df), c('value', 'type', 'fold', 'longitude', 'latitude', 'layer')) - expect_equal(dim(work1$process.output[[1]][[1]]), c(269, 6)) + expect_equal(dim(work1$process.output[[1]][[1]]), c(258, 6)) expect_is((work1$model.output[[1]])$model, c('zoonModel')) expect_is((work1$model.output[[1]])$model$model, c('glm', 'lm')) expect_is((work1$model.output[[1]])$data, c('data.frame')) @@ -39,7 +39,7 @@ test_that('Check basic quoted workflow.', { work1 <- workflow(occurrence = 'UKAnophelesPlumbeus', covariate = 'UKAir', - process = 'Background(n = 70)', + process = 'Background', model = 'LogisticRegression', output = 'PrintMap') @@ -274,7 +274,7 @@ test_that('chains work.', { expect_equal(dim(chain1$covariate.output[[1]]), c(9,9,1)) expect_equal(names(chain1$process.output[[1]]$df), c('value', 'type', 'fold', 'longitude', 'latitude', 'layer')) - expect_equal(dim(chain1$process.output[[1]]$df), c(457, 6)) + expect_equal(dim(chain1$process.output[[1]]$df), c(446, 6)) expect_is((chain1$model.output[[1]])$model, c('zoonModel')) expect_is((chain1$model.output[[1]])$model$model, c('glm', 'lm')) expect_is(chain1$report[[1]], 'RasterLayer') @@ -289,7 +289,7 @@ test_that('chains work.', { expect_equal(dim(chain2$covariate.output[[1]]), c(9,9,2)) expect_equal(names(chain2$process.output[[1]]$df), c('value', 'type', 'fold', 'longitude', 'latitude', 'layer.1', 'layer.2')) - expect_equal(dim(chain2$process.output[[1]]$df), c(269, 7)) + expect_equal(dim(chain2$process.output[[1]]$df), c(258, 7)) expect_is((chain2$model.output[[1]])$model, c('zoonModel')) expect_is((chain2$model.output[[1]])$model$model, c('glm', 'lm')) expect_is(chain2$report[[1]], 'RasterLayer') @@ -304,7 +304,7 @@ test_that('chains work.', { expect_equal(dim(chain3$covariate.output[[1]]), c(9,9,2)) expect_equal(names(chain3$process.output[[1]]$df), c('value', 'type', 'fold', 'longitude', 'latitude', 'layer.1', 'layer.2')) - expect_equal(dim(chain3$process.output[[1]]$df), c(269, 7)) + expect_equal(dim(chain3$process.output[[1]]$df), c(258, 7)) expect_is((chain3$model.output[[1]])$model, c('zoonModel')) expect_is((chain3$model.output[[1]])$model$model, c('glm', 'lm')) expect_is(chain3$report[[1]], 'list') @@ -319,7 +319,7 @@ test_that('chains work.', { expect_equal(dim(chain4$covariate.output[[1]]), c(9,9,1)) expect_equal(names(chain4$process.output[[1]]$df), c('value', 'type', 'fold', 'longitude', 'latitude', 'layer')) - expect_equal(dim(chain4$process.output[[1]]$df), c(269, 6)) + expect_equal(dim(chain4$process.output[[1]]$df), c(258, 6)) expect_is((chain4$model.output[[1]])$model, c('zoonModel')) expect_is((chain4$model.output[[1]])$model$model, c('glm', 'lm')) expect_is(chain4$report[[1]], 'list') @@ -334,7 +334,7 @@ test_that('chains work.', { expect_equal(dim(chain5$covariate.output[[1]]), c(9,9,1)) expect_equal(names(chain5$process.output[[1]]$df), c('value', 'type', 'fold', 'longitude', 'latitude', 'layer')) - expect_equal(dim(chain5$process.output[[1]]$df), c(269, 6)) + expect_equal(dim(chain5$process.output[[1]]$df), c(258, 6)) expect_is((chain5$model.output[[1]])$model, c('zoonModel')) expect_is((chain5$model.output[[1]])$model$model, c('glm', 'lm')) expect_is(chain5$report[[1]], 'RasterLayer') diff --git a/tests/testthat/testprint.zoonWorkflow.R b/tests/testthat/testprint.zoonWorkflow.R index 69a575b..10f84fd 100644 --- a/tests/testthat/testprint.zoonWorkflow.R +++ b/tests/testthat/testprint.zoonWorkflow.R @@ -16,7 +16,7 @@ test_that('print.zoonWorkflow tests', { expect_identical(sum_out, c("zoonWorkflow Object", "===================", "", - "Call: workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, process = OneHundredBackground, model = LogisticRegression, output = PrintMap, forceReproducible = FALSE) " + "Call: workflow(occurrence = UKAnophelesPlumbeus, covariate = UKAir, process = Background(n = 70), model = LogisticRegression, output = PrintMap, forceReproducible = FALSE) " )) }) From bf76503d70da1678a0b863535221beed3944ccfc Mon Sep 17 00:00:00 2001 From: AugustT Date: Wed, 1 Jun 2016 16:53:15 +0100 Subject: [PATCH 05/10] Add packages used by modules in testing into the description and namespace. --- DESCRIPTION | 7 ++++++- NAMESPACE | 8 ++++++++ R/test_outputs.R | 6 ++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 1250dae..564f26a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -15,7 +15,12 @@ Imports: rfigshare, methods, testthat, - roxygen2 + roxygen2, + maxlike, + scrubr, + RNCEP, + SDMTools, + randomForest Depends: raster (>= 2.4-20), R (>= 3.2.0) diff --git a/NAMESPACE b/NAMESPACE index 6c82c44..1e36c95 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -30,17 +30,25 @@ export(ZoonPredict) export(workflow) import(RCurl) import(dismo) +import(maxlike) import(methods) +import(randomForest) import(raster) import(roxygen2) import(testthat) importFrom(RCurl,url.exists) +importFrom(RNCEP,NCEP.gather) +importFrom(SDMTools,auc) +importFrom(SDMTools,confusion.matrix) importFrom(graphics,par) importFrom(graphics,plot.new) importFrom(graphics,rect) importFrom(graphics,segments) importFrom(graphics,strwidth) importFrom(rfigshare,fs_new_article) +importFrom(scrubr,coord_impossible) +importFrom(scrubr,coord_incomplete) +importFrom(scrubr,coord_unlikely) importFrom(utils,browseURL) importFrom(utils,capture.output) importFrom(utils,download.file) diff --git a/R/test_outputs.R b/R/test_outputs.R index 8d34496..82f9b74 100644 --- a/R/test_outputs.R +++ b/R/test_outputs.R @@ -1,3 +1,9 @@ +#' @import maxlike +#' @importFrom scrubr coord_impossible coord_incomplete coord_unlikely +#' @importFrom RNCEP NCEP.gather +#' @importFrom SDMTools auc confusion.matrix +#' @import randomForest +#' # A function for testing the outputs conform to the expected # (within a context) test_outputs <- function(roxy_parse, modulePath){ From 695cdf254ae74b18dfb5c4aee519d1f084331b7b Mon Sep 17 00:00:00 2001 From: AugustT Date: Thu, 2 Jun 2016 09:26:48 +0100 Subject: [PATCH 06/10] Attempt to fix failure on travis --- R/test_outputs.R | 1 + 1 file changed, 1 insertion(+) diff --git a/R/test_outputs.R b/R/test_outputs.R index 82f9b74..e9380a2 100644 --- a/R/test_outputs.R +++ b/R/test_outputs.R @@ -3,6 +3,7 @@ #' @importFrom RNCEP NCEP.gather #' @importFrom SDMTools auc confusion.matrix #' @import randomForest +#' @import raster #' # A function for testing the outputs conform to the expected # (within a context) From ea9f6c5e0c6ac38b217d850dd189d81a7eecf4bf Mon Sep 17 00:00:00 2001 From: AugustT Date: Fri, 3 Jun 2016 15:07:12 +0100 Subject: [PATCH 07/10] Improve formatting of roxygen blocks --- R/BuildModule.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R/BuildModule.R b/R/BuildModule.R index 768df1a..4b30be7 100644 --- a/R/BuildModule.R +++ b/R/BuildModule.R @@ -115,7 +115,7 @@ BuildModule <- function(object, type, dir='.', title = '', description = '', # Sort out parameter formating. paraNames <- names(paras) - paraDocs <- paste(sapply(paraNames, function(x) paste("#' @param", x, paras[x])), collapse="#'\n") + paraDocs <- paste(sapply(paraNames, function(x) paste("\n#'\n#' @param", x, paras[x])), collapse="") # Roxygen2 uses @ as a tag. So have to double it. email <- gsub('@', '@@', email) @@ -135,7 +135,7 @@ BuildModule <- function(object, type, dir='.', title = '', description = '', "\n#'\n#' @title ", title, "\n#'\n#' @description ", description, "\n#'\n#' @details ", details, - "\n#'\n", paraDocs, + paraDocs, "\n#'\n#' @family ", type, "\n#'\n#' @author ", authors, ', ', '\\email{', email, '}', dataType, From 4b4e9e338b10bc7b8012769064b5d3404a37e2ad Mon Sep 17 00:00:00 2001 From: AugustT Date: Fri, 3 Jun 2016 17:36:18 +0100 Subject: [PATCH 08/10] Update tests to remove dependencies. Update namespace and description file accordingly. --- DESCRIPTION | 3 - NAMESPACE | 5 -- R/test_outputs.R | 209 ++++++++++++++++++++++++++++------------------- R/zoonHelpers.R | 10 +++ 4 files changed, 136 insertions(+), 91 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 564f26a..6ceae04 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -16,9 +16,6 @@ Imports: methods, testthat, roxygen2, - maxlike, - scrubr, - RNCEP, SDMTools, randomForest Depends: diff --git a/NAMESPACE b/NAMESPACE index 1e36c95..8997d80 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -30,14 +30,12 @@ export(ZoonPredict) export(workflow) import(RCurl) import(dismo) -import(maxlike) import(methods) import(randomForest) import(raster) import(roxygen2) import(testthat) importFrom(RCurl,url.exists) -importFrom(RNCEP,NCEP.gather) importFrom(SDMTools,auc) importFrom(SDMTools,confusion.matrix) importFrom(graphics,par) @@ -46,9 +44,6 @@ importFrom(graphics,rect) importFrom(graphics,segments) importFrom(graphics,strwidth) importFrom(rfigshare,fs_new_article) -importFrom(scrubr,coord_impossible) -importFrom(scrubr,coord_incomplete) -importFrom(scrubr,coord_unlikely) importFrom(utils,browseURL) importFrom(utils,capture.output) importFrom(utils,download.file) diff --git a/R/test_outputs.R b/R/test_outputs.R index e9380a2..9707631 100644 --- a/R/test_outputs.R +++ b/R/test_outputs.R @@ -1,9 +1,5 @@ -#' @import maxlike -#' @importFrom scrubr coord_impossible coord_incomplete coord_unlikely -#' @importFrom RNCEP NCEP.gather #' @importFrom SDMTools auc confusion.matrix #' @import randomForest -#' @import raster #' # A function for testing the outputs conform to the expected # (within a context) @@ -18,29 +14,28 @@ test_outputs <- function(roxy_parse, modulePath){ # I get around this by assigning them all to NULL here and then loading # them in. using forcereproducile = TRUE is not an option as this does # not allow me to use the module under test - Background <- BackgroundAndCrossvalid <- CarolinaWrenPA <- NULL - CarolinaWrenRasters <- Clean <- Crossvalidate <- LogisticRegression <- NULL - NCEP <- NaiveRandomPresence <- NoProcess <- PerformanceMeasures <- NULL - PrintMap <- RandomForest <- UKAir <- UKAnophelesPlumbeus <- NULL - LoadModule('Background'); LoadModule('BackgroundAndCrossvalid') - LoadModule('CarolinaWrenPA'); LoadModule('CarolinaWrenRasters') - LoadModule('Clean'); LoadModule('Crossvalidate'); LoadModule('LogisticRegression') - LoadModule('NCEP'); LoadModule('NaiveRandomPresence'); LoadModule('NoProcess') - LoadModule('PerformanceMeasures'); LoadModule('PrintMap'); LoadModule('RandomForest') - LoadModule('UKAir'); LoadModule('UKAnophelesPlumbeus') - - test_that('Check output formats',{ + test_that('Check OCCURRENCE output formats',{ ## OCCURRENCE MODULES ## if(roxy_parse$family == 'occurrence'){ + Background <- BackgroundAndCrossvalid <- NULL + NaiveRandomRaster <- Crossvalidate <- LogisticRegression <- NULL + NoProcess <- PrintMap <- NULL + + ## Move these to the sections where they are needed + LoadModule('Background'); LoadModule('BackgroundAndCrossvalid') + LoadModule('Crossvalidate'); LoadModule('LogisticRegression') + LoadModule('NaiveRandomRaster');LoadModule('NoProcess') + LoadModule('PrintMap') + # Load the script source(modulePath) # Run the module with defaults suppressWarnings({ - occ_return <- do.call(roxy_parse$name, args = list()) + occ_return <- do.call(roxy_parse$name, args = list()) }) # Check the data.frame returned is as expected @@ -70,8 +65,8 @@ test_outputs <- function(roxy_parse, modulePath){ xmin <- floor(min(occ_return$longitude, na.rm = TRUE)) xmax <- ceiling(max(occ_return$longitude, na.rm = TRUE)) - ymin <- floor(min(occ_return$longitude, na.rm = TRUE)) - ymax <- ceiling(min(occ_return$longitude, na.rm = TRUE)) + ymin <- floor(min(occ_return$latitude, na.rm = TRUE)) + ymax <- ceiling(max(occ_return$latitude, na.rm = TRUE)) myExtent <- c(xmin, xmax, ymin, ymax) @@ -85,8 +80,9 @@ test_outputs <- function(roxy_parse, modulePath){ # test normal expect_is(w <- workflow(occurrence = OccurrenceModule, - covariate = NCEP(variables = 'air', - extent = myExtent), + covariate = NaiveRandomRaster(extent = myExtent, + res = 0.5, + seed = 123), process = Background(n = 70), model = LogisticRegression, output = PrintMap, @@ -97,8 +93,9 @@ test_outputs <- function(roxy_parse, modulePath){ # test Chain expect_is(w <- workflow(occurrence = Chain(OccurrenceModule, OccurrenceModule), - covariate = NCEP(variables = 'air', - extent = myExtent), + covariate = NaiveRandomRaster(extent = myExtent, + res = 0.5, + seed = 123), process = Background(n = 70), model = LogisticRegression, output = PrintMap, @@ -110,8 +107,9 @@ test_outputs <- function(roxy_parse, modulePath){ # test list + crossvalidation expect_is(w <- workflow(occurrence = list(OccurrenceModule, OccurrenceModule), - covariate = NCEP(variables = 'air', - extent = myExtent), + covariate = NaiveRandomRaster(extent = myExtent, + res = 0.5, + seed = 123), process = BackgroundAndCrossvalid, model = LogisticRegression, output = PerformanceMeasures, @@ -122,60 +120,65 @@ test_outputs <- function(roxy_parse, modulePath){ } else if(data_type == "presence/absence"){ - # test normal - expect_is(w <- workflow(occurrence = OccurrenceModule, - covariate = NCEP(variables = 'air', - extent = myExtent), - process = NoProcess, - model = LogisticRegression, - output = PrintMap, - forceReproducible = FALSE), - 'zoonWorkflow', - info = 'The occurrence module did not work in a standard workflow') - - # test this - Occurrence(w) - - # test Chain - expect_is(w <- workflow(occurrence = Chain(OccurrenceModule, - OccurrenceModule), - covariate = NCEP(variables = 'air', - extent = myExtent), - process = NoProcess, - model = LogisticRegression, - output = PrintMap, - forceReproducible = FALSE), - 'zoonWorkflow', - info = 'The occurrence module did not work when chained in a workflow') - - - - # test list + crossvalidation - expect_is(w <- workflow(occurrence = list(OccurrenceModule, - OccurrenceModule), - covariate = NCEP(variables = 'air', - extent = myExtent), - process = Crossvalidate, - model = LogisticRegression, - output = PerformanceMeasures, - forceReproducible = FALSE), - 'zoonWorkflow', - info = 'The occurrence module did not work when listed in a workflow with crossvalidation') + # test normal + expect_is(w <- workflow(occurrence = OccurrenceModule, + covariate = NaiveRandomRaster(extent = myExtent, + res = 0.5, + seed = 123), + process = NoProcess, + model = LogisticRegression, + output = PrintMap, + forceReproducible = FALSE), + 'zoonWorkflow', + info = 'The occurrence module did not work in a standard workflow') + + # test Chain + expect_is(w <- workflow(occurrence = Chain(OccurrenceModule, + OccurrenceModule), + covariate = NaiveRandomRaster(extent = myExtent, + res = 0.5, + seed = 123), + process = NoProcess, + model = LogisticRegression, + output = PrintMap, + forceReproducible = FALSE), + 'zoonWorkflow', + info = 'The occurrence module did not work when chained in a workflow') + + + # test list + crossvalidation + expect_is(w <- workflow(occurrence = list(OccurrenceModule, + OccurrenceModule), + covariate = NaiveRandomRaster(extent = myExtent, + res = 0.5, + seed = 123), + process = Crossvalidate, + model = LogisticRegression, + output = PerformanceMeasures, + forceReproducible = FALSE), + 'zoonWorkflow', + info = 'The occurrence module did not work when listed in a workflow with crossvalidation') + } ## Add tests for proportion and abundance ## - - - # create a modules that creates a random number of - # presence points - } - - } + }) + + test_that('Check COVARIATE output formats',{ ## COVARIATE MODULES ## if(roxy_parse$family == 'covariate'){ + Background <- BackgroundAndCrossvalid <- NULL + LogisticRegression <- NaiveRandomPresence <- NULL + PrintMap <- NULL + + ## Move these to the sections where they are needed + LoadModule('Background'); LoadModule('BackgroundAndCrossvalid') + LoadModule('LogisticRegression'); LoadModule('NaiveRandomPresence'); + LoadModule('PrintMap') + # Load the script source(modulePath) @@ -240,10 +243,26 @@ test_outputs <- function(roxy_parse, modulePath){ info = 'The covariate module did not work when listed in a workflow with crossvalidation') } + }) + + + test_that('Check PROCESS output formats',{ ## PROCESS MODULES ## if(roxy_parse$family == 'process'){ + Background <- NaiveRandomPresenceAbsence <- NULL + NaiveRandomRaster <- Crossvalidate <- LogisticRegression <- NULL + NoProcess <- NULL + PrintMap <- RandomForest <- UKAir <- UKAnophelesPlumbeus <- NULL + + ## Move these to the sections where they are needed + LoadModule('Background'); LoadModule('NaiveRandomPresenceAbsence') + LoadModule('Crossvalidate'); LoadModule('LogisticRegression') + LoadModule('NaiveRandomRaster'); LoadModule('NoProcess') + LoadModule('PrintMap'); LoadModule('RandomForest') + LoadModule('UKAir'); LoadModule('UKAnophelesPlumbeus') + # Load the script source(modulePath) @@ -299,8 +318,8 @@ test_outputs <- function(roxy_parse, modulePath){ if(data_type == "presence/absence"){ # normal - expect_is(w <- workflow(occurrence = CarolinaWrenPA, - covariate = CarolinaWrenRasters, + expect_is(w <- workflow(occurrence = NaiveRandomPresenceAbsence, + covariate = NaiveRandomRaster, process = ProcessModule, model = LogisticRegression, output = PrintMap, @@ -320,8 +339,8 @@ test_outputs <- function(roxy_parse, modulePath){ info = 'The process module did not work in a chain workflow') # list + crossvalidated - expect_is(w <- workflow(occurrence = CarolinaWrenPA, - covariate = CarolinaWrenRasters, + expect_is(w <- workflow(occurrence = NaiveRandomPresenceAbsence, + covariate = NaiveRandomRaster, process = list(Crossvalidate, ProcessModule), model = LogisticRegression, @@ -368,10 +387,23 @@ test_outputs <- function(roxy_parse, modulePath){ } } } + }) + + test_that('Check MODEL output formats',{ ## MODEL MODULES ## if(roxy_parse$family == 'model'){ + Background <- NaiveRandomRaster <- Crossvalidate <- NULL + NaiveRandomPresenceAbsence <- NoProcess <- PerformanceMeasures <- NULL + PrintMap <- UKAir <- UKAnophelesPlumbeus <- NULL + + ## Move these to the sections where they are needed + LoadModule('Background'); LoadModule('Crossvalidate') + LoadModule('NaiveRandomRaster'); LoadModule('NaiveRandomPresenceAbsence') + LoadModule('NoProcess'); LoadModule('PerformanceMeasures'); + LoadModule('PrintMap'); LoadModule('UKAir'); LoadModule('UKAnophelesPlumbeus') + # Load the script source(modulePath) @@ -439,8 +471,8 @@ test_outputs <- function(roxy_parse, modulePath){ if(data_type == "presence/absence"){ # normal - expect_is(w <- workflow(occurrence = CarolinaWrenPA, - covariate = CarolinaWrenRasters, + expect_is(w <- workflow(occurrence = NaiveRandomPresenceAbsence, + covariate = NaiveRandomRaster, process = NoProcess, model = ModelModule, output = PrintMap, @@ -449,8 +481,8 @@ test_outputs <- function(roxy_parse, modulePath){ info = 'The model module did not work in a standard workflow') # Chained - expect_is(w <- workflow(occurrence = CarolinaWrenPA, - covariate = CarolinaWrenRasters, + expect_is(w <- workflow(occurrence = NaiveRandomPresenceAbsence, + covariate = NaiveRandomRaster, process = Chain(NoProcess, NoProcess), model = ModelModule, output = PrintMap, @@ -459,8 +491,8 @@ test_outputs <- function(roxy_parse, modulePath){ info = 'The model module did not work in a chain workflow') # list - expect_is(w <- workflow(occurrence = CarolinaWrenPA, - covariate = CarolinaWrenRasters, + expect_is(w <- workflow(occurrence = NaiveRandomPresenceAbsence, + covariate = NaiveRandomRaster, process = NoProcess, model = list(ModelModule, ModelModule), output = PrintMap, @@ -469,8 +501,8 @@ test_outputs <- function(roxy_parse, modulePath){ info = 'The process module did not work in a list workflow') # crossvalidate - expect_is(w <- workflow(occurrence = CarolinaWrenPA, - covariate = CarolinaWrenRasters, + expect_is(w <- workflow(occurrence = NaiveRandomPresenceAbsence, + covariate = NaiveRandomRaster, process = Crossvalidate, model = list(ModelModule, ModelModule), output = PerformanceMeasures, @@ -526,10 +558,21 @@ test_outputs <- function(roxy_parse, modulePath){ } } } + }) + + + test_that('Check OUTPUT output formats',{ ## OUTPUT MODULES ## if(roxy_parse$family == 'output'){ + Background <- LogisticRegression <- NULL + UKAir <- UKAnophelesPlumbeus <- NULL + + ## Move these to the sections where they are needed + LoadModule('Background'); LoadModule('LogisticRegression') + LoadModule('UKAir'); LoadModule('UKAnophelesPlumbeus') + # Load the script source(modulePath) diff --git a/R/zoonHelpers.R b/R/zoonHelpers.R index 9a87cf3..c4874f3 100644 --- a/R/zoonHelpers.R +++ b/R/zoonHelpers.R @@ -359,6 +359,16 @@ FormatModuleList <- function(x){ ExtractAndCombData <- function(occurrence, ras){ + # Check for rows in the occurrence data that have missing data + NArows <- apply(occurrence[,c('longitude', 'latitude')], + 1, + function(x) any(is.na(x))) + + if(any(NArows)){ + warning(sum(NArows), ' row(s) of occurrence data have NA values for latitude/longitude and will be removed') + occurrence <- occurrence[!NArows, ] + } + # Check that all points are within the raster bad.coords <- is.na(cellFromXY(ras, occurrence[,c('longitude', 'latitude')])) From 575f3b5e8f08ff1362b05c8882867550d1a8fe62 Mon Sep 17 00:00:00 2001 From: AugustT Date: Mon, 6 Jun 2016 09:51:04 +0100 Subject: [PATCH 09/10] Merge Nicks changes --- R/zoon.R | 10 ---------- R/zoonHelpers.R | 20 +++++++++++--------- R/zzz.R | 12 +++++++++++- 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/R/zoon.R b/R/zoon.R index f4c61d1..2dc8d82 100644 --- a/R/zoon.R +++ b/R/zoon.R @@ -11,16 +11,6 @@ # # WITH REPRODUCIBLE, ACCESSIBLE & SHAREABLE SCIENTIFIC OUTPUTS IN R - - - -# name a specific sha for a state of the modules repo, for tagged -# versions of zoon, or 'master' for non-tagged versions -# .sha <- 'b1544fbadaa21c41b4b51922ae73e44923b890ed' -.sha <- 'master' - - - #'Zoon: A package for comparing multple SDM models, good model diagnostics #' and better reproducibility #'@name zoon diff --git a/R/zoonHelpers.R b/R/zoonHelpers.R index c4874f3..c309902 100644 --- a/R/zoonHelpers.R +++ b/R/zoonHelpers.R @@ -17,13 +17,12 @@ LoadModule <- function(module){ # module must be a string + # URL to module in user's favourite repo & branch + zoonURL <- sprintf('%s/%s/R/%s.R', + options('zoonRepo'), + options('zoonRepoBranch'), + module) - # Create url that matches zoon repo - # .sha will vary based on whether this is pegged to a specific version of - # modules - zoonURL <- - sprintf('https://raw.githubusercontent.com/zoonproject/modules/%s/R/%s.R', - .sha, module) # If module is a path, load module if (file.exists(module)){ txt <- parse(text = paste(readLines(module), collapse="\n")) @@ -70,10 +69,13 @@ LoadModule <- function(module){ #@name GetModule GetModule <- function(module, forceReproducible){ - zoonURL <- - paste0('https://raw.githubusercontent.com/zoonproject/modules/master/R/', - module, '.R') + # URL to module in user's favourite repo & branch + zoonURL <- sprintf('%s/%s/R/%s.R', + options('zoonRepo'), + options('zoonRepoBranch'), + module) + # If the module is in global namespace, use that function # unless forceReproduce is TRUE, in which case we want to get from repo. # diff --git a/R/zzz.R b/R/zzz.R index 2cc5462..5dca2da 100644 --- a/R/zzz.R +++ b/R/zzz.R @@ -1,6 +1,16 @@ # things to do on loading the package .onLoad <- function(libname, pkgname) { # set up a temporary directory for raster::getData calls - options(rasterDataDir = tempdir()) + if (is.null(getOption('rasterDataDir'))) { + options(rasterDataDir = tempdir()) + } + # set up the default modules repo + if (is.null(getOption('zoonRepo'))) { + options(zoonRepo = "https://raw.githubusercontent.com/zoonproject/modules") + } + # set up the default branch + if (is.null(getOption('zoonRepoBranch'))) { + options(zoonRepoBranch = "master") + } } From 15f6860db2beae7008a054e5cdd47c439aa9e029 Mon Sep 17 00:00:00 2001 From: AugustT Date: Mon, 6 Jun 2016 10:45:01 +0100 Subject: [PATCH 10/10] Vignettes updated --- inst/doc/Building_a_module.html | 31 ++++--- inst/doc/basic-zoon-usage.html | 107 ++++++++++++------------ inst/doc/interactive_zoon_usage.html | 4 +- vignettes/Building_a_module.Rmd | 32 ++++++-- vignettes/basic-zoon-usage.Rmd | 118 +++++++++++---------------- vignettes/basic_11-2.png | Bin 6290 -> 6287 bytes vignettes/basic_12-1.png | Bin 5712 -> 5711 bytes vignettes/basic_12-2.png | Bin 5865 -> 5722 bytes vignettes/basic_12-3.png | Bin 5884 -> 5950 bytes vignettes/basic_15-1.png | Bin 8500 -> 8511 bytes vignettes/basic_5-1.png | Bin 6262 -> 6294 bytes vignettes/building_cov4-1.png | Bin 5234 -> 4914 bytes vignettes/building_cov5-1.png | Bin 0 -> 6455 bytes vignettes/building_cov5-2.png | Bin 0 -> 6455 bytes vignettes/building_cov5-3.png | Bin 0 -> 7232 bytes vignettes/building_cov5-4.png | Bin 0 -> 6805 bytes vignettes/building_mod6-1.png | Bin 0 -> 8886 bytes vignettes/building_mod6-2.png | Bin 0 -> 8766 bytes vignettes/building_mod6-3.png | Bin 0 -> 8879 bytes vignettes/building_mod6-4.png | Bin 0 -> 8879 bytes vignettes/building_occ6-1.png | Bin 5873 -> 5961 bytes vignettes/building_occ7-1.png | Bin 0 -> 7155 bytes vignettes/building_occ7-2.png | Bin 0 -> 6855 bytes vignettes/building_out7-1.png | Bin 36749 -> 39545 bytes vignettes/building_out7-2.png | Bin 46999 -> 41703 bytes vignettes/building_out8-1.png | Bin 0 -> 4043 bytes vignettes/building_out8-2.png | Bin 0 -> 4002 bytes vignettes/building_out8-3.png | Bin 0 -> 4002 bytes vignettes/building_out9-1.png | Bin 10073 -> 5701 bytes vignettes/building_out9-2.png | Bin 46251 -> 46105 bytes vignettes/building_pro6-1.png | Bin 0 -> 17310 bytes vignettes/building_pro6-2.png | Bin 0 -> 6867 bytes vignettes/building_pro6-3.png | Bin 0 -> 17358 bytes vignettes/building_pro6-4.png | Bin 0 -> 17358 bytes vignettes/building_pro6-5.png | Bin 0 -> 3782 bytes vignettes/building_pro6-6.png | Bin 0 -> 3782 bytes vignettes/building_pro6-7.png | Bin 0 -> 3782 bytes vignettes/building_pro6-8.png | Bin 0 -> 3782 bytes vignettes/building_pro6-9.png | Bin 0 -> 3782 bytes vignettes/building_pro7-1.png | Bin 10200 -> 11100 bytes vignettes/interactive_zoon_usage.Rmd | 2 +- 41 files changed, 146 insertions(+), 148 deletions(-) create mode 100644 vignettes/building_cov5-1.png create mode 100644 vignettes/building_cov5-2.png create mode 100644 vignettes/building_cov5-3.png create mode 100644 vignettes/building_cov5-4.png create mode 100644 vignettes/building_mod6-1.png create mode 100644 vignettes/building_mod6-2.png create mode 100644 vignettes/building_mod6-3.png create mode 100644 vignettes/building_mod6-4.png create mode 100644 vignettes/building_occ7-1.png create mode 100644 vignettes/building_occ7-2.png create mode 100644 vignettes/building_out8-1.png create mode 100644 vignettes/building_out8-2.png create mode 100644 vignettes/building_out8-3.png create mode 100644 vignettes/building_pro6-1.png create mode 100644 vignettes/building_pro6-2.png create mode 100644 vignettes/building_pro6-3.png create mode 100644 vignettes/building_pro6-4.png create mode 100644 vignettes/building_pro6-5.png create mode 100644 vignettes/building_pro6-6.png create mode 100644 vignettes/building_pro6-7.png create mode 100644 vignettes/building_pro6-8.png create mode 100644 vignettes/building_pro6-9.png diff --git a/inst/doc/Building_a_module.html b/inst/doc/Building_a_module.html index c27c53a..9d27743 100644 --- a/inst/doc/Building_a_module.html +++ b/inst/doc/Building_a_module.html @@ -11,7 +11,7 @@ - + Codestin Search App @@ -118,7 +118,7 @@

Building modules

Tom August & Tim Lucas

-

2016-05-27

+

2016-06-06

@@ -189,7 +189,7 @@

How to build an occurrence module

process = OneHundredBackground, model = LogisticRegression, output = PrintMap) -

plot of chunk building_occ6

+

plot of chunk building_occ6

This is a nice way to debug your function and ensure you are getting the results you expect.

Once you are happy that your function is working as you expect it to you can build you code into a module using the BuildModule function in zoon. This script adds in metadata including the type of module, authors’ names, a brief description and documentation for the arguments it accepts (though this one doesn’t accept any arguments). Once BuildModule has created your module it will run it through checks to make sure has the required features, outputs data in the correct format, etc. Checking can be turned off by setting the argument check = FALSE.

# Let's build our module
@@ -204,7 +204,8 @@ 

How to build an occurrence module

author = 'A.B. Ceidi', email = 'ABCD@anemail.com', dataType = 'presence-only')
-
## Starting checks...done
+
## Starting checks...
+
## done
## [1] "Lorem_ipsum_UK"

This function is fairly self explanatory however it is worth noting the dataType field. This must be any of ‘presence-only’, ‘presence/absence’, ‘presence/background’, ‘abundance’ or ‘proportion’. This is important so that people using your module in the future will know what it is going to output.

BuildModule has now written an R file in our working directory containing the function and metadata, so that it can be shared with others.

@@ -262,7 +263,7 @@

How to write a covariate module

process = OneHundredBackground, model = LogisticRegression, output = PrintMap) -

plot of chunk building_cov4

+

plot of chunk building_cov4

Once we are happy with the function we have written we need to use the BuildModule function to convert our function into a module by adding in the necessary metadata. Once BuildModule has created your module it will run it through checks to make sure has the required features, outputs data in the correct format, etc. Checking can be turned off by setting the argument check = FALSE.

# Build our module
 BuildModule(AustraliaAir,
@@ -281,7 +282,8 @@ 

How to write a covariate module

'you wish to return. This can include any number of', "the following: 'air','hgt','rhum','shum','omega',", "'uwnd','vwnd'")))
-
## Starting checks...done
+
## Starting checks...
+
## done
## [1] "AustraliaAir"

BuildModule is fairly self explanatory but it is worth noting the paras argument. This takes a named list of the parameters the module takes. This should follow the following structure; list(parameterName = ‘Parameter description.’, anotherParameter = ‘Another description.’)

Once BuildModule has been run there will be an R file in our working directory that represents our module and can be shared with others. This R script can be used as follows.

@@ -432,7 +434,8 @@

How to write a process module

dataType = c('presence-only', 'presence/absence', 'presence/background', 'abundance', 'proportion')) -
## Starting checks...done
+
## Starting checks...
+
## done
## [1] "ClipOccurrence"

Much of how to use BuildModule is self-explanatory but two parameters are worth mentioning here. The paras argument takes a named list of the parameters the module takes. This should follow the following structure; list(parameterName = ‘Parameter description.’, anotherParameter = ‘Another description.’), but should not include the defaults (i.e. we do not include .data). dataType describes the types of occurrence data that this module will work with. Certain modules might only work with presence-only data for example. In our case, our module will work with any type of data and so we list all the data types in the dataType field.

Once BuildModule has been run there will be an R file in our working directory that represents our module and can be shared with others. This R script can be used as follows.

@@ -452,7 +455,7 @@

How to write a process module

## 0-
## 300-
## 386 records downloaded
-

plot of chunk building_pro7

+

plot of chunk building_pro7

Once we’re happy with the module, we will hopefully upload it to the zoon repository. The repository is currently under development. Visit the development pages for more information.

@@ -582,7 +585,8 @@

How to write a model module

author = 'Z. Oon', email = 'zoon@zoon.com', dataType = c('presence-only', 'presence/absence')) -
## Starting checks...done
+
## Starting checks...
+
## done
## [1] "GamGam"

This is now a run-able module.

# remove the function in our workspace else
@@ -677,7 +681,7 @@ 

How to write an output module

process = OneHundredBackground, model = LogisticRegression, output = PredictNewRasterMap)
-

plot of chunk building_out7

+

plot of chunk building_out7

# Now I'm going to run it with a different raster
 library(raster)
 
@@ -696,7 +700,7 @@ 

How to write an output module

process = OneHundredBackground, model = LogisticRegression, output = PredictNewRasterMap(raster = cropped))
-

plot of chunk building_out7

+

plot of chunk building_out7

# The prediction map should also be returned as a raster
 class(Output(work11))
## [1] "RasterLayer"
@@ -725,7 +729,8 @@ 

How to write an output module

'the results from the model module')), dataType = c('presence-only', 'presence/absence', 'abundance', 'proportion'))
-
## Starting checks...done
+
## Starting checks...
+
## done
## [1] "PredictNewRasterMap"

Once BuildModule has created your module it will run it through checks to make sure has the required features, outputs data in the correct format, etc. Checking can be turned off by setting the argument check = FALSE. Much of how to use BuildModule is self-explanatory but two parameters are worth mentioning here. The paras argument takes a named list of the parameters the module takes in the following structure: list(parameterName = 'Parameter description.', anotherParameter = 'Another description.'), but should not include the defaults (i.e. we do not include .model or .ras). dataType describes the types of occurrence data that this module will work with. Certain modules might only work with presence-only data for example. In our case, our module will work with any type of data and so we list all the data types in the dataType field.

Once BuildModule has been run there will be an R file in our working directory that represents our module and can be shared with others. This R script can be used as follows.

@@ -744,7 +749,7 @@

How to write an output module

model = RandomForest, output = Chain(PrintMap, PredictNewRasterMap(raster = cropped))) -

plot of chunk building_out9plot of chunk building_out9

+

plot of chunk building_out9plot of chunk building_out9

Once we’re happy with the module, we will hopefully upload it to the zoon repository. The repository is currently under development. Visit the development pages for more information.

diff --git a/inst/doc/basic-zoon-usage.html b/inst/doc/basic-zoon-usage.html index 3d68437..ad687d5 100644 --- a/inst/doc/basic-zoon-usage.html +++ b/inst/doc/basic-zoon-usage.html @@ -11,7 +11,7 @@ - + Codestin Search App @@ -118,7 +118,7 @@

Basic zoon usage

Tim Lucas and Tom August

-

2016-05-27

+

2016-06-06

@@ -150,7 +150,7 @@

Basic usage

process = OneHundredBackground, model = RandomForest, output = PrintMap) -

plot of chunk basic_5

+

plot of chunk basic_5

class(work1)
## [1] "zoonWorkflow"
str(work1, 1)
@@ -213,14 +213,8 @@

More complex analyses

process = BackgroundAndCrossvalid(k = 2), model = LogisticRegression, output = PerformanceMeasures) -
## Loading required package: SDMTools
-
## 
-## Attaching package: 'SDMTools'
-
## The following object is masked from 'package:raster':
-## 
-##     distance
## Model performance measures:
-
## auc :  0.67188731284476
+
## auc :  0.665386130811663
## kappa :  0.411378555798687
## omissions :  0
## sensitivity :  1
@@ -238,7 +232,7 @@

Multiple modules with Chain

model = LogisticRegression, output = PerformanceMeasures)
## Model performance measures:
-
## auc :  0.668932230102443
+
## auc :  0.666896506435514
## kappa :  0.464271488887118
## omissions :  0
## sensitivity :  1
@@ -264,7 +258,7 @@

Multiple modules with list

process = OneHundredBackground, model = list(LogisticRegression, RandomForest), output = PrintMap) -

plot of chunk basic_11plot of chunk basic_11

+

plot of chunk basic_11plot of chunk basic_11

str(work4, 1)
## List of 9
 ##  $ occurrence.output:List of 1
@@ -288,7 +282,7 @@ 

Repeating a module multiple times

process = Replicate(Background(n = 20), n = 3), model = RandomForest, output = PrintMap)
-

plot of chunk basic_12plot of chunk basic_12plot of chunk basic_12

+

plot of chunk basic_12plot of chunk basic_12plot of chunk basic_12

Replicate takes as its first arguement the module you want to repeat and as its second argument the number of times yo want to repeat it. Here we end up running our model three times for three different sets out background points

@@ -312,53 +306,63 @@

Auxillary information in a ZoonWorkflow

## [5] LC_TIME=English_United Kingdom.1252 ## ## attached base packages: -## [1] stats graphics grDevices utils datasets methods base +## [1] splines stats graphics grDevices utils datasets methods +## [8] base ## ## other attached packages: -## [1] SDMTools_1.1-221 randomForest_4.6-12 dismo_1.0-15 -## [4] knitr_1.13 zoon_0.5 raster_2.5-2 -## [7] sp_1.2-3 +## [1] gam_1.12 foreach_1.4.3 spocc_0.5.0 +## [4] MASS_7.3-45 SDMTools_1.1-221 randomForest_4.6-12 +## [7] dismo_1.0-15 knitr_1.13 zoon_0.5 +## [10] raster_2.5-2 sp_1.2-3 ## ## loaded via a namespace (and not attached): -## [1] Rcpp_0.12.4 formatR_1.4 plyr_1.8.3 -## [4] R.methodsS3_1.7.1 R.utils_2.3.0 bitops_1.0-6 -## [7] tools_3.3.0 testthat_1.0.2 digest_0.6.9 -## [10] memoise_1.0.0 evaluate_0.9 rfigshare_0.3.7 -## [13] gtable_0.2.0 lattice_0.20-33 yaml_2.1.13 -## [16] rgdal_1.1-9 httr_1.1.0 stringr_1.0.0 -## [19] roxygen2_5.0.1 grid_3.3.0 R6_2.1.2 -## [22] XML_3.98-1.4 rmarkdown_0.9.6 RJSONIO_1.3-0 -## [25] ggplot2_2.1.0 magrittr_1.5 scales_0.4.0 -## [28] htmltools_0.3.5 rsconnect_0.4.2.2 colorspace_1.2-6 -## [31] httpuv_1.3.3 stringi_1.0-1 RCurl_1.95-4.8 -## [34] munsell_0.4.3 crayon_1.3.1 R.oo_1.20.0 +## [1] Rcpp_0.12.5 rvertnet_0.4.4 lubridate_1.5.6 +## [4] lattice_0.20-33 assertthat_0.1 digest_0.6.9 +## [7] V8_1.0.1 R6_2.1.2 plyr_1.8.3 +## [10] chron_2.3-47 evaluate_0.9 httr_1.1.0 +## [13] rbison_0.4.8 ggplot2_2.1.0 curl_0.9.7 +## [16] data.table_1.9.6 whisker_0.3-2 R.utils_2.3.0 +## [19] R.oo_1.20.0 oai_0.2.0 rgdal_1.1-10 +## [22] stringr_1.0.0 RCurl_1.95-4.8 munsell_0.4.3 +## [25] httpuv_1.3.3 rgeos_0.3-19 geoaxe_0.1.0 +## [28] tibble_1.0 roxygen2_5.0.1 codetools_0.2-14 +## [31] XML_3.98-1.4 rgbif_0.9.3 crayon_1.3.1 +## [34] dplyr_0.4.3 bitops_1.0-6 R.methodsS3_1.7.1 +## [37] grid_3.3.0 jsonlite_0.9.20 gtable_0.2.0 +## [40] DBI_0.4-1 magrittr_1.5 formatR_1.4 +## [43] scales_0.4.0 stringi_1.1.1 mapproj_1.2-4 +## [46] ridigbio_0.3.3 rebird_0.3.0 testthat_1.0.2 +## [49] xml2_0.1.2 rfigshare_0.3.7 iterators_1.0.8 +## [52] tools_3.3.0 RJSONIO_1.3-0 maps_3.1.0 +## [55] rsconnect_0.4.3 parallel_3.3.0 yaml_2.1.13 +## [58] colorspace_1.2-6 memoise_1.0.0
# module versions lists the modules used at each
 # step and which version number they were
 work5$module.versions
## $occurrence
 ##         [,1]                 
 ## module  "UKAnophelesPlumbeus"
-## version "1.0"                
+## version "local copy"         
 ## 
 ## $covariate
-##         [,1]   
-## module  "UKAir"
-## version "1.0"  
+##         [,1]        
+## module  "UKAir"     
+## version "local copy"
 ## 
 ## $process
 ##         [,1]         [,2]         [,3]        
 ## module  "Background" "Background" "Background"
-## version "1.1"        "1.1"        "1.1"       
+## version "local copy" "local copy" "local copy"
 ## 
 ## $model
 ##         [,1]          
 ## module  "RandomForest"
-## version "1.0"         
+## version "local copy"  
 ## 
 ## $output
-##         [,1]      
-## module  "PrintMap"
-## version "1.1"
+## [,1] +## module "PrintMap" +## version "local copy"

When using lists in a workflow (as in work4 above) the workflow becomes forked. For example when work4 was created two models where run leading to two output maps. We can easily trace back the origins of any module output using the attribute call_path

# work4 has two output maps, find the origins of the first
 # using the Output accessor function and the call_path
@@ -393,27 +397,20 @@ 

A larger example

output = Chain(PrintMap(plot = FALSE), PerformanceMeasures) )
-
## Loading required package: MASS
-
## 
-## Attaching package: 'MASS'
-
## The following objects are masked from 'package:raster':
-## 
-##     area, select
-
## Loading required package: spocc
## Model performance measures:
-
## auc :  0.506489395378284
-
## kappa :  -0.0165184243964424
+
## auc :  0.533554922443811
+
## kappa :  -0.048689138576779
## omissions :  1
## sensitivity :  0
-
## specificity :  0.987654320987654
-
## proportionCorrect :  0.666666666666667
+
## specificity :  0.962962962962963
+
## proportionCorrect :  0.65
## 
## Model performance measures:
-
## auc :  0.891737891737892
-
## kappa :  0.637305699481865
-
## omissions :  0.0769230769230769
-
## sensitivity :  0.923076923076923
-
## specificity :  0.777777777777778
+
## auc :  0.888255777144666
+
## kappa :  0.608938547486033
+
## omissions :  0.230769230769231
+
## sensitivity :  0.769230769230769
+
## specificity :  0.851851851851852
## proportionCorrect :  0.825
## 
# Take a look at the structure of the workflow object
@@ -440,7 +437,7 @@ 

A larger example

plot(Output(work6)[[3]], main = paste('Random forest: AUC = ', round(Output(work6)[[4]]$auc, 2)))
-

plot of chunk basic_15

+

plot of chunk basic_15

Here we are collecting occurrence data for two species, Eresus kollari and E. sandaliatus and combining them (having presumably decided that this is ecologically appropriate). We are using the air temperature data from NCEP again. We are sampling 100 pseudo absence points and running two fold crossvalidation.

We run logistic regression and random forest on the data separately. We then predict the model back over the extent of our environmental data and calculate some measures of how good the models are. Collating the output into one plot we can see the very different forms of the models and can see that the random forest has a higher AUC (implying it predicts the data better).

diff --git a/inst/doc/interactive_zoon_usage.html b/inst/doc/interactive_zoon_usage.html index 29197fe..8765d22 100644 --- a/inst/doc/interactive_zoon_usage.html +++ b/inst/doc/interactive_zoon_usage.html @@ -11,7 +11,7 @@ - + Codestin Search App @@ -118,7 +118,7 @@

Interactive zoon usage (for developers)

Tim Lucas

-

2016-05-27

+

2016-06-06

diff --git a/vignettes/Building_a_module.Rmd b/vignettes/Building_a_module.Rmd index c28c471..a755644 100644 --- a/vignettes/Building_a_module.Rmd +++ b/vignettes/Building_a_module.Rmd @@ -1,7 +1,7 @@ --- title: "Building modules" author: "Tom August & Tim Lucas" -date: '2016-05-27' +date: '2016-06-06' output: rmarkdown::html_vignette: keep_md: yes @@ -133,7 +133,11 @@ BuildModule(Lorem_ipsum_UK, ``` ``` -## Starting checks...done +## Starting checks... +``` + +``` +## done ``` ``` @@ -251,7 +255,11 @@ BuildModule(AustraliaAir, ``` ``` -## Starting checks...done +## Starting checks... +``` + +``` +## done ``` ``` @@ -481,7 +489,11 @@ BuildModule(ClipOccurrence, ``` ``` -## Starting checks...done +## Starting checks... +``` + +``` +## done ``` ``` @@ -694,7 +706,11 @@ BuildModule(object = GamGam, ``` ``` -## Starting checks...done +## Starting checks... +``` + +``` +## done ``` ``` @@ -908,7 +924,11 @@ BuildModule(PredictNewRasterMap, ``` ``` -## Starting checks...done +## Starting checks... +``` + +``` +## done ``` ``` diff --git a/vignettes/basic-zoon-usage.Rmd b/vignettes/basic-zoon-usage.Rmd index 35bd4db..ddb3de4 100644 --- a/vignettes/basic-zoon-usage.Rmd +++ b/vignettes/basic-zoon-usage.Rmd @@ -1,7 +1,7 @@ --- title: "Basic zoon usage" author: "Tim Lucas and Tom August" -date: "2016-05-27" +date: "2016-06-06" output: rmarkdown::html_vignette: toc: yes @@ -171,27 +171,12 @@ work2 <- workflow(occurrence = UKAnophelesPlumbeus, output = PerformanceMeasures) ``` -``` -## Loading required package: SDMTools -``` - -``` -## -## Attaching package: 'SDMTools' -``` - -``` -## The following object is masked from 'package:raster': -## -## distance -``` - ``` ## Model performance measures: ``` ``` -## auc : 0.67188731284476 +## auc : 0.665386130811663 ``` ``` @@ -241,7 +226,7 @@ work3 <- workflow(occurrence = UKAnophelesPlumbeus, ``` ``` -## auc : 0.668932230102443 +## auc : 0.666896506435514 ``` ``` @@ -366,26 +351,36 @@ work5$session.info ## [5] LC_TIME=English_United Kingdom.1252 ## ## attached base packages: -## [1] stats graphics grDevices utils datasets methods base +## [1] splines stats graphics grDevices utils datasets methods +## [8] base ## ## other attached packages: -## [1] SDMTools_1.1-221 randomForest_4.6-12 dismo_1.0-15 -## [4] knitr_1.13 zoon_0.5 raster_2.5-2 -## [7] sp_1.2-3 +## [1] gam_1.12 foreach_1.4.3 spocc_0.5.0 +## [4] MASS_7.3-45 SDMTools_1.1-221 randomForest_4.6-12 +## [7] dismo_1.0-15 knitr_1.13 zoon_0.5 +## [10] raster_2.5-2 sp_1.2-3 ## ## loaded via a namespace (and not attached): -## [1] Rcpp_0.12.4 formatR_1.4 plyr_1.8.3 -## [4] R.methodsS3_1.7.1 R.utils_2.3.0 bitops_1.0-6 -## [7] tools_3.3.0 testthat_1.0.2 digest_0.6.9 -## [10] memoise_1.0.0 evaluate_0.9 rfigshare_0.3.7 -## [13] gtable_0.2.0 lattice_0.20-33 yaml_2.1.13 -## [16] rgdal_1.1-9 httr_1.1.0 stringr_1.0.0 -## [19] roxygen2_5.0.1 grid_3.3.0 R6_2.1.2 -## [22] XML_3.98-1.4 rmarkdown_0.9.6 RJSONIO_1.3-0 -## [25] ggplot2_2.1.0 magrittr_1.5 scales_0.4.0 -## [28] htmltools_0.3.5 rsconnect_0.4.2.2 colorspace_1.2-6 -## [31] httpuv_1.3.3 stringi_1.0-1 RCurl_1.95-4.8 -## [34] munsell_0.4.3 crayon_1.3.1 R.oo_1.20.0 +## [1] Rcpp_0.12.5 rvertnet_0.4.4 lubridate_1.5.6 +## [4] lattice_0.20-33 assertthat_0.1 digest_0.6.9 +## [7] V8_1.0.1 R6_2.1.2 plyr_1.8.3 +## [10] chron_2.3-47 evaluate_0.9 httr_1.1.0 +## [13] rbison_0.4.8 ggplot2_2.1.0 curl_0.9.7 +## [16] data.table_1.9.6 whisker_0.3-2 R.utils_2.3.0 +## [19] R.oo_1.20.0 oai_0.2.0 rgdal_1.1-10 +## [22] stringr_1.0.0 RCurl_1.95-4.8 munsell_0.4.3 +## [25] httpuv_1.3.3 rgeos_0.3-19 geoaxe_0.1.0 +## [28] tibble_1.0 roxygen2_5.0.1 codetools_0.2-14 +## [31] XML_3.98-1.4 rgbif_0.9.3 crayon_1.3.1 +## [34] dplyr_0.4.3 bitops_1.0-6 R.methodsS3_1.7.1 +## [37] grid_3.3.0 jsonlite_0.9.20 gtable_0.2.0 +## [40] DBI_0.4-1 magrittr_1.5 formatR_1.4 +## [43] scales_0.4.0 stringi_1.1.1 mapproj_1.2-4 +## [46] ridigbio_0.3.3 rebird_0.3.0 testthat_1.0.2 +## [49] xml2_0.1.2 rfigshare_0.3.7 iterators_1.0.8 +## [52] tools_3.3.0 RJSONIO_1.3-0 maps_3.1.0 +## [55] rsconnect_0.4.3 parallel_3.3.0 yaml_2.1.13 +## [58] colorspace_1.2-6 memoise_1.0.0 ``` ```r @@ -398,27 +393,27 @@ work5$module.versions ## $occurrence ## [,1] ## module "UKAnophelesPlumbeus" -## version "1.0" +## version "local copy" ## ## $covariate -## [,1] -## module "UKAir" -## version "1.0" +## [,1] +## module "UKAir" +## version "local copy" ## ## $process ## [,1] [,2] [,3] ## module "Background" "Background" "Background" -## version "1.1" "1.1" "1.1" +## version "local copy" "local copy" "local copy" ## ## $model ## [,1] ## module "RandomForest" -## version "1.0" +## version "local copy" ## ## $output -## [,1] -## module "PrintMap" -## version "1.1" +## [,1] +## module "PrintMap" +## version "local copy" ``` When using lists in a workflow (as in `work4` above) the workflow becomes forked. For example when `work4` was created two models where run leading to two output maps. We can easily trace back the origins of any module output using the attribute `call_path` @@ -467,35 +462,16 @@ work6 <- workflow(occurrence = Chain(SpOcc(species = 'Eresus kollari', ) ``` -``` -## Loading required package: MASS -``` - -``` -## -## Attaching package: 'MASS' -``` - -``` -## The following objects are masked from 'package:raster': -## -## area, select -``` - -``` -## Loading required package: spocc -``` - ``` ## Model performance measures: ``` ``` -## auc : 0.506489395378284 +## auc : 0.533554922443811 ``` ``` -## kappa : -0.0165184243964424 +## kappa : -0.048689138576779 ``` ``` @@ -507,11 +483,11 @@ work6 <- workflow(occurrence = Chain(SpOcc(species = 'Eresus kollari', ``` ``` -## specificity : 0.987654320987654 +## specificity : 0.962962962962963 ``` ``` -## proportionCorrect : 0.666666666666667 +## proportionCorrect : 0.65 ``` ``` @@ -523,23 +499,23 @@ work6 <- workflow(occurrence = Chain(SpOcc(species = 'Eresus kollari', ``` ``` -## auc : 0.891737891737892 +## auc : 0.888255777144666 ``` ``` -## kappa : 0.637305699481865 +## kappa : 0.608938547486033 ``` ``` -## omissions : 0.0769230769230769 +## omissions : 0.230769230769231 ``` ``` -## sensitivity : 0.923076923076923 +## sensitivity : 0.769230769230769 ``` ``` -## specificity : 0.777777777777778 +## specificity : 0.851851851851852 ``` ``` diff --git a/vignettes/basic_11-2.png b/vignettes/basic_11-2.png index ee8c778b6360c63be37ed08e385c019f070daf4f..3310e3596a71e659a272a75d997bc7e19d7a3d90 100644 GIT binary patch literal 6287 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℞OnC~jiC|8tv&f|E*+uBd0w`cCcj*MZVuV{!E0 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 diff --git a/vignettes/basic_12-1.png b/vignettes/basic_12-1.png index 7e6643fa842af2e0df21236a380fae7972498eaf..050b8af64095b0bd4ca9157e72bae40f1dccb890 100644 GIT binary patch literal 5711 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 diff --git a/vignettes/basic_12-2.png b/vignettes/basic_12-2.png index 80a06f60941114d04a7939f0d9a0193948719d65..957d448ed3dd2e52950426f9c22183dc172c7163 100644 GIT binary patch literal 5722 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 QYrm|`4p|zP9{?}^7n~cO00000 diff --git a/vignettes/basic_12-3.png b/vignettes/basic_12-3.png index 58d8e1a55a01ada1a9e27d5a6d343f862943f92e..939a0604a828780815fee8d9dcd77792211e0a23 100644 GIT binary patch literal 5950 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 literal 5884 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 diff --git a/vignettes/basic_15-1.png b/vignettes/basic_15-1.png index d24968664e75941aa1cace445da15343172b3775..df05a4869347eea18722769d454726c3fd918595 100644 GIT binary patch delta 6273 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 XnkQ0UNuYs$57238=&2W6w0-=40({c9 delta 6276 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 NtAo*gb{2d4zW@(hDs2D& delta 5548 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 Y-ybsh687M40Lo8S(@3NEH}K*A0A^h($ diff --git a/vignettes/building_cov4-1.png b/vignettes/building_cov4-1.png index d3ee27e6282a4d1153999773978776ff974ea37a..8144612b509dff3f947cc3deb6e10b74e164a09a 100644 GIT binary patch delta 4568 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 I8F|J38z_X%6#xJL delta 4879 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 diff --git a/vignettes/building_cov5-1.png b/vignettes/building_cov5-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ca113ed06f2e3a64bd56d4fadfa7eca7840f5f38 GIT binary patch literal 6455 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 literal 0 HcmV?d00001 diff --git a/vignettes/building_cov5-2.png b/vignettes/building_cov5-2.png new file mode 100644 index 0000000000000000000000000000000000000000..ca113ed06f2e3a64bd56d4fadfa7eca7840f5f38 GIT binary patch literal 6455 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 literal 0 HcmV?d00001 diff --git a/vignettes/building_cov5-3.png b/vignettes/building_cov5-3.png new file mode 100644 index 0000000000000000000000000000000000000000..a427590b642f82472fb143d9c25db722b03687ce GIT binary patch literal 7232 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 LbN!NYVC;VZkQ1~w literal 0 HcmV?d00001 diff --git a/vignettes/building_cov5-4.png b/vignettes/building_cov5-4.png new file mode 100644 index 0000000000000000000000000000000000000000..098cfe35867421c23cc5fa64fc373a33af0e5434 GIT binary patch literal 6805 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 literal 0 HcmV?d00001 diff --git a/vignettes/building_mod6-1.png b/vignettes/building_mod6-1.png new file mode 100644 index 0000000000000000000000000000000000000000..a16dc9d8731bf6e07745f6894c7bd9024d5c0a9a GIT binary patch literal 8886 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�Yv?dhhB)03OoGjIsQI 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 F{{eB5ERX;I literal 0 HcmV?d00001 diff --git a/vignettes/building_mod6-2.png b/vignettes/building_mod6-2.png new file mode 100644 index 0000000000000000000000000000000000000000..876e831b3bea91a7757a4f4f4032f341a2895d55 GIT binary patch literal 8766 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 z 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 literal 0 HcmV?d00001 diff --git a/vignettes/building_mod6-4.png b/vignettes/building_mod6-4.png new file mode 100644 index 0000000000000000000000000000000000000000..975bf71f0515c8a1305eb93cf195b8bb5d570fd6 GIT binary patch literal 8879 zcmcI}c|26_-}g0}eP0KmBxD_AY(=FkF?2DN2@m^8NjO&vU=-`_Jb&uXA4Koa;L0T-Uj-&*$_0yx&*sFncmPEopb`i)-2v_z&>;hS2rxd4t z_)nG#sZKw7rxjdjb>iZUj8l1D_IyPiZm$zyPQj02_m0cbk_q5~c{;6ofpM29lwIcn;;xNs*O;M7n} zIvwV02b_Bv$$uuphz!W=w#i0`;k@ez_+72 zu%|KT3 z$2BC-@xf_cdQpHBE) zkW{nH!*;*0G%HcaPR02xnjscP+k?PID=2l@{M`4-(8tfO!>6qFjcNYI`KOPk?3HFl+Z{^M7VGX8EHX{%O2XIkK-C5F=EeGKH^z9^#dl6+q+1~+Cb(&ugH3zIS(^4v zPpwDNHBYa4f2vuvX05+$8T7DlC-yuQkUF}Mc&a1Ft?;n@jUG5$!raz~sYE8~+CmSjZC+r8oye!M!VfV!|) zUdn}Q)gGUOACs&t4)Ev8wF5|SZ`%7f`J*UG4)yUNs-f*RtY`_5!`@I6E=sFytv^%- z@y#z49DuU}EBbydmDl?yK;6owv#k-koi*lQv5LPd0N%ugi(xUk^qDj4o4)+juj`GI zq07wTeo3Rx;l{>pU#dojpHHhb_WCrCf`9$hb4AXtWy;ube((3ZQAJh9IN~}A z#oBUA<7{=$%(b!JtA%D%LW{yQ{dAyM?dU7VfVuA9PGO%jysjy6|J+C$dA~ZH6T;f( z^!3T#f#J->wf?~KB^j-OYw!5$@2t1IblmmcdfQt?9$Y@@QejEI6Q$J@^+0Z>ASrw$qs!LzP{A>#anIGAZH_WG+1Yb>APm4eA179 z-!UqzlkJKfgWFus;ZtdA@*tdtppt}YE!)?vA@LHeIqVSWF zgVv5wCXst$E4GSlWN6Rh$xq$SBT{#FrbP7a7k_sC>|6kbn2PJe)bzMCwOS+Qc<6kj zP-t*%KH*4G`RZFMYC@xcC?p#5wSRNQt8xE&{lY^NrPS-3A!$4K$`M90uQT63R!3z@ z4FrqM1vyD2Go8+|w7)79)_!P-5mQz z=YFV9`<9&#d&$~t_Hpc+4gGn#{_dTgp!xmKmxXhnWRMfgJ*yL|s4fPtMcVpSBBsNa z#$_e>&caCll(={LrrgkpX`D3c6g;zSS2@SWkjyJ?_zG8Th>(6<9t z;%iwATkFwMMVKtlc^$8BJ^G@;q26d_m&v4I7{8g;@#>paRQ~w^Ub_QmXu3uzJ&J5Go+AeqhygL10UaDC)NCjOXU$VV!{wo z{ja1y*2IOgJM!K~h8^#0c3*zwp&k!(A3l(MT7g4$ru?rD*rZ3CzfyKTEp}E`{%Yf^ zoUWn^%XyEQ5AFIm@`1ZFCYT_5iCds9wUD-Z##2C*uVp8f!I9J`RL4HQCEuX9M_9flDt}N;ZdQUx$Z;2jOoerCS&9+8u;8Zgq!PTf~$z1D-x#Ie6j!s>rDC z&wssmh5K1~F-KK;O6NJ9^E4fl*47kcp`s7Vt+=RmmIa#13v>{36{Ip_tt)E!BTQ#wv{RzXA;bLaHgFX*jPhAOtn?8+b17{#@8OQtyc+--?BX$TdLkPnplbZ1qLV|X9W;= z9lp!WAp$m~h+9?pdS~i(xW9_?k8G9}c9f8w9OKu<)Qujmtf=ValM`tg7d5&85)K~6GLkIZnXacF1?*7)#+$u_Tfod`ig%c*X6}U0p z_RhQ0KCBI5dyN?r z_@mtE2{PWa@SYrPrTwpSF_@`<@Zp*acSc?@OAhz6Y7(6w{;5wrSd9HAFP=4Pk{%en5=j*U!B;%Pcl9CualCwQs@!OK>6NK&wgEuiyJ44S)1NMXF z=H%#Zr>HL{80@gBE6vz2p*}7zUz`%AxhZ34oRo0W?dEj@fq^W}_^S%YPRzgvXGI-y zqHH4)@FINg5=IpV=8&EHX%&P#3(7}Zi+tPG2Ub~oI%{oXj;aqo?m?CwfIq*Tr5VI? z#Je5fB9`l)f~qt8=3Yf}Pm&eZitYVsTk6;4rTu{<7thU7SvPmBu}WC$rSm1!eN^4= zptnHI;r$Lc7nc(Ghyk*rJ08_l1_3)lFM8+Z4xh!z@HJ>-%56XJU@e!0v|bus*;Ua5(^3|yI4 zigfaxD7e)!pb{U0`J1zIb9APYT74Sn%x;s0hJ*I{I8qai{|V+aG(jQZ!1n@#O-3u4 z)C|`Nwzft5`pn?4{~F9q&m}3qM)$0!Uo}2;P%%pIjc9F7O0L|njVLtGxs4u;X)xOj z&u5rrnC)LEeupU_MN;aj!(-20^d0=DBN=nRf`z#WMYkK_9Jx}?(b9bOYAVBT5iZUe z2=Wjga$@=bn&zs@&F9XGR8Q^lh`iv5>@>k?WXd>VdI~N~CCxUc2r&{Vo|ZLU52Sqb zNa4=QG!@B(fKb5+86n3`<4VFGK2YU(<{v4$>T&J=ohee z5rxA3lbKu*WSjFP+8QcT@Jl-v-5KzHS>|F>jAL7Q%fDyyKWJX8;Q20!pki&*bMV5b zxr}7fPY%ID*K7AX;07YE7>;`C(pAmvmt=5D2*LlE8~n|u-p=yw$Ys+^@>cdl2DsJc z<5E;i`bo_X!8?9tp6{^YDdZC6#9Mq2GVX?*JDLQ%OeV6HHpr)SLV6RUKVRL9Ukx0= z@5Nb@8c}A_OSY_T@8nuKeaun&#hJQu0qPQ58l0c*%W_p{*#~eQ ze$v2a=@x^Kq5I98noS@dLl5@;jIC?te*e5EF*D<359zv9KmB2T`XH{pY(=tvhxlWX z55z*0XMud_o}*Xd5%@#xxp3mP`J}XMogI!%o&HA6{`HMPe%{XN^dk=y;rNVn>4N?r zCij}N@(|YV6$OMVE#dFaZP_rRx(#Rg!GfEbAZW)0jUTim z^QP9H2fV1ab$k{NUhl&lX{>6{gs*_ozmMMGp(98fNap)W?oL9Yjx^SEpDN)a6&FSI z*j>e0+B;_az=eu&v_ROkrecVXoK1vT3C19|FNQ+hIk@hwU5UsajzM;28~Vxb%%EM;35nK8ewg z=)lu_S<^a>e3f%w_VRb9V2Ib-=Ogr_*B%79L1rIH#UT3#JuXHhkdZ6c4fAbfoqYAK zi8~>ej6*-%F+^QKc-Z3;3j5F$}(lXr06H95uJIy4YSy$lKy# zhfzud=U%GRykBeOGeTk~fy$4Os8^x^T56XDjm^OR56awqXD9U!GZI0v1}_Z_M-Igw zA#0{<@-3LOjNO~sJ^Gj@Uh;;yY&(oy{idVTT*X(BmtaMgam?Q_y%40abIi4_COW6Z z)BEQo&J$OmUWzB?5os4k!9`!SHp9{-cqXcFi2AbXnRsp*(GOa)8jpuNw;CjgEJ;mg6oR%*4O}bpFBlaXdB_3j%E=HBJ_Y?MzT+M+p#c>D4Bg_B~k05_QS_hyW1Y5@eVvMF$A_I z(mS#<1mnwMpAH~@Y8+#g7cf1#>-b}KA=|cne}=uK3@Ht>;$VtANR|h zkx{hcnRYa1#(jmv7Dks+wkk}ENj0`%Iq|EvO1;AsH6IU3jWRfpQB#zt4OLJ)E!NZ4 zdXkjw$+}3Jqjm#MCmV4NEujzR*6M#9M9C;jzLA!g$vb37{MPz+X?2C2ivi(G_}7`S z*8R{AqwtS)=it!u%SC@{Jacv(7_#B-dzjE^4bV z8NnE;daEdK)8$VH=59eczd>ZMDvy13A0-{R@Suf+;=Jdig&Q8YICzuqK!m}&+51@@ zxnIRfn{*I(EHTPAnjk~tu%L3&W4B}yB@T*<%O3jBo>*k3U<+I%GmfykxUzZ)N@21s zaf{lR!QHAX>hYClazZkEl>K*(Q3;|9D`bE@l~A-5wWR5agghXF{iAPUA6wbHVGCzb zTd%gD_|~X))aX-_*CvJp%=PGr7tdVdSHN>0?+cyyh}fv$i`txozGN>1Ufrgf z+Rwce|CKKO>73+^31L}WT|-TcG`Zn6T*gQ7&qPpXR3o%LfMBB$ogn#$Cl{Iq)tH^`@ihs`o#R)N z#qG;H+tf|^gp%l)vVY*1rvZgt%d-2Ive%}ATWQHhcAlf{-#_2r$vDk-1!#SLCw;Kt zxvyziJ1=Jfv_#|{aK@pj0kCa;Ld!)(+`?1-5aLDWt+c3vE4~bYCMw?kqkaxi{ZB`h z)ZB%qM#@P%IA4+uVlF^iQ%9Qi`$V)qo8u!pg>a=cT$JPnEDmr!^P?bcO|2y>`5c7S@R0<_!JfcROgEB!w_{53LbXrSF_~7@B^m=~ zjh6U19zYrRh10$3%}sM5S_L&uehgxwnk$2DIee z`UMTE4m+Pgq`Aaklu4y;7CPgFWZmAWLN_GVau4x?#*(z;AMuJQL?Ug!(U4yjI} zrK4Ec$HXA+mQEyg-^)c5D+eLLzC%Bq))tERdP86Us2)9q>@&BVLh&MQnV{cHwYrRM zkI6e#(mypFEYSe+Q7LuOG0DsCB0&|pbY$vX*hY~UBJ(J+)KL-&1_MlG$BBqXYSTAB z=C$ORoQG|Q{9FOsPGz`2p!6m8eGIV%XGJ|;-mQq!OcG&}C`UG<|2fi`j$(_SGUUB< zO$4)fslSwJ^)$Ohkwbz{NEu~c!i`fSMe;Pc?Kf_JSKRN}c+ct0q_UUlSo2}kCY>3p zI=8IBh>K~x9zKgRoGog(DiNIa;xnlgdQ-s?GT&-%0@lN<#`R?f4OzBI=`Mr5Ax1^2 zAK)(uhE=PO0n%1@4Dlc&erHfUqqVQlP$~vkGZaN|-*woDjH?41r)Y|B$|~z}L~!7t z2Ua%jo^g`XalGrgpFj9B-8}WSDGAem{gOhd9W9JHQFpE(d9=FWUsMN!xxs%&A7}gZ zN)StGx>b0P{<8j*Jk8feLurzs(Mc12>KT_7rS^1p*R9HpJO`1-B)ea(v$t%f1Jn2H z93K(W+T#z0|Gs6xsf?zH>x#42AKxB7)>6c&08?lOpm)}jJZ)@JA_Czl4ud2^4F$N9 zE%FBQX{8RJiA^?C@y`E#Dn(Ar_hx-eZChGAwfS4>$KtM?x?-IA{Yf5js?*U{%YEL9 zU-3ZY!^2;%uiP$0jc2-X;|2LhA|7%)$(E~(hHVy* z#To`3$~C@}x>^5ebM%LNeq$Up(=8S+sQzh1;^4}cBA*vmLOW&}6g6B&=TR*&LK_Po z(rzzrED5$rupF8mWLCNU9E}WI)Fhpc{qkD7jFc<5WBz>O)pw1--wnC-`$ar%Uzu%q zD)c-s4T+81<^r+n-?W^JX*8Wu6dgWkT@ze%u6R*nY;+`jEZ~>rtuNMZPfQWYTK*re cMQ;jv628WnD}NefufqeY!?uUY4nmRt1py-kKL7v# literal 0 HcmV?d00001 diff --git a/vignettes/building_occ6-1.png b/vignettes/building_occ6-1.png index 65d24fd5497ee713ecf6fe2470a6f0a6152c610a..676a7f957b02c2199afbded38e145c7779163d00 100644 GIT binary patch literal 5961 zcmb_=_g9lm^Y=xU(2Mj?6!DgT0#YL-p@@hg9SH;lB!nuE&|ByT(iQ1Msvt!rgr*=M zMWkF5X%UqkZkk9_5cuN#!}AZk@0^{Tb7p5gXJ^lr*?DAaq|XKsf&c)(W^hB-6aZ+j zfB6jEspj^zwB=Lr+xV8b-l+rtH~?S(cq)J)GhA~ybGJauuU67ALitJi=>Qyn!vPHZ zFP-+Oa10rqO3}W7)Q^ZYG&D4-8#U3v*(QWLy4z#^L%{$T%zq9Tcq-;Ekul`ccH-9l z(c9ZQBr76P$?{SDqlBThR5+0OA7Uy7NKGZDrczQV0{|B8zf3bS6ZQuH&h8oL zBFzKx*7K9XDc1#i-kE-CbR=DV5FqR(F@Y6K7X}ANP6r!IOk6yN>!xpk<{aiUxc?hny z-J3a@-OF$W;9Xswb`FWHhd-HvB>9fkmYzh}J-*49z9$JCQ%W&>FsxD@r*B2&68omv zayVC+tEZJE!eGnWEXu9e9X$EnYG-Rt@TU|2KX9mq8z+7p`%<)(Kg@Wr$9z0b*^zeA z=)G5)Rx!V06470s%vRxR94)Xj<7^2wYWnQ|&J~TR;uq7D6xUz}+pT%P{n|SZ!;e?> zt^5mRQ*CNFSbplJcorUqMV#<~!}<>=)nv;##7t8Q&QU2TCLY4=Z@-MGym<4o>ui{V ze#0H*-Pwzq;KPVQs+#OY0Gg__J6uk$x+fm5fRkK1(-v`@Ay%SR?#xhAtl- z2ZWxzbgQqWKMtEev4JWo*q3)z$ck>Lwf`n2i{k z^5wNa8s95#sj;PGtqgd@oZ$fv@m5_Uvv5T;sMN}4d1gPb`Q>61I6c$6ul!ZFTztzE#ZEmgL?H$VAMy)p>5iv zjTnpO#2}b|OpvNK*!VSVqewD5_toK!9N z)Rw(g;&aVD5Ok*LEn}Ntf{-X-<2*mMYrNJiRmme2C zJ4;|Uv8|^pU0tIEbBcm2st2=SFSLTnh>mgnw
  • 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 Hli>dag6@7N diff --git a/vignettes/building_out8-1.png b/vignettes/building_out8-1.png new file mode 100644 index 0000000000000000000000000000000000000000..fa63f7f386f92b10fa8c42dfd3964bed2446cc1e GIT binary patch literal 4043 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 literal 0 HcmV?d00001 diff --git a/vignettes/building_out8-3.png b/vignettes/building_out8-3.png new file mode 100644 index 0000000000000000000000000000000000000000..7058581c7e48f3c7f06a15802e3a295eb106367a GIT binary patch literal 4002 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 literal 0 HcmV?d00001 diff --git a/vignettes/building_out9-1.png b/vignettes/building_out9-1.png index 5d901bc5b3ea39f00cb8029e3befca804342d405..293acb4624cf3a5c6f147ba66695f9c71dc1a9cd 100644 GIT binary patch literal 5701 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 literal 10073 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 diff --git a/vignettes/building_out9-2.png b/vignettes/building_out9-2.png index a5c573201f626f127e8a4856b2059bee81ddab26..b8c2f7e560a574bfc62fba312f1739cbad9c6b1d 100644 GIT binary patch literal 46105 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 U=${Z70Qe&#p(tK0Y8>=`04VATq5uE@ literal 46251 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 J>h+MX7qO&OJ= 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%0DpE8;i`zw6D$o@O&7)C)jmMM@Sg)Rl%S1II%B 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 literal 0 HcmV?d00001 diff --git a/vignettes/building_pro6-2.png b/vignettes/building_pro6-2.png new file mode 100644 index 0000000000000000000000000000000000000000..d735e2181948b4606a90bd8454b3e0118de1b2cd GIT binary patch literal 6867 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 bxAiZf-!?)*;;-!fIb~*Kb?TV`I_|#!dvt;> literal 0 HcmV?d00001 diff --git a/vignettes/building_pro6-3.png b/vignettes/building_pro6-3.png new file mode 100644 index 0000000000000000000000000000000000000000..cf4f96965e92bfc75f3f7d457cf0725effe231bf GIT binary patch literal 17358 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 e`Phw&QvLftcEd)D7m{WwwL@}fdRyNL1& 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 e`_%-lQW&fI&y|B91?^;WPn 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 delta 10020 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 diff --git a/vignettes/interactive_zoon_usage.Rmd b/vignettes/interactive_zoon_usage.Rmd index 3a1ac90..de7c582 100644 --- a/vignettes/interactive_zoon_usage.Rmd +++ b/vignettes/interactive_zoon_usage.Rmd @@ -1,7 +1,7 @@ --- title: "Interactive zoon usage (for developers)" author: "Tim Lucas" -date: "2016-05-27" +date: "2016-06-06" output: rmarkdown::html_vignette: toc: yes
  • !ZCXqMs281I=(`NAt!1~;5MvG^ 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 literal 0 HcmV?d00001 diff --git a/vignettes/building_occ7-2.png b/vignettes/building_occ7-2.png new file mode 100644 index 0000000000000000000000000000000000000000..c0e9028ab26d6a6cdb0db26af3724e528e959398 GIT binary patch literal 6855 zcmc&(cT`hbm%oJG4Mj>I5fG3jQ4ui+KBRZ)K_!G1pAb|;T96W|fJhSv%>o8Q5F$K4 z5ik@%q)AUiL=3{CJgNZ!k-6YE^T(`NYrdIzGjmt=I``(Bv(LG^o&DQ4;k=bGKaV62 z008`^CI+?uz(Uz0E>`fL-BhYL_>gek!rl;k1OP<O~W9Dzfn;=rqR*QdGDzq9ui ziAYq^jXLR=P>_(=_c~eMB^3pv?sG{^txZiGOC8%ypYP2qOwT^=^<=z;5_6O?-&>0V zYIk>E$f&$j(5#wlTwID8M!Yo=`W#v445=SN}3^!V89U! zIXQ-!8pH71l%&*dEpB%#b$1tB9OSWkE{%l*s)GBviL*Zd@Cxk_%fNW}4*(FKGBwb% z56=IqASGg|Eu=jYLm&^yD7_%_&k9y3TyGoAXL+S25(PUiaO9G|udltoTBd(m=V@H% zr>Ci@Bk<3XgV%L1`XHA2~=UAI_JJ@{u>nC+KTnknVVW zV9?fwCc@RaMowaYN631=OMtd>Uf-uryY3O|o!^+gka?@W)GjaK*?qQ}$F}R^eGz|6 zQ=`fr`Rg@)lkORAD(z(Mygc`~y-m7NXWVfrE0l(l3;SeJmp8j4*(ubBZ7jsF2wQ5D z$%Sc;J2K>mOfeD_^nZX1PQxbdsTPaNpCso)7D5* zUggiQ-sw^su$D8U>AD%6Eo%4j)k@ui z-7y4|_OjN`lCJY^nNclJjRq^vgC=iQZc=B1`-H2e*W8PC<+RkWDql+2(!V$EY4JxS>t6ihHF!-s{J9Y z33qiTik@X8EeN^Tki|NdX*@lmPD(x&9DIQGrACj5^v}P=h}ERVg-d0zz}j^eGMCPd z9waUBatPwrGvcG)3PpSqi`bb_SHVt<+BH;!xbEa9XXl|Oh&2KV6-uv+ITog?)y{Asg% z4KwuqXwJsYNRk+<1Yw{bMS4-Z0Dp7)iD@Z9VoOtctw~+y<(05`?3diCP*1tS-)ud; zB$vb_`+sseYm61!7nYk*+w1OiYi08W{3oXgAzG|20~|c0z4$ah$_Ts1kBx(GZ=;+< zmgodfx_VgZKEDIv$o=L1x$cfkR>z&n1LDL0C5RjnGH=Ufgk>8cFHki#C0VxVeYwD^ zfHEiru}h*JY`D}W)gT4ZueL&*lFYAoOiW!HB+mU7B1bXb-;A4ni_CL9+gn|Q+kc-DCH)ivSq)#H}uIa9D zo_ zr{QR7WOLg|uZ=@U?EcIB*SZ<+SjuXx_T_`I`11?08sM z9+kj_U+;CqRv2o3P}2+$9CNhxq;|*Rn+uGdW))YI;3A~*dXSuNG6`LJf5}lgnPJiI zE}cW;drQVZH_Q&DW$<#o|KfrAY3AqVa0Mpsu{t-<4lcBB@&( z76UEPFKvS8?B4a!S3no$Di5NbIfJFPq*AYgIzLZs(Q3LUPGmXr8&#yTD}gD6CJXi2 z9QgL!DqgU7a8Nr)Kwzr><%+s#4DBJ&L1nVsVOrdqt(rff9*$|SvKADGq3JzIAkS_Q zL~;Za+GIoAuTxbsuiyP7O%N2uxP}Eh6y{DV)`lGnXTqGLKi9@EvP`~4yGxdTg?eG9#(1UAQ6t;CKHOp&qq;wmXL zs9}t&N87VIjtiXq-3V_;RnEMw5WVCUAAf}qj5b5vaK|YgG%Vsp(IO)qlqXHH{v2)I z;#~OlZTbC~qr&|bLsTtEC3o|LFO)cg-}a5;Oq@X{sw!ULSxTY}60U@0Xq0-cN1LI5 zeG~e9sMX>E!V8oS8k#iNf5bVclv@o_7W^F$zJfuScZVd$I7y`lpFCpJ+bIBH4IbhQ zoLT;ko{{2==d?LYv)QvL;{bOC+5PNHR#_!Z1#VICBHYLz`}JpQ;) zoN4|_YC-n2sG2Y%l`DHDl_bpT)pv40QH|Y>!-%|IrP4LPry%X}R(&b3UcDs&=IBhJ~#9SpUeb~tSbBo zL65aN@k?4qBV(WQlJ0YC-l2X74F*)w1=uZwHf@yU-1Ap>90c4ELfm{`Ct2|_^!VhC zD&eGn@D~*s+n!3ZpHpeExe(r>!p7+;$B=E&0{j;RcjbUF;aAI_Gm0j)k66*|#OIu3_XzFa0kem_qA` z-LLAerMmbS_0Cca2HkJE^gyy&@Maxsi*d?QaSSeHOnce`+c)mDpKc}V8exGHf_`Ds zA(yq|S9Xr8H@a&}y?oC#KP_bbe}yPK8prXQUJ z$-8jCE!j}Z0_7d5^<;=G%jIy^oKI_ui9)o4`k>rnizwBDv&d)0!9b+fjMKn-z^*O* zPWB;~qRr!~1I?!3!t2!4GIY9ux?-l+x@oy$`M20VOw<1)vn8VYh@jJwqNM+kWI!vU zuQ%TG!*k&8{V6wtXVVbAla?QA)j`m?B((tpqt#u4`)4t7cChqYo>JxKeziZ_7oLAX zyM`a;)oH&{Npx18>@KC6P=Iy2B(Xg6`pvNOV75d4 z%;*Pb1F58EYsuyf=jg4;?Ko3P&eHp{Hr2EQQ4az*~q)PKDCaa4%83(hjNiT z<&28zVz)DrUSepvd8YVg%l!??`mYeht9sVbxxE4y@(UL*_ z@gq_i4oCQ0cPmZuI*H<=+0vM5pJYIS+ck9Ey>;;uqp43l3l>Dss4+cT92mP-Ha|5WI%nx?Zl) zoCY<2{6jxiIOAR`K96aiAflPbz4vlvyYL6_{QGe>ndtJ@s+aM%O$A{kvk=mUI(fez zNk$D^_|Deo>?||k!NEbB;EEJ4CThT>Z>WPIMUwh0Wh(di;c2`MwKaZpa#AmF+@=Xr z)Bro7k9}OGnX;;0GB7VXT#2FUfevOwwd!N#?KyS(Ygf2&lFTt1Yem9(Vu=#~w~T9J zFb=z7?RtforwDEIaV>;!Pkv!j6Clf#E~PNL7t|oJ`kTJB5U!?qn019WHp*h zRznMP=O$cF$r)k21P@bGyKW!Hm_B~3q-ABqfi}Yef`=%wX``Jcp6Q_{l@%_mo|D@% zvVL|X{r2kd-s7h7il-cI>?Yytq}d$T0Z3QEtgxyiDPPpC`)0E*^9-o$RO(1|Smw|0 z6tsHa2{})91zoLduH{I`#cV^!4Vq{kPqmHiXqu%xl;-teA8jVKlpw6?D#i<%YOfug za0$i|pDB8n@(!PWvNd|7dpg@-5)Xmh8Ox`sD`}t`m#mXe~+e2;0)Q!*L3y zF1hvv`yE|5-t&phGxDvd$Ys2>HYLy>JMF#zz*qZPq-ld6bpJ$eecDYwUi0iuOriI;Dl)!FS@s&x@zUbB4VzVBu zOOi|~wm+U|5JARP$YG<*CW>cSiEDq_2+RetESzGS&I0kP&Nk9mBhv-_o*Ow{7lUq} zP8--UZn4tI(bIpK+RH_B-!_fl&RrD zn#}sxPY9T8<&-3dwyuKMCC9p!B9TG@%~8e93PF{yM10+I(~Q=El)9e!G)*)&r<*Y&)FdC z*d9&%cfexaHV_MgB}b0e53|wwB0h1^f|~TPyqKfz0vG|1ezi_~wD!0RQc`vSNYQ(( zI8kS1Pxm5u@Mip-=GNA@sX6|HVKc4GVq@f3>XUgluNz+J0_O7h~jQ01Y2976v+sP(@h z?-Uizg|o^aUi(*={7=BRO&|65qchV^&GS98SzBSguHJF?bhyezY8DD{YuMOPtp{O` z3ly4}J8!1NwyUj+E3XNY_-TcSk>Qkg%8=@y+NhdMdWW;yf$Gvw+Is(0fo}WA(;G`m zwmmIp}UJ5{Jz`anLeIhDH6YW+ z*Ek%X#Z)^gN!rVid`*U!l#W8^v6+s&T1sxtFbA$Q#{b*mLjo;y>7?xR&pl^DpE$Aa zE7f&bPNzx{-3JeOhidS|IYe`S4pf~tD)|_?*GyijQ)mYzKDcF0eA&jJtpBHC80N(e=Z>@C#Qx93_IE32ztC{E2{o=x>Jk4Q z0@}mywY`91TMfmuK~oQ8QA@3GmHbJgXQc9`#L+m%Ern1(-Q zJgXP#r5h7wPIFf*_5E9Y<>+|4=#=9`D{ik|yjGn;E}MtfKHCc8P<PG3a5 z`JNY=?_BS^aB_Edolr>5 zqoHF+|N9kzf+|+?IT`pZ>lZi!GsUR}-Tt>0yBCAP&a&8yQWH<|gdRZ`Lz5(rY?B zJ|uVLG0VlrVeo4YcBb6I)74=9-p^DoNDBEx6sFNJE45p=Ln~T;+sA_9UCxJZSsNbu S)Slk^AZ2Q3Wl(Vr8}%QFDnKQg98Hq0N^FWh5rBmAT|FzP@up!Vzk9xzz=9!aWw}302bxH2V`#3 z`vU+V0!Rq|R&>p{*mUvKSlr~lndW*vGgpf{t6(+~fN7lX$SU9?On) z`{dpG6g>QB_U)y@0|8ag7fBGRheZn@2!;KV3JIE+EDAIhNpSA}AO64A!3qo1Zu3u* zsfX>k|1BlZUu3b#+Wh#N(fJ&#=AotlAx%s9^AkX@A|QH+3B~5lhtPU zVnS%(zgPoTP`g1-b{A|6T2U{dZzHh-QsO{E98^KLaa1n?Z3W^uO3lU9eG?20F*1T1DoGVvxDgM-Kb{C>s7gFWn`c27BSY5xqM9vy||iT*|rw*!s-zyBo$6C{{djaipr%^Y9xn~E6p_9_{@{Pl&dsoP(68!5uh^b=+r6l8`N>s73^s-nT=FPG87Aor_|I4 z?3Y0zzyAc$l9sj&FB!IJ79pRV1(FFZ>oyktVVGkSG3$2tSh2d{Oc~ES1&xzt-VXh< z6zw16-ZsyMDI-T&+F5^;{I zUQIq9=#PNTXOj5fStw3VK^Lors*f=;%NZFS)`zAZ)40u%0tvW&eA_vsa-0mNJYrPu zh2ajlX4rK2*gs1U?Sx@pJ!>mrV;$F~UEw6qgF!@)YfDbdI6OT%|Jp!25_pRT+qv$f z+>iLxHg$E^sfG>ED`@Jyy>San)XCqXmP=c+_~X zI<&ZHD-}tZ-~dmp788#muVPwPu%Y75_at%lwJGh`(Z1N&0Z;rAwXIX!yVsu9Cc8?W zQ$ZCqx1tCG1Tos{vPzxNj6#w*`o)YGVgINyp2Y~xnVfJndHDYvZVBS7A&E@AvU)ln zcR6C1Ytgtqs2Ibi&Baz8--Bo6Qe!i47_1U=|A`=#%tD?HRzd{6^P>Im37~b`Ynip~KhW}@8>T&a*o&Bp(7;7g#VJ?(E=Yv~}`j#muMG(7a}2jT_&pYS+(Dm{?5^TE9z zz@YT4HB2#k9*{RfJaOQ9V(~jzdKQ)T*e>bx4_sdbJJwJ~^CtghOuNH3eco>@h{oj6 zTls5dY*2$N{XyjeYA8`=tpo!uZp#FD13ovX-h{gi+&1b@_B!9C*_*vWY5QFJtty)WRm98M$JENpAX=6VjL# zjLE|eUvC@BRx#mS)~3`K2xG$bp#3+8rkc*@n@$#ku}k`28%9yZU#Fv`@^1`JTj+VW zlDEyyJWRhhN_J7fTXsa)+sy~)66(ydUeYcpkWDee7z>HHYV}^cSr@8x>P)v3FsC&d z486SiOMTq!saMDr`1+^Zqn#*k;B~gO@@u#wRT!}C%u?>QuSm4nXHUGoM|g{&ur0Ab zYmMhJ(92`2392?t$L)K4m7$rPl(=Df$L(uT}nir0g~Pi>8B?^;oS8Usz6KLZX(b z_43R2$*R2DPZ?ecMX>fHozpx-a;?a-P&DO0T;K!Gv<`Zk!ms`J!!pEXZF0^DixuQJ zAUGukCrK7J8Z;j9a$-g59u(804ULe9>Ct1tTqqhg=jqP&^?fH^0&cq@{qVlV+DzuN zGsORrctdjD8j4G%wwJOVYs!ox%A*MpOQou+GT)5js5#85nlI&4&=bjQ+R|#?oKgMJ z;zitYW|TH~_npaRHg4g+)w-(GXg!iIwB0;IA5O~>pCJD(BYe{0pL=II7+4g&^EI{c zFEY}7t*+2i@CUtZIikaiP-YpzO7GVH++;iD8(54Oupbj*#=FDtR3aMV5fLBI!|GR; zn;2vL(X)~huLk!Q^1kCxkd`p3nB)KpYaBC{PgxaC_l21$F<5O?mP4V^mI%j=G!TwA z9zvh}>yku>#3wPe>+V&>`}&4IxDtDu3yzcc#xr%MC0uvsyhAn+>^GnKgnUbTk?9X!3$$mXHvYs7C}8xQGj-qs;bGS=Vz^ygP{lv)O+(5F4JPnwCuppoJcY z?`IhwvJ11(x&~>f1X8a3>lkI-3=-q+sPW%|97^5Hyl$XMlyF$Fyg5U6g6{-(Aiivjc0%1V{kK@=%-INKS&}~QvUT;-_i{o^ee-Vr-M-e;p=_u*F%2&AnwUjblbtS>I6Tc&G`iB9Jq{=e|CjASElgrL5+!(I z0mA{e8Nmpj<}4&VO((>r8-KGW{0@5V!qv};*vFAU9|m=x^Vq+~wJy>zd2_jd%i%R) zm#BzSR4`=XyFdl+;I?xYYFoYa$rr~2jcGBq&rK?%?2XD~27l{lhJY+6ih>%n16*yg z%h=3|usV`0rqR4DR+D2)iZ*$({_hN@H$_CmeRkejkyP8!oZ48#R$I$5FeWF1eqRv~ zfKt#RL_boOEb{5$7IWosHpu~)>+FY$kF&Y<0MzhLq_EOWW(7xH?rs0_>ycM~-pEQ2 z9=k8Ilwe*tpS7AswH2#S(SPZXo(YWv2>5O!?!QupX+HQ?E+))T!#Ev|LWMKjU`3|2 zNwJTU%-rs~93^!|piJg)NFIsf`nxVPk302G{Xsi?f=oN^Sfzyk;3|9@f8Ogtn+sgf zuv~L)cYenih#wX$LZtKFUd2RJi4KsgB^4t@n5Hk|yf+hR0*NRcX1g;g#DYF9?u4bP;xe zh%mZb9h zlW@o=IOLh4rTjQL1+7#_SY@jI(TZUT+KNF2cM-Fr#D7OOlE}0U-&&tX8OBV*!|W_- z>wIO~=?nL>#XL2(d(+fQ>}4%7nnD$gY>xy3eV2&lCx3^sOj)7lgtw?#Fqu$Xke=$J z4*y(O0CYlzgjtI59G`F*aoV5L?v)MCj&rdr|JtejEm|M+dixbJO&u7323Y8+Y4{E; zLs5&Z1U+@7D_bZG4MAj+=D$F(Ay=B@)Z2PBijylYiNWKG3wP(P(AS>8yRYPeGlx_b zNagk27bzu_zmL6sf34maApeEJ`fzZ5Kdu&kb3etVIIcy#LQt8?8|~pNA&Uu$C89!u zwFxMS9kYpbQEn;GR^|7EzYe-~!NzY;DbJ(}m!i8Q?{h#ZnDq-oZo%ZOMZ0a*>xO-; z*5-4E=@|aTA;|U0?l-eUnMJxkh`3_sGv=X{{Pq6lwz%w+rF2o7PSU-bTHwLCol<5} zcQ<579==}shd9gu8-Y)!b@ z;%-J-gno8yz~-CU*gizt$YQFg^8S$j#eP;rVB^RE(5>qDU9N|y`id@aHiL!?)5j>x zN#*Z1U+T^oC~J*72TYTX4JwfYS!uP^91Kq?HPq|v?E-+`d0M=_m{9Nc^8{E?bwFQX z&=7`*984iLn4Rg7#HzdHZ^@)^Ld{=v3&HReFPmWlBJBuf69n4ucK42UXF<^j z9{Ws9_}X0W&p45LK#qIw9v6)=qU8Tb16pl)c)+5|X8V7@Xa)^CM}RfCCU^;}EMrGN zxW6T1f9nrsC~it-3<}NEWWSBDgAEFUY!e0CfqD-%PQL4C$l6eZ^~k=D`ELoWW5%v% zWOMgI-8|~ouYk2AOpy^A)=MO zz{bm^H{xQ4MB$bURUjt(J51XgZSkA9_;T(oun&3OP69;x5r_+43||hTZ2E1oKJR54 zKgzvVe73$X?5|fb3#TB{(>D^8u&EP%;%m`-Km}04Kb|w4zNk!V(ATh{7djAFy53iv z#VGX|}>iRwK}c-nr21*b5Qzr~fxI>4*lx6dTX|r|>_x`%Gu?W2VLUF!weQM1|l? zXrOJ8COULHUI^&=``%SN1)e1}#Z&`84%BK4dUtV)mFvO?*CY=G(57KB&P5KBru&O- zG9+lVM=}cAF1-kTW@l0;kQ6^Hxu z8z^lVqj`zN;gI3m7@sLT4P7%fVyPEhI$N8v7Hiu7b_N1Zu-)oL+MCDVof}vcp6%ld zbCv$rd7uF~cQfGJ>oimD=rf%c<*mtR2qjQR zG)L&%TlmkB`C5b^0+z_5kHC0PtLs=uh`M}^t_e~`FU4_~GS4MK8c=k7xgx?Ei#!n>ri8B-N?pvrGxr0NdmP3Ta)uM%Pf)ngQ^%J`Ph zb`Ca_j*Z8(*I9Ih{F?Jq@k%-BogxANDM5T>cxZgc{Sv#pnQ*aRwl?IV>$VoW{t`T^ z0kyJ@0}6T}#7L5T-?dL=4LM!w#Kuc2=i@a`Owxgqr;|q_5H@dWQ?jnP0JMBf>_T;B5qS7oWHxjshfr!FJOA9 zd&_kt=`}G_Ie*l=;=RPb+)-7?Q+&3fiolFnmQ3}gS}$j%hz1A_XEMi1Kc=rgOQ z7haR3lS#m2-&Bt#fF8y#LP!75SrI|?sGKdhT#A_G!=1J)f!*0=uQ`XZxSdI$>=rcxe$#YmC+ zmeQzhgJ~P-QV(6wj+@4bA-E zC?I|b=_itm?k42`V!Cbr`S6Q6dUpNa`DKer3t`%kd(mD-VV|82$tuQ-O>ZJX1B?cYREch$eoqw=h z#PRcwfh2>sy_`T68v99U8|!$cTUi=&boUahOtfXUwt7s$bHhBLHA(x0hD{k4aWZQS z!7-WMok!Rj5nrXUmzXcTzDW~Q#J;>HWmwoVbg-|qXb1~QE2mI0bS9X6 zciCZp1LBRyyAl$k{@}T667bu+d!wl$&oYu?`ZUVEA~$U=-%9#!gv3;p08Vyz56 z-u#Q!Uyk0*U?!v}L={%zZFpO^adEslfVZI;_-QvWK8#+8X|^~`q2(3-ELZzt1Hz%} z60rrAN^cC2(oiPi$2m9Y*iW;c6eh;57%}ZZD4^SK;dybe(*@!3=nCjPDtag)tn=hV zVuQ~RN;<@b6{(rNX*P#*gArXPX8I6=_9onHngQR1J)LtudhSuP4m>NIgRT6!{%+f8 zzq_)Sa_Z)#yuG4=Y~wpY>aVc>g1zYAk)H0oURNjp^sJmETRdkQSgH0T{E_)e9;_WO zUGJ#?Po+15NC6^MBp`VVOcq&@WYlXXNwRzx^aTykn>XmT1HfQpZ zlH|PFZ&aFhwE%txKfOzf?EB9x({Q5{I`+im12XsXG$WOXf{sg-y4g`68%C$0*#;tt zv1gN{G1R=C}z@=apoJnc;)fIt3PD%u&cWujA`hZveV{!(w4Y9 z>`%*Y!E9`09;;~SiGX#mGhSD_3RaRHLtjcs`ery!dVf682<}d8A2M#M!4}A$Fl>3v ze)l?qV<^?#@=V&txMd6knL<=S{QE~^xRe@8jCqPoPH;y6?@=ML2?T<_{A>O8CbRCG zdX!!3{IfVTv4f1_{+NK0DYuJn7aO4HVj7d61J?j#jS>@vC@y3XKdErU=-fTIVp{P2dqZO_znj zcBiN`S0GB0w$%YcOOG|}$aM;O9-D^T(wV-K`U^=bv>d5TD0M_y+J{t8g9YH^-|%mu zn$Q3YQqUxyz}v{c`^Z+l%nE}G%8hx@*K+dRLuv?V0^G|Y08j=J8jsq70VC-^I*>3c%FqE!6w2r3nU^Qj_%yeQOA(%v~#tF0FH{GXEa;W4hjIg!BNdVf+!l0|(|}K@5g1 zz!+9)eF2qQVi&EjaAMUaMV*@OR1q*pq5qq%LAh>hPTrw-kYgO(IG znw|pbWDYRtUnRhT74TG0;)k9mF%MxGI3(j+EFS`~u$<%Lu&AG@byljw#y(~1*w`j| zVpZH9uVY-l$?I@cv@lNA%h0XH(XaE! zh}N04w%|Bhd6jUICo^Lj1)*kZT#bM{r9N13iF!0|hUhPyRJnOrCpV0L-zPBN%_{=}+A(I@;T{n5m@ zqZ`Z4fq5wWV~BHcwRVl`RQO^5svVH~40)=`Zr1E@Tb{Z6E9YnG-TPLVg?$Wwy0Xw! z#*LFOt`92!u3KAh0gMc4EF&PlT;{CrobJi)60(@OYPJPo;cBC(4|)QUB*| zYRO@%hT!9s!GqsJ=SB~AIGV^2WLQ$UD-AsUL?IUk%3?%kQ1W{a$jHYr(N*YmfSI%t z?OkeS7lpWx!G6PF1+Q5LI^V{H?bIdks~~pR;BAaX44JfbVB0#vE8q1^ML3P z5d_hC6lIxRY(fo*WD|x7yH{G4!())MVN$An7aM-|lgyQ`YpWO_sy{H;x`6j%Vci~& zkNI#TKgWp82~>x-AcXaj@828Te5wPW$e7+F%E&-_q6S-xzA+iro;8eb1%I?O{;`!I z1B0t$)UQ!*1S=;RMUvocPz&^6`S19a@(rA=wLLz@oyvNP$G4lHZ1=xoz%!;gQ$=lVk zcRtdEs&yUa1$K|U-PA`HEKo@L9@6<4Rxxc3uSrdP_@vaH41>13*OIL!JxTp| z*4mn+!HywO|>f*z;*Rn6pm?75oX{ves)dk6JcWmF?}pOv*rlrvJ`O!2C?l z9dxSW(1IzOX-E}V^$_|sHW9s9%H_{w+{K*z>&qk=mXugdbEgUivgdn)@NodbXii0# zXUNi7)d~uHBfjV@>kCBqq_(!ZgBmf8UZeRVna4UeG~_WlY6jF-FGr!K;Ln{%e=`f; zsdLFv_8SQHq@dt=t!~w-zfQ7~eX5R2qew82c|G9isO7o_7~ue~Dqnyeovio6AKV1zOIOES zHLD^vX!h*hX$btZoKKX!iw*ibfIBNgwH@pP{8K&N63!%W6x)6c1y3vX=NW{%J8~RV!hwq{|1XOx=#1>U~pjrvXduMJ*|#P=gW$|}pQ z8KH5xNHS($Y^9Gh>~ST1C3LvBxM|t0#o^#0Nh!toH&HUZu5E1wXm0tR(bQ3y7+9Tj zs3%4bc56ks2yV|DpaA7e z`YG`gWOJQOWN!ifvs9PE;qCHxew86RBMUp>d2-v+B^ttLIi#_{o4r8q+3d_DbL~VJV?2eNWrDR~eDU z@NMj;HNtzh1kS^wz2%44EaQ2r>oO`jX2CPB`SHAD-;P_0LgxL|r_ zYmbaz+*W`sz&3!Y%9K5+6$~Ds;PZ0qEzE}^C`&rG11#*Vqb2=Mex!{^s|FMx^|uvT z@-2lQ-t)agi;V@Far72-<`u&?;US;Qc<2Blu(GLn-D`8*v-@QCpC?TVVfDDG?cuVf z7IyFZ=|sehr90HgH_h2X2K@Wkk7;_jyW!qIH11*M)A_#bQWqO^_i9bYDkKPoGFEk$ zyEyd|oO{$;1VNcJlxvu_dIH08(e&im(o3H6{V!EBLEdr?wy z_tSd=zzo~wv@^ba__mL!Mtwd4dKE9y0U4gfrK-Gyb7gIhKq>Y#&RbQ8?XsxWXoh?d z{V2uRpv#sk3ar*ZBkbnk?(=WZaZdlEd4ow8sY&8iQxI1~YPo=oH(%;KL-~gn^0_j8 z_dl;?z!`rTK?|`ujgxk4#>??sngPe;FZP%?bp}9;y;a#k*?!`@h+KN;qu;puwntK% z+-Z9jWOCF1NY-DeR;H~n+$@TW%!zx1Nx zJO*g3oy~E%>FGTon2!58Mmn&diBj{Z_Xb)?BlR)crem{ug4=lw6pBqov=; ziqXtsM9~|ueFoLAj&CrJj`vT$O3m2gVb%H~G*ihn`-;4$KTnf5l^b--6)l^cKjcq9 zc)xz3iU8J%_-%iJy=BB1`P=ELi**zjN)9620v~G%xugJlzSKjwK8kgbg_)3 zhvJ3jt)q_(WZPe%BET~-79P9xgXy@gz6<HRv5t9!CN?((Xa6v*% z<1f;x<=iBiyA?cj*Pf^X+rc95M;^8|rbr3uk4qWIjJ_v`uTf;M<*VA>}5CXT)AspX9E-JA=sgaD~K$9m|HB)kWCORDH|Qq(Vkph ztGYIrj8|8vF*U(b+ zImN1nO`}gR#Ca2=(7GrJ!7(Uzd|13EH3z7!Y*o2?KfVQSAH0qgR~q0x5mwbTIjVeZDgWsXBO*_Z>mSUNds4-B!0!i;rck_j5h@^o)L=vz|)a^i^ybOl)#)XN@X!9-;*6T{Gie`xAxEm+jYdo5QBsTWG2F zSWnY?d=m(t{n{M1aFgjCV4{2#RBWX(bbFKcM@7L-cYb|h*Ek3r3Bvcm2V^9~TWv$y zjxphZw2nMBRo_#X^^)S=Q_c(A*5O?>_QWvBleZRxwhGfyzHj?S1y%f((U2-)(lgEx`OluGeebaTvK!RL(1 zts-07oi&t;=sm*YEamKx5TK;*$FaPU9u^V=@V+63&=zC9pKb3(IA8^j?~huV@pt6n z81c2N^WMbO-TnrOSSB&)i*<%6Dm0kK&Qjbucq9wkX z@6lhB$lylcjxm4~Zyyfma<($zBy=Ds2$_<~Z#^J!QqQI9QXn+LNHiV*@dw2Y`0_~d zZ5B?AXbEx6qQ>%1^-u36QkOM&;(?A7E^ZiUwUhbC=eX|{qde1}rqpc*+ep7+WLaPM zpySECqKU89e!aSYijG!A^rH2z8$xTnCv|>aFL}{1;f3~55a;Rrg~AkL=h=?ZLY}bg zPabHj#wSq!sreFvSV7=@sKp+{Wpqk1op}p=Gg?k9vRpX1i%+zKF@?3a|8wQTDaDp%zz<&|-i2@V%KK2eapDjh-8gYDPy{T zM`#Uvv^P)WQDFp5gni+NNN)#@;VGDjn{eO$pGnX>+PrN$Rc>bFYl`qMK)$5Iq14M8Rh_wY$H zbm%V~nl0DeuJY6*j!{@8T`9n|mR%%*EiFX>Cwwb^8L%fslR-rLbk$F%sNIR(%*ep+DpPzL6Mj#Rk*DBwDP{?c63D!0U z?kzkr%)sBO9)GF(oBS#)o9bU;9(S`hnSNw#d!|ta8d&^Qf@bFlvO@35^~g7lAfD3+ z-^$}YW)Ex*+EXNh5d1x#g+A3EOK%@<*(Fv!Q95o~TOGLO)>ov-YLqn0{KO z+S3n{)Xw;Lho9#tHN3q`vh9S;x|)bVZ(B1qC536PKPQkRA+jC2h;jz z@f*^6JM!PUy5Nx?gsyL)&(@mkE__Qc#KQf1iEP889YaRVTb*AAQoo?U_kK3>25Q4^ z(BBvR zXLiVRq+-Vi@%X|&-Ci6{csV?s$9oNVd(G#|6}3gNa)AUv(y5CVS^r^w(hK=+eJZP) z2AO{$51(-uG%4VE4Lp|r|;lEH3ERM^eJ#0{wg=QeYiZ&t$J!0q+u zKj;wc7HI?Q8cxWzI#TaXnvV+mvgT&$aZkZxL6-@iy%3F{?}dLqF-|_*MTe6hHMBU%gu| z*Z3_~taasSsp&KNXy!K($j+8}`q4=Y{ABgPK@&63{xlECvYJ1%-I@Q@kZDTp#g@+yN8zgk(+Km{bEX+!UXT|iv>$4_1e!9|FGGA*on62C*WsO2QB;O1cN2baJ(cD zw!-p}QkPi)RM3NA`<1{k(A0@Qc(Y_N?t1<)taP$g^-~k8{8kMZ_9x`n%X<4Q#RV6( zU_b0*D!O3bI@|HrvC-GADrTvOhxFiI?DA9PRu_EhJ3vzb4xj*!?yRX0I1a-!c zu&S`@DDATr3(ZoOj$G%DX6yAmI2--6@wFH9;=uB4;QT)o#Nl*sVPS{QJ71DISB!cs zco~0yN^p{0aD20azIdV^NXNhJ?5>*= zJhD&OGx5a#gxMM{F7O5w#)o^s3(S5({HHfqR7i4M#IJ{0=LaW?$w#{=jjSsE)He^T zA8WOzv>cIp6c|rQ56TClP^T|exCkpA4A+*<;xD5h(ia&Gi%U*fxZT{L1p@Gv1CC-Os4F6dJD-YS+NM9{HtqfInP7jhjeM~BtwnA@w)=dT2SmTDa4 z{wk!al7S__p8MO$5wwR!6+MK(KP*jVMKFWRn$&}nFL@%QyVtqfVzUrL&eP;y*`Xnz zeu%RD`OEGj1cC&PZzD%^a*LqvKAV*(^{6e1OI{4Z{JZK$K-K>fK5H zCP5roMHa}r7ur^S*<0vwGwh#->9(AvYH6h7P>aq_*XxotlfM@Sk9FPG?5r1w8lU$l z2|2_$n;h6Tn<)?mAEZ2j=R_|KCx`a~_l%Bk|5u=I5V2fuhoI)xC$@~P3B%T7{uF#L zlhJ$jSHy9&jWdUj87+a?AffskdJi)Wi*FtTqkc>k>_p^Z9{8A(uKqjfzbxa!arLG?#fb08nej5?_O9|!x5XV z{D5lz76c&yw~PMZJ;<#&@&J~Jss107M~Ay_C@Y+fAUdGmSN_Tmh{#sS>r>xu)A%|+ zA$!glQ$MQ)|QFOz_a93fR-`n7N3TmyxAOii7|eyF#+=jl4r}AnOJb_9g4JJ_bhP`O@AAKVxdU$jE|AqHQ?C z*@Jd>{$Y2(+@aY*kXCDveM%p|Zrw{WD1r&@3bj%!=nUD z%pmiV+gyjBtvq>`l%odsYHF+eCcZ!b%&-}|Fs8%D;aRT1Y6Vmk&e0t_7hkUux_x3( zLg+BxP{Uz)OBk6pEg_`>eGIc!1|p3Vf938&@~jSrE6u}5Kw=UJ_%Fsq=q0T;akZ^< z5P)k3ewm*<(9@Nb5PjUdU+k~B5sox$Yy-6Q2Gz^9 zfngRY8NVC_1pr(z^%=vdLZYkY#vYMO!9TMcT@%-kXYFiCq;_4WAj9%0ASFNm9nEOc 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 UlsPP!0hq_a1Ol$R_SeI|0o@Jia{vGU diff --git a/vignettes/building_out7-2.png b/vignettes/building_out7-2.png index 888ad8a8e5b3536b82aa4eeba6c8ca0fd2a6679c..9307d064f7bce31527ab9b51b6a19875e6cd9e87 100644 GIT binary patch literal 41703 zcmeEtW0NIa)a9)%+qThV+pg-eyKLL+vTb+Swr!)!wr$RRX6F3|^Km|8+{hb|8E5Zv za$~Kv!xiKt;9+oJ0002Il%%K<002_^-v#vp_>Tl_i4X7x+FnxA2>^ga`R@Xm-}L$9ToDb%dboCInR98#92;IU_bl;e;YOd{(?lK7(qlZ!24h%QQ%!IQUDba6c~mu z68I1QUSX(wK_Vm#C?Pc96R^Z#Kl}ytiNO?!kf3P)|3m)|9KpK|pT-yzw`v<8$e6mD zHRFnE8ohxkI(bbfOO&Q|)YeC=ZTkOaQ%ER}nG*#jXPsrfh;!b=zld#p?JW1*83j1M zI5OXJXG@AR$Jk8gN0`GCKbpNJOzV$BF$6WjNTqrNLtQBEi!QE>u+8Q}dD{?86-a|N zpeVq`+QylJkUscXI>!6A5|rW$hEFe=%$eaO1tP4?ziEBn*Ar|oiHX}vps~p)b&jk} z=ck*-!ugpa>zNf({pJa0Xf>+?shN31iPA{=O{U3CQxuEo9h?Lf<_tolAYMV42oqnd zo8u3sP>t!@%m~b8O$ai%JQk)akvZmVe{Fw%G{P%?^^x(X-44qJcw8|bZ}r7~^c9zZ z8jpczXo|z5{_>C0K0488gM%<19>)xw=6?9LD8(qx{_$QZ^G_J%`%GP4I3Q^$aI7jxA3pms)b` zw;!J5cF~+|{>>%SP9L?PmfcP(7fK;#o15;yA4D|mic29r>{qMUB^EVX@DRPF zhO0WY%^vB+&Aq!J2(@>k11*$w$u1j}{@N#wo>4bdflZ3*xub1JBXEK?@PNJX%6RU6 zSEeG2RPrf<(`;SZVKH)3wahoxVw?3cZTba?OC6KAG8PWuIZWNOuy}jafKbdbkRG@| z95yiST#Y6yYgyKZ`Sa#(;BNV)dKZhVZ$ett?ZfYmW!BG1zh8g6L_ zVO@v)F??GRV`BE5!4wqCIbqDMO1>}GLPYB1HQaDqhfR8TFUqlRkh(P563rjN((<+} znw}oG-JEXS?)5U9g)K5kw2*pDBHMpz%ANJ6tk6!4jXz*o<(d!7>&jNP*SH0p!Up zLR#eo#ULCx$Ohd7+97xG2#F&Cxs|6Zr%x;4gRQ=q7D8+5d$M)Y(Mi7g8#s9@r9SU- zy@AoLz}#bjv~Wf^v#3hGe+6n|cwC=cUACj{YXURx%d~jjz%?xId`a=l+oyq{F5UMn8N*Z{NeChbMq7W`RD$<#GNm3v8&;8fU zo}dZZG!!GRB+@2Q+$H@qfrB_#GiYG4T9~LsmRE*f_?G*zODmt@Jiv%s{$h-42&c&C zF`SO{+}zMCPi9Yf_aX|J1G9G#Ep!!)IeE_%V{OW7$(H=XJn=V~G0o%vv+#YVA9Si_ z922ufsbQLYwoQ?CeK}JAT!NQdpocHygzvD%o>6{BMof|B$jk?A2hYrVDwYVEEG%|i zo?KE>qOHKRA#w&6ZR9-$aah14<4EUd9il|(uC`bdF${CBY`H;->|u@(2f#lZm~Zvb zfcSgSJFruQ?v+PQ!)uKk}RtbZ5gz}kl=0+p|SH<>@c`RuJK z#7;DC3)U7iE7aFWLMz%wmR@!0+%JzQOV}@rcA%7TJKAorFz1-p_TNJ8Gs;xRCaq<_ z0<3}Ipwmc&ZX)?GcYeZ;`26?JQLaI(J#T|75#MyrnMP)7zPQu%?{(%%-E^X5zqltLcL=N3Yq=LnxC;3t-?enTIttY0HpBb0Ux9a#aY>q4me}UW{du81l?{W-uV0HYuK`9J%>2?XEa3Z5527JHlym<48Mps|{yP zMo72SDVCXsbGy@29Eid*qCb1#z1C}Uy8)guTuP@I#xbtcRkCAN2jHuAnP+|->Gm32 zNp%vz0#~^#N$xkv2cDh?Nsbi>j76hIHU*uvHY~(JNc9FXBH}#?Q29h7NEw`ZE6wSP zn~g?En7}}{5=6;$-1$`=dM1uOIYt7;6v{P6lg+Z7kZxw292#}4%@}FDE<0M><;Lf+ z{HCZ|x!tqhKEd%r@KQ{@s^@(UjwT;z5YIHnd|Oh1UISy3zISWZP7JYoH)e8icRF!!{zRQQ!I7Cr>RiO9zfWaI?848@Z>k zi8I&PtK#xvWtCbSSp~RRpoAuELWYu#?VeFVPH06)Lz;WQJ$VY%L7M z-!O>>A7|s};wzXjRnp~xg44VTLtqys@L}e$J5*+{#<&+8+|qO1Do>r$OOWGT6OFQ{ zu)Tbr+Uu}g2PAu(!a7Es6AMxcYLT3v^E?yvSM<-Zj_u#%uF)jCoNnD_6k!$rGi0X0 zhC(_fr&Maap~1bAizW`ojm}XLYymldD$N9{7cxhG zr%nIEI1fj-a1+WgyQM3D#XUT+v4^=SC#@Tu%in?Nti`N5VVspEm3E?V3S!>?<0E-+U!keu?jkuIIbklx*eie7e#}lD_>39yBNl$UcAw z70WveKNUrj`$n|bUOJBY2M%X1Cogj+%p0pY+z`zM^Bda=*+B)=IaL#>fgptf6^u<7 zHX~=h)aW2LOhcdtdaKC`+d&x=c@>4pzWtg)JqtvFgX1WTEafxJ$YhHpM`B9q8J65_AN4**cqH14ndV<1u1jf2X3oHT96NqghA-=XTl6gf_9!SI#HIE- z?r_XPdGPemQ;My|59CD3l3?7R00?^o+Xx~M;#q7JnC#!fe`OU7BoriiAj1Fl`+I|9 zrtXABbGCrly&+4Jm;wX?G$nT9YUd+|8T+~MP^2$P5e-xcvJbi%{ZDd* ziEg>O@dH&%Aw}W|1r-IFY)606*X5dE8H6{x~!~ zD7&FiX!wd?|LHLKdJ=&p!pj8zn?0(2MNK?aIeVe-XZC9i?;1M$qyg}Z!3fVL*5<5} zISM^%;%J&$al=YsCl%WY|es+1W z(bM$*zH*AN(byH5?4@DILb2SSY7!yQI2Or)2@U{sL7Pw3!{nZaMF05nt3Psrx1w_; zE;bB=9(z=YrgE>|}U7o(qgx1g_h-Eud0ts zNA&Y=pZS~PsMQcKl0SF}UIeJ@0buRhOz{#x82Q!q+?N;Ip|&ZEu*4YLTT=-eVM&Et(~U%aw&r6oyeSe6c@l1*Y^73e zJIa0=n3Mi2O>LKZSGx_=b4g}xYrneeRiex}AHqTGM&o^lcsy*lQz$m{kGN(hHQmXK zR3s~Sd2uXzccy>W^zGVc3QyD}{iai!f9N~XHv&V(?<;hn(sZwygiL*nDhaWE9SQC? zX~xo4^@PG@=%H^?iUQhSw+K6~pZHgy)fjC>!FWK5e}#M$j3!toKzcVJPa#V^z#IMC z8@Pl1@P`PUB}jJNpakG8bYjt-ISWQn6HblQXcSty+_UFyt0rC(+gknulYxS zxfnck)m!bS{`@_s3_DWSAFP<=)NQv29p4J$DWmG9nWL(1)^|hWKo8UX!f%2UMgX3KsAN0->c53?Rm9z&Ec;vATt2HUx zmL)wzO6YxtZP(0e>bGA?S(<?c2cgS8BTv^cC$Fu3aq zFlG3t6p-g{?Zh-LhvqoxH={Y0R-2!V{J^UDdYHAg?J)#qV%Simg+g#b093yqn%7eN z0@2X!1qBcv?iG3pj)V@AGJE+ptq7{>3KCCQTVEKubt>;}T)BZK^T|KVuhVZcjh!NkuFMkN+laIozA+OEs8 zZ}NHXyU54b7mN(>I;5WxhDr2+7nw)tH$m1s>^l8(Z$>=E+zE88Dfsl|ds#_uWf;5p zG%^46S4Sin-Zf&oW&gL#O(gq<>QSCfy$tV`<# z;O}`HWPJ^m2+8!j7qJu|Y#mnYaE=jhb!~$G-b#>!*)?JA8~l<&_U=nj*MLH~d1mf; zVt07$b)07ZkRzA@?BZmjp(+Uk1N z?Ne&?MrxtZ1aj-Ii8q$ zAh8(a-*w*eUVuMJ1d&>{ccqM`pZH;QH{Aq#KmX*3EVwHf{rb*lqr?quxp&8X%pME~ z4cE$|>UgcKaPk=N*jV`T@#vYpJ(QN_u8>@m*z<7wAQ_G!Q~zArdO@`qY6Boe|6%Gn z1vl+1O7aQ7#i1)>&-kKN&FvTY44<}J#rzISQm;P}H&@i^ih6z)RMeaRu^38^Gdbag z+l&ftIP%<^CJiPZyA)7fvOD_ZBkKu+{ERd4c_v*8ApFp@^lQhA#9P^l^bz{W1O?hA zqznFubEo>#j4CawiD`s(Zcr9_uWbf?^{(HGf+h@9ZSk!`Je-x)dR4(~0YQJ>^i<dT5!S6W!%GpO6(NtGGHrZh9C|eG><)azBLr%^ga!Ys!j?p6+LNp+P3%XW}K)nR6Z0N_U4)cCd<(>fcb z5+eI(XQX9#u~?(TV1s0WnQ~88P8b%0-F6;_T6=tTLPPKAlespgUFZuo|Ce7wt20Ec zpF}6^*QP?~;LEDk*&`=2S%vvF^J1P7H(L2;U3Ji#7yFx!m&)zOxFCC~AFNX{Yj#+L zE0!f?rfccCe`$HPTO5{Mw-0r{EYGs-jqQifQ=7$q7_MYD=4U)ME`Ym;?;{XAh)8E9 zu*$K?b|o^MaL0;;*8tdg$kNs5h}lcpzZxnVawvcNrD@=><9xAcyY6Zx)$6Lh43&BZ zb!!nqu)bjzpu_(yA+uaxtkc;u#85tq7re{dWeHcWU3zz zi;m!KlC&~cvm5Oz`ale-TXwoN0MREd*OUUeWfY?#XPW=Kfg_(Z7B>Qh9W}V5>-_Hq zOLSnj>%6AD6a!#s*U8pUw~CE47(%za(fB4c&2{|YtIZ;cHlm+2DJCq5@NbI`ByZm) z@5}exg9ypm2Kw- zC4|&<<`@(QB^6=JrM}%HjH(1RI}%;Ox^?1-MpJBS*Vm*-DT|@M-lM2lm0UZVs5OXy z1RN9xMsZ$`%A$C+%D9wVBhhc$nvXhdFD?ne-!DFfKUK%3o4L%kmfE)^JJ|vtCY4xZc!Q~fO^vi|OV5z36jOHXwd^F> zey8+dAwK!tynJ(w6LPIaC)3l~?=5;$p`rAVVE&Nmq|m!_a$^I>;M`5BTr5(V!%y!o zfRl3L&||L9SLsl&4ArT>%OVSKg!Df9TPP=o5n2_ITo4t-EdN)618*xcqIHR0C%P+i zfvw=bCK-`$4#>*^5_3eTI zq}Y=K^acBsuKRlb=(p?2LP=MB0#bZWxvgEbw1(ibS1y_tYy&5vMK{#$@Yz1dm8_5b zeakBiraCMxEvg5thW)c0r-~X&7p>{8FG&z6$vkFX**15bB{(;02v_eGF+55SGkpuA zK#1yTYPyNq&gYzdy5WrEyxXtx{SuS#U5ubyt6Pf{A^xboyNzYrK5Ft=AT3ZB>O^ch8__inngw9oDKQ8B%Ya_qBcKNVLr#L)dT}@;G8mNxP7CY;o!S6Fgz0;AHb&| zbQZOpQo)G@$#!WAUzi#Yl1XyG2VC14RYmhILJA`C$>YiGJxWC`&yJrh5>YsKRXr7E z@P&L7ef`3JT$y4a3~zlDk|#K~1U(j2J0!=fz|XyqG*kz8z~r3uYJ$7h5k}$Bv=p%T zM@H6_p`|A6cblTE-n8MMt@U!cg6pRO{;tIQ^Po~vJnbzb*w7CCRMZ}gde?CEJWw)2+{c?Z zx|RIUU1h)B%u<@x#lKBH{oa*#s{Eoh2yn)0)jcFK%l^cfC@FxcHaYj1hUQCGOq0Ee z*>hG&yv3!Dg{v@-_PddYU*w{t`YVyKmD0q9gtvszYl&mh1?I2Gz0+827!5fAMwt_E z81+qaM$Pe?K2M)W=liJ#_>{9@tb=)Rg7O9La?Zckt>)$R`0_sUF)_INxb}vpImFCcI6gT8s43v`0CcOL!dA3Ul{Zb|##jPi6M$@hl z=V9!?yiBtM{0eyjzdtlqhi7gSxK}*|9};?GY!fl;9_Sk_I96-R<-78M3Y+c;I9AXq zhCi3HemA$f`jiLx76hxV%_51_MSRmVOTnA*t95^Z=9!hXfVo0CczFQJ$qqjeImnyC zK(#(t?p1py?&66kY}xTKm8945OOa+?=jot=Nz(`SBq}FQbB}e?dT8v)&apg;<%U@P zJxF*LmyA{WJV7EfC^%brFMd2_SiEUsxxG=2C_K^$cBP!kd=%ASvU?3QK*hU$ER6WJGi4C#D6Z1mvvHtqVqGXDq6%`LyNW?O41-cl#Y(5=lT=XdmM z#QxdGqg3}=LIlcNbRq(X+UaORToi~uaHV!jRM z`3eY@GIs6vVM4DqK3Bit&4^g9)bHYK2%N^xuGS-Y5p>j@%+n39KM6FcmTw8dL_%)% zz6M%6kh4+IJU=66WQhEAkt}U?rtkC5+LvQ5M=WVO!q`4;~ z#jeMZ0RfB{S=6QC1frPzeMn^h8@ASXT=?T;LZtcQ>0%?TEMW*jG9_MVAZLXCxAUp| zd+u6!gIQ9iyryMZ*zdYvkAQS&sI)I?pc9cPb9ncv#7X4tV2Q^n4N@CFoC#t{F~rEg zyqIp?A;s+TE!{~#@KbE6Er5{`f0xKmaWsJoB%X7#u@>zX&vFm&f3*Nf!cBAeG-#@I z&7kuU4TWE9_8u29S8OI3^g5Y1O>vky<@6uC7>tY%QWQhUW6M|jw0~`10-nZo8m+*o zX-p)Zgz8X#m!awS$&a`Kk`WrkcawlNI_q058IGGwSJ^uupgT*N@oTbT2PD+@o->?W zU=O__=W|B~){tW0z+7O3HFyh)b(~dtS+?X^%grpszV}b$v(9L1ZDD#`dM{(pbm+xyZy37~(!yK%-Z5{;!C+BVab z-B!CQsf@>PEP%7|VvrXr%2TQQix`OVQ~BXj|VSBRS5bgk>LC;Bk z*!F7r+-0C0Og*deOfow#l1B;^4#S<*fWSM(CQ_!qFA1TD-)P|H&_2SOzgneqFXX>@ zgXKK|W`3JvK44d~FPo~aCpbZ4)?vXSH_o`|LdFJMR`Q@MS^CPwg$5shAoA`C1NbSh zpwCURGMoG~kuG_9YSxR$GYTHC=gcduY|3$KYN&Q4h!j@!@I!<$q5JiAg}HP0hiPwm zUr0b01i*`SP)CL0aIP__W|8qIii3B4AS7`6=FTbU4PMxq_n3I*6E>KZ%e%K)v7iV+F#rL3T}PvMp#3uPT&k7->X|3hjrH!ewE7 zj2kOutbn8>w4%(R3+9b^+Dd1`W-s=Ltc{dqaWAqmCy7Dn+21gQaV^|7f@6Qv@|F0- zILWvKM|%j+IOFquEV>$d6}cpX92nh9ki&UP!v@kaWg3GAOuTZ`-aE$U> z(nd@0uRG7r@T-SkGk~ZUOhM+pMY9PnMKg%US}168wL|0j3f!m>*hS# z(e!972$nUv!vlWzWz((*;>pRt9wAb1vnL;#8Hy8g0y}In2EwTGj-36h)#Xoy<-N)R z@IQ@~pk(PTErCo|*TClTPaoV_T@UN$*yu}g+mJW?n5d%1U&5q2(X2Fbf_#ImxyjGZ z!rCCnPb@5M-~mH%P=*iZ!Z#<1_p%T8HJ&MFIjAluU7lpJobVy6qyaZ(^iUI^xsh*oIGl&Frs()1A<#GU{mMVEND16rMOt z1S(jVTG?b&B~f&vQV}LJ@v#vIQ6DD#tlDF`r+H>%yVh8sC1xRQXt#xscb}a}#6fhf zyV2FsLiM}Hu!o=lf*H7>Tlx}DeX~=sNG0oz)l;Ed)@J3gW3|-lWqu|e3aJaYriLd9 zDq1Qqe_FdXvM8%d3tJOj?xxu9y9toSGZ1=bfwjTevj%G2z5@Y5#%^j~O^UI3hN=%` zSskgJa8vpM60jAj(h=c1WdH1NxJ+!ntl?d)V)v2yxvI7L+sBS)%ZKWrje<{4C_$vS zH6MlDqL%fUOj6IC=upV4Bs;CZDD1wBMLs~qGK^orG(<_ODTp(xb`>(RX%cnb2)3lRE%6tpql7fRo>2uyOlm_SKtjs5Af&9ooaEOw+Upbq%RCHYy6Rb&JA8?AqTc=!Y?dfq2bEIToTA z$_i|%^gf8yQw5i2aEpysgl+!PwjInL+&|pJS5PGx%VNUfzJ2>!+SvjdA${SxwAJ4p zduNW-=gYD;X{6|W=U$FojC00~mfYIKi$w(LU}o`pI;dL4(Phs0-FKq+XD!3lY`Ue} z;9J5E1*NZ!Y7b%qR9(9G=)P!F?jEV%BnMQ3zrGq2iXE?h7%~y(+B}dp5K$wttnbCc zgrHa-^l)MlnPZ_tcCf8FkV&hJ=61%8rbK(>-3yul7(DmrTY^XPP*#FLAQ$6Zm!0ZHbHR@C75{M0o4{K-^2@CQdlfAnuGAX%pkD|=)?D)0)Ou`f@3cpFqK0T!$ z$z_ca8GuqsgW|B%7|DhY$deV2+=DfKFW#rz+~_!J5WhU%hRgYu4y8C{wQdTKqvxG2Uk`CC$tBsst>84cCB9O;h7ibHJL$kfX z9uR2g36tFGlhjm|j|z^@b{ZoFMMs{OdU}Uazciniv>fVv52#1W2e*8L9#qFVt`r{M z-Ae_8Y{Ao19(2upm$YU;bt=2!SF$P}fn<%4z{@P!kTbRHC(Ka~X$m}msET*t&J{lU z;1Kscm$dr_0nFVMf}tA@r0$>c{#kdD>9wNO_HoI#qiUy&0t`M(oQSuwhk~6iC@lzw@*A}A`Iir*KU8KivKI8PG zWNI0DvpiDX74TB=dsx6x`r3Bg@ zE8S#v@1CVrL#|6mS7vJSi!nk%2S4a;%eEC}<<>O6yt5)3Ej2@L zeBXhJ=KRz+kF>G^JNPp3GLr=uG5yR+=;nRE z6W0i9i{*ZWLBRXsPJBf;gm*pcv}FH&!O3sNUMg9bg79 z5g-I806kI=y@IdwitRjBc5@(MQ7(PY>#`Mgkh!B06RCcyAPeLlSs!-P0v@z7!*60tgZJ&Sx%)0T3!N{1u zqFh}ETQ0kOA}7@wg@$#6g?bt9``qpQG(S9z!vFX5q2S;$R_X0Yi5k<2nL!Wx2!DQ>oMI65Z5N+iiPw{p+wh&4WcSV~XFJI(hMu z#z)DC=EkI$go4c}8-itA_UHMIvrvkKCb~Ak9`#-Zgf!Pe_`)w(jNaKIRa{^Px9lQW z&$S8k1<0TLyTV~D*M)NO!Se=FdS=s~ZI4@Lgde;gGHX2_#nRU2;25NC9c@l8Mncnf=I-85UiYRq2qQ12Q|tTv6~IaH5KBJq$(EaVA@v z(9(yh*K^;mSl8wOl!!s&G7P}h?iOt*X+mQrQ`S#M;0}}EO3|tY6se+>y^J5gc)aTt zS9;C&+FA%0YZo|@dQl-SoQAze%*8MDg0I)1@q)azAxV&x84st74GlaxA-i?&!?v@- z-r9MfG|e!GE6_`(iM#SC$tfyEa6*#pk zo1n|5v@wRq7YLyCXYXjV+J;ve@Y`eDqu4GDN6zD;{K}7?WqGRI1y0w!;-d|92ncKg zhkLn2M$?jkz_8 z>|N;`is!}Pd|U_Kp?fldKQeoM)^U&3-0VM5rQ^cjq&6{mOFAH_WZ2vCyM& zZ!278;SEAWei-PPZD~Kw$gym~j(IPWJdcfKV0=lpu}xXECU^%6%rXN)_7KwH17nFe ziYj|g{Yg8bSqF!pL<9^v3L@IJ1PBORV#O5YG|p2{mq&AqW>K8pS{GiGJp^M!F7)7k zYgV87P(BuQI~D^O=z!V|2T){uG<|O^l;j3FTt#5GkoWvB&L_mHRd#nPA#jh9=sYWlF%GdDhrBA}DD*GcU!6=6!c%3Wrm8~28dj*+Hu9af+m+7% zY7MI7>g9V~m}P5kyM=dLx%T}U8Qb5Rom)c4)t@6H6M&s(rN}Gyez7`YwO7Zq&pK3i zChsm}=Ds)Hk0MaNi@qWo9f2s9E|mTWgW}=u_fizHt9jUS0dPKPZ}h<<m;^XHdls!et?y500e{ zRkP6X>8To`3_G*4d{5ctdC4b#ZdFI#X+>f{A z1nMFD^xnv${STYaAJyVZV}In<^e2l!ovmPsC+%*EaU%6CW9-8*=pybZpotrg%=5L> ze~Bc~CScS+0y+k`{UfBk!9`3@i;jtlXL9{jlc4HlVPxFRGTC@$cgcc>?As@WbSoTf zNTx-ESQ?qrT8(fXrJ_gcRgHPd;C+WA;dIK~LkrFk@z$i?YvSGXs9my~M?;MJx+Z;S zJ?8nIhTrLbiY)?;fe4AE;PjgnF)0)*Q;TBMd9mdP6NDIfQS#rUOg0r`j|Bb~XO;`e zU*Ak+{wyS8gX+D3zDgRCsJ90K1dExvtT=8+n$ay=VWO;x4HM=*bCMT_^S2EM-ZUO} zUGx5KKCAZ+w_x3UYCfk>-L7D{0%4eMH+)OZGL45;#@k0eFApFe@~{M&ps`V*>vaM_ zmOR#AErdd5KSuT>>HPpu_r{QlGMeikCpZqAyLTGJE$IP9XZkctxsK@z142^Kkf6gk zn3_&N#N#TE_Fi%YMOwJ(gIJSYeS*}ZyU#$Vw{pK%q_0nS^(gFMv|$A6`h0gYyU`N5 zN|zixm(Gixyi!u&Fz@j3nop@Y7a|4UFuW(l@1^S%ii{W;3r|(9^4=c~D;%36yM9D6 ztDXp`O@Jac9u2q(1d_pwOB0FWP$U3r-{_C(3shcYLZu&e`Gxf&Z zon^n{9=z>Pu7CC?$NP++p8V3+A>c-JZ-#t@;byCx8VIGi5$51`0Qj8``x7CA))f#E zZbn~$(bEpf3Gi>ATyVY8$Jl1`O(!CEJzDIa@b5YPHbGM=VImI*Z*^&&;-V`%R6t|% zu>VP|C5*Y)n<*QgFDR0@?0B@Qcx)^P#v1^-(n;;t@9TH>`B18=^dX`~y zUUK*&F#rV)EGRf(5Bj5@op*xIN>Z<0@81uAnH>d!w9pPSsO?CC$w51> zS@s%-U-LFmIRPn<%p0=ftYy7Nh0Ppi1s?8x3|2ria$@S$j~7jp#5Q(AsFVNdnp~`i(OHuD`Wjz1f{AZBrg43} z^sBy_<@-0Vzfh~(``lEp>Acpczi*lJyIB~ip;7uv_wDi67adM+cQEnt%EY@KU9z+b z`Rm04_YMtkGdij+RNN=Yn(p!|DT4c4B-*bToy2E;b+wU4f;3UE+ zdbETH@Jw!~o^@3`tF@gQ?oDTUPpPMwM!B7Zb`e#@BIEco0kwf!QN_ZT0 zFkCyKgK7&P%`HqEkFP6>V6_RX1d4CS7ZTb>aZ`}@OwkHBxtgo|OCcZN%QZQsdH7CwS-QLqdfIwZd z2;+m)n)5*MbGk3pQ~-^^fOVCr2@KFnOlyFH_WY zO)*@_5h$q+`LYKv6LC5mM+D1Y_Z;uPt_r{1+P}U5SZp(r!);HW0=qE;YnnzXo#k_c zr(cwMHCtaynKf)N@|3B*Jnh{&BDXmck!V@Je?;dEn^djwQes;W-~H!TARUZlVuizF zyXME$!fUz9Y?ifzCFf*RQlc5TY4S@at#LWav9+G;AH}~Ym82z84%8|sDRjg)4?hM( z$iB4Z{gSt8fs^d@!^7)>A~tb%M2A#7z55|A%n#kGEfvoP6*bp`J0%uDH4wFH zpy4}4kia%Rl8>_s0LO_JAR#1zr2}mr!w0fL{y^CWSW`EHKz)Lk%N1?IC#>w%Vp!Yf zTo2W&d$Mb)jRP5Ye8>wGp%I0A@SHlYwM3zF(DU4& z8Xm9>&mxaJrx2S87A@d9=ZKLyNLz6HM=^hfJi2XKw@(761+Lvs!Y8TokwgKUbcAM? zgDDuZgFlwmxr%(|!fP^E@eAe8Bw1`A@I~khrbUm!sjO;_yEYw%UL7}!l(x7FPMZ#L zI+7Esr5?7`R&RDF8`l^xKL0ko!2>v&_27Gd77Y6@zt15JcLSavcN69aM!JbQVOT@l zFbC*t6dzLxhD6|QHn7wFH zYotaadW5hH4eIv?MI8^(#4PKcBcfE9$8U&w?=b4faL(nogsL7nabIe58%a*vuEyIn z5wd#9sEU0rxMhLEV08>aJzb-b;*=Z_RUVMpW@YDB#jcAYJ90TcnaYT63Gv<3EzJQN#9a zZ|`m6IN2T>)u?)~P`n2Mip`!>e^oH34h4`cDQW_eC*WG{BsBkWq-E5lUawi71jL*X z;eK6h%p&y#>bUbGcl1B)WFCIMtqE^z2h6CEmKF#Ok(+SVK%odF_=9XZ1i@F{k=XW9 z8^yy~@x7q(d_Mwwdq)2y_ckzAQQA(R~&7Xius@`kYd z3=BMKs`|Cu@meV$USW;#d|XFm#SM@S-~36(hwmENd55=WZ|UV%$?*vU!h+V2V(W5T z$9yr+l1KLK+p5T`=OH~tYEKr9fBh_XaHqU|b6&qrJooJ~x&;b~dek4cMeE$L-Lfx) zvQejGblKP3q&Lm@)*_!%4gYO@|1c1sT7#hH!HWe;y-?YHo4*CKrD{Z9CsIaRuS%ab z?Idr2gXNylfb%@S+7m7P-S&00-ogqnci+qNf02%ePOa%am1CKn|8FX$f__|EB{=G8 zz>F!#xPIy`P_!ol^oCCs4`uwqecYwI;AL4Y;R)-|Mm(WA=Q@hX@eM5G$%ch+C~Ay( zxMPi2>Ie)Ds1lR0r<*4Ap|#hb;R4UPO%qUa3hs0(*!yt9*szo2DeGRl;e9q)xB7nA z?ez#vmcHP_A@hLOpL< z__dW0aK)nG5ubOy)U5215jK>f7ZAM@Zj@X;e<`T2l;D7}ja1T^#)JO}4X89IX*|-Y ztb&drkNt$PAKh}BJ8R-aAxVJCgio+$?Sz<_}Tba3=wGl0U!=LW#rUm{xQ}^V}MQU zQ`|ruMw#)R75^m$<>6b3>!nLa(YkJvIab^OQrT0n6-CMc)JV2`t982=y;ZbcNmL<42q(U3oBGPWOx=QblQOtEE=Tuw=ZjugA2ML#FBgM&p!;T`Q$N81kUE8 zi8tm9(kdUO@V<3FjxkBgjeW&C=)6WY?_pLp=E)2!M_jLC4zWSj^8Bdg@NEQxRcRcu2Ug-4yuAN{ zTm6j`wb$SLk3Le)y3Z)BuFn^Uo3cFQ_+8&XfPr+;`vfmY16J`cEt@%jn$py6!_rYP z+vI<=0K?i!nruK(5p$^zXpN}~JczNs6GufWgq+~a`)k6;n9JKCKfiTX(qd~hYG~s7dssdRfhqhi?N}u{^z#=?W3&2C+f`o+ zk{4Cn&ycN8b(??kg>Oz=M3y=o%01O zu){Z@TTMirRaWMZA)x}KE)aLe9b3sil6M3!ckJO(>y@s~KYcs8C&P2dzUBilz3OH` z5IAG1^QMa$J1rTBDO_qzUv)zh-8=Q+>NDIg1(H9k+&gor=u73uozolLQUA1ex#3)p zqg2GfZ1?@ZZ_fE%S|$CXQ|(?e*BF|z1lSQ0P*iE%D8}S9K3J|KNb${q6irvlE+Ty0 z?D{A0Vm!0lR-?>yt)6sNLt^Tx^9Zc1*uMhPKx4tOKXd#lFAiyVbP@9v#H{end0z-{=zUQsk9W_cSN@yUnFLJ*%icc{Yc)Vl@w6uj z^M&uiNq~zs7{sPg)m8{dhCkLBmubJ_Mt1Y=dOl9|NOp6-O+NWw00u$%z8MP~SmVKC z1&g`2D^d90#=cj0&(P48X(2kC&~@I|W9)yOHSANXZwAw)#b@aL=Mf9&?#Gi&|EnGS z9&uKwtG_6hpGzEG*7KIU_DZH4QfjXxh2?bN3MeXTZy{#&?DWZhsq={u(*Xg*qCC(K zfI3z$v;kn;>Hl>8&v<_4$D2QP?y>VLRNNE#=pQsc12&aljSB}ua7Z{7MTs3}7s9RJ z&&Tm+q8=ToXA>KB1V;GaJ3}$v+)7>)$eB|`H)=7;u?%}}z5A^eJ zkk+gsz5>?T$a~uX21(`N0E-}*01>)S3~jBe)_*s!!xd?uX$bw8K|-2 z&t2FPL7fAC@5hk{LP^}+g2Pd)^5Vf(JlKXa3&4Qge)MX1ajksgeti2d+G21ksCL04 z!=vEjd=x3z7sdGn2&{a*&C^wO_}%Kk|I!NXk{V85YKO|c@PE?D&vZlWxR!P< z6`!K-`lD^x4--fJ2b>uPULX!9Eh&d2^H6|yv<(R~>pB3l#18N4K~gjCBF63)c__fT zjOA>?vQ&da9U5U-eWx}y7Z@ms~XJ=n#Oy&tmosm6DhT9SToLGnx&C2U|Baj9@Gy% zMhc5r>mkQo#nvb5c#XR0^&7Z5NUZ7dQRncpU%R ziqF@hC5A8iykD(HOB6jC4u+sobjH!Gp~wc0f~fKT+57JBII45~_nax)i&nkaa*>N% zz}TkPv`|9}H3o7?NC@B*+K+_fasx?#6cQ2wA%S2>g&V+hh(mA27>ofIxk|ES^|D3V zcXrA-zdvSnwUP^#Ew>xL&pdiYtI_Q2%+5DodB69=4=2Fj7*KJ7ISU*sf-trTms~`dh zH9~74xYTv`h|UXmDnY!p+KNBxpS=LiNO38ts)eeWRD2!@@k|;3DXHY)ejW?+OqyrX z#-^13jJ6eu=UdNKef=$8lj^^(|HwZ}>eVId&nl6?#m)($c#;n*2e3GVSL*NN92!Gh z!xT4e+yt3oj1%E3{@DqEAf@ByTkt^ytqN*vcy1;pti6VD%=AEGsIa5b0hb7agKAnfZ;#dAogV7e}(|KeF9eGoWwm>02>i<^pU}_mL_(c;Lrcb%pRH>>pD-w zc_d_t>+o1a`}8Rz_9>Byl}{HEQ6^50v3VI}JF$C-=wi{e)H#KCiip!sOY1mO#nwyp znm405eh|DMJL~#;Cqm_z?L)tUFK&qkv*5rCAC4_XYYNp4s0{5XFpe!r{IwGoRlz0V zq*6THgZF~)O6XTG(+2?8jYYqTXM_051nK%}e8dyn-Yr&~IxeKz48&a8mT1!kck=6a$)Kj$PGx~jDb)X zI`IdH!^yhZh%6Jgm$-ez?Ilh(Eg8d={%pw|G(3(0cW=eb`liav=!YT$-NECevdKJv`;ylS)z2Q%K z#XDav#nv>gsm1y@D($Fsz$b&lDzF@iIP4)FdPsbkf3+3>zTUv=*ZPL|w@<=EH>w@rz%c>56~R$n^ko4}elZLe zg=AczDBlNQv@heyn9;Jvw)SUS?SbJ_kNl-mfaZTtt-UjCKb6?*Y}2Q#tCa`FCJjwhx~>5r z^v;S+UUvS#5k)f2EXKMN7LR*Om!BoN>s#>-R@L+iY5c1~-_yNV6GNwhrZj8<#=1~$ z!}%3h7Q&VkL;|M>jX|QA>4Ssf_Hf+LR)~EkOy6?qeG~CqKWd%$YyctEN+a$IOR|4> zh{Dk2P{Dt+K?G21N8kHL0T9aO?AJHWN5_)P`nz~CZVCShqE$|%bVzDH|6jUpD!9PV zkhYPQWX{ zDL|$;u>=e#mGN#6&-9`-h4C)9M0~pn$M`V8f%8itZa)3y*y6cu|1`2IiRvPOa&g?r z#NlROBw$E~|lC zgu!8_FgTtH;+jhQy!@}=PC=RRUK|vd?#59?nCyX1+EDy zN5or_NF)-8#Qu0!vj)N#k4O1Hh}Mi_JzLn8M*Y(lSnEa}k6L{)hCXNwRTWtUn#u=4 zRwr*d1&2dl_dM%t<&iK%k@#!C7$mp8{#ll7(>#x}$Z8%48sU$6j{G&(5>m^BC97^T zNzObKg&^`!7p-bw@g^ZOkE&Hq6jwjnjhFk-t3YM23n-HDW)R&9k~$binGOAl<-8*~)KHZyNx$ z>DP=kNwcm4&m0w=ByPMguA^7MoZ$L(aiovBJ+6@e>)Tn}RtWv?MXng=#xwiUAE?5x3OhwTa&21E_Q2=`O@H z*aakXe5(fk&+Q*$!w;(Iy6J!1I`h7ByHEayd*a7Y{BaVtB#|uWlR9+l$si8V9O8d^ zrwV|0>lTQjw{|RmeQOX|ZbY1>az%lrLKJyVD=DdlB=gt+>)$L+Iet(>41l5Yc$D}8 zRz1ON+u)2R;v~nR;{zdcpu5qu8~}Bd!s&leoV_WH8;prWbv0M7sqdIAYv22O=~u4o z{u78OOgjUd5r>m?wgS-FALBIiv$7{IE5+@tSQ-T5aEnMAD3+1XG1iIJ6eJ3#0EHo= z!y!U3P;LhSLRp+xisfN24xfZ-2l}%h!2MHjlucT#YJcv=(LP+$^C#jcC(Zy*M~E|^ z_q-((%_Xwa2!3o}4Rdep9QX0f&2R{C3)q+dAy64+`!T_Ru!i>|P#Nl+_~iurqYt;# z;L%=)1YQxnDz2@-suWJxv``xVEh5Pf1lXO#;RI(^QkYVGDv@O#4w~a1vY*@~AN3>kv!9MAvYpQvs3oY(W@ab6J3!AjaDaK~f5 zProUB|z~T_&|rzvy#*3P5vh@EWxQO@ks>5G9(I>!66`RKxNpR zfX0y0kv5VhQ>Hf_M=_FSE}&d zOsOe}*9P#nb{zQ;)~B#Og*F9@<6BLT3A&Gb_#u533wJ`2iK(+~QmiQjrF80SVaCbe zOc-~9Igo&O{pPa-lFTE0tiOj;RA*P-&J!`gaa_9hB!c2sg;RdnftEDN?Vtot2Vtk^ z)1cJdq|0xArwV_bile-kQ-t0O-s}hCh^Tls2(N_O>M_oaGpV0;O+C$zO$n6Q0borG zX#>X;;fXGURlFF+q7JN#;_r@4w0}ZW#{@UBY*1C(;4ntX8tyj;oE9zz`fzp^hdo39 zNW^0MifWVZJVTBUlZ+FupAUpUsMh!oA#jW^{s_KD9TGzQHV(Jtv z!zWUR1RTg3sCJ?&4V^=x@Q9e^!{!7^ZD>zpniriJ{CgIfGdP-fNXjdBUI*$FYL7=c zN{XwwlA(c8W6LU9JsCp)Ki zb^#vA>TCSuSbV1mQ{1@C8@MwTDVOnf7+nf_GVn;KbAkgiy_o30Grbt+!Z-)s3!^`a zdNP&?~d+5K*o{o^5aw+&IMs2Zys5~k*mvE2I<9-nWY>^D!AR#i(l zmNRSIN-6d1uEb0)zFdWQMfh+o%2s_lVSt8eh0c>cn|iBIGmjLNlInU= zRAP=x78;HNz~cRlsy5$;ttl)Yz;OZ0@MA?707Qzkjy?r*1Nbn6Z7CQWIzv!RTnSY}tL)kH{1N{#fzcQ6IBS3Fyo!m;fMv&Y-cu)++)KGWd;=C>$bIM4)rX6j2S| z9Se3Y9le-!)P~SpQ+6c0^q?87T5ql?EE6P4e0jQNNF{X_d}9c$NF5e zt-+HK+nn2ZIs%W+6lmemFmd^LB1CJabDpL8_(v+PR;&I%#Yq(s2=h^O@~RYsp1E+i zxH~r83uKjFWafR6KwJk&25#!U@;hwYMdH;AnC1fmD1l9YVp#cmfmptY>8Eg59-;}x z;Ss?(bcVAlp)%avg0sr;>#cZv3O&+?3K@}UOZ=S;6>EPtrRDT9nyw+PN-k!F`dK`a z&PS}Is022kiD(EzmO})GbBIHbNF+w4RWouJpS&*2I8j^i7| zI5WZ@e%x^9Z`)BMVO10yD3UPOj~`b_E`2=@_W*#y%OmY4rOtnU{QB=lruC~>7sv6% z_#}#^1Uw=#1^{G?!D(zMuEUCz$u_lK|qFGfWhGwaZN2Dw*MHEZ4 z%P6aQd-A;}H-E(#`3UEc(qgA$~4oK}Kw zmg5VbqS}E^B5+F(2x2N+B2)&Q!z%$mK!!uWDaBaQkI8OaT8^`~{1QYKr(a0i-XU|G zGijbx%z-MeT~q~0&7(;m*+QyVils%O^o zMXSyi0%=d=r)_A@V4M>t`f)ZZyC>8C{bGl-e!;}--vP^tmD-^*#59NmBDG|JY!qd7 zd=y63fJ=l;K#7cC77|64!6AU;X3+$*;M|hB0l+xC64C|)V!7~?SeM4ch~#ki<(xc0 z_O%{j_l7{>D^(4VL&DS?_7I0)^aJPZAj~-fHoG|Si!9wi^vahi78t451o?=MCqJ$Q z9#Q)qXbBv*uHlEGaJJt1thVhB5JXy03#W_7GAL!;%^;N7x+UjTf_^;pj(^a3=9T(c zdij$tg;3|fXHooW624G^kcte$70uf5n)w)g*$qMBv1x~FZL)~=v4gFXfC zg#cL2mtsI;R%O%73=Ti|oOlW2U>rI_LPIbMN-&@zl!eByHHrV(gr+2#(-`BxUu&QI zZS}ndhf(*Yxa|zF=pq2Ddjl9Vnm%RSt;Xi%#^z61td03Mrwnu}sCS{lhL>$e*VypN z0RCqJA}UI3;M{6uOX-j(I7d=LT*I~$oC03x#TX|v4hO}TY`20lP^y3W5|2g(#V-Kj z5Adu4UFVUYIOTl3{n@X3?@J$fV>WoFVgHcHjSu!f=x%t^(?V#u*nG0RYvQa#E%)|* zu?RxX6z{ro#@caG0CPMTV*?k}2@Yg!nY+sWuJgfB%i%0M5&%>F|i?R**4pSv4F2k~(@7tE6tN5nrfW}!X9NkpCxcg5$1X@Zu6NEy&QU)c*n7U zwPO9bq^uHIg@yXGt$&tkF6Xf>u10C)EG2Ojjn}cj=56Io&xWvk06hvchL{Eb6Wrh& zttk+KO*NC~K)qc214#Cac;3vW{+WKXBoUCYF%E%1Ww22s^+Df|66g$o6+7o$MRVPB z70o+Sq~IJ91trKD5C{lCi48>(5<0RB^8zTAaaVdCQOW?wwYRICcN!I+*)xw4*$JDI zxIFr%*EHWEPy?##EBZ>0h=(e@LdQ%nnP~psmOXd>R;$JhfaG|2W?IumQRzTTLzNvh z4ty5HD))&*_t?h#f~TT99ibCuTSHWIou`vLHb6W+qiI>!jJ_=17EcA$xTklC zr|I0z(^;V9Uyjz0hJ}$Qv;H3nJ##^|u7($D)_zs5Ub^me(%^_pC_a8*jY7yCYFv%Z`A*(n`K6I6? zJU4(l>u{nEV+U%tOnME5!i|_V@R(3K2eJ)Wh3h&ktCVNlM9OM8XS8%0>sj-%zwwp2 zmmjk?eQh0{?uJ`LR~iE<>fI={VQthZ7B|aZm6JaOr;zMM=eth&#%A|lmWR-p#)g<> z4RvNk$^a+)W9hBFC0fg~EYi%Cps{JGvHDHk+oi90 zlQ^6_yp8vFu*~YHfiDCQknj`lTi+0uLbpBLhv%x^IIg?(y(sD(Fp}@nf!deHJp-bT z-L#03hKoXNUI8D+(XZj{D8ed!zYUEs{BIZ12F@%&RJBM#rm0HmPz=klbqJQ0xT$25 z(IFBT9B~a99h@U=SQbBPAfa0yRx&5zP!L#;qQXofFJLK-$lmO8C-HDm<^Kk>kN#>+ zJs**1Yau@OzeEwj5b?zEblbh1xTga@NO!yw!}`hJGUy7zTzcPI;EZc3vD;1cL)QF} zP=Dy;qSR2Et zC~N|b^kcjWX#;0fV0jdkc3fD3jSACd{WZJof0WX$6;uBp^(^?3@FLfGv;H4y(qANk zi^y9d!AYfXi&&q)BoAH>;k!MF*MrD1I0Ycruwmxcj2tD%3_{1du_*ycpmF@nQ}%W5 zof>&U8UH<&X*Loc^Gs5xKbA+ru(`RW=tb{L-gv>1AY39uf-!c?k2G#fAZ}oV^W^VT zp)mz2O-)Z(c20B}QOCVI?piJI__MWvlYLkl$1R)izg_6bAflqwhENs>4R<$#!9C5+F%_I!WhIjlRTvi^?Cut)LzY7X zhePJ!==)$MtJrGa_K0}o8ADX;M;E5Ve!}GZ9hM~=7LJ*gZWl~oN`~B}W_poxOVh{RNAmIim-~0ie~*tTy;Y=vJ8**!bzcW_(bR&Z->y4fzFW9K?yX5JEq_l&9G4` z6_D>>%O8O0X9>CT1z;6(j}Bm*6Eod-z8{Mw!xOA^@F(@o*O;)08siz=#{3(9Dz14W z2#*Mjg90+eX(c$ui{oPB?=ZIh#9sZnt*cnXoKV99@`meZZKAZ}{W#9@(OcWt))Y3F zTqOpXB5S~w^8qKgt?uuh42on31W^qJ2Zgmk{t0BBG@XGG$P@yBU$%m7nOc*)%%C`* z!59_n>!M1}%5jCSRL*TZBuvdAW4ZSmgz!nimSdqO!S^m|-nE}-=Ck54o=&nz5R%Mo zG14{eiVFO_7gEPpDVaiTQ$+8%V#E0W#POHHyp%x=E4^$sp2uB^n82;K@o zV}myghh<7GsR8HsdNoo8E^fq27RG zBa*d>$i+5H_TtwqnBYcSvtq--12BKp3mjFG29(qw5Huz6X%s7BIKLD>-iC$o4x@V+ zCmla4T}{aIAmu{LHU%ThW@Y)EJp^Cln8@32Dy1qVz3nGX72A^`(t`O%uf1ULG# zczqU}i2z}g_D$k)N{W3AM83Q1`mJfa8$wb8fKofYHx6Yo{?UVZeq2*zqumq5(0R9( z-u-Mh%Ir9$1TXg@qFRA)#;~|b9tklO0)b6Hg&i)@Di-%CP?;4e7oJ|TN^Y7(yD-H6 zl_?l3pV7324A9t+e;3H-q&0R2`?RRi`_ZJrS1OKe8p&=4M~)5|KDzxzH!UCCIi!aT z;*Jr1`KLnQSYh()VadMTLSg@MAxv{=GPE5|o{01Q4q7qRXkJOj%mAe?rN_S?Ly?HH z18`7G>VF3St((eP*K^KHV74DY6@RQpV;YqbniZVX ze##ZX+snfU$mmz#5FrrA6bTK-mms3zk*QdnLP*1ZWhUKfGy!NyAak zQRv)q&&`i;LJ0^#V+>itYO~27zgea?jiXI~&aCykffI9Vr~H$^tZ@~JJB-%I=6!1r zmp2r?QZaACNOt?mLh`}|rlH%JMQpi${*@c1V-a?2E%y+IL*^Z$_`IJIn|s9L1oEbE zXMUwQYuMrB!CoSYTup;g;;Z7ZFtXWSx1v(U*#X!nQVfutknGTP;whnJW33{OBqI?6 zq0ZRLo068{;II^}Z4@%KL>XS`g<>F-#nK>xStNDK`gkP-WQ=hRuUGCR%xaA3pqZjL zDILW&a9}`%NTGA24QLEu6;Tac8OvB`4BJvxpA6?nXi$utkVJ0JJJWh8EUg*^Wfs%V z(io2PqgSyW0~GjUJp@Da2v{1&rwKe+@%EY+yb{W6*2FtA>@BguA>e2~9_q%k{fKB_ zC0!*lG7RhE_(CyGFNd94oK15`00Rg?sT}}TN3HfdQ}ZIkV_Ow z)M^tl^RQ-QJ1D{BKLsx_J%t=K91*)3L5;c-Y)>|CNgu{QZ`O?f!Ky zao8a46pHapJ`fu5Fw$MXY^^nP9_;0r6i>!!poVKIk98AYvC*;WgQNRzF5PxTBVG<; z`nrW&i5oqiK$i8k_gQ}%PsXjO>HuqReAac+JM1!3qtGD$fX1LQXbg-a%PiuXky|%Q zpNfH`j;$$#RA7WL@~%O0<|&`e)H(VTYfO@PRCzi#=ax2v!J#rMzgCzcOzVRjpgn`m zQDMirIIbK6mk0*jQj5p?0Zu-O=%RBa{v4tJQzkd z89Mry)X`*Y`)t&9#~2(=WYRnw1mnc!gr@Oigte~G6cARS7_Yf9te0d!=rpbX_UWDSgWL1*B=Kic7wFx!X4z3_-Qw+xR?#x+XA zAG)z7f%EuVeOW|QI0bk`s0^G#WuUNV*Z{JIbqTzZHAgi6FxdX2i4>He!T}WU4Oy<< zB2z2FDCV*OhZ6RNc2nOlZx?^vcjj=v7{r$Que@pczqflX{2OQQs(y4}P}uYyyM!Cb zWkV*x?+q9OW9E!EqxF4l)1Ltlf2kgQUG$vIQ$4JGGYOPKmOnhQbIY-vRSsO-h?nYa zG?MSZP*`)LzV%HW?1G_yv*$|Azf#%Y7OYX9Y2B($a_r#7L(b5c#>Flmr9&|g*GBCg z<3m^S#xd{r4eN%^J4)HysWl4t-uX$ydvu~LZq-!7#vZ}N^9mH1H&Y0igG>HJsG$~>&c-r2m}%xw6G?}(<|-x${xJf zn=13fNz<2aXg1edn$}_Zqyp>LvSjh{Q@K_JZxR zo@ZTfZT>SKG#HjrOb|$4xNK@RNIj;uqgp!;xb|EDJPXeVW@S$E5R*_)YrB0}?PW99-!-#)iQqnoYbkSR`s!nP-=ER`(@8i| zdF7N(poG7zHvLA4UBwfT@>T!+lWlms50l+!O2RJ>DxlbQa+rC4&0Hz0*zVJNA|EF6 z?fj!19w9Kqm&C|D#QgSY9fTmMV?f0bK14OFj-t|z^$8qX1hR)zp0)OQondXvspzRebV6$ zuzzSbuPh{IFB<;h9`c9w5ACK9iGhJ#6^=g_IoWz1j~Y$O0I2rgeN?_`eHwGz=+$td z7mIpvV|tbp|C+&9iq0buu@A~k`@6t zuVDDOU3c5FH%76vGVF~Cf9?n5-_AS_b^$80IEf4Eup)|+i}CO__+?yEi=S==A-VXS zTkDkIC_g@q3`&JN1WO|lxzRBI=9geY92!SlgU(E{XlM7!dKmFZ9g5kG+s?29Syo2J>D3XT` zZkU#oQUJtLnXS0x#lR{D#bgJv9B1~=U6aBM_7b8LQP&vJajsA~&FI}ooE~lS6M|>D zDnG!04-+`ehi(<+cGv}I41Egvv%t`sWJEViVGKL!Usb-{&;0;CH2PKyhyr=| zE2{8RH*}6UezYnmwOf((EI$m6fDESy8%0OP;>4IK1;s#AMb@yap<4nWXikC<)HKV|Y)+uej#)lr4E&(`+ZwY>?Jh2^S&%un?9JYGsvH;` zrrqoY_QpLlVKywMQ!KJcZvVk~ewr|_JdOb!Y~1P}wcwU$==;vMwbT>D=Hr<-b(iZ+ zuW{0$lzm5tH=Gk|sI%d#8*!o!YhpO96z5i;NJdh#!miyM$+oj?_C+X0wp-Z`$h*3x z%PdkbpxTKsF2r>Fatjm#ZV_=Euk|CUf^!^IgvJ;Mv1U1`484k#0M!d5WO$AW6IG!z z^kmSl06?X~%KaHRCoW&t+V#U=`-hO_=5wn9dU*t44VSteDv~XGw~I5WGb>>tkll)` z_sgt$I&?WSuwQ96^Y3rTH7Fhew3|Fw+g{gxCc_B9HbeKJL#f>0K>H>1{Ju~^;@p-(}%9Y^@lqksc4gXD_yF)|@rao3TuZ z&aF@y1-3Qs?wNIPLO_W%IytY;YWjBq8QC+SFo$S9+sxjL2$gWLa5>P2v%A=@w41XoxOU!sw^*seLaNb@FalotK1QbRD|@>ON_jd-d;uQm zAw=@6`l>qizHek2?3?~FIXJ0O#)5KOoMHC*687Na+|* zt@gpJ0hPfaU`rBNW=Y}Z3%(+;dJ08482=VNd-AzOjSX^T%ui&t@$JF!lY&WJB85jn zT!Ug@O$sNM40dO4Zxai1rVQ{%sB>Y4?;v>Wabd`Eh+zNHZq9mmkTF!)u6S_cZrduh zZ6gx#z1a!z`gtru0+rG+*NE=(ocs*z$-x@uu+R3`Q;k; zB;2&#qAu3C_WS?}1NOYPXp;M~2I3lABBGjg8Vje#sLU!%0~S*{&xp*Q?EG`cG>fD_ z&MTk97!eAY>Sn;6(Gk~>G4S_J^s9s2&_-@dvw7I&A^ByDcLRXV;FA#7(40IN3M_|n zh&#r_8$b9r&K{C7Y`K3vso!whDDo-yB_3+UchoQJ{eDPs87Zyc(E+CPD;pNFNGoxS zeQ)yZ6W3qCrC!7LVPe`<|EzdpX#{qPUj#Fc)jqQ(2?p3HDr`s_mSnV;yJ#cIRqZ3} z&?e{2M@$`jG2eFqfD*Vw%Mml1RXE2>J%jP-38jc?@Jc%+SB~iLYy!qO;SvGBCtG5X zrZqG>uM3MOJ8ZKLV z-rX%?x(}sxODfzhVBt7xK(k*)LL1zC&#UaZfg2VD(pAY#dGS!RsiryHp zJYpWXP8G8YkhL}I?JpClLM{ER)O|U%jVHFE#ibWtvhBD38vng^1wjpqyYQt-ywn2# zVvd)aF_6*++ZYb!D>sbfILvPvrqgA1_38{>2{r*~9a)A7J0hypFPt5D^JJcrXx2J9 z?AMf~9&w2fDUup|GGeNg6J$d(4`jQQVGy?)vsL&Ldv{$(PD4BIgz}uSnMt=Q9Kmb` z>{$c9pN@cpg^kFvA;Q`ur#6ZN>J3b&Kf zjn(h$ZC|s=Ml3EDis#d!$#TzCfNEsdt{!vog>4t<@{-fN^i)6U9XO`~&vzrCTZ7Cg z(61n)50S+_c(A=sG>qh^^C2`k(-ks>35q#{f3GYrfv8N^KX8z`0baY?2#UP z9LJ|oxI_p9^Gh(GBCHM;G!H`T&P_)!wa|>3O&*`Y(Un2D9sLS2h9&HnH9&w0 zJ2HkPbheuaYv}V`Ks>eigVZ^ax+Ma{bJ7wcYSiJmTC)jLofkQ3v`gGw1GKX%$%j7e z@^55%pcw%y0PbZbk%~uUP-#z`t=g0jMz<3AVh+xG4wx-doAfY2; zU}?~r*gGm2!vkeeNx_hNN-Uul#;pp5nZ+|jz-$!V88}4%Na|Ll!r*92!6{f(;NAQb zbq;ir-HU#7y?sES_9J(ADIBXDi3ufje@X3_^l4Eu^jc8g!#;l)(?Jk;1 z+#cTBX5+Wf+G*7rAH8JjT~hSg7lNpe0boFdVnAos zbIx3;4K~3tPcpSWxLdT6jCmbELZBFy2DM9sL@lRmXYff_SPAMMOY4rzN>m%&-9(Ii#dY~kCSDT;&gg~Mwx5Gw}G0>f{42nrnoa8~N z9RsRmJqf`W7m8)*IqR9nuwqC)1U7S#B8681Pxcc}iMhcJ9mBmjCwV`y@D;ijMU@@C zh1qXo<`Yb!l25X5BD{8mOIPW zVMS`q-Yc;oroka#iWfGDVi_94I2Y^!wk9D{h{TGBWs3gXBu{fr7ILxnFs(B)JDKhI~exE@nqtN_Njctgo=O9O%Q@ zT^u%uBLKgg6N0q~Xxsj#uYY={2C*|EI2cMx5*%K^HdBnvR~e!@{?>uC zj*W2)s7UEn?G+dzyK=CBU(WN?Hj?|*d}Ww5taZXKK_CdoD3Nhe2}Ft_3I9D2B85oN zmd5cVsBv1glrlT29GKy=`q(CV;1W^ev<#)rErMYo@&erf8%`<1=3~3T*rs&F-j6W; z{PU1M1Eam?{Oqm#Lvd*kac#Jtt1|=@i`Tu=gWNxqYzv2JH~#@hXn3<9bMZ$*{K%T3 zw=mZ&mrl9wJDcDXpcn{dt@&+xpZFhLrSPw; z;C{>hYEo@nB6>2I6x4u`^Hh9^=AB+aJu;*9% z`V^4@Z*kOJ(qVNNzTI1J>N4L%sa@x5EeyYTHX$TBS4gkzc>_(~;yybXVwj$ciNTeKW!v$-wb)FI}2+FT-R z6h`%jHEpwBn(%k6?e|h*0RYYO%oKbv>-N#NDj{DU;#9@Q@e;?!t zVs@L|(}I>HxSrb8)+XODm4vEV-lAE9q!fY(O$DVyb_(I+Pis3alfU^!PYYvAb<_?xHj)7_#>VW$}Du!N?!rO>BfQxa8n*eGrrhv)k6bn3gW)vRH9 z^Hp6B+*j@BR&i>0MzsUeeHi0JnH`jX0*s^50g=E)QEmqTzEOj}pi9nt`+}{%qQcRO zYHl$&D!NyW;De9+WAcKK*7Q|(owywK7JHE8+}T0y@b&#}4RJVR{=X0NTct6`6dD6J zdUm=gr6#?G_yYitNkdbSRiLTRR2VuKgC!2pj;GRsu%V zS zyOXEmjxA5|;+{!v0N^8;2e8N3SvGKA*uh;Od@&DZt(9>ul-RJK3P0;)siW>7p0PKE z{-T!tPT+G{vQI9$**5Vf;+7MIF;j&}C*G{S@xT=5xgKZ5K)(V?P~`xCA{k)pzeDH! zHuj(}@pwXfm$zTCy{xe5%8hYZqe@2wh1~DLl^wRJj5-eVV{|z7y2_jr*WY2EZ%%}N z)Rp%S8^k?9of9|K0OC%Xr1EuS#&|RW#<=Ml3!N-j001BWNklpYWYUCpd> zGgsnz{B6UY>CC_(40<~I?#q23LZ_W#;9?G7+7hz)TrLrKMBG;7^|men(}}m%p8hSs zgh}&=r^M)3C3$Z!HZO;!5<(yE!>l5R#FDmF45W1QDR4`$QSfk3vR|ni%Zb}-kj=~M zpJCgHwsN4V*$1(^X_RUe-9$1Fo@3Mm~K!^$Do-$&uHP*k%lMz}{FVszAnLcCNCkp@W@4`PWkuk3X8XFX;j%&yo7~{mF+6-aZ z@sjt;tiOj#K}T*P-7qT?)$qlYNb93~w#~gsbnt>o)N*D=w3E>c@M6K}lj+FdH|j}V7U_2=M0k&LK@IeyT($vfT19B-fN_-d`$qHi;IxC=BlObsqIfASo&ebi zLW#poj)Fnm_@c)An+>H+pmTK!Nlg%(IGJMIpr zvV;W6^~PsG?Lyg+M(=v+tYyihP;p*%;BLGB0d4DFn7c8ep)odOHj7!_J+%x!ZowH< zR$YsDyj)Y?nT@4!ENmS9hWp~|}qG zeN|Lk!P+b?!3G9**Wm6R2pTMe;1DECa1RUwhv2~-hTs+?I1KItcXyY;oqx{Df1mDJ z_vPI8-m9y6SAVh7v?cZQ>r%|U=>Xzshe(VD$1nf^cB8cch#n8w~lueaNKRnVM; z0{$2%4o=iWJT^)2eIB=d3lB3JM)NQKX2PmVgO@zplB2&OJsj2a3zob3$am}E#H8_o zkuet9h(up)?YM|Kyw9`V1iTk4e98M_n(QlF|a)-8#0mpA_=j4;HvPL8ag_FHcFv+L>aE zORu+3>W8C6d4+C8)~s>t0S^Y*MW)M+IBbh`;VsqlibdIuW4RjssODtujXf+E4*G*R zdna5ZBB8yS@#%oJ5qJYga##7XvSMY^x_Y}&=ho|7|F0#urq+vxIfS|7um5^X@cj2c z_O;Guvh>pC(i1fI%`+MYCDzDt^TE~q6qs}c!|RM6D#NJT2uhitGGRpR1w?O__I^T+ z4krWYoksWHbM1@3>JPge2`dW~2bSsB>IigWk_LV@C7kBOJ9sb29>6b-#X@i;n!d>K z^We*Qk?y(({-Tma)!o&b-t=t$!PkkWtad=v8dKZ`U-?%R3s^ z-E^CBR>HWMLVf<^vqwKeUDYc@FTIz!A-SI~P=5qN(6iJsKj-%Q3`ExcS z0B({{!@P|~;a#)G&zHp=tugd}Gds;$r@`~j&2NU;I9+~xXBMkfB|}Scmi81z@16Vc zQ$9I9uibnVlC!dglxsEk>Ug%gmCugX8t|IUZ^JdnNJmF!gwn+nL?El66@T7*vZNhS zIcs8KXIxgcf_G(sdNR9mQq$bxey!8O?tIc7m@_l;w|BF0=t!lsvZX?B!Y-bk&Vp|_ zNQS^A>oF6a8Q<@{`ztP3hJY{Z9xQ$DC7SR)TW$C0VmYT`5SH}&3%LXNi2w>REXvkU zp&i*hOZgZ)7bSdsz*Uz%vXbTGv+g!%+auAqge^>7*+7%#q%&I72hzA)?p9M^9r9t- zzfo$=+MA?XRKz@2wp0C4zq|vFoRqvd?nrIxnk`(L{fa)To8ecUpn>HksEMJhS*2fM|N6W zj|%j@U))wvnjrE|eSD}AcQTi{LH#40tI<`Lu3W){uc*_zdGaby~t!2NPZiHv4On6udA=jkd`}HtlY8ny(Jb!K)N2$yVSB({J_afW8 z^t%Up+xsl&v1D~tsfYCkXs0Y<+w&M`N%mlX!Vx|?{L)ro(*Xx39UX2LCe1=0$$Lxb zW9g{+JePm@JsME(NxR{A&XeJxA$lcR#+BB@iSzDU_&uX=dG@+) z5ymG917gt$G97tIXCSH=5}FY?F_9$%%aKw)Xkc~_G76n=8y`&7tYJKy<7T#l)dI;qu%Tiy9U?lfE+{7FxG8y2oFoX5<{n2?-VK;b#c2 zMY!b$idlz>@j?+?v7C5}-c?!8gxK>tB%eJu1NpnhmKT0JI7k4$cTJsF;UG5F zLTBFANzn*(YVGnf2gC)4dzjbkrIi_tC1QG^o?gf_$M#FaHf{M+vA6BA_2h^k(48-v z?~_9!t_I%kmV71c%WK(6w$i*M2x#vro_JSrAC*r^y)UzKaRcZ7Jt`Nzv?5GCn{2Wb!lC$C)p5 z3!m|~n9RQtx@-wT%x8^D5oi}EDzS|b8<>Y8(1B9E=KEBLXwr|CTXMtlZ3ka6~zV^)gKT>R9x=aa$J-(4N4vl+0 zlfW*8MeN6frc3`9hD((}8>n4makaXh5SGCu=jzv>$_-mmbwsy5J)1bR>zIbgxS#=> zif0Z!Ye)|&@bGT8Q;hPZkrITvR-m4KxyR&bsFd_@@k6=e+XBm*$S(plZh=En^em_8 z(b^4Sem#_(+{}XPNHTNllK??p=m&SKK6Nk3@gH(jRJ>Px&Jt-*+yFV2H}1zcxm}Un zbjlIZZsyifZ`?^|Z)lMUb%$|ouX3jg{wb4wn0*FQ9pnz(nbBsinqf(Q`H%HD#_t|< zDiMH;EBE(JJN-SczD}8o#42xxH;$l1Vno_sGKP$j0*<&Blaf9tliswmPj})}`%k5r zC%s^F00^v>A*CNG&okPRC0@>hL+Z1#(#EpX?p$E)VEOGQY~tOk(Ay_@dC zcF!@A^7_NqPa=q(Bf+ZOw|fX56}8b3fQ_Z3xB8nbQcstPce`#Q1KmI07oV46ViFuG zpN^>`A*5L6WC2eW!UmWx(@4zD10wVE@p(|fxNG+Wz`Wkf0oS(BqPL|)j)ZSRsk7iI zuSY8Ps+%N{PD!^qaF=>z-zVAoJfc~|x4_JEA~PG3&B9Wj&GORoXTPmk6mrl({8GSJ zqPahYj^zA8NNyhAsTV13-Ygp?qAB7gfxltI(Tya8Xf#sHf8X}G>(%J)&c0>cBUe1x z`CTBXUG=DKTg$tO!6%KJ!2qUV{Y84aZwbo_mf@bO0LPDo8)Vfcm3~zjl(v*?1@jSQ zVxE=z-_(qoXz`>kkTpoKkwamx%;kS>n5I$WFx@D|1xGl76YWZKlag$zHT4f8K1ND? zp>=?i0-%x+F{HcO8=cO{f3B_QJq~8IpFauMcB!J@(0YJUIcpLk+k zhib*)yhYd#u5p6E#BfzLr-CAn;o3uOHA$wKG>lw^nBLyvf&N#nPXGF?2et!PTxyBO zUqpcL1X*{#r1FSY!$Fr|Or+GSL6K(`O@l`N-<{IKH^rZeqA~KU{GvRaLx+V1v-Boe z@bN5HO@&^r>oZ2?&Zlo&3}?4;AEjX(JT z#@HH>LS{>w4-@%V1CzA#e>TypR{WIlha6eGht21GYcuKEN~E#zfdEY8!)6yD-XbKN zd3vMxG3cC#mJViKlupEx8I2Wh)LV`zNW`nxnVB8StscPTbOtvci5;mF5wo>D4 zNVX~nPiJ+fv$OCN9$N7_3Zz<`CgZ^tF?MPy7Zg&2rn71^G=C*r`rw@_ zGgIGaZ=beV-yuMWRn%S@gd>K$AF&l6f7e)~S=Xz6)uWZ$U0@yvd_=+^ZL|_I5si88 zASll>W%jpsq^W>Qz1Q~8!jQ0nH?>3mHno?_txs#WZxCMHn7A^-J2pBdEqsec7DDgd zHc2=8$V09q?RSkx(Jn5g`Y(DcA!iK~|3JTpj;GZAeHoSm8iWoY*+;Uv=iQJ(z@Bsh z36I!Jj4HDd2e$>fdIaS#fLSz$*-vk{F7BF3MAnfrJP2)@7iMsNS4XT zzfb3$3kY9O+D6g?!T|eG<`68`*2dbC&$p*x95HQ7nv@qt_r;z!J_zeBCH&ti)C8g| zYfE{yy;jKDEcRj~(e=LRe1ITcANBo3l3SvuMCxZa94awxlSO99$6)!e(JOB3^v2iz zby3>%DtInnE~e~ymkWotWU;j5UEPd;hW$|-d2~dElij{xTwH2$STf*qS9q$ICGV^+ zw$HovCG>P3UHb=1<*vmq$bF$M}TDCBd4Gyn= zD==Z!ZBTNQHvFh9Zu&dhmG2E*++Ifp*0rM$g{Cn^?MA{+_@xfFjY1RTe){mKge?bj3Rl3KNN+$$*=iu96LIn~fb+C;uf&tt~10W=%q3*{QgcwO1ZP z{*{5({H(%cEhfrqd7b{a!t47#m`j9-tUAyktwaAXDYIenfa*mkxsx}qis#GxTYG0J z=rcOiSlTHuxSvz?cGdsL?P-cmFllkI`rRCWe?#Nn8k#Q7gxG!0gY`!6VnH?M&u+S4 z?7#5}9SA=h_0|XT2OK}Y`PwMgFl>v0(3M9w36OE5q^fpP73CEwqK(1~%O49KL!_mkZjC~_&@^HNQyvZxZ=E{|Y-A#yYU z6qF);cN3KX)!PR9>~h|B&Rs)}EOs=hA~#)u8nG;CFC9U(r=@uIqUYdN z^_rA~?maegVTA4P@>}k5S&E}LABHUnK8inkbrfjyJCNYuL=jR2Fw1NoIbJB8#)wzj zmspdhkb$Qb;6&DGtlz_aolUGF4AzC7BNfnRvMmZXyL7=@CiggKkN}gSiaBKDkq#!L*R~X#(B%qib`1u~a@=mM7e>3csQAKK6qL#yRtx6N>SFBG6pf@0w!)BNbLa=86D>;2Ezpja8L{7v zXdOf**2@n;C(^VXldq;D@`jXJBz#e*)yOU0u)9@Gfxv5=%;zh;9cv-HZ){B{KDt|4-~VYYCJsmwLJv6fnFWhi6Eff zXW4sJ(!E=L5ArqFxNs0zZ2D~vRPdoRwSsaT2Hob2gy z1s_6tt;ELj$lgW=g2Eo>W7l-06BWlL3S zcH)i?0t-72(mx4v5P6kI+HQ3pdX11X*zpMqGiw%AJ#8LZWtf&o1}P~82PikO+La<> z{xtsdA()6}J=){RjQeAXJaQ#_Pq)rXsmJ1Uwn!o7Ua9u7t{Xtch7uvW#OuR0iGt0_ zTpcBzN%#=b@qRBOi65b1T|Ls&rPJ6%ivw$Smb%l(i)E_y<}Flv&HdcE=9^=ME0-^~ znCd%*skOKNj8c$fNN&>X6LfVyCf_594d## z`!w5r?!|K#ilOC3o1ZV=#lH+rIC{Q)#oH57TK#n$Jx|>3DevU$Zd^U_m~mx|lg4)e zJ6IjkqglTPh99@(vt)DS?Mzpg*FLoxcr&AU`MFv?15CmDN=l&t@On_Ojf{;cFE{sV z_)epPN2|CyKTj~Uta1Twz zdDeMkfHGQkWR=d-KW#_kB&~>50b;tCD5662HG>~(@jBB(S7Hmvt_=}MX}&=%H_Z`V zJxED1pUzw#Exs_B&eYWUxqUen@=z2Y=kxRp&lpDyL=y;5MmqDPwTAHH#-briph%rP zJ$B2!_1C1r%LTDMZ`-AWGV%J3H>*C^}oS@ak#LUn6Mo!=vMpIXmIK#_bAGbS#J#CAM#crRa7BG|=!x^Afh)&xKA z>hKtNEkzgXcywsZarPuQ)0J+)Kc1h@Nby3RnRa}K^=>aBk0YW;QrS$TaL=;nMxBns zNcBwZ_&IB9^YEf!=;35|WlW?#-1X_DW(_ZA3(7<8o-bvQvFPW#?wGQ&WV(0v+$&2o z>gUr5}!MES~dQ%1e#m6Y8#TtYTi1rzW2x)Kv5uMnAu zL3VH;xbRVU1ok-WC+!>a+GXo&6>4n9aFi#{d7Y@^gICLm6MuO-C;FA|5mbu)sY|3Z zLl=+*Oxpuy9-Ia@QSje5?YPTd{`Wz zY@&YtSwUL6S0<9+@>b{3((MNddJ3_8BML}Zd`-WoE#G4)+H!UIP10zIq;Gh5O-EA+ z^;{)Unb0k?(fZMVQ+5Q#E;*4p^uIv&pIqO8<1IP+&$u;4n8{13m50=e$rX zzR$g(U!thM02-o9IW1=e$*572rfwRV#*UV02ou4uHOy#hq;chKf?NUN9KwSqAOy2f zk0b1m-RR+Ie>}lr7c>?gz=COxAkRpTvx`Ie2#4@{ww>szsLswwg}vxwvd@DCdo_5@ zJIri5wT+_rAsj3JHgY0XhsUClnP#S{3#3oB&^X|edN6+$oj+@GJFOm669{enF1FH0 z&-A!Z1^0#*2eS=dFKM@oN37l*G=z?3kJiCeVUdt#D`17TpvDcsv_+DiMx#QSQ|p2a z4!a?ugQB;h1C#|m;-YJv%H{z{w(~7Ftq}=DXXNSc$AWvT6jOa_+PgBO!hiN*A;;S$ z7O+S73t=hA?Z<35lj$1mCpmZhv>&xrVVzIBc~@Y!b98%h#Z8i0GY7SBgn@z z`W&^y@uwCY=IPJXikdzAf?9~Fo{%TAGDDTNV55T35hs!9D6!zEz}BzSIq4E)c zAPgPQv4Qa@g+4qCcU{uNzTVIyDe!sqm&!v5B{=VD3%x6POy%6^X!LXde>Hbh7Rf7o zIZz7}_M{afS)`BqA-~>BJaQ{H2M|VoQL9hskADuGclG^@u%Pi>r)nD)x5!~9?yD~{ zFI@6MX%T%N+1IssUF}x?d`xAU|H3@9tA26%^he$A>GM(-PpbVJpznhXg1q{N@2f zgcG9C|5qCQlv+giQc2642Zmx?sSJ;EU_$#;F5+4S)5&ANVS*tu`K$Bn;k}_osl@ z%WhbG`wW>cd&g$GmJ+~7)gBe+6;;xsivH@??B7zfhjwQS!9}YWTLu22pt*(M#|!m(kwcz6U|!N|YZ%+?6Kv_etNpg0MgQThte-TKH2*fbgNo zp*tP!wD84z1D(}-r&-LM!%K+Q1GD4gRK=>Vs4OBwZ>v?xnVy_ z9nk2KkXYl8b>>FGzs8?*Nt~OaAIni~e@Qbg`P$U8ZlJR>5S=~~EVzAX^4ZEoj zv0q1uWbfW9>UQ%!ljtcAVYvx2+Wm41ln*CfM|i zmIr+6q{?po?zmaSkZ9FZhcnnwQs~8r$*ky?p>y%!E^!Ot>e}=VD~bvS;sv8?8TaTl zsgQ=)OAY{7?|DhdpaMS7_QoqlHY>S8?7nb*Yz52X`(>4|rJ`-*o;>gy)22#|S*BqV zQAb&@Wi9xPBh8*ZE%O@7k82Y5&eoy493DS-Rka|hFIwC3U~jFtcvp5i#msaItruL_ zzpAL}-_?UO_c^9?;f>6OjH$pM?$ZDJ?Gkx5&b~B^1M41C3O*wFHny*fa;$Z?_?K)- z{8w8}J*#)A2`D;_yPN!aZh$)E>~RRbn3qSOq)uYN*3Ww{;0t3zj$~rpqnRjTxCwC!nY+O}r5TJp*qR@rFzgo~D=+NMxa3m3+ zfx<>4;L5-&=tGEM!9fE`bqH=NXcEZ|XwW{7Fc-h3 zXvf7-L6O0F-#+jloWT5-|JoHt!yq9?=P{YX&gFt{0`&Uk zGkeY)BTA>CvZEvg_lP6dvU)1FvvocyV7{W8%SzGZ=NuqFe+Vy`SQg3Rfe){EPJIAPirdQ05c{ik1f(rdp7`Qa+aeD zTc~JRNsdO1jvG9NB53aJ_&C^2V3{f0<9v8-@Ih+b84_>Q!$d|csjq<;(l_sdKEXfy z%MoCDvQKyrlu@I9{CVp*w&2TTA%U>5!1Gw?vC;Js``NW2c zU=d&@-oX>H6UQ;^aSLvmcHxZ+??A%%k?wA~>P65#dq(-(3D{MyyWWHj=+x{ofVliu zkUB>~;^di@lL=-lRl;r7OkmskwDmpL;1%}=*JAQD_-(AjrjuzhJ_d#C7P}R>vGy*Q zNsAp9!qkYq{WvNpE_Hb&0G5k9=nY(FCLVCpy?^=p%|V9)OnAr2`KoF=?gt9sm9CQp zjT2V1jyZyBdbEMfg&5wdDts9lijNn{-%IXSS~w396tu(7hz(1uRBJNLa}-Rzt8S`>a+?ED*PNz`Q2x-=an4IZ5k#>10<+0=(FRLTfxu+IohEyYuhHGo) zNwn&UNbZeg?2bHD#Scz=g;|4kq#vE#El6Q<`WGefYZ+fBIiZmwI8Yr?mUp($y?=P~ zT{z@gmHpDN$xy~#<2epj?w>pItR%zLQ3e3JV^g1t1W&Gh;q)H~BsrgUgIdf;Y-0&qsvDN>^VVGf-3L$PH|3fEbp}b0a*07u#fWfgop!m>+zKqoakN0 z^4K0ml=c~`Gup3M57{F8A9;T-E|3GnZJ#f$&e(?WV@cm8Y|OH9%UY zC`T9iGpz5z9Wa`v*tuYd0?C~{DSd8*I{9A_^CXIpY}#a5OX zcTv)_A8u^#(XyscO}6vajlq37UMJSyXD_N0o!CZQGuiJw0mcA#9dCIBKMbg9_G@YT zYFavHjOv9I!5JMDJ&Y}uQ9^S!-Og4|33PGq8%w}@bt-su)-Yiyqc4%(a zWc#~M_?MP_&$oQ0FLIDzbk=*xc1$x5Mc1In!Xjml=KlS7rfT-Hz#4tY@6UKctDQx=(j1JjHHU+aCp)R3nl;)BrVDcA&&DqvPq|} z?)H7`t>Nk#CldJHb$2^tS~YU|Sj^LF8GcW3Idi$P)4X_NOm>rfXyiHZZ#*+s@t*5V zN-ha89P<7G^Ed*xjX4NAd~i6^_0xqhJmC8mXLy|Vd{&Ucj~?_#L|OIP&_U>ECb-9u z{@lp$Ye&NwW()pD;7=+yK3lhmnrxPh@WWlZ0YV>tG6=Wo%(mP#O~m_Vu{t!Q?;uza z{LAqbMs2OGqmkf2hanT^>xbX!t?C4aSHq(a=UjSR_*a(lRyw!3B7iw20vVovDxkYD zpq);T4qqOkdz-%D8vVeu+r34pB}!?qJO8(M0O=!AZj5yPlyHZzQ+#Je<4#%g8%%~| zVj#TI37e|!vm~qRH2&&K@BC)(c%bP8(hL!QmvC6>omU4xaJ*Ja&Y;r_+SJj1LnyS~ zv#)Tj{PycUu(4KX9ikq()-zp0ZbFOK_F93r{_k~}C@j>%>-gud#%|5}SENPF9}}e{ zDB)Wm(v*VV2|Gd`F00LNzpUr0`@YgXowz0O1=G8kOdEX(SVBTQQpQ}Gf?-$?(hB;RsBE z@X`I2x#69(6@p7BSd{2u{|$FrQ7&+ArO{eDa56fX;rmsTE#xI0 z$39FVd;+n&H8Y^!*+^06`Aw#P7>2;+_x=!`0OL`-wVU5UTM$O}V>k&ncA?F3|1h+M z53vsZ)Srf7;|2h^ivJk$N>BQp3#t7Ho}5Qv7dY~#e(Pam6Le(|7tmRys{5VQ`SQKX zd?Eff<>8}Y>+!Smg=s=>)#EP*%34H<9y8#Cl~v`QL|ddCj8JftZ^KhE*`~>QP zh#$G(uP=e%n&zvMOCPH=r@LZb?N8-@5~*;nw1j-GN|l@*>R@<3HVW%mixxdd*Vp&Q zn6TSe@C6Ui@okVU?YdAba;CbMc;kWQehOcb7%!KeSonx_a zyl-+Z>tsF5a0!p7TCB>~xL7gd*o^Vw;N#3c|BM=OfJ>Mh;g@(XCL5!7;$;7R(-0NR z86lOTtlkR_1Ca+aee?E@S-iyW3xR>~xtFx-`Kk6oQ{cg6&T! zpe;ilL<)6=WD&TKyYu8r=jzCQ%7-(ONQH}t#AO888^L(Y@wL7p;xtI>Uv3>9jO~wg z;i!W04qK=+FlS_j_5&##EVIbU@oKNH^6)gi+3edjM^Bp$BPRksNb&k(TK-8FRb$MIt3gSV}-!o2mx2j z8l~5+&(92#3ucQMN5wyFWk|k4%?2+%0y`+ir;6qmrCZQXlBJOrq>GXr^iY!Vh!)CY z??0clmT$pO_)ucL)Z!**1^S@bO2N%v>IRHZa4MLGR$<&@AfBk)=8j82(9WQ>@xw0e zvG5NB<5;8&I~;`F{T`gj<1=s(|A=B%+w4dBOM@S zgSEu>RrgkljqWg;<@M}hKRd;kBZ}9AwZaNLw)##@k`YJ0(_M0F9GZ6eMlv=U4RZTr zo}%P~`2K82iJ_S}$e@ie0w3!x>tp!>$9un+@!;U_DPK}vkElPetkd4-w%m1z9QK3YT-J2+v(-+0ADi@WlTSU2#616n8*Gyx`b6P z4F2Dk-M^T9K;RGO4Z;l*iz1KU35*dPD2fc5mw*o_cbJiAcbY^XY0y)KAd6x$RuIgA z!HS@p;fSKeV*pPswbl~u2mhAjUb{s%Rx9Q=p$vVG;E zh+!npjzAc{2NqPMNA1fvdAL&DJT>{;NO?YqKO6Lv?m)?)sF&??#~>C3&S1q>JN6%0 zW0eRnoC!lQKSw;pu_w&&)TO?A5{tdwls-=rMW9XG*oaGgE;xly0tii|ig$LTR5(13 z&lor|SDN`ajgJp2Q8rqU2QQAP5s7hvVm&tMZI>qv+FmqO4r5RZ%Iidq@mfai{fiqYEd*O zwqkgKT^V{ZKfy*>G|6IL6j8m2H@iqfL1&TFIdQFsHOcsnx@*^Pvc{9d^|`qK*Kevk zPIX|wc#Cdbc{ua5iq^~te~7Qkr`7kET_k4a9NoA(r4R?m2k8gtO1Pj>LR||9F}?}$ zG)(-QkZ6zudnchEv^7z)Lzq7iYB&j_4A2ae@5hR|J>%b0it^#RKs~&Ig?DU0bU~E7 zejqGu<-)U@q;EzJCAQ!qOSKaNZ1=20iqwwaW;S@Dx0z2q9t@k5qq{fw+X)yuRG=Lz zQ5td5!XXais^<#)e4J7dLDxU74y30rTl8v11%bj2SC!}w5I1s^GPBagAv4p#J!oqH z$2uaFlo$*19=$*>2(63Ia=zaXIi# zz)ceHetwhY!|8sZpy&&UXO@xp&A4fLVc8=Vb{rp*5ARSI$JVeY3f!z5*zn4x5to^G z*U0PIrCD+?&?4g@ntl92+t$J2M$9)NnEO_)t31_luK_vFokzYOS()D{0AX+3^A5mn zHn9n%;8QKX--Q0pDR=fG5vg&wsXXUR7AqA3R#R2W(Em`H6iRfDq{Z@gzet7p@S}zE zC_4HLEw$5bHSw1v*0}y^I<_bRn-C7o8)w?2z4u@of{O9OisUc}3O9KMKIKR>gX36R zdQ1HyiEe7}V*TsiPlWFi# z&4TbTTGJ2QJ6QT6+dxuD?H_(B9ZwTF`R@6y%MD8v7w?pv{`oCubY~!zggT0D0HJQr zPR`O72#R<0$O!k##2psT)N4@qH-Wgc7vhBE2<(-6HH-CBEM&hZdJLn!;UNT5LJaZK zC8Z^~sXt>Q2}yvs(q6wA*Kd`K^8p@-K9}jV1+Y`rn-MQ@1Z;Q!xrw!SF2bcX-QH{d zDIE(~k~iy9zPM33GFO1yH$j)cDIo`VuSc!(KlmwW*J9X zNFb2`s5VI0zOpVCV$wZ5w*Ntt z?4R)wr^LH6c|%ikT`Haew;e3VU>Ok@YNPbGOlv5GokPN^$t}o~zUpOCltEXepcI(t z0v1^lfE9eo!!rAQ|Dh6%+c5GHiqfqSfh%HbOaf%iBcke>p{H5U%;EkRBI;pu$7esR86M+f-8^8jT}*46eP5v5&S-WdBwF z^4XMrOBZ2iKfPE`K5nJ-CLR5F0nh*d>?IeW=cp9iKl|QTY2=`L7pEl&e*8~TQ=;=1 z!(@Nq>@OaIWC!|C%|O+l;oXF{H9di@xjl!wZtWfC)+lLkcxG-})F}LN$6%L1d2qGK zyS`fC(wkAGza5h}2Pw$h&g>G4hK zYf$tRetqn#I?AGSbAssZbMpi=-rtI+`Y4b9l;-i?0A8U+*kGYx3OH^stf7j1hPpSy zdNNayNnVv*4f21-9iN^9!mmgwc`6 z<>)bF`8v{UFlf?fAQ+rc5r}v{e)mZ*)NpZgLmfyp8VIRbaL4wc%meZ#L${nFT> z*qlgm`XrDRC-MDfzx>zwQK)}jCY?Lvz0wkmR%takj*T)9aSOgqLEfbgHY0KD&BV5` zBXKyjnP<0-d33dNu`nka<`~};dGum}lEW9vD+yD!(GwwYHkM%YfGj)^ObC~&x#GIi z`fhMhnVTfxy>g2GI>pDr?57baFcO;r7y0YG@4H}byTzqBT%!kR#<12jx9*X> zp_zo)7ONg>HY+Nn{dQPH7{trkVj$v_-0@VKVmAur{@1C#`d^|GLub_)8J3_=rGLHGvbk>xKd1SLx*HL! zAv1f8UWV8cu3mEFylXJvSr;JR8`XYlOAjGdUkpA%v~?b_FKAJvXBRc|`{{oyj^$Lz z;&Gax$D&R?idlLHnR$M)c28_$`KrY~CNj+Xo_4n{UAZ8B>)(uSJPv(BCb1HW1iQ2*2ZAL?rkqbvnObIs zoCG*qUtvUC96KXT@4aWqbx5MwvK(fn*<&}!97sb(WS-e?E|O*DEIqtZZ{u{O%i-Y0 ze5J#6M>`tK^upD-x7e_%?;@`R8ejNoXi9J=e>FwJo7L#xjuAQopK8ly>prEFPN`hm zesDZaEW2{I{TO1#ak0hTl2EPfuy6~VXKh79f`4u|2&Udjppb25;;z)-Da0oI^oEii zxoZ!Cn(LsjDwHz#RX}NQ;9(@%|#SB@`jLo|(tYE~5)xiB_P| z4n?~VqZP|>cYMaM)=x*u_3}8|E)qJ zU*&)8ma4SaM?>47YybSUJ4{2uci>J#sSV1H;^IS5t78m8>Zs$5IpFtj&ciSp1-Co8 ziu)Olv((DA@mwR9uf&X)2Z}g(Yt)T3!FT)YnnFekakBmIYb49gkR_BuXKOeic9D}tD;mS1t zlBB2e`6|WoRcbV7xL_dtxEf8n7T>`+yo_|hN4v<4p_qk8pE{cydta1DAEIf7ffR|9MAuRRv%ciAU(X}x4i`600d*X z+ud3Oz|EsG_U75d%tIguhW+SZ6oL7LMlFy%L%6{s$^f&hmaTm7rAJA|>BvoejC~ZkCgN|d&ljlKnN2@U zO4!fwkrMPd%x$jXatdv`RMwmzDA;heyq%Ea#~K;OM$l|UgooKM;%ZZO`RuUROIcRp z6%drcoQn7iM7-}kSSiLvC5O+$uj(1I2N+D#kRaSHWJ&XPYmfyu_zg`XGChh36|uT2 z>|g(MUBx@EWXc>ge-HcKZ!*8^5TH&^OGY9@!`{rA1i2fWVolPWUg%g!d1p%3)+*zJl?uu zliwbKJ7l8So{DK_5(KO6v?)5i!*zYesFW0A!GSy3@ucPSf6z8kHVbuO2k_EO)#!`x-T zqo1Dp>BYT1o^R%CT)qPtjUNr9ALZ~u^l8`6Q2yJPc^CZ?c4-O_cHAU@vY0XZ>hu2d z8tNvJ;sTyfu61RrkzDYfCXO-@csF#++?%kj7Us~no4i6hG<`x;--&K%dQ?5Xt{^#$ zu3~ce9V29JH)Gqj?Me;h&k!gL>vC zjAt(uhW2RP zy$ZmVt123WC820P4924t&Bjz~EiiuU+44PK2{}jc(0mq%NF#TA-eALeJrB3BsGGtK1-YyUTqAtlc$X3!R7hHUts@?mp&KQIuUg8z z;!)a?2MrZ1#vws5SxYP{KHz{iOrw4n_s>--XYOlG{^c`51j@lk;?uL(D$2+oZiP{i zL;~8OC+u~VRqU|Xewsc1=lsdY;>d)!5SVydZBIrVa|I8Ka|6xt)N$40!DDLv^DA!O zk!Cnv&XbC?2FuCT+>8dzf1lFBLPp7sVmKG5_H=#v5U}oUxL+8Hx}d$B-&pgDua19> zum_Ki6E%*1CTzl)1*t$$SGQBT*mWH=vk<3kb&+edoF5nw?Ta*>t`lT=k^WInwlrCY z>;A3$pG;&vVFQxyHrDk&@l$WD*%#VY@g*+ZLpG3{ZZxSm|3tBKi00&~XuKxjfvBm? zTXXC0qiw|A13&%f zk5D*6n#L4SQ)<^<8r^N_bog{zX&xwkAYHZa!+)k7Z6&ka9Y{j@-iAk=u%1n5(ubec z+JdC{_OY_wUIYE1uGofAT6+Agq>u-)`?a{UDUEb6%i}iG7x{i9OWgf+bFI_eC}^ zdNPlXgWANBjK#U6xfi<#nAcVL&GD_Fe#Ayik@$#=h88)Gao$y%cuyX-wQ*HriH5Q(59> zeB_x5y*C%XE{J*&piUzO)@nZIfkV0Ym{nR#^Pt>la5V^bm% z!XglJbhSlL2y(2IfNBu{m9n1~I#5xhn;V)#$G~Xd4>#+P{_$ICs7nyH2J5c`W31 zHUZpU1+Z2O9ThtF2QM{+=6}r?AWUv6)n9(}DEK@n=HBDjQPlTdqAA&r2;EbCHsM+X1g?A(o9orcg<_N9Cp2G?!i6lX*$dyc^sl@Iu^QMoLoZM=` zIUSGvNJsT&l)FSa%cOBLy`u7uI9c-NKFX|dYBQU3JcwnaxA{>OW~aQV92sIwAp~WY z5ANyaVFqqj?s|}Crv%N&)a#9+wu-`%Z`=7++S1rZ!(o9-BxFAP-M8+ZHC3f8%dpXr z!`+!+22i=B=XeY*ei&L29ZfyeKJ-ivVM;f$K}SIosuZ0MQ3bush3uy!Db;0hhowe` z0kiwJ?GZ6Hmo2J`TL#H86b;JfY*!w6@Eeu?=f-i8qYcDWZI}!L8Dbseq!O|56Xk-_ zZj28)PaVq`G;HxlyOCV3Zy3XkD&aqq*ensNpJyxS-imn-V+4Z_AC`Lq8wkFp_&Y67 zmLA5=^t8ghs0=j4a*n$t8rj*wGe;(IL<(zXWgFDai`yZAwuf~-5kR|`JNdgHKerrq< zOe{%dkwEMiVfA&t>ARyLg27Lq4pd2_7*J}rmxtSTG7l_D0hnsiLuHO+(o|FV=1b&M z>4#V-{)|pXYdY6-^?}QZU(PIkN`aEk#6ve0cvn@S({*%lb%=;o@TYNQ=kU0Vlf8A2 zppN$P!dXr=w2NN)$Gw$q9}SQ_8$iD0XinJOjgx9WF*(_&{nI8rpRKBKl8x*h0E^#q zz5;nq2p<2T=DVnj96O0;&;1F(g8G2q$A+} z(-80#X+=T-Dh9RzdW3|em&ZmCl2Eo*-j5Bdoq19lm`w~lq)q#Kxt9!87GS%38iX)? z%)&JLEY!5uRtE$fp4{ZA*(92bNpv$QGKwVG)MyT=<1+<;z_Ca{2v6AekABeYSgd!U zH0ey-)gLmdx0pkIHRyb@xgMEnPM|R%>mF5XUywFiszlWt zrT3wio_yV0C^L;NmTfnq;43bdT0{dI#`F|$238|BB@WYTelQ5rvq?QC7COJS|NQCN zi1~9&Am8xKkIW<81He_~H#~M$V|w$)dN&jJO4mT(8iUBZaf*xjXE5QyH3b(QqK8My z+XjyS9{h$z$?7@68n6X|>>BRw ztkwp^oe10)@)&#!bA_hjLqM6F z1t3vI7ilqL8KzjTyp>)?sE` z>c06-LK4j>pv0EshQV`Z90ixq291!`x3{~8d_RA$Qfi5;Q)N z*>mE&GVy@UWOi&Dzafgs!XF`A*;3q!dap5QZ!jup$A8wc9Q~R%xU24RlLx zB`<`OL#z!dM@%I(2kQH^q?KgW`-P;Po8U5zA|zi+AbFs}w>8ce@&|~5Fae8qIKTG& z1K56Rn%Vm3(+Wj;_yRoWL4TNcEGKoIsjX-h&*}w5Iw*FZd_sTCg}EW15U2`RN$H4X zph-Ba8-?Y*ldTJJGIs$JOAOEIG3Azx{2iD@17^V6rka|Cn z&!&KPjI*M?s_S{C#XPOwlg)QSldN>EI7}>*5z~c`e>F(!m52Vo6=Om?@$v z;L!G^XDgz5nD1aMjv`s-C%w=%|CY3xQ!_n>MI9xxXL9$2X)Edc@o~E!@ zfnC35T^G>Sb$1bMZOoIXuJP@FTTc9wFwwTjF{=I@qY^!{hA4<_wM#EPW1X_`fM_@S zSiU$knI{@mK$Dg)8gm*@V)5Q%VU=aqok#!E`!y|&jrwMzUuVp}a?h}W-Dj!(iE-&A zj;>|7=YG)6GcP$xp*Sv6X2c{TEYM%7@7~&|wC2>HH+#$1g5)B}>68nQN!zElo+-t)yo53+&w-^?N-g0^-7&I2J$g4?_c>(USYu8vDsKV(whNvzlU_*-dqP|K!Jri!&$3(f;<@u0Hx=}fw z#P9_{L7O%`$k#Hn%>sf~q_q?JUb+jVUhcZvq=$b!avv*|<)M{ZFAx~wM{8pj(VPa# z%*mAAJh7Zw(@pmrAJ4g`=VG2o@UQmL1QU_8EiQayb6>O@jRmG^j`t|{r@;yakHQy1U2(&PaoC
    XfCxQ3w!mLfx$3AvhO@Z!TdwS3k83Yuii^_eA(bQWYk^q z%W-xSzS**MgzeQ=am*94sR>J+oR*(X8-2TU^6fb9d*Io7kz%`WGL`^J|7%0 z>iY>J!6P8`iu)SP!nr!TBET^Nb&Koq^8TILy@KnbwiWX0M^efg;0;49GmbtnRIr{Qd5%zYM=@y$PnZHs#RQpXn8UBkT7?;ije(*|X~Mn?&^Ns6dfNh-q$#Rrzr7~XDQJ(~*%+Fpad!-%>ujc;^ zqtuZi6t5u%){A=f(Q9frr)A zu4Gnm6q*Q);$S3`Fna0;X@c3lbK|f;#p#sWBbU;J!~kBB!=JgwO0%q)`3`_s*4rpi zVPY2S?JEMHj@9z)qSQ`RfVzdOm@Ge^C3Knnx2oer#F?YiEVfxx6HI1dZ&-O?LRdtZ|({x&=M z>xbVIrIP}C8_%aM{2uiXs#_TsgXmP-SN)Ce%tBDFv_L`eC@gkAkAT``-~W^z_jgGf zlQ*Tu8b(KVhyB}Us+&iPuZDuYa7uu2CnC+*=KJ4quIyGq8Z<(PUo1BJ_&{gK0NH_u z(6U>>c^lgtc^zzgb3ca z-pd~OD8~tHvVFnpkK;6Ta;-sx*tD7YA^!oLRyK_)xxYi@-qMUb(ap9Au;ZS*AkxR) zZYcgND$?B9j(>?K#M7jmcpU5jmc*>_Ka4WQJDI?CE5PSzlw{y!`>-z%TinT}YJ;W} zY~28Zmj^YEP1V2Me~GTFZpYGh>yBqhZt@JCm!&w1dXmD5Moz)#v$_8Piu%IM#81^LC*ko;ysG|y$!7{KH zjf<*7%p|tx-PKT{uqL(dts)*m<}z}ohc>YRKfwTsh+~0ym%|L|TqQiqKW>}zCtEot zI;J@nTQ6Q1Y<8wj4c7cy>;{IaqQ1W#O**k8HUp;X1)>td0-`+slO85d^(S0!M5}!- z2V*d3&`$AbhkE#gp(}IRs=M#2iSOXHw+V-(54qfNwD5*1x5}OO0`<8mpb>qxs$cZv z^}TV?vVk*z62w7ypIMOLqIHDS{1R7FWh=<&>n~A*o1@Bird79QTRuzOB~40>u){dG zHiq%L*3P5y=VC`uz;$yG3k-k;ja9@F7gc0acv4(gB$ME2I><&=$FGF|!i~M`Z&iXF z9IvG^S36UGxQDPfAFrqbV^;@e6>ow?1RgWD8qf&!hj!Sy0`=E8QUQgBrqpj2UZ=m- z#x(I^2~pA%jfa~|#2CrW3gn&?gTOD}_Q*T3IjZ;mCA2>?EVpFY;3}(Yv|<3NHpY3M zMKmHez=i=C&F9>vMlq5D{3yYNcV?jf*cmd1`=_J^J?Z=TvW(p4`<<87W>lq5d7Vzs z)CzbODoh6+CIv#J)KUcUEvkB50ub@R5{<5_r33`i(zW9!c?o+nms!BZ}| z#Q8R4tLb4fb%g|+Q5Fc#mqQ%{)b9Nhdxv@ zhOf01$4EdFdaD4H`?J>;$*&8m*44-X_Ifb(slp+UZRuUV(JvOq>%JB(Pa3DSNAK&o z-5vZmM-!sfkX|iHk`je~6*h&}5^A81^+b)|JA=1aIgZ@fbF= z3Z_&Uy%t+W2()@FAjq8lB*jv;6J@XcszFX$ELydAye+vB^s{K#&PO0}?I$y}!?L$> z;MszLZ7P0SBJD_WK=f|ODhfs(EU@0rh9YJ=<;F$4cchBZst2>Pwn0?x0B;S-l6CSv zKtMduURIen$Qe8bGv%L$kg@iIVW@&E7)&+g>`CYJtE~Cva5_Qh7*Ge|crxbnKE0ez z=<#x^ha?^sN3L8#zcVg97)57Qa9h{ld2(s4_=OuPbdnKBJ)iccLUEF#cf^9c8r22j zvK~|b*Y(_rK%jVf%X?4k`bz$KNhB3oc;2y`lErra0D;Ap4k3()M(kpAj6J0n3w$gj zohL2j`;1wAjo0Z|IgCad&#KNG=QCB$_#+ke9r{NpDi*|EYCTot3^*{iBLc&U&C{Dp z>I)`*3vZC=21~F~8dLIwIUTN6lQ=Qr$V-ocU*dk1AtJ&E;y{jQb8sDA{hskaLt4Q( z-Vp%>xTV|b4F)@e2nRAL3eOKx=||w5%IQXi2Q+5`@Z2yg=DV6SD6J((rP#3HNeJ|D zExcGJqOo*pFXwf{nZse^GrHG zDx=F4_U{^%$l!eC4g(m4icU3$Pc})p=SmJ90BIL}*6oh6 z9u*J-xIVBZko%C?s7aKrVWLnvDhV+7sHD7R>v$T=S`INoRX}4w`#@x4ZVI@UTB7g#!t&4i7qBTTTl99bGz3 ztP&0hmGT-6{JqyhLiR1s7sI z+Qx0&DqFu9T1pO72ctoHXG(WRHjM59a|d(YrH(>S?BU3c#5xZK{B-@iP26692Gpkm zyzAt=H|MC*Uw~7O*OT!>CO_(#j7;j6&D^wMa>BgOg@+(%U0qPxeaPwYkw`%wyBYTi zUg=8S*s`R-BN9d~>Z#NG)Fgx(v!KguBXI+h7T?NC%v>v(sji_GKbS|2xonuRWjwnl z!`UEM0RJNBkV3SKF}9N0DXtk#2xtI38R3CG!3|_Y}Hy!d&aDc-zX31`JwQbz}nP6+=*7S4S z`n7_}n-}Ex21bO+ui?oZE%^X^=5W|*z2Fgo@kkgGVVSz z8a{bzFNEd#nSKP>PR9?W*la#aCo2oGwd`3l``Nu$z9%PZhhX+0u_ZI|dlBP< z%H!fYc2#E!_R>4*#OK*E!$RH25%M=yB;KksOWYJ2m}BgqwP-ilXo}}7>nkU5ne=&` zZBM0iZT_xPh_{n%Tl}vV;9>hk&f>PBF75>PrWf7^JxDi9H%zP_ZK0lZ&C?wLKF(9n zHmYzvGLlvwCvv6i*0H0TGA75#wyDMfHR|up66xe@&xu2b7$`-==`x9z%DDD3Y&mST z_>Wj)Q|zjB<$dAbfdjZ>md>Lys6~8KPT)(9;A1M5dTE&6P5JY#9N*KEHcXmdwIJ5O z2`0E&=UNz+PJNxt=gx0nfw@*3yhO|Q`yk`-Z8;P`R3lLkviU<*2^+9_nU4-^qDMT6 zqor6WRAc{g%{Tffbfpd^+Sq*N1b0J=EiCUq1sonb4M%Lr-$zAk3?#!4#s(-kN^BYc z2KT^A_)|em$rC0venJ=Us~`=Kzm{~?E>XdiYH7!c(Nu zvTd!_PrLdE)VQJkm2#^4HK>Y0SjEM+1M+KU@g=<0Gw;JqcO~`JqW~j1=tUFDZKz%_ zi~(f=Ny{i$zd!lWaeNlL9~a*KF@nQF9_%0?fw?C1(rzo+!ZL)C%s}8?fexKlY+k%9 ztOZ>SwkPO`J&3lD7dLrVI4-Kqn87wrd4rH+QjU+4JArjoeW@r+Aa`&w9zL!qG66EV zh|O;5Lk7lm*}?iahV9|I(f#-~anbzC-~arKPm(IrEJ^xU#v&}!_z;*JetV>?Fz9)#z&WD-PZaTZz-TYL3+tHN@wjiesw_I^9*@s_uH~IX=(lv0SP{{GbC};eAUvkfGOP$majGa&9$_ zNUuFUK z;Ir=FlP-I;_$#DiDdmkKo+K1PH)PKNnd(uNoaA=4ifDxh$3;!8%;f-b8BtknZ~CoL zdxEH_5{lvu_6bEHQEqR!S3l{E(#)Y7vU9hzGH8a|_qfoi)MYP4DAu!|)t7wG?R{37 zeIitYHJlIs$l!VrtFi{Z>?WV>S-9(mJ@i@tZD~$S@S7fAe)T}sw--`UZjiBk#o3X9 z5P!z;L*r;cfZCD1o8wU~Jc~)e3G%-_#zS2XUe?TX2&uS|+Auvie?+|(UwbtWSx{^( zwu3<|T+FaJOfoSDPALk#Jp`juW#OGc+n??FIRV?HOh*VmAG$A%EeR<^H56D~#@-B7 z1{c?|WsE=eb50fQX<{1PIR-4=vzTx0WkHzTWBw5puPr#DfJ`3KIIWT=2C*d#5%#6W zk3FoCb8z1xwcEww7`tEdybGECV`IrH|8?rz2$|;%q7UN^Atk3J*_-Cwi#apF4ZCSi z`&YOkh-)-O**e17a_)(pD8}k#MSJUlU8}ZUsfJ#fJK-wh=?_X$2-jZthlqB&vbe=d zAOg59W{yx;rpKIJ8=?yR5W=5b7gESNe$LBufN@*nK`jtsg6mus`io(FK1s1TPzvF;C|Ijt-czyh z3I-%RC+Eh4XS;(Pd2zZb#v}2-wia7SAgcMv#FXt1xAIm#V)^r`%5>hhm|YpRrf5z1 zwth*BJ`+_?q2sBApIXU=0kV!iG&R^u@tFw_SY%*Pl(Uln5BAY#`b8mc5|;PbsK&@8 z&pU(oUr&|1@*k(n4TCrzGW)RJEMpogATX<;glUL}-a)OY$ybHV3oVk~1p! zq_V|Xw&5f8u3z?n4BO7#|I=&RRljq}HfK)xZfNAc$>-$QsK4pFg`yCN;@HA4)a7T$ z^nhl++RZ+rw!bXbdMWXQ92t@$1BAlLq86q01er~fC|7D0x&!+~vWjq2scV#GPWJ8- zRST6^qr2y6IW`DLGo!b>Em!{@rEG=k?sZxpw|Cv+4sCLWcH?A~*z$bGcbvp;^WuA< z%Jt;4((1GH_0O!j=09t1y0+>jDTlP(FBho=uD)&a7`kBVC>w_X)|O$poKopeYcUjB z$B>Y5eC5H2>br!VUY4f#E?zO5QbLR@m`KGNY!YN1i@Zp$gyM}Kp{R}=M7x1y6s5lB z;b9jUQ!g}D3d4_zy;q8MFm<~edFpIf84`m3%IqDt)p~hX^yi$(&fsHe z)j3Md5*(XoOpXpI^^4ukeM(iW%v-1$xs0et%3Kb|mZL**aKAnBzf$is8vdW#`z%gI zsaWm|Y?pSQ-ts0O-+G5+K&!r3gyUAvXWhhpcVU~hy{s@F#1 zy{Hy>e6sYv#eWr3yIyu4u%Ttc>#52umY0h52zOd(-4x421!6d?cY$7~w*p;4@+U-n<9X zWlb3;m(!jl=lF`e?PIu5X|T482hV@rd5E9eRPxHlPMRAY;(V2P9I7Cp>IF>!fv`xU3i+)xxsF`N2xhW zZ+=t8x=86*A=C&??5Aa$FYi1VZK$<=%gR*K!TRl4mpgj-WNd-D_e|j9757ycbmcG| z6nw=2O(5{=ylKbh%6aKR?@##xlg^8Ri!bJ&u*;;RUSPihEo&GzM$U7wthGX%>&4Wr z95;@W7Z8{^3a+J>D^!YnLqqWkM@ngcAB6T^!o+krt&;8>H#T$SGpK^Is`=S!R{WWF zZlgPgBYAR=m1O`gET`MTbg9tzRUf@3CzkWr0J`wUS9vK{&l>uD)~;V`DlVP7(&rm( z8DZNfudnAomXSP_Iw2LyCFihxl;$zsyK~$T1%ha-pj~tA{VQQ;+D4mm`!vM9+NbuFp8?2Dh@+82X@_ z-vv=Ax}-Yv^oo0a(Z^eBSv9;^q?4c2o=(|3G2~MMt3q^VSrnzu^c}YfgZeP-X>3U< zPgEo4OmwC^Os*0<=l4`>zXD9oJTleWCgdxp+}8yAI6>|qphi#d9E*3Y2w#&TX;7j2 zr1ZrR9_(Yx=3kfcy#owe08x#I%CNx%y*bE)ikO>EO+&AMFa0>vtt`Sd|m&o&!qXMN(_beG`iwn z5;2XegCcl)BdZg1<`}feBu^KbA<8S!4LLR<%^X6Jqr)OmF3k+m649i-VMAcG}tW_INR>~S2^Jy!;UI{hXZU3tbpCHXHAs1?muh(Pm z$ftiLC^H8>p4DGSJ4T8dvnKr5WvKx=l)Eq? z!|46jmL(sTr6HuZ#|f#oLtSdJ^hwF?in5AY!M0A=tmiXk9U3EiVFgR0d_RBQ9n}qA z9{d*|ZS&Z$Z=NJ%Y)13MHTo?+vWI`JV}Zfigm1;XTtsm8irF?^<{@JfQVy9Cl?5K9 z$2aoygd}7gKbD^sYdDRVqdCNRgE)?b5rFgTw_~N`P(Rs>z4f;rJoxVabk}^peDQl0 z@wQ6+XU=X3YU^Gp2fN(8o5@=U1=Dm6 zZkG9+8hf#>yvK^Km+qKe`A)0uyP%jopR#gaLrvuue}DJ#hp{4g?e@Et{ZP@COMT=e zJOBON`#Q@d8nBQ}LWrPbf$ceggL}C(0`&c>@kT0>JYSbJQTt zhs@(pZWCdZm)G*83CSm^aqkR z{ds^-w{XpN()M`X%0s2W3zK}TiM#swaCw=&^X<~u9cuoP9PC26O5;k8YU6gbx}&?a zwXY|g%5{85w=Yp!&Lb3NEJZxw?%yGz6*4{O4sTZ%pXYXO5n5E*IcfGNvBlD{q}gZd zzgEo`Igy8CqT3kzPoZdTx*ehAV|NHwa~ikYZKf{W^MPm9d_CoGZ$Cg@GHT;WmPPrv z-uUK$1N|ob7S}D~8~f-t{bTV6A{2_hvS1AZxvj%DicBL!Y5l}cXu2iunY@w-%bO6G zOU4sGN8BY{?>>`iIsR`1ye`1fMbne-4F9BK~;T?_q zX=oa%E7KJ+-%>hd`0BOuA@iJqa+~n(%-d5unnGFwpGZ82FwP%drOS5-Sta#$MLSci zJl!4Gfudec$Qot?jTIyS4h7mKo`&c3HGb8c^&?A~V&{07Z%hMrU#UW8EG>>g3Q+$y_K zsaP#@{Yu4R=^Q|6PUMeDcB$6$1~>hbo9%gW)yE!Pah*DPI-c-XE>;q?%Qyn6r@~K@M%n;LjVHm$CQIydOO3crhB@~nXJs!wX zhK*8Wqo<77gHKI<#e2~ybfkC(6<9+Gw*mhEB?6KLj}5YZY7>o9T6Z-X(El1!xnri)U08SdWiD|u>`K9C&y2^=sfX59Xak=a^2p#ogFK$uqz+b z#H*B8qdk0&QnSYG+UT}DQKNHvH=o|kK%Tk~j-)9{Oe3NBt!z=1T`9UP+{&&?I{Wj< zn-#0Y>i7~?ihRyJ_^h<8{L{CZou4oVK4vCAo0mUU!plwNI(5+tGQ$_jY>#v-EqS5c zez&&twQ{WAIq;~q8krR=hfH|r+ljwkA0?^7E7G|aghxitKX*VXX)8oscf|Lx_^LmbTdLqv6j0h6$b z<@!d)qZv-9ZyaG1e1va46b@Cl@#+$RX*-hYP4UOQ7}?7nMzxaqOfe}(z@jK8SJH2C zS|v%Htr4Ycp8HdIQ`!c*JNn_NHWL3dWJJ^@wUw80|w$aNLvVD|t z-EVjCO7p>Sc};}H2U0vO>qwAwa3u#aJU)PN$MePZ9JfJy;A$a+5G4cM$I-U_oWuS3 zm@ywR11Pr%SsYqO4z%OO4PsAETqyklQyPuZMh!R^as+J-Yv-cX2ZIZD)TK4kYtN(TRwy)rhnJ3M@Rv%T!+_wIlmhJy8Z@IAOSrHz%THJH7yyZf8;A(N>>egeP&@>72 z9wHP4gI<-u3!P4jqkHB+xWbBsT0Sn#5m8p5Hl6M&orpx+;La|7+slqo zG(kcmrqPr0m#r20C1h!H$T8qh<&GoyV9;bzT(cI3pzJ*7)&h?;h+94L6l8uqvQa`O zqWaWSP2uGWDA!5ZERGUZ**N6aG%5|GWI>4CY5Gm>?DbQVH}9i4&X7ggMnXr1b>;M% zJT>H#mPCO=Gr{j3vpHJGg3OvL8McV3*t_l;y#H%Qy`gEv@p*`?+Y8g_n_qS5*|*;F zK*?VpxaZcw?D`9Dk<(`lnKy{V@P44KWW*xpaM@Nat;LpTy$we8I(MiOC*y2+#M<@Q z(25&GsQTO8Xo7=T&Z*>=-E0}*u>nr1pwi&1Bnu;CY|3@Ivwqv}Jv}_QaB))S-1b)) z2R{6N851F1HM;Ewi*L@hyveHj@ahpKZuqf56DWeyD`-9O23xeb^GWtH zq03_YN9L@zZb8YOpvT{ItQ(sKO!g4vAuz>$5?Hs9*x+f6tAckOp?PQLZ@9am-&=PBV8VyO16#n<#5G^Tf87RPw<^yv3-H zv3{96pzVEi=$WtOYko>7na#f;zvLT2jo9vQ?RED__M)19YS@r+*pQ+<%eVXOH&*lE z@Pe;(^7V=h&z^8kuSHvycaFV4ftboyRXiUS#*TO4rL$n>fKZ+J*Guk(+E;aL2ryKvjskFbg9j4a#&< zc`mHsGb^c&pbA0?-8pPYOk-JWyxq_#(wYT-l8jd#@lp%Mtg>DcJNP0YD0XtlLI*x8eCn^N1OQbC_NT8?dEp_JTk&9ncB+(bh2YX~n(VoO~7DN6@4WE>tFpu+GqQwL03 zNk|=Mw78|MBeQ84Col&C&(6b<=MblC0dypWLfWQ6M^~sc{6PZU7C-CeylSdK?9Y&w zG({OS+0YLK8SP+GK~>tbah^}zW0KG@U7u>>WfDj8ezMXNl+=s(H&Y((QNc@YbeMEh zcD%EmF$Zhy`sm;vj&*y-i{r{6Hm_K_VSB6hylvN3)~;wS{p)nCauWX04Wc*NF__&W z3xnK7^YrCV;J4k>huA#IgXO#4HRnGfP&?X*$kK{g%YqVRIxoHXcSoGN`d<09iZ0& zcx>>N@#p{#4znY}n1iwPUq!59_@STo{OOe7ZK+f$l}a7!PL2YTbBITSmept9dgJ;w zpzSwz7V0YjF1&c{wO{b+EN#2Co_*=7rmw2Nj-s zzjYyh7-DsdCq@{~^Q-z=g#3ZsdrF*-wQ_YMyR!g|VP2Tv;!T(?4G~m9zv+u$>k4&Y zdQB8?A#0;4K1D97`O>GSRr1u(cxV~u5zNldMJ;l>iuDdA#LgUF;oCcEr@%aq>!fXJ zLb#F>%h{7Av-mF;?;Ad)oKq9LN=e=@Joxk_ zlAr(pAOJ~3K~%&LpIgD(w@_`6bGf>SKMeuoC4cPWoNBg@;z-gqEpZ|$PY zqbtNT%5~bu{Oj=SYMvQkEMMe;37<5_EY?;05q+Yh{_9Mo7T(;qvKe?gRYrcSn87KQonA~p_@%9AwMceZv}J^yzy+ZtAQ(k5S6Mzv1tssD&( z@4LRd?4Zdj_6&b{72iEb+UDT_PN_s!2&s(O*pjfy4?5_w_(d;go4@;6AHuEt#BO%f zZ9B7^uk2;O@-^u1?!w!x;udC6utXV~ z5zBwuD&axYwtaQF60qn@*PVSNRbcs^CfL(s<($j2g}oo zd2xro2TXPnJwan#V7k1|Zho`+_EDSL`?)y#bW;@IXT6l`IFi@b^HAFUP{+SLFvJ6i zT@4Z98fDMCA@1r*XmS4FZQ(ti|HjB=n!+N3_cu`!=0JwW1~`!MM`vh)zYMUhj6V)> zb3^P;ry(T|t^DS#tJt35dk3g8=*rR%p}geH8g7q3&zE{#$rTxN0>ZK5}YN)z<(AGO!s9aUMBPh7X1q`^quPgkY#)P~R% zY{~5h*_Y+ww)7|4xvQHU8LryN9|l=hPDd6O+S3eJBs75i8Q(D+un>aLJbflv$MFRc;R=*tmN{Thf}s;7PYcHd)$zq1jk45BFG zqj6^#^B&^d!#Mr0G?N&x)$~Gsdd%kS+jxC7&on)Lh4zQm9QO{gafEFt9Lb=?rS*KW ziOct2rtW*enfuN~M)#VymAg;d`I%7HSAT8~TD{*@!xtRHd|4F_`F`WiWHv*g$~@Ch zOCNIu|Ih}}!-NE40Hq)bZAv%x^DJ=E2m*f%1%IbF${64+t|45!J2%mDMZ@gll$DK(|n>{`<{McKKm1U z&rcQgBqgy>CJqXztlWR^pv|L+_TB4lZmVj~xqN<)pEpd~jO2Z)N8a`S1*D`sO`pl{ z`{>M4sneNd$EYtRstI4J&)Wippf9BO(?R_@ql>N}@Eemo=8Y|R&mzvRpfyX6MQesz z*V3KCP{=t{=u?ynoYK_(bh$6HL%|S5{}%6e0`n$#PjNZ>@Cf*ZhkvtR{B}|-Wb0YI zRGyIPe>(!|BiJq>WjgN`G0p$?qzdd^cTL}hp9Awb#5su|Kz83E$KE7uiE^9pBoVzB zO3H#{gUXX5TwKT3_w(_kG#aSwrw-cub3LCQ_?I{Dx&FiZY>}=h|CkcGyUN zMC58PqDhSJ1 z6-Hc2Na(&D&)9yIKrJxrA}ZJIn9m)$)HujBA#BGHTxGuP%@@q z7XlRffU@+z#b@9!2%O62JWGMMUTl25!o4?a&-?as4g)4a`2Ez%G&$xuhnr924fS;8 zxF&hSv2Nz5F-K`P|LDYQ56W$V!ad&`*Q*ppDXGF|SyzWx6k%_M+7Jy9QZ_4NJTXjD zgikFY`OGEGf~OuW+mn}^ckm@5w+JQkr3Lp~8(ttrYX2v^<@5w+4X(N}yR$P(Smo&< zgqS!Zi9)9ug>t8%kkClkgcSe9kV4uX@2K-$^bBG#ym7rA$&SM1rzsc;Ysv^IWE`R@ z!+H8l#%#Z85ky!s@tc^^!cM!{E#7jm5=20UfcHGAvH693{viJqt6jFEr{@*JiSqKpZEBi`*_{VVoUQsr?wl|+ z|L7i~2an(HDI|Np&Tt_Q>`9em9KVdK3UV$tn=k1%x$PhoI=~g%`BLpK-afYH#Rp#U zPlIa=^#l7){23^{7H{wCb(d}VS8Mf4yYIc;+1WP6aGr%>zsX-tT1LJwDnu=a8uXh~ zhZxOcxh#*dD1wB%OH3oA`i>!xG%yqlrG%d1OJfzRq30w%Gs5mP{T4e@bYvN_N{EMY z#)vgjZg%D_k)R0UMWdEWOe>iT!&K`DOysn$WCCpnN-Uk1L>9uQOu2=c&yg2cy!Qv{ zkO5Auq{HGr87W9wd65JFmDh6?8~G#k36_wJmQ`$(G{W^hQbTVX;0IY zrQc-v&?CFke4?3MW9-eaJI$|q5#ZK7`$1=0w&7h54Dxu(U5^ZK$pU`f&r>zqzm|C2 z$|wUCIfu044>l=Qk&=a9e=x~F;J0>lXAuHTp(#pN&VNrTkCZ-L!;5x3RTVEG>`Ds;tI^+17`u{hX1@+ddG7WAL--zR{n3q{TR(JPBLq> z8(gL2F-I_G7CO_&UnT|PoaCUcl6U>C{;WeshSg;l3V9dX<==KtWw3deq`|&48;AIT z)8k0~CpCI?*TrAmPe|dvchjEbv|SfBM>xO2Z$$gcfZwIy%88Xn3h8#Qjm*VYuC5M| zwRv)glucA+X`Bj!kV?iGXBQXG25}1$*1fEvQK&fky%|s+@h1qssG5*+M1$*&9}^Ok zUW7Pv`}M{j>k1)->JW>fr0kNe8xIo}aO51LBVV~J^7V@E3i+Z|anl+97L-DF^Mnbj zQ|?g}{zwB4K}k1w^QK`sEiM^pyCHk;5ij|;;btxRSWW z)5E^d!>%#krqqVnGD4ZoNS>7maxVLF0H-H#+-KfX#?xawJivqfbeG-J*U3vNd0ib3 z^fH?F_Z9qGtShA!Iu@LQ7bzu!CX1qU=co;na~QUKQ|PJKdQr1y&DA1<=pi84846}0 zaJD5Y67-rp*yE4Koc7$=p&$y!8|2PrZqKGeOPq{D#$mwpvj>O5l+$AlQ)N2xl}~Ac zgV&0=hoWFTMIqjwyt@f`UZ+U;LJ=j|WbY$+m#D&h%Fmu{dfjS953hDJZJ0Y@axvzM zDkX^ADLg3zzrf-d7pM(0V4^FWQpsNj(G{{bF2pokNqvO9X@L3&VTH8Anle7Vm_Ltj zLXGLEm;;OSaBg+$?$ zUS1%r8YJ)WOr(pU_*}?fF7PZs6kH^wurLoZw}6<2<@$1G$2`I*aA_xK-f+Y#Kg^qh zKLws+@xFpHR$TI$z~7#*u*vN1<#8S@Kh?-zr=9WYL?V$&rDj_Gt8;s@_?7zAgLA^v z%!kY+$X+S|L-E}!FTe!)O@FG!rr~iOwJONk=n8Eqe|~XC2GgY}!gY;&ayK{crE6`J9fbp_1+Lx$2o}-Kc=326pycBCNqg%^I!Xz|KH+MbmZ_BIpLObROc;74jd{W zD2hBsG08Wi)TAE1*b@9TARFz^5U%*v=B017H{3b&yC2U2H(R($@nfcUH(i)B3!OE1 z0!o2Ovr-6JJ>Fl^;KT|)IVHe_yz5tc^DfB{0~T9Gx%?U0#z-36x}P44hnp+@Fu(&n z>`il92MOJ8AQ45sa_=|ng}R19Sfw_Mp|E*`Q_EQtr8>lbiS06MQLYnGu_Zaj-%hcx zXmGJ8MKwo(-yp=g@Y4JhBb%O>@diFuEqTll%p1gs@LJrw`ZAyi z@-AgMmdj|Kt}NR}$h(9Tu56;pz;pnrLjZ#&d6$L=IhQJf(L4=Mtav({B>fI5Wx5JE;p1(`bnDrUopRu*z6|+^$XOw#cFcrT1Si zljvr8Z5X4+3Yd;)GpGl?9!rhIrzuuaElvJY=ni*I9^0!4-9$?9j5w@`df4Ym^` zrX5Mm*pGkE#gc(P=UhazZ02)_bF!#1ZxAQKo25&kM&U?Sl`)(rq>yt6sZ<)oG!((T z-7Jjw9_6s*7i4UgT`3gk&XIH2(2pbeQ$GofZj)YvEg`D zIKkviiQ<}xQq)TC-7k;4*&{faL6I%k@6QhwlxVe?ciE&;@|Yu-GYg$HNH7a@Fwf|C zeaEVxCQRD)HEDpj#-PQ@GIWIsgShT1&PP?hnPk9XY1|*zJDO+Ph);j*w58apu}7;t8mwgQyO_mkE`bW$}_-G{@O=>Oq;FdBK}`5Ap8< z#cUPtxtAYwBz?K@(R6W*w2kG`o1@YoW0Q0I#=DH;4;TP)4yzJ`RZ=z?$9Kx&8Ulta zpU>zOi?hynmD$57l|)p|uj0NQmc_ZSmRk>SZWZ-m!YZ2L>%Sg(DCb>MUdd<<6#QlY z$B;TKu7MQm`%mMpgI!GED*AH=1wxdhgAW5Q_$Vf~?ink2!`)@8h(wi|g-5>fW5n_1 z5FfZ&2qA|Y5{jfjRS5P~6#3Y`}w z(F7@*z8qUkaPXqw(ZiJqc2Bq&QI`pZ6vNFR}et0i})SKz_TeF z$sL^lgBCp|Uth(;1Ki(D#>RHXzr3TmK0RIjc^nGGM#np`L7&MC(buQkX5dg;u3zFS zUf5(lzXwN_IN%;*VX*RB5fuRumFSu$&@^K4nJ%gbsT4ns^3!eW&$)>ErIfPu(mPuY zVe{J7UwQ3@<6mhB<_+Q$@bqH6-j4wjTawU7<^4c7rco2(%t{^|@C(pDxlyos1&+&$ zs#zFe;|QHuu3b)*;p;4TKUrCn&hzvmyzVQ{3AJ1rBh-hf32|aMr&JJ8d1)md*h!B` zLI-G0_>`c3OkZ#2F!_AClZN5V&H_YHlA*Y$qCHmxJwcbuwjbVk4kH)z_FOOsVCJTO z(Nio!D|s9pTDKRb(>K5B(z9>9X9|nhw*JaH*Isq@G_153^9FHh$hSzpdrzPWU&+-_ zs5D4uq-}PNv8s$gi!+kw3JT=iaW1!%JT=SXF-ff$TE(F?63Uey=~ zDMVC8Z7K~GMflGpBz39{TC*$&5m6bku%)jNJELrsd2nR)keNV`tPE;U!7KK2IjR%O z)^2^p*fwYTWA+oj0AzaXP#>I5ObVIBAuz>f+jea|dv%NVym`f1w(go3Hn*+6^3F?t z_>tAqz3MrW?3{f#lBkBRU^)m$JLn31IbRK7z#^uRcX@meRgkiglG-r3LdvE-%$_v& zb+I7q$Jav^l#Z{XX#Tn)kdjJ+j6>R{Il+z1q+Pz-LCWE&5qfg$NUO#v@;VC@^pOPyX@)LtpNUvc=){?aPTJMY4K2mV8)D@(Pcl zQ>AtL1`cQIJahPHGwY9SZHLCJc!+K5&za)JFulpp>4yZ_ZT6CMN!{v9I|{Jo#00wsAif4@da;Gd_qGAo*m`#O?-79 z=T!2}Z8Sx=U;z=8ohb$_zbYM>GhEj>43Et|VLIpxVFD|YB8}K%3j!o4f`t)Idz@3^ ze5Cub&nzRC|8TDVYAkCSR{R{hKMvYW%j(00!k#(2run#*cL>aaL2O%p<+W??mlJV6 z7agvC^tVCD?7g>0@KqkpOmc1wmp0Iy%+DK4 zn9H2MOg2TyOFFY`9OltMDh)cbtSzT)%%3m5JdUPtUl%ExQ!1#7ASD8-LKq4)A#`Ot zV+i9$kb+a-^}0ka%aXaeW(}`75;_ z&DT6y@TywBdNx-Jb$N`A!#s`_rc2MPRAmDMF|wy~epGEL9+JkmQqG{o2e$L4est$O z;oY~W;>Fs!SCY-lz`{#$T%9V-*F1Xv+G|^c5G{9J+Iq`{FcYN1DKI;ufkX!Mx!4ipt+5yx)VSP#fli z1b^uD)7Bip*DXq=!#qZpH(ac(_Eceq!Yw}&Wfj1oCaX-B{8!KK&MkhW_JW7!<-Y=4 zc*~>|qC6&R_%}f?R^^q|)P=ckfGUFzG*M{)L{#=?{Njlt`SSp0l>7V}?+tqC9FOAM zyetI2nu0AU(}`-BE@e8+ah@C^qWV{YQkX_xtPwv4eqVprm?8JvGh{Ih0aXUNQkac% z1fLC*-UFPO^jkdDk+nOQY!IO^*$lQlGixuxyxPs*DeTU=Gog-Je_KfNu> zr&rJzC9e7No(3#5!LY?c1DsifBIwA{6vdGw^h5rdJ$KKOk{`CH39&dzpUEG40R}7- z;g4Pmvis9G$b25hgBiUcrEN@?`?{zOP3*=y3@Qy0x<5uHtWqCgcbW}n@{P58DEY%n zHu0%_b@rCuC#tGua_t_J(#PDutkQ1IS>IM@P@Ds_n*g2x%DMcqi&JEoCKy}(*Y_Xz zw@*Int8(cD9?XIez^)We4ROH&Oo#5AFCeB)GGP;VZ5~CjBg?LoulwLNv=~LwJKp=f z7`%8R^Y}Z1M>4I@Dc8w597(L{{St;O#`3(r-uE#-)xs5vSRU)WsOKzKlF<2R?|tN&&?wMNt?LR~1u0M0x zn_TW`8<+6LdQL3o;bC^9aS!Zv7H?h} zA?Kh+FB8?Zvv3GPYQ>LP*yFTdR%tgEUVPQrU;T)mIxMCdO@%44j#B#Yk6F0AJIMSLgxM^V#o$5{5JUF00pb>|X^&cCL4KEDxC z&=hhGn^J5TMON*rHCTU;AN8^~%W$5T)eu$vAjK2%@|yV?BEGG+BaqG*)3DAoSd z6~Er%F|L7-TB3+YVd#p7xoA_=(oxhCFc*(#Cg3GcY?lFxeQA1g{_jB(<9=ds`-&=P zi~>l>3(HBUSfTGcHcW>}^~PKJbBI%;`I<-X=c1C7 zVcYt1M9cPnpGH3AOd{uyv8fI7Z;RQRGLsw#&KS+;BYVY0@=5g1rP)hdrhC!bnrK5=E1Uw6<76!j~%pp~j zT+;I>M)3W5M14;h&Qr1UbTGY}XhW2i1Qhg>Zajgw&aln$FgKSyk$2gXAw2pGLSYQ! zUS}}vV3$22`+E;XxS8(5&`KV21hccy3vVe6b(^nwR9-VHd!7z>yoX&WR`oY;3b)mT z*qK5?YX-|@S%j#{9gP)l+&^3w_A`cCMrnx9XEL0p-|`D1x*+3FrZbu!|Ir7oq9+sU zO_~?NAAaIx5*0BXFV8KA0(WvkQ_Ym)KqtR4jY-mAdi9)u_rvhm`+z1eU0)_W7|nPv z<1@M>TvE@;aUv>TY3Ejrm`YsZ+cni{<*C5fP}K*v;z-ok8D&eC&(<-_86#MXIpfOy z4UxH2h7<&>IncIg3|(O)&ydAEoor6AH^&!Oq72u4YB`GFlnUY+pIAo9rY6Lxm7GzD zDli=~4vzFA;vn#$aECV(pUmhMCb$op<90Ccv*wCpNU1rKr71936!aa&Pn?#6^|n8U ztf7ZuzN$C!%#-6RzO{J269Kohb3%mL5Whc#m`cCJpZa-wZ@)Bi^58yw(|h08fB-eL zZWfPVK4d;Jw5>nq`KRje9OyU6IgI4#%&{l!=fYMcNa|eIasA@j?1=yXAOJ~3K~%mR zef2xPxSyUJj}4ME_}YHKF7gT0_8E3?rfp+S}v$tlc7C&ZfzsHHW|6`dgcvZg*13WoI#wMgNYV*aa&7*Uqyj%iD`f`N8Xr4a|l6UzpyZs|ea9sW}L`-ExoYm#zU4P`B1g#JYCk=o> zixbPy6skjnRa8O7@%vb;B1_@5LW?4quVCW%G2<9SQ;I)3Wy)_t(L*f^NC=XoY9RyQ zJ@F)Lz(vw|E}S_MS28mN3uA|Gb27N=Y<)QbTyT?Q>Q!TB}xnzY0@m?7u*9m;Xt-Mv*%TwT;Q*tom9ySuvw z2oT)ef;$8au8jq^;O=gXLvRT04#C~+@AsRknW?G&VlJnquXdl>=WIDk_gZH?Wb}yA zJX?j=%-h_+kz|?TP4h;~A#8b>CvF9&?O00ra2-r@7i4ACnnH$94fik$cyaj8wl0Zd zqZ;y(=Qxo*lpqC{dV2o@8|{EMpYR@m=oq!l`d`O1;hXNqQ`Z$?!t_gaB2M(aFI;4C zqJCcc7S3wT@fX!%4*G8X&>18itGrXY{R{tD2VD}vh;2!(B)_>v>SVr^%3AA&W};Js z<=y?YoVDgOah0Xvp$Kfs#Uoh?|I_~F6I9F*&TKrhjFcRKSs!H0LPG(g|IHCy6T*09 zV$B2{=bHw&KyiwSxXqM7R75C~!rI{OeuKOdn$tpn9AEN(r^?ju3{E?r-8u!I7=oPp9PP>5Wl!#gXW=e3g zC4_@$?LZvZHdX+yti~Ic;1+dCpWtEhbtV_K40SfAP-uie;bT5t4;}9Ijxf9b$qKDu zI|hdiy>xaXBk2HdKA3Jk(BI1A=giR;PTmUgzzpcIKyaNWZ(EelSCtRi0k234a26;< z*mpsX)wEow06NXy7A#++&9KH0MQ7K`v!O-p;Xa1wh7jK4f20IKl z_{|#!fq>R!QNe)Pn-4+zdiFuk!KJ{d%dWn{THyjkM}u(pU3MPvb`jzQtMShQ4ba(* zuEA5bdkgqfVs^)5xMxBm#n{6|EeXr4D)#z8PqZ;_vhXb+=b>i9)BNtU)$8b5P4nop zSL}$j(P>2+lN?EZSz0wpPsRX%GmpEp_|hzCr{CA|Qn|P~xvFJH0`2 z5cb>kEgunp3Qf+yXZA)ul9kX-L(%wz{x@DMilVB3Cz_He;Ga;SF#yLDdySmy?XZk< zAS{lh456Pjp9MAzIUYe*>sQJ4I<~jDJm*e~fIJ7qT5u#{CG>D_dc6@0i4?@Ozb5j8 zUpE$=?&2)_Sf-M7gr zCU}P7EgXEx3Jztu0zz|DeqMF5T7+_AhseC)?0?#rd&hFY>cKK+9Txf4qdi~4NAKUu ztYYO(wMjXd6X*=Z4z31hX1sH3{ha$Ld6zJ#CGjYybTzq=voLi;6glm z`i--R&yAWDs=(^Ej%c_Pff$hy{H}_J<`0SBQ~i+s9L)Gc4<#iNnEW~ zNLDSTW=wM*F_4~>SWychBX@9)7Fua&4%Y+xBFWo=$@wq8fG)BQF)daJ$#Gm}X0gV3 zLU{e2W%R)ck zEGpo(#s~I?uk&;s0@i`Gmb*2De6|mUTUaed>9Lv~%Vz_2_kaY4zA0XK|z+?9Y_t zD|Zo4hQ-ENfK5kmE6WvwJm20N?=p2dbdzkNxlASj2*1TAex+40FTFp#9yCeaOWRKk zMY6>-c5Up^W1K-koENu3VJ?I6@M?vKC!ifVO=GS4tzqGaJVVP^7+DR&=SuCRT+7?b$WW_S+-^Pj0{lXf_l;i~!Ml zhRrS!>EKhv7ueNvSKKCLse9~Kb(nn{4X!}iamm|YWjk9jgfl!fA$0U;Z43P+vU}hs zH`lioF-C5c7-a*?)jO>CP&-dsGVIUOsr^#Cl3)&l%%ADuflKCHSf6PTFYwqv4X)s5 z4!1Bc6u7f2rjZB~mO)*VJl6mtMG3_cY%-v@kk{;u9qIHRsV5P<=yAsIu3$gZZOxs+ z-)uXGBBSRu0T=_)Tb8~I8ZtxS#b|DV^b_~J^-svxH!Wrw}i1z+ww{-^FY4Pv8>Qu*;)|F*calsdEn zhj)e1yFZ5&4aI0ErS&vQQ$XI*ir2N_&!^9YPgC4ZEjP%SHZ>0EPvE|b7sqxN_j>kG zSOLHK9PG2EJM^pw#e-Q|(Ua>-*bvRKF6kC*_M^7}oey{`UK?*jX$Chlwk2~>Xiukg zn6b3*%r6uj4n-uoHj(8Mx9Xu%{TqA!eE3Q*Y5<)q3jfC6vy`Fs)9$FE6Y~=f78B?! zg@(f~^5&1l7n+`-Q5H$!fPJr@L^m9OAjH3ldS!V?i&@aceUNGP1hOEFyce= z>4mYk^MmX^J7&^*=prGR@S)%WxF85eG8F!_^fE}8$twSz3by@$x6Cp?EsifD;J=kE zQ~qR{=;Bl`(@46DE5wO!9G&AaUktR|4ysSpI4z4Sn!d#&xT$vT*a&IZ_~+tB`#+10 z-XQvV?4*&JGPTvddmO+VCyr3>HRkUv%%kb>lxJ1`%}z9EA2^!0W(VR~_?bp>KnoGy z&KC*E>s#MK5Lhl%K>&e6+qYbyA*QqC7}U=(hS(a5^w&9n5fwVYAxsRm2T~zOE?iT( z112N2Mk{CpI)!QlxzgrWQoQj|ZCV}AcPWGE=Fl%;h7-6}&0K21n4B<|9gHw*{^&u) zJ~}@5FsQ`H1%^Lm2JwZc`*a{|G4gGO{c=`i-V}9B8Wf_95>5M?H6M+VJSPYTf4X&T zZB;U*yv#E-1~EA9>%=WRjjpJ+*Kg-=nC}}Nz*icED85j|h-<#pvmqguUhU3Ojd^R!B(jqsqt#?)+o^V@ zj!)q2Lek7>rFZELbkAoI6n~D0<-1#xBG@dGf}khd%n6%VB<_}l4Qfn=*p8*P&^1kq zRUWv%=#QDJuO-2)k6<(niRa+>DD_eSZY4D~_|bid?xg7+Yxu@XR_W8TG)V}1X&_k- z@7<2kaFoiDsH2Imc1jkujcqxGWN=M_E7@)(?18;L>mDKS-a=fI&b|sHu2kC-|4d@5 zAD{qZ-I=7H^jYA2xIuqKP{uGwh+ZOe_P}j!FHU%wG>{X9zVieD)0u?QDN$g5C4}#tXrMi zfEgp}|;S40ovzS=J8r(!z0)rMGUty50 zaqM*3avIqWR%ax9KNKzGl@{pY;Fd<$P}>&Q2^n)yBfMCNA!cHx92VM1m>~}7=NO2q z_auhj{fv`P#+RdfI)xS{YCEWxEKFJs!Md8T5axzJi<5JJ7tr#y800tLtfHhOd z&qJHKL#Akz&wQbQ2s8KERDC<%U<)M!S2?rxX7`Us~?{w1RTWq@$yEybOawF8hX1-TjU8@)Y61?Z}>{eHfZ zzLKwG|K9I3yhC>YU#_zTO=0kqWAIi2k2umgLf9M%G4Y0uC^l+vCo!L9%NI7jSj(zw zG>Ffn*W4yK?U!O%Y=2BBA_K{Etl7FC3-L< zYmf{qjsLwKU)lKErOGKxCdgQ#GkDPkO$Hb9S8aKsuYUUY!25Yuu~E6NeqC%-2dUqb zR)FE2eX?Ktq7m!iwC-O)5^)FoIE=H-Y$%=jkeq|Tbd!?^*SRn`V=JHry;^a=xiT=X z%f;Qq{9+MsmQBv!F)!;XA88X=1|Ua}C8~3iET$HpB}W*}_VW+je=#_-8Ih7nH)_9m zJXQqJmX5=LMxi50Qn${2_?aVV08?$2PD;v2?K`SeM#OuvjbrOmTXUm(Xr7a5X{9Uj zQyA&!*uma}U0*WK@~NCJvKZ4K$$8#K{qF37`6V{@TO$UN`gZEoYwCvAc9+f}(a*Cn ze`W6)T&$esU72u#XI>2$Rh*zY zY^nplAuZe(~QRApA_A(X-KyIaBZU+f57)y0? zi40_9hR<^wt5b2u(O5_3b1f|1(|)`YomTc*#GTvcdQLAr?)W~ZYcJnd7&BYbc&0-y zuj?DtOfkiYnoSxOYuRfWR2H|TuxymH+`SuO?a=}t*bySXlbDkr<6=-O;KRC%+RVnn zH3Id%zs#9us%^l%uw%$2LfwA5+LFyydv)bMYFR@QX{h$1bcw6_B z=xP)O8k@lYg!u!1!f$#ot%FBh_~*C;KPROmQd1F>LrT~M(sbvHSp5LvMNfEm_L7Qs z>Gtp@4~e?gqyZdG(~#A>$+sfg-|!2lEn+#soP7I5D)g`4r)y$`9de|)DMP67ecik+ zhzjwbF$g3XgAwsVn90`=TM;l&hz&J;%n0o<&oKKL`A2>NKMaA zQi@hU14GaA02-khjyU({((o&-spYGxQm-f}Eiu?z!sLuWYluXQ2xTkXQ;7hGo5{Cs z?`f@*42UJIcOp8DC2*85&4h5u#oUCd&)!4&Ry?~5+;sVz3pG_J*V zytUT`zL4ocf9M`z%9fE^WV>*%ux6z4HfT{s6D=mAF&Fv0%u@}m_HJli1($5yZtT@X zUZ2}o5pFM1rn!XBY7+g_O7MWtxXS!4O3G|_F}wrR<$`P&W-Vx~>PB85X)^4&mIFqO zL!Fwz4PjesUJV^-)|6rdu!jc)2Z1djDOqs|t+VSYk$5MiT*vFTXTeJWH53dS<^QH-mbcA4Zovf{;Co6|5bZZM+wl4ywo)D7+c1vI;o+0 z{B)a8sjdDf_zi>$)j4b=N@o1r0CYxnz>~IOJIOPCwvlX!{J@&4nw-mLS9g;Q z?RyjvdTB%AWIIn-na(Bh*EPOs{kKfzx0<&FYqFKA3jyX|4utnmWnUx~bhR+zm3y-v zJeUQjT5g@b4Tq_pvI$~B9t~F=mRX%atd++Ls97H`ll+801v{SWoWYDq%4KL!>|X|s z?}uf=m6%Xr66~b>@xLO7!bpy^eX%ahf|^zyp^8wwkkgR~hq*U3Z;dh_0*1~AwnB*a zFn>9&wTrC21fd5i{ta8Amab4pFF8ZM8Ae|~*T{FJR?xwE{s02Bu%$-JzendYKb9_$ zJRQC>OvmJA1PjFb5?YbuIAUB;DNbSilv$rO!@F`JvN+;#T~zkO-~jUJU*8@Qg}+$R zz*<}3Do&!0(Pa_fO+6l$ObaX#nVg6~|Ag zXxJ!^~implB#-`^hR1U6NMfKkmKo6i?yVZgOm^K=2x!ByZ zW5aLzBuj`wdx(A!BEb0)Ymq#^pU`pA@Asf+Z4*_e*gBbxxig5@)r z1_aH3LP!_s^XMa>8h@$7nH;dm?Dl-mY7sYixy z^}zyM1`nBmX$x}m^M=kt&nGQe+x^U=KqXw-gNjdq$%sQ{yP(dEm8(syr}t8-+LF@B zeKlWnfY)3ov~OjE>gx`n_C;BXL!LN#TTd9=2?Tsb@_O<#VCL>b`&;dk{$uIcCWN?M z)s3HNV!(KwXG54-!^RDQqH;tDL)KOs|BnsPy!xmVBQdo|eN5ClK`u|Cy2VG98LZSb z=qZj-aJ^*{cG+YW%2jjm5f9l$_^Eu?H)GL@`r^jLY^Gp+W7dY;d)qQrcO|eMN;X*j z`@P8Iy?uOm7jADALVBxP>|jhz<#|J7hv}r2^%ibK2~|nZ%Sf^)Gjw8Cis?DpHy?Ik zCSu)~X#6c+^Yv7lh%GYioheOke^ybJEW5a)RoD7$qy70+&roK$`^^NpT>B%n!L+u` zRSv>gCF>y9l@|JEMz+~z>~i18NrgQ?Gz$fytXZE5F0i1*f7xeTauiCgGZzH|5tQj+ zs1c&b%lpRY;>F@}`mmDyB3CR1#yYHe?7P?Gc)7SCYu=uq_Veckl&${>fB7X9M)kY5 z)