From 1405c831f603dbf264ed749aee3997589912bf1f Mon Sep 17 00:00:00 2001 From: Ron Williams Date: Tue, 19 Sep 2023 08:28:48 -0700 Subject: [PATCH 01/48] fix typo for RGI container --- modules/nf-core/rgi/heatmap/main.nf | 2 +- modules/nf-core/rgi/main/main.nf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/nf-core/rgi/heatmap/main.nf b/modules/nf-core/rgi/heatmap/main.nf index 406ec71d..5885aafc 100644 --- a/modules/nf-core/rgi/heatmap/main.nf +++ b/modules/nf-core/rgi/heatmap/main.nf @@ -14,7 +14,7 @@ process RGI_HEATMAP { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://depot.galaxyproject.org/singularity/rgi:6.0.2--pyha8f3691_0' : - 'quay.io/biocontainers/rgi:6.0.2--pyha8f3691_0 ' }" + 'quay.io/biocontainers/rgi:6.0.2--pyha8f3691_0' }" input: tuple val(meta), path(json, stageAs: 'json/*') diff --git a/modules/nf-core/rgi/main/main.nf b/modules/nf-core/rgi/main/main.nf index 6796f814..7a80e963 100644 --- a/modules/nf-core/rgi/main/main.nf +++ b/modules/nf-core/rgi/main/main.nf @@ -14,7 +14,7 @@ process RGI_MAIN { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://depot.galaxyproject.org/singularity/rgi:6.0.2--pyha8f3691_0' : - 'quay.io/biocontainers/rgi:6.0.2--pyha8f3691_0 ' }" + 'quay.io/biocontainers/rgi:6.0.2--pyha8f3691_0' }" input: tuple val(meta), path(fasta) From f9196d6e6d00fafec916b374fcf0fd1faac7ff21 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Thu, 21 Sep 2023 15:46:55 +0000 Subject: [PATCH 02/48] fix typo in pirate workflow --- data/conda/meta.yaml | 2 +- nextflow.config | 2 +- subworkflows/local/kraken2/meta.yml | 2 +- subworkflows/local/pirate/main.nf | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/conda/meta.yaml b/data/conda/meta.yaml index 881c254e..9dfeea5b 100644 --- a/data/conda/meta.yaml +++ b/data/conda/meta.yaml @@ -1,4 +1,4 @@ -{% set version = '3.0.0' %} +{% set version = '3.0.1' %} package: name: bactopia diff --git a/nextflow.config b/nextflow.config index a106eba3..ca237b53 100644 --- a/nextflow.config +++ b/nextflow.config @@ -5,7 +5,7 @@ manifest { homePage = 'https://github.com/bactopia/bactopia' description = 'An extensive workflow for processing Illumina sequencing of bacterial genomes.' mainScript = 'main.nf' - version = '3.0.0' + version = '3.0.1' nextflowVersion = '>=21.10' } diff --git a/subworkflows/local/kraken2/meta.yml b/subworkflows/local/kraken2/meta.yml index fd676cbc..7799c4eb 100644 --- a/subworkflows/local/kraken2/meta.yml +++ b/subworkflows/local/kraken2/meta.yml @@ -1,4 +1,4 @@ -name: kraken +name: kraken2 description: Taxonomic classifications of sequence reads keywords: - classify diff --git a/subworkflows/local/pirate/main.nf b/subworkflows/local/pirate/main.nf index c2c231ca..7a4cac52 100644 --- a/subworkflows/local/pirate/main.nf +++ b/subworkflows/local/pirate/main.nf @@ -5,7 +5,7 @@ include { initOptions } from '../../../lib/nf/functions' options = initOptions(params.containsKey("options") ? params.options : [:], 'pirate') options.is_module = params.wf == 'pirate' ? true : false options.args = [ - params.para_off ? "--para_off" : "", + params.para_off ? "--para-off" : "", params.pan_opt ? "--pan-opt '${params.pan_opt}'" : "", params.z ? "-z 2" : "", "--steps ${params.steps}", From 00732c6a50a10cdb2e32be611adbc9c0dd4a3d42 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Fri, 22 Sep 2023 23:34:37 +0000 Subject: [PATCH 03/48] fix typo in sketcher module --- CHANGELOG.md | 6 ++++++ modules/local/bactopia/sketcher/main.nf | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2743d27..bb565d6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ description: A full list of Bactopia releases and a description of the changes. --- # Changelog +## v3.0.1 bactopia/bactopia "" - 2023/??/?? + +### `Fixed` + +- typo in sketcher module + ## v3.0.0 bactopia/bactopia "Black Cat and Brown Dog" - 2023/09/11 ### `Added` diff --git a/modules/local/bactopia/sketcher/main.nf b/modules/local/bactopia/sketcher/main.nf index 0bb93eea..0233fc25 100644 --- a/modules/local/bactopia/sketcher/main.nf +++ b/modules/local/bactopia/sketcher/main.nf @@ -47,7 +47,7 @@ process SKETCHER { # Mash Screen echo "identityshared-hashesmedian-multiplicityp-valuequery-IDquery-comment" | sed 's//\t/g' > ${prefix}-mash-refseq88-k21.txt - gzip -cd ${fasta} | mash screen ${options.args3} -p ${task.cpus} ${mash_db} - | sort -gr >> ${prefix}-mash-refseq88-k21.txt + gzip -cd ${fasta} | mash screen ${options.args3} -p ${task.cpus} ${$mash_name} - | sort -gr >> ${prefix}-mash-refseq88-k21.txt # Sourmash classify sourmash lca classify --query ${prefix}.sig --db ${sourmash_db} > ${prefix}-sourmash-gtdb-rs207-k31.txt From 927a66f888fcdd937af6704bdb94c6127efcd3c3 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Mon, 25 Sep 2023 19:16:09 +0000 Subject: [PATCH 04/48] bump version for dev build --- CHANGELOG.md | 4 +++- bin/bactopia/bactopia | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bb565d6e..ffe4b177 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,9 @@ description: A full list of Bactopia releases and a description of the changes. ### `Fixed` -- typo in sketcher module +- variable name in sketcher module +- `--para-off` not correctly implemented in PIRATE module +- extra space in RGI container image name ## v3.0.0 bactopia/bactopia "Black Cat and Brown Dog" - 2023/09/11 diff --git a/bin/bactopia/bactopia b/bin/bactopia/bactopia index efff6001..fb58144f 100755 --- a/bin/bactopia/bactopia +++ b/bin/bactopia/bactopia @@ -1,5 +1,5 @@ #!/usr/bin/env bash -VERSION=3.0.0 +VERSION=3.0.1 CONDA_ENV=$(which bactopia | sed 's=bin/bactopia==') BACTOPIA_NF="${CONDA_ENV}/share/bactopia-${VERSION}" From ad261c4d91785d5758c177baecf2153594070ebb Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Mon, 25 Sep 2023 20:29:14 +0000 Subject: [PATCH 05/48] abricate and ariba outputs and run get sub directories --- conf/params.config | 2 +- conf/schema/generic.json | 6 ------ modules/local/bactopia/sketcher/main.nf | 3 +-- modules/nf-core/abricate/run/params.config | 1 + modules/nf-core/ariba/run/params.config | 1 + nextflow.config | 5 +++-- subworkflows/local/abricate/main.nf | 2 +- 7 files changed, 8 insertions(+), 12 deletions(-) diff --git a/conf/params.config b/conf/params.config index e8655fb7..82cf99d4 100644 --- a/conf/params.config +++ b/conf/params.config @@ -12,7 +12,7 @@ params { merge_folder = "merged-results" //nf-core - schema_ignore_params = 'prokka_debug,is_ci,sourmash_url,mash_url,mlst_url,amrfinder_url,merge_folder,wf_has_subdir,build_all,use_mamba,empty_proteins,empty_tf,empty_adapters,empty_phix,help_all,include_tools,min_time,publish_dir,silent,test_data,test_data_dir,verbose,schema_inputs,empty_extra,empty_r2,empty_r1,workflows,available_workflows,is_subworkflow,enable_conda,force_rebuild,config_profile_url,config_profile_contact,config_profile_description,config_profile_name' + schema_ignore_params = 'run_name,prokka_debug,is_ci,sourmash_url,mash_url,mlst_url,amrfinder_url,merge_folder,wf_has_subdir,build_all,use_mamba,empty_proteins,empty_tf,empty_adapters,empty_phix,help_all,include_tools,min_time,publish_dir,silent,test_data,test_data_dir,verbose,schema_inputs,empty_extra,empty_r2,empty_r1,workflows,available_workflows,is_subworkflow,enable_conda,force_rebuild,config_profile_url,config_profile_contact,config_profile_description,config_profile_name' schema_inputs = ['fastqs', 'R1,R2,SE,sample,hybrid', 'R1,R2,sample', 'SE,sample', 'assembly,sample', 'accessions', 'accession'] // Max Job Request Parameters diff --git a/conf/schema/generic.json b/conf/schema/generic.json index 5766832f..3a707522 100644 --- a/conf/schema/generic.json +++ b/conf/schema/generic.json @@ -18,12 +18,6 @@ "description": "Base directory to write results to", "fa_icon": "fas fa-folder" }, - "run_name": { - "type": "string", - "default": "bactopia", - "description": "Name of the directory to hold results", - "fa_icon": "fas fa-folder" - }, "skip_compression": { "type": "boolean", "default": false, diff --git a/modules/local/bactopia/sketcher/main.nf b/modules/local/bactopia/sketcher/main.nf index 0233fc25..bc87d5e0 100644 --- a/modules/local/bactopia/sketcher/main.nf +++ b/modules/local/bactopia/sketcher/main.nf @@ -45,9 +45,8 @@ process SKETCHER { sourmash sketch dna ${options.args2} --merge ${prefix} -o ${prefix}.sig ${fasta} # Mash Screen - echo "identityshared-hashesmedian-multiplicityp-valuequery-IDquery-comment" | sed 's//\t/g' > ${prefix}-mash-refseq88-k21.txt - gzip -cd ${fasta} | mash screen ${options.args3} -p ${task.cpus} ${$mash_name} - | sort -gr >> ${prefix}-mash-refseq88-k21.txt + gzip -cd ${fasta} | mash screen ${options.args3} -p ${task.cpus} ${mash_name} - | sort -gr >> ${prefix}-mash-refseq88-k21.txt # Sourmash classify sourmash lca classify --query ${prefix}.sig --db ${sourmash_db} > ${prefix}-sourmash-gtdb-rs207-k31.txt diff --git a/modules/nf-core/abricate/run/params.config b/modules/nf-core/abricate/run/params.config index 1131d861..880df93f 100644 --- a/modules/nf-core/abricate/run/params.config +++ b/modules/nf-core/abricate/run/params.config @@ -7,4 +7,5 @@ params { abricate_db = "ncbi" minid = 80 mincov = 80 + run_name = "${params.wf}-${params.abricate_db}" } diff --git a/modules/nf-core/ariba/run/params.config b/modules/nf-core/ariba/run/params.config index 5d7e1e2c..3a425119 100644 --- a/modules/nf-core/ariba/run/params.config +++ b/modules/nf-core/ariba/run/params.config @@ -15,4 +15,5 @@ params { gene_nt_extend = 30 unique_threshold = 0.03 ariba_no_clean = false + run_name = "${params.wf}-${params.ariba_db}" } diff --git a/nextflow.config b/nextflow.config index ca237b53..4e1c2132 100644 --- a/nextflow.config +++ b/nextflow.config @@ -82,9 +82,10 @@ includeConfig "conf/outputs.config" // Set up containers run_timestamp = new java.util.Date().format('yyyyMMdd-HHmmss') -rundir = "${params.wf}-${run_timestamp}" +rundir = "${params.run_name}-${run_timestamp}" + if (params.is_ci) { - rundir = "${params.wf}" + rundir = "${params.run_name}" } singularity_cache = System.getenv("NXF_SINGULARITY_CACHEDIR") ? "${NXF_SINGULARITY_CACHEDIR}" : "${params.singularity_cache}" includeConfig "conf/profiles.config" diff --git a/subworkflows/local/abricate/main.nf b/subworkflows/local/abricate/main.nf index 31c3b5db..f3cce243 100644 --- a/subworkflows/local/abricate/main.nf +++ b/subworkflows/local/abricate/main.nf @@ -8,7 +8,7 @@ options.args = [ "--minid ${params.minid}", "--mincov ${params.mincov}" ].join(' ').replaceAll("\\s{2,}", " ").trim() - +options.subdir = params.abricate_db include { ABRICATE_RUN } from '../../../modules/nf-core/abricate/run/main' addParams( options: options ) include { ABRICATE_SUMMARY } from '../../../modules/nf-core/abricate/summary/main' addParams( options: [logs_subdir: 'abricate-concat', process_name: params.merge_folder] ) From 1cfeff1aa1db307c5754dc286cc835b96c5de5b7 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Tue, 3 Oct 2023 16:01:38 +0000 Subject: [PATCH 06/48] fix stderr parsing for sourmash versioning --- CHANGELOG.md | 1 + modules/local/bactopia/sketcher/main.nf | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ffe4b177..5559411d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ description: A full list of Bactopia releases and a description of the changes. - variable name in sketcher module - `--para-off` not correctly implemented in PIRATE module - extra space in RGI container image name +- sourmash version STDERR not parsed out ## v3.0.0 bactopia/bactopia "Black Cat and Brown Dog" - 2023/09/11 diff --git a/modules/local/bactopia/sketcher/main.nf b/modules/local/bactopia/sketcher/main.nf index bc87d5e0..ef4137eb 100644 --- a/modules/local/bactopia/sketcher/main.nf +++ b/modules/local/bactopia/sketcher/main.nf @@ -55,7 +55,7 @@ process SKETCHER { cat <<-END_VERSIONS > versions.yml "${task.process}": mash: \$(echo \$(mash 2>&1) | sed 's/^.*Mash version //;s/ .*\$//') - sourmash: \$(echo \$(sourmash --version 2>&1) | sed 's/sourmash //;') + sourmash: \$(echo \$(sourmash --version 2>&1) | sed 's/.*sourmash //;') END_VERSIONS """ } From f0dab4476e0c27d7280ef12ac3a3f43527aa0e99 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Fri, 27 Oct 2023 17:35:45 +0000 Subject: [PATCH 07/48] add updated models for medaka --- CHANGELOG.md | 5 +++++ modules/local/bactopia/assembler/main.nf | 6 +++--- modules/local/bactopia/qc/main.nf | 16 ++++++++++++++-- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5559411d..088e08c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,12 +6,17 @@ description: A full list of Bactopia releases and a description of the changes. ## v3.0.1 bactopia/bactopia "" - 2023/??/?? +### `Added` + +- Updated `bactopia-assembler` to include updated Medaka models + ### `Fixed` - variable name in sketcher module - `--para-off` not correctly implemented in PIRATE module - extra space in RGI container image name - sourmash version STDERR not parsed out +- FASTQC writing to /tmp dir on HPC when non-readable ## v3.0.0 bactopia/bactopia "Black Cat and Brown Dog" - 2023/09/11 diff --git a/modules/local/bactopia/assembler/main.nf b/modules/local/bactopia/assembler/main.nf index a5c15d2c..aa22770a 100644 --- a/modules/local/bactopia/assembler/main.nf +++ b/modules/local/bactopia/assembler/main.nf @@ -4,7 +4,7 @@ RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_c options = initOptions(params.options ? params.options : [:], 'assembler') options.ignore = [".fastq.gz"] options.btype = options.btype ?: "main" -conda_tools = "bioconda::bactopia-assembler=1.0.2" +conda_tools = "bioconda::bactopia-assembler=1.0.3" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -15,8 +15,8 @@ process ASSEMBLER { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/bactopia-assembler:1.0.2--hdfd78af_0' : - 'quay.io/biocontainers/bactopia-assembler:1.0.2--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/bactopia-assembler:1.0.3--hdfd78af_0' : + 'quay.io/biocontainers/bactopia-assembler:1.0.3--hdfd78af_0' }" input: tuple val(meta), path(fq), path(extra) diff --git a/modules/local/bactopia/qc/main.nf b/modules/local/bactopia/qc/main.nf index 35e0c460..1b7ac0be 100644 --- a/modules/local/bactopia/qc/main.nf +++ b/modules/local/bactopia/qc/main.nf @@ -329,18 +329,30 @@ process QC { fi if [ "\${ENABLE_ILLUMINA}" -eq "1" ]; then + # Fix issue on HPC when /tmp not writable + mkdir -p ./tmp if [[ "${meta.single_end}" == "false" || "\${IS_HYBRID}" -eq "1" ]]; then # Paired-End Reads ln -s ${fq[0]} ${prefix}_R1-original.fastq.gz ln -s ${fq[1]} ${prefix}_R2-original.fastq.gz ln -s results/${prefix}_R1.fastq.gz ${prefix}_R1-final.fastq.gz ln -s results/${prefix}_R2.fastq.gz ${prefix}_R2-final.fastq.gz - fastqc --noextract -f fastq -t ${task.cpus} ${prefix}_R1-original.fastq.gz ${prefix}_R2-original.fastq.gz ${prefix}_R1-final.fastq.gz ${prefix}_R2-final.fastq.gz + fastqc \ + --noextract \ + --dir ./tmp \ + -f fastq \ + -t ${task.cpus} \ + ${prefix}_R1-original.fastq.gz ${prefix}_R2-original.fastq.gz ${prefix}_R1-final.fastq.gz ${prefix}_R2-final.fastq.gz else # Single-End Reads ln -s ${fq[0]} ${prefix}-original.fastq.gz ln -s results/${prefix}.fastq.gz ${prefix}-final.fastq.gz - fastqc --noextract -f fastq -t ${task.cpus} ${prefix}-original.fastq.gz ${prefix}-final.fastq.gz + fastqc \ + --noextract \ + --dir ./tmp \ + -f fastq \ + -t ${task.cpus} \ + ${prefix}-original.fastq.gz ${prefix}-final.fastq.gz fi mv *_fastqc.html *_fastqc.zip results/summary/ fi From 79c573d0f151b83890b6c0a1a3188ebfd830afc9 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Tue, 31 Oct 2023 15:41:56 +0000 Subject: [PATCH 08/48] add profile for arcc_hawk --- conf/profiles.config | 4 ++++ conf/profiles/arcc_hawk.config | 39 ++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 conf/profiles/arcc_hawk.config diff --git a/conf/profiles.config b/conf/profiles.config index 6eebed10..8f51bbeb 100644 --- a/conf/profiles.config +++ b/conf/profiles.config @@ -66,6 +66,10 @@ profiles { includeConfig "base.config" includeConfig "profiles/arcc.config" } + arcc_hawk { + includeConfig "base.config" + includeConfig "profiles/arcc_hawk.config" + } wsvl { includeConfig "base.config" includeConfig "profiles/wsvl.config" diff --git a/conf/profiles/arcc_hawk.config b/conf/profiles/arcc_hawk.config new file mode 100644 index 00000000..50ed64d3 --- /dev/null +++ b/conf/profiles/arcc_hawk.config @@ -0,0 +1,39 @@ +/* +This file includes default values to simplify Bactopia runs on ARCCA HAWK. + +Some SCW users may need to add accessible params as bactopia arguments: + +params.slurm_opts replacement argument: + --slurm_opts '--account scw1234 --qos=maxjobs1234' + +params.singularity_cache overwrite argument: + --singularity_cache /home/scw1234/.nextflow/bactopia/singularitycache/ + +Contact boostrom@cf.ac.uk if help is required with these arguments. +Contact arcca@cf.ac.uk to manage your SLURM QOS. +*/ + +params { + config_profile_name = 'ARCCA_HAWK' + config_profile_description = 'Advanced Research Computing at Cardiff (ARCCA) - HAWK cluster' + config_profile_contact = 'Ian Boostrom, or more realistically (@rpetit3) c/o (@incoherentian)' + config_profile_url = 'https://www.cardiff.ac.uk/advanced-research-computing/research/collaboration' + slurm_queue = 'htc' + slurm_opts = '--account scw1773 --qos=maxjobs1500' + singularity_cache = '/home/scw1940/.nextflow/bactopia/singularitycache/' + slurm_use_scratch = false +} + +process { + executor = 'slurm' + queue = "${params.slurm_queue}" + scratch = params.slurm_use_scratch + clusterOptions = "${params.slurm_opts}" + beforeScript = 'module load singularity-ce/3.11.4' +} + +singularity { + enabled = true + autoMounts = true + cacheDir = "${params.singularity_cache}" +} From bf8129dcc2d20c3468ec37bf049c7fca327da4d4 Mon Sep 17 00:00:00 2001 From: Ignacio Ferres Date: Fri, 19 Jan 2024 09:55:52 -0300 Subject: [PATCH 09/48] fixed repeated r1 parameter --- conf/params/bactopia.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/params/bactopia.config b/conf/params/bactopia.config index 5877861d..7f388087 100644 --- a/conf/params/bactopia.config +++ b/conf/params/bactopia.config @@ -18,7 +18,7 @@ params { samples = null check_samples = false r1 = null - r1 = null + r2 = null se = null sample = null ont = null From f12a7f29dc8b9cf6d332c29dae7ceb55f8590c54 Mon Sep 17 00:00:00 2001 From: Ignacio Ferres Date: Fri, 19 Jan 2024 09:56:34 -0300 Subject: [PATCH 10/48] armonized parameters schema with workflow parameters --- nextflow_schema.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/nextflow_schema.json b/nextflow_schema.json index 53f9804d..dc4cfbef 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -17,43 +17,43 @@ "format": "file-path", "mimetype": "text/csv", "description": "A FOFN with sample names and paths to FASTQ/FASTAs to process\n", - "help": "Created using `bactopia prepare`. Cannot be used with `--R1|--R2` or `--SE`", + "help": "Created using `bactopia prepare`. Cannot be used with `--r1|--r2` or `--se`", "fa_icon": "fas fa-file-alt", "header": "### For Procesessing Multiple Samples" }, - "R1": { + "r1": { "type": "string", - "description": "First set of compressed (gzip) paired-end FASTQ reads (requires --R2 and --sample)", - "help": "Requires `--R2` and `--sample`. Cannot be used with `--fastqs` or `--SE` (unless `--hybrid` used).", + "description": "First set of compressed (gzip) paired-end FASTQ reads (requires --r2 and --sample)", + "help": "Requires `--r2` and `--sample`. Cannot be used with `--fastqs` or `--se` (unless `--hybrid` used).", "fa_icon": "fas fa-file-archive", "header": "### For Processing A Single Sample" }, - "R2": { + "r2": { "type": "string", - "description": "Second set of compressed (gzip) paired-end FASTQ reads (requires --R1 and --sample)", - "help": "Requires `--R1` and `--sample`. Cannot be used with `--fastqs` or `--SE` (unless `--hybrid` used).", + "description": "Second set of compressed (gzip) paired-end FASTQ reads (requires --r1 and --sample)", + "help": "Requires `--r1` and `--sample`. Cannot be used with `--fastqs` or `--se` (unless `--hybrid` used).", "fa_icon": "fas fa-file-archive" }, - "SE": { + "se": { "type": "string", "description": "Compressed (gzip) single-end FASTQ reads (requires --sample)", - "help": "Requires `--sample`. Cannot be used with `--fastqs` or `--R1|--R2` (unless `--hybrid` used).", + "help": "Requires `--sample`. Cannot be used with `--fastqs` or `--r1|--r2` (unless `--hybrid` used).", "fa_icon": "fas fa-file-archive" }, "ont": { "type": "boolean", - "description": "Treat `--SE` as long reads for analysis. (requires --sample)", + "description": "Treat `--se` as long reads for analysis. (requires --sample)", "fa_icon": "fas fa-level-up" }, "hybrid": { "type": "boolean", - "description": "Treat `--SE` as long reads for hybrid assembly. (requires --R1, --R2, --SE and --sample)", + "description": "Treat `--se` as long reads for hybrid assembly. (requires --r1, --r2, --se and --sample)", "fa_icon": "fas fa-level-up" }, "sample": { "type": "string", "description": "Sample name to use for the input sequences\n", - "help": "Required when using `--R1|--R2` or `--SE`", + "help": "Required when using `--r1|--r2` or `--se`", "fa_icon": "fas fa-file" }, "accessions": { @@ -65,7 +65,7 @@ "accession": { "type": "string", "description": "Sample name to use for the input sequences\n", - "help": "Required when using `--R1|--R2` or `--SE`", + "help": "Required when using `--r1|--r2` or `--se`", "fa_icon": "fas fa-font" }, "assembly": { From ec84d2b313f7226c8db98fff4ca581a560a95722 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Thu, 25 Jan 2024 20:54:54 +0000 Subject: [PATCH 11/48] phispy not working with bakta genbank files, adjustments for teton --- conf/params.config | 3 +- conf/params/teton.config | 6 +++- conf/schema/clean-yer-reads.json | 23 +++++++------- conf/schema/teton.json | 23 +++++++------- conf/workflows.config | 9 ++++-- lib/nf/bactopia_tools.nf | 16 +++++++++- lib/nf/functions.nf | 29 ++++++++++-------- modules/nf-core/bracken/main.nf | 21 +++++++++---- modules/nf-core/bracken/params.config | 2 ++ modules/nf-core/bracken/params.json | 14 +++++++++ modules/nf-core/csvtk/join/main.nf | 11 +++---- modules/nf-core/kraken2/main.nf | 43 +++++++++++++++++++-------- modules/nf-core/kraken2/params.config | 1 + modules/nf-core/kraken2/params.json | 7 +++++ subworkflows/local/scrubber/main.nf | 17 +++++++---- workflows/teton.nf | 27 ++++++----------- 16 files changed, 165 insertions(+), 87 deletions(-) diff --git a/conf/params.config b/conf/params.config index 82cf99d4..a84424e7 100644 --- a/conf/params.config +++ b/conf/params.config @@ -12,7 +12,7 @@ params { merge_folder = "merged-results" //nf-core - schema_ignore_params = 'run_name,prokka_debug,is_ci,sourmash_url,mash_url,mlst_url,amrfinder_url,merge_folder,wf_has_subdir,build_all,use_mamba,empty_proteins,empty_tf,empty_adapters,empty_phix,help_all,include_tools,min_time,publish_dir,silent,test_data,test_data_dir,verbose,schema_inputs,empty_extra,empty_r2,empty_r1,workflows,available_workflows,is_subworkflow,enable_conda,force_rebuild,config_profile_url,config_profile_contact,config_profile_description,config_profile_name' + schema_ignore_params = 'no_check_certificate,run_name,prokka_debug,is_ci,sourmash_url,mash_url,mlst_url,amrfinder_url,merge_folder,wf_has_subdir,build_all,use_mamba,empty_proteins,empty_tf,empty_adapters,empty_phix,help_all,include_tools,min_time,publish_dir,silent,test_data,test_data_dir,verbose,schema_inputs,empty_extra,empty_r2,empty_r1,workflows,available_workflows,is_subworkflow,enable_conda,force_rebuild,config_profile_url,config_profile_contact,config_profile_description,config_profile_name' schema_inputs = ['fastqs', 'R1,R2,SE,sample,hybrid', 'R1,R2,sample', 'SE,sample', 'assembly,sample', 'accessions', 'accession'] // Max Job Request Parameters @@ -70,6 +70,7 @@ params { include_tools = null verbose = null silent = null + no_check_certificate = false // Datasets Parameters datasets_cache = "${bactopia_cache}/datasets" diff --git a/conf/params/teton.config b/conf/params/teton.config index bcd01138..687f5420 100644 --- a/conf/params/teton.config +++ b/conf/params/teton.config @@ -12,6 +12,10 @@ params { enable_fastq_check = false skip_fastq_check = params.enable_fastq_check ? false : true + // Bracken Parameters + kraken2_remove_filtered_reads = true + kraken2_keep_raw_output = false + // Params to ignore - schema_ignore_params = "${params.schema_ignore_params},sampleseed,skip_scrubber,skip_fastq_check,ask_merlin,species,datasets,reassemble,assembly,short_polish,hybrid,available_datasets" + schema_ignore_params = "${params.schema_ignore_params},use_bakta,sampleseed,skip_scrubber,skip_fastq_check,ask_merlin,species,datasets,reassemble,assembly,short_polish,hybrid,available_datasets" } diff --git a/conf/schema/clean-yer-reads.json b/conf/schema/clean-yer-reads.json index 2fde7f15..a9923036 100644 --- a/conf/schema/clean-yer-reads.json +++ b/conf/schema/clean-yer-reads.json @@ -19,29 +19,28 @@ "fa_icon": "fas fa-file-alt", "header": "### For Procesessing Multiple Samples" }, - "R1": { + "r1": { "type": "string", - "description": "First set of compressed (gzip) paired-end FASTQ reads (requires --R2 and --sample)", - "help": "Requires `--R2` and `--sample`. Cannot be used with `--samples` or `--SE` (unless `--hybrid` used).", + "description": "First set of compressed (gzip) Illumina paired-end FASTQ reads (requires --r2 and --sample)", + "help": "Requires `--r2` and `--sample`. Cannot be used with `--samples` or `--se`.", "fa_icon": "fas fa-file-archive", "header": "### For Processing A Single Sample" }, - "R2": { + "r2": { "type": "string", - "description": "Second set of compressed (gzip) paired-end FASTQ reads (requires --R1 and --sample)", - "help": "Requires `--R1` and `--sample`. Cannot be used with `--samples` or `--SE` (unless `--hybrid` used).", + "description": "Second set of compressed (gzip) Illumina paired-end FASTQ reads (requires --r1 and --sample)", + "help": "Requires `--r2` and `--sample`. Cannot be used with `--samples` or `--se`.", "fa_icon": "fas fa-file-archive" }, - "SE": { + "se": { "type": "string", - "description": "Compressed (gzip) single-end FASTQ reads (requires --sample)", - "help": "Requires `--sample`. Cannot be used with `--samples` or `--R1|--R2` (unless `--hybrid` used).", + "description": "Compressed (gzip) Illumina single-end FASTQ reads (requires --sample)", + "help": "Requires `--sample`. Cannot be used with `--samples` or `--r1 & --r2`", "fa_icon": "fas fa-file-archive" }, "ont": { - "type": "boolean", - "default": false, - "description": "Treat `--SE` or `--accession` as long reads for analysis. (requires --sample if using --SE)", + "type": "string", + "description": "Compressed (gzip) Oxford Nanopore FASTQ reads (requires --sample)", "fa_icon": "fas fa-level-up" }, "sample": { diff --git a/conf/schema/teton.json b/conf/schema/teton.json index 9692645b..825c54dd 100644 --- a/conf/schema/teton.json +++ b/conf/schema/teton.json @@ -19,29 +19,28 @@ "fa_icon": "fas fa-file-alt", "header": "### For Procesessing Multiple Samples" }, - "R1": { + "r1": { "type": "string", - "description": "First set of compressed (gzip) paired-end FASTQ reads (requires --R2 and --sample)", - "help": "Requires `--R2` and `--sample`. Cannot be used with `--samples` or `--SE` (unless `--hybrid` used).", + "description": "First set of compressed (gzip) Illumina paired-end FASTQ reads (requires --r2 and --sample)", + "help": "Requires `--r2` and `--sample`. Cannot be used with `--samples` or `--se`.", "fa_icon": "fas fa-file-archive", "header": "### For Processing A Single Sample" }, - "R2": { + "r2": { "type": "string", - "description": "Second set of compressed (gzip) paired-end FASTQ reads (requires --R1 and --sample)", - "help": "Requires `--R1` and `--sample`. Cannot be used with `--samples` or `--SE` (unless `--hybrid` used).", + "description": "Second set of compressed (gzip) Illumina paired-end FASTQ reads (requires --r1 and --sample)", + "help": "Requires `--r2` and `--sample`. Cannot be used with `--samples` or `--se`.", "fa_icon": "fas fa-file-archive" }, - "SE": { + "se": { "type": "string", - "description": "Compressed (gzip) single-end FASTQ reads (requires --sample)", - "help": "Requires `--sample`. Cannot be used with `--samples` or `--R1|--R2` (unless `--hybrid` used).", + "description": "Compressed (gzip) Illumina single-end FASTQ reads (requires --sample)", + "help": "Requires `--sample`. Cannot be used with `--samples` or `--r1 & --r2`", "fa_icon": "fas fa-file-archive" }, "ont": { - "type": "boolean", - "default": false, - "description": "Treat `--SE` or `--accession` as long reads for analysis. (requires --sample if using --SE)", + "type": "string", + "description": "Compressed (gzip) Oxford Nanopore FASTQ reads (requires --sample)", "fa_icon": "fas fa-level-up" }, "sample": { diff --git a/conf/workflows.config b/conf/workflows.config index 7e6e4677..860abc1c 100644 --- a/conf/workflows.config +++ b/conf/workflows.config @@ -62,9 +62,9 @@ params { 'teton' { description = "Host removal and taxon classification with estimated abundances" - includes = ["gather", "scrubber", "bracken", "midas"] + includes = ["gather", "scrubber", "bracken"] is_workflow = true - modules = ["gather", "bracken", "midas", "srahumanscrubber_initdb", "srahumanscrubber_scrub"] + modules = ["gather", "kraken2", "bracken"] } 'updater' { @@ -127,7 +127,7 @@ params { 'scrubber' { description = "Scrub human reads from FASTQ files" ext = "fastq" - modules = ["srahumanscrubber_initdb", "srahumanscrubber_scrub"] + modules = ["kraken2"] } 'snippy' { description = "Rapid variant calling from Illumina sequence reads with optional core-SNP phylogeny" @@ -236,6 +236,9 @@ params { 'custom_dumpsoftwareversions' { path = "modules/nf-core/custom/dumpsoftwareversions" } + 'custom_wget' { + path = "modules/nf-core/custom/wget" + } 'ectyper' { description = "In-silico prediction of Escherichia coli serotype" ext = "fna" diff --git a/lib/nf/bactopia_tools.nf b/lib/nf/bactopia_tools.nf index 25bf5578..aa0cf3cb 100644 --- a/lib/nf/bactopia_tools.nf +++ b/lib/nf/bactopia_tools.nf @@ -203,7 +203,21 @@ def _collect_inputs(sample, dir, extension) { } } else { input = "${base_dir}/${PATHS[extension]}/${sample}.${extension}" - if (extension == "faa" || extension == "gbk" || extension == "gff") { + if (extension == "gbk") { + // Default to Bakta (gbff) + input = "${base_dir}/${PATHS[extension]}/bakta/${sample}.gbff" + if (!file("${input}").exists() && !file("${input}.gz").exists()) { + // Fall back on Prokka (gbk) + input = "${base_dir}/${PATHS[extension]}/prokka/${sample}.${extension}" + } + } else if (extension == "gff") { + // Default to Bakta (gff3) + input = "${base_dir}/${PATHS[extension]}/bakta/${sample}.gff3" + if (!file("${input}").exists() && !file("${input}.gz").exists()) { + // Fall back on Prokka (gff) + input = "${base_dir}/${PATHS[extension]}/prokka/${sample}.${extension}" + } + } else if (extension == "faa") { // Default to Bakta faa input = "${base_dir}/${PATHS[extension]}/bakta/${sample}.${extension}" if (!file("${input}").exists() && !file("${input}.gz").exists()) { diff --git a/lib/nf/functions.nf b/lib/nf/functions.nf index e8300b31..bf0cc10c 100644 --- a/lib/nf/functions.nf +++ b/lib/nf/functions.nf @@ -46,12 +46,14 @@ def get_schemas() { } } - if (params.containsKey('use_bakta')) { - if (params.use_bakta) { - // Annotate genomes with Bakta - schemas += _get_module_schemas(params.workflows['bakta']["modules"]) - } else { - schemas += "${params.workflows['prokka'].path}/params.json" + if (params.wf == "bactopia" || params.wf == "staphopia") { + if (params.containsKey('use_bakta')) { + if (params.use_bakta) { + // Annotate genomes with Bakta + schemas += _get_module_schemas(params.workflows['bakta']["modules"]) + } else { + schemas += "${params.workflows['prokka'].path}/params.json" + } } } @@ -96,7 +98,7 @@ def _get_module_schemas(modules) { modules.each { it -> if (params.wf == "cleanyerreads") { module_schemas << "${params.workflows[it].path}/params-${params.wf}.json" - } else if (params.wf == "teton" && (it == "gather" || it == "srahumanscrubber_initdb")) { + } else if (params.wf == "teton" && (it == "gather" || it == "srahumanscrubber_initdb" || it == "kraken2")) { module_schemas << "${params.workflows[it].path}/params-${params.wf}.json" } else { module_schemas << "${params.workflows[it].path}/params.json" @@ -211,6 +213,7 @@ def saveFiles(Map args) { def publish_to_base = args.opts.publish_to_base.getClass() == Boolean ? args.opts.publish_to_base : false def publish_to_base_list = args.opts.publish_to_base.getClass() == ArrayList ? args.opts.publish_to_base : [] def goto_base = false + def special_subdir = params.wf == "teton" ? "teton" : "" if (args.filename) { if (args.filename.startsWith('.command')) { // Its a Nextflow process file, rename to "nf-.*" @@ -273,19 +276,21 @@ def saveFiles(Map args) { } if (final_output) { - if (args.opts.btype == "main" || args.opts.btype == "tools") { + if (args.opts.btype == "main" || args.opts.btype == "tools" || args.opts.btype == "teton") { // outdir//{main|tools} if (goto_base) { // my-sample/assembly-error.txt - final_output = "${args.prefix}/${final_output}" + final_output = "${args.prefix}/${special_subdir}/${final_output}" } else { // my-sample/bactopia-main/assembler if (process_name == "bakta" || process_name == "prokka") { // my-sample/bactopia-main// - final_output = "${args.prefix}/${args.opts.btype}/annotator/${final_output}" + final_output = "${args.prefix}/${special_subdir}/${args.opts.btype}/annotator/${final_output}" } else { - // my-sample/bactopia-main/ - final_output = "${args.prefix}/${args.opts.btype}/${final_output}" + // my-sample/bactopia/main/ + // my-sample/bactopia/tools/ + // my-sample/bactopia/teton/ + final_output = "${args.prefix}/${special_subdir}/${args.opts.btype}/${final_output}" } } } else { diff --git a/modules/nf-core/bracken/main.nf b/modules/nf-core/bracken/main.nf index 57fdf645..d941a5e9 100644 --- a/modules/nf-core/bracken/main.nf +++ b/modules/nf-core/bracken/main.nf @@ -22,8 +22,8 @@ process BRACKEN { output: tuple val(meta), path("${prefix}.bracken.tsv") , emit: tsv - tuple val(meta), path('*classified*') , emit: classified - tuple val(meta), path('*unclassified*') , emit: unclassified + tuple val(meta), path('*classified*') , emit: classified, optional: true + tuple val(meta), path('*unclassified*') , emit: unclassified, optional: true tuple val(meta), path("${prefix}.kraken2.report.txt"), emit: kraken2_report tuple val(meta), path("${prefix}.kraken2.output.txt"), emit: kraken2_output, optional: true tuple val(meta), path("${prefix}.bracken.report.txt"), emit: bracken_report @@ -98,9 +98,6 @@ process BRACKEN { head -n 1 bracken.temp > ${prefix}.bracken.abundances.txt grep -v "fraction_total_reads\$" bracken.temp | sort -k 7 -rn >> ${prefix}.bracken.abundances.txt - # Compress Kraken FASTQs - pigz -p $task.cpus *.fastq - # Adjust bracken to include unclassified and produce summary kraken-bracken-summary.py \\ ${prefix} \\ @@ -124,6 +121,20 @@ process BRACKEN { rm *-krona.temp fi + # Clean up large files produced by Kraken2/Bracken + if [ "${params.kraken2_keep_raw_output}" == "false" ]; then + # Remove kraken2 STDOUT output file + rm ${prefix}.kraken2.output.txt + fi + + if [ "${params.kraken2_remove_filtered_reads}" == "true" ]; then + # Remove filtered FASTQs + rm *.fastq + else + # Compress Kraken FASTQs + pigz -p $task.cpus *.fastq + fi + cat <<-END_VERSIONS > versions.yml "${task.process}": bracken: ${BRACKEN_VERSION} diff --git a/modules/nf-core/bracken/params.config b/modules/nf-core/bracken/params.config index e5d53eeb..83473b8a 100644 --- a/modules/nf-core/bracken/params.config +++ b/modules/nf-core/bracken/params.config @@ -14,6 +14,8 @@ params { kraken2_use_names = false kraken2_memory_mapping = false kraken2_minimum_hit_groups = 2 + kraken2_remove_filtered_reads = false + kraken2_keep_raw_output = false bracken_read_length = 0 bracken_level = "S" bracken_threshold = 0 diff --git a/modules/nf-core/bracken/params.json b/modules/nf-core/bracken/params.json index 24983d7e..3093108a 100644 --- a/modules/nf-core/bracken/params.json +++ b/modules/nf-core/bracken/params.json @@ -78,6 +78,20 @@ "fa_icon": "fas fa-expand-arrows-alt", "hidden": true }, + "kraken2_remove_filtered_reads": { + "type": "boolean", + "default": false, + "description": "Discard the classified and unclassified FASTQs prduced by Kraken2", + "fa_icon": "fas fa-expand-arrows-alt", + "hidden": true + }, + "kraken2_keep_raw_output": { + "type": "boolean", + "default": false, + "description": "Keep the STDOUT file produced from Kraken2", + "fa_icon": "fas fa-expand-arrows-alt", + "hidden": true + }, "bracken_read_length": { "type": "integer", "default": 0, diff --git a/modules/nf-core/csvtk/join/main.nf b/modules/nf-core/csvtk/join/main.nf index daefb23b..0fbcb25c 100644 --- a/modules/nf-core/csvtk/join/main.nf +++ b/modules/nf-core/csvtk/join/main.nf @@ -1,10 +1,11 @@ // Import generic module functions include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/functions' -RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) -options = initOptions(params.containsKey("options") ? params.options : [:], 'csvtk_join') -conda_tools = "bioconda::csvtk=0.27.2" -conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") -conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools +RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) +options = initOptions(params.containsKey("options") ? params.options : [:], 'csvtk_join') +options.btype = options.btype ?: "tools" +conda_tools = "bioconda::csvtk=0.27.2" +conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") +conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools process CSVTK_JOIN { tag "$meta.id" diff --git a/modules/nf-core/kraken2/main.nf b/modules/nf-core/kraken2/main.nf index 44b95854..768dc723 100644 --- a/modules/nf-core/kraken2/main.nf +++ b/modules/nf-core/kraken2/main.nf @@ -1,10 +1,9 @@ - // Import generic module functions include { get_resources; initOptions; saveFiles } from '../../../lib/nf/functions' RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'kraken2') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::bactopia-teton=1.0.1" +conda_tools = "bioconda::bactopia-teton=1.0.2" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -14,26 +13,29 @@ process KRAKEN2 { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/bactopia-teton:1.0.1--hdfd78af_0' : - 'quay.io/biocontainers/bactopia-teton:1.0.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/bactopia-teton:1.0.2--hdfd78af_0' : + 'quay.io/biocontainers/bactopia-teton:1.0.2--hdfd78af_0' }" input: tuple val(meta), path(reads) path db output: - tuple val(meta), path('*classified*') , emit: classified - tuple val(meta), path('*unclassified*') , emit: unclassified - tuple val(meta), path('*.kraken2.report.txt'), emit: kraken2_report + tuple val(meta), path('*.kraken2.report.txt') , emit: kraken2_report + tuple val(meta), path('*.scrub.report.tsv') , emit: scrub_report, optional: true + tuple val(meta), path("*.${classified_naming}*.fastq.gz") , emit: classified, optional: true + tuple val(meta), path("*.${unclassified_naming}*.fastq.gz"), emit: unclassified, optional: true path "*.{log,err}" , emit: logs, optional: true path ".command.*" , emit: nf_logs path "versions.yml", emit: versions script: prefix = options.suffix ? "${options.suffix}" : "${meta.id}" - def paired = meta.single_end ? "" : "--paired" - classified = meta.single_end ? "${prefix}.classified.fastq" : "${prefix}.classified#.fastq" - unclassified = meta.single_end ? "${prefix}.unclassified.fastq" : "${prefix}.unclassified#.fastq" + def paired = meta.single_end ? "" : "--paired" + classified_naming = params.wf == "teton" ? "host" : "classified" + classified = meta.single_end ? "${prefix}.${classified_naming}.fastq" : "${prefix}.${classified_naming}#.fastq" + unclassified_naming = params.wf == "teton" ? "scrubbed" : "unclassified" + unclassified = meta.single_end ? "${prefix}.${unclassified_naming}.fastq" : "${prefix}.${unclassified_naming}#.fastq" def is_tarball = db.getName().endsWith(".tar.gz") ? true : false """ if [ "$is_tarball" == "true" ]; then @@ -55,13 +57,30 @@ process KRAKEN2 { $options.args \\ $reads > /dev/null - pigz -p $task.cpus *.fastq + # Clean up large files produced by Kraken2/Bracken + if [ "${params.remove_filtered_reads}" == "true" ]; then + # Remove filtered FASTQs + rm *.fastq + else + # Compress Kraken FASTQs + pigz -p $task.cpus *.fastq + fi + + if [ "$unclassified_naming" == "scrubbed" ]; then + # Quick stats on reads + zcat ${reads} | fastq-scan > original.json + zcat ${prefix}.scrubbed* | fastq-scan > scrubbed.json + scrubber-summary.py ${prefix} original.json scrubbed.json > ${prefix}.scrub.report.tsv + + # Remove host reads + rm ${prefix}.host*.fastq.gz + fi cat <<-END_VERSIONS > versions.yml "${task.process}": + fastq-scan: \$(echo \$(fastq-scan -v 2>&1) | sed 's/fastq-scan //') kraken2: \$(echo \$(kraken2 --version 2>&1) | sed 's/^.*Kraken version //; s/ .*\$//') pigz: \$( pigz --version 2>&1 | sed 's/pigz //g' ) END_VERSIONS """ } - diff --git a/modules/nf-core/kraken2/params.config b/modules/nf-core/kraken2/params.config index 5efd7c8b..6c71168a 100644 --- a/modules/nf-core/kraken2/params.config +++ b/modules/nf-core/kraken2/params.config @@ -14,4 +14,5 @@ params { use_names = false memory_mapping = false minimum_hit_groups = 2 + remove_filtered_reads = false } diff --git a/modules/nf-core/kraken2/params.json b/modules/nf-core/kraken2/params.json index 5c6d1539..4b12e213 100644 --- a/modules/nf-core/kraken2/params.json +++ b/modules/nf-core/kraken2/params.json @@ -77,6 +77,13 @@ "description": "Minimum number of hit groups needed to make a call", "fa_icon": "fas fa-expand-arrows-alt", "hidden": true + }, + "remove_filtered_reads": { + "type": "boolean", + "default": false, + "description": "Discard the classified and unclassified FASTQs prduced by Kraken2", + "fa_icon": "fas fa-expand-arrows-alt", + "hidden": true } } } diff --git a/subworkflows/local/scrubber/main.nf b/subworkflows/local/scrubber/main.nf index a36d3538..dde608b0 100644 --- a/subworkflows/local/scrubber/main.nf +++ b/subworkflows/local/scrubber/main.nf @@ -2,11 +2,12 @@ // scrubber - Scrub human reads from FASTQ files // include { initOptions } from '../../../lib/nf/functions' -options = initOptions(params.containsKey("options") ? params.options : [:], 'srahumanscrubber') +options = initOptions(params.containsKey("options") ? params.options : [:], 'scrubber') options.is_module = params.wf == 'scrubber' ? true : false options.args = "" options.ignore = [".db"] +/* include { SRAHUMANSCRUBBER_INITDB } from '../../../modules/nf-core/srahumanscrubber/initdb/main' addParams( ) if (params.wf == 'teton') { @@ -16,6 +17,9 @@ if (params.wf == 'teton') { } else { include { SRAHUMANSCRUBBER_SCRUB } from '../../../modules/nf-core/srahumanscrubber/scrub/main' addParams( options: options ) } +*/ + +include { K2SCRUBBER } from '../k2scrubber/main' addParams( options: options ) workflow SCRUBBER { take: @@ -24,11 +28,14 @@ workflow SCRUBBER { main: ch_versions = Channel.empty() - SRAHUMANSCRUBBER_INITDB() - SRAHUMANSCRUBBER_SCRUB(reads, SRAHUMANSCRUBBER_INITDB.out.db) - ch_versions = ch_versions.mix(SRAHUMANSCRUBBER_SCRUB.out.versions.first()) + K2SCRUBBER(reads) + + //SRAHUMANSCRUBBER_INITDB() + //SRAHUMANSCRUBBER_SCRUB(reads, SRAHUMANSCRUBBER_INITDB.out.db) + ch_versions = ch_versions.mix(K2SCRUBBER.out.versions.first()) emit: - scrubbed = SRAHUMANSCRUBBER_SCRUB.out.scrubbed + scrubbed = K2SCRUBBER.out.scrubbed + tsv = K2SCRUBBER.out.scrub_report versions = ch_versions // channel: [ versions.yml ] } diff --git a/workflows/teton.nf b/workflows/teton.nf index c2c88fd6..fc57f9dd 100644 --- a/workflows/teton.nf +++ b/workflows/teton.nf @@ -30,10 +30,9 @@ if (params.check_samples) { */ // Core -include { GATHER_SAMPLES } from '../modules/local/bactopia/gather_samples/main' +include { GATHER } from '../subworkflows/local/gather/main' include { BRACKEN } from '../subworkflows/local/bracken/main' -include { MIDAS } from '../subworkflows/local/midas/main' -include { SCRUBBER } from '../subworkflows/local/scrubber/main' addParams( options: [publish_to_base: true, ignore: [".fna.gz"]] ) +include { SCRUBBER } from '../subworkflows/local/scrubber/main' addParams( options: [ignore: [".fna.gz"]] ) include { CSVTK_JOIN } from '../modules/nf-core/csvtk/join/main' addParams( options: [publish_to_base: true] ) include { CSVTK_CONCAT } from '../modules/nf-core/csvtk/concat/main' addParams( options: [publish_to_base: true] ) @@ -57,29 +56,21 @@ workflow TETON { ch_join_teton = Channel.empty() // Core Steps - GATHER_SAMPLES(create_input_channel(run_type, params.genome_size)) - ch_versions = ch_versions.mix(GATHER_SAMPLES.out.versions.first()) + GATHER(create_input_channel(run_type, params.genome_size, params.species)) + ch_versions = ch_versions.mix(GATHER.out.versions.first()) // Remove host reads - SCRUBBER(GATHER_SAMPLES.out.raw_fastq) + SCRUBBER(GATHER.out.fastq_only) ch_versions = ch_versions.mix(SCRUBBER.out.versions) // Taxon Classification & Abundance BRACKEN(SCRUBBER.out.scrubbed) ch_versions = ch_versions.mix(BRACKEN.out.versions) - if (params.midas_db) { - // Species Abundance - MIDAS(SCRUBBER.out.scrubbed) - ch_versions = ch_versions.mix(MIDAS.out.versions) - - // Join Bracken and MIDAS results - CSVTK_JOIN(BRACKEN.out.tsv.join(MIDAS.out.tsv, by:[0]), 'tsv', 'tsv', 'sample') - CSVTK_JOIN.out.csv.collect{meta, csv -> csv}.map{ csv -> [[id:'teton'], csv]}.set{ ch_merge_teton } - ch_versions = ch_versions.mix(CSVTK_JOIN.out.versions) - } else { - BRACKEN.out.tsv.collect{meta, tsv -> tsv}.map{ tsv -> [[id:'teton'], tsv]}.set{ ch_merge_teton } - } + // Join Scrubber and Bracken results + CSVTK_JOIN(SCRUBBER.out.tsv.join(BRACKEN.out.tsv, by:[0]), 'tsv', 'tsv', 'sample') + CSVTK_JOIN.out.csv.collect{meta, csv -> csv}.map{ csv -> [[id:'teton'], csv]}.set{ ch_merge_teton } + ch_versions = ch_versions.mix(CSVTK_JOIN.out.versions) // Join the results CSVTK_CONCAT(ch_merge_teton, 'tsv', 'tsv') From 9df84f93c812a6481bdc8fffb7b05191a9494fab Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Thu, 25 Jan 2024 21:02:51 +0000 Subject: [PATCH 12/48] tweak conda build action --- .github/workflows/conda-build-manual.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/conda-build-manual.yml b/.github/workflows/conda-build-manual.yml index 96b57187..0b5e05bb 100644 --- a/.github/workflows/conda-build-manual.yml +++ b/.github/workflows/conda-build-manual.yml @@ -15,13 +15,12 @@ jobs: with: ref: dev - - name: Setup Mambaforge - uses: conda-incubator/setup-miniconda@v2 + - name: Setup Miniforge + uses: conda-incubator/setup-miniconda@v3 with: - miniforge-variant: Mambaforge + miniforge-variant: Miniforge miniforge-version: latest activate-environment: anaconda-client-env - use-mamba: true - name: Build and Push run: | From 12a8e46d53da8e02ad1acacc6dc9c41d01f2599b Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Thu, 25 Jan 2024 21:05:28 +0000 Subject: [PATCH 13/48] fix typo --- .github/workflows/conda-build-manual.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/conda-build-manual.yml b/.github/workflows/conda-build-manual.yml index 0b5e05bb..5dafd8a4 100644 --- a/.github/workflows/conda-build-manual.yml +++ b/.github/workflows/conda-build-manual.yml @@ -18,7 +18,7 @@ jobs: - name: Setup Miniforge uses: conda-incubator/setup-miniconda@v3 with: - miniforge-variant: Miniforge + miniforge-variant: Miniforge3 miniforge-version: latest activate-environment: anaconda-client-env From 17a3a5d24e1e536aa70b47959bedfc621074ead9 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Thu, 25 Jan 2024 21:12:33 +0000 Subject: [PATCH 14/48] use conda for build --- .github/workflows/conda-build-manual.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/conda-build-manual.yml b/.github/workflows/conda-build-manual.yml index 5dafd8a4..89fc8ce8 100644 --- a/.github/workflows/conda-build-manual.yml +++ b/.github/workflows/conda-build-manual.yml @@ -26,7 +26,7 @@ jobs: run: | # Start build conda install -c conda-forge -c bioconda anaconda-client conda-build conda-verify - cd data/conda/ && mamba build -c conda-forge -c bioconda -c defaults --output-folder . . + cd data/conda/ && conda build -c conda-forge -c bioconda -c defaults --output-folder . . anaconda upload --force ./noarch/*.tar.bz2 env: ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_TOKEN }} From 654bde64e18b0803a8dc4abd1d81e1f9d9843467 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Mon, 29 Jan 2024 20:14:29 +0000 Subject: [PATCH 15/48] add medaka cache for docker --- conf/profiles.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/profiles.config b/conf/profiles.config index 8f51bbeb..a22af292 100644 --- a/conf/profiles.config +++ b/conf/profiles.config @@ -18,7 +18,7 @@ profiles { docker { docker.enabled = true - docker.runOptions = '-u $(id -u):$(id -g) -v ${HOME}/.cache:/.cache -v ${HOME}/.config:/.config' + docker.runOptions = '-u $(id -u):$(id -g) -v ${HOME}/.cache:/.cache -v ${HOME}/.config:/.config -v ${PWD}:/.medaka' includeConfig "base.config" } From 1a4c753ddfd614a37267872e6eef3e63ad0f2197 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Mon, 29 Jan 2024 20:20:27 +0000 Subject: [PATCH 16/48] tweak conda builder --- .github/workflows/conda-build-manual.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/conda-build-manual.yml b/.github/workflows/conda-build-manual.yml index 89fc8ce8..8ef54bc8 100644 --- a/.github/workflows/conda-build-manual.yml +++ b/.github/workflows/conda-build-manual.yml @@ -19,7 +19,6 @@ jobs: uses: conda-incubator/setup-miniconda@v3 with: miniforge-variant: Miniforge3 - miniforge-version: latest activate-environment: anaconda-client-env - name: Build and Push @@ -27,6 +26,4 @@ jobs: # Start build conda install -c conda-forge -c bioconda anaconda-client conda-build conda-verify cd data/conda/ && conda build -c conda-forge -c bioconda -c defaults --output-folder . . - anaconda upload --force ./noarch/*.tar.bz2 - env: - ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_TOKEN }} + anaconda upload -t ${{ secrets.ANACONDA_TOKEN }} --force ./noarch/*.tar.bz2 From 956025fc0a7fe730bdb61d42b0a35f726c6211e3 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Mon, 29 Jan 2024 20:27:04 +0000 Subject: [PATCH 17/48] tweak conda builder --- .github/workflows/conda-build-manual.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/conda-build-manual.yml b/.github/workflows/conda-build-manual.yml index 8ef54bc8..dcf82cf7 100644 --- a/.github/workflows/conda-build-manual.yml +++ b/.github/workflows/conda-build-manual.yml @@ -26,4 +26,4 @@ jobs: # Start build conda install -c conda-forge -c bioconda anaconda-client conda-build conda-verify cd data/conda/ && conda build -c conda-forge -c bioconda -c defaults --output-folder . . - anaconda upload -t ${{ secrets.ANACONDA_TOKEN }} --force ./noarch/*.tar.bz2 + anaconda upload --token ${{ secrets.ANACONDA_TOKEN }} --force ./noarch/*.tar.bz2 From f6119763d9c1b5d5c834a697539082873d94d4b9 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Mon, 29 Jan 2024 20:35:36 +0000 Subject: [PATCH 18/48] tweak conda builder --- .github/workflows/conda-build-manual.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/conda-build-manual.yml b/.github/workflows/conda-build-manual.yml index dcf82cf7..89fc8ce8 100644 --- a/.github/workflows/conda-build-manual.yml +++ b/.github/workflows/conda-build-manual.yml @@ -19,6 +19,7 @@ jobs: uses: conda-incubator/setup-miniconda@v3 with: miniforge-variant: Miniforge3 + miniforge-version: latest activate-environment: anaconda-client-env - name: Build and Push @@ -26,4 +27,6 @@ jobs: # Start build conda install -c conda-forge -c bioconda anaconda-client conda-build conda-verify cd data/conda/ && conda build -c conda-forge -c bioconda -c defaults --output-folder . . - anaconda upload --token ${{ secrets.ANACONDA_TOKEN }} --force ./noarch/*.tar.bz2 + anaconda upload --force ./noarch/*.tar.bz2 + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_TOKEN }} From 70b4c4e04a0a8c0801d1a3b2cd51e8097841d677 Mon Sep 17 00:00:00 2001 From: Robert Petit Date: Wed, 7 Feb 2024 10:03:26 -0700 Subject: [PATCH 19/48] bump mobsuite to v3.1.8 --- modules/nf-core/mobsuite/recon/main.nf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/nf-core/mobsuite/recon/main.nf b/modules/nf-core/mobsuite/recon/main.nf index 6b6e4fea..dd7bd78e 100644 --- a/modules/nf-core/mobsuite/recon/main.nf +++ b/modules/nf-core/mobsuite/recon/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'mobsuite') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::mob_suite=3.1.7" +conda_tools = "bioconda::mob_suite=3.1.8" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process MOBSUITE_RECON { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mob_suite:3.1.7--pyh7cba7a3_0' : - 'quay.io/biocontainers/mob_suite:3.1.7--pyh7cba7a3_0' }" + 'https://depot.galaxyproject.org/singularity/mob_suite:3.1.8--pyhdfd78af_1' : + 'quay.io/biocontainers/mob_suite:3.1.8--pyhdfd78af_1' }" input: tuple val(meta), path(fasta) From 25387e5ca2273596ae9a54f6bb11c0af9eb193e4 Mon Sep 17 00:00:00 2001 From: Robert Petit Date: Tue, 13 Feb 2024 18:02:45 +0400 Subject: [PATCH 20/48] fix typo in abritamr execution --- subworkflows/local/abritamr/main.nf | 2 +- workflows/bactopia-tools.nf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/subworkflows/local/abritamr/main.nf b/subworkflows/local/abritamr/main.nf index e0284557..ad48526d 100644 --- a/subworkflows/local/abritamr/main.nf +++ b/subworkflows/local/abritamr/main.nf @@ -5,7 +5,7 @@ include { initOptions } from '../../../lib/nf/functions' options = initOptions(params.containsKey("options") ? params.options : [:], 'abritamr') options.args = [ params.abritamr_identity ? "--identity ${params.abritamr_identity} " : "", - params.abritamr_species ? "--identity ${params.abritamr_species} " : "" + params.abritamr_species ? "--species ${params.abritamr_species} " : "" ].join(' ').replaceAll("\\s{2,}", " ").trim() include { ABRITAMR_RUN } from '../../../modules/nf-core/abritamr/run/main' addParams( options: options ) diff --git a/workflows/bactopia-tools.nf b/workflows/bactopia-tools.nf index 4b801edc..5489df6c 100644 --- a/workflows/bactopia-tools.nf +++ b/workflows/bactopia-tools.nf @@ -39,7 +39,7 @@ if (params.containsKey('accession')) { include { NCBIGENOMEDOWNLOAD } from '../subworkflows/local/ncbigenomedownload/main' } if (params.wf == 'abricate') include { ABRICATE } from '../subworkflows/local/abricate/main'; -if (params.wf == 'abritamr') include { ABRICATE } from '../subworkflows/local/abritamr/main'; +if (params.wf == 'abritamr') include { ABRITAMR } from '../subworkflows/local/abritamr/main'; if (params.wf == 'agrvate') include { AGRVATE } from '../subworkflows/local/agrvate/main'; if (params.wf == 'amrfinderplus') include { AMRFINDERPLUS } from '../subworkflows/local/amrfinderplus/main'; if (params.wf == 'ariba') include { ARIBA } from '../subworkflows/local/ariba/main'; From eab0695215a4a222d065575d106472b0664dc0e1 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Fri, 23 Feb 2024 20:16:52 +0000 Subject: [PATCH 21/48] add sample column to plasmidfinder results, start support for nf-core/configs --- .github/workflows/conda-build-manual.yml | 2 +- .vscode/settings.json | 11 ++++++++++- conf/params.config | 10 +++++++++- conf/schema/generic.json | 4 ++-- modules/nf-core/plasmidfinder/main.nf | 7 +++++-- nextflow.config | 19 +++++++++++++++---- 6 files changed, 42 insertions(+), 11 deletions(-) diff --git a/.github/workflows/conda-build-manual.yml b/.github/workflows/conda-build-manual.yml index 89fc8ce8..154e1159 100644 --- a/.github/workflows/conda-build-manual.yml +++ b/.github/workflows/conda-build-manual.yml @@ -25,7 +25,7 @@ jobs: - name: Build and Push run: | # Start build - conda install -c conda-forge -c bioconda anaconda-client conda-build conda-verify + conda install -c conda-forge -c bioconda anaconda-client conda-verify cd data/conda/ && conda build -c conda-forge -c bioconda -c defaults --output-folder . . anaconda upload --force ./noarch/*.tar.bz2 env: diff --git a/.vscode/settings.json b/.vscode/settings.json index c45b5cfa..c1505241 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,8 +3,17 @@ "master" ], "cSpell.words": [ + "bakta", "btype", + "CACHEDIR", + "cleanyerreads", + "getenv", "infodir", - "subdir" + "nfconfig", + "println", + "prokka", + "staphopia", + "subdir", + "Subworkflow" ] } diff --git a/conf/params.config b/conf/params.config index a84424e7..d0396ee4 100644 --- a/conf/params.config +++ b/conf/params.config @@ -50,7 +50,7 @@ params { // Nextflow Profile Parameters condadir = "${bactopia_cache}/conda" use_mamba = false - singularity_cache = "${bactopia_cache}/singularity" + singularity_cache_dir = "${bactopia_cache}/singularity" singularity_pull_docker_container = false force_rebuild = false @@ -82,4 +82,12 @@ params { // Testing test_data_dir = 'https://raw.githubusercontent.com/bactopia/bactopia-tests/main/data' is_ci = false + + // Config options + config_profile_name = null + config_profile_description = null + custom_config_version = 'master' + custom_config_base = "https://raw.githubusercontent.com/nf-core/configs/${params.custom_config_version}" + config_profile_contact = null + config_profile_url = null } diff --git a/conf/schema/generic.json b/conf/schema/generic.json index 3a707522..4b5730fe 100644 --- a/conf/schema/generic.json +++ b/conf/schema/generic.json @@ -180,10 +180,10 @@ "help": "", "fa_icon": "fas fa-folder" }, - "singularity_cache": { + "singularity_cache_dir": { "type": "string", "description": "Directory where remote Singularity images are stored.", - "help": "If using a cluster, it must be accessible from all compute nodes. The NXF_SINGULARITY_CACHEDIR evironment variable overrides this parameter", + "help": "If using a cluster, it must be accessible from all compute nodes. The NXF_SINGULARITY_CACHEDIR environment variable overrides this parameter", "fa_icon": "fas fa-folder", "hidden": true }, diff --git a/modules/nf-core/plasmidfinder/main.nf b/modules/nf-core/plasmidfinder/main.nf index df399bc4..b979aa3b 100644 --- a/modules/nf-core/plasmidfinder/main.nf +++ b/modules/nf-core/plasmidfinder/main.nf @@ -23,7 +23,7 @@ process PLASMIDFINDER { output: tuple val(meta), path("*.json") , emit: json tuple val(meta), path("*.txt") , emit: txt - tuple val(meta), path("*.tsv") , emit: tsv + tuple val(meta), path("${prefix}.tsv") , emit: tsv tuple val(meta), path("*-hit_in_genome_seq.fsa"), emit: genome_seq tuple val(meta), path("*-plasmid_seqs.fsa") , emit: plasmid_seq path "*.{log,err}", emit: logs, optional: true @@ -48,10 +48,13 @@ process PLASMIDFINDER { # Rename hard-coded outputs with prefix to avoid name collisions mv data.json ${prefix}.json mv results.txt ${prefix}.txt - mv results_tab.tsv ${prefix}.tsv mv Hit_in_genome_seq.fsa ${prefix}-hit_in_genome_seq.fsa mv Plasmid_seqs.fsa ${prefix}-plasmid_seqs.fsa + # Add sample name to TSV results + head -n 1 results_tab.tsv | sed "s/^/Sample\t/" > ${prefix}.tsv + tail -n +2 results_tab.tsv | sed "s/^/${prefix}\t/" >> ${prefix}.tsv + cat <<-END_VERSIONS > versions.yml "${task.process}": plasmidfinder: $VERSION diff --git a/nextflow.config b/nextflow.config index 4e1c2132..beee60f0 100644 --- a/nextflow.config +++ b/nextflow.config @@ -81,13 +81,24 @@ if (params.is_ci) { includeConfig "conf/outputs.config" // Set up containers +singularity_cache = System.getenv("NXF_SINGULARITY_CACHEDIR") ? "${NXF_SINGULARITY_CACHEDIR}" : "${params.singularity_cache_dir}" run_timestamp = new java.util.Date().format('yyyyMMdd-HHmmss') -rundir = "${params.run_name}-${run_timestamp}" +rundir = params.is_ci ? "${params.run_name}" : "${params.run_name}-${run_timestamp}" -if (params.is_ci) { - rundir = "${params.run_name}" +// Load nf-core custom profiles from different Institutions +try { + includeConfig "${params.custom_config_base}/nfcore_custom.config" +} catch (Exception e) { + System.err.println("WARNING: Could not load nf-core/config profiles: ${params.custom_config_base}/nfcore_custom.config") +} + +// Load Bactopia custom profiles from different institutions. +try { + includeConfig "${params.custom_config_base}/pipeline/bactopia.config" +} catch (Exception e) { + System.err.println("WARNING: Could not load nf-core/config/bactopia profiles: ${params.custom_config_base}/pipeline/bactopia.config") } -singularity_cache = System.getenv("NXF_SINGULARITY_CACHEDIR") ? "${NXF_SINGULARITY_CACHEDIR}" : "${params.singularity_cache}" + includeConfig "conf/profiles.config" if (params.nfconfig) { From d8492679ed3bfa816e54abc51cd7c4ac5d55e9ab Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Fri, 23 Feb 2024 20:23:59 +0000 Subject: [PATCH 22/48] ci kicking my butt again --- .github/workflows/conda-build-manual.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/conda-build-manual.yml b/.github/workflows/conda-build-manual.yml index 154e1159..89fc8ce8 100644 --- a/.github/workflows/conda-build-manual.yml +++ b/.github/workflows/conda-build-manual.yml @@ -25,7 +25,7 @@ jobs: - name: Build and Push run: | # Start build - conda install -c conda-forge -c bioconda anaconda-client conda-verify + conda install -c conda-forge -c bioconda anaconda-client conda-build conda-verify cd data/conda/ && conda build -c conda-forge -c bioconda -c defaults --output-folder . . anaconda upload --force ./noarch/*.tar.bz2 env: From a80f3abdf0be37e78b13400a4c7a655a019f8bf1 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Tue, 5 Mar 2024 19:08:48 +0000 Subject: [PATCH 23/48] check if user is downloading bakta db in main workflow --- lib/WorkflowBactopia.groovy | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/WorkflowBactopia.groovy b/lib/WorkflowBactopia.groovy index 9cbbd3c6..d79be0bd 100755 --- a/lib/WorkflowBactopia.groovy +++ b/lib/WorkflowBactopia.groovy @@ -122,11 +122,13 @@ class WorkflowBactopia { // Using Bakta, requires path to database if (params.use_bakta) { if (params.bakta_db) { - if (Utils.isLocal(params.bakta_db)) { - if (params.bakta_db.endsWith(".tar.gz")) { - error += Utils.fileNotFound(params.bakta_db, 'bakta_db', log) - } else { - error += Utils.fileNotFound("${params.bakta_db}/bakta.db", 'bakta_db', log) + if (!params.download_bakta) { + if (Utils.isLocal(params.bakta_db)) { + if (params.bakta_db.endsWith(".tar.gz")) { + error += Utils.fileNotFound(params.bakta_db, 'bakta_db', log) + } else { + error += Utils.fileNotFound("${params.bakta_db}/bakta.db", 'bakta_db', log) + } } } } else { From 467d6d3789535e942ec32355bc92d095ae9c6a44 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Wed, 6 Mar 2024 18:22:10 +0000 Subject: [PATCH 24/48] fix issue on 0 estimated reference size in quast --- conf/tests.config | 1 + modules/nf-core/quast/main.nf | 8 ++-- subworkflows/local/quast/test.nf | 11 +++++ subworkflows/local/quast/test.yml | 74 +++++++++++++++++++++++++++++++ 4 files changed, 91 insertions(+), 3 deletions(-) diff --git a/conf/tests.config b/conf/tests.config index b76baaff..dfd4aef6 100644 --- a/conf/tests.config +++ b/conf/tests.config @@ -66,6 +66,7 @@ params { name = "GCF_000292685" length = "358242" meta = "${params.test_data_dir}/species/portiera/genome/GCF_000292685-meta.tsv" + meta_noref = "${params.test_data_dir}/species/portiera/genome/GCF_000292685-meta-noref.tsv" bed = "${params.test_data_dir}/species/portiera/genome/GCF_000292685.bed" blastdb = "${params.test_data_dir}/species/portiera/genome/SRX1390622-blastdb.tar.gz" aln_gz = "${params.test_data_dir}/species/portiera/genome/genome.aln.gz" diff --git a/modules/nf-core/quast/main.nf b/modules/nf-core/quast/main.nf index 420227b4..338033eb 100644 --- a/modules/nf-core/quast/main.nf +++ b/modules/nf-core/quast/main.nf @@ -35,9 +35,11 @@ process QUAST { gzip -c -d $fasta > $fasta_name fi - est_ref_size=\$(tail -n 1 $meta_file | cut -f 7) - if [ "\${est_ref_size}" != "0" ]; then - est_ref_size="--est-ref-size \${est_ref_size}" + est_ref_size="" + # Use rev to get the last column easily, then re-reverse it + ref_size=\$(tail -n 1 $meta_file | rev | cut -f 1 | rev) + if [ "\${ref_size}" != "0" ]; then + est_ref_size="--est-ref-size \${ref_size}" fi quast ${fasta_name} \${est_ref_size} \\ diff --git a/subworkflows/local/quast/test.nf b/subworkflows/local/quast/test.nf index b996a1d1..8837a553 100644 --- a/subworkflows/local/quast/test.nf +++ b/subworkflows/local/quast/test.nf @@ -13,3 +13,14 @@ workflow test_quast { QUAST ( inputs ) } + +workflow test_quast_noref { + + inputs = tuple( + [ id:"GCF_000292685" ], + file(params.test_data['species']['portiera']['genome']['fna_gz'], checkIfExists: true), + file(params.test_data['species']['portiera']['genome']['meta_noref'], checkIfExists: true) + ) + + QUAST ( inputs ) +} diff --git a/subworkflows/local/quast/test.yml b/subworkflows/local/quast/test.yml index 8eda0564..af33e07b 100644 --- a/subworkflows/local/quast/test.yml +++ b/subworkflows/local/quast/test.yml @@ -2,6 +2,7 @@ command: bash -c 'nextflow run ./subworkflows/local/quast/test.nf -entry test_quast --wf quast -c nextflow.config ${BACTOPIA_ARGS}' tags: - quast + - quast_ref - bactopia-tools files: - path: bactopia/bactopia-runs/quast/merged-results/logs/quast-concat/nf-merged-results.begin @@ -70,3 +71,76 @@ contains: ["Assembly", "contigs", "predicted", "NG90"] - path: bactopia/GCF_000292685/tools/quast/transposed_report.txt contains: ["Assembly", "contigs", "predicted", "NG90"] + +- name: quast-test_noref + command: bash -c 'nextflow run ./subworkflows/local/quast/test.nf -entry test_quast_noref --wf quast -c nextflow.config ${BACTOPIA_ARGS}' + tags: + - quast + - quast_noref + - bactopia-tools + files: + - path: bactopia/bactopia-runs/quast/merged-results/logs/quast-concat/nf-merged-results.begin + md5sum: d41d8cd98f00b204e9800998ecf8427e + - path: bactopia/bactopia-runs/quast/merged-results/logs/quast-concat/nf-merged-results.err + - path: bactopia/bactopia-runs/quast/merged-results/logs/quast-concat/nf-merged-results.log + - path: bactopia/bactopia-runs/quast/merged-results/logs/quast-concat/nf-merged-results.out + - path: bactopia/bactopia-runs/quast/merged-results/logs/quast-concat/nf-merged-results.run + contains: ['NEXTFLOW TASK', '$NXF_ENTRY'] + - path: bactopia/bactopia-runs/quast/merged-results/logs/quast-concat/nf-merged-results.sh + contains: ['csvtk', 'END_VERSIONS'] + - path: bactopia/bactopia-runs/quast/merged-results/logs/quast-concat/nf-merged-results.trace + contains: ['nextflow.trace'] + - path: bactopia/bactopia-runs/quast/merged-results/logs/quast-concat/versions.yml + contains: ['csvtk'] + - path: bactopia/bactopia-runs/quast/merged-results/quast.tsv + contains: ["Assembly", "contigs", "predicted"] + - path: bactopia/bactopia-runs/quast/nf-reports/quast-dag.dot + contains: ['quastdag', 'QUAST', 'versions'] + - path: bactopia/bactopia-runs/quast/nf-reports/quast-report.html + contains: ['html', 'Nextflow', 'Report'] + - path: bactopia/bactopia-runs/quast/nf-reports/quast-timeline.html + contains: ['html', 'Nextflow', 'timeline'] + - path: bactopia/bactopia-runs/quast/nf-reports/quast-trace.txt + contains: ['task_id'] + - path: bactopia/GCF_000292685/tools/quast/GCF_000292685.tsv + contains: ["Assembly", "contigs", "predicted"] + - path: bactopia/GCF_000292685/tools/quast/basic_stats/GCF_000292685_GC_content_plot.pdf + - path: bactopia/GCF_000292685/tools/quast/basic_stats/GC_content_plot.pdf + - path: bactopia/GCF_000292685/tools/quast/basic_stats/Nx_plot.pdf + - path: bactopia/GCF_000292685/tools/quast/basic_stats/cumulative_plot.pdf + - path: bactopia/GCF_000292685/tools/quast/icarus.html + - path: bactopia/GCF_000292685/tools/quast/icarus_viewers/contig_size_viewer.html + - path: bactopia/GCF_000292685/tools/quast/logs/nf-quast.begin + md5sum: d41d8cd98f00b204e9800998ecf8427e + - path: bactopia/GCF_000292685/tools/quast/logs/nf-quast.err + - path: bactopia/GCF_000292685/tools/quast/logs/nf-quast.log + contains: ["Creating", "Contig", "versions", "QUAST"] + - path: bactopia/GCF_000292685/tools/quast/logs/nf-quast.out + contains: ["Creating", "Contig", "versions", "QUAST"] + - path: bactopia/GCF_000292685/tools/quast/logs/nf-quast.run + contains: ['NEXTFLOW TASK', '$NXF_ENTRY'] + - path: bactopia/GCF_000292685/tools/quast/logs/nf-quast.sh + contains: ['quast', 'END_VERSIONS'] + - path: bactopia/GCF_000292685/tools/quast/logs/nf-quast.trace + contains: ['nextflow.trace'] + - path: bactopia/GCF_000292685/tools/quast/logs/quast.log + contains: ['Version', 'QUAST'] + - path: bactopia/GCF_000292685/tools/quast/logs/versions.yml + md5sum: c69b765c4528b4e974c36a0d82b644b9 + - path: bactopia/GCF_000292685/tools/quast/predicted_genes/GCF_000292685_glimmer.stderr + md5sum: 390dc7df727903e33d8127f8f12d9cf5 + - path: bactopia/GCF_000292685/tools/quast/predicted_genes/GCF_000292685_glimmer_genes.gff + contains: ["version", "NC_018507", "CDS", "exon"] + - path: bactopia/GCF_000292685/tools/quast/report.html + contains: ['QUAST'] + - path: bactopia/GCF_000292685/tools/quast/report.pdf + - path: bactopia/GCF_000292685/tools/quast/report.tex + contains: ["Assembly", "contigs", "predicted"] + - path: bactopia/GCF_000292685/tools/quast/report.tsv + contains: ["Assembly", "contigs", "predicted"] + - path: bactopia/GCF_000292685/tools/quast/report.txt + contains: ["Assembly", "contigs", "predicted"] + - path: bactopia/GCF_000292685/tools/quast/transposed_report.tex + contains: ["Assembly", "contigs", "predicted"] + - path: bactopia/GCF_000292685/tools/quast/transposed_report.txt + contains: ["Assembly", "contigs", "predicted"] From 18c8db170b5f1b9043e96c3a7d2cd62379da47b9 Mon Sep 17 00:00:00 2001 From: Robert Petit Date: Thu, 14 Mar 2024 16:33:07 -0600 Subject: [PATCH 25/48] add profile for apptainer --- conf/params.config | 1 + conf/profiles.config | 9 +++++++++ conf/schema/generic.json | 7 +++++++ 3 files changed, 17 insertions(+) diff --git a/conf/params.config b/conf/params.config index d0396ee4..576f0abb 100644 --- a/conf/params.config +++ b/conf/params.config @@ -53,6 +53,7 @@ params { singularity_cache_dir = "${bactopia_cache}/singularity" singularity_pull_docker_container = false force_rebuild = false + container_opts = "" // Generic Parameters help = null diff --git a/conf/profiles.config b/conf/profiles.config index a22af292..c00bb27a 100644 --- a/conf/profiles.config +++ b/conf/profiles.config @@ -40,10 +40,19 @@ profiles { includeConfig "profiles/sge.config" } + apptainer { + apptainer.enabled = true + apptainer.autoMounts = true + apptainer.cacheDir = "${singularity_cache}" + apptainer.engineOptions = "${params.container_opts}" + includeConfig "base.config" + } + singularity { singularity.enabled = true singularity.autoMounts = true singularity.cacheDir = "${singularity_cache}" + singularity.engineOptions = "${params.container_opts}" includeConfig "base.config" } diff --git a/conf/schema/generic.json b/conf/schema/generic.json index 4b5730fe..173e7168 100644 --- a/conf/schema/generic.json +++ b/conf/schema/generic.json @@ -215,6 +215,13 @@ "fa_icon": "fas fa-clipboard-list", "hidden": true }, + "container_opts": { + "type": "string", + "default": "", + "description": "Additional options to pass to Apptainer, Docker, or Singularityu. (e.g. Singularity: '-D `pwd`'", + "fa_icon": "fas fa-clipboard-list", + "hidden": true + }, "disable_scratch": { "type": "boolean", "default": false, From 50531bc7e4eb6884ca73630ae212ae43d223bdda Mon Sep 17 00:00:00 2001 From: Robert Petit Date: Thu, 14 Mar 2024 22:20:22 -0600 Subject: [PATCH 26/48] use run options not engine options --- conf/profiles.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/profiles.config b/conf/profiles.config index c00bb27a..6aa387e8 100644 --- a/conf/profiles.config +++ b/conf/profiles.config @@ -44,7 +44,7 @@ profiles { apptainer.enabled = true apptainer.autoMounts = true apptainer.cacheDir = "${singularity_cache}" - apptainer.engineOptions = "${params.container_opts}" + apptainer.runOptions = "${params.container_opts}" includeConfig "base.config" } @@ -52,7 +52,7 @@ profiles { singularity.enabled = true singularity.autoMounts = true singularity.cacheDir = "${singularity_cache}" - singularity.engineOptions = "${params.container_opts}" + singularity.runOptions = "${params.container_opts}" includeConfig "base.config" } From b5d001f0c2c20c8a25e15809d9cf901e579a1001 Mon Sep 17 00:00:00 2001 From: Robert Petit Date: Wed, 20 Mar 2024 23:03:13 -0600 Subject: [PATCH 27/48] add feature to merge tbprofiler results --- CHANGELOG.md | 1 + conf/workflows.config | 12 +++- modules/local/bactopia/gather/main.nf | 1 + modules/nf-core/tbprofiler/collate/main.nf | 46 +++++++++++++++ modules/nf-core/tbprofiler/collate/meta.yml | 59 +++++++++++++++++++ .../nf-core/tbprofiler/collate/params.config | 11 ++++ .../nf-core/tbprofiler/collate/params.json | 47 +++++++++++++++ modules/nf-core/tbprofiler/profile/main.nf | 6 +- .../nf-core/tbprofiler/profile/params.json | 5 +- subworkflows/local/tbprofiler/main.nf | 41 +++++++++---- 10 files changed, 209 insertions(+), 20 deletions(-) create mode 100644 modules/nf-core/tbprofiler/collate/main.nf create mode 100644 modules/nf-core/tbprofiler/collate/meta.yml create mode 100644 modules/nf-core/tbprofiler/collate/params.config create mode 100644 modules/nf-core/tbprofiler/collate/params.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 088e08c8..9005962d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ description: A full list of Bactopia releases and a description of the changes. ### `Added` - Updated `bactopia-assembler` to include updated Medaka models +- TB Profiler results are now merged with `collate` command ### `Fixed` diff --git a/conf/workflows.config b/conf/workflows.config index 860abc1c..3a5c6e56 100644 --- a/conf/workflows.config +++ b/conf/workflows.config @@ -139,6 +139,11 @@ params { ext = "fna" modules = ["agrvate", "spatyper", "staphopiasccmec"] } + 'tbprofiler' { + description = "Detect resistance and lineages of Mycobacterium tuberculosis genomes" + ext = "fastq" + modules = ["tbprofiler_profile", "tbprofiler_collate"] + } // Modules (houses params.json and params.config, where applicable can be subworkflow) // local @@ -492,10 +497,11 @@ params { ext = "blastdb" path = "modules/nf-core/blast/tblastx" } - 'tbprofiler' { - description = "Detect resistance and lineages of Mycobacterium tuberculosis genomes" - ext = "fastq" + 'tbprofiler_profile' { path = "modules/nf-core/tbprofiler/profile" } + 'tbprofiler_collate' { + path = "modules/nf-core/tbprofiler/collate" + } } } diff --git a/modules/local/bactopia/gather/main.nf b/modules/local/bactopia/gather/main.nf index 9ef93a92..15c83ad7 100644 --- a/modules/local/bactopia/gather/main.nf +++ b/modules/local/bactopia/gather/main.nf @@ -142,6 +142,7 @@ process GATHER { # Download from NCBI assembly and simulate reads mkdir fasta/ ncbi-genome-download bacteria -o ./ -F fasta -p ${task.cpus} \\ + -u "https://ftp.ncbi.nlm.nih.gov/genomes" \\ -s ${section} -A accession.txt -r 50 ${no_cache} find . -name "*${prefix}*.fna.gz" | xargs -I {} mv {} fasta/ rename 's/(GC[AF]_\\d+).*/\$1.fna.gz/' fasta/* diff --git a/modules/nf-core/tbprofiler/collate/main.nf b/modules/nf-core/tbprofiler/collate/main.nf new file mode 100644 index 00000000..fd1bce22 --- /dev/null +++ b/modules/nf-core/tbprofiler/collate/main.nf @@ -0,0 +1,46 @@ +// Import generic module functions +include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/functions' +RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) +options = initOptions(params.containsKey("options") ? params.options : [:], 'tbprofiler') +options.btype = options.btype ?: "comparative" +conda_tools = "bioconda::tb-profiler=6.0.0" +conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") +conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools + +process TBPROFILER_COLLATE { + tag "$meta.id" + label 'process_medium' + + conda (params.enable_conda ? conda_env : null) + container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/tb-profiler:6.0.0--pyhdfd78af_0' : + 'quay.io/biocontainers/tb-profiler:6.0.0--pyhdfd78af_0' }" + + input: + tuple val(meta), path(json, stageAs: 'results/*') + + output: + tuple val(meta), path("tbprofiler.csv") , emit: csv + tuple val(meta), path("tbprofiler.variants.csv"), emit: variants_csv + tuple val(meta), path("tbprofiler.variants.txt"), emit: variants_txt + tuple val(meta), path("*.itol..txt") , emit: itol, optional: true + path "*.{log,err}" , emit: logs, optional: true + path ".command.*" , emit: nf_logs + path "versions.yml" , emit: versions + + script: + prefix = options.suffix ? "${options.suffix}" : "${meta.id}" + """ + tb-profiler collate --help + + tb-profiler \\ + collate \\ + $options.args \\ + --format csv + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + tb-profiler: \$( echo \$(tb-profiler version 2>&1) | sed 's/tb-profiler version //') + END_VERSIONS + """ +} diff --git a/modules/nf-core/tbprofiler/collate/meta.yml b/modules/nf-core/tbprofiler/collate/meta.yml new file mode 100644 index 00000000..3a0e3a6d --- /dev/null +++ b/modules/nf-core/tbprofiler/collate/meta.yml @@ -0,0 +1,59 @@ +name: tbprofiler_collate +description: A tool to detect resistance and lineages of M. tuberculosis genomes +keywords: + - Mycobacterium tuberculosis + - resistance + - serotype +tools: + - tbprofiler: + description: Profiling tool for Mycobacterium tuberculosis to detect drug resistance and lineage from WGS data + homepage: https://github.com/jodyphelan/TBProfiler + documentation: https://jodyphelan.gitbook.io/tb-profiler/ + tool_dev_url: https://github.com/jodyphelan/TBProfiler + doi: "10.1186/s13073-019-0650-x" + licence: ['GPL v3'] + +input: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - reads: + type: file + description: FASTQ file + pattern: "*.{fastq.gz,fq.gz}" + +output: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" + - bam: + type: file + description: BAM file with alignment details + pattern: "*.bam" + - csv: + type: file + description: Optional CSV formated result file of resistance and strain type + pattern: "*.csv" + - json: + type: file + description: JSON formated result file of resistance and strain type + pattern: "*.json" + - txt: + type: file + description: Optional text file of resistance and strain type + pattern: "*.txt" + - vcf: + type: file + description: VCF with variant info again refernce genomes + pattern: "*.vcf" + +authors: + - "@rpetit3" diff --git a/modules/nf-core/tbprofiler/collate/params.config b/modules/nf-core/tbprofiler/collate/params.config new file mode 100644 index 00000000..24c5aadb --- /dev/null +++ b/modules/nf-core/tbprofiler/collate/params.config @@ -0,0 +1,11 @@ +/* +This file includes default parameter values. +*/ + +params { + // TBProfiler Collate + itol = false + full = false + all_variants = false + mark_missing = false +} diff --git a/modules/nf-core/tbprofiler/collate/params.json b/modules/nf-core/tbprofiler/collate/params.json new file mode 100644 index 00000000..7545b49f --- /dev/null +++ b/modules/nf-core/tbprofiler/collate/params.json @@ -0,0 +1,47 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "https://raw.githubusercontent.com/bactopia/bactopia/master/modules/nf-core/tbprofiler/profile/params.json", + "title": "TBProfiler Module", + "description": "A module to detect resistance and lineages of Mycobacterium tuberculosis genomes", + "type": "object", + "definitions": { + "tbprofiler_collate_parameters": { + "title": "TBProfiler Collate Parameters", + "type": "object", + "description": "", + "default": "", + "fa_icon": "fas fa-exclamation-circle", + "properties": { + "itol": { + "type": "boolean", + "default": false, + "description": "Generate itol config files", + "fa_icon": "fas fa-expand-arrows-alt" + }, + "full": { + "type": "boolean", + "default": false, + "description": "Output mutations in main result file", + "fa_icon": "fas fa-expand-arrows-alt" + }, + "all_variants": { + "type": "boolean", + "default": false, + "description": "Output all variants in variant matrix", + "fa_icon": "fas fa-expand-arrows-alt" + }, + "mark_missing": { + "type": "boolean", + "default": false, + "description": "An asteriks will be use to mark predictions which are affected by missing data at a drug resistance position", + "fa_icon": "fas fa-expand-arrows-alt" + } + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/tbprofiler_collate_parameters" + } + ] +} diff --git a/modules/nf-core/tbprofiler/profile/main.nf b/modules/nf-core/tbprofiler/profile/main.nf index 3a47ee2d..21308af1 100644 --- a/modules/nf-core/tbprofiler/profile/main.nf +++ b/modules/nf-core/tbprofiler/profile/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'tbprofiler') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::tb-profiler=5.0.0" +conda_tools = "bioconda::tb-profiler=6.0.0" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process TBPROFILER_PROFILE { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/tb-profiler:5.0.0--pyh7cba7a3_0' : - 'quay.io/biocontainers/tb-profiler:5.0.0--pyh7cba7a3_0' }" + 'https://depot.galaxyproject.org/singularity/tb-profiler:6.0.0--pyhdfd78af_0' : + 'quay.io/biocontainers/tb-profiler:6.0.0--pyhdfd78af_0' }" input: tuple val(meta), path(reads) diff --git a/modules/nf-core/tbprofiler/profile/params.json b/modules/nf-core/tbprofiler/profile/params.json index 361960f1..b9ee72d7 100644 --- a/modules/nf-core/tbprofiler/profile/params.json +++ b/modules/nf-core/tbprofiler/profile/params.json @@ -6,7 +6,7 @@ "type": "object", "definitions": { "tbprofiler_parameters": { - "title": "TBProfiler Parameters", + "title": "TBProfiler Profile Parameters", "type": "object", "description": "", "default": "", @@ -17,14 +17,12 @@ "default": false, "description": "Call whole genome", "fa_icon": "fas fa-expand-arrows-alt", - "hidden": true }, "mapper": { "type": "string", "default": "bwa", "description": "Mapping tool to use. If you are using nanopore data it will default to minimap2", "fa_icon": "fas fa-expand-arrows-alt", - "hidden": true, "enum": ["bwa", "minimap2", "bowtie2", "bwa-mem2"] }, "caller": { @@ -32,7 +30,6 @@ "default": "freebayes", "description": "Variant calling tool to use", "fa_icon": "fas fa-expand-arrows-alt", - "hidden": true, "enum": ["bcftools", "gatk", "freebayes"] }, "calling_params": { diff --git a/subworkflows/local/tbprofiler/main.nf b/subworkflows/local/tbprofiler/main.nf index ab62d751..3396d240 100644 --- a/subworkflows/local/tbprofiler/main.nf +++ b/subworkflows/local/tbprofiler/main.nf @@ -2,8 +2,10 @@ // tbprofiler - Detect resistance and lineages of Mycobacterium tuberculosis genomes // include { initOptions } from '../../../lib/nf/functions' -options = initOptions(params.containsKey("options") ? params.options : [:], 'tbprofiler') -options.args = [ + +// tbprofiler profile +profiler_opts = initOptions(params.containsKey("options") ? params.options : [:], 'tbprofiler') +profiler_opts.args = [ params.call_whole_genome ? "--call_whole_genome" : "", params.calling_params ? "--calling_params ${params.calling_params}" : "", params.suspect ? "--suspect" : "", @@ -14,7 +16,20 @@ options.args = [ params.tbprofiler_opts ? "${params.calling_params}" : "", ].join(' ').replaceAll("\\s{2,}", " ").trim() -include { TBPROFILER_PROFILE as TBPROFILER_MODULE } from '../../../modules/nf-core/tbprofiler/profile/main' addParams( options: options ) +// tb-profiler collate options +collate_opts = initOptions(params.containsKey("options") ? params.options : [:], 'tbprofiler-collate') +collate_opts.is_module = false +collate_opts.args = [ + params.itol ? "--itol" : "", + params.full ? "--full" : "", + params.all_variants ? "--all_variants" : "", + params.mark_missing ? "--mark_missing" : "", +].join(' ').replaceAll("\\s{2,}", " ").trim() +collate_opts.logs_subdir = 'tbprofiler-collate' +collate_opts.process_name = params.merge_folder + +include { TBPROFILER_PROFILE } from '../../../modules/nf-core/tbprofiler/profile/main' addParams( options: profiler_opts ) +include { TBPROFILER_COLLATE } from '../../../modules/nf-core/tbprofiler/collate/main' addParams( options: collate_opts ) workflow TBPROFILER { take: @@ -23,14 +38,20 @@ workflow TBPROFILER { main: ch_versions = Channel.empty() - TBPROFILER_MODULE(reads) - ch_versions = ch_versions.mix(TBPROFILER_MODULE.out.versions) + TBPROFILER_PROFILE(reads) + ch_versions = ch_versions.mix(TBPROFILER_PROFILE.out.versions) + + // Merge results + TBPROFILER_PROFILE.out.json.collect{meta, json -> json}.map{ json -> [[id:'tbprofiler'], json]}.set{ ch_merge_tbprofiler } + TBPROFILER_COLLATE(ch_merge_tbprofiler) + ch_versions = ch_versions.mix(TBPROFILER_COLLATE.out.versions) emit: - bam = TBPROFILER_MODULE.out.bam - csv = TBPROFILER_MODULE.out.csv - json = TBPROFILER_MODULE.out.json - txt = TBPROFILER_MODULE.out.txt - vcf = TBPROFILER_MODULE.out.vcf + bam = TBPROFILER_PROFILE.out.bam + csv = TBPROFILER_PROFILE.out.csv + merged_csv = TBPROFILER_COLLATE.out.csv + json = TBPROFILER_PROFILE.out.json + txt = TBPROFILER_PROFILE.out.txt + vcf = TBPROFILER_PROFILE.out.vcf versions = ch_versions // channel: [ versions.yml ] } From 0ec8f02553e9c47e4031100fb093ccf435a6b074 Mon Sep 17 00:00:00 2001 From: Robert Petit Date: Fri, 22 Mar 2024 14:51:01 -0600 Subject: [PATCH 28/48] add subcommand for AllTheBacteria support --- bin/bactopia/bactopia | 4 ++++ data/conda/meta.yaml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/bin/bactopia/bactopia b/bin/bactopia/bactopia index fb58144f..6308207b 100755 --- a/bin/bactopia/bactopia +++ b/bin/bactopia/bactopia @@ -22,6 +22,8 @@ if [[ $# == 0 ]]; then echo "" echo "bactopia summary - Generate a summary table from the Bactopia results" echo "" + echo "bactopia atb-formatter - Restructure All-the-Bacteria assemblies to allow usage with Bactopia Tools" + echo "" echo "bactopia --citation - Print the Bactopia citation" echo "bactopia --version - Print the Bactopia version" echo "" @@ -65,6 +67,8 @@ elif [[ "$1" == "citations" ]]; then bactopia-citations --bactopia-path "${BACTOPIA_NF}" "${@:2}" elif [[ "$1" == "summary" ]]; then bactopia-summary "${@:2}" +elif [[ "$1" == "atb-formatter" ]]; then + bactopia-atb-formatter "${@:2}" elif [[ "$1" == "version" ]] || [[ "$1" == "--version" ]]; then echo "bactopia ${VERSION}" else diff --git a/data/conda/meta.yaml b/data/conda/meta.yaml index 9dfeea5b..b36922bd 100644 --- a/data/conda/meta.yaml +++ b/data/conda/meta.yaml @@ -16,7 +16,7 @@ requirements: - pip - python >3.8 run: - - bactopia-py >=1.0.8 + - bactopia-py >=1.0.9 - conda >=22.11.0 - coreutils - mamba >=1.1.0 From 3bc15735adf97778f655581468391a53ac1fa994 Mon Sep 17 00:00:00 2001 From: Robert Petit Date: Fri, 22 Mar 2024 16:55:52 -0600 Subject: [PATCH 29/48] bump version numbers --- CHANGELOG.md | 17 +++++++++++++++++ modules/nf-core/abritamr/run/main.nf | 6 +++--- modules/nf-core/amrfinderplus/run/main.nf | 6 +++--- modules/nf-core/amrfinderplus/update/main.nf | 6 +++--- modules/nf-core/bakta/download/main.nf | 6 +++--- modules/nf-core/bakta/run/main.nf | 6 +++--- modules/nf-core/blast/blastn/main.nf | 6 +++--- modules/nf-core/blast/blastp/main.nf | 6 +++--- modules/nf-core/blast/blastx/main.nf | 6 +++--- modules/nf-core/blast/tblastn/main.nf | 6 +++--- modules/nf-core/blast/tblastx/main.nf | 6 +++--- modules/nf-core/bracken/main.nf | 6 +++--- modules/nf-core/busco/main.nf | 6 +++--- .../nf-core/custom/dumpsoftwareversions/main.nf | 6 +++--- modules/nf-core/gubbins/main.nf | 6 +++--- modules/nf-core/mashtree/main.nf | 6 +++--- modules/nf-core/mykrobe/predict/main.nf | 6 +++--- modules/nf-core/panaroo/run/main.nf | 6 +++--- modules/nf-core/rgi/heatmap/main.nf | 6 +++--- modules/nf-core/rgi/main/main.nf | 6 +++--- modules/nf-core/sistr/main.nf | 6 +++--- modules/nf-core/snippy/core/main.nf | 6 +++--- modules/nf-core/snippy/run/main.nf | 6 +++--- modules/nf-core/stecfinder/main.nf | 6 +++--- modules/nf-core/tbprofiler/collate/main.nf | 6 +++--- modules/nf-core/tbprofiler/profile/main.nf | 6 +++--- 26 files changed, 92 insertions(+), 75 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9005962d..c92a5bf5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,23 @@ description: A full list of Bactopia releases and a description of the changes. - Updated `bactopia-assembler` to include updated Medaka models - TB Profiler results are now merged with `collate` command +- bump program versions in modules + - `abritamr`: 1.0.14 -> 1.0.17 + - `bactopia-teton`: 1.0.1 -> 1.0.2 + - `bactopia-variants`: 1.0.1 -> 1.0.2 + - `bakta`: 1.8.2 -> 1.9.3 + - `blast`: 2.14.1 -> 2.15.0 + - `busco`: 5.5.0 -> 5.7.0 + - `gubbins`: 3.3.0 -> 3.3.4 + - `multiqc`: 1.15 -> 1.21 + - `mashtree`: 1.4.5 -> 1.4.6 + - `mykrobe`: 0.12.2 -> 0.13.0 + - `ncbi-amrfinderplus`: 3.11.18 -> 3.12.8 + - `panaroo`: 1.3.3 -> 1.4.2 + - `rgi`: 6.0.2 -> 6.0.3 + - `sistr`: 1.1.1 -> 1.1.2 + - `stecfinder`: 1.1.0 -> 1.1.1 + - `tbprofiler`: 5.0.0 -> 6.1.0 ### `Fixed` diff --git a/modules/nf-core/abritamr/run/main.nf b/modules/nf-core/abritamr/run/main.nf index b7bfc8bd..eba448c0 100644 --- a/modules/nf-core/abritamr/run/main.nf +++ b/modules/nf-core/abritamr/run/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'abritamr') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::abritamr=1.0.14" +conda_tools = "bioconda::abritamr=1.0.17" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process ABRITAMR_RUN { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/abritamr:1.0.14--pyhdfd78af_0' : - 'quay.io/biocontainers/abritamr:1.0.14--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/abritamr:1.0.17--pyh5707d69_0' : + 'quay.io/biocontainers/abritamr:1.0.17--pyh5707d69_0' }" input: tuple val(meta), path(fasta) diff --git a/modules/nf-core/amrfinderplus/run/main.nf b/modules/nf-core/amrfinderplus/run/main.nf index be53a4a2..37f20f09 100644 --- a/modules/nf-core/amrfinderplus/run/main.nf +++ b/modules/nf-core/amrfinderplus/run/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'amrfinderplus') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::ncbi-amrfinderplus=3.11.18" +conda_tools = "bioconda::ncbi-amrfinderplus=3.12.8" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process AMRFINDERPLUS_RUN { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/ncbi-amrfinderplus:3.11.18--h283d18e_0' : - 'quay.io/biocontainers/ncbi-amrfinderplus:3.11.18--h283d18e_0' }" + 'https://depot.galaxyproject.org/singularity/ncbi-amrfinderplus:3.12.8--h283d18e_0' : + 'quay.io/biocontainers/ncbi-amrfinderplus:3.12.8--h283d18e_0' }" input: tuple val(meta), path(genes), path(proteins) diff --git a/modules/nf-core/amrfinderplus/update/main.nf b/modules/nf-core/amrfinderplus/update/main.nf index 7d45c918..412d2d3a 100644 --- a/modules/nf-core/amrfinderplus/update/main.nf +++ b/modules/nf-core/amrfinderplus/update/main.nf @@ -2,7 +2,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/functions' RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'amrfinderplus_update') -conda_tools = "bioconda::ncbi-amrfinderplus=3.11.18" +conda_tools = "bioconda::ncbi-amrfinderplus=3.12.8" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -14,8 +14,8 @@ process AMRFINDERPLUS_UPDATE { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/ncbi-amrfinderplus:3.11.18--h283d18e_0' : - 'quay.io/biocontainers/ncbi-amrfinderplus:3.11.18--h283d18e_0' }" + 'https://depot.galaxyproject.org/singularity/ncbi-amrfinderplus:3.12.8--h283d18e_0' : + 'quay.io/biocontainers/ncbi-amrfinderplus:3.12.8--h283d18e_0' }" output: path "amrfinderplus.tar.gz", emit: db diff --git a/modules/nf-core/bakta/download/main.nf b/modules/nf-core/bakta/download/main.nf index 5a090423..be162bd3 100644 --- a/modules/nf-core/bakta/download/main.nf +++ b/modules/nf-core/bakta/download/main.nf @@ -2,7 +2,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/functions' RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'bakta') -conda_tools = "bioconda::bakta=1.8.2" +conda_tools = "bioconda::bakta=1.9.3" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -14,8 +14,8 @@ process BAKTA_DOWNLOAD { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/bakta:1.8.2--pyhdfd78af_0' : - 'quay.io/biocontainers/bakta:1.8.2--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/bakta:1.9.3--pyhdfd78af_0' : + 'quay.io/biocontainers/bakta:1.9.3--pyhdfd78af_0' }" output: path "bakta-${params.bakta_db_type}/*" , emit: db, optional: true diff --git a/modules/nf-core/bakta/run/main.nf b/modules/nf-core/bakta/run/main.nf index 1ae7074f..4296f246 100644 --- a/modules/nf-core/bakta/run/main.nf +++ b/modules/nf-core/bakta/run/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'bakta') options.btype = options.btype ?: "main" -conda_tools = "bioconda::bakta=1.8.2" +conda_tools = "bioconda::bakta=1.9.3" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process BAKTA_RUN { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/bakta:1.8.2--pyhdfd78af_0' : - 'quay.io/biocontainers/bakta:1.8.2--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/bakta:1.9.3--pyhdfd78af_0' : + 'quay.io/biocontainers/bakta:1.9.3--pyhdfd78af_0' }" input: tuple val(meta), path(fasta) diff --git a/modules/nf-core/blast/blastn/main.nf b/modules/nf-core/blast/blastn/main.nf index 9f507ddf..b555d58c 100644 --- a/modules/nf-core/blast/blastn/main.nf +++ b/modules/nf-core/blast/blastn/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'blastn') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::blast=2.14.1" +conda_tools = "bioconda::blast=2.15.0" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process BLAST_BLASTN { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/blast:2.14.1--pl5321h6f7f691_0' : - 'quay.io/biocontainers/blast:2.14.1--pl5321h6f7f691_0' }" + 'https://depot.galaxyproject.org/singularity/blast:2.15.0--pl5321h6f7f691_1' : + 'quay.io/biocontainers/blast:2.15.0--pl5321h6f7f691_1' }" input: tuple val(meta), path(blastdb) diff --git a/modules/nf-core/blast/blastp/main.nf b/modules/nf-core/blast/blastp/main.nf index 2b715a48..58314870 100644 --- a/modules/nf-core/blast/blastp/main.nf +++ b/modules/nf-core/blast/blastp/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'blastp') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::blast=2.14.1" +conda_tools = "bioconda::blast=2.15.0" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process BLAST_BLASTP { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/blast:2.14.1--pl5321h6f7f691_0' : - 'quay.io/biocontainers/blast:2.14.1--pl5321h6f7f691_0' }" + 'https://depot.galaxyproject.org/singularity/blast:2.15.0--pl5321h6f7f691_1' : + 'quay.io/biocontainers/blast:2.15.0--pl5321h6f7f691_1' }" input: tuple val(meta), path(blastdb) diff --git a/modules/nf-core/blast/blastx/main.nf b/modules/nf-core/blast/blastx/main.nf index f2b019a0..becd6079 100644 --- a/modules/nf-core/blast/blastx/main.nf +++ b/modules/nf-core/blast/blastx/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'blastx') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::blast=2.14.1" +conda_tools = "bioconda::blast=2.15.0" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process BLAST_BLASTX { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/blast:2.14.1--pl5321h6f7f691_0' : - 'quay.io/biocontainers/blast:2.14.1--pl5321h6f7f691_0' }" + 'https://depot.galaxyproject.org/singularity/blast:2.15.0--pl5321h6f7f691_1' : + 'quay.io/biocontainers/blast:2.15.0--pl5321h6f7f691_1' }" input: tuple val(meta), path(blastdb) diff --git a/modules/nf-core/blast/tblastn/main.nf b/modules/nf-core/blast/tblastn/main.nf index 9475bff5..c74430cf 100644 --- a/modules/nf-core/blast/tblastn/main.nf +++ b/modules/nf-core/blast/tblastn/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'tblastn') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::blast=2.14.1" +conda_tools = "bioconda::blast=2.15.0" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process BLAST_TBLASTN { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/blast:2.14.1--pl5321h6f7f691_0' : - 'quay.io/biocontainers/blast:2.14.1--pl5321h6f7f691_0' }" + 'https://depot.galaxyproject.org/singularity/blast:2.15.0--pl5321h6f7f691_1' : + 'quay.io/biocontainers/blast:2.15.0--pl5321h6f7f691_1' }" input: tuple val(meta), path(blastdb) diff --git a/modules/nf-core/blast/tblastx/main.nf b/modules/nf-core/blast/tblastx/main.nf index c8f019d3..f50c3cbe 100644 --- a/modules/nf-core/blast/tblastx/main.nf +++ b/modules/nf-core/blast/tblastx/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'tblastx') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::blast=2.14.1" +conda_tools = "bioconda::blast=2.15.0" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process BLAST_TBLASTX { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/blast:2.14.1--pl5321h6f7f691_0' : - 'quay.io/biocontainers/blast:2.14.1--pl5321h6f7f691_0' }" + 'https://depot.galaxyproject.org/singularity/blast:2.15.0--pl5321h6f7f691_1' : + 'quay.io/biocontainers/blast:2.15.0--pl5321h6f7f691_1' }" input: tuple val(meta), path(blastdb) diff --git a/modules/nf-core/bracken/main.nf b/modules/nf-core/bracken/main.nf index d941a5e9..6dffcdac 100644 --- a/modules/nf-core/bracken/main.nf +++ b/modules/nf-core/bracken/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../lib/nf/function RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'bracken') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::bactopia-teton=1.0.1" +conda_tools = "bioconda::bactopia-teton=1.0.2" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process BRACKEN { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/bactopia-teton:1.0.1--hdfd78af_0' : - 'quay.io/biocontainers/bactopia-teton:1.0.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/bactopia-teton:1.0.2--hdfd78af_0' : + 'quay.io/biocontainers/bactopia-teton:1.0.2--hdfd78af_0' }" input: tuple val(meta), path(reads) diff --git a/modules/nf-core/busco/main.nf b/modules/nf-core/busco/main.nf index 2a009e41..5ad9f38c 100644 --- a/modules/nf-core/busco/main.nf +++ b/modules/nf-core/busco/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../lib/nf/function RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'busco') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::busco=5.5.0" +conda_tools = "bioconda::busco=5.7.0" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process BUSCO { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/busco:5.5.0--pyhdfd78af_0' : - 'quay.io/biocontainers/busco:5.5.0--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/busco:5.7.0--pyhdfd78af_1' : + 'quay.io/biocontainers/busco:5.7.0--pyhdfd78af_1' }" input: tuple val(meta), path(fasta) diff --git a/modules/nf-core/custom/dumpsoftwareversions/main.nf b/modules/nf-core/custom/dumpsoftwareversions/main.nf index d229353a..558dccec 100644 --- a/modules/nf-core/custom/dumpsoftwareversions/main.nf +++ b/modules/nf-core/custom/dumpsoftwareversions/main.nf @@ -4,7 +4,7 @@ RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cp options = initOptions(params.containsKey("options") ? params.options : [:], 'custom_dumpsoftwareversions') options.btype = options.btype ?: "comparative" options.process_name = "software-versions" -conda_tools = "bioconda::multiqc=1.15" +conda_tools = "bioconda::multiqc=1.21" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -14,8 +14,8 @@ process CUSTOM_DUMPSOFTWAREVERSIONS { // Requires `pyyaml` which does not have a dedicated container but is in the MultiQC container conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/multiqc:1.15--pyhdfd78af_0' : - 'quay.io/biocontainers/multiqc:1.15--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/multiqc:1.21--pyhdfd78af_0' : + 'quay.io/biocontainers/multiqc:1.21--pyhdfd78af_0' }" input: path versions diff --git a/modules/nf-core/gubbins/main.nf b/modules/nf-core/gubbins/main.nf index c042c72a..20797b2f 100644 --- a/modules/nf-core/gubbins/main.nf +++ b/modules/nf-core/gubbins/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../lib/nf/function RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'gubbins') options.btype = options.btype ?: "comparative" -conda_tools = "bioconda::gubbins=3.3.0" +conda_tools = "bioconda::gubbins=3.3.4" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process GUBBINS { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gubbins:3.3.0--py310pl5321h8472f5a_0' : - 'quay.io/biocontainers/gubbins:3.3.0--py310pl5321h8472f5a_0' }" + 'https://depot.galaxyproject.org/singularity/gubbins:3.3.4--py310pl5321he4a0461_0' : + 'quay.io/biocontainers/gubbins:3.3.4--py310pl5321he4a0461_0' }" input: tuple val(meta), path(msa) diff --git a/modules/nf-core/mashtree/main.nf b/modules/nf-core/mashtree/main.nf index 51180a82..eb633ad4 100644 --- a/modules/nf-core/mashtree/main.nf +++ b/modules/nf-core/mashtree/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../lib/nf/function RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'mashtree') options.btype = options.btype ?: "comparative" -conda_tools = "bioconda::mashtree=1.4.5" +conda_tools = "bioconda::mashtree=1.4.6" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process MASHTREE { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mashtree:1.4.5--pl5321h031d066_0' : - 'quay.io/biocontainers/mashtree:1.4.5--pl5321h031d066_0' }" + 'https://depot.galaxyproject.org/singularity/mashtree:1.4.6--pl5321h031d066_0' : + 'quay.io/biocontainers/mashtree:1.4.6--pl5321h031d066_0' }" input: tuple val(meta), path(seqs) diff --git a/modules/nf-core/mykrobe/predict/main.nf b/modules/nf-core/mykrobe/predict/main.nf index d88a1aa4..fc4fea47 100644 --- a/modules/nf-core/mykrobe/predict/main.nf +++ b/modules/nf-core/mykrobe/predict/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'mykrobe') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::mykrobe=0.12.2" +conda_tools = "bioconda::mykrobe=0.13.0" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process MYKROBE_PREDICT { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mykrobe:0.12.2--py39h0163359_1' : - 'quay.io/biocontainers/mykrobe:0.12.2--py39h0163359_1' }" + 'https://depot.galaxyproject.org/singularity/mykrobe:0.13.0--py38h2214202_0' : + 'quay.io/biocontainers/mykrobe:0.13.0--py38h2214202_0' }" input: tuple val(meta), path(seqs) diff --git a/modules/nf-core/panaroo/run/main.nf b/modules/nf-core/panaroo/run/main.nf index 25efe778..c59ad109 100644 --- a/modules/nf-core/panaroo/run/main.nf +++ b/modules/nf-core/panaroo/run/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'panaroo') options.btype = options.btype ?: "comparative" -conda_tools = "bioconda::panaroo=1.3.3" +conda_tools = "bioconda::panaroo=1.4.2" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -14,8 +14,8 @@ process PANAROO_RUN { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/panaroo:1.3.3--pyhdfd78af_0' : - 'quay.io/biocontainers/panaroo:1.3.3--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/panaroo:1.4.2--pyhdfd78af_0' : + 'quay.io/biocontainers/panaroo:1.4.2--pyhdfd78af_0' }" input: tuple val(meta), path(gff, stageAs: 'gff-tmp/*') diff --git a/modules/nf-core/rgi/heatmap/main.nf b/modules/nf-core/rgi/heatmap/main.nf index 5885aafc..6a5d597b 100644 --- a/modules/nf-core/rgi/heatmap/main.nf +++ b/modules/nf-core/rgi/heatmap/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'rgi_heatmap') options.btype = options.btype ?: "comparative" -conda_tools = "bioconda::rgi=6.0.2" +conda_tools = "bioconda::rgi=6.0.3" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process RGI_HEATMAP { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/rgi:6.0.2--pyha8f3691_0' : - 'quay.io/biocontainers/rgi:6.0.2--pyha8f3691_0' }" + 'https://depot.galaxyproject.org/singularity/rgi:6.0.3--pyha8f3691_0' : + 'quay.io/biocontainers/rgi:6.0.3--pyha8f3691_0' }" input: tuple val(meta), path(json, stageAs: 'json/*') diff --git a/modules/nf-core/rgi/main/main.nf b/modules/nf-core/rgi/main/main.nf index 7a80e963..c8767d56 100644 --- a/modules/nf-core/rgi/main/main.nf +++ b/modules/nf-core/rgi/main/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'rgi') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::rgi=6.0.2" +conda_tools = "bioconda::rgi=6.0.3" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process RGI_MAIN { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/rgi:6.0.2--pyha8f3691_0' : - 'quay.io/biocontainers/rgi:6.0.2--pyha8f3691_0' }" + 'https://depot.galaxyproject.org/singularity/rgi:6.0.3--pyha8f3691_0' : + 'quay.io/biocontainers/rgi:6.0.3--pyha8f3691_0' }" input: tuple val(meta), path(fasta) diff --git a/modules/nf-core/sistr/main.nf b/modules/nf-core/sistr/main.nf index 013e1d6e..b1ab7008 100644 --- a/modules/nf-core/sistr/main.nf +++ b/modules/nf-core/sistr/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../lib/nf/function RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'sistr') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::sistr_cmd=1.1.1" +conda_tools = "bioconda::sistr_cmd=1.1.2" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process SISTR { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sistr_cmd:1.1.1--pyh7cba7a3_3' : - 'quay.io/biocontainers/sistr_cmd:1.1.1--pyh7cba7a3_3' }" + 'https://depot.galaxyproject.org/singularity/sistr_cmd:1.1.2--pyhca03a8a_0' : + 'quay.io/biocontainers/sistr_cmd:1.1.2--pyhca03a8a_0' }" input: tuple val(meta), path(fasta) diff --git a/modules/nf-core/snippy/core/main.nf b/modules/nf-core/snippy/core/main.nf index 755ec884..82661d08 100644 --- a/modules/nf-core/snippy/core/main.nf +++ b/modules/nf-core/snippy/core/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'snippy-core') options.btype = options.btype ?: "comparative" -conda_tools = "bioconda::bactopia-variants=1.0.1" +conda_tools = "bioconda::bactopia-variants=1.0.2" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process SNIPPY_CORE { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/bactopia-variants:1.0.1--hdfd78af_0' : - 'quay.io/biocontainers/bactopia-variants:1.0.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/bactopia-variants:1.0.2--hdfd78af_0' : + 'quay.io/biocontainers/bactopia-variants:1.0.2--hdfd78af_0' }" input: tuple val(meta), path(vcf), path(aligned_fa) diff --git a/modules/nf-core/snippy/run/main.nf b/modules/nf-core/snippy/run/main.nf index c1730cdf..d1a796a6 100644 --- a/modules/nf-core/snippy/run/main.nf +++ b/modules/nf-core/snippy/run/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'snippy') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::bactopia-variants=1.0.1" +conda_tools = "bioconda::bactopia-variants=1.0.2" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process SNIPPY_RUN { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/bactopia-variants:1.0.1--hdfd78af_0' : - 'quay.io/biocontainers/bactopia-variants:1.0.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/bactopia-variants:1.0.2--hdfd78af_0' : + 'quay.io/biocontainers/bactopia-variants:1.0.2--hdfd78af_0' }" input: tuple val(meta), path(reads) diff --git a/modules/nf-core/stecfinder/main.nf b/modules/nf-core/stecfinder/main.nf index 1679503d..bed6884b 100644 --- a/modules/nf-core/stecfinder/main.nf +++ b/modules/nf-core/stecfinder/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../lib/nf/function RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'stecfinder') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::stecfinder=1.1.0" +conda_tools = "bioconda::stecfinder=1.1.1" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process STECFINDER { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/stecfinder:1.1.0--pyhdfd78af_0' : - 'quay.io/biocontainers/stecfinder:1.1.0--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/stecfinder:1.1.1--pyhdfd78af_0' : + 'quay.io/biocontainers/stecfinder:1.1.1--pyhdfd78af_0' }" input: tuple val(meta), path(fasta), path(reads) diff --git a/modules/nf-core/tbprofiler/collate/main.nf b/modules/nf-core/tbprofiler/collate/main.nf index fd1bce22..85e14345 100644 --- a/modules/nf-core/tbprofiler/collate/main.nf +++ b/modules/nf-core/tbprofiler/collate/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'tbprofiler') options.btype = options.btype ?: "comparative" -conda_tools = "bioconda::tb-profiler=6.0.0" +conda_tools = "bioconda::tb-profiler=6.1.0" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process TBPROFILER_COLLATE { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/tb-profiler:6.0.0--pyhdfd78af_0' : - 'quay.io/biocontainers/tb-profiler:6.0.0--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/tb-profiler:6.1.0--pyhdfd78af_1' : + 'quay.io/biocontainers/tb-profiler:6.1.0--pyhdfd78af_1' }" input: tuple val(meta), path(json, stageAs: 'results/*') diff --git a/modules/nf-core/tbprofiler/profile/main.nf b/modules/nf-core/tbprofiler/profile/main.nf index 21308af1..41fe8957 100644 --- a/modules/nf-core/tbprofiler/profile/main.nf +++ b/modules/nf-core/tbprofiler/profile/main.nf @@ -3,7 +3,7 @@ include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/funct RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) options = initOptions(params.containsKey("options") ? params.options : [:], 'tbprofiler') options.btype = options.btype ?: "tools" -conda_tools = "bioconda::tb-profiler=6.0.0" +conda_tools = "bioconda::tb-profiler=6.1.0" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -13,8 +13,8 @@ process TBPROFILER_PROFILE { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/tb-profiler:6.0.0--pyhdfd78af_0' : - 'quay.io/biocontainers/tb-profiler:6.0.0--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/tb-profiler:6.1.0--pyhdfd78af_1' : + 'quay.io/biocontainers/tb-profiler:6.1.0--pyhdfd78af_1' }" input: tuple val(meta), path(reads) From c12e2fc478cb7292fbce241bc69aae4bc64d89b4 Mon Sep 17 00:00:00 2001 From: Robert Petit Date: Fri, 22 Mar 2024 18:19:43 -0600 Subject: [PATCH 30/48] adjust workflows config --- conf/workflows.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/workflows.config b/conf/workflows.config index 3a5c6e56..d06a3704 100644 --- a/conf/workflows.config +++ b/conf/workflows.config @@ -6,7 +6,7 @@ params { 'bactopiatools' { subworkflows = [ 'ariba', 'bakta', 'eggnog', 'gtdb', 'mashtree', 'merlin', 'pangenome', - 'scrubber', 'snippy', 'staphtyper' + 'scrubber', 'snippy', 'staphtyper', 'tbprofiler' ] modules = [ 'abricate', 'abritamr', 'agrvate', 'amrfinderplus', 'blastn', 'blastp', 'blastx', @@ -16,7 +16,7 @@ params { 'mykrobe', 'ngmaster', 'pasty', 'pbptyper', 'phispy', 'plasmidfinder', 'pneumocat', 'quast', 'rgi', 'seqsero2', 'seroba', 'shigatyper', 'shigeifinder', 'sistr', 'spatyper', 'ssuissero', 'staphopiasccmec', - 'stecfinder', 'tblastn', 'tblastx', 'tbprofiler', 'updater' + 'stecfinder', 'tblastn', 'tblastx', 'updater' ] } } From 658edf70deb607585dc8dde1b84dd35980261eee Mon Sep 17 00:00:00 2001 From: Robert Petit Date: Sat, 23 Mar 2024 12:44:52 -0600 Subject: [PATCH 31/48] update all tests action --- .github/workflows/all-bactopia-tests.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/all-bactopia-tests.yml b/.github/workflows/all-bactopia-tests.yml index 3a487871..3adac5d5 100644 --- a/.github/workflows/all-bactopia-tests.yml +++ b/.github/workflows/all-bactopia-tests.yml @@ -1,9 +1,6 @@ name: All Bactopia Tests on: workflow_dispatch - #schedule: - # At 01:30 on Monday and Thursday - #- cron: '30 1 * * 1,4' jobs: bactopia-tests: @@ -14,7 +11,7 @@ jobs: steps: - name: Checkout bactopia/bactopia - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: path: ${{ github.run_id }}/bactopia @@ -30,7 +27,7 @@ jobs: - name: Conda Profile run: | - source /data/storage/bactopia-ci/mambaforge/etc/profile.d/conda.sh + source /data/storage/bactopia-ci/miniforge/etc/profile.d/conda.sh conda activate bactopia-ci cd ${{ env.BACTOPIA_WORKSPACE }} ls modules/local/bactopia | xargs -I {} -P 10 -n 1\ @@ -39,7 +36,7 @@ jobs: - name: Docker Profile run: | - source /data/storage/bactopia-ci/mambaforge/etc/profile.d/conda.sh + source /data/storage/bactopia-ci/miniforge/etc/profile.d/conda.sh conda activate bactopia-ci cd ${{ env.BACTOPIA_WORKSPACE }} ls modules/local/bactopia | xargs -I {} -P 10 -n 1\ @@ -48,7 +45,7 @@ jobs: - name: Singularity Profile run: | - source /data/storage/bactopia-ci/mambaforge/etc/profile.d/conda.sh + source /data/storage/bactopia-ci/miniforge/etc/profile.d/conda.sh conda activate bactopia-ci cd ${{ env.BACTOPIA_WORKSPACE }} ls modules/local/bactopia | xargs -I {} -P 10 -n 1\ From b813b2d625971b29f6f318b822d66766750237af Mon Sep 17 00:00:00 2001 From: Robert Petit Date: Sat, 23 Mar 2024 12:50:27 -0600 Subject: [PATCH 32/48] update all tests action --- .github/workflows/all-bactopia-tool-tests.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/all-bactopia-tool-tests.yml b/.github/workflows/all-bactopia-tool-tests.yml index 79990864..e0cf4ac3 100644 --- a/.github/workflows/all-bactopia-tool-tests.yml +++ b/.github/workflows/all-bactopia-tool-tests.yml @@ -14,7 +14,7 @@ jobs: steps: - name: Checkout bactopia/bactopia - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: path: ${{ github.run_id }}/bactopia @@ -31,7 +31,7 @@ jobs: - name: Singularity Profile run: | - source /data/storage/bactopia-ci/mambaforge/etc/profile.d/conda.sh + source /data/storage/bactopia-ci/miniforge/etc/profile.d/conda.sh conda activate bactopia-ci cd ${{ env.BACTOPIA_WORKSPACE }} ls subworkflows/local/ | grep -v -E "teton" | xargs -I {} -P 20 \ @@ -40,7 +40,7 @@ jobs: - name: Docker Profile run: | - source /data/storage/bactopia-ci/mambaforge/etc/profile.d/conda.sh + source /data/storage/bactopia-ci/miniforge/etc/profile.d/conda.sh conda activate bactopia-ci cd ${{ env.BACTOPIA_WORKSPACE }} ls subworkflows/local/ | grep -v -E "teton" | xargs -I {} -P 20 \ @@ -49,7 +49,7 @@ jobs: - name: Conda Profile run: | - source /data/storage/bactopia-ci/mambaforge/etc/profile.d/conda.sh + source /data/storage/bactopia-ci/miniforge/etc/profile.d/conda.sh conda activate bactopia-ci conda clean --all -y cd ${{ env.BACTOPIA_WORKSPACE }} From 94bdf2532ed979f9dedeae77a54fdba25baabf3d Mon Sep 17 00:00:00 2001 From: Robert Petit Date: Sat, 23 Mar 2024 12:56:17 -0600 Subject: [PATCH 33/48] remove deprecatred action, add nf-core/configs support --- .github/workflows/all-bactopia-tests.yml | 73 ------------------- .github/workflows/all-bactopia-tool-tests.yml | 2 +- CHANGELOG.md | 8 ++ nextflow.config | 11 +-- 4 files changed, 15 insertions(+), 79 deletions(-) delete mode 100644 .github/workflows/all-bactopia-tests.yml diff --git a/.github/workflows/all-bactopia-tests.yml b/.github/workflows/all-bactopia-tests.yml deleted file mode 100644 index 3adac5d5..00000000 --- a/.github/workflows/all-bactopia-tests.yml +++ /dev/null @@ -1,73 +0,0 @@ -name: All Bactopia Tests - -on: workflow_dispatch - -jobs: - bactopia-tests: - runs-on: self-hosted - defaults: - run: - shell: bash -l {0} - - steps: - - name: Checkout bactopia/bactopia - uses: actions/checkout@v4 - with: - path: ${{ github.run_id }}/bactopia - - - name: Setup ENV variables - run: | - echo "BACTOPIA_CI=/data/storage/bactopia-ci" >> $GITHUB_ENV - echo "BACTOPIA_CONDA=/data/storage/bactopia-ci/envs/conda" >> $GITHUB_ENV - echo "BACTOPIA_SINGULARITY=/data/storage/bactopia-ci/envs/singularity" >> $GITHUB_ENV - echo "BACTOPIA_TESTS=/data/storage/bactopia-ci/bactopia-tests/data" >> $GITHUB_ENV - echo "BACTOPIA_WORKSPACE=${GITHUB_WORKSPACE}/${{ github.run_id }}/bactopia" >> $GITHUB_ENV - echo "BACTOPIA_TMP=/data/storage/bactopia-tmp/${{ github.run_id }}" >> $GITHUB_ENV - mkdir "/data/storage/bactopia-tmp/${{ github.run_id }}" - - - name: Conda Profile - run: | - source /data/storage/bactopia-ci/miniforge/etc/profile.d/conda.sh - conda activate bactopia-ci - cd ${{ env.BACTOPIA_WORKSPACE }} - ls modules/local/bactopia | xargs -I {} -P 10 -n 1\ - bash -c 'BACTOPIA_ARGS="-profile test --condadir ${{ env.BACTOPIA_CONDA }} --test_data_dir ${{ env.BACTOPIA_TESTS }}" TMPDIR=${{ env.BACTOPIA_TMP }} \ - pytest --wt 10 --symlink --kwdof -o "testpaths=tests modules/local/bactopia" --git-aware --tag {}' - - - name: Docker Profile - run: | - source /data/storage/bactopia-ci/miniforge/etc/profile.d/conda.sh - conda activate bactopia-ci - cd ${{ env.BACTOPIA_WORKSPACE }} - ls modules/local/bactopia | xargs -I {} -P 10 -n 1\ - bash -c 'BACTOPIA_ARGS="-profile test,docker --test_data_dir ${{ env.BACTOPIA_TESTS }}" TMPDIR=${{ env.BACTOPIA_TMP }} \ - pytest --wt 10 --symlink --kwdof -o "testpaths=tests modules/local/bactopia" --git-aware --tag {}' - - - name: Singularity Profile - run: | - source /data/storage/bactopia-ci/miniforge/etc/profile.d/conda.sh - conda activate bactopia-ci - cd ${{ env.BACTOPIA_WORKSPACE }} - ls modules/local/bactopia | xargs -I {} -P 10 -n 1\ - bash -c 'BACTOPIA_ARGS="-profile test,singularity --singularity_cache ${{ env.BACTOPIA_SINGULARITY }} --test_data_dir ${{ env.BACTOPIA_TESTS }}" TMPDIR=${{ env.BACTOPIA_TMP }} \ - pytest --wt 10 --symlink --kwdof -o "testpaths=tests modules/local/bactopia" --git-aware --tag {}' - - - name: Upload logs on failure - if: failure() - uses: actions/upload-artifact@v2 - with: - name: logs-bactopia - path: | - ${{ env.BACTOPIA_TMP }}/pytest_workflow_*/*/log.out - ${{ env.BACTOPIA_TMP }}/pytest_workflow_*/*/log.err - ${{ env.BACTOPIA_TMP }}/pytest_workflow_*/*/.nextflow.log - ${{ env.BACTOPIA_TMP }}/pytest_workflow_*/*/work/**/*.log - ${{ env.BACTOPIA_TMP }}/pytest_workflow_*/*/work/**/*.err - ${{ env.BACTOPIA_TMP }}/pytest_workflow_*/*/work/**/*.out - ${{ env.BACTOPIA_TMP }}/pytest_workflow_*/*/work/**/*stderr.txt - ${{ env.BACTOPIA_TMP }}/pytest_workflow_*/*/work/**/*stdout.txt - ${{ env.BACTOPIA_TMP }}/pytest_workflow_*/*/work/**/*versions.yml - - - name: Cleanup - if: always() - run: rm -rf ${GITHUB_WORKSPACE}/${{ github.run_id }} ${{ env.BACTOPIA_TMP }} diff --git a/.github/workflows/all-bactopia-tool-tests.yml b/.github/workflows/all-bactopia-tool-tests.yml index e0cf4ac3..62473b8b 100644 --- a/.github/workflows/all-bactopia-tool-tests.yml +++ b/.github/workflows/all-bactopia-tool-tests.yml @@ -1,4 +1,4 @@ -name: All Bactopia Tool Tests +name: All Bactopia Tests on: workflow_dispatch #schedule: diff --git a/CHANGELOG.md b/CHANGELOG.md index c92a5bf5..10be2cdd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,10 @@ description: A full list of Bactopia releases and a description of the changes. ### `Added` - Updated `bactopia-assembler` to include updated Medaka models +- profile for `arcc_hawk` - TB Profiler results are now merged with `collate` command +- sample name to plasmidfinder results +- support config files from nf-core/configs - bump program versions in modules - `abritamr`: 1.0.14 -> 1.0.17 - `bactopia-teton`: 1.0.1 -> 1.0.2 @@ -35,6 +38,11 @@ description: A full list of Bactopia releases and a description of the changes. - extra space in RGI container image name - sourmash version STDERR not parsed out - FASTQC writing to /tmp dir on HPC when non-readable +- abricate and ariba not using output subdirectory +- nextflow tower typos @iferres +- phispy not working with Bakta genbank files +- missed check of `--download_bakta` param in main workflow +- quast not working when estimated genome size is 0 ## v3.0.0 bactopia/bactopia "Black Cat and Brown Dog" - 2023/09/11 diff --git a/nextflow.config b/nextflow.config index beee60f0..d9680250 100644 --- a/nextflow.config +++ b/nextflow.config @@ -92,12 +92,13 @@ try { System.err.println("WARNING: Could not load nf-core/config profiles: ${params.custom_config_base}/nfcore_custom.config") } +// NOTE: The following section will only be needed if a bactopia specific profile is added to nf-core/configs // Load Bactopia custom profiles from different institutions. -try { - includeConfig "${params.custom_config_base}/pipeline/bactopia.config" -} catch (Exception e) { - System.err.println("WARNING: Could not load nf-core/config/bactopia profiles: ${params.custom_config_base}/pipeline/bactopia.config") -} +//try { +// includeConfig "${params.custom_config_base}/pipeline/bactopia.config" +//} catch (Exception e) { +// System.err.println("WARNING: Could not load nf-core/config/bactopia profiles: ${params.custom_config_base}/pipeline/bactopia.config") +//} includeConfig "conf/profiles.config" From 93ee225b104192644a1f4efe2d2ecbac0d2a948f Mon Sep 17 00:00:00 2001 From: Robert Petit Date: Sat, 23 Mar 2024 13:09:09 -0600 Subject: [PATCH 34/48] add SINGULARITY_CACHEDIR variable to CI --- .github/workflows/all-bactopia-tool-tests.yml | 1 + CHANGELOG.md | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/all-bactopia-tool-tests.yml b/.github/workflows/all-bactopia-tool-tests.yml index 62473b8b..c886aba2 100644 --- a/.github/workflows/all-bactopia-tool-tests.yml +++ b/.github/workflows/all-bactopia-tool-tests.yml @@ -26,6 +26,7 @@ jobs: echo "BACTOPIA_TESTS=/data/storage/bactopia-ci/bactopia-tests/data" >> $GITHUB_ENV echo "BACTOPIA_WORKSPACE=${GITHUB_WORKSPACE}/${{ github.run_id }}/bactopia" >> $GITHUB_ENV echo "BACTOPIA_TMP=/data/storage/bactopia-tmp/${{ github.run_id }}" >> $GITHUB_ENV + echo "SINGULARITY_CACHEDIR=/data/storage/bactopia-ci/singularity-cache" >> $GITHUB_ENV mkdir "/data/storage/bactopia-tmp/${{ github.run_id }}" chmod -R 777 "/data/storage/bactopia-tmp/${{ github.run_id }}" diff --git a/CHANGELOG.md b/CHANGELOG.md index 10be2cdd..f2d79a65 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ description: A full list of Bactopia releases and a description of the changes. --- # Changelog -## v3.0.1 bactopia/bactopia "" - 2023/??/?? +## v3.0.1 bactopia/bactopia "" - 2024/03/?? ### `Added` @@ -13,6 +13,7 @@ description: A full list of Bactopia releases and a description of the changes. - TB Profiler results are now merged with `collate` command - sample name to plasmidfinder results - support config files from nf-core/configs +- updated AMRFinder+ database for v3.12.8 - bump program versions in modules - `abritamr`: 1.0.14 -> 1.0.17 - `bactopia-teton`: 1.0.1 -> 1.0.2 From 92e97b9cafb69ae96e4bb76a49cfbf0225ef36e6 Mon Sep 17 00:00:00 2001 From: Robert Petit Date: Sat, 23 Mar 2024 13:13:49 -0600 Subject: [PATCH 35/48] update singularity cache on CI --- .github/workflows/all-bactopia-tool-tests.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/all-bactopia-tool-tests.yml b/.github/workflows/all-bactopia-tool-tests.yml index c886aba2..9b148369 100644 --- a/.github/workflows/all-bactopia-tool-tests.yml +++ b/.github/workflows/all-bactopia-tool-tests.yml @@ -26,7 +26,8 @@ jobs: echo "BACTOPIA_TESTS=/data/storage/bactopia-ci/bactopia-tests/data" >> $GITHUB_ENV echo "BACTOPIA_WORKSPACE=${GITHUB_WORKSPACE}/${{ github.run_id }}/bactopia" >> $GITHUB_ENV echo "BACTOPIA_TMP=/data/storage/bactopia-tmp/${{ github.run_id }}" >> $GITHUB_ENV - echo "SINGULARITY_CACHEDIR=/data/storage/bactopia-ci/singularity-cache" >> $GITHUB_ENV + echo "NXF_SINGULARITY_CACHEDIR=/data/storage/bactopia-ci/envs/singularity" >> $GITHUB_ENV + echo "SINGULARITY_CACHEDIR=/data/storage/bactopia-ci/envs/singularity" >> $GITHUB_ENV mkdir "/data/storage/bactopia-tmp/${{ github.run_id }}" chmod -R 777 "/data/storage/bactopia-tmp/${{ github.run_id }}" @@ -36,7 +37,7 @@ jobs: conda activate bactopia-ci cd ${{ env.BACTOPIA_WORKSPACE }} ls subworkflows/local/ | grep -v -E "teton" | xargs -I {} -P 20 \ - bash -c 'BACTOPIA_ARGS="-profile singularity --singularity_cache ${{ env.BACTOPIA_SINGULARITY }} --is_ci --test_data_dir ${{ env.BACTOPIA_TESTS }}" TMPDIR=${{ env.BACTOPIA_TMP }} \ + bash -c 'BACTOPIA_ARGS="-profile singularity --is_ci --test_data_dir ${{ env.BACTOPIA_TESTS }}" TMPDIR=${{ env.BACTOPIA_TMP }} \ pytest --wt 5 --symlink --kwdof -o "testpaths=tests subworkflows/local/" --git-aware --tag {}' - name: Docker Profile From 485a78fceea5c6b392700d46da690cbbb2ebe2b4 Mon Sep 17 00:00:00 2001 From: Robert Petit Date: Sat, 23 Mar 2024 13:45:42 -0600 Subject: [PATCH 36/48] first pass test updates --- subworkflows/local/assembler/test.yml | 26 +++++++++++++------------- subworkflows/local/blastn/test.yml | 6 +++--- subworkflows/local/blastp/test.yml | 4 ++-- subworkflows/local/blastx/test.yml | 6 +++--- subworkflows/local/bracken/test.yml | 4 ++-- subworkflows/local/genotyphi/test.yml | 4 ++-- subworkflows/local/kraken2/test.yml | 4 ++-- subworkflows/local/mashtree/test.yml | 2 +- subworkflows/local/mobsuite/test.yml | 2 +- subworkflows/local/mykrobe/test.yml | 2 +- subworkflows/local/rgi/test.yml | 6 +++--- subworkflows/local/seroba/test.yml | 2 +- subworkflows/local/tblastn/test.yml | 4 ++-- subworkflows/local/tblastx/test.yml | 4 ++-- subworkflows/local/tbprofiler/test.yml | 6 +++--- 15 files changed, 41 insertions(+), 41 deletions(-) diff --git a/subworkflows/local/assembler/test.yml b/subworkflows/local/assembler/test.yml index d109b952..53434c59 100644 --- a/subworkflows/local/assembler/test.yml +++ b/subworkflows/local/assembler/test.yml @@ -46,7 +46,7 @@ - path: bactopia/portiera/main/assembler/logs/shovill-se.log contains: ['skesa', 'shovill', 'Done'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 3e25df3e4019a1ef305a2c110d12ac9e + md5sum: ca2bf722c9d05b082a101c3e13068dd6 - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -100,7 +100,7 @@ - path: bactopia/portiera/main/assembler/logs/shovill-se.log contains: ['spades', 'shovill', 'Done'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 3e25df3e4019a1ef305a2c110d12ac9e + md5sum: ca2bf722c9d05b082a101c3e13068dd6 - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -141,7 +141,7 @@ - path: bactopia/portiera/main/assembler/logs/shovill-se.log contains: ['megahit', 'shovill', 'Done'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 3e25df3e4019a1ef305a2c110d12ac9e + md5sum: ca2bf722c9d05b082a101c3e13068dd6 - path: bactopia/portiera/main/assembler/megahit-unpolished.gfa.gz - path: bactopia/portiera/main/assembler/portiera-assembly-error.txt md5sum: 173bfef2b0d5bd31c1b76cb37de67d3c @@ -196,7 +196,7 @@ - path: bactopia/portiera/main/assembler/logs/shovill-se.log contains: ['velvet', 'shovill', 'Done'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 3e25df3e4019a1ef305a2c110d12ac9e + md5sum: ca2bf722c9d05b082a101c3e13068dd6 - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -253,7 +253,7 @@ - path: bactopia/portiera/main/assembler/logs/shovill.log contains: ['skesa', 'shovill', 'Done'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: e16c349ed6815e53930f7ffe6a7bfe31 + md5sum: 377dba6d337bec8d81da248be05badff - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -311,7 +311,7 @@ - path: bactopia/portiera/main/assembler/logs/shovill.log contains: ['spades', 'shovill', 'Done'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: e16c349ed6815e53930f7ffe6a7bfe31 + md5sum: 377dba6d337bec8d81da248be05badff - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -356,7 +356,7 @@ - path: bactopia/portiera/main/assembler/logs/shovill.log contains: ['megahit', 'shovill', 'Done'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: e16c349ed6815e53930f7ffe6a7bfe31 + md5sum: 377dba6d337bec8d81da248be05badff - path: bactopia/portiera/main/assembler/megahit-unpolished.gfa.gz - path: bactopia/portiera/main/assembler/portiera-assembly-error.txt md5sum: 173bfef2b0d5bd31c1b76cb37de67d3c @@ -415,7 +415,7 @@ - path: bactopia/portiera/main/assembler/logs/shovill.log contains: ['velvet', 'shovill', 'Done'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: e16c349ed6815e53930f7ffe6a7bfe31 + md5sum: 377dba6d337bec8d81da248be05badff - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -468,7 +468,7 @@ - path: bactopia/portiera/main/assembler/logs/unicycler.log contains: ['unicycler', 'complete', 'Saving'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 2e6bd6eec63b11939965e16fac507047 + md5sum: 227506881d670f1977dc013695de8042 - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -526,7 +526,7 @@ - path: bactopia/portiera/main/assembler/logs/nf-assembler.trace contains: ['nextflow.trace'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 48ef4021a79c8b84dc914daf54658724 + md5sum: 543bba4536419bd2950e63af41eb048c - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -578,7 +578,7 @@ - path: bactopia/portiera/main/assembler/logs/nf-assembler.trace contains: ['nextflow.trace'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 48ef4021a79c8b84dc914daf54658724 + md5sum: 543bba4536419bd2950e63af41eb048c - path: bactopia/portiera/main/assembler/miniasm-unpolished.fasta.gz - path: bactopia/portiera/main/assembler/miniasm-unpolished.gfa.gz - path: bactopia/portiera/main/assembler/portiera.fna.gz @@ -632,7 +632,7 @@ - path: bactopia/portiera/main/assembler/logs/nf-assembler.trace contains: ['nextflow.trace'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 48ef4021a79c8b84dc914daf54658724 + md5sum: 543bba4536419bd2950e63af41eb048c - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -689,7 +689,7 @@ - path: bactopia/portiera/main/assembler/logs/nf-assembler.trace contains: ['nextflow.trace'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 1d314cef9ccaeaa0a89323441a0cdf4b + md5sum: 518e7c708c9f142e5da2c2d05feb858e - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] diff --git a/subworkflows/local/blastn/test.yml b/subworkflows/local/blastn/test.yml index ee66ad2f..303b7325 100644 --- a/subworkflows/local/blastn/test.yml +++ b/subworkflows/local/blastn/test.yml @@ -41,7 +41,7 @@ - path: bactopia/SRX1390622/tools/blastn/logs/nf-blastn.trace contains: ['nextflow.trace'] - path: bactopia/SRX1390622/tools/blastn/logs/versions.yml - md5sum: 05f4d83f9689ca445c89d2c14286042e + md5sum: e7b15a1f93b7936b51f64d5f8cfa1430 - name: blastn-test_gz command: bash -c 'nextflow run ./subworkflows/local/blastn/test.nf -entry test_blastn_gz --wf blastn -c nextflow.config ${BACTOPIA_ARGS}' @@ -86,7 +86,7 @@ - path: bactopia/SRX1390622/tools/blastn/logs/nf-blastn.trace contains: ['nextflow.trace'] - path: bactopia/SRX1390622/tools/blastn/logs/versions.yml - md5sum: 265c014c7328186a307cb9430da090af + md5sum: 3467e2150f3731b6d4af94bbdc821435 - name: blastn-test_use_genes command: bash -c 'nextflow run ./subworkflows/local/blastn/test.nf -entry test_blastn_use_genes --wf blastn -c nextflow.config ${BACTOPIA_ARGS}' @@ -131,4 +131,4 @@ - path: bactopia/SRX1390622/tools/blastn/logs/nf-blastn.trace contains: ['nextflow.trace'] - path: bactopia/SRX1390622/tools/blastn/logs/versions.yml - md5sum: 0ff2ad9ce7ba1cc1fad83f8d59143d95 + md5sum: 9a2a043009edd887f1c9b030639ad297 diff --git a/subworkflows/local/blastp/test.yml b/subworkflows/local/blastp/test.yml index 5ec8caf2..4afabfd8 100644 --- a/subworkflows/local/blastp/test.yml +++ b/subworkflows/local/blastp/test.yml @@ -41,7 +41,7 @@ - path: bactopia/SRX1390622/tools/blastp/logs/nf-blastp.trace contains: ['nextflow.trace'] - path: bactopia/SRX1390622/tools/blastp/logs/versions.yml - md5sum: 42af37b58f6cc9837dda5793201993ad + md5sum: 9f491f4e6eb74583235d93a8602bdc18 - name: blastp-test_gz command: bash -c 'nextflow run ./subworkflows/local/blastp/test.nf -entry test_blastp_gz --wf blastp -c nextflow.config ${BACTOPIA_ARGS}' @@ -86,4 +86,4 @@ - path: bactopia/SRX1390622/tools/blastp/logs/nf-blastp.trace contains: ['nextflow.trace'] - path: bactopia/SRX1390622/tools/blastp/logs/versions.yml - md5sum: e05afd6a41f0da42f1986bc55cc3be16 + md5sum: d112a07590e131823d0c9c58d6c5b9d1 diff --git a/subworkflows/local/blastx/test.yml b/subworkflows/local/blastx/test.yml index 56b3646a..5af90491 100644 --- a/subworkflows/local/blastx/test.yml +++ b/subworkflows/local/blastx/test.yml @@ -41,7 +41,7 @@ - path: bactopia/SRX1390622/tools/blastx/logs/nf-blastx.trace contains: ['nextflow.trace'] - path: bactopia/SRX1390622/tools/blastx/logs/versions.yml - md5sum: 88d3f94ad239f30a3111453a0820ded0 + md5sum: 30cd58a6281aabb883e2aab6921cbb8a - name: blastx-test_gz command: bash -c 'nextflow run ./subworkflows/local/blastx/test.nf -entry test_blastx_gz --wf blastx -c nextflow.config ${BACTOPIA_ARGS}' @@ -86,7 +86,7 @@ - path: bactopia/SRX1390622/tools/blastx/logs/nf-blastx.trace contains: ['nextflow.trace'] - path: bactopia/SRX1390622/tools/blastx/logs/versions.yml - md5sum: 81018f9cceaba2644c3d39ee54fd0762 + md5sum: 15d04184c55d7d1e3e06082de6add346 - name: blastx-test_use_genes command: bash -c 'nextflow run ./subworkflows/local/blastx/test.nf -entry test_blastx_use_genes --wf blastx -c nextflow.config ${BACTOPIA_ARGS}' @@ -131,4 +131,4 @@ - path: bactopia/SRX1390622/tools/blastx/logs/nf-blastx.trace contains: ['nextflow.trace'] - path: bactopia/SRX1390622/tools/blastx/logs/versions.yml - md5sum: cfa85183171f3cca6e72a95b81f9aee8 + md5sum: 83ce699112b9925c193160e5268c9e83 diff --git a/subworkflows/local/bracken/test.yml b/subworkflows/local/bracken/test.yml index 805bf812..dc60dc28 100644 --- a/subworkflows/local/bracken/test.yml +++ b/subworkflows/local/bracken/test.yml @@ -43,7 +43,7 @@ - path: bactopia/SRR2838702/tools/bracken/logs/nf-bracken.trace contains: ['nextflow.trace'] - path: bactopia/SRR2838702/tools/bracken/logs/versions.yml - md5sum: 9bc7a68e6fd16c2dfe5f6eb0d687439f + md5sum: 3664924a9120258ea44d3858e1b0414f - name: bracken-test-tarball command: bash -c 'nextflow run ./subworkflows/local/bracken/test.nf -entry test_bracken_tarball --wf bracken -c nextflow.config ${BACTOPIA_ARGS}' @@ -91,4 +91,4 @@ - path: bactopia/SRR2838702/tools/bracken/logs/nf-bracken.trace contains: ['nextflow.trace'] - path: bactopia/SRR2838702/tools/bracken/logs/versions.yml - md5sum: dafd32420071ec6ea5b9df4866c5c7c0 + md5sum: 02436c5ee78bd3e7624fa2cebfa1af6b diff --git a/subworkflows/local/genotyphi/test.yml b/subworkflows/local/genotyphi/test.yml index 8c6968b5..18ab2f0a 100644 --- a/subworkflows/local/genotyphi/test.yml +++ b/subworkflows/local/genotyphi/test.yml @@ -20,7 +20,7 @@ - path: bactopia/bactopia-runs/genotyphi/merged-results/logs/genotyphi-concat/versions.yml contains: ['csvtk'] - path: bactopia/bactopia-runs/genotyphi/nf-reports/genotyphi-dag.dot - md5sum: 1b407e59487039bdbe295275cb4aef72 + contains: ['genotyphi', 'GENOTYPHI', 'versions'] - path: bactopia/bactopia-runs/genotyphi/nf-reports/genotyphi-report.html contains: ['html', 'Nextflow', 'Report'] - path: bactopia/bactopia-runs/genotyphi/nf-reports/genotyphi-timeline.html @@ -54,7 +54,7 @@ - path: bactopia/test/tools/genotyphi/logs/mykrobe/nf-genotyphi.trace contains: ['nextflow.trace'] - path: bactopia/test/tools/genotyphi/logs/mykrobe/versions.yml - md5sum: 82aff618ee15aa872566d48a3c527437 + md5sum: 38bcd32a145fbf05894aa0bfcfe66c05 - path: bactopia/test/tools/genotyphi/test.csv contains: ["susceptibility", "typhi", "variants"] - path: bactopia/test/tools/genotyphi/test.json diff --git a/subworkflows/local/kraken2/test.yml b/subworkflows/local/kraken2/test.yml index 4b6e024e..1492763a 100644 --- a/subworkflows/local/kraken2/test.yml +++ b/subworkflows/local/kraken2/test.yml @@ -32,7 +32,7 @@ - path: bactopia/SRR2838702/tools/kraken2/logs/nf-kraken2.trace contains: ['nextflow.trace'] - path: bactopia/SRR2838702/tools/kraken2/logs/versions.yml - md5sum: 95cd3bacf8fa7d6f24cd6a539966ee3f + md5sum: 1bf6c7edd3b3090ae68f75f6db354736 - name: kraken2-test-tarball command: bash -c 'nextflow run ./subworkflows/local/kraken2/test.nf -entry test_kraken2_tarball --wf kraken2 -c nextflow.config ${BACTOPIA_ARGS}' @@ -69,4 +69,4 @@ - path: bactopia/SRR2838702/tools/kraken2/logs/nf-kraken2.trace contains: ['nextflow.trace'] - path: bactopia/SRR2838702/tools/kraken2/logs/versions.yml - md5sum: a61f15dab97c2fb0374fc6156e0f446b + md5sum: f6e71f7db9aa79ff598b29485f2496d0 diff --git a/subworkflows/local/mashtree/test.yml b/subworkflows/local/mashtree/test.yml index 3bee0d3e..287652d4 100644 --- a/subworkflows/local/mashtree/test.yml +++ b/subworkflows/local/mashtree/test.yml @@ -19,7 +19,7 @@ - path: bactopia/bactopia-runs/mashtree/mashtree/logs/nf-mashtree.trace contains: ['nextflow.trace'] - path: bactopia/bactopia-runs/mashtree/mashtree/logs/versions.yml - md5sum: 96538caf6e99cea2c6efe23f3b70bd9f + md5sum: 46f17a27efed26210ef70f8e835fbfc5 - path: bactopia/bactopia-runs/mashtree/mashtree/mashtree.dnd contains: ['GCF_000009885', 'GCF_000017085'] - path: bactopia/bactopia-runs/mashtree/mashtree/mashtree.tsv diff --git a/subworkflows/local/mobsuite/test.yml b/subworkflows/local/mobsuite/test.yml index c5e4e731..29324e9c 100644 --- a/subworkflows/local/mobsuite/test.yml +++ b/subworkflows/local/mobsuite/test.yml @@ -47,6 +47,6 @@ - path: bactopia/GCF_000017085/tools/mobsuite/logs/nf-mobsuite.trace contains: ['nextflow.trace'] - path: bactopia/GCF_000017085/tools/mobsuite/logs/versions.yml - md5sum: 70b7c16bd3f101f8ccf96a5640b7e2f8 + md5sum: 4f2f3c349d4e30d595aeb67fc4934afd - path: bactopia/GCF_000017085/tools/mobsuite/plasmid_AA840.fasta md5sum: f774ed2069f1dfacd930673b748faaac diff --git a/subworkflows/local/mykrobe/test.yml b/subworkflows/local/mykrobe/test.yml index 567cfe3c..513ff905 100644 --- a/subworkflows/local/mykrobe/test.yml +++ b/subworkflows/local/mykrobe/test.yml @@ -42,7 +42,7 @@ - path: bactopia/test/tools/mykrobe/logs/nf-mykrobe.trace contains: ['nextflow.trace'] - path: bactopia/test/tools/mykrobe/logs/versions.yml - md5sum: 9b226e8dcf0cbd7a9055291126babfd0 + md5sum: cb986756df70555ad35b1644d1bd403c - path: bactopia/test/tools/mykrobe/test.csv contains: ["susceptibility", "staph", "variants"] - path: bactopia/test/tools/mykrobe/test.json diff --git a/subworkflows/local/rgi/test.yml b/subworkflows/local/rgi/test.yml index 5344c880..61acc5e7 100644 --- a/subworkflows/local/rgi/test.yml +++ b/subworkflows/local/rgi/test.yml @@ -31,7 +31,7 @@ - path: bactopia/bactopia-runs/rgi/merged-results/logs/rgi-heatmap/nf-merged-results.trace contains: ['nextflow.trace'] - path: bactopia/bactopia-runs/rgi/merged-results/logs/rgi-heatmap/versions.yml - md5sum: c16a8469ca85a97204a631a52190323d + md5sum: 47dd197ef74cfe2af440ddf5b6a56c72 - path: bactopia/bactopia-runs/rgi/merged-results/rgi-2.csv contains: ["gene", "Klebsiella", "Escherichia"] - path: bactopia/bactopia-runs/rgi/merged-results/rgi-2.eps @@ -64,7 +64,7 @@ - path: bactopia/GCA_000027305/tools/rgi/logs/nf-rgi.trace contains: ['nextflow.trace'] - path: bactopia/GCA_000027305/tools/rgi/logs/versions.yml - md5sum: 81482750f2ba727c718e24bf844293e8 + md5sum: 8a5ec5372a0936c4f30740344b771701 - path: bactopia/GCF_900478275/tools/rgi/GCF_900478275.json contains: ["type_match", "model_name", "orf_dna_sequence"] - path: bactopia/GCF_900478275/tools/rgi/GCF_900478275.txt @@ -82,4 +82,4 @@ - path: bactopia/GCF_900478275/tools/rgi/logs/nf-rgi.trace contains: ['nextflow.trace'] - path: bactopia/GCF_900478275/tools/rgi/logs/versions.yml - md5sum: 81482750f2ba727c718e24bf844293e8 + md5sum: 8a5ec5372a0936c4f30740344b771701 diff --git a/subworkflows/local/seroba/test.yml b/subworkflows/local/seroba/test.yml index bb582429..d5a1b673 100644 --- a/subworkflows/local/seroba/test.yml +++ b/subworkflows/local/seroba/test.yml @@ -20,7 +20,7 @@ - path: bactopia/bactopia-runs/seroba/merged-results/seroba.tsv md5sum: b3983df1ed608ca335bfcb66b22b8b94 - path: bactopia/bactopia-runs/seroba/nf-reports/seroba-dag.dot - md5sum: a59071f842746266f80ab67bb3a06aa7 + contains: ['serobadag', 'SEROBA', 'versions'] - path: bactopia/bactopia-runs/seroba/nf-reports/seroba-report.html contains: ['html', 'Nextflow', 'Report'] - path: bactopia/bactopia-runs/seroba/nf-reports/seroba-timeline.html diff --git a/subworkflows/local/tblastn/test.yml b/subworkflows/local/tblastn/test.yml index cdf9583a..e96affcb 100644 --- a/subworkflows/local/tblastn/test.yml +++ b/subworkflows/local/tblastn/test.yml @@ -41,7 +41,7 @@ - path: bactopia/SRX1390622/tools/tblastn/logs/nf-tblastn.trace contains: ['nextflow.trace'] - path: bactopia/SRX1390622/tools/tblastn/logs/versions.yml - md5sum: c6c83cf9a0ca3a400c923feca9b88d07 + md5sum: 531f2b629a61a8bb25f6bdc9f1e15d14 - name: tblastn-test_gz command: bash -c 'nextflow run ./subworkflows/local/tblastn/test.nf -entry test_tblastn_gz --wf tblastn -c nextflow.config ${BACTOPIA_ARGS}' @@ -86,4 +86,4 @@ - path: bactopia/SRX1390622/tools/tblastn/logs/nf-tblastn.trace contains: ['nextflow.trace'] - path: bactopia/SRX1390622/tools/tblastn/logs/versions.yml - md5sum: bbf653d96871a63433b5e848fba069fc + md5sum: c2b46d805e7b1f0f1597884b57a7a3e8 diff --git a/subworkflows/local/tblastx/test.yml b/subworkflows/local/tblastx/test.yml index 1199db3d..27dfb763 100644 --- a/subworkflows/local/tblastx/test.yml +++ b/subworkflows/local/tblastx/test.yml @@ -41,7 +41,7 @@ - path: bactopia/SRX1390622/tools/tblastx/logs/nf-tblastx.trace contains: ['nextflow.trace'] - path: bactopia/SRX1390622/tools/tblastx/logs/versions.yml - md5sum: 120c6925adb5648d8cbbc7580a8f2973 + md5sum: 437af4df6d319abf59d1f04fb89ceb97 - name: tblastx-test_gz command: bash -c 'nextflow run ./subworkflows/local/tblastx/test.nf -entry test_tblastx_gz --wf tblastx -c nextflow.config ${BACTOPIA_ARGS}' @@ -86,4 +86,4 @@ - path: bactopia/SRX1390622/tools/tblastx/logs/nf-tblastx.trace contains: ['nextflow.trace'] - path: bactopia/SRX1390622/tools/tblastx/logs/versions.yml - md5sum: 18a4801a563bfac01aa252fae6e608b7 + md5sum: 29318e469b9018d56b2af2636dc954c5 diff --git a/subworkflows/local/tbprofiler/test.yml b/subworkflows/local/tbprofiler/test.yml index dfdf8570..7384fc47 100644 --- a/subworkflows/local/tbprofiler/test.yml +++ b/subworkflows/local/tbprofiler/test.yml @@ -28,11 +28,11 @@ - path: bactopia/test/tools/tbprofiler/logs/nf-tbprofiler.trace contains: ['nextflow.trace'] - path: bactopia/test/tools/tbprofiler/logs/versions.yml - md5sum: 1395cb7dfca1a1a6afce11e0178c905c + md5sum: f325188a7b7cb206a4212a71119b6ae7 - path: bactopia/test/tools/tbprofiler/test.results.csv - contains: ['gid', 'Analysis', 'freebayes'] + contains: ['gid', 'Analysis'] - path: bactopia/test/tools/tbprofiler/test.results.json contains: ['locus_tag', 'tbprofiler_version', 'median_depth'] - path: bactopia/test/tools/tbprofiler/test.results.txt - contains: ['gid', 'Analysis', 'freebayes'] + contains: ['gid', 'Analysis'] - path: bactopia/test/tools/tbprofiler/vcf/test.targets.csq.vcf.gz From 6560a95f5211b6aa140b1c0a3b331dd36c321c22 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Sun, 24 Mar 2024 02:12:07 +0000 Subject: [PATCH 37/48] more test fixes --- CHANGELOG.md | 8 ++ bin/scrubber-summary.py | 59 +++++++++++++ conf/params.config | 2 +- modules/nf-core/abritamr/run/main.nf | 4 +- modules/nf-core/ariba/getref/main.nf | 4 +- modules/nf-core/busco/params.config | 2 +- modules/nf-core/custom/wget/main.nf | 35 ++++++++ modules/nf-core/custom/wget/meta.yaml | 24 ++++++ modules/nf-core/gubbins/main.nf | 4 +- modules/nf-core/kraken2/main.nf | 12 ++- modules/nf-core/kraken2/params-teton.json | 90 ++++++++++++++++++++ modules/nf-core/kraken2/params.json | 2 +- modules/nf-core/sistr/main.nf | 4 +- subworkflows/local/abricate/test.yml | 44 +++++----- subworkflows/local/abritamr/test.yml | 2 +- subworkflows/local/amrfinderplus/test.yml | 2 +- subworkflows/local/ariba/test.yml | 44 +++++----- subworkflows/local/busco/main.nf | 2 +- subworkflows/local/busco/test.yml | 46 ++++------ subworkflows/local/gubbins/test.yml | 6 +- subworkflows/local/k2scrubber/main.nf | 50 +++++++++++ subworkflows/local/k2scrubber/meta.yml | 51 +++++++++++ subworkflows/local/k2scrubber/test.nf | 35 ++++++++ subworkflows/local/k2scrubber/test.yml | 64 ++++++++++++++ subworkflows/local/panaroo/test.yml | 4 +- subworkflows/local/plasmidfinder/test.yml | 4 +- subworkflows/local/scrubber/test.yml | 54 ++++++------ subworkflows/local/sistr/test.yml | 2 +- subworkflows/local/snippy/test.yml | 28 +++--- subworkflows/local/srahumanscrubber/main.nf | 35 ++++++++ subworkflows/local/srahumanscrubber/meta.yml | 51 +++++++++++ subworkflows/local/srahumanscrubber/test.nf | 11 +++ subworkflows/local/srahumanscrubber/test.yml | 10 +++ 33 files changed, 657 insertions(+), 138 deletions(-) create mode 100755 bin/scrubber-summary.py create mode 100644 modules/nf-core/custom/wget/main.nf create mode 100644 modules/nf-core/custom/wget/meta.yaml create mode 100644 modules/nf-core/kraken2/params-teton.json create mode 100644 subworkflows/local/k2scrubber/main.nf create mode 100644 subworkflows/local/k2scrubber/meta.yml create mode 100644 subworkflows/local/k2scrubber/test.nf create mode 100644 subworkflows/local/k2scrubber/test.yml create mode 100644 subworkflows/local/srahumanscrubber/main.nf create mode 100644 subworkflows/local/srahumanscrubber/meta.yml create mode 100644 subworkflows/local/srahumanscrubber/test.nf create mode 100644 subworkflows/local/srahumanscrubber/test.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index f2d79a65..fd59f4b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,14 @@ description: A full list of Bactopia releases and a description of the changes. - phispy not working with Bakta genbank files - missed check of `--download_bakta` param in main workflow - quast not working when estimated genome size is 0 +- `abricate` now gets database subdirectories + +### `Enhancements to OSS` + +- fix amrfinderplus pinning in abritamr [bioconda/bioconda-recipes#46714](https://github.com/bioconda/bioconda-recipes/pull/46714) +- adjust python pinning in gubbins [bioconda/bioconda-recipes#46713](https://github.com/bioconda/bioconda-recipes/pull/46713) +- fix issue with sistr container [bioconda/bioconda-recipes#46712](https://github.com/bioconda/bioconda-recipes/pull/46712) +- update rgi pinning for pyrodigal [bioconda/bioconda-recipes#46669](https://github.com/bioconda/bioconda-recipes/pull/46669) ## v3.0.0 bactopia/bactopia "Black Cat and Brown Dog" - 2023/09/11 diff --git a/bin/scrubber-summary.py b/bin/scrubber-summary.py new file mode 100755 index 00000000..01337a17 --- /dev/null +++ b/bin/scrubber-summary.py @@ -0,0 +1,59 @@ +#! /usr/bin/env python3 +""" +Create a simple before and after report from scrubbing +""" +PROGRAM = "scrubber-summary" +VERSION = "3.0.1" +import json +import sys + +def read_json(json_file): + json_data = None + with open(json_file, 'rt') as json_fh: + json_data = json.load(json_fh) + return json_data + +if __name__ == '__main__': + import argparse as ap + + parser = ap.ArgumentParser( + prog=PROGRAM, + conflict_handler='resolve', + description=( + f'{PROGRAM} (v{VERSION}) - Create a simple before and after report from scrubbing' + ) + ) + parser.add_argument('sample', metavar="SAMPLE", type=str, + help='the name of the sample') + parser.add_argument('original', metavar="ORIGINAL", type=str, + help='A summary of the original FASTQs in JSON format') + parser.add_argument('scrubbed', metavar="SCRUBBED", type=str, + help='A summary of the scrubbed FASTQs in JSON format') + parser.add_argument('--version', action='version', + version=f'{PROGRAM} {VERSION}') + + if len(sys.argv) == 1: + parser.print_help() + sys.exit(0) + + args = parser.parse_args() + + original_json = read_json(args.original) + scrubbed_json = read_json(args.scrubbed) + + # Summary + cols = [ + 'sample', + 'original_read_total', + 'scrubbed_read_total', + 'host_read_total', + ] + results = [ + args.sample, + str(original_json['qc_stats']['read_total']), + str(scrubbed_json['qc_stats']['read_total']), + str(original_json['qc_stats']['read_total'] - scrubbed_json['qc_stats']['read_total']), + ] + + print('\t'.join(cols)) + print('\t'.join(results)) diff --git a/conf/params.config b/conf/params.config index 576f0abb..8b3fd69c 100644 --- a/conf/params.config +++ b/conf/params.config @@ -13,7 +13,7 @@ params { //nf-core schema_ignore_params = 'no_check_certificate,run_name,prokka_debug,is_ci,sourmash_url,mash_url,mlst_url,amrfinder_url,merge_folder,wf_has_subdir,build_all,use_mamba,empty_proteins,empty_tf,empty_adapters,empty_phix,help_all,include_tools,min_time,publish_dir,silent,test_data,test_data_dir,verbose,schema_inputs,empty_extra,empty_r2,empty_r1,workflows,available_workflows,is_subworkflow,enable_conda,force_rebuild,config_profile_url,config_profile_contact,config_profile_description,config_profile_name' - schema_inputs = ['fastqs', 'R1,R2,SE,sample,hybrid', 'R1,R2,sample', 'SE,sample', 'assembly,sample', 'accessions', 'accession'] + schema_inputs = ['fastqs', 'r1,r2,se,sample,hybrid', 'r1,r2,sample', 'se,sample', 'assembly,sample', 'accessions', 'accession'] // Max Job Request Parameters max_retry = 3 diff --git a/modules/nf-core/abritamr/run/main.nf b/modules/nf-core/abritamr/run/main.nf index eba448c0..1e16fe10 100644 --- a/modules/nf-core/abritamr/run/main.nf +++ b/modules/nf-core/abritamr/run/main.nf @@ -13,8 +13,8 @@ process ABRITAMR_RUN { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/abritamr:1.0.17--pyh5707d69_0' : - 'quay.io/biocontainers/abritamr:1.0.17--pyh5707d69_0' }" + 'https://depot.galaxyproject.org/singularity/abritamr:1.0.17--pyh5707d69_1' : + 'quay.io/biocontainers/abritamr:1.0.17--pyh5707d69_1' }" input: tuple val(meta), path(fasta) diff --git a/modules/nf-core/ariba/getref/main.nf b/modules/nf-core/ariba/getref/main.nf index 3a8f31e9..9be54cb2 100644 --- a/modules/nf-core/ariba/getref/main.nf +++ b/modules/nf-core/ariba/getref/main.nf @@ -14,8 +14,8 @@ process ARIBA_GETREF { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/ariba:2.14.6--py39h67e14b5_3' : - 'quay.io/biocontainers/ariba:2.14.6--py39h67e14b5_3' }" + 'https://depot.galaxyproject.org/singularity/ariba:2.14.6--py39h67e14b5_4' : + 'quay.io/biocontainers/ariba:2.14.6--py39h67e14b5_4' }" input: val(db_name) diff --git a/modules/nf-core/busco/params.config b/modules/nf-core/busco/params.config index b29a3950..16efe4bb 100644 --- a/modules/nf-core/busco/params.config +++ b/modules/nf-core/busco/params.config @@ -13,5 +13,5 @@ params { augustus_parameters = "" augustus_species = "" augustus_long = false - run_name = params.busco_lineage + run_name = "${params.wf}-${params.busco_lineage}" } diff --git a/modules/nf-core/custom/wget/main.nf b/modules/nf-core/custom/wget/main.nf new file mode 100644 index 00000000..65e0b600 --- /dev/null +++ b/modules/nf-core/custom/wget/main.nf @@ -0,0 +1,35 @@ +// Import generic module functions +include { get_resources; initOptions; saveFiles } from '../../../../lib/nf/functions' +RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_cpus) +options = initOptions(params.containsKey("options") ? params.options : [:], 'custom_wget') +options.btype = options.btype ?: "comparative" +conda_tools = "bioconda::gnu-wget=1.18" +conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") +conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools + +process CUSTOM_WGET { + label 'process_low' + storeDir params.datasets_cache + publishDir params.datasets_cache + + conda (params.enable_conda ? conda_env : null) + container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/gnu-wget:1.18--h36e9172_9' : + 'quay.io/biocontainers/gnu-wget:1.18--h36e9172_9' }" + + output: + path "${options.args2}", emit: download + path "*.{log,err}" , emit: logs, optional: true + path ".command.*" , emit: nf_logs + path "versions.yml" ,emit: versions + + script: + """ + wget $options.args + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + wget: \$(echo \$( wget --version 2>&1) | sed "s/GNU Wget //;s/ .*//;" ) + END_VERSIONS + """ +} diff --git a/modules/nf-core/custom/wget/meta.yaml b/modules/nf-core/custom/wget/meta.yaml new file mode 100644 index 00000000..fdfa03ba --- /dev/null +++ b/modules/nf-core/custom/wget/meta.yaml @@ -0,0 +1,24 @@ +name: custom_wget +description: Custom module used to download files using wget +keywords: + - wget + - custom + - version +tools: + - custom: + description: Custom module used to download files using wget + homepage: https://github.com/nf-core/tools + documentation: https://github.com/nf-core/tools + +output: + - download: + type: file + description: Downloaded file from input URL + pattern: "*" + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" + +authors: + - "@rpetit3" diff --git a/modules/nf-core/gubbins/main.nf b/modules/nf-core/gubbins/main.nf index 20797b2f..3ef725cc 100644 --- a/modules/nf-core/gubbins/main.nf +++ b/modules/nf-core/gubbins/main.nf @@ -13,8 +13,8 @@ process GUBBINS { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gubbins:3.3.4--py310pl5321he4a0461_0' : - 'quay.io/biocontainers/gubbins:3.3.4--py310pl5321he4a0461_0' }" + 'https://depot.galaxyproject.org/singularity/gubbins:3.3.4--py39pl5321he4a0461_1' : + 'quay.io/biocontainers/gubbins:3.3.4--py39pl5321he4a0461_1' }" input: tuple val(meta), path(msa) diff --git a/modules/nf-core/kraken2/main.nf b/modules/nf-core/kraken2/main.nf index 768dc723..ef8923b3 100644 --- a/modules/nf-core/kraken2/main.nf +++ b/modules/nf-core/kraken2/main.nf @@ -32,9 +32,9 @@ process KRAKEN2 { script: prefix = options.suffix ? "${options.suffix}" : "${meta.id}" def paired = meta.single_end ? "" : "--paired" - classified_naming = params.wf == "teton" ? "host" : "classified" + classified_naming = params.wf == "teton" || params.wf == "scrubber" ? "host" : "classified" classified = meta.single_end ? "${prefix}.${classified_naming}.fastq" : "${prefix}.${classified_naming}#.fastq" - unclassified_naming = params.wf == "teton" ? "scrubbed" : "unclassified" + unclassified_naming = params.wf == "teton" || params.wf == "scrubber" ? "scrubbed" : "unclassified" unclassified = meta.single_end ? "${prefix}.${unclassified_naming}.fastq" : "${prefix}.${unclassified_naming}#.fastq" def is_tarball = db.getName().endsWith(".tar.gz") ? true : false """ @@ -67,9 +67,15 @@ process KRAKEN2 { fi if [ "$unclassified_naming" == "scrubbed" ]; then + # Rename scrubbed reads + if [ "$meta.single_end" == "false" ]; then + mv ${prefix}.${unclassified_naming}_1.fastq.gz ${prefix}_R1.scrubbed.fastq.gz + mv ${prefix}.${unclassified_naming}_2.fastq.gz ${prefix}_R2.scrubbed.fastq.gz + fi + # Quick stats on reads zcat ${reads} | fastq-scan > original.json - zcat ${prefix}.scrubbed* | fastq-scan > scrubbed.json + zcat *.scrubbed.fastq.gz | fastq-scan > scrubbed.json scrubber-summary.py ${prefix} original.json scrubbed.json > ${prefix}.scrub.report.tsv # Remove host reads diff --git a/modules/nf-core/kraken2/params-teton.json b/modules/nf-core/kraken2/params-teton.json new file mode 100644 index 00000000..a43bd908 --- /dev/null +++ b/modules/nf-core/kraken2/params-teton.json @@ -0,0 +1,90 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "https://raw.githubusercontent.com/bactopia/bactopia/master/modules/nf-core/kraken2/params.json", + "title": "Kraken2 Module", + "description": "A module for taxonomic classification of sequence reads", + "type": "object", + "definitions": { + "kraken2_parameters": { + "title": "Scrubber (Kraken2) Parameters", + "type": "object", + "description": "", + "default": "", + "fa_icon": "fas fa-exclamation-circle", + "properties": { + "quick_mode": { + "type": "boolean", + "default": false, + "description": "Quick operation (use first hit or hits)", + "fa_icon": "fas fa-expand-arrows-alt", + "hidden": true + }, + "confidence": { + "type": "number", + "default": 0.0, + "description": "Confidence score threshold between 0 and 1", + "fa_icon": "fas fa-expand-arrows-alt" + }, + "minimum_base_quality": { + "type": "integer", + "default": 0, + "description": "Minimum base quality used in classification", + "fa_icon": "fas fa-expand-arrows-alt", + "hidden": true + }, + "use_mpa_style": { + "type": "boolean", + "default": false, + "description": "Format report output like Kraken 1's kraken-mpa-report", + "fa_icon": "fas fa-expand-arrows-alt" + }, + "report_zero_counts": { + "type": "boolean", + "default": false, + "description": "Report counts for ALL taxa, even if counts are zero", + "fa_icon": "fas fa-expand-arrows-alt" + }, + "report_minimizer_data": { + "type": "boolean", + "default": false, + "description": "Include minimizer and distinct minimizer count information in report", + "fa_icon": "fas fa-expand-arrows-alt", + "hidden": true + }, + "use_names": { + "type": "boolean", + "default": false, + "description": "Print scientific names instead of just taxids", + "fa_icon": "fas fa-expand-arrows-alt", + "hidden": true + }, + "memory_mapping": { + "type": "boolean", + "default": false, + "description": "Avoid loading database into RAM", + "fa_icon": "fas fa-expand-arrows-alt", + "hidden": true + }, + "minimum_hit_groups": { + "type": "integer", + "default": 2, + "description": "Minimum number of hit groups needed to make a call", + "fa_icon": "fas fa-expand-arrows-alt", + "hidden": true + }, + "remove_filtered_reads": { + "type": "boolean", + "default": false, + "description": "Discard the classified and unclassified FASTQs prduced by Kraken2", + "fa_icon": "fas fa-expand-arrows-alt", + "hidden": true + } + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/kraken2_parameters" + } + ] +} diff --git a/modules/nf-core/kraken2/params.json b/modules/nf-core/kraken2/params.json index 4b12e213..5dcccb94 100644 --- a/modules/nf-core/kraken2/params.json +++ b/modules/nf-core/kraken2/params.json @@ -81,7 +81,7 @@ "remove_filtered_reads": { "type": "boolean", "default": false, - "description": "Discard the classified and unclassified FASTQs prduced by Kraken2", + "description": "Discard the classified and unclassified FASTQs produced by Kraken2", "fa_icon": "fas fa-expand-arrows-alt", "hidden": true } diff --git a/modules/nf-core/sistr/main.nf b/modules/nf-core/sistr/main.nf index b1ab7008..31cf0d82 100644 --- a/modules/nf-core/sistr/main.nf +++ b/modules/nf-core/sistr/main.nf @@ -13,8 +13,8 @@ process SISTR { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sistr_cmd:1.1.2--pyhca03a8a_0' : - 'quay.io/biocontainers/sistr_cmd:1.1.2--pyhca03a8a_0' }" + 'https://depot.galaxyproject.org/singularity/sistr_cmd:1.1.2--pyhca03a8a_1' : + 'quay.io/biocontainers/sistr_cmd:1.1.2--pyhca03a8a_1' }" input: tuple val(meta), path(fasta) diff --git a/subworkflows/local/abricate/test.yml b/subworkflows/local/abricate/test.yml index 1b31f849..de9b9d6f 100644 --- a/subworkflows/local/abricate/test.yml +++ b/subworkflows/local/abricate/test.yml @@ -4,43 +4,43 @@ - abricate - tools files: - - path: bactopia/bactopia-runs/abricate/merged-results/abricate.tsv + - path: bactopia/bactopia-runs/abricate-ncbi/merged-results/abricate.tsv contains: ['FILE', 'NUM_FOUND'] - - path: bactopia/bactopia-runs/abricate/merged-results/logs/abricate-concat/nf-merged-results.begin - - path: bactopia/bactopia-runs/abricate/merged-results/logs/abricate-concat/nf-merged-results.err - - path: bactopia/bactopia-runs/abricate/merged-results/logs/abricate-concat/nf-merged-results.log - - path: bactopia/bactopia-runs/abricate/merged-results/logs/abricate-concat/nf-merged-results.out - - path: bactopia/bactopia-runs/abricate/merged-results/logs/abricate-concat/nf-merged-results.run + - path: bactopia/bactopia-runs/abricate-ncbi/merged-results/logs/abricate-concat/nf-merged-results.begin + - path: bactopia/bactopia-runs/abricate-ncbi/merged-results/logs/abricate-concat/nf-merged-results.err + - path: bactopia/bactopia-runs/abricate-ncbi/merged-results/logs/abricate-concat/nf-merged-results.log + - path: bactopia/bactopia-runs/abricate-ncbi/merged-results/logs/abricate-concat/nf-merged-results.out + - path: bactopia/bactopia-runs/abricate-ncbi/merged-results/logs/abricate-concat/nf-merged-results.run contains: ['NEXTFLOW TASK', '$NXF_ENTRY'] - - path: bactopia/bactopia-runs/abricate/merged-results/logs/abricate-concat/nf-merged-results.sh + - path: bactopia/bactopia-runs/abricate-ncbi/merged-results/logs/abricate-concat/nf-merged-results.sh contains: ['abricate', 'END_VERSIONS'] - - path: bactopia/bactopia-runs/abricate/merged-results/logs/abricate-concat/nf-merged-results.trace + - path: bactopia/bactopia-runs/abricate-ncbi/merged-results/logs/abricate-concat/nf-merged-results.trace contains: ['nextflow.trace'] - - path: bactopia/bactopia-runs/abricate/merged-results/logs/abricate-concat/versions.yml + - path: bactopia/bactopia-runs/abricate-ncbi/merged-results/logs/abricate-concat/versions.yml contains: ['abricate'] - - path: bactopia/bactopia-runs/abricate/nf-reports/abricate-dag.dot + - path: bactopia/bactopia-runs/abricate-ncbi/nf-reports/abricate-dag.dot contains: ['abricatedag', 'ABRICATE', 'versions'] - - path: bactopia/bactopia-runs/abricate/nf-reports/abricate-report.html + - path: bactopia/bactopia-runs/abricate-ncbi/nf-reports/abricate-report.html contains: ['html', 'Nextflow', 'Report'] - - path: bactopia/bactopia-runs/abricate/nf-reports/abricate-timeline.html + - path: bactopia/bactopia-runs/abricate-ncbi/nf-reports/abricate-timeline.html contains: ['html', 'Nextflow', 'timeline'] - - path: bactopia/bactopia-runs/abricate/nf-reports/abricate-trace.txt + - path: bactopia/bactopia-runs/abricate-ncbi/nf-reports/abricate-trace.txt contains: ['task_id'] - - path: bactopia/GCF_000292685/tools/abricate/GCF_000292685.txt + - path: bactopia/GCF_000292685/tools/abricate/ncbi/GCF_000292685.txt contains: ['FILE', 'COVERAGE', 'RESISTANCE'] - - path: bactopia/GCF_000292685/tools/abricate/logs/nf-abricate.begin + - path: bactopia/GCF_000292685/tools/abricate/ncbi/logs/nf-abricate.begin md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: bactopia/GCF_000292685/tools/abricate/logs/nf-abricate.err + - path: bactopia/GCF_000292685/tools/abricate/ncbi/logs/nf-abricate.err contains: ["database", "genes", "Done"] - - path: bactopia/GCF_000292685/tools/abricate/logs/nf-abricate.log + - path: bactopia/GCF_000292685/tools/abricate/ncbi/logs/nf-abricate.log contains: ["database", "genes", "Done"] - - path: bactopia/GCF_000292685/tools/abricate/logs/nf-abricate.out + - path: bactopia/GCF_000292685/tools/abricate/ncbi/logs/nf-abricate.out md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: bactopia/GCF_000292685/tools/abricate/logs/nf-abricate.run + - path: bactopia/GCF_000292685/tools/abricate/ncbi/logs/nf-abricate.run contains: ['NEXTFLOW TASK', '$NXF_ENTRY'] - - path: bactopia/GCF_000292685/tools/abricate/logs/nf-abricate.sh + - path: bactopia/GCF_000292685/tools/abricate/ncbi/logs/nf-abricate.sh contains: ['abricate', 'END_VERSIONS'] - - path: bactopia/GCF_000292685/tools/abricate/logs/nf-abricate.trace + - path: bactopia/GCF_000292685/tools/abricate/ncbi/logs/nf-abricate.trace contains: ['nextflow.trace'] - - path: bactopia/GCF_000292685/tools/abricate/logs/versions.yml + - path: bactopia/GCF_000292685/tools/abricate/ncbi/logs/versions.yml md5sum: 883068280465b2816cfae24f8ba0ec3c diff --git a/subworkflows/local/abritamr/test.yml b/subworkflows/local/abritamr/test.yml index be411857..f0c6ab53 100644 --- a/subworkflows/local/abritamr/test.yml +++ b/subworkflows/local/abritamr/test.yml @@ -29,7 +29,7 @@ - path: bactopia/GCF_000292685/tools/abritamr/logs/nf-abritamr.trace contains: ['nextflow.trace'] - path: bactopia/GCF_000292685/tools/abritamr/logs/versions.yml - md5sum: 603690c9d9ad1d9cf8faa026765195d1 + md5sum: 76491e13fdc40c767869c29792969379 - path: bactopia/bactopia-runs/abritamr/nf-reports/abritamr-dag.dot contains: ['abritamr', 'ABRITAMR', 'versions'] - path: bactopia/bactopia-runs/abritamr/nf-reports/abritamr-report.html diff --git a/subworkflows/local/amrfinderplus/test.yml b/subworkflows/local/amrfinderplus/test.yml index 21c73bb1..5789c3b6 100644 --- a/subworkflows/local/amrfinderplus/test.yml +++ b/subworkflows/local/amrfinderplus/test.yml @@ -61,4 +61,4 @@ - path: bactopia/GCF_000292685/tools/amrfinderplus/logs/nf-amrfinderplus.trace contains: ['nextflow.trace'] - path: bactopia/GCF_000292685/tools/amrfinderplus/logs/versions.yml - md5sum: 9933c8136bf5f0001ed5ec26405db0a7 + md5sum: bc198f6b2e09d2ce26d1c9f77d60899a diff --git a/subworkflows/local/ariba/test.yml b/subworkflows/local/ariba/test.yml index 9736f11e..5baf6aae 100644 --- a/subworkflows/local/ariba/test.yml +++ b/subworkflows/local/ariba/test.yml @@ -4,41 +4,41 @@ - ariba - bactopia-tools files: - - path: bactopia/bactopia-runs/ariba/merged-results/card-report.tsv + - path: bactopia/bactopia-runs/ariba-card/merged-results/card-report.tsv contains: ["ariba_ref_name", "reads", "resistance", "Clostridioides"] - - path: bactopia/bactopia-runs/ariba/merged-results/card-summary.csv + - path: bactopia/bactopia-runs/ariba-card/merged-results/card-summary.csv contains: ["name", "novel_var", "Clostridioides"] - - path: bactopia/bactopia-runs/ariba/merged-results/logs/card-report/nf-merged-results.begin - - path: bactopia/bactopia-runs/ariba/merged-results/logs/card-report/nf-merged-results.err - - path: bactopia/bactopia-runs/ariba/merged-results/logs/card-report/nf-merged-results.log - - path: bactopia/bactopia-runs/ariba/merged-results/logs/card-report/nf-merged-results.out - - path: bactopia/bactopia-runs/ariba/merged-results/logs/card-report/nf-merged-results.run + - path: bactopia/bactopia-runs/ariba-card/merged-results/logs/card-report/nf-merged-results.begin + - path: bactopia/bactopia-runs/ariba-card/merged-results/logs/card-report/nf-merged-results.err + - path: bactopia/bactopia-runs/ariba-card/merged-results/logs/card-report/nf-merged-results.log + - path: bactopia/bactopia-runs/ariba-card/merged-results/logs/card-report/nf-merged-results.out + - path: bactopia/bactopia-runs/ariba-card/merged-results/logs/card-report/nf-merged-results.run contains: ['NEXTFLOW TASK', '$NXF_ENTRY'] - - path: bactopia/bactopia-runs/ariba/merged-results/logs/card-report/nf-merged-results.sh + - path: bactopia/bactopia-runs/ariba-card/merged-results/logs/card-report/nf-merged-results.sh contains: ['csvtk', 'concat', "END_VERSIONS"] - - path: bactopia/bactopia-runs/ariba/merged-results/logs/card-report/nf-merged-results.trace + - path: bactopia/bactopia-runs/ariba-card/merged-results/logs/card-report/nf-merged-results.trace contains: ['nextflow.trace'] - - path: bactopia/bactopia-runs/ariba/merged-results/logs/card-report/versions.yml + - path: bactopia/bactopia-runs/ariba-card/merged-results/logs/card-report/versions.yml md5sum: 344624d16fe24cfad6e9f45a19be708f - - path: bactopia/bactopia-runs/ariba/merged-results/logs/card-summary/nf-merged-results.begin - - path: bactopia/bactopia-runs/ariba/merged-results/logs/card-summary/nf-merged-results.err - - path: bactopia/bactopia-runs/ariba/merged-results/logs/card-summary/nf-merged-results.log - - path: bactopia/bactopia-runs/ariba/merged-results/logs/card-summary/nf-merged-results.out - - path: bactopia/bactopia-runs/ariba/merged-results/logs/card-summary/nf-merged-results.run + - path: bactopia/bactopia-runs/ariba-card/merged-results/logs/card-summary/nf-merged-results.begin + - path: bactopia/bactopia-runs/ariba-card/merged-results/logs/card-summary/nf-merged-results.err + - path: bactopia/bactopia-runs/ariba-card/merged-results/logs/card-summary/nf-merged-results.log + - path: bactopia/bactopia-runs/ariba-card/merged-results/logs/card-summary/nf-merged-results.out + - path: bactopia/bactopia-runs/ariba-card/merged-results/logs/card-summary/nf-merged-results.run contains: ['NEXTFLOW TASK', '$NXF_ENTRY'] - - path: bactopia/bactopia-runs/ariba/merged-results/logs/card-summary/nf-merged-results.sh + - path: bactopia/bactopia-runs/ariba-card/merged-results/logs/card-summary/nf-merged-results.sh contains: ['csvtk', 'concat', "END_VERSIONS"] - - path: bactopia/bactopia-runs/ariba/merged-results/logs/card-summary/nf-merged-results.trace + - path: bactopia/bactopia-runs/ariba-card/merged-results/logs/card-summary/nf-merged-results.trace contains: ['nextflow.trace'] - - path: bactopia/bactopia-runs/ariba/merged-results/logs/card-summary/versions.yml + - path: bactopia/bactopia-runs/ariba-card/merged-results/logs/card-summary/versions.yml md5sum: 6551889c4545016b96a75751d9efdb38 - - path: bactopia/bactopia-runs/ariba/nf-reports/ariba-dag.dot + - path: bactopia/bactopia-runs/ariba-card/nf-reports/ariba-dag.dot contains: ['aribadag', 'ARIBA', 'versions'] - - path: bactopia/bactopia-runs/ariba/nf-reports/ariba-report.html + - path: bactopia/bactopia-runs/ariba-card/nf-reports/ariba-report.html contains: ['html', 'Nextflow', 'Report'] - - path: bactopia/bactopia-runs/ariba/nf-reports/ariba-timeline.html + - path: bactopia/bactopia-runs/ariba-card/nf-reports/ariba-timeline.html contains: ['html', 'Nextflow', 'timeline'] - - path: bactopia/bactopia-runs/ariba/nf-reports/ariba-trace.txt + - path: bactopia/bactopia-runs/ariba-card/nf-reports/ariba-trace.txt contains: ['task_id'] - path: bactopia/SRR2838702/tools/ariba/card/SRR2838702-report.tsv contains: ["ariba_ref_name", "reads", "resistance", "Clostridioides"] diff --git a/subworkflows/local/busco/main.nf b/subworkflows/local/busco/main.nf index da0ba702..8563b9ff 100644 --- a/subworkflows/local/busco/main.nf +++ b/subworkflows/local/busco/main.nf @@ -13,7 +13,7 @@ options.args = [ "--evalue ${params.busco_evalue}", "--limit ${params.busco_limit}" ].join(' ').replaceAll("\\s{2,}", " ").trim() -options.subdir = params.run_name +options.subdir = params.busco_lineage options.logs_use_prefix = true include { BUSCO as BUSCO_MODULE } from '../../../modules/nf-core/busco/main' addParams( options: options ) diff --git a/subworkflows/local/busco/test.yml b/subworkflows/local/busco/test.yml index fd4c03e9..591049ee 100644 --- a/subworkflows/local/busco/test.yml +++ b/subworkflows/local/busco/test.yml @@ -4,30 +4,30 @@ - busco - bactopia-tools files: - - path: bactopia/bactopia-runs/busco/merged-results/busco.tsv - md5sum: 15267d2162b35514e27bfca0a32b8e5c - - path: bactopia/bactopia-runs/busco/merged-results/logs/busco-concat/nf-merged-results.begin - - path: bactopia/bactopia-runs/busco/merged-results/logs/busco-concat/nf-merged-results.err - - path: bactopia/bactopia-runs/busco/merged-results/logs/busco-concat/nf-merged-results.log - - path: bactopia/bactopia-runs/busco/merged-results/logs/busco-concat/nf-merged-results.out - - path: bactopia/bactopia-runs/busco/merged-results/logs/busco-concat/nf-merged-results.run + - path: bactopia/bactopia-runs/busco-bacteria_odb10/merged-results/busco.tsv + md5sum: b5118703a4b6ef1274f9f894ebe2ed5c + - path: bactopia/bactopia-runs/busco-bacteria_odb10/merged-results/logs/busco-concat/nf-merged-results.begin + - path: bactopia/bactopia-runs/busco-bacteria_odb10/merged-results/logs/busco-concat/nf-merged-results.err + - path: bactopia/bactopia-runs/busco-bacteria_odb10/merged-results/logs/busco-concat/nf-merged-results.log + - path: bactopia/bactopia-runs/busco-bacteria_odb10/merged-results/logs/busco-concat/nf-merged-results.out + - path: bactopia/bactopia-runs/busco-bacteria_odb10/merged-results/logs/busco-concat/nf-merged-results.run contains: ['NEXTFLOW TASK', '$NXF_ENTRY'] - - path: bactopia/bactopia-runs/busco/merged-results/logs/busco-concat/nf-merged-results.sh + - path: bactopia/bactopia-runs/busco-bacteria_odb10/merged-results/logs/busco-concat/nf-merged-results.sh contains: ['csvtk', 'END_VERSIONS'] - - path: bactopia/bactopia-runs/busco/merged-results/logs/busco-concat/nf-merged-results.trace + - path: bactopia/bactopia-runs/busco-bacteria_odb10/merged-results/logs/busco-concat/nf-merged-results.trace contains: ['nextflow.trace'] - - path: bactopia/bactopia-runs/busco/merged-results/logs/busco-concat/versions.yml + - path: bactopia/bactopia-runs/busco-bacteria_odb10/merged-results/logs/busco-concat/versions.yml md5sum: b45e81d6e1c8a0b37a7b3ea491992002 - - path: bactopia/bactopia-runs/busco/nf-reports/busco-dag.dot + - path: bactopia/bactopia-runs/busco-bacteria_odb10/nf-reports/busco-dag.dot contains: ['buscodag', 'BUSCO', 'versions'] - - path: bactopia/bactopia-runs/busco/nf-reports/busco-report.html + - path: bactopia/bactopia-runs/busco-bacteria_odb10/nf-reports/busco-report.html contains: ['html', 'Nextflow', 'Report'] - - path: bactopia/bactopia-runs/busco/nf-reports/busco-timeline.html + - path: bactopia/bactopia-runs/busco-bacteria_odb10/nf-reports/busco-timeline.html contains: ['html', 'Nextflow', 'timeline'] - - path: bactopia/bactopia-runs/busco/nf-reports/busco-trace.txt + - path: bactopia/bactopia-runs/busco-bacteria_odb10/nf-reports/busco-trace.txt contains: ['task_id'] - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/GCF_000292685-summary.txt - md5sum: 15267d2162b35514e27bfca0a32b8e5c + md5sum: b5118703a4b6ef1274f9f894ebe2ed5c - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/logs/bbtools_err.log - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/logs/bbtools_out.log - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/logs/busco.log @@ -56,41 +56,31 @@ - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/logs/prodigal_out.log md5sum: 50752acb1c5a20be886bfdfc06635bcb - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/logs/versions.yml - md5sum: fdd6b94718c21dd4c370acf841aafc92 + md5sum: 79800901f8e3462158093c07bc2aeba9 - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/prodigal_output/.checkpoint - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/prodigal_output/predicted_genes/predicted.faa - md5sum: 8166471fc5f08c82fd5643ab42327f9d - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/prodigal_output/predicted_genes/predicted.fna md5sum: ddc508a18f60e7f3314534df50cdf8ca - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/prodigal_output/predicted_genes/tmp/prodigal_mode_single_code_11.faa - md5sum: 8166471fc5f08c82fd5643ab42327f9d - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/prodigal_output/predicted_genes/tmp/prodigal_mode_single_code_11.fna md5sum: ddc508a18f60e7f3314534df50cdf8ca - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/run_bacteria_odb10/.bbtools_output/.checkpoint - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/run_bacteria_odb10/busco_sequences/fragmented_busco_sequences/1272633at2.faa - md5sum: bc3d8e3ec26129fb17110134822fc8cd - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/run_bacteria_odb10/busco_sequences/fragmented_busco_sequences/1272633at2.fna - md5sum: c9d955773c7433464d5886d56c4cbf58 - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/run_bacteria_odb10/busco_sequences/single_copy_busco_sequences/1054741at2.faa - md5sum: a8f004eb3c63433eafe2e3886e680c85 - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/run_bacteria_odb10/busco_sequences/single_copy_busco_sequences/1054741at2.fna - md5sum: bb5835b69e7e09f1661a09b75df4887b - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/run_bacteria_odb10/busco_sequences/single_copy_busco_sequences/1132353at2.faa - md5sum: 85494768d2a27813a97e2e55e3e8424b - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/run_bacteria_odb10/busco_sequences/single_copy_busco_sequences/1132353at2.fna - md5sum: 955560ad0799a224a8e2c0ea033a91a7 - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/run_bacteria_odb10/busco_sequences/single_copy_busco_sequences/961486at2.faa - md5sum: e70105bd9c0a92b6d442d9d48333e22a - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/run_bacteria_odb10/busco_sequences/single_copy_busco_sequences/961486at2.fna - md5sum: 421d326188a45e6e0101a5448e200ba5 - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/run_bacteria_odb10/full_table.tsv - md5sum: c9651b88b10871abc260ee655898e828 + contains: ["BUSCO", "Complete", "Fragmented", "Missing"] - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/run_bacteria_odb10/hmmer_output/.checkpoint - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/run_bacteria_odb10/hmmer_output/1054741at2.out - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/run_bacteria_odb10/hmmer_output/1132353at2.out - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/run_bacteria_odb10/hmmer_output/961486at2.out - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/run_bacteria_odb10/missing_busco_list.tsv - md5sum: 9939309df2da5419de88c32d1435c779 + contains: ["BUSCO", "at2"] - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/run_bacteria_odb10/short_summary.json contains: ["one_line_summary", "dataset"] - path: bactopia/GCF_000292685/tools/busco/bacteria_odb10/run_bacteria_odb10/short_summary.txt diff --git a/subworkflows/local/gubbins/test.yml b/subworkflows/local/gubbins/test.yml index b56ccf12..60ddef97 100644 --- a/subworkflows/local/gubbins/test.yml +++ b/subworkflows/local/gubbins/test.yml @@ -9,10 +9,10 @@ - path: bactopia/bactopia-runs/gubbins/gubbins/gubbins.filtered_polymorphic_sites.phylip md5sum: 15efec56c27103e2f777d946a297d399 - path: bactopia/bactopia-runs/gubbins/gubbins/gubbins.final_tree.tre - md5sum: e1a69691e9ca439db36d1544f482f403 + contains: ["GCF_902713755", "GCF_000298385", "GCF_002849995", "GCF_000300075"] - path: bactopia/bactopia-runs/gubbins/gubbins/gubbins.masked.aln.gz - path: bactopia/bactopia-runs/gubbins/gubbins/gubbins.node_labelled.final_tree.tre - md5sum: accd0e5733897e53534c70dc24f8e74e + contains: ["GCF_902713755", "GCF_000298385", "GCF_002849995", "GCF_000300075"] - path: bactopia/bactopia-runs/gubbins/gubbins/gubbins.per_branch_statistics.csv md5sum: 2dc0dbae9a7cf545bfc56ac5d734342d - path: bactopia/bactopia-runs/gubbins/gubbins/gubbins.recombination_predictions.embl.gz @@ -34,7 +34,7 @@ - path: bactopia/bactopia-runs/gubbins/gubbins/logs/nf-gubbins.trace contains: ['nextflow.trace'] - path: bactopia/bactopia-runs/gubbins/gubbins/logs/versions.yml - md5sum: 0720185e5a55ffba81a6fd4828be73ee + md5sum: 9ddc482d1d3ed3782ea8fecf9db5306c - path: bactopia/bactopia-runs/gubbins/nf-reports/gubbins-dag.dot contains: ['gubbinsdag', 'GUBBINS', 'versions'] - path: bactopia/bactopia-runs/gubbins/nf-reports/gubbins-report.html diff --git a/subworkflows/local/k2scrubber/main.nf b/subworkflows/local/k2scrubber/main.nf new file mode 100644 index 00000000..216d309b --- /dev/null +++ b/subworkflows/local/k2scrubber/main.nf @@ -0,0 +1,50 @@ +// +// k2scrubber - Scrub human reads from FASTQ files using Kraken2 and human pangenome reference +// + +include { initOptions } from '../../../lib/nf/functions' + +// HPRC download options +wget_opts = initOptions(params.containsKey("options") ? params.options : [:], 'wget') +wget_opts.args = [ + params.no_check_certificate ? "--no-check-certificate" : "", + "-O k2_HPRC_20230810.tar.gz", + "https://zenodo.org/records/8339732/files/k2_HPRC_20230810.tar.gz?download=1", +].join(' ').replaceAll("\\s{2,}", " ").trim() +wget_opts.args2 = "k2_HPRC_20230810.tar.gz" + +// Kraken2 Options +k2_options = initOptions(params.containsKey("options") ? params.options : [:], 'kraken2') +k2_options.args = [ + params.quick_mode ? "--quick" : "", + params.use_mpa_style ? "--use-mpa-style" : "", + params.report_zero_counts ? "--report-zero-counts" : "", + params.report_minimizer_data ? "--report-minimizer-data" : "", + params.use_names ? "--use-names" : "", + params.memory_mapping ? "--memory-mapping" : "", + "--confidence ${params.confidence}", + "--minimum-hit-groups ${params.minimum_hit_groups}", + "--minimum-base-quality ${params.minimum_base_quality}" +].join(' ').replaceAll("\\s{2,}", " ").trim() + +include { CUSTOM_WGET as WGET_HPRC } from '../../../modules/nf-core/custom/wget/main' addParams( options: wget_opts ) +include { KRAKEN2 } from '../../../modules/nf-core/kraken2/main' addParams( options: k2_options ) + +workflow K2SCRUBBER { + take: + reads // channel: [ val(meta), [ fasta ] ] + + main: + ch_versions = Channel.empty() + + WGET_HPRC() + KRAKEN2(reads, WGET_HPRC.out.download) + ch_versions = ch_versions.mix(KRAKEN2.out.versions) + + emit: + scrubbed = KRAKEN2.out.unclassified + human = KRAKEN2.out.classified + kraken2_report = KRAKEN2.out.kraken2_report + scrub_report = KRAKEN2.out.scrub_report + versions = ch_versions // channel: [ versions.yml ] +} diff --git a/subworkflows/local/k2scrubber/meta.yml b/subworkflows/local/k2scrubber/meta.yml new file mode 100644 index 00000000..59369c13 --- /dev/null +++ b/subworkflows/local/k2scrubber/meta.yml @@ -0,0 +1,51 @@ +name: k2scrubber +description: Scrub human reads from FASTQ files using Kraken2 and human pangenome reference +icon: false +keywords: + - TAGS +modules: + - LIST_OF_MODULES +input: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] +output: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" +docs: + meta: + title: k2scrubber + description: > + A Bactopia Tool which uses... + introduction: | + The `k2scrubber` module uses... + output: + tree: | + + add_note: false + folders: + - name: Top Level + description: | + Below are results that are in the base directory. + table: | + | Filename | Description | + |-------------|-------------| + | | | + - name: k2scrubber + description: | + Below is a description of the _per-sample_ results from [k2scrubber](SUBWORKFLOW_LINK). + table: | + | Filename | Description | + |-----------------------|-------------| + | | | + citations: + - add to citations.yml diff --git a/subworkflows/local/k2scrubber/test.nf b/subworkflows/local/k2scrubber/test.nf new file mode 100644 index 00000000..0d4cde8b --- /dev/null +++ b/subworkflows/local/k2scrubber/test.nf @@ -0,0 +1,35 @@ +#!/usr/bin/env nextflow +nextflow.enable.dsl = 2 + +include { K2SCRUBBER } from './main.nf' + +workflow test_k2scrubber { + + inputs = tuple( ) + + K2SCRUBBER ( inputs ) +} + + +include { SCRUBBER } from './main.nf' addParams(scrubber_db: params.test_data['datasets']['scrubber']) + +workflow test_scrubber_pe { + + inputs = tuple( + [ id:"SRR2838702", single_end:false ], + [file(params.test_data['species']['portiera']['illumina']['r1'], checkIfExists: true), + file(params.test_data['species']['portiera']['illumina']['r2'], checkIfExists: true)] + ) + + SCRUBBER ( inputs ) +} + +workflow test_scrubber_se { + + inputs = tuple( + [ id:"SRR2838702", single_end:true ], + [file(params.test_data['species']['portiera']['illumina']['se'], checkIfExists: true)] + ) + + SCRUBBER ( inputs ) +} diff --git a/subworkflows/local/k2scrubber/test.yml b/subworkflows/local/k2scrubber/test.yml new file mode 100644 index 00000000..e5657549 --- /dev/null +++ b/subworkflows/local/k2scrubber/test.yml @@ -0,0 +1,64 @@ +- name: k2scrubber-test-pe + command: bash -c 'nextflow run ./subworkflows/local/scrubber/test.nf -entry test_scrubber_pe --wf scrubber -c nextflow.config ${BACTOPIA_ARGS}' + tags: + - k2scrubber + - bactopia-tools + files: + - path: bactopia/bactopia-runs/scrubber/nf-reports/scrubber-dag.dot + contains: ['scrubberdag', 'scrubber', 'versions'] + - path: bactopia/bactopia-runs/scrubber/nf-reports/scrubber-report.html + contains: ['html', 'Nextflow', 'Report'] + - path: bactopia/bactopia-runs/scrubber/nf-reports/scrubber-timeline.html + contains: ['html', 'Nextflow', 'timeline'] + - path: bactopia/bactopia-runs/scrubber/nf-reports/scrubber-trace.txt + contains: ['task_id'] + - path: bactopia/SRR2838702/tools/scrubber/SRR2838702_R1.scrubbed.fastq.gz + - path: bactopia/SRR2838702/tools/scrubber/SRR2838702_R2.scrubbed.fastq.gz + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.begin + md5sum: d41d8cd98f00b204e9800998ecf8427e + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.err + contains: ['Loading', 'classified', 'unclassified'] + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.log + contains: ['Loading', 'classified', 'unclassified'] + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.out + md5sum: d41d8cd98f00b204e9800998ecf8427e + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.run + contains: ['NEXTFLOW TASK', '$NXF_ENTRY'] + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.sh + contains: ['scrub', 'END_VERSIONS'] + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.trace + contains: ['nextflow.trace'] + - path: bactopia/SRR2838702/tools/scrubber/logs/versions.yml + md5sum: 9223d0f9690923042b457b010e88d45c + +- name: k2scrubber-test-se + command: bash -c 'nextflow run ./subworkflows/local/scrubber/test.nf -entry test_scrubber_se --wf scrubber -c nextflow.config ${BACTOPIA_ARGS}' + tags: + - k2scrubber + - bactopia-tools + files: + - path: bactopia/bactopia-runs/scrubber/nf-reports/scrubber-dag.dot + contains: ['scrubberdag', 'scrubber', 'versions'] + - path: bactopia/bactopia-runs/scrubber/nf-reports/scrubber-report.html + contains: ['html', 'Nextflow', 'Report'] + - path: bactopia/bactopia-runs/scrubber/nf-reports/scrubber-timeline.html + contains: ['html', 'Nextflow', 'timeline'] + - path: bactopia/bactopia-runs/scrubber/nf-reports/scrubber-trace.txt + contains: ['task_id'] + - path: bactopia/SRR2838702/tools/scrubber/SRR2838702.scrubbed.fastq.gz + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.begin + md5sum: d41d8cd98f00b204e9800998ecf8427e + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.err + contains: ['Loading', 'classified', 'unclassified'] + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.log + contains: ['Loading', 'classified', 'unclassified'] + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.out + md5sum: d41d8cd98f00b204e9800998ecf8427e + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.run + contains: ['NEXTFLOW TASK', '$NXF_ENTRY'] + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.sh + contains: ['scrub', 'END_VERSIONS'] + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.trace + contains: ['nextflow.trace'] + - path: bactopia/SRR2838702/tools/scrubber/logs/versions.yml + md5sum: 2feea5bb3fda5f9fe18d461b430ac276 diff --git a/subworkflows/local/panaroo/test.yml b/subworkflows/local/panaroo/test.yml index 8eebb9ea..8b2a19b4 100644 --- a/subworkflows/local/panaroo/test.yml +++ b/subworkflows/local/panaroo/test.yml @@ -58,9 +58,9 @@ - path: bactopia/bactopia-runs/panaroo/panaroo/logs/nf-panaroo.trace contains: ['nextflow.trace'] - path: bactopia/bactopia-runs/panaroo/panaroo/logs/versions.yml - md5sum: b43b05d590ef8086ccc4cd7f5040d4d0 + md5sum: 52678674115cb226f088d2cde569b8c9 - path: bactopia/bactopia-runs/panaroo/panaroo/pan_genome_reference.fa - md5sum: d0b03cdfaab8965d86cb1045db3c2d20 + contains: ["dnaK", "nuoN", "glyQ"] - path: bactopia/bactopia-runs/panaroo/panaroo/pre_filt_graph.gml contains: ["lengths", "graph", "node"] - path: bactopia/bactopia-runs/panaroo/panaroo/struct_presence_absence.Rtab diff --git a/subworkflows/local/plasmidfinder/test.yml b/subworkflows/local/plasmidfinder/test.yml index 2ca85ff3..2351aabc 100644 --- a/subworkflows/local/plasmidfinder/test.yml +++ b/subworkflows/local/plasmidfinder/test.yml @@ -18,7 +18,7 @@ - path: bactopia/bactopia-runs/plasmidfinder/merged-results/logs/plasmidfinder-concat/versions.yml contains: ['csvtk'] - path: bactopia/bactopia-runs/plasmidfinder/merged-results/plasmidfinder.tsv - md5sum: 7aa17dc82d1efd058422d8e0cc45db1a + contains: ['Sample', 'GCF_000017085', 'aureus'] - path: bactopia/bactopia-runs/plasmidfinder/nf-reports/plasmidfinder-dag.dot contains: ['plasmidfinderdag', 'PLASMIDFINDER', 'versions'] - path: bactopia/bactopia-runs/plasmidfinder/nf-reports/plasmidfinder-report.html @@ -34,7 +34,7 @@ - path: bactopia/GCF_000017085/tools/plasmidfinder/GCF_000017085.json contains: ["plasmidfinder", "results", "RepA", "GCF_000017085"] - path: bactopia/GCF_000017085/tools/plasmidfinder/GCF_000017085.tsv - md5sum: 7aa17dc82d1efd058422d8e0cc45db1a + contains: ['Sample', 'GCF_000017085', 'aureus'] - path: bactopia/GCF_000017085/tools/plasmidfinder/GCF_000017085.txt contains: ['Results', 'Plasmid', 'Query', 'template'] - path: bactopia/GCF_000017085/tools/plasmidfinder/logs/nf-plasmidfinder.begin diff --git a/subworkflows/local/scrubber/test.yml b/subworkflows/local/scrubber/test.yml index 5349942b..597f8aba 100644 --- a/subworkflows/local/scrubber/test.yml +++ b/subworkflows/local/scrubber/test.yml @@ -5,31 +5,31 @@ - bactopia-tools files: - path: bactopia/bactopia-runs/scrubber/nf-reports/scrubber-dag.dot - contains: ['scrubberdag', 'SRAHUMANSCRUBBER', 'versions'] + contains: ['scrubberdag', 'scrubber', 'versions'] - path: bactopia/bactopia-runs/scrubber/nf-reports/scrubber-report.html contains: ['html', 'Nextflow', 'Report'] - path: bactopia/bactopia-runs/scrubber/nf-reports/scrubber-timeline.html contains: ['html', 'Nextflow', 'timeline'] - path: bactopia/bactopia-runs/scrubber/nf-reports/scrubber-trace.txt contains: ['task_id'] - - path: bactopia/SRR2838702/tools/srahumanscrubber/SRR2838702_R1.scrubbed.fastq.gz - - path: bactopia/SRR2838702/tools/srahumanscrubber/SRR2838702_R2.scrubbed.fastq.gz - - path: bactopia/SRR2838702/tools/srahumanscrubber/logs/nf-srahumanscrubber.begin + - path: bactopia/SRR2838702/tools/scrubber/SRR2838702_R1.scrubbed.fastq.gz + - path: bactopia/SRR2838702/tools/scrubber/SRR2838702_R2.scrubbed.fastq.gz + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.begin md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: bactopia/SRR2838702/tools/srahumanscrubber/logs/nf-srahumanscrubber.err - contains: ['aligns_to', 'FastaReader', 'total'] - - path: bactopia/SRR2838702/tools/srahumanscrubber/logs/nf-srahumanscrubber.log - contains: ['aligns_to', 'FastaReader', 'total'] - - path: bactopia/SRR2838702/tools/srahumanscrubber/logs/nf-srahumanscrubber.out + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.err + contains: ['Loading', 'classified', 'unclassified'] + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.log + contains: ['Loading', 'classified', 'unclassified'] + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.out md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: bactopia/SRR2838702/tools/srahumanscrubber/logs/nf-srahumanscrubber.run + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.run contains: ['NEXTFLOW TASK', '$NXF_ENTRY'] - - path: bactopia/SRR2838702/tools/srahumanscrubber/logs/nf-srahumanscrubber.sh + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.sh contains: ['scrub', 'END_VERSIONS'] - - path: bactopia/SRR2838702/tools/srahumanscrubber/logs/nf-srahumanscrubber.trace + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.trace contains: ['nextflow.trace'] - - path: bactopia/SRR2838702/tools/srahumanscrubber/logs/versions.yml - md5sum: 6964d293234668d561237412de067eec + - path: bactopia/SRR2838702/tools/scrubber/logs/versions.yml + md5sum: 9223d0f9690923042b457b010e88d45c - name: scrubber-test-se command: bash -c 'nextflow run ./subworkflows/local/scrubber/test.nf -entry test_scrubber_se --wf scrubber -c nextflow.config ${BACTOPIA_ARGS}' @@ -38,27 +38,27 @@ - bactopia-tools files: - path: bactopia/bactopia-runs/scrubber/nf-reports/scrubber-dag.dot - contains: ['scrubberdag', 'SRAHUMANSCRUBBER', 'versions'] + contains: ['scrubberdag', 'scrubber', 'versions'] - path: bactopia/bactopia-runs/scrubber/nf-reports/scrubber-report.html contains: ['html', 'Nextflow', 'Report'] - path: bactopia/bactopia-runs/scrubber/nf-reports/scrubber-timeline.html contains: ['html', 'Nextflow', 'timeline'] - path: bactopia/bactopia-runs/scrubber/nf-reports/scrubber-trace.txt contains: ['task_id'] - - path: bactopia/SRR2838702/tools/srahumanscrubber/SRR2838702.scrubbed.fastq.gz - - path: bactopia/SRR2838702/tools/srahumanscrubber/logs/nf-srahumanscrubber.begin + - path: bactopia/SRR2838702/tools/scrubber/SRR2838702.scrubbed.fastq.gz + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.begin md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: bactopia/SRR2838702/tools/srahumanscrubber/logs/nf-srahumanscrubber.err - contains: ['aligns_to', 'FastaReader', 'total'] - - path: bactopia/SRR2838702/tools/srahumanscrubber/logs/nf-srahumanscrubber.log - contains: ['aligns_to', 'FastaReader', 'total'] - - path: bactopia/SRR2838702/tools/srahumanscrubber/logs/nf-srahumanscrubber.out + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.err + contains: ['Loading', 'classified', 'unclassified'] + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.log + contains: ['Loading', 'classified', 'unclassified'] + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.out md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: bactopia/SRR2838702/tools/srahumanscrubber/logs/nf-srahumanscrubber.run + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.run contains: ['NEXTFLOW TASK', '$NXF_ENTRY'] - - path: bactopia/SRR2838702/tools/srahumanscrubber/logs/nf-srahumanscrubber.sh + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.sh contains: ['scrub', 'END_VERSIONS'] - - path: bactopia/SRR2838702/tools/srahumanscrubber/logs/nf-srahumanscrubber.trace + - path: bactopia/SRR2838702/tools/scrubber/logs/nf-scrubber.trace contains: ['nextflow.trace'] - - path: bactopia/SRR2838702/tools/srahumanscrubber/logs/versions.yml - md5sum: 7f879dc589c9f00beaf3551c06cc0b95 + - path: bactopia/SRR2838702/tools/scrubber/logs/versions.yml + md5sum: 2feea5bb3fda5f9fe18d461b430ac276 diff --git a/subworkflows/local/sistr/test.yml b/subworkflows/local/sistr/test.yml index 544883d0..db9817e3 100644 --- a/subworkflows/local/sistr/test.yml +++ b/subworkflows/local/sistr/test.yml @@ -45,4 +45,4 @@ - path: bactopia/GCF_016028495/tools/sistr/logs/nf-sistr.trace contains: ['nextflow.trace'] - path: bactopia/GCF_016028495/tools/sistr/logs/versions.yml - md5sum: 9ce214ed7a2ba7b43b59e3a87553fccc + md5sum: 92799fc66ab9a577152eeb7e2186bc7e diff --git a/subworkflows/local/snippy/test.yml b/subworkflows/local/snippy/test.yml index cbaab5f4..60b0f439 100644 --- a/subworkflows/local/snippy/test.yml +++ b/subworkflows/local/snippy/test.yml @@ -35,7 +35,7 @@ - path: bactopia/bactopia-runs/snippy/gubbins/logs/nf-gubbins.trace contains: ['nextflow.trace'] - path: bactopia/bactopia-runs/snippy/gubbins/logs/versions.yml - md5sum: 06e837b60e52d63b0f5b53d25f63924d + md5sum: f4bc8f0efac4a9d957a06ac5efb2853c - path: bactopia/bactopia-runs/snippy/iqtree/core-snp.alninfo md5sum: b0fba4469a915df9872ca077eb2cf808 - path: bactopia/bactopia-runs/snippy/iqtree/core-snp.bionj @@ -98,7 +98,7 @@ - path: bactopia/bactopia-runs/snippy/snippy-core/logs/nf-snippy-core.trace contains: ['nextflow.trace'] - path: bactopia/bactopia-runs/snippy/snippy-core/logs/versions.yml - md5sum: 0362757dde048c5c4f118e8ec2256330 + md5sum: d491166dddb81e68df7da2e8a8695985 - path: bactopia/bactopia-runs/snippy/snpdists/core-snp.distance.tsv md5sum: eca1078f443287c1bfdac84cdbce50b5 - path: bactopia/bactopia-runs/snippy/snpdists/logs/nf-snpdists.begin @@ -133,7 +133,7 @@ - path: bactopia/test0/tools/snippy/snippy/logs/test0.log contains: ["snippy", "snpEff", "test0", "consensus"] - path: bactopia/test0/tools/snippy/snippy/logs/versions.yml - md5sum: b2fc8299d29a9b4c2cda418ecb04592d + md5sum: 83e1315aaa8e45a6fc36e669334f22d6 - path: bactopia/test0/tools/snippy/snippy/test0.aligned.fa.gz - path: bactopia/test0/tools/snippy/snippy/test0.annotated.vcf.gz - path: bactopia/test0/tools/snippy/snippy/test0.bam @@ -171,7 +171,7 @@ - path: bactopia/test1/tools/snippy/snippy/logs/test1.log contains: ["snippy", "snpEff", "test1", "consensus"] - path: bactopia/test1/tools/snippy/snippy/logs/versions.yml - md5sum: b2fc8299d29a9b4c2cda418ecb04592d + md5sum: 83e1315aaa8e45a6fc36e669334f22d6 - path: bactopia/test1/tools/snippy/snippy/test1.aligned.fa.gz - path: bactopia/test1/tools/snippy/snippy/test1.annotated.vcf.gz - path: bactopia/test1/tools/snippy/snippy/test1.bam @@ -209,7 +209,7 @@ - path: bactopia/test2/tools/snippy/snippy/logs/test2.log contains: ["snippy", "snpEff", "test2", "consensus"] - path: bactopia/test2/tools/snippy/snippy/logs/versions.yml - md5sum: b2fc8299d29a9b4c2cda418ecb04592d + md5sum: 83e1315aaa8e45a6fc36e669334f22d6 - path: bactopia/test2/tools/snippy/snippy/test2.aligned.fa.gz - path: bactopia/test2/tools/snippy/snippy/test2.annotated.vcf.gz - path: bactopia/test2/tools/snippy/snippy/test2.bam @@ -247,7 +247,7 @@ - path: bactopia/test3/tools/snippy/snippy/logs/test3.log contains: ["snippy", "snpEff", "test3", "consensus"] - path: bactopia/test3/tools/snippy/snippy/logs/versions.yml - md5sum: b2fc8299d29a9b4c2cda418ecb04592d + md5sum: 83e1315aaa8e45a6fc36e669334f22d6 - path: bactopia/test3/tools/snippy/snippy/test3.aligned.fa.gz - path: bactopia/test3/tools/snippy/snippy/test3.annotated.vcf.gz - path: bactopia/test3/tools/snippy/snippy/test3.bam @@ -285,7 +285,7 @@ - path: bactopia/test4/tools/snippy/snippy/logs/test4.log contains: ["snippy", "snpEff", "test4", "consensus"] - path: bactopia/test4/tools/snippy/snippy/logs/versions.yml - md5sum: b2fc8299d29a9b4c2cda418ecb04592d + md5sum: 83e1315aaa8e45a6fc36e669334f22d6 - path: bactopia/test4/tools/snippy/snippy/test4.aligned.fa.gz - path: bactopia/test4/tools/snippy/snippy/test4.annotated.vcf.gz - path: bactopia/test4/tools/snippy/snippy/test4.bam @@ -345,7 +345,7 @@ - path: bactopia/bactopia-runs/snippy/gubbins/logs/nf-gubbins.trace contains: ['nextflow.trace'] - path: bactopia/bactopia-runs/snippy/gubbins/logs/versions.yml - md5sum: e763a9a67609a03acd4dfec3e2071234 + md5sum: dc520752b4284352ee7e847a0eba8afc - path: bactopia/bactopia-runs/snippy/iqtree/core-snp.alninfo md5sum: 3538bdd4729b861eb66eb3e69060812d - path: bactopia/bactopia-runs/snippy/iqtree/core-snp.bionj @@ -408,7 +408,7 @@ - path: bactopia/bactopia-runs/snippy/snippy-core/logs/nf-snippy-core.trace contains: ['nextflow.trace'] - path: bactopia/bactopia-runs/snippy/snippy-core/logs/versions.yml - md5sum: 02f01df9b4b6a6be837acbc9bced050a + md5sum: db38179edfe377c5d2f5b325e1d32357 - path: bactopia/bactopia-runs/snippy/snpdists/core-snp.distance.tsv md5sum: eca1078f443287c1bfdac84cdbce50b5 - path: bactopia/bactopia-runs/snippy/snpdists/logs/nf-snpdists.begin @@ -443,7 +443,7 @@ - path: bactopia/test0/tools/snippy/snippy/logs/test0.log contains: ["snippy", "snpEff", "test0", "consensus"] - path: bactopia/test0/tools/snippy/snippy/logs/versions.yml - md5sum: 90cc2953b8258a258cbdf45e82689115 + md5sum: 06a418bccf2e26153a11324f523cd2ab - path: bactopia/test0/tools/snippy/snippy/test0.aligned.fa.gz - path: bactopia/test0/tools/snippy/snippy/test0.annotated.vcf.gz - path: bactopia/test0/tools/snippy/snippy/test0.bam @@ -481,7 +481,7 @@ - path: bactopia/test1/tools/snippy/snippy/logs/test1.log contains: ["snippy", "snpEff", "test1", "consensus"] - path: bactopia/test1/tools/snippy/snippy/logs/versions.yml - md5sum: 90cc2953b8258a258cbdf45e82689115 + md5sum: 06a418bccf2e26153a11324f523cd2ab - path: bactopia/test1/tools/snippy/snippy/test1.aligned.fa.gz - path: bactopia/test1/tools/snippy/snippy/test1.annotated.vcf.gz - path: bactopia/test1/tools/snippy/snippy/test1.bam @@ -519,7 +519,7 @@ - path: bactopia/test2/tools/snippy/snippy/logs/test2.log contains: ["snippy", "snpEff", "test2", "consensus"] - path: bactopia/test2/tools/snippy/snippy/logs/versions.yml - md5sum: 90cc2953b8258a258cbdf45e82689115 + md5sum: 06a418bccf2e26153a11324f523cd2ab - path: bactopia/test2/tools/snippy/snippy/test2.aligned.fa.gz - path: bactopia/test2/tools/snippy/snippy/test2.annotated.vcf.gz - path: bactopia/test2/tools/snippy/snippy/test2.bam @@ -557,7 +557,7 @@ - path: bactopia/test3/tools/snippy/snippy/logs/test3.log contains: ["snippy", "snpEff", "test3", "consensus"] - path: bactopia/test3/tools/snippy/snippy/logs/versions.yml - md5sum: 90cc2953b8258a258cbdf45e82689115 + md5sum: 06a418bccf2e26153a11324f523cd2ab - path: bactopia/test3/tools/snippy/snippy/test3.aligned.fa.gz - path: bactopia/test3/tools/snippy/snippy/test3.annotated.vcf.gz - path: bactopia/test3/tools/snippy/snippy/test3.bam @@ -595,7 +595,7 @@ - path: bactopia/test4/tools/snippy/snippy/logs/test4.log contains: ["snippy", "snpEff", "test4", "consensus"] - path: bactopia/test4/tools/snippy/snippy/logs/versions.yml - md5sum: 90cc2953b8258a258cbdf45e82689115 + md5sum: 06a418bccf2e26153a11324f523cd2ab - path: bactopia/test4/tools/snippy/snippy/test4.aligned.fa.gz - path: bactopia/test4/tools/snippy/snippy/test4.annotated.vcf.gz - path: bactopia/test4/tools/snippy/snippy/test4.bam diff --git a/subworkflows/local/srahumanscrubber/main.nf b/subworkflows/local/srahumanscrubber/main.nf new file mode 100644 index 00000000..8b9013f9 --- /dev/null +++ b/subworkflows/local/srahumanscrubber/main.nf @@ -0,0 +1,35 @@ +// +// srahumanscrubber - Scrub human reads from FASTQ files using SRA Human Scrubber +// + +include { initOptions } from '../../../lib/nf/functions' +options = initOptions(params.containsKey("options") ? params.options : [:], 'srahumanscrubber') +options.is_module = params.wf == 'scrubber' ? true : false +options.args = "" +options.ignore = [".db"] + +include { SRAHUMANSCRUBBER_INITDB } from '../../../modules/nf-core/srahumanscrubber/initdb/main' addParams( ) + +if (params.wf == 'teton') { + include { SRAHUMANSCRUBBER_SCRUB_TETON as SRAHUMANSCRUBBER_SCRUB } from '../../../modules/nf-core/srahumanscrubber/scrub/main' addParams( options: options ) +} else if (params.wf == 'cleanyerreads') { + include { SRAHUMANSCRUBBER_SCRUB_MAIN as SRAHUMANSCRUBBER_SCRUB } from '../../../modules/nf-core/srahumanscrubber/scrub/main' addParams( options: options ) +} else { + include { SRAHUMANSCRUBBER_SCRUB } from '../../../modules/nf-core/srahumanscrubber/scrub/main' addParams( options: options ) +} + +workflow SCRUBBER { + take: + reads // channel: [ val(meta), [ reads ] ] + + main: + ch_versions = Channel.empty() + + SRAHUMANSCRUBBER_INITDB() + SRAHUMANSCRUBBER_SCRUB(reads, SRAHUMANSCRUBBER_INITDB.out.db) + ch_versions = ch_versions.mix(SRAHUMANSCRUBBER_SCRUB.out.versions.first()) + + emit: + scrubbed = SRAHUMANSCRUBBER_SCRUB.out.scrubbed + versions = ch_versions // channel: [ versions.yml ] +} diff --git a/subworkflows/local/srahumanscrubber/meta.yml b/subworkflows/local/srahumanscrubber/meta.yml new file mode 100644 index 00000000..5d0db579 --- /dev/null +++ b/subworkflows/local/srahumanscrubber/meta.yml @@ -0,0 +1,51 @@ +name: srahumanscrubber +description: Scrub human reads from FASTQ files using SRA Human Scrubber +icon: false +keywords: + - TAGS +modules: + - LIST_OF_MODULES +input: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] +output: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" +docs: + meta: + title: srahumanscrubber + description: > + A Bactopia Tool which uses... + introduction: | + The `srahumanscrubber` module uses... + output: + tree: | + + add_note: false + folders: + - name: Top Level + description: | + Below are results that are in the base directory. + table: | + | Filename | Description | + |-------------|-------------| + | | | + - name: srahumanscrubber + description: | + Below is a description of the _per-sample_ results from [srahumanscrubber](SUBWORKFLOW_LINK). + table: | + | Filename | Description | + |-----------------------|-------------| + | | | + citations: + - add to citations.yml diff --git a/subworkflows/local/srahumanscrubber/test.nf b/subworkflows/local/srahumanscrubber/test.nf new file mode 100644 index 00000000..d51fee69 --- /dev/null +++ b/subworkflows/local/srahumanscrubber/test.nf @@ -0,0 +1,11 @@ +#!/usr/bin/env nextflow +nextflow.enable.dsl = 2 + +include { SRAHUMANSCRUBBER } from './main.nf' + +workflow test_srahumanscrubber { + + inputs = tuple( ) + + SRAHUMANSCRUBBER ( inputs ) +} diff --git a/subworkflows/local/srahumanscrubber/test.yml b/subworkflows/local/srahumanscrubber/test.yml new file mode 100644 index 00000000..178551ba --- /dev/null +++ b/subworkflows/local/srahumanscrubber/test.yml @@ -0,0 +1,10 @@ +- name: srahumanscrubber-test + command: bash -c 'nextflow run ./subworkflows/local/srahumanscrubber/test.nf -entry test_srahumanscrubber --wf srahumanscrubber -c nextflow.config ${BACTOPIA_ARGS}' + tags: + - srahumanscrubber + - bactopia-tools + files: + - path: OUTPUTFILE + contains: ['TEXT_A', 'TEXT_B'] + - path: OUTPUTFILE + md5sum: a1000000000000000000000000000000 From b9c6137a230197b2cb437b8b019d58baa8286706 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Sun, 24 Mar 2024 05:53:52 +0000 Subject: [PATCH 38/48] tweak ci --- .github/workflows/all-bactopia-tool-tests.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/all-bactopia-tool-tests.yml b/.github/workflows/all-bactopia-tool-tests.yml index 9b148369..7b539659 100644 --- a/.github/workflows/all-bactopia-tool-tests.yml +++ b/.github/workflows/all-bactopia-tool-tests.yml @@ -28,7 +28,11 @@ jobs: echo "BACTOPIA_TMP=/data/storage/bactopia-tmp/${{ github.run_id }}" >> $GITHUB_ENV echo "NXF_SINGULARITY_CACHEDIR=/data/storage/bactopia-ci/envs/singularity" >> $GITHUB_ENV echo "SINGULARITY_CACHEDIR=/data/storage/bactopia-ci/envs/singularity" >> $GITHUB_ENV - mkdir "/data/storage/bactopia-tmp/${{ github.run_id }}" + echo "SINGULARITY_TMPDIR=/data/storage/bactopia-tmp/${{ github.run_id }}/tmp" >> $GITHUB_ENV + echo "TMP=/data/storage/bactopia-tmp/${{ github.run_id }}/tmp" >> $GITHUB_ENV + echo "TMPDIR=/data/storage/bactopia-tmp/${{ github.run_id }}/tmp" >> $GITHUB_ENV + echo "NUMBA_CACHE_DIR=/data/storage/bactopia-tmp/${{ github.run_id }}/tmp" >> $GITHUB_ENV + mkdir -p "/data/storage/bactopia-tmp/${{ github.run_id }}/tmp" chmod -R 777 "/data/storage/bactopia-tmp/${{ github.run_id }}" - name: Singularity Profile @@ -37,7 +41,7 @@ jobs: conda activate bactopia-ci cd ${{ env.BACTOPIA_WORKSPACE }} ls subworkflows/local/ | grep -v -E "teton" | xargs -I {} -P 20 \ - bash -c 'BACTOPIA_ARGS="-profile singularity --is_ci --test_data_dir ${{ env.BACTOPIA_TESTS }}" TMPDIR=${{ env.BACTOPIA_TMP }} \ + bash -c 'BACTOPIA_ARGS="-profile singularity --singularity_pull_docker_container --is_ci --test_data_dir ${{ env.BACTOPIA_TESTS }}" TMPDIR=${{ env.BACTOPIA_TMP }} \ pytest --wt 5 --symlink --kwdof -o "testpaths=tests subworkflows/local/" --git-aware --tag {}' - name: Docker Profile From 0e167b5a6429364e20ed43c15c9ff52a14879cbc Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Sun, 24 Mar 2024 07:00:04 +0000 Subject: [PATCH 39/48] mount home directory on singualrity ci --- .github/workflows/all-bactopia-tool-tests.yml | 2 +- subworkflows/local/tbprofiler/test.yml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/all-bactopia-tool-tests.yml b/.github/workflows/all-bactopia-tool-tests.yml index 7b539659..2696d8d5 100644 --- a/.github/workflows/all-bactopia-tool-tests.yml +++ b/.github/workflows/all-bactopia-tool-tests.yml @@ -27,11 +27,11 @@ jobs: echo "BACTOPIA_WORKSPACE=${GITHUB_WORKSPACE}/${{ github.run_id }}/bactopia" >> $GITHUB_ENV echo "BACTOPIA_TMP=/data/storage/bactopia-tmp/${{ github.run_id }}" >> $GITHUB_ENV echo "NXF_SINGULARITY_CACHEDIR=/data/storage/bactopia-ci/envs/singularity" >> $GITHUB_ENV + echo "NXF_SINGULARITY_HOME_MOUNT=true" >> $GITHUB_ENV echo "SINGULARITY_CACHEDIR=/data/storage/bactopia-ci/envs/singularity" >> $GITHUB_ENV echo "SINGULARITY_TMPDIR=/data/storage/bactopia-tmp/${{ github.run_id }}/tmp" >> $GITHUB_ENV echo "TMP=/data/storage/bactopia-tmp/${{ github.run_id }}/tmp" >> $GITHUB_ENV echo "TMPDIR=/data/storage/bactopia-tmp/${{ github.run_id }}/tmp" >> $GITHUB_ENV - echo "NUMBA_CACHE_DIR=/data/storage/bactopia-tmp/${{ github.run_id }}/tmp" >> $GITHUB_ENV mkdir -p "/data/storage/bactopia-tmp/${{ github.run_id }}/tmp" chmod -R 777 "/data/storage/bactopia-tmp/${{ github.run_id }}" diff --git a/subworkflows/local/tbprofiler/test.yml b/subworkflows/local/tbprofiler/test.yml index 7384fc47..5383b8e1 100644 --- a/subworkflows/local/tbprofiler/test.yml +++ b/subworkflows/local/tbprofiler/test.yml @@ -35,4 +35,3 @@ contains: ['locus_tag', 'tbprofiler_version', 'median_depth'] - path: bactopia/test/tools/tbprofiler/test.results.txt contains: ['gid', 'Analysis'] - - path: bactopia/test/tools/tbprofiler/vcf/test.targets.csq.vcf.gz From 87a3324c847bd4c4ed1ddf160cb1d326bd6c03c2 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Sun, 24 Mar 2024 07:04:30 +0000 Subject: [PATCH 40/48] tweak ci --- .github/workflows/all-bactopia-tool-tests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/all-bactopia-tool-tests.yml b/.github/workflows/all-bactopia-tool-tests.yml index 2696d8d5..433aecd7 100644 --- a/.github/workflows/all-bactopia-tool-tests.yml +++ b/.github/workflows/all-bactopia-tool-tests.yml @@ -40,7 +40,7 @@ jobs: source /data/storage/bactopia-ci/miniforge/etc/profile.d/conda.sh conda activate bactopia-ci cd ${{ env.BACTOPIA_WORKSPACE }} - ls subworkflows/local/ | grep -v -E "teton" | xargs -I {} -P 20 \ + ls subworkflows/local/ | grep -v -E "teton|srahumanscrubber" | xargs -I {} -P 20 \ bash -c 'BACTOPIA_ARGS="-profile singularity --singularity_pull_docker_container --is_ci --test_data_dir ${{ env.BACTOPIA_TESTS }}" TMPDIR=${{ env.BACTOPIA_TMP }} \ pytest --wt 5 --symlink --kwdof -o "testpaths=tests subworkflows/local/" --git-aware --tag {}' @@ -49,7 +49,7 @@ jobs: source /data/storage/bactopia-ci/miniforge/etc/profile.d/conda.sh conda activate bactopia-ci cd ${{ env.BACTOPIA_WORKSPACE }} - ls subworkflows/local/ | grep -v -E "teton" | xargs -I {} -P 20 \ + ls subworkflows/local/ | grep -v -E "teton|srahumanscrubber" | xargs -I {} -P 20 \ bash -c 'BACTOPIA_ARGS="-profile docker --is_ci --test_data_dir ${{ env.BACTOPIA_TESTS }}" TMPDIR=${{ env.BACTOPIA_TMP }} \ pytest --wt 5 --symlink --kwdof -o "testpaths=tests subworkflows/local/" --git-aware --tag {}' @@ -59,7 +59,7 @@ jobs: conda activate bactopia-ci conda clean --all -y cd ${{ env.BACTOPIA_WORKSPACE }} - ls subworkflows/local/ | grep -v -E "teton" | xargs -I {} -P 20 \ + ls subworkflows/local/ | grep -v -E "teton|srahumanscrubber" | xargs -I {} -P 20 \ bash -c 'BACTOPIA_ARGS="--is_ci --condadir ${{ env.BACTOPIA_CONDA }} --test_data_dir ${{ env.BACTOPIA_TESTS }}" TMPDIR=${{ env.BACTOPIA_TMP }} \ pytest --wt 5 --symlink --kwdof -o "testpaths=tests subworkflows/local/" --git-aware --tag {}' From 6911e21e7680e090af079b4fb4637ec12ca32872 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Sun, 24 Mar 2024 08:49:47 +0000 Subject: [PATCH 41/48] fix merling workflow config --- .github/workflows/all-bactopia-tool-tests.yml | 2 +- conf/workflows.config | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/all-bactopia-tool-tests.yml b/.github/workflows/all-bactopia-tool-tests.yml index 433aecd7..aa32b08f 100644 --- a/.github/workflows/all-bactopia-tool-tests.yml +++ b/.github/workflows/all-bactopia-tool-tests.yml @@ -6,7 +6,7 @@ on: workflow_dispatch #- cron: '30 1 * * 1,4' jobs: - bactopia-tools-tests: + bactopia-tests: runs-on: self-hosted defaults: run: diff --git a/conf/workflows.config b/conf/workflows.config index d06a3704..332cd34c 100644 --- a/conf/workflows.config +++ b/conf/workflows.config @@ -115,7 +115,8 @@ params { "mashdist", "agrvate", "ectyper", "emmtyper", "genotyphi", "hicap", "hpsuissero", "kleborate", "legsta", "lissero", "meningotype", "ngmaster", "pasty", "pbptyper", "pneumocat", "seqsero2", "seroba", "shigatyper", "shigeifinder", "sistr", - "spatyper", "ssuissero", "staphopiasccmec", "stecfinder", "tbprofiler" + "spatyper", "ssuissero", "staphopiasccmec", "stecfinder", "tbprofiler_profile", + "tbprofiler_collate" ] } 'pangenome' { From e7007202b235560aee66cbc724b8750f5bf1cddc Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Sun, 24 Mar 2024 20:19:19 +0000 Subject: [PATCH 42/48] use https on ncbigenomedownload --- modules/nf-core/ncbigenomedownload/main.nf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/nf-core/ncbigenomedownload/main.nf b/modules/nf-core/ncbigenomedownload/main.nf index 6bd13073..331c722a 100644 --- a/modules/nf-core/ncbigenomedownload/main.nf +++ b/modules/nf-core/ncbigenomedownload/main.nf @@ -48,18 +48,18 @@ process NCBIGENOMEDOWNLOAD { if [ "${meta.limit}" != "null" ]; then ncbi-genome-download $opts -g "${meta.species}" --dry-run | grep -v "Considering" > accession-list.txt shuf accession-list.txt | head -n ${meta.limit} | cut -f 1,1 > accession-subset.txt - ncbi-genome-download $opts -A accession-subset.txt + ncbi-genome-download $opts -u "https://ftp.ncbi.nlm.nih.gov/genomes" -A accession-subset.txt else ncbi-genome-download $opts -g "${meta.species}" fi fi if [ "${meta.accession}" != "null" ]; then - ncbi-genome-download $opts -A ${meta.accession} + ncbi-genome-download $opts -u "https://ftp.ncbi.nlm.nih.gov/genomes" -A ${meta.accession} fi if [ "${meta.has_accessions}" == "true" ]; then - ncbi-genome-download $opts -A ${accessions} + ncbi-genome-download $opts -u "https://ftp.ncbi.nlm.nih.gov/genomes" -A ${accessions} fi cat <<-END_VERSIONS > versions.yml From 0e9f1b6e809793cbf2e01afd7e783646b6191349 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Sun, 24 Mar 2024 23:09:15 +0000 Subject: [PATCH 43/48] fix test imcompatible between conda and containers --- subworkflows/local/assembler/test.yml | 26 +++++++-------- subworkflows/local/bracken/test.yml | 4 +-- subworkflows/local/gather/test.yml | 46 +++++++++++++-------------- subworkflows/local/qc/test.yml | 14 ++++---- subworkflows/local/sketcher/test.yml | 4 +-- 5 files changed, 47 insertions(+), 47 deletions(-) diff --git a/subworkflows/local/assembler/test.yml b/subworkflows/local/assembler/test.yml index 53434c59..d0aae625 100644 --- a/subworkflows/local/assembler/test.yml +++ b/subworkflows/local/assembler/test.yml @@ -46,7 +46,7 @@ - path: bactopia/portiera/main/assembler/logs/shovill-se.log contains: ['skesa', 'shovill', 'Done'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: ca2bf722c9d05b082a101c3e13068dd6 + contains: ['assembly-scan', 'pigz', 'shovill'] - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -100,7 +100,7 @@ - path: bactopia/portiera/main/assembler/logs/shovill-se.log contains: ['spades', 'shovill', 'Done'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: ca2bf722c9d05b082a101c3e13068dd6 + contains: ['assembly-scan', 'pigz', 'shovill'] - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -141,7 +141,7 @@ - path: bactopia/portiera/main/assembler/logs/shovill-se.log contains: ['megahit', 'shovill', 'Done'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: ca2bf722c9d05b082a101c3e13068dd6 + contains: ['assembly-scan', 'pigz', 'shovill'] - path: bactopia/portiera/main/assembler/megahit-unpolished.gfa.gz - path: bactopia/portiera/main/assembler/portiera-assembly-error.txt md5sum: 173bfef2b0d5bd31c1b76cb37de67d3c @@ -196,7 +196,7 @@ - path: bactopia/portiera/main/assembler/logs/shovill-se.log contains: ['velvet', 'shovill', 'Done'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: ca2bf722c9d05b082a101c3e13068dd6 + contains: ['assembly-scan', 'pigz', 'shovill'] - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -253,7 +253,7 @@ - path: bactopia/portiera/main/assembler/logs/shovill.log contains: ['skesa', 'shovill', 'Done'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 377dba6d337bec8d81da248be05badff + contains: ['assembly-scan', 'pigz', 'shovill'] - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -311,7 +311,7 @@ - path: bactopia/portiera/main/assembler/logs/shovill.log contains: ['spades', 'shovill', 'Done'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 377dba6d337bec8d81da248be05badff + contains: ['assembly-scan', 'pigz', 'shovill'] - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -356,7 +356,7 @@ - path: bactopia/portiera/main/assembler/logs/shovill.log contains: ['megahit', 'shovill', 'Done'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 377dba6d337bec8d81da248be05badff + contains: ['assembly-scan', 'pigz', 'shovill'] - path: bactopia/portiera/main/assembler/megahit-unpolished.gfa.gz - path: bactopia/portiera/main/assembler/portiera-assembly-error.txt md5sum: 173bfef2b0d5bd31c1b76cb37de67d3c @@ -415,7 +415,7 @@ - path: bactopia/portiera/main/assembler/logs/shovill.log contains: ['velvet', 'shovill', 'Done'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 377dba6d337bec8d81da248be05badff + contains: ['assembly-scan', 'pigz', 'shovill'] - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -468,7 +468,7 @@ - path: bactopia/portiera/main/assembler/logs/unicycler.log contains: ['unicycler', 'complete', 'Saving'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 227506881d670f1977dc013695de8042 + contains: ['assembly-scan', 'pigz', 'shovill'] - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -526,7 +526,7 @@ - path: bactopia/portiera/main/assembler/logs/nf-assembler.trace contains: ['nextflow.trace'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 543bba4536419bd2950e63af41eb048c + contains: ['assembly-scan', 'pigz', 'shovill'] - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -578,7 +578,7 @@ - path: bactopia/portiera/main/assembler/logs/nf-assembler.trace contains: ['nextflow.trace'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 543bba4536419bd2950e63af41eb048c + contains: ['assembly-scan', 'pigz', 'shovill'] - path: bactopia/portiera/main/assembler/miniasm-unpolished.fasta.gz - path: bactopia/portiera/main/assembler/miniasm-unpolished.gfa.gz - path: bactopia/portiera/main/assembler/portiera.fna.gz @@ -632,7 +632,7 @@ - path: bactopia/portiera/main/assembler/logs/nf-assembler.trace contains: ['nextflow.trace'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 543bba4536419bd2950e63af41eb048c + contains: ['assembly-scan', 'pigz', 'shovill'] - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] @@ -689,7 +689,7 @@ - path: bactopia/portiera/main/assembler/logs/nf-assembler.trace contains: ['nextflow.trace'] - path: bactopia/portiera/main/assembler/logs/versions.yml - md5sum: 518e7c708c9f142e5da2c2d05feb858e + contains: ['assembly-scan', 'pigz', 'shovill'] - path: bactopia/portiera/main/assembler/portiera.fna.gz - path: bactopia/portiera/main/assembler/portiera.tsv contains: ["total_contig"] diff --git a/subworkflows/local/bracken/test.yml b/subworkflows/local/bracken/test.yml index dc60dc28..ad0ae3f4 100644 --- a/subworkflows/local/bracken/test.yml +++ b/subworkflows/local/bracken/test.yml @@ -43,7 +43,7 @@ - path: bactopia/SRR2838702/tools/bracken/logs/nf-bracken.trace contains: ['nextflow.trace'] - path: bactopia/SRR2838702/tools/bracken/logs/versions.yml - md5sum: 3664924a9120258ea44d3858e1b0414f + contains: ['bracken', 'krakentools', 'python'] - name: bracken-test-tarball command: bash -c 'nextflow run ./subworkflows/local/bracken/test.nf -entry test_bracken_tarball --wf bracken -c nextflow.config ${BACTOPIA_ARGS}' @@ -91,4 +91,4 @@ - path: bactopia/SRR2838702/tools/bracken/logs/nf-bracken.trace contains: ['nextflow.trace'] - path: bactopia/SRR2838702/tools/bracken/logs/versions.yml - md5sum: 02436c5ee78bd3e7624fa2cebfa1af6b + contains: ['bracken', 'krakentools', 'python'] diff --git a/subworkflows/local/gather/test.yml b/subworkflows/local/gather/test.yml index 4739f14a..ac9530ae 100644 --- a/subworkflows/local/gather/test.yml +++ b/subworkflows/local/gather/test.yml @@ -42,7 +42,7 @@ - path: bactopia/output/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/output/main/gather/logs/versions.yml - md5sum: d784d5fd5e9fab09910dd3ae222221a0 + contains: ['art', 'fastq-scan', 'pigz'] - path: bactopia/output/main/gather/output-meta.tsv md5sum: 9f2fe7cf4078f68a6c35baa1f49eaa30 @@ -90,7 +90,7 @@ - path: bactopia/output/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/output/main/gather/logs/versions.yml - md5sum: d784d5fd5e9fab09910dd3ae222221a0 + contains: ['art', 'fastq-scan', 'pigz'] - path: bactopia/output/main/gather/output-meta.tsv md5sum: bf66e3f10d4053302fae25def628e7dc @@ -140,7 +140,7 @@ - path: bactopia/output/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/output/main/gather/logs/versions.yml - md5sum: 421956cb9c7861da82af271cf6d04218 + contains: ['art', 'fastq-scan', 'pigz'] - path: bactopia/output/main/gather/multiple-read-sets-merged.txt contains: ['merged', 'R1', 'R2'] - path: bactopia/output/main/gather/output-meta.tsv @@ -191,7 +191,7 @@ - path: bactopia/output/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/output/main/gather/logs/versions.yml - md5sum: 421956cb9c7861da82af271cf6d04218 + contains: ['art', 'fastq-scan', 'pigz'] - path: bactopia/output/main/gather/multiple-read-sets-merged.txt contains: ['merged', 'R1', 'R2'] - path: bactopia/output/main/gather/output-meta.tsv @@ -242,7 +242,7 @@ - path: bactopia/output/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/output/main/gather/logs/versions.yml - md5sum: 31ffb87e3f4004ce3775ca06c2551d91 + contains: ['art', 'fastq-scan', 'pigz'] - path: bactopia/output/main/gather/multiple-read-sets-merged.txt contains: ['merged', 'R1', 'R2'] - path: bactopia/output/main/gather/output-meta.tsv @@ -293,7 +293,7 @@ - path: bactopia/output/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/output/main/gather/logs/versions.yml - md5sum: 31ffb87e3f4004ce3775ca06c2551d91 + contains: ['art', 'fastq-scan', 'pigz'] - path: bactopia/output/main/gather/multiple-read-sets-merged.txt contains: ['merged', 'R1', 'R2'] - path: bactopia/output/main/gather/output-meta.tsv @@ -342,7 +342,7 @@ - path: bactopia/output/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/output/main/gather/logs/versions.yml - md5sum: 8063cd84fd961f7592dc575b92efb115 + contains: ['art', 'fastq-scan', 'pigz'] - path: bactopia/output/main/gather/output-meta.tsv md5sum: 7565730c30d7ee1b695fe27356efe104 @@ -389,7 +389,7 @@ - path: bactopia/output/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/output/main/gather/logs/versions.yml - md5sum: 8063cd84fd961f7592dc575b92efb115 + contains: ['art', 'fastq-scan', 'pigz'] - path: bactopia/output/main/gather/output-meta.tsv md5sum: 729abf0ec9f744bdec92a0f830f35f8e @@ -437,7 +437,7 @@ - path: bactopia/output/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/output/main/gather/logs/versions.yml - md5sum: 7c1443a964772a4139a6f607a77b5aba + contains: ['art', 'fastq-scan', 'pigz'] - path: bactopia/output/main/gather/multiple-read-sets-merged.txt contains: ['merged', 'R1', 'R2'] - path: bactopia/output/main/gather/output-meta.tsv @@ -487,7 +487,7 @@ - path: bactopia/output/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/output/main/gather/logs/versions.yml - md5sum: 7c1443a964772a4139a6f607a77b5aba + contains: ['art', 'fastq-scan', 'pigz'] - path: bactopia/output/main/gather/multiple-read-sets-merged.txt contains: ['merged', 'R1', 'R2'] - path: bactopia/output/main/gather/output-meta.tsv @@ -540,7 +540,7 @@ - path: bactopia/SRX1390609/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/SRX1390609/main/gather/logs/versions.yml - md5sum: 673e83e4d86194ec136574ea037d2c5f + contains: ['art', 'fastq-scan', 'pigz'] - name: gather-sra_accession command: bash -c 'nextflow run ./subworkflows/local/gather/test.nf -entry test_gather_sra_accession --genome_size 358242 -c nextflow.config ${BACTOPIA_ARGS}' @@ -589,7 +589,7 @@ - path: bactopia/SRX1390609/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/SRX1390609/main/gather/logs/versions.yml - md5sum: 673e83e4d86194ec136574ea037d2c5f + contains: ['art', 'fastq-scan', 'pigz'] - name: gather-assembly_accession_nogsize command: bash -c 'nextflow run ./subworkflows/local/gather/test.nf -entry test_gather_assembly_accession -c nextflow.config ${BACTOPIA_ARGS}' @@ -638,7 +638,7 @@ - path: bactopia/GCF_000292685/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/GCF_000292685/main/gather/logs/versions.yml - md5sum: 14967c8997269651990f696445f64dc0 + contains: ['art', 'fastq-scan', 'pigz'] - name: gather-assembly_accession command: bash -c 'nextflow run ./subworkflows/local/gather/test.nf -entry test_gather_assembly_accession --genome_size 358242 -c nextflow.config ${BACTOPIA_ARGS}' @@ -687,7 +687,7 @@ - path: bactopia/GCF_000292685/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/GCF_000292685/main/gather/logs/versions.yml - md5sum: 14967c8997269651990f696445f64dc0 + contains: ['art', 'fastq-scan', 'pigz'] - name: gather-assembly_nogsize command: bash -c 'nextflow run ./subworkflows/local/gather/test.nf -entry test_gather_assembly -c nextflow.config ${BACTOPIA_ARGS}' @@ -736,7 +736,7 @@ - path: bactopia/GCF_000292685/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/GCF_000292685/main/gather/logs/versions.yml - md5sum: 9b292ef8e7488d6aabf95bcc16ea28e9 + contains: ['art', 'fastq-scan', 'pigz'] - name: gather-assembly command: bash -c 'nextflow run ./subworkflows/local/gather/test.nf -entry test_gather_assembly --genome_size 358242 -c nextflow.config ${BACTOPIA_ARGS}' @@ -785,7 +785,7 @@ - path: bactopia/GCF_000292685/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/GCF_000292685/main/gather/logs/versions.yml - md5sum: 9b292ef8e7488d6aabf95bcc16ea28e9 + contains: ['art', 'fastq-scan', 'pigz'] - name: gather-error_low_read_count_pe @@ -831,7 +831,7 @@ - path: bactopia/output/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/output/main/gather/logs/versions.yml - md5sum: 0b38c1501ee4bf73dceb1a8bb62cca1b + contains: ['art', 'fastq-scan', 'pigz'] - path: bactopia/output/main/gather/output-low-read-count-error.txt md5sum: 6b83dbca009dbe0ad944d8124ce49cba - path: bactopia/output/main/gather/output-low-sequence-depth-error.txt @@ -882,7 +882,7 @@ - path: bactopia/output/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/output/main/gather/logs/versions.yml - md5sum: 7369d557d6088fbbbf18f562357dc418 + contains: ['art', 'fastq-scan', 'pigz'] - path: bactopia/output/main/gather/output-low-read-count-error.txt md5sum: 62b184563e501178b47ef5790e9d54e9 - path: bactopia/output/main/gather/output-low-sequence-depth-error.txt @@ -933,7 +933,7 @@ - path: bactopia/output/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/output/main/gather/logs/versions.yml - md5sum: cd3455e21089afb26c3201a11d097ea6 + contains: ['art', 'fastq-scan', 'pigz'] - path: bactopia/output/main/gather/output-low-read-count-error.txt md5sum: 6be3c78d51a74c0086e03d47bf5db34b - path: bactopia/output/main/gather/output-low-sequence-depth-error.txt @@ -984,7 +984,7 @@ - path: bactopia/output/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/output/main/gather/logs/versions.yml - md5sum: 88ebb234140b58f5f17139d0bd4c5d01 + contains: ['art', 'fastq-scan', 'pigz'] - path: bactopia/output/main/gather/output-low-read-count-error.txt md5sum: 427061b788c00b7b8c3abcb6e9b96001 - path: bactopia/output/main/gather/output-low-sequence-depth-error.txt @@ -1035,7 +1035,7 @@ - path: bactopia/output/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/output/main/gather/logs/versions.yml - md5sum: 9dd75c38b610127dd1ec988d92a52d18 + contains: ['art', 'fastq-scan', 'pigz'] - path: bactopia/output/main/gather/output-low-basepair-proportion-error.txt md5sum: a6da65656318f5b21a5024330c8591d3 - path: bactopia/output/main/gather/output-meta.tsv @@ -1085,7 +1085,7 @@ - path: bactopia/output/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/output/main/gather/logs/versions.yml - md5sum: 82a59a5cd42513b9659e37c4b826bbe6 + contains: ['art', 'fastq-scan', 'pigz'] - path: bactopia/output/main/gather/output-gzip-error.txt md5sum: d2be3bbdfe7391ec426008523add17ac - path: bactopia/output/main/gather/output-meta.tsv @@ -1135,7 +1135,7 @@ - path: bactopia/output/main/gather/logs/nf-gather.trace contains: ['nextflow.trace'] - path: bactopia/output/main/gather/logs/versions.yml - md5sum: 162c5e563703bf4d9604be1bdb2ceec9 + contains: ['art', 'fastq-scan', 'pigz'] - path: bactopia/output/main/gather/output-gzip-error.txt md5sum: d2be3bbdfe7391ec426008523add17ac - path: bactopia/output/main/gather/output-meta.tsv diff --git a/subworkflows/local/qc/test.yml b/subworkflows/local/qc/test.yml index 36ce39b8..31a138e1 100644 --- a/subworkflows/local/qc/test.yml +++ b/subworkflows/local/qc/test.yml @@ -30,7 +30,7 @@ - path: bactopia/output/main/qc/logs/output-fastp.log contains: ['Detecting', 'adapter', 'reads', 'Insert', 'JSON'] - path: bactopia/output/main/qc/logs/versions.yml - md5sum: 1f12a3a51a1070504eebdaaf891fc1f2 + contains: ['bbduk', 'fastq-scan', 'pigz'] - path: bactopia/output/main/qc/output_R1.fastq.gz - path: bactopia/output/main/qc/output_R2.fastq.gz - path: bactopia/output/main/qc/summary/output.fastp.html @@ -85,7 +85,7 @@ - path: bactopia/output/main/qc/logs/output-fastp.log contains: ['Detecting', 'adapter', 'reads', 'JSON'] - path: bactopia/output/main/qc/logs/versions.yml - md5sum: 365e3ace9fdd3e39297aefaebe31f59f + contains: ['bbduk', 'fastq-scan', 'pigz'] - path: bactopia/output/main/qc/output.fastq.gz - path: bactopia/output/main/qc/summary/output-final.json md5sum: db692de5d929a17b319f13f0366f1a03 @@ -129,7 +129,7 @@ - path: bactopia/output/main/qc/logs/nf-qc.trace contains: ['nextflow.trace'] - path: bactopia/output/main/qc/logs/versions.yml - md5sum: 1f12a3a51a1070504eebdaaf891fc1f2 + contains: ['bbduk', 'fastq-scan', 'pigz'] - path: bactopia/output/main/qc/output-qc-skipped.txt md5sum: 81538b5573ca3720b779bf3bcf0945af - path: bactopia/output/main/qc/output_R1.fastq.gz @@ -181,7 +181,7 @@ - path: bactopia/output/main/qc/logs/nf-qc.trace contains: ['nextflow.trace'] - path: bactopia/output/main/qc/logs/versions.yml - md5sum: 365e3ace9fdd3e39297aefaebe31f59f + contains: ['bbduk', 'fastq-scan', 'pigz'] - path: bactopia/output/main/qc/output-qc-skipped.txt md5sum: 81538b5573ca3720b779bf3bcf0945af - path: bactopia/output/main/qc/output.fastq.gz @@ -226,7 +226,7 @@ - path: bactopia/output/main/qc/logs/output-fastp.log contains: ['Detecting', 'adapter', 'reads', 'JSON'] - path: bactopia/output/main/qc/logs/versions.yml - md5sum: 1f12a3a51a1070504eebdaaf891fc1f2 + contains: ['bbduk', 'fastq-scan', 'pigz'] - path: bactopia/output/main/qc/output-low-read-count-error.txt md5sum: 0c223c4cc227bbc49cea5021a6e6bcbf - path: bactopia/output/main/qc/output-low-sequence-coverage-error.txt @@ -287,7 +287,7 @@ - path: bactopia/output/main/qc/logs/output-fastp.log contains: ['Detecting', 'adapter', 'reads', 'JSON'] - path: bactopia/output/main/qc/logs/versions.yml - md5sum: 365e3ace9fdd3e39297aefaebe31f59f + contains: ['bbduk', 'fastq-scan', 'pigz'] - path: bactopia/output/main/qc/output-low-read-count-error.txt md5sum: 9d9fc23fc3e4747c2ece318de93df7fc - path: bactopia/output/main/qc/output-low-sequence-coverage-error.txt @@ -336,7 +336,7 @@ - path: bactopia/output/main/qc/logs/nf-qc.trace contains: ['nextflow.trace'] - path: bactopia/output/main/qc/logs/versions.yml - md5sum: 1a4a2c6fccd4c2ad13923f83776f9b85 + contains: ['bbduk', 'fastq-scan', 'pigz'] - path: bactopia/output/main/qc/output.fastq.gz - path: bactopia/output/main/qc/summary/output-final.json - path: bactopia/output/main/qc/summary/output-final_NanoPlot-report.html diff --git a/subworkflows/local/sketcher/test.yml b/subworkflows/local/sketcher/test.yml index 11b1677b..d4899f09 100644 --- a/subworkflows/local/sketcher/test.yml +++ b/subworkflows/local/sketcher/test.yml @@ -27,7 +27,7 @@ - path: bactopia/output/main/sketcher/logs/nf-sketcher.trace contains: ['nextflow.trace'] - path: bactopia/output/main/sketcher/logs/versions.yml - md5sum: 34c3efbea4984d9b4c2626797915d5ea + contains: ['mash', 'sourmash'] - path: bactopia/output/main/sketcher/output-k21.msh - path: bactopia/output/main/sketcher/output-k31.msh - path: bactopia/output/main/sketcher/output-mash-refseq88-k21.txt @@ -65,7 +65,7 @@ - path: bactopia/output/main/sketcher/logs/nf-sketcher.trace contains: ['nextflow.trace'] - path: bactopia/output/main/sketcher/logs/versions.yml - md5sum: c21c9e1e4e3f41a36a5e0116aef269b7 + contains: ['mash', 'sourmash'] - path: bactopia/output/main/sketcher/output-k21.msh - path: bactopia/output/main/sketcher/output-k31.msh - path: bactopia/output/main/sketcher/output-mash-refseq88-k21.txt From d61c84d4ef99542ca11cfc64920d8dccc0c8205f Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Sun, 24 Mar 2024 23:27:53 +0000 Subject: [PATCH 44/48] another test tweak --- subworkflows/local/qc/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/subworkflows/local/qc/test.yml b/subworkflows/local/qc/test.yml index 31a138e1..96b3f6cc 100644 --- a/subworkflows/local/qc/test.yml +++ b/subworkflows/local/qc/test.yml @@ -325,9 +325,9 @@ - path: bactopia/output/main/qc/logs/nf-qc.begin md5sum: d41d8cd98f00b204e9800998ecf8427e - path: bactopia/output/main/qc/logs/nf-qc.err - contains: ['results', 'summary', 'original', 'final','rasusa', 'Target', 'Done'] + contains: ['results', 'summary', 'original', 'final', 'Target', 'Done'] - path: bactopia/output/main/qc/logs/nf-qc.log - contains: ['results', 'summary', 'original', 'final','rasusa', 'Target', 'Done'] + contains: ['results', 'summary', 'original', 'final', 'Target', 'Done'] - path: bactopia/output/main/qc/logs/nf-qc.out - path: bactopia/output/main/qc/logs/nf-qc.run contains: ['NEXTFLOW TASK', '$NXF_ENTRY'] From c182dc4694aa8dde91e707c065561803276b75f5 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Mon, 25 Mar 2024 02:48:08 +0000 Subject: [PATCH 45/48] bump bactopia assembler version --- CHANGELOG.md | 2 ++ modules/local/bactopia/assembler/main.nf | 9 +++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd59f4b6..b7f70e5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ description: A full list of Bactopia releases and a description of the changes. - updated AMRFinder+ database for v3.12.8 - bump program versions in modules - `abritamr`: 1.0.14 -> 1.0.17 + - `bactopia-assembler`: 1.0.3 -> 1.0.4 - `bactopia-teton`: 1.0.1 -> 1.0.2 - `bactopia-variants`: 1.0.1 -> 1.0.2 - `bakta`: 1.8.2 -> 1.9.3 @@ -52,6 +53,7 @@ description: A full list of Bactopia releases and a description of the changes. - adjust python pinning in gubbins [bioconda/bioconda-recipes#46713](https://github.com/bioconda/bioconda-recipes/pull/46713) - fix issue with sistr container [bioconda/bioconda-recipes#46712](https://github.com/bioconda/bioconda-recipes/pull/46712) - update rgi pinning for pyrodigal [bioconda/bioconda-recipes#46669](https://github.com/bioconda/bioconda-recipes/pull/46669) +- pin tabix version in snippy [bioconda/bioconda-recipes#46458](https://github.com/bioconda/bioconda-recipes/pull/46458) ## v3.0.0 bactopia/bactopia "Black Cat and Brown Dog" - 2023/09/11 diff --git a/modules/local/bactopia/assembler/main.nf b/modules/local/bactopia/assembler/main.nf index aa22770a..8fc76ad2 100644 --- a/modules/local/bactopia/assembler/main.nf +++ b/modules/local/bactopia/assembler/main.nf @@ -4,7 +4,7 @@ RESOURCES = get_resources(workflow.profile, params.max_memory, params.max_c options = initOptions(params.options ? params.options : [:], 'assembler') options.ignore = [".fastq.gz"] options.btype = options.btype ?: "main" -conda_tools = "bioconda::bactopia-assembler=1.0.3" +conda_tools = "bioconda::bactopia-assembler=1.0.4" conda_name = conda_tools.replace("=", "-").replace(":", "-").replace(" ", "-") conda_env = file("${params.condadir}/${conda_name}").exists() ? "${params.condadir}/${conda_name}" : conda_tools @@ -15,8 +15,8 @@ process ASSEMBLER { conda (params.enable_conda ? conda_env : null) container "${ workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/bactopia-assembler:1.0.3--hdfd78af_0' : - 'quay.io/biocontainers/bactopia-assembler:1.0.3--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/bactopia-assembler:1.0.4--hdfd78af_0' : + 'quay.io/biocontainers/bactopia-assembler:1.0.4--hdfd78af_0' }" input: tuple val(meta), path(fq), path(extra) @@ -93,7 +93,8 @@ process ASSEMBLER { ${options.args2} \\ --namefmt "${contig_namefmt}" \\ --cpus ${task.cpus} \\ - --ram ${shovill_ram}; then + --ram ${shovill_ram} \\ + --noreorient; then # Check if error is due to no contigs if grep "has zero contigs" results/dragonflye.log; then From 8b8bd52cb6df5cfaae9e0c154ba5043190fb550e Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Mon, 25 Mar 2024 05:34:11 +0000 Subject: [PATCH 46/48] clean up config files --- conf/profiles.config | 8 --- conf/schema/generic.json | 50 ++++++++++++++++++- .../local/bactopia/assembler/params.config | 2 +- modules/local/bactopia/qc/params.json | 12 +++-- 4 files changed, 57 insertions(+), 15 deletions(-) diff --git a/conf/profiles.config b/conf/profiles.config index 6aa387e8..6c91075d 100644 --- a/conf/profiles.config +++ b/conf/profiles.config @@ -71,16 +71,8 @@ profiles { /* Custom User Configs. */ - arcc { - includeConfig "base.config" - includeConfig "profiles/arcc.config" - } arcc_hawk { includeConfig "base.config" includeConfig "profiles/arcc_hawk.config" } - wsvl { - includeConfig "base.config" - includeConfig "profiles/wsvl.config" - } } diff --git a/conf/schema/generic.json b/conf/schema/generic.json index 173e7168..c8e5f2d0 100644 --- a/conf/schema/generic.json +++ b/conf/schema/generic.json @@ -14,7 +14,7 @@ "properties": { "outdir": { "type": "string", - "default": "./", + "default": "bactopia", "description": "Base directory to write results to", "fa_icon": "fas fa-folder" }, @@ -147,6 +147,54 @@ } } }, + "institutional_config_options": { + "title": "Institutional config options", + "type": "object", + "fa_icon": "fas fa-university", + "description": "Parameters used to describe centralized config profiles. These should not be edited.", + "help_text": "The centralized nf-core configuration profiles use a handful of pipeline parameters to describe themselves. This information is then printed to the Nextflow log when you run a pipeline. You should not need to change these values when you run a pipeline.", + "properties": { + "custom_config_version": { + "type": "string", + "description": "Git commit id for Institutional configs.", + "default": "master", + "hidden": true, + "fa_icon": "fas fa-users-cog" + }, + "custom_config_base": { + "type": "string", + "description": "Base directory for Institutional configs.", + "default": "https://raw.githubusercontent.com/nf-core/configs/master", + "hidden": true, + "help_text": "If you're running offline, Nextflow will not be able to fetch the institutional config files from the internet. If you don't need them, then this is not a problem. If you do need them, you should download the files from the repo and tell Nextflow where to find them with this parameter.", + "fa_icon": "fas fa-users-cog" + }, + "config_profile_name": { + "type": "string", + "description": "Institutional config name.", + "hidden": true, + "fa_icon": "fas fa-users-cog" + }, + "config_profile_description": { + "type": "string", + "description": "Institutional config description.", + "hidden": true, + "fa_icon": "fas fa-users-cog" + }, + "config_profile_contact": { + "type": "string", + "description": "Institutional config contact information.", + "hidden": true, + "fa_icon": "fas fa-users-cog" + }, + "config_profile_url": { + "type": "string", + "description": "Institutional config URL link.", + "hidden": true, + "fa_icon": "fas fa-users-cog" + } + } + }, "nextflow_profile_parameters": { "title": "Nextflow Profile Parameters", "type": "object", diff --git a/modules/local/bactopia/assembler/params.config b/modules/local/bactopia/assembler/params.config index c5d9c8ad..a91801ab 100644 --- a/modules/local/bactopia/assembler/params.config +++ b/modules/local/bactopia/assembler/params.config @@ -27,5 +27,5 @@ params { medaka_model = '' polypolish_rounds = 1 pilon_rounds = 0 - nanohq = null + nanohq = false } diff --git a/modules/local/bactopia/qc/params.json b/modules/local/bactopia/qc/params.json index 15a2c527..7ef2b612 100644 --- a/modules/local/bactopia/qc/params.json +++ b/modules/local/bactopia/qc/params.json @@ -20,7 +20,7 @@ }, "use_porechop": { "type": "boolean", - "default": "turned off", + "default": false, "description": "Use Porechop to remove adapters from ONT reads", "help": "", "fa_icon": "fas fa-fast-forward" @@ -47,6 +47,7 @@ "adapters": { "type": "string", "description": "A FASTA file containing adapters to remove", + "default": "/home/robert_petit/bactopia/data/EMPTY_ADAPTERS", "help": "By default, Bactopia will use the adapters provided by BBmap", "fa_icon": "fas fa-file-alt", "hidden": true @@ -62,6 +63,7 @@ "phix": { "type": "string", "description": "phiX174 reference genome to remove", + "default": "/home/robert_petit/bactopia/data/EMPTY_PHIX", "help": "By default, use the phiX genome provided by BBmap", "fa_icon": "fas fa-file-alt", "hidden": true @@ -235,28 +237,28 @@ "hidden": true }, "porechop_opts": { - "type": "integer", + "type": "string", "description": "Extra Porechop options in quotes", "help": "Example would be: '--adapter_threshold 50'", "fa_icon": "fas fa-italic", "hidden": true }, "nanoplot_opts": { - "type": "integer", + "type": "string", "description": "Extra NanoPlot options in quotes", "help": "Example would be: '--maxlength 10000'", "fa_icon": "fas fa-italic", "hidden": true }, "bbduk_opts": { - "type": "integer", + "type": "string", "description": "Extra BBDuk options in quotes", "help": "Example would be: 'tossbrokenreads=t nullifybrokenquality=t'", "fa_icon": "fas fa-italic", "hidden": true }, "fastp_opts": { - "type": "integer", + "type": "string", "description": "Extra fastp options in quotes", "help": "Example would be: '--disable_length_filtering'", "fa_icon": "fas fa-italic", From ee6d2fe82ca2d7981400ef28b59a627391102d7c Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Mon, 25 Mar 2024 05:35:46 +0000 Subject: [PATCH 47/48] rename ci workflow file --- .../{all-bactopia-tool-tests.yml => all-bactopia-tests.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{all-bactopia-tool-tests.yml => all-bactopia-tests.yml} (100%) diff --git a/.github/workflows/all-bactopia-tool-tests.yml b/.github/workflows/all-bactopia-tests.yml similarity index 100% rename from .github/workflows/all-bactopia-tool-tests.yml rename to .github/workflows/all-bactopia-tests.yml From 3ce8c53283875880be2a316c818b5e541dd24fe3 Mon Sep 17 00:00:00 2001 From: "Robert A. Petit III" Date: Mon, 25 Mar 2024 06:46:38 +0000 Subject: [PATCH 48/48] update readme and add funding info --- CHANGELOG.md | 2 +- README.md | 70 ++++++++++++++++++++++++++++--------- data/bactopia-workflow.png | Bin 298917 -> 227681 bytes data/cape-banner.png | Bin 0 -> 45989 bytes data/gaeip-banner.png | Bin 0 -> 29578 bytes data/wyphd-banner.jpg | Bin 0 -> 58687 bytes 6 files changed, 55 insertions(+), 17 deletions(-) create mode 100644 data/cape-banner.png create mode 100644 data/gaeip-banner.png create mode 100644 data/wyphd-banner.jpg diff --git a/CHANGELOG.md b/CHANGELOG.md index b7f70e5d..f1a34a94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ description: A full list of Bactopia releases and a description of the changes. --- # Changelog -## v3.0.1 bactopia/bactopia "" - 2024/03/?? +## v3.0.1 bactopia/bactopia "That's My Girl" - 2024/03/25 ### `Added` diff --git a/README.md b/README.md index 662a9742..af5d0b66 100644 --- a/README.md +++ b/README.md @@ -6,24 +6,36 @@ ![Bactopia Logo](data/bactopia-logo.png) # Bactopia -Bactopia is a flexible pipeline for complete analysis of bacterial genomes. The goal of Bactopia is to process your data with a broad set of tools, so that you can get to the fun part of analyses quicker! +Bactopia is a flexible pipeline for complete analysis of bacterial genomes. The goal of Bactopia +is to process your data with a broad set of tools, so that you can get to the fun part of +analyses quicker! -Bactopia can be split into three main parts: [Bactopia Datasets](https://bactopia.github.io/datasets/), [Bactopia Analysis Pipeline](https://bactopia.github.io/#bactopia-workflow), and [Bactopia Tools](https://bactopia.github.io/bactopia-tools/). +Bactopia can be split into two main parts: +[Bactopia Analysis Pipeline](https://bactopia.github.io/latest/beginners-guide/), and +[Bactopia Tools](https://bactopia.github.io/latest/bactopia-tools/). -![Bactopia Overview](data/bactopia-overview.png) -Bactopia Datasets provide a framework for including many existing public datasets, as well as private datasets, into your analysis The process of downloading, building, and (or) configuring these datasets for Bactopia has been automated. - -Bactopia Analysis Pipeline is the main *per-isolate* workflow in Bactopia. Built with [Nextflow](https://www.nextflow.io/), input FASTQs (local or available from SRA/ENA) are put through numerous analyses including: quality control, assembly, annotation, reference mapping, variant calling, minmer sketch queries, blast alignments, insertion site prediction, sequence typing, and more. The Bactopia Analysis Pipeline automatically selects which analyses to include based on the available Bactopia Datasets. +Bactopia Analysis Pipeline is the main *per-isolate* workflow in Bactopia. Built with +[Nextflow](https://www.nextflow.io/), input FASTQs (local or available from SRA/ENA) +are put through numerous analyses including: quality control, assembly, annotation, +minmer sketch queries, sequence typing, and more. ![Bactopia Overview](data/bactopia-workflow.png) -Bactopia Tools are a set a independent workflows for comparative analyses. The comparative analyses may include summary reports, pan-genome, or phylogenetic tree construction. Using the [predictable output structure](https://bactopia.github.io/output-overview/) of Bactopia you can pick and choose which samples to include for processing with a Bactopia Tool. +Bactopia Tools are a set a independent workflows for comparative analyses. The comparative analyses +may include summary reports, pan-genome, or phylogenetic tree construction. Using the +[predictable output structure](https://bactopia.github.io/latest/full-guide/) of Bactopia you can +pick and choose which samples to include for processing with a Bactopia Tool. -Bactopia was inspired by [Staphopia](https://staphopia.emory.edu/), a workflow we (Tim Read and myself) released that targets *Staphylococcus aureus* genomes. Using what we learned from Staphopia and user feedback, Bactopia was developed from scratch with usability, portability, and speed in mind from the start. +Bactopia was inspired by [Staphopia](https://staphopia.github.io/), a workflow we (Tim Read and myself) +released that targets *Staphylococcus aureus* genomes. Using what we learned from Staphopia and user +feedback, Bactopia was developed from scratch with usability, portability, and speed in mind from +the start. # Documentation -Documentation for Bactopia is available at https://bactopia.github.io/. The documentation includes a tutorial replicating [Staphopia](https://staphopia.emory.edu) and a complete overview of Bactopia. I highly encourage you check it out! +Documentation for Bactopia is available at https://bactopia.github.io/. The documentation includes +a tutorial replicating [Staphopia](https://staphopia.github.io/) and a complete overview of +Bactopia. I highly encourage you check it out! # Quick Start ``` @@ -51,11 +63,19 @@ bactopia --accessions accessions.txt --dataset datasets --outdir ${OUTDIR} ``` # Installation -Bactopia has **a lot** of tools built into its workflow. As you can imagine, all these tools lead to numerous dependencies, and navigating dependencies can often turn into a very frustrating process. With this in mind, from the onset Bactopia was developed to only include programs that are installable using [Conda](https://conda.io/en/latest/). +Bactopia has **a lot** of tools built into its workflow. As you can imagine, all these tools +lead to numerous dependencies, and navigating dependencies can often turn into a very +frustrating process. With this in mind, from the onset Bactopia was developed to only +include programs that are installable using [Conda](https://conda.io/en/latest/). -Conda is an open source package management system and environment management system that runs on Windows, macOS and Linux. In other words, it makes it super easy to get the tools you need installed! The [official Conda documentation](https://conda.io/projects/conda/en/latest/user-guide/install/index.html) is a good starting point for getting started with Conda. Bactopia has been tested using the [Miniconda installer](https://conda.io/en/latest/miniconda.html), but the [Anaconda installer](https://www.anaconda.com/distribution/) should work the same. +Conda is an open source package management system and environment management system that runs +on Windows, macOS and Linux. In other words, it makes it super easy to get the tools you need +installed! The [official Conda documentation](https://conda.io/projects/conda/en/latest/user-guide/install/index.html) +is a good starting point for getting started with Conda. Bactopia has been tested using the +[Miniforge installer](https://github.com/conda-forge/miniforgel), but the +[Anaconda installer](https://www.anaconda.com/distribution/) should work the same. -Once you have Conda all set up, you are ready to create an environment for Bactopia. I personally recommend you used [mamba](https://github.com/mamba-org/mamba) (_soooo fast!_) to install Bactopia, but either of these commands should work: +Once you have Conda all set up, you are ready to create an environment for Bactopia. ``` # Recommended @@ -65,7 +85,8 @@ mamba create -n bactopia -c conda-forge -c bioconda bactopia conda create -n bactopia -c conda-forge -c bioconda bactopia ``` -After a few minutes you will have a new conda environment suitably named *bactopia*. To activate this environment, you will can use the following command: +After a few minutes you will have a new conda environment suitably named *bactopia*. To +activate this environment, you will can use the following command: ``` conda activate bactopia @@ -74,14 +95,19 @@ conda activate bactopia And voilà, you are all set to get started processing your data! # Please Cite Datasets and Tools -If you have used Bactopia in your work, please be sure to cite any datasets or tools you may have used. [A list of each dataset/tool used by Bactopia has been made available](https://bactopia.github.io/acknowledgements/). +If you have used Bactopia in your work, please be sure to cite any datasets or tools you may +have used. [A list of each dataset/tool used by Bactopia has been made available](https://bactopia.github.io/latest/impact-and-outreach/acknowledgements/). *If a citation needs to be updated please let me know!* # Acknowledgements -Bactopia is truly a case of *"standing upon the shoulders of giants"*. Nearly every component of Bactopia was created by others and made freely available to the public. -I would like to personally extend my many thanks and gratitude to the authors of these software packages and public datasets. If you've made it this far, I owe you a beer 🍻 (or coffee ☕!) if we ever encounter one another in person. Really, thank you very much! +Bactopia is truly a case of *"standing upon the shoulders of giants"*. Nearly every component +of Bactopia was created by others and made freely available to the public. + +I would like to personally extend my many thanks and gratitude to the authors of these software +packages and public datasets. If you've made it this far, I owe you a beer 🍻 (or coffee ☕!) +if we ever encounter one another in person. Really, thank you very much! # Alternatives In case Bactopia doesn't fit your needs, here are some alternatives you can checkout. I personally haven't used them, but you might find them to fit your needs! If you ran into issues using Bactopia, please feel free to [reach out](https://github.com/bactopia/bactopia/issues/new/choose)! @@ -123,3 +149,15 @@ Petit III RA, Read TD, *Bactopia: a flexible pipeline for complete analysis of b * Robert A. Petit III * Twitter: [@rpetit3](https://twitter.com/rpetit3) + +## Funding + +Support for this project came (in part) from an Emory Public Health Bioinformatics Fellowship +funded by the [CDC Emerging Infections Program (U50CK000485) PPHF/ACA: Enhancing Epidemiology and Laboratory Capacity](https://dph.georgia.gov/EIP), +the [Wyoming Public Health Division](https://health.wyo.gov/publichealth/), and +the [Center for Applied Pathogen Epidemiology and Outbreak Control (CAPE)](https://www.linkedin.com/company/center-for-applied-pathogen-epidemiology-and-outbreak-control/). + + +![Georgia Emerging Infections Program](data/gaeip-banner.png) +![Wyoming Public Health Division](data/wyphd-banner.jpg) +![Center for Applied Pathogen Epidemiology and Outbreak Control](data/cape-banner.png) diff --git a/data/bactopia-workflow.png b/data/bactopia-workflow.png index 68f4fa192049ac97587c7006718cae0a63ef7d6b..84bc92c52da59bfe05178cc812a882f26b0838f9 100644 GIT binary patch literal 227681 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 j0b-S$#j(J!6 zS`Wy5jYYMV-9zMd<1C!}M5>Eukp&tBA&+sxz#}iDWo`}2H#yQrGvI4cH*cQpOj75TCF&s()hB5_VxNE-?*!QctrLd1 zK%!DldeA2XgZ0JIMQF2lY}$92ziQ+Za2|jF2Cn#*5_$Xm-DnI?_P7gV@=7wf53I=fvWEI?X<4b0G?6n*Cw10cL9ebdin>x*u=yEf!l>5I+H zaFoVXEc-{a=nCqHtQ}Oy6erL;rt3ay;ko%YGP4fPj8!zoCc7K^z=IFc)tryXW)>_@ z6JTr$;^>lewI(Vp!>f268n9;Om-`$EZ0>w=SYXm)Lc%*Djmw1Tsxt^To}w72dL!hr z_FZ6-SPzuaG&;_*3^q4cRi$ul+S#sGZtFus%0uzz>N^CClVHLJTPcRIDOR%2jFyX! zxq*VYkNtK#Om7Q8QbgUF^fR~|tw?^^O!hH{Z0BWEZi(d^W=LPzFvQRh!ACj6v?QuVN4sZE&1@+#xVEpoCU#h2A7nNzL&EXRHEIF zy@s(bMQ5?S^N002lG0wd z{kh59kISnQ#zH%p4QU5Qyf-s^9)D20~EBpCV=GVfcE(>~L8x@{N4tkP>I8s|FqAQ(IBCb-fy=Q15gZDhIkcP}+0aqeaOT;^UiVmqYI zb&mPFVgs8+6N9y_U3R?)Eu&C|qVLA;fZx#cUZJUnV;4&1D~XI_&xN6yCT>CZRC&fY zU)p`*g?_@z8if~DSaT60s7u$k+e}+)$T@4cGMH>i*;?%*r4MVcQfq%6NQO4dE4|%& zsUjI$y-ufgLf}hAmUez6MW6LFAQuTQ@Sb3(vFb%!ymxU7KO5t@p+4A8QlBaCzu744 zm#7}MCB+=Yk5eO=cMIfYDzVY!SgRs09B*>Wbj4ndMi_vi6htN@gl}m>M^rmtk!D_d-$^TE~xJrv+uz zpbiX9$i>j|Cg!^P)Ac*~wT;BB_@e(lnDFpk8l`wzYKkO+%5!J=dEtyc4CRpJY)%6y zMeAXQikt*0diP;|EYi7wK zGEhYQmy;JxNRkJs&KV$FMO8eedD6)FBnGx1_8FQwF5j5nkz}TbVqY??T0_2x&;C!} z>^+{6BVfL8(p$*$u0Wj(AfivLSOumq?h?t(e9i_|2N*7cK$mx-hHa9o}z%F8^gSgelHoZOp&Y3 z)7WKA_~3Z%P5<^3=!}463JP!x9gM99kJw47D<`p1pXj42u3Gj*{dX`qK-phYArWjO zglqg5YUlhf%{|lV*5%Ukb6u?iQ7;4;_S!ti%H;jX;}1T1#lp;Cpwwji$Z&pPw)74` z<%j$n*B(5{(-!gPxFkbSJ@o+-c%{dZqgE+!_cc~Y*o)(Lzki+P<9SC{JcYlh%PO#2w2@Lf0sGcaNA(WL@ynXTk^11`l=xLHs1Kyr6*)z&tnfei)g!(sPn@LY zP@~YrGB$a=Q`{%fyj2A+XyVblD{@eN8DoG>@Yx*Et>eL@g;!-c(CuWWY_@r7>F~)0 z&w0q8j8j9ecvu>+Q=wjCO#mN97rT*4!u@WePMoN|O(v2oN)o11CN z<}c-`pfTtqEccT4*La_Lfo^3g=FqC?sys?hl!5giD!kwnA^mm?G!@`{kt}-Qf1}XG;SL9|bsjfv& z%?58!#V3L0EP|%pf6X3S5kB~*O)tS{JYu<{tvEb(y7IvbTYKG-x0_ez%VCbq~iNC!PFZesA5@6$)P+ zgG_e?8WwPyr1%rcYg^)f_}ajI?YJr#hBZl#riblp-vyCmcvoM&pkL$fV!;z8NWSqJ zccQ=lVF_95Uhvz@4J_M2=+NlX=@s3OC;!rvnWTK4DUbK$De>W^I`|4(W02!cDRzn@ zOCg7U)QrmA_1cZKfKGrR-A_5%u$!GLV#ia3hBrlcTm=$a2+LLJj$Ju`|63o{s(fOi zT@&V{;xpBJrlla~ER+OzaP~`Q`Emm?86$YQw%~Bqy@#W>J*DC#Rdu~>E8-~5gJU96*sS=j`J@<(_7^=R0GwJca zs_=JqU52Va%LEZWdK;Q{l>#h|cV*#I=hYr)6wMwzlb2sE|BrCzXTR3*D$J&)&)*SJ|c! znLqmQjQ*945=}SVO$nqpBWJ7)0u4!&qq}ygPcJuU_NT0&c~>!@s9hr(XK)U&8^*^e zH02UCk^RL!@WfE}yE(OG)JosT7oKr%WV35M6loae(O!bN)xw#RLDGa`@N36{Q;g;) zjOQ(_%bNJSyDjm<$B}yzwtd}N!^%F({(Uev*%!!Ou;2J#HI#VF)V0SRTz8g}{jlP^ zVE$);DNYyX^=GaPs`IqacrIo{yGsFhfFN4_cwlwv;{F#~7{O@a>&nZ_p z0+cPVYd)SoV43+Wj7S3E)A;%FeweGyQkxWOgXSPiQi7lp-y*TF5|x=fP423DRTzWs zZ=HOE4QpTjw6SR;X#CRKX2qjtb31@fIhOA)(!=62rW^^05Hl6P4c=hHglY3ffBhRj z;>+g;#78^W*s}!j#{2}wIjbe1GQj)d*MD_zy6X>-J950(xFhs*k7h3n8*)J=+BEp~ z3H>nl%pE*Fup?)xHj)tsE53FPJ^0#+baK1hqYXuIrZ1NBciPa_^I~DWEaOOjLGr94 z;-yd=IQsQ1*TjYB!Bv~p^b1rYHq3fPn!9WCsvPv~tZg5n$I@s^o6Y_GYcsLbx0{>M z-B1yDmhmD?|J`O-(V;=4%DbjNbO#@M&#VpoqVf`cufdVyJp!-pxp&)mkV?&LdLHx1 z{tZcfoR#ziki3?!VNWDxmUHQLk0>VcHcJ^UWh;q$4;kXbFKc|yJSkt~IB4f7l~VU& zM%>%CEYq@*P!Q6JvB>;u2MSz+G{YZM>=0!XVk2FoVvd*>%orz>1<9`#^R^#rF42R& zG1pCVtuT&zMGQ+I)H~VLZ~mcje(I>I9m>*}{Oj$MBpZ@nC2f<{J|~~uNpCD4SjG#Z zCpI859(Z*d?Frwd6psPDhj@+NB2Vo7Vgr^*FW<5>nZ38S!W)J{%KpJN4NG-Y3no;G zS(ldTnqq+^!41qFO#sHDY!iul$ldxxCuwSI;a0$gI`v9XuFR82`tg%y`LCM(#s(7l z2xx+OJ9gVm+b+|%RotjuJeYpIGBDi)3zXFAK!>vk*#cvO-wp?=4`S|@vC_JNgeh(k_xP9Ej<3p2;= zp$aW4(*%C7r!{JXTe`abwajRF(&#ydK^{-@z_<@NIU-pLB%|xL-pI4%T98$aBqy5S zY>O^XebOGY*sEZ9m?=q&NoMpJR5FQY^F5EH&L)xAvwsF7q*(>yb`DL5boP>Ue@reG z!RG{44T=tBH!herm&BltiEaE7nvAtWO|-z%z75S%;R(o`LLgzEY+FoGzy8KW@hi+n0saX9~+)|8ZSK*B}ph0QJ@z8ftfTc-=V61 z@>P_O@;>sx8Hn@!=v|&$7(DA>H>sdMYgiZ`M{AJfabXAlSp4-$QfQZ)8K^;dZ}h1- zbO@DWFI+WY@ETIxS?u(hL3WftqwXW&vgnGv@{QOW-5zi{_4&nzIk9Et;}|!7U3FFa zk_wyO!$bcFRk^c^vfP~6e21>%7^Wa~%tgt^+Ypt~(t}ge)CgTV+%>Uo_m)7N`~I5H z<4__WwV-I1M1RcL_`eCjz5&f7;ckA$S_fiJE54$^yOMhJOI1Mp+A)GX5jq3xZAFGy(RklzK(j59gp>rS3#usgi0a zxZcc3ldgDLhbcsQuZrT_t8`2Gn2S>`ukzcyr`B#OCW`0!ns{PO8l)1IC$4jP(=KK~ z6{`83=IrTb^HnBL)$Oi%oj4og0ejHBNf{^zZ166dv^W_0Pq6CVfWF6GF$5T5;kqLr z_tG7s%EWYY?80nqPBe$s7BE81FPx+8^tj0T{J=5(Q(CThS5x;?y#5(o{yJ+oE?J2k zE$`A8{zbJYC%Jg{?WjZF3sgsY@FJ=`D(ms5n&18D!%Nk@SuQEVCj^SD+4Bv4dHU18 zui%*DZ$5g9?yvb;TUo!L!W8<$G0N4KU5vYx&!F9Ul+2y5BADptJ=IFSA;9l9=rGAF z0|=Fz48tZN?}RN}yl)JGj69aVJx18w8&)+pC<1|J|K^M^N`dWLT73D`okY@w8ZweD z7|owy-3i?8VeZQ$RVdK_`syk zCO2#k3P)d+Ys`+r`l*OhfhQ<>)EeJ^I=K|r<*k8AvBkPyPy4}#fX)|Z%5e*YuP z(pZKI(-W93&6oZEl&e{wi?Vyh7nJ26ZrZzj|k*sO7i4 z|K)B~koA6|XvA{~(8p;^953M(T!da48yIwl7gjj=(sG0Ro@J@jbIV zht~L(6~BkgfSiBHe4`8pzw#@t@OGa}d0O;Pk-r7l`VO59lS+gXqGl+C?nKo5gIG91 zLGu?>{^{!35GZMf2|?vQ`1M7hE_Xj(10COA>)`LS630^c_-rg5M6NU`Kve~0G=?2I z#~*Jxbo@zKA@z^324Uel>qvor5i3VCfQy0L99iPBN*dvQc%9m+)BVti8LY%>_QvI6 zEL#|ejKF55T{T@=k|O{<6|odb@E5reX3Ee`I6NR|qbBO>Nl<=E!0iP_R*@chzb0ng z;}e)8q*f7=`=V^54P{5E`GzqZ9P-ZE04h@LegYhpd> zPKB%V*PTPZhkOi$(?UX zK&0WO;_E;uGRfhv{q)f@%>)WX>ipoZ@1M-HuVUie{xJL=iUV*dwjr0o`uaU?hsRll zuFfMbDRL3!LF-Vj4}ONWr~wLPS#+@Fdz5nK3yR!aEdV8DK^&qVjR@u0$5)?vrxvbZ z=e0(H-@(@OZ%{hE8_uQ39~c0DB;9@*ifd;Lb_{MC$|Ug7GV8#8_r5a9}7X*;ZnM;TYcbr)Ws1@^vHCHrxvKtjo!&qFr{7S z?dXrP`#hs(H!GM+Xtgtnfza9L6N`j2lC zX@>1*(XDDY|8-|=xNPB^_Ozhf#T?$73g>>}W{#Pw$#hqg#Bm7S8-1emVgh%z{!Ofp zA(xr;C%Kk!1_V|eD?pAKLm%;>K+XvEy}Ij+v^mB+7V3g*w%rWU?D|PoZ;emoVvepBF( znETC(J(nbF$3Z7vt-}+J=j)&F9{aLCQUQ0Nh3w@yII%eJ50`4lEWJ$B0qPs_OeN06 z+Z9Sm`UyP640ZY?|9EV^>PQ}bFt}Mhj5B!k+u#pJ=Bz~E_lal5rXYEKzAy(;?dfy4 z&P3ep{&(k1tzemj2>YjK$)XxjjU(O#o*%5==sakD`0DB22)t%llhx+E6XT^t(`PR7 zkV9oo^|kQ@ywHs@mwV*UyF-ar=`d%_osjkmVofP|eU7Q~YL$f@pXNo+9evJ>sZ|dm zDhPgO-q0THE%>cEdM$B=QfJx0PAPT}Eci02TG>*0dfkIm#%{~zlrH|u?yk96xlw=p zv(n#vZ0p5CQC};64mb+}7#-ojUFhdW4y8Pl6l<^NPlfi^Jm7u56>mF+T zkAAKOT;70qdwk-uO@gMu?HuuOhZ$2Hl{=PXpKywPS68vQmV6`^>-0i5V$`_w)o@Ox zcd*?%XH5nYITJK7vzOP4kKa*SyB`!Im}2!{FA64I@#u@!(Ic?Getoh^!B)r**kKI} z&Y%JeI~`@9HQoH>xR(_{*um-RDbqO%ZYY%PQXlKlc>u^SJas-`_@h5|P;Kt4=Pa_q zJ}aj%YE{S#)KQxrQZohy!SWiHT{2k=HmpHV+mq+8%@l`Obv6dWld8SerTfL|!F?Z0 zJCZk;e94co3WAndhTv#y#1QL*Sx#GTP~vyk#J9?KdOv}UHOHBkn4u<1m+U%G;xM3k z)QB(V*mQ7YNvlBBXnwyRWTNaBWT zXU}VoYnDAO$zCD6?ajrtwaKC-tn~QxolD86$g-rJZP;M?^c)#>aB90ayWBX5?+BH8 z5syDTlNyHJAo6|sY~n*$<+yvQ#I5M~srvDYW-#}1h8w?*+z#&4wYB6w)PXb9PD^<8 zOPYGv$As=L+KwqL3L{nllZptB%)}s8F&7#Eh90j~z`EAm&ZA>0?5|zoR9~nAOCSzN z3vV9cYGNKzu?y@f+YiPk>7hp^&`Z#YPt&?eCFugSc;s--=?PMT+aln`U#t5M2J?Gq z8RiK0wyB`q4b4}M#!PBCT_N%65Fu>l(hn|T;%-SlL_o5e)sA+j)D3~hakbb^K08Q- zT+Jo=QS_a~^`Pq2mmuNAjBo_x!L-PS+6|EKDo*zlJ#~llf96we>nzL>MRfA*pfjiY z%MZ zC0+Uf_MuRRRg>N$yXiPN>Z-a&+CSy~ARqNoO+lj7kzIuR@L} zP;`aXy>k7TQiqeJ^^JPbm5-$a_Ie&3yU7R~#(4v+n?cm@>2hUqDFTpipjk1MD_VR9 zm+`Qi*<&{U!52^XhlYWA4$x7r72Lh?jiiwG>8SpvA#^2l{}3kL9EiaT{*T$h@K(4#L#oi56bN@~u z2}8V#GtrhYpfNdgbp0vANWPD2IuUdZSMGc*1tPB9dm512ZD6PUK1<*M!W;7;aXP5zNwV2 zd{DL{y4fLt?RKcPVk1wCF^5(18vn4XjqLb&R+l)nbqM1tiY2Wd;3ClwdmV0kyFbyN z!{EfR-(tFpPb=_k93ubR??2}AJ)1xkgty7KRZ~{E2~g0aH2XsSVh`OoT?{>wp(6wp zpOw4MRZA#~YIDE1YvmBXW*F->m~E$ged@cIC-j;2ZL_|O+gvV_}9 zE)ARfVIjNjrYv*bzHo!(FBxNamn?!hcQv90I;emKeAJk{n%~cbEfhtf{4VPGX1DK{XTsXgqonVpuoc!Ene(C!n!UzqH z^zg+u{*k8X%iQ)8hA%Tsd`Xt6guZyW=CPAVesv5^4stUj+zG#vWV$ZaVCb{QaNPTc{Ja*Z(49 z|1UyXR|u7)!ME2ibMlnn2DJc?lXG|cL~;&~%Hz~}x4jj=v{_UXNR-vX2O;baZ+l!_ z>DGqw6u=G_{>bzo{Q#*~s8gMJ%c)IfHU?&t^Z`g7oTFeg`8-{8v%noLR`#O4L8>~L zc%*9)X(6^fS6}4~E1?^0{Z}NqDxZAXA`>6&DSB^3&7{E<*=nZr9bHJ1>Ga9*7&*!V zSp6I9JnkoW(hrrEx(CC*>oTp*cQX5IX!yxn)}o`GT#vsG6M}WU8C`59!YczEb!!6V zSWGfY*`%XKhK@hGanX^kXPqKHRWa~}6>toV_+bw`q2`KisWHFfs}#&yAb?%`D<<(t z3%?g1d2LKE?7%UR)@_BF%+jwK0gy2Ux*B7t1jvIrXQM{CJY~x+Of+m#au-QyRB<G$S0U$ODhrBUHDS9A;^hIDwnWy3Nz-_vH?J2G-eKK&_Jg-fzMjug{ZSHSzsk4Y zGZ9?tX@M88F_Iw=OHm?erF|iA+A&}a4VT%r-xgHdfdjHWf;Me5)~$wxXN*^lAm9Os z!32)FDvM1;L^U!z!t~D?0KTEt*#+ThqAy-sQ}25|g2SC-NVW5~2^;IN8oQy@@4^A!g@@9{DHt$1{u&Ji zPpc7-x3&T6c*a&^afOS+P65w^lkNT};En>GrhhMHDVZ&%O@+76hy;$Bvo*>-HcXKXYEW>;N(4EWKme$l}41(H9<`|&@{n!j%e z;mMLVAkbXAxbpw`$JOkBG59htqv_vO{&gg{^!^!HcL{s&|Npsz zQ=&y_ol|692R8TbzXO3B|570SIaCXix_~o-X=Z-O|z%28~tB8NSB`( zmT{ClTGD;^_~KR0*)6!l({(ytCg2yV%X;v$-=1ert7uIt#RwSE5T^tDc8d_m=Cv=6 z3%$)PigN6m>~ckV^8&lEsvBYhH=DoIq=_O{T?*)w{3cv~&P-3UYbV9`=KGnzOqY_$ z6n4jBdElu0w7WTF0M2J}UTe7+@8~?w0~|#5w}wVOQPTim09U?dFS||^u-at_^_XPQ z>@o;NcrQ zYL83LAL*xMA}HAgr+(*#$XSXw6cnlE*?M!-Lu4j)AZo4FV4Gg1F;95m9|5J>P4RF# zwyAwsR&Z8?tQR<>^_Sbbd}th^dWjUYa{gcciyZvSKa){AiNV?8Tf*Q&Wd?w*+= z3x{RJCmb)V4q!Y(XD+TgyOj7hA0S5&+N^WAZB%fm)x!9h^gZ$DB~3(ECEiuL;qP(& z^9oN4l5$j(1d@GuE{(5PnS!A9q7QzuexfG<`^v)uPRO09k-&f%4{*3QxH%`kI4$ul zlv@74G=*NBmk1~>F@F4jHrzzrP@5y?^nY*-@R>OXZ+7+5bqs`fwohdYD1P+8?7<*= zVe{CU0RB8rp+3PkCJ|IdoCB@znV6 z%F~GgB%cmLXKYeV_929Nfidw%GpBYd+ChpJOYNt*xpXxAHMwU93~8GrH}mZ07Rrr( zJW=BMS8tU#Z7~HR(#o|M2_gp2;a#6+GPWkuqxLjK%crLAa;fVs7Paku$gZFpV-8eP8rrp%nV^a%@y;ZOa@-ZPr(trvQ(bD~c zIqk|%^*WjVp)KlKc|yrbL~yqm9nQ)o37<{?32T4zUjiGd$?xoe!Au%A>Mj6nI6hS6 zRJ}E9LmRwVr#mAmC{aos6Zaw(4zDW=?Go?kq|xVN|MqJMTGza!iV#t>jk$LAmUo;i5n z`pj=bs_$Dw8xA4@eGCOe#Pm=Gks4nL_Pb{UL`-I8$?td*GTn&K!u6c-b)ld?&TD($ zKg#N40nYW4%c-W+5BVQg{&6w&KB$RLz~c)XqV(ndj8K_Etsa^uPLPenEZJ+cJ@OD}g*fTK&co%|k41>5bl;!n>UMQ*D5cbA6^_!&7SlQRa~y_f$MJU> z#~w_4{Tn$cj>iU zUDX6DKAxnrmmmzM;iHwp1I*woQKGa{f@}G%SoPG8Xp7?DM4s@lYa_CH4gXjdBNcAs z`sb4aw{`sUxp_=ZmuNwbSBsSsLDNT1RI=?x4h+F?lclm1`SJd->G*_Q;r$ZL{F$Ql zm%GinXm9K1bDijVc!@v)?Xl}i?00bd;62vt?pO2~Q3w}$^h|ayL{35^Z}JD%cVFWQ za%S@d1$o%a()&5hWBj*luJ@kM-;4OqX{Y@8>t~@qlh#Xi4I3(^-1k<2!jFapXUIc6 z5O8Pns&oIr7#-nq?xT_a-I|@X{3@S4jjThP*jr zM$kszQhp8evi@LX%1Bx_KKSy=eC9vfF%;|A?mt=o0`L*27l_I=+8Y^Gm1V#X_h=9k zyclAiEFmhKMEL(pO|Ll=ej(* zPK1-CwBP|w1B0BZI9}iQ+((sX8ts3=@Z9q*7f7X6L1`T-=v_!$Iq}E;$w-B=r+M|k z^1xodQUbMxRMfvLds=+Ovi!AE8F7QOUSBHQ`&SP=O z6-2aCQ^@7rBDfDiyrE1wRQLG#}@pIu^^yVT^ZLWEfBmB5U{;jDE_1qUD514B7) z57$hox^!BL<~{B4MA1oRUx=gZ(e~%AoQs@r;qeKyK;1pY=mX45J6|>5ahIt?kDAk> zE~Mjz$p)re7ldG()Vaqvjb^M{b=iRxfdQ4GpK&HQjEj>SDdn4SJKHp4h5x!*b>9=7 zsoX}}9kuQ~CR&f0Y+5Tf!Ko0Y%5!V|r9-eTgXI$AFuINf z=q-M=D73+^;G_zv#F*If`V^TwTK};+g!M7$$zuI661HE57g4(scp%n%L6j>dWcgZA z2O-#C8+XN8pyZIJ4@{AFxuhjW9JR+<-D$P1z!)tWO53xI%|&<@%?VoM$e zIOU*h@T_3bN>wVn%|O&=s^Hb{hs!wuYAxp{t|LuZtsA9PZty2UWQQ;vtWqX$iW35_ zOy8l!taOC8OkPCqlsSS8*F8TQz^fJ2=#IYXLHYx=UWp4U=l#t_xS zbJenqnFt5+E9Vwqs{_*tnE13A33!cxxn=K#CKAUchw*ygXRZ@;!;gRcQvaF--2xz|N3VVKBHl-e^ z(!Mi{*qlID%QTXMOqs3$rd@I_qERMKc?7K&&L@Ix!yKvLWe5mlmN8w~OIn~fqJ&CY zPD)A5ZyfTn3S@8zZllRc`)4kDg%HQrD@C~oVK;?BIP{L{R@3s3(msPts^`zMf?l>b zp8h>UF|y5af3B>mBi!duL^laGp=Ue;l1)GA8TLex2z@h6mQcAWgi7m4RHIyH1?|i2}lR-VO1f^wt z)F6hWg1|9W^%+ww(C?U@29v>tM+d!o)Ll1WEzf_!k;z}biS& z9pmVvlpE8}AB>>)5>_Kj7{ni?kbE9`$u^Rar>2)@Tkp0n$WRV}qTBzsv%Usab#(ha z9(PKD4wzUc@EJHkx}%Wj&h&>7gHzf!A6vlg>j=ES;daT)H}A;A5T|xPR5`T2@Ig9= zuJQD~n8-iRALckuU+l$O<9x?k&@uNyp(e)ByR37qT;Ujp&Lu@L?@v^m6eekb@ zN<@F$=GsBVkm4WgD1;(Gw{J=IP4xOd1CG_jAE(?ySItFaijfiF|6T%5E@@8iia*!K z3v$Hm&+LM)HrRRUYQyBUexsbZQy8mUnMVy#?1+x_Q4rQz6^3#M-Gbl*iJBW;Gn$$$ z<#xs>hn@xPE8z~Q-#00?%EUk3D45sJc(O-uz9?pLwVeb;_4+#TY^=T*WNYZXGxeB^n)w8 zvp-Fr$)$a5_&5jLr+@b!9G?5v?s$@oPC0*>7ZJYpeG5JC_ORC-hi7d7(k_4}A)oZr zJ^t6lHTWRIn)0#PdGV+1x5_8(fp}yzv6aKE&s`)lIX0mV0NyGH0$S8UOo;&}MyMW6IWMG5El)uec$y~y`nyvnEx_(^oLdh(+DB)dh)dAJO zklj1o(pB$U{~8>2XZT!usS%@^#-ak#eDAg~LIPeeh$rq7HU8|v;5hqp_cUINq9${p z|8qQIB@0Y&Tz7{1HnnlvPZVPI5-!VT8=WUXI zQ*QJa@q9OpIe<4UYbMm?K7ZKE(mL_axnh;m+YiCb2 zy@IFwlQUQ)jkW5;&R7dA+xzD`5L7)Fk37Hp1ePcm!>V^;+&zzcdff;_2z4=doZ8aJ zM+8Vu8;hr#yGhXW$rBFxvJp5vppZP_tV!|O!HWUNcyg=NE^dG>ooQUCmARk!ydoz^ zr5@TG;kl45is+eng8((wUESwE#lK%0i%W&p)o+KSff#n=O+228+WX9Yq~GHF&Lxic z&jj8VgI0+-5JZ43O$sq_cs4=;5kL`ty@x4aV4$n%p__TOg9Fp*6&I1=H`lva13C#^ zpEO{Q&|4=(0QP2pC3IP%Sk?Wx7eDsqL+!y8}p{rS5+sZ>o5Yel`;NqNzN?h2%5imB& znsWX1Yu$94)bs(m_Bcrt6y3xv-Ay_qu!Dk)JPy>BY(h+ZCu|G7f>X8rW@+8=ZDj!8 z?VCjhPP*DGeqz7Xr0N#DIieDSCfRZpdWnV&(-N$76_1ToQ}Pr6Mjt`Ny(AthKLGfV z1*VNg)QgDFP68NIdIAV-{pJYqstDi=`omD;b&2lfvG!^_-d|t@1REFuvxLQr^cC1u z+#x_O9NegaNU5e~SI;DzH)BNB$$a)OGuDu{;P2k>OZLCtui$r5}n>k5IbNSwzbJK8? zr}sI>?(PQv#hPBD)l%=P7ywlQnqq`h;orBP&^If>c&bqSqLR>uyo#XjJcKGqx{R0u+>C4yr#8>x4A{RqzbKZDHmIt zr&4*ca=Ji^$RQumnG?-XR{u(42dcTCY8AC^*dv^(bDXfe7snihK+I9Ze@$4iM%6|{ z^t(CvL_M5tU|)FEr>sP+XFx=}a{u$$!HvzoPQ<`tzJEHJZ-IJI_6}3jVTCf!_s;7= zx{Vew7`;!tBtY#29_Hng+=|hEd7K=|)qSxsyu`QpSknC@^!8yxde}1nS=s|wa5TpE zfheT!xpyab=2A@33b90iV0+udE9h1x;E*MKVvxNA4|f@zUY=Nlrzl{eHBFQ^$-ER&OBBOET-IY3|jq3&7IW4gxlWmuaUMh z#s&1sLtvEixn6nV)OOL7&BoqY*odLwuQui9-0WEkj37j{{)7A&C14@)y*$jc#9jO3 zV)^o3o6{n!_TioCS-rT3DWlnt`C{W$$usz4fLH&aqu2=4GU6^d5U>LWD1LMWbg{N!#sRkop-M zRwoDqqS7&0oadD?UPEidG*J1VegVssfYoXEUROj(lEVlWR`e1CoU$E>2#z)U%VXR3 zERei|8JkWHVT}{ixLJHqcd9+qL_A1w-`vJc6x>jzKWVPR+dBO{irrnTF9{TuC2Ja3 z8Q$Hn{xt^GInQl$-D9Ng4hO$YQ-^i)mm2`pKKGzKDBE`Nf#jhfWi72*;2SQq&Qe`* z1*6892Ju?F+yaHj4Mv(v$;>#kgFP^JCt=jDG+K{$Ag3nl9FPC}GYivtWBWdDw0~Xr z2k*jw4?l%+I_}&T8Jp86!BMl?Cd$VGDRYrrpzSqexIQk2NW8c#MfK1 zO?8kotPiP&B(b-baQ&R|pQ+#FCr3}AZ3DE#bivD#*Q7O(*(T>NhRHoUGXG>jFv+$D z^r|#CQa_>!Z>ni?h;B6BpI^@!WF>tva6_O+o~0(!6w_l*^ekCq=69_6(G;A5MHpW* z{4ApQro3Fo72_fiDl&<>g`b!~cI2BTn`(2$5;+&9PbN`8p_j>qc^LbT&j+nd6SR15 zAAPx_cGknrrNjurJtA~ttY%DE$EN4rpS|bGQJo(vRGGb>e@7cfLZw+{$^F-O7(Yot=Vj7_n9AQ?)`rese-Z#08?ZU+JQ4U-`xy#T^5k&GZn(h`-KID|7&V95H5jv)Och;K}$V~B>D-52?fW4>vl zj-)oJOjf}eYh^#Q8d5Lu6LkBR({xd22a_~+kZp$SOo%+h8AS}Jy96AptrgQ8+PzE} z5!pTdR#-!$CO9&Ok2^ejEwc;Zl69>zpZJ=Z(y5>7{Rsmt(6KZC51P9BgwUKZZDauz zd78{3OrJU~W~1q}okIfk0bYqOP2li{vbpM{i;WKSn7Nv*b!g5-%KO?6=09T%dAzYsG zbz#WvnQ>|8^|ymEjX0wAQ*K0$`>7_&r^bg?l0SFa!YjSzIQFV}0*Ws~o?q~<3n1`>=b3$S|`&t7PH zp3BELq?YtpPS^yUAeTIYFb6;eB0(ex2=t2wp~gJcj16g^?0w!J&&csGt|$T7At>W5 z^`QzkC`|S45vfVW?5bo>OgO-v_J*CFpdEQiu~7`{$y~+5hRa8~rS8zu;g|yCOGsMW(_McVsu*MTz};r4tth<7!n8x`8Qo{di+j zT1{SIOjueKI5o~_2m>faPSbqQZ61$pIDfFEXDkGv=#oz?HfluqSMm5DRQzQ!=iW0z z7F&L4j=x_>i-z%4dEdk={EEUAyYpZClFue`NPMZkpz9>QX0Cg0R9?{>CBT`9iDa?} zs5MNrlY^pHrl&0@q^t#$yRKhp9y}hJEy2y7RUbbUmVG8$U?4Ea6$1+3Gpk)kz@K1iJ^{(Pm?cnR?&2Hk7V1aauF8S-^YoY+oYe%q}q}CYH zP01?S>?&Ga(|z#ijTz+d2dX&qX|Zh9C%8d#yf!a7MV0J}(knMO%VP{c!37%HBHF%I zRb~WZTJ3$%(QHrJm28(I5KDQJz`?t3{7G$!tUFPaS;Yt%n~91!^d@IldF}-XQLGBg z_g2{U(|jk+r|vwqgzI#a;EWr9$yw9&7132n-d;=;439;7-q@w7{&poUULcTM4En|G zMSrH|Itj8V-d#$Eanql$(-j?edNyuycJ?Dk8bU!@qD=o0CrwrqX((nE$);ac$BB?S zr(T3IFcJ$K4>TAHlFRx^m?RFrcbksmAK>A-g6$4UQ(!t_>a6kHIyQ4nDouXh24>ZP zO_W`FeAtPO&d<-cmA!TY#|*hHW7Ry(pdyYLl~XVXthDi;-VLCUD&-7Nqw4Yp1tcrZ*xl{cv@??wo z5~Ek*uQ!)EqAh$}$p_Ml_%znY_7D({;Zyue$0xNGzGpds4}+Kd)l6l`TN}#zkz#%a z5&_lJo){R8G4K?sKtR<)m6%Uza%L(@5>QAjy>vKFk*TT}n?8RTvcFA#w!}K%*E2+t zGat4jTYr5`mWRa0))v!PjOcoi^29TvijD=)686iOkhlOu6@x=^#PHe0WtJc8h~BZ}?QCiOHrqG@wJAHShW*+alvk>YAQBi`LAUiADqc}9CUR|VwqBiS!pp1&20wTRW8~sV)SV8T z%D~1Rdj@QCIDehD4(o2_A+h4A{lz9gn(a?V__+6}L|^M?x}s755=VP|f{cis;Rkem zz?D+mUB}SBfeUWEGg6^UeCMH}b+IM2d#cmCzo7Wf>8SD|$MV6Pu7NAP?KQ>6+*|8g z3mhzRD}HN#WC-L1?#AgUWzWZcVMRHw&hc*bo*kb2=!-Uk9MO$h0;n$zp~vpL0R;uQ zzTx5-C)};Gn`}(#fb`JQc=}!KaxG$^rTO9`7frFjIgRi&xkPj1nbwP%jk(G6BNSuz z+|whOmX*476VJ0k2Xhc02=Eiv9XwuNB6T(%Rri^HGwh4TMWbJ8fYRdd$S#L-*Q=$E zZA*m)=k~O5vW6wGnbpL@(*u6<1fnk&I3I8|3Te>CUP#vn19ek0s;vbG@qAi}D+(-P z(x-sHD;|5{{BeDEJ9n|Ir9;=P%Y+x3OJfw7K0yICuTVQZ(S7EU zd{>t8PlPaOqV!e{#=miS;`Hax&UAaJIshOzG@3~>CZanz3MBvK;QQV9XB)R(##QB{ zBspq@sSw@=Gnv$t=M7%35?2*N0QQIt9IDXa>4e%5Q*p;N58W_UJL5C4S@c^>kQmxh zehqCmZPEwm>)QQMBP*~z`mRoT^NAd|DCYgL#>0OJZ2NHk>$DzvZ$y6v>$za=x`n#r zr?>PEQhdwBtqzyy@~KH_@-b)?@c9gfDjh|HIhw)Y*FkY)b7vCObD7&GyYjpu_SbaM74hMi4?42dgJI{^$z0kpR0N zWYy`P{Vif;5bZL2U`Vn}dOyw$o*evO+Xsm9JvhMCU+;>(^mEGTLIXJq1RW&^>T4n+ z132gjUIMHP4eEBieiKA2H;g`_*ny3rH34V79FRy)vFrX@-DUyfsyDe{AB^PH2Luhy z@D8jdb(i4BGN$S)iV02$XV`8<2a^JJfH@AfJEB%IM+^L&u#XGyizFWaa&NX-xqn?H z@QnghYCj0nuhvgTOx@cx07O4i_jmuD&CE3ITj0U|JIveQhCoEl6naUZs|WBH0xGQo zjUhdL&)6S>kTPm4|G4|4)a}8-w?V>IFH?eNINakyaqU;NM4wi@6xF#vb3pq6<}ol6 zq$3dPTI7lHJ6ig9dKiX8JtAu*Qd7`x0>mPZA+MTLz-jy0AY+q*ip)f^qtA1h*$2Ru zX@L~wR~j9!SMlU-qol{RNTt_2k*Il?=!ej5qlIsWgkP8lR~O_1i}H@~++e1V{8Z_T zkWq;%*O1!*PDGkX8cllH5v_|-1Lno7w(-wWHwA9FsHujA)+9Yw-I*^kZJJirzmnPD z6C_-0KPufrK+c6grIKBtKiusDAU6Dq7=y1hzeT8qaqwfj&Oxn+QC#Ga-0TiA84I+i zRFzxtF*gE4zQAoT9a0&q$FYUH{OU-&BYzs~Hdz1rCa@FDeVoRt_Z^n$$`^AIYi;>k zkn(9yWU`!8n?|^f^iG2h(#mW}wvTox7aO;jX+aRn67$$xxJ)e( ze#6Z$HfF1P=^3!8vQ^BcUvgv`)eekkrTdu+i05rq8In<$(>4<2g9Lzy1>>+b(A4|a zrM%?fO~a*tcCnaT`^_$saJ!GuqP4tC`Q~djT@NP~5RVeIEnM=rrE4R`r?oBrA`nOh z+-6M{kj-T&_Lp#Km{hQ|b+mSVb$kcCH}AOsJAQd@P*gv0{Jsx&@7A9w4TV6VI6dn3 zTkr3Tx;Q#FAQ_8Ol7bNZ4^O%64iaIm=`Q=bk7R&UMD)xKXC9(j`oy(ie<6Gqb(vk7 zw5!9w!^~Z$aA#C_BESZElWZ!5@afRb&)14$xgW>9;BT_)=7uOzXrrTDH>a<|&$>oJ zAxH@i+)l{Kj??$+K%3wx{d11q0b3u_`MxtTJ$GD^>8xI@lzPJ9I%`{2Mg^0=D`*Rj zC7p1{lHM_hk??6|@?C50#k(HwT())SNdpDJ=^*rgRl1LbAmfI%(R~97e zEaD!1k8l3pC6p!CewVrN$;uq#9lm)g&DH4doJC{C1IbsYIYFBo8 zjJHojfk5&=LCyW8yEJ)%=Yc4y=eCxQW%?70yNY=w^itgx?4_YJyx$Q-k6Y4(4dew4 z>Mb}MKY*E>iS4U@>6H+#r>f4ylpypDKL3cTRT?E`Xz;@E0x(rcJCanle7L&MMC%4K zIq{z_Hmx()L-?0iV4A7#gSweu!C-xb+eF#b%A+#j1pA_Ui*0h*uZt7Ai$hfmZt+Mw zGqzV7ZzEx~er5pL=5$r@xKW=JLf3J#ggNcE`$F>RzM-D}e!VPj-usoAj~B%Wopv3^rX|d1r#q{iQJpOzgv;-tSvU z=8Bys_;)KmJv~DDoxwFF46`n-rI%MIL`@Y{KAO4qIvKxwK8?$--cZ<*%=`>)zc^HR zb`c+i{P-Za`}8!ji%`wu^l%eh4YEw}zPvD23fHQiu=>;=>x~o|9mXC^?s#ii@@^%& zQH&nF$eGu_p4URUxOH}L@=*bf8tS!f6WqUOeT%s&fZD+^Td-6diwtt{eqEF5!KoE+ z&WaXT{Cs<9{vk|iy89D!arRPqp;33yt!d-g-FRIl)gwKp(e>T{B^KM=*M6`T`A=;Jz*;tDG)uj{L0WC98R)EG8m0a(q2j7 z8n|Ka;syt|>kSkkT)LWz=}G_0u;IGf4S+P?LNf=}NiI9rF9%R$w7Nb+7_{KGQWYwdm zeSouRtg`e3Ii1vSd0paNQ#Y1p3^QDLu0WM|OVcC)?YKmihAn z(;<5N&7)qM$KMmadmlz}ep3C*61v!Ag(ZvsI9OF8r@K;p-RSjOd#1iZWfQmQmhYW! z-fpLOgkG#(k-&MhG;@zR&`nh&oN$Q&q!F&Nr^&^E#II69fq`mLZs(OF*m?=r6y-pzRZOHBE1zh3M zJ|6GCxPSLtJmQq$in@<;RHyQ*>4*t6W(?inx9YYE%4UKuYs&hWxLpL{@ZGszY|Pvg zsEam3d9$n@m!{8?9pwG^7tQ0nt?FL~W0sGUunGd1Ofq_ki;Ms_( zh?x^zX7G3iLX!#9vK!k`U_X$eF}tRNjS7iSY3Pw|KPl_6^2YsQ=e}p&lpIPPKkNW~ z-NB-_XXlKKo-r|4y3>G(@0p^u7nY!?gIziUH1RIR-OcKITSO*uC2D4g_b2nKXPm8x z!q0q`a4h>&@2q2=r=6lqI)owpAKFisyy9=fw_K;RSQd4|^?K3v}< z72UeyZE9O`gy(g>@vAs)X=F@rBS)T#KdQ8WHIii_v|9*>5Ru2@emDh1zCMI$yMKBY zwnmv7S!m;wH>^ArlNzBN&sMpHNfGEnuItpsXMjh}?-4NjAyh_WwL5I+DOVa~m`XOh zy7sySaJGeS)we}QU<(Bb4(K)5$>>;!O zC{`+Q9%rm{ruLw5$)Tr`ea+3GZyPP@AfKa$z6e6PLgr%ZCIfH16TKh}Fu!ZVyvTg8 z_>A=U16sA{O)#skF7CtIA6gY}2GDoThmM9XJsL|3FOCWij2S(ND#q*{0O$F!#QkcB zOBHNny71fPtp52m^5Pp#wF{>I?256T-wF&#-rmm4N>Z$n%0&{$@BnY~R6~0ENM|x^ zw1=Y;>dO~JNz(`Rred&~uR+Q$Xgz`OM78-1>c!xXw!Ya%R>zpoGbhL*2wyG=pe@)znLE2D*AXBen#=3tA8kVGlwQlOc`hu z#7nj#c()cyYt!aK5$n&_BHzJ{-Q?FGf6KK7z;Df%Guf}ShjkHGJl2>P)|=IB zD9G6Kj&0tB0fhY7Bf~M3Ut9)DimDU2(33z;Ga07yUoMbTu8beA=t+%v`c2csy=R_W zN!;Y}0%>%D5vL&mN?Hsrik@;cf*KzgRzMlRELu?!f${S!qyG%bov67*Fxq%(Zj;y> zL8W^-D!PB;Dv|mRmc)KU8s(5Sk#hOAf1u3VNl%ddF3t2g1ob}RB|7&6KikqIh4MOI zUSdZ%xgQ?{x}2o_?!7~RN0L9$-5im(hQ8Q+oAkqylj-RE9w{maPSfnLVaGAfc}%si zF#L>4EcKA|$*a_B+>c~!m6}Kc?#@c{=m%7s6EGq;WLnDmt;|n<;j7o2CNtMCCwVXd zTdTd5CqgWbflK?G*D0mPYu5mClhwtlB;r~prRLJhl=t@GK^qHu7n4<=a_+}D6Nxdo z>F06k@CKJM+TA~vRAz4?al&j^M!rcldxwxlXZ|qzXps)NV}TLWE_{E03m4WEv*9#! zfztx=r`I_%UQ>T!beeZjh&|I$eggVl#ubsiTpFd(>0Ar1b7c(_*+U zEx%LqW0{h-i^51YA|`){mye3{;~A*w^k5R1O~|`)e7jI)da0}g&U7rM>Y1Ix-acb! zvF*0BERdyg`q_kfSCg4ukLK7Fn6IYqo7;nJ9$OcIeTsNmh~l-MBkgRoqw%#W)F}5z z6XkZwUhpFg7$AM}jQjV{or36%J8gePeyEczl1@(BZe6w(TdWvti z9N6ES)7BGGj%u9v5`J~GdZP=!oXjk$>$j^2#Wc3Jc7?~@d&kRZuNv{$8!Ou=eUVh% z%0pg}TB3<1ecS!}kr~upq-|`~Pd>|h zP(TxB3S|e|v^nEf^t%7i2yx~$da-ewQuV>^A80?NJ9$<0viaQi@~H6g%4M6?v6}=x zHZgYv79Td3^n3h>s%DF6qkOA7nxpHe_+9E4`nFG9R(Qgd%=#@>&l;9{8m@TX)TP7H zi1`*jg!-NIb<1)u9|1DE*WLE_rKXGG9~WzvWl9sJOq+qh9)8RRC(Ark-F`&u?5zgr zh4$hMse;L~6t9XNi-G3U8l|eJi3#2x!A{9U9VOa*12$<7;n>kTS&|i!J<61d7AE;A`|LygAYxs8 zB)J{@!0$bG?5cPBDjfcL$^bY_rYx+~O1p^GKYuc#C#D}cv|jo( zFF*S1?dd$6Of}q zb!fvf(`8DC4KsN#Up{ooE2=Dzz(rzXS?@=4toj%mSf)x|U8=x9@Ny2F`M`c7@AaFl zVJ=&E#{403x2#mxj(V9_U-x~8Lb{$H)Y$_fZU-%~myno?2_x~QCX?~-2e7YIK82NB4R1us)fY*v34V+q&T^|I$&B)GZa{Ydo%sbJ`Rza!)aul@xA#&lFl?0)M zdK;R9$=Be}Z(gpW^eaP&zhZyTJ(;`oIZDP}AH6vpvRj(wB~2OqruNL)yTteb_mqzs zs9!?0P!p6Mos?z}V7TZdLl=kBoHIJPJsRUz$1x~8M(-8d(%hbVUGBkR12cSO_rJiM zjhr`V4gO%G5E)rRVphrgUHkZqs&{K4&(%}rTr~D;rQ&$B@AIr*6_vXl;Cig2OEo+L zh~pX!0{914BYS~UV5pM@PpKS@W#CixT+vki!4 z6c?T;(Ar{LWhgW05+bl`(a<8~kC^VZnDVRcQX+@Ao|)^>82P&b!|5{T9ZGz3vImcU z_RAuizzgYH&dY+_JL|PBqqUCVia9zhn#xfhAmSxiCDiY78kBu&+5u*Bad^ml+Pc4~ zJX=pgcbfE8G(M_OEY*110SM9%NSwMp5ui63!o3NkbyuiS?^%h9g(Ws}j#6+m?D4&t zU3`7?)mV{^b@$QUHe(z=D@EyO9G!bmie3GdD0>&H}}#z+TmN#n14P5KdREZdluc*6y~ zjsaH+UIO#}Tamo({8JwbE?(=abX<*0ob{CG88yu$=>n;V^x%~?FsI3H+F+RB+pnnM z_wpkJM7CRm)GjHppLDK&L(2lcKMSuhM2VWR-TZ%CeRW(^@6$F7(t;8KOGpVwN-wR1 zqy;LaG!n9OcY`b;ol2=RNO$fcB_Q4G(z#16`5yc|-{13n-Vc8X=f3BfnQLb5b3A8; zP~wKi*Rmkz7;k562JJOLg!(U=`-O0zGW zEptES^3d1OkxouqxFQ^L$_~OBAM`&wJI&bo4o%vm{pP8G5=3N7!kFJ^efsm^l{Twh z-z21iQ?!3nT`jnXCm1Y&UBfEZ_6)Zl{9srl@X1+ofZ(@3q>B6uhXy8P?VcC1{DXc! z;NjE}^g+;c*-6h+ci{?uXb{{RoKWA$nZ^+oUFe$v>A%Ktd^0Aqq0(yzxAEM1&7hw> zbj!D6X`EH-co7w6G|jFq{5_VMU=@;y;{??l!h&f(WnZN0PuzUvt628)j-y?#yRnIr zgVGS}N!Z@53D=-N*WTk0j9#sqxR~qw^#2Mb@-fJ?Pj#2VxCaU!iPBk6(iUHv9nyXy zGcqgN<3W~&xSd~LI5i#3s9&ZnTwNdw-)48;&K46b4U2dQA8P{^E}h}`T$fr--oa(} z*s)|qYK$7MJ{7$+5!}Q(aVDeNi0IlwkPbjU4z@OIU9?BYSQRy!=c!h_-b=$i47dz<3nN( zVtEZy++GQTby9708CsztKYhJN4{sYzKtEb^Xs}tjzmWs&P6R_oPqA)wvn0y4EG}O8 zUO~|U#Eg2MgrAS6Mb^E$6mOK`cOlGDEdA-k;BLJTh`7X;!)#l?EP6I!!lZo?R(e|F zGqBrq)K}@nxh72Pxt@Bf5qdTqZ_{cO;8V7rl>9F1;Cas}PwTeMN4F4s zbu8Y%tEegW%<~FF$7qJg=Kjdq8RpY!mTd7Oe-MtV{)C?IqBY1d4WY;gGyA4BDeRy& z3E_jeQM*VdO7>XpMBA!jN=H|xd=3Piincw)2V36{rxG`NGKWD;Ki|$1y*u+r(tcf6 zm}dGFV{p@qfcZ-4`*?zBS|6Q;9-A+%(Gj-IT0EemSfXeV!WQ1~GRV`w$%FB?Q}IT% zc&wHOT06R8oF}CXGO1%wGGNb6*b-tN5-l9~v%rKghN0mB^@8Dxngt$Y5lx4}`8Nu5 zsm4UdN%9EZly9OtDTb1c*89Y{u^mLuvYX!a)jBwyWSU$O^{~rS;Nx;cI3r_mMe#h-ngNt#Jk{ zm!)Ey-}UilemsxjppD*)F-+FnJlRv4 z9-0S#ntOhR$Oar&q@-sk$!5l$G)Qg3OgF9?L?qY`lX3 zV(P9WLBf*g9JgsEvVvkotOJ^hgVYy}l?407LJa0P4>>%*gTrQGBr>i%g>7U-7}+G* z!=$R!Pj|mLTYC+-NYiM?5y5UDU(~vJCn~Nu?h}i@D$BQ6(S6w$lAlqM&)tFOE0DH) zu?a)90DJtav5?|GQtX3% z;qMG#hO7kDN&`9>Sm6}kXu&;axYa~mIx=y0u>BKr!kzd1SwUR&eTF@v`QJ&CuQ$-A ztr`p-ocTpX@-0#s2j?AwAr8SlZUpF8aak;v%^8p4)!;(kE-nepixX1#9NC<)k%gO^ z@)Guu+cR4*=nmm*863gyMLiKdybQUr`;DdZNME13bbtI)@W_MbixQ0(+a)L*p{{+( z?SD7K!$4|;7ZbT*tmPYubNmC!Zi^}&u-2h`vYp?Jc!;Gvv-)D}NeK=qHcErk1zR&l zX{W)1F&ygN=3kAIC{FcK{hWzEADwC3qtf%Ve7Uf>0n?t--@PkQAC z7wo#VR~ddbfh3hxd<&yps1ouMi43tkFzs3Wrjfh-JJxXX|}v`p3=+d>xTnhq^8 z=XRAxCku>|YfvaSS33_~M=i`5F@aAlnpyXRtFPLDQH6J$A^pI)2Z0I~qUr-aK{_la z;~_>%oXaxDW!tnh99`UF>LeI=*t$EU%dFzygFfi-1d~sxN5L?~J_!Fj&;;o-+G=7! zye^ShaQ~;<*?G#A@Fmww@a`SLIE&db2KztT=Yfv8FEP(6Z19hxo;XnsBFdX}2J*zet9IFj z+oVR!YZdm-M`KJH^sa_qIHf*M*7W5uQD z*QAMkXrvWsneUYf8(==l+^Ub*#>st-&-mrkVzqj-#fg&2h)Yqbx@%g^#ef~_HsP;0 z_gUJh&z~fF?%16mqwX(Tpv_+$unPR>u}&ZN)?oI&l&}?$0VPv{?fyKzhl_#qVF5iFOd=H-t zlc>55aT^~c(aY^dAM`(ylZ>oDp9bVcCfv;Ah+2cQ{V1l95U=t_HzGQrt*sb{abYA zhW%>V19(KKw)s37W}ZeW<@`-i6lSCX0PQcpQ)EMtc58XxClJ;!F4ISSTepv8$l*ih z+lWieQE_C7Jtj(cTrIjCrRhO7Z+CpO_Z1J>h3NUs*DA~`$Ic?a0#5HKEumOM| ze6oCv<8~rzSry|dbDsGibW3h#Q9eXFSQ*PKpFFJpCKa73IT%{=Aj~TnvU*o$Tob+c z&&Gm)vPXo>x9t_GjZ&fCVqaZ!hmctablE^~k+27R8ov0L$)BYiA%!vLd^0W0nkKGG z*x(j1f0*S70z&fQWipJH?T8+0rrSn2>Z%ZUM-*$Wh`NYczNngpjAEa(Y$qwNdB!tf zClu{|Jq2n*(4Ztxb!y@uz{m6g#sv*asd&hu1R@{WW^=q?9|}S=wWI|pCIYZkf2@xO z*{UB>p9BjHT|51f(PB0rfP}d0RE?~yLA)M=pmwnD$7WYxP;!1)lBY*T+?N+-_A}er zE{!F8O<(5&MpjNKW2D-Q|f5`n5#*6v>7c}KKBl!GBnO$Dvpvc;Q&H? zDE3uS3Ew)uQq`kG)Ym@QYf+l>r^#l8x$;Q;w*|J8vBpo!%n&`uEvZ%UU$41@Zow%S zZm)Mewz~4vay|22(px&f$3>6caZaIvo(B+C^dmi*iu1E7iyc~1qFg`UozdF|;@A*y znj+4D}MLt<>P zLqnZeiB!-nw7bxkREh6)GlPZby8BNZM4(~#`}`7#To={(+nHh+u-jf6Xo>V1?O)DE zM;bve>>_`qb+pE3U5N}=g4Ahy38+%DRrjPOn7o@D2+v%H3+}wUiLDZ?Wy7AFk(WJD zyP=lXkLb?3mK7K-k-&GEf?Q{JN8kV*AZ=YdSnjO0~xpC^NrEM1| zUQBUYNP!2RLiJzSS3KB)iCTTnhTV@c4?V{}CW!7zP7>yjNr4G@S=;E2`xw9d-Li=V z#XXo@r1S(+CyV@1(9WoyHta+^74Q_Y_*CWF^l?B60LSFe6cDaapX=Vy7;Vheh%HHk zEKb@(Iphh?XR|fh$`ZsTn4Yb;-8k?u`NvKEgbrJnGo@Xi^~p-*nqrN%y4Wg za5n3TE_7IdekDb|VmpkhkrI)w>C6$$0p7lsY zs7cHdI3^J_XKJt=j-GR0L%^>S2+Yb! z6biLoL~u3I+gHWT_X`d+@4^dv5u{XJ?z02NT}QBXD= zzOkjtew{a4?HDMEiJcAgH~G`Uhd$C;6D+C~jd-WZUWCibzN5!}zwjDbiau}rYPAQs z!@>o#>dn3h&@R(@yDAFFh=5Ao(mq-nw7e`6NIQ56<{}3bNhzMGN;A8UayL_}%E5Iv zxOZDTL7?V)r1#84b^HY5`?I>`RQ%3&$0KWyES0@B&+0!RB{&q=2O9Go2O+&1c?7N> zr|#YTO)jDo&>LWNOtkYvpr^qde3t_HcBf)efvxiX&0)a4JKCw!b%+$%uzxW3j)~l* z)Y+AAAOdzCaG}G$o6@QzFWaiE+EQoQ;*$>qF0OyZngVrf`u5kV=Wjly-QcyP{%&7g zIkB|@k&XG`k6E?=LGvH2T3Cp_wKEF+Q^oz|D%ZOQ7GEJAS-iab`!cS*PZLN}0!n*>E< z(l6tJ{|9;0{=rd~{1quUYk_K2oH03|kBI2J2N&&>nd+bu;O$iy>+J%&&;$xtPdF)( z*^Kg_^v_3Wd^nfxg)fk2a(b(rmLuONyWwh0Lih>m8STAi5F&$m2NLO>M&<`bw$rN4kk8_XX0gXMjSsJbc_gAUd1-+fRe{-LzmY- zm*JM&+|iJ}_;7nwH+*|l$bSHq^EhP$a7CgwC32z8dvK=PYdETc9Aw$Om*gQAfDel9 z8YD$wg9HJ(i(k7()DI1jAQ!R&V0&lmf$mMraDi*fy$eH-_=v=O%F(Upa-AjSt&r+= z3;f+OBi7k`J=MniMVw@LmZiu?4+7t}=T-F2q}&kzTBy=g&UGkUh1u*f*DpUhle|9w zzt>ljH+(X)-BJmb%d#{Zu(Zemy71&B6FL&c)F=3MN4k7Vly8A)c<6^|(X;Hmg%(JI zK{$HF!~4Qe7(4BUS6fY0;sM)HFp8I-4tHpq0Bv-ovbT7uW1 z4{QZn(nEhaqv{yfW9>|YX&K@a|Ai{z(9qz_DAGs23Iyd^rwQ5&{F=9-8VC!sk-7ZZ zGPskGRH{r~WKA3xmAhAY^oGmKnlJQDIPo^eD#}0<0l~Q{wykIY7lj*e?rXSuNvJX2 zFMbBj$#Bbtld?iZ@E@q%IODP`oM6HI@SwQoAKVVs z7h~w)4<%N2I{>2!J&L5DlY1k{;$~2p9kyL?TL)KuzFB!9zx3Rl>UaMKks{A)+dGT> zj?ew{J|wW4t#4?coE6J^e~XiB@YoW)-$*a|b!QwlsYLPeE z0$nq>GxFd%t_m_awuhMRmbGS8m@s`<_K~DJ)h=}##Kt5TzJ7=++Ev=^A2^6B>COn| z|MS(O!@xNl0_=wpa}$XFWYr~KYN9&3(2i(p(Z`ZJ$UAk>E$$GaiZ`mbBD5tK`|P5X z(&!L~nJ>1gg$P2?qJvxdF>lmCqDuYPeFN(kHhV;#Hd{989xN^fdD z7GuDSldup1+^{D{<|VWQnSxk1?r!b96Zw`@yeP9#HA~3yF*z6;e^|gpk5#Qss&~=i@YUcv1icpMB6t%5kK#%-?O8VQo#j5yFB*vu6%Z_#Ask>XPofffoVpJ%^Fi;ifubqU6wT+zPa+lg3^;iEO(7PsEHCv0VLVqsB z`07tEhg$M)Vi*(UJi~6z-O}(rMMtFDp zVXQ$(_nt47znd4Lwyn~c!KcI52F0&FGQzxW z>->HO%HB+~u%*qR2LvlkU}IV+L{4GY zitE&9Y4hvtjLkEdoSge$`^_|a3%`=(5n8zhZnCh)oh&j5$on`Ty{EgwCrrtNNaRYv zRZPXrwvWT$tkQUy8wdT4^5n2bxkD0%qz$>pAv&e|zaZi#+kC$GAE@Ao6x{1X&@F{$ zz@YHYuqmiNV8?HV8`#j3NP!Eh*=w^EBfA)NBYPfZAVdKhxt+%c4GvCU`ZLDVD+5e} ztkb_V> z{Y?g3(UQFGtrG%#rl;l#J)&*xu!v=k5s}ZjWMuJddMID&Dz8Ah22*Kg9<|}R_RlsH zg1?+_savB7?YMB?BTU4XpAWMq01|}WE6Yufsk{E(fU-Y^h*-mR*#lj*mJZ{BM}(y3 zagJDXa-vX(U|1P>3_jGYo25AY%NAM4DN2^&?EF93?ZuxViQ{%6<5zjv*MTr0Z&A7o z*Xcol{xIoU#->2i(uBiEm*7~XyXH*r14ArFn>~sP1mm%_nx*oQe_(y&1vZEfh)`*^ z{nN`cy0zf?pm_okaGc8-O4h2Hy#W6IZpz4|}b7K)EX z`Qz+M+z=TMT~z2(^I(kH@}~i`O3{&45)3fTF#m@6 z59Tw>`VdB5i__Tf5wr%&gBgd|z8?|Q`*bvV=UchgA6shg^6CDRC{xGU0_bE>=Z4vL z>%N^so~y+INrnyf?g~0Nj7N<4()gcrNMZxY2WliJulZAgVBwOXf|f;ve*)y_@ta%m znh#qu%5NDw3il4E!~79?Iy|t_Ls=v9Wm(y}#}7|bEK;<^{YC1|_owp(U@)~qc36C| zhn?ZP`y#4_mnHJWuX{nA7r(XtRseopFx~G0H;E=@fNm38xqPvHZCUn;ms{!LWi3pC zp68p)AB~PTn3m!uzV7rN$nVy9orhZT$k(EiN3ik5S5Qa7YU8TX=TSLZ%q;R~>=56r z#Gd-6T$QR2CG}V(%csUEiz|ha!pk-dy|5w0tl=>}5g#T)w%!+T#UIs_Ym9$ z1!akw7jV3Hdivv=X8)4##q;kG#E%9w#VRktliQvI!S8%y&o27ZQTL|Igw$xpR3Y)q z<~C>AovGI%qM%>1>@_lmy_%&fHlNjsEW1S%hIQ(TQwvr8jC=IpLfuenvo2NGK3js} zMtWvTo^4CR_IY83L$)|T@EVTuGnU-Ts3ydcWOQmq>J|G157+Ts9h}$V#Br{;i*rnK*&ld%5f_iX&+2hPS0g=W zs6@uCpWmsl4WfAJNWRsQ^E#qeHQkX|g5Cm)M|imW=Y@6U`(1`lxD~WyY_C`#vJ(s; zorsm5#Tpq_Xqb75*4&Ww%Vp6(=gnM)k`@Di(skDi6GDF43}mG5H%7Ac@)g3qzkpro6Ey z^_}5eK|MJP!B2I}vi*8i%JmY%JNMGWt07)}lVRA{Vtz5XYB|+^2=Q`U60}zB(t>J3 zFeP|tdERyvwzBOGf~zrl%$~2)#s&dKNW8Or@=gy6Ey*~_saEzHmStb;>+VF~W6FO0 z#7;dJWmhC)waaaKUTJdNv*DB)=f3dNSaL!^VSoW7-ga)#k8W#L6S&i8*tzwRS z3-iJ)Ect=MsE0^qz5CQQ!^NWq%NZeCJ_o10LkR|RI@D^-^+cu@f5?J!dJU zT?IPwPSw9kNi@2aAoi8)Zb8bUd5nP9^;q7^R!7IXIn@iD+G)cP&T#`)C9V}0iS|4d z0GG)I>TN7^3O#k%sLRLrCX?#}CdM&0T(m9t30RKO z6gSnD-zRo{bcZB5X>;W~AlUb8>iNW-_gKkFJahvIFSO4t)_H&0xP?`(?L02Bmv1NY z@K*oA!#W0u?4vi$KS_C%U}j+RoD@{qsSyanSP!nVPcU8}*Ln@eZjJHrz1B`HBKaVa z*UQrc1o zAsLI?VoK6R)FB>5S9d(`NsurbtKG|*xS<7!&Bd|OOj4`%0G|+U8nUv;QQ9u zqs}1uYRIcUbJucSYX_TRrQHymC4wL!F(Y=Z7w)&%o8+$|7^1I3+YDt=%-`)U%UHc% z|C-MKbWy=Qo!yK&bmTc*14Bc){h9W_@*7uMwc|KGY1dM}jH(8dW=vig@-g$4Dh!!o zcJHB_Q}Wtj2o}bqF{H95Y#nh1B0pnVy2p%3s}m!mEt1 z<8-V9gR&RG<&9KkLIXC^=Y)jtW*WZaJO(j;SfncLDHVb3XAmoknK+gQs5*0i!hFzr zT-F!CeaNzr7el&#nBJ&os6Qniw#rJZ{v==>Kg^hDh#QMO^wd(Qx;f?Y9Wg5+(~|@-a*=af&m?!EW^opqR1Dc z0mM+HyLTi9IuV|n6XwM6hOGIHj*)D82cPNoClk>2k)ob@QtWciEIPRb? z&p+z~9_nP0vx7@L5o}O#7@WVTYvjaH-2pAsP%ni`Epk{Wm7 zTcp@MtwzrbO3YWKNd^hh`By{S4T}6>q8l3@yWKOgzH8MS^CK4vBkos)*bQ1~O@Xr> zs#=7+#0WvTQ^BPVqMMUfP_HTjbs4Q?nLf88(#l(P>)j0;{sS5SJkg6?JXILasCOrWo2GnPXtx6PwzxH>>QvZ09+ji;%OD^ttf7Tx$m^lzlcn26THh?XGK~K zjao|zm93Zt&!so7>xyOwX7s5-q{q zz5^zo2O{iKg(MoDPfuvGM@zQKsnCamQN|lk|$cgH8k*Myx0V0 zt)_|(f8>o;GlMzVR{vrXCvN#b2d?Rr=H zYE7Cq3ihO0pa(HK*@z3}1-d=pNsx4mhqF&riKPpXBG*bm70=};TisD7!b*rG zd?bWJM050gP^@)>HSQ{eL79Ysg~S|GD`I7iGa8xsOd;lNP|&REYz1y3<=5LMjsyp% z?75O}^7|dpr|eO%Dqi*nh2`8j*)tw6&;n&HF-UJD3xsDS{T6uZjvQ30zKHtspQJue zp=ok$0|yX8epiwFti4UkT_b*2Tm>ygMqR@VS`;yl3BHb28E&tGQOe zQ=PXrwtpkM^*RuWI~yXIapdgGdVEj06@Z&MSi|Ct(dqPcSmX?*mIEm+ZW0drNxxVG z!gM>O=XJnCq@lEVW;aTpxnotR5uTl14D-lT6{W(#_%=?}&B>sD`bzM-%Ssv5f|a}@ zz*Hm`YMy@GoCL)Cb`z)Sybb77lrGKu=90@IlpX*&`jW$ zsC^y&>@mR;Dz2iV5b(k=gR!-PxbZHtLK27SAaTU6dbQ7H;!zoDu&iF1>L0?NdM{pI15bbP1Z~}OEJbQn5HsH7cib5R};m$ zJ)poybLw8c+M|)KHle_T)|j-K1vK^DQm~0Yu*3@JXUCR4261h<@mfTm=TU0Pfo1q7?eY7reERzGM-~*0 z85*BTSk^y(%V-l0&}X%@AdW9mT)sKv96suO{#y1}b>HRUG3-a+jUw1vNd$m1N}#GZ zM%)-|pWm-(!^6Py?ko#H90HMeYul5UjkeggPGwfgRYUD~!qR{>d0FCirk=S53wkCK+2wV9lcjbQ5p_K}v}qi&U?9ubWCviEKvMf&*Z zZ$QC3&ZOO7&_Esc+xED8disG|KfdKJ_hHv6miFCY*9+-dnPq?atx}W~g`u)USEvwV zh&G&+BEjMuJE`)d?NqhTeI8ToEB1OYGH#W-1Bsf@5eY#;x@0j-h)NMTDvJ8f80+Y} zQ;Jvn`^~%*8NR#}FfU+2)j@26%118dPH`I=I1IKGDOn&@6cjh_UGqJ$0s7u!&ZgW=1%c$yOgQW>nynv|khmp6XuIP~^*&@mkb z^b{A5IBrL;ro0y+Ahv&Eko-_Ji&*W3Zj{sy+KGFjoVTZ5tfsxe2a?nf{!b|JL7fiZ zr3cU;QzjY;k0z9Si_PVM8K6STazeI?BkQVjG9s|t^l6o%KAidLvV?lMiJuxK$pSQP zRM2|%*pu><5x0JI$G|NtRlx>*$68w|0@v|ghr?SoXc4Yt2(?YeaCe|EN&dS~x5C3S z@3iADzYsXtLVl&Tbf4RV37zgAoA-}4{mTA9kd(m}O`J!lBd4bOyIdq)q;f=h@%@b> zXxOzw*l!#W9TDo>1n-%DC!0I*V+nG1=M7EG_A;11-k%sL#FvAK?#>; zQ-5&7dw9_iopgcP@qv>N%g1X@w4OOaf&_VOmjz1yG=xBnis7M^H7rWyL0Y!6$6UD# zda?`Si`4nU#GB?_Dxb&l6s>+JckpO@#`d_7l?Nf^J7pknM7Ynr^YBQSfd_bK%E2H5 zRm<%Zi>U>Q?rmritax+)k-sG2^=;<7M^~i@e zS9;ICiYQE1!NdpR?@M&p4P+Gr${R`3={j68c_O`Ks!`|ORdNrwXgD5 z`-z>BPn_f`W zuNJ&0BmT1DSt+DQ9}D9(zBS3@Qzv2f?A8rwdd9D81+q@-kQHOsQ;mM(Jr$x@2s#ax z^1P|#`K{PhMV7!zDjMZ%g;=qCmInqJ?^4(_iSHAoJW6sf)lj7)vQ|`0wnpdI)D36f zSFe=u63I1fmRj?OG8Y&s)-AGeGECE} z=|t&rm@5;nUY}6XrUCD#HODjSeu5fCLNI?jB9RqC>&JRu9h7;(6^0F^25wOshxF%2 z8158F;SlurC$(aufgUU;@TeJt+b5?cH^J>~CAfG1V~qN{Z;eO%r|=(k4*PYFpx5oj zaQIbcA{kiAo$C^J@sk*ijMP`G-?&;N{CCggX z{hWuq5on>R_4r;aN}}~sXls09;raFD)`B0JmJO^G40~^!oA1O%IA7e9>uC-%Cn%`; zkISN6b+gsWIN}MPC<#rQk=HI>$P~yIBtWu{$t|o zP^V^YnIWgn>IF6JQ6GYyl&hL4gu2U}meop+-)pF4dgNC(=cu#Ns#Y>2*v;U%qAt}E zgslVd81S{IQC&^$3&-gMMHxx8Y#~7c^8+TwBhn+2hO+=!=*b^E1VhC~{DtfN({GL& zC8UlL{M$di|Jz)e;xk>4A;bQT&v#xB^nBwScf2rS!VxvR3{#Gwm2M#GJ{#O2eC8+0 zRX~9DherAbLigT@&;Nvas`Ewwz5;-N$91K`xTZT1Z zUl+o>l%}MM3-#;jSEd9+V_%#nYZPog-%ABKr;rO&#RfoT;B*m2 zAWD*DFB}#m1tVmn{U{4x)}k^NfVeWsG*dXMy9q+uC0L9-Zug zL9_R)ypD|ao{!)T#eb?_d+(d>jl^<%-_JNUPA##a=i*X%7XAJ&?`}a6s9h&-A2RDB z@4}yD0=TB`P#Vt*t2NLy=lgF7m+c0Yly;}YSjZjd;0GB615n~K53~3(i>+)j=wJ4M zUQ;KI4EKuRC0ov-L2l((e8M9}JBev*{rwd~w z92Nel>ifG%U5!gZh34t3BAJ6ZNAh$mXk&G5*Ytqw2Ra)Gx-vMb4H>;}Uf*d98 z75h?bRQI8*g=q%AUEpT~fVnSeoq!i;fba#}*fe@+M)qA#!ve}g(DQ@SeU=znNS#wP z)Fk)H7<;o5v@dCuh}hh;I-3K3^L}8dlvFC1?ez11SKApXZSviLDG~J44DO=p@Il%W zMRoP(fA~`IDQVkL%MDhoO@1l_Xzu+rNcPm`U)`4=;Q7m%GS&f$r%4v&!h*+#hmo*{ z`|h5@b}u_TYHX+0a9KhT=jV5!$psJFA^$K({7ZHT>yb}(K*i72J(N458+h_EHDr8Q z^!7`~4>KXgGLI%wG`$MRe`(?;c2FgnM;hIn>KE0ti|Wjj@iT~qog_fLf12dHt?l?U zp)1+KeW@sHJooULIqR){*CT@e6=q+|+Kp%&I(&s3!fZA5CVDrEK>OpNBb%>RfT_{LzPigIVrjHbb``z3N=ysln0!i>?`>{j83Lq`Ma z_(MRuKzY#TT0O4+ii`Ehe617-)8DupW`izRpSWKIg~mThuwQ;XH=KUbOczTCblnYr zMF2Gt$a{rF{5R+xx`>I5Bg!!9;Fk>ao2zwa3M%mg?mb3xjtW`EET5JI59`%p{$Xoq zWf=(oOoHuW1LO*)b%m|@&kkzzf-qD4o)Ihr@m#?utL!r$TjV>*zs1R&5t6T zF~eP_A>tCl}~2brvNwu#XSp|*rt{*Gdg83W_J6vBxFUP0S|mh z{2!%f+GRHYGu6e;lcv@BmKl9cQ}rzwLwra*`(CHO#NqcaTii`rGL8_qG5K2n?Iq9i z$^auddK#xyHqPi@MGm^5@Eo;Eu&&s&gZX*kGt#G{EhPWFT>3ot=JHCZ^rm|b+1{zG z_m1A}CmU+$wNgrCu}Bo^nIIex zKH6_(B_rK9{{K<315s0@eSGgZm|u6rvai<+403zEs*Q=N8*c49tDfE1>|K$VhyT6! zCi2V6y3KBY^c=g6oAvctJ|}?#)wZQ@08z2Hv59ws7bt2#eSfQU2yCh)#jrU)TrxSZ z6B(rWUy0=(ANJmGYGYehCh$W3UE@FqqxHWw03b|H>*25UaZ36&H0%wsa{kwWldv|*l2^7H<4C0;@-W*~W&H!oXOGa> z|HhHzrtg1I_aKIuG_^!a{~`U#gdgL-H;A1xd_;y0BC#kMt?|}tmMr)`k{i#3ZE27k zF;%rvW5j1g{|9c8+uTPg;BU+j+wW<~vrN#{tLsVW^gFP)NB;JB_Cb`wMw7oB+b3BP zaE#ePPzLRqb2&n0b_73Cz7l*$;8hAr)%=C*i3*ifII4*mj*{$qO?>Ii8e;BNZTMhn z?;#bhqAvXQTjc1;ldcbzchJ(FL_kZte>9ym*Rh78Q)(+ zj`px1o&LYedfa~wR{!#>sBAdePmRIPbYY!S5LJwc`Jds>G0Sd`yL7}^1ci`w9yYgTeT00{g3=bgcUO` zF3XGYlCp){Y;LQ7e5q#_f{(lPvp*eul?{#vBkVOoGSoK@>g6~0g);v2yx{OTox!u*U z^SFK>;@vpp0rFYR`q^BI#S=oHo59~<;5R0ZMK2AX@yj;n?k&c~kg#gIDtH;qmK=+| zm#0`lSX>}$rB;9C*+VJc_qnArG~sLKru06R7= zZpm5@1XQ1DoV_j}!HrZSHK0YuuDetF%=X>0db~IVywzU^KH#o8c`jKmgwLLv`! zZ|~pS%*-6(!Xo2i{LME${+VK|^)owrSoYn!#hSc}f#mb^+6T~+6YXyjFI~LvJA0*; zd~MNZL6+>JTCCdrF8wfDNw!7$o=iZ`Co55|=^9$2>oYAs0VLhTiJ;(b9^IK{3OnO`_O1q_G$ zuO9m!_+DCh7e+I(hLI3s2B%lb0)7E0NqiVKMrAG1Dg0qxJTbSMFh9XMDdu^M>HP8cr3-Kb9y6imd8RJ&vq-Du#VZ+|5aygNgN%Qo7#4Kqi zEL$Y8WXVq@rU^+&n|^Tj-dScc#G$1|XIAef1%q=w-rGj-fMo}f;}2e`UQ9dAl_j#C zh%)bKA4=^wYx~J9YH1|?8lFo?tCAiq#`*NW&X`~$hpKcyUnB4Fb0d?&p@oWCX`Tr_ z1{-^VefUE@P1(xrTra$G2A{cv{R;W6oxw*g``g>#WNrARbbsLdhQ<0>{fiw7ZJR-m z`GV_jZh*F>aM*RwO&skk=c_(bfi0mGTX<w@R3wzHr34ft1nE)`X^@UxKw5GENhuKpC8Zlg zVnJf*?p->U*dX6s{J!_z-}l~gW_}ZAX3n{1qPee#zqDvZe$Qti`JM67?;TgKqu+K9 zuO4QJm(|WOe;pDdsF*`gQ6ibSA7@{H^}$%$Ip*j#OBjd?b@xpplRh3vqITd+V^~FY ztM4J#pNjIQ&h@!cpY~I2@;yDyt3JATmV05?{5ik$l7jv!tgQ$2{p{WPKCO@qj4JDo zn*rR3-7zk|5V=WAPDkysm7($KwwrYVjHgwN%QP8kEW@}|2l*j2Bg&iAy7d4wdd2$- z4_4MR$LRB&%;NCvZWXmUnCKWwc`Oqks8z~lCVF}=OLOwM1ow0S@e_J>nD0r5pG`hY zGNc2e1_tLtk(#x+%kAmTz&T9mE8uOrohubJP-hlzy}u(f7QL2W@Vhy}McMrzKT!dJ z-N`Gq(Y(9{r>PC@xX1FWJ3ff=(N`c1#R+QKjiiQ}&5E$U+TEBJfl|Z#4jbw_Dv9bl ze+Kvk;~cOs;bgqn!2b=^Po?l#Rke<+i#-%{7iA|hZdV2?_^|)QViyf%#lC*qzinH4 zqY^uPb7}rz0Q6zn&&|SIwJVtmzHLXB}k8$1V{&y2aoG-*F?VFH=g7!nV|YVBU?GW zKX-n0GXUb*TBQ6Ju;iaP>%IKzt$E$Mj?~-b&TZDP{a@qy59~}jwfoT>M>X7>x{kg{ zN`F`;4i28-JH1*@@A^*{;5y6;W7O#HD!N z*}5s;^cBLmh4e+<*-T}X&x+aq{Klcy(5#4y7kpk<1Uc6fDL_HBQkn}lBe-lo@84`D zCdiKwbbf)bP^RpJ=c`+LF3i;PJ2Ez1->%beD|Z^9kR4Rz<2H}TtgP17kdu3*=x%fK zI;(Vk)6b8KQPBR!we?9D(;;JTD;FRf%ceOY`xh%PE?%9gf;_)5s>E)k#Gf7xG~zLQ z6_Snxt6`j7y{1t$eswEe&BYB6{n$_Wcavs@_;u^k(`;MliX9{EB!qVulxnE|&)ZQ< z8OQ6&cj~B=R$3576O+o^;WNGE;?^(#cBFvuIC*T*YalMoN$zLw4L)^Z(etz_am%d> z+qSI_uR>9^PI$!?26o9%z^8TO+Q~tW1CuXbwY&jPzP&!*%1X8$M*WYId%P zg_YEEvcp!BMQ}KMpI;SrCA*8MgC^C<8IT_hyT{IqQdnS*P#Lt6T+~O$-%F41q{)hk zxQb-{WCe0mH?fG203xXOMPT5PmLMQldvAG<2^KaP@4%DvDy*AorC{gpRb5%Q&>UPl z>#zX4P5XGO@oW+!WKzj1j@9(e8$yW6risP$aP4qsX&Ciwoo{9|#w>O+%2MB(j0b)f zn^(S~pvuNBKF7>n)|INK?=CWF9q4=cZrPSDw^Tc7|Bh&iU!v;7c=5wAE2j6J#9-w~ z9qoi}ox>3o$dBf?+fdtzS{WDbDx3u5j1ZL&jEYTQ*SXNME8D?mlJ;~c z=8T1G)TtFtohqX1z5(7AgZkMyPohRj$`YL+b z+erl)s#24Ku1K-!`!k}BNluWeU5OZ1;@|Lv+0zxeNs=qqiqpp9B#le0|U{?AYb~xNXx`G*Y=Kj=v7c&ziC{+$$OQ3 z&S-z>5?yI8?4@YPNn#H1PA8C~{6ia>{#(|U1@Wr$&R&u4Z>HbvU@*pw{ha?it>Exq z=B2)@A<56Ce0=@p^rx5=zJ%-EWlGXbK@rI5FYF?AOGqBqd3O(uwBG#I4nh~*UFQ$w zI1<1)0PkbY^O-y~IK%3;s?zdw7Stbpi1fpH`v_M^-rD0R)P-MUN@79&Q{F`4lgh8> z{WKRFjZ@_PuCRoKj^D?drVh=2jun)Q0q%hVQ@p2j_dTJ!0Du2{L=B`8eDYf5n1)VM zPP@=E#(USuACCn^`*b#^P`f9Z}8yt)p22CSTb&d9-G z`^b$EF;zWk6yhT_8_=DD&@r}Jaf__8IontE^?ZaIbi%-q4$i+wx+lDNrFZ|RY%FH| zf5-Z320%b|G1hZ#Ov1*LktB=$|Ek|DYJ}Z_jHUE-NFOqdrFANQVv$3zp+3uI0 zFkQ9l=qq@7_ON%}CLUT(hbC%ZWtD(EGRVnfC zI~LflnOXYh*9m>QfV46QYJ&`Lv<3wPqz$9{9OLrr2gUbR)Sk#S8IJ=obnDf&0zT7@ zuSYjj{%Vxn);F>Zoip6k5Ifi?Kj+N`Hv5I^?eK*eyulb8NK^s# zUEQbexHvVah+<=qq%OyIE4Yuy`CcdT*6H6Fl>wd()kIk-mB5c{yLiX<2NZmC`JZ`bsgQLX>mTbTpwSo9dqr zr71x&wF$UpdMNW3Z(Go>GbRFDSwD~ks2A?qoq`-@+Z5;K^2~gBP+A zx(GGuJ=oT3t)PE|_G7d#Rn}1RYB3WAtq(u;E1BBrwGiA9)+*d-982H<&;EiH+!DZj z(f8Q|iXKGy-gXP*C<5S2i^7ryGrXu-^E5_$=xm^?_hXG+e%9x^ZMUP2chPW#IGA$5 z^^vd#;Ms>D%Dgb5-It{eJRqkH0?Ma&oiTWG4gqCq{mmz8w}Yhw_pE%#`j#dbf=5i^wQV;C{5ENs_vmfk1bH zqjMnjKFhn0nq5rQE?J0wS@q;lvUco+*_UFa@xYimcaVRDakrgyiv-w@0}L*r5CiuS zxCjE8s$Jc<&^|@lJ+CbBYIy|<+M0^slTq&K+(obIN zW1eqQmUM2u!^;Qs8`sF(64V>>73sY#JVT?!5}nc}ojlqovtdilpnqfC`pwZB$I7X4 zgri^{Jo1pIL(BTt^u+djSG#_zdQ{^SynJ*2-pg&G?AO_|U1btN#cj6Q+X5KGa{;DlkuiWofEny&hHo)Ol$86XR#n zS3?QTSC!ptQuGy3x?s&Cc8z<`p~pMiVUPp#FHngIX5Ux^mle)hILYr4jBDkwxih%ySrc=L*UOOkoVDZ zk2hT3`g(NSVIZv?miGPJR>$Z0roAlzLu403(o^3kcatZNGY^1U{qC}^5a!96I-3012nbmgDCF$8K9<< z0VdVl5$eHCNGiq^%e+#ogQ}DT8LlB2|CEjA$f6)Nkgo}4^_gs#sv*RCnxUB9jDqjLg zDZI-sa*x6c)2mlivu(T{UY3&_ z%t}Q@TQ^*sGQiJ0tVOR8vxo*tNr$4b=VxRW3n>pOl9QxRfmp(nYL6qTxE|x&s(Rb( zV?-6>XQMdK446+U-Jd^kP|d2C*yKkUZzoN=2f5(q-0#6kX+f`A0XipK+}T|fXE=DX z^7S>;6B!q5W<`c&+>Q;SrB3NC7kOkh8A}e**=ZEAU?xjI+lEtMzN_6c6E3?d5nV_& zFkkezclNby)>tyWH7z@S#ZdyC%o^?grE{+P%0;LF4uOUUv~ae0E*ITnx7t!9gGxOa z_0w<*c(^$lV*=ko3bT47$3I85rI;Pq(Qd3ANj;;Pg4!?MMhXZ@5(qrhUTALmHEXXvV1k) zRD0X6dN-$Qsya*25PZapRD}b{f9aBg|K@z;VM{T6XAkXajywh~+rJFT>e@gMul%$V z2G@XS_h_}bYPVj|+6nP>Z*5GD_G-*U>@9{GOnvWJatC>}clogE*apA!Y#o6PnS$y= zv_}q`PforIB4){`=$rX#>`a!Cx;nvq9@k2~(L0Z;J@lP^N$g44c{SPXCvXbmIM^@( z`BPsCNS>FAnqdBlgc$nphWKwwpcp|V8ZvFj zfKI$RWnku8uV=j5u%B61cFp5;Y5@7x6;5U=!%DprzlUXSW#-5k}t>a@Nq2`wSlzvKUG z**KFwRXk+`+OhD0V76^%S3sVa5617GCo5G#8z99nWgx`qBNfe*mO6>X5CsJA0J$eK zl?${%4un;M33QFE9Le=pQj>5R!L+W zNP!h>HoBEonXMzY4JDz|G=+lDhO(4*(CHCkD}2p)6L=elAsM+J>HFjSNURETe6L*F zmhTidBV)YXG@>e zdSazIqV6@^ugxVj=`z1Uvc4)DKRg$cHRtwt&sISS&2k&OWxl_UU_EM&anM#12N!n( z^?sPb$b+)ir{yjV& z*j1IE%M2Q`yaWV5+3R-gr4zQ2#a1NKn>LiimjvLN?s8Rk1M zx*y*=kCCH+@2c`<7!1s7ec)QxT`hLDb3cr%Tv^xA=J>ns?0nwpQR?ASE`sQKk!tr< z7ZEQiT%%vMmH(g%F3j*7j&}Ybl{Ll*1Y9h{!msP>-&*k!{e72`E)WxImJO>m8LPxP zFP*IC_)Z&l(;efsnb(rs7Dw1eB&Z<$w0UNE()vw4exMzDnVUjWlLadosbBjJERPRP zr#Juq44@F`2}ZA1)Lr3tmHr2Kzb(GQb&$x);ub~e;c#lvfxMq`DBl$P)Av>p@OIaC z68KR~Ev?$xd=$88O0O~bvvHqx5pikc*f*BmzKO1p{o|VPykZdVq~qGArd@!_u*%1d zYmy;-lH~=t3HyB&3}WjIf|4MaqXt1Jv+R=IWA+k!sTG06M60?C#yR_FpcGzSI+>Lw zIzTE8!I^!AVYMYz;YO*J?e{xHzxWlyNRn7bWag13Bk&+3RH}bUyCN=4e{^~vEK`Tq zceD3hIS2nPrdLlb`WMD|=gUmE?|NX&Cot6bDXKHR7$z}7)X`UlMt|Gi%zupaeGEdp z`)ypRqq4Rc!crU1LW0Fn!{ zbXcUfrj2kVRdSp&<7YF)i@J5MJBx@1+G-HVt*`Zdc?EzJ2*z`>fyj`_j6% z=t|pm_veizQ(@shlkiVgBw9KuL~nc@L|t(;N4R!+_ZS#YhNXH{@dah4YIzLf$6g}D z%MnFdwqwuK5<1X8XUDfVh*1i**&5XU_&rxJ!&ZzSb$2)ulh$RceRR0g<{kDG@%|-z zjXNfvY-H!Ge~eejCr}l;45I=&F8jCjG=g9(y;!He@Tg@vjAE-^OUOuU)r+mL3aA1Ck28(z6d)4*S#?N_NJXZO7QnhMRLg_-+y zdRlL3WF9kzjgnie>q!4~2xv}5+FCU~&%+cKy<_d6H5V!rEAtkqN+9#*V@3%?F{6d^ zE!*YCN-;1i!Pm^MJRVfqe&bUaB1pRIq*glgSh<37mHvKK^4o9;2@0$IhAy$mocXMv zSTi7rS&=<L=MyjZ|U%(P(QO zTnP&U8NFFp?ws}x$Qc?tm2w}v=R0g`#wgiMm6J`-1zOJ>+KCI4rcvnQHCJp8D>1 zWY+%T3UuSOnPIqUYg{|>`RZ0nq^fuRn@G;KpL%V*fC2Gwj_j;!@tTZ?{F#L(Uhj!y zI+?Y+lCKa1n>fS*HF&EQ)~G9lF7+XJ==)KyQ}DC0E|u?i++xny zjGnxgc6O31* zVEt)0jF_26fkd}tuDRLo1P{5zs|Xk&j_<4Z-|$B&o)+!~kAFWe#12XiTo;!Bme7nf z8%mG{Z4Nf*vv8;M`#os(%~#wiP-eE?ovA0@_08vK#?Sby8+Fu^VK9ZI^UHG%m5J6` zKQzcksT6Dq8Ijo*R4y?rz{=S7F*&c7pF5Jg!?4mW*2w%?{%ua6MeNck#$IZMOkQqo z@9gZT0f`XZeampjC#D3n`!qwi6{-xT3%6;qmK&@h(O%|cqEKeO8>RQ8t!65y_T(}q zhtL@>e=_`dmH>o8Nm)+SW?fU;X1rc?&HnyHC-P7zvu$6u&(Qdbck!_ZPHC%1Ua`yt zb8tcyrblmZgOX4uqI)_oiBHQSWiQbVQc~x?FG`&F@iw5PXee1&bv(>8*6PG3=vvc`~`PCLqnf}!91tG^1S0LzO=A&AQLaWYaPyCd-c0(D!IUS`y zWsBc{J1N}+Q!JsMsI!nX((H{uF=dXw3|Z9W8RUm7g?dCNB zdiJ{g=$7D87UD$$68Zk2!ouu^Bs`UudOs=n1oR+~TL0UL}WC9n?+oT1pw zfG&eGNJyHM?c>>`XkozVXj#VN}sd4OLYu<=^hcA>p*To8eD)%K|%daUlt59FY zC-VeOf+PWjS-3wqlyK^SHX0X+Q!w`JUAfPTx;WAC0r;(VpQ#iafPiP+1iGNd%yS-! zln9{NZ34iv&8IY4OaKPqHQ`J4cXY|zD^h!eYmMTg`gqpuAmYSzVw5Z$2E$r4JC0En5KCk)l=x|;G)E;Iov zUM;D9J3VWK3QjuVK_=ulF*Xz(*(ZQRed_SI23cPkKh}7<`;?EraZv{|10mm4Q(Q|c zyd>bi@AgnT#Uqig@!VK3PN3a6Jli-_)%i=RZs$%X1=!C4%({e`26hC_h{2`-ai8W! z08z;MO*q9jm)Wy`NSJaTu+Py`+#|XFq!7bld;g60HnCoCx+~CJSev|L%iDCs;v^LB zjC};KM#lu{0Sb#BV$CF-WX_&s?mG7iruS|i$TvM})S!4jt(}SAmg&mLjEc=c;&5G| zbP;*lhxE*cll}+9duP;o--4zGczo2cz=Ci0I{)kv7PH4wn^ZSbM zYM57>f0TS*tq%?-e1sGC*LXPTnQp4t_`*05I88ut7~ zbSUsni%k#HlrY^uXZ*XCiFR@Ts^(5O2nuIdK;nSvBXAzlS_qi3bs|OBJW0WzQ#*;` z{nuFjjx}^J5GmtuV>qvbR6Zb#2NDlB`k0Q<HdJN#cdZ;*08}~sben^ zb~u1e2^yW2i9EQd{*j2?HoeR5X;rNkdIwBVcE3o0JS*Cgz1hfN%SMnxLGx>@m97yR zN^cW6qdVt(636t7yaef!Em<{u3jZ8r4Oy2H)YixwaaB^|;f{A|w27GWl&a>Kp{mG< zY{EIzXAhXZhGkb8B-Ohx*j{YX`e>5QRDsTq4+QuF_Z=2WbGDya`gJy0`iw-qvy8; zEm{|=x|BjX>)Q$KU*jYufL%q*%?2>Ye|3uoGnEgiJKK&7aI2<+FSM&qk{3M~{=Dkp z1WAA8qNj3u#7Hsv6gT^}WFME;`UBNIgLdcdH?S7{?Bi&)F4)GRx3JyxSM|BNx)5(C znU1KOqcs}XDQi|ozMuIXB>84#HM=^xe{oPoJu_ zzyn@O8q(Y-zAk==w`}UN9GN)91NuxD0=hPky_s2>W4Em3Xkt1oe9KRehouvRRMB1v z&mPVbExwVOBH2I)PuE zzhZ4hK9WB5-ir7Dx4q=?U!o4tq>qhr3108uqvVUY>c3a3;#%P?J{d<|Yw}bs{gp98 z@)RtfOc;s0bldvI{j{-k-R-rdX0vyOcb*qD8pJ+~qyowONLM=P(l8cv#5n(46T7W( zXX9gz{k0)pBX8|Dz2*1D9(QFl7=TGP9)rPMaOtiN>Bli?7-ud{WA*XtN8VjT5}oL;p*r1GnV~oG@}%wxUuW}Y|y$qaa%AbHYkQ_<<_)4Jv+P|Nqpd3?IQko zYE^IBpuFa5cz?G3=ix`o6zx|W^gZPr&ub=y3XkHBvb?DAa`k+i=%}*9zxgn-p^TkO z(V`~u*BwO}5J#2p2i!haI zx+?d9l#`+O3pVcvGhU7)%9;2>X$GTXFD-%fPP>8^{5-EwF5SCGH9fy~b7Rolj>z`7ErCeO20ii8tt1~~;R8L@%!{F6aPxpS5*4^6mvh1i~m&Hp_kv z6mg;WpOIUysb(D>#oyYa>q(#-gSWrpb?=;{xh!i@lVdP2)eE9 zH!b};r!*4iXES+wFYzHtY=^Pp+k1n6Q=gn*zU9*}?$$n#O?`uhp-PWaCkv5%oeFz)qBr!L>|(CJW^WFd?jf)~>xYiDobDQ1z&KgwsXn6=-f|K?;_W1Dz(+T^?>rj6Ad- z+drA)*H{94&`t3H4zW)7;YUiW^OI0*yx6UeB2UqAU5>TD@h#Y=%Au4DE|Ap)uvvIA zPNzu!8UkDF$-&IeiHd%)CO%WXZJ$49Zr1kR7s`CEokZ~sW|e+h53>Slu!4Z|M@YKF8*!yA&2*rmBBE|@LoIH`4XqXSmOR0 zJ6|iRb_!!H*gIlufBkM z!FEJN*Z$hWj4oV&M%PByhkN1lHj{GSg4`z0Q zZ#Z5vu2K%Eu2udfJ0uVUfpux6?kt4xKqesc~X- zAHi++&vjmyn#_`b#t6b_!7jj&aGCTvzv0jB#)`lcm#gu^UQMB1SJ+8rN?D3-T!mL+ zcAbNKgA=*@ieQkv1Lw_jT$3Odr!uZa;*}ng1U0$^n=$Y>{WrW;_9Hvj#CIn$m&q`~tA8RP({3SX)J*rJ#{L`)9a70F$?bLRpz&B52T9-n$YrM|& zj1E9U}7M>9(oZLaxdLm|mEBGI0f? zr?@#6=L_}K>pcn?b}{g$_CB{d0CH+vJaCSaz|A})i)KA;9jV4expy zP1F)rtKD92KPdDFhij;-`;+RVEA^UM9D34lYX~{DIF~k=fFqBozqS>}vQQPTVILIR z3QtsQ^<(R`>QlRM@8;ivRF(JNV9GH*Wd;icnL@w!3I%FQW4R~c7WkaF!HHu6+n!i zRZvTTzoz+oN25hYqn1C^BVQ5c|0|ps>^It=qdF}5_r@X9s+e{3BGtJki97{}`_`wZ zaG{?}Of>fsUOe$gL5_DLdOrI~84ViO+9dqgsI`EXZ2m0(GxO?$=F~zoc*e>YJRLgH zo{=U~Ke>$5v`{uF?o+ZK&vodzLLH8o#=q#~sxW(WrRS@-bx_(*r@DITbi2GGDL0NnfMuF!*5)8|#hB>`rffqaX z6HUZj$uUyvG>c`#)x>@cIoY%cy3FhQv$PqN$0nGU?WXD=QADEWZ4n@uv^iYl*Zg`% z@)Ov&&)zV~$gu52Zg4LtL%^FKl{_sdQkRG3#Y4G(E?#k6^Zdm3Pw4nS%vuY$@2zQ( zbPjAqs{|GP07xrIzQ8~7%+{swoHHMBx!`aN96~3_`A9K6mI_TnJFQN={8$UUE6|2m z*xxTF2052`8_O!Ig&vXeW#o3j;eyW-SBfRLM5p4Vmrdjg@*`%LYz!GtJ4mrHm(dW&$v%dO9Z zN3!dj{9qOcfMtUlE=f=r%BJA#)|YnLMfRc}qQ>tK3?qn@tvIW-%Y$&>gyO%HQ;I*^7hI7Ss@-Zd8K#9k>pZM;|YB!t+sFl37L!A@C)!(FeM@HA^ zo)5ZIgQuAWQyY#;?Usk4t3X@8OF$@o>1JOiEQ_NVvY*+A=R;GV)P4HZ*-G}eD`3Uh#Xp7jUdsi?MT9sSn^3(K;kr&q7t$A0JyKMY zDw7>k;U*aJr*PJT7Ln%l$?iolgW3TXzDdm?Ul8R*dnScV*LE7dN!A)ssdb$2dtI(9 zx*?@U1epUTIuN_R*SrnA5o8S0P>yZYRP5!LDVE`znN^BmCFw^B_$rK)dwg2tFBuZY9AW<^Y$5ali|*wpgr1F;XRVLz*y9&{e!?mT3j&d*km>+5_~ z!mYREGfTrEUQ8fwcRp-1j|X_;3W;~=y-tQyrTu5shE}7!qNo}Ig}=)^BLj_LWP78$ z16w9d0@JS}S9DK1(hKNmq$$3@1H$;?G_(N@o>T1I{{iv}PPrw1)1Kjiyw#;QswnL{ zC?Du;i3YP+vqLYmEbrs5-g@y!A7)t?abpJfUMK$nKs-|-QYDK`=DJFTei*x5=KQDt z#l;)dMa{Ip=Zr25cbM-$uHgp`LtY6mqFJoqp>hO#zJx9D1H@@4Q@fYd)1VH;`t826 zi3x$D)c59C$^|{5%f_*4C2Mq%-{!(;!|(a;6WJ zdu3LlDLL+dN=%=05nv#6HaZNLjGS^*zbWZQiZs@#id*nC144!9NW(8$toFQ} zMA8(%r&+pJz5U5l`2)com^r(>6O7l<>x~GWJ^)$5Q#n7rPRN7et&%Gf9)7dJ{(Iai zJ0J~HDinYrz_JWh=G`gO*PO)CiG#kg524$&pF3zW*Dm{yf)8vUl6I_Q%e?7ksytq6 zr+9~04j2|78t--vL2y0pj8x@mF)J^BN3pa{vb;?_y)M_9?RYV^fQ{Ul_qv^N+=@Cj zZe5N_+>)gq2|RIOL}8mhLfyY!TlCFhG@DRAfY{EApfn0cuLo)&e<;T)qrEo*0rm;+ zuFJ>DK&ps>via{l{e0w4Z{ z6_-p3M`y}DCf&j-A=orV+e%E!r2c{AUEy=i<}bRv3{gloWCYh3z2QHwPr1f6ClJj#@pA8@k6sL*UI6h! zw@~F4$GM(EWYbH2-1&5VC;M5aXEqDbZ2l5x!F3(+e*_OPp&~7O@{J_m8b{##vlag) zzthuZ-?2`a>wDZ=XhY8!h{``HcJv`^&RhOtl$jh+R^_0WF_|J1x~U2>DTv^ zwTl!-)ZfDy{Q5JHNnIDJ`ucO=3G}9DTpl*Yf757cf37vj>}coi94!jA&k|`UnmSU@ zMJBfoJ!GOR0Qornn#osguT=({nP9Y1 z&L{(t>ChJ$VudbI+GGRF0dSXVH}+D8oPF|CiI=?IAoE*Sij5t^7A9ron#$}Lqxs-W zFLM(7*c!F!Qjut@L~`1HlNrT2#UO6u|GXAAC2!r`afTs$$y>|u0fEpwYesUj?*>S8 zKW)yz*{*Kvn3g|}0m1eNlacL}8rRU$lFqecZU@QyZD}IefIGs`MWCwOohL`tA4X)5X zcFb-hXSviTQ}^ForIii%ST;~((CA$C5Z+Sv4Zo{b+*~=+!qx zj^L-{{H%XmxSiJ#LD1#H6=-vF^tajBx63$6J)*OpLr7Qu;03>Bx(31G>(e>5Vh?f{f{wcMxH3%b_EF{efV#-cDupgo|z5^E5BZky)4rw zVWI24Tnh|}Sign8zp!a4)Qn=&XGC>XQo^)H_ItRAmD!5p5o>7kTR$~UZ*$-8))eH2 z$_vXsMst1`->9pZyLmAUS5JEofyXJS%*v)u!N!=O^_T0#RG$j z+AsGQqf+~TfB0YVo>SbLI5ci7c#FmT-R~(r+v+f}+TxhmuG=r{?>ohE^}i2l7%*il zsq`OvDdhoYxX{S!dr|kAap`F!W1b{NtR=ZS67?r;sdf9Cg#!I?jxqY6D%+ep3F|L8 zPYv(vJQNlBhq|+_Rp>ic%znL8!}sWxBzW`pZHao@-K{xo&&-i)Mr@uWcnhJU5n0ij z#Q&MaekC%mz(}KB%aqyP`vml}bs8L^S4Gmi|7b$4$>}J{v;oY@aP0!=lr}b*EQY$? zcK*D)ysYY~%rCuD$r+Y>Fht&t#4#h*E2U|Fv$}`XKlOw^A{WuwehlXcCHjZL0_Ov^RB!$f`FBKUFw#;#jZ-hx~35o}rD(MWWC zU!Bj%wj_d)RUdRn*)irndb#`Gn*uFKqVOj8d2&NC%K7k9{kFt01_(n}zDGL{&5O~= z`v$yu@r>AcuHQu!^-F3MqYJ@%meQYq&hJWKIG6(5P*VfoXzeki0r<=Y0b2P))q|b7W zNQ7}_vXTH00g&F2>`dO9MV6ql?&cLxmNbqTG{9TwC`u~7GVv77sl|kS8dlDM@pqha z;-xP2BQF5~lp;oOMY`C-@Dt2~|J%}mDV6c4wvW{GzI}p6V0O)4@Lam2z(bo(=Sv4- zKtw9r(%9u5Q_>}a%$SBs73GdqHuj}Un*s}HwA>^^n`ISlaXMh-{H5@jc@VI-DNO-j zs_DiJ>yfp!ciPexP@-6uxS9{w^wK0py`z?dC=3r&ny zwvSLhiys^`3!49$Ie=Wqv?_S8G9EXyh@YKSi*t%n$~o7%U;qe>;Oy{%I*0D&H$2B^ zbc>GddBzCxu$xUxV-1a1ltADnF9DPQ416#;PCZ_lMoH}@B+Lq7BvjYY@1Iv6ZjyA0 z;s^ix&J-kZD6Dhow0mjVV-PC=iJw6tr4gC$wq=_-J+BcU11NnV2L|0eSC~DM$GA9# zEt^_}OZ!3N>Q+*jKd$f)6R-k!$$f(t3X^WSw`0mzawcAyBU;$lcN+p=`{>#1zI`Ms z2>>WzJnh8RjLwy%Mj7hFY1Qcsd-&wWqgwdJiVY;Q>+0wnI)vzw&xz?UoMILWs^x!fg&lm{!-|v>$pF~D7 zNYB=&Y=XwN2rATANRGH*#VSX!@#70T+6cXLoH+Z26K?G7y z( zx6*W@5k~uxD(efzpK{xIZ=sWmgIPDPw7fh`zF_7PejWH~&fc;1ahh@O8-6`Um%q8b zf8L2r&#uK?Oq7ze;yQ_}ADi8H3yA8XE~gV4y|av zi9WD4cTMkUwy&?1i7cIP zDQw>n13vJ2x+h>`vgL_+^c{`}nlHF;ecKl+0s_oL+`&Nqm17U%DtP#FOC>O&-YCYsxaemfey;U}{e zx0h>HMDa(|=#zyYeAF(}|ImmybO4AIW#t~p9Ng8DZsL20cP-4y;@Wgi+PZuFECP!Y zb>?hhAz<6f3o5rNu+#2qv^_BAe(0jXGXD7$)Ki@|58QVg;9I;Z?f&;#I5D8?Hx^G3 zBs0kUJuux!A^yZSbg$g~RBaB);4B$W>Z)8xy?L(K!~hUB z7CkWmOYkf)oHb=D<}NPp!d?bU&`4XRa>u7-{H%x1dIFhW%rlVUCB|x6ir|Da zIHgAu5eU-!ao2xebIee$I^`FUcg@(uC)7LzR3JM;h@9);{5=ptAO2$AjGi7 zLjBSr4A+vkrq>{u>6Wts6xa&EACH|k4tyKoMMOZuJ|aMp?Jh1ysu?Fc42QU~hGt)E zpd;jGqwk$yt!te~NTx&S3Yhf{`=ySU%!3#O%zh5^B_>ElsOpLZ}%yQ6-|xC`N~qE@gZqev%I z(dnAchm$q+BU7sd;>8xlj(Eq8Osgly)wm~s19h|uKT9%7Q0piwFi))Ra&crS>djeO z%^X3hx%UO&<$IqwI=8sEyVTu~rT}#284#J^WY#-oBeYD%*70^q4r4IBz?~I+Tkln_fFiiA%iQ?M zpf$9xyI$JY1esJw#_5l_K1-@i8|kJ$z$pztpW`-4d)JtvJeP#_n$SGOXtdIV&loGE z9$YjkOX6K&c_tG9zlt#@b&wKFnXGOLpe%gRThP6ve1kOE%?_ShP_j#N>5`9BN3wX) zj?CyMcW|Z)->i+7yaGgn)vQP{PYB*Ra^Q}rc|8>6j*$e?r%NH#r^^S&r&wHgT^0@G zj}M?bXa|Ut@&1;!eVs%-VVz{<9yKgjor=MZPOI1rp;zezk zsLR!~VHV<|fSG+bF5_1&IejkePa3GvJXh7>e?DhUCB((O*>wx&2^|Nd2*3GNpLRxi zmd@Dt=T929Ztn)Ks)nzPZ~0f=shd?({K^t0K=r%u&&X6;hzmlUH+0CeZA=SkfWpDQeU>3z=Ut!nIiz76;U-j zE(sC@L_@*CkyP}JR=dwm$9qA&b-$qrbY?6VGd5=GWEk$iRqy^`rQzR)3cRJJhAA#F z1rzI!ih-!ACK6b5pGFxb_gas-_aG00ww9*zeF7qh^K}c$(+T$U`_zl89G@mL!feK0 ziY0_bHc?B{cklkLA1(BVc4E$|N;m4h|Ni(x{{GPgh;b`UmZBhaLAcr9$`RFLXa@jb zJ$-j=dwgAX=l~Oj*Q*2Vd-|FO-AglGgkR&u9$rX|$9AG}@V$@tc0m|?4!ptvNP1e) zt*SBIaHMegy>Y$Wv|P2-&2-U9i>)>hvgyY3G>rv9s5YJKOM`0sd5C*+pf3Ru0O+e8 z*}sP5+QCJi{|{H+8P-&{gbPYj5JVJ|78C^q1O(|Jh=?c%Nbf|c(tA%RA|N#&0@6{M z^xmtqP($yX(0gcs5a4e7zH{!m_u=0rd*@vxI(Yy#~BRASmQXsGY73pDkdmPpK!kd~I=gm1VCB zr?oTZ-X)5fSpV`Y7r>Wn{0yWA48n^alLLC)ijfd79k_ zue9?d#;!~5o`1Ri4}RbyFX-;OfF1}L zPJ8J-Z?MJVyT#{1unCepZrJUv7@k=eIYAx^(ccAwgTezw?=YLgX|v<5geForgbm$DCxA;H)Xaq-Ku~XT4H2 z2##G7ml~-0O*{|_yv!fvp?>lfHhK-#bV(dQ&>@K5-5l(ZPr2siiU*H{2(f>s#kF+p zcsAw{>|&mty4K=vvRYlbzXUGeJ)cj?%}A^M}3hW5O!KKcQ0Si&GvG;@v2C z?OyPilvl4%#nIR}-?Mn<4fK45e3Kw<@O2py>7rx|D4u0yJ<6)TI6NT6rpRv0fk7sR z;Aj9jP0+CouZ17jG9ncX3C<#D-0=Ik<%OeYv|`32FJN!Gh5dG^Xl!pZa4>j@bq3nj z3;BTd4!t^uR{Vo(_Bl)2u*E`V&K<1|R7v_kA`wW5UUPDfGyHMnnjlyLcmj)c%sIYa z*+H$n8RWIk@X*UkUhStwE&j7I;bsAX{f^&w83Owz_Xvdq_1OV!v;fO{(R)&Qdv!Lk z$X>5q{5yWLXX%=>pC=})BA#%w1Q8Hv-%J4zGciETG{M|8jNOxdp`R7u0rMS)q{elJ z$+H(nUq{!dXaCwBnRMK;8Vy$RtoCD=Eiq6b6Tzq8E`o`e3j6y}go^-r0sq zu!$}suDzgkf#O2}99D_9IkVgVpN3r4zyrKbg557LU|JiD+Vz@9qvtN&j_}phV1yz~ z>R_gl@zQUfamKd(SClc@5CP3|n7Lf{rvxUj7?YS}dh{M|4=Ga^epvLCB#+usZ`KY;~TkDZyt$r)Q8Ae1O}_e zAB+{9DJoBek31Jcyb;#nTrExKlfAR_D!L|y0ganwS$w4@r|Y#xDbZ8UjdG|g%+}=Y zVHeP|`Uw!c6=aKuL5iHxP|pO7>&iS;<2kx>vqp{+LpJFYOYT8SmbG*(7RfHzMc;!= zKOb_qY`Oq;%?PGbJB3`kX)k=+wd>vsC=4cAYCWBX7l+PRT0~L%PcgBz%2-s^rtK1? zKXS077bH_u^%Ma;fpE9v2S+8Sm!G`p{J^r!t!^^$p8L;k!rkV$@UB4IX(b~>tT$~6 z^33aXR#NGZV>}|*NjV5$kw`ZVy0eGNT7UZyDk}mN7rT$0^zjm(?9^(wM0aO$y~=Dq z^wC4j(_ocRPk`r2Fr~J2Dp(1$31A}iW?w{)do=ev$GjCx(yHuif$`F`u%mxI>@b-$ zVtV*YbP?wY7Ni#z?`bXgna&l350+*Nrg^J?HiInCcR{#YY2md=>NAZWqW)w>N$OuM z5wNiAdw*|hs?-Pf(OFi`H=*t4*lE6D(`LF=^WDQJRSM;MqRy^*5vhQ=)Wk`4CA#ATvr+^neh^Uz4V?l9?6jH=k&G*tW8t>aXfrtvWC9b{nMCSt;W@h1cAhCgg%ZCha1ASW) zCM-8pANU75IJGw*r0j^dpO-GHjp}r^8XI-IF%Gv`Py5ym03FdFR?M?mq)4FW3ZnWK zrQy4HaSkUo!egNI#SEnPt=xEyzyMq~Ka%#%o}FnBE;l-8;vO2-e*C!4m-abK+V8{833>39)d&RpuNT8? zn{5V_k{PNwJ|eBi(VvUa9I?a16VrTAaNXd%Q`bdYWw_*Gh)%$W!^UCfr>%`6uzeep zHJKF-*S)cmkSRWsJ@jM`;6^EEv-Bgoq6qmJ~R3UZ)~dD zxkEgn>!}(=eh*Tn7-3OV2M2$H*FH5+x|at}&a6W)HzQkj6{MaT?<}LACKmJ{dp^LG zDbsmiVunX?C0bRe>SBwb0sfj}*RxA4dZ-zLY~B`P7ETYvfCxfq?Fa_ZUx*9Y%e8Cp z>MEM^Bf%U=*n6DJ!K^HQ3 zl)iT$@bt7k_!hT>tFtN=V+M2rU-?j!{`92sRtcgr1QA-Tm7O7G-kMr?OX+W)J5fGp;=Cqxx989ikkynUu?|Z~NiLlQqyj$R@<= zBI(T4t|G1xwJN+RvGe}1chbpm|7vNa&$N)L+lgzvp{kA!$Gz*Ma!;)~kWph%zDuR$ z^Jv-AcwFU=Rcn}TmXZr7=4uB7a!sSxJAQ4Q#tYQjAcm`ka6?b0k6m^CT3aD+GukC5 zxgf+FnhU9gGV_3AjC?lbBS>1 zul9R_1r?=FK{19k9-qvd4(+P=lusFOl?kf~Fx?y_Q;^1$4v6)#Ua$J#u;Q6qy?dzp zQ1M1HycTom^S045*VJ=rCI3Njd^?x!y^AB`+=mb4qAx)3sctU)8zyW?y+i>=xXlyE zbVuWF`tMTm{Ig3-#X&I!H9X%&2CfTvde(|c)J&Y4K=L0}1D(YzhK7-4FM<&9;YKD(vg2<;Q8)w*bNN66KMy2J-*9kiKkBJlR2oi$>G2rGMg zSPlN>BfbbHLzG?2pMPxqfw>EDH~ZF-0tJVgu4O$TLQFh+8B?s7@2?BacSbSfaGdy& zr7!fjCYGg~yJ$OQCw%lvzTdQLyjHDe4V(1=M%k}N=Z78O)-4NhRDhRz z&m6$Ay0d@meI{;G==_TF8*yX;eTy4Ag0p3hQKS(JJk#_W5~)(2UER9ogrJ{F(s9)p$PS(9q<*J+LD1Ot$z-21L zy|t43`f|R?5(OvTC^7H!sc?RsjF;``a0P-@GOnFrM{HM^NYV<4iQjTxcM+lzfrET?yDl=jrS$tIQrnln0uW{cfjPIO0z^Q>f4P=XBX1JVrtF1pF z0dF7twi!0<@Vf=K7g$`x1ZFD6U&rRd`1Rv=;$!x*_M#k5JH&MMb!>G#&UzPGDB23D zfow`SX4d(y%FV^YOvx*==%`w$Kcmf8aZf`&SKkMYEF@36(Q(&m|EyIC4a+@4aFcB( zDYmU8AH$oZGI5)4an|6?Tn%=RDS<%P)heHp!CRZ&q!eB$iLfZs4nXy2N4Fwv~h9SK!kq zaK5Bzj%UFfxlEcU^C+@h)Md+M`I8R2nr%`-w3zSUGOBW+EAW8(^+MUI8ZIV}Jt^R> z`;oa(S&z`1U8amWk@L@2$&5Ed+`tUaAXyDgC6$8)rS3_RM`OT?*(J`kqez$XtGpq+02x~S6R2t6%8+YK5)dmlpbf>gWEB<%%A)ESbguHDV}eFOkCxF9sqt|f-% ztq$`K3%mO}dXFBu+gZP~WwsfD(J;ICm9y^d)y_qx-WNhJWYBUfKI$S(5SHhZS zPnsi3TleKW@VTtYi30`cv!eG#5+9a|t3#P?utk}vQE&*q6)_uXkBzIxygDd*-{>L& z3-ziCywWS_g-0#V+OEk`o5S7H$5j+3VE7wCsjzIctSG)zOov9l^61_dMK#q)-_eK1 z+yCGf@=j33PWMDm+cK_);8DCwGLPRdk&8B=$$KXml^e|Jx6pQE6FOPidxhfDn3l2y zD!EIqLn)~!CAH0V1?x@gRBB$3@+IrJiS@603Yq`%XtDoSoXy-%y^@^6oidZ^lHkoJ)D?*s0+tE;qth*$zr^0TA|ku<&JqqQ)ZowOqzABkaXU^X z0!}(|y+z=OB=?1GI^fe{Lqjqob@LhYsqFdcJjue|r}$CvR;}!|LCfVb>iymYKRccpN6)LLuJyl+4LJTr zBDPDBopP1!9P_)`cg@vM0^4DA}T)}-Rtyjx`#~75Z9z(iu^xSR{LMn_(zj~Jw zJj{QH?VF_|>j$Zc@2$@kRIuOW4fzb)luV2HLDQy|3DsRTZ5@6q&=u8Rb2nN1_m7e< z8k76Yuc-Lmboax$z4~n?BSVpG`J4?WjN6}75)@Lj!+w;N{i=WXu|G=mRK3)4C&0LC zQT5XOUB>axkXU4c>m!ziv!m||$31j+fvZ#%;B8ay&PtoS`*y)z)LJWf?;G#AoJL5P zLLLzZw|yt~D_X5oL?FKx^g^qfUw?;=kM+=PLJdLixff3-RWq(!>g%snn&F%?UGdQ%m@vly zQ7|B@WZEd?om=}IJ?2gow_|-z(YbH7Y4mm2`|ZB>rN-H*#X8mPp_jz>&9WrY@tKvp z9dTOR?U>f`Ew>5fTV!RLhppe)r6j~<`b{-sRa1e1;B9`#4hZ#@EV=BnzGRS$=PEJ( zz9i+J(%Eu$oOf@WUQvB^Thyu6UdhDQl7o^SyesoY=C$>Ko`J!!)Y~!ehvj?5KcDKv z<6HhmfbuRvGE_Xq>)hUWT3X4(L9LojH2t-h+i;;o7ZKxeiT?D-<&2Hpgnw$J1RFr_d3QVX*s_E!h9=&g60Pw=RQ!d=*a%* zbo5rX$`14A+ZFJZ(7w@Yiyl#l@<|UPh(2w)xyCE`A-6v1k%me#k(?sLV$H+oJcq9T zMOYx}nfgQL_vePGPmC9Y!7RJS$o0+ci?dT~>Hr7a4j`)PNe5LtZtt_os`>Gw$?lWB zG!eiqxKh=K-uR`Z^1=Dxu&_pROEB6Vc5Zb4 zdD$XytVTgVK*5*$TL+Uo~(HIj=x^vMb7a+uT{hH47F-n;(n`xQvrIi&$goUhvbwO!wL8}i>q>9bWI#l`u= z680r`8G>_Yu0iVvqsx&-;*`!f=8zZuIGeTkADEuxg*X# zgRg7WR9w2(-yyE=K(?#rcc=upnCUiIe=ZLdKbDY`B?ent@a@+2A3pg+^7(R;NY?ZX zJCH1D6khr4+>VyJ@cQU9gq$@6=`;6cC-VncL!>G`w-1q*>kAp{&b~CAjf-cZ5foh1 zDXshYj^3@w-deP?_;yo->b|aDPx~9ZK;pPK|GgH=uP05M!27ks$-RfXKXR1oc=lZv z?smKn63$G$X40*XP)qX@hdTRE!c1rO5+lyPh`n}1+OU-+MBr_HP zESFv;;HM77yMUDGz2k-)r_{!e_#I?45{TDSFUYfXE}s2)G(FJ#Da-Cnr!NcK`kP*nQW`RXsxS5aRrtt!7v zFi;P;jLGbUN_V9Jit`f_c#($}5Y`{`zCUl$ngm8h znx_-Z2$p(n()z-pEyJPNJy7puVv($cnHInDa?hkm^HQF4PbpVm*m}i zo{^uuRDL3#mRG59WN9-i`hpY~{-t!fR5XCS^@}7Ik`R;4^j4sE_yexU76L_C^{89L zmzeXPd|(5#mo}#tW#*=_vz0Mx?of=5`wDwZ;2~8Kvz2-hZCzZ&dS_R-z~yLAD6-;q z@I~*;No{%2Lpw&_Kjt@CuQ3_5Ue}I|`YP!%O+?w|5a;n_=hjzJ%CDquk6(oc6U(s_ z*2>*F`X)73V_Bm2b76P{wt2~u$sr*3n$CYO3wylqK1uFt)eLMhuC zN^AE@sj7D1HG&MZJ38w5kxk}vu$-KM=H%u`I@No^(#9n6)4(%Iji`L;f3w%IpMY7k_xL|iIeYA&PL6$ zC+5D_6sR5vS5Pq&OSU5&>uzgpSKlCHZo2qx?Y2T*T$d1{dQ)N<-(oxQAn5VT4rQ&- z7ph}UpN1O(LRC%R`bW8*T;TJ*3fk`%4HP9mkXl?LtOGoI2_-8UikCuS!W=`NhbB*p zpPsD^X7V(9*~QFX%s^^HYQ_j7G=@&zFrt)4e-n#*;t{+hi!J~5p5C8)3T2f>S8m85 z{dVTo@R^vL8bg9Tw#=xEr+aIPqdk^z*hzj4-NyE+>qKzVsDRq-VE@O&(_dc~&bAxt z@535ry${?(UrGQFY#lLW*Q`2uCI^%;5bS~a`D&Es_M$G`^GW_C4( z$I~*JncWTclPx&ri6r-v&xvH|)r@q(=qWDl8ifv!sSTVXFqCtGpN1qe0iIrrtb&7+ z8Zz%bsE$sUVcQ$rwH9FOFsd(1ViOFxHE0+w&8VbGM=(Ei6EbHL58$c(|M4(-CHXeq zxhfJ|=EU4^kuUG=a*7+v=)wwVC*eo?t0_Z>d(f53A^}>G*x6_b;j-s4!4in}DUZ0X zZ9T|I)mu7p6I7N8BB!zf5>TT}un*e)p2O#SV-yo}=CaC$y5Tq1f$~S`gQppS!LHW< zC=Lt$yM$hTS+@F4er|x_xFvvY?h6OE8f<~Zm?N;jn8ka5x)OJf5k4enB=TGeE47w>|8~Z+4-qQ)jJFUK z^eZoiaK?EtK>59=-HgSrKiRd~uEt<@`-xSu{L|jaC{zv1rYaH2cH^oJ&krXjE(K49!$qmP!EyBD%{;_Ur>uqf z2F#w{^Ns~@}*xAbVdGRQ)>aX->C_*SxE0!PW-a z@L79zY(dH+!+l)zv;iQM3}!a(O^?X-tmKfMC!1I&a>Ukb6we018EEFcH71o+%DPaNtB z4CiZ3AGHrY_y*Md(! zv(vL5L4)dd4|K#|GV$_c_Wdgls(G&iudf%iBR=?`t1Sl1vtLC`Tvv{BCegzO=M>Wt z$3^=(D*yfz5#2#%*U7MBH2~s4K`oV~r5rxHQA(IjchuIr|WoGN~ z(G#57!-#TD;Z|TriiG((@Au^MnxSt)P*(&ieDh{9)?#`8PoTHEX$-O4~@D!Io?-f(_Ii6&RH z8lU*N$XN=Z2wFI}>>lEx>|UsxceQd&9Vdsfa?^GX z$X@U&6qy8Ab%+>nC&)|d+ISLwnVhRP4Ut(Z1(`&)7wQ-GE<&Y)q5}x;- z^!YVu4Tj-6N~@M|0+YAmyjnwYTLHZN5=8-2I2}oD+?`a;fF`t4pnPaPS3~~N5S!g^ zdV~h+fh&GW6(_U=Vu2pSYmIQHIEyz3VW!1sxgfh038O6K}Df*+*!!7oy-ZFj+=r`^Of)Q z1K)?n#k7J^21T0hcbYE7yzbv-@%m%;v8cQejcsUho6*1Z`)qPJrbcY%asTu*2~RwkIOF))cvNJLTOZoGL3{ST+hF!_v~lcaD77I2?YVsR zoHH!pByB?TooJFW1mxUfTasQM7x?xKXB%(F>B~-4Z0tbHEHwRY_G^CFSdsNT5)+Dz zheX!~OO1>aXYvxKK#dGlk?V|GsauS{*PXW^GcsfWf?0y!z+LHi+97n zYUB}Zv7o2@8$=#~&lMiOIFCR#8CapvSQXx`oJ@KnuT%8q*8wN&VDfq^&us1uIX*El z6}Q?%L*34gS6vrMlc}d2U-N&MiI6u+_+9G2z-ppSDAb~VJr3Qp?r7i^HGR3Is^P9C zW4704WC>hKFef)XseepVWj%YlP|FKWd^-bWIh^@GEu;E)Yifdco_sfJF(pUR!^nB* zh3nK+3RNt4=Q;8x+iKGt2OR;@oFCul*(Yp;F6LU$8S!fjMWiH1Z6Z_p5wpgg`ad74 zjldI{!N_3CN{`KyBmy1M)fGJjDUC1nS6JXQp5Z>f$D`A@YrTkfO3;i*BZZgSSy+6dA%@{tTYUw#TF6EgT zO&sTzsZA!0N?*clb*h!(KR*m+=Dw!_hr*5~npqE?qRJM0KN?Gh)gX=Em}Xe#=38CaTZSMNqE;oe*Tr08ZdkF-{0B2s+N zCg2~d&f@O#x6AUf|05b)M$DY-qk`m_;Z$3nPBoZ@DJw4)I1?{Q$T#(&tQ40645+NS zY~!mEEfDh_!eDNTz`(&$qN)y!)SkFIF$r$9wgDdfTx~sT<4}L6fy(h`Tl$JImZd8w zw4Y!Q72HdOf_$-6`yPa2Yj1 zim^d5YTZ;OXAQ?7dO|^Pvf5{-n-o{)nEi2f`qaC1J9vTaR2aNz`ela@bNse0*-rP6 zdSAE>70``FF*77vre-Lb!)7APoq&g5?o3fK3NOqTBKz^)t)S*+1FIJF?Ed6zQ_%i) z|9bUlB+1^|nGd?s^6~OT8vWj9=1m=irX55$_FjEJ3!0t1N59jm&VU)4LQmR)UKCAq z)rIaIxh0V0lpses1Hwi*W4a3Ss^{I1qO;5h6*&WDQ)bg5&D=vr42B+7`HkZIWSW>@ zkLqMrQCOF2gbkdOZ2Z)k@SWHGyY4eY!^O(%g#c|HwExBV+07>~`jAIFlxM4BMIwO( zr=4s&zTcOW=7P`sT$1NKG{M{(agnO#hJI&gzsiF?*96T>8U$UwD>--@Z!}ec-mBM- z6qJ&XvAsafjMtP$PHM}{&*pW)_lmEc}g zSnV+!4qN{^Y}DFfeHz4ldq-?)AqiL=z=rxTF1&Cw{o_?L4=})WRhWSMq%yoqz7OND zrGFU8W`}XuOCH6kEH)W0+En%D>nl`9<|}Mp*yB=@Du_pZ+=hdbdo@~_Q23+_0?&6k4B4ObV#C|in;EN85;@V^qv7o08 z4z_Z-b0ghTMbG1iQJZuQO^j*b#mek?y-_>p0iPkuo7P&99+Zf z5`6f0zu{NaHvj|1-KxSFJ+8Ft_o7J;@Krz--S_a#2{LDVm3?Fm58?^coxd%8`{7gE2zI{4Mx zi4b7c&lB_`u=DFObB^8zWTY%DLaRqhDIF7va1-iu`xX#LY1sKY$v!$Jd;2;>VWF4! z$m!J|6ml5;X(mL#xL)o*IgyR(>dy)Cv`|;3J2iog z>Yrb>!c1b`Dn|`jlK5fyUVfAVjjDQb`6rW48d->NCQehf)yThAFszG1z7)!K^Jfw@ z0cj|TfFL(st5ImvEP_ktt~`-%`xx6RKNx`P88aneVeNRu+EEfUT)z|YzV}D>bSF}v z;R(=_1RyzcaV!cMbe0E(3l$0yq%EMYs&54*hK-`&7tX)X=?(B%p7`tg!R=ngXRy!X zJ^;aFH;nVObl*=tukMBPJ11VYZy%$rG;x&~#rRM{Dx;k{Uj|?$Rm(*;v1;A?s=d=s zbh3w4X6W2$_K@P-+hmE0PvN@L0IY6W7DPK3;C^_`F1(Nzna+jjmRSB5Qv6F8_?Eq{ z9mxw($a%tud2QM{ELz~nkwm?h#xEG=%rv73+=cr?KGDB>b%-*z3Za-^7u0R9Gw>6h z?*RVJ>AFMdRbLTl**t{&xB!i&Na*Q%N@D}{2&y|`9(bz>WCv|=x4o0(|x$a6=tjPcXdc73f%wK7|q zR{ORMl9|+)+<<}qL%wde(c1v7mkG1%+lkW%E2~kkU{8tWn=i=WW|enU^kLarZ#7N) zjx7aM5}d9L!CPj#-|38W`7NI6R1UXh5M5Hn3k$=8T|$J~uTI&Myr74mzExqS*9$@k zcTDRq(p#zy&#)Qatr?J{fpWdNMD2tym^Q`1{5Ru{(L(K@w@n;i-IJs)rw=IS$6bD-K@@7UV zLBE9#fBwgxK5>LO>}Lzgw+A8`nzacFD-k8T!X?Z6sk)IhC~LU~UMJ^ngSvi#XU>UN z7U}*xAC*R$1)Y}{eb;bVpIJ=aYMhxzTdboe&E#)EfM$*Wk6zC)!N|tqhaaBpm|7_5 z-zO?AAGNHG7*P5Th7QM)B9GB4w*x5tf7am z)C4l*5MMI#3ll_{E3sn_7tyYtg$Np9keN(1&+^H<8Nh`#7%@@pfHy2Pr(d31hF)1z zIXw8&_lW2Dij^Dtv>E4ua89l8F6Q~CxNlz#%lvkjgoglQDia_x83JQ#81YmMm$Vv` zrfkLj6F@Pw3JEMb1wp={%TvxX?xAmY(eP}qgVla9QdWQHB^WTiryCNxTQs@Y7dli~?V9bmQ{ zilaa79+@v!`(8$d%Yp@F(Vh14gV$TKb|J80z6u#A zz6Kb@mpS9+{7&pR%6VM>2JwD^h@$AMjc7$xz=@$kCsu=hbh-g33An5;nENU94lla9 z7r%P<#Oz(WV$mytv?VlG{3L(QuIpBo?Wk7DoGwa&RAOw}&G~hWZp86pk+rF~%wHSA zbez21-*J$W84{|0t0m?jDIF8^j)OQgpxIiZ3kJjebheNjfq-9Zr-rNQ3ClqaQT)!I z@prZk24x@L6#>x!n9Hj6Gd6_{%1+C0qT=`Z9-PBI;lfc@9nkR zQKm|fo1iZrPF*kWDBokw0e$b*g42DljH0hyl6{x#dlGtC7;+gEe+1G81}maMUAWht z?UB&f0||}U$+3g>x%^`1=paxSuRL%pT(!ShS9G+a1mZEvR8g^4Y|8g_@1E76Ig3y8 zN9=uF(lt3@p5)d?Jo;v17F3+C;NQNBPYp8`yaG!;%s)4p&@)ApLKL>aVghQtY=XH| zmN3{{8{ERc+zO*5_QcO=?TdTNN$s!4TiHm6t+<((1iwK65BNyQ(-ansQ= z2+03n{;)~3wq0J(J`#izx9Qrrp;fZyWZ1G)UHwZ*!v|04t4IRJ{Ru41@ckW&yEZPp zE!x39nD)TzC&L(L;8J<(Ou)xX?hVyl3~x4S()RFDydvE#*RxFJC+r=jpYq(btb3G8 zXC`uNJ2bss-n?`Dv(J!@q{w`*kL%Rz&t|3aiEmJmnB9C<<`O!=JKembXAC~Te!Vni zUa?FiSs|QabyT^3Iw6ZRDDyN(%lVKsQX%>J+K?JV;a2{|voY@Bky#CUJHN?5o4*Z9evKls=G*@N9zMFc%t9r0gh;Qpy-g0wZXWzJ4l`*&#k zwx}50wx|kD*iE^->T`ngh5{CIf3h9^Ksx$#@oRZ_SBSKg$Iwn1dEN7iuvSk3!~xu=vox7wlN4y|{R(2|oFm#;H@_vj$6TIl!{uxT#0JF0a$yI@?&c)miR&(6DH8oAL= zWuZiAT;atNqTnHx;F;vZ%;#0d^ovF=HyG?ngzdklBx_1H{4+f#etmX{F} z4^Xh*8JZUBLY)R``ETZEb{QTSK7;kqHz^VUeizu$bFhTyN7G^2N93d)goRjQCp70+N6*&UG+$gQlq@K#WqIdax^V@vNkauHDB&cHG#IEnf?MXmW!+oinDio zuy#uH6_Sv96bTwi-Ef$OlDbD_>6=18vtCTwZqDVOtpjDt%Bu#`4_i^|4rhM3^6T#Y z+Q@>zkuw8vjp3~c#}5w1`%XQW?)2YQPfBEEX$%K8wt8QFfm2tp7B-b`14DQC*T#*L z+}GZ@=6J12iz-j~(1-enNy_Ra{CxH@#=>oG)^Weeuzv3Bjn(;zv^?4|`&=_}uT)LCk4VY?V| z3Uc2D59T{`=6PGk#KiD0Eo|WpN-BgNm=dY~2wS&KRI~6)?ua2V-&SR&?+bQJtGud_ z_`K%!moGWwo%YuMk0~J!ggyRP5mY`06_847K3y@viUI?xPPX)RoD_PMKftN8Zp>M2 zKOdMJ4!y$mE&Zq^tFuisfMZroWX3JiQwuWgpA;fBjyLu=*2?tOahSm!r%`ZodvUTI z$t;F6URRmDkIgP?DrluJw}v-*-B6z#lh(uh;N!4z5)r9M`=lk>9HawBBPnMjm zY+j+ra(VN_7In+=zgxc(wwt+OJgMGOtxzuJIDAAB_`Rmy!ai2&f3`c_JSBTOq4PW% zi-Xk;Zg9<^PeDNoQ3Yv}tdmHne^=F`{9DFFQDja_maUZbA@k{#6)qw~mMWs0Mwpn}WQ{I^H` zL_Hlf_QkXSzkyq{z?Wn)z;prE)5sF0fIXsAOm^|~n#9k0#++WYeF8bJXPz4M#Or5{ zYPBP0;d?-Xl1N165oD*VBq1I;+$oM?keA!9|CzX8HhA>(MNWoR^wQo!gv)4oe|H=I za9Wr1k2O2N917r|#Eooy}K}&7+^T+@{{GGY@KdkcDr$J$xbum z+|?VgGGHe6F;O(^v5lIQ_}=DA#e+}1ecf-*=DOpZ}&O+tDOG+$M&1iabTiazR3`m+S z$RwzN-~j|UZ^8~tbM@%J%zVV*__Z5=7FW;+609gWuJXy+k>Dm;i1gSs)-X(Z`?(X7 z(oB&4dTy?sXf3XfAK33l)k7TI5Ulfg&}3oT{$uLVH?NenLO3c0y9_qu=C>{p{pJ+| ze4)8RPi^cwN1{;&Y>Y$6WTIPsc2`wi4LUR803-Q7V9qy>1%XCNryA8y7kPkS>otaK zkl+p)JvGJHdG(f*93PkG9sClUYFie4G-43tjWUR;8a7k!eV?cmb=Wa<9N5?2tv;CB zF=zcbvCG`3C`>#eX#CBJ;E?6*uy#71>m?2W2{}mu(BwEpzw0?whE;DrQj28wxCpM- z6ik@lktk`)Hl)FE%KtT~7oer+gUO0tt8+t-7F{Z(2*ma=JFq$wWIMS7iIt#hMU$Ua zj?aPv2VBAQiai|*RW>^IRbt>+t6aN;R);mCrQ12@m!?I7aS#25#Qj4O%r zcwm#lrN$$Z##-}52b*m*qQ^GW)hCE9d3d1Qc)IxCv>=64rFd)Y2uZVViX*qa)+n)r zM!8$Nzz5EvW|4K`y(r~gEA(6!*h>95$fM#>@6bS|xmd~Y)h=<>JG@=SNltp9?^>eQ zgB<5OS2U81oChjT-Z^1|7C8y;W%FFd-EI_%8|L1uD!(mcc*spiHg>6P_CB zQ!zcqWdqoc|D#u4Hu3XZ+(~-^3;TV_LI=>rqeV0#cwxUj62ZW9v3R~JrNju*?M7DA z#L<~qSfHF|CPOx|_1wO3s+CSp3q050$fXn?-PiamYSADL6~5KlV;qG*6b~KdDgQz~ z7#h-A(34pVdl4{RCzY=jV@lA;6Dl*1a5xpAhI(o@oIzK%2-CPTtM&wI0?Q4c(vj+= z`2!?&Kn7KK10Sopy|P8?M2XCv{+Bp&)@i6_fbt|_;^Gi?DPzX6Di8%=2<^a+wpX+37 zd}DL)-0fKNHnt|FMz6;)brv})wyIA|htxt}b~Of4+BsR}bCH?rRsFl{eOpfIw_BkrdzgX*@!l{ikQaz!MevVv0pubdPVrA_w<~?^B(JWxzIr0}{5yPu zpk^1N#E;9AjU>g2GBmFIaviRk0S&*px)9>rCr{6fno|4kmui!_ofJ&&36TbPc(6~g zc{AaTdt@U)BJPRsC5>$tn;BvVm^+Ad!yP&rcx$9hx8 z=A*&=EHqCzE8JBj zp3UxgvvayYX@*n281CP3_g|4$lb;;5A3N;tJ6PXr*Uw+hIeA~_ z+Sm0S=eo#}iBwf@xqQ{dfiTEBf|^@tsRg1ip02ZxXPF9=6=}{77ctp2^?9#>RPy!f z?ejnRhrS(>Sjum>UzOfDtl)m(_VY7ujQbmKe} z20?SBz|k7Bxm=@R19x21rG+8JB}&W_1D(l(8*~``(2ksH4_DVzp%E~jhJs!5Ke6?_ zsoMp^)|(w|Xn@OBZhvnyx`(H(=B6J1m+1bpKy^hSVXjve>?*}u1&90iVRa+-{WtOo zw-5m%8ACdMdsiy~I`~_TPmNS8&M;rT`>*aVC76T5&7ClLLWbvn-HFd|?bb84kD(5bm;W@BT+K^ZKx@tKh1 zoUcA9l18D6=;^K$r6KQR{c5ML_ol7J@$FuJHoOG11p)A&VUO-|{87{yQI7}(P!B`$ zKxU7t%GYf?5^a&6S~CZM2(#2_|E7*wF>$Ddh0DE3{;tL#$f37-9y&=~w|%qz`pHKL z@Hqr90iLAlyzA*jiQIN#(dr8SKLVqV;Tt^QJ3gMUa+Rgc4x0Fx>cuI!?wUfQ4a9Th zLpYNYIxA*5!AB9N;H}K$%d@ZpRirp>TlL@5>rvde#9sk7ZAW;4wur~R3BiXvjg2Jv zpFgks20Pz83u4s0*^DGM zhz(ZnD8b%uv57+UsO?jMqE>n6e4YXRS70`C6ec}aGW;B&JYMw#*u-7^_1{Ouao@IsrXAtgkF|-Gv`N?5Ar6!6u9vyh|-o3&j(em^pziu3HVJKvT zqBAvl$fI(0x_6?q&xm(-&0#Kc;p*&e7h8i_;P{bQfD}em59T%P;~Dg4rdkx$1RStW zprR{2@BIdJ3clP@-!r%I%t2}EKAshA3LL%beHomUY~oR%@Sa~DMM~wxUB#~NbAMY* zcx*NM>5{jFC+y{R3JqW;6IBAp#@aYU|EWIem=Jv`D$~#TTtI0wP=6^uF z%myJTE`3LT_C71%j|$ASIc6jkL|u`8EW%K;M=h>5Rp0%SQOsPNz=|>zzNN94Pr}ec zH6K)aYKH;@61=vI@mSICMcD9}zNU_xPZbK0YYFcoh7($HLl=)M)Rw@yUq@jZ)K<)V z{iXD6b&ZrOGmhy)QQS;MVJdeP_0aRv(K;uguOi}Vgi&$!$A6eN^H+c_GcU&E;g%Gv z&K~+R1sc4wRS+Y|^=gw@C6fv&19Rak^2y_KZuHHkU{K-7ocsHpqp;D&P1aH^p;M)H zxaHh1ieu7|C?yU4L!|&B_3l$iGDcE85>ce@_d+LIFmQC+wrv4PP3G+NZ0*=*l0$_0 z0H^An$;#X?1#c~(VAlDou@QRESGh!hHQgaObLZRSr&;ImbI`Msmg;saMb=OwUygC@ zdedpTPg4BS%#r=S_2{XSaJ`+p@7`BnmhZC@F>Oy`LA3(~5muF`l6vHHo3UF#GD->) ze{E$->|TWJL@!eJOTEqY7XylAgtlHHZ82lb%{6*1`J7H+p9QZK(qR69wdmy~<n@1pB_~2R z8^(p-_$nRq&g~`VY{dBN@hp$?2%1Q=_p>}Nv-G3;b7OC0NbmHxaztV*7|p3E3m`Q* zK0BlEm$Rg!Fpsl~w&YxDfOYUL?(bL|O?kRI>`s8K=Z5=B!#IRF9;+GN@#Vhq^JG5M z3hvXXkUf;|8D)0|ti>_Vm#Hx*fs!~+3EKSoaIU4?O%gI^1)k68LNY@do!cC^P&te`ZI_$2&RpZwu@TES+QxtiWaX zwiJ!L%VeWZ-99y$YKG7Kdg~e;6)VYKq;Mz%g|Mb9=!;M(Jx4g53ssgkdN7j1YnG@9 z(qXIH8-kSU)1f}UbjH^ayAO z*3a=jNw+TTe#S4B;*gna3?V9gcdRKsU2wRj_AWc$Q8~}@`s@RbZ1-Wq7l7qGgpz;K z?dR$Ywc5{`!pz=E7u&|0P&zDjw}Fh_P9(QUL>J~OdF-1A{gt1hSf3924=zWLds9Dv zdW-}|i{S9(){7JBP@Y=vjoP@0^0?YF`LpEcIn}Q5>7hOyO}*)1Z|7p-R_$FF%F)ED zz(%V4vTPH@_Vea@=RIbr*HXjLblQ7Zl1Y6`nYIB%#MfCg_OSXZZ$!PS$kG#fU&8r2 zkz%pC{Vtr&4%~yId&p?k8K_*z;BE&x^8<)8&}AhsAi`b{lq-eI!1LE%R~z!8p25 zS^~}~Zh!Q!t~5E3{=V<{Y-iVQlUOIO5E_c)U+^>Mdu2wQH_38g$XwVjJ6G()9d)E1 zn+Urgo0q*1h^PKXLud3JG9C+0>LXT`(90ytg~9Wwjy6RF*^MzVjE&iz?PcE zHkuCJdj_<|7N6|Wssj zhcBemoLH5}DHN-xX_o`l0ujo9U`pV1wfMJQK2>6RrT&*TA}8#dI2)Us#I6bspSbA? zBuu*y@MW}YW4Y(tXz##Yr=c33p{{T9mLQ#R({5hFqyZnhOg(3^^CoKu6}y#&Fsu-j z&GDX$w8e{>WBbBA`kD^C{R?`5PN=TiG*2_jRgKOQy)ZqWr??yp=w`u-O2z;jW|d*< zr5+02{`cjcirmhp?r<+pQ>nLYwW#wgD{~A<|Ky8-)nc+(zjLe2es>%WNz58f;0c55RCFj>)n(1xa<#*P1?%_+=-4*TLL*ECXk*65T^h#iz&^j@}iiudTADlU1Hd@rY41tR6+zd^5wdy>siIEdX5fa zpQgV;rL>Yl!%#PLH7V^B4p*FYa%);gUu5Mw+iA#Kn78^(_xmSgRnuMXNuKb759M2d zjfyD!(_3F&t&bFGDBog{b3b78%ay83dY3L-U3~u}e{t0f|F3-h(ryQl<@4Ucf7tF8 z_=FS{7v3K8`#H9<7&xEY5ONN8?v?!a{_}(3hrJ@KzkI&ux}^Q?2)V5`YV)r*u6r84 z9X%=KD(@!k`m`!h;YGCCD5hbaCJ-Ima##SJSA)*2F(tO16|5yywsg(Tt>Yf9-$>oI zG6)Rp%fv8QOFfKFL8$>c*u7#YxEGa$9kC%2bD6zuIac;-y}ECU`06z3W%Xa6diW_L zZnu*gZmjh3hZb{beipY`A@IKL%d6BM*O6%eDcOQ6&utFP4jlMeXD*xZt6;UXf7K6S zqTF3=_~r&4n)Jsp?0W0cwnT;=6jqHOeIf6X1d19(d0|-_H=&c8!91Y4!0oyXT5W9u zaa*ZAhujb_5oykr%ZmGIX^I+*fA(6m`L;=;Y^7}o{L2Fe4IOEn@n>^a{&Ak~nR&2u zQgi6AteZe8PoFg7b!ijNiN#BoZj&@65>oGJWmoLJ96h%toavnzSRGlBY&Q5HW=52H zljZ>B`kj%Sx2@Pv+t_MXG!wbj9sZFSR=vm950Y}seYykqSk|}aW=-{=F~FrzxW_Ue9DVZR!+78#srQ2HnKAM*e` zWaOx|XuRKx@dU|7fX%uG`ddg_EKq55*U9_i*&ljO*j`liPhV*DcGBoNU@%6TL~8~n zd&RkF)ykSpeC~-P<+y}{#ryP*2a6`8=W2{Um5GMe|1ukqD`Qq|Tl_7}DECs(JAlCy z`qYKpFh5P&wzQsDeYgqV-e}gaMT$y^f$2J|MKi9K#Lf=6jIx3-N%=BAL+=62vpMI$ z%rMcOy6rSgzHW@Z?SD8K$?utTN?7y~_woutWjinS#)=O}zKDu^Kg2xg5idHI+>q$O z&atw!Hz3JsorrgsLk(P@B->BNX-fRI1!__~^zr!S!Fm&IK#jG9f!}XWNvzMl z<=K)Y?h+?f4+MYgj-gHl$>G;u&sRj+cV!ROr_c;aJ-$H}_otR^IBxR2*|HGf;!MKc zSgTmB`+nR9J?Zrdu}a;T)GBFI-D-~$*`|1`OpWveo%DTaRXlFlCPAJ%VOzTeKj%kk zeX#%_HBD>$+H+X#(3@_`Pjb3txd`>a+0b4rt;ctcTqkLRp`4~RF%DU4Zi~JCVTl-H z0yR?i3S6r6DCN1DDTYv%N2GM@9f-czo6Zvx_@>J$*~^=ofOTjPbyBHZA}esVEd-80 z-wZjX&F2E4avo@S7pP)dGmkMVoCvI?7%yVtCVcL1!|P<~6T4gwCx6-idhi(``aJ@r zD_EWeq@GAgG#|m96x|gbNODz!n=B01uVJ5Vmu+@;)KF~%yQ9%va9z{u>fZ)JEbP zfSPLLw5XAtMW8=pD#m%T(6ZK#aTUb^&Zuvb;+Cd13f~CL%E2+czd(G2LRKenXbS%v zq9OZJ=Bx)B!r4hKa#Cs#hCXaix&xG;gQO%}KngKb_a(=m{6(;pjU7D|MbHd1o%$)( z_eE}(nj5OZ1bKm&V#lLU;jx#q(7F8Ast3)AJ{;$eAFE_dax$zcg^}c%zkEO9%$u397=VVhb zmmJlDrMvl-$ZD(%&%*^~s1|uOzpma9n|nha?X;ND@ZWq;7v`)PbOR#^M*Yk>$EZGN z1`Md;M$Paou*67+{Yovvz}_ULOt5zrii8fa!ZddG>x1yqlIs0T95%pH;UZ!HGQx|0 zs3|}3GYj32IA?1SA_B{j9dn#Mz*$^MyRlVboD^XMG~}K~A*X54!HGxH8Ta$~NfLY! z($Ea{6#0v}#Z?KuL{w!{Vvq!7;28LY=}8HAeZ=?@-f8m7K zRK9>C!L9WaazuO@??DgUI})FKlCU5yN0oxcUw-eZ4_0Vj-0EvXA3* zS3e(<6n)F%gb?aQqpJ=B-uwO142xwVzJLUK`B$FldN?>7@iP*>=0hq=5#s0;Gd6zm z8K9btbhp5(ezR^d(ToBiV;OFyukDX5rxb9L`Qr`csD%*st3MoaYMWZF`}LN}Mj+}1 zt>!O(7j-#|Q2DsQ8?ukXItfKuDLJ%|JRlFy{u7~M{Ai0dcC&hVy_ejG*K|C(Ow~Fj zR+XI9YbU0AS;_yR7v`A?;?9i2)ZMG+j5?ZSwW^4wQ1Od3XD_Z%TgGpSaLmVB14~$z zY{*ki`~Z?x+Z8-Xw$9z4QwW*C!NJ`t_3spb!m`5dHpFX=x}O&>d#PaZOs?lnEhKF7 zTrmzjXYef)!arDEp(u6n{sh^p6gV-7-ThQ_NFtN{MAzePi=vOf=q-f6F3`5qGyZ~K z^PxBcK|alL+?Op3h4lE7!Q>XjzWB=IfYte~f(bJz?<~pj}CfHj|_N=cGN=`v} zz537oX|#t~f0hgS&4eEE8*^u2D}0ngOP3pm1dvWz<`jy4w{h6`gREez*OUcn4)Zks zpuFL0TrbI8r|R!HHtv|sCE=h1TjE4~BWQT4jE5OSU?P77L@hdbdYZ=p-0jb@Y(TXaGMe|8?~-Er=UhWpMODDx>j=8Kk? z6^0jDS+4H`XX5(`nGJ0z-#_#|z2)#h!9xC{8G5BrxF z$4WWQ=O}q#L18cx&(y4-TO zBD>Z)(%!7jya6MktzZUfl&%BqtjJb0U5GUeuEWS2D{TIi%V92)c`kQ9$SY6Q$je11 zxBP)0mQo%XA}@MOP~fb_(rIFKwZ9F_%_%G)(r{cnVcnI) z+(afZZ@Ml?5D(07XKwrp$62Z;|EmvJ&!PCkP+pFc9^71&eLY^X@BkKxE?$xkTcNKH zo-tM4vB}WuQQ2``&Da$+IJaqT>2F2Nv&|C{xLm30LC&j70NQV$zg+WfTX#xZH0Z&m zAM0Q`4Kw9#nfcXS2&%rbgH3-HGSI*r?!BbR9F=*zQu+XE0(1}J2-e}ln#D~Eg1#l; zxh#)h)p2E5$aS=Bt-nR6u}U|>O594-l>d3t>!}_6DrNhM5Xn7Ek(H;l%z;<)09ODg z(7RK$$rX>RV$r#uVa0E7L2BjgwK*BR4h0gp0+W-H{FN$~5Owy-m8Wm6dhfvDr4o?1 z+CkgUq=(CmoeLK#neOc>yE&5bZT{N}OC9tgpei#{Lf?+tTrv=nJN58--#g`_CNU%H z!L`zTZv2EjFHe3ue(Q?dlLw|}&a}MRf8=uj`qZ1J*$-1UZt)stz$SU^da54A9<3Mv zA+j7bGdv6L;rmN2D`smr>Q79bj$y`SyvX%_y*`%if82kZcO*Yr&6)eCM!!3{~_nI@m~X>yq-0A_R2qW8JTDUF!i1Z)eeB0`ZLRXGKo2&&h)cJSp7Js{;E-kyos`KmV{17Or_?rwN zO+t&2O=&9ohDVA|MFMD3Q3q_`Ep%XH(1$kFXD8gb8Sgpi?d;F*H_f$cM;T2a8@|5u zW#9}Vqc(ZiK--?9>F|wtHA+@VGbRM*bplfC-0f?_liS``h$@S5dPe?LF6+(1%#xZ0 z%bGjw<@`P_Hhl@P!DYvR2wZX^!DSn){>}yPKPRNO7PGP2=a257`Fm^YR}a~d;{pCN zVyu#!nre0Pj~4G7=6>`89n7Z zUhTMF;0jRXUD2-FsA6g`K4b5WyV=Z0f(snB9225hsgiyZF7}yQiH(TY0R1OGW%+vz8I%mB1 zTEQcT%h7j??XN$8D(YK@Bf3p2(m6Qq*q@a>MAAuez`pOkW$-(o(0Ztq)5j3P%j+Ad z#QRSNp4f`*Gt&Ptc@DsWgVksSq|Tz6FnOdPC}p^B*Hws z21$Hll=1-$>RnLNseZoi&zMni?0I_q5R@HzdZ%DLjp{abPU{U~<3^fg2uM74#!js7 zUlxPvf4S2;jacI$_OCfr>Y4FxeymrN?pG;3IRc!7=&vaq-BQOn8~kDSu9NG&zpD8> z8E8ZbudY{36H%&sU5JgmrCqW<{G~1GcKI=$wH6%Wy;i({)%;zP%toKsJmi(`je`cW zW4;#7eRSe@UYp2n=PL%oc=ZaGW?K|Av3hvbEQ9#U_3hVY?XZ-}yJ#=`WP#vbWpYrU zeN>YG7rQDh?RE3t*qA7(O!D4?Lih^LxlxXOI!9}`Geht!Yzcs?^gm$~Y_SHYH z#j7S=IH#P!coO)lw4Z%HmZy^>}7z~TCf8%MI+!OaU*#!9Xq4`pkg6KRt*^%e@1 zn<7`!{?*5)b&y4I8`RR8_q8$bUPZ6a@)rrFEnG0COw{lMz1fiT4BnH2ypmq`_uD73 zzxWDq;e_{1$%iU+X~(Xm*$abk0eum&pBlyr)IA1W?sS+rgs%nfZ^ecajT423u}xo< z71#D-(x*d^p<|TraPFYUk9I&R%N5b>_4EAM+WUJELtF12f7Ki?Dg2{v*AXfvy_)vn z$-(WYJN=iM{lL|BgU{S-wLC2Z!_=P~o_tz~s!bo*-{PR$5x*#S*>cG%%{#~ZX7c3N zJEvaWLwWX}B`sqU{q)UR`r-)sUrg{=ikYQkZ*Doff0W`Zo*eBq|I4@P;gitUC#9n* zm2|xa2%` zvWTIpqk%7IkH`PmW_t&ALBMYAWxPi;RGF_@N%0ZJ(<1+4<@ak`XeU&}{;0->Bl-38 zUeqt}cd=7XVoqpR;=XU0Rr*edKfnjU2Jyky$I95u!Y=C~@1d^`kBWx;$Sy?JMgMS1VnOP>1=aIR z@z_2Bb`)TcNLv>MRV&wBhm%_z}Z$%4hfG z@cx9GD3;dfLLBS%!#wRK=n#K#~}fE z7?LnvasYc+>vWg``pgXZdqc|Py_HYYl-V;KSZuCdBNaXGQrd9}q$AgX>J82nYQc`% zja>tl8LQ5o9(>V`<(ppjO?>YhLHiotA@Mf#?l14V{D;pPJ%>Qz;zc>S5x(xr4y3%D z!Wtd;%?GX{gOjZ*EA^WV_1mmodkSgLMKicSN z*|i;AO?A5;c+O_F4m_^$lnX+E;P89SgFfwXGEMtfd*zos)u4$V-CaRj;dwnVaje7%Y=kH`%-QMpN@ zQB{-{&sE}jX+U}Sk5b@WHWOUodMu79Atfit!NK3ee@7{J3ocb$k_pV|`KZ+XOJ30R zkSdwxA9o=Vg7CW_zD8XH+$DTcqpodagK4Xxg{Qk+g57ztl@ze_A~`)g9H>PvCA$l-Th7b07Rhw&HO^@pz-BqUV5XMH-9L(BLVCUszipDAJE`?7 zfLrIK_-k~(YoPD zac9?k1AOxYYN6Xe0|o7P-d9R1z?Vioa|OUr_z7^guk;r~TsZv_O zQ>mRf=qMz==#eSl1P!1qP!^L+qHCeI7gcH=`I%9vSVrJLw+jR!n~z+ozh?yswuiBE z0vI@g&dAXYNL_WQ3&gverDL|vDBOlFZFnX1#w(a#e(=}3D^U+3f8K91oSl7{Q?<+a zd}Mc4#)Cv0t;E&Xd+{RaVmAK$X4ZfKLdA?U*M37YBa7#N*962clNw*hu4@f z7sx2d4Rmu0aePG3llF~5E~%$Z8f|v>l)N63X;FrDo=(OMB@-v6Y{F zld0F}d!)AWp;1elyLHk(-cTAfd4l|!_og@h^K;+gF1zuNs8l8z(#aG5q{??%c__0x z^CTRuT2m#q5VPM9MC#_dZ^mL#IT$sazQ zF<#F1$rHTQnztTuh)O{AtPTYs>Z2vJMJ_0pE`QLaLL`zlj35$O7n#h5$<;Qz$9~Sw zJm-hrEHhNksL)GEOo=J@5HtDxLC{xvaSHc8{ojmU=qzZQJ7^nb7v)WsPDCoRtMs8B zaQKyb*UT|A!9~5JbmYFWz*e44nCtD;ob2V(E7>nb&<>8H%&7 zd1C+dQKUKqqRpWx1=$nKMjEr>ovmqWM{>8azTPtNzRs+2U9n515_x(3A4U-2DSmT>eT zz9o1t`bmxF-$<9BC74qEh$7p!th+NMcl}xru>H%Kiim>nEn`t0hC~5D9ci+416I>s zOEU{+TOubgPnG#v9ZNrPRvVtQuDN7w{J!g}iTec)2 z^M}?H9u2DvOPA$EBA2d5enwj}yWdOxI_$P^n7C8&V%ICis+;>aZLr;*svAPQDIm!M zo9P;(t5otavRvF{tr$wrf=r&pm8ed2vnh=NZ_A@VRiW#NlcUz83rWpIPr#k`XjDi} zGy$JNQ=}%-Y+~qLi5@Qyqv{+6;8&?rUN6K{zwj&#PSYY4BJcV(*lL0%Hfw7-{U!-q zK6I|_2a1U@9tP+pxhS12pb1I$aX999%4Qbt7gV8ddUwJ#m;GjkP)K#!gQZA0)=HCb zWfl%ve#7dF-B7}zzm*!QxTmD|rpZ1QC_moQJJl6^LboM>pIpT<3bio$j7*HH)7;^V z;}v*1ufzyT!Y9Xd_I^`HV0zx0UaZ02#v2BRN!}gDxeKy5L5|NZXwM?O2x|NrsZW71 zKocL4)5$#&55$vWJ5T53T+J;JQ`eWS^1_icWxFV&WS>iu`r8(-GUwbbr=JR)J?N+n zpVl);u_yXyPIP^v%qBP-(4kY;8X+_m{JJ*(Cep09m}~1!dDQ3V-Hok*lVm-mC}bt= ziy(hiIms;QNe)CvSz@%^laVta*cf$t1W4`!4JM}%VY*T*P}1&`HwBDfPNGqZW}weeFt=& z-d8zd&W^BGR`EKJ6b9;WE?=oDQ`66>X@R2Ly4Y1~$#9oIh47_9*TALjJ|?g0tL_YQNQ3K{AR08-wUd$$qWjl=7b&dICLDIBmOEWcE|GB@n z*J;Nv(QQHLo`Ln))W9Nv~xPnR+M9r8(yS=N@CZ1Vr-%s7MlM476fvmK>9xKdGkge;_*QTDR z>y=6@n|t8UM$4HW5pg>@z?HTi1Zq#{bHKp@-cS0GYx|kUi;Sg-)ld5JTl7Ij-Lixu zDU0M??TzeiIg<-zA}apa@7ubZwH;vTWFs3s)I(QDZyK;>(^?ZDp^J8*KQdo(13hU5 zF~kK!3n-hp$%b@#OT^H%Kt?^XeMd&gqqSwLZ%A+f2=@+~zis2OUI%VJ8nl@Z-o)1; zc-NnOvbcFp?NGFc0W##hcOrt6>z;xP_CUa+PLcq;FfAwl0}55<$-o;g^8SG}O0FLx zBYkp=%ASB72!^6_BNjBcidc86u432xi0q>k63tCQw2oE{k+>(vsw%bx7L8mc$*b$rXdy!v`x z=gU0OikqBhokvc7b)*)=Irr>0Y=bh(_fer5TeL09qSvr${f{r$lEx$Ryl1*_#1ijJ z|J#=X=pTn`Ux1*`x(*N4Ity29vZ&aQC9H@CRTZI`S@3 zqTBjA@E~~XWQ!q)&;AcQHWXWE=8&`{{0d>1&NCkgeRdm^zyTqYfa)tG`IGM9h6@AtWh23O21pb zK|&pkglm6@`;}!#pXfXf?Dv{r=-=7QYL}1GemMo6I-;$mlksqs_^I!|Db8=X50WPU zO0o;X4R~^W=Ezpn`SO_#hP+|P?>X<049s^Q{Rkk$obd!nqcN0b;DJ!zs^y)o* z{uoOFtUy*`{eI5+hNo0Y0xwRQ#ateOr3wS#v|8ptbW62xNf)+5mQ%m#cjooVXodPH zF-5CJ(VPP|6M|K)m|3(SS<_0PW+meH&{x%$YSZlBcjLx|BIkJRvf3p{tCK@|e)mC= zzfL|>1cYz*VW#Zi(Ptr!t8N}09H_wRCm@;87&s34@Gi<)r$Taxx#j19pZl z(vfBy(d{f)0>BF=$d_6z-8=1*fz_pbd9KFGZc?`;6=QHVpMv?k4q@!2I@e9?`cA0x zwyR%keAHN?b!Ev**5w@Gd+J*|=}jSSHA`(TtWBJMG`KHgP*BxxQ54#W6Nsq zKU(}c7LBU^2LN67#I!;48s3 zllGOyj%fPaR_@`Vl`#ls4Tl2;#0AuEVm<;DvieQZnO@SpL{2;L7M|ZL+Q6^I060vh zBgn_NOB+(KF%3;0>w4z)a;gwR1oSlq7hvg3BYzA5XSouaJ}(A_M2HGbNm@?u0F9$>At{_6)c+#a z&flC>d0sn09vgu6^yIlxyyQ)|z})`=AoyeCHI!1tESIPmYuDgY|9Alnt6vEPtM-!z zUI;{JsLH7FV4ESuuQeK7+X5#8fPJBA@TA$@it&< z{sN2H*wQ&`Qq$dUJhpzLLU*c0dONBlL=ZF*HSdlN(FL$TP@`&|Xi;@~aw_MwmD*mOLv zOdazk&|4YkYW>=ZNS>XzDsV#5`7H$Hud+>2*dD!#39M-}ja-_YcQprV)p>3*W%hX~ z;1Nn^V=hX<;HDW{tIyK3(j5-Bky2*eeiN-cOZ7YhvI~fau#Z*8v30lZAB0$l$glc( z2GZU1U`5QYtaWOmHA{DUg4!Jq0 zdNF)?udOpTs6UyKRBM`v2a<0x8JSDEUtr_eS9|`?I4dNhGvbjtI7RI>Ttxt^Ii83L zSN4Z19aP8S(gzy{`>}K9mT5w&7AI1;9j1Hb!-c#h|N2cgX_&leip)N`MCkGB>n3|` zHqQ$gDOb%8Y zl%Sp(-b?-rs6LoGupSGu0N44(zo_jK(kWQ=EtE$Io5w8=PMPvT1{HYCJm5Hsw&rUCdlk!Hz<-(qE;RHsmosgXsG=eJ0=8E zIjp#)Qu`M5bh4*- zx{L8KfUkg{>kF`;bpL?aMe6l}1sZ>a#hUNJi50tr=n5eoGc~+;>PNp3DgVL$D1`+w z_+lHjr!h5J7mDP|MuJr1Bx+z7h5dDye^fSL<}s_9G{xz$3u|g;CmM?~X3M*V5AOk3 zHRCo)p!+J2V88I8KA(aYib7}=LXw@gbfC4CeV|L5i$baQV?W?SilgDsfuj1a=Qie3 z9MuevP?I_XX8C6oSgnnx)9svpNemT|e4~M*Z@uBw2O-2 zd%+HpN{#8`1ivkX9e353%+WQ0>14ET%1F&-S?Uy6MQF=PIWeqpb|!t*&)chXz+*j5 zC5zlDo*ueC-173Y>P1fH`BjDGP}qiK*B=G;H~*s!fP>@)Apa!45+eNXXM1->e8$p$ zzx56946t25@i{-=QA$8wJKhnnu>Z^Ts>1*I{Qr9myz|d^4&YU0;Pvg1H>rc`B-B(Z zoG#9vwgZ2oSBS(7nZ`|Scog-LNj51AyiVj1?i39QPLhu=$oc zPet0O^sE>ll_3#AT!6Hf$zaO~rh8F*DMgM=_5$b%bitDT8XaPXZC={lmh;Cp2 zU(L}As&+FMKbc`r^1=(#N0B#3&TFmH)*-zP#l2g!a&NxUh4UnQK`ykQQmGT`as1q;@qdAI2=%O}lbJ3hlbO8xu!p0}Nr=`fX?zukBsym6fG zDCzoq)rRo1#BC3wWYr?o`q2POaX*%>+4caRQh2|rxkOoAmlln8>DRWi)!Fdh41mE@ zatE2!6F8*)?)yfGfm0xJXV_f5*GyC8bB2(Wk)@=&%8_tFkBS4T$fwoDU!Etl;^n$+ z)7w?b95jewZ;Ze<#ST7ctQ;$JtqAhB=ey`F$UiLO0z;By&i!T}w?F*!7q6`fe_!9j z>d~=zD=ltb=t_gLdBh?og-ZxCfg_-Mk!P|@0=N&L8!14hL8`>xl}@Q>^YK)GZ}FnC zZTbegY5ONm0xglutpp7>OR0%Xs0hA)npaX3dM<=s@{vSJ zudQf5C%IYH;6MkP1{uKYwroMYXm;*mBL+k#UA^-iEgiu7Ym*$OU+vWwJ? zrbEP_T|YJ9&6=X_v-FS|K&mKB&}Kdt79s($TZ$f5LazyRPcbg#?MEC!TOS5FIISW;r*%Bhh-TLb<{PR zxIXuPdSIuociuwHV-o&4rlQ6^G%+A|^FjIoH~({0Ww{TD2lvL33XPqL{F*ObYE#7r zEXqu{vA=5R+;E^!SDa!NozG>)$y*gjs}7X0G;hL2-21;yIxqVpv0QZKh?~zEQ#kd| zZzX*M!x-y>(Kr2y(I?XTaJ@u-%*h2S^n5s2NU)zwRNWueb23bRTeYw~6UZ&OIUXgo zmpmzr?a{459q zQIP;-Fpr{{_edX^JUi2CncYKXna+i-;*XF!S}!#yO#+U5FUR?auKCvd8jz_s2Va>M zk#Sn2#^yK2wqA%JPka_~5%3B`%GWvtBC`YS;xc50UVRsd-98SL@GMj1>}3 zRu~y3v!d&=CsDmzYrX=Va;Z;|F18z~a#q;cm^oUOy3fC?0FlT{gZkp+#x@cg)ffb=njazG5)g9l|ef<6if{%=fB~ z7pb<%9PBL1mzoQPKsIy^S|gDRx-TuhY4-gk7FI*maK#_N)Ssi?126?ri(OD6nNr0a zdtH+tgUk9yG=|XgDCHlk_VH1Tr>xWSF0)jVGSm-^$&McP>^|K$)HXCaw3awxcw{KR zcJ@=J+zO#s+2jBeAq9rOHeJ2~^5KZKltL|2k8Sd#`c{Ycy4kEL=CohUj?Go&(p3&M z<$asC#+2%JFerO5*)f|BtHPL;6k@Z-M3WZ$&2BD7NNX|%AY<1%w^Zkno*;F;6O1_0 z1j4BTNeC|?5ZD>&nG{fb9h#fn&@s}`)7)nTG1{|PU4p2vU!>Y8p00g&U+vQ6Ny`Ch zXk}UWxi#h*at}?a#B9Wn8$gxv9p1~AR{^=+^ znxW7w0;4JYjiu?H`r$|U+B+~m>(7318ovCga{tLC6ttp6+tK_{y32H%PBylu{!-W! zt3HiB^gFsrFH*HW@ZG016VxTg%sw@=d)@>Kz6A2U%N}l`N!KNL^i32BY<@jmb(B)6 z?BA?-I@%|V(+fEJ2robUeoG&wf=)XxpZX_j84ZJBq`8&+WDnl~U$xY}rdW4%rtQL% z&h2pt@+Tolo>Ne*?Ng`7Q#Z(SW(n#?VHl~2&dRswvSbrEQOMD4{~M5Ep(Tvt_MV&m zbN_`|wv!jK8gn`_HlTmEDiLYihydSjv&9P4f2dfwUWQU z&b&zVKGI0rCU;NQP8zn#EQSruEByN`BGxx114_jtAZ5@0xd)^wfZ75^zmrb@9%knn z0QLX>8t^u^I5`l2_s;nLx&}b+ILUvX|39w*9(=|EQ{jKd|JU_Sc>I4}e`BvPy;vwB zjA1n!JRHs#1nsc#we&1?xdr{_m(VVg773^R=7O)~xSihrHCzn5PH zE{|U4gVe%057j#@cY76*Tm*QSokH6*9Eeo6d1#lw+>#5a4$hf#5(~NN{eUR)!?QAV z$7$OOR^iBOd~y7BOSiNj08gjwrEz{ zTSwQ{@v6IgCkgf2Oie(3E(w8)wU$^o+IrbI0IDibMjfxPV)?lSmin;@w%%L_-L@{G zZ9YBYXg5-Cv-}xbdC~G92i(>yZ5p2%u)V=vuP?&61W*pVbXX|_l4oDV$YGMLuVm8S z+|g($O@v2FGi9CUAM|a7(^k3DOr;AyAc@D&p+Qqe8$GNGh3o;~PhN zmxs5uz5r^(75k4*s8HZnx^Mj_9G4@;ff;$@I!rO{h>L&mqxt4d;sHs# zlZ$Gqh(&|cP50`G(9uPzrEDc`p?uSa+j5Or?!IS-3OB1&1^A56(tg<_f@2_hp`zvi z%jSthS%t^*%C-FBtcZG|v%s&ZMvy&`!d?=<%uvn7cHX@FI=h9gkQ9Kl3X&Z{iT~Y) z%38MR$sE(-hm~J0I07@VIF2CF8Rc&veUP!|3p{^yys`3YKRe^Ls_^YBYcfx0+jUCg zRJfrI%P4wQDkRExo-}!J%~vvij$(>rnzA!vE zN$Geq4a!yhsr4BP_$=u039HUJELP(qTt}-w)oH_O?SE1A7GO=jQR6VSgn$7^ZKxnB zrP45l35p;p5=se3NRQlLfP#tvJcNL>lG5D+6qJV?O2^0nBL^EbYJAW1_rCx4yDoNd zZM);tea_i)pTHZ-I|{Hgq>1z^3s|ryUt_AjKGBlTjSZ8&g~M&sJ11w1de!(1${a@qcf?k=C2emcN? zAMdQ%jL)C0mY?%*)WFy+JIysP!ew7Vp2&B?rnEE^o%36GMa=Iw($TK@I8yRWdv;Qa z17|_H#YPV(oQp%e0ZfwszfN*V?Bm?747!0BR|brTRV*Whu1M^|u%hdW2d3x)Kht0jzr@YOwv zZ*SJpU>TbcZu3jqHNO)Py|%uFyF1CFc!xAx5t1gIp3R7MhRRIB^WpjV<%0QKa5$}4 zkcsKcUMo^^mdKS07j?HQsF$#?IM&QIP?1)EqJSo!GUOeN3EGD1#sx-FCM*!1A73rA0#`9@IX~ zjr6^X^tIkVS%PKOqj4>gi%Ds08^t(@>Y}?wNrg+1PbHj=`2thWkACpSAzH<+Uq?hi z_!860)`<;-58|jneV?*4qn1C?*Bm}dFoYTr6l!T8ha4}p>^!?yC6-jpwGi+qd&=QQ zPxOAq8vA_+vl9e7v|<*5)BpAan-puR=`hZB<2K3tb6DBYWN~4(Lw94C4PcK z4L{zd4b&{i$?cq7dM*ifwyNGFD6VH{bnEw?>+you<&R8IkOG^u!Gc61er(!84dVhS zKxC8V#vd4VfJyR$s`MJ=i?T{w*f$QiWxy%s3_EMHifr*5$-bXWp1ab?1#4d~6n`jQ zr{o~d1=&mtHbgaiOov)EY_HsB(Kk)*T3|)Q)7;Fh#n^{-Zk5Z3jSE>gm;w1jmp%SX!8%` zFC{IJ^>8#E%h{?Q;5M~vtmWQ5=x9H?j`aN;Y|*R4G!~9d!uTS31^m-#3R3lgS$(O9 z6R^9&mq zr-k%oWzy-!K`>P*nJ`Wq32s@fvyon>fX;|&Z;>|kXzdd^a(cxh3*n@*b{O+*=ZDDs zyW?sU%0tY(;uFx0fa;|D>f8=7NM%rPx^+OfA&&#J= zS|r|U+uWZQ7eB5QY^6098S6u!qSrW*WD{5PnRV(4o-g0Xn?5t2bk+oUe@N-%*Za3s z)l0RhC?D^h`=zJ4RzEa=yJ~haWSB+&Euz!Sw>y5{=d)qiRmhZj{H`2);jJbVQu@j}-~vr{HXaHRT;!Q>%Y35Z{9HK|Y=VO;2nS&u9_Wx>R(hx#OxWZPW=5HZ(T^RQ2UXPXsgm(mG$->}W}Hj6 z+b_O-T-FTw@QV;mnEEs#YuVF+|4jZGi2JkSHuV?SI47$3>UIaQ1Xs0fxFMOP1GK~i zj4~TG{FMPkBpv0AxWkZJf74>5Uwm_TZP)uSgnZ0Uw@F*E_3nhjC5@sV;4whHlyhA7 zn|1%43sv)uJOQU$arQ2H-nKdpMPd^@C{qFsO8yR(d#tpX;vUyTa$Um#!RyRJ~&3`N6>AI97WJp)C8biSU^bgN7qO1)PR zf7*wzjMia2nFt^nI>}mMmO~!7sW)AXk;puqL4o$i)%if&pqOV?>1X;e2V||MXSpLG zAwlAHYc+?9;1egj9(=>*6c_Tc#;nIW($^8HYhhH9WJ2y<>_HCaCT8(xlbnoMu)58( zR$?RPi^n6}fAd~gS5WyU!O_sOkj`UXlBQ4|)V+zO7hLQCT?3AsPoT9#OPkeWw9PO^ z&0`yBL1t;m82*p>3VOl)XYjqRi_<(z;qs;Wz;;bLB zCn)$3G9JEPH%zfx|9hSM9n_Z7-xa*U&UDRx$8UvlmG%54`o&fCPD}Zz*7^}bOQXeG zF!FZa;oIE~o5R-Dt_h zB=d-AQf_FWN&;|16hgl*v&_89hoJHliG=NpB4OQzEs?hw;UnLnRHZdkM;dX-jP~~S zB-6|Jv5uW}{b>EWCpFG(21)mT@7HfRQerM5^DsNka8j>Y+-%S5J-gAIcO!?Od=+Ew z$S5?|${K3JW)}2uM2-mBnQ%kqVXmOj~hnggV6Bv9`-t zK?UOydcmQZZdRmjf^0--CVf&43O)RgU_~HJ6ZZ{mj86UhcUupUH;q`nMpkp`w-RJ> z7Tih92jnj{g>%2=oLeM57LHjU#)7~y#le-_n^#6HqCX+zJ03>n+2uEa3BTA^QN~7# z6&-jmKuDr0{}{`^z=biQXeR}}wrA*ba{Fk(X6=6rdI==m0-c5${6?HP zp=3HGnyfxtG+mSGk43y2j3lOBG+hqDoPq*XQ%VzdeI0kpj|_D>--7=Sv1XO%y>!dj z1R?de0!%NN=b-|>mrNw@lZXolWFAK~DU*_{I4(|7t~`$VNO_XrDaQlv1Gd}n$`Kxl z57tu{aW@R_FmHL>p>MQWRiftPq{2EIVUT}`MRq)zrLT$(e zhge&yd4WuXK5FX#2V$`Cn<3T3#ZxxJKAV>yXC+~Qh!V({IJnIyCk;7^G#azpPVQb; zr|Na~Gf<DW8~i;qNc;G&HA=)88s%ojqpL7=nLXdN@`^LZ@Y??#nn~X z>w}6>3>LL-Yx>|$NiOYT5j}zC6P9_lhvC{<$~E&M?PB6}gAU)d=8_u5gprP!!}9iX z($YVQ`}ZLo-(|x+t*!4J@*0lH>z!!x@)oTcmF!T{1#W5HnTQ_lJNWRwgMc-fUVFJp z`*cw8HPoo*xo<}|7=eu8J!LjIMO<5*KI0TaKEz@7F-^G`h=a-Bjn(eY((D#-6k`@o zD+|F&tuW9WiFJZ(!-*vGvh;%yYOR;ac>MjhkI~2-4UrpyZ_%BBsb<%i&l0T zmtT~y5y=Y+pA6TK`L-m_>d~mJOYH_H9q-t>Y6E2s5+>V~&A}5tJccek)kv1)HSOcC zhn~(rhY+snT(%Xr3Qj?sV9@57)f}<(YH8^A4sa7?em2>lbfJxuzzc_nqTWBKc<;;^ z@$(^I^@n4;dKo~R-NriVrnkBT!z~Pjp;dz>|i@ZoxF zKuCa|k6?kS5aVPF-==Ta{oY#+v)6RvQ zn$O~`J}k%fwe_B{9Bdw4j+M}>bI*4pbL=j2G>=LluDZIrFDa5VIDDoFaHrxbF9cpW z@=45^hqnl(qzWX~&Rc1CMwtze4qeLGKB6{z*xx}rIj~PD@a5u<85ev>r~9%(w-Df$ z9}AO;6ap_!avm(z2h^ugg(kJseWb#v9-2zI|K{2oz!Gj+lY_3lGuS>i zqhzySi_P}Ad9ucC%TQ8$D=&1BrO|kiyeI~5&PNVYtK;jiaG_0_54myZ8N8hG%e{v} zX{WUBG_890^tgH9WD$;n+>7`)Fz#rX~sp2f{iKzeHKOG^I&_3J#zzK+Q zuOI|CQ%&0ZA`|cUb|Mm=i)WlD_r|v=P4Jxo;~MEk64|udQdMQoDn^A@%d-e!>2FiL_FCi7AM5XW3Ky$ zZYX+mupT>ZIL1GB#j_yvCSTj<8}=ej8RX~b8rxq8)=w_uT<<(dU|o{=_)eA!{5GQ_ z*?+@OB!ow~vq&n($}-_tI-&of^85W!YR>6=N}EE=h}2 z7ux>*%Mz?_zLHlTr!1{?5z`>$QNVtk6D{EXrFRP4-Zx$;j?g;NHne!^ z_rMVa!=J?6iC4B)Ve$jM{l~^Gvfj99efajsWB2IQWc8=9iM!{?0dA^&FvAy(QN`m^ zL4umMubjoU95Q^K-9|B2f4cswCq4(;9mjt*lzX{?{`=zL_v@h^hEOM)gyX#JJ4O?_ ziYH-p%~;cNZe5a}9G)nWo~?RR^-8O76GfNfA9!WCaE`H`u-7ZtcFwcv z`z#LXIH;TTc0d2!3!jx{Pe+~{<1<}dYm!0;n*IJrf1^Y9hteiSw|$_ zxT~8Lx!n1ZD9dKkm7snHYWC`(O1g)&9=)3&^;W*5)y1LCLTs2=d-`09s6WVTm=@B7 z$SaY`npRt^x~|b5b9?-=lKrRW2*+RPN-bY?j-8l2vsgyE+v$8>x=Phr?bA5rYJN-1 zGVLt?7XLE38ojeg1v}C)xLZ(t=vRyb#1QL)3CDqq?d&7Wh(OE3q75-ZyYfv!VqZg< zqa~k5u_z-x8GKkHYR0WU4;P7i!CD{W`^fPscW6%xizYwY+!LSPs+eSs!foa!hqL1& zlw;bd)N%LEgiZ0J$BP#azseRV(49i(ozvRx$J+y1`fv@ zsJAuW9sNG{T-?rz-v?N)Yy=-d<8%@9op~x1bS*~EYu^9gGp7Qx?tqg>`vVKES{Kha z`p3;K>g)rC>_r0a%61|gSqD=k-m%HX)QK8g4G0KIZ$CBdDOkK&r={uDi4-OmuSQ7* zS$UBfS~ms4Mf z`r-T2J3sBB(}YAv_J6$SZUZAZCa_$1)UDHd-r@T5Z|#raO>AYKB^_Fe-iH5fE2{GU z3#gpA2iv`CpE;zQ#C3v!unPwd!K4PW+~TiU9)pOf=6|7C`43E~M<@&y{zgeVyg#P? zU6mqCYB$R*30xYG3UE-zV0kZ%ATMuO4tc=7)+AbPl3s(enmJ@7pU1ro&TKMm!Qtmb6Wik39+IWx5w4 zh*0CzyqBQFoTfMuhwCW2pq9)ziHR@JomF_%!nck}KpoX)cPu=)`&B1K%j*uet;*dS z)@)V{dxUqfJtmRl6`BsME-FJu@q)c70`}sh@nRFjjyXjC5LMnXBYRtjo&@IWA{F+q z*ibV??$G~~nIM8(*>*^~>9SS4l(?jloGw}X^=c=0-ED17DDV9gE$^Q-{XM%@naaN+_PjI-0PCsIF;-ZAPbIt&H(c#orsPXIb+evhLfiH}U# zJBX=q)az$eQdvq9Q@s!-bGow#K#CYlh?5>r8UBE%%JjOrDqqnk zeck9}8Of9yP94_5z&aK%m-svVN(uBA3w;kg;A_Wm`a+MJ%!%F_vIU$@0$l;OyziWX9GNy^ z96E99!`XpD@a$o&QajD;KV(!~-SFb))`(L7XTKIHLw{5vrzzdAd>f#ikcFUsVl|2k z9`T!Y#<7G(An+3KQPI%7O`O?F(zznp&x7`;ORhQb0&07X~-e zriBsMLp|wsB_e9og-FhjvjmX`7tGr-L_uRU5U{J8PGgjmi+k7NEqrmOelB8m(apD; zHV5!1|DI-1lYoimR>hcbL|#zprw_M7k_3QzuqS_n?jj~xAugu(0(QU3hY-FI$>#Aw zCOk9YUBQ7+^T%FX@>LIyT#OP>0neW8PMMACM zL9p;EKV(5Da(QDlzngtwpTS^aZuAj=1b^phq&gx9+xRM}Wbb3J;En#aO9=TvJj>9U z$=AcZnz$jpwGuym5=x>r4?4uMn@IA&lK6TnrzP~Vd#)a~0!GKhHE&2oYct

NWR| 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�l7TgIu@G#QgL}P1Y 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 z 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

yV42P!A97%v4PS{Mvh!&&HD>tT2)gd ziggz$0!ez6I>j8PHv zo9q6#y+4kg9-w%X7=OR->(1@>nRbdN^7hU^Wx|wdEsq~x<0J&4uZ>mK$1BP>7qw9D zNiv{yT06B;lZP5=eB8{eDmoPeGNPA+Xqy7B^IJli*!*9o6^i~0^5;3Z%#{j$8x*n; z`3noV`$+7OWQ!1xH1?}pT{hQcUcp@Tv~M1v`K zqy7l!-X?<}-5`b1{^pC+kE=Jn7T6wc#O#!%%e@~}Seh#U6FAJ($TJ?!$Y!UfG+62C zX&lqHVxz8tFN{_otW!SsPGKKkGYW^HN7G-Gdj08p&j($uv-8`R@^U%w{ax_6Ax?uJ zNcYIf$S{Bt#DU-~BHDL$b{3ckfVvn5{!Lu}yEHSfN!Ho&UAMyQo}9epQO0nK8fzxh z$jCgqIU6K=a?~-*>hF0Re7jYIittKxZQCne0;c?4vw+;Z%auvd^)N#yRH8FyNF}RB z(mq_;&CRX3|L=D%9a>`ly}y?eXe zg|(ISo8N90fDS3rTIS0hr$U3RL4-n$o%~~J@Q(bP!}?u2iZ_g1&qu*WLa4-rMYfjS z_xySgUBkjSIVB$|dWMIu;tFI`R5*b!rF$J6@ti)2!fT0m@ z$ldka{n2@J<1?lJ!@|6~gHl`)wUY@E6)7a?co?);`9Qj&0SU9T(@pbxNzamRxa>Hfw{z3tidad< zFBoyBgmB9n_~H($xn6&L)ef61m1s6V<+Sl}SGiJIWywLO8xUsI6ZqIN?t35Yck<+^ z*rK6OyZmi-U-TOr8zcS=2u0|858nZlSvWQ2IsWx4cI+fzT;S(3rty1hvG@UTDLO4; zRlfi@d5o!T`&w1gvq zj8&C~QjRM!buP-Do07M`18T`sXV>n@OS{!^UZC^Sc}v?gTmQWcB;nyGpD^FLwv}s$ zSoc4_jh>bi1tiGy)iXn20)nNF*`D=%)V`fg?ePEPd8qU`mOH@*e*}U+j5QDb!US_7 z_|!!GX;!%=57D9hRcS%~ZVULRaYq5v_e;Sb`}yEBIy%7*|9K6mJs7Akf&5RMOBcKF z{EfwsnR`_I!;5YD$S4#XoJ0r2kD%^8aridaqED=99d{Vcp}>nml--%BaT}gz=!0)n zi1p=!AdQL4%`X5gPBuB2@52P-E6`D2TtL7(3HyJVK1sKaSn$L);X{u5t`|N^eD7W- zJ=N7(U6B$4c~=|h#TlF}Wsu+zqWYoNz6;`wcG%a))w8fy_n1V)pwD%%o<&cB;c!<5 z^^z~jbcE(wR|pVB|2O)+KbtWNbl|lTz1<%Hsj=J9B|NwRx7529qPeleaZUCwI-7Uc zfQ`IHV;gWwsDJj{h}2lVm*;K=LvutJmot)C_X(8su#t6ip^vY+$5KI&)WQzd03K@Lz}4ayrlix#n8bjU7A(fJ#pB^N|xdr zW>EY(8#_pEM!(p~ncVn{-NB|CUwYBp7Hq>s>KHH){fA2vHvFjP=S zVP+m0`1-Bg0o{g^J~IL~fQaXU?61plt7B|H00UF$2sive7X&r8n|xY6vp04A&jerm z#!(F9Jh3X7M7L|q{MBb6Sy!JbZKc7ncaG^(Q6=mT=Ch`kYW1IMwQv(+SKR7N2B6?l zRL}Y~%vOBe1)mgrs!+-7;+lC8bxDByU|*+v2D~GVu9sA&=AavB9)RFO=n8<=>zxrA zCIgi*jkx9~$Jy`;IWt`}V~`>>$z)ADD7c^a6NnM1Xb{kWu4y3r)y`W$4r$2BGCH2F zdwF>w@gri-G|NgRO=3&H{0=&(3Ku}^(zD1n4>|e@-?;6S8t&~ zIt;Gbt}pgJdoyvdy+Vaw9@Z(Sac~m@ETY+tk`S|-qjtDl!OH88T`w)z6tGrgB#fPW zCaBqCD)&u?IdHmVzznG_cx9{lAU>#}) z_QxY;y`G2HeT(Yf)SUb35Q%OqOD;4j~ zn2CK9^14Hyc1+_hfwTmeJ&<$&1QaL{G4@g19Ion&#DeZ)8BWK?YA?f{P_%orZsyb; z;9tWF>ScK7ML_hx3-2#k91BBt&7)CvqbWAkJM3^)cZ&b0>lQd$7Y`3PS&kWGbtopwXSjVg)p1+30oP6?6^AePC?PoC9f-ax!) zyx%#4w+?(yl8{H`qLAZPkqjQan7jO5CICclJQ`aOCENG^<-5LSk4OHVv0Cf|OAS!& z0n}h|p}^_V_mDI>6#Lh0{!-2)f!M*F-l+ikAe8=*Y_?b0+qmC3l9743oVzsss|DDi zc{dmTPPtWMQ=f?Xl-0HczfEY?W-pKDX7WZgpN^q*RI^~N+}pLKRcIv^8*CWcbe zJ_K24l%-=(-9G+SsGIF9%DyVuI>Y7EbsCl$bXJ_VVGtb0G}yrPaMs&2R3LsTGm0a3 zy}z?pA*Y}SV)@URGo%P2JDhQIrdp*mQAhyHA}HA&^I%O*u#;MW41w)+v8t+yT>*x{POaQ-Q}R>iMc@dFT+8ZT;@qTn~9>x zGqo62?r{j(2;kl8t#CAqU2&~%RGC=$n%_O9v86XuIkVqDi+?HweJzRk_Qc5C0JM`*t^IqSFk zL5P6wj|_gz55ntP6GXdiUcp7^s~L5>aILLsyEuK^a#2c`MTS6?u_G_GDMubdZTCaD zhQ-m2jXrCyv)E1BO*`r%OOD#o*nLQ)kDJPA`0J)`6n-Ojc{&tJIQbukGbL;4oDHpw zGqw@o*~^_2P>gTR3-vzzgzgVuPm+?q8k?Y!2O31H=74;Lie#kYM7qmvzP0hQ02!zl zWg$}e^o3@l-*92wati9D#v4COHENmD-pdMV!-wCdf0+5abcly8NbesGQ{Rheb$n@sMB38?7uRfJ|5)kka6s=qP0;ne`&OJ~ zfyp;Ymq>d(OoPYi5BlwS#1Jh!q z`4LA}gaA`Ej4S_y;P>Vve3}$%rMRuC%#J9Ccr@JBrKa%BhJhIa>ZF}6K^)0bsl%a@ zhCa8J^pQ@Kpsek{CB=!9h1uOYCP4tHnW22qQi4hoIXk6np@OVE^VM?IcDd^MpBZDb zhmGPYP`;%A4NI{-U9H{+eHaU|X1JK*xMCkjr>VADlAqt&U4LvjyyFcQ*dW7SFFf46 zcY*O_@mA(mP+sxi^zo10={R3$q%7vKYbx~7fGQedGAsI$>!fYOM6*V}xM`^>Dz)1O z!+=vR7zNM22=lUer;QiUIOYdS(lY<9()Xp`=Y$`Q`1dctG!OGM0s+sg#x%yFl}`e7 z8}!So&p4KzZ3wv-x@YtSVoI$E7 z03*;PaqkW`LX(YKsFI03r{CYc0b|7aBl3SIMzdzEP?3(UZGZu&p-3*e18?b+6v`VN z{F}L8%-2*QD3yj{NYCRx_pgT(KoYJ?DEsj8 zaxBL3>#9I_wUhP36vi_wWlIH9^5qJTP#cQs+nR30^*;Txx~9G_ImdPH9PfP!OHd%qyW&P1_2rVC33EO&ak zx?JZY0=TT^^L4f+!1ig7>N+(uqXbCp|5-~sc$g%!2U+xGvDGmX*B}%#lry!lx>BVj zD`+A|DM}P0uoc?j_(glrq*~8xf&Rtm?f0M?X>3BS-UL5*^&6Z~1ECcK8)Uj}jZCy9 z?6Z_?(HkNwoS(P{K!=SFvBYtt#PMZz=qpdFv6<^y2tH8Goc;oQG)BV80_-)NAT3cv z^VL0%!B+U%?)*#mb_Y(}>K_%5m#`~+XN?p{lCp7-9qNQ zcm^k9cAD=tdM%5Ab4sKR_DXf)vW-nlb!5O5C>GXT#(j@IzxxIkvrn(+7j8B{GVQAY z^@aR1KZ1K-K=*K+zi-v2l{e3pE-gdZuU{){_omzwDQWk%0IhP7nQ1*g(6YqQhPT!g z?#zBaIH~Y3*ZFjochZr)(OPuUXOG#;c3%HO<0Ok3hlhgaYpg| z7ss&px*fSxvqlLlf*Y}t(m+1CnJ?Bx+uC70Al8qT;7htRZQu~v9ARAfgCari<2oMe z^ci*e5NGZ-3C%1>3%?7FalJWw;i^nkeBU^}Qt1M)%xQv|wG+YfDZy*gIC9T@yjF&F zEFSz%!4i)Ni8^1bojzMyKsq$@z(K<;2TUgIR9f3`&=w~afjOF6{1iX7LMxO>KwS|j z^X@RCVUTDRAwIuk0G~gCAsH#{ee*(~?}_&z^{Lqq^#tm%$twM#@FoeJv-`}8v;!ZH zB^%k|Mph|O4E&WWXf_vO>LT5-h_>++Z!9}jp^#&Qohw1pRo*CG2YTO+S! z{fR|@<{2~`0Pu-BWtQYn$TaU__hmn8{)bZLBRDq2+csJ`i{T5@Md*>q+Q(rb=chH1 zEvc!C?~NhuvkLOju7{t4l1BJTMj_qb;Pv+zzo$h}JJ$INpg!;7n#Z|$&!VN#@;RD( zrAjNv>W$*<6Rp+P!-I^Y0v!P1J)bBU)VF6#&d{K4XLy#ww5yK(xbJ|HoVOlha{N|U z_?!g0xGEbT@<;h7{@m8tpYjjh+L6;K8XRPlO|6-=Z%R>&O*TQ&O13xeLqj* z{hr_E^D#|JP{(=02BI{O{8H^BP+0D+SPt*l)3$#16eK5;3Wb`7Z;OTD^4-`+qC?4A z+leyj`Bq03Mj@W_c39!V1OF{r^T=l1VrgSbY{b6iz9k2!+)EI6*hybTxM zOnM$-QzdX^f+CczHy>0@Z&qCK!AjVXmP!H9;T^@hTNO%a>`^3S+HU*+R z6QTgJcdO;@1f_TD2zZHHe61dkP$?;u`%s6b`+2M0TD|D;KzmCu^)8W`+n|49&U*dI z>K7)x^DM8!+9;g+1vUG(rbf-D@jYItq-K`ykIF(aX6brYR>!Pgej;Xv{A_IgPjwCE z?g2>gT=g zQLs5Iryx+EPR5%U`FLMHX6RW_QWy6O?nEw){HbVkfU=DX3fWn2{Jh<@kIn^WPTuQ-n$JT4E6VTQ16h{qbcv#BvHmQ6p5b-6e zcd8RxBN}3jfDiL6^MXqKXMh6yPXAHW*oFFT3_^MEDHfUDZWv{KCMnJrb%g1$Y2kHt z`_2xMSlNy&QO4g~?S7328Gl8HG(h*%xWUR8(Q3TP!Jamj^uum=boBOKWs63E3^s2s zUgKi!IfPK1*_GP@AS*dIy?0UJ-^2jy13>YbmH?&e~S@&`(}J*&p4-WM}YnNoF^i z&WkU6@z7v9<3##6(UWfppG1yk9)e?$)wT&J8)&GVFb9Xo8u8Y9{}El!-}nXWSeBRG zN0gY*mX?S_9b-dN9Afor03_t)Q$Vy;d{xFgO_~8Z5#nlK!32SniOZauSXLCa2gJ=ik7uuGOmMQ}(m=gp zfFAqn1)H?1wRF-l_-Q|kH6J)ZN0e19h2O|w8=+~G6o-Q5Uxi79}V_NWEi#H!7mYv+XT2PfkJF9eRl zEM$Ka7kb`_qNZyb^p#F7C7Hc4L;Bx$0RO;(eqLa}jQ_SO?EK*Ey^E;?*VFaGr**oX zxEbeTJ?XpbBXw_a%gZia*9B!(zBu9H^U_X8wTWt}+FTeNlIU~F=BodnTXqja5Z{ju zh|BLT58%Wb=gfx_oJ8o3R+oh^Aug z%&|_@wOg2NhpR0EDO6HfbT{vDMnGQLrlabPq5WJ_ID0*lc~-N+oNDQooM!8!ny z2uqFSc&fch|AT!BIg87)Etlf|i)U=+mbW*_Y5x4HJCoxMDgKrjlOD;xGsT~8%krjI zS^*duYZW1Gef@FxeSxS^M+fyv9DwoPShh)!n8c*S4Gm3!nF}4(mm!G(o@PGm+6&g; z-MV9lj>yEz=Z5!KR>0+KFnRNh+{n*c+uuG_^|i86(+{f)1GxD#`wA4G~Ty(&s}z+OFKh@+$$zxT?9XURUf*L z3TJu8QuJX7{T(~I(&of}XQM^bLkp`?yz|Th>KyLv#|GG|OF5OoLLg^3S4;k68P zOGW6UW#Izf*da=a%p10;AR5^ik0BCp$c8IcwG!lVGE@s-^~{}H@Li}~FX88B-m#~0 zHC(BhsI_c+IoQ8`LO|Jt|Q88**Kba ze~>Vr;NxbN4E=M~jo6PC@PGJ%2VAaX2WJZ52tC(?Ozs260}MYn4w*!&bVY0B(JLcS zv>6VV9<}?WJtN?6IpAqQZxiWM9{gx=UZ;Cob54Jc2N=3PDoy4H^DN6Xj@_@-@+1;e z@8J*04j(I%kj^h$Iu7hR-;MQqhH{;>O0hGebPY;u zz+oo#yJiVxwM0jw-IV{&lF3A@_W&rC?lq9oXkrPcvSe?^O!th#x9j4TpBt%3c>^{7 z6&6pe5C<_30|Teyh>CFx6);8(?QkXy0bD+|F2&m(z8wG?00r$GeFWg%ZhlNkM0lc3 z`YX}1MZc~rkXr?6{MoV8$6*3VY==mLi9O{sGEE`YTR@uv+grdpxcRc1Odz8rE!vW& zRs=Q8VP0=1z)k@cwIbfD39O>D5|JA#DGP_#fH7M|R+4@I(F4~n;5Rno znrGY2%z4kwoq*OhIWArL^WZ?zXB-yGC1m?L@UfO#2fuv-Eq^n9X3Is2oqUFq`vH#m zf4tc{^i&_`0zhi8B!vGF8l(TI_Yow7N~5Huu=nREu2p;l z$L8i@W0TNNvpXw%p18!lzr8>HJ`f&m{to{AebfN0U$wC1NScq@2V{<|16N1);4?*- zHIL`V77ABJ&ME z)fgrTXbX!2-bu;PS5YN93O9<#Z3O`Sz+?c%du-+8*azxsaL`|+3wV!^zzJfy0f-(o z*$eW<@<1_tocneVDwl`%ruPRhx0T^B;ZL{Cubly60FWv@xWx9=cbl{hRw0>((9!}i zb<+vAz&{W;avV);Zhq=ENi_*bzH|JDogN&clC&d?O*1McBlA$P567Q0x>a~$HuZ+o zfPGF2EBm*J(LA?sIyAU%{B}v3$I=R9Kac$G*mUS4_Fd_EgEz4odc^0u*MP)SI_JN?qeI- z0hEe>9a&`rzj$U#a;=O1_+|l^_t^jh1+)VIA79NQ*H%&xKrD3TN&$3h>}0t0$r$q~ z($t8-4A!a)ISLnnwB#Tk71u9quGpLT5n#I(90pJ7Qn1>~SCQb%+x79x@9ikSfjySt z$q8nti2$atp1g!{Vr$V=sJ)-ek}cUrNHEGV!8-pnHZh0*bMY5|QZmfmE^9;wgWMtb zh_)<=U*L=FM||jfnDMx%dB~3{sX@fam#OeQQQ7(`zJ15V#6DLlJ5!}|i7xUcof*Me zjH?~DB$r(jf~V*ZaV=lqk01OR{{}aU>aEe7oIi z7^nqa$m~4+G*R(qazYiMx53zU*lBXN6vY+VtFi>NxY;a!aYcE`OpD&BhSP7%Q^4NS zxLwJxrL;&8^@nO+g-OF^M*WeBCYH3q1=T`rA(vKCmGg{K-SXCS&eWiGE?(~=K+gij z<^Ea!$e`1z#`b-m?8=o%nR`9qBnfww#uG_?d1GV#>c&kcO+0T z*JtT^w)u-|g>5&eT}}?&?ULS-jCx`hN1&!eXsGvUGW4j?|95XDdYf!cHN1h}%AhLE z!M@!54EgI|jNdI+@uxX};7@7NZoL_~b~fSsIZd&r*G9H76CZI6t?3ZjWe0^+luJJW4w=;;RpH zWGN4=jK6XqO6kq<;^Lflf(OUvNt{lc?e9h$jl7MDw0cFEiKhLfz!Qs92b|n@0Kx&0 z+vav71q$GQ>(3yQR-F@1IgTXQJev()`m#j>#(TYhLlMjgnwAk!%3SrGc9@AumiA+C zJ7@WD+0SS8U?PxS0`3^ye7BT=opLzD5jvkG@C`56l({s5ApWrjLtXse6m$*_b~dp? z1d;FYTi&*|=?;MFTh(Dg9|$;+9k0Fwz~G#kfW1$B_xtqv_sc>0AMd{fu_BH-t2JzZ zP-`hWACCk>^c|IktLdi{OCqa}@U8Ug3YZtulsP3fA;1{CRAD41!!e*#SDSws@lDZy zeKK~FW{Jx$FgkuU^j<>*X}SSGbiZ!t1cRpoB;R?lx*@qhW;eUtdP>|NuYFWgOMa-f ziH+au-%So3?$miqpVwEVJ8N{gh~w>#W;YrmtBCx264>7vI%b<1pXcZKtGK%bPB|&y zCHjSy@IOb~F~kM~-GAM1*4;qb#|Q+w(=wi=T{j>X0je@-o|B2^rhDq9&U7_TeYi4j zn3pku`ug7)0pqIek;r5x{IqH)ra;e)FNebCQ@9rUBiWfK3G*Dx{GbM% z?_&o0BhZ^Xc8p>BTAFOz@6ZDa7PEvhqtRM;0fai&uiw>#?7)_3+Xsig4R*gp(^t;J zFLur@9&PM6>hi8cYs!U&H_w8}afFUpzlHh&Yc{a>;*!H1=$tp2D5w9Zmv?ZM(8la_ z9Bq5E;D*s(DIY8&1-77=sM$7?SLWq2@>DU3lhDHY1#ljFXh1W-2)4W*Vs(m9Ru(0V zcn+nr=|Gkhjv*l8^zA!jh61+T!2Q!&jR`qypI^=-h zt_ll7)wUXVyFhQpnBq$?zE<-1Z1s-RiM`r=0yU*w@mn}+3!G^H$4PIzsZK1b+9w+14n^PIUKKCp zOb}2)lJtApN}w!+T9xA)#77V3(=87K`jEaO#3$;kvNUZTG6t#%hC7U=Bh+8hy}C@-@4*rDpu<~9I%t7oY|{CZ`YD=G zVm;|zqd$yJ)aNA_{Q0vpSFxZ}d{)|+b?)HA*t|xA8*bdCM4M@Tj#>vpVi}vX=`Ft$ z7q9Q*a(YGQ10v2F6*gI^^otMDH}Ar}GRt{0YDyD`bvw>=)6+yfHGv!vZLJK~9jP~n z&L*-=ypi`HyEz=}tGY~(ng7nq!-A$uE=`_$%;HZAxU}9?hz62KU~JqS!^T|<#1qZf z!ojGn-Gl{gR{{A29E)%l&k8O@nVuD!S<}Vzn~uPOaU(Gi)fL*09{D4PxBxn6 z0H`9v1?hwjv{x`f5zv#r0HT}of;yjXhqSWaLj3mDFzoao-?RL)PSu|MlaI?i~4l8P~DJTbIaYftf|46=v?+L8}W z9Do9;rc1SstQa)zQJf^=`{ONAf{_&!xd-14IMLgFg%xZDR)33BP%{FCI{o<(fpi&d z!$2gfYyT*u2nDAOh3Fq8*x3W81}>OiGQx(~4GHupgZgm^_b*#6;BGm5_yJL-rIj{! zkTpCtHDx|qVRSHC31pbyL_T06i?Q zq6V=JD3~jM*Prw5{QCUM)du*UKrd12lkm)gTFGaL@m=0|(zmKepLgU%>d0mTIE7!G zp5W4VTY#JBG<3|ryY%@@S$oa))&Al9#Kfuje>x_qC&K7RBqN6#AIYa72?@HTzFn}H zrQwx~{>Muw&3%H#*#B%NOjQcKMGyokv*U zbORO&eW>gOA?W((=!zc=D)gmi6yO$sJ?SA`jq4ny`ozz$+IX?k<4yFU1sD`mMP4Zk zx5~zcRS}G|$Z1L->!MSOj5F#1bq5H<9jtw{)8!y>G{TUap9hUJcK?8;R^E%J4qPBo zSBzWe$=ix_+fOWkH5RI(l3#Z;6>pNP9(FSi8eYkO&6W%JO@T@h#GNl{A{E+ihnt_# z2kj(G7H(S1PKD;w*9Zo(amHQ(AP;Ho3!vBhsAXzi z`;RN>6aiZYq-=@_>@$;c{J|0hQ!uXOqdusx)RPHEvyizSyvrDpD}e7|T`|8h26J$= zZ%g@4>Pw-k_;b2Qx6!t5LE?p{*V{^Q#jS6yBptbZKpP{C_eR|Oz()Sw_X_`p##<1I z0R?MvhO+t)fd~x^&2+A6FqM&9^5<93aw_{pXs_;UwMDAS?=G?>XMhiC5DQ{Dg`w5s zL`z@;^o(@){%CR7?M~v;JD9#2?49ApkL3K6+@p$5SJ}4*!#&bAnp;1=xb@LTpvgQ@ zFR53UDwFeKdWKhQ3Wcm_!IVb#<71jAE>SaQl!8u!fEf7o;jda8%hSb9MVpt71DG2? zYg(JGt}`9bB^P)ocWjyV^Xiiw)B-v0fTy#!IOCOI#djV>M8^(!TaWouCx*YBZ|@uH z)qq^_xq&W)KFTVvZT>S1ZyJC6=lJB^mo26%Y^C{FGtDqrE=1cxdx82Qz6MpStOrvk?p}-6dg%^G;te zr#`d{xE9^j9a+CMpSCU9%Z3%^Tiks|y`wcFi)w3Dd6{TyXPn{jR@AE2T!7`r(Qkx| zqc4Bz21X`#3}5JULws#TZ9KRb6;6{h$*=tVo&_Ck^DNd?S}56IiD?(V?>zl4^CvECt7P0sp0h+wAIJPj(}^#pRPzp!Q1OZw6k+@r5j znB3}k@q=iqOXTr%U)4gMe25_?&#^XNCPE6NwyX|h( zFxS3FA)7ZBKsn-^#%oGpMZT46?@Ns?=;-z^o1Xr=Ef?++OTI$ZZx;enVuo!`WhkR? zGRkl(BIxw2EYJ;!lA8K+O{gas;LQ9v(fShlm(Brk(muTpVG;AHNNI@m=;saTYFIoq zk+N|!32VH*K@%?C_qVBoa8Olh_x&uYLF(k0G&)6I)+&a)_05G(`}Ux{7`vgizEM;> zB~%ka0eb^n^A8Bvf34YH+`jFrz4|T6dYZE^V`X;q2*yZu+gerG_`0j0WQ%FEeN+_J zKV?d71Ollb`0lZK{plU>jpiKHLkl@ z7`B!h@*$qzszKSoDt#|oYWdpcgj(&Pg&qv>9Qt1F4)n8SrsXRz=nDqsoa8I~vLAWj z_vg(imCYpVy%pgo0velz*0A0e9NLMHOP85xy+vUJlwU`qd%s_kA>GDLfL3qTTdor9 z@6lkT54D#o8Pbh>h^OnKX79T7ut(fkZe^}pf zbhW+npFlUnsPlWBmuZ+0V&s6zy8c5awM?uKy0bnPofvBS`(l-{^8(xq#96uxggEW5 z3P}?oJ^ymZ4GU;5EbK!^{f0uR%~xx-^txw`{h$2Km|AAG>?{_Ax?X;Qo+lD3aYeHA z{=UqPAMPYBtM&4s>6b|azVW96KLUH$haWtVKY|hPHVP*#$8p5cJ_PQqQ!wGZctb}_ ztaB&kpc`bjJkp6Sb%$S}-Q%d3f+Hy*996C9!~E0)Vaym4`H z0LD))-)_||otT(d9_DO4UW2)Mi2wYGZxG8;|iK^iyW}Cbifqtj&3@^wse<(^q@F-dl?cL^|m?LeiA{mGJGV){X}3=C;j;f#uO_$@EF1_mFn>wl3 zJh@HD#hB^y(eBW6ooy5?AyiEnplXE#YdI3E<#r(vFn#E-keL$4tx%i{MK8#rbR`5= zQA=!FkY1J{q9Em{Et7I`CX)4nF3UYVq8~c+%Qx27msM&6(tpy;Dq#JNWVC|6-5pI2n4;C(mazE)P!oAhjUR8U&os& z(faEyaPW3_D1KsmydhIUu<&o-+Fb#4SyHW|w4t^q2?OC-l@ zjxqgDQmIr%YkvuiaR~Pdqm{DO(y%qI(6?ysdxCII!j3nwl)1U%peGiyKjU3rvY+yzYl>g5U9>bRnk0`&~A3~~KYUdB^u25}%@JTQ#K~O?zioR6xR|mcDJ2V-- z(ZmJ^!;=Xg*l?UsBpcsWt`0Hi&uh@EJ_(ovm0wa%cI4Uz!)#*x(5P9qCimuM;<%XJ zI9f9nzl*5JW?AU_09|+6jxc>=Hmt$zs@kx3MbX0%si-`74J;(2} z@b6JwCcc;d1P-4p#uZF3&1OR7%;TWYSb!$f@@3J3Sp%$u0hupin|bpFb1#Vc$E@<=qa)|d4~$&l(m zyGlSv7&i76j0a}o^Vb43w5d#A+Q|dHB%y1tS6J{Hkx0Y*N<|#PNGJ3)F>6n(9IiVi z7tLjkn?RA@Y%Kb^4s4CiZ=L*QWyY>FW3!h@ol~8U-rV#f*ev4l2Ol@u1`?;#H* z#MSkx2{BY(XqFfi=9q$?KMfx(l_maIC-l|Atl*Zv$NqcT0#={L&x+R*#$jIV zUzj!2AB@ctPo$f8NWum1>f>aDr4oKVHsoY5^Vw9noay!E5%x>5OE~N6j4a5V=r!hF znMW1Mwq`XnaIvzoQc@cIDbXU23MBh~e0^m=m0hzo2uO!Yw*nHfnZ?K*YvB%(m7Sy zNi%Og5Ka#|Vj<=a4MX&}VUtbC7!-1=q%-kZfe1mR$fIZc@PVG?`F)VplQRI@*-5Ve z?S$$$*f;&g@pdl;?>A?gSt``yz}S$S9CAkeE%nF`Co!BgD21Q$DEq*4`*M3QAg(oZ zHrFY94c79XO=4Xi=I(U^wj$}%V7xTwKMWqm~51C{>HuBt2wQC%f(Pj6r8;Wzb(&3!OAW zQfnhOp#DfwrETgp<#MaCv^;KpTzEsem0qoxLM=+pFl0xhE7F@jYfY;1%NaUWxRpLT z_y$ju4+~jG!TrdQPGUdO-viqhtsiN?=?uY#_NwVr&SW~5>Y0YW)ypd_WR^YTGyG*^ zhDcYcrD0g)-lx^l=7k`L&eUN^5DllMpxD|EIDk`-x}Pc8ZVK|@BvHIGjwltZxK(Y( zYGB1tYT*L~nvbZ`hNSQd(Y0SMt|Vj5a&J{#C%RtxMC#MOkzv1`xLX#LZ=8X7U9uCZ z_HJ>8*g3tFh^F=yOZvn_*FlHP;`Jf&Vw&4Cf^neu7nA?#=gh0V@Sp=6K}z3SnL-v~ zwrSgP^leh{sJO2V)?daC8i5B6^n_W-dubWB^kN`u`9l)z8%5xNjAM5&OK(FMq(OwZ zT9RnOc4lQ!ZN8l^tjHkmZF$FmiAH_m0|X??%Iuj2TYc3kA}OH<$-4_(;IO@s#R|%_KD=6A|HRGO2uK>Uy#lsD0~=Em7Vz*?D!}^dR{0cDva}N99eX6 zK;K*&T<~{e22iH1$|)BuJV(~f{j>o{+^Lg%jMvxKUnUE;_f@jF9@_kQvvSB^I>Fls z*I!I**So6-eVx4Tqf)IUF0o7N3T&|QTFZL`9)odk_Trp?bT6Rvl9@P?PSf;WOlfdu z;~xx6f4u)bR=l&z)3SLZY(PXV3Sv#($v?p!L@V90;3@FWv}#^AEa0s-s(cX{EkC(| zsZvtVR4&~DJ~jaj4MK_1{s4zFxa8o&!_>~oiCH>o<=+$>Ec_USv6yQV9N&m!I?Lz~ ztd_y+$14`A@XBQiaCFqkdH66;6(E|B2}g8O#; z`D>RMS{>Hn{e{rkcfm-Pl}sk{4?5>BH{uLaMnO0R6K+8;7>$UC`M$XYY5*GzfBxzL z=y*(77A`146`xVUkDWLH@6;XiUg%HSmRCCUh=KUXLt8o?n*HtjQ}R+zBUz(Y=wqLS zzwP1+b0k<`mWQOnN5}ylvf3?L&(A;Qq)4q}PjUY0>WYbqI-jw5x(L8m^{KG$YAXUq z5A7&t+;4^DNmD=}=Guk@^yrn(m?C0QZy~RZMK^lTZQq?Q+3RHEn{j;``c%8Dw(nKr z@Jya)brNFVJ9N;EY^h~+bZzs4gZqJ&mrp)^y-RWTIpsQ9#P#e#C=aD5QbtqN`uw}0 zE6cL<$e5VR^?$D5&t-rgNczOP#6(r9U#nD62|wh@<=q)w9HdYqhcv=6eP58fUGIRJ zBUO$GS3NSf^St;hRUF6i?%3PihwS>bZw5Azfx`+x`!^6}^ok&gbGZMgNLxu^lt&@y zgdSL|c5ic!7vxl8pe>v)U%4%)Re9si7p_M%^q&Uqe=eeR7`hy#`7>i27;pIU)vNo@ zUj#VQ*I7Knyj$fm&{XmJ>jGeD z+vjk_9SwSN9=eD9&`9+*xJ#Q*yy@qkq4Y~_$mw^y^sqWX_uPAy(<)G8ds&l$-j^_r z^@fDx)=lo;h4}mX8!^dp_N|nj9;s+Jm@t7E*ddbT=N!ZB-i4jT$}x0qImEjE`)779 z(^cnth6>?O)Lp%9<|DWd%WS;C=j&EC-DPDJ2AvxXC6iP5v-kUX?)Aqe&khn#m#=P# zkZxsBbxa^(ft$gtW*$wm;j(!z$}nVx&#<8+PSM}tc6+#{ILG>QX$n*rdjG`C|6bn~ z9o zL$Rjin4)vFwc9_rz?(YWl*?04q9YZ(NgpURohb)18D{?J`;H{TD~Su?@e?vv^oex@ zh0@J&MHJW(o|Ht>ZpyF3_p#sf;P&VD&neEAj?MuXOAf#8$SyN^=u9gTng?l@mn)!> zG${RS`}A}04;(M5;7^_WrQ!O8x+1I`STy8%J&FCjVNv5HG+^*q5`xb@SE*)Aj=7u; zu*&TIS(H{ZAUHsRQHcLMM`9!19ex)X6%{vNAUc%eH+VM^v}D#EG|1|1c@xiJ#4f~Uoe2$+At^&-nis&Jw z+(oOna}0H2!YiJ3n&>(dvvM}MxdCyx>}yMR=u38yn`n)&Z2H$ z7@a6MNkLYSX5H5pn0~DvkMtJHdbt&#cf^n8)4swxfl4YmIX+JRO-N7>^w+@)78aHN z59RBxtXw_QBXEN8YyS}u;cd>&sNb_SOn-5k2zd!~*MQbXv>${#w?B{JdFnC9E>*be zS<4ac0?>H+*Ts8ZZyivMY4#8h;7+!qHri^GJmjygBLR@Wix_B2)gnxSY^4H8O&P?u z1rs|KY{McHhh(;z|4QgTzll5x1xmEbl#db)LxCURwr3oY%Kpjd)(?+H>%akOY4e3= zZ(fVKbX>Ud`tYY2UrkJhtGgO2d6bA8?CL%27nysGS@!g+v(P1(75nB5vuYYwo#Z)O>>LVn z`hhjQI$?TPY@0VH_H@0{?2Q8w?AlJY`|hDy4r@X)Mys4SWe6 z@6N|#u;#DZSo0%{KKJHZtorX)FN=WOSHTRO?1g5p)5N~rQYZ4{b|r$Z7qNeS{!Vja zG@rk4L>Rp|5e6tO;rapV?5b#MYrGwoy-_$h<5(Ehb_#?k-9an z0}B9^ykdcP@1M!b-P*x$lRg9scm7DaU>6S_b!6$jw#IVILi$(Y z+WW?_SC@t@%17!_GGE~{)<=j}_4)_@}Sd&?+l-ha6OIhSmK z@K^qh7w;D_h25e;o2?3uZiQcTfn{v5DwL_QU|147DMw5sX=xd?pe4~@Lu`XL?DgdQ zIyP1?OK>=K;Gnf*gC1t}Um?E118g3(npDpnl1v#23S+;&fIASFc*} zX(wnwGxQr*iyKWogmS}yFRAWlm-)&tw1JNN9qUah?ECna8~u~JRP)}7tSq(ajY-DD_ zg66kxhATWfe#193adXouwX!|T0yU}!4A&!Z)$qzeR|5vYuQw0-tm;+14M#Mg!AW@` zDZX@J9&|^oZo3U9Ol-6ox0jY0JD-iyC%tBT2}v53Oj{0aRy&Y@;ygy>Ds*4Lz&ROF zENQYi@7Bta68T?SOvE3+!R*XQ-O<&-m`RX3D1K}?29_gR360Uv&PCl+>Y%}h*IJ&b zmm`ywS+*U3-dxWw(IVg9J-j%Im2QosW-izYd;B)t zfZZMyIm0}VKTWxcks!-@xa2jiq>Fl?6jt@4N0b>kSR0#AH1M}d?j46?_(+r$=7YXu zU@@1U?mq0vL>ijz^_N*z(33n=O=^U{*}lB9%UG&FgqB9vtQ>~4Y`Q6sB7}T_GXvB7 zBMOhvOhG)XnK#INYh?@B;ber%GxERYm!2X`0e|n}X7T{LQVOdRGg2y+so`$^I{l6G zX%^TBaMR!p_A~`JitL;hQ5u>E;Tbb{*~>Rv3Ef$!_}E;2=Qd0vh0(w3iOn4|eznn0 z`&L{=A|+o{n}WY#;b5(UJU_o+|H7%H^b~5bw(+WJk^J5;|vIZt73PH$LT5SI^37;+$Z!|Lfnly>d%&AA^B5z!c{VkP~Tqnnc4gT=kuPrP2 z4o<#%PYw--!x3>N=t}#~!{Y(|rLB>PnVE@McKY0wYUM>TTYv;^W?w!0U{V|rTo-1L|A+UTqAk8@tg3VQ%7kRqL zutcP}Z5L0~)McJ|rbZ}SrP4WZ&dcY`um&$4zZO9|`ld!|P)st%0R5u)7od|;p{h{a zh{?&jwrxJo9;0*o8v0#Gq21L$XXgH@WmxA|Y^tcZJDB(0TA~rAs%Ifiq8hXtLkle= z`I9*iO2Z}%Xt>T6qPC{;1P0lWvBmqaI_Lv}+V?Rzp=0tbjk30~J2w9Q{%{2oCiK|9 zHU6}%{JR282$JJz;>nOvFX+Jm3C*>K<~SWD>Ni9Zpo!hO_sX4=7#Dd~dP|^l5G+-o zKjd7tBln5v4N{mGv}-Up9v>OS_vv#sjjjhIYxZPVa5&o?v7m!)o9)1-%M$M{zeDj8 zkaNxgw3c5;weCyP7S}|+SJAdSYA?|;^)|5YerRZi>`Cbb1;ktJ>oJ6w14Y2K*VjvH zq3M>f!#|N7V>w{ECd%H}CBg1LIB{U*dYpL|Dd6JrK{VW?N_BDl-+ctV=I3P6Q9g>z zo(i~f^$HAU5!|2xxxx(=&Ot;}pwMFz`t)ts$A6REtVHFJkvI_=82M)^uv(z5s*BD> zrfX0EkBthNo#a95&=G5?W+Y9g-ZwCA#Dzy6>q&y=itU#E3u7*WX1c zbF{39x912FL=?}wyt2&}aZ{0Y%6P%53pMm9ZVUA4%#`bg&szM~Yvf(B79USb&bKup z-avC1MX7o5ZL$1=9?wFkAPIJv^LI#DW{4;-OZ1E|%=QSw*cU~-4uPQd*}*~Qw|8Bn zHpt)AFWw2Gv;ugUJ3;qMo?+qkK}?_qX6bi^aix~MYaMsST0L~$*GQ|_i$x+4U*GfC zKx?BRDp)N!6tx<&Cm`FN=D+K8h7;)q#Tk2Wzh(4ThXKwXM-nDHw))wQa48;9KwDT& zr{5yW_h8cs*B%dxmk=J12)UxSf}nY!q$F}SjP1NcmCoDj%!;p5&Q~G9D9DKSJWei4kQg$YKg8IR2bq||DYQ(sr0bYu!=s2s|b zEo#w%94ta(vqU5laE!*5a@>TVGUG9lek@-3%R>n~ce8m3pcho&-ueKas39Dyv;r~l z_~4KXlS9JINu$I7t6r1(Sw;o}mubU1F=xZ@em<+f*u4ogRio@{j?yd0c&*`s64h0_>^_uOHcU z7^#Y;W{BhU)^I7f)iZ~{mZD)+IRpZQVJoP47_BR7!jzy6mIe^tnk}3e>@R~AFuqfeQ!mw96w`s?@ zKKy?E>owGuns%P=%Xj@4ZYT#UQUX-X8m!`UMB3E3+`rn_HLJ!@a*%j)y5E!@1WYi? z&lA@5n#QGM!@U`KL&5$E1=kEtu6TXiBF>{J z5Z;c|*VV2E3NO6hZ?w?jw~A9MB{ZBff`t z`WPHXTeQQzXl6}LVjP@(+_urKH?F$gA4Xs%Tq`W@@LzHHRzp#rgW6BTPR^o%Y)Ye)oV6E;mdaaXn$C9uNI8 zhoyQ|s;8%?AlaK|4-iBk7(ccB&py**PZL=EbzwHp0U~KEPjpD7k5)jQ+w%z3d`i_W zF>w|bZh}>OUvMQn;Tv5+_<~f}FjLlEGPZX0)0#Zti`qo4A8$vlBo7V+HIj~|*OKlG z82YHq)El+uZlbr;kz{)L9FTO2ODf8X?svtl!{pa3*7y#OPT#Zowv-UB7b8>oD z!#l#jZ0JFS-60TVefYSsZFo!ouTk{|q~B@xLAS6h3n(F+n2S>gMT@O`j6aC`H}ifk z*gHQsmrLAck*5zEPQe*ffdv4dj7+OTMdq(D%&=rX?VL9s!)-W{Vk>;ODlH&&{Yegw)@=cg zJPO#-xVX50a`hiSez?`3{=MTf$gfp)PF_0Wf(wytt{`ax$RZ%w5X%0@D$TYH7{p9WN^Kr!?bxZ(7Wrr6aDq`&6T0c6C8-pXnCF?bLf%{nF(= zz81+kq_XK=X;;X&ZE%gy&0(G-6mCMfG@rGY;O5J|T6iDj5uiiGfmzc4ZR+^E-K6sO zRy>;1iY6Cp@7qgl<8~tT!0Fu8qx_H*j7l;F1p#+O_+%`3-3|N=2tJ1Yl4if+-;yT8 z;d&i320^m8;I=SvwB&r0gYdXsA{ac%D1&|q|tua>y?d1i+GNV*tdiSyKNlscC?*u8!k1@WA%9K z?U^c^fu=Dx+W!!9QZFs;%_+-5;1V$f22ufis@@64DW@vEd}W}h2qS8Xg!C>jm7^0n z*DDA8z&eS#XfAADQoH}OJBUVOM(K;l!0rTP59H6Expnd&$;FvSb2b4)7f~$+oWtP* zQ%iJ$h?}h%57&C#w1P1K!drGeG}hg{;6wM1p%)?Xxp*xmFeWAL6@v#998`%OaaKlJ zycVVV+lC|6;42T$&HAu9{f5VZJm~B)j;LaDvY4csofLn_pToF0Ge~LzNt{8UvL<~r zHk!9K=Lo)+2DX)zwGTCsP3=f;zs{w{VhSvocydKnD$9OhG_&`hVl%N{^cBGz3C-Ho zGX`m@Esv3|AaQX5a2-ysl6c4G#IA|p!Ts#r>kuux$k+a6X_8q=AO(AM@P6|W&JZ*4 zRN@h#hEq+QT)f2WF|6!wKq82fZZaBPnddp^=mk0#e&Ikn4PTfiE z>>Kr}3jQfpye`gHVIG+k_HVKe&T9RL;@q|@_EIi78y_K^2B^5xoIhjm5wj}GO}OL_ zQqPt&(CX`pp70P;P*52nRzb~sI}Oe`9rG)8nv)K!BCfBmgO2Qe-$57x9v+@j9=)#! z%nn0L!O8~CCSkGBWP_coN|$42)#*)hRgh}aklilM6_i!@{vv-Fa2H7wenwP(1uVG` zw*!Q5!da|pS|*T1-49mrE0zkKO%iE|HaQ*#+xSTVFn1W9!x5Vhv42xSuQ%xcSw0c* zKr1u;@q-UyZCF{5VVM^L9MXC$rW)C$s70GxoM_l{RpfxI0hnKa+$FnGe_($=@Ltxw zqBx{U*C_7bfEwkd4kY{*xKFCvXWA~JA?rE8Mg#FU_}=TWybO}Jm*FDVto|V!`pF#n znj+$e2$z8eX_+10RU<4LL>xBx?Le*$?8ICW4S1tG!li7Vpf1Sd0wu_Ae>VwFJ&#q- zL2&JTVJNo3ZL@(xE||nPq#@hG67t1w9Rj!Cv4p)vB)oB*b4Zimhr-S~mx@7dTAHYT zHq`<TiA+>qLc!)J2xl*lE#tgAB6^xCwc`GXWw*>J zHW#H~=4F-dKu#2>xpeYES>pG5brNUv+&k!k?s9mxXeI?!?>66pBeBb(=f0^}a9~jl zc#5crnAU(2S&yti)(G}d$LM3wCBhC%bBnjr1{VRVmd;J%k-wbWJetLT`#&)XstQ!UJWk5hx^ie61SW?LSa4|jYZdIP?8 zSa2NMi+GEi-c;l5+D1AeU^noh3`@f)TDQ`N=%onlTX3}6KkW`%g@3YPWe+r;x^gL; zW0q7LtMOd)QLsvo(;wCkgbxnbBv*my^bY)?E9;J*C71*z4OTc~dCS{O3QV!SD1?2` zyX*J4>wAWb(Yv-$?U|KrFof4e5{OCdoF#YH(#1oW*F@Df@au&*i7+@WHOu@ruUPRc zE>qrcb8GI9nSvgzsjGkE8*Sp3sR)EI(YW;-NyPr0mpp>+wk)d0zjkNG*QZ`l{x25e zq2tGvf=j9L%@*`(_m3K$27HGk!%VZml?=${t9Ht5WzsX5N!H<9QQP1^IF4JYNS|GUupkAfOfPu;_7q4-q?u4f}PvJJs3M(UyGvva|_=;X@@_x04%^=3f^9 zlzHPRQUj*CfhXfyjoWGf0xD6BqovQ%BwFv=C{&G0)|1#M+wdga zAf1=J8ti-nUxl^iegjuA386*|Np#RDC}+Cb$8z+Z&*Y0y?qj>1sM$NiK{#itD32hh zxp#AcDn(eC+X}Cs%l_sM!$}7WtR*Fb$NRQ_|NhPU?~d@&14fKfo0CtCA_{`d2_@`s zdrZ2F^gPKkFYl4DnQ=}EZ7#+}k&2jVRZcF!z|LVB_H1gZ#+Hs3-?33F zZiaOmS=*#K97VqE4!8ZN<@cyT4%yYq3#w%bsj&eH29P)29`=5@+0qpO9$C0_~7IF)`sS( zEB<3|q$cj~FVG4>{UJc`7BmkpeZLtoOAZW-mw?28kB>@8%Q5E0I!979Ya=c*eRYj_ zn5BHOR!eo|8DROXYQX}Kmn?A1?r=uU?ZCxfc+IZi*5MuYU}gP+4UvuN*QKQ-H!rDz zswqT*mqQRl&9mT>&c@^Bs+0yxchZ-N{fZ$P}7@0>L&IOh*%&36K@q#|{0!%wiEjcE5QVFHHu5 z+WOleNniK&lxII;WBq5}-~@M;motLQZbHJl2{_-eZBo%uBj(=fKc)&mB{*jyYjY-C zt37ALZ`;QB4OROAi3vjS2u{(0Q&>HgiT``1H%_!rQ5o!!ZC2O6Y|6brbQGC_dnIYS zH_y&vcjQ*Mhvwy$HudEjUUTwd6axPRC^u6LgD*m4;cW)Hw$iiJLhP)-AJc5`ROx)( z=qHEuZY`v*fzOmwzuU>X*^<|$0SLc{+1yLuL73QU0vh>tM(B*lXMc}XSN6lkz-SQC zMg*aP*%JzboQF58ze=V=UO@BJ7?+gr*qbpo`z{`t47V;WHuH5#vfCdtS|F(sf@Fl9 zv+H%;DKy{w#nr=iSmOf+3rXHv@Ok`+vd-RCP6SX){3Yxef_WvL4MOXtz% z9aj3XxpyT^?xKq+_X!x3)Mf@YOPywhpa=TooI15k7+yM>{gKdQh98F)`om6(ulz*< zaGc(BoxUAqKl--eobZ3>nB7@nU2blG+$nsewjznw-5?@|<*at#PgH>gH3ccCR&?J+ z5;#tI+UX?iD{`(g@f~n>W_mjKLP2&3b!2w`yy0>WSv@cIQRd{Lk-$ye)nB+Bu3u46 z5kS+rnr;p0J5Vqe7Z;ExX1yzm#`+uLzh_$j?fqgO%wS*Nq`L8Tc17w%fZOy0jpZ$m z;T_#T1Lm4J*M<`b7cEasj^Fpuuj6e&O1QhH2Q-In(pwtSq&!w~COe?0WvyPct6Q0C zckf{4G->m(L>-%Zcbv~LHo{%DGuN^r<%vMRPxL5+I>wDjtBtNlZ}i2;$U$1wJnJ}c zY@A2z_nhg4I_oYTEf>j&R*>oH+L~y%Lcv6kG}3b@DyOY|(|?j_!zp}}ew~;0%&un) z-_@CL@kP^%CZz(-R@-xn(V}sqb%bw{#E}HS0c*#Iav32mN+&NnQ?6aMxdFH;5aZ?n!e0qDb)3cTZ zdA~l}?Wr%E>Myg2;rO%UREm`BdOh1dmx19$K|w*`FO9io!SJcf;FC^>E4|qSW)^r2G7f43+ZnL6_-S;(kw0*V?XNe$P5~ zJB~Py-mH;M3))@^>obp6%j1oX&o_d5bHe_VCNsRS=-%2JvSIk)6#a%>F-KCv=ndRz zR^caru?5+}n`52R@RITE@jCACzp{NkT%CG|_`Q*p^*uSxtIZrzc_ASr#I_~M&U_r$ zW#98J_WLv97^rDu{-jkn+1Nw`v>e|ZyJ75vmr>FSA=bD@Ly2su=r3Ob&o$*Vq-}fnL1#iF7V}A^fd_mm#Q+~_i&BABd zEAz*13AS)>2=%*IEnB}?``~d8^E9x9$D7H*9k4Htq{)lb@KP1*P85)Ae$FY2#($!& z(1_r85EVNps_bD@&-#TuEwr$!HvbYMQ;`ZoG#p?WZSBK#{LedxO}eLgr6Gmp@)9CQ?wrd4$+|^Vru0-t$DDU>RRsgC z6kO!7;&Yc%pZfhUHi6tUdYU-nTUw1okW~zgAeWgha#?WH^NfE%DK7sUyfloFo)3+} zA?CPW{s|y=d=}lFi~|a0rq`QD!8T?scp7{Yr%3nn%B08^rIF7Wqg6>%Qg`|M2>B(I z6{Xh35*LF5UGrqL!??)oa@V|ZVtgJ{G0VFfh-u_52jPzGr{W|e#N+5AfWf@F1M*o} zhGD*0fn!_AaOQO62)=F3J#h=p7wP*zF8SvIdCduFImCS3KhX33%LU*(zsUt}7>-W& z;H=l8pzgDmhqi;)C8#>FtDrIsajcxEWR5jal=bGh9Xq=7;=lzj(?`hN2PmZ>uCHdno`vRS=@42q zC$UQ1Ru@;oh{)2UTUq`Ez!xZr{PME`!x zhXw+Fq5Z)GE29+Pk^`&_L0wEkusuNy1W*8U((NVzv2g%^Lj(u|UWZaVlB`U|4sdn; z3KKaZbF|zG#5?Aor=@xS?Ze9|&Y_B(HrJxfcS5ebxP3M>>yzK&QHn$u2Jp?EQMXo;dXs6BeXn{*;YiAs4jl}9lIwf>GA#njzrLn1IE^`rJog$|@ z!NDDmP6y4aM@C?s53tv={Rxqzv1tT#YgmVu_z>Q7U$3sddX0H`}gW`vl1Sc-xRhD+eGi*vmVY?d@2d$H(S1Htz&v- zkGB6!lc?iz;PaMg;0^EN_~~ZuVuaGlF3q=agz+ZfC8u884N3`18m0u$d zQ)UGUocB*aU9_^Y`WRk0W15tdWH^*eLrWW-^c}9*{5eSjZxe@~?P&Yb02yhs%0j*( z+YHRk1UtT@{qB1?PMy($=qnQU1jUP)!t$Ym`@<%Ao;&ST^C=VeDw93$PTASgHjm$}0sR9;imfzu7V3+%j>MyYxDT?!ee{Q+~FL^y3gP!Or86&UhI6(y#v?Be1g zB^9FJ{`aVOG{cg|yZ^z8X7&f8ffLF4W&dN0@}m4GKzXq+sq3rl-2tB0_D%$VV2h=W z@6NT|VovtGgg~7hKnW3sGS0dLJBrC>uwd9Nz8<>e%cR-~u$-6HK>!FM^$i4-QHT`= zfbgl9>Hf>z$N2pFgK7ydSKSs#8C%l;cZElXOr@0oXa|6BC{{x&{9*xM(b>G9Ku4@I z+f+XTzAd-4t)d?$P%!kVkaHjPBqt*)3zScRYy8|#VS+z~LiEQ@ZE*tk5NRqHX{t^t zI(=dV4+npE%~hd!1$YjC?s5aw0@VN3k18Wq1$k?xd;T+~?|`DAnk3anAyzsym7)Fa zJS68(%)XGGn|9KyBnQvb#Eh25p1YKD*TaPIDl>Wd{ii+9}C`t&GPxgQC8hEzrm>LRmECTrl2OW(1FlEYyd&;o=aD)F@2D_9y8S zB5Ej0M8o0pm?LICPjuCOOyk9}!kya90Cpq;BLUc`X3JP|zU74OOZxz~ZlOnJQ4kfy zrOoMxLY#f%%-EI`78W)$qa9rT$z)*l<#j3l#nO+CSlZzCxFRO)4mfHu{#P7%-J!HLE&<$0@$tL1-|~#z6?M(TtPsf+kRah~NUaN{aqb+-&V)o^L02Oe zci4B#TD|rdo42tM2+pHqZDn!x5VuyH_Z@X2SAXTlX5|ayu-J9-%;p@~$bA~>D+;)< zvLPF`OCQ&OMip%H&$N!i-h`tfl07c~|0m;|ed3!xe-5H9^sI~zN>jjWZN*we5Vur( znA&VhqFDFY15cY**-b9RMNYEeW8Pcx545s}sj2i61_Up1Wn{{DR>(*kzbU>O3+xF8 z3@hl*V@~&aonlZJ2shqC6j$BTkA%s~U+EU4Yvu-Oy}4qt^)GXEN@6TAHYHyyl2!LJ z&f49OA+772ZLtn^e)9>^-{tC7#ySaeeK~K&de7gfGz<#7YqK()cU*#NOqfdDb}_2OIE~hGYY(iwI%yE>Wp(k&Bem z)A6NGOMr`e%$A?}nRG;^z+#GLAr#0d=*N;oRTwO9(N=2KdOXTJ)`}2be5eZ*HP^$+ zG!k2Tr@>U(LR*BeQk;{5otNZs$a|k%v!JCY8vllYfq{odYm^LW+@xy4MCdc%mUARY zMTzM%8 zQ*lYnxfWu7|Yan*UHwuOK?>$-G59UD}b==pOASJ(SHzi=((mJ5p! z*=8E#5u@IQru4f^>7qZuEMc;?Dcw?4qIr5H^zDpGF%5FYCd)LdkWCD>tm;K|MFI4O z(4MI&k|+bu;0fcZpx~$)+QE4E3qliS+-7D}&X+|;ZLu*75;nU|Z0)LEnnXh80ZNLB z_cwSTqGf&}X$nl^yGDkG_dk66bJ!MFljD*13SwulR$6EZ8~UZzWCc&%eg3oHoWwUd z@Scv{w@hKStsMpxIw4P4?_(50H2jvP(Qf!xY4O1x6g8 zYWD@p2N=F#myo~&VJ%ekNpF)4H@TX}r+n?l8Zw=9Nzr297HvABmNw~Wz<}^~wZycbeDAMMx#&%F1ootrY?pQ); zA?0<%`s48MH*`|o?4VcXWM?Cj@;zjNVVeS>{x33?E4-=kaal%e7tD<;ic z$=dMQXvjqtJNM76nADZ;Ly6i8HmsuC@e>;6faNh)co-`Ra;pnO&t}i6vK>d!^!3k4`{N{Ieo%1PI)OmFwUbfJ zp+^;K^Ff~6)BLrIcxqGo3&)&qE2adl@JNPojm}=tL)^i@GXyLW(@LQ;8hsbi9jJpr zqpGtO?A%o!ZV$`5t#z1mE#_}}9HT!sBp)pnb^(H%d)~_iAM~p4+TPoZMevb%h3Lc$ zMUSAg)x3n6F(|F4Khj2+Zd?a`%%I!L&s@#Uldfvn9Cj~ZF`Bdn?PfPB<1oO$5R2{Z zj6OU(Aiszmg8d^W!E5$`fXRwL&rTGwh22nAFvTwQk*1Z3R8NFbJ zDC66DwT1DLD+U#2-Ef8<3+uw#9~wN}KE3vz@;?d(O7*P2HdpuK=NQ~P8Hx>_ags)V zT{rd!UIpCs7N2A{$* zX%fbe2UgoON>ai0>mQ}4SDfw2&EUYG{W2irQFZhzMeVk}8O7EjdY*WRo2RIo483Ch zW@(AcQxNV}`qjhh!%YCWBKoy^vdgi50q$VyFFXYECjWOkXlUr@Y*iwC+1vxP7Ay9! zsx9@?rcuMUMwxbP8bcp`#%X9bez5l>E^dslzdzf&x`6jmt}sCMr~P+z>4)=}xqay9 zX`?jXqs-HWMVGYxPE>@WpcjGZ1GDH|)T!@R=0Vv6Y%r?KkW$V=e`R1cqNGYTA#65M zy7<{mF4%sQicB-vy>O;Cq64`y6hO*BKnoz(F(~&AJy8JDVB8~(7(EfM3E?;AVVhVv z0tm-2H9^CR3P75=bbk=&Nkoql-U? zh@E(gqVDCKSF9q1M<;V6g@*^(A!%^)ki~JmxPOWRm}3de3<@LDE-Y)eww?lo_T^`I zeJT>fx*CbF$z_k@{60Rym8v%?`dGsBjI`-$BCrGyXUk9QGTXF(5v~9?Tw9KP@W%Dc zL6XP5p`;W5u5F66acdtSanc@^&F@GtzLi4(6&Tq>JcB$iiQK6rs5kEgGmd-dnACz- zmcArL5Z_5=E@m!$>3ofKKj!1!eaoJ@>jC3d)Sg>fTATtcgf)vxtBb4f*gc(54yk7U zvn3s|X@~dzt?`@Dl>{w=+MoLo_O$lv9i8?kq%)zRp+h}AKWzTTA81Bk-Y3f1 zqqFYL%mFMSo0eJs2`sD1&yOeMT5@mwu4gJ6X$^?pH)|7-`c7NOID#<%dBeg=N&Q0a zu=rYBsYpVEkHhYx8Nl}d!XV4E@w+*pY=g31yLBZ!qo`;}J`FgOu4Vc4xoRRY(&llC zWg-qeNRNPPcGQ9VRJ5UIsT$5umRIKp2zlQ*mrP7bCae&qN4b8^Xd;k01zo`UegXY< z0o4!9%)Dcfp;OW2$!*0(?X!k^;XJ{eyFl?)JU$@-Bt-!A9^RZz!)*20++v_FJ*7?&8d`0#JC*BvsVv;t^<9Nw~F0n{YOhmV}Kw_p9S zrz1Y}Lbzd#f;;?U1(bAYoZ+W~4ddS`65a;5jR2I|`O9f`_QnQqz`^#?y&j!*Pep6H zoV|=_y~fbSe?l`rG?v0tSRwD_bQIPB*i?qPdCw&7kD%83ani#Fk=>^kk6@{BypJ~B znB02kpr4AT6GY$jTj-;OZ1Jl>)ifgE3E4YmafjJp8U>Q}Kyr&3N{#q_3pQU{ z@`BKpnHF!^HshENnpWJ7GXsM25n7t|tdzl6XpWWz@pS0CIEvWfbkxy1t^@M@yOeEn12BV-%YkZSv(}odMLb}m^1{L!9 zJO{oU<>5J9Gu^D$Hs)RUpt`rS(D~2HCqIaQruYk|<3#XuP_qb8c=DuZ1@WHgf@)#5 zGP>Ij>sIs52|Qr4y?-wMfRZgheh!7O39^iH>(WF5;d*j%F9#C=goPQXPhYfP-`fbv zUc*VhvZ#Tiap>C-<4hEtrOY=$!n&e8%Xul15)!|L9G7TKS@1YM01p;Fu(&LhY`^y(E_=fJ%=!kDb(jGld{hW9cU1R|qWo2z`DeMNyO2hL0xMVFE zG8DNRdx;3p0+>=l^FM#7C9tN!m<`SSoSG+sFvAkqk$$zsq3sD;x62+=-hXOdcDu&c z_1mq_tx8q7+_tyu;W^{C^PEZ_0u>{yc-E)5S>tc!n=VmxUmC#m3u~EqHN;-NKWx`%Wqf$}nv>oXrQXt{iMspDSU^?)P$7cs1J_q23A@Is5Ao0Qw`SW!|XK z1wkC3gf<c7 zN0~mJ1A$S6R&%uge_H#r?`aq5ykGVS8*%M)!g)-I8OT){TZsGytw=y$svPMQLL8j9 zhzOF|Q$6C(6*KhmK-NK%B&2n;&2`!R$s}6n@5Thyv*~3xVo1`=pwug4>O-gf7>>K-U)!yd3FL>cMtAI z&%gjg*C@>o{Bi=u0`zAfFb0A&ZgQRx$~_Bv{8={lWA2P;b5k-zdKjrOOTtqRqPVzi zT~snhwxmIDLz$VGe2E%sEZ9gN-#J(izxP*? zlVgmHrb7}9e;Z*8))eraYq(}wpZ5~nFp-Ml26tv=lHRGNYx*X0_|AKONR%R<704yn zCIe|0s$eL`|8?0%O#ORa+G?cKdeE13_(t|s>MjnJr&?^E@25_9>d&rBE@QCnlQmLX zw!Z$rwI;3PL6CXwTj&tP`JpiHaR*b1~rLS!qM^iYof|;Fr(MD z!0TQx>073|wzRaAs1^!|G`D>WHH%SZ2YrI;49fmF>HGKZMMXtZ3zqP@*`mP{r2<>t z!vEIWz=BGIh+RYOE_97n5fjj3iY9#jQ%jSIdz|^~VN2o74OT%5=Mn3p0oIiu7CxZv zAC&8%e4?!5(XAUlTM^+I*E(JYe$OD-#VIW39buw5oVn#`-Cu@mFNJ{U8h|qyf?Wv2<)L%ne zo39#EO;Iso(mFU7dEsAAkd5w`A+bo%NOi*QzajFMga=j67_W6`0@auBqPb75rn4Vp zrxxz8mUiA&9X;+I3~Ia8*WYFtNpP@T;tL%DC0%UhumY<(`}NxWYFnVaUIJ*xnsb42 zbiOr;e5~X%Ool$9P|$C#sH7DC=PenGI&AEubsMYaWQTtw#n1QL45CAM-@n7?v)-ZI z(*Fmu{HbHYaH`P+fM@y{Cu+X#otcntEdr7Zu-&2$XpTrXE%f_*QyV?mX9FeU?2lnK z=W(L6u5EC?$S~KU+wL1dxj|R(-bgmY$-9epE?P~@{%Mn?!;uVZyGh#mXCF)+8X6id zt|^mQGR!a&so?i@9#pR=z;kw*rsBlLVaxNfH%%D89>vA2o6M~C$&9;ASo7p|1|tOp zIH!!ET?LK3Z)LT?61(w6D4N9n!vLL99$lxUr>E!Uo@Oru+5uqog!tl&=Pf|egUlHG zcyuxaDm3r}=!K#5q~C|Y2J{SIJwx=Mk;VtBn;;4iljFbr9|SWbWNOAi#L;^B0|XRr z2fM!MOPqZD8qwjapTDJ%+|AC8MEBFw@K><#hTq3S;PN?jB6l5(fX-_q-^Xu_Ba&UI zo8&IYNI$1H^P^5}^y!g=bf`EQIRn_crSPYJ@xtHNwIpXTv0g~U=g)jdB)Mf^XCEIQ zr*!b)^X_B^9Wa7u57rz69?ugz&CPQst$EzfI7PMP^6c^9JogmW&3gNwrx-3TJ?j<@ zEjm7Q2O{onn#xrY_mW{EFGL?&e9`QOr#YKgU|he0*O)kyz9U^A4R;#HKEFn!gdzxn z8k3n97*+q>E)l}NGIf_`{cy9#n&9K1mv!C&lmLQrYRyWrv^pGAWYNkG%0%r8aWre( zdyLlLzT+C0Ze5B_6lnW#J=lJWiLfFrdiwm3qAlQNO0>S@c8lDqMl;p33BabQt~l1< zcLmNDx&V9aY;Gz!4e*x8l~ib_G<6z?rQEg8`msGBnvcC+lZp`Iys7g#q zQn*kIZ$RrNK^EQWu1|aqSwG&C&Fo_5MiQ6Jqyb--2V)LHNAZZFw5}dO1{x8Z$W9@F z4h{d5ZDn)|xA7c#MBz~E|NIe5HLMXb%PDRA@kmr#E*cMOFemDb8Ofz3ns<^5g-@07 zK&ipk>o4dVib8JZ;cQ^7e}yJ#?w%ehk*&WlPXS#%5|f)obiYHu8m6VCMUI`K_59#^ zpp7aV^atar@Qp7LeIWrQCA-j`L`>~nyi<5g%xa4>eWXU3N}(~vZ%}&?)h`vl>9*?A z5slz-#Slj9pIOz!WJ+XWWSS^8}jDA2}Son84_9x%y!*v_RUnA zN`3wzO&Dr(Dz|6Vp)3^k$fY_^>Q`-&6lb*d`ZYRj+WGa9_?+v{644M$=ab&p((Bua zjGIa5$L@whwAV$>U7`Ugad9=yJFg$l;MoqSL`(sw5qM%N*FNyatOs2`{@28zZ)0Nv zh}G&AmIl>AK&55f!lwp(jeA)A;Z-^CPGF7-esuy&oIduxM%S}d0p%?#J|UsJjEusM z>b5pA3L>4d8G@)SkVDOlvwQJ-y$H*j)EnT>$wTt@Z?UbF{+mb+6#sH~f?MjAgMw_% z1DxjEQ`%m7P)*^0{<*o*3!mz=7L61E2W*>WH9!pIKKxOc{HhH_1R! z1cu0rW3L#QY&j3{6j@W+oWcYwJ6Nvoe6}_)!k9 z%cHdU{V+dv`575m#%`aewd=2Mq`WWOXG$f8oE8@suu#yq=YpAF8fIhJHropioj z4%=nDhjQFPof4CirN7Y;hda(M$RxRY&xMpFy@PYW>g^xrLUO#CCw1(w%EjUx8h zfe%B8U~_SkBXNeJqkB=1QBn?!v!R5u1;4ing`SPAyYmttNFqQX8vjrN)!)UYa|ix3 zs)45@?Ih}yi)KByg_bImRVQt2f_-G57je8k)GJ{X#)jt!4S@=HfDnfLVFQ#=hgq|u zF)jFC@Z9)M*Gr^R?Mb>OD!HDnb&L5bk?%GETcHqtwbJ6eW6Mr1fsuR)b;0UubZ-xy zwC-ak2zaHe2?}HhRo4{n=^4evDV@asyBlY2 z<+HQZAHHX*Q+jvm=9>XGa)aSf%2+x`h~j)E;9fAd27o(!==Mc)uE{%|c@v45D;QI_ z`h+vh@}gxb+k>A79V{9y7bRo{f#^_dc$x!$yr+B`VW1N$s+jfnYW!_p6CP>v283|& zkeohP2@qN;Mpt}3URqG=x!G0Y-*$$9uV*!8=Nxhxe|jwpmWHJB8gfJkCP7rlS$LCv#VbWFW@fb2a7bLtGt&D$4+#+y zMv@J^#!tjguh)6>m>3y}B|=#E(pmZW37s9hy&sQ0e1X4I0}%eyi}@-$0bZ&?+n_@G zQCnHS1eyc${`qAsrY7i>j5l*(oytr>+q#W?mSc4*Xmc~j^A?IHFcYIc?fvI$azv+0k=vmd#cCBwtIdLjLo{#f^?eGyEmshkJ zP`>E1&?v$xeg61-y2e%zw%#pS3QZHg`)LwLseD$G8|Z1|yZ!c&H?;hLu2B0L%Qe|R zEM9w;>a=9ovggx6j%EpxUGk|Uo*Mzi8R&^t*I6x~K~Xj%M5QDO01-M`?tqf|7R*HV zcqQGdSJ#WbERcfC4rVJ-g4Sys`?|)`ZVVh`Lg%4P)F5sLXe0L{oa&x0s9fm*4WSFk z{($~_n+ehn|Eh&D(mDEWATF++K+so>)sY9}#BSG?yZbIBNo)Tn;hb0n7Mu;NXp`>R zhD&F%<&eo6xz(Ir+uGmv!waO@-p5h-+(Ez0GHG9}@UCYP=CMCp>?f)f8s9!)N{cR_^VWr2dVFBx8h#{zB##o$2?eA(#;n5xFIBmz(9*HxZ!U zVZfr9je|AHBA70JVXMGyORgus>lN`IB?mum2sq*6;Kig0T>}wu@tE~Sd6QE0U_03{ z;_Ht4@i?OsH&pg-q*#7(6w*a+k+LZ&TzVr1YyYl&ko-qrp{ZZYGm_huL_sxa3 zqLPhOU#j)Fdcv}u{4nggRMswx9@k!*J7~W(k&Zk~4s*V0Sv`bH4LKRW@q?!p?4FpM zjFWVQ7Gj~f@w_DeQ^i#^GCbPqSxZmPuJ+FOt&26Zhy0xB^Lt{%D^jQ8wmV)m)te_A z{)>-UBRSwSLH?m56nmhVLJ6eWLn_7Oq7sJ?3Cyad(8WSy#AztIWEaOR8eLv%9mD19 z!JS@>Tarzu>p(9>OCN&af}}Wp+p|NsCIe&(G$(nM|NJ509C2`AfZX zJ5BtTXM82VL@}t{XS2GtE|Zg!Ls$VJTAeG}Bb{WK_>8K#sSj6*39~Lb7G7TEBH?5* zGdnA1=nOzoE{xd^=^r^)hBasT>L>~1r9+H8$ptbT#MY2O4{}ICZcX$)A3P6P&TRK z%KK`E|Cx?Yc}EeVZxpUeuy~%PVwaWHD^Gm6s&C_Jfjcg?94j z%)~@jC_Fk6I9)VobZcbkj}pxK!i>x7h|@do*F|sIqWjGw_(BdD3RH=La~WRrz75Cj zS!)d^e661|y@x^`&ppZ}=JCB>87{|0f67u}lOH+Wgh`!MnSYJy4qSCr)}dM0=POIB zV9%lp&Wkd7uV3O1k5_0}JVeUxou2}C9_z-P`H86A(ZEe%BPjB}-yo+RG_NT)>CDQ% zt0;Rr;`C@3`u;U>(qS2U>V(Suu&M7+aw3s;7t$L& zutJvebM>!(6GC$$zn%IA`PL%JrNZF(V}PHkcP>0(=Ib34+M5U)%>TQ~?>2uDt(j6?0kMM z)foh)wf>~5SsX_EXU;jrv4HoL<@o977-IVVxgUN!vmLq@+mUD&8ozW+X3Hx3`0ywx z7DA=(673&2i-U!TM|O%)#FN&!uKCe*<7dhDaNSP&_u1@CiTt`Hrp@%a2|u zejzyh_eF^LHO*Mi$syrqToJFYUcuRq`%9omwZSpVV@B0)ZGSkc>V|v`abfG4v9=AZ zk+1Y;nVcVVP}$4iyW?ceQysyFP!qdQFN7#@3KZ|_zUdyj^$x?OmUMDlFG3l+Xa~*~ zom7)InI;!nuZ=0}%TTgkj<5Ky%=^-a5$y~BRk9?uWtx8rCYO4N79_M+Vr?E(YBl8K z)1ACt@9lZZ(ckBfZcw$XW^9w=z=%OAxnO}*aIqJP9Boz4bBD?_5#qjnl5HmDi?lMTPhe^Nn5{yFDN%-a}P6kS{@r0 z9MbdYl{5=eVx;9ku2z!v68d1Cm8M6VWb}iy3U~Q${}(X;V0Xl!=q?fqR5k{ zxzcX%XWS)i3sF3Egf@|wN9@I`4i@v=6evH9G>l!W#pf`H%v-@+eb3HlYYS9$#d0J2 zl}ZG2`K>j-d3VD1o#NU2f^!R9f7GfseEBP2k-j{@^M{I_QgvEQ;y9(Y=02`tVV3ZL1j$+aMIMPYi)*aH6?+&JSKGnG=tK}xdjj+!i%t%gIMqBJst?9?V&Eix`Og&cp zb^HnnA9jZ7rAoAB?aLQe9+mFS-<^%Odf(L^jaB`&FMq?7SfbZ&By6(Wa4~ZqZGL@H zGgjkkLGF?jZZ@F2Pe>pcTMp|?zG>E=PfALvn6&}zjSD<#%xG)b80(r!y+^KtV&(7L zbY6M8u7`>1J+2F%(X++wurWv&QCT$a)30Ls$%=)xkzAOtrdgV?a+P*<#&3sM&N?pR zOB4&`+g8H&a-99HH6@)t`aJAAb*;iNy0a=`$*|~_gV-I!4kXxehXs) z9Vp$Y{GUtq90d$bs!Qy;X9ogRN$0r_fhT#-KIQO$%3sV}yb8mcIq$1W50mIIv%$Zr z`?yVNVKp9c$s#DlhGuMSX$wDJ#J)6H55^am=&%E)n8la}_@#_cuwbyc|9DY_ zmN`GPa2}e)EcR-8H~GT5;7Vt2jG{U9lt-wGL2AK@D9407mp(l#>d9JoplL(fXp(DA znRpp|JN$14QBjv<(%OV*mMpD2z7WpUNozz7>Lx-ep2U~x@-#J#eQ*a8=;;#&I#k(K z9tye&{VJ*A(*e4^_KspOscdo^mJ%Zhhhzcw(XJEpgfUk6RnSjduP7FKdVm`7`yhAx zDK#}pJfmr4kcj2e%#OG>zZlzbD+knXSlO-ld9N#Z+?HO=Fr3?sI=8^NUaa$ekG(RR z{L629t?l+^Nlz^^IH>35tD3BU2uu+a_^&pt*74L7k+}+()_6%%uhqC`K1GwzGJ-Rg zd(M@Jb$%6;mw(~F;~XgWau;&Yw!)7wa^_^>0JJHRT7)>KL_stK6}fZ=w_Hr;YC?vlQitUfi&^ zeVgtQgNwT_qlbRm{Kc{~nIOFtvT=(iI`l)xzQtX+J1Z|HN9}B@UF;C`BYJ=AeQayK zyNKbeqF&FoQ1E70cnc;=Pb-zjN11Jk-a7Mn(ps=z6ogJEHYcv70~PqG%P6bLS9R%s zqVArE!*j_=^_)#8au6M!h<_7Xq_1(tm&{`{w5_ZcZ4z7;9c-+27}ODGI~({)rSLhZ z1@oMNnR)s{1LWmvd{BXYv^xGk@0&B;>R^80*RUJlL7LrBYZ9th3w2=N-*{ea>+w;S z+X&293Srog2_9s#eU|;M8oDR7%m1JX?NW9Lcc~DTzJh8G;FX zOk87I%q=f+G?52Zx76Oc$kKGlAVI z;oB@m28z}05n~*>z&nQ1+1!pd@Df`2hZMmCrG1}dQD?x?7 zfq9F(00N#K8s$~bjvtoLJ+&v(!R%BQfHSYZPHQwJ|36Zdcl+}|PL-VJwz zI`5P)Z#Ks?I){cY!c#Oj&s0zU8lSVg2JcBrtLG0(~TAeMGCJ0|j?q#j%s^>AHLvM7=k-7F&Em?$#E1pFK{mXOdf58u>_846+|ua1iS_kCfOh{D^)sF42+__w>OLpuEfw z8hZ`PhOEY!z{Z)*3|bvs@0lrwPQW-ND#ciBUIef=k8j~#i@0x6`%LZ@&vA1(bjm_$`iVr^_*T+%kfeQfQ{&hN&^ zC1WjvN`pQDGIG)yg1-9YN&aNs?@{MCvJ=N1$?@^wC-aU-$N8U0yxLHgquq%0Qp#26 zEOVXmB~I%WUf2)pxC1Msj_2XeEykGZcVcO+o?GNKlKcAIF;#nXe z$xbDMNpqeJ2hd#ZOQMgSDO6)(BC2@#B2?br8O-?u27&|yc$SOr; zH$MeX5x+RtSi_JH#wbu;lWZKqC1vDGNJ?Ng8TiE|j*n)%F@K?rZsu}gU7Yr&xc6M1 z>Jq)iqP;_5xx}~JoUU23*PUXDFv3Lke@HK=n1?wdAz2)Jh#)v?-3hxhG*(pkiUiF~ zlLHA1e#aAQTXlonn<0JeE;^o&ke>G}TcgR2(s!r$(tGhf4+gk)Z7hOl?H#+R4ZMe? zD|)$GqkmSN<&;y@nGzdA#}1c=b;^31K1ImYeSZ>-FyU3){uv=^CsrreNj-a+NW#i^H9Fs3H4Q4k{J(c*Ue%t ztzV}g((rm#o8ap512-q~;c#!qIms)bKDfR)1u}AmNSYFJ9y*26SNav&$FR2Xs#BAb zlDhDsysFCX_X)v0y$(Zb~X*l!Xq%5PWcPF01#07rx zQ2+;ZyR{vD&_$zZz_@)ioO9mX(brZGUIEYr;ws!b#hThpuktX-)5Dgf_zhsK&&e9= zLQ~ge*VvTp6dk2LlgB&ym%wMx+&tJ}s$Z8bI|)aQ}*8PXx&py+E1DRFs2b_x8%5s=cEuYA-av5q`m6 zvjhOh`^3T{@FLnk7he?LV8=6e*oy69t?MGVtUzYK<-d3nJhil04R0|=?LFm3yd*hT zwQ5d?2lwRm>e-!cv#LvdVb|}9M7cws+|i7(Oc%8jrhFfK7>>FW?DJ-_rFWk>PEB+r z^qlAL33{qMn$q2Znn`2G;fI%S5ENmHh57x-_%Pe|Ll9QW$R_>p;5iGdVMddrE3xai4I08Y<}Rq zj{72m9GQE{K_$T^C}AlsIxfJCPMey5-AhjIt#mKrQ7HYJNReW?TRO$z)P|0(5ck}T z+nW?80OH0Gnui6URP^!j3072AI6n=sAONs`GqlrLITD2O=6)|6@5q>{zWc(vQ2}Ss zJWkU+=ON-E_*Dni8!Kios2nG>Js}Fj9Cb0LS_IVU276O0N#PBN=DL&$E)4T7H;mQz zI%?N_OZ3C%Qnm#SPC-^1QrV$~Y#k<9723lNqw|ZI(p#+V0ria>@$bM|amQW4uq1qm zYDJ8Ww7BXlrK}BcSAd#|95`<7)&vA}n{v$eyVMn}Eg+*-!8L@6WZ|HA)ES}v{Y5d3 zqJTD`DL!fY;PpDj3Sk?u=x}tD66ZCg5>vEi`=R7R_&NH7^ZsRy+ai^w`2JPo7bRSQ zPAr_y+DdocYiKJQWS&i|mcMX}Rhkn+r{W_VL$y*TCxx5bO--wx)Lv`*M1&Vs$7Z6a zd@m{_8YMu z34Nomv5C7>H($&eH(Z1&w3%}@O?gPB`6PoOngl`n-!)4aFXj%iG?yitu)R`PWWoPGLyg?~|$WFO=NPvx~RZ0YYho9KIM!zCBYpNJk zl{NXg5jb-|IbNM2hYkM9YIW@9{zy~l(^8SiO6PKx+!_U_fqAVWuBsQIdFy~E0U@M} zvq1Pjfe*6Q_FMH*2KVa>F7M69d&KbqA1+_cui@o5#!D>*dYWyfAM-{GJ^ltFXB6ao z3(o{ShcGdmlJVJnFEEZ{06*sa>A-oK5->>KzN)UA&X)t#$bU>a*X}&c8O?XUS$h1# z7up1-Yu%oLfb*#fluvTBIe~S+)JbKQbO_wg7xX|KT9)KO`C8JO8QwX_O;i8b)UQu0 zzW5LC(#6%M?8Bg7odDXqrGXmzpB-?e7S&>&ks@y*H-Au zymHI*qkiqub*_X>K+T9dCZ&OIR&(+jG(4fR%?8Y^19LLPL>dm733!TDX7hsaFDX=xvsZgmBaBDbL%HaP7 zbOAz8NA20ldaE~;AbIgm=Zc&E7+-jSTHqGBu=DY~<=@?!>egOWKPm%Nau9408#dLL zPKWBD@d|o)Bwv#^*EbaaHcE@UkQ8e^3!l63+$+T{$Du7#saJ$KkQ012507M!k*=Y}?9U6%d!uR_+(BxU&b> zl3|u!7+!$sy-7yio=w?#e9F72*iIg%RpBzd+g^R`?Y!AH<0ne8=&t*omGS;pN4D%! zjVVmi4i{Q9`DVA=#CM%^e zHgs9)$yk;*N#vz3BlcmePzq-P9Mi|-+)bq_G0t72YuhwMcqwf8()0Jb-mj_N2y@OD ziZ0N4{Cc`a#7d!*q0K$1Iqi1zqjDMXE&Ae%;*~^Z_OrLyvsQj;MsIcoa1~Z+A{ZaS z6kJP)W(}Q;ds+ai^Q5e!fSGd27Q56vp9P2<>|=)X zT1usb)XlhFMAMmDjLzDYjU~P;oH#iZ70s4W7Qhx18&{GcxTF0x5%43`$5S%M&q*yyRrgDc=B#Zd<xy zNcR)Qc`Ux!KGiuxhfit9x9*;7!q?c0UX07fKKbewm#D*O3&p>=^Zv?F%g3aExo7xB zwze%^yDXaC)4Fb9w#tNk<-N5v1G#wuWD7K@mY~_VxKki_g|@$MYC}cMqx!9{7B+n> z^dk`l?zbHGT2@yfBfw2qdQv`Wl3cv~M;iwt%yvrZ_R>G*70W`W$%?UG9vOPSn6Q39 zeYoPh?=oJZMs<_xYhm=W+mY|Ww4r6{;7ShtUf%f#Nte`iNQ!~o4`Nb*DJY^-ZfVQp z?yo9EI9;K|1W+}40Ud{LU5loStHSM)hlDsdz%hN2Mhy6=c#Kj^^JYV~vKb~1{IpnL ziHxJ~R^*|f)lZ_oGlEgDzIzzj3VSxNCX{eEuVcUy{Qp{jC%*!pwUv{wPcIV!yAi~n z*+Znxl4CqO$?v(SmEe^XoNjNLj&rtUvdODnhv3L)}t8>q%=s zPpkp_D2pVpf3@Gc>R|Qa$|D$W$J40V7v4hS@P)2m80kbz(Ye~t$b;JJMdx(sIs*&X zlaDJz!P;bpf5*!!Pzh6n7M=Hb=7n!EgxcHhULG5|YgN^Nb($52b2@>kj8bGfZW|g+ z&Gj4Mmyvr=f)X8rrO%TUX8YnR!GDOLSG4)pWcA{aax$B0!X}KN;ll>2_`>iLannm~ zyVblORi{G+b;`J@_@A9`%hm?lb&Ty>&OJx_XU5MvD%)nAwi=Sw1|t;hOj8^3cLV(V zoRM5jEQihHf~(X&4~ZYex+d;9-;ZxO36fz(^>bMae4)?w=0Y0IDJ^9ht0Pm85&>*8 z3^)-<5eua6g5RALfvpn@QbK}0J)1FK26iq$pBX10xtHdgq$UAeB`A4u>_9bOApnqL z;foAZ;@=Rbn2l#q?uq<^=hsnJ=&@b`nHaF7O39GMgie9j2|zGOVdTE}hQr3HNBzNc z4ehqjGdhHq!#~!ubFD?Gz^S1H_pzyLZmC3T_}=W)ly;2+0t8QzkM4zgXTbdWP zUI~TA2Ff6Jy{}XJAPaEz^jP};Qh#*iCB0p1`MGF@ACdbRiQ$3EL6bak{rGW~@dFYP z(#=uwP9-I&yiknI3$&bSEYd{Gx5)cK)GH>y2R)S_19oKkAnFrYME_snJN45gK$vvT z_%E{LmT_OA<085#7^(0hY*-XV?fC){#n`XtH*PrgdVpx|WU#is4kH=~1Ae6RNn=1d z&k{*vckvu^2IGU_dTCD&g`j8Cr8b~FsFVR6L*V}JX+)YA_(?JrSl!fztIeKTyzG+Z z@c$sr?GTeZHvFoK@8;rz*Gx?It0tEYdETAp#yR%R=0WJ9IK6;nK-4W-f0|#`TfOmIhLOE5hE0S4ZxbICram;F#$BLtYgwns&A|Rktm5Jv{B>@} z-UNiV6WYq#1a?1}D)w`CIT_4JdV;Kznn7+Z4uM;gaFHeW+_87#RW=ETnjciG7ztQjltZMA0Ofg|&!mDswOTRn&%W!gV4C(X2 zfVqv1enQmtH3dCrUj;aak@gAcdx_Ah(?{A;{m*c8eOYW$j5@RuRsTvAYR=2~{VqJq zsFdDkMaKGh|3rwrvsyl>^&H?pNqE59=Od zg*t=2fk9Dq!u1#8sTL`nO2ckA#$kWUv+29ugiRktm*2%@%xD`a5PqNsU@DQkW?bM9 z%f`~IHCJa?^@Bbo&~?RmR}x3d;X)r1B+rQ@pNH81BSAMAeTtDCyV7YKAL|PYOJUOL zTPVy43=lEI>wT~4B?tQq$i6;6!eYC7_pNA&L}Y6Dn?-5yGsCI`p}lS2FUItgacwSQ zApkNliOi%u^yRfNER(OIBh4%?S4{6!V`E_DP0lYaDo?v0z5TAF zmkV#&pkJ4lz$f<|J2;r-!qvaL+2djxDEbGf1nV0c3;o90OF}ls#A_%OA!8HE{}$7~ zM=ba_GGcnM7!OZEE%V9?LsGqV!Gs2EMI&s~v2m_lUZ|tPin1#LVJepv`y8u)?2a`h zwgw>$dldA~9P|{oWc@Sb(HA;ZpnRt0$hN$^4157AGjrYIQ7X-_LMbM`EFGVU9PUtl z|2uKz6H$gHWf$g}T%|4QmFE|GDL85K=~KOah2G~h-q-i{_n^E@(pTX^9Z_{U9{2mq z2i3zC-=1btIS*`vR4GuRuR5(=_OdTj)a$y>*)+GI;pOTygjz2*n3*4viU)F-?hpSr zhG1J76gKR`$YFY2A4YVR{rU4}WyLt2hSl)--0>va?-32hRZ`t{@7lIMvx@BK3G4B} z{>2~T^p@S{+d)ckZo*~gvUuBP=o!D&2TJTc^xufxItm`dPlM#Bab*7gJL&FKc_Sph zs>=T9{t76&Z1Y|+vQ;7My8HkObof0o7KKaeazr~17+xMjw&dx(`o$xHDA}TER^v8z z@DcEaFWkc4a*IoNONa57?3yeoBEWHN&D4?o<~a;XwZx^E|BZA$>$Hw5(2TtL#<-n} zzydtx&UiM!BaO71I(}}KNGc=Bi9gfKJ%1=ga8U{_!z^y#)`+ zw{;E4V#|Ez1Y|S`Y6U)!p-yHqy5Ib!#>da^=Hdb=#mw(EH6=o#L&hzXK?En(#4`ng z#peD4?!R?>X_;1vNhPR2u>W$(eD zpymmF90OPH)qP^pdNWz;{vML-MalZ`i_)0+vF)kD>Syr2RG&w*ol4s#%(~kdvQ<9iX35|rY_ffaVIm>odL~`fVd@&z8g*`|8j)WhK zfvb@pn0}S~e#B>Ea*3Ye>GSSrSGph3!z$%++i7AsXDqk#Po8)|Aa+M-ua!hY;4l1TG_bJ3Uh2@q24u>agaW?#PYfLvPu@FGC= zRppT(gULEAiRY2;A+rVf+}k`bq12 z8~yw)G)wWJ_P+T}pUbUP(TA=Y{*#S8=pY-1ywCSjBF<;IXtzN%XLmR|EB- z(Rhzqrxf+R%23E^`EMQieR1^AQC@F+?;P~02=&qlyZb}KdvihGL?u}w>hn8q6{4bP z;vl%VS3U5D1W2<}yZy`pdX7?KFg!m{0< z8*58`uRLzV{Go#Y3Lfph?F~@`%8Cc?wJ5e%GgkS4e*L*U;@zMRaynD>qD1H$-pj1^{SAQ&Tzf9pd@9#$-?wrFp|jm3#^aXE zN%V6-y0l5W{GAos55L0e=Y@fSI;E?dN<&Y6tRP)|Yz=wvM(?LpU(Zo!^p}neQ)}y? zEvI*ms;I@Vwl%t-{-T$IM|Jdy1vWjb#E2$dUriAsqnk^K&B(-rvX{fg-BLhQK14fBm9P2A*oAqef8f-C(^=lW12qV8k*Ou;aRkOv znp|WgBx&(K{J{QE_&g23nEe59IGXgO;2)PnGhEUwpiR&tYCJv>|4ZERpkT9y3kYGU z6&h*_2oi{hL2R~GC~vU%Vp=IgDu=)t7a-g40Q=~|>VLx*M50QqGxC3gQ8}N^_RhHQ zln2YZ8`UayxNh1FH4teGGHDB4wRYii5?Ii5vApW7SPvz(dFA3djGeI^I-4P2I zrAiU#fjwsbF8MMjl5AQe#|*PP^Px`FHDjazB~L`5HH$|OtBin-4l%D3Mq-CYu_>`^ z`;|5iRB|n?|Ksq!u?9F$w-EGlFp^?{E!>?BSy!e?tXdL?E3+d(N5UrMvi@p=k~19J zTr559f?lL%4*wSUe;ZgrLR-ekf8LRUNX2wXTpvG$Fk)ch!}*X-nKH z5fS|y+mavV4GCFC!aCO^06}&@mrxU(+u|3`b|aOhxdWr7#_irpJVs?>kT8?wsRJt( zuxR;mvm``B__R=#c#j_W&>;$^s1- z;Ow8zHk=NkpJ9)Knyh3Ve~>4^2b;jXm$}2mZW**zqfa8Uy9_I3>Sq!BJv%EUvGl&~ z>iSv}pYC998ZsFWwrpo_YfEQOxu_jO*|f;&5o=O56B*{7@!E=MP{j$CFCaE0Y^62}zoK0-{V5a8VMJFcl_#dsUMI3K& zfIA&F?_(Z^L1o{ep+L-9Iy8r?imDD~GK^pnib>VJ&JYsazmgkqWjH(#zfji|G6$(I zmDDn_E6x{t8t z)p``4@;Ib^3Od}nKC%ZC%|H5tZzip0pO>IIzH(J}Zq6@>km{>01EuGDtt+WL+abq1 z68IkQZAt~TAb|*SIPT9gz_vAY^6#-v0KP!oUG%W)=Yx&NXb+~>)!)PkX%3>t>H`F~ z+Ks0R29S2lH7{@=FyxN8kH!v-G~Ldb#NWS?J*qlkV)qN)xrf<}z}g0xYzm&P&I z^;Ncw-#9UAjWjs!xvHiOuj53b-W6|^`*1!ual}*-38}+0In&5CB?<`Hni`Q@1a42R zw{=!LnxYrSfuXM^ImA6X|0cs%vGg*^`S0G9EYM*gD5A>2!JDpHZjhDUny!V`R#jc! zWE79(`yc9%qm`m-ycvy)^4oVKNqi-+L@Ej{gRUQ17kZ~ zZjA4;JD-#0`}Gw7_jqb=lcNrB43j9V0;OkQjq!Ad6;4A=D|nIL~gJOb()t;Ir#lsUV2|yz!59}vM=2MF2I5#1SK0Uohwa$<`V&%D=-h{ zMhbArQh287h&*XMfI1NpjyYOfh3g&x3kd~J8os?_=u_nrUr*LvU2`PO8d8+fr?af3Ke$8<) zaS*l7KP&5ui7X!mvXB~8Zl4a>tF>9M)q#K|Sn_KqvU>Z#`JD`Q1}Vmz^$T&!+Yo;y zCT*Y#!TDy?e1O$7F1){0z*s$c3ogHzN7tZECpaYVT{#DFww?i=Bhh#2nr(uOgIBdy zx^nF+-VJF6KLKGebr7|Jda~Y8VP*Pxsi><_WXj_U##i}E_4S!I8+1b9_WHvwmDdJ> zD!;l=9H5=-&ulBHH@e45|CCN7LvIV~a@I*_ZW))2mrv5s&9zB`Kv?q|8~Lc?;Z>*4 z6fnD@pSzXIvPhS2_s7soBIbDGb%-Od1w#_ulb=8DmQ7+*`97^?MaesHkVMlA-hfUB zA3v74H_(AhGtBqib*gg3#Ep5;HWi5N3dlT77bPJoGofkXlw#^y!bc3bD7b<62y(3I zRCb{X&VeszYPz{TS_Cku&<2p<@zR>qcOlfvPAC2)rE%c^30rakjb}1mce$~}o}gs_BtrMH89op>pt3)S6` z^fIfm3^R&21O%%Ot~{OT<-5QL$iCRpfli!XFS3>sUxocd6+jrvWZ@wqBD!>!16-|4 zs$R_2wYcE=PhRy7?}fO$L8{>WvoBp^HP8{k`mM z7guzeR;tv^<)d)9`qgR+EM;#95VHW2hx*TufJ=%l#J2O{AQIuaYf(5KdOrh;*)w=5 z!?67=mL&{<1l3sB<#JTMyyJ)!pc2heHW?|We|f3LMFX~{imP-ta~DS#g-uG1W6=Eo z$4^NEzn4RIQ@?0BBAv!Tv4+tRAd@#QH}(z=l;0)Hf=Yu%NogAhO|awsmlg3~_JJ>D zjlhr=+J&Q`~(L zv$E8hF@RDi#1{3~7{9}+Az(uBG?(UBjoOIn`Q79}6j%jS?g@k3U;{(++x*xH3Y3Ac z;J9rq*YJ!=+%IcrL`$n2xNgY`RHUFl!!SfVMn*!jcWd>&y4fj%nN&;VKv{nH=Z?wy zZB-3`K~)_c%=)>#yT!?^oMPFrl9C|SHS2Yq6bjaph^)_-?xpr0*Em2TVx2$G__8s!^K~EI2yQNgCCn=dkMvB zpd154`=xBr|28*WtXdb+_8L(uhnSa6Quvg=b6RVxsOhixGOgE4G?aVaMeQLtw14xA z+4Irhws$oFukNPY9=Y>6dY`H=Gh?M`Jv&L8) zgSNQw9iWYmO`8`)@O~j@p9&L%T{yl)VBKBDimsjhoTf$fRY2XJi z%2`^Wki_yU*J}L=NFsqdMBOQTOeHWl_PVFwGM>uTG@$@w;3NN6aM-kBk2D~a_NGbl_t1oRxTY0!_KLo~C!494!X*})HW*ECd0 zw^Rm7z534*!Pp&?@9RH=l)~fE14q7@+;sV~9Ug?V9>%o)NQdy=x_AOP5sz+}==T9~ zZ&27K4ChUA^(zRFI74)Bln`;G%0fawl++SaeMbOwl5i(c#$8m zNpT8rs(W1T;nGg;fG6*s5G!x6;aW+s>grCnJUE>>ut1CMQWflujiGb*hAu|3abkuNWWamPW zU;tL#RU%jNT-g-BvD*`(Hz{64>I@*d0Nd@EAQ(&%1i_fvSJlicxyywgKPOAzu9A@j zU>Qc-Q6P&om5~jw(jAL}lTV;=r~X7m#8$j<_NCmnE#81aUSPYD?OEnhR`!z?Pb7;5 zP|zv!B%_%AK3Hz*MEvwAQHk!iTcn@f@4LrX{;C3ZXqz6o3W0^Y9_^YA8K=BViB=#- z7aI#Z3ueE=Jl(yw>4dNbcNihYjw%xo`j+&+T#6;Z5(=-nzJAX#Q(SVKGc&E7X?sU_ zQ=_Rdjh1=e9P38bde7VbpW8~>3FZ&k8BH}341zNCBI_M6dNX0^aFQAZ-iYTHDG5dVL4y>(QU=^HJKqO`OiDBUH9gmiaEhalYoBHfBK zsB}v!NVjx{G*TidNOy-*L^$HgC`^YT3JU03eCZ0Z!hj@h^U(TY{nH*AGuZs@vg7$ndoG429DX4$$;&`@e%LJoKDBpXmK)Om0 zOfF*%X!FQ~TW|*2_Q{c?_4+v!vL&6quR2nXGjb?oX46xC0D;-TO9A1YCRYL<|mpmUpY0MC`YyWIwB9GMFg5^ItA)K7H~` z`ap3yJ(vj-1Eb->S&n`_eZ39JG*_i?a*S`@Hl3bG?6)(d?7FP>+S_~Vmm8);YJkdO zt>rpPB0Zp)hfLcr=j$%=FYc;hU6j* z&3KJHQhbJZOcFG?N~Rduu34&=)JkOfu17p-ZM3gb(j869CuBF=JnJt-cEpfK^R!lX z-`RPUxhZ*~DZ>v` z#6u(W(X5p99FEL~z%QlPTx=D$P>JvgmJU&Jaf;N>3N4blv`=AT&aP8|lkFY`Di1zL zcx1`i&*GfV8vojF{Im9QU2^YgYyF$|+LfDJ@qAmQS1P)7`fc&Opv$i>$xoW4E|-23 zk$KpPUz}*Zu5CURdL4z)m7bp7yl9`k5Uw`Fh%pBo#Y{S2om<7=in36cBFmvx-0F1# zp9Bnr!SLAP2SR_CP!a;D+oX7NuGJ61s2hKURbO{jq|Z_2Tfn8jWVDo+Lbwbm-2@%k z!!4tlyfH2Ee5^+zTh%8)$Q_5Llv_BiM%YFhD%cv z3(5;ECO~d7p&I*rA@%Y0JJllAXOOIa{J33cgTIKtyD)nDt+c!CR{h5_-0^_K`**^e zk!$1efOWu!^N@6)^UD}ICAie<c@Sn5_@`**F79NI6^w>aU+ zV9&w9EW{++2{W00WVuR-=AEgx{bfw2S^HLcfAgl)zY9rPC)_)iA!(4LY>2k%2_5FY zvBiT`{-fRrV(A|~%Wo&^PA)`oMKuiJc&ulLWp{|&jZ zjB@7ImTg>5%uSy*qmpp7{mo|_oM8%?ewn_pfFpzy&NukITGVn0TU!-_9m~?$hGBk=e{OzUlle zQ^$k@R-Hq^T!8_hc6#QTteusU!@$XfAbKw#=gXIHYcuF1YL=mp6QN2dL+8KyIG}aT z!rD68I+mW#T?XZsor)b^Hr8V^>HG60ZGjAiohs={ABA2E`mzr=@{$B6!p+doKQ$>k z=}Np4g&{q2u6lJOvDc7T%I)?_o))jGD0I8=N|1C3!Trizh8F`csQ8c5e^)Nchs|F| z{a$t%6>3s9$@!&q{HKYqCCw0kmq8sN{7~>&f>sFjvsp#4e;PxN=G?CG=_ay7BjHF{ zc-Zbk&~E2cma>sk+{X59>U(4BT)b$PPsSJMBR}EJ9$vi{U}vYYg?vlB6*CJBP*ia z1?7n72P%?(_N21XOF0F)NJm9%AG$%){QR}>#O6^v4YFb4ZE681Z+GzIzDol`yXibH zQimT!o9jEdxwWzqZXHW|n^KKY{aH1G@E~1etVSLurzo&pg(GMpn@Ray**Gn4?20`M zPXklCzPB{SAA@8p^4rwAPnAbaPvingSB6>u7+6$4QXfe%+-UPJzPv0q z1*BImV%FTvAXgvqS1lFm2y}PBmRnTBhci>jsX@eT%ENOXBj9A-mqS7B$561d6Er#= z^}&5-ph7V^3flSe5A-ICIEXzwJV-E+vz~k+ZMo-IdVwmf=Ovl>$P29wdyR~NsX^qP z83{3QcN*Thv=uqwK6}PPD1y?-JANrBXvZRbNe?&l!Hkos6au*w#A<7|yt&tT+UsRFa`V4zHGN^_O?|2L!{` z{XX5Vb#AD6v7EQK7`6c>MU_xEB%D95Kks%Jg6wD99~!D!Cr}!yVw5)OQfCB*We`>m z0IG^-eNHMOrAf@YPUQKky+f0e_sw-jR~-faEJQuxA2eWN!w|zggDe4hgg@$r9$xJ*dVh-Qt{wS5oOM;-F3d0Ca#h2Tr2m*Cd=>?18euuJG*IH-Q%Kw0#M_ zL^$S+q+4x3bkW`ZLX5;liqhm;XBhe}Tnb1{%~^N4cW$}0zG>n`m^-|t!8erY|CHI; z;Mv-B+sg~B9AII1$ctYyHCyu@!0{#T_g^32dq`}tOV)l|aHYQAtM^G86e&Q~0tl$( zyo?0YQ;VCSv|H+JU8akiz?bGLQwgCxk?Ig6LDTtV*;|6jTjnAP~!k5M`ataE+6 z?f3T3xJCu0UOh24Liql4D^ls_b8QuV=ObNU9)e;4LSFFO(>wE*P45k{_&c|?9sP7+ z`Cgy+wgRvEek-Z-yp%W9Q?D+(JV{ObkrURa$<)p8zHbm#ae@nVOh- zI|Ip=;?A%aGXZ+=4nGISf+Jw3DXH<#%)+9?q>t@&_|`9g8l9q}!rz!hOsor_UGHYZ z-QlOL{n)7jyBvO<=v>nkJ1n3WF=y~K6^I?=pZeFAJ8ok=k#8Ejgx%PD#9w8bS!~{g zWA9^ed94<4Igmg~=3UK$zxd1juN55-D26T3!pV-|m+ za3g2tY5D>hB6g{l<9JV7*}Ywih-l8}h<03By(fU8RBYq=482^L9zRuG;Lh{uME;_KV`Fg|Ezov(|Ni~L z=57@?E)J02_adUd-VH%P4mf))`=1~LW-(#l{{$h_-J6)+>SUpAw?pqgMW&0e~mScC)T;Nhj;taR#HZ#QB=<>1Z=xIe7Msf~4h+EVwH zGkR}_Zx=rB-0IJ%elAz`I%l9pk;eUoxLHF7S8B_^Bx0l=E&v83ATGO(6L_(OV8AlA z|H+QaZ;fFNj(ng6yz@~jr)pim#}xs{L#^@^M32tfGhUbHZfy0!$1RS&{2t_P{jIi@ zNeg$QzqVIFh-nxtWU5S>nAIh>2(U76X-2ouZlFY^B4CqF*&au;rT~ugm6l=fuP)Rs z4WKrgtT9R`Tb@OTKPleY+H!PVG-KL-kxSV42k97{HZdv=nXYQwEi74pdkd@g*^||U zGjRGHsEcC!r%NVzZ`KL3r&H8Lw1)pqTO&uUpd(b|hK+wR$YQSSuX(OF!1Rq&8 z^5Gwui0*HqKW?&=JWnpZfXQg+pN9iY;IE48it~Do-5c!P7HSk~*Ci@)Z!KE++~onx zIsK0|G}7Nat`~2mT*+j<-iZskW8l@~-!kU*ahW!Qo3t!Uo}h>Q z8`U2$=IeGe;dWgWWSY9L8yyv%>~Mt?on~Y;RRDv2cgn8x)+n zWZ$BCqIG}(gGHh@^n<%nhkpL-WP8^-*EF`l@y&#tlY;|pS%|*oi3%_0y zhuf}dWQvR=iZ05SYGQ4MCrHeIi3j%Jz7uKf)Q^X@m%a6EJ6xB_?t6Jrm5n?0W!-gX z-49-6j^fO5hHvO^y}6<13wz7yWy6i5G4OgI#v~PKiogAsl1FW3!#`1bZUb#caaI7` zF%6`Lifv1g$X(c0$9et&=NQO+)uHC9K7+5Um8lDH3bx$KU@lW7Vc#A}2Z_N^Q2T29iY8DbciL--PpFrr3=+o1Jo zrxqSPyZ;BEt<3v2I7T~_!YWt_!=VThmxC#3QV+9;3LA~&0-iKE}Zq`^+WDeAd-gkW8zUwZY^_6u7V!o~v- z2y^&SCt*m4Hl6em)I2~IhodoT0;r2aGl*k>+iIS;vPPg|WiJ=fJZ;$gL-GeG>tD|l zwU0@05#k@Bjwg5|Mh@WtN{YRNGhM>Sd z0c<$-nv5G|PNT5*R>3MuB13vWWr9QD+bo+92S>U0g?kWrHnUULrn4{gV?byfu8)1g zR*=LEQp`5K7cfO~3t?0?dw6{FXkpVKzz|Tf5^&*f(x;ppRO5VU4)$r2AoRKI%J}hE z`dRDR@7@TchEE#?KJA&QxY_;WSNuo7NxfeifBamSpj1)|gaRQQHMFcP{t{noUDSzCD^YFP_}^-tHRam~F9ISk%mQ4PUuxq%(f>PvLkaTgBq#$4 zh`S%ZncS1qSjA1NsNi%P)FIH$Mcl@Lrd7zzKR0ahi=$JTB0Abb343_YQ`E3b;(8=- zxqE}K!xXdg3JPc}6T0ccWIr3-qeYs#LD>liaqSvMhEA+5X+FE!X$}RD6HQjEblv^k z(IHu#geOA^{KrQqSoufAuDeDcHaP5g6AY1z0V?{jN+#Fe;v#uDP>97NqgVbt*d z_kKgJ*b-gp2SE-&uED;j@s?jQqPQ|)fbZ8G)u0{-B(Q&)!qIK@B0yC-4tPO_@avmC zmedcFZx`tsJ`n9~Q1Qn|pp0mQEESQvcu`M+s2MPy!52fo0a`&@_BtMzF_m_dkq>nx z6r%E^L=Yp%`N2HR$MOor) z3z*zgJR!UKP60T>)CVu&1A5Mw!71sZR;p>EG`Ct*CKR)Wm-jz2dmuu|&bd|>gkz5U zeA?nl*?5x+uMaNs6mXje&*k*cF%uYtU4znN$-m)Yngg|k`bz`IYJ|TY@t>^%7dB-CK z313&&LcR$n7fheQ69a)4hAVY$9D%+Tx)UzKrh2zOhrBf(U}z0&6N~umh5TEWTAQk_ z%At~7H&Dv7uokRoJ-ghFV zdUtaDsvSy z>U^^zbyPe*@1NxRlPW#wxVQm|XrR=T#@)mjSjj1L-aH4Hp(~;y3M7vRWcD%DxQ>MP zo*EVX^+nR|krBCw>B!_tI*{XN>xH&ca-S!(papxf*n6+ptA@DeHc?*~$byc<)qR@D+C-tGv~hXf6i1WbzOjoSZ`qj0~y zYjh-ne~&%xi9d20D~8J%Xe4NOAdtMRHOIB!ytOe?&)2v4I)Z`jg?xb4hBIH6hc}pH z*dGqrA@61(S_bO9VB=Dbb|^>s%I1H(?s4CJyN0u}-0Vi3MhX{@^!VgT8^i51gezmS=M6zkT*O`GcSZQ*m86Vvx>3qHL>NG4di6CT3iB0jTD z^fX3>b((S3ji4C^qKiWfh}LbMQ)J*9kHKT*8{c?&US}Hp0ITbbVGM!w9UeV;xe!qM zWZjzT<5Zh{NJSm$7xkES^W#bN)DQ1rGWwt8hCf96T*=EZVKb3k&a%B=y0b-?FN#L|0w_CzzM&!i|JdLXE02Ayvnpu~_IW@Z5plCdb%}e&SLWq0eJy*A8JJn3 ztcUdFnkzxeDV5aI-Hif*f28Lo_p&lF-hMKL0-P0fEJllMC7u=6D)a?`3gC7YYoZV- z5a1_vatSOL)zz)0n^sa;CXUoj8~;eGRDsqz9?b`%QJ!Nm4GQV295^l60|CJ| zB7Z%KJWUbaTUS+Azx!wWgX5bW!ui!dFLbu`S!H~c;hVPgZ0Ejy^WrZMiXdTmojfl< zzL!%6JoQx681|mD!cUHz#hA{?%px%Y$p1<|v*Ql-z|BtK3kcr~P~|M2%B*x-Rn+J{ z%p8nAm7^lM^Qnh}lcqyp zvf3nmZPt;u>-t=TY;H>iwo+6!h^wlqGG0m2gc-wqf$esFAK89Jv&Y<)L4w?>EA|13 z82_wr(kt!+C5F|lt&~Vgxi^qj)J_9X<%%R3xd7K&(k1U_usFFy?i87yIxB1#}ALQa^2cq7b-J z=IY`&S<$>Slo-k*xHnkE{w3Y}d|Dilbc4JGM1D7K1m9397*g_pqNBj;OMZpn_}_2B z#a3R$yjqMwXfedPbLVq)80J3%e@i|tLYspLnqK@9r2D_#+rMB^#*g{!2-*nWOHdJ^ z0Lad3$w6$q-z%JjU7#^JF#(Eps+sp9#3va-y1!#%RqKHcNOoN`mj#w!Y7v-Yxb)fz zxwYMb!)yyFp7zZV+}*JK^iThwRmJtZaFdsaz?QSIu`x@)C;@G-7R?pluSxz55Fzq8 zGIFklB$DzzP zYBgPE9%dp3myc*XhI;E)Hl^}AponGv`~cO^h3Y&hT`CyIc|go=c-0Y(O@QG-?jf}j zetU!0+_yWpLVkinM9FQIC0garSc0p5qeMlD{I`GD6}m7+n^zs39Ua3f!&nBJ&C0q$ zs)#TG@Z(;9O2EQvnhyP{4xnI1xLLbX&xg?pEJ`4AGvK3DtN1k=yqWBd#H@X!NbRzB(1weYwPjxo zoV)XN=UTww0u|*?E?l*7^d8+L;N8sQDnoGqH$<*Sy{nYnx}PkawlZD%dBH_vU1on0!o64*;H5_%J_@+)eDzh-E8s_68`zw2S-O)CkR;ppSQK8wVwL^ z9b{U8yoaBUNkNV7c$?bo4JO3~sR@Iw>n#MXF{}Tu03wmHV9uIvOJY-_pFBUr+To&v z#Y~VuTHx(0C@?7-HXI! zH!4G6!L1LN3%+o(Z+Q@8E0vf%0NB{o``*_Q@*~dp@#du`BLZC9C!0Q^DME?6z@|y7Q!Rg_;v8x6K1ByN3 zfvOQDOAjG29?8GvCVS$TRhlmvaFwRP`o>qx4j|29}5&g4@<%^%avV_*Y zfHwnF?7RZVHg^#ZNjn88*aIY@#DBt6AT)zsn+F*cj(9hFWs~?dJLbP1+)$MqlM279 z)cRu|o3-wv*8WRi+Gh1T08gi2nv34zD(GbQjdACU3NV2;_8*wi|vY*Ik`2bu&25y@m1`C zug0y}Ik~vXE54$Pmt%vl&pnKQ<;2SH9-l(ipp4J+w_TR5CZ`5h7UU^QTz(~ObRd?> zAR;t%n^wD$pgHi|d*5MD9L_B1&dST|jk~JFoHgcOd~zf0zuP7dlwyk!q~5uDKD&?< zJ!xroq*o9cpvKKif8=2-Fm3k4u+x=9Jk&qt6B_bsyz)^>&07cv(f4~=*0F=d(d>A_ zlk1DWNYy;#W$q%mSvgt2^fhvLm6^O3|9{VaL(prcI-K>Mk%3@nwfr>d=DPr7YqNH9Gp9SAarhQk~C#HAl8$)Cy{j-y&LiYvC^9t@tgpQkZYm7!JX15YP z3}}rTd3=4NgO>JrYoy%$VDXL)d++Cq8TIw`v%Ot4db;O)w|s9j+u2Xj>46tTjJ&+d%p zV<`%@b08qRVK-Ra=JgY$s4oKS;M=exx+t0Fgd}K3Hu#b^nzO)N5NJ#P?>+o##kDBa zQ-~Y1;!9gC{&EYND>L;`qKuE=*%lVo92{m`3D#dHmaM&3-)*P6^~~movb(^!2ZaiuU^&F(Y4aWcez=-L_e=ji*G3@u%O%K;nv6yi)U>|T$ zcC>a#Qph?vI9Q#FNDwz#YH8mM?%6)5FZkUHzf_E??Ox>j@Jb}&A#%N5V0)cdxIC=@ zX;>k~5a59ZQUs(a@BH`dH$#*tH}^S$2zng)bXJz_P9lx?m|r=T_3#iAqK|h8ZCHm6vVR9kbc9&yyk@0ns&l#fe)de&^Iy? z?OyWxIcCpMhM3_)Wcv(!ht2=)HUY=Ty6VVFno62lh1+2FNK?BTe|lrW=%qC|o%l%$ zP0gwBjc7AmRL0?Q%X!tWbgPsS{DLIOAJ4519@H|5*alQrH%{JPml(u-uee7B%c6zj zIlo@isAtauE9c-)ChHSf^?)*>^YH+GW=Zk1ZJ0P^J4bfJ+vk|q@CNt#P;!cY2F?^A zbZLy(QE+cf)Eon;Refxq(aC}#DlSs(rZCa|OOmUQIk>vBxb!4&k-VU1k=Og&weYFj zZ~N~agNCm#PH)#fsHv%$wg2Z~2D{p4-Tf1IQp8uTm#e?LN{{YZZr~JWXxCR;9xl`f17TCMM;{qr`2kn9$%!-H)>?aHF;(uS=ce|B;Yf7f^kJiXeALNmTw zu0xvty3*yMwmz~jfAw6%zr@PsxG?ZJ-``(P)IP1l#DIP^fYG%(hhdk<##EBu!>}5l zsz(_^c?=P<)a^_U};Y z^H(6d{=!`i!H?1pmOf?Xgd(-~?M4G?pvXd4HWkk@Cup|I;=4^4Pqh!Lq zJ?7w0`?>xtjEuEf2`uG>|H zTiv7g8=pLJSOu4aL67~N!P*?{Q+m9+ zRx42pJL53YQX?00^OxR^96X+1TeK>&%Eb1RX8fJb+;ep*1+oCH0MubOoQMk%o@ z?WY@3Mw61ZKAFiB*L4@MX$&$|n`pr<8BJ>JiS}GSC$sf-eD}Kks4YUsYrDO-JzCSb zi?7zo_hjLl)CzL!^l9GuZWl@Is`=Xi7narbzE-IhPaoub$vss)3(YTcL;icOVw$e@ zLpKtFXkqfS`cr@OB5|G)bZ4Fi{H}I5r3(K}v21(p9iz=)Dp)`V&BFfY)iv%8!^4ed ze(&bn*7_9kn>5GffhU$idg^EWt1Yn~Gv+4qsJMi>I`4XKn#tJ4q0~F|Jg%UaJ5CjJ zAM!V6oVYp9Mh{(0y-3;vB88%tRSE@OeX4PKaoRl!6T0@J0C$&qA;x?ZX?HdKDa_1_ zOkY-!E)CI0jKYT~&SVn(=V1e;`pP2+s`jQ{$<)6jB~izzA3XKk5v<0ePNp#&I<6Nv z*q>U=+c1}jyX#S6<<;@$pz}g<^xq-ZxzTU&S`1LxR8A7od;fz-W;!_pkphWMu752x zJ%x)(nLZ}Q%+J^1{f$Md8(LSk+cl|2@>@R@-shiL((bJh3SD*;>>K(vD^1rN24l_W zU)i!U?G#w!&I?sEN`G6Rx&6b@S?$M|7Z023MS;iF4|125#QqPg$VlTh?_gz@3Ux2A z#`dW@CN!NRQS~nEHkoRragAWudF!v7JA`x$mMd#qN|swFh}_a)^q(r z7i}DpYD>1}PKcTXn>0O=Usp!lH5$ry9FyQOi$ISE-WT!gSF7|*gawGk9Jgn3GU6$@ z!@>O|Jy)dnPEftnL*6`c&m3HFu9cf~r^W@HGh<`p+hYiE|Bh<$Mnd|woebtme*K~E zF_;S_@ibVG1pkYpiW68(G|F;!hp0MXi5QO2wyBsr7uB+`f>gq;<)exxsq$~zU`}F$ z7ECh(_t+W5(j`c(o~a0Xx&G1I$}*#K+4%5k42SyeQe+h2hOO0+;*rpyGiM0(w!g{j z3WbmzLO%X2ktfAh0ut-#7A0--!{<@ldcV;5W`C215Y%r*U#u`+VJ0fjieSh3kcWzx zy^c@Ou#|4_SrNr&2^Kf%a?dVDD7n$iaD^f_(aIFVALdAo4Z#^S7H5h7=SV)Q8s_Kb z7iD^mgx$+?H9oGWJcXT;$IY$YFj;#!JyXr38P!S!JDVNv=&@4?jP|&~8MXrL#d9G@f&j zvP^q-#Q8*HjXn}cWK{hfl0y-2i$`n^SZxZ;{+jvBbOXhsjq&;8GdX(Pf9#M!gf^T( zFfYyxdPZ-vqt0MZ1*_*iO8S}!7X#<5WaocAPcJ;H@?yEn-mcezL%I7SR=)79rgI^< z2sd&R!RYVx#wTTRmeYE+d(5bjK0Tk>R%SS>jgR*n6A;2fA*O%#RM)#(gXu~apCvPM z`GhVTN6cEe*fdbAsH*}7l;EO-eXFdi+%I6S-LLNE<6IYL2|8M2U0WM$ygkbN znW^%vYyq&ck>#!6DdFdCNA8{NBaKSi=U`iUc0A7}e60s)mLsg?>7L`04^T}!G-snH zYqfv;i|I&|-R=h%p{nMaX$#*a0(bo7jyjOsrp=-(bMn2hc(B5DYd&f{6Z=Ccb|YxS z-154?FEkXz_Ve5PAYDE^|vas$fW<5-_^!dWm1Vy*yOXs;RMX?&wv`p0A1-U&@cVB18G~KTs?Bvs zs<`~SU!Tr`mtk(!>8k6Yg@yd*vye=x zI2PjM^OFUH`$i(z6VG%yH$f9XQq1^S|Eqmp!6<3J);MXd24&yoVq*`wahp}mKWrrp z(g8Bc#xZZx@_aX*ciDXzxDnG#DWQzd-ql9M`?WfO)^g-$?HX}ZUgi94Zk8L*R9`kU z9M4A~mSc?4M0h&7yZY((Gro|Lh+@nOuDcnj-ujfy8?meQ)ItIbXt6S0yAvaN_?Q)M z@+AbwMd~bN9AiUDx^JG2r;OCzSR#oiP5)Sr86jYvG-ad6P%EBb`Q*;lsquP3xUXzceR%q+z+MHN{J&SCKCE znUEvj^F~+GjpFl?ajQOB)hC|8`5qY-hP0wxJf`gBPTMnGMv0*rpFNKIAwBW({1tFH zdvBKV&Pg=dONxwCQ8`nCUW5B^{ z$(7)2y}j{s$*g0zt}mj=~OfAHs~n^&YjyBvxMEjueC2bwTK&bX1R0=8N(X zWmE`ts$6#0#?K9VE>3}-V^jDDyGm4UeNjDegIzFpPp+fBAaB0Yc8X@}oJVPWdHw$9 z&E#IQ)1jmOYR6M^AtAOX>F|7fx%w{Wm<2qiQ!;y%3#LzbL z^LzQ~xcpWY zlYFa~v9WH_73vz^Q5;1Q%ZzejuWk(0)^G_Q;xN#4kFTc*U^zememCF}GD85Q+{1|F z%H-4%jqEZZ$A&s#iPk%wCXkJy3jH?U#kVe+u0)O<)NTac|9pLm8M-hRhr$HD%^+2` z|1i*iP1;QylFdRt%6w6t(a}-R_HXx)+Rjx=39U;X;MbGrdUelsIAUIfx*d+d3T-HU6&+h`W zV{OeUrpW~wT?z7$Y$1FUI;s)Uev2FF5&)Qg{t#kmD|}8sZxQc)N{sP(m zwB~Pyqtj4Bklj0!u-sT>UeHi-H4C}JbSw1> zIr7zJA?p5fZ6w_KD`<$5O=6q7|Db+;oM5p0OO7o;p%?S#u4qSTug+p(VoFS4oTW#@ z;!cFINj(XPz*xDZabX%0tIhVpfa9yVoG!PdT36;5^g8Vgg2?UZ zy(Kr2pI;Q@bqDhvHL$VHtZwLL6fVa2U0KjZoPgs>YI;WdR8OHhPzL|nQ>rIb+p+0S zo+CwS?$`MZu9(!7G*}LIoV<)S&lFcyyZ@(#V@=o8vUp|}J^Xvcjof!ZM%fw<7dM== zdUs^oYah6KcyK;DZ3<~x-akA%?4nWltYWOaqJLRkBg)0MWF6i(GdvvS($D77{_|)2 z*t&Wpx<~y?or|yQRp7_;bPD?@{GCEHw_hq8eNg3K>0@X}lBY$-t3dD+BqLHcE{T^c zLL4@s#zplPtqzFcNSl`5I6fP<-gV`7^Lkd7(dn7>p=Z(k&thCoPslzOHVVd_JA-Cl zEHKe;-P9|J8&4y$Rz5gBUM^*^!r{aXhSpQNy6`sUojX9nGGa$qv@&AsfezZ(df$D+ zr}I-kLQl)-4y~R(!AH5JWz%e+R9gba-o0M0o!Oc{?>O~8Dg9WZ!X^6f^%l_HJ52EH1l>@r_mTsYSz z*DW!|6gS+udE<~^TrazU>Tc!(DEXccGE8>k6XJaDoF3UoZ8-i78D-(j`7|V%w)$ao zP!r`t3;E6&^wMb?QiIxmstoWKck2tpeMj15yR*<2wJrshakLaK;uSGd>;DWYFFj7X z`D<;a0#bb{6ZxwZdcIX5mqkXeXX8qABV)=w3Hq;dAI20ue7!rL3OT(xgxfgA>h>oa zaN^Y!*Oy}gYoeSeOiq(lH|8?om^XxsQDh#S6?K}Ub^u)T*yu zeOX;3OMmnm><9I23$4|?ZipqJBBWkTd$Xyu#VoI4+-iJ$(vg=%x(<_|=ZU%K;^Rd# zj1NSJQ*{Uoj_;lgwGW$<-nvWSkfg+L&%}(|!??9q{%xbB$X#~yY1OY23F2=nO@{}# zbXcx53YWwOMHO#1Tvj_KqVmUig-#zyXAgTE*XIc8;v+2|?4Yp5WXMEJ(^3%MzyEvJ z@)C8_fJ;b;l`K(G?wH2yU5p6 z7UG`K=4Mq9f6qqq==q-u$%xg7{U5W63QX_h(91?*2xoR^8U7&&vT$U#DY1wU-@_5| z8Kn!8ROluw8aE-n^FHSt=cMqS)lABBoPC-)!=Il%a=GS5{ z=w}s%uy2`yaU7H-ACYeQMDmFUkYZ_PK#lx7o@G4IQb_HfAzU+Hq{4iF^qDGn<1Q0+ z+~DttL*55EI7?V*U6O~xYY=$0kC6q7r?@Q7zMQQih*_mq2$Z_M97fXlN zA9fRb9EE$5#L$Z=ditSdHInO>XmVgpLbQ^YQ^{ltsb$XbvQ*1Btvmy zQJN`Gi;U#Ebv^D$ZVawpf2>-}sGTCmE{x<{L%!i92wusuK)92Hv zso&yHAC~lLpxtB&SIkC!dfVwx^P%sj{xejb=*-_c&!e!SYC7=w;uW*C5xi*Sd6Soz zQt9*>c*65m!=7S70f!-EJ;1^5J*D;6XI;-z>xh%CPNPzL(9F$lbE~USEB}%9+Ort> zWU@QNA4h#N!tuQgxf>^|J`ST>u0*Irp}H(zx>sy2^LyRk{6pI}#Muf&N^lM~ud)~g z>mtY2S$;0UB9fxqvKy%XXz=4TyP&8V@SKODn*%AbC$Tjoq(8gjH}U&auns!4;shDlxF;^Y)DCRH@%^Wpc< z>Pe)uimECo?wp>TtuDNbaO&Rup*?~=>{Is5wYA9JTWhSF-XYtvYpm8? zg!wA%cL2-;>NQbpG(`Cj0O!5I=i}lc2yHL_*-RKDO)dHmxxE#SxlU!K#1{fv{2UWf)abe` z@z7PwvyhfP6KR~Auya?Ht;TcTngft80W=ixN92}oaL$kI;PQR+3Bfcs4 za64rFTfa>y&G87KBok_wIv&gs|o%FYAB9z-Rfb8^u=WA@E{>vm_|gx-3hyaZaC zr0o(j85v%x_7l$sd5Mx!Lw{O(d!`^un7!%$b@69Y(9}a^(3&xai!@abszs*1`X=?= zp4|?{#h+$l=lQ4D7umpMC12u;782tWUc|EfpmUU?08>Tn8&@Sc{qj_-qj+eCt1H=L zJ(@yRZ(^dpmIN;EHrdzbk)D5d1^fJHQi^$;rek$U<;fj!-zApFMb;34ndz3yFY1zd z$uG2tLrBT%@27PKMH5{q#n#KxMlqY&>V@zeE$;vM2Pg3B@~F~|Cz_1e!MHhxI002= z+63Bb&?lsqFRMvURaD8-wU`~KCVWi3!@crWvvzWmi}<}eYx2p3ckOhcfRpn>i*8Vd zmpy%^stTe8&)J8u&JWCRM%9Twk5{0KwGezkT|&{+AA|7rK;MKTJF-{xi?!TC;&2D!1P0S$2KB7pj;z(#;#s*rSW| zw%2>-3ukU0jXl#N!(y?spXwHZ%icegOW2{#;<6xwHuW}T!*UCK)x%#~XUxrQcyRB0 z_*hST0!axeULgzG_qYGn!;hdA;4?tWA{4pVT^tWk74g-@P&s9l>kUX#(>|X7t6~h+r`XVvN&VB6C)tb#-vbUVT zYHoH(>n2C4B%MJNT>h+fVAP=dQ&4zrqB;}G&DVPZe~WR#Gnd`S7ndyWJ?P8F>gHZSIdRmX3>P}-UqR$(nn%O$QDk#zW$!(dUKE5R2Z!C`Q2bH?Rp%OmQ-1&WrHbv;i_@_ycs7#!NL@5fTk2>-xoyxn8txu9Tw)Da;6 zcKpo0t0~*4Y>z1LiG-g#Zu z?AoV9hOK>Zf9qazWJ_%s#L?fRZdg7d|IE_dr;4m-L^%T5p#hCs%U4KDgVH)FD8FDBCrt>_}Ye$BLGDvqqyn?$vdNf;9R#jII*((#g zi>j|McweKMZ+Y=s%C%bo&n+zSe<`}*%$v@G(14zU_IAPjR=0%UpHn2a+CRU(7Cd&f zvWI6SJEm1U(hI7}=hd{BG0gYvJTMW;x9Up1kB(Mj>)Zp3Lzx8j8Y)3X(T2*qX0}L4=&Kctr9SZ`hXOZy zT^0P=^G5E8=mHV;<?mF>O2oM&^70>UiFE6cMLzG z2=4-;qChnN4*pyW4e_C|lRY3R#RMAQ6Q%%*WKtC6lfkUq2c9?)|I-y3Th- znb-2@i^fmSvQ#Eejh9#exl~nEDe45BsXgj0dluB56aP8kxGx~7GulSC^mT-x`?aI$ zIMU%oZ^I-U@xXKhe1^F@v369`_)PdyEh!q$-}P82P>%m*@iB=lAFK3Z$z$$3Y(Z2l z>in5tgdB9$-KG}FGBVW2Up5PvR1-qO9R0`gWX5bC`h(f2g!KwmQWo?GPenaxAvUI` zQ1*;^rhiRuCK{brMao6EGbj^d{{2-9AAH{HRNK)x4piMNerw+tv?*oCv7c_`0aKb_ z=>sd&@K2Xe0GYS=ooGdeKbP(Cm)FU=8B-qpn0cv~xuLtvWh;C`9z%XpNc~~mWZ#;# z{gyAiYNwF?L&)U7(b&#F4J3iD#xRwQ_*VPYT)Tni5ki&Tfi^hPn-BSsIlrI)gb1?Q z)IL}Ns|FIVY&l&Iy--N1vJJT--c0!24iq~)wzRO=et$dVcU($GcTq?mt% z6Csl|9{JE?j%fO+U}Q=*CBs{+*KMS(4O6iOp7Dhf49ELMTNAu84KJ6z-4FO$`f^CN zn~D;6Qez}wATX{iNJs_0l4REyeK0g6|h}P zYOFp|+yKNNfV|uc+@d{0p3oeTAG##+^7ElQl}UwM&QOX3O~A&Y6A5Mr6;7bZXw3T; z*2?0j9>r!z$R27cQEN)8$hwlhrb9@E(aM!}4-*Vd$v$|*<0>EV^f^2G_XanbKsm!) zCj(ZVh|?ZfarX|!z?+3lW6WGekw%jJb29dK0qk_vi+K1e?I#-4`g!zU2G==d51C8h zuj&#qq`uz8H<0zXHE(eY6-`;CD0C_f?O)L6f~XiiOwhMzjpsP56x+Uu1{doI6!mZ{ zcw)ooBPBAZWhz2yk6r${$wo^5V+z?>!V@6&bj zt5x6WQN}z|)Ae@cLY4K|y1uQZuDV-4Ln=DeP1^Hl5>t@hf*n`4Z1HY6y4COqd4sMUNa176;CJQ0E7-gDV?1)FZm&&bGT* zc+1S(!~K56O3v=NcB*HMUP-?lV-#nM^_}$+;OD;1T)%wrl*-$PRm!pX{M^&_H69~g z)?RkT=Tkf70Vp?iBVdP;?v@u;?1Xlh_EMCf#Q{LY3Yl*eR@T;lHx51SbWLE25RyGz zDDP>wRl^)_KJ89BtCi<2cvI>w`Q{zkrrTTrOS4+d?Ry;m%q`|>fnfYz=x zE2~g*L2yb(Yfxrn{7~tvGvbKR5KpF& zvM|_72n0wftLgk(d>H`Nl_@gdcVv}b=Ue@%K*NS?fUf+SFkT{}-Q%YGlFgM~bq zj>X+PIm5_wOb98&3$ZDEtIP+9<4;O}x4Np)z+N8o`=hISq>%X-E)hgtt$MQxx^9eS z&X4r*pl{>89&n4~!F1>>gM01sgqR2-pY1wzK6dk1&Wo~J^m|9{73nTW>+o;)T=Jn{ z#J|;YC*t@}&tpreCQ6iR1{n3n`Hb-VZ;+x&SY37*3?HNSQ;oEJ$;wEfv2}FjIld{H zhJ7Tlw_owGpD95lyso_^O6YB^V^3XNrXM&Bk}FnBC3{2fvS}JF~oz z_X=RqrEfaghMwTe%xww?BM-p;c>QG)kclDX= z6QVJ4km~K(f~7_nKoKuHD5XhX5_ijV#&*P&k2FZSzibZw<`s$bYJv`v^@9^S)!O|` zVI21Cbf%|zEEj>K6ECgi$QdIszV2AAC=+Cio7QUwZDjF)#6EybX2k%9~c{NyDe{mzpPU? z5OebpfH0x87oG2%$nxzqq@f@s7pkZgHaGh(QYbsuu!D8>7#yI#-ZC)54 z7n+C>i;*Qcqbv3v6J>%|=R2EYv9-;{v6fKdGcr7&jlb7>CSwqYEW(5qU>Tc5*dG%WFZ` zXh4q%7hBE$clWBRU)lb$>y<+LrIcMT%YN}Fx#RNv{0~QaCui(L4lZ9hti=cL%t{%r zQFMHLJ@4v6TrkolYjWl8Hkg313vRBi+oX3FvB2P@)`X8LHWEYa_sabEfOz<|&9S!y zC6D))Z83)WYf~(%KCUy5{xs3+-b<3aG195ol#XSn(!zEO-B(=maMLMchgRmFm6Ujz zL)|NGl-Sq9SU#`rE$CHcs!8)i6x_5MT-Acg|icjNfcK;w0@&(=7 zw|-;tfci|MzV(IsEUUpxVC1FlpM1TG&1i%-3_j5YPGU7nXU-G-lFlitzqPhhjK6z6 z!GepfG^?@>8_ep3`w6>%;6dk$Z$m?Kd#-qL@=(@}<;a9C?@eMT4gwvC&|QlaEn^^; z;iLbEMb@2m+)Vw}h%5LPJNGV%|9Ff0RFu+=Mo!Ryp*}`zwpFqWd)}5_MgQ7yO&o3+ zy+jp1slo+$0a6HN&MBo4^akgE;hWp~=5V2Ivat}~gf-qs-cOe>TWWA*Bzl#hf97SF zjBG1Ow<8vV3>tH(~KheIto;QS<~6k_;NJDc4o`D!+COg zdc(0UR?3VKjOuinOH%mS6A{={Yxcka;B_^+stPtXCB;MZYX$YNN!X)|r?CBtu4T){ z!4T86%!q%GwT$e>(Q?`+f;AyeGW6%dr!w4u9*BLt8L^423@hNC3e@n^fXf!?XAI98 zcdV(pnkyFb3+%}HApHFNJTET~gc8twTa=5+yqDorT=eBi62&RK{hbG)3XJ&OBbEgt z`G#5;ej6>^JEniLi-o( zYIF-*H5s4eB|@)+fR_0~ke=p-Z1#x}TpxF<@MCYxnOeqqZTlQ(ysIdDFKP^~EyE>$ z_V8||7JrmDYXQfU7G2HLs9(Y|_{^OL98Aib2;a}-!D7RZ(vQ9XXafkew#qX6>X#QW zcIwR{PU+|3m-6Hzc!SMKKXkt$H)DAgpkifmejzmYyZ^TcCNGsnx4FOL5< zGNLxGWdr0|=`6FFM`UPUm+e7&-H^Bw5(fZXEbai3LX|%2M>uSQcj(@j<)E=hC>KpE zo_SO+WoV`#lcnt0BsltW$C)px-t|vP5YAMW>WM2-JelVmFH7?~1=TCM1C2k+0Ni9Q za?16)?AY|8spoR4aicyam4e;CG%&p5vbZC1z3sz+iwqC(E$uikn?WkY+1YK0S!j>k z1q|%$*g}+^t!g)5(03_~b)lck{R0t3vsY4wUW1>**=jfzb6WV+)D!|gnuw7VceQQf zK;psePGND0n0n-blWE%Mk=YHvpk$l{uif5`fRBCm=JvI=k#0+tFpax-wrUd-6FNVF zYqeulH6xx-K{-XG(&fdO)obMnW%Ff>x`b5C$N0hKQNX@ck!n51&!dHgT6e_B-l#zU z?0kYRb;o7(S$aNhhMS~)s=m$H_?Gbv;~4|n$HZ&Wkvy(@*|(zydI~O#7jE~-j^phl zdpSKOhQ$A>h;p3Ofp$fvWv3|voh+hr>4jO;GKos&s@BXj7wqS{?=Kucr&rd8SIOdy!ld#5&B5fwajhAk2yo22T zbBME<))s2jJmlcWD*ZTMHjHrihW80%-d4KI{=>fcb4JuXhKW^R=s39C2AcW)rbM`; z*r@oml>UGp(*JWwQWN#6QD8_yZ&VLaNw9x%HjXg?UgI3=e-2AM)%>gFYY8 zuC^As0&QPPH4B@X4BQa4y8k74p-vOhD)Vi)MH(uh;Q}ltdt);*8ylw@-P$+*&e*@# z?h1`wL2a}M)@;1{V1M7DX({#K_eEx&|9NZYrALLTC8Cr#V2p@55gha*BWJjE*NvH z%qYWn!z~UD4p)YM_-fv*In4Ii%=S+jw3v*yl_R9_-v^|H{<)4!U(gnuf4hO&6a4T& z`s?CN=~`CRf575h-T+AISkiq~_{BNq1E48@o#VOAz}sDD5UlVyp#>XtjZ|lKf7H#p z@+E_@T4e$uNru3RsZD9uNbP^Fqs|TxSvXz&1-8ZuY=+g!A2M-gO+REl{za5(YCG(MT zs@t4fFOboFMe#cdxV#P)B-$Tdk?sZ-42$P!r0vRpveHNDM}G)kw8_Tn4zxW801H58 zf9i)c2;kudL;7IOc(df6o5dosAD!v;`3#sZAT8xTRG*aV-R1#|2QX;r=vP;P&;r;o zRW%O>eoy##r_o8eEDI4na^4eT`IIW} zEiznj$?#SF*pV2vZmts1&&&bf$8Z;LzIhISsU!F`f_mQYRj5mw^z|>*z(^n_(-DR$ z4@f=mSOKfwR7+|wG`6+-jRqJrh0TA+HTN*q{!+Kn^XZd{ykJ5CvFBNdpkZOxe56@! z0sku_AXe4ojg=I)!(>Z7{B;I6+wFjPikZCsmrR=g4ZTYs)HkG2y#1h8?+D9P5(zgd zpYf8$vap}w8MErHqEM0%4~lK#nw6e!0iPiS=syUelsfn5tM5IF3QGzA1bDYVy@+5# z@Te~zb5>)tM8<;IxdoAsnGe07@9V4Z6c>Re@q3N2SJN|j-t|%JO$ASPv5xm9#dJA+ zzUnA~k~fu6{FK96u?K+AJn6mUKWPm?n;%Ee=0E1tTUWK(8uo;&_9V+js)SLUe>en| z4iI!yd+f@257Jx%aEj-Y` z`0t>>(%1!_yHOXySeW6OICM;)+c{`b0K>9%xO>Lzt1r*7;=3`C ztQ(sgBznk|WBx=pzy*pOr$`f+Zld3>~O$QT&TF=O$#q zQ(t9gwgaNeeu!~-ZjpQU_gab4FShS=iEd2Iqi^nYcNSc50KQb1O9D4{g{5pADSB?? zPbK%4l=+d#Y)%*JRzJG#I4!r`%(?+YqtK%Me1xmKjofF7;vWYWr@E*vt?mJ03@A<^ zYD~5WArNM8HgKyfs`S%^O*e&cnc%(w8LxrMq(}qz#l%=w2iviglqeh(%ISk~9kF2g zWWGM|;g`eTyZ)7y{zX&V-<;<~?*qoIJQC|9ERAaGO3%%6XlZ&82>`pQJLP?o2b1Tj zyYt>cc8=FUXNUoDrt9HFFe3K5iTw8`cAu{Y}R$-n& zew~En6EJeHrKzZ?ncH)6mKULcAZfnldFi(w8XBo>O!z36a2LMh($dl|`huRPp8(PS z$zh#<1U%2@qQAp|rv9MddoW%by@@XM>I=>eD*fj%YI=WqsMO&Ka? z+7*QoX{N{pv}W69K)webHM$C*Qoja}(plYd4!TVqFKfZ5_0HxWU-c0u?Wwf8rc2DY zj|<6P3YR`ODsatjz^SfzEr2!>%4e8XBX=7J0Nf%lHLg5a%W+4!$!!!YNEaZk}}WhXfcsN}cL(D*XV5baan~Dz@a>fI}q(8$eX5JI%EbxC?w%2R92O8WKWgl#nr;w$x zLScrc-#7K}qxsMikO$DCJLGf2dL4h*OFcwXvSF-&DM|0B_u47)y6?BY1n4|88LhMe z1H!Gwefr8-BqBieDzyclz&gCLsc#&$Vuk8d!^xDDBlmj9o=6sUs6wcJpHw|B{p7WO zNZCR4v*7OmgaFAl$#w1C2QwJ=TR|<|0HduBM~8kPf_L5)!{;n;S=2g_H5{#s~&u3++!H zWPoh)ihphU_mV}5#{+k!ur4%5+zC|}O7b^}wPUyMSBEy=$CNO9hW)?)w{#8dZ?3RsT=e+04=7J*?k}TdX#E0A8sViKlG`Ov%eyF0J@%q?5GsF z7m+6l1Sh_;ItBXQM3oQ+wS$`qnqxukf+GwjL(W@U#Efi8a-Pcjc}{yj(R@heJ9s0v zK3_apjYzB!?aJ*gwZ|n_aXayJ@}7p|t)_kCp>hpdjro8cT4Z1_rYIp8xq*Vet8)%Z zu}Vc@;>t_2iVmBSXx<9r;EOCstwcaainpo;A(dHPeSx#=(uvJMqa9BozCJF~{)zgY z$tb=p_dEZ#sox#}eJ49tJ=WP@j7zeaxkb7OavY4hY>bPN;5+NL;^?oFEqED;WZ9%04a zgtO0|fVald>OZ>ZerCIEA#|%%9n5p_-9Ll5l;+Jt*Mgsd?(1oiR;^jP+~qGDMujg+ z=Yd#xzS^p`+G^XdB=r74)dN<#&uXUEHK}1(C{=iaCFVWWM*uz6oj4hP@2sWM$Jw1H zNj}uSjrJE-dA?vYW+8i|HlSCm~v5CpU#q>*h4r6#?I4$zwg7no@CECf@=_Ard?bvT<3irF+~n>xg!6% z&y$X1eFC1yM~86m!+A6s`x)YS(BDk1^}08AqZYLQq?+XiMdQ zL^6`zmV4dB*SERPfI9qqwR=-t;^+|}VPf2;pFitcr+x?>;Pp@s0ZXY0Lm?twzv5@z zS+fX{aU|wx{Os+4lHCVnvU$JwE*s@778qU#24R(w7~Lz--zCRsWu0AxhZKcAtFKCn zc{X?jqs$1*MarihKCU}=G$=nz3VQ-a-yz zaLc_br3?woe8AkR{ejr?8x}$c>HzL@>U2p{YFF-d$alw$eCx^Mx25#l?)xBkK=0$R z-6hJeU0q_jw;=1qmc;MA3*l}*!l474s||2)ZtRp0Dt=4;!k%3maB-zRF#*wj_Iqs& zn5UC`?z_KFPw`ekrMgA!%36Dr(M`2C|{KUy!eh=3tK-8p>>|ta)T7u5>l2Y$F7m`B^?ESdxoPa{-$r&$)k*_I@tF&!_SG1qCGTH)Qh3_$i zo2zX!%tIkT0N%e*lIeG4MF0(r5gP;H0Hxk=NlN@+zcN`lx#*AEbM2vSe91WKxg?*+7LOnIA-eW)^egcmCp};X_Dy{DmC!Z5wdA3x zX?IzsSU*!0Bi5K?9!ScD0OdD{jVxT;Z*!fJZHl|?d0AMqVnKQY`-&EhxXknCUx8bP zo}lX8{VW{i2wGJPOGH`YcTdiIgig#+MixM{_N6X$pX^RM z0YMR=DAq*#Kg@Oy4-bra+g#AM^%KFc?}lwmVn6;v#e}zM?(#*5n0-j$i{~byo%#Ip z%#iUwi23j$y~N%~aJZ_=L>I=5ehFEe%W1%S{KKHvvEP&7y>pPn1>Ds`+##GpeU;US z%Xn0{Q0>9@iEu$#=Wc{Hxfev2P+6iWX}dVGVOz8PM4@bAT?TLLzeS;^!h!8Mblwp_ z@q>&1k?9!+ERTd>ZLAVG;ThYBAVQGbj=L3UZu!C-ZciY+04LoHetDEAYZ95aeuQ7M zHvEBB8~S%{(H%jh`3ZXR(nYcwD0Ibe)=diricXJkpug_z%dqtH3MD7L)I3TTo!B|3 z93B_(I6d{GEKo*SMf}JJam{TMMc(2*B^O}`sKBl6F^eJiK0p12utjt^yaoqr#{G0-v6 z#t;xX9eq97S*;f<0?3gfb`JPIBOTLs?~}{9IIsJLF+J?3dG+OCs-8klfCSi^o&!pp zRgJ?h;vr}BXy|2P8*=lKD^EESr<^@lPB>7Wqi=G^D6kf0Rj`y_{~|+UjS=hESPeO| z`XBr{0Zs7$SJP21+4*LG*HO2@{QH3YeE^Rdw`aD^ONqu zuA$>>UlK21KTJ$*_>Y$;qNBfLgbF0c=aif`A*a7>$Rp1Wkdb&9tVowdK{Ais0cl|n zUCN#tf>XW_Fi+LkwLg8>(>E0)Z&G~gdb9{n5=dj6t{PySS9=|qf^489<@pA3F;um` zH_@xXWv3+C7j9{GYuO8VM&|E%;AMR_jpQ|8Op=FYwR8^h9P_o0SkM!ijL68G{&$pR z!jaG~n8#}kaQgl8UdpF0D>ZhD@{F7uggj3B$YZkcldKNGvr*HYv1U1UwRaNm2~*Bj z+3d$=r~8o#=M?+1J_lH+`^qc;hTSHYF#cO9nS%>xPiwY9N}A4Vox_0;YG-F>UI+U$ z0ku==!vojAR>ME-TjgW3>WLSX+5`qS|Bju|=hH1RqEtRKp?jO4_)fvDnSkDaS z!6FpDx|xhVn1y~715pv@QUh;sn^x;h*5KgO)bE3n*skw3aHadHcm6x0Xl>RGRO~_* zua`g#4I$B4CKZdGGsMlqLwNJ*tA_s`hbjcgT&4<9?6HEF$5_hzH&0ZHD2RFjJ{*(; z{KWpxp^Q{(>7wk%rZ+F6{hCQ*cOik%>qY=wiD6Cekm#QSv#z*6wG<)DjX-6!n_-G& z*JZ9`dH`e?q@a&xgIPq~xr+YLlg;#)T#{O6*m7mA)ygR4SZqyTZD z#c+eBAEv@TIoO}WQYj(O{PD9M6&j*Bbotmiiwz8J`Rd>@U411EDoD4jxfVkvaV9>)$}c00E?Iao3gr+;F8L@{Ckp+VJmS#k=dMs}vI+v4yT5IJR2!cRbAPb3TY_$_l> zhl@dOU-)gr%#yht5GKjy3~eu2)STi6d(#%Hq-0T-)49(KMs%o8HLw0>>N3&?=8wR) z2J+R{YSVLdw=@6sW6UKoMl#&Fkg%diF6wb2B5fTV+A~p@RtsUEO*iB?9VIoh3~B`5 z%$IaaK4NbIiP7A~D)lKV3_mDSpu}ci0)B{>0s!I!5s_pBu&y$P%+VJ`_P+sqOY&im zx`IR55_4h1Upc)_a<|!eG@D@dL|Krtpgj5mGh`mEu@%PFyVZHgo$76MoWnj7Vbd`nIR$LhGofn z1>NvWv}ZRse_-#(eH<9(MF$$O;TGGoVYjY|-h$W)%Im(mk>gZpiTuE4qs3ovn;aj1 z5dXENmRiuYpWydYgB^8v*e5hlL_Xy^HdXf2M_ku}Sqcd3I0+x>eZXhtdNw)%V@Aff zHU-Up3)0M>B;`kEi%CQ^`_~*0JIjyOPKY$=mmwUXn}`HH$#V_I3Y#kt+#pkT`Nn*Rjd(Ob^h?1i5SwFo3kW z^QLqaAKaxsi|%ZZ1AR%@dg#r!s{Z{-jMqgt@2zFQhMOHbW!3s^g-N5Oz(41kCQ^-gKA68ZGqBW_IvuicC!Mz6;Oa_KJ| zL%em>;h5m|oKC?~c+wXl!bm>&L)0>acEeZb7Fy$I#@Ok#XkQ__xZ(6+4!b%y4f^B~^Tuv-!7c{z#R2+*aXVU=T8@a1;Tb&d{TTS ztami;gu>EJm74x3A{@Ew_Se(Lovw)X_us1`KoCl7VqrD>12KVCLDsz2jcLA}e&nuT zvV;2`?fa{~Su}QO!j8iUNvBj822q1Kyr!RM|a79YGfH$l-Sq*0{N7mkP$?16DARplA2pjJs`srnUZQpq? zC#kbj_f3W#d~tg7UbSE}1ZSuSU+{Qvf!!WpD^Df&uQ7GSuBt>_Nm8&&a$2IYqfU|s z$k~E&7N^$v|Md(Qjjp@lY~W@G_EsMfKh1l3dxmO#$5B*CH^+H6fj^3v?E5zQ{nCSQ zA2ma@Lfkj@JiSe{T#N}l)Fw1p3RKyS=Xeq7Q^u_?*P{$k30ajDd8~^={`cnvMOogQ zrxFn=>-86+N+MZOQ8qhTq9(2IuInB=$gUUDP;xJcgq8v56tV4KMax{yt@pa6r?G1E zm~_FHSE_jKhlM4c<=n{0R;LemMOCUmUg22Ep#5Fx-!J*~NW%JObh9mLU0y;2z19Sa zerY}v`7PjpmAC^xcHUM&AF+9$njRU6OGnEe+emOtcHy~V{b|dc5R;bRCo~{~lkXfL zI%yN`Wc|?SM3fZ4pkE&L>BS)fuSP59;gc&|bCq~XEX13W6X6e-69eI=1V5_Q{{F-i;x3KwzQ(ZF;+1wNU1bWt); z6cyl~+;{IzEZG2~`UQchULf&Xi9C4mGC}IJ6{}oN=qQVej9!R~+i}#o6y8oLGe7Nk zNyiO>YM8Sl{g7?LLLuJF3}s zd8P)E0hlFv2&i3xz%DHtTd-E9erU_*mkQfQ)_78^H(kFFb&ZU~Rp(Hb`$q2zOYyrt zOeE9bD@y6}&j@U1)4vz=<12Jg)GjpM`n{{5W zi3o5{rSymEV~MsjF>rT(D92&G9O;U7&!7DIDgSFT`-lg{W_j%>`XbllASemxl736! zids~AK9$^MoGRANxbx--e{M?;R7d2fQIgCeS>&Zt%A3sRf#lcI&ALu&m4YhA8*QnUR(6KWxfm!_9E4v{C#8L2Z4p)9 zono9VJs;yL)f;gWvnChlbiY0nc(=L64a5*I@^dN301bnD8Gqh5a@@0xR4`?;GBp&{R(((=;>LpJ5(}D=~~%Xfq=OC@#RKN^n;e3 z+3i=9ldP7FPoxe{F1&-`&|<}L(RSF26Awa+Kp+mX$CSSr91yuJPOOP!NaRG_^bgwK zyWVr6m+~Al^LhMvlU7LblfV29rXL&Qy6>2IwI^9I@P$@sV5!CXyCk!|RCn$xQ-!$Z z?B`p$k>iHR;$-!A@)yQvJ*F0tPTeTb zPqJ{F@nf4zP+;Dz;5pRZSdQ;kK8i6IC z8m@RllK3^012A)>#DrB>92_gU`=FA#H5|F(;U)ec5a(&q0Yh2|Q-J3uV@|Q(UQF5% z#6AfRebfhiK0Z$^?20Z(v3IN}VE)v$R&eYyb>mASlNj3__YWkaF-!`QU*|2}vk7<> zxJ(#yj0lwPE%yS)7@=M?@%HPM&-q*l*=gTfz2`QAkOS?p+8`%5>#Ue361dazR*mYI%R- zkpNTtrTG2^{>gK`fS#&TN4NwJ@Az30=FfJsiWxWl$>%Aa)cqsA#q-A@iAgLKv5CrB zJlKcQ%WTAPS+;jbc`D%C4gMdO4W~NuzD;l!k}4hcwHm%MN!R~`WbgXH;Mbvo~s$G z9)`x`B~6a1Fr3FWYTwhgUrq5sQO>m%5ex&c-&bd<&;64i_Yk?Wv$3(hEO0)Q;yg4& zKQu?C?PsprA_tl-Xq4FFCCP$VAu43Jzy{Y8i zeeWH)PZDXa4I|XN9B)uHxmcu@XPmWr9aQJ{`gFVd)iBUd`*@)6$i9QgWpC^Wm29YOBR@ZQ({Hje6cpve^Io+#Fl>7 zasMDdF*s#^-+p7H_NCxMZPuV2qrLJx3H&Z6Sl1Bgc3g zw%=F{Kd;xMCPl8SPEs_voEDVS+_xNJ;n5jA#w}EC_d1RoeAg%KwAt(_6@R&H3s%w| zQInoxw{_v|JvYwe=}NZoheO^;63gLFi~cOX9-GzYDNP^GBi}lnoDf}Am>fGZaB9-p zkdnztn9$Z44sCy*@^Z2h&pt=>31zbbO?izj5C8G?k{8A`<%Q3c&t!y98i$`FAqDhdnjQa=P)3;*C-yrn4-zovz8u=ez~utWL7 zOs-SjCyf@T6eOl8sp5LUdh=`8T&8kwp>ysan4tDv!LeEY1LWn8vyx0FBlgo(Hg59A zTQTSK6?v?RIi_Er^JYV_F{8uGyLyclu4`HN}mc0aOTTiWt+S`v^=1iuQgPW z8U479bz`V`x%y0SfB(0Pc3?b?GOuHpL+(^db(8q_3z{6#ykv#;(CNiVunqI$;sx7DQ1{RjnAG_;wnEMhS|8K(G!2LBO1L*Yt0O=|I&7_*lzHE*S^-sX_)v7DWl zt}pi?xCTHF^k!rk>MWtRU3Ax!n((ml>myd>tyymd_9dDO8x+x!M_YJSBa*n`|!xkp3qT$8zGNh9?TV&UHV#&8o@DR!8M4XK zJWVc!EuBIvy!1jTi^K+{Th@F0f@6nkhHquxTj$*^6Wh0xfnCi-(o(AmYQ9Xx?q9)o zk24u&&&VU;eNQ5o#tQp#*1PV$Mb090;5r1%`eo}qzVi9m;-O0=r2Ml6DUZrc8P#Wo z+X^$IuYYiQRWEo>Q3iG8r$-cjCpK2D0D}C%`1&QHtH>jH1*Ma(2|byDh?g5pMcN2- z87YQm6Y+HY6GnG&p2TXN{`&S&Y(mY7|Dz57gzMjtJ^qzkOmL=jl1Ha-YXmeQQaVDn z3swTMSHr8S+$1*n6pC;ZH8g2)P4Ss=FA*K=JAVO%IbfC6M zpgF0itn6qtwR>J;RjkNJUG#?7OJUSn>)_*C^YE)g?<1YIU66TAi5BW~=*YYmycABt zqZH>m%;N-YTrt})t-S+Y|Mks3N6XLWa>!05MQDuXYLU@+SR7J(xz)>5v>PnH?u53B zSnf$~k&Pw4q&cu(PnHs=yc0p>?8sd8d-_G!4yE6wmCAGT@51N|M+^j=1YqlrpL{zX zl+9<2$TlB!r#bs=C1fyEQ7*`vb9JfK+GayQZm2L5wjJN?FnfA9y4DlwdH5uCqDp%| zZ5ulxH!N6z`i|{Za9oVNt7?|c2X}pc6Rnsop3Cyysa;>jTmcv5O7W)1t;{C0q z+a=5nW<@!3=CO;`5_YJcDaq;9tBF3zIGqtzW%HX}!@NnP(VMPjGNxYS zo`E8e<#&rO{}9!{!bKPFe6hAX?$O&PIZmBKiuum$_D}@r zJ*9~Q29_gyzg(3Z<=%+$()FG}ONJZYAtmv~^Z7fHW-_weZxbj$gB0Tq zlU9yafgJA_l1v>|ppsej9pBusVRr{w$c5y87fR|?x@)DoEw5cmreSkjw_+z>^Cu4c z$~(lObY5CHR4an+l;%{K>Jf#uigJYbVxtsUlbNEO<5$dce{I~J{620t5&t=D=2-6O zui?S9+M-ITM4~$9Ed#PIA+Q>q=R5x7S(>XB(YDw!vV3vbbVUBo-ZUPPg|^}oRC>KB zt111I6#k@FPme|ZQzT;QYy(``Pvfe}D#@?N*OK7?^QC&3}Q(!C^6!$xaz|w8qZ>Vx{b1K-^<3ciQiC?!XguQ zcbalKQq%s@Z}8g8g^-vqM)q~F#D0H~o8~v6!Wu_{OF7eB3vHB$R6>zA@B++FD2d?K z_^M6r0_Mu&J&JW=X5IQ-)bGECux9Gv>fIN#{s0>+HTacp8NLd<=A{w3+%PwW<-J`G%OSjt!ZB1pV?_`~% z@VLwlcis^^o*`Oc@DouIM~(z=q~Ig-Mgr(3N>ABD;XOHo{islPW~q9nd@KFgWGu;Q zNix#abkAUm%RzC#Vx~4S!shym^>6TK60%ooUBxtB*+u7mGBMq^UyqsOyw?`B2%ZdY zx=B5|)Q+})hw|FDlR*KRlu-&-&e#H0p^e(e*P>q|Y$UT1lHB$6o^i%T+6NQ9O$c-5 z<9vDiqJIY-Stdv1^CjM0TONL8TKq_Lkp%IROUKEJ-17Q7@&_cYM+r$=d5YKO;AMRN}-;OSOre>u{5vxa3fB~9+&O%x5iCR$Pq@kT7JV(E>)E`b*evY^-x*>CN ze%_8GUyg(YFMgV}W48=j)Z9M$$)1tVRkJ=*WoAM7_dyJ8hba6b-wbYRYoQG zz)B_K*vm%y<-Vp~6p<>oiMboU5GllUA@#po+V9l>=)_U8;` zSiF$nBaP(8@S822qXBKgGl|GE)9+-%&$My-cdp7eaoDYB%I-BfesFg+qWs7Q`>O!y z&FSE`o;5Q}6>qg{NjbET&uIh|YkzoRqk{Sh2`c-~R`yC5Qb0 diff --git a/data/cape-banner.png b/data/cape-banner.png new file mode 100644 index 0000000000000000000000000000000000000000..3747fec5ba558108ae7c6b8ed817b80cea1f8278 GIT binary patch literal 45989 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 literal 0 HcmV?d00001 diff --git a/data/wyphd-banner.jpg b/data/wyphd-banner.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7aac1c4886d6869e67290605c00e3bf601142e62 GIT binary patch literal 58687 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