From fb6f8e3baf266d293b7115afb8dd7982c5eda652 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 28 Mar 2024 19:28:42 +0530 Subject: [PATCH 1/3] replacing AppDriver method with TealAppDriver method --- tests/testthat/helper-shinytest2.R | 20 --- tests/testthat/test-adtteSpec.R | 59 --------- tests/testthat/test-assaySpec.R | 18 +-- tests/testthat/test-barplot.R | 43 +++---- tests/testthat/test-boxplot.R | 27 ++-- tests/testthat/test-experimentSpec.R | 60 ++++----- tests/testthat/test-forest.R | 14 +- tests/testthat/test-geneSpec.R | 42 +++--- tests/testthat/test-km.R | 18 +-- tests/testthat/test-pca.R | 141 ++++++++++----------- tests/testthat/test-quality.R | 24 ++-- tests/testthat/test-sampleVarSpec.R | 16 +-- tests/testthat/test-scatterplot.R | 40 +++--- tests/testthat/test-shinytest2-adtteSpec.R | 58 +++++++++ tests/testthat/test-volcanoplot.R | 16 +-- 15 files changed, 286 insertions(+), 310 deletions(-) create mode 100644 tests/testthat/test-shinytest2-adtteSpec.R diff --git a/tests/testthat/helper-shinytest2.R b/tests/testthat/helper-shinytest2.R index 9f6db218..e063582c 100644 --- a/tests/testthat/helper-shinytest2.R +++ b/tests/testthat/helper-shinytest2.R @@ -1,23 +1,3 @@ library(shinytest2) -module_ns_shiny2 <- function(app) { - source <- app$get_html("html", outer_html = TRUE) - module_id <- rvest::html_attr( - rvest::html_node(rvest::read_html(source), css = ".teal_module"), - "id" - ) - NS(paste0(module_id, "-module")) -} - -ns2 <- NS("teal-main_ui-filter_panel") default_app_seed <- 123 - -# expect_select_screenshot ---- -shinytest2::AppDriver$set( - which = "public", - name = "expect_select_screenshot", - value = function(selector, ...) { - self$expect_screenshot(selector = paste0("#", selector), ...) - }, - overwrite = TRUE -) diff --git a/tests/testthat/test-adtteSpec.R b/tests/testthat/test-adtteSpec.R index ca781c65..9d5da6e7 100644 --- a/tests/testthat/test-adtteSpec.R +++ b/tests/testthat/test-adtteSpec.R @@ -185,62 +185,3 @@ test_that("adtteSpecInput creates expected HTML", { expect_length(result[[2]], 1) expect_tag(result[[2]][[1]]) }) - -# nolint start - -test_that("adtteSpecServer module works as expected in the test app", { - skip_if_covr() - skip_if_too_deep(5) - - app <- AppDriver$new( - app_dir = test_path("adtteSpec"), - name = "adtteSpecServe", - variant = platform_variant(), - load_timeout = 300000 - ) - - app$wait_for_idle(timeout = 20000) - ns <- module_ns_shiny2(app) - - # check initialization - res <- app$get_values() - expect_equal(res$input[[ns("experiment-name")]], "hd1") - expect_equal(res$output[[ns("summary")]]$message, "please select at least one gene") - - # check correct message - app$set_inputs(!!ns("genes-genes") := "GeneID:28") - res <- app$get_value(output = ns("summary")) - expect_equal(res$message, "please select an endpoint") - - app$set_inputs(!!ns("adtte-paramcd") := "CRSD") - res <- app$get_value(output = ns("summary")) - expect_match(res, "CRSD") - - app$set_inputs(!!ns("adtte-paramcd") := "PFS") - res <- app$get_value(output = ns("summary")) - expect_match(res, "PFS") - - res <- app$get_value(input = ns("adtte-paramcd")) - - # Test what happens if selected endpoint (here PFS) is no longer in filtered data. - app$set_inputs(!!ns2("add-ADTTE-filter-var_to_add") := "PARAMCD") - app$set_inputs(!!ns2("active-ADTTE-filter-ADTTE_PARAMCD-inputs-selection") := "OS") - - app$wait_for_idle() - # We expect to get a validation message (also a notification box but we cannot test that) - res <- app$get_value(output = ns("summary")) - expect_equal(res$message, "please select an endpoint") - res <- app$get_value(input = ns("adtte-paramcd")) - expect_equal(res, "") - - # Now we update the filter by adding PFS back. However the user would have to - # actively select it. - app$set_inputs(!!ns2("active-ADTTE-filter-ADTTE_PARAMCD-inputs-selection") := c("PFS", "OS")) - app$wait_for_idle() - res <- app$get_value(output = ns("summary")) - expect_equal(res$message, "please select an endpoint") - - app$stop() -}) - -# nolint end diff --git a/tests/testthat/test-assaySpec.R b/tests/testthat/test-assaySpec.R index 99000475..8fdcdba0 100644 --- a/tests/testthat/test-assaySpec.R +++ b/tests/testthat/test-assaySpec.R @@ -31,32 +31,32 @@ test_that("assaySpecServer module works as expected in the test app", { load_timeout = 300000 ) - ns <- module_ns_shiny2(app) + # Validation message because no assays eligible in first experiment. app$wait_for_idle(timeout = 20000) - res <- app$get_value(output = ns("result")) + res <- app$get_active_module_output("result") expect_identical(res$message, "No assays eligible for this experiment, please make sure to add normalized assays") # Select the second experiment and see that we can select the right assays. - app$set_inputs(!!ns("experiment-name") := "hd2") + app$set_module_input("experiment-name", "hd2") app$wait_for_idle() - res <- app$get_value(input = ns("assay-name")) + res <- app$get_active_module_input("assay-name") expect_identical(res, "rpkm") - res <- app$get_value(output = ns("result")) + res <- app$get_active_module_output("result") expect_identical(res, "[1] \"rpkm\"") - app$set_inputs(!!ns("assay-name") := "voom") + app$set_module_input("assay-name", "voom") app$wait_for_idle() - res <- app$get_value(output = ns("result")) + res <- app$get_active_module_output("result") expect_identical(res, "[1] \"voom\"") # Check that cpm should not be available. - app$set_inputs(!!ns("assay-name") := "cpm") + app$set_module_input("assay-name", "cpm") app$wait_for_idle() - res <- app$get_value(output = ns("result")) + res <- app$get_active_module_output("result") expect_identical(res, "[1] \"\"") app$stop() diff --git a/tests/testthat/test-barplot.R b/tests/testthat/test-barplot.R index 436eb420..a15ff756 100644 --- a/tests/testthat/test-barplot.R +++ b/tests/testthat/test-barplot.R @@ -33,64 +33,63 @@ test_that("barplot module works as expected in the test app", { ) app$wait_for_idle(timeout = 20000) - ns <- module_ns_shiny2(app) + # check initialization - res <- app$get_value(input = ns("experiment-name")) + res <- app$get_active_module_input("experiment-name") expect_identical(res, "hd1") - res <- app$get_value(input = ns("assay-name")) + res <- app$get_active_module_input("assay-name") expect_identical(res, "counts") - res <- app$get_value(input = ns("genes")) + res <- app$get_active_module_input("genes") expect_null(res) # check initial message - res <- app$get_value(output = ns("table")) + res <- app$get_active_module_output("table") expect_equal(res$message, "please select at least one gene") # Set values - app$set_inputs(!!ns("experiment-name") := "hd2") - app$set_inputs(!!ns("assay-name") := "tmp") - app$set_inputs(!!ns("x-genes") := "GeneID:8086") + app$set_module_input("experiment-name", "hd2") + app$set_module_input("assay-name", "tmp") + app$set_module_input("x-genes", "GeneID:8086") app$wait_for_idle() - res <- app$get_value(input = ns("x-genes")) + res <- app$get_active_module_input("x-genes") expect_identical(res, "GeneID:8086") - app$set_inputs(!!ns("experiment-name") := "hd1") + app$set_module_input("experiment-name", "hd1") # Check that gene list is updated app$wait_for_idle() - res <- app$get_value(input = ns("x-genes")) + res <- app$get_active_module_input("x-genes") expect_null(res) # Check that assay list is updated - res <- app$get_value(input = ns("assay")) + res <- app$get_active_module_input("assay") expect_null(res) # Check error message in case of identical percentile boundaries - app$set_inputs(!!ns("percentiles") := c(0.1, 0.1)) + app$set_module_input("percentiles", c(0.1, 0.1)) app$wait_for_idle() - res <- app$get_value(output = ns("table")) + res <- app$get_active_module_output("table") expect_equal( res$message, "please select two different quantiles - if you want only 2 groups, choose one quantile as 0 or 1" ) # Set Experiment, assay, gene, percentile and facet - app$set_inputs( - !!ns("experiment-name") := "hd1", - !!ns("assay-name") := "counts", - !!ns("x-genes") := "GeneID:47", - !!ns("percentiles") := c(0.2, 0.8), - !!ns("facet-sample_var") := "AGE18" - ) + app$set_module_input("experiment-name", "hd1") + app$set_module_input("assay-name", "counts") + app$set_module_input("x-genes", "GeneID:47") + app$set_module_input("percentiles", c(0.2, 0.8)) + app$set_module_input("facet-sample_var", "AGE18") + app$wait_for_idle() - res <- app$get_value(output = ns("table")) + res <- app$get_active_module_output("table") expect_snapshot( cat(res) ) diff --git a/tests/testthat/test-boxplot.R b/tests/testthat/test-boxplot.R index 12fe891b..de0783d8 100644 --- a/tests/testthat/test-boxplot.R +++ b/tests/testthat/test-boxplot.R @@ -29,37 +29,36 @@ test_that("boxplot module works as expected in the test app", { ) app$wait_for_idle(timeout = 20000) - ns <- module_ns_shiny2(app) + # check initialization - res <- app$get_value(input = ns("experiment-name")) + res <- app$get_active_module_input("experiment-name") expect_identical(res, "hd1") - res <- app$get_value(input = ns("assay-name")) + res <- app$get_active_module_input("assay-name") expect_identical(res, "counts") - res <- app$get_value(input = ns("strat-sample_var")) + res <- app$get_active_module_input("strat-sample_var") expect_null(res) - res <- app$get_value(input = ns("genes-genes")) + res <- app$get_active_module_input("genes-genes") expect_null(res) # check initial message - res <- app$get_value(output = ns("table")) + res <- app$get_active_module_output("table") expect_equal(res$message, "please select at least one gene") # Do a couple of updates to obtain a plot. - app$set_inputs( - !!ns("jitter") := TRUE, - !!ns("violin") := TRUE, - !!ns("genes-genes") := "GeneID:5205", - !!ns("strat-sample_var") := "COUNTRY", - !!ns("color-sample_var") := "AGE18" - ) + app$set_module_input("jitter", TRUE) + app$set_module_input("violin", TRUE) + app$set_module_input("genes-genes", "GeneID:5205") + app$set_module_input("strat-sample_var", "COUNTRY") + app$set_module_input("color-sample_var", "AGE18") + app$wait_for_idle() - res <- app$get_value(output = ns("table")) + res <- app$get_active_module_output("table") expect_snapshot(cat(res)) app$stop() diff --git a/tests/testthat/test-experimentSpec.R b/tests/testthat/test-experimentSpec.R index 427fee0e..2f6c8c78 100644 --- a/tests/testthat/test-experimentSpec.R +++ b/tests/testthat/test-experimentSpec.R @@ -103,97 +103,97 @@ test_that("experimentSpec module works as expected in the test app", { ) app$wait_for_idle(timeout = 20000) - ns <- module_ns_shiny2(app) + # check initialization - res <- app$get_value(input = ns("my_experiment-name")) + res <- app$get_active_module_input("my_experiment-name") expect_identical(res, "hd1") - res <- app$get_value(input = ns("property")) + res <- app$get_active_module_input("property") expect_identical(res, "data") # The data is correctly processed so we can see the print result. app$wait_for_idle() - res <- app$get_value(output = ns("head")) + res <- app$get_active_module_output("head") expect_match(res, "class: HermesData\nassays(1): counts", fixed = TRUE) # Look at the other properties and confirm that they are ok. - app$set_inputs(!!ns("property") := "name") + app$set_module_input("property", "name") app$wait_for_idle() - res <- app$get_value(output = ns("head")) + res <- app$get_active_module_output("head") expect_match(res, "hd1", fixed = TRUE) - app$set_inputs(!!ns("property") := "genes") + app$set_module_input("property", "genes") app$wait_for_idle() - res <- app$get_value(output = ns("head")) + res <- app$get_active_module_output("head") expect_match(res, " id name\n249 GeneID:10061 ABCF2\n966 GeneID:28 ABO\n532", fixed = TRUE) - app$set_inputs(!!ns("property") := "assays") + app$set_module_input("property", "assays") app$wait_for_idle() - res <- app$get_value(output = ns("head")) + res <- app$get_active_module_output("head") expect_match(res, "counts", fixed = TRUE) # Look at the second experiment. - app$set_inputs(!!ns("my_experiment-name") := "hd2") + app$set_module_input("my_experiment-name", "hd2") app$wait_for_idle() - res <- app$get_value(output = ns("head")) + res <- app$get_active_module_output("head") expect_match(res, '"counts"\\s+"cpm"\\s+"rpkm"\\s+"tpm"\\s+"voom"') - app$set_inputs(!!ns("property") := "data") + app$set_module_input("property", "data") app$wait_for_idle() - res <- app$get_value(output = ns("summary")) + res <- app$get_active_module_output("summary") expect_match(res, "HermesData object with 9 samples of 2500 genes") # Filtering out all samples does give a validation message, so we are safe # downstream. - app$set_inputs(!!ns2("add-MAE-subjects-var_to_add") := "SEX") + app$set_module_input("add-MAE-subjects-var_to_add", "SEX") app$wait_for_idle() - app$set_inputs(!!ns2("active-MAE-subjects-MAE_SEX-inputs-selection") := character()) + app$set_module_input("active-MAE-subjects-MAE_SEX-inputs-selection", character()) app$wait_for_idle() # Experiment selection is not affected by filtering - res <- app$get_value(input = ns("my_experiment-name")) + res <- app$get_active_module_input("my_experiment-name") expect_identical(res, "hd2") - res <- app$get_value(output = ns("summary")) + res <- app$get_active_module_output("summary") expect_match(res$message, "No genes or samples included in this experiment, please adjust filters") - app$click(ns2("active-MAE-remove_filters")) + app$click(sprintf("%s-%s", app$active_filters_ns(), "active-MAE-remove_filters")) # Same for filtering out all genes. - app$set_inputs(!!ns2("add-MAE-hd2-row_to_add") := "chromosome") + app$set_module_input("add-MAE-hd2-row_to_add", "chromosome") app$wait_for_idle() - app$set_inputs( - !!ns2("active-MAE-hd2-MAE_chromosome_hd2_subset-inputs-selection_open") := TRUE, + app$set_module_input( + "active-MAE-hd2-MAE_chromosome_hd2_subset-inputs-selection_open", TRUE, allow_no_input_binding_ = TRUE ) - app$set_inputs(!!ns2("active-MAE-hd2-MAE_chromosome_hd2_subset-inputs-selection") := character(0)) - app$set_inputs( - !!ns2("active-MAE-hd2-MAE_chromosome_hd2_subset-inputs-selection_open") := FALSE, + app$set_module_input("active-MAE-hd2-MAE_chromosome_hd2_subset-inputs-selection", character(0)) + app$set_module_input( + "active-MAE-hd2-MAE_chromosome_hd2_subset-inputs-selection_open", FALSE, allow_no_input_binding_ = TRUE ) app$wait_for_idle() # Experiment selection is not affected by filtering - res <- app$get_value(input = ns("my_experiment-name")) + res <- app$get_active_module_input("my_experiment-name") expect_identical(res, "hd2") - res <- app$get_value(output = ns("summary")) + res <- app$get_active_module_output("summary") expect_match(res$message, "No genes or samples included in this experiment, please adjust filters") # return to initial situation - app$click(ns2("active-MAE-remove_filters")) + app$click(sprintf("%s-%s", app$active_filters_ns(), "active-MAE-remove_filters")) app$wait_for_idle() # Experiment selection is not affected by removing filters - res <- app$get_value(input = ns("my_experiment-name")) + res <- app$get_active_module_input("my_experiment-name") expect_identical(res, "hd2") - res <- app$get_value(output = ns("summary")) + res <- app$get_active_module_output("summary") expect_match(res, "HermesData object with 9 samples of 2500 genes") app$stop() diff --git a/tests/testthat/test-forest.R b/tests/testthat/test-forest.R index 9a17519c..817e0882 100644 --- a/tests/testthat/test-forest.R +++ b/tests/testthat/test-forest.R @@ -33,35 +33,35 @@ test_that("forest_tte module works as expected in the test app", { ) app$wait_for_idle(timeout = 20000) - ns <- module_ns_shiny2(app) + # check initialization - res <- app$get_value(input = ns("experiment-name")) + res <- app$get_active_module_input("experiment-name") expect_identical(res, "hd1") - res <- app$get_value(output = ns("table")) + res <- app$get_active_module_output("table") expect_identical( res$message, "No assays eligible for this experiment, please make sure to add normalized assays" ) # Choose another experiment. - app$set_inputs(!!ns("experiment-name") := "hd2") + app$set_module_input("experiment-name", "hd2") res <- app$wait_for_value(input = ns("assay-name")) expect_identical(res, "cpm") # Choose a gene signature. - app$set_inputs(!!ns("genes-genes") := c("GeneID:101927746", "GeneID:1820")) + app$set_module_input("genes-genes", c("GeneID:101927746", "GeneID:1820")) res <- app$wait_for_value(output = ns("plot-plot_out_main")) expect_identical(res$message, "please select an endpoint") # Choose an endpoint. - app$set_inputs(!!ns("adtte-paramcd") := "PFS") + app$set_module_input("adtte-paramcd", "PFS") app$wait_for_idle() - res <- app$get_value(output = ns("table")) + res <- app$get_active_module_output("table") expect_snapshot( cat(res) ) diff --git a/tests/testthat/test-geneSpec.R b/tests/testthat/test-geneSpec.R index f59e9e89..7a555188 100644 --- a/tests/testthat/test-geneSpec.R +++ b/tests/testthat/test-geneSpec.R @@ -47,12 +47,12 @@ test_that("geneSpec module works as expected in the test app", { app$wait_for_idle(timeout = 20000) - ns <- module_ns_shiny2(app) - res <- app$get_value(input = ns("my_genes-genes")) + + res <- app$get_active_module_input("my_genes-genes") expect_null(res) - res <- app$get_value(output = ns("result")) + res <- app$get_active_module_output("result") expect_identical(res$message, "please select at least one gene") # Set genes manually. @@ -61,69 +61,69 @@ test_that("geneSpec module works as expected in the test app", { "GeneID:52", "GeneID:88", "GeneID:11096" ) - app$set_inputs(!!ns("my_genes-genes") := selected_genes) + app$set_module_input("my_genes-genes", selected_genes) app$wait_for_idle() # See that now the first function is selected. - res <- app$get_value(input = ns("my_genes-fun_name")) + res <- app$get_active_module_input("my_genes-fun_name") expect_identical(res, "mean") # Get the expected result. - res <- app$get_value(output = ns("result")) + res <- app$get_active_module_output("result") expect_identical(res, "mean(ABCF2, ABO, ..., ADAMTS5)") # Add chromosome filters for the first experiment. - app$set_inputs(!!ns2("add-MAE-hd1-row_to_add") := "chromosome") + app$set_module_input("add-MAE-hd1-row_to_add", "chromosome") # Lock the gene selection. - app$set_inputs(!!ns("my_genes-lock_button") := TRUE) + app$set_module_input("my_genes-lock_button", TRUE) app$wait_for_idle() - app$set_inputs( - !!ns2("active-MAE-hd2-MAE_chromosome_hd1_subset-inputs-selection_open") := TRUE, + app$set_module_input( + "active-MAE-hd2-MAE_chromosome_hd1_subset-inputs-selection_open", TRUE, allow_no_input_binding_ = TRUE ) - app$set_inputs(!!ns2("active-MAE-hd1-MAE_chromosome_hd1_subset-inputs-selection") := c("1", "2")) - app$set_inputs( - !!ns2("active-MAE-hd1-MAE_chromosome_hd1_subset-inputs-selection_open") := FALSE, + app$set_module_input("active-MAE-hd1-MAE_chromosome_hd1_subset-inputs-selection", c("1", "2")) + app$set_module_input( + "active-MAE-hd1-MAE_chromosome_hd1_subset-inputs-selection_open", FALSE, allow_no_input_binding_ = TRUE ) app$wait_for_idle() # Confirm that gene selection was not changed. # Note: Due to sorting by gene name the order might not be the same. - res <- app$get_value(input = ns("my_genes-genes")) + res <- app$get_active_module_input("my_genes-genes") expect_set_equal(res, selected_genes) - res <- app$get_value(output = ns("result")) + res <- app$get_active_module_output("result") expect_identical( res$message, "5 genes (GeneID:10061, GeneID:28, ..., GeneID:11096) not included, please unlock or change filters" ) # Unlock the gene selection. - app$set_inputs(!!ns("my_genes-lock_button") := FALSE) + app$set_module_input("my_genes-lock_button", FALSE) app$wait_for_idle() # Check that gene selection was reduced accordingly. - res <- app$get_value(input = ns("my_genes-genes")) + res <- app$get_active_module_input("my_genes-genes") expect_set_equal(res, c("GeneID:52", "GeneID:88")) expect_subset(res, selected_genes) expect_length(setdiff(selected_genes, res), 5) # Get the expected result. - res <- app$get_value(output = ns("result")) + res <- app$get_active_module_output("result") expect_identical(res, "mean(ACP1, ACTN2)") # Remove the filter. - app$click(ns2("active-MAE-hd1-MAE_chromosome_hd1_subset-remove")) + app$click(sprintf("%s-%s", app$active_filters_ns(), "active-MAE-hd1-MAE_chromosome_hd1_subset-remove")) # Select a gene via text input. app$click(ns("my_genes-text_button")) app$wait_for_idle() - app$set_inputs(!!ns("my_genes-gene_text") := "GeneID:10061; GeneID:28") + app$set_module_input("my_genes-gene_text", "GeneID:10061; GeneID:28") app$click(ns("my_genes-ok_button")) app$wait_for_idle() - res <- app$get_value(input = ns("my_genes-genes")) + res <- app$get_active_module_input("my_genes-genes") expect_set_equal(res, c("GeneID:10061", "GeneID:28")) app$stop() diff --git a/tests/testthat/test-km.R b/tests/testthat/test-km.R index 6d7cdd8c..cfa95274 100644 --- a/tests/testthat/test-km.R +++ b/tests/testthat/test-km.R @@ -34,33 +34,33 @@ test_that("km module works as expected in the test app", { ) app$wait_for_idle(timeout = 20000) - ns <- module_ns_shiny2(app) + # Check initial state of encodings. - res <- app$get_value(input = ns("experiment-name")) + res <- app$get_active_module_input("experiment-name") expect_identical(res, "hd1") - res <- app$get_value(output = ns("plot-plot_out_main")) + res <- app$get_active_module_output("plot-plot_out_main") expect_identical(res$message, "No assays eligible for this experiment, please make sure to add normalized assays") # Choose another experiment. - app$set_inputs(!!ns("experiment-name") := "hd2") + app$set_module_input("experiment-name", "hd2") app$wait_for_idle() - res <- app$get_value(input = ns("assay-name")) + res <- app$get_active_module_input("assay-name") expect_identical(res, "cpm") # Choose a gene signature. - app$set_inputs(!!ns("genes-genes") := c("GeneID:10061", "GeneID:28")) + app$set_module_input("genes-genes", c("GeneID:10061", "GeneID:28")) app$wait_for_idle() # Choose an endpoint. - res <- app$get_value(output = ns("table")) + res <- app$get_active_module_output("table") expect_identical(res$message, "please select an endpoint") - app$set_inputs(!!ns("adtte-paramcd") := "PFS") + app$set_module_input("adtte-paramcd", "PFS") app$wait_for_idle() - res <- app$get_value(output = ns("table")) + res <- app$get_active_module_output("table") expect_snapshot( cat(res) ) diff --git a/tests/testthat/test-pca.R b/tests/testthat/test-pca.R index 8fe6205b..2ae584d2 100644 --- a/tests/testthat/test-pca.R +++ b/tests/testthat/test-pca.R @@ -29,207 +29,206 @@ test_that("pca module works as expected in the test app", { ) app$wait_for_idle(timeout = 20000) - ns <- module_ns_shiny2(app) + # Check initial state of encodings. - res <- app$get_value(input = ns("experiment-name")) + res <- app$get_active_module_input("experiment-name") expect_identical(res, "hd1") - res <- app$get_value(input = ns("assay-name")) + res <- app$get_active_module_input("assay-name") expect_identical(res, "counts") - res <- app$get_value(input = ns("tab_selected")) + res <- app$get_active_module_input("tab_selected") expect_identical(res, "PCA") - res <- app$get_value(input = ns("x_var")) + res <- app$get_active_module_input("x_var") expect_identical(res, "1") - res <- app$get_value(input = ns("y_var")) + res <- app$get_active_module_input("y_var") expect_identical(res, "2") - res <- app$get_value(input = ns("var_pct")) + res <- app$get_active_module_input("var_pct") expect_true(res) - res <- app$get_value(input = ns("label")) + res <- app$get_active_module_input("label") expect_true(res) - res <- app$get_value(input = ns("show_matrix")) + res <- app$get_active_module_input("show_matrix") expect_true(res) - res <- app$get_value(output = ns("test_pca")) + res <- app$get_active_module_output("test_pca") expect_snapshot( cat(res) ) # Add a gene filter and deselect everything and check that it does not crash. - app$set_inputs(!!ns2("add-MAE-hd1-row_to_add") := "symbol") + app$set_module_input("add-MAE-hd1-row_to_add", "symbol") app$wait_for_idle() - app$set_inputs(!!ns2("active-MAE-hd1-MAE_symbol_hd1_subset-inputs-selection_open") := TRUE, allow_no_input_binding_ = TRUE) - app$set_inputs(!!ns2("active-MAE-hd1-MAE_symbol_hd1_subset-inputs-selection") := character()) - app$set_inputs(!!ns2("active-MAE-hd1-MAE_symbol_hd1_subset-inputs-selection_open") := FALSE, allow_no_input_binding_ = TRUE) + app$set_module_input("active-MAE-hd1-MAE_symbol_hd1_subset-inputs-selection_open", TRUE, allow_no_input_binding_ = TRUE) + app$set_module_input("active-MAE-hd1-MAE_symbol_hd1_subset-inputs-selection", character()) + app$set_module_input("active-MAE-hd1-MAE_symbol_hd1_subset-inputs-selection_open", FALSE, allow_no_input_binding_ = TRUE) app$wait_for_idle() - res <- app$get_value(output = ns("test_pca")) + res <- app$get_active_module_output("test_pca") expect_match(res$message, "No genes or samples included in this experiment, please adjust filters") # Remove filters - app$click(ns2("active-MAE-hd1-MAE_symbol_hd1_subset-remove")) + app$click(sprintf("%s-%s", app$active_filters_ns(), "active-MAE-hd1-MAE_symbol_hd1_subset-remove")) # Update the tab selection. - app$set_inputs(!!ns("tab_selected") := "PC and Sample Correlation") + app$set_module_input("tab_selected", "PC and Sample Correlation") app$wait_for_idle() - res <- app$get_value(input = ns("experiment-name")) + res <- app$get_active_module_input("experiment-name") expect_identical(res, "hd1") - res <- app$get_value(input = ns("assay-name")) + res <- app$get_active_module_input("assay-name") expect_identical(res, "counts") - res <- app$get_value(input = ns("cluster_columns")) + res <- app$get_active_module_input("cluster_columns") expect_false(res) - res <- app$get_value(input = ns("show_matrix")) + res <- app$get_active_module_input("show_matrix") expect_true(res) - res <- app$get_value(output = ns("test_cor")) + res <- app$get_active_module_output("test_cor") expect_snapshot( cat(res) ) # Now update experiment name, assay name, cluster & matrix option on correlation tab. - app$set_inputs(!!ns("experiment-name") := "hd2") - app$set_inputs(!!ns("assay-name") := "voom") - app$set_inputs(!!ns("cluster_columns") := TRUE) - app$set_inputs(!!ns("show_matrix") := FALSE) + app$set_module_input("experiment-name", "hd2") + app$set_module_input("assay-name", "voom") + app$set_module_input("cluster_columns", TRUE) + app$set_module_input("show_matrix", FALSE) app$wait_for_idle() - res <- app$get_value(output = ns("test_cor")) + res <- app$get_active_module_output("test_cor") expect_snapshot( cat(res) ) # Now go back to pca tab and update experiment, assay name, variance % option, # label option and matrix option. - app$set_inputs(!!ns("tab_selected") := "PCA") - app$set_inputs(!!ns("assay-name") := "rpkm") - app$set_inputs(!!ns("x_var") := "3") - app$set_inputs(!!ns("y_var") := "4") - app$set_inputs(!!ns("var_pct") := FALSE) - app$set_inputs(!!ns("label") := FALSE) + app$set_module_input("tab_selected", "PCA") + app$set_module_input("assay-name", "rpkm") + app$set_module_input("x_var", "3") + app$set_module_input("y_var", "4") + app$set_module_input("var_pct", FALSE) + app$set_module_input("label", FALSE) app$wait_for_idle() - res <- app$get_value(output = ns("test_pca")) + res <- app$get_active_module_output("test_pca") expect_snapshot( cat(res) ) # Update experiment / assay (ensure xvar and yvar revert back to PC1 and PC2, assay to counts) # and add color for pca. - app$set_inputs(!!ns("experiment-name") := "hd1") + app$set_module_input("experiment-name", "hd1") app$wait_for_idle() - app$set_inputs(!!ns("color-sample_var") := "AGE18") + app$set_module_input("color-sample_var", "AGE18") app$wait_for_idle() - res <- app$get_value(input = ns("assay-name")) + res <- app$get_active_module_input("assay-name") expect_identical(res, "counts") - res <- app$get_value(input = ns("x_var")) + res <- app$get_active_module_input("x_var") expect_identical(res, "1") - res <- app$get_value(input = ns("y_var")) + res <- app$get_active_module_input("y_var") expect_identical(res, "2") - res <- app$get_value(input = ns("var_pct")) + res <- app$get_active_module_input("var_pct") expect_false(res) - res <- app$get_value(input = ns("label")) + res <- app$get_active_module_input("label") expect_false(res) - res <- app$get_value(input = ns("show_matrix")) + res <- app$get_active_module_input("show_matrix") expect_false(res) # Update xvar yvar in pca to be the same for a validate msg. - app$set_inputs( - !!ns("x_var") := "2", - !!ns("y_var") := "2" - ) + app$set_module_input("x_var", "2") + app$set_module_input("y_var", "2") + res <- app$wait_for_value(output = ns("plot_pca-plot_main")) expect_identical(res$message, "please select two different principal components") # Update the inputs to PCA tab, hd1, counts, PC3, PC4, and add filters. - app$set_inputs(!!ns("x_var") := "3") - app$set_inputs(!!ns("y_var") := "4") - app$set_inputs(!!ns("var_pct") := TRUE) - app$set_inputs(!!ns("label") := TRUE) - app$set_inputs(!!ns("show_matrix") := TRUE) + app$set_module_input("x_var", "3") + app$set_module_input("y_var", "4") + app$set_module_input("var_pct", TRUE) + app$set_module_input("label", TRUE) + app$set_module_input("show_matrix", TRUE) - app$set_inputs(!!ns2("add-MAE-subjects-var_to_add") := "SEX") + app$set_module_input("add-MAE-subjects-var_to_add", "SEX") app$wait_for_idle(timeout = 40000) - app$set_inputs(!!ns2("active-MAE-subjects-MAE_SEX-inputs-selection") := "M") + app$set_module_input("active-MAE-subjects-MAE_SEX-inputs-selection", "M") # Ensure xvar and yvar get resetted to pc1 and pc2. app$wait_for_idle(timeout = 20000) - res <- app$get_value(input = ns("x_var")) + res <- app$get_active_module_input("x_var") expect_identical(res, "1") - res <- app$get_value(input = ns("y_var")) + res <- app$get_active_module_input("y_var") expect_identical(res, "2") - res <- app$get_value(output = ns("test_pca")) + res <- app$get_active_module_output("test_pca") expect_snapshot( cat(res) ) # Update to cor tab. - app$set_inputs(!!ns2("active-MAE-subjects-MAE_SEX-inputs-selection_open") := TRUE, allow_no_input_binding_ = TRUE) - app$set_inputs(!!ns2("active-MAE-subjects-MAE_SEX-inputs-selection") := "F") - app$set_inputs(!!ns2("active-MAE-subjects-MAE_SEX-inputs-selection_open") := FALSE, allow_no_input_binding_ = TRUE) + app$set_module_input("active-MAE-subjects-MAE_SEX-inputs-selection_open", TRUE, allow_no_input_binding_ = TRUE) + app$set_module_input("active-MAE-subjects-MAE_SEX-inputs-selection", "F") + app$set_module_input("active-MAE-subjects-MAE_SEX-inputs-selection_open", FALSE, allow_no_input_binding_ = TRUE) app$wait_for_idle() - res <- app$get_value(output = ns("test_pca")) + res <- app$get_active_module_output("test_pca") expect_identical(res$message, "Sample size is too small. PCA needs more than 2 samples.") # Remove filter. - app$click(ns2("active-MAE-subjects-MAE_SEX-remove")) + app$click(sprintf("%s-%s", app$active_filters_ns(), "active-MAE-subjects-MAE_SEX-remove")) # Initiate the use of Top Variance Genes filtering functionality. - app$set_inputs(!!ns("filter_top") := TRUE) + app$set_module_input("filter_top", TRUE) res <- app$wait_for_value(input = ns("n_top")) expect_identical(res, 500L) - res <- app$get_value(output = ns("test_pca")) + res <- app$get_active_module_output("test_pca") expect_snapshot( cat(res) ) # Change the number of top genes. - app$set_inputs(!!ns("n_top") := 777L) + app$set_module_input("n_top", 777L) # Change to another experiment and check that it did not change. - app$set_inputs(!!ns("experiment-name") := "hd2") + app$set_module_input("experiment-name", "hd2") app$wait_for_idle() - res <- app$get_value(input = ns("n_top")) + res <- app$get_active_module_input("n_top") expect_identical(res, 777L) # Increase number of top genes to maximum. - app$set_inputs(!!ns("n_top") := 2500L) + app$set_module_input("n_top", 2500L) app$wait_for_idle() - res <- app$get_value(output = ns("test_pca")) + res <- app$get_active_module_output("test_pca") expect_snapshot( cat(res) ) # Switch off gene filtering and check that table is still the same. - app$set_inputs(!!ns("filter_top") := FALSE) + app$set_module_input("filter_top", FALSE) app$wait_for_idle() - res <- app$get_value(output = ns("test_pca")) + res <- app$get_active_module_output("test_pca") expect_snapshot( cat(res) ) # Go back to first experiment and check that n_top stayed the same. - app$set_inputs(!!ns("experiment-name") := "hd1") + app$set_module_input("experiment-name", "hd1") res <- app$wait_for_value(input = ns("n_top")) expect_identical(res, 2500L) app$stop() diff --git a/tests/testthat/test-quality.R b/tests/testthat/test-quality.R index e51968b1..56b92ee4 100644 --- a/tests/testthat/test-quality.R +++ b/tests/testthat/test-quality.R @@ -30,33 +30,33 @@ test_that("quality module works as expected in the test app", { ) app$wait_for_idle(timeout = 20000) - ns <- module_ns_shiny2(app) + # Check initial state of encodings. - res <- app$get_value(input = ns("experiment-name")) + res <- app$get_active_module_input("experiment-name") expect_identical(res, "hd1") - res <- app$get_value(input = ns("assay-name")) + res <- app$get_active_module_input("assay-name") expect_identical(res, "counts") - res <- app$get_value(input = ns("plot_type")) + res <- app$get_active_module_input("plot_type") expect_identical(res, "Histogram") # Check that warning message for at least 2 genes works as expected. - app$set_inputs(!!ns("min_cpm") := 54356) + app$set_module_input("min_cpm", 54356) res <- app$wait_for_value(output = ns("table")) expect_identical(res$message, "Please change gene filters to ensure that there are at least 2 genes") # Initial plot. - res <- app$get_value(output = ns("table")) + res <- app$get_active_module_output("table") expect_snapshot( res ) # Choose another experiment. - app$set_inputs(!!ns("experiment-name") := "hd3") - app$set_inputs(!!ns("min_depth") := "Specify") + app$set_module_input("experiment-name", "hd3") + app$set_module_input("min_depth", "Specify") # Check state of encodings again. res <- app$wait_for_value(input = ns("min_cpm")) @@ -66,16 +66,16 @@ test_that("quality module works as expected in the test app", { expect_identical(res, 1777260L) # Final histogram plot. - res <- app$get_value(output = ns("table")) + res <- app$get_active_module_output("table") expect_snapshot( cat(res) ) # Change to another plot type so that we can choose another assay. - app$set_inputs(!!ns("plot_type") := "Top Genes Plot") - app$set_inputs(!!ns("assay-name") := "cpm") + app$set_module_input("plot_type", "Top Genes Plot") + app$set_module_input("assay-name", "cpm") app$wait_for_idle(timeout = 30000) - res <- app$get_value(output = ns("table")) + res <- app$get_active_module_output("table") expect_snapshot( cat(res) ) diff --git a/tests/testthat/test-sampleVarSpec.R b/tests/testthat/test-sampleVarSpec.R index ce2b8ca7..c0851e6a 100644 --- a/tests/testthat/test-sampleVarSpec.R +++ b/tests/testthat/test-sampleVarSpec.R @@ -180,18 +180,18 @@ test_that("sampleVarSpec module works as expected in the test app", { ) app$wait_for_idle(timeout = 20000) - ns <- module_ns_shiny2(app) + # Initially no variable is selected. - res <- app$get_value(input = ns("facet_var-sample_var")) + res <- app$get_active_module_input("facet_var-sample_var") expect_null(res) # Select a variable. - app$set_inputs(!!ns("facet_var-sample_var") := "AGE18") + app$set_module_input("facet_var-sample_var", "AGE18") app$wait_for_idle() # Check the output and which levels are reported there. - res <- app$get_value(output = ns("summary")) + res <- app$get_active_module_output("summary") expect_match(as.character(res), " < 18 >= 18 \n 4 1 ") # Filter panel works as expected @@ -200,11 +200,11 @@ test_that("sampleVarSpec module works as expected in the test app", { app$set_inputs("teal-main_ui-filter_panel-active-MAE-subjects-MAE_AGE18-inputs-selection" = "< 18") app$wait_for_idle() - res <- app$get_value(output = ns("summary")) + res <- app$get_active_module_output("summary") expect_equal(res, "< 18 \n 4 ") app$click("teal-main_ui-filter_panel-active-MAE-subjects-MAE_AGE18-remove") - res <- app$get_value(output = ns("summary")) + res <- app$get_active_module_output("summary") expect_equal(res, " < 18 >= 18 \n 4 1 ") # Now click on the levels button, set combination and click ok. @@ -212,13 +212,13 @@ test_that("sampleVarSpec module works as expected in the test app", { # Click on second column in both rows. app$wait_for_idle() - app$set_inputs(!!ns("facet_var-comb_assignment") := list("< 18" = "2", ">= 18" = "2")) + app$set_module_input("facet_var-comb_assignment", list("< 18" = "2", ">= 18" = "2")) app$wait_for_idle() app$click(ns("facet_var-ok")) app$wait_for_idle() # Check the output and which levels are reported there. - res <- app$get_value(output = ns("summary")) + res <- app$get_active_module_output("summary") expect_match(res, "< 18/>= 18 \n 5 ") app$stop() }) diff --git a/tests/testthat/test-scatterplot.R b/tests/testthat/test-scatterplot.R index 9495d235..4b2fc9d5 100644 --- a/tests/testthat/test-scatterplot.R +++ b/tests/testthat/test-scatterplot.R @@ -34,63 +34,63 @@ test_that("scatterplot module works as expected in the test app", { ) app$wait_for_idle(timeout = 20000) - ns <- module_ns_shiny2(app) + # check initialization - res <- app$get_value(input = ns("experiment-name")) + res <- app$get_active_module_input("experiment-name") expect_identical(res, "hd1") - res <- app$get_value(output = ns("table")) + res <- app$get_active_module_output("table") expect_identical(res$message, "No assays eligible for this experiment, please make sure to add normalized assays") # Choose another experiment. - app$set_inputs(!!ns("experiment-name") := "hd2") + app$set_module_input("experiment-name", "hd2") res <- app$wait_for_value(input = ns("assay-name")) expect_identical(res, "cpm") app$wait_for_idle() - res <- app$get_value(input = ns("x_spec-genes")) + res <- app$get_active_module_input("x_spec-genes") expect_null(res) - res <- app$get_value(input = ns("y_spec-genes")) + res <- app$get_active_module_input("y_spec-genes") expect_null(res) - res <- app$get_value(output = ns("table")) + res <- app$get_active_module_output("table") expect_identical(res$message, "please select at least one gene") # Set one gene each. - app$set_inputs(!!ns("x_spec-genes") := "GeneID:503538") - app$set_inputs(!!ns("y_spec-genes") := "GeneID:8086") + app$set_module_input("x_spec-genes", "GeneID:503538") + app$set_module_input("y_spec-genes", "GeneID:8086") app$wait_for_idle() # Change the sample filter and confirm that genes are not updated. - app$set_inputs(!!ns2("add-MAE-subjects-var_to_add") := "SEX") - app$set_inputs(!!ns2("active-MAE-subjects-MAE_SEX-inputs-selection") := "F") + app$set_module_input("add-MAE-subjects-var_to_add", "SEX") + app$set_module_input("active-MAE-subjects-MAE_SEX-inputs-selection", "F") - res <- app$get_value(input = ns("x_spec-genes")) + res <- app$get_active_module_input("x_spec-genes") expect_identical(res, "GeneID:503538") res <- app$wait_for_value(input = ns("y_spec-genes")) expect_identical(res, "GeneID:8086") # Remove sample filter - app$click(ns2("active-MAE-subjects-MAE_SEX-remove")) + app$click(sprintf("%s-%s", app$active_filters_ns(), "active-MAE-subjects-MAE_SEX-remove")) app$wait_for_idle() - res <- app$get_value(input = ns("x_spec-genes")) + res <- app$get_active_module_input("x_spec-genes") expect_identical(res, "GeneID:503538") res <- app$wait_for_value(input = ns("y_spec-genes")) expect_identical(res, "GeneID:8086") # Now change the experiment_name, genes, method. - app$set_inputs(!!ns("experiment-name") := "hd2") - app$set_inputs(!!ns("x_spec-genes") := "GeneID:441376") - app$set_inputs(!!ns("y_spec-genes") := "GeneID:79963") - app$set_inputs(!!ns("smooth_method") := "loess") - app$set_inputs(!!ns("facet_var-sample_var") := "AGE18") + app$set_module_input("experiment-name", "hd2") + app$set_module_input("x_spec-genes", "GeneID:441376") + app$set_module_input("y_spec-genes", "GeneID:79963") + app$set_module_input("smooth_method", "loess") + app$set_module_input("facet_var-sample_var", "AGE18") app$wait_for_idle() - res <- app$get_value(output = ns("table")) + res <- app$get_active_module_output("table") expect_snapshot( cat(res) ) diff --git a/tests/testthat/test-shinytest2-adtteSpec.R b/tests/testthat/test-shinytest2-adtteSpec.R new file mode 100644 index 00000000..07d996ed --- /dev/null +++ b/tests/testthat/test-shinytest2-adtteSpec.R @@ -0,0 +1,58 @@ +# nolint start + +test_that("adtteSpecServer module works as expected in the test app", { + skip_if_covr() + skip_if_too_deep(5) + + app <- AppDriver$new( + app_dir = test_path("adtteSpec"), + name = "adtteSpecServe", + variant = platform_variant(), + load_timeout = 300000 + ) + + app$wait_for_idle(timeout = 20000) + + + # check initialization + res <- app$get_values() + expect_equal(res$input[[ns("experiment-name")]], "hd1") + expect_equal(res$output[[ns("summary")]]$message, "please select at least one gene") + + # check correct message + app$set_module_input("genes-genes", "GeneID:28") + res <- app$get_active_module_output("summary") + expect_equal(res$message, "please select an endpoint") + + app$set_module_input("adtte-paramcd", "CRSD") + res <- app$get_active_module_output("summary") + expect_match(res, "CRSD") + + app$set_module_input("adtte-paramcd", "PFS") + res <- app$get_active_module_output("summary") + expect_match(res, "PFS") + + res <- app$get_active_module_input("adtte-paramcd") + + # Test what happens if selected endpoint (here PFS) is no longer in filtered data. + app$set_module_input("add-ADTTE-filter-var_to_add", "PARAMCD") + app$set_module_input("active-ADTTE-filter-ADTTE_PARAMCD-inputs-selection", "OS") + + app$wait_for_idle() + # We expect to get a validation message (also a notification box but we cannot test that) + res <- app$get_active_module_output("summary") + expect_equal(res$message, "please select an endpoint") + res <- app$get_active_module_input("adtte-paramcd") + expect_equal(res, "") + + # Now we update the filter by adding PFS back. However the user would have to + # actively select it. + app$set_module_input("active-ADTTE-filter-ADTTE_PARAMCD-inputs-selection", c("PFS", "OS")) + app$wait_for_idle() + res <- app$get_active_module_output("summary") + expect_equal(res$message, "please select an endpoint") + + app$stop() +}) + +# nolint end diff --git a/tests/testthat/test-volcanoplot.R b/tests/testthat/test-volcanoplot.R index aa82ab48..badd838a 100644 --- a/tests/testthat/test-volcanoplot.R +++ b/tests/testthat/test-volcanoplot.R @@ -29,31 +29,31 @@ test_that("volcanoplot module works as expected in the test app", { ) app$wait_for_idle(timeout = 20000) - ns <- module_ns_shiny2(app) + # check initialization - res <- app$get_value(input = ns("experiment-name")) + res <- app$get_active_module_input("experiment-name") expect_identical(res, "hd1") - res <- app$get_value(input = ns("compare_group-sample_var")) + res <- app$get_active_module_input("compare_group-sample_var") expect_null(res) # check initial message - res <- app$get_value(output = ns("test")) + res <- app$get_active_module_output("test") expect_identical(res$message, "Please select a group variable") # Select an initial group variable. - app$set_inputs(!!ns("compare_group-sample_var") := "AGE18") + app$set_module_input("compare_group-sample_var", "AGE18") app$wait_for_idle(timeout = 30000) - res <- app$get_value(output = ns("test")) + res <- app$get_active_module_output("test") expect_snapshot(cat(res)) # Now change the log2_fc_thresh and check that the plot is updated accordingly. - app$set_inputs(!!ns("log2_fc_thresh") := 8) + app$set_module_input("log2_fc_thresh", 8) app$wait_for_idle(timeout = 30000) - res <- app$get_value(output = ns("test")) + res <- app$get_active_module_output("test") expect_snapshot(cat(res)) app$stop() }) From 94144ae575b0c755b1f303280f705514467dd3c0 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 29 Mar 2024 18:42:05 +0530 Subject: [PATCH 2/3] replacing appDriver with TealAppDriver --- tests/testthat/_snaps/barplot.md | 23 - tests/testthat/_snaps/boxplot.md | 28 - tests/testthat/_snaps/forest.md | 12 - tests/testthat/_snaps/km.md | 260 -- tests/testthat/_snaps/pca.md | 110 - tests/testthat/_snaps/quality.md | 111 - tests/testthat/_snaps/scatterplot.md | 5 - tests/testthat/_snaps/volcanoplot.md | 4016 ----------------- tests/testthat/adtteSpec/.gitignore | 2 - tests/testthat/adtteSpec/app.R | 92 - tests/testthat/assaySpec/app.R | 64 - tests/testthat/barplot/app.R | 3 - tests/testthat/boxplot/app.R | 3 - tests/testthat/experimentSpec/app.R | 76 - tests/testthat/forest_tte/app.R | 3 - tests/testthat/geneSpec/app.R | 67 - tests/testthat/km/app.R | 3 - tests/testthat/pca/app.R | 3 - tests/testthat/quality/app.R | 3 - tests/testthat/sampleVarSpec/app.R | 59 - tests/testthat/scatterplot/app.R | 3 - tests/testthat/test-assaySpec.R | 47 - tests/testthat/test-experimentSpec.R | 134 - tests/testthat/test-forest.R | 72 - tests/testthat/test-geneSpec.R | 101 - tests/testthat/test-km.R | 70 - tests/testthat/test-sampleVarSpec.R | 126 - tests/testthat/test-shinytest2-adtteSpec.R | 89 +- tests/testthat/test-shinytest2-assaySpec.R | 97 + tests/testthat/test-shinytest2-barplot.R | 111 + tests/testthat/test-shinytest2-boxplot.R | 80 + .../testthat/test-shinytest2-experimentSpec.R | 175 + tests/testthat/test-shinytest2-forest.R | 100 + tests/testthat/test-shinytest2-geneSpec.R | 151 + tests/testthat/test-shinytest2-km.R | 101 + .../{test-pca.R => test-shinytest2-pca.R} | 39 +- ...st-quality.R => test-shinytest2-quality.R} | 49 +- .../testthat/test-shinytest2-sampleVarSpec.R | 159 + ...erplot.R => test-shinytest2-scatterplot.R} | 49 +- ...noplot.R => test-shinytest2-volcanoplot.R} | 44 +- tests/testthat/volcanoplot/app.R | 3 - 41 files changed, 1170 insertions(+), 5573 deletions(-) delete mode 100644 tests/testthat/_snaps/barplot.md delete mode 100644 tests/testthat/_snaps/boxplot.md delete mode 100644 tests/testthat/_snaps/forest.md delete mode 100644 tests/testthat/_snaps/km.md delete mode 100644 tests/testthat/_snaps/pca.md delete mode 100644 tests/testthat/_snaps/quality.md delete mode 100644 tests/testthat/_snaps/scatterplot.md delete mode 100644 tests/testthat/_snaps/volcanoplot.md delete mode 100644 tests/testthat/adtteSpec/.gitignore delete mode 100644 tests/testthat/adtteSpec/app.R delete mode 100644 tests/testthat/assaySpec/app.R delete mode 100644 tests/testthat/barplot/app.R delete mode 100644 tests/testthat/boxplot/app.R delete mode 100644 tests/testthat/experimentSpec/app.R delete mode 100644 tests/testthat/forest_tte/app.R delete mode 100644 tests/testthat/geneSpec/app.R delete mode 100644 tests/testthat/km/app.R delete mode 100644 tests/testthat/pca/app.R delete mode 100644 tests/testthat/quality/app.R delete mode 100644 tests/testthat/sampleVarSpec/app.R delete mode 100644 tests/testthat/scatterplot/app.R delete mode 100644 tests/testthat/test-forest.R delete mode 100644 tests/testthat/test-km.R create mode 100644 tests/testthat/test-shinytest2-assaySpec.R create mode 100644 tests/testthat/test-shinytest2-barplot.R create mode 100644 tests/testthat/test-shinytest2-boxplot.R create mode 100644 tests/testthat/test-shinytest2-experimentSpec.R create mode 100644 tests/testthat/test-shinytest2-forest.R create mode 100644 tests/testthat/test-shinytest2-geneSpec.R create mode 100644 tests/testthat/test-shinytest2-km.R rename tests/testthat/{test-pca.R => test-shinytest2-pca.R} (91%) rename tests/testthat/{test-quality.R => test-shinytest2-quality.R} (66%) create mode 100644 tests/testthat/test-shinytest2-sampleVarSpec.R rename tests/testthat/{test-scatterplot.R => test-shinytest2-scatterplot.R} (71%) rename tests/testthat/{test-volcanoplot.R => test-shinytest2-volcanoplot.R} (58%) delete mode 100644 tests/testthat/volcanoplot/app.R diff --git a/tests/testthat/_snaps/barplot.md b/tests/testthat/_snaps/barplot.md deleted file mode 100644 index 1340fd5c..00000000 --- a/tests/testthat/_snaps/barplot.md +++ /dev/null @@ -1,23 +0,0 @@ -# barplot module works as expected in the test app - - Code - cat(res) - Output - 'data.frame': 3 obs. of 16 variables: - $ y : num 1 3 1 - $ count : num 1 3 1 - $ prop : num 1 1 1 - $ x : 'mapped_discrete' num 1 2 3 - $ flipped_aes: logi FALSE FALSE FALSE - $ PANEL : Factor w/ 2 levels "1","2": 1 1 2 - $ group : int 1 2 3 - $ ymin : num 0 0 0 - $ ymax : num 1 3 1 - $ xmin : 'mapped_discrete' num 0.55 1.55 2.55 - $ xmax : 'mapped_discrete' num 1.45 2.45 3.45 - $ colour : logi NA NA NA - $ fill : chr "grey35" "grey35" "grey35" - $ linewidth : num 0.5 0.5 0.5 - $ linetype : num 1 1 1 - $ alpha : logi NA NA NA - diff --git a/tests/testthat/_snaps/boxplot.md b/tests/testthat/_snaps/boxplot.md deleted file mode 100644 index ab184a4f..00000000 --- a/tests/testthat/_snaps/boxplot.md +++ /dev/null @@ -1,28 +0,0 @@ -# boxplot module works as expected in the test app - - Code - cat(res) - Output - 'data.frame': 512 obs. of 21 variables: - $ fill : chr "#F8766D" "#F8766D" "#F8766D" "#F8766D" ... - $ x : 'mapped_discrete' num 1 1 1 1 1 1 1 1 1 1 ... - $ density : num 0.000161 0.000161 0.000161 0.00016 0.00016 ... - $ scaled : num 0.492 0.492 0.492 0.492 0.492 ... - $ ndensity : num 0.492 0.492 0.492 0.492 0.492 ... - $ count : num 0.000642 0.000642 0.000642 0.000642 0.000641 ... - $ n : int 4 4 4 4 4 4 4 4 4 4 ... - $ y : num 650 659 667 676 684 ... - $ PANEL : Factor w/ 1 level "1": 1 1 1 1 1 1 1 1 1 1 ... - $ group : int 1 1 1 1 1 1 1 1 1 1 ... - $ violinwidth: num 0.492 0.492 0.492 0.492 0.492 ... - $ flipped_aes: logi FALSE FALSE FALSE FALSE FALSE FALSE ... - $ width : num 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 ... - $ xmin : 'mapped_discrete' num 0.55 0.55 0.55 0.55 0.55 0.55 0.55 0.55 0.55 0.55 ... - $ xmax : 'mapped_discrete' num 1.45 1.45 1.45 1.45 1.45 1.45 1.45 1.45 1.45 1.45 ... - $ ymax : num 650 659 667 676 684 ... - $ weight : num 1 1 1 1 1 1 1 1 1 1 ... - $ colour : chr "grey20" "grey20" "grey20" "grey20" ... - $ linewidth : num 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 ... - $ alpha : logi NA NA NA NA NA NA ... - $ linetype : chr "solid" "solid" "solid" "solid" ... - diff --git a/tests/testthat/_snaps/forest.md b/tests/testthat/_snaps/forest.md deleted file mode 100644 index 48d05924..00000000 --- a/tests/testthat/_snaps/forest.md +++ /dev/null @@ -1,12 +0,0 @@ -# forest_tte module works as expected in the test app - - Code - cat(res) - Output - spl_var_1 spl_value_1 avar_name row_name label_name row_num - 1 row_type content All Patients All Patients 1 - is_group_summary node_class V1 V2 V3 V4 V5 V6 V7 - 1 TRUE ContentRow 6 5 3 420.3845.... 4 3 248.5370.... - V8 V9 - 1 5.693846.... 0.587431.... - diff --git a/tests/testthat/_snaps/km.md b/tests/testthat/_snaps/km.md deleted file mode 100644 index 32ea74b0..00000000 --- a/tests/testthat/_snaps/km.md +++ /dev/null @@ -1,260 +0,0 @@ -# km module works as expected in the test app - - Code - cat(res) - Output - $binned_adtte - USUBJID low_depth_flag tech_failure_flag Filename - 3 AB12345-CHN-1-id-307 FALSE FALSE eset - 9 AB12345-CHN-15-id-201 FALSE FALSE eset - 11 AB12345-CHN-4-id-73 FALSE FALSE eset - 18 AB12345-CHN-7-id-28 FALSE FALSE eset - 24 AB12345-NGA-11-id-173 TRUE FALSE eset - 30 AB12345-PAK-11-id-268 FALSE FALSE eset - 34 AB12345-RUS-1-id-52 FALSE FALSE eset - 39 AB12345-USA-1-id-261 FALSE FALSE eset - 41 AB12345-USA-1-id-45 FALSE FALSE eset - AGEGRP AGE18 STDDRS - 3 12 - <18 years < 18 DEATH - 9 >= 18 years >= 18 DEATH - 11 6 - <12 years < 18 DEATH - 18 12 - <18 years < 18 - 24 6 - <12 years < 18 DEATH - 30 >= 18 years >= 18 WITHDRAWAL BY SUBJECT - 34 6 - <12 years < 18 DEATH - 39 12 - <18 years < 18 - 41 >= 18 years >= 18 DEATH - STDDRSD STDSSDT TRTDRS - 3 DEATH DUE TO PROGRESSION OF DISEASE 07/24/2016 PROGRESSIVE DISEASE - 9 DEATH DUE TO PROGRESSION OF DISEASE 08/12/2016 PROGRESSIVE DISEASE - 11 DEATH DUE TO PROGRESSION OF DISEASE 04/19/2016 PROGRESSIVE DISEASE - 18 PROGRESSIVE DISEASE - 24 DEATH DUE TO PROGRESSION OF DISEASE 09/11/2016 PROGRESSIVE DISEASE - 30 WITHDRAWAL BY SUBJECT 07/05/2016 WITHDRAWAL BY SUBJECT - 34 DEATH DUE TO PROGRESSION OF DISEASE 10/23/2016 PROGRESSIVE DISEASE - 39 PROGRESSIVE DISEASE - 41 DEATH DUE TO PROGRESSION OF DISEASE 01/08/2016 PROGRESSIVE DISEASE - TRTDRSD BHDCIRC BHDCIRCU ADAFL BLANP BKPS BLKS BTANNER - 3 PROGRESSION OF DISEASE NA Y NA 80 80 NA - 9 PROGRESSION OF DISEASE NA Y NA 90 90 NA - 11 PROGRESSION OF DISEASE NA Y 70 NA 70 NA - 18 PROGRESSION OF DISEASE NA Y NA 90 90 NA - 24 PROGRESSION OF DISEASE NA Y NA 100 100 NA - 30 WITHDRAWAL BY SUBJECT NA Y 70 NA 70 NA - 34 PROGRESSION OF DISEASE NA Y 100 NA 100 NA - 39 PROGRESSION OF DISEASE NA Y NA 90 90 NA - 41 PROGRESSION OF DISEASE NA Y NA 90 90 NA - FRPST DURIDX DURSAF DURSUR LNTHRPY AENCIFL STUDYID - 3 POST-MENARCHAL 61.66735 1.6755647 5.1581109 5 NA AB12345 - 9 10.84189 0.9856263 3.0554415 4 NA AB12345 - 11 45.66735 1.6755647 3.1540041 10 NA AB12345 - 18 POST-MENARCHAL 19.54825 1.7412731 9.6919918 4 NA AB12345 - 24 99.28542 3.5811088 6.3408624 7 NA AB12345 - 30 16.09856 0.9856263 0.6899384 2 NA AB12345 - 34 PRE-MENARCHAL NA 1.6755647 10.9404517 3 NA AB12345 - 39 41.62628 1.6755647 18.8583162 3 NA AB12345 - 41 45.73306 0.6570842 2.2997947 2 NA AB12345 - RFSTDTC RFENDTC RFXSTDTC RFXENDTC - 3 2016-03-10T14:05 2016-03-31T15:49 2016-03-10T14:05 2016-03-31T15:49 - 9 2016-05-31T14:10 2016-05-31T14:10 2016-05-31T14:10 2016-05-31T14:10 - 11 2016-01-25T14:15 2016-02-15T10:40 2016-01-25T14:15 2016-02-15T10:40 - 18 2016-12-06T13:09 2016-12-29T15:46 2016-12-06T13:09 2016-12-29T15:46 - 24 2016-03-21T15:40 2016-06-08T18:00 2016-03-21T15:40 2016-06-08T18:00 - 30 2016-06-15T12:45 2016-06-15T12:45 2016-06-15T12:45 2016-06-15T12:45 - 34 2015-12-01T12:25 2015-12-22T14:10 2015-12-01T12:25 2015-12-22T14:10 - 39 2016-02-08T12:37 2016-02-29T14:15 2016-02-08T12:37 2016-02-29T14:15 - 41 2015-11-05T11:00 2015-11-05T11:00 2015-11-05T11:00 2015-11-05T11:00 - RFICDTC RFPENDTC DTHDTC DTHFL SITEID INVID AGE AGEU SEX - 3 2016-02-18 2016-07-24 2016-07-24 Y 283495 223804 12 YEARS F - 9 2016-05-11 2016-08-12 2016-08-12 Y 282087 468105 27 YEARS F - 11 2016-01-14 2016-04-19 2016-04-19 Y 280959 20842 10 YEARS F - 18 2016-11-28 282703 301818 17 YEARS M - 24 2016-03-02 2016-09-11 2016-09-11 Y 283497 241874 7 YEARS F - 30 2016-06-14 2016-07-05 283662 244110 19 YEARS F - 34 2015-11-25 2016-10-23 2016-10-23 Y 283971 235545 11 YEARS F - 39 2016-02-01 281049 457179 16 YEARS F - 41 2015-10-30 2016-01-08 2016-01-08 Y 283971 235545 19 YEARS F - RACE ETHNIC ARMCD ARM ACTARMCD - 3 WHITE NOT HISPANIC OR LATINO COH3 COHORT 3 COH3 - 9 UNKNOWN NOT REPORTED COH9E COHORT 9E COH9E - 11 UNKNOWN NOT REPORTED COH3 COHORT 3 COH3 - 18 UNKNOWN NOT REPORTED COH2 COHORT 2 COH2 - 24 BLACK OR AFRICAN AMERICAN HISPANIC OR LATINO COH6 COHORT 6 COH6 - 30 ASIAN HISPANIC OR LATINO COH6 COHORT 6 COH6 - 34 WHITE NOT HISPANIC OR LATINO COH7A COHORT 7A COH7A - 39 ASIAN NOT HISPANIC OR LATINO COH1 COHORT 1 COH1 - 41 UNKNOWN HISPANIC OR LATINO COH6 COHORT 6 COH6 - ACTARM COUNTRY DMDTC DMDY BAGE BAGEU BWT BWTU BHT BHTU BBMI - 3 COHORT 3 CHN 2016-02-18 -21 12 YEARS 50.0 kg 157 cm 20.28480 - 9 COHORT 9 CHN 2016-05-25 -6 27 YEARS 61.6 kg 173 cm 20.58204 - 11 COHORT 3 CHN 2016-01-14 -11 10 YEARS 29.4 kg 148 cm 13.42221 - 18 COHORT 2 CHN 2016-11-28 -8 17 YEARS 38.2 kg 151 cm 16.75365 - 24 COHORT 6 NGA 2016-03-02 -19 7 YEARS 53.9 kg 176 cm 17.40057 - 30 COHORT 6 PAK 2016-06-14 -1 19 YEARS 51.0 kg 152 cm 22.07410 - 34 COHORT 7 RUS 2015-11-25 -6 11 YEARS 36.2 kg 130 cm 21.42012 - 39 COHORT 1 USA 2016-02-01 -7 16 YEARS 104.7 kg 172 cm 35.39075 - 41 COHORT 6 USA 2015-10-30 -6 19 YEARS 57.0 kg 172 cm 19.26717 - ITTFL SAFFL INFCODT RANDDT TRTSDTC TRTSDTM - 3 Y Y 2016-02-18 2016-03-09 2016-03-10T14:05 2016-03-10 14:05:00 - 9 Y Y 2016-05-11 2016-05-31 2016-05-31T14:10 2016-05-31 14:10:00 - 11 Y Y 2016-01-14 2016-01-22 2016-01-25T14:15 2016-01-25 14:15:00 - 18 Y Y 2016-11-28 2016-12-02 2016-12-06T13:09 2016-12-06 13:09:00 - 24 Y Y 2016-03-02 2016-03-21 2016-03-21T15:40 2016-03-21 15:40:00 - 30 Y Y 2016-06-14 2016-06-15 2016-06-15T12:45 2016-06-15 12:45:00 - 34 Y Y 2015-11-25 2015-12-01 2015-12-01T12:25 2015-12-01 12:25:00 - 39 Y Y 2016-02-01 2016-02-03 2016-02-08T12:37 2016-02-08 12:37:00 - 41 Y Y 2015-10-30 2015-11-05 2015-11-05T11:00 2015-11-05 11:00:00 - TRTSTMF TRTEDTM TRTETMF TRTDUR DISCSTUD DISCDEAT DISCAE DISTRTFL - 3 S 2016-03-31 16:55:59 S 22 Y Y N Y - 9 S 2016-05-31 15:10:59 S 1 Y Y N Y - 11 S 2016-02-15 11:10:59 S 22 Y Y N Y - 18 S 2016-12-29 16:19:59 S 24 N N N Y - 24 S 2016-06-08 18:30:59 S 80 Y Y N Y - 30 S 2016-06-15 13:45:59 S 1 Y N N Y - 34 S 2015-12-22 14:40:59 S 22 Y Y N Y - 39 S 2016-02-29 14:48:59 S 22 N N N Y - 41 S 2015-11-05 12:00:59 S 1 Y Y N Y - AEWITHFL ALIVDT - 3 N 2016-07-24 - 9 N 2016-08-12 - 11 N 2016-04-19 - 18 N 2017-09-19 - 24 N 2016-09-11 - 30 N 2016-07-05 - 34 N 2016-10-23 - 39 N 2017-08-28 - 41 N 2016-01-08 - COHORT - 3 Cohort 3 (NEUROBLASTOMA) - 9 Cohort 9 (OTHER TUMOR TYPES WITH DOCUMENTED PD-L1 EXPRESSION) - 11 Cohort 3 (NEUROBLASTOMA) - 18 Cohort 2 (HODGKIN LYMPHOMA) - 24 Cohort 6 (OSTEOSARCOMA) - 30 Cohort 6 (OSTEOSARCOMA) - 34 Cohort 7 (RHABDOMYOSARCOMA ) - 39 Cohort 1 (EWING SARCOMA) - 41 Cohort 6 (OSTEOSARCOMA) - TTYPE - 3 NEUROBLASTOMA - 9 GERM CELL TUMOR - YOLK SAC TUMOR (ENDODERMAL SINUS TUMOR) WITH DOCUMENTED PD-L1 EXPRESSION - 11 NEUROBLASTOMA - 18 HODGKIN LYMPHOMA - 24 OSTEOSARCOMA - 30 OSTEOSARCOMA - 34 RHABDOMYOSARCOMA - ALVEOLAR - 39 EWING SARCOMA - 41 OSTEOSARCOMA - STDSSDY SUBJID Mean.ABCF2..ABO. INVNAM TRT01P - 3 137 AB12345-CHN-1-id-307 7.673103 Dr. CHN-1 Doe B: Placebo - 9 74 AB12345-CHN-15-id-201 7.433943 Dr. CHN-15 Doe C: Combination - 11 86 AB12345-CHN-4-id-73 7.856089 Dr. CHN-4 Doe A: Drug X - 18 NA AB12345-CHN-7-id-28 7.454552 Dr. CHN-7 Doe B: Placebo - 24 175 AB12345-NGA-11-id-173 7.702519 Dr. NGA-11 Doe C: Combination - 30 21 AB12345-PAK-11-id-268 7.324474 Dr. PAK-11 Doe A: Drug X - 34 328 AB12345-RUS-1-id-52 7.410471 Dr. RUS-1 Doe A: Drug X - 39 NA AB12345-USA-1-id-261 7.662349 Dr. USA-1 Doe B: Placebo - 41 65 AB12345-USA-1-id-45 7.780904 Dr. USA-1 Doe A: Drug X - TRT01A TRT02P TRT02A REGION1 STRATA1 STRATA2 - 3 B: Placebo B: Placebo C: Combination Asia C S1 - 9 C: Combination B: Placebo C: Combination Asia C S2 - 11 A: Drug X B: Placebo C: Combination Asia A S1 - 18 B: Placebo B: Placebo B: Placebo Asia C S2 - 24 C: Combination B: Placebo A: Drug X Africa C S2 - 30 A: Drug X B: Placebo A: Drug X Asia C S2 - 34 A: Drug X B: Placebo C: Combination Eurasia C S2 - 39 B: Placebo B: Placebo B: Placebo North America C S1 - 41 A: Drug X A: Drug X A: Drug X North America C S1 - BMRKR1 BMRKR2 BMEASIFL BEP01FL TRT01SDTM TRT01EDTM - 3 4.5749910 LOW Y N 2019-03-11 08:01:26 2021-02-18 02:48:40 - 9 6.9067988 MEDIUM Y N 2019-03-05 15:24:07 2021-02-18 22:06:48 - 11 2.8631240 MEDIUM Y Y 2019-03-17 14:18:17 2021-02-14 13:35:43 - 18 11.1444470 MEDIUM N N 2019-03-11 09:11:52 2021-03-10 21:11:52 - 24 4.9972257 LOW Y Y 2019-03-10 09:35:30 2021-03-09 21:35:30 - 30 2.8201408 MEDIUM N N 2019-03-21 23:53:53 2021-03-21 11:53:53 - 34 7.2063482 HIGH N N 2019-03-18 09:38:55 2021-02-13 06:30:28 - 39 2.8551642 HIGH Y N 2019-03-06 17:21:21 2021-03-06 05:21:21 - 41 0.4635604 LOW N N 2019-03-06 06:32:29 2021-03-05 18:32:29 - TRT02SDTM TRT02EDTM AP01SDTM - 3 2021-02-18 02:48:40 2022-02-18 08:48:40 2019-03-11 08:01:26 - 9 2021-02-18 22:06:48 2022-02-19 04:06:48 2019-03-05 15:24:07 - 11 2021-02-14 13:35:43 2022-02-14 19:35:43 2019-03-17 14:18:17 - 18 2021-03-10 21:11:52 2022-03-11 03:11:52 2019-03-11 09:11:52 - 24 2021-03-09 21:35:30 2022-03-10 03:35:30 2019-03-10 09:35:30 - 30 2021-03-21 11:53:53 2022-03-21 17:53:53 2019-03-21 23:53:53 - 34 2021-02-13 06:30:28 2022-02-13 12:30:28 2019-03-18 09:38:55 - 39 2021-03-06 05:21:21 2022-03-06 11:21:21 2019-03-06 17:21:21 - 41 2021-03-05 18:32:29 2022-03-06 00:32:29 2019-03-06 06:32:29 - AP01EDTM AP02SDTM AP02EDTM EOSSTT - 3 2021-02-18 02:48:40 2021-02-18 02:48:40 2022-02-18 08:48:40 DISCONTINUED - 9 2021-02-18 22:06:48 2021-02-18 22:06:48 2022-02-19 04:06:48 DISCONTINUED - 11 2021-02-14 13:35:43 2021-02-14 13:35:43 2022-02-14 19:35:43 DISCONTINUED - 18 2021-03-10 21:11:52 2021-03-10 21:11:52 2022-03-11 03:11:52 COMPLETED - 24 2021-03-09 21:35:30 2021-03-09 21:35:30 2022-03-10 03:35:30 COMPLETED - 30 2021-03-21 11:53:53 2021-03-21 11:53:53 2022-03-21 17:53:53 COMPLETED - 34 2021-02-13 06:30:28 2021-02-13 06:30:28 2022-02-13 12:30:28 DISCONTINUED - 39 2021-03-06 05:21:21 2021-03-06 05:21:21 2022-03-06 11:21:21 COMPLETED - 41 2021-03-05 18:32:29 2021-03-05 18:32:29 2022-03-06 00:32:29 COMPLETED - EOTSTT EOSDT EOSDY DCSREAS DTHDT - 3 DISCONTINUED 2022-02-18 1076 DEATH 2022-04-06 - 9 DISCONTINUED 2022-02-19 1082 DEATH 2022-02-22 - 11 DISCONTINUED 2022-02-14 1066 LACK OF EFFICACY - 18 COMPLETED 2022-03-11 1096 - 24 COMPLETED 2022-03-10 1096 - 30 COMPLETED 2022-03-21 1096 - 34 DISCONTINUED 2022-02-13 1064 DEATH 2022-02-20 - 39 COMPLETED 2022-03-06 1096 - 41 COMPLETED 2022-03-06 1096 - DTHCAUS DTHCAT LDDTHELD LDDTHGR1 LSTALVDT DTHADY - 3 LOST TO FOLLOW UP OTHER 47 >30 2022-04-06 1121 - 9 ADVERSE EVENT ADVERSE EVENT 3 <=30 2022-02-22 1084 - 11 NA 2022-03-07 NA - 18 NA 2022-03-31 NA - 24 NA 2022-03-30 NA - 30 NA 2022-04-02 NA - 34 DISEASE PROGRESSION PROGRESSIVE DISEASE 7 <=30 2022-02-20 1069 - 39 NA 2022-03-30 NA - 41 NA 2022-03-30 NA - ADTHAUT ASEQ TTESEQ PARAM PARAMCD AVAL AVALU - 3 4 4 Progression Free Survival PFS 239.08590 DAYS - 9 Yes 2 2 Progression Free Survival PFS 248.53707 DAYS - 11 3 3 Progression Free Survival PFS 420.38459 DAYS - 18 3 3 Progression Free Survival PFS 30.04978 DAYS - 24 2 2 Progression Free Survival PFS 382.86110 DAYS - 30 1 1 Progression Free Survival PFS 326.40156 DAYS - 34 Yes 1 1 Progression Free Survival PFS 45.07870 DAYS - 39 2 2 Progression Free Survival PFS 899.41424 DAYS - 41 3 3 Progression Free Survival PFS 131.76520 DAYS - ADTM ADY CNSR EVNTDESC - 3 2022-02-16 08:01:26 1073 1 Last Tumor Assessment - 9 2020-04-05 15:24:07 397 0 Disease Progression - 11 2020-09-20 14:18:17 553 0 Death - 18 2020-10-02 09:11:52 571 1 Last Date Known To Be Alive - 24 2021-09-04 09:35:30 909 0 Disease Progression - 30 2019-12-14 23:53:53 268 1 Last Tumor Assessment - 34 2019-11-14 09:38:55 241 0 Disease Progression - 39 2020-07-15 17:21:21 497 0 Death - 41 2020-06-28 06:32:29 480 0 Death - CNSDTDSC lgTMATRSK is_event gene_factor - 3 Clinical Cut Off NA FALSE (50%,100%] - 9 NA TRUE [0%,50%] - 11 NA TRUE (50%,100%] - 18 Clinical Cut Off NA FALSE [0%,50%] - 24 NA TRUE (50%,100%] - 30 End of AE Reporting Period NA FALSE [0%,50%] - 34 NA TRUE [0%,50%] - 39 NA TRUE [0%,50%] - 41 NA TRUE (50%,100%] - - $variables - $variables$tte - [1] "AVAL" - - $variables$is_event - [1] "is_event" - - $variables$arm - [1] "gene_factor" - - $variables$strat - NULL - diff --git a/tests/testthat/_snaps/pca.md b/tests/testthat/_snaps/pca.md deleted file mode 100644 index a3bee8c6..00000000 --- a/tests/testthat/_snaps/pca.md +++ /dev/null @@ -1,110 +0,0 @@ -# pca module works as expected in the test app - - Code - cat(res) - Output - x y PANEL group shape colour size fill alpha stroke - 1 -0.27038787 -0.3961520 1 -1 19 black 1.5 NA NA 0.5 - 2 -0.01264326 -0.5281983 1 -1 19 black 1.5 NA NA 0.5 - 3 0.02108020 0.4483209 1 -1 19 black 1.5 NA NA 0.5 - 4 -0.45723243 0.3957750 1 -1 19 black 1.5 NA NA 0.5 - 5 0.71918335 0.0802544 1 -1 19 black 1.5 NA NA 0.5 - ---- - - Code - cat(res) - Output - low_depth_flag AGE18 STDDRS STDDRSD TRTDRS TRTDRSD BLANP BLKS FRPST DURIDX - PC1 0.001 0.114 0.230 0.230 0.114 0.114 0.001 0.001 0.327 0.029 - PC2 0.314 0.245 0.018 0.018 0.245 0.245 0.390 0.314 0.245 0.206 - PC3 0.532 0.115 0.001 0.001 0.115 0.115 0.994 0.532 0.197 0.761 - PC4 0.153 0.526 0.751 0.751 0.526 0.526 0.181 0.153 0.231 0.004 - DURSAF DURSUR LNTHRPY DTHFL SITEID INVID AGE SEX ETHNIC COUNTRY DMDY - PC1 0.070 0.177 0.936 0.230 0.667 0.497 0.000 0.083 0.000 0.001 0.029 - PC2 0.114 0.357 0.014 0.018 0.137 0.021 0.147 0.890 0.436 0.314 0.178 - PC3 0.392 0.046 0.027 0.001 0.059 0.367 0.419 0.013 0.227 0.532 0.546 - PC4 0.424 0.420 0.023 0.751 0.137 0.116 0.434 0.014 0.337 0.153 0.247 - BAGE BWT BHT BBMI TRTDUR DISCSTUD DISCDEAT AEWITHFL STDSSDY - PC1 0.000 0.104 0.114 0.131 0.070 0.230 0.230 0.114 0.921 - PC2 0.147 0.744 0.745 0.655 0.114 0.018 0.018 0.245 0.019 - PC3 0.419 0.018 0.013 0.182 0.392 0.001 0.001 0.115 0.322 - PC4 0.434 0.134 0.128 0.032 0.424 0.751 0.751 0.526 0.913 - ---- - - Code - cat(res) - Output - NULL - ---- - - Code - cat(res) - Output - x y PANEL group shape colour size fill alpha stroke - 1 -0.68789565 0.04912578 1 -1 19 black 1.5 NA NA 0.5 - 2 -0.37824954 0.19209841 1 -1 19 black 1.5 NA NA 0.5 - 3 0.07502276 -0.31568702 1 -1 19 black 1.5 NA NA 0.5 - 4 0.33995282 -0.26532014 1 -1 19 black 1.5 NA NA 0.5 - 5 0.29004708 0.25038379 1 -1 19 black 1.5 NA NA 0.5 - 6 0.08718694 0.09422278 1 -1 19 black 1.5 NA NA 0.5 - 7 0.15015883 0.07932206 1 -1 19 black 1.5 NA NA 0.5 - 8 -0.05952522 -0.58893592 1 -1 19 black 1.5 NA NA 0.5 - 9 0.18330198 0.50479025 1 -1 19 black 1.5 NA NA 0.5 - ---- - - Code - cat(res) - Output - colour x y PANEL group shape size fill alpha stroke - 1 #F8766D -0.08263642 0.6615253 1 1 19 1.5 NA NA 0.5 - 2 #F8766D -0.53157947 -0.4023279 1 1 19 1.5 NA NA 0.5 - 3 #F8766D 0.61421589 -0.2591974 1 1 19 1.5 NA NA 0.5 - ---- - - Code - cat(res) - Output - colour x y PANEL group shape size fill alpha stroke - 1 #00BFC4 -0.3939882 0.32024986 1 2 19 1.5 NA NA 0.5 - 2 #F8766D -0.1255252 0.50888177 1 1 19 1.5 NA NA 0.5 - 3 #F8766D 0.1611973 -0.32722537 1 1 19 1.5 NA NA 0.5 - 4 #F8766D -0.3398973 -0.57145897 1 1 19 1.5 NA NA 0.5 - 5 #F8766D 0.6982134 0.06955271 1 1 19 1.5 NA NA 0.5 - ---- - - Code - cat(res) - Output - colour x y PANEL group shape size fill alpha stroke - 1 #00BFC4 -0.41921977 0.41965983 1 2 19 1.5 NA NA 0.5 - 2 #00BFC4 -0.26002371 -0.20051106 1 2 19 1.5 NA NA 0.5 - 3 #F8766D -0.02075864 -0.03308131 1 1 19 1.5 NA NA 0.5 - 4 #F8766D 0.08391280 -0.38171401 1 1 19 1.5 NA NA 0.5 - 5 #F8766D 0.56237459 0.46597929 1 1 19 1.5 NA NA 0.5 - 6 #F8766D -0.35360914 0.33020146 1 1 19 1.5 NA NA 0.5 - 7 #F8766D 0.42405052 0.02619397 1 1 19 1.5 NA NA 0.5 - 8 #F8766D 0.08327651 -0.34886025 1 1 19 1.5 NA NA 0.5 - 9 #00BFC4 -0.10000316 -0.27786790 1 2 19 1.5 NA NA 0.5 - ---- - - Code - cat(res) - Output - colour x y PANEL group shape size fill alpha stroke - 1 #00BFC4 -0.41921977 0.41965983 1 2 19 1.5 NA NA 0.5 - 2 #00BFC4 -0.26002371 -0.20051106 1 2 19 1.5 NA NA 0.5 - 3 #F8766D -0.02075864 -0.03308131 1 1 19 1.5 NA NA 0.5 - 4 #F8766D 0.08391280 -0.38171401 1 1 19 1.5 NA NA 0.5 - 5 #F8766D 0.56237459 0.46597929 1 1 19 1.5 NA NA 0.5 - 6 #F8766D -0.35360914 0.33020146 1 1 19 1.5 NA NA 0.5 - 7 #F8766D 0.42405052 0.02619397 1 1 19 1.5 NA NA 0.5 - 8 #F8766D 0.08327651 -0.34886025 1 1 19 1.5 NA NA 0.5 - 9 #00BFC4 -0.10000316 -0.27786790 1 2 19 1.5 NA NA 0.5 - diff --git a/tests/testthat/_snaps/quality.md b/tests/testthat/_snaps/quality.md deleted file mode 100644 index d4e51c85..00000000 --- a/tests/testthat/_snaps/quality.md +++ /dev/null @@ -1,111 +0,0 @@ -# quality module works as expected in the test app - - Code - res - Output - $message - [1] "Please change gene filters to ensure that there are at least 2 genes" - - $call - [1] "NULL" - - $type - [1] "shiny.silent.error" "validation" - - ---- - - Code - cat(res) - Output - y count x xmin xmax density ncount ndensity flipped_aes - 1 1 1 1781977 1772292 1791661 8.604677e-06 1 1 FALSE - 2 0 0 1801346 1791661 1811031 0.000000e+00 0 0 FALSE - 3 0 0 1820715 1811031 1830400 0.000000e+00 0 0 FALSE - 4 1 1 1840084 1830400 1849769 8.604677e-06 1 1 FALSE - 5 1 1 1859454 1849769 1869138 8.604677e-06 1 1 FALSE - 6 0 0 1878823 1869138 1888508 0.000000e+00 0 0 FALSE - 7 0 0 1898192 1888508 1907877 0.000000e+00 0 0 FALSE - 8 0 0 1917562 1907877 1927246 0.000000e+00 0 0 FALSE - 9 0 0 1936931 1927246 1946616 0.000000e+00 0 0 FALSE - 10 0 0 1956300 1946616 1965985 0.000000e+00 0 0 FALSE - 11 1 1 1975670 1965985 1985354 8.604677e-06 1 1 FALSE - 12 0 0 1995039 1985354 2004724 0.000000e+00 0 0 FALSE - 13 0 0 2014408 2004724 2024093 0.000000e+00 0 0 FALSE - 14 0 0 2033778 2024093 2043462 0.000000e+00 0 0 FALSE - 15 0 0 2053147 2043462 2062832 0.000000e+00 0 0 FALSE - 16 0 0 2072516 2062832 2082201 0.000000e+00 0 0 FALSE - 17 0 0 2091886 2082201 2101570 0.000000e+00 0 0 FALSE - 18 0 0 2111255 2101570 2120939 0.000000e+00 0 0 FALSE - 19 1 1 2130624 2120939 2140309 8.604677e-06 1 1 FALSE - 20 0 0 2149993 2140309 2159678 0.000000e+00 0 0 FALSE - 21 0 0 2169363 2159678 2179047 0.000000e+00 0 0 FALSE - 22 0 0 2188732 2179047 2198417 0.000000e+00 0 0 FALSE - 23 0 0 2208101 2198417 2217786 0.000000e+00 0 0 FALSE - 24 0 0 2227471 2217786 2237155 0.000000e+00 0 0 FALSE - 25 0 0 2246840 2237155 2256525 0.000000e+00 0 0 FALSE - 26 0 0 2266209 2256525 2275894 0.000000e+00 0 0 FALSE - 27 0 0 2285579 2275894 2295263 0.000000e+00 0 0 FALSE - 28 0 0 2304948 2295263 2314633 0.000000e+00 0 0 FALSE - 29 0 0 2324317 2314633 2334002 0.000000e+00 0 0 FALSE - 30 1 1 2343687 2334002 2353371 8.604677e-06 1 1 FALSE - PANEL group ymin ymax colour fill linewidth linetype alpha - 1 1 -1 0 1 NA darkgrey 0.5 1 NA - 2 1 -1 0 0 NA darkgrey 0.5 1 NA - 3 1 -1 0 0 NA darkgrey 0.5 1 NA - 4 1 -1 0 1 NA darkgrey 0.5 1 NA - 5 1 -1 0 1 NA darkgrey 0.5 1 NA - 6 1 -1 0 0 NA darkgrey 0.5 1 NA - 7 1 -1 0 0 NA darkgrey 0.5 1 NA - 8 1 -1 0 0 NA darkgrey 0.5 1 NA - 9 1 -1 0 0 NA darkgrey 0.5 1 NA - 10 1 -1 0 0 NA darkgrey 0.5 1 NA - 11 1 -1 0 1 NA darkgrey 0.5 1 NA - 12 1 -1 0 0 NA darkgrey 0.5 1 NA - 13 1 -1 0 0 NA darkgrey 0.5 1 NA - 14 1 -1 0 0 NA darkgrey 0.5 1 NA - 15 1 -1 0 0 NA darkgrey 0.5 1 NA - 16 1 -1 0 0 NA darkgrey 0.5 1 NA - 17 1 -1 0 0 NA darkgrey 0.5 1 NA - 18 1 -1 0 0 NA darkgrey 0.5 1 NA - 19 1 -1 0 1 NA darkgrey 0.5 1 NA - 20 1 -1 0 0 NA darkgrey 0.5 1 NA - 21 1 -1 0 0 NA darkgrey 0.5 1 NA - 22 1 -1 0 0 NA darkgrey 0.5 1 NA - 23 1 -1 0 0 NA darkgrey 0.5 1 NA - 24 1 -1 0 0 NA darkgrey 0.5 1 NA - 25 1 -1 0 0 NA darkgrey 0.5 1 NA - 26 1 -1 0 0 NA darkgrey 0.5 1 NA - 27 1 -1 0 0 NA darkgrey 0.5 1 NA - 28 1 -1 0 0 NA darkgrey 0.5 1 NA - 29 1 -1 0 0 NA darkgrey 0.5 1 NA - 30 1 -1 0 1 NA darkgrey 0.5 1 NA - ---- - - Code - cat(res) - Output - x y PANEL group flipped_aes ymin ymax xmin xmax colour fill - 1 1 17.72389 1 1 FALSE 0 17.72389 0.55 1.45 NA grey35 - 2 2 14.37759 1 2 FALSE 0 14.37759 1.55 2.45 NA grey35 - 3 3 14.20068 1 3 FALSE 0 14.20068 2.55 3.45 NA grey35 - 4 4 14.17412 1 4 FALSE 0 14.17412 3.55 4.45 NA grey35 - 5 5 14.01385 1 5 FALSE 0 14.01385 4.55 5.45 NA grey35 - 6 6 13.44916 1 6 FALSE 0 13.44916 5.55 6.45 NA grey35 - 7 7 13.27510 1 7 FALSE 0 13.27510 6.55 7.45 NA grey35 - 8 8 13.17301 1 8 FALSE 0 13.17301 7.55 8.45 NA grey35 - 9 9 13.03098 1 9 FALSE 0 13.03098 8.55 9.45 NA grey35 - 10 10 12.93251 1 10 FALSE 0 12.93251 9.55 10.45 NA grey35 - linewidth linetype alpha - 1 0.5 1 NA - 2 0.5 1 NA - 3 0.5 1 NA - 4 0.5 1 NA - 5 0.5 1 NA - 6 0.5 1 NA - 7 0.5 1 NA - 8 0.5 1 NA - 9 0.5 1 NA - 10 0.5 1 NA - diff --git a/tests/testthat/_snaps/scatterplot.md b/tests/testthat/_snaps/scatterplot.md deleted file mode 100644 index 7695afd4..00000000 --- a/tests/testthat/_snaps/scatterplot.md +++ /dev/null @@ -1,5 +0,0 @@ -# scatterplot module works as expected in the test app - - Code - cat(res) - diff --git a/tests/testthat/_snaps/volcanoplot.md b/tests/testthat/_snaps/volcanoplot.md deleted file mode 100644 index 3092c931..00000000 --- a/tests/testthat/_snaps/volcanoplot.md +++ /dev/null @@ -1,4016 +0,0 @@ -# volcanoplot module works as expected in the test app - - Code - cat(res) - Output - colour x y label PANEL group shape size fill - 1 #00BFC4 4.5441482325 1.3818956504 GeneID:2271 1 2 19 1.5 NA - 2 #F8766D 2.8853747884 0.5982482965 1 1 19 1.5 NA - 3 #F8766D 3.2680928854 0.1381377699 1 1 19 1.5 NA - 4 #F8766D -2.7685178364 0.0021205292 1 1 19 1.5 NA - 5 #F8766D -2.0015845977 0.0021205292 1 1 19 1.5 NA - 6 #F8766D 1.8697266400 0.0021205292 1 1 19 1.5 NA - 7 #F8766D -2.6310797515 0.0021205292 1 1 19 1.5 NA - 8 #F8766D 1.5810468973 0.0021205292 1 1 19 1.5 NA - 9 #F8766D -1.4990238390 0.0021205292 1 1 19 1.5 NA - 10 #F8766D -4.2872259508 0.0021205292 1 1 19 1.5 NA - 11 #F8766D 1.4516881799 0.0021205292 1 1 19 1.5 NA - 12 #F8766D 2.1168366450 0.0021205292 1 1 19 1.5 NA - 13 #F8766D 1.2946089192 0.0021205292 1 1 19 1.5 NA - 14 #F8766D 2.8936076107 0.0021205292 1 1 19 1.5 NA - 15 #F8766D 3.3837531530 0.0021205292 1 1 19 1.5 NA - 16 #F8766D -2.5919810070 0.0021205292 1 1 19 1.5 NA - 17 #F8766D -1.3947473565 0.0021205292 1 1 19 1.5 NA - 18 #F8766D 1.2566241369 0.0021205292 1 1 19 1.5 NA - 19 #F8766D -1.6589074589 0.0021205292 1 1 19 1.5 NA - 20 #F8766D -1.4300484029 0.0021205292 1 1 19 1.5 NA - 21 #F8766D 2.1974756887 0.0021205292 1 1 19 1.5 NA - 22 #F8766D 0.6608191174 0.0021205292 1 1 19 1.5 NA - 23 #F8766D 1.2021489695 0.0021205292 1 1 19 1.5 NA - 24 #F8766D 0.5843206218 0.0021205292 1 1 19 1.5 NA - 25 #F8766D -0.6315527980 0.0021205292 1 1 19 1.5 NA - 26 #F8766D 1.0777341120 0.0021205292 1 1 19 1.5 NA - 27 #F8766D 3.7855164763 0.0021205292 1 1 19 1.5 NA - 28 #F8766D 0.6461020658 0.0021205292 1 1 19 1.5 NA - 29 #F8766D -1.4230348186 0.0021205292 1 1 19 1.5 NA - 30 #F8766D 1.1571699120 0.0021205292 1 1 19 1.5 NA - 31 #F8766D 1.1276216809 0.0021205292 1 1 19 1.5 NA - 32 #F8766D 1.0268324929 0.0021205292 1 1 19 1.5 NA - 33 #F8766D 0.6601321397 0.0021205292 1 1 19 1.5 NA - 34 #F8766D 1.0534140185 0.0021205292 1 1 19 1.5 NA - 35 #F8766D 1.0902897066 0.0021205292 1 1 19 1.5 NA - 36 #F8766D -1.2734106246 0.0021205292 1 1 19 1.5 NA - 37 #F8766D -1.0679120160 0.0021205292 1 1 19 1.5 NA - 38 #F8766D 1.2687751940 0.0021205292 1 1 19 1.5 NA - 39 #F8766D 2.0914440733 0.0021205292 1 1 19 1.5 NA - 40 #F8766D 1.7217579263 0.0021205292 1 1 19 1.5 NA - 41 #F8766D -1.1077108646 0.0021205292 1 1 19 1.5 NA - 42 #F8766D 0.9678855059 0.0021205292 1 1 19 1.5 NA - 43 #F8766D 1.5771314667 0.0021205292 1 1 19 1.5 NA - 44 #F8766D -0.6118345861 0.0021205292 1 1 19 1.5 NA - 45 #F8766D -1.3077739654 0.0021205292 1 1 19 1.5 NA - 46 #F8766D 0.6039958057 0.0021205292 1 1 19 1.5 NA - 47 #F8766D -0.5891876151 0.0021205292 1 1 19 1.5 NA - 48 #F8766D 4.0428041037 0.0021205292 1 1 19 1.5 NA - 49 #F8766D -0.5865558008 0.0021205292 1 1 19 1.5 NA - 50 #F8766D -1.5221409799 0.0021205292 1 1 19 1.5 NA - 51 #F8766D 1.0560885560 0.0021205292 1 1 19 1.5 NA - 52 #F8766D 0.8835172546 0.0021205292 1 1 19 1.5 NA - 53 #F8766D 0.9188454400 0.0021205292 1 1 19 1.5 NA - 54 #F8766D -0.5306488162 0.0021205292 1 1 19 1.5 NA - 55 #F8766D -1.4267870613 0.0021205292 1 1 19 1.5 NA - 56 #F8766D -1.1722045261 0.0021205292 1 1 19 1.5 NA - 57 #F8766D -0.9388988613 0.0021205292 1 1 19 1.5 NA - 58 #F8766D -1.9686936318 0.0021205292 1 1 19 1.5 NA - 59 #F8766D 0.5199593392 0.0021205292 1 1 19 1.5 NA - 60 #F8766D -0.6618351108 0.0021205292 1 1 19 1.5 NA - 61 #F8766D 1.0506953534 0.0021205292 1 1 19 1.5 NA - 62 #F8766D 1.2699072074 0.0021205292 1 1 19 1.5 NA - 63 #F8766D 1.4801374750 0.0021205292 1 1 19 1.5 NA - 64 #F8766D -2.1011618432 0.0021205292 1 1 19 1.5 NA - 65 #F8766D 0.9436583946 0.0021205292 1 1 19 1.5 NA - 66 #F8766D -1.9496065182 0.0021205292 1 1 19 1.5 NA - 67 #F8766D 0.8588552203 0.0021205292 1 1 19 1.5 NA - 68 #F8766D 0.8082499189 0.0021205292 1 1 19 1.5 NA - 69 #F8766D 1.1185073946 0.0021205292 1 1 19 1.5 NA - 70 #F8766D -0.5710990401 0.0021205292 1 1 19 1.5 NA - 71 #F8766D -0.4747147614 0.0021205292 1 1 19 1.5 NA - 72 #F8766D 0.4807212287 0.0021205292 1 1 19 1.5 NA - 73 #F8766D 0.8750972790 0.0021205292 1 1 19 1.5 NA - 74 #F8766D -1.9252179935 0.0021205292 1 1 19 1.5 NA - 75 #F8766D -0.5126246305 0.0021205292 1 1 19 1.5 NA - 76 #F8766D 0.8833019705 0.0021205292 1 1 19 1.5 NA - 77 #F8766D 0.8804282207 0.0021205292 1 1 19 1.5 NA - 78 #F8766D 0.8085531676 0.0021205292 1 1 19 1.5 NA - 79 #F8766D 0.9919429354 0.0021205292 1 1 19 1.5 NA - 80 #F8766D 0.9182626855 0.0021205292 1 1 19 1.5 NA - 81 #F8766D 0.4849287432 0.0021205292 1 1 19 1.5 NA - 82 #F8766D 0.4535520658 0.0021205292 1 1 19 1.5 NA - 83 #F8766D 0.7084222232 0.0021205292 1 1 19 1.5 NA - 84 #F8766D 0.9057858766 0.0021205292 1 1 19 1.5 NA - 85 #F8766D 0.8457319762 0.0021205292 1 1 19 1.5 NA - 86 #F8766D 1.0567186323 0.0021205292 1 1 19 1.5 NA - 87 #F8766D 1.0996113165 0.0021205292 1 1 19 1.5 NA - 88 #F8766D 0.6003317781 0.0021205292 1 1 19 1.5 NA - 89 #F8766D 2.4461464255 0.0021205292 1 1 19 1.5 NA - 90 #F8766D 0.4774418799 0.0021205292 1 1 19 1.5 NA - 91 #F8766D 0.8129876269 0.0021205292 1 1 19 1.5 NA - 92 #F8766D 1.0792170167 0.0021205292 1 1 19 1.5 NA - 93 #F8766D 2.3187254719 0.0021205292 1 1 19 1.5 NA - 94 #F8766D 0.9218987819 0.0021205292 1 1 19 1.5 NA - 95 #F8766D 1.0720723275 0.0021205292 1 1 19 1.5 NA - 96 #F8766D -1.3257823843 0.0021205292 1 1 19 1.5 NA - 97 #F8766D 0.8345656062 0.0021205292 1 1 19 1.5 NA - 98 #F8766D -0.4599534999 0.0021205292 1 1 19 1.5 NA - 99 #F8766D -0.6441880108 0.0021205292 1 1 19 1.5 NA - 100 #F8766D 0.7759958764 0.0021205292 1 1 19 1.5 NA - 101 #F8766D 1.0473233404 0.0021205292 1 1 19 1.5 NA - 102 #F8766D -0.4231028209 0.0021205292 1 1 19 1.5 NA - 103 #F8766D -0.4733135214 0.0021205292 1 1 19 1.5 NA - 104 #F8766D -0.9727803596 0.0021205292 1 1 19 1.5 NA - 105 #F8766D 0.7722467186 0.0021205292 1 1 19 1.5 NA - 106 #F8766D 0.7723303950 0.0021205292 1 1 19 1.5 NA - 107 #F8766D -1.1212506240 0.0021205292 1 1 19 1.5 NA - 108 #F8766D 0.4676770021 0.0021205292 1 1 19 1.5 NA - 109 #F8766D 0.4410630412 0.0021205292 1 1 19 1.5 NA - 110 #F8766D -1.6021661180 0.0021205292 1 1 19 1.5 NA - 111 #F8766D -0.7735521870 0.0021205292 1 1 19 1.5 NA - 112 #F8766D 1.0532398858 0.0021205292 1 1 19 1.5 NA - 113 #F8766D 0.8200829526 0.0021205292 1 1 19 1.5 NA - 114 #F8766D 1.0689081046 0.0021205292 1 1 19 1.5 NA - 115 #F8766D 0.8537721903 0.0021205292 1 1 19 1.5 NA - 116 #F8766D -0.9562085177 0.0021205292 1 1 19 1.5 NA - 117 #F8766D -0.4561820132 0.0021205292 1 1 19 1.5 NA - 118 #F8766D -0.5281014198 0.0021205292 1 1 19 1.5 NA - 119 #F8766D -1.1117447604 0.0021205292 1 1 19 1.5 NA - 120 #F8766D -0.4223870215 0.0021205292 1 1 19 1.5 NA - 121 #F8766D -0.4338653184 0.0021205292 1 1 19 1.5 NA - 122 #F8766D 0.4604146623 0.0021205292 1 1 19 1.5 NA - 123 #F8766D -1.8983645761 0.0021205292 1 1 19 1.5 NA - 124 #F8766D -0.4711349780 0.0021205292 1 1 19 1.5 NA - 125 #F8766D 0.4637690485 0.0021205292 1 1 19 1.5 NA - 126 #F8766D -0.4123518649 0.0021205292 1 1 19 1.5 NA - 127 #F8766D 0.9833435800 0.0021205292 1 1 19 1.5 NA - 128 #F8766D 0.9105954136 0.0021205292 1 1 19 1.5 NA - 129 #F8766D -0.4411373075 0.0021205292 1 1 19 1.5 NA - 130 #F8766D 1.1011164140 0.0021205292 1 1 19 1.5 NA - 131 #F8766D 0.4063912697 0.0021205292 1 1 19 1.5 NA - 132 #F8766D 0.9349878804 0.0021205292 1 1 19 1.5 NA - 133 #F8766D -0.6311206654 0.0021205292 1 1 19 1.5 NA - 134 #F8766D -0.7304868310 0.0021205292 1 1 19 1.5 NA - 135 #F8766D 1.0544682243 0.0021205292 1 1 19 1.5 NA - 136 #F8766D 0.4678615627 0.0021205292 1 1 19 1.5 NA - 137 #F8766D 0.7205681717 0.0021205292 1 1 19 1.5 NA - 138 #F8766D -0.9562323584 0.0021205292 1 1 19 1.5 NA - 139 #F8766D 0.3978745347 0.0021205292 1 1 19 1.5 NA - 140 #F8766D 0.7104545209 0.0021205292 1 1 19 1.5 NA - 141 #F8766D 0.4125776954 0.0021205292 1 1 19 1.5 NA - 142 #F8766D 0.7122192129 0.0021205292 1 1 19 1.5 NA - 143 #F8766D -0.8425123236 0.0021205292 1 1 19 1.5 NA - 144 #F8766D 0.6492421984 0.0021205292 1 1 19 1.5 NA - 145 #F8766D 1.0353931279 0.0021205292 1 1 19 1.5 NA - 146 #F8766D 0.7932233645 0.0021205292 1 1 19 1.5 NA - 147 #F8766D 0.4480173986 0.0021205292 1 1 19 1.5 NA - 148 #F8766D 0.4297551938 0.0021205292 1 1 19 1.5 NA - 149 #F8766D -0.9229270583 0.0021205292 1 1 19 1.5 NA - 150 #F8766D 0.6722000551 0.0021205292 1 1 19 1.5 NA - 151 #F8766D 0.4382865233 0.0021205292 1 1 19 1.5 NA - 152 #F8766D -0.3939492820 0.0021205292 1 1 19 1.5 NA - 153 #F8766D 0.7108327840 0.0021205292 1 1 19 1.5 NA - 154 #F8766D 0.8632535015 0.0021205292 1 1 19 1.5 NA - 155 #F8766D 0.9755432954 0.0021205292 1 1 19 1.5 NA - 156 #F8766D -1.3681844728 0.0021205292 1 1 19 1.5 NA - 157 #F8766D -0.7095631750 0.0021205292 1 1 19 1.5 NA - 158 #F8766D -0.3872607495 0.0021205292 1 1 19 1.5 NA - 159 #F8766D -0.4229868732 0.0021205292 1 1 19 1.5 NA - 160 #F8766D -1.0255541961 0.0021205292 1 1 19 1.5 NA - 161 #F8766D -0.3884744562 0.0021205292 1 1 19 1.5 NA - 162 #F8766D 0.4856446082 0.0021205292 1 1 19 1.5 NA - 163 #F8766D -0.3672889171 0.0021205292 1 1 19 1.5 NA - 164 #F8766D -0.4355670192 0.0021205292 1 1 19 1.5 NA - 165 #F8766D 0.6545121813 0.0021205292 1 1 19 1.5 NA - 166 #F8766D 0.7106242284 0.0021205292 1 1 19 1.5 NA - 167 #F8766D -1.1861517618 0.0021205292 1 1 19 1.5 NA - 168 #F8766D 0.6459055098 0.0021205292 1 1 19 1.5 NA - 169 #F8766D 0.7104775008 0.0021205292 1 1 19 1.5 NA - 170 #F8766D 0.7882239899 0.0021205292 1 1 19 1.5 NA - 171 #F8766D -0.3844953178 0.0021205292 1 1 19 1.5 NA - 172 #F8766D 0.3636592651 0.0021205292 1 1 19 1.5 NA - 173 #F8766D 0.6804729564 0.0021205292 1 1 19 1.5 NA - 174 #F8766D 0.8528517441 0.0021205292 1 1 19 1.5 NA - 175 #F8766D 0.3725104062 0.0021205292 1 1 19 1.5 NA - 176 #F8766D 0.5922551987 0.0021205292 1 1 19 1.5 NA - 177 #F8766D 0.6310159117 0.0021205292 1 1 19 1.5 NA - 178 #F8766D 0.7153370430 0.0021205292 1 1 19 1.5 NA - 179 #F8766D 0.4933124706 0.0021205292 1 1 19 1.5 NA - 180 #F8766D -0.3582822164 0.0021205292 1 1 19 1.5 NA - 181 #F8766D -0.7785222261 0.0021205292 1 1 19 1.5 NA - 182 #F8766D 0.7437164994 0.0021205292 1 1 19 1.5 NA - 183 #F8766D -0.3928181416 0.0021205292 1 1 19 1.5 NA - 184 #F8766D 0.9183593296 0.0021205292 1 1 19 1.5 NA - 185 #F8766D 0.5073932595 0.0021205292 1 1 19 1.5 NA - 186 #F8766D 0.6638603543 0.0021205292 1 1 19 1.5 NA - 187 #F8766D 0.6051560458 0.0021205292 1 1 19 1.5 NA - 188 #F8766D 0.6473937600 0.0021205292 1 1 19 1.5 NA - 189 #F8766D -0.3931544973 0.0021205292 1 1 19 1.5 NA - 190 #F8766D 0.7458530920 0.0021205292 1 1 19 1.5 NA - 191 #F8766D -0.5449095920 0.0021205292 1 1 19 1.5 NA - 192 #F8766D -0.6723880145 0.0021205292 1 1 19 1.5 NA - 193 #F8766D -0.4455627588 0.0021205292 1 1 19 1.5 NA - 194 #F8766D -1.5902256336 0.0021205292 1 1 19 1.5 NA - 195 #F8766D 0.6069462105 0.0021205292 1 1 19 1.5 NA - 196 #F8766D -0.7156786392 0.0021205292 1 1 19 1.5 NA - 197 #F8766D 0.7160857094 0.0021205292 1 1 19 1.5 NA - 198 #F8766D -1.7539104089 0.0021205292 1 1 19 1.5 NA - 199 #F8766D 0.6800172149 0.0021205292 1 1 19 1.5 NA - 200 #F8766D -0.7350381453 0.0021205292 1 1 19 1.5 NA - 201 #F8766D 0.3943387163 0.0021205292 1 1 19 1.5 NA - 202 #F8766D 0.7844005350 0.0021205292 1 1 19 1.5 NA - 203 #F8766D -2.8258587123 0.0021205292 1 1 19 1.5 NA - 204 #F8766D -0.4280526119 0.0021205292 1 1 19 1.5 NA - 205 #F8766D -0.3366735549 0.0021205292 1 1 19 1.5 NA - 206 #F8766D 0.6095278817 0.0021205292 1 1 19 1.5 NA - 207 #F8766D 0.7790488875 0.0021205292 1 1 19 1.5 NA - 208 #F8766D 0.6967033049 0.0021205292 1 1 19 1.5 NA - 209 #F8766D 0.3530754899 0.0021205292 1 1 19 1.5 NA - 210 #F8766D -0.7223437212 0.0021205292 1 1 19 1.5 NA - 211 #F8766D 0.3207175020 0.0021205292 1 1 19 1.5 NA - 212 #F8766D -0.3622207343 0.0021205292 1 1 19 1.5 NA - 213 #F8766D 0.6577980763 0.0021205292 1 1 19 1.5 NA - 214 #F8766D -0.6985584082 0.0021205292 1 1 19 1.5 NA - 215 #F8766D 0.9266775924 0.0021205292 1 1 19 1.5 NA - 216 #F8766D 0.3798970829 0.0021205292 1 1 19 1.5 NA - 217 #F8766D 0.9261045660 0.0021205292 1 1 19 1.5 NA - 218 #F8766D -0.3774932396 0.0021205292 1 1 19 1.5 NA - 219 #F8766D 0.3699156634 0.0021205292 1 1 19 1.5 NA - 220 #F8766D -0.3364626128 0.0021205292 1 1 19 1.5 NA - 221 #F8766D 0.6177538088 0.0021205292 1 1 19 1.5 NA - 222 #F8766D 0.5809323101 0.0021205292 1 1 19 1.5 NA - 223 #F8766D -1.2141736965 0.0021205292 1 1 19 1.5 NA - 224 #F8766D 0.8241746459 0.0021205292 1 1 19 1.5 NA - 225 #F8766D 1.0245812684 0.0021205292 1 1 19 1.5 NA - 226 #F8766D 0.3114052040 0.0021205292 1 1 19 1.5 NA - 227 #F8766D -0.6389622198 0.0021205292 1 1 19 1.5 NA - 228 #F8766D 0.3208509428 0.0021205292 1 1 19 1.5 NA - 229 #F8766D 0.3543402249 0.0021205292 1 1 19 1.5 NA - 230 #F8766D 0.3688273949 0.0021205292 1 1 19 1.5 NA - 231 #F8766D -0.9556164455 0.0021205292 1 1 19 1.5 NA - 232 #F8766D 0.3116243601 0.0021205292 1 1 19 1.5 NA - 233 #F8766D -0.3744241412 0.0021205292 1 1 19 1.5 NA - 234 #F8766D 0.3041505305 0.0021205292 1 1 19 1.5 NA - 235 #F8766D 0.5546340767 0.0021205292 1 1 19 1.5 NA - 236 #F8766D -0.8222331293 0.0021205292 1 1 19 1.5 NA - 237 #F8766D -0.3313804570 0.0021205292 1 1 19 1.5 NA - 238 #F8766D 1.2171328131 0.0021205292 1 1 19 1.5 NA - 239 #F8766D 0.3193989068 0.0021205292 1 1 19 1.5 NA - 240 #F8766D 0.3190023703 0.0021205292 1 1 19 1.5 NA - 241 #F8766D -0.3252728847 0.0021205292 1 1 19 1.5 NA - 242 #F8766D -0.5916563971 0.0021205292 1 1 19 1.5 NA - 243 #F8766D 0.5499740220 0.0021205292 1 1 19 1.5 NA - 244 #F8766D -0.3148736335 0.0021205292 1 1 19 1.5 NA - 245 #F8766D 0.6131678424 0.0021205292 1 1 19 1.5 NA - 246 #F8766D 0.3314988268 0.0021205292 1 1 19 1.5 NA - 247 #F8766D 0.3264900548 0.0021205292 1 1 19 1.5 NA - 248 #F8766D -0.3211475785 0.0021205292 1 1 19 1.5 NA - 249 #F8766D 0.6821549479 0.0021205292 1 1 19 1.5 NA - 250 #F8766D 0.7289700796 0.0021205292 1 1 19 1.5 NA - 251 #F8766D 0.2977444052 0.0021205292 1 1 19 1.5 NA - 252 #F8766D 0.3139888888 0.0021205292 1 1 19 1.5 NA - 253 #F8766D 0.5315852648 0.0021205292 1 1 19 1.5 NA - 254 #F8766D 0.6025698543 0.0021205292 1 1 19 1.5 NA - 255 #F8766D 0.5702421291 0.0021205292 1 1 19 1.5 NA - 256 #F8766D 0.5677650890 0.0021205292 1 1 19 1.5 NA - 257 #F8766D 0.2994931149 0.0021205292 1 1 19 1.5 NA - 258 #F8766D 0.7166256025 0.0021205292 1 1 19 1.5 NA - 259 #F8766D 0.2816044184 0.0021205292 1 1 19 1.5 NA - 260 #F8766D 0.7091552530 0.0021205292 1 1 19 1.5 NA - 261 #F8766D 0.5949419692 0.0021205292 1 1 19 1.5 NA - 262 #F8766D 0.3570456568 0.0021205292 1 1 19 1.5 NA - 263 #F8766D -0.3072506216 0.0021205292 1 1 19 1.5 NA - 264 #F8766D -0.6952942200 0.0021205292 1 1 19 1.5 NA - 265 #F8766D 0.7744006613 0.0021205292 1 1 19 1.5 NA - 266 #F8766D -0.5576967314 0.0021205292 1 1 19 1.5 NA - 267 #F8766D -1.1743741657 0.0021205292 1 1 19 1.5 NA - 268 #F8766D 0.5520431390 0.0021205292 1 1 19 1.5 NA - 269 #F8766D 0.5075179867 0.0021205292 1 1 19 1.5 NA - 270 #F8766D -0.6475252493 0.0021205292 1 1 19 1.5 NA - 271 #F8766D 0.5624372863 0.0021205292 1 1 19 1.5 NA - 272 #F8766D -0.3251016335 0.0021205292 1 1 19 1.5 NA - 273 #F8766D -0.3750372891 0.0021205292 1 1 19 1.5 NA - 274 #F8766D -0.5823287989 0.0021205292 1 1 19 1.5 NA - 275 #F8766D 0.7115373344 0.0021205292 1 1 19 1.5 NA - 276 #F8766D -0.5647985006 0.0021205292 1 1 19 1.5 NA - 277 #F8766D 0.5713491147 0.0021205292 1 1 19 1.5 NA - 278 #F8766D 0.3363750661 0.0021205292 1 1 19 1.5 NA - 279 #F8766D 0.6015625357 0.0021205292 1 1 19 1.5 NA - 280 #F8766D 0.6987352339 0.0021205292 1 1 19 1.5 NA - 281 #F8766D -0.7867305591 0.0021205292 1 1 19 1.5 NA - 282 #F8766D 0.3114332272 0.0021205292 1 1 19 1.5 NA - 283 #F8766D -0.5420115742 0.0021205292 1 1 19 1.5 NA - 284 #F8766D 0.5892330020 0.0021205292 1 1 19 1.5 NA - 285 #F8766D 0.5016698873 0.0021205292 1 1 19 1.5 NA - 286 #F8766D -0.3140895247 0.0021205292 1 1 19 1.5 NA - 287 #F8766D -0.6276890397 0.0021205292 1 1 19 1.5 NA - 288 #F8766D 0.3145655200 0.0021205292 1 1 19 1.5 NA - 289 #F8766D -0.3538396093 0.0021205292 1 1 19 1.5 NA - 290 #F8766D 0.3241764512 0.0021205292 1 1 19 1.5 NA - 291 #F8766D -0.3026796005 0.0021205292 1 1 19 1.5 NA - 292 #F8766D -0.3191612048 0.0021205292 1 1 19 1.5 NA - 293 #F8766D -1.8026274968 0.0021205292 1 1 19 1.5 NA - 294 #F8766D -0.5758487621 0.0021205292 1 1 19 1.5 NA - 295 #F8766D -1.2360064271 0.0021205292 1 1 19 1.5 NA - 296 #F8766D 0.3410542500 0.0021205292 1 1 19 1.5 NA - 297 #F8766D 0.3008918778 0.0021205292 1 1 19 1.5 NA - 298 #F8766D 0.5466453714 0.0021205292 1 1 19 1.5 NA - 299 #F8766D 0.3084764907 0.0021205292 1 1 19 1.5 NA - 300 #F8766D 0.6395319931 0.0021205292 1 1 19 1.5 NA - 301 #F8766D -0.2810901318 0.0021205292 1 1 19 1.5 NA - 302 #F8766D 0.4443292138 0.0021205292 1 1 19 1.5 NA - 303 #F8766D 0.4581921431 0.0021205292 1 1 19 1.5 NA - 304 #F8766D -0.2913216910 0.0021205292 1 1 19 1.5 NA - 305 #F8766D 0.2860234283 0.0021205292 1 1 19 1.5 NA - 306 #F8766D 0.4764319455 0.0021205292 1 1 19 1.5 NA - 307 #F8766D -0.8231103624 0.0021205292 1 1 19 1.5 NA - 308 #F8766D 0.5439950665 0.0021205292 1 1 19 1.5 NA - 309 #F8766D 0.2715378477 0.0021205292 1 1 19 1.5 NA - 310 #F8766D -1.3215313505 0.0021205292 1 1 19 1.5 NA - 311 #F8766D 0.5381969767 0.0021205292 1 1 19 1.5 NA - 312 #F8766D -0.2785922665 0.0021205292 1 1 19 1.5 NA - 313 #F8766D -0.3808237882 0.0021205292 1 1 19 1.5 NA - 314 #F8766D 0.8698032976 0.0021205292 1 1 19 1.5 NA - 315 #F8766D 0.9268225307 0.0021205292 1 1 19 1.5 NA - 316 #F8766D -0.2654794427 0.0021205292 1 1 19 1.5 NA - 317 #F8766D 0.4102638172 0.0021205292 1 1 19 1.5 NA - 318 #F8766D 0.3816132818 0.0021205292 1 1 19 1.5 NA - 319 #F8766D -0.2910726245 0.0021205292 1 1 19 1.5 NA - 320 #F8766D -1.3430459310 0.0021205292 1 1 19 1.5 NA - 321 #F8766D -0.3318150732 0.0021205292 1 1 19 1.5 NA - 322 #F8766D 0.4520202887 0.0021205292 1 1 19 1.5 NA - 323 #F8766D 0.2955240096 0.0021205292 1 1 19 1.5 NA - 324 #F8766D 0.5092735854 0.0021205292 1 1 19 1.5 NA - 325 #F8766D 0.2686698663 0.0021205292 1 1 19 1.5 NA - 326 #F8766D 0.6426774510 0.0021205292 1 1 19 1.5 NA - 327 #F8766D 0.4341564367 0.0021205292 1 1 19 1.5 NA - 328 #F8766D -0.2761859487 0.0021205292 1 1 19 1.5 NA - 329 #F8766D -0.4051765497 0.0021205292 1 1 19 1.5 NA - 330 #F8766D 0.5372000305 0.0021205292 1 1 19 1.5 NA - 331 #F8766D -0.2905559917 0.0021205292 1 1 19 1.5 NA - 332 #F8766D 0.2644082912 0.0021205292 1 1 19 1.5 NA - 333 #F8766D -0.3135406597 0.0021205292 1 1 19 1.5 NA - 334 #F8766D 0.3562688540 0.0021205292 1 1 19 1.5 NA - 335 #F8766D -0.7291590551 0.0021205292 1 1 19 1.5 NA - 336 #F8766D 0.2500154576 0.0021205292 1 1 19 1.5 NA - 337 #F8766D -0.6789647111 0.0021205292 1 1 19 1.5 NA - 338 #F8766D 0.4509775382 0.0021205292 1 1 19 1.5 NA - 339 #F8766D -0.2993343651 0.0021205292 1 1 19 1.5 NA - 340 #F8766D 0.2641133128 0.0021205292 1 1 19 1.5 NA - 341 #F8766D -0.3020799024 0.0021205292 1 1 19 1.5 NA - 342 #F8766D -0.2710179986 0.0021205292 1 1 19 1.5 NA - 343 #F8766D 0.4351808044 0.0021205292 1 1 19 1.5 NA - 344 #F8766D -0.5227249300 0.0021205292 1 1 19 1.5 NA - 345 #F8766D 0.2483553972 0.0021205292 1 1 19 1.5 NA - 346 #F8766D -0.4242568219 0.0021205292 1 1 19 1.5 NA - 347 #F8766D -1.0725152227 0.0021205292 1 1 19 1.5 NA - 348 #F8766D 0.4571846480 0.0021205292 1 1 19 1.5 NA - 349 #F8766D 0.4988136728 0.0021205292 1 1 19 1.5 NA - 350 #F8766D 0.6953252632 0.0021205292 1 1 19 1.5 NA - 351 #F8766D 0.2410544029 0.0021205292 1 1 19 1.5 NA - 352 #F8766D 0.5175130411 0.0021205292 1 1 19 1.5 NA - 353 #F8766D -0.6709335663 0.0021205292 1 1 19 1.5 NA - 354 #F8766D 0.3114712619 0.0021205292 1 1 19 1.5 NA - 355 #F8766D -0.4104370849 0.0021205292 1 1 19 1.5 NA - 356 #F8766D 0.2952405739 0.0021205292 1 1 19 1.5 NA - 357 #F8766D 0.4487253097 0.0021205292 1 1 19 1.5 NA - 358 #F8766D 0.4474532343 0.0021205292 1 1 19 1.5 NA - 359 #F8766D -0.3053799478 0.0021205292 1 1 19 1.5 NA - 360 #F8766D -0.4010622648 0.0021205292 1 1 19 1.5 NA - 361 #F8766D -0.2631023165 0.0021205292 1 1 19 1.5 NA - 362 #F8766D -0.3569947289 0.0021205292 1 1 19 1.5 NA - 363 #F8766D -0.5614679844 0.0021205292 1 1 19 1.5 NA - 364 #F8766D 0.7076694925 0.0021205292 1 1 19 1.5 NA - 365 #F8766D 0.2374402194 0.0021205292 1 1 19 1.5 NA - 366 #F8766D 0.6724119805 0.0021205292 1 1 19 1.5 NA - 367 #F8766D 0.4403945065 0.0021205292 1 1 19 1.5 NA - 368 #F8766D -0.2621067897 0.0021205292 1 1 19 1.5 NA - 369 #F8766D -0.2635115073 0.0021205292 1 1 19 1.5 NA - 370 #F8766D -0.3353818255 0.0021205292 1 1 19 1.5 NA - 371 #F8766D -0.2514804689 0.0021205292 1 1 19 1.5 NA - 372 #F8766D -0.2579959351 0.0021205292 1 1 19 1.5 NA - 373 #F8766D 0.2425340350 0.0021205292 1 1 19 1.5 NA - 374 #F8766D -0.9697882171 0.0021205292 1 1 19 1.5 NA - 375 #F8766D 0.2226739667 0.0021205292 1 1 19 1.5 NA - 376 #F8766D 0.2348380948 0.0021205292 1 1 19 1.5 NA - 377 #F8766D 0.4312612650 0.0021205292 1 1 19 1.5 NA - 378 #F8766D 0.5051418603 0.0021205292 1 1 19 1.5 NA - 379 #F8766D -0.2286818481 0.0021205292 1 1 19 1.5 NA - 380 #F8766D -0.3775536850 0.0021205292 1 1 19 1.5 NA - 381 #F8766D 0.2776478690 0.0021205292 1 1 19 1.5 NA - 382 #F8766D -0.3593048088 0.0021205292 1 1 19 1.5 NA - 383 #F8766D 0.2389571486 0.0021205292 1 1 19 1.5 NA - 384 #F8766D -0.2487954892 0.0021205292 1 1 19 1.5 NA - 385 #F8766D 0.2610043607 0.0021205292 1 1 19 1.5 NA - 386 #F8766D 0.5595579779 0.0021205292 1 1 19 1.5 NA - 387 #F8766D -0.6523690008 0.0021205292 1 1 19 1.5 NA - 388 #F8766D 0.4535294343 0.0021205292 1 1 19 1.5 NA - 389 #F8766D 0.7960057282 0.0021205292 1 1 19 1.5 NA - 390 #F8766D 0.4936763072 0.0021205292 1 1 19 1.5 NA - 391 #F8766D 0.2597379040 0.0021205292 1 1 19 1.5 NA - 392 #F8766D 0.2510662538 0.0021205292 1 1 19 1.5 NA - 393 #F8766D 0.2595230788 0.0021205292 1 1 19 1.5 NA - 394 #F8766D 0.2975290461 0.0021205292 1 1 19 1.5 NA - 395 #F8766D -0.2147854231 0.0021205292 1 1 19 1.5 NA - 396 #F8766D -0.5093831745 0.0021205292 1 1 19 1.5 NA - 397 #F8766D 0.4671136864 0.0021205292 1 1 19 1.5 NA - 398 #F8766D 0.2318773323 0.0021205292 1 1 19 1.5 NA - 399 #F8766D 0.2413981470 0.0021205292 1 1 19 1.5 NA - 400 #F8766D -0.2360650085 0.0021205292 1 1 19 1.5 NA - 401 #F8766D 0.2477701878 0.0021205292 1 1 19 1.5 NA - 402 #F8766D 0.2511348646 0.0021205292 1 1 19 1.5 NA - 403 #F8766D 0.3916729208 0.0021205292 1 1 19 1.5 NA - 404 #F8766D 0.2469908554 0.0021205292 1 1 19 1.5 NA - 405 #F8766D 0.4330210234 0.0021205292 1 1 19 1.5 NA - 406 #F8766D 0.2381657347 0.0021205292 1 1 19 1.5 NA - 407 #F8766D 0.2199339312 0.0021205292 1 1 19 1.5 NA - 408 #F8766D -0.2675779508 0.0021205292 1 1 19 1.5 NA - 409 #F8766D -0.4141492792 0.0021205292 1 1 19 1.5 NA - 410 #F8766D -0.4087444776 0.0021205292 1 1 19 1.5 NA - 411 #F8766D 0.9239443244 0.0021205292 1 1 19 1.5 NA - 412 #F8766D 0.4289958652 0.0021205292 1 1 19 1.5 NA - 413 #F8766D 0.4278679683 0.0021205292 1 1 19 1.5 NA - 414 #F8766D 0.3319365181 0.0021205292 1 1 19 1.5 NA - 415 #F8766D -0.2576166279 0.0021205292 1 1 19 1.5 NA - 416 #F8766D 0.2421629531 0.0021205292 1 1 19 1.5 NA - 417 #F8766D 0.4965992546 0.0021205292 1 1 19 1.5 NA - 418 #F8766D 0.2227846184 0.0021205292 1 1 19 1.5 NA - 419 #F8766D -0.2654171324 0.0021205292 1 1 19 1.5 NA - 420 #F8766D -0.8809674893 0.0021205292 1 1 19 1.5 NA - 421 #F8766D -0.3640459441 0.0021205292 1 1 19 1.5 NA - 422 #F8766D 0.2005369664 0.0021205292 1 1 19 1.5 NA - 423 #F8766D 0.4534842261 0.0021205292 1 1 19 1.5 NA - 424 #F8766D -0.3933862737 0.0021205292 1 1 19 1.5 NA - 425 #F8766D -0.2105289883 0.0021205292 1 1 19 1.5 NA - 426 #F8766D -0.2143911784 0.0021205292 1 1 19 1.5 NA - 427 #F8766D 0.2134026906 0.0021205292 1 1 19 1.5 NA - 428 #F8766D 0.3135859009 0.0021205292 1 1 19 1.5 NA - 429 #F8766D 0.4065726520 0.0021205292 1 1 19 1.5 NA - 430 #F8766D -0.2292063427 0.0021205292 1 1 19 1.5 NA - 431 #F8766D 0.2881987250 0.0021205292 1 1 19 1.5 NA - 432 #F8766D -0.2533990768 0.0021205292 1 1 19 1.5 NA - 433 #F8766D -0.2486274847 0.0021205292 1 1 19 1.5 NA - 434 #F8766D -0.2227077951 0.0021205292 1 1 19 1.5 NA - 435 #F8766D 0.2013973111 0.0021205292 1 1 19 1.5 NA - 436 #F8766D 0.2472142917 0.0021205292 1 1 19 1.5 NA - 437 #F8766D 0.1998149571 0.0021205292 1 1 19 1.5 NA - 438 #F8766D -0.4283699748 0.0021205292 1 1 19 1.5 NA - 439 #F8766D 0.4536491792 0.0021205292 1 1 19 1.5 NA - 440 #F8766D 0.2110490901 0.0021205292 1 1 19 1.5 NA - 441 #F8766D 0.3648493554 0.0021205292 1 1 19 1.5 NA - 442 #F8766D -0.8374915411 0.0021205292 1 1 19 1.5 NA - 443 #F8766D -0.2631779786 0.0021205292 1 1 19 1.5 NA - 444 #F8766D 0.4376837444 0.0021205292 1 1 19 1.5 NA - 445 #F8766D -0.2265976458 0.0021205292 1 1 19 1.5 NA - 446 #F8766D -0.3398872295 0.0021205292 1 1 19 1.5 NA - 447 #F8766D 0.3865085955 0.0021205292 1 1 19 1.5 NA - 448 #F8766D -0.2057371863 0.0021205292 1 1 19 1.5 NA - 449 #F8766D 0.4426914718 0.0021205292 1 1 19 1.5 NA - 450 #F8766D 0.6183710053 0.0021205292 1 1 19 1.5 NA - 451 #F8766D 0.2096647117 0.0021205292 1 1 19 1.5 NA - 452 #F8766D -0.2161061630 0.0021205292 1 1 19 1.5 NA - 453 #F8766D 0.5470986750 0.0021205292 1 1 19 1.5 NA - 454 #F8766D -0.2093510344 0.0021205292 1 1 19 1.5 NA - 455 #F8766D 0.2169504187 0.0021205292 1 1 19 1.5 NA - 456 #F8766D -0.2406447461 0.0021205292 1 1 19 1.5 NA - 457 #F8766D 0.2109441237 0.0021205292 1 1 19 1.5 NA - 458 #F8766D 0.2032687386 0.0021205292 1 1 19 1.5 NA - 459 #F8766D -0.2613335485 0.0021205292 1 1 19 1.5 NA - 460 #F8766D -0.3466747063 0.0021205292 1 1 19 1.5 NA - 461 #F8766D 0.1863006359 0.0021205292 1 1 19 1.5 NA - 462 #F8766D 0.3475112209 0.0021205292 1 1 19 1.5 NA - 463 #F8766D 0.3811490045 0.0021205292 1 1 19 1.5 NA - 464 #F8766D 0.1955109715 0.0021205292 1 1 19 1.5 NA - 465 #F8766D 0.3903333590 0.0021205292 1 1 19 1.5 NA - 466 #F8766D -0.4208616426 0.0021205292 1 1 19 1.5 NA - 467 #F8766D 0.1935090621 0.0021205292 1 1 19 1.5 NA - 468 #F8766D 0.1974295823 0.0021205292 1 1 19 1.5 NA - 469 #F8766D 0.3832935752 0.0021205292 1 1 19 1.5 NA - 470 #F8766D 0.1916427215 0.0021205292 1 1 19 1.5 NA - 471 #F8766D 0.2097611556 0.0021205292 1 1 19 1.5 NA - 472 #F8766D -0.6658762091 0.0021205292 1 1 19 1.5 NA - 473 #F8766D -0.4538025006 0.0021205292 1 1 19 1.5 NA - 474 #F8766D 0.2177423569 0.0021205292 1 1 19 1.5 NA - 475 #F8766D 0.2113205182 0.0021205292 1 1 19 1.5 NA - 476 #F8766D 0.1867078505 0.0021205292 1 1 19 1.5 NA - 477 #F8766D -0.3722974980 0.0021205292 1 1 19 1.5 NA - 478 #F8766D -0.3026530931 0.0021205292 1 1 19 1.5 NA - 479 #F8766D 0.2032304516 0.0021205292 1 1 19 1.5 NA - 480 #F8766D -0.2103955238 0.0021205292 1 1 19 1.5 NA - 481 #F8766D 0.1906069498 0.0021205292 1 1 19 1.5 NA - 482 #F8766D 0.3214523861 0.0021205292 1 1 19 1.5 NA - 483 #F8766D -0.1783734666 0.0021205292 1 1 19 1.5 NA - 484 #F8766D 0.1976502525 0.0021205292 1 1 19 1.5 NA - 485 #F8766D 0.2207131822 0.0021205292 1 1 19 1.5 NA - 486 #F8766D -0.2008804019 0.0021205292 1 1 19 1.5 NA - 487 #F8766D -0.1802704449 0.0021205292 1 1 19 1.5 NA - 488 #F8766D -0.1827142668 0.0021205292 1 1 19 1.5 NA - 489 #F8766D -0.3506732252 0.0021205292 1 1 19 1.5 NA - 490 #F8766D -1.0409145386 0.0021205292 1 1 19 1.5 NA - 491 #F8766D -0.2163720236 0.0021205292 1 1 19 1.5 NA - 492 #F8766D 0.3300134202 0.0021205292 1 1 19 1.5 NA - 493 #F8766D -0.3836239714 0.0021205292 1 1 19 1.5 NA - 494 #F8766D 0.3249647163 0.0021205292 1 1 19 1.5 NA - 495 #F8766D 0.1938682000 0.0021205292 1 1 19 1.5 NA - 496 #F8766D 0.2031516192 0.0021205292 1 1 19 1.5 NA - 497 #F8766D -0.2523386039 0.0021205292 1 1 19 1.5 NA - 498 #F8766D 0.2068533625 0.0021205292 1 1 19 1.5 NA - 499 #F8766D 0.3744980009 0.0021205292 1 1 19 1.5 NA - 500 #F8766D -0.1987705845 0.0021205292 1 1 19 1.5 NA - 501 #F8766D 0.1694579834 0.0021205292 1 1 19 1.5 NA - 502 #F8766D 0.5719030062 0.0021205292 1 1 19 1.5 NA - 503 #F8766D 0.2098426589 0.0021205292 1 1 19 1.5 NA - 504 #F8766D -0.1913969094 0.0021205292 1 1 19 1.5 NA - 505 #F8766D 0.3695976045 0.0021205292 1 1 19 1.5 NA - 506 #F8766D 0.2129203299 0.0021205292 1 1 19 1.5 NA - 507 #F8766D -0.3451447775 0.0021205292 1 1 19 1.5 NA - 508 #F8766D -0.1962019288 0.0021205292 1 1 19 1.5 NA - 509 #F8766D 0.3204899036 0.0021205292 1 1 19 1.5 NA - 510 #F8766D -0.1688496081 0.0021205292 1 1 19 1.5 NA - 511 #F8766D -0.1963774935 0.0021205292 1 1 19 1.5 NA - 512 #F8766D 0.1861421489 0.0021205292 1 1 19 1.5 NA - 513 #F8766D 0.3614559220 0.0021205292 1 1 19 1.5 NA - 514 #F8766D 0.2022288582 0.0021205292 1 1 19 1.5 NA - 515 #F8766D 0.3626286036 0.0021205292 1 1 19 1.5 NA - 516 #F8766D 0.3272794242 0.0021205292 1 1 19 1.5 NA - 517 #F8766D -0.1966040257 0.0021205292 1 1 19 1.5 NA - 518 #F8766D -0.1893996296 0.0021205292 1 1 19 1.5 NA - 519 #F8766D 0.1729694503 0.0021205292 1 1 19 1.5 NA - 520 #F8766D 0.3911637220 0.0021205292 1 1 19 1.5 NA - 521 #F8766D -0.2163166947 0.0021205292 1 1 19 1.5 NA - 522 #F8766D 0.2330357390 0.0021205292 1 1 19 1.5 NA - 523 #F8766D 0.1765810086 0.0021205292 1 1 19 1.5 NA - 524 #F8766D 0.3076673390 0.0021205292 1 1 19 1.5 NA - 525 #F8766D -0.1862292966 0.0021205292 1 1 19 1.5 NA - 526 #F8766D 0.3096173349 0.0021205292 1 1 19 1.5 NA - 527 #F8766D 0.5288545606 0.0021205292 1 1 19 1.5 NA - 528 #F8766D 0.1874186941 0.0021205292 1 1 19 1.5 NA - 529 #F8766D 0.3449968868 0.0021205292 1 1 19 1.5 NA - 530 #F8766D 0.3061548619 0.0021205292 1 1 19 1.5 NA - 531 #F8766D -0.8040538809 0.0021205292 1 1 19 1.5 NA - 532 #F8766D -0.5070900065 0.0021205292 1 1 19 1.5 NA - 533 #F8766D -0.1660442095 0.0021205292 1 1 19 1.5 NA - 534 #F8766D 0.1678660708 0.0021205292 1 1 19 1.5 NA - 535 #F8766D -0.1642188451 0.0021205292 1 1 19 1.5 NA - 536 #F8766D -0.1805330451 0.0021205292 1 1 19 1.5 NA - 537 #F8766D 0.1911184090 0.0021205292 1 1 19 1.5 NA - 538 #F8766D 0.2914695507 0.0021205292 1 1 19 1.5 NA - 539 #F8766D 0.1963887698 0.0021205292 1 1 19 1.5 NA - 540 #F8766D 0.6780539125 0.0021205292 1 1 19 1.5 NA - 541 #F8766D 0.1882396720 0.0021205292 1 1 19 1.5 NA - 542 #F8766D 0.3070997340 0.0021205292 1 1 19 1.5 NA - 543 #F8766D -0.1909795699 0.0021205292 1 1 19 1.5 NA - 544 #F8766D 0.3165370062 0.0021205292 1 1 19 1.5 NA - 545 #F8766D 0.1722995623 0.0021205292 1 1 19 1.5 NA - 546 #F8766D -0.1663354699 0.0021205292 1 1 19 1.5 NA - 547 #F8766D -0.1857744508 0.0021205292 1 1 19 1.5 NA - 548 #F8766D -0.1802679540 0.0021205292 1 1 19 1.5 NA - 549 #F8766D -0.5271010630 0.0021205292 1 1 19 1.5 NA - 550 #F8766D -0.2031523575 0.0021205292 1 1 19 1.5 NA - 551 #F8766D 0.2623861531 0.0021205292 1 1 19 1.5 NA - 552 #F8766D 0.2502941753 0.0021205292 1 1 19 1.5 NA - 553 #F8766D 0.3137075187 0.0021205292 1 1 19 1.5 NA - 554 #F8766D -0.6289336675 0.0021205292 1 1 19 1.5 NA - 555 #F8766D 0.3159054698 0.0021205292 1 1 19 1.5 NA - 556 #F8766D -0.3679326362 0.0021205292 1 1 19 1.5 NA - 557 #F8766D -0.3402043028 0.0021205292 1 1 19 1.5 NA - 558 #F8766D 0.3531698438 0.0021205292 1 1 19 1.5 NA - 559 #F8766D -0.1705662597 0.0021205292 1 1 19 1.5 NA - 560 #F8766D -0.3723526053 0.0021205292 1 1 19 1.5 NA - 561 #F8766D -0.2963110948 0.0021205292 1 1 19 1.5 NA - 562 #F8766D 0.2082006032 0.0021205292 1 1 19 1.5 NA - 563 #F8766D 0.3529694513 0.0021205292 1 1 19 1.5 NA - 564 #F8766D -0.1508020004 0.0021205292 1 1 19 1.5 NA - 565 #F8766D -0.2707049190 0.0021205292 1 1 19 1.5 NA - 566 #F8766D 0.1629187178 0.0021205292 1 1 19 1.5 NA - 567 #F8766D -0.3271223763 0.0021205292 1 1 19 1.5 NA - 568 #F8766D -0.1410811870 0.0021205292 1 1 19 1.5 NA - 569 #F8766D 0.1644469589 0.0021205292 1 1 19 1.5 NA - 570 #F8766D 0.2003795214 0.0021205292 1 1 19 1.5 NA - 571 #F8766D 0.2835137077 0.0021205292 1 1 19 1.5 NA - 572 #F8766D 0.3280848382 0.0021205292 1 1 19 1.5 NA - 573 #F8766D -0.1576579494 0.0021205292 1 1 19 1.5 NA - 574 #F8766D -0.1539084116 0.0021205292 1 1 19 1.5 NA - 575 #F8766D 0.1590798076 0.0021205292 1 1 19 1.5 NA - 576 #F8766D -0.1403280937 0.0021205292 1 1 19 1.5 NA - 577 #F8766D 0.1645328970 0.0021205292 1 1 19 1.5 NA - 578 #F8766D 0.3364418091 0.0021205292 1 1 19 1.5 NA - 579 #F8766D 0.2448745977 0.0021205292 1 1 19 1.5 NA - 580 #F8766D -0.1493978033 0.0021205292 1 1 19 1.5 NA - 581 #F8766D -0.1447912451 0.0021205292 1 1 19 1.5 NA - 582 #F8766D -0.1558526720 0.0021205292 1 1 19 1.5 NA - 583 #F8766D -0.1584362582 0.0021205292 1 1 19 1.5 NA - 584 #F8766D 0.1469032309 0.0021205292 1 1 19 1.5 NA - 585 #F8766D -0.3022281976 0.0021205292 1 1 19 1.5 NA - 586 #F8766D 0.1739528123 0.0021205292 1 1 19 1.5 NA - 587 #F8766D 0.1489350268 0.0021205292 1 1 19 1.5 NA - 588 #F8766D 0.1643122858 0.0021205292 1 1 19 1.5 NA - 589 #F8766D -0.3521472941 0.0021205292 1 1 19 1.5 NA - 590 #F8766D 0.1662214693 0.0021205292 1 1 19 1.5 NA - 591 #F8766D -0.1562867212 0.0021205292 1 1 19 1.5 NA - 592 #F8766D -0.1671020630 0.0021205292 1 1 19 1.5 NA - 593 #F8766D 0.1582084809 0.0021205292 1 1 19 1.5 NA - 594 #F8766D 0.1627158259 0.0021205292 1 1 19 1.5 NA - 595 #F8766D -0.1726025401 0.0021205292 1 1 19 1.5 NA - 596 #F8766D 0.2520777233 0.0021205292 1 1 19 1.5 NA - 597 #F8766D -0.1558857775 0.0021205292 1 1 19 1.5 NA - 598 #F8766D 0.1819805448 0.0021205292 1 1 19 1.5 NA - 599 #F8766D -0.2740474758 0.0021205292 1 1 19 1.5 NA - 600 #F8766D -0.1485481458 0.0021205292 1 1 19 1.5 NA - 601 #F8766D -0.1655077936 0.0021205292 1 1 19 1.5 NA - 602 #F8766D -0.3987298337 0.0021205292 1 1 19 1.5 NA - 603 #F8766D -0.3620371093 0.0021205292 1 1 19 1.5 NA - 604 #F8766D -0.2993433980 0.0021205292 1 1 19 1.5 NA - 605 #F8766D 0.1509504374 0.0021205292 1 1 19 1.5 NA - 606 #F8766D 0.1624363813 0.0021205292 1 1 19 1.5 NA - 607 #F8766D -0.3427262955 0.0021205292 1 1 19 1.5 NA - 608 #F8766D 0.2585812673 0.0021205292 1 1 19 1.5 NA - 609 #F8766D -0.3829184833 0.0021205292 1 1 19 1.5 NA - 610 #F8766D 0.2598268865 0.0021205292 1 1 19 1.5 NA - 611 #F8766D -0.1577866082 0.0021205292 1 1 19 1.5 NA - 612 #F8766D 0.1421154003 0.0021205292 1 1 19 1.5 NA - 613 #F8766D -0.1443382123 0.0021205292 1 1 19 1.5 NA - 614 #F8766D -0.1444995933 0.0021205292 1 1 19 1.5 NA - 615 #F8766D 0.3923065448 0.0021205292 1 1 19 1.5 NA - 616 #F8766D -0.2565465824 0.0021205292 1 1 19 1.5 NA - 617 #F8766D -0.1404116565 0.0021205292 1 1 19 1.5 NA - 618 #F8766D -0.2063852509 0.0021205292 1 1 19 1.5 NA - 619 #F8766D 0.3448504335 0.0021205292 1 1 19 1.5 NA - 620 #F8766D 0.2722107129 0.0021205292 1 1 19 1.5 NA - 621 #F8766D -0.1375965889 0.0021205292 1 1 19 1.5 NA - 622 #F8766D 0.2562487556 0.0021205292 1 1 19 1.5 NA - 623 #F8766D 0.1391322479 0.0021205292 1 1 19 1.5 NA - 624 #F8766D -0.1979261876 0.0021205292 1 1 19 1.5 NA - 625 #F8766D 0.1270751021 0.0021205292 1 1 19 1.5 NA - 626 #F8766D -0.2099584898 0.0021205292 1 1 19 1.5 NA - 627 #F8766D -0.1355477754 0.0021205292 1 1 19 1.5 NA - 628 #F8766D 0.1436023807 0.0021205292 1 1 19 1.5 NA - 629 #F8766D -0.1464937200 0.0021205292 1 1 19 1.5 NA - 630 #F8766D 0.1648466483 0.0021205292 1 1 19 1.5 NA - 631 #F8766D 0.2266372699 0.0021205292 1 1 19 1.5 NA - 632 #F8766D 0.1174472855 0.0021205292 1 1 19 1.5 NA - 633 #F8766D -0.3110090353 0.0021205292 1 1 19 1.5 NA - 634 #F8766D 0.4528976494 0.0021205292 1 1 19 1.5 NA - 635 #F8766D 0.1513421923 0.0021205292 1 1 19 1.5 NA - 636 #F8766D 0.1585510344 0.0021205292 1 1 19 1.5 NA - 637 #F8766D -0.1313172890 0.0021205292 1 1 19 1.5 NA - 638 #F8766D -0.2073781767 0.0021205292 1 1 19 1.5 NA - 639 #F8766D -0.1386134382 0.0021205292 1 1 19 1.5 NA - 640 #F8766D 0.1306753392 0.0021205292 1 1 19 1.5 NA - 641 #F8766D -0.4261097440 0.0021205292 1 1 19 1.5 NA - 642 #F8766D 0.2122396659 0.0021205292 1 1 19 1.5 NA - 643 #F8766D 0.2303707981 0.0021205292 1 1 19 1.5 NA - 644 #F8766D 0.1226463601 0.0021205292 1 1 19 1.5 NA - 645 #F8766D -0.1168206763 0.0021205292 1 1 19 1.5 NA - 646 #F8766D -0.1278698880 0.0021205292 1 1 19 1.5 NA - 647 #F8766D 0.2484768720 0.0021205292 1 1 19 1.5 NA - 648 #F8766D 0.2290087298 0.0021205292 1 1 19 1.5 NA - 649 #F8766D -0.1500425752 0.0021205292 1 1 19 1.5 NA - 650 #F8766D 0.1357076250 0.0021205292 1 1 19 1.5 NA - 651 #F8766D -0.1362549948 0.0021205292 1 1 19 1.5 NA - 652 #F8766D -0.2873961660 0.0021205292 1 1 19 1.5 NA - 653 #F8766D -0.1360168377 0.0021205292 1 1 19 1.5 NA - 654 #F8766D 0.2461522130 0.0021205292 1 1 19 1.5 NA - 655 #F8766D -0.2181431114 0.0021205292 1 1 19 1.5 NA - 656 #F8766D 0.2337047142 0.0021205292 1 1 19 1.5 NA - 657 #F8766D -0.1514461020 0.0021205292 1 1 19 1.5 NA - 658 #F8766D -0.1276014407 0.0021205292 1 1 19 1.5 NA - 659 #F8766D 0.1387423123 0.0021205292 1 1 19 1.5 NA - 660 #F8766D 0.1369800355 0.0021205292 1 1 19 1.5 NA - 661 #F8766D -0.1372646688 0.0021205292 1 1 19 1.5 NA - 662 #F8766D -0.3834149777 0.0021205292 1 1 19 1.5 NA - 663 #F8766D -0.1336025384 0.0021205292 1 1 19 1.5 NA - 664 #F8766D 0.2227575507 0.0021205292 1 1 19 1.5 NA - 665 #F8766D -0.1113981532 0.0021205292 1 1 19 1.5 NA - 666 #F8766D 0.2387595405 0.0021205292 1 1 19 1.5 NA - 667 #F8766D 0.3781441180 0.0021205292 1 1 19 1.5 NA - 668 #F8766D -0.2316601933 0.0021205292 1 1 19 1.5 NA - 669 #F8766D 0.1425800382 0.0021205292 1 1 19 1.5 NA - 670 #F8766D -0.3755496755 0.0021205292 1 1 19 1.5 NA - 671 #F8766D 0.1181455925 0.0021205292 1 1 19 1.5 NA - 672 #F8766D 0.2388149041 0.0021205292 1 1 19 1.5 NA - 673 #F8766D 0.2816447558 0.0021205292 1 1 19 1.5 NA - 674 #F8766D 0.1186249464 0.0021205292 1 1 19 1.5 NA - 675 #F8766D 0.2123108545 0.0021205292 1 1 19 1.5 NA - 676 #F8766D 0.1884134619 0.0021205292 1 1 19 1.5 NA - 677 #F8766D 0.3253690632 0.0021205292 1 1 19 1.5 NA - 678 #F8766D -0.1898588654 0.0021205292 1 1 19 1.5 NA - 679 #F8766D -0.2540576000 0.0021205292 1 1 19 1.5 NA - 680 #F8766D 0.1969649767 0.0021205292 1 1 19 1.5 NA - 681 #F8766D 0.1173817941 0.0021205292 1 1 19 1.5 NA - 682 #F8766D 0.3649953927 0.0021205292 1 1 19 1.5 NA - 683 #F8766D 0.1232383946 0.0021205292 1 1 19 1.5 NA - 684 #F8766D 0.1999084930 0.0021205292 1 1 19 1.5 NA - 685 #F8766D -0.1180521875 0.0021205292 1 1 19 1.5 NA - 686 #F8766D 0.1125367710 0.0021205292 1 1 19 1.5 NA - 687 #F8766D 0.1220673057 0.0021205292 1 1 19 1.5 NA - 688 #F8766D 0.2055450678 0.0021205292 1 1 19 1.5 NA - 689 #F8766D 0.1087758602 0.0021205292 1 1 19 1.5 NA - 690 #F8766D -0.1780404824 0.0021205292 1 1 19 1.5 NA - 691 #F8766D -0.1100927851 0.0021205292 1 1 19 1.5 NA - 692 #F8766D -0.1856275504 0.0021205292 1 1 19 1.5 NA - 693 #F8766D 0.2240712615 0.0021205292 1 1 19 1.5 NA - 694 #F8766D -0.1196281880 0.0021205292 1 1 19 1.5 NA - 695 #F8766D 0.1182596058 0.0021205292 1 1 19 1.5 NA - 696 #F8766D -0.1242485577 0.0021205292 1 1 19 1.5 NA - 697 #F8766D 0.1166231228 0.0021205292 1 1 19 1.5 NA - 698 #F8766D -0.1117726183 0.0021205292 1 1 19 1.5 NA - 699 #F8766D -0.1099912395 0.0021205292 1 1 19 1.5 NA - 700 #F8766D 0.2569032008 0.0021205292 1 1 19 1.5 NA - 701 #F8766D 0.2161262297 0.0021205292 1 1 19 1.5 NA - 702 #F8766D -0.1191410771 0.0021205292 1 1 19 1.5 NA - 703 #F8766D 0.6383183965 0.0021205292 1 1 19 1.5 NA - 704 #F8766D -0.1023531778 0.0021205292 1 1 19 1.5 NA - 705 #F8766D -0.2264384429 0.0021205292 1 1 19 1.5 NA - 706 #F8766D -0.1054468401 0.0021205292 1 1 19 1.5 NA - 707 #F8766D 0.1137002104 0.0021205292 1 1 19 1.5 NA - 708 #F8766D 0.1096371476 0.0021205292 1 1 19 1.5 NA - 709 #F8766D -0.1120213702 0.0021205292 1 1 19 1.5 NA - 710 #F8766D -0.2155871947 0.0021205292 1 1 19 1.5 NA - 711 #F8766D -0.1201364726 0.0021205292 1 1 19 1.5 NA - 712 #F8766D -0.1039928585 0.0021205292 1 1 19 1.5 NA - 713 #F8766D 0.1034445241 0.0021205292 1 1 19 1.5 NA - 714 #F8766D -0.3090990775 0.0021205292 1 1 19 1.5 NA - 715 #F8766D 0.1043824468 0.0021205292 1 1 19 1.5 NA - 716 #F8766D -0.2041651096 0.0021205292 1 1 19 1.5 NA - 717 #F8766D -0.3423774218 0.0021205292 1 1 19 1.5 NA - 718 #F8766D 0.1271547270 0.0021205292 1 1 19 1.5 NA - 719 #F8766D -0.1137393357 0.0021205292 1 1 19 1.5 NA - 720 #F8766D 0.4219475822 0.0021205292 1 1 19 1.5 NA - 721 #F8766D 0.0983130021 0.0021205292 1 1 19 1.5 NA - 722 #F8766D -0.1437199120 0.0021205292 1 1 19 1.5 NA - 723 #F8766D 0.2160903880 0.0021205292 1 1 19 1.5 NA - 724 #F8766D 0.0963915761 0.0021205292 1 1 19 1.5 NA - 725 #F8766D -0.2177029761 0.0021205292 1 1 19 1.5 NA - 726 #F8766D 0.0948389376 0.0021205292 1 1 19 1.5 NA - 727 #F8766D -0.1176981727 0.0021205292 1 1 19 1.5 NA - 728 #F8766D -0.1790024027 0.0021205292 1 1 19 1.5 NA - 729 #F8766D 0.1849795781 0.0021205292 1 1 19 1.5 NA - 730 #F8766D 0.1768664586 0.0021205292 1 1 19 1.5 NA - 731 #F8766D -0.1076761404 0.0021205292 1 1 19 1.5 NA - 732 #F8766D -0.0894660904 0.0021205292 1 1 19 1.5 NA - 733 #F8766D 0.1031784033 0.0021205292 1 1 19 1.5 NA - 734 #F8766D 0.1761504299 0.0021205292 1 1 19 1.5 NA - 735 #F8766D 0.2164357528 0.0021205292 1 1 19 1.5 NA - 736 #F8766D -0.1958538563 0.0021205292 1 1 19 1.5 NA - 737 #F8766D -0.0891898481 0.0021205292 1 1 19 1.5 NA - 738 #F8766D -0.1555460747 0.0021205292 1 1 19 1.5 NA - 739 #F8766D -0.3050457371 0.0021205292 1 1 19 1.5 NA - 740 #F8766D -0.1603878305 0.0021205292 1 1 19 1.5 NA - 741 #F8766D -0.2650399619 0.0021205292 1 1 19 1.5 NA - 742 #F8766D -0.0965032565 0.0021205292 1 1 19 1.5 NA - 743 #F8766D 0.1736872318 0.0021205292 1 1 19 1.5 NA - 744 #F8766D 0.0969998303 0.0021205292 1 1 19 1.5 NA - 745 #F8766D -0.1507145088 0.0021205292 1 1 19 1.5 NA - 746 #F8766D 0.2290330440 0.0021205292 1 1 19 1.5 NA - 747 #F8766D 0.1507078400 0.0021205292 1 1 19 1.5 NA - 748 #F8766D -0.0958640030 0.0021205292 1 1 19 1.5 NA - 749 #F8766D 0.0935705421 0.0021205292 1 1 19 1.5 NA - 750 #F8766D 0.0986783552 0.0021205292 1 1 19 1.5 NA - 751 #F8766D -0.0976548550 0.0021205292 1 1 19 1.5 NA - 752 #F8766D 0.0891638654 0.0021205292 1 1 19 1.5 NA - 753 #F8766D 0.0909061982 0.0021205292 1 1 19 1.5 NA - 754 #F8766D -0.1117476811 0.0021205292 1 1 19 1.5 NA - 755 #F8766D -0.0960389399 0.0021205292 1 1 19 1.5 NA - 756 #F8766D 0.1154393946 0.0021205292 1 1 19 1.5 NA - 757 #F8766D 0.0974787296 0.0021205292 1 1 19 1.5 NA - 758 #F8766D -0.0941529167 0.0021205292 1 1 19 1.5 NA - 759 #F8766D 0.0835393988 0.0021205292 1 1 19 1.5 NA - 760 #F8766D -0.2409418528 0.0021205292 1 1 19 1.5 NA - 761 #F8766D -0.1139505407 0.0021205292 1 1 19 1.5 NA - 762 #F8766D 0.0931799450 0.0021205292 1 1 19 1.5 NA - 763 #F8766D 0.1741683955 0.0021205292 1 1 19 1.5 NA - 764 #F8766D -0.0988583415 0.0021205292 1 1 19 1.5 NA - 765 #F8766D 0.0762705505 0.0021205292 1 1 19 1.5 NA - 766 #F8766D -0.0864541447 0.0021205292 1 1 19 1.5 NA - 767 #F8766D -0.1446895232 0.0021205292 1 1 19 1.5 NA - 768 #F8766D 0.1651605665 0.0021205292 1 1 19 1.5 NA - 769 #F8766D -0.1410033212 0.0021205292 1 1 19 1.5 NA - 770 #F8766D 0.0793807952 0.0021205292 1 1 19 1.5 NA - 771 #F8766D 0.0901890069 0.0021205292 1 1 19 1.5 NA - 772 #F8766D 0.1138312698 0.0021205292 1 1 19 1.5 NA - 773 #F8766D 0.0887441285 0.0021205292 1 1 19 1.5 NA - 774 #F8766D -0.0895067691 0.0021205292 1 1 19 1.5 NA - 775 #F8766D 0.0773860460 0.0021205292 1 1 19 1.5 NA - 776 #F8766D 0.1691571568 0.0021205292 1 1 19 1.5 NA - 777 #F8766D 0.1005373841 0.0021205292 1 1 19 1.5 NA - 778 #F8766D -0.1396078094 0.0021205292 1 1 19 1.5 NA - 779 #F8766D 0.1475717262 0.0021205292 1 1 19 1.5 NA - 780 #F8766D 0.1651526975 0.0021205292 1 1 19 1.5 NA - 781 #F8766D 0.1323746339 0.0021205292 1 1 19 1.5 NA - 782 #F8766D 0.0793807097 0.0021205292 1 1 19 1.5 NA - 783 #F8766D -0.1784289866 0.0021205292 1 1 19 1.5 NA - 784 #F8766D -0.1274328795 0.0021205292 1 1 19 1.5 NA - 785 #F8766D 0.0741071465 0.0021205292 1 1 19 1.5 NA - 786 #F8766D 0.1341253631 0.0021205292 1 1 19 1.5 NA - 787 #F8766D 0.0709215911 0.0021205292 1 1 19 1.5 NA - 788 #F8766D 0.0734128620 0.0021205292 1 1 19 1.5 NA - 789 #F8766D 0.1338574669 0.0021205292 1 1 19 1.5 NA - 790 #F8766D -0.0785810985 0.0021205292 1 1 19 1.5 NA - 791 #F8766D 0.0788373390 0.0021205292 1 1 19 1.5 NA - 792 #F8766D -0.1147049732 0.0021205292 1 1 19 1.5 NA - 793 #F8766D 0.0806022074 0.0021205292 1 1 19 1.5 NA - 794 #F8766D -0.1280701844 0.0021205292 1 1 19 1.5 NA - 795 #F8766D 0.1387919817 0.0021205292 1 1 19 1.5 NA - 796 #F8766D -0.1328880681 0.0021205292 1 1 19 1.5 NA - 797 #F8766D 0.0947664377 0.0021205292 1 1 19 1.5 NA - 798 #F8766D 0.0741395571 0.0021205292 1 1 19 1.5 NA - 799 #F8766D -0.1257973220 0.0021205292 1 1 19 1.5 NA - 800 #F8766D -0.0760130294 0.0021205292 1 1 19 1.5 NA - 801 #F8766D 0.1307075542 0.0021205292 1 1 19 1.5 NA - 802 #F8766D 0.1866296501 0.0021205292 1 1 19 1.5 NA - 803 #F8766D -0.0670291358 0.0021205292 1 1 19 1.5 NA - 804 #F8766D 0.1280532999 0.0021205292 1 1 19 1.5 NA - 805 #F8766D -0.3175155187 0.0021205292 1 1 19 1.5 NA - 806 #F8766D 0.1146118370 0.0021205292 1 1 19 1.5 NA - 807 #F8766D 0.1417930995 0.0021205292 1 1 19 1.5 NA - 808 #F8766D 0.0647804858 0.0021205292 1 1 19 1.5 NA - 809 #F8766D -0.0660281188 0.0021205292 1 1 19 1.5 NA - 810 #F8766D -0.0663936934 0.0021205292 1 1 19 1.5 NA - 811 #F8766D 0.0753747097 0.0021205292 1 1 19 1.5 NA - 812 #F8766D 0.1142480179 0.0021205292 1 1 19 1.5 NA - 813 #F8766D -0.0695271693 0.0021205292 1 1 19 1.5 NA - 814 #F8766D 0.0705930490 0.0021205292 1 1 19 1.5 NA - 815 #F8766D -0.0687451054 0.0021205292 1 1 19 1.5 NA - 816 #F8766D 0.0736944138 0.0021205292 1 1 19 1.5 NA - 817 #F8766D 0.0603303759 0.0021205292 1 1 19 1.5 NA - 818 #F8766D 0.1165853770 0.0021205292 1 1 19 1.5 NA - 819 #F8766D -0.0625678560 0.0021205292 1 1 19 1.5 NA - 820 #F8766D 0.1932362750 0.0021205292 1 1 19 1.5 NA - 821 #F8766D 0.0590758782 0.0021205292 1 1 19 1.5 NA - 822 #F8766D -0.0760540722 0.0021205292 1 1 19 1.5 NA - 823 #F8766D 0.0668699875 0.0021205292 1 1 19 1.5 NA - 824 #F8766D 0.0653126334 0.0021205292 1 1 19 1.5 NA - 825 #F8766D -0.0700145882 0.0021205292 1 1 19 1.5 NA - 826 #F8766D 0.1222089381 0.0021205292 1 1 19 1.5 NA - 827 #F8766D 0.1060335846 0.0021205292 1 1 19 1.5 NA - 828 #F8766D 0.0710110560 0.0021205292 1 1 19 1.5 NA - 829 #F8766D -0.1083755249 0.0021205292 1 1 19 1.5 NA - 830 #F8766D -0.0982783236 0.0021205292 1 1 19 1.5 NA - 831 #F8766D -0.1037827163 0.0021205292 1 1 19 1.5 NA - 832 #F8766D -0.0563115845 0.0021205292 1 1 19 1.5 NA - 833 #F8766D -0.0604577743 0.0021205292 1 1 19 1.5 NA - 834 #F8766D 0.1685521738 0.0021205292 1 1 19 1.5 NA - 835 #F8766D -0.0572263550 0.0021205292 1 1 19 1.5 NA - 836 #F8766D 0.0536394649 0.0021205292 1 1 19 1.5 NA - 837 #F8766D 0.0575017434 0.0021205292 1 1 19 1.5 NA - 838 #F8766D 0.0896542573 0.0021205292 1 1 19 1.5 NA - 839 #F8766D -0.0688024680 0.0021205292 1 1 19 1.5 NA - 840 #F8766D 0.0556690225 0.0021205292 1 1 19 1.5 NA - 841 #F8766D 0.0530405741 0.0021205292 1 1 19 1.5 NA - 842 #F8766D 0.0563199592 0.0021205292 1 1 19 1.5 NA - 843 #F8766D -0.0693782794 0.0021205292 1 1 19 1.5 NA - 844 #F8766D 0.0534827987 0.0021205292 1 1 19 1.5 NA - 845 #F8766D -0.0589335814 0.0021205292 1 1 19 1.5 NA - 846 #F8766D -0.0551522889 0.0021205292 1 1 19 1.5 NA - 847 #F8766D 0.0555197212 0.0021205292 1 1 19 1.5 NA - 848 #F8766D -0.3070298167 0.0021205292 1 1 19 1.5 NA - 849 #F8766D 0.0512459575 0.0021205292 1 1 19 1.5 NA - 850 #F8766D 0.0964633343 0.0021205292 1 1 19 1.5 NA - 851 #F8766D -0.0534780797 0.0021205292 1 1 19 1.5 NA - 852 #F8766D -0.1562307213 0.0021205292 1 1 19 1.5 NA - 853 #F8766D 0.0493086515 0.0021205292 1 1 19 1.5 NA - 854 #F8766D -0.0659017153 0.0021205292 1 1 19 1.5 NA - 855 #F8766D 0.0556383447 0.0021205292 1 1 19 1.5 NA - 856 #F8766D 0.0666844001 0.0021205292 1 1 19 1.5 NA - 857 #F8766D 0.0479604493 0.0021205292 1 1 19 1.5 NA - 858 #F8766D 0.0492552864 0.0021205292 1 1 19 1.5 NA - 859 #F8766D -0.0540338349 0.0021205292 1 1 19 1.5 NA - 860 #F8766D -0.0552456271 0.0021205292 1 1 19 1.5 NA - 861 #F8766D 0.0594935859 0.0021205292 1 1 19 1.5 NA - 862 #F8766D 0.0502853689 0.0021205292 1 1 19 1.5 NA - 863 #F8766D 0.0840779930 0.0021205292 1 1 19 1.5 NA - 864 #F8766D 0.1641085112 0.0021205292 1 1 19 1.5 NA - 865 #F8766D 0.0456071670 0.0021205292 1 1 19 1.5 NA - 866 #F8766D 0.0557988684 0.0021205292 1 1 19 1.5 NA - 867 #F8766D -0.0838182578 0.0021205292 1 1 19 1.5 NA - 868 #F8766D 0.0614253690 0.0021205292 1 1 19 1.5 NA - 869 #F8766D -0.0531671695 0.0021205292 1 1 19 1.5 NA - 870 #F8766D 0.0493810519 0.0021205292 1 1 19 1.5 NA - 871 #F8766D 0.0420646831 0.0021205292 1 1 19 1.5 NA - 872 #F8766D -0.1027994914 0.0021205292 1 1 19 1.5 NA - 873 #F8766D -0.0438392986 0.0021205292 1 1 19 1.5 NA - 874 #F8766D -0.1441591245 0.0021205292 1 1 19 1.5 NA - 875 #F8766D 0.0936004710 0.0021205292 1 1 19 1.5 NA - 876 #F8766D -0.1264959838 0.0021205292 1 1 19 1.5 NA - 877 #F8766D 0.0715737519 0.0021205292 1 1 19 1.5 NA - 878 #F8766D 0.0660657820 0.0021205292 1 1 19 1.5 NA - 879 #F8766D 0.0445552549 0.0021205292 1 1 19 1.5 NA - 880 #F8766D -0.0467331309 0.0021205292 1 1 19 1.5 NA - 881 #F8766D -0.0964685144 0.0021205292 1 1 19 1.5 NA - 882 #F8766D 0.0366777378 0.0021205292 1 1 19 1.5 NA - 883 #F8766D -0.0719719496 0.0021205292 1 1 19 1.5 NA - 884 #F8766D -0.0362226473 0.0021205292 1 1 19 1.5 NA - 885 #F8766D -0.0411197243 0.0021205292 1 1 19 1.5 NA - 886 #F8766D 0.0723366582 0.0021205292 1 1 19 1.5 NA - 887 #F8766D 0.0433963664 0.0021205292 1 1 19 1.5 NA - 888 #F8766D -0.0416232166 0.0021205292 1 1 19 1.5 NA - 889 #F8766D -0.0686382005 0.0021205292 1 1 19 1.5 NA - 890 #F8766D -0.0379761836 0.0021205292 1 1 19 1.5 NA - 891 #F8766D 0.0408156030 0.0021205292 1 1 19 1.5 NA - 892 #F8766D -0.0390167599 0.0021205292 1 1 19 1.5 NA - 893 #F8766D -0.0382459696 0.0021205292 1 1 19 1.5 NA - 894 #F8766D 0.0577964419 0.0021205292 1 1 19 1.5 NA - 895 #F8766D -0.0396662557 0.0021205292 1 1 19 1.5 NA - 896 #F8766D -0.0605149543 0.0021205292 1 1 19 1.5 NA - 897 #F8766D 0.0688186421 0.0021205292 1 1 19 1.5 NA - 898 #F8766D -0.0482017294 0.0021205292 1 1 19 1.5 NA - 899 #F8766D -0.0336265430 0.0021205292 1 1 19 1.5 NA - 900 #F8766D 0.0338695082 0.0021205292 1 1 19 1.5 NA - 901 #F8766D 0.0595494630 0.0021205292 1 1 19 1.5 NA - 902 #F8766D -0.0631153089 0.0021205292 1 1 19 1.5 NA - 903 #F8766D 0.0805217632 0.0021205292 1 1 19 1.5 NA - 904 #F8766D 0.0333069459 0.0021205292 1 1 19 1.5 NA - 905 #F8766D 0.0656327966 0.0021205292 1 1 19 1.5 NA - 906 #F8766D -0.0333675045 0.0021205292 1 1 19 1.5 NA - 907 #F8766D 0.0400244492 0.0021205292 1 1 19 1.5 NA - 908 #F8766D -0.0317409058 0.0021205292 1 1 19 1.5 NA - 909 #F8766D 0.0373372007 0.0021205292 1 1 19 1.5 NA - 910 #F8766D 0.0352136125 0.0021205292 1 1 19 1.5 NA - 911 #F8766D 0.0329178311 0.0021205292 1 1 19 1.5 NA - 912 #F8766D -0.0525865529 0.0021205292 1 1 19 1.5 NA - 913 #F8766D -0.0327414191 0.0021205292 1 1 19 1.5 NA - 914 #F8766D 0.0583344815 0.0021205292 1 1 19 1.5 NA - 915 #F8766D -0.0274704273 0.0021205292 1 1 19 1.5 NA - 916 #F8766D 0.0277857965 0.0021205292 1 1 19 1.5 NA - 917 #F8766D 0.0330327897 0.0021205292 1 1 19 1.5 NA - 918 #F8766D -0.0290578456 0.0021205292 1 1 19 1.5 NA - 919 #F8766D -0.0310774934 0.0021205292 1 1 19 1.5 NA - 920 #F8766D 0.0277849434 0.0021205292 1 1 19 1.5 NA - 921 #F8766D 0.0271649093 0.0021205292 1 1 19 1.5 NA - 922 #F8766D 0.0326730732 0.0021205292 1 1 19 1.5 NA - 923 #F8766D -0.0308633324 0.0021205292 1 1 19 1.5 NA - 924 #F8766D 0.0435288689 0.0021205292 1 1 19 1.5 NA - 925 #F8766D -0.0462404136 0.0021205292 1 1 19 1.5 NA - 926 #F8766D -0.0434756905 0.0021205292 1 1 19 1.5 NA - 927 #F8766D 0.0281258711 0.0021205292 1 1 19 1.5 NA - 928 #F8766D -0.0258330167 0.0021205292 1 1 19 1.5 NA - 929 #F8766D -0.0570153076 0.0021205292 1 1 19 1.5 NA - 930 #F8766D -0.0249357314 0.0021205292 1 1 19 1.5 NA - 931 #F8766D 0.0249339630 0.0021205292 1 1 19 1.5 NA - 932 #F8766D 0.0288366523 0.0021205292 1 1 19 1.5 NA - 933 #F8766D -0.0530695816 0.0021205292 1 1 19 1.5 NA - 934 #F8766D -0.0226929515 0.0021205292 1 1 19 1.5 NA - 935 #F8766D -0.0227843898 0.0021205292 1 1 19 1.5 NA - 936 #F8766D -0.0364819327 0.0021205292 1 1 19 1.5 NA - 937 #F8766D -0.0240117505 0.0021205292 1 1 19 1.5 NA - 938 #F8766D 0.0419567795 0.0021205292 1 1 19 1.5 NA - 939 #F8766D -0.0344238837 0.0021205292 1 1 19 1.5 NA - 940 #F8766D -0.0431360262 0.0021205292 1 1 19 1.5 NA - 941 #F8766D -0.0422427785 0.0021205292 1 1 19 1.5 NA - 942 #F8766D 0.0326342308 0.0021205292 1 1 19 1.5 NA - 943 #F8766D -0.0234082297 0.0021205292 1 1 19 1.5 NA - 944 #F8766D 0.0228532792 0.0021205292 1 1 19 1.5 NA - 945 #F8766D 0.0328665526 0.0021205292 1 1 19 1.5 NA - 946 #F8766D 0.0355332348 0.0021205292 1 1 19 1.5 NA - 947 #F8766D 0.0389378265 0.0021205292 1 1 19 1.5 NA - 948 #F8766D 0.0511151643 0.0021205292 1 1 19 1.5 NA - 949 #F8766D -0.0270891456 0.0021205292 1 1 19 1.5 NA - 950 #F8766D -0.0234633308 0.0021205292 1 1 19 1.5 NA - 951 #F8766D -0.0186238104 0.0021205292 1 1 19 1.5 NA - 952 #F8766D 0.0206757860 0.0021205292 1 1 19 1.5 NA - 953 #F8766D -0.0432893944 0.0021205292 1 1 19 1.5 NA - 954 #F8766D 0.0184105130 0.0021205292 1 1 19 1.5 NA - 955 #F8766D 0.0191532944 0.0021205292 1 1 19 1.5 NA - 956 #F8766D 0.0285991113 0.0021205292 1 1 19 1.5 NA - 957 #F8766D 0.0271649180 0.0021205292 1 1 19 1.5 NA - 958 #F8766D 0.0198954807 0.0021205292 1 1 19 1.5 NA - 959 #F8766D -0.0142192298 0.0021205292 1 1 19 1.5 NA - 960 #F8766D -0.0144487219 0.0021205292 1 1 19 1.5 NA - 961 #F8766D -0.0134298964 0.0021205292 1 1 19 1.5 NA - 962 #F8766D -0.0141461301 0.0021205292 1 1 19 1.5 NA - 963 #F8766D 0.0227573913 0.0021205292 1 1 19 1.5 NA - 964 #F8766D -0.0123957334 0.0021205292 1 1 19 1.5 NA - 965 #F8766D -0.0200743958 0.0021205292 1 1 19 1.5 NA - 966 #F8766D 0.0148572364 0.0021205292 1 1 19 1.5 NA - 967 #F8766D 0.0120984889 0.0021205292 1 1 19 1.5 NA - 968 #F8766D 0.0142638422 0.0021205292 1 1 19 1.5 NA - 969 #F8766D -0.0115011935 0.0021205292 1 1 19 1.5 NA - 970 #F8766D 0.0127444358 0.0021205292 1 1 19 1.5 NA - 971 #F8766D -0.0204547679 0.0021205292 1 1 19 1.5 NA - 972 #F8766D -0.0112293660 0.0021205292 1 1 19 1.5 NA - 973 #F8766D 0.0171468720 0.0021205292 1 1 19 1.5 NA - 974 #F8766D -0.0106715323 0.0021205292 1 1 19 1.5 NA - 975 #F8766D 0.0110520523 0.0021205292 1 1 19 1.5 NA - 976 #F8766D -0.0087834917 0.0021205292 1 1 19 1.5 NA - 977 #F8766D -0.0098583861 0.0021205292 1 1 19 1.5 NA - 978 #F8766D -0.0095176014 0.0021205292 1 1 19 1.5 NA - 979 #F8766D 0.0104595869 0.0021205292 1 1 19 1.5 NA - 980 #F8766D 0.0086299373 0.0021205292 1 1 19 1.5 NA - 981 #F8766D -0.0136128661 0.0021205292 1 1 19 1.5 NA - 982 #F8766D -0.0082929052 0.0021205292 1 1 19 1.5 NA - 983 #F8766D 0.0095664359 0.0021205292 1 1 19 1.5 NA - 984 #F8766D 0.0079609180 0.0021205292 1 1 19 1.5 NA - 985 #F8766D 0.0074179505 0.0021205292 1 1 19 1.5 NA - 986 #F8766D 0.0132957273 0.0021205292 1 1 19 1.5 NA - 987 #F8766D 0.0129032560 0.0021205292 1 1 19 1.5 NA - 988 #F8766D 0.0209055313 0.0019935082 1 1 19 1.5 NA - 989 #F8766D -0.0067606908 0.0013500512 1 1 19 1.5 NA - 990 #F8766D 0.0049070760 0.0005004092 1 1 19 1.5 NA - 991 #F8766D 0.0042891825 0.0005004092 1 1 19 1.5 NA - 992 #F8766D 0.0041536442 0.0005004092 1 1 19 1.5 NA - 993 #F8766D 0.0050447562 0.0005004092 1 1 19 1.5 NA - 994 #F8766D -0.0053582537 0.0005004092 1 1 19 1.5 NA - 995 #F8766D -0.0040730659 0.0005004092 1 1 19 1.5 NA - 996 #F8766D 0.0014456553 0.0002410797 1 1 19 1.5 NA - 997 #F8766D -0.0005813889 0.0002410797 1 1 19 1.5 NA - 998 #F8766D 0.0004305816 0.0002410797 1 1 19 1.5 NA - 999 #F8766D -0.0003806317 0.0002410797 1 1 19 1.5 NA - 1000 #F8766D -0.0004169929 0.0002410797 1 1 19 1.5 NA - alpha stroke - 1 NA 0.5 - 2 NA 0.5 - 3 NA 0.5 - 4 NA 0.5 - 5 NA 0.5 - 6 NA 0.5 - 7 NA 0.5 - 8 NA 0.5 - 9 NA 0.5 - 10 NA 0.5 - 11 NA 0.5 - 12 NA 0.5 - 13 NA 0.5 - 14 NA 0.5 - 15 NA 0.5 - 16 NA 0.5 - 17 NA 0.5 - 18 NA 0.5 - 19 NA 0.5 - 20 NA 0.5 - 21 NA 0.5 - 22 NA 0.5 - 23 NA 0.5 - 24 NA 0.5 - 25 NA 0.5 - 26 NA 0.5 - 27 NA 0.5 - 28 NA 0.5 - 29 NA 0.5 - 30 NA 0.5 - 31 NA 0.5 - 32 NA 0.5 - 33 NA 0.5 - 34 NA 0.5 - 35 NA 0.5 - 36 NA 0.5 - 37 NA 0.5 - 38 NA 0.5 - 39 NA 0.5 - 40 NA 0.5 - 41 NA 0.5 - 42 NA 0.5 - 43 NA 0.5 - 44 NA 0.5 - 45 NA 0.5 - 46 NA 0.5 - 47 NA 0.5 - 48 NA 0.5 - 49 NA 0.5 - 50 NA 0.5 - 51 NA 0.5 - 52 NA 0.5 - 53 NA 0.5 - 54 NA 0.5 - 55 NA 0.5 - 56 NA 0.5 - 57 NA 0.5 - 58 NA 0.5 - 59 NA 0.5 - 60 NA 0.5 - 61 NA 0.5 - 62 NA 0.5 - 63 NA 0.5 - 64 NA 0.5 - 65 NA 0.5 - 66 NA 0.5 - 67 NA 0.5 - 68 NA 0.5 - 69 NA 0.5 - 70 NA 0.5 - 71 NA 0.5 - 72 NA 0.5 - 73 NA 0.5 - 74 NA 0.5 - 75 NA 0.5 - 76 NA 0.5 - 77 NA 0.5 - 78 NA 0.5 - 79 NA 0.5 - 80 NA 0.5 - 81 NA 0.5 - 82 NA 0.5 - 83 NA 0.5 - 84 NA 0.5 - 85 NA 0.5 - 86 NA 0.5 - 87 NA 0.5 - 88 NA 0.5 - 89 NA 0.5 - 90 NA 0.5 - 91 NA 0.5 - 92 NA 0.5 - 93 NA 0.5 - 94 NA 0.5 - 95 NA 0.5 - 96 NA 0.5 - 97 NA 0.5 - 98 NA 0.5 - 99 NA 0.5 - 100 NA 0.5 - 101 NA 0.5 - 102 NA 0.5 - 103 NA 0.5 - 104 NA 0.5 - 105 NA 0.5 - 106 NA 0.5 - 107 NA 0.5 - 108 NA 0.5 - 109 NA 0.5 - 110 NA 0.5 - 111 NA 0.5 - 112 NA 0.5 - 113 NA 0.5 - 114 NA 0.5 - 115 NA 0.5 - 116 NA 0.5 - 117 NA 0.5 - 118 NA 0.5 - 119 NA 0.5 - 120 NA 0.5 - 121 NA 0.5 - 122 NA 0.5 - 123 NA 0.5 - 124 NA 0.5 - 125 NA 0.5 - 126 NA 0.5 - 127 NA 0.5 - 128 NA 0.5 - 129 NA 0.5 - 130 NA 0.5 - 131 NA 0.5 - 132 NA 0.5 - 133 NA 0.5 - 134 NA 0.5 - 135 NA 0.5 - 136 NA 0.5 - 137 NA 0.5 - 138 NA 0.5 - 139 NA 0.5 - 140 NA 0.5 - 141 NA 0.5 - 142 NA 0.5 - 143 NA 0.5 - 144 NA 0.5 - 145 NA 0.5 - 146 NA 0.5 - 147 NA 0.5 - 148 NA 0.5 - 149 NA 0.5 - 150 NA 0.5 - 151 NA 0.5 - 152 NA 0.5 - 153 NA 0.5 - 154 NA 0.5 - 155 NA 0.5 - 156 NA 0.5 - 157 NA 0.5 - 158 NA 0.5 - 159 NA 0.5 - 160 NA 0.5 - 161 NA 0.5 - 162 NA 0.5 - 163 NA 0.5 - 164 NA 0.5 - 165 NA 0.5 - 166 NA 0.5 - 167 NA 0.5 - 168 NA 0.5 - 169 NA 0.5 - 170 NA 0.5 - 171 NA 0.5 - 172 NA 0.5 - 173 NA 0.5 - 174 NA 0.5 - 175 NA 0.5 - 176 NA 0.5 - 177 NA 0.5 - 178 NA 0.5 - 179 NA 0.5 - 180 NA 0.5 - 181 NA 0.5 - 182 NA 0.5 - 183 NA 0.5 - 184 NA 0.5 - 185 NA 0.5 - 186 NA 0.5 - 187 NA 0.5 - 188 NA 0.5 - 189 NA 0.5 - 190 NA 0.5 - 191 NA 0.5 - 192 NA 0.5 - 193 NA 0.5 - 194 NA 0.5 - 195 NA 0.5 - 196 NA 0.5 - 197 NA 0.5 - 198 NA 0.5 - 199 NA 0.5 - 200 NA 0.5 - 201 NA 0.5 - 202 NA 0.5 - 203 NA 0.5 - 204 NA 0.5 - 205 NA 0.5 - 206 NA 0.5 - 207 NA 0.5 - 208 NA 0.5 - 209 NA 0.5 - 210 NA 0.5 - 211 NA 0.5 - 212 NA 0.5 - 213 NA 0.5 - 214 NA 0.5 - 215 NA 0.5 - 216 NA 0.5 - 217 NA 0.5 - 218 NA 0.5 - 219 NA 0.5 - 220 NA 0.5 - 221 NA 0.5 - 222 NA 0.5 - 223 NA 0.5 - 224 NA 0.5 - 225 NA 0.5 - 226 NA 0.5 - 227 NA 0.5 - 228 NA 0.5 - 229 NA 0.5 - 230 NA 0.5 - 231 NA 0.5 - 232 NA 0.5 - 233 NA 0.5 - 234 NA 0.5 - 235 NA 0.5 - 236 NA 0.5 - 237 NA 0.5 - 238 NA 0.5 - 239 NA 0.5 - 240 NA 0.5 - 241 NA 0.5 - 242 NA 0.5 - 243 NA 0.5 - 244 NA 0.5 - 245 NA 0.5 - 246 NA 0.5 - 247 NA 0.5 - 248 NA 0.5 - 249 NA 0.5 - 250 NA 0.5 - 251 NA 0.5 - 252 NA 0.5 - 253 NA 0.5 - 254 NA 0.5 - 255 NA 0.5 - 256 NA 0.5 - 257 NA 0.5 - 258 NA 0.5 - 259 NA 0.5 - 260 NA 0.5 - 261 NA 0.5 - 262 NA 0.5 - 263 NA 0.5 - 264 NA 0.5 - 265 NA 0.5 - 266 NA 0.5 - 267 NA 0.5 - 268 NA 0.5 - 269 NA 0.5 - 270 NA 0.5 - 271 NA 0.5 - 272 NA 0.5 - 273 NA 0.5 - 274 NA 0.5 - 275 NA 0.5 - 276 NA 0.5 - 277 NA 0.5 - 278 NA 0.5 - 279 NA 0.5 - 280 NA 0.5 - 281 NA 0.5 - 282 NA 0.5 - 283 NA 0.5 - 284 NA 0.5 - 285 NA 0.5 - 286 NA 0.5 - 287 NA 0.5 - 288 NA 0.5 - 289 NA 0.5 - 290 NA 0.5 - 291 NA 0.5 - 292 NA 0.5 - 293 NA 0.5 - 294 NA 0.5 - 295 NA 0.5 - 296 NA 0.5 - 297 NA 0.5 - 298 NA 0.5 - 299 NA 0.5 - 300 NA 0.5 - 301 NA 0.5 - 302 NA 0.5 - 303 NA 0.5 - 304 NA 0.5 - 305 NA 0.5 - 306 NA 0.5 - 307 NA 0.5 - 308 NA 0.5 - 309 NA 0.5 - 310 NA 0.5 - 311 NA 0.5 - 312 NA 0.5 - 313 NA 0.5 - 314 NA 0.5 - 315 NA 0.5 - 316 NA 0.5 - 317 NA 0.5 - 318 NA 0.5 - 319 NA 0.5 - 320 NA 0.5 - 321 NA 0.5 - 322 NA 0.5 - 323 NA 0.5 - 324 NA 0.5 - 325 NA 0.5 - 326 NA 0.5 - 327 NA 0.5 - 328 NA 0.5 - 329 NA 0.5 - 330 NA 0.5 - 331 NA 0.5 - 332 NA 0.5 - 333 NA 0.5 - 334 NA 0.5 - 335 NA 0.5 - 336 NA 0.5 - 337 NA 0.5 - 338 NA 0.5 - 339 NA 0.5 - 340 NA 0.5 - 341 NA 0.5 - 342 NA 0.5 - 343 NA 0.5 - 344 NA 0.5 - 345 NA 0.5 - 346 NA 0.5 - 347 NA 0.5 - 348 NA 0.5 - 349 NA 0.5 - 350 NA 0.5 - 351 NA 0.5 - 352 NA 0.5 - 353 NA 0.5 - 354 NA 0.5 - 355 NA 0.5 - 356 NA 0.5 - 357 NA 0.5 - 358 NA 0.5 - 359 NA 0.5 - 360 NA 0.5 - 361 NA 0.5 - 362 NA 0.5 - 363 NA 0.5 - 364 NA 0.5 - 365 NA 0.5 - 366 NA 0.5 - 367 NA 0.5 - 368 NA 0.5 - 369 NA 0.5 - 370 NA 0.5 - 371 NA 0.5 - 372 NA 0.5 - 373 NA 0.5 - 374 NA 0.5 - 375 NA 0.5 - 376 NA 0.5 - 377 NA 0.5 - 378 NA 0.5 - 379 NA 0.5 - 380 NA 0.5 - 381 NA 0.5 - 382 NA 0.5 - 383 NA 0.5 - 384 NA 0.5 - 385 NA 0.5 - 386 NA 0.5 - 387 NA 0.5 - 388 NA 0.5 - 389 NA 0.5 - 390 NA 0.5 - 391 NA 0.5 - 392 NA 0.5 - 393 NA 0.5 - 394 NA 0.5 - 395 NA 0.5 - 396 NA 0.5 - 397 NA 0.5 - 398 NA 0.5 - 399 NA 0.5 - 400 NA 0.5 - 401 NA 0.5 - 402 NA 0.5 - 403 NA 0.5 - 404 NA 0.5 - 405 NA 0.5 - 406 NA 0.5 - 407 NA 0.5 - 408 NA 0.5 - 409 NA 0.5 - 410 NA 0.5 - 411 NA 0.5 - 412 NA 0.5 - 413 NA 0.5 - 414 NA 0.5 - 415 NA 0.5 - 416 NA 0.5 - 417 NA 0.5 - 418 NA 0.5 - 419 NA 0.5 - 420 NA 0.5 - 421 NA 0.5 - 422 NA 0.5 - 423 NA 0.5 - 424 NA 0.5 - 425 NA 0.5 - 426 NA 0.5 - 427 NA 0.5 - 428 NA 0.5 - 429 NA 0.5 - 430 NA 0.5 - 431 NA 0.5 - 432 NA 0.5 - 433 NA 0.5 - 434 NA 0.5 - 435 NA 0.5 - 436 NA 0.5 - 437 NA 0.5 - 438 NA 0.5 - 439 NA 0.5 - 440 NA 0.5 - 441 NA 0.5 - 442 NA 0.5 - 443 NA 0.5 - 444 NA 0.5 - 445 NA 0.5 - 446 NA 0.5 - 447 NA 0.5 - 448 NA 0.5 - 449 NA 0.5 - 450 NA 0.5 - 451 NA 0.5 - 452 NA 0.5 - 453 NA 0.5 - 454 NA 0.5 - 455 NA 0.5 - 456 NA 0.5 - 457 NA 0.5 - 458 NA 0.5 - 459 NA 0.5 - 460 NA 0.5 - 461 NA 0.5 - 462 NA 0.5 - 463 NA 0.5 - 464 NA 0.5 - 465 NA 0.5 - 466 NA 0.5 - 467 NA 0.5 - 468 NA 0.5 - 469 NA 0.5 - 470 NA 0.5 - 471 NA 0.5 - 472 NA 0.5 - 473 NA 0.5 - 474 NA 0.5 - 475 NA 0.5 - 476 NA 0.5 - 477 NA 0.5 - 478 NA 0.5 - 479 NA 0.5 - 480 NA 0.5 - 481 NA 0.5 - 482 NA 0.5 - 483 NA 0.5 - 484 NA 0.5 - 485 NA 0.5 - 486 NA 0.5 - 487 NA 0.5 - 488 NA 0.5 - 489 NA 0.5 - 490 NA 0.5 - 491 NA 0.5 - 492 NA 0.5 - 493 NA 0.5 - 494 NA 0.5 - 495 NA 0.5 - 496 NA 0.5 - 497 NA 0.5 - 498 NA 0.5 - 499 NA 0.5 - 500 NA 0.5 - 501 NA 0.5 - 502 NA 0.5 - 503 NA 0.5 - 504 NA 0.5 - 505 NA 0.5 - 506 NA 0.5 - 507 NA 0.5 - 508 NA 0.5 - 509 NA 0.5 - 510 NA 0.5 - 511 NA 0.5 - 512 NA 0.5 - 513 NA 0.5 - 514 NA 0.5 - 515 NA 0.5 - 516 NA 0.5 - 517 NA 0.5 - 518 NA 0.5 - 519 NA 0.5 - 520 NA 0.5 - 521 NA 0.5 - 522 NA 0.5 - 523 NA 0.5 - 524 NA 0.5 - 525 NA 0.5 - 526 NA 0.5 - 527 NA 0.5 - 528 NA 0.5 - 529 NA 0.5 - 530 NA 0.5 - 531 NA 0.5 - 532 NA 0.5 - 533 NA 0.5 - 534 NA 0.5 - 535 NA 0.5 - 536 NA 0.5 - 537 NA 0.5 - 538 NA 0.5 - 539 NA 0.5 - 540 NA 0.5 - 541 NA 0.5 - 542 NA 0.5 - 543 NA 0.5 - 544 NA 0.5 - 545 NA 0.5 - 546 NA 0.5 - 547 NA 0.5 - 548 NA 0.5 - 549 NA 0.5 - 550 NA 0.5 - 551 NA 0.5 - 552 NA 0.5 - 553 NA 0.5 - 554 NA 0.5 - 555 NA 0.5 - 556 NA 0.5 - 557 NA 0.5 - 558 NA 0.5 - 559 NA 0.5 - 560 NA 0.5 - 561 NA 0.5 - 562 NA 0.5 - 563 NA 0.5 - 564 NA 0.5 - 565 NA 0.5 - 566 NA 0.5 - 567 NA 0.5 - 568 NA 0.5 - 569 NA 0.5 - 570 NA 0.5 - 571 NA 0.5 - 572 NA 0.5 - 573 NA 0.5 - 574 NA 0.5 - 575 NA 0.5 - 576 NA 0.5 - 577 NA 0.5 - 578 NA 0.5 - 579 NA 0.5 - 580 NA 0.5 - 581 NA 0.5 - 582 NA 0.5 - 583 NA 0.5 - 584 NA 0.5 - 585 NA 0.5 - 586 NA 0.5 - 587 NA 0.5 - 588 NA 0.5 - 589 NA 0.5 - 590 NA 0.5 - 591 NA 0.5 - 592 NA 0.5 - 593 NA 0.5 - 594 NA 0.5 - 595 NA 0.5 - 596 NA 0.5 - 597 NA 0.5 - 598 NA 0.5 - 599 NA 0.5 - 600 NA 0.5 - 601 NA 0.5 - 602 NA 0.5 - 603 NA 0.5 - 604 NA 0.5 - 605 NA 0.5 - 606 NA 0.5 - 607 NA 0.5 - 608 NA 0.5 - 609 NA 0.5 - 610 NA 0.5 - 611 NA 0.5 - 612 NA 0.5 - 613 NA 0.5 - 614 NA 0.5 - 615 NA 0.5 - 616 NA 0.5 - 617 NA 0.5 - 618 NA 0.5 - 619 NA 0.5 - 620 NA 0.5 - 621 NA 0.5 - 622 NA 0.5 - 623 NA 0.5 - 624 NA 0.5 - 625 NA 0.5 - 626 NA 0.5 - 627 NA 0.5 - 628 NA 0.5 - 629 NA 0.5 - 630 NA 0.5 - 631 NA 0.5 - 632 NA 0.5 - 633 NA 0.5 - 634 NA 0.5 - 635 NA 0.5 - 636 NA 0.5 - 637 NA 0.5 - 638 NA 0.5 - 639 NA 0.5 - 640 NA 0.5 - 641 NA 0.5 - 642 NA 0.5 - 643 NA 0.5 - 644 NA 0.5 - 645 NA 0.5 - 646 NA 0.5 - 647 NA 0.5 - 648 NA 0.5 - 649 NA 0.5 - 650 NA 0.5 - 651 NA 0.5 - 652 NA 0.5 - 653 NA 0.5 - 654 NA 0.5 - 655 NA 0.5 - 656 NA 0.5 - 657 NA 0.5 - 658 NA 0.5 - 659 NA 0.5 - 660 NA 0.5 - 661 NA 0.5 - 662 NA 0.5 - 663 NA 0.5 - 664 NA 0.5 - 665 NA 0.5 - 666 NA 0.5 - 667 NA 0.5 - 668 NA 0.5 - 669 NA 0.5 - 670 NA 0.5 - 671 NA 0.5 - 672 NA 0.5 - 673 NA 0.5 - 674 NA 0.5 - 675 NA 0.5 - 676 NA 0.5 - 677 NA 0.5 - 678 NA 0.5 - 679 NA 0.5 - 680 NA 0.5 - 681 NA 0.5 - 682 NA 0.5 - 683 NA 0.5 - 684 NA 0.5 - 685 NA 0.5 - 686 NA 0.5 - 687 NA 0.5 - 688 NA 0.5 - 689 NA 0.5 - 690 NA 0.5 - 691 NA 0.5 - 692 NA 0.5 - 693 NA 0.5 - 694 NA 0.5 - 695 NA 0.5 - 696 NA 0.5 - 697 NA 0.5 - 698 NA 0.5 - 699 NA 0.5 - 700 NA 0.5 - 701 NA 0.5 - 702 NA 0.5 - 703 NA 0.5 - 704 NA 0.5 - 705 NA 0.5 - 706 NA 0.5 - 707 NA 0.5 - 708 NA 0.5 - 709 NA 0.5 - 710 NA 0.5 - 711 NA 0.5 - 712 NA 0.5 - 713 NA 0.5 - 714 NA 0.5 - 715 NA 0.5 - 716 NA 0.5 - 717 NA 0.5 - 718 NA 0.5 - 719 NA 0.5 - 720 NA 0.5 - 721 NA 0.5 - 722 NA 0.5 - 723 NA 0.5 - 724 NA 0.5 - 725 NA 0.5 - 726 NA 0.5 - 727 NA 0.5 - 728 NA 0.5 - 729 NA 0.5 - 730 NA 0.5 - 731 NA 0.5 - 732 NA 0.5 - 733 NA 0.5 - 734 NA 0.5 - 735 NA 0.5 - 736 NA 0.5 - 737 NA 0.5 - 738 NA 0.5 - 739 NA 0.5 - 740 NA 0.5 - 741 NA 0.5 - 742 NA 0.5 - 743 NA 0.5 - 744 NA 0.5 - 745 NA 0.5 - 746 NA 0.5 - 747 NA 0.5 - 748 NA 0.5 - 749 NA 0.5 - 750 NA 0.5 - 751 NA 0.5 - 752 NA 0.5 - 753 NA 0.5 - 754 NA 0.5 - 755 NA 0.5 - 756 NA 0.5 - 757 NA 0.5 - 758 NA 0.5 - 759 NA 0.5 - 760 NA 0.5 - 761 NA 0.5 - 762 NA 0.5 - 763 NA 0.5 - 764 NA 0.5 - 765 NA 0.5 - 766 NA 0.5 - 767 NA 0.5 - 768 NA 0.5 - 769 NA 0.5 - 770 NA 0.5 - 771 NA 0.5 - 772 NA 0.5 - 773 NA 0.5 - 774 NA 0.5 - 775 NA 0.5 - 776 NA 0.5 - 777 NA 0.5 - 778 NA 0.5 - 779 NA 0.5 - 780 NA 0.5 - 781 NA 0.5 - 782 NA 0.5 - 783 NA 0.5 - 784 NA 0.5 - 785 NA 0.5 - 786 NA 0.5 - 787 NA 0.5 - 788 NA 0.5 - 789 NA 0.5 - 790 NA 0.5 - 791 NA 0.5 - 792 NA 0.5 - 793 NA 0.5 - 794 NA 0.5 - 795 NA 0.5 - 796 NA 0.5 - 797 NA 0.5 - 798 NA 0.5 - 799 NA 0.5 - 800 NA 0.5 - 801 NA 0.5 - 802 NA 0.5 - 803 NA 0.5 - 804 NA 0.5 - 805 NA 0.5 - 806 NA 0.5 - 807 NA 0.5 - 808 NA 0.5 - 809 NA 0.5 - 810 NA 0.5 - 811 NA 0.5 - 812 NA 0.5 - 813 NA 0.5 - 814 NA 0.5 - 815 NA 0.5 - 816 NA 0.5 - 817 NA 0.5 - 818 NA 0.5 - 819 NA 0.5 - 820 NA 0.5 - 821 NA 0.5 - 822 NA 0.5 - 823 NA 0.5 - 824 NA 0.5 - 825 NA 0.5 - 826 NA 0.5 - 827 NA 0.5 - 828 NA 0.5 - 829 NA 0.5 - 830 NA 0.5 - 831 NA 0.5 - 832 NA 0.5 - 833 NA 0.5 - 834 NA 0.5 - 835 NA 0.5 - 836 NA 0.5 - 837 NA 0.5 - 838 NA 0.5 - 839 NA 0.5 - 840 NA 0.5 - 841 NA 0.5 - 842 NA 0.5 - 843 NA 0.5 - 844 NA 0.5 - 845 NA 0.5 - 846 NA 0.5 - 847 NA 0.5 - 848 NA 0.5 - 849 NA 0.5 - 850 NA 0.5 - 851 NA 0.5 - 852 NA 0.5 - 853 NA 0.5 - 854 NA 0.5 - 855 NA 0.5 - 856 NA 0.5 - 857 NA 0.5 - 858 NA 0.5 - 859 NA 0.5 - 860 NA 0.5 - 861 NA 0.5 - 862 NA 0.5 - 863 NA 0.5 - 864 NA 0.5 - 865 NA 0.5 - 866 NA 0.5 - 867 NA 0.5 - 868 NA 0.5 - 869 NA 0.5 - 870 NA 0.5 - 871 NA 0.5 - 872 NA 0.5 - 873 NA 0.5 - 874 NA 0.5 - 875 NA 0.5 - 876 NA 0.5 - 877 NA 0.5 - 878 NA 0.5 - 879 NA 0.5 - 880 NA 0.5 - 881 NA 0.5 - 882 NA 0.5 - 883 NA 0.5 - 884 NA 0.5 - 885 NA 0.5 - 886 NA 0.5 - 887 NA 0.5 - 888 NA 0.5 - 889 NA 0.5 - 890 NA 0.5 - 891 NA 0.5 - 892 NA 0.5 - 893 NA 0.5 - 894 NA 0.5 - 895 NA 0.5 - 896 NA 0.5 - 897 NA 0.5 - 898 NA 0.5 - 899 NA 0.5 - 900 NA 0.5 - 901 NA 0.5 - 902 NA 0.5 - 903 NA 0.5 - 904 NA 0.5 - 905 NA 0.5 - 906 NA 0.5 - 907 NA 0.5 - 908 NA 0.5 - 909 NA 0.5 - 910 NA 0.5 - 911 NA 0.5 - 912 NA 0.5 - 913 NA 0.5 - 914 NA 0.5 - 915 NA 0.5 - 916 NA 0.5 - 917 NA 0.5 - 918 NA 0.5 - 919 NA 0.5 - 920 NA 0.5 - 921 NA 0.5 - 922 NA 0.5 - 923 NA 0.5 - 924 NA 0.5 - 925 NA 0.5 - 926 NA 0.5 - 927 NA 0.5 - 928 NA 0.5 - 929 NA 0.5 - 930 NA 0.5 - 931 NA 0.5 - 932 NA 0.5 - 933 NA 0.5 - 934 NA 0.5 - 935 NA 0.5 - 936 NA 0.5 - 937 NA 0.5 - 938 NA 0.5 - 939 NA 0.5 - 940 NA 0.5 - 941 NA 0.5 - 942 NA 0.5 - 943 NA 0.5 - 944 NA 0.5 - 945 NA 0.5 - 946 NA 0.5 - 947 NA 0.5 - 948 NA 0.5 - 949 NA 0.5 - 950 NA 0.5 - 951 NA 0.5 - 952 NA 0.5 - 953 NA 0.5 - 954 NA 0.5 - 955 NA 0.5 - 956 NA 0.5 - 957 NA 0.5 - 958 NA 0.5 - 959 NA 0.5 - 960 NA 0.5 - 961 NA 0.5 - 962 NA 0.5 - 963 NA 0.5 - 964 NA 0.5 - 965 NA 0.5 - 966 NA 0.5 - 967 NA 0.5 - 968 NA 0.5 - 969 NA 0.5 - 970 NA 0.5 - 971 NA 0.5 - 972 NA 0.5 - 973 NA 0.5 - 974 NA 0.5 - 975 NA 0.5 - 976 NA 0.5 - 977 NA 0.5 - 978 NA 0.5 - 979 NA 0.5 - 980 NA 0.5 - 981 NA 0.5 - 982 NA 0.5 - 983 NA 0.5 - 984 NA 0.5 - 985 NA 0.5 - 986 NA 0.5 - 987 NA 0.5 - 988 NA 0.5 - 989 NA 0.5 - 990 NA 0.5 - 991 NA 0.5 - 992 NA 0.5 - 993 NA 0.5 - 994 NA 0.5 - 995 NA 0.5 - 996 NA 0.5 - 997 NA 0.5 - 998 NA 0.5 - 999 NA 0.5 - 1000 NA 0.5 - ---- - - Code - cat(res) - Output - colour x y label PANEL group shape size fill alpha - 1 #F8766D 4.5441482325 1.3818956504 NA 1 1 19 1.5 NA NA - 2 #F8766D 2.8853747884 0.5982482965 NA 1 1 19 1.5 NA NA - 3 #F8766D 3.2680928854 0.1381377699 NA 1 1 19 1.5 NA NA - 4 #F8766D -2.7685178364 0.0021205292 NA 1 1 19 1.5 NA NA - 5 #F8766D -2.0015845977 0.0021205292 NA 1 1 19 1.5 NA NA - 6 #F8766D 1.8697266400 0.0021205292 NA 1 1 19 1.5 NA NA - 7 #F8766D -2.6310797515 0.0021205292 NA 1 1 19 1.5 NA NA - 8 #F8766D 1.5810468973 0.0021205292 NA 1 1 19 1.5 NA NA - 9 #F8766D -1.4990238390 0.0021205292 NA 1 1 19 1.5 NA NA - 10 #F8766D -4.2872259508 0.0021205292 NA 1 1 19 1.5 NA NA - 11 #F8766D 1.4516881799 0.0021205292 NA 1 1 19 1.5 NA NA - 12 #F8766D 2.1168366450 0.0021205292 NA 1 1 19 1.5 NA NA - 13 #F8766D 1.2946089192 0.0021205292 NA 1 1 19 1.5 NA NA - 14 #F8766D 2.8936076107 0.0021205292 NA 1 1 19 1.5 NA NA - 15 #F8766D 3.3837531530 0.0021205292 NA 1 1 19 1.5 NA NA - 16 #F8766D -2.5919810070 0.0021205292 NA 1 1 19 1.5 NA NA - 17 #F8766D -1.3947473565 0.0021205292 NA 1 1 19 1.5 NA NA - 18 #F8766D 1.2566241369 0.0021205292 NA 1 1 19 1.5 NA NA - 19 #F8766D -1.6589074589 0.0021205292 NA 1 1 19 1.5 NA NA - 20 #F8766D -1.4300484029 0.0021205292 NA 1 1 19 1.5 NA NA - 21 #F8766D 2.1974756887 0.0021205292 NA 1 1 19 1.5 NA NA - 22 #F8766D 0.6608191174 0.0021205292 NA 1 1 19 1.5 NA NA - 23 #F8766D 1.2021489695 0.0021205292 NA 1 1 19 1.5 NA NA - 24 #F8766D 0.5843206218 0.0021205292 NA 1 1 19 1.5 NA NA - 25 #F8766D -0.6315527980 0.0021205292 NA 1 1 19 1.5 NA NA - 26 #F8766D 1.0777341120 0.0021205292 NA 1 1 19 1.5 NA NA - 27 #F8766D 3.7855164763 0.0021205292 NA 1 1 19 1.5 NA NA - 28 #F8766D 0.6461020658 0.0021205292 NA 1 1 19 1.5 NA NA - 29 #F8766D -1.4230348186 0.0021205292 NA 1 1 19 1.5 NA NA - 30 #F8766D 1.1571699120 0.0021205292 NA 1 1 19 1.5 NA NA - 31 #F8766D 1.1276216809 0.0021205292 NA 1 1 19 1.5 NA NA - 32 #F8766D 1.0268324929 0.0021205292 NA 1 1 19 1.5 NA NA - 33 #F8766D 0.6601321397 0.0021205292 NA 1 1 19 1.5 NA NA - 34 #F8766D 1.0534140185 0.0021205292 NA 1 1 19 1.5 NA NA - 35 #F8766D 1.0902897066 0.0021205292 NA 1 1 19 1.5 NA NA - 36 #F8766D -1.2734106246 0.0021205292 NA 1 1 19 1.5 NA NA - 37 #F8766D -1.0679120160 0.0021205292 NA 1 1 19 1.5 NA NA - 38 #F8766D 1.2687751940 0.0021205292 NA 1 1 19 1.5 NA NA - 39 #F8766D 2.0914440733 0.0021205292 NA 1 1 19 1.5 NA NA - 40 #F8766D 1.7217579263 0.0021205292 NA 1 1 19 1.5 NA NA - 41 #F8766D -1.1077108646 0.0021205292 NA 1 1 19 1.5 NA NA - 42 #F8766D 0.9678855059 0.0021205292 NA 1 1 19 1.5 NA NA - 43 #F8766D 1.5771314667 0.0021205292 NA 1 1 19 1.5 NA NA - 44 #F8766D -0.6118345861 0.0021205292 NA 1 1 19 1.5 NA NA - 45 #F8766D -1.3077739654 0.0021205292 NA 1 1 19 1.5 NA NA - 46 #F8766D 0.6039958057 0.0021205292 NA 1 1 19 1.5 NA NA - 47 #F8766D -0.5891876151 0.0021205292 NA 1 1 19 1.5 NA NA - 48 #F8766D 4.0428041037 0.0021205292 NA 1 1 19 1.5 NA NA - 49 #F8766D -0.5865558008 0.0021205292 NA 1 1 19 1.5 NA NA - 50 #F8766D -1.5221409799 0.0021205292 NA 1 1 19 1.5 NA NA - 51 #F8766D 1.0560885560 0.0021205292 NA 1 1 19 1.5 NA NA - 52 #F8766D 0.8835172546 0.0021205292 NA 1 1 19 1.5 NA NA - 53 #F8766D 0.9188454400 0.0021205292 NA 1 1 19 1.5 NA NA - 54 #F8766D -0.5306488162 0.0021205292 NA 1 1 19 1.5 NA NA - 55 #F8766D -1.4267870613 0.0021205292 NA 1 1 19 1.5 NA NA - 56 #F8766D -1.1722045261 0.0021205292 NA 1 1 19 1.5 NA NA - 57 #F8766D -0.9388988613 0.0021205292 NA 1 1 19 1.5 NA NA - 58 #F8766D -1.9686936318 0.0021205292 NA 1 1 19 1.5 NA NA - 59 #F8766D 0.5199593392 0.0021205292 NA 1 1 19 1.5 NA NA - 60 #F8766D -0.6618351108 0.0021205292 NA 1 1 19 1.5 NA NA - 61 #F8766D 1.0506953534 0.0021205292 NA 1 1 19 1.5 NA NA - 62 #F8766D 1.2699072074 0.0021205292 NA 1 1 19 1.5 NA NA - 63 #F8766D 1.4801374750 0.0021205292 NA 1 1 19 1.5 NA NA - 64 #F8766D -2.1011618432 0.0021205292 NA 1 1 19 1.5 NA NA - 65 #F8766D 0.9436583946 0.0021205292 NA 1 1 19 1.5 NA NA - 66 #F8766D -1.9496065182 0.0021205292 NA 1 1 19 1.5 NA NA - 67 #F8766D 0.8588552203 0.0021205292 NA 1 1 19 1.5 NA NA - 68 #F8766D 0.8082499189 0.0021205292 NA 1 1 19 1.5 NA NA - 69 #F8766D 1.1185073946 0.0021205292 NA 1 1 19 1.5 NA NA - 70 #F8766D -0.5710990401 0.0021205292 NA 1 1 19 1.5 NA NA - 71 #F8766D -0.4747147614 0.0021205292 NA 1 1 19 1.5 NA NA - 72 #F8766D 0.4807212287 0.0021205292 NA 1 1 19 1.5 NA NA - 73 #F8766D 0.8750972790 0.0021205292 NA 1 1 19 1.5 NA NA - 74 #F8766D -1.9252179935 0.0021205292 NA 1 1 19 1.5 NA NA - 75 #F8766D -0.5126246305 0.0021205292 NA 1 1 19 1.5 NA NA - 76 #F8766D 0.8833019705 0.0021205292 NA 1 1 19 1.5 NA NA - 77 #F8766D 0.8804282207 0.0021205292 NA 1 1 19 1.5 NA NA - 78 #F8766D 0.8085531676 0.0021205292 NA 1 1 19 1.5 NA NA - 79 #F8766D 0.9919429354 0.0021205292 NA 1 1 19 1.5 NA NA - 80 #F8766D 0.9182626855 0.0021205292 NA 1 1 19 1.5 NA NA - 81 #F8766D 0.4849287432 0.0021205292 NA 1 1 19 1.5 NA NA - 82 #F8766D 0.4535520658 0.0021205292 NA 1 1 19 1.5 NA NA - 83 #F8766D 0.7084222232 0.0021205292 NA 1 1 19 1.5 NA NA - 84 #F8766D 0.9057858766 0.0021205292 NA 1 1 19 1.5 NA NA - 85 #F8766D 0.8457319762 0.0021205292 NA 1 1 19 1.5 NA NA - 86 #F8766D 1.0567186323 0.0021205292 NA 1 1 19 1.5 NA NA - 87 #F8766D 1.0996113165 0.0021205292 NA 1 1 19 1.5 NA NA - 88 #F8766D 0.6003317781 0.0021205292 NA 1 1 19 1.5 NA NA - 89 #F8766D 2.4461464255 0.0021205292 NA 1 1 19 1.5 NA NA - 90 #F8766D 0.4774418799 0.0021205292 NA 1 1 19 1.5 NA NA - 91 #F8766D 0.8129876269 0.0021205292 NA 1 1 19 1.5 NA NA - 92 #F8766D 1.0792170167 0.0021205292 NA 1 1 19 1.5 NA NA - 93 #F8766D 2.3187254719 0.0021205292 NA 1 1 19 1.5 NA NA - 94 #F8766D 0.9218987819 0.0021205292 NA 1 1 19 1.5 NA NA - 95 #F8766D 1.0720723275 0.0021205292 NA 1 1 19 1.5 NA NA - 96 #F8766D -1.3257823843 0.0021205292 NA 1 1 19 1.5 NA NA - 97 #F8766D 0.8345656062 0.0021205292 NA 1 1 19 1.5 NA NA - 98 #F8766D -0.4599534999 0.0021205292 NA 1 1 19 1.5 NA NA - 99 #F8766D -0.6441880108 0.0021205292 NA 1 1 19 1.5 NA NA - 100 #F8766D 0.7759958764 0.0021205292 NA 1 1 19 1.5 NA NA - 101 #F8766D 1.0473233404 0.0021205292 NA 1 1 19 1.5 NA NA - 102 #F8766D -0.4231028209 0.0021205292 NA 1 1 19 1.5 NA NA - 103 #F8766D -0.4733135214 0.0021205292 NA 1 1 19 1.5 NA NA - 104 #F8766D -0.9727803596 0.0021205292 NA 1 1 19 1.5 NA NA - 105 #F8766D 0.7722467186 0.0021205292 NA 1 1 19 1.5 NA NA - 106 #F8766D 0.7723303950 0.0021205292 NA 1 1 19 1.5 NA NA - 107 #F8766D -1.1212506240 0.0021205292 NA 1 1 19 1.5 NA NA - 108 #F8766D 0.4676770021 0.0021205292 NA 1 1 19 1.5 NA NA - 109 #F8766D 0.4410630412 0.0021205292 NA 1 1 19 1.5 NA NA - 110 #F8766D -1.6021661180 0.0021205292 NA 1 1 19 1.5 NA NA - 111 #F8766D -0.7735521870 0.0021205292 NA 1 1 19 1.5 NA NA - 112 #F8766D 1.0532398858 0.0021205292 NA 1 1 19 1.5 NA NA - 113 #F8766D 0.8200829526 0.0021205292 NA 1 1 19 1.5 NA NA - 114 #F8766D 1.0689081046 0.0021205292 NA 1 1 19 1.5 NA NA - 115 #F8766D 0.8537721903 0.0021205292 NA 1 1 19 1.5 NA NA - 116 #F8766D -0.9562085177 0.0021205292 NA 1 1 19 1.5 NA NA - 117 #F8766D -0.4561820132 0.0021205292 NA 1 1 19 1.5 NA NA - 118 #F8766D -0.5281014198 0.0021205292 NA 1 1 19 1.5 NA NA - 119 #F8766D -1.1117447604 0.0021205292 NA 1 1 19 1.5 NA NA - 120 #F8766D -0.4223870215 0.0021205292 NA 1 1 19 1.5 NA NA - 121 #F8766D -0.4338653184 0.0021205292 NA 1 1 19 1.5 NA NA - 122 #F8766D 0.4604146623 0.0021205292 NA 1 1 19 1.5 NA NA - 123 #F8766D -1.8983645761 0.0021205292 NA 1 1 19 1.5 NA NA - 124 #F8766D -0.4711349780 0.0021205292 NA 1 1 19 1.5 NA NA - 125 #F8766D 0.4637690485 0.0021205292 NA 1 1 19 1.5 NA NA - 126 #F8766D -0.4123518649 0.0021205292 NA 1 1 19 1.5 NA NA - 127 #F8766D 0.9833435800 0.0021205292 NA 1 1 19 1.5 NA NA - 128 #F8766D 0.9105954136 0.0021205292 NA 1 1 19 1.5 NA NA - 129 #F8766D -0.4411373075 0.0021205292 NA 1 1 19 1.5 NA NA - 130 #F8766D 1.1011164140 0.0021205292 NA 1 1 19 1.5 NA NA - 131 #F8766D 0.4063912697 0.0021205292 NA 1 1 19 1.5 NA NA - 132 #F8766D 0.9349878804 0.0021205292 NA 1 1 19 1.5 NA NA - 133 #F8766D -0.6311206654 0.0021205292 NA 1 1 19 1.5 NA NA - 134 #F8766D -0.7304868310 0.0021205292 NA 1 1 19 1.5 NA NA - 135 #F8766D 1.0544682243 0.0021205292 NA 1 1 19 1.5 NA NA - 136 #F8766D 0.4678615627 0.0021205292 NA 1 1 19 1.5 NA NA - 137 #F8766D 0.7205681717 0.0021205292 NA 1 1 19 1.5 NA NA - 138 #F8766D -0.9562323584 0.0021205292 NA 1 1 19 1.5 NA NA - 139 #F8766D 0.3978745347 0.0021205292 NA 1 1 19 1.5 NA NA - 140 #F8766D 0.7104545209 0.0021205292 NA 1 1 19 1.5 NA NA - 141 #F8766D 0.4125776954 0.0021205292 NA 1 1 19 1.5 NA NA - 142 #F8766D 0.7122192129 0.0021205292 NA 1 1 19 1.5 NA NA - 143 #F8766D -0.8425123236 0.0021205292 NA 1 1 19 1.5 NA NA - 144 #F8766D 0.6492421984 0.0021205292 NA 1 1 19 1.5 NA NA - 145 #F8766D 1.0353931279 0.0021205292 NA 1 1 19 1.5 NA NA - 146 #F8766D 0.7932233645 0.0021205292 NA 1 1 19 1.5 NA NA - 147 #F8766D 0.4480173986 0.0021205292 NA 1 1 19 1.5 NA NA - 148 #F8766D 0.4297551938 0.0021205292 NA 1 1 19 1.5 NA NA - 149 #F8766D -0.9229270583 0.0021205292 NA 1 1 19 1.5 NA NA - 150 #F8766D 0.6722000551 0.0021205292 NA 1 1 19 1.5 NA NA - 151 #F8766D 0.4382865233 0.0021205292 NA 1 1 19 1.5 NA NA - 152 #F8766D -0.3939492820 0.0021205292 NA 1 1 19 1.5 NA NA - 153 #F8766D 0.7108327840 0.0021205292 NA 1 1 19 1.5 NA NA - 154 #F8766D 0.8632535015 0.0021205292 NA 1 1 19 1.5 NA NA - 155 #F8766D 0.9755432954 0.0021205292 NA 1 1 19 1.5 NA NA - 156 #F8766D -1.3681844728 0.0021205292 NA 1 1 19 1.5 NA NA - 157 #F8766D -0.7095631750 0.0021205292 NA 1 1 19 1.5 NA NA - 158 #F8766D -0.3872607495 0.0021205292 NA 1 1 19 1.5 NA NA - 159 #F8766D -0.4229868732 0.0021205292 NA 1 1 19 1.5 NA NA - 160 #F8766D -1.0255541961 0.0021205292 NA 1 1 19 1.5 NA NA - 161 #F8766D -0.3884744562 0.0021205292 NA 1 1 19 1.5 NA NA - 162 #F8766D 0.4856446082 0.0021205292 NA 1 1 19 1.5 NA NA - 163 #F8766D -0.3672889171 0.0021205292 NA 1 1 19 1.5 NA NA - 164 #F8766D -0.4355670192 0.0021205292 NA 1 1 19 1.5 NA NA - 165 #F8766D 0.6545121813 0.0021205292 NA 1 1 19 1.5 NA NA - 166 #F8766D 0.7106242284 0.0021205292 NA 1 1 19 1.5 NA NA - 167 #F8766D -1.1861517618 0.0021205292 NA 1 1 19 1.5 NA NA - 168 #F8766D 0.6459055098 0.0021205292 NA 1 1 19 1.5 NA NA - 169 #F8766D 0.7104775008 0.0021205292 NA 1 1 19 1.5 NA NA - 170 #F8766D 0.7882239899 0.0021205292 NA 1 1 19 1.5 NA NA - 171 #F8766D -0.3844953178 0.0021205292 NA 1 1 19 1.5 NA NA - 172 #F8766D 0.3636592651 0.0021205292 NA 1 1 19 1.5 NA NA - 173 #F8766D 0.6804729564 0.0021205292 NA 1 1 19 1.5 NA NA - 174 #F8766D 0.8528517441 0.0021205292 NA 1 1 19 1.5 NA NA - 175 #F8766D 0.3725104062 0.0021205292 NA 1 1 19 1.5 NA NA - 176 #F8766D 0.5922551987 0.0021205292 NA 1 1 19 1.5 NA NA - 177 #F8766D 0.6310159117 0.0021205292 NA 1 1 19 1.5 NA NA - 178 #F8766D 0.7153370430 0.0021205292 NA 1 1 19 1.5 NA NA - 179 #F8766D 0.4933124706 0.0021205292 NA 1 1 19 1.5 NA NA - 180 #F8766D -0.3582822164 0.0021205292 NA 1 1 19 1.5 NA NA - 181 #F8766D -0.7785222261 0.0021205292 NA 1 1 19 1.5 NA NA - 182 #F8766D 0.7437164994 0.0021205292 NA 1 1 19 1.5 NA NA - 183 #F8766D -0.3928181416 0.0021205292 NA 1 1 19 1.5 NA NA - 184 #F8766D 0.9183593296 0.0021205292 NA 1 1 19 1.5 NA NA - 185 #F8766D 0.5073932595 0.0021205292 NA 1 1 19 1.5 NA NA - 186 #F8766D 0.6638603543 0.0021205292 NA 1 1 19 1.5 NA NA - 187 #F8766D 0.6051560458 0.0021205292 NA 1 1 19 1.5 NA NA - 188 #F8766D 0.6473937600 0.0021205292 NA 1 1 19 1.5 NA NA - 189 #F8766D -0.3931544973 0.0021205292 NA 1 1 19 1.5 NA NA - 190 #F8766D 0.7458530920 0.0021205292 NA 1 1 19 1.5 NA NA - 191 #F8766D -0.5449095920 0.0021205292 NA 1 1 19 1.5 NA NA - 192 #F8766D -0.6723880145 0.0021205292 NA 1 1 19 1.5 NA NA - 193 #F8766D -0.4455627588 0.0021205292 NA 1 1 19 1.5 NA NA - 194 #F8766D -1.5902256336 0.0021205292 NA 1 1 19 1.5 NA NA - 195 #F8766D 0.6069462105 0.0021205292 NA 1 1 19 1.5 NA NA - 196 #F8766D -0.7156786392 0.0021205292 NA 1 1 19 1.5 NA NA - 197 #F8766D 0.7160857094 0.0021205292 NA 1 1 19 1.5 NA NA - 198 #F8766D -1.7539104089 0.0021205292 NA 1 1 19 1.5 NA NA - 199 #F8766D 0.6800172149 0.0021205292 NA 1 1 19 1.5 NA NA - 200 #F8766D -0.7350381453 0.0021205292 NA 1 1 19 1.5 NA NA - 201 #F8766D 0.3943387163 0.0021205292 NA 1 1 19 1.5 NA NA - 202 #F8766D 0.7844005350 0.0021205292 NA 1 1 19 1.5 NA NA - 203 #F8766D -2.8258587123 0.0021205292 NA 1 1 19 1.5 NA NA - 204 #F8766D -0.4280526119 0.0021205292 NA 1 1 19 1.5 NA NA - 205 #F8766D -0.3366735549 0.0021205292 NA 1 1 19 1.5 NA NA - 206 #F8766D 0.6095278817 0.0021205292 NA 1 1 19 1.5 NA NA - 207 #F8766D 0.7790488875 0.0021205292 NA 1 1 19 1.5 NA NA - 208 #F8766D 0.6967033049 0.0021205292 NA 1 1 19 1.5 NA NA - 209 #F8766D 0.3530754899 0.0021205292 NA 1 1 19 1.5 NA NA - 210 #F8766D -0.7223437212 0.0021205292 NA 1 1 19 1.5 NA NA - 211 #F8766D 0.3207175020 0.0021205292 NA 1 1 19 1.5 NA NA - 212 #F8766D -0.3622207343 0.0021205292 NA 1 1 19 1.5 NA NA - 213 #F8766D 0.6577980763 0.0021205292 NA 1 1 19 1.5 NA NA - 214 #F8766D -0.6985584082 0.0021205292 NA 1 1 19 1.5 NA NA - 215 #F8766D 0.9266775924 0.0021205292 NA 1 1 19 1.5 NA NA - 216 #F8766D 0.3798970829 0.0021205292 NA 1 1 19 1.5 NA NA - 217 #F8766D 0.9261045660 0.0021205292 NA 1 1 19 1.5 NA NA - 218 #F8766D -0.3774932396 0.0021205292 NA 1 1 19 1.5 NA NA - 219 #F8766D 0.3699156634 0.0021205292 NA 1 1 19 1.5 NA NA - 220 #F8766D -0.3364626128 0.0021205292 NA 1 1 19 1.5 NA NA - 221 #F8766D 0.6177538088 0.0021205292 NA 1 1 19 1.5 NA NA - 222 #F8766D 0.5809323101 0.0021205292 NA 1 1 19 1.5 NA NA - 223 #F8766D -1.2141736965 0.0021205292 NA 1 1 19 1.5 NA NA - 224 #F8766D 0.8241746459 0.0021205292 NA 1 1 19 1.5 NA NA - 225 #F8766D 1.0245812684 0.0021205292 NA 1 1 19 1.5 NA NA - 226 #F8766D 0.3114052040 0.0021205292 NA 1 1 19 1.5 NA NA - 227 #F8766D -0.6389622198 0.0021205292 NA 1 1 19 1.5 NA NA - 228 #F8766D 0.3208509428 0.0021205292 NA 1 1 19 1.5 NA NA - 229 #F8766D 0.3543402249 0.0021205292 NA 1 1 19 1.5 NA NA - 230 #F8766D 0.3688273949 0.0021205292 NA 1 1 19 1.5 NA NA - 231 #F8766D -0.9556164455 0.0021205292 NA 1 1 19 1.5 NA NA - 232 #F8766D 0.3116243601 0.0021205292 NA 1 1 19 1.5 NA NA - 233 #F8766D -0.3744241412 0.0021205292 NA 1 1 19 1.5 NA NA - 234 #F8766D 0.3041505305 0.0021205292 NA 1 1 19 1.5 NA NA - 235 #F8766D 0.5546340767 0.0021205292 NA 1 1 19 1.5 NA NA - 236 #F8766D -0.8222331293 0.0021205292 NA 1 1 19 1.5 NA NA - 237 #F8766D -0.3313804570 0.0021205292 NA 1 1 19 1.5 NA NA - 238 #F8766D 1.2171328131 0.0021205292 NA 1 1 19 1.5 NA NA - 239 #F8766D 0.3193989068 0.0021205292 NA 1 1 19 1.5 NA NA - 240 #F8766D 0.3190023703 0.0021205292 NA 1 1 19 1.5 NA NA - 241 #F8766D -0.3252728847 0.0021205292 NA 1 1 19 1.5 NA NA - 242 #F8766D -0.5916563971 0.0021205292 NA 1 1 19 1.5 NA NA - 243 #F8766D 0.5499740220 0.0021205292 NA 1 1 19 1.5 NA NA - 244 #F8766D -0.3148736335 0.0021205292 NA 1 1 19 1.5 NA NA - 245 #F8766D 0.6131678424 0.0021205292 NA 1 1 19 1.5 NA NA - 246 #F8766D 0.3314988268 0.0021205292 NA 1 1 19 1.5 NA NA - 247 #F8766D 0.3264900548 0.0021205292 NA 1 1 19 1.5 NA NA - 248 #F8766D -0.3211475785 0.0021205292 NA 1 1 19 1.5 NA NA - 249 #F8766D 0.6821549479 0.0021205292 NA 1 1 19 1.5 NA NA - 250 #F8766D 0.7289700796 0.0021205292 NA 1 1 19 1.5 NA NA - 251 #F8766D 0.2977444052 0.0021205292 NA 1 1 19 1.5 NA NA - 252 #F8766D 0.3139888888 0.0021205292 NA 1 1 19 1.5 NA NA - 253 #F8766D 0.5315852648 0.0021205292 NA 1 1 19 1.5 NA NA - 254 #F8766D 0.6025698543 0.0021205292 NA 1 1 19 1.5 NA NA - 255 #F8766D 0.5702421291 0.0021205292 NA 1 1 19 1.5 NA NA - 256 #F8766D 0.5677650890 0.0021205292 NA 1 1 19 1.5 NA NA - 257 #F8766D 0.2994931149 0.0021205292 NA 1 1 19 1.5 NA NA - 258 #F8766D 0.7166256025 0.0021205292 NA 1 1 19 1.5 NA NA - 259 #F8766D 0.2816044184 0.0021205292 NA 1 1 19 1.5 NA NA - 260 #F8766D 0.7091552530 0.0021205292 NA 1 1 19 1.5 NA NA - 261 #F8766D 0.5949419692 0.0021205292 NA 1 1 19 1.5 NA NA - 262 #F8766D 0.3570456568 0.0021205292 NA 1 1 19 1.5 NA NA - 263 #F8766D -0.3072506216 0.0021205292 NA 1 1 19 1.5 NA NA - 264 #F8766D -0.6952942200 0.0021205292 NA 1 1 19 1.5 NA NA - 265 #F8766D 0.7744006613 0.0021205292 NA 1 1 19 1.5 NA NA - 266 #F8766D -0.5576967314 0.0021205292 NA 1 1 19 1.5 NA NA - 267 #F8766D -1.1743741657 0.0021205292 NA 1 1 19 1.5 NA NA - 268 #F8766D 0.5520431390 0.0021205292 NA 1 1 19 1.5 NA NA - 269 #F8766D 0.5075179867 0.0021205292 NA 1 1 19 1.5 NA NA - 270 #F8766D -0.6475252493 0.0021205292 NA 1 1 19 1.5 NA NA - 271 #F8766D 0.5624372863 0.0021205292 NA 1 1 19 1.5 NA NA - 272 #F8766D -0.3251016335 0.0021205292 NA 1 1 19 1.5 NA NA - 273 #F8766D -0.3750372891 0.0021205292 NA 1 1 19 1.5 NA NA - 274 #F8766D -0.5823287989 0.0021205292 NA 1 1 19 1.5 NA NA - 275 #F8766D 0.7115373344 0.0021205292 NA 1 1 19 1.5 NA NA - 276 #F8766D -0.5647985006 0.0021205292 NA 1 1 19 1.5 NA NA - 277 #F8766D 0.5713491147 0.0021205292 NA 1 1 19 1.5 NA NA - 278 #F8766D 0.3363750661 0.0021205292 NA 1 1 19 1.5 NA NA - 279 #F8766D 0.6015625357 0.0021205292 NA 1 1 19 1.5 NA NA - 280 #F8766D 0.6987352339 0.0021205292 NA 1 1 19 1.5 NA NA - 281 #F8766D -0.7867305591 0.0021205292 NA 1 1 19 1.5 NA NA - 282 #F8766D 0.3114332272 0.0021205292 NA 1 1 19 1.5 NA NA - 283 #F8766D -0.5420115742 0.0021205292 NA 1 1 19 1.5 NA NA - 284 #F8766D 0.5892330020 0.0021205292 NA 1 1 19 1.5 NA NA - 285 #F8766D 0.5016698873 0.0021205292 NA 1 1 19 1.5 NA NA - 286 #F8766D -0.3140895247 0.0021205292 NA 1 1 19 1.5 NA NA - 287 #F8766D -0.6276890397 0.0021205292 NA 1 1 19 1.5 NA NA - 288 #F8766D 0.3145655200 0.0021205292 NA 1 1 19 1.5 NA NA - 289 #F8766D -0.3538396093 0.0021205292 NA 1 1 19 1.5 NA NA - 290 #F8766D 0.3241764512 0.0021205292 NA 1 1 19 1.5 NA NA - 291 #F8766D -0.3026796005 0.0021205292 NA 1 1 19 1.5 NA NA - 292 #F8766D -0.3191612048 0.0021205292 NA 1 1 19 1.5 NA NA - 293 #F8766D -1.8026274968 0.0021205292 NA 1 1 19 1.5 NA NA - 294 #F8766D -0.5758487621 0.0021205292 NA 1 1 19 1.5 NA NA - 295 #F8766D -1.2360064271 0.0021205292 NA 1 1 19 1.5 NA NA - 296 #F8766D 0.3410542500 0.0021205292 NA 1 1 19 1.5 NA NA - 297 #F8766D 0.3008918778 0.0021205292 NA 1 1 19 1.5 NA NA - 298 #F8766D 0.5466453714 0.0021205292 NA 1 1 19 1.5 NA NA - 299 #F8766D 0.3084764907 0.0021205292 NA 1 1 19 1.5 NA NA - 300 #F8766D 0.6395319931 0.0021205292 NA 1 1 19 1.5 NA NA - 301 #F8766D -0.2810901318 0.0021205292 NA 1 1 19 1.5 NA NA - 302 #F8766D 0.4443292138 0.0021205292 NA 1 1 19 1.5 NA NA - 303 #F8766D 0.4581921431 0.0021205292 NA 1 1 19 1.5 NA NA - 304 #F8766D -0.2913216910 0.0021205292 NA 1 1 19 1.5 NA NA - 305 #F8766D 0.2860234283 0.0021205292 NA 1 1 19 1.5 NA NA - 306 #F8766D 0.4764319455 0.0021205292 NA 1 1 19 1.5 NA NA - 307 #F8766D -0.8231103624 0.0021205292 NA 1 1 19 1.5 NA NA - 308 #F8766D 0.5439950665 0.0021205292 NA 1 1 19 1.5 NA NA - 309 #F8766D 0.2715378477 0.0021205292 NA 1 1 19 1.5 NA NA - 310 #F8766D -1.3215313505 0.0021205292 NA 1 1 19 1.5 NA NA - 311 #F8766D 0.5381969767 0.0021205292 NA 1 1 19 1.5 NA NA - 312 #F8766D -0.2785922665 0.0021205292 NA 1 1 19 1.5 NA NA - 313 #F8766D -0.3808237882 0.0021205292 NA 1 1 19 1.5 NA NA - 314 #F8766D 0.8698032976 0.0021205292 NA 1 1 19 1.5 NA NA - 315 #F8766D 0.9268225307 0.0021205292 NA 1 1 19 1.5 NA NA - 316 #F8766D -0.2654794427 0.0021205292 NA 1 1 19 1.5 NA NA - 317 #F8766D 0.4102638172 0.0021205292 NA 1 1 19 1.5 NA NA - 318 #F8766D 0.3816132818 0.0021205292 NA 1 1 19 1.5 NA NA - 319 #F8766D -0.2910726245 0.0021205292 NA 1 1 19 1.5 NA NA - 320 #F8766D -1.3430459310 0.0021205292 NA 1 1 19 1.5 NA NA - 321 #F8766D -0.3318150732 0.0021205292 NA 1 1 19 1.5 NA NA - 322 #F8766D 0.4520202887 0.0021205292 NA 1 1 19 1.5 NA NA - 323 #F8766D 0.2955240096 0.0021205292 NA 1 1 19 1.5 NA NA - 324 #F8766D 0.5092735854 0.0021205292 NA 1 1 19 1.5 NA NA - 325 #F8766D 0.2686698663 0.0021205292 NA 1 1 19 1.5 NA NA - 326 #F8766D 0.6426774510 0.0021205292 NA 1 1 19 1.5 NA NA - 327 #F8766D 0.4341564367 0.0021205292 NA 1 1 19 1.5 NA NA - 328 #F8766D -0.2761859487 0.0021205292 NA 1 1 19 1.5 NA NA - 329 #F8766D -0.4051765497 0.0021205292 NA 1 1 19 1.5 NA NA - 330 #F8766D 0.5372000305 0.0021205292 NA 1 1 19 1.5 NA NA - 331 #F8766D -0.2905559917 0.0021205292 NA 1 1 19 1.5 NA NA - 332 #F8766D 0.2644082912 0.0021205292 NA 1 1 19 1.5 NA NA - 333 #F8766D -0.3135406597 0.0021205292 NA 1 1 19 1.5 NA NA - 334 #F8766D 0.3562688540 0.0021205292 NA 1 1 19 1.5 NA NA - 335 #F8766D -0.7291590551 0.0021205292 NA 1 1 19 1.5 NA NA - 336 #F8766D 0.2500154576 0.0021205292 NA 1 1 19 1.5 NA NA - 337 #F8766D -0.6789647111 0.0021205292 NA 1 1 19 1.5 NA NA - 338 #F8766D 0.4509775382 0.0021205292 NA 1 1 19 1.5 NA NA - 339 #F8766D -0.2993343651 0.0021205292 NA 1 1 19 1.5 NA NA - 340 #F8766D 0.2641133128 0.0021205292 NA 1 1 19 1.5 NA NA - 341 #F8766D -0.3020799024 0.0021205292 NA 1 1 19 1.5 NA NA - 342 #F8766D -0.2710179986 0.0021205292 NA 1 1 19 1.5 NA NA - 343 #F8766D 0.4351808044 0.0021205292 NA 1 1 19 1.5 NA NA - 344 #F8766D -0.5227249300 0.0021205292 NA 1 1 19 1.5 NA NA - 345 #F8766D 0.2483553972 0.0021205292 NA 1 1 19 1.5 NA NA - 346 #F8766D -0.4242568219 0.0021205292 NA 1 1 19 1.5 NA NA - 347 #F8766D -1.0725152227 0.0021205292 NA 1 1 19 1.5 NA NA - 348 #F8766D 0.4571846480 0.0021205292 NA 1 1 19 1.5 NA NA - 349 #F8766D 0.4988136728 0.0021205292 NA 1 1 19 1.5 NA NA - 350 #F8766D 0.6953252632 0.0021205292 NA 1 1 19 1.5 NA NA - 351 #F8766D 0.2410544029 0.0021205292 NA 1 1 19 1.5 NA NA - 352 #F8766D 0.5175130411 0.0021205292 NA 1 1 19 1.5 NA NA - 353 #F8766D -0.6709335663 0.0021205292 NA 1 1 19 1.5 NA NA - 354 #F8766D 0.3114712619 0.0021205292 NA 1 1 19 1.5 NA NA - 355 #F8766D -0.4104370849 0.0021205292 NA 1 1 19 1.5 NA NA - 356 #F8766D 0.2952405739 0.0021205292 NA 1 1 19 1.5 NA NA - 357 #F8766D 0.4487253097 0.0021205292 NA 1 1 19 1.5 NA NA - 358 #F8766D 0.4474532343 0.0021205292 NA 1 1 19 1.5 NA NA - 359 #F8766D -0.3053799478 0.0021205292 NA 1 1 19 1.5 NA NA - 360 #F8766D -0.4010622648 0.0021205292 NA 1 1 19 1.5 NA NA - 361 #F8766D -0.2631023165 0.0021205292 NA 1 1 19 1.5 NA NA - 362 #F8766D -0.3569947289 0.0021205292 NA 1 1 19 1.5 NA NA - 363 #F8766D -0.5614679844 0.0021205292 NA 1 1 19 1.5 NA NA - 364 #F8766D 0.7076694925 0.0021205292 NA 1 1 19 1.5 NA NA - 365 #F8766D 0.2374402194 0.0021205292 NA 1 1 19 1.5 NA NA - 366 #F8766D 0.6724119805 0.0021205292 NA 1 1 19 1.5 NA NA - 367 #F8766D 0.4403945065 0.0021205292 NA 1 1 19 1.5 NA NA - 368 #F8766D -0.2621067897 0.0021205292 NA 1 1 19 1.5 NA NA - 369 #F8766D -0.2635115073 0.0021205292 NA 1 1 19 1.5 NA NA - 370 #F8766D -0.3353818255 0.0021205292 NA 1 1 19 1.5 NA NA - 371 #F8766D -0.2514804689 0.0021205292 NA 1 1 19 1.5 NA NA - 372 #F8766D -0.2579959351 0.0021205292 NA 1 1 19 1.5 NA NA - 373 #F8766D 0.2425340350 0.0021205292 NA 1 1 19 1.5 NA NA - 374 #F8766D -0.9697882171 0.0021205292 NA 1 1 19 1.5 NA NA - 375 #F8766D 0.2226739667 0.0021205292 NA 1 1 19 1.5 NA NA - 376 #F8766D 0.2348380948 0.0021205292 NA 1 1 19 1.5 NA NA - 377 #F8766D 0.4312612650 0.0021205292 NA 1 1 19 1.5 NA NA - 378 #F8766D 0.5051418603 0.0021205292 NA 1 1 19 1.5 NA NA - 379 #F8766D -0.2286818481 0.0021205292 NA 1 1 19 1.5 NA NA - 380 #F8766D -0.3775536850 0.0021205292 NA 1 1 19 1.5 NA NA - 381 #F8766D 0.2776478690 0.0021205292 NA 1 1 19 1.5 NA NA - 382 #F8766D -0.3593048088 0.0021205292 NA 1 1 19 1.5 NA NA - 383 #F8766D 0.2389571486 0.0021205292 NA 1 1 19 1.5 NA NA - 384 #F8766D -0.2487954892 0.0021205292 NA 1 1 19 1.5 NA NA - 385 #F8766D 0.2610043607 0.0021205292 NA 1 1 19 1.5 NA NA - 386 #F8766D 0.5595579779 0.0021205292 NA 1 1 19 1.5 NA NA - 387 #F8766D -0.6523690008 0.0021205292 NA 1 1 19 1.5 NA NA - 388 #F8766D 0.4535294343 0.0021205292 NA 1 1 19 1.5 NA NA - 389 #F8766D 0.7960057282 0.0021205292 NA 1 1 19 1.5 NA NA - 390 #F8766D 0.4936763072 0.0021205292 NA 1 1 19 1.5 NA NA - 391 #F8766D 0.2597379040 0.0021205292 NA 1 1 19 1.5 NA NA - 392 #F8766D 0.2510662538 0.0021205292 NA 1 1 19 1.5 NA NA - 393 #F8766D 0.2595230788 0.0021205292 NA 1 1 19 1.5 NA NA - 394 #F8766D 0.2975290461 0.0021205292 NA 1 1 19 1.5 NA NA - 395 #F8766D -0.2147854231 0.0021205292 NA 1 1 19 1.5 NA NA - 396 #F8766D -0.5093831745 0.0021205292 NA 1 1 19 1.5 NA NA - 397 #F8766D 0.4671136864 0.0021205292 NA 1 1 19 1.5 NA NA - 398 #F8766D 0.2318773323 0.0021205292 NA 1 1 19 1.5 NA NA - 399 #F8766D 0.2413981470 0.0021205292 NA 1 1 19 1.5 NA NA - 400 #F8766D -0.2360650085 0.0021205292 NA 1 1 19 1.5 NA NA - 401 #F8766D 0.2477701878 0.0021205292 NA 1 1 19 1.5 NA NA - 402 #F8766D 0.2511348646 0.0021205292 NA 1 1 19 1.5 NA NA - 403 #F8766D 0.3916729208 0.0021205292 NA 1 1 19 1.5 NA NA - 404 #F8766D 0.2469908554 0.0021205292 NA 1 1 19 1.5 NA NA - 405 #F8766D 0.4330210234 0.0021205292 NA 1 1 19 1.5 NA NA - 406 #F8766D 0.2381657347 0.0021205292 NA 1 1 19 1.5 NA NA - 407 #F8766D 0.2199339312 0.0021205292 NA 1 1 19 1.5 NA NA - 408 #F8766D -0.2675779508 0.0021205292 NA 1 1 19 1.5 NA NA - 409 #F8766D -0.4141492792 0.0021205292 NA 1 1 19 1.5 NA NA - 410 #F8766D -0.4087444776 0.0021205292 NA 1 1 19 1.5 NA NA - 411 #F8766D 0.9239443244 0.0021205292 NA 1 1 19 1.5 NA NA - 412 #F8766D 0.4289958652 0.0021205292 NA 1 1 19 1.5 NA NA - 413 #F8766D 0.4278679683 0.0021205292 NA 1 1 19 1.5 NA NA - 414 #F8766D 0.3319365181 0.0021205292 NA 1 1 19 1.5 NA NA - 415 #F8766D -0.2576166279 0.0021205292 NA 1 1 19 1.5 NA NA - 416 #F8766D 0.2421629531 0.0021205292 NA 1 1 19 1.5 NA NA - 417 #F8766D 0.4965992546 0.0021205292 NA 1 1 19 1.5 NA NA - 418 #F8766D 0.2227846184 0.0021205292 NA 1 1 19 1.5 NA NA - 419 #F8766D -0.2654171324 0.0021205292 NA 1 1 19 1.5 NA NA - 420 #F8766D -0.8809674893 0.0021205292 NA 1 1 19 1.5 NA NA - 421 #F8766D -0.3640459441 0.0021205292 NA 1 1 19 1.5 NA NA - 422 #F8766D 0.2005369664 0.0021205292 NA 1 1 19 1.5 NA NA - 423 #F8766D 0.4534842261 0.0021205292 NA 1 1 19 1.5 NA NA - 424 #F8766D -0.3933862737 0.0021205292 NA 1 1 19 1.5 NA NA - 425 #F8766D -0.2105289883 0.0021205292 NA 1 1 19 1.5 NA NA - 426 #F8766D -0.2143911784 0.0021205292 NA 1 1 19 1.5 NA NA - 427 #F8766D 0.2134026906 0.0021205292 NA 1 1 19 1.5 NA NA - 428 #F8766D 0.3135859009 0.0021205292 NA 1 1 19 1.5 NA NA - 429 #F8766D 0.4065726520 0.0021205292 NA 1 1 19 1.5 NA NA - 430 #F8766D -0.2292063427 0.0021205292 NA 1 1 19 1.5 NA NA - 431 #F8766D 0.2881987250 0.0021205292 NA 1 1 19 1.5 NA NA - 432 #F8766D -0.2533990768 0.0021205292 NA 1 1 19 1.5 NA NA - 433 #F8766D -0.2486274847 0.0021205292 NA 1 1 19 1.5 NA NA - 434 #F8766D -0.2227077951 0.0021205292 NA 1 1 19 1.5 NA NA - 435 #F8766D 0.2013973111 0.0021205292 NA 1 1 19 1.5 NA NA - 436 #F8766D 0.2472142917 0.0021205292 NA 1 1 19 1.5 NA NA - 437 #F8766D 0.1998149571 0.0021205292 NA 1 1 19 1.5 NA NA - 438 #F8766D -0.4283699748 0.0021205292 NA 1 1 19 1.5 NA NA - 439 #F8766D 0.4536491792 0.0021205292 NA 1 1 19 1.5 NA NA - 440 #F8766D 0.2110490901 0.0021205292 NA 1 1 19 1.5 NA NA - 441 #F8766D 0.3648493554 0.0021205292 NA 1 1 19 1.5 NA NA - 442 #F8766D -0.8374915411 0.0021205292 NA 1 1 19 1.5 NA NA - 443 #F8766D -0.2631779786 0.0021205292 NA 1 1 19 1.5 NA NA - 444 #F8766D 0.4376837444 0.0021205292 NA 1 1 19 1.5 NA NA - 445 #F8766D -0.2265976458 0.0021205292 NA 1 1 19 1.5 NA NA - 446 #F8766D -0.3398872295 0.0021205292 NA 1 1 19 1.5 NA NA - 447 #F8766D 0.3865085955 0.0021205292 NA 1 1 19 1.5 NA NA - 448 #F8766D -0.2057371863 0.0021205292 NA 1 1 19 1.5 NA NA - 449 #F8766D 0.4426914718 0.0021205292 NA 1 1 19 1.5 NA NA - 450 #F8766D 0.6183710053 0.0021205292 NA 1 1 19 1.5 NA NA - 451 #F8766D 0.2096647117 0.0021205292 NA 1 1 19 1.5 NA NA - 452 #F8766D -0.2161061630 0.0021205292 NA 1 1 19 1.5 NA NA - 453 #F8766D 0.5470986750 0.0021205292 NA 1 1 19 1.5 NA NA - 454 #F8766D -0.2093510344 0.0021205292 NA 1 1 19 1.5 NA NA - 455 #F8766D 0.2169504187 0.0021205292 NA 1 1 19 1.5 NA NA - 456 #F8766D -0.2406447461 0.0021205292 NA 1 1 19 1.5 NA NA - 457 #F8766D 0.2109441237 0.0021205292 NA 1 1 19 1.5 NA NA - 458 #F8766D 0.2032687386 0.0021205292 NA 1 1 19 1.5 NA NA - 459 #F8766D -0.2613335485 0.0021205292 NA 1 1 19 1.5 NA NA - 460 #F8766D -0.3466747063 0.0021205292 NA 1 1 19 1.5 NA NA - 461 #F8766D 0.1863006359 0.0021205292 NA 1 1 19 1.5 NA NA - 462 #F8766D 0.3475112209 0.0021205292 NA 1 1 19 1.5 NA NA - 463 #F8766D 0.3811490045 0.0021205292 NA 1 1 19 1.5 NA NA - 464 #F8766D 0.1955109715 0.0021205292 NA 1 1 19 1.5 NA NA - 465 #F8766D 0.3903333590 0.0021205292 NA 1 1 19 1.5 NA NA - 466 #F8766D -0.4208616426 0.0021205292 NA 1 1 19 1.5 NA NA - 467 #F8766D 0.1935090621 0.0021205292 NA 1 1 19 1.5 NA NA - 468 #F8766D 0.1974295823 0.0021205292 NA 1 1 19 1.5 NA NA - 469 #F8766D 0.3832935752 0.0021205292 NA 1 1 19 1.5 NA NA - 470 #F8766D 0.1916427215 0.0021205292 NA 1 1 19 1.5 NA NA - 471 #F8766D 0.2097611556 0.0021205292 NA 1 1 19 1.5 NA NA - 472 #F8766D -0.6658762091 0.0021205292 NA 1 1 19 1.5 NA NA - 473 #F8766D -0.4538025006 0.0021205292 NA 1 1 19 1.5 NA NA - 474 #F8766D 0.2177423569 0.0021205292 NA 1 1 19 1.5 NA NA - 475 #F8766D 0.2113205182 0.0021205292 NA 1 1 19 1.5 NA NA - 476 #F8766D 0.1867078505 0.0021205292 NA 1 1 19 1.5 NA NA - 477 #F8766D -0.3722974980 0.0021205292 NA 1 1 19 1.5 NA NA - 478 #F8766D -0.3026530931 0.0021205292 NA 1 1 19 1.5 NA NA - 479 #F8766D 0.2032304516 0.0021205292 NA 1 1 19 1.5 NA NA - 480 #F8766D -0.2103955238 0.0021205292 NA 1 1 19 1.5 NA NA - 481 #F8766D 0.1906069498 0.0021205292 NA 1 1 19 1.5 NA NA - 482 #F8766D 0.3214523861 0.0021205292 NA 1 1 19 1.5 NA NA - 483 #F8766D -0.1783734666 0.0021205292 NA 1 1 19 1.5 NA NA - 484 #F8766D 0.1976502525 0.0021205292 NA 1 1 19 1.5 NA NA - 485 #F8766D 0.2207131822 0.0021205292 NA 1 1 19 1.5 NA NA - 486 #F8766D -0.2008804019 0.0021205292 NA 1 1 19 1.5 NA NA - 487 #F8766D -0.1802704449 0.0021205292 NA 1 1 19 1.5 NA NA - 488 #F8766D -0.1827142668 0.0021205292 NA 1 1 19 1.5 NA NA - 489 #F8766D -0.3506732252 0.0021205292 NA 1 1 19 1.5 NA NA - 490 #F8766D -1.0409145386 0.0021205292 NA 1 1 19 1.5 NA NA - 491 #F8766D -0.2163720236 0.0021205292 NA 1 1 19 1.5 NA NA - 492 #F8766D 0.3300134202 0.0021205292 NA 1 1 19 1.5 NA NA - 493 #F8766D -0.3836239714 0.0021205292 NA 1 1 19 1.5 NA NA - 494 #F8766D 0.3249647163 0.0021205292 NA 1 1 19 1.5 NA NA - 495 #F8766D 0.1938682000 0.0021205292 NA 1 1 19 1.5 NA NA - 496 #F8766D 0.2031516192 0.0021205292 NA 1 1 19 1.5 NA NA - 497 #F8766D -0.2523386039 0.0021205292 NA 1 1 19 1.5 NA NA - 498 #F8766D 0.2068533625 0.0021205292 NA 1 1 19 1.5 NA NA - 499 #F8766D 0.3744980009 0.0021205292 NA 1 1 19 1.5 NA NA - 500 #F8766D -0.1987705845 0.0021205292 NA 1 1 19 1.5 NA NA - 501 #F8766D 0.1694579834 0.0021205292 NA 1 1 19 1.5 NA NA - 502 #F8766D 0.5719030062 0.0021205292 NA 1 1 19 1.5 NA NA - 503 #F8766D 0.2098426589 0.0021205292 NA 1 1 19 1.5 NA NA - 504 #F8766D -0.1913969094 0.0021205292 NA 1 1 19 1.5 NA NA - 505 #F8766D 0.3695976045 0.0021205292 NA 1 1 19 1.5 NA NA - 506 #F8766D 0.2129203299 0.0021205292 NA 1 1 19 1.5 NA NA - 507 #F8766D -0.3451447775 0.0021205292 NA 1 1 19 1.5 NA NA - 508 #F8766D -0.1962019288 0.0021205292 NA 1 1 19 1.5 NA NA - 509 #F8766D 0.3204899036 0.0021205292 NA 1 1 19 1.5 NA NA - 510 #F8766D -0.1688496081 0.0021205292 NA 1 1 19 1.5 NA NA - 511 #F8766D -0.1963774935 0.0021205292 NA 1 1 19 1.5 NA NA - 512 #F8766D 0.1861421489 0.0021205292 NA 1 1 19 1.5 NA NA - 513 #F8766D 0.3614559220 0.0021205292 NA 1 1 19 1.5 NA NA - 514 #F8766D 0.2022288582 0.0021205292 NA 1 1 19 1.5 NA NA - 515 #F8766D 0.3626286036 0.0021205292 NA 1 1 19 1.5 NA NA - 516 #F8766D 0.3272794242 0.0021205292 NA 1 1 19 1.5 NA NA - 517 #F8766D -0.1966040257 0.0021205292 NA 1 1 19 1.5 NA NA - 518 #F8766D -0.1893996296 0.0021205292 NA 1 1 19 1.5 NA NA - 519 #F8766D 0.1729694503 0.0021205292 NA 1 1 19 1.5 NA NA - 520 #F8766D 0.3911637220 0.0021205292 NA 1 1 19 1.5 NA NA - 521 #F8766D -0.2163166947 0.0021205292 NA 1 1 19 1.5 NA NA - 522 #F8766D 0.2330357390 0.0021205292 NA 1 1 19 1.5 NA NA - 523 #F8766D 0.1765810086 0.0021205292 NA 1 1 19 1.5 NA NA - 524 #F8766D 0.3076673390 0.0021205292 NA 1 1 19 1.5 NA NA - 525 #F8766D -0.1862292966 0.0021205292 NA 1 1 19 1.5 NA NA - 526 #F8766D 0.3096173349 0.0021205292 NA 1 1 19 1.5 NA NA - 527 #F8766D 0.5288545606 0.0021205292 NA 1 1 19 1.5 NA NA - 528 #F8766D 0.1874186941 0.0021205292 NA 1 1 19 1.5 NA NA - 529 #F8766D 0.3449968868 0.0021205292 NA 1 1 19 1.5 NA NA - 530 #F8766D 0.3061548619 0.0021205292 NA 1 1 19 1.5 NA NA - 531 #F8766D -0.8040538809 0.0021205292 NA 1 1 19 1.5 NA NA - 532 #F8766D -0.5070900065 0.0021205292 NA 1 1 19 1.5 NA NA - 533 #F8766D -0.1660442095 0.0021205292 NA 1 1 19 1.5 NA NA - 534 #F8766D 0.1678660708 0.0021205292 NA 1 1 19 1.5 NA NA - 535 #F8766D -0.1642188451 0.0021205292 NA 1 1 19 1.5 NA NA - 536 #F8766D -0.1805330451 0.0021205292 NA 1 1 19 1.5 NA NA - 537 #F8766D 0.1911184090 0.0021205292 NA 1 1 19 1.5 NA NA - 538 #F8766D 0.2914695507 0.0021205292 NA 1 1 19 1.5 NA NA - 539 #F8766D 0.1963887698 0.0021205292 NA 1 1 19 1.5 NA NA - 540 #F8766D 0.6780539125 0.0021205292 NA 1 1 19 1.5 NA NA - 541 #F8766D 0.1882396720 0.0021205292 NA 1 1 19 1.5 NA NA - 542 #F8766D 0.3070997340 0.0021205292 NA 1 1 19 1.5 NA NA - 543 #F8766D -0.1909795699 0.0021205292 NA 1 1 19 1.5 NA NA - 544 #F8766D 0.3165370062 0.0021205292 NA 1 1 19 1.5 NA NA - 545 #F8766D 0.1722995623 0.0021205292 NA 1 1 19 1.5 NA NA - 546 #F8766D -0.1663354699 0.0021205292 NA 1 1 19 1.5 NA NA - 547 #F8766D -0.1857744508 0.0021205292 NA 1 1 19 1.5 NA NA - 548 #F8766D -0.1802679540 0.0021205292 NA 1 1 19 1.5 NA NA - 549 #F8766D -0.5271010630 0.0021205292 NA 1 1 19 1.5 NA NA - 550 #F8766D -0.2031523575 0.0021205292 NA 1 1 19 1.5 NA NA - 551 #F8766D 0.2623861531 0.0021205292 NA 1 1 19 1.5 NA NA - 552 #F8766D 0.2502941753 0.0021205292 NA 1 1 19 1.5 NA NA - 553 #F8766D 0.3137075187 0.0021205292 NA 1 1 19 1.5 NA NA - 554 #F8766D -0.6289336675 0.0021205292 NA 1 1 19 1.5 NA NA - 555 #F8766D 0.3159054698 0.0021205292 NA 1 1 19 1.5 NA NA - 556 #F8766D -0.3679326362 0.0021205292 NA 1 1 19 1.5 NA NA - 557 #F8766D -0.3402043028 0.0021205292 NA 1 1 19 1.5 NA NA - 558 #F8766D 0.3531698438 0.0021205292 NA 1 1 19 1.5 NA NA - 559 #F8766D -0.1705662597 0.0021205292 NA 1 1 19 1.5 NA NA - 560 #F8766D -0.3723526053 0.0021205292 NA 1 1 19 1.5 NA NA - 561 #F8766D -0.2963110948 0.0021205292 NA 1 1 19 1.5 NA NA - 562 #F8766D 0.2082006032 0.0021205292 NA 1 1 19 1.5 NA NA - 563 #F8766D 0.3529694513 0.0021205292 NA 1 1 19 1.5 NA NA - 564 #F8766D -0.1508020004 0.0021205292 NA 1 1 19 1.5 NA NA - 565 #F8766D -0.2707049190 0.0021205292 NA 1 1 19 1.5 NA NA - 566 #F8766D 0.1629187178 0.0021205292 NA 1 1 19 1.5 NA NA - 567 #F8766D -0.3271223763 0.0021205292 NA 1 1 19 1.5 NA NA - 568 #F8766D -0.1410811870 0.0021205292 NA 1 1 19 1.5 NA NA - 569 #F8766D 0.1644469589 0.0021205292 NA 1 1 19 1.5 NA NA - 570 #F8766D 0.2003795214 0.0021205292 NA 1 1 19 1.5 NA NA - 571 #F8766D 0.2835137077 0.0021205292 NA 1 1 19 1.5 NA NA - 572 #F8766D 0.3280848382 0.0021205292 NA 1 1 19 1.5 NA NA - 573 #F8766D -0.1576579494 0.0021205292 NA 1 1 19 1.5 NA NA - 574 #F8766D -0.1539084116 0.0021205292 NA 1 1 19 1.5 NA NA - 575 #F8766D 0.1590798076 0.0021205292 NA 1 1 19 1.5 NA NA - 576 #F8766D -0.1403280937 0.0021205292 NA 1 1 19 1.5 NA NA - 577 #F8766D 0.1645328970 0.0021205292 NA 1 1 19 1.5 NA NA - 578 #F8766D 0.3364418091 0.0021205292 NA 1 1 19 1.5 NA NA - 579 #F8766D 0.2448745977 0.0021205292 NA 1 1 19 1.5 NA NA - 580 #F8766D -0.1493978033 0.0021205292 NA 1 1 19 1.5 NA NA - 581 #F8766D -0.1447912451 0.0021205292 NA 1 1 19 1.5 NA NA - 582 #F8766D -0.1558526720 0.0021205292 NA 1 1 19 1.5 NA NA - 583 #F8766D -0.1584362582 0.0021205292 NA 1 1 19 1.5 NA NA - 584 #F8766D 0.1469032309 0.0021205292 NA 1 1 19 1.5 NA NA - 585 #F8766D -0.3022281976 0.0021205292 NA 1 1 19 1.5 NA NA - 586 #F8766D 0.1739528123 0.0021205292 NA 1 1 19 1.5 NA NA - 587 #F8766D 0.1489350268 0.0021205292 NA 1 1 19 1.5 NA NA - 588 #F8766D 0.1643122858 0.0021205292 NA 1 1 19 1.5 NA NA - 589 #F8766D -0.3521472941 0.0021205292 NA 1 1 19 1.5 NA NA - 590 #F8766D 0.1662214693 0.0021205292 NA 1 1 19 1.5 NA NA - 591 #F8766D -0.1562867212 0.0021205292 NA 1 1 19 1.5 NA NA - 592 #F8766D -0.1671020630 0.0021205292 NA 1 1 19 1.5 NA NA - 593 #F8766D 0.1582084809 0.0021205292 NA 1 1 19 1.5 NA NA - 594 #F8766D 0.1627158259 0.0021205292 NA 1 1 19 1.5 NA NA - 595 #F8766D -0.1726025401 0.0021205292 NA 1 1 19 1.5 NA NA - 596 #F8766D 0.2520777233 0.0021205292 NA 1 1 19 1.5 NA NA - 597 #F8766D -0.1558857775 0.0021205292 NA 1 1 19 1.5 NA NA - 598 #F8766D 0.1819805448 0.0021205292 NA 1 1 19 1.5 NA NA - 599 #F8766D -0.2740474758 0.0021205292 NA 1 1 19 1.5 NA NA - 600 #F8766D -0.1485481458 0.0021205292 NA 1 1 19 1.5 NA NA - 601 #F8766D -0.1655077936 0.0021205292 NA 1 1 19 1.5 NA NA - 602 #F8766D -0.3987298337 0.0021205292 NA 1 1 19 1.5 NA NA - 603 #F8766D -0.3620371093 0.0021205292 NA 1 1 19 1.5 NA NA - 604 #F8766D -0.2993433980 0.0021205292 NA 1 1 19 1.5 NA NA - 605 #F8766D 0.1509504374 0.0021205292 NA 1 1 19 1.5 NA NA - 606 #F8766D 0.1624363813 0.0021205292 NA 1 1 19 1.5 NA NA - 607 #F8766D -0.3427262955 0.0021205292 NA 1 1 19 1.5 NA NA - 608 #F8766D 0.2585812673 0.0021205292 NA 1 1 19 1.5 NA NA - 609 #F8766D -0.3829184833 0.0021205292 NA 1 1 19 1.5 NA NA - 610 #F8766D 0.2598268865 0.0021205292 NA 1 1 19 1.5 NA NA - 611 #F8766D -0.1577866082 0.0021205292 NA 1 1 19 1.5 NA NA - 612 #F8766D 0.1421154003 0.0021205292 NA 1 1 19 1.5 NA NA - 613 #F8766D -0.1443382123 0.0021205292 NA 1 1 19 1.5 NA NA - 614 #F8766D -0.1444995933 0.0021205292 NA 1 1 19 1.5 NA NA - 615 #F8766D 0.3923065448 0.0021205292 NA 1 1 19 1.5 NA NA - 616 #F8766D -0.2565465824 0.0021205292 NA 1 1 19 1.5 NA NA - 617 #F8766D -0.1404116565 0.0021205292 NA 1 1 19 1.5 NA NA - 618 #F8766D -0.2063852509 0.0021205292 NA 1 1 19 1.5 NA NA - 619 #F8766D 0.3448504335 0.0021205292 NA 1 1 19 1.5 NA NA - 620 #F8766D 0.2722107129 0.0021205292 NA 1 1 19 1.5 NA NA - 621 #F8766D -0.1375965889 0.0021205292 NA 1 1 19 1.5 NA NA - 622 #F8766D 0.2562487556 0.0021205292 NA 1 1 19 1.5 NA NA - 623 #F8766D 0.1391322479 0.0021205292 NA 1 1 19 1.5 NA NA - 624 #F8766D -0.1979261876 0.0021205292 NA 1 1 19 1.5 NA NA - 625 #F8766D 0.1270751021 0.0021205292 NA 1 1 19 1.5 NA NA - 626 #F8766D -0.2099584898 0.0021205292 NA 1 1 19 1.5 NA NA - 627 #F8766D -0.1355477754 0.0021205292 NA 1 1 19 1.5 NA NA - 628 #F8766D 0.1436023807 0.0021205292 NA 1 1 19 1.5 NA NA - 629 #F8766D -0.1464937200 0.0021205292 NA 1 1 19 1.5 NA NA - 630 #F8766D 0.1648466483 0.0021205292 NA 1 1 19 1.5 NA NA - 631 #F8766D 0.2266372699 0.0021205292 NA 1 1 19 1.5 NA NA - 632 #F8766D 0.1174472855 0.0021205292 NA 1 1 19 1.5 NA NA - 633 #F8766D -0.3110090353 0.0021205292 NA 1 1 19 1.5 NA NA - 634 #F8766D 0.4528976494 0.0021205292 NA 1 1 19 1.5 NA NA - 635 #F8766D 0.1513421923 0.0021205292 NA 1 1 19 1.5 NA NA - 636 #F8766D 0.1585510344 0.0021205292 NA 1 1 19 1.5 NA NA - 637 #F8766D -0.1313172890 0.0021205292 NA 1 1 19 1.5 NA NA - 638 #F8766D -0.2073781767 0.0021205292 NA 1 1 19 1.5 NA NA - 639 #F8766D -0.1386134382 0.0021205292 NA 1 1 19 1.5 NA NA - 640 #F8766D 0.1306753392 0.0021205292 NA 1 1 19 1.5 NA NA - 641 #F8766D -0.4261097440 0.0021205292 NA 1 1 19 1.5 NA NA - 642 #F8766D 0.2122396659 0.0021205292 NA 1 1 19 1.5 NA NA - 643 #F8766D 0.2303707981 0.0021205292 NA 1 1 19 1.5 NA NA - 644 #F8766D 0.1226463601 0.0021205292 NA 1 1 19 1.5 NA NA - 645 #F8766D -0.1168206763 0.0021205292 NA 1 1 19 1.5 NA NA - 646 #F8766D -0.1278698880 0.0021205292 NA 1 1 19 1.5 NA NA - 647 #F8766D 0.2484768720 0.0021205292 NA 1 1 19 1.5 NA NA - 648 #F8766D 0.2290087298 0.0021205292 NA 1 1 19 1.5 NA NA - 649 #F8766D -0.1500425752 0.0021205292 NA 1 1 19 1.5 NA NA - 650 #F8766D 0.1357076250 0.0021205292 NA 1 1 19 1.5 NA NA - 651 #F8766D -0.1362549948 0.0021205292 NA 1 1 19 1.5 NA NA - 652 #F8766D -0.2873961660 0.0021205292 NA 1 1 19 1.5 NA NA - 653 #F8766D -0.1360168377 0.0021205292 NA 1 1 19 1.5 NA NA - 654 #F8766D 0.2461522130 0.0021205292 NA 1 1 19 1.5 NA NA - 655 #F8766D -0.2181431114 0.0021205292 NA 1 1 19 1.5 NA NA - 656 #F8766D 0.2337047142 0.0021205292 NA 1 1 19 1.5 NA NA - 657 #F8766D -0.1514461020 0.0021205292 NA 1 1 19 1.5 NA NA - 658 #F8766D -0.1276014407 0.0021205292 NA 1 1 19 1.5 NA NA - 659 #F8766D 0.1387423123 0.0021205292 NA 1 1 19 1.5 NA NA - 660 #F8766D 0.1369800355 0.0021205292 NA 1 1 19 1.5 NA NA - 661 #F8766D -0.1372646688 0.0021205292 NA 1 1 19 1.5 NA NA - 662 #F8766D -0.3834149777 0.0021205292 NA 1 1 19 1.5 NA NA - 663 #F8766D -0.1336025384 0.0021205292 NA 1 1 19 1.5 NA NA - 664 #F8766D 0.2227575507 0.0021205292 NA 1 1 19 1.5 NA NA - 665 #F8766D -0.1113981532 0.0021205292 NA 1 1 19 1.5 NA NA - 666 #F8766D 0.2387595405 0.0021205292 NA 1 1 19 1.5 NA NA - 667 #F8766D 0.3781441180 0.0021205292 NA 1 1 19 1.5 NA NA - 668 #F8766D -0.2316601933 0.0021205292 NA 1 1 19 1.5 NA NA - 669 #F8766D 0.1425800382 0.0021205292 NA 1 1 19 1.5 NA NA - 670 #F8766D -0.3755496755 0.0021205292 NA 1 1 19 1.5 NA NA - 671 #F8766D 0.1181455925 0.0021205292 NA 1 1 19 1.5 NA NA - 672 #F8766D 0.2388149041 0.0021205292 NA 1 1 19 1.5 NA NA - 673 #F8766D 0.2816447558 0.0021205292 NA 1 1 19 1.5 NA NA - 674 #F8766D 0.1186249464 0.0021205292 NA 1 1 19 1.5 NA NA - 675 #F8766D 0.2123108545 0.0021205292 NA 1 1 19 1.5 NA NA - 676 #F8766D 0.1884134619 0.0021205292 NA 1 1 19 1.5 NA NA - 677 #F8766D 0.3253690632 0.0021205292 NA 1 1 19 1.5 NA NA - 678 #F8766D -0.1898588654 0.0021205292 NA 1 1 19 1.5 NA NA - 679 #F8766D -0.2540576000 0.0021205292 NA 1 1 19 1.5 NA NA - 680 #F8766D 0.1969649767 0.0021205292 NA 1 1 19 1.5 NA NA - 681 #F8766D 0.1173817941 0.0021205292 NA 1 1 19 1.5 NA NA - 682 #F8766D 0.3649953927 0.0021205292 NA 1 1 19 1.5 NA NA - 683 #F8766D 0.1232383946 0.0021205292 NA 1 1 19 1.5 NA NA - 684 #F8766D 0.1999084930 0.0021205292 NA 1 1 19 1.5 NA NA - 685 #F8766D -0.1180521875 0.0021205292 NA 1 1 19 1.5 NA NA - 686 #F8766D 0.1125367710 0.0021205292 NA 1 1 19 1.5 NA NA - 687 #F8766D 0.1220673057 0.0021205292 NA 1 1 19 1.5 NA NA - 688 #F8766D 0.2055450678 0.0021205292 NA 1 1 19 1.5 NA NA - 689 #F8766D 0.1087758602 0.0021205292 NA 1 1 19 1.5 NA NA - 690 #F8766D -0.1780404824 0.0021205292 NA 1 1 19 1.5 NA NA - 691 #F8766D -0.1100927851 0.0021205292 NA 1 1 19 1.5 NA NA - 692 #F8766D -0.1856275504 0.0021205292 NA 1 1 19 1.5 NA NA - 693 #F8766D 0.2240712615 0.0021205292 NA 1 1 19 1.5 NA NA - 694 #F8766D -0.1196281880 0.0021205292 NA 1 1 19 1.5 NA NA - 695 #F8766D 0.1182596058 0.0021205292 NA 1 1 19 1.5 NA NA - 696 #F8766D -0.1242485577 0.0021205292 NA 1 1 19 1.5 NA NA - 697 #F8766D 0.1166231228 0.0021205292 NA 1 1 19 1.5 NA NA - 698 #F8766D -0.1117726183 0.0021205292 NA 1 1 19 1.5 NA NA - 699 #F8766D -0.1099912395 0.0021205292 NA 1 1 19 1.5 NA NA - 700 #F8766D 0.2569032008 0.0021205292 NA 1 1 19 1.5 NA NA - 701 #F8766D 0.2161262297 0.0021205292 NA 1 1 19 1.5 NA NA - 702 #F8766D -0.1191410771 0.0021205292 NA 1 1 19 1.5 NA NA - 703 #F8766D 0.6383183965 0.0021205292 NA 1 1 19 1.5 NA NA - 704 #F8766D -0.1023531778 0.0021205292 NA 1 1 19 1.5 NA NA - 705 #F8766D -0.2264384429 0.0021205292 NA 1 1 19 1.5 NA NA - 706 #F8766D -0.1054468401 0.0021205292 NA 1 1 19 1.5 NA NA - 707 #F8766D 0.1137002104 0.0021205292 NA 1 1 19 1.5 NA NA - 708 #F8766D 0.1096371476 0.0021205292 NA 1 1 19 1.5 NA NA - 709 #F8766D -0.1120213702 0.0021205292 NA 1 1 19 1.5 NA NA - 710 #F8766D -0.2155871947 0.0021205292 NA 1 1 19 1.5 NA NA - 711 #F8766D -0.1201364726 0.0021205292 NA 1 1 19 1.5 NA NA - 712 #F8766D -0.1039928585 0.0021205292 NA 1 1 19 1.5 NA NA - 713 #F8766D 0.1034445241 0.0021205292 NA 1 1 19 1.5 NA NA - 714 #F8766D -0.3090990775 0.0021205292 NA 1 1 19 1.5 NA NA - 715 #F8766D 0.1043824468 0.0021205292 NA 1 1 19 1.5 NA NA - 716 #F8766D -0.2041651096 0.0021205292 NA 1 1 19 1.5 NA NA - 717 #F8766D -0.3423774218 0.0021205292 NA 1 1 19 1.5 NA NA - 718 #F8766D 0.1271547270 0.0021205292 NA 1 1 19 1.5 NA NA - 719 #F8766D -0.1137393357 0.0021205292 NA 1 1 19 1.5 NA NA - 720 #F8766D 0.4219475822 0.0021205292 NA 1 1 19 1.5 NA NA - 721 #F8766D 0.0983130021 0.0021205292 NA 1 1 19 1.5 NA NA - 722 #F8766D -0.1437199120 0.0021205292 NA 1 1 19 1.5 NA NA - 723 #F8766D 0.2160903880 0.0021205292 NA 1 1 19 1.5 NA NA - 724 #F8766D 0.0963915761 0.0021205292 NA 1 1 19 1.5 NA NA - 725 #F8766D -0.2177029761 0.0021205292 NA 1 1 19 1.5 NA NA - 726 #F8766D 0.0948389376 0.0021205292 NA 1 1 19 1.5 NA NA - 727 #F8766D -0.1176981727 0.0021205292 NA 1 1 19 1.5 NA NA - 728 #F8766D -0.1790024027 0.0021205292 NA 1 1 19 1.5 NA NA - 729 #F8766D 0.1849795781 0.0021205292 NA 1 1 19 1.5 NA NA - 730 #F8766D 0.1768664586 0.0021205292 NA 1 1 19 1.5 NA NA - 731 #F8766D -0.1076761404 0.0021205292 NA 1 1 19 1.5 NA NA - 732 #F8766D -0.0894660904 0.0021205292 NA 1 1 19 1.5 NA NA - 733 #F8766D 0.1031784033 0.0021205292 NA 1 1 19 1.5 NA NA - 734 #F8766D 0.1761504299 0.0021205292 NA 1 1 19 1.5 NA NA - 735 #F8766D 0.2164357528 0.0021205292 NA 1 1 19 1.5 NA NA - 736 #F8766D -0.1958538563 0.0021205292 NA 1 1 19 1.5 NA NA - 737 #F8766D -0.0891898481 0.0021205292 NA 1 1 19 1.5 NA NA - 738 #F8766D -0.1555460747 0.0021205292 NA 1 1 19 1.5 NA NA - 739 #F8766D -0.3050457371 0.0021205292 NA 1 1 19 1.5 NA NA - 740 #F8766D -0.1603878305 0.0021205292 NA 1 1 19 1.5 NA NA - 741 #F8766D -0.2650399619 0.0021205292 NA 1 1 19 1.5 NA NA - 742 #F8766D -0.0965032565 0.0021205292 NA 1 1 19 1.5 NA NA - 743 #F8766D 0.1736872318 0.0021205292 NA 1 1 19 1.5 NA NA - 744 #F8766D 0.0969998303 0.0021205292 NA 1 1 19 1.5 NA NA - 745 #F8766D -0.1507145088 0.0021205292 NA 1 1 19 1.5 NA NA - 746 #F8766D 0.2290330440 0.0021205292 NA 1 1 19 1.5 NA NA - 747 #F8766D 0.1507078400 0.0021205292 NA 1 1 19 1.5 NA NA - 748 #F8766D -0.0958640030 0.0021205292 NA 1 1 19 1.5 NA NA - 749 #F8766D 0.0935705421 0.0021205292 NA 1 1 19 1.5 NA NA - 750 #F8766D 0.0986783552 0.0021205292 NA 1 1 19 1.5 NA NA - 751 #F8766D -0.0976548550 0.0021205292 NA 1 1 19 1.5 NA NA - 752 #F8766D 0.0891638654 0.0021205292 NA 1 1 19 1.5 NA NA - 753 #F8766D 0.0909061982 0.0021205292 NA 1 1 19 1.5 NA NA - 754 #F8766D -0.1117476811 0.0021205292 NA 1 1 19 1.5 NA NA - 755 #F8766D -0.0960389399 0.0021205292 NA 1 1 19 1.5 NA NA - 756 #F8766D 0.1154393946 0.0021205292 NA 1 1 19 1.5 NA NA - 757 #F8766D 0.0974787296 0.0021205292 NA 1 1 19 1.5 NA NA - 758 #F8766D -0.0941529167 0.0021205292 NA 1 1 19 1.5 NA NA - 759 #F8766D 0.0835393988 0.0021205292 NA 1 1 19 1.5 NA NA - 760 #F8766D -0.2409418528 0.0021205292 NA 1 1 19 1.5 NA NA - 761 #F8766D -0.1139505407 0.0021205292 NA 1 1 19 1.5 NA NA - 762 #F8766D 0.0931799450 0.0021205292 NA 1 1 19 1.5 NA NA - 763 #F8766D 0.1741683955 0.0021205292 NA 1 1 19 1.5 NA NA - 764 #F8766D -0.0988583415 0.0021205292 NA 1 1 19 1.5 NA NA - 765 #F8766D 0.0762705505 0.0021205292 NA 1 1 19 1.5 NA NA - 766 #F8766D -0.0864541447 0.0021205292 NA 1 1 19 1.5 NA NA - 767 #F8766D -0.1446895232 0.0021205292 NA 1 1 19 1.5 NA NA - 768 #F8766D 0.1651605665 0.0021205292 NA 1 1 19 1.5 NA NA - 769 #F8766D -0.1410033212 0.0021205292 NA 1 1 19 1.5 NA NA - 770 #F8766D 0.0793807952 0.0021205292 NA 1 1 19 1.5 NA NA - 771 #F8766D 0.0901890069 0.0021205292 NA 1 1 19 1.5 NA NA - 772 #F8766D 0.1138312698 0.0021205292 NA 1 1 19 1.5 NA NA - 773 #F8766D 0.0887441285 0.0021205292 NA 1 1 19 1.5 NA NA - 774 #F8766D -0.0895067691 0.0021205292 NA 1 1 19 1.5 NA NA - 775 #F8766D 0.0773860460 0.0021205292 NA 1 1 19 1.5 NA NA - 776 #F8766D 0.1691571568 0.0021205292 NA 1 1 19 1.5 NA NA - 777 #F8766D 0.1005373841 0.0021205292 NA 1 1 19 1.5 NA NA - 778 #F8766D -0.1396078094 0.0021205292 NA 1 1 19 1.5 NA NA - 779 #F8766D 0.1475717262 0.0021205292 NA 1 1 19 1.5 NA NA - 780 #F8766D 0.1651526975 0.0021205292 NA 1 1 19 1.5 NA NA - 781 #F8766D 0.1323746339 0.0021205292 NA 1 1 19 1.5 NA NA - 782 #F8766D 0.0793807097 0.0021205292 NA 1 1 19 1.5 NA NA - 783 #F8766D -0.1784289866 0.0021205292 NA 1 1 19 1.5 NA NA - 784 #F8766D -0.1274328795 0.0021205292 NA 1 1 19 1.5 NA NA - 785 #F8766D 0.0741071465 0.0021205292 NA 1 1 19 1.5 NA NA - 786 #F8766D 0.1341253631 0.0021205292 NA 1 1 19 1.5 NA NA - 787 #F8766D 0.0709215911 0.0021205292 NA 1 1 19 1.5 NA NA - 788 #F8766D 0.0734128620 0.0021205292 NA 1 1 19 1.5 NA NA - 789 #F8766D 0.1338574669 0.0021205292 NA 1 1 19 1.5 NA NA - 790 #F8766D -0.0785810985 0.0021205292 NA 1 1 19 1.5 NA NA - 791 #F8766D 0.0788373390 0.0021205292 NA 1 1 19 1.5 NA NA - 792 #F8766D -0.1147049732 0.0021205292 NA 1 1 19 1.5 NA NA - 793 #F8766D 0.0806022074 0.0021205292 NA 1 1 19 1.5 NA NA - 794 #F8766D -0.1280701844 0.0021205292 NA 1 1 19 1.5 NA NA - 795 #F8766D 0.1387919817 0.0021205292 NA 1 1 19 1.5 NA NA - 796 #F8766D -0.1328880681 0.0021205292 NA 1 1 19 1.5 NA NA - 797 #F8766D 0.0947664377 0.0021205292 NA 1 1 19 1.5 NA NA - 798 #F8766D 0.0741395571 0.0021205292 NA 1 1 19 1.5 NA NA - 799 #F8766D -0.1257973220 0.0021205292 NA 1 1 19 1.5 NA NA - 800 #F8766D -0.0760130294 0.0021205292 NA 1 1 19 1.5 NA NA - 801 #F8766D 0.1307075542 0.0021205292 NA 1 1 19 1.5 NA NA - 802 #F8766D 0.1866296501 0.0021205292 NA 1 1 19 1.5 NA NA - 803 #F8766D -0.0670291358 0.0021205292 NA 1 1 19 1.5 NA NA - 804 #F8766D 0.1280532999 0.0021205292 NA 1 1 19 1.5 NA NA - 805 #F8766D -0.3175155187 0.0021205292 NA 1 1 19 1.5 NA NA - 806 #F8766D 0.1146118370 0.0021205292 NA 1 1 19 1.5 NA NA - 807 #F8766D 0.1417930995 0.0021205292 NA 1 1 19 1.5 NA NA - 808 #F8766D 0.0647804858 0.0021205292 NA 1 1 19 1.5 NA NA - 809 #F8766D -0.0660281188 0.0021205292 NA 1 1 19 1.5 NA NA - 810 #F8766D -0.0663936934 0.0021205292 NA 1 1 19 1.5 NA NA - 811 #F8766D 0.0753747097 0.0021205292 NA 1 1 19 1.5 NA NA - 812 #F8766D 0.1142480179 0.0021205292 NA 1 1 19 1.5 NA NA - 813 #F8766D -0.0695271693 0.0021205292 NA 1 1 19 1.5 NA NA - 814 #F8766D 0.0705930490 0.0021205292 NA 1 1 19 1.5 NA NA - 815 #F8766D -0.0687451054 0.0021205292 NA 1 1 19 1.5 NA NA - 816 #F8766D 0.0736944138 0.0021205292 NA 1 1 19 1.5 NA NA - 817 #F8766D 0.0603303759 0.0021205292 NA 1 1 19 1.5 NA NA - 818 #F8766D 0.1165853770 0.0021205292 NA 1 1 19 1.5 NA NA - 819 #F8766D -0.0625678560 0.0021205292 NA 1 1 19 1.5 NA NA - 820 #F8766D 0.1932362750 0.0021205292 NA 1 1 19 1.5 NA NA - 821 #F8766D 0.0590758782 0.0021205292 NA 1 1 19 1.5 NA NA - 822 #F8766D -0.0760540722 0.0021205292 NA 1 1 19 1.5 NA NA - 823 #F8766D 0.0668699875 0.0021205292 NA 1 1 19 1.5 NA NA - 824 #F8766D 0.0653126334 0.0021205292 NA 1 1 19 1.5 NA NA - 825 #F8766D -0.0700145882 0.0021205292 NA 1 1 19 1.5 NA NA - 826 #F8766D 0.1222089381 0.0021205292 NA 1 1 19 1.5 NA NA - 827 #F8766D 0.1060335846 0.0021205292 NA 1 1 19 1.5 NA NA - 828 #F8766D 0.0710110560 0.0021205292 NA 1 1 19 1.5 NA NA - 829 #F8766D -0.1083755249 0.0021205292 NA 1 1 19 1.5 NA NA - 830 #F8766D -0.0982783236 0.0021205292 NA 1 1 19 1.5 NA NA - 831 #F8766D -0.1037827163 0.0021205292 NA 1 1 19 1.5 NA NA - 832 #F8766D -0.0563115845 0.0021205292 NA 1 1 19 1.5 NA NA - 833 #F8766D -0.0604577743 0.0021205292 NA 1 1 19 1.5 NA NA - 834 #F8766D 0.1685521738 0.0021205292 NA 1 1 19 1.5 NA NA - 835 #F8766D -0.0572263550 0.0021205292 NA 1 1 19 1.5 NA NA - 836 #F8766D 0.0536394649 0.0021205292 NA 1 1 19 1.5 NA NA - 837 #F8766D 0.0575017434 0.0021205292 NA 1 1 19 1.5 NA NA - 838 #F8766D 0.0896542573 0.0021205292 NA 1 1 19 1.5 NA NA - 839 #F8766D -0.0688024680 0.0021205292 NA 1 1 19 1.5 NA NA - 840 #F8766D 0.0556690225 0.0021205292 NA 1 1 19 1.5 NA NA - 841 #F8766D 0.0530405741 0.0021205292 NA 1 1 19 1.5 NA NA - 842 #F8766D 0.0563199592 0.0021205292 NA 1 1 19 1.5 NA NA - 843 #F8766D -0.0693782794 0.0021205292 NA 1 1 19 1.5 NA NA - 844 #F8766D 0.0534827987 0.0021205292 NA 1 1 19 1.5 NA NA - 845 #F8766D -0.0589335814 0.0021205292 NA 1 1 19 1.5 NA NA - 846 #F8766D -0.0551522889 0.0021205292 NA 1 1 19 1.5 NA NA - 847 #F8766D 0.0555197212 0.0021205292 NA 1 1 19 1.5 NA NA - 848 #F8766D -0.3070298167 0.0021205292 NA 1 1 19 1.5 NA NA - 849 #F8766D 0.0512459575 0.0021205292 NA 1 1 19 1.5 NA NA - 850 #F8766D 0.0964633343 0.0021205292 NA 1 1 19 1.5 NA NA - 851 #F8766D -0.0534780797 0.0021205292 NA 1 1 19 1.5 NA NA - 852 #F8766D -0.1562307213 0.0021205292 NA 1 1 19 1.5 NA NA - 853 #F8766D 0.0493086515 0.0021205292 NA 1 1 19 1.5 NA NA - 854 #F8766D -0.0659017153 0.0021205292 NA 1 1 19 1.5 NA NA - 855 #F8766D 0.0556383447 0.0021205292 NA 1 1 19 1.5 NA NA - 856 #F8766D 0.0666844001 0.0021205292 NA 1 1 19 1.5 NA NA - 857 #F8766D 0.0479604493 0.0021205292 NA 1 1 19 1.5 NA NA - 858 #F8766D 0.0492552864 0.0021205292 NA 1 1 19 1.5 NA NA - 859 #F8766D -0.0540338349 0.0021205292 NA 1 1 19 1.5 NA NA - 860 #F8766D -0.0552456271 0.0021205292 NA 1 1 19 1.5 NA NA - 861 #F8766D 0.0594935859 0.0021205292 NA 1 1 19 1.5 NA NA - 862 #F8766D 0.0502853689 0.0021205292 NA 1 1 19 1.5 NA NA - 863 #F8766D 0.0840779930 0.0021205292 NA 1 1 19 1.5 NA NA - 864 #F8766D 0.1641085112 0.0021205292 NA 1 1 19 1.5 NA NA - 865 #F8766D 0.0456071670 0.0021205292 NA 1 1 19 1.5 NA NA - 866 #F8766D 0.0557988684 0.0021205292 NA 1 1 19 1.5 NA NA - 867 #F8766D -0.0838182578 0.0021205292 NA 1 1 19 1.5 NA NA - 868 #F8766D 0.0614253690 0.0021205292 NA 1 1 19 1.5 NA NA - 869 #F8766D -0.0531671695 0.0021205292 NA 1 1 19 1.5 NA NA - 870 #F8766D 0.0493810519 0.0021205292 NA 1 1 19 1.5 NA NA - 871 #F8766D 0.0420646831 0.0021205292 NA 1 1 19 1.5 NA NA - 872 #F8766D -0.1027994914 0.0021205292 NA 1 1 19 1.5 NA NA - 873 #F8766D -0.0438392986 0.0021205292 NA 1 1 19 1.5 NA NA - 874 #F8766D -0.1441591245 0.0021205292 NA 1 1 19 1.5 NA NA - 875 #F8766D 0.0936004710 0.0021205292 NA 1 1 19 1.5 NA NA - 876 #F8766D -0.1264959838 0.0021205292 NA 1 1 19 1.5 NA NA - 877 #F8766D 0.0715737519 0.0021205292 NA 1 1 19 1.5 NA NA - 878 #F8766D 0.0660657820 0.0021205292 NA 1 1 19 1.5 NA NA - 879 #F8766D 0.0445552549 0.0021205292 NA 1 1 19 1.5 NA NA - 880 #F8766D -0.0467331309 0.0021205292 NA 1 1 19 1.5 NA NA - 881 #F8766D -0.0964685144 0.0021205292 NA 1 1 19 1.5 NA NA - 882 #F8766D 0.0366777378 0.0021205292 NA 1 1 19 1.5 NA NA - 883 #F8766D -0.0719719496 0.0021205292 NA 1 1 19 1.5 NA NA - 884 #F8766D -0.0362226473 0.0021205292 NA 1 1 19 1.5 NA NA - 885 #F8766D -0.0411197243 0.0021205292 NA 1 1 19 1.5 NA NA - 886 #F8766D 0.0723366582 0.0021205292 NA 1 1 19 1.5 NA NA - 887 #F8766D 0.0433963664 0.0021205292 NA 1 1 19 1.5 NA NA - 888 #F8766D -0.0416232166 0.0021205292 NA 1 1 19 1.5 NA NA - 889 #F8766D -0.0686382005 0.0021205292 NA 1 1 19 1.5 NA NA - 890 #F8766D -0.0379761836 0.0021205292 NA 1 1 19 1.5 NA NA - 891 #F8766D 0.0408156030 0.0021205292 NA 1 1 19 1.5 NA NA - 892 #F8766D -0.0390167599 0.0021205292 NA 1 1 19 1.5 NA NA - 893 #F8766D -0.0382459696 0.0021205292 NA 1 1 19 1.5 NA NA - 894 #F8766D 0.0577964419 0.0021205292 NA 1 1 19 1.5 NA NA - 895 #F8766D -0.0396662557 0.0021205292 NA 1 1 19 1.5 NA NA - 896 #F8766D -0.0605149543 0.0021205292 NA 1 1 19 1.5 NA NA - 897 #F8766D 0.0688186421 0.0021205292 NA 1 1 19 1.5 NA NA - 898 #F8766D -0.0482017294 0.0021205292 NA 1 1 19 1.5 NA NA - 899 #F8766D -0.0336265430 0.0021205292 NA 1 1 19 1.5 NA NA - 900 #F8766D 0.0338695082 0.0021205292 NA 1 1 19 1.5 NA NA - 901 #F8766D 0.0595494630 0.0021205292 NA 1 1 19 1.5 NA NA - 902 #F8766D -0.0631153089 0.0021205292 NA 1 1 19 1.5 NA NA - 903 #F8766D 0.0805217632 0.0021205292 NA 1 1 19 1.5 NA NA - 904 #F8766D 0.0333069459 0.0021205292 NA 1 1 19 1.5 NA NA - 905 #F8766D 0.0656327966 0.0021205292 NA 1 1 19 1.5 NA NA - 906 #F8766D -0.0333675045 0.0021205292 NA 1 1 19 1.5 NA NA - 907 #F8766D 0.0400244492 0.0021205292 NA 1 1 19 1.5 NA NA - 908 #F8766D -0.0317409058 0.0021205292 NA 1 1 19 1.5 NA NA - 909 #F8766D 0.0373372007 0.0021205292 NA 1 1 19 1.5 NA NA - 910 #F8766D 0.0352136125 0.0021205292 NA 1 1 19 1.5 NA NA - 911 #F8766D 0.0329178311 0.0021205292 NA 1 1 19 1.5 NA NA - 912 #F8766D -0.0525865529 0.0021205292 NA 1 1 19 1.5 NA NA - 913 #F8766D -0.0327414191 0.0021205292 NA 1 1 19 1.5 NA NA - 914 #F8766D 0.0583344815 0.0021205292 NA 1 1 19 1.5 NA NA - 915 #F8766D -0.0274704273 0.0021205292 NA 1 1 19 1.5 NA NA - 916 #F8766D 0.0277857965 0.0021205292 NA 1 1 19 1.5 NA NA - 917 #F8766D 0.0330327897 0.0021205292 NA 1 1 19 1.5 NA NA - 918 #F8766D -0.0290578456 0.0021205292 NA 1 1 19 1.5 NA NA - 919 #F8766D -0.0310774934 0.0021205292 NA 1 1 19 1.5 NA NA - 920 #F8766D 0.0277849434 0.0021205292 NA 1 1 19 1.5 NA NA - 921 #F8766D 0.0271649093 0.0021205292 NA 1 1 19 1.5 NA NA - 922 #F8766D 0.0326730732 0.0021205292 NA 1 1 19 1.5 NA NA - 923 #F8766D -0.0308633324 0.0021205292 NA 1 1 19 1.5 NA NA - 924 #F8766D 0.0435288689 0.0021205292 NA 1 1 19 1.5 NA NA - 925 #F8766D -0.0462404136 0.0021205292 NA 1 1 19 1.5 NA NA - 926 #F8766D -0.0434756905 0.0021205292 NA 1 1 19 1.5 NA NA - 927 #F8766D 0.0281258711 0.0021205292 NA 1 1 19 1.5 NA NA - 928 #F8766D -0.0258330167 0.0021205292 NA 1 1 19 1.5 NA NA - 929 #F8766D -0.0570153076 0.0021205292 NA 1 1 19 1.5 NA NA - 930 #F8766D -0.0249357314 0.0021205292 NA 1 1 19 1.5 NA NA - 931 #F8766D 0.0249339630 0.0021205292 NA 1 1 19 1.5 NA NA - 932 #F8766D 0.0288366523 0.0021205292 NA 1 1 19 1.5 NA NA - 933 #F8766D -0.0530695816 0.0021205292 NA 1 1 19 1.5 NA NA - 934 #F8766D -0.0226929515 0.0021205292 NA 1 1 19 1.5 NA NA - 935 #F8766D -0.0227843898 0.0021205292 NA 1 1 19 1.5 NA NA - 936 #F8766D -0.0364819327 0.0021205292 NA 1 1 19 1.5 NA NA - 937 #F8766D -0.0240117505 0.0021205292 NA 1 1 19 1.5 NA NA - 938 #F8766D 0.0419567795 0.0021205292 NA 1 1 19 1.5 NA NA - 939 #F8766D -0.0344238837 0.0021205292 NA 1 1 19 1.5 NA NA - 940 #F8766D -0.0431360262 0.0021205292 NA 1 1 19 1.5 NA NA - 941 #F8766D -0.0422427785 0.0021205292 NA 1 1 19 1.5 NA NA - 942 #F8766D 0.0326342308 0.0021205292 NA 1 1 19 1.5 NA NA - 943 #F8766D -0.0234082297 0.0021205292 NA 1 1 19 1.5 NA NA - 944 #F8766D 0.0228532792 0.0021205292 NA 1 1 19 1.5 NA NA - 945 #F8766D 0.0328665526 0.0021205292 NA 1 1 19 1.5 NA NA - 946 #F8766D 0.0355332348 0.0021205292 NA 1 1 19 1.5 NA NA - 947 #F8766D 0.0389378265 0.0021205292 NA 1 1 19 1.5 NA NA - 948 #F8766D 0.0511151643 0.0021205292 NA 1 1 19 1.5 NA NA - 949 #F8766D -0.0270891456 0.0021205292 NA 1 1 19 1.5 NA NA - 950 #F8766D -0.0234633308 0.0021205292 NA 1 1 19 1.5 NA NA - 951 #F8766D -0.0186238104 0.0021205292 NA 1 1 19 1.5 NA NA - 952 #F8766D 0.0206757860 0.0021205292 NA 1 1 19 1.5 NA NA - 953 #F8766D -0.0432893944 0.0021205292 NA 1 1 19 1.5 NA NA - 954 #F8766D 0.0184105130 0.0021205292 NA 1 1 19 1.5 NA NA - 955 #F8766D 0.0191532944 0.0021205292 NA 1 1 19 1.5 NA NA - 956 #F8766D 0.0285991113 0.0021205292 NA 1 1 19 1.5 NA NA - 957 #F8766D 0.0271649180 0.0021205292 NA 1 1 19 1.5 NA NA - 958 #F8766D 0.0198954807 0.0021205292 NA 1 1 19 1.5 NA NA - 959 #F8766D -0.0142192298 0.0021205292 NA 1 1 19 1.5 NA NA - 960 #F8766D -0.0144487219 0.0021205292 NA 1 1 19 1.5 NA NA - 961 #F8766D -0.0134298964 0.0021205292 NA 1 1 19 1.5 NA NA - 962 #F8766D -0.0141461301 0.0021205292 NA 1 1 19 1.5 NA NA - 963 #F8766D 0.0227573913 0.0021205292 NA 1 1 19 1.5 NA NA - 964 #F8766D -0.0123957334 0.0021205292 NA 1 1 19 1.5 NA NA - 965 #F8766D -0.0200743958 0.0021205292 NA 1 1 19 1.5 NA NA - 966 #F8766D 0.0148572364 0.0021205292 NA 1 1 19 1.5 NA NA - 967 #F8766D 0.0120984889 0.0021205292 NA 1 1 19 1.5 NA NA - 968 #F8766D 0.0142638422 0.0021205292 NA 1 1 19 1.5 NA NA - 969 #F8766D -0.0115011935 0.0021205292 NA 1 1 19 1.5 NA NA - 970 #F8766D 0.0127444358 0.0021205292 NA 1 1 19 1.5 NA NA - 971 #F8766D -0.0204547679 0.0021205292 NA 1 1 19 1.5 NA NA - 972 #F8766D -0.0112293660 0.0021205292 NA 1 1 19 1.5 NA NA - 973 #F8766D 0.0171468720 0.0021205292 NA 1 1 19 1.5 NA NA - 974 #F8766D -0.0106715323 0.0021205292 NA 1 1 19 1.5 NA NA - 975 #F8766D 0.0110520523 0.0021205292 NA 1 1 19 1.5 NA NA - 976 #F8766D -0.0087834917 0.0021205292 NA 1 1 19 1.5 NA NA - 977 #F8766D -0.0098583861 0.0021205292 NA 1 1 19 1.5 NA NA - 978 #F8766D -0.0095176014 0.0021205292 NA 1 1 19 1.5 NA NA - 979 #F8766D 0.0104595869 0.0021205292 NA 1 1 19 1.5 NA NA - 980 #F8766D 0.0086299373 0.0021205292 NA 1 1 19 1.5 NA NA - 981 #F8766D -0.0136128661 0.0021205292 NA 1 1 19 1.5 NA NA - 982 #F8766D -0.0082929052 0.0021205292 NA 1 1 19 1.5 NA NA - 983 #F8766D 0.0095664359 0.0021205292 NA 1 1 19 1.5 NA NA - 984 #F8766D 0.0079609180 0.0021205292 NA 1 1 19 1.5 NA NA - 985 #F8766D 0.0074179505 0.0021205292 NA 1 1 19 1.5 NA NA - 986 #F8766D 0.0132957273 0.0021205292 NA 1 1 19 1.5 NA NA - 987 #F8766D 0.0129032560 0.0021205292 NA 1 1 19 1.5 NA NA - 988 #F8766D 0.0209055313 0.0019935082 NA 1 1 19 1.5 NA NA - 989 #F8766D -0.0067606908 0.0013500512 NA 1 1 19 1.5 NA NA - 990 #F8766D 0.0049070760 0.0005004092 NA 1 1 19 1.5 NA NA - 991 #F8766D 0.0042891825 0.0005004092 NA 1 1 19 1.5 NA NA - 992 #F8766D 0.0041536442 0.0005004092 NA 1 1 19 1.5 NA NA - 993 #F8766D 0.0050447562 0.0005004092 NA 1 1 19 1.5 NA NA - 994 #F8766D -0.0053582537 0.0005004092 NA 1 1 19 1.5 NA NA - 995 #F8766D -0.0040730659 0.0005004092 NA 1 1 19 1.5 NA NA - 996 #F8766D 0.0014456553 0.0002410797 NA 1 1 19 1.5 NA NA - 997 #F8766D -0.0005813889 0.0002410797 NA 1 1 19 1.5 NA NA - 998 #F8766D 0.0004305816 0.0002410797 NA 1 1 19 1.5 NA NA - 999 #F8766D -0.0003806317 0.0002410797 NA 1 1 19 1.5 NA NA - 1000 #F8766D -0.0004169929 0.0002410797 NA 1 1 19 1.5 NA NA - stroke - 1 0.5 - 2 0.5 - 3 0.5 - 4 0.5 - 5 0.5 - 6 0.5 - 7 0.5 - 8 0.5 - 9 0.5 - 10 0.5 - 11 0.5 - 12 0.5 - 13 0.5 - 14 0.5 - 15 0.5 - 16 0.5 - 17 0.5 - 18 0.5 - 19 0.5 - 20 0.5 - 21 0.5 - 22 0.5 - 23 0.5 - 24 0.5 - 25 0.5 - 26 0.5 - 27 0.5 - 28 0.5 - 29 0.5 - 30 0.5 - 31 0.5 - 32 0.5 - 33 0.5 - 34 0.5 - 35 0.5 - 36 0.5 - 37 0.5 - 38 0.5 - 39 0.5 - 40 0.5 - 41 0.5 - 42 0.5 - 43 0.5 - 44 0.5 - 45 0.5 - 46 0.5 - 47 0.5 - 48 0.5 - 49 0.5 - 50 0.5 - 51 0.5 - 52 0.5 - 53 0.5 - 54 0.5 - 55 0.5 - 56 0.5 - 57 0.5 - 58 0.5 - 59 0.5 - 60 0.5 - 61 0.5 - 62 0.5 - 63 0.5 - 64 0.5 - 65 0.5 - 66 0.5 - 67 0.5 - 68 0.5 - 69 0.5 - 70 0.5 - 71 0.5 - 72 0.5 - 73 0.5 - 74 0.5 - 75 0.5 - 76 0.5 - 77 0.5 - 78 0.5 - 79 0.5 - 80 0.5 - 81 0.5 - 82 0.5 - 83 0.5 - 84 0.5 - 85 0.5 - 86 0.5 - 87 0.5 - 88 0.5 - 89 0.5 - 90 0.5 - 91 0.5 - 92 0.5 - 93 0.5 - 94 0.5 - 95 0.5 - 96 0.5 - 97 0.5 - 98 0.5 - 99 0.5 - 100 0.5 - 101 0.5 - 102 0.5 - 103 0.5 - 104 0.5 - 105 0.5 - 106 0.5 - 107 0.5 - 108 0.5 - 109 0.5 - 110 0.5 - 111 0.5 - 112 0.5 - 113 0.5 - 114 0.5 - 115 0.5 - 116 0.5 - 117 0.5 - 118 0.5 - 119 0.5 - 120 0.5 - 121 0.5 - 122 0.5 - 123 0.5 - 124 0.5 - 125 0.5 - 126 0.5 - 127 0.5 - 128 0.5 - 129 0.5 - 130 0.5 - 131 0.5 - 132 0.5 - 133 0.5 - 134 0.5 - 135 0.5 - 136 0.5 - 137 0.5 - 138 0.5 - 139 0.5 - 140 0.5 - 141 0.5 - 142 0.5 - 143 0.5 - 144 0.5 - 145 0.5 - 146 0.5 - 147 0.5 - 148 0.5 - 149 0.5 - 150 0.5 - 151 0.5 - 152 0.5 - 153 0.5 - 154 0.5 - 155 0.5 - 156 0.5 - 157 0.5 - 158 0.5 - 159 0.5 - 160 0.5 - 161 0.5 - 162 0.5 - 163 0.5 - 164 0.5 - 165 0.5 - 166 0.5 - 167 0.5 - 168 0.5 - 169 0.5 - 170 0.5 - 171 0.5 - 172 0.5 - 173 0.5 - 174 0.5 - 175 0.5 - 176 0.5 - 177 0.5 - 178 0.5 - 179 0.5 - 180 0.5 - 181 0.5 - 182 0.5 - 183 0.5 - 184 0.5 - 185 0.5 - 186 0.5 - 187 0.5 - 188 0.5 - 189 0.5 - 190 0.5 - 191 0.5 - 192 0.5 - 193 0.5 - 194 0.5 - 195 0.5 - 196 0.5 - 197 0.5 - 198 0.5 - 199 0.5 - 200 0.5 - 201 0.5 - 202 0.5 - 203 0.5 - 204 0.5 - 205 0.5 - 206 0.5 - 207 0.5 - 208 0.5 - 209 0.5 - 210 0.5 - 211 0.5 - 212 0.5 - 213 0.5 - 214 0.5 - 215 0.5 - 216 0.5 - 217 0.5 - 218 0.5 - 219 0.5 - 220 0.5 - 221 0.5 - 222 0.5 - 223 0.5 - 224 0.5 - 225 0.5 - 226 0.5 - 227 0.5 - 228 0.5 - 229 0.5 - 230 0.5 - 231 0.5 - 232 0.5 - 233 0.5 - 234 0.5 - 235 0.5 - 236 0.5 - 237 0.5 - 238 0.5 - 239 0.5 - 240 0.5 - 241 0.5 - 242 0.5 - 243 0.5 - 244 0.5 - 245 0.5 - 246 0.5 - 247 0.5 - 248 0.5 - 249 0.5 - 250 0.5 - 251 0.5 - 252 0.5 - 253 0.5 - 254 0.5 - 255 0.5 - 256 0.5 - 257 0.5 - 258 0.5 - 259 0.5 - 260 0.5 - 261 0.5 - 262 0.5 - 263 0.5 - 264 0.5 - 265 0.5 - 266 0.5 - 267 0.5 - 268 0.5 - 269 0.5 - 270 0.5 - 271 0.5 - 272 0.5 - 273 0.5 - 274 0.5 - 275 0.5 - 276 0.5 - 277 0.5 - 278 0.5 - 279 0.5 - 280 0.5 - 281 0.5 - 282 0.5 - 283 0.5 - 284 0.5 - 285 0.5 - 286 0.5 - 287 0.5 - 288 0.5 - 289 0.5 - 290 0.5 - 291 0.5 - 292 0.5 - 293 0.5 - 294 0.5 - 295 0.5 - 296 0.5 - 297 0.5 - 298 0.5 - 299 0.5 - 300 0.5 - 301 0.5 - 302 0.5 - 303 0.5 - 304 0.5 - 305 0.5 - 306 0.5 - 307 0.5 - 308 0.5 - 309 0.5 - 310 0.5 - 311 0.5 - 312 0.5 - 313 0.5 - 314 0.5 - 315 0.5 - 316 0.5 - 317 0.5 - 318 0.5 - 319 0.5 - 320 0.5 - 321 0.5 - 322 0.5 - 323 0.5 - 324 0.5 - 325 0.5 - 326 0.5 - 327 0.5 - 328 0.5 - 329 0.5 - 330 0.5 - 331 0.5 - 332 0.5 - 333 0.5 - 334 0.5 - 335 0.5 - 336 0.5 - 337 0.5 - 338 0.5 - 339 0.5 - 340 0.5 - 341 0.5 - 342 0.5 - 343 0.5 - 344 0.5 - 345 0.5 - 346 0.5 - 347 0.5 - 348 0.5 - 349 0.5 - 350 0.5 - 351 0.5 - 352 0.5 - 353 0.5 - 354 0.5 - 355 0.5 - 356 0.5 - 357 0.5 - 358 0.5 - 359 0.5 - 360 0.5 - 361 0.5 - 362 0.5 - 363 0.5 - 364 0.5 - 365 0.5 - 366 0.5 - 367 0.5 - 368 0.5 - 369 0.5 - 370 0.5 - 371 0.5 - 372 0.5 - 373 0.5 - 374 0.5 - 375 0.5 - 376 0.5 - 377 0.5 - 378 0.5 - 379 0.5 - 380 0.5 - 381 0.5 - 382 0.5 - 383 0.5 - 384 0.5 - 385 0.5 - 386 0.5 - 387 0.5 - 388 0.5 - 389 0.5 - 390 0.5 - 391 0.5 - 392 0.5 - 393 0.5 - 394 0.5 - 395 0.5 - 396 0.5 - 397 0.5 - 398 0.5 - 399 0.5 - 400 0.5 - 401 0.5 - 402 0.5 - 403 0.5 - 404 0.5 - 405 0.5 - 406 0.5 - 407 0.5 - 408 0.5 - 409 0.5 - 410 0.5 - 411 0.5 - 412 0.5 - 413 0.5 - 414 0.5 - 415 0.5 - 416 0.5 - 417 0.5 - 418 0.5 - 419 0.5 - 420 0.5 - 421 0.5 - 422 0.5 - 423 0.5 - 424 0.5 - 425 0.5 - 426 0.5 - 427 0.5 - 428 0.5 - 429 0.5 - 430 0.5 - 431 0.5 - 432 0.5 - 433 0.5 - 434 0.5 - 435 0.5 - 436 0.5 - 437 0.5 - 438 0.5 - 439 0.5 - 440 0.5 - 441 0.5 - 442 0.5 - 443 0.5 - 444 0.5 - 445 0.5 - 446 0.5 - 447 0.5 - 448 0.5 - 449 0.5 - 450 0.5 - 451 0.5 - 452 0.5 - 453 0.5 - 454 0.5 - 455 0.5 - 456 0.5 - 457 0.5 - 458 0.5 - 459 0.5 - 460 0.5 - 461 0.5 - 462 0.5 - 463 0.5 - 464 0.5 - 465 0.5 - 466 0.5 - 467 0.5 - 468 0.5 - 469 0.5 - 470 0.5 - 471 0.5 - 472 0.5 - 473 0.5 - 474 0.5 - 475 0.5 - 476 0.5 - 477 0.5 - 478 0.5 - 479 0.5 - 480 0.5 - 481 0.5 - 482 0.5 - 483 0.5 - 484 0.5 - 485 0.5 - 486 0.5 - 487 0.5 - 488 0.5 - 489 0.5 - 490 0.5 - 491 0.5 - 492 0.5 - 493 0.5 - 494 0.5 - 495 0.5 - 496 0.5 - 497 0.5 - 498 0.5 - 499 0.5 - 500 0.5 - 501 0.5 - 502 0.5 - 503 0.5 - 504 0.5 - 505 0.5 - 506 0.5 - 507 0.5 - 508 0.5 - 509 0.5 - 510 0.5 - 511 0.5 - 512 0.5 - 513 0.5 - 514 0.5 - 515 0.5 - 516 0.5 - 517 0.5 - 518 0.5 - 519 0.5 - 520 0.5 - 521 0.5 - 522 0.5 - 523 0.5 - 524 0.5 - 525 0.5 - 526 0.5 - 527 0.5 - 528 0.5 - 529 0.5 - 530 0.5 - 531 0.5 - 532 0.5 - 533 0.5 - 534 0.5 - 535 0.5 - 536 0.5 - 537 0.5 - 538 0.5 - 539 0.5 - 540 0.5 - 541 0.5 - 542 0.5 - 543 0.5 - 544 0.5 - 545 0.5 - 546 0.5 - 547 0.5 - 548 0.5 - 549 0.5 - 550 0.5 - 551 0.5 - 552 0.5 - 553 0.5 - 554 0.5 - 555 0.5 - 556 0.5 - 557 0.5 - 558 0.5 - 559 0.5 - 560 0.5 - 561 0.5 - 562 0.5 - 563 0.5 - 564 0.5 - 565 0.5 - 566 0.5 - 567 0.5 - 568 0.5 - 569 0.5 - 570 0.5 - 571 0.5 - 572 0.5 - 573 0.5 - 574 0.5 - 575 0.5 - 576 0.5 - 577 0.5 - 578 0.5 - 579 0.5 - 580 0.5 - 581 0.5 - 582 0.5 - 583 0.5 - 584 0.5 - 585 0.5 - 586 0.5 - 587 0.5 - 588 0.5 - 589 0.5 - 590 0.5 - 591 0.5 - 592 0.5 - 593 0.5 - 594 0.5 - 595 0.5 - 596 0.5 - 597 0.5 - 598 0.5 - 599 0.5 - 600 0.5 - 601 0.5 - 602 0.5 - 603 0.5 - 604 0.5 - 605 0.5 - 606 0.5 - 607 0.5 - 608 0.5 - 609 0.5 - 610 0.5 - 611 0.5 - 612 0.5 - 613 0.5 - 614 0.5 - 615 0.5 - 616 0.5 - 617 0.5 - 618 0.5 - 619 0.5 - 620 0.5 - 621 0.5 - 622 0.5 - 623 0.5 - 624 0.5 - 625 0.5 - 626 0.5 - 627 0.5 - 628 0.5 - 629 0.5 - 630 0.5 - 631 0.5 - 632 0.5 - 633 0.5 - 634 0.5 - 635 0.5 - 636 0.5 - 637 0.5 - 638 0.5 - 639 0.5 - 640 0.5 - 641 0.5 - 642 0.5 - 643 0.5 - 644 0.5 - 645 0.5 - 646 0.5 - 647 0.5 - 648 0.5 - 649 0.5 - 650 0.5 - 651 0.5 - 652 0.5 - 653 0.5 - 654 0.5 - 655 0.5 - 656 0.5 - 657 0.5 - 658 0.5 - 659 0.5 - 660 0.5 - 661 0.5 - 662 0.5 - 663 0.5 - 664 0.5 - 665 0.5 - 666 0.5 - 667 0.5 - 668 0.5 - 669 0.5 - 670 0.5 - 671 0.5 - 672 0.5 - 673 0.5 - 674 0.5 - 675 0.5 - 676 0.5 - 677 0.5 - 678 0.5 - 679 0.5 - 680 0.5 - 681 0.5 - 682 0.5 - 683 0.5 - 684 0.5 - 685 0.5 - 686 0.5 - 687 0.5 - 688 0.5 - 689 0.5 - 690 0.5 - 691 0.5 - 692 0.5 - 693 0.5 - 694 0.5 - 695 0.5 - 696 0.5 - 697 0.5 - 698 0.5 - 699 0.5 - 700 0.5 - 701 0.5 - 702 0.5 - 703 0.5 - 704 0.5 - 705 0.5 - 706 0.5 - 707 0.5 - 708 0.5 - 709 0.5 - 710 0.5 - 711 0.5 - 712 0.5 - 713 0.5 - 714 0.5 - 715 0.5 - 716 0.5 - 717 0.5 - 718 0.5 - 719 0.5 - 720 0.5 - 721 0.5 - 722 0.5 - 723 0.5 - 724 0.5 - 725 0.5 - 726 0.5 - 727 0.5 - 728 0.5 - 729 0.5 - 730 0.5 - 731 0.5 - 732 0.5 - 733 0.5 - 734 0.5 - 735 0.5 - 736 0.5 - 737 0.5 - 738 0.5 - 739 0.5 - 740 0.5 - 741 0.5 - 742 0.5 - 743 0.5 - 744 0.5 - 745 0.5 - 746 0.5 - 747 0.5 - 748 0.5 - 749 0.5 - 750 0.5 - 751 0.5 - 752 0.5 - 753 0.5 - 754 0.5 - 755 0.5 - 756 0.5 - 757 0.5 - 758 0.5 - 759 0.5 - 760 0.5 - 761 0.5 - 762 0.5 - 763 0.5 - 764 0.5 - 765 0.5 - 766 0.5 - 767 0.5 - 768 0.5 - 769 0.5 - 770 0.5 - 771 0.5 - 772 0.5 - 773 0.5 - 774 0.5 - 775 0.5 - 776 0.5 - 777 0.5 - 778 0.5 - 779 0.5 - 780 0.5 - 781 0.5 - 782 0.5 - 783 0.5 - 784 0.5 - 785 0.5 - 786 0.5 - 787 0.5 - 788 0.5 - 789 0.5 - 790 0.5 - 791 0.5 - 792 0.5 - 793 0.5 - 794 0.5 - 795 0.5 - 796 0.5 - 797 0.5 - 798 0.5 - 799 0.5 - 800 0.5 - 801 0.5 - 802 0.5 - 803 0.5 - 804 0.5 - 805 0.5 - 806 0.5 - 807 0.5 - 808 0.5 - 809 0.5 - 810 0.5 - 811 0.5 - 812 0.5 - 813 0.5 - 814 0.5 - 815 0.5 - 816 0.5 - 817 0.5 - 818 0.5 - 819 0.5 - 820 0.5 - 821 0.5 - 822 0.5 - 823 0.5 - 824 0.5 - 825 0.5 - 826 0.5 - 827 0.5 - 828 0.5 - 829 0.5 - 830 0.5 - 831 0.5 - 832 0.5 - 833 0.5 - 834 0.5 - 835 0.5 - 836 0.5 - 837 0.5 - 838 0.5 - 839 0.5 - 840 0.5 - 841 0.5 - 842 0.5 - 843 0.5 - 844 0.5 - 845 0.5 - 846 0.5 - 847 0.5 - 848 0.5 - 849 0.5 - 850 0.5 - 851 0.5 - 852 0.5 - 853 0.5 - 854 0.5 - 855 0.5 - 856 0.5 - 857 0.5 - 858 0.5 - 859 0.5 - 860 0.5 - 861 0.5 - 862 0.5 - 863 0.5 - 864 0.5 - 865 0.5 - 866 0.5 - 867 0.5 - 868 0.5 - 869 0.5 - 870 0.5 - 871 0.5 - 872 0.5 - 873 0.5 - 874 0.5 - 875 0.5 - 876 0.5 - 877 0.5 - 878 0.5 - 879 0.5 - 880 0.5 - 881 0.5 - 882 0.5 - 883 0.5 - 884 0.5 - 885 0.5 - 886 0.5 - 887 0.5 - 888 0.5 - 889 0.5 - 890 0.5 - 891 0.5 - 892 0.5 - 893 0.5 - 894 0.5 - 895 0.5 - 896 0.5 - 897 0.5 - 898 0.5 - 899 0.5 - 900 0.5 - 901 0.5 - 902 0.5 - 903 0.5 - 904 0.5 - 905 0.5 - 906 0.5 - 907 0.5 - 908 0.5 - 909 0.5 - 910 0.5 - 911 0.5 - 912 0.5 - 913 0.5 - 914 0.5 - 915 0.5 - 916 0.5 - 917 0.5 - 918 0.5 - 919 0.5 - 920 0.5 - 921 0.5 - 922 0.5 - 923 0.5 - 924 0.5 - 925 0.5 - 926 0.5 - 927 0.5 - 928 0.5 - 929 0.5 - 930 0.5 - 931 0.5 - 932 0.5 - 933 0.5 - 934 0.5 - 935 0.5 - 936 0.5 - 937 0.5 - 938 0.5 - 939 0.5 - 940 0.5 - 941 0.5 - 942 0.5 - 943 0.5 - 944 0.5 - 945 0.5 - 946 0.5 - 947 0.5 - 948 0.5 - 949 0.5 - 950 0.5 - 951 0.5 - 952 0.5 - 953 0.5 - 954 0.5 - 955 0.5 - 956 0.5 - 957 0.5 - 958 0.5 - 959 0.5 - 960 0.5 - 961 0.5 - 962 0.5 - 963 0.5 - 964 0.5 - 965 0.5 - 966 0.5 - 967 0.5 - 968 0.5 - 969 0.5 - 970 0.5 - 971 0.5 - 972 0.5 - 973 0.5 - 974 0.5 - 975 0.5 - 976 0.5 - 977 0.5 - 978 0.5 - 979 0.5 - 980 0.5 - 981 0.5 - 982 0.5 - 983 0.5 - 984 0.5 - 985 0.5 - 986 0.5 - 987 0.5 - 988 0.5 - 989 0.5 - 990 0.5 - 991 0.5 - 992 0.5 - 993 0.5 - 994 0.5 - 995 0.5 - 996 0.5 - 997 0.5 - 998 0.5 - 999 0.5 - 1000 0.5 - diff --git a/tests/testthat/adtteSpec/.gitignore b/tests/testthat/adtteSpec/.gitignore deleted file mode 100644 index 2a69ce26..00000000 --- a/tests/testthat/adtteSpec/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# {shinytest2}: Ignore new debug snapshots for `$expect_values()` -*_.new.png diff --git a/tests/testthat/adtteSpec/app.R b/tests/testthat/adtteSpec/app.R deleted file mode 100644 index 69b1bb56..00000000 --- a/tests/testthat/adtteSpec/app.R +++ /dev/null @@ -1,92 +0,0 @@ -library(teal.modules.hermes) - -ui <- function(id) { - ns <- NS(id) - - teal.widgets::standard_layout( - encoding = tags$div( - uiOutput(ns("experiment_ui")), - assaySpecInput(ns("assay")), - geneSpecInput(ns("genes"), funs = list(Mean = colMeans)), - adtteSpecInput(ns("adtte")) - ), - output = verbatimTextOutput(ns("summary")) - ) -} - -server <- function(id, - data, - filter_panel_api) { - moduleServer(id, function(input, output, session) { - output$experiment_ui <- renderUI({ - experimentSpecInput(session$ns("experiment"), data = data, mae_name = "MAE") - }) - experiment <- experimentSpecServer( - "experiment", - data = data, - filter_panel_api, - mae_name = "MAE" - ) - assay <- assaySpecServer( - "assay", - assays = experiment$assays - ) - genes <- geneSpecServer( - "genes", - funs = list(Mean = colMeans), - gene_choices = experiment$genes - ) - adtte <- adtteSpecServer( - "adtte", - data = data, - adtte_name = "ADTTE", - mae_name = "MAE", - adtte_vars = list( - aval = "AVAL", - avalu = "AVALU", - is_event = "is_event", - paramcd = "PARAMCD", - usubjid = "USUBJID" - ), - experiment_data = experiment$data, - experiment_name = experiment$name, - assay = assay, - genes = genes, - probs = reactive({ - 0.5 - }) # nolint - ) - output$summary <- renderPrint({ - binned_adtte_subset <- adtte$binned_adtte_subset() - summary(binned_adtte_subset) - }) - }) -} - -my_app <- function() { - adtte <- teal.modules.hermes::rADTTE %>% - dplyr::mutate(is_event = (.data$CNSR == 0)) - - data <- teal_data( - ADTTE = adtte, - MAE = hermes::multi_assay_experiment, - code = - "adtte <- teal.modules.hermes::rADTTE %>% - dplyr::mutate(is_event = (.data$CNSR == 0))" - ) - - app <- teal::init( - data = data, - modules = teal::modules( - teal::module( - label = "adtteSpec example", - server = server, - ui = ui, - datanames = "all" - ) - ) - ) - shinyApp(app$ui, app$server) -} - -my_app() diff --git a/tests/testthat/assaySpec/app.R b/tests/testthat/assaySpec/app.R deleted file mode 100644 index 0c260024..00000000 --- a/tests/testthat/assaySpec/app.R +++ /dev/null @@ -1,64 +0,0 @@ -library(teal.modules.hermes) - -ui <- function(id) { - ns <- NS(id) - - teal.widgets::standard_layout( - encoding = tags$div( - uiOutput(ns("experiment_ui")), - assaySpecInput( - ns("assay"), - label_assays = "Please choose assay" - ) - ), - output = verbatimTextOutput(ns("result")) - ) -} - -server <- function(id, - data, - filter_panel_api, - mae_name) { - moduleServer(id, function(input, output, session) { - output$experiment_ui <- renderUI({ - experimentSpecInput( - session$ns("experiment"), - data = data, - mae_name = "MAE" - ) - }) - experiment <- experimentSpecServer( - "experiment", - data = data, - filter_panel_api = filter_panel_api, - mae_name = "MAE" - ) - assay <- assaySpecServer( - "assay", - assays = experiment$assays, - exclude_assays = c("counts", "cpm", "tpm", "bla") - ) - output$result <- renderPrint({ - assay <- assay() - assay - }) - }) -} - -my_app <- function() { - data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) - app <- teal::init( - data = data, - modules = teal::modules( - module( - label = "assaySpec example", - server = server, - ui = ui, - datanames = "all" - ) - ) - ) - shinyApp(app$ui, app$server) -} - -my_app() diff --git a/tests/testthat/barplot/app.R b/tests/testthat/barplot/app.R deleted file mode 100644 index 2a3ea592..00000000 --- a/tests/testthat/barplot/app.R +++ /dev/null @@ -1,3 +0,0 @@ -library(teal.modules.hermes) - -sample_tm_g_barplot(.test = TRUE) diff --git a/tests/testthat/boxplot/app.R b/tests/testthat/boxplot/app.R deleted file mode 100644 index 89798ff9..00000000 --- a/tests/testthat/boxplot/app.R +++ /dev/null @@ -1,3 +0,0 @@ -library(teal.modules.hermes) - -sample_tm_g_boxplot(.test = TRUE) diff --git a/tests/testthat/experimentSpec/app.R b/tests/testthat/experimentSpec/app.R deleted file mode 100644 index 16183df8..00000000 --- a/tests/testthat/experimentSpec/app.R +++ /dev/null @@ -1,76 +0,0 @@ -library(teal.modules.hermes) - -ui <- function(id) { - ns <- NS(id) - teal.widgets::standard_layout( - encoding = tags$div( - uiOutput(ns("experiment_ui")), - selectInput( - ns("property"), - "Please choose property", - c("data", "name", "genes", "assays") - ) - ), - output = tags$div( - verbatimTextOutput(ns("summary")), - verbatimTextOutput(ns("head")) - ) - ) -} - -server <- function(id, - data, - filter_panel_api, - mae_name) { - moduleServer(id, function(input, output, session) { - output$experiment_ui <- renderUI({ - experimentSpecInput( - session$ns("my_experiment"), - data, - mae_name, - label_experiments = "Please choose experiment" - ) - }) - experiment <- experimentSpecServer( - "my_experiment", - data, - filter_panel_api, - mae_name - ) - result <- reactive({ - switch(input$property, - data = experiment$data(), - name = experiment$name(), - genes = experiment$genes(), - assays = experiment$assays() - ) - }) - output$summary <- renderPrint({ - result <- result() - hermes::summary(result) - }) - output$head <- renderPrint({ - result <- result() - utils::head(result) - }) - }) -} - -my_app <- function() { - data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) - app <- teal::init( - data = data, - modules = teal::modules( - teal::module( - label = "experimentSpec example", - server = server, - server_args = list(mae_name = "MAE"), - ui = ui, - datanames = "all" - ) - ) - ) - shinyApp(app$ui, app$server) -} - -my_app() diff --git a/tests/testthat/forest_tte/app.R b/tests/testthat/forest_tte/app.R deleted file mode 100644 index 8c054fe5..00000000 --- a/tests/testthat/forest_tte/app.R +++ /dev/null @@ -1,3 +0,0 @@ -library(teal.modules.hermes) - -sample_tm_g_forest_tte(.test = TRUE) diff --git a/tests/testthat/geneSpec/app.R b/tests/testthat/geneSpec/app.R deleted file mode 100644 index 435d81c7..00000000 --- a/tests/testthat/geneSpec/app.R +++ /dev/null @@ -1,67 +0,0 @@ -library(teal.modules.hermes) - -ui <- function(id, funs) { - ns <- NS(id) - teal.widgets::standard_layout( - encoding = tags$div( - geneSpecInput( - ns("my_genes"), - funs = funs, - label_funs = "Please select function" - ) - ), - output = textOutput(ns("result")) - ) -} - -server <- function(id, - data, - funs) { - moduleServer(id, function(input, output, session) { - gene_choices <- reactive({ - mae <- data()[["MAE"]] - object <- mae[[1]] - gene_ids <- rownames(object) - gene_names <- SummarizedExperiment::rowData(object)$symbol - gene_data <- data.frame( - id = gene_ids, - name = gene_names - ) - gene_data[order(gene_data$name), ] - }) - gene_spec <- geneSpecServer( - "my_genes", - funs = funs, - gene_choices = gene_choices - ) - output$result <- renderText({ - validate_gene_spec( - gene_spec(), - gene_choices()$id - ) - gene_spec <- gene_spec() - gene_spec$get_label() - }) - }) -} - -funs <- list(mean = colMeans) -my_app <- function() { - data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) - app <- teal::init( - data = data, - modules = teal::modules( - teal::module( - label = "GeneSpec example", - server = server, - server_args = list(funs = funs), - ui = ui, - ui_args = list(funs = funs), - datanames = "all" - ) - ) - ) - shinyApp(app$ui, app$server) -} - -my_app() diff --git a/tests/testthat/km/app.R b/tests/testthat/km/app.R deleted file mode 100644 index 848febef..00000000 --- a/tests/testthat/km/app.R +++ /dev/null @@ -1,3 +0,0 @@ -library(teal.modules.hermes) - -sample_tm_g_km(.test = TRUE) diff --git a/tests/testthat/pca/app.R b/tests/testthat/pca/app.R deleted file mode 100644 index 29699a8d..00000000 --- a/tests/testthat/pca/app.R +++ /dev/null @@ -1,3 +0,0 @@ -library(teal.modules.hermes) - -sample_tm_g_pca(.test = TRUE) diff --git a/tests/testthat/quality/app.R b/tests/testthat/quality/app.R deleted file mode 100644 index 0ea3f3ec..00000000 --- a/tests/testthat/quality/app.R +++ /dev/null @@ -1,3 +0,0 @@ -library(teal.modules.hermes) - -sample_tm_g_quality(.test = TRUE) diff --git a/tests/testthat/sampleVarSpec/app.R b/tests/testthat/sampleVarSpec/app.R deleted file mode 100644 index 03811cfe..00000000 --- a/tests/testthat/sampleVarSpec/app.R +++ /dev/null @@ -1,59 +0,0 @@ -library(teal.modules.hermes) - -ui <- function(id) { - ns <- NS(id) - - teal.widgets::standard_layout( - encoding = tags$div( - uiOutput(ns("experiment_ui")), - sampleVarSpecInput(ns("facet_var"), "Select variable") - ), - output = verbatimTextOutput(ns("summary")) - ) -} - -server <- function(id, - data, - filter_panel_api) { - moduleServer(id, function(input, output, session) { - output$experiment_ui <- renderUI({ - experimentSpecInput(session$ns("experiment"), data, "MAE") - }) - experiment <- experimentSpecServer( - "experiment", - data, - filter_panel_api, - "MAE" - ) - facet_var_spec <- sampleVarSpecServer( - "facet_var", - experiment_name = experiment$name, - original_data = experiment$data - ) - output$summary <- renderPrint({ - experiment_data_final <- facet_var_spec$experiment_data() - facet_var <- facet_var_spec$sample_var() - req(facet_var) - facet_col <- SummarizedExperiment::colData(experiment_data_final)[[facet_var]] - summary(facet_col) - }) - }) -} - -my_app <- function() { - data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) - app <- teal::init( - data = data, - modules = teal::modules( - teal::module( - label = "sampleVarSpec example", - server = server, - ui = ui, - datanames = "all" - ) - ) - ) - shinyApp(app$ui, app$server) -} - -my_app() diff --git a/tests/testthat/scatterplot/app.R b/tests/testthat/scatterplot/app.R deleted file mode 100644 index 1b94a15a..00000000 --- a/tests/testthat/scatterplot/app.R +++ /dev/null @@ -1,3 +0,0 @@ -library(teal.modules.hermes) - -sample_tm_g_scatterplot(.test = TRUE) diff --git a/tests/testthat/test-assaySpec.R b/tests/testthat/test-assaySpec.R index 8fdcdba0..9ca80ee1 100644 --- a/tests/testthat/test-assaySpec.R +++ b/tests/testthat/test-assaySpec.R @@ -16,50 +16,3 @@ test_that("assaySpecInput creates expected HTML", { expect_length(result[[2]], 1) expect_tag(result[[2]][[1]]) }) - -# nolint start - -# assaySpecServer ---- -test_that("assaySpecServer module works as expected in the test app", { - skip_if_covr() - skip_if_too_deep(5) - - app <- AppDriver$new( - app_dir = test_path("assaySpec"), - name = "assaySpec", - variant = platform_variant(), - load_timeout = 300000 - ) - - - - # Validation message because no assays eligible in first experiment. - app$wait_for_idle(timeout = 20000) - res <- app$get_active_module_output("result") - expect_identical(res$message, "No assays eligible for this experiment, please make sure to add normalized assays") - - # Select the second experiment and see that we can select the right assays. - app$set_module_input("experiment-name", "hd2") - app$wait_for_idle() - - res <- app$get_active_module_input("assay-name") - expect_identical(res, "rpkm") - - res <- app$get_active_module_output("result") - expect_identical(res, "[1] \"rpkm\"") - - app$set_module_input("assay-name", "voom") - app$wait_for_idle() - res <- app$get_active_module_output("result") - expect_identical(res, "[1] \"voom\"") - - # Check that cpm should not be available. - app$set_module_input("assay-name", "cpm") - app$wait_for_idle() - res <- app$get_active_module_output("result") - expect_identical(res, "[1] \"\"") - - app$stop() -}) - -# nolint end diff --git a/tests/testthat/test-experimentSpec.R b/tests/testthat/test-experimentSpec.R index 2f6c8c78..f8607650 100644 --- a/tests/testthat/test-experimentSpec.R +++ b/tests/testthat/test-experimentSpec.R @@ -1,26 +1,4 @@ -# experimentSpecInput ---- -test_that("experimentSpecInput creates expected HTML", { - mae_name <- "MyMAE" - set.seed(123) - server <- function(input, output, session) { - data <- reactive(teal_data(MyMAE = hermes::multi_assay_experiment)) - result <- experimentSpecInput( - inputId = "my_experiment", - data = data, - mae_name = mae_name, - label_experiments = "Please select the best experiment" - ) - } - - testServer(server, { - expect_silent( - expect_tag(result) - ) - }) -}) - # h_order_genes ---- - test_that("h_order_genes works as expected to sort only by name", { genes <- data.frame( id = c("2533", "2534", "2535", "2536", "2537"), @@ -88,115 +66,3 @@ test_that("h_gene_data does not fail when object does not contain any genes", { ) expect_identical(result, expected) }) - -# nolint start - -test_that("experimentSpec module works as expected in the test app", { - skip_if_covr() - skip_if_too_deep(5) - - app <- AppDriver$new( - app_dir = test_path("experimentSpec"), - name = "experimentSpec", - variant = platform_variant(), - load_timeout = 300000 - ) - - app$wait_for_idle(timeout = 20000) - - - # check initialization - res <- app$get_active_module_input("my_experiment-name") - expect_identical(res, "hd1") - - res <- app$get_active_module_input("property") - expect_identical(res, "data") - - # The data is correctly processed so we can see the print result. - app$wait_for_idle() - res <- app$get_active_module_output("head") - expect_match(res, "class: HermesData\nassays(1): counts", fixed = TRUE) - - # Look at the other properties and confirm that they are ok. - app$set_module_input("property", "name") - app$wait_for_idle() - - res <- app$get_active_module_output("head") - expect_match(res, "hd1", fixed = TRUE) - - app$set_module_input("property", "genes") - app$wait_for_idle() - - res <- app$get_active_module_output("head") - expect_match(res, " id name\n249 GeneID:10061 ABCF2\n966 GeneID:28 ABO\n532", fixed = TRUE) - - app$set_module_input("property", "assays") - app$wait_for_idle() - - res <- app$get_active_module_output("head") - expect_match(res, "counts", fixed = TRUE) - - # Look at the second experiment. - app$set_module_input("my_experiment-name", "hd2") - app$wait_for_idle() - - res <- app$get_active_module_output("head") - expect_match(res, '"counts"\\s+"cpm"\\s+"rpkm"\\s+"tpm"\\s+"voom"') - - app$set_module_input("property", "data") - app$wait_for_idle() - - res <- app$get_active_module_output("summary") - expect_match(res, "HermesData object with 9 samples of 2500 genes") - - # Filtering out all samples does give a validation message, so we are safe - # downstream. - app$set_module_input("add-MAE-subjects-var_to_add", "SEX") - app$wait_for_idle() - app$set_module_input("active-MAE-subjects-MAE_SEX-inputs-selection", character()) - app$wait_for_idle() - - # Experiment selection is not affected by filtering - res <- app$get_active_module_input("my_experiment-name") - expect_identical(res, "hd2") - - res <- app$get_active_module_output("summary") - expect_match(res$message, "No genes or samples included in this experiment, please adjust filters") - app$click(sprintf("%s-%s", app$active_filters_ns(), "active-MAE-remove_filters")) - - # Same for filtering out all genes. - app$set_module_input("add-MAE-hd2-row_to_add", "chromosome") - app$wait_for_idle() - app$set_module_input( - "active-MAE-hd2-MAE_chromosome_hd2_subset-inputs-selection_open", TRUE, - allow_no_input_binding_ = TRUE - ) - app$set_module_input("active-MAE-hd2-MAE_chromosome_hd2_subset-inputs-selection", character(0)) - app$set_module_input( - "active-MAE-hd2-MAE_chromosome_hd2_subset-inputs-selection_open", FALSE, - allow_no_input_binding_ = TRUE - ) - app$wait_for_idle() - - # Experiment selection is not affected by filtering - res <- app$get_active_module_input("my_experiment-name") - expect_identical(res, "hd2") - - res <- app$get_active_module_output("summary") - expect_match(res$message, "No genes or samples included in this experiment, please adjust filters") - - # return to initial situation - app$click(sprintf("%s-%s", app$active_filters_ns(), "active-MAE-remove_filters")) - app$wait_for_idle() - - # Experiment selection is not affected by removing filters - res <- app$get_active_module_input("my_experiment-name") - expect_identical(res, "hd2") - - res <- app$get_active_module_output("summary") - expect_match(res, "HermesData object with 9 samples of 2500 genes") - - app$stop() -}) - -# nolint end diff --git a/tests/testthat/test-forest.R b/tests/testthat/test-forest.R deleted file mode 100644 index 817e0882..00000000 --- a/tests/testthat/test-forest.R +++ /dev/null @@ -1,72 +0,0 @@ -# ui_g_forest_tte ---- - -test_that("ui_g_forest_tte creates expected HTML", { - mae_name <- "MyMAE" - set.seed(123) - data <- teal.data::teal_data(MyMAE = function() hermes::multi_assay_experiment) - expect_silent(result <- ui_g_forest_tte( - id = "testid", - adtte_name = "ADTTE", - mae_name = mae_name, - summary_funs = list( - Mean = colMeans - ), - pre_output = NULL, - post_output = NULL - )) - expect_tag(result) -}) - -# tm_g_forest_tte ---- - -# nolint start - -test_that("forest_tte module works as expected in the test app", { - skip_if_covr() - skip_if_too_deep(5) - - app <- AppDriver$new( - app_dir = test_path("forest_tte"), - name = "forest_tte", - variant = platform_variant(), - load_timeout = 300000 - ) - - app$wait_for_idle(timeout = 20000) - - - # check initialization - res <- app$get_active_module_input("experiment-name") - expect_identical(res, "hd1") - - res <- app$get_active_module_output("table") - expect_identical( - res$message, - "No assays eligible for this experiment, please make sure to add normalized assays" - ) - - # Choose another experiment. - app$set_module_input("experiment-name", "hd2") - - res <- app$wait_for_value(input = ns("assay-name")) - expect_identical(res, "cpm") - - # Choose a gene signature. - app$set_module_input("genes-genes", c("GeneID:101927746", "GeneID:1820")) - - res <- app$wait_for_value(output = ns("plot-plot_out_main")) - expect_identical(res$message, "please select an endpoint") - - # Choose an endpoint. - app$set_module_input("adtte-paramcd", "PFS") - - app$wait_for_idle() - res <- app$get_active_module_output("table") - expect_snapshot( - cat(res) - ) - - app$stop() -}) - -# nolint end diff --git a/tests/testthat/test-geneSpec.R b/tests/testthat/test-geneSpec.R index 7a555188..e1fce2c5 100644 --- a/tests/testthat/test-geneSpec.R +++ b/tests/testthat/test-geneSpec.R @@ -29,104 +29,3 @@ test_that("h_parse_genes correctly returns empty data frame when no genes match" expected <- choices[NULL, ] expect_identical(result, expected) }) - -# geneSpecServer ---- - -# nolint start - -test_that("geneSpec module works as expected in the test app", { - skip_if_covr() - skip_if_too_deep(5) - - app <- AppDriver$new( - app_dir = test_path("geneSpec"), - name = "geneSpec", - variant = platform_variant(), - load_timeout = 300000 - ) - - app$wait_for_idle(timeout = 20000) - - - - res <- app$get_active_module_input("my_genes-genes") - expect_null(res) - - res <- app$get_active_module_output("result") - expect_identical(res$message, "please select at least one gene") - - # Set genes manually. - selected_genes <- c( - "GeneID:10061", "GeneID:28", "GeneID:47", "GeneID:8310", - "GeneID:52", "GeneID:88", "GeneID:11096" - ) - - app$set_module_input("my_genes-genes", selected_genes) - app$wait_for_idle() - - # See that now the first function is selected. - res <- app$get_active_module_input("my_genes-fun_name") - expect_identical(res, "mean") - - # Get the expected result. - res <- app$get_active_module_output("result") - expect_identical(res, "mean(ABCF2, ABO, ..., ADAMTS5)") - - # Add chromosome filters for the first experiment. - app$set_module_input("add-MAE-hd1-row_to_add", "chromosome") - - # Lock the gene selection. - app$set_module_input("my_genes-lock_button", TRUE) - app$wait_for_idle() - app$set_module_input( - "active-MAE-hd2-MAE_chromosome_hd1_subset-inputs-selection_open", TRUE, - allow_no_input_binding_ = TRUE - ) - app$set_module_input("active-MAE-hd1-MAE_chromosome_hd1_subset-inputs-selection", c("1", "2")) - app$set_module_input( - "active-MAE-hd1-MAE_chromosome_hd1_subset-inputs-selection_open", FALSE, - allow_no_input_binding_ = TRUE - ) - app$wait_for_idle() - - # Confirm that gene selection was not changed. - # Note: Due to sorting by gene name the order might not be the same. - res <- app$get_active_module_input("my_genes-genes") - expect_set_equal(res, selected_genes) - - res <- app$get_active_module_output("result") - expect_identical( - res$message, - "5 genes (GeneID:10061, GeneID:28, ..., GeneID:11096) not included, please unlock or change filters" - ) - - # Unlock the gene selection. - app$set_module_input("my_genes-lock_button", FALSE) - app$wait_for_idle() - - # Check that gene selection was reduced accordingly. - res <- app$get_active_module_input("my_genes-genes") - expect_set_equal(res, c("GeneID:52", "GeneID:88")) - expect_subset(res, selected_genes) - expect_length(setdiff(selected_genes, res), 5) - - # Get the expected result. - res <- app$get_active_module_output("result") - expect_identical(res, "mean(ACP1, ACTN2)") - - # Remove the filter. - app$click(sprintf("%s-%s", app$active_filters_ns(), "active-MAE-hd1-MAE_chromosome_hd1_subset-remove")) - - # Select a gene via text input. - app$click(ns("my_genes-text_button")) - app$wait_for_idle() - app$set_module_input("my_genes-gene_text", "GeneID:10061; GeneID:28") - app$click(ns("my_genes-ok_button")) - app$wait_for_idle() - res <- app$get_active_module_input("my_genes-genes") - expect_set_equal(res, c("GeneID:10061", "GeneID:28")) - - app$stop() -}) - -# nolint end diff --git a/tests/testthat/test-km.R b/tests/testthat/test-km.R deleted file mode 100644 index cfa95274..00000000 --- a/tests/testthat/test-km.R +++ /dev/null @@ -1,70 +0,0 @@ -# ui_g_km ---- - -test_that("ui_g_km creates expected HTML", { - mae_name <- "MyMAE" - set.seed(123) - data <- teal.data::teal_data(MyMAE = function() hermes::multi_assay_experiment) - expect_silent(result <- ui_g_km( - id = "testid", - adtte_name = "ADTTE", - mae_name = mae_name, - summary_funs = list( - Mean = colMeans - ), - pre_output = NULL, - post_output = NULL - )) - - expect_tag(result) -}) - -# tm_g_km ---- - -# nolint start - -test_that("km module works as expected in the test app", { - skip_if_covr() - skip_if_too_deep(5) - - app <- AppDriver$new( - app_dir = test_path("km"), - name = "km", - variant = platform_variant(), - load_timeout = 300000 - ) - - app$wait_for_idle(timeout = 20000) - - - # Check initial state of encodings. - res <- app$get_active_module_input("experiment-name") - expect_identical(res, "hd1") - - res <- app$get_active_module_output("plot-plot_out_main") - expect_identical(res$message, "No assays eligible for this experiment, please make sure to add normalized assays") - - # Choose another experiment. - app$set_module_input("experiment-name", "hd2") - app$wait_for_idle() - - res <- app$get_active_module_input("assay-name") - expect_identical(res, "cpm") - - # Choose a gene signature. - app$set_module_input("genes-genes", c("GeneID:10061", "GeneID:28")) - app$wait_for_idle() - - # Choose an endpoint. - res <- app$get_active_module_output("table") - expect_identical(res$message, "please select an endpoint") - app$set_module_input("adtte-paramcd", "PFS") - app$wait_for_idle() - - res <- app$get_active_module_output("table") - expect_snapshot( - cat(res) - ) - app$stop() -}) - -# nolint end diff --git a/tests/testthat/test-sampleVarSpec.R b/tests/testthat/test-sampleVarSpec.R index c0851e6a..3dcb8e51 100644 --- a/tests/testthat/test-sampleVarSpec.R +++ b/tests/testthat/test-sampleVarSpec.R @@ -1,15 +1,3 @@ -# sampleVarSpecInput ---- - -test_that("sampleVarSpecInput creates expected HTML", { - expect_silent(result <- sampleVarSpecInput( - "my_sample_var", - label_vars = "Select cool variable", - label_levels_button = "Combine those levels" - )) - - expect_class(result, "shiny.tag.list") -}) - # h_assign_to_group_list ---- test_that("h_assign_to_group_list works as expected", { @@ -110,117 +98,3 @@ test_that(paste( "Please combine the original levels of y into exactly 4 levels" ) }) - -# sampleVarSpecServer ---- - -test_that("sampleVarSpecServer only gives atomic columns with at least one value in col_data_vars", { - object <- hermes::hermes_data - new_col_data <- S4Vectors::DataFrame( - ok = rep("a", ncol(object)), - ok_too = c(NA, rep("b", ncol(object) - 1)), - all_na = NA, - row.names = colnames(object) - ) - new_col_data$non_atomic_col <- S4Vectors::DataFrame(a = 1, b = 2) - SummarizedExperiment::colData(object) <- new_col_data - - experiment_name <- reactiveVal("bla") - original_data <- reactiveVal(object) - testServer( - sampleVarSpecServer, - args = list( - experiment_name = experiment_name, - original_data = original_data - ), - expr = { - col_data_vars <- col_data_vars() - expect_set_equal(col_data_vars, c("ok", "ok_too")) - expect_disjunct(col_data_vars, c("non_atomic_col", "all_na")) - } - ) -}) - -test_that("sampleVarSpecServer only gives factor columns in col_data_vars when categorical_only", { - object <- hermes::hermes_data - SummarizedExperiment::colData(object) <- S4Vectors::DataFrame( - char = rep("a", ncol(object)), - num = 1, - fac = factor("a"), - row.names = colnames(object) - ) - - experiment_name <- reactiveVal("bla") - original_data <- reactiveVal(object) - testServer( - sampleVarSpecServer, - args = list( - experiment_name = experiment_name, - original_data = original_data, - categorical_only = TRUE - ), - expr = { - col_data_vars <- col_data_vars() - expect_identical(col_data_vars, "fac") - expect_disjunct(col_data_vars, c("char", "num")) - } - ) -}) - -# nolint start - -test_that("sampleVarSpec module works as expected in the test app", { - skip_if_covr() - skip_if_too_deep(5) - - app <- AppDriver$new( - app_dir = test_path("sampleVarSpec"), - name = "sampleVarSpec", - variant = platform_variant(), - load_timeout = 300000 - ) - - app$wait_for_idle(timeout = 20000) - - - # Initially no variable is selected. - res <- app$get_active_module_input("facet_var-sample_var") - expect_null(res) - - # Select a variable. - app$set_module_input("facet_var-sample_var", "AGE18") - app$wait_for_idle() - - # Check the output and which levels are reported there. - res <- app$get_active_module_output("summary") - expect_match(as.character(res), " < 18 >= 18 \n 4 1 ") - - # Filter panel works as expected - app$set_inputs("teal-main_ui-filter_panel-add-MAE-subjects-var_to_add" = "AGE18") - app$wait_for_idle() - app$set_inputs("teal-main_ui-filter_panel-active-MAE-subjects-MAE_AGE18-inputs-selection" = "< 18") - app$wait_for_idle() - - res <- app$get_active_module_output("summary") - expect_equal(res, "< 18 \n 4 ") - - app$click("teal-main_ui-filter_panel-active-MAE-subjects-MAE_AGE18-remove") - res <- app$get_active_module_output("summary") - expect_equal(res, " < 18 >= 18 \n 4 1 ") - - # Now click on the levels button, set combination and click ok. - app$click(ns("facet_var-levels_button")) - - # Click on second column in both rows. - app$wait_for_idle() - app$set_module_input("facet_var-comb_assignment", list("< 18" = "2", ">= 18" = "2")) - app$wait_for_idle() - app$click(ns("facet_var-ok")) - app$wait_for_idle() - - # Check the output and which levels are reported there. - res <- app$get_active_module_output("summary") - expect_match(res, "< 18/>= 18 \n 5 ") - app$stop() -}) - -# nolint end diff --git a/tests/testthat/test-shinytest2-adtteSpec.R b/tests/testthat/test-shinytest2-adtteSpec.R index 07d996ed..03b118b2 100644 --- a/tests/testthat/test-shinytest2-adtteSpec.R +++ b/tests/testthat/test-shinytest2-adtteSpec.R @@ -4,16 +4,95 @@ test_that("adtteSpecServer module works as expected in the test app", { skip_if_covr() skip_if_too_deep(5) - app <- AppDriver$new( - app_dir = test_path("adtteSpec"), - name = "adtteSpecServe", - variant = platform_variant(), + ui <- function(id) { + ns <- NS(id) + + teal.widgets::standard_layout( + encoding = tags$div( + uiOutput(ns("experiment_ui")), + assaySpecInput(ns("assay")), + geneSpecInput(ns("genes"), funs = list(Mean = colMeans)), + adtteSpecInput(ns("adtte")) + ), + output = verbatimTextOutput(ns("summary")) + ) + } + + server <- function(id, + data, + filter_panel_api) { + moduleServer(id, function(input, output, session) { + output$experiment_ui <- renderUI({ + experimentSpecInput(session$ns("experiment"), data = data, mae_name = "MAE") + }) + experiment <- experimentSpecServer( + "experiment", + data = data, + filter_panel_api, + mae_name = "MAE" + ) + assay <- assaySpecServer( + "assay", + assays = experiment$assays + ) + genes <- geneSpecServer( + "genes", + funs = list(Mean = colMeans), + gene_choices = experiment$genes + ) + adtte <- adtteSpecServer( + "adtte", + data = data, + adtte_name = "ADTTE", + mae_name = "MAE", + adtte_vars = list( + aval = "AVAL", + avalu = "AVALU", + is_event = "is_event", + paramcd = "PARAMCD", + usubjid = "USUBJID" + ), + experiment_data = experiment$data, + experiment_name = experiment$name, + assay = assay, + genes = genes, + probs = reactive({ + 0.5 + }) # nolint + ) + output$summary <- renderPrint({ + binned_adtte_subset <- adtte$binned_adtte_subset() + summary(binned_adtte_subset) + }) + }) + } + + adtte <- teal.modules.hermes::rADTTE %>% + dplyr::mutate(is_event = (.data$CNSR == 0)) + + data <- teal_data( + ADTTE = adtte, + MAE = hermes::multi_assay_experiment, + code = + "adtte <- teal.modules.hermes::rADTTE %>% + dplyr::mutate(is_event = (.data$CNSR == 0))" + ) + + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + teal::module( + label = "adtteSpec example", + server = server, + ui = ui, + datanames = "all" + ) + ), load_timeout = 300000 ) app$wait_for_idle(timeout = 20000) - # check initialization res <- app$get_values() expect_equal(res$input[[ns("experiment-name")]], "hd1") diff --git a/tests/testthat/test-shinytest2-assaySpec.R b/tests/testthat/test-shinytest2-assaySpec.R new file mode 100644 index 00000000..a3706e1e --- /dev/null +++ b/tests/testthat/test-shinytest2-assaySpec.R @@ -0,0 +1,97 @@ +# nolint start + +# assaySpecServer ---- +test_that("assaySpecServer module works as expected in the test app", { + skip_if_covr() + skip_if_too_deep(5) + + ui <- function(id) { + ns <- NS(id) + + teal.widgets::standard_layout( + encoding = tags$div( + uiOutput(ns("experiment_ui")), + assaySpecInput( + ns("assay"), + label_assays = "Please choose assay" + ) + ), + output = verbatimTextOutput(ns("result")) + ) + } + + server <- function(id, + data, + filter_panel_api, + mae_name) { + moduleServer(id, function(input, output, session) { + output$experiment_ui <- renderUI({ + experimentSpecInput( + session$ns("experiment"), + data = data, + mae_name = "MAE" + ) + }) + experiment <- experimentSpecServer( + "experiment", + data = data, + filter_panel_api = filter_panel_api, + mae_name = "MAE" + ) + assay <- assaySpecServer( + "assay", + assays = experiment$assays, + exclude_assays = c("counts", "cpm", "tpm", "bla") + ) + output$result <- renderPrint({ + assay <- assay() + assay + }) + }) + } + + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + teal::module( + label = "assaySpec example", + server = server, + ui = ui, + datanames = "all" + ) + ), + load_timeout = 300000 + ) + + # Validation message because no assays eligible in first experiment. + app$wait_for_idle(timeout = 20000) + res <- app$get_active_module_output("result") + expect_identical(res$message, "No assays eligible for this experiment, please make sure to add normalized assays") + + # Select the second experiment and see that we can select the right assays. + app$set_module_input("experiment-name", "hd2") + app$wait_for_idle() + + res <- app$get_active_module_input("assay-name") + expect_identical(res, "rpkm") + + res <- app$get_active_module_output("result") + expect_identical(res, "[1] \"rpkm\"") + + app$set_module_input("assay-name", "voom") + app$wait_for_idle() + res <- app$get_active_module_output("result") + expect_identical(res, "[1] \"voom\"") + + # Check that cpm should not be available. + app$set_module_input("assay-name", "cpm") + app$wait_for_idle() + res <- app$get_active_module_output("result") + expect_identical(res, "[1] \"\"") + + app$stop() +}) + +# nolint end diff --git a/tests/testthat/test-shinytest2-barplot.R b/tests/testthat/test-shinytest2-barplot.R new file mode 100644 index 00000000..a9c47a98 --- /dev/null +++ b/tests/testthat/test-shinytest2-barplot.R @@ -0,0 +1,111 @@ +# ui_g_barplot ---- + +test_that("e2e: tm_g_barplot initializes without errors and snapshot test", { + set.seed(999) + + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + tm_g_barplot( + label = "barplot", + mae_name = "MAE", + .test = .test + ) + ), + load_timeout = 300000 + ) + app$wait_for_idle(timeout = default_idle_timeout) + app$expect_no_shiny_error() + + app$expect_screenshot(name = "app") + app$stop() +}) + +# tm_g_barplot ---- + +# nolint start + +test_that("barplot module works as expected in the test app", { + skip_if_covr() + skip_if_too_deep(5) + + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + tm_g_barplot( + label = "barplot", + mae_name = "MAE", + .test = .test + ) + ), + load_timeout = 300000 + ) + + app$wait_for_idle(timeout = 20000) + + + # check initialization + res <- app$get_active_module_input("experiment-name") + expect_identical(res, "hd1") + + res <- app$get_active_module_input("assay-name") + expect_identical(res, "counts") + + res <- app$get_active_module_input("genes") + expect_null(res) + + # check initial message + res <- app$get_active_module_output("table") + expect_equal(res$message, "please select at least one gene") + + # Set values + app$set_module_input("experiment-name", "hd2") + app$set_module_input("assay-name", "tmp") + app$set_module_input("x-genes", "GeneID:8086") + + app$wait_for_idle() + res <- app$get_active_module_input("x-genes") + expect_identical(res, "GeneID:8086") + + app$set_module_input("experiment-name", "hd1") + + # Check that gene list is updated + app$wait_for_idle() + res <- app$get_active_module_input("x-genes") + expect_null(res) + + # Check that assay list is updated + res <- app$get_active_module_input("assay") + expect_null(res) + + # Check error message in case of identical percentile boundaries + app$set_module_input("percentiles", c(0.1, 0.1)) + app$wait_for_idle() + + res <- app$get_active_module_output("table") + expect_equal( + res$message, + "please select two different quantiles - if you want only 2 groups, choose one quantile as 0 or 1" + ) + + # Set Experiment, assay, gene, percentile and facet + app$set_module_input("experiment-name", "hd1") + app$set_module_input("assay-name", "counts") + app$set_module_input("x-genes", "GeneID:47") + app$set_module_input("percentiles", c(0.2, 0.8)) + app$set_module_input("facet-sample_var", "AGE18") + + + app$wait_for_idle() + + res <- app$get_active_module_output("table") + expect_snapshot( + cat(res) + ) + + app$stop() +}) + +# nolint end diff --git a/tests/testthat/test-shinytest2-boxplot.R b/tests/testthat/test-shinytest2-boxplot.R new file mode 100644 index 00000000..6fe5c52b --- /dev/null +++ b/tests/testthat/test-shinytest2-boxplot.R @@ -0,0 +1,80 @@ +# ui_g_boxplot ---- + +test_that("e2e: tm_g_boxplot initializes without errors and snapshot test", { + + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + tm_g_boxplot( + label = "boxplot", + mae_name = "MAE", + .test = .test + ) + ) + ) + app$wait_for_idle(timeout = default_idle_timeout) + app$expect_no_shiny_error() + + app$expect_screenshot(name = "app") + app$stop() +}) + +# tm_g_boxplot ---- + +# nolint start + +test_that("boxplot module works as expected in the test app", { + skip_if_covr() + skip_if_too_deep(5) + + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + tm_g_boxplot( + label = "boxplot", + mae_name = "MAE", + .test = .test + ) + ), + load_timeout = 300000 + ) + + app$wait_for_idle(timeout = 20000) + + + # check initialization + res <- app$get_active_module_input("experiment-name") + expect_identical(res, "hd1") + + res <- app$get_active_module_input("assay-name") + expect_identical(res, "counts") + + res <- app$get_active_module_input("strat-sample_var") + expect_null(res) + + res <- app$get_active_module_input("genes-genes") + expect_null(res) + + # check initial message + res <- app$get_active_module_output("table") + expect_equal(res$message, "please select at least one gene") + + # Do a couple of updates to obtain a plot. + app$set_module_input("jitter", TRUE) + app$set_module_input("violin", TRUE) + app$set_module_input("genes-genes", "GeneID:5205") + app$set_module_input("strat-sample_var", "COUNTRY") + app$set_module_input("color-sample_var", "AGE18") + + + app$wait_for_idle() + + res <- app$get_active_module_output("table") + expect_snapshot(cat(res)) + + app$stop() +}) + +# nolint end diff --git a/tests/testthat/test-shinytest2-experimentSpec.R b/tests/testthat/test-shinytest2-experimentSpec.R new file mode 100644 index 00000000..972d95c3 --- /dev/null +++ b/tests/testthat/test-shinytest2-experimentSpec.R @@ -0,0 +1,175 @@ +# nolint start + +test_that("experimentSpec module works as expected in the test app", { + skip_if_covr() + skip_if_too_deep(5) + + ui <- function(id) { + ns <- NS(id) + teal.widgets::standard_layout( + encoding = tags$div( + uiOutput(ns("experiment_ui")), + selectInput( + ns("property"), + "Please choose property", + c("data", "name", "genes", "assays") + ) + ), + output = tags$div( + verbatimTextOutput(ns("summary")), + verbatimTextOutput(ns("head")) + ) + ) + } + + server <- function(id, + data, + filter_panel_api, + mae_name) { + moduleServer(id, function(input, output, session) { + output$experiment_ui <- renderUI({ + experimentSpecInput( + session$ns("my_experiment"), + data, + mae_name, + label_experiments = "Please choose experiment" + ) + }) + experiment <- experimentSpecServer( + "my_experiment", + data, + filter_panel_api, + mae_name + ) + result <- reactive({ + switch(input$property, + data = experiment$data(), + name = experiment$name(), + genes = experiment$genes(), + assays = experiment$assays() + ) + }) + output$summary <- renderPrint({ + result <- result() + hermes::summary(result) + }) + output$head <- renderPrint({ + result <- result() + utils::head(result) + }) + }) + } + + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + teal::module( + label = "experimentSpec example", + server = server, + server_args = list(mae_name = "MAE"), + ui = ui, + datanames = "all" + ) + ), + load_timeout = 300000 + ) + + app$wait_for_idle(timeout = 20000) + + + # check initialization + res <- app$get_active_module_input("my_experiment-name") + expect_identical(res, "hd1") + + res <- app$get_active_module_input("property") + expect_identical(res, "data") + + # The data is correctly processed so we can see the print result. + app$wait_for_idle() + res <- app$get_active_module_output("head") + expect_match(res, "class: HermesData\nassays(1): counts", fixed = TRUE) + + # Look at the other properties and confirm that they are ok. + app$set_module_input("property", "name") + app$wait_for_idle() + + res <- app$get_active_module_output("head") + expect_match(res, "hd1", fixed = TRUE) + + app$set_module_input("property", "genes") + app$wait_for_idle() + + res <- app$get_active_module_output("head") + expect_match(res, " id name\n249 GeneID:10061 ABCF2\n966 GeneID:28 ABO\n532", fixed = TRUE) + + app$set_module_input("property", "assays") + app$wait_for_idle() + + res <- app$get_active_module_output("head") + expect_match(res, "counts", fixed = TRUE) + + # Look at the second experiment. + app$set_module_input("my_experiment-name", "hd2") + app$wait_for_idle() + + res <- app$get_active_module_output("head") + expect_match(res, '"counts"\\s+"cpm"\\s+"rpkm"\\s+"tpm"\\s+"voom"') + + app$set_module_input("property", "data") + app$wait_for_idle() + + res <- app$get_active_module_output("summary") + expect_match(res, "HermesData object with 9 samples of 2500 genes") + + # Filtering out all samples does give a validation message, so we are safe + # downstream. + app$set_module_input("add-MAE-subjects-var_to_add", "SEX") + app$wait_for_idle() + app$set_module_input("active-MAE-subjects-MAE_SEX-inputs-selection", character()) + app$wait_for_idle() + + # Experiment selection is not affected by filtering + res <- app$get_active_module_input("my_experiment-name") + expect_identical(res, "hd2") + + res <- app$get_active_module_output("summary") + expect_match(res$message, "No genes or samples included in this experiment, please adjust filters") + app$click(sprintf("%s-%s", app$active_filters_ns(), "active-MAE-remove_filters")) + + # Same for filtering out all genes. + app$set_module_input("add-MAE-hd2-row_to_add", "chromosome") + app$wait_for_idle() + app$set_module_input( + "active-MAE-hd2-MAE_chromosome_hd2_subset-inputs-selection_open", TRUE, + allow_no_input_binding_ = TRUE + ) + app$set_module_input("active-MAE-hd2-MAE_chromosome_hd2_subset-inputs-selection", character(0)) + app$set_module_input( + "active-MAE-hd2-MAE_chromosome_hd2_subset-inputs-selection_open", FALSE, + allow_no_input_binding_ = TRUE + ) + app$wait_for_idle() + + # Experiment selection is not affected by filtering + res <- app$get_active_module_input("my_experiment-name") + expect_identical(res, "hd2") + + res <- app$get_active_module_output("summary") + expect_match(res$message, "No genes or samples included in this experiment, please adjust filters") + + # return to initial situation + app$click(sprintf("%s-%s", app$active_filters_ns(), "active-MAE-remove_filters")) + app$wait_for_idle() + + # Experiment selection is not affected by removing filters + res <- app$get_active_module_input("my_experiment-name") + expect_identical(res, "hd2") + + res <- app$get_active_module_output("summary") + expect_match(res, "HermesData object with 9 samples of 2500 genes") + + app$stop() +}) + +# nolint end diff --git a/tests/testthat/test-shinytest2-forest.R b/tests/testthat/test-shinytest2-forest.R new file mode 100644 index 00000000..c3bd9139 --- /dev/null +++ b/tests/testthat/test-shinytest2-forest.R @@ -0,0 +1,100 @@ +# ui_g_forest_tte ---- + +test_that("e2e: tm_g_forest_tte initializes without errors and snapshot test", { + data <- within(teal_data(), { + ADTTE <- teal.modules.hermes::rADTTE %>% # nolint + dplyr::mutate(is_event = .data$CNSR == 0) + MAE <- hermes::multi_assay_experiment # nolint + }) + datanames <- c("ADTTE", "MAE") + datanames(data) <- datanames + join_keys(data)["ADTTE", "ADTTE"] <- c("STUDYID", "USUBJID", "PARAMCD") + + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + tm_g_forest_tte( + label = "forest", + adtte_name = "ADTTE", + mae_name = "MAE", + .test = TRUE + ) + ), + load_timeout = 300000 + ) + + app$wait_for_idle(timeout = default_idle_timeout) + app$expect_no_shiny_error() + + app$expect_screenshot(name = "app") + app$stop() +}) + +# tm_g_forest_tte ---- + +# nolint start + +test_that("e2e: tm_g_forest_tte module works as expected in the test app", { + skip_if_covr() + skip_if_too_deep(5) + + data <- within(teal_data(), { + ADTTE <- teal.modules.hermes::rADTTE %>% # nolint + dplyr::mutate(is_event = .data$CNSR == 0) + MAE <- hermes::multi_assay_experiment # nolint + }) + datanames <- c("ADTTE", "MAE") + datanames(data) <- datanames + join_keys(data)["ADTTE", "ADTTE"] <- c("STUDYID", "USUBJID", "PARAMCD") + + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + tm_g_forest_tte( + label = "forest", + adtte_name = "ADTTE", + mae_name = "MAE", + .test = TRUE + ) + ), + load_timeout = 300000 + ) + + app$wait_for_idle(timeout = 20000) + + + # check initialization + res <- app$get_active_module_input("experiment-name") + expect_identical(res, "hd1") + + res <- app$get_active_module_output("table") + expect_identical( + res$message, + "No assays eligible for this experiment, please make sure to add normalized assays" + ) + + # Choose another experiment. + app$set_module_input("experiment-name", "hd2") + + res <- app$wait_for_value(input = ns("assay-name")) + expect_identical(res, "cpm") + + # Choose a gene signature. + app$set_module_input("genes-genes", c("GeneID:101927746", "GeneID:1820")) + + res <- app$wait_for_value(output = ns("plot-plot_out_main")) + expect_identical(res$message, "please select an endpoint") + + # Choose an endpoint. + app$set_module_input("adtte-paramcd", "PFS") + + app$wait_for_idle() + res <- app$get_active_module_output("table") + expect_snapshot( + cat(res) + ) + + app$stop() +}) + +# nolint end diff --git a/tests/testthat/test-shinytest2-geneSpec.R b/tests/testthat/test-shinytest2-geneSpec.R new file mode 100644 index 00000000..5a020037 --- /dev/null +++ b/tests/testthat/test-shinytest2-geneSpec.R @@ -0,0 +1,151 @@ +# nolint start +test_that("geneSpec module works as expected in the test app", { + skip_if_covr() + skip_if_too_deep(5) + + ui <- function(id, funs) { + ns <- NS(id) + teal.widgets::standard_layout( + encoding = tags$div( + geneSpecInput( + ns("my_genes"), + funs = funs, + label_funs = "Please select function" + ) + ), + output = textOutput(ns("result")) + ) + } + + server <- function(id, + data, + funs) { + moduleServer(id, function(input, output, session) { + gene_choices <- reactive({ + mae <- data()[["MAE"]] + object <- mae[[1]] + gene_ids <- rownames(object) + gene_names <- SummarizedExperiment::rowData(object)$symbol + gene_data <- data.frame( + id = gene_ids, + name = gene_names + ) + gene_data[order(gene_data$name), ] + }) + gene_spec <- geneSpecServer( + "my_genes", + funs = funs, + gene_choices = gene_choices + ) + output$result <- renderText({ + validate_gene_spec( + gene_spec(), + gene_choices()$id + ) + gene_spec <- gene_spec() + gene_spec$get_label() + }) + }) + } + + funs <- list(mean = colMeans) + + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + teal::module( + label = "GeneSpec example", + server = server, + server_args = list(funs = funs), + ui = ui, + ui_args = list(funs = funs), + datanames = "all" + ) + ), + load_timeout = 300000 + ) + + app$wait_for_idle(timeout = 20000) + + res <- app$get_active_module_input("my_genes-genes") + expect_null(res) + + res <- app$get_active_module_output("result") + expect_identical(res$message, "please select at least one gene") + + # Set genes manually. + selected_genes <- c( + "GeneID:10061", "GeneID:28", "GeneID:47", "GeneID:8310", + "GeneID:52", "GeneID:88", "GeneID:11096" + ) + + app$set_module_input("my_genes-genes", selected_genes) + app$wait_for_idle() + + # See that now the first function is selected. + res <- app$get_active_module_input("my_genes-fun_name") + expect_identical(res, "mean") + + # Get the expected result. + res <- app$get_active_module_output("result") + expect_identical(res, "mean(ABCF2, ABO, ..., ADAMTS5)") + + # Add chromosome filters for the first experiment. + app$set_module_input("add-MAE-hd1-row_to_add", "chromosome") + + # Lock the gene selection. + app$set_module_input("my_genes-lock_button", TRUE) + app$wait_for_idle() + app$set_module_input( + "active-MAE-hd2-MAE_chromosome_hd1_subset-inputs-selection_open", TRUE, + allow_no_input_binding_ = TRUE + ) + app$set_module_input("active-MAE-hd1-MAE_chromosome_hd1_subset-inputs-selection", c("1", "2")) + app$set_module_input( + "active-MAE-hd1-MAE_chromosome_hd1_subset-inputs-selection_open", FALSE, + allow_no_input_binding_ = TRUE + ) + app$wait_for_idle() + + # Confirm that gene selection was not changed. + # Note: Due to sorting by gene name the order might not be the same. + res <- app$get_active_module_input("my_genes-genes") + expect_set_equal(res, selected_genes) + + res <- app$get_active_module_output("result") + expect_identical( + res$message, + "5 genes (GeneID:10061, GeneID:28, ..., GeneID:11096) not included, please unlock or change filters" + ) + + # Unlock the gene selection. + app$set_module_input("my_genes-lock_button", FALSE) + app$wait_for_idle() + + # Check that gene selection was reduced accordingly. + res <- app$get_active_module_input("my_genes-genes") + expect_set_equal(res, c("GeneID:52", "GeneID:88")) + expect_subset(res, selected_genes) + expect_length(setdiff(selected_genes, res), 5) + + # Get the expected result. + res <- app$get_active_module_output("result") + expect_identical(res, "mean(ACP1, ACTN2)") + + # Remove the filter. + app$click(sprintf("%s-%s", app$active_filters_ns(), "active-MAE-hd1-MAE_chromosome_hd1_subset-remove")) + + # Select a gene via text input. + app$click(ns("my_genes-text_button")) + app$wait_for_idle() + app$set_module_input("my_genes-gene_text", "GeneID:10061; GeneID:28") + app$click(ns("my_genes-ok_button")) + app$wait_for_idle() + res <- app$get_active_module_input("my_genes-genes") + expect_set_equal(res, c("GeneID:10061", "GeneID:28")) + + app$stop() +}) + +# nolint end diff --git a/tests/testthat/test-shinytest2-km.R b/tests/testthat/test-shinytest2-km.R new file mode 100644 index 00000000..d4abe10c --- /dev/null +++ b/tests/testthat/test-shinytest2-km.R @@ -0,0 +1,101 @@ +# ui_g_km ---- + +test_that("e2e: tm_g_km initializes without errors and snapshot test", { + data <- teal_data() + data <- within(data, { + ADTTE <- teal.modules.hermes::rADTTE %>% # nolint + dplyr::mutate(is_event = .data$CNSR == 0) + MAE <- hermes::multi_assay_experiment # nolint + }) + datanames <- c("ADTTE", "MAE") + datanames(data) <- datanames + join_keys(data)["ADTTE", "ADTTE"] <- c("STUDYID", "USUBJID", "PARAMCD") + + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + tm_g_km( + label = "kaplan-meier", + adtte_name = "ADTTE", + mae_name = "MAE", + .test = TRUE + ) + ), + load_timeout = 300000 + ) + + app$wait_for_idle(timeout = default_idle_timeout) + app$expect_no_shiny_error() + + app$expect_screenshot(name = "app") + app$stop() +}) + +# tm_g_km ---- + +# nolint start + +test_that("e2e: tm_g_km module works as expected ", { + skip_if_covr() + skip_if_too_deep(5) + + data <- teal_data() + data <- within(data, { + ADTTE <- teal.modules.hermes::rADTTE %>% # nolint + dplyr::mutate(is_event = .data$CNSR == 0) + MAE <- hermes::multi_assay_experiment # nolint + }) + datanames <- c("ADTTE", "MAE") + datanames(data) <- datanames + join_keys(data)["ADTTE", "ADTTE"] <- c("STUDYID", "USUBJID", "PARAMCD") + + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + tm_g_km( + label = "kaplan-meier", + adtte_name = "ADTTE", + mae_name = "MAE", + .test = TRUE + ) + ), + load_timeout = 300000 + ) + + app$wait_for_idle(timeout = 20000) + + + # Check initial state of encodings. + res <- app$get_active_module_input("experiment-name") + expect_identical(res, "hd1") + + res <- app$get_active_module_output("plot-plot_out_main") + expect_identical(res$message, "No assays eligible for this experiment, please make sure to add normalized assays") + + # Choose another experiment. + app$set_module_input("experiment-name", "hd2") + app$wait_for_idle() + + res <- app$get_active_module_input("assay-name") + expect_identical(res, "cpm") + + # Choose a gene signature. + app$set_module_input("genes-genes", c("GeneID:10061", "GeneID:28")) + app$wait_for_idle() + + # Choose an endpoint. + res <- app$get_active_module_output("table") + expect_identical(res$message, "please select an endpoint") + app$set_module_input("adtte-paramcd", "PFS") + app$wait_for_idle() + + res <- app$get_active_module_output("table") + expect_snapshot( + cat(res) + ) + app$stop() +}) + +# nolint end diff --git a/tests/testthat/test-pca.R b/tests/testthat/test-shinytest2-pca.R similarity index 91% rename from tests/testthat/test-pca.R rename to tests/testthat/test-shinytest2-pca.R index 2ae584d2..b60b22e7 100644 --- a/tests/testthat/test-pca.R +++ b/tests/testthat/test-shinytest2-pca.R @@ -1,15 +1,18 @@ # ui_g_pca ---- -test_that("ui_g_pca creates HTML", { - mae_name <- "MyMAE" - data <- teal.data::teal_data(MyMAE = function() hermes::multi_assay_experiment) - result <- ui_g_pca( - id = "testid", - mae_name = mae_name, - pre_output = NULL, - post_output = NULL +test_that("e2e: tm_g_pca initializes without errors and snapshot test", { + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + tm_g_pca( + label = "pca", + mae_name = "MAE", + .test = TRUE + ) + ), + load_timeout = 300000 ) - testthat::expect_s3_class(result, "shiny.tag.list") }) # pca Server ---- @@ -20,17 +23,21 @@ test_that("pca module works as expected in the test app", { skip_if_covr() skip_if_too_deep(5) - app <- AppDriver$new( - app_dir = test_path("pca"), - name = "pca", - variant = platform_variant(), - load_timeout = 300000, - seed = default_app_seed + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + tm_g_pca( + label = "pca", + mae_name = "MAE", + .test = TRUE + ) + ), + load_timeout = 300000 ) app$wait_for_idle(timeout = 20000) - # Check initial state of encodings. res <- app$get_active_module_input("experiment-name") expect_identical(res, "hd1") diff --git a/tests/testthat/test-quality.R b/tests/testthat/test-shinytest2-quality.R similarity index 66% rename from tests/testthat/test-quality.R rename to tests/testthat/test-shinytest2-quality.R index 56b92ee4..ca409ac1 100644 --- a/tests/testthat/test-quality.R +++ b/tests/testthat/test-shinytest2-quality.R @@ -1,38 +1,47 @@ # ui_g_quality ---- -test_that("ui_g_quality creates expected HTML", { - mae_name <- "MyMAE" - set.seed(123) - data <- teal.data::teal_data(MyMAE = function() hermes::multi_assay_experiment) - expect_silent(result <- ui_g_quality( - id = "testid", - mae_name = mae_name, - pre_output = NULL, - post_output = NULL - )) - - expect_tag(result) +test_that("e2e: tm_g_quality initializes without errors and snapshot test", { + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + tm_g_quality( + label = "quality", + mae_name = "MAE", + .test = TRUE + ) + ) + ) + + app$wait_for_idle(timeout = default_idle_timeout) + app$expect_no_shiny_error() + + app$expect_screenshot(name = "app") + app$stop() }) # tm_g_quality ---- # nolint start -test_that("quality module works as expected in the test app", { +test_that("e2e: quality module works as expected in the test app", { skip_if_covr() skip_if_too_deep(5) - app <- AppDriver$new( - app_dir = test_path("quality"), - name = "quality", - variant = platform_variant(), - load_timeout = 300000 + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + tm_g_quality( + label = "quality", + mae_name = "MAE", + .test = TRUE + ) + ) ) app$wait_for_idle(timeout = 20000) - - # Check initial state of encodings. res <- app$get_active_module_input("experiment-name") expect_identical(res, "hd1") diff --git a/tests/testthat/test-shinytest2-sampleVarSpec.R b/tests/testthat/test-shinytest2-sampleVarSpec.R new file mode 100644 index 00000000..058d7d99 --- /dev/null +++ b/tests/testthat/test-shinytest2-sampleVarSpec.R @@ -0,0 +1,159 @@ +# sampleVarSpecServer ---- + +test_that("sampleVarSpecServer only gives atomic columns with at least one value in col_data_vars", { + object <- hermes::hermes_data + new_col_data <- S4Vectors::DataFrame( + ok = rep("a", ncol(object)), + ok_too = c(NA, rep("b", ncol(object) - 1)), + all_na = NA, + row.names = colnames(object) + ) + new_col_data$non_atomic_col <- S4Vectors::DataFrame(a = 1, b = 2) + SummarizedExperiment::colData(object) <- new_col_data + + experiment_name <- reactiveVal("bla") + original_data <- reactiveVal(object) + testServer( + sampleVarSpecServer, + args = list( + experiment_name = experiment_name, + original_data = original_data + ), + expr = { + col_data_vars <- col_data_vars() + expect_set_equal(col_data_vars, c("ok", "ok_too")) + expect_disjunct(col_data_vars, c("non_atomic_col", "all_na")) + } + ) +}) + +test_that("sampleVarSpecServer only gives factor columns in col_data_vars when categorical_only", { + object <- hermes::hermes_data + SummarizedExperiment::colData(object) <- S4Vectors::DataFrame( + char = rep("a", ncol(object)), + num = 1, + fac = factor("a"), + row.names = colnames(object) + ) + + experiment_name <- reactiveVal("bla") + original_data <- reactiveVal(object) + testServer( + sampleVarSpecServer, + args = list( + experiment_name = experiment_name, + original_data = original_data, + categorical_only = TRUE + ), + expr = { + col_data_vars <- col_data_vars() + expect_identical(col_data_vars, "fac") + expect_disjunct(col_data_vars, c("char", "num")) + } + ) +}) + +# nolint start + +test_that("sampleVarSpec module works as expected in the test app", { + skip_if_covr() + skip_if_too_deep(5) + + ui <- function(id) { + ns <- NS(id) + + teal.widgets::standard_layout( + encoding = tags$div( + uiOutput(ns("experiment_ui")), + sampleVarSpecInput(ns("facet_var"), "Select variable") + ), + output = verbatimTextOutput(ns("summary")) + ) + } + + server <- function(id, + data, + filter_panel_api) { + moduleServer(id, function(input, output, session) { + output$experiment_ui <- renderUI({ + experimentSpecInput(session$ns("experiment"), data, "MAE") + }) + experiment <- experimentSpecServer( + "experiment", + data, + filter_panel_api, + "MAE" + ) + facet_var_spec <- sampleVarSpecServer( + "facet_var", + experiment_name = experiment$name, + original_data = experiment$data + ) + output$summary <- renderPrint({ + experiment_data_final <- facet_var_spec$experiment_data() + facet_var <- facet_var_spec$sample_var() + req(facet_var) + facet_col <- SummarizedExperiment::colData(experiment_data_final)[[facet_var]] + summary(facet_col) + }) + }) + } + + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + teal::module( + label = "sampleVarSpec example", + server = server, + ui = ui, + datanames = "all" + ) + ) + ) + + app$wait_for_idle(timeout = 20000) + + + # Initially no variable is selected. + res <- app$get_active_module_input("facet_var-sample_var") + expect_null(res) + + # Select a variable. + app$set_module_input("facet_var-sample_var", "AGE18") + app$wait_for_idle() + + # Check the output and which levels are reported there. + res <- app$get_active_module_output("summary") + expect_match(as.character(res), " < 18 >= 18 \n 4 1 ") + + # Filter panel works as expected + app$set_inputs("teal-main_ui-filter_panel-add-MAE-subjects-var_to_add" = "AGE18") + app$wait_for_idle() + app$set_inputs("teal-main_ui-filter_panel-active-MAE-subjects-MAE_AGE18-inputs-selection" = "< 18") + app$wait_for_idle() + + res <- app$get_active_module_output("summary") + expect_equal(res, "< 18 \n 4 ") + + app$click("teal-main_ui-filter_panel-active-MAE-subjects-MAE_AGE18-remove") + res <- app$get_active_module_output("summary") + expect_equal(res, " < 18 >= 18 \n 4 1 ") + + # Now click on the levels button, set combination and click ok. + app$click(ns("facet_var-levels_button")) + + # Click on second column in both rows. + app$wait_for_idle() + app$set_module_input("facet_var-comb_assignment", list("< 18" = "2", ">= 18" = "2")) + app$wait_for_idle() + app$click(ns("facet_var-ok")) + app$wait_for_idle() + + # Check the output and which levels are reported there. + res <- app$get_active_module_output("summary") + expect_match(res, "< 18/>= 18 \n 5 ") + app$stop() +}) + +# nolint end diff --git a/tests/testthat/test-scatterplot.R b/tests/testthat/test-shinytest2-scatterplot.R similarity index 71% rename from tests/testthat/test-scatterplot.R rename to tests/testthat/test-shinytest2-scatterplot.R index 4b2fc9d5..90c686aa 100644 --- a/tests/testthat/test-scatterplot.R +++ b/tests/testthat/test-shinytest2-scatterplot.R @@ -1,41 +1,52 @@ # ui_g_scatterplot ---- -test_that("ui_g_scatterplot creates expected HTML", { - mae_name <- "MyMAE" - set.seed(123) - data <- teal.data::teal_data(MyMAE = function() hermes::multi_assay_experiment) - expect_silent(result <- ui_g_scatterplot( - id = "testid", - mae_name = mae_name, - summary_funs = list( - Mean = colMeans +test_that("e2e: tm_g_scatterplot creates expected HTML", { + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + app <- teal:::TealAppDriver$new( + data = teal_data(MAE = helios::large_helios_data), + modules = teal::modules( + tm_g_scatterplot( + label = "scatterplot", + mae_name = "MAE", + .test = TRUE + ) ), - pre_output = NULL, - post_output = NULL - )) + load_timeout = 300000, + seed = default_app_seed + ) + + app$wait_for_idle(timeout = default_idle_timeout) + app$expect_no_shiny_error() + + app$expect_screenshot(name = "app") + app$stop() - expect_tag(result) }) # tm_g_scatterplot ---- # nolint start -test_that("scatterplot module works as expected in the test app", { +test_that("e2e: scatterplot module works as expected", { skip_if_covr() skip_if_too_deep(5) - app <- AppDriver$new( - app_dir = test_path("scatterplot"), - name = "scatterplot", - variant = platform_variant(), + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + app <- teal:::TealAppDriver$new( + data = teal_data(MAE = helios::large_helios_data), + modules = teal::modules( + tm_g_scatterplot( + label = "scatterplot", + mae_name = "MAE", + .test = TRUE + ) + ), load_timeout = 300000, seed = default_app_seed ) app$wait_for_idle(timeout = 20000) - # check initialization res <- app$get_active_module_input("experiment-name") expect_identical(res, "hd1") diff --git a/tests/testthat/test-volcanoplot.R b/tests/testthat/test-shinytest2-volcanoplot.R similarity index 58% rename from tests/testthat/test-volcanoplot.R rename to tests/testthat/test-shinytest2-volcanoplot.R index badd838a..5cda889b 100644 --- a/tests/testthat/test-volcanoplot.R +++ b/tests/testthat/test-shinytest2-volcanoplot.R @@ -1,15 +1,25 @@ # ui_g_volcanoplot ---- -test_that("ui_g_volcanoplot creates expected HTML", { - mae_name <- "MyMAE" - data <- list(MyMAE = function() hermes::multi_assay_experiment) - expect_silent(result <- ui_g_volcanoplot( - id = "testid", - mae_name = mae_name, - pre_output = NULL, - post_output = NULL - )) - expect_tag(result) +test_that("e2e: tm_g_volcanoplot creates expected HTML", { + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + tm_g_volcanoplot( + label = "volcanoplot", + mae_name = "MAE", + .test = TRUE + ) + ), + load_timeout = 300000, + seed = default_app_seed + ) + + app$wait_for_idle(timeout = default_idle_timeout) + app$expect_no_shiny_error() + + app$expect_screenshot(name = "app") + app$stop() }) # tm_g_volcanoplot ---- @@ -20,10 +30,16 @@ test_that("volcanoplot module works as expected in the test app", { skip_if_covr() skip_if_too_deep(5) - app <- AppDriver$new( - app_dir = test_path("volcanoplot"), - name = "volcanoplot", - variant = platform_variant(), + data <- teal.data::teal_data(MAE = hermes::multi_assay_experiment) + app <- teal:::TealAppDriver$new( + data = data, + modules = teal::modules( + tm_g_volcanoplot( + label = "volcanoplot", + mae_name = "MAE", + .test = TRUE + ) + ), load_timeout = 300000, seed = default_app_seed ) diff --git a/tests/testthat/volcanoplot/app.R b/tests/testthat/volcanoplot/app.R deleted file mode 100644 index 2b544400..00000000 --- a/tests/testthat/volcanoplot/app.R +++ /dev/null @@ -1,3 +0,0 @@ -library(teal.modules.hermes) - -sample_tm_g_volcanoplot(.test = TRUE) From 0388ee4bcff74a0f70a5c3ab69025b64477aa604 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 29 Mar 2024 20:20:15 +0530 Subject: [PATCH 3/3] replacing wait_for_value with wait_for_active_module_value. and adding screenshot call --- .../windows-4.3/barplot/barplot-001.png | Bin 8561 -> 0 bytes .../windows-4.3/boxplot/boxplot-001.png | Bin 23333 -> 0 bytes .../windows-4.3/forest/forest_tte-001.png | Bin 8546 -> 0 bytes .../_snaps/windows-4.3/km/km-001.new.png | Bin 22933 -> 0 bytes .../testthat/_snaps/windows-4.3/km/km-001.png | Bin 23167 -> 0 bytes .../_snaps/windows-4.3/pca/pca-001.png | Bin 18520 -> 0 bytes .../_snaps/windows-4.3/pca/pca-002.png | Bin 29716 -> 0 bytes .../_snaps/windows-4.3/pca/pca-003.png | Bin 17123 -> 0 bytes .../_snaps/windows-4.3/pca/pca-004.png | Bin 29817 -> 0 bytes .../_snaps/windows-4.3/pca/pca-005.png | Bin 9036 -> 0 bytes .../_snaps/windows-4.3/pca/pca-006.png | Bin 177 -> 0 bytes .../_snaps/windows-4.3/pca/pca-007.png | Bin 15466 -> 0 bytes .../_snaps/windows-4.3/pca/pca-008.png | Bin 18648 -> 0 bytes .../_snaps/windows-4.3/pca/pca-009.png | Bin 23589 -> 0 bytes .../_snaps/windows-4.3/pca/pca-010.png | Bin 24611 -> 0 bytes .../windows-4.3/quality/quality-001.png | Bin 3036 -> 0 bytes .../windows-4.3/quality/quality-002.png | Bin 12670 -> 0 bytes .../windows-4.3/quality/quality-003.png | Bin 16619 -> 0 bytes .../scatterplot/scatterplot-001.png | Bin 22228 -> 0 bytes tests/testthat/test-barplot.R | 100 ------------------ tests/testthat/test-boxplot.R | 67 ------------ tests/testthat/test-shinytest2-adtteSpec.R | 1 + tests/testthat/test-shinytest2-barplot.R | 6 +- tests/testthat/test-shinytest2-boxplot.R | 3 +- tests/testthat/test-shinytest2-forest.R | 10 +- tests/testthat/test-shinytest2-km.R | 5 +- tests/testthat/test-shinytest2-pca.R | 51 +++------ tests/testthat/test-shinytest2-quality.R | 21 ++-- tests/testthat/test-shinytest2-scatterplot.R | 11 +- tests/testthat/test-shinytest2-volcanoplot.R | 6 +- 30 files changed, 36 insertions(+), 245 deletions(-) delete mode 100644 tests/testthat/_snaps/windows-4.3/barplot/barplot-001.png delete mode 100644 tests/testthat/_snaps/windows-4.3/boxplot/boxplot-001.png delete mode 100644 tests/testthat/_snaps/windows-4.3/forest/forest_tte-001.png delete mode 100644 tests/testthat/_snaps/windows-4.3/km/km-001.new.png delete mode 100644 tests/testthat/_snaps/windows-4.3/km/km-001.png delete mode 100644 tests/testthat/_snaps/windows-4.3/pca/pca-001.png delete mode 100644 tests/testthat/_snaps/windows-4.3/pca/pca-002.png delete mode 100644 tests/testthat/_snaps/windows-4.3/pca/pca-003.png delete mode 100644 tests/testthat/_snaps/windows-4.3/pca/pca-004.png delete mode 100644 tests/testthat/_snaps/windows-4.3/pca/pca-005.png delete mode 100644 tests/testthat/_snaps/windows-4.3/pca/pca-006.png delete mode 100644 tests/testthat/_snaps/windows-4.3/pca/pca-007.png delete mode 100644 tests/testthat/_snaps/windows-4.3/pca/pca-008.png delete mode 100644 tests/testthat/_snaps/windows-4.3/pca/pca-009.png delete mode 100644 tests/testthat/_snaps/windows-4.3/pca/pca-010.png delete mode 100644 tests/testthat/_snaps/windows-4.3/quality/quality-001.png delete mode 100644 tests/testthat/_snaps/windows-4.3/quality/quality-002.png delete mode 100644 tests/testthat/_snaps/windows-4.3/quality/quality-003.png delete mode 100644 tests/testthat/_snaps/windows-4.3/scatterplot/scatterplot-001.png delete mode 100644 tests/testthat/test-barplot.R delete mode 100644 tests/testthat/test-boxplot.R diff --git a/tests/testthat/_snaps/windows-4.3/barplot/barplot-001.png b/tests/testthat/_snaps/windows-4.3/barplot/barplot-001.png deleted file mode 100644 index e9866947fd4a6994e7e3372d3e580c2a6fa2419a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8561 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 Oz|L5stjbPYzV#nZ({~^M diff --git a/tests/testthat/_snaps/windows-4.3/boxplot/boxplot-001.png b/tests/testthat/_snaps/windows-4.3/boxplot/boxplot-001.png deleted file mode 100644 index 525004d9844f2ae4424654b8a151c0753d6cd968..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23333 zcmc$`bySpH)HghUfCAFp-4aUoz>o?GNOy`fNT-rRhf)dx14@^GARrwg;h-QO4N}t5 zQt!FE@B3Nn`PTRT`K@m)QJm{Kwa-3#|MqY1GcgaeRBz(Z;=y3Bo9b!^9T*H_4F<#X zxsC%qc`-_Y0{>t<(NR@|RSwgy!(hxXbp-sOU-ssVzu&{<4!O&-!St+t_AKY*YNceo z8`5FL<%^`)*cem@_^ls`TPAat#=%Zw7A4=8gUyI*8XuY{|8mv4W=la%PJ&QiX0e^S z)9>6rXuA@0#oZmj!Jc(zKRfG#{CLlpC-v|&i?HwTlh^w)sRPTYa0J3j!0y#<`=V-f zm;dkM^q7-xe4!nqgYGRKaIu?@F}nKleY0_~nPibY_d~G+2^u|5asB4MMz}{fRM<0Y zw_OUq_~K6)+BB~@y+0woi>XkxK%E#oVQ?LW6MxYa*SI{vc5>KEbJB%-f1z|V@neF3 z$a)Nt+j@+?yJ^S*mACS9C-8m`lldtbqsjSoA4}HDgU?K8r#as8KWjg8i;jBV=vH>3 z2`L|({ah@#x^xSY`DuTC^wm`6;%mw67E;~l>)fl9cykw`l(~O2t0evQ((I^X!~IcC4iodboT!p65To$HL`5rJK@&WT8(pl`Q zge0eM>05t$FIMizzmr7Sdgf%h?=N_u$bxtOrnk-YkY*o>sGUX%{MUjCw}{_`T}~38 z`+SJ~OapV2@7=F5i(D9pVkKmx5867-8=&ELU}be23L7+s;eGk7I^6kuEu0jx$*gdBE}APU{q~O)$#UPOnk=U9DM4=)y zYgP(tI2j2^3GqKo|37PzYHO6P9L>ziiu&&Ne;wTmg;kd^w-epBM8XgbTl11Sxd?F& zVJX3G;~Y~e7-@G9iA^M-U@gs?acx+mzSizokIK)-kjuUAMb7%v;(4jH5Vav1Z-H3+ z|JSAdk3d5>2hgKqnD6+dZjfjXev2Vg_?1^u7P&st!0a!Z?2RL0Do^z6KmcV!Lej%e zS%C;dDD|{xD$S_^j(?%|~|i&e0Ox zl*~+SDLfMGA|8EoNE_3Wl|c-cse1>u-(n2c{P9^$(5dIo<>iGGRYrKOT=0)ze*OM; z@kO~oq)WOLLXPzdflJ#o3N3r9^rC6pv&UUV7QE`DwiHC+JN08-)-{%Y4%Sfx#3bG? z+4&A~-oJZC`r*TeOd%`9{hAzUUshpZ5-eQ8?xiI8#AwEV;+a0J)x!X*hN(1UsiRgA z8JJ8*dOuZH-U9ivVZTKOxl~TguAzo$Rw=y5m@&u5f#t9-t7HruD>MW+iRL_r8osr~ zMQi7YY79Pu%5K5X)4TCZ@{Ey@k(qZM5gr7{HhFL07^P1I-%Dlp`)GbITY?1UzSl#w z^kMb2E^npd*!VbGkF&ibZhjd&>DQlt!Z&YX5*4jpym-Mbg^A(d=t#=I;>fL!W>Zb< z{*=N7#JJZ@cHeTk(WAY80iAv|m0}a{k#S?Z3Kw<_6JzxIcU}sE`rp5QC)?kCzm(=B zux!YY>iqQUK2K3ZH0wH#2CLl(+qS~A(h?M z&Te6%#)ewR688D?XDKfNt^p}YNg8B6%l5Bdj)i?Rh(4slx`#(`WvL1?F)>4ACnDVr z3?4G9r!cgy%bH-lRGeWEBB@_t94Wosh-F|AEDH7=Ny1j`vt`V0+DN>=`UUr?4^y08 zeSN*!H;pYnj-0#3*%mOd=dH`k3D#t!9#e-vQh3P|6%mrj4+H zmm$BbhL_cl=u>*3Q|oC*$H(LTeU+kSY76aDFZ5)^16^)>^Orx=aXfYft4}k7x(eF~ zxz}!a00TWRRk4=*4iqI-RjQ;+H982CR&;$I_Eeq z23XTPy>8bAwv^*s3Mm7ra#$7D;B8BqInm+q%21~QZq@}Vd;$$5)#_+NLF%uW94Z9Dtu!&WjKaF#$7K0 zR+N?%=zU;IB`i^CTBByo8(N?tSfEGK404sC&U(??7+7p&U>0HMu|J2?+Ahx2_xr2vafUIPYR@cfXM!cP5Rw8(l0+LL0Soz7-g`S(>Il}0}~d*#2|^|vK$h|~+)k;e1)HL3m^*Xeg>Gtz~`p724t;(a|#6Tu3z5Z{WUQ#Ka(z?krEQQ+pm*rx(F@Y9z zu6wdRQ<{#gT|0zitOm5xy=kV}9ckimBY**#5h=bgwyjZA*UVG)%ASfwL`4*&gFqaZ z2?+_ixR@}g8Pz>-MubtRV|md9iI8ahfoSL5C6c=z{O7FE+=p#i544ph;$~sH% zY|UB>xbU&BO9aK0#ecQr-$wa-Of`5V1UB@%WfI+BVUb{5Wq--r9|j+(*-`BFbmLjHqd9QZPg-0?X?l^0N4xk>oM^aFO=C zZt^;Ib@WDo8+RkBg+8l)4`qW8O<-qX>j(p8*w)q-nW)6VtPboQ!vGvxgqCoSm%|#* zINeS}49qp3+bCVz*eJ$z1}7$w^zgQ(2RApj!qw%4vT8oD5N*P4z{lOwAXGuO3>KA{ z4ngQB$)^SP_L&JJ0ij2rhBxq;dEng|Hv+NM8Ae$w zA>^I2`z)rv_=J z7sNi1N86|-#e(^Hne#hfBr?jz;-@~(TmJ56CH~2}wN9xQ72vX*$}o(i=HsR20~>zEBZI%{sHFJ?=diW;?)@HE;g<^$P(yl;WcFq6WAN3pWHIwj+;EQ8Z%t z!0~p-`JO7YEyFR`3@RKP9AMc(%ptno)Xr<4VLS4I>98X5|Z?KqspUP0RNs3(l@xdQXk3wiqX;-Bmz z+Si||m-V1W$v3AOAgqk4wT4HlgH0_|fEi6&>ximwWmX?gx&0L$2S$w^*{~W2(}5-l2YDS40ezm#6UG!#n`Vag!K( z8p+GnxJScq+A~LOHz#XV|9ft^Gy8Gvk*4B1xS$kXj=f?kcA(ETIZ&uI0# zb<&26hXrxE&pme6v>QzYAUPRZ!J~mCYHyee3g0W~M-`xr*y#?|+%!9V=YqK)!@$SC zMm#Vygnh0_{i2=Ep}t8(5~EpiP!qx16-HQ7<+I(*QPLmOqS3?omUHQqTidg_9V*Ce z)8I>Wx6ZaQWW04h6cXKdB;17>TZA1WIaw*dm=7L5=HV?Z6OKwUD0z8p{_6|&ppQ1u zkd%iE(JXaOR<+{q-;acMEx6Rb%1)2Zk#7B2YKgqRQ2R;iwdu4-QzxkABooC{A4;47k+VLQ)A$AdS zop?&pAHxlK{z$3E?kzN5oM*x;rUM1*S~TH^u zPskflPP9HD7oswZN&hw8JG+>8_n6GyOC1P|9R1B1;TA_@5qeSo-wTrsZcO)RZz!db zf>lKhs?}TXujWFBOgI+1B3W}|e5v%n*4adHPzM&yf^2v%q)p&tPgKM(ghnYThbr5`Yxirk+z#7+3 zal6fP7g{Bav8O-hu6iTlz1V*>uH3C_YI5RbJhf&^pYdf9p`E4BVXM%`kL&3)`}B~R z_&PF?Sd`o;&1LHSLeoa2QbeEaX^ffUeJG*bvQ41~|5&OfR#zBRv9{9^T`*w;>lmNNK|B4l}w zSwKL`i=H(WBbA;-+-1}Ud+YejW8>W4&-#G{f%?y1RyFg(!SV}D(mS0$`=0~k@XfG7 zAJ{c0gzT_Xu(n14#P}>DB&W`I$J|ha6sI=ZrdRK=>7VDw&S>lzb&H@&$;x|o7rwq0 zwlyAqxOugwI^hf*X>OeAJn4=tADeOUIZK?};6xtv0NGwI^`7syO#YtT_OR^;pqkcs zq9j?I0$Vgr_JzhZF~E$F$vxeO5e4N-x~8(NXuu zU#Ka8uksuhah|PH2j)B0lYfoy$9r$SULW;kFqh3(5x(~!H7Nrcq}pmVdD0FWy*D$5 z7q&9RZuj6>D6tVT$?*fLq$~_N1c7*7aUB8KHytpqXCkn-Z@FxyR)!#5C%1w7wu1=^ z3Cm)u+`5{yo;eWUnP~Oq^WA1aC0l)~d(J;F@qQiu-qNlZ26c8Otl--DZWj^M^o2FN zK^G3kaCCGMPQ=!PvBPwAD<+1O?;^PohUl$><)f`e{v2t8kuPt7P=*<#0V@KWJc_&f z{o^7*akt)45p&sZUvSvF+05BIGG8GT!?0%vv9Ym>YsRd-JX6=W3t35@_Lt~yPQ2HI zB%sK@=5yk>s%4s*-nrl+)m3;v9#n6G`{)T-%Ho8?*6!H*ibk18gD+lh;Wzfs@ZJK7ZCAPk-TgB$kt=lIs3ggS7QWjS|%9ZT_|WiFzk0l{ZD5g=4^^@OnQk zrLYJ+eX~Z5Ah$C_ukH;cGBk?xvr6HVOt?F-Iy#F1c_M-B(T>2LiHeHCId@+p?%m(x zbqt3WbW9vP45|%mfDE6qA=+gE;D-PXPG(u4q~tmu?v_&q)jlbLy8ipLHc-5ms}~qT z5=+xq3fv@mxQ$H#)RqHkd$!d;odGSitxf_ffZfo2z8wQnJdNtSFZn1GX8oaeV=`HH zaZWFL@6wrUAY}5mJHq6mciOHPCreCaAOR9(49WxOU^0cCldv^P;&?wbD(ZRq!ge;AlT{gvh61B$Wzb=fNrbQ3(yc&ifc+x3640og@4GkySO&%29wry3giC0d+0QM7qnsC) zN}6n7c)eU5WJ6kHR~9EKk+ou8ilCCy;_%?+cSl048#8(V9}k`^Wq> z{Nrd&R9;Qq{pY#4N#xIO=!ctok;gv3(!}|BdGH((=7J%*sDEIf3s%Xf0;kS&=-8XK z0YFVV!UmqpDKAKM;eU7!{wY?xptyzppWqfS8f)LkSC;d0d-%chs%^s=DV69oG&CTU z0mO!!CR|(iPxq6U`*>Qp5q{(p6cE7z*pZpAsV$Y9fymePlp@$g4I@v%BuTKJVb3T6 zu<~_j2)RV4PhPl4h(vMxhpW2Luk<%<5HGu!$`Q zws0%f`#I*c??OE$3wW2MnXGzae8#(ERmlBPBbFS4yRO z>ctNVUn06_l?uv!b0V>zTI?BGIz%6yw38`BW=ka)pl?acxEdauXK@&Y(!WR`Ew~{X zfc1NjQfAV(dQDA{eXY)2D(A19fi0N#5@&|@g%PG#^;Ey-S9d^;#Q0L?5V|&)K+Ao= zzxEsi`hBb6JSqbS^-!53w%alZYR;8PAXqKW~WUdaOn0(zi0BgBPg~SH;JQN{r16M5nT| z$jQmsu8uoi-3e^wVeZO{85*lnGtz|J#RVb_jadqnnVCiQl9h*@B zqhw6Six5M8%D(~v`>l3Yv#0wh6$gI9R)bJ*MY zYqm6ry(;WnTyel`k;K}3xK(IpoA-GMgpw$Qk5xBr1IP{$bYA$6&6@JEpLeTaEGIA) z8a;1(aD&8~wk@y@UGHS@;y2z)@&`ZA$an!W$kc#S;+hXo4Y#*Aq>g!o`6OAg0Z_;Y z9TUX{*O>aKiqlA~HmdZ0g0OBb(lHFuHfH*&5aE8~v zH4y#I=6Cqj0((m4BMnG!Hpp5CQ64=0bCVib&_bjM=k^o@aEeV<)(o=W&@nazEN^0? zEXwA=wX^bJI2YufM5HN{qKwV;jF4ty1 zN)OtTg}jpn8+Lua;#%xFzfo9s<+xzRoE#bLcfLHfunSJKyDzCm(H)G#75t9M!gmxHqFd^sj z8(mQZ9m9?wKqbd$!Jug_bD@?GY5C95G}`{Qb*`CI?#sKrtC?`q?AurL$3WkIJu$kHq0U;dSVcDLq6g_-$$0&X8Xv)o|GvWq-oz!>i z3BFfZ5WyTA901CaSQ;M?Y@0qm#(D;Odq0=3s^QRO5Td}1jEvT1n#I3Yn$bli{hszx zoHJWaO-&W@npbcxDeo!YHdF3nN&9^bbHdyxe3es^lp&J4wB>j<(D0q@jo1DwH0N7x zp-zX7l4OslLBe1cAXOF~o*SZ~qM6dZ0_FOAQ8($LUdslu3JUI&uU1r5^@U;MgE;I+ zzt2p7>T;v)694RYCt9VTgCoNv&!4Yo&xwseHOee%P|Md^5u;9zr7 z*NYrg{QG1n$p%nRpN5B{29_N|6g$_wtd~Ehar5&>sO;xHn+NBv+^m@r;20P>=-k=d zZvk88Y_qm;A&SnJVcbCky>WJfT1L>;=JGDji*&*Wg^QJ=wn#W(M?(!qqBzVpi*pp}yE3$$$>pP86VhWuGC8sd<# zAEbsUw1r%N#F)v&udyeI!732ByKH-}S~= z+v`89i)?)673K|;NPYesc>Gvexm=wQdX1^2HUIJOyGf00Kk4ZB)#{n2k`mTz;Err}PmlMXVAVwWm^40v&ZWKf)qSh6 zQax&M*KBJh1J#%Ke``eTK+^cw?fb+k~s-i$#;^QM$T3T9dH$XX0f1F2k%XoCf*%+^+gs{o5f#;g?63|9PpD=5guXU;^-xia zp$d`}UMs+u()E^_CTst~{@$={n0l&vSBt-)u5l!?(c?Z#O=~$`)=ab2r(~A@f)Vta z40AkO_8?tdz$@J#PPQxODeK%k6$c4Lgm$8nhi|f0QP<5UtBXTKbA62u%hn{w?WIdy zcKdp)faw9fDBl7ZDTU-G!GE1~xOEm{p2CaE)PGD*;+OkE@(d4%fKv$OnK&piW!*xG z^m$lOM|-D1kNCe$j#z}WSsX-@h=gRUUwhskktII;R6KS77;B+FmG22D0 z6Uz{tBl6@s|7J;vQsp-e&}F|<57Z&!LBPlVUU-q5{B*;9xZ5eRB{mWJ%=u7aWWHl; z+!S(YJ=ZC{h+Q-9;5Iuse|pjch9C}nQ;b==IvfcBf=HzGHGHY->gwu^t}FLibRGhR zDH7c(CHF-Gr^{fVpPct!#}5wPbDnyCi+#r* z9CYTP);*OV6W!p&+2l`Ec5b|H{L{?Hz1^K zF6qtP3{=bcs!7IN=#}ht^Nt+7dLt%F}V(|4H+)zG#K=>$H`X=1u zkdyapT)mUx-lT-fEV=n~94le!#>_%^veb!08vg(w?%U-r_lO3wC2RF)oJ45L4Qntb zCntycRFW7I>;}@ov0bWc-qtx-l4PQ+!>r7erNiA4IDf$9Dt%AKTp@i=$BM@F!`6GG z#qLvX+D{%TYP4Hla79RM)qkNS^{dPiXztjzFSuI*Q~c@ECx^>B>Z!~*KCR;xp$v55 zt`U7p9d`vkM!0XI2gCHAPCECtymIUP9Hvt_!l3;A;rI5Ev4vQgI{^E$!Za^%Q6+Z` zt}Wh5CL>*-@x6iWP!8X2+1CpC-OmNAcjLv;l(zo&BYM{8E{u=nL>2lVJ3{I@9Mk&}3pMO+f55+3!+HTt0iZg-#3ckdug z%mkHiU?&SguP(P}-?i=!OQ$@49^MsAv{XNCj=#YhmP$X&gc}CztW`r<;C275KZkx- zV+Omu#rbF-_ld~S<%>nnpy{=~TEW&&cCu_w{~sBCc1}(lZ^BnYlm|LF05Sl-1J6+s z30c)f*R6kJ;b32^eWx*^&3#>yVjXLC5I~h2}MUK1GO?d=2wW}Wl zmIu`4kz?W9>;%>nI@8o|4dDj*`imKD=Ny!`j3WwElQ6k*c>@18&o)-9U4WM6!*}!8 zOGQ3h-&?fcpfGH)je*X|5;@n8#_F@kSzHM{QO9xa689Dp>|kM-)A7zR$H_jZg2L%FvVZ@Ni5m-BADw6*~A47g??dMP17O-b00~VKIz)xe`x=b;? zw5dPN1i}OBfx*_-*GWW`_7edERUtkTF-fydo$Wxv5IwAfv+Eop?E2A#g`e^+BDjJi zZ+v59bd>yH&;su@DH&hdiK$B0qGBw?0dN(aCCCon-3>i%zE^?15{#YKYSSB zz46@&_^bs@nr8;+qRr_KWP%qvSJp$Bah9XMOTK4fQsjuDtT-WAL4i6KsWiBOX3}jb%sJ?wdGFGR}Jn$F0G8_9VW|It8&RMBmBN ztop0c-vK4o`@z4)Anjv0m??ZR-gX&zy1&XMC&&2a4gbr;WcC|((*=57qC8)S?#{mb zQT|D=_h8*1&&^`^Jy$Gw!aMq-gc!_cFd+N!^E1Hn+QvY6ftYw}RYiZSLn_;k&j$L5m|U zO}k*MhVaTKk9gSt`rJtdD}RfBtnT|C(tpl&+WLZzXQG$-l5D_cu=vl3;s06AuuuVD z3vh4p%wPrfwKSkqhX9P^yU`grvEy!)Q~^j4%=rwv^PN4`=~h4CTz}43V(A=LXU`^W zP<29P&UE?Ed~AVlUDWBjB|wrBpk@Xz15cj^%Fz)-tymPf!AnLQs;ztQY#%)mXQGo0 z5J|sff>S#=U1?S$RWKAb+}{t^($d;5)exWYBI`|Lpi5;Q8MdyO2b$e|wL+24b6bo! z&T%K>p~CYQ5qwom09Ud)7IiTSn%?3}62-Cg12tt{v%voY^#aiWgkc~S8B|ZnYmEyOPLXkGbpt%_-p`R?x!4^8A!hJjoU*Y} zKcu1XMJyk2Mry2Y+`!bHBOV2Svj%t?djn@7T{ERf)=x4{tX~hM)|gp9GA_c8ES@2I z8mN?;bx$lsrpRMbkaSGR%8F5rqlBj~uULR>UX@MiS^z~x(fVb|fO1!d=N<}|DKNuw zzeHyPV0XUPSJ4{N)6>Jlh>~RmkG?TTdR`+s-}W`Uv%*@~yZ0=F3 zW1io8!hDC<4{h`bLt#$8HmOM;wR2GJOHw_<>#@-vNWazf=S*%JL5=_}!ZG8f$3aDA;;cY`l4kK6i&bEJiBdI{FN{Nhp~z9_EcW^wy7?L21Ad|9VL!`yX|WhrXfJjU*){(d--x7pZuF=~w*tC0g&a z=VZ(+mGS`Ow&H;l2!u&E-X#%WNGQw{Ilm*2bQrAo9E zDq+QMOE{Hdc+^Ew9&)Hx`1WlqC^cwTxBivi%`V(L!+5|hTssK>9NU{Ze<)|5^xK*0 z!g+7TcWGF9yFKZU&@{7~qT&T*vYkwt0n&t$-%^rH8EJ_xXIy85cKTla_>!l0*>fSs zceW#yT;Yk0${oGs9K2e=mD$~8tN4z7 zv)0ApdicN^`RcMjiOLzIY@oPk?Q1tTKp=sk7f$5@{7N|)bCxfDH=J9?Q%lA!-$Rg; z46$s36iTB%vbm(>#w$R(%N|dYy>+Nr?!*`Do`~yP=xHf9>4Ird<9{cK#?Q?#usO7N z4Kj(Kh6tLd=TEgVb!*@S0eKPF_^zIGNNKtVl;|y1D#z^(Dq{(;gS@#`H{Pe)+oucH zdw-fn`|q#DB`R69gUQYlH+cSN31gISw>(KD*3r>%->+y`TtA-c`Lz(9zkp|x^RBf8 z&)b**coY+0EKpj~JF;sZ1CJMhlkNqkF22H~A&N_n;FY8k<+KN9kiI^Llm^06>~v2t zr7)Vqm8Mm`+QA; zWOXczlz?998UQO$Xv59zG8?}At%wL@Or~4xGR8NQ0jAIfiLT-Jp&f>;<2;i;S62sI zUVMVR!54vXiKN0>jnj=!c38@T*5CNJG-{26ALosMpR{i)6m=>EaAsnM%a8m6(+dL5$G^AU^c?xJ$ese#%KMw3(!YW6ooqY0SyUh|`%e|^}>(8SlsHJ2W{h~e*p$A{l z(B7}1SK>>TXFGjhhcRHa_Ct!^-lF#Vdui36#>UWVeCA{-cGbhf_;y{;=CAVB+A%g3 z(VNeU?vViLsR_H7!yf@a(*6t!5DM-6W8Hs_w&Fm(z}^0u^#L9&*Us6M&!o;hMKag* zF-PPC+J&TF{c+H4kFWTJlUY$GWE^C zZh#e!vuV*8fnW}IN5qW`fK9o7)lI&?FMlCY+45WC{0!txi*iF^H!7P6LoYTgx-t@B zFf1H`_LDs_fLtGXk?TpWxG%)TI!=eI=70#1glD_uc{fBCjTu<55MQ5vHz1%i*J>^1 zi5z3u)-5e7^B6}d`#tU^wlx|=EnVlrIyrn+Kz%zH$JMA>!Hb?WUTOMQ2aD@+_Hq77 zc{xA8l960Db99Z3Y3;vcg;Tr|o4*qH>Ar0+CPwb}Y8O5I0U9*&nj5!j@}&4IvIR%b zXKVtYO7dB7z|aGA4WCL-#gv{&o(;9u9hS%p*t!OQr75^HNF4e$3dY**^5x&x=zJ)* z50oYzo52bMq1c!!e&u{+I#Li;1a#l!oDCi(HG|!`Pm?=}=~ig>&Hc zY{;3*y-XntFdduT_>Mn^8_Ionpg!eVD*KJNbp8(c*w2MYGE6t#Y zfmk}|M96+P+rJlqJ~;4-XOyLdJuo$mZp+5wo@i$1z%57?)F&60`UanKL;mm( z;9!A2z40_4V^jB-Y}Rk-CObQOyR(?h>F?#CHaTO@b77-Dd|9Cv>WG?Ie`2~+5FkAG5xBwf6?7y0`1mI;= z=8>vJ6-aAy3tgp~RM(*J-rP(;6>x8-p>7Xmi$0IrA?wMMzdHSrdD{-Jvh|N6C@=sh zvj9+BA0D0^ZbSoaAc@NR`SC2IbK~lqiL+{#=ULynvw%Nk(`S55I3pNl`F z&@29pxQyR!qe^F4{oy3}Pz50zhs~f23GQz1{dNP z=qq^*enWg` z?r-LxX!P5hKwc5WA*I~9igH<#1FwZYmpZ=I7x+f6(fR97hKEbHmCfoU`6**+r`UHk-Ai!pP|G&AOv$j^GRsp1;OCrs zFU}SMam)WAB*E!3<5yzT1dV6g%^0vbVBGd=AP%)J zkpbi=+Cgaug#STB4F=3-b7JJY3FM9Dfm?ArG~ZwG-Yy{z5s$Y9>`A7SH?JIb87adX z&B$#W`tpXQe|aN{Cuc8(HkU)K_loE|mZzBJ$LSipf5`w-(zVzVS7Sd!3u^~a3})4M zod5nx$Hw8JTj-g|zEgwS93l9urA0>OWIp@^_+byg*e{&yEg9B3Qn-6Y_#SW10N(oq zBp$R)O$lJTXBUP|UOb-%q#OLm@ufbSNjp(~Pt)s|`ANmFoDJ>hPxa^iJ6Xsd2j4q# zAFOzGY&j{WHDl!dWQ^{c+uL!W6LW4aNRo>^KM$&#Mr)@Q-Z3v5b9{BxHsa8|Hd0XI zJb4>%9n;?9W<#N30S6A?E)W5ORNd*0!~f8BIVTQAXzeQBo!PayDkd@ghjEFX`U#h? z?`Z~Xk5=x1gQT{6`_`V2Lx{k=92G1xT(>xX8Ad3L03gLl+tr!;=1gl~Zh0UBiwpnC`OTa;{~ERX*kIO4 z-aCD-_}U*2wG&>0Nb(;Cl=9guYYf+>*;_e^gHe{0Y&ZIbP2QFzhU?@zY(Urp8|fl2 z`5xjPG&MCLRvWdm-v51^=bhDpCMotcETM>DO}rFvd^iNjikyA zWt5-Hp?(3lo1(O&GDnXwmjIp zCM6?VaF-bVu+wr>cii~D`8}uC6H?aQ*8#r-GE8K-fKDiqYyDP}X9GgdzENG+B{o z24uL~;30Sp?&)ki)F<@lL(&*nB;2GJ+r5T~DiAp>&0_ z;oW2OBFGZ)zisaCFY0X0lzKBD-v}gptUt%oz-7Y}5F_ee9jf2g;h9K%;M1$=qM?{G zF+>ZqgM3|=V9RxjhYy!}UuSiCikw_bXd8u76=_kVKSPdgR0i(!fDD)P#c|b$gAkCF z@|~FWutedE`?-nUp`m&X@SWoK`Mybvp9aY@Km#Xq9=zqEClFop2xJ5#?8{XB3seoG zG(`_HMS`2EkGWW5uK^9Rxt%2x@KepXWb<50sKfpAV#3TQ;qK|?9TM$VU|J4~Kl>+~ zYw`Vea`eP(57)y%UXNwxK7yPFdI(soPZhNVKbCHu1-jLa*>o1FTZLM%qSU&=65)WG znN*673LYVKQ|PTMH8%C^=dcQfo&x8iO=aOj(^|eWeJ3jCFsFhLO11*{U)?H5qRnm% z?<@9L>RmW1r4{kAuH7I0VPuk2L&h1gb%8{(f?8P>P|KbFsNr4^)!TmS+fS=peB$Zk z<@k405#;M&Ud{(SOEm-fOzFqG?jII*MXh${JFNWW!N`4KiB<)Di9MAMkZ1MjPbhvRgt?4b(tg@5iGCUhmFEcHg72P2UvY<#Jx^}_%Hy4%!&jvI=9 zGrlF>wqN1WU7meh8S)FHNdbGPR zVPZlg8L?9{uAgKzImr@)%Zge9a`L$Na~RG=tWeX;V!KoGWegdIvUJmDMY#hhNB~Ma zKODz8G>46S^?2Ym;pq1T5U&#SpT;0j6!}37VB#!F6kAjf}V-tjT$S+5w#0Bt9ew zi8m=|;Jq_RhTY1kJgm3os$lO(>m`-Ly2{2HE6VTS_#Gtr$$1Wn^-`KiWCM;K{4_-% zYQPoMp(fv*MAB&8l#lswbhIfW&yRD#%;UfVfY9dm&$L$$v4bm9IpuFRd+V}Ofq7fQ zb?*Qo!mEtJE}?_yNrq@Za!N|RngA=xusiInev^;7s*#cndX>jlJnwFXK&&k*YpgPu z0f#IbmL8+qgVkMZ%<2zx$**5m8bXb_K%=is_IbBIg;gH;S;fXF1qHQOe*i+biT~1A zU0qYTUY>YV(y>LZkduQq9bA#7tjQ}$18n@L$Z5EgYQlJ&ZJA!py?@qIVOa4!kEynF zUyP;yWw{~ezq0~3_W{*U8-1}{B6S{~SiAq`1nyTJ_4elJlhul!rT`{`6_r<=S3(ij z6ZVw9Yis8`*db6s#hR5XhJ*xLsV3~`G{_Iid02K}f@*tQ7^rmITPsMiUg(UJ@K{7d zC#FzKv43`JdvZzsXDC`>E_BB&aBB?3*ycXsoOA zRrwmfy~P!qA~~a5@{hM Ia@;!k+|nxTR@y2vZXPC;_e$VfTbgLnW!O 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 E03BD=N&o-= diff --git a/tests/testthat/_snaps/windows-4.3/forest/forest_tte-001.png b/tests/testthat/_snaps/windows-4.3/forest/forest_tte-001.png deleted file mode 100644 index 1fab69f338a38649671b1d092a441944fc05f732..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8546 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 diff --git a/tests/testthat/_snaps/windows-4.3/km/km-001.new.png b/tests/testthat/_snaps/windows-4.3/km/km-001.new.png deleted file mode 100644 index 7ae9f2559620ebcd9c225201896b3ecd24cdb1af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22933 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 diff --git a/tests/testthat/_snaps/windows-4.3/km/km-001.png b/tests/testthat/_snaps/windows-4.3/km/km-001.png deleted file mode 100644 index 5c5bc8f3e773e10b3fb05c16cc1c45911103403d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23167 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 diff --git a/tests/testthat/_snaps/windows-4.3/pca/pca-001.png b/tests/testthat/_snaps/windows-4.3/pca/pca-001.png deleted file mode 100644 index d5bc4ab8fc84333ffd281192665418cf349a7fc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18520 zcmeIa2T)XN+Ai8=w+TfB6$C@0D9NovNs1^oh)575tBB+%Il5IuR6z0;kSs`+oM|H{ z2uMbnARv-KvgG?L^`DtNGxxu9Pt`e9_tsxE8yV=Z`di=kzE67bxNu%-rm z%2`PT5@}f(iM0IE+ST|;XLIat_-EM-1t|$qN+ok2iL{4Akvyqn7dqJLYPD^$Xlbqst!wYzvD_%R?aj6s-Q~-ct9xZn1yq*Uv!C`8L6}SS~ z#e?@Pba*FrrfChXN)kU*z30Md`G`9Y_Fn#-{Ae?OLCD~=x6u@R#@tEvYipdvDm!{z zt{)AbcCyja7Ct7Nq0GC>6PNo&_h138t>t0FO45s)fBW(xWN>-qoA-VPt@~}gIm>-Z zyX49A6hlpqrtIXeU%y@p+7hIzI_6Nc&i(a!ZZ>XO_IA%R-6bQzzuPP^ms)5D+XU*q zPv>kj&GG7Dr}xMm%Ujs@@JW}TC3BqY+^X&Vo}Qk`64e&WPoF-GkBrl?@!()%JKbS^Nmf?&J@?a%wCn&MpN{6V@foN4XQER!>@QFE z4-QV~D)la~EHG!53e-KcZ5>;If9}y^$1bX<^pqVLvlFpomU?;l$fu`o@Z9PHr^Gn; z`1njOSoUrwkyhNI|3C3X(A|qwJY~O>7r9^qsb}-a-$M6`FU?e0SMW9V4rnjs$I69= z4O)^y_pf9#-&9v$-#1#y+8BAteFFa)jeo6Z&by(PUcTIX(`Nq{LYp_Nu5W2!c4Xe< zeo=@`ESI*SkSdqmq8D_Zog4@nq$h>yFgvUwcEKGZ|DYhF-j9)GRaK1x zsZ2wG!c%4=ZAHE@H8l#|-QDrpRF}hCT(V82 zUn@f7XkpJrN?BbsR;<}n_h|2_i87AVH_ag-As5xu5{y#v&ID=NJicBPmK-hR9cI16 z<+3oKJ&@NE_CVBS>XTmARQtz|5lKm$*7#hXK7HzMNDe7^xN|EL6G_kORI0h#)`REu z8 zJ5;m4#$cc!*+=0It6_N{SO3Sz+h0FCj()&Xe93pBH`-e|T+5}psj2BOnJr!} zTm||G(x}LU3U2!^4*WhEsNke1fI+Tlm;9v)@aG}o+yosBXkZ>3qri5j> zzg}hy9ZTJCYr%F8NnV2*GO>>)`|HzY7F=ADieh3UtMxPMkG}4BuAHI~j|(apiq@+N zJ8t*w@~bIH=N!BF(NgQ~02RYmcYYh2acVAd%qj8OO}n0&91(Hi(4j+mEmU%=^K`32 zZ>0NG#|N>CTkYqDasmPaV^8e4?6isWM(V;VzVjP*l&9C#)y0&QoJm&CIgh*OFx_gK zWkTZ*2ntG+@@8pH*L@J?(0{0CZn%KBd07Uvu}$sn5_?-629nhZ?b2|xJe@-g+PUuE zzn|&4&B?{`8kJq;9BWiiSy^ZriN&Yj)i9JV%8&VnnFTC`F*h=b&;pm%s7e3hKZ&>>v22vd$;rcq57)@KjBUl9WE+f*irUv86*W~mX+q0hw|@O(rSQlz z+mW{9SNW$64C3+F%G@P)R+mfdON-M1Po5-G{0{U@(ag*;R2&VLxVVcZ6m|<)O5(Vv z|C^K*Dhku8NPe8ch}Kt_oQWHE^2G1 zo+U?R88sSW17L-6cx{I@PVd{|Cb2j9Qknz~HnGX%<$aV>wUV`p9CprK$}$XCw{9JM z_Q8I~xv8OGKBK_k;NWfR+>{g)qU58`9OB@R$;-=A%Qk*25&0;p`dL|7*~GWkbQ}i{ z_B@EgwU4xJtcCvdj(Q5BktoeREJg}28pF>v*;o6s7*y!W%7|8Bvh znjX^{uK4-EEuQfg+iPlSCO)2`GnnYDUbp(TTCr2!aogdf*w_Pjm}FOpXKlx8cRsT= zk?x)zj$NJ!g@qambJIbkUDdZ%t>?Y=Zga9~#u;5*-F{k*neitaN5v~wu7rrOIDLEB zbfrRaXmmE)M17=qE@kzG9ecv7;!q$Cipt zfb+$WZBn}Y2oH}OZl%SXx8BQJtAdYQxpn5@j!0ZgxVs+R_p2FEal-MP`%ty-OYTc6 zML*@@s>l)u-?VZ$K1Q6VS-=LZRF%HIzT}kA8-D)&+uUAvGzp0aq?xGi+_@76{k+W~ z3v8#;(en7swV;~2x~gR#J}6mRXL01LFSWR)8YmHYf#|izjwzxyCY!z(VPNr=^6Gk1 z{A7rqc#XtFqkz5PINH0WLppx7h`*qPzvG5~|DDKbd;7e*n|3G6&pVm46$&*hzFfnq z|KZQy%PK1B%K|ubhSoE3E7{oC47RrwIX;zh<=Tfu3DS1S!#0yEm}jV{s6bseww_Cp zboF~S^7ZR=obCQ#qm*jhAkA3R`J8-N&GIoUeT0g(^W=^CsZaS@PNQ#?o%Qte5>Z|@ zZrqsMoNql4`@2rb8^aYh*H;G($MzQ3jx?m}me-|fi{rEj*=SS$+E%`gc4fINIAHa* zGcXupk6=6241UU(>~Lp2EFhr5Q#9c_HPYVRFLlFqsQD?1Nw;_0FhqAd2; zC#tk`+YUC#`&wZ~R)h*EqDOdeamdT=7Pfgv%OO{U2*{x!)uU&1PtRRcR*p^6DJ9B1 z?rvH)-rAE%;JoW>ZTK~s%`2DAdOp(@LF|7@_~LLE(e~mM?N;-x<8_wPj3suWa{0JJQGS<~uo6Bp zs`8zzw}}HvbRyqwGH|KI)YU2R@$$ZL>5vF-BRT%PzjU=3?;y1d%UJhLdK?VUADg4(Kv%%GcMIpL%!m zCikqXZ`XM;3mxqkQ~&Vzm{gF4B_)w6HzD9Li=Fth$yEJnGA4nI*f33F^z{s>DGX>A z_4v@STlSwJGmq!AyQmu&7_3{l{I{NEB!M}FA$hM|eA3j#$y6QjazM|$)OOYo7sD5q z0-vJfphyxOs7hq~p_5oR(bUJrEVpml_GXjRU5UL5y;9;es1sKm??qlXs~CH(n#W~y z{nNO(gBpu{Z{|W+L>=A?6#(tUE%Zf6@`cKp$cc>JVc@*g>d; z^*rWH+h432kjav=ufM2b0Lau|9qo?aWjf7_HD!i|G7r&mc&2jkJhXNdv?SB~z5~|1 zA5Ws|_#KpM@Y*e`#?{y}ZqS@*KonYXd~vbX>C>n4QR{#b^)!m#_soPS&Y`#G@S8N( zT^B-MO?dW9Kcle7ak`{o^qi4j%ytgt%ugYMcxT)pB~{h=1jFGt5_+M0h6_^a{evK3c{P<|WHA(YT&?%rLUtd=FcYSpU$rQTD{L!Hko7oZTg zwX&>C0e~=&OFi}idyGDB0-&4d{I}P*6oZUH?WNhq!|d#WiOq(FhIJWwazb9U2}Rw^ zPfcjSBKGM7kY|$#4DHTXMS4H|^!S9KFEEBXi^Ex>*&W$YcbiV^S>+R98Q(xo)hLUu zl0IzsU;(qRvGH**q>F%Aiwkq*U8DLa^~6WP{fNc|Ob*cmvIlj`1LL1RKhiN)l^J{M z)~#G;nHoT`EUP{RY>j8Jv1b6$im=Ay)JBffMw+30qDrb)y?JaF(Gzd4-gtZ{m;2K5 z6M!Ed?`_%7>-7Cw)uaaLX2_-L+9!3EKF!T)r}z0Z>6BXd2L>_-_w@4rapJ_w%il74 zHu}9Bm^>^hT2#*$Xo{l|WiB|MR~e8k@Plzh_V@Q+3!)FI>QUs~by1KR4aEf8_``>D zAX)##yt48GKgkljOHncU2SKd4TiWH*C5S2pf|&B~;fDJ9`mC}?RnoGuo^wO`}eB5J}-H){QzS66e|jk)fo$9w4r{nfxUkrHYJls#El1Mu?`~T0E|8xyPgCdL#4HYab(qhj& zj>1{b31$GN)zC;%H_bb(o@44+A&z?@8!9M2-cu#c%C?MTu3Xro6A26!ENBsBdE-Ww z-RRX;$C08m1N7ADx_HIX? zkXQ8JpfLcEY9JeBmyl%)`4GLwGZb{+n6ffylcwh<+1S_!Y&{_tVqNE2@EsrIlTy zXT!ZB)t|=1kPGhQs+FX4Q%!YL0~Hh$Gzv8BM8cXJi)c;RT-0_mC++N^?`u@6Xn}P{ zFO9BF26m$^EsXFv&stFwTwID#M1Ue==0>R6DE^+?L5f(78dEfVWAG_+n!l^J4YtnS zy-dqCGBUE)YEjcJU)|FnurkkXP%V3RPVp6ww7EFDBCSSKMvq%1TxvEcm38*^SyLcq zj#Gox+f_6mI&8{vsK!a{o9PK}9Li~D;jnvscVmBToHxJ|!+I(M0hDtsy2um&Qlj(A z-e8tO<4bOCA#YyGzGFlF*y*83hk&rK;pQ|M3Pm0iS5Z+hUB=*bwu$bwYq>UqXm|kj zuR6?$AEt8xNYpnr{#P0KCE(yO{R0CKIzk5(n!o*3#EC>RKpnd?9upf|Vj|9S@^Mg5 zT=>GEUUPwMDzF2YLZF;B#}QFyKo^IvkM$-dYUN~n!BK7QmTZml24zvd5YbeMKpL&p)()fCMG8OX-aFDwnu;X z8+y(ek-vWZdO~dMUD2|PkCxkdtsMPFrw+F|pV&#dN#4)CjC5qr|9tsR*5KQLf}6)W zrsn{Gb-YbzfhIH{e;MeF*snNkr=zP0=3+ui=PXA_9<>97(iDQonCCKx&EzDeoi0OR z2YdO%_NG2vQ_#x~cP*V$CO$qsrIj0vLWD&Q6sJ7fWYzLzd;$VYJsv%`)|EjB_|*}= zjM`aszVV1@2spcE^MxZjthygG4@{O>FgJQ>0?xnccn+TGt0~QtZBjlmUGOivn0Q%U z-rT>+kT~LXA3t7p%8+C5F5O>h0Re^BLI73=<-&{!O4Yl9*Q$Ej} zTl1~U%FAmBjtoh9`Hy;L(aOQFRngQ4{gFkcO6)Bve=^0F)Z& zR859O85tQDLGJI~y{l}3m#Y2qcb%(UHEo5IzU`#qo99CXBULl58=$P9Y(mLx#9Mcd z&nR8G^bEx3F!X>7y{ZNX7|&W-G$=JPJVi0+73DqSZv!DbaN{K}nibE)k`4On;%6IO z7gU_PIkY`!?u3Fz$10X|F;Te>)FY^Ipq@|#KIsO<$HvB1j6se{TDD@f{(mFmJ)~8g zX4LdIUw{hp43}mEoSuBkp(WP>Al8?R&xjgg9emt6fqY0;SYQ7Az?b+ZGWDzN)n|nme(AV_*vsQH#LfW3`5~5*3m)bg(*oN^8lk5V z`vt%U{1=Khp@EmDZ(F+(`Z^f;>_lw=4L}TBNyYn#t|}1g@kA;Q508qnav*vY8?~Ls zyEIy-)C(W^jHu&O-81=UZ1jm_GiMo9RaM^@bHOAjR%fMSdX>gmN!*(Gz4-$vex+R= zqH!R5vtRt={2xF56zdKAm+L$N^%UZu3e{x+hp#?f@!(Kfk$UtQPs5CPux9rC`%h8l zyLl!<+UL)Bb-hdH?EdnlHz6@a0T+{P*3Oa>4iv5dp`+~GJN;wHDydoyUwovjN_X4# z;{G&p<+RWbWV|Jaj_i};7mFMw6$F_Zbi74lX{H6TvlG^S(5}|7I$g+VwFzM^^&wXT z^T|A5;Hm+`wjTRJ*~rAt*>PhlT!eLQ4{2^)f@!+p_W{bxy_7Cqd^<(Y7XR-kp$ZVR z>7;-QRh&OLCMKq0%^NI90EbFHK1J*%7Lgq}-jdGR_T2%5+=N%&w#j|6RD4k$B-tWJ z-15s=VhymsCRvRKC}1bj6bhxuJLXOnr6yG9hShtvpf|g7Kn?n{8ntSH$?3g@XlB&p z%*@QDu&xx%f{7sN{AqVO)&_Lm%J5Nw6Ob z&9rc|q)F&i6}LDzezr;Y)Y7J_p0>B-S%<>enmF%SQqo_0{g-VQ2rio~LlL z`XU5bwPdLqH!_Ihx@q_E&}{0lw=8V1EFf7n69T8j>C@vV>HP9)3VB zED174=8Pi*F=(j*;$9}+qd@}6rb@J8yh=MlPa{KA#AXO%sH>fKsFAzG=6= zk5A+uE7l|cCdCa67z3P|dqLC`w^{oWI0UsZy(TkadVl)+}S$Yix&e-sS7sf zEdxzyI)s)A70<_f2Iq_rxu7x;+Xoa7Y6l_5V&Q(9^NGQ=9S99PTRuap3S-JN5uR$t zp&x+mq?Ue-lGq2{ny#F5DN=mCgKl}|H-#5z*XSv9p_7Kh%w#5F;prxW`g z0XdVCg6DZaN{Yi#H9~EJffFPqI<4~G63=;jcu!VwF=D^0U$+hlN+R}V0%SADiWWgs z<4;Ek{cC2doA_MVdrBaAu!Xcj_)UBp2Lc)gWShJV7PbmGeK#LGb^ARbn8MKT-0`~v zE+a^6VXU6IK%+i+d(8TJ(laKi@}DP6OiU8Ze2#lXXJ+!&H#8i`N|6M~y7e-GgPPa( z13$L)H?s@iH~~S54VbZp$z_{xpvC~35{4u86R5knAb}5`bILq^{1|}WrrV}^jH^nq z$~lh$9}M+SW5)CPkJhWd-`0Qy<)}O%k;tc8BIZZET{)@k?Fq?wd8)pk zNe5-a#WYdjhZOgcNR(~U{{T6WFmk z9OrMd&YxKNUMhZ#md%~tyRX%*%X3I|KVD+10K1H|^cO*|>lMN1I;lI4UGHsQT4+Zj zhoty$DwQ5^m}2KO21PKxC(N;q>goz|=9~~8??Z;e_q51pC25ZVeVcj2jh@QA_FYpqG@I02QtH6MMe7zI9y4 z9h&{GEI<+9s#y5QV8f!wxSa@0uAdFxGthA=-+HjHZOPdnf3)pY_5wAWr&Y{`i}r{~ z2r!qv({QJ-037i&rWd&$CNy~RK)i75(E*19!X#@uiw|>_D@+f!>a2I3tXG-Lp)Sa_ ze=iY$=uNHC^rtsY8jWQOc12|-N-x;}o39^LFOiyNQgG2OA1|5W6x|r7qxXZ%4ov2c zohorVVpFYOmvx2wK1-)@tOeJHw*X8|%vmo$?E$0fYGMm!5MW;#3!>`dWr=n`h|Glj zO!!cIdX>zrHZ+sCqK*@(T1A<9RVb;Qo?SViA?@|oKkFW_T3MMAWP#_sX zz6yE)kg8?nQT_p+L$Yek(h2$@Si#AO{mBskFwBRVvY6klCBg{=WCDzd|JRg&T1lm+ zqyG=91H|N1%ax3R3SPz3B#ycU9SmVWgfEQ<6meL;OLoB z`$?p;>A8;nKi2W;n|u62gcv*9pGb@5CXqDucGyPp6bz>Gn}D|qw@;EtpAY|bdkpB^ zVWvCC8qP2*g~{Pob>tD092^|xl-H6@(7zRx%CjH8-fCIS1)$noXrDoj&(Bx8y@rlZ zKbi~9kVw7*vFYkPaoWh*SI=tMQ)@Ts~I0hv~ zP^4jQP<)Acv0KFMxibe2x<}{g?#{Ol_*~}gM3?5rgLw^n?>~6JM#*V&NE|MjZktNk zLb@5_;n+L*HN;FAbfnE`T$T`eh;BwkX(PPaAx)z4_AcrfeeWFmZuQ zpSNfDIUVUm-lOl+XXww$%8H5yU=<|vnEg$Q62(ZQo>MIm8gLjP=`~Y#Va*PhUTA}r zLMTCPsA*HFYe^(Vie2v{tX%>DMG%0(b*5bVp}5U&q!)}AUqzgwP^$3}vP@f#6Xu4m z40ko!ex4US>DyDw<^hp>tG*~!)XHFS*J3Xg(FAX?*=Np&SCC$;!e{UD7H^BKNaxhO ze*N&VV;Q3T%SkV`cd|GX!MmS;f7?rlFQZ+h>avbw?+?-v`LX)krWaB)@)RJ2so+Qy zk9wMA&Ke{`DtjtAu!6KF9#7{&MZ+Epz;S>n?A#;VUX7i`q3JTyJ*54k(%X91bdA2t zUb01Xa6rmplBnq5CqtUpqm=Ce?9lX0TV3Xc(n?*Z+OVrbix-B>IG8u(=sBa8Tx>a& zYTIJrZZp_aoxlYE$;5B`G2voj^Uo_ps{lky$?s3#AA%CC z!^B2UHay0~ylJ4ybunWYX3^9$I^65~xYvx-?{4tdi2j3xA&e$4LLvxJ9W6EaVg;Q( z`oxen7l|~)*}*kPGyqtMs-@nnD!^V40T$br=3G%}PW{}{Po}g|0biu$T;f&dOt8(VtRiQ=|#}VmWZVIc=`5X=SdjprOk^2)I}M>tQ14roJ#ufd6@ih zK7v^6zia^t+SkDEIAtt4)uc0TxR&%;hRyVX*uq3D(j-bDQz#bw@o`~>-ubvlx7?GD zpFC;ppTG71L<9^nM@kdbK%ylg6mles-RD2}hv>xTpF=XOVX;PoUT48W_gLsgEHXqX zz>@v6_Qh;+AB?*?!WboB)2%ymwE_i?MUBh;m0h$7c3L*qfxa~FOdN*0HW zt8eE|w>erP7?TM98x>?fc^OGt+Tyn5)Ziy9CE>>a#G-zOPNibU)+drhe8(WIO)_d%Y$JR7$LSnbz*^VnN-_uc~rCxE(HRThD^!*i1`9?7a3%AbIx^d^9G*gk+(zxg6{hz7q0x_DPlEXGL16AVfx`l_S$28PDS54?!TVPJfwaO$egFAtCA} z9H!M{%U)N|+)QZe+$0FsT4jmZLW~f*KDnHug+4wu+Ct3|2Z{!z$kT zTh#C0TlW92{Qdv`KKOItN?k=oKeQ)4-Lh>+kWuS1aWXqQuM)iyi2@_zMUSlq4S@_% z>KA9&VP|D@in6Zf;^3&o&Ie*oeEWcL0C2!lmWFsy?D;1Na5>|F-qBr&bAu{qx{+0E z-pL>BK~d|!dw^aDK#}uW$Hofl{s`( z13@Y5Qk1(wagN}#1(>ZxVl>+Xa%=fOiKkAS+dC%ZDd+@%bID)Bf7iKt{llMoDGABR7eNn%BB1Yx93u-;C6raH#GA!HP$-% zLq;Ez4|A(3ka`>(+#LI4;D0QP|HQ)hyVLX2%n&uWj;8A;EJgi?>Z?* z^(?^1z=6YE%QAd$CK@qSO5*!BU8C&Gn+jmYjoN95+MwOhdt}-dw?^pdSPnGx)eh~W z_khsMuO@a)a^DseQ^sn2CAcZGd7hH{QsznadyN_69OWq6CeUB_1q5=`C_f_JnlslE z6#K2am?X-X0%@g{o|9Q3;igHlaZYP3b)4ghhg)(rGnox6x|*`|4Gk@IFC4CP%nXr? zuC8qe>gDTe>sk*qL;9=T|Bvqf%qnc`5hP`ge$oY29=Mh7MIWw>P*YCvBp1Q=i98;W z%DVR6_gc^@5+m~zJ2hevWUQYE`l6aHLhR@zz$I8?;9xrG^Q}`CTux@ST#0c*F=Sam z5@WqJw!XhVF;y8#wm(wBkh*@rCS*JPG#N-5=7Lf)t5BeboD>o);Fy})Gi55in)D=% zM{CP?a-n03d}71pdHyo}S3}iCt$T**mt{ZxRk>E|uO>^9bH^*UvdT(j8=GuU%uL%6 zEs6rdnNUB8=o#u)ST>zv`_GV@68pBJ*^PB|Zw%j8RyH7Cr9QdPNL`$KID0;Glkdb} zMwQ{`7k?1h5iR@f?G%Mmr%oj<7W_)Km8>LjuVi+R{fyQ_7}!KQnU+lutz>Pg7HW=? zj!rbRi7bmQBFkt1R5y!wCDEmbNZ8!;2$Aym!LaLKGpGJawE2?>O`hmiVC$VzSCB+2 z_C^%u@i9Fjsg~R?TjxTgixy@lp<1BG%?{gA6M@?kVT$BWHmGM^d40F4-WG4!V!h+Y z<(sHbzo-+)g%NxS2S^iG^Iti(zFH&U91~hBgd2SXX`R+HzF75#XxT~-kH`?SV$~#C*2NJ$?jo5TQclci!hvoAh~B#P$%n$q(nT7RFBuf>A~gFTx8(BnS5VE%*#T z36lpQF7)RJE?-_y8G)Z$>4Wj<>!b?6T0!W7o^fa(JX2Tv{(k2uGt{h8Ac!iJXH%4#|69t z!FrGN3%4B)?I&gi2w@3JmO1nMV<(upG9+RE*p@!hXa1E>U+VERnHd`TlCds^=z4Ja z>I+7S6Jb}y1M34^jYEYh_fO{ zM`W9j(2f8Wotz)93b$?_ZHPRLxGy4+srT=%D;h0f@{K`Kx=E;vFqgs{hpWM+UtCck zF>bhZ^pAhao_Wg_{G0IeG)xci?=R^xo#$*Q3dkYj^(Oqn=Oyj!?MuYYIfut9u6U1h z8tgv@1jPOQ{0J#7R36vTkzq_zzH%k9&Aw+hMF9pSoS>&r;J7sNm7oS8>sG0nyq-i} zf!npTxRCYJe@XniFF-ax*qLxd@wWS5!=z{?p1i&KpL_wN8HrTEUwi@UW?b3QF;wMK@n_;`OihnQ`V?d6(!=qwZksM-Gy8M7Y?4n8~yQmFi2$>kZGS0cIm>c@=?yy4F^ z0KZ0{uY}3WAC@EJRB_vOM7}Axo3O%!dyFg|9Lh}d4hf{xR1l;!=~sPz`HutV{)|BO zQUCk54!x}Nq>o`qy?RuW&a1!~e-A3l;{Q>SIeY@kPqhfX`I%Eb4r%vqqdnh~sw(~} z?WY8qvAX~Jpt5p^k$>yHpD|^Ecp-;oC&Gd>&*dY30>u!ALQ_*Sal=d!EK!`$Y=fSU z9ANS*+5W%x1!<*_;9w=hp$;j=>SKGF#1c^`IIVSH*>b|-B+`2;ty}3yN#}^4L50b* z8ERIpg*<7Ep#~$Ia6(7_`M@tAB>$>P2mTmIfrfK|Lh*od{}e@fXOEe_{slA%@*%*G z>?IzW`r=X@zd#zN%-<-pT1jICD6)&`jlG4#UutI0Cs!oX+|;#gxmwghXr(DnvoqpH zLRWRe^O_hd=Sj@X6;!T^Uo!ClGe7_wK&5YSZiGlBc#fxHPQY7yF_&xr+ikXAh1wiD zg3=S7STERvsTDuXTRtJBl|wrUGJ<@3dtu6zx{?#EK?k|OYTq) zC;Ld@`1w{a0N)q{R}HJeM2X671#d*TBj+!0A5uFEW@*7C2;F>8R)5IMgnHA&`y(6~ z+uYoIBWqWW(l4#~pdQHg#Do?26>?o~2!#zK@E--|3!p(nz@%p!>vo`}*ALTggo>4) z-yA@=(Rjzm3+%*mAw?rd|ASun^FxGTF2%&qIb;)&j(Uc~7xaS;5#&~WjLO-6lBz`Z z!cR^t9^0VTv3)L#+y^R1lsaC+I(E_7-e{t~5*=POaJ#JwCi!0cGv05C7I6fi7oB2X z62iYl0QNgatR4$j5!0hwa2xKqd`g zf^Y)^x5hInB*WS7UEY&GEf=AC;;=9OSh-gEMFdpIsU>hL#E2ag29|wX#1AjePV}X< zFAcQhWguSRH|R^s%(yY-=>LMTdZMqE4+B61av>z{i5eL{P5PTQXD%#{``!HWiH*#H zM}QK~(r+qSPP%;JLTBNBlyxD7J^=YJyr%9rJsdy=`oi<%09_Of4EhY_1pSJ&okmZi z(dNvm05(uiX_NuhQu4m;(zN-cOGMVy7W8jKxttdu3^g}5w`3PGk&@d5eH)N&qUA;v z#TVkTT0N0RMA+s4KR2n8XH!vUp^!!A9pa=R+ESKn0?+lwv>6~5+7z(bGYq^DX&P3S z?~yi`Dcm$=U(0;rw%SgqfC08DzE)kYNtT9%g&F&QDB2C2s3eV*(;%glgXTBR> z&zXEmXXDpGohO{S2>|7iuS?C1#h9duKrVm?-1vgw5>r#Me;zq0Y&-0)t2(sUvRwPX zO18=nyihNp+C#1*Q+|z~0a+7{58EeZC^t+kTa%}^EJ)wSiM`& z`~=Ps{B(%+UB&7m-(IXhUd9K7!1^Di2v*e~NihLQ?-28*gBqm>;Wr2(QlW&h7Y<>R zexNbiM96DD6g_a3wJR|4kc%0%MMt%EHXY;r;vf4>uJ< zogj3FJ(~q9GDx4pPh(#r2m*f%)euPQ2W-ad3xUyK&0uhkn?fY|vyDGR;eMUR{rG|0 zVTisB+_KKi3S(J@qn&Rd-pVzVewyH-{F)Wm>}X8035i$~8Tf7=>#U6Y#^OYrcpnG{ zYKnIzZZDh|$20>>R29I?a2(E);wk*L++Fhz8{(|JfB(L^*m>@%H^zKob*>N z=d#$+G0sBR)QG4PUIHX;VuZ7=mTohUCz0QTmPAxNyl?2&og{Pa&HjRBgvZNg)bI=w z3fRAdRg16!F}sCBo`4@hKSL0tKH}tUG6imNApF`y`0&WkU_e2i7z}fhAg1e(DZ<=N zYVDK-zcZ-VGen0hnGa^q<9HH-i=WbU@jx&gVqS2Vy5xe3AP<%*sqX{KyMS5&%#6e! zvi(~Vhw5$w5MvZLTm)$ypZKs$aQjJ*@dKEXr4yZa1amog@2R^4R+9(S!K6qe1`PBO zG9yB_#6S~TCWT0;a8u_k372%2pm{{`R8}ehPG`GVm!AEaAFx?F1||MHag&_^$}Syw zLL@c}(a!N?hl$=udR9p&^Sc1c^}s&EhUdDig9akWSFE@)|a zA&o(upq`d2-XZC#{i63?#r50e-3qMkckk{ye0UvyNJZ-S7~8&m%Qv}4w~yq`zr1#I z?|}oW;k%4aD;2JzqjRtAtD8SxrTy^C{?5)$k(8%(TPePK?tJVP<=wb?#fR(1nrSra zJncJo@4mWx#7={jaPWG@&UUJ+dldU(m^AC&y?fVg+=x-6Z+JN+~vDI|?(p+t~<;xE9J;#qX6Ca6_^ITEaownRoQ!88B#A&NKCW`N8 zvSM-~iL_>x_`3j>c~*I`PovnM(}wPOdQRf zZ7d>oq{RCBNNKvtv3=&{=f8@5muo!`NR6X67jvGy1Ny9_r1ahK@G?x)b86%gCvNTf z_2bi4%g;MF98b|Ix{sK|41Rx5SeR*MX6CH4^e!vyg(9xKSPY+=-2TXXyu`rpyr}2R zZA?rL5F4Fw+_mfwZY9Hmx9zoS&*B{3k}^WLS^?0qoYB&0Vh5<_tZ55MB4V&5#;q=j}c9 zj`Z{NIGE{FE<|mA&^EK0b4=z8UtNYY$b|SvF zuWt+Dpc73~eYFSWFJ9#PJoPe`dZ~r#s-2mgy)LMn4W?8NU)amD9HwpAzxTLQ-#4A@hQIcDt)S0C9kZr1ZRYb!jdpg>Qiyn<9Enj&LtWOT~F;1KG; zZ5U84v^61%SJRNuI~UCRo5b2TrKOIz>YDo@IVKk}%$q)4mT|q}6tN{c(%G8 z7Z$eYt6?*4E8OWzp7hXrzUUUE+)`+={%h!fEC&O%hskO1^~>NJpVNlD_1|`u2l4zV z=A0j_e*3*}>-8>tX58hC$V%l$G03o6(+N)2Z*+uzH8*8GNmndU-h_ z?e)?oH373Wm<_Z&6yHX>)%%lk?P&~yLes*@mnJF&zBjqw-tKLEs!^MhMa=0QW;PSO z*96$QPM+$#vadY7iRwxPl*!UJHD!=kJ32G2C$Fr00DtA6390@|Ii^pDJ5@FHQkug? zVy*n8OYDfn?X|SDl*Gi^cRV`$*Bh3E&YkA4DH@lR-5xn1Hi{s_Ph zVH-~Lytr&GcJ>oeQtq>t0(F@M%`aa_+h4PvK|1QnqeqWOs)2jUkD`S61P9;8U`9L* zlGt6yZc*9U4E!O$6~-@+w8MR0M%ul5_q+G+M^&3h5%?u$cAurDO3BJ@gaR?zU(W%W zvj+OdauP2u?`ObjyTy4S7Ey;gfGnLzQ?qo5I8J>qa@BTLS5rHJp_@YIIR+q@)ubk4 z{?lZZV;B51WaASWIykCz{YMUkQ;R5e} z`Eo6i{k~KP0&eJgbbIe?mhxiW!o|gP6&ODXe}`aTgd!)$cs?$pY8>MjoxrscYxhFg zsdHVw_YFixNvKF)=a&XX63q}P5VRTm(>zb(D)NkY7=$z~m&N%{dPylM+&;igGjsPQ zy!8AfUw;^~>B7KV|1List-=#1f8hZqAfIgBvSk?w+lXgzriV3L$Hv-vFUsNpzn;VX z=i{~_mLqxn`T^1&KECaYJX(@+a&)LDmEq#v4GqfSU5jn)D(!dfti%d!z)VyC$}H&@^L{|*mxU2=dABazxQ__k3_`B|Aq_$3~SF4ajn8x zO3$o;1dww=H<01Gbg7D@ssCj$rrYrHrYx~e>9>|GDZbW@%4#;VMf&ala`i8 zF(J7L8~4tM)2CPAdoRRU>GbEJN`A(7q?=)3EZ1~(J0LTiJ$G(GzpDi>=FI;xx&6wjHX*9uAK6q|FQrU#%_rkn_+1KwIIUDe3S=g7RezcvtW6@EHk- zG{0#{{~RZuXmfdSc+_|(6pG;H4QUk=3at`_Lf62> zhR^IP-^hdipxLX)T}S1%)6Sz%jHsK^lBzCoOC#PIs*a=LN3(Iiu%>+EO_P-=v@Z$% z(za9orXneBRS;rPl3d)XTluNsil9T~t&Q zH23NL6~{4YX=#VHGt-1VK|yTaUoFAEr+EfQNR&Ste>l&S@+>_{*hj2-UwwSI-%c)> zQ{0U>s9br4?M2!IlkKmRVP&?~t7E9+pO2A0y^8he#hD5ByPtG$f2W>nd`^5O{JQ3f zHol7p^1We{zP!!IXB1U2jx`yb$-Z3K+P~$*-Zb<|TAFO*zkl~V3sX}GSy}9qloVnb znx|Wf{f#qrXs8b#J{Vl4I^YtBZL<))a^=j=*$%k}4<6JV?i7#B*loFmJ1%}Z$I99~ z%Pab8I%>C(;fQ#cdxg63zMOQ{%NH*KHa8u5`}&eADyUP~hGV@d8%(6 zisjD}nDtqgHr~HdKksmzc<^}JStuU&^lAUb2_LoW=)rIXae4-?-E-De1&759F|AnD zdPFg;Gkq&LrK8s$J>n^`9vOUi%oUT}f0)9y?HYbZ{E#eLEvKR09|sM^`>_2ZjZKwr ztWC|eIsMt<0Cgwnw_38PB$=6+8fCWU2&&I9^+5=!%jn1yFU|;LoaEU7<8q`+;Z^3oDr=I4aLW25c5#-#P#zTJK8R#a_viD zV%jLS=;vA*D8zAfb!Fq?k~K17DzO@RvOd*Jlp$U?5W2VL7L-hg*hRESg82XdW6ezaX$(r6i;aX<7>Si)@h}?cX^Y>jNt}pRJlBo zI24X=*W1zNd@0t^bu+JDDzAS>Sg&~e6&*?Dx3@Q=lvGs%CMS*H;DSTk3Zn0oy% z!MD%+ahEB622pAkZoDE+R7*fy9PNvjFPQ`c1d@(0M7?chlj_*KnM|2d7(+rr8n%~* z_AS+wl_!dGd*&HK#B8j$Dvw9Eaoh+|F53eSG0fA|s!js787{i?xrmnVprGsYQFJ6E zk40w0lZ-+zQ;eq}_J)~~CdMx6SsxJE8pk0)J1sCiVOgH4^pdL&`-bj|#3e58)4d6& zl9EGA`BCWZ*A@6N(bim$Z*6Ep?Z&%wot+N%x!=%=!Ni2;ddulQA~({!xTK`PV2!TX zzFg-r75?s0VMkR-Omy@_W_kiT>i&ZV^#+%Bb(frk@v$*z2?P7rnVFe2%I%m@b<0ls zw3MWz{%{IqLiBIvLsRWf5fKG88AX~8uxy{ZAspaLGLMsrjWwsOO zczAeKgWoL$1ZfH3-*E1el(oB9=H}+lVq>3{j=G&rSB!r?m?+|UW`BFRaVkRGtFIru8akKo{c6Dsr#(STJJ^VMwsqyQz`?H$?@uo;Y3G}EF%5hCY?C^( zS}eW2vy|X{Uziyfv^HHC}MHitbTB-V}XgO9x2LZbt^62X; zo}jQW8CTa|K4K3uqC^K|q@@j(2a8?CeQ~A<9|wJwQ&lBzv58>T1l$GJmzYe(6cvg+`u)br4GXuc3P?{do+a{b|~$&D;cwQ zqa;}?6=Jw1`fHE)DY$gltSVjBCk-l@neZys)@*}Pj&JrIT8$N3#Eg}YlauQ$Qipw7 zU2kb=xuK|tEtE@fSbUb(B(%SEPPD0iq_9JbMoGAs+TjCSn%x!W+NV`jB4$I$Qi0e* zmqh98c>m)VYa?reFieb=b#q8LWy@pDm*Z-^%* znxE35C|Yix!jz`4*-Gg`*Ba30W;u)Ba;F+9AC!oICZqL%^geSQ>*2Blq8c-@@p3Zc z+f(Q=#5tfepK+y2nh3+=wr1@dMoP62K29zT{KWQkrY8AA# zwIlZ5ym?c#hlWCG9m~IKdz$5#R0e`Z?kUL2Uw3m8T3A?6($ytUCX0-UI=}2(u0t$C zf`x@;D@Y3;K~JAbIXV^>Szo3acM$68?Y&^NsKdm>RJAuh?I2`WI52K2*xA|X6Gn5@ z=*QRBg7!Z`Isf?ieIJIFGqSQ8hRf}f`^*jbs3Rd6G&Ec<8(E=`AjPb=n4DAeeKEP- zuSblj!AW5`T6K2uTMkVfYjVx!gr&j3LED4fN3=o?pDliE_S~tqW+o=lwfY~0S2HAu zg_+rKXJtgnOOOAVC%f;EbtOSlQt%_C-g_)Vz4Fv`N)|m!h44h}LUIh&fYT+}C){2*EYiSwqQRC1m*xU1_ zq^7=}^OM*{keS^zkKM~Jx%Ihn79E7XzUIX_O~EN~`}XbHeHzQ>>>M18lTA-?`fz?B zPdtm?tos5PIeBtf8I^S@4HU)i1;*cNy~QV|rUE$$mB}8#3EhAA@ch-Q&Y#<}S)hKr z)q=>KnVI=sZqJ%qd*t@2%|ztqSKfTB9E=J&vn#JXMhk`Qrf)VKVxp z6tes!nEbAo^!N4#xUZDUX^A^6QLR)ga$R6y*{&^ol5gnKj>JuO zFY4ea?Ig;M~g|Pn`DTRJ654YAj#P+{hcx!5&O>kSdh?0OC zAM*66=N{X|i;`+;FUO8F!gS7_l)nl!VgQaBg(hL@6Kcw2X@Z1L6*t}S zvm-e$kPJ!*cnf)Q)HF1n+h)aD)6>)A@y?@>CDp%v#JcRwr(b{A| z1MvPL&%k>+fP53b*C`^$73KA)8t{r%E~+0ZZHrak#IOA5X!3-LD#zs7D@D zuRr8&#&hTDAMSsSJkR5}pc+aiOaVx+=T_>-9YNc}3gx~HpoOooGV-Dj=p4)D& zZsh^}?CQ*h#NK(=wZ6Y0CxVt&@ogqjuCCW~xMDhLT4T70WN@XW-x^6hU*e=V4cFOr zq4#2<=hoI%HG{{LvrlBIALVdyMh(U8J6Y((n)qnT+Kz_DcFI;elclN|mYmSGzhyJ@7Ke@n=dIz^&Afp2q-y~s7Yk7EY0XYQCY!^f zuYZA#|Bjcp=GgxA4_(*laVDH9JxiKDeq>~2m2>+rJY(m&Omu?O*0a?6A+bW2AT1+v zPC$TSu|F>+yyMH44RA%EaD)|$g@Z9rdU1LgMVMR|bD2E8_>Z|aoU zqCqOxYaaSLHXBTQrTF&(fPrFTV|%t2{%6|1zbAX06drMA0^{aEcK)Imfa|3t%NH+R zxD?O7zn$J?dfB{}jZ>=#H##~x|9_=?>%^a%6gUKgwVF&RsN&+{bK>F*7cX8EErIKA zvsPMrND#$(=Si2Tw7EGufPf%>9HNx8G%QGFkodH6oNgGa3lC(|>r}ar>r0@Z2b2cPhkKh7!Inp zzZX6v+Su4o($NY1_)*$&sDxmuIf7yGPNp@4!ts9X@nUuT>*SDtpx&&40+Plj1V0DA zxyE*x6iUMFgk*(;M!wsY`JBUOt=Qj>`Ds4%}&t5#iI1fp_tTf#6@x?gOvuu;-c>sM8)y(mi)N!SwJEO$dg4gy- zV-{_&H{&jRd#Z+0cU-BMwRMwcZT9#MgyBs1O`iu(hLxY;yU;}a*?s*xgnn}zH;Unm z@v;4jq-AA|jt+ihynm00bVjbrs}&FrK`Cs9mD$gqpLwrSeg<_wzd!CzgpShE*4B*l z2x2=ny9NEAolv~3P<-dS13Urv_K#4MmG$(({ru3$$jDGAsI}`8fee%HVy&Ntlgp4O zruU@Zf$DHZQZb#ht*uRrIiMmT(Junw1>EA9-7qD6nvCjyw8a)!j|k-n_%Uv3;bmOK z5Dm|zZ#u#RJdsu#8Wi*d8j>?ktD~2ksT{~J3Jh3%&qq7{DSmt&K^E6d3eQ4z@>JuS zyAR#Pr|BOZiL1rpOiT?H-gocbea4iYz$P#doI= z=JO5}K8XYw85wH>@48G6=o91OLZ_$iCrz0buue=&cnBB9J z(XlpAXf?;F)J&(N_d98PhFCt+J^m0H5-E)SJa{82K9$_GoYR>M?>vgOcl(n&Sxp?_ zc&i=UD2kfZcUlK6e`4kI@An~b0_tUkvy>)7CyQMoq!S9*unWIRtZd8A$H#d7JO
    fsG8tRQVa_J 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 AApigX diff --git a/tests/testthat/_snaps/windows-4.3/pca/pca-003.png b/tests/testthat/_snaps/windows-4.3/pca/pca-003.png deleted file mode 100644 index 8735a5605d6228c081505eb8fdf0b079dffff0af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17123 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 Rf4l-hQuK#N<#+vG{|5ol?xz3% diff --git a/tests/testthat/_snaps/windows-4.3/pca/pca-004.png b/tests/testthat/_snaps/windows-4.3/pca/pca-004.png deleted file mode 100644 index f5aa279432aa13ff84e802b4c1d79a07c3bd205c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29817 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 Ns3>U2KbAY@{eR#>u|EI+ diff --git a/tests/testthat/_snaps/windows-4.3/pca/pca-005.png b/tests/testthat/_snaps/windows-4.3/pca/pca-005.png deleted file mode 100644 index 5340112194b594577e59004123a9bc85604855e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9036 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 diff --git a/tests/testthat/_snaps/windows-4.3/pca/pca-006.png b/tests/testthat/_snaps/windows-4.3/pca/pca-006.png deleted file mode 100644 index b5b287ade922350e957b8976d3565e4fcdf6c0b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0y~yU_1q6i*T@kMDEv`11ZMhAa^H*b?0PW0y){9E{-7; zbKYJx6g*%caA1SVpO^pc2)wAwW#?=(e?PNQjN!wp8d(O0`m`ww0zE(;a(QD+Y_%w1FdE7boFyt=akR{0IOv&I{*Lx diff --git a/tests/testthat/_snaps/windows-4.3/pca/pca-007.png b/tests/testthat/_snaps/windows-4.3/pca/pca-007.png deleted file mode 100644 index 90c0bb2ab0f0dfba711e805eafa7a3d00c500bfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15466 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 Phau`JI(JaFte^c48<++= diff --git a/tests/testthat/_snaps/windows-4.3/pca/pca-008.png b/tests/testthat/_snaps/windows-4.3/pca/pca-008.png deleted file mode 100644 index a11d299d16a3b99321cf9317db5ba0eb9011259f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18648 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 OQIc1aLq2)__WuHZ=&$qu diff --git a/tests/testthat/_snaps/windows-4.3/pca/pca-009.png b/tests/testthat/_snaps/windows-4.3/pca/pca-009.png deleted file mode 100644 index 47e669de1d485b2db342c932ce75d9588a01ad89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23589 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 DWl?@N diff --git a/tests/testthat/_snaps/windows-4.3/quality/quality-001.png b/tests/testthat/_snaps/windows-4.3/quality/quality-001.png deleted file mode 100644 index 0124638f106ddfa2a12924e46780e64289897989..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3036 zcmV<23nTQ2P)Px=mPtfGRCt{2ojr^j#}$A-2Z7aS54iXUoUy>Mk&D%BAvb2@D;Tq|A;3lm2Ots~ zAfO^qu~K2XkW&aMY!$W(c?-#fAT}}9h(JRI4o!kG%?6Hn;f`3L8|y2n#q=IzhE=hH3aIE0ww!H<0Wr>h*ie~rtp z{gd-o@9`91;|yomWp^LoW!|`SoxlF~3Kws$bLsmpdFPd4!~Fheq?bq}63KJRgP-~F zKRfgu1b>&`;?m8_Ts?P%yS&Neo0r(wy}^w;LHjFZw*L4In*|e4KK8it$tV19`Y(L6 zwZ~WAgvs!2-a7pZlC!}6?TefX|JZn+>o+g3$9CU)>i!``~maUJDj<&$qAnD^DT4X z;pPg)^FMRP+YTY6$?h zZDLcysB7~~=lJP&XjwhVjV8eqB)RA__6L=UKBU_#(`Z(q)4~e=UBabpc3C|Z{rWNu zDhAJs`z?!pr-e1B1nbVFZQ4+qQx9$%v%4DDFT4G@Tk}gL%jXufMP9OO7TU=R|5B+L zbru%smo8tM->`d-^ZNBO{LQ#PA z)V+$H`t<1UlpV&GPd-o#c3PO;D7LT3Cr>~f?-ty)Nq1Fe#c}YWW?_yKFN#6vK{T3g$tv(d6vl_ zlrzOA+_s6ksxx#PMuGgglja98vfC!DgV4T{`kl6WjDk~TOS5&l?(JDSg?`ZQ(AtLb zii6_`K9IV0gqcU<+L)~a8qM{XxlGx5s_&>h`rN}Z2eZ4ZnD(GyLeHt|T=c62=N{Yt zgq>a5rpu~6#BoN#*hSV|QvW3QTpAf`EXgi0I-b>4g3WMoJy2`oaZ1$+s@cWq6JOa{ zAa429oHF{*iRL-8?$Yd=5vwJ$%y$Ouw(;YV;X6#fL(6K>S!+@)1&+E>!)OYIb++l~ zO{#}&EN6w9(e&?i+n83Hb)$|JIC-z!zz|C7R(m~Rk-4-jhn1RvKa{`gZ?7BF*8oO% z)G&;3d2qX<)2x|I*|c3Pa;TBhquem4mx4LiZCtI67L1D?$l34EvOG`(xq`rL z_zI%avS@YIVjZ&IX<>Wg1?!gjIh3I8t78I0TAHfEw9h?J-{8!%CB^z}Oo^`BMk$st>! zt=%+#&B4g=bzd*#mL-~bwMm1?5;uT1T#dK2+s3qq=nZ4y0m5&uV~|oV)n?mWe=t^K z*FX-xT43%`!b^%HB>)d+5Uy_uuDgu>XM8S=3|*w!WsOct^kq@z44a`*H>QN^A20+~ zW93{z-0~a-VY}PLv;}*l+BYRuzlbL&Ir&{;OTWXmGeXs-wb!T9^-yavC#OyW_2R>uf~ox6jB&RJnGY4sYa*QFCvU+s6gc#6(eG?Yf&5Dl)NM~xbq z3Zubc(650ZI=!Yv2{A&gM1jMf!;phM;JSEEfw1L5>ntUqL~Loz$n( z8%^j_+tLMnx$HQgpA}`TQ&T;P8<*j_>}D=<9pOVR~(Iv-g+5elg#CpFOzvPKK+ zKAw|Cy{0ls&~HB35^TMIoIVO=J(M%2EEy!)TB~CiVzTpnejyUqKpwwZWbXOmh!~%W zt-FG8Dvc~%6tasi*StGRcgJBQ*le!&l^WC=NNeQgW9YhjzgE>SEG9t>gRVVTZU$4cxI;o)EeE9(oLwM>>T zXQmK;&%qE@w25)oRuvcua(OmpmV*4N8H^NG*MyHs>#X2}gE3@;XPL}sCH^saR@MSK zosaxJ5s~5tnWM$oeQgzm!E$6z=AV0P9ElsD(7G$$e-gQM z5o?zc)ryK~TbNFcBfZRdsMMx+)uNnBi(AuV**7>c4cjx0{3JdpFNvj-c75dVN>D-$ z-l+ERpAf6zb+(CV2WOHj=AcCwCuTJ$Uk2r!WwBHTOgf(hILvYT@#wUe4<-A-Q5;Ln zpIDbK=VD1d1t9^bK`AjjE;$m?{3@Y3Q)KSxaU_8P>u#?8lStJ?hF!F}UosA^vrMOO z{1_+a1>fLK88=VCEzQ2AY7?V6K29`ETb@H_kX+(UWQ|n?hOzZOf)^JQ^u|;PIR>q6 zU>FT_Wkk>EQ(9kv(I8LC@g-Rm%6o+f%gRQ8bXjvKG+kd}R4VI@5lTIa-{44+q42Q*dF~7LoHPWr?Hj^cbl%jAJMr7Wb>7 zbI%_~q7e$MyW;&Pk)?~=b}3b98U{v91<#Es%g6Rkrxm_WlOD^K8@Hw@U|+3{VHh-Y zg;CFu-wsJ(js)$OWJb=maMt8INh|t5Oep@#0g)THZA`O0cD}wtZxozWX(aJ86n!fuK+PdrZaMv+ z^f-`I{uAtRH!0?|Ejvx45-Bje{1Ja4tG7Rg|dLT+HY!LP2lT zz_R^aN3~APHKQ{u+7D>(N7 z)LH|*YvH&q%)A(vG;Vmmimod-gYaB*x;?!FR;o6s4aPcAbRE^}Md#Af?G!2%7S(B9 zG&I%5woH0@gJw0&C*p2T^Mlzr=w-z}zjFN&oc|X2Sif0g6_PEtoW39RtWdWqwVI08 zP4BOWEG4~+V%eCcn|QVuU0Xei-m=DLp=ynW-o@6yVPf5kuP&FUYgCK1nbP4f5*p%#o|_Gk}i}Ngjg*} z91cL(_7aPiR8s%sc}nk>Rk z8WAxM=(lf^?VX12YmzdXtnHVdSYDE zBX#S-wOcrv2y2g+MN^h5P7=ElHi~GdiMj6_&s$0^dR%h!v1$Wm4cnQZy_T=tgfw& z((o#Ul59*`t-%xYw3s2Lc!{oik}hptNWB$y;NDT>v$n+8s42c%PI$g<(%aAfEz8em zi0>dKg*`8A&Z=&!3mqgJ9LnoTR1tYZtaluJK(gy2#7QUPElCQRx742{-%M-k!SfLw zH!VjtT&?cLXW_8#1}JlBJu*3Is(M9KM=M%;s5@^v#@RCG%bIR%we^nPpzmpWGHtXk z9kgQx$o=T&+hUBoOx>1cu7WwZZmQ4R?d1pIxtGM)oJ-#KyQY_K7i$WD&n09cc`2kz zuKaBBi?W+x<3T#79Z9t$#}rZB>&^kok-Z%m-ZVDvljm0xD3yzaf_8JFcp`sP%O^)h z%V0UBTzFpCWsdzh>FMd+lY+@U&*YbWT48hqwp`TIY~9Bv%o{GeBP8y9 z?=Ja;uUkFGI?nS*dt`Z9%JLd&YKE0LlPo9%7TwU!&aQUe{9IN}P6v9_K|YyxAV`i@KecEiKG;n?~I+xsfrGi}~KNj=pnd5+S9k3DItiAZX9E0@W? z9(H-XiO-fcPUJeNb#7ri7vGhs#kXqtjr8tZ>XQA1R;drka;80&LACMX*h6izUDe*s z8i|q@i?6k{HpMNwlyZotcLhl`Q5^eN+H*X;JKvO2MJdode?Is@NJy#gtPPL0W>WI;S_&>>qr#&0n>$>(XV2cK@|w(PfhbK)0L*O z5yu$Ij8_OENPB#LO29D<>JG+VFh7+XF!Ro&%ptDIW9*p?`bX}<26-;9AFiXLqXjuR%^FXRzhW_Z>bzQ| zdNMTjl*1m96W#siCtQ!2mU(dQ6!9oDdY^An+FWW+Y=#B4PWBczqVH?jOH7d+A(acW zWEsrVn~e${ty1(4r%95SDO!)Ece`!Z>p zJR}Rd5EBzqpphUk6=P`O3cJ7}u~{kT&-E8tHJ%NJ4c}|b)2p;^jF@Zqx~agTwy)H# zv!RwTp6f(zO%m^xf;$?7izd0Z)-Ew9Q_n&~a$MOgI*B?}Gpk8&*yCK$B2t~#fMd^T zvGs(DU^m1c-&anXY7wpT2-$JWZL+`ITiCE5FFC)csHmZ;-L`~bMWSzYV!pERXswLW zl+Ko}SfhHVh(I-L8%cEU%+PSB5BWPM^&9t;9Wo)P#flK|opWQIg9DZBTU)E^A|toZ zzeZ_Qy}GqVrfqhhno2OeX5ARZLph|GXvCV1Jg7GC`PD7#QTHBm@5&(o(+VYrN(&f_Yax2)fr%NnmPenc)Toc%Hcp|xh zEC#WH3YROGc0ImJ@A$6h`9MKxX^%xNT6<&#cI8kI8yBo79u)PQ$`t=LKF-ED1e=l9d;|W`JjWr+;^&D&5!qY<1O)Zi=(3AL#l+)$EGC#3p0Lvdyq$Yd0`Gk z1U8F`o&HjPL|C}<$q6fuZsTi2lW)}|mJ=-;nJji2RrQ=2Fiw*3F7TX@bLnM`{6vpd z5St!EgQNZ(?xwTCb>wTJt}L%Y-lXKGhhrsh-`pg<67;LoA#>Fq=U=9x%MW?*Kn&Y` zw3azl%`NNm0tLd|fYMPWmQ5ErD#^*Y=G9)rDjck(ib`P44Y;=ve>UK~Ci}*|goqkk zy?T`v)GDQsB5$5UE?kDZlfJUQ+GqL-7oWV@_U+s4yYu4uO0k(?JTj`0Gcz+KQ0$lv zc$T!g3X5mq9K;C3L`Q#bm7#V4Vx+_K#}3u_5>w4fY$Jwz$w|^FrvP=HJyR?+QlIuQ z1GF{3U@-Z7r&PON*{EkWH>=7qzNfjh+OZfk1`QvS&na4Se7NYH6E;D@(W3(+n4Oh% z!K&e5w)-7;3KrGg)NVND_@bhd7#(BdxD2h7f&^zmWkZo=z;v)k?VL_6YrbEcFpP;@ zT1a6V&=8Q>6!G|j>8I_X)tKHn)#RGo2d`LL0RqIF7v9L&nd*lh- zE2T5+VuTh2v@%Kn*89_o%hDqcPkGF>tK^!NJGr%v8P+jk4DwApjr!eQ?55;G?TZgd z9}^KNC{>RYG5^XWgvm2(%>$&0+?NFHfcyBRGx?HQ$+E_KBpkG>y(aA)`T+^M@{CX6X5Iv}R$vz~ZE;WJS0<*GtBKD{V-C4ylqHiHS%(8 z#H#<>7rA>rvIUzDC}#nT7OG$l6Bkb6s!#GTMg4!6>`T&-O1|g7Ls$K0#;DuZIl z?)#J`5Ir6cM=*~IW5vq(fCYH_n`ioSSJ8#ZC=W{w_)!b6%rAkrXhi(UJ0rK+V<9HCRW*wm&-` ze~8%)D+YX;Dv`G_M{mI9L;Q2v3Awf?D$@@4{*JbZNxa9(jb3IGZLv>D_j~lr*JAqfN@oZQB)r^APaTcaem!qrNLQsU67b89u1^jA07 zzXy#YIayhf57#9;zH~h6((xx9&es@B61!l#uz^7BkQ6yFYEGID`S8VqLttGLlE!UXPX%F7<5}7mu`FACqnvC8$+UIB|n-1@b8Wr_`U2@DB*_AO7(+ zxBqp$uV23&78De84ByFdux=039ZCb3uZLeGy4yXOFwJ(r@^89ecV}Q=K)PI5pFquI zo!E1e%EaJDd@X9rh;-blTW5WFEy+_`*RK5Pn|$-tr4GusZ{ITJ65|5R{E`i+R^t~U z?~|jeT9b@-_d?r7VL;9Th-C-m?UfVf_eYqNlSfB|w%kt_F9LRp!AFhH8tUl@3>3WC zyy0%=(i5(IF;+);!+Wr%D{fo|P-<>&)=4ZFTetew49*fH0|sw;@nS@WyA8v2j7d;T z)oy6({djUZQKzReN;GX5a$M2+zc2rC54IEq{4hG20lLNhL%etukRZ6KWAKNIhtJdH9L!wltn=FE;$0>V_bv!?E-LyMguQ z?#7-U!*5F6$(qNEi)LO&LL^svGZ|^^R z(D36S(P>H40Ks9L3LnmcJA-i-1d3p-CjX{K?jmC}4i1j-fdai%%a?(iJDMNfyGbWb zY8wX;%bxVd0lm>pEU@EPxg5F>244;;IyzZ&u(2u_V12v0M7p|c=IuAbxA9SS)}`Lp zCfMv1j)PVDf{89SW!pNhFIyo7`n>+i3D^-`z}rYNj@i?&)7&E>@aG#o)kyd^z#BRw ztbizYQ1tZm4<-(OPYdsEO_I^&Ff)f!+%a!-x9D11a>^9Rge|Y!7t!+YZ zp>^ScolU^d^>YpJ2I0JNC3c+|w^MP{TDll$NKD7gRh+1QQ3}3GGMQ*357rJNcL{z& z2teDhRqy6^R5xh(fIp*!wbo4%-9GJ8(>ke2d^N9sNG1_yl+xJR&AM`xM8q9ozMUzx zS7(+9caj}!<9=4^_EdJxRfjO?RJ@e?H`}jG5mjF!)zWJX3qUyLSlEEsK%ADHeSeD9 zbRhgYH0K`B7^Y;RD1!99oKx+l<1~_GD;pde_qsp4vw_EiHT|j3DwmxItpZM`N!Uu{ z%&lSae{1<)zs~ z2r`@_SaG+)wR0_R-Br!WnuLe{9{&9Y>HRnG`TzZU7dj$X0B8<}Q0EjQU38ihP^_uI z^7s&UO6B?U=MuWhkdG?`czVGzRRm8<4@@LaqQ2qSO-_-I?8P?rVeZgA^|i>E$Essg zYj-y{kMZox@oNgqIKmPG3s9|wW6ZUiI@iW5ty_jP>7-g4`hbx``|)NYwzueN{PD{- zm*z4RgcKAk0T+N5cL5qX99o6&x4=cg;nD}APd7y#Cx8K=sUH|fKt;N3`~HyK@N=q| zI&)c{AD7Ji#-0=T*k5+meFS~YkC6t&*D1q;AjU_>gnKO)zwBgyPRmh920KF9dn#}E z&D~6Y2?QxJQ6>EZHkixa8&dz(cTtlQK{iBt@K7tsysXb_6h87T{aC}A4iD;DAgADW zpR)O+z6Lq7Lya-{1+JqF?6y;eT9XDE3G7NGFgwcPHXzrJKK1~00)R~QB9^~l-v%q-kA@vt=tC8!6 z1jfoksy!(ggVo*?@B#JcQ-k2M9rC1ff3T5;yEp2HK#f>&?Ex6k3$TdF z>m6XFrRfL!Df#90Ghg39bw#Fw0uCqr1bADHQIQZ8#WzqzM1+NNr@6EdakpCjV7ANd`7i_W`$dw&sD^cC zSZz-{0?cac;i=Y-;4{F_%=KPNIcO%aBgC#bT8LZ94Rx(!e=I@c0q4eU@#pkiGhXDn zL*!h{L~)xuF!e(ikZFEP3*=u%wA<7e>%X;#ic~Ppy@C1EL19ZE6cYiv#kxI|-A`b5eUueqoo_#%jG) zt5*3fjK)%Gf-L#B1Ydc1eHoY{D8saAP0ZFzk|tIzs)^R7qYhuBnEN;NB)4XvyE1;I zfUfC1>w*>Sq0U}2QGIeJd+9Pr6+2wbt#@s0c=u|Z?Q2&?188;wwvNe*%$HL`o}#K! z(!3J@E_O~Ds$FfYvICcAx_0Gq;}h4;H3Pm`SXjL75qd7%i*w#-sINcP7PM4cKwymD zZuy6nZZd54;?fO2`c(e>WPi(S%`Fj2Gqb!eU#?&}z~<0dN>@$)MIxTH+rHk7+8w}( zGHI$_z|?;6YwA#~Og_^f5@`PZhzlls#rvXB*wq9OubsF2WrqAgvlX7RlEB`onL4_OEeW>xI7#y=Cn4P=3 zfrw5!gmg1(VVJ>v+9?s{4Ek7KC>#Bb2(a?6)yC3rbp}WOD(WI(BT)v>U6E3;9EpFB zegF=1&Mm_BULZMdlGZ^z?i*`bTB6tWoZBdujxDHEURYT0`|)ZGS`f7F?dKvr8hN~p z-mgQ>bOR9c;pQU1>B@jT#Y8HH^X3OJ%YzOSAjn?+F+LGfFfqWn*Jrtcu11|%kG56t zJvHef?*Z4lcQ*1B1at1R2j8IT^G(jVmn$~@9l0*1DcgN~dX~{*x%3Rk8H}T}&8s{L zf7fXTbw61CP(@YaIl15>-zi!8vI>v~ZihM7sf8L9Rp12+VA>SeHB$tpQ%Em@G}%M- zL$wjVzKhBY+B}1!4`u>b8oghQoH2kU{TBE{zSx+UY?zmgCBvLBFV@2v_?|^5kBk9$ zr+{RgkM^AtbLy6-05d3C%ygySbC3)&Ei}ZT`#&xT0mW@xEj3l!ObTtBBa)^kKNQSt;U3PC=;P2UDW-Np9T zXc2?+c7E~X% zQYU`j>C-UlQjGyuD(L;4&&f<+e<$-`{+?4vGQvf?uMaLBMMtj-Gax zC;@cn@|^nGV*9_%+5d3sS%2-uqeeh{ z)^;{Mj*hl{dk>(*GB`NctrbSQdL#wwrcD?fI1T6kn`@7R?W>!s{Jy8&6|;H2E6Hy> zo7l3%q6Qg4%N9TTmH)cTDkm2w9VRJ zMNcQg9QcDiXfWwjBua5UlUHUBJ!E^^td6{aVrrM>)i?tC)~ieZLsP^n8~AHUGuiAj zK$87{M0uh^d_h5#6|2{SLEQO1?i9fK({V(^v`k%;@bj6#7%)3S=%<|$R!35vfjV6{V;t>WB~w94?JC94A>tLjai_NdZ5D9(}J}edBmlDfWi#)G^0y>dtxQ#@m(9EMRAsVPy;2cpM8`6fvB3$ z^VeJ8??g5S_6+^iPN|=*iKgEl#S)*)I~r#EaxdL8e_^!*81uW@bW=( z7A6PwaEK4IY~u+2Wp3Si^%s1emBm~1bFW{$(QiG^{S9Q!8a)M-lQ_0}qQK+78L)sY zwqo&RjUn|{K(2>3>ca`8%!7{vfL@|35#y*qTL4YJ)v0Irhpgx%IA&nrM_ObSjC?r* zO$JSCyT-5w5``h?3~10$cC={15+&E8M-% zLs1G0E*bFi!F^PPt{ISqTRWQ|`-CF9AB=LvVES`zC@5x+>uFB|7&m&$B{lF9F8Yq-hx7^NRPC>42%0E{B!5rtGv5%mqcWVGX(Nz-XRyH}L|2 z9tZu|$4k8gO#upFLm~bousfE=;&h{6sV1&meA8O%$-qK4NoG2Xj2TnjbqRBR&?4x# z_J}ce2{B3=1XrX4QFqikUbzh0Q(#i-SL!$SJr(BSL=N%|dJ1m7*Hc6RtP3t)S)<=b zJXG87HWv*JusWmwG_lsj=Dz^fZsNpA)xT*SbilhAoG&J!xus>#gcKCPo{37GVI~3A z+K^1;R+C85RVU%cNp*E7Uq&Myk!m6l0;nep2B)e|&@=Qo8Qi!aphJli24~eZBRliA zwJI^cYaPmlp-YXZdMWhI>0diHtXfvqP!ajT1BQ{12b1xdfbs1~Rk+H}R&Y!Hahm;i z#_;cX_iOm$gL1`BpR5Gtz{SXd^vsMbA+XmngJ2PQ71j!;1DdBDEUSUgwmU2)C@U|o z3zBx8T^ChQ(^=3oEb5HF7S}aHPf}7ylAU79R;=03mBL=UChj~`Q>b!wbpo&uG;{_! zx&-|U9!uO*6-7jjKHwfI$D#9f6qvhm(ahu*bqN>=3@v}Vk87`_Hgqnhi4%{83A0Jm z?_fc|2bWzw)w>{lSYy5(vXJ}z5pp8PbYqt5)vM2)YH0>&mLesPku4zfhpTbTZO=(l zF>YeCkggs`~qszlpt5jfNZu#NpQSR&VuTH= zo~y-HJ$S%z8pJ<%O3rnxGUm^baC6A^Rl}e}!|9xjDFhl!L7?R39Oosc@K8BK351o>|oT2?59X zMaiDCB&^H!ox76-(MGpc5Wbo^a^aj|Q3uqXjR+8}?phs`+1$$lrVklK?(*7&ZwV;Z zvj~_zk4CzPYbb=#c}w}h@_ofIj~|a0HuC097Z=cc9i=qGj@}Q8(hE;|Q_IB_-o&d2 zIT*#%M^K>~9C`}OOZ{l}FwQ`yyWkK{{{FuG(&7TQoSz3R+<{0g9hH1$YM}q4rTdk##aKcgjNxD$q5No7?uI`EFl8lPsQrLZiI1WGP4~%)MH}mj#sysgE8A)@1{lQQ*7yWcaSjK~AyFYb;JU4b>Re z*VjW7qI9Z`9cV}0K7|IywrWbA1v5?;$g@+;v~nr7M-xImJy&DRGoW#Dw=0q`f3+fz0kn}|f{Q(Wq8#-w6N7fr)5CV5uFpo3$pDgub(RxZ@ zFlFLy?mHTjlb5FlMV6tFkYQYGW7qQd7z5M*9?$~adC1mj(CRc-Sj+6^6axn&ROj;L zR5b1sxah-zhaV}x`mUmYCZ0em{%S;>)Ihon)Yw@-O&wWYe4!ac6VaG2IAatD(h*@_ z6Mih9=~>qig6)vgCK3~?cD0NHNq_*80!CmFfmge4ro@k(U3WilCEj4hw{U9DC4tsA$B~F7o zYKjZq6H@O1hHl2?jYw#C({hb2=OCu3BZ*+%ZmW07=KaU;z_~P&mH=?1j);hKqcUM} zG2lazj3KzPrH^F*3q8q6-uB=i+Cv8Jb>jj(i0uuh*I_UC-3vS^uH+|(tpL<6i1wTG&tTU2u7razmY#bUj z0znB6tP=*iSr85GHu(nqs~v{BFlH17duY(Lk%s~1xBW42DAC;Bcx>I`)z`kOH|&KR z-u@)tZ*k2ZKIlW>qcmW_%^aLy@yC1Mqz(B|j&0wzO|OlYBN$S_N=cBuL(2p*L20Sy z?(%joEjzi2eFi)qs4qik_a*SG7YL+JBZ%=W2yU&Rjb*0f0Bu1j&)TDp1Pag@-|Luv cLa>(U9Xx5VirL#=QWiI6ffQUKLQLLk^lez diff --git a/tests/testthat/_snaps/windows-4.3/quality/quality-003.png b/tests/testthat/_snaps/windows-4.3/quality/quality-003.png deleted file mode 100644 index af99be875b068a370c0b958a7b1b4a7c6e776405..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16619 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 Hzx%%cD_q=# diff --git a/tests/testthat/_snaps/windows-4.3/scatterplot/scatterplot-001.png b/tests/testthat/_snaps/windows-4.3/scatterplot/scatterplot-001.png deleted file mode 100644 index baefb2d94c15d4b9095fc66f408d4861b8c29172..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22228 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 diff --git a/tests/testthat/test-barplot.R b/tests/testthat/test-barplot.R deleted file mode 100644 index a15ff756..00000000 --- a/tests/testthat/test-barplot.R +++ /dev/null @@ -1,100 +0,0 @@ -# ui_g_barplot ---- - -test_that("ui_g_barplot creates expected HTML", { - mae_name <- "MyMAE" - set.seed(999) - data <- teal.data::teal_data(MyMAE = function() hermes::multi_assay_experiment) - expect_silent(result <- ui_g_barplot( - id = "testid", - mae_name = mae_name, - summary_funs = list( - Mean = colMeans - ), - pre_output = NULL, - post_output = NULL - )) - - expect_tag(result) -}) - -# tm_g_barplot ---- - -# nolint start - -test_that("barplot module works as expected in the test app", { - skip_if_covr() - skip_if_too_deep(5) - - app <- AppDriver$new( - app_dir = test_path("barplot"), - name = "barplot", - variant = platform_variant(), - load_timeout = 300000 - ) - - app$wait_for_idle(timeout = 20000) - - - # check initialization - res <- app$get_active_module_input("experiment-name") - expect_identical(res, "hd1") - - res <- app$get_active_module_input("assay-name") - expect_identical(res, "counts") - - res <- app$get_active_module_input("genes") - expect_null(res) - - # check initial message - res <- app$get_active_module_output("table") - expect_equal(res$message, "please select at least one gene") - - # Set values - app$set_module_input("experiment-name", "hd2") - app$set_module_input("assay-name", "tmp") - app$set_module_input("x-genes", "GeneID:8086") - - app$wait_for_idle() - res <- app$get_active_module_input("x-genes") - expect_identical(res, "GeneID:8086") - - app$set_module_input("experiment-name", "hd1") - - # Check that gene list is updated - app$wait_for_idle() - res <- app$get_active_module_input("x-genes") - expect_null(res) - - # Check that assay list is updated - res <- app$get_active_module_input("assay") - expect_null(res) - - # Check error message in case of identical percentile boundaries - app$set_module_input("percentiles", c(0.1, 0.1)) - app$wait_for_idle() - - res <- app$get_active_module_output("table") - expect_equal( - res$message, - "please select two different quantiles - if you want only 2 groups, choose one quantile as 0 or 1" - ) - - # Set Experiment, assay, gene, percentile and facet - app$set_module_input("experiment-name", "hd1") - app$set_module_input("assay-name", "counts") - app$set_module_input("x-genes", "GeneID:47") - app$set_module_input("percentiles", c(0.2, 0.8)) - app$set_module_input("facet-sample_var", "AGE18") - - - app$wait_for_idle() - - res <- app$get_active_module_output("table") - expect_snapshot( - cat(res) - ) - - app$stop() -}) - -# nolint end diff --git a/tests/testthat/test-boxplot.R b/tests/testthat/test-boxplot.R deleted file mode 100644 index de0783d8..00000000 --- a/tests/testthat/test-boxplot.R +++ /dev/null @@ -1,67 +0,0 @@ -# ui_g_boxplot ---- - -test_that("ui_g_boxplot creates expected HTML", { - mae_name <- "MyMAE" - data <- teal.data::teal_data(MyMAE = function() hermes::multi_assay_experiment) - result <- ui_g_boxplot( - id = "testid", - mae_name = mae_name, - summary_funs = list(Mean = colMeans), - pre_output = NULL, - post_output = NULL - ) - expect_tag(result) -}) - -# tm_g_boxplot ---- - -# nolint start - -test_that("boxplot module works as expected in the test app", { - skip_if_covr() - skip_if_too_deep(5) - - app <- AppDriver$new( - app_dir = test_path("boxplot"), - name = "boxplot", - variant = platform_variant(), - load_timeout = 300000 - ) - - app$wait_for_idle(timeout = 20000) - - - # check initialization - res <- app$get_active_module_input("experiment-name") - expect_identical(res, "hd1") - - res <- app$get_active_module_input("assay-name") - expect_identical(res, "counts") - - res <- app$get_active_module_input("strat-sample_var") - expect_null(res) - - res <- app$get_active_module_input("genes-genes") - expect_null(res) - - # check initial message - res <- app$get_active_module_output("table") - expect_equal(res$message, "please select at least one gene") - - # Do a couple of updates to obtain a plot. - app$set_module_input("jitter", TRUE) - app$set_module_input("violin", TRUE) - app$set_module_input("genes-genes", "GeneID:5205") - app$set_module_input("strat-sample_var", "COUNTRY") - app$set_module_input("color-sample_var", "AGE18") - - - app$wait_for_idle() - - res <- app$get_active_module_output("table") - expect_snapshot(cat(res)) - - app$stop() -}) - -# nolint end diff --git a/tests/testthat/test-shinytest2-adtteSpec.R b/tests/testthat/test-shinytest2-adtteSpec.R index 03b118b2..982551a1 100644 --- a/tests/testthat/test-shinytest2-adtteSpec.R +++ b/tests/testthat/test-shinytest2-adtteSpec.R @@ -92,6 +92,7 @@ test_that("adtteSpecServer module works as expected in the test app", { ) app$wait_for_idle(timeout = 20000) + app$expect_no_shiny_error() # check initialization res <- app$get_values() diff --git a/tests/testthat/test-shinytest2-barplot.R b/tests/testthat/test-shinytest2-barplot.R index a9c47a98..a64e981b 100644 --- a/tests/testthat/test-shinytest2-barplot.R +++ b/tests/testthat/test-shinytest2-barplot.R @@ -99,11 +99,7 @@ test_that("barplot module works as expected in the test app", { app$wait_for_idle() - - res <- app$get_active_module_output("table") - expect_snapshot( - cat(res) - ) + app$expect_screenshot(selector = app$active_module_element("table")) app$stop() }) diff --git a/tests/testthat/test-shinytest2-boxplot.R b/tests/testthat/test-shinytest2-boxplot.R index 6fe5c52b..9bfb2901 100644 --- a/tests/testthat/test-shinytest2-boxplot.R +++ b/tests/testthat/test-shinytest2-boxplot.R @@ -70,9 +70,8 @@ test_that("boxplot module works as expected in the test app", { app$wait_for_idle() + app$expect_screenshot(selector = app$active_module_element("table")) - res <- app$get_active_module_output("table") - expect_snapshot(cat(res)) app$stop() }) diff --git a/tests/testthat/test-shinytest2-forest.R b/tests/testthat/test-shinytest2-forest.R index c3bd9139..53f20bfa 100644 --- a/tests/testthat/test-shinytest2-forest.R +++ b/tests/testthat/test-shinytest2-forest.R @@ -76,23 +76,21 @@ test_that("e2e: tm_g_forest_tte module works as expected in the test app", { # Choose another experiment. app$set_module_input("experiment-name", "hd2") - res <- app$wait_for_value(input = ns("assay-name")) + res <- app$wait_for_active_module_value(input = "assay-name") expect_identical(res, "cpm") # Choose a gene signature. app$set_module_input("genes-genes", c("GeneID:101927746", "GeneID:1820")) - res <- app$wait_for_value(output = ns("plot-plot_out_main")) + res <- app$wait_for_active_module_value(output = "plot-plot_out_main") expect_identical(res$message, "please select an endpoint") # Choose an endpoint. app$set_module_input("adtte-paramcd", "PFS") app$wait_for_idle() - res <- app$get_active_module_output("table") - expect_snapshot( - cat(res) - ) + app$expect_screenshot(selector = app$active_module_element("table")) + app$stop() }) diff --git a/tests/testthat/test-shinytest2-km.R b/tests/testthat/test-shinytest2-km.R index d4abe10c..83f3f4ee 100644 --- a/tests/testthat/test-shinytest2-km.R +++ b/tests/testthat/test-shinytest2-km.R @@ -90,11 +90,8 @@ test_that("e2e: tm_g_km module works as expected ", { expect_identical(res$message, "please select an endpoint") app$set_module_input("adtte-paramcd", "PFS") app$wait_for_idle() + app$expect_screenshot(selector = app$active_module_element("table")) - res <- app$get_active_module_output("table") - expect_snapshot( - cat(res) - ) app$stop() }) diff --git a/tests/testthat/test-shinytest2-pca.R b/tests/testthat/test-shinytest2-pca.R index b60b22e7..250f8389 100644 --- a/tests/testthat/test-shinytest2-pca.R +++ b/tests/testthat/test-shinytest2-pca.R @@ -63,10 +63,8 @@ test_that("pca module works as expected in the test app", { res <- app$get_active_module_input("show_matrix") expect_true(res) - res <- app$get_active_module_output("test_pca") - expect_snapshot( - cat(res) - ) + app$expect_screenshot(selector = app$active_module_element("test_pca")) + # Add a gene filter and deselect everything and check that it does not crash. app$set_module_input("add-MAE-hd1-row_to_add", "symbol") @@ -98,10 +96,8 @@ test_that("pca module works as expected in the test app", { res <- app$get_active_module_input("show_matrix") expect_true(res) - res <- app$get_active_module_output("test_cor") - expect_snapshot( - cat(res) - ) + app$expect_screenshot(selector = app$active_module_element("test_cor")) + # Now update experiment name, assay name, cluster & matrix option on correlation tab. app$set_module_input("experiment-name", "hd2") @@ -110,10 +106,8 @@ test_that("pca module works as expected in the test app", { app$set_module_input("show_matrix", FALSE) app$wait_for_idle() - res <- app$get_active_module_output("test_cor") - expect_snapshot( - cat(res) - ) + app$expect_screenshot(selector = app$active_module_element("test_cor")) + # Now go back to pca tab and update experiment, assay name, variance % option, # label option and matrix option. @@ -125,10 +119,8 @@ test_that("pca module works as expected in the test app", { app$set_module_input("label", FALSE) app$wait_for_idle() - res <- app$get_active_module_output("test_pca") - expect_snapshot( - cat(res) - ) + app$expect_screenshot(selector = app$active_module_element("test_pca")) + # Update experiment / assay (ensure xvar and yvar revert back to PC1 and PC2, assay to counts) # and add color for pca. @@ -160,7 +152,7 @@ test_that("pca module works as expected in the test app", { app$set_module_input("y_var", "2") - res <- app$wait_for_value(output = ns("plot_pca-plot_main")) + res <- app$wait_for_active_module_value(output = "plot_pca-plot_main") expect_identical(res$message, "please select two different principal components") # Update the inputs to PCA tab, hd1, counts, PC3, PC4, and add filters. @@ -181,10 +173,8 @@ test_that("pca module works as expected in the test app", { res <- app$get_active_module_input("y_var") expect_identical(res, "2") - res <- app$get_active_module_output("test_pca") - expect_snapshot( - cat(res) - ) + + app$expect_screenshot(selector = app$active_module_element("test_pca")) # Update to cor tab. app$set_module_input("active-MAE-subjects-MAE_SEX-inputs-selection_open", TRUE, allow_no_input_binding_ = TRUE) @@ -200,13 +190,10 @@ test_that("pca module works as expected in the test app", { # Initiate the use of Top Variance Genes filtering functionality. app$set_module_input("filter_top", TRUE) - res <- app$wait_for_value(input = ns("n_top")) + res <- app$wait_for_active_module_value(input = "n_top") expect_identical(res, 500L) - res <- app$get_active_module_output("test_pca") - expect_snapshot( - cat(res) - ) + app$expect_screenshot(selector = app$active_module_element("test_pca")) # Change the number of top genes. app$set_module_input("n_top", 777L) @@ -221,22 +208,16 @@ test_that("pca module works as expected in the test app", { # Increase number of top genes to maximum. app$set_module_input("n_top", 2500L) app$wait_for_idle() - res <- app$get_active_module_output("test_pca") - expect_snapshot( - cat(res) - ) + app$expect_screenshot(selector = app$active_module_element("test_pca")) # Switch off gene filtering and check that table is still the same. app$set_module_input("filter_top", FALSE) app$wait_for_idle() - res <- app$get_active_module_output("test_pca") - expect_snapshot( - cat(res) - ) + app$expect_screenshot(selector = app$active_module_element("test_pca")) # Go back to first experiment and check that n_top stayed the same. app$set_module_input("experiment-name", "hd1") - res <- app$wait_for_value(input = ns("n_top")) + res <- app$wait_for_active_module_value(input = "n_top") expect_identical(res, 2500L) app$stop() }) diff --git a/tests/testthat/test-shinytest2-quality.R b/tests/testthat/test-shinytest2-quality.R index ca409ac1..73ac7ffb 100644 --- a/tests/testthat/test-shinytest2-quality.R +++ b/tests/testthat/test-shinytest2-quality.R @@ -54,40 +54,31 @@ test_that("e2e: quality module works as expected in the test app", { # Check that warning message for at least 2 genes works as expected. app$set_module_input("min_cpm", 54356) - res <- app$wait_for_value(output = ns("table")) + res <- app$wait_for_active_module_value(output = "table") expect_identical(res$message, "Please change gene filters to ensure that there are at least 2 genes") # Initial plot. - res <- app$get_active_module_output("table") - expect_snapshot( - res - ) + app$expect_screenshot(selector = app$active_module_element("table")) # Choose another experiment. app$set_module_input("experiment-name", "hd3") app$set_module_input("min_depth", "Specify") # Check state of encodings again. - res <- app$wait_for_value(input = ns("min_cpm")) + res <- app$wait_for_active_module_value(input = "min_cpm") expect_identical(res, 26L) - res <- app$wait_for_value(input = ns("min_depth_continuous")) + res <- app$wait_for_active_module_value(input = "min_depth_continuous") expect_identical(res, 1777260L) # Final histogram plot. - res <- app$get_active_module_output("table") - expect_snapshot( - cat(res) - ) + app$expect_screenshot(selector = app$active_module_element("table")) # Change to another plot type so that we can choose another assay. app$set_module_input("plot_type", "Top Genes Plot") app$set_module_input("assay-name", "cpm") app$wait_for_idle(timeout = 30000) - res <- app$get_active_module_output("table") - expect_snapshot( - cat(res) - ) + app$expect_screenshot(selector = app$active_module_element("table")) app$stop() }) diff --git a/tests/testthat/test-shinytest2-scatterplot.R b/tests/testthat/test-shinytest2-scatterplot.R index 90c686aa..a59c7b23 100644 --- a/tests/testthat/test-shinytest2-scatterplot.R +++ b/tests/testthat/test-shinytest2-scatterplot.R @@ -56,7 +56,7 @@ test_that("e2e: scatterplot module works as expected", { # Choose another experiment. app$set_module_input("experiment-name", "hd2") - res <- app$wait_for_value(input = ns("assay-name")) + res <- app$wait_for_active_module_value(input = "assay-name") expect_identical(res, "cpm") app$wait_for_idle() @@ -81,7 +81,7 @@ test_that("e2e: scatterplot module works as expected", { res <- app$get_active_module_input("x_spec-genes") expect_identical(res, "GeneID:503538") - res <- app$wait_for_value(input = ns("y_spec-genes")) + res <- app$wait_for_active_module_value(input = "y_spec-genes") expect_identical(res, "GeneID:8086") # Remove sample filter @@ -90,7 +90,7 @@ test_that("e2e: scatterplot module works as expected", { res <- app$get_active_module_input("x_spec-genes") expect_identical(res, "GeneID:503538") - res <- app$wait_for_value(input = ns("y_spec-genes")) + res <- app$wait_for_active_module_value(input = "y_spec-genes") expect_identical(res, "GeneID:8086") # Now change the experiment_name, genes, method. @@ -101,10 +101,7 @@ test_that("e2e: scatterplot module works as expected", { app$set_module_input("facet_var-sample_var", "AGE18") app$wait_for_idle() - res <- app$get_active_module_output("table") - expect_snapshot( - cat(res) - ) + app$expect_screenshot(selector = app$active_module_element("table")) app$stop() }) diff --git a/tests/testthat/test-shinytest2-volcanoplot.R b/tests/testthat/test-shinytest2-volcanoplot.R index 5cda889b..15c22a6b 100644 --- a/tests/testthat/test-shinytest2-volcanoplot.R +++ b/tests/testthat/test-shinytest2-volcanoplot.R @@ -62,15 +62,13 @@ test_that("volcanoplot module works as expected in the test app", { app$set_module_input("compare_group-sample_var", "AGE18") app$wait_for_idle(timeout = 30000) - res <- app$get_active_module_output("test") - expect_snapshot(cat(res)) + app$expect_screenshot(selector = app$active_module_element("test")) # Now change the log2_fc_thresh and check that the plot is updated accordingly. app$set_module_input("log2_fc_thresh", 8) app$wait_for_idle(timeout = 30000) - res <- app$get_active_module_output("test") - expect_snapshot(cat(res)) + app$expect_screenshot(selector = app$active_module_element("test")) app$stop() })